diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000000000..cf237bd82639b --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,345 @@ +# .circleci/config.yml +version: 2.1 + +executors: + osx-arm64: + macos: + xcode: 15.4.0 + resource_class: macos.m1.medium.gen1 + linux-aarch64: + machine: + image: ubuntu-2204:current + resource_class: arm.medium + +jobs: # a basic unit of work in a run + build_and_test: + parameters: + os: + type: executor + executor: << parameters.os >> + steps: + - checkout + + - run: + name: Check for Additional Platforms + command: | + result=$(./scripts/check-for-additional-platforms.sh "origin/master...HEAD" "build_and_test" "${CIRCLE_JOB}") + if [[ ${result} != "build" ]] + then + echo "No recipes using this platform, skipping rest of job." + circleci-agent step halt + fi + + - run: + name: Fetch bioconda install script + command: wget https://raw.githubusercontent.com/bioconda/bioconda-common/master/{common,install-and-set-up-conda,configure-conda}.sh + + - run: + name: Install bioconda-utils + command: | + sudo mkdir -p /opt/ + sudo chmod o+rwx /opt + bash install-and-set-up-conda.sh + + - run: + name: Setup PATH + command: + echo 'export PATH=/opt/mambaforge/bin:"$PATH"' >> "$BASH_ENV" + + - run: + name: Configure conda + command: bash configure-conda.sh + + - run: + name: Build and test + command: | + set -xe + eval "$(conda shell.bash hook)" + conda activate bioconda + source common.sh + + # Sets up OSX SDK + if [[ $(uname) = "Darwin" ]]; then + if [[ "${OSX_SDK_DIR:-}" == "" ]]; then + OSX_SDK_DIR="$(xcode-select -p)/Platforms/MacOSX.platform/Developer/SDKs" + fi + sudo chmod o+rwx ${OSX_SDK_DIR} + run_conda_forge_build_setup + fi + + if command -V docker >/dev/null; then + bioconda-utils build recipes config.yml \ + --lint --docker --mulled-test \ + --docker-base-image "quay.io/bioconda/bioconda-utils-build-env-cos7-$(arch):${BIOCONDA_UTILS_TAG#v}" \ + --git-range origin/master HEAD + else + bioconda-utils build recipes config.yml \ + --lint --git-range origin/master HEAD + fi + + - run: + name: Prepare artifacts + command: | + ( + mkdir -p /tmp/artifacts/packages + cd /opt/mambaforge/envs/bioconda/conda-bld || exit 0 + find -name .cache | xargs rm -rf || true + for n in index.html channeldata.json linux-aarch64 linux-64 osx-64 osx-arm64 noarch; do + cp -rv $n /tmp/artifacts/packages || true + done + if command -V docker >/dev/null; then + mkdir -p /tmp/artifacts/images + cd /tmp/artifacts/images + docker image ls --format='{{.Repository}}:{{.Tag}}' | \ + { grep biocontainers || true ; } | \ + xargs -n1 -P4 bash -c ' + test -n "${1+x}" || exit 0 + echo "Start compressing docker image ${1} ..." + docker save "${1}" | gzip -c > "${1##*/}.tar.gz" + echo "Finished compressing docker image ${1} ." + ' -- + fi + ) || true + + - store_artifacts: + path: /tmp/artifacts + + build_and_upload: + parameters: + os: + type: executor + executor: << parameters.os >> + steps: + - checkout + + - run: + name: Check for Additional Platforms + command: | + result=$(./scripts/check-for-additional-platforms.sh "${CIRCLE_SHA1}~1 ${CIRCLE_SHA1}" "build_and_upload" "${CIRCLE_JOB}") + if [[ ${result} != "build" ]] + then + echo "No recipes using this platform, skipping rest of job." + circleci-agent step halt + fi + + - run: + name: Fetch bioconda install script + command: wget https://raw.githubusercontent.com/bioconda/bioconda-common/master/{common,install-and-set-up-conda,configure-conda}.sh + + - run: + name: Install bioconda-utils + command: | + sudo mkdir -p /opt + sudo chmod o+rwx /opt + bash install-and-set-up-conda.sh + + - run: + name: Setup PATH + command: + echo 'export PATH=/opt/mambaforge/bin:"$PATH"' >> "$BASH_ENV" + + - run: + name: Configure conda + command: bash configure-conda.sh + + - run: + name: Build and push + command: | + set -xe + eval "$(conda shell.bash hook)" + conda activate bioconda + source common.sh + + # Sets up OSX SDK + if [[ $(uname) = "Darwin" ]]; then + if [[ "${OSX_SDK_DIR:-}" == "" ]]; then + OSX_SDK_DIR="$(xcode-select -p)/Platforms/MacOSX.platform/Developer/SDKs" + fi + sudo chmod o+rwx ${OSX_SDK_DIR} + run_conda_forge_build_setup + fi + + bioconda-utils handle-merged-pr recipes config.yml \ + --repo bioconda/bioconda-recipes \ + --git-range ${CIRCLE_SHA1}~1 ${CIRCLE_SHA1} \ + --fallback build \ + --artifact-source circleci + + bulk_build: + parameters: + os: + type: executor + runner: + type: integer + executor: << parameters.os >> + steps: + - add_ssh_keys: + fingerprints: + - 1e:85:74:42:35:5f:c5:a2:35:c2:ec:b7:80:c0:7c:40 + + - checkout + + - run: + name: Check for [ci run] + command: | + commit_message="$(git log --format=oneline -n 1 $CIRCLE_SHA1)" + if [[ $commit_message =~ "[ci run]" ]]; then + echo "[ci run] found, continuing." + else + echo "[ci run] not found, exiting." + circleci-agent step halt + fi + + - run: + name: set git user + command: | + git config user.name BiocondaBot + git config user.email biocondabot@users.noreply.github.com + git branch --set-upstream-to=origin/$CIRCLE_BRANCH $CIRCLE_BRANCH + + - run: + name: Fetch bioconda install script + command: wget https://raw.githubusercontent.com/bioconda/bioconda-common/bulk/{common,install-and-set-up-conda,configure-conda}.sh + + - run: + name: Install bioconda-utils + command: | + sudo mkdir -p /opt/ + sudo chmod o+rwx /opt + bash install-and-set-up-conda.sh + + - run: + name: Setup PATH + command: + echo 'export PATH=/opt/mambaforge/bin:"$PATH"' >> "$BASH_ENV" + + - run: + name: Configure conda + command: bash configure-conda.sh + + # For now, do not upload ARM images to biocontainers: --mulled-upload-target biocontainers + - run: + name: Build and upload + command: | + set -e + eval "$(conda shell.bash hook)" + conda activate bioconda + source common.sh + + echo '============' + conda info --all + conda config --show-sources + python -c 'import bioconda_utils.utils as u ; import pathlib as p ; print(*(f"{f}:\n{p.Path(f).read_text()}" for f in u.load_conda_build_config().exclusive_config_files), sep="\n")' + echo '============' + bioconda-utils build recipes config.yml \ + --worker-offset << parameters.runner >> --n-workers 6 \ + --docker --mulled-test --docker-base-image "quay.io/bioconda/bioconda-utils-build-env-cos7-$(arch):${BIOCONDA_UTILS_TAG#v}" \ + --anaconda-upload \ + --record-build-failures \ + --skiplist-leafs + conda clean -y --all + + nightly_build: + parameters: + os: + type: executor + executor: << parameters.os >> + steps: + - add_ssh_keys: + fingerprints: + - 1e:85:74:42:35:5f:c5:a2:35:c2:ec:b7:80:c0:7c:40 + + - checkout + + - run: + name: Fetch bioconda install script + command: wget https://raw.githubusercontent.com/bioconda/bioconda-common/bulk/{common,install-and-set-up-conda,configure-conda}.sh + + - run: + name: Install bioconda-utils + command: | + sudo mkdir -p /opt/ + sudo chmod o+rwx /opt + bash install-and-set-up-conda.sh + + - run: + name: Setup PATH + command: + echo 'export PATH=/opt/mambaforge/bin:"$PATH"' >> "$BASH_ENV" + + - run: + name: Configure conda + command: bash configure-conda.sh + + # For now, do not upload ARM images to biocontainers: --mulled-upload-target biocontainers + - run: + name: Build and push leftover packages + command: | + set -e + eval "$(conda shell.bash hook)" + conda activate bioconda + source common.sh + + # build and push all leftover packages + bioconda-utils build recipes config.yml \ + --docker --mulled-test --docker-base-image "quay.io/bioconda/bioconda-utils-build-env-cos7-$(arch):${BIOCONDA_UTILS_TAG#v}" \ + --anaconda-upload \ + --prelint --exclude bioconda-repodata-patches + +workflows: + build and test (ARM): + jobs: + - build_and_test: + filters: + branches: + ignore: + - master + - bulk + matrix: + parameters: + os: + - osx-arm64 + - linux-aarch64 + + build and upload (ARM): + jobs: + - build_and_upload: + filters: + branches: + only: master + matrix: + parameters: + os: + - osx-arm64 + - linux-aarch64 + + Bulk branch (ARM): + jobs: + - bulk_build: + filters: + branches: + only: bulk + matrix: + parameters: + os: + # - osx-arm64 Bulk is on GitHub Actions + - linux-aarch64 + runner: [0, 1, 2, 3, 4, 5] + + Nightly (ARM): + triggers: + - schedule: + cron: "0 0 * * *" + filters: + branches: + only: master + jobs: + - nightly_build: + filters: + branches: + only: master + matrix: + parameters: + os: + # - osx-arm64 Nightly is on GitHub Actions + - linux-aarch64 diff --git a/.github/workflows/Bulk.yml b/.github/workflows/Bulk.yml index e8eeb8712145d..f04fc084c8a1e 100644 --- a/.github/workflows/Bulk.yml +++ b/.github/workflows/Bulk.yml @@ -14,7 +14,7 @@ jobs: matrix: runner: [0, 1, 2, 3, 4, 5] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: # checkout as BiocondaBot in order to have the permission to push fail logs token: ${{secrets.BIOCONDA_BOT_REPO_TOKEN}} @@ -31,23 +31,9 @@ jobs: run: | wget https://raw.githubusercontent.com/bioconda/bioconda-common/bulk/{common,install-and-set-up-conda,configure-conda}.sh - - name: Restore cache - id: cache - uses: actions/cache@v3 - with: - path: /opt/mambaforge - key: ${{ runner.os }}--bulk--${{ hashFiles('install-and-set-up-conda.sh', 'common.sh', 'configure-conda.sh') }} - - name: Set up bioconda-utils - if: steps.cache.outputs.cache-hit != 'true' run: bash install-and-set-up-conda.sh - # This script can be used to reconfigure conda to use the right channel setup. - # This has to be done after the cache is restored, because - # the channel setup is not cached as it resides in the home directory. - # We could use a system-wide (and therefore cached) channel setup, - # but mamba does not support that at the time of implementation - # (it ignores settings made with --system). - name: Configure conda run: bash configure-conda.sh @@ -71,20 +57,21 @@ jobs: bioconda-utils build recipes config.yml \ --worker-offset ${{ matrix.runner }} --n-workers 6 \ --docker --mulled-test --anaconda-upload --mulled-upload-target biocontainers \ - --lint --record-build-failures --skiplist-leafs + --lint --record-build-failures --skiplist-leafs \ + --exclude bioconda-repodata-patches conda clean -y --all build-osx: - name: Bulk OSX Builds + name: Bulk OSX-64 Builds if: "contains(github.event.head_commit.message, '[ci run]')" - runs-on: macOS-latest + runs-on: macos-13 strategy: fail-fast: false max-parallel: 4 matrix: runner: [0, 1, 2, 3] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: # checkout as BiocondaBot in order to have the permission to push fail logs token: ${{secrets.BIOCONDA_BOT_REPO_TOKEN}} @@ -101,23 +88,9 @@ jobs: run: | wget https://raw.githubusercontent.com/bioconda/bioconda-common/bulk/{common,install-and-set-up-conda,configure-conda}.sh - - name: Restore cache - id: cache - uses: actions/cache@v3 - with: - path: /opt/mambaforge - key: ${{ runner.os }}--bulk--${{ hashFiles('install-and-set-up-conda.sh', 'common.sh', 'configure-conda.sh') }} - - name: Set up bioconda-utils - if: steps.cache.outputs.cache-hit != 'true' run: bash install-and-set-up-conda.sh - # This script can be used to reconfigure conda to use the right channel setup. - # This has to be done after the cache is restored, because - # the channel setup is not cached as it resides in the home directory. - # We could use a system-wide (and therefore cached) channel setup, - # but mamba does not support that at the time of implementation - # (it ignores settings made with --system). - name: Configure conda run: bash configure-conda.sh @@ -134,7 +107,7 @@ jobs: eval "$(conda shell.bash hook)" conda activate bioconda - # The SDK isn't actually cached, so reinstall it + source common.sh run_conda_forge_build_setup echo '============' @@ -145,5 +118,68 @@ jobs: echo '============' bioconda-utils build recipes config.yml \ --worker-offset ${{ matrix.runner }} --n-workers 4 \ - --lint --anaconda-upload --record-build-failures --skiplist-leafs + --lint --anaconda-upload --record-build-failures --skiplist-leafs \ + --exclude bioconda-repodata-patches + conda clean -y --all + + build-osx-arm: + name: Bulk OSX-ARM64 Builds + if: "contains(github.event.head_commit.message, '[ci run]')" + runs-on: macOS-14 # M1 + strategy: + fail-fast: false + max-parallel: 1 # GHA free plan allows 5 concurrent Mac runners total, we still need most on osx-64. + matrix: + runner: [0] + steps: + - uses: actions/checkout@v4 + with: + # checkout as BiocondaBot in order to have the permission to push fail logs + token: ${{secrets.BIOCONDA_BOT_REPO_TOKEN}} + + - name: set git user + run: | + git config user.name BiocondaBot + git config user.email BiocondaBot@users.noreply.github.com + + - name: set path + run: echo "/opt/mambaforge/bin" >> $GITHUB_PATH + + - name: Fetch conda install script + run: | + wget https://raw.githubusercontent.com/bioconda/bioconda-common/bulk/{common,install-and-set-up-conda,configure-conda}.sh + + - name: Set up bioconda-utils + run: bash install-and-set-up-conda.sh + + - name: Configure conda + run: bash configure-conda.sh + + - name: Build and upload + env: + ANACONDA_TOKEN: ${{ secrets.ANACONDA_TOKEN }} + INVOLUCRO_AUTH: ${{ secrets.INVOLUCRO_AUTH }} + QUAY_OAUTH_TOKEN: ${{ secrets.QUAY_OAUTH_TOKEN }} + # Mimic circleci + OSTYPE: "darwin" + CI: "true" + run: | + set -xe + eval "$(conda shell.bash hook)" + conda activate bioconda + + source common.sh + # Sets up OSX SDK + run_conda_forge_build_setup + + echo '============' + conda info --all + conda config --show-sources + conda activate bioconda + python -c 'import bioconda_utils.utils as u ; import pathlib as p ; print(*(f"{f}:\n{p.Path(f).read_text()}" for f in u.load_conda_build_config().exclusive_config_files), sep="\n")' + echo '============' + bioconda-utils build recipes config.yml \ + --worker-offset ${{ matrix.runner }} --n-workers 1 \ + --lint --anaconda-upload --record-build-failures --skiplist-leafs \ + --exclude bioconda-repodata-patches conda clean -y --all diff --git a/.github/workflows/CommentResponder.yml b/.github/workflows/CommentResponder.yml index 989b9064521fa..2cc37b9226a99 100644 --- a/.github/workflows/CommentResponder.yml +++ b/.github/workflows/CommentResponder.yml @@ -1,27 +1,14 @@ name: CommentResponder on: - status: - check_suite: - types: - - completed issue_comment: types: - created -# Re-enable when the bot has been updated to handle azure -# ( -# github.event_name == 'check_suite' && -# github.event.check_suite.conclusion == 'success' -# ) || jobs: comment: runs-on: ubuntu-latest name: bioconda-bot comment if: >- - ( - github.event_name == 'status' && - github.event.state == 'success' - ) || ( github.event_name == 'issue_comment' && github.event.issue.pull_request && @@ -119,8 +106,11 @@ jobs: mkdir -p /root/.ssh # https://github.blog/2023-03-23-we-updated-our-rsa-ssh-host-key/ - ssh-keygen -R github.com - echo "github.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk=" >> /root/.ssh/known_hosts + ssh-keygen -R github.com || true + printf '%s\n' \ + 'github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl' \ + 'github.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk=' \ + >> /root/.ssh/known_hosts - name: bioconda-bot update env: BOT_TOKEN: ${{ secrets.GITHUBTOKEN }} diff --git a/.github/workflows/PR.yml b/.github/workflows/PR.yml index f7bbb0178d3fd..82f17b7c4a736 100644 --- a/.github/workflows/PR.yml +++ b/.github/workflows/PR.yml @@ -13,7 +13,7 @@ jobs: fail-fast: true max-parallel: 13 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 @@ -24,15 +24,7 @@ jobs: run: | wget https://raw.githubusercontent.com/bioconda/bioconda-common/master/{install-and-set-up-conda,configure-conda,common}.sh - - name: Restore cache - id: cache - uses: actions/cache@v3 - with: - path: /opt/mambaforge - key: ${{ runner.os }}--bulk--${{ hashFiles('**/install-and-set-up-conda.sh') }} - - name: Set up bioconda-utils - if: steps.cache.outputs.cache-hit != 'true' run: bash install-and-set-up-conda.sh - name: Configure conda @@ -67,7 +59,7 @@ jobs: max-parallel: 13 needs: lint steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 @@ -78,23 +70,10 @@ jobs: run: | wget https://raw.githubusercontent.com/bioconda/bioconda-common/master/{install-and-set-up-conda,configure-conda,common}.sh - - name: Restore cache - id: cache - uses: actions/cache@v3 - with: - path: /opt/mambaforge - key: ${{ runner.os }}--bulk--${{ hashFiles('**/install-and-set-up-conda.sh') }} - - name: Set up bioconda-utils - if: steps.cache.outputs.cache-hit != 'true' run: bash install-and-set-up-conda.sh # This script can be used to reconfigure conda to use the right channel setup. - # This has to be done after the cache is restored, because - # the channel setup is not cached as it resides in the home directory. - # We could use a system-wide (and therefore cached) channel setup, - # but mamba does not support that at the time of implementation - # (it ignores settings made with --system). - name: Configure conda run: bash configure-conda.sh @@ -109,6 +88,7 @@ jobs: # Clean up lingering build artifacts for n in linux-64 osx-64 noarch; do rm -f /opt/mambaforge/envs/bioconda/conda-bld/$n/*.tar.bz2 + rm -f /opt/mambaforge/envs/bioconda/conda-bld/$n/*.conda done eval "$(conda shell.bash hook)" @@ -150,28 +130,28 @@ jobs: ) || true - name: Archive packages - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: linux-packages path: | /tmp/artifacts/packages - name: Archive images - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: docker-images path: | /tmp/artifacts/images - build-osx: - name: OSX Tests - runs-on: macOS-latest + build-osx-64: + name: OSX-64 Tests + runs-on: macos-13 strategy: fail-fast: true max-parallel: 4 needs: build-linux steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 @@ -182,23 +162,10 @@ jobs: run: | wget https://raw.githubusercontent.com/bioconda/bioconda-common/master/{install-and-set-up-conda,configure-conda,common}.sh - - name: Restore cache - id: cache - uses: actions/cache@v3 - with: - path: /opt/mambaforge - key: ${{ runner.os }}--bulk--${{ hashFiles('**/install-and-set-up-conda.sh') }} - - name: Set up bioconda-utils - if: steps.cache.outputs.cache-hit != 'true' run: bash install-and-set-up-conda.sh # This script can be used to reconfigure conda to use the right channel setup. - # This has to be done after the cache is restored, because - # the channel setup is not cached as it resides in the home directory. - # We could use a system-wide (and therefore cached) channel setup, - # but mamba does not support that at the time of implementation - # (it ignores settings made with --system). - name: Configure conda run: bash configure-conda.sh @@ -240,8 +207,90 @@ jobs: ) || true - name: Archive packages - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: osx-packages path: | /tmp/artifacts/packages + + build_and_test-osx-arm64: + name: OSX-ARM64 Tests + runs-on: macOS-14 # M1 + strategy: + fail-fast: true + max-parallel: 4 + needs: build-linux + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + # bail if there's no osx-arm64 recipes + - name: Check for Additional Platforms + id: additional_platforms + run: | + result=$(./scripts/check-for-additional-platforms.sh "origin/master...HEAD" "build_and_test" "${GITHUB_JOB}") + if [[ ${result} != "build" ]] + then + echo "No recipes using this platform, skipping rest of job." + echo "skip_build=true" >> $GITHUB_OUTPUT + fi + + - name: set path + run: echo "/opt/mambaforge/bin" >> $GITHUB_PATH + + - name: Fetch conda install script + if: steps.additional_platforms.outputs.skip_build != 'true' + run: | + wget https://raw.githubusercontent.com/bioconda/bioconda-common/master/{install-and-set-up-conda,configure-conda,common}.sh + + - name: Set up bioconda-utils + if: steps.additional_platforms.outputs.skip_build != 'true' + run: bash install-and-set-up-conda.sh + + - name: Configure conda + if: steps.additional_platforms.outputs.skip_build != 'true' + run: bash configure-conda.sh + + - name: Build and Test + if: steps.additional_platforms.outputs.skip_build != 'true' + env: + # Mimic circleci + OSTYPE: "darwin" + CI: "true" + run: | + set -xe + eval "$(conda shell.bash hook)" + conda activate bioconda + source common.sh + # Sets up OSX SDK + run_conda_forge_build_setup + + if [ -z "$GITHUB_BASE_REF" ] ; then + export GITHUB_BASE_REF="master" + fi + git fetch origin "$GITHUB_BASE_REF" + + bioconda-utils build recipes config.yml \ + --lint --git-range origin/"$GITHUB_BASE_REF" HEAD + + - name: Prepare artifacts + if: steps.additional_platforms.outputs.skip_build != 'true' + run: | + ( + rm -rf /tmp/artifacts + mkdir -p /tmp/artifacts/packages + cd /opt/mambaforge/envs/bioconda/conda-bld || exit 0 + find -name .cache | xargs rm -rf || true + for n in index.html channeldata.json osx-arm64 noarch; do + cp -rv $n /tmp/artifacts/packages || true + done + ) || true + + - name: Archive packages + if: steps.additional_platforms.outputs.skip_build != 'true' + uses: actions/upload-artifact@v4 + with: + name: osx-arm64-packages + path: | + /tmp/artifacts diff --git a/.github/workflows/build-failures.yml b/.github/workflows/build-failures.yml index 151409490b33f..d5cc11ba5f8b3 100644 --- a/.github/workflows/build-failures.yml +++ b/.github/workflows/build-failures.yml @@ -16,7 +16,7 @@ jobs: if: ${{ github.repository == 'bioconda/bioconda-recipes' && !contains(github.event.head_commit.message, '[ci skip]') }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 @@ -29,7 +29,7 @@ jobs: - name: Restore cache id: cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: /opt/mambaforge key: ${{ runner.os }}--master--${{ hashFiles('install-and-set-up-conda.sh', 'common.sh', 'configure-conda.sh') }} @@ -59,9 +59,7 @@ jobs: set -e eval "$(conda shell.bash hook)" conda activate bioconda - branch=${{ github.ref_name }} - mkdir build-failures if [[ -z $branch || $branch == "master" ]] ; then md=build-failures/build-failures.md @@ -78,7 +76,6 @@ jobs: echo "Automatically updated list of build failures that currently block builds from the listed recipes on the \`${branch}\` branch." >> $md bioconda-utils list-build-failures recipes --git-range origin/"$GITHUB_BASE_REF" HEAD --output-format markdown --link-prefix https://github.com/bioconda/bioconda-recipes/blob/$branch >> $md fi - - name: Upload build failure to wiki uses: docker://decathlon/wiki-page-creator-action:latest env: @@ -88,4 +85,3 @@ jobs: OWNER: bioconda REPO_NAME: bioconda-recipes MD_FOLDER: build-failures - diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 4a3fd95875aab..7e237b314da22 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -12,7 +12,7 @@ jobs: fail-fast: false max-parallel: 13 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 @@ -23,23 +23,10 @@ jobs: run: | wget https://raw.githubusercontent.com/bioconda/bioconda-common/master/{install-and-set-up-conda,configure-conda,common}.sh - - name: Restore cache - id: cache - uses: actions/cache@v3 - with: - path: /opt/mambaforge - key: ${{ runner.os }}--bulk--${{ hashFiles('**/install-and-set-up-conda.sh') }} - - name: Set up bioconda-utils - if: steps.cache.outputs.cache-hit != 'true' run: bash install-and-set-up-conda.sh # This script can be used to reconfigure conda to use the right channel setup. - # This has to be done after the cache is restored, because - # the channel setup is not cached as it resides in the home directory. - # We could use a system-wide (and therefore cached) channel setup, - # but mamba does not support that at the time of implementation - # (it ignores settings made with --system). - name: Configure conda run: bash configure-conda.sh @@ -68,15 +55,15 @@ jobs: --docker --mulled-test --anaconda-upload --mulled-upload-target biocontainers docker rmi quay.io/dpryan79/mulled_container:latest - build-osx: - name: OSX Upload + build-osx-64: + name: OSX-64 Upload if: github.repository == 'bioconda/bioconda-recipes' - runs-on: macOS-latest + runs-on: macos-13 strategy: fail-fast: false max-parallel: 4 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 @@ -87,23 +74,10 @@ jobs: run: | wget https://raw.githubusercontent.com/bioconda/bioconda-common/master/{install-and-set-up-conda,configure-conda,common}.sh - - name: Restore cache - id: cache - uses: actions/cache@v3 - with: - path: /opt/mambaforge - key: ${{ runner.os }}--bulk--${{ hashFiles('**/install-and-set-up-conda.sh') }} - - name: Set up bioconda-utils - if: steps.cache.outputs.cache-hit != 'true' run: bash install-and-set-up-conda.sh # This script can be used to reconfigure conda to use the right channel setup. - # This has to be done after the cache is restored, because - # the channel setup is not cached as it resides in the home directory. - # We could use a system-wide (and therefore cached) channel setup, - # but mamba does not support that at the time of implementation - # (it ignores settings made with --system). - name: Configure conda run: bash configure-conda.sh @@ -122,7 +96,7 @@ jobs: eval "$(conda shell.bash hook)" conda activate bioconda - # The SDK isn't actually cached, so reinstall it + # Sets up OSX SDK run_conda_forge_build_setup # bioconda-utils handle-merged-pr recipes config.yml \ @@ -131,3 +105,68 @@ jobs: # --fallback build bioconda-utils build recipes config.yml \ --anaconda-upload --git-range ${GITHUB_SHA}~1 ${GITHUB_SHA} + + build_and_upload-osx-arm64: + name: OSX-ARM64 Upload + if: github.repository == 'bioconda/bioconda-recipes' + runs-on: macOS-14 # M1 + strategy: + fail-fast: false + max-parallel: 4 + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + # bail if there's no osx-arm64 recipes + - name: Check for Additional Platforms + id: additional_platforms + run: | + result=$(./scripts/check-for-additional-platforms.sh "${GITHUB_SHA}~1 ${GITHUB_SHA}" "build_and_upload" "${GITHUB_JOB}") + if [[ ${result} != "build" ]] + then + echo "No recipes using this platform, skipping rest of job." + echo "skip_build=true" >> $GITHUB_OUTPUT + fi + + - name: set path + run: | + echo "/opt/mambaforge/bin" >> $GITHUB_PATH + + - name: Fetch conda install script + if: steps.additional_platforms.outputs.skip_build != 'true' + run: | + wget https://raw.githubusercontent.com/bioconda/bioconda-common/master/{install-and-set-up-conda,configure-conda,common}.sh + + - name: Set up bioconda-utils + if: steps.additional_platforms.outputs.skip_build != 'true' + run: bash install-and-set-up-conda.sh + + - name: Configure conda + if: steps.additional_platforms.outputs.skip_build != 'true' + run: bash configure-conda.sh + + - name: Build and Upload + if: steps.additional_platforms.outputs.skip_build != 'true' + env: + QUAY_LOGIN: ${{ secrets.QUAY_LOGIN }} + QUAY_OAUTH_TOKEN: ${{ secrets.QUAY_OAUTH_TOKEN }} + ANACONDA_TOKEN: ${{ secrets.ANACONDA_TOKEN }} + INVOLUCRO_AUTH: ${{ secrets.INVOLUCRO_AUTH }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # Mimic circleci + OSTYPE: "darwin" + CI: "true" + run: | + set -xe + eval "$(conda shell.bash hook)" + conda activate bioconda + source common.sh + # Sets up OSX SDK + run_conda_forge_build_setup + + bioconda-utils handle-merged-pr recipes config.yml \ + --repo bioconda/bioconda-recipes \ + --git-range ${GITHUB_SHA}~1 ${GITHUB_SHA} \ + --fallback build \ + --artifact-source github-actions diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index f2954e626d069..850a5d83fc5ad 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -1,76 +1,17 @@ name: Nightly Uploader on: schedule: - - cron: '12 2 * * *' + - cron: "0 0 * * *" jobs: - build-linux: - name: Linux Upload + nightly-osx-arm: + name: Nightly OSX-ARM64 Builds if: github.repository == 'bioconda/bioconda-recipes' - runs-on: ubuntu-latest - strategy: - fail-fast: false - max-parallel: 13 - steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: set path - run: echo "/opt/mambaforge/bin" >> $GITHUB_PATH - - - name: Fetch conda install script - run: | - wget https://raw.githubusercontent.com/bioconda/bioconda-common/master/{install-and-set-up-conda,configure-conda,common}.sh - - - name: Restore cache - id: cache - uses: actions/cache@v3 - with: - path: /opt/mambaforge - key: ${{ runner.os }}--bulk--${{ hashFiles('**/install-and-set-up-conda.sh') }} - - - name: Set up bioconda-utils - if: steps.cache.outputs.cache-hit != 'true' - run: bash install-and-set-up-conda.sh - - # This script can be used to reconfigure conda to use the right channel setup. - # This has to be done after the cache is restored, because - # the channel setup is not cached as it resides in the home directory. - # We could use a system-wide (and therefore cached) channel setup, - # but mamba does not support that at the time of implementation - # (it ignores settings made with --system). - - name: Configure conda - run: bash configure-conda.sh - - - name: Build and upload - env: - QUAY_LOGIN: ${{ secrets.QUAY_LOGIN }} - QUAY_OAUTH_TOKEN: ${{ secrets.QUAY_OAUTH_TOKEN }} - ANACONDA_TOKEN: ${{ secrets.ANACONDA_TOKEN }} - INVOLUCRO_AUTH: ${{ secrets.INVOLUCRO_AUTH }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # Mimic circleci - OSTYPE: "linux-gnu" - CI: "true" - run: | - set -ex - eval "$(conda shell.bash hook)" - conda activate bioconda - docker pull quay.io/dpryan79/mulled_container:latest - bioconda-utils build recipes config.yml \ - --docker --mulled-test --anaconda-upload --mulled-upload-target biocontainers \ - --prelint - docker rmi quay.io/dpryan79/mulled_container:latest - - build-osx: - name: OSX Tests - if: github.repository == 'bioconda/bioconda-recipes' - runs-on: macOS-latest + runs-on: macOS-14 # M1 strategy: fail-fast: false max-parallel: 4 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 @@ -81,27 +22,13 @@ jobs: run: | wget https://raw.githubusercontent.com/bioconda/bioconda-common/master/{install-and-set-up-conda,configure-conda,common}.sh - - name: Restore cache - id: cache - uses: actions/cache@v3 - with: - path: /opt/mambaforge - key: ${{ runner.os }}--bulk--${{ hashFiles('**/install-and-set-up-conda.sh') }} - - name: Set up bioconda-utils - if: steps.cache.outputs.cache-hit != 'true' run: bash install-and-set-up-conda.sh - # This script can be used to reconfigure conda to use the right channel setup. - # This has to be done after the cache is restored, because - # the channel setup is not cached as it resides in the home directory. - # We could use a system-wide (and therefore cached) channel setup, - # but mamba does not support that at the time of implementation - # (it ignores settings made with --system). - name: Configure conda run: bash configure-conda.sh - - name: Build and Test + - name: Build and push leftover packages env: QUAY_LOGIN: ${{ secrets.QUAY_LOGIN }} QUAY_OAUTH_TOKEN: ${{ secrets.QUAY_OAUTH_TOKEN }} @@ -116,9 +43,11 @@ jobs: eval "$(conda shell.bash hook)" conda activate bioconda - # The SDK isn't actually cached, so reinstall it + source common.sh + # Sets up OSX SDK run_conda_forge_build_setup + # build and push all leftover packages bioconda-utils build recipes config.yml \ --anaconda-upload \ - --prelint + --prelint --exclude bioconda-repodata-patches diff --git a/README.md b/README.md index 046ac7a353fcc..ec75a3f5d9c15 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,8 @@ [Conda](http://anaconda.org) is a platform- and language-independent package manager that supports easy distribution, installation and version management of software. The [bioconda channel](https://anaconda.org/bioconda) is a Conda -channel providing bioinformatics related packages for **Linux** and **Mac OS**. +channel providing bioinformatics related packages for **Linux** and **macOS**, +supporting both x86_64 and aarch64/arm64 architectures. This repository hosts the corresponding recipes. ## User guide @@ -19,3 +20,12 @@ Please visit https://bioconda.github.io for details. Please visit the new docs at https://bioconda.github.io/contributor/index.html for details. +## Nightly build status +The nightly uploader jobs build any recipes that exist on master but were not successfully uploaded to the [bioconda channel](https://anaconda.org/bioconda). Any failure in the nightly build should be resolved with a PR for the affected recipe. + +| arch | build status | +|------|--------------| +| linux-64 | [![Nightly linux-64](https://dev.azure.com/bioconda/bioconda-recipes/_apis/build/status/Nightly%20uploader?branchName=master&jobName=build_and_push_linux&label=Nightly%20linux-64)](https://dev.azure.com/bioconda/bioconda-recipes/_build/latest?definitionId=4) | +| osx-64 | [![Nightly osx-64](https://dev.azure.com/bioconda/bioconda-recipes/_apis/build/status/Nightly%20uploader?branchName=master&jobName=build_and_push_osx&label=Nightly%20osx-64)](https://dev.azure.com/bioconda/bioconda-recipes/_build/latest?definitionId=4) | +| osx-arm64 | [![Nightly osx-arm64](https://github.com/bioconda/bioconda-recipes/actions/workflows/nightly.yml/badge.svg)](https://github.com/bioconda/bioconda-recipes/actions/workflows/nightly.yml) | +| linux-aarch64 |[![CircleCI](https://dl.circleci.com/insights-snapshot/gh/bioconda/bioconda-recipes/master/Nightly%20(ARM)/badge.svg?window=24h)](https://app.circleci.com/insights/github/bioconda/bioconda-recipes/workflows/Nightly%20(ARM)/overview?branch=master&reporting-window=last-24-hours) | diff --git a/azure-pipeline-master.yml b/azure-pipeline-master.yml index 30030ff694fed..68f8bd157bc35 100644 --- a/azure-pipeline-master.yml +++ b/azure-pipeline-master.yml @@ -21,23 +21,10 @@ jobs: wget https://raw.githubusercontent.com/bioconda/bioconda-common/master/{common,install-and-set-up-conda,configure-conda}.sh displayName: Fetch bioconda install script - - task: Cache@2 - inputs: - path: "/opt/mambaforge" - key: '"$(Agent.OS)" | install-and-set-up-conda.sh | configure-conda.sh | common.sh' - cacheHitVar: CACHE_RESTORED - displayName: Restore cache - - script: bash install-and-set-up-conda.sh - condition: ne(variables.CACHE_RESTORED, 'true') displayName: Install bioconda-utils # We reconfigure conda to use the right channel setup. - # This has to be done after the cache is restored, because - # the channel setup is not cached as it resides in the home directory. - # We could use a system-wide (and therefore cached) channel setup, - # but mamba does not support that at the time of implementation - # (it ignores settings made by --system). - script: bash configure-conda.sh displayName: Configure conda @@ -49,8 +36,6 @@ jobs: export OSTYPE="linux-gnu" export CI="true" - docker pull quay.io/dpryan79/mulled_container:latest - bioconda-utils handle-merged-pr recipes config.yml \ --repo bioconda/bioconda-recipes \ --git-range $(Build.SourceVersion)~1 $(Build.SourceVersion) \ @@ -60,7 +45,6 @@ jobs: # --git-range $(Build.SourceVersion)~1 $(Build.SourceVersion) \ # --docker --mulled-test --anaconda-upload --mulled-upload-target biocontainers - docker rmi quay.io/dpryan79/mulled_container:latest env: QUAY_LOGIN: $(QUAY_LOGIN) QUAY_OAUTH_TOKEN: $(QUAY_OAUTH_TOKEN) @@ -87,28 +71,11 @@ jobs: wget https://raw.githubusercontent.com/bioconda/bioconda-common/master/{common,install-and-set-up-conda,configure-conda}.sh displayName: Fetch bioconda install script - - bash: | - sudo mkdir -p /opt - sudo chown -R $USER /opt - displayName: Ensure cache has path to restore to - - - task: Cache@2 - inputs: - path: "/opt/mambaforge" - key: '"$(Agent.OS)" | install-and-set-up-conda.sh | configure-conda.sh | common.sh' - cacheHitVar: CACHE_RESTORED - displayName: Restore cache - script: bash install-and-set-up-conda.sh - condition: ne(variables.CACHE_RESTORED, 'true') displayName: Install bioconda-utils # We reconfigure conda to use the right channel setup. - # This has to be done after the cache is restored, because - # the channel setup is not cached as it resides in the home directory. - # We could use a system-wide (and therefore cached) channel setup, - # but mamba does not support that at the time of implementation - # (it ignores settings made by --system). - script: bash configure-conda.sh displayName: Configure conda @@ -118,7 +85,9 @@ jobs: conda activate bioconda export OSTYPE="darwin" export CI="true" - export HOME=`pwd` + + # Get MACOSX vars + source common.sh bioconda-utils handle-merged-pr recipes config.yml \ --repo bioconda/bioconda-recipes \ diff --git a/azure-pipeline-nightly.yml b/azure-pipeline-nightly.yml index fd7f1f5e7da97..56c250aed5d51 100644 --- a/azure-pipeline-nightly.yml +++ b/azure-pipeline-nightly.yml @@ -30,28 +30,10 @@ jobs: wget https://raw.githubusercontent.com/bioconda/bioconda-common/master/{common,install-and-set-up-conda,configure-conda}.sh displayName: Fetch bioconda install script - - bash: | - sudo mkdir -p /opt - sudo chown -R $USER /opt - displayName: Ensure cache has path to restore to - - - task: Cache@2 - inputs: - path: "/opt/mambaforge" - key: '"$(Agent.OS)" | install-and-set-up-conda.sh | configure-conda.sh | common.sh' - cacheHitVar: CACHE_RESTORED - displayName: Restore cache - - script: bash install-and-set-up-conda.sh - condition: ne(variables.CACHE_RESTORED, 'true') displayName: Install bioconda-utils # We reconfigure conda to use the right channel setup. - # This has to be done after the cache is restored, because - # the channel setup is not cached as it resides in the home directory. - # We could use a system-wide (and therefore cached) channel setup, - # but mamba does not support that at the time of implementation - # (it ignores settings made by --system). - script: bash configure-conda.sh displayName: Configure conda @@ -68,7 +50,6 @@ jobs: set -e eval "$(conda shell.bash hook)" conda activate bioconda - docker pull quay.io/dpryan79/mulled_container:latest export OSTYPE="linux-gnu" export CI="true" @@ -76,8 +57,7 @@ jobs: # build and push all leftover packages bioconda-utils build recipes config.yml \ --docker --mulled-test --anaconda-upload --mulled-upload-target biocontainers \ - --prelint - docker rmi quay.io/dpryan79/mulled_container:latest + --prelint --exclude bioconda-repodata-patches env: QUAY_OAUTH_TOKEN: $(QUAY_OAUTH_TOKEN) ANACONDA_TOKEN: $(ANACONDA_TOKEN) @@ -102,28 +82,10 @@ jobs: wget https://raw.githubusercontent.com/bioconda/bioconda-common/master/{common,install-and-set-up-conda,configure-conda}.sh displayName: Fetch bioconda install script - - bash: | - sudo mkdir -p /opt - sudo chown -R $USER /opt - displayName: Ensure cache has path to restore to - - - task: Cache@2 - inputs: - path: "/opt/mambaforge" - key: '"$(Agent.OS)" | install-and-set-up-conda.sh | configure-conda.sh | common.sh' - cacheHitVar: CACHE_RESTORED - displayName: Restore cache - - script: bash install-and-set-up-conda.sh - condition: ne(variables.CACHE_RESTORED, 'true') displayName: Install bioconda-utils # We reconfigure conda to use the right channel setup. - # This has to be done after the cache is restored, because - # the channel setup is not cached as it resides in the home directory. - # We could use a system-wide (and therefore cached) channel setup, - # but mamba does not support that at the time of implementation - # (it ignores settings made by --system). - script: bash configure-conda.sh displayName: Configure conda @@ -133,7 +95,10 @@ jobs: conda activate bioconda export OSTYPE="darwin" export CI="true" - export HOME=`pwd` + + # Get MACOSX vars + source common.sh + bioconda-utils build recipes config.yml \ --anaconda-upload \ --prelint diff --git a/azure-pipeline.yml b/azure-pipeline.yml index f7d6b429615d6..10df61e7f2a5e 100644 --- a/azure-pipeline.yml +++ b/azure-pipeline.yml @@ -23,28 +23,10 @@ stages: wget https://raw.githubusercontent.com/bioconda/bioconda-common/master/{common,install-and-set-up-conda,configure-conda}.sh displayName: Fetch bioconda install script - - bash: | - sudo mkdir -p /opt - sudo chown -R $USER /opt - displayName: Ensure cache has path to restore to - - - task: Cache@2 - inputs: - path: "/opt/mambaforge" - key: '"$(Agent.OS)" | install-and-set-up-conda.sh | configure-conda.sh | common.sh' - cacheHitVar: CACHE_RESTORED - displayName: Restore cache - - script: bash install-and-set-up-conda.sh - condition: ne(variables.CACHE_RESTORED, 'true') displayName: Install bioconda-utils # We reconfigure conda to use the right channel setup. - # This has to be done after the cache is restored, because - # the channel setup is not cached as it resides in the home directory. - # We could use a system-wide (and therefore cached) channel setup, - # but mamba does not support that at the time of implementation - # (it ignores settings made by --system). - script: bash configure-conda.sh displayName: Configure conda @@ -73,28 +55,10 @@ stages: wget https://raw.githubusercontent.com/bioconda/bioconda-common/master/{common,install-and-set-up-conda,configure-conda}.sh displayName: Fetch bioconda install script - - bash: | - sudo mkdir -p /opt - sudo chown -R $USER /opt - displayName: Ensure cache has path to restore to - - - task: Cache@2 - inputs: - path: "/opt/mambaforge" - key: '"$(Agent.OS)" | install-and-set-up-conda.sh | configure-conda.sh | common.sh' - cacheHitVar: CACHE_RESTORED - displayName: Restore cache - - script: bash install-and-set-up-conda.sh - condition: ne(variables.CACHE_RESTORED, 'true') displayName: Install bioconda-utils # We reconfigure conda to use the right channel setup. - # This has to be done after the cache is restored, because - # the channel setup is not cached as it resides in the home directory. - # We could use a system-wide (and therefore cached) channel setup, - # but mamba does not support that at the time of implementation - # (it ignores settings made by --system). - script: bash configure-conda.sh displayName: Configure conda @@ -102,13 +66,11 @@ stages: set -e eval "$(conda shell.bash hook)" conda activate bioconda - docker pull quay.io/dpryan79/mulled_container:latest export OSTYPE="linux-gnu" export CI="true" bioconda-utils build recipes config.yml \ --docker --mulled-test \ --git-range origin/"$SYSTEM_PULLREQUEST_TARGETBRANCH" HEAD - docker rmi quay.io/dpryan79/mulled_container:latest displayName: Test - bash: | @@ -154,28 +116,10 @@ stages: wget https://raw.githubusercontent.com/bioconda/bioconda-common/master/{common,install-and-set-up-conda,configure-conda}.sh displayName: Fetch setup scripts - - bash: | - sudo mkdir -p /opt - sudo chown -R $USER /opt - displayName: Ensure cache has path to restore to - - - task: Cache@2 - inputs: - path: "/opt/mambaforge" - key: '"$(Agent.OS)" | install-and-set-up-conda.sh | configure-conda.sh | common.sh' - cacheHitVar: CACHE_RESTORED - displayName: Restore cache - - script: bash install-and-set-up-conda.sh - condition: ne(variables.CACHE_RESTORED, 'true') displayName: Install bioconda-utils # We reconfigure conda to use the right channel setup. - # This has to be done after the cache is restored, because - # the channel setup is not cached as it resides in the home directory. - # We could use a system-wide (and therefore cached) channel setup, - # but mamba does not support that at the time of implementation - # (it ignores settings made by --system). - script: bash configure-conda.sh displayName: Configure conda @@ -185,6 +129,10 @@ stages: conda activate bioconda export OSTYPE="darwin" export CI="true" + + # Get MACOSX vars + source common.sh + bioconda-utils build recipes config.yml \ --git-range origin/"$SYSTEM_PULLREQUEST_TARGETBRANCH" HEAD displayName: Test diff --git a/build-fail-blacklist b/build-fail-blacklist index 471a7f079178c..a176375749eff 100644 --- a/build-fail-blacklist +++ b/build-fail-blacklist @@ -1,8 +1,5 @@ # ----- 2023-12-02 problematic on bulk ----- r-ramclustr - -# permission denied while running mulled test in container -bioconductor-omnipathr # ------------------------------------------ # Currently kills bulk, and dependants @@ -27,8 +24,6 @@ recipes/lordec recipes/octopus recipes/bttcmp recipes/bttoxin_scanner -recipes/cgat-apps -recipes/hatchet recipes/hail recipes/monocle3-cli recipes/phenix @@ -100,7 +95,6 @@ recipes/workspace recipes/wtforms-alchemy recipes/wtforms-components recipes/xmlbuilder -recipes/yaggo # the following packages have open PRs labeled with "Move to conda-forge" recipes/perl-alien-build @@ -179,18 +173,14 @@ recipes/bwa/0.6.2 # fails compilation in bulk on Linux recipes/paragraph recipes/selectsequencesfrommsa -recipes/rappas -recipes/centrifuge recipes/nasp recipes/mmvc recipes/gemma recipes/roary recipes/deltabs recipes/gottcha -recipes/pepnovo recipes/ea-utils recipes/nextgenmap -recipes/extract_fullseq recipes/igor_vdj recipes/pargenes recipes/porfast @@ -226,7 +216,6 @@ recipes/ra/ra-assembler recipes/pureclip recipes/hulk recipes/bolt-lmm -recipes/bmfilter recipes/unitig-counter recipes/probcons recipes/spydrpick @@ -234,11 +223,9 @@ recipes/bctools recipes/bayestyper recipes/group_humann2_uniref_abundances_to_go recipes/isonclust2 -recipes/bmtool recipes/sibelia recipes/var-agg recipes/wham -recipes/percolator # Segfaults in bulk on Linux 24.3.2021 recipes/dbgraph @@ -254,7 +241,6 @@ recipes/ngsep recipes/rnabridge-denovo recipes/eval recipes/minorseq -recipes/prosampler recipes/methylextract recipes/blasr recipes/asn2gb @@ -293,9 +279,6 @@ recipes/riboplot # Requires libXext.so.6 in the container recipes/samsifter -# C++ syntax error: ../../lib/srprism/query_acct.hpp:118:51: error: expected primary-expression before ')' token { return query_info_[qn].MaxErr< paired >(); } -recipes/srprism - # Mulled test never completes recipes/comparative-annotation-toolkit @@ -311,13 +294,11 @@ recipes/rsat-core recipes/ig-checkflowtypes recipes/bufet recipes/mapsplice -recipes/pasta recipes/halla recipes/qtip recipes/tagger recipes/compare-reads recipes/strainest -recipes/methylpy recipes/t_coffee recipes/shannon_cpp recipes/ecopy @@ -327,11 +308,9 @@ recipes/biolite recipes/pauda recipes/hicbrowser recipes/vqsr_cnn -recipes/bam-readcount recipes/mqc recipes/roprofile recipes/chanjo -recipes/xxmotif recipes/phylip recipes/gqt recipes/diamond_add_taxonomy @@ -361,12 +340,8 @@ recipes/circle-map-cpp recipes/conduit-assembler # configure: error: cannot find required auxiliary files: config.guess config.sub -recipes/metabat2 recipes/bcftools-snvphyl-plugin -# error: no matching package named `bird_tool_utils` found location searched: https://github.com/wwood/galah#8440eeb8 required by package `galah v0.3.1 (https://github.com/wwood/galah#8440eeb8)` ... which satisfies git dependency `galah` of package `lorikeet-genome v0.7.3 -recipes/lorikeet-genome - # rnamoves.c:(.text.RNA2_move_noLP_bpshift+0x1f): undefined reference to `close_bp' recipes/kinsimriboswitch @@ -383,10 +358,8 @@ recipes/megagta # Unknown issues recipes/cmv recipes/fwdpp -recipes/parafly recipes/smashbenchmarking recipes/saffrontree -recipes/slclust # tracking master branch recipes/frc @@ -433,9 +406,6 @@ recipes/intervalstats recipes/oligotyping recipes/oligotyping/2.0 -# missing file -recipes/shiver - # missing binary recipes/semeta @@ -498,9 +468,6 @@ recipes/pout2mzid # checksum always fails recipes/ms -# sed: can't read /opt/conda/conda-bld/idba_1530055808563/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/bin/aclocal: No such file or directory -recipes/idba - # PREFIX/lib is a directory recipes/proot @@ -593,9 +560,6 @@ recipes/genblasta # ImportError: cannot import name 'aveQual' recipes/nanosplit -# Cpp no such file or dir -recipes/genepop - # Error: Unable to access jarfile recipes/gfinisher @@ -667,10 +631,6 @@ recipes/tedna recipes/transtermhp recipes/carna -# stringify can't find libmysqlclient.18 -recipes/ucsc-overlapselect -recipes/ucsc-pslmap - # Source seems to have moved recipes/discovar @@ -692,9 +652,6 @@ recipes/ale # Pinned to biopython=1.65 which is only availble through pkgs/free. If it doesn't break the package, the requirement should be set to biopython=1.70 or higher. recipes/breakseq2 -# R package build segfaults: [2020-07-28 05:38:00] Plotting genome...\n\n*** caught segfault ***\naddress (nil), cause 'memory not mapped'\n\nTraceback:\n 1: cairoVersion()\n 2: grSoftVersion()\n 3: symbolType1support()\n 4: optionSymbolFont(d$symbolfamily)\n 5: png(paste0(xargs$out, ".cnv.png"), units = "px", width = 1600, height = 1600, res = 300) -recipes/cnv_facets - # Depends on r-base and mentalist. The latter has has pinned down dependencies preventing the installation alongside other packages like r-base. Need to fix mentalist! recipes/pathogist @@ -709,7 +666,6 @@ recipes/sc3-scripts recipes/riboseqc # Some UnsatisfiableError -recipes/maaslin2 recipes/music-deconvolution # Bulk times out while solving environment @@ -744,9 +700,6 @@ recipes/protk # Does not link include -lGL -lGLU when linking, might require libOSMesa. recipes/connectome-workbench -# GSL linking problem (-lgsl not used?): "undefined reference to `gsl_ran_multinomial_pdf'" -recipes/merfishtools - # Build fails during boostrap of vendored Boost. recipes/gvcftools recipes/seer @@ -781,11 +734,9 @@ recipes/cesm recipes/minnow recipes/quip recipes/conterminator -recipes/groot recipes/mantis recipes/apoc recipes/quorum -recipes/curves recipes/noresm recipes/xsd recipes/callstate @@ -793,7 +744,6 @@ recipes/hypo recipes/pb-falcon-phase recipes/hiline recipes/eqtlbma -recipes/selene-sdk recipes/barriers # Requires rmblast update @@ -802,247 +752,6 @@ recipes/maker # Takes hours to solve the environment recipes/rop -# Need to redo the skeletons for these -recipes/ucsc-addcols -recipes/ucsc-ameme -recipes/ucsc-autodtd -recipes/ucsc-autosql -recipes/ucsc-autoxml -recipes/ucsc-avecols -recipes/ucsc-axtsort -recipes/ucsc-axtswap -recipes/ucsc-axttomaf -recipes/ucsc-bamtopsl -recipes/ucsc-bedclip -recipes/ucsc-bedcommonregions -recipes/ucsc-bedcoverage -recipes/ucsc-bedextendranges -recipes/ucsc-bedgeneparts -recipes/ucsc-bedgraphpack -recipes/ucsc-bedintersect -recipes/ucsc-beditemoverlapcount -recipes/ucsc-bedjointaboffset -recipes/ucsc-bedpileups -recipes/ucsc-bedremoveoverlap -recipes/ucsc-bedrestricttopositions -recipes/ucsc-bedsort -recipes/ucsc-bedtogenepred -recipes/ucsc-bedtopsl -recipes/ucsc-bedweedoverlapping -recipes/ucsc-bigbedinfo -recipes/ucsc-bigbednameditems -recipes/ucsc-bigbedsummary -recipes/ucsc-bigbedtobed -recipes/ucsc-bigmaftomaf -recipes/ucsc-bigpsltopsl -recipes/ucsc-bigwigaverageoverbed -recipes/ucsc-bigwigcat -recipes/ucsc-bigwigcluster -recipes/ucsc-bigwigcorrelate -recipes/ucsc-bigwiginfo -recipes/ucsc-bigwigmerge -recipes/ucsc-blasttopsl -recipes/ucsc-catdir -recipes/ucsc-catuncomment -recipes/ucsc-chainbridge -recipes/ucsc-chainfilter -recipes/ucsc-chainnet -recipes/ucsc-chainprenet -recipes/ucsc-chainsplit -recipes/ucsc-chainstitchid -recipes/ucsc-chainswap -recipes/ucsc-chaintoaxt -recipes/ucsc-chaintopsl -recipes/ucsc-chaintopslbasic -recipes/ucsc-checkagpandfa -recipes/ucsc-checkcoveragegaps -recipes/ucsc-checkhgfindspec -recipes/ucsc-checktablecoords -recipes/ucsc-chopfalines -recipes/ucsc-chromgraphfrombin -recipes/ucsc-chromgraphtobin -recipes/ucsc-clustergenes -recipes/ucsc-coltransform -recipes/ucsc-countchars -recipes/ucsc-crtreeindexbed -recipes/ucsc-crtreesearchbed -recipes/ucsc-dbsnoop -recipes/ucsc-dbtrash -recipes/ucsc-endsinlf -recipes/ucsc-estorient -recipes/ucsc-expmatrixtobarchartbed -recipes/ucsc-faalign -recipes/ucsc-facmp -recipes/ucsc-facount -recipes/ucsc-fafilter -recipes/ucsc-fafiltern -recipes/ucsc-fafrag -recipes/ucsc-fanoise -recipes/ucsc-faonerecord -recipes/ucsc-fapolyasizes -recipes/ucsc-farandomize -recipes/ucsc-farc -recipes/ucsc-fasize -recipes/ucsc-fasplit -recipes/ucsc-fastqstatsandsubsample -recipes/ucsc-fastqtofa -recipes/ucsc-fatofastq -recipes/ucsc-fatotab -recipes/ucsc-fatrans -recipes/ucsc-featurebits -recipes/ucsc-fetchchromsizes -recipes/ucsc-findmotif -recipes/ucsc-gaptolift -recipes/ucsc-genepredfilter -recipes/ucsc-genepredhisto -recipes/ucsc-genepredsinglecover -recipes/ucsc-genepredtofakepsl -recipes/ucsc-genepredtogtf -recipes/ucsc-genepredtomafframes -recipes/ucsc-genepredtoprot -recipes/ucsc-gensub2 -recipes/ucsc-getrna -recipes/ucsc-getrnapred -recipes/ucsc-gff3topsl -recipes/ucsc-gmtime -recipes/ucsc-headrest -recipes/ucsc-hgbbidblink -recipes/ucsc-hgfakeagp -recipes/ucsc-hgfindspec -recipes/ucsc-hggoldgapgl -recipes/ucsc-hgloadbed -recipes/ucsc-hgloadchain -recipes/ucsc-hgloadmaf -recipes/ucsc-hgloadnet -recipes/ucsc-hgloadout -recipes/ucsc-hgloadoutjoined -recipes/ucsc-hgloadsqltab -recipes/ucsc-hgloadwiggle -recipes/ucsc-hgspeciesrna -recipes/ucsc-hgsqldump -recipes/ucsc-hgtrackdb -recipes/ucsc-hgvstovcf -recipes/ucsc-htmlcheck -recipes/ucsc-hubcheck -recipes/ucsc-hubpubliccheck -recipes/ucsc-ixixx -recipes/ucsc-lavtoaxt -recipes/ucsc-lavtopsl -recipes/ucsc-ldhggene -recipes/ucsc-liftup -recipes/ucsc-linestora -recipes/ucsc-localtime -recipes/ucsc-mafaddirows -recipes/ucsc-mafaddqrows -recipes/ucsc-mafcoverage -recipes/ucsc-maffetch -recipes/ucsc-maffilter -recipes/ucsc-maffrag -recipes/ucsc-maffrags -recipes/ucsc-mafgene -recipes/ucsc-mafmefirst -recipes/ucsc-maforder -recipes/ucsc-mafranges -recipes/ucsc-mafsinregion -recipes/ucsc-mafspecieslist -recipes/ucsc-mafspeciessubset -recipes/ucsc-mafsplit -recipes/ucsc-mafsplitpos -recipes/ucsc-maftoaxt -recipes/ucsc-maftobigmaf -recipes/ucsc-maftopsl -recipes/ucsc-maftosnpbed -recipes/ucsc-maketablelist -recipes/ucsc-maskoutfa -recipes/ucsc-mktime -recipes/ucsc-mrnatogene -recipes/ucsc-netchainsubset -recipes/ucsc-netclass -recipes/ucsc-netfilter -recipes/ucsc-netsplit -recipes/ucsc-netsyntenic -recipes/ucsc-nettoaxt -recipes/ucsc-nettobed -recipes/ucsc-newprog -recipes/ucsc-newpythonprog -recipes/ucsc-nibfrag -recipes/ucsc-nibsize -recipes/ucsc-oligomatch -recipes/ucsc-overlapselect -recipes/ucsc-para -recipes/ucsc-parafetch -recipes/ucsc-parahub -recipes/ucsc-parahubstop -recipes/ucsc-paranode -recipes/ucsc-paranodestart -recipes/ucsc-paranodestatus -recipes/ucsc-paranodestop -recipes/ucsc-parasol -recipes/ucsc-parasync -recipes/ucsc-paratestjob -recipes/ucsc-positionaltblcheck -recipes/ucsc-pslcat -recipes/ucsc-pslcheck -recipes/ucsc-psldropoverlap -recipes/ucsc-pslfilter -recipes/ucsc-pslhisto -recipes/ucsc-pslliftsubrangeblat -recipes/ucsc-pslmap -recipes/ucsc-pslmappostchain -recipes/ucsc-pslmrnacover -recipes/ucsc-pslpairs -recipes/ucsc-pslpartition -recipes/ucsc-pslpostarget -recipes/ucsc-pslpretty -recipes/ucsc-pslrc -recipes/ucsc-pslrecalcmatch -recipes/ucsc-pslreps -recipes/ucsc-pslscore -recipes/ucsc-pslselect -recipes/ucsc-pslsomerecords -recipes/ucsc-pslsort -recipes/ucsc-pslstats -recipes/ucsc-pslswap -recipes/ucsc-psltobed -recipes/ucsc-psltobigpsl -recipes/ucsc-psltochain -recipes/ucsc-psltopslx -recipes/ucsc-pslxtofa -recipes/ucsc-qacagplift -recipes/ucsc-qactoqa -recipes/ucsc-qactowig -recipes/ucsc-qatoqac -recipes/ucsc-randomlines -recipes/ucsc-rasqlquery -recipes/ucsc-ratolines -recipes/ucsc-ratotab -recipes/ucsc-rmfadups -recipes/ucsc-rowstocols -recipes/ucsc-spacedtotab -recipes/ucsc-splitfile -recipes/ucsc-splitfilebycolumn -recipes/ucsc-sqltoxml -recipes/ucsc-stringify -recipes/ucsc-subchar -recipes/ucsc-subcolumn -recipes/ucsc-taillines -recipes/ucsc-tdbquery -recipes/ucsc-texthistogram -recipes/ucsc-ticktodate -recipes/ucsc-tolower -recipes/ucsc-toupper -recipes/ucsc-transmappsltogenepred -recipes/ucsc-trfbig -recipes/ucsc-twobitdup -recipes/ucsc-twobitmask -recipes/ucsc-validatefiles -recipes/ucsc-validatemanifest -recipes/ucsc-websync -recipes/ucsc-wigcorrelate -recipes/ucsc-wordline -recipes/ucsc-xmlcat -recipes/ucsc-xmltosql - # Above v1.0.5 there are licensing restrictions and it cannot be distributed # via bioconda. See https://github.com/bioconda/bioconda-recipes/pull/23476. recipes/fishtaco @@ -1055,10 +764,7 @@ recipes/sweepfinder2 # syntax error in configure script recipes/kat -recipes/kmer-jellyfish -# unicode error when packaging license file -recipes/mapseq # permission error recipes/perl-gd @@ -1069,15 +775,14 @@ recipes/fmlrc2 # tries to download zlib itself, which fails recipes/d4binding -# maturin build fails -recipes/taxonomy - -# from numba.np.ufunc import _internal -# SystemError: initialization of _internal failed without raising an exception -recipes/bbknn - # no matching package named `quickersort` found recipes/mudskipper # md5 mismatch when downloading source recipes/komb + +# duplicate recipe +recipes/treeqmc + +# migrated to conda-forge to be windows-friendly +recipes/pygenomeviz diff --git a/config.yml b/config.yml index 9a430aaa68c93..d8582e6858ffc 100644 --- a/config.yml +++ b/config.yml @@ -8,4 +8,3 @@ blacklists: channels: - conda-forge - bioconda - - defaults diff --git a/recipes/3seq/meta.yaml b/recipes/3seq/meta.yaml index fc3d68b5e7018..00113808e3473 100644 --- a/recipes/3seq/meta.yaml +++ b/recipes/3seq/meta.yaml @@ -7,7 +7,9 @@ package: version: {{ version }} build: - number: 3 + number: 4 + run_exports: + - {{ pin_subpackage("3seq", max_pin="x") }} source: url: https://gitlab.com/lamhm/{{ name|lower }}/-/archive/v{{ version }}/3seq-v{{ version }}.tar.gz @@ -28,6 +30,10 @@ test: about: home: https://mol.ax/software/3seq/ - license: CC BY-NC-SA 4.0 + license: CC-BY-NC-SA-4.0 license_file: LICENSE.md summary: '3SEQ tests all sequence triplets in an alignment for a mosaic recombination signal.' + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/aacon/aacon.sh b/recipes/aacon/aacon.sh new file mode 100644 index 0000000000000..e69d47183a5e0 --- /dev/null +++ b/recipes/aacon/aacon.sh @@ -0,0 +1,11 @@ +#!/bin/bash +set -e + +JAR_NAME="compbio-conservation.jar" + +if [ -x "$JAVA_HOME/bin/java" ]; then + JAVA=$JAVA_HOME/bin/java +else + JAVA=$(which java) +fi +$JAVA -jar "$(dirname $(readlink -f "$0"))/$JAR_NAME" "$@" diff --git a/recipes/aacon/build.sh b/recipes/aacon/build.sh new file mode 100644 index 0000000000000..df55624091e03 --- /dev/null +++ b/recipes/aacon/build.sh @@ -0,0 +1,11 @@ +#!/bin/bash +set -eu + +OUTDIR=$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM +mkdir -p $OUTDIR +mkdir -p $PREFIX/bin + +cp $SRC_DIR/compbio-conservation-$PKG_VERSION.jar $OUTDIR/compbio-conservation.jar +cp $RECIPE_DIR/aacon.sh $OUTDIR/aacon +ln -s $OUTDIR/aacon $PREFIX/bin/aacon +chmod +x $PREFIX/bin/aacon diff --git a/recipes/aacon/meta.yaml b/recipes/aacon/meta.yaml new file mode 100644 index 0000000000000..ab2a510cd4664 --- /dev/null +++ b/recipes/aacon/meta.yaml @@ -0,0 +1,49 @@ +{% set version = "1.1" %} +{% set sha256sum = "8dd97c70d46d0f8cf6ca79f0cc7641e629db2ab3fec30bd6dbbf9de8c0607145" %} + +package: + name: aacon + version: {{ version }} + +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage('aacon', max_pin="x") }} + +source: + url: https://github.com/bartongroup/aacon/releases/download/v{{ version }}/compbio-conservation-{{ version }}.jar + sha256: {{ sha256sum }} + +requirements: + run: + - openjdk >=8 + +test: + commands: + - aacon --help + +about: + home: https://www.compbio.dundee.ac.uk/aacon/ + dev_url: https://github.com/bartongroup/aacon + license: Apache-2.0 + summary: "AACon: A Fast Amino Acid Conservation Calculation Service" + description: + AACon is a set of tools implementing 17 different conservation scores + reviewed by Valdar as well as the more complex SMERFS algorithm for + predicting protein functional sites. AACon has been written with efficiency + in mind and takes less than a second to calculate conservation by all 18 + methods for an alignment of 500 sequences 350 residues long on a single CPU. + AACon exploits parallelism for the more demanding methods and to allow + multiple methods to run simultaneously. The parallel code gives close to + linear speedup with the number of processors, thus making it suitable for + server applications or other demanding environments. + +extra: + notes: + AACon is a Java program that comes with a custom wrapper shell script. + The shell wrapper is called "aacon" and is present on $PATH by default. + The Java program is executed with java specified by the $JAVA_HOME + variable. Otherwise, a "java" program from the current environment is used. + identifiers: + - biotools:aacon diff --git a/recipes/abacas/meta.yaml b/recipes/abacas/meta.yaml index 9ce4d033664dd..2373004ce8222 100644 --- a/recipes/abacas/meta.yaml +++ b/recipes/abacas/meta.yaml @@ -13,7 +13,9 @@ source: - patches/path.patch build: - number: 2 + number: 3 + run_exports: + - {{ pin_subpackage("abacas", max_pin="x") }} noarch: generic requirements: diff --git a/recipes/abawaca/meta.yaml b/recipes/abawaca/meta.yaml index 8e93f86df7f49..22c0eb47290e3 100644 --- a/recipes/abawaca/meta.yaml +++ b/recipes/abawaca/meta.yaml @@ -11,7 +11,9 @@ source: - 0001-Use-CXX-and-flags.patch build: - number: 6 + number: 7 + run_exports: + - {{ pin_subpackage("abawaca", max_pin="x") }} requirements: build: @@ -34,3 +36,5 @@ extra: - keuv-grvl identifiers: - doi:10.1038/nature14486 + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/abismal/meta.yaml b/recipes/abismal/meta.yaml index 28deeef92addb..43fa4b6849707 100644 --- a/recipes/abismal/meta.yaml +++ b/recipes/abismal/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "3.2.2" %} +{% set version = "3.2.3" %} package: name: abismal @@ -13,7 +13,7 @@ build: source: url: https://github.com/smithlabcode/abismal/releases/download/v{{ version }}/abismal-{{ version }}.tar.gz - sha256: c7014da2e97e8821f4d1fca4f0618dcf5433e26db7e1cae5b6efa937da5d2ff2 + sha256: 0698ca408feb7e2650468e66dfdd4615e9405f64cd5496272fe2226cefd21322 requirements: build: @@ -24,6 +24,7 @@ requirements: - llvm-openmp # [osx] - libgomp # [linux] host: + - zlib - htslib run: - htslib diff --git a/recipes/abnumber/meta.yaml b/recipes/abnumber/meta.yaml index a1002b464b35c..8a82abd0beb63 100644 --- a/recipes/abnumber/meta.yaml +++ b/recipes/abnumber/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.3.2" %} # Remember to update sha256 below +{% set version = "0.4.1" %} # Remember to update sha256 below package: name: abnumber @@ -6,10 +6,12 @@ package: source: url: https://github.com/prihoda/abnumber/archive/v{{ version }}.tar.gz - sha256: '1e00d010a05b2b7fe93660346f8b0bc36d7058e2655c3f779d84c85b52022ebc' + sha256: '240c7ccc1f85607ffdd0109f19761ab0488a059ae15e3ccd6066ef36c192a047' build: noarch: python + run_exports: + - {{ pin_subpackage('abnumber', max_pin="x.x") }} number: 0 script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv diff --git a/recipes/abpoa/meta.yaml b/recipes/abpoa/meta.yaml index 8f056ed0430dc..069ecd8444e2e 100644 --- a/recipes/abpoa/meta.yaml +++ b/recipes/abpoa/meta.yaml @@ -1,17 +1,18 @@ -{% set version = "1.4.1" %} -{% set program = "abpoa" %} -{% set PROGRAM = "abPOA" %} +{% set version = "1.5.3" %} +{% set name = "abPOA" %} package: - name: abpoa + name: {{ name | lower }} version: {{ version }} source: - url: https://github.com/yangao07/{{ PROGRAM }}/releases/download/v{{ version }}/{{ PROGRAM }}-v{{ version }}.tar.gz - sha256: 54b1f5cfd94fb5894e189d9e099f8158051411bcbcc9ba2d77478cfb9221dde1 + url: https://github.com/yangao07/{{ name }}/releases/download/v{{ version }}/{{ name }}-v{{ version }}.tar.gz + sha256: bb97de2dbdec014f2fb24beb0c85fa0b2073f717f3b68639e1edd89239729e6c build: - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(name | lower, max_pin="x") }} requirements: build: @@ -22,10 +23,15 @@ requirements: test: commands: - - {{ program }} --version | grep {{ version }} + - {{ name | lower }} --version | grep {{ version }} about: - home: https://github.com/yangao07/{{ PROGRAM }} - license: GPL + home: https://github.com/yangao07/{{ name }} + license: MIT + license_family: MIT license_file: LICENSE summary: 'abPOA: fast SIMD-based partial order alignment using adaptive band' + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/abra2/meta.yaml b/recipes/abra2/meta.yaml index 1d5adf33ab6ae..342af9bad048e 100644 --- a/recipes/abra2/meta.yaml +++ b/recipes/abra2/meta.yaml @@ -10,21 +10,30 @@ source: sha256: edb35fb6ff318239353a573d1abad148073b8ac0bb2cd44a18e561abe08aef32 build: - number: 2 + number: 3 skip: true # [osx] + run_exports: + - pin_subpackage(name, max_pin="x") requirements: build: - maven - make - {{ compiler('cxx') }} + host: + - zlib run: - openjdk >=8,<10 - coreutils + - zlib test: commands: - - 'abra2 2>&1 | grep "Abra version"' + - 'abra2 2>&1 | grep "Abra version" || (abra2 && exit 1)' + +extra: + additional-platforms: + - linux-aarch64 about: home: https://github.com/mozack/abra2 diff --git a/recipes/abritamr/meta.yaml b/recipes/abritamr/meta.yaml index 6fbc267b65ae6..edcc501e5cbc0 100644 --- a/recipes/abritamr/meta.yaml +++ b/recipes/abritamr/meta.yaml @@ -1,6 +1,6 @@ {% set name = "abritamr" %} -{% set version = "1.0.14" %} -{% set sha256 = "22600b8cf37c1c4cf5dc5b81f4774907e58ba874a5de968f169101d6829fe6e3" %} +{% set version = "1.0.19" %} +{% set sha256 = "a0571b3428186295ec27343fa4b648105be81a7fd871462a501c4c2bec43c335" %} package: name: "{{ name|lower }}" @@ -11,22 +11,28 @@ source: sha256: "{{ sha256 }}" build: - number: 1 + number: 0 noarch: python entry_points: - abritamr=abritamr.abritamr:main - script: "{{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv" + script: "{{ PYTHON }} -m pip install . --no-build-isolation --no-deps -vvv" + run_exports: + - {{ pin_subpackage('abritamr', max_pin="x") }} requirements: host: - pip - - python =>3.9 + - python >=3.9 run: - - pandas =>1.4 + - python >=3.9 + - pandas - xlsxwriter - - ncbi-amrfinderplus =3.10.42 - - blast - - hmmer + # Please review ncbi-amrfinderplus pinning every release + # The version should be pinned to the database version used by abritamr + # Please see the "changes.txt" file in https://github.com/MDU-PHL/abritamr/blob/master/abritamr/db/amrfinderplus/data//changes.txt + - ncbi-amrfinderplus =3.12.8 + - blast + - hmmer - libcurl - parallel @@ -44,9 +50,11 @@ about: license: GPL-3.0-only license_family: GPL3 summary: "Running AMRFinderPlus for MDU" - dev_url: https://github.com/MDU-PHL/abritamr + dev_url: https://github.com/MDU-PHL/abritamr extra: recipe-maintainers: - kristyhoran - andergs + identifiers: + - biotools:abritamr diff --git a/recipes/abromics_galaxy_json_extractor/meta.yaml b/recipes/abromics_galaxy_json_extractor/meta.yaml index 9b20f38f812b2..ffb7d367e33e6 100644 --- a/recipes/abromics_galaxy_json_extractor/meta.yaml +++ b/recipes/abromics_galaxy_json_extractor/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.8.3" %} +{% set version = "0.8.3.6" %} context: {} @@ -8,7 +8,7 @@ package: source: url: https://gitlab.com/ifb-elixirfr/abromics/abromics-galaxy-json-extractor/-/archive/{{ version }}/abromics-galaxy-json-extractor-{{ version }}.tar.gz - sha256: '81fc614902567dfe83d57fc978bf98cc22e26a58f0e25e359c9d647df6f05bb9' + sha256: '364997088a29c30cdc45d2c66af40a3d6b8e3398efe1d7eb242d31b0e68abd77' build: noarch: python diff --git a/recipes/abundancebin/meta.yaml b/recipes/abundancebin/meta.yaml index d01609dd35e02..1fc298ebc42e5 100644 --- a/recipes/abundancebin/meta.yaml +++ b/recipes/abundancebin/meta.yaml @@ -14,7 +14,9 @@ source: - 0001-Use-CXX-and-flags.patch build: - number: 6 + number: 7 + run_exports: + - {{ pin_subpackage("abundancebin", max_pin="x.x.x") }} skip: True # [osx] requirements: @@ -45,3 +47,5 @@ extra: - keuv-grvl identifiers: - doi:10.1007/978-3-642-12683-3_35 + additional-platforms: + - linux-aarch64 diff --git a/recipes/abyss/config.patch b/recipes/abyss/config.patch new file mode 100644 index 0000000000000..0eff6cb938fc6 --- /dev/null +++ b/recipes/abyss/config.patch @@ -0,0 +1,15 @@ +Upstream release contains config.{guess,sub} from ten years ago that +don't handle Apple silicon. This patches minimally around it. + +--- a/config.sub 2014-06-10 20:03:11 ++++ b/config.sub 2024-07-23 19:48:49 +@@ -436,6 +436,9 @@ + | ymp-* \ + | z8k-* | z80-*) + ;; ++ arm64-apple) ++ basic_machine=aarch64-apple ++ ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown diff --git a/recipes/abyss/meta.yaml b/recipes/abyss/meta.yaml index 2e2b18d403d8a..813b1133e843f 100644 --- a/recipes/abyss/meta.yaml +++ b/recipes/abyss/meta.yaml @@ -1,16 +1,20 @@ {% set name = "abyss" %} -{% set version = "2.3.7" %} +{% set version = "2.3.9" %} package: name: {{ name|lower }} version: {{ version }} build: - number: 1 + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} source: url: https://github.com/bcgsc/abyss/releases/download/{{ version }}/abyss-{{ version }}.tar.gz - sha256: ba37780e79ec3aa359b6003e383caef13479a87f4d0022af01b86398f9ffca1f + sha256: 55f0b27b67b4486dc6cbe132c0f4c228ee4f9e86c56292a7b50633df87e3212e + patches: + - config.patch requirements: build: @@ -42,6 +46,9 @@ about: doc_url: https://github.com/bcgsc/abyss#readme extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 container: # openmpi needs ssh/rsh extended-base: true diff --git a/recipes/ac-diamond/build_failure.linux-64.yaml b/recipes/ac-diamond/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..100d5c97f1bf0 --- /dev/null +++ b/recipes/ac-diamond/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 371b0e19e43c01c8d4596a46c5d5b9867e44a82fd2e44b69dba7c0c39af18aaf # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + | ^~~~~~~~ + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/any.hpp:349:22: note: candidate: 'ValueType boost::any_cast(any) [with ValueType = double]' + 349 | inline ValueType any_cast(any&& operand) + | ^~~~~~~~ + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/program_options/detail/value_semantic.hpp: In instantiation of 'void boost::program_options::typed_value::xparse(boost::any&, const std::vector >&) const [with T = double; charT = char]': + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/program_options/detail/value_semantic.hpp:174:5: required from here + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/program_options/detail/value_semantic.hpp:182:25: error: ambiguous overload for 'operator=' (operand types are 'boost::any' and 'const boost::any') + 182 | value_store = m_implicit_value; + | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/any.hpp:135:15: note: candidate: 'boost::any& boost::any::operator=(const boost::any&)' + 135 | any & operator=(const any& rhs) + | ^~~~~~~~ + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/any.hpp:149:15: note: candidate: 'boost::any& boost::any::operator=(boost::any)' + 149 | any & operator=(any&& rhs) noexcept + | ^~~~~~~~ + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/program_options/value_semantic.hpp: In instantiation of 'bool boost::program_options::typed_value::apply_default(boost::any&) const [with T = std::__cxx11::basic_string; charT = char]': + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/program_options/value_semantic.hpp:337:22: required from here + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/program_options/value_semantic.hpp:342:29: error: ambiguous overload for 'operator=' (operand types are 'boost::any' and 'const boost::any') + 342 | value_store = m_default_value; + | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/any.hpp:135:15: note: candidate: 'boost::any& boost::any::operator=(const boost::any&)' + 135 | any & operator=(const any& rhs) + | ^~~~~~~~ + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/any.hpp:149:15: note: candidate: 'boost::any& boost::any::operator=(boost::any)' + 149 | any & operator=(any&& rhs) noexcept + | ^~~~~~~~ + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/program_options/detail/value_semantic.hpp: In instantiation of 'void boost::program_options::typed_value::notify(const boost::any&) const [with T = std::__cxx11::basic_string; charT = char]': + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/program_options/detail/value_semantic.hpp:38:5: required from here + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/program_options/detail/value_semantic.hpp:40:44: error: call of overloaded 'any_cast, std::allocator > >(const boost::any*)' is ambiguous + 40 | const T* value = boost::any_cast(&value_store); + | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/any.hpp:339:22: note: candidate: 'ValueType boost::any_cast(const any&) [with ValueType = std::__cxx11::basic_string]' + 339 | inline ValueType any_cast(const any & operand) + | ^~~~~~~~ + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/any.hpp:349:22: note: candidate: 'ValueType boost::any_cast(any) [with ValueType = std::__cxx11::basic_string]' + 349 | inline ValueType any_cast(any&& operand) + | ^~~~~~~~ + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/program_options/detail/value_semantic.hpp: In instantiation of 'void boost::program_options::typed_value::xparse(boost::any&, const std::vector >&) const [with T = std::__cxx11::basic_string; charT = char]': + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/program_options/detail/value_semantic.hpp:174:5: required from here + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/program_options/detail/value_semantic.hpp:182:25: error: ambiguous overload for 'operator=' (operand types are 'boost::any' and 'const boost::any') + 182 | value_store = m_implicit_value; + | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/any.hpp:135:15: note: candidate: 'boost::any& boost::any::operator=(const boost::any&)' + 135 | any & operator=(const any& rhs) + | ^~~~~~~~ + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/any.hpp:149:15: note: candidate: 'boost::any& boost::any::operator=(boost::any)' + 149 | any & operator=(any&& rhs) noexcept + | ^~~~~~~~ + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/program_options/value_semantic.hpp: In instantiation of 'bool boost::program_options::typed_value::apply_default(boost::any&) const [with T = unsigned int; charT = char]': + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/program_options/value_semantic.hpp:337:22: required from here + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/program_options/value_semantic.hpp:342:29: error: ambiguous overload for 'operator=' (operand types are 'boost::any' and 'const boost::any') + 342 | value_store = m_default_value; + | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/any.hpp:135:15: note: candidate: 'boost::any& boost::any::operator=(const boost::any&)' + 135 | any & operator=(const any& rhs) + | ^~~~~~~~ + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/any.hpp:149:15: note: candidate: 'boost::any& boost::any::operator=(boost::any)' + 149 | any & operator=(any&& rhs) noexcept + | ^~~~~~~~ + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/program_options/detail/value_semantic.hpp: In instantiation of 'void boost::program_options::typed_value::notify(const boost::any&) const [with T = unsigned int; charT = char]': + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/program_options/detail/value_semantic.hpp:38:5: required from here + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/program_options/detail/value_semantic.hpp:40:44: error: call of overloaded 'any_cast(const boost::any*)' is ambiguous + 40 | const T* value = boost::any_cast(&value_store); + | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/any.hpp:339:22: note: candidate: 'ValueType boost::any_cast(const any&) [with ValueType = unsigned int]' + 339 | inline ValueType any_cast(const any & operand) + | ^~~~~~~~ + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/any.hpp:349:22: note: candidate: 'ValueType boost::any_cast(any) [with ValueType = unsigned int]' + 349 | inline ValueType any_cast(any&& operand) + | ^~~~~~~~ + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/program_options/detail/value_semantic.hpp: In instantiation of 'void boost::program_options::typed_value::xparse(boost::any&, const std::vector >&) const [with T = unsigned int; charT = char]': + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/program_options/detail/value_semantic.hpp:174:5: required from here + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/program_options/detail/value_semantic.hpp:182:25: error: ambiguous overload for 'operator=' (operand types are 'boost::any' and 'const boost::any') + 182 | value_store = m_implicit_value; + | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/any.hpp:135:15: note: candidate: 'boost::any& boost::any::operator=(const boost::any&)' + 135 | any & operator=(const any& rhs) + | ^~~~~~~~ + /opt/conda/conda-bld/ac-diamond_1717556315868/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/boost/any.hpp:149:15: note: candidate: 'boost::any& boost::any::operator=(boost::any)' + 149 | any & operator=(any&& rhs) noexcept + | ^~~~~~~~ + make[2]: *** [CMakeFiles/ac-diamond.dir/build.make:76: CMakeFiles/ac-diamond.dir/src/main.cpp.o] Error 1 + make[1]: *** [CMakeFiles/Makefile2:100: CMakeFiles/ac-diamond.dir/all] Error 2 + make: *** [Makefile:136: all] Error 2 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/ac-diamond_1717556315868/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. diff --git a/recipes/ac-diamond/meta.yaml b/recipes/ac-diamond/meta.yaml index c2a63a2ca37c3..1e427a2fdfea9 100644 --- a/recipes/ac-diamond/meta.yaml +++ b/recipes/ac-diamond/meta.yaml @@ -7,7 +7,7 @@ source: sha256: f3ee403390c3de0a2f21f025a45b35c6131f4f39510c834fbe57ade28162c87b build: - number: 6 + number: 7 skip: True # [osx] requirements: diff --git a/recipes/ac/meta.yaml b/recipes/ac/meta.yaml index 3b66857bde87b..17b4fbc7a327c 100644 --- a/recipes/ac/meta.yaml +++ b/recipes/ac/meta.yaml @@ -7,7 +7,9 @@ package: build: # Passes some invalid flags for clang skip: True # [osx] - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage("ac", max_pin="x.x") }} source: url: https://github.com/cobilab/ac/archive/v{{ version }}.tar.gz @@ -30,3 +32,7 @@ about: license_file: LICENSE license_family: GPL summary: A lossless compression tool for Amino Acid sequences + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/aci/meta.yaml b/recipes/aci/meta.yaml new file mode 100644 index 0000000000000..8e8f688c489d8 --- /dev/null +++ b/recipes/aci/meta.yaml @@ -0,0 +1,49 @@ +{% set name = "aci" %} +{% set repo = "amplicon_coverage_inspector" %} +{% set version = "1.4.20240116" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ repo[0] }}/{{ repo }}/{{ repo }}-{{ version }}.tar.gz + sha256: 06cf71bde19ecb8ac760c14548b3cdb24f99755da36d53daeea62cf053f5b12c + +build: + number: 0 + noarch: python + entry_points: + - aci=aci.aci:main + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('aci', max_pin='x') }} + +requirements: + host: + - python >=3.8,<4.0 + - pip + run: + - python >=3.8,<4.0 + - matplotlib-base >=3.8.2 + - numpy >=1.26.2 + - pandas >=2.1.4 + - pysam >=0.22.0 + +test: + imports: + - aci + commands: + - aci --help + +about: + home: https://github.com/erinyoung/ACI + license: MIT + license_family: MIT + license_file: LICENSE + summary: Visualizes coverage for amplicons + doc_url: https://github.com/erinyoung/ACI/blob/main/README.md + +extra: + recipe-maintainers: + - erinyoung diff --git a/recipes/acms/build.sh b/recipes/acms/build.sh new file mode 100644 index 0000000000000..00b12a00c829b --- /dev/null +++ b/recipes/acms/build.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +make -j ${CPU_COUNT} PREFIX=$PREFIX CC=$CC -C Misc/Applications/aCMs all +make PREFIX=$PREFIX CC=$CC -C Misc/Applications/aCMs install-program +make PREFIX=$PREFIX CC=$CC -C Misc/Applications/lib install +chmod 755 $PREFIX/bin/acmbuild* diff --git a/recipes/acms/meta.yaml b/recipes/acms/meta.yaml new file mode 100644 index 0000000000000..3c3dfbe30c7fd --- /dev/null +++ b/recipes/acms/meta.yaml @@ -0,0 +1,52 @@ +{% set fold_grammars_version = "2.3.2" %} +{% set acms_version = "1.3.0" %} +{% set packagename = "acms" %} +{% set sha256 = "d3e6cc8d2ecd31d4764b41fea589b98c637ff227d7ab3dcfe66f2ad3f24dece5" %} + +package: + name: {{ packagename }} + version: 1.3.0 + +source: + sha256: {{ sha256 }} + # the repository "fold-grammars" contains sources for several programs, i.e. pKiss, RNAshapes, ... + # thus, the version number does not correspond to the {{ packagename }} version number + #url: https://github.com/jlab/fold-grammars/archive/{{ version }}.tar.gz + url: https://github.com/jlab/fold-grammars/archive/refs/tags/{{ fold_grammars_version }}.tar.gz + +build: + number: 1 + skip: True # [osx] + run_exports: + - {{ pin_subpackage('acms', max_pin="x") }} + +requirements: + build: + - make + - {{ compiler('cxx') }} + - ghc + host: + - perl + - bellmans-gapc >=2024.01.12 + - ghc + run: + - perl + - bellmans-gapc >=2024.01.12 + - ghc + +test: + commands: + - acmbuild -h + +about: + home: https://bibiserv.cebitec.uni-bielefeld.de/{{ packagename }} + license: 'GPL-3.0-or-later' + license_file: LICENSE + summary: 'Ambivalent Covariance Models (aCMs) are our prototypic suggestion to extend CMs with more than one consensus structure.' + +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - doi:10.1186/s12859-015-0569-1 + - doi:10.1093/bioinformatics/btu649 diff --git a/recipes/adam/meta.yaml b/recipes/adam/meta.yaml index c29df2abaf583..51700f7519ec5 100644 --- a/recipes/adam/meta.yaml +++ b/recipes/adam/meta.yaml @@ -1,4 +1,4 @@ -{% set version="1.0" %} +{% set version="1.0.1" %} package: name: adam @@ -6,7 +6,7 @@ package: source: url: https://search.maven.org/remotecontent?filepath=org/bdgenomics/adam/adam-distribution-spark3_2.12/{{ version }}/adam-distribution-spark3_2.12-{{ version }}-bin.tar.gz - sha256: 1c1d91ccb42d2faaefb075f93a11bfb5a8c6dd575c7f01d21842a8957204f705 + sha256: cd6259148a2d9d8bf10549cedd09fe5b12d9f34a25e80a4025f96d60e50be807 patches: - adam-shell.patch - adam-submit.patch @@ -14,6 +14,8 @@ source: build: number: 0 noarch: generic + run_exports: + - {{ pin_subpackage('adam', max_pin="1") }} requirements: run: diff --git a/recipes/adapterremoval/meta.yaml b/recipes/adapterremoval/meta.yaml index b6c2fb86ec426..7f369ac53924a 100644 --- a/recipes/adapterremoval/meta.yaml +++ b/recipes/adapterremoval/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "2.3.3" %} -{% set sha256 = "a1bdc054319ede085fc8a4e9867c23ffed7df5e97b99d52221b7c587d19418fc" %} +{% set version = "2.3.4" %} +{% set sha256 = "a4433a45b73ead907aede22ed0c7ea6fbc080f6de6ed7bc00f52173dfb309aa1" %} package: name: adapterremoval @@ -10,7 +10,9 @@ source: sha256: {{ sha256 }} build: - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage("adapterremoval", max_pin="x") }} requirements: build: @@ -34,3 +36,7 @@ about: license: GPL3 license_file: LICENSE summary: The AdapterRemoval v2 tool for merging and clipping reads. + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/addrg/meta.yaml b/recipes/addrg/meta.yaml index 9a92b45beccbd..6b55770d98737 100644 --- a/recipes/addrg/meta.yaml +++ b/recipes/addrg/meta.yaml @@ -6,7 +6,9 @@ package: version: {{ version }} build: - number: 11 + number: 12 + run_exports: + - {{ pin_subpackage("addrg", max_pin="x.x") }} source: url: https://github.com/holtgrewe/addrg/archive/v{{ version }}.tar.gz @@ -17,6 +19,7 @@ requirements: - {{ compiler('c') }} host: - htslib + - zlib run: - htslib @@ -28,3 +31,7 @@ about: home: https://github.com/holtgrewe/addrg license: MIT summary: Add read group to BAM files + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/aeon/build_failure.linux-64.yaml b/recipes/aeon/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..830a04e4a8cb9 --- /dev/null +++ b/recipes/aeon/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: dfeed5064ab9748c57253601b824cac73eb1a01b20d412c62beb284c5bd4bd1d # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + Found CPython 3.12 at /opt/conda/conda-bld/aeon_1717533516251/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/bin/python + Compiling libc v0.2.155 + Compiling cfg-if v1.0.0 + Compiling autocfg v1.3.0 + Compiling pyo3-build-config v0.15.2 + Compiling proc-macro2 v1.0.85 + Compiling once_cell v1.19.0 + Compiling getrandom v0.1.16 + Compiling unicode-ident v1.0.12 + Compiling crossbeam-utils v0.8.20 + Compiling syn v1.0.109 + Compiling proc-macro-hack v0.5.20deprecated + Compiling quote v1.0.36 + Compiling rand_core v0.5.1 + Compiling ppv-lite86 v0.2.17 + Compiling memchr v2.7.2 + Compiling rand_chacha v0.2.2 + Compiling crossbeam-epoch v0.9.18 + Compiling aho-corasick v1.1.3 + Compiling lock_api v0.4.12 + Compiling num-traits v0.2.19 + Compiling rayon-core v1.12.1 + Compiling serde v1.0.203 + Compiling parking_lot_core v0.8.6 + Compiling regex-syntax v0.8.3 + Compiling byteorder v1.5.0 + Compiling fxhash v0.2.1 + Compiling crossbeam-deque v0.8.5 + Compiling rand v0.7.3 + Compiling pyo3 v0.15.2 + Compiling regex-automata v0.4.6 + Compiling instant v0.1.13 + Compiling smallvec v1.13.2 + Compiling either v1.12.0 + Compiling xmlparser v0.13.6 + Compiling scopeguard v1.2.0 + Compiling unindent v0.1.11 + Compiling serde_json v1.0.117 + Compiling unicode-width v0.1.13 + Compiling textwrap v0.11.0 + Compiling indoc-impl v0.3.6 + Compiling regex v1.10.4 + Compiling roxmltree v0.14.1 + Compiling biodivine-lib-bdd v0.3.0 + Compiling pyo3-macros-backend v0.15.2 + Compiling paste-impl v0.1.18 + Compiling atty v0.2.14 + Compiling vec_map v0.8.2 + Compiling iana-time-zone v0.1.60 + Compiling strsim v0.8.0 + Compiling lazy_static v1.4.0 + Compiling bitvector v0.1.5 + Compiling ryu v1.0.18 + Compiling bitflags v1.3.2 + Compiling itoa v1.0.11 + Compiling ansi_term v0.12.1 + Compiling clap v2.34.0 + Compiling biodivine-lib-param-bn v0.2.4 + Compiling pyo3-macros v0.15.2 + Compiling chrono v0.4.38 + Compiling paste v0.1.18 + Compiling rayon v1.10.0 + Compiling parking_lot v0.11.2 + Compiling indoc v0.3.6 + Compiling itertools v0.10.5 + Compiling biodivine-aeon-py v0.1.1 (/opt/conda/conda-bld/aeon_1717533516251/work) + error[E0425]: cannot find function, tuple struct or tuple variant PyUnicode_READY in module ffi + --> /opt/conda/conda-bld/aeon_1717533516251/_build_env/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pyo3-0.15.2/src/types/string.rs:232:30 + | + 232 | let ready = ffi::PyUnicode_READY(ptr); + | ^^^^^^^^^^^^^^^ help: a function with a similar name exists: PyUnicode_IS_READY + | + ::: /opt/conda/conda-bld/aeon_1717533516251/_build_env/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pyo3-0.15.2/src/ffi/cpython/unicodeobject.rs:224:1 + | + 224 | pub unsafe fn PyUnicode_IS_READY(op: *mut PyObject) -> c_uint { + | ------------------------------------------------------------- similarly named function PyUnicode_IS_READY defined here + + Compiling biodivine-pbn-control v0.1.1 + For more information about this error, try rustc --explain E0425. + error: could not compile pyo3 (lib) due to 1 previous error + warning: build failed, waiting for other jobs to finish... + maturin failed + Caused by: Failed to build a native library through cargo + Caused by: Cargo build finished with "exit status: 101": env -u CARGO PYO3_ENVIRONMENT_SIGNATURE="cpython-3.12-64bit" PYO3_PYTHON="/opt/conda/conda-bld/aeon_1717533516251/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/bin/python" PYTHON_SYS_EXECUTABLE="/opt/conda/conda-bld/aeon_1717533516251/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/bin/python" "cargo" "rustc" "--target" "x86_64-unknown-linux-gnu" "--message-format" "json-render-diagnostics" "--manifest-path" "/opt/conda/conda-bld/aeon_1717533516251/work/Cargo.toml" "--release" "--lib" "--crate-type" "cdylib" + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/aeon_1717533516251/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/aeon/build_failure.osx-64.yaml b/recipes/aeon/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..724ce21420e06 --- /dev/null +++ b/recipes/aeon/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: dfeed5064ab9748c57253601b824cac73eb1a01b20d412c62beb284c5bd4bd1d # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + Found pyo3 bindings + Found CPython 3.9 at /opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/bin/python + Compiling libc v0.2.155 + Compiling cfg-if v1.0.0 + Compiling autocfg v1.3.0 + Compiling proc-macro2 v1.0.85 + Compiling pyo3-build-config v0.15.2 + Compiling getrandom v0.1.16 + Compiling once_cell v1.19.0 + Compiling unicode-ident v1.0.12 + Compiling crossbeam-utils v0.8.20 + error: linking with x86_64-apple-darwin13.4.0-clang failed: exit status: 1 + | + = note: env -u IPHONEOS_DEPLOYMENT_TARGET -u TVOS_DEPLOYMENT_TARGET LC_ALL="C" PATH="/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/bin:/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/.cargo/bin:/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/bin:/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/bin:/opt/mambaforge/envs/bioconda/condabin:/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/bin:/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/bin:/opt/mambaforge/envs/bioconda/bin:/opt/mambaforge/condabin:/opt/mambaforge/bin:/usr/local/lib/ruby/gems/3.0.0/bin:/usr/local/opt/ruby@3.0/bin:/usr/local/opt/pipx_bin:/Users/runner/.cargo/bin:/usr/local/opt/curl/bin:/usr/local/bin:/usr/local/sbin:/Users/runner/bin:/Users/runner/.yarn/bin:/Users/runner/Library/Android/sdk/tools:/Users/runner/Library/Android/sdk/platform-tools:/Library/Frameworks/Python.framework/Versions/Current/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/usr/bin:/bin:/usr/sbin:/sbin:/Users/runner/.dotnet/tools" VSLANG="1033" ZERO_AR_DATE="1" "x86_64-apple-darwin13.4.0-clang" "-arch" "x86_64" "-m64" "/tmp/rustc4zgcsk/symbols.o" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/work/target/release/build/pyo3-build-config-979e454305b88f48/build_script_build-979e454305b88f48.build_script_build.95bd73c6bf16db0e-cgu.0.rcgu.o" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/work/target/release/build/pyo3-build-config-979e454305b88f48/build_script_build-979e454305b88f48.build_script_build.95bd73c6bf16db0e-cgu.1.rcgu.o" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/work/target/release/build/pyo3-build-config-979e454305b88f48/build_script_build-979e454305b88f48.build_script_build.95bd73c6bf16db0e-cgu.2.rcgu.o" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/work/target/release/build/pyo3-build-config-979e454305b88f48/build_script_build-979e454305b88f48.build_script_build.95bd73c6bf16db0e-cgu.3.rcgu.o" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/work/target/release/build/pyo3-build-config-979e454305b88f48/build_script_build-979e454305b88f48.build_script_build.95bd73c6bf16db0e-cgu.4.rcgu.o" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/work/target/release/build/pyo3-build-config-979e454305b88f48/build_script_build-979e454305b88f48.build_script_build.95bd73c6bf16db0e-cgu.5.rcgu.o" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/work/target/release/build/pyo3-build-config-979e454305b88f48/build_script_build-979e454305b88f48.build_script_build.95bd73c6bf16db0e-cgu.6.rcgu.o" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/work/target/release/build/pyo3-build-config-979e454305b88f48/build_script_build-979e454305b88f48.build_script_build.95bd73c6bf16db0e-cgu.7.rcgu.o" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/work/target/release/build/pyo3-build-config-979e454305b88f48/build_script_build-979e454305b88f48.build_script_build.95bd73c6bf16db0e-cgu.8.rcgu.o" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/work/target/release/build/pyo3-build-config-979e454305b88f48/build_script_build-979e454305b88f48.59qjv5l2tb2eieks.rcgu.o" "-L" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/work/target/release/deps" "-L" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libstd-2ad7f97be9e16ca5.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libpanic_unwind-8ce93eee8bf4c86e.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libobject-0e1339b212cc7409.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libmemchr-925e672b3deb429c.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libaddr2line-e92d517a950bccd8.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libgimli-de95e5c2a2ace281.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/librustc_demangle-37f4c48e230f618e.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libstd_detect-dfeb4bb0652b6b8e.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libhashbrown-0e3ea0ec18336be2.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_alloc-39dd3003e36d7872.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libminiz_oxide-5ea1513e08ee15e0.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libadler-2967159221f4860d.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libunwind-b70656709e3eca11.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcfg_if-cc5626b2e0399737.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/liblibc-8378684dba6ab463.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/liballoc-0ff05b9b25b786cc.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_core-9a6da74aeab39c54.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcore-1638dc700d175798.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-7f42af62722c8f43.rlib" "-lSystem" "-lc" "-lm" "-L" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib" "-o" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/work/target/release/build/pyo3-build-config-979e454305b88f48/build_script_build-979e454305b88f48" "-Wl,-dead_strip" "-nodefaultlibs" + = note: ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libstd-2ad7f97be9e16ca5.rlib(std-2ad7f97be9e16ca5.std.73125d0ae810e61b-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcore-1638dc700d175798.rlib(core-1638dc700d175798.core.b1c2fc210f4dfff9-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/liballoc-0ff05b9b25b786cc.rlib(alloc-0ff05b9b25b786cc.alloc.9242d371e396bc4c-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libhashbrown-0e3ea0ec18336be2.rlib(hashbrown-0e3ea0ec18336be2.hashbrown.febebf65344cb99d-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/librustc_demangle-37f4c48e230f618e.rlib(rustc_demangle-37f4c48e230f618e.rustc_demangle.9fdffeb2b56169d1-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libgimli-de95e5c2a2ace281.rlib(gimli-de95e5c2a2ace281.gimli.72653df79598dcb2-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libobject-0e1339b212cc7409.rlib(object-0e1339b212cc7409.object.e3756fe3fb577255-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libmemchr-925e672b3deb429c.rlib(memchr-925e672b3deb429c.memchr.4dc4a05d80618598-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libaddr2line-e92d517a950bccd8.rlib(addr2line-e92d517a950bccd8.addr2line.7eb29e6a0a38fefd-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libpanic_unwind-8ce93eee8bf4c86e.rlib(panic_unwind-8ce93eee8bf4c86e.panic_unwind.a3b8ea81b157ee45-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-7f42af62722c8f43.rlib(compiler_builtins-7f42af62722c8f43.compiler_builtins.19fed66cffb9e9f5-cgu.089.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + Undefined symbols for architecture x86_64: + "_getentropy", referenced from: + std::sys::pal::unix::rand::hashmap_random_keys::hcc27ed0e9fd421d6 in libstd-2ad7f97be9e16ca5.rlib(std-2ad7f97be9e16ca5.std.73125d0ae810e61b-cgu.0.rcgu.o) + ld: symbol(s) not found for architecture x86_64 + clang-16: error: linker command failed with exit code 1 (use -v to see invocation) + + + error: could not compile pyo3-build-config (build script) due to 1 previous error + warning: build failed, waiting for other jobs to finish... + maturin failed + Caused by: Failed to build a native library through cargo + Caused by: Cargo build finished with "exit status: 101": env -u CARGO PYO3_ENVIRONMENT_SIGNATURE="cpython-3.9-64bit" PYO3_PYTHON="/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/bin/python" PYTHON_SYS_EXECUTABLE="/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/bin/python" "cargo" "rustc" "--target" "x86_64-apple-darwin" "--message-format" "json-render-diagnostics" "--manifest-path" "/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/work/Cargo.toml" "--release" "--lib" "--crate-type" "cdylib" "--" "-C" "link-arg=-undefined" "-C" "link-arg=dynamic_lookup" "-C" "link-args=-Wl,-install_name,@rpath/biodivine_aeon.cpython-39-darwin.so" + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/work + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/aeon-0.1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/aeon_1717514422222/work/conda_build.sh']' returned non-zero exit status 1. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/aeon-0.1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 +# Last 100 lines of the build log. diff --git a/recipes/aeon/meta.yaml b/recipes/aeon/meta.yaml index 97cc86b5bd9c5..d0944c4c69bdb 100644 --- a/recipes/aeon/meta.yaml +++ b/recipes/aeon/meta.yaml @@ -11,7 +11,7 @@ source: build: skip: true # [py < 39] - number: 2 + number: 3 requirements: build: diff --git a/recipes/afpdb/meta.yaml b/recipes/afpdb/meta.yaml new file mode 100644 index 0000000000000..0bfcfd3e0e7e6 --- /dev/null +++ b/recipes/afpdb/meta.yaml @@ -0,0 +1,61 @@ +{% set name = "afpdb" %} +{% set version = "0.2.2" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: fbdc60785aba0177a3766f952df8bc848aa03adcc0693506cc9f1f3601449e98 + +build: + number: 0 + noarch: python + script: "{{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation" + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} + +requirements: + host: + - biopython + - dm-tree + - numpy + - pandas + - pip + - py3dmol + - python + - requests + - scipy + - tabulate + run: + - biopython + - dm-tree + - numpy + - pandas + - py3dmol + - python + - requests + - scipy + - tabulate + +test: + imports: + - afpdb + - afpdb.myalphafold + - afpdb.myalphafold.common + - afpdb.mycolabdesign + - afpdb.mycolabfold + +about: + home: "https://github.com/data2code/afpdb" + license: MIT + license_family: MIT + license_file: + summary: "A Numpy-based PDB structure manipulation package" + doc_url: "https://github.com/data2code/afpdb/blob/main/tutorial" + dev_url: + +extra: + recipe-maintainers: + - data2code diff --git a/recipes/agat/meta.yaml b/recipes/agat/meta.yaml index 99c23db5c7482..758b5d692e261 100755 --- a/recipes/agat/meta.yaml +++ b/recipes/agat/meta.yaml @@ -1,6 +1,6 @@ {% set name = "AGAT" %} -{% set version = "1.2.0" %} -{% set sha256 = "c812e4b4ca1d27b5b8804025fa5a33f56e9b542948b44885662b2cbb98d06055" %} +{% set version = "1.4.1" %} +{% set sha256 = "28dcdbcaac90164fbb75afdc41d34e3c997fbf0f46b0633e0ac653b3c6d2e409" %} package: name: "{{ name|lower }}" @@ -13,6 +13,8 @@ source: build: noarch: generic number: 0 + run_exports: + - {{ pin_subpackage("agat", max_pin="x") }} requirements: host: diff --git a/recipes/agc/meta.yaml b/recipes/agc/meta.yaml index ad87d0fd1beb9..12d3d1e796fbf 100644 --- a/recipes/agc/meta.yaml +++ b/recipes/agc/meta.yaml @@ -1,20 +1,26 @@ -{% set version = "3.0" %} -{% set system = "linux"%} # [linux] -{% set system = "mac"%} # [osx] -{% set sha256 = "3ee3245e556221d246f9afe5d9ad86888f4eb5aea6b10f621241c3170ef8835e" %} # [linux] -{% set sha256 = "3d68b6b76948b6d9a36c4e848e37969eda6ae0ec1abace4ca61a7cc585dcdabf" %} # [osx] +{% set version = "3.1" %} + package: name: agc version: {{ version }} + build: - number: 0 + number: 1 script: "mkdir -p ${PREFIX}/bin; cp agc ${PREFIX}/bin" + run_exports: + - {{ pin_subpackage('agc', max_pin="x") }} source: - url: https://github.com/refresh-bio/agc/releases/download/v{{ version }}/agc-{{ version }}_x64-{{ system }}.tar.gz - sha256: {{ sha256 }} + - url: https://github.com/refresh-bio/agc/releases/download/v{{ version }}/agc-{{ version }}_arm_linux.tar.gz # [aarch64] + sha256: 5fee3ccbb2691d82a877987e204c5946dbdbe40b9603af5d2421cb8506577534 # [aarch64] + - url: https://github.com/refresh-bio/agc/releases/download/v{{ version }}/agc-{{ version }}_x64_linux.tar.gz # [linux64] + sha256: 4868dd45c1ed31a7f36bcbc536174249de27b87ec83858d22b128cbec8deef53 # [linux64] + - url: https://github.com/refresh-bio/agc/releases/download/v{{ version }}/agc-{{ version }}_x64_mac.tar.gz # [osx and x86_64] + sha256: 0ef911e6bb8df791593ee6e89b5bddbf82b5823684955d249d6a67a39e6d0d4e # [osx and x86_64] + - url: https://github.com/refresh-bio/agc/releases/download/v{{ version }}/agc-{{ version }}_m1_mac.tar.gz # [osx and arm64] + sha256: ff8cc5dd4c5825a41e042567a93e9e01ef43fc91624c983640a29fd3c7ac03e4 # [osx and arm64] requirements: build: - run: + run: about: home: https://github.com/refresh-bio/agc summary: "Assembled Genomes Compressor (AGC) is a tool designed to compress collections of de-novo assembled genomes. It can be used for various types of datasets: short genomes (viruses) as well as long (humans)." @@ -23,6 +29,8 @@ test: commands: - agc extra: + additional-platforms: + - linux-aarch64 skip-lints: - should_be_noarch_generic - should_not_be_noarch_source diff --git a/recipes/age-metasv/meta.yaml b/recipes/age-metasv/meta.yaml index 2eefecbaee314..212bb76c1a0d5 100644 --- a/recipes/age-metasv/meta.yaml +++ b/recipes/age-metasv/meta.yaml @@ -10,7 +10,9 @@ source: build: skip: True # [osx] - number: 7 + number: 8 + run_exports: + - {{ pin_subpackage("age-metasv", max_pin="x.x.x") }} requirements: build: @@ -18,6 +20,7 @@ requirements: - {{ compiler('cxx') }} - llvm-openmp # [osx] - libgomp # [linux] + - libstdcxx-ng >=12 host: run: @@ -29,3 +32,7 @@ about: home: https://github.com/marghoob/AGE/tree/simple-parseable-output license: CCPL (Creative Commons Public License) summary: optimal alignment of sequences with structural variants (SVs), modifiied for MetaSV integration + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/agfusion/meta.yaml b/recipes/agfusion/meta.yaml index 8aa1ba254810a..e75269053c624 100644 --- a/recipes/agfusion/meta.yaml +++ b/recipes/agfusion/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "1.4.1" %} -{% set sha256 = "fd04591d764deeff69978f9d495c3baf854ccfba27366aa0ae4859ad85ca2c60" %} +{% set version = "1.4.3" %} +{% set sha256 = "0fdace7fad64713173cac049af3783bdb3db406d5a6dafd4cc0c1948d0724c8f" %} package: name: agfusion diff --git a/recipes/airr/meta.yaml b/recipes/airr/meta.yaml index 88f53a150f668..8ec7ed4c252b5 100644 --- a/recipes/airr/meta.yaml +++ b/recipes/airr/meta.yaml @@ -1,5 +1,5 @@ {% set name = "airr" %} -{% set version = "1.5.0" %} +{% set version = "1.5.1" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: febc0a881bf46b1a9c29ac6a7089dd733ff9120d114585e75dede26403f68d42 + sha256: 71f89eaf0c2fb4fe038a6e8aad9c58e1712cb06b92021e73d97d08c59b7b7149 build: number: 0 diff --git a/recipes/akt/build.sh b/recipes/akt/build.sh index 54a4de419bbc8..4eca9aec4baa4 100644 --- a/recipes/akt/build.sh +++ b/recipes/akt/build.sh @@ -1,4 +1,8 @@ #!/bin/bash +if [ `uname -m` == "aarch64" ]; then +sed -i 's/\-mpopcnt//g' Makefile +fi + make \ CC="${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" \ CXX="${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}" diff --git a/recipes/akt/meta.yaml b/recipes/akt/meta.yaml index 166419b343c28..fe1cfb1e46ba5 100644 --- a/recipes/akt/meta.yaml +++ b/recipes/akt/meta.yaml @@ -10,7 +10,9 @@ source: sha256: {{ sha256 }} build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage("akt", max_pin="x.x.x") }} requirements: build: @@ -38,3 +40,5 @@ about: extra: identifiers: - doi:10.1093/bioinformatics/btw576 + additional-platforms: + - linux-aarch64 diff --git a/recipes/albatradis/build_failure.linux-64.yaml b/recipes/albatradis/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..5150cbe3a5d33 --- /dev/null +++ b/recipes/albatradis/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 552f7658d1e7f7363048ca3bc7baa1aef9603b44381ce30fe781352a08dfb035 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + DEBUG_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/albatradis-1.0.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem $PREFIX/include + GCC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc + GCC_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar + GCC_NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-nm + GCC_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib + HOST=x86_64-conda-linux-gnu + LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_cos6_linux_gnu + build_alias=x86_64-conda-linux-gnu + host_alias=x86_64-conda-linux-gnu + -BUILD=x86_64-conda_cos6-linux-gnu + -CONDA_BUILD_SYSROOT= + Processing $SRC_DIR + Preparing metadata (setup.py): started + Preparing metadata (setup.py): finished with status 'done' + Building wheels for collected packages: albatradis + Building wheel for albatradis (setup.py): started + Building wheel for albatradis (setup.py): finished with status 'error' + [1;31merror[0m: [1msubprocess-exited-with-error[0m + + [31m[0m [32mpython setup.py bdist_wheel[0m did not run successfully. + [31m[0m exit code: [1;36m1[0m + [31m>[0m [31m[52 lines of output][0m + [31m [0m running bdist_wheel + [31m [0m running build + [31m [0m running build_py + [31m [0m creating build + [31m [0m creating build/lib.linux-x86_64-cpython-311 + [31m [0m creating build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/ScatterPlot.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/AlbaTraDISScatterPlot.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/PrepareEMBLFile.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/PresenceAbsence.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/ArtemisProject.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/EMBLReader.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/AlbaTraDIS.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/__init__.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/Block.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/PlotLog.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/AlbaTraDISPresenceAbsence.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/EMBLGenerator.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/GeneReportSets.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/BlockInsertions.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/PlotGenerator.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/TradisComparison.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/PlotParser.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/ReorderGenes.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/EMBLSequence.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/PlotMasking.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/GeneToFiles.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/Gene.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/TradisGeneInsertSites.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/BlockIdentifier.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/NormalisePlots.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/ExperimentCollection.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/Window.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/TradisEssentiality.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/AlbaTraDISGeneReports.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/HeatMap.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/PrepareInputFiles.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/WindowGenerator.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/ExperimentMetaData.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/GeneAnnotator.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/EMBLExpandGenes.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/AlbaTraDISArtemisProject.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m copying albatradis/GeneReport.py -> build/lib.linux-x86_64-cpython-311/albatradis + [31m [0m running build_ext + [31m [0m building 'file_manipulation' extension + [31m [0m creating build/temp.linux-x86_64-cpython-311 + [31m [0m /opt/conda/conda-bld/albatradis_1718141920385/_build_env/bin/x86_64-conda-linux-gnu-cc -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/conda/conda-bld/albatradis_1718141920385/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include -fPIC -O2 -isystem /opt/conda/conda-bld/albatradis_1718141920385/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /opt/conda/conda-bld/albatradis_1718141920385/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include -fdebug-prefix-map=/opt/conda/conda-bld/albatradis_1718141920385/work=/usr/local/src/conda/albatradis-1.0.4 -fdebug-prefix-map=/opt/conda/conda-bld/albatradis_1718141920385/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl=/usr/local/src/conda-prefix -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /opt/conda/conda-bld/albatradis_1718141920385/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include -fPIC -I/opt/conda/conda-bld/albatradis_1718141920385/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include/python3.11 -c file_manipulation.c -o build/temp.linux-x86_64-cpython-311/file_manipulation.o + [31m [0m file_manipulation.c:181:12: fatal error: longintrepr.h: No such file or directory + [31m [0m 181 | #include "longintrepr.h" + [31m [0m | ^~~~~~~~~~~~~~~ + [31m [0m compilation terminated. + [31m [0m error: command '/opt/conda/conda-bld/albatradis_1718141920385/_build_env/bin/x86_64-conda-linux-gnu-cc' failed with exit code 1 + [31m [0m [31m[end of output][0m + + [1;35mnote[0m: This error originates from a subprocess, and is likely not a problem with pip. + [31m ERROR: Failed building wheel for albatradis[0m[31m + [0m Running setup.py clean for albatradis + Failed to build albatradis + [31mERROR: Could not build wheels for albatradis, which is required to install pyproject.toml-based projects[0m[31m + [0mTraceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/albatradis_1718141920385/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/albatradis/meta.yaml b/recipes/albatradis/meta.yaml index fc41b02916ca5..6ba372cf8523a 100644 --- a/recipes/albatradis/meta.yaml +++ b/recipes/albatradis/meta.yaml @@ -9,7 +9,7 @@ source: sha256: b637ed73b810e610b9da8eb8a9f7289b2e1b53f297bd4071dac9b8995d097a39 build: - number: 4 + number: 5 skip: True # [py<30 or osx] script: python -m pip install --ignore-installed . diff --git a/recipes/alcor/meta.yaml b/recipes/alcor/meta.yaml index 538f6076de517..5a5432b3db1a5 100644 --- a/recipes/alcor/meta.yaml +++ b/recipes/alcor/meta.yaml @@ -10,7 +10,9 @@ package: build: # Passes some invalid flags for clang skip: True # [osx] - number: 2 + number: 4 + run_exports: + - {{ pin_subpackage("alcor", max_pin="x.x") }} source: url: https://github.com/cobilab/alcor/archive/v{{ version }}.tar.gz @@ -37,3 +39,7 @@ about: license_file: LICENSE license_family: GPL summary: Software for alignment-free simulation, mapping, and visualization of low-complexity regions in FASTA data. + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/alen/build.sh b/recipes/alen/build.sh new file mode 100644 index 0000000000000..c805061187cf0 --- /dev/null +++ b/recipes/alen/build.sh @@ -0,0 +1,6 @@ +#!/bin/bash -euo + +set -xe + +# build statically linked binary with Rust +RUST_BACKTRACE=1 cargo install --verbose --root $PREFIX --path . \ No newline at end of file diff --git a/recipes/alen/meta.yaml b/recipes/alen/meta.yaml new file mode 100644 index 0000000000000..a1fe8cc4ff58f --- /dev/null +++ b/recipes/alen/meta.yaml @@ -0,0 +1,35 @@ +{% set version = "0.3.1" %} + +package: + name: alen + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage("alen", max_pin="x.x") }} + +source: + url: https://github.com/jakobnissen/alen/archive/v{{ version }}.tar.gz + sha256: 30c55c0be3396647286ebfca8c46f88e5d7087482e19fb2e64404f87bad8a523 + +requirements: + build: + - {{ compiler('rust') }} + host: + run: + +test: + commands: + - alen --help + +about: + home: https://github.com/jakobnissen/alen + license: MIT + license_file: LICENSE + summary: Simple terminal sequence alignment viewer + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/aletsch/build.sh b/recipes/aletsch/build.sh index 7a0d70011ef7a..b74dbe117a440 100644 --- a/recipes/aletsch/build.sh +++ b/recipes/aletsch/build.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -xe + ./configure --prefix=$PREFIX -make LIBS+=-lhts +make -j ${CPU_COUNT} LIBS+=-lhts make install diff --git a/recipes/aletsch/meta.yaml b/recipes/aletsch/meta.yaml index d456e3db645dd..d877735467abd 100644 --- a/recipes/aletsch/meta.yaml +++ b/recipes/aletsch/meta.yaml @@ -1,5 +1,5 @@ {% set name = "aletsch" %} -{% set version = "1.0.3" %} +{% set version = "1.1.2" %} package: name: "{{ name }}" @@ -7,10 +7,12 @@ package: source: url: "https://github.com/Shao-Group/aletsch/releases/download/v{{ version }}/aletsch-{{ version }}.tar.gz" - sha256: "1eae28ae32f40097320ef14c8dd65e30319cae5f1cb11533905b4330b5b76478" + sha256: "b081cfcbd2f232dcddab4f9c6ce11f15f41e4319e1f977dd955cca240748d4b5" build: - number: 6 + number: 1 + run_exports: + - {{ pin_subpackage('aletsch', max_pin="x") }} requirements: build: @@ -32,8 +34,11 @@ about: home: "https://github.com/Shao-Group/aletsch" license: BSD-3-Clause license_file: LICENSE - summary: "Aletsch is a scalable, accurate, and versatile assembler for multiple RNA-seq samples." + summary: "Aletsch is an accurate, versatile assembler for multiple RNA-seq samples." extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - shaomingfu diff --git a/recipes/alevin-fry/build.sh b/recipes/alevin-fry/build.sh index be24ecc64d3c6..716bef9e20efb 100644 --- a/recipes/alevin-fry/build.sh +++ b/recipes/alevin-fry/build.sh @@ -6,5 +6,8 @@ export CXXFLAGS="${CFLAGS} -fcommon" # We set CARGO_HOME because we don't pass on HOME to conda-build, thus rendering the default "${HOME}/.cargo" defunct. export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="$(pwd)/.cargo" +# get the version of libradicl on which we will be depending +LIBRAD_VER=`grep 'libradicl' Cargo.toml | grep -oh 'version = "[^\"]\+"' | grep -oh '"[^\"]\+"'` + # build statically linked binary with Rust -RUST_BACKTRACE=1 cargo install --verbose --root $PREFIX --path . +RUST_BACKTRACE=1 cargo install --config 'patch."https://github.com/COMBINE-lab/libradicl".libradicl='$LIBRAD_VER'' --verbose --root $PREFIX --path . diff --git a/recipes/alevin-fry/meta.yaml b/recipes/alevin-fry/meta.yaml index 2b773c2e1497a..84b77ef7c5a42 100644 --- a/recipes/alevin-fry/meta.yaml +++ b/recipes/alevin-fry/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.8.2" %} +{% set version = "0.10.0" %} package: name: alevin-fry @@ -6,14 +6,18 @@ package: build: number: 0 - + run_exports: + - {{ pin_subpackage("alevin-fry", max_pin="x.x") }} + source: - url: https://github.com/COMBINE-lab/alevin-fry/archive/v{{ version }}.tar.gz - sha256: 7feaa5b59c6537eee9d1a2a07797f151ba6a50955a969fa1807dcb7aeb357ab1 + url: https://github.com/COMBINE-lab/alevin-fry/releases/download/v{{ version }}/source.tar.gz + sha256: de525914fb7dac2cdb6f3b3f941ff65d32eeec719956f0108100c8a174f15bf8 + #patches: + # - use-libradicl-0.8.2.patch requirements: build: - - rust >=1.60 + - {{ compiler('rust') }} - cmake - autoconf - make @@ -31,3 +35,8 @@ about: license: BSD 3-Clause license_file: LICENSE summary: alevin-fry is a tool for the efficient processing of single-cell data based on RAD files produced by alevin + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm diff --git a/recipes/alevin-fry/use-libradicl-0.8.2.patch b/recipes/alevin-fry/use-libradicl-0.8.2.patch new file mode 100644 index 0000000000000..f74047259d5ec --- /dev/null +++ b/recipes/alevin-fry/use-libradicl-0.8.2.patch @@ -0,0 +1,13 @@ +diff --git i/Cargo.toml w/Cargo.toml +index eeefa95..e8a7b28 100644 +--- i/Cargo.toml ++++ w/Cargo.toml +@@ -35,7 +35,7 @@ categories = ["command-line-utilities", "science"] + [dependencies] + # for local development, look in the libradicl git repository + # but when published, pull the specified version +-libradicl = { git = "https://github.com/COMBINE-lab/libradicl", branch = "develop", version = "0.8.2" } ++libradicl = "0.8.2" + anyhow = "1.0.80" + arrayvec = "0.7.4" + ahash = "0.8.11" diff --git a/recipes/alfred/build.sh b/recipes/alfred/build.sh index dc2400afabae2..89d206cac27f5 100644 --- a/recipes/alfred/build.sh +++ b/recipes/alfred/build.sh @@ -1,3 +1,3 @@ #!/bin/sh -CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS" make CXX="${CXX}" prefix="${PREFIX}" install +CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS" make -j${CPU_COUNT} CXX="${CXX}" prefix="${PREFIX}" install diff --git a/recipes/alfred/build_failure.osx-64.yaml b/recipes/alfred/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..6087a3ba4fc99 --- /dev/null +++ b/recipes/alfred/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: d46af4deecffe4a1440fa36938c99ce9ef54cdde43c41212907669264297e79e # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + /opt/mambaforge/envs/bioconda/conda-bld/alfred_1717637017535/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/htslib/sam.h:1160:41: note: expanded from macro 'bam_index_build' + #define bam_index_build(fn, min_shift) (sam_index_build((fn), (min_shift))) + ^~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~ + src/split.h:454:12: note: in instantiation of function template specialization 'bamstats::phaseBamRun' requested here + return phaseBamRun(c); + ^ + src/split.h:319:7: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result] + bam_index_build(c.h2bam.string().c_str(), 0); + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + /opt/mambaforge/envs/bioconda/conda-bld/alfred_1717637017535/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/htslib/sam.h:1160:41: note: expanded from macro 'bam_index_build' + #define bam_index_build(fn, min_shift) (sam_index_build((fn), (min_shift))) + ^~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~ + In file included from src/alfred.cpp:28: + In file included from src/bamstats.h:20: + src/json.h:31:24: warning: equality comparison result unused [-Wunused-comparison] + meta["regionFile"] == c.regionFile.string(); + ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ + src/bamstats.h:581:23: note: in instantiation of function template specialization 'bamstats::qcJsonOut>' requested here + if (c.hasJsonOut) qcJsonOut(c, hdr, rgMap, be, rf); + ^ + src/qc.h:269:10: note: in instantiation of function template specialization 'bamstats::bamStatsRun' requested here + return bamStatsRun(c); + ^ + src/json.h:31:24: note: use '=' to turn this equality comparison into an assignment + meta["regionFile"] == c.regionFile.string(); + ^~ + = + 9 warnings and 1 error generated. + make: *** [Makefile:54: src/alfred] Error 1 + Extracting download + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/alfred_1717637017535/work + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/alfred_1717637017535/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/alfred_1717637017535/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/alfred_1717637017535/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/alfred-0.3.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/alfred_1717637017535/work/conda_build.sh']' returned non-zero exit status 2. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/alfred-0.3.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/alfred-0.3.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/alfred-0.3.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + if [ -r src/htslib/Makefile ]; then cd src/htslib && autoreconf -i && ./configure --disable-s3 --disable-gcs --disable-libcurl --disable-plugins && make && make lib-static && cd ../../ && touch .htslib; fi + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/alfred-0.3.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D__STDC_FORMAT_MACROS -std=c11 -isystem $SRC_DIR/src/jlib/ -isystem $SRC_DIR/src/htslib/ -pedantic -W -Wall -O3 -fno-tree-vectorize -DNDEBUG src/alfred.cpp src/edlib.cpp -o src/alfred -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$SRC_DIR/src/htslib/ -lboost_iostreams -lboost_filesystem -lboost_system -lboost_program_options -lboost_date_time -lhts -lz -llzma -lbz2 -Wl,-rpath,$SRC_DIR/src/htslib/ +# Last 100 lines of the build log. diff --git a/recipes/alfred/meta.yaml b/recipes/alfred/meta.yaml index a1d0b9d8a4038..d7ea18f44fdf3 100644 --- a/recipes/alfred/meta.yaml +++ b/recipes/alfred/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.2.8" %} -{% set sha256 = "5d2583249728184aedd0165e936496a02833221c44eec2243f20ea315fa525e9" %} +{% set version = "0.3.2" %} +{% set sha256 = "506967a9588ee51911fb4ddd6d2d3274bff0140004b2473de32728de76567d05" %} package: name: alfred @@ -41,3 +41,7 @@ about: license_family: BSD license_file: LICENSE summary: BAM alignment statistics, feature counting and feature annotation + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/alignlib-lite/meta.yaml b/recipes/alignlib-lite/meta.yaml index d85eb841c9a05..989202d6153e4 100644 --- a/recipes/alignlib-lite/meta.yaml +++ b/recipes/alignlib-lite/meta.yaml @@ -10,9 +10,10 @@ source: sha256: {{ sha256 }} build: - number: 6 - skip: True # [py2k] + number: 8 script: python -m pip install --no-deps --ignore-installed . + run_exports: + - {{ pin_subpackage("alignlib-lite", max_pin="x.x") }} requirements: build: @@ -21,16 +22,22 @@ requirements: host: - python - pip - - cython + - cython <1 - boost-cpp run: - python test: imports: - - alignlib_lite + - alignlib_lite # [not aarch64] about: - home: http://sourceforge.net/projects/alignlib/ + home: https://github.com/AndreasHeger/alignlib license: GPL-2.0-or-later + license_family: GPL summary: "Simple wrapper around alignlib C++ library for sequence alignment" + dev_url: https://github.com/AndreasHeger/alignlib + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/alignoth/meta.yaml b/recipes/alignoth/meta.yaml index 20b848d111860..cc6001b85a7db 100644 --- a/recipes/alignoth/meta.yaml +++ b/recipes/alignoth/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.11.0" %} +{% set version = "0.13.0" %} package: name: alignoth @@ -13,8 +13,8 @@ build: - {{ pin_subpackage('alignoth', max_pin="x") }} source: - url: https://github.com/koesterlab/alignoth/archive/v{{ version }}.tar.gz - sha256: b7df1ee950b274c8f1fdfe75b806f47b23a0a9bd8bf2db7b6b762f84a6295f91 + url: https://github.com/alignoth/alignoth/archive/v{{ version }}.tar.gz + sha256: a955e762d3593ac572424dbe775f1c554bb5ab10f391fb643c7d613cca416cc4 requirements: build: @@ -30,12 +30,13 @@ requirements: - libcurl - openssl + test: commands: - alignoth --help about: - home: https://github.com/koesterlab/alignoth + home: https://alignoth.github.io license: MIT summary: A tool for creating alignment plots from bam files @@ -43,3 +44,5 @@ extra: recipe-maintainers: - fxwiegand - johanneskoester + additional-platforms: #add aarch64 + - linux-aarch64 diff --git a/recipes/alignstats/meta.yaml b/recipes/alignstats/meta.yaml index 009b1ec52d685..645cec41b08ca 100644 --- a/recipes/alignstats/meta.yaml +++ b/recipes/alignstats/meta.yaml @@ -10,7 +10,9 @@ source: sha256: {{ sha256 }} build: - number: 1 + number: 2 + run_exports: + - {{ pin_subpackage("alignstats", max_pin="x.x.x") }} requirements: build: @@ -33,3 +35,7 @@ about: home: https://github.com/jfarek/alignstats license: BSD-3-Clause summary: Comprehensive alignment, whole-genome coverage, and capture coverage statistics. + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/allegro/build.sh b/recipes/allegro/build.sh index f8dc625177f65..193897e45693d 100644 --- a/recipes/allegro/build.sh +++ b/recipes/allegro/build.sh @@ -1,4 +1,8 @@ #!/bin/bash +rm -rf src/config.guess +rm -rf src/config.sub +wget "http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD" -O src/config.guess +wget "http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD" -O src/config.sub ./configure make CXXFLAGS="${CXXFLAGS} -std=c++03" diff --git a/recipes/allegro/meta.yaml b/recipes/allegro/meta.yaml index 72183ae9d3512..8a98f890cce1a 100644 --- a/recipes/allegro/meta.yaml +++ b/recipes/allegro/meta.yaml @@ -18,7 +18,9 @@ source: build: skip: True # [osx] - number: 7 + number: 8 + run_exports: + - {{ pin_subpackage("allegro", max_pin="x.x.x") }} requirements: build: @@ -27,6 +29,7 @@ requirements: host: - zlib - patch + - wget run: - zlib @@ -43,3 +46,5 @@ about: extra: skip-lints: - should_not_be_noarch_source + additional-platforms: + - linux-aarch64 diff --git a/recipes/allo/meta.yaml b/recipes/allo/meta.yaml index 22ff8c5d8ce4e..5b5ad70173d76 100644 --- a/recipes/allo/meta.yaml +++ b/recipes/allo/meta.yaml @@ -1,29 +1,30 @@ -{% set version = "1.0.5" %} +{% set name = "allo" %} +{% set version = "1.2.0" %} package: - name: allo + name: {{ name }} version: {{ version }} source: - url: https://files.pythonhosted.org/packages/45/65/e52455e8c4edb3bf93cb2b429f22ea36f54f2e6e21fe2789967d08cc390e/bio-allo-1.0.5.tar.gz - sha256: 0834fce916e3523af3e06c4c713f549c89cb846e08e3b74fe75cef4ad53dea26 + url: https://pypi.io/packages/source/b/bio-{{ name }}/bio_allo-{{ version }}.tar.gz + sha256: d5ec3b33975743022447ac4cefb9f2b75d188b6f8ece0e8073b636ce6c969f3d build: run_exports: - {{ pin_subpackage('allo', max_pin="x") }} number: 0 noarch: python - script: {{ PYTHON }} -m pip install . -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv requirements: host: - pip - - python >=3.8 + - python >=3.10 run: - - python >=3.8 + - python >=3.10 - numpy - joblib - - tensorflow >=2.11 + - tensorflow >=2.17 - pysam test: @@ -31,10 +32,12 @@ test: - allo --help about: - home: https://github.com/seqcode/allo + home: "https://github.com/seqcode/allo" license: MIT - license_file: LICENSE.txt + license_family: MIT + license_file: "LICENSE.txt" summary: "Multi-mapped read rescue strategy for gene regulatory analyses" + dev_url: "https://github.com/seqcode/allo" extra: recipe-maintainers: diff --git a/recipes/altair-mf/meta.yaml b/recipes/altair-mf/meta.yaml index 353e78b5929a8..0deed9c024b96 100644 --- a/recipes/altair-mf/meta.yaml +++ b/recipes/altair-mf/meta.yaml @@ -10,7 +10,9 @@ package: build: # Passes some invalid flags for clang skip: True # [osx] - number: 2 + number: 3 + run_exports: + - {{ pin_subpackage("altair-mf", max_pin="x.x.x") }} source: url: https://github.com/cobilab/altair/archive/v{{ version }}.tar.gz @@ -37,3 +39,7 @@ about: license_file: LICENSE license_family: GPL summary: Software for alignment-free and spatial-temporal analysis of multi-FASTA data + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/amdirt/meta.yaml b/recipes/amdirt/meta.yaml index 897c231a4e148..22f2028220053 100644 --- a/recipes/amdirt/meta.yaml +++ b/recipes/amdirt/meta.yaml @@ -1,5 +1,5 @@ {% set name = "amdirt" %} -{% set version = "1.4.6" %} +{% set version = "1.6.2" %} package: name: {{ name|lower }} @@ -7,14 +7,16 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/AMDirT-{{ version }}.tar.gz - sha256: dc099a28c68996ea7e8ca087856598e693fa5f780eec166ee9fcac8780b1f930 + sha256: 9e7ac732ac9faca5900b18c42d2fee9528081d97614f629ae81c7e1052aac46e build: entry_points: - AMDirT = AMDirT.cli:cli noarch: python - script: {{ PYTHON }} -m pip install . -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv number: 0 + run_exports: + - {{ pin_subpackage("amdirt", max_pin="x") }} requirements: host: @@ -24,29 +26,29 @@ requirements: - click - colorlog - jsonschema + - defusedxml - numpy - pandas - python >=3.9 - requests - rich - - streamlit >=1.21.0 - - streamlit-aggrid + - streamlit <=1.35.0 + - streamlit-aggrid <=0.3.5 - tabulate test: imports: - AMDirT - commands: - - pip check - - AMDirT --help - requires: - - pip + #commands: + #- AMDirT --help about: home: https://github.com/SPAAM-community/AMDirT summary: 'AMDirT: AncientMetagenomeDir Toolkit' license: GPL-3.0-or-later + license_family: GPL3 license_file: LICENSE + dev_url: https://github.com/SPAAM-community/AMDirT extra: recipe-maintainers: diff --git a/recipes/ampcombi/meta.yaml b/recipes/ampcombi/meta.yaml index 463325c2d636f..1bb7752d2c957 100644 --- a/recipes/ampcombi/meta.yaml +++ b/recipes/ampcombi/meta.yaml @@ -1,5 +1,5 @@ {% set name = "AMPcombi" %} -{% set version = "0.1.7" %} +{% set version = "0.2.2" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: a73ab40cc80670f403aa629d1c1d7318ce21cc952618fdc1eba0ef667fae3578 + sha256: da9a179851a8f2041d05ccd10dd45b58099e84059e2e66a9ee405d1913471b58 build: noarch: python @@ -15,24 +15,27 @@ build: entry_points: - ampcombi = ampcombi:main script: "{{ PYTHON }} -m pip install . -vv" + run_exports: + - {{ pin_subpackage("ampcombi", max_pin="x.x") }} requirements: host: - pandas - pip - - python >=3.9 + - python ==3.11 run: - - pandas + - pandas ==1.5.2 - requests - parsedatetime - subprocess32 - - biopython + - biopython ==1.80 - backports.tempfile - contextlib2 - - diamond - openpyxl - jsonschema - - python >=3.9 + - python ==3.11 + - diamond ==2.0.15 + - mmseqs2 ==15.6f452 test: imports: diff --git a/recipes/amplicon_coverage_plot/meta.yaml b/recipes/amplicon_coverage_plot/meta.yaml index a0868b494288c..e870eaaf49531 100644 --- a/recipes/amplicon_coverage_plot/meta.yaml +++ b/recipes/amplicon_coverage_plot/meta.yaml @@ -11,8 +11,10 @@ source: build: noarch: python - number: 0 + number: 1 script: "{{ PYTHON }} -m pip install . --no-deps -vv" + run_exports: + - {{ pin_subpackage("amplicon_coverage_plot", max_pin="x.x") }} requirements: host: diff --git a/recipes/ampliconsuite/build.sh b/recipes/ampliconsuite/build.sh index cf34795dc10cd..c2e5e3f353cc0 100644 --- a/recipes/ampliconsuite/build.sh +++ b/recipes/ampliconsuite/build.sh @@ -18,6 +18,7 @@ cp GroupedAnalysisAmpSuite.py ${PREFIX}/bin/GroupedAnalysisAmpSuite.py cp amplicon_classifier.py ${PREFIX}/bin/amplicon_classifier.py cp feature_similarity.py ${PREFIX}/bin/feature_similarity.py cp make_results_table.py ${PREFIX}/bin/make_results_table.py +cp make_input.sh ${PREFIX}/bin/make_input.sh # Python command to install the package. $PYTHON setup.py install --install-data aa_data_repo/ --single-version-externally-managed --record=record.txt diff --git a/recipes/ampliconsuite/meta.yaml b/recipes/ampliconsuite/meta.yaml index e7a4ba1f85188..b037d25c280b4 100644 --- a/recipes/ampliconsuite/meta.yaml +++ b/recipes/ampliconsuite/meta.yaml @@ -1,22 +1,22 @@ {% set name="ampliconsuite" %} -{% set AS_version="1.1.0" %} -{% set AA_version="1.3.r6" %} -{% set AC_version="1.0.0" %} +{% set AS_version="1.3.4" %} +{% set AA_version="1.4.r2" %} +{% set AC_version="1.2.1" %} package: name: {{ name }} version: {{ AS_version }} source: - # the sha256 sum is generated by doing + # the sha256 sum is generated by running the following on the release .tar.gz from Github. # $ wget -O- [URL] | shasum -a 256 - url: https://github.com/AmpliconSuite/AmpliconSuite-pipeline/archive/v{{ AS_version }}.tar.gz - sha256: 9fd2d0f5bbdc0c60dd60ec38cef7cac1fd2253ce9b644360dbdefadd2c8af29b + sha256: 58f2b74eac0116e0830bceea66a854071e2a205b6f5b8e57ce61a0e358434a61 - url: https://github.com/AmpliconSuite/AmpliconArchitect/archive/v{{ AA_version }}.tar.gz - sha256: cc21a52d9853cd5e0b5b9374773a6ea24191241b9b9cf1d71e2a928ab3d97f01 + sha256: 987390d7a32a6c118e6c7fea5c7a5aba2db1b3e64fc3ece5f68f50c7cabf01fa folder: ampliconarchitectlib - url: https://github.com/AmpliconSuite/AmpliconClassifier/archive/v{{ AC_version }}.tar.gz - sha256: d1f35e17827947f657892b08c93c9694e9b33947e30d45e8e515084a5c96638d + sha256: 5cd6b9f4e2239631b8f11adda99d8858c29de64cf6f1c7a38121946db06803c9 build: noarch: python @@ -41,12 +41,14 @@ requirements: - pysam - samtools - scipy + - bedtools host: - python >=3 test: commands: - AmpliconSuite-pipeline.py -v + - GroupedAnalysisAmpSuite.py -v - amplicon_classifier.py -v - feature_similarity.py -h - make_results_table.py -h diff --git a/recipes/amplify/build.sh b/recipes/amplify/build.sh index 94a9322f414cc..3795944d08f32 100644 --- a/recipes/amplify/build.sh +++ b/recipes/amplify/build.sh @@ -4,8 +4,8 @@ mkdir -p ${PREFIX}/bin/ mkdir -p ${PREFIX}/share/amplify/ mkdir -p ${PREFIX}/share/amplify/src/ mkdir -p ${PREFIX}/share/amplify/models/ -cp -r src/. ${PREFIX}/share/amplify/src -cp -r models/. ${PREFIX}/share/amplify/models +cp -r src/. ${PREFIX}/share/amplify/src/ +cp -r models/. ${PREFIX}/share/amplify/models/ echo "#!/bin/bash" > ${PREFIX}/bin/AMPlify echo "${PREFIX}/share/amplify/src/AMPlify.py \$@" >> ${PREFIX}/bin/AMPlify diff --git a/recipes/amplify/meta.yaml b/recipes/amplify/meta.yaml index 28e7d52ba1728..6df2912c42852 100644 --- a/recipes/amplify/meta.yaml +++ b/recipes/amplify/meta.yaml @@ -1,5 +1,5 @@ {% set name = "amplify" %} -{% set version = "1.1.0" %} +{% set version = "2.0.0" %} package: name: '{{ name|lower }}' @@ -7,22 +7,27 @@ package: source: url: https://github.com/bcgsc/AMPlify/archive/v{{ version }}.tar.gz - sha256: 8ce9cc10fbb73048b8d8906a387130d9a1ac24928c4762cd190861d44ebb4466 + sha256: 94418a9e2f09b1cfc63eff047fab6d15cce5a7afae5283e50ab809dac2de8752 build: - number: 0 + number: 1 noarch: generic + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} requirements: + host: + - python =3.6 run: - python =3.6 - keras =2.2.4 - - tensorflow =1.12 + - tensorflow >=1.10, <1.13 - numpy <1.17 - biopython - pandas - scikit-learn - h5py <3 + - absl-py <2 test: commands: diff --git a/recipes/ampligone/meta.yaml b/recipes/ampligone/meta.yaml index 7abf6fa3729ca..9189a1164ae51 100644 --- a/recipes/ampligone/meta.yaml +++ b/recipes/ampligone/meta.yaml @@ -1,5 +1,5 @@ {% set name = "AmpliGone" %} -{% set version = "1.3.0" %} +{% set version = "1.3.1" %} package: name: "{{ name|lower }}" @@ -7,11 +7,13 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: d2fb6b0b526e784a6ddaac19e92ab074266a25905de539f227a5131297c41aa0 + sha256: f53520874f5f3301b6099142e1d79264a96820add09affb0130744eb39ae4139 build: noarch: python number: 0 + run_exports: + - {{ pin_subpackage("ampligone", max_pin="x") }} entry_points: - ampligone = AmpliGone.AmpliGone:main - AmpliGone = AmpliGone.AmpliGone:main @@ -51,4 +53,4 @@ extra: recipe-maintainers: - florianzwagemaker - KHajji - - ids-bioinformatics + - ids-bioinformatics \ No newline at end of file diff --git a/recipes/amplisim/meta.yaml b/recipes/amplisim/meta.yaml index 68aa49bcbceca..328a35a6141e7 100644 --- a/recipes/amplisim/meta.yaml +++ b/recipes/amplisim/meta.yaml @@ -10,7 +10,7 @@ source: sha256: {{ sha256 }} build: - number: 0 + number: 1 skip: True # [osx] run_exports: - {{ pin_subpackage('amplisim', max_pin="x") }} diff --git a/recipes/ananse/meta.yaml b/recipes/ananse/meta.yaml index f6d2cfe02bade..dfb5cba2f79f0 100644 --- a/recipes/ananse/meta.yaml +++ b/recipes/ananse/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.5.0" %} +{% set version = "0.5.1" %} package: name: ananse @@ -6,7 +6,7 @@ package: source: url: https://github.com/vanheeringen-lab/ANANSE/releases/download/v{{ version }}/ANANSE-{{ version }}.tar.gz - sha256: 3c623ba6df0e824238ce3d381bcbf9e2991654c18d7180e63d05951bb509e747 + sha256: 3ce5a41dbedb83913fdd451692cbf7df0e4ad3bd102d1ce67f9379329b35142b build: number: 0 diff --git a/recipes/anansescanpy/meta.yaml b/recipes/anansescanpy/meta.yaml index e53033971199d..7939a37e114b6 100644 --- a/recipes/anansescanpy/meta.yaml +++ b/recipes/anansescanpy/meta.yaml @@ -11,7 +11,9 @@ source: sha256: 9efd6ca2c1e5a9fc1ab70030f74f4a063f7e7ac065e6c7942d8b8cd08626accf build: - number: 0 + number: 1 + run_exports: + - {{ pin_subpackage("anansescanpy", max_pin="x.") }} noarch: python script: {{ PYTHON }} -m pip install . -vv diff --git a/recipes/ancestry_hmm-s/meta.yaml b/recipes/ancestry_hmm-s/meta.yaml index 1080842dc5b44..27e8fb91c3ef8 100644 --- a/recipes/ancestry_hmm-s/meta.yaml +++ b/recipes/ancestry_hmm-s/meta.yaml @@ -10,7 +10,9 @@ source: sha256: 3bbee77945f7c90b6aeddb27ca388411d91bc61c4b770dd1750492beeee9583f build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x.x") }} requirements: build: @@ -39,3 +41,5 @@ about: extra: identifiers: - doi:10.1101/2020.08.02.232934 # bioRxiv preprint + additional-platforms: + - linux-aarch64 diff --git a/recipes/ancestry_hmm/meta.yaml b/recipes/ancestry_hmm/meta.yaml index ade1fb5b597eb..c1dc3d738c45c 100644 --- a/recipes/ancestry_hmm/meta.yaml +++ b/recipes/ancestry_hmm/meta.yaml @@ -11,7 +11,9 @@ source: sha256: {{sha256}} build: - number: 1 + number: 2 + run_exports: + - {{ pin_subpackage("ancestry_hmm", max_pin="x.x.x") }} requirements: build: @@ -39,3 +41,5 @@ about: extra: identifiers: - doi:10.1371/journal.pgen.1006529 + additional-platforms: + - linux-aarch64 diff --git a/recipes/anchorwave/meta.yaml b/recipes/anchorwave/meta.yaml index 2480797be239b..7e9ee0a0d0817 100644 --- a/recipes/anchorwave/meta.yaml +++ b/recipes/anchorwave/meta.yaml @@ -1,7 +1,7 @@ {% set name = "anchorwave" %} -{% set version = "1.2.2" %} -{% set tag = "v1.2.2" %} -{% set sha256 = "db951e2fc8e493ce29e8c6e4f0226a68dc2fdc62631c1fe65077988647e98d01" %} +{% set version = "1.2.5" %} +{% set tag = "v1.2.5" %} +{% set sha256 = "440e233739582f1e3d7a3847a421919b4c426d4f4332f4d812ea4d23b9958cfa" %} package: name: {{ name }} diff --git a/recipes/andi/meta.yaml b/recipes/andi/meta.yaml index 5ba6dda792069..a2ce906cfcea7 100644 --- a/recipes/andi/meta.yaml +++ b/recipes/andi/meta.yaml @@ -5,7 +5,7 @@ package: version: {{ version }} build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage("andi", max_pin="x.x") }} diff --git a/recipes/anglerfish/meta.yaml b/recipes/anglerfish/meta.yaml index ee4d25f033fc1..d8fccb5046b12 100644 --- a/recipes/anglerfish/meta.yaml +++ b/recipes/anglerfish/meta.yaml @@ -1,34 +1,37 @@ {% set name = "anglerfish" %} -{% set version = "0.6.0" %} +{% set version = "0.7.0" %} package: name: "{{ name|lower }}" version: "{{ version }}" source: - url: "https://pypi.io/packages/source/b/bio-{{ name }}/bio-{{ name }}-{{ version }}.tar.gz" - sha256: b67a0c77680f85ebdf88622382bb271655e807c60dc3bdcd01997d336e6574fa + url: "https://pypi.io/packages/source/b/bio-{{ name }}/bio_{{ name }}-{{ version }}.tar.gz" + sha256: f756fbc32a55cc98b2fd5e315f503bdebe52d85cc36eb3d12771d0deb2fce846 build: number: 0 noarch: python - script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + script: "cp ${RECIPE_DIR}/requirements.txt ${SRC_DIR} && {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" entry_points: - - anglerfish=anglerfish.anglerfish:anglerfish + - anglerfish=anglerfish.cli:app run_exports: - {{ pin_subpackage('anglerfish', max_pin="x.x") }} requirements: host: - pip - - python >=3.7 + - python >=3.12 run: - biopython + - minimap2 - numpy - - python >=3.7 + - pandas + - python >=3.12 - python-levenshtein - pyyaml - - minimap2 + - typer + - typing_extensions test: imports: @@ -40,7 +43,7 @@ test: - anglerfish --help about: - home: "https://github.com/remiolsen/anglerfish" + home: "https://github.com/NationalGenomicsInfrastructure/anglerfish" license: MIT license_family: MIT summary: "Anglerfish, a tool to demultiplex Illumina libraries from ONT data" diff --git a/recipes/anglerfish/requirements.txt b/recipes/anglerfish/requirements.txt new file mode 100644 index 0000000000000..0dfb12778f82a --- /dev/null +++ b/recipes/anglerfish/requirements.txt @@ -0,0 +1,7 @@ +biopython==1.83 +levenshtein==0.23.0 +numpy==1.26.3 +pandas==2.1.4 +pyyaml==6.0.1 +typer==0.9.0 +typing_extensions==4.12.2 \ No newline at end of file diff --git a/recipes/angsd/meta.yaml b/recipes/angsd/meta.yaml index 4b2e5be264ddf..ada38cb647493 100644 --- a/recipes/angsd/meta.yaml +++ b/recipes/angsd/meta.yaml @@ -12,7 +12,9 @@ source: build: - number: 2 + number: 3 + run_exports: + - {{ pin_subpackage("angsd", max_pin="x.x") }} skip: True # [osx] requirements: @@ -45,3 +47,5 @@ extra: identifiers: - biotools:angsd - doi:10.1186/s12859-014-0356-4 + additional-platforms: + - linux-aarch64 diff --git a/recipes/aniclustermap/meta.yaml b/recipes/aniclustermap/meta.yaml index dd5865cca6efc..9791fa3232fea 100644 --- a/recipes/aniclustermap/meta.yaml +++ b/recipes/aniclustermap/meta.yaml @@ -1,5 +1,5 @@ {% set name = "aniclustermap" %} -{% set version = "1.3.0" %} +{% set version = "1.4.0" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/aniclustermap-{{ version }}.tar.gz - sha256: 67b909f1c987092b198227b2588ea4e634b6f46fe156f450a8d8741d0acd7bae + sha256: c0542543ee14801d448ad9aff1abc4d7c225f94dcae21601e7c4f93bf1b63f26 build: entry_points: diff --git a/recipes/anise_basil/build_failure.osx-64.yaml b/recipes/anise_basil/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..cf492bee68734 --- /dev/null +++ b/recipes/anise_basil/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: a4f527f34f72188524afb48002a4a66249e87016763e6bfaa429a82684283696 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + CMake Error at ext/seqan/util/cmake/FindSeqAn.cmake:404 (string): + string sub-command REGEX, mode REPLACE needs at least 6 arguments total to + command. + Call Stack (most recent call first): + src/CMakeLists.txt:15 (find_package) + + + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/anise_basil_1717515166943/work + Traceback (most recent call last): + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/anise_basil_1717515166943/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/anise_basil_1717515166943/_build_env + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/anise_basil_1717515166943/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/anise_basil-1.2.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/anise_basil-1.2.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/anise_basil_1717515166943/work/conda_build.sh']' returned non-zero exit status 1. + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/anise_basil-1.2.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/anise_basil-1.2.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + -- The C compiler identification is Clang 16.0.6 + -- The CXX compiler identification is Clang 16.0.6 + -- Detecting C compiler ABI info + -- Detecting C compiler ABI info - done + -- Check for working C compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting C compile features + -- Detecting C compile features - done + -- Detecting CXX compiler ABI info + -- Detecting CXX compiler ABI info - done + -- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting CXX compile features + -- Detecting CXX compile features - done + -- Performing Test CXX11_FOUND + -- Performing Test CXX11_FOUND - Success + -- Looking for include file execinfo.h + -- Looking for include file execinfo.h - found + -- Determined version is .. + -- Found LEMON: $SRC_DIR/ext/lemon + -- Found Boost 1.85.0 at $PREFIX/lib/cmake/Boost-1.85.0 + -- Requested configuration: QUIET REQUIRED + -- BoostConfig: find_package(boost_headers 1.85.0 EXACT CONFIG REQUIRED QUIET HINTS $PREFIX/lib/cmake) + -- Found boost_headers 1.85.0 at $PREFIX/lib/cmake/boost_headers-1.85.0 + -- Found Boost: $PREFIX/lib/cmake/Boost-1.85.0/BoostConfig.cmake + -- Configuring incomplete, errors occurred! +# Last 100 lines of the build log. diff --git a/recipes/anise_basil/meta.yaml b/recipes/anise_basil/meta.yaml index 6eb293b43fae4..3aa97ab6fb860 100644 --- a/recipes/anise_basil/meta.yaml +++ b/recipes/anise_basil/meta.yaml @@ -18,7 +18,9 @@ source: build: skip: True # [py27] - number: 6 + number: 8 + run_exports: + - {{ pin_subpackage("anise_basil", max_pin="x.x.x") }} requirements: build: @@ -29,6 +31,7 @@ requirements: host: - boost-cpp - python + - zlib run: - python @@ -51,3 +54,5 @@ about: extra: identifiers: - doi:10.1093/bioinformatics/btv051 + additional-platforms: + - linux-aarch64 diff --git a/recipes/anndata2ri/meta.yaml b/recipes/anndata2ri/meta.yaml index ef5463b85c2d8..a4e795ebc53cd 100644 --- a/recipes/anndata2ri/meta.yaml +++ b/recipes/anndata2ri/meta.yaml @@ -1,5 +1,5 @@ {% set name = "anndata2ri" %} -{% set version = "1.3.1" %} +{% set version = "1.3.2" %} package: name: {{ name|lower }} @@ -9,10 +9,12 @@ build: number: 0 noarch: python script: "{{ PYTHON }} -m pip install . --no-deps -vvv" + run_exports: + - {{ pin_subpackage('anndata2ri', max_pin="x") }} source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 0e3fa2f81789f682d19ef452fabdb401ec27899db9abe5a78e45e21dcc7caa42 + sha256: 34a767b16abfac1aacb6edcd394eaf565f53fff6de3e6f47961a3901d3890d93 requirements: host: @@ -20,14 +22,14 @@ requirements: - flit - pip - get_version - - rpy2 >=3.4.3 + - rpy2 >=3.5.2 - hatchling - hatch-vcs run: - python >=3.6 - anndata - get_version - - rpy2 >=3.4.3 + - rpy2 >=3.5.2 - tzlocal test: diff --git a/recipes/annembed/meta.yaml b/recipes/annembed/meta.yaml index 5a2b606fcd0b3..8b87e6aa37968 100644 --- a/recipes/annembed/meta.yaml +++ b/recipes/annembed/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.1.2" %} +{% set version = "0.1.4" %} package: name: annembed @@ -11,7 +11,7 @@ build: skip: True # [osx] source: url: https://github.com/jianshu93/annembed/archive/v{{ version }}.tar.gz - sha256: 68d08b42f06d873a3b301cb609530cb1072cd97cd8ccefa8d0331d857f692352 + sha256: 0f923798db3843aac0352eba5d2b169673ee087fce2cc37981bd19a1ecb878d0 requirements: build: @@ -26,7 +26,7 @@ test: - annembed -h about: - home: https://github.com/jean-pierreBoth/gsearch + home: https://github.com/jianshu93/annembed license: MIT summary: annembed is an ultra-fast and scalable non-linear dimension reduction algorithm (similar to UMAP or t-SNE) for large-scale biological data diff --git a/recipes/annonars/meta.yaml b/recipes/annonars/meta.yaml index 0a6f96ee740ea..c6fd696b3a026 100644 --- a/recipes/annonars/meta.yaml +++ b/recipes/annonars/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.30.1" %} +{% set version = "0.41.0" %} package: name: annonars @@ -11,8 +11,8 @@ build: - {{ pin_subpackage("annonars", max_pin="x.x") }} source: - url: https://github.com/bihealth/annonars/archive/refs/tags/v{{ version }}.tar.gz - sha256: 17b0116630f06d87c904c5d40666d10e34f6ae3a88c1b9b2b761ea396aa537fb + url: https://github.com/varfish-org/annonars/archive/refs/tags/v{{ version }}.tar.gz + sha256: 11cf6d760c9a4f5896c5a6883fda2bd39b734862a6acf6af004704edb0752569 requirements: build: @@ -37,7 +37,7 @@ test: - annonars --help about: - home: https://github.com/bihealth/annonars + home: https://github.com/varfish-org/annonars license: Apache-2.0 license_file: LICENSE.txt summary: 'Genome annotation based on Rust and RocksDB.' @@ -45,3 +45,6 @@ about: extra: recipe-maintainers: - holtgrewe + - tedil + additional-platforms: + - linux-aarch64 diff --git a/recipes/annosine2/meta.yaml b/recipes/annosine2/meta.yaml new file mode 100644 index 0000000000000..e3e0c6c3e22fc --- /dev/null +++ b/recipes/annosine2/meta.yaml @@ -0,0 +1,60 @@ +{% set name = "annosine2" %} +{% set version = "2.0.7" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + sha256: 94387b895e2b011125211039598b8c426124aa43be6915697243497eefb7fff8 + +build: + number: 0 + entry_points: + - AnnoSINE_v2 = AnnoSINE.AnnoSINE_v2:main + script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vvv " + run_exports: + - {{ pin_subpackage('annosine2', max_pin="x") }} + noarch: python + +requirements: + host: + - pip + - python + run: + - cycler + - kiwisolver + - matplotlib-base + - numpy + - pandas + - pillow + - pyparsing + - python + - python-dateutil + - six + - hmmer + - minimap2 + - nodejs + - trf + - irf + - cd-hit + - repeatmasker + - seqtk + + +test: + imports: + - AnnoSINE + commands: + - AnnoSINE_v2 --help + +about: + home: https://github.com/liaoherui/AnnoSINE_v2 + license: MIT + license_family: MIT + summary: AnnoSINE_v2 - SINE Annotation Tool for Plant and Animal Genomes + +extra: + recipe-maintainers: + - liaoherui diff --git a/recipes/annotsv/meta.yaml b/recipes/annotsv/meta.yaml index bf1cfc713ab97..16048ac117689 100644 --- a/recipes/annotsv/meta.yaml +++ b/recipes/annotsv/meta.yaml @@ -1,6 +1,6 @@ {% set name = "annotsv" %} -{% set version = "3.3.7" %} -{% set sha256 = "abf2a0a1604275d8ded66aba7a7084659430d43242eb28fa2a59467487efe7bf" %} +{% set version = "3.4.4" %} +{% set sha256 = "ab7afcdddc1aa1215d3d77cdab74d6db4f24f2c56de9b820a6bbf668f48b1d88" %} package: name: {{ name }} @@ -34,6 +34,10 @@ requirements: - natsort >=7.1.1 - pandas >=1.5.2 - tqdm >=4.64.1 + - polars >=0.16.5 + - appdirs + - git + - make # Tests AnnotSV, the annotations install script and variantconvert (needed for VCF outputs) test: diff --git a/recipes/annotwg/meta.yaml b/recipes/annotwg/meta.yaml index fd06dc96d44b1..d2e294561f1b9 100644 --- a/recipes/annotwg/meta.yaml +++ b/recipes/annotwg/meta.yaml @@ -7,7 +7,9 @@ package: version: {{ version }} build: - number: 0 + number: 1 + run_exports: + - {{ pin_subpackage("annotwg", max_pin="x") }} noarch: generic source: diff --git a/recipes/anospp-analysis/meta.yaml b/recipes/anospp-analysis/meta.yaml index bb0e8acf0aaa3..4a81517de6960 100644 --- a/recipes/anospp-analysis/meta.yaml +++ b/recipes/anospp-analysis/meta.yaml @@ -1,5 +1,5 @@ {% set name = "anospp-analysis" %} -{% set version = "0.2.1" %} +{% set version = "0.3.0" %} package: @@ -8,12 +8,14 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/anospp_analysis-{{ version }}.tar.gz - sha256: 340379a7131847df437c0dba76d79912f47f35de6b9c172854a16b173639d7c9 + sha256: 6a4378afe0315966037fd7f77ec2c4e25761037b34bec07415c0b9c418f9666c build: noarch: python - number: 1 + number: 0 script: {{ PYTHON }} -m pip install . --no-deps -vv + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: host: @@ -31,8 +33,8 @@ requirements: - fasttree - mafft - bokeh - - keras >=2 - - tensorflow-base >=2 + - keras >=2.12 + - tensorflow-base >=2.12 test: imports: @@ -43,6 +45,7 @@ test: - anospp-plasm -h - anospp-nn -h - anospp-vae -h + - anospp-agg -h about: home: https://pypi.org/project/anospp-analysis/ diff --git a/recipes/antismash-lite/build.sh b/recipes/antismash-lite/build.sh index 9b87424be5101..3ad1536ca047f 100644 --- a/recipes/antismash-lite/build.sh +++ b/recipes/antismash-lite/build.sh @@ -1,5 +1,5 @@ #!/bin/bash echo "include antismash/detection/genefinding/data/train_crypto" >> MANIFEST.in -df -h -$PYTHON -m pip install . --ignore-installed --no-deps -vv \ No newline at end of file +df -h +$PYTHON -m pip install . --no-build-isolation --no-deps --no-cache-dir -vvv diff --git a/recipes/antismash-lite/meta.yaml b/recipes/antismash-lite/meta.yaml index 2e3d43924775c..a41431b1a3b3f 100644 --- a/recipes/antismash-lite/meta.yaml +++ b/recipes/antismash-lite/meta.yaml @@ -1,59 +1,65 @@ -{% set name = "antiSMASH-lite" %} -{% set version = "6.1.1" %} -{% set sha256 = "38c9fa8d34dea2552d3b21e3cb2ca293864f2f53d381764de9dd3d5f0b40139e" %} +{% set name = "antismash-lite" %} +{% set version = "7.1.0" %} +{% set sha256 = "5c01cce48ef5cc2bc60bfd2e185a5937e731e86a711c4c822a336640984e9b48" %} package: name: {{ name|lower }} version: {{ version }} -build: - number: 1 - noarch: python - source: url: https://dl.secondarymetabolites.org/releases/{{ version }}/antismash-{{ version }}.tar.gz sha256: {{ sha256 }} +build: + number: 0 + noarch: python + entry_points: + - download-antismash-databases=antismash.download_databases:_main + - antismash=antismash.__main__:entrypoint + run_exports: + - {{ pin_subpackage('antismash-lite', max_pin="x") }} + requirements: host: - - python >=3.7 + - python >=3.9 - pip run: - - python >=3.7 + - python >=3.9 + - brawn >=1.0.1 - numpy - - biopython 1.78 - - helperlibs >=0.2.0 + - biopython 1.78.* + - helperlibs >=0.2.1 - jinja2 - joblib - jsonschema - - markupsafe >=2.0 + - markupsafe >=2.1.0 + - nrpys >=0.1.1 - pysvg-py3 - bcbio-gff - - pyscss + - libsass - matplotlib-base - scipy - - openjdk - - scikit-learn >=0.19 - - diamond >=0.9,<=2.0.15 + - scikit-learn >=1.3.2 + - moods >=1.9.4 + - diamond - fasttree 2.1.* - - glimmerhmm ==3.0.* + - glimmerhmm 3.0.* - hmmer2 - hmmer >=3.1b2 - - meme <=4.11.2 - - muscle 3.8.* + - meme 4.11.2 - blast - prodigal test: + imports: + - antismash commands: - - antismash -h - - blastp -help - - fasttree -help - - diamond --help 2>&1 > /dev/null + - antismash --help + - download-antismash-databases --help about: home: https://docs.antismash.secondarymetabolites.org/intro/ - license: AGPL-3.0 + license: AGPL-3.0-or-later license_family: AGPL license_file: LICENSE.txt summary: antiSMASH - the antibiotics and Secondary Metabolite Analysis SHell @@ -72,4 +78,5 @@ extra: - doi:10.1093/nar/gkx319 - doi:10.1093/nar/gkz310 - doi:10.1093/nar/gkab335 + - doi:10.1093/nar/gkad344 - usegalaxy-eu:antismash diff --git a/recipes/antismash/build.sh b/recipes/antismash/build.sh index e60c5bc782d58..336e0d884c8bf 100644 --- a/recipes/antismash/build.sh +++ b/recipes/antismash/build.sh @@ -1,5 +1,5 @@ #!/bin/bash echo "include antismash/detection/genefinding/data/train_crypto" >> MANIFEST.in -df -h -$PYTHON -m pip install . --ignore-installed --no-deps -vv +df -h +${PYTHON} -m pip install . --no-build-isolation --no-deps --no-cache-dir -vvv diff --git a/recipes/antismash/meta.yaml b/recipes/antismash/meta.yaml index 6d4818140a158..c6ae23bcad79e 100644 --- a/recipes/antismash/meta.yaml +++ b/recipes/antismash/meta.yaml @@ -1,6 +1,6 @@ {% set name = "antiSMASH" %} -{% set version = "6.1.1" %} -{% set sha256 = "38c9fa8d34dea2552d3b21e3cb2ca293864f2f53d381764de9dd3d5f0b40139e" %} +{% set version = "7.1.0" %} +{% set sha256 = "5c01cce48ef5cc2bc60bfd2e185a5937e731e86a711c4c822a336640984e9b48" %} package: name: {{ name|lower }} @@ -9,6 +9,11 @@ package: build: number: 0 noarch: python + entry_points: + - download-antismash-databases=antismash.download_databases:_main + - antismash=antismash.__main__:entrypoint + run_exports: + - {{ pin_subpackage('antismash', max_pin="x") }} source: url: https://dl.secondarymetabolites.org/releases/{{ version }}/antismash-{{ version }}.tar.gz @@ -16,31 +21,33 @@ source: requirements: host: - - python >=3.7 + - python >=3.9 - pip + - pytest run: - - python >=3.7 + - python >=3.9 + - brawn >=1.0.1 - numpy - - biopython 1.78 - - helperlibs >=0.2.0 + - biopython 1.78.* + - helperlibs >=0.2.1 - jinja2 - joblib - jsonschema - markupsafe >=2.0 + - nrpys >=0.1.1 - pysvg-py3 - bcbio-gff - - pyscss + - libsass - matplotlib-base - scipy - - openjdk - - scikit-learn >=0.19 - - diamond 0.9.* + - scikit-learn >=1.3.2 + - moods >=1.9.4.2 + - diamond - fasttree 2.1.* - glimmerhmm ==3.0.* - hmmer2 - - hmmer ==3.1b2 - - meme <=4.11.2 - - muscle 3.8.* + - hmmer >=3.1b2 + - meme 4.11.2 - blast - prodigal @@ -53,7 +60,7 @@ test: about: home: https://docs.antismash.secondarymetabolites.org/intro/ - license: AGPL-3.0 + license: AGPL-3.0-or-later license_family: AGPL license_file: LICENSE.txt summary: antiSMASH - the antibiotics and Secondary Metabolite Analysis SHell @@ -72,4 +79,5 @@ extra: - doi:10.1093/nar/gkx319 - doi:10.1093/nar/gkz310 - doi:10.1093/nar/gkab335 + - doi:10.1093/nar/gkad344 - usegalaxy-eu:antismash diff --git a/recipes/antismash/post-link.sh b/recipes/antismash/post-link.sh index 26fdad9e1d1cd..0df651f1df344 100644 --- a/recipes/antismash/post-link.sh +++ b/recipes/antismash/post-link.sh @@ -1,4 +1,11 @@ #!/bin/bash -# download the databases required by several options +cat <> ${PREFIX}/.messages.txt + + +antiSMASH databases are no longer included in the antismash conda package due to a "no space left on device" error. +Before using antiSMASH, please download the databases required by several options: download-antismash-databases + + +EOF diff --git a/recipes/anvio-minimal/meta.yaml b/recipes/anvio-minimal/meta.yaml index 4c1d381c9b90f..8cd80ff415df2 100644 --- a/recipes/anvio-minimal/meta.yaml +++ b/recipes/anvio-minimal/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "7.1" %} -{% set sha256 = "5ff729ba392a530b200378cd55e0dd85032152da44dce0260daef2ddc3122c99" %} +{% set version = "8" %} +{% set sha256 = "4ced91773648d9ca27a20b725ab64bc213d80b33726940f5f818240033912c04" %} package: name: anvio-minimal @@ -12,7 +12,9 @@ source: build: number: 0 noarch: python - script: python -m pip install --no-deps --ignore-installed -vv . + script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation --no-cache-dir -vvv . + run_exports: + - {{ pin_subpackage('anvio-minimal', max_pin="x.x") }} requirements: host: @@ -20,18 +22,18 @@ requirements: - pip run: - python >=3 - - numpy + - numpy <=1.24 - bottle - pysam - ete3 - scipy - - scikit-learn <0.21 + - scikit-learn ==1.2.2 - django - requests - - psutil ==5.4.3 + - psutil - mistune - six - - pandas ==0.25.1 + - pandas ==1.4.4 - matplotlib-base - statsmodels - colored @@ -40,24 +42,33 @@ requirements: - numba - sqlite >=3.31.1 - paste + - multiprocess + - rich-argparse + - plotext + - networkx # these three are critical versions. any changes must be # tested with extra attention: - pyani ==0.2.10 - snakemake-minimal ==5.10.0 + test: commands: - anvi-pan-genome --help - anvi-script-reformat-fasta --help about: - home: http://merenlab.org/software/anvio/ + home: https://merenlab.org/software/anvio/ license: GPL-3.0-or-later license_family: GPL3 license_file: LICENSE.txt summary: "An interactive analysis and visualization platform for omics data" - dev_url: https://github.com/merenlab/anvio - + dev_url: https://github.com/merenlab/anvio + doc_url: https://anvio.org/learn/ + extra: container: # extended-base generates en_US.UTF-8 locale and sets LC_ALL, LANG properly extended-base: True + identifiers: + - biotools:anvio + - doi:10.1038/s41564-020-00834-3 diff --git a/recipes/apscale/meta.yaml b/recipes/apscale/meta.yaml index 495fa59ecdf6a..e91738cdd3c3a 100644 --- a/recipes/apscale/meta.yaml +++ b/recipes/apscale/meta.yaml @@ -1,5 +1,5 @@ {% set name = "apscale" %} -{% set version = "1.6.3" %} +{% set version = "2.0.3" %} package: name: {{ name|lower }} @@ -7,14 +7,16 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/apscale-{{ version }}.tar.gz - sha256: cb9c08810cb2c55377ea4dde936f4321fd0a753ef853bb0fad621d4bb39d28da + sha256: 52cf592e1446c958b781e5a134a2945989b33008805f46a071c97d073d330f00 build: entry_points: - apscale = apscale.__main__:main noarch: python - script: {{ PYTHON }} -m pip install . -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv number: 0 + run_exports: + - {{ pin_subpackage('apscale', max_pin="x") }} requirements: host: @@ -38,16 +40,15 @@ test: imports: - apscale commands: - - pip check - apscale --help - requires: - - pip about: home: https://github.com/DominikBuchner/apscale summary: Advanced Pipeline for Simple yet Comprehensive AnaLysEs of DNA metabarcoding data license: MIT + license_family: MIT license_file: LICENSE + dev_url: https://github.com/DominikBuchner/apscale extra: recipe-maintainers: diff --git a/recipes/apu-label-propagation/build.sh b/recipes/apu-label-propagation/build.sh new file mode 100644 index 0000000000000..11f2d38047bb7 --- /dev/null +++ b/recipes/apu-label-propagation/build.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +set -xe + +mkdir -p ${PREFIX}/bin + +cd src + +$CC -o $PREFIX/bin/apu-label-propagation apu_label_propagation.c -lm + +chmod u+x ${PREFIX}/bin/apu-label-propagation diff --git a/recipes/apu-label-propagation/meta.yaml b/recipes/apu-label-propagation/meta.yaml new file mode 100644 index 0000000000000..d8e15873d5b8d --- /dev/null +++ b/recipes/apu-label-propagation/meta.yaml @@ -0,0 +1,32 @@ +{% set version = "1.2" %} + +package: + name: apu-label-propagation + version: {{ version }} + +source: + url: https://github.com/anuprulez/NIAPU/archive/refs/tags/{{ version }}.tar.gz + sha256: 50424bf7df99b51dc71a4121beae89ef69b2bb4eaba559c99643baecb8544806 + +build: + number: 2 + run_exports: + - {{ pin_subpackage('apu-label-propagation', max_pin="x.x") }} + +requirements: + build: + - {{ compiler('c') }} + +test: + commands: + - apu-label-propagation + +about: + home: https://github.com/AndMastro/NIAPU + license: MIT + summary: Adaptive Positive-Unlabelled label propagation + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/aragorn/meta.yaml b/recipes/aragorn/meta.yaml index b2936b72349f6..986a8e82e22af 100644 --- a/recipes/aragorn/meta.yaml +++ b/recipes/aragorn/meta.yaml @@ -7,7 +7,9 @@ source: url: http://www.ansikte.se/ARAGORN/Downloads/aragorn1.2.41.c build: - number: 1 + number: 3 + run_exports: + - {{ pin_subpackage("aragorn", max_pin="x.x.x") }} requirements: build: @@ -21,3 +23,7 @@ about: home: http://www.ansikte.se/ARAGORN/ license: GPLv3 summary: 'ARAGORN, tRNA (and tmRNA) detection' + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/arborator/meta.yaml b/recipes/arborator/meta.yaml new file mode 100644 index 0000000000000..23fe634945fa5 --- /dev/null +++ b/recipes/arborator/meta.yaml @@ -0,0 +1,51 @@ +{% set name = "arborator" %} +{% set version = "1.0.0" %} +{% set sha256 = "682f022481203da36368e46942213767068ecdb4fae4d0ab7580d8556d961d0e" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/arborator-{{ version }}.tar.gz + sha256: {{ sha256 }} + + +build: + number: 1 + noarch: python + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + script: {{ PYTHON }} -m pip install . --use-pep517 --no-deps -vvv + entry_points: + - arborator=arborator.main:main + +requirements: + host: + - python >=3.8,<3.10 + - pip + run: + - python >=3.8,<3.10 + - {{ pin_compatible('numpy', max_pin="x") }} + - pyarrow ==12.0.0 + - pandas ==2.0.2 + - scipy >=1.0.0 + - numba ==0.57.1 + - pytables + - psutil + - six + - profile_dists + - genomic_address_service + + +test: + commands: + - arborator -h + +about: + home: 'https://pypi.org/project/arborator/' + summary: 'Arborator: Simplifying operationalized pathogen surveillance and outbreak detection' + license: Apache-2.0 + license_file: LICENSE + dev_url: 'https://github.com/phac-nml/arborator' + diff --git a/recipes/arcas-hla/meta.yaml b/recipes/arcas-hla/meta.yaml index fa98f4d095d42..b1d2fa23462d1 100644 --- a/recipes/arcas-hla/meta.yaml +++ b/recipes/arcas-hla/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.5.0" %} +{% set version = "0.6.0" %} package: name: arcas-hla @@ -6,26 +6,31 @@ package: source: url: https://github.com/RabadanLab/arcasHLA/archive/v{{ version }}.tar.gz - sha256: fb17b3ba74facf4edb3329099b158910bdc7c4e73074efab9880d4136a0d4e93 + sha256: 75bef1a5596a9dfabccb901420f5d852d6d8a15d9c676e4c94787b8d25dd708b build: - number: 3 + number: 2 noarch: generic + run_exports: + - {{ pin_subpackage("arcas-hla", max_pin="x.x") }} requirements: run: + - bedtools + - biopython - coreutils - - bedtools >=2.27.1 - - biopython <=1.77 - git - git-lfs - - kallisto ==0.44.0 + - kallisto ==0.44 - numpy - pandas - pigz - - python >=3.6.1 - - samtools >=1.9 - - scipy ==1.1.0 + - pip + - pyarrow + - pytest + - python + - samtools + - scipy test: commands: @@ -33,10 +38,11 @@ test: about: home: https://github.com/RabadanLab/arcasHLA - license: GPL-3.0 - summary: high resolution HLA typing from RNA seq + license: GPL-3.0-only + license_file: LICENSE + summary: high-resolution HLA typing from RNA seq description: | - arcasHLA performs high resolution genotyping for HLA class I and class II + arcasHLA performs high-resolution genotyping for HLA class I and class II genes from RNA sequencing, supporting both paired and single-end samples. extra: diff --git a/recipes/architeuthis/meta.yaml b/recipes/architeuthis/meta.yaml new file mode 100644 index 0000000000000..4b437bd62bb10 --- /dev/null +++ b/recipes/architeuthis/meta.yaml @@ -0,0 +1,47 @@ +{% set name = "architeuthis" %} +{% set version = "0.3.1" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/cdiener/{{ name }}/archive/{{ version }}.tar.gz + sha256: 11b0e09785f23e479f3de55e12dfbe788c938a497a64c7293d8c4ce41d57ef2b + +build: + number: 0 + script: + - go build -v -ldflags "-w -s -X 'main.version={{ version }}'" -o $PREFIX/bin/architeuthis + run_exports: + - {{ pin_subpackage('architeuthis', max_pin="x.x") }} + +requirements: + build: + - {{ compiler('go') }} + run: + - taxonkit >=0.16.0 + +test: + commands: + - architeuthis -v + +about: + home: https://github.com/cdiener/{{ name }} + license: Apache-2.0 + license_file: LICENSE + summary: Tool to analyze and summarize data for Kraken. + description: | + architeuthis is a fast standalone command to supplement the Kraken suite of software + tools such like Kraken2, KrakenUniq, and Bracken. I saw myself repeatedly rewriting + the same code in my pipelines when dealing with Kraken output, like merging files or + maninpulating lineage annotations. It also adds some functionality to dive deeper + into the individual k-mer classifications for reads. + dev_url: https://github.com/cdiener/architeuthis.git + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + recipe-maintainers: + - cdiener diff --git a/recipes/arcs/build.sh b/recipes/arcs/build.sh index fcbd111922e56..e79a8c1f15f2b 100644 --- a/recipes/arcs/build.sh +++ b/recipes/arcs/build.sh @@ -1,9 +1,10 @@ #!/bin/sh + if [[ ${target_platform} =~ osx.* ]]; then ./configure --prefix=${PREFIX} CXXFLAGS="${CXXFLAGS} -Wno-error=unused-result -Wno-error=unknown-warning-option" else - ./configure --prefix=${PREFIX} CXXFLAGS="${CXXFLAGS} -Wno-error=unused-result" + ./configure --prefix=${PREFIX} CXXFLAGS="${CXXFLAGS} -Wno-error=unused-result -fopenmp" fi make install diff --git a/recipes/arcs/meta.yaml b/recipes/arcs/meta.yaml index e7a813f95e16c..a9d5122b1c4c3 100644 --- a/recipes/arcs/meta.yaml +++ b/recipes/arcs/meta.yaml @@ -1,15 +1,17 @@ -{% set version = "1.2.5" %} +{% set version = "1.2.7" %} package: name: arcs version: {{ version }} build: - number: 1 + number: 2 + run_exports: + - {{ pin_subpackage('arcs', max_pin="x") }} source: url: https://github.com/bcgsc/arcs/releases/download/v{{ version }}/arcs-{{ version }}.tar.gz - sha256: 9bf0fc0f2da748356339ce3a89edbffc5b63804cb3680829391365bb7de8ca39 + sha256: 3162cff3286a033b494ace8050abc96d4083f846cafe921bb0122170f705eca8 requirements: build: @@ -19,11 +21,11 @@ requirements: - boost-cpp - sparsehash - zlib - - llvm-openmp # [osx] + - llvm-openmp # [osx] + - libgomp # [linux] - btllib run: - - zlib - - llvm-openmp # [osx] + - llvm-openmp # [osx] - make test: @@ -33,6 +35,12 @@ test: about: home: https://github.com/bcgsc/arcs - license: GPL-3.0 + license: GPL-3.0-or-later + license_family: GPL3 license_file: '{{ environ["RECIPE_DIR"] }}/LICENSE' - summary: Scaffolding genome sequence assemblies using linked or long reads + summary: Scaffolding genome sequence assemblies using linked or long reads + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 \ No newline at end of file diff --git a/recipes/argnorm/meta.yaml b/recipes/argnorm/meta.yaml new file mode 100644 index 0000000000000..2349661f642da --- /dev/null +++ b/recipes/argnorm/meta.yaml @@ -0,0 +1,52 @@ +{% set name = "argnorm" %} +{% set version = "0.6.0" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: 85b54bff237943af418a4f6fedd83c1c67c14522f9ef81e1b750bbd5aec2051b + +build: + noarch: python + number: 0 + entry_points: + - argnorm=argnorm.cli:main + script: "{{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation" + run_exports: + - {{ pin_subpackage('argnorm', max_pin='x') }} +requirements: + host: + - pandas + - pip + - pronto >=2.5.6 + - pytest + - python >=3.7 + - setuptools + run: + - pandas + - pronto >=2.5.6 + - pytest + - python >=3.7 + - setuptools + +test: + imports: + - argnorm + - argnorm.data + commands: + - argnorm --help + +about: + home: "https://github.com/BigDataBiology/argNorm" + license: MIT + license_family: MIT + license_file: LICENSE + summary: "Normalize antibiotic resistance genes (ARGs) abundance tables (e.g., from metagenomics) by using the ARO ontology (developed by CARD)." + doc_url: https://argnorm.readthedocs.io/en/latest/ + +extra: + recipe-maintainers: + - Vedanth-Ramji diff --git a/recipes/argo/meta.yaml b/recipes/argo/meta.yaml new file mode 100644 index 0000000000000..321d4a53e99df --- /dev/null +++ b/recipes/argo/meta.yaml @@ -0,0 +1,43 @@ +{% set name = "argo" %} +{% set version = "0.1.1" %} + +package: + name: '{{ name|lower }}' + version: '{{ version }}' + +source: + url: https://github.com/xinehc/argo/archive/refs/tags/v{{ version }}.tar.gz + sha256: 9ddc3bea602e3bdcd3518bb3ecd7795b680addaa513eff0fff83e1010ba4e253 + +build: + noarch: python + number: 0 + script: '{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv' + run_exports: + - {{ pin_subpackage('argo', max_pin='x.x') }} + +requirements: + host: + - pip + - python >=3.7 + run: + - python >=3.7 + - diamond ==2.1.8 + - melon >=0.2.0 + - scikit-learn + +test: + imports: + - argo + commands: + - argo -h + +about: + home: https://github.com/xinehc/argo + license: MIT + license_family: MIT + summary: 'Argo: species-resolved profiling of antibiotic resistant genes with long-read metagenomics' + +extra: + recipe-maintainers: + - xinehc diff --git a/recipes/ariba/meta.yaml b/recipes/ariba/meta.yaml index 8e9311eef3ca2..483b0162b5ee2 100644 --- a/recipes/ariba/meta.yaml +++ b/recipes/ariba/meta.yaml @@ -14,7 +14,7 @@ source: - ref_genes_getter.patch build: - number: 5 + number: 6 # Skipping py>=36 on osx because the bowtie2 <2.4.0 recipes are currently skipped on osx. skip: True # [py<30 or (py>=36 and osx) or py > 39] script: python -m pip install --no-deps --ignore-installed . diff --git a/recipes/arriba/build.sh b/recipes/arriba/build.sh index cab61cd78f8b2..9e3a2cc7c3b7e 100644 --- a/recipes/arriba/build.sh +++ b/recipes/arriba/build.sh @@ -1,7 +1,9 @@ #!/bin/bash +set -xe + # compile Arriba -make CPPFLAGS="-I$PREFIX/include -I$PREFIX/include/htslib" LDFLAGS="$LDFLAGS" CXX=$CXX bioconda +make -j ${CPU_COUNT} CPPFLAGS="-I$PREFIX/include -I$PREFIX/include/htslib" LDFLAGS="$LDFLAGS" CXX=$CXX bioconda # copy executables mkdir -p "$PREFIX/bin" diff --git a/recipes/arriba/meta.yaml b/recipes/arriba/meta.yaml index 36b290267c6a6..126939ca54892 100644 --- a/recipes/arriba/meta.yaml +++ b/recipes/arriba/meta.yaml @@ -10,7 +10,9 @@ source: sha256: {{ sha256 }} build: - number: 2 + number: 4 + run_exports: + - {{ pin_subpackage('arriba', max_pin="x") }} requirements: build: @@ -22,7 +24,7 @@ requirements: - htslib run: - htslib - - star >=2.7.10a + - star >=2.7.11b - samtools >=1.9 - r-base >=3.3.0 - bioconductor-genomicalignments @@ -40,3 +42,6 @@ test: - arriba -h > /dev/null - draw_fusions.R 2>&1 | grep -q Usage +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/art/build.sh b/recipes/art/build.sh index dba8ae009f959..ee2131550a5ab 100644 --- a/recipes/art/build.sh +++ b/recipes/art/build.sh @@ -1,13 +1,19 @@ #!/bin/bash +set -xe + export CFLAGS="-I$PREFIX/include" export LDFLAGS="-L$PREFIX/lib" export CPATH=${PREFIX}/include mkdir -p $PREFIX/bin -./configure --prefix=$PREFIX -make +if [[ "$HOST" == "arm64-apple-"* ]]; then + ./configure --prefix=$PREFIX --host=arm +else + ./configure --prefix=$PREFIX +fi +make -j ${CPU_COUNT} make install for platform in illumina 454 SOLiD; diff --git a/recipes/art/build_failure.linux-64.yaml b/recipes/art/build_failure.linux-64.yaml deleted file mode 100644 index fe51189dce6f4..0000000000000 --- a/recipes/art/build_failure.linux-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: f30c59ba2eda60063e1b2d77f2a81886d1fa778acb7bf4d97990fd57e56b6189 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - sysroot_linux-64: 2.12-he073ed8_15 conda-forge - - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - Source cache directory is: /opt/conda/conda-bld/src_cache - INFO:conda_build.source:Source cache directory is: /opt/conda/conda-bld/src_cache - Downloading source to cache: artsrcmountrainier2016.06.05linux_6df7ce4760.tgz - INFO:conda_build.source:Downloading source to cache: artsrcmountrainier2016.06.05linux_6df7ce4760.tgz - Downloading https://www.niehs.nih.gov/research/resources/assets/docs/artsrcmountrainier2016.06.05linux.tgz - INFO:conda_build.source:Downloading https://www.niehs.nih.gov/research/resources/assets/docs/artsrcmountrainier2016.06.05linux.tgz - DEBUG:urllib3.util.retry:Incremented Retry for (url='/research/resources/assets/docs/artsrcmountrainier2016.06.05linux.tgz'): Retry(total=2, connect=None, read=None, redirect=None, status=None) - WARNING:urllib3.connectionpool:Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131)'))': /research/resources/assets/docs/artsrcmountrainier2016.06.05linux.tgz - DEBUG:urllib3.util.retry:Incremented Retry for (url='/research/resources/assets/docs/artsrcmountrainier2016.06.05linux.tgz'): Retry(total=1, connect=None, read=None, redirect=None, status=None) - WARNING:urllib3.connectionpool:Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131)'))': /research/resources/assets/docs/artsrcmountrainier2016.06.05linux.tgz - DEBUG:urllib3.util.retry:Incremented Retry for (url='/research/resources/assets/docs/artsrcmountrainier2016.06.05linux.tgz'): Retry(total=0, connect=None, read=None, redirect=None, status=None) - WARNING:urllib3.connectionpool:Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131)'))': /research/resources/assets/docs/artsrcmountrainier2016.06.05linux.tgz - Traceback (most recent call last): - File "/opt/conda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 670, in urlopen - httplib_response = self._make_request( - File "/opt/conda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 381, in _make_request - self._validate_conn(conn) - File "/opt/conda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 978, in _validate_conn - conn.connect() - File "/opt/conda/lib/python3.8/site-packages/urllib3/connection.py", line 362, in connect - self.sock = ssl_wrap_socket( - File "/opt/conda/lib/python3.8/site-packages/urllib3/util/ssl_.py", line 386, in ssl_wrap_socket - return context.wrap_socket(sock, server_hostname=server_hostname) - File "/opt/conda/lib/python3.8/ssl.py", line 500, in wrap_socket - return self.sslsocket_class._create( - File "/opt/conda/lib/python3.8/ssl.py", line 1040, in _create - self.do_handshake() - File "/opt/conda/lib/python3.8/ssl.py", line 1309, in do_handshake - self._sslobj.do_handshake() - ssl.SSLError: [SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131) - - During handling of the above exception, another exception occurred: - - Traceback (most recent call last): - File "/opt/conda/lib/python3.8/site-packages/requests/adapters.py", line 439, in send - resp = conn.urlopen( - File "/opt/conda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 754, in urlopen - return self.urlopen( - File "/opt/conda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 754, in urlopen - return self.urlopen( - File "/opt/conda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 754, in urlopen - return self.urlopen( - File "/opt/conda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 726, in urlopen - retries = retries.increment( - File "/opt/conda/lib/python3.8/site-packages/urllib3/util/retry.py", line 446, in increment - raise MaxRetryError(_pool, url, error or ResponseError(cause)) - urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='www.niehs.nih.gov', port=443): Max retries exceeded with url: /research/resources/assets/docs/artsrcmountrainier2016.06.05linux.tgz (Caused by SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131)'))) - - During handling of the above exception, another exception occurred: - - Traceback (most recent call last): - File "/opt/conda/lib/python3.8/site-packages/conda/gateways/connection/download.py", line 48, in download - resp = session.get(url, stream=True, proxies=session.proxies, timeout=timeout) - File "/opt/conda/lib/python3.8/site-packages/requests/sessions.py", line 546, in get - return self.request('GET', url, **kwargs) - File "/opt/conda/lib/python3.8/site-packages/requests/sessions.py", line 533, in request - resp = self.send(prep, **send_kwargs) - File "/opt/conda/lib/python3.8/site-packages/requests/sessions.py", line 646, in send - r = adapter.send(request, **kwargs) - File "/opt/conda/lib/python3.8/site-packages/requests/adapters.py", line 514, in send - raise SSLError(e, request=request) - requests.exceptions.SSLError: HTTPSConnectionPool(host='www.niehs.nih.gov', port=443): Max retries exceeded with url: /research/resources/assets/docs/artsrcmountrainier2016.06.05linux.tgz (Caused by SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131)'))) - - During handling of the above exception, another exception occurred: - - Traceback (most recent call last): - File "/opt/conda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2125, in build - try_download(m, no_download_source=False, raise_error=True) - File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 650, in try_download - source.provide(metadata) - File "/opt/conda/lib/python3.8/site-packages/conda_build/source.py", line 871, in provide - unpack(source_dict, src_dir, metadata.config.src_cache, recipe_path=metadata.path, - File "/opt/conda/lib/python3.8/site-packages/conda_build/source.py", line 146, in unpack - src_path, unhashed_fn = download_to_cache(cache_folder, recipe_path, source_dict, verbose) - File "/opt/conda/lib/python3.8/site-packages/conda_build/source.py", line 89, in download_to_cache - download(url, path) - File "/opt/conda/lib/python3.8/site-packages/conda/exports.py", line 374, in download - return _download(url, dst_path, md5=md5sum, sha256=sha256, size=size) - File "/opt/conda/lib/python3.8/site-packages/conda/common/io.py", line 84, in decorated - return f(*args, **kwds) - File "/opt/conda/lib/python3.8/site-packages/conda/gateways/connection/download.py", line 152, in download - raise CondaSSLError( - conda.exceptions.CondaSSLError: Encountered an SSL error. Most likely a certificate verification issue. - - Exception: HTTPSConnectionPool(host='www.niehs.nih.gov', port=443): Max retries exceeded with url: /research/resources/assets/docs/artsrcmountrainier2016.06.05linux.tgz (Caused by SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131)'))) -# Last 100 lines of the build log. diff --git a/recipes/art/build_failure.osx-64.yaml b/recipes/art/build_failure.osx-64.yaml deleted file mode 100644 index 7c058b08fdcd6..0000000000000 --- a/recipes/art/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: f30c59ba2eda60063e1b2d77f2a81886d1fa778acb7bf4d97990fd57e56b6189 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - zstd: 1.5.2-hbc0c0cd_6 conda-forge - - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache - Downloading source to cache: artsrcmountrainier2016.06.05linux_6df7ce4760.tgz - INFO:conda_build.source:Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache - Downloading https://www.niehs.nih.gov/research/resources/assets/docs/artsrcmountrainier2016.06.05linux.tgz - INFO:conda_build.source:Downloading source to cache: artsrcmountrainier2016.06.05linux_6df7ce4760.tgz - INFO:conda_build.source:Downloading https://www.niehs.nih.gov/research/resources/assets/docs/artsrcmountrainier2016.06.05linux.tgz - DEBUG:urllib3.util.retry:Incremented Retry for (url='/research/resources/assets/docs/artsrcmountrainier2016.06.05linux.tgz'): Retry(total=2, connect=None, read=None, redirect=None, status=None) - WARNING:urllib3.connectionpool:Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131)'))': /research/resources/assets/docs/artsrcmountrainier2016.06.05linux.tgz - DEBUG:urllib3.util.retry:Incremented Retry for (url='/research/resources/assets/docs/artsrcmountrainier2016.06.05linux.tgz'): Retry(total=1, connect=None, read=None, redirect=None, status=None) - WARNING:urllib3.connectionpool:Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131)'))': /research/resources/assets/docs/artsrcmountrainier2016.06.05linux.tgz - DEBUG:urllib3.util.retry:Incremented Retry for (url='/research/resources/assets/docs/artsrcmountrainier2016.06.05linux.tgz'): Retry(total=0, connect=None, read=None, redirect=None, status=None) - WARNING:urllib3.connectionpool:Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131)'))': /research/resources/assets/docs/artsrcmountrainier2016.06.05linux.tgz - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 670, in urlopen - httplib_response = self._make_request( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 381, in _make_request - self._validate_conn(conn) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 978, in _validate_conn - conn.connect() - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/connection.py", line 362, in connect - self.sock = ssl_wrap_socket( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/util/ssl_.py", line 386, in ssl_wrap_socket - return context.wrap_socket(sock, server_hostname=server_hostname) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/ssl.py", line 500, in wrap_socket - return self.sslsocket_class._create( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/ssl.py", line 1040, in _create - self.do_handshake() - File "/opt/mambaforge/envs/bioconda/lib/python3.8/ssl.py", line 1309, in do_handshake - self._sslobj.do_handshake() - ssl.SSLError: [SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131) - - During handling of the above exception, another exception occurred: - - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/requests/adapters.py", line 439, in send - resp = conn.urlopen( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 754, in urlopen - return self.urlopen( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 754, in urlopen - return self.urlopen( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 754, in urlopen - return self.urlopen( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 726, in urlopen - retries = retries.increment( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/util/retry.py", line 446, in increment - raise MaxRetryError(_pool, url, error or ResponseError(cause)) - urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='www.niehs.nih.gov', port=443): Max retries exceeded with url: /research/resources/assets/docs/artsrcmountrainier2016.06.05linux.tgz (Caused by SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131)'))) - - During handling of the above exception, another exception occurred: - - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda/gateways/connection/download.py", line 48, in download - resp = session.get(url, stream=True, proxies=session.proxies, timeout=timeout) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/requests/sessions.py", line 546, in get - return self.request('GET', url, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/requests/sessions.py", line 533, in request - resp = self.send(prep, **send_kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/requests/sessions.py", line 646, in send - r = adapter.send(request, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/requests/adapters.py", line 514, in send - raise SSLError(e, request=request) - requests.exceptions.SSLError: HTTPSConnectionPool(host='www.niehs.nih.gov', port=443): Max retries exceeded with url: /research/resources/assets/docs/artsrcmountrainier2016.06.05linux.tgz (Caused by SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131)'))) - - During handling of the above exception, another exception occurred: - - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2125, in build - try_download(m, no_download_source=False, raise_error=True) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/render.py", line 650, in try_download - source.provide(metadata) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/source.py", line 871, in provide - unpack(source_dict, src_dir, metadata.config.src_cache, recipe_path=metadata.path, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/source.py", line 146, in unpack - src_path, unhashed_fn = download_to_cache(cache_folder, recipe_path, source_dict, verbose) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/source.py", line 89, in download_to_cache - download(url, path) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda/exports.py", line 374, in download - return _download(url, dst_path, md5=md5sum, sha256=sha256, size=size) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda/common/io.py", line 84, in decorated - return f(*args, **kwds) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda/gateways/connection/download.py", line 152, in download - raise CondaSSLError( - conda.exceptions.CondaSSLError: Encountered an SSL error. Most likely a certificate verification issue. - - Exception: HTTPSConnectionPool(host='www.niehs.nih.gov', port=443): Max retries exceeded with url: /research/resources/assets/docs/artsrcmountrainier2016.06.05linux.tgz (Caused by SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131)'))) -# Last 100 lines of the build log. diff --git a/recipes/art/meta.yaml b/recipes/art/meta.yaml index 77be0c47cf51c..84123e4e38846 100644 --- a/recipes/art/meta.yaml +++ b/recipes/art/meta.yaml @@ -6,7 +6,9 @@ package: version: {{ version }} build: - number: 10 + number: 12 + run_exports: + - {{ pin_subpackage(name, max_pin=None) }} source: url: https://www.niehs.nih.gov/research/resources/assets/docs/artsrcmountrainier2016.06.05linux.tgz @@ -30,5 +32,12 @@ test: about: home: http://www.niehs.nih.gov/research/resources/software/biostatistics/art/ - license: GPLv2 + license: GPL-3.0-only + license_file: GPLv3.txt + license_family: GPL3 summary: 'Illumina, 454 and Solid read simulator' + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/artic-porechop/meta.yaml b/recipes/artic-porechop/meta.yaml index 0ed10f19cf40f..14c8c5cefb6f0 100644 --- a/recipes/artic-porechop/meta.yaml +++ b/recipes/artic-porechop/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 5 + number: 6 skip: True # [py27] entry_points: - porechop = porechop.porechop:main diff --git a/recipes/artic-tools/build.sh b/recipes/artic-tools/build.sh index d3bdf756d375b..7bfa49a89073f 100644 --- a/recipes/artic-tools/build.sh +++ b/recipes/artic-tools/build.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -xe + case "${target_platform}" in osx-*) export MACOSX_DEPLOYMENT_TARGET=10.12 ; esac #sed -i.bak 's/Boost_USE_STATIC_LIBS OFF/Boost_USE_STATIC_LIBS ON/' CMakeLists.txt @@ -15,7 +17,7 @@ popd mkdir build && pushd build cmake -DCMAKE_BUILD_TYPE=Release .. -make +make -j ${CPU_COUNT} popd mkdir -p $PREFIX/bin diff --git a/recipes/artic-tools/meta.yaml b/recipes/artic-tools/meta.yaml index 93280645ae17e..931a621ad0ae8 100644 --- a/recipes/artic-tools/meta.yaml +++ b/recipes/artic-tools/meta.yaml @@ -27,13 +27,15 @@ source: build: skip: True # [osx] - number: 5 + number: 7 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: build: - make - {{ compiler('cxx') }} - - cmake>=3.12 + - cmake >=3.12 - curl # used to grab headers during build, no release available to grab sooner host: - htslib @@ -66,5 +68,7 @@ about: summary: A set of tools for working with the ARTIC bioinformatic pipeline. extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - will-rowe diff --git a/recipes/artic/meta.yaml b/recipes/artic/meta.yaml index 447e7d20a3806..59642e631a4cb 100644 --- a/recipes/artic/meta.yaml +++ b/recipes/artic/meta.yaml @@ -1,6 +1,6 @@ {% set name = "artic" %} -{% set version = "1.2.3" %} -{% set sha256 = "92ddaf38c46681299b22ac91b4b64ec57c6d2965ea3886620fa9348398204506" %} +{% set version = "1.2.4" %} +{% set sha256 = "981219a49cec01dc82a9375b16f844278e797ad4034efa1eaa410ccb1849c617" %} package: name: {{ name|lower }} @@ -10,8 +10,10 @@ source: sha256: {{ sha256 }} build: - number: 0 + number: 1 noarch: python + run_exports: + - {{ pin_subpackage('artic', max_pin='x.x') }} script: python -m pip install --ignore-installed . entry_points: - artic=artic.pipeline:main @@ -32,29 +34,31 @@ requirements: - python >=3 - pip run: - - artic-porechop =0.3.2pre - - artic-tools =0.2.6 - - longshot =0.4.5 - - bcftools =1.15.1 - - biopython =1.79 - - bwa =0.7.17 - - clint =0.5.1 - - htslib =1.15.1 - - medaka >=1.6.1 - - minimap2 =2.24 - - multiqc =1.13 + - python + - artic-porechop >=0.3.2pre + - artic-tools + - longshot + - bcftools + - biopython + - bwa + - clint + - htslib + - medaka >=1.10.0 + - minimap2 >=2.26 + - multiqc - muscle =3.8 - - nanopolish =0.14.0 - - pandas =1.4.4 + - nanopolish >=0.14.0 + - pandas - pip - pysam - - pytest =7.1.3 - - python =3.8.13 - - pyvcf =0.6.8 - - pyfaidx =0.6.0 - - requests =2.28 - - samtools =1.15 - - tqdm =4.64 + - pytest + - pyvcf + - pyfaidx =0.6.0 # DO NOT CHANGE THIS PIN UNDER ANY CIRCUMSTANCES, IT WILL BREAK THE PIPELINE + - requests + - samtools + - tqdm + - keras-preprocessing >=1.1.2 + test: commands: diff --git a/recipes/arvados-python-client/meta.yaml b/recipes/arvados-python-client/meta.yaml index 1459e6302377b..c3bd699301f87 100644 --- a/recipes/arvados-python-client/meta.yaml +++ b/recipes/arvados-python-client/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "2.7.0" %} +{% set version = "2.7.4" %} package: name: arvados-python-client @@ -6,7 +6,7 @@ package: source: url: https://pypi.io/packages/source/a/arvados-python-client/arvados-python-client-{{ version }}.tar.gz - sha256: da948a17fcc8146175f17b37e14dc7ab12dfc96bb8b5e481e16568ea78918723 + sha256: 932398da39daba88041f1084d19019e7300cac462ef93f181f40aa85562ff275 build: noarch: python diff --git a/recipes/ashlar/meta.yaml b/recipes/ashlar/meta.yaml index 56f3226e440d9..0f70c9431a7f1 100644 --- a/recipes/ashlar/meta.yaml +++ b/recipes/ashlar/meta.yaml @@ -1,5 +1,5 @@ {% set name = "ashlar" %} -{% set version = "1.17.0" %} +{% set version = "1.18.0" %} package: name: "{{ name|lower }}" @@ -7,31 +7,34 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 3c4fb3a2d1ffee986f86c633d12f753544904ddccbd8499851badbdeec3142be + sha256: 2c0e8997a49daf64fc56b3afabc2e58a0eb2f6f9985d0c3c22be957bf8b03760 build: number: 0 entry_points: - ashlar=ashlar.scripts.ashlar:main - script: "{{ PYTHON }} -m pip install . -vv" + - preview_slide=ashlar.scripts.preview_slide:main + - make_alignment_movie=ashlar.scripts.make_alignment_movie:main + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" noarch: python + run_exports: + - {{ pin_subpackage('ashlar', max_pin="x") }} requirements: host: - pip - - python + - python <3.12 run: - blessed >=1.17 - matplotlib-base >=3.1.2 - networkx >=2.4 - numpy >=1.18.1 - - pip - pyjnius >=1.2.1 - - python + - python <3.12 - scikit-image ==0.19 - scikit-learn >=0.21.1 - scipy >=1.4.1 - - tifffile>=2022.4.8 + - tifffile >=2022.4.8 - zarr test: @@ -44,6 +47,8 @@ test: about: home: "https://github.com/sorgerlab/ashlar" license: MIT + license_family: MIT + license_file: LICENSE summary: "Alignment by Simultaneous Harmonization of Layer/Adjacency Registration" doc_url: https://labsyspharm.github.io/ashlar/ diff --git a/recipes/assembly-stats/meta.yaml b/recipes/assembly-stats/meta.yaml index 482798649fd68..9513521d7e277 100644 --- a/recipes/assembly-stats/meta.yaml +++ b/recipes/assembly-stats/meta.yaml @@ -12,8 +12,10 @@ source: - 0001-Fix-macOS-compilation.patch build: - number: 7 - + number: 8 + run_exports: + - {{ pin_subpackage("assembly-stats", max_pin="x") }} + requirements: build: - make @@ -30,3 +32,6 @@ about: home: https://github.com/sanger-pathogens/assembly-stats license: GPL-3.0 summary: 'Get assembly statistics from FASTA and FASTQ files' +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/assembly_finder/meta.yaml b/recipes/assembly_finder/meta.yaml index 0da7d56f0b95d..af993fa78011c 100644 --- a/recipes/assembly_finder/meta.yaml +++ b/recipes/assembly_finder/meta.yaml @@ -1,44 +1,50 @@ {% set name = "assembly_finder" %} -{% set version = "0.4.1" %} +{% set version = "0.7.7" %} package: name: "{{ name|lower }}" version: "{{ version }}" source: - - url: https://github.com/metagenlab/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz - sha256: be7b470ad55c5ca304816b7414bf6d8f50db351b92ed9c6be6842ec0ed8cee8b + url: https://github.com/metagenlab/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: 0c6542253464b8ba406aeddc630f5625db74a5e1e07911534be3add0500a1f02 + build: number: 0 - entry_points: - - assembly_finder = assembly_finder.assembly_finder:cli noarch: python - script: {{ PYTHON }} -m pip install --no-deps --ignore-installed . -vv + entry_points: + - assembly_finder=assembly_finder.__main__:main + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv run_exports: - {{ pin_subpackage('assembly_finder', max_pin="x.x") }} requirements: host: - - python >=3.9,<3.12 + - python >=3.10 - pip - run: - - python >=3.9,<3.12 - - snakemake-minimal >=7.32.4 - - click >=7 - - biopython >=1.78 - - pandas >=2.0.3 - - ete3 >=3.1.3 - - aspera-cli >=4.14.0 + - python >=3.10 + - mamba >=1.5.8 + - snakemake-minimal >=8.0.0 + - snaketool-utils >=0.0.5 + - attrmap >=0.0.7 + - pyyaml >=6.0 + - pandas >=2.2.1 + - rich-click >=1.7.4 + test: commands: - assembly_finder -h - assembly_finder -v + about: home: https://github.com/metagenlab/assembly_finder - license: GPL-3.0-or-later + license: MIT + license_family: MIT license_file: LICENSE - summary: Snakemake pipeline to download assemblies from NCBI. + summary: "Snakemake-powered cli pipeline to download genomes with NCBI datasets" + dev_url: https://github.com/metagenlab/assembly_finder + doc_url: https://metagenlab.github.io/assembly_finder extra: container: @@ -46,3 +52,5 @@ extra: recipe-maintainers: - farchaab - tpillone + identifiers: + - biotools:assembly_finder diff --git a/recipes/assemblycomparator2/build.sh b/recipes/assemblycomparator2/build.sh deleted file mode 100644 index 1c97f51cd74b7..0000000000000 --- a/recipes/assemblycomparator2/build.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env bash - - -# First we put the necessary files in into the conda prefix directory: -mkdir -p ${PREFIX}/assemblycomparator2 -cp asscom2 snakefile config.yaml LICENSE ${PREFIX}/assemblycomparator2 -cp -r assets conda_definitions profiles report_subpipeline scripts tests ${PREFIX}/assemblycomparator2 - -# This is the binary that we wish to be able to run. -mkdir -p ${PREFIX}/bin -ln -s ${PREFIX}/assemblycomparator2/asscom2 ${PREFIX}/bin/asscom2 - - -# # I hope these variables are accessible when the user activates the environment that runs ac2. -# ASSCOM2_BASE=$PREFIX -# ASSCOM2_PROFILE=${ASSCOM2_BASE}/profiles/apptainer/local -# ASSCOM2_DATABASES=${ASSCOM2_BASE}/databases # The user should override this in their .bashrc if they want to use a different dir. - -# # I think it is better to use backslash-sentinel, because then the user can change the variables after having activated the PREFIX environment, and the changes will have effect -# alias asscom2='snakemake --snakefile \${ASSCOM2_BASE}/snakefile --profile \${ASSCOM2_PROFILE} --configfile \${ASSCOM2_BASE}/config.yaml' diff --git a/recipes/assemblycomparator2/meta.yaml b/recipes/assemblycomparator2/meta.yaml deleted file mode 100644 index 350463aca94b1..0000000000000 --- a/recipes/assemblycomparator2/meta.yaml +++ /dev/null @@ -1,40 +0,0 @@ -{% set version = "2.5.14" %} - -package: - name: assemblycomparator2 - version: {{ version }} - -source: - url: https://github.com/cmkobel/assemblycomparator2/archive/refs/tags/v{{ version }}.tar.gz - sha256: d95f39d996330ab72ceffc5e8aa17b9348b39478fd2a4bfd01ca960adff2d20e - - -build: - number: 0 - run_exports: - - asscom2 - skip: True # [osx] - -requirements: - run: - - snakemake >=7.32.3 - - mamba >=1.4.9 # Necessary for snakemake to install child environments during development. - - -test: - commands: - - touch dummy.fa; asscom2 --help - - -about: - home: https://github.com/cmkobel/assemblycomparator2 - summary: 'assemblycomparator2: Compare prokaryotic genomic assemblies' - license_family: GPL - license: GPL-3.0 - license_file: LICENSE -extra: - skip-lints: - - should_be_noarch_generic - recipe-maintainers: - - cmkobel - diff --git a/recipes/aster/activate.sh b/recipes/aster/activate.sh new file mode 100644 index 0000000000000..8b7e185b7e5ce --- /dev/null +++ b/recipes/aster/activate.sh @@ -0,0 +1,3 @@ +export OLD_LD_LIBRARY_PATH=${LD_LIBRARY_PATH} +export LD_LIBRARY_PATH=${CONDA_PREFIX}/lib/:${LD_LIBRARY_PATH} +export SINGULARITYENV_LD_LIBRARY_PATH=${LD_LIBRARY_PATH} \ No newline at end of file diff --git a/recipes/aster/build.sh b/recipes/aster/build.sh index 786e3a99cae85..0dbd5f0bcda22 100644 --- a/recipes/aster/build.sh +++ b/recipes/aster/build.sh @@ -1,6 +1,13 @@ #!/bin/bash -sed -i.bak1 's/-march=native/-march=x86-64 -mtune=generic/g' makefile +for CHANGE in "activate" "deactivate" +do + mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d" + cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh" +done +if [ `uname -m` != "aarch64" ]; then + sed -i.bak1 's/-march=native/-march=x86-64 -mtune=generic/g' makefile +fi if [ "$(uname)" == "Darwin" ]; then sed -i.bak2 's/g++/${CXX}/g' makefile diff --git a/recipes/aster/deactivate.sh b/recipes/aster/deactivate.sh new file mode 100644 index 0000000000000..3b8e36f330814 --- /dev/null +++ b/recipes/aster/deactivate.sh @@ -0,0 +1,3 @@ +export LD_LIBRARY_PATH=${OLD_LD_LIBRARY_PATH} +unset OLD_LD_LIBRARY_PATH +unset SINGULARITYENV_LD_LIBRARY_PATH \ No newline at end of file diff --git a/recipes/aster/meta.yaml b/recipes/aster/meta.yaml index 74e9391b7ffa2..19c285b795681 100644 --- a/recipes/aster/meta.yaml +++ b/recipes/aster/meta.yaml @@ -1,6 +1,6 @@ -{% set version = "1.15" %} +{% set version = "1.16" %} {% set name = "ASTER" %} -{% set sha256 = "71618824a0f39135977709f21f3b6374815407411fb44474442a1a9c88a6c919" %} +{% set sha256 = "c6e80de483a0a59fc0d3a74465b1f793e773b9d79cbd20756c6766136ffbb1a7" %} package: name: "{{ name|lower }}" @@ -8,6 +8,8 @@ package: build: number: 2 + run_exports: + - {{ pin_subpackage('aster', max_pin="x") }} source: url: "https://github.com/chaoszhang/ASTER/archive/refs/tags/v{{ version }}.tar.gz" @@ -20,16 +22,21 @@ requirements: test: commands: - - master-site -h &> /dev/null # [linux] - - master-pair -h &> /dev/null # [linux] + - caster-site -h &> /dev/null # [linux] + - caster-pair -h &> /dev/null # [linux] + - waster-site -h &> /dev/null # [linux] - astral -h &> /dev/null - astral-pro -h &> /dev/null - astral-hybrid -h &> /dev/null about: home: https://github.com/chaoszhang/ASTER - license: AGPL-3.0 + license: AGPL-3.0-or-later + license_family: AGPL license_file: LICENSE summary: | Accurate Species Tree EstimatoR series; a family of optimation algorithms for species tree inference implemented in C++ +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/astral-tree/astral.py b/recipes/astral-tree/astral.py index f1b2e7421c1e6..2feff928efad7 100755 --- a/recipes/astral-tree/astral.py +++ b/recipes/astral-tree/astral.py @@ -76,24 +76,6 @@ def jvm_opts(argv): return (mem_opts, prop_opts, pass_args, exec_dir) -def def_temp_log_opts(args): - """ - Establish default temporary and log folders. - """ - TEMP = os.getenv("TEMP") - - if TEMP is not None: - if '-log' not in args: - args.append('-log') - args.append(TEMP+'/logs') - - if '-temp_folder' not in args : - args.append('-temp_folder') - args.append(TEMP) - - return args - - def main(): java = java_executable() """ @@ -104,7 +86,6 @@ def main(): we copy the jar file, lib, and resources to the exec_dir directory. """ (mem_opts, prop_opts, pass_args, exec_dir) = jvm_opts(sys.argv[1:]) - pass_args = def_temp_log_opts(pass_args) jar_dir = exec_dir if exec_dir else real_dirname(sys.argv[0]) if pass_args != [] and pass_args[0].startswith('eu'): diff --git a/recipes/astral-tree/meta.yaml b/recipes/astral-tree/meta.yaml index b3d9ae6d5b750..1def11046b60e 100644 --- a/recipes/astral-tree/meta.yaml +++ b/recipes/astral-tree/meta.yaml @@ -1,15 +1,17 @@ # Do not forget to update the version string in the astral_wrapper.py file {% set name = "Astral" %} {% set version = "5.7.8" %} -{% set sha256 = "7284f3f86d4824fb8b80a999f7495245961f2c62943c96c8ad9d626759f65b4e" %} +{% set sha256 = "7b3d89ca4fee42b00e547ed2485e60bebfdf7f0179cfc503f0c522d682483dea" %} package: name: {{ name|lower }}-tree version: {{ version }} build: - number: 0 + number: 1 noarch: generic + run_exports: + - {{ pin_subpackage('astral-tree', max_pin="x") }} source: url: https://github.com/smirarab/ASTRAL/raw/master/{{ name }}.{{ version }}.zip diff --git a/recipes/atac/build.sh b/recipes/atac/build.sh index b4a949f10528c..bcc44e6a711ac 100644 --- a/recipes/atac/build.sh +++ b/recipes/atac/build.sh @@ -3,8 +3,11 @@ make \ CC="${CC} ${CFLAGS} ${CPPFLAGS}" \ CXX="${CXX} ${CXXFLAGS} ${CPPFLAGS} -std=c++03" \ CLDFLAGS="${LDFLAGS}" \ - CXXLDFLAGS="${LDFLAGS}" \ - install + CXXLDFLAGS="${LDFLAGS}" +if [ `uname -m` == "aarch64" ]; then + sed -i "s/Linux-i686/Linux-aarch64/" ${SRC_DIR}/Make.compilers +fi +make install mkdir -p $PREFIX @@ -12,6 +15,10 @@ if [ `uname` == Darwin ]; then cp Darwin-amd64/bin/* $PREFIX/bin/ cp Darwin-amd64/include/* $PREFIX/include/ cp Darwin-amd64/lib/* $PREFIX/lib/ +elif [ `uname -m` == "aarch64" ]; then + cp Linux-aarch64/bin/* $PREFIX/bin/ + cp Linux-aarch64/include/* $PREFIX/include/ + cp Linux-aarch64/lib/* $PREFIX/lib/ else cp Linux-amd64/bin/* $PREFIX/bin/ cp Linux-amd64/include/* $PREFIX/include/ diff --git a/recipes/atac/meta.yaml b/recipes/atac/meta.yaml index b2610cc218ce7..461a57b0f11a1 100644 --- a/recipes/atac/meta.yaml +++ b/recipes/atac/meta.yaml @@ -9,9 +9,10 @@ source: md5: e23ef1d41836b29332b70271b7c9eb74 build: - number: 4 - skip: True # [py>=30] - + number: 6 + run_exports: + - {{ pin_subpackage("atac", max_pin=None) }} + requirements: build: - make @@ -37,3 +38,5 @@ about: extra: identifiers: - biotools:atac + additional-platforms: + - linux-aarch64 diff --git a/recipes/ataqv/build.sh b/recipes/ataqv/build.sh index 609f92584efa8..9bcf0ed453914 100644 --- a/recipes/ataqv/build.sh +++ b/recipes/ataqv/build.sh @@ -1,9 +1,11 @@ #!/bin/bash +set -xe + ## SET APPROPRIATE ENVIRONMENT VARIABLES AND BUILD export LIBRARY_PATH="${PREFIX}/lib" export LD_LIBRARY_PATH="${PREFIX}/lib" -make CPPFLAGS="-I$PREFIX/include" LDFLAGS="-L$PREFIX/lib" +make -j ${CPU_COUNT} CPPFLAGS="-I$PREFIX/include" LDFLAGS="-L$PREFIX/lib" ## MAKE EXECUTABLES EXECUTABLE! chmod a+x ./build/ataqv diff --git a/recipes/ataqv/meta.yaml b/recipes/ataqv/meta.yaml index 9f1838132a0a0..58f8c7bb4ecaf 100644 --- a/recipes/ataqv/meta.yaml +++ b/recipes/ataqv/meta.yaml @@ -7,7 +7,9 @@ package: version: {{ version }} build: - number: 2 + number: 4 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} source: url: https://github.com/ParkerLab/ataqv/archive/{{ version }}.tar.gz @@ -41,8 +43,13 @@ test: about: home: https://parkerlab.github.io/ataqv/ - license: GPL3 + license: GPL-3.0-only license_file: LICENSE summary: ataqv is a toolkit for measuring and comparing ATAC-seq results. It was written to help understand how well ATAC-seq assays have worked, and to make it easier to spot differences that might be caused by library prep or sequencing. dev_url: https://github.com/ParkerLab/ataqv doc_url: https://github.com/ParkerLab/ataqv/blob/master/README.rst + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 \ No newline at end of file diff --git a/recipes/atlas-gene-annotation-manipulation/meta.yaml b/recipes/atlas-gene-annotation-manipulation/meta.yaml index 78ccb7f53235b..b950a1054c28a 100644 --- a/recipes/atlas-gene-annotation-manipulation/meta.yaml +++ b/recipes/atlas-gene-annotation-manipulation/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.1.0" %} +{% set version = "1.1.1" %} package: name: atlas-gene-annotation-manipulation @@ -6,11 +6,13 @@ package: source: url: https://github.com/ebi-gene-expression-group/atlas-gene-annotation-manipulation/archive/v{{ version }}.tar.gz - sha256: 402b8a93a0bcab374c51d24048149b80e3fd7d1d78e6c8c93ca22804d06c59df + sha256: 25df8b43bbdacd7b05534ccae818cc290c1c5159c4d67cc0dafe52050c681480 build: number: 0 noarch: generic + run_exports: + - {{ pin_subpackage("atlas-gene-annotation-manipulation", max_pin="x") }} requirements: build: diff --git a/recipes/atropos/meta.yaml b/recipes/atropos/meta.yaml index 407d86835a930..3465bbd568dd6 100644 --- a/recipes/atropos/meta.yaml +++ b/recipes/atropos/meta.yaml @@ -1,6 +1,6 @@ {% set name = "atropos" %} -{% set version = "1.1.31" %} -{% set hash = "5219575de12334d4b6a365ff682d6271d54fb01568ae52cc27522e33684789c6" %} +{% set version = "1.1.32" %} +{% set sha256 = "17e9dc3d76d7a2ca607a12da191a6d7ba1cfbd1a8c924215870417f85858fd83" %} package: name: {{ name }} @@ -8,15 +8,14 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: {{ hash }} - patches: - - python310.patch + sha256: {{ sha256 }} build: - number: 3 + number: 2 # Ensure Cython is rerun by removing *.c output files and PKG-INFO (checked for by setup.py) - script: find . "(" -name "*.c" -o -name PKG-INFO ")" -exec rm {} ";" && python -m pip install --no-deps --ignore-installed . - skip: True # [py27] + script: find . "(" -name "*.c" -o -name PKG-INFO ")" -exec rm {} ";" && {{ PYTHON }} -m pip install --no-deps --no-build-isolation . -vvv + run_exports: + - {{ pin_subpackage('atropos', max_pin="x") }} requirements: build: @@ -36,6 +35,11 @@ test: - atropos | grep "Atropos version" about: - home: https://atropos.readthedocs.io/ + home: https://github.com/jdidion/atropos license: CC0 and partly MIT summary: 'trim adapters from high-throughput sequencing reads' + doc_url: https://atropos.readthedocs.io + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/atropos/python310.patch b/recipes/atropos/python310.patch deleted file mode 100644 index cb8c9ba8952c8..0000000000000 --- a/recipes/atropos/python310.patch +++ /dev/null @@ -1,49 +0,0 @@ -commit 740d337e89320dbd1ba5c011333193cbb5eb952a -Author: John Marshall -Date: Sun Sep 11 17:45:11 2022 +0100 - - Import ABCs from collections.abc (Python 3.10 compatibility) - - These classes are no longer available in collections in 3.10. - The collections.abc module was introduced in 3.3, and atropos - supports only Python >= 3.3, so fortunately there is no need - to make this conditional. - -diff --git a/atropos/commands/base.py b/atropos/commands/base.py -index 2a05b6c..0a5cd9e 100644 ---- a/atropos/commands/base.py -+++ b/atropos/commands/base.py -@@ -1,6 +1,6 @@ - """Common classes/functions used in commands. - """ --from collections import Sequence -+from collections.abc import Sequence - import copy - import platform - import sys -diff --git a/atropos/commands/trim/__init__.py b/atropos/commands/trim/__init__.py -index c8d6cb8..536c2a5 100644 ---- a/atropos/commands/trim/__init__.py -+++ b/atropos/commands/trim/__init__.py -@@ -1,6 +1,7 @@ - """Implementation of the 'trim' command. - """ --from collections import Sequence, defaultdict -+from collections import defaultdict -+from collections.abc import Sequence - import logging - import os - import sys -diff --git a/atropos/util/__init__.py b/atropos/util/__init__.py -index d5d9bf3..68af7a2 100644 ---- a/atropos/util/__init__.py -+++ b/atropos/util/__init__.py -@@ -1,6 +1,7 @@ - """Widely useful utility methods. - """ --from collections import OrderedDict, Iterable, Sequence -+from collections import OrderedDict -+from collections.abc import Iterable, Sequence - from datetime import datetime - import errno - import functools diff --git a/recipes/attotree/meta.yaml b/recipes/attotree/meta.yaml new file mode 100644 index 0000000000000..9b66f40105c9d --- /dev/null +++ b/recipes/attotree/meta.yaml @@ -0,0 +1,42 @@ +{% set name = "attotree" %} +{% set version = "0.1.6" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + sha256: 9794d2051c007e2e2f38cae53492c2c17b74e6cde2ee5859a8b051dbd65f3a78 + +build: + number: 0 + noarch: python + entry_points: + - attotree=attotree.attotree:main + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('attotree', max_pin="x") }} + +requirements: + host: + - pip + - python >=3 + run: + - python >=3 + - mash + - quicktree + +test: + imports: + - attotree + +about: + home: https://github.com/karel-brinda/attotree + license: MIT + license_family: MIT + license_file: LICENSE.txt + doc_url: https://github.com/karel-brinda/attotree + summary: 'rapid estimation of phylogenetic trees using sketching' + + diff --git a/recipes/augur/meta.yaml b/recipes/augur/meta.yaml index 21d5c1cf2ebbe..ba381bb2d3dea 100644 --- a/recipes/augur/meta.yaml +++ b/recipes/augur/meta.yaml @@ -1,15 +1,15 @@ -{% set version = "23.1.1" %} +{% set version = "26.0.0" %} package: name: augur version: {{ version }} source: - url: https://pypi.io/packages/source/n/nextstrain-augur/nextstrain-augur-{{ version }}.tar.gz - sha256: 1b6f8fb1f20c147d24806764761f8e977c8e100a58e04e06d3110bb72268518f + url: https://github.com/nextstrain/augur/releases/download/{{ version }}/nextstrain_augur-{{ version }}.tar.gz + sha256: 0040d881eca4d695b75ba87c07a6c7abbdd13cc3e200606d77b38b875348cb07 build: - number: 1 + number: 0 noarch: python entry_points: - augur = augur.__main__:main @@ -23,20 +23,21 @@ requirements: - pip run: - python >=3.8 - - bcbio-gff >=0.7.0,<0.8 - - biopython >=1.73,!=1.77,!=1.78 + - bcbio-gff >=0.7.1,<0.8 + - biopython >=1.80,<2 - cvxopt >=1.1.9,<2 - importlib_resources >=5.3.0 # [py<311] - isodate >=0.6.0,<0.7 - jsonschema >=3.0.0,<4 - - networkx >=2.5, <3 + - networkx >=2.5,<4 - numpy >=1.0.0,<2 - packaging >=19.2 - pandas >=1.0.0,<2 - pyfastx >=1.0.0,<3 + - python-calamine >=0.2.0 - scipy >=1.0.0,<2 - - treetime >=0.10.0,<0.12 - - xopen[zstd] >=1.7.0,<2 + - treetime >=0.11.2,<0.12 + - xopen[zstd] >=1.7.0,<3 - fasttree - iqtree @@ -58,7 +59,10 @@ about: license_file: LICENSE.txt extra: + identifiers: + - doi:10.21105/joss.02906 recipe-maintainers: + - nextstrain-bot - huddlej - tsibley - victorlin diff --git a/recipes/augustus/3.3.3/build_failure.osx-64.yaml b/recipes/augustus/3.3.3/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..7d8410da8f38d --- /dev/null +++ b/recipes/augustus/3.3.3/build_failure.osx-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: be13d36eb1c14158ca987c33153650e289a0b64ea14456830f65ae7c8cb58b9b # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: compiler error +log: |- + ../src/Coord_Transform.cpp:77:7: error: use of undeclared identifier 'bind2nd' + bind2nd(finding_intron_greater_s(), i)); + ^ + ../src/Coord_Transform.cpp:81:7: error: use of undeclared identifier 'bind2nd' + bind2nd(finding_intron_greater_e(), i)); + ^ + ../src/Coord_Transform.cpp:89:7: error: use of undeclared identifier 'bind2nd' + bind2nd(finding_intron_lesser_e(), i)); + ^ + ../src/Coord_Transform.cpp:93:7: error: use of undeclared identifier 'bind2nd' + bind2nd(finding_intron_lesser_s(), i)); + ^ + 8 errors generated. + make[2]: *** [src/subdir.mk:41: src/Coord_Transform.o] Error 1 + make[1]: *** [Makefile:13: all] Error 2 + make: *** [Makefile:9: all] Error 2 + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/augustus-3.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/augustus-3.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -DUSE_BOOST -I$PREFIX/include/bamtools -Wall -O2 -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -c bam2hints.cc -o bam2hints.o -I$PREFIX/include/bamtools + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/augustus-3.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -DUSE_BOOST -I$PREFIX/include/bamtools -Wall -O2 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -o bam2hints bam2hints.o -L$PREFIX/lib/ -lbamtools -lz + mkdir -p ../../bin + cp bam2hints ../../bin + make[2]: Leaving directory '$SRC_DIR/auxprogs/bam2hints' + cd compileSpliceCands; make; + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + make[2]: Entering directory '$SRC_DIR/auxprogs/compileSpliceCands' + x86_64-apple-darwin13.4.0-clang -Wall -pedantic -ansi -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -c compileSpliceCands.c + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/augustus-3.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -c -o list.o list.c + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + x86_64-apple-darwin13.4.0-clang -o compileSpliceCands compileSpliceCands.o list.o; + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/augustus_1718124280585/work/conda_build.sh']' returned non-zero exit status 2. + cp compileSpliceCands ../../bin/compileSpliceCands + make[2]: Leaving directory '$SRC_DIR/auxprogs/compileSpliceCands' + cd filterBam; make; + make[2]: Entering directory '$SRC_DIR/auxprogs/filterBam' + (cd src;make) + make[3]: Entering directory '$SRC_DIR/auxprogs/filterBam/src' + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/augustus-3.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -Wall -O2 -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -c filterBam.cc -o filterBam.o -I$PREFIX/include/bamtools -Iheaders -I./bamtools + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/augustus-3.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -Wall -O2 -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -c functions/MatePairs.cc -o MatePairs.o -I$PREFIX/include/bamtools -Iheaders -I./bamtools + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/augustus-3.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -Wall -O2 -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -c functions/getReferenceName.cc -o getReferenceName.o -I$PREFIX/include/bamtools -Iheaders -I./bamtools + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/augustus-3.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -Wall -O2 -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -c functions/initOptions.cc -o initOptions.o -I$PREFIX/include/bamtools -Iheaders -I./bamtools + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/augustus-3.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -Wall -O2 -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -c functions/SingleAlignment.cc -o SingleAlignment.o -I$PREFIX/include/bamtools -Iheaders -I./bamtools + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/augustus-3.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -Wall -O2 -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -c functions/printElapsedTime.cc -o printElapsedTime.o -I$PREFIX/include/bamtools -Iheaders -I./bamtools + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/augustus-3.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -Wall -O2 -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -c functions/sumMandIOperations.cc -o sumMandIOperations.o -I$PREFIX/include/bamtools -Iheaders -I./bamtools + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/augustus-3.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -Wall -O2 -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -c functions/sumDandIOperations.cc -o sumDandIOperations.o -I$PREFIX/include/bamtools -Iheaders -I./bamtools + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/augustus-3.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -Wall -O2 -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -c functions/PairednessCoverage.cc -o PairednessCoverage.o -I$PREFIX/include/bamtools -Iheaders -I./bamtools + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/augustus-3.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -Wall -O2 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib filterBam.o MatePairs.o getReferenceName.o initOptions.o SingleAlignment.o printElapsedTime.o sumMandIOperations.o sumDandIOperations.o PairednessCoverage.o -o filterBam -L$PREFIX/lib/ -lbamtools -lz + filterBam compiled with BAMTOOLS=$PREFIX + mv filterBam ../../../bin/filterBam + make[3]: Leaving directory '$SRC_DIR/auxprogs/filterBam/src' + make[2]: Leaving directory '$SRC_DIR/auxprogs/filterBam' + cd homGeneMapping; make; + make[2]: Entering directory '$SRC_DIR/auxprogs/homGeneMapping' + (cd src; make) + make[3]: Entering directory '$SRC_DIR/auxprogs/homGeneMapping/src' + x86_64-apple-darwin13.4.0-clang -c -Wall -Wno-sign-compare -ansi -pedantic -std=c0x -pthread -O2 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/augustus-3.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/augustus-3.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -DUSE_BOOST -I$PREFIX/include/bamtools -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -o gene.o gene.cc -I../include -I$PREFIX/include + x86_64-apple-darwin13.4.0-clang -c -Wall -Wno-sign-compare -ansi -pedantic -std=c0x -pthread -O2 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/augustus-3.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/augustus-3.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -DUSE_BOOST -I$PREFIX/include/bamtools -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -o genome.o genome.cc -I../include -I$PREFIX/include + x86_64-apple-darwin13.4.0-clang -Wall -Wno-sign-compare -ansi -pedantic -std=c0x -pthread -O2 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/augustus-3.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -o homGeneMapping main.cc gene.o genome.o -I../include -I$PREFIX/include + mkdir -p ../../../bin/ + cp homGeneMapping ../../../bin/homGeneMapping + make[3]: Leaving directory '$SRC_DIR/auxprogs/homGeneMapping/src' + make[2]: Leaving directory '$SRC_DIR/auxprogs/homGeneMapping' + cd joingenes; make; + make[2]: Entering directory '$SRC_DIR/auxprogs/joingenes' + x86_64-apple-darwin13.4.0-clang -c -Wall -std=gnu0x -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/augustus-3.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -DUSE_BOOST -I$PREFIX/include/bamtools -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib joingenes.cpp + x86_64-apple-darwin13.4.0-clang -c -Wall -std=gnu0x -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/augustus-3.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -DUSE_BOOST -I$PREFIX/include/bamtools -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib jg_transcript.cpp + x86_64-apple-darwin13.4.0-clang -c -Wall -std=gnu0x -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/augustus-3.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -DUSE_BOOST -I$PREFIX/include/bamtools -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib jg_ios.cpp + x86_64-apple-darwin13.4.0-clang -Wall -std=gnu0x -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/augustus-3.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -DUSE_BOOST -I$PREFIX/include/bamtools -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib joingenes.o jg_transcript.o jg_ios.o -o joingenes + cp joingenes ../../bin/ + make[2]: Leaving directory '$SRC_DIR/auxprogs/joingenes' + cd bam2wig; make; + make[2]: Entering directory '$SRC_DIR/auxprogs/bam2wig' + x86_64-apple-darwin13.4.0-clang -Wall -O2 -I$PREFIX/include/samtools -I. -I$PREFIX/include/bam -I$PREFIX/include -c bam2wig.c -o bam2wig.o + x86_64-apple-darwin13.4.0-clang -Wall -O2 -I$PREFIX/include/samtools -I. -I$PREFIX/include/bam -I$PREFIX/include bam2wig.o -o bam2wig -lbam -lhts -lncurses -lm -lz -lpthread -lcurl -lbz2 -llzma -L$PREFIX/lib/ + mkdir -p ../../bin + cp bam2wig ../../bin/bam2wig + make[2]: Leaving directory '$SRC_DIR/auxprogs/bam2wig' + cd utrrnaseq/Debug; make all; + make[2]: Entering directory '$SRC_DIR/auxprogs/utrrnaseq/Debug' + Building file: ../src/Compute_UTRs.cpp + Invoking: GCC C Compiler + x86_64-apple-darwin13.4.0-clang -I$PREFIX/include -O0 -g3 -pedantic -Wall -c -fmessage-length=0 -MMD -MP -MF"src/Compute_UTRs.d" -MT"src/Compute_UTRs.o" -o "src/Compute_UTRs.o" "../src/Compute_UTRs.cpp" + Finished building: ../src/Compute_UTRs.cpp + + Building file: ../src/Coord_Transform.cpp + Invoking: GCC C Compiler + x86_64-apple-darwin13.4.0-clang -I$PREFIX/include -O0 -g3 -pedantic -Wall -c -fmessage-length=0 -MMD -MP -MF"src/Coord_Transform.d" -MT"src/Coord_Transform.o" -o "src/Coord_Transform.o" "../src/Coord_Transform.cpp" + make[2]: Leaving directory '$SRC_DIR/auxprogs/utrrnaseq/Debug' + make[1]: Leaving directory '$SRC_DIR/auxprogs' +# Last 100 lines of the build log. diff --git a/recipes/augustus/3.3.3/meta.yaml b/recipes/augustus/3.3.3/meta.yaml index 6da13bf32af1b..b8348d67a24f7 100644 --- a/recipes/augustus/3.3.3/meta.yaml +++ b/recipes/augustus/3.3.3/meta.yaml @@ -22,7 +22,7 @@ source: - patches/src.makefile.patch build: - number: 12 + number: 13 requirements: build: diff --git a/recipes/augustus/meta.yaml b/recipes/augustus/meta.yaml index fe01186ae281b..7faa39e763a44 100644 --- a/recipes/augustus/meta.yaml +++ b/recipes/augustus/meta.yaml @@ -13,7 +13,7 @@ source: - patches/utrrnaseq.patch build: - number: 3 + number: 4 requirements: build: diff --git a/recipes/auspice/build.sh b/recipes/auspice/build.sh index 9ba71400235ea..bc9e16bc339b8 100644 --- a/recipes/auspice/build.sh +++ b/recipes/auspice/build.sh @@ -1,18 +1,21 @@ #!/bin/sh -set -euo pipefail +set -xeuo -mkdir -p $PREFIX/lib/auspice -pushd $PREFIX/lib/auspice - yarn add --non-interactive --ignore-engines $SRC_DIR -popd +AUSPICE_LIB_DIR="$PREFIX"/lib/auspice +mkdir -p "$AUSPICE_LIB_DIR" +cd "$AUSPICE_LIB_DIR" +yarn add --non-interactive --ignore-engines "$SRC_DIR" +yarn cache clean --all # Remove 250 MB source cache added -mkdir -p $PREFIX/bin -pushd $PREFIX/bin - ln -s ../lib/auspice/node_modules/.bin/auspice . -popd +BIN_DIR="$PREFIX"/bin +mkdir -p "$BIN_DIR" +cd "$BIN_DIR" +ln -s ../lib/auspice/node_modules/.bin/auspice . # For the license_file field in meta.yaml -cp $PREFIX/lib/auspice/node_modules/auspice/LICENSE.txt $SRC_DIR -if [ -f $PREFIX/lib/auspice/node_modules/watchpack-chokidar2/node_modules/fsevents/build/node_gyp_bins/python3 ] ; then - unlink $PREFIX/lib/auspice/node_modules/watchpack-chokidar2/node_modules/fsevents/build/node_gyp_bins/python3 +cp "$AUSPICE_LIB_DIR"/node_modules/auspice/LICENSE.txt "$SRC_DIR" + +NODE_GYP_PYTHON="$AUSPICE_LIB_DIR"/node_modules/watchpack-chokidar2/node_modules/fsevents/build/node_gyp_bins/python3 +if [ -f "$NODE_GYP_PYTHON" ]; then + unlink "$NODE_GYP_PYTHON" fi diff --git a/recipes/auspice/meta.yaml b/recipes/auspice/meta.yaml index 32592ef4fcbe1..ee058b1597a18 100644 --- a/recipes/auspice/meta.yaml +++ b/recipes/auspice/meta.yaml @@ -1,17 +1,18 @@ -{% set version = "2.50.0" %} +{% set version = "2.58.0" %} +{% set name = "auspice" %} package: - name: auspice + name: {{ name }} version: {{ version }} source: - url: https://registry.npmjs.org/auspice/-/auspice-{{ version }}.tgz - sha256: 60642de3c9cbbce388a81668f1d116ca8c28520abe5770298dd51aebd94660b0 + url: https://registry.npmjs.org/{{ name }}/-/{{ name }}-{{ version }}.tgz + sha256: cb746010b28de5d0232258113820c551f6f4287e5b0ff67a1e5854adc381ac96 build: number: 0 run_exports: - - {{ pin_subpackage("auspice", max_pin="x.x") }} + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: build: @@ -20,26 +21,35 @@ requirements: - "{{ compiler('c') }}" - "{{ compiler('cxx') }}" - nodejs 16.*|18.*|20.* - - python * + - python - pkg-config - yarn 1.* + host: + - icu run: - nodejs 16.*|18.*|20.* test: commands: - auspice --help + - auspice -v about: home: https://docs.nextstrain.org/projects/auspice/ doc_url: https://docs.nextstrain.org/projects/auspice/ dev_url: https://github.com/nextstrain/auspice summary: Auspice is an open-source interactive tool for visualising phylogenomic data - license: AGPL-3.0 + license: AGPL-3.0-only license_file: LICENSE.txt license_family: AGPL extra: + identifiers: + # Generic Nextstrain paper, for lack of specific Auspice one + - doi:10.1093/bioinformatics/bty407 + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - jameshadfield - victorlin diff --git a/recipes/autometa/meta.yaml b/recipes/autometa/meta.yaml index 9eed1bfdd1402..7c597a527fa77 100644 --- a/recipes/autometa/meta.yaml +++ b/recipes/autometa/meta.yaml @@ -1,6 +1,6 @@ {% set name = "Autometa" %} -{% set sha256 = "2608df1e2727329b3d87a80d85b51f8d79c89d71d90b66c04b9df15e014580c9" %} -{% set version = "2.2.1" %} +{% set sha256 = "2c41f6c7424bf5159375227136f2141415ad69b4ca019fbe85d671986716ef1c" %} +{% set version = "2.2.3" %} package: name: {{ name|lower }} @@ -28,13 +28,13 @@ requirements: - python >=3.7 - attrs - bedtools - - biopython + - biopython >=1.82 - bowtie2 - diamond >=2.0 - gdown - hmmer - numpy >=1.13 - - pandas >=1.1 + - pandas >=1.5 - parallel - prodigal >=2.5 - requests diff --git a/recipes/aviary/meta.yaml b/recipes/aviary/meta.yaml index eba258abc566c..bc5287938478b 100644 --- a/recipes/aviary/meta.yaml +++ b/recipes/aviary/meta.yaml @@ -1,29 +1,31 @@ -{% set version = "0.8.3" %} +{% set version = "0.9.2" %} {% set name = "aviary" %} -{% set sha256 = "c484f2bef8ac783e2fbb93270b8a8e034e1139eef2bf641ccfa3a4f17e78abcb" %} +{% set sha256 = "83e18bbd2abf347ae7e0d83d81d671031a6a98324b01053e79c0d86b989c95ba" %} package: name: aviary version: {{ version }} +source: + url: https://github.com/rhysnewell/{{ name }}/releases/download/v{{ version }}/aviary-genome-{{ version }}.tar.gz + sha256: {{ sha256 }} + build: number: 0 noarch: python - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + entry_points: + - aviary = aviary.aviary:main run_exports: - - {{ pin_subpackage('aviary', max_pin="x") }} - -source: - url: https://github.com/rhysnewell/{{ name }}/releases/download/v{{ version }}/aviary-genome-{{ version }}.tar.gz - sha256: {{ sha256 }} + - {{ pin_subpackage('aviary', max_pin="x.x") }} requirements: host: - - python >=3.8 + - python >=3.8,<3.12 - pip run: - - python >=3.8,<=3.11 - - snakemake >=7.0.0,<=7.32.3 + - python >=3.8,<3.12 + - snakemake-minimal >=7.0.0,<=7.32.3 - ruamel.yaml >=0.15.99 - numpy - pandas @@ -41,11 +43,12 @@ test: about: home: https://github.com/rhysnewell/aviary/ doc_url: https://rhysnewell.github.io/aviary/ - license: GPL3 + dev_url: https://github.com/rhysnewell/aviary/ + license: GPL-3.0-or-later + license_family: GPL3 license_file: LICENSE summary: End-to-end metagenomics hybrid assembly and binning pipeline. description: | Aviary is an easy to use hybrid assembler and metagenomic pipeline For more details see documentation: https://rhysnewell.github.io/aviary/. - diff --git a/recipes/b2b-utils/meta.yaml b/recipes/b2b-utils/meta.yaml index 4c3cffdd7e2ac..3005bb5005855 100755 --- a/recipes/b2b-utils/meta.yaml +++ b/recipes/b2b-utils/meta.yaml @@ -1,6 +1,6 @@ {% set name = "b2b-utils" %} -{% set version = "0.018" %} -{% set sha256 = "4629fb8b16c1198737684168aa75af8a25937e7c7e758b9ec9e52e9114b137c8" %} +{% set version = "0.019" %} +{% set sha256 = "91bc2b5cb1f093f42b51e218c398e5fffdbd7bda36a6281b3e30fa2c1c784e83" %} package: name: "{{ name|lower }}" @@ -12,6 +12,8 @@ source: build: number: 0 + run_exports: + - {{ pin_subpackage('b2b-utils', max_pin="x.x") }} requirements: host: @@ -66,8 +68,8 @@ test: about: home: https://github.com/jvolkening/b2b-utils dev_url: https://github.com/jvolkening/b2b-utils - license: GPLv3 - license_family: GPL + license: GPL-3.0-or-later + license_family: GPL3 license_file: LICENSE summary: Genomics tools from BASE2BIO description: | diff --git a/recipes/b2btools/LICENSE b/recipes/b2btools/LICENSE new file mode 100644 index 0000000000000..e72bfddabc15b --- /dev/null +++ b/recipes/b2btools/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. \ No newline at end of file diff --git a/recipes/b2btools/meta.yaml b/recipes/b2btools/meta.yaml index ee132b4d4c57d..de3f610bf4e45 100644 --- a/recipes/b2btools/meta.yaml +++ b/recipes/b2btools/meta.yaml @@ -1,5 +1,5 @@ -{% set name = "b2bTools" %} -{% set version = "3.0.6" %} +{% set name = "b2btools" %} +{% set version = "3.0.7" %} package: name: "{{ name|lower }}" @@ -7,128 +7,84 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 3617afcfe76cbff3a6bfad4060f962568565fb691b978f87d8db78cde97da58b + sha256: b3c9f10c10c8a12c390a79016e01b7e4d165bf1c94dce48e72d31891cb552c29 build: number: 0 - script: "{{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv" - noarch: python + skip: true # [py >= 311] entry_points: - b2bTools = b2bTools.__main__:main + - b2btools = b2bTools.__main__:main + script: "{{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv" + run_exports: + - {{ pin_subpackage('b2btools', max_pin="x.x") }} requirements: + build: + - {{ compiler('c') }} # [linux] + - {{ compiler('cxx') }} # [linux] + - clang_osx-64 # [osx] + - clangxx_osx-64 # [osx] host: - - python >=3.7,<3.10 + - python <3.11 - pip run: - - biopython ==1.81 - - certifi ==2023.5.7 - - charset-normalizer ==3.1.0 - - cycler ==0.11.0 - - exceptiongroup ==1.1.1 - - fonttools ==4.38.0 + - python <3.11 - hmmer - - idna ==3.4 - - importlib-metadata ==6.7.0 - - iniconfig ==2.0.0 - - joblib ==1.2.0 - - kiwisolver ==1.4.4 - - matplotlib-base ==3.5.3 - - networkx ==2.6.3 - - numpy ==1.21.6 #[py37] - - numpy ==1.24.4 #[py38, py39] - - packaging ==23.1 - - pandas >=1.1,<=1.2 - - pillow ==9.5.0 - - pluggy ==1.2.0 - - pomegranate ==0.14.8 - - pyparsing ==3.1.0 - - python-dateutil ==2.8.2 - - pytorch >=1.8.0 #,<1.13.1 - - pytz ==2023.3 - - PyYAML ==6.0 - - requests ==2.31.0 - - scikit-learn ==1.0.1 - - scipy ==1.10.1 - t-coffee - - threadpoolctl ==3.1.0 - - tomli ==2.0.1 - - tqdm ==4.65.0 - - typing_extensions ==4.6.3 - - urllib3 ==1.26.6 - - zipp ==3.15.0 + - biopython >=1.80,<2 # [py < 310] + - biopython >=1.83,<2 # [py >= 310] + - matplotlib-base >=3.5.3,<3.6 + - numpy ==1.21.6 # [py == 37] + - numpy ==1.24.4 # [py == 38] + - numpy >=1.21.6,<1.27 # [py >= 39] + - pandas >=1.1,<1.2 # [py < 38] + - pandas >=1.5.3,<1.6 # [py >= 38] + - pomegranate >=0.14.8,<=0.14.9 + - requests >=2.0 # [py <= 39] + - requests >=2.31.0,<2.32 # [py > 39] + - scikit-learn ==1.0.2 # [py <= 310] + - scipy ==1.7.3 # [py < 38] + - scipy ==1.10.1 # [py >= 38 and py < 310] + - scipy ==1.12.0 # [py >= 310] + - pytorch >=1.11.0,<=1.13.1 # [py <= 310] + - urllib3 >=1.26.6,<1.27 test: imports: - b2bTools - - b2bTools.general - - b2bTools.general.bmrb - - b2bTools.general.ccpn - - b2bTools.general.ccpn.format - - b2bTools.general.ccpn.format.general - - b2bTools.general.ccpn.format.nmrStar - - b2bTools.general.ccpn.general - - b2bTools.general.ccpn.universal - - b2bTools.general.parsers - - b2bTools.multipleSeq - - b2bTools.nmr - - b2bTools.nmr.shiftCrypt - - b2bTools.nmr.shiftCrypt.models - - b2bTools.nmr.shiftCrypt.shiftcrypt_pkg - - b2bTools.singleSeq - - b2bTools.singleSeq.Agmata - - b2bTools.singleSeq.Agmata.bin - - b2bTools.singleSeq.Agmata.marshalled - - b2bTools.singleSeq.Agmata.sources - - b2bTools.singleSeq.DisoMine - - b2bTools.singleSeq.DisoMine.vector_builder - - b2bTools.singleSeq.DisoMine.vector_builder.psipred - - b2bTools.singleSeq.DisoMine.vector_builder.psipred.bin - - b2bTools.singleSeq.DisoMine.vector_builder.psipred.bin.linux - - b2bTools.singleSeq.DisoMine.vector_builder.psipred.bin.osx - - b2bTools.singleSeq.DisoMine.vector_builder.psipred.data - - b2bTools.singleSeq.DynaMine - - b2bTools.singleSeq.DynaMine.models - - b2bTools.singleSeq.DynaMine.models.backbone - - b2bTools.singleSeq.DynaMine.models.coil - - b2bTools.singleSeq.DynaMine.models.helix - - b2bTools.singleSeq.DynaMine.models.ppII - - b2bTools.singleSeq.DynaMine.models.sheet - - b2bTools.singleSeq.DynaMine.models.sidechain - - b2bTools.singleSeq.EFoldMine - - b2bTools.singleSeq.EFoldMine.models - - b2bTools.singleSeq.PSPer - - b2bTools.singleSeq.PSPer.hmmer_research - - b2bTools.singleSeq.PSPer.marshalled - - b2bTools.singleSeq.PSPer.source - b2bTools.wrapper_source - commands: - - b2bTools --help - - b2bTools --version + files: + - test.singleseq.fasta + - test.msa.fasta about: - home: "https://bio2byte.be/" + home: "https://bio2byte.be/b2btools" license: 'GNU General Public License v3 (GPLv3)' license_family: GPL3 - license_file: - summary: "bio2Byte software suite to predict protein biophysical properties from their amino-acid sequences" + license_file: LICENSE + summary: "The bio2Byte software suite to predict protein biophysical properties" description: | This package provides you with structural predictions for protein sequences made by the Bio2Byte group which researches the relation between protein sequence and biophysical behavior. + List of available predictors: - - Dynamine: Fast predictor of protein backbone dynamics using only sequence information as input. The version here also predicts side-chain dynamics and secondary structure predictors using the same principle. - - Disomine: Predicts protein disorder with recurrent neural networks not directly from the amino acid sequence, but instead from more generic predictions of key biophysical properties, here protein dynamics, secondary structure, and early folding. - - EfoldMine: Predicts from the primary amino acid sequence of a protein, which amino acids are likely involved in early folding events. - - AgMata: Single-sequence-based predictor of protein regions that are likely to cause beta-aggregation. - - PSPer: PSP (Phase Separating Protein) predicts whether a protein is likely to phase-separate with a particular mechanism involving RNA interacts (FUS-like proteins). - doc_url: https://bio2byte.be/b2btools/package-documentation - dev_url: https://pypi.org/project/b2bTools/ + 1. Dynamine: Fast predictor of protein backbone dynamics using only sequence information as input. The version here also predicts side-chain dynamics and secondary structure predictors using the same principle. + 2. Disomine: Predicts protein disorder with recurrent neural networks not directly from the amino acid sequence, but instead from more generic predictions of key biophysical properties, here protein dynamics, secondary structure, and early folding. + 3. EfoldMine: Predicts from the primary amino acid sequence of a protein, which amino acids are likely involved in early folding events. + 4. AgMata: Single-sequence-based predictor of protein regions that are likely to cause beta-aggregation. + 5. PSPer: PSP (Phase Separating Protein) predicts whether a protein is likely to phase-separate with a particular mechanism involving RNA interacts (FUS-like proteins). + 6. ShiftCrypt: Auto-encoding NMR chemical shifts from their native vector space to a residue-level biophysical index. + doc_url: https://pypi.org/project/b2bTools/ + dev_url: http://bitbucket.org/bio2byte/b2btools_releases extra: - author: - - Wim Vranken + author: Wim Vranken recipe-maintainers: - Adrián Díaz (@agdiaz) - Jose Gavaldá-García (@GavaldaGarcia) maintainers: - Adrián Díaz (@agdiaz) - Jose Gavaldá-García (@GavaldaGarcia) + identifiers: + - doi:10.48550/arXiv.2405.02136 # bioRxiv preprint + - biotools:b2btools diff --git a/recipes/b2btools/run_test.sh b/recipes/b2btools/run_test.sh index 040ee3b063011..a3e98342a187b 100755 --- a/recipes/b2btools/run_test.sh +++ b/recipes/b2btools/run_test.sh @@ -4,74 +4,54 @@ # - https://bioconda.github.io/contributor/building-locally.html # - https://docs.openfree.energy/en/stable/installation.html -cat <> ./input_example.fasta ->SEQ_1 -MEDLNVVDSINGAGSWLVANQALLLSYAVNIVAALAIIIVGLIIARMISNAVNRLMISRK - ->SEQ_2 -EPVRRNEFIIGVAYDSDIDQVKQILTNIIQSEDRILKDREMTVRLNELGASSINFVVRVW -EOT - -cat <> ./small_alignment.clustal -CLUSTAL O(1.2.4) multiple sequence alignment - - -SEQ_1 -VYVGNLGNNG 10 -SEQ_2 RVRCGCLTRG- 10 - * * * .. -EOT - print_message() { - current_time=$(date +"%T") - echo "[$current_time - b2bTools] run_test.sh: $1" + current_time=$(date +"%Y-%m-%d %T") # Include date and time + yellow='\033[1;33m' + no_color='\033[0m' + echo -e "${yellow}[$current_time - b2bTools] run_test.sh: $1${no_color}" } preconditions() { - print_message "Testing HMMER dependencies" + print_message "0.1) Testing HMMER installation" + print_message "0.1.a) Testing HMMER installation: hmmalign" hmmalign -h + + print_message "0.1.b) Testing HMMER installation: hmmsearch" hmmsearch -h - print_message "Testing T-Coffee dependencies" + print_message "0.2) Testing T-Coffee installation" t_coffee --help - print_message "Testing b2bTools itself" - b2bTools -h + print_message "0.3) Testing b2bTools itself" + b2bTools --help } postconditions() { - print_message "Removing testing files" - - rm ./input_example.fasta ./small_alignment.clustal + print_message "Nothing to do actually." } scenario_single_seq_without_agmata_psper() { print_message "1.1) Testing b2bTools for Single Seq mode without AgMata nor PSPer" - # Check if the status code is non-zero and exit with an error code - if [ $status -ne 0 ]; then - echo "Error: b2bTools command failed with status code $status" - exit $status - fi - python -m b2bTools \ --dynamine \ --disomine \ --efoldmine \ - --input_file ./input_example.fasta \ - --output_json_file ./input_example.fasta.json \ - --output_tabular_file ./input_example.fasta.csv \ - --metadata_file ./input_example.fasta.meta.csv - status=$? + --input_file ./test.singleseq.fasta \ + --output_json_file ./test.singleseq.fasta.json \ + --output_tabular_file ./test.singleseq.fasta.csv \ + --metadata_file ./test.singleseq.fasta.meta.csv + b2bTools_command_status=$? # Check if the status code is non-zero and exit with an error code - if [ $status -ne 0 ]; then + if [ "$b2bTools_command_status" -ne 0 ]; then print_message "1.1) Error: b2bTools command failed with status code $status" exit $status fi # Validate the presence and content of output files - files=("input_example.fasta.json" "input_example.fasta.csv" "input_example.fasta.meta.csv") + files=("test.singleseq.fasta.json" "test.singleseq.fasta.csv" "test.singleseq.fasta.meta.csv") for file in "${files[@]}"; do if [ ! -f "$file" ]; then print_message "1.1) Error: Output file $file not found" @@ -101,20 +81,20 @@ scenario_single_seq_only_psper() { python -m b2bTools \ --psper \ - --input_file ./input_example.fasta \ - --output_json_file ./input_example.fasta.json \ - --output_tabular_file ./input_example.fasta.csv \ - --metadata_file ./input_example.fasta.meta.csv - status=$? + --input_file ./test.singleseq.fasta \ + --output_json_file ./test.singleseq.fasta.json \ + --output_tabular_file ./test.singleseq.fasta.csv \ + --metadata_file ./test.singleseq.fasta.meta.csv + b2bTools_command_status=$? # Check if the status code is non-zero and exit with an error code - if [ $status -ne 0 ]; then + if [ "$b2bTools_command_status" -ne 0 ]; then print_message "1.2) Error: b2bTools command failed with status code $status" exit $status fi # Validate the presence and content of output files - files=("input_example.fasta.json" "input_example.fasta.csv" "input_example.fasta.meta.csv") + files=("test.singleseq.fasta.json" "test.singleseq.fasta.csv" "test.singleseq.fasta.meta.csv") for file in "${files[@]}"; do if [ ! -f "$file" ]; then print_message "1.2)Error: Output file $file not found" @@ -144,20 +124,20 @@ scenario_single_seq_only_agmata() { python -m b2bTools \ --agmata \ - --input_file ./input_example.fasta \ - --output_json_file ./input_example.fasta.json \ - --output_tabular_file ./input_example.fasta.csv \ - --metadata_file ./input_example.fasta.meta.csv - status=$? + --input_file ./test.singleseq.fasta \ + --output_json_file ./test.singleseq.fasta.json \ + --output_tabular_file ./test.singleseq.fasta.csv \ + --metadata_file ./test.singleseq.fasta.meta.csv + b2bTools_command_status=$? # Check if the status code is non-zero and exit with an error code - if [ $status -ne 0 ]; then + if [ "$b2bTools_command_status" -ne 0 ]; then print_message "1.3) Error: b2bTools command failed with status code $status" exit $status fi # Validate the presence and content of output files - files=("input_example.fasta.json" "input_example.fasta.csv" "input_example.fasta.meta.csv") + files=("test.singleseq.fasta.json" "test.singleseq.fasta.csv" "test.singleseq.fasta.meta.csv") for file in "${files[@]}"; do if [ ! -f "$file" ]; then print_message "1.3)Error: Output file $file not found" @@ -190,23 +170,23 @@ scenario_msa_without_agmata_psper() { --dynamine \ --disomine \ --efoldmine \ - --input_file ./small_alignment.clustal \ - --output_json_file ./small_alignment.clustal.json \ - --output_tabular_file ./small_alignment.clustal.csv \ - --metadata_file ./small_alignment.clustal.meta.csv \ - --distribution_json_file ./small_alignment.clustal.distrib.json \ - --distribution_tabular_file ./small_alignment.clustal.distrib.csv + --input_file ./test.msa.fasta \ + --output_json_file ./test.msa.fasta.json \ + --output_tabular_file ./test.msa.fasta.csv \ + --metadata_file ./test.msa.fasta.meta.csv \ + --distribution_json_file ./test.msa.fasta.distrib.json \ + --distribution_tabular_file ./test.msa.fasta.distrib.csv - status=$? + b2bTools_command_status=$? # Check if the status code is non-zero and exit with an error code - if [ $status -ne 0 ]; then + if [ "$b2bTools_command_status" -ne 0 ]; then print_message "2.1) Error: b2bTools command failed with status code $status" exit $status fi # Validate the presence and content of output files - files=("small_alignment.clustal.json" "small_alignment.clustal.csv" "small_alignment.clustal.meta.csv" "small_alignment.clustal.distrib.json" "small_alignment.clustal.distrib.csv") + files=("test.msa.fasta.json" "test.msa.fasta.csv" "test.msa.fasta.meta.csv" "test.msa.fasta.distrib.json" "test.msa.fasta.distrib.csv") for file in "${files[@]}"; do if [ ! -f "$file" ]; then print_message "2.1) Error: Output file $file not found" @@ -237,23 +217,23 @@ scenario_msa_only_psper() { python -m b2bTools \ --mode msa \ --psper \ - --input_file ./small_alignment.clustal \ - --output_json_file ./small_alignment.clustal.json \ - --output_tabular_file ./small_alignment.clustal.csv \ - --metadata_file ./small_alignment.clustal.meta.csv \ - --distribution_json_file ./small_alignment.clustal.distrib.json \ - --distribution_tabular_file ./small_alignment.clustal.distrib.csv + --input_file ./test.msa.fasta \ + --output_json_file ./test.msa.fasta.json \ + --output_tabular_file ./test.msa.fasta.csv \ + --metadata_file ./test.msa.fasta.meta.csv \ + --distribution_json_file ./test.msa.fasta.distrib.json \ + --distribution_tabular_file ./test.msa.fasta.distrib.csv - status=$? + b2bTools_command_status=$? # Check if the status code is non-zero and exit with an error code - if [ $status -ne 0 ]; then + if [ "$b2bTools_command_status" -ne 0 ]; then print_message "2.1) Error: b2bTools command failed with status code $status" exit $status fi # Validate the presence and content of output files - files=("small_alignment.clustal.json" "small_alignment.clustal.csv" "small_alignment.clustal.meta.csv" "small_alignment.clustal.distrib.json" "small_alignment.clustal.distrib.csv") + files=("test.msa.fasta.json" "test.msa.fasta.csv" "test.msa.fasta.meta.csv" "test.msa.fasta.distrib.json" "test.msa.fasta.distrib.csv") for file in "${files[@]}"; do if [ ! -f "$file" ]; then print_message "2.1) Error: Output file $file not found" @@ -280,25 +260,25 @@ scenario_msa_only_agmata() { print_message "2.2) Testing b2bTools for MSA mode with PSPer" python -m b2bTools \ - --mode msa \ - --agmata \ - --input_file ./small_alignment.clustal \ - --output_json_file ./small_alignment.clustal.json \ - --output_tabular_file ./small_alignment.clustal.csv \ - --metadata_file ./small_alignment.clustal.meta.csv \ - --distribution_json_file ./small_alignment.clustal.distrib.json \ - --distribution_tabular_file ./small_alignment.clustal.distrib.csv + --mode msa \ + --agmata \ + --input_file ./test.msa.fasta \ + --output_json_file ./test.msa.fasta.json \ + --output_tabular_file ./test.msa.fasta.csv \ + --metadata_file ./test.msa.fasta.meta.csv \ + --distribution_json_file ./test.msa.fasta.distrib.json \ + --distribution_tabular_file ./test.msa.fasta.distrib.csv - status=$? + b2bTools_command_status=$? # Check if the status code is non-zero and exit with an error code - if [ $status -ne 0 ]; then + if [ "$b2bTools_command_status" -ne 0 ]; then print_message "2.1) Error: b2bTools command failed with status code $status" exit $status fi # Validate the presence and content of output files - files=("small_alignment.clustal.json" "small_alignment.clustal.csv" "small_alignment.clustal.meta.csv" "small_alignment.clustal.distrib.json" "small_alignment.clustal.distrib.csv") + files=("test.msa.fasta.json" "test.msa.fasta.csv" "test.msa.fasta.meta.csv" "test.msa.fasta.distrib.json" "test.msa.fasta.distrib.csv") for file in "${files[@]}"; do if [ ! -f "$file" ]; then print_message "2.1) Error: Output file $file not found" @@ -321,20 +301,23 @@ scenario_msa_only_agmata() { done } -print_message "Running test scenarios" - +print_message "Running test preconditions" preconditions # Scenarios for Single Sequence input +print_message "Running test scenarios for Single Sequence input" scenario_single_seq_without_agmata_psper scenario_single_seq_only_psper scenario_single_seq_only_agmata # Scenarios for Multiple Sequence Alignment input +print_message "Running test scenarios for Multiple Sequence Alignment input" scenario_msa_without_agmata_psper scenario_msa_only_psper scenario_msa_only_agmata +print_message "Running test postconditions" postconditions print_message "All test scenarios have been executed with success" +exit 0 diff --git a/recipes/b2btools/test.msa.fasta b/recipes/b2btools/test.msa.fasta new file mode 100644 index 0000000000000..5313057d507bf --- /dev/null +++ b/recipes/b2btools/test.msa.fasta @@ -0,0 +1,23 @@ +>P01308 +MALWMRLLPLLALLALWGPDPAAAFVNQHLCGSHLVEALYLVCGERGFFYTPKTRREAED +LQVGQVELGGGPGAGSLQPL-ALEGSLQKRGIVEQCCTSICSLYQLENYCN + +>P01315 +MALWTRLLPLLALLALWAPAPAQAFVNQHLCGSHLVEALYLVCGERGFFYTPKARREAEN +PQAGAVELGGG--LGGLQAL-ALEGPPQKRGIVEQCCTSICSLYQLENYCN + +>P01317 +MALWTRLRPLLALLALWPPPPARAFVNQHLCGSHLVEALYLVCGERGFFYTPKARREVEG +PQVGALELAGGPGAGGL------EGPPQKRGIVEQCCASVCSLYQLENYCN + +>P01321 +MALWMRLLPLLALLALWAPAPTRAFVNQHLCGSHLVEALYLVCGERGFFYTPKARREVED +LQVRDVELAGAPGEGGLQPL-ALEGALQKRGIVEQCCTSICSLYQLENYCN + +>P01329 +MALWMHLLTVLALLALWGPNTGQAFVSRHLCGSNLVETLYSVCQDDGFFYIPKDRRELED +PQVEQTELGMGLGAGGLQPL-ALEMALQKRGIVDQCCTGTCTRHQLQSYCN + +>P67970 +MALWIRSLPLLALLVFSGPGTSYAAANQHLCGSHLVEALYLVCGERGFFYSPKARRDVEQ +PLVSSPLR-G---EAGVLPFQQEEYEKVKRGIVEQCCHNTCSLYQLENYCN diff --git a/recipes/b2btools/test.singleseq.fasta b/recipes/b2btools/test.singleseq.fasta new file mode 100644 index 0000000000000..ba3d60206b78e --- /dev/null +++ b/recipes/b2btools/test.singleseq.fasta @@ -0,0 +1,23 @@ +>P01308 +MALWMRLLPLLALLALWGPDPAAAFVNQHLCGSHLVEALYLVCGERGFFYTPKTRREAED +LQVGQVELGGGPGAGSLQPLALEGSLQKRGIVEQCCTSICSLYQLENYCN + +>P01315 +MALWTRLLPLLALLALWAPAPAQAFVNQHLCGSHLVEALYLVCGERGFFYTPKARREAEN +PQAGAVELGGGLGGLQALALEGPPQKRGIVEQCCTSICSLYQLENYCN + +>P01317 +MALWTRLRPLLALLALWPPPPARAFVNQHLCGSHLVEALYLVCGERGFFYTPKARREVEG +PQVGALELAGGPGAGGLEGPPQKRGIVEQCCASVCSLYQLENYCN + +>P01321 +MALWMRLLPLLALLALWAPAPTRAFVNQHLCGSHLVEALYLVCGERGFFYTPKARREVED +LQVRDVELAGAPGEGGLQPLALEGALQKRGIVEQCCTSICSLYQLENYCN + +>P01329 +MALWMHLLTVLALLALWGPNTGQAFVSRHLCGSNLVETLYSVCQDDGFFYIPKDRRELED +PQVEQTELGMGLGAGGLQPLALEMALQKRGIVDQCCTGTCTRHQLQSYCN + +>P67970 +MALWIRSLPLLALLVFSGPGTSYAAANQHLCGSHLVEALYLVCGERGFFYSPKARRDVEQ +PLVSSPLRGEAGVLPFQQEEYEKVKRGIVEQCCHNTCSLYQLENYCN diff --git a/recipes/bacpage/meta.yaml b/recipes/bacpage/meta.yaml index 7183c904056a0..5193cd87800e1 100644 --- a/recipes/bacpage/meta.yaml +++ b/recipes/bacpage/meta.yaml @@ -1,26 +1,29 @@ -{% set version = "2023.11.10.1" %} +{% set name = "bacpage" %} +{% set version = "2024.03.08" %} package: - name: bacpage + name: {{ name }} version: {{ version }} source: url: https://github.com/CholGen/bacpage/archive/refs/tags/{{ version }}.tar.gz - sha256: 7a62278131407195a8f7555a92ed2d86ca7e63366bac6d280dac337e5f5218c5 + sha256: a0344f0e6c218a2e9a54a3d63eecc143c5d05ad3b0c4bf4379e34369b6ee53a7 build: number: 0 noarch: python - script: "{{ PYTHON }} -m pip install --no-deps --ignore-installed ." + script: "{{ PYTHON }} -m pip install --no-deps --no-build-isolation --no-cache-dir . -vvv" + entry_points: + - bacpage = bacpage.command:main run_exports: - - {{ pin_subpackage('bacpage') }} + - {{ pin_subpackage('bacpage', max_pin=None) }} requirements: host: - - python <3.12,>=3.9 + - python >=3.9,<3.12 - pip run: - - python <3.12,>=3.9 + - python >=3.9,<3.12 - bc - bcftools =1.17 - bedtools @@ -47,14 +50,16 @@ test: commands: - bacpage -h - bacpage version - - bacpage example "$(mktemp -d)" + - bacpage setup "$(mktemp -d)" about: home: https://github.com/CholGen/bacpage license: "GPL-3.0-or-later" + license_family: GPL3 license_file: LICENSE summary: An easy-to-use pipeline for the assembly and analysis of bacterial genomes - + doc_url: https://cholgen.github.io/sequencing-resources/bacpage-command.html + dev_url: https://github.com/CholGen/bacpage extra: recipe-maintainers: diff --git a/recipes/bactopia-assembler/meta.yaml b/recipes/bactopia-assembler/meta.yaml index d44aba6c79699..12a861b1cf8f4 100644 --- a/recipes/bactopia-assembler/meta.yaml +++ b/recipes/bactopia-assembler/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.0.3" %} +{% set version = "1.0.4" %} package: name: bactopia-assembler @@ -12,12 +12,12 @@ build: source: url: https://github.com/bactopia/bactopia-assembler/archive/v{{version}}.tar.gz - sha256: d4f318b7ba97a5c54823f7405bb79f03e0244bc7ccc52313acb4dcffbc1b7347 + sha256: fb332391d7c53db233716bfdc2adc1be25577a268bdb2b3a3fadcea168bcc816 requirements: run: - coreutils - - dragonflye >=1.1.2 + - dragonflye >=1.2.0 - importlib-metadata <5 - sed - shovill-se diff --git a/recipes/bactopia-py/meta.yaml b/recipes/bactopia-py/meta.yaml index 15bfa479cdcff..f9de466d197cd 100644 --- a/recipes/bactopia-py/meta.yaml +++ b/recipes/bactopia-py/meta.yaml @@ -1,5 +1,5 @@ {% set name = "bactopia-py" %} -{% set version = "1.0.8" %} +{% set version = "1.2.1" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/bactopia/bactopia-{{ version }}.tar.gz - sha256: ce7277f229045af00b687f7121535f9423b4c346b9f27eb7eef6d83b8e6947c1 + sha256: bd375fcea02e5ea20c55f822a7173e70c89d30098585f4b3205bb85a94f821c1 build: noarch: python @@ -29,6 +29,7 @@ requirements: - pyyaml - requests - rich-click >=1.6.0 + - tqdm test: imports: @@ -42,6 +43,8 @@ test: - bactopia-prepare --help - bactopia-search --help - bactopia-summary --help + - bactopia-atb-formatter --help + - bactopia-atb-downloader --help requires: - pip diff --git a/recipes/bactopia-qc/meta.yaml b/recipes/bactopia-qc/meta.yaml index c353c88a8c8f5..8d3df3e550414 100644 --- a/recipes/bactopia-qc/meta.yaml +++ b/recipes/bactopia-qc/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.0.2" %} +{% set version = "1.0.3" %} package: name: bactopia-qc @@ -7,10 +7,12 @@ package: build: number: 0 noarch: generic + run_exports: + - {{ pin_subpackage('bactopia-qc', max_pin='x.x') }} source: url: https://github.com/bactopia/bactopia-qc/archive/v{{version}}.tar.gz - sha256: e30768ecd3f46d84d36d2db8c931db83b350e988822eeb3594db4031e015c7e1 + sha256: f1c07ee9aadd35cc9689070f236617afdc39f28210313675794e21a74f098244 requirements: run: @@ -27,7 +29,7 @@ requirements: - pigz - porechop >=0.2.4 - python >=3.7,<3.11 - - rasusa >=0.7.1 + - rasusa >=1 - rename - sed diff --git a/recipes/bactopia-teton/meta.yaml b/recipes/bactopia-teton/meta.yaml index 52ec542ba5e0d..1232947ff15cf 100644 --- a/recipes/bactopia-teton/meta.yaml +++ b/recipes/bactopia-teton/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.0.2" %} +{% set version = "1.1.1" %} package: name: bactopia-teton @@ -12,7 +12,7 @@ build: source: url: https://github.com/bactopia/bactopia-teton/archive/v{{version}}.tar.gz - sha256: 3e1e78616b1b07747c6b54fe51e2bb300fbbd5171927388f4384dac3afb9b1dc + sha256: c62d0f74d5d4f48573af055424368de4ec4f88b744c7e3d451f818838f3b2da1 requirements: run: @@ -28,11 +28,14 @@ requirements: - pigz - python >=3.6,<3.11 - sed + - sizemeup >=1.2.3 - sra-human-scrubber >=2.2 test: commands: - "bactopia-teton" + - "kraken-bracken-summary.py --help" + - "teton-prepare.py --help" about: home: https://bactopia.github.io/ diff --git a/recipes/bactopia-variants/meta.yaml b/recipes/bactopia-variants/meta.yaml index fa794e76b8c6d..cb6e67163305d 100644 --- a/recipes/bactopia-variants/meta.yaml +++ b/recipes/bactopia-variants/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.0.1" %} +{% set version = "1.0.2" %} package: name: bactopia-variants @@ -7,10 +7,12 @@ package: build: number: 0 noarch: generic + run_exports: + - {{ pin_subpackage("bactopia-variants", max_pin="x") }} source: url: https://github.com/bactopia/bactopia-variants/archive/v{{version}}.tar.gz - sha256: 4a18e88b7b01790620911762cf8e7d38d1c74ad94044b5ebdd23b9a246a96562 + sha256: 0adcc2cbdbcdd851f604243e88a9bb687baf00c533152899399da1f4ef759ae9 requirements: run: @@ -25,6 +27,7 @@ requirements: - sed - vcf-annotator >=0.7 - vcflib >=1.0.0_rc3,<=1.0.2 # Snippy crashes with v1.0.3 and later + - tabixpp 1.1.0 # vcflib requires libtabixpp.so.0, no longer available as of 1.1.2 test: commands: diff --git a/recipes/bactopia/meta.yaml b/recipes/bactopia/meta.yaml index 8c4f438484b0b..f4e2686493bf6 100644 --- a/recipes/bactopia/meta.yaml +++ b/recipes/bactopia/meta.yaml @@ -1,5 +1,5 @@ {% set name = "bactopia" %} -{% set version = "3.0.0" %} +{% set version = "3.1.0" %} package: name: {{ name }} @@ -13,11 +13,11 @@ build: source: url: https://github.com/bactopia/bactopia/archive/v{{version}}.tar.gz - sha256: 24a934c02cde5ab33997590e8db748d045aaec993328b2675123f531e6c6aaf6 + sha256: a8134a5de2aa2e3d8131188420dadc034c5dcf4559c5c752148a103ddc47f463 requirements: run: - - bactopia-py >=1.0.8 + - bactopia-py 1.1.1 - conda >=22.11.0 - coreutils - mamba >=1.1.0 @@ -25,7 +25,6 @@ requirements: - python >=3.9 - sed - wget - test: commands: diff --git a/recipes/badread/meta.yaml b/recipes/badread/meta.yaml index 00bef0af70ac4..f787041f5d582 100644 --- a/recipes/badread/meta.yaml +++ b/recipes/badread/meta.yaml @@ -1,5 +1,5 @@ -{% set version='0.4.0' %} -{% set sha256='1920f1efc1eae7b17f1fd9c6878795b5ba8d7fd910c933999aad349672a994b0' %} +{% set version='0.4.1' %} +{% set sha256='236dee5ac99b8d0c1997c482df5b805908b0c34f75277ef706e897af71db1f9a' %} package: name: badread @@ -10,9 +10,11 @@ source: sha256: {{ sha256 }} build: - number: 1 + number: 0 noarch: python script: {{ PYTHON }} -m pip install . --no-deps -vv + run_exports: + - {{ pin_subpackage('badread', max_pin='x.x') }} requirements: host: diff --git a/recipes/bakta/meta.yaml b/recipes/bakta/meta.yaml index 98a9068bd9875..fa02ae9c72a68 100644 --- a/recipes/bakta/meta.yaml +++ b/recipes/bakta/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.9.1" %} +{% set version = "1.9.4" %} package: name: bakta @@ -6,7 +6,7 @@ package: source: url: https://github.com/oschwengers/bakta/archive/v{{ version }}.tar.gz - sha256: 'd8eb7ea1321ad6884002cfac670c33031b8dfa219a62b90c556f7cf402a64fe4' + sha256: 'ad92853e9d4f022024d393149eb086ad36a7e35f824a5d9efed94c3262f9cf66' build: noarch: python @@ -37,7 +37,7 @@ requirements: - infernal >=1.1.4 - piler-cr - pyhmmer >=0.10.4 - - diamond >=2.1.8 + - diamond ==2.1.8 - blast >=2.14.0 - ncbi-amrfinderplus >=3.11.26 - circos >=0.69.8 diff --git a/recipes/bali-phy/build.sh b/recipes/bali-phy/build.sh index 8ac25a18501eb..47de26ec38110 100644 --- a/recipes/bali-phy/build.sh +++ b/recipes/bali-phy/build.sh @@ -2,9 +2,8 @@ set -vex -# C++17 is not properly supported on early OSX versions +# C++20 is not properly supported on early OSX versions case "${target_platform}" in osx-*) - export MACOSX_DEPLOYMENT_TARGET=10.13 xcodebuild -sdk -version ${CXX} -v esac @@ -12,8 +11,8 @@ esac export BOOST_ROOT="${PREFIX}" export PKG_CONFIG_LIBDIR="${PREFIX}"/lib/pkgconfig -pkg-config --list-all -pkg-config --cflags cairo +#pkg-config --list-all +#pkg-config --cflags cairo echo "CC=$CC" echo "CFLAGS=$CFLAGS" @@ -21,16 +20,10 @@ echo "CXX=$CXX" echo "CPPFLAGS=$CPPFLAGS" echo "CXXFLAGS=$CXXFLAGS" -echo "Removing -mmacosx-version-min=10.9 from CPPFLAGS..." -CPPFLAGS="$(echo $CPPFLAGS | sed 's/-mmacosx-version-min=10.9/-mmacosx-version-min=10.13/g')" -echo "CPPFLAGS=$CPPFLAGS" - -echo "Removing -O2 and -std=c++14 from CXXFLAGS..." -CXXFLAGS="$(echo $CXXFLAGS | sed 's/-O2//g' | sed 's/-std=c++14//g')" -echo "CXXFLAGS=$CXXFLAGS" +CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" # for std::filesystem::path # configure -meson \ +meson setup \ --prefix="$PREFIX" \ --buildtype=release \ -Db_ndebug=true \ @@ -38,13 +31,14 @@ meson \ cd builddir -cat meson-logs/meson-log.txt +# cat meson-logs/meson-log.txt # build meson compile -# test -meson test - # install meson install + +# check +${PREFIX}/bin/bali-phy --help +${PREFIX}/bin/bali-phy ${PREFIX}/share/doc/bali-phy/examples/5S-rRNA/5d.fasta --iter=20 diff --git a/recipes/bali-phy/meta.yaml b/recipes/bali-phy/meta.yaml index 6c9cec071d183..db1ab541968a6 100644 --- a/recipes/bali-phy/meta.yaml +++ b/recipes/bali-phy/meta.yaml @@ -1,29 +1,31 @@ package: name: bali-phy - version: '3.6.0' + version: '4.0beta15' source: - url: https://github.com/bredelings/bali-phy/archive/3.6.0.tar.gz - sha256: 88f1922f80d0376ec2a0929d72d69258eac3dfba0eef13aab3f9c460db1ac0b6 + url: https://github.com/bredelings/bali-phy/archive/4.0-beta15.tar.gz + sha256: 4d1b6f08dee5bb359a13a4e2913129fd1f6e0ddb36350c7f8851f583192b4a94 build: - number: 2 + number: 1 + run_exports: + - {{ pin_subpackage('bali-phy', max_pin='x') }} requirements: build: - {{ compiler('cxx') }} - - meson >=0.57.1 + - meson >=1.1.0 - ninja - pkg-config host: - eigen >=3.3.7 - - boost-cpp + - boost-cpp >=1.83.0 - glib - cairo - pandoc run: - eigen >=3.3.7 - - boost-cpp + - boost-cpp >=1.83.0 - glib - cairo - pandoc @@ -38,12 +40,14 @@ about: license: GPL2 summary: 'Phylogenetics - Bayesian estimation of phylogenies and multiple sequence alignments.' - test: commands: - bali-phy help extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - doi:10.1093/bioinformatics/btab129 - biotools:bali-phy diff --git a/recipes/balrog/meta.yaml b/recipes/balrog/meta.yaml index 0811762f8e566..b9157d536a298 100644 --- a/recipes/balrog/meta.yaml +++ b/recipes/balrog/meta.yaml @@ -6,7 +6,9 @@ package: version: {{ version }} build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage("balrog", max_pin="x.x") }} source: url: https://github.com/salzberg-lab/BalrogCPP/archive/v{{ version }}.tar.gz @@ -35,3 +37,7 @@ about: license: MIT license_file: LICENSE summary: "Balrog: A universal protein model for prokaryotic gene prediction" + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/baltic/meta.yaml b/recipes/baltic/meta.yaml index 1838b30e463fb..724178253314a 100644 --- a/recipes/baltic/meta.yaml +++ b/recipes/baltic/meta.yaml @@ -1,5 +1,5 @@ {% set name = "baltic" %} -{% set version = "0.2.2" %} +{% set version = "0.3.0" %} package: name: "{{ name|lower }}" @@ -7,21 +7,23 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 095045aeb0f86f7668df5d7f163ab9fec30e59a564fc77c06b5cb756027a1e79 + sha256: d7fd92d0a40840f15826416e5aaaa3b9e40db07df99f9d4add2eeaf683ae385d build: number: 0 - script: python -m pip install --no-deps --ignore-installed . + script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation --no-cache-dir . -vvv noarch: python + run_exports: + - {{ pin_subpackage('baltic', max_pin="x.x") }} requirements: host: - pip - - python + - python >=3.5 run: - matplotlib-base >=2.0.0 - numpy >=1.16 - - python + - python >=3.5 test: imports: @@ -29,7 +31,8 @@ test: about: home: "https://github.com/evogytis/baltic" - license: GPL-3.0 + license: GPL-3.0-or-later license_family: GPL3 license_file: LICENSE - summary: "Lightweight package for analyzing, manipulating and visualizing annotated phylogenetic trees" + summary: "Lightweight package for analyzing, manipulating and visualizing annotated phylogenetic trees." + dev_url: "https://github.com/evogytis/baltic" diff --git a/recipes/bam-readcount/build.sh b/recipes/bam-readcount/build.sh index f08dfb30e8ad1..e4eec512b3d21 100644 --- a/recipes/bam-readcount/build.sh +++ b/recipes/bam-readcount/build.sh @@ -1,5 +1,39 @@ -#!/bin/bash +#!/bin/bash -ex -cd $PREFIX -cmake $SRC_DIR -make -j 2 +wget https://github.com/boostorg/boost/releases/download/boost-1.85.0/boost-1.85.0-cmake.tar.gz + +mv boost-1.85.0-cmake.tar.gz vendor/boost-1.55-bamrc.tar.gz + +mkdir -p "${PREFIX}/bin" + +# Needed for building utils dependency +export INCLUDES="-I{PREFIX}/include" +export LIBPATH="-L${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -pthread -L${PREFIX}/lib" +export CXXFLAGS="${CXXFLAGS} -O3 -I${PREFIX}/include" + +if [[ `uname` == Darwin ]]; then + export LDFLAGS="${LDFLAGS} -Wl,-rpath,${PREFIX}/lib" + export CFLAGS="${CFLAGS} -Wno-unguarded-availability -Wdeprecated-non-prototype" + export CMAKE_EXTRA="-DCMAKE_FIND_FRAMEWORK=NEVER -DCMAKE_FIND_APPBUNDLE=NEVER" +else + export CMAKE_EXTRA="" +fi + +mkdir -p build +pushd build +cmake -S .. -B . -DCMAKE_INSTALL_PREFIX="${PREFIX}" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_COMPILER="${CXX}" \ + -DCMAKE_C_COMPILER="${CC}" \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ + -DCMAKE_C_FLAGS="${CFLAGS}" \ + -Wno-dev -Wno-deprecated --no-warn-unused-cli \ + ${CMAKE_EXTRA} + +make clean +make CXX="${CXX} ${LDFLAGS}" CC="${CC}" CXXFLAGS="${CXXFLAGS}" CFLAGS="${CFLAGS}" + +chmod 755 bin/bam-readcount +cp -f bin/bam-readcount "${PREFIX}/bin" +popd diff --git a/recipes/bam-readcount/meta.yaml b/recipes/bam-readcount/meta.yaml index b46fce1142718..fa49a617952da 100644 --- a/recipes/bam-readcount/meta.yaml +++ b/recipes/bam-readcount/meta.yaml @@ -1,36 +1,49 @@ +{% set name = "bam-readcount" %} +{% set version = "1.0.1" %} + package: - name: bam-readcount - version: "0.8" + name: {{ name }} + version: {{ version }} source: - url: https://github.com/genome/bam-readcount/archive/v0.8.0.tar.gz - md5: 58d72588866f16f658ce4f40a3809af9 + url: https://github.com/genome/{{ name }}/archive/v{{ version }}.tar.gz + sha256: 8ebf84d9efee0f2d3b43f0452dbf16b27337c960e25128f6a7173119e62588b8 build: - number: 5 + number: 2 + run_exports: + - {{ pin_subpackage('bam-readcount', max_pin="x") }} requirements: build: - make - - cmake >=2.8.3 - - {{ compiler('c') }} + - cmake - {{ compiler('cxx') }} + - {{ compiler('c') }} host: - zlib - - ncurses - - perl - - python + - pthread-stubs + - wget + - clangdev run: - python - - zlib - - ncurses - - perl test: commands: - - bam-readcount 2>&1 | grep bam-readcount > /dev/null + - "bam-readcount 2>&1 | grep bam-readcount > /dev/null" about: - home: https://github.com/genome/bam-readcount + home: "https://github.com/genome/bam-readcount" license: MIT - summary: bam-readcount generates metrics at single nucleotide positions. + license_family: MIT + license_file: LICENSE + summary: "bam-readcount generates metrics at single nucleotide positions." + dev_url: "https://github.com/genome/bam-readcount" + doc_url: "https://github.com/genome/bam-readcount/blob/master/README.md" + +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - doi:10.21105/joss.03722 + - biotools:bam-readcount diff --git a/recipes/bambamc/build.sh b/recipes/bambamc/build.sh index e0ae564e50a1c..19c2086ceb10f 100644 --- a/recipes/bambamc/build.sh +++ b/recipes/bambamc/build.sh @@ -1,7 +1,12 @@ #!/usr/bin/env bash +set -xe + +# use newer config.guess and config.sub that support osx arm64 +cp ${RECIPE_DIR}/config.* . + export C_INCLUDE_PATH=${PREFIX}/include export LIBRARY_PATH=${PREFIX}/lib ./configure --prefix=${PREFIX} -make +make -j ${CPU_COUNT} make install diff --git a/recipes/bambamc/config.guess b/recipes/bambamc/config.guess new file mode 100644 index 0000000000000..1972fda8eb05d --- /dev/null +++ b/recipes/bambamc/config.guess @@ -0,0 +1,1700 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright 1992-2021 Free Software Foundation, Inc. + +timestamp='2021-01-25' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). +# +# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. +# +# You can get the latest version of this script from: +# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess +# +# Please send patches to . + + +me=$(echo "$0" | sed -e 's,.*/,,') + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright 1992-2021 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +tmp= +# shellcheck disable=SC2172 +trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 + +set_cc_for_build() { + # prevent multiple calls if $tmp is already set + test "$tmp" && return 0 + : "${TMPDIR=/tmp}" + # shellcheck disable=SC2039 + { tmp=$( (umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null) && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } + dummy=$tmp/dummy + case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in + ,,) echo "int x;" > "$dummy.c" + for driver in cc gcc c89 c99 ; do + if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then + CC_FOR_BUILD="$driver" + break + fi + done + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; + esac +} + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if test -f /.attbin/uname ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=$( (uname -m) 2>/dev/null) || UNAME_MACHINE=unknown +UNAME_RELEASE=$( (uname -r) 2>/dev/null) || UNAME_RELEASE=unknown +UNAME_SYSTEM=$( (uname -s) 2>/dev/null) || UNAME_SYSTEM=unknown +UNAME_VERSION=$( (uname -v) 2>/dev/null) || UNAME_VERSION=unknown + +case "$UNAME_SYSTEM" in +Linux|GNU|GNU/*) + LIBC=unknown + + set_cc_for_build + cat <<-EOF > "$dummy.c" + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #elif defined(__GLIBC__) + LIBC=gnu + #else + #include + /* First heuristic to detect musl libc. */ + #ifdef __DEFINED_va_list + LIBC=musl + #endif + #endif + EOF + eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g')" + + # Second heuristic to detect musl libc. + if [ "$LIBC" = unknown ] && + command -v ldd >/dev/null && + ldd --version 2>&1 | grep -q ^musl; then + LIBC=musl + fi + + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + if [ "$LIBC" = unknown ]; then + LIBC=gnu + fi + ;; +esac + +# Note: order is significant - the case branches are not exclusive. + +case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + UNAME_MACHINE_ARCH=$( (uname -p 2>/dev/null || \ + /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + echo unknown)) + case "$UNAME_MACHINE_ARCH" in + aarch64eb) machine=aarch64_be-unknown ;; + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + earmv*) + arch=$(echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,') + endian=$(echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p') + machine="${arch}${endian}"-unknown + ;; + *) machine="$UNAME_MACHINE_ARCH"-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently (or will in the future) and ABI. + case "$UNAME_MACHINE_ARCH" in + earm*) + os=netbsdelf + ;; + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ELF__ + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # Determine ABI tags. + case "$UNAME_MACHINE_ARCH" in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' + abi=$(echo "$UNAME_MACHINE_ARCH" | sed -e "$expr") + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "$UNAME_VERSION" in + Debian*) + release='-gnu' + ;; + *) + release=$(echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2) + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "$machine-${os}${release}${abi-}" + exit ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=$(arch | sed 's/Bitrig.//') + echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=$(arch | sed 's/OpenBSD.//') + echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" + exit ;; + *:LibertyBSD:*:*) + UNAME_MACHINE_ARCH=$(arch | sed 's/^.*BSD\.//') + echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" + exit ;; + *:MidnightBSD:*:*) + echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" + exit ;; + *:ekkoBSD:*:*) + echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" + exit ;; + *:SolidBSD:*:*) + echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" + exit ;; + *:OS108:*:*) + echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE" + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd"$UNAME_RELEASE" + exit ;; + *:MirBSD:*:*) + echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" + exit ;; + *:Sortix:*:*) + echo "$UNAME_MACHINE"-unknown-sortix + exit ;; + *:Twizzler:*:*) + echo "$UNAME_MACHINE"-unknown-twizzler + exit ;; + *:Redox:*:*) + echo "$UNAME_MACHINE"-unknown-redox + exit ;; + mips:OSF1:*.*) + echo mips-dec-osf1 + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $3}') + ;; + *5.*) + UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $4}') + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=$(/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1) + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE=alpha ;; + "EV4.5 (21064)") + UNAME_MACHINE=alpha ;; + "LCA4 (21066/21068)") + UNAME_MACHINE=alpha ;; + "EV5 (21164)") + UNAME_MACHINE=alphaev5 ;; + "EV5.6 (21164A)") + UNAME_MACHINE=alphaev56 ;; + "EV5.6 (21164PC)") + UNAME_MACHINE=alphapca56 ;; + "EV5.7 (21164PC)") + UNAME_MACHINE=alphapca57 ;; + "EV6 (21264)") + UNAME_MACHINE=alphaev6 ;; + "EV6.7 (21264A)") + UNAME_MACHINE=alphaev67 ;; + "EV6.8CB (21264C)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8AL (21264B)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8CX (21264D)") + UNAME_MACHINE=alphaev68 ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE=alphaev69 ;; + "EV7 (21364)") + UNAME_MACHINE=alphaev7 ;; + "EV7.9 (21364A)") + UNAME_MACHINE=alphaev79 ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo "$UNAME_MACHINE"-dec-osf"$(echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz)" + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + exitcode=$? + trap '' 0 + exit $exitcode ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo "$UNAME_MACHINE"-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo "$UNAME_MACHINE"-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix"$UNAME_RELEASE" + exit ;; + arm*:riscos:*:*|arm*:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "$( (/bin/universe) 2>/dev/null)" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case $(/usr/bin/uname -p) in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + s390x:SunOS:*:*) + echo "$UNAME_MACHINE"-ibm-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')" + exit ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')" + exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux"$UNAME_RELEASE" + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + set_cc_for_build + SUN_ARCH=i386 + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH=x86_64 + fi + fi + echo "$SUN_ARCH"-pc-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" + exit ;; + sun4*:SunOS:*:*) + case "$(/usr/bin/arch -k)" in + Series*|S4*) + UNAME_RELEASE=$(uname -v) + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/')" + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos"$UNAME_RELEASE" + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=$( (sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null) + test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 + case "$(/bin/arch)" in + sun3) + echo m68k-sun-sunos"$UNAME_RELEASE" + ;; + sun4) + echo sparc-sun-sunos"$UNAME_RELEASE" + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos"$UNAME_RELEASE" + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint"$UNAME_RELEASE" + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint"$UNAME_RELEASE" + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint"$UNAME_RELEASE" + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint"$UNAME_RELEASE" + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint"$UNAME_RELEASE" + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint"$UNAME_RELEASE" + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten"$UNAME_RELEASE" + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten"$UNAME_RELEASE" + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix"$UNAME_RELEASE" + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix"$UNAME_RELEASE" + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix"$UNAME_RELEASE" + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && + dummyarg=$(echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p') && + SYSTEM_NAME=$("$dummy" "$dummyarg") && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos"$UNAME_RELEASE" + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=$(/usr/bin/uname -p) + if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 + then + if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ + test "$TARGET_BINARY_INTERFACE"x = x + then + echo m88k-dg-dgux"$UNAME_RELEASE" + else + echo m88k-dg-dguxbcs"$UNAME_RELEASE" + fi + else + echo i586-dg-dgux"$UNAME_RELEASE" + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/g')" + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'$(uname -s)'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if test -x /usr/bin/oslevel ; then + IBM_REV=$(/usr/bin/oslevel) + else + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" + fi + echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[4567]) + IBM_CPU_ID=$(/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }') + if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if test -x /usr/bin/lslpp ; then + IBM_REV=$(/usr/bin/lslpp -Lqc bos.rte.libc | + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/) + else + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" + fi + echo "$IBM_ARCH"-ibm-aix"$IBM_REV" + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//') + case "$UNAME_MACHINE" in + 9000/31?) HP_ARCH=m68000 ;; + 9000/[34]??) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if test -x /usr/bin/getconf; then + sc_cpu_version=$(/usr/bin/getconf SC_CPU_VERSION 2>/dev/null) + sc_kernel_bits=$(/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null) + case "$sc_cpu_version" in + 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 + 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "$sc_kernel_bits" in + 32) HP_ARCH=hppa2.0n ;; + 64) HP_ARCH=hppa2.0w ;; + '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 + esac ;; + esac + fi + if test "$HP_ARCH" = ""; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=$("$dummy") + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if test "$HP_ARCH" = hppa2.0w + then + set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | + grep -q __LP64__ + then + HP_ARCH=hppa2.0w + else + HP_ARCH=hppa64 + fi + fi + echo "$HP_ARCH"-hp-hpux"$HPUX_REV" + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//') + echo ia64-hp-hpux"$HPUX_REV" + exit ;; + 3050*:HI-UX:*:*) + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if test -x /usr/sbin/sysversion ; then + echo "$UNAME_MACHINE"-unknown-osf1mk + else + echo "$UNAME_MACHINE"-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=$(uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz) + FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///') + FUJITSU_REL=$(echo "$UNAME_RELEASE" | sed -e 's/ /_/') + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///') + FUJITSU_REL=$(echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/') + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi"$UNAME_RELEASE" + exit ;; + *:BSD/OS:*:*) + echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" + exit ;; + arm:FreeBSD:*:*) + UNAME_PROCESSOR=$(uname -p) + set_cc_for_build + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabi + else + echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabihf + fi + exit ;; + *:FreeBSD:*:*) + UNAME_PROCESSOR=$(/usr/bin/uname -p) + case "$UNAME_PROCESSOR" in + amd64) + UNAME_PROCESSOR=x86_64 ;; + i386) + UNAME_PROCESSOR=i586 ;; + esac + echo "$UNAME_PROCESSOR"-unknown-freebsd"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')" + exit ;; + i*:CYGWIN*:*) + echo "$UNAME_MACHINE"-pc-cygwin + exit ;; + *:MINGW64*:*) + echo "$UNAME_MACHINE"-pc-mingw64 + exit ;; + *:MINGW*:*) + echo "$UNAME_MACHINE"-pc-mingw32 + exit ;; + *:MSYS*:*) + echo "$UNAME_MACHINE"-pc-msys + exit ;; + i*:PW*:*) + echo "$UNAME_MACHINE"-pc-pw32 + exit ;; + *:Interix*:*) + case "$UNAME_MACHINE" in + x86) + echo i586-pc-interix"$UNAME_RELEASE" + exit ;; + authenticamd | genuineintel | EM64T) + echo x86_64-unknown-interix"$UNAME_RELEASE" + exit ;; + IA64) + echo ia64-unknown-interix"$UNAME_RELEASE" + exit ;; + esac ;; + i*:UWIN*:*) + echo "$UNAME_MACHINE"-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-pc-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" + exit ;; + *:GNU:*:*) + # the GNU system + echo "$(echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,')-unknown-$LIBC$(echo "$UNAME_RELEASE"|sed -e 's,/.*$,,')" + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo "$UNAME_MACHINE-unknown-$(echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]")$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')-$LIBC" + exit ;; + *:Minix:*:*) + echo "$UNAME_MACHINE"-unknown-minix + exit ;; + aarch64:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + alpha:Linux:*:*) + case $(sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null) in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC=gnulibc1 ; fi + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + arc:Linux:*:* | arceb:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + arm*:Linux:*:*) + set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi + else + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf + fi + fi + exit ;; + avr32*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + cris:Linux:*:*) + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" + exit ;; + crisv32:Linux:*:*) + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" + exit ;; + e2k:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + frv:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + hexagon:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + i*86:Linux:*:*) + echo "$UNAME_MACHINE"-pc-linux-"$LIBC" + exit ;; + ia64:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + k1om:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + m32r*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + m68*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + mips:Linux:*:* | mips64:Linux:*:*) + set_cc_for_build + IS_GLIBC=0 + test x"${LIBC}" = xgnu && IS_GLIBC=1 + sed 's/^ //' << EOF > "$dummy.c" + #undef CPU + #undef mips + #undef mipsel + #undef mips64 + #undef mips64el + #if ${IS_GLIBC} && defined(_ABI64) + LIBCABI=gnuabi64 + #else + #if ${IS_GLIBC} && defined(_ABIN32) + LIBCABI=gnuabin32 + #else + LIBCABI=${LIBC} + #endif + #endif + + #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa64r6 + #else + #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa32r6 + #else + #if defined(__mips64) + CPU=mips64 + #else + CPU=mips + #endif + #endif + #endif + + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + MIPS_ENDIAN=el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + MIPS_ENDIAN= + #else + MIPS_ENDIAN= + #endif + #endif +EOF + eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI')" + test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } + ;; + mips64el:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + openrisc*:Linux:*:*) + echo or1k-unknown-linux-"$LIBC" + exit ;; + or32:Linux:*:* | or1k*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-"$LIBC" + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-"$LIBC" + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case $(grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2) in + PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; + PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; + *) echo hppa-unknown-linux-"$LIBC" ;; + esac + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-"$LIBC" + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-"$LIBC" + exit ;; + ppc64le:Linux:*:*) + echo powerpc64le-unknown-linux-"$LIBC" + exit ;; + ppcle:Linux:*:*) + echo powerpcle-unknown-linux-"$LIBC" + exit ;; + riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" + exit ;; + sh64*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + sh*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + tile*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + vax:Linux:*:*) + echo "$UNAME_MACHINE"-dec-linux-"$LIBC" + exit ;; + x86_64:Linux:*:*) + set_cc_for_build + LIBCABI=$LIBC + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_X32 >/dev/null + then + LIBCABI="$LIBC"x32 + fi + fi + echo "$UNAME_MACHINE"-pc-linux-"$LIBCABI" + exit ;; + xtensa*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo "$UNAME_MACHINE"-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo "$UNAME_MACHINE"-unknown-stop + exit ;; + i*86:atheos:*:*) + echo "$UNAME_MACHINE"-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo "$UNAME_MACHINE"-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + echo i386-unknown-lynxos"$UNAME_RELEASE" + exit ;; + i*86:*DOS:*:*) + echo "$UNAME_MACHINE"-pc-msdosdjgpp + exit ;; + i*86:*:4.*:*) + UNAME_REL=$(echo "$UNAME_RELEASE" | sed 's/\/MP$//') + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" + else + echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case $(/bin/uname -X | grep "^Machine") in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}" + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=$(sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=$( (/bin/uname -X|grep Release|sed -e 's/.*= //')) + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" + else + echo "$UNAME_MACHINE"-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configure will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos"$UNAME_RELEASE" + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos"$UNAME_RELEASE" + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos"$UNAME_RELEASE" + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + echo powerpc-unknown-lynxos"$UNAME_RELEASE" + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv"$UNAME_RELEASE" + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=$( (uname -p) 2>/dev/null) + echo "$UNAME_MACHINE"-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo "$UNAME_MACHINE"-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux"$UNAME_RELEASE" + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if test -d /usr/nec; then + echo mips-nec-sysv"$UNAME_RELEASE" + else + echo mips-unknown-sysv"$UNAME_RELEASE" + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; + x86_64:Haiku:*:*) + echo x86_64-unknown-haiku + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux"$UNAME_RELEASE" + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux"$UNAME_RELEASE" + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux"$UNAME_RELEASE" + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux"$UNAME_RELEASE" + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux"$UNAME_RELEASE" + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux"$UNAME_RELEASE" + exit ;; + SX-ACE:SUPER-UX:*:*) + echo sxace-nec-superux"$UNAME_RELEASE" + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody"$UNAME_RELEASE" + exit ;; + *:Rhapsody:*:*) + echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" + exit ;; + arm64:Darwin:*:*) + echo aarch64-apple-darwin"$UNAME_RELEASE" + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=$(uname -p) + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + if command -v xcode-select > /dev/null 2> /dev/null && \ + ! xcode-select --print-path > /dev/null 2> /dev/null ; then + # Avoid executing cc if there is no toolchain installed as + # cc will be a stub that puts up a graphical alert + # prompting the user to install developer tools. + CC_FOR_BUILD=no_compiler_found + else + set_cc_for_build + fi + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_PPC >/dev/null + then + UNAME_PROCESSOR=powerpc + fi + elif test "$UNAME_PROCESSOR" = i386 ; then + # uname -m returns i386 or x86_64 + UNAME_PROCESSOR=$UNAME_MACHINE + fi + echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=$(uname -p) + if test "$UNAME_PROCESSOR" = x86; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NEO-*:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSE-*:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSR-*:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSV-*:NONSTOP_KERNEL:*:*) + echo nsv-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSX-*:NONSTOP_KERNEL:*:*) + echo nsx-tandem-nsk"$UNAME_RELEASE" + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + # shellcheck disable=SC2154 + if test "$cputype" = 386; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo "$UNAME_MACHINE"-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux"$UNAME_RELEASE" + exit ;; + *:DragonFly:*:*) + echo "$UNAME_MACHINE"-unknown-dragonfly"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')" + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=$( (uname -p) 2>/dev/null) + case "$UNAME_MACHINE" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo "$UNAME_MACHINE"-pc-skyos"$(echo "$UNAME_RELEASE" | sed -e 's/ .*$//')" + exit ;; + i*86:rdos:*:*) + echo "$UNAME_MACHINE"-pc-rdos + exit ;; + *:AROS:*:*) + echo "$UNAME_MACHINE"-unknown-aros + exit ;; + x86_64:VMkernel:*:*) + echo "$UNAME_MACHINE"-unknown-esx + exit ;; + amd64:Isilon\ OneFS:*:*) + echo x86_64-unknown-onefs + exit ;; + *:Unleashed:*:*) + echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE" + exit ;; +esac + +# No uname command or uname output not recognized. +set_cc_for_build +cat > "$dummy.c" < +#include +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#include +#if defined(_SIZE_T_) || defined(SIGLOST) +#include +#endif +#endif +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=$( (hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null); + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); +#endif + +#if defined (vax) +#if !defined (ultrix) +#include +#if defined (BSD) +#if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +#else +#if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#endif +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#else +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname un; + uname (&un); + printf ("vax-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("vax-dec-ultrix\n"); exit (0); +#endif +#endif +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname *un; + uname (&un); + printf ("mips-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("mips-dec-ultrix\n"); exit (0); +#endif +#endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=$($dummy) && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. +test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } + +echo "$0: unable to guess system type" >&2 + +case "$UNAME_MACHINE:$UNAME_SYSTEM" in + mips:Linux | mips64:Linux) + # If we got here on MIPS GNU/Linux, output extra information. + cat >&2 <&2 <&2 </dev/null || echo unknown) +uname -r = $( (uname -r) 2>/dev/null || echo unknown) +uname -s = $( (uname -s) 2>/dev/null || echo unknown) +uname -v = $( (uname -v) 2>/dev/null || echo unknown) + +/usr/bin/uname -p = $( (/usr/bin/uname -p) 2>/dev/null) +/bin/uname -X = $( (/bin/uname -X) 2>/dev/null) + +hostinfo = $( (hostinfo) 2>/dev/null) +/bin/universe = $( (/bin/universe) 2>/dev/null) +/usr/bin/arch -k = $( (/usr/bin/arch -k) 2>/dev/null) +/bin/arch = $( (/bin/arch) 2>/dev/null) +/usr/bin/oslevel = $( (/usr/bin/oslevel) 2>/dev/null) +/usr/convex/getsysinfo = $( (/usr/convex/getsysinfo) 2>/dev/null) + +UNAME_MACHINE = "$UNAME_MACHINE" +UNAME_RELEASE = "$UNAME_RELEASE" +UNAME_SYSTEM = "$UNAME_SYSTEM" +UNAME_VERSION = "$UNAME_VERSION" +EOF +fi + +exit 1 + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/recipes/bambamc/config.sub b/recipes/bambamc/config.sub new file mode 100644 index 0000000000000..38f3d037a785f --- /dev/null +++ b/recipes/bambamc/config.sub @@ -0,0 +1,1885 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright 1992-2021 Free Software Foundation, Inc. + +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2021-10-27' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). + + +# Please send patches to . +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# You can get the latest version of this script from: +# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX. However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS + +Canonicalize a configuration name. + +Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright 1992-2021 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo "$1" + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Split fields of configuration type +# shellcheck disable=SC2162 +saved_IFS=$IFS +IFS="-" read field1 field2 field3 field4 <&2 + exit 1 + ;; + *-*-*-*) + basic_machine=$field1-$field2 + basic_os=$field3-$field4 + ;; + *-*-*) + # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two + # parts + maybe_os=$field2-$field3 + case $maybe_os in + nto-qnx* | linux-* | uclinux-uclibc* \ + | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ + | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ + | storm-chaos* | os2-emx* | rtmk-nova*) + basic_machine=$field1 + basic_os=$maybe_os + ;; + android-linux) + basic_machine=$field1-unknown + basic_os=linux-android + ;; + *) + basic_machine=$field1-$field2 + basic_os=$field3 + ;; + esac + ;; + *-*) + # A lone config we happen to match not fitting any pattern + case $field1-$field2 in + decstation-3100) + basic_machine=mips-dec + basic_os= + ;; + *-*) + # Second component is usually, but not always the OS + case $field2 in + # Prevent following clause from handling this valid os + sun*os*) + basic_machine=$field1 + basic_os=$field2 + ;; + zephyr*) + basic_machine=$field1-unknown + basic_os=$field2 + ;; + # Manufacturers + dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ + | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ + | unicom* | ibm* | next | hp | isi* | apollo | altos* \ + | convergent* | ncr* | news | 32* | 3600* | 3100* \ + | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ + | ultra | tti* | harris | dolphin | highlevel | gould \ + | cbm | ns | masscomp | apple | axis | knuth | cray \ + | microblaze* | sim | cisco \ + | oki | wec | wrs | winbond) + basic_machine=$field1-$field2 + basic_os= + ;; + *) + basic_machine=$field1 + basic_os=$field2 + ;; + esac + ;; + esac + ;; + *) + # Convert single-component short-hands not valid as part of + # multi-component configurations. + case $field1 in + 386bsd) + basic_machine=i386-pc + basic_os=bsd + ;; + a29khif) + basic_machine=a29k-amd + basic_os=udi + ;; + adobe68k) + basic_machine=m68010-adobe + basic_os=scout + ;; + alliant) + basic_machine=fx80-alliant + basic_os= + ;; + altos | altos3068) + basic_machine=m68k-altos + basic_os= + ;; + am29k) + basic_machine=a29k-none + basic_os=bsd + ;; + amdahl) + basic_machine=580-amdahl + basic_os=sysv + ;; + amiga) + basic_machine=m68k-unknown + basic_os= + ;; + amigaos | amigados) + basic_machine=m68k-unknown + basic_os=amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + basic_os=sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + basic_os=sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + basic_os=bsd + ;; + aros) + basic_machine=i386-pc + basic_os=aros + ;; + aux) + basic_machine=m68k-apple + basic_os=aux + ;; + balance) + basic_machine=ns32k-sequent + basic_os=dynix + ;; + blackfin) + basic_machine=bfin-unknown + basic_os=linux + ;; + cegcc) + basic_machine=arm-unknown + basic_os=cegcc + ;; + convex-c1) + basic_machine=c1-convex + basic_os=bsd + ;; + convex-c2) + basic_machine=c2-convex + basic_os=bsd + ;; + convex-c32) + basic_machine=c32-convex + basic_os=bsd + ;; + convex-c34) + basic_machine=c34-convex + basic_os=bsd + ;; + convex-c38) + basic_machine=c38-convex + basic_os=bsd + ;; + cray) + basic_machine=j90-cray + basic_os=unicos + ;; + crds | unos) + basic_machine=m68k-crds + basic_os= + ;; + da30) + basic_machine=m68k-da30 + basic_os= + ;; + decstation | pmax | pmin | dec3100 | decstatn) + basic_machine=mips-dec + basic_os= + ;; + delta88) + basic_machine=m88k-motorola + basic_os=sysv3 + ;; + dicos) + basic_machine=i686-pc + basic_os=dicos + ;; + djgpp) + basic_machine=i586-pc + basic_os=msdosdjgpp + ;; + ebmon29k) + basic_machine=a29k-amd + basic_os=ebmon + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + basic_os=ose + ;; + gmicro) + basic_machine=tron-gmicro + basic_os=sysv + ;; + go32) + basic_machine=i386-pc + basic_os=go32 + ;; + h8300hms) + basic_machine=h8300-hitachi + basic_os=hms + ;; + h8300xray) + basic_machine=h8300-hitachi + basic_os=xray + ;; + h8500hms) + basic_machine=h8500-hitachi + basic_os=hms + ;; + harris) + basic_machine=m88k-harris + basic_os=sysv3 + ;; + hp300 | hp300hpux) + basic_machine=m68k-hp + basic_os=hpux + ;; + hp300bsd) + basic_machine=m68k-hp + basic_os=bsd + ;; + hppaosf) + basic_machine=hppa1.1-hp + basic_os=osf + ;; + hppro) + basic_machine=hppa1.1-hp + basic_os=proelf + ;; + i386mach) + basic_machine=i386-mach + basic_os=mach + ;; + isi68 | isi) + basic_machine=m68k-isi + basic_os=sysv + ;; + m68knommu) + basic_machine=m68k-unknown + basic_os=linux + ;; + magnum | m3230) + basic_machine=mips-mips + basic_os=sysv + ;; + merlin) + basic_machine=ns32k-utek + basic_os=sysv + ;; + mingw64) + basic_machine=x86_64-pc + basic_os=mingw64 + ;; + mingw32) + basic_machine=i686-pc + basic_os=mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + basic_os=mingw32ce + ;; + monitor) + basic_machine=m68k-rom68k + basic_os=coff + ;; + morphos) + basic_machine=powerpc-unknown + basic_os=morphos + ;; + moxiebox) + basic_machine=moxie-unknown + basic_os=moxiebox + ;; + msdos) + basic_machine=i386-pc + basic_os=msdos + ;; + msys) + basic_machine=i686-pc + basic_os=msys + ;; + mvs) + basic_machine=i370-ibm + basic_os=mvs + ;; + nacl) + basic_machine=le32-unknown + basic_os=nacl + ;; + ncr3000) + basic_machine=i486-ncr + basic_os=sysv4 + ;; + netbsd386) + basic_machine=i386-pc + basic_os=netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + basic_os=linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + basic_os=newsos + ;; + news1000) + basic_machine=m68030-sony + basic_os=newsos + ;; + necv70) + basic_machine=v70-nec + basic_os=sysv + ;; + nh3000) + basic_machine=m68k-harris + basic_os=cxux + ;; + nh[45]000) + basic_machine=m88k-harris + basic_os=cxux + ;; + nindy960) + basic_machine=i960-intel + basic_os=nindy + ;; + mon960) + basic_machine=i960-intel + basic_os=mon960 + ;; + nonstopux) + basic_machine=mips-compaq + basic_os=nonstopux + ;; + os400) + basic_machine=powerpc-ibm + basic_os=os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + basic_os=ose + ;; + os68k) + basic_machine=m68k-none + basic_os=os68k + ;; + paragon) + basic_machine=i860-intel + basic_os=osf + ;; + parisc) + basic_machine=hppa-unknown + basic_os=linux + ;; + psp) + basic_machine=mipsallegrexel-sony + basic_os=psp + ;; + pw32) + basic_machine=i586-unknown + basic_os=pw32 + ;; + rdos | rdos64) + basic_machine=x86_64-pc + basic_os=rdos + ;; + rdos32) + basic_machine=i386-pc + basic_os=rdos + ;; + rom68k) + basic_machine=m68k-rom68k + basic_os=coff + ;; + sa29200) + basic_machine=a29k-amd + basic_os=udi + ;; + sei) + basic_machine=mips-sei + basic_os=seiux + ;; + sequent) + basic_machine=i386-sequent + basic_os= + ;; + sps7) + basic_machine=m68k-bull + basic_os=sysv2 + ;; + st2000) + basic_machine=m68k-tandem + basic_os= + ;; + stratus) + basic_machine=i860-stratus + basic_os=sysv4 + ;; + sun2) + basic_machine=m68000-sun + basic_os= + ;; + sun2os3) + basic_machine=m68000-sun + basic_os=sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + basic_os=sunos4 + ;; + sun3) + basic_machine=m68k-sun + basic_os= + ;; + sun3os3) + basic_machine=m68k-sun + basic_os=sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + basic_os=sunos4 + ;; + sun4) + basic_machine=sparc-sun + basic_os= + ;; + sun4os3) + basic_machine=sparc-sun + basic_os=sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + basic_os=sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + basic_os=solaris2 + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + basic_os= + ;; + sv1) + basic_machine=sv1-cray + basic_os=unicos + ;; + symmetry) + basic_machine=i386-sequent + basic_os=dynix + ;; + t3e) + basic_machine=alphaev5-cray + basic_os=unicos + ;; + t90) + basic_machine=t90-cray + basic_os=unicos + ;; + toad1) + basic_machine=pdp10-xkl + basic_os=tops20 + ;; + tpf) + basic_machine=s390x-ibm + basic_os=tpf + ;; + udi29k) + basic_machine=a29k-amd + basic_os=udi + ;; + ultra3) + basic_machine=a29k-nyu + basic_os=sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + basic_os=none + ;; + vaxv) + basic_machine=vax-dec + basic_os=sysv + ;; + vms) + basic_machine=vax-dec + basic_os=vms + ;; + vsta) + basic_machine=i386-pc + basic_os=vsta + ;; + vxworks960) + basic_machine=i960-wrs + basic_os=vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + basic_os=vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + basic_os=vxworks + ;; + xbox) + basic_machine=i686-pc + basic_os=mingw32 + ;; + ymp) + basic_machine=ymp-cray + basic_os=unicos + ;; + *) + basic_machine=$1 + basic_os= + ;; + esac + ;; +esac + +# Decode 1-component or ad-hoc basic machines +case $basic_machine in + # Here we handle the default manufacturer of certain CPU types. It is in + # some cases the only manufacturer, in others, it is the most popular. + w89k) + cpu=hppa1.1 + vendor=winbond + ;; + op50n) + cpu=hppa1.1 + vendor=oki + ;; + op60c) + cpu=hppa1.1 + vendor=oki + ;; + ibm*) + cpu=i370 + vendor=ibm + ;; + orion105) + cpu=clipper + vendor=highlevel + ;; + mac | mpw | mac-mpw) + cpu=m68k + vendor=apple + ;; + pmac | pmac-mpw) + cpu=powerpc + vendor=apple + ;; + + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + cpu=m68000 + vendor=att + ;; + 3b*) + cpu=we32k + vendor=att + ;; + bluegene*) + cpu=powerpc + vendor=ibm + basic_os=cnk + ;; + decsystem10* | dec10*) + cpu=pdp10 + vendor=dec + basic_os=tops10 + ;; + decsystem20* | dec20*) + cpu=pdp10 + vendor=dec + basic_os=tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + cpu=m68k + vendor=motorola + ;; + dpx2*) + cpu=m68k + vendor=bull + basic_os=sysv3 + ;; + encore | umax | mmax) + cpu=ns32k + vendor=encore + ;; + elxsi) + cpu=elxsi + vendor=elxsi + basic_os=${basic_os:-bsd} + ;; + fx2800) + cpu=i860 + vendor=alliant + ;; + genix) + cpu=ns32k + vendor=ns + ;; + h3050r* | hiux*) + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + cpu=m68000 + vendor=hp + ;; + hp9k3[2-9][0-9]) + cpu=m68k + vendor=hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + cpu=hppa1.1 + vendor=hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + i*86v32) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv32 + ;; + i*86v4*) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv4 + ;; + i*86v) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv + ;; + i*86sol2) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=solaris2 + ;; + j90 | j90-cray) + cpu=j90 + vendor=cray + basic_os=${basic_os:-unicos} + ;; + iris | iris4d) + cpu=mips + vendor=sgi + case $basic_os in + irix*) + ;; + *) + basic_os=irix4 + ;; + esac + ;; + miniframe) + cpu=m68000 + vendor=convergent + ;; + *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) + cpu=m68k + vendor=atari + basic_os=mint + ;; + news-3600 | risc-news) + cpu=mips + vendor=sony + basic_os=newsos + ;; + next | m*-next) + cpu=m68k + vendor=next + case $basic_os in + openstep*) + ;; + nextstep*) + ;; + ns2*) + basic_os=nextstep2 + ;; + *) + basic_os=nextstep3 + ;; + esac + ;; + np1) + cpu=np1 + vendor=gould + ;; + op50n-* | op60c-*) + cpu=hppa1.1 + vendor=oki + basic_os=proelf + ;; + pa-hitachi) + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 + ;; + pbd) + cpu=sparc + vendor=tti + ;; + pbb) + cpu=m68k + vendor=tti + ;; + pc532) + cpu=ns32k + vendor=pc532 + ;; + pn) + cpu=pn + vendor=gould + ;; + power) + cpu=power + vendor=ibm + ;; + ps2) + cpu=i386 + vendor=ibm + ;; + rm[46]00) + cpu=mips + vendor=siemens + ;; + rtpc | rtpc-*) + cpu=romp + vendor=ibm + ;; + sde) + cpu=mipsisa32 + vendor=sde + basic_os=${basic_os:-elf} + ;; + simso-wrs) + cpu=sparclite + vendor=wrs + basic_os=vxworks + ;; + tower | tower-32) + cpu=m68k + vendor=ncr + ;; + vpp*|vx|vx-*) + cpu=f301 + vendor=fujitsu + ;; + w65) + cpu=w65 + vendor=wdc + ;; + w89k-*) + cpu=hppa1.1 + vendor=winbond + basic_os=proelf + ;; + none) + cpu=none + vendor=none + ;; + leon|leon[3-9]) + cpu=sparc + vendor=$basic_machine + ;; + leon-*|leon[3-9]-*) + cpu=sparc + vendor=`echo "$basic_machine" | sed 's/-.*//'` + ;; + + *-*) + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read cpu vendor <&2 + exit 1 + ;; + esac + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $vendor in + digital*) + vendor=dec + ;; + commodore*) + vendor=cbm + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if test x$basic_os != x +then + +# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just +# set os. +case $basic_os in + gnu/linux*) + kernel=linux + os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` + ;; + os2-emx) + kernel=os2 + os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` + ;; + nto-qnx*) + kernel=nto + os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` + ;; + *-*) + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read kernel os <&2 + exit 1 + ;; +esac + +# As a final step for OS-related things, validate the OS-kernel combination +# (given a valid OS), if there is a kernel. +case $kernel-$os in + linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ + | linux-musl* | linux-relibc* | linux-uclibc* ) + ;; + uclinux-uclibc* ) + ;; + -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) + # These are just libc implementations, not actual OSes, and thus + # require a kernel. + echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 + exit 1 + ;; + kfreebsd*-gnu* | kopensolaris*-gnu*) + ;; + vxworks-simlinux | vxworks-simwindows | vxworks-spe) + ;; + nto-qnx*) + ;; + os2-emx) + ;; + *-eabi* | *-gnueabi*) + ;; + -*) + # Blank kernel with real OS is always fine. + ;; + *-*) + echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 + exit 1 + ;; +esac + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +case $vendor in + unknown) + case $cpu-$os in + *-riscix*) + vendor=acorn + ;; + *-sunos*) + vendor=sun + ;; + *-cnk* | *-aix*) + vendor=ibm + ;; + *-beos*) + vendor=be + ;; + *-hpux*) + vendor=hp + ;; + *-mpeix*) + vendor=hp + ;; + *-hiux*) + vendor=hitachi + ;; + *-unos*) + vendor=crds + ;; + *-dgux*) + vendor=dg + ;; + *-luna*) + vendor=omron + ;; + *-genix*) + vendor=ns + ;; + *-clix*) + vendor=intergraph + ;; + *-mvs* | *-opened*) + vendor=ibm + ;; + *-os400*) + vendor=ibm + ;; + s390-* | s390x-*) + vendor=ibm + ;; + *-ptx*) + vendor=sequent + ;; + *-tpf*) + vendor=ibm + ;; + *-vxsim* | *-vxworks* | *-windiss*) + vendor=wrs + ;; + *-aux*) + vendor=apple + ;; + *-hms*) + vendor=hitachi + ;; + *-mpw* | *-macos*) + vendor=apple + ;; + *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) + vendor=atari + ;; + *-vos*) + vendor=stratus + ;; + esac + ;; +esac + +echo "$cpu-$vendor-${kernel:+$kernel-}$os" +exit + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/recipes/bambamc/meta.yaml b/recipes/bambamc/meta.yaml index 333d2989bd85e..113f9b83fe42e 100644 --- a/recipes/bambamc/meta.yaml +++ b/recipes/bambamc/meta.yaml @@ -7,7 +7,9 @@ source: md5: 4de1f030fab1de54387f68e4fbd2cd35 build: - number: 7 + number: 8 + run_exports: + - {{ pin_subpackage('bambamc', max_pin="x.x.x") }} requirements: build: @@ -31,3 +33,8 @@ about: license: GPLv3 license_file: COPYING summary: lightweight C implementation of name collating BAM file input and BAM file output + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/bamcmp/meta.yaml b/recipes/bamcmp/meta.yaml index e9798a1a41ca0..6972f19620ab3 100644 --- a/recipes/bamcmp/meta.yaml +++ b/recipes/bamcmp/meta.yaml @@ -7,7 +7,9 @@ source: md5: 05e583af007f86b275bcf95eceea7ba7 build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage("bamcmp", max_pin="x") }} script_env: - HTSLIBDIR=$PREFIX @@ -28,3 +30,7 @@ about: home: https://github.com/CRUKMI-ComputationalBiology/bamcmp license: GPL-3 summary: Tools for deconvolving host and graft reads using full-length alignments and their scores. + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/bamdash/meta.yaml b/recipes/bamdash/meta.yaml index 430d4923962fc..e583fa3f821fc 100644 --- a/recipes/bamdash/meta.yaml +++ b/recipes/bamdash/meta.yaml @@ -1,5 +1,5 @@ {% set name = "bamdash" %} -{% set version = "0.2.2" %} +{% set version = "0.3.1" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/bamdash-{{ version }}.tar.gz - sha256: aebd3ea688fac17f9d87ebae87efc33f260a4dedc83d14036c97f2ace08631d6 + sha256: db8ff295b8e16bb290e3cd53fa04aa86d9a2cfd18c053f62a6379bb6c8272b26 build: entry_points: diff --git a/recipes/bamread/build_failure.osx-64.yaml b/recipes/bamread/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..44897c6af34d3 --- /dev/null +++ b/recipes/bamread/build_failure.osx-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: 8f26375d8b5482a572de19471f95b0c74d50dea5df302d8ab63ff1f5fd6927b9 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: compiler error +log: |2- + Reason: tried: '/opt/mambaforge/envs/bioconda/pkgs/ld64_osx-64-711-ha20a434_0/bin/../lib/libtapi.dylib' (no such file), '/opt/mambaforge/envs/bioconda/pkgs/ld64_osx-64-711-ha20a434_0/bin/../lib/libtapi.dylib' (no such file), '/usr/local/lib/libtapi.dylib' (no such file), '/usr/lib/libtapi.dylib' (no such file, not in dyld cache) + clang-16: error: unable to execute command: Abort trap: 6 + clang-16: error: linker command failed due to signal (use -v to see invocation) + error: command '/opt/mambaforge/envs/bioconda/conda-bld/bamread_1718324170755/_build_env/bin/x86_64-apple-darwin13.4.0-clang' failed with exit code 1 + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/bamread_1718324170755/work + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/bamread_1718324170755/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/bamread_1718324170755/_build_env + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/bamread_1718324170755/work/conda_build.sh']' returned non-zero exit status 1. + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/bamread_1718324170755/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bamread-0.0.16 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bamread-0.0.16 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + Compiling bamread/src/bamread.pyx because it changed. + [1/1] Cythonizing bamread/src/bamread.pyx + running install + running build + running build_py + creating build + creating build/lib.macosx-10.9-x86_64-cpython-312 + creating build/lib.macosx-10.9-x86_64-cpython-312/bamread + copying bamread/__init__.py -> build/lib.macosx-10.9-x86_64-cpython-312/bamread + copying bamread/read.py -> build/lib.macosx-10.9-x86_64-cpython-312/bamread + creating build/lib.macosx-10.9-x86_64-cpython-312/bamread/src + copying bamread/src/__init__.py -> build/lib.macosx-10.9-x86_64-cpython-312/bamread/src + running egg_info + writing bamread.egg-info/PKG-INFO + writing dependency_links to bamread.egg-info/dependency_links.txt + writing requirements to bamread.egg-info/requires.txt + writing top-level names to bamread.egg-info/top_level.txt + reading manifest file 'bamread.egg-info/SOURCES.txt' + writing manifest file 'bamread.egg-info/SOURCES.txt' + creating build/lib.macosx-10.9-x86_64-cpython-312/bin + copying bin/bamread -> build/lib.macosx-10.9-x86_64-cpython-312/bin + creating build/lib.macosx-10.9-x86_64-cpython-312/tests + copying tests/control.bam -> build/lib.macosx-10.9-x86_64-cpython-312/tests + copying bamread/src/bamread.c -> build/lib.macosx-10.9-x86_64-cpython-312/bamread/src + copying bamread/src/bamread.pyx -> build/lib.macosx-10.9-x86_64-cpython-312/bamread/src + copying bamread/src/bamwrite.pyx -> build/lib.macosx-10.9-x86_64-cpython-312/bamread/src + running build_ext + building 'bamread.src.bamread' extension + creating build/temp.macosx-10.9-x86_64-cpython-312 + creating build/temp.macosx-10.9-x86_64-cpython-312/bamread + creating build/temp.macosx-10.9-x86_64-cpython-312/bamread/src + x86_64-apple-darwin13.4.0-clang -fno-strict-overflow -DNDEBUG -O2 -Wall -fPIC -O2 -isystem $PREFIX/include -fPIC -O2 -isystem $PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bamread-0.0.16 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include/python3.12 -c bamread/src/bamread.c -o build/temp.macosx-10.9-x86_64-cpython-312/bamread/src/bamread.o + x86_64-apple-darwin13.4.0-clang -bundle -undefined dynamic_lookup -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bamread-0.0.16 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 build/temp.macosx-10.9-x86_64-cpython-312/bamread/src/bamread.o -o build/lib.macosx-10.9-x86_64-cpython-312/bamread/src/bamread.cpython-312-darwin.so +# Last 100 lines of the build log. diff --git a/recipes/bamread/meta.yaml b/recipes/bamread/meta.yaml index bcc7027a0c62d..db3f3aca49d74 100644 --- a/recipes/bamread/meta.yaml +++ b/recipes/bamread/meta.yaml @@ -10,9 +10,10 @@ source: sha256: 913ae7d433592aa9bfad8699da93e74b5dfe8f567a1ebf4147f0da61baaf2b70 build: - number: 1 - skip: True # [py < 37] + number: 4 script: python setup.py install --single-version-externally-managed --record=record.txt + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: build: @@ -40,5 +41,7 @@ about: summary: Read bam files quickly into dataframes in Python extra: + additional-platforms: + - linux-aarch64 skip-lints: - uses_setuptools diff --git a/recipes/bamscale/meta.yaml b/recipes/bamscale/meta.yaml index 1f9c26d4667e7..2b2c881bbab70 100644 --- a/recipes/bamscale/meta.yaml +++ b/recipes/bamscale/meta.yaml @@ -10,7 +10,7 @@ source: folder: bamscale build: - number: 8 + number: 9 requirements: build: diff --git a/recipes/bamsurgeon/meta.yaml b/recipes/bamsurgeon/meta.yaml new file mode 100644 index 0000000000000..2e78b93bc1c3f --- /dev/null +++ b/recipes/bamsurgeon/meta.yaml @@ -0,0 +1,44 @@ +{% set name = "Bamsurgeon" %} +{% set version = "1.4.1" %} + +package: + name: '{{ name|lower }}' + version: '{{ version }}' + +source: + url: https://github.com/adamewing/{{ name }}/archive/refs/tags/{{ version }}.tar.gz + sha256: 137981f16df21fe5b4f602c641372a20643a8bb92e6c6dddace499427417213f + patches: + - pyproject.patch + +build: + run_exports: + - {{ pin_subpackage('bamsurgeon', max_pin="x") }} + script: "{{ PYTHON }} -m pip install --no-deps --ignore-installed --no-cache-dir -vvv ." + number: 0 + noarch: python + +requirements: + host: + - python >=3.6 + - pip + run: + - python >=3.6 + - samtools >=1.2 + - bwa >=0.7.12 + - exonerate >=2.2 + - velvet >=1.2 + - wgsim >=0.2 + - pysam + - picard + +test: + commands: + - addsv.py -h + - addsnv.py -h + - addindel.py -h +about: + home: https://github.com/adamewing/bamsurgeon + license: MIT-license + license_file: LICENSE.txt + summary: Tools for adding genomic variants to BAM/SAM/CRAM files. Can be used to test variant callers. diff --git a/recipes/bamsurgeon/pyproject.patch b/recipes/bamsurgeon/pyproject.patch new file mode 100644 index 0000000000000..57dda2668888b --- /dev/null +++ b/recipes/bamsurgeon/pyproject.patch @@ -0,0 +1,38 @@ +new file mode 100644 +--- /dev/null ++++ pyproject.toml +@@ -0,0 +1,34 @@ ++[build-system] ++requires = ["setuptools>=61.0"] ++build-backend = "setuptools.build_meta" ++ ++[project] ++name = "bamsurgeon" ++description = "Tools for adding mutations to existing bam files, used for testing mutation callers" ++readme = "README.md" ++requires-python = ">=3.6" ++license = {file = "LICENSE.txt"} ++classifiers = [ ++ "License :: OSI Approved :: MIT License", ++ "Programming Language :: Python :: 3", ++ "Topic :: Scientific/Engineering", ++ "Topic :: Scientific/Engineering :: Bio-Informatics", ++ "Intended Audience :: Science/Research", ++ "Natural Language :: English", ++] ++dependencies = [] ++version = "1.4.1" ++ ++[project.urls] ++"Homepage" = "https://github.com/adamewing/bamsurgeon" ++ ++[tool.setuptools] ++script-files = [ ++ "bin/addindel.py", ++ "bin/addsnv.py", ++ "bin/addsv.py" ++] ++ ++[tool.setuptools.packages.find] ++where = ["bin"] ++ diff --git a/recipes/bamtools/meta.yaml b/recipes/bamtools/meta.yaml index 4b1e918f5bfae..0f5b309f2a25e 100644 --- a/recipes/bamtools/meta.yaml +++ b/recipes/bamtools/meta.yaml @@ -1,7 +1,8 @@ +{% set name = "bamtools" %} {% set version = "2.5.2" %} package: - name: bamtools + name: {{ name }} version: {{ version }} source: @@ -11,7 +12,9 @@ source: # - 0001-Const-qualify-all-functors-operator-member-functions.patch build: - number: 2 + number: 5 + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} requirements: build: @@ -32,5 +35,8 @@ about: summary: C++ API & command-line toolkit for working with BAM data extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - biotools:bamtools diff --git a/recipes/bamutil/build.sh b/recipes/bamutil/build.sh index 023b2e27aaf87..fea61b6a64272 100644 --- a/recipes/bamutil/build.sh +++ b/recipes/bamutil/build.sh @@ -1,7 +1,9 @@ #!/usr/bin/env bash +set -xe + cd bamUtil -make \ +make -j ${CPU_COUNT} \ CXX="${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} -std=c++11" \ CC="${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" \ USER_WARNINGS='-Wno-strict-overflow' \ diff --git a/recipes/bamutil/meta.yaml b/recipes/bamutil/meta.yaml index 28a2f7069ca86..68fad40c1b808 100644 --- a/recipes/bamutil/meta.yaml +++ b/recipes/bamutil/meta.yaml @@ -13,7 +13,9 @@ source: folder: libStatGen build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage('bamutil', max_pin="x") }} requirements: build: @@ -36,5 +38,7 @@ about: summary: Programs that perform operations on SAM/BAM files, all built into a single executable, bam. extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:Bamutil diff --git a/recipes/bandage_ng/meta.yaml b/recipes/bandage_ng/meta.yaml index 8068c2cda5f82..ca560807e8f66 100644 --- a/recipes/bandage_ng/meta.yaml +++ b/recipes/bandage_ng/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 892c36350ee0eb8a58ec7187cf08b6b5b288915bd74f6d69e68c7aa2fdd704f0 build: - number: 3 + number: 4 skip: True # [osx] run_exports: - {{ pin_subpackage("bandage_ng", max_pin=None) }} diff --git a/recipes/baredsc/meta.yaml b/recipes/baredsc/meta.yaml index d9b7c9290d414..48c80ba130384 100644 --- a/recipes/baredsc/meta.yaml +++ b/recipes/baredsc/meta.yaml @@ -1,5 +1,5 @@ {% set name = "baredSC" %} -{% set version = "1.1.2" %} +{% set version = "1.1.3" %} package: name: {{ name | lower }} @@ -7,7 +7,7 @@ package: source: url: https://github.com/lldelisle/baredSC/archive/v{{ version }}.tar.gz - sha256: 9c1ac38cebdb6e9183ee208f86021e3c80bbd98a3bff8a078327c4c8420f4fba + sha256: 96b4eee8d959ab4d30350ae7ac91d89501bb7175ab4c3bd3e3e9ff6b0c1dcfcf build: number: 0 @@ -49,3 +49,5 @@ about: extra: recipe-maintainers: - lldelisle + + \ No newline at end of file diff --git a/recipes/batch_brb/build.sh b/recipes/batch_brb/build.sh index 176b7fe047c32..71a27ee60c315 100644 --- a/recipes/batch_brb/build.sh +++ b/recipes/batch_brb/build.sh @@ -1,7 +1,6 @@ #!/bin/bash set -euxo pipefail - mkdir -p ${PREFIX}/{bin,etc} #Setup scripts @@ -42,19 +41,9 @@ cp -v ${SRC_DIR}/scripts/del01_delete_db_entries.py ${PREFIX}/bin/del01_delete_d #templates and documentation folders #mkdir -p ${PREFIX}/etc/{templates/{CSVs,Excel_files},documentation} -cp ${SRC_DIR}/templates/CSVs/* ${PREFIX}/etc/ -cp ${SRC_DIR}/templates/Excel_files/* ${PREFIX}/etc/ -cp ${SRC_DIR}/documentation/* ${PREFIX}/etc/ - - - - +cp -f ${SRC_DIR}/templates/CSVs/* ${PREFIX}/etc/ +cp -f ${SRC_DIR}/templates/Excel_files/* ${PREFIX}/etc/ +cp -f ${SRC_DIR}/documentation/* ${PREFIX}/etc/ ls -l $PREFIX/bin ls -l $PREFIX/etc - - - - - - diff --git a/recipes/batch_brb/meta.yaml b/recipes/batch_brb/meta.yaml index 7187b28de7b58..d9831f9584446 100644 --- a/recipes/batch_brb/meta.yaml +++ b/recipes/batch_brb/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.0.1" %} +{% set version = "1.1.1" %} package: name: batch_brb @@ -6,11 +6,13 @@ package: source: url: https://github.com/erin-r-butterfield/batch_brb/archive/v{{ version }}.tar.gz - sha256: 179b97a414e4500fff2a60ab913840a18c308fb348d0532060ffbebe707f869c + sha256: cb31cb2b69b76728ccb76e507ae1b54df9c88d3cbcb45d3313ca31cbb2784db6 build: - number: 1 + number: 0 noarch: generic + run_exports: + - {{ pin_subpackage('batch_brb', max_pin="x") }} requirements: run: @@ -47,10 +49,9 @@ test: - delete_db -h - del01_delete_db_entries.py -h - about: - home: https://github.com/erin-r-butterfield/batch_brb + home: "https://github.com/erin-r-butterfield/batch_brb" license: GPL3 license_file: LICENSE - summary: A tool for the automation of best reciprocal BLAST and phylogenetic analysis using FastTree - + summary: "A tool for the automation of best reciprocal BLAST and phylogenetic analysis using FastTree." + dev_url: "https://github.com/erin-r-butterfield/batch_brb" diff --git a/recipes/bbknn/meta.yaml b/recipes/bbknn/meta.yaml index 64871ea31723a..1234e90ae2c9f 100644 --- a/recipes/bbknn/meta.yaml +++ b/recipes/bbknn/meta.yaml @@ -1,5 +1,5 @@ {% set name = "bbknn" %} -{% set version = "1.5.1" %} +{% set version = "1.6.0" %} package: name: "{{ name|lower }}" @@ -7,12 +7,13 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 16da9c778ddfe363f8a3fa0d72707694d2217f94d3a87482336e8a2c6beb2160 + sha256: 1c01a9d6df2fc52a527de8a403617897a4b672724863299a7026f2132f1b041b build: number: 3 - skip: true # [py2k or py == 310] script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + run_exports: + - {{ pin_subpackage('bbknn', max_pin="x") }} requirements: build: @@ -24,19 +25,19 @@ requirements: - numpy >=1.13 - pip - python - - scipy - - scikit-learn + - flit-core >=3.2,<4 + - scipy >=1.6.0 + - scikit-learn >=1.0.2 - umap-learn - - packaging + - pandas run: - python - python-annoy - pynndescent - numpy >=1.13 - - scipy - - scikit-learn + - scipy >=1.6.0 + - scikit-learn >=1.0.2 - umap-learn - - packaging - pandas test: @@ -51,5 +52,7 @@ about: summary: Batch balanced KNN extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - jenzopr diff --git a/recipes/bbmap/build.sh b/recipes/bbmap/build.sh index e1f2e8a16fe49..c7989d9fdf823 100755 --- a/recipes/bbmap/build.sh +++ b/recipes/bbmap/build.sh @@ -4,12 +4,16 @@ set -x -e -o pipefail BINARY_HOME=$PREFIX/bin BBMAP_HOME=$PREFIX/opt/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM +DATA_HOME=$PREFIX/share/$PKG_NAME mkdir -p $BINARY_HOME mkdir -p $BBMAP_HOME +mkdir -p $DATA_HOME chmod a+x *.sh -cp -R * $BBMAP_HOME/ +cp -Rf * $BBMAP_HOME/ -find *.sh -type f -exec ln -s $BBMAP_HOME/{} $BINARY_HOME/{} \; +find *.sh -type f -exec ln -sf $BBMAP_HOME/{} $BINARY_HOME/{} \; + +cp -Rf $BBMAP_HOME/resources $DATA_HOME diff --git a/recipes/bbmap/meta.yaml b/recipes/bbmap/meta.yaml index 68499749c3bf0..a69855905a211 100644 --- a/recipes/bbmap/meta.yaml +++ b/recipes/bbmap/meta.yaml @@ -1,18 +1,20 @@ {% set name = "BBMap" %} -{% set version = "39.01" %} -{% set sha256 = "98608da50130c47f3abd095b889cc87f60beeb8b96169b664bc9d849abe093e6" %} - -build: - number: 1 +{% set version = "39.10" %} +{% set sha256 = "996aff05765ba5e64547f8a34c56da396ce7b18db96ffe7f1076f2d2f49c6148" %} package: name: {{ name|lower }} version: {{ version }} source: - url: http://downloads.sourceforge.net/project/{{ name|lower }}/{{ name }}_{{ version }}.tar.gz + url: https://downloads.sourceforge.net/project/{{ name|lower }}/{{ name }}_{{ version }}.tar.gz sha256: {{ sha256 }} +build: + number: 0 + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} + requirements: build: - {{ compiler('c') }} @@ -21,10 +23,9 @@ requirements: - pbzip2 - bzip2 - samtools + - patchelf # [osx] run: - openjdk >=7.0 - - pbzip2 - - bzip2 - samtools test: @@ -43,14 +44,19 @@ about: home: https://sourceforge.net/projects/bbmap doc_url: https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/ license: "UC-LBL license (see package)" - license_file: license.txt + license_file: "license.txt" summary: "BBMap is a short read aligner, as well as various other bioinformatic tools." + dev_url: https://sourceforge.net/projects/bbmap extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 notes: | BBMap is a series of Java programs, but they come with a number of custom wrapper shell scripts. Each of these is symlinked to the conda bin directory during install. identifiers: - biotools:bbmap + - usegalaxy-eu:bbtools_bbmap - doi:10.1371/journal.pone.0185056 diff --git a/recipes/bbmix/meta.yaml b/recipes/bbmix/meta.yaml new file mode 100644 index 0000000000000..300260eec6617 --- /dev/null +++ b/recipes/bbmix/meta.yaml @@ -0,0 +1,39 @@ +{% set name = "bbmix" %} +{% set version = "0.2.2" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.org/packages/source/{{ name[0] }}/{{ name }}/bbmix-{{ version }}.tar.gz + sha256: 33b8891b4e1f7f1c5059c755ad888af2412b79738ec0cfb2f194ba7329c9bce6 + +build: + number: 0 + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + run_exports: + - {{ pin_subpackage('bbmix', max_pin="x.x") }} + +requirements: + host: + - python >=3 + - pip + run: + - python >=3 + - numpy >=1.9.0 + - scipy >=1.4.0 + - matplotlib-base + +test: + imports: + - bbmix + +about: + home: "https://github.com/statbiomed/betabinmix" + summary: 'BBMix: inference of beta-binomial mixture model' + license: "Apache-2.0" + license_family: APACHE + license_file: LICENSE + dev_url: "https://github.com/statbiomed/betabinmix" diff --git a/recipes/bcalm/meta.yaml b/recipes/bcalm/meta.yaml index 7dcb72552226d..225521b463c93 100644 --- a/recipes/bcalm/meta.yaml +++ b/recipes/bcalm/meta.yaml @@ -11,7 +11,9 @@ source: sha256: '{{sha256}}' build: - number: 5 + number: 6 + run_exports: + - {{ pin_subpackage("bcalm", max_pin="x.x.x") }} requirements: build: @@ -33,3 +35,7 @@ about: home: https://github.com/GATB/bcalm license: MIT License summary: BCALM 2 is a bioinformatics tool for constructing the compacted de Bruijn graph from sequencing data. + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/bcbio-gff/0.6.2/meta.yaml b/recipes/bcbio-gff/0.6.2/meta.yaml index 9a88bf7a0c348..97d545454cf69 100644 --- a/recipes/bcbio-gff/0.6.2/meta.yaml +++ b/recipes/bcbio-gff/0.6.2/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 1 + number: 2 noarch: python script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv" @@ -22,7 +22,7 @@ requirements: run: - python - six - - biopython + - biopython <=1.78 - bx-python test: diff --git a/recipes/bcbio-gff/0.6.4/meta.yaml b/recipes/bcbio-gff/0.6.4/meta.yaml index 293650e9cf2de..11ad4bd1be87a 100644 --- a/recipes/bcbio-gff/0.6.4/meta.yaml +++ b/recipes/bcbio-gff/0.6.4/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 1 + number: 2 noarch: python script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv" @@ -22,7 +22,7 @@ requirements: run: - python - six - - biopython + - biopython <=1.78 - bx-python test: diff --git a/recipes/bcbio-gff/meta.yaml b/recipes/bcbio-gff/meta.yaml index 90f1c2105a763..24d4a1716f553 100644 --- a/recipes/bcbio-gff/meta.yaml +++ b/recipes/bcbio-gff/meta.yaml @@ -1,5 +1,5 @@ {% set name = "bcbio-gff" %} -{% set version = "0.7.0" %} +{% set version = "0.7.1" %} package: name: {{ name|lower }} @@ -7,11 +7,13 @@ package: source: url: https://pypi.io/packages/source/b/{{ name|lower }}/{{ name }}-{{ version }}.tar.gz - sha256: f7b3922ee274106f8716703f41f05a1795aa9d73e903f4e481995ed8f5f65d2d + sha256: d1dc3294147b95baced6033f6386a0fed45c43767ef02d1223df5ef497e9cca6 build: - number: 0 + number: 2 noarch: python + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x.x") }} script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv" requirements: @@ -21,12 +23,13 @@ requirements: run: - python - six - - biopython + - biopython <=1.86 - bx-python test: imports: - BCBio.GFF + about: home: https://github.com/chapmanb/bcbb/tree/master/gff license: Biopython License Agreement diff --git a/recipes/bcftools-gtc2vcf-plugin/1.9/affy2vcf.c.patch b/recipes/bcftools-gtc2vcf-plugin/1.9/affy2vcf.c.patch deleted file mode 100644 index ec89a7b984274..0000000000000 --- a/recipes/bcftools-gtc2vcf-plugin/1.9/affy2vcf.c.patch +++ /dev/null @@ -1,119 +0,0 @@ ---- gtc2vcf-b890909/affy2vcf.c.orig 2018-10-11 10:20:20.163766095 -0400 -+++ gtc2vcf-b890909/affy2vcf.c 2018-10-11 10:22:47.924639141 -0400 -@@ -192,7 +192,8 @@ - - int moff = 0, *off = NULL; - int ncols = ksplit_core(str.s, ',', &moff, &off); -- for (int i=0; iprobeset_id); -- for (int i=0; in_records; i++) -+ int i; -+ for (i=0; in_records; i++) - { - free(annot->records[i].probe_set); - free(annot->records[i].dbsnp); -@@ -297,7 +299,8 @@ - - static void report_destroy(report_t *report) - { -- for (int i=0; in_samples; i++) free(report->cel_files[i]); -+ int i; -+ for (i=0; in_samples; i++) free(report->cel_files[i]); - free(report->genders); - } - -@@ -309,7 +312,8 @@ - { - bcf_hdr_t *hdr = bcf_hdr_init("w"); - int n = faidx_nseq(fai); -- for (int i=0; iab_delta ) - { -@@ -393,7 +398,8 @@ - ncols = ksplit_core(str.s, '\t', &moff, &off); - if ( strcmp(&str.s[off[0]], "probeset_id") ) error("Malformed first line from summary file: %s\n%s\n", summary_fn, str.s); - -- for (int i=1; in_samples; i++) fprintf(sex_fh, "%s\t%d\n", report->cel_files[i], report->genders[i]); -+ int i; -+ for (i=0; in_samples; i++) fprintf(sex_fh, "%s\t%d\n", report->cel_files[i], report->genders[i]); - fclose(sex_fh); - report_destroy(report); - } -@@ -650,4 +658,4 @@ - bcf_hdr_destroy(hdr); - hts_close(out_fh); - return 0; --} -\ No newline at end of file -+} diff --git a/recipes/bcftools-gtc2vcf-plugin/1.9/build.sh b/recipes/bcftools-gtc2vcf-plugin/1.9/build.sh deleted file mode 100644 index 207209d5626c3..0000000000000 --- a/recipes/bcftools-gtc2vcf-plugin/1.9/build.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh - -export VERSION=1.9 -export C_INCLUDE_PATH=${PREFIX}/include -export CPP_INCLUDE_PATH=${PREFIX}/include -export CXX_INCLUDE_PATH=${PREFIX}/include -export CPLUS_INCLUDE_PATH=${PREFIX}/include -export LIBRARY_PATH=${PREFIX}/lib -export CPPFLAGS="$CPPFLAGS -I$PREFIX/include" -export LDFLAGS="$LDFLAGS -L$PREFIX/lib" -export CFLAGS="$CFLAGS -I$PREFIX/include" - -mkdir -p $PREFIX/bin -mkdir -p $PREFIX/libexec/bcftools - -# Copy plugin source to the bcftools plugin directory. -cp gtc2vcf-b890909/affy2vcf.c bcftools-$VERSION/plugins/ -cp gtc2vcf-b890909/gtc2vcf.c bcftools-$VERSION/plugins/ - -# Compile htslib and bcftools with affy2vcf and gtc2vcf plugins. -pushd htslib-$VERSION -autoheader -(autoconf || autoconf) -./configure --disable-bz2 --disable-lzma --prefix=$PREFIX -make CC=$CC -popd - -pushd bcftools-$VERSION -make -popd - -# Move custom bcftools plugins to the ~/libexec/bcftools directory. -mv bcftools-$VERSION/plugins/affy2vcf.so $PREFIX/libexec/bcftools/ -mv bcftools-$VERSION/plugins/fixref.so $PREFIX/libexec/bcftools/ -mv bcftools-$VERSION/plugins/gtc2vcf.so $PREFIX/libexec/bcftools/ diff --git a/recipes/bcftools-gtc2vcf-plugin/1.9/conda_build_config.yaml b/recipes/bcftools-gtc2vcf-plugin/1.9/conda_build_config.yaml deleted file mode 100644 index 96ee63743f28a..0000000000000 --- a/recipes/bcftools-gtc2vcf-plugin/1.9/conda_build_config.yaml +++ /dev/null @@ -1,2 +0,0 @@ -htslib: - - 1.9 diff --git a/recipes/bcftools-gtc2vcf-plugin/1.9/fixref.c.patch b/recipes/bcftools-gtc2vcf-plugin/1.9/fixref.c.patch deleted file mode 100644 index 473e19023a8c0..0000000000000 --- a/recipes/bcftools-gtc2vcf-plugin/1.9/fixref.c.patch +++ /dev/null @@ -1,107 +0,0 @@ ---- bcftools-1.9/plugins/fixref.c.orig 2018-06-30 03:48:02.000000000 -0400 -+++ bcftools-1.9/plugins/fixref.c 2018-10-03 09:03:07.270160080 -0400 -@@ -90,6 +90,7 @@ - #define MODE_TOP2FWD 2 - #define MODE_FLIP2FWD 3 - #define MODE_USE_ID 4 -+#define MODE_SWAP 6 - - typedef struct - { -@@ -104,12 +105,14 @@ - typedef struct - { - char *dbsnp_fname; -- int mode, discard; -+ int mode, discard, flip_baf; - bcf_hdr_t *hdr; - faidx_t *fai; - int rid, skip_rid; - i2m_t *i2m; - int32_t *gts, ngts, pos; -+ float *bafs; -+ int32_t nbafs; - uint32_t nsite,nok,nflip,nunresolved,nswap,nflip_swap,nonSNP,nonACGT,nonbiallelic; - uint32_t count[4][4], npos_err, unsorted; - } -@@ -130,6 +133,7 @@ - " Currently the following modes are recognised:\n" - " flip .. flips non-ambiguous SNPs and ignores the rest\n" - " id .. swap REF/ALT and GTs using the ID column to determine the REF allele\n" -+ " swap .. swap REF/ALT columns and GTs and ignore the rest\n" - " stats .. collect and print stats\n" - " top .. converts from Illumina TOP strand to fwd\n" - "\n" -@@ -148,7 +152,8 @@ - " -i, --use-id Swap REF/ALT using the ID column to determine the REF allele, implies -m id.\n" - " Download the dbSNP file from\n" - " https://www.ncbi.nlm.nih.gov/variation/docs/human_variation_vcf\n" -- " -m, --mode Collect stats (\"stats\") or convert (\"flip\", \"id\", \"top\") [stats]\n" -+ " -m, --mode Collect stats (\"stats\") or convert (\"flip\", \"id\", \"swap\", \"top\") [stats]\n" -+ " -b --flip-baf Flip BAF when swapping genotypes\n" - "\n" - "Examples:\n" - " # run stats\n" -@@ -178,10 +183,11 @@ - {"discard",no_argument,NULL,'d'}, - {"fasta-ref",required_argument,NULL,'f'}, - {"use-id",required_argument,NULL,'i'}, -+ {"flip-baf",no_argument,NULL,'b'}, - {NULL,0,NULL,0} - }; - int c; -- while ((c = getopt_long(argc, argv, "?hf:m:di:",loptions,NULL)) >= 0) -+ while ((c = getopt_long(argc, argv, "?hf:m:di:b:",loptions,NULL)) >= 0) - { - switch (c) - { -@@ -190,11 +196,13 @@ - else if ( !strcasecmp(optarg,"flip") ) args.mode = MODE_FLIP2FWD; - else if ( !strcasecmp(optarg,"id") ) args.mode = MODE_USE_ID; - else if ( !strcasecmp(optarg,"stats") ) args.mode = MODE_STATS; -+ else if ( !strcasecmp(optarg,"swap") ) args.mode = MODE_SWAP; - else error("The source strand convention not recognised: %s\n", optarg); - break; - case 'i': args.dbsnp_fname = optarg; args.mode = MODE_USE_ID; break; - case 'd': args.discard = 1; break; - case 'f': ref_fname = optarg; break; -+ case 'b': args.flip_baf = 1; break; - case 'h': - case '?': - default: error("%s", usage()); break; -@@ -231,6 +239,13 @@ - } - } - bcf_update_genotypes(args->hdr,rec,args->gts,args->ngts); -+ -+ if (args->flip_baf && bcf_get_format_float(args->hdr, rec, "BAF", &args->bafs, &args->nbafs) >= 0) -+ { -+ float *ptr = args->bafs; -+ for (i=0; inbafs; i++, ptr++) *ptr = 1 - *ptr; -+ bcf_update_format_float(args->hdr, rec, "BAF", args->bafs, args->nbafs); -+ } - - return rec; - } -@@ -430,6 +445,13 @@ - if ( ir==revint(ib) ) { args.nflip_swap++; return set_ref_alt(&args,rec,int2nt(revint(ib)),int2nt(revint(ia)),1); } - error("FIXME: this should not happen %s:%d\n", bcf_seqname(args.hdr,rec),rec->pos+1); - } -+ else if ( args.mode==MODE_SWAP ) -+ { -+ if ( ir==ia ) return ret; -+ if ( ir==ib ) { args.nswap++; return set_ref_alt(&args,rec,int2nt(ib),int2nt(ia),1); } -+ args.nunresolved++; -+ return args.discard ? NULL : ret; -+ } - else if ( args.mode==MODE_TOP2FWD ) - { - int pair = 1 << ia | 1 << ib; -@@ -567,6 +589,7 @@ - fprintf(stderr,"NS\tnon-biallelic\t%u\n", args.nonbiallelic); - - free(args.gts); -+ free(args.bafs); - if ( args.fai ) fai_destroy(args.fai); - if ( args.i2m ) kh_destroy(i2m, args.i2m); - } diff --git a/recipes/bcftools-gtc2vcf-plugin/1.9/gtc2vcf.c.patch b/recipes/bcftools-gtc2vcf-plugin/1.9/gtc2vcf.c.patch deleted file mode 100644 index fd43df0fc62b6..0000000000000 --- a/recipes/bcftools-gtc2vcf-plugin/1.9/gtc2vcf.c.patch +++ /dev/null @@ -1,410 +0,0 @@ ---- gtc2vcf-b890909/gtc2vcf.c.orig 2018-10-11 10:31:54.875895471 -0400 -+++ gtc2vcf-b890909/gtc2vcf.c 2018-10-11 10:55:39.935944745 -0400 -@@ -66,7 +66,8 @@ - else - { - int c = 0; -- for (int i=0; ifp, (void *)&idat->m_run_infos, sizeof(int32_t)); - idat->run_infos = (RunInfo *)malloc(idat->m_run_infos * sizeof(RunInfo)); -- for (int i=0; im_run_infos; i++) -+ for (i=0; im_run_infos; i++) - { - read_pfx_string(idat->fp, &idat->run_infos[i].run_time, NULL); - read_pfx_string(idat->fp, &idat->run_infos[i].block_type, NULL); -@@ -329,13 +331,14 @@ - read_bytes(idat->fp, (void *)&idat->number_toc_entries, sizeof(int32_t)); - idat->id = (uint16_t *)malloc(idat->number_toc_entries * sizeof(uint16_t)); - idat->toc = (int64_t *)malloc(idat->number_toc_entries * sizeof(int64_t)); -- for (int i=0; inumber_toc_entries; i++) -+ int i; -+ for (i=0; inumber_toc_entries; i++) - { - read_bytes(idat->fp, (void *)&idat->id[i], sizeof(uint16_t)); - read_bytes(idat->fp, (void *)&idat->toc[i], sizeof(int64_t)); - } - -- for (int i=0; inumber_toc_entries; i++) idat_read(idat, idat->id[i]); -+ for (i=0; inumber_toc_entries; i++) idat_read(idat, idat->id[i]); - - return idat; - } -@@ -358,7 +361,8 @@ - free(idat->unknown5); - free(idat->unknown6); - free(idat->unknown7); -- for (int i=0; im_run_infos; i++) -+ int i; -+ for (i=0; im_run_infos; i++) - { - free(idat->run_infos[i].run_time); - free(idat->run_infos[i].block_type); -@@ -402,7 +406,8 @@ - fprintf(stream, "Mid Blocks Count ,%d\n", idat->mid_block->item_num); - fprintf(stream, "[Assay]\n"); - fprintf(stream, "IlmnID,Sd,Mean,Nbeads\n"); -- for (int i=0; inum_snps; i++) -+ int i; -+ for (i=0; inum_snps; i++) - { - int32_t ilmn_id; - get_element(idat->ilmn_id, (void *)&ilmn_id, i); -@@ -415,14 +420,14 @@ - fprintf(stream, "%d,%d,%d,%d\n", ilmn_id, sd, mean, nbeads); - } - fprintf(stream, "[Mid Blocks]\n"); -- for (int i=0; imid_block->item_num; i++) -+ for (i=0; imid_block->item_num; i++) - { - int8_t mid_block; - get_element(idat->mid_block, (void *)&mid_block, i); - fprintf(stream, "%d\n", mid_block); - } - fprintf(stream, "[Run Infos]\n"); -- for (int i=0; im_run_infos; i++) -+ for (i=0; im_run_infos; i++) - { - fprintf(stream, "%s\t%s\t%s\t%s\t%s\n", idat->run_infos[i].run_time, idat->run_infos[i].block_type, - idat->run_infos[i].block_pars, idat->run_infos[i].block_code, idat->run_infos[i].code_version); -@@ -546,17 +551,18 @@ - static uint8_t *bpm_norm_lookups(bpm_t *bpm) - { - uint8_t sorted_norm_ids[256]; -- for (int i=0; i<256; i++) sorted_norm_ids[i] = 0xFF; -- for (int i=0; inum_loci; i++) -+ int i; -+ for (i=0; i<256; i++) sorted_norm_ids[i] = 0xFF; -+ for (i=0; inum_loci; i++) - { - int norm_id = bpm->locus_entries[i].norm_id; - sorted_norm_ids[norm_id] = norm_id; - } - int j=0; -- for (int i=0; i<256; i++) if ( sorted_norm_ids[i] != 0xFF ) sorted_norm_ids[j++] = sorted_norm_ids[i]; -+ for (i=0; i<256; i++) if ( sorted_norm_ids[i] != 0xFF ) sorted_norm_ids[j++] = sorted_norm_ids[i]; - uint8_t *norm_lookups = (uint8_t *)malloc(256 * sizeof(uint8_t *)); - memset((void *)norm_lookups, 0xFF, 256 * sizeof(uint8_t *)); -- for (int i=0; ifp, (void *)&bpm->num_loci, sizeof(int32_t)); - read_array(bpm->fp, (void **)&bpm->indexes, NULL, bpm->num_loci, sizeof(int32_t), 0); - bpm->names = (char **)malloc(bpm->num_loci * sizeof(char *)); -- for (int i=0; inum_loci; i++) read_pfx_string(bpm->fp, &bpm->names[i], NULL); -+ int i; -+ for (i=0; inum_loci; i++) read_pfx_string(bpm->fp, &bpm->names[i], NULL); - read_array(bpm->fp, (void **)&bpm->norm_ids, NULL, bpm->num_loci, sizeof(uint8_t), 0); - - bpm->locus_entries = (LocusEntry *)malloc(bpm->num_loci * sizeof(LocusEntry)); - LocusEntry locus_entry; -- for (int i=0; inum_loci; i++) -+ for (i=0; inum_loci; i++) - { - memset(&locus_entry, 0, sizeof(LocusEntry)); - locusentry_read(&locus_entry, bpm->fp); -@@ -599,14 +606,14 @@ - memcpy(&bpm->locus_entries[ idx ], &locus_entry, sizeof(LocusEntry)); - } - bpm->norm_lookups = bpm_norm_lookups(bpm); -- for (int i=0; inum_loci; i++) -+ for (i=0; inum_loci; i++) - { - if ( i != bpm->locus_entries[i].index - 1 ) error("Manifest format error: read invalid number of assay entries\n"); - } - - read_bytes(bpm->fp, (void *)&bpm->m_header, sizeof(int32_t)); - bpm->header = (char **)malloc(bpm->m_header * sizeof(char *)); -- for (int i=0; im_header; i++) read_pfx_string(bpm->fp, &bpm->header[i], NULL); -+ for (i=0; im_header; i++) read_pfx_string(bpm->fp, &bpm->header[i], NULL); - - if ( !heof(bpm->fp) ) error("BPM reader did not reach the end of file %s at position %ld\n", bpm->fn, htell(bpm->fp)); - -@@ -621,13 +628,14 @@ - free(bpm->manifest_name); - free(bpm->control_config); - free(bpm->indexes); -+ int i; - if ( bpm->names ) - { -- for (int i=0; inum_loci; i++) free(bpm->names[i]); -+ for (i=0; inum_loci; i++) free(bpm->names[i]); - free(bpm->names); - } - free(bpm->norm_ids); -- for (int i=0; inum_loci; i++) -+ for (i=0; inum_loci; i++) - { - free(bpm->locus_entries[i].ilmn_id); - free(bpm->locus_entries[i].name); -@@ -650,7 +658,7 @@ - } - free(bpm->locus_entries); - free(bpm->norm_lookups); -- for (int i=0; im_header; i++) free(bpm->header[i]); -+ for (i=0; im_header; i++) free(bpm->header[i]); - free(bpm->header); - free(bpm); - } -@@ -664,9 +672,10 @@ - - static void bpm_to_csv(const bpm_t *bpm, FILE *stream) - { -- for (int i=0; im_header; i++) fprintf(stream, "%s\n", bpm->header[i]); -+ int i; -+ for (i=0; im_header; i++) fprintf(stream, "%s\n", bpm->header[i]); - fprintf(stream, "Index,NormID,IlmnID,Name,IlmnStrand,SNP,AddressA_ID,AlleleA_ProbeSeq,AddressB_ID,AlleleB_ProbeSeq,GenomeBuild,Chr,MapInfo,Ploidy,Species,Source,SourceVersion,SourceStrand,SourceSeq,TopGenomicSeq,BeadSetID,Exp_Clusters,Intensity_Only,Assay_Type,Frac A,Frac C,Frac G,Frac T,RefStrand\n"); -- for (int i=0; inum_loci; i++) -+ for (i=0; inum_loci; i++) - { - LocusEntry *locus_entry = &bpm->locus_entries[i]; - fprintf(stream, "%d,%d,%s,%s,%s,%s,%010d,,%010d,,%s,%s,%s,%s,%s,%s,,%s,,,,%d,%d,%d,%f,%f,%f,%f,%s\n", -@@ -813,7 +822,8 @@ - int moff = 0, *off = NULL; - bpm->m_header = ksplit_core(str.s, '\n', &moff, &off); - bpm->header = (char **)malloc(bpm->m_header * sizeof(char *)); -- for (int i=0; im_header; i++) bpm->header[i] = strdup(&str.s[off[i]]); -+ int i; -+ for (i=0; im_header; i++) bpm->header[i] = strdup(&str.s[off[i]]); - free(off); - - str.l = 0; -@@ -851,7 +861,7 @@ - tsv_register(tsv, "RefStrand", tsv_read_string, &locus_entry.ref_strand); - - bpm->locus_entries = (LocusEntry *)malloc(bpm->num_loci * sizeof(LocusEntry)); -- for (int i=0; inum_loci; i++) -+ for (i=0; inum_loci; i++) - { - memset(&locus_entry, 0, sizeof(LocusEntry)); - locus_entry.norm_id = 0xFF; -@@ -959,6 +969,7 @@ - egt_t *egt = (egt_t *)calloc(1, sizeof(egt_t)); - egt->fn = strdup(fn); - egt->fp = hopen(egt->fn, "rb"); -+ int i; - if ( egt->fp == NULL ) error("Could not open %s\n", egt->fn); - if ( is_gzip(egt->fp) ) error("File %s is gzip compressed and currently cannot be seeked\n", egt->fn); - -@@ -982,21 +993,21 @@ - - read_bytes(egt->fp, (void *)&egt->num_records, sizeof(int32_t)); - egt->cluster_records = (ClusterRecord *)malloc(egt->num_records * sizeof(ClusterRecord)); -- for (int i=0; inum_records; i++) clusterrecord_read(&egt->cluster_records[i], egt->fp); -- for (int i=0; inum_records; i++) clusterscore_read(&egt->cluster_records[i].cluster_score, egt->fp); -+ for (i=0; inum_records; i++) clusterrecord_read(&egt->cluster_records[i], egt->fp); -+ for (i=0; inum_records; i++) clusterscore_read(&egt->cluster_records[i].cluster_score, egt->fp); - - // toss useless strings such as aa_ab_bb/aa_ab/aa_bb/ab_bb -- for (int i=0; inum_records; i++) read_pfx_string(egt->fp, NULL, NULL); -+ for (i=0; inum_records; i++) read_pfx_string(egt->fp, NULL, NULL); - - egt->loci_names = (char **)malloc(egt->num_records * sizeof(char *)); -- for (int i=0; inum_records; i++) -+ for (i=0; inum_records; i++) - { - read_pfx_string(egt->fp, &egt->loci_names[i], NULL); - } -- for (int i=0; inum_records; i++) read_bytes(egt->fp, (void *)&egt->cluster_records[i].address, sizeof(int32_t)); -+ for (i=0; inum_records; i++) read_bytes(egt->fp, (void *)&egt->cluster_records[i].address, sizeof(int32_t)); - - int32_t aa_n, ab_n, bb_n; -- for (int i=0; inum_records; i++) -+ for (i=0; inum_records; i++) - { - read_bytes(egt->fp, (void *)&aa_n, sizeof(int32_t)); - read_bytes(egt->fp, (void *)&ab_n, sizeof(int32_t)); -@@ -1025,7 +1036,8 @@ - free(egt->date_created); - free(egt->manifest_name); - free(egt->cluster_records); -- for (int i=0; inum_records; i++) free(egt->loci_names[i]); -+ int i; -+ for (i=0; inum_records; i++) free(egt->loci_names[i]); - free(egt->loci_names); - free(egt); - } -@@ -1056,7 +1068,8 @@ - fprintf(stream, "Records Count ,%d\n", egt->num_records); - fprintf(stream, "[Assay]\n"); - fprintf(stream, "Name,AA.N,AA.R_dev,AA.R_mean,AA.Theta_dev,AA.Theta_mean,AB.N,AB.R_dev,AB.R_mean,AB.Theta_dev,AB.Theta_mean,BB.N,BB.R_dev,BB.R_mean,BB.Theta_dev,BB.Theta_mean,Intensity Threshold,Cluster Separation,GenTrain Score,Original Score,Edited,Address\n"); -- for (int i=0; inum_records; i++) -+ int i; -+ for (i=0; inum_records; i++) - { - ClusterRecord *cluster_record = &egt->cluster_records[i]; - fprintf(stream, "%s,%d,%f,%f,%f,%f,%d,%f,%f,%f,%f,%d,%f,%f,%f,%f,%f,%f,%f,%f,%d,%d\n", -@@ -1341,17 +1354,18 @@ - read_bytes(gtc->fp, (void *)>c->number_toc_entries, sizeof(int32_t)); - gtc->id = (uint16_t *)malloc(gtc->number_toc_entries * sizeof(uint16_t)); - gtc->toc = (int32_t *)malloc(gtc->number_toc_entries * sizeof(int32_t)); -- for (int i=0; inumber_toc_entries; i++) -+ int i; -+ for (i=0; inumber_toc_entries; i++) - { - read_bytes(gtc->fp, (void *)>c->id[i], sizeof(uint16_t)); - read_bytes(gtc->fp, (void *)>c->toc[i], sizeof(int32_t)); - } - -- for (int i=0; inumber_toc_entries; i++) gtc_read(gtc, gtc->id[i]); -+ for (i=0; inumber_toc_entries; i++) gtc_read(gtc, gtc->id[i]); - - gtc->sin_theta = (float *)malloc(gtc->m_normalization_transforms * sizeof(float)); - gtc->cos_theta = (float *)malloc(gtc->m_normalization_transforms * sizeof(float)); -- for (int i=0; im_normalization_transforms; i++) -+ for (i=0; im_normalization_transforms; i++) - { - gtc->sin_theta[i] = sinf(gtc->normalization_transforms[i].theta); - gtc->cos_theta[i] = cosf(gtc->normalization_transforms[i].theta); -@@ -1450,7 +1464,8 @@ - fprintf(stream, "SNP Count ,%d\n", gtc->num_snps); - fprintf(stream, "[Assay]\n"); - fprintf(stream, "Raw X,Raw Y,GType,Top Alleles,Score,B Allele Freq,Log R Ratio\n"); -- for (int i=0; inum_snps; i++) -+ int i; -+ for (i=0; inum_snps; i++) - { - uint16_t raw_x = 0, raw_y = 0; - get_element(gtc->raw_x, (void *)&raw_x, i); -@@ -1468,7 +1483,7 @@ - } - fprintf(stream, "[Normalization Transforms]\n"); - fprintf(stream, "Version,Offset X,Offset Y,Scale X,Scale Y,Shear,Theta\n"); -- for (int i=0; im_normalization_transforms; i++) -+ for (i=0; im_normalization_transforms; i++) - { - fprintf(stream, "%d,%f,%f,%f,%f,%f,%f\n", - gtc->normalization_transforms[i].version, -@@ -1595,11 +1610,13 @@ - { - // print header - fprintf(stream, "Index\tName\tAddress\tChr\tPosition\tGenTrain Score\tFrac A\tFrac C\tFrac G\tFrac T"); -- for (int i=0; isample_name, gtc[i]->sample_name, gtc[i]->sample_name, gtc[i]->sample_name, gtc[i]->sample_name, gtc[i]->sample_name, gtc[i]->sample_name, gtc[i]->sample_name); -+ int i; -+ for (i=0; isample_name, gtc[i]->sample_name, gtc[i]->sample_name, gtc[i]->sample_name, gtc[i]->sample_name, gtc[i]->sample_name, gtc[i]->sample_name, gtc[i]->sample_name); - fprintf(stream, "\n"); - - // print loci -- for (int j=0; jnum_loci; j++) -+ int j; -+ for (j=0; jnum_loci; j++) - { - fprintf(stream, "%d\t%s\t%d\t%s\t%s\t%f\t%f\t%f\t%f\t%f", bpm->indexes[j], - bpm->names[j], -@@ -1611,7 +1628,7 @@ - bpm->locus_entries[j].frac_c, - bpm->locus_entries[j].frac_g, - bpm->locus_entries[j].frac_t); -- for (int i=0; igenotypes, (void *)&genotype, j); -@@ -1663,7 +1680,8 @@ - { - bcf_hdr_t *hdr = bcf_hdr_init("w"); - int n = faidx_nseq(fai); -- for (int i=0; inum_loci; j++) -+ int j; -+ for (j=0; jnum_loci; j++) - { - bcf_clear(rec); - rec->rid = bcf_hdr_name2id_flexible(hdr, bpm->locus_entries[j].chrom); -@@ -1721,7 +1740,8 @@ - b_top[0] = revnt(b_top[0]); - } - bcf_update_alleles(hdr, rec, alleles, 2); -- for (int i=0; igenotypes, (void *)&genotype, j); -@@ -1927,7 +1947,8 @@ - int moff = 0, *off = NULL, ncols = ksplit_core(line.s, '\t', &moff, &off); - kstring_t str = {0, 0, NULL}; - int *col2sample = (int *) malloc(sizeof(int)*ncols); -- for (int i=0; i0 ) ksprintf(&str, ","); -@@ -2144,7 +2165,8 @@ - { - int flags = 0, n; - char **tags = hts_readlist(str, 0, &n); -- for (int i=0; ifn, '/'); - char *str = ptr ? ptr+1 : gtc[i]->fn; -@@ -2376,10 +2399,10 @@ - bpm_destroy(bpm); - if ( gtc_list ) - { -- for (int i=0; i=1.39 + - pkg-config + +test: + commands: + - bed2gff --help + - bed2gff --version + +about: + home: https://github.com/alejandrogzi/bed2gff + license: MIT + license_family: MIT + license_file: LICENSE + summary: "BED-to-GFF3 converter that runs in parallel" + +extra: + recipe-maintainers: + - alejandrogzi diff --git a/recipes/bed2gtf/build.sh b/recipes/bed2gtf/build.sh new file mode 100644 index 0000000000000..8e10cdc3e3237 --- /dev/null +++ b/recipes/bed2gtf/build.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +# Add workaround for SSH-based Git connections from Rust/cargo. See https://github.com/rust-lang/cargo/issues/2078 for details. +# We set CARGO_HOME because we don't pass on HOME to conda-build, thus rendering the default "${HOME}/.cargo" defunct. +export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="${BUILD_PREFIX}/.cargo" + +# build statically linked binary with Rust +RUST_BACKTRACE=1 +cargo install --verbose --path . --root ${PREFIX} diff --git a/recipes/bed2gtf/meta.yaml b/recipes/bed2gtf/meta.yaml new file mode 100644 index 0000000000000..8647a4c928c8c --- /dev/null +++ b/recipes/bed2gtf/meta.yaml @@ -0,0 +1,37 @@ +{% set name = "bed2gtf" %} +{% set version = "1.9.2" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/alejandrogzi/{{ name }}/archive/refs/tags/v.{{ version }}.tar.gz + sha256: 38bd7528a5a643a4ade316838af36085809bf6476d1b8f37f126d7678fb7e15f + +build: + number: 0 + run_exports: + - {{ pin_subpackage('bed2gtf', max_pin="x.x") }} + +requirements: + build: + - {{ compiler("cxx") }} + - rust >=1.39 + - pkg-config + +test: + commands: + - bed2gtf --help + - bed2gtf --version + +about: + home: https://github.com/alejandrogzi/bed2gtf + license: MIT + license_family: MIT + license_file: LICENSE + summary: "A high-performance BED-to-GTF converter written in Rust" + +extra: + recipe-maintainers: + - alejandrogzi diff --git a/recipes/bedgovcf/meta.yaml b/recipes/bedgovcf/meta.yaml index 8fd41cd2aadef..8a9350345822a 100644 --- a/recipes/bedgovcf/meta.yaml +++ b/recipes/bedgovcf/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '0.1.0' %} +{% set version = '0.1.1' %} {% set name = 'bedgovcf' %} package: @@ -7,12 +7,12 @@ package: source: - url: https://github.com/nvnieuwk/bedgovcf/releases/download/{{ version }}/bedgovcf-{{ version }}-darwin-amd64.tar.gz # [osx-amd64] - md5: 9e57370c3b7eced5da92cd11dc1984e5 # [osx] + md5: 1b4658701449985e20551b8c46dd162c # [osx] - url: https://github.com/nvnieuwk/bedgovcf/releases/download/{{ version }}/bedgovcf-{{ version }}-linux-amd64.tar.gz # [linux] - md5: bbe8e249c655a276657c6602524f7e39 # [linux] + md5: 3229227b913a2819e998458335bf491f # [linux] build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage(name, max_pin="x.x") }} diff --git a/recipes/bedops/meta.yaml b/recipes/bedops/meta.yaml index d6e6046f96376..8224cdd389f9a 100644 --- a/recipes/bedops/meta.yaml +++ b/recipes/bedops/meta.yaml @@ -5,7 +5,9 @@ package: version: {{ version }} build: - number: 1 + number: 2 + run_exports: + - {{ pin_subpackage("bedops", max_pin="x.x.x") }} source: url: https://github.com/bedops/bedops/archive/v{{ version }}.tar.gz @@ -33,3 +35,5 @@ extra: identifiers: - biotools:Bedops - doi:10.1093/bioinformatics/bts277 + additional-platforms: + - linux-aarch64 diff --git a/recipes/bedtk/meta.yaml b/recipes/bedtk/meta.yaml index cb51dc445d8c3..13e1ffd1868b4 100644 --- a/recipes/bedtk/meta.yaml +++ b/recipes/bedtk/meta.yaml @@ -14,7 +14,9 @@ source: sha256: {{ sha256 }} build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage("bedtk", max_pin="x.x.x") }} requirements: build: @@ -48,3 +50,5 @@ about: extra: identifiers: - biotools:bedtk + additional-platforms: + - linux-aarch64 diff --git a/recipes/bedtools/meta.yaml b/recipes/bedtools/meta.yaml index 2c96f9e40ecca..bf08c71d3d5ed 100644 --- a/recipes/bedtools/meta.yaml +++ b/recipes/bedtools/meta.yaml @@ -10,7 +10,7 @@ source: sha256: fc7e660c2279b1e008b80aca0165a4a157daf4994d08a533ee925d73ce732b97 build: - number: 0 + number: 2 run_exports: - {{ pin_subpackage('bedtools', max_pin="x") }} @@ -35,6 +35,9 @@ about: summary: A powerful toolset for genome arithmetic extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - biotools:bedtools - usegalaxy-eu:bedtools_intersectbed diff --git a/recipes/bellmans-gapc/build.sh b/recipes/bellmans-gapc/build.sh index ddb85400f1245..81e7a2009b3b4 100644 --- a/recipes/bellmans-gapc/build.sh +++ b/recipes/bellmans-gapc/build.sh @@ -1,4 +1,7 @@ #!/bin/sh + +set -xe + export SED="sed" export SYSTEM_SUFFIX="_linux-gnu" ./configure --with-boost-libdir=$PREFIX/lib/ CPPFLAGS=-I${PREFIX} --prefix=$PREFIX --disable-gsltest @@ -7,10 +10,10 @@ export SYSTEM_SUFFIX="_linux-gnu" if [ x"$(uname)" == x"Darwin" ]; then export SYSTEM_SUFFIX=`cat config.mf |grep "^SYSTEM_SUFFIX" | cut -d "=" -f2 | tr -d " "` $SED -E "s/ -D_XOPEN_SOURCE=500 / /" -i config.mf - $SED -E "s/ -std=c\+\+17 / -std=c\+\+11 /" -i config.mf + $SED -E "s/ -std=c\+\+17 / -std=c\+\+14 /" -i config.mf fi -make +make -j ${CPU_COUNT} CC=${CC} CXX=${CXX} make install # remove definition of CXX in user space config file, since this will not match users compiler path, # instead let conda take care of providing meaningful CXX and CC values. diff --git a/recipes/bellmans-gapc/meta.yaml b/recipes/bellmans-gapc/meta.yaml index f929e5c91ba7e..5aac7f2d5df62 100644 --- a/recipes/bellmans-gapc/meta.yaml +++ b/recipes/bellmans-gapc/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "2023.07.05" %} +{% set version = "2024.01.12" %} package: name: bellmans-gapc @@ -6,10 +6,12 @@ package: source: url: https://github.com/jlab/gapc/archive/{{ version }}.tar.gz - sha256: 05ebe0707c767dc80f0f9a67d5387a098bcf6bf2e26408c5f2059f373410df69 + sha256: 590b62d5fc39b1deb45855b0586d7ca3674ef17c59fc84ef445d2760a480f7ba build: - number: 0 + number: 3 + run_exports: + - {{ pin_subpackage('bellmans-gapc', max_pin=None) }} requirements: build: @@ -38,6 +40,11 @@ test: about: home: https://bibiserv.cebitec.uni-bielefeld.de/gapc - license: 'GPLv3+' + license: 'GPL-3.0-or-later' + license_family: GPL3 license_file: LICENSE summary: 'A language and compiler for algebraic dynamic programming.' + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/bfc/meta.yaml b/recipes/bfc/meta.yaml index 36d92acead4e4..48efced8289a0 100644 --- a/recipes/bfc/meta.yaml +++ b/recipes/bfc/meta.yaml @@ -3,7 +3,9 @@ package: version: "r181" build: - number: 9 + number: 10 + run_exports: + - {{ pin_subpackage("bfc", max_pin="x.x.x") }} source: url: https://github.com/lh3/bfc/archive/a73dad248dc56d9d4d22eacbbbc51ac276045168.tar.gz @@ -29,3 +31,7 @@ about: license: MIT license_file: LICENSE.txt summary: BFC is a standalone high-performance tool for correcting sequencing errors from Illumina sequencing data. + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/bgreat/meta.yaml b/recipes/bgreat/meta.yaml index 8962130ba8d8f..586688e1e95e1 100644 --- a/recipes/bgreat/meta.yaml +++ b/recipes/bgreat/meta.yaml @@ -10,7 +10,9 @@ source: sha256: bc60e755a3205b725834f37d7509062879415f03730b424cbac06b776eb977cc build: - number: 6 + number: 7 + run_exports: + - {{ pin_subpackage("bgreat", max_pin="x.x.x") }} skip: true # [osx] requirements: @@ -29,3 +31,7 @@ about: home: https://github.com/Malfoy/BGREAT2 license: AGPL-3.0 summary: BGREAT2 is a read mapping tool for NGS sequencing data that align reads on a de Bruijn graph. Preliminary version described at https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-016-1103-9 and used in Bcool a short read corrector (https://arxiv.org/abs/1711.03336) + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/bifrost/build.sh b/recipes/bifrost/build.sh index 7e8ce5cc81850..eb160feeb9e96 100644 --- a/recipes/bifrost/build.sh +++ b/recipes/bifrost/build.sh @@ -1,16 +1,31 @@ -#!/bin/bash +#!/bin/bash -ex -mkdir build -pushd build +export INCLUDES="-I${PREFIX}/include" +export LIBPATH="-L${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" -# Cmake is having trouble finding the sysroot with conda so we're giving it a little help... -if [[ ${HOST} =~ .*darwin.* ]]; then - cmake -DCMAKE_BUILD_TYPE=Release -DCOMPILATION_ARCH=OFF -DCMAKE_INSTALL_PREFIX=${PREFIX} -DCMAKE_OSX_SYSROOT="${CONDA_BUILD_SYSROOT}" .. +export CXXFLAGS="${CXXFLAGS} -O3 -D_FILE_OFFSET_BITS=64 -I${PREFIX}/include" + +ARCH=$(uname -m) +case ${ARCH} in + x86_64) ARCH_FLAGS="-DCOMPILATION_ARCH=OFF" ;; + aarch64) ARCH_FLAGS="-DCOMPILATION_ARCH=OFF" ;; + *) ARCH_FLAGS="-DCOMPILATION_ARCH=ON" ;; +esac + +if [ `uname` == Darwin ]; then + export CONFIG_ARGS="-DCMAKE_OSX_SYSROOT=${CONDA_BUILD_SYSROOT} -DCMAKE_FIND_FRAMEWORK=NEVER -DCMAKE_FIND_APPBUNDLE=NEVER" + export LDFLAGS="${LDFLAGS} -Wl,-rpath,${PREFIX}/lib" else - cmake -DCMAKE_BUILD_TYPE=Release -DCOMPILATION_ARCH=OFF -DCMAKE_INSTALL_PREFIX=${PREFIX} -DCMAKE_TOOLCHAIN_FILE="${RECIPE_DIR}/cross-linux.cmake" .. + export CONFIG_ARGS="-DCMAKE_TOOLCHAIN_FILE=${RECIPE_DIR}/cross-linux.cmake" fi -make VERBOSE=1 -make install +cmake -S . -B build \ + -DCMAKE_INSTALL_PREFIX=${PREFIX} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_COMPILER="${CXX}" \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ + "${CONFIG_ARGS}" \ + "${ARCH_FLAGS}" -popd +cmake --build build --target install -j "${CPU_COUNT}" -v diff --git a/recipes/bifrost/meta.yaml b/recipes/bifrost/meta.yaml index 5ca33f7b6ee0d..1dc9bb202eea2 100644 --- a/recipes/bifrost/meta.yaml +++ b/recipes/bifrost/meta.yaml @@ -1,5 +1,5 @@ {% set name = "bifrost" %} -{% set version = "1.3.1" %} +{% set version = "1.3.5" %} package: name: {{ name|lower }} @@ -7,10 +7,10 @@ package: source: url: https://github.com/pmelsted/{{ name|lower }}/archive/v{{ version }}.tar.gz - sha256: d6a9baacddba8e9508336c5adff15a8a482774c724fc0710392fed7bb9ad1e8b + sha256: e1b2491328b0cc1a32e433a8a9780f05547fa4b8d674b58abdda9ac8809f5341 build: - number: 0 + number: 1 # v1.3.0 breaks Bifrost Index File (.bfi) compatibility with previous Bifrost versions run_exports: - {{ pin_subpackage('bifrost', max_pin="x.x") }} @@ -24,21 +24,24 @@ requirements: host: - zlib - pthread-stubs - run: - - zlib - - pthread-stubs test: commands: - - Bifrost --version + - "Bifrost --version" about: - home: https://github.com/pmelsted/bifrost - license: BSD-2-Clause + home: "https://github.com/pmelsted/bifrost" + license: "BSD-2-Clause" license_family: BSD license_file: LICENSE - summary: Highly parallel construction and indexing of colored and compacted de Bruijn graphs + summary: "Highly parallel construction and indexing of colored and compacted de Bruijn graphs." + dev_url: "https://github.com/pmelsted/bifrost" + doc_url: "https://github.com/pmelsted/bifrost/blob/v{{ version }}/README.md" extra: identifiers: - doi:10.1101/695338 + - biotools:bifrost + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/bigscape/meta.yaml b/recipes/bigscape/meta.yaml index 78c95f18aa48d..0809408af242a 100644 --- a/recipes/bigscape/meta.yaml +++ b/recipes/bigscape/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "1.1.6" %} -{% set sha256 = "c38f633d4f1c5b9034c9ee2c96a14b7994884e2fc005fbead219068a618580a4" %} +{% set version = "1.1.9" %} +{% set sha256 = "ef0ddb5b433e0b1467ae5f96037fd6d23ebcba6bc08201d1421eba35d072e534" %} package: name: bigscape diff --git a/recipes/bigslice/meta.yaml b/recipes/bigslice/meta.yaml new file mode 100644 index 0000000000000..c47fadef55aad --- /dev/null +++ b/recipes/bigslice/meta.yaml @@ -0,0 +1,51 @@ +{% set name = "bigslice" %} +{% set version = "2.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/bigslice-{{ version }}.tar.gz + sha256: cb4cafca05883827b00ff864e035d0cb34c2c7905a7722c6a255c2efb9797417 + +build: + number: 0 + noarch: python + run_exports: + - {{ pin_subpackage('bigslice', max_pin="x") }} + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + +requirements: + host: + - python >=3.7 + - pip + run: + - python >=3.7 + - pyhmmer + - biopython >=1.73,<=1.83 + - numpy + - pandas + - psutil <=5.8 + - scikit-learn + - tqdm + - pyarrow + +test: + commands: + - "bigslice --version ." + +about: + home: "https://github.com/satriaphd/bigslice" + summary: "A highly scalable, user-interactive tool for the large scale analysis of Biosynthetic Gene Clusters data." + license: "AGPL-3.0-or-later" + license_family: AGPL + license_file: LICENSE.txt + dev_url: "https://github.com/satriaphd/bigslice" + doc_url: "https://github.com/medema-group/bigslice/blob/v{{ version }}/README.md" + +extra: + recipe-maintainers: + - Matt-BF + identifiers: + - doi:10.1093/gigascience/giaa154 diff --git a/recipes/bigtools/build.sh b/recipes/bigtools/build.sh new file mode 100644 index 0000000000000..28fb429c3bd0c --- /dev/null +++ b/recipes/bigtools/build.sh @@ -0,0 +1,7 @@ +#!/bin/bash +set -ex + +export RUST_BACKTRACE=full + +cargo install --verbose --path ./bigtools --root $PREFIX --locked + diff --git a/recipes/bigtools/meta.yaml b/recipes/bigtools/meta.yaml new file mode 100644 index 0000000000000..89cd9389aeb41 --- /dev/null +++ b/recipes/bigtools/meta.yaml @@ -0,0 +1,38 @@ +{% set version = "0.5.2" %} + +package: + name: bigtools + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage('bigtools', max_pin="x.x") }} + +source: + url: https://github.com/jackh726/bigtools/archive/refs/tags/v{{ version }}.tar.gz + sha256: "f5b50a4d717f93242541673bbdeb1fa67b8b9175b0f72d8ff5c52f1563b5cd4e" + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('rust') }} + +test: + commands: + - bigtools --help | grep Usage + +about: + home: "https://github.com/jackh726/bigtools" + license: MIT + doc_url: "https://docs.rs/bigtools/latest/bigtools" + summary: 'Bigtools provides a high-level, performant API for reading and writing bigWig and bigBed files.' + license_family: MIT + license_file: LICENSE + dev_url: "https://github.com/jackh726/bigtools" + +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - doi:10.5281/zenodo.10606493 diff --git a/recipes/binchicken/meta.yaml b/recipes/binchicken/meta.yaml new file mode 100644 index 0000000000000..b64097ecd7181 --- /dev/null +++ b/recipes/binchicken/meta.yaml @@ -0,0 +1,54 @@ +{% set version = "0.12.5" %} +{% set name = "binchicken" %} +{% set sha256 = "80e39d2aae136dc949e504923c270314d60023124499214e30a4669d88c26add" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 1 + noarch: python + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + entry_points: + - binchicken = binchicken.binchicken:main + - ibis = binchicken.binchicken:main + run_exports: + - {{ pin_subpackage('binchicken', max_pin="x.x") }} + +requirements: + host: + - python >=3.10 + - pip + run: + - python =3.10.* + - snakemake-minimal >=6.0.5,<8 + - mamba + - networkx + - bird_tool_utils_python + - extern + - ruamel.yaml >=0.15.99 + - polars =1.2.* + - pigz + - pyarrow + - parallel + - sourmash =4.8.* + - sourmash_plugin_branchwater =0.9.* + - pyopenssl >22.1.0 + +test: + commands: + - {{ name }} --version | grep '{{ version }}' + +about: + home: https://github.com/aroneys/binchicken + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE + summary: Targeted recovery of low abundance metagenome assembled genomes through intelligent coassembly + dev_url: https://github.com/aroneys/binchicken + doc_url: https://aroneys.github.io/binchicken diff --git a/recipes/bindash/build.sh b/recipes/bindash/build.sh index 82b50c2465b8b..83f5dedf13ec7 100644 --- a/recipes/bindash/build.sh +++ b/recipes/bindash/build.sh @@ -1,8 +1,7 @@ #!/bin/bash mkdir release && pushd release cmake -DCMAKE_BUILD_TYPE=Release .. -make VERBOSE=1 +make VERBOSE=1 -j ${CPU_COUNT} install -d $PREFIX/bin install bindash $PREFIX/bin popd - diff --git a/recipes/bindash/build_failure.linux-64.yaml b/recipes/bindash/build_failure.linux-64.yaml deleted file mode 100644 index 5c45b9976d04e..0000000000000 --- a/recipes/bindash/build_failure.linux-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: bf400c5d79ff20f338f3a29d4eb02d4a42e02d5f4200e3a4c8fa6d6a9ebb8710 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |- - Diff algorithm options - --minimal produce the smallest possible diff - -w, --ignore-all-space - ignore whitespace when comparing lines - -b, --ignore-space-change - ignore changes in amount of whitespace - --ignore-space-at-eol - ignore changes in whitespace at EOL - --ignore-cr-at-eol ignore carrier-return at the end of line - --ignore-blank-lines ignore changes whose lines are all blank - -I, --ignore-matching-lines - ignore changes whose all lines match - --indent-heuristic heuristic to shift diff hunk boundaries for easy reading - --patience generate diff using the "patience diff" algorithm - --histogram generate diff using the "histogram diff" algorithm - --diff-algorithm - choose a diff algorithm - --anchored generate diff using the "anchored diff" algorithm - --word-diff[=] show word diff, using to delimit changed words - --word-diff-regex - use to decide what a word is - --color-words[=] - equivalent to --word-diff=color --word-diff-regex= - --color-moved[=] - moved lines of code are colored differently - --color-moved-ws - how white spaces are ignored in --color-moved - - Other diff options - --relative[=] - when run from subdir, exclude changes outside and show relative paths - -a, --text treat all files as text - -R swap two inputs, reverse the diff - --exit-code exit with 1 if there were differences, 0 otherwise - --quiet disable all output of the program - --ext-diff allow an external diff helper to be executed - --textconv run external text conversion filters when comparing binary files - --ignore-submodules[=] - ignore changes to submodules in the diff generation - --submodule[=] - specify how differences in submodules are shown - --ita-invisible-in-index - hide 'git add -N' entries from the index - --ita-visible-in-index - treat 'git add -N' entries as real in the index - -S look for differences that change the number of occurrences of the specified string - -G look for differences that change the number of occurrences of the specified regex - --pickaxe-all show all changes in the changeset with -S or -G - --pickaxe-regex treat in -S as extended POSIX regular expression - -O control the order in which files appear in the output - --rotate-to show the change in the specified path first - --skip-to skip the output to the specified path - --find-object - look for differences that change the number of occurrences of the specified object - --diff-filter [(A|C|D|M|R|T|U|X|B)...[*]] - select files by diff type - --output output to a specific file - - -- Configuring done (0.5s) - -- Generating done (0.0s) - -- Build files have been written to: $SRC_DIR/release - $BUILD_PREFIX/bin/cmake -S$SRC_DIR -B$SRC_DIR/release --check-build-system CMakeFiles/Makefile.cmake 0 - $BUILD_PREFIX/bin/cmake -E cmake_progress_start $SRC_DIR/release/CMakeFiles $SRC_DIR/release//CMakeFiles/progress.marks - make -f CMakeFiles/Makefile2 all - make[1]: Entering directory '$SRC_DIR/release' - make -f CMakeFiles/bindash.dir/build.make CMakeFiles/bindash.dir/depend - make[2]: Entering directory '$SRC_DIR/release' - cd $SRC_DIR/release && $BUILD_PREFIX/bin/cmake -E cmake_depends "Unix Makefiles" $SRC_DIR $SRC_DIR $SRC_DIR/release $SRC_DIR/release $SRC_DIR/release/CMakeFiles/bindash.dir/DependInfo.cmake --color= - make[2]: Leaving directory '$SRC_DIR/release' - make -f CMakeFiles/bindash.dir/build.make CMakeFiles/bindash.dir/build - make[2]: Entering directory '$SRC_DIR/release' - [ 50%] Building CXX object CMakeFiles/bindash.dir/src/bindash.cpp.o - $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DGIT_COMMIT_HASH="" -DGIT_DIFF_SHORTSTAT="" -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bindash-1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -Wall -O3 -DNDEBUG -Ofast -fopenmp -MD -MT CMakeFiles/bindash.dir/src/bindash.cpp.o -MF CMakeFiles/bindash.dir/src/bindash.cpp.o.d -o CMakeFiles/bindash.dir/src/bindash.cpp.o -c $SRC_DIR/src/bindash.cpp - /opt/conda/conda-bld/bindash_1685382869725/work/src/bindash.cpp: In function 'void cmddist(bool, bool, const std::vector&, const std::vector&, const Sketchargs&, const Distargs&)': - /opt/conda/conda-bld/bindash_1685382869725/work/src/bindash.cpp:361:63: error: aggregate 'std::array >, 2048> tophits_arr' has incomplete type and cannot be defined - 361 | std::array, ISIZE> tophits_arr; - | ^~~~~~~~~~~ - make[2]: *** [CMakeFiles/bindash.dir/build.make:76: CMakeFiles/bindash.dir/src/bindash.cpp.o] Error 1 - make[2]: Leaving directory '$SRC_DIR/release' - make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/bindash.dir/all] Error 2 - make: *** [Makefile:91: all] Error 2 - make[1]: Leaving directory '$SRC_DIR/release' - Traceback (most recent call last): - File "/opt/conda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/bindash_1685382869725/work/conda_build.sh']' returned non-zero exit status 2. -# Last 100 lines of the build log. diff --git a/recipes/bindash/meta.yaml b/recipes/bindash/meta.yaml index deac0b5e9f345..1b5105f60619d 100644 --- a/recipes/bindash/meta.yaml +++ b/recipes/bindash/meta.yaml @@ -1,30 +1,32 @@ {% set name = "bindash" %} -{% set version = "1.0" %} +{% set version = "2.3" %} package: - name: {{ name|lower }} + name: {{ name }} version: {{ version }} source: - url: https://github.com/zhaoxiaofei/{{ name|lower }}/archive/v{{ version }}.tar.gz - sha256: 6f7c68fec2ad5e2d869fbe52c324010de2ed61c3a5d5800cf6ab8f9c5deaaa1a + url: https://github.com/jianshu93/bindash/archive/v{{ version }}.tar.gz + sha256: 6e4bf36fd04195ed0738ea8bf835eca1e400b5ce6eef3902bdf0673955d15166 build: skip: True # [osx] - number: 4 + number: 2 + run_exports: + - {{ pin_subpackage('bindash', max_pin="x") }} requirements: build: - make - - {{ compiler('c') }} - {{ compiler('cxx') }} - cmake - - llvm-openmp # [osx] host: - zlib + - libgomp # [linux] - llvm-openmp # [osx] run: - zlib + - libgomp # [linux] - llvm-openmp # [osx] test: @@ -32,12 +34,19 @@ test: - bindash --help 2>&1 | grep sketch about: - home: https://github.com/zhaoxiaofei/bindash - license: Apache-2.0 - license_family: APACHE - license_file: LICENSE - summary: Fast and precise comparison of genomes and metagenomes (in the order of terabytes) on a typical personal laptop + home: https://github.com/zhaoxiaofei/bindash + license: Apache-2.0 + license_family: APACHE + license_file: LICENSE + summary: "Fast and precise comparison of genomes and metagenomes (in the order of terabytes) on a typical personal laptop." + dev_url: https://github.com/zhaoxiaofei/bindash extra: - identifiers: - - doi:10.1371/journal.pgen.1007758 + additional-platforms: + - linux-aarch64 + identifiers: + - doi:10.1093/bioinformatics/bty651 + - doi:10.1101/2024.03.13.584875 + recipe-maintainers: + - jianshu93 + - zhaoxiaofei diff --git a/recipes/binette/meta.yaml b/recipes/binette/meta.yaml index dbeca042db483..9e3f94dfe7e32 100644 --- a/recipes/binette/meta.yaml +++ b/recipes/binette/meta.yaml @@ -1,16 +1,20 @@ {% set name = "Binette" %} -{% set version = "0.1.6" %} +{% set version = "1.0.2" %} package: name: {{ name|lower }} version: {{ version }} source: url: https://github.com/genotoul-bioinfo/{{ name|lower }}/archive/refs/tags/v{{ version }}.tar.gz - sha256: 97f2bb4f9d8e0c06fadb4b1bc4097cc3bfeb80fe84d3c63424ae080b8ac4086d + sha256: 2ed4b5927d7d523db752bdd2ed9e6654e672963ead7a562e0dc2252cbf402191 + build: noarch: python number: 0 script: {{ PYTHON }} -m pip install --no-deps --ignore-installed -vv . + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} + requirements: host: @@ -23,14 +27,13 @@ requirements: - numpy =1.19.2 - diamond =2.0.4 - pandas =1.4.0 - - prodigal =2.6.3 - checkm2 - requests - packaging - tqdm - - networkx - - pyfastx - - pyrodigal + - networkx >=3 + - pyfastx >=2 + - pyrodigal >=2 test: imports: @@ -40,7 +43,8 @@ test: about: home: https://github.com/genotoul-bioinfo/{{ name|lower }} + doc_url: https://binette.readthedocs.io license: MIT license_family: MIT license_file: LICENSE - summary: A fast and accurate binning refinement tool to constructs high quality MAGs from the output of multiple binning tools. + summary: "A fast and accurate binning refinement tool to constructs high quality MAGs from the output of multiple binning tools." diff --git a/recipes/bio/meta.yaml b/recipes/bio/meta.yaml new file mode 100644 index 0000000000000..b835d98a124a7 --- /dev/null +++ b/recipes/bio/meta.yaml @@ -0,0 +1,48 @@ +{% set name = "bio" %} +{% set version = "1.7.1" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/bio-{{ version }}.tar.gz + sha256: df3252905b0b1e739eca3760c91fd519d5af07b09632df25c2bd4ecd20da2724 + +build: + number: 0 + noarch: python + entry_points: + - bio = biorun.__main__:run + - fasta_filter.py = biorun.scripts.fasta_filter:run + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + run_exports: + - {{ pin_subpackage('bio', max_pin="x") }} + +requirements: + host: + - python >=3.10 + - hatchling + - pip + run: + - python >=3.10 + - biopython >=1.80 + - requests + - tqdm + - mygene + - pandas + - pooch + - gprofiler-official + +test: + commands: + - pip check + #- bio --help + +about: + home: https://github.com/ialbert/bio + license: MIT + license_family: MIT + license_file: LICENSE + summary: "Command-line utilities to make bioinformatics explorations more enjoyable." + dev_url: https://github.com/ialbert/bio diff --git a/recipes/bioawk/meta.yaml b/recipes/bioawk/meta.yaml index 12bf54695780a..70ec45f58e648 100644 --- a/recipes/bioawk/meta.yaml +++ b/recipes/bioawk/meta.yaml @@ -7,7 +7,9 @@ source: sha256: 5cbef3f39b085daba45510ff450afcf943cfdfdd483a546c8a509d3075ff51b5 build: - number: 9 + number: 12 + run_exports: + - {{ pin_subpackage("bioawk", max_pin="x.x.x") }} requirements: build: @@ -28,3 +30,8 @@ about: home: https://github.com/lh3/bioawk license: Free software license (https://github.com/lh3/bioawk/blob/master/README.awk#L1) summary: BWK awk modified for biological data + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/biobambam/meta.yaml b/recipes/biobambam/meta.yaml index c7d758af69ab6..482c9c1b272d1 100644 --- a/recipes/biobambam/meta.yaml +++ b/recipes/biobambam/meta.yaml @@ -12,8 +12,10 @@ source: sha256: {{ sha256hash }} build: - number: 3 + number: 4 skip: True # [osx] + run_exports: + - {{ pin_subpackage(name, max_pin='x') }} requirements: build: @@ -31,3 +33,7 @@ about: license: GPLv3 license_file: GPLv3 summary: Tools for early stage alignment file processing + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/biobb_amber/meta.yaml b/recipes/biobb_amber/meta.yaml index d9a80e3211bfd..a83508f495c17 100644 --- a/recipes/biobb_amber/meta.yaml +++ b/recipes/biobb_amber/meta.yaml @@ -1,5 +1,5 @@ {% set name = "biobb_amber" %} -{% set version = "4.1.0" %} +{% set version = "4.2.0" %} package: name: '{{ name|lower }}' @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: f47890ff61b80cd9a52f719d9e742379136fd7ce0d10f8172c82789f3382d190 + sha256: 11fe9767c895c5de4a2e643f1c2de00f57bb03c8e0835415542c98aec2ca6040 build: number: 0 @@ -20,11 +20,11 @@ requirements: host: - python >=3.8 - setuptools - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - ambertools >=22.0 run: - python >=3.8 - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - ambertools >=22.0 test: diff --git a/recipes/biobb_analysis/meta.yaml b/recipes/biobb_analysis/meta.yaml index 899c9e4b7be15..8ba9f1efac1b9 100644 --- a/recipes/biobb_analysis/meta.yaml +++ b/recipes/biobb_analysis/meta.yaml @@ -1,5 +1,5 @@ {% set name = "biobb_analysis" %} -{% set version = "4.1.0" %} +{% set version = "4.2.0" %} package: name: '{{ name|lower }}' @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: b4f0637f5f823c218ba4e066c5d7eb3288c2a9ee91fc72e9211f689e1d5c2a58 + sha256: e42a054bbc9c066d47443a18ee370dd97632f93de32c44aeb586a19bce85aa37 build: number: 0 @@ -20,12 +20,12 @@ requirements: host: - python >=3.8 - setuptools - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - gromacs ==2022.2 - ambertools >=22.0 run: - python >=3.8 - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - gromacs ==2022.2 - ambertools >=22.0 test: @@ -43,7 +43,7 @@ about: description: "# biobb_analysis\n\n### Introduction\nBiobb_analysis is the Biobb module collection to perform analysis of molecular dynamics simulations.\nBiobb (BioExcel building blocks) packages are Python building blocks that\ncreate\ \ new layer of compatibility and interoperability over popular\nbioinformatics tools.\nThe latest documentation of this package can be found in our readthedocs site:\n[latest API documentation](http://biobb_analysis.readthedocs.io/en/latest/).\n\ \n\n### Copyright & Licensing\nThis software has been developed in the [MMB group](http://mmb.irbbarcelona.org) at the [BSC](http://www.bsc.es/) & [IRB](https://www.irbbarcelona.org/) for the [European BioExcel](http://bioexcel.eu/), funded by the European Commission (EU H2020 [823830](http://cordis.europa.eu/projects/823830), EU H2020 [675728](http://cordis.europa.eu/projects/675728)).\ - \n\n* (c) 2015-2023 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2023 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ + \n\n* (c) 2015-2024 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2024 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ Licensed under the\n\ [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0), see the file LICENSE for details.\n\ \n\ diff --git a/recipes/biobb_chemistry/meta.yaml b/recipes/biobb_chemistry/meta.yaml index adc10097e3791..2e12dae73345e 100644 --- a/recipes/biobb_chemistry/meta.yaml +++ b/recipes/biobb_chemistry/meta.yaml @@ -1,5 +1,5 @@ {% set name = "biobb_chemistry" %} -{% set version = "4.1.0" %} +{% set version = "4.2.1" %} package: name: '{{ name|lower }}' @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 0c0d118c7dbc6733e8a647b2c362703f03043d923d4087182b4f7cb819fb6776 + sha256: 729e6b3b955ad9e62997a162c58b3e84945b1e8a7a766a158a093ffb0b1388a8 build: number: 0 @@ -20,13 +20,13 @@ requirements: host: - python >=3.8 - setuptools - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - openbabel ==3.1.1 - ambertools >=22.0 - acpype ==2022.7.21 run: - python >=3.8 - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - openbabel ==3.1.1 - ambertools >=22.0 - acpype ==2022.7.21 @@ -46,7 +46,7 @@ about: description: "# biobb_chemistry\n\n### Introduction\nBiobb_chemistry is the Biobb module collection to perform chemistry over molecular dynamics simulations.\nBiobb (BioExcel building blocks) packages are Python building blocks that\ncreate\ \ new layer of compatibility and interoperability over popular\nbioinformatics tools.\nThe latest documentation of this package can be found in our readthedocs site:\n[latest API documentation](http://biobb_chemistry.readthedocs.io/en/latest/).\n\ \n\n### Copyright & Licensing\nThis software has been developed in the [MMB group](http://mmb.irbbarcelona.org) at the [BSC](http://www.bsc.es/) & [IRB](https://www.irbbarcelona.org/) for the [European BioExcel](http://bioexcel.eu/), funded by the European Commission (EU H2020 [823830](http://cordis.europa.eu/projects/823830), EU H2020 [675728](http://cordis.europa.eu/projects/675728)).\ - \n\n* (c) 2015-2023 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2023 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ + \n\n* (c) 2015-2024 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2024 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ Licensed under the\n\ [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0), see the file LICENSE for details.\n\ \n\ diff --git a/recipes/biobb_cmip/meta.yaml b/recipes/biobb_cmip/meta.yaml index a8a334ea71e12..d8dbe24de5f7f 100644 --- a/recipes/biobb_cmip/meta.yaml +++ b/recipes/biobb_cmip/meta.yaml @@ -1,5 +1,5 @@ {% set name = "biobb_cmip" %} -{% set version = "4.1.0" %} +{% set version = "4.2.0" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: b25c9376e3091740e326911e3cb5006dfe03a092b98dae2ff525087fb2e77bed + sha256: c3dd9f0f9da33093f3e13792601048a4d1064d65add8456a4a7baa8e27e3d55d build: number: 0 @@ -20,13 +20,13 @@ requirements: host: - python >=3.8 - setuptools - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - cmip ==2.7.0 - mdanalysis >=2.0.0 - biobb_structure_checking ==3.13.4 run: - python >=3.8 - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - cmip ==2.7.0 - mdanalysis >=2.0.0 - biobb_structure_checking ==3.13.4 diff --git a/recipes/biobb_common/meta.yaml b/recipes/biobb_common/meta.yaml index 9804612a87728..a7e1566f582ed 100644 --- a/recipes/biobb_common/meta.yaml +++ b/recipes/biobb_common/meta.yaml @@ -1,5 +1,5 @@ {% set name = "biobb_common" %} -{% set version = "4.1.0" %} +{% set version = "5.0.0" %} package: name: "{{ name|lower }}" @@ -7,10 +7,10 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 97637f359a3bb8ad79aca72b6c26f73fe2424845dc7f43005643971046e9d117 + sha256: d1ad551e8e3f029d6396d3ac5e7ec7dc58d30b1f81fd4a339067325ee7ffc515 build: - number: 1 + number: 0 noarch: python script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv" run_exports: @@ -18,16 +18,18 @@ build: requirements: host: - - python >=3.8.0 + - python >=3.9.0 - setuptools - pyyaml - requests - biopython + - jsonschema run: - - python >=3.8.0 + - python >=3.9.0 - pyyaml - requests - biopython + - jsonschema test: imports: @@ -47,7 +49,7 @@ about: \n# biobb_common\n\n### Introduction\nBiobb_common is the base package required to use the biobb\npackages.\nBiobb (BioExcel building blocks) packages are Python building blocks that\ncreate new layer\ \ of compatibility and interoperability over popular\nbioinformatics tools.\nThe latest documentation of this package can be found in our readthedocs site:\n[latest API documentation](http://biobb_common.readthedocs.io/en/latest/).\n\ \n\n### Copyright & Licensing\n### Copyright & Licensing\nThis software has been developed in the [MMB group](http://mmb.irbbarcelona.org) at the [BSC](http://www.bsc.es/) & [IRB](https://www.irbbarcelona.org/) for the [European BioExcel](http://bioexcel.eu/), funded by the European Commission (EU H2020 [823830](http://cordis.europa.eu/projects/823830), EU H2020 [675728](http://cordis.europa.eu/projects/675728)).\ - \n\n* (c) 2015-2023 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2023 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ + \n\n* (c) 2015-2024 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2024 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ Licensed under the\n\ [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0), see the file LICENSE for details.\n\ \n\ diff --git a/recipes/biobb_cp2k/meta.yaml b/recipes/biobb_cp2k/meta.yaml index f1bc0a10552f3..104cb0718f3ac 100644 --- a/recipes/biobb_cp2k/meta.yaml +++ b/recipes/biobb_cp2k/meta.yaml @@ -1,5 +1,5 @@ {% set name = "biobb_cp2k" %} -{% set version = "4.1.0" %} +{% set version = "4.2.0" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: bf59df5f7068948f5e74be61e3888f95492938ca5585d48786b91f3e30dac8c4 + sha256: 17537ebf02ecd2e66406d61da55334c9df4069d4ccaee4b3de4afac9ff622f30 build: number: 0 @@ -19,12 +19,12 @@ requirements: host: - python >=3.8 - setuptools - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - cp2k ==7.1.0 run: - python >=3.8 - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - cp2k ==7.1.0 @@ -46,7 +46,7 @@ about: \n# biobb_cp2k\n\n### Introduction\nBiobb_cp2k allows setup and simulation of QM simulations using CP2K QM package. \nBiobb (BioExcel building blocks) packages are Python building blocks that\ncreate\ \ new layer of compatibility and interoperability over popular\nbioinformatics tools.\nThe latest documentation of this package can be found in our readthedocs site:\n[latest API documentation](http://biobb_ml.readthedocs.io/en/latest/).\n\ \n\n### Copyright & Licensing\nThis software has been developed in the [MMB group](https://mmb.irbbarcelona.org) at the [BSC](https://www.bsc.es/) & [IRB](https://www.irbbarcelona.org/) for the [European BioExcel](http://bioexcel.eu/), funded by the European Commission (EU H2020 [823830](http://cordis.europa.eu/projects/823830), EU H2020 [675728](http://cordis.europa.eu/projects/675728)).\ - \n\n* (c) 2015-2023 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2023 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ + \n\n* (c) 2015-2024 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2024 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ Licensed under the\n\ [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0), see the file LICENSE for details.\n\ \n\ diff --git a/recipes/biobb_dna/meta.yaml b/recipes/biobb_dna/meta.yaml index 148c9bd627ce9..7c781adfcf6f3 100644 --- a/recipes/biobb_dna/meta.yaml +++ b/recipes/biobb_dna/meta.yaml @@ -1,5 +1,5 @@ {% set name = "biobb_dna" %} -{% set version = "4.1.0" %} +{% set version = "4.2.4" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: caec6c28315c5d5a6561c4dd9d8be6e385f5ab9ed8fb73ca130e67b80c813536 + sha256: f9343a8ec9ca8b0c9c764657979daf2b06b58ee242d30c2f8679416467d5ada4 build: number: 0 @@ -20,17 +20,17 @@ requirements: host: - python >=3.8 - setuptools - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - pandas >=1.3.0 - - scikit-learn ==0.24.2 - - curves ==3.0.0 + - scikit-learn >=0.24.2 + - curves ==3.0.2 run: - python >=3.8 - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - pandas >=1.3.0 - - scikit-learn ==0.24.2 - - curves ==3.0.0 + - scikit-learn >=0.24.2 + - curves ==3.0.2 test: imports: @@ -54,7 +54,7 @@ about: \n# biobb_dna\n\n### Introduction\nBiobb_dna is a package composed of different analyses for nucleic acid trajectories. \nBiobb (BioExcel building blocks) packages are Python building blocks that\ncreate\ \ new layer of compatibility and interoperability over popular\nbioinformatics tools.\nThe latest documentation of this package can be found in our readthedocs site:\n[latest API documentation](http://biobb_ml.readthedocs.io/en/latest/).\n\ \n\n### Copyright & Licensing\nThis software has been developed in the [MMB group](https://mmb.irbbarcelona.org) at the [BSC](https://www.bsc.es/) & [IRB](https://www.irbbarcelona.org/) for the [European BioExcel](http://bioexcel.eu/), funded by the European Commission (EU H2020 [823830](http://cordis.europa.eu/projects/823830), EU H2020 [675728](http://cordis.europa.eu/projects/675728)).\ - \n\n* (c) 2015-2023 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2023 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ + \n\n* (c) 2015-2024 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2024 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ Licensed under the\n\ [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0), see the file LICENSE for details.\n\ \n\ diff --git a/recipes/biobb_flexdyn/meta.yaml b/recipes/biobb_flexdyn/meta.yaml index ae98bb5972cbc..4dbcdc7bf02be 100644 --- a/recipes/biobb_flexdyn/meta.yaml +++ b/recipes/biobb_flexdyn/meta.yaml @@ -1,5 +1,5 @@ {% set name = "biobb_flexdyn" %} -{% set version = "4.1.0" %} +{% set version = "4.2.0" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: b829c5609384b39951aeefea7b280e8d19122fdfb75e4d37e589952ecdb4e818 + sha256: 5cfe112fb35a86fff4d452efb966fa18757bad4ea1f4017b226e765a8e6f776e build: number: 0 @@ -20,7 +20,7 @@ requirements: host: - python >=3.8 - setuptools - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - concoord - prody - imods @@ -28,7 +28,7 @@ requirements: run: - python >=3.8 - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - concoord - prody - imods @@ -47,7 +47,7 @@ about: description: "# biobb_flexdyn\n\n### Introduction\nBiobb_flexdyn allows the calculation of protein conformational transitions using the GOdMD package. \nBiobb (BioExcel building blocks) packages are Python building blocks that\ncreate\ \ new layer of compatibility and interoperability over popular\nbioinformatics tools.\nThe latest documentation of this package can be found in our readthedocs site:\n[latest API documentation](http://biobb_ml.readthedocs.io/en/latest/).\n\ \n\n### Copyright & Licensing\nThis software has been developed in the [MMB group](https://mmb.irbbarcelona.org) at the [BSC](https://www.bsc.es/) & [IRB](https://www.irbbarcelona.org/) for the [European BioExcel](http://bioexcel.eu/), funded by the European Commission (EU H2020 [823830](http://cordis.europa.eu/projects/823830), EU H2020 [675728](http://cordis.europa.eu/projects/675728)).\ - \n\n* (c) 2015-2023 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2023 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ + \n\n* (c) 2015-2024 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2024 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ Licensed under the\n\ [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0), see the file LICENSE for details.\n\ \n\ diff --git a/recipes/biobb_flexserv/meta.yaml b/recipes/biobb_flexserv/meta.yaml index 725a1d0d70740..a766b6d8ff5cd 100644 --- a/recipes/biobb_flexserv/meta.yaml +++ b/recipes/biobb_flexserv/meta.yaml @@ -1,5 +1,5 @@ {% set name = "biobb_flexserv" %} -{% set version = "4.1.0" %} +{% set version = "4.2.0" %} package: name: '{{ name|lower }}' @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: bf98712f219ca8cbee689aecf791418e0a2580e7cb6c6a417e3b61545d91b7c7 + sha256: 62b3ecb6dacca9cd0496dec9e6ebe5e43e4d0e3fcfd8b122a20dda940d49162e build: number: 0 @@ -20,13 +20,13 @@ requirements: host: - python >=3.8 - setuptools - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - flexserv ==1.0.2 - pcasuite ==1.0.0 - perl run: - python >=3.8 - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - flexserv ==1.0.2 - pcasuite ==1.0.0 - perl diff --git a/recipes/biobb_godmd/meta.yaml b/recipes/biobb_godmd/meta.yaml index 5db790f0104f0..acf1ed0f9ff70 100644 --- a/recipes/biobb_godmd/meta.yaml +++ b/recipes/biobb_godmd/meta.yaml @@ -1,5 +1,5 @@ {% set name = "biobb_godmd" %} -{% set version = "4.1.0" %} +{% set version = "4.2.0" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: d02d3fbf8aaffaca3bf722c97fd515fcc686265b92d764f7a5162ccb40fc3cf7 + sha256: f697f96f216ce439e058d46842a2507ada30221d7048628fb83676ebf5806c50 build: number: 0 @@ -20,13 +20,13 @@ requirements: host: - python >=3.8 - setuptools - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - godmd ==1.0.0 - emboss run: - python >=3.8 - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - godmd ==1.0.0 - emboss @@ -45,7 +45,7 @@ about: description: "# biobb_godmd\n\n### Introduction\nBiobb_godmd allows the calculation of protein conformational transitions using the GOdMD package. \nBiobb (BioExcel building blocks) packages are Python building blocks that\ncreate\ \ new layer of compatibility and interoperability over popular\nbioinformatics tools.\nThe latest documentation of this package can be found in our readthedocs site:\n[latest API documentation](http://biobb_ml.readthedocs.io/en/latest/).\n\ \n\n### Copyright & Licensing\nThis software has been developed in the [MMB group](https://mmb.irbbarcelona.org) at the [BSC](https://www.bsc.es/) & [IRB](https://www.irbbarcelona.org/) for the [European BioExcel](http://bioexcel.eu/), funded by the European Commission (EU H2020 [823830](http://cordis.europa.eu/projects/823830), EU H2020 [675728](http://cordis.europa.eu/projects/675728)).\ - \n\n* (c) 2015-2023 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2023 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ + \n\n* (c) 2015-2024 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2024 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ Licensed under the\n\ [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0), see the file LICENSE for details.\n\ \n\ diff --git a/recipes/biobb_gromacs/meta.yaml b/recipes/biobb_gromacs/meta.yaml index 7757099f6c06b..97fedbdf54538 100644 --- a/recipes/biobb_gromacs/meta.yaml +++ b/recipes/biobb_gromacs/meta.yaml @@ -1,5 +1,5 @@ {% set name = "biobb_gromacs" %} -{% set version = "4.1.1" %} +{% set version = "4.2.0" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 270cce747fc214471527438c8319bda0613be5b76da9f4684e6f138d1927d2f7 + sha256: dc57bbba78f24fedc9931197fb321428d27078b56b41dd1aafd822c68387cb73 build: number: 0 @@ -20,11 +20,11 @@ requirements: host: - python >=3.8 - setuptools - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - gromacs ==2022.2 run: - python >=3.8 - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - gromacs ==2022.2 test: @@ -42,7 +42,7 @@ about: description: "# biobb_gromacs\n\n### Introduction\nBiobb_gromacs is the Biobb module collection to perform molecular dynamics simulationsusing the GROMACS MD suite.\nBiobb (BioExcel building blocks) packages are Python building blocks that\ncreate\ \ new layer of compatibility and interoperability over popular\nbioinformatics tools.\nThe latest documentation of this package can be found in our readthedocs site:\n[latest API documentation](http://biobb-gromacs.readthedocs.io/en/latest/).\n\ \n\n### Copyright & Licensing\nThis software has been developed in the [MMB group](http://mmb.irbbarcelona.org) at the [BSC](http://www.bsc.es/) & [IRB](https://www.irbbarcelona.org/) for the [European BioExcel](http://bioexcel.eu/), funded by the European Commission (EU H2020 [823830](http://cordis.europa.eu/projects/823830), EU H2020 [675728](http://cordis.europa.eu/projects/675728)).\ - \n\n* (c) 2015-2023 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2022 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ + \n\n* (c) 2015-2024 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2024 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ Licensed under the\n\ [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0), see the file LICENSE for details.\n\ \n\ diff --git a/recipes/biobb_haddock/meta.yaml b/recipes/biobb_haddock/meta.yaml new file mode 100644 index 0000000000000..549ecccfca41f --- /dev/null +++ b/recipes/biobb_haddock/meta.yaml @@ -0,0 +1,52 @@ +{% set name = "biobb_haddock" %} +{% set version = "4.2.1" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: cfd558d0683b3ac9f517aef5c68a801c34efe3d1b6ab948c1a44c3976be5b105 + +build: + number: 0 + noarch: python + script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv" + run_exports: + - {{ pin_subpackage(name, max_pin='x') }} + +requirements: + host: + - python >=3.9 + - setuptools + - biobb_common ==4.2.0 + run: + - python >=3.9 + - biobb_common ==4.2.0 + +test: + imports: + - biobb_haddock + - biobb_haddock.haddock + +about: + home: https://github.com/bioexcel/biobb_haddock + license: Apache Software License + license_family: APACHE + license_file: '' + summary: biobb_haddock is the Biobb module collection to compute information-driven flexible protein-protein docking. + description: "# biobb_haddock\n\n### Introduction\nBiobb_haddock is the Biobb module collection to compute information-driven flexible protein-protein docking.\nBiobb (BioExcel building blocks) packages are Python building blocks that\ncreate\ + \ new layer of compatibility and interoperability over popular\nbioinformatics tools.\nThe latest documentation of this package can be found in our readthedocs site:\n[latest API documentation](http://biobb-haddock.readthedocs.io/en/latest/).\n\ + \n\n### Copyright & Licensing\nThis software has been developed in the [MMB group](http://mmb.irbbarcelona.org) at the [BSC](http://www.bsc.es/) & [IRB](https://www.irbbarcelona.org/) for the [European BioExcel](http://bioexcel.eu/), funded by the European Commission (EU H2020 [823830](http://cordis.europa.eu/projects/823830), EU H2020 [675728](http://cordis.europa.eu/projects/675728)).\ + \n\n* (c) 2015-2024 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2024 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ + Licensed under the\n\ + [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0), see the file LICENSE for details.\n\ + \n\ + ![](https://bioexcel.eu/wp-content/uploads/2019/04/Bioexcell_logo_1080px_transp.png \"Bioexcel\")\n\n\n" + + doc_url: http://biobb_haddock.readthedocs.io/en/latest/ + dev_url: https://github.com/bioexcel/biobb_haddock + +extra: + recipe-maintainers: PauAndrio diff --git a/recipes/biobb_io/meta.yaml b/recipes/biobb_io/meta.yaml index 7754ec3c45dea..57c59c65fe2fd 100644 --- a/recipes/biobb_io/meta.yaml +++ b/recipes/biobb_io/meta.yaml @@ -1,5 +1,5 @@ {% set name = "biobb_io" %} -{% set version = "4.1.0" %} +{% set version = "4.2.0" %} package: name: '{{ name|lower }}' @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 074ea97a3682731e13d559b7f91b04e4a3f0f02ee798503089e4af79a730bf72 + sha256: e20b38cb73e956eccd0ff61fef5212da2e52cb7c625664794a50f24b7cfbecd3 build: number: 0 @@ -20,10 +20,10 @@ requirements: host: - python >=3.8 - setuptools - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 run: - python >=3.8 - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 test: imports: - biobb_io @@ -45,7 +45,7 @@ about: \ building blocks that\ncreate new layer of compatibility and interoperability over popular\nbioinformatics tools.\nThe latest documentation of this package can be found in our readthedocs site:\n[latest\ \ API documentation](http://biobb_io.readthedocs.io/en/latest/).\n\ \n\n### Copyright & Licensing\nThis software has been developed in the [MMB group](http://mmb.irbbarcelona.org) at the [BSC](http://www.bsc.es/) & [IRB](https://www.irbbarcelona.org/) for the [European BioExcel](http://bioexcel.eu/), funded by the European Commission (EU H2020 [823830](http://cordis.europa.eu/projects/823830), EU H2020 [675728](http://cordis.europa.eu/projects/675728)).\ - \n\n* (c) 2015-2023 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2023 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ + \n\n* (c) 2015-2024 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2024 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ Licensed under the\n\ [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0), see the file LICENSE for details.\n\ \n\ diff --git a/recipes/biobb_ml/meta.yaml b/recipes/biobb_ml/meta.yaml index b3179051f23e7..056da3e087d1a 100644 --- a/recipes/biobb_ml/meta.yaml +++ b/recipes/biobb_ml/meta.yaml @@ -1,5 +1,5 @@ {% set name = "biobb_ml" %} -{% set version = "4.1.0" %} +{% set version = "4.2.0" %} package: name: '{{ name|lower }}' @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: bbc20ce17b7eb28538220ba0186d7cf435e0879bbd43a2f4e9b8b914e9a432d7 + sha256: 815613f1c4e36d66a1181ad64fd6e7dc3e523d16ab5ccac0545f27d20bb4e645 build: number: 0 @@ -20,7 +20,7 @@ requirements: host: - python >=3.8 - setuptools - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - numpy ==1.19.5 - h5py ==2.10.0 - pandas >=1.3.0 @@ -31,7 +31,7 @@ requirements: run: - python >=3.8 - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - numpy ==1.19.5 - h5py ==2.10.0 - pandas >=1.3.0 @@ -59,7 +59,7 @@ about: description: "# biobb_ml\n\n### Introduction\nBiobb_ml is the Biobb module collection to perform machine learning predictions. \nBiobb (BioExcel building blocks) packages are Python building blocks that\ncreate\ \ new layer of compatibility and interoperability over popular\nbioinformatics tools.\nThe latest documentation of this package can be found in our readthedocs site:\n[latest API documentation](http://biobb_ml.readthedocs.io/en/latest/).\n\ \n\n### Copyright & Licensing\nThis software has been developed in the [MMB group](https://mmb.irbbarcelona.org) at the [BSC](https://www.bsc.es/) & [IRB](https://www.irbbarcelona.org/) for the [European BioExcel](http://bioexcel.eu/), funded by the European Commission (EU H2020 [823830](http://cordis.europa.eu/projects/823830), EU H2020 [675728](http://cordis.europa.eu/projects/675728)).\ - \n\n* (c) 2015-2023 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2023 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ + \n\n* (c) 2015-2024 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2024 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ Licensed under the\n\ [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0), see the file LICENSE for details.\n\ \n\ diff --git a/recipes/biobb_model/meta.yaml b/recipes/biobb_model/meta.yaml index 1ed945664363c..5a5f2663c19ee 100644 --- a/recipes/biobb_model/meta.yaml +++ b/recipes/biobb_model/meta.yaml @@ -1,8 +1,8 @@ {% set name = "biobb_model" %} -{% set version = "4.1.0" %} +{% set version = "4.2.3" %} {% set file_ext = "tar.gz" %} {% set hash_type = "sha256" %} -{% set hash_value = "616898c26c8196fcf109c97fc03103d1cf5c9cf3eda22bdef5420393cc1906c6" %} +{% set hash_value = "8c4b87ef92331d060700e5b346cddb718b1cc27b79752b1c8ef3583e0dce0927" %} package: name: '{{ name|lower }}' @@ -23,12 +23,12 @@ requirements: host: - python >=3.8 - setuptools - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - biobb_structure_checking >=3.13.4 - xmltodict run: - python >=3.8 - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - biobb_structure_checking >=3.13.4 - xmltodict test: @@ -54,8 +54,8 @@ about: \ are Python building blocks that\ncreate new layer of compatibility and interoperability over popular\nbioinformatics tools.\nThe latest documentation of this package can be found in our readthedocs\ \ site:\n[latest API documentation](http://biobb_model.readthedocs.io/en/latest/).\n\n### Copyright & Licensing\n\ \ This software has been developed in the [MMB group](http://mmb.irbbarcelona.org) at the [BSC](http://www.bsc.es/) & [IRB](https://www.irbbarcelona.org/) for the [European BioExcel](http://bioexcel.eu/),\ - \ funded by the European Commission (EU H2020 [823830](http://cordis.europa.eu/projects/823830), EU H2020 [675728](http://cordis.europa.eu/projects/675728)).\n\n* (c) 2015-2021 [Barcelona Supercomputing\ - \ Center](https://www.bsc.es/)\n* (c) 2015-2023 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\nLicensed under the\n[Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0),\ + \ funded by the European Commission (EU H2020 [823830](http://cordis.europa.eu/projects/823830), EU H2020 [675728](http://cordis.europa.eu/projects/675728)).\n\n* (c) 2015-2024 [Barcelona Supercomputing\ + \ Center](https://www.bsc.es/)\n* (c) 2015-2024 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\nLicensed under the\n[Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0),\ \ see the file LICENSE for details.\n\n![](https://bioexcel.eu/wp-content/uploads/2019/04/Bioexcell_logo_1080px_transp.png \"Bioexcel\")\n\n\n" doc_url: '' dev_url: '' diff --git a/recipes/biobb_pdb_tools/meta.yaml b/recipes/biobb_pdb_tools/meta.yaml new file mode 100644 index 0000000000000..45ccfd16c2a46 --- /dev/null +++ b/recipes/biobb_pdb_tools/meta.yaml @@ -0,0 +1,52 @@ +{% set name = "biobb_pdb_tools" %} +{% set version = "4.2.0" %} + +package: + name: '{{ name|lower }}' + version: '{{ version }}' + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + sha256: 025d968ba5a5cee692f03d756f0fc474d7dcdec10e2babf150ad10af205aae25 + +build: + number: 0 + noarch: python + script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv" + run_exports: + - {{ pin_subpackage(name, max_pin='x') }} + +requirements: + host: + - python >=3.8 + - setuptools + - biobb_common ==4.2.0 + - pdb-tools + run: + - python >=3.8 + - biobb_common ==4.2.0 + - pdb-tools +test: + imports: + - biobb_pdb_tools + - biobb_pdb_tools.pdb_tools + +about: + home: https://github.com/bioexcel/biobb_pdb_tools + license: Apache Software License + license_family: APACHE + license_file: '' + summary: Biobb_pdb_tools is a swiss army knife for manipulating and editing PDB files. + description: "# biobb_pdb_tools\n\n### Introduction\biobb_pdb_tools is a swiss army knife for manipulating and editing PDB files.\nBiobb (BioExcel building blocks) packages are Python building blocks that\ncreate\ + \ new layer of compatibility and interoperability over popular\nbioinformatics tools.\nThe latest documentation of this package can be found in our readthedocs site:\n[latest API documentation](https://biobb-pdb-tools.readthedocs.io/en/latest/).\n\ + \n\n### Copyright & Licensing\nThis software has been developed in the [MMB group](http://mmb.irbbarcelona.org) at the [BSC](http://www.bsc.es/) & [IRB](https://www.irbbarcelona.org/) for the [European BioExcel](http://bioexcel.eu/), funded by the European Commission (EU H2020 [823830](http://cordis.europa.eu/projects/823830), EU H2020 [675728](http://cordis.europa.eu/projects/675728)).\ + \n\n* (c) 2015-2024 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2024 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ + Licensed under the\n\ + [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0), see the file LICENSE for details.\n\ + \n\ + ![](https://bioexcel.eu/wp-content/uploads/2019/04/Bioexcell_logo_1080px_transp.png \"Bioexcel\")\n\n\n" + doc_url: '' + dev_url: '' + +extra: + recipe-maintainers: '' diff --git a/recipes/biobb_pmx/meta.yaml b/recipes/biobb_pmx/meta.yaml index a32608ef39001..d396fafec6b31 100644 --- a/recipes/biobb_pmx/meta.yaml +++ b/recipes/biobb_pmx/meta.yaml @@ -1,5 +1,5 @@ {% set name = "biobb_pmx" %} -{% set version = "4.1.0" %} +{% set version = "4.2.1" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: d0bb22ef38dd78494e09ff3ead0eba174d9cf2460fb8190ec8fbf6c395ad4b35 + sha256: 043a76935e7c6e41b3f71db9e2ac73a48dea8dab0386e1743ae27ad513a64ddb build: @@ -21,11 +21,11 @@ requirements: host: - python >=3.8 - setuptools - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - pmx_biobb ==4.1.3 run: - python >=3.8 - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - pmx_biobb ==4.1.3 test: imports: @@ -42,11 +42,11 @@ about: [![](https://img.shields.io/badge/docker-Quay.io-blue)](https://quay.io/repository/biocontainers/biobb_pmx)\n[![](https://www.singularity-hub.org/static/img/hosted-singularity--hub-%23e32929.svg)](https://www.singularity-hub.org/collections/2735/usage)\n\ [![](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\n# biobb_pmx\n\n### Introduction\nBiobb_pmx is the Biobb module collection to perform\ \ PMX (http://pmx.mpibpc.mpg.de) executions.\nBiobb (BioExcel building blocks) packages are Python building blocks that\ncreate new layer of compatibility and interoperability over popular\nbioinformatics\ - \ tools.\nThe latest documentation of this package can be found in our readthedocs site:\n[latest API documentation](http://biobb_pmx.readthedocs.io/en/latest/).\n\n### Version\nv1.0.0 April 2019 Release\n\ + \ tools.\nThe latest documentation of this package can be found in our readthedocs site:\n[latest API documentation](http://biobb_pmx.readthedocs.io/en/latest/).\n\n### Version\nv4.2.1 Jan 2024 Release\n\ \n\n### Copyright & Licensing\n\ \ This software has been developed in the [MMB group](http://mmb.irbbarcelona.org) at the [BSC](http://www.bsc.es/) & [IRB](https://www.irbbarcelona.org/) for the [European BioExcel](http://bioexcel.eu/),\ - \ funded by the European Commission (EU H2020 [823830](http://cordis.europa.eu/projects/823830), EU H2020 [675728](http://cordis.europa.eu/projects/675728)).\n\n* (c) 2015-2019 [Barcelona Supercomputing\ - \ Center](https://www.bsc.es/)\n* (c) 2015-2023 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\nLicensed under the\n[Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0),\ + \ funded by the European Commission (EU H2020 [823830](http://cordis.europa.eu/projects/823830), EU H2020 [675728](http://cordis.europa.eu/projects/675728)).\n\n* (c) 2015-2024 [Barcelona Supercomputing\ + \ Center](https://www.bsc.es/)\n* (c) 2015-2024 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\nLicensed under the\n[Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0),\ \ see the file LICENSE for details.\n\n![](https://bioexcel.eu/wp-content/uploads/2019/04/Bioexcell_logo_1080px_transp.png \"Bioexcel\")\n\n\n" doc_url: '' dev_url: '' diff --git a/recipes/biobb_pytorch/meta.yaml b/recipes/biobb_pytorch/meta.yaml new file mode 100644 index 0000000000000..a6901d42b5c26 --- /dev/null +++ b/recipes/biobb_pytorch/meta.yaml @@ -0,0 +1,53 @@ +{% set name = "biobb_pytorch" %} +{% set version = "4.2.1" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: 6fdee33715391a3384083675d23189e78b6fcdaff9098af7f4d88f7ebf7cff2c + +build: + number: 0 + noarch: python + script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv" + run_exports: + - {{ pin_subpackage(name, max_pin='x') }} + +requirements: + host: + - python >=3.8 + - setuptools + - biobb_common ==4.2.0 + - pytorch + run: + - python >=3.8 + - biobb_common ==4.2.0 + - pytorch + +test: + imports: + - biobb_pytorch + - biobb_pytorch.mdae + +about: + home: https://github.com/bioexcel/biobb_pytorch + license: Apache Software License + license_family: APACHE + license_file: '' + summary: biobb_pytorch is the Biobb module collection to create and train ML & DL models. + description: "# biobb_pytorch\n\n### Introduction\nBiobb_Pytorch is the Biobb module collection to create and train ML & DL models using the popular [PyTorch](https://pytorch.org/) Python library. + Biobb (BioExcel building blocks) packages are Python building blocks that create new layer of compatibility and interoperability over popular bioinformatics tools. The latest documentation of this package can be found in our readthedocs site: [latest API documentation](http://biobb-pytorch.readthedocs.io/en/latest/).\n\ + \n\n### Copyright & Licensing\nThis software has been developed in the [MMB group](http://mmb.irbbarcelona.org) at the [BSC](http://www.bsc.es/) & [IRB](https://www.irbbarcelona.org/) for the [European BioExcel](http://bioexcel.eu/), funded by the European Commission (EU H2020 [823830](http://cordis.europa.eu/projects/823830), EU H2020 [675728](http://cordis.europa.eu/projects/675728)).\ + \n\n* (c) 2015-2024 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2024 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ + Licensed under the\n\ + [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0), see the file LICENSE for details.\n\ + \n\ + ![](https://bioexcel.eu/wp-content/uploads/2019/04/Bioexcell_logo_1080px_transp.png \"Bioexcel\")\n\n\n" + doc_url: http://biobb_pytorch.readthedocs.io/en/latest/ + dev_url: https://github.com/bioexcel/biobb_pytorch + +extra: + recipe-maintainers: PauAndrio diff --git a/recipes/biobb_structure_checking/meta.yaml b/recipes/biobb_structure_checking/meta.yaml index 56a00c5124d72..5e13c55af3867 100644 --- a/recipes/biobb_structure_checking/meta.yaml +++ b/recipes/biobb_structure_checking/meta.yaml @@ -1,5 +1,5 @@ {% set name = "biobb_structure_checking" %} -{% set version = "3.13.4" %} +{% set version = "3.13.5" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: d819819d13c7ad219411b70b043555dcd65d5535f696a1121db562646931f445 + sha256: 4ba074da556a7aecac215f2020a04274c05f155413ed467177b9c9f31a53d4d0 build: number: 0 diff --git a/recipes/biobb_structure_utils/meta.yaml b/recipes/biobb_structure_utils/meta.yaml index 1b10c43335df9..5680dbfaf172b 100644 --- a/recipes/biobb_structure_utils/meta.yaml +++ b/recipes/biobb_structure_utils/meta.yaml @@ -1,5 +1,5 @@ {% set name = "biobb_structure_utils" %} -{% set version = "4.1.0" %} +{% set version = "4.2.0" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 07c6268e2f40de595325aaf88839dd180950ba5bd7e51acbf726a9b982fe69cd + sha256: 71bdb3e2a86a0ddfe22d7e292103df6437a3079a06954446f8b28fcc7112d92a build: number: 0 @@ -21,11 +21,11 @@ requirements: host: - python >=3.8 - setuptools - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - biobb_structure_checking ==3.13.4 run: - python >=3.8 - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - biobb_structure_checking ==3.13.4 test: imports: @@ -47,7 +47,7 @@ about: \ removing water molecules or ligands, or renumbering or sorting atoms or residues. Biobb (BioExcel building blocks) packages are Python building blocks that create new layer of compatibility\ \ and interoperability over popular bioinformatics tools. The latest documentation of this package can be found in our readthedocs site:\n[latest API documentation](http://biobb_structure_utils.readthedocs.io/en/latest/).\n\ \n\n### Copyright & Licensing\nThis software has been developed in the [MMB group](http://mmb.irbbarcelona.org) at the [BSC](http://www.bsc.es/) & [IRB](https://www.irbbarcelona.org/) for the [European BioExcel](http://bioexcel.eu/), funded by the European Commission (EU H2020 [823830](http://cordis.europa.eu/projects/823830), EU H2020 [675728](http://cordis.europa.eu/projects/675728)).\ - \n\n* (c) 2015-2023 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2023 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ + \n\n* (c) 2015-2024 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2024 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ Licensed under the\n\ [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0), see the file LICENSE for details.\n\ \n\ diff --git a/recipes/biobb_vs/meta.yaml b/recipes/biobb_vs/meta.yaml index 8f640424a3df3..067b1466bc709 100644 --- a/recipes/biobb_vs/meta.yaml +++ b/recipes/biobb_vs/meta.yaml @@ -1,5 +1,5 @@ {% set name = "biobb_vs" %} -{% set version = "4.1.1" %} +{% set version = "4.2.0" %} package: name: '{{ name|lower }}' @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 0be7e032922617797552024ee942cb3f99ecfb125cb767ba0f80a38f43402224 + sha256: 8b658f8fcd07386fd991fd7ca38e3384501cacef0cb4319d9461552d53f38f45 build: number: 0 @@ -20,14 +20,14 @@ requirements: host: - python >=3.8 - setuptools - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - vina ==1.2.3 - - fpocket >=3.1.4.2 + - fpocket ==4.1 run: - python >=3.8 - - biobb_common ==4.1.0 + - biobb_common ==4.2.0 - vina ==1.2.3 - - fpocket >=3.1.4.2 + - fpocket ==4.1 test: imports: @@ -45,7 +45,7 @@ about: description: "# biobb_vs\n\n### Introduction\nBiobb_vs is the Biobb module collection to perform virtual screening studies.\nBiobb (BioExcel building blocks) packages are Python building blocks that\ncreate\ \ new layer of compatibility and interoperability over popular\nbioinformatics tools.\nThe latest documentation of this package can be found in our readthedocs site:\n[latest API documentation](http://biobb-vs.readthedocs.io/en/latest/).\n\ \n\n### Copyright & Licensing\nThis software has been developed in the [MMB group](http://mmb.irbbarcelona.org) at the [BSC](http://www.bsc.es/) & [IRB](https://www.irbbarcelona.org/) for the [European BioExcel](http://bioexcel.eu/), funded by the European Commission (EU H2020 [823830](http://cordis.europa.eu/projects/823830), EU H2020 [675728](http://cordis.europa.eu/projects/675728)).\ - \n\n* (c) 2015-2023 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2023 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ + \n\n* (c) 2015-2024 [Barcelona Supercomputing Center](https://www.bsc.es/)\n* (c) 2015-2024 [Institute for Research in Biomedicine](https://www.irbbarcelona.org/)\n\ Licensed under the\n\ [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0), see the file LICENSE for details.\n\ \n\ diff --git a/recipes/bioblend/meta.yaml b/recipes/bioblend/meta.yaml index 884a589adf76a..1211834359a86 100644 --- a/recipes/bioblend/meta.yaml +++ b/recipes/bioblend/meta.yaml @@ -1,25 +1,29 @@ -{% set version = "1.2.0" %} +{% set name = "bioblend" %} +{% set version = "1.3.0" %} package: - name: bioblend + name: {{ name }} version: {{ version }} source: url: https://pypi.io/packages/source/b/bioblend/bioblend-{{ version }}.tar.gz - sha256: 90be67c5e0dbdb1235fd9a8cb463b5ded1c6a2d6a8303913649068973d037903 + sha256: e72318e10c29a81c16281d25aaac00989a07fc2900be7479137964232cc4a507 build: - noarch: python - script: python -m pip install --no-deps --ignore-installed . number: 0 + noarch: python + script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation --no-cache-dir . -vvv + entry_points: + - bioblend-galaxy-tests = bioblend._tests.pytest_galaxy_test_wrapper:main [testing] + run_exports: + - {{ pin_subpackage('bioblend', max_pin="x") }} requirements: host: - - python >=3.7 - - setuptools + - python >=3.8 - pip run: - - python >=3.7 + - python >=3.8 - requests >=2.20.0 - requests-toolbelt >=0.5.1,!=0.9.0 - tuspy @@ -60,7 +64,10 @@ test: - bioblend.util about: - home: https://bioblend.readthedocs.org/ - license: MIT License + home: "https://github.com/galaxyproject/bioblend" + license: MIT summary: 'A Python library for interacting with the Galaxy API' license_family: MIT + license_file: LICENSE + doc_url: "https://bioblend.readthedocs.org/" + dev_url: "https://github.com/galaxyproject/bioblend" diff --git a/recipes/biobloomtools/build.sh b/recipes/biobloomtools/build.sh index 0653b95be8ea0..6133f989c8f0c 100644 --- a/recipes/biobloomtools/build.sh +++ b/recipes/biobloomtools/build.sh @@ -1,12 +1,14 @@ #!/bin/bash +set -xe + export CFLAGS="-I$PREFIX/include -O3" export LDFLAGS="-L$PREFIX/lib" export CPATH="${PREFIX}/include" -export CXXFLAGS="-I${PREFIX}/include -O3" +export CXXFLAGS="-I${PREFIX}/include -O3 -std=c++17" export CPPFLAGS="-isystem/${PREFIX}/include" ./configure --prefix=${PREFIX} --with-sparsehash="${PREFIX}" --with-sdsl="${PREFIX}" --disable-dependency-tracking --disable-silent-rules -make +make -j ${CPU_COUNT} make install diff --git a/recipes/biobloomtools/meta.yaml b/recipes/biobloomtools/meta.yaml index 50f11a98e5ead..c3805666e6ca3 100644 --- a/recipes/biobloomtools/meta.yaml +++ b/recipes/biobloomtools/meta.yaml @@ -10,7 +10,9 @@ source: build: skip: true # [osx or win] - number: 2 + number: 5 + run_exports: + - {{ pin_subpackage("biobloomtools", max_pin="x") }} requirements: build: @@ -40,3 +42,7 @@ about: license: GPL-3.0 license_file: LICENSE summary: Building Bloom filters and using them for categorizing sequences + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/biobox_add_taxid/meta.yaml b/recipes/biobox_add_taxid/meta.yaml new file mode 100644 index 0000000000000..2fb85616b6e75 --- /dev/null +++ b/recipes/biobox_add_taxid/meta.yaml @@ -0,0 +1,37 @@ +{% set name = "biobox_add_taxid" %} +{% set version = "0.6" %} +{% set sha256 = "9ca7fca41aa53c3ae26d15328944954419b894e1ee7a4745222c808b5e4ff147" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/SantaMcCloud/{{ name }}/archive/refs/tags/release-{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + noarch: python + number: 0 + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + run_exports: + - {{ pin_subpackage("biobox_add_taxid", max_pin="x.x") }} + +requirements: + host: + - pip + - python + run: + - python + +test: + commands: + - biobox_add_taxid.py --help + - biobox_add_taxid.py --version + +about: + home: https://github.com/SantaMcCloud/biobox_add_taxid + license: MIT + license_family: MIT + license_file: LICENSE + summary: "CAMI amber utility script for adding the taxid output from GTDB and BAT" diff --git a/recipes/biocamlib/build.sh b/recipes/biocamlib/build.sh new file mode 100644 index 0000000000000..1851efa249a27 --- /dev/null +++ b/recipes/biocamlib/build.sh @@ -0,0 +1,17 @@ +#!/bin/bash +if [ "$(uname)" == "Darwin" ]; then + echo "Installing BiOCamLib for OSX." +else + echo "Installing BiOCamLib for Linux" +fi + +mkdir -p $PREFIX/bin +cp $SRC_DIR/FASTools $PREFIX/bin +cp $SRC_DIR/Parallel $PREFIX/bin +cp $SRC_DIR/Octopus $PREFIX/bin +cp $SRC_DIR/RC $PREFIX/bin + +chmod +x $PREFIX/bin/FASTools +chmod +x $PREFIX/bin/Parallel +chmod +x $PREFIX/bin/Octopus +chmod +x $PREFIX/bin/RC \ No newline at end of file diff --git a/recipes/biocamlib/meta.yaml b/recipes/biocamlib/meta.yaml new file mode 100644 index 0000000000000..5c9bd52dd6bc1 --- /dev/null +++ b/recipes/biocamlib/meta.yaml @@ -0,0 +1,47 @@ +{% set name = "biocamlib" %} +{% set version = "1.0.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + - url: https://github.com/PaoloRibeca/BiOCamLib/releases/download/v{{ version }}/BiOCamLib-{{ version }}-Linux_x86-64.tar.xz # [linux] + sha256: bd08b1fe1949cb2faa98b46b40a99c84f0f5581515e337bab50111b11d9c7f12 # [linux] + - url: https://github.com/PaoloRibeca/BiOCamLib/releases/download/v{{ version }}/BiOCamLib-{{ version }}-MacOS_x86-64.tar.xz # [osx] + sha256: e55766df1e0af12f825ab1fe244841b70b8ccce9c764b60acc56d4386d3ce9bb # [osx] + +build: + run_exports: + {{ pin_subpackage(name, max_pin="x") }} + number: 0 + skip: true # [win] + +test: + commands: + - Parallel -V + - FASTools -V + - Octopus -V + - RC -V + +about: + home: https://github.com/PaoloRibeca/BiOCamLib + license: GPL-3.0-only + license_file: LICENSE + summary: 'An OCaml foundation upon which a number of the bioinformatics tools are built.' + description: | + BiOCamLib is an OCaml foundation upon which a number of the bioinformatics tools are built, + including KPop . It consists of four tools: + 1. RC, which can efficiently compute the reverse complement of sequences. + 2. Octopus, which is a high-throughput program to compute the transitive closure of strings. + 3. Parallel, which allows the splits and processes an input file chunk-wise using a reader/workers/writer model. + 4. FASTools, which is a Swiss-knife tool for the manipulation of FASTA/FASTQ files. + + dev_url: https://github.com/PaoloRibeca/BiOCamLib + +extra: + recipe-maintainers: + - PaoloRibeca + - ryanmorrison22 + skip-lints: + - should_be_noarch_generic diff --git a/recipes/biocode/biocode.patch b/recipes/biocode/biocode.patch deleted file mode 100644 index 2b3d9f2ded9f8..0000000000000 --- a/recipes/biocode/biocode.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 028ea8130db125bcb546bbc90dbdf44c5b5b0d5b Mon Sep 17 00:00:00 2001 -From: Gerry Tonkin-Hill -Date: Mon, 15 Aug 2022 12:26:17 +0100 -Subject: [PATCH] remove old script - ---- - setup.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index 5a96f71..ec9f63d 100644 ---- a/setup.py -+++ b/setup.py -@@ -22,7 +22,7 @@ setup(name='biocode', - license='MIT', - long_description=read('README.rst'), - packages=['biocode'], -- scripts=['bin/append_to_column_9_value.py', 'bin/prepend_to_fasta_header.py', 'bin/download_assemblies_from_genbank.py', 'bin/convert_augustus_to_gff3.py', 'bin/convert_gff3_to_ncbi_tbl.py', 'bin/mark_partial_genes.py', 'bin/filter_fasta_by_abundance.py', 'bin/validate_feature_boundaries_on_molecules.py', 'bin/add_polypeptide_to_gff3_gene_models.py', 'bin/select_training_and_evaluation_transcripts.py', 'bin/filter_fasta_by_type.py', 'bin/filter_uniref_by_taxonomy.py', 'bin/remove_orphaned_features.py', 'bin/convert_blast_btab_to_bed.py', 'bin/replace_gff_type_column_value.py', 'bin/convert_blast_btab_to_gff3.py', 'bin/interleave_fastq.py', 'bin/split_isoforms_into_individual_genes.py', 'bin/make_cufflinks_ids_unique.py', 'bin/convert_gff3_to_gbk.py', 'bin/make_go_slim_index.py', 'bin/eggnog_to_sqlite3.py', 'bin/convert_metagenemark_gff_to_gff3.py', 'bin/append_to_fasta_header.py', 'bin/merge_bam_files.py', 'bin/remove_masked_gene_models.py', 'bin/filter_fastq_by_N_content.py', 'bin/uniref_to_sqlite3.py', 'bin/uniprot_sprot_to_sqlite3.py', 'bin/reverse_misordered_cds_coords.py', 'bin/update_selected_column9_values.py', 'bin/convert_gff3_to_gene_association_format.py', 'bin/interleave_fasta.py', 'bin/make_go_slim.py', 'bin/join_columnar_files.py', 'bin/split_interleaved_sequence_file.py', 'bin/merge_masked_fasta_files.py', 'bin/hmmlib_to_sqlite3.py', 'bin/fasta_size_distribution_plot.py', 'bin/report_gff3_statistics.py', 'bin/reformat_fasta_residue_lengths.py', 'bin/convert_cufflinks_gtf_to_gff3.py', 'bin/list_biocode.py', 'bin/fasta_simple_stats.py', 'bin/fastq_simple_stats.py', 'bin/convert_prodigal_to_gff3.py', 'bin/convert_scipio_gff_to_gff3.py', 'bin/filter_gff3_by_id_list.py', 'bin/reorient_sequences_by_id.py', 'bin/convert_fastq_to_fasta.py', 'bin/create_rsem_html_table.py', 'bin/convert_glimmerHMM_gff_to_gff3.py', 'bin/convert_genbank_to_gff3.py', 'bin/replace_homopolymeric_repeats_with_Ns.py', 'bin/split_fasta_into_even_files.py', 'bin/get_mpilup_from_id_list.py', 'bin/convert_gff_to_ncbi_gff3.py', 'bin/create_taxonomic_profile_from_blast.py', 'bin/convert_fasta_contigs_to_gff3.py', 'bin/merge_fasta_files_and_uniquify_ids.py', 'bin/merge_predicted_gff3.py', 'bin/filter_fasta_by_header_regex.py', 'bin/convert_pasa_gff_to_models.py', 'bin/extract_fasta_regions.py', 'bin/set_source_column.py', 'bin/tigrfam_info_to_sqlite3.py', 'bin/add_gff3_locus_tags.py', 'bin/fasta_base_content.py', 'bin/subsample_fasta.py', 'bin/convert_gff3_to_bed.py', 'bin/compare_gene_structures.py', 'bin/validate_fasta.py', 'bin/randomly_subsample_fastq.py', 'bin/append_to_fastq_read_header.py', 'bin/convert_aat_btab_to_gff3.py', 'bin/check_for_embedded_fasta_headers.py', 'bin/convert_htab_to_bed.py', 'bin/correct_gff3_CDS_phase_column.py', 'bin/report_coverage_gaps.py', 'bin/detect_inverted_repeats.py', 'bin/convert_cegma_gff_to_gff3.py', 'bin/remove_duplicate_features.py', 'bin/remove_duplicate_sequences.py', 'bin/create_taxonomy_db.py', 'bin/calculate_query_coverage_by_blast.py', 'bin/report_or_replace_nonstandard_residues.py', 'bin/write_fasta_from_gff.py', 'bin/filter_uniref_by_repid.py', 'bin/check_gff_for_internal_stops.py', 'bin/report_basic_gff_model_agreement.py', 'bin/calculate_gene_coverage_from_assembly.py', 'bin/report_gff_intron_and_intergenic_stats.py', 'bin/extend_genes_to_stops.py', 'bin/report_go_slim_counts.py', 'bin/make_go_index.py', 'bin/split_molecules_on_gaps.py'], -+ scripts=['bin/append_to_column_9_value.py', 'bin/prepend_to_fasta_header.py', 'bin/download_assemblies_from_genbank.py', 'bin/convert_augustus_to_gff3.py', 'bin/convert_gff3_to_ncbi_tbl.py', 'bin/mark_partial_genes.py', 'bin/filter_fasta_by_abundance.py', 'bin/validate_feature_boundaries_on_molecules.py', 'bin/add_polypeptide_to_gff3_gene_models.py', 'bin/select_training_and_evaluation_transcripts.py', 'bin/filter_fasta_by_type.py', 'bin/filter_uniref_by_taxonomy.py', 'bin/remove_orphaned_features.py', 'bin/convert_blast_btab_to_bed.py', 'bin/replace_gff_type_column_value.py', 'bin/convert_blast_btab_to_gff3.py', 'bin/interleave_fastq.py', 'bin/split_isoforms_into_individual_genes.py', 'bin/make_cufflinks_ids_unique.py', 'bin/convert_gff3_to_gbk.py', 'bin/make_go_slim_index.py', 'bin/eggnog_to_sqlite3.py', 'bin/convert_metagenemark_gff_to_gff3.py', 'bin/append_to_fasta_header.py', 'bin/merge_bam_files.py', 'bin/remove_masked_gene_models.py', 'bin/filter_fastq_by_N_content.py', 'bin/uniref_to_sqlite3.py', 'bin/uniprot_sprot_to_sqlite3.py', 'bin/reverse_misordered_cds_coords.py', 'bin/update_selected_column9_values.py', 'bin/convert_gff3_to_gene_association_format.py', 'bin/make_go_slim.py', 'bin/join_columnar_files.py', 'bin/split_interleaved_sequence_file.py', 'bin/merge_masked_fasta_files.py', 'bin/hmmlib_to_sqlite3.py', 'bin/fasta_size_distribution_plot.py', 'bin/report_gff3_statistics.py', 'bin/reformat_fasta_residue_lengths.py', 'bin/convert_cufflinks_gtf_to_gff3.py', 'bin/list_biocode.py', 'bin/fasta_simple_stats.py', 'bin/fastq_simple_stats.py', 'bin/convert_prodigal_to_gff3.py', 'bin/convert_scipio_gff_to_gff3.py', 'bin/filter_gff3_by_id_list.py', 'bin/reorient_sequences_by_id.py', 'bin/convert_fastq_to_fasta.py', 'bin/create_rsem_html_table.py', 'bin/convert_glimmerHMM_gff_to_gff3.py', 'bin/convert_genbank_to_gff3.py', 'bin/replace_homopolymeric_repeats_with_Ns.py', 'bin/split_fasta_into_even_files.py', 'bin/get_mpilup_from_id_list.py', 'bin/convert_gff_to_ncbi_gff3.py', 'bin/create_taxonomic_profile_from_blast.py', 'bin/convert_fasta_contigs_to_gff3.py', 'bin/merge_fasta_files_and_uniquify_ids.py', 'bin/merge_predicted_gff3.py', 'bin/filter_fasta_by_header_regex.py', 'bin/convert_pasa_gff_to_models.py', 'bin/extract_fasta_regions.py', 'bin/set_source_column.py', 'bin/tigrfam_info_to_sqlite3.py', 'bin/add_gff3_locus_tags.py', 'bin/fasta_base_content.py', 'bin/subsample_fasta.py', 'bin/convert_gff3_to_bed.py', 'bin/compare_gene_structures.py', 'bin/validate_fasta.py', 'bin/randomly_subsample_fastq.py', 'bin/append_to_fastq_read_header.py', 'bin/convert_aat_btab_to_gff3.py', 'bin/check_for_embedded_fasta_headers.py', 'bin/convert_htab_to_bed.py', 'bin/correct_gff3_CDS_phase_column.py', 'bin/report_coverage_gaps.py', 'bin/detect_inverted_repeats.py', 'bin/convert_cegma_gff_to_gff3.py', 'bin/remove_duplicate_features.py', 'bin/remove_duplicate_sequences.py', 'bin/create_taxonomy_db.py', 'bin/calculate_query_coverage_by_blast.py', 'bin/report_or_replace_nonstandard_residues.py', 'bin/write_fasta_from_gff.py', 'bin/filter_uniref_by_repid.py', 'bin/check_gff_for_internal_stops.py', 'bin/report_basic_gff_model_agreement.py', 'bin/calculate_gene_coverage_from_assembly.py', 'bin/report_gff_intron_and_intergenic_stats.py', 'bin/extend_genes_to_stops.py', 'bin/report_go_slim_counts.py', 'bin/make_go_index.py', 'bin/split_molecules_on_gaps.py'], - url='http://github.com/jorvis/biocode', - version='0.10.0', - zip_safe=False) --- diff --git a/recipes/biocode/meta.yaml b/recipes/biocode/meta.yaml index 2d3c8dc8fe5d8..42ff93ce5a92a 100644 --- a/recipes/biocode/meta.yaml +++ b/recipes/biocode/meta.yaml @@ -1,5 +1,5 @@ {% set name = "biocode" %} -{% set version = "0.10.0" %} +{% set version = "0.11.0" %} package: name: "{{ name|lower }}" @@ -7,14 +7,14 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: ab48e0ea92f52c7fe48c6c947d4d5aa43437f16cd42a804546c71ef0e5ba2265 - patches: biocode.patch + sha256: 5c0df506d07e6b073b56da360bba4dad8e0b90e4ceb6f62009ae51c56a83b162 build: noarch: python number: 0 script: "{{ PYTHON }} -m pip install . --no-deps -vv" - + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: host: - pip diff --git a/recipes/biocommons.seqrepo/meta.yaml b/recipes/biocommons.seqrepo/meta.yaml index f70cee72ac83a..0009a20f469c5 100644 --- a/recipes/biocommons.seqrepo/meta.yaml +++ b/recipes/biocommons.seqrepo/meta.yaml @@ -1,5 +1,5 @@ {% set name = "biocommons.seqrepo" %} -{% set version = "0.6.6" %} +{% set version = "0.6.9" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/biocommons.seqrepo-{{ version }}.tar.gz - sha256: 655eb8a2b6e3d4564ef2cbfaa2db6415ccb066f9fd786bd4b3303bbba00e752a + sha256: b08d616c6ab5c4bc8e1ef5e09e94c5c274c6da41f75a435323eddc716c9b5575 build: number: 0 diff --git a/recipes/bioconda-repodata-patches/.gitignore b/recipes/bioconda-repodata-patches/.gitignore index 6934129b9f64e..03e52d30471fb 100644 --- a/recipes/bioconda-repodata-patches/.gitignore +++ b/recipes/bioconda-repodata-patches/.gitignore @@ -1,2 +1,3 @@ __pycache__ cache +patches/*/patch_instructions.json diff --git a/recipes/bioconda-repodata-patches/gen_patch_json.py b/recipes/bioconda-repodata-patches/gen_patch_json.py index f3f76a04e3869..34c0225e0f599 100755 --- a/recipes/bioconda-repodata-patches/gen_patch_json.py +++ b/recipes/bioconda-repodata-patches/gen_patch_json.py @@ -169,13 +169,13 @@ def _gen_new_index(repodata, subdir): if has_dep(record, 'htslib'): # skip deps prior to 1.10, which was the first with soversion 3 # TODO adjust replacement (exclusive) upper bound with each new compatible HTSlib - _pin_looser(fn, record, 'htslib', min_lower_bound='1.10', upper_bound='1.19') + _pin_looser(fn, record, 'htslib', min_lower_bound='1.10', upper_bound='1.22') # future libdeflate versions are compatible until they bump their soversion; relax dependencies accordingly - if record_name in ['htslib', 'staden_io_lib', 'fastp'] and has_dep(record, 'libdeflate'): + if record_name in ['htslib', 'staden_io_lib', 'fastp', 'pysam'] and has_dep(record, 'libdeflate'): # skip deps that allow anything <1.3, which contained an incompatible library filename # TODO adjust the replacement (exclusive) upper bound each time a compatible new libdeflate is released - _pin_looser(fn, record, 'libdeflate', min_lower_bound='1.3', upper_bound='1.20') + _pin_looser(fn, record, 'libdeflate', min_lower_bound='1.3', upper_bound='1.22') # nanosim <=3.1.0 requires scikit-learn<=0.22.1 if record_name.startswith('nanosim') and has_dep(record, "scikit-learn") and version <= "3.1.0": @@ -184,6 +184,13 @@ def _gen_new_index(repodata, subdir): deps[i] += ",<=0.22.1" # append an upper bound break + # snakemake <8.1.2 requires pulp <2.8.0 + if record_name == 'snakemake-minimal' and has_dep(record, "pulp") and version < "8.1.2": + for i, dep in enumerate(deps): + if dep.startswith("pulp") and has_no_upper_bound(dep): + deps[i] = "pulp >=2.0,<2.8.0" + + return index diff --git a/recipes/bioconda-repodata-patches/meta.yaml b/recipes/bioconda-repodata-patches/meta.yaml index 77ccb66c6d0ae..69c1bf5630d63 100644 --- a/recipes/bioconda-repodata-patches/meta.yaml +++ b/recipes/bioconda-repodata-patches/meta.yaml @@ -1,6 +1,6 @@ package: name: bioconda-repodata-patches - version: 20230918 # ensure that this is the "current" date, and always higher than the latest version in master + version: 20240913 # ensure that this is the "current" date, and always higher than the latest version in master source: path: . diff --git a/recipes/bioconda-repodata-patches/patches/linux-64/patch_instructions.json b/recipes/bioconda-repodata-patches/patches/linux-64/patch_instructions.json deleted file mode 100644 index 3e83a10d292c2..0000000000000 --- a/recipes/bioconda-repodata-patches/patches/linux-64/patch_instructions.json +++ /dev/null @@ -1,21693 +0,0 @@ -{ - "packages": { - "aria2-1.23.0-0.tar.bz2": { - "depends": [ - "c-ares", - "libgcc", - "libssh2", - "libxml2", - "openssl >=1.1.0,<=1.1.1", - "sqlite", - "zlib" - ] - }, - "aria2-1.23.0-1.tar.bz2": { - "depends": [ - "c-ares", - "libgcc", - "libssh2", - "libxml2", - "openssl >=1.1.0,<=1.1.1", - "sqlite", - "zlib 1.2.11*" - ] - }, - "aria2-1.34.0-0.tar.bz2": { - "depends": [ - "c-ares", - "libgcc", - "libssh2", - "libxml2", - "openssl >=1.1.0,<=1.1.1", - "sqlite", - "zlib 1.2.11*" - ] - }, - "bamhash-1.0-0.tar.bz2": { - "depends": [ - "libgcc", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "bamhash-1.0-1.tar.bz2": { - "depends": [ - "libgcc", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "bamhash-1.1-0.tar.bz2": { - "depends": [ - "libgcc", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "bamhash-1.1-1.tar.bz2": { - "depends": [ - "libgcc", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "bcbio-nextgen-0.9.5-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.6-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.6a-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.6a-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.6a-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.6a-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.7-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.7a-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.7a-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.7a-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.7a-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.7a-py27_4.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.7a-py27_5.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.8-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-0.9.8a0-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.8a0-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.8a0-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-0.9.8a0-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-0.9.8a0-py27_4.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-0.9.8a0-py27_5.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-0.9.8a0-py27_6.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-0.9.8a0-py27_7.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-0.9.9-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-0.9.9a0-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-0.9.9a0-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-0.9.9a0-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-0.9.9a0-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-0.9.9a0-py27_4.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.0-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.0a0-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.0a0-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.0a0-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.0a0-py27_4.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.0a0-py27_5.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.0a0-py27_6.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.0a0-py27_7.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.0a0-py27_8.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.1-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.1-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.1a0-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.1a0-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipdb", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.1a0-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.1a0-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.1a0-py27_4.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.2-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.2a-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.2a-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.3-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.3a-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib >=2.0.0", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.3a-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.3a-py27_10.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.3a-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "htslib >=1.3,<1.4", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.3a-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib >=1.3,<1.4", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.3a-py27_4.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib >=1.3,<1.4", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.3a-py27_5.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib >=1.3,<1.4", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.3a-py27_6.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.3a-py27_7.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.3a-py27_8.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.3a-py27_9.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.4-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.4a0-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.4a0-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.4a0-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.4a0-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.5-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.5a-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.5a-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.5a-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.5a-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.5a-py27_4.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.5a-py27_5.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.5a-py27_6.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.6-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.8", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.6a0-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.6a0-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.6a0-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.6a0-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.6a0-py27_4.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.5*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.6a0-py27_5.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.6a0-py27_6.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.7-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.8", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.7-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.6.0", - "joblib", - "jupyter_client >=5.0,<5.2", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.7a0-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.8", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.7a0-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.8", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.7a0-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.8", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.7a0-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.8", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.7a0-py27_4.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.8", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.7a0-py27_5.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.8", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.7a0-py27_6.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.8", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.7a0-py27_7.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.8", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.8-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.8a-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.6.0", - "joblib", - "jupyter_client >=5.0,<5.2", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.8a-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.6.0", - "joblib", - "jupyter_client >=5.0,<5.2", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint", - "zeromq ==4.2.1" - ] - }, - "bcbio-nextgen-1.0.8a-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.6.0", - "joblib", - "jupyter_client >=5.0,<5.2", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint", - "zeromq ==4.2.1" - ] - }, - "bcbio-nextgen-1.0.8a-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.6.0", - "joblib", - "jupyter_client >=5.0,<5.2", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint", - "zeromq ==4.2.1" - ] - }, - "bcbio-nextgen-1.0.8a-py27_4.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.6.0", - "joblib", - "jupyter_client >=5.0,<5.2", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint", - "zeromq ==4.2.1" - ] - }, - "bcbio-nextgen-1.0.8a-py27_5.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.9-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.9a-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.9a-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.9a-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.9a-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.9a-py27_4.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.9a-py27_5.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.9a-py27_6.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.9a-py27_7.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.9a-py27_8.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.9a-py27_9.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.1.0a-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.1.0a-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.1.0a-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.1.0a-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.1.0a-py27_4.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil >=2.5.0", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.1.0a-py27_5.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil >=2.5.0", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.1.0a-py27_6.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil >=2.5.0", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.1.0a-py27_7.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil >=2.5.0", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.1.0a-py27_8.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil >=2.5.0", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bioconductor-acde-1.6.0-0.tar.bz2": { - "depends": [ - "r-base >=3.3,<3.4", - "r-boot >=1.3" - ] - }, - "bioconductor-alpine-1.2.0-0.tar.bz2": { - "depends": [ - "bioconductor-biostrings", - "bioconductor-genomeinfodb", - "bioconductor-genomicalignments", - "bioconductor-genomicfeatures", - "bioconductor-genomicranges", - "bioconductor-graph", - "bioconductor-iranges", - "bioconductor-rbgl", - "bioconductor-rsamtools", - "bioconductor-s4vectors", - "bioconductor-summarizedexperiment", - "r-base >=3.3,<3.4", - "r-speedglm", - "r-stringr" - ] - }, - "bioconductor-amountain-1.2.0-0.tar.bz2": { - "depends": [ - "r-base >=3.3,<3.4" - ] - }, - "bioconductor-annotationfilter-1.0.0-0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges", - "r-base >=3.4,<3.5", - "r-lazyeval" - ] - }, - "bioconductor-aroma.light-3.6.0-0.tar.bz2": { - "depends": [ - "r-base >=2.15,<2.16", - "r-matrixstats >=0.52.1", - "r-r.methodss3 >=1.7.1", - "r-r.oo >=1.21.0", - "r-r.utils >=2.5.0" - ] - }, - "bioconductor-arrayqualitymetrics-3.34.0-0.tar.bz2": { - "depends": [ - "bioconductor-affy", - "bioconductor-affyplm >=1.27.3", - "bioconductor-beadarray", - "bioconductor-biobase", - "bioconductor-genefilter", - "bioconductor-limma", - "bioconductor-vsn >=3.23.3", - "r-base >=3.4,<3.5", - "r-cairo >=1.4-6", - "r-gridsvg >=1.4-3", - "r-hmisc", - "r-hwriter", - "r-lattice", - "r-latticeextra", - "r-rcolorbrewer", - "r-setrng", - "r-xml", - "xorg-libsm", - "xorg-libxext", - "xorg-libxrender" - ] - }, - "bioconductor-atacseqqc-1.0.5-0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics", - "bioconductor-biostrings", - "bioconductor-bsgenome", - "bioconductor-chippeakanno", - "bioconductor-genomeinfodb", - "bioconductor-genomicalignments", - "bioconductor-genomicranges", - "bioconductor-genomicscores", - "bioconductor-iranges", - "bioconductor-limma", - "bioconductor-rsamtools", - "bioconductor-rtracklayer", - "bioconductor-s4vectors", - "r-base >=3.4,<3.5", - "r-randomforest", - "r-stringr" - ] - }, - "bioconductor-bacon-1.4.0-0.tar.bz2": { - "depends": [ - "bioconductor-biocparallel", - "r-base >=3.3,<3.4", - "r-ellipse", - "r-ggplot2" - ] - }, - "bioconductor-banocc-1.0.0-0.tar.bz2": { - "depends": [ - "r-base >=3.4,<3.5", - "r-coda >=0.18.1", - "r-mvtnorm", - "r-rstan >=2.10.1", - "r-stringr" - ] - }, - "bioconductor-banocc-1.2.0-0.tar.bz2": { - "depends": [ - "r-base >=3.4,<3.5", - "r-coda >=0.18.1", - "r-mvtnorm", - "r-rstan >=2.10.1", - "r-stringr" - ] - }, - "bioconductor-bayespeak-1.24.0-0.tar.bz2": { - "depends": [ - "bioconductor-iranges", - "libgcc", - "r-base >=2.14,<2.15" - ] - }, - "bioconductor-bgeedb-2.2.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "bioconductor-graph", - "bioconductor-topgo", - "r-base >=3.3,<3.4", - "r-data.table", - "r-digest", - "r-dplyr", - "r-rcurl", - "r-tidyr" - ] - }, - "bioconductor-biocfilecache-1.2.3-0.tar.bz2": { - "depends": [ - "r-base >=3.4,<3.5", - "r-dbi", - "r-dbplyr >=1.0.0", - "r-dplyr", - "r-httr", - "r-rappdirs", - "r-rsqlite" - ] - }, - "bioconductor-biocinstaller-1.26.1-0.tar.bz2": { - "depends": [ - "r-base >=3.4,<3.5" - ] - }, - "bioconductor-biocviews-1.44.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "bioconductor-graph >=1.9.26", - "bioconductor-rbgl >=1.13.5", - "r-base >=2.4,<2.5", - "r-rcurl", - "r-runit", - "r-xml", - "readline 6.2" - ] - }, - "bioconductor-biocworkflowtools-1.2.0-0.tar.bz2": { - "depends": [ - "bioconductor-biocstyle", - "r-base >=3.3,<3.4", - "r-bookdown", - "r-httr", - "r-knitr", - "r-rmarkdown", - "r-stringr" - ] - }, - "bioconductor-bubbletree-2.6.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "bioconductor-biocgenerics >=0.7.5", - "bioconductor-biocstyle", - "bioconductor-biovizbase", - "bioconductor-genomicranges", - "bioconductor-iranges", - "bioconductor-limma", - "r-base >=3.3,<3.4", - "r-dplyr", - "r-e1071", - "r-ggplot2", - "r-gridextra", - "r-gtable", - "r-gtools", - "r-magrittr", - "r-plyr", - "r-rcolorbrewer", - "r-writexls" - ] - }, - "bioconductor-chicago-1.4.0-0.tar.bz2": { - "depends": [ - "r-base >=3.2,<3.3", - "r-data.table", - "r-delaporte", - "r-hmisc", - "r-mass", - "r-matrixstats" - ] - }, - "bioconductor-chimeraviz-1.0.4-0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi", - "bioconductor-annotationfilter", - "bioconductor-biobase", - "bioconductor-biocgenerics", - "bioconductor-biocstyle", - "bioconductor-biostrings", - "bioconductor-ensembldb", - "bioconductor-genomeinfodb", - "bioconductor-genomeinfodbdata", - "bioconductor-genomicalignments", - "bioconductor-genomicranges", - "bioconductor-graph", - "bioconductor-gviz", - "bioconductor-iranges", - "bioconductor-org.hs.eg.db", - "bioconductor-rgraphviz", - "bioconductor-rsamtools", - "bioconductor-s4vectors", - "pandoc", - "r-argumentcheck", - "r-base >=3.4,<3.5", - "r-dt", - "r-gridbase", - "r-gridextra", - "r-plyr", - "r-rcircos", - "r-rcolorbrewer", - "r-readr", - "r-rmarkdown" - ] - }, - "bioconductor-chippeakanno-3.10.2-0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi", - "bioconductor-biobase", - "bioconductor-biocgenerics >=0.1.0", - "bioconductor-biocinstaller", - "bioconductor-biomart", - "bioconductor-biostrings", - "bioconductor-bsgenome", - "bioconductor-delayedarray", - "bioconductor-ensembldb", - "bioconductor-genomeinfodb", - "bioconductor-genomicalignments", - "bioconductor-genomicfeatures", - "bioconductor-genomicranges >=1.23.16", - "bioconductor-go.db", - "bioconductor-graph", - "bioconductor-iranges >=2.5.27", - "bioconductor-limma", - "bioconductor-multtest", - "bioconductor-rbgl", - "bioconductor-regioner", - "bioconductor-rsamtools", - "bioconductor-s4vectors >=0.9.25", - "bioconductor-summarizedexperiment", - "r-base >=3.2,<3.3", - "r-dbi", - "r-idr", - "r-matrixstats", - "r-seqinr", - "r-venndiagram" - ] - }, - "bioconductor-chipseeker-1.12.1-0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi", - "bioconductor-biocgenerics", - "bioconductor-dose >=3.0.0", - "bioconductor-genomeinfodb", - "bioconductor-genomicfeatures", - "bioconductor-genomicranges", - "bioconductor-iranges", - "bioconductor-rtracklayer", - "bioconductor-s4vectors", - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene", - "r-base >=3.3,<3.4", - "r-boot", - "r-dplyr", - "r-ggplot2 >=2.2.0", - "r-gplots", - "r-gridbase", - "r-gtools", - "r-magrittr", - "r-plotrix", - "r-rcolorbrewer", - "r-upsetr" - ] - }, - "bioconductor-chronos-1.4.0-0.tar.bz2": { - "depends": [ - "bioconductor-biomart", - "bioconductor-graph", - "bioconductor-rbgl", - "r-base >=3.3,<3.4", - "r-circlize", - "r-doparallel", - "r-foreach", - "r-openxlsx", - "r-rcurl", - "r-xml" - ] - }, - "bioconductor-clusterprofiler-3.4.4-0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi", - "bioconductor-dose >=3.1.3", - "bioconductor-go.db", - "bioconductor-gosemsim >=2.0.0", - "bioconductor-qvalue", - "r-base >=3.3,<3.4", - "r-ggplot2", - "r-magrittr", - "r-plyr", - "r-rvcheck", - "r-tidyr" - ] - }, - "bioconductor-cner-1.12.1-0.tar.bz2": { - "depends": [ - "bioconductor-annotate >=1.50.0", - "bioconductor-biocgenerics", - "bioconductor-biostrings >=2.33.4", - "bioconductor-genomeinfodb >=1.1.3", - "bioconductor-genomicalignments >=1.1.9", - "bioconductor-genomicranges >=1.23.16", - "bioconductor-go.db >=3.3.0", - "bioconductor-iranges >=2.5.27", - "bioconductor-keggrest >=1.14.0", - "bioconductor-rtracklayer >=1.25.5", - "bioconductor-s4vectors >=0.13.13", - "bioconductor-xvector >=0.5.4", - "r-base >=3.2,<3.3", - "r-dbi >=0.6", - "r-ggplot2 >=2.1.0", - "r-powerlaw >=0.60.3", - "r-r.utils >=2.3.0", - "r-readr >=0.2.2", - "r-reshape2 >=1.4.1", - "r-rsqlite >=0.11.4" - ] - }, - "bioconductor-compepitools-1.10.0-0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi", - "bioconductor-biocgenerics", - "bioconductor-biostrings", - "bioconductor-genomeinfodb", - "bioconductor-genomicfeatures", - "bioconductor-genomicranges", - "bioconductor-go.db", - "bioconductor-iranges", - "bioconductor-methylpipe", - "bioconductor-rsamtools", - "bioconductor-s4vectors", - "bioconductor-topgo", - "bioconductor-xvector", - "r-base >=3.1,<3.2", - "r-gplots" - ] - }, - "bioconductor-csaw-1.10.0-0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi", - "bioconductor-biocgenerics", - "bioconductor-biocparallel", - "bioconductor-edger", - "bioconductor-genomeinfodb", - "bioconductor-genomicfeatures", - "bioconductor-genomicranges", - "bioconductor-iranges", - "bioconductor-limma", - "bioconductor-rhtslib", - "bioconductor-rsamtools", - "bioconductor-s4vectors", - "bioconductor-summarizedexperiment >=1.2.0", - "r-base >=3.4,<3.5" - ] - }, - "bioconductor-delayedarray-0.2.7-0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics", - "bioconductor-iranges", - "bioconductor-s4vectors >=0.14.3", - "r-base >=3.4,<3.5", - "r-matrixstats" - ] - }, - "bioconductor-diffbind-2.4.8-16.tar.bz2": { - "depends": [ - "bioconductor-biocparallel", - "bioconductor-deseq2", - "bioconductor-edger", - "bioconductor-genomicalignments", - "bioconductor-genomicranges", - "bioconductor-iranges", - "bioconductor-limma", - "bioconductor-rsamtools", - "bioconductor-s4vectors", - "bioconductor-summarizedexperiment", - "bioconductor-systempiper", - "bioconductor-zlibbioc", - "r-amap", - "r-base >=3.3,<3.4", - "r-dplyr", - "r-ggplot2", - "r-ggrepel", - "r-gplots", - "r-lattice", - "r-locfit", - "r-rcolorbrewer", - "r-rcpp" - ] - }, - "bioconductor-diffustats-0.102.0-0.tar.bz2": { - "depends": [ - "r-base >=3.4,<3.5", - "r-expm", - "r-igraph", - "r-mass", - "r-matrix", - "r-plyr", - "r-precrec", - "r-rcpp", - "r-rcpparmadillo", - "r-rcppparallel" - ] - }, - "bioconductor-dnashaper-1.4.0-0.tar.bz2": { - "depends": [ - "bioconductor-biostrings", - "bioconductor-genomicranges", - "r-base >=3.3,<3.4", - "r-fields", - "r-rcpp >=0.12.1" - ] - }, - "bioconductor-doppelgangr-1.4.1-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "bioconductor-biocparallel", - "bioconductor-impute", - "bioconductor-sva", - "r-base >=3.3,<3.4", - "r-digest", - "r-mnormt" - ] - }, - "bioconductor-dose-3.2.0-0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi", - "bioconductor-biocparallel", - "bioconductor-do.db", - "bioconductor-fgsea", - "bioconductor-gosemsim >=2.0.0", - "bioconductor-qvalue", - "bioconductor-s4vectors", - "r-base >=3.3,<3.4", - "r-ggplot2", - "r-igraph", - "r-reshape2", - "r-scales" - ] - }, - "bioconductor-fgsea-1.2.1-0.tar.bz2": { - "depends": [ - "bioconductor-biocparallel", - "r-base >=3.3,<3.4", - "r-data.table", - "r-fastmatch", - "r-ggplot2 >=2.2.0", - "r-gridextra", - "r-rcpp" - ] - }, - "bioconductor-flowai-1.4.4-0.tar.bz2": { - "depends": [ - "bioconductor-flowcore", - "r-base >=3.4,<3.5", - "r-changepoint", - "r-ggplot2", - "r-knitr", - "r-plyr", - "r-rcolorbrewer", - "r-reshape2", - "r-scales" - ] - }, - "bioconductor-flowcl-1.14.0-0.tar.bz2": { - "depends": [ - "bioconductor-graph", - "bioconductor-rgraphviz", - "r-base >=3.3,<3.4", - "r-sparql" - ] - }, - "bioconductor-genomeinfodbdata-0.99.0-1.tar.bz2": { - "depends": [ - "r-base >=3.3,<3.4", - "wget" - ] - }, - "bioconductor-genomicdatacommons-1.0.5-0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges", - "bioconductor-iranges", - "r-base >=3.4,<3.5", - "r-data.table", - "r-httr", - "r-jsonlite", - "r-lazyeval", - "r-magrittr", - "r-readr", - "r-xml2" - ] - }, - "bioconductor-genomicscores-1.0.2-0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub", - "bioconductor-biocgenerics >=0.13.8", - "bioconductor-bsgenome", - "bioconductor-genomeinfodb", - "bioconductor-genomicranges", - "bioconductor-iranges >=2.3.23", - "bioconductor-s4vectors >=0.7.21", - "r-base >=3.4,<3.5", - "r-xml" - ] - }, - "bioconductor-ggtree-1.8.2-0.tar.bz2": { - "depends": [ - "bioconductor-treeio", - "r-ape", - "r-base >=3.3,<3.4", - "r-ggplot2 >=2.2.0", - "r-magrittr", - "r-rvcheck", - "r-tidyr" - ] - }, - "bioconductor-gosemsim-2.2.0-0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi", - "bioconductor-go.db", - "r-base >=3.3,<3.4" - ] - }, - "bioconductor-gtrellis-1.11.1-0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges", - "bioconductor-iranges", - "r-base >=3.3,<3.4", - "r-circlize >=0.4.1", - "r-getoptlong >=0.1.6", - "r-gridbase" - ] - }, - "bioconductor-heatmaps-1.0.0-0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics", - "bioconductor-biostrings", - "bioconductor-ebimage", - "bioconductor-genomeinfodb", - "bioconductor-genomicranges", - "bioconductor-iranges", - "r-base >=3.4,<3.5", - "r-kernsmooth", - "r-matrix", - "r-plotrix", - "r-rcolorbrewer" - ] - }, - "bioconductor-hicrep-1.0.0-0.tar.bz2": { - "depends": [ - "r-base >=3.4,<3.5" - ] - }, - "bioconductor-hmmcopy-1.18.0-0.tar.bz2": { - "depends": [ - "bioconductor-geneplotter >=1.24.0", - "bioconductor-iranges >=1.4.16", - "r-base >=2.10,<2.11", - "readline 6.2*" - ] - }, - "bioconductor-ihw-1.4.0-0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics", - "bioconductor-lpsymphony", - "r-base >=3.3,<3.4", - "r-fdrtool", - "r-slam" - ] - }, - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19-0.6.0-1.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.19.15", - "r-base >=3.3,<3.4", - "wget" - ] - }, - "bioconductor-interest-1.2.2-1.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics", - "bioconductor-biocparallel", - "bioconductor-biostrings", - "bioconductor-deseq2", - "bioconductor-dexseq", - "bioconductor-edger", - "bioconductor-genomeinfodb", - "bioconductor-genomicalignments", - "bioconductor-genomicfeatures", - "bioconductor-genomicranges", - "bioconductor-iranges", - "bioconductor-rsamtools", - "bioconductor-s4vectors", - "bioconductor-seqlogo", - "bioconductor-summarizedexperiment", - "r-base >=3.4,<3.5", - "r-dbi", - "r-rmysql", - "r-seqinr" - ] - }, - "bioconductor-jaspar2016-1.4.0-0.tar.bz2": { - "depends": [ - "r-base >=3.2,<3.3", - "readline 6.2*", - "wget" - ] - }, - "bioconductor-jaspar2018-0.99.2-0.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.29.19", - "r-base >=3.4,<3.5", - "readline 6.2*", - "wget" - ] - }, - "bioconductor-jaspar2018-1.0.0-0.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.29.19", - "r-base >=3.4,<3.5", - "readline 6.2*", - "wget" - ] - }, - "bioconductor-m3drop-1.2.0-0.tar.bz2": { - "depends": [ - "r-base >=3.3,<3.4", - "r-bbmle", - "r-gplots", - "r-numderiv", - "r-rcolorbrewer", - "r-statmod" - ] - }, - "bioconductor-masigpro-1.50.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "r-base >=2.3,<2.4", - "r-mass", - "r-mclust", - "r-venn" - ] - }, - "bioconductor-mbttest-1.4.0-0.tar.bz2": { - "depends": [ - "r-base >=3.3,<3.4", - "r-gplots", - "r-gtools" - ] - }, - "bioconductor-methylkit-1.2.4-0.tar.bz2": { - "depends": [ - "bioconductor-fastseg", - "bioconductor-genomeinfodb", - "bioconductor-genomicranges >=1.18.1", - "bioconductor-iranges", - "bioconductor-limma", - "bioconductor-qvalue", - "bioconductor-rhtslib", - "bioconductor-rsamtools", - "bioconductor-rtracklayer", - "bioconductor-s4vectors >=0.13.13", - "r-base >=3.3,<3.4", - "r-data.table >=1.9.6", - "r-emdbook", - "r-gtools", - "r-kernsmooth", - "r-mclust", - "r-r.utils", - "r-rcpp" - ] - }, - "bioconductor-mgfr-1.2.0-0.tar.bz2": { - "depends": [ - "bioconductor-annotate", - "bioconductor-biomart", - "r-base >=3.3,<3.4" - ] - }, - "bioconductor-mirnatap-1.10.0-0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi", - "r-base >=3.3,<3.4", - "r-dbi", - "r-plyr", - "r-rsqlite", - "r-sqldf", - "r-stringr" - ] - }, - "bioconductor-mspurity-1.3.9-0.tar.bz2": { - "depends": [ - "bioconductor-mzr", - "r-base >=3.4,<3.5", - "r-dbi", - "r-dosnow", - "r-fastcluster", - "r-foreach", - "r-ggplot2", - "r-plyr", - "r-rcpp", - "r-reshape2", - "r-rsqlite", - "r-stringr" - ] - }, - "bioconductor-mspurity-1.5.4-0.tar.bz2": { - "depends": [ - "bioconductor-camera >=1.34.0", - "bioconductor-xcms >=3.0.0", - "r-base >=3.4,<3.5", - "r-dbi", - "r-dosnow", - "r-fastcluster", - "r-foreach", - "r-ggplot2", - "r-plyr", - "r-rcpp", - "r-reshape2", - "r-rsqlite", - "r-stringr" - ] - }, - "bioconductor-mspurity-1.5.4-1.tar.bz2": { - "depends": [ - "bioconductor-camera >=1.34.0", - "bioconductor-xcms >=3.0.0", - "libnetcdf 4.4.*", - "r-base >=3.4,<3.5", - "r-dbi", - "r-dosnow", - "r-fastcluster", - "r-foreach", - "r-ggplot2", - "r-plyr", - "r-rcpp", - "r-reshape2", - "r-rsqlite", - "r-stringr" - ] - }, - "bioconductor-multidataset-1.4.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "bioconductor-biocgenerics", - "bioconductor-genomicranges", - "bioconductor-iranges", - "bioconductor-s4vectors", - "bioconductor-summarizedexperiment", - "r-base >=3.3,<3.4" - ] - }, - "bioconductor-multiomicsviz-1.0.0-0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment", - "r-base >=3.3,<3.4", - "r-doparallel", - "r-foreach" - ] - }, - "bioconductor-mutationalpatterns-1.4.1-0.tar.bz2": { - "depends": [ - "bioconductor-biostrings", - "bioconductor-bsgenome", - "bioconductor-genomeinfodb >=1.12.0", - "bioconductor-genomicranges", - "bioconductor-iranges", - "bioconductor-summarizedexperiment", - "bioconductor-variantannotation", - "r-base >=3.4,<3.5", - "r-cowplot", - "r-ggdendro", - "r-ggplot2", - "r-gridextra", - "r-nmf", - "r-plyr", - "r-pracma", - "r-reshape2" - ] - }, - "bioconductor-oppar-1.4.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "bioconductor-gseabase", - "bioconductor-gsva", - "r-base >=3.3,<3.4" - ] - }, - "bioconductor-pcan-1.4.0-0.tar.bz2": { - "depends": [ - "bioconductor-biocparallel", - "r-base >=3.3,<3.4" - ] - }, - "bioconductor-peca-1.12.0-0.tar.bz2": { - "depends": [ - "bioconductor-affy", - "bioconductor-genefilter", - "bioconductor-limma", - "bioconductor-preprocesscore", - "bioconductor-rots", - "r-aroma.affymetrix", - "r-aroma.core", - "r-base >=3.3,<3.4" - ] - }, - "bioconductor-phosphonormalizer-1.2.0-0.tar.bz2": { - "depends": [ - "r-base >=3.4,<3.5", - "r-matrixstats", - "r-plyr" - ] - }, - "bioconductor-phyloseq-1.20.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "bioconductor-biocgenerics >=0.18.0", - "bioconductor-biomformat >=1.0.0", - "bioconductor-biostrings >=2.40.0", - "bioconductor-multtest >=2.28.0", - "r-ade4 >=1.7.4", - "r-ape >=3.4", - "r-base >=3.3,<3.4", - "r-cluster >=2.0.4", - "r-data.table >=1.9.6", - "r-foreach >=1.4.3", - "r-ggplot2 >=2.1.0", - "r-igraph >=1.0.1", - "r-plyr >=1.8.3", - "r-reshape2 >=1.4.1", - "r-scales >=0.4.0", - "r-vegan >=2.3.5" - ] - }, - "bioconductor-profia-1.2.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "bioconductor-biocparallel", - "bioconductor-ropls", - "bioconductor-xcms", - "r-base >=3.3,<3.4", - "r-fnn", - "r-maxlik", - "r-minpack.lm", - "r-pracma" - ] - }, - "bioconductor-purecn-1.6.3-0.tar.bz2": { - "depends": [ - "bioconductor-biostrings", - "bioconductor-dnacopy", - "bioconductor-edger", - "bioconductor-genomeinfodb", - "bioconductor-genomicranges >=1.20.3", - "bioconductor-iranges >=2.2.1", - "bioconductor-limma", - "bioconductor-rsamtools", - "bioconductor-rtracklayer", - "bioconductor-s4vectors", - "bioconductor-summarizedexperiment", - "bioconductor-variantannotation >=1.14.1", - "r-base >=3.3,<3.4", - "r-data.table", - "r-futile.logger", - "r-ggplot2", - "r-rcolorbrewer", - "r-vgam" - ] - }, - "bioconductor-rcas-1.2.0-0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi", - "bioconductor-biocgenerics", - "bioconductor-biomart", - "bioconductor-biostrings", - "bioconductor-bsgenome.hsapiens.ucsc.hg19", - "bioconductor-genomation >=1.5.5", - "bioconductor-genomeinfodb", - "bioconductor-genomicfeatures", - "bioconductor-genomicranges", - "bioconductor-motifrg", - "bioconductor-org.hs.eg.db", - "bioconductor-rtracklayer", - "bioconductor-s4vectors", - "bioconductor-topgo", - "r-base >=3.3,<3.4", - "r-data.table", - "r-dt >=0.2", - "r-knitr >=1.12.3", - "r-plotly >=4.5.2", - "r-plotrix", - "r-rmarkdown >=0.9.5" - ] - }, - "bioconductor-rgsepd-1.8.0-0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi", - "bioconductor-biomart", - "bioconductor-deseq2", - "bioconductor-go.db", - "bioconductor-goseq >=1.17", - "bioconductor-org.hs.eg.db", - "bioconductor-summarizedexperiment", - "r-base >=3.3,<3.4", - "r-gplots", - "r-hash" - ] - }, - "bioconductor-risa-1.18.0-0.tar.bz2": { - "depends": [ - "bioconductor-affy", - "bioconductor-biobase >=2.4.0", - "bioconductor-biocviews", - "bioconductor-xcms", - "r-base >=2.0,<2.1", - "r-rcpp >=0.9.13", - "readline 6.2" - ] - }, - "bioconductor-rots-1.4.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "r-base >=3.3,<3.4", - "r-rcpp" - ] - }, - "bioconductor-rtracklayer-1.36.6-0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.13.8", - "bioconductor-biostrings >=2.43.7", - "bioconductor-genomeinfodb >=1.3.14", - "bioconductor-genomicalignments >=1.5.4", - "bioconductor-genomicranges >=1.21.20", - "bioconductor-iranges >=2.3.7", - "bioconductor-rsamtools >=1.17.8", - "bioconductor-s4vectors >=0.13.13", - "bioconductor-xvector >=0.9.4", - "bioconductor-zlibbioc", - "r-base >=3.3,<3.4", - "r-rcurl >=1.4*", - "r-xml >=1.98*" - ] - }, - "bioconductor-scater-1.4.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "bioconductor-biocgenerics", - "bioconductor-biomart", - "bioconductor-edger", - "bioconductor-limma", - "bioconductor-rhdf5", - "bioconductor-tximport", - "r-base >=3.3,<3.4", - "r-data.table", - "r-dplyr", - "r-ggbeeswarm", - "r-ggplot2", - "r-matrix", - "r-matrixstats", - "r-plyr", - "r-reshape2", - "r-rjson", - "r-shiny", - "r-shinydashboard", - "r-viridis" - ] - }, - "bioconductor-scran-1.4.5-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "bioconductor-biocparallel", - "bioconductor-edger", - "bioconductor-limma", - "bioconductor-scater", - "r-base >=3.4,<3.5", - "r-dt", - "r-dynamictreecut", - "r-fnn", - "r-ggplot2", - "r-igraph", - "r-mass", - "r-matrix", - "r-shiny", - "r-statmod", - "r-viridis", - "r-zoo" - ] - }, - "bioconductor-sights-1.2.0-0.tar.bz2": { - "depends": [ - "bioconductor-qvalue >=2.2", - "r-base >=3.3,<3.4", - "r-ggplot2 >=2.0", - "r-lattice >=0.2", - "r-mass >=7.3", - "r-reshape2 >=1.4" - ] - }, - "bioconductor-splinter-1.2.0-0.tar.bz2": { - "depends": [ - "bioconductor-biomart", - "bioconductor-biostrings", - "bioconductor-bsgenome.mmusculus.ucsc.mm9", - "bioconductor-genomeinfodb", - "bioconductor-genomicalignments", - "bioconductor-genomicfeatures", - "bioconductor-genomicranges", - "bioconductor-gviz", - "bioconductor-iranges", - "bioconductor-s4vectors", - "bioconductor-seqlogo", - "r-base >=3.3,<3.4", - "r-ggplot2", - "r-plyr" - ] - }, - "bioconductor-sscu-2.6.0-0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.16.1", - "bioconductor-biostrings >=2.36.4", - "r-base >=3.3,<3.4", - "r-seqinr >=3.1-3" - ] - }, - "bioconductor-stringdb-1.16.0-0.tar.bz2": { - "depends": [ - "r-base >=2.14,<2.15", - "r-gplots", - "r-hash", - "r-igraph", - "r-plotrix", - "r-plyr", - "r-png", - "r-rcolorbrewer", - "r-rcurl", - "r-sqldf" - ] - }, - "bioconductor-suprahex-1.14.0-0.tar.bz2": { - "depends": [ - "r-ape", - "r-base >=3.3,<3.4", - "r-hexbin", - "r-mass" - ] - }, - "bioconductor-treeio-1.0.2-0.tar.bz2": { - "depends": [ - "r-ape", - "r-base >=3.3,<3.4", - "r-ggplot2", - "r-jsonlite", - "r-magrittr", - "r-rvcheck" - ] - }, - "bioconductor-yeastexpdata-0.22.0-0.tar.bz2": { - "depends": [ - "bioconductor-graph >=1.9.26", - "r-base >=2.4,<2.5", - "readline 6.2*", - "wget" - ] - }, - "blobtools-1.0.1-py27_0.tar.bz2": { - "depends": [ - "curl", - "docopt", - "matplotlib", - "openssl >=1.1.0,<=1.1.1", - "python 2.7*", - "samtools", - "ujson" - ] - }, - "blobtools-1.0.1-py27_1.tar.bz2": { - "depends": [ - "curl", - "docopt ==0.6.2", - "matplotlib ==2.0.2", - "openssl >=1.1.0,<=1.1.1", - "python 2.7*", - "samtools ==1.5", - "ujson ==1.35" - ] - }, - "blobtools-1.0.1-py27_2.tar.bz2": { - "depends": [ - "curl", - "docopt", - "matplotlib", - "openssl >=1.1.0,<=1.1.1", - "python 2.7*", - "samtools", - "ujson" - ] - }, - "bolt-0.2.2-h3889886_0.tar.bz2": { - "depends": [ - "htslib >=1.9,<1.10.0a0", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bolt-0.2.3-h3889886_0.tar.bz2": { - "depends": [ - "htslib >=1.9,<1.10.0a0", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bolt-0.3.0-h3889886_0.tar.bz2": { - "depends": [ - "htslib >=1.9,<1.10.0a0", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bolt-0.3.0-h8e334b0_1.tar.bz2": { - "depends": [ - "htslib >=1.10.2,<1.11.0a0", - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "tbb >=2020.1,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie-1.1.1-py27h2d50403_0.tar.bz2": { - "depends": [ - "libstdcxx-ng >=4.9", - "perl", - "python >=2.7,<2.8.0a0", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.1.1-py35h2d50403_0.tar.bz2": { - "depends": [ - "libstdcxx-ng >=4.9", - "perl", - "python >=3.5,<3.6.0a0", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.1.1-py36h2d50403_0.tar.bz2": { - "depends": [ - "libstdcxx-ng >=4.9", - "perl", - "python >=3.6,<3.7.0a0", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.0-py27_0.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "python 2.7*", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.0-py34_0.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "python 3.4*", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.0-py35_0.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "python 3.5*", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.0-py36_0.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "python 3.6*", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.1.1-py27pl5.22.0_0.tar.bz2": { - "depends": [ - "libgcc", - "perl 5.22.0*", - "python 2.7*", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.1.1-py35pl5.22.0_0.tar.bz2": { - "depends": [ - "libgcc", - "perl 5.22.0*", - "python 3.5*", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.1.1-py36pl5.22.0_0.tar.bz2": { - "depends": [ - "libgcc", - "perl 5.22.0*", - "python 3.6*", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.2-py27h2d50403_1.tar.bz2": { - "depends": [ - "libstdcxx-ng >=4.9", - "perl", - "python >=2.7,<2.8.0a0", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.2-py27pl5.22.0_0.tar.bz2": { - "depends": [ - "libgcc", - "perl 5.22.0*", - "python 2.7*", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.2-py35h2d50403_1.tar.bz2": { - "depends": [ - "libstdcxx-ng >=4.9", - "perl", - "python >=3.5,<3.6.0a0", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.2-py35pl5.22.0_0.tar.bz2": { - "depends": [ - "libgcc", - "perl 5.22.0*", - "python 3.5*", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.2-py36h2d50403_1.tar.bz2": { - "depends": [ - "libstdcxx-ng >=4.9", - "perl", - "python >=3.6,<3.7.0a0", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.2-py36pl5.22.0_0.tar.bz2": { - "depends": [ - "libgcc", - "perl 5.22.0*", - "python 3.6*", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.3-py27h2bce143_2.tar.bz2": { - "depends": [ - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "perl", - "python >=2.7,<2.8.0a0", - "python_abi 2.7.* *_cp27mu", - "tbb >=2020.1,<2021.0.0a0" - ] - }, - "bowtie-1.2.3-py27hc9558a2_0.tar.bz2": { - "depends": [ - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "perl", - "python >=2.7,<2.8.0a0", - "tbb >=2019.8,<2021.0.0a0" - ] - }, - "bowtie-1.2.3-py36hc9558a2_0.tar.bz2": { - "depends": [ - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "perl", - "python >=3.6,<3.7.0a0", - "tbb >=2019.8,<2021.0.0a0" - ] - }, - "bowtie-1.2.3-py36hdb11119_1.tar.bz2": { - "depends": [ - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "perl", - "python >=3.6,<3.7.0a0", - "python_abi 3.6.* *_cp36m", - "tbb >=2020.1,<2021.0.0a0" - ] - }, - "bowtie-1.2.3-py36hf1ae8f4_2.tar.bz2": { - "depends": [ - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "perl", - "python >=3.6,<3.7.0a0", - "python_abi 3.6.* *_cp36m", - "tbb >=2020.1,<2021.0.0a0" - ] - }, - "bowtie-1.2.3-py37h99015e2_1.tar.bz2": { - "depends": [ - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "perl", - "python >=3.7,<3.8.0a0", - "python_abi 3.7.* *_cp37m", - "tbb >=2020.1,<2021.0.0a0" - ] - }, - "bowtie-1.2.3-py37h9a982cc_2.tar.bz2": { - "depends": [ - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "perl", - "python >=3.7,<3.8.0a0", - "python_abi 3.7.* *_cp37m", - "tbb >=2020.1,<2021.0.0a0" - ] - }, - "bowtie-1.2.3-py37hc9558a2_0.tar.bz2": { - "depends": [ - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "perl", - "python >=3.7,<3.8.0a0", - "tbb >=2019.8,<2021.0.0a0" - ] - }, - "bowtie-1.3.0-py36hf1ae8f4_1.tar.bz2": { - "depends": [ - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "perl", - "python >=3.6,<3.7.0a0", - "python_abi 3.6.* *_cp36m", - "tbb >=2020.1,<2021.0.0a0" - ] - }, - "bowtie-1.3.0-py37h9a982cc_1.tar.bz2": { - "depends": [ - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "perl", - "python >=3.7,<3.8.0a0", - "python_abi 3.7.* *_cp37m", - "tbb >=2020.1,<2021.0.0a0" - ] - }, - "bowtie-1.3.0-py38hc9558a2_0.tar.bz2": { - "depends": [ - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "perl", - "python >=3.8,<3.9.0a0", - "python_abi 3.8.* *_cp38", - "tbb >=2020.1,<2021.0.0a0" - ] - }, - "bowtie-1.3.0-py38hed8969a_1.tar.bz2": { - "depends": [ - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "perl", - "python >=3.8,<3.9.0a0", - "python_abi 3.8.* *_cp38", - "tbb >=2020.1,<2021.0.0a0" - ] - }, - "bowtie2-2.3.0-py27_0.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "python 2.7*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.0-py27_1.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "python 2.7*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.0-py34_0.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "python 3.4*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.0-py34_1.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "python 3.4*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.0-py35_0.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "python 3.5*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.0-py35_1.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "python 3.5*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.0-py36_1.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "python 3.6*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.2-py27pl5.22.0_1.tar.bz2": { - "depends": [ - "libgcc", - "perl 5.22.0*", - "python 2.7*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.2-py35pl5.22.0_1.tar.bz2": { - "depends": [ - "libgcc", - "perl 5.22.0*", - "python 3.5*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.2-py36pl5.22.0_1.tar.bz2": { - "depends": [ - "libgcc", - "perl 5.22.0*", - "python 3.6*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.3.1-py27pl5.22.0_0.tar.bz2": { - "depends": [ - "libgcc", - "perl 5.22.0*", - "python 2.7*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.3.1-py35pl5.22.0_0.tar.bz2": { - "depends": [ - "libgcc", - "perl 5.22.0*", - "python 3.5*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.3.1-py36pl5.22.0_0.tar.bz2": { - "depends": [ - "libgcc", - "perl 5.22.0*", - "python 3.6*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.4-py27pl5.22.0_0.tar.bz2": { - "depends": [ - "libgcc", - "perl 5.22.0*", - "python 2.7*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.4-py35pl5.22.0_0.tar.bz2": { - "depends": [ - "libgcc", - "perl 5.22.0*", - "python 3.5*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.4-py36pl5.22.0_0.tar.bz2": { - "depends": [ - "libgcc", - "perl 5.22.0*", - "python 3.6*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.4.1-py27h2d50403_1.tar.bz2": { - "depends": [ - "libstdcxx-ng >=4.9", - "perl", - "python >=2.7,<2.8.0a0", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.4.1-py27pl5.22.0_0.tar.bz2": { - "depends": [ - "libgcc", - "perl 5.22.0*", - "python 2.7*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.4.1-py35h2d50403_1.tar.bz2": { - "depends": [ - "libstdcxx-ng >=4.9", - "perl", - "python >=3.5,<3.6.0a0", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.4.1-py35pl5.22.0_0.tar.bz2": { - "depends": [ - "libgcc", - "perl 5.22.0*", - "python 3.5*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.4.1-py36h2d50403_1.tar.bz2": { - "depends": [ - "libstdcxx-ng >=4.9", - "perl", - "python >=3.6,<3.7.0a0", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.4.1-py36pl5.22.0_0.tar.bz2": { - "depends": [ - "libgcc", - "perl 5.22.0*", - "python 3.6*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.4.3-py27he860b03_1.tar.bz2": { - "depends": [ - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "perl", - "python >=2.7,<2.8.0a0", - "tbb >=2019.3,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.3.4.3-py36he860b03_1.tar.bz2": { - "depends": [ - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "perl", - "python >=3.6,<3.7.0a0", - "tbb >=2019.3,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.3.4.3-py37he860b03_1.tar.bz2": { - "depends": [ - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "perl", - "python >=3.7,<3.8.0a0", - "tbb >=2019.3,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.3.5-py27he860b03_0.tar.bz2": { - "depends": [ - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "perl", - "python >=2.7,<2.8.0a0", - "tbb >=2019.5,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.3.5-py36he860b03_0.tar.bz2": { - "depends": [ - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "perl", - "python >=3.6,<3.7.0a0", - "tbb >=2019.5,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.3.5-py37he860b03_0.tar.bz2": { - "depends": [ - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "perl", - "python >=3.7,<3.8.0a0", - "tbb >=2019.5,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.3.5.1-py27he513fc3_0.tar.bz2": { - "depends": [ - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "perl", - "python >=2.7,<2.8.0a0", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.3.5.1-py36he513fc3_0.tar.bz2": { - "depends": [ - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "perl", - "python >=3.6,<3.7.0a0", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.3.5.1-py37he513fc3_0.tar.bz2": { - "depends": [ - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "perl", - "python >=3.7,<3.8.0a0", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.1-py36h5202f60_3.tar.bz2": { - "depends": [ - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "perl", - "python >=3.6,<3.7.0a0", - "python_abi 3.6.* *_cp36m", - "tbb >=2020.1,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.1-py36h7f0b59b_1.tar.bz2": { - "depends": [ - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "perl", - "python >=3.6,<3.7.0a0", - "python_abi 3.6.* *_cp36m", - "tbb >=2020.1,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.1-py36h7f0b59b_2.tar.bz2": { - "depends": [ - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "perl", - "python >=3.6,<3.7.0a0", - "python_abi 3.6.* *_cp36m", - "tbb >=2020.1,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.1-py37h4ef193e_1.tar.bz2": { - "depends": [ - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "perl", - "python >=3.7,<3.8.0a0", - "python_abi 3.7.* *_cp37m", - "tbb >=2020.1,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.1-py37h4ef193e_2.tar.bz2": { - "depends": [ - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "perl", - "python >=3.7,<3.8.0a0", - "python_abi 3.7.* *_cp37m", - "tbb >=2020.1,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.1-py37h8270d21_3.tar.bz2": { - "depends": [ - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "perl", - "python >=3.7,<3.8.0a0", - "python_abi 3.7.* *_cp37m", - "tbb >=2020.1,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.1-py38h1c8e9b9_3.tar.bz2": { - "depends": [ - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "perl", - "python >=3.8,<3.9.0a0", - "python_abi 3.8.* *_cp38", - "tbb >=2020.1,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.1-py38he513fc3_0.tar.bz2": { - "depends": [ - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "perl", - "python >=3.8,<3.9.0a0", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.2-py36h5202f60_0.tar.bz2": { - "depends": [ - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "perl", - "python >=3.6,<3.7.0a0", - "python_abi 3.6.* *_cp36m", - "tbb >=2020.2,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.2-py36h5202f60_1.tar.bz2": { - "depends": [ - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "perl", - "python >=3.6,<3.7.0a0", - "python_abi 3.6.* *_cp36m", - "tbb >=2020.2,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.2-py37h8270d21_0.tar.bz2": { - "depends": [ - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "perl", - "python >=3.7,<3.8.0a0", - "python_abi 3.7.* *_cp37m", - "tbb >=2020.2,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.2-py37h8270d21_1.tar.bz2": { - "depends": [ - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "perl", - "python >=3.7,<3.8.0a0", - "python_abi 3.7.* *_cp37m", - "tbb >=2020.2,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.2-py38h1c8e9b9_0.tar.bz2": { - "depends": [ - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "perl", - "python >=3.8,<3.9.0a0", - "python_abi 3.8.* *_cp38", - "tbb >=2020.2,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.2-py38h1c8e9b9_1.tar.bz2": { - "depends": [ - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "perl", - "python >=3.8,<3.9.0a0", - "python_abi 3.8.* *_cp38", - "tbb >=2020.2,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "cactus-0.0.2019.03.01-py27h139dc3e_5.tar.bz2": { - "depends": [ - "biopython", - "decorator", - "hdf5 >=1.12.1,<1.12.2.0a0", - "jobtree", - "kyototycoon", - "libgcc-ng >=12", - "libstdcxx-ng >=12", - "libzlib >=1.2.12,<1.3.0a0", - "networkx >=2,<3", - "openssl >=1.1.0,<=1.1.1", - "psutil", - "python >=2.7,<2.8.0a0", - "python_abi 2.7.* *_cp27mu", - "sonlib", - "subprocess32", - "toil 3.14.0.*", - "ucsc-bedsort", - "ucsc-bedtobigbed", - "ucsc-bigbedtobed", - "ucsc-fatotwobit", - "zlib >=1.2.12,<1.3.0a0" - ] - }, - "cactus-0.0.2019.03.01-py27hbd95d99_4.tar.bz2": { - "depends": [ - "biopython", - "decorator", - "hdf5 >=1.10.6,<1.10.7.0a0", - "jobtree", - "kyototycoon", - "libgcc-ng >=10.3.0", - "libstdcxx-ng >=10.3.0", - "libzlib >=1.2.11,<1.3.0a0", - "networkx >=2,<3", - "openssl >=1.1.0,<=1.1.1", - "psutil", - "python >=2.7,<2.8.0a0", - "python_abi 2.7.* *_cp27mu", - "sonlib", - "subprocess32", - "toil 3.14.0.*", - "ucsc-bedsort", - "ucsc-bedtobigbed", - "ucsc-bigbedtobed", - "ucsc-fatotwobit", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "dcmtk-3.6.1-2.tar.bz2": { - "depends": [ - "jpeg", - "libgcc", - "libpng", - "libtiff", - "libxml2", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "dcmtk-3.6.1-3.tar.bz2": { - "depends": [ - "jpeg", - "libgcc", - "libpng", - "libtiff", - "libxml2", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "dcmtk-3.6.1-4.tar.bz2": { - "depends": [ - "jpeg", - "libgcc", - "libpng", - "libtiff", - "libxml2", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "flexbar-2.5.0-0.tar.bz2": { - "depends": [ - "bzip2", - "libgcc", - "seqan-library ==1.4.2", - "tbb <2021.0.0a0", - "zlib 1.2.8*" - ] - }, - "flexbar-2.5.0-1.tar.bz2": { - "depends": [ - "bzip2 1.0*", - "libgcc", - "seqan-library ==1.4.2", - "tbb <2021.0.0a0", - "zlib 1.2.11*" - ] - }, - "flexbar-2.5.0-h21aa3a5_2.tar.bz2": { - "depends": [ - "bzip2 >=1.0.6,<2.0a0", - "libstdcxx-ng >=4.9", - "seqan-library 1.4.2", - "tbb <2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "flexbar-2.5.0-hb7ba0dd_3.tar.bz2": { - "depends": [ - "bzip2 >=1.0.8,<2.0a0", - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "seqan-library 1.4.2", - "tbb >=2020.1,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "flexbar-3.3.0-1.tar.bz2": { - "depends": [ - "bzip2 1.0*", - "libcxx", - "libgcc", - "seqan-library ==2.4.0", - "tbb <2021.0.0a0", - "zlib 1.2.11*" - ] - }, - "flexbar-3.5.0-hb7ba0dd_3.tar.bz2": { - "depends": [ - "bzip2 >=1.0.8,<2.0a0", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "seqan-library", - "tbb >=2019.7,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "flexbar-3.5.0-hf3e9acd_2.tar.bz2": { - "depends": [ - "bzip2 >=1.0.6,<2.0a0", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "seqan-library", - "tbb >=2019.7,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "gnu-wget-1.18-0.tar.bz2": { - "depends": [ - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "gnu-wget-1.18-1.tar.bz2": { - "depends": [ - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "gnu-wget-1.18-2.tar.bz2": { - "depends": [ - "libgcc", - "openssl >=1.1.0,<=1.1.1", - "pcre", - "zlib" - ] - }, - "gnu-wget-1.18-3.tar.bz2": { - "depends": [ - "libgcc", - "openssl >=1.1.0,<=1.1.1", - "pcre", - "zlib 1.2.11*" - ] - }, - "htslib-1.3-1.tar.bz2": { - "depends": [ - "curl", - "openssl >=1.1.0,<=1.1.1" - ] - }, - "htslib-1.3.1-0.tar.bz2": { - "depends": [ - "curl", - "openssl >=1.1.0,<=1.1.1" - ] - }, - "htslib-1.3.1-1.tar.bz2": { - "depends": [ - "curl", - "openssl >=1.1.0,<=1.1.1" - ] - }, - "htslib-1.3.2-0.tar.bz2": { - "depends": [ - "curl", - "openssl >=1.1.0,<=1.1.1" - ] - }, - "htslib-1.4-0.tar.bz2": { - "depends": [ - "bzip2", - "curl", - "xz", - "openssl >=1.1.0,<=1.1.1" - ] - }, - "htslib-1.4.1-0.tar.bz2": { - "depends": [ - "bzip2", - "curl", - "xz", - "openssl >=1.1.0,<=1.1.1" - ] - }, - "htslib-1.5-0.tar.bz2": { - "depends": [ - "bzip2", - "curl", - "xz", - "openssl >=1.1.0,<=1.1.1" - ] - }, - "htslib-1.6-0.tar.bz2": { - "depends": [ - "bzip2 1.0*", - "curl", - "xz", - "openssl >=1.1.0,<=1.1.1" - ] - }, - "htslib-1.7-0.tar.bz2": { - "depends": [ - "bzip2 1.0*", - "curl", - "libgcc", - "xz 5.2*", - "openssl >=1.1.0,<=1.1.1" - ] - }, - "htslib-1.8-0.tar.bz2": { - "depends": [ - "bzip2 1.0*", - "curl", - "libgcc", - "xz 5.2*", - "openssl >=1.1.0,<=1.1.1" - ] - }, - "htslib-1.8-1.tar.bz2": { - "depends": [ - "bzip2 1.0*", - "curl", - "libdeflate", - "libgcc", - "xz 5.2*", - "openssl >=1.1.0,<=1.1.1" - ] - }, - "libsequence-1.8.4-h099358a_1.tar.bz2": { - "depends": [ - "htslib", - "libgcc-ng >=4.9", - "tbb <2021.0.0a0", - "zlib" - ] - }, - "libsequence-1.8.4-h8e334b0_3.tar.bz2": { - "depends": [ - "htslib >=1.10.2,<1.11.0a0", - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "tbb <2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "libsequence-1.8.4-hf50d5a6_2.tar.bz2": { - "depends": [ - "htslib", - "libgcc-ng >=4.9", - "tbb <2021.0.0a0", - "zlib" - ] - }, - "libsequence-1.8.4-htslib1.6_0.tar.bz2": { - "depends": [ - "htslib 1.6*", - "libgcc", - "tbb <2021.0.0a0", - "zlib 1.2.8*" - ] - }, - "libsequence-1.8.4-htslib1.7_0.tar.bz2": { - "depends": [ - "htslib 1.7*", - "libgcc", - "tbb <2021.0.0a0", - "zlib 1.2.11*" - ] - }, - "libsequence-1.9.0-0.tar.bz2": { - "depends": [ - "htslib", - "libgcc", - "tbb <2021.0.0a0", - "zlib" - ] - }, - "libsequence-1.9.0-1.tar.bz2": { - "depends": [ - "htslib 1.4*", - "libgcc", - "tbb <2021.0.0a0", - "zlib" - ] - }, - "libsequence-1.9.1-1.tar.bz2": { - "depends": [ - "htslib 1.4*", - "libgcc", - "tbb <2021.0.0a0", - "zlib" - ] - }, - "libsequence-1.9.1-htslib1.5_1.tar.bz2": { - "depends": [ - "htslib 1.5*", - "libgcc", - "tbb <2021.0.0a0", - "zlib" - ] - }, - "libsequence-1.9.2-h099358a_2.tar.bz2": { - "depends": [ - "htslib >=1.7,<1.8.0a0", - "libgcc-ng >=4.9", - "tbb <2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "libsequence-1.9.2-htslib1.5_0.tar.bz2": { - "depends": [ - "htslib 1.5*", - "libgcc", - "tbb <2021.0.0a0", - "zlib 1.2.8*" - ] - }, - "libsequence-1.9.2-htslib1.6_0.tar.bz2": { - "depends": [ - "htslib 1.6*", - "libgcc", - "tbb <2021.0.0a0", - "zlib 1.2.8*" - ] - }, - "libsequence-1.9.2-htslib1.7_1.tar.bz2": { - "depends": [ - "htslib 1.7*", - "libgcc", - "tbb <2021.0.0a0", - "zlib 1.2.11*" - ] - }, - "libsequence-1.9.3-he941832_0.tar.bz2": { - "depends": [ - "libstdcxx-ng >=4.9", - "tbb <2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "mmult-0.0.0.2-r40h8b68381_0.tar.bz2": { - "depends": [ - "boost-cpp >=1.70.0,<1.70.1.0a0", - "eigen", - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "r-base >=4.0,<4.1.0a0", - "r-ggplot2", - "r-gridextra", - "rapidjson", - "sundials >=5.3.0,<5.4.0a0", - "tbb >=2020.2,<2021.0.0a0", - "tbb-devel" - ] - }, - "nanoqc-0.6.0-py35_0.tar.bz2": { - "depends": [ - "biopython", - "bokeh >=2.4,<3", - "numpy", - "python 3.5*" - ] - }, - "nanoqc-0.6.0-py36_0.tar.bz2": { - "depends": [ - "biopython", - "bokeh >=2.4,<3", - "numpy", - "python 3.6*" - ] - }, - "nanoqc-0.7.0-py35_0.tar.bz2": { - "depends": [ - "biopython", - "bokeh >=2.4,<3", - "numpy", - "python 3.5*" - ] - }, - "nanoqc-0.7.0-py35h24bf2e0_1.tar.bz2": { - "depends": [ - "biopython", - "bokeh >=2.4,<3", - "numpy", - "python >=3.5,<3.6.0a0" - ] - }, - "nanoqc-0.7.0-py36_0.tar.bz2": { - "depends": [ - "biopython", - "bokeh >=2.4,<3", - "numpy", - "python 3.6*" - ] - }, - "nanoqc-0.7.0-py36h24bf2e0_1.tar.bz2": { - "depends": [ - "biopython", - "bokeh >=2.4,<3", - "numpy", - "python >=3.6,<3.7.0a0" - ] - }, - "nanoqc-0.8.1-py35h24bf2e0_1.tar.bz2": { - "depends": [ - "biopython", - "bokeh >=2.4,<3", - "numpy", - "python >=3.5,<3.6.0a0" - ] - }, - "nanoqc-0.8.1-py36h24bf2e0_1.tar.bz2": { - "depends": [ - "biopython", - "bokeh >=2.4,<3", - "numpy", - "python >=3.6,<3.7.0a0" - ] - }, - "perl-aceperl-1.92-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-algorithm-dependency-1.110-0.tar.bz2": { - "depends": [ - "perl-params-util", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-algorithm-diff-1.1903-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-algorithm-munkres-0.08-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-apache-test-1.40-0.tar.bz2": { - "depends": [ - "perl-pathtools", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-app-cpanminus-1.7039-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-app-cpanminus-1.7039-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-appconfig-1.71-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-archive-extract-0.76-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-archive-extract-0.76-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-archive-extract-0.76-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-archive-tar-2.18-1.tar.bz2": { - "depends": [ - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-archive-zip-1.55-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-archive-zip-1.55-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-archive-zip-1.55-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-array-compare-2.11-0.tar.bz2": { - "depends": [ - "perl-moo", - "perl-threaded", - "perl-type-tiny", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-array-utils-0.5-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-authen-sasl-saslprep-1.011-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-unicode-stringprep", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-authen-sasl-saslprep-1.011-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-unicode-stringprep", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bio-asn1-entrezgene-1.70-0.tar.bz2": { - "depends": [ - "perl-bioperl-core", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bio-asn1-entrezgene-1.72-1.tar.bz2": { - "depends": [ - "perl-bioperl-core", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bio-db-hts-2.4-0.tar.bz2": { - "depends": [ - "htslib", - "libgcc", - "perl-bioperl", - "perl-threaded", - "zlib", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bio-db-sam-1.41-1.tar.bz2": { - "depends": [ - "perl-bioperl", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bio-db-sam-1.41-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-bioperl", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bio-featureio-1.6.905-0.tar.bz2": { - "depends": [ - "perl-bioperl-core", - "perl-threaded", - "perl-tree-dag_node", - "perl-uri", - "perl-xml-dom", - "perl-xml-dom-xpath", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bio-gff3-2.0-0.tar.bz2": { - "depends": [ - "perl-extutils-makemaker", - "perl-file-readbackwards", - "perl-io-string", - "perl-list-moreutils", - "perl-pathtools", - "perl-scalar-list-utils", - "perl-test-simple", - "perl-threaded", - "perl-uri", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bio-phylo-0.58-0.tar.bz2": { - "depends": [ - "perl-gd", - "perl-html-treebuilder-xpath", - "perl-json", - "perl-math-cdf", - "perl-math-random", - "perl-pdf-api2", - "perl-svg", - "perl-template-toolkit", - "perl-threaded", - "perl-xml-libxml", - "perl-xml-twig", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bio-samtools-1.43-0.tar.bz2": { - "depends": [ - "perl-bioperl-core", - "perl-threaded", - "zlib", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bio-viennangs-v0.16-0.tar.bz2": { - "depends": [ - "bedtools >=2.24", - "libgcc", - "perl-bio-db-sam", - "perl-statistics-r", - "perl-threaded", - "r-ggplot2 >=2.0.0", - "ucsc-bedgraphtobigwig", - "ucsc-fetchchromsizes", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bioperl-1.6.924-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bioperl-1.6.924-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bioperl-1.6.924-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl-yaml", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bioperl-1.6.924-4.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl-yaml", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bioperl-1.6.924-6.tar.bz2": { - "depends": [ - "perl-bio-asn1-entrezgene", - "perl-bio-featureio", - "perl-bio-samtools", - "perl-bioperl-core", - "perl-bioperl-run", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bioperl-core-1.6.924-1.tar.bz2": { - "depends": [ - "perl-aceperl", - "perl-algorithm-munkres", - "perl-array-compare", - "perl-bio-phylo", - "perl-clone", - "perl-convert-binary-c", - "perl-data-stag", - "perl-dbd-sqlite", - "perl-dbi", - "perl-error", - "perl-gd", - "perl-graphviz", - "perl-html-tableextract", - "perl-io-string", - "perl-io-stringy", - "perl-list-moreutils", - "perl-postscript", - "perl-set-scalar", - "perl-soap-lite", - "perl-sort-naturally", - "perl-spreadsheet-parseexcel", - "perl-svg", - "perl-svg-graph", - "perl-threaded", - "perl-xml-dom", - "perl-xml-dom-xpath", - "perl-xml-sax-writer", - "perl-xml-simple", - "perl-xml-twig", - "perl-xml-writer", - "perl-yaml", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bioperl-run-1.006900-1.tar.bz2": { - "depends": [ - "perl-bio-samtools", - "perl-bioperl-core", - "perl-file-sort", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bioperl-run-1.006900-2.tar.bz2": { - "depends": [ - "perl-bio-samtools", - "perl-bioperl-core", - "perl-file-sort", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-biox-workflow-0.27-1.tar.bz2": { - "depends": [ - "perl-termreadkey", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-biox-workflow-1.10-0.tar.bz2": { - "depends": [ - "perl-app-cpanminus", - "perl-file-find-rule", - "perl-file-slurp", - "perl-moose", - "perl-moosex-fileattribute", - "perl-moosex-types-path-class", - "perl-path-tiny", - "perl-pathtools", - "perl-termreadkey", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-biox-workflow-1.10-1.tar.bz2": { - "depends": [ - "perl-app-cpanminus", - "perl-config-any", - "perl-file-find-rule", - "perl-file-slurp", - "perl-moose", - "perl-moosex-fileattribute", - "perl-moosex-getopt", - "perl-moosex-types-path-class", - "perl-path-tiny", - "perl-pathtools", - "perl-termreadkey", - "perl-threaded", - "perl-yaml", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-biox-workflow-plugin-filedetails-0.11-0.tar.bz2": { - "depends": [ - "perl-biox-workflow", - "perl-file-find-rule", - "perl-moose", - "perl-pathtools", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-biox-workflow-plugin-fileexists-0.13-1.tar.bz2": { - "depends": [ - "perl-biox-workflow", - "perl-moose", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bit-vector-7.4-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bloom-faster-1.7-0.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-btlib-0.19-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-canary-stability-2006-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-capture-tiny-0.34-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-capture-tiny-0.34-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-capture-tiny-0.36-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-cgi-4.22-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-cgi-4.22-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-cgi-4.22-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-class-accessor-0.34-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-class-data-inheritable-0.08-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-class-inspector-1.28-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-class-method-modifiers-2.11-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-class-method-modifiers-2.11-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-class-std-0.013-0.tar.bz2": { - "depends": [ - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-class-std-fast-0.0.8-0.tar.bz2": { - "depends": [ - "perl-class-std", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-clone-0.38-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-common-sense-3.74-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-compress-raw-bzip2-2.069-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-compress-raw-zlib-2.069-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-compress-raw-zlib-2.069-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-compress-raw-zlib-2.069-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-config-any-0.27-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-config-autoconf-0.311-0.tar.bz2": { - "depends": [ - "perl-capture-tiny", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-config-autoconf-0.311-1.tar.bz2": { - "depends": [ - "perl-capture-tiny", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-config-general-2.61-0.tar.bz2": { - "depends": [ - "perl-pathtools", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-config-tiny-2.23-0.tar.bz2": { - "depends": [ - "perl-pathtools", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-convert-binary-c-0.78-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-convert-binhex-1.125-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-cpan-meta-2.120921-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-cpan-meta-check-0.012-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-crypt-openssl-random-0.11-pl5.22.0_0.tar.bz2": { - "depends": [ - "openssl >=1.1.0,<=1.1.1", - "perl 5.22.0*" - ] - }, - "perl-crypt-rc4-2.02-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-data-optlist-0.110-0.tar.bz2": { - "depends": [ - "perl-apache-test", - "perl-params-util", - "perl-scalar-list-utils", - "perl-sub-install", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-data-stag-0.14-0.tar.bz2": { - "depends": [ - "perl-graph", - "perl-io-string", - "perl-json", - "perl-libxml-perl", - "perl-mldbm", - "perl-threaded", - "perl-xml-libxml", - "perl-xml-libxslt", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-data-uuid-1.221-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-data-uuid-1.221-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-data-uuid-1.221-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-date-manip-6.57-0.tar.bz2": { - "depends": [ - "perl-encode-locale", - "perl-io-all", - "perl-pathtools", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-db-file-1.835-4.tar.bz2": { - "depends": [ - "libdb", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-db-file-1.835-5.tar.bz2": { - "depends": [ - "libdb", - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-dbd-mysql-4.033-1.tar.bz2": { - "depends": [ - "mysqlclient", - "perl-dbi", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-dbd-mysql-4.033-2.tar.bz2": { - "depends": [ - "libgcc", - "mysqlclient", - "perl-dbi", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-dbd-pg-3.5.3-0.tar.bz2": { - "depends": [ - "perl-dbi", - "perl-threaded", - "postgresql", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-dbd-sqlite-1.50-1.tar.bz2": { - "depends": [ - "perl-dbi", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-dbi-1.634-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-dbi-1.634-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-dbi-1.636-0.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-dbm-deep-2.0013-0.tar.bz2": { - "depends": [ - "perl-dbi", - "perl-digest-md5", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-devel-checkbin-0.04-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-devel-globaldestruction-0.13-0.tar.bz2": { - "depends": [ - "perl-sub-exporter-progressive", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-devel-globaldestruction-0.13-1.tar.bz2": { - "depends": [ - "perl-sub-exporter-progressive", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-devel-size-0.80-0.tar.bz2": { - "depends": [ - "perl-test-simple", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-devel-stacktrace-2.00-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-digest-crc32-0.01-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-digest-hmac-1.03-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-digest-md5-2.52-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-digest-perl-md5-1.9-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-dist-checkconflicts-0.11-0.tar.bz2": { - "depends": [ - "perl-module-runtime", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-email-date-format-1.005-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-env-path-0.19-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-error-0.17024-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-estscan1-1.3-0.tar.bz2": { - "depends": [ - "perl-btlib", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-estscan2-2.1-0.tar.bz2": { - "depends": [ - "perl-btlib", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-exception-class-1.40-0.tar.bz2": { - "depends": [ - "perl-class-data-inheritable", - "perl-devel-stacktrace", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-exporter-tidy-0.08-0.tar.bz2": { - "depends": [ - "perl-threaded >=5.22.0", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-exporter-tiny-0.042-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-extutils-config-0.008-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-extutils-helpers-0.022-0.tar.bz2": { - "depends": [ - "perl-pathtools", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-extutils-installpaths-0.011-0.tar.bz2": { - "depends": [ - "perl-extutils-config", - "perl-pathtools", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-extutils-makemaker-6.66-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-extutils-manifest-1.70-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-extutils-parsexs-3.28-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-chdir-0.1010-0.tar.bz2": { - "depends": [ - "perl-pathtools", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-copy-recursive-0.38-1.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-details-0.003-0.tar.bz2": { - "depends": [ - "perl-class-accessor", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-fetch-0.48-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-fetch-0.48-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-fetch-0.48-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-find-rule-0.34-0.tar.bz2": { - "depends": [ - "perl-app-cpanminus", - "perl-module-build", - "perl-number-compare", - "perl-pathtools", - "perl-text-glob", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-find-rule-0.34-1.tar.bz2": { - "depends": [ - "perl-app-cpanminus", - "perl-module-build", - "perl-number-compare", - "perl-text-glob", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-grep-0.02-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-homedir-1.00-0.tar.bz2": { - "depends": [ - "perl-carp", - "perl-file-path", - "perl-file-which", - "perl-pathtools", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-homedir-1.00-1.tar.bz2": { - "depends": [ - "perl-file-path", - "perl-file-which", - "perl-pathtools", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-listing-6.04-0.tar.bz2": { - "depends": [ - "perl-http-date", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-next-1.16-0.tar.bz2": { - "depends": [ - "perl-pathtools", - "perl-test-simple", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-path-2.09-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-readbackwards-1.05-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-sharedir-1.102-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-sharedir-1.102-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-sharedir-1.102-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-sharedir-install-0.10-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-sharedir-install-0.10-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-sharedir-install-0.10-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-slurp-9999.19-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-slurp-tiny-0.004-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-slurper-0.008-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-sort-1.01-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-which-1.20-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-filesys-df-0.92-0.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-filesys-df-0.92-1.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-font-afm-1.20-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-font-ttf-1.05-0.tar.bz2": { - "depends": [ - "perl-io-string", - "perl-threaded", - "perl-xml-parser", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-forks-0.36-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-gd-2.56-3.tar.bz2": { - "depends": [ - "libgcc", - "libgd >=2.2.3", - "perl-threaded >=5.22.0", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-gd-2.56-4.tar.bz2": { - "depends": [ - "libgcc", - "libgd >=2.2.3", - "perl-threaded >=5.22.0", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-gd-2.56-5.tar.bz2": { - "depends": [ - "libgcc", - "libgd >=2.2.3", - "perl-threaded >=5.22.0", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-gdgraph-1.49-1.tar.bz2": { - "depends": [ - "perl-gd", - "perl-gdtextutil", - "perl-threaded >=5.22.0", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-gdgraph-1.49-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-gd", - "perl-gdtextutil", - "perl-threaded >=5.22.0", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-gdgraph-histogram-1.1-0.tar.bz2": { - "depends": [ - "libgd", - "perl-gdgraph", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-gdtextutil-0.86-1.tar.bz2": { - "depends": [ - "perl-gd", - "perl-threaded >=5.22.0", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-gdtextutil-0.86-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-gd", - "perl-threaded >=5.22.0", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-getopt-long-2.49-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-git-wrapper-0.047-0.tar.bz2": { - "depends": [ - "perl-apache-test", - "perl-app-cpanminus", - "perl-devel-checkbin", - "perl-file-chdir", - "perl-scalar-list-utils", - "perl-sort-versions", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-graph-0.9704-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-graph-readwrite-2.09-0.tar.bz2": { - "depends": [ - "perl-graph", - "perl-parse-yapp", - "perl-threaded", - "perl-xml-parser", - "perl-xml-writer", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-graphviz-2.20-1.tar.bz2": { - "depends": [ - "graphviz", - "perl-file-which", - "perl-ipc-run", - "perl-libwww-perl", - "perl-parse-recdescent", - "perl-test-pod", - "perl-threaded", - "perl-xml-twig", - "perl-xml-xpath", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-grass-1.1.6-2.tar.bz2": { - "depends": [ - "perl-bio-db-sam", - "perl-bio-samtools", - "perl-bioperl", - "perl-gd", - "perl-ipc-system-simple", - "perl-sanger-cgp-vcf", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-hash-merge-0.200-0.tar.bz2": { - "depends": [ - "perl-clone", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-heap-simple-0.13-0.tar.bz2": { - "depends": [ - "perl-cgi", - "perl-heap-simple-perl", - "perl-heap-simple-xs", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-heap-simple-perl-0.14-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-heap-simple-xs-0.10-0.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-hpc-runner-2.48-0.tar.bz2": { - "depends": [ - "perl-config-any", - "perl-file-slurp", - "perl-log-log4perl", - "perl-moose", - "perl-moosex-getopt", - "perl-moosex-types", - "perl-path-tiny", - "perl-pathtools", - "perl-template-toolkit", - "perl-termreadkey", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-hpc-runner-mce-2.41-0.tar.bz2": { - "depends": [ - "perl-termreadkey", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-hpc-runner-pbs-0.12-0.tar.bz2": { - "depends": [ - "perl-termreadkey", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-hpc-runner-scheduler-0.09-0.tar.bz2": { - "depends": [ - "perl-app-cpanminus", - "perl-hpc-runner", - "perl-json", - "perl-log-log4perl", - "perl-module-build-tiny", - "perl-moose", - "perl-moosex-getopt", - "perl-pathtools", - "perl-scalar-list-utils", - "perl-template-toolkit", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-hpc-runner-slurm-2.57-0.tar.bz2": { - "depends": [ - "perl-termreadkey", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-hpc-runner-slurm-2.58-0.tar.bz2": { - "depends": [ - "perl-app-cpanminus", - "perl-config-any", - "perl-exporter-tiny", - "perl-file-slurp", - "perl-hpc-runner", - "perl-hpc-runner-mce", - "perl-json", - "perl-log-log4perl", - "perl-moose", - "perl-moosex-getopt", - "perl-moosex-getopt", - "perl-moosex-types", - "perl-path-tiny", - "perl-pathtools", - "perl-scalar-list-utils", - "perl-template-toolkit", - "perl-termreadkey", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-hpc-runner-slurm-2.58-1.tar.bz2": { - "depends": [ - "perl-app-cpanminus", - "perl-config-any", - "perl-exporter-tiny", - "perl-file-slurp", - "perl-hpc-runner", - "perl-hpc-runner-mce", - "perl-json", - "perl-log-log4perl", - "perl-moose", - "perl-moosex-getopt", - "perl-moosex-getopt", - "perl-moosex-types", - "perl-path-tiny", - "perl-pathtools", - "perl-scalar-list-utils", - "perl-template-toolkit", - "perl-termreadkey", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-hpc-runner-slurm-2.58-2.tar.bz2": { - "depends": [ - "perl-app-cpanminus", - "perl-config-any", - "perl-exporter-tiny", - "perl-file-slurp", - "perl-hpc-runner", - "perl-hpc-runner-mce", - "perl-hpc-runner-scheduler", - "perl-json", - "perl-log-log4perl", - "perl-moose", - "perl-moosex-getopt", - "perl-moosex-getopt", - "perl-moosex-types", - "perl-path-tiny", - "perl-pathtools", - "perl-scalar-list-utils", - "perl-template-toolkit", - "perl-termreadkey", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-html-element-extended-1.18-0.tar.bz2": { - "depends": [ - "perl-html-tree", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-html-entities-numbered-0.04-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-html-formatter-2.14-0.tar.bz2": { - "depends": [ - "perl-font-afm", - "perl-html-tree", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-html-parser-3.72-0.tar.bz2": { - "depends": [ - "perl-html-tagset", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-html-tableextract-2.13-0.tar.bz2": { - "depends": [ - "perl-html-element-extended", - "perl-html-parser", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-html-tagset-3.20-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-html-template-2.95-0.tar.bz2": { - "depends": [ - "perl-cgi", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-html-tidy-1.56-1.tar.bz2": { - "depends": [ - "perl-threaded", - "tidyp", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-html-tree-5.03-0.tar.bz2": { - "depends": [ - "perl-html-parser", - "perl-html-tagset", - "perl-libwww-perl", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-html-treebuilder-xpath-0.14-0.tar.bz2": { - "depends": [ - "perl-html-tree", - "perl-threaded", - "perl-xml-xpathengine", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-http-cookies-6.01-0.tar.bz2": { - "depends": [ - "perl-http-date", - "perl-http-message", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-http-daemon-6.01-0.tar.bz2": { - "depends": [ - "perl-http-date", - "perl-http-message", - "perl-lwp-mediatypes", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-http-date-6.02-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-http-message-6.11-0.tar.bz2": { - "depends": [ - "perl-encode-locale", - "perl-http-date", - "perl-io-html", - "perl-lwp-mediatypes", - "perl-threaded", - "perl-uri", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-http-negotiate-6.01-0.tar.bz2": { - "depends": [ - "perl-http-message", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-image-info-1.38-0.tar.bz2": { - "depends": [ - "perl-io-stringy", - "perl-threaded", - "perl-xml-libxml", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-image-size-3.300-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-importer-0.024-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-inline-0.80-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-inline-c-0.76-0.tar.bz2": { - "depends": [ - "perl-file-copy-recursive", - "perl-inline", - "perl-io-all", - "perl-parse-recdescent", - "perl-pegex", - "perl-threaded", - "perl-yaml-libyaml", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-io-all-0.86-0.tar.bz2": { - "depends": [ - "perl-extutils-makemaker", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-io-compress-2.069-1.tar.bz2": { - "depends": [ - "perl-compress-raw-bzip2 >=2.069", - "perl-compress-raw-zlib", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-io-html-1.001-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-io-interactive-1.021-1.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-io-sessiondata-1.03-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-io-socket-inet6-2.72-0.tar.bz2": { - "depends": [ - "perl-socket6", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-io-socket-ssl-2.024-0.tar.bz2": { - "depends": [ - "perl-net-ssleay", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-io-string-1.08-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-io-stringy-2.111-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-io-tty-1.12-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-io-zlib-1.10-1.tar.bz2": { - "depends": [ - "perl-io-compress", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-ipc-run-0.94-0.tar.bz2": { - "depends": [ - "perl-io-tty", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-ipc-system-simple-1.25-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-ipc-system-simple-1.25-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-ipc-system-simple-1.25-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-jcode-2.07-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-json-2.90-0.tar.bz2": { - "depends": [ - "perl-json-xs <3", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-json-2.90-1.tar.bz2": { - "depends": [ - "perl-json-xs <3", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-json-xs-2.34-0.tar.bz2": { - "depends": [ - "perl-common-sense", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-libwww-perl-6.15-0.tar.bz2": { - "depends": [ - "perl-encode-locale", - "perl-file-listing", - "perl-html-parser", - "perl-http-cookies", - "perl-http-daemon", - "perl-http-date", - "perl-http-message", - "perl-http-negotiate", - "perl-lwp-mediatypes", - "perl-net-http", - "perl-ntlm", - "perl-threaded", - "perl-uri", - "perl-www-robotrules", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-libxml-perl-0.08-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-xml-parser", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-list-moreutils-0.413-1.tar.bz2": { - "depends": [ - "perl-exporter-tiny", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-list-uniq-0.20-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-log-log4perl-1.47-0.tar.bz2": { - "depends": [ - "libgcc", - "perl-app-cpanminus", - "perl-dbi", - "perl-pathtools", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-log-log4perl-1.47-1.tar.bz2": { - "depends": [ - "libgcc", - "perl-app-cpanminus", - "perl-dbi", - "perl-pathtools", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-lwp-mediatypes-6.02-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-lwp-protocol-https-6.06-1.tar.bz2": { - "depends": [ - "openssl >=1.1.0,<=1.1.1", - "perl-lwp-simple", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-lwp-protocol-https-6.06-2.tar.bz2": { - "depends": [ - "libgcc", - "openssl >=1.1.0,<=1.1.1", - "perl-lwp-simple", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-lwp-protocol-https-6.06-pl5.22.0_0.tar.bz2": { - "depends": [ - "openssl >=1.1.0,<=1.1.1", - "perl 5.22.0*", - "perl-lwp-simple" - ] - }, - "perl-lwp-simple-6.15-1.tar.bz2": { - "depends": [ - "perl-encode-locale", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-lwp-simple-6.15-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-encode-locale", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-lwp-simple-6.15-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-encode-locale", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-mailtools-2.14-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-timedate", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-math-base-convert-0.11-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-math-bezier-0.01-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-math-cdf-0.1-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-math-cdf-0.1-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-math-cdf-0.1-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-math-combinatorics-0.09-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-math-derivative-0.04-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-math-random-0.72-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-math-round-0.07-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-math-spline-0.02-0.tar.bz2": { - "depends": [ - "perl-math-derivative", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-math-vecstat-0.08-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-memoize-1.03-1.tar.bz2": { - "depends": [ - "perl-extutils-makemaker", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-mime-lite-3.030-0.tar.bz2": { - "depends": [ - "perl-email-date-format", - "perl-mailtools", - "perl-mime-types", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-mime-tools-5.507-0.tar.bz2": { - "depends": [ - "perl-convert-binhex", - "perl-mailtools", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-mime-types-2.12-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-mixin-linewise-0.108-0.tar.bz2": { - "depends": [ - "perl-extutils-makemaker", - "perl-pathtools", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-mldbm-2.05-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-mldbm-sync-0.30-0.tar.bz2": { - "depends": [ - "perl-mldbm", - "perl-threaded", - "perl-tie-cache", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-module-build-0.4214-1.tar.bz2": { - "depends": [ - "perl-threaded >=5.22.0", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-module-build-0.4214-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded >=5.22.0", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-module-build-tiny-0.039-0.tar.bz2": { - "depends": [ - "perl-extutils-makemaker", - "perl-pathtools", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-module-implementation-0.09-0.tar.bz2": { - "depends": [ - "perl-module-runtime", - "perl-threaded", - "perl-try-tiny", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-module-runtime-0.014-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-module-runtime-0.014-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-moo-2.000002-0.tar.bz2": { - "depends": [ - "perl-class-method-modifiers", - "perl-devel-globaldestruction", - "perl-module-runtime", - "perl-role-tiny", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-moo-2.000002-1.tar.bz2": { - "depends": [ - "perl-class-method-modifiers", - "perl-devel-globaldestruction", - "perl-module-runtime", - "perl-role-tiny", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-moo-2.001000-0.tar.bz2": { - "depends": [ - "perl-class-method-modifiers", - "perl-devel-globaldestruction", - "perl-module-runtime", - "perl-role-tiny", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-moo-2.001000-1.tar.bz2": { - "depends": [ - "perl-class-method-modifiers", - "perl-devel-globaldestruction", - "perl-module-runtime", - "perl-role-tiny", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-moose-2.1804-0.tar.bz2": { - "depends": [ - "perl-app-cpanminus", - "perl-extutils-makemaker", - "perl-module-runtime", - "perl-pathtools", - "perl-scalar-list-utils >=1.45", - "perl-test-warnings", - "perl-threaded", - "perl-try-tiny", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-moose-2.1804-1.tar.bz2": { - "depends": [ - "perl-app-cpanminus", - "perl-extutils-makemaker", - "perl-module-runtime", - "perl-pathtools", - "perl-scalar-list-utils >=1.45", - "perl-test-warnings", - "perl-threaded", - "perl-try-tiny", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-moosex-app-1.35-0.tar.bz2": { - "depends": [ - "perl-config-any", - "perl-io-interactive", - "perl-moose", - "perl-moosex-types-path-class", - "perl-path-class", - "perl-pod-elemental", - "perl-scalar-list-utils", - "perl-termreadkey", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-moosex-app-1.35-1.tar.bz2": { - "depends": [ - "perl-config-any", - "perl-file-homedir", - "perl-io-interactive", - "perl-moose", - "perl-moosex-types-path-class", - "perl-path-class", - "perl-pod-elemental", - "perl-scalar-list-utils", - "perl-termreadkey", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-moosex-app-role-log4perl-0.03-0.tar.bz2": { - "depends": [ - "perl-log-log4perl", - "perl-moosex-app", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-moosex-fileattribute-0.02-0.tar.bz2": { - "depends": [ - "perl-moose", - "perl-moosex-types", - "perl-moosex-types-path-class", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-moosex-getopt-0.71-0.tar.bz2": { - "depends": [ - "perl-app-cpanminus", - "perl-moose", - "perl-scalar-list-utils", - "perl-threaded", - "perl-try-tiny", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-moosex-types-0.46-0.tar.bz2": { - "depends": [ - "perl-module-runtime", - "perl-moose", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-moosex-types-path-class-0.09-0.tar.bz2": { - "depends": [ - "perl-moosex-types", - "perl-path-class", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-mozilla-ca-20160104-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-net-http-6.09-0.tar.bz2": { - "depends": [ - "perl-io-socket-ssl", - "perl-threaded", - "perl-uri", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-net-ssleay-1.72-0.tar.bz2": { - "depends": [ - "libgcc", - "openssl >=1.1.0,<=1.1.1", - "perl-threaded", - "zlib", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-net-ssleay-1.74-0.tar.bz2": { - "depends": [ - "libgcc", - "openssl >=1.1.0,<=1.1.1", - "perl-threaded", - "zlib", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-net-ssleay-1.84-pl5.22.0_0.tar.bz2": { - "depends": [ - "openssl >=1.1.0,<=1.1.1", - "perl 5.22.0*", - "perl-mime-base64", - "zlib 1.2.11*" - ] - }, - "perl-ntlm-1.09-1.tar.bz2": { - "depends": [ - "perl-digest-hmac", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-number-compare-0.03-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-number-format-1.75-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-ole-storage_lite-0.19-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-onto-perl-1.45-0.tar.bz2": { - "depends": [ - "perl-date-manip", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-parallel-forkmanager-1.17-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-params-util-1.07-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-params-util-1.07-1.tar.bz2": { - "depends": [ - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-params-validate-1.08-0.tar.bz2": { - "depends": [ - "perl-module-implementation", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-parse-recdescent-1.967013-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-parse-yapp-1.05-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-path-class-0.36-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-path-tiny-0.076-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-path-tiny-0.076-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-path-tiny-0.082-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-pathtools-3.40-0.tar.bz2": { - "depends": [ - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-pbkdf2-tiny-0.005-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-pcap-1.11.1-1.tar.bz2": { - "depends": [ - "perl-bio-db-sam", - "perl-bioperl", - "perl-encode-locale", - "perl-encode-locale", - "perl-gd", - "perl-ipc-system-simple", - "perl-lwp-simple", - "perl-sanger-cgp-vcf", - "perl-threaded", - "perl-xml-parser", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-pcap-1.11.1-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-bio-db-sam", - "perl-bioperl", - "perl-encode-locale", - "perl-encode-locale", - "perl-gd", - "perl-ipc-system-simple", - "perl-lwp-simple", - "perl-sanger-cgp-vcf", - "perl-threaded", - "perl-xml-parser", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-pdf-api2-2.025-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-pdf-api2-2.025-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-pegex-0.61-0.tar.bz2": { - "depends": [ - "perl-extutils-makemaker", - "perl-file-sharedir-install", - "perl-threaded", - "perl-yaml-libyaml", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-perl-unsafe-signals-0.03-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-perl-version-1.013-0.tar.bz2": { - "depends": [ - "perl-file-slurp-tiny", - "perl-getopt-long", - "perl-scalar-list-utils", - "perl-test-simple", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-perlio-gzip-0.19-0.tar.bz2": { - "depends": [ - "perl-threaded", - "zlib", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-perlio-utf8_strict-0.006-0.tar.bz2": { - "depends": [ - "libgcc", - "perl-apache-test", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-pod-elemental-0.103004-0.tar.bz2": { - "depends": [ - "perl-app-cpanminus", - "perl-moose", - "perl-moosex-types", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-postscript-0.06-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-proc-fork-0.804-0.tar.bz2": { - "depends": [ - "perl-exporter-tidy", - "perl-threaded >=5.22.0", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-regexp-common-2016060801-0.tar.bz2": { - "depends": [ - "perl-extutils-makemaker", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-role-tiny-2.000001-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-role-tiny-2.000001-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sanger-cgp-allelecount-2.1.2-1.tar.bz2": { - "depends": [ - "perl-bio-db-sam", - "perl-bioperl", - "perl-sanger-cgp-vcf", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sanger-cgp-allelecount-2.1.2-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-bio-db-sam", - "perl-bioperl", - "perl-sanger-cgp-vcf", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sanger-cgp-battenberg-1.4.1-1.tar.bz2": { - "depends": [ - "cancerit-allelecount", - "perl-file-sharedir", - "perl-file-sharedir-install", - "perl-pcap", - "perl-sanger-cgp-allelecount", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sanger-cgp-battenberg-1.4.1-2.tar.bz2": { - "depends": [ - "cancerit-allelecount", - "libgcc", - "perl-file-sharedir", - "perl-file-sharedir-install", - "perl-pcap", - "perl-sanger-cgp-allelecount", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sanger-cgp-battenberg-1.4.1-3.tar.bz2": { - "depends": [ - "cancerit-allelecount", - "impute2", - "libgcc", - "perl-file-sharedir", - "perl-file-sharedir-install", - "perl-pcap", - "perl-sanger-cgp-allelecount", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sanger-cgp-vagrent-3.2.0-0.tar.bz2": { - "depends": [ - "libgcc", - "perl-bio-db-hts", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sanger-cgp-vcf-1.3.1-1.tar.bz2": { - "depends": [ - "perl-data-uuid", - "perl-threaded", - "perl-vcftools-vcf", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sanger-cgp-vcf-1.3.1-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-data-uuid", - "perl-threaded", - "perl-vcftools-vcf", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-scalar-list-utils-1.42-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-scalar-list-utils-1.42-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-scalar-list-utils-1.42-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-scalar-list-utils-1.45-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-scalar-list-utils-1.45-1.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-scalar-list-utils-1.45-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-scalar-util-numeric-0.40-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-scope-guard-0.21-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sereal-3.015-0.tar.bz2": { - "depends": [ - "perl-sereal-decoder", - "perl-sereal-encoder", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sereal-decoder-3.015-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sereal-encoder-3.015-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-set-intervaltree-0.10-2.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-set-intervaltree-0.10-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-set-intspan-1.19-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-set-scalar-1.29-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-soap-lite-1.19-0.tar.bz2": { - "depends": [ - "perl-class-inspector", - "perl-io-sessiondata", - "perl-io-socket-ssl", - "perl-libwww-perl", - "perl-lwp-protocol-https", - "perl-mime-lite", - "perl-mime-tools", - "perl-task-weaken", - "perl-threaded", - "perl-uri", - "perl-xml-parser", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-socket6-0.25-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sort-naturally-1.03-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sort-versions-1.62-0.tar.bz2": { - "depends": [ - "perl-apache-test", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-spiffy-0.46-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-spreadsheet-parseexcel-0.65-0.tar.bz2": { - "depends": [ - "perl-crypt-rc4", - "perl-digest-perl-md5", - "perl-io-stringy", - "perl-jcode", - "perl-ole-storage_lite", - "perl-spreadsheet-writeexcel", - "perl-threaded", - "perl-unicode-map", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-spreadsheet-writeexcel-2.40-0.tar.bz2": { - "depends": [ - "perl-ole-storage_lite", - "perl-parse-recdescent", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sql-statement-1.407-0.tar.bz2": { - "depends": [ - "perl-clone", - "perl-math-base-convert", - "perl-module-runtime", - "perl-params-util", - "perl-text-soundex", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-statistics-basic-1.6611-0.tar.bz2": { - "depends": [ - "perl-number-format", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-statistics-basic-1.6611-1.tar.bz2": { - "depends": [ - "perl-number-format", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-statistics-descriptive-3.0609-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-statistics-descriptive-3.0609-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-statistics-descriptive-3.0609-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-statistics-descriptive-3.0612-0.tar.bz2": { - "depends": [ - "perl-list-moreutils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-statistics-distributions-1.02-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-statistics-frequency-0.04-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-statistics-lite-3.62-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-statistics-r-0.34-0.tar.bz2": { - "depends": [ - "gcc", - "libgcc", - "perl-ipc-run", - "perl-regexp-common", - "perl-text-balanced >=1.97", - "perl-text-wrap >=0.77", - "perl-threaded", - "r-essentials", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-statistics-ttest-1.1-0.tar.bz2": { - "depends": [ - "perl-statistics-descriptive", - "perl-statistics-distributions", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sub-exporter-0.987-0.tar.bz2": { - "depends": [ - "perl-apache-test", - "perl-data-optlist", - "perl-params-util", - "perl-sub-install", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sub-exporter-progressive-0.001011-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sub-exporter-progressive-0.001011-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sub-install-0.928-0.tar.bz2": { - "depends": [ - "perl-apache-test", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sub-uplevel-0.25-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sub-uplevel-0.25-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-svg-2.64-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-svg-graph-0.02-0.tar.bz2": { - "depends": [ - "perl-math-derivative", - "perl-math-spline", - "perl-statistics-descriptive", - "perl-svg", - "perl-threaded", - "perl-tree-dag_node", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-task-weaken-1.04-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-template-toolkit-2.26-0.tar.bz2": { - "depends": [ - "perl-appconfig", - "perl-cgi", - "perl-image-info", - "perl-image-size", - "perl-test-leaktrace", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-term-encoding-0.02-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-termreadkey-2.32-0.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-base-0.88-0.tar.bz2": { - "depends": [ - "perl-spiffy", - "perl-text-diff", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-builder-tester-1.23_002-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-classapi-1.06-0.tar.bz2": { - "depends": [ - "perl-class-inspector", - "perl-config-tiny", - "perl-params-util", - "perl-pathtools", - "perl-test-simple", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-cpan-meta-0.25-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-deep-1.120-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-differences-0.64-0.tar.bz2": { - "depends": [ - "perl-capture-tiny", - "perl-text-diff", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-eol-1.6-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-exception-0.43-0.tar.bz2": { - "depends": [ - "perl-sub-uplevel", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-fatal-0.014-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-try-tiny", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-fatal-0.014-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-try-tiny", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-files-0.14-0.tar.bz2": { - "depends": [ - "perl-algorithm-diff", - "perl-test-builder-tester", - "perl-test-simple", - "perl-text-diff", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-harness-3.30-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-inter-1.06-0.tar.bz2": { - "depends": [ - "perl-io-all", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-leaktrace-0.15-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-longstring-0.17-0.tar.bz2": { - "depends": [ - "perl-test-builder-tester", - "perl-test-simple", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-most-0.34-1.tar.bz2": { - "depends": [ - "perl-exception-class", - "perl-test-deep", - "perl-test-differences", - "perl-test-exception", - "perl-test-warn", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-notabs-1.4-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-nowarnings-1.04-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-nowarnings-1.04-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-output-1.03-0.tar.bz2": { - "depends": [ - "perl-capture-tiny", - "perl-sub-exporter", - "perl-test-simple", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-pod-1.51-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-requires-0.10-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-requires-0.10-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-simple-1.302052-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-simple-1.302052-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-warn-0.30-0.tar.bz2": { - "depends": [ - "perl-sub-uplevel", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-warnings-0.021-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-xml-0.08-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-xml-parser", - "perl-xml-sax", - "perl-xml-sax-writer", - "perl-xml-semanticdiff", - "perl-xml-twig", - "perl-xml-xpath", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-yaml-1.06-0.tar.bz2": { - "depends": [ - "perl-test-base", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test2-suite-0.000061-0.tar.bz2": { - "depends": [ - "perl-importer", - "perl-scalar-list-utils", - "perl-test-simple", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-text-balanced-2.03-0.tar.bz2": { - "depends": [ - "gcc", - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-text-csv-1.33-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-text-diff-1.44-0.tar.bz2": { - "depends": [ - "perl-algorithm-diff", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-text-format-0.59-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-text-glob-0.09-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-text-nsp-1.31-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-text-parsewords-3.29-1.tar.bz2": { - "depends": [ - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-text-tabs-wrap-2013.0523-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-text-wrap-2013.0523-0.tar.bz2": { - "depends": [ - "gcc", - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-threaded-5.22.0-10.tar.bz2": { - "depends": [ - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-threaded-5.22.0-8.tar.bz2": { - "depends": [ - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-threaded-5.22.0-9.tar.bz2": { - "depends": [ - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-tie-cache-0.21-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-tie-cacher-0.09-2.tar.bz2": { - "depends": [ - "perl-test-simple", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-tie-ixhash-1.23-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-time-hires-1.9728-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-time-hires-1.9728-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-timedate-2.30-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-tree-dag_node-1.29-0.tar.bz2": { - "depends": [ - "perl-file-slurp-tiny", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-try-tiny-0.24-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-try-tiny-0.24-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-type-tiny-1.000005-0.tar.bz2": { - "depends": [ - "perl-exporter-tiny", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-types-serialiser-1.0-0.tar.bz2": { - "depends": [ - "perl-common-sense", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-unicode-map-0.112-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-unicode-stringprep-1.105-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-unicode-stringprep-1.105-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-uri-1.69-1.tar.bz2": { - "depends": [ - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-uri-1.69-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-uri-1.69-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-uri-1.71-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-velvetoptimiser-2.2.5-0.tar.bz2": { - "depends": [ - "perl-bioperl >=1.4", - "perl-threaded", - "velvet >=0.7.51", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-version-next-1.000-0.tar.bz2": { - "depends": [ - "perl-apache-test", - "perl-perl-version", - "perl-sub-exporter", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-www-robotrules-6.02-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-uri", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-dom-1.45-0.tar.bz2": { - "depends": [ - "perl-libwww-perl", - "perl-libxml-perl", - "perl-threaded", - "perl-xml-parser", - "perl-xml-regexp", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-dom-xpath-0.14-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-xml-dom", - "perl-xml-xpathengine", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-filter-buffertext-1.01-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-xml-sax-base", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-libxml-2.0124-0.tar.bz2": { - "depends": [ - "libxml2", - "perl-threaded", - "perl-xml-namespacesupport", - "perl-xml-sax", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-libxslt-1.94-0.tar.bz2": { - "depends": [ - "libxslt", - "perl-threaded", - "perl-xml-libxml", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-namespacesupport-1.11-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-parser-2.44-1.tar.bz2": { - "depends": [ - "expat", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-parser-2.44-2.tar.bz2": { - "depends": [ - "expat", - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-parser-2.44-3.tar.bz2": { - "depends": [ - "expat", - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-parser-2.44-4.tar.bz2": { - "depends": [ - "expat", - "libgcc", - "perl-libwww-perl", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-parser-lite-0.721-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-regexp-0.04-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-sax-0.99-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-xml-namespacesupport", - "perl-xml-sax-base", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-sax-base-1.08-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-sax-expat-0.51-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-xml-namespacesupport", - "perl-xml-parser", - "perl-xml-sax", - "perl-xml-sax-base", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-sax-writer-0.56-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-xml-filter-buffertext", - "perl-xml-namespacesupport", - "perl-xml-sax-base", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-semanticdiff-1.0004-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-xml-parser", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-simple-2.22-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-xml-namespacesupport", - "perl-xml-sax", - "perl-xml-sax-expat", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-twig-3.49-0.tar.bz2": { - "depends": [ - "perl-html-entities-numbered", - "perl-html-formatter", - "perl-html-parser", - "perl-html-tidy", - "perl-html-tree", - "perl-threaded", - "perl-tie-ixhash", - "perl-xml-parser", - "perl-xml-xpathengine", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-writer-0.625-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-xpath-1.33-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-xml-parser", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-xpathengine-0.14-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-yaml-1.15-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-yaml-1.15-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-yaml-1.18-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-yaml-libyaml-0.63-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "pylibseq-0.2.1-py37h6bb024c_0.tar.bz2": { - "depends": [ - "libgcc-ng >=7.3.0", - "libsequence >=1.9.6", - "libstdcxx-ng >=7.3.0", - "msprime >=0.5.0", - "python >=3.7,<3.8.0a0", - "tbb >=2019.7,<2021.0.0a0" - ] - }, - "r-alakazam-0.2.7-0.tar.bz2": { - "depends": [ - "libgcc", - "r-base >=3.4,<3.5", - "r-dplyr >=0.5.0", - "r-ggplot2 >=2.0.0", - "r-igraph >=1.0.0", - "r-lazyeval", - "r-progress", - "r-rcpp >=0.12.11", - "r-readr", - "r-scales", - "r-seqinr", - "r-stringi" - ] - }, - "r-basejump-0.1.1-0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub", - "bioconductor-biobase", - "bioconductor-biocgenerics", - "bioconductor-ensembldb", - "bioconductor-s4vectors", - "r-base >=3.4,<3.5", - "r-cowplot", - "r-dendsort", - "r-devtools", - "r-dplyr", - "r-ggplot2", - "r-knitr", - "r-magrittr", - "r-matrix", - "r-matrix.utils", - "r-pheatmap", - "r-r.utils", - "r-rcolorbrewer", - "r-rcurl", - "r-readr", - "r-readxl", - "r-rlang", - "r-scales", - "r-stringr", - "r-tibble", - "r-tidyr", - "r-viridis", - "r-yaml" - ] - }, - "r-basejump-0.5.3-0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub", - "bioconductor-biobase", - "bioconductor-biocgenerics", - "bioconductor-ensembldb", - "bioconductor-s4vectors", - "r-assertive", - "r-base >=3.4,<3.5", - "r-cowplot", - "r-dendsort", - "r-devtools", - "r-dplyr", - "r-ggplot2", - "r-knitr", - "r-magrittr", - "r-matrix", - "r-matrix.utils", - "r-pbapply", - "r-pheatmap", - "r-r.utils", - "r-rcolorbrewer", - "r-rcurl", - "r-readr", - "r-readxl", - "r-rlang", - "r-scales", - "r-stringr", - "r-tibble", - "r-tidyr", - "r-viridis", - "r-yaml" - ] - }, - "r-basejump-0.5.9-0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub", - "bioconductor-biobase", - "bioconductor-biocgenerics", - "bioconductor-ensembldb", - "bioconductor-genomeinfodb", - "bioconductor-s4vectors", - "r-assertive", - "r-base >=3.4,<3.5", - "r-cowplot >=0.9", - "r-dendsort", - "r-devtools", - "r-dplyr >=0.7", - "r-ggplot2 >=2.2.1", - "r-knitr >=1.2.0", - "r-magrittr >=1.5", - "r-matrix >=1.2", - "r-matrix.utils >=0.9", - "r-pbapply", - "r-pheatmap", - "r-r.utils", - "r-rcolorbrewer", - "r-rcurl >=1.95", - "r-readr >=1.1", - "r-readxl >=1.0", - "r-rlang >=0.2", - "r-scales", - "r-stringr >=1.3", - "r-tibble >=1.4", - "r-tidyr >=0.8", - "r-viridis", - "r-yaml" - ] - }, - "r-bcbiobase-0.0.3-0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics", - "bioconductor-biostrings", - "r-base >=3.4,<3.5", - "r-basejump", - "r-dplyr", - "r-magrittr", - "r-readr", - "r-rlang", - "r-rmysql", - "r-scales", - "r-stringr", - "r-tidyr" - ] - }, - "r-bcbiobase-0.2.10-0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics", - "bioconductor-biostrings", - "r-base >=3.4,<3.5", - "r-basejump", - "r-dplyr", - "r-ggrepel", - "r-magrittr", - "r-rdrop2", - "r-readr", - "r-rlang", - "r-rmysql", - "r-scales", - "r-sessioninfo", - "r-stringr", - "r-tidyr" - ] - }, - "r-bcbiobase-0.2.12-0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics", - "bioconductor-biostrings", - "r-base >=3.4,<3.5", - "r-basejump", - "r-dplyr", - "r-ggrepel", - "r-magrittr", - "r-rdrop2", - "r-readr", - "r-rlang", - "r-rmysql", - "r-scales", - "r-sessioninfo", - "r-stringr", - "r-tidyr" - ] - }, - "r-bcbiobase-0.2.15-0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics", - "bioconductor-biostrings", - "r-base >=3.4,<3.5", - "r-basejump", - "r-dplyr", - "r-ggrepel", - "r-magrittr", - "r-rdrop2", - "r-readr", - "r-rlang", - "r-rmysql", - "r-scales", - "r-sessioninfo", - "r-stringr", - "r-tidyr" - ] - }, - "r-bcbiobase-0.2.15-1.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics", - "bioconductor-biostrings", - "r-base >=3.4,<3.5", - "r-basejump >=0.5.8", - "r-dplyr >=0.7", - "r-ggplot2 >=2.2.1", - "r-ggrepel >=0.7", - "r-magrittr >=1.5", - "r-pheatmap >=1.0.10", - "r-plyr >=1.8", - "r-rdrop2 >=0.8", - "r-readr >=1.1", - "r-rlang >=0.2", - "r-rmysql", - "r-sessioninfo >=1.0", - "r-stringr >=1.3", - "r-tibble >=1.4", - "r-tidyr >=0.8", - "r-viridis >=0.5" - ] - }, - "r-bcbiobase-0.2.9-0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics", - "bioconductor-biostrings", - "r-base >=3.4,<3.5", - "r-basejump", - "r-dplyr", - "r-magrittr", - "r-rdrop2", - "r-readr", - "r-rlang", - "r-rmysql", - "r-scales", - "r-sessioninfo", - "r-stringr", - "r-tidyr" - ] - }, - "r-bcbiornaseq-0.1.2-0.tar.bz2": { - "depends": [ - "bioconductor-degreport", - "bioconductor-deseq2", - "bioconductor-edger", - "bioconductor-summarizedexperiment", - "bioconductor-tximport", - "bioconductor-vsn", - "r-base >=3.4,<3.5", - "r-bcbiobase", - "r-ggrepel", - "r-pbapply" - ] - }, - "r-bcbiornaseq-0.2.3a-0.tar.bz2": { - "depends": [ - "bioconductor-degreport", - "bioconductor-deseq2", - "bioconductor-edger", - "bioconductor-summarizedexperiment", - "bioconductor-tximport", - "bioconductor-vsn", - "r-base >=3.4,<3.5", - "r-bcbiobase", - "r-ggrepel", - "r-pbapply" - ] - }, - "r-bcbiornaseq-0.2.4-0.tar.bz2": { - "depends": [ - "bioconductor-degreport", - "bioconductor-deseq2", - "bioconductor-edger", - "bioconductor-summarizedexperiment", - "bioconductor-tximport", - "bioconductor-vsn", - "r-base >=3.4,<3.5", - "r-bcbiobase", - "r-ggrepel", - "r-pbapply", - "r-rmarkdown", - "r-tidyverse" - ] - }, - "r-canopy-1.3.0-0.tar.bz2": { - "depends": [ - "r-ape", - "r-base >=3.4,<3.5", - "r-fields", - "r-pheatmap", - "r-scatterplot3d" - ] - }, - "r-cssam-0-r40h7d875b9_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0", - "libgcc-ng >=9.4.0", - "libstdcxx-ng >=9.4.0", - "r-base >=4.0,<4.1", - "r-formula >=1.2_4", - "r-ggplot2 >=3.3.5", - "r-pkgmaker >=0.32.2", - "r-plyr >=1.8.6", - "r-rcpp >=1.0.7", - "r-rngtools >=1.5.2", - "r-scales >=1.1.1", - "xbioc >=0.1.19" - ] - }, - "r-cssam-1.4-r40h7d875b9_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0", - "libgcc-ng >=9.4.0", - "libstdcxx-ng >=9.4.0", - "r-base >=4.0,<4.1", - "r-formula >=1.2_4", - "r-ggplot2 >=3.3.5", - "r-pkgmaker >=0.32.2", - "r-plyr >=1.8.6", - "r-rcpp >=1.0.7", - "r-rngtools >=1.5.2", - "r-scales >=1.1.1", - "xbioc >=0.1.19" - ] - }, - "r-cssam-1.4-r40h7d875b9_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0", - "libgcc-ng >=9.4.0", - "libstdcxx-ng >=9.4.0", - "r-base >=4.0,<4.1", - "r-formula >=1.2_4", - "r-ggplot2 >=3.3.5", - "r-pkgmaker >=0.32.2", - "r-plyr >=1.8.6", - "r-rcpp >=1.0.7", - "r-rngtools >=1.5.2", - "r-scales >=1.1.1", - "xbioc >=0.1.19" - ] - }, - "r-cssam-1.4-r41h9f5acd7_2.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0", - "libgcc-ng >=10.3.0", - "libstdcxx-ng >=10.3.0", - "r-base >=4.0,<4.1", - "r-formula >=1.2_4", - "r-ggplot2 >=3.3.5", - "r-pkgmaker >=0.32.2", - "r-plyr >=1.8.6", - "r-rcpp >=1.0.7", - "r-rngtools >=1.5.2", - "r-scales >=1.1.1", - "xbioc >=0.1.19" - ] - }, - "r-cssam-1.4-r41h9f5acd7_3.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0", - "libgcc-ng >=12", - "libstdcxx-ng >=12", - "r-base >=4.0,<4.1", - "r-formula >=1.2_4", - "r-ggplot2 >=3.3.5", - "r-pkgmaker >=0.32.2", - "r-plyr >=1.8.6", - "r-rcpp >=1.0.7", - "r-rngtools >=1.5.2", - "r-scales >=1.1.1", - "xbioc >=0.1.19" - ] - }, - "r-cssam-1.4-r42h9f5acd7_4.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0", - "libgcc-ng >=12", - "libstdcxx-ng >=12", - "r-base >=4.0,<4.1", - "r-formula >=1.2_4", - "r-ggplot2 >=3.3.5", - "r-pkgmaker >=0.32.2", - "r-plyr >=1.8.6", - "r-rcpp >=1.0.7", - "r-rngtools >=1.5.2", - "r-scales >=1.1.1", - "xbioc >=0.1.19" - ] - }, - "r-genometricorr-1.1.17-0.tar.bz2": { - "depends": [ - "bioconductor-genomeinfodb", - "bioconductor-genomicfeatures", - "bioconductor-genomicranges", - "bioconductor-iranges", - "bioconductor-rtracklayer", - "bioconductor-s4vectors", - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene", - "r-base >=3.1,<3.2", - "r-gdata", - "r-gplots", - "r-rcurl", - "r-tcltk2", - "xorg-libx11" - ] - }, - "r-qorts-1.3.0-0.tar.bz2": { - "depends": [ - "r-base >=3.0,<3.1" - ] - }, - "r-quorts-1.3.0-0.tar.bz2": { - "depends": [ - "r-base >=3.0,<3.1" - ] - }, - "r-sartools-1.6.0-0.tar.bz2": { - "depends": [ - "bioconductor-deseq2 >=1.12.0", - "bioconductor-edger >=3.12.0", - "bioconductor-summarizedexperiment >=1.6", - "r-base >=3.3,<3.4", - "r-bit64", - "r-blob", - "r-knitr", - "r-rmarkdown >=1.4" - ] - }, - "r-sartools-1.6.3-0.tar.bz2": { - "depends": [ - "bioconductor-deseq2 >=1.12.0", - "bioconductor-edger >=3.12.0", - "bioconductor-summarizedexperiment >=1.6", - "r-base >=3.3,<3.4", - "r-bit64", - "r-blob", - "r-knitr", - "r-rmarkdown >=1.4" - ] - }, - "r-scdc-0-r40h7d875b9_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0", - "libgcc-ng >=9.4.0", - "libstdcxx-ng >=9.4.0", - "r-base >=4.0,<4.1", - "r-cowplot >=1.1.1", - "r-ggplot2 >=3.3.5", - "r-l1pack >=0.38.196", - "r-nnls >=1.4", - "r-pheatmap >=1.0.12", - "r-rcpp >=1.0.7", - "r-reshape >=0.8.8", - "xbioc >=0.1.19" - ] - }, - "r-scdc-0-r40h7d875b9_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0", - "libgcc-ng >=9.4.0", - "libstdcxx-ng >=9.4.0", - "r-base >=4.0,<4.1", - "r-cowplot >=1.1.1", - "r-ggplot2 >=3.3.5", - "r-l1pack >=0.38.196", - "r-nnls >=1.4", - "r-pheatmap >=1.0.12", - "r-rcpp >=1.0.7", - "r-reshape >=0.8.8", - "xbioc >=0.1.19" - ] - }, - "r-scdc-0-r41h9f5acd7_2.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0", - "libgcc-ng >=10.3.0", - "libstdcxx-ng >=10.3.0", - "r-base >=4.0,<4.1", - "r-cowplot >=1.1.1", - "r-ggplot2 >=3.3.5", - "r-l1pack >=0.38.196", - "r-nnls >=1.4", - "r-pheatmap >=1.0.12", - "r-rcpp >=1.0.7", - "r-reshape >=0.8.8", - "xbioc >=0.1.19" - ] - }, - "r-scdc-0-r41h9f5acd7_3.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0", - "libgcc-ng >=12", - "libstdcxx-ng >=12", - "r-base >=4.0,<4.1", - "r-cowplot >=1.1.1", - "r-ggplot2 >=3.3.5", - "r-l1pack >=0.38.196", - "r-nnls >=1.4", - "r-pheatmap >=1.0.12", - "r-rcpp >=1.0.7", - "r-reshape >=0.8.8", - "xbioc >=0.1.19" - ] - }, - "r-scdc-0-r41h9f5acd7_4.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0", - "libgcc-ng >=12", - "libstdcxx-ng >=12", - "r-base >=4.0,<4.1", - "r-cowplot >=1.1.1", - "r-ggplot2 >=3.3.5", - "r-l1pack >=0.38.196", - "r-nnls >=1.4", - "r-pheatmap >=1.0.12", - "r-rcpp >=1.0.7", - "r-reshape >=0.8.8", - "xbioc >=0.1.19" - ] - }, - "r-scdc-0-r42h9f5acd7_5.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0", - "libgcc-ng >=12", - "libstdcxx-ng >=12", - "r-base >=4.0,<4.1", - "r-cowplot >=1.1.1", - "r-ggplot2 >=3.3.5", - "r-l1pack >=0.38.196", - "r-nnls >=1.4", - "r-pheatmap >=1.0.12", - "r-rcpp >=1.0.7", - "r-reshape >=0.8.8", - "xbioc >=0.1.19" - ] - }, - "rapmap-0.6.0-h2d02072_1.tar.bz2": { - "depends": [ - "bzip2 >=1.0.8,<2.0a0", - "jemalloc >=5.1.0", - "jemalloc >=5.2.1", - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "tbb <2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "rapmap-0.6.0-h76f5088_0.tar.bz2": { - "depends": [ - "bzip2 >=1.0.6,<2.0a0", - "jemalloc >=5.1.0", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb <2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "rnalien-1.3.7-pl5.22.0_1.tar.bz2": { - "depends": [ - "ca-certificates", - "gmp", - "infernal ==1.1.2", - "libgcc", - "locarna ==1.9.1", - "openssl >=1.1.0,<=1.1.1", - "perl 5.22.0*", - "rnacode ==0.3", - "rnaz ==2.1", - "viennarna ==2.3.3", - "zlib" - ] - }, - "rnalien-1.3.7-pl5.22.0_2.tar.bz2": { - "depends": [ - "gmp", - "infernal ==1.1.2", - "libgcc", - "locarna ==1.9.1", - "openssl >=1.1.0,<=1.1.1", - "perl 5.22.0*", - "rnacode ==0.3", - "rnaz ==2.1", - "viennarna ==2.3.3", - "zlib" - ] - }, - "rnalien-1.3.7-pl5.22.0_3.tar.bz2": { - "depends": [ - "gmp", - "infernal ==1.1.2", - "libgcc", - "locarna ==1.9.1", - "openssl >=1.1.0,<=1.1.1", - "perl 5.22.0*", - "rnacode ==0.3", - "rnaz ==2.1", - "viennarna ==2.3.3", - "zlib" - ] - }, - "rnalien-1.3.7-pl5.22.0_4.tar.bz2": { - "depends": [ - "gmp", - "infernal ==1.1.2", - "libgcc", - "locarna ==1.9.1", - "openssl >=1.1.0,<=1.1.1", - "perl 5.22.0*", - "rnacode ==0.3", - "rnaz ==2.1", - "viennarna ==2.3.3", - "zlib 1.2.11*" - ] - }, - "rnalien-1.3.7-pl5.22.0_5.tar.bz2": { - "depends": [ - "gmp 5.1*", - "infernal ==1.1.2", - "libgcc", - "locarna ==1.9.1", - "openssl >=1.1.0,<=1.1.1", - "perl 5.22.0*", - "rnacode ==0.3", - "rnaz ==2.1", - "viennarna ==2.3.3", - "zlib 1.2.11*" - ] - }, - "rnalien-1.3.8-pl526h9ebf644_5.tar.bz2": { - "depends": [ - "ca-certificates", - "gmp >=6.1.2,<7.0a0", - "infernal 1.1.2", - "locarna 1.9.1", - "openssl >=1.1.0,<=1.1.1", - "perl >=5.26.2,<5.26.3.0a0", - "rnacode 0.3", - "rnaz 2.1", - "viennarna 2.3.3", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "ruby-2.2.3-0.tar.bz2": { - "depends": [ - "gmp", - "jemalloc", - "libgcc", - "openssl >=1.1.0,<=1.1.1", - "readline", - "yaml", - "zlib" - ] - }, - "sailfish-0.10.1-1.tar.bz2": { - "depends": [ - "boost ==1.63.0", - "icu 58.*", - "libgcc", - "tbb <2021.0.0a0" - ] - }, - "sailfish-0.10.1-boost1.60_1.tar.bz2": { - "depends": [ - "boost 1.60*", - "tbb <2021.0.0a0" - ] - }, - "sailfish-0.10.1-boost1.60_2.tar.bz2": { - "depends": [ - "boost 1.60*", - "libgcc", - "tbb <2021.0.0a0" - ] - }, - "sailfish-0.10.1-boost1.61_0.tar.bz2": { - "depends": [ - "boost 1.61*", - "icu ==56.1", - "libgcc", - "tbb <2021.0.0a0" - ] - }, - "sailfish-0.10.1-boost1.64_2.tar.bz2": { - "depends": [ - "boost 1.64*", - "icu 58.*", - "libgcc", - "tbb <2021.0.0a0" - ] - }, - "sailfish-0.10.1-h13bc50b_4.tar.bz2": { - "depends": [ - "_openmp_mutex >=4.5", - "boost-cpp >=1.70.0,<1.70.1.0a0", - "icu >=64.2,<65.0a0", - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "tbb >=2020.1,<2021.0.0a0" - ] - }, - "sailfish-0.10.1-h6516f61_3.tar.bz2": { - "depends": [ - "boost >=1.66.0,<1.66.1.0a0", - "icu >=58.2,<59.0a0", - "libstdcxx-ng >=4.9", - "tbb <2021.0.0a0" - ] - }, - "sailfish-0.7.6-0.tar.bz2": { - "depends": [ - "boost", - "tbb <2021.0.0a0" - ] - }, - "sailfish-0.9.0-0.tar.bz2": { - "depends": [ - "boost", - "tbb <2021.0.0a0" - ] - }, - "sailfish-0.9.0-1.tar.bz2": { - "depends": [ - "boost", - "tbb <2021.0.0a0" - ] - }, - "sailfish-0.9.0-boost1.60_1.tar.bz2": { - "depends": [ - "boost 1.60*", - "tbb <2021.0.0a0" - ] - }, - "salmon-0.10.0-1.tar.bz2": { - "depends": [ - "boost 1.64*", - "bzip2 1.0*", - "icu 58.*", - "jemalloc ==4.5.0", - "libgcc", - "tbb <2021.0.0a0", - "zlib 1.2.11*" - ] - }, - "salmon-0.10.1-1.tar.bz2": { - "depends": [ - "boost 1.64*", - "bzip2 1.0*", - "icu 58.*", - "jemalloc ==4.5.0", - "libgcc", - "tbb <2021.0.0a0", - "zlib 1.2.11*" - ] - }, - "salmon-0.10.2-1.tar.bz2": { - "depends": [ - "boost 1.64*", - "bzip2 1.0*", - "icu 58.*", - "jemalloc >=5.1.0", - "libgcc", - "tbb <2021.0.0a0", - "zlib 1.2.11*" - ] - }, - "salmon-0.11.0-h445c947_0.tar.bz2": { - "depends": [ - "boost >=1.67.0,<1.67.1.0a0", - "bzip2 >=1.0.6,<2.0a0", - "icu >=58.2,<59.0a0", - "jemalloc >=5.1.0", - "libgcc-ng >=4.9", - "libstdcxx-ng >=4.9", - "tbb <2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.11.1-h445c947_0.tar.bz2": { - "depends": [ - "boost >=1.67.0,<1.67.1.0a0", - "bzip2 >=1.0.6,<2.0a0", - "icu >=58.2,<59.0a0", - "jemalloc >=5.1.0", - "libgcc-ng >=4.9", - "libstdcxx-ng >=4.9", - "tbb <2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.11.2-h445c947_0.tar.bz2": { - "depends": [ - "boost >=1.67.0,<1.67.1.0a0", - "bzip2 >=1.0.6,<2.0a0", - "icu >=58.2,<59.0a0", - "jemalloc >=5.1.0", - "libgcc-ng >=4.9", - "libstdcxx-ng >=4.9", - "tbb <2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.11.3-h86b0361_1.tar.bz2": { - "depends": [ - "bzip2 >=1.0.6,<2.0a0", - "icu >=58.2,<59.0a0", - "jemalloc >=5.1.0", - "libboost", - "libcxx", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb <2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.11.3-h86b0361_2.tar.bz2": { - "depends": [ - "bzip2 >=1.0.6,<2.0a0", - "icu >=58.2,<59.0a0", - "jemalloc >=5.1.0", - "libboost", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb <2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.12.0-h86b0361_1.tar.bz2": { - "depends": [ - "bzip2 >=1.0.6,<2.0a0", - "icu >=58.2,<59.0a0", - "jemalloc >=5.1.0", - "libboost", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb >=2019.3,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.13.0-h86b0361_1.tar.bz2": { - "depends": [ - "bzip2 >=1.0.6,<2.0a0", - "icu >=58.2,<59.0a0", - "jemalloc >=5.1.0", - "libboost", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb >=2019.4,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.13.0-h86b0361_2.tar.bz2": { - "depends": [ - "bzip2 >=1.0.6,<2.0a0", - "icu >=58.2,<59.0a0", - "jemalloc >=5.1.0", - "libboost", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb >=2019.4,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.13.1-h86b0361_0.tar.bz2": { - "depends": [ - "bzip2 >=1.0.6,<2.0a0", - "icu >=58.2,<59.0a0", - "jemalloc >=5.1.0", - "libboost", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb >=2019.4,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.14.0-h86b0361_0.tar.bz2": { - "depends": [ - "bzip2 >=1.0.6,<2.0a0", - "icu >=58.2,<59.0a0", - "jemalloc >=5.1.0", - "libboost", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb >=2019.7,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.14.0-h86b0361_1.tar.bz2": { - "depends": [ - "bzip2 >=1.0.6,<2.0a0", - "icu >=58.2,<59.0a0", - "jemalloc >=5.1.0", - "libboost", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb >=2019.7,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.14.1-h86b0361_0.tar.bz2": { - "depends": [ - "bzip2 >=1.0.6,<2.0a0", - "icu >=58.2,<59.0a0", - "jemalloc >=5.1.0", - "libboost", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb >=2019.7,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.14.1-h86b0361_1.tar.bz2": { - "depends": [ - "bzip2 >=1.0.6,<2.0a0", - "icu >=58.2,<59.0a0", - "jemalloc >=5.1.0", - "libboost", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb >=2019.7,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.14.1-ha0cc327_2.tar.bz2": { - "depends": [ - "bzip2 >=1.0.8,<2.0a0", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb >=2019.8,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.14.2-ha0cc327_0.tar.bz2": { - "depends": [ - "bzip2 >=1.0.8,<2.0a0", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb >=2019.8,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.14.2-hf69c8f4_1.tar.bz2": { - "depends": [ - "bzip2 >=1.0.8,<2.0a0", - "icu >=64.2,<65.0a0", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.15.0-hf69c8f4_0.tar.bz2": { - "depends": [ - "bzip2 >=1.0.8,<2.0a0", - "icu >=64.2,<65.0a0", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.5.1-0.tar.bz2": { - "depends": [ - "boost", - "tbb <2021.0.0a0" - ] - }, - "salmon-0.6.0-0.tar.bz2": { - "depends": [ - "boost", - "tbb <2021.0.0a0" - ] - }, - "salmon-0.6.0-1.tar.bz2": { - "depends": [ - "boost", - "tbb <2021.0.0a0" - ] - }, - "salmon-0.6.0-boost1.60_1.tar.bz2": { - "depends": [ - "boost 1.60*", - "tbb <2021.0.0a0" - ] - }, - "salmon-0.6.0-boost1.60_2.tar.bz2": { - "depends": [ - "boost 1.60*", - "tbb <2021.0.0a0" - ] - }, - "salmon-0.7.2-boost1.60_2.tar.bz2": { - "depends": [ - "boost 1.60*", - "bzip2", - "tbb <2021.0.0a0", - "zlib" - ] - }, - "salmon-0.7.2-boost1.60_3.tar.bz2": { - "depends": [ - "boost 1.60*", - "bzip2", - "icu 56.*", - "libgcc", - "tbb <2021.0.0a0", - "zlib" - ] - }, - "salmon-0.7.2-boost1.61_3.tar.bz2": { - "depends": [ - "boost 1.61*", - "bzip2", - "icu 56.*", - "libgcc", - "tbb <2021.0.0a0", - "zlib" - ] - }, - "salmon-0.8.0-boost1.60_0.tar.bz2": { - "depends": [ - "boost 1.60*", - "bzip2", - "icu 56.*", - "libgcc", - "tbb <2021.0.0a0", - "zlib" - ] - }, - "salmon-0.8.0-boost1.61_0.tar.bz2": { - "depends": [ - "boost 1.61*", - "bzip2", - "icu 56.*", - "libgcc", - "tbb <2021.0.0a0", - "zlib" - ] - }, - "salmon-0.8.2-0.tar.bz2": { - "depends": [ - "boost 1.61*", - "bzip2", - "icu 56.*", - "jemalloc", - "libgcc", - "tbb <2021.0.0a0", - "zlib" - ] - }, - "salmon-0.8.2-1.tar.bz2": { - "depends": [ - "boost ==1.63.0", - "bzip2", - "icu 58.*", - "jemalloc ==4.5.0", - "libgcc", - "tbb <2021.0.0a0", - "zlib" - ] - }, - "salmon-0.9.0-0.tar.bz2": { - "depends": [ - "boost 1.64*", - "bzip2 1.0*", - "icu 58.*", - "jemalloc ==4.5.0", - "libgcc", - "tbb <2021.0.0a0", - "zlib 1.2.8*" - ] - }, - "salmon-0.9.1-0.tar.bz2": { - "depends": [ - "boost 1.64*", - "bzip2 1.0*", - "icu 58.*", - "jemalloc ==4.5.0", - "libgcc", - "tbb <2021.0.0a0", - "zlib 1.2.8*" - ] - }, - "salmon-0.9.1-1.tar.bz2": { - "depends": [ - "boost 1.64*", - "bzip2 1.0*", - "icu 58.*", - "jemalloc ==4.5.0", - "libgcc", - "tbb <2021.0.0a0", - "zlib 1.2.11*" - ] - }, - "salmon-1.0.0-hf69c8f4_0.tar.bz2": { - "depends": [ - "bzip2 >=1.0.8,<2.0a0", - "icu >=64.2,<65.0a0", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-1.1.0-hf69c8f4_0.tar.bz2": { - "depends": [ - "bzip2 >=1.0.8,<2.0a0", - "icu >=64.2,<65.0a0", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-1.2.0-hf69c8f4_0.tar.bz2": { - "depends": [ - "bzip2 >=1.0.8,<2.0a0", - "icu >=64.2,<65.0a0", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb >=2020.1,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-1.2.1-hf69c8f4_0.tar.bz2": { - "depends": [ - "bzip2 >=1.0.8,<2.0a0", - "icu >=64.2,<65.0a0", - "jemalloc >=5.2.1", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb >=2020.1,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-1.3.0-hf69c8f4_0.tar.bz2": { - "depends": [ - "bzip2 >=1.0.8,<2.0a0", - "icu >=64.2,<65.0a0", - "jemalloc >=5.2.1", - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "tbb >=2020.1,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-1.4.0-hf69c8f4_0.tar.bz2": { - "depends": [ - "bzip2 >=1.0.8,<2.0a0", - "icu >=64.2,<65.0a0", - "jemalloc >=5.2.1", - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "tbb >=2020.2,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "shark-1.0.0-he513fc3_0.tar.bz2": { - "depends": [ - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "shark-1.0.0-he513fc3_1.tar.bz2": { - "depends": [ - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "shark-1.1.0-he513fc3_0.tar.bz2": { - "depends": [ - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "tbb >=2020.1,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "sibeliaz-1.2.2-he1b5a44_0.tar.bz2": { - "depends": [ - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "maf2synteny", - "spoa 4.0.3-0.*", - "tbb >=2020.2,<2021.0.0a0", - "twopaco" - ] - }, - "sina-1.4.0-h4ef8376_0.tar.bz2": { - "depends": [ - "arb-bio-tools", - "boost >=1.67.0,<1.67.1.0a0", - "libstdcxx-ng >=4.9", - "tbb >=2019.2,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "sina-1.5.0-hc7f9b0f_0.tar.bz2": { - "depends": [ - "arb-bio-tools", - "boost-cpp >=1.68.0,<1.68.1.0a0", - "glib >=2.58.2,<3.0a0", - "libarbdb 6.0.6 haa8b8d8_8", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb >=2019.3,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "sina-1.6.0-hc7f9b0f_0.tar.bz2": { - "depends": [ - "arb-bio-tools", - "boost-cpp >=1.68.0,<1.68.1.0a0", - "glib >=2.58.3,<3.0a0", - "libarbdb 6.0.6 haa8b8d8_8", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb >=2019.5,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "sina-1.6.1-h9aa86b4_0.tar.bz2": { - "depends": [ - "arb-bio-tools", - "boost-cpp >=1.70.0,<1.70.1.0a0", - "glib >=2.58.3,<3.0a0", - "libarbdb 6.0.6 haa8b8d8_8", - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "tbb >=2020.1,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "sina-1.7.0-h9aa86b4_0.tar.bz2": { - "depends": [ - "arb-bio-tools", - "boost-cpp >=1.70.0,<1.70.1.0a0", - "glib >=2.58.3,<3.0a0", - "libarbdb 6.0.6 haa8b8d8_8", - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "tbb >=2020.1,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "sina-1.7.1-h9aa86b4_0.tar.bz2": { - "depends": [ - "arb-bio-tools", - "boost-cpp >=1.70.0,<1.70.1.0a0", - "glib >=2.58.3,<3.0a0", - "libarbdb 6.0.6 haa8b8d8_8", - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "tbb >=2020.1,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "sina-1.7.2-h9aa86b4_0.tar.bz2": { - "depends": [ - "arb-bio-tools", - "boost-cpp >=1.70.0,<1.70.1.0a0", - "glib >=2.58.3,<3.0a0", - "libarbdb 6.0.6 haa8b8d8_8", - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "tbb >=2020.2,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "spydrpick-1.0.0-h6bb024c_0.tar.bz2": { - "depends": [ - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "pthread-stubs", - "tbb >=2019.3,<2021.0.0a0" - ] - }, - "spydrpick-1.1.0-h6bb024c_0.tar.bz2": { - "depends": [ - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "pthread-stubs", - "tbb >=2019.3,<2021.0.0a0" - ] - }, - "spydrpick-1.1.1-h6bb024c_0.tar.bz2": { - "depends": [ - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "pthread-stubs", - "tbb >=2019.3,<2021.0.0a0" - ] - }, - "spydrpick-1.2.0-h78a066a_0.tar.bz2": { - "depends": [ - "libgcc-ng >=7.3.0", - "libstdcxx-ng >=7.3.0", - "pthread-stubs", - "tbb >=2019.9,<2021.0.0a0" - ] - }, - "squeakr-0.5-0.tar.bz2": { - "depends": [ - "boost 1.64*", - "bzip2", - "libgcc", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.8*" - ] - }, - "squeakr-0.5-1.tar.bz2": { - "depends": [ - "boost 1.64*", - "bzip2 1.0*", - "libgcc", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "swipe-2.0.12-0.tar.bz2": { - "depends": [ - "libgcc", - "openmpi", - "tbb <2021.0.0a0" - ] - }, - "swipe-2.0.12-h470a237_1.tar.bz2": { - "depends": [ - "libgcc-ng >=4.9", - "openmpi", - "tbb <2021.0.0a0" - ] - }, - "swipe-2.1.0-h470a237_0.tar.bz2": { - "depends": [ - "libgcc-ng >=4.9", - "openmpi", - "tbb <2021.0.0a0" - ] - }, - "swipe-2.1.0-h78e549b_1.tar.bz2": { - "depends": [ - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "openmpi >=4.0.4,<4.1.0a0", - "tbb >=2020.1,<2021.0.0a0" - ] - }, - "t_coffee-11.0.8-py27_1.tar.bz2": { - "depends": [ - "curl", - "openssl >=1.1.0,<=1.1.1", - "python 2.7*", - "zlib" - ] - }, - "t_coffee-11.0.8-py27_2.tar.bz2": { - "depends": [ - "curl", - "openssl >=1.1.0,<=1.1.1", - "perl-threaded", - "python 2.7*", - "zlib" - ] - }, - "t_coffee-11.0.8-py27pl5.22.0_3.tar.bz2": { - "depends": [ - "curl", - "openssl >=1.1.0,<=1.1.1", - "perl 5.22.0*", - "python 2.7*", - "zlib 1.2.11*" - ] - }, - "t_coffee-11.0.8-py27pl5.22.0_4.tar.bz2": { - "depends": [ - "curl", - "openssl >=1.1.0,<=1.1.1", - "perl 5.22.0*", - "python 2.7*", - "zlib 1.2.11*" - ] - }, - "t_coffee-11.0.8-py27pl5.22.0_5.tar.bz2": { - "depends": [ - "curl", - "libgcc", - "openssl >=1.1.0,<=1.1.1", - "perl 5.22.0*", - "python 2.7*", - "zlib 1.2.11*" - ] - }, - "t_coffee-11.0.8-py34_1.tar.bz2": { - "depends": [ - "curl", - "openssl >=1.1.0,<=1.1.1", - "python 3.4*", - "zlib" - ] - }, - "t_coffee-11.0.8-py34_2.tar.bz2": { - "depends": [ - "curl", - "openssl >=1.1.0,<=1.1.1", - "perl-threaded", - "python 3.4*", - "zlib" - ] - }, - "t_coffee-11.0.8-py35_1.tar.bz2": { - "depends": [ - "curl", - "openssl >=1.1.0,<=1.1.1", - "python 3.5*", - "zlib" - ] - }, - "t_coffee-11.0.8-py35_2.tar.bz2": { - "depends": [ - "curl", - "openssl >=1.1.0,<=1.1.1", - "perl-threaded", - "python 3.5*", - "zlib" - ] - }, - "t_coffee-11.0.8-py35pl5.22.0_3.tar.bz2": { - "depends": [ - "curl", - "openssl >=1.1.0,<=1.1.1", - "perl 5.22.0*", - "python 3.5*", - "zlib 1.2.11*" - ] - }, - "t_coffee-11.0.8-py35pl5.22.0_4.tar.bz2": { - "depends": [ - "curl", - "openssl >=1.1.0,<=1.1.1", - "perl 5.22.0*", - "python 3.5*", - "zlib 1.2.11*" - ] - }, - "t_coffee-11.0.8-py35pl5.22.0_5.tar.bz2": { - "depends": [ - "curl", - "libgcc", - "openssl >=1.1.0,<=1.1.1", - "perl 5.22.0*", - "python 3.5*", - "zlib 1.2.11*" - ] - }, - "t_coffee-11.0.8-py36_2.tar.bz2": { - "depends": [ - "curl", - "openssl >=1.1.0,<=1.1.1", - "perl-threaded", - "python 3.6*", - "zlib" - ] - }, - "t_coffee-11.0.8-py36pl5.22.0_3.tar.bz2": { - "depends": [ - "curl", - "openssl >=1.1.0,<=1.1.1", - "perl 5.22.0*", - "python 3.6*", - "zlib 1.2.11*" - ] - }, - "t_coffee-11.0.8-py36pl5.22.0_4.tar.bz2": { - "depends": [ - "curl", - "openssl >=1.1.0,<=1.1.1", - "perl 5.22.0*", - "python 3.6*", - "zlib 1.2.11*" - ] - }, - "t_coffee-11.0.8-py36pl5.22.0_5.tar.bz2": { - "depends": [ - "curl", - "libgcc", - "openssl >=1.1.0,<=1.1.1", - "perl 5.22.0*", - "python 3.6*", - "zlib 1.2.11*" - ] - }, - "twopaco-0.9.2-0.tar.bz2": { - "depends": [ - "libgcc", - "tbb <2021.0.0a0" - ] - }, - "twopaco-0.9.2-he1b5a44_3.tar.bz2": { - "depends": [ - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "tbb >=2020.1,<2021.0.0a0" - ] - }, - "twopaco-0.9.2-hfc679d8_2.tar.bz2": { - "depends": [ - "libgcc-ng >=4.9", - "libstdcxx-ng >=4.9", - "tbb >=2019.1,<2021.0.0a0" - ] - }, - "twopaco-0.9.4-he1b5a44_0.tar.bz2": { - "depends": [ - "libgcc-ng >=7.5.0", - "libstdcxx-ng >=7.5.0", - "tbb >=2020.2,<2021.0.0a0" - ] - }, - "ucsc-addcols-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-addcols-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-addcols-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-addcols-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-ameme-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-ameme-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-ameme-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-autodtd-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-autodtd-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-autodtd-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-autosql-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-autosql-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-autosql-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-autoxml-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-autoxml-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-autoxml-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-avecols-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-avecols-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-avecols-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-axtchain-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-axtchain-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-axtchain-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-axtsort-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-axtsort-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-axtsort-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-axtswap-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-axtswap-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-axtswap-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-axttomaf-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-axttomaf-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-axttomaf-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-axttomaf-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-axttopsl-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-axttopsl-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-axttopsl-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-axttopsl-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bamtopsl-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bamtopsl-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bedclip-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedclip-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedclip-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedclip-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bedcommonregions-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedcommonregions-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedcommonregions-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedcommonregions-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bedcoverage-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedcoverage-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedcoverage-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedcoverage-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bedextendranges-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedextendranges-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedextendranges-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedextendranges-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bedgeneparts-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedgeneparts-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedgeneparts-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedgeneparts-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bedgraphpack-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedgraphpack-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedgraphpack-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedgraphpack-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bedgraphtobigwig-308-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bedgraphtobigwig-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedgraphtobigwig-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedgraphtobigwig-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedgraphtobigwig-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bedintersect-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedintersect-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedintersect-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedintersect-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-beditemoverlapcount-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-beditemoverlapcount-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-beditemoverlapcount-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-beditemoverlapcount-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bedjointaboffset-377-1.tar.bz2": { - "depends": [ - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "python", - "zlib" - ] - }, - "ucsc-bedjointaboffset-377-h9ee0642_2.tar.bz2": { - "depends": [ - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "python", - "zlib" - ] - }, - "ucsc-bedpileups-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedpileups-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedpileups-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedpileups-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bedremoveoverlap-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedremoveoverlap-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedremoveoverlap-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedremoveoverlap-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bedrestricttopositions-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedrestricttopositions-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedrestricttopositions-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedrestricttopositions-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bedsort-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedsort-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedsort-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedsort-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bedtobigbed-323-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedtobigbed-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedtobigbed-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedtobigbed-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedtobigbed-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bedtogenepred-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedtogenepred-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedtogenepred-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedtogenepred-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bedtopsl-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedtopsl-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedtopsl-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedtopsl-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bedweedoverlapping-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedweedoverlapping-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedweedoverlapping-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bedweedoverlapping-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bigbedinfo-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigbedinfo-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigbedinfo-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigbedinfo-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bigbednameditems-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigbednameditems-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigbednameditems-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigbednameditems-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bigbedsummary-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigbedsummary-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigbedsummary-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigbedsummary-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bigbedtobed-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigbedtobed-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigbedtobed-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigbedtobed-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bigmaftomaf-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigmaftomaf-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bigpsltopsl-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigpsltopsl-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigpsltopsl-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bigwigaverageoverbed-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwigaverageoverbed-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwigaverageoverbed-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwigaverageoverbed-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bigwigcat-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwigcat-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwigcat-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwigcat-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bigwigcluster-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwigcluster-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwigcluster-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwigcluster-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bigwigcorrelate-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwigcorrelate-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwigcorrelate-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwigcorrelate-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bigwiginfo-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwiginfo-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwiginfo-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwiginfo-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bigwigmerge-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwigmerge-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwigmerge-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwigmerge-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bigwigsummary-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwigsummary-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwigsummary-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwigsummary-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bigwigtobedgraph-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwigtobedgraph-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwigtobedgraph-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwigtobedgraph-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bigwigtowig-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwigtowig-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwigtowig-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-bigwigtowig-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-blasttopsl-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-blasttopsl-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-blasttopsl-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-blasttopsl-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-blat-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-blat-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-catdir-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-catdir-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-catdir-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-catuncomment-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-catuncomment-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-catuncomment-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-chainantirepeat-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainantirepeat-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainantirepeat-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainantirepeat-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-chainfilter-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainfilter-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainfilter-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainfilter-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-chainmergesort-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainmergesort-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainmergesort-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainmergesort-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-chainnet-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainnet-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainnet-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainnet-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-chainprenet-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainprenet-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainprenet-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainprenet-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-chainsort-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainsort-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainsort-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainsort-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-chainsplit-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainsplit-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainsplit-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainsplit-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-chainstitchid-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainstitchid-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainstitchid-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainstitchid-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-chainswap-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainswap-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainswap-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chainswap-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-chaintoaxt-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chaintoaxt-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chaintoaxt-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chaintoaxt-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-chaintopsl-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chaintopsl-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chaintopsl-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chaintopsl-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-chaintopslbasic-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chaintopslbasic-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chaintopslbasic-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chaintopslbasic-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-checkagpandfa-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-checkagpandfa-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-checkagpandfa-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-checkcoveragegaps-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-checkcoveragegaps-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-checkcoveragegaps-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-checkhgfindspec-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-checkhgfindspec-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-checkhgfindspec-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-checktablecoords-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-checktablecoords-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-checktablecoords-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-chopfalines-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chopfalines-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chopfalines-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-chromgraphfrombin-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chromgraphfrombin-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chromgraphfrombin-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-chromgraphtobin-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chromgraphtobin-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-chromgraphtobin-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-clustergenes-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-coltransform-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-coltransform-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-coltransform-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-countchars-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-countchars-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-countchars-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-crtreeindexbed-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-crtreeindexbed-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-crtreeindexbed-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-crtreeindexbed-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-crtreesearchbed-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-crtreesearchbed-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-crtreesearchbed-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-crtreesearchbed-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-dbsnoop-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-dbsnoop-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-dbsnoop-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-dbtrash-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-dbtrash-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-dbtrash-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-estorient-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-estorient-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-estorient-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-expmatrixtobarchartbed-357-py27_0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "python 2.7*", - "zlib" - ] - }, - "ucsc-expmatrixtobarchartbed-357-py27_1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "python 2.7*", - "zlib 1.2.11*" - ] - }, - "ucsc-expmatrixtobarchartbed-357-py35_0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "python 3.5*", - "zlib" - ] - }, - "ucsc-expmatrixtobarchartbed-357-py35_1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "python 3.5*", - "zlib 1.2.11*" - ] - }, - "ucsc-expmatrixtobarchartbed-357-py36_0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "python 3.6*", - "zlib" - ] - }, - "ucsc-expmatrixtobarchartbed-357-py36_1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "python 3.6*", - "zlib 1.2.11*" - ] - }, - "ucsc-expmatrixtobarchartbed-377-1.tar.bz2": { - "depends": [ - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "python", - "zlib" - ] - }, - "ucsc-expmatrixtobarchartbed-377-h9ee0642_2.tar.bz2": { - "depends": [ - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "python", - "zlib" - ] - }, - "ucsc-faalign-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-faalign-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-faalign-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-facmp-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-facmp-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-facmp-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-facount-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-facount-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-facount-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-fafilter-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fafilter-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fafilter-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-fafiltern-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fafiltern-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fafiltern-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-fafrag-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fafrag-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fafrag-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-fanoise-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fanoise-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fanoise-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-faonerecord-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-faonerecord-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-faonerecord-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-fapolyasizes-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fapolyasizes-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fapolyasizes-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-farandomize-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-farandomize-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-farandomize-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-farc-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-farc-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-farc-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-fasize-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fasize-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fasize-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-fasomerecords-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fasomerecords-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fasomerecords-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-fasplit-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fasplit-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fasplit-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-fastqstatsandsubsample-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fastqstatsandsubsample-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-fastqtofa-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fastqtofa-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fastqtofa-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-fatofastq-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fatofastq-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fatofastq-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-fatotab-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fatotab-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fatotab-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-fatotwobit-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fatotwobit-324-2.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-fatotwobit-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fatotwobit-353-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fatotwobit-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fatotwobit-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-fatrans-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fatrans-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fatrans-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-featurebits-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-featurebits-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-featurebits-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-fetchchromsizes-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fetchchromsizes-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fetchchromsizes-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-fetchchromsizes-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-fetchchromsizes-357-h5eb252a_2.tar.bz2": { - "depends": [ - "libgcc-ng >=4.9", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-findmotif-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-findmotif-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-findmotif-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-gaptolift-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-gaptolift-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-gaptolift-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-genepredcheck-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-genepredcheck-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-genepredcheck-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-genepredfilter-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-genepredfilter-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-genepredfilter-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-genepredhisto-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-genepredhisto-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-genepredhisto-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-genepredsinglecover-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-genepredsinglecover-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-genepredsinglecover-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-genepredtobed-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-genepredtobed-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-genepredtobed-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-genepredtobed-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-genepredtobiggenepred-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-genepredtobiggenepred-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-genepredtobiggenepred-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-genepredtofakepsl-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-genepredtofakepsl-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-genepredtofakepsl-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-genepredtofakepsl-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-genepredtogtf-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-genepredtogtf-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-genepredtogtf-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-genepredtomafframes-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-genepredtomafframes-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-genepredtomafframes-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-genepredtomafframes-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-genepredtoprot-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-genepredtoprot-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-getrna-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-getrna-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-getrna-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-getrnapred-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-getrnapred-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-getrnapred-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-gff3togenepred-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-gff3togenepred-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-gff3togenepred-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-gff3togenepred-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-gff3topsl-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-gff3topsl-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-gff3topsl-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-gmtime-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-gmtime-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-gtftogenepred-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-gtftogenepred-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-gtftogenepred-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-gtftogenepred-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-headrest-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-headrest-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-hgbbidblink-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-hgbbidblink-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-hgfakeagp-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-hgfakeagp-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-hgfindspec-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-hgfindspec-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-hggcpercent-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-hggcpercent-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-hggcpercent-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-hgloadbed-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-hgloadbed-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-hgloadbed-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-hgloadchain-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-hgloadchain-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-hgloadchain-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-hgloadmaf-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-hgloadmaf-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-hgloadmaf-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-hgloadnet-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-hgloadnet-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-hgloadout-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-hgloadout-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-hgloadoutjoined-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-hgloadoutjoined-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-hgloadwiggle-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-hgloadwiggle-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-hgloadwiggle-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-hgspeciesrna-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-hgspeciesrna-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-hgsqldump-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-hgsqldump-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-hgtrackdb-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-hgtrackdb-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-htmlcheck-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-htmlcheck-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-hubcheck-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-hubcheck-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-hubpubliccheck-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-ixixx-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-ixixx-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-lavtoaxt-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-lavtoaxt-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-lavtopsl-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-lavtopsl-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-lavtopsl-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-ldhggene-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-ldhggene-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-liftover-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-liftover-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-liftover-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-liftover-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-liftup-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-liftup-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-liftup-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-linestora-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-linestora-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-localtime-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-localtime-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-mafaddirows-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-mafaddirows-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-mafaddirows-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-mafaddqrows-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-mafaddqrows-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-mafaddqrows-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-mafcoverage-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-mafcoverage-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-mafcoverage-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-maffetch-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-maffetch-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-maffetch-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-maffilter-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-maffilter-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-maffilter-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-maffrag-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-maffrag-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-maffrag-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-maffrags-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-maffrags-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-maffrags-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-mafgene-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-mafgene-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-mafgene-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-mafmefirst-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-mafmefirst-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-mafmefirst-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-maforder-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-maforder-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-maforder-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-mafranges-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-mafranges-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-mafranges-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-mafsinregion-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-mafsinregion-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-mafsinregion-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-mafspecieslist-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-mafspecieslist-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-mafspecieslist-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-mafspeciessubset-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-mafspeciessubset-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-mafspeciessubset-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-mafsplit-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-mafsplit-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-mafsplit-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-mafsplitpos-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-mafsplitpos-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-mafsplitpos-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-maftoaxt-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-maftoaxt-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-maftoaxt-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-maftobigmaf-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-maftobigmaf-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-maftopsl-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-maftopsl-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-maftopsl-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-maftosnpbed-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-maftosnpbed-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-maftosnpbed-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-maketablelist-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-maketablelist-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-maskoutfa-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-maskoutfa-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-maskoutfa-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-mktime-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-mktime-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-mrnatogene-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-mrnatogene-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-netchainsubset-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-netchainsubset-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-netchainsubset-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-netclass-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-netclass-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-netclass-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-netfilter-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-netfilter-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-netfilter-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-netsplit-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-netsplit-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-netsyntenic-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-netsyntenic-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-netsyntenic-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-nettoaxt-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-nettoaxt-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-nettoaxt-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-nettobed-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-nettobed-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-nettobed-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-nettobed-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-newprog-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-newprog-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-newpythonprog-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-newpythonprog-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-newpythonprog-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-newpythonprog-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-nibfrag-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-nibfrag-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-nibfrag-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-nibfrag-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-nibsize-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-nibsize-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-nibsize-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-nibsize-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-oligomatch-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-oligomatch-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-oligomatch-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-oligomatch-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-overlapselect-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-overlapselect-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-parafetch-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-parafetch-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-parafetch-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-parafetch-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-parasync-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-parasync-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-parasync-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-parasync-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-positionaltblcheck-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-positionaltblcheck-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-positionaltblcheck-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-positionaltblcheck-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-pslcat-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslcat-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslcat-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslcat-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-pslcdnafilter-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslcdnafilter-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslcdnafilter-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslcdnafilter-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-pslcheck-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslcheck-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslcheck-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslcheck-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-psldropoverlap-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-psldropoverlap-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-psldropoverlap-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-psldropoverlap-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-pslfilter-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslfilter-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslfilter-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslfilter-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-pslhisto-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslhisto-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslhisto-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslhisto-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslliftsubrangeblat-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslliftsubrangeblat-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslliftsubrangeblat-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslliftsubrangeblat-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-pslmap-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslmap-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslmap-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslmap-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-pslmappostchain-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslmappostchain-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-pslmrnacover-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslmrnacover-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslmrnacover-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslmrnacover-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-pslpairs-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslpairs-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslpairs-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslpairs-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-pslpartition-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslpartition-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslpartition-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslpartition-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-pslpostarget-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslpostarget-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslpostarget-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslpostarget-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-pslpretty-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslpretty-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslpretty-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslpretty-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-pslrc-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslrc-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-pslrecalcmatch-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslrecalcmatch-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslrecalcmatch-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslrecalcmatch-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-pslreps-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslreps-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslreps-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslreps-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-pslscore-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslscore-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslscore-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslscore-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-pslselect-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslselect-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslselect-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslselect-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-pslsort-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslsort-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslsort-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslsort-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-pslstats-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslstats-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslstats-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslstats-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-pslswap-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslswap-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslswap-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslswap-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-psltobed-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-psltobed-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-psltobed-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-psltobed-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-psltobigpsl-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-psltobigpsl-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-psltobigpsl-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-psltobigpsl-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-psltochain-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-psltochain-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-psltochain-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-psltochain-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-psltopslx-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-psltopslx-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-psltopslx-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-psltopslx-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-pslxtofa-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslxtofa-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslxtofa-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-pslxtofa-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-qacagplift-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-qacagplift-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-qacagplift-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-qacagplift-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-qactoqa-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-qactoqa-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-qactoqa-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-qactoqa-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-qactowig-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-qactowig-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-qactowig-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-qactowig-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-qatoqac-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-qatoqac-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-qatoqac-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-qatoqac-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-randomlines-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-randomlines-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-randomlines-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-randomlines-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-rasqlquery-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-rasqlquery-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-rasqlquery-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-rasqlquery-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-ratolines-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-ratolines-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-ratolines-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-ratolines-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-ratotab-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-ratotab-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-ratotab-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-ratotab-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-rmfadups-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-rmfadups-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-rmfadups-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-rmfadups-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-rowstocols-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-rowstocols-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-rowstocols-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-rowstocols-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-spacedtotab-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-spacedtotab-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-spacedtotab-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-spacedtotab-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-splitfile-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-splitfile-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-splitfile-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-splitfile-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-splitfilebycolumn-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-splitfilebycolumn-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-splitfilebycolumn-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-splitfilebycolumn-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-sqltoxml-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-sqltoxml-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-sqltoxml-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-sqltoxml-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-stringify-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-stringify-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-stringify-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-stringify-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-subchar-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-subchar-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-subchar-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-subchar-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-subcolumn-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-subcolumn-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-subcolumn-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-subcolumn-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-taillines-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-taillines-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-taillines-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-taillines-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-tdbquery-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-tdbquery-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-tdbquery-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-tdbquery-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-texthistogram-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-texthistogram-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-texthistogram-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-texthistogram-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-ticktodate-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-ticktodate-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-ticktodate-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-ticktodate-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-tolower-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-tolower-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-tolower-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-tolower-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-toupper-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-toupper-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-toupper-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-toupper-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-transmappsltogenepred-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-transmappsltogenepred-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-trfbig-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-trfbig-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-trfbig-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-trfbig-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-twobitdup-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-twobitdup-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-twobitdup-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-twobitdup-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-twobitinfo-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-twobitinfo-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-twobitinfo-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-twobitinfo-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-twobitmask-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-twobitmask-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-twobitmask-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-twobitmask-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-twobittofa-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-twobittofa-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-twobittofa-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-twobittofa-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-validatefiles-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-validatefiles-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-validatefiles-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-validatefiles-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-validatemanifest-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-validatemanifest-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-validatemanifest-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-validatemanifest-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-websync-377-1.tar.bz2": { - "depends": [ - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "python", - "zlib" - ] - }, - "ucsc-websync-377-h9ee0642_2.tar.bz2": { - "depends": [ - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "python", - "zlib" - ] - }, - "ucsc-wigcorrelate-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-wigcorrelate-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-wigcorrelate-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-wigcorrelate-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-wigtobigwig-324-0.tar.bz2": { - "depends": [ - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-wigtobigwig-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-wigtobigwig-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-wigtobigwig-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-wordline-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-wordline-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-wordline-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-wordline-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-xmlcat-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-xmlcat-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-xmlcat-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-xmlcat-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-xmltosql-324-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-xmltosql-332-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "mysql", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-xmltosql-357-0.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "ucsc-xmltosql-357-1.tar.bz2": { - "depends": [ - "libgcc", - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "verifybamid2-1.0.4-0.tar.bz2": { - "depends": [ - "bzip2 1.0*", - "curl", - "libgcc", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "verifybamid2-1.0.5-0.tar.bz2": { - "depends": [ - "bzip2 1.0*", - "curl", - "libgcc", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - } - }, - "patch_instructions_version": 1, - "remove": [], - "revoke": [] -} \ No newline at end of file diff --git a/recipes/bioconda-repodata-patches/patches/noarch/patch_instructions.json b/recipes/bioconda-repodata-patches/patches/noarch/patch_instructions.json deleted file mode 100644 index 1f78f2f2d660e..0000000000000 --- a/recipes/bioconda-repodata-patches/patches/noarch/patch_instructions.json +++ /dev/null @@ -1,104187 +0,0 @@ -{ - "packages": { - "biobasehttptools-1.0.1-0.tar.bz2": { - "depends": [ - "ca-certificates", - "openssl >=1.1.0,<=1.1.1" - ] - }, - "biobasehttptools-1.1.0-0.tar.bz2": { - "depends": [ - "ca-certificates", - "openssl >=1.1.0,<=1.1.1" - ] - }, - "biobasehttptools-1.1.0-hdfd78af_1.tar.bz2": { - "depends": [ - "ca-certificates", - "openssl >=1.1.0,<=1.1.1" - ] - }, - "bioconductor-abadata-1.14.0-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-abadata-1.14.0-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-abadata-1.16.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-abadata-1.18.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-abadata-1.20.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-abadata-1.20.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-abadata-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-abadata-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-abadata-1.24.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-adductdata-1.0.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.16.0,<2.17.0", - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-adductdata-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-adductdata-1.10.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-adductdata-1.14.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221109", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-adductdata-1.2.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-adductdata-1.4.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-adductdata-1.6.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-adductdata-1.6.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-adductdata-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-adme16cod.db-3.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-adme16cod.db-3.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-adme16cod.db-3.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-adme16cod.db-3.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-adme16cod.db-3.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-adme16cod.db-3.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-adme16cod.db-3.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-adme16cod.db-3.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-adme16cod.db-3.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-affycompdata-1.22.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-affycomp >=1.60.0,<1.61.0", - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-affycompdata-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-affycomp >=1.62.0,<1.63.0", - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-affycompdata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affycomp >=1.64.0,<1.65.0", - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-affycompdata-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affycomp >=1.66.0,<1.67.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-affycompdata-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affycomp >=1.66.0,<1.67.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-affycompdata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affycomp >=1.68.0,<1.69.0", - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-affycompdata-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affycomp >=1.70.0,<1.71.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-affycompdata-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affycomp >=1.70.0,<1.71.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-affycompdata-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affycomp >=1.74.0,<1.75.0", - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-affydata-1.32.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.62.0,<1.63.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-affydata-1.34.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.64.0,<1.65.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-affydata-1.36.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.66.0,<1.67.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-affydata-1.38.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-affydata-1.38.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-affydata-1.40.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.70.0,<1.71.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-affydata-1.42.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-affydata-1.42.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-affydata-1.46.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.76.0,<1.77.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-affyhgu133a2expr-1.20.0-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-affyhgu133a2expr-1.20.0-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-affyhgu133a2expr-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-affyhgu133a2expr-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-affyhgu133a2expr-1.25.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-affyhgu133a2expr-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-affyhgu133a2expr-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-affyhgu133a2expr-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-affyhgu133a2expr-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-affyhgu133a2expr-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-affyhgu133a2expr-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-affyhgu133aexpr-1.22.0-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-affyhgu133aexpr-1.22.0-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-affyhgu133aexpr-1.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-affyhgu133aexpr-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-affyhgu133aexpr-1.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-affyhgu133aexpr-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-affyhgu133aexpr-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-affyhgu133aexpr-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-affyhgu133aexpr-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-affyhgu133aexpr-1.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-affyhgu133plus2expr-1.18.0-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-affyhgu133plus2expr-1.18.0-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-affyhgu133plus2expr-1.20.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-affyhgu133plus2expr-1.22.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-affyhgu133plus2expr-1.23.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-affyhgu133plus2expr-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-affyhgu133plus2expr-1.24.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-affyhgu133plus2expr-1.26.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-affyhgu133plus2expr-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-affyhgu133plus2expr-1.28.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-affyhgu133plus2expr-1.31.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-affymetrixdatatestfiles-0.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-affymetrixdatatestfiles-0.22.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-affymetrixdatatestfiles-0.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-affymetrixdatatestfiles-0.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-affymetrixdatatestfiles-0.27.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-affymetrixdatatestfiles-0.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-affymetrixdatatestfiles-0.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-affymetrixdatatestfiles-0.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-affymetrixdatatestfiles-0.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-affymetrixdatatestfiles-0.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-affymetrixdatatestfiles-0.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-affymoe4302expr-1.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-affymoe4302expr-1.22.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-affymoe4302expr-1.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-affymoe4302expr-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-affymoe4302expr-1.27.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-affymoe4302expr-1.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-affymoe4302expr-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-affymoe4302expr-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-affymoe4302expr-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-affymoe4302expr-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-affymoe4302expr-1.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ag.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.at.tair.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ag.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.at.tair.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ag.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.at.tair.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ag.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.at.tair.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ag.db-3.2.3-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.at.tair.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ag.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.at.tair.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ag.db-3.2.3-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.at.tair.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ag.db-3.2.3-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.at.tair.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ag.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.at.tair.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-agcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-agcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-agcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-agcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-agcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-agcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-agcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-agcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-agcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-agprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-agprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-agprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-agprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-agprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-agprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-agprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-agprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-agprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ahcytobands-0.99.0-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-ahcytobands-0.99.0-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ahcytobands-0.99.0-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ahcytobands-0.99.0-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ahcytobands-0.99.0-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ahcytobands-0.99.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ahcytobands-0.99.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ahcytobands-0.99.1-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ahcytobands-0.99.1-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ahcytobands-0.99.1-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ahensdbs-1.0.12-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhubdata >=1.16.0,<1.17.0", - "bioconductor-ensembldb >=2.10.0,<2.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ahensdbs-1.0.14-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhubdata >=1.18.0,<1.19.0", - "bioconductor-ensembldb >=2.12.0,<2.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ahensdbs-1.0.15-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhubdata >=1.20.0,<1.21.0", - "bioconductor-ensembldb >=2.14.0,<2.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ahensdbs-1.0.18-r40hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhubdata >=1.20.0,<1.21.0", - "bioconductor-ensembldb >=2.14.0,<2.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ahensdbs-1.0.18-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhubdata >=1.22.0,<1.23.0", - "bioconductor-ensembldb >=2.16.0,<2.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ahensdbs-1.0.9-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhubdata >=1.14.0,<1.15.0", - "bioconductor-ensembldb >=2.8.0,<2.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ahensdbs-1.1.2-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhubdata >=1.24.0,<1.25.0", - "bioconductor-ensembldb >=2.18.0,<2.19.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ahensdbs-1.1.4-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhubdata >=1.24.0,<1.25.0", - "bioconductor-ensembldb >=2.18.0,<2.19.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ahensdbs-1.1.8-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhubdata >=1.28.0,<1.29.0", - "bioconductor-data-packages >=20221102", - "bioconductor-ensembldb >=2.22.0,<2.23.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ahlrbasedbs-0.99.3-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ahlrbasedbs-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ahlrbasedbs-1.2.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ahlrbasedbs-1.5.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ahmeshdbs-0.99.6-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ahmeshdbs-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ahmeshdbs-1.2.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ahmeshdbs-1.5.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ahpathbankdbs-0.99.5-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ahpathbankdbs-0.99.5-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ahpathbankdbs-0.99.5-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ahpathbankdbs-0.99.5-r42hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ahpubmeddbs-0.99.8-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ahpubmeddbs-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ahpubmeddbs-1.2.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ahpubmeddbs-1.5.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ahwikipathwaysdbs-0.99.4-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ahwikipathwaysdbs-0.99.4-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ahwikipathwaysdbs-0.99.4-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ahwikipathwaysdbs-0.99.4-r42hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-airway-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-airway-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-airway-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-airway-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-airway-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-airway-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-airway-1.4.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-airway-1.6.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-airway-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-all-1.26.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-all-1.28.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-all-1.30.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-all-1.32.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-all-1.32.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-all-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-all-1.36.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-all-1.36.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-all-1.40.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-allenpvc-1.2.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.16.0,<2.17.0", - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "bioconductor-singlecellexperiment >=1.6.0,<1.7.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-allenpvc-1.4.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-singlecellexperiment >=1.8.0,<1.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-allmll-1.24.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.62.0,<1.63.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-allmll-1.26.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.64.0,<1.65.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-allmll-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.66.0,<1.67.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-allmll-1.30.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-allmll-1.30.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-allmll-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.70.0,<1.71.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-allmll-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-allmll-1.34.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-allmll-1.38.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.76.0,<1.77.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-alpinedata-1.10.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.16.0,<2.17.0", - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "bioconductor-genomicalignments >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-alpinedata-1.12.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-genomicalignments >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-alpinedata-1.14.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-genomicalignments >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-alpinedata-1.16.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-genomicalignments >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-alpinedata-1.16.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-genomicalignments >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-alpinedata-1.18.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-genomicalignments >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-alpinedata-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-genomicalignments >=1.30.0,<1.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-alpinedata-1.20.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-genomicalignments >=1.30.0,<1.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-alpinedata-1.24.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-genomicalignments >=1.34.0,<1.35.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-alternativesplicingevents.hg19-1.0.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.16.0,<2.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-alternativesplicingevents.hg19-1.0.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-alternativesplicingevents.hg19-1.0.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-alternativesplicingevents.hg19-1.0.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-alternativesplicingevents.hg19-1.0.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-alternativesplicingevents.hg19-1.0.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-alternativesplicingevents.hg19-1.1.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-alternativesplicingevents.hg19-1.1.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-alternativesplicingevents.hg19-1.1.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-alternativesplicingevents.hg38-1.0.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.16.0,<2.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-alternativesplicingevents.hg38-1.0.1-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-alternativesplicingevents.hg38-1.0.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-alternativesplicingevents.hg38-1.0.1-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-alternativesplicingevents.hg38-1.0.1-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-alternativesplicingevents.hg38-1.0.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-alternativesplicingevents.hg38-1.1.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-alternativesplicingevents.hg38-1.1.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-alternativesplicingevents.hg38-1.1.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ampaffyexample-1.24.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.62.0,<1.63.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ampaffyexample-1.26.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.64.0,<1.65.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ampaffyexample-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.66.0,<1.67.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ampaffyexample-1.30.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ampaffyexample-1.30.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ampaffyexample-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.70.0,<1.71.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ampaffyexample-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ampaffyexample-1.34.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ampaffyexample-1.38.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.76.0,<1.77.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-aneufinderdata-1.12.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-aneufinderdata-1.12.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-aneufinderdata-1.14.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-aneufinderdata-1.16.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-aneufinderdata-1.17.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-aneufinderdata-1.18.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-aneufinderdata-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-aneufinderdata-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-aneufinderdata-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-aneufinderdata-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-aneufinderdata-1.25.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-aneufinderdata-1.26.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221107", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-anopheles.db0-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-anopheles.db0-3.11.2-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-anopheles.db0-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-anopheles.db0-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-anopheles.db0-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-anopheles.db0-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-anopheles.db0-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-anopheles.db0-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-anopheles.db0-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-antiprofilesdata-1.20.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-antiprofilesdata-1.22.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-antiprofilesdata-1.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-antiprofilesdata-1.25.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-antiprofilesdata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-antiprofilesdata-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-antiprofilesdata-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-antiprofilesdata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-antiprofilesdata-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-antiprofilesdata-1.34.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-arabidopsis.db0-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-arabidopsis.db0-3.11.3-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-arabidopsis.db0-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-arabidopsis.db0-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-arabidopsis.db0-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-arabidopsis.db0-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-arabidopsis.db0-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-arabidopsis.db0-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-arabidopsis.db0-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-aracne.networks-1.10.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-viper >=1.18.0,<1.19.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-aracne.networks-1.12.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-viper >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-aracne.networks-1.14.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-viper >=1.22.0,<1.23.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-aracne.networks-1.15.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-viper >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-aracne.networks-1.16.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-viper >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-aracne.networks-1.16.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-viper >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-aracne.networks-1.18.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-viper >=1.26.0,<1.27.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-aracne.networks-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-viper >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-aracne.networks-1.20.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-viper >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-aracne.networks-1.24.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221104", - "bioconductor-viper >=1.32.0,<1.33.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-arrmdata-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-arrmdata-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-arrmdata-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-arrmdata-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-arrmdata-1.25.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-arrmdata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-arrmdata-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-arrmdata-1.26.0-r40hdfd78af_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-arrmdata-1.26.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-arrmdata-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-arrmdata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-arrmdata-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-arrmdata-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ashkenazimsonchr21-1.14.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-ashkenazimsonchr21-1.14.0-r361_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ashkenazimsonchr21-1.16.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ashkenazimsonchr21-1.18.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ashkenazimsonchr21-1.19.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ashkenazimsonchr21-1.20.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ashkenazimsonchr21-1.20.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ashkenazimsonchr21-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ashkenazimsonchr21-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ashkenazimsonchr21-1.24.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ashkenazimsonchr21-1.28.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-asicsdata-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-asicsdata-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-asicsdata-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-asicsdata-1.17.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-asicsdata-1.4.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-asicsdata-1.4.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-asicsdata-1.6.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-asicsdata-1.8.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-assessorfdata-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-decipher >=2.20.0,<2.21.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-assessorfdata-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-decipher >=2.22.0,<2.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-assessorfdata-1.12.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-decipher >=2.22.0,<2.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-assessorfdata-1.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221107", - "bioconductor-decipher >=2.26.0,<2.27.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-assessorfdata-1.2.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-decipher >=2.12.0,<2.13.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-assessorfdata-1.4.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-decipher >=2.14.0,<2.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-assessorfdata-1.6.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-decipher >=2.16.0,<2.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-assessorfdata-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-decipher >=2.18.0,<2.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-assessorfdata-1.8.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-decipher >=2.18.0,<2.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ath1121501.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.at.tair.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ath1121501.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.at.tair.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ath1121501.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.at.tair.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ath1121501.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.at.tair.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ath1121501.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.at.tair.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ath1121501.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.at.tair.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ath1121501.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.at.tair.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ath1121501.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.at.tair.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ath1121501.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.at.tair.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ath1121501cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ath1121501cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ath1121501cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ath1121501cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ath1121501cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ath1121501cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ath1121501cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ath1121501cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ath1121501cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ath1121501probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ath1121501probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ath1121501probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ath1121501probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ath1121501probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ath1121501probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ath1121501probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ath1121501probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ath1121501probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-barley1cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-barley1cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-barley1cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-barley1cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-barley1cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-barley1cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-barley1cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-barley1cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-barley1cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-barley1probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-barley1probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-barley1probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-barley1probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-barley1probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-barley1probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-barley1probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-barley1probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-barley1probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bcellviper-1.20.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bcellviper-1.22.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bcellviper-1.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bcellviper-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bcellviper-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bcellviper-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bcellviper-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bcellviper-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bcellviper-1.34.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-beadarrayexampledata-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-beadarray >=2.34.0,<2.35.0", - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-beadarrayexampledata-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-beadarray >=2.36.0,<2.37.0", - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-beadarrayexampledata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-beadarray >=2.38.0,<2.39.0", - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-beadarrayexampledata-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-beadarray >=2.40.0,<2.41.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-beadarrayexampledata-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-beadarray >=2.40.0,<2.41.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-beadarrayexampledata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-beadarray >=2.42.0,<2.43.0", - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-beadarrayexampledata-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-beadarray >=2.44.0,<2.45.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-beadarrayexampledata-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-beadarray >=2.44.0,<2.45.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-beadarrayexampledata-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-beadarray >=2.48.0,<2.49.0", - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221107", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-beadarrayusecases-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-beadarray >=2.34.0,<2.35.0", - "bioconductor-geoquery >=2.52.0,<2.53.0", - "bioconductor-limma >=3.40.0,<3.41.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-beadarrayusecases-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-beadarray >=2.36.0,<2.37.0", - "bioconductor-geoquery >=2.54.0,<2.55.0", - "bioconductor-limma >=3.42.0,<3.43.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-beadarrayusecases-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-beadarray >=2.38.0,<2.39.0", - "bioconductor-geoquery >=2.56.0,<2.57.0", - "bioconductor-limma >=3.44.0,<3.45.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-beadarrayusecases-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-beadarray >=2.40.0,<2.41.0", - "bioconductor-geoquery >=2.58.0,<2.59.0", - "bioconductor-limma >=3.46.0,<3.47.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-beadarrayusecases-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-beadarray >=2.40.0,<2.41.0", - "bioconductor-geoquery >=2.58.0,<2.59.0", - "bioconductor-limma >=3.46.0,<3.47.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-beadarrayusecases-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-beadarray >=2.42.0,<2.43.0", - "bioconductor-geoquery >=2.60.0,<2.61.0", - "bioconductor-limma >=3.48.0,<3.49.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-beadarrayusecases-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-beadarray >=2.44.0,<2.45.0", - "bioconductor-geoquery >=2.62.0,<2.63.0", - "bioconductor-limma >=3.50.0,<3.51.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-beadarrayusecases-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-beadarray >=2.44.0,<2.45.0", - "bioconductor-geoquery >=2.62.0,<2.63.0", - "bioconductor-limma >=3.50.0,<3.51.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-beadarrayusecases-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-beadarray >=2.48.0,<2.49.0", - "bioconductor-data-packages >=20221107", - "bioconductor-geoquery >=2.66.0,<2.67.0", - "bioconductor-limma >=3.54.0,<3.55.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-beadsorted.saliva.epic-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-minfi >=1.38.0,<1.39.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-beadsorted.saliva.epic-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-beadsorted.saliva.epic-1.2.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-beadsorted.saliva.epic-1.6.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221110", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-minfi >=1.44.0,<1.45.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-benchmarkfdrdata2019-1.0.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-benchmarkfdrdata2019-1.12.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-benchmarkfdrdata2019-1.2.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-benchmarkfdrdata2019-1.4.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-benchmarkfdrdata2019-1.4.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-benchmarkfdrdata2019-1.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-benchmarkfdrdata2019-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-benchmarkfdrdata2019-1.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-beta7-1.22.0-r351_0.tar.bz2": { - "depends": [ - "bioconductor-marray >=1.62.0,<1.63.0", - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-beta7-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-marray >=1.62.0,<1.63.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-beta7-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-marray >=1.64.0,<1.65.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-beta7-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-marray >=1.66.0,<1.67.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-beta7-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-marray >=1.68.0,<1.69.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-beta7-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-marray >=1.68.0,<1.69.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-beta7-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-marray >=1.70.0,<1.71.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-beta7-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-marray >=1.72.0,<1.73.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-beta7-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-marray >=1.72.0,<1.73.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-beta7-1.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-marray >=1.76.0,<1.77.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bioimagedbs-1.0.2-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.34.0,<4.35.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-markdown", - "r-rmarkdown" - ] - }, - "bioconductor-bioimagedbs-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.36.0,<4.37.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-animation", - "r-base >=4.1,<4.2.0a0", - "r-einsum", - "r-filesstrings", - "r-magick", - "r-magrittr", - "r-markdown", - "r-rmarkdown" - ] - }, - "bioconductor-bioimagedbs-1.2.2-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.36.0,<4.37.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-animation", - "r-base >=4.1,<4.2.0a0", - "r-einsum", - "r-filesstrings", - "r-magick", - "r-magrittr", - "r-markdown", - "r-rmarkdown" - ] - }, - "bioconductor-bioimagedbs-1.6.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-ebimage >=4.40.0,<4.41.0", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-animation", - "r-base >=4.2,<4.3.0a0", - "r-einsum", - "r-filesstrings", - "r-magick", - "r-magrittr", - "r-markdown", - "r-rmarkdown" - ] - }, - "bioconductor-bioplex-1.4.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocfilecache >=2.6.0,<2.7.0", - "bioconductor-data-packages >=20221106", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-geoquery >=2.66.0,<2.67.0", - "bioconductor-graph >=1.76.0,<1.77.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-biotmledata-1.10.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-biotmledata-1.12.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-biotmledata-1.13.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-biotmledata-1.14.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-biotmledata-1.14.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-biotmledata-1.16.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-biotmledata-1.18.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-biotmledata-1.18.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-biotmledata-1.21.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-biotmledata-1.8.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-biotmledata-1.8.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-biscuiteerdata-1.0.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-curl" - ] - }, - "bioconductor-biscuiteerdata-1.12.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-curl" - ] - }, - "bioconductor-biscuiteerdata-1.2.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-curl" - ] - }, - "bioconductor-biscuiteerdata-1.4.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-curl" - ] - }, - "bioconductor-biscuiteerdata-1.4.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-curl" - ] - }, - "bioconductor-biscuiteerdata-1.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-curl" - ] - }, - "bioconductor-biscuiteerdata-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-curl" - ] - }, - "bioconductor-biscuiteerdata-1.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-curl" - ] - }, - "bioconductor-bladderbatch-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bladderbatch-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bladderbatch-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bladderbatch-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bladderbatch-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bladderbatch-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bladderbatch-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bladderbatch-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bladderbatch-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-blimatestingdata-1.10.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-blimatestingdata-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-blimatestingdata-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-blimatestingdata-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-blimatestingdata-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-blimatestingdata-1.17.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-blimatestingdata-1.4.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-blimatestingdata-1.4.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-blimatestingdata-1.6.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-blimatestingdata-1.8.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-blimatestingdata-1.9.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bloodcancermultiomics2017-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-deseq2 >=1.30.0,<1.31.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-beeswarm", - "r-devtools", - "r-dplyr", - "r-ggdendro", - "r-ggplot2", - "r-glmnet", - "r-gtable", - "r-ipflasso", - "r-rcolorbrewer", - "r-reshape2", - "r-scales", - "r-survival", - "r-tibble" - ] - }, - "bioconductor-bloodcancermultiomics2017-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-deseq2 >=1.30.0,<1.31.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-beeswarm", - "r-devtools", - "r-dplyr", - "r-ggdendro", - "r-ggplot2", - "r-glmnet", - "r-gtable", - "r-ipflasso", - "r-rcolorbrewer", - "r-reshape2", - "r-scales", - "r-survival", - "r-tibble" - ] - }, - "bioconductor-bloodcancermultiomics2017-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-deseq2 >=1.32.0,<1.33.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-beeswarm", - "r-devtools", - "r-dplyr", - "r-ggdendro", - "r-ggplot2", - "r-glmnet", - "r-gtable", - "r-ipflasso", - "r-rcolorbrewer", - "r-reshape2", - "r-scales", - "r-survival", - "r-tibble" - ] - }, - "bioconductor-bloodcancermultiomics2017-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-deseq2 >=1.34.0,<1.35.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-beeswarm", - "r-devtools", - "r-dplyr", - "r-ggdendro", - "r-ggplot2", - "r-glmnet", - "r-gtable", - "r-ipflasso", - "r-rcolorbrewer", - "r-reshape2", - "r-scales", - "r-survival", - "r-tibble" - ] - }, - "bioconductor-bloodcancermultiomics2017-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-deseq2 >=1.34.0,<1.35.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-beeswarm", - "r-devtools", - "r-dplyr", - "r-ggdendro", - "r-ggplot2", - "r-glmnet", - "r-gtable", - "r-ipflasso", - "r-rcolorbrewer", - "r-reshape2", - "r-scales", - "r-survival", - "r-tibble" - ] - }, - "bioconductor-bloodcancermultiomics2017-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221110", - "bioconductor-deseq2 >=1.38.0,<1.39.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-beeswarm", - "r-devtools", - "r-dplyr", - "r-ggdendro", - "r-ggplot2", - "r-glmnet", - "r-gtable", - "r-ipflasso", - "r-rcolorbrewer", - "r-reshape2", - "r-scales", - "r-survival", - "r-tibble" - ] - }, - "bioconductor-bloodcancermultiomics2017-1.4.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-deseq2 >=1.24.0,<1.25.0", - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-beeswarm", - "r-devtools", - "r-dplyr", - "r-ggdendro", - "r-ggplot2", - "r-glmnet", - "r-gtable", - "r-ipflasso", - "r-rcolorbrewer", - "r-reshape2", - "r-scales", - "r-survival", - "r-tibble" - ] - }, - "bioconductor-bloodcancermultiomics2017-1.6.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-deseq2 >=1.26.0,<1.27.0", - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-beeswarm", - "r-devtools", - "r-dplyr", - "r-ggdendro", - "r-ggplot2", - "r-glmnet", - "r-gtable", - "r-ipflasso", - "r-rcolorbrewer", - "r-reshape2", - "r-scales", - "r-survival", - "r-tibble" - ] - }, - "bioconductor-bloodcancermultiomics2017-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-deseq2 >=1.28.0,<1.29.0", - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-beeswarm", - "r-devtools", - "r-dplyr", - "r-ggdendro", - "r-ggplot2", - "r-glmnet", - "r-gtable", - "r-ipflasso", - "r-rcolorbrewer", - "r-reshape2", - "r-scales", - "r-survival", - "r-tibble" - ] - }, - "bioconductor-bodymaprat-1.0.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bodymaprat-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bodymaprat-1.10.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bodymaprat-1.14.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bodymaprat-1.2.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bodymaprat-1.4.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bodymaprat-1.6.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bodymaprat-1.6.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bodymaprat-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bovine.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.bt.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bovine.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.bt.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bovine.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.bt.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bovine.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.bt.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bovine.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.bt.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bovine.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.bt.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bovine.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.bt.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bovine.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.bt.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bovine.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.bt.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bovine.db0-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bovine.db0-3.11.2-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bovine.db0-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bovine.db0-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bovine.db0-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bovine.db0-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bovine.db0-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bovine.db0-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bovine.db0-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bovinecdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bovinecdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bovinecdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bovinecdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bovinecdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bovinecdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bovinecdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bovinecdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bovinecdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bovineprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bovineprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bovineprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bovineprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bovineprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bovineprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bovineprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bovineprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bovineprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-brainimagerdata-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-brainimagerdata-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-brainimagerdata-1.12.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-brainimagerdata-1.2.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-brainimagerdata-1.4.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-brainimagerdata-1.6.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-brainimagerdata-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-brainimagerdata-1.8.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breakpointrdata-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-breakpointrdata-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-breakpointrdata-1.12.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-breakpointrdata-1.15.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-breakpointrdata-1.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221107", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-breakpointrdata-1.2.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-breakpointrdata-1.2.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-breakpointrdata-1.4.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-breakpointrdata-1.6.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breakpointrdata-1.7.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breakpointrdata-1.8.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breakpointrdata-1.8.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancermainz-1.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-breastcancermainz-1.22.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-breastcancermainz-1.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-breastcancermainz-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancermainz-1.27.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancermainz-1.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancermainz-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancermainz-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-breastcancermainz-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-breastcancermainz-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-breastcancermainz-1.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-breastcancernki-1.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-breastcancernki-1.22.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-breastcancernki-1.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-breastcancernki-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancernki-1.27.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancernki-1.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancernki-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancernki-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-breastcancernki-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-breastcancernki-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-breastcancernki-1.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-breastcancertransbig-1.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-breastcancertransbig-1.22.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-breastcancertransbig-1.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-breastcancertransbig-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancertransbig-1.27.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancertransbig-1.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancertransbig-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancertransbig-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-breastcancertransbig-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-breastcancertransbig-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-breastcancertransbig-1.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-breastcancerunt-1.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-breastcancerunt-1.22.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-breastcancerunt-1.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-breastcancerunt-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancerunt-1.27.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancerunt-1.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancerunt-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancerunt-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-breastcancerunt-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-breastcancerunt-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-breastcancerunt-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-breastcancerupp-1.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-breastcancerupp-1.22.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-breastcancerupp-1.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-breastcancerupp-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancerupp-1.27.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancerupp-1.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancerupp-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancerupp-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-breastcancerupp-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-breastcancerupp-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-breastcancerupp-1.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-breastcancervdx-1.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-breastcancervdx-1.22.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-breastcancervdx-1.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-breastcancervdx-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancervdx-1.27.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancervdx-1.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancervdx-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancervdx-1.28.0-r40hdfd78af_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancervdx-1.28.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-breastcancervdx-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-breastcancervdx-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-breastcancervdx-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-breastcancervdx-1.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-breastcancervdx-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-brgedata-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-brgedata-1.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-brgedata-1.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-brgedata-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-brgedata-1.16.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-brgedata-1.16.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-brgedata-1.20.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221106", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-brgedata-1.6.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-brgedata-1.8.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bronchialil13-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.62.0,<1.63.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bronchialil13-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.64.0,<1.65.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bronchialil13-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.66.0,<1.67.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bronchialil13-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bronchialil13-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bronchialil13-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.70.0,<1.71.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bronchialil13-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bronchialil13-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bronchialil13-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.76.0,<1.77.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.alyrata.jgi.v1-1.0.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.alyrata.jgi.v1-1.0.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.alyrata.jgi.v1-1.0.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.alyrata.jgi.v1-1.0.1-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.alyrata.jgi.v1-1.0.1-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.alyrata.jgi.v1-1.0.1-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.alyrata.jgi.v1-1.0.1-r42hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.beebase.assembly4-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.beebase.assembly4-1.4.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.beebase.assembly4-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.beebase.assembly4-1.4.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.beebase.assembly4-1.4.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.beebase.assembly4-1.4.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.beebase.assembly4-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.beebase.assembly4-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.beebase.assembly4-1.4.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.ncbi.amelhav3.1-1.5.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.ncbi.amelhav3.1-1.5.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.ncbi.amelhav3.1-1.5.0-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.ncbi.amelhav3.1-1.5.0-r42hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.ucsc.apimel2-1.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.ucsc.apimel2-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.ucsc.apimel2-1.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.ucsc.apimel2-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.ucsc.apimel2-1.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.ucsc.apimel2-1.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.ucsc.apimel2-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.ucsc.apimel2-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.ucsc.apimel2-1.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.ucsc.apimel2.masked-1.3.99-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.amellifera.ucsc.apimel2 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.ucsc.apimel2.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.amellifera.ucsc.apimel2 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.ucsc.apimel2.masked-1.3.99-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.amellifera.ucsc.apimel2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.ucsc.apimel2.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.amellifera.ucsc.apimel2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.ucsc.apimel2.masked-1.3.99-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.amellifera.ucsc.apimel2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.ucsc.apimel2.masked-1.3.99-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.amellifera.ucsc.apimel2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.ucsc.apimel2.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.amellifera.ucsc.apimel2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.ucsc.apimel2.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.amellifera.ucsc.apimel2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.amellifera.ucsc.apimel2.masked-1.3.99-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.amellifera.ucsc.apimel2 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.aofficinalis.ncbi.v1-1.0.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.aofficinalis.ncbi.v1-1.0.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.aofficinalis.ncbi.v1-1.0.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.aofficinalis.ncbi.v1-1.0.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.aofficinalis.ncbi.v1-1.0.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.aofficinalis.ncbi.v1-1.0.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.aofficinalis.ncbi.v1-1.0.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.aofficinalis.ncbi.v1-1.0.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.aofficinalis.ncbi.v1-1.0.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.athaliana.tair.04232008-1.3.1000-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.athaliana.tair.04232008-1.3.1000-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.athaliana.tair.04232008-1.3.1000-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.athaliana.tair.04232008-1.3.1000-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.athaliana.tair.04232008-1.3.1000-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.athaliana.tair.04232008-1.3.1000-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.athaliana.tair.04232008-1.3.1000-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.athaliana.tair.04232008-1.3.1000-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.athaliana.tair.04232008-1.3.1000-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.athaliana.tair.tair9-1.3.1000-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.athaliana.tair.tair9-1.3.1000-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.athaliana.tair.tair9-1.3.1000-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.athaliana.tair.tair9-1.3.1000-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.athaliana.tair.tair9-1.3.1000-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.athaliana.tair.tair9-1.3.1000-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.athaliana.tair.tair9-1.3.1000-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.athaliana.tair.tair9-1.3.1000-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.athaliana.tair.tair9-1.3.1000-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau3-1.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau3-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau3-1.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau3-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau3-1.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau3-1.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau3-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau3-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau3-1.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau3.masked-1.3.99-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau3 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau3.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau3 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau3.masked-1.3.99-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau3.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau3.masked-1.3.99-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau3.masked-1.3.99-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau3.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau3.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau3.masked-1.3.99-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau3 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau4-1.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau4-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau4-1.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau4-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau4-1.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau4-1.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau4-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau4-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau4-1.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau4.masked-1.3.99-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau4 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau4.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau4 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau4.masked-1.3.99-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau4 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau4.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau4 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau4.masked-1.3.99-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau4 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau4.masked-1.3.99-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau4 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau4.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau4 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau4.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau4 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau4.masked-1.3.99-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau4 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau6-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau6-1.4.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau6-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau6-1.4.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau6-1.4.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau6-1.4.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau6-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau6-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau6-1.4.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau6.masked-1.3.99-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau6 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau6.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau6 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau6.masked-1.3.99-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau6 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau6.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau6 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau6.masked-1.3.99-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau6 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau6.masked-1.3.99-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau6 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau6.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau6 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau6.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau6 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau6.masked-1.3.99-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau6 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau8-1.4.2-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau8-1.4.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau8-1.4.2-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau8-1.4.2-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau8-1.4.2-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau8-1.4.2-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau8-1.4.2-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau8-1.4.2-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau8-1.4.2-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau9-1.4.2-r40_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau9-1.4.2-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau9-1.4.2-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau9-1.4.2-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau9-1.4.2-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau9-1.4.2-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau9-1.4.2-r42hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.btaurus.ucsc.bostau9.masked-1.4.4-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.btaurus.ucsc.bostau9 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.carietinum.ncbi.v1-1.0.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.carietinum.ncbi.v1-1.0.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.carietinum.ncbi.v1-1.0.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.carietinum.ncbi.v1-1.0.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.carietinum.ncbi.v1-1.0.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.carietinum.ncbi.v1-1.0.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.carietinum.ncbi.v1-1.0.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.carietinum.ncbi.v1-1.0.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.carietinum.ncbi.v1-1.0.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce10-1.4.0-r36_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce10-1.4.0-r36_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce10-1.4.0-r40_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce10-1.4.0-r40_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce10-1.4.0-r40hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce10-1.4.0-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce10-1.4.0-r41hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce10-1.4.0-r41hdfd78af_14.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce10-1.4.0-r42hdfd78af_15.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce11-1.4.2-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce11-1.4.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce11-1.4.2-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce11-1.4.2-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce11-1.4.2-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce11-1.4.2-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce11-1.4.2-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce11-1.4.2-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce11-1.4.2-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce2-1.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce2-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce2-1.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce2-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce2-1.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce2-1.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce2-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce2-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce2-1.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce6-1.4.0-r36_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce6-1.4.0-r36_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce6-1.4.0-r40_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce6-1.4.0-r40_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce6-1.4.0-r40hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce6-1.4.0-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce6-1.4.0-r41hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce6-1.4.0-r41hdfd78af_14.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.celegans.ucsc.ce6-1.4.0-r42hdfd78af_15.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2-1.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2-1.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2-1.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2-1.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2-1.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2.masked-1.3.99-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2.masked-1.3.99-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2.masked-1.3.99-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2.masked-1.3.99-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2.masked-1.3.99-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam2 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3-1.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3-1.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3-1.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3-1.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3-1.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3.masked-1.3.99-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3.masked-1.3.99-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3.masked-1.3.99-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3.masked-1.3.99-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3.masked-1.3.99-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.cfamiliaris.ucsc.canfam3 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.cjacchus.ucsc.caljac3-1.4.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.cjacchus.ucsc.caljac3-1.4.2-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.cjacchus.ucsc.caljac3-1.4.2-r40_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.cjacchus.ucsc.caljac3-1.4.2-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.cjacchus.ucsc.caljac3-1.4.2-r40hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.cjacchus.ucsc.caljac3-1.4.2-r41hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.cjacchus.ucsc.caljac3-1.4.2-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.cjacchus.ucsc.caljac3-1.4.2-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.cjacchus.ucsc.caljac3-1.4.2-r42hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.cjacchus.ucsc.caljac4-1.5.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.cneoformansvargrubiikn99.ncbi.asm221672v1-1.0.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.creinhardtii.jgi.v5.6-1.5.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.creinhardtii.jgi.v5.6-1.5.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.creinhardtii.jgi.v5.6-1.5.0-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.creinhardtii.jgi.v5.6-1.5.0-r42hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2-1.4.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2-1.4.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2-1.4.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2-1.4.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2-1.4.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2.masked-1.3.99-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2.masked-1.3.99-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2.masked-1.3.99-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2.masked-1.3.99-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2.masked-1.3.99-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.dmelanogaster.ucsc.dm2 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3-1.4.0-r36_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3-1.4.0-r36_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3-1.4.0-r40_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3-1.4.0-r40_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3-1.4.0-r40hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3-1.4.0-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3-1.4.0-r41hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3-1.4.0-r41hdfd78af_14.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3-1.4.0-r42hdfd78af_15.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3.masked-1.3.99-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3.masked-1.3.99-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3.masked-1.3.99-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3.masked-1.3.99-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3.masked-1.3.99-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.dmelanogaster.ucsc.dm3 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm6-1.4.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm6-1.4.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm6-1.4.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm6-1.4.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm6-1.4.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm6-1.4.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm6-1.4.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm6-1.4.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.dmelanogaster.ucsc.dm6-1.4.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer10-1.4.2-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer10-1.4.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer10-1.4.2-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer10-1.4.2-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer10-1.4.2-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer10-1.4.2-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer10-1.4.2-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer10-1.4.2-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer10-1.4.2-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer11-1.4.2-r40_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer11-1.4.2-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer11-1.4.2-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer11-1.4.2-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer11-1.4.2-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer11-1.4.2-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer11-1.4.2-r42hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer5-1.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer5-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer5-1.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer5-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer5-1.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer5-1.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer5-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer5-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer5-1.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer5.masked-1.3.99-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.drerio.ucsc.danrer5 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer5.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.drerio.ucsc.danrer5 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer5.masked-1.3.99-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.drerio.ucsc.danrer5 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer5.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.drerio.ucsc.danrer5 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer5.masked-1.3.99-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.drerio.ucsc.danrer5 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer5.masked-1.3.99-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.drerio.ucsc.danrer5 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer5.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.drerio.ucsc.danrer5 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer5.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.drerio.ucsc.danrer5 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer5.masked-1.3.99-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.drerio.ucsc.danrer5 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer6-1.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer6-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer6-1.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer6-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer6-1.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer6-1.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer6-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer6-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer6-1.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer6.masked-1.3.99-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.drerio.ucsc.danrer6 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer6.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.drerio.ucsc.danrer6 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer6.masked-1.3.99-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.drerio.ucsc.danrer6 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer6.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.drerio.ucsc.danrer6 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer6.masked-1.3.99-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.drerio.ucsc.danrer6 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer6.masked-1.3.99-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.drerio.ucsc.danrer6 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer6.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.drerio.ucsc.danrer6 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer6.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.drerio.ucsc.danrer6 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer6.masked-1.3.99-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.drerio.ucsc.danrer6 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer7-1.4.0-r36_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer7-1.4.0-r36_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer7-1.4.0-r40_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer7-1.4.0-r40_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer7-1.4.0-r40hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer7-1.4.0-r41hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer7-1.4.0-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer7-1.4.0-r41hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer7-1.4.0-r42hdfd78af_14.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer7.masked-1.3.99-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.drerio.ucsc.danrer7 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer7.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.drerio.ucsc.danrer7 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer7.masked-1.3.99-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.drerio.ucsc.danrer7 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer7.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.drerio.ucsc.danrer7 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer7.masked-1.3.99-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.drerio.ucsc.danrer7 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer7.masked-1.3.99-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.drerio.ucsc.danrer7 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer7.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.drerio.ucsc.danrer7 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer7.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.drerio.ucsc.danrer7 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.drerio.ucsc.danrer7.masked-1.3.99-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.drerio.ucsc.danrer7 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.dvirilis.ensembl.dvircaf1-1.4.3-r40_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.dvirilis.ensembl.dvircaf1-1.4.3-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.dvirilis.ensembl.dvircaf1-1.4.3-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.dvirilis.ensembl.dvircaf1-1.4.3-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.dvirilis.ensembl.dvircaf1-1.4.3-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.dvirilis.ensembl.dvircaf1-1.4.3-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.dvirilis.ensembl.dvircaf1-1.4.3-r42hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.ecoli.ncbi.20080805-1.3.1000-r36_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.ecoli.ncbi.20080805-1.3.1000-r36_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.ecoli.ncbi.20080805-1.3.1000-r40_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ecoli.ncbi.20080805-1.3.1000-r40_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ecoli.ncbi.20080805-1.3.1000-r40hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ecoli.ncbi.20080805-1.3.1000-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ecoli.ncbi.20080805-1.3.1000-r41hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ecoli.ncbi.20080805-1.3.1000-r41hdfd78af_14.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ecoli.ncbi.20080805-1.3.1000-r42hdfd78af_15.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1-1.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1-1.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1-1.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1-1.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1-1.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1.masked-1.3.99-r36_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1.masked-1.3.99-r40_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1.masked-1.3.99-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1.masked-1.3.99-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1.masked-1.3.99-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.gaculeatus.ucsc.gasacu1 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal3-1.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal3-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal3-1.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal3-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal3-1.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal3-1.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal3-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal3-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal3-1.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal3.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.ggallus.ucsc.galgal3 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal3.masked-1.3.99-r36_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.ggallus.ucsc.galgal3 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal3.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.ggallus.ucsc.galgal3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal3.masked-1.3.99-r40_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.ggallus.ucsc.galgal3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal3.masked-1.3.99-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.ggallus.ucsc.galgal3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal3.masked-1.3.99-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.ggallus.ucsc.galgal3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal3.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.ggallus.ucsc.galgal3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal3.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.ggallus.ucsc.galgal3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal3.masked-1.3.99-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.ggallus.ucsc.galgal3 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal4-1.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal4-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal4-1.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal4-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal4-1.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal4-1.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal4-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal4-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal4-1.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal4.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.ggallus.ucsc.galgal4 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal4.masked-1.3.99-r36_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.ggallus.ucsc.galgal4 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal4.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.ggallus.ucsc.galgal4 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal4.masked-1.3.99-r40_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.ggallus.ucsc.galgal4 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal4.masked-1.3.99-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.ggallus.ucsc.galgal4 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal4.masked-1.3.99-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.ggallus.ucsc.galgal4 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal4.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.ggallus.ucsc.galgal4 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal4.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.ggallus.ucsc.galgal4 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal4.masked-1.3.99-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.ggallus.ucsc.galgal4 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal5-1.4.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal5-1.4.2-r36_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal5-1.4.2-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal5-1.4.2-r40_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal5-1.4.2-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal5-1.4.2-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal5-1.4.2-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal5-1.4.2-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal5-1.4.2-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal6-1.4.2-r40_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal6-1.4.2-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal6-1.4.2-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal6-1.4.2-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal6-1.4.2-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal6-1.4.2-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ggallus.ucsc.galgal6-1.4.2-r42hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.gmax.ncbi.gmv40-4.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.1000genomes.hs37d5-0.99.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.1000genomes.hs37d5-0.99.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.1000genomes.hs37d5-0.99.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.1000genomes.hs37d5-0.99.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.1000genomes.hs37d5-0.99.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.1000genomes.hs37d5-0.99.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.1000genomes.hs37d5-0.99.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.1000genomes.hs37d5-0.99.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.1000genomes.hs37d5-0.99.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ncbi.grch38-1.3.1000-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ncbi.grch38-1.3.1000-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ncbi.grch38-1.3.1000-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ncbi.grch38-1.3.1000-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ncbi.grch38-1.3.1000-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ncbi.grch38-1.3.1000-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ncbi.grch38-1.3.1000-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ncbi.grch38-1.3.1000-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ncbi.grch38-1.3.1000-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ncbi.t2t.chm13v2.0-1.5.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg17-1.3.1000-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg17-1.3.1000-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg17-1.3.1000-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg17-1.3.1000-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg17-1.3.1000-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg17-1.3.1000-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg17-1.3.1000-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg17-1.3.1000-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg17-1.3.1000-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg17.masked-1.3.99-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg17 >=1.3.0,<1.4.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg17.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg17 >=1.3.0,<1.4.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg17.masked-1.3.99-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg17 >=1.3.0,<1.4.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg17.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg17 >=1.3.0,<1.4.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg17.masked-1.3.99-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg17 >=1.3.0,<1.4.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg17.masked-1.3.99-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg17 >=1.3.0,<1.4.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg17.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg17 >=1.3.0,<1.4.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg17.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg17 >=1.3.0,<1.4.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg17.masked-1.3.99-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg17 >=1.3.0,<1.4.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg18-1.3.1000-r36_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg18-1.3.1000-r36_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg18-1.3.1000-r40_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg18-1.3.1000-r40_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg18-1.3.1000-r40hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg18-1.3.1000-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg18-1.3.1000-r41hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg18-1.3.1000-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg18-1.3.1000-r42hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg18.masked-1.3.99-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg18 >=1.3.0,<1.4.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg18.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg18 >=1.3.0,<1.4.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg18.masked-1.3.99-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg18 >=1.3.0,<1.4.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg18.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg18 >=1.3.0,<1.4.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg18.masked-1.3.99-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg18 >=1.3.0,<1.4.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg18.masked-1.3.99-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg18 >=1.3.0,<1.4.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg18.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg18 >=1.3.0,<1.4.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg18.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg18 >=1.3.0,<1.4.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg18.masked-1.3.99-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg18 >=1.3.0,<1.4.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg19-1.4.0-r36_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg19-1.4.0-r36_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg19-1.4.3-r40_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg19-1.4.3-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg19-1.4.3-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg19-1.4.3-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg19-1.4.3-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg19-1.4.3-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg19-1.4.3-r42hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg19.masked-1.3.99-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg19 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg19.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg19 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg19.masked-1.3.993-r40_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg19 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg19.masked-1.3.993-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg19 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg19.masked-1.3.993-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg19 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg19.masked-1.3.993-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg19 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg19.masked-1.3.993-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg19 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg19.masked-1.3.993-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg19 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg19.masked-1.3.993-r42hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg19 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg38-1.4.1-r36_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg38-1.4.1-r36_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg38-1.4.3-r40_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg38-1.4.3-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg38-1.4.3-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg38-1.4.3-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg38-1.4.4-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg38-1.4.4-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg38-1.4.4-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg38.dbsnp151.major-0.0.9999-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg38.dbsnp151.major-0.0.9999-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg38.dbsnp151.major-0.0.9999-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg38.dbsnp151.minor-0.0.9999-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg38.dbsnp151.minor-0.0.9999-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg38.dbsnp151.minor-0.0.9999-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg38.masked-1.3.99-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg38 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg38.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg38 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg38.masked-1.3.993-r40_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg38 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg38.masked-1.3.993-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg38 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg38.masked-1.3.993-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg38 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg38.masked-1.3.993-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg38 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg38.masked-1.4.4-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg38 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg38.masked-1.4.4-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg38 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.hsapiens.ucsc.hg38.masked-1.4.4-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.hsapiens.ucsc.hg38 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.mdomestica.ucsc.mondom5-1.4.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mdomestica.ucsc.mondom5-1.4.2-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mdomestica.ucsc.mondom5-1.4.2-r40_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mdomestica.ucsc.mondom5-1.4.2-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mdomestica.ucsc.mondom5-1.4.2-r40hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mdomestica.ucsc.mondom5-1.4.2-r41hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mdomestica.ucsc.mondom5-1.4.2-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mdomestica.ucsc.mondom5-1.4.2-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mdomestica.ucsc.mondom5-1.4.2-r42hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.mfascicularis.ncbi.5.0-1.4.2-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mfascicularis.ncbi.5.0-1.4.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mfascicularis.ncbi.5.0-1.4.2-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mfascicularis.ncbi.5.0-1.4.2-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mfascicularis.ncbi.5.0-1.4.2-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mfascicularis.ncbi.5.0-1.4.2-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mfascicularis.ncbi.5.0-1.4.2-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mfascicularis.ncbi.5.0-1.4.2-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mfascicularis.ncbi.5.0-1.4.2-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.mfascicularis.ncbi.6.0-1.5.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.mfuro.ucsc.musfur1-1.4.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mfuro.ucsc.musfur1-1.4.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mfuro.ucsc.musfur1-1.4.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mfuro.ucsc.musfur1-1.4.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mfuro.ucsc.musfur1-1.4.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mfuro.ucsc.musfur1-1.4.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mfuro.ucsc.musfur1-1.4.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mfuro.ucsc.musfur1-1.4.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mfuro.ucsc.musfur1-1.4.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac10-1.4.2-r40_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac10-1.4.2-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac10-1.4.2-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac10-1.4.2-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac10-1.4.2-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac10-1.4.2-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac10-1.4.2-r42hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2-1.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2-1.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2-1.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2-1.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2-1.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2.masked-1.3.99-r36_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2.masked-1.3.99-r40_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2.masked-1.3.99-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2.masked-1.3.99-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2.masked-1.3.99-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.mmulatta.ucsc.rhemac2 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3-1.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3-1.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3-1.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3-1.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3-1.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3.masked-1.3.99-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3.masked-1.3.99-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3.masked-1.3.99-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3.masked-1.3.99-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3.masked-1.3.99-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.mmulatta.ucsc.rhemac3 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac8-1.4.2-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac8-1.4.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac8-1.4.2-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac8-1.4.2-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac8-1.4.2-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac8-1.4.2-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac8-1.4.2-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac8-1.4.2-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmulatta.ucsc.rhemac8-1.4.2-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm10-1.4.0-r36_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm10-1.4.0-r36_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm10-1.4.0-r40_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm10-1.4.0-r40_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm10-1.4.0-r40hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm10-1.4.0-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm10-1.4.3-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm10-1.4.3-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm10-1.4.3-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm10.masked-1.3.99-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm10 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm10.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm10 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm10.masked-1.3.99-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm10 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm10.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm10 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm10.masked-1.3.99-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm10 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm10.masked-1.3.99-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm10 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm10.masked-1.4.3-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm10 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm10.masked-1.4.3-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm10 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm10.masked-1.4.3-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm10 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm39-1.4.3-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm39-1.4.3-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm39-1.4.3-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm8-1.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm8-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm8-1.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm8-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm8-1.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm8-1.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm8-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm8-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm8-1.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm8.masked-1.3.99-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm8 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm8.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm8 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm8.masked-1.3.99-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm8 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm8.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm8 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm8.masked-1.3.99-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm8 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm8.masked-1.3.99-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm8 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm8.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm8 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm8.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm8 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm8.masked-1.3.99-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm8 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm9-1.4.0-r36_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm9-1.4.0-r36_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm9-1.4.0-r40_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm9-1.4.0-r40_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm9-1.4.0-r40hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm9-1.4.0-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm9-1.4.0-r41hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm9-1.4.0-r41hdfd78af_14.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm9-1.4.0-r42hdfd78af_15.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm9.masked-1.3.99-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm9 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm9.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm9 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm9.masked-1.3.99-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm9 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm9.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm9 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm9.masked-1.3.99-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm9 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm9.masked-1.3.99-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm9 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm9.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm9 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm9.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm9 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.mmusculus.ucsc.mm9.masked-1.3.99-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.mmusculus.ucsc.mm9 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.osativa.msu.msu7-0.99.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.osativa.msu.msu7-0.99.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.osativa.msu.msu7-0.99.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.osativa.msu.msu7-0.99.2-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.osativa.msu.msu7-0.99.2-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.osativa.msu.msu7-0.99.2-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.osativa.msu.msu7-0.99.2-r42hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.ppaniscus.ucsc.panpan1-1.4.3-r40_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ppaniscus.ucsc.panpan1-1.4.3-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ppaniscus.ucsc.panpan1-1.4.3-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ppaniscus.ucsc.panpan1-1.4.3-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ppaniscus.ucsc.panpan1-1.4.3-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ppaniscus.ucsc.panpan1-1.4.3-r42hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.ppaniscus.ucsc.panpan2-1.4.3-r40_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ppaniscus.ucsc.panpan2-1.4.3-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ppaniscus.ucsc.panpan2-1.4.3-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ppaniscus.ucsc.panpan2-1.4.3-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ppaniscus.ucsc.panpan2-1.4.3-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ppaniscus.ucsc.panpan2-1.4.3-r42hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2-1.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2-1.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2-1.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2-1.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2-1.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2.masked-1.3.99-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2.masked-1.3.99-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2.masked-1.3.99-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2.masked-1.3.99-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2.masked-1.3.99-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro2 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3-1.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3-1.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3-1.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3-1.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3-1.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3.masked-1.3.99-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3.masked-1.3.99-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3.masked-1.3.99-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3.masked-1.3.99-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3.masked-1.3.99-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro3 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro5-1.4.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro5-1.4.2-r36_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro5-1.4.2-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro5-1.4.2-r40_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro5-1.4.2-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro5-1.4.2-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro5-1.4.2-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro5-1.4.2-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro5-1.4.2-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro6-1.4.2-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro6-1.4.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro6-1.4.2-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro6-1.4.2-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro6-1.4.2-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro6-1.4.2-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro6-1.4.2-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro6-1.4.2-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.ptroglodytes.ucsc.pantro6-1.4.2-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4-1.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4-1.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4-1.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4-1.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4-1.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4.masked-1.3.99-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4.masked-1.3.99-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4.masked-1.3.99-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4.masked-1.3.99-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4.masked-1.3.99-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.rnorvegicus.ucsc.rn4 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5-1.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5-1.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5-1.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5-1.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5-1.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5.masked-1.3.99-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5.masked-1.3.99-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5.masked-1.3.99-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5.masked-1.3.99-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5.masked-1.3.99-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.rnorvegicus.ucsc.rn5 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn6-1.4.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn6-1.4.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn6-1.4.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn6-1.4.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn6-1.4.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn6-1.4.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn6-1.4.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn6-1.4.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn6-1.4.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn7-1.4.3-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn7-1.4.3-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.rnorvegicus.ucsc.rn7-1.4.3-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer1-1.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer1-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer1-1.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer1-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer1-1.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer1-1.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer1-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer1-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer1-1.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer2-1.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer2-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer2-1.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer2-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer2-1.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer2-1.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer2-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer2-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer2-1.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer3-1.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer3-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer3-1.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer3-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer3-1.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer3-1.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer3-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer3-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.scerevisiae.ucsc.saccer3-1.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr11-1.4.2-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr11-1.4.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr11-1.4.2-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr11-1.4.2-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr11-1.4.2-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr11-1.4.2-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr11-1.4.2-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr11-1.4.2-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr11-1.4.2-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr3-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr3-1.4.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr3-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr3-1.4.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr3-1.4.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr3-1.4.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr3-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr3-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr3-1.4.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr3.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.sscrofa.ucsc.susscr3 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr3.masked-1.3.99-r36_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.sscrofa.ucsc.susscr3 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr3.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.sscrofa.ucsc.susscr3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr3.masked-1.3.99-r40_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.sscrofa.ucsc.susscr3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr3.masked-1.3.99-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.sscrofa.ucsc.susscr3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr3.masked-1.3.99-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.sscrofa.ucsc.susscr3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr3.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.sscrofa.ucsc.susscr3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr3.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.sscrofa.ucsc.susscr3 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.sscrofa.ucsc.susscr3.masked-1.3.99-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.sscrofa.ucsc.susscr3 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.tgondii.toxodb.7.0-0.99.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.tgondii.toxodb.7.0-0.99.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.tgondii.toxodb.7.0-0.99.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.tgondii.toxodb.7.0-0.99.1-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.tgondii.toxodb.7.0-0.99.1-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.tgondii.toxodb.7.0-0.99.1-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.tgondii.toxodb.7.0-0.99.1-r42hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut1-1.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut1-1.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut1-1.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut1-1.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut1-1.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut1-1.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut1-1.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut1-1.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut1-1.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut1.masked-1.3.99-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-bsgenome.tguttata.ucsc.taegut1 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut1.masked-1.3.99-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-bsgenome.tguttata.ucsc.taegut1 >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut1.masked-1.3.99-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-bsgenome.tguttata.ucsc.taegut1 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut1.masked-1.3.99-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.tguttata.ucsc.taegut1 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut1.masked-1.3.99-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-bsgenome.tguttata.ucsc.taegut1 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut1.masked-1.3.99-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-bsgenome.tguttata.ucsc.taegut1 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut1.masked-1.3.99-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.tguttata.ucsc.taegut1 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut1.masked-1.3.99-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-bsgenome.tguttata.ucsc.taegut1 >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut1.masked-1.3.99-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-bsgenome.tguttata.ucsc.taegut1 >=1.4.0,<1.5.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut2-1.4.2-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut2-1.4.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut2-1.4.2-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut2-1.4.2-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut2-1.4.2-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut2-1.4.2-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut2-1.4.2-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut2-1.4.2-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.tguttata.ucsc.taegut2-1.4.2-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp12xv0-0.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp12xv0-0.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp12xv0-0.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp12xv0-0.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp12xv0-0.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp12xv0-0.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp12xv0-0.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp12xv0-0.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp12xv0-0.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp12xv2-0.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp12xv2-0.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp12xv2-0.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp12xv2-0.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp12xv2-0.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp12xv2-0.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp12xv2-0.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp12xv2-0.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp12xv2-0.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp8x-0.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp8x-0.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp8x-0.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp8x-0.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp8x-0.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp8x-0.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp8x-0.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp8x-0.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsgenome.vvinifera.urgi.iggp8x-0.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsseqdata-0.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-bsseq >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsseqdata-0.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-bsseq >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsseqdata-0.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-bsseq >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsseqdata-0.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-bsseq >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsseqdata-0.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-bsseq >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsseqdata-0.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsseq >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsseqdata-0.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsseq >=1.30.0,<1.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsseqdata-0.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-bsseq >=1.30.0,<1.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsseqdata-0.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsseq >=1.34.0,<1.35.0", - "bioconductor-data-packages >=20221108", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsubtiliscdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsubtiliscdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsubtiliscdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsubtiliscdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsubtiliscdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsubtiliscdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsubtiliscdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsubtiliscdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsubtiliscdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-bsubtilisprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsubtilisprobe-2.18.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-bsubtilisprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsubtilisprobe-2.18.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsubtilisprobe-2.18.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-bsubtilisprobe-2.18.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsubtilisprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsubtilisprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-bsubtilisprobe-2.18.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-cancerdata-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cancerdata-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cancerdata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cancerdata-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cancerdata-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cancerdata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cancerdata-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cancerdata-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cancerdata-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-canine.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.cf.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-canine.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.cf.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-canine.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.cf.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-canine.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.cf.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-canine.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.cf.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-canine.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.cf.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-canine.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.cf.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-canine.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.cf.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-canine.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.cf.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-canine.db0-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-canine.db0-3.11.2-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-canine.db0-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-canine.db0-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-canine.db0-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-canine.db0-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-canine.db0-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-canine.db0-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-canine.db0-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-canine2.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.cf.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-canine2.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.cf.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-canine2.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.cf.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-canine2.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.cf.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-canine2.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.cf.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-canine2.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.cf.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-canine2.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.cf.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-canine2.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.cf.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-canine2.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.cf.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-canine2cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-canine2cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-canine2cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-canine2cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-canine2cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-canine2cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-canine2cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-canine2cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-canine2cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-canine2probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-canine2probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-canine2probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-canine2probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-canine2probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-canine2probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-canine2probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-canine2probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-canine2probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-caninecdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-caninecdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-caninecdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-caninecdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-caninecdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-caninecdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-caninecdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-caninecdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-caninecdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-canineprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-canineprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-canineprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-canineprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-canineprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-canineprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-canineprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-canineprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-canineprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-cardinalworkflows-1.16.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-cardinal >=2.2.0,<2.3.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cardinalworkflows-1.18.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-cardinal >=2.4.0,<2.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cardinalworkflows-1.20.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-cardinal >=2.6.0,<2.7.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cardinalworkflows-1.22.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-cardinal >=2.8.0,<2.9.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cardinalworkflows-1.22.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-cardinal >=2.8.0,<2.9.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cardinalworkflows-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-cardinal >=2.10.0,<2.11.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cardinalworkflows-1.26.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-cardinal >=2.12.0,<2.13.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cardinalworkflows-1.26.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-cardinal >=2.12.0,<2.13.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cardinalworkflows-1.29.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-cardinal >=3.0.0,<3.1.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ccdata-1.10.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-ccdata-1.10.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ccdata-1.12.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ccdata-1.14.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ccdata-1.16.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ccdata-1.16.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ccdata-1.18.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ccdata-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ccdata-1.20.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ccdata-1.23.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ccdata-1.24.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221107", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ccl4-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-limma >=3.40.0,<3.41.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ccl4-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-limma >=3.42.0,<3.43.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ccl4-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-limma >=3.44.0,<3.45.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ccl4-1.27.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-limma >=3.46.0,<3.47.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ccl4-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-limma >=3.46.0,<3.47.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ccl4-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-limma >=3.46.0,<3.47.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ccl4-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-limma >=3.48.0,<3.49.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ccl4-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-limma >=3.50.0,<3.51.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ccl4-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-limma >=3.50.0,<3.51.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ccl4-1.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221103", - "bioconductor-limma >=3.54.0,<3.55.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-cctutorial-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.62.0,<1.63.0", - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-ringo >=1.48.0,<1.49.0", - "bioconductor-topgo >=2.36.0,<2.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cctutorial-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.64.0,<1.65.0", - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-ringo >=1.50.0,<1.51.0", - "bioconductor-topgo >=2.37.0,<2.38.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cctutorial-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.66.0,<1.67.0", - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-ringo >=1.52.0,<1.53.0", - "bioconductor-topgo >=2.40.0,<2.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cctutorial-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-ringo >=1.54.0,<1.55.0", - "bioconductor-topgo >=2.42.0,<2.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cctutorial-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-ringo >=1.54.0,<1.55.0", - "bioconductor-topgo >=2.42.0,<2.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cctutorial-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.70.0,<1.71.0", - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-ringo >=1.56.0,<1.57.0", - "bioconductor-topgo >=2.44.0,<2.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cctutorial-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-ringo >=1.58.0,<1.59.0", - "bioconductor-topgo >=2.46.0,<2.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cctutorial-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-ringo >=1.58.0,<1.59.0", - "bioconductor-topgo >=2.46.0,<2.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cctutorial-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.76.0,<1.77.0", - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221109", - "bioconductor-ringo >=1.62.0,<1.63.0", - "bioconductor-topgo >=2.50.0,<2.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-celarefdata-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-celarefdata-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-celarefdata-1.12.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-celarefdata-1.15.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-celarefdata-1.2.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-celarefdata-1.2.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-celarefdata-1.4.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-celarefdata-1.6.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-celarefdata-1.7.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-celarefdata-1.8.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-celarefdata-1.8.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-celegans.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.ce.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-celegans.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.ce.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-celegans.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.ce.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-celegans.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.ce.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-celegans.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.ce.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-celegans.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.ce.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-celegans.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.ce.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-celegans.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.ce.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-celegans.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.ce.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-celeganscdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-celeganscdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-celeganscdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-celeganscdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-celeganscdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-celeganscdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-celeganscdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-celeganscdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-celeganscdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-celegansprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-celegansprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-celegansprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-celegansprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-celegansprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-celegansprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-celegansprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-celegansprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-celegansprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-celldex-1.0.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-delayedarray >=0.16.0,<0.17.0", - "bioconductor-delayedmatrixstats >=1.12.0,<1.13.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-celldex-1.0.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-delayedarray >=0.16.0,<0.17.0", - "bioconductor-delayedmatrixstats >=1.12.0,<1.13.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-celldex-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-delayedarray >=0.18.0,<0.19.0", - "bioconductor-delayedmatrixstats >=1.14.0,<1.15.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-celldex-1.4.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-delayedarray >=0.20.0,<0.21.0", - "bioconductor-delayedmatrixstats >=1.16.0,<1.17.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-celldex-1.4.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-delayedarray >=0.20.0,<0.21.0", - "bioconductor-delayedmatrixstats >=1.16.0,<1.17.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-celldex-1.8.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-delayedarray >=0.24.0,<0.25.0", - "bioconductor-delayedmatrixstats >=1.20.0,<1.21.0", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-cellmapperdata-1.10.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-cellmapper >=1.10.0,<1.11.0", - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cellmapperdata-1.12.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-cellmapper >=1.12.0,<1.13.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cellmapperdata-1.14.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-cellmapper >=1.14.0,<1.15.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cellmapperdata-1.16.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-cellmapper >=1.16.0,<1.17.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cellmapperdata-1.16.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-cellmapper >=1.16.0,<1.17.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cellmapperdata-1.18.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-cellmapper >=1.18.0,<1.19.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cellmapperdata-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-cellmapper >=1.20.0,<1.21.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cellmapperdata-1.20.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-cellmapper >=1.20.0,<1.21.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cellmapperdata-1.24.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-cellmapper >=1.24.0,<1.25.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ceu1kg-0.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-ggbase >=3.46.0,<3.47.0", - "bioconductor-ggtools >=5.20.0,<5.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ceu1kg-0.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-ggbase >=3.48.0,<3.49.0", - "bioconductor-ggtools >=5.22.0,<5.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ceu1kg-0.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-ggbase >=3.50.0,<3.51.0", - "bioconductor-ggtools >=5.24.0,<5.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ceu1kgv-0.26.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-ggbase >=3.46.0,<3.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ceu1kgv-0.28.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-ggbase >=3.48.0,<3.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ceu1kgv-0.30.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-ggbase >=3.50.0,<3.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ceu1kgv-0.32.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-ggbase >=3.52.0,<3.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ceu1kgv-0.32.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-ggbase >=3.52.0,<3.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ceuhm3-0.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-ggbase >=3.46.0,<3.47.0", - "bioconductor-ggtools >=5.20.0,<5.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ceuhm3-0.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-ggbase >=3.48.0,<3.49.0", - "bioconductor-ggtools >=5.22.0,<5.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ceuhm3-0.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-ggbase >=3.50.0,<3.51.0", - "bioconductor-ggtools >=5.24.0,<5.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cgdv17-0.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-biocgenerics >=0.30.0,<0.31.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "bioconductor-variantannotation >=1.30.0,<1.31.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cgdv17-0.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-biocgenerics >=0.32.0,<0.33.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "bioconductor-variantannotation >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cgdv17-0.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-biocgenerics >=0.34.0,<0.35.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "bioconductor-variantannotation >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cgdv17-0.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-variantannotation >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cgdv17-0.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-variantannotation >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-champdata-2.14.1-r35_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.28.0,<0.29.0", - "bioconductor-genomicranges >=1.34.0,<1.35.0", - "curl", - "r-base >=3.5,<3.6.0a0" - ] - }, - "bioconductor-champdata-2.16.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.30.0,<0.31.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-champdata-2.18.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.32.0,<0.33.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-champdata-2.20.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.34.0,<0.35.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-champdata-2.20.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.34.0,<0.35.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-champdata-2.22.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-champdata-2.22.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-champdata-2.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.38.0,<0.39.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-champdata-2.26.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-champdata-2.26.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-champdata-2.30.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.44.0,<0.45.0", - "bioconductor-data-packages >=20221105", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-chemminedrugs-1.0.2-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.30.0,<0.31.0", - "bioconductor-chemminer >=3.36.0,<3.37.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-chemminedrugs-1.0.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.32.0,<0.33.0", - "bioconductor-chemminer >=3.38.0,<3.39.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-chemminedrugs-1.0.2-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.34.0,<0.35.0", - "bioconductor-chemminer >=3.40.0,<3.41.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-chemminedrugs-1.0.2-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-chemminer >=3.42.0,<3.43.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-chemminedrugs-1.0.2-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-chemminer >=3.42.0,<3.43.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-chemminedrugs-1.0.2-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.38.0,<0.39.0", - "bioconductor-chemminer >=3.44.0,<3.45.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite" - ] - }, - "bioconductor-chemminedrugs-1.0.2-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-chemminer >=3.46.0,<3.47.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite" - ] - }, - "bioconductor-chemminedrugs-1.0.2-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-chemminer >=3.46.0,<3.47.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite" - ] - }, - "bioconductor-chemminedrugs-1.0.2-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.44.0,<0.45.0", - "bioconductor-chemminer >=3.50.0,<3.51.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-rsqlite" - ] - }, - "bioconductor-chic.data-1.10.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0", - "r-caret >=6.0-78" - ] - }, - "bioconductor-chic.data-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0", - "r-caret >=6.0-78" - ] - }, - "bioconductor-chic.data-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomeintervals >=1.48.0,<1.49.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-caret >=6.0-78", - "r-randomforest" - ] - }, - "bioconductor-chic.data-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomeintervals >=1.50.0,<1.51.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-caret >=6.0-78", - "r-randomforest" - ] - }, - "bioconductor-chic.data-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-genomeintervals >=1.50.0,<1.51.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-caret >=6.0-78", - "r-randomforest" - ] - }, - "bioconductor-chic.data-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "bioconductor-genomeintervals >=1.54.0,<1.55.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-caret >=6.0-78", - "r-randomforest" - ] - }, - "bioconductor-chic.data-1.4.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0", - "r-caret >=6.0-78" - ] - }, - "bioconductor-chic.data-1.4.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0", - "r-caret >=6.0-78" - ] - }, - "bioconductor-chic.data-1.6.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0", - "r-caret >=6.0-78" - ] - }, - "bioconductor-chic.data-1.8.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0", - "r-caret >=6.0-78" - ] - }, - "bioconductor-chic.data-1.9.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0", - "r-caret >=6.0-78" - ] - }, - "bioconductor-chicken.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.gg.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chicken.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.gg.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chicken.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.gg.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-chicken.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.gg.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-chicken.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.gg.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-chicken.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.gg.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chicken.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.gg.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chicken.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.gg.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chicken.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.gg.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chicken.db0-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-chicken.db0-3.11.2-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chicken.db0-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chicken.db0-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chicken.db0-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chicken.db0-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chicken.db0-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chicken.db0-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-chicken.db0-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-chickencdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-chickencdf-2.18.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-chickencdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chickencdf-2.18.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chickencdf-2.18.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chickencdf-2.18.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chickencdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chickencdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chickencdf-2.18.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-chickenprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-chickenprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-chickenprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chickenprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chickenprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chickenprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chickenprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chickenprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chickenprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-chimp.db0-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-chimp.db0-3.11.2-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chimp.db0-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chimp.db0-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chimp.db0-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chimp.db0-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chimp.db0-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chimp.db0-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-chimp.db0-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-chimphumanbraindata-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.62.0,<1.63.0", - "bioconductor-limma >=3.40.0,<3.41.0", - "bioconductor-qvalue >=2.16.0,<2.17.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-hexbin", - "r-statmod" - ] - }, - "bioconductor-chimphumanbraindata-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.64.0,<1.65.0", - "bioconductor-limma >=3.42.0,<3.43.0", - "bioconductor-qvalue >=2.18.0,<2.19.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-hexbin", - "r-statmod" - ] - }, - "bioconductor-chimphumanbraindata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.66.0,<1.67.0", - "bioconductor-limma >=3.44.0,<3.45.0", - "bioconductor-qvalue >=2.20.0,<2.21.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-hexbin", - "r-statmod" - ] - }, - "bioconductor-chimphumanbraindata-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-limma >=3.46.0,<3.47.0", - "bioconductor-qvalue >=2.22.0,<2.23.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-hexbin", - "r-statmod" - ] - }, - "bioconductor-chimphumanbraindata-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-limma >=3.46.0,<3.47.0", - "bioconductor-qvalue >=2.22.0,<2.23.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-hexbin", - "r-statmod" - ] - }, - "bioconductor-chimphumanbraindata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.70.0,<1.71.0", - "bioconductor-limma >=3.48.0,<3.49.0", - "bioconductor-qvalue >=2.24.0,<2.25.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-hexbin", - "r-statmod" - ] - }, - "bioconductor-chimphumanbraindata-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-limma >=3.50.0,<3.51.0", - "bioconductor-qvalue >=2.26.0,<2.27.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-hexbin", - "r-statmod" - ] - }, - "bioconductor-chimphumanbraindata-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-limma >=3.50.0,<3.51.0", - "bioconductor-qvalue >=2.26.0,<2.27.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-hexbin", - "r-statmod" - ] - }, - "bioconductor-chimphumanbraindata-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.76.0,<1.77.0", - "bioconductor-data-packages >=20221104", - "bioconductor-limma >=3.54.0,<3.55.0", - "bioconductor-qvalue >=2.30.0,<2.31.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-hexbin", - "r-statmod" - ] - }, - "bioconductor-chipenrich.data-2.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-biocgenerics >=0.32.0,<0.33.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-rtracklayer >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-readr" - ] - }, - "bioconductor-chipenrich.data-2.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-biocgenerics >=0.34.0,<0.35.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-rtracklayer >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-readr" - ] - }, - "bioconductor-chipenrich.data-2.14.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-rtracklayer >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-readr" - ] - }, - "bioconductor-chipenrich.data-2.14.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-rtracklayer >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-readr" - ] - }, - "bioconductor-chipenrich.data-2.16.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-biocgenerics >=0.38.0,<0.39.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-rtracklayer >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-readr" - ] - }, - "bioconductor-chipenrich.data-2.18.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-rtracklayer >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-readr" - ] - }, - "bioconductor-chipenrich.data-2.18.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-rtracklayer >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-readr" - ] - }, - "bioconductor-chipenrich.data-2.22.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-biocgenerics >=0.44.0,<0.45.0", - "bioconductor-data-packages >=20221107", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-rtracklayer >=1.58.0,<1.59.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-readr" - ] - }, - "bioconductor-chipenrich.data-2.8.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-biocgenerics >=0.30.0,<0.31.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-rtracklayer >=1.44.0,<1.45.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-readr" - ] - }, - "bioconductor-chipexoqualexample-1.10.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-chipexoqualexample-1.12.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chipexoqualexample-1.13.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chipexoqualexample-1.14.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chipexoqualexample-1.14.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chipexoqualexample-1.16.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chipexoqualexample-1.18.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chipexoqualexample-1.18.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chipexoqualexample-1.21.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-chipexoqualexample-1.8.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-chipexoqualexample-1.8.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-chipseqdbdata-1.0.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.16.0,<2.17.0", - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-chipseqdbdata-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-rsamtools >=2.10.0,<2.11.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chipseqdbdata-1.10.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-rsamtools >=2.10.0,<2.11.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chipseqdbdata-1.14.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-rsamtools >=2.14.0,<2.15.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-chipseqdbdata-1.2.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-chipseqdbdata-1.4.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chipseqdbdata-1.6.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-rsamtools >=2.6.0,<2.7.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chipseqdbdata-1.6.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-rsamtools >=2.6.0,<2.7.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chipseqdbdata-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-rsamtools >=2.8.0,<2.9.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chipxpressdata-1.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0", - "r-bigmemory" - ] - }, - "bioconductor-chipxpressdata-1.22.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0", - "r-bigmemory" - ] - }, - "bioconductor-chipxpressdata-1.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0", - "r-bigmemory" - ] - }, - "bioconductor-chipxpressdata-1.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0", - "r-bigmemory" - ] - }, - "bioconductor-chipxpressdata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0", - "r-bigmemory" - ] - }, - "bioconductor-chipxpressdata-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0", - "r-bigmemory" - ] - }, - "bioconductor-chipxpressdata-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0", - "r-bigmemory" - ] - }, - "bioconductor-chipxpressdata-1.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-bigmemory" - ] - }, - "bioconductor-chipxpressdata-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-bigmemory" - ] - }, - "bioconductor-chromhmmdata-0.99.2-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chromhmmdata-0.99.2-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chromhmmdata-0.99.2-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-chromstardata-1.10.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-chromstardata-1.10.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-chromstardata-1.12.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-chromstardata-1.14.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chromstardata-1.15.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chromstardata-1.16.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chromstardata-1.16.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-chromstardata-1.18.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chromstardata-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chromstardata-1.20.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-chromstardata-1.23.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-chromstardata-1.24.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221107", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-citruscdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-citruscdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-citruscdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-citruscdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-citruscdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-citruscdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-citruscdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-citruscdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-citruscdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-citrusprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-citrusprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-citrusprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-citrusprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-citrusprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-citrusprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-citrusprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-citrusprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-citrusprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-clariomdhumanprobeset.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-clariomdhumanprobeset.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-clariomdhumanprobeset.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clariomdhumanprobeset.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clariomdhumanprobeset.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clariomdhumanprobeset.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clariomdhumanprobeset.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clariomdhumanprobeset.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clariomdhumanprobeset.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-clariomdhumantranscriptcluster.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-clariomdhumantranscriptcluster.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-clariomdhumantranscriptcluster.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clariomdhumantranscriptcluster.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clariomdhumantranscriptcluster.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clariomdhumantranscriptcluster.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clariomdhumantranscriptcluster.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clariomdhumantranscriptcluster.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clariomdhumantranscriptcluster.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-clariomshumanhttranscriptcluster.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-clariomshumanhttranscriptcluster.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-clariomshumanhttranscriptcluster.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clariomshumanhttranscriptcluster.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clariomshumanhttranscriptcluster.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clariomshumanhttranscriptcluster.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clariomshumanhttranscriptcluster.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clariomshumanhttranscriptcluster.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clariomshumanhttranscriptcluster.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-clariomshumantranscriptcluster.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-clariomshumantranscriptcluster.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-clariomshumantranscriptcluster.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clariomshumantranscriptcluster.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clariomshumantranscriptcluster.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clariomshumantranscriptcluster.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clariomshumantranscriptcluster.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clariomshumantranscriptcluster.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clariomshumantranscriptcluster.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-clariomsmousehttranscriptcluster.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-clariomsmousehttranscriptcluster.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-clariomsmousehttranscriptcluster.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clariomsmousehttranscriptcluster.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clariomsmousehttranscriptcluster.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clariomsmousehttranscriptcluster.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clariomsmousehttranscriptcluster.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clariomsmousehttranscriptcluster.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clariomsmousehttranscriptcluster.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-clariomsmousetranscriptcluster.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-clariomsmousetranscriptcluster.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-clariomsmousetranscriptcluster.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clariomsmousetranscriptcluster.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clariomsmousetranscriptcluster.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clariomsmousetranscriptcluster.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clariomsmousetranscriptcluster.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clariomsmousetranscriptcluster.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clariomsmousetranscriptcluster.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-clariomsrathttranscriptcluster.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-clariomsrathttranscriptcluster.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-clariomsrathttranscriptcluster.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clariomsrathttranscriptcluster.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clariomsrathttranscriptcluster.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clariomsrathttranscriptcluster.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clariomsrathttranscriptcluster.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clariomsrathttranscriptcluster.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clariomsrathttranscriptcluster.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-clariomsrattranscriptcluster.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-clariomsrattranscriptcluster.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-clariomsrattranscriptcluster.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clariomsrattranscriptcluster.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clariomsrattranscriptcluster.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clariomsrattranscriptcluster.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clariomsrattranscriptcluster.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clariomsrattranscriptcluster.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clariomsrattranscriptcluster.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-cll-1.24.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.62.0,<1.63.0", - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cll-1.26.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.64.0,<1.65.0", - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cll-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.66.0,<1.67.0", - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cll-1.30.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cll-1.30.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cll-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.70.0,<1.71.0", - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cll-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cll-1.34.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cll-1.38.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.76.0,<1.77.0", - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-cllmethylation-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cllmethylation-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cllmethylation-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cllmethylation-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cllmethylation-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cllmethylation-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-cllmethylation-1.4.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cllmethylation-1.6.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cllmethylation-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clumsiddata-1.0.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-clumsiddata-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clumsiddata-1.10.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clumsiddata-1.13.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-clumsiddata-1.2.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-clumsiddata-1.4.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clumsiddata-1.5.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clumsiddata-1.6.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clumsiddata-1.6.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clumsiddata-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clustifyrdatahub-1.0.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clustifyrdatahub-1.0.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-clustifyrdatahub-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clustifyrdatahub-1.4.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clustifyrdatahub-1.4.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-clustifyrdatahub-1.8.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-cmap-1.15.1-r351_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-cmap-1.15.1-r36_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cmap-1.15.1-r36_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cmap-1.15.1-r40_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cmap-1.15.1-r40_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cmap-1.15.1-r40hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cmap-1.15.1-r41hdfd78af_10.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cmap-1.15.1-r41hdfd78af_11.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cmap-1.15.1-r41hdfd78af_12.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cmap-1.15.1-r42hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-cmap2data-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-cmap2data-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cmap2data-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cmap2data-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cmap2data-1.25.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cmap2data-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cmap2data-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cmap2data-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cmap2data-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cmap2data-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cmap2data-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-cmap2data-1.34.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221110", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-cnvgsadata-1.20.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-cnvgsa >=1.28.0,<1.29.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cnvgsadata-1.22.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-cnvgsa >=1.30.0,<1.31.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cnvgsadata-1.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-cnvgsa >=1.32.0,<1.33.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cnvgsadata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-cnvgsa >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cnvgsadata-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-cnvgsa >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cnvgsadata-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-cnvgsa >=1.36.0,<1.37.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cnvgsadata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-cnvgsa >=1.38.0,<1.39.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cnvgsadata-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-cnvgsa >=1.38.0,<1.39.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cnvgsadata-1.34.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-cnvgsa >=1.42.0,<1.43.0", - "bioconductor-data-packages >=20221105", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-cohcapanno-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-cohcapanno-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cohcapanno-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cohcapanno-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cohcapanno-1.25.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cohcapanno-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cohcapanno-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cohcapanno-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cohcapanno-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cohcapanno-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cohcapanno-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-cohcapanno-1.34.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-colonca-1.26.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-colonca-1.28.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-colonca-1.30.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-colonca-1.32.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-colonca-1.32.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-colonca-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-colonca-1.36.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-colonca-1.36.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-colonca-1.40.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-confessdata-1.12.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-confessdata-1.12.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-confessdata-1.14.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-confessdata-1.16.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-confessdata-1.17.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-confessdata-1.18.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-confessdata-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-confessdata-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-confessdata-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-confessdata-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-confessdata-1.26.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-connectivitymap-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-connectivitymap-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-connectivitymap-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-connectivitymap-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-connectivitymap-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-connectivitymap-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-connectivitymap-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-connectivitymap-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-connectivitymap-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-connectivitymap-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-copdsexualdimorphism.data-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-copdsexualdimorphism.data-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-copdsexualdimorphism.data-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-copdsexualdimorphism.data-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-copdsexualdimorphism.data-1.25.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-copdsexualdimorphism.data-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-copdsexualdimorphism.data-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-copdsexualdimorphism.data-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-copdsexualdimorphism.data-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-copdsexualdimorphism.data-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-copdsexualdimorphism.data-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-copyhelper-1.16.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-copyhelper-1.16.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-copyhelper-1.18.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-copyhelper-1.20.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-copyhelper-1.21.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-copyhelper-1.22.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-copyhelper-1.22.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-copyhelper-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-copyhelper-1.26.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-copyhelper-1.26.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-copyhelper-1.29.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-copyhelper-1.30.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221109", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-copyneutralima-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rdpack >=0.8" - ] - }, - "bioconductor-copyneutralima-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rdpack >=0.8" - ] - }, - "bioconductor-copyneutralima-1.12.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rdpack >=0.8" - ] - }, - "bioconductor-copyneutralima-1.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-rdpack >=0.8" - ] - }, - "bioconductor-copyneutralima-1.2.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rdpack >=0.8" - ] - }, - "bioconductor-copyneutralima-1.4.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rdpack >=0.8" - ] - }, - "bioconductor-copyneutralima-1.6.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rdpack >=0.8" - ] - }, - "bioconductor-copyneutralima-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rdpack >=0.8" - ] - }, - "bioconductor-copyneutralima-1.8.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rdpack >=0.8" - ] - }, - "bioconductor-cosmic.67-1.20.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "bioconductor-variantannotation >=1.30.0,<1.31.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cosmic.67-1.22.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "bioconductor-variantannotation >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cosmic.67-1.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "bioconductor-variantannotation >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cosmic.67-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "bioconductor-variantannotation >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cosmic.67-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "bioconductor-variantannotation >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cosmic.67-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "bioconductor-variantannotation >=1.38.0,<1.39.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cosmic.67-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "bioconductor-variantannotation >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cosmic.67-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "bioconductor-variantannotation >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cosmic.67-1.34.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "bioconductor-variantannotation >=1.44.0,<1.45.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-cottoncdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cottoncdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cottoncdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cottoncdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cottoncdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cottoncdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cottoncdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cottoncdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cottoncdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-cottonprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cottonprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cottonprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cottonprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cottonprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cottonprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cottonprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cottonprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cottonprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-crcl18-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-crcl18-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-crcl18-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-crcl18-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-crcl18-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-crcl18-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-crcl18-1.4.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-crcl18-1.6.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-crcl18-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-crcl18-1.9.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-crisprscoredata-1.2.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221109", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ctcf-0.99.4-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ctcf-0.99.4-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ctcf-0.99.9-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-curatedadipoarray-1.0.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-curatedadipoarray-1.1.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-curatedadipoarray-1.2.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-curatedadipoarray-1.2.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-curatedadipoarray-1.4.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-curatedadipoarray-1.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-curatedadipoarray-1.6.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-curatedadipoarray-1.9.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-curatedadipochip-1.0.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-curatedadipochip-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-curatedadipochip-1.10.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-curatedadipochip-1.14.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-curatedadipochip-1.2.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-curatedadipochip-1.4.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-curatedadipochip-1.6.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-curatedadipochip-1.6.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-curatedadipochip-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-curatedadiporna-1.0.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-curatedadiporna-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-curatedadiporna-1.10.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-curatedadiporna-1.14.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-curatedadiporna-1.2.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-curatedadiporna-1.4.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-curatedadiporna-1.6.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-curatedadiporna-1.6.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-curatedadiporna-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-curatedbladderdata-1.20.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.62.0,<1.63.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-curatedbladderdata-1.22.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.64.0,<1.65.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-curatedbladderdata-1.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.66.0,<1.67.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-curatedbladderdata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-curatedbladderdata-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-curatedbladderdata-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.70.0,<1.71.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-curatedbladderdata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-curatedbladderdata-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-curatedbladderdata-1.34.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.76.0,<1.77.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-curatedbreastdata-2.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-biocstyle >=2.12.0,<2.13.0", - "bioconductor-impute >=1.58.0,<1.59.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-ggplot2", - "r-xml" - ] - }, - "bioconductor-curatedbreastdata-2.14.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-biocstyle >=2.14.0,<2.15.0", - "bioconductor-impute >=1.60.0,<1.61.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-ggplot2", - "r-xml" - ] - }, - "bioconductor-curatedbreastdata-2.16.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-biocstyle >=2.16.0,<2.17.0", - "bioconductor-impute >=1.62.0,<1.63.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-ggplot2", - "r-xml" - ] - }, - "bioconductor-curatedbreastdata-2.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-biocstyle >=2.18.0,<2.19.0", - "bioconductor-impute >=1.64.0,<1.65.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-ggplot2", - "r-xml" - ] - }, - "bioconductor-curatedbreastdata-2.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-biocstyle >=2.18.0,<2.19.0", - "bioconductor-impute >=1.64.0,<1.65.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-ggplot2", - "r-xml" - ] - }, - "bioconductor-curatedbreastdata-2.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-biocstyle >=2.20.0,<2.21.0", - "bioconductor-impute >=1.66.0,<1.67.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-ggplot2", - "r-xml" - ] - }, - "bioconductor-curatedbreastdata-2.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-biocstyle >=2.22.0,<2.23.0", - "bioconductor-impute >=1.68.0,<1.69.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-ggplot2", - "r-xml" - ] - }, - "bioconductor-curatedbreastdata-2.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-biocstyle >=2.22.0,<2.23.0", - "bioconductor-impute >=1.68.0,<1.69.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-ggplot2", - "r-xml" - ] - }, - "bioconductor-curatedbreastdata-2.26.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-biocstyle >=2.26.0,<2.27.0", - "bioconductor-data-packages >=20221104", - "bioconductor-impute >=1.72.0,<1.73.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-ggplot2", - "r-xml" - ] - }, - "bioconductor-curatedcrcdata-2.16.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.30.0,<0.31.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-nlme" - ] - }, - "bioconductor-curatedcrcdata-2.18.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.32.0,<0.33.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-nlme" - ] - }, - "bioconductor-curatedcrcdata-2.20.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.34.0,<0.35.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-nlme" - ] - }, - "bioconductor-curatedcrcdata-2.21.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-nlme" - ] - }, - "bioconductor-curatedcrcdata-2.22.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-nlme" - ] - }, - "bioconductor-curatedcrcdata-2.22.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-nlme" - ] - }, - "bioconductor-curatedcrcdata-2.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.38.0,<0.39.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-nlme" - ] - }, - "bioconductor-curatedcrcdata-2.26.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-nlme" - ] - }, - "bioconductor-curatedcrcdata-2.26.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-nlme" - ] - }, - "bioconductor-curatedcrcdata-2.29.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.44.0,<0.45.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-nlme" - ] - }, - "bioconductor-curatedmetagenomicdata-1.14.1-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.16.0,<2.17.0", - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dplyr >=0.5.0", - "r-magrittr", - "r-tidyr" - ] - }, - "bioconductor-curatedmetagenomicdata-1.16.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dplyr >=0.5.0", - "r-magrittr", - "r-tidyr" - ] - }, - "bioconductor-curatedmetagenomicdata-1.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dplyr >=0.5.0", - "r-magrittr", - "r-tidyr" - ] - }, - "bioconductor-curatedmetagenomicdata-1.20.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dplyr >=0.5.0", - "r-magrittr", - "r-tidyr" - ] - }, - "bioconductor-curatedmetagenomicdata-1.20.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dplyr >=0.5.0", - "r-magrittr", - "r-tidyr" - ] - }, - "bioconductor-curatedmetagenomicdata-3.0.1-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "bioconductor-treesummarizedexperiment >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dplyr", - "r-magrittr", - "r-purrr", - "r-rlang", - "r-stringr", - "r-tibble", - "r-tidyr", - "r-tidyselect" - ] - }, - "bioconductor-curatedmetagenomicdata-3.2.1-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-mia >=1.2.0,<1.3.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "bioconductor-treesummarizedexperiment >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dplyr", - "r-magrittr", - "r-purrr", - "r-rlang", - "r-stringr", - "r-tibble", - "r-tidyr", - "r-tidyselect" - ] - }, - "bioconductor-curatedmetagenomicdata-3.2.3-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-mia >=1.2.0,<1.3.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "bioconductor-treesummarizedexperiment >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dplyr", - "r-magrittr", - "r-purrr", - "r-rlang", - "r-stringr", - "r-tibble", - "r-tidyr", - "r-tidyselect" - ] - }, - "bioconductor-curatedmetagenomicdata-3.4.1-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub", - "bioconductor-experimenthub", - "bioconductor-mia", - "bioconductor-s4vectors", - "bioconductor-summarizedexperiment", - "bioconductor-treesummarizedexperiment", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dplyr", - "r-magrittr", - "r-purrr", - "r-rlang", - "r-stringr", - "r-tibble", - "r-tidyr", - "r-tidyselect" - ] - }, - "bioconductor-curatedmetagenomicdata-3.6.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-mia >=1.6.0,<1.7.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "bioconductor-treesummarizedexperiment >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dplyr", - "r-magrittr", - "r-purrr", - "r-rlang", - "r-stringr", - "r-tibble", - "r-tidyr", - "r-tidyselect" - ] - }, - "bioconductor-curatedovariandata-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.62.0,<1.63.0", - "bioconductor-biocgenerics >=0.30.0,<0.31.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-curatedovariandata-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.64.0,<1.65.0", - "bioconductor-biocgenerics >=0.32.0,<0.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-curatedovariandata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.66.0,<1.67.0", - "bioconductor-biocgenerics >=0.34.0,<0.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-curatedovariandata-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-curatedovariandata-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-curatedovariandata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.70.0,<1.71.0", - "bioconductor-biocgenerics >=0.38.0,<0.39.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-curatedovariandata-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-curatedovariandata-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-curatedovariandata-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.76.0,<1.77.0", - "bioconductor-biocgenerics >=0.44.0,<0.45.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-curatedtbdata-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-multiassayexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rlang" - ] - }, - "bioconductor-curatedtbdata-1.0.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-multiassayexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rlang" - ] - }, - "bioconductor-curatedtbdata-1.4.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-multiassayexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-rlang" - ] - }, - "bioconductor-curatedtcgadata-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-hdf5array >=1.16.0,<1.17.0", - "bioconductor-multiassayexperiment >=1.14.0,<1.15.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-curatedtcgadata-1.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-hdf5array >=1.18.0,<1.19.0", - "bioconductor-multiassayexperiment >=1.16.0,<1.17.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-curatedtcgadata-1.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-hdf5array >=1.18.0,<1.19.0", - "bioconductor-multiassayexperiment >=1.16.0,<1.17.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-curatedtcgadata-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-hdf5array >=1.20.0,<1.21.0", - "bioconductor-multiassayexperiment >=1.18.0,<1.19.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-curatedtcgadata-1.16.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-hdf5array >=1.22.0,<1.23.0", - "bioconductor-multiassayexperiment >=1.20.0,<1.21.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-curatedtcgadata-1.16.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-hdf5array >=1.22.0,<1.23.0", - "bioconductor-multiassayexperiment >=1.20.0,<1.21.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-curatedtcgadata-1.20.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221106", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-hdf5array >=1.26.0,<1.27.0", - "bioconductor-multiassayexperiment >=1.24.0,<1.25.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-curatedtcgadata-1.6.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.16.0,<2.17.0", - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "bioconductor-hdf5array >=1.12.0,<1.13.0", - "bioconductor-multiassayexperiment >=1.10.0,<1.11.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-curatedtcgadata-1.8.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-hdf5array >=1.14.0,<1.15.0", - "bioconductor-multiassayexperiment >=1.12.0,<1.13.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cyp450cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cyp450cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-cyp450cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cyp450cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cyp450cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-cyp450cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cyp450cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cyp450cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-cyp450cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-dapardata-1.14.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-msnbase >=2.10.0,<2.11.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-knitr" - ] - }, - "bioconductor-dapardata-1.16.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-msnbase >=2.12.0,<2.13.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-knitr" - ] - }, - "bioconductor-dapardata-1.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-msnbase >=2.14.0,<2.15.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-knitr" - ] - }, - "bioconductor-dapardata-1.20.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-msnbase >=2.16.0,<2.17.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-knitr" - ] - }, - "bioconductor-dapardata-1.20.1-r40hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-msnbase >=2.16.0,<2.17.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-knitr" - ] - }, - "bioconductor-dapardata-1.22.1-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-msnbase >=2.18.0,<2.19.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-knitr" - ] - }, - "bioconductor-dapardata-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-msnbase >=2.20.0,<2.21.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-knitr" - ] - }, - "bioconductor-dapardata-1.24.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-msnbase >=2.20.0,<2.21.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-knitr" - ] - }, - "bioconductor-dapardata-1.28.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221105", - "bioconductor-msnbase >=2.24.0,<2.25.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-davidtiling-1.24.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-go.db >=3.8.0,<3.9.0", - "bioconductor-tilingarray >=1.62.0,<1.63.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-davidtiling-1.26.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-go.db >=3.10.0,<3.11.0", - "bioconductor-tilingarray >=1.64.0,<1.65.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-davidtiling-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-go.db >=3.11.0,<3.12.0", - "bioconductor-tilingarray >=1.66.0,<1.67.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-davidtiling-1.30.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-go.db >=3.12.0,<3.13.0", - "bioconductor-tilingarray >=1.68.0,<1.69.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-davidtiling-1.30.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-go.db >=3.12.0,<3.13.0", - "bioconductor-tilingarray >=1.68.0,<1.69.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-davidtiling-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-go.db >=3.13.0,<3.14.0", - "bioconductor-tilingarray >=1.70.0,<1.71.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-davidtiling-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-go.db >=3.14.0,<3.15.0", - "bioconductor-tilingarray >=1.72.0,<1.73.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-davidtiling-1.34.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-go.db >=3.14.0,<3.15.0", - "bioconductor-tilingarray >=1.72.0,<1.73.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-davidtiling-1.38.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221109", - "bioconductor-go.db >=3.16.0,<3.17.0", - "bioconductor-tilingarray >=1.76.0,<1.77.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-depmap-1.0.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dplyr" - ] - }, - "bioconductor-depmap-1.12.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dplyr" - ] - }, - "bioconductor-depmap-1.2.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dplyr" - ] - }, - "bioconductor-depmap-1.4.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dplyr" - ] - }, - "bioconductor-depmap-1.4.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dplyr" - ] - }, - "bioconductor-depmap-1.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dplyr" - ] - }, - "bioconductor-depmap-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dplyr" - ] - }, - "bioconductor-depmap-1.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dplyr" - ] - }, - "bioconductor-derfinderdata-2.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-derfinderdata-2.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-derfinderdata-2.12.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-derfinderdata-2.15.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-derfinderdata-2.2.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-derfinderdata-2.2.1-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-derfinderdata-2.4.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-derfinderdata-2.6.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-derfinderdata-2.7.1-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-derfinderdata-2.8.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-derfinderdata-2.8.1-r40hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-desousa2013-1.20.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.62.0,<1.63.0", - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-consensusclusterplus >=1.48.0,<1.49.0", - "bioconductor-frma >=1.36.0,<1.37.0", - "bioconductor-frmatools >=1.36.0,<1.37.0", - "bioconductor-hgu133plus2.db >=3.2.0,<3.3.0", - "bioconductor-hgu133plus2frmavecs >=1.5.0,<1.6.0", - "bioconductor-siggenes >=1.58.0,<1.59.0", - "bioconductor-sva >=3.32.0,<3.33.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-cluster", - "r-gplots", - "r-pamr", - "r-rgl", - "r-rocr", - "r-survival" - ] - }, - "bioconductor-desousa2013-1.22.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.64.0,<1.65.0", - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-consensusclusterplus >=1.50.0,<1.51.0", - "bioconductor-frma >=1.38.0,<1.39.0", - "bioconductor-frmatools >=1.38.0,<1.39.0", - "bioconductor-hgu133plus2.db >=3.2.0,<3.3.0", - "bioconductor-hgu133plus2frmavecs >=1.5.0,<1.6.0", - "bioconductor-siggenes >=1.60.0,<1.61.0", - "bioconductor-sva >=3.34.0,<3.35.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-cluster", - "r-gplots", - "r-pamr", - "r-rgl", - "r-rocr", - "r-survival" - ] - }, - "bioconductor-desousa2013-1.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.66.0,<1.67.0", - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-consensusclusterplus >=1.52.0,<1.53.0", - "bioconductor-frma >=1.40.0,<1.41.0", - "bioconductor-frmatools >=1.40.0,<1.41.0", - "bioconductor-hgu133plus2.db >=3.2.0,<3.3.0", - "bioconductor-hgu133plus2frmavecs >=1.5.0,<1.6.0", - "bioconductor-siggenes >=1.62.0,<1.63.0", - "bioconductor-sva >=3.36.0,<3.37.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-cluster", - "r-gplots", - "r-pamr", - "r-rgl", - "r-rocr", - "r-survival" - ] - }, - "bioconductor-desousa2013-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-consensusclusterplus >=1.54.0,<1.55.0", - "bioconductor-frma >=1.42.0,<1.43.0", - "bioconductor-frmatools >=1.42.0,<1.43.0", - "bioconductor-hgu133plus2.db >=3.2.0,<3.3.0", - "bioconductor-hgu133plus2frmavecs >=1.5.0,<1.6.0", - "bioconductor-siggenes >=1.64.0,<1.65.0", - "bioconductor-sva >=3.38.0,<3.39.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-cluster", - "r-gplots", - "r-pamr", - "r-rgl", - "r-rocr", - "r-survival" - ] - }, - "bioconductor-desousa2013-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-consensusclusterplus >=1.54.0,<1.55.0", - "bioconductor-frma >=1.42.0,<1.43.0", - "bioconductor-frmatools >=1.42.0,<1.43.0", - "bioconductor-hgu133plus2.db >=3.2.0,<3.3.0", - "bioconductor-hgu133plus2frmavecs >=1.5.0,<1.6.0", - "bioconductor-siggenes >=1.64.0,<1.65.0", - "bioconductor-sva >=3.38.0,<3.39.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-cluster", - "r-gplots", - "r-pamr", - "r-rgl", - "r-rocr", - "r-survival" - ] - }, - "bioconductor-desousa2013-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.70.0,<1.71.0", - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-consensusclusterplus >=1.56.0,<1.57.0", - "bioconductor-frma >=1.44.0,<1.45.0", - "bioconductor-frmatools >=1.44.0,<1.45.0", - "bioconductor-hgu133plus2.db >=3.2.0,<3.3.0", - "bioconductor-hgu133plus2frmavecs >=1.5.0,<1.6.0", - "bioconductor-siggenes >=1.66.0,<1.67.0", - "bioconductor-sva >=3.40.0,<3.41.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-cluster", - "r-gplots", - "r-pamr", - "r-rgl", - "r-rocr", - "r-survival" - ] - }, - "bioconductor-desousa2013-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-consensusclusterplus >=1.58.0,<1.59.0", - "bioconductor-frma >=1.46.0,<1.47.0", - "bioconductor-frmatools >=1.46.0,<1.47.0", - "bioconductor-hgu133plus2.db >=3.13.0,<3.14.0", - "bioconductor-hgu133plus2frmavecs >=1.5.0,<1.6.0", - "bioconductor-siggenes >=1.68.0,<1.69.0", - "bioconductor-sva >=3.42.0,<3.43.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-cluster", - "r-gplots", - "r-pamr", - "r-rgl", - "r-rocr", - "r-survival" - ] - }, - "bioconductor-desousa2013-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-consensusclusterplus >=1.58.0,<1.59.0", - "bioconductor-frma >=1.46.0,<1.47.0", - "bioconductor-frmatools >=1.46.0,<1.47.0", - "bioconductor-hgu133plus2.db >=3.13.0,<3.14.0", - "bioconductor-hgu133plus2frmavecs >=1.5.0,<1.6.0", - "bioconductor-siggenes >=1.68.0,<1.69.0", - "bioconductor-sva >=3.42.0,<3.43.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-cluster", - "r-gplots", - "r-pamr", - "r-rgl", - "r-rocr", - "r-survival" - ] - }, - "bioconductor-desousa2013-1.34.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.76.0,<1.77.0", - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-consensusclusterplus >=1.62.0,<1.63.0", - "bioconductor-data-packages >=20221111", - "bioconductor-frma >=1.50.0,<1.51.0", - "bioconductor-frmatools >=1.50.0,<1.51.0", - "bioconductor-hgu133plus2.db >=3.13.0,<3.14.0", - "bioconductor-hgu133plus2frmavecs >=1.5.0,<1.6.0", - "bioconductor-siggenes >=1.72.0,<1.73.0", - "bioconductor-sva >=3.46.0,<3.47.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-cluster", - "r-gplots", - "r-pamr", - "r-rgl", - "r-rocr", - "r-survival" - ] - }, - "bioconductor-dexmadata-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-dexmadata-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-dexmadata-1.2.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-dexmadata-1.6.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-diffloopdata-1.12.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-diffloopdata-1.12.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-diffloopdata-1.14.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-diffloopdata-1.16.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-diffloopdata-1.17.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-diffloopdata-1.18.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-diffloopdata-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-diffloopdata-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-diffloopdata-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-diffloopdata-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-diffloopdata-1.26.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221105", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-diggitdata-1.16.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-viper >=1.18.0,<1.19.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-diggitdata-1.18.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-viper >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-diggitdata-1.20.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-viper >=1.22.0,<1.23.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-diggitdata-1.21.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-viper >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-diggitdata-1.22.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-viper >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-diggitdata-1.22.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-viper >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-diggitdata-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-viper >=1.26.0,<1.27.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-diggitdata-1.26.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-viper >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-diggitdata-1.26.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-viper >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-diggitdata-1.30.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "bioconductor-viper >=1.32.0,<1.33.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-dlbcl-1.24.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-dlbcl-1.26.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-dlbcl-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-dlbcl-1.30.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-dlbcl-1.30.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-dlbcl-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-dlbcl-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-dlbcl-1.34.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-dlbcl-1.38.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-dmelsgi-1.16.0-r351_0.tar.bz2": { - "depends": [ - "bioconductor-limma >=3.40.0,<3.41.0", - "bioconductor-rhdf5 >=2.28.0,<2.29.0", - "curl", - "r-abind", - "r-base >=3.5.1,<3.5.2.0a0", - "r-gplots", - "r-igraph", - "r-knitr", - "r-tsp" - ] - }, - "bioconductor-dmelsgi-1.16.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-limma >=3.40.0,<3.41.0", - "bioconductor-rhdf5 >=2.28.0,<2.29.0", - "curl", - "r-abind", - "r-base >=3.6,<3.7.0a0", - "r-gplots", - "r-igraph", - "r-knitr", - "r-tsp" - ] - }, - "bioconductor-dmelsgi-1.18.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-limma >=3.42.0,<3.43.0", - "bioconductor-rhdf5 >=2.30.0,<2.31.0", - "curl", - "r-abind", - "r-base >=3.6,<3.7.0a0", - "r-gplots", - "r-igraph", - "r-knitr", - "r-tsp" - ] - }, - "bioconductor-dmelsgi-1.20.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-limma >=3.44.0,<3.45.0", - "bioconductor-rhdf5 >=2.32.0,<2.33.0", - "curl", - "r-abind", - "r-base >=4.0,<4.1.0a0", - "r-gplots", - "r-igraph", - "r-knitr", - "r-tsp" - ] - }, - "bioconductor-dmelsgi-1.22.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-limma >=3.46.0,<3.47.0", - "bioconductor-rhdf5 >=2.34.0,<2.35.0", - "curl", - "r-abind", - "r-base >=4.0,<4.1.0a0", - "r-gplots", - "r-igraph", - "r-knitr", - "r-tsp" - ] - }, - "bioconductor-dmelsgi-1.22.1-r40hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-limma >=3.46.0,<3.47.0", - "bioconductor-rhdf5 >=2.34.0,<2.35.0", - "curl", - "r-abind", - "r-base >=4.0,<4.1.0a0", - "r-gplots", - "r-igraph", - "r-knitr", - "r-tsp" - ] - }, - "bioconductor-dmelsgi-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-limma >=3.48.0,<3.49.0", - "bioconductor-rhdf5 >=2.36.0,<2.37.0", - "curl", - "r-abind", - "r-base >=4.1,<4.2.0a0", - "r-gplots", - "r-igraph", - "r-knitr", - "r-tsp" - ] - }, - "bioconductor-dmelsgi-1.26.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-limma >=3.50.0,<3.51.0", - "bioconductor-rhdf5 >=2.38.0,<2.39.0", - "curl", - "r-abind", - "r-base >=4.1,<4.2.0a0", - "r-gplots", - "r-igraph", - "r-knitr", - "r-tsp" - ] - }, - "bioconductor-dmelsgi-1.26.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-limma >=3.50.0,<3.51.0", - "bioconductor-rhdf5 >=2.38.0,<2.39.0", - "curl", - "r-abind", - "r-base >=4.1,<4.2.0a0", - "r-gplots", - "r-igraph", - "r-knitr", - "r-tsp" - ] - }, - "bioconductor-dmelsgi-1.29.1-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-limma >=3.54.0,<3.55.0", - "bioconductor-rhdf5 >=2.42.0,<2.43.0", - "curl", - "r-abind", - "r-base >=4.2,<4.3.0a0", - "r-gplots", - "r-igraph", - "r-knitr", - "r-tsp" - ] - }, - "bioconductor-dmrcatedata-1.20.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-dmrcatedata-2.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "bioconductor-gviz >=1.36.0,<1.37.0", - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19 >=0.6.0,<0.7.0", - "bioconductor-rtracklayer >=1.52.0,<1.53.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-plyr", - "r-readxl" - ] - }, - "bioconductor-dmrcatedata-2.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "bioconductor-gviz >=1.38.0,<1.39.0", - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19 >=0.6.0,<0.7.0", - "bioconductor-rtracklayer >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-plyr", - "r-readxl" - ] - }, - "bioconductor-dmrcatedata-2.12.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "bioconductor-gviz >=1.38.0,<1.39.0", - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19 >=0.6.0,<0.7.0", - "bioconductor-rtracklayer >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-plyr", - "r-readxl" - ] - }, - "bioconductor-dmrcatedata-2.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221110", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "bioconductor-gviz >=1.42.0,<1.43.0", - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19 >=0.6.0,<0.7.0", - "bioconductor-rtracklayer >=1.58.0,<1.59.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-plyr", - "r-readxl" - ] - }, - "bioconductor-dmrcatedata-2.2.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "bioconductor-gviz >=1.30.0,<1.31.0", - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19 >=0.6.0,<0.7.0", - "bioconductor-rtracklayer >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-plyr", - "r-readxl" - ] - }, - "bioconductor-dmrcatedata-2.6.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "bioconductor-gviz >=1.32.0,<1.33.0", - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19 >=0.6.0,<0.7.0", - "bioconductor-rtracklayer >=1.48.0,<1.49.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-plyr", - "r-readxl" - ] - }, - "bioconductor-dmrcatedata-2.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "bioconductor-gviz >=1.34.0,<1.35.0", - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19 >=0.6.0,<0.7.0", - "bioconductor-rtracklayer >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-plyr", - "r-readxl" - ] - }, - "bioconductor-dmrcatedata-2.8.2-r40hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "bioconductor-gviz >=1.34.0,<1.35.0", - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19 >=0.6.0,<0.7.0", - "bioconductor-rtracklayer >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-plyr", - "r-readxl" - ] - }, - "bioconductor-do.db-2.9-r36_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-do.db-2.9-r36_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-do.db-2.9-r40_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-do.db-2.9-r40_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-do.db-2.9-r40hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-do.db-2.9-r41hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-do.db-2.9-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-do.db-2.9-r41hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-do.db-2.9-r42hdfd78af_14.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-donapllp2013-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.26.0,<4.27.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-donapllp2013-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.28.0,<4.29.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-donapllp2013-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.30.0,<4.31.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-donapllp2013-1.27.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.32.0,<4.33.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-donapllp2013-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.32.0,<4.33.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-donapllp2013-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.32.0,<4.33.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-donapllp2013-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.34.0,<4.35.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-donapllp2013-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.36.0,<4.37.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-donapllp2013-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.36.0,<4.37.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-donapllp2013-1.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-ebimage >=4.40.0,<4.41.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-dorothea-1.0.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-bcellviper >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dplyr", - "r-magrittr" - ] - }, - "bioconductor-dorothea-1.10.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bcellviper >=1.34.0,<1.35.0", - "bioconductor-data-packages >=20221105", - "bioconductor-viper >=1.32.0,<1.33.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dplyr", - "r-magrittr" - ] - }, - "bioconductor-dorothea-1.2.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-bcellviper >=1.26.0,<1.27.0", - "bioconductor-viper >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dplyr", - "r-magrittr" - ] - }, - "bioconductor-dorothea-1.2.1-r40hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bcellviper >=1.26.0,<1.27.0", - "bioconductor-viper >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dplyr", - "r-magrittr" - ] - }, - "bioconductor-dorothea-1.4.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bcellviper >=1.28.0,<1.29.0", - "bioconductor-viper >=1.26.0,<1.27.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dplyr", - "r-magrittr" - ] - }, - "bioconductor-dorothea-1.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bcellviper >=1.30.0,<1.31.0", - "bioconductor-viper >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dplyr", - "r-magrittr" - ] - }, - "bioconductor-dorothea-1.6.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-bcellviper >=1.30.0,<1.31.0", - "bioconductor-viper >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dplyr", - "r-magrittr" - ] - }, - "bioconductor-dream4-1.20.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-dream4-1.22.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-dream4-1.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-dream4-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-dream4-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-dream4-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-dream4-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-dream4-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-dresscheck-0.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-dresscheck-0.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-dresscheck-0.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-dresscheck-0.27.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-dresscheck-0.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-dresscheck-0.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-dresscheck-0.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-dresscheck-0.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-dresscheck-0.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-dresscheck-0.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-droplettestfiles-1.0.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-droplettestfiles-1.0.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-droplettestfiles-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-droplettestfiles-1.4.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-droplettestfiles-1.4.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-droplettestfiles-1.8.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-drosgenome1.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.dm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-drosgenome1.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.dm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-drosgenome1.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.dm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-drosgenome1.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.dm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-drosgenome1.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.dm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-drosgenome1.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.dm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-drosgenome1.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.dm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-drosgenome1.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.dm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-drosgenome1.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.dm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-drosgenome1cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-drosgenome1cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-drosgenome1cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-drosgenome1cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-drosgenome1cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-drosgenome1cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-drosgenome1cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-drosgenome1cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-drosgenome1cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-drosgenome1probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-drosgenome1probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-drosgenome1probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-drosgenome1probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-drosgenome1probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-drosgenome1probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-drosgenome1probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-drosgenome1probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-drosgenome1probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-drosophila2.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.dm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-drosophila2.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.dm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-drosophila2.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.dm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-drosophila2.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.dm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-drosophila2.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.dm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-drosophila2.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.dm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-drosophila2.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.dm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-drosophila2.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.dm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-drosophila2.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.dm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-drosophila2cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-drosophila2cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-drosophila2cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-drosophila2cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-drosophila2cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-drosophila2cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-drosophila2cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-drosophila2cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-drosophila2cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-drosophila2probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-drosophila2probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-drosophila2probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-drosophila2probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-drosophila2probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-drosophila2probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-drosophila2probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-drosophila2probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-drosophila2probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-drugvsdiseasedata-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-drugvsdiseasedata-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-drugvsdiseasedata-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-drugvsdiseasedata-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-drugvsdiseasedata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-drugvsdiseasedata-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-drugvsdiseasedata-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-drugvsdiseasedata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-drugvsdiseasedata-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-drugvsdiseasedata-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-drugvsdiseasedata-1.34.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221111", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-dsqtl-0.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-ggbase >=3.46.0,<3.47.0", - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-dsqtl-0.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-ggbase >=3.48.0,<3.49.0", - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-dsqtl-0.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-ggbase >=3.50.0,<3.51.0", - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-dsqtl-0.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-ggbase >=3.52.0,<3.53.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-dsqtl-0.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-ggbase >=3.52.0,<3.53.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-duoclustering2018-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dplyr", - "r-ggplot2", - "r-ggthemes", - "r-magrittr", - "r-mclust", - "r-purrr", - "r-reshape2", - "r-tidyr", - "r-viridis" - ] - }, - "bioconductor-duoclustering2018-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dplyr", - "r-ggplot2", - "r-ggthemes", - "r-magrittr", - "r-mclust", - "r-purrr", - "r-reshape2", - "r-tidyr", - "r-viridis" - ] - }, - "bioconductor-duoclustering2018-1.12.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dplyr", - "r-ggplot2", - "r-ggthemes", - "r-magrittr", - "r-mclust", - "r-purrr", - "r-reshape2", - "r-tidyr", - "r-viridis" - ] - }, - "bioconductor-duoclustering2018-1.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dplyr", - "r-ggplot2", - "r-ggthemes", - "r-magrittr", - "r-mclust", - "r-purrr", - "r-reshape2", - "r-tidyr", - "r-viridis" - ] - }, - "bioconductor-duoclustering2018-1.2.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dplyr", - "r-ggplot2", - "r-ggthemes", - "r-magrittr", - "r-mclust", - "r-purrr", - "r-reshape2", - "r-tidyr", - "r-viridis" - ] - }, - "bioconductor-duoclustering2018-1.4.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dplyr", - "r-ggplot2", - "r-ggthemes", - "r-magrittr", - "r-mclust", - "r-purrr", - "r-reshape2", - "r-tidyr", - "r-viridis" - ] - }, - "bioconductor-duoclustering2018-1.6.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dplyr", - "r-ggplot2", - "r-ggthemes", - "r-magrittr", - "r-mclust", - "r-purrr", - "r-reshape2", - "r-tidyr", - "r-viridis" - ] - }, - "bioconductor-duoclustering2018-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dplyr", - "r-ggplot2", - "r-ggthemes", - "r-magrittr", - "r-mclust", - "r-purrr", - "r-reshape2", - "r-tidyr", - "r-viridis" - ] - }, - "bioconductor-duoclustering2018-1.8.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dplyr", - "r-ggplot2", - "r-ggthemes", - "r-magrittr", - "r-mclust", - "r-purrr", - "r-reshape2", - "r-tidyr", - "r-viridis" - ] - }, - "bioconductor-dvddata-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-dvddata-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-dvddata-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-dvddata-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-dvddata-1.25.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-dvddata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-dvddata-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-dvddata-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-dvddata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-dvddata-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-dvddata-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-dyebiasexamples-1.24.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-geoquery >=2.52.0,<2.53.0", - "bioconductor-marray >=1.62.0,<1.63.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-dyebiasexamples-1.26.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-geoquery >=2.54.0,<2.55.0", - "bioconductor-marray >=1.64.0,<1.65.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-dyebiasexamples-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-geoquery >=2.56.0,<2.57.0", - "bioconductor-marray >=1.66.0,<1.67.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-dyebiasexamples-1.30.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-geoquery >=2.58.0,<2.59.0", - "bioconductor-marray >=1.68.0,<1.69.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-dyebiasexamples-1.30.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-geoquery >=2.58.0,<2.59.0", - "bioconductor-marray >=1.68.0,<1.69.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-dyebiasexamples-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-geoquery >=2.60.0,<2.61.0", - "bioconductor-marray >=1.70.0,<1.71.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-dyebiasexamples-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-geoquery >=2.62.0,<2.63.0", - "bioconductor-marray >=1.72.0,<1.73.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-dyebiasexamples-1.34.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-geoquery >=2.62.0,<2.63.0", - "bioconductor-marray >=1.72.0,<1.73.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-dyebiasexamples-1.38.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221104", - "bioconductor-geoquery >=2.66.0,<2.67.0", - "bioconductor-marray >=1.76.0,<1.77.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-easierdata-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-easierdata-1.0.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-easierdata-1.4.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221106", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-eatonetalchipseq-0.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-rtracklayer >=1.44.0,<1.45.0", - "bioconductor-shortread >=1.42.0,<1.43.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-eatonetalchipseq-0.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-rtracklayer >=1.46.0,<1.47.0", - "bioconductor-shortread >=1.44.0,<1.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-eatonetalchipseq-0.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-rtracklayer >=1.48.0,<1.49.0", - "bioconductor-shortread >=1.46.0,<1.47.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-eatonetalchipseq-0.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-rtracklayer >=1.50.0,<1.51.0", - "bioconductor-shortread >=1.48.0,<1.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-eatonetalchipseq-0.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-rtracklayer >=1.50.0,<1.51.0", - "bioconductor-shortread >=1.48.0,<1.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-eatonetalchipseq-0.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-rtracklayer >=1.52.0,<1.53.0", - "bioconductor-shortread >=1.50.0,<1.51.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-eatonetalchipseq-0.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-rtracklayer >=1.54.0,<1.55.0", - "bioconductor-shortread >=1.52.0,<1.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-eatonetalchipseq-0.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-rtracklayer >=1.54.0,<1.55.0", - "bioconductor-shortread >=1.52.0,<1.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-eatonetalchipseq-0.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-rtracklayer >=1.58.0,<1.59.0", - "bioconductor-shortread >=1.56.0,<1.57.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ecoli2.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.eck12.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecoli2.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.eck12.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecoli2.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.eck12.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ecoli2.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.eck12.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ecoli2.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.eck12.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ecoli2.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.eck12.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecoli2.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.eck12.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecoli2.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.eck12.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecoli2.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.eck12.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecoli2cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ecoli2cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ecoli2cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecoli2cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecoli2cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecoli2cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecoli2cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecoli2cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecoli2cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ecoli2probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ecoli2probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ecoli2probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecoli2probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecoli2probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecoli2probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecoli2probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecoli2probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecoli2probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ecoliasv2cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ecoliasv2cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ecoliasv2cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecoliasv2cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecoliasv2cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecoliasv2cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecoliasv2cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecoliasv2cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecoliasv2cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ecoliasv2probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ecoliasv2probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ecoliasv2probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecoliasv2probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecoliasv2probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecoliasv2probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecoliasv2probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecoliasv2probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecoliasv2probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ecolicdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ecolicdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ecolicdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecolicdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecolicdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecolicdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecolicdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecolicdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecolicdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ecolik12.db0-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ecolik12.db0-3.11.2-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecolik12.db0-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecolik12.db0-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecolik12.db0-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecolik12.db0-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecolik12.db0-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecolik12.db0-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ecolik12.db0-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ecolileucine-1.24.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.62.0,<1.63.0", - "bioconductor-ecolicdf >=2.18.0,<2.19.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ecolileucine-1.26.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.64.0,<1.65.0", - "bioconductor-ecolicdf >=2.18.0,<2.19.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ecolileucine-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.66.0,<1.67.0", - "bioconductor-ecolicdf >=2.18.0,<2.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecolileucine-1.30.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-ecolicdf >=2.18.0,<2.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecolileucine-1.30.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-ecolicdf >=2.18.0,<2.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecolileucine-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.70.0,<1.71.0", - "bioconductor-ecolicdf >=2.18.0,<2.19.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecolileucine-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-ecolicdf >=2.18.0,<2.19.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecolileucine-1.34.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-ecolicdf >=2.18.0,<2.19.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecolileucine-1.38.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.76.0,<1.77.0", - "bioconductor-data-packages >=20221107", - "bioconductor-ecolicdf >=2.18.0,<2.19.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ecoliprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ecoliprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ecoliprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecoliprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecoliprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecoliprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecoliprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecoliprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecoliprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ecolisakai.db0-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ecolisakai.db0-3.11.2-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecolisakai.db0-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecolisakai.db0-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ecolisakai.db0-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecolisakai.db0-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecolisakai.db0-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ecolisakai.db0-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ecolisakai.db0-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-egseadata-1.12.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-egseadata-1.12.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-egseadata-1.14.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-egseadata-1.16.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-egseadata-1.17.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-egseadata-1.18.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-egseadata-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-egseadata-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-egseadata-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-egseadata-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-egseadata-1.25.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-egseadata-1.26.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221111", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-elmer.data-2.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-elmer.data-2.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-elmer.data-2.14.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-elmer.data-2.14.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-elmer.data-2.16.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-elmer.data-2.18.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-elmer.data-2.18.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-elmer.data-2.22.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221105", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-elmer.data-2.8.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-emtdata-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-edger >=3.34.0,<3.35.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-emtdata-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-edger >=3.36.0,<3.37.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-emtdata-1.2.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-edger >=3.36.0,<3.37.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-emtdata-1.6.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221109", - "bioconductor-edger >=3.40.0,<3.41.0", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-encodexplorerdata-0.99.1-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0", - "r-data.table", - "r-jsonlite", - "r-rcurl", - "r-tidyr" - ] - }, - "bioconductor-encodexplorerdata-0.99.4-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0", - "r-data.table", - "r-jsonlite", - "r-rcurl", - "r-tidyr" - ] - }, - "bioconductor-encodexplorerdata-0.99.5-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0", - "r-data.table", - "r-jsonlite", - "r-rcurl" - ] - }, - "bioconductor-encodexplorerdata-0.99.5-r40_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0", - "r-data.table", - "r-jsonlite", - "r-rcurl" - ] - }, - "bioconductor-encodexplorerdata-0.99.5-r40hdfd78af_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0", - "r-data.table", - "r-jsonlite", - "r-rcurl" - ] - }, - "bioconductor-encodexplorerdata-0.99.5-r41hdfd78af_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0", - "r-data.table", - "r-jsonlite", - "r-rcurl" - ] - }, - "bioconductor-encodexplorerdata-0.99.5-r41hdfd78af_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0", - "r-data.table", - "r-jsonlite", - "r-rcurl" - ] - }, - "bioconductor-encodexplorerdata-0.99.5-r41hdfd78af_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0", - "r-data.table", - "r-jsonlite", - "r-rcurl" - ] - }, - "bioconductor-encodexplorerdata-0.99.5-r42hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-data.table", - "r-jsonlite", - "r-rcurl" - ] - }, - "bioconductor-ensdb.hsapiens.v75-2.99.0-r36_5.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.8.0,<2.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v75-2.99.0-r36_6.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.10.0,<2.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v75-2.99.0-r40_7.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.12.0,<2.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v75-2.99.0-r40_8.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.14.0,<2.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v75-2.99.0-r40hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.14.0,<2.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v75-2.99.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.16.0,<2.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v75-2.99.0-r41hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.18.0,<2.19.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v75-2.99.0-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.18.0,<2.19.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v75-2.99.0-r42hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "bioconductor-ensembldb >=2.22.0,<2.23.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v79-2.99.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.8.0,<2.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v79-2.99.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.10.0,<2.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v79-2.99.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.12.0,<2.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v79-2.99.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.14.0,<2.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v79-2.99.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.14.0,<2.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v79-2.99.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.16.0,<2.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v79-2.99.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.18.0,<2.19.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v79-2.99.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.18.0,<2.19.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v79-2.99.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "bioconductor-ensembldb >=2.22.0,<2.23.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v86-2.99.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.8.0,<2.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v86-2.99.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.10.0,<2.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v86-2.99.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.12.0,<2.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v86-2.99.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.14.0,<2.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v86-2.99.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.14.0,<2.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v86-2.99.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.16.0,<2.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v86-2.99.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.18.0,<2.19.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v86-2.99.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.18.0,<2.19.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ensdb.hsapiens.v86-2.99.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "bioconductor-ensembldb >=2.22.0,<2.23.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ensdb.mmusculus.v75-2.99.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.8.0,<2.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ensdb.mmusculus.v75-2.99.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.10.0,<2.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ensdb.mmusculus.v75-2.99.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.12.0,<2.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ensdb.mmusculus.v75-2.99.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.14.0,<2.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ensdb.mmusculus.v75-2.99.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.14.0,<2.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ensdb.mmusculus.v75-2.99.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.16.0,<2.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ensdb.mmusculus.v75-2.99.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.18.0,<2.19.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ensdb.mmusculus.v75-2.99.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.18.0,<2.19.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ensdb.mmusculus.v75-2.99.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "bioconductor-ensembldb >=2.22.0,<2.23.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ensdb.mmusculus.v79-2.99.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.8.0,<2.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ensdb.mmusculus.v79-2.99.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.10.0,<2.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ensdb.mmusculus.v79-2.99.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.12.0,<2.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ensdb.mmusculus.v79-2.99.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.14.0,<2.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ensdb.mmusculus.v79-2.99.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.14.0,<2.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ensdb.mmusculus.v79-2.99.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.16.0,<2.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ensdb.mmusculus.v79-2.99.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.18.0,<2.19.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ensdb.mmusculus.v79-2.99.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.18.0,<2.19.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ensdb.mmusculus.v79-2.99.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "bioconductor-ensembldb >=2.22.0,<2.23.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ensdb.rnorvegicus.v75-2.99.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.8.0,<2.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ensdb.rnorvegicus.v75-2.99.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.10.0,<2.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ensdb.rnorvegicus.v75-2.99.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.12.0,<2.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ensdb.rnorvegicus.v75-2.99.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.14.0,<2.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ensdb.rnorvegicus.v75-2.99.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.14.0,<2.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ensdb.rnorvegicus.v75-2.99.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.16.0,<2.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ensdb.rnorvegicus.v75-2.99.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.18.0,<2.19.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ensdb.rnorvegicus.v75-2.99.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.18.0,<2.19.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ensdb.rnorvegicus.v75-2.99.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "bioconductor-ensembldb >=2.22.0,<2.23.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ensdb.rnorvegicus.v79-2.99.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.8.0,<2.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ensdb.rnorvegicus.v79-2.99.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.10.0,<2.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ensdb.rnorvegicus.v79-2.99.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.12.0,<2.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ensdb.rnorvegicus.v79-2.99.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.14.0,<2.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ensdb.rnorvegicus.v79-2.99.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.14.0,<2.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ensdb.rnorvegicus.v79-2.99.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.16.0,<2.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ensdb.rnorvegicus.v79-2.99.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.18.0,<2.19.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ensdb.rnorvegicus.v79-2.99.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-ensembldb >=2.18.0,<2.19.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ensdb.rnorvegicus.v79-2.99.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "bioconductor-ensembldb >=2.22.0,<2.23.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-epimix.data-1.0.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-epimutacionsdata-1.1.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-epimutacionsdata-1.2.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221111", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-epitxdb.hs.hg38-0.99.3-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-epitxdb >=1.0.0,<1.1.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-epitxdb.hs.hg38-0.99.7-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-epitxdb >=1.2.0,<1.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-epitxdb.hs.hg38-0.99.7-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-epitxdb >=1.2.0,<1.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-epitxdb.hs.hg38-0.99.7-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-epitxdb >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-epitxdb.hs.hg38-0.99.7-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-epitxdb >=1.6.0,<1.7.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-epitxdb.hs.hg38-0.99.7-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-epitxdb >=1.6.0,<1.7.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-epitxdb.hs.hg38-0.99.7-r42hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221102", - "bioconductor-epitxdb >=1.10.0,<1.11.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-epitxdb.mm.mm10-0.99.4-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-epitxdb >=1.0.0,<1.1.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-epitxdb.mm.mm10-0.99.6-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-epitxdb >=1.2.0,<1.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-epitxdb.mm.mm10-0.99.6-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-epitxdb >=1.2.0,<1.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-epitxdb.mm.mm10-0.99.6-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-epitxdb >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-epitxdb.mm.mm10-0.99.6-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-epitxdb >=1.6.0,<1.7.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-epitxdb.mm.mm10-0.99.6-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-epitxdb >=1.6.0,<1.7.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-epitxdb.mm.mm10-0.99.6-r42hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221102", - "bioconductor-epitxdb >=1.10.0,<1.11.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-epitxdb.sc.saccer3-0.99.3-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-epitxdb >=1.0.0,<1.1.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-epitxdb.sc.saccer3-0.99.3-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-epitxdb >=1.2.0,<1.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-epitxdb.sc.saccer3-0.99.3-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-epitxdb >=1.2.0,<1.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-epitxdb.sc.saccer3-0.99.5-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-epitxdb >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-epitxdb.sc.saccer3-0.99.5-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-epitxdb >=1.6.0,<1.7.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-epitxdb.sc.saccer3-0.99.5-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-epitxdb >=1.6.0,<1.7.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-epitxdb.sc.saccer3-0.99.5-r42hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221102", - "bioconductor-epitxdb >=1.10.0,<1.11.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-estrogen-1.30.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-estrogen-1.30.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-estrogen-1.32.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-estrogen-1.34.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-estrogen-1.35.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-estrogen-1.36.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-estrogen-1.36.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-estrogen-1.38.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-estrogen-1.40.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-estrogen-1.40.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-estrogen-1.43.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-etec16s-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-metagenomeseq >=1.26.0,<1.27.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-etec16s-1.14.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-metagenomeseq >=1.28.0,<1.29.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-etec16s-1.16.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-metagenomeseq >=1.30.0,<1.31.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-etec16s-1.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-metagenomeseq >=1.32.0,<1.33.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-etec16s-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-metagenomeseq >=1.32.0,<1.33.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-etec16s-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-metagenomeseq >=1.34.0,<1.35.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-etec16s-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-metagenomeseq >=1.36.0,<1.37.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-etec16s-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-metagenomeseq >=1.36.0,<1.37.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-etec16s-1.26.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "bioconductor-metagenomeseq >=1.40.0,<1.41.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-eupathdb-1.0.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.16.0,<2.17.0", - "bioconductor-annotationhubdata >=1.14.0,<1.15.0", - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-genomeinfodbdata >=1.2.0,<1.3.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-biocmanager" - ] - }, - "bioconductor-eupathdb-1.0.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "bioconductor-annotationhubdata >=1.16.0,<1.17.0", - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-genomeinfodbdata >=1.2.0,<1.3.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-biocmanager" - ] - }, - "bioconductor-eupathdb-1.0.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-annotationhubdata >=1.18.0,<1.19.0", - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-genomeinfodbdata >=1.2.0,<1.3.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-biocmanager" - ] - }, - "bioconductor-eupathdb-1.0.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-annotationhubdata >=1.20.0,<1.21.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-genomeinfodbdata >=1.2.0,<1.3.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-biocmanager" - ] - }, - "bioconductor-eupathdb-1.0.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-annotationhubdata >=1.20.0,<1.21.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-genomeinfodbdata >=1.2.0,<1.3.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-biocmanager" - ] - }, - "bioconductor-eupathdb-1.0.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-annotationhubdata >=1.22.0,<1.23.0", - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-genomeinfodbdata >=1.2.0,<1.3.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-biocmanager" - ] - }, - "bioconductor-eupathdb-1.0.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-annotationhubdata >=1.24.0,<1.25.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-genomeinfodbdata >=1.2.0,<1.3.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-biocmanager" - ] - }, - "bioconductor-eupathdb-1.0.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-annotationhubdata >=1.24.0,<1.25.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-genomeinfodbdata >=1.2.0,<1.3.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-biocmanager" - ] - }, - "bioconductor-eupathdb-1.0.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-annotationhubdata >=1.28.0,<1.29.0", - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221102", - "bioconductor-genomeinfodbdata >=1.2.0,<1.3.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-biocmanager" - ] - }, - "bioconductor-ewcedata-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ewcedata-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ewcedata-1.2.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ewcedata-1.6.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221109", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-excluderanges-0.99.6-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-excluderanges-0.99.6-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-excluderanges-0.99.6-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-faahko-1.24.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-xcms >=3.6.0,<3.7.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-faahko-1.26.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-xcms >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-faahko-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-xcms >=3.10.0,<3.11.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-faahko-1.30.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-xcms >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-faahko-1.30.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-xcms >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-faahko-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-xcms >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-faahko-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-xcms >=3.16.0,<3.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-faahko-1.34.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-xcms >=3.16.0,<3.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-faahko-1.38.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "bioconductor-xcms >=3.20.0,<3.21.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-fabiadata-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-fabiadata-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-fabiadata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fabiadata-1.27.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fabiadata-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fabiadata-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fabiadata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fabiadata-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fabiadata-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fabiadata-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-facopy.annot-1.4.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-facopy.annot-1.4.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-facopy.annot-1.6.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-facsdorit-1.26.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-prada >=1.60.0,<1.61.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-facsdorit-1.28.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-prada >=1.62.0,<1.63.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-facsdorit-1.30.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-prada >=1.63.0,<1.64.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fantom3and4cage-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-fantom3and4cage-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-fantom3and4cage-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-fantom3and4cage-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fantom3and4cage-1.25.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fantom3and4cage-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fantom3and4cage-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fantom3and4cage-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fantom3and4cage-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fantom3and4cage-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fantom3and4cage-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-fdb.fantom4.promoters.hg19-1.0.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-fdb.fantom4.promoters.hg19-1.0.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-fdb.fantom4.promoters.hg19-1.0.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fdb.fantom4.promoters.hg19-1.0.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fdb.fantom4.promoters.hg19-1.0.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fdb.fantom4.promoters.hg19-1.0.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fdb.fantom4.promoters.hg19-1.0.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fdb.fantom4.promoters.hg19-1.0.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fdb.fantom4.promoters.hg19-1.0.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221102", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-fdb.infiniummethylation.hg18-2.2.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "bioconductor-txdb.hsapiens.ucsc.hg18.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-fdb.infiniummethylation.hg18-2.2.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "bioconductor-txdb.hsapiens.ucsc.hg18.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-fdb.infiniummethylation.hg18-2.2.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "bioconductor-txdb.hsapiens.ucsc.hg18.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fdb.infiniummethylation.hg18-2.2.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "bioconductor-txdb.hsapiens.ucsc.hg18.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fdb.infiniummethylation.hg18-2.2.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "bioconductor-txdb.hsapiens.ucsc.hg18.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fdb.infiniummethylation.hg18-2.2.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "bioconductor-txdb.hsapiens.ucsc.hg18.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fdb.infiniummethylation.hg18-2.2.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "bioconductor-txdb.hsapiens.ucsc.hg18.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fdb.infiniummethylation.hg18-2.2.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "bioconductor-txdb.hsapiens.ucsc.hg18.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fdb.infiniummethylation.hg18-2.2.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221102", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "bioconductor-txdb.hsapiens.ucsc.hg18.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-fdb.infiniummethylation.hg19-2.2.0-r36_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-fdb.infiniummethylation.hg19-2.2.0-r36_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-fdb.infiniummethylation.hg19-2.2.0-r40_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fdb.infiniummethylation.hg19-2.2.0-r40_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fdb.infiniummethylation.hg19-2.2.0-r40hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fdb.infiniummethylation.hg19-2.2.0-r41hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fdb.infiniummethylation.hg19-2.2.0-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fdb.infiniummethylation.hg19-2.2.0-r41hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fdb.infiniummethylation.hg19-2.2.0-r42hdfd78af_14.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221102", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-fdb.ucsc.snp135common.hg19-1.0.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-fdb.ucsc.snp135common.hg19-1.0.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-fdb.ucsc.snp135common.hg19-1.0.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fdb.ucsc.snp135common.hg19-1.0.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fdb.ucsc.snp135common.hg19-1.0.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fdb.ucsc.snp135common.hg19-1.0.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fdb.ucsc.snp135common.hg19-1.0.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fdb.ucsc.snp135common.hg19-1.0.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fdb.ucsc.snp135common.hg19-1.0.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-fdb.ucsc.snp137common.hg19-1.0.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-fdb.ucsc.snp137common.hg19-1.0.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-fdb.ucsc.snp137common.hg19-1.0.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fdb.ucsc.snp137common.hg19-1.0.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fdb.ucsc.snp137common.hg19-1.0.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fdb.ucsc.snp137common.hg19-1.0.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fdb.ucsc.snp137common.hg19-1.0.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fdb.ucsc.snp137common.hg19-1.0.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fdb.ucsc.snp137common.hg19-1.0.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-fdb.ucsc.trnas-1.0.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-fdb.ucsc.trnas-1.0.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-fdb.ucsc.trnas-1.0.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fdb.ucsc.trnas-1.0.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fdb.ucsc.trnas-1.0.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fdb.ucsc.trnas-1.0.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fdb.ucsc.trnas-1.0.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fdb.ucsc.trnas-1.0.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fdb.ucsc.trnas-1.0.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ffpeexampledata-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-lumi >=2.36.0,<2.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ffpeexampledata-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-lumi >=2.38.0,<2.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ffpeexampledata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-lumi >=2.40.0,<2.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ffpeexampledata-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-lumi >=2.42.0,<2.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ffpeexampledata-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-lumi >=2.42.0,<2.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ffpeexampledata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-lumi >=2.44.0,<2.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ffpeexampledata-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-lumi >=2.46.0,<2.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ffpeexampledata-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-lumi >=2.46.0,<2.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ffpeexampledata-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221111", - "bioconductor-lumi >=2.50.0,<2.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-fibroeset-1.26.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-fibroeset-1.28.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-fibroeset-1.30.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fibroeset-1.31.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fibroeset-1.32.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fibroeset-1.32.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fibroeset-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fibroeset-1.36.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fibroeset-1.36.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fibroeset-1.40.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-fieldeffectcrc-1.0.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-biocstyle >=2.18.0,<2.19.0", - "bioconductor-deseq2 >=1.30.0,<1.31.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-runit" - ] - }, - "bioconductor-fieldeffectcrc-1.0.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-biocstyle >=2.18.0,<2.19.0", - "bioconductor-deseq2 >=1.30.0,<1.31.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-runit" - ] - }, - "bioconductor-fieldeffectcrc-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-biocstyle >=2.20.0,<2.21.0", - "bioconductor-deseq2 >=1.32.0,<1.33.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-runit" - ] - }, - "bioconductor-fieldeffectcrc-1.4.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-biocstyle >=2.22.0,<2.23.0", - "bioconductor-deseq2 >=1.34.0,<1.35.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-runit" - ] - }, - "bioconductor-fieldeffectcrc-1.4.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-biocstyle >=2.22.0,<2.23.0", - "bioconductor-deseq2 >=1.34.0,<1.35.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-runit" - ] - }, - "bioconductor-fieldeffectcrc-1.8.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-biocstyle >=2.26.0,<2.27.0", - "bioconductor-data-packages >=20221110", - "bioconductor-deseq2 >=1.38.0,<1.39.0", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-runit" - ] - }, - "bioconductor-fis-1.12.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-fis-1.12.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-fis-1.14.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-fis-1.16.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fis-1.17.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fis-1.18.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fis-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fis-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fis-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fis-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fis-1.25.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-fis-1.26.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-fission-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fission-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fission-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fission-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fission-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fission-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-fission-1.4.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-fission-1.6.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-fission-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fitcons.ucsc.hg19-3.7.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-genomicscores >=1.8.0,<1.9.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-fitcons.ucsc.hg19-3.7.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-genomicscores >=1.10.0,<1.11.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-fitcons.ucsc.hg19-3.7.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-genomicscores >=2.0.0,<2.1.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fitcons.ucsc.hg19-3.7.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fitcons.ucsc.hg19-3.7.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fitcons.ucsc.hg19-3.7.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-genomicscores >=2.4.0,<2.5.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fitcons.ucsc.hg19-3.7.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fitcons.ucsc.hg19-3.7.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fitcons.ucsc.hg19-3.7.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221102", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-genomicscores >=2.10.0,<2.11.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-fletcher2013a-1.20.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-limma >=3.40.0,<3.41.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-gplots", - "r-venndiagram" - ] - }, - "bioconductor-fletcher2013a-1.22.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-limma >=3.42.0,<3.43.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-gplots", - "r-venndiagram" - ] - }, - "bioconductor-fletcher2013a-1.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-limma >=3.44.0,<3.45.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-gplots", - "r-venndiagram" - ] - }, - "bioconductor-fletcher2013a-1.25.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-limma >=3.46.0,<3.47.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-gplots", - "r-venndiagram" - ] - }, - "bioconductor-fletcher2013a-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-limma >=3.46.0,<3.47.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-gplots", - "r-venndiagram" - ] - }, - "bioconductor-fletcher2013a-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-limma >=3.46.0,<3.47.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-gplots", - "r-venndiagram" - ] - }, - "bioconductor-fletcher2013a-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-limma >=3.48.0,<3.49.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-gplots", - "r-venndiagram" - ] - }, - "bioconductor-fletcher2013a-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-limma >=3.50.0,<3.51.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-gplots", - "r-venndiagram" - ] - }, - "bioconductor-fletcher2013a-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-limma >=3.50.0,<3.51.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-gplots", - "r-venndiagram" - ] - }, - "bioconductor-fletcher2013a-1.34.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "bioconductor-limma >=3.54.0,<3.55.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-gplots", - "r-venndiagram" - ] - }, - "bioconductor-fletcher2013b-1.20.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-fletcher2013a >=1.20.0,<1.21.0", - "bioconductor-reder >=1.32.0,<1.33.0", - "bioconductor-rtn >=2.8.0,<2.9.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-igraph", - "r-rcolorbrewer" - ] - }, - "bioconductor-fletcher2013b-1.22.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-fletcher2013a >=1.22.0,<1.23.0", - "bioconductor-reder >=1.34.0,<1.35.0", - "bioconductor-rtn >=2.10.0,<2.11.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-igraph", - "r-rcolorbrewer" - ] - }, - "bioconductor-fletcher2013b-1.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-fletcher2013a >=1.24.0,<1.25.0", - "bioconductor-reder >=1.36.0,<1.37.0", - "bioconductor-rtn >=2.12.0,<2.13.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-igraph", - "r-rcolorbrewer" - ] - }, - "bioconductor-fletcher2013b-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-fletcher2013a >=1.26.0,<1.27.0", - "bioconductor-reder >=1.38.0,<1.39.0", - "bioconductor-rtn >=2.14.0,<2.15.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-igraph", - "r-rcolorbrewer" - ] - }, - "bioconductor-fletcher2013b-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-fletcher2013a >=1.26.0,<1.27.0", - "bioconductor-reder >=1.38.0,<1.39.0", - "bioconductor-rtn >=2.14.0,<2.15.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-igraph", - "r-rcolorbrewer" - ] - }, - "bioconductor-fletcher2013b-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-fletcher2013a >=1.28.0,<1.29.0", - "bioconductor-reder >=1.40.0,<1.41.0", - "bioconductor-rtn >=2.16.0,<2.17.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-igraph", - "r-rcolorbrewer" - ] - }, - "bioconductor-fletcher2013b-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-fletcher2013a >=1.30.0,<1.31.0", - "bioconductor-reder >=1.42.0,<1.43.0", - "bioconductor-rtn >=2.18.0,<2.19.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-igraph", - "r-rcolorbrewer" - ] - }, - "bioconductor-fletcher2013b-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-fletcher2013a >=1.30.0,<1.31.0", - "bioconductor-reder >=1.42.0,<1.43.0", - "bioconductor-rtn >=2.18.0,<2.19.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-igraph", - "r-rcolorbrewer" - ] - }, - "bioconductor-fletcher2013b-1.34.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "bioconductor-fletcher2013a >=1.34.0,<1.35.0", - "bioconductor-reder >=2.2.0,<2.3.0", - "bioconductor-rtn >=2.22.0,<2.23.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-igraph", - "r-rcolorbrewer" - ] - }, - "bioconductor-flowfitexampledata-1.20.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-flowcore >=1.50.0,<1.51.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-flowfitexampledata-1.22.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-flowcore >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-flowfitexampledata-1.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-flowcore >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-flowfitexampledata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-flowcore >=2.2.0,<2.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-flowfitexampledata-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-flowcore >=2.2.0,<2.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-flowploidydata-1.10.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-flowploidydata-1.10.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-flowploidydata-1.12.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-flowploidydata-1.14.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-flowploidydata-1.16.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-flowploidydata-1.16.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-flowploidydata-1.18.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-flowploidydata-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-flowploidydata-1.20.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-flowploidydata-1.23.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-flowqbdata-1.10.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-flowqbdata-1.10.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-flowqbdata-1.9.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-flowsorted.blood.450k-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-flowsorted.blood.450k-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-flowsorted.blood.450k-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-flowsorted.blood.450k-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-flowsorted.blood.450k-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.38.0,<1.39.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-flowsorted.blood.450k-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-flowsorted.blood.450k-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-flowsorted.blood.450k-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221110", - "bioconductor-minfi >=1.44.0,<1.45.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-flowsorted.blood.epic-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-genefilter >=1.74.0,<1.75.0", - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19 >=0.6.0,<0.7.0", - "bioconductor-minfi >=1.38.0,<1.39.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-nlme", - "r-quadprog" - ] - }, - "bioconductor-flowsorted.blood.epic-1.12.1-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-genefilter >=1.76.0,<1.77.0", - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19 >=0.6.0,<0.7.0", - "bioconductor-minfi >=1.40.0,<1.41.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-nlme", - "r-quadprog" - ] - }, - "bioconductor-flowsorted.blood.epic-1.12.1-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-genefilter >=1.76.0,<1.77.0", - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19 >=0.6.0,<0.7.0", - "bioconductor-minfi >=1.40.0,<1.41.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-nlme", - "r-quadprog" - ] - }, - "bioconductor-flowsorted.blood.epic-1.2.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "bioconductor-genefilter >=1.66.0,<1.67.0", - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19 >=0.6.0,<0.7.0", - "bioconductor-minfi >=1.30.0,<1.31.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-nlme", - "r-quadprog" - ] - }, - "bioconductor-flowsorted.blood.epic-1.4.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-genefilter >=1.68.0,<1.69.0", - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19 >=0.6.0,<0.7.0", - "bioconductor-minfi >=1.32.0,<1.33.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-nlme", - "r-quadprog" - ] - }, - "bioconductor-flowsorted.blood.epic-1.6.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-genefilter >=1.70.0,<1.71.0", - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19 >=0.6.0,<0.7.0", - "bioconductor-minfi >=1.34.0,<1.35.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-nlme", - "r-quadprog" - ] - }, - "bioconductor-flowsorted.blood.epic-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-genefilter >=1.72.0,<1.73.0", - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19 >=0.6.0,<0.7.0", - "bioconductor-minfi >=1.36.0,<1.37.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-nlme", - "r-quadprog" - ] - }, - "bioconductor-flowsorted.blood.epic-1.8.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-genefilter >=1.72.0,<1.73.0", - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19 >=0.6.0,<0.7.0", - "bioconductor-minfi >=1.36.0,<1.37.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-nlme", - "r-quadprog" - ] - }, - "bioconductor-flowsorted.blood.epic-2.2.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221110", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-genefilter >=1.80.0,<1.81.0", - "bioconductor-minfi >=1.44.0,<1.45.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-nlme", - "r-quadprog" - ] - }, - "bioconductor-flowsorted.cordblood.450k-1.14.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-flowsorted.cordblood.450k-1.16.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-flowsorted.cordblood.450k-1.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-flowsorted.cordblood.450k-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-flowsorted.cordblood.450k-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.38.0,<1.39.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-flowsorted.cordblood.450k-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-flowsorted.cordblood.450k-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-flowsorted.cordblood.450k-1.26.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221110", - "bioconductor-minfi >=1.44.0,<1.45.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-flowsorted.cordbloodcombined.450k-1.0.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "bioconductor-flowsorted.blood.epic >=1.2.0,<1.3.0", - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19 >=0.6.0,<0.7.0", - "bioconductor-minfi >=1.30.0,<1.31.0", - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-flowsorted.cordbloodcombined.450k-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-flowsorted.blood.epic >=1.12.0,<1.13.0", - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19 >=0.6.0,<0.7.0", - "bioconductor-minfi >=1.40.0,<1.41.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-flowsorted.cordbloodcombined.450k-1.10.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-flowsorted.blood.epic >=1.12.0,<1.13.0", - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19 >=0.6.0,<0.7.0", - "bioconductor-minfi >=1.40.0,<1.41.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-flowsorted.cordbloodcombined.450k-1.14.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221110", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19 >=0.6.0,<0.7.0", - "bioconductor-minfi >=1.44.0,<1.45.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-flowsorted.cordbloodcombined.450k-1.2.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-flowsorted.blood.epic >=1.4.0,<1.5.0", - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19 >=0.6.0,<0.7.0", - "bioconductor-minfi >=1.32.0,<1.33.0", - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-flowsorted.cordbloodcombined.450k-1.4.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-flowsorted.blood.epic >=1.6.0,<1.7.0", - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19 >=0.6.0,<0.7.0", - "bioconductor-minfi >=1.34.0,<1.35.0", - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-flowsorted.cordbloodcombined.450k-1.6.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-flowsorted.blood.epic >=1.8.0,<1.9.0", - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19 >=0.6.0,<0.7.0", - "bioconductor-minfi >=1.36.0,<1.37.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-flowsorted.cordbloodcombined.450k-1.6.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-flowsorted.blood.epic >=1.8.0,<1.9.0", - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19 >=0.6.0,<0.7.0", - "bioconductor-minfi >=1.36.0,<1.37.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-flowsorted.cordbloodcombined.450k-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-flowsorted.blood.epic >=1.10.0,<1.11.0", - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19 >=0.6.0,<0.7.0", - "bioconductor-minfi >=1.38.0,<1.39.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-flowsorted.cordbloodnorway.450k-1.10.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.30.0,<1.31.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-flowsorted.cordbloodnorway.450k-1.12.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-flowsorted.cordbloodnorway.450k-1.14.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-flowsorted.cordbloodnorway.450k-1.16.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-flowsorted.cordbloodnorway.450k-1.16.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-flowsorted.cordbloodnorway.450k-1.18.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.38.0,<1.39.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-flowsorted.cordbloodnorway.450k-1.24.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221110", - "bioconductor-minfi >=1.44.0,<1.45.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-flowsorted.dlpfc.450k-1.20.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.30.0,<1.31.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-flowsorted.dlpfc.450k-1.22.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-flowsorted.dlpfc.450k-1.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-flowsorted.dlpfc.450k-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-flowsorted.dlpfc.450k-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-flowsorted.dlpfc.450k-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.38.0,<1.39.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-flowsorted.dlpfc.450k-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-flowsorted.dlpfc.450k-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-flowsorted.dlpfc.450k-1.34.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221110", - "bioconductor-minfi >=1.44.0,<1.45.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-flowworkspacedata-2.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-flowworkspacedata-2.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-flowworkspacedata-2.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-flowworkspacedata-3.0.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-flowworkspacedata-3.1.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-flowworkspacedata-3.2.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-flowworkspacedata-3.2.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-flowworkspacedata-3.4.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-flowworkspacedata-3.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-flowworkspacedata-3.6.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-flowworkspacedata-3.9.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-fly.db0-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-fly.db0-3.11.2-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fly.db0-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fly.db0-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-fly.db0-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fly.db0-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fly.db0-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-fly.db0-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-fly.db0-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-frmaexampledata-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-frmaexampledata-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-frmaexampledata-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-frmaexampledata-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-frmaexampledata-1.25.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-frmaexampledata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-frmaexampledata-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-frmaexampledata-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-frmaexampledata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-frmaexampledata-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-frmaexampledata-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-funcisnp.data-1.20.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-rtracklayer >=1.44.0,<1.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-funcisnp.data-1.21.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-rtracklayer >=1.48.0,<1.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-funcisnp.data-1.22.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-rtracklayer >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-furrowseg-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.26.0,<4.27.0", - "curl", - "r-abind", - "r-base >=3.6,<3.7.0a0", - "r-dplyr", - "r-locfit", - "r-tiff" - ] - }, - "bioconductor-furrowseg-1.14.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.28.0,<4.29.0", - "curl", - "r-abind", - "r-base >=3.6,<3.7.0a0", - "r-dplyr", - "r-locfit", - "r-tiff" - ] - }, - "bioconductor-furrowseg-1.16.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.30.0,<4.31.0", - "curl", - "r-abind", - "r-base >=4.0,<4.1.0a0", - "r-dplyr", - "r-locfit", - "r-tiff" - ] - }, - "bioconductor-furrowseg-1.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.32.0,<4.33.0", - "curl", - "r-abind", - "r-base >=4.0,<4.1.0a0", - "r-dplyr", - "r-locfit", - "r-tiff" - ] - }, - "bioconductor-furrowseg-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.32.0,<4.33.0", - "curl", - "r-abind", - "r-base >=4.0,<4.1.0a0", - "r-dplyr", - "r-locfit", - "r-tiff" - ] - }, - "bioconductor-furrowseg-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.34.0,<4.35.0", - "curl", - "r-abind", - "r-base >=4.1,<4.2.0a0", - "r-dplyr", - "r-locfit", - "r-tiff" - ] - }, - "bioconductor-furrowseg-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.36.0,<4.37.0", - "curl", - "r-abind", - "r-base >=4.1,<4.2.0a0", - "r-dplyr", - "r-locfit", - "r-tiff" - ] - }, - "bioconductor-furrowseg-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.36.0,<4.37.0", - "curl", - "r-abind", - "r-base >=4.1,<4.2.0a0", - "r-dplyr", - "r-locfit", - "r-tiff" - ] - }, - "bioconductor-furrowseg-1.25.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-ebimage >=4.40.0,<4.41.0", - "curl", - "r-abind", - "r-base >=4.2,<4.3.0a0", - "r-dplyr", - "r-locfit", - "r-tiff" - ] - }, - "bioconductor-gagedata-2.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-gagedata-2.22.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-gagedata-2.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-gagedata-2.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gagedata-2.27.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gagedata-2.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gagedata-2.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gagedata-2.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gagedata-2.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gagedata-2.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gagedata-2.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-gaschyhs-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-gaschyhs-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-gaschyhs-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gaschyhs-1.27.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gaschyhs-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gaschyhs-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gaschyhs-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gaschyhs-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gaschyhs-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gaschyhs-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221105", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-gatingmldata-2.24.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-gatingmldata-2.24.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-gatingmldata-2.26.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-gatingmldata-2.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gatingmldata-2.29.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gatingmldata-2.30.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gatingmldata-2.30.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gatingmldata-2.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gatingmldata-2.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gatingmldata-2.34.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gatingmldata-2.37.1-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-gcspikelite-1.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-gcspikelite-1.22.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-gcspikelite-1.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-gcspikelite-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gcspikelite-1.27.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gcspikelite-1.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gcspikelite-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gcspikelite-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gcspikelite-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gcspikelite-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gcspikelite-1.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-gcspikelite-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221107", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-genelendatabase-1.20.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "bioconductor-rtracklayer >=1.44.0,<1.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-genelendatabase-1.22.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "bioconductor-rtracklayer >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-genelendatabase-1.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "bioconductor-rtracklayer >=1.48.0,<1.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-genelendatabase-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "bioconductor-rtracklayer >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-genelendatabase-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "bioconductor-rtracklayer >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-genelendatabase-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "bioconductor-rtracklayer >=1.52.0,<1.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-genelendatabase-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "bioconductor-rtracklayer >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-genelendatabase-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "bioconductor-rtracklayer >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-genelendatabase-1.34.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "bioconductor-rtracklayer >=1.58.0,<1.59.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-geneplast.data-0.99.2-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-geneplast.data-0.99.2-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-geneplast.data-0.99.2-r41hdfd78af_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-geneplast.data-0.99.4-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-geneplast.data-0.99.6-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-geneplast.data-0.99.6-r42hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-geneplast.data.string.v91-0.99.6-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-geneplast.data.string.v91-0.99.6-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-geneplast.data.string.v91-0.99.6-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-geneplast.data.string.v91-0.99.6-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-geneplast.data.string.v91-0.99.6-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-geneplast.data.string.v91-0.99.6-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-geneplast.data.string.v91-0.99.6-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-geneplast.data.string.v91-0.99.6-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-geneplast.data.string.v91-0.99.6-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-geneplast.data.string.v91-0.99.6-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-genesummary-0.99.3-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-genesummary-0.99.3-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-genesummary-0.99.4-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-genomationdata-1.16.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-genomationdata-1.16.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-genomationdata-1.18.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-genomationdata-1.20.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-genomationdata-1.21.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-genomationdata-1.22.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-genomationdata-1.22.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-genomationdata-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-genomationdata-1.26.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-genomationdata-1.26.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-genomationdata-1.29.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-genomeinfodbdata-1.2.1-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-genomeinfodbdata-1.2.1-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-genomeinfodbdata-1.2.2-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-genomeinfodbdata-1.2.3-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-genomeinfodbdata-1.2.4-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-genomeinfodbdata-1.2.4-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-genomeinfodbdata-1.2.4-r40hdfd78af_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-genomeinfodbdata-1.2.6-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-genomeinfodbdata-1.2.7-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-genomeinfodbdata-1.2.7-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-genomeinfodbdata-1.2.7-r41hdfd78af_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-genomeinfodbdata-1.2.9-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-genomewidesnp5crlmm-1.0.6-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-genomewidesnp5crlmm-1.0.6-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-genomewidesnp5crlmm-1.0.6-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-genomewidesnp5crlmm-1.0.6-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-genomewidesnp5crlmm-1.0.6-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-genomewidesnp5crlmm-1.0.6-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-genomewidesnp5crlmm-1.0.6-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-genomewidesnp5crlmm-1.0.6-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-genomewidesnp5crlmm-1.0.6-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-genomewidesnp5crlmm-1.0.6-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-genomewidesnp6crlmm-1.0.7-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-genomewidesnp6crlmm-1.0.7-r361_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-genomewidesnp6crlmm-1.0.7-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-genomewidesnp6crlmm-1.0.7-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-genomewidesnp6crlmm-1.0.7-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-genomewidesnp6crlmm-1.0.7-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-genomewidesnp6crlmm-1.0.7-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-genomewidesnp6crlmm-1.0.7-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-genomewidesnp6crlmm-1.0.7-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-genomewidesnp6crlmm-1.0.7-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-genomicdistributionsdata-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationfilter >=1.16.0,<1.17.0", - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-ensembldb >=2.16.0,<2.17.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-data.table" - ] - }, - "bioconductor-genomicdistributionsdata-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationfilter >=1.18.0,<1.19.0", - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-ensembldb >=2.18.0,<2.19.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-data.table" - ] - }, - "bioconductor-genomicdistributionsdata-1.2.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationfilter >=1.18.0,<1.19.0", - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-ensembldb >=2.18.0,<2.19.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-data.table" - ] - }, - "bioconductor-genomicdistributionsdata-1.6.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationfilter >=1.22.0,<1.23.0", - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221109", - "bioconductor-ensembldb >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-data.table" - ] - }, - "bioconductor-genomicstate-0.99.15-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-bumphunter >=1.36.0,<1.37.0", - "bioconductor-derfinder >=1.28.0,<1.29.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "bioconductor-rtracklayer >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-genomicstate-0.99.15-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-bumphunter >=1.36.0,<1.37.0", - "bioconductor-derfinder >=1.28.0,<1.29.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "bioconductor-rtracklayer >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-genomicstate-0.99.15-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-bumphunter >=1.40.0,<1.41.0", - "bioconductor-data-packages >=20221102", - "bioconductor-derfinder >=1.32.0,<1.33.0", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "bioconductor-rtracklayer >=1.58.0,<1.59.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-genomicstate-0.99.9-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-bumphunter >=1.30.0,<1.31.0", - "bioconductor-derfinder >=1.22.0,<1.23.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "bioconductor-rtracklayer >=1.48.0,<1.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-genomicstate-0.99.9-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-bumphunter >=1.32.0,<1.33.0", - "bioconductor-derfinder >=1.24.0,<1.25.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "bioconductor-rtracklayer >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-genomicstate-0.99.9-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-bumphunter >=1.32.0,<1.33.0", - "bioconductor-derfinder >=1.24.0,<1.25.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "bioconductor-rtracklayer >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-genomicstate-0.99.9-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-bumphunter >=1.34.0,<1.35.0", - "bioconductor-derfinder >=1.26.0,<1.27.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "bioconductor-rtracklayer >=1.52.0,<1.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-geuvadistranscriptexpr-1.12.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-geuvadistranscriptexpr-1.12.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-geuvadistranscriptexpr-1.14.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-geuvadistranscriptexpr-1.16.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-geuvadistranscriptexpr-1.17.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-geuvadistranscriptexpr-1.18.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-geuvadistranscriptexpr-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-geuvadistranscriptexpr-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-geuvadistranscriptexpr-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-geuvadistranscriptexpr-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-geuvadistranscriptexpr-1.25.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-geuvpack-1.16.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-geuvpack-1.18.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-geuvpack-1.20.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-geuvpack-1.22.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-geuvpack-1.22.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-geuvstore2-1.14.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-gqtlbase >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-batchjobs" - ] - }, - "bioconductor-geuvstore2-1.16.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-gqtlbase >=1.18.0,<1.19.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-batchjobs" - ] - }, - "bioconductor-geuvstore2-1.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-gqtlbase >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-batchjobs" - ] - }, - "bioconductor-ggdata-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-ggbase >=3.46.0,<3.47.0", - "bioconductor-illuminahumanv1.db >=1.26.0,<1.27.0", - "bioconductor-snpstats >=1.34.0,<1.35.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ggdata-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-ggbase >=3.48.0,<3.49.0", - "bioconductor-illuminahumanv1.db >=1.26.0,<1.27.0", - "bioconductor-snpstats >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ggdata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-ggbase >=3.50.0,<3.51.0", - "bioconductor-illuminahumanv1.db >=1.26.0,<1.27.0", - "bioconductor-snpstats >=1.38.0,<1.39.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ggdata-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-ggbase >=3.52.0,<3.53.0", - "bioconductor-illuminahumanv1.db >=1.26.0,<1.27.0", - "bioconductor-snpstats >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ggdata-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-ggbase >=3.52.0,<3.53.0", - "bioconductor-illuminahumanv1.db >=1.26.0,<1.27.0", - "bioconductor-snpstats >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gghumanmethcancerpanelv1.db-1.4.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-annotationforge >=1.26.0,<1.27.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-gghumanmethcancerpanelv1.db-1.4.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-annotationforge >=1.28.0,<1.29.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-gghumanmethcancerpanelv1.db-1.4.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-annotationforge >=1.30.0,<1.31.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gghumanmethcancerpanelv1.db-1.4.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-annotationforge >=1.32.0,<1.33.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gghumanmethcancerpanelv1.db-1.4.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-annotationforge >=1.32.0,<1.33.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gghumanmethcancerpanelv1.db-1.4.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-annotationforge >=1.34.0,<1.35.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gghumanmethcancerpanelv1.db-1.4.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-annotationforge >=1.36.0,<1.37.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gghumanmethcancerpanelv1.db-1.4.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-annotationforge >=1.36.0,<1.37.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gghumanmethcancerpanelv1.db-1.4.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-annotationforge >=1.40.0,<1.41.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-gigseadata-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gigseadata-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gigseadata-1.12.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gigseadata-1.15.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-gigseadata-1.2.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-gigseadata-1.2.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-gigseadata-1.4.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-gigseadata-1.6.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gigseadata-1.7.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gigseadata-1.8.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gigseadata-1.8.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-go.db-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-go.db-3.11.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-go.db-3.11.4-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-go.db-3.12.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-go.db-3.12.1-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-go.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-go.db-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-go.db-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-go.db-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-go.db-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-golubesets-1.26.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-golubesets-1.28.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-golubesets-1.30.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-golubesets-1.32.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-golubesets-1.32.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-golubesets-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-golubesets-1.36.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-golubesets-1.36.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-golubesets-1.40.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-gp53cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-gp53cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-gp53cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gp53cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gp53cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gp53cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gp53cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gp53cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gp53cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-gpaexample-1.0.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gpaexample-1.1.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gpaexample-1.2.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gpaexample-1.2.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gpaexample-1.4.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gpaexample-1.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gpaexample-1.6.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gpaexample-1.9.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-grasp2db-1.1.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.16.0,<2.17.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbplyr", - "r-digest", - "r-dplyr", - "r-rsqlite" - ] - }, - "bioconductor-grasp2db-1.1.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbplyr", - "r-digest", - "r-dplyr", - "r-rsqlite" - ] - }, - "bioconductor-grasp2db-1.1.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbplyr", - "r-digest", - "r-dplyr", - "r-rsqlite" - ] - }, - "bioconductor-grasp2db-1.1.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbplyr", - "r-digest", - "r-dplyr", - "r-rsqlite" - ] - }, - "bioconductor-grasp2db-1.1.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbplyr", - "r-digest", - "r-dplyr", - "r-rsqlite" - ] - }, - "bioconductor-grasp2db-1.1.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbplyr", - "r-digest", - "r-dplyr", - "r-rsqlite" - ] - }, - "bioconductor-grasp2db-1.1.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbplyr", - "r-digest", - "r-dplyr", - "r-rsqlite" - ] - }, - "bioconductor-grasp2db-1.1.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbplyr", - "r-digest", - "r-dplyr", - "r-rsqlite" - ] - }, - "bioconductor-grasp2db-1.1.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbplyr", - "r-digest", - "r-dplyr", - "r-rsqlite" - ] - }, - "bioconductor-grasp2db-1.1.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221102", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbplyr", - "r-digest", - "r-dplyr", - "r-rsqlite" - ] - }, - "bioconductor-greengenes13.5mgdb-2.0.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-metagenomefeatures >=2.4.0,<2.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-greengenes13.5mgdb-2.0.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-metagenomefeatures >=2.6.0,<2.7.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-greengenes13.5mgdb-2.0.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-metagenomefeatures >=2.8.0,<2.9.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-greengenes13.5mgdb-2.0.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-metagenomefeatures >=2.10.0,<2.11.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-greengenes13.5mgdb-2.0.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-metagenomefeatures >=2.10.0,<2.11.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-grndata-1.16.0-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-grndata-1.16.0-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-grndata-1.18.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-grndata-1.20.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-grndata-1.21.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-grndata-1.22.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-grndata-1.22.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-grndata-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-grndata-1.26.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-grndata-1.26.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-grndata-1.29.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-gsbenchmark-1.10.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gsbenchmark-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gsbenchmark-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gsbenchmark-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gsbenchmark-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gsbenchmark-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-gsbenchmark-1.4.0-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-gsbenchmark-1.4.0-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-gsbenchmark-1.6.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-gsbenchmark-1.8.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gsbenchmark-1.9.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gse103322-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-geoquery >=2.62.0,<2.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gse103322-1.0.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-geoquery >=2.62.0,<2.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gse103322-1.4.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "bioconductor-geoquery >=2.66.0,<2.67.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-gse13015-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-geoquery >=2.60.0,<2.61.0", - "bioconductor-preprocesscore >=1.54.0,<1.55.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gse13015-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-geoquery >=2.62.0,<2.63.0", - "bioconductor-preprocesscore >=1.56.0,<1.57.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gse13015-1.2.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-geoquery >=2.62.0,<2.63.0", - "bioconductor-preprocesscore >=1.56.0,<1.57.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gse13015-1.6.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221106", - "bioconductor-geoquery >=2.66.0,<2.67.0", - "bioconductor-preprocesscore >=1.60.0,<1.61.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-gse159526-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gse159526-1.0.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gse159526-1.3.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-gse62944-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-geoquery >=2.52.0,<2.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-gse62944-1.14.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-geoquery >=2.54.0,<2.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-gse62944-1.16.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-geoquery >=2.56.0,<2.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gse62944-1.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-geoquery >=2.58.0,<2.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gse62944-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-geoquery >=2.58.0,<2.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gse62944-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-geoquery >=2.60.0,<2.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gse62944-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-geoquery >=2.62.0,<2.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gse62944-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-geoquery >=2.62.0,<2.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gse62944-1.26.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "bioconductor-geoquery >=2.66.0,<2.67.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-gskb-1.16.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-gskb-1.16.0-r361_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-gskb-1.18.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-gskb-1.20.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gskb-1.21.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gskb-1.22.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gskb-1.22.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gsvadata-1.20.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-gseabase >=1.46.0,<1.47.0", - "bioconductor-hgu95a.db >=3.2.0,<3.3.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-gsvadata-1.22.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-gseabase >=1.48.0,<1.49.0", - "bioconductor-hgu95a.db >=3.2.0,<3.3.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-gsvadata-1.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-gseabase >=1.50.0,<1.51.0", - "bioconductor-hgu95a.db >=3.2.0,<3.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gsvadata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-gseabase >=1.52.0,<1.53.0", - "bioconductor-hgu95a.db >=3.2.0,<3.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gsvadata-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-gseabase >=1.52.0,<1.53.0", - "bioconductor-hgu95a.db >=3.2.0,<3.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gsvadata-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-gseabase >=1.54.0,<1.55.0", - "bioconductor-hgu95a.db >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gsvadata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-gseabase >=1.56.0,<1.57.0", - "bioconductor-hgu95a.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gsvadata-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-gseabase >=1.56.0,<1.57.0", - "bioconductor-hgu95a.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gsvadata-1.34.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221109", - "bioconductor-gseabase >=1.60.0,<1.61.0", - "bioconductor-hgu95a.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-gwascatdata-0.99.6-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0", - "r-data.table" - ] - }, - "bioconductor-gwascatdata-0.99.6-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0", - "r-data.table" - ] - }, - "bioconductor-gwascatdata-0.99.6-r41hdfd78af_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0", - "r-data.table" - ] - }, - "bioconductor-gwascatdata-0.99.6-r42hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-data.table" - ] - }, - "bioconductor-gwasdata-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-gwastools >=1.30.0,<1.31.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-gwasdata-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-gwastools >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-gwasdata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-gwastools >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gwasdata-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-gwastools >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gwasdata-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-gwastools >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-gwasdata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-gwastools >=1.38.0,<1.39.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gwasdata-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-gwastools >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gwasdata-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-gwastools >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-gwasdata-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221104", - "bioconductor-gwastools >=1.44.0,<1.45.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-h10kcod.db-3.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-h10kcod.db-3.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-h10kcod.db-3.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-h10kcod.db-3.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-h10kcod.db-3.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-h10kcod.db-3.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-h10kcod.db-3.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-h10kcod.db-3.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-h10kcod.db-3.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-h20kcod.db-3.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-h20kcod.db-3.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-h20kcod.db-3.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-h20kcod.db-3.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-h20kcod.db-3.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-h20kcod.db-3.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-h20kcod.db-3.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-h20kcod.db-3.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-h5vcdata-2.10.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-h5vcdata-2.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-h5vcdata-2.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-h5vcdata-2.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-h5vcdata-2.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-h5vcdata-2.17.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-h5vcdata-2.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221107", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-h5vcdata-2.4.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-h5vcdata-2.4.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-h5vcdata-2.6.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-h5vcdata-2.8.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-h5vcdata-2.9.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmap100khind-1.26.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-hapmap100khind-1.26.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hapmap100khind-1.28.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hapmap100khind-1.30.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmap100khind-1.31.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmap100khind-1.32.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmap100khind-1.32.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmap100khind-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hapmap100khind-1.36.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hapmap100khind-1.36.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hapmap100khind-1.39.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hapmap100kxba-1.26.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-hapmap100kxba-1.26.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hapmap100kxba-1.28.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hapmap100kxba-1.30.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmap100kxba-1.31.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmap100kxba-1.32.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmap100kxba-1.32.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmap100kxba-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hapmap100kxba-1.36.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hapmap100kxba-1.36.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hapmap100kxba-1.39.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hapmap370k-1.0.1-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-hapmap370k-1.0.1-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hapmap370k-1.0.1-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hapmap370k-1.0.1-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmap370k-1.0.1-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmap370k-1.0.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmap370k-1.0.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hapmap370k-1.0.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hapmap370k-1.0.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hapmap370k-1.0.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hapmap500knsp-1.26.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-hapmap500knsp-1.26.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hapmap500knsp-1.28.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hapmap500knsp-1.30.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmap500knsp-1.31.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmap500knsp-1.32.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmap500knsp-1.32.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmap500knsp-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hapmap500knsp-1.36.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hapmap500knsp-1.36.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hapmap500knsp-1.39.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hapmap500ksty-1.26.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-hapmap500ksty-1.26.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hapmap500ksty-1.28.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hapmap500ksty-1.30.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmap500ksty-1.31.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmap500ksty-1.32.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmap500ksty-1.32.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmap500ksty-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hapmap500ksty-1.36.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hapmap500ksty-1.36.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hapmap500ksty-1.39.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hapmapsnp5-1.26.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-hapmapsnp5-1.26.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hapmapsnp5-1.28.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hapmapsnp5-1.30.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmapsnp5-1.31.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmapsnp5-1.32.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmapsnp5-1.32.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmapsnp5-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hapmapsnp5-1.36.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hapmapsnp5-1.36.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hapmapsnp5-1.39.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hapmapsnp6-1.26.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-hapmapsnp6-1.26.0-r361_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hapmapsnp6-1.28.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hapmapsnp6-1.30.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmapsnp6-1.31.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmapsnp6-1.32.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmapsnp6-1.32.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hapmapsnp6-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hapmapsnp6-1.36.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hapmapsnp6-1.36.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hapmapsnp6-1.40.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-harbchip-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-harbchip-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-harbchip-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-harbchip-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-harbchip-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-harbchip-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-harbchip-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-harbchip-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-harbchip-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221107", - "bioconductor-iranges >=2.32.0,<2.33.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-harmandata-1.12.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-harmandata-1.12.0-r361_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-harmandata-1.14.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-harmandata-1.16.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-harmandata-1.17.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-harmandata-1.18.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-harmandata-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-harmandata-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-harmandata-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-harmandata-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-harmandata-1.25.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-harmonizedtcgadata-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-harmonizedtcgadata-1.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-harmonizedtcgadata-1.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-harmonizedtcgadata-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-harmonizedtcgadata-1.16.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-harmonizedtcgadata-1.16.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-harmonizedtcgadata-1.20.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-harmonizedtcgadata-1.6.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-harmonizedtcgadata-1.8.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hcadata-1.0.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.16.0,<2.17.0", - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "bioconductor-hdf5array >=1.12.0,<1.13.0", - "bioconductor-singlecellexperiment >=1.6.0,<1.7.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hcadata-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-hdf5array >=1.22.0,<1.23.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hcadata-1.10.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-hdf5array >=1.22.0,<1.23.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hcadata-1.14.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-hdf5array >=1.26.0,<1.27.0", - "bioconductor-singlecellexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hcadata-1.2.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-hdf5array >=1.14.0,<1.15.0", - "bioconductor-singlecellexperiment >=1.8.0,<1.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hcadata-1.4.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-hdf5array >=1.16.0,<1.17.0", - "bioconductor-singlecellexperiment >=1.10.0,<1.11.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hcadata-1.6.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-hdf5array >=1.18.0,<1.19.0", - "bioconductor-singlecellexperiment >=1.12.0,<1.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hcadata-1.6.0-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-hdf5array >=1.18.0,<1.19.0", - "bioconductor-singlecellexperiment >=1.12.0,<1.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hcadata-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-hdf5array >=1.20.0,<1.21.0", - "bioconductor-singlecellexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hcg110.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hcg110.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hcg110.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hcg110.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hcg110.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hcg110.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hcg110.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hcg110.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hcg110.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hcg110cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hcg110cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hcg110cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hcg110cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hcg110cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hcg110cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hcg110cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hcg110cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hcg110cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hcg110probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hcg110probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hcg110probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hcg110probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hcg110probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hcg110probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hcg110probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hcg110probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hcg110probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hd2013sgi-1.24.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.26.0,<4.27.0", - "bioconductor-geneplotter >=1.62.0,<1.63.0", - "bioconductor-limma >=3.40.0,<3.41.0", - "bioconductor-splots >=1.50.0,<1.51.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-gplots", - "r-lsd", - "r-rcolorbrewer", - "r-vcd" - ] - }, - "bioconductor-hd2013sgi-1.26.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.28.0,<4.29.0", - "bioconductor-geneplotter >=1.64.0,<1.65.0", - "bioconductor-limma >=3.42.0,<3.43.0", - "bioconductor-splots >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-gplots", - "r-lsd", - "r-rcolorbrewer", - "r-vcd" - ] - }, - "bioconductor-hd2013sgi-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.30.0,<4.31.0", - "bioconductor-geneplotter >=1.66.0,<1.67.0", - "bioconductor-limma >=3.44.0,<3.45.0", - "bioconductor-splots >=1.54.0,<1.55.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-gplots", - "r-lsd", - "r-rcolorbrewer", - "r-vcd" - ] - }, - "bioconductor-hd2013sgi-1.30.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.32.0,<4.33.0", - "bioconductor-geneplotter >=1.68.0,<1.69.0", - "bioconductor-limma >=3.46.0,<3.47.0", - "bioconductor-splots >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-gplots", - "r-lsd", - "r-rcolorbrewer", - "r-vcd" - ] - }, - "bioconductor-hd2013sgi-1.30.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.32.0,<4.33.0", - "bioconductor-geneplotter >=1.68.0,<1.69.0", - "bioconductor-limma >=3.46.0,<3.47.0", - "bioconductor-splots >=1.56.0,<1.57.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-gplots", - "r-lsd", - "r-rcolorbrewer", - "r-vcd" - ] - }, - "bioconductor-hd2013sgi-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.34.0,<4.35.0", - "bioconductor-geneplotter >=1.70.0,<1.71.0", - "bioconductor-limma >=3.48.0,<3.49.0", - "bioconductor-splots >=1.58.0,<1.59.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-gplots", - "r-lsd", - "r-rcolorbrewer", - "r-vcd" - ] - }, - "bioconductor-hd2013sgi-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.36.0,<4.37.0", - "bioconductor-geneplotter >=1.72.0,<1.73.0", - "bioconductor-limma >=3.50.0,<3.51.0", - "bioconductor-splots >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-gplots", - "r-lsd", - "r-rcolorbrewer", - "r-vcd" - ] - }, - "bioconductor-hd2013sgi-1.34.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-ebimage >=4.36.0,<4.37.0", - "bioconductor-geneplotter >=1.72.0,<1.73.0", - "bioconductor-limma >=3.50.0,<3.51.0", - "bioconductor-splots >=1.60.0,<1.61.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-gplots", - "r-lsd", - "r-rcolorbrewer", - "r-vcd" - ] - }, - "bioconductor-hd2013sgi-1.38.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-ebimage >=4.40.0,<4.41.0", - "bioconductor-geneplotter >=1.76.0,<1.77.0", - "bioconductor-limma >=3.54.0,<3.55.0", - "bioconductor-splots >=1.64.0,<1.65.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-gplots", - "r-lsd", - "r-rcolorbrewer", - "r-vcd" - ] - }, - "bioconductor-hdcytodata-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-flowcore >=2.2.0,<2.3.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hdcytodata-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-flowcore >=2.2.0,<2.3.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hdcytodata-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-flowcore >=2.4.0,<2.5.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hdcytodata-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-flowcore >=2.6.0,<2.7.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hdcytodata-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-flowcore >=2.6.0,<2.7.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hdcytodata-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-flowcore >=2.10.0,<2.11.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hdcytodata-1.4.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "bioconductor-flowcore >=1.50.0,<1.51.0", - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hdcytodata-1.6.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-flowcore >=1.52.0,<1.53.0", - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hdcytodata-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-flowcore >=2.0.0,<2.1.0", - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hdo.db-0.99.1-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-healthycontrolspresencechecker-1.2.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221109", - "bioconductor-geoquery >=2.66.0,<2.67.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-geneexpressionfromgeo", - "r-magrittr", - "r-xml2" - ] - }, - "bioconductor-healthyflowdata-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-flowcore >=1.50.0,<1.51.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-healthyflowdata-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-flowcore >=1.52.0,<1.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-healthyflowdata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-flowcore >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-healthyflowdata-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-flowcore >=2.2.0,<2.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-healthyflowdata-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-flowcore >=2.2.0,<2.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-healthyflowdata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-flowcore >=2.4.0,<2.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-healthyflowdata-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-flowcore >=2.6.0,<2.7.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-healthyflowdata-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-flowcore >=2.6.0,<2.7.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-healthyflowdata-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221104", - "bioconductor-flowcore >=2.10.0,<2.11.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-heebodata-1.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-heebodata-1.22.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-heebodata-1.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-heebodata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-heebodata-1.27.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-heebodata-1.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-heebodata-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-heebodata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-heebodata-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-heebodata-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-heebodata-1.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hellorangesdata-1.10.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-hellorangesdata-1.10.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hellorangesdata-1.12.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hellorangesdata-1.14.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hellorangesdata-1.15.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hellorangesdata-1.16.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hellorangesdata-1.16.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hellorangesdata-1.18.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hellorangesdata-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hellorangesdata-1.20.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hellorangesdata-1.23.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgfocus.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgfocus.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgfocus.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgfocus.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgfocus.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgfocus.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgfocus.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgfocus.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgfocus.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgfocuscdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgfocuscdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgfocuscdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgfocuscdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgfocuscdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgfocuscdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgfocuscdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgfocuscdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgfocuscdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgfocusprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgfocusprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgfocusprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgfocusprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgfocusprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgfocusprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgfocusprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgfocusprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgfocusprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu133a.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133a.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133a.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu133a.db-3.2.3-r36_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133a.db-3.2.3-r36_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133a.db-3.2.3-r40_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133a.db-3.2.3-r40_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133a.db-3.2.3-r40hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133a.db-3.2.3-r41hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133a2.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133a2.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133a2.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu133a2.db-3.2.3-r36_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133a2.db-3.2.3-r36_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133a2.db-3.2.3-r40_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133a2.db-3.2.3-r40_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133a2.db-3.2.3-r40hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133a2.db-3.2.3-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133a2cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133a2cdf-2.18.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133a2cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133a2cdf-2.18.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133a2cdf-2.18.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133a2cdf-2.18.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133a2cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133a2cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133a2cdf-2.18.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu133a2frmavecs-1.2.0-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-hgu133a2frmavecs-1.2.0-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133a2frmavecs-1.2.0-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133a2frmavecs-1.2.0-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133a2frmavecs-1.2.0-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133a2frmavecs-1.2.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133a2frmavecs-1.2.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133a2frmavecs-1.2.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133a2frmavecs-1.2.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133a2frmavecs-1.2.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu133a2probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133a2probe-2.18.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133a2probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133a2probe-2.18.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133a2probe-2.18.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133a2probe-2.18.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133a2probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133a2probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133a2probe-2.18.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu133abarcodevecs-1.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-hgu133abarcodevecs-1.22.0-r361_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133abarcodevecs-1.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133abarcodevecs-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133abarcodevecs-1.27.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133abarcodevecs-1.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133abarcodevecs-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133abarcodevecs-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133abarcodevecs-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133abarcodevecs-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133abarcodevecs-1.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu133acdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133acdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133acdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133acdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133acdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133acdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133acdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133acdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133acdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu133afrmavecs-1.5.0-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-hgu133afrmavecs-1.5.0-r361_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133afrmavecs-1.5.0-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133afrmavecs-1.5.0-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133afrmavecs-1.5.0-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133afrmavecs-1.5.0-r40_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133afrmavecs-1.5.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133afrmavecs-1.5.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133afrmavecs-1.5.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133afrmavecs-1.5.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133afrmavecs-1.5.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu133aprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133aprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133aprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133aprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133aprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133aprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133aprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133aprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133aprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu133atagcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133atagcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133atagcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133atagcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133atagcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133atagcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133atagcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133atagcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133atagcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu133atagprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133atagprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133atagprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133atagprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133atagprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133atagprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133atagprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133atagprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133atagprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu133b.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133b.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133b.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu133b.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133b.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133b.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133b.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133b.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133b.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133bcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133bcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133bcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133bcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133bcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133bcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133bcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133bcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133bcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu133bprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133bprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133bprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133bprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133bprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133bprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133bprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133bprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133bprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu133plus2.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133plus2.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133plus2.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu133plus2.db-3.2.3-r36_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133plus2.db-3.2.3-r36_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133plus2.db-3.2.3-r40_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133plus2.db-3.2.3-r40_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133plus2.db-3.2.3-r40hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133plus2.db-3.2.3-r41hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133plus2barcodevecs-1.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-hgu133plus2barcodevecs-1.22.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133plus2barcodevecs-1.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133plus2barcodevecs-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133plus2barcodevecs-1.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133plus2barcodevecs-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133plus2barcodevecs-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133plus2barcodevecs-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133plus2barcodevecs-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133plus2barcodevecs-1.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu133plus2cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133plus2cdf-2.18.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133plus2cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133plus2cdf-2.18.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133plus2cdf-2.18.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133plus2cdf-2.18.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133plus2cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133plus2cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133plus2cdf-2.18.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu133plus2cellscore-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133plus2cellscore-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133plus2cellscore-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133plus2cellscore-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133plus2cellscore-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133plus2cellscore-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu133plus2cellscore-1.4.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133plus2cellscore-1.6.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133plus2cellscore-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133plus2frmavecs-1.5.0-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-hgu133plus2frmavecs-1.5.0-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133plus2frmavecs-1.5.0-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133plus2frmavecs-1.5.0-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133plus2frmavecs-1.5.0-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133plus2frmavecs-1.5.0-r40_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133plus2frmavecs-1.5.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133plus2frmavecs-1.5.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133plus2frmavecs-1.5.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133plus2frmavecs-1.5.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133plus2frmavecs-1.5.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu133plus2probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133plus2probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu133plus2probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133plus2probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133plus2probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu133plus2probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133plus2probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133plus2probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu133plus2probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu219.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu219.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu219.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu219.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu219.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu219.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu219.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu219.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu219.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu219cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu219cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu219cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu219cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu219cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu219cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu219cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu219cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu219cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu219probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu219probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu219probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu219probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu219probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu219probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu219probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu219probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu219probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu2beta7-1.24.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-hgu2beta7-1.24.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu2beta7-1.26.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu2beta7-1.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu2beta7-1.29.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu2beta7-1.30.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu2beta7-1.30.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu2beta7-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu2beta7-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu2beta7-1.34.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu2beta7-1.37.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu95a.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95a.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95a.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu95a.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95a.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95a.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95a.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95a.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95a.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95acdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95acdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95acdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95acdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95acdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95acdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95acdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95acdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95acdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu95aprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95aprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95aprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95aprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95aprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95aprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95aprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95aprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95aprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu95av2-2.2.0-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-hgu95av2-2.2.0-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95av2-2.2.0-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95av2-2.2.0-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95av2-2.2.0-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95av2-2.2.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95av2-2.2.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95av2-2.2.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95av2-2.2.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95av2-2.2.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu95av2.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95av2.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95av2.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu95av2.db-3.2.3-r36_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95av2.db-3.2.3-r36_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95av2.db-3.2.3-r40_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95av2.db-3.2.3-r40_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95av2.db-3.2.3-r40hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95av2.db-3.2.3-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95av2cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95av2cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95av2cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95av2cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95av2cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95av2cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95av2cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95av2cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95av2cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu95av2probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95av2probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95av2probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95av2probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95av2probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95av2probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95av2probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95av2probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95av2probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu95b.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95b.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95b.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu95b.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95b.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95b.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95b.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95b.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95b.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95bcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95bcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95bcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95bcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95bcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95bcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95bcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95bcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95bcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu95bprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95bprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95bprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95bprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95bprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95bprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95bprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95bprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95bprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu95c.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95c.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95c.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu95c.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95c.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95c.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95c.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95c.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95c.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95ccdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95ccdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95ccdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95ccdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95ccdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95ccdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95ccdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95ccdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95ccdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu95cprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95cprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95cprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95cprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95cprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95cprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95cprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95cprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95cprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu95d.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95d.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95d.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu95d.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95d.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95d.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95d.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95d.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95d.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95dcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95dcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95dcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95dcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95dcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95dcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95dcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95dcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95dcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu95dprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95dprobe-2.18.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95dprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95dprobe-2.18.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95dprobe-2.18.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95dprobe-2.18.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95dprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95dprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95dprobe-2.18.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu95e.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95e.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95e.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu95e.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95e.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95e.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95e.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95e.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95e.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95ecdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95ecdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95ecdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95ecdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95ecdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95ecdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95ecdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95ecdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95ecdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgu95eprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95eprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgu95eprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95eprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95eprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgu95eprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95eprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95eprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgu95eprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hguatlas13k.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hguatlas13k.db-3.2.3-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hguatlas13k.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hguatlas13k.db-3.2.3-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hguatlas13k.db-3.2.3-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hguatlas13k.db-3.2.3-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hguatlas13k.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hguatlas13k.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hguatlas13k.db-3.2.3-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgubeta7.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgubeta7.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgubeta7.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgubeta7.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgubeta7.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgubeta7.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgubeta7.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgubeta7.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgubeta7.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgudkfz31.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgudkfz31.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgudkfz31.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgudkfz31.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgudkfz31.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgudkfz31.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgudkfz31.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgudkfz31.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgudkfz31.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgug4100a.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgug4100a.db-3.2.3-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgug4100a.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgug4100a.db-3.2.3-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgug4100a.db-3.2.3-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgug4100a.db-3.2.3-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgug4100a.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgug4100a.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgug4100a.db-3.2.3-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgug4101a.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgug4101a.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgug4101a.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgug4101a.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgug4101a.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgug4101a.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgug4101a.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgug4101a.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgug4101a.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgug4110b.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgug4110b.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgug4110b.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgug4110b.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgug4110b.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgug4110b.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgug4110b.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgug4110b.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgug4110b.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgug4111a.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgug4111a.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgug4111a.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgug4111a.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgug4111a.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgug4111a.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgug4111a.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgug4111a.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgug4111a.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgug4112a.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgug4112a.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgug4112a.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgug4112a.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgug4112a.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgug4112a.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgug4112a.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgug4112a.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgug4112a.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hgug4845a.db-0.0.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgug4845a.db-0.0.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hgug4845a.db-0.0.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgug4845a.db-0.0.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgug4845a.db-0.0.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hgug4845a.db-0.0.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgug4845a.db-0.0.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgug4845a.db-0.0.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hgug4845a.db-0.0.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hguqiagenv3.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hguqiagenv3.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hguqiagenv3.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hguqiagenv3.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hguqiagenv3.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hguqiagenv3.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hguqiagenv3.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hguqiagenv3.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hguqiagenv3.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hi16cod.db-3.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hi16cod.db-3.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hi16cod.db-3.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hi16cod.db-3.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hi16cod.db-3.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hi16cod.db-3.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hi16cod.db-3.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hi16cod.db-3.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hi16cod.db-3.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hicdatahumanimr90-1.10.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hicdatahumanimr90-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hicdatahumanimr90-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hicdatahumanimr90-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hicdatahumanimr90-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hicdatahumanimr90-1.17.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hicdatahumanimr90-1.4.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-hicdatahumanimr90-1.4.0-r361_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hicdatahumanimr90-1.6.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hicdatahumanimr90-1.8.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hicdatahumanimr90-1.9.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hicdatalymphoblast-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-hicdatalymphoblast-1.20.0-r361_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hicdatalymphoblast-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hicdatalymphoblast-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hicdatalymphoblast-1.25.1-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hicdatalymphoblast-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hicdatalymphoblast-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hicdatalymphoblast-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hicdatalymphoblast-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hicdatalymphoblast-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hicdatalymphoblast-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hicontactsdata-1.0.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-biocfilecache >=2.6.0,<2.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-highlyreplicatedrnaseq-1.0.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-highlyreplicatedrnaseq-1.10.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-highlyreplicatedrnaseq-1.2.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-highlyreplicatedrnaseq-1.2.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-highlyreplicatedrnaseq-1.4.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-highlyreplicatedrnaseq-1.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-highlyreplicatedrnaseq-1.6.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hiiragi2013-1.20.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.62.0,<1.63.0", - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-genefilter >=1.66.0,<1.67.0", - "bioconductor-geneplotter >=1.62.0,<1.63.0", - "bioconductor-keggrest >=1.24.0,<1.25.0", - "bioconductor-mouse4302.db >=3.2.0,<3.3.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-boot", - "r-clue", - "r-cluster", - "r-gplots", - "r-gtools", - "r-lattice", - "r-latticeextra", - "r-mass", - "r-rcolorbrewer", - "r-xtable" - ] - }, - "bioconductor-hiiragi2013-1.22.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.64.0,<1.65.0", - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-genefilter >=1.68.0,<1.69.0", - "bioconductor-geneplotter >=1.64.0,<1.65.0", - "bioconductor-keggrest >=1.26.0,<1.27.0", - "bioconductor-mouse4302.db >=3.2.0,<3.3.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-boot", - "r-clue", - "r-cluster", - "r-gplots", - "r-gtools", - "r-lattice", - "r-latticeextra", - "r-mass", - "r-rcolorbrewer", - "r-xtable" - ] - }, - "bioconductor-hiiragi2013-1.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.66.0,<1.67.0", - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-genefilter >=1.70.0,<1.71.0", - "bioconductor-geneplotter >=1.66.0,<1.67.0", - "bioconductor-keggrest >=1.28.0,<1.29.0", - "bioconductor-mouse4302.db >=3.2.0,<3.3.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-boot", - "r-clue", - "r-cluster", - "r-gplots", - "r-gtools", - "r-lattice", - "r-latticeextra", - "r-mass", - "r-rcolorbrewer", - "r-xtable" - ] - }, - "bioconductor-hiiragi2013-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-genefilter >=1.72.0,<1.73.0", - "bioconductor-geneplotter >=1.68.0,<1.69.0", - "bioconductor-keggrest >=1.30.0,<1.31.0", - "bioconductor-mouse4302.db >=3.2.0,<3.3.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-boot", - "r-clue", - "r-cluster", - "r-gplots", - "r-gtools", - "r-lattice", - "r-latticeextra", - "r-mass", - "r-rcolorbrewer", - "r-xtable" - ] - }, - "bioconductor-hiiragi2013-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-genefilter >=1.72.0,<1.73.0", - "bioconductor-geneplotter >=1.68.0,<1.69.0", - "bioconductor-keggrest >=1.30.0,<1.31.0", - "bioconductor-mouse4302.db >=3.2.0,<3.3.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-boot", - "r-clue", - "r-cluster", - "r-gplots", - "r-gtools", - "r-lattice", - "r-latticeextra", - "r-mass", - "r-rcolorbrewer", - "r-xtable" - ] - }, - "bioconductor-hiiragi2013-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.70.0,<1.71.0", - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-genefilter >=1.74.0,<1.75.0", - "bioconductor-geneplotter >=1.70.0,<1.71.0", - "bioconductor-keggrest >=1.32.0,<1.33.0", - "bioconductor-mouse4302.db >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-boot", - "r-clue", - "r-cluster", - "r-gplots", - "r-gtools", - "r-lattice", - "r-latticeextra", - "r-mass", - "r-rcolorbrewer", - "r-xtable" - ] - }, - "bioconductor-hiiragi2013-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-genefilter >=1.76.0,<1.77.0", - "bioconductor-geneplotter >=1.72.0,<1.73.0", - "bioconductor-keggrest >=1.34.0,<1.35.0", - "bioconductor-mouse4302.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-boot", - "r-clue", - "r-cluster", - "r-gplots", - "r-gtools", - "r-lattice", - "r-latticeextra", - "r-mass", - "r-rcolorbrewer", - "r-xtable" - ] - }, - "bioconductor-hiiragi2013-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-genefilter >=1.76.0,<1.77.0", - "bioconductor-geneplotter >=1.72.0,<1.73.0", - "bioconductor-keggrest >=1.34.0,<1.35.0", - "bioconductor-mouse4302.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-boot", - "r-clue", - "r-cluster", - "r-gplots", - "r-gtools", - "r-lattice", - "r-latticeextra", - "r-mass", - "r-rcolorbrewer", - "r-xtable" - ] - }, - "bioconductor-hiiragi2013-1.34.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.76.0,<1.77.0", - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221109", - "bioconductor-genefilter >=1.80.0,<1.81.0", - "bioconductor-geneplotter >=1.76.0,<1.77.0", - "bioconductor-keggrest >=1.38.0,<1.39.0", - "bioconductor-mouse4302.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-boot", - "r-clue", - "r-cluster", - "r-gplots", - "r-gtools", - "r-lattice", - "r-latticeextra", - "r-mass", - "r-rcolorbrewer", - "r-xtable" - ] - }, - "bioconductor-hivcdnavantwout03-1.24.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-hivcdnavantwout03-1.24.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hivcdnavantwout03-1.26.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hivcdnavantwout03-1.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hivcdnavantwout03-1.29.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hivcdnavantwout03-1.30.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hivcdnavantwout03-1.30.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hivcdnavantwout03-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hivcdnavantwout03-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hivcdnavantwout03-1.34.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hivcdnavantwout03-1.37.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hivprtplus2cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hivprtplus2cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hivprtplus2cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hivprtplus2cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hivprtplus2cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hivprtplus2cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hivprtplus2cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hivprtplus2cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hivprtplus2cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hmp16sdata-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-assertthat", - "r-base >=4.0,<4.1.0a0", - "r-dplyr", - "r-kableextra", - "r-knitr", - "r-magrittr", - "r-readr", - "r-stringr", - "r-tibble" - ] - }, - "bioconductor-hmp16sdata-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-assertthat", - "r-base >=4.0,<4.1.0a0", - "r-dplyr", - "r-kableextra", - "r-knitr", - "r-magrittr", - "r-readr", - "r-stringr", - "r-tibble" - ] - }, - "bioconductor-hmp16sdata-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-assertthat", - "r-base >=4.1,<4.2.0a0", - "r-dplyr", - "r-kableextra", - "r-knitr", - "r-magrittr", - "r-readr", - "r-stringr", - "r-tibble" - ] - }, - "bioconductor-hmp16sdata-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-assertthat", - "r-base >=4.1,<4.2.0a0", - "r-dplyr", - "r-kableextra", - "r-knitr", - "r-magrittr", - "r-readr", - "r-stringr", - "r-tibble" - ] - }, - "bioconductor-hmp16sdata-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-assertthat", - "r-base >=4.1,<4.2.0a0", - "r-dplyr", - "r-kableextra", - "r-knitr", - "r-magrittr", - "r-readr", - "r-stringr", - "r-tibble" - ] - }, - "bioconductor-hmp16sdata-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-assertthat", - "r-base >=4.2,<4.3.0a0", - "r-dplyr", - "r-kableextra", - "r-knitr", - "r-magrittr", - "r-readr", - "r-stringr", - "r-tibble" - ] - }, - "bioconductor-hmp16sdata-1.4.1-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.16.0,<2.17.0", - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "curl", - "r-assertthat", - "r-base >=3.6,<3.7.0a0", - "r-dplyr", - "r-kableextra", - "r-knitr", - "r-magrittr", - "r-readr", - "r-tibble" - ] - }, - "bioconductor-hmp16sdata-1.6.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-assertthat", - "r-base >=3.6,<3.7.0a0", - "r-dplyr", - "r-kableextra", - "r-knitr", - "r-magrittr", - "r-readr", - "r-tibble" - ] - }, - "bioconductor-hmp16sdata-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-assertthat", - "r-base >=4.0,<4.1.0a0", - "r-dplyr", - "r-kableextra", - "r-knitr", - "r-magrittr", - "r-readr", - "r-tibble" - ] - }, - "bioconductor-hmp2data-1.0.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-multiassayexperiment >=1.12.0,<1.13.0", - "bioconductor-phyloseq >=1.30.0,<1.31.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-assertthat", - "r-base >=3.6,<3.7.0a0", - "r-data.table", - "r-dplyr", - "r-kableextra", - "r-knitr", - "r-magrittr", - "r-readr" - ] - }, - "bioconductor-hmp2data-1.1.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-multiassayexperiment >=1.14.0,<1.15.0", - "bioconductor-phyloseq >=1.32.0,<1.33.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-assertthat", - "r-base >=4.0,<4.1.0a0", - "r-data.table", - "r-dplyr", - "r-kableextra", - "r-knitr", - "r-magrittr", - "r-readr" - ] - }, - "bioconductor-hmp2data-1.12.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221109", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-multiassayexperiment >=1.24.0,<1.25.0", - "bioconductor-phyloseq >=1.42.0,<1.43.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-assertthat", - "r-base >=4.2,<4.3.0a0", - "r-data.table", - "r-dplyr", - "r-kableextra", - "r-knitr", - "r-magrittr", - "r-readr" - ] - }, - "bioconductor-hmp2data-1.4.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-multiassayexperiment >=1.16.0,<1.17.0", - "bioconductor-phyloseq >=1.34.0,<1.35.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-assertthat", - "r-base >=4.0,<4.1.0a0", - "r-data.table", - "r-dplyr", - "r-kableextra", - "r-knitr", - "r-magrittr", - "r-readr" - ] - }, - "bioconductor-hmp2data-1.4.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-multiassayexperiment >=1.16.0,<1.17.0", - "bioconductor-phyloseq >=1.34.0,<1.35.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-assertthat", - "r-base >=4.0,<4.1.0a0", - "r-data.table", - "r-dplyr", - "r-kableextra", - "r-knitr", - "r-magrittr", - "r-readr" - ] - }, - "bioconductor-hmp2data-1.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-multiassayexperiment >=1.18.0,<1.19.0", - "bioconductor-phyloseq >=1.36.0,<1.37.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-assertthat", - "r-base >=4.1,<4.2.0a0", - "r-data.table", - "r-dplyr", - "r-kableextra", - "r-knitr", - "r-magrittr", - "r-readr" - ] - }, - "bioconductor-hmp2data-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-multiassayexperiment >=1.20.0,<1.21.0", - "bioconductor-phyloseq >=1.38.0,<1.39.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-assertthat", - "r-base >=4.1,<4.2.0a0", - "r-data.table", - "r-dplyr", - "r-kableextra", - "r-knitr", - "r-magrittr", - "r-readr" - ] - }, - "bioconductor-hmp2data-1.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-multiassayexperiment >=1.20.0,<1.21.0", - "bioconductor-phyloseq >=1.38.0,<1.39.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-assertthat", - "r-base >=4.1,<4.2.0a0", - "r-data.table", - "r-dplyr", - "r-kableextra", - "r-knitr", - "r-magrittr", - "r-readr" - ] - }, - "bioconductor-hmyrib36-1.20.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-ggbase >=3.46.0,<3.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hmyrib36-1.22.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-ggbase >=3.48.0,<3.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hmyrib36-1.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-ggbase >=3.50.0,<3.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hmyrib36-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-ggbase >=3.52.0,<3.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hmyrib36-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-ggbase >=3.52.0,<3.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hom.at.inp.db-3.1.2-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hom.at.inp.db-3.1.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hom.at.inp.db-3.1.3-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hom.at.inp.db-3.1.3-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hom.at.inp.db-3.1.3-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hom.ce.inp.db-3.1.2-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hom.ce.inp.db-3.1.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hom.ce.inp.db-3.1.3-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hom.ce.inp.db-3.1.3-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hom.ce.inp.db-3.1.3-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hom.dm.inp.db-3.1.2-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hom.dm.inp.db-3.1.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hom.dm.inp.db-3.1.3-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hom.dm.inp.db-3.1.3-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hom.dm.inp.db-3.1.3-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hom.dr.inp.db-3.1.2-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hom.dr.inp.db-3.1.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hom.dr.inp.db-3.1.3-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hom.dr.inp.db-3.1.3-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hom.dr.inp.db-3.1.3-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hom.hs.inp.db-3.1.2-r36_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hom.hs.inp.db-3.1.2-r36_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hom.hs.inp.db-3.1.3-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hom.hs.inp.db-3.1.3-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hom.hs.inp.db-3.1.3-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hom.mm.inp.db-3.1.2-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hom.mm.inp.db-3.1.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hom.mm.inp.db-3.1.3-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hom.mm.inp.db-3.1.3-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hom.mm.inp.db-3.1.3-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hom.rn.inp.db-3.1.2-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hom.rn.inp.db-3.1.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hom.rn.inp.db-3.1.3-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hom.rn.inp.db-3.1.3-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hom.rn.inp.db-3.1.3-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hom.sc.inp.db-3.1.2-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hom.sc.inp.db-3.1.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hom.sc.inp.db-3.1.3-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hom.sc.inp.db-3.1.3-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hom.sc.inp.db-3.1.3-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-homo.sapiens-1.3.1-r36_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "bioconductor-go.db >=3.8.0,<3.9.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "bioconductor-organismdbi >=1.26.0,<1.27.0", - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-homo.sapiens-1.3.1-r36_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "bioconductor-go.db >=3.10.0,<3.11.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "bioconductor-organismdbi >=1.28.0,<1.29.0", - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-homo.sapiens-1.3.1-r40_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "bioconductor-go.db >=3.11.0,<3.12.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "bioconductor-organismdbi >=1.30.0,<1.31.0", - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-homo.sapiens-1.3.1-r40_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "bioconductor-go.db >=3.12.1,<3.13.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "bioconductor-organismdbi >=1.32.0,<1.33.0", - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-homo.sapiens-1.3.1-r40hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "bioconductor-go.db >=3.12.1,<3.13.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "bioconductor-organismdbi >=1.32.0,<1.33.0", - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-homo.sapiens-1.3.1-r41hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "bioconductor-go.db >=3.13.0,<3.14.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "bioconductor-organismdbi >=1.34.0,<1.35.0", - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-homo.sapiens-1.3.1-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "bioconductor-go.db >=3.14.0,<3.15.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "bioconductor-organismdbi >=1.36.0,<1.37.0", - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-homo.sapiens-1.3.1-r41hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "bioconductor-go.db >=3.14.0,<3.15.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "bioconductor-organismdbi >=1.36.0,<1.37.0", - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-homo.sapiens-1.3.1-r42hdfd78af_14.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "bioconductor-go.db >=3.16.0,<3.17.0", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "bioconductor-organismdbi >=1.40.0,<1.41.0", - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene >=3.2.0,<3.3.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hpannot-1.0.1-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-hpannot-1.0.1-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hpannot-1.0.1-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hpannot-1.0.1-r40_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hpannot-1.0.1-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hpannot-1.0.1-r40hdfd78af_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hpannot-1.0.1-r41hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hpannot-1.1.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hpannot-1.1.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hpannot-1.1.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hs25kresogen.db-2.5.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hs25kresogen.db-2.5.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hs25kresogen.db-2.5.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hs25kresogen.db-2.5.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hs25kresogen.db-2.5.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hs25kresogen.db-2.5.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hs25kresogen.db-2.5.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hs25kresogen.db-2.5.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hs25kresogen.db-2.5.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hs6ug171.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hs6ug171.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hs6ug171.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hs6ug171.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hs6ug171.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hs6ug171.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hs6ug171.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hs6ug171.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hs6ug171.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hsagilentdesign026652.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hsagilentdesign026652.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hsagilentdesign026652.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hsagilentdesign026652.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hsagilentdesign026652.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hsagilentdesign026652.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hsagilentdesign026652.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hsagilentdesign026652.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hsagilentdesign026652.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hsmmsinglecell-1.10.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hsmmsinglecell-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hsmmsinglecell-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hsmmsinglecell-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hsmmsinglecell-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hsmmsinglecell-1.17.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hsmmsinglecell-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221112", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hsmmsinglecell-1.4.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-hsmmsinglecell-1.4.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hsmmsinglecell-1.6.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hsmmsinglecell-1.8.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hsmmsinglecell-1.9.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hspec-0.99.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hspec-0.99.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hspec-0.99.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hspec-0.99.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hspec-0.99.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hspec-0.99.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hspec-0.99.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hspec-0.99.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hspec-0.99.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hspeccdf-0.99.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hspeccdf-0.99.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hspeccdf-0.99.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hspeccdf-0.99.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hspeccdf-0.99.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hspeccdf-0.99.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hspeccdf-0.99.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hspeccdf-0.99.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hspeccdf-0.99.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hta20probeset.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hta20probeset.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hta20probeset.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hta20probeset.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hta20probeset.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hta20probeset.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hta20probeset.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hta20probeset.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hta20probeset.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hta20transcriptcluster.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hta20transcriptcluster.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hta20transcriptcluster.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hta20transcriptcluster.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hta20transcriptcluster.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hta20transcriptcluster.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hta20transcriptcluster.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hta20transcriptcluster.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hta20transcriptcluster.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hthgu133a.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133a.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133a.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hthgu133a.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hthgu133a.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hthgu133a.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133a.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133a.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133a.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133acdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hthgu133acdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hthgu133acdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133acdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133acdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133acdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133acdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133acdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133acdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hthgu133afrmavecs-1.3.0-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-hthgu133afrmavecs-1.3.0-r361_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hthgu133afrmavecs-1.3.0-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hthgu133afrmavecs-1.3.0-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133afrmavecs-1.3.0-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133afrmavecs-1.3.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133afrmavecs-1.3.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133afrmavecs-1.3.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133afrmavecs-1.3.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133afrmavecs-1.3.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hthgu133aprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hthgu133aprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hthgu133aprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133aprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133aprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133aprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133aprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133aprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133aprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hthgu133b.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133b.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133b.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hthgu133b.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hthgu133b.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hthgu133b.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133b.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133b.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133b.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133bcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hthgu133bcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hthgu133bcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133bcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133bcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133bcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133bcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133bcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133bcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hthgu133bprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hthgu133bprobe-2.18.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hthgu133bprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133bprobe-2.18.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133bprobe-2.18.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133bprobe-2.18.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133bprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133bprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133bprobe-2.18.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hthgu133plusa.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133plusa.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133plusa.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hthgu133plusb.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133plusb.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133plusb.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hthgu133pluspm.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133pluspm.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133pluspm.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hthgu133pluspmcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hthgu133pluspmcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hthgu133pluspmcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133pluspmcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133pluspmcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133pluspmcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133pluspmcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133pluspmcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133pluspmcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hthgu133pluspmprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hthgu133pluspmprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hthgu133pluspmprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133pluspmprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133pluspmprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hthgu133pluspmprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133pluspmprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133pluspmprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hthgu133pluspmprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-htmg430a.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htmg430a.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htmg430a.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-htmg430acdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-htmg430acdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-htmg430acdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htmg430acdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htmg430acdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htmg430acdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htmg430acdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htmg430acdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htmg430acdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-htmg430aprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-htmg430aprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-htmg430aprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htmg430aprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htmg430aprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htmg430aprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htmg430aprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htmg430aprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htmg430aprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-htmg430b.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htmg430b.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htmg430b.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-htmg430bcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-htmg430bcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-htmg430bcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htmg430bcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htmg430bcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htmg430bcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htmg430bcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htmg430bcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htmg430bcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-htmg430bprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-htmg430bprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-htmg430bprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htmg430bprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htmg430bprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htmg430bprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htmg430bprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htmg430bprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htmg430bprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-htmg430pm.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htmg430pm.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htmg430pm.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-htmg430pmcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-htmg430pmcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-htmg430pmcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htmg430pmcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htmg430pmcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htmg430pmcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htmg430pmcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htmg430pmcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htmg430pmcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-htmg430pmprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-htmg430pmprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-htmg430pmprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htmg430pmprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htmg430pmprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htmg430pmprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htmg430pmprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htmg430pmprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htmg430pmprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-htrat230pm.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htrat230pm.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htrat230pm.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-htrat230pmcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-htrat230pmcdf-2.18.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-htrat230pmcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htrat230pmcdf-2.18.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htrat230pmcdf-2.18.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htrat230pmcdf-2.18.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htrat230pmcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htrat230pmcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htrat230pmcdf-2.18.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-htrat230pmprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-htrat230pmprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-htrat230pmprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htrat230pmprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htrat230pmprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htrat230pmprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htrat230pmprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htrat230pmprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htrat230pmprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-htratfocus.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htratfocus.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htratfocus.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-htratfocuscdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-htratfocuscdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-htratfocuscdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htratfocuscdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htratfocuscdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htratfocuscdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htratfocuscdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htratfocuscdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htratfocuscdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-htratfocusprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-htratfocusprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-htratfocusprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htratfocusprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htratfocusprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-htratfocusprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htratfocusprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htratfocusprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-htratfocusprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hu35ksuba.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksuba.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksuba.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hu35ksuba.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu35ksuba.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu35ksuba.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksuba.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksuba.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksuba.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubacdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu35ksubacdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu35ksubacdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubacdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubacdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubacdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubacdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubacdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubacdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hu35ksubaprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu35ksubaprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu35ksubaprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubaprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubaprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubaprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubaprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubaprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubaprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hu35ksubb.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubb.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubb.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hu35ksubb.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu35ksubb.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu35ksubb.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubb.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubb.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubb.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubbcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu35ksubbcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu35ksubbcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubbcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubbcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubbcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubbcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubbcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubbcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hu35ksubbprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu35ksubbprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu35ksubbprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubbprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubbprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubbprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubbprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubbprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubbprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hu35ksubc.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubc.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubc.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hu35ksubc.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu35ksubc.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu35ksubc.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubc.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubc.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubc.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubccdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu35ksubccdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu35ksubccdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubccdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubccdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubccdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubccdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubccdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubccdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hu35ksubcprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu35ksubcprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu35ksubcprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubcprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubcprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubcprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubcprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubcprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubcprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hu35ksubd.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubd.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubd.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hu35ksubd.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu35ksubd.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu35ksubd.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubd.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubd.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubd.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubdcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu35ksubdcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu35ksubdcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubdcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubdcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubdcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubdcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubdcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubdcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hu35ksubdprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu35ksubdprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu35ksubdprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubdprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubdprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu35ksubdprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubdprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubdprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu35ksubdprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hu6800.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu6800.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu6800.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hu6800.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu6800.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu6800.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu6800.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu6800.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu6800.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu6800cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu6800cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu6800cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu6800cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu6800cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu6800cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu6800cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu6800cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu6800cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hu6800probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu6800probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu6800probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu6800probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu6800probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu6800probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu6800probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu6800probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu6800probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hu6800subacdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu6800subacdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu6800subacdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu6800subacdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu6800subacdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu6800subacdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu6800subacdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu6800subacdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu6800subacdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hu6800subbcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu6800subbcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu6800subbcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu6800subbcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu6800subbcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu6800subbcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu6800subbcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu6800subbcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu6800subbcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hu6800subccdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu6800subccdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu6800subccdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu6800subccdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu6800subccdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu6800subccdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu6800subccdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu6800subccdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu6800subccdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hu6800subdcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu6800subdcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hu6800subdcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu6800subdcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu6800subdcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hu6800subdcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu6800subdcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu6800subdcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hu6800subdcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-huex.1.0.st.v2frmavecs-1.1.0-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-huex.1.0.st.v2frmavecs-1.1.0-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-huex.1.0.st.v2frmavecs-1.1.0-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-huex.1.0.st.v2frmavecs-1.1.0-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-huex.1.0.st.v2frmavecs-1.1.0-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-huex.1.0.st.v2frmavecs-1.1.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-huex.1.0.st.v2frmavecs-1.1.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-huex.1.0.st.v2frmavecs-1.1.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-huex.1.0.st.v2frmavecs-1.1.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-huex.1.0.st.v2frmavecs-1.1.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221102", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-huex10stprobeset.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-huex10stprobeset.db-8.7.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-huex10stprobeset.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-huex10stprobeset.db-8.7.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-huex10stprobeset.db-8.7.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-huex10stprobeset.db-8.7.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-huex10stprobeset.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-huex10stprobeset.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-huex10stprobeset.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221102", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-huex10sttranscriptcluster.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-huex10sttranscriptcluster.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-huex10sttranscriptcluster.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-huex10sttranscriptcluster.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-huex10sttranscriptcluster.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-huex10sttranscriptcluster.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-huex10sttranscriptcluster.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-huex10sttranscriptcluster.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-huex10sttranscriptcluster.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-huexexonprobesetlocation-1.15.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-huexexonprobesetlocation-1.15.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-huexexonprobesetlocation-1.15.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-huexexonprobesetlocation-1.15.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-huexexonprobesetlocation-1.15.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-huexexonprobesetlocation-1.15.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-huexexonprobesetlocation-1.15.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-huexexonprobesetlocation-1.15.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-huexexonprobesetlocation-1.15.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-huexexonprobesetlocationhg18-0.0.2-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-huexexonprobesetlocationhg18-0.0.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-huexexonprobesetlocationhg18-0.0.2-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-huexexonprobesetlocationhg18-0.0.2-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-huexexonprobesetlocationhg18-0.0.2-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-huexexonprobesetlocationhg18-0.0.2-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-huexexonprobesetlocationhg18-0.0.2-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-huexexonprobesetlocationhg18-0.0.2-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-huexexonprobesetlocationhg18-0.0.2-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-huexexonprobesetlocationhg19-0.0.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-huexexonprobesetlocationhg19-0.0.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-huexexonprobesetlocationhg19-0.0.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-huexexonprobesetlocationhg19-0.0.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-huexexonprobesetlocationhg19-0.0.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-huexexonprobesetlocationhg19-0.0.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-huexexonprobesetlocationhg19-0.0.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-huexexonprobesetlocationhg19-0.0.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-huexexonprobesetlocationhg19-0.0.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hugene.1.0.st.v1frmavecs-1.1.0-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-hugene.1.0.st.v1frmavecs-1.1.0-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hugene.1.0.st.v1frmavecs-1.1.0-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hugene.1.0.st.v1frmavecs-1.1.0-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene.1.0.st.v1frmavecs-1.1.0-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene.1.0.st.v1frmavecs-1.1.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene.1.0.st.v1frmavecs-1.1.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene.1.0.st.v1frmavecs-1.1.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene.1.0.st.v1frmavecs-1.1.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene.1.0.st.v1frmavecs-1.1.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hugene10stprobeset.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hugene10stprobeset.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hugene10stprobeset.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene10stprobeset.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene10stprobeset.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene10stprobeset.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene10stprobeset.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene10stprobeset.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene10stprobeset.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hugene10sttranscriptcluster.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hugene10sttranscriptcluster.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hugene10sttranscriptcluster.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene10sttranscriptcluster.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene10sttranscriptcluster.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene10sttranscriptcluster.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene10sttranscriptcluster.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene10sttranscriptcluster.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene10sttranscriptcluster.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hugene10stv1cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hugene10stv1cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hugene10stv1cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene10stv1cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene10stv1cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene10stv1cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene10stv1cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene10stv1cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene10stv1cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hugene10stv1probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hugene10stv1probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hugene10stv1probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene10stv1probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene10stv1probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene10stv1probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene10stv1probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene10stv1probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene10stv1probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hugene11stprobeset.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hugene11stprobeset.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hugene11stprobeset.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene11stprobeset.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene11stprobeset.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene11stprobeset.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene11stprobeset.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene11stprobeset.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene11stprobeset.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hugene11sttranscriptcluster.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hugene11sttranscriptcluster.db-8.7.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hugene11sttranscriptcluster.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene11sttranscriptcluster.db-8.7.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene11sttranscriptcluster.db-8.7.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene11sttranscriptcluster.db-8.7.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene11sttranscriptcluster.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene11sttranscriptcluster.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene11sttranscriptcluster.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hugene20stprobeset.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hugene20stprobeset.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hugene20stprobeset.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene20stprobeset.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene20stprobeset.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene20stprobeset.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene20stprobeset.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene20stprobeset.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene20stprobeset.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hugene20sttranscriptcluster.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hugene20sttranscriptcluster.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hugene20sttranscriptcluster.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene20sttranscriptcluster.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene20sttranscriptcluster.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene20sttranscriptcluster.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene20sttranscriptcluster.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene20sttranscriptcluster.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene20sttranscriptcluster.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hugene21stprobeset.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hugene21stprobeset.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hugene21stprobeset.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene21stprobeset.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene21stprobeset.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene21stprobeset.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene21stprobeset.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene21stprobeset.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene21stprobeset.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hugene21sttranscriptcluster.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hugene21sttranscriptcluster.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hugene21sttranscriptcluster.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene21sttranscriptcluster.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene21sttranscriptcluster.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hugene21sttranscriptcluster.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene21sttranscriptcluster.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene21sttranscriptcluster.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hugene21sttranscriptcluster.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-human.db0-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-human.db0-3.11.2-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human.db0-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human.db0-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human.db0-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human.db0-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human.db0-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human.db0-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-human.db0-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-human1mduov3bcrlmm-1.0.4-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-human1mduov3bcrlmm-1.0.4-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-human1mduov3bcrlmm-1.0.4-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-human1mduov3bcrlmm-1.0.4-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human1mduov3bcrlmm-1.0.4-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human1mduov3bcrlmm-1.0.4-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human1mduov3bcrlmm-1.0.4-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human1mduov3bcrlmm-1.0.4-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human1mduov3bcrlmm-1.0.4-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human1mduov3bcrlmm-1.0.4-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-human1mv1ccrlmm-1.0.3-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-human1mv1ccrlmm-1.0.3-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-human1mv1ccrlmm-1.0.3-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-human1mv1ccrlmm-1.0.3-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human1mv1ccrlmm-1.0.3-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human1mv1ccrlmm-1.0.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human1mv1ccrlmm-1.0.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human1mv1ccrlmm-1.0.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human1mv1ccrlmm-1.0.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human1mv1ccrlmm-1.0.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-human370quadv3ccrlmm-1.0.3-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-human370quadv3ccrlmm-1.0.3-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-human370quadv3ccrlmm-1.0.3-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-human370quadv3ccrlmm-1.0.3-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human370quadv3ccrlmm-1.0.3-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human370quadv3ccrlmm-1.0.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human370quadv3ccrlmm-1.0.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human370quadv3ccrlmm-1.0.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human370quadv3ccrlmm-1.0.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human370quadv3ccrlmm-1.0.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-human370v1ccrlmm-1.0.2-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-human370v1ccrlmm-1.0.2-r361_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-human370v1ccrlmm-1.0.2-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-human370v1ccrlmm-1.0.2-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human370v1ccrlmm-1.0.2-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human370v1ccrlmm-1.0.2-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human370v1ccrlmm-1.0.2-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human370v1ccrlmm-1.0.2-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human370v1ccrlmm-1.0.2-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human370v1ccrlmm-1.0.2-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-human550v3bcrlmm-1.0.4-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-human550v3bcrlmm-1.0.4-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-human550v3bcrlmm-1.0.4-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-human550v3bcrlmm-1.0.4-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human550v3bcrlmm-1.0.4-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human550v3bcrlmm-1.0.4-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human550v3bcrlmm-1.0.4-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human550v3bcrlmm-1.0.4-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human550v3bcrlmm-1.0.4-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human550v3bcrlmm-1.0.4-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-human610quadv1bcrlmm-1.0.3-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-human610quadv1bcrlmm-1.0.3-r361_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-human610quadv1bcrlmm-1.0.3-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-human610quadv1bcrlmm-1.0.3-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human610quadv1bcrlmm-1.0.3-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human610quadv1bcrlmm-1.0.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human610quadv1bcrlmm-1.0.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human610quadv1bcrlmm-1.0.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human610quadv1bcrlmm-1.0.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human610quadv1bcrlmm-1.0.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-human650v3acrlmm-1.0.3-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-human650v3acrlmm-1.0.3-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-human650v3acrlmm-1.0.3-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-human650v3acrlmm-1.0.3-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human650v3acrlmm-1.0.3-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human650v3acrlmm-1.0.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human650v3acrlmm-1.0.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human650v3acrlmm-1.0.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human650v3acrlmm-1.0.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human650v3acrlmm-1.0.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-human660quadv1acrlmm-1.0.3-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-human660quadv1acrlmm-1.0.3-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-human660quadv1acrlmm-1.0.3-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-human660quadv1acrlmm-1.0.3-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human660quadv1acrlmm-1.0.3-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human660quadv1acrlmm-1.0.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-human660quadv1acrlmm-1.0.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human660quadv1acrlmm-1.0.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human660quadv1acrlmm-1.0.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-human660quadv1acrlmm-1.0.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-humanaffydata-1.10.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-humanaffydata-1.12.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-humanaffydata-1.14.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-humanaffydata-1.16.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-humanaffydata-1.16.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-humanaffydata-1.18.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-humanaffydata-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-humanaffydata-1.20.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-humanaffydata-1.24.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221109", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-humanchrloc-2.1.6-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-humanchrloc-2.1.6-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-humanchrloc-2.1.6-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-humanchrloc-2.1.6-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-humanchrloc-2.1.6-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-humanchrloc-2.1.6-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-humanchrloc-2.1.6-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-humanchrloc-2.1.6-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-humanchrloc-2.1.6-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-humanchrloc-2.1.6-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-humancytosnp12v2p1hcrlmm-1.0.1-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-humancytosnp12v2p1hcrlmm-1.0.1-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-humancytosnp12v2p1hcrlmm-1.0.1-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-humancytosnp12v2p1hcrlmm-1.0.1-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-humancytosnp12v2p1hcrlmm-1.0.1-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-humancytosnp12v2p1hcrlmm-1.0.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-humancytosnp12v2p1hcrlmm-1.0.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-humancytosnp12v2p1hcrlmm-1.0.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-humancytosnp12v2p1hcrlmm-1.0.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-humancytosnp12v2p1hcrlmm-1.0.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-humanomni1quadv1bcrlmm-1.0.3-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-humanomni1quadv1bcrlmm-1.0.3-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-humanomni1quadv1bcrlmm-1.0.3-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-humanomni1quadv1bcrlmm-1.0.3-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-humanomni1quadv1bcrlmm-1.0.3-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-humanomni1quadv1bcrlmm-1.0.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-humanomni1quadv1bcrlmm-1.0.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-humanomni1quadv1bcrlmm-1.0.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-humanomni1quadv1bcrlmm-1.0.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-humanomni1quadv1bcrlmm-1.0.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-humanomni25quadv1bcrlmm-1.0.2-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-humanomni25quadv1bcrlmm-1.0.2-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-humanomni25quadv1bcrlmm-1.0.2-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-humanomni25quadv1bcrlmm-1.0.2-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-humanomni25quadv1bcrlmm-1.0.2-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-humanomni25quadv1bcrlmm-1.0.2-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-humanomni25quadv1bcrlmm-1.0.2-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-humanomni25quadv1bcrlmm-1.0.2-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-humanomni25quadv1bcrlmm-1.0.2-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-humanomni25quadv1bcrlmm-1.0.2-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-humanomni5quadv1bcrlmm-1.0.0-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-humanomni5quadv1bcrlmm-1.0.0-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-humanomni5quadv1bcrlmm-1.0.0-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-humanomni5quadv1bcrlmm-1.0.0-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-humanomni5quadv1bcrlmm-1.0.0-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-humanomni5quadv1bcrlmm-1.0.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-humanomni5quadv1bcrlmm-1.0.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-humanomni5quadv1bcrlmm-1.0.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-humanomni5quadv1bcrlmm-1.0.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-humanomni5quadv1bcrlmm-1.0.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-humanomniexpress12v1bcrlmm-1.0.1-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-humanomniexpress12v1bcrlmm-1.0.1-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-humanomniexpress12v1bcrlmm-1.0.1-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-humanomniexpress12v1bcrlmm-1.0.1-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-humanomniexpress12v1bcrlmm-1.0.1-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-humanomniexpress12v1bcrlmm-1.0.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-humanomniexpress12v1bcrlmm-1.0.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-humanomniexpress12v1bcrlmm-1.0.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-humanomniexpress12v1bcrlmm-1.0.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-humanomniexpress12v1bcrlmm-1.0.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-humanstemcell-0.24.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-hgu133plus2.db >=3.2.0,<3.3.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-humanstemcell-0.26.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-hgu133plus2.db >=3.2.0,<3.3.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-humanstemcell-0.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-hgu133plus2.db >=3.2.0,<3.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-humanstemcell-0.30.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-hgu133plus2.db >=3.2.0,<3.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-humanstemcell-0.30.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-hgu133plus2.db >=3.2.0,<3.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-humanstemcell-0.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-hgu133plus2.db >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-humanstemcell-0.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-hgu133plus2.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-humanstemcell-0.34.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-hgu133plus2.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-humanstemcell-0.38.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221107", - "bioconductor-hgu133plus2.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-huo22.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-huo22.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-huo22.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-huo22.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-huo22.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-huo22.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-huo22.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-huo22.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-huo22.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-hwgcod.db-3.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hwgcod.db-3.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-hwgcod.db-3.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hwgcod.db-3.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hwgcod.db-3.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-hwgcod.db-3.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hwgcod.db-3.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hwgcod.db-3.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-hwgcod.db-3.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-illumina450probevariants.db-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-illumina450probevariants.db-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illumina450probevariants.db-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illumina450probevariants.db-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illumina450probevariants.db-1.25.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illumina450probevariants.db-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illumina450probevariants.db-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illumina450probevariants.db-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illumina450probevariants.db-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illumina450probevariants.db-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illumina450probevariants.db-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-illumina450probevariants.db-1.34.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221111", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-illuminadatatestfiles-1.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-illuminadatatestfiles-1.22.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminadatatestfiles-1.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminadatatestfiles-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminadatatestfiles-1.27.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminadatatestfiles-1.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminadatatestfiles-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminadatatestfiles-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminadatatestfiles-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminadatatestfiles-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminadatatestfiles-1.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27k.db-1.4.8-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27k.db-1.4.8-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27k.db-1.4.8-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27k.db-1.4.8-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27k.db-1.4.8-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27k.db-1.4.8-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27k.db-1.4.8-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27k.db-1.4.8-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27k.db-1.4.8-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27kanno.ilmn12.hg19-0.6.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.30.0,<1.31.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27kanno.ilmn12.hg19-0.6.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27kanno.ilmn12.hg19-0.6.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27kanno.ilmn12.hg19-0.6.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27kanno.ilmn12.hg19-0.6.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27kanno.ilmn12.hg19-0.6.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.38.0,<1.39.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27kanno.ilmn12.hg19-0.6.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27kanno.ilmn12.hg19-0.6.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27kanno.ilmn12.hg19-0.6.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-minfi >=1.44.0,<1.45.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27kmanifest-0.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.30.0,<1.31.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27kmanifest-0.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27kmanifest-0.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27kmanifest-0.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27kmanifest-0.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27kmanifest-0.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.38.0,<1.39.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27kmanifest-0.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27kmanifest-0.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylation27kmanifest-0.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-minfi >=1.44.0,<1.45.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19-0.6.0-r36_7.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.30.0,<1.31.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19-0.6.0-r36_8.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19-0.6.0-r40_10.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19-0.6.0-r40_9.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19-0.6.0-r40hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19-0.6.0-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.38.0,<1.39.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19-0.6.0-r41hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19-0.6.0-r41hdfd78af_14.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19-0.6.1-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-minfi >=1.44.0,<1.45.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kmanifest-0.4.0-r36_6.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.30.0,<1.31.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kmanifest-0.4.0-r36_7.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kmanifest-0.4.0-r40_8.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kmanifest-0.4.0-r40_9.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kmanifest-0.4.0-r40hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kmanifest-0.4.0-r41hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.38.0,<1.39.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kmanifest-0.4.0-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kmanifest-0.4.0-r41hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kmanifest-0.4.0-r42hdfd78af_14.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-minfi >=1.44.0,<1.45.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kprobe-2.0.6-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kprobe-2.0.6-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kprobe-2.0.6-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kprobe-2.0.6-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kprobe-2.0.6-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kprobe-2.0.6-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kprobe-2.0.6-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kprobe-2.0.6-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylation450kprobe-2.0.6-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b2.hg19-0.6.0-r36_5.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.30.0,<1.31.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b2.hg19-0.6.0-r36_6.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b2.hg19-0.6.0-r40_7.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b2.hg19-0.6.0-r40_8.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b2.hg19-0.6.0-r40hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b2.hg19-0.6.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.38.0,<1.39.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b2.hg19-0.6.0-r41hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b2.hg19-0.6.0-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b2.hg19-0.6.0-r42hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-minfi >=1.44.0,<1.45.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b3.hg19-0.6.0-r36_5.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.30.0,<1.31.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b3.hg19-0.6.0-r36_6.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b3.hg19-0.6.0-r40_7.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b3.hg19-0.6.0-r40_8.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b3.hg19-0.6.0-r40hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b3.hg19-0.6.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.38.0,<1.39.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b3.hg19-0.6.0-r41hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b3.hg19-0.6.0-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b3.hg19-0.6.0-r42hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-minfi >=1.44.0,<1.45.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19-0.6.0-r36_5.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.30.0,<1.31.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19-0.6.0-r36_6.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19-0.6.0-r40_7.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19-0.6.0-r40_8.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19-0.6.0-r40hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19-0.6.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.38.0,<1.39.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19-0.6.0-r41hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19-0.6.0-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicanno.ilm10b4.hg19-0.6.0-r42hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-minfi >=1.44.0,<1.45.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicmanifest-0.3.0-r36_5.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.30.0,<1.31.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicmanifest-0.3.0-r36_6.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicmanifest-0.3.0-r40_7.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicmanifest-0.3.0-r40_9.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicmanifest-0.3.0-r40hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicmanifest-0.3.0-r41hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.38.0,<1.39.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicmanifest-0.3.0-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicmanifest-0.3.0-r41hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanmethylationepicmanifest-0.3.0-r42hdfd78af_14.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-minfi >=1.44.0,<1.45.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-illuminahumanv1.db-1.26.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanv1.db-1.26.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanv1.db-1.26.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanv1.db-1.26.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanv1.db-1.26.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanv1.db-1.26.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanv1.db-1.26.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanv1.db-1.26.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanv1.db-1.26.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-illuminahumanv2.db-1.26.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanv2.db-1.26.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanv2.db-1.26.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanv2.db-1.26.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanv2.db-1.26.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanv2.db-1.26.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanv2.db-1.26.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanv2.db-1.26.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanv2.db-1.26.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-illuminahumanv2beadid.db-1.8.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanv2beadid.db-1.8.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanv2beadid.db-1.8.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanv2beadid.db-1.8.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanv2beadid.db-1.8.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanv2beadid.db-1.8.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanv2beadid.db-1.8.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanv2beadid.db-1.8.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanv2beadid.db-1.8.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-illuminahumanv3.db-1.26.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanv3.db-1.26.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanv3.db-1.26.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanv3.db-1.26.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanv3.db-1.26.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanv3.db-1.26.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanv3.db-1.26.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanv3.db-1.26.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanv3.db-1.26.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-illuminahumanv4.db-1.26.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanv4.db-1.26.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanv4.db-1.26.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanv4.db-1.26.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanv4.db-1.26.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanv4.db-1.26.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanv4.db-1.26.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanv4.db-1.26.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanv4.db-1.26.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-illuminahumanwgdaslv3.db-1.26.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanwgdaslv3.db-1.26.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanwgdaslv3.db-1.26.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanwgdaslv3.db-1.26.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanwgdaslv3.db-1.26.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanwgdaslv3.db-1.26.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanwgdaslv3.db-1.26.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanwgdaslv3.db-1.26.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanwgdaslv3.db-1.26.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-illuminahumanwgdaslv4.db-1.26.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanwgdaslv4.db-1.26.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminahumanwgdaslv4.db-1.26.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanwgdaslv4.db-1.26.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanwgdaslv4.db-1.26.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminahumanwgdaslv4.db-1.26.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanwgdaslv4.db-1.26.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanwgdaslv4.db-1.26.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminahumanwgdaslv4.db-1.26.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-illuminamousev1.db-1.26.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminamousev1.db-1.26.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminamousev1.db-1.26.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminamousev1.db-1.26.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminamousev1.db-1.26.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminamousev1.db-1.26.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminamousev1.db-1.26.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminamousev1.db-1.26.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminamousev1.db-1.26.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-illuminamousev1p1.db-1.26.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminamousev1p1.db-1.26.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminamousev1p1.db-1.26.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminamousev1p1.db-1.26.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminamousev1p1.db-1.26.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminamousev1p1.db-1.26.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminamousev1p1.db-1.26.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminamousev1p1.db-1.26.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminamousev1p1.db-1.26.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-illuminamousev2.db-1.26.0-r36_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminamousev2.db-1.26.0-r36_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminamousev2.db-1.26.0-r40_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminamousev2.db-1.26.0-r40_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminamousev2.db-1.26.0-r40hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminamousev2.db-1.26.0-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminamousev2.db-1.26.0-r41hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminamousev2.db-1.26.0-r41hdfd78af_14.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminamousev2.db-1.26.0-r42hdfd78af_15.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-illuminaratv1.db-1.26.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminaratv1.db-1.26.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-illuminaratv1.db-1.26.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminaratv1.db-1.26.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminaratv1.db-1.26.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-illuminaratv1.db-1.26.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminaratv1.db-1.26.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminaratv1.db-1.26.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-illuminaratv1.db-1.26.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-imcdatasets-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-cytomapper >=1.4.0,<1.5.0", - "bioconductor-delayedarray >=0.18.0,<0.19.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-hdf5array >=1.20.0,<1.21.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "bioconductor-singlecellexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-imcdatasets-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-cytomapper >=1.6.0,<1.7.0", - "bioconductor-delayedarray >=0.20.0,<0.21.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-hdf5array >=1.22.0,<1.23.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-imcdatasets-1.2.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-cytomapper >=1.6.0,<1.7.0", - "bioconductor-delayedarray >=0.20.0,<0.21.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-hdf5array >=1.22.0,<1.23.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-imcdatasets-1.6.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-cytomapper >=1.10.0,<1.11.0", - "bioconductor-data-packages >=20221108", - "bioconductor-delayedarray >=0.24.0,<0.25.0", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-hdf5array >=1.26.0,<1.27.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "bioconductor-singlecellexperiment >=1.20.0,<1.21.0", - "bioconductor-spatialexperiment >=1.8.0,<1.9.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-indac.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.dm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-indac.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.dm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-indac.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.dm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-indac.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.dm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-indac.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.dm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-indac.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.dm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-indac.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.dm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-indac.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.dm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-indac.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.dm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-italicsdata-2.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-italicsdata-2.22.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-italicsdata-2.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-italicsdata-2.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-italicsdata-2.27.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-italicsdata-2.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-italicsdata-2.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-italicsdata-2.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-italicsdata-2.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-italicsdata-2.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-italicsdata-2.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-iyer517-1.26.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-iyer517-1.28.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-iyer517-1.30.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-iyer517-1.31.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-iyer517-1.32.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-iyer517-1.32.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-iyer517-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-iyer517-1.36.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-iyer517-1.36.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-iyer517-1.40.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-jaspar2014-1.20.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-jaspar2014-1.22.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-jaspar2014-1.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-jaspar2014-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-jaspar2014-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-jaspar2014-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-jaspar2014-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-jaspar2014-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-jaspar2014-1.34.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221107", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-jaspar2016-1.12.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-jaspar2016-1.12.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-jaspar2016-1.14.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-jaspar2016-1.16.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-jaspar2016-1.17.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-jaspar2016-1.18.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-jaspar2016-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-jaspar2016-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-jaspar2016-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-jaspar2016-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-jaspar2016-1.25.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-jaspar2016-1.26.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221110", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-jaspar2018-1.1.1-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-jaspar2018-1.1.1-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-jaspar2018-1.1.1-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-jaspar2018-1.1.1-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-jaspar2018-1.1.1-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-jaspar2018-1.1.1-r40_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-jaspar2018-1.1.1-r40hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-jaspar2018-1.1.1-r41hdfd78af_10.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-jaspar2018-1.1.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-jaspar2018-1.1.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-jaspar2018-1.1.1-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-jaspar2020-0.99.10-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-jaspar2020-0.99.10-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-jaspar2020-0.99.10-r41hdfd78af_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-jaspar2020-0.99.10-r41hdfd78af_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-jaspar2020-0.99.10-r41hdfd78af_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-jaspar2020-0.99.10-r42hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-jaspar2022-0.99.7-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocfilecache >=2.6.0,<2.7.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-jazaerimetadata.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-jazaerimetadata.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-jazaerimetadata.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-jazaerimetadata.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-jazaerimetadata.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-jazaerimetadata.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-jazaerimetadata.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-jazaerimetadata.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-jazaerimetadata.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-jctseqdata-1.14.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-jctseqdata-1.14.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-jctseqdata-1.16.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-jctseqdata-1.18.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-jctseqdata-1.19.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-jctseqdata-1.20.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-jctseqdata-1.20.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-kegg.db-3.2.3-r36_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-kegg.db-3.2.3-r36_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-kegg.db-3.2.4-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-kegg.db-3.2.4-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-kegg.db-3.2.4-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-keggandmetacoredzpathwaysgeo-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-keggandmetacoredzpathwaysgeo-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-keggandmetacoredzpathwaysgeo-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-biocgenerics >=0.38.0,<0.39.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-keggandmetacoredzpathwaysgeo-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-keggandmetacoredzpathwaysgeo-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-keggandmetacoredzpathwaysgeo-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-biocgenerics >=0.44.0,<0.45.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-keggandmetacoredzpathwaysgeo-1.4.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-biocgenerics >=0.30.0,<0.31.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-keggandmetacoredzpathwaysgeo-1.6.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-biocgenerics >=0.32.0,<0.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-keggandmetacoredzpathwaysgeo-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-biocgenerics >=0.34.0,<0.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-keggandmetacoredzpathwaysgeo-1.9.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-keggdzpathwaysgeo-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-biocgenerics >=0.30.0,<0.31.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-keggdzpathwaysgeo-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-biocgenerics >=0.32.0,<0.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-keggdzpathwaysgeo-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-biocgenerics >=0.34.0,<0.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-keggdzpathwaysgeo-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-keggdzpathwaysgeo-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-keggdzpathwaysgeo-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-biocgenerics >=0.38.0,<0.39.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-keggdzpathwaysgeo-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-keggdzpathwaysgeo-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-keggdzpathwaysgeo-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-biocgenerics >=0.44.0,<0.45.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-kidpack-1.26.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-kidpack-1.28.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-kidpack-1.30.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-kidpack-1.31.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-kidpack-1.32.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-kidpack-1.32.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-kidpack-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-kidpack-1.36.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-kidpack-1.36.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-kidpack-1.40.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-kodata-1.10.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-kodata-1.10.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-kodata-1.12.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-kodata-1.14.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-kodata-1.15.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-kodata-1.16.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-kodata-1.16.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-kodata-1.18.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-kodata-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-kodata-1.20.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-kodata-1.23.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-kodata-1.24.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221110", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-lapointe.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lapointe.db-3.2.3-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lapointe.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lapointe.db-3.2.3-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lapointe.db-3.2.3-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lapointe.db-3.2.3-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lapointe.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lapointe.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lapointe.db-3.2.3-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-leebamviews-1.20.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomicalignments >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-rsamtools >=2.0.0,<2.1.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-leebamviews-1.22.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomicalignments >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-rsamtools >=2.2.0,<2.3.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-leebamviews-1.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomicalignments >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-rsamtools >=2.4.0,<2.5.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-leebamviews-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomicalignments >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-rsamtools >=2.6.0,<2.7.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-leebamviews-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomicalignments >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-rsamtools >=2.6.0,<2.7.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-leebamviews-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomicalignments >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-rsamtools >=2.8.0,<2.9.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-leebamviews-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomicalignments >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-rsamtools >=2.10.0,<2.11.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-leebamviews-1.30.1-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomicalignments >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-rsamtools >=2.10.0,<2.11.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-leebamviews-1.34.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221108", - "bioconductor-genomicalignments >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-rsamtools >=2.14.0,<2.15.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-leukemiaseset-1.20.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-leukemiaseset-1.22.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-leukemiaseset-1.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-leukemiaseset-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-leukemiaseset-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-leukemiaseset-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-leukemiaseset-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-leukemiaseset-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-leukemiaseset-1.34.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-liebermanaidenhic2009-0.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-iranges >=2.18.0,<2.19.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-kernsmooth" - ] - }, - "bioconductor-liebermanaidenhic2009-0.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-iranges >=2.20.0,<2.21.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-kernsmooth" - ] - }, - "bioconductor-liebermanaidenhic2009-0.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-iranges >=2.22.0,<2.23.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-kernsmooth" - ] - }, - "bioconductor-liebermanaidenhic2009-0.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-iranges >=2.24.0,<2.25.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-kernsmooth" - ] - }, - "bioconductor-liebermanaidenhic2009-0.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-iranges >=2.24.0,<2.25.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-kernsmooth" - ] - }, - "bioconductor-liebermanaidenhic2009-0.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-iranges >=2.26.0,<2.27.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-kernsmooth" - ] - }, - "bioconductor-liebermanaidenhic2009-0.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-iranges >=2.28.0,<2.29.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-kernsmooth" - ] - }, - "bioconductor-liebermanaidenhic2009-0.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-iranges >=2.28.0,<2.29.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-kernsmooth" - ] - }, - "bioconductor-liebermanaidenhic2009-0.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-kernsmooth" - ] - }, - "bioconductor-listeretalbsseq-1.16.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-methylpipe >=1.18.0,<1.19.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-listeretalbsseq-1.18.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-methylpipe >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-listeretalbsseq-1.20.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-methylpipe >=1.22.0,<1.23.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-listeretalbsseq-1.22.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-methylpipe >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-listeretalbsseq-1.22.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-methylpipe >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-listeretalbsseq-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-methylpipe >=1.26.0,<1.27.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-listeretalbsseq-1.26.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-methylpipe >=1.27.0,<1.28.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-listeretalbsseq-1.26.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-methylpipe >=1.27.0,<1.28.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-listeretalbsseq-1.30.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221109", - "bioconductor-methylpipe >=1.32.0,<1.33.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-lowmacaannotation-0.99.3-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-lowmacaannotation-0.99.3-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lowmacaannotation-0.99.3-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lowmacaannotation-0.99.3-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lowmacaannotation-0.99.3-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lowmacaannotation-0.99.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lowmacaannotation-0.99.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lowmacaannotation-0.99.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lowmacaannotation-0.99.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lowmacaannotation-0.99.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-lrbase.ath.eg.db-1.1.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.2.0,<1.3.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.ath.eg.db-1.2.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.ath.eg.db-1.2.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.6.0,<1.7.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.ath.eg.db-1.2.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.ath.eg.db-1.2.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.ath.eg.db-2.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.bta.eg.db-1.1.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.2.0,<1.3.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.bta.eg.db-1.2.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.bta.eg.db-1.2.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.6.0,<1.7.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.bta.eg.db-1.2.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.bta.eg.db-1.2.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.bta.eg.db-2.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.cel.eg.db-1.1.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.2.0,<1.3.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.cel.eg.db-1.2.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.cel.eg.db-1.2.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.6.0,<1.7.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.cel.eg.db-1.2.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.cel.eg.db-1.2.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.cel.eg.db-2.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.dme.eg.db-1.1.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.2.0,<1.3.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.dme.eg.db-1.2.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.dme.eg.db-1.2.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.6.0,<1.7.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.dme.eg.db-1.2.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.dme.eg.db-1.2.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.dme.eg.db-2.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.dre.eg.db-1.1.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.2.0,<1.3.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.dre.eg.db-1.2.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.dre.eg.db-1.2.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.6.0,<1.7.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.dre.eg.db-1.2.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.dre.eg.db-1.2.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.dre.eg.db-2.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.gga.eg.db-1.1.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.2.0,<1.3.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.gga.eg.db-1.2.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.gga.eg.db-1.2.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.6.0,<1.7.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.gga.eg.db-1.2.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.gga.eg.db-1.2.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.gga.eg.db-2.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.hsa.eg.db-1.1.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.2.0,<1.3.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.hsa.eg.db-1.2.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.hsa.eg.db-1.2.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.6.0,<1.7.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.hsa.eg.db-1.2.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.hsa.eg.db-1.2.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.hsa.eg.db-2.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.mmu.eg.db-1.1.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.2.0,<1.3.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.mmu.eg.db-1.2.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.mmu.eg.db-1.2.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.6.0,<1.7.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.mmu.eg.db-1.2.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.mmu.eg.db-1.2.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.mmu.eg.db-2.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.pab.eg.db-1.1.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.2.0,<1.3.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.pab.eg.db-1.2.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.pab.eg.db-1.2.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.6.0,<1.7.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.pab.eg.db-1.2.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.pab.eg.db-1.2.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.pab.eg.db-2.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.rno.eg.db-1.0.0-r351_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.0.0,<1.1.0", - "curl", - "r-base >=3.5.1,<3.5.2.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.rno.eg.db-1.1.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.2.0,<1.3.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.rno.eg.db-1.2.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.rno.eg.db-1.2.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.6.0,<1.7.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.rno.eg.db-1.2.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.rno.eg.db-1.2.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.rno.eg.db-2.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.ssc.eg.db-1.1.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.2.0,<1.3.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.ssc.eg.db-1.2.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.ssc.eg.db-1.2.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.6.0,<1.7.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.ssc.eg.db-1.2.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.ssc.eg.db-1.2.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.ssc.eg.db-2.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.xtr.eg.db-1.1.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.2.0,<1.3.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.xtr.eg.db-1.2.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.xtr.eg.db-1.2.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=1.6.0,<1.7.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.xtr.eg.db-1.2.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.xtr.eg.db-1.2.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrbase.xtr.eg.db-2.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-lrbasedbi >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite" - ] - }, - "bioconductor-lrcelltypemarkers-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lrcelltypemarkers-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lrcelltypemarkers-1.2.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lrcelltypemarkers-1.6.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-lumibarnes-1.24.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-lumi >=2.36.0,<2.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lumibarnes-1.26.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-lumi >=2.38.0,<2.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lumibarnes-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-lumi >=2.40.0,<2.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lumibarnes-1.30.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-lumi >=2.42.0,<2.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lumibarnes-1.30.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-lumi >=2.42.0,<2.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lumibarnes-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-lumi >=2.44.0,<2.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lumibarnes-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-lumi >=2.46.0,<2.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lumibarnes-1.34.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-lumi >=2.46.0,<2.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lumibarnes-1.38.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221111", - "bioconductor-lumi >=2.50.0,<2.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-lumihumanall.db-1.22.0-r36_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lumihumanall.db-1.22.0-r36_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lumihumanall.db-1.22.0-r40_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lumihumanall.db-1.22.0-r40_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lumihumanall.db-1.22.0-r40hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lumihumanall.db-1.22.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lumihumanall.db-1.22.0-r41hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lumihumanall.db-1.22.0-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lumihumanall.db-1.22.0-r42hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-lumihumanidmapping-1.10.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-lumi >=2.36.0,<2.37.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi" - ] - }, - "bioconductor-lumihumanidmapping-1.10.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-lumi >=2.38.0,<2.39.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi" - ] - }, - "bioconductor-lumihumanidmapping-1.10.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-lumi >=2.40.0,<2.41.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi" - ] - }, - "bioconductor-lumihumanidmapping-1.10.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-lumi >=2.42.0,<2.43.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi" - ] - }, - "bioconductor-lumihumanidmapping-1.10.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-lumi >=2.42.0,<2.43.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi" - ] - }, - "bioconductor-lumihumanidmapping-1.10.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-lumi >=2.44.0,<2.45.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi" - ] - }, - "bioconductor-lumihumanidmapping-1.10.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-lumi >=2.46.0,<2.47.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi" - ] - }, - "bioconductor-lumihumanidmapping-1.10.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-lumi >=2.46.0,<2.47.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi" - ] - }, - "bioconductor-lumihumanidmapping-1.10.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-lumi >=2.50.0,<2.51.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi" - ] - }, - "bioconductor-lumimouseall.db-1.22.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lumimouseall.db-1.22.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lumimouseall.db-1.22.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lumimouseall.db-1.22.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lumimouseall.db-1.22.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lumimouseall.db-1.22.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lumimouseall.db-1.22.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lumimouseall.db-1.22.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lumimouseall.db-1.22.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-lumimouseidmapping-1.10.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-lumi >=2.36.0,<2.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lumimouseidmapping-1.10.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-lumi >=2.38.0,<2.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lumimouseidmapping-1.10.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-lumi >=2.40.0,<2.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lumimouseidmapping-1.10.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-lumi >=2.42.0,<2.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lumimouseidmapping-1.10.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-lumi >=2.42.0,<2.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lumimouseidmapping-1.10.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-lumi >=2.44.0,<2.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lumimouseidmapping-1.10.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-lumi >=2.46.0,<2.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lumimouseidmapping-1.10.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-lumi >=2.46.0,<2.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lumimouseidmapping-1.10.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-lumi >=2.50.0,<2.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-lumiratall.db-1.22.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lumiratall.db-1.22.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lumiratall.db-1.22.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lumiratall.db-1.22.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lumiratall.db-1.22.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lumiratall.db-1.22.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lumiratall.db-1.22.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lumiratall.db-1.22.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lumiratall.db-1.22.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-lumiratidmapping-1.10.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-lumi >=2.36.0,<2.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lumiratidmapping-1.10.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-lumi >=2.38.0,<2.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lumiratidmapping-1.10.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-lumi >=2.40.0,<2.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lumiratidmapping-1.10.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-lumi >=2.42.0,<2.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lumiratidmapping-1.10.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-lumi >=2.42.0,<2.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lumiratidmapping-1.10.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-lumi >=2.44.0,<2.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lumiratidmapping-1.10.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-lumi >=2.46.0,<2.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lumiratidmapping-1.10.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-lumi >=2.46.0,<2.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lumiratidmapping-1.10.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-lumi >=2.50.0,<2.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-lungcanceracvssccgeo-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-lungcanceracvssccgeo-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lungcanceracvssccgeo-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lungcanceracvssccgeo-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lungcanceracvssccgeo-1.25.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lungcanceracvssccgeo-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lungcanceracvssccgeo-1.26.0-r40_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lungcanceracvssccgeo-1.26.0-r40_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lungcanceracvssccgeo-1.26.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lungcanceracvssccgeo-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lungcanceracvssccgeo-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lungcanceracvssccgeo-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lungcanceracvssccgeo-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-lungcanceracvssccgeo-1.34.0-r42hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221110", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-lungcancerlines-0.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-rsamtools >=2.0.0,<2.1.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lungcancerlines-0.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-rsamtools >=2.2.0,<2.3.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lungcancerlines-0.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rsamtools >=2.4.0,<2.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lungcancerlines-0.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rsamtools >=2.6.0,<2.7.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lungcancerlines-0.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rsamtools >=2.6.0,<2.7.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lungcancerlines-0.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rsamtools >=2.8.0,<2.9.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lungcancerlines-0.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rsamtools >=2.10.0,<2.11.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lungcancerlines-0.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rsamtools >=2.10.0,<2.11.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lungcancerlines-0.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221107", - "bioconductor-rsamtools >=2.14.0,<2.15.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-lungexpression-0.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lungexpression-0.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lungexpression-0.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lungexpression-0.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lungexpression-0.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lungexpression-0.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lungexpression-0.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lungexpression-0.32.1-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lungexpression-0.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-lydata-1.10.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-lydata-1.10.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lydata-1.12.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lydata-1.14.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lydata-1.15.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lydata-1.16.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lydata-1.16.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lydata-1.18.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lydata-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lydata-1.20.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lydata-1.23.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-lymphoseqdb-0.99.2-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-lymphoseqdb-0.99.2-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lymphoseqdb-0.99.2-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-lymphoseqdb-0.99.2-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lymphoseqdb-0.99.2-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lymphoseqdb-0.99.2-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-lymphoseqdb-0.99.2-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lymphoseqdb-0.99.2-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lymphoseqdb-0.99.2-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-lymphoseqdb-0.99.2-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-m10kcod.db-3.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-m10kcod.db-3.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-m10kcod.db-3.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-m10kcod.db-3.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-m10kcod.db-3.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-m10kcod.db-3.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-m10kcod.db-3.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-m10kcod.db-3.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-m10kcod.db-3.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-m20kcod.db-3.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-m20kcod.db-3.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-m20kcod.db-3.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-m20kcod.db-3.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-m20kcod.db-3.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-m20kcod.db-3.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-m20kcod.db-3.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-m20kcod.db-3.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-m20kcod.db-3.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-m3dexampledata-1.10.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-m3dexampledata-1.10.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-m3dexampledata-1.12.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-m3dexampledata-1.14.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-m3dexampledata-1.15.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-m3dexampledata-1.16.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-m3dexampledata-1.16.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-m3dexampledata-1.18.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-m3dexampledata-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-m3dexampledata-1.20.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-m3dexampledata-1.23.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-macrophage-1.0.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-macrophage-1.0.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-macrophage-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-macrophage-1.10.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-macrophage-1.13.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-macrophage-1.2.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-macrophage-1.4.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-macrophage-1.5.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-macrophage-1.6.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-macrophage-1.6.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-macrophage-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-macsdata-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-macsdata-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-macsdata-1.2.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-macsdata-1.5.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase1.grch38-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-genomicscores >=1.10.0,<1.11.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase1.grch38-3.10.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-genomicscores >=2.0.0,<2.1.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase1.grch38-3.10.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase1.grch38-3.10.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase1.grch38-3.10.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-genomicscores >=2.4.0,<2.5.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase1.grch38-3.10.0-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase1.grch38-3.10.0-r41hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase1.grch38-3.10.0-r42hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-genomicscores >=2.10.0,<2.11.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase1.grch38-3.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-genomicscores >=1.8.0,<1.9.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase1.hs37d5-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-genomicscores >=1.10.0,<1.11.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase1.hs37d5-3.10.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-genomicscores >=2.0.0,<2.1.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase1.hs37d5-3.10.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase1.hs37d5-3.10.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase1.hs37d5-3.10.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-genomicscores >=2.4.0,<2.5.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase1.hs37d5-3.10.0-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase1.hs37d5-3.10.0-r41hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase1.hs37d5-3.10.0-r42hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-genomicscores >=2.10.0,<2.11.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase1.hs37d5-3.7.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-genomicscores >=1.8.0,<1.9.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase3.grch38-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-genomicscores >=1.10.0,<1.11.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase3.grch38-3.10.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-genomicscores >=2.0.0,<2.1.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase3.grch38-3.10.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase3.grch38-3.10.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase3.grch38-3.10.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-genomicscores >=2.4.0,<2.5.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase3.grch38-3.10.0-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase3.grch38-3.10.0-r41hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase3.grch38-3.10.0-r42hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-genomicscores >=2.10.0,<2.11.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase3.grch38-3.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-genomicscores >=1.8.0,<1.9.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase3.hs37d5-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-genomicscores >=1.10.0,<1.11.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase3.hs37d5-3.10.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-genomicscores >=2.0.0,<2.1.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase3.hs37d5-3.10.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase3.hs37d5-3.10.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase3.hs37d5-3.10.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-genomicscores >=2.4.0,<2.5.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase3.hs37d5-3.10.0-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase3.hs37d5-3.10.0-r41hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase3.hs37d5-3.10.0-r42hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-genomicscores >=2.10.0,<2.11.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mafdb.1kgenomes.phase3.hs37d5-3.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-genomicscores >=1.8.0,<1.9.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.esp6500si.v2.ssa137.grch38-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-genomicscores >=1.10.0,<1.11.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.esp6500si.v2.ssa137.grch38-3.10.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-genomicscores >=2.0.0,<2.1.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.esp6500si.v2.ssa137.grch38-3.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-genomicscores >=1.8.0,<1.9.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.esp6500si.v2.ssa137.hs37d5-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-genomicscores >=1.10.0,<1.11.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.esp6500si.v2.ssa137.hs37d5-3.10.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-genomicscores >=2.0.0,<2.1.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.esp6500si.v2.ssa137.hs37d5-3.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-genomicscores >=1.8.0,<1.9.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.grch38-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-genomicscores >=1.10.0,<1.11.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.grch38-3.10.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-genomicscores >=2.0.0,<2.1.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.grch38-3.10.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.grch38-3.10.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.grch38-3.10.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-genomicscores >=2.4.0,<2.5.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.grch38-3.10.0-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.grch38-3.10.0-r41hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.grch38-3.10.0-r42hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-genomicscores >=2.10.0,<2.11.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.grch38-3.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-genomicscores >=1.8.0,<1.9.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.hs37d5-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-genomicscores >=1.10.0,<1.11.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.hs37d5-3.10.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-genomicscores >=2.0.0,<2.1.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.hs37d5-3.10.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.hs37d5-3.10.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.hs37d5-3.10.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-genomicscores >=2.4.0,<2.5.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.hs37d5-3.10.0-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.hs37d5-3.10.0-r41hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.hs37d5-3.10.0-r42hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-genomicscores >=2.10.0,<2.11.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.hs37d5-3.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-genomicscores >=1.8.0,<1.9.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.nontcga.grch38-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-genomicscores >=1.10.0,<1.11.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.nontcga.grch38-3.10.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-genomicscores >=2.0.0,<2.1.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.nontcga.grch38-3.10.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.nontcga.grch38-3.10.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.nontcga.grch38-3.10.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-genomicscores >=2.4.0,<2.5.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.nontcga.grch38-3.10.0-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.nontcga.grch38-3.10.0-r41hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.nontcga.grch38-3.10.0-r42hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-genomicscores >=2.10.0,<2.11.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.nontcga.grch38-3.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-genomicscores >=1.8.0,<1.9.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.nontcga.hs37d5-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-genomicscores >=1.10.0,<1.11.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.nontcga.hs37d5-3.10.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-genomicscores >=2.0.0,<2.1.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.nontcga.hs37d5-3.10.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.nontcga.hs37d5-3.10.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.nontcga.hs37d5-3.10.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-genomicscores >=2.4.0,<2.5.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.nontcga.hs37d5-3.10.0-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.nontcga.hs37d5-3.10.0-r41hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.nontcga.hs37d5-3.10.0-r42hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-genomicscores >=2.10.0,<2.11.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mafdb.exac.r1.0.nontcga.hs37d5-3.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-genomicscores >=1.8.0,<1.9.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.gnomad.r2.0.1.grch38-3.9.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-genomicscores >=1.8.0,<1.9.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.gnomad.r2.1.grch38-3.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-genomicscores >=2.0.0,<2.1.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.gnomad.r2.1.grch38-3.10.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.gnomad.r2.1.grch38-3.10.0-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-genomicscores >=2.4.0,<2.5.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.gnomad.r2.1.grch38-3.10.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.gnomad.r2.1.grch38-3.9.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-genomicscores >=1.8.0,<1.9.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.gnomad.r2.1.hs37d5-3.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-genomicscores >=2.0.0,<2.1.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.gnomad.r2.1.hs37d5-3.10.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.gnomad.r2.1.hs37d5-3.10.0-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-genomicscores >=2.4.0,<2.5.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.gnomad.r2.1.hs37d5-3.10.0-r41hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.gnomad.r2.1.hs37d5-3.8.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-genomicscores >=1.8.0,<1.9.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.gnomad.r3.0.grch38-3.11.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-genomicscores >=2.0.0,<2.1.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.gnomad.r3.0.grch38-3.11.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.gnomad.r3.0.grch38-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-genomicscores >=2.4.0,<2.5.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.gnomadex.r2.0.1.grch38-3.9.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-genomicscores >=1.8.0,<1.9.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.gnomadex.r2.1.grch38-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-genomicscores >=1.10.0,<1.11.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.gnomadex.r2.1.grch38-3.10.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-genomicscores >=2.0.0,<2.1.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.gnomadex.r2.1.grch38-3.10.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.gnomadex.r2.1.grch38-3.10.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.gnomadex.r2.1.grch38-3.10.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-genomicscores >=2.4.0,<2.5.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.gnomadex.r2.1.grch38-3.10.0-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.gnomadex.r2.1.grch38-3.10.0-r41hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.gnomadex.r2.1.grch38-3.10.0-r42hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-genomicscores >=2.10.0,<2.11.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mafdb.gnomadex.r2.1.grch38-3.9.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-genomicscores >=1.8.0,<1.9.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.gnomadex.r2.1.hs37d5-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-genomicscores >=1.10.0,<1.11.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.gnomadex.r2.1.hs37d5-3.10.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-genomicscores >=2.0.0,<2.1.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.gnomadex.r2.1.hs37d5-3.10.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.gnomadex.r2.1.hs37d5-3.10.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.gnomadex.r2.1.hs37d5-3.10.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-genomicscores >=2.4.0,<2.5.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.gnomadex.r2.1.hs37d5-3.10.0-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.gnomadex.r2.1.hs37d5-3.10.0-r41hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.gnomadex.r2.1.hs37d5-3.10.0-r42hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-genomicscores >=2.10.0,<2.11.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mafdb.gnomadex.r2.1.hs37d5-3.8.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-genomicscores >=1.8.0,<1.9.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.topmed.freeze5.hg19-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-genomicscores >=1.10.0,<1.11.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.topmed.freeze5.hg19-3.10.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-genomicscores >=2.0.0,<2.1.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.topmed.freeze5.hg19-3.10.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.topmed.freeze5.hg19-3.10.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-genomicscores >=2.4.0,<2.5.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.topmed.freeze5.hg19-3.10.0-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.topmed.freeze5.hg19-3.10.0-r41hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.topmed.freeze5.hg19-3.10.0-r42hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-genomicscores >=2.10.0,<2.11.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mafdb.topmed.freeze5.hg19-3.9.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-genomicscores >=1.8.0,<1.9.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.topmed.freeze5.hg38-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-genomicscores >=1.10.0,<1.11.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafdb.topmed.freeze5.hg38-3.10.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-genomicscores >=2.0.0,<2.1.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.topmed.freeze5.hg38-3.10.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.topmed.freeze5.hg38-3.10.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafdb.topmed.freeze5.hg38-3.10.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-genomicscores >=2.4.0,<2.5.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.topmed.freeze5.hg38-3.10.0-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.topmed.freeze5.hg38-3.10.0-r41hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafdb.topmed.freeze5.hg38-3.10.0-r42hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-genomicscores >=2.10.0,<2.11.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mafdb.topmed.freeze5.hg38-3.9.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-genomicscores >=1.8.0,<1.9.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mafh5.gnomad.r3.0.grch38-3.11.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-genomicscores >=2.0.0,<2.1.0", - "bioconductor-hdf5array >=1.16.0,<1.17.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-rhdf5 >=2.32.0,<2.33.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafh5.gnomad.r3.0.grch38-3.11.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-hdf5array >=1.18.0,<1.19.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-rhdf5 >=2.34.0,<2.35.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafh5.gnomad.r3.0.grch38-3.11.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-hdf5array >=1.18.0,<1.19.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-rhdf5 >=2.34.0,<2.35.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mafh5.gnomad.r3.0.grch38-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-genomicscores >=2.4.0,<2.5.0", - "bioconductor-hdf5array >=1.20.0,<1.21.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-rhdf5 >=2.36.0,<2.37.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafh5.gnomad.v3.1.1.grch38-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-genomicscores >=2.4.0,<2.5.0", - "bioconductor-hdf5array >=1.20.0,<1.21.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-rhdf5 >=2.36.0,<2.37.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafh5.gnomad.v3.1.1.grch38-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-hdf5array >=1.22.0,<1.23.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-rhdf5 >=2.38.0,<2.39.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafh5.gnomad.v3.1.1.grch38-3.13.0-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-hdf5array >=1.22.0,<1.23.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-rhdf5 >=2.38.0,<2.39.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mafh5.gnomad.v3.1.1.grch38-3.13.1-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-genomicscores >=2.10.0,<2.11.0", - "bioconductor-hdf5array >=1.26.0,<1.27.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-rhdf5 >=2.42.0,<2.43.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mafh5.gnomad.v3.1.2.grch38-3.15.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-genomicscores >=2.10.0,<2.11.0", - "bioconductor-hdf5array >=1.26.0,<1.27.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-rhdf5 >=2.42.0,<2.43.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-maizecdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-maizecdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-maizecdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-maizecdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-maizecdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-maizecdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-maizecdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-maizecdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-maizecdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-maizeprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-maizeprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-maizeprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-maizeprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-maizeprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-maizeprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-maizeprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-maizeprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-maizeprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-malaria.db0-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-malaria.db0-3.11.2-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-malaria.db0-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-malaria.db0-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-malaria.db0-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-malaria.db0-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-malaria.db0-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-malaria.db0-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-malaria.db0-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mammaprintdata-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-mammaprintdata-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mammaprintdata-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mammaprintdata-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mammaprintdata-1.25.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mammaprintdata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mammaprintdata-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mammaprintdata-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mammaprintdata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mammaprintdata-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mammaprintdata-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mapkldata-1.16.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-mapkldata-1.16.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mapkldata-1.18.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mapkldata-1.20.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mapkldata-1.21.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mapkldata-1.22.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mapkldata-1.22.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mapkldata-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mapkldata-1.26.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mapkldata-1.26.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mapkldata-1.29.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-maqcexpression4plex-1.28.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-maqcexpression4plex-1.28.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-maqcexpression4plex-1.30.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-maqcexpression4plex-1.32.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-maqcexpression4plex-1.33.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-maqcexpression4plex-1.34.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-maqcexpression4plex-1.34.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-maqcexpression4plex-1.36.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-maqcexpression4plex-1.38.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-maqcexpression4plex-1.38.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-maqcexpression4plex-1.41.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-maqcsubset-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.62.0,<1.63.0", - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-lumi >=2.36.0,<2.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-maqcsubset-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.64.0,<1.65.0", - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-lumi >=2.38.0,<2.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-maqcsubset-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.66.0,<1.67.0", - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-lumi >=2.40.0,<2.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-maqcsubset-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-lumi >=2.42.0,<2.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-maqcsubset-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-lumi >=2.42.0,<2.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-maqcsubset-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.70.0,<1.71.0", - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-lumi >=2.44.0,<2.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-maqcsubset-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-lumi >=2.46.0,<2.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-maqcsubset-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-lumi >=2.46.0,<2.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-maqcsubset-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.76.0,<1.77.0", - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221111", - "bioconductor-lumi >=2.50.0,<2.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-maqcsubsetafx-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.62.0,<1.63.0", - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-maqcsubsetafx-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.64.0,<1.65.0", - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-maqcsubsetafx-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.66.0,<1.67.0", - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-maqcsubsetafx-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-maqcsubsetafx-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-maqcsubsetafx-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.70.0,<1.71.0", - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-maqcsubsetilm-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-lumi >=2.36.0,<2.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-maqcsubsetilm-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-lumi >=2.38.0,<2.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-maqcsubsetilm-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-lumi >=2.40.0,<2.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-maqcsubsetilm-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-lumi >=2.42.0,<2.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-maqcsubsetilm-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-lumi >=2.42.0,<2.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-maqcsubsetilm-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-lumi >=2.44.0,<2.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-maqcsubsetilm-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-lumi >=2.46.0,<2.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-maqcsubsetilm-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-lumi >=2.46.0,<2.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-maqcsubsetilm-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221111", - "bioconductor-lumi >=2.50.0,<2.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mcseadata-1.10.1-r40hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mcseadata-1.10.1-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mcseadata-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mcseadata-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mcseadata-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mcseadata-1.17.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mcseadata-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221109", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mcseadata-1.4.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-mcseadata-1.4.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mcseadata-1.6.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mcseadata-1.8.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mcseadata-1.9.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mcsurvdata-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mcsurvdata-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mcsurvdata-1.12.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mcsurvdata-1.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mcsurvdata-1.2.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.16.0,<2.17.0", - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mcsurvdata-1.4.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mcsurvdata-1.6.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mcsurvdata-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mcsurvdata-1.8.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-medicagocdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-medicagocdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-medicagocdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-medicagocdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-medicagocdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-medicagocdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-medicagocdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-medicagocdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-medicagocdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-medicagoprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-medicagoprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-medicagoprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-medicagoprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-medicagoprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-medicagoprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-medicagoprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-medicagoprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-medicagoprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-medipsdata-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-medipsdata-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-medipsdata-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-medipsdata-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-medipsdata-1.25.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-medipsdata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-medipsdata-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-medipsdata-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-medipsdata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-medipsdata-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-medipsdata-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-meebodata-1.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-meebodata-1.22.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-meebodata-1.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-meebodata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-meebodata-1.27.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-meebodata-1.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-meebodata-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-meebodata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-meebodata-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-meebodata-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-meebodata-1.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-merfishdata-1.0.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-bumpymatrix >=1.6.0,<1.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-ebimage >=4.40.0,<4.41.0", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "bioconductor-spatialexperiment >=1.8.0,<1.9.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mesh.aca.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.aca.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.aca.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.aca.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.aca.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.aca.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.aga.pest.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.aga.pest.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.aga.pest.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.aga.pest.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.aga.pest.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.aga.pest.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.ame.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.ame.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.ame.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.ame.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.ame.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.ame.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.aml.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.aml.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.aml.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.aml.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.aml.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.aml.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.ana.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.ana.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.ana.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.ana.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.ana.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.ana.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.ani.fgsc.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.ani.fgsc.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.ani.fgsc.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.ani.fgsc.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.ani.fgsc.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.ani.fgsc.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.aor.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.aor.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.aor.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.aor.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.aor.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.aor.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.ath.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.ath.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.ath.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.ath.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.ath.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.ath.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.bfl.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.bfl.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.bfl.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.bfl.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.bfl.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.bfl.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.bsu.168.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.bsu.168.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.bsu.168.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.bsu.168.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.bsu.168.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.bsu.168.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.bta.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.bta.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.bta.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.bta.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.bta.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.bta.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.cal.sc5314.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.cal.sc5314.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.cal.sc5314.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.cal.sc5314.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.cal.sc5314.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.cal.sc5314.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.cbr.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.cbr.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.cbr.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.cbr.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.cbr.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.cbr.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.cel.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.cel.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.cel.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.cel.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.cel.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.cel.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.cfa.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.cfa.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.cfa.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.cfa.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.cfa.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.cfa.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.cin.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.cin.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.cin.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.cin.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.cin.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.cin.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.cja.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.cja.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.cja.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.cja.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.cja.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.cja.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.cpo.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.cpo.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.cpo.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.cpo.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.cpo.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.cpo.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.cre.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.cre.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.cre.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.cre.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.cre.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.cre.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.dan.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.dan.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.dan.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dan.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dan.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dan.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.dda.3937.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.dda.3937.eg.db-1.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.dda.3937.eg.db-1.12.0-r40_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dda.3937.eg.db-1.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dda.3937.eg.db-1.12.0-r40hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dda.3937.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.ddi.ax4.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.ddi.ax4.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.ddi.ax4.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.ddi.ax4.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.ddi.ax4.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.ddi.ax4.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.der.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.der.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.der.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.der.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.der.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.der.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.dgr.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.dgr.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.dgr.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dgr.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dgr.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dgr.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.dme.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.dme.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.dme.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dme.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dme.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dme.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.dmo.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.dmo.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.dmo.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dmo.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dmo.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dmo.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.dpe.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.dpe.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.dpe.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dpe.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dpe.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dpe.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.dre.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.dre.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.dre.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dre.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dre.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dre.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.dse.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.dse.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.dse.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dse.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dse.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dse.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.dsi.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.dsi.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.dsi.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dsi.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dsi.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dsi.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.dvi.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.dvi.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.dvi.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dvi.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dvi.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dvi.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.dya.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.dya.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.dya.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dya.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dya.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.dya.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.eca.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.eco.55989.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.eco.55989.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.eco.55989.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.eco.55989.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.eco.55989.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.eco.ed1a.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.eco.ed1a.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.eco.ed1a.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.eco.ed1a.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.eco.ed1a.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.eco.iai39.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.eco.iai39.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.eco.iai39.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.eco.iai39.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.eco.iai39.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.eco.k12.mg1655.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.eco.k12.mg1655.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.eco.k12.mg1655.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.eco.k12.mg1655.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.eco.k12.mg1655.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.eco.k12.mg1655.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.eco.o157.h7.sakai.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.eco.o157.h7.sakai.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.eco.o157.h7.sakai.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.eco.o157.h7.sakai.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.eco.o157.h7.sakai.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.eco.o157.h7.sakai.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.eco.umn026.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.eco.umn026.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.eco.umn026.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.eco.umn026.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.eco.umn026.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.eqc.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.eqc.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.eqc.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.eqc.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.eqc.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.gga.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.gga.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.gga.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.gga.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.gga.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.gga.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.gma.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.gma.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.gma.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.gma.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.gma.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.gma.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.hsa.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.hsa.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.hsa.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.hsa.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.hsa.eg.db-1.15.0-r40hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.hsa.eg.db-1.15.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.laf.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.laf.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.laf.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.laf.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.laf.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.laf.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.lma.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.lma.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.lma.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.lma.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.lma.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.lma.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.mdo.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.mdo.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.mdo.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.mdo.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.mdo.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.mdo.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.mes.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.mes.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.mes.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.mes.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.mes.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.mes.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.mga.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.mga.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.mga.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.mga.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.mga.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.mga.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.miy.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.miy.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.miy.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.miy.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.miy.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.miy.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.mml.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.mml.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.mml.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.mml.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.mml.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.mml.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.mmu.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.mmu.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.mmu.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.mmu.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.mmu.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.mmu.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.mtr.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.mtr.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.mtr.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.mtr.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.mtr.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.mtr.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.nle.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.nle.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.nle.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.nle.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.nle.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.nle.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.oan.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.oan.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.oan.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.oan.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.oan.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.oan.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.ocu.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.ocu.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.ocu.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.ocu.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.ocu.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.ocu.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.oni.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.oni.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.oni.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.oni.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.oni.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.oni.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.osa.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.osa.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.osa.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.osa.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.osa.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.osa.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.pab.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.pab.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.pab.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.pab.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.pab.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.pab.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.pae.pao1.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.pae.pao1.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.pae.pao1.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.pae.pao1.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.pae.pao1.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.pae.pao1.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.pcr.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.pcr.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.pcr.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.pcr.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.pcr.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.pcr.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.pfa.3d7.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.pfa.3d7.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.pfa.3d7.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.pfa.3d7.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.pfa.3d7.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.pfa.3d7.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.pto.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.pto.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.pto.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.pto.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.pto.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.pto.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.ptr.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.ptr.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.ptr.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.ptr.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.ptr.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.ptr.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.rno.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.rno.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.rno.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.rno.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.rno.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.rno.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.sce.s288c.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.sce.s288c.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.sce.s288c.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.sce.s288c.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.sce.s288c.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.sce.s288c.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.sco.a32.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.sco.a32.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.sco.a32.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.sco.a32.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.sco.a32.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.sco.a32.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.sil.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.sil.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.sil.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.sil.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.sil.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.sil.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.spu.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.spu.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.spu.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.spu.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.spu.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.spu.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.ssc.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.ssc.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.ssc.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.ssc.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.ssc.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.ssc.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.syn.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.syn.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.syn.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.syn.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.syn.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.syn.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.tbr.9274.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.tbr.9274.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.tbr.9274.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.tbr.9274.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.tbr.9274.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.tbr.9274.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.tgo.me49.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.tgo.me49.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.tgo.me49.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.tgo.me49.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.tgo.me49.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.tgo.me49.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.tgu.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.tgu.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.tgu.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.tgu.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.tgu.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.tgu.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.vvi.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.vvi.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.vvi.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.vvi.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.vvi.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.vvi.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.xla.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.xla.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.xla.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.xla.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.xla.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.xla.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.xtr.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.xtr.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.xtr.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.xtr.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.xtr.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.xtr.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mesh.zma.eg.db-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.zma.eg.db-1.13.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mesh.zma.eg.db-1.13.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.zma.eg.db-1.13.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.zma.eg.db-1.13.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mesh.zma.eg.db-1.15.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-meshdbi >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-metaboliteidmapping-0.99.8-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-metaboliteidmapping-0.99.8-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-metaboliteidmapping-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-metaboliteidmapping-1.0.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-metaboliteidmapping-1.0.0-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-metaboliteidmapping-1.0.0-r42hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-metagxbreast-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-impute >=1.64.0,<1.65.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-lattice" - ] - }, - "bioconductor-metagxbreast-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-impute >=1.66.0,<1.67.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-lattice" - ] - }, - "bioconductor-metagxbreast-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-impute >=1.68.0,<1.69.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-lattice" - ] - }, - "bioconductor-metagxbreast-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-impute >=1.68.0,<1.69.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-lattice" - ] - }, - "bioconductor-metagxbreast-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-impute >=1.72.0,<1.73.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-lattice" - ] - }, - "bioconductor-metagxbreast-1.4.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.16.0,<2.17.0", - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "bioconductor-impute >=1.58.0,<1.59.0", - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-lattice" - ] - }, - "bioconductor-metagxbreast-1.6.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-impute >=1.60.0,<1.61.0", - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-lattice" - ] - }, - "bioconductor-metagxbreast-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-impute >=1.62.0,<1.63.0", - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-lattice" - ] - }, - "bioconductor-metagxovarian-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-impute >=1.64.0,<1.65.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-lattice" - ] - }, - "bioconductor-metagxovarian-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-impute >=1.64.0,<1.65.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-lattice" - ] - }, - "bioconductor-metagxovarian-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-impute >=1.66.0,<1.67.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-lattice" - ] - }, - "bioconductor-metagxovarian-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-impute >=1.68.0,<1.69.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-lattice" - ] - }, - "bioconductor-metagxovarian-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-impute >=1.68.0,<1.69.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-lattice" - ] - }, - "bioconductor-metagxovarian-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-impute >=1.72.0,<1.73.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-lattice" - ] - }, - "bioconductor-metagxovarian-1.4.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.16.0,<2.17.0", - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "bioconductor-impute >=1.58.0,<1.59.0", - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-lattice" - ] - }, - "bioconductor-metagxovarian-1.6.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-impute >=1.60.0,<1.61.0", - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-lattice" - ] - }, - "bioconductor-metagxovarian-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-impute >=1.62.0,<1.63.0", - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-lattice" - ] - }, - "bioconductor-metagxpancreas-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-impute >=1.64.0,<1.65.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-metagxpancreas-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-impute >=1.64.0,<1.65.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-metagxpancreas-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-impute >=1.66.0,<1.67.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-metagxpancreas-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-impute >=1.68.0,<1.69.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-metagxpancreas-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-impute >=1.68.0,<1.69.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-metagxpancreas-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-impute >=1.72.0,<1.73.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-metagxpancreas-1.4.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.16.0,<2.17.0", - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "bioconductor-impute >=1.58.0,<1.59.0", - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-lattice" - ] - }, - "bioconductor-metagxpancreas-1.6.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-impute >=1.60.0,<1.61.0", - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-lattice" - ] - }, - "bioconductor-metagxpancreas-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-impute >=1.62.0,<1.63.0", - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-lattice" - ] - }, - "bioconductor-metamsdata-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-metamsdata-1.20.0-r361_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-metamsdata-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-metamsdata-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-metamsdata-1.25.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-metamsdata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-metamsdata-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-metamsdata-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-metamsdata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-metamsdata-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-metamsdata-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-methylaiddata-1.16.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-methylaid >=1.18.0,<1.19.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-methylaiddata-1.18.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-methylaid >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-methylaiddata-1.20.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-methylaid >=1.22.0,<1.23.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-methylaiddata-1.22.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-methylaid >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-methylaiddata-1.22.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-methylaid >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-methylaiddata-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-methylaid >=1.26.0,<1.27.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-methylaiddata-1.26.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-methylaid >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-methylaiddata-1.26.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-methylaid >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-methylaiddata-1.30.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221111", - "bioconductor-methylaid >=1.32.0,<1.33.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-methylclockdata-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-experimenthubdata >=1.18.0,<1.19.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-methylclockdata-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-experimenthubdata >=1.20.0,<1.21.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-methylclockdata-1.2.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-experimenthubdata >=1.20.0,<1.21.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-methylclockdata-1.6.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221109", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-experimenthubdata >=1.24.0,<1.25.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-methylseqdata-1.0.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-hdf5array >=1.18.0,<1.19.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-rhdf5 >=2.34.0,<2.35.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-methylseqdata-1.0.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-hdf5array >=1.18.0,<1.19.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-rhdf5 >=2.34.0,<2.35.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-methylseqdata-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-hdf5array >=1.20.0,<1.21.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-rhdf5 >=2.36.0,<2.37.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-methylseqdata-1.4.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-hdf5array >=1.22.0,<1.23.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-rhdf5 >=2.38.0,<2.39.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-methylseqdata-1.4.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-hdf5array >=1.22.0,<1.23.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-rhdf5 >=2.38.0,<2.39.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-methylseqdata-1.8.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-hdf5array >=1.26.0,<1.27.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-rhdf5 >=2.42.0,<2.43.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-methyvimdata-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-methyvimdata-1.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-methyvimdata-1.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-methyvimdata-1.6.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.30.0,<1.31.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-methyvimdata-1.8.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74a.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74a.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74a.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mgu74a.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74a.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74a.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74a.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74a.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74a.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74acdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74acdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74acdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74acdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74acdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74acdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74acdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74acdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74acdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mgu74aprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74aprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74aprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74aprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74aprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74aprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74aprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74aprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74aprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mgu74av2.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74av2.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74av2.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mgu74av2.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74av2.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74av2.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74av2.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74av2.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74av2.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74av2cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74av2cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74av2cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74av2cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74av2cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74av2cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74av2cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74av2cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74av2cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mgu74av2probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74av2probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74av2probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74av2probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74av2probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74av2probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74av2probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74av2probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74av2probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mgu74b.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74b.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74b.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mgu74b.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74b.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74b.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74b.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74b.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74b.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74bcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74bcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74bcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74bcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74bcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74bcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74bcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74bcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74bcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mgu74bprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74bprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74bprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74bprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74bprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74bprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74bprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74bprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74bprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mgu74bv2.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74bv2.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74bv2.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mgu74bv2.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74bv2.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74bv2.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74bv2.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74bv2.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74bv2.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74bv2cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74bv2cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74bv2cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74bv2cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74bv2cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74bv2cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74bv2cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74bv2cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74bv2cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mgu74bv2probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74bv2probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74bv2probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74bv2probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74bv2probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74bv2probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74bv2probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74bv2probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74bv2probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mgu74c.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74c.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74c.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mgu74c.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74c.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74c.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74c.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74c.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74c.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74ccdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74ccdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74ccdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74ccdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74ccdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74ccdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74ccdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74ccdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74ccdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mgu74cprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74cprobe-2.18.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74cprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74cprobe-2.18.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74cprobe-2.18.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74cprobe-2.18.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74cprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74cprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74cprobe-2.18.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mgu74cv2.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74cv2.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74cv2.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mgu74cv2.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74cv2.db-3.2.3-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74cv2.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74cv2.db-3.2.3-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74cv2.db-3.2.3-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74cv2.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74cv2cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74cv2cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74cv2cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74cv2cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74cv2cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74cv2cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74cv2cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74cv2cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74cv2cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mgu74cv2probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74cv2probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgu74cv2probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74cv2probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74cv2probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgu74cv2probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74cv2probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74cv2probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgu74cv2probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mguatlas5k.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mguatlas5k.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mguatlas5k.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mguatlas5k.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mguatlas5k.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mguatlas5k.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mguatlas5k.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mguatlas5k.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mguatlas5k.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mgug4104a.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgug4104a.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgug4104a.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgug4104a.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgug4104a.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgug4104a.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgug4104a.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgug4104a.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgug4104a.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mgug4120a.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgug4120a.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgug4120a.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgug4120a.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgug4120a.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgug4120a.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgug4120a.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgug4120a.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgug4120a.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mgug4121a.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgug4121a.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgug4121a.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgug4121a.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgug4121a.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgug4121a.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgug4121a.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgug4121a.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgug4121a.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mgug4122a.db-3.2.3-r36_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgug4122a.db-3.2.3-r36_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mgug4122a.db-3.2.3-r40_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgug4122a.db-3.2.3-r40_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgug4122a.db-3.2.3-r40hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mgug4122a.db-3.2.3-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgug4122a.db-3.2.3-r41hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgug4122a.db-3.2.3-r41hdfd78af_14.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mgug4122a.db-3.2.3-r42hdfd78af_15.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mi16cod.db-3.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mi16cod.db-3.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mi16cod.db-3.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mi16cod.db-3.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mi16cod.db-3.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mi16cod.db-3.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mi16cod.db-3.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mi16cod.db-3.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mi16cod.db-3.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-microbiomebenchmarkdata-1.0.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocfilecache >=2.6.0,<2.7.0", - "bioconductor-data-packages >=20221107", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "bioconductor-treesummarizedexperiment >=2.6.0,<2.7.0", - "curl", - "r-ape", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-microbiomedatasets-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.38.0,<0.39.0", - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-multiassayexperiment >=1.18.0,<1.19.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "bioconductor-treesummarizedexperiment >=2.0.0,<2.1.0", - "curl", - "r-ape", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-microbiomedatasets-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-multiassayexperiment >=1.20.0,<1.21.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "bioconductor-treesummarizedexperiment >=2.2.0,<2.3.0", - "curl", - "r-ape", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-microbiomedatasets-1.2.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-multiassayexperiment >=1.20.0,<1.21.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "bioconductor-treesummarizedexperiment >=2.2.0,<2.3.0", - "curl", - "r-ape", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-microbiomedatasets-1.6.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.44.0,<0.45.0", - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-multiassayexperiment >=1.24.0,<1.25.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "bioconductor-treesummarizedexperiment >=2.6.0,<2.7.0", - "curl", - "r-ape", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-micrornaome-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-micrornaome-1.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-micrornaome-1.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-micrornaome-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-micrornaome-1.16.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-micrornaome-1.16.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-micrornaome-1.20.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-micrornaome-1.6.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-micrornaome-1.8.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-migsadata-1.10.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-migsadata-1.12.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-migsadata-1.13.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-migsadata-1.14.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-migsadata-1.14.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-migsadata-1.16.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-migsadata-1.18.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-migsadata-1.18.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-migsadata-1.21.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-migsadata-1.8.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-migsadata-1.8.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-minfidata-0.30.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylation450kmanifest >=0.4.0,<0.5.0", - "bioconductor-minfi >=1.30.0,<1.31.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-minfidata-0.32.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylation450kmanifest >=0.4.0,<0.5.0", - "bioconductor-minfi >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-minfidata-0.34.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylation450kmanifest >=0.4.0,<0.5.0", - "bioconductor-minfi >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-minfidata-0.36.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylation450kmanifest >=0.4.0,<0.5.0", - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-minfidata-0.36.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylation450kmanifest >=0.4.0,<0.5.0", - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-minfidata-0.38.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylation450kmanifest >=0.4.0,<0.5.0", - "bioconductor-minfi >=1.38.0,<1.39.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-minfidata-0.40.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylation450kmanifest >=0.4.0,<0.5.0", - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-minfidata-0.40.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylation450kmanifest >=0.4.0,<0.5.0", - "bioconductor-minfi >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-minfidata-0.44.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221111", - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylation450kmanifest >=0.4.0,<0.5.0", - "bioconductor-minfi >=1.44.0,<1.45.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-minfidataepic-1.10.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-illuminahumanmethylationepicanno.ilm10b2.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylationepicmanifest >=0.3.0,<0.4.0", - "bioconductor-minfi >=1.30.0,<1.31.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-minfidataepic-1.12.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-illuminahumanmethylationepicanno.ilm10b2.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylationepicmanifest >=0.3.0,<0.4.0", - "bioconductor-minfi >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-minfidataepic-1.14.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-illuminahumanmethylationepicanno.ilm10b2.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylationepicmanifest >=0.3.0,<0.4.0", - "bioconductor-minfi >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-minfidataepic-1.16.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-illuminahumanmethylationepicanno.ilm10b2.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylationepicmanifest >=0.3.0,<0.4.0", - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-minfidataepic-1.16.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-illuminahumanmethylationepicanno.ilm10b2.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylationepicmanifest >=0.3.0,<0.4.0", - "bioconductor-minfi >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-minfidataepic-1.18.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-illuminahumanmethylationepicanno.ilm10b2.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylationepicmanifest >=0.3.0,<0.4.0", - "bioconductor-minfi >=1.38.0,<1.39.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-minfidataepic-1.24.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221110", - "bioconductor-illuminahumanmethylationepicanno.ilm10b2.hg19 >=0.6.0,<0.7.0", - "bioconductor-illuminahumanmethylationepicmanifest >=0.3.0,<0.4.0", - "bioconductor-minfi >=1.44.0,<1.45.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-minionsummarydata-1.14.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-minionsummarydata-1.14.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-minionsummarydata-1.16.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-minionsummarydata-1.18.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-minionsummarydata-1.19.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-minionsummarydata-1.20.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-minionsummarydata-1.20.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-minionsummarydata-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-minionsummarydata-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-minionsummarydata-1.24.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-minionsummarydata-1.27.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mirbase.db-1.2.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mirbase.db-1.2.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mirbase.db-1.2.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mirbase.db-1.2.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mirbase.db-1.2.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mirbase.db-1.2.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mirbase.db-1.2.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mirbase.db-1.2.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mirbase.db-1.2.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mirbaseversions.db-1.1.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi", - "r-gtools", - "r-rsqlite" - ] - }, - "bioconductor-mirbaseversions.db-1.1.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi", - "r-gtools", - "r-rsqlite" - ] - }, - "bioconductor-mirbaseversions.db-1.1.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-gtools", - "r-rsqlite" - ] - }, - "bioconductor-mirbaseversions.db-1.1.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-gtools", - "r-rsqlite" - ] - }, - "bioconductor-mirbaseversions.db-1.1.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-gtools", - "r-rsqlite" - ] - }, - "bioconductor-mirbaseversions.db-1.1.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-gtools", - "r-rsqlite" - ] - }, - "bioconductor-mirbaseversions.db-1.1.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-gtools", - "r-rsqlite" - ] - }, - "bioconductor-mirbaseversions.db-1.1.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-gtools", - "r-rsqlite" - ] - }, - "bioconductor-mirbaseversions.db-1.1.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi", - "r-gtools", - "r-rsqlite" - ] - }, - "bioconductor-mircompdata-1.14.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-mircompdata-1.14.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mircompdata-1.16.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mircompdata-1.18.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mircompdata-1.19.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mircompdata-1.20.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mircompdata-1.20.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mircompdata-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mircompdata-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mircompdata-1.24.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mircompdata-1.27.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mircompdata-1.28.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mirna102xgaincdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mirna102xgaincdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mirna102xgaincdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mirna102xgaincdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mirna102xgaincdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mirna102xgaincdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mirna102xgaincdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mirna102xgaincdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mirna102xgaincdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mirna10cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mirna10cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mirna10cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mirna10cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mirna10cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mirna10cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mirna10cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mirna10cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mirna10cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mirna10probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mirna10probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mirna10probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mirna10probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mirna10probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mirna10probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mirna10probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mirna10probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mirna10probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mirna20cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mirna20cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mirna20cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mirna20cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mirna20cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mirna20cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mirna20cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mirna20cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mirna20cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mirnatap.db-0.99.10-r36_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-mirnatap >=1.18.0,<1.19.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi", - "r-rsqlite" - ] - }, - "bioconductor-mirnatap.db-0.99.10-r36_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-mirnatap >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi", - "r-rsqlite" - ] - }, - "bioconductor-mirnatap.db-0.99.10-r40_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-mirnatap >=1.22.0,<1.23.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite" - ] - }, - "bioconductor-mirnatap.db-0.99.10-r40_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-mirnatap >=1.23.0,<1.24.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite" - ] - }, - "bioconductor-mirnatap.db-0.99.10-r40hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-mirnatap >=1.23.0,<1.24.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite" - ] - }, - "bioconductor-mirnatap.db-0.99.10-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-mirnatap >=1.26.0,<1.27.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite" - ] - }, - "bioconductor-mirnatap.db-0.99.10-r41hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-mirnatap >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite" - ] - }, - "bioconductor-mirnatap.db-0.99.10-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-mirnatap >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite" - ] - }, - "bioconductor-mirnatap.db-0.99.10-r42hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-mirnatap >=1.32.0,<1.33.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi", - "r-rsqlite" - ] - }, - "bioconductor-mirnatarget-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mirnatarget-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mirnatarget-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mirnatarget-1.27.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mirnatarget-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mirnatarget-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mirnatarget-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mirnatarget-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mirnatarget-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mirnatarget-1.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mitoodedata-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-mitoodedata-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mitoodedata-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mitoodedata-1.23.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mitoodedata-1.25.2-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mitoodedata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mitoodedata-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mm24kresogen.db-2.5.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mm24kresogen.db-2.5.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mm24kresogen.db-2.5.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mm24kresogen.db-2.5.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mm24kresogen.db-2.5.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mm24kresogen.db-2.5.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mm24kresogen.db-2.5.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mm24kresogen.db-2.5.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mm24kresogen.db-2.5.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mmagilentdesign026655.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mmagilentdesign026655.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mmagilentdesign026655.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mmagilentdesign026655.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mmagilentdesign026655.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mmagilentdesign026655.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mmagilentdesign026655.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mmagilentdesign026655.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mmagilentdesign026655.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mmappr2data-1.0.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-rsamtools >=2.2.0,<2.3.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mmappr2data-1.12.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221107", - "bioconductor-rsamtools >=2.14.0,<2.15.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mmappr2data-1.2.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rsamtools >=2.4.0,<2.5.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mmappr2data-1.4.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rsamtools >=2.6.0,<2.7.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mmappr2data-1.4.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rsamtools >=2.6.0,<2.7.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mmappr2data-1.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rsamtools >=2.8.0,<2.9.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mmappr2data-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rsamtools >=2.10.0,<2.11.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mmappr2data-1.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rsamtools >=2.10.0,<2.11.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mmdiffbamsubset-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-mmdiffbamsubset-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mmdiffbamsubset-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mmdiffbamsubset-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mmdiffbamsubset-1.25.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mmdiffbamsubset-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mmdiffbamsubset-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mmdiffbamsubset-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mmdiffbamsubset-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mmdiffbamsubset-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mmdiffbamsubset-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-moe430a.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moe430a.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moe430a.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-moe430a.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-moe430a.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-moe430a.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moe430a.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moe430a.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moe430a.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moe430acdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-moe430acdf-2.18.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-moe430acdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moe430acdf-2.18.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moe430acdf-2.18.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moe430acdf-2.18.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moe430acdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moe430acdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moe430acdf-2.18.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-moe430aprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-moe430aprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-moe430aprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moe430aprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moe430aprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moe430aprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moe430aprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moe430aprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moe430aprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-moe430b.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moe430b.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moe430b.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-moe430b.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-moe430b.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-moe430b.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moe430b.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moe430b.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moe430b.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moe430bcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-moe430bcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-moe430bcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moe430bcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moe430bcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moe430bcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moe430bcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moe430bcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moe430bcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-moe430bprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-moe430bprobe-2.18.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-moe430bprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moe430bprobe-2.18.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moe430bprobe-2.18.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moe430bprobe-2.18.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moe430bprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moe430bprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moe430bprobe-2.18.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-moex10stprobeset.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-moex10stprobeset.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-moex10stprobeset.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moex10stprobeset.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moex10stprobeset.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moex10stprobeset.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moex10stprobeset.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moex10stprobeset.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moex10stprobeset.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-moex10sttranscriptcluster.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-moex10sttranscriptcluster.db-8.7.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-moex10sttranscriptcluster.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moex10sttranscriptcluster.db-8.7.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moex10sttranscriptcluster.db-8.7.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moex10sttranscriptcluster.db-8.7.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moex10sttranscriptcluster.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moex10sttranscriptcluster.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moex10sttranscriptcluster.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-moexexonprobesetlocation-1.15.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-moexexonprobesetlocation-1.15.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-moexexonprobesetlocation-1.15.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moexexonprobesetlocation-1.15.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moexexonprobesetlocation-1.15.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-moexexonprobesetlocation-1.15.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moexexonprobesetlocation-1.15.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moexexonprobesetlocation-1.15.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-moexexonprobesetlocation-1.15.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mofadata-1.0.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-mofadata-1.0.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mofadata-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mofadata-1.10.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mofadata-1.13.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mofadata-1.2.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mofadata-1.4.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mofadata-1.5.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mofadata-1.6.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mofadata-1.6.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mofadata-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene.1.0.st.v1frmavecs-1.1.0-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-mogene.1.0.st.v1frmavecs-1.1.0-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mogene.1.0.st.v1frmavecs-1.1.0-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mogene.1.0.st.v1frmavecs-1.1.0-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene.1.0.st.v1frmavecs-1.1.0-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene.1.0.st.v1frmavecs-1.1.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene.1.0.st.v1frmavecs-1.1.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene.1.0.st.v1frmavecs-1.1.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene.1.0.st.v1frmavecs-1.1.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene.1.0.st.v1frmavecs-1.1.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mogene10stprobeset.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mogene10stprobeset.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mogene10stprobeset.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene10stprobeset.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene10stprobeset.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene10stprobeset.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene10stprobeset.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene10stprobeset.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene10stprobeset.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mogene10sttranscriptcluster.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mogene10sttranscriptcluster.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mogene10sttranscriptcluster.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene10sttranscriptcluster.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene10sttranscriptcluster.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene10sttranscriptcluster.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene10sttranscriptcluster.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene10sttranscriptcluster.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene10sttranscriptcluster.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mogene10stv1cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mogene10stv1cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mogene10stv1cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene10stv1cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene10stv1cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene10stv1cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene10stv1cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene10stv1cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene10stv1cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mogene10stv1probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mogene10stv1probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mogene10stv1probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene10stv1probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene10stv1probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene10stv1probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene10stv1probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene10stv1probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene10stv1probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mogene11stprobeset.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mogene11stprobeset.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mogene11stprobeset.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene11stprobeset.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene11stprobeset.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene11stprobeset.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene11stprobeset.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene11stprobeset.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene11stprobeset.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mogene11sttranscriptcluster.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mogene11sttranscriptcluster.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mogene11sttranscriptcluster.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene11sttranscriptcluster.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene11sttranscriptcluster.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene11sttranscriptcluster.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene11sttranscriptcluster.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene11sttranscriptcluster.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene11sttranscriptcluster.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mogene20stprobeset.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mogene20stprobeset.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mogene20stprobeset.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene20stprobeset.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene20stprobeset.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene20stprobeset.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene20stprobeset.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene20stprobeset.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene20stprobeset.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mogene20sttranscriptcluster.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mogene20sttranscriptcluster.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mogene20sttranscriptcluster.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene20sttranscriptcluster.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene20sttranscriptcluster.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene20sttranscriptcluster.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene20sttranscriptcluster.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene20sttranscriptcluster.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene20sttranscriptcluster.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mogene21stprobeset.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mogene21stprobeset.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mogene21stprobeset.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene21stprobeset.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene21stprobeset.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene21stprobeset.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene21stprobeset.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene21stprobeset.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene21stprobeset.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mogene21sttranscriptcluster.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mogene21sttranscriptcluster.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mogene21sttranscriptcluster.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene21sttranscriptcluster.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene21sttranscriptcluster.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mogene21sttranscriptcluster.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene21sttranscriptcluster.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene21sttranscriptcluster.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mogene21sttranscriptcluster.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mosaicsexample-1.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-mosaicsexample-1.22.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mosaicsexample-1.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mosaicsexample-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mosaicsexample-1.27.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mosaicsexample-1.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mosaicsexample-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mosaicsexample-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mosaicsexample-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mosaicsexample-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mosaicsexample-1.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mouse.db0-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mouse.db0-3.11.2-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse.db0-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse.db0-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse.db0-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse.db0-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse.db0-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse.db0-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mouse.db0-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mouse4302.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse4302.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse4302.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mouse4302.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mouse4302.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mouse4302.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse4302.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse4302.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse4302.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse4302barcodevecs-1.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-mouse4302barcodevecs-1.22.0-r361_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mouse4302barcodevecs-1.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mouse4302barcodevecs-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse4302barcodevecs-1.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse4302barcodevecs-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse4302barcodevecs-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse4302barcodevecs-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse4302barcodevecs-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse4302barcodevecs-1.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mouse4302cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mouse4302cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mouse4302cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse4302cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse4302cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse4302cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse4302cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse4302cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse4302cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mouse4302frmavecs-1.5.0-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-mouse4302frmavecs-1.5.0-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mouse4302frmavecs-1.5.0-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mouse4302frmavecs-1.5.0-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse4302frmavecs-1.5.0-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse4302frmavecs-1.5.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse4302frmavecs-1.5.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse4302frmavecs-1.5.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse4302frmavecs-1.5.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse4302frmavecs-1.5.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mouse4302probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mouse4302probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mouse4302probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse4302probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse4302probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse4302probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse4302probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse4302probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse4302probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mouse430a2.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse430a2.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse430a2.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mouse430a2.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mouse430a2.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mouse430a2.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse430a2.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse430a2.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse430a2.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse430a2cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mouse430a2cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mouse430a2cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse430a2cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse430a2cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse430a2cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse430a2cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse430a2cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse430a2cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mouse430a2frmavecs-1.3.0-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-mouse430a2frmavecs-1.3.0-r361_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mouse430a2frmavecs-1.3.0-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mouse430a2frmavecs-1.3.0-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse430a2frmavecs-1.3.0-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse430a2frmavecs-1.3.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse430a2frmavecs-1.3.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse430a2frmavecs-1.3.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse430a2frmavecs-1.3.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse430a2frmavecs-1.3.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mouse430a2probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mouse430a2probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mouse430a2probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse430a2probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse430a2probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mouse430a2probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse430a2probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse430a2probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mouse430a2probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mousechrloc-2.1.6-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-mousechrloc-2.1.6-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mousechrloc-2.1.6-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mousechrloc-2.1.6-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mousechrloc-2.1.6-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mousechrloc-2.1.6-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mousechrloc-2.1.6-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mousechrloc-2.1.6-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mousechrloc-2.1.6-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mousechrloc-2.1.6-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mousegastrulationdata-1.0.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.32.0,<0.33.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "bioconductor-singlecellexperiment >=1.8.0,<1.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mousegastrulationdata-1.12.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.44.0,<0.45.0", - "bioconductor-bumpymatrix >=1.6.0,<1.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "bioconductor-singlecellexperiment >=1.20.0,<1.21.0", - "bioconductor-spatialexperiment >=1.8.0,<1.9.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mousegastrulationdata-1.2.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.34.0,<0.35.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "bioconductor-singlecellexperiment >=1.10.0,<1.11.0", - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mousegastrulationdata-1.4.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-singlecellexperiment >=1.12.0,<1.13.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mousegastrulationdata-1.4.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-singlecellexperiment >=1.12.0,<1.13.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mousegastrulationdata-1.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.38.0,<0.39.0", - "bioconductor-bumpymatrix >=1.0.0,<1.1.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "bioconductor-singlecellexperiment >=1.14.0,<1.15.0", - "bioconductor-spatialexperiment >=1.2.0,<1.3.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mousegastrulationdata-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-bumpymatrix >=1.2.0,<1.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "bioconductor-spatialexperiment >=1.4.0,<1.5.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mousegastrulationdata-1.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-bumpymatrix >=1.2.0,<1.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "bioconductor-spatialexperiment >=1.4.0,<1.5.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mousethymusageing-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.38.0,<0.39.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "bioconductor-singlecellexperiment >=1.14.0,<1.15.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mousethymusageing-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mousethymusageing-1.2.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mousethymusageing-1.6.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.44.0,<0.45.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "bioconductor-singlecellexperiment >=1.20.0,<1.21.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mpedbarray.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mpedbarray.db-3.2.3-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mpedbarray.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mpedbarray.db-3.2.3-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mpedbarray.db-3.2.3-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mpedbarray.db-3.2.3-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mpedbarray.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mpedbarray.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mpedbarray.db-3.2.3-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-msd16s-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-metagenomeseq >=1.32.0,<1.33.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-msd16s-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-metagenomeseq >=1.32.0,<1.33.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-msd16s-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-metagenomeseq >=1.34.0,<1.35.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-msd16s-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-metagenomeseq >=1.36.0,<1.37.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-msd16s-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-metagenomeseq >=1.36.0,<1.37.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-msd16s-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "bioconductor-metagenomeseq >=1.40.0,<1.41.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-msd16s-1.4.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-metagenomeseq >=1.26.0,<1.27.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-msd16s-1.6.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-metagenomeseq >=1.28.0,<1.29.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-msd16s-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-metagenomeseq >=1.30.0,<1.31.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-msdata-0.24.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-msdata-0.24.1-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-msdata-0.26.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-msdata-0.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-msdata-0.29.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-msdata-0.30.0-r40hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-msdata-0.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-msdata-0.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-msdata-0.34.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-msdata-0.37.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-msigdb-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-gseabase >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-msigdb-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-gseabase >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-msigdb-1.2.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-gseabase >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-msigdb-1.6.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-gseabase >=1.60.0,<1.61.0", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-msmb-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-msmb-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-msmb-1.12.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-msmb-1.15.2-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-tibble" - ] - }, - "bioconductor-msmb-1.2.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-msmb-1.2.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-msmb-1.4.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-msmb-1.6.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-msmb-1.7.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-msmb-1.8.0-r40hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mspuritydata-1.12.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-mspuritydata-1.12.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mspuritydata-1.14.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mspuritydata-1.16.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mspuritydata-1.17.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mspuritydata-1.18.0-r40hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mspuritydata-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mspuritydata-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mspuritydata-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mspuritydata-1.25.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mspuritydata-1.26.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20230202", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mspuritydata-1.26.0-r42hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-msqc1-1.12.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0", - "r-lattice" - ] - }, - "bioconductor-msqc1-1.14.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0", - "r-lattice" - ] - }, - "bioconductor-msqc1-1.16.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0", - "r-lattice" - ] - }, - "bioconductor-msqc1-1.18.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0", - "r-lattice" - ] - }, - "bioconductor-msqc1-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0", - "r-lattice" - ] - }, - "bioconductor-msqc1-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0", - "r-lattice" - ] - }, - "bioconductor-msqc1-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0", - "r-lattice" - ] - }, - "bioconductor-msqc1-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0", - "r-lattice" - ] - }, - "bioconductor-msqc1-1.25.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-lattice" - ] - }, - "bioconductor-msstatsbiodata-1.10.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-msstatsbiodata-1.11.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-msstatsbiodata-1.12.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-msstatsbiodata-1.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-msstatsbiodata-1.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-msstatsbiodata-1.6.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-msstatsbiodata-1.6.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-msstatsbiodata-1.8.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mta10probeset.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mta10probeset.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mta10probeset.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mta10probeset.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mta10probeset.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mta10probeset.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mta10probeset.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mta10probeset.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mta10probeset.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mta10transcriptcluster.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mta10transcriptcluster.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mta10transcriptcluster.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mta10transcriptcluster.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mta10transcriptcluster.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mta10transcriptcluster.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mta10transcriptcluster.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mta10transcriptcluster.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mta10transcriptcluster.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mtbls2-1.14.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-mtbls2-1.14.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mtbls2-1.16.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mtbls2-1.17.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mtbls2-1.19.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mtbls2-1.20.1-r40hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mtbls2-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mtbls2-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mtbls2-1.24.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mtbls2-1.27.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mtseekerdata-1.2.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-homo.sapiens >=1.3.0,<1.4.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-mtseeker >=1.2.0,<1.3.0", - "bioconductor-variantannotation >=1.30.0,<1.31.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mtseekerdata-1.3.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-homo.sapiens >=1.3.0,<1.4.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-mtseeker >=1.3.0,<1.4.0", - "bioconductor-variantannotation >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu11ksuba.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu11ksuba.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu11ksuba.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mu11ksuba.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu11ksuba.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu11ksuba.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu11ksuba.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu11ksuba.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu11ksuba.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu11ksubacdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu11ksubacdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu11ksubacdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu11ksubacdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu11ksubacdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu11ksubacdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu11ksubacdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu11ksubacdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu11ksubacdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mu11ksubaprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu11ksubaprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu11ksubaprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu11ksubaprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu11ksubaprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu11ksubaprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu11ksubaprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu11ksubaprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu11ksubaprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mu11ksubb.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu11ksubb.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu11ksubb.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mu11ksubb.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu11ksubb.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu11ksubb.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu11ksubb.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu11ksubb.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu11ksubb.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu11ksubbcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu11ksubbcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu11ksubbcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu11ksubbcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu11ksubbcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu11ksubbcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu11ksubbcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu11ksubbcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu11ksubbcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mu11ksubbprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu11ksubbprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu11ksubbprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu11ksubbprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu11ksubbprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu11ksubbprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu11ksubbprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu11ksubbprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu11ksubbprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mu15v1.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu15v1.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu15v1.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu15v1.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu15v1.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu15v1.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu15v1.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu15v1.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu15v1.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mu19ksuba.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu19ksuba.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu19ksuba.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mu19ksuba.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu19ksuba.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu19ksuba.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu19ksuba.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu19ksuba.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu19ksuba.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu19ksubacdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu19ksubacdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu19ksubacdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu19ksubacdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu19ksubacdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu19ksubacdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu19ksubacdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu19ksubacdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu19ksubacdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mu19ksubb.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu19ksubb.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu19ksubb.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mu19ksubb.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu19ksubb.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu19ksubb.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu19ksubb.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu19ksubb.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu19ksubb.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu19ksubbcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu19ksubbcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu19ksubbcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu19ksubbcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu19ksubbcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu19ksubbcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu19ksubbcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu19ksubbcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu19ksubbcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mu19ksubc.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu19ksubc.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu19ksubc.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mu19ksubc.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu19ksubc.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu19ksubc.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu19ksubc.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu19ksubc.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu19ksubc.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu19ksubccdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu19ksubccdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu19ksubccdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu19ksubccdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu19ksubccdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu19ksubccdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu19ksubccdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu19ksubccdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu19ksubccdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mu22v3.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu22v3.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu22v3.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu22v3.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu22v3.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu22v3.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu22v3.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu22v3.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu22v3.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mu6500subacdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu6500subacdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu6500subacdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu6500subacdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu6500subacdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu6500subacdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu6500subacdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu6500subacdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu6500subacdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mu6500subbcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu6500subbcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu6500subbcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu6500subbcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu6500subbcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu6500subbcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu6500subbcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu6500subbcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu6500subbcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mu6500subccdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu6500subccdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu6500subccdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu6500subccdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu6500subccdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu6500subccdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu6500subccdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu6500subccdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu6500subccdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mu6500subdcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu6500subdcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mu6500subdcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu6500subdcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu6500subdcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mu6500subdcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu6500subdcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu6500subdcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mu6500subdcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mugaexampledata-1.10.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mugaexampledata-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mugaexampledata-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mugaexampledata-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mugaexampledata-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mugaexampledata-1.17.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mugaexampledata-1.4.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-mugaexampledata-1.4.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mugaexampledata-1.6.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mugaexampledata-1.8.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mugaexampledata-1.9.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mulder2012-0.24.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-htsanalyzer >=2.36.0,<2.37.0", - "bioconductor-kegg.db >=3.2.0,<3.3.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "bioconductor-panr >=1.30.0,<1.31.0", - "bioconductor-reder >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-igraph", - "r-mass", - "r-pvclust" - ] - }, - "bioconductor-mulder2012-0.26.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-htsanalyzer >=2.38.0,<2.39.0", - "bioconductor-kegg.db >=3.2.0,<3.3.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "bioconductor-panr >=1.32.0,<1.33.0", - "bioconductor-reder >=1.34.0,<1.35.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-igraph", - "r-mass", - "r-pvclust" - ] - }, - "bioconductor-mus.musculus-1.3.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "bioconductor-go.db >=3.8.0,<3.9.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "bioconductor-organismdbi >=1.26.0,<1.27.0", - "bioconductor-txdb.mmusculus.ucsc.mm10.knowngene >=3.4.0,<3.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mus.musculus-1.3.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "bioconductor-go.db >=3.10.0,<3.11.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "bioconductor-organismdbi >=1.28.0,<1.29.0", - "bioconductor-txdb.mmusculus.ucsc.mm10.knowngene >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mus.musculus-1.3.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "bioconductor-go.db >=3.11.0,<3.12.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "bioconductor-organismdbi >=1.30.0,<1.31.0", - "bioconductor-txdb.mmusculus.ucsc.mm10.knowngene >=3.10.0,<3.11.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mus.musculus-1.3.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "bioconductor-go.db >=3.12.1,<3.13.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "bioconductor-organismdbi >=1.32.0,<1.33.0", - "bioconductor-txdb.mmusculus.ucsc.mm10.knowngene >=3.10.0,<3.11.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mus.musculus-1.3.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "bioconductor-go.db >=3.12.1,<3.13.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "bioconductor-organismdbi >=1.32.0,<1.33.0", - "bioconductor-txdb.mmusculus.ucsc.mm10.knowngene >=3.10.0,<3.11.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mus.musculus-1.3.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "bioconductor-go.db >=3.13.0,<3.14.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "bioconductor-organismdbi >=1.34.0,<1.35.0", - "bioconductor-txdb.mmusculus.ucsc.mm10.knowngene >=3.10.0,<3.11.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mus.musculus-1.3.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "bioconductor-go.db >=3.14.0,<3.15.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "bioconductor-organismdbi >=1.36.0,<1.37.0", - "bioconductor-txdb.mmusculus.ucsc.mm10.knowngene >=3.10.0,<3.11.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mus.musculus-1.3.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "bioconductor-go.db >=3.14.0,<3.15.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "bioconductor-organismdbi >=1.36.0,<1.37.0", - "bioconductor-txdb.mmusculus.ucsc.mm10.knowngene >=3.10.0,<3.11.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mus.musculus-1.3.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "bioconductor-go.db >=3.16.0,<3.17.0", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "bioconductor-organismdbi >=1.40.0,<1.41.0", - "bioconductor-txdb.mmusculus.ucsc.mm10.knowngene >=3.10.0,<3.11.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-muscdata-1.0.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-singlecellexperiment >=1.8.0,<1.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-muscdata-1.12.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-singlecellexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-muscdata-1.2.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-singlecellexperiment >=1.10.0,<1.11.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-muscdata-1.4.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-singlecellexperiment >=1.12.0,<1.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-muscdata-1.4.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-singlecellexperiment >=1.12.0,<1.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-muscdata-1.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-singlecellexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-muscdata-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-muscdata-1.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mvoutdata-1.20.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.62.0,<1.63.0", - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-lumi >=2.36.0,<2.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mvoutdata-1.22.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.64.0,<1.65.0", - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-lumi >=2.38.0,<2.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mvoutdata-1.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.66.0,<1.67.0", - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-lumi >=2.40.0,<2.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mvoutdata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-lumi >=2.42.0,<2.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mvoutdata-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-lumi >=2.42.0,<2.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mvoutdata-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.70.0,<1.71.0", - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-lumi >=2.44.0,<2.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mvoutdata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-lumi >=2.46.0,<2.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mvoutdata-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-lumi >=2.46.0,<2.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mvoutdata-1.34.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.76.0,<1.77.0", - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221111", - "bioconductor-lumi >=2.50.0,<2.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-mwgcod.db-3.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mwgcod.db-3.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-mwgcod.db-3.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mwgcod.db-3.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mwgcod.db-3.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-mwgcod.db-3.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mwgcod.db-3.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mwgcod.db-3.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-mwgcod.db-3.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-nanoporernaseq-1.0.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-nanoporernaseq-1.0.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-nanoporernaseq-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-nanoporernaseq-1.4.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-nanoporernaseq-1.4.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-nanoporernaseq-1.8.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-nanotubes-1.0.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-nanotubes-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-nanotubes-1.10.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-nanotubes-1.14.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-nanotubes-1.2.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-nanotubes-1.4.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-nanotubes-1.5.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-nanotubes-1.6.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-nanotubes-1.6.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-nanotubes-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ncigraphdata-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-ncigraphdata-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ncigraphdata-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ncigraphdata-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ncigraphdata-1.25.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ncigraphdata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ncigraphdata-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ncigraphdata-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ncigraphdata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ncigraphdata-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ncigraphdata-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-nestlink-1.0.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.16.0,<2.17.0", - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "bioconductor-shortread >=1.42.0,<1.43.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-gplots >=3.0.0", - "r-protviz >=0.4.0" - ] - }, - "bioconductor-nestlink-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-shortread >=1.52.0,<1.53.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-gplots >=3.0", - "r-protviz >=0.4" - ] - }, - "bioconductor-nestlink-1.10.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-shortread >=1.52.0,<1.53.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-gplots >=3.0", - "r-protviz >=0.4" - ] - }, - "bioconductor-nestlink-1.14.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-shortread >=1.56.0,<1.57.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-gplots >=3.0", - "r-protviz >=0.4" - ] - }, - "bioconductor-nestlink-1.2.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-shortread >=1.44.0,<1.45.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-gplots >=3.0.0", - "r-protviz >=0.4.0" - ] - }, - "bioconductor-nestlink-1.4.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-shortread >=1.46.0,<1.47.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-gplots >=3.0", - "r-protviz >=0.4" - ] - }, - "bioconductor-nestlink-1.6.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-shortread >=1.48.0,<1.49.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-gplots >=3.0", - "r-protviz >=0.4" - ] - }, - "bioconductor-nestlink-1.6.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-shortread >=1.48.0,<1.49.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-gplots >=3.0", - "r-protviz >=0.4" - ] - }, - "bioconductor-nestlink-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-shortread >=1.50.0,<1.51.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-gplots >=3.0", - "r-protviz >=0.4" - ] - }, - "bioconductor-netactivitydata-0.99.8-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-netactivitydata-1.0.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221110", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-netdx.examples-0.99.3-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-neve2006-0.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotate >=1.62.0,<1.63.0", - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-hgu133a.db >=3.2.0,<3.3.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-neve2006-0.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotate >=1.64.0,<1.65.0", - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-hgu133a.db >=3.2.0,<3.3.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-neve2006-0.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotate >=1.66.0,<1.67.0", - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-hgu133a.db >=3.2.0,<3.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-neve2006-0.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotate >=1.68.0,<1.69.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-hgu133a.db >=3.2.0,<3.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-neve2006-0.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotate >=1.68.0,<1.69.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-hgu133a.db >=3.2.0,<3.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-neve2006-0.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotate >=1.70.0,<1.71.0", - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-hgu133a.db >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-neve2006-0.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotate >=1.72.0,<1.73.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-hgu133a.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-neve2006-0.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotate >=1.72.0,<1.73.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-hgu133a.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-neve2006-0.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotate >=1.76.0,<1.77.0", - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221108", - "bioconductor-hgu133a.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ngscopydata-1.10.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ngscopydata-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ngscopydata-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ngscopydata-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ngscopydata-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ngscopydata-1.17.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ngscopydata-1.4.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-ngscopydata-1.4.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ngscopydata-1.6.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ngscopydata-1.8.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ngscopydata-1.9.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-norway981.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-norway981.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-norway981.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-norway981.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-norway981.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-norway981.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-norway981.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-norway981.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-norway981.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-nugohs1a520180.db-3.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-nugohs1a520180.db-3.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-nugohs1a520180.db-3.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-nugohs1a520180.db-3.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-nugohs1a520180.db-3.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-nugohs1a520180.db-3.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-nugohs1a520180.db-3.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-nugohs1a520180.db-3.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-nugohs1a520180.db-3.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-nugohs1a520180cdf-3.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-nugohs1a520180cdf-3.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-nugohs1a520180cdf-3.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-nugohs1a520180cdf-3.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-nugohs1a520180cdf-3.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-nugohs1a520180cdf-3.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-nugohs1a520180cdf-3.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-nugohs1a520180cdf-3.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-nugohs1a520180cdf-3.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-nugohs1a520180probe-3.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-nugohs1a520180probe-3.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-nugohs1a520180probe-3.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-nugohs1a520180probe-3.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-nugohs1a520180probe-3.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-nugohs1a520180probe-3.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-nugohs1a520180probe-3.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-nugohs1a520180probe-3.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-nugohs1a520180probe-3.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-nugomm1a520177.db-3.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.mm.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-nugomm1a520177.db-3.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.mm.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-nugomm1a520177.db-3.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.mm.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-nugomm1a520177.db-3.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-nugomm1a520177.db-3.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.mm.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-nugomm1a520177.db-3.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.mm.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-nugomm1a520177.db-3.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-nugomm1a520177.db-3.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.mm.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-nugomm1a520177.db-3.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.mm.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-nugomm1a520177cdf-3.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-nugomm1a520177cdf-3.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-nugomm1a520177cdf-3.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-nugomm1a520177cdf-3.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-nugomm1a520177cdf-3.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-nugomm1a520177cdf-3.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-nugomm1a520177cdf-3.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-nugomm1a520177cdf-3.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-nugomm1a520177cdf-3.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-nugomm1a520177probe-3.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-nugomm1a520177probe-3.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-nugomm1a520177probe-3.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-nugomm1a520177probe-3.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-nugomm1a520177probe-3.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-nugomm1a520177probe-3.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-nugomm1a520177probe-3.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-nugomm1a520177probe-3.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-nugomm1a520177probe-3.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-nullrangesdata-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-interactionset >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-nullrangesdata-1.0.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-interactionset >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-nullrangesdata-1.4.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221109", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-interactionset >=1.26.0,<1.27.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-nxtirfdata-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocfilecache >=2.2.0,<2.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-rtracklayer >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-r.utils" - ] - }, - "bioconductor-nxtirfdata-1.0.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biocfilecache >=2.2.0,<2.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-rtracklayer >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-r.utils" - ] - }, - "bioconductor-nxtirfdata-1.4.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocfilecache >=2.6.0,<2.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-rtracklayer >=1.58.0,<1.59.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-r.utils" - ] - }, - "bioconductor-obmiti-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-obmiti-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-obmiti-1.2.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-obmiti-1.6.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-oct4-1.0.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-oct4-1.0.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-oct4-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-oct4-1.10.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-oct4-1.13.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-oct4-1.2.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-oct4-1.4.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-oct4-1.5.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-oct4-1.6.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-oct4-1.6.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-oct4-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-octad.db-1.0.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-oligodata-1.8.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-oligo >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-oligodata-1.8.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-oligo >=1.50.0,<1.51.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-oligodata-1.8.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-oligo >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-oligodata-1.8.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-oligo >=1.54.0,<1.55.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-oligodata-1.8.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-oligo >=1.54.0,<1.55.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-oligodata-1.8.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-oligo >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-oligodata-1.8.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-oligo >=1.58.0,<1.59.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-oligodata-1.8.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-oligo >=1.58.0,<1.59.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-oligodata-1.8.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-oligo >=1.62.0,<1.63.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-omicspcadata-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-multiassayexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-omicspcadata-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-multiassayexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-omicspcadata-1.12.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-multiassayexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-omicspcadata-1.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "bioconductor-multiassayexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-omicspcadata-1.2.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-multiassayexperiment >=1.10.0,<1.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-omicspcadata-1.4.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-multiassayexperiment >=1.12.0,<1.13.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-omicspcadata-1.6.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-multiassayexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-omicspcadata-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-multiassayexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-omicspcadata-1.8.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-multiassayexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-onassisjavalibs-1.11.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "openjdk", - "r-base >=4.0,<4.1.0a0", - "r-rjava" - ] - }, - "bioconductor-onassisjavalibs-1.12.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "openjdk", - "r-base >=4.0,<4.1.0a0", - "r-rjava" - ] - }, - "bioconductor-onassisjavalibs-1.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "openjdk", - "r-base >=4.0,<4.1.0a0", - "r-rjava" - ] - }, - "bioconductor-onassisjavalibs-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "openjdk", - "r-base >=4.1,<4.2.0a0", - "r-rjava" - ] - }, - "bioconductor-onassisjavalibs-1.16.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "openjdk", - "r-base >=4.1,<4.2.0a0", - "r-rjava" - ] - }, - "bioconductor-onassisjavalibs-1.16.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "openjdk", - "r-base >=4.1,<4.2.0a0", - "r-rjava" - ] - }, - "bioconductor-onassisjavalibs-1.19.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "openjdk", - "r-base >=4.2,<4.3.0a0", - "r-rjava" - ] - }, - "bioconductor-onassisjavalibs-1.6.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0", - "r-rjava" - ] - }, - "bioconductor-onassisjavalibs-1.6.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rjava" - ] - }, - "bioconductor-onassisjavalibs-1.8.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "openjdk", - "r-base >=3.6,<3.7.0a0", - "r-rjava" - ] - }, - "bioconductor-ontoprocdata-0.99.9-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ontoprocdata-0.99.9-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ontoprocdata-0.99.9901-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-operonhumanv3.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-operonhumanv3.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-operonhumanv3.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-operonhumanv3.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-operonhumanv3.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-operonhumanv3.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-operonhumanv3.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-operonhumanv3.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-operonhumanv3.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-optimalflowdata-1.0.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-optimalflowdata-1.1.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-optimalflowdata-1.10.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-optimalflowdata-1.2.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-optimalflowdata-1.2.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-optimalflowdata-1.4.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-optimalflowdata-1.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-optimalflowdata-1.6.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-optimalflowdata-1.9.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-org.ag.eg.db-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.ag.eg.db-3.11.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.ag.eg.db-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.ag.eg.db-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.ag.eg.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.ag.eg.db-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.ag.eg.db-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.ag.eg.db-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-org.ag.eg.db-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.at.tair.db-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.at.tair.db-3.11.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.at.tair.db-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.at.tair.db-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.at.tair.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.at.tair.db-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.at.tair.db-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.at.tair.db-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-org.at.tair.db-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.bt.eg.db-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.bt.eg.db-3.11.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.bt.eg.db-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.bt.eg.db-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.bt.eg.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.bt.eg.db-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.bt.eg.db-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.bt.eg.db-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-org.bt.eg.db-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.ce.eg.db-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.ce.eg.db-3.11.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.ce.eg.db-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.ce.eg.db-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.ce.eg.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.ce.eg.db-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.ce.eg.db-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.ce.eg.db-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-org.ce.eg.db-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.cf.eg.db-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.cf.eg.db-3.11.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.cf.eg.db-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.cf.eg.db-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.cf.eg.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.cf.eg.db-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.cf.eg.db-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.cf.eg.db-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-org.cf.eg.db-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.dm.eg.db-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.dm.eg.db-3.11.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.dm.eg.db-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.dm.eg.db-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.dm.eg.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.dm.eg.db-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.dm.eg.db-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.dm.eg.db-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-org.dm.eg.db-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.dr.eg.db-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.dr.eg.db-3.11.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.dr.eg.db-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.dr.eg.db-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.dr.eg.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.dr.eg.db-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.dr.eg.db-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.dr.eg.db-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-org.dr.eg.db-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.eck12.eg.db-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.eck12.eg.db-3.11.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.eck12.eg.db-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.eck12.eg.db-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.eck12.eg.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.eck12.eg.db-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.eck12.eg.db-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.eck12.eg.db-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-org.eck12.eg.db-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.ecsakai.eg.db-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.ecsakai.eg.db-3.11.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.ecsakai.eg.db-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.ecsakai.eg.db-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.ecsakai.eg.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.ecsakai.eg.db-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.ecsakai.eg.db-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.ecsakai.eg.db-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-org.ecsakai.eg.db-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.gg.eg.db-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.gg.eg.db-3.11.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.gg.eg.db-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.gg.eg.db-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.gg.eg.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.gg.eg.db-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.gg.eg.db-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.gg.eg.db-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-org.gg.eg.db-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.hs.eg.db-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.hs.eg.db-3.11.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.hs.eg.db-3.11.4-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.hs.eg.db-3.11.4-r40h37ae868_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.hs.eg.db-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.hs.eg.db-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.hs.eg.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.hs.eg.db-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.hs.eg.db-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.hs.eg.db-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-org.hs.eg.db-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.mm.eg.db-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.mm.eg.db-3.11.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.mm.eg.db-3.11.4-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.mm.eg.db-3.11.4-r40h37ae868_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.mm.eg.db-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.mm.eg.db-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.mm.eg.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.mm.eg.db-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.mm.eg.db-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.mm.eg.db-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-org.mm.eg.db-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.mmu.eg.db-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.mmu.eg.db-3.11.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.mmu.eg.db-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.mmu.eg.db-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.mmu.eg.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.mmu.eg.db-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.mmu.eg.db-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.mmu.eg.db-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-org.mmu.eg.db-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.mxanthus.db-1.0.23-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.mxanthus.db-1.0.27-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-biocfilecache >=1.12.0,<1.13.0", - "bioconductor-biocstyle >=2.16.0,<2.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.mxanthus.db-1.0.27-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-biocfilecache >=1.14.0,<1.15.0", - "bioconductor-biocstyle >=2.18.0,<2.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.mxanthus.db-1.0.27-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-biocfilecache >=1.14.0,<1.15.0", - "bioconductor-biocstyle >=2.18.0,<2.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.mxanthus.db-1.0.27-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-biocfilecache >=2.0.0,<2.1.0", - "bioconductor-biocstyle >=2.20.0,<2.21.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.mxanthus.db-1.0.27-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-biocfilecache >=2.2.0,<2.3.0", - "bioconductor-biocstyle >=2.22.0,<2.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.mxanthus.db-1.0.27-r41hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-biocfilecache >=2.2.0,<2.3.0", - "bioconductor-biocstyle >=2.22.0,<2.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.mxanthus.db-1.0.27-r42hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-biocfilecache >=2.6.0,<2.7.0", - "bioconductor-biocstyle >=2.26.0,<2.27.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-org.pf.plasmo.db-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.pf.plasmo.db-3.11.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.pf.plasmo.db-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.pf.plasmo.db-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.pf.plasmo.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.pf.plasmo.db-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.pf.plasmo.db-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.pf.plasmo.db-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.pt.eg.db-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.pt.eg.db-3.11.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.pt.eg.db-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.pt.eg.db-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.pt.eg.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.pt.eg.db-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.pt.eg.db-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.pt.eg.db-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-org.pt.eg.db-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.rn.eg.db-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.rn.eg.db-3.11.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.rn.eg.db-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.rn.eg.db-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.rn.eg.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.rn.eg.db-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.rn.eg.db-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.rn.eg.db-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-org.rn.eg.db-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.sc.sgd.db-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.sc.sgd.db-3.11.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.sc.sgd.db-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.sc.sgd.db-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.sc.sgd.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.sc.sgd.db-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.sc.sgd.db-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.sc.sgd.db-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-org.sc.sgd.db-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.ss.eg.db-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.ss.eg.db-3.11.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.ss.eg.db-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.ss.eg.db-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.ss.eg.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.ss.eg.db-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.ss.eg.db-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.ss.eg.db-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-org.ss.eg.db-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.xl.eg.db-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-org.xl.eg.db-3.11.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.xl.eg.db-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.xl.eg.db-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-org.xl.eg.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.xl.eg.db-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.xl.eg.db-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-org.xl.eg.db-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-org.xl.eg.db-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-orthology.eg.db-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-orthology.eg.db-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-orthology.eg.db-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-paeg1acdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-paeg1acdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-paeg1acdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-paeg1acdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-paeg1acdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-paeg1acdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-paeg1acdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-paeg1acdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-paeg1acdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-paeg1aprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-paeg1aprobe-2.18.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-paeg1aprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-paeg1aprobe-2.18.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-paeg1aprobe-2.18.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-paeg1aprobe-2.18.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-paeg1aprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-paeg1aprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-paeg1aprobe-2.18.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-panther.db-1.0.10-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-biocfilecache >=1.12.0,<1.13.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-panther.db-1.0.10-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-biocfilecache >=1.14.0,<1.15.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-panther.db-1.0.10-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-biocfilecache >=1.14.0,<1.15.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite" - ] - }, - "bioconductor-panther.db-1.0.11-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-biocfilecache >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite" - ] - }, - "bioconductor-panther.db-1.0.11-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-biocfilecache >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite" - ] - }, - "bioconductor-panther.db-1.0.11-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-biocfilecache >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite" - ] - }, - "bioconductor-panther.db-1.0.11-r42hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-biocfilecache >=2.6.0,<2.7.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-rsqlite" - ] - }, - "bioconductor-panther.db-1.0.4-r36_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-panther.db-1.0.5-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite" - ] - }, - "bioconductor-parathyroidse-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-parathyroidse-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-parathyroidse-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-parathyroidse-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-parathyroidse-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-parathyroidse-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-parathyroidse-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-parathyroidse-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-parathyroidse-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-partheenmetadata.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-partheenmetadata.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-partheenmetadata.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-partheenmetadata.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-partheenmetadata.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-partheenmetadata.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-partheenmetadata.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-partheenmetadata.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-partheenmetadata.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-pasilla-1.12.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-pasilla-1.12.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pasilla-1.14.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pasilla-1.16.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pasilla-1.17.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pasilla-1.18.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pasilla-1.18.1-r40hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pasilla-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pasilla-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pasilla-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pasilla-1.26.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221110", - "bioconductor-dexseq >=1.44.0,<1.45.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-pasillabamsubset-0.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-pasillabamsubset-0.22.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pasillabamsubset-0.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pasillabamsubset-0.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pasillabamsubset-0.27.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pasillabamsubset-0.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pasillabamsubset-0.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pasillabamsubset-0.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pasillabamsubset-0.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pasillabamsubset-0.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pasillabamsubset-0.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-pasillatranscriptexpr-1.12.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-pasillatranscriptexpr-1.12.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pasillatranscriptexpr-1.14.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pasillatranscriptexpr-1.16.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pasillatranscriptexpr-1.17.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pasillatranscriptexpr-1.18.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pasillatranscriptexpr-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pasillatranscriptexpr-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pasillatranscriptexpr-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pasillatranscriptexpr-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pasillatranscriptexpr-1.25.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-pathnetdata-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-pathnetdata-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pathnetdata-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pathnetdata-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pathnetdata-1.25.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pathnetdata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pathnetdata-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pathnetdata-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pathnetdata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pathnetdata-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pathnetdata-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-pathprintgeodata-1.14.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-pathprintgeodata-1.14.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pathprintgeodata-1.16.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pathprintgeodata-1.18.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pathprintgeodata-1.19.1-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pathprintgeodata-1.20.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pathprintgeodata-1.20.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pcagopromoter.hs.hg19-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-pcagopromoter.hs.hg19-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pcagopromoter.hs.hg19-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pcagopromoter.hs.hg19-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pcagopromoter.hs.hg19-1.25.1-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pcagopromoter.hs.hg19-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pcagopromoter.hs.hg19-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pcagopromoter.mm.mm9-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-pcagopromoter.mm.mm9-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pcagopromoter.mm.mm9-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pcagopromoter.mm.mm9-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pcagopromoter.mm.mm9-1.25.1-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pcagopromoter.mm.mm9-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pcagopromoter.mm.mm9-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pcagopromoter.rn.rn4-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-pcagopromoter.rn.rn4-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pcagopromoter.rn.rn4-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pcagopromoter.rn.rn4-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pcagopromoter.rn.rn4-1.25.1-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pcagopromoter.rn.rn4-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pcagopromoter.rn.rn4-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pchicdata-1.12.0-r351_0.tar.bz2": { - "depends": [ - "bioconductor-chicago >=1.12.0,<1.13.0", - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-pchicdata-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-chicago >=1.12.0,<1.13.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pchicdata-1.14.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-chicago >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pchicdata-1.16.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-chicago >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pchicdata-1.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-chicago >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pchicdata-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-chicago >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pchicdata-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-chicago >=1.20.0,<1.21.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pchicdata-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-chicago >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pchicdata-1.22.1-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-chicago >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pchicdata-1.25.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-chicago >=1.26.0,<1.27.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-pcxndata-2.10.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pcxndata-2.11.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pcxndata-2.12.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pcxndata-2.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pcxndata-2.12.0-r40hdfd78af_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pcxndata-2.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pcxndata-2.16.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pcxndata-2.16.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pcxndata-2.19.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-pcxndata-2.6.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-pcxndata-2.6.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pcxndata-2.8.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pd.081229.hg18.promoter.medip.hx1-0.99.4-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.081229.hg18.promoter.medip.hx1-0.99.4-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.081229.hg18.promoter.medip.hx1-0.99.4-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.081229.hg18.promoter.medip.hx1-0.99.4-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.081229.hg18.promoter.medip.hx1-0.99.4-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.081229.hg18.promoter.medip.hx1-0.99.4-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.081229.hg18.promoter.medip.hx1-0.99.4-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.081229.hg18.promoter.medip.hx1-0.99.4-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.081229.hg18.promoter.medip.hx1-0.99.4-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.2006.07.18.hg18.refseq.promoter-1.8.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi", - "r-rsqlite >=0.11.1" - ] - }, - "bioconductor-pd.2006.07.18.hg18.refseq.promoter-1.8.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi", - "r-rsqlite >=0.11.1" - ] - }, - "bioconductor-pd.2006.07.18.hg18.refseq.promoter-1.8.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.11.1" - ] - }, - "bioconductor-pd.2006.07.18.hg18.refseq.promoter-1.8.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.11.1" - ] - }, - "bioconductor-pd.2006.07.18.hg18.refseq.promoter-1.8.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.11.1" - ] - }, - "bioconductor-pd.2006.07.18.hg18.refseq.promoter-1.8.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.11.1" - ] - }, - "bioconductor-pd.2006.07.18.hg18.refseq.promoter-1.8.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.11.1" - ] - }, - "bioconductor-pd.2006.07.18.hg18.refseq.promoter-1.8.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.11.1" - ] - }, - "bioconductor-pd.2006.07.18.hg18.refseq.promoter-1.8.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi", - "r-rsqlite >=0.11.1" - ] - }, - "bioconductor-pd.2006.07.18.mm8.refseq.promoter-0.99.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.2006.07.18.mm8.refseq.promoter-0.99.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.2006.07.18.mm8.refseq.promoter-0.99.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.2006.07.18.mm8.refseq.promoter-0.99.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.2006.07.18.mm8.refseq.promoter-0.99.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.2006.07.18.mm8.refseq.promoter-0.99.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.2006.07.18.mm8.refseq.promoter-0.99.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.2006.07.18.mm8.refseq.promoter-0.99.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.2006.07.18.mm8.refseq.promoter-0.99.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.2006.10.31.rn34.refseq.promoter-0.99.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.2006.10.31.rn34.refseq.promoter-0.99.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.2006.10.31.rn34.refseq.promoter-0.99.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.2006.10.31.rn34.refseq.promoter-0.99.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.2006.10.31.rn34.refseq.promoter-0.99.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.2006.10.31.rn34.refseq.promoter-0.99.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.2006.10.31.rn34.refseq.promoter-0.99.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.2006.10.31.rn34.refseq.promoter-0.99.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.2006.10.31.rn34.refseq.promoter-0.99.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.ag-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ag-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ag-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ag-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ag-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ag-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ag-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ag-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ag-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.aragene.1.0.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.aragene.1.0.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.aragene.1.0.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.aragene.1.0.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.aragene.1.0.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.aragene.1.0.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.aragene.1.0.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.aragene.1.0.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.aragene.1.0.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.aragene.1.1.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.aragene.1.1.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.aragene.1.1.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.aragene.1.1.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.aragene.1.1.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.aragene.1.1.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.aragene.1.1.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.aragene.1.1.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.aragene.1.1.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.atdschip.tiling-0.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi", - "r-rsqlite >=0.10.0" - ] - }, - "bioconductor-pd.atdschip.tiling-0.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi", - "r-rsqlite >=0.10.0" - ] - }, - "bioconductor-pd.atdschip.tiling-0.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.10.0" - ] - }, - "bioconductor-pd.atdschip.tiling-0.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.10.0" - ] - }, - "bioconductor-pd.atdschip.tiling-0.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.10.0" - ] - }, - "bioconductor-pd.atdschip.tiling-0.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.10.0" - ] - }, - "bioconductor-pd.atdschip.tiling-0.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.10.0" - ] - }, - "bioconductor-pd.atdschip.tiling-0.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.10.0" - ] - }, - "bioconductor-pd.atdschip.tiling-0.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221108", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi", - "r-rsqlite >=0.10.0" - ] - }, - "bioconductor-pd.ath1.121501-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ath1.121501-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ath1.121501-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ath1.121501-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ath1.121501-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ath1.121501-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ath1.121501-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ath1.121501-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ath1.121501-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.barley1-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.barley1-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.barley1-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.barley1-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.barley1-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.barley1-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.barley1-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.barley1-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.barley1-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovgene.1.0.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovgene.1.0.st-3.12.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovgene.1.0.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovgene.1.0.st-3.12.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovgene.1.0.st-3.12.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovgene.1.0.st-3.12.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovgene.1.0.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovgene.1.0.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovgene.1.0.st-3.12.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovgene.1.1.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovgene.1.1.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovgene.1.1.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovgene.1.1.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovgene.1.1.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovgene.1.1.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovgene.1.1.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovgene.1.1.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovgene.1.1.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovine-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovine-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovine-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovine-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovine-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovine-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovine-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovine-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bovine-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bsubtilis-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bsubtilis-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bsubtilis-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bsubtilis-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bsubtilis-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bsubtilis-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bsubtilis-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bsubtilis-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.bsubtilis-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cangene.1.0.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cangene.1.0.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cangene.1.0.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cangene.1.0.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cangene.1.0.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cangene.1.0.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cangene.1.0.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cangene.1.0.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cangene.1.0.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cangene.1.1.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cangene.1.1.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cangene.1.1.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cangene.1.1.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cangene.1.1.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cangene.1.1.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cangene.1.1.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cangene.1.1.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cangene.1.1.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.canine-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.canine-3.12.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.canine-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.canine-3.12.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.canine-3.12.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.canine-3.12.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.canine-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.canine-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.canine-3.12.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.canine.2-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.canine.2-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.canine.2-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.canine.2-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.canine.2-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.canine.2-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.canine.2-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.canine.2-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.canine.2-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.celegans-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.celegans-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.celegans-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.celegans-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.celegans-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.celegans-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.celegans-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.celegans-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.celegans-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.charm.hg18.example-0.99.4-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.charm.hg18.example-0.99.4-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.charm.hg18.example-0.99.4-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.charm.hg18.example-0.99.4-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.charm.hg18.example-0.99.4-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.charm.hg18.example-0.99.4-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.charm.hg18.example-0.99.4-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.charm.hg18.example-0.99.4-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.charm.hg18.example-0.99.4-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.chicken-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chicken-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chicken-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chicken-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chicken-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chicken-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chicken-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chicken-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chicken-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chigene.1.0.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chigene.1.0.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chigene.1.0.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chigene.1.0.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chigene.1.0.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chigene.1.0.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chigene.1.0.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chigene.1.0.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chigene.1.0.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chigene.1.1.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chigene.1.1.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chigene.1.1.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chigene.1.1.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chigene.1.1.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chigene.1.1.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chigene.1.1.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chigene.1.1.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chigene.1.1.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chogene.2.0.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chogene.2.0.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chogene.2.0.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chogene.2.0.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chogene.2.0.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chogene.2.0.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chogene.2.0.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chogene.2.0.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chogene.2.0.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chogene.2.1.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chogene.2.1.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chogene.2.1.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chogene.2.1.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chogene.2.1.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chogene.2.1.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chogene.2.1.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chogene.2.1.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.chogene.2.1.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.citrus-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.citrus-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.citrus-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.citrus-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.citrus-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.citrus-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.citrus-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.citrus-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.citrus-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.d.human-3.14.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.d.human-3.14.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.d.human-3.14.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.d.human-3.14.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.d.human-3.14.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.d.human-3.14.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.d.human-3.14.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.d.human-3.14.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.d.human-3.14.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.human-3.14.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.human-3.14.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.human-3.14.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.human-3.14.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.human-3.14.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.human-3.14.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.human-3.14.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.human-3.14.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.human-3.14.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.human.ht-3.14.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.human.ht-3.14.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.human.ht-3.14.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.human.ht-3.14.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.human.ht-3.14.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.human.ht-3.14.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.human.ht-3.14.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.human.ht-3.14.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.human.ht-3.14.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.mouse-3.14.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.mouse-3.14.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.mouse-3.14.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.mouse-3.14.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.mouse-3.14.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.mouse-3.14.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.mouse-3.14.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.mouse-3.14.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.mouse-3.14.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.mouse.ht-3.14.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.mouse.ht-3.14.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.mouse.ht-3.14.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.mouse.ht-3.14.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.mouse.ht-3.14.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.mouse.ht-3.14.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.mouse.ht-3.14.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.mouse.ht-3.14.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.mouse.ht-3.14.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.rat-3.14.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.rat-3.14.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.rat-3.14.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.rat-3.14.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.rat-3.14.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.rat-3.14.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.rat-3.14.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.rat-3.14.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.rat-3.14.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.rat.ht-3.14.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.rat.ht-3.14.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.rat.ht-3.14.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.rat.ht-3.14.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.rat.ht-3.14.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.rat.ht-3.14.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.rat.ht-3.14.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.rat.ht-3.14.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.clariom.s.rat.ht-3.14.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cotton-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cotton-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cotton-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cotton-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cotton-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cotton-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cotton-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cotton-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cotton-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyngene.1.0.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyngene.1.0.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyngene.1.0.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyngene.1.0.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyngene.1.0.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyngene.1.0.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyngene.1.0.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyngene.1.0.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyngene.1.0.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyngene.1.1.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyngene.1.1.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyngene.1.1.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyngene.1.1.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyngene.1.1.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyngene.1.1.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyngene.1.1.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyngene.1.1.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyngene.1.1.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyrgene.1.0.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyrgene.1.0.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyrgene.1.0.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyrgene.1.0.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyrgene.1.0.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyrgene.1.0.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyrgene.1.0.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyrgene.1.0.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyrgene.1.0.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyrgene.1.1.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyrgene.1.1.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyrgene.1.1.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyrgene.1.1.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyrgene.1.1.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyrgene.1.1.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyrgene.1.1.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyrgene.1.1.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cyrgene.1.1.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cytogenetics.array-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cytogenetics.array-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cytogenetics.array-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cytogenetics.array-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cytogenetics.array-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cytogenetics.array-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cytogenetics.array-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cytogenetics.array-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.cytogenetics.array-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drogene.1.0.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drogene.1.0.st-3.12.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drogene.1.0.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drogene.1.0.st-3.12.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drogene.1.0.st-3.12.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drogene.1.0.st-3.12.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drogene.1.0.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drogene.1.0.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drogene.1.0.st-3.12.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drogene.1.1.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drogene.1.1.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drogene.1.1.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drogene.1.1.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drogene.1.1.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drogene.1.1.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drogene.1.1.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drogene.1.1.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drogene.1.1.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drosgenome1-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drosgenome1-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drosgenome1-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drosgenome1-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drosgenome1-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drosgenome1-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drosgenome1-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drosgenome1-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drosgenome1-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drosophila.2-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drosophila.2-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drosophila.2-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drosophila.2-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drosophila.2-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drosophila.2-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drosophila.2-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drosophila.2-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.drosophila.2-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.e.coli.2-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.e.coli.2-3.12.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.e.coli.2-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.e.coli.2-3.12.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.e.coli.2-3.12.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.e.coli.2-3.12.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.e.coli.2-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.e.coli.2-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.e.coli.2-3.12.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ecoli-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ecoli-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ecoli-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ecoli-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ecoli-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ecoli-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ecoli-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ecoli-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ecoli-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ecoli.asv2-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ecoli.asv2-3.12.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ecoli.asv2-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ecoli.asv2-3.12.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ecoli.asv2-3.12.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ecoli.asv2-3.12.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ecoli.asv2-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ecoli.asv2-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ecoli.asv2-3.12.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.elegene.1.0.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.elegene.1.0.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.elegene.1.0.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.elegene.1.0.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.elegene.1.0.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.elegene.1.0.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.elegene.1.0.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.elegene.1.0.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.elegene.1.0.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.elegene.1.1.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.elegene.1.1.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.elegene.1.1.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.elegene.1.1.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.elegene.1.1.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.elegene.1.1.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.elegene.1.1.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.elegene.1.1.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.elegene.1.1.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.equgene.1.0.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.equgene.1.0.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.equgene.1.0.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.equgene.1.0.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.equgene.1.0.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.equgene.1.0.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.equgene.1.0.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.equgene.1.0.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.equgene.1.0.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.equgene.1.1.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.equgene.1.1.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.equgene.1.1.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.equgene.1.1.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.equgene.1.1.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.equgene.1.1.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.equgene.1.1.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.equgene.1.1.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.equgene.1.1.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.feinberg.hg18.me.hx1-0.99.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.feinberg.hg18.me.hx1-0.99.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.feinberg.hg18.me.hx1-0.99.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.feinberg.hg18.me.hx1-0.99.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.feinberg.hg18.me.hx1-0.99.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.feinberg.hg18.me.hx1-0.99.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.feinberg.hg18.me.hx1-0.99.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.feinberg.hg18.me.hx1-0.99.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.feinberg.hg18.me.hx1-0.99.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.feinberg.mm8.me.hx1-0.99.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.feinberg.mm8.me.hx1-0.99.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.feinberg.mm8.me.hx1-0.99.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.feinberg.mm8.me.hx1-0.99.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.feinberg.mm8.me.hx1-0.99.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.feinberg.mm8.me.hx1-0.99.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.feinberg.mm8.me.hx1-0.99.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.feinberg.mm8.me.hx1-0.99.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.feinberg.mm8.me.hx1-0.99.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi", - "r-rsqlite >=0.7-1" - ] - }, - "bioconductor-pd.felgene.1.0.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.felgene.1.0.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.felgene.1.0.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.felgene.1.0.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.felgene.1.0.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.felgene.1.0.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.felgene.1.0.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.felgene.1.0.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.felgene.1.0.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.felgene.1.1.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.felgene.1.1.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.felgene.1.1.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.felgene.1.1.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.felgene.1.1.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.felgene.1.1.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.felgene.1.1.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.felgene.1.1.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.felgene.1.1.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.fingene.1.0.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.fingene.1.0.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.fingene.1.0.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.fingene.1.0.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.fingene.1.0.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.fingene.1.0.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.fingene.1.0.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.fingene.1.0.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.fingene.1.0.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.fingene.1.1.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.fingene.1.1.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.fingene.1.1.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.fingene.1.1.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.fingene.1.1.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.fingene.1.1.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.fingene.1.1.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.fingene.1.1.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.fingene.1.1.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.genomewidesnp.5-3.14.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.genomewidesnp.5-3.14.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.genomewidesnp.5-3.14.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.genomewidesnp.5-3.14.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.genomewidesnp.5-3.14.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.genomewidesnp.5-3.14.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.genomewidesnp.5-3.14.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.genomewidesnp.5-3.14.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.genomewidesnp.5-3.14.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.genomewidesnp.6-3.14.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.genomewidesnp.6-3.14.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.genomewidesnp.6-3.14.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.genomewidesnp.6-3.14.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.genomewidesnp.6-3.14.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.genomewidesnp.6-3.14.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.genomewidesnp.6-3.14.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.genomewidesnp.6-3.14.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.genomewidesnp.6-3.14.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.guigene.1.0.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.guigene.1.0.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.guigene.1.0.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.guigene.1.0.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.guigene.1.0.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.guigene.1.0.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.guigene.1.0.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.guigene.1.0.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.guigene.1.0.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.guigene.1.1.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.guigene.1.1.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.guigene.1.1.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.guigene.1.1.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.guigene.1.1.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.guigene.1.1.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.guigene.1.1.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.guigene.1.1.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.guigene.1.1.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hc.g110-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hc.g110-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hc.g110-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hc.g110-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hc.g110-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hc.g110-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hc.g110-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hc.g110-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hc.g110-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.focus-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.focus-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.focus-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.focus-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.focus-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.focus-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.focus-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.focus-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.focus-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133.plus.2-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133.plus.2-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133.plus.2-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133.plus.2-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133.plus.2-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133.plus.2-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133.plus.2-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133.plus.2-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133.plus.2-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a.2-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a.2-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a.2-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a.2-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a.2-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a.2-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a.2-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a.2-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a.2-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a.tag-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a.tag-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a.tag-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a.tag-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a.tag-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a.tag-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a.tag-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a.tag-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133a.tag-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133b-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133b-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133b-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133b-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133b-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133b-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133b-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133b-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u133b-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u219-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u219-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u219-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u219-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u219-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u219-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u219-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u219-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u219-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95a-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95a-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95a-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95a-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95a-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95a-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95a-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95a-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95a-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95av2-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95av2-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95av2-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95av2-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95av2-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95av2-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95av2-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95av2-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95av2-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95b-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95b-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95b-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95b-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95b-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95b-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95b-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95b-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95b-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95c-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95c-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95c-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95c-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95c-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95c-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95c-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95c-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95c-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95d-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95d-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95d-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95d-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95d-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95d-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95d-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95d-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95d-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95e-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95e-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95e-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95e-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95e-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95e-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95e-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95e-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg.u95e-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg18.60mer.expr-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg18.60mer.expr-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg18.60mer.expr-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg18.60mer.expr-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg18.60mer.expr-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg18.60mer.expr-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg18.60mer.expr-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg18.60mer.expr-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hg18.60mer.expr-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.hg.u133.plus.pm-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.hg.u133.plus.pm-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.hg.u133.plus.pm-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.hg.u133.plus.pm-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.hg.u133.plus.pm-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.hg.u133.plus.pm-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.hg.u133.plus.pm-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.hg.u133.plus.pm-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.hg.u133.plus.pm-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.hg.u133a-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.hg.u133a-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.hg.u133a-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.hg.u133a-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.hg.u133a-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.hg.u133a-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.hg.u133a-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.hg.u133a-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.hg.u133a-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.mg.430a-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.mg.430a-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.mg.430a-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.mg.430a-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.mg.430a-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.mg.430a-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.mg.430a-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.mg.430a-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ht.mg.430a-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hta.2.0-3.12.2-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hta.2.0-3.12.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hta.2.0-3.12.2-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hta.2.0-3.12.2-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hta.2.0-3.12.2-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hta.2.0-3.12.2-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hta.2.0-3.12.2-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hta.2.0-3.12.2-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hta.2.0-3.12.2-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hu6800-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hu6800-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hu6800-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hu6800-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hu6800-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hu6800-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hu6800-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hu6800-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hu6800-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.huex.1.0.st.v2-3.14.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.huex.1.0.st.v2-3.14.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.huex.1.0.st.v2-3.14.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.huex.1.0.st.v2-3.14.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.huex.1.0.st.v2-3.14.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.huex.1.0.st.v2-3.14.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.huex.1.0.st.v2-3.14.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.huex.1.0.st.v2-3.14.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.huex.1.0.st.v2-3.14.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.1.0.st.v1-3.14.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.1.0.st.v1-3.14.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.1.0.st.v1-3.14.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.1.0.st.v1-3.14.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.1.0.st.v1-3.14.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.1.0.st.v1-3.14.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.1.0.st.v1-3.14.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.1.0.st.v1-3.14.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.1.0.st.v1-3.14.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.1.1.st.v1-3.14.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.1.1.st.v1-3.14.1-r36_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.1.1.st.v1-3.14.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.1.1.st.v1-3.14.1-r40_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.1.1.st.v1-3.14.1-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.1.1.st.v1-3.14.1-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.1.1.st.v1-3.14.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.1.1.st.v1-3.14.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.1.1.st.v1-3.14.1-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.2.0.st-3.14.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.2.0.st-3.14.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.2.0.st-3.14.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.2.0.st-3.14.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.2.0.st-3.14.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.2.0.st-3.14.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.2.0.st-3.14.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.2.0.st-3.14.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.2.0.st-3.14.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.2.1.st-3.14.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.2.1.st-3.14.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.2.1.st-3.14.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.2.1.st-3.14.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.2.1.st-3.14.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.2.1.st-3.14.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.2.1.st-3.14.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.2.1.st-3.14.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.hugene.2.1.st-3.14.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.maize-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.maize-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.maize-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.maize-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.maize-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.maize-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.maize-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.maize-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.maize-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping250k.nsp-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping250k.nsp-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping250k.nsp-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping250k.nsp-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping250k.nsp-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping250k.nsp-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping250k.nsp-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping250k.nsp-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping250k.nsp-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping250k.sty-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping250k.sty-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping250k.sty-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping250k.sty-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping250k.sty-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping250k.sty-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping250k.sty-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping250k.sty-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping250k.sty-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping50k.hind240-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping50k.hind240-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping50k.hind240-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping50k.hind240-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping50k.hind240-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping50k.hind240-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping50k.hind240-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping50k.hind240-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping50k.hind240-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping50k.xba240-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping50k.xba240-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping50k.xba240-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping50k.xba240-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping50k.xba240-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping50k.xba240-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping50k.xba240-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping50k.xba240-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mapping50k.xba240-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.margene.1.0.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.margene.1.0.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.margene.1.0.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.margene.1.0.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.margene.1.0.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.margene.1.0.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.margene.1.0.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.margene.1.0.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.margene.1.0.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.margene.1.1.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.margene.1.1.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.margene.1.1.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.margene.1.1.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.margene.1.1.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.margene.1.1.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.margene.1.1.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.margene.1.1.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.margene.1.1.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medgene.1.0.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medgene.1.0.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medgene.1.0.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medgene.1.0.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medgene.1.0.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medgene.1.0.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medgene.1.0.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medgene.1.0.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medgene.1.0.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medgene.1.1.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medgene.1.1.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medgene.1.1.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medgene.1.1.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medgene.1.1.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medgene.1.1.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medgene.1.1.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medgene.1.1.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medgene.1.1.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medicago-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medicago-3.12.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medicago-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medicago-3.12.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medicago-3.12.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medicago-3.12.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medicago-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medicago-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.medicago-3.12.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74a-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74a-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74a-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74a-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74a-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74a-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74a-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74a-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74a-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74av2-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74av2-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74av2-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74av2-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74av2-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74av2-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74av2-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74av2-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74av2-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74b-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74b-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74b-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74b-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74b-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74b-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74b-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74b-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74b-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74bv2-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74bv2-3.12.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74bv2-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74bv2-3.12.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74bv2-3.12.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74bv2-3.12.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74bv2-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74bv2-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74bv2-3.12.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74c-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74c-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74c-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74c-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74c-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74c-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74c-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74c-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74c-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74cv2-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74cv2-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74cv2-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74cv2-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74cv2-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74cv2-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74cv2-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74cv2-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mg.u74cv2-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.1.0-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.1.0-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.1.0-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.1.0-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.1.0-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.1.0-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.1.0-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.1.0-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.1.0-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.2.0-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.2.0-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.2.0-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.2.0-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.2.0-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.2.0-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.2.0-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.2.0-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.2.0-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.3.0-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.3.0-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.3.0-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.3.0-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.3.0-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.3.0-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.3.0-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.3.0-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.3.0-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.3.1-3.8.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi", - "r-rsqlite >=0.11.1" - ] - }, - "bioconductor-pd.mirna.3.1-3.8.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi", - "r-rsqlite >=0.11.1" - ] - }, - "bioconductor-pd.mirna.3.1-3.8.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.11.1" - ] - }, - "bioconductor-pd.mirna.3.1-3.8.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.11.1" - ] - }, - "bioconductor-pd.mirna.3.1-3.8.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi", - "r-rsqlite >=0.11.1" - ] - }, - "bioconductor-pd.mirna.3.1-3.8.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.11.1" - ] - }, - "bioconductor-pd.mirna.3.1-3.8.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.11.1" - ] - }, - "bioconductor-pd.mirna.3.1-3.8.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-rsqlite >=0.11.1" - ] - }, - "bioconductor-pd.mirna.3.1-3.8.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi", - "r-rsqlite >=0.11.1" - ] - }, - "bioconductor-pd.mirna.4.0-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.4.0-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.4.0-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.4.0-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.4.0-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.4.0-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.4.0-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.4.0-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mirna.4.0-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moe430a-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moe430a-3.12.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moe430a-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moe430a-3.12.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moe430a-3.12.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moe430a-3.12.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moe430a-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moe430a-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moe430a-3.12.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moe430b-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moe430b-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moe430b-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moe430b-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moe430b-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moe430b-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moe430b-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moe430b-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moe430b-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moex.1.0.st.v1-3.14.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moex.1.0.st.v1-3.14.1-r36_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moex.1.0.st.v1-3.14.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moex.1.0.st.v1-3.14.1-r40_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moex.1.0.st.v1-3.14.1-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moex.1.0.st.v1-3.14.1-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moex.1.0.st.v1-3.14.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moex.1.0.st.v1-3.14.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.moex.1.0.st.v1-3.14.1-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.1.0.st.v1-3.14.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.1.0.st.v1-3.14.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.1.0.st.v1-3.14.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.1.0.st.v1-3.14.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.1.0.st.v1-3.14.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.1.0.st.v1-3.14.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.1.0.st.v1-3.14.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.1.0.st.v1-3.14.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.1.0.st.v1-3.14.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.1.1.st.v1-3.14.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.1.1.st.v1-3.14.1-r36_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.1.1.st.v1-3.14.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.1.1.st.v1-3.14.1-r40_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.1.1.st.v1-3.14.1-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.1.1.st.v1-3.14.1-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.1.1.st.v1-3.14.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.1.1.st.v1-3.14.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.1.1.st.v1-3.14.1-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.2.0.st-3.14.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.2.0.st-3.14.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.2.0.st-3.14.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.2.0.st-3.14.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.2.0.st-3.14.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.2.0.st-3.14.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.2.0.st-3.14.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.2.0.st-3.14.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.2.0.st-3.14.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.2.1.st-3.14.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.2.1.st-3.14.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.2.1.st-3.14.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.2.1.st-3.14.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.2.1.st-3.14.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.2.1.st-3.14.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.2.1.st-3.14.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.2.1.st-3.14.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mogene.2.1.st-3.14.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mouse430.2-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mouse430.2-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mouse430.2-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mouse430.2-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mouse430.2-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mouse430.2-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mouse430.2-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mouse430.2-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mouse430.2-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mouse430a.2-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mouse430a.2-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mouse430a.2-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mouse430a.2-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mouse430a.2-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mouse430a.2-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mouse430a.2-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mouse430a.2-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mouse430a.2-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mta.1.0-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mta.1.0-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mta.1.0-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mta.1.0-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mta.1.0-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mta.1.0-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mta.1.0-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mta.1.0-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mta.1.0-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mu11ksuba-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mu11ksuba-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mu11ksuba-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mu11ksuba-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mu11ksuba-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mu11ksuba-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mu11ksuba-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mu11ksuba-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mu11ksuba-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mu11ksubb-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mu11ksubb-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mu11ksubb-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mu11ksubb-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mu11ksubb-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mu11ksubb-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mu11ksubb-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mu11ksubb-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.mu11ksubb-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.nugo.hs1a520180-3.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.nugo.hs1a520180-3.4.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.nugo.hs1a520180-3.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.nugo.hs1a520180-3.4.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.nugo.hs1a520180-3.4.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.nugo.hs1a520180-3.4.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.nugo.hs1a520180-3.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.nugo.hs1a520180-3.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.nugo.hs1a520180-3.4.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.nugo.mm1a520177-3.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.nugo.mm1a520177-3.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.nugo.mm1a520177-3.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.nugo.mm1a520177-3.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.nugo.mm1a520177-3.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.nugo.mm1a520177-3.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.nugo.mm1a520177-3.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.nugo.mm1a520177-3.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.nugo.mm1a520177-3.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ovigene.1.0.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ovigene.1.0.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ovigene.1.0.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ovigene.1.0.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ovigene.1.0.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ovigene.1.0.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ovigene.1.0.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ovigene.1.0.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ovigene.1.0.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ovigene.1.1.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ovigene.1.1.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ovigene.1.1.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ovigene.1.1.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ovigene.1.1.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ovigene.1.1.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ovigene.1.1.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ovigene.1.1.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ovigene.1.1.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.pae.g1a-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.pae.g1a-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.pae.g1a-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.pae.g1a-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.pae.g1a-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.pae.g1a-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.pae.g1a-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.pae.g1a-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.pae.g1a-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.plasmodium.anopheles-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.plasmodium.anopheles-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.plasmodium.anopheles-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.plasmodium.anopheles-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.plasmodium.anopheles-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.plasmodium.anopheles-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.plasmodium.anopheles-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.plasmodium.anopheles-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.plasmodium.anopheles-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.poplar-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.poplar-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.poplar-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.poplar-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.poplar-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.poplar-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.poplar-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.poplar-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.poplar-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porcine-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porcine-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porcine-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porcine-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porcine-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porcine-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porcine-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porcine-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porcine-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porgene.1.0.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porgene.1.0.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porgene.1.0.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porgene.1.0.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porgene.1.0.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porgene.1.0.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porgene.1.0.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porgene.1.0.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porgene.1.0.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porgene.1.1.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porgene.1.1.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porgene.1.1.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porgene.1.1.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porgene.1.1.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porgene.1.1.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porgene.1.1.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porgene.1.1.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.porgene.1.1.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rabgene.1.0.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rabgene.1.0.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rabgene.1.0.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rabgene.1.0.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rabgene.1.0.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rabgene.1.0.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rabgene.1.0.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rabgene.1.0.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rabgene.1.0.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rabgene.1.1.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rabgene.1.1.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rabgene.1.1.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rabgene.1.1.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rabgene.1.1.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rabgene.1.1.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rabgene.1.1.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rabgene.1.1.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rabgene.1.1.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rae230a-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rae230a-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rae230a-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rae230a-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rae230a-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rae230a-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rae230a-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rae230a-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rae230a-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rae230b-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rae230b-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rae230b-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rae230b-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rae230b-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rae230b-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rae230b-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rae230b-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rae230b-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.raex.1.0.st.v1-3.14.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.raex.1.0.st.v1-3.14.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.raex.1.0.st.v1-3.14.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.raex.1.0.st.v1-3.14.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.raex.1.0.st.v1-3.14.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.raex.1.0.st.v1-3.14.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.raex.1.0.st.v1-3.14.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.raex.1.0.st.v1-3.14.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.raex.1.0.st.v1-3.14.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.1.0.st.v1-3.14.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.1.0.st.v1-3.14.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.1.0.st.v1-3.14.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.1.0.st.v1-3.14.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.1.0.st.v1-3.14.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.1.0.st.v1-3.14.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.1.0.st.v1-3.14.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.1.0.st.v1-3.14.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.1.0.st.v1-3.14.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.1.1.st.v1-3.14.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.1.1.st.v1-3.14.1-r36_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.1.1.st.v1-3.14.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.1.1.st.v1-3.14.1-r40_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.1.1.st.v1-3.14.1-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.1.1.st.v1-3.14.1-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.1.1.st.v1-3.14.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.1.1.st.v1-3.14.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.1.1.st.v1-3.14.1-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.2.0.st-3.14.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.2.0.st-3.14.1-r36_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.2.0.st-3.14.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.2.0.st-3.14.1-r40_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.2.0.st-3.14.1-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.2.0.st-3.14.1-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.2.0.st-3.14.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.2.0.st-3.14.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.2.0.st-3.14.1-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.2.1.st-3.14.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.2.1.st-3.14.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.2.1.st-3.14.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.2.1.st-3.14.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.2.1.st-3.14.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.2.1.st-3.14.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.2.1.st-3.14.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.2.1.st-3.14.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.ragene.2.1.st-3.14.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rat230.2-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rat230.2-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rat230.2-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rat230.2-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rat230.2-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rat230.2-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rat230.2-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rat230.2-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rat230.2-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rcngene.1.0.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rcngene.1.0.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rcngene.1.0.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rcngene.1.0.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rcngene.1.0.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rcngene.1.0.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rcngene.1.0.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rcngene.1.0.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rcngene.1.0.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rcngene.1.1.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rcngene.1.1.st-3.12.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rcngene.1.1.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rcngene.1.1.st-3.12.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rcngene.1.1.st-3.12.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rcngene.1.1.st-3.12.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rcngene.1.1.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rcngene.1.1.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rcngene.1.1.st-3.12.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34a-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34a-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34a-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34a-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34a-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34a-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34a-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34a-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34a-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34b-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34b-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34b-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34b-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34b-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34b-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34b-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34b-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34b-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34c-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34c-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34c-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34c-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34c-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34c-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34c-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34c-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rg.u34c-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhegene.1.0.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhegene.1.0.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhegene.1.0.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhegene.1.0.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhegene.1.0.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhegene.1.0.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhegene.1.0.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhegene.1.0.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhegene.1.0.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhegene.1.1.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhegene.1.1.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhegene.1.1.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhegene.1.1.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhegene.1.1.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhegene.1.1.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhegene.1.1.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhegene.1.1.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhegene.1.1.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhesus-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhesus-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhesus-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhesus-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhesus-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhesus-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhesus-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhesus-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rhesus-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rice-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rice-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rice-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rice-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rice-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rice-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rice-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rice-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rice-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rjpgene.1.0.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rjpgene.1.0.st-3.12.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rjpgene.1.0.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rjpgene.1.0.st-3.12.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rjpgene.1.0.st-3.12.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rjpgene.1.0.st-3.12.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rjpgene.1.0.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rjpgene.1.0.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rjpgene.1.0.st-3.12.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rjpgene.1.1.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rjpgene.1.1.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rjpgene.1.1.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rjpgene.1.1.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rjpgene.1.1.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rjpgene.1.1.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rjpgene.1.1.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rjpgene.1.1.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rjpgene.1.1.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rn.u34-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rn.u34-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rn.u34-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rn.u34-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rn.u34-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rn.u34-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rn.u34-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rn.u34-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rn.u34-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rta.1.0-3.12.2-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rta.1.0-3.12.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rta.1.0-3.12.2-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rta.1.0-3.12.2-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rta.1.0-3.12.2-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rta.1.0-3.12.2-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rta.1.0-3.12.2-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rta.1.0-3.12.2-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rta.1.0-3.12.2-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rusgene.1.0.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rusgene.1.0.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rusgene.1.0.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rusgene.1.0.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rusgene.1.0.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rusgene.1.0.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rusgene.1.0.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rusgene.1.0.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rusgene.1.0.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rusgene.1.1.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rusgene.1.1.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rusgene.1.1.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rusgene.1.1.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rusgene.1.1.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rusgene.1.1.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rusgene.1.1.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rusgene.1.1.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.rusgene.1.1.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.s.aureus-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.s.aureus-3.12.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.s.aureus-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.s.aureus-3.12.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.s.aureus-3.12.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.s.aureus-3.12.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.s.aureus-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.s.aureus-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.s.aureus-3.12.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soybean-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soybean-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soybean-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soybean-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soybean-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soybean-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soybean-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soybean-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soybean-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soygene.1.0.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soygene.1.0.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soygene.1.0.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soygene.1.0.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soygene.1.0.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soygene.1.0.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soygene.1.0.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soygene.1.0.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soygene.1.0.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soygene.1.1.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soygene.1.1.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soygene.1.1.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soygene.1.1.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soygene.1.1.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soygene.1.1.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soygene.1.1.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soygene.1.1.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.soygene.1.1.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.sugar.cane-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.sugar.cane-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.sugar.cane-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.sugar.cane-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.sugar.cane-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.sugar.cane-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.sugar.cane-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.sugar.cane-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.sugar.cane-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.tomato-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.tomato-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.tomato-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.tomato-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.tomato-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.tomato-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.tomato-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.tomato-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.tomato-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.u133.x3p-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.u133.x3p-3.12.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.u133.x3p-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.u133.x3p-3.12.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.u133.x3p-3.12.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.u133.x3p-3.12.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.u133.x3p-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.u133.x3p-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.u133.x3p-3.12.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.vitis.vinifera-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.vitis.vinifera-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.vitis.vinifera-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.vitis.vinifera-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.vitis.vinifera-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.vitis.vinifera-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.vitis.vinifera-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.vitis.vinifera-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.vitis.vinifera-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.wheat-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.wheat-3.12.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.wheat-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.wheat-3.12.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.wheat-3.12.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.wheat-3.12.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.wheat-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.wheat-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.wheat-3.12.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.x.laevis.2-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.x.laevis.2-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.x.laevis.2-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.x.laevis.2-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.x.laevis.2-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.x.laevis.2-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.x.laevis.2-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.x.laevis.2-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.x.laevis.2-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.x.tropicalis-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.x.tropicalis-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.x.tropicalis-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.x.tropicalis-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.x.tropicalis-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.x.tropicalis-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.x.tropicalis-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.x.tropicalis-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.x.tropicalis-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.xenopus.laevis-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.xenopus.laevis-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.xenopus.laevis-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.xenopus.laevis-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.xenopus.laevis-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.xenopus.laevis-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.xenopus.laevis-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.xenopus.laevis-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.xenopus.laevis-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.yeast.2-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.yeast.2-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.yeast.2-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.yeast.2-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.yeast.2-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.yeast.2-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.yeast.2-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.yeast.2-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.yeast.2-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.yg.s98-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.yg.s98-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.yg.s98-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.yg.s98-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.yg.s98-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.yg.s98-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.yg.s98-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.yg.s98-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.yg.s98-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebgene.1.0.st-3.12.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebgene.1.0.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebgene.1.0.st-3.12.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebgene.1.0.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebgene.1.0.st-3.12.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebgene.1.0.st-3.12.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebgene.1.0.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebgene.1.0.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebgene.1.0.st-3.12.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebgene.1.1.st-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebgene.1.1.st-3.12.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebgene.1.1.st-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebgene.1.1.st-3.12.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebgene.1.1.st-3.12.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebgene.1.1.st-3.12.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebgene.1.1.st-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebgene.1.1.st-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebgene.1.1.st-3.12.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebrafish-3.12.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.52.0,<2.53.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-oligoclasses >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebrafish-3.12.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-oligoclasses >=1.48.0,<1.49.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebrafish-3.12.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-oligoclasses >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebrafish-3.12.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebrafish-3.12.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-oligoclasses >=1.52.0,<1.53.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebrafish-3.12.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebrafish-3.12.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-oligoclasses >=1.54.0,<1.55.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebrafish-3.12.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-oligoclasses >=1.56.0,<1.57.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pd.zebrafish-3.12.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-oligoclasses >=1.60.0,<1.61.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi >=0.3.1", - "r-rsqlite >=1.0.0" - ] - }, - "bioconductor-pedbarrayv10.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pedbarrayv10.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pedbarrayv10.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pedbarrayv10.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pedbarrayv10.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pedbarrayv10.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pedbarrayv10.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pedbarrayv10.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pedbarrayv10.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-pedbarrayv9.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pedbarrayv9.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pedbarrayv9.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pedbarrayv9.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pedbarrayv9.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pedbarrayv9.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pedbarrayv9.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pedbarrayv9.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pedbarrayv9.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-pepdat-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pepdat-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pepdat-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pepdat-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pepdat-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pepdat-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-pepdat-1.4.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pepdat-1.6.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pepdat-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pepsnmrdata-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pepsnmrdata-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pepsnmrdata-1.12.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pepsnmrdata-1.15.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-pepsnmrdata-1.2.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-pepsnmrdata-1.2.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pepsnmrdata-1.4.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pepsnmrdata-1.6.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pepsnmrdata-1.8.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pepsnmrdata-1.8.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pfam.db-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pfam.db-3.10.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pfam.db-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pfam.db-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pfam.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pfam.db-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pfam.db-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pfam.db-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-pfam.db-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-phastcons100way.ucsc.hg19-3.7.2-r36_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-genomicscores >=1.8.0,<1.9.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-phastcons100way.ucsc.hg19-3.7.2-r36_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-genomicscores >=1.10.0,<1.11.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-phastcons100way.ucsc.hg19-3.7.2-r40_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-genomicscores >=2.0.0,<2.1.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-phastcons100way.ucsc.hg19-3.7.2-r40_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-phastcons100way.ucsc.hg19-3.7.2-r40hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-phastcons100way.ucsc.hg19-3.7.2-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-phastcons100way.ucsc.hg19-3.7.2-r41hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-phastcons100way.ucsc.hg19-3.7.2-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-genomicscores >=2.4.0,<2.5.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-phastcons100way.ucsc.hg19-3.7.2-r42hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-genomicscores >=2.10.0,<2.11.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-phastcons100way.ucsc.hg38-3.7.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-genomicscores >=1.8.0,<1.9.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-phastcons100way.ucsc.hg38-3.7.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-genomicscores >=1.10.0,<1.11.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-phastcons100way.ucsc.hg38-3.7.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-genomicscores >=2.0.0,<2.1.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-phastcons100way.ucsc.hg38-3.7.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-phastcons100way.ucsc.hg38-3.7.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-phastcons100way.ucsc.hg38-3.7.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-genomicscores >=2.4.0,<2.5.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-phastcons100way.ucsc.hg38-3.7.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-phastcons100way.ucsc.hg38-3.7.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-phastcons100way.ucsc.hg38-3.7.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-genomicscores >=2.10.0,<2.11.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-phastcons30way.ucsc.hg38-3.11.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-genomicscores >=2.0.0,<2.1.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-phastcons30way.ucsc.hg38-3.11.1-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-phastcons30way.ucsc.hg38-3.11.1-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-phastcons30way.ucsc.hg38-3.11.1-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-genomicscores >=2.4.0,<2.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-phastcons30way.ucsc.hg38-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-phastcons30way.ucsc.hg38-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-phastcons30way.ucsc.hg38-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicscores >=2.10.0,<2.11.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-phastcons35way.ucsc.mm39-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicscores >=2.10.0,<2.11.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-phastcons7way.ucsc.hg38-3.7.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-genomicscores >=1.8.0,<1.9.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-phastcons7way.ucsc.hg38-3.7.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-genomicscores >=1.10.0,<1.11.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-phastcons7way.ucsc.hg38-3.7.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-genomicscores >=2.0.0,<2.1.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-phastcons7way.ucsc.hg38-3.7.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-phastcons7way.ucsc.hg38-3.7.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-genomicscores >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-phastcons7way.ucsc.hg38-3.7.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-genomicscores >=2.4.0,<2.5.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-phastcons7way.ucsc.hg38-3.7.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-phastcons7way.ucsc.hg38-3.7.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-genomicscores >=2.6.0,<2.7.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-phastcons7way.ucsc.hg38-3.7.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-genomicscores >=2.10.0,<2.11.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-phylop35way.ucsc.mm39-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicscores >=2.10.0,<2.11.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-phyloprofiledata-1.0.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.54.0,<2.55.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-phyloprofiledata-1.12.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocstyle >=2.26.0,<2.27.0", - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-phyloprofiledata-1.2.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.56.0,<2.57.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-phyloprofiledata-1.4.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-phyloprofiledata-1.4.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.58.0,<2.59.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-phyloprofiledata-1.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.60.0,<2.61.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-phyloprofiledata-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocstyle >=2.22.0,<2.23.0", - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-phyloprofiledata-1.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biocstyle >=2.22.0,<2.23.0", - "bioconductor-biostrings >=2.62.0,<2.63.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pig.db0-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pig.db0-3.11.2-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pig.db0-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pig.db0-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pig.db0-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pig.db0-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pig.db0-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pig.db0-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-pig.db0-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-plasfia-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-profia >=1.10.0,<1.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-plasfia-1.14.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-profia >=1.12.0,<1.13.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-plasfia-1.16.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-profia >=1.14.0,<1.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-plasfia-1.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-profia >=1.15.0,<1.16.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-plasfia-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-profia >=1.15.0,<1.16.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-plasfia-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-profia >=1.18.0,<1.19.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-plasfia-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-profia >=1.20.0,<1.21.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-plasfia-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-profia >=1.20.0,<1.21.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-plasfia-1.26.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "bioconductor-profia >=1.23.0,<1.24.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-plasmodiumanophelescdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-plasmodiumanophelescdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-plasmodiumanophelescdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-plasmodiumanophelescdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-plasmodiumanophelescdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-plasmodiumanophelescdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-plasmodiumanophelescdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-plasmodiumanophelescdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-plasmodiumanophelescdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-plasmodiumanophelesprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-plasmodiumanophelesprobe-2.18.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-plasmodiumanophelesprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-plasmodiumanophelesprobe-2.18.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-plasmodiumanophelesprobe-2.18.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-plasmodiumanophelesprobe-2.18.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-plasmodiumanophelesprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-plasmodiumanophelesprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-plasmodiumanophelesprobe-2.18.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-plotgardenerdata-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-plotgardenerdata-1.0.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-plotgardenerdata-1.3.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-pocrcannotation.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pocrcannotation.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pocrcannotation.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pocrcannotation.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pocrcannotation.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pocrcannotation.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pocrcannotation.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pocrcannotation.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pocrcannotation.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-polyphen.hsapiens.dbsnp131-1.0.2-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-variantannotation >=1.30.0,<1.31.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-polyphen.hsapiens.dbsnp131-1.0.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-variantannotation >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-polyphen.hsapiens.dbsnp131-1.0.2-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-variantannotation >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-polyphen.hsapiens.dbsnp131-1.0.2-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-variantannotation >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-polyphen.hsapiens.dbsnp131-1.0.2-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-variantannotation >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-polyphen.hsapiens.dbsnp131-1.0.2-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-variantannotation >=1.38.0,<1.39.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-polyphen.hsapiens.dbsnp131-1.0.2-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-variantannotation >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-polyphen.hsapiens.dbsnp131-1.0.2-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-variantannotation >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-polyphen.hsapiens.dbsnp131-1.0.2-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-variantannotation >=1.44.0,<1.45.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-poplarcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-poplarcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-poplarcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-poplarcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-poplarcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-poplarcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-poplarcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-poplarcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-poplarcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-poplarprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-poplarprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-poplarprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-poplarprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-poplarprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-poplarprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-poplarprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-poplarprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-poplarprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-porcine.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.ss.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-porcine.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.ss.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-porcine.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.ss.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-porcine.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.ss.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-porcine.db-3.2.3-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.ss.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-porcine.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.ss.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-porcine.db-3.2.3-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.ss.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-porcine.db-3.2.3-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.ss.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-porcine.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.ss.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-porcinecdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-porcinecdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-porcinecdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-porcinecdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-porcinecdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-porcinecdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-porcinecdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-porcinecdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-porcinecdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-porcineprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-porcineprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-porcineprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-porcineprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-porcineprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-porcineprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-porcineprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-porcineprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-porcineprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ppidata-0.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-graph >=1.62.0,<1.63.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ppidata-0.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-graph >=1.64.0,<1.65.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ppidata-0.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-graph >=1.66.0,<1.67.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ppidata-0.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-graph >=1.68.0,<1.69.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ppidata-0.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-graph >=1.68.0,<1.69.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ppidata-0.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-graph >=1.70.0,<1.71.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ppidata-0.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-graph >=1.72.0,<1.73.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ppidata-0.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-graph >=1.72.0,<1.73.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-prebsdata-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-prebsdata-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-prebsdata-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-prebsdata-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prebsdata-1.25.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prebsdata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prebsdata-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prebsdata-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-prebsdata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-prebsdata-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-prebsdata-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-precisetadhub-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-precisetadhub-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-precisetadhub-1.2.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-precisetadhub-1.6.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-predasampledata-0.24.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.62.0,<1.63.0", - "bioconductor-annotate >=1.62.0,<1.63.0", - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-preda >=1.30.0,<1.31.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-predasampledata-0.26.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.64.0,<1.65.0", - "bioconductor-annotate >=1.64.0,<1.65.0", - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-preda >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-predasampledata-0.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.66.0,<1.67.0", - "bioconductor-annotate >=1.66.0,<1.67.0", - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-preda >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-predasampledata-0.30.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-annotate >=1.68.0,<1.69.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-preda >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-predasampledata-0.30.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-annotate >=1.68.0,<1.69.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-preda >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-predasampledata-0.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.70.0,<1.71.0", - "bioconductor-annotate >=1.70.0,<1.71.0", - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-preda >=1.38.0,<1.39.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-predasampledata-0.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-annotate >=1.72.0,<1.73.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-preda >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-predasampledata-0.34.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-annotate >=1.72.0,<1.73.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-preda >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-predasampledata-0.38.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.76.0,<1.77.0", - "bioconductor-annotate >=1.76.0,<1.77.0", - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221108", - "bioconductor-preda >=1.44.0,<1.45.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-primeviewcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-primeviewcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-primeviewcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-primeviewcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-primeviewcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-primeviewcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-primeviewcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-primeviewcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-primeviewcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-primeviewprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-primeviewprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-primeviewprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-primeviewprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-primeviewprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-primeviewprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-primeviewprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-primeviewprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-primeviewprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-prodata-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-prodata-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-prodata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prodata-1.27.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prodata-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prodata-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prodata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-prodata-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-prodata-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-prodata-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-prolocdata-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-msnbase >=2.10.0,<2.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-prolocdata-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-msnbase >=2.12.0,<2.13.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-prolocdata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-msnbase >=2.14.0,<2.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prolocdata-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-msnbase >=2.16.0,<2.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prolocdata-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-msnbase >=2.16.0,<2.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prolocdata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-msnbase >=2.18.0,<2.19.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-prolocdata-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-msnbase >=2.20.0,<2.21.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-prolocdata-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-msnbase >=2.20.0,<2.21.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-prolocdata-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221105", - "bioconductor-msnbase >=2.24.0,<2.25.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-prostatecancercamcap-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-prostatecancercamcap-1.14.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-prostatecancercamcap-1.16.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prostatecancercamcap-1.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prostatecancercamcap-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prostatecancercamcap-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-prostatecancercamcap-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-prostatecancercamcap-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-prostatecancercamcap-1.26.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-prostatecancergrasso-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-prostatecancergrasso-1.14.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-prostatecancergrasso-1.16.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prostatecancergrasso-1.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prostatecancergrasso-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prostatecancergrasso-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-prostatecancergrasso-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-prostatecancergrasso-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-prostatecancergrasso-1.26.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-prostatecancerstockholm-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-prostatecancerstockholm-1.14.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-prostatecancerstockholm-1.16.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prostatecancerstockholm-1.17.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prostatecancerstockholm-1.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prostatecancerstockholm-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prostatecancerstockholm-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-prostatecancerstockholm-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-prostatecancerstockholm-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-prostatecancerstockholm-1.26.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221105", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-prostatecancertaylor-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-prostatecancertaylor-1.14.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-prostatecancertaylor-1.16.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prostatecancertaylor-1.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prostatecancertaylor-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prostatecancertaylor-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-prostatecancertaylor-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-prostatecancertaylor-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-prostatecancertaylor-1.26.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-prostatecancervarambally-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-prostatecancervarambally-1.14.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-prostatecancervarambally-1.16.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prostatecancervarambally-1.17.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prostatecancervarambally-1.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prostatecancervarambally-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-prostatecancervarambally-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-prostatecancervarambally-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-prostatecancervarambally-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-prostatecancervarambally-1.26.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ptairdata-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ptairdata-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rhdf5 >=2.38.0,<2.39.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-signal" - ] - }, - "bioconductor-ptairdata-1.2.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rhdf5 >=2.38.0,<2.39.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-signal" - ] - }, - "bioconductor-ptairdata-1.5.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-rhdf5 >=2.42.0,<2.43.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-signal" - ] - }, - "bioconductor-pth2o2lipids-1.10.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-camera >=1.40.0,<1.41.0", - "bioconductor-lobstahs >=1.10.0,<1.11.0", - "bioconductor-xcms >=3.6.0,<3.7.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pth2o2lipids-1.12.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-camera >=1.42.0,<1.43.0", - "bioconductor-lobstahs >=1.12.0,<1.13.0", - "bioconductor-xcms >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pth2o2lipids-1.14.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-camera >=1.44.0,<1.45.0", - "bioconductor-lobstahs >=1.14.0,<1.15.0", - "bioconductor-xcms >=3.10.0,<3.11.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pth2o2lipids-1.16.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-camera >=1.46.0,<1.47.0", - "bioconductor-lobstahs >=1.16.0,<1.17.0", - "bioconductor-xcms >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pth2o2lipids-1.16.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-camera >=1.46.0,<1.47.0", - "bioconductor-lobstahs >=1.16.0,<1.17.0", - "bioconductor-xcms >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pth2o2lipids-1.18.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-camera >=1.48.0,<1.49.0", - "bioconductor-lobstahs >=1.18.0,<1.19.0", - "bioconductor-xcms >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pth2o2lipids-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-camera >=1.50.0,<1.51.0", - "bioconductor-lobstahs >=1.20.0,<1.21.0", - "bioconductor-xcms >=3.16.0,<3.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pth2o2lipids-1.20.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-camera >=1.50.0,<1.51.0", - "bioconductor-lobstahs >=1.20.0,<1.21.0", - "bioconductor-xcms >=3.16.0,<3.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pth2o2lipids-1.24.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-camera >=1.54.0,<1.55.0", - "bioconductor-data-packages >=20221106", - "bioconductor-lobstahs >=1.24.0,<1.25.0", - "bioconductor-xcms >=3.20.0,<3.21.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-pumadata-2.20.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.62.0,<1.63.0", - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-oligo >=1.48.0,<1.49.0", - "bioconductor-puma >=3.26.0,<3.27.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pumadata-2.22.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-oligo >=1.50.0,<1.51.0", - "bioconductor-puma >=3.28.0,<3.29.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pumadata-2.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-oligo >=1.52.0,<1.53.0", - "bioconductor-puma >=3.30.0,<3.31.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pumadata-2.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-puma >=3.32.0,<3.33.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pumadata-2.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-oligo >=1.54.0,<1.55.0", - "bioconductor-puma >=3.32.0,<3.33.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pumadata-2.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-oligo >=1.56.0,<1.57.0", - "bioconductor-puma >=3.34.0,<3.35.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pumadata-2.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-puma >=3.36.0,<3.37.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pumadata-2.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-oligo >=1.58.0,<1.59.0", - "bioconductor-puma >=3.36.0,<3.37.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pumadata-2.34.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221108", - "bioconductor-oligo >=1.62.0,<1.63.0", - "bioconductor-puma >=3.40.0,<3.41.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-pwmenrich.dmelanogaster.background-4.18.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-pwmenrich >=4.20.0,<4.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pwmenrich.dmelanogaster.background-4.20.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-pwmenrich >=4.22.0,<4.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pwmenrich.dmelanogaster.background-4.22.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-pwmenrich >=4.23.0,<4.24.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pwmenrich.dmelanogaster.background-4.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-pwmenrich >=4.26.0,<4.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pwmenrich.dmelanogaster.background-4.24.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-pwmenrich >=4.26.0,<4.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pwmenrich.dmelanogaster.background-4.26.1-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-pwmenrich >=4.28.0,<4.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pwmenrich.dmelanogaster.background-4.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-pwmenrich >=4.30.0,<4.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pwmenrich.dmelanogaster.background-4.28.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-pwmenrich >=4.30.0,<4.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pwmenrich.dmelanogaster.background-4.32.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221107", - "bioconductor-pwmenrich >=4.34.0,<4.35.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-pwmenrich.hsapiens.background-4.18.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-pwmenrich >=4.20.0,<4.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pwmenrich.hsapiens.background-4.20.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-pwmenrich >=4.22.0,<4.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pwmenrich.hsapiens.background-4.22.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-pwmenrich >=4.23.0,<4.24.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pwmenrich.hsapiens.background-4.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-pwmenrich >=4.26.0,<4.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pwmenrich.hsapiens.background-4.24.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-pwmenrich >=4.26.0,<4.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pwmenrich.hsapiens.background-4.26.1-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-pwmenrich >=4.28.0,<4.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pwmenrich.hsapiens.background-4.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-pwmenrich >=4.30.0,<4.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pwmenrich.hsapiens.background-4.28.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-pwmenrich >=4.30.0,<4.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pwmenrich.hsapiens.background-4.32.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221107", - "bioconductor-pwmenrich >=4.34.0,<4.35.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-pwmenrich.mmusculus.background-4.18.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-pwmenrich >=4.20.0,<4.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pwmenrich.mmusculus.background-4.20.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-pwmenrich >=4.22.0,<4.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pwmenrich.mmusculus.background-4.22.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-pwmenrich >=4.23.0,<4.24.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pwmenrich.mmusculus.background-4.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-pwmenrich >=4.26.0,<4.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pwmenrich.mmusculus.background-4.24.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-pwmenrich >=4.26.0,<4.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pwmenrich.mmusculus.background-4.26.1-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-pwmenrich >=4.28.0,<4.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pwmenrich.mmusculus.background-4.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-pwmenrich >=4.30.0,<4.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pwmenrich.mmusculus.background-4.28.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-pwmenrich >=4.30.0,<4.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pwmenrich.mmusculus.background-4.32.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221107", - "bioconductor-pwmenrich >=4.34.0,<4.35.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-pwrewas.data-1.0.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-pwrewas.data-1.12.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221109", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-pwrewas.data-1.2.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pwrewas.data-1.4.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pwrewas.data-1.4.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-pwrewas.data-1.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pwrewas.data-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-pwrewas.data-1.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-qdnaseq.hg19-1.14.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-qdnaseq >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-qdnaseq.hg19-1.16.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-qdnaseq >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-qdnaseq.hg19-1.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-qdnaseq >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-qdnaseq.hg19-1.20.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-qdnaseq >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-qdnaseq.hg19-1.20.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-qdnaseq >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-qdnaseq.hg19-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-qdnaseq >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-qdnaseq.hg19-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-qdnaseq >=1.30.0,<1.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-qdnaseq.hg19-1.24.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-qdnaseq >=1.30.0,<1.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-qdnaseq.hg19-1.28.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221107", - "bioconductor-qdnaseq >=1.34.0,<1.35.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-qdnaseq.mm10-1.14.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-qdnaseq >=1.20.0,<1.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-qdnaseq.mm10-1.16.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-qdnaseq >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-qdnaseq.mm10-1.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-qdnaseq >=1.24.0,<1.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-qdnaseq.mm10-1.20.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-qdnaseq >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-qdnaseq.mm10-1.20.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-qdnaseq >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-qdnaseq.mm10-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-qdnaseq >=1.28.0,<1.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-qdnaseq.mm10-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-qdnaseq >=1.30.0,<1.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-qdnaseq.mm10-1.24.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-qdnaseq >=1.30.0,<1.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-qdnaseq.mm10-1.28.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221107", - "bioconductor-qdnaseq >=1.34.0,<1.35.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-qplexdata-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-msnbase >=2.18.0,<2.19.0", - "bioconductor-qplexanalyzer >=1.10.0,<1.11.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dplyr", - "r-knitr" - ] - }, - "bioconductor-qplexdata-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-msnbase >=2.20.0,<2.21.0", - "bioconductor-qplexanalyzer >=1.12.0,<1.13.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dplyr", - "r-knitr" - ] - }, - "bioconductor-qplexdata-1.12.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-msnbase >=2.20.0,<2.21.0", - "bioconductor-qplexanalyzer >=1.12.0,<1.13.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dplyr", - "r-knitr" - ] - }, - "bioconductor-qplexdata-1.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "bioconductor-msnbase >=2.24.0,<2.25.0", - "bioconductor-qplexanalyzer >=1.16.0,<1.17.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dplyr", - "r-knitr" - ] - }, - "bioconductor-qplexdata-1.2.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-msnbase >=2.10.0,<2.11.0", - "bioconductor-qplexanalyzer >=1.2.0,<1.3.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dplyr", - "r-knitr" - ] - }, - "bioconductor-qplexdata-1.4.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-msnbase >=2.12.0,<2.13.0", - "bioconductor-qplexanalyzer >=1.4.0,<1.5.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dplyr", - "r-knitr" - ] - }, - "bioconductor-qplexdata-1.6.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-msnbase >=2.14.0,<2.15.0", - "bioconductor-qplexanalyzer >=1.6.0,<1.7.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dplyr", - "r-knitr" - ] - }, - "bioconductor-qplexdata-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-msnbase >=2.16.0,<2.17.0", - "bioconductor-qplexanalyzer >=1.8.0,<1.9.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dplyr", - "r-knitr" - ] - }, - "bioconductor-qplexdata-1.8.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-msnbase >=2.16.0,<2.17.0", - "bioconductor-qplexanalyzer >=1.8.0,<1.9.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dplyr", - "r-knitr" - ] - }, - "bioconductor-qubicdata-1.12.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-qubicdata-1.12.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-qubicdata-1.14.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-qubicdata-1.16.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-qubicdata-1.17.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-qubicdata-1.18.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-qubicdata-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-qubicdata-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-qubicdata-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-qubicdata-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-qubicdata-1.25.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-r10kcod.db-3.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-r10kcod.db-3.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-r10kcod.db-3.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-r10kcod.db-3.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-r10kcod.db-3.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-r10kcod.db-3.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-r10kcod.db-3.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-r10kcod.db-3.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-r10kcod.db-3.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rae230a.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rae230a.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rae230a.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rae230a.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rae230a.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rae230a.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rae230a.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rae230a.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rae230a.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rae230acdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rae230acdf-2.18.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rae230acdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rae230acdf-2.18.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rae230acdf-2.18.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rae230acdf-2.18.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rae230acdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rae230acdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rae230acdf-2.18.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rae230aprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rae230aprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rae230aprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rae230aprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rae230aprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rae230aprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rae230aprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rae230aprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rae230aprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rae230b.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rae230b.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rae230b.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rae230b.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rae230b.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rae230b.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rae230b.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rae230b.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rae230b.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rae230bcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rae230bcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rae230bcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rae230bcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rae230bcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rae230bcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rae230bcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rae230bcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rae230bcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rae230bprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rae230bprobe-2.18.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rae230bprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rae230bprobe-2.18.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rae230bprobe-2.18.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rae230bprobe-2.18.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rae230bprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rae230bprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rae230bprobe-2.18.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-raex10stprobeset.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-raex10stprobeset.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-raex10stprobeset.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-raex10stprobeset.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-raex10stprobeset.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-raex10stprobeset.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-raex10stprobeset.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-raex10stprobeset.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-raex10stprobeset.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-raex10sttranscriptcluster.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-raex10sttranscriptcluster.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-raex10sttranscriptcluster.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-raex10sttranscriptcluster.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-raex10sttranscriptcluster.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-raex10sttranscriptcluster.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-raex10sttranscriptcluster.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-raex10sttranscriptcluster.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-raex10sttranscriptcluster.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-raexexonprobesetlocation-1.15.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-raexexonprobesetlocation-1.15.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-raexexonprobesetlocation-1.15.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-raexexonprobesetlocation-1.15.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-raexexonprobesetlocation-1.15.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-raexexonprobesetlocation-1.15.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-raexexonprobesetlocation-1.15.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-raexexonprobesetlocation-1.15.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-raexexonprobesetlocation-1.15.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ragene10stprobeset.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ragene10stprobeset.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ragene10stprobeset.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene10stprobeset.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene10stprobeset.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene10stprobeset.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene10stprobeset.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene10stprobeset.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene10stprobeset.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ragene10sttranscriptcluster.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ragene10sttranscriptcluster.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ragene10sttranscriptcluster.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene10sttranscriptcluster.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene10sttranscriptcluster.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene10sttranscriptcluster.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene10sttranscriptcluster.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene10sttranscriptcluster.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene10sttranscriptcluster.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ragene10stv1cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ragene10stv1cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ragene10stv1cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene10stv1cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene10stv1cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene10stv1cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene10stv1cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene10stv1cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene10stv1cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ragene10stv1probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ragene10stv1probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ragene10stv1probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene10stv1probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene10stv1probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene10stv1probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene10stv1probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene10stv1probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene10stv1probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ragene11stprobeset.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ragene11stprobeset.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ragene11stprobeset.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene11stprobeset.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene11stprobeset.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene11stprobeset.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene11stprobeset.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene11stprobeset.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene11stprobeset.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ragene11sttranscriptcluster.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ragene11sttranscriptcluster.db-8.7.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ragene11sttranscriptcluster.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene11sttranscriptcluster.db-8.7.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene11sttranscriptcluster.db-8.7.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene11sttranscriptcluster.db-8.7.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene11sttranscriptcluster.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene11sttranscriptcluster.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene11sttranscriptcluster.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ragene20stprobeset.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ragene20stprobeset.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ragene20stprobeset.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene20stprobeset.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene20stprobeset.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene20stprobeset.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene20stprobeset.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene20stprobeset.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene20stprobeset.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ragene20sttranscriptcluster.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ragene20sttranscriptcluster.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ragene20sttranscriptcluster.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene20sttranscriptcluster.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene20sttranscriptcluster.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene20sttranscriptcluster.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene20sttranscriptcluster.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene20sttranscriptcluster.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene20sttranscriptcluster.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ragene21stprobeset.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ragene21stprobeset.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ragene21stprobeset.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene21stprobeset.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene21stprobeset.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene21stprobeset.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene21stprobeset.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene21stprobeset.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene21stprobeset.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ragene21sttranscriptcluster.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ragene21sttranscriptcluster.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ragene21sttranscriptcluster.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene21sttranscriptcluster.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene21sttranscriptcluster.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ragene21sttranscriptcluster.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene21sttranscriptcluster.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene21sttranscriptcluster.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ragene21sttranscriptcluster.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rat.db0-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rat.db0-3.11.2-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rat.db0-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rat.db0-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rat.db0-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rat.db0-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rat.db0-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rat.db0-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rat.db0-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rat2302.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rat2302.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rat2302.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rat2302.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rat2302.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rat2302.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rat2302.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rat2302.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rat2302.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rat2302cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rat2302cdf-2.18.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rat2302cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rat2302cdf-2.18.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rat2302cdf-2.18.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rat2302cdf-2.18.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rat2302cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rat2302cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rat2302cdf-2.18.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rat2302frmavecs-0.99.11-r36_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.62.0,<1.63.0", - "bioconductor-frma >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rat2302frmavecs-0.99.11-r36_2.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.64.0,<1.65.0", - "bioconductor-frma >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rat2302frmavecs-0.99.11-r40_3.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.66.0,<1.67.0", - "bioconductor-frma >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rat2302frmavecs-0.99.11-r40_4.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-frma >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rat2302frmavecs-0.99.11-r40hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-frma >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rat2302frmavecs-0.99.11-r41hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.70.0,<1.71.0", - "bioconductor-frma >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rat2302frmavecs-0.99.11-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-frma >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rat2302frmavecs-0.99.11-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-frma >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rat2302frmavecs-0.99.11-r42hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.76.0,<1.77.0", - "bioconductor-data-packages >=20221103", - "bioconductor-frma >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rat2302probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rat2302probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rat2302probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rat2302probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rat2302probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rat2302probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rat2302probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rat2302probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rat2302probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ratchrloc-2.1.6-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-ratchrloc-2.1.6-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ratchrloc-2.1.6-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ratchrloc-2.1.6-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ratchrloc-2.1.6-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ratchrloc-2.1.6-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ratchrloc-2.1.6-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ratchrloc-2.1.6-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ratchrloc-2.1.6-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ratchrloc-2.1.6-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rattoxfxcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rattoxfxcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rattoxfxcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rattoxfxcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rattoxfxcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rattoxfxcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rattoxfxcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rattoxfxcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rattoxfxcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rattoxfxprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rattoxfxprobe-2.18.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rattoxfxprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rattoxfxprobe-2.18.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rattoxfxprobe-2.18.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rattoxfxprobe-2.18.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rattoxfxprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rattoxfxprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rattoxfxprobe-2.18.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rattus.norvegicus-1.3.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "bioconductor-go.db >=3.8.0,<3.9.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "bioconductor-organismdbi >=1.26.0,<1.27.0", - "bioconductor-txdb.rnorvegicus.ucsc.rn5.refgene >=3.4.0,<3.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rattus.norvegicus-1.3.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "bioconductor-go.db >=3.10.0,<3.11.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "bioconductor-organismdbi >=1.28.0,<1.29.0", - "bioconductor-txdb.rnorvegicus.ucsc.rn5.refgene >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rattus.norvegicus-1.3.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "bioconductor-go.db >=3.11.0,<3.12.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "bioconductor-organismdbi >=1.30.0,<1.31.0", - "bioconductor-txdb.rnorvegicus.ucsc.rn5.refgene >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rattus.norvegicus-1.3.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "bioconductor-go.db >=3.12.1,<3.13.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "bioconductor-organismdbi >=1.32.0,<1.33.0", - "bioconductor-txdb.rnorvegicus.ucsc.rn5.refgene >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rattus.norvegicus-1.3.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "bioconductor-go.db >=3.12.1,<3.13.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "bioconductor-organismdbi >=1.32.0,<1.33.0", - "bioconductor-txdb.rnorvegicus.ucsc.rn5.refgene >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rattus.norvegicus-1.3.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "bioconductor-go.db >=3.13.0,<3.14.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "bioconductor-organismdbi >=1.34.0,<1.35.0", - "bioconductor-txdb.rnorvegicus.ucsc.rn5.refgene >=3.12.0,<3.13.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rattus.norvegicus-1.3.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "bioconductor-go.db >=3.14.0,<3.15.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "bioconductor-organismdbi >=1.36.0,<1.37.0", - "bioconductor-txdb.rnorvegicus.ucsc.rn5.refgene >=3.12.0,<3.13.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rattus.norvegicus-1.3.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "bioconductor-go.db >=3.14.0,<3.15.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "bioconductor-organismdbi >=1.36.0,<1.37.0", - "bioconductor-txdb.rnorvegicus.ucsc.rn5.refgene >=3.12.0,<3.13.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rattus.norvegicus-1.3.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "bioconductor-go.db >=3.16.0,<3.17.0", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "bioconductor-organismdbi >=1.40.0,<1.41.0", - "bioconductor-txdb.rnorvegicus.ucsc.rn5.refgene >=3.12.0,<3.13.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rcellminerdata-2.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rcellminerdata-2.11.2-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rcellminerdata-2.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rcellminerdata-2.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rcellminerdata-2.12.0-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rcellminerdata-2.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rcellminerdata-2.16.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rcellminerdata-2.16.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rcellminerdata-2.20.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rcellminerdata-2.6.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rcellminerdata-2.8.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rcistarget.hg19.motifdbs.cisbponly.500bp-1.10.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0", - "r-data.table" - ] - }, - "bioconductor-rcistarget.hg19.motifdbs.cisbponly.500bp-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0", - "r-data.table" - ] - }, - "bioconductor-rcistarget.hg19.motifdbs.cisbponly.500bp-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0", - "r-data.table" - ] - }, - "bioconductor-rcistarget.hg19.motifdbs.cisbponly.500bp-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0", - "r-data.table" - ] - }, - "bioconductor-rcistarget.hg19.motifdbs.cisbponly.500bp-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0", - "r-data.table" - ] - }, - "bioconductor-rcistarget.hg19.motifdbs.cisbponly.500bp-1.17.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-data.table" - ] - }, - "bioconductor-rcistarget.hg19.motifdbs.cisbponly.500bp-1.4.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0", - "r-data.table" - ] - }, - "bioconductor-rcistarget.hg19.motifdbs.cisbponly.500bp-1.4.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0", - "r-data.table" - ] - }, - "bioconductor-rcistarget.hg19.motifdbs.cisbponly.500bp-1.6.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0", - "r-data.table" - ] - }, - "bioconductor-rcistarget.hg19.motifdbs.cisbponly.500bp-1.8.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0", - "r-data.table" - ] - }, - "bioconductor-rcistarget.hg19.motifdbs.cisbponly.500bp-1.9.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0", - "r-data.table" - ] - }, - "bioconductor-reactome.db-1.68.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-reactome.db-1.70.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-reactome.db-1.70.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-reactome.db-1.74.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-reactome.db-1.74.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-reactome.db-1.76.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-reactome.db-1.77.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-reactome.db-1.77.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-reactome.db-1.82.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-reactomegsa.data-1.0.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-edger >=3.28.0,<3.29.0", - "bioconductor-limma >=3.42.0,<3.43.0", - "bioconductor-reactomegsa >=1.0.0,<1.1.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-reactomegsa.data-1.11.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-edger >=3.40.0,<3.41.0", - "bioconductor-limma >=3.54.0,<3.55.0", - "bioconductor-reactomegsa >=1.12.0,<1.13.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-seurat" - ] - }, - "bioconductor-reactomegsa.data-1.2.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-edger >=3.30.0,<3.31.0", - "bioconductor-limma >=3.44.0,<3.45.0", - "bioconductor-reactomegsa >=1.2.0,<1.3.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-seurat" - ] - }, - "bioconductor-reactomegsa.data-1.4.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-edger >=3.32.0,<3.33.0", - "bioconductor-limma >=3.46.0,<3.47.0", - "bioconductor-reactomegsa >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-seurat" - ] - }, - "bioconductor-reactomegsa.data-1.4.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-edger >=3.32.0,<3.33.0", - "bioconductor-limma >=3.46.0,<3.47.0", - "bioconductor-reactomegsa >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-seurat" - ] - }, - "bioconductor-reactomegsa.data-1.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-edger >=3.34.0,<3.35.0", - "bioconductor-limma >=3.48.0,<3.49.0", - "bioconductor-reactomegsa >=1.6.0,<1.7.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-seurat" - ] - }, - "bioconductor-reactomegsa.data-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-edger >=3.36.0,<3.37.0", - "bioconductor-limma >=3.50.0,<3.51.0", - "bioconductor-reactomegsa >=1.8.0,<1.9.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-seurat" - ] - }, - "bioconductor-reactomegsa.data-1.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-edger >=3.36.0,<3.37.0", - "bioconductor-limma >=3.50.0,<3.51.0", - "bioconductor-reactomegsa >=1.8.0,<1.9.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-seurat" - ] - }, - "bioconductor-regparallel-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-arm", - "r-base >=4.1,<4.2.0a0", - "r-data.table", - "r-doparallel", - "r-foreach", - "r-iterators", - "r-stringr", - "r-survival" - ] - }, - "bioconductor-regparallel-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-arm", - "r-base >=4.1,<4.2.0a0", - "r-data.table", - "r-doparallel", - "r-foreach", - "r-iterators", - "r-stringr", - "r-survival" - ] - }, - "bioconductor-regparallel-1.12.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-arm", - "r-base >=4.1,<4.2.0a0", - "r-data.table", - "r-doparallel", - "r-foreach", - "r-iterators", - "r-stringr", - "r-survival" - ] - }, - "bioconductor-regparallel-1.15.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-arm", - "r-base >=4.2,<4.3.0a0", - "r-data.table", - "r-doparallel", - "r-foreach", - "r-iterators", - "r-stringr", - "r-survival" - ] - }, - "bioconductor-regparallel-1.2.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-arm", - "r-base >=3.5.1,<3.5.2.0a0", - "r-data.table", - "r-doparallel", - "r-foreach", - "r-iterators", - "r-mass", - "r-stringr", - "r-survival" - ] - }, - "bioconductor-regparallel-1.2.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-arm", - "r-base >=3.6,<3.7.0a0", - "r-data.table", - "r-doparallel", - "r-foreach", - "r-iterators", - "r-mass", - "r-stringr", - "r-survival" - ] - }, - "bioconductor-regparallel-1.4.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-arm", - "r-base >=3.6,<3.7.0a0", - "r-data.table", - "r-doparallel", - "r-foreach", - "r-iterators", - "r-mass", - "r-stringr", - "r-survival" - ] - }, - "bioconductor-regparallel-1.6.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-arm", - "r-base >=4.0,<4.1.0a0", - "r-data.table", - "r-doparallel", - "r-foreach", - "r-iterators", - "r-stringr", - "r-survival" - ] - }, - "bioconductor-regparallel-1.7.6-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-arm", - "r-base >=4.0,<4.1.0a0", - "r-data.table", - "r-doparallel", - "r-foreach", - "r-iterators", - "r-stringr", - "r-survival" - ] - }, - "bioconductor-regparallel-1.8.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-arm", - "r-base >=4.0,<4.1.0a0", - "r-data.table", - "r-doparallel", - "r-foreach", - "r-iterators", - "r-stringr", - "r-survival" - ] - }, - "bioconductor-regparallel-1.8.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-arm", - "r-base >=4.0,<4.1.0a0", - "r-data.table", - "r-doparallel", - "r-foreach", - "r-iterators", - "r-stringr", - "r-survival" - ] - }, - "bioconductor-restfulsedata-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-restfulsedata-1.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-restfulsedata-1.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-restfulsedata-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-restfulsedata-1.16.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-restfulsedata-1.16.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-restfulsedata-1.20.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221109", - "bioconductor-delayedarray >=0.24.0,<0.25.0", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-hdf5array >=1.26.0,<1.27.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-restfulsedata-1.6.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-restfulsedata-1.8.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rforproteomics-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biocviews >=1.52.0,<1.53.0", - "bioconductor-msnbase >=2.10.0,<2.11.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-biocmanager", - "r-r.utils", - "r-shiny" - ] - }, - "bioconductor-rforproteomics-1.23.1-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biocviews >=1.54.0,<1.55.0", - "bioconductor-msnbase >=2.12.0,<2.13.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-biocmanager", - "r-r.utils", - "r-shiny" - ] - }, - "bioconductor-rforproteomics-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biocviews >=1.56.0,<1.57.0", - "bioconductor-msnbase >=2.14.0,<2.15.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-biocmanager", - "r-r.utils", - "r-shiny" - ] - }, - "bioconductor-rforproteomics-1.27.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biocviews >=1.58.0,<1.59.0", - "bioconductor-msnbase >=2.16.0,<2.17.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-biocmanager", - "r-r.utils", - "r-shiny" - ] - }, - "bioconductor-rforproteomics-1.28.1-r40hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocviews >=1.58.0,<1.59.0", - "bioconductor-msnbase >=2.16.0,<2.17.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-biocmanager", - "r-r.utils", - "r-shiny" - ] - }, - "bioconductor-rforproteomics-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocviews >=1.60.0,<1.61.0", - "bioconductor-msnbase >=2.18.0,<2.19.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-biocmanager", - "r-r.utils" - ] - }, - "bioconductor-rforproteomics-1.31.1-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocviews >=1.62.0,<1.63.0", - "bioconductor-msnbase >=2.20.0,<2.21.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-biocmanager", - "r-r.utils" - ] - }, - "bioconductor-rforproteomics-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biocviews >=1.62.0,<1.63.0", - "bioconductor-msnbase >=2.20.0,<2.21.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-biocmanager", - "r-r.utils" - ] - }, - "bioconductor-rforproteomics-1.35.1-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocviews >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-msnbase >=2.24.0,<2.25.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-biocmanager", - "r-r.utils" - ] - }, - "bioconductor-rgenometracksdata-0.99.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgenometracksdata-0.99.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgenometracksdata-0.99.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rgmqllib-1.10.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgmqllib-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgmqllib-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgmqllib-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgmqllib-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgmqllib-1.17.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rgmqllib-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221107", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rgmqllib-1.4.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-rgmqllib-1.4.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgmqllib-1.6.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgmqllib-1.8.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgmqllib-1.9.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34a.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34a.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34a.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rgu34a.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgu34a.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgu34a.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34a.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34a.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34a.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34acdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgu34acdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgu34acdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34acdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34acdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34acdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34acdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34acdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34acdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rgu34aprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgu34aprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgu34aprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34aprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34aprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34aprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34aprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34aprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34aprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rgu34b.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34b.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34b.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rgu34b.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgu34b.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgu34b.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34b.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34b.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34b.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34bcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgu34bcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgu34bcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34bcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34bcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34bcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34bcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34bcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34bcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rgu34bprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgu34bprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgu34bprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34bprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34bprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34bprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34bprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34bprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34bprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rgu34c.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34c.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34c.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rgu34c.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgu34c.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgu34c.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34c.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34c.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34c.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34ccdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgu34ccdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgu34ccdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34ccdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34ccdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34ccdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34ccdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34ccdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34ccdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rgu34cprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgu34cprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgu34cprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34cprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34cprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgu34cprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34cprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34cprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgu34cprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rguatlas4k.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rguatlas4k.db-3.2.3-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rguatlas4k.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rguatlas4k.db-3.2.3-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rguatlas4k.db-3.2.3-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rguatlas4k.db-3.2.3-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rguatlas4k.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rguatlas4k.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rguatlas4k.db-3.2.3-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rgug4105a.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgug4105a.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgug4105a.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgug4105a.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgug4105a.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgug4105a.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgug4105a.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgug4105a.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgug4105a.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rgug4130a.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgug4130a.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgug4130a.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgug4130a.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgug4130a.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgug4130a.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgug4130a.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgug4130a.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgug4130a.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rgug4131a.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgug4131a.db-3.2.3-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rgug4131a.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgug4131a.db-3.2.3-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgug4131a.db-3.2.3-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rgug4131a.db-3.2.3-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgug4131a.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgug4131a.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rgug4131a.db-3.2.3-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rhesus.db0-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rhesus.db0-3.11.2-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rhesus.db0-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rhesus.db0-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rhesus.db0-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rhesus.db0-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rhesus.db0-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rhesus.db0-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rhesus.db0-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rhesuscdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rhesuscdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rhesuscdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rhesuscdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rhesuscdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rhesuscdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rhesuscdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rhesuscdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rhesuscdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rhesusprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rhesusprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rhesusprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rhesusprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rhesusprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rhesusprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rhesusprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rhesusprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rhesusprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rheumaticconditionwollbold-1.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-rheumaticconditionwollbold-1.22.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rheumaticconditionwollbold-1.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rheumaticconditionwollbold-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rheumaticconditionwollbold-1.27.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rheumaticconditionwollbold-1.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rheumaticconditionwollbold-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rheumaticconditionwollbold-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rheumaticconditionwollbold-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rheumaticconditionwollbold-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rheumaticconditionwollbold-1.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ri16cod.db-3.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ri16cod.db-3.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ri16cod.db-3.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ri16cod.db-3.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ri16cod.db-3.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ri16cod.db-3.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ri16cod.db-3.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ri16cod.db-3.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ri16cod.db-3.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ribosomaldatabaseproject11.5mgdb-1.00.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-metagenomefeatures >=2.4.0,<2.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ribosomaldatabaseproject11.5mgdb-1.00.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-metagenomefeatures >=2.6.0,<2.7.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ribosomaldatabaseproject11.5mgdb-1.00.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-metagenomefeatures >=2.8.0,<2.9.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ribosomaldatabaseproject11.5mgdb-1.00.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-metagenomefeatures >=2.10.0,<2.11.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ribosomaldatabaseproject11.5mgdb-1.00.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-metagenomefeatures >=2.10.0,<2.11.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ricecdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ricecdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ricecdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ricecdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ricecdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ricecdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ricecdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ricecdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ricecdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-riceprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-riceprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-riceprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-riceprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-riceprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-riceprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-riceprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-riceprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-riceprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ripseekerdata-1.20.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-ripseeker >=1.24.0,<1.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ripseekerdata-1.22.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-ripseeker >=1.26.0,<1.27.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ritandata-1.10.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ritandata-1.12.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ritandata-1.13.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ritandata-1.14.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ritandata-1.14.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ritandata-1.16.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ritandata-1.18.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ritandata-1.18.1-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ritandata-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221027", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ritandata-1.21.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ritandata-1.22.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221109", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ritandata-1.8.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-ritandata-1.8.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rlhub-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rlhub-1.0.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rlhub-1.4.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rmassbankdata-1.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-rmassbankdata-1.22.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rmassbankdata-1.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rmassbankdata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rmassbankdata-1.27.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rmassbankdata-1.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rmassbankdata-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rmassbankdata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rmassbankdata-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rmassbankdata-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rmassbankdata-1.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rmir.hs.mirna-1.0.7-r36_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rmir.hs.mirna-1.0.7-r36_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rmir.hs.mirna-1.0.7-r40_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rmir.hs.mirna-1.0.7-r40_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rmir.hs.mirna-1.0.7-r40hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rmir.hs.mirna-1.0.7-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rmir.hs.mirna-1.0.7-r41hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rmir.hs.mirna-1.0.7-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rmir.hs.mirna-1.0.7-r42hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rmir.hsa-1.0.5-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rmir.hsa-1.0.5-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rmir.hsa-1.0.5-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rmir.hsa-1.0.5-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rmir.hsa-1.0.5-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rmir.hsa-1.0.5-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rmir.hsa-1.0.5-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rmir.hsa-1.0.5-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rmir.hsa-1.0.5-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rnagilentdesign028282.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rnagilentdesign028282.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rnagilentdesign028282.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnagilentdesign028282.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnagilentdesign028282.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnagilentdesign028282.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnagilentdesign028282.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnagilentdesign028282.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnagilentdesign028282.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rnainteractmapk-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-genefilter >=1.66.0,<1.67.0", - "bioconductor-rnainteract >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-fields", - "r-gdata", - "r-mass", - "r-sparselda" - ] - }, - "bioconductor-rnainteractmapk-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-genefilter >=1.68.0,<1.69.0", - "bioconductor-rnainteract >=1.34.0,<1.35.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-fields", - "r-gdata", - "r-mass", - "r-sparselda" - ] - }, - "bioconductor-rnainteractmapk-1.25.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-genefilter >=1.70.0,<1.71.0", - "bioconductor-rnainteract >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-fields", - "r-gdata", - "r-mass", - "r-sparselda" - ] - }, - "bioconductor-rnainteractmapk-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-genefilter >=1.74.0,<1.75.0", - "bioconductor-rnainteract >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-fields", - "r-gdata", - "r-lattice", - "r-mass", - "r-sparselda" - ] - }, - "bioconductor-rnainteractmapk-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-genefilter >=1.76.0,<1.77.0", - "bioconductor-rnainteract >=1.42.0,<1.43.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-fields", - "r-gdata", - "r-lattice", - "r-mass", - "r-sparselda" - ] - }, - "bioconductor-rnainteractmapk-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-genefilter >=1.76.0,<1.77.0", - "bioconductor-rnainteract >=1.42.0,<1.43.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-fields", - "r-gdata", - "r-lattice", - "r-mass", - "r-sparselda" - ] - }, - "bioconductor-rnainteractmapk-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221110", - "bioconductor-genefilter >=1.80.0,<1.81.0", - "bioconductor-rnainteract >=1.46.0,<1.47.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-fields", - "r-gdata", - "r-lattice", - "r-mass", - "r-sparselda" - ] - }, - "bioconductor-rnamodr.data-1.0.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-experimenthubdata >=1.12.0,<1.13.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rnamodr.data-1.12.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221109", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-experimenthubdata >=1.24.0,<1.25.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rnamodr.data-1.2.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-experimenthubdata >=1.14.0,<1.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnamodr.data-1.4.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-experimenthubdata >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnamodr.data-1.4.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-experimenthubdata >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnamodr.data-1.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-experimenthubdata >=1.18.0,<1.19.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnamodr.data-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-experimenthubdata >=1.20.0,<1.21.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnamodr.data-1.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-experimenthubdata >=1.20.0,<1.21.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnaseqdata.hnrnpc.bam.chr14-0.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-rnaseqdata.hnrnpc.bam.chr14-0.22.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rnaseqdata.hnrnpc.bam.chr14-0.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rnaseqdata.hnrnpc.bam.chr14-0.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnaseqdata.hnrnpc.bam.chr14-0.27.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnaseqdata.hnrnpc.bam.chr14-0.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnaseqdata.hnrnpc.bam.chr14-0.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnaseqdata.hnrnpc.bam.chr14-0.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnaseqdata.hnrnpc.bam.chr14-0.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnaseqdata.hnrnpc.bam.chr14-0.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnaseqdata.hnrnpc.bam.chr14-0.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rnaseqrdata-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnaseqrdata-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnaseqrdata-1.12.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnaseqrdata-1.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rnaseqrdata-1.2.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-rnaseqrdata-1.2.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rnaseqrdata-1.4.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rnaseqrdata-1.6.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnaseqrdata-1.7.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnaseqrdata-1.8.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnaseqrdata-1.8.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnaseqsamplesizedata-1.16.0-r351_0.tar.bz2": { - "depends": [ - "bioconductor-edger >=3.26.0,<3.27.0", - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-rnaseqsamplesizedata-1.16.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-edger >=3.26.0,<3.27.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rnaseqsamplesizedata-1.18.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-edger >=3.28.0,<3.29.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rnaseqsamplesizedata-1.20.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-edger >=3.30.0,<3.31.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnaseqsamplesizedata-1.21.2-r40_0.tar.bz2": { - "depends": [ - "bioconductor-edger >=3.32.0,<3.33.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnaseqsamplesizedata-1.22.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-edger >=3.32.0,<3.33.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnaseqsamplesizedata-1.22.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-edger >=3.32.0,<3.33.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnaseqsamplesizedata-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-edger >=3.34.0,<3.35.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnaseqsamplesizedata-1.26.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-edger >=3.36.0,<3.37.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnaseqsamplesizedata-1.26.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-edger >=3.36.0,<3.37.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnaseqsamplesizedata-1.29.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-edger >=3.40.0,<3.41.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rnaseqsamplesizedata-1.30.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-edger >=3.40.0,<3.41.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rnaseqsamplesizedata-1.30.0-r42hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221109", - "bioconductor-edger >=3.40.0,<3.41.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rnbeads.hg19-1.16.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rnbeads.hg19-1.18.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rnbeads.hg19-1.20.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnbeads.hg19-1.22.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnbeads.hg19-1.22.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnbeads.hg19-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnbeads.hg19-1.26.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnbeads.hg19-1.26.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnbeads.hg19-1.30.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rnbeads.hg38-1.16.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rnbeads.hg38-1.18.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rnbeads.hg38-1.20.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnbeads.hg38-1.22.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnbeads.hg38-1.22.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnbeads.hg38-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnbeads.hg38-1.26.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnbeads.hg38-1.26.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnbeads.hg38-1.30.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221105", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rnbeads.mm10-1.16.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rnbeads.mm10-1.18.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rnbeads.mm10-1.20.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnbeads.mm10-1.22.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnbeads.mm10-1.22.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnbeads.mm10-2.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnbeads.mm10-2.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnbeads.mm10-2.2.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnbeads.mm10-2.6.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rnbeads.mm9-1.16.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rnbeads.mm9-1.18.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rnbeads.mm9-1.20.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnbeads.mm9-1.22.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnbeads.mm9-1.22.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnbeads.mm9-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnbeads.mm9-1.26.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnbeads.mm9-1.26.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnbeads.mm9-1.30.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221105", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rnbeads.rn5-1.16.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rnbeads.rn5-1.18.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rnbeads.rn5-1.20.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnbeads.rn5-1.22.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnbeads.rn5-1.22.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnbeads.rn5-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnbeads.rn5-1.26.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnbeads.rn5-1.26.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnbeads.rn5-1.30.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221105", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rnu34.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnu34.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnu34.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rnu34.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rnu34.db-3.2.3-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rnu34.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnu34.db-3.2.3-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnu34.db-3.2.3-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnu34.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnu34cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rnu34cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rnu34cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnu34cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnu34cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnu34cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnu34cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnu34cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnu34cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rnu34probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rnu34probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rnu34probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnu34probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnu34probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rnu34probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnu34probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnu34probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rnu34probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-roberts2005annotation.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-roberts2005annotation.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-roberts2005annotation.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-roberts2005annotation.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-roberts2005annotation.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-roberts2005annotation.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-roberts2005annotation.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-roberts2005annotation.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-roberts2005annotation.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rrbsdata-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biseq >=1.30.0,<1.31.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rrbsdata-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biseq >=1.30.0,<1.31.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rrbsdata-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biseq >=1.32.0,<1.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rrbsdata-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biseq >=1.34.0,<1.35.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rrbsdata-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biseq >=1.34.0,<1.35.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rrbsdata-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biseq >=1.38.0,<1.39.0", - "bioconductor-data-packages >=20221109", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rrbsdata-1.4.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biseq >=1.24.0,<1.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rrbsdata-1.6.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biseq >=1.26.0,<1.27.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rrbsdata-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biseq >=1.28.0,<1.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rrdpdata-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rrdp >=1.24.0,<1.25.0", - "curl", - "openjdk", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rrdpdata-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rrdp >=1.24.0,<1.25.0", - "curl", - "openjdk", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rrdpdata-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rrdp >=1.26.0,<1.27.0", - "curl", - "openjdk", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rrdpdata-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rrdp >=1.28.0,<1.29.0", - "curl", - "openjdk", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rrdpdata-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rrdp >=1.28.0,<1.29.0", - "curl", - "openjdk", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rrdpdata-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "bioconductor-rrdp >=1.32.0,<1.33.0", - "curl", - "openjdk", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rrdpdata-1.4.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-rrdp >=1.18.0,<1.19.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rrdpdata-1.6.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-rrdp >=1.20.0,<1.21.0", - "curl", - "openjdk", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rrdpdata-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rrdp >=1.22.0,<1.23.0", - "curl", - "openjdk", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rta10probeset.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rta10probeset.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rta10probeset.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rta10probeset.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rta10probeset.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rta10probeset.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rta10probeset.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rta10probeset.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rta10probeset.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rta10transcriptcluster.db-8.7.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rta10transcriptcluster.db-8.7.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rta10transcriptcluster.db-8.7.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rta10transcriptcluster.db-8.7.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rta10transcriptcluster.db-8.7.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rta10transcriptcluster.db-8.7.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rta10transcriptcluster.db-8.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rta10transcriptcluster.db-8.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rta10transcriptcluster.db-8.8.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rtcga.clinical-20151101.14.0-r351_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.14.0,<1.15.0", - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-rtcga.clinical-20151101.14.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rtcga.clinical-20151101.16.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rtcga.clinical-20151101.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.clinical-20151101.19.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.clinical-20151101.20.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.clinical-20151101.20.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.clinical-20151101.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.clinical-20151101.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.clinical-20151101.24.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.clinical-20151101.27.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-rtcga >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rtcga.cnv-1.12.0-r351_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.14.0,<1.15.0", - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-rtcga.cnv-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rtcga.cnv-1.14.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rtcga.cnv-1.16.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.cnv-1.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.cnv-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.cnv-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.cnv-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.cnv-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.cnv-1.25.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-rtcga >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rtcga.methylation-1.12.0-r351_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.14.0,<1.15.0", - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-rtcga.methylation-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rtcga.methylation-1.14.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rtcga.methylation-1.16.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.methylation-1.17.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.methylation-1.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.methylation-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.methylation-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.methylation-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.methylation-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.methylation-1.25.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-rtcga >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rtcga.mirnaseq-1.12.0-r351_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.14.0,<1.15.0", - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-rtcga.mirnaseq-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rtcga.mirnaseq-1.14.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rtcga.mirnaseq-1.16.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.mirnaseq-1.17.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.mirnaseq-1.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.mirnaseq-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.mirnaseq-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.mirnaseq-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.mirnaseq-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.mirnaseq-1.25.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-rtcga >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rtcga.mrna-1.12.0-r351_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.14.0,<1.15.0", - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-rtcga.mrna-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rtcga.mrna-1.14.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rtcga.mrna-1.16.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.mrna-1.17.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.mrna-1.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.mrna-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.mrna-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.mrna-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.mrna-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.mrna-1.25.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-rtcga >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rtcga.mutations-20151101.14.0-r351_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.14.0,<1.15.0", - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-rtcga.mutations-20151101.14.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rtcga.mutations-20151101.16.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rtcga.mutations-20151101.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.mutations-20151101.20.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.mutations-20151101.20.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.mutations-20151101.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.mutations-20151101.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.mutations-20151101.24.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.mutations-20151101.27.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-rtcga >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rtcga.pancan12-1.12.0-r351_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.14.0,<1.15.0", - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-rtcga.pancan12-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rtcga.pancan12-1.14.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rtcga.pancan12-1.16.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.pancan12-1.17.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.pancan12-1.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.pancan12-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.pancan12-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.pancan12-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.pancan12-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.pancan12-1.25.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-rtcga >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rtcga.rnaseq-20151101.14.0-r351_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.14.0,<1.15.0", - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-rtcga.rnaseq-20151101.14.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rtcga.rnaseq-20151101.16.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rtcga.rnaseq-20151101.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.rnaseq-20151101.19.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.rnaseq-20151101.20.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.rnaseq-20151101.20.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.rnaseq-20151101.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.rnaseq-20151101.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.rnaseq-20151101.24.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.rnaseq-20151101.27.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-rtcga >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rtcga.rppa-1.12.0-r351_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.14.0,<1.15.0", - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-rtcga.rppa-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rtcga.rppa-1.14.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rtcga.rppa-1.16.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.rppa-1.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.rppa-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtcga.rppa-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.rppa-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.rppa-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rtcga >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtcga.rppa-1.25.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "bioconductor-rtcga >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rtu34.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtu34.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtu34.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rtu34.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rtu34.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rtu34.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtu34.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtu34.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtu34.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtu34cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rtu34cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rtu34cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtu34cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtu34cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtu34cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtu34cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtu34cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtu34cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-rtu34probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rtu34probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rtu34probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtu34probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtu34probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rtu34probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtu34probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtu34probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rtu34probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ruvnormalizedata-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ruvnormalizedata-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ruvnormalizedata-1.10.0-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ruvnormalizedata-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ruvnormalizedata-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ruvnormalizedata-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ruvnormalizedata-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ruvnormalizedata-1.4.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ruvnormalizedata-1.6.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ruvnormalizedata-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ruvnormalizedata-1.9.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rwgcod.db-3.4.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.rn.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rwgcod.db-3.4.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.rn.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-rwgcod.db-3.4.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.rn.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rwgcod.db-3.4.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rwgcod.db-3.4.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.rn.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-rwgcod.db-3.4.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.rn.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rwgcod.db-3.4.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rwgcod.db-3.4.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.rn.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-rwgcod.db-3.4.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.rn.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-sampleclassifierdata-1.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-sampleclassifierdata-1.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-sampleclassifierdata-1.14.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-sampleclassifierdata-1.14.1-r40hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-sampleclassifierdata-1.16.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-sampleclassifierdata-1.18.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-sampleclassifierdata-1.18.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-sampleclassifierdata-1.22.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-sampleclassifierdata-1.8.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-saureuscdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-saureuscdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-saureuscdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-saureuscdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-saureuscdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-saureuscdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-saureuscdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-saureuscdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-saureuscdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-saureusprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-saureusprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-saureusprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-saureusprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-saureusprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-saureusprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-saureusprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-saureusprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-saureusprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-sbgnview.data-1.0.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0", - "r-knitr", - "r-rmarkdown" - ] - }, - "bioconductor-sbgnview.data-1.11.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-bookdown", - "r-knitr", - "r-rmarkdown" - ] - }, - "bioconductor-sbgnview.data-1.12.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221107", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-bookdown", - "r-knitr", - "r-rmarkdown" - ] - }, - "bioconductor-sbgnview.data-1.2.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0", - "r-knitr", - "r-rmarkdown" - ] - }, - "bioconductor-sbgnview.data-1.4.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0", - "r-knitr", - "r-rmarkdown" - ] - }, - "bioconductor-sbgnview.data-1.4.1-r40hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0", - "r-bookdown", - "r-knitr", - "r-rmarkdown" - ] - }, - "bioconductor-sbgnview.data-1.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0", - "r-bookdown", - "r-knitr", - "r-rmarkdown" - ] - }, - "bioconductor-sbgnview.data-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0", - "r-bookdown", - "r-knitr", - "r-rmarkdown" - ] - }, - "bioconductor-sbgnview.data-1.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0", - "r-bookdown", - "r-knitr", - "r-rmarkdown" - ] - }, - "bioconductor-scanmirdata-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-scanmir >=1.0.0,<1.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-scanmirdata-1.0.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-scanmir >=1.0.0,<1.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-scanmirdata-1.4.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "bioconductor-scanmir >=1.4.0,<1.5.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-scannotatr.models-0.99.10-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-scannotatr.models-0.99.10-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-scannotatr.models-0.99.10-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-scatac.explorer-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocfilecache >=2.2.0,<2.3.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-data.table", - "r-matrix" - ] - }, - "bioconductor-scatac.explorer-1.0.1-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biocfilecache >=2.2.0,<2.3.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-data.table", - "r-matrix" - ] - }, - "bioconductor-scatac.explorer-1.4.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocfilecache >=2.6.0,<2.7.0", - "bioconductor-data-packages >=20221106", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "bioconductor-singlecellexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-data.table", - "r-matrix" - ] - }, - "bioconductor-scatedata-0.99.6-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-genomicalignments >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-scatedata-1.0.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-genomicalignments >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-scatedata-1.0.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-genomicalignments >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-scatedata-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-genomicalignments >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-scatedata-1.4.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-genomicalignments >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-scatedata-1.4.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-genomicalignments >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-scatedata-1.8.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221109", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-genomicalignments >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-sclcbam-1.16.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-sclcbam-1.16.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-sclcbam-1.18.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-sclcbam-1.20.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-sclcbam-1.21.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-sclcbam-1.22.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-sclcbam-1.22.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-sclcbam-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-sclcbam-1.26.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-sclcbam-1.26.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-sclcbam-1.29.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-scpdata-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-qfeatures >=1.2.0,<1.3.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "bioconductor-singlecellexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-scpdata-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-qfeatures >=1.4.0,<1.5.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-scpdata-1.2.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-qfeatures >=1.4.0,<1.5.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-scpdata-1.6.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-qfeatures >=1.8.0,<1.9.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "bioconductor-singlecellexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-scrnaseq-1.10.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-scrnaseq-1.99.8-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.32.0,<0.33.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "bioconductor-singlecellexperiment >=1.8.0,<1.9.0", - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-scrnaseq-2.12.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-biocgenerics >=0.44.0,<0.45.0", - "bioconductor-data-packages >=20221109", - "bioconductor-ensembldb >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "bioconductor-singlecellexperiment >=1.20.0,<1.21.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-scrnaseq-2.2.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.34.0,<0.35.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "bioconductor-singlecellexperiment >=1.10.0,<1.11.0", - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-scrnaseq-2.3.17-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-ensembldb >=2.14.0,<2.15.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-singlecellexperiment >=1.12.0,<1.13.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-scrnaseq-2.4.0-r40hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-ensembldb >=2.14.0,<2.15.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-singlecellexperiment >=1.12.0,<1.13.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-scrnaseq-2.4.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-ensembldb >=2.14.0,<2.15.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-singlecellexperiment >=1.12.0,<1.13.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-scrnaseq-2.6.1-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-biocgenerics >=0.38.0,<0.39.0", - "bioconductor-ensembldb >=2.16.0,<2.17.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "bioconductor-singlecellexperiment >=1.14.0,<1.15.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-scrnaseq-2.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-ensembldb >=2.18.0,<2.19.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-scrnaseq-2.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-ensembldb >=2.18.0,<2.19.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-scthi.data-1.0.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-scthi.data-1.1.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-scthi.data-1.2.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-scthi.data-1.2.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-scthi.data-1.4.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-scthi.data-1.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-scthi.data-1.6.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-scthi.data-1.9.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-seq2pathway.data-1.16.0-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-seq2pathway.data-1.16.0-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-seq2pathway.data-1.18.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-seq2pathway.data-1.20.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-seq2pathway.data-1.22.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-seq2pathway.data-1.22.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-seq2pathway.data-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-seq2pathway.data-1.26.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-seq2pathway.data-1.26.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-seq2pathway.data-1.29.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-seq2pathway.data-1.30.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221107", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-seq2pathway.data-1.30.0-r42hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-seqc-1.18.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-seqc-1.20.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-seqc-1.22.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-seqc-1.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-seqc-1.24.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-seqc-1.26.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-seqc-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-seqc-1.28.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-seqc-1.32.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-seqcna.annot-1.20.0-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-seqcna.annot-1.20.0-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-seqcna.annot-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-seqcna.annot-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-seqcna.annot-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-seqcna.annot-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-seqcna.annot-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-seqcna.annot-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-seqcna.annot-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-seqcna.annot-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-seqcna.annot-1.34.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-serumstimulation-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-serumstimulation-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-serumstimulation-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-serumstimulation-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-serumstimulation-1.25.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-serumstimulation-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-serumstimulation-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-serumstimulation-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-serumstimulation-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-serumstimulation-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-serumstimulation-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-sesamedata-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-curl", - "r-rmarkdown" - ] - }, - "bioconductor-sesamedata-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-curl", - "r-rmarkdown" - ] - }, - "bioconductor-sesamedata-1.12.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-curl", - "r-rmarkdown" - ] - }, - "bioconductor-sesamedata-1.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-readr", - "r-stringr" - ] - }, - "bioconductor-sesamedata-1.2.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.16.0,<2.17.0", - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-curl" - ] - }, - "bioconductor-sesamedata-1.4.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-curl" - ] - }, - "bioconductor-sesamedata-1.6.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-curl" - ] - }, - "bioconductor-sesamedata-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-curl" - ] - }, - "bioconductor-sesamedata-1.8.1-r40hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-curl" - ] - }, - "bioconductor-seventygenedata-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-seventygenedata-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-seventygenedata-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-seventygenedata-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-seventygenedata-1.25.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-seventygenedata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-seventygenedata-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-seventygenedata-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-seventygenedata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-seventygenedata-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-seventygenedata-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-sfedata-1.0.2-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-biocfilecache >=2.6.0,<2.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-shdz.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-shdz.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-shdz.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-shdz.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-shdz.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-shdz.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-shdz.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-shdz.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-shdz.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-shinymethyldata-1.10.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-shinymethyldata-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-shinymethyldata-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-shinymethyldata-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-shinymethyldata-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-shinymethyldata-1.17.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-shinymethyldata-1.4.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-shinymethyldata-1.4.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-shinymethyldata-1.6.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-shinymethyldata-1.8.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-shinymethyldata-1.9.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-sift.hsapiens.dbsnp132-1.0.2-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-variantannotation >=1.30.0,<1.31.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-sift.hsapiens.dbsnp132-1.0.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-variantannotation >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-sift.hsapiens.dbsnp132-1.0.2-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-variantannotation >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-sift.hsapiens.dbsnp132-1.0.2-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-variantannotation >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-sift.hsapiens.dbsnp132-1.0.2-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-variantannotation >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-sift.hsapiens.dbsnp132-1.0.2-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-variantannotation >=1.38.0,<1.39.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-sift.hsapiens.dbsnp132-1.0.2-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-variantannotation >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-sift.hsapiens.dbsnp132-1.0.2-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-variantannotation >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-sift.hsapiens.dbsnp132-1.0.2-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-variantannotation >=1.44.0,<1.45.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-sift.hsapiens.dbsnp137-1.0.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-variantannotation >=1.30.0,<1.31.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-sift.hsapiens.dbsnp137-1.0.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-variantannotation >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-sift.hsapiens.dbsnp137-1.0.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-variantannotation >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-sift.hsapiens.dbsnp137-1.0.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-variantannotation >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-sift.hsapiens.dbsnp137-1.0.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-variantannotation >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-sift.hsapiens.dbsnp137-1.0.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-variantannotation >=1.38.0,<1.39.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-sift.hsapiens.dbsnp137-1.0.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-variantannotation >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-sift.hsapiens.dbsnp137-1.0.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-variantannotation >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-sift.hsapiens.dbsnp137-1.0.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-variantannotation >=1.44.0,<1.45.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-rsqlite >=0.11.0" - ] - }, - "bioconductor-signaturesearchdata-0.99.14-r36_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.64.0,<1.65.0", - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-limma >=3.42.0,<3.43.0", - "bioconductor-rhdf5 >=2.30.0,<2.31.0", - "bioconductor-signaturesearch >=1.0.0,<1.1.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-dplyr", - "r-magrittr", - "r-r.utils" - ] - }, - "bioconductor-signaturesearchdata-1.12.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.76.0,<1.77.0", - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-limma >=3.54.0,<3.55.0", - "bioconductor-rhdf5 >=2.42.0,<2.43.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dplyr", - "r-magrittr", - "r-r.utils" - ] - }, - "bioconductor-signaturesearchdata-1.2.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.66.0,<1.67.0", - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-limma >=3.44.0,<3.45.0", - "bioconductor-rhdf5 >=2.32.0,<2.33.0", - "bioconductor-signaturesearch >=1.2.0,<1.3.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dplyr", - "r-magrittr", - "r-r.utils" - ] - }, - "bioconductor-signaturesearchdata-1.4.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-limma >=3.46.0,<3.47.0", - "bioconductor-rhdf5 >=2.34.0,<2.35.0", - "bioconductor-signaturesearch >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dplyr", - "r-magrittr", - "r-r.utils" - ] - }, - "bioconductor-signaturesearchdata-1.4.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-limma >=3.46.0,<3.47.0", - "bioconductor-rhdf5 >=2.34.0,<2.35.0", - "bioconductor-signaturesearch >=1.4.0,<1.5.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-dplyr", - "r-magrittr", - "r-r.utils" - ] - }, - "bioconductor-signaturesearchdata-1.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.70.0,<1.71.0", - "bioconductor-biobase >=2.52.0,<2.53.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-limma >=3.48.0,<3.49.0", - "bioconductor-rhdf5 >=2.36.0,<2.37.0", - "bioconductor-signaturesearch >=1.6.0,<1.7.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dplyr", - "r-magrittr", - "r-r.utils" - ] - }, - "bioconductor-signaturesearchdata-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-limma >=3.50.0,<3.51.0", - "bioconductor-rhdf5 >=2.38.0,<2.39.0", - "bioconductor-signaturesearch >=1.8.0,<1.9.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dplyr", - "r-magrittr", - "r-r.utils" - ] - }, - "bioconductor-signaturesearchdata-1.8.4-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-limma >=3.50.0,<3.51.0", - "bioconductor-rhdf5 >=2.38.0,<2.39.0", - "bioconductor-signaturesearch >=1.8.0,<1.9.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dplyr", - "r-magrittr", - "r-r.utils" - ] - }, - "bioconductor-silva128.1mgdb-1.00.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-metagenomefeatures >=2.4.0,<2.5.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-silva128.1mgdb-1.00.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-metagenomefeatures >=2.6.0,<2.7.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-silva128.1mgdb-1.00.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-metagenomefeatures >=2.8.0,<2.9.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-silva128.1mgdb-1.00.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-metagenomefeatures >=2.10.0,<2.11.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-silva128.1mgdb-1.00.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-metagenomefeatures >=2.10.0,<2.11.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-simbenchdata-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-simbenchdata-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-simbenchdata-1.2.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-simbenchdata-1.6.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-simpintlists-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-simpintlists-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-simpintlists-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-simpintlists-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-simpintlists-1.25.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-simpintlists-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-simpintlists-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-simpintlists-1.26.0-r40hdfd78af_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-simpintlists-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-simpintlists-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-simpintlists-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-simpintlists-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-single.mtec.transcriptomes-1.12.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-single.mtec.transcriptomes-1.12.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-single.mtec.transcriptomes-1.14.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-single.mtec.transcriptomes-1.16.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-single.mtec.transcriptomes-1.17.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-single.mtec.transcriptomes-1.18.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-single.mtec.transcriptomes-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-single.mtec.transcriptomes-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-single.mtec.transcriptomes-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-single.mtec.transcriptomes-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-single.mtec.transcriptomes-1.25.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-singlecellmultimodal-1.0.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-biocfilecache >=1.12.0,<1.13.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-multiassayexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rappdirs" - ] - }, - "bioconductor-singlecellmultimodal-1.1.19-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-biocfilecache >=1.14.0,<1.15.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-multiassayexperiment >=1.16.0,<1.17.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-singlecellexperiment >=1.12.0,<1.13.0", - "bioconductor-spatialexperiment >=1.0.0,<1.1.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-singlecellmultimodal-1.10.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-biocfilecache >=2.6.0,<2.7.0", - "bioconductor-biocgenerics >=0.44.0,<0.45.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-hdf5array >=1.26.0,<1.27.0", - "bioconductor-multiassayexperiment >=1.24.0,<1.25.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "bioconductor-singlecellexperiment >=1.20.0,<1.21.0", - "bioconductor-spatialexperiment >=1.8.0,<1.9.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-matrix" - ] - }, - "bioconductor-singlecellmultimodal-1.2.4-r40hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-biocfilecache >=1.14.0,<1.15.0", - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-hcamatrixbrowser >=1.0.0,<1.1.0", - "bioconductor-hdf5array >=1.18.0,<1.19.0", - "bioconductor-multiassayexperiment >=1.16.0,<1.17.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-singlecellexperiment >=1.12.0,<1.13.0", - "bioconductor-spatialexperiment >=1.0.0,<1.1.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-matrix" - ] - }, - "bioconductor-singlecellmultimodal-1.4.1-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-biocfilecache >=2.0.0,<2.1.0", - "bioconductor-biocgenerics >=0.38.0,<0.39.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-hdf5array >=1.20.0,<1.21.0", - "bioconductor-multiassayexperiment >=1.18.0,<1.19.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "bioconductor-singlecellexperiment >=1.14.0,<1.15.0", - "bioconductor-spatialexperiment >=1.2.0,<1.3.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-matrix" - ] - }, - "bioconductor-singlecellmultimodal-1.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-biocfilecache >=2.2.0,<2.3.0", - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-hdf5array >=1.22.0,<1.23.0", - "bioconductor-multiassayexperiment >=1.20.0,<1.21.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "bioconductor-spatialexperiment >=1.4.0,<1.5.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-matrix" - ] - }, - "bioconductor-singlecellmultimodal-1.6.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-biocfilecache >=2.2.0,<2.3.0", - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-hdf5array >=1.22.0,<1.23.0", - "bioconductor-multiassayexperiment >=1.20.0,<1.21.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "bioconductor-spatialexperiment >=1.4.0,<1.5.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-matrix" - ] - }, - "bioconductor-singlemoleculefootprintingdata-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-singlemoleculefootprintingdata-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-singlemoleculefootprintingdata-1.2.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-singlemoleculefootprintingdata-1.6.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221109", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-snadata-1.30.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-graph >=1.62.0,<1.63.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-snadata-1.32.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-graph >=1.64.0,<1.65.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-snadata-1.34.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-graph >=1.66.0,<1.67.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snadata-1.36.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-graph >=1.68.0,<1.69.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snadata-1.36.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-graph >=1.68.0,<1.69.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snadata-1.38.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-graph >=1.70.0,<1.71.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snadata-1.40.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-graph >=1.72.0,<1.73.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snadata-1.40.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-graph >=1.72.0,<1.73.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snadata-1.44.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221104", - "bioconductor-graph >=1.76.0,<1.77.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-snageedata-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-snageedata-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-snageedata-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-snageedata-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snageedata-1.25.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snageedata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snageedata-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snageedata-1.26.0-r40hdfd78af_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snageedata-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snageedata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snageedata-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snageedata-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-snphooddata-1.14.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-snphooddata-1.14.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-snphooddata-1.16.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-snphooddata-1.18.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snphooddata-1.19.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snphooddata-1.20.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snphooddata-1.20.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snphooddata-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snphooddata-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snphooddata-1.24.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snphooddata-1.27.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp.20101109-0.99.7-r36_2.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp.20101109-0.99.7-r36_3.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp.20101109-0.99.7-r40_4.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp.20101109-0.99.7-r40_5.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp.20101109-0.99.7-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp.20101109-0.99.7-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp.20101109-0.99.7-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp.20101109-0.99.7-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp.20120608-0.99.11-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp.20120608-0.99.11-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp.20120608-0.99.11-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp.20120608-0.99.11-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp.20120608-0.99.11-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp.20120608-0.99.11-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp.20120608-0.99.11-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp.20120608-0.99.11-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp141.grch38-0.99.11-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp141.grch38-0.99.11-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp141.grch38-0.99.11-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp141.grch38-0.99.11-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp141.grch38-0.99.11-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp141.grch38-0.99.11-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp141.grch38-0.99.11-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp141.grch38-0.99.11-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp142.grch37-0.99.5-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp142.grch37-0.99.5-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp142.grch37-0.99.5-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp142.grch37-0.99.5-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp142.grch37-0.99.5-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp142.grch37-0.99.5-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp142.grch37-0.99.5-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp142.grch37-0.99.5-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp144.grch37-0.99.20-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.30.0,<0.31.0", - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp144.grch37-0.99.20-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.32.0,<0.33.0", - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp144.grch37-0.99.20-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.34.0,<0.35.0", - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp144.grch37-0.99.20-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp144.grch37-0.99.20-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp144.grch37-0.99.20-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.38.0,<0.39.0", - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp144.grch37-0.99.20-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp144.grch37-0.99.20-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp144.grch37-0.99.20-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.44.0,<0.45.0", - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp144.grch38-0.99.20-r36_6.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.30.0,<0.31.0", - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp144.grch38-0.99.20-r36_7.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.32.0,<0.33.0", - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp144.grch38-0.99.20-r40_8.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.34.0,<0.35.0", - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp144.grch38-0.99.20-r40_9.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp144.grch38-0.99.20-r40hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp144.grch38-0.99.20-r41hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.38.0,<0.39.0", - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp144.grch38-0.99.20-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp144.grch38-0.99.20-r41hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp144.grch38-0.99.20-r42hdfd78af_14.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.44.0,<0.45.0", - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp149.grch38-0.99.20-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.30.0,<0.31.0", - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp149.grch38-0.99.20-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.32.0,<0.33.0", - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp149.grch38-0.99.20-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.34.0,<0.35.0", - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp149.grch38-0.99.20-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp149.grch38-0.99.20-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp149.grch38-0.99.20-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.38.0,<0.39.0", - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp149.grch38-0.99.20-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp149.grch38-0.99.20-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp149.grch38-0.99.20-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.44.0,<0.45.0", - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp150.grch38-0.99.20-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.30.0,<0.31.0", - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp150.grch38-0.99.20-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.32.0,<0.33.0", - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp150.grch38-0.99.20-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp150.grch38-0.99.20-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp150.grch38-0.99.20-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.38.0,<0.39.0", - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp150.grch38-0.99.20-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp150.grch38-0.99.20-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp150.grch38-0.99.20-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.44.0,<0.45.0", - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp151.grch38-0.99.20-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.30.0,<0.31.0", - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp151.grch38-0.99.20-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.32.0,<0.33.0", - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp151.grch38-0.99.20-r40_6.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp151.grch38-0.99.20-r40hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp151.grch38-0.99.20-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp151.grch38-0.99.20-r41hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-snplocs.hsapiens.dbsnp151.grch38-0.99.20-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.38.0,<0.39.0", - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-somaticadata-1.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-somaticadata-1.22.0-r361_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-somaticadata-1.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-somaticadata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-somaticadata-1.27.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-somaticadata-1.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-somaticadata-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-somaticadata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-somaticadata-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-somaticadata-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-somaticadata-1.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-somaticcanceralterations-1.20.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-exomecopy >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-stringr" - ] - }, - "bioconductor-somaticcanceralterations-1.22.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-exomecopy >=1.32.0,<1.33.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-stringr" - ] - }, - "bioconductor-somaticcanceralterations-1.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-exomecopy >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-stringr" - ] - }, - "bioconductor-somaticcanceralterations-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-exomecopy >=1.36.0,<1.37.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-stringr" - ] - }, - "bioconductor-somaticcanceralterations-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-exomecopy >=1.36.0,<1.37.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-stringr" - ] - }, - "bioconductor-somaticcanceralterations-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-somaticcanceralterations-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-somaticcanceralterations-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-somaticcanceralterations-1.34.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-soybeancdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-soybeancdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-soybeancdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-soybeancdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-soybeancdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-soybeancdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-soybeancdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-soybeancdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-soybeancdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-soybeanprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-soybeanprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-soybeanprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-soybeanprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-soybeanprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-soybeanprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-soybeanprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-soybeanprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-soybeanprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-spatialdmelxsim-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-spatialdmelxsim-1.0.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-spatialdmelxsim-1.4.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-spatiallibd-1.0.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "bioconductor-scater >=1.16.0,<1.17.0", - "bioconductor-singlecellexperiment >=1.10.0,<1.11.0", - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-benchmarkme", - "r-cowplot", - "r-dt", - "r-fields", - "r-ggplot2", - "r-golem", - "r-plotly", - "r-png", - "r-polychrome", - "r-rcolorbrewer", - "r-sessioninfo", - "r-shiny", - "r-shinywidgets", - "r-viridislite" - ] - }, - "bioconductor-spatiallibd-1.10.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-biocfilecache >=2.6.0,<2.7.0", - "bioconductor-biocgenerics >=0.44.0,<0.45.0", - "bioconductor-data-packages >=20221108", - "bioconductor-edger >=3.40.0,<3.41.0", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-limma >=3.54.0,<3.55.0", - "bioconductor-rtracklayer >=1.58.0,<1.59.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "bioconductor-scater >=1.26.0,<1.27.0", - "bioconductor-scuttle >=1.8.0,<1.9.0", - "bioconductor-singlecellexperiment >=1.20.0,<1.21.0", - "bioconductor-spatialexperiment >=1.8.0,<1.9.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-benchmarkme", - "r-cowplot", - "r-dt", - "r-fields", - "r-ggplot2", - "r-golem", - "r-jsonlite", - "r-magick", - "r-matrix", - "r-paletteer", - "r-plotly", - "r-png", - "r-rcolorbrewer", - "r-sessioninfo", - "r-shiny", - "r-shinywidgets", - "r-statmod", - "r-tibble", - "r-viridislite" - ] - }, - "bioconductor-spatiallibd-1.2.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-biocfilecache >=1.14.0,<1.15.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-scater >=1.18.0,<1.19.0", - "bioconductor-singlecellexperiment >=1.12.0,<1.13.0", - "bioconductor-spatialexperiment >=1.0.0,<1.1.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-benchmarkme", - "r-cowplot", - "r-dt", - "r-fields", - "r-ggplot2", - "r-golem", - "r-jsonlite", - "r-plotly", - "r-png", - "r-polychrome", - "r-rcolorbrewer", - "r-readbitmap", - "r-sessioninfo", - "r-shiny", - "r-shinywidgets", - "r-tibble", - "r-viridislite" - ] - }, - "bioconductor-spatiallibd-1.2.1-r40hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-biocfilecache >=1.14.0,<1.15.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "bioconductor-scater >=1.18.0,<1.19.0", - "bioconductor-singlecellexperiment >=1.12.0,<1.13.0", - "bioconductor-spatialexperiment >=1.0.0,<1.1.0", - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-benchmarkme", - "r-cowplot", - "r-dt", - "r-fields", - "r-ggplot2", - "r-golem", - "r-jsonlite", - "r-plotly", - "r-png", - "r-polychrome", - "r-rcolorbrewer", - "r-readbitmap", - "r-sessioninfo", - "r-shiny", - "r-shinywidgets", - "r-tibble", - "r-viridislite" - ] - }, - "bioconductor-spatiallibd-1.4.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-biocfilecache >=2.0.0,<2.1.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "bioconductor-scater >=1.20.0,<1.21.0", - "bioconductor-singlecellexperiment >=1.14.0,<1.15.0", - "bioconductor-spatialexperiment >=1.2.0,<1.3.0", - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-benchmarkme", - "r-cowplot", - "r-dt", - "r-fields", - "r-ggplot2", - "r-golem", - "r-jsonlite", - "r-plotly", - "r-png", - "r-polychrome", - "r-rcolorbrewer", - "r-sessioninfo", - "r-shiny", - "r-shinywidgets", - "r-tibble", - "r-viridislite" - ] - }, - "bioconductor-spatiallibd-1.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-biocfilecache >=2.2.0,<2.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-scater >=1.22.0,<1.23.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "bioconductor-spatialexperiment >=1.4.0,<1.5.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-benchmarkme", - "r-cowplot", - "r-dt", - "r-fields", - "r-ggplot2", - "r-golem", - "r-jsonlite", - "r-plotly", - "r-png", - "r-polychrome", - "r-rcolorbrewer", - "r-sessioninfo", - "r-shiny", - "r-shinywidgets", - "r-tibble", - "r-viridislite" - ] - }, - "bioconductor-spikein-1.26.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.62.0,<1.63.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-spikein-1.28.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.64.0,<1.65.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-spikein-1.30.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.66.0,<1.67.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-spikein-1.32.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-spikein-1.32.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-spikein-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.70.0,<1.71.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-spikein-1.36.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-spikein-1.36.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-spikein-1.40.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.76.0,<1.77.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-spikeinsubset-1.24.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.62.0,<1.63.0", - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-spikeinsubset-1.26.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.64.0,<1.65.0", - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-spikeinsubset-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.66.0,<1.67.0", - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-spikeinsubset-1.30.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-spikeinsubset-1.30.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-spikeinsubset-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.70.0,<1.71.0", - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-spikeinsubset-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-spikeinsubset-1.34.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-spikeinsubset-1.38.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.76.0,<1.77.0", - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-spqndata-1.0.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-spqndata-1.10.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-spqndata-1.2.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-spqndata-1.2.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-spqndata-1.4.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-spqndata-1.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-spqndata-1.6.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-stemhypoxia-1.19.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-stemhypoxia-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-stemhypoxia-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-stemhypoxia-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-stemhypoxia-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-stemhypoxia-1.25.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-stemhypoxia-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-stemhypoxia-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-stemhypoxia-1.26.0-r40hdfd78af_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-stemhypoxia-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-stemhypoxia-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-stemhypoxia-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-stemhypoxia-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-stexampledata-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-spatialexperiment >=1.2.0,<1.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-stexampledata-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-spatialexperiment >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-stexampledata-1.2.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-spatialexperiment >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-stexampledata-1.6.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-spatialexperiment >=1.8.0,<1.9.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-stjudem-1.24.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-stjudem-1.24.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-stjudem-1.26.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-stjudem-1.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-stjudem-1.29.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-stjudem-1.30.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-stjudem-1.30.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-stjudem-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-stjudem-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-stjudem-1.34.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-stjudem-1.37.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-sugarcanecdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-sugarcanecdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-sugarcanecdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-sugarcanecdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-sugarcanecdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-sugarcanecdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-sugarcanecdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-sugarcanecdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-sugarcanecdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-sugarcaneprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-sugarcaneprobe-2.18.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-sugarcaneprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-sugarcaneprobe-2.18.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-sugarcaneprobe-2.18.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-sugarcaneprobe-2.18.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-sugarcaneprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-sugarcaneprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-sugarcaneprobe-2.18.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-svm2crmdata-1.15.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-svm2crmdata-1.16.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-svm2crmdata-1.16.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-svm2crmdata-1.18.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-svm2crmdata-1.20.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-svm2crmdata-1.21.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-svm2crmdata-1.22.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-svm2crmdata-1.22.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-svm2crmdata-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-svm2crmdata-1.26.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-svm2crmdata-1.26.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-svm2crmdata-1.29.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-synapterdata-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-synapter >=2.8.0,<2.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-synapterdata-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-synapter >=2.10.0,<2.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-synapterdata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-synapter >=2.12.0,<2.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-synapterdata-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-synapter >=2.14.0,<2.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-synapterdata-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-synapter >=2.14.0,<2.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-synapterdata-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221107", - "bioconductor-synapter >=2.22.0,<2.23.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-synaptome.data-0.99.3-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-synaptome.data-0.99.3-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-synaptome.data-0.99.6-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-synaptome.db-0.99.12-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221103", - "bioconductor-synaptome.data >=0.99.0,<0.100.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dbi", - "r-dbplyr", - "r-dplyr", - "r-igraph", - "r-rdpack", - "r-rsqlite" - ] - }, - "bioconductor-synaptome.db-0.99.8-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-synaptome.data >=0.99.0,<0.100.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-dbplyr", - "r-dplyr", - "r-igraph", - "r-rdpack", - "r-rsqlite" - ] - }, - "bioconductor-synaptome.db-0.99.8-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-synaptome.data >=0.99.0,<0.100.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dbi", - "r-dbplyr", - "r-dplyr", - "r-igraph", - "r-rdpack", - "r-rsqlite" - ] - }, - "bioconductor-systempiperdata-1.12.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.30.0,<0.31.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-systempiperdata-1.14.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.32.0,<0.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-systempiperdata-1.16.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.34.0,<0.35.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-devtools" - ] - }, - "bioconductor-systempiperdata-1.17.4-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-jsonlite", - "r-remotes" - ] - }, - "bioconductor-systempiperdata-1.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-jsonlite", - "r-remotes" - ] - }, - "bioconductor-systempiperdata-1.18.1-r40hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-jsonlite", - "r-remotes" - ] - }, - "bioconductor-systempiperdata-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.38.0,<0.39.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-rsamtools >=2.8.0,<2.9.0", - "bioconductor-rtracklayer >=1.52.0,<1.53.0", - "bioconductor-shortread >=1.50.0,<1.51.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-jsonlite", - "r-remotes" - ] - }, - "bioconductor-systempiperdata-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-rsamtools >=2.10.0,<2.11.0", - "bioconductor-rtracklayer >=1.54.0,<1.55.0", - "bioconductor-shortread >=1.52.0,<1.53.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-jsonlite", - "r-remotes" - ] - }, - "bioconductor-systempiperdata-1.22.3-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-rsamtools >=2.10.0,<2.11.0", - "bioconductor-rtracklayer >=1.54.0,<1.55.0", - "bioconductor-shortread >=1.52.0,<1.53.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-jsonlite", - "r-remotes" - ] - }, - "bioconductor-systempiperdata-2.2.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.44.0,<0.45.0", - "bioconductor-biostrings >=2.66.0,<2.67.0", - "bioconductor-data-packages >=20221106", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-jsonlite", - "r-remotes" - ] - }, - "bioconductor-tabulamurisdata-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tabulamurisdata-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tabulamurisdata-1.12.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tabulamurisdata-1.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-tabulamurisdata-1.2.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tabulamurisdata-1.3.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tabulamurisdata-1.6.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tabulamurisdata-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tabulamurisdata-1.8.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tabulamurissenisdata-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-hdf5array >=1.22.0,<1.23.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-gdata" - ] - }, - "bioconductor-tabulamurissenisdata-1.0.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-hdf5array >=1.22.0,<1.23.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-gdata" - ] - }, - "bioconductor-tabulamurissenisdata-1.4.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-hdf5array >=1.26.0,<1.27.0", - "bioconductor-singlecellexperiment >=1.20.0,<1.21.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-gdata" - ] - }, - "bioconductor-targetscan.hs.eg.db-0.6.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-targetscan.hs.eg.db-0.6.1-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-targetscan.hs.eg.db-0.6.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-targetscan.hs.eg.db-0.6.1-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-targetscan.hs.eg.db-0.6.1-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-targetscan.hs.eg.db-0.6.1-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-targetscan.hs.eg.db-0.6.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-targetscan.hs.eg.db-0.6.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-targetscan.hs.eg.db-0.6.1-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-targetscan.mm.eg.db-0.6.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-targetscan.mm.eg.db-0.6.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-targetscan.mm.eg.db-0.6.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-targetscan.mm.eg.db-0.6.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-targetscan.mm.eg.db-0.6.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-targetscan.mm.eg.db-0.6.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-targetscan.mm.eg.db-0.6.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-targetscan.mm.eg.db-0.6.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-targetscan.mm.eg.db-0.6.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-targetscoredata-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-targetscoredata-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-targetscoredata-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-targetscoredata-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-targetscoredata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-targetscoredata-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-targetscoredata-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-targetscoredata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-targetscoredata-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-targetscoredata-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-targetsearchdata-1.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-targetsearchdata-1.22.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-targetsearchdata-1.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-targetsearchdata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-targetsearchdata-1.27.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-targetsearchdata-1.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-targetsearchdata-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-targetsearchdata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-targetsearchdata-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-targetsearchdata-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-targetsearchdata-1.35.2-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-tartare-0.99.14-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tartare-1.12.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-tartare-1.2.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tartare-1.4.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tartare-1.4.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tartare-1.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tartare-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tartare-1.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tbx20bamsubset-1.20.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-rsamtools >=2.0.0,<2.1.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-xtable" - ] - }, - "bioconductor-tbx20bamsubset-1.22.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-rsamtools >=2.2.0,<2.3.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-xtable" - ] - }, - "bioconductor-tbx20bamsubset-1.24.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rsamtools >=2.4.0,<2.5.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-xtable" - ] - }, - "bioconductor-tbx20bamsubset-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-rsamtools >=2.6.0,<2.7.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-xtable" - ] - }, - "bioconductor-tbx20bamsubset-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rsamtools >=2.6.0,<2.7.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-xtable" - ] - }, - "bioconductor-tbx20bamsubset-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rsamtools >=2.8.0,<2.9.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-xtable" - ] - }, - "bioconductor-tbx20bamsubset-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-rsamtools >=2.10.0,<2.11.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-xtable" - ] - }, - "bioconductor-tbx20bamsubset-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-rsamtools >=2.10.0,<2.11.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-xtable" - ] - }, - "bioconductor-tbx20bamsubset-1.34.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221105", - "bioconductor-rsamtools >=2.14.0,<2.15.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-xtable" - ] - }, - "bioconductor-tcgabiolinksgui.data-1.10.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tcgabiolinksgui.data-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tcgabiolinksgui.data-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tcgabiolinksgui.data-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tcgabiolinksgui.data-1.14.1-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tcgabiolinksgui.data-1.17.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-tcgabiolinksgui.data-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221109", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-tcgabiolinksgui.data-1.3.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-tcgabiolinksgui.data-1.4.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-tcgabiolinksgui.data-1.4.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tcgabiolinksgui.data-1.6.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tcgabiolinksgui.data-1.8.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tcgabiolinksgui.data-1.9.2-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tcgacrcmirna-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tcgacrcmirna-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tcgacrcmirna-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tcgacrcmirna-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tcgacrcmirna-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tcgacrcmirna-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-tcgacrcmirna-1.4.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tcgacrcmirna-1.6.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tcgacrcmirna-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tcgacrcmirna-1.9.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tcgacrcmrna-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tcgacrcmrna-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tcgacrcmrna-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tcgacrcmrna-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tcgacrcmrna-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tcgacrcmrna-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-tcgacrcmrna-1.4.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tcgacrcmrna-1.6.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tcgacrcmrna-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tcgacrcmrna-1.9.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tcgamethylation450k-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-tcgamethylation450k-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tcgamethylation450k-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tcgamethylation450k-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tcgamethylation450k-1.25.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tcgamethylation450k-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tcgamethylation450k-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tcgamethylation450k-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tcgamethylation450k-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tcgamethylation450k-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tcgamethylation450k-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-tcgawgbsdata.hg19-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsseq >=1.28.0,<1.29.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-knitr" - ] - }, - "bioconductor-tcgawgbsdata.hg19-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-bsseq >=1.30.0,<1.31.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-knitr" - ] - }, - "bioconductor-tcgawgbsdata.hg19-1.12.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-bsseq >=1.30.0,<1.31.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-knitr" - ] - }, - "bioconductor-tcgawgbsdata.hg19-1.2.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-bsseq >=1.20.0,<1.21.0", - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-knitr" - ] - }, - "bioconductor-tcgawgbsdata.hg19-1.4.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-bsseq >=1.22.0,<1.23.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-knitr" - ] - }, - "bioconductor-tcgawgbsdata.hg19-1.6.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-bsseq >=1.24.0,<1.25.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-knitr" - ] - }, - "bioconductor-tcgawgbsdata.hg19-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-bsseq >=1.26.0,<1.27.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-knitr" - ] - }, - "bioconductor-tcgawgbsdata.hg19-1.8.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-bsseq >=1.26.0,<1.27.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-knitr" - ] - }, - "bioconductor-tcgaworkflowdata-1.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tcgaworkflowdata-1.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tcgaworkflowdata-1.14.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tcgaworkflowdata-1.14.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tcgaworkflowdata-1.16.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tcgaworkflowdata-1.18.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tcgaworkflowdata-1.18.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tcgaworkflowdata-1.22.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-tcgaworkflowdata-1.8.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tenxbraindata-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-hdf5array >=1.18.0,<1.19.0", - "bioconductor-singlecellexperiment >=1.12.0,<1.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tenxbraindata-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-hdf5array >=1.18.0,<1.19.0", - "bioconductor-singlecellexperiment >=1.12.0,<1.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tenxbraindata-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-hdf5array >=1.20.0,<1.21.0", - "bioconductor-singlecellexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tenxbraindata-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-hdf5array >=1.22.0,<1.23.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tenxbraindata-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-hdf5array >=1.22.0,<1.23.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tenxbraindata-1.18.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-hdf5array >=1.26.0,<1.27.0", - "bioconductor-singlecellexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-tenxbraindata-1.4.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.16.0,<2.17.0", - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "bioconductor-hdf5array >=1.12.0,<1.13.0", - "bioconductor-singlecellexperiment >=1.6.0,<1.7.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tenxbraindata-1.6.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-hdf5array >=1.14.0,<1.15.0", - "bioconductor-singlecellexperiment >=1.8.0,<1.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tenxbraindata-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-hdf5array >=1.16.0,<1.17.0", - "bioconductor-singlecellexperiment >=1.10.0,<1.11.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tenxbusdata-1.0.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "bioconductor-biocgenerics >=0.32.0,<0.33.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tenxbusdata-1.12.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-biocgenerics >=0.44.0,<0.45.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-tenxbusdata-1.2.1-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-biocgenerics >=0.34.0,<0.35.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tenxbusdata-1.4.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tenxbusdata-1.4.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tenxbusdata-1.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-biocgenerics >=0.38.0,<0.39.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tenxbusdata-1.8.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tenxbusdata-1.8.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tenxpbmcdata-1.10.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.0.0,<3.1.0", - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-hdf5array >=1.20.0,<1.21.0", - "bioconductor-singlecellexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tenxpbmcdata-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-hdf5array >=1.22.0,<1.23.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tenxpbmcdata-1.12.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-hdf5array >=1.22.0,<1.23.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tenxpbmcdata-1.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-hdf5array >=1.26.0,<1.27.0", - "bioconductor-singlecellexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-tenxpbmcdata-1.2.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.16.0,<2.17.0", - "bioconductor-experimenthub >=1.10.0,<1.11.0", - "bioconductor-hdf5array >=1.12.0,<1.13.0", - "bioconductor-singlecellexperiment >=1.6.0,<1.7.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tenxpbmcdata-1.4.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.18.0,<2.19.0", - "bioconductor-experimenthub >=1.12.0,<1.13.0", - "bioconductor-hdf5array >=1.14.0,<1.15.0", - "bioconductor-singlecellexperiment >=1.8.0,<1.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tenxpbmcdata-1.6.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.20.0,<2.21.0", - "bioconductor-experimenthub >=1.14.0,<1.15.0", - "bioconductor-hdf5array >=1.16.0,<1.17.0", - "bioconductor-singlecellexperiment >=1.10.0,<1.11.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tenxpbmcdata-1.8.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-hdf5array >=1.18.0,<1.19.0", - "bioconductor-singlecellexperiment >=1.12.0,<1.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tenxpbmcdata-1.8.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=2.22.0,<2.23.0", - "bioconductor-experimenthub >=1.16.0,<1.17.0", - "bioconductor-hdf5array >=1.18.0,<1.19.0", - "bioconductor-singlecellexperiment >=1.12.0,<1.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tenxvisiumdata-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.0.0,<2.1.0", - "bioconductor-spatialexperiment >=1.2.0,<1.3.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tenxvisiumdata-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-spatialexperiment >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tenxvisiumdata-1.2.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-spatialexperiment >=1.4.0,<1.5.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tenxvisiumdata-1.6.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-spatialexperiment >=1.8.0,<1.9.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-test1cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-test1cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-test1cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-test1cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-test1cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-test1cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-test1cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-test1cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-test1cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-test2cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-test2cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-test2cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-test2cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-test2cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-test2cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-test2cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-test2cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-test2cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-test3cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-test3cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-test3cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-test3cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-test3cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-test3cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-test3cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-test3cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-test3cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-test3probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-test3probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-test3probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-test3probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-test3probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-test3probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-test3probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-test3probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-test3probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-timecoursedata-1.0.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-timecoursedata-1.0.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-timecoursedata-1.2.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.22.0,<1.23.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-timecoursedata-1.4.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-timecoursedata-1.4.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-timecoursedata-1.8.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-timerquant-1.14.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0", - "r-desolve", - "r-dplyr", - "r-ggplot2", - "r-gridextra", - "r-locfit", - "r-shiny" - ] - }, - "bioconductor-timerquant-1.14.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0", - "r-desolve", - "r-dplyr", - "r-ggplot2", - "r-gridextra", - "r-locfit", - "r-shiny" - ] - }, - "bioconductor-timerquant-1.16.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0", - "r-desolve", - "r-dplyr", - "r-ggplot2", - "r-gridextra", - "r-locfit", - "r-shiny" - ] - }, - "bioconductor-timerquant-1.18.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0", - "r-desolve", - "r-dplyr", - "r-ggplot2", - "r-gridextra", - "r-locfit", - "r-shiny" - ] - }, - "bioconductor-timerquant-1.19.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0", - "r-desolve", - "r-dplyr", - "r-ggplot2", - "r-gridextra", - "r-locfit", - "r-shiny" - ] - }, - "bioconductor-timerquant-1.20.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0", - "r-desolve", - "r-dplyr", - "r-ggplot2", - "r-gridextra", - "r-locfit", - "r-shiny" - ] - }, - "bioconductor-timerquant-1.20.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0", - "r-desolve", - "r-dplyr", - "r-ggplot2", - "r-gridextra", - "r-locfit", - "r-shiny" - ] - }, - "bioconductor-timerquant-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0", - "r-desolve", - "r-dplyr", - "r-ggplot2", - "r-gridextra", - "r-locfit", - "r-shiny" - ] - }, - "bioconductor-timerquant-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0", - "r-desolve", - "r-dplyr", - "r-ggplot2", - "r-gridextra", - "r-locfit", - "r-shiny" - ] - }, - "bioconductor-timerquant-1.24.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0", - "r-desolve", - "r-dplyr", - "r-ggplot2", - "r-gridextra", - "r-locfit", - "r-shiny" - ] - }, - "bioconductor-timerquant-1.27.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-desolve", - "r-dplyr", - "r-ggplot2", - "r-gridextra", - "r-locfit", - "r-shiny" - ] - }, - "bioconductor-tinesath1cdf-1.21.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-tinesath1cdf-1.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-tinesath1cdf-1.22.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tinesath1cdf-1.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tinesath1cdf-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tinesath1cdf-1.27.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tinesath1cdf-1.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tinesath1cdf-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tinesath1cdf-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tinesath1cdf-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tinesath1cdf-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tinesath1cdf-1.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-tinesath1cdf-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221107", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-tinesath1probe-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tinesath1probe-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tinesath1probe-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tinesath1probe-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tinesath1probe-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tinesath1probe-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tinesath1probe-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tinesath1probe-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tinesath1probe-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221107", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-tissuetreg-1.10.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tissuetreg-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tissuetreg-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tissuetreg-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tissuetreg-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tissuetreg-1.17.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-tissuetreg-1.4.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-tissuetreg-1.4.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tissuetreg-1.6.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tissuetreg-1.8.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tissuetreg-1.9.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tmexplorer-0.99.6-r40_0.tar.bz2": { - "depends": [ - "bioconductor-singlecellexperiment >=1.12.0,<1.13.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-matrix" - ] - }, - "bioconductor-tmexplorer-1.0.1-r40hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-singlecellexperiment >=1.12.0,<1.13.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-matrix" - ] - }, - "bioconductor-tmexplorer-1.2.1-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocfilecache >=2.0.0,<2.1.0", - "bioconductor-singlecellexperiment >=1.14.0,<1.15.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-matrix" - ] - }, - "bioconductor-tmexplorer-1.4.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocfilecache >=2.2.0,<2.3.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-matrix" - ] - }, - "bioconductor-tmexplorer-1.4.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biocfilecache >=2.2.0,<2.3.0", - "bioconductor-singlecellexperiment >=1.16.0,<1.17.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-matrix" - ] - }, - "bioconductor-tmexplorer-1.8.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocfilecache >=2.6.0,<2.7.0", - "bioconductor-data-packages >=20221106", - "bioconductor-singlecellexperiment >=1.20.0,<1.21.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-matrix" - ] - }, - "bioconductor-tofsimsdata-1.12.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-tofsimsdata-1.12.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tofsimsdata-1.14.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tofsimsdata-1.16.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tofsimsdata-1.17.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tofsimsdata-1.18.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tofsimsdata-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tofsimsdata-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tofsimsdata-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tofsimsdata-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tofsimsdata-1.26.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-tomatocdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tomatocdf-2.18.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tomatocdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tomatocdf-2.18.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tomatocdf-2.18.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tomatocdf-2.18.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tomatocdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tomatocdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tomatocdf-2.18.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-tomatoprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tomatoprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tomatoprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tomatoprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tomatoprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tomatoprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tomatoprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tomatoprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tomatoprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-topdownrdata-1.10.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-topdownr >=1.10.0,<1.11.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-topdownrdata-1.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-topdownr >=1.12.0,<1.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-topdownrdata-1.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-topdownr >=1.12.0,<1.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-topdownrdata-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-topdownr >=1.14.0,<1.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-topdownrdata-1.16.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-topdownr >=1.16.0,<1.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-topdownrdata-1.16.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-topdownr >=1.16.0,<1.17.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-topdownrdata-1.20.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "bioconductor-topdownr >=1.20.0,<1.21.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-topdownrdata-1.6.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-topdownr >=1.6.0,<1.7.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-topdownrdata-1.8.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-topdownr >=1.8.0,<1.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tuberculosis-1.0.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dplyr", - "r-magrittr", - "r-purrr", - "r-rlang", - "r-stringr", - "r-tibble", - "r-tidyr" - ] - }, - "bioconductor-tuberculosis-1.0.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.2.0,<3.3.0", - "bioconductor-experimenthub >=2.2.0,<2.3.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "bioconductor-summarizedexperiment >=1.24.0,<1.25.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-dplyr", - "r-magrittr", - "r-purrr", - "r-rlang", - "r-stringr", - "r-tibble", - "r-tidyr" - ] - }, - "bioconductor-tuberculosis-1.4.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "bioconductor-summarizedexperiment >=1.28.0,<1.29.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-dplyr", - "r-magrittr", - "r-purrr", - "r-rlang", - "r-stringr", - "r-tibble", - "r-tidyr" - ] - }, - "bioconductor-tweedeseqcountdata-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tweedeseqcountdata-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tweedeseqcountdata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tweedeseqcountdata-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tweedeseqcountdata-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tweedeseqcountdata-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tweedeseqcountdata-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tweedeseqcountdata-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tweedeseqcountdata-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart22-3.0.1-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart22-3.0.1-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart22-3.0.1-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart22-3.0.1-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart22-3.0.1-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart22-3.0.1-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart22-3.0.1-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart22-3.0.1-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart22-3.0.1-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart25-3.1.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart25-3.1.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart25-3.1.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart25-3.1.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart25-3.1.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart25-3.1.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart25-3.1.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart25-3.1.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart25-3.1.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart28-3.2.2-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart28-3.2.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart28-3.2.2-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart28-3.2.2-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart28-3.2.2-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart28-3.2.2-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart28-3.2.2-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart28-3.2.2-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart28-3.2.2-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart51-0.99.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart51-0.99.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.athaliana.biomart.plantsmart51-0.99.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.btaurus.ucsc.bostau8.refgene-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.btaurus.ucsc.bostau8.refgene-3.11.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.btaurus.ucsc.bostau8.refgene-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.btaurus.ucsc.bostau8.refgene-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.btaurus.ucsc.bostau8.refgene-3.12.0-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.btaurus.ucsc.bostau8.refgene-3.12.0-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.btaurus.ucsc.bostau8.refgene-3.12.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.btaurus.ucsc.bostau8.refgene-3.12.0-r42hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.btaurus.ucsc.bostau8.refgene-3.4.6-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.btaurus.ucsc.bostau9.refgene-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.btaurus.ucsc.bostau9.refgene-3.10.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.btaurus.ucsc.bostau9.refgene-3.10.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.btaurus.ucsc.bostau9.refgene-3.10.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.btaurus.ucsc.bostau9.refgene-3.10.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.btaurus.ucsc.bostau9.refgene-3.10.0-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.btaurus.ucsc.bostau9.refgene-3.10.0-r41hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.btaurus.ucsc.bostau9.refgene-3.10.0-r42hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce11.ensgene-3.11.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce11.ensgene-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce11.ensgene-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce11.ensgene-3.12.0-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce11.ensgene-3.12.0-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce11.ensgene-3.12.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce11.ensgene-3.15.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce11.ensgene-3.4.6-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce11.ensgene-3.4.6-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce11.refgene-3.4.6-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce11.refgene-3.4.6-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce11.refgene-3.4.6-r40_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce11.refgene-3.4.6-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce11.refgene-3.4.6-r40hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce11.refgene-3.4.6-r41hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce11.refgene-3.4.6-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce11.refgene-3.4.6-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce11.refgene-3.4.6-r42hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce6.ensgene-3.2.2-r36_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce6.ensgene-3.2.2-r36_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce6.ensgene-3.2.2-r40_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce6.ensgene-3.2.2-r40_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce6.ensgene-3.2.2-r40hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce6.ensgene-3.2.2-r41hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce6.ensgene-3.2.2-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce6.ensgene-3.2.2-r41hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.celegans.ucsc.ce6.ensgene-3.2.2-r42hdfd78af_14.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.cfamiliaris.ucsc.canfam3.refgene-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.cfamiliaris.ucsc.canfam3.refgene-3.11.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.cfamiliaris.ucsc.canfam3.refgene-3.11.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.cfamiliaris.ucsc.canfam3.refgene-3.11.0-r40hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.cfamiliaris.ucsc.canfam3.refgene-3.11.0-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.cfamiliaris.ucsc.canfam3.refgene-3.11.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.cfamiliaris.ucsc.canfam3.refgene-3.11.0-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.cfamiliaris.ucsc.canfam3.refgene-3.11.0-r42hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.cfamiliaris.ucsc.canfam3.refgene-3.4.6-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.cfamiliaris.ucsc.canfam4.refgene-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.cfamiliaris.ucsc.canfam4.refgene-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.cfamiliaris.ucsc.canfam4.refgene-3.14.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.cfamiliaris.ucsc.canfam5.refgene-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.cfamiliaris.ucsc.canfam5.refgene-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.cfamiliaris.ucsc.canfam5.refgene-3.14.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.dmelanogaster.ucsc.dm3.ensgene-3.2.2-r36_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.dmelanogaster.ucsc.dm3.ensgene-3.2.2-r36_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.dmelanogaster.ucsc.dm3.ensgene-3.2.2-r40_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.dmelanogaster.ucsc.dm3.ensgene-3.2.2-r40_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.dmelanogaster.ucsc.dm3.ensgene-3.2.2-r40hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.dmelanogaster.ucsc.dm3.ensgene-3.2.2-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.dmelanogaster.ucsc.dm3.ensgene-3.2.2-r41hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.dmelanogaster.ucsc.dm3.ensgene-3.2.2-r41hdfd78af_14.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.dmelanogaster.ucsc.dm3.ensgene-3.2.2-r42hdfd78af_15.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.dmelanogaster.ucsc.dm6.ensgene-3.11.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.dmelanogaster.ucsc.dm6.ensgene-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.dmelanogaster.ucsc.dm6.ensgene-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.dmelanogaster.ucsc.dm6.ensgene-3.12.0-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.dmelanogaster.ucsc.dm6.ensgene-3.12.0-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.dmelanogaster.ucsc.dm6.ensgene-3.12.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.dmelanogaster.ucsc.dm6.ensgene-3.12.0-r42hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.dmelanogaster.ucsc.dm6.ensgene-3.4.6-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.dmelanogaster.ucsc.dm6.ensgene-3.4.6-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.drerio.ucsc.danrer10.refgene-3.4.6-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.drerio.ucsc.danrer10.refgene-3.4.6-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.drerio.ucsc.danrer10.refgene-3.4.6-r40_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.drerio.ucsc.danrer10.refgene-3.4.6-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.drerio.ucsc.danrer10.refgene-3.4.6-r40hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.drerio.ucsc.danrer10.refgene-3.4.6-r41hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.drerio.ucsc.danrer10.refgene-3.4.6-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.drerio.ucsc.danrer10.refgene-3.4.6-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.drerio.ucsc.danrer10.refgene-3.4.6-r42hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.drerio.ucsc.danrer11.refgene-3.4.6-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.drerio.ucsc.danrer11.refgene-3.4.6-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.drerio.ucsc.danrer11.refgene-3.4.6-r40_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.drerio.ucsc.danrer11.refgene-3.4.6-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.drerio.ucsc.danrer11.refgene-3.4.6-r40hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.drerio.ucsc.danrer11.refgene-3.4.6-r41hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.drerio.ucsc.danrer11.refgene-3.4.6-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.drerio.ucsc.danrer11.refgene-3.4.6-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.drerio.ucsc.danrer11.refgene-3.4.6-r42hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal4.refgene-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal4.refgene-3.11.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal4.refgene-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal4.refgene-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal4.refgene-3.12.0-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal4.refgene-3.12.0-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal4.refgene-3.12.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal4.refgene-3.12.0-r42hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal4.refgene-3.4.6-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal5.refgene-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal5.refgene-3.11.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal5.refgene-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal5.refgene-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal5.refgene-3.12.0-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal5.refgene-3.12.0-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal5.refgene-3.12.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal5.refgene-3.12.0-r42hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal5.refgene-3.4.6-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal6.refgene-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal6.refgene-3.10.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal6.refgene-3.10.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal6.refgene-3.10.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal6.refgene-3.10.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal6.refgene-3.10.0-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal6.refgene-3.10.0-r41hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.ggallus.ucsc.galgal6.refgene-3.10.0-r42hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.hsapiens.biomart.igis-2.3.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.hsapiens.biomart.igis-2.3.2-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.hsapiens.biomart.igis-2.3.2-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.hsapiens.biomart.igis-2.3.2-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.hsapiens.biomart.igis-2.3.2-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.hsapiens.biomart.igis-2.3.2-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.hsapiens.biomart.igis-2.3.2-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.hsapiens.biomart.igis-2.3.2-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.hsapiens.biomart.igis-2.3.2-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg18.knowngene-3.2.2-r36_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg18.knowngene-3.2.2-r36_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg18.knowngene-3.2.2-r40_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg18.knowngene-3.2.2-r40_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg18.knowngene-3.2.2-r40hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg18.knowngene-3.2.2-r41hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg18.knowngene-3.2.2-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg18.knowngene-3.2.2-r41hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg18.knowngene-3.2.2-r42hdfd78af_14.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene-3.2.2-r36_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene-3.2.2-r36_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene-3.2.2-r40_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene-3.2.2-r40_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene-3.2.2-r40hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene-3.2.2-r41hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene-3.2.2-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene-3.2.2-r41hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene-3.2.2-r42hdfd78af_14.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg19.lincrnastranscripts-3.2.2-r36_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg19.lincrnastranscripts-3.2.2-r36_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg19.lincrnastranscripts-3.2.2-r40_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg19.lincrnastranscripts-3.2.2-r40_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg19.lincrnastranscripts-3.2.2-r40hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg19.lincrnastranscripts-3.2.2-r41hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg19.lincrnastranscripts-3.2.2-r41hdfd78af_14.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg19.lincrnastranscripts-3.2.2-r41hdfd78af_15.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg19.lincrnastranscripts-3.2.2-r42hdfd78af_16.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg38.knowngene-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg38.knowngene-3.10.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg38.knowngene-3.10.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg38.knowngene-3.10.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg38.knowngene-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg38.knowngene-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg38.knowngene-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg38.knowngene-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg38.knowngene-3.4.6-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg38.refgene-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg38.refgene-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg38.refgene-3.13.0-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.hsapiens.ucsc.hg38.refgene-3.15.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac10.refgene-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac10.refgene-3.10.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac10.refgene-3.10.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac10.refgene-3.10.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac10.refgene-3.10.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac10.refgene-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac10.refgene-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac10.refgene-3.14.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac3.refgene-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac3.refgene-3.11.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac3.refgene-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac3.refgene-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac3.refgene-3.12.0-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac3.refgene-3.12.0-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac3.refgene-3.12.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac3.refgene-3.12.0-r42hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac3.refgene-3.4.6-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac8.refgene-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac8.refgene-3.11.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac8.refgene-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac8.refgene-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac8.refgene-3.12.0-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac8.refgene-3.12.0-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac8.refgene-3.12.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac8.refgene-3.12.0-r42hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.mmulatta.ucsc.rhemac8.refgene-3.4.6-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm10.ensgene-3.4.0-r36_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm10.ensgene-3.4.0-r36_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm10.ensgene-3.4.0-r40_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm10.ensgene-3.4.0-r40_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm10.ensgene-3.4.0-r40hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm10.ensgene-3.4.0-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm10.ensgene-3.4.0-r41hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm10.ensgene-3.4.0-r41hdfd78af_14.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm10.ensgene-3.4.0-r42hdfd78af_15.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm10.knowngene-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm10.knowngene-3.10.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm10.knowngene-3.10.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm10.knowngene-3.10.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm10.knowngene-3.10.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm10.knowngene-3.10.0-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm10.knowngene-3.10.0-r41hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm10.knowngene-3.10.0-r42hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm10.knowngene-3.4.7-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm39.refgene-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm39.refgene-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm39.refgene-3.12.0-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm39.refgene-3.12.0-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm39.refgene-3.12.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm39.refgene-3.12.0-r42hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm9.knowngene-3.2.2-r36_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm9.knowngene-3.2.2-r36_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm9.knowngene-3.2.2-r40_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm9.knowngene-3.2.2-r40_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm9.knowngene-3.2.2-r40hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm9.knowngene-3.2.2-r41hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm9.knowngene-3.2.2-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm9.knowngene-3.2.2-r41hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.mmusculus.ucsc.mm9.knowngene-3.2.2-r42hdfd78af_14.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro4.refgene-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro4.refgene-3.11.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro4.refgene-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro4.refgene-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro4.refgene-3.12.0-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro4.refgene-3.12.0-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro4.refgene-3.12.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro4.refgene-3.12.0-r42hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro4.refgene-3.4.6-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro5.refgene-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro5.refgene-3.11.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro5.refgene-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro5.refgene-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro5.refgene-3.12.0-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro5.refgene-3.12.0-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro5.refgene-3.12.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro5.refgene-3.12.0-r42hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro5.refgene-3.4.6-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro6.refgene-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro6.refgene-3.10.0-r40_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro6.refgene-3.10.0-r40_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro6.refgene-3.10.0-r40hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro6.refgene-3.10.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro6.refgene-3.10.0-r41hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro6.refgene-3.10.0-r41hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.ptroglodytes.ucsc.pantro6.refgene-3.10.0-r42hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.biomart.igis-2.3.2-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.biomart.igis-2.3.2-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.biomart.igis-2.3.2-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.biomart.igis-2.3.2-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.biomart.igis-2.3.2-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.biomart.igis-2.3.2-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.biomart.igis-2.3.2-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.biomart.igis-2.3.2-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.biomart.igis-2.3.2-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn4.ensgene-3.2.2-r36_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn4.ensgene-3.2.2-r36_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn4.ensgene-3.2.2-r40_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn4.ensgene-3.2.2-r40_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn4.ensgene-3.2.2-r40hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn4.ensgene-3.2.2-r41hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn4.ensgene-3.2.2-r41hdfd78af_12.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn4.ensgene-3.2.2-r41hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn4.ensgene-3.2.2-r42hdfd78af_14.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn5.refgene-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn5.refgene-3.11.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn5.refgene-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn5.refgene-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn5.refgene-3.12.0-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn5.refgene-3.12.0-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn5.refgene-3.12.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn5.refgene-3.12.0-r42hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn5.refgene-3.4.6-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn6.ncbirefseq-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn6.ncbirefseq-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn6.ncbirefseq-3.12.0-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn6.ncbirefseq-3.12.0-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn6.ncbirefseq-3.12.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn6.ncbirefseq-3.12.0-r42hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn6.refgene-3.4.6-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn6.refgene-3.4.6-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn6.refgene-3.4.6-r40_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn6.refgene-3.4.6-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn6.refgene-3.4.6-r40hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn6.refgene-3.4.6-r41hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn6.refgene-3.4.6-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn6.refgene-3.4.6-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn6.refgene-3.4.6-r42hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn7.refgene-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn7.refgene-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.rnorvegicus.ucsc.rn7.refgene-3.15.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.scerevisiae.ucsc.saccer2.sgdgene-3.2.2-r36_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.scerevisiae.ucsc.saccer2.sgdgene-3.2.2-r36_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.scerevisiae.ucsc.saccer2.sgdgene-3.2.2-r40_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.scerevisiae.ucsc.saccer2.sgdgene-3.2.2-r40_12.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.scerevisiae.ucsc.saccer2.sgdgene-3.2.2-r40hdfd78af_13.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.scerevisiae.ucsc.saccer2.sgdgene-3.2.2-r41hdfd78af_14.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.scerevisiae.ucsc.saccer2.sgdgene-3.2.2-r41hdfd78af_15.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.scerevisiae.ucsc.saccer2.sgdgene-3.2.2-r41hdfd78af_16.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.scerevisiae.ucsc.saccer2.sgdgene-3.2.2-r42hdfd78af_17.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.scerevisiae.ucsc.saccer3.sgdgene-3.2.2-r36_12.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.scerevisiae.ucsc.saccer3.sgdgene-3.2.2-r36_13.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.scerevisiae.ucsc.saccer3.sgdgene-3.2.2-r40_14.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.scerevisiae.ucsc.saccer3.sgdgene-3.2.2-r40_15.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.scerevisiae.ucsc.saccer3.sgdgene-3.2.2-r40hdfd78af_16.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.scerevisiae.ucsc.saccer3.sgdgene-3.2.2-r41hdfd78af_17.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.scerevisiae.ucsc.saccer3.sgdgene-3.2.2-r41hdfd78af_18.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.scerevisiae.ucsc.saccer3.sgdgene-3.2.2-r41hdfd78af_19.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.scerevisiae.ucsc.saccer3.sgdgene-3.2.2-r42hdfd78af_20.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.sscrofa.ucsc.susscr11.refgene-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.sscrofa.ucsc.susscr11.refgene-3.11.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.sscrofa.ucsc.susscr11.refgene-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.sscrofa.ucsc.susscr11.refgene-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.sscrofa.ucsc.susscr11.refgene-3.12.0-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.sscrofa.ucsc.susscr11.refgene-3.12.0-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.sscrofa.ucsc.susscr11.refgene-3.12.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.sscrofa.ucsc.susscr11.refgene-3.12.0-r42hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.sscrofa.ucsc.susscr11.refgene-3.4.6-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.sscrofa.ucsc.susscr3.refgene-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-genomicfeatures >=1.38.0,<1.39.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-txdb.sscrofa.ucsc.susscr3.refgene-3.11.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-genomicfeatures >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.sscrofa.ucsc.susscr3.refgene-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.sscrofa.ucsc.susscr3.refgene-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-genomicfeatures >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-txdb.sscrofa.ucsc.susscr3.refgene-3.12.0-r41hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-genomicfeatures >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.sscrofa.ucsc.susscr3.refgene-3.12.0-r41hdfd78af_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.sscrofa.ucsc.susscr3.refgene-3.12.0-r41hdfd78af_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-genomicfeatures >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-txdb.sscrofa.ucsc.susscr3.refgene-3.12.0-r42hdfd78af_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomicfeatures >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-txdb.sscrofa.ucsc.susscr3.refgene-3.4.6-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-genomicfeatures >=1.36.0,<1.37.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tximportdata-1.12.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-tximportdata-1.12.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tximportdata-1.14.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-tximportdata-1.16.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tximportdata-1.17.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tximportdata-1.18.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tximportdata-1.18.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-tximportdata-1.20.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tximportdata-1.22.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tximportdata-1.22.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-tximportdata-1.25.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-u133aaofav2cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-u133aaofav2cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-u133aaofav2cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-u133aaofav2cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-u133aaofav2cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-u133aaofav2cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-u133aaofav2cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-u133aaofav2cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-u133aaofav2cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-u133x3p.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.hs.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-u133x3p.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.hs.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-u133x3p.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.hs.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-u133x3p.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-u133x3p.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.hs.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-u133x3p.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.hs.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-u133x3p.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-u133x3p.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.hs.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-u133x3p.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.hs.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-u133x3pcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-u133x3pcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-u133x3pcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-u133x3pcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-u133x3pcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-u133x3pcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-u133x3pcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-u133x3pcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-u133x3pcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-u133x3pprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-u133x3pprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-u133x3pprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-u133x3pprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-u133x3pprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-u133x3pprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-u133x3pprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-u133x3pprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-u133x3pprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ucscrepeatmasker-3.15.2-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub >=3.6.0,<3.7.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-rcurl", - "r-xml" - ] - }, - "bioconductor-uniprotkeywords-0.99.4-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-varianttoolsdata-1.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.32.0,<0.33.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-variantannotation >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-varianttoolsdata-1.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.34.0,<0.35.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-variantannotation >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-varianttoolsdata-1.14.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-variantannotation >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-varianttoolsdata-1.14.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-variantannotation >=1.36.0,<1.37.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-varianttoolsdata-1.16.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.38.0,<0.39.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-variantannotation >=1.38.0,<1.39.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-varianttoolsdata-1.18.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-variantannotation >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-varianttoolsdata-1.18.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-variantannotation >=1.40.0,<1.41.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-varianttoolsdata-1.22.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.44.0,<0.45.0", - "bioconductor-data-packages >=20221108", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-variantannotation >=1.44.0,<1.45.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-varianttoolsdata-1.8.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.30.0,<0.31.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-variantannotation >=1.30.0,<1.31.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-vectrapolarisdata-1.2.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-spatialexperiment >=1.8.0,<1.9.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-vitisviniferacdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-vitisviniferacdf-2.18.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-vitisviniferacdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-vitisviniferacdf-2.18.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-vitisviniferacdf-2.18.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-vitisviniferacdf-2.18.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-vitisviniferacdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-vitisviniferacdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-vitisviniferacdf-2.18.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-vitisviniferaprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-vitisviniferaprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-vitisviniferaprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-vitisviniferaprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-vitisviniferaprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-vitisviniferaprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-vitisviniferaprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-vitisviniferaprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-vitisviniferaprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-vulcandata-1.10.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-vulcandata-1.11.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-vulcandata-1.12.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-vulcandata-1.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-vulcandata-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-vulcandata-1.16.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-vulcandata-1.16.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-vulcandata-1.19.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-vulcandata-1.6.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-vulcandata-1.6.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-vulcandata-1.8.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-wavetilingdata-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-wavetilingdata-1.20.0-r361_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-wavetilingdata-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-wavetilingdata-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-wavetilingdata-1.25.1-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-wavetilingdata-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-wavetilingdata-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-weberdivechalcdata-1.0.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "bioconductor-singlecellexperiment >=1.20.0,<1.21.0", - "bioconductor-spatialexperiment >=1.8.0,<1.9.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-wes.1kg.wugsc-1.16.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-wes.1kg.wugsc-1.16.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-wes.1kg.wugsc-1.18.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-wes.1kg.wugsc-1.20.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-wes.1kg.wugsc-1.21.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-wes.1kg.wugsc-1.22.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-wes.1kg.wugsc-1.22.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-wes.1kg.wugsc-1.24.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-wes.1kg.wugsc-1.26.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-wes.1kg.wugsc-1.26.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-wes.1kg.wugsc-1.29.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-wgsmapp-1.0.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-wgsmapp-1.10.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221106", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-wgsmapp-1.2.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-wgsmapp-1.2.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-wgsmapp-1.4.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-wgsmapp-1.6.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-wgsmapp-1.6.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-wheatcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-wheatcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-wheatcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-wheatcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-wheatcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-wheatcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-wheatcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-wheatcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-wheatcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-wheatprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-wheatprobe-2.18.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-wheatprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-wheatprobe-2.18.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-wheatprobe-2.18.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-wheatprobe-2.18.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-wheatprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-wheatprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-wheatprobe-2.18.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-worm.db0-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-worm.db0-3.11.2-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-worm.db0-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-worm.db0-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-worm.db0-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-worm.db0-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-worm.db0-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-worm.db0-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-worm.db0-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-xcoredata-1.2.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221108", - "bioconductor-experimenthub >=2.6.0,<2.7.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-xenopus.db0-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-xenopus.db0-3.11.2-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xenopus.db0-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xenopus.db0-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xenopus.db0-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xenopus.db0-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xenopus.db0-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xenopus.db0-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-xenopus.db0-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-xenopuslaeviscdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-xenopuslaeviscdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-xenopuslaeviscdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xenopuslaeviscdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xenopuslaeviscdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xenopuslaeviscdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xenopuslaeviscdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xenopuslaeviscdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xenopuslaeviscdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-xenopuslaevisprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-xenopuslaevisprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-xenopuslaevisprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xenopuslaevisprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xenopuslaevisprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xenopuslaevisprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xenopuslaevisprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xenopuslaevisprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xenopuslaevisprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-xhybcasneuf-1.22.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.62.0,<1.63.0", - "bioconductor-ath1121501cdf >=2.18.0,<2.19.0", - "bioconductor-tinesath1cdf >=1.22.0,<1.23.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rcolorbrewer" - ] - }, - "bioconductor-xhybcasneuf-1.24.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.64.0,<1.65.0", - "bioconductor-ath1121501cdf >=2.18.0,<2.19.0", - "bioconductor-tinesath1cdf >=1.24.0,<1.25.0", - "curl", - "r-base >=3.6,<3.7.0a0", - "r-rcolorbrewer" - ] - }, - "bioconductor-xhybcasneuf-1.26.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.66.0,<1.67.0", - "bioconductor-ath1121501cdf >=2.18.0,<2.19.0", - "bioconductor-tinesath1cdf >=1.26.0,<1.27.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rcolorbrewer" - ] - }, - "bioconductor-xhybcasneuf-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-ath1121501cdf >=2.18.0,<2.19.0", - "bioconductor-tinesath1cdf >=1.28.0,<1.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rcolorbrewer" - ] - }, - "bioconductor-xhybcasneuf-1.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.68.0,<1.69.0", - "bioconductor-ath1121501cdf >=2.18.0,<2.19.0", - "bioconductor-tinesath1cdf >=1.28.0,<1.29.0", - "curl", - "r-base >=4.0,<4.1.0a0", - "r-rcolorbrewer" - ] - }, - "bioconductor-xhybcasneuf-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.70.0,<1.71.0", - "bioconductor-ath1121501cdf >=2.18.0,<2.19.0", - "bioconductor-tinesath1cdf >=1.30.0,<1.31.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rcolorbrewer" - ] - }, - "bioconductor-xhybcasneuf-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-ath1121501cdf >=2.18.0,<2.19.0", - "bioconductor-tinesath1cdf >=1.32.0,<1.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rcolorbrewer" - ] - }, - "bioconductor-xhybcasneuf-1.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.72.0,<1.73.0", - "bioconductor-ath1121501cdf >=2.18.0,<2.19.0", - "bioconductor-tinesath1cdf >=1.32.0,<1.33.0", - "curl", - "r-base >=4.1,<4.2.0a0", - "r-rcolorbrewer" - ] - }, - "bioconductor-xhybcasneuf-1.36.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.76.0,<1.77.0", - "bioconductor-ath1121501cdf >=2.18.0,<2.19.0", - "bioconductor-data-packages >=20221109", - "bioconductor-tinesath1cdf >=1.36.0,<1.37.0", - "curl", - "r-base >=4.2,<4.3.0a0", - "r-rcolorbrewer" - ] - }, - "bioconductor-xlaevis.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.xl.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-xlaevis.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.xl.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-xlaevis.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.xl.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xlaevis.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.xl.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xlaevis.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.xl.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xlaevis.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.xl.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xlaevis.db-3.2.3-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.xl.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xlaevis.db-3.2.3-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.xl.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xlaevis.db-3.2.3-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.xl.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-xlaevis2cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-xlaevis2cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-xlaevis2cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xlaevis2cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xlaevis2cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xlaevis2cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xlaevis2cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xlaevis2cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xlaevis2cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-xlaevis2probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-xlaevis2probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-xlaevis2probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xlaevis2probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xlaevis2probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xlaevis2probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xlaevis2probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xlaevis2probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xlaevis2probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp141.grch38-0.99.12-r36_2.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp141.grch38-0.99.12-r36_3.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp141.grch38-0.99.12-r40_4.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp141.grch38-0.99.12-r40_5.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp141.grch38-0.99.12-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp141.grch38-0.99.12-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp141.grch38-0.99.12-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp141.grch38-0.99.12-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp144.grch37-0.99.12-r36_2.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.30.0,<0.31.0", - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp144.grch37-0.99.12-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.32.0,<0.33.0", - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp144.grch37-0.99.12-r40_4.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.34.0,<0.35.0", - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp144.grch37-0.99.12-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp144.grch37-0.99.12-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp144.grch37-0.99.12-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.38.0,<0.39.0", - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp144.grch37-0.99.12-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp144.grch37-0.99.12-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp144.grch37-0.99.12-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.44.0,<0.45.0", - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp144.grch38-0.99.12-r36_3.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.30.0,<0.31.0", - "bioconductor-bsgenome >=1.52.0,<1.53.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-iranges >=2.18.0,<2.19.0", - "bioconductor-s4vectors >=0.22.0,<0.23.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp144.grch38-0.99.12-r36_4.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.32.0,<0.33.0", - "bioconductor-bsgenome >=1.54.0,<1.55.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-iranges >=2.20.0,<2.21.0", - "bioconductor-s4vectors >=0.24.0,<0.25.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp144.grch38-0.99.12-r40_5.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.34.0,<0.35.0", - "bioconductor-bsgenome >=1.56.0,<1.57.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-iranges >=2.22.0,<2.23.0", - "bioconductor-s4vectors >=0.26.0,<0.27.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp144.grch38-0.99.12-r40_6.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp144.grch38-0.99.12-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.36.0,<0.37.0", - "bioconductor-bsgenome >=1.58.0,<1.59.0", - "bioconductor-genomeinfodb >=1.26.0,<1.27.0", - "bioconductor-genomicranges >=1.42.0,<1.43.0", - "bioconductor-iranges >=2.24.0,<2.25.0", - "bioconductor-s4vectors >=0.28.0,<0.29.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp144.grch38-0.99.12-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp144.grch38-0.99.12-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.38.0,<0.39.0", - "bioconductor-bsgenome >=1.60.0,<1.61.0", - "bioconductor-genomeinfodb >=1.28.0,<1.29.0", - "bioconductor-genomicranges >=1.44.0,<1.45.0", - "bioconductor-iranges >=2.26.0,<2.27.0", - "bioconductor-s4vectors >=0.30.0,<0.31.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp144.grch38-0.99.12-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.40.0,<0.41.0", - "bioconductor-bsgenome >=1.62.0,<1.63.0", - "bioconductor-genomeinfodb >=1.30.0,<1.31.0", - "bioconductor-genomicranges >=1.46.0,<1.47.0", - "bioconductor-iranges >=2.28.0,<2.29.0", - "bioconductor-s4vectors >=0.32.0,<0.33.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xtrasnplocs.hsapiens.dbsnp144.grch38-0.99.12-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.44.0,<0.45.0", - "bioconductor-bsgenome >=1.66.0,<1.67.0", - "bioconductor-data-packages >=20221103", - "bioconductor-genomeinfodb >=1.34.0,<1.35.0", - "bioconductor-genomicranges >=1.50.0,<1.51.0", - "bioconductor-iranges >=2.32.0,<2.33.0", - "bioconductor-s4vectors >=0.36.0,<0.37.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-xtropicaliscdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-xtropicaliscdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-xtropicaliscdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xtropicaliscdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xtropicaliscdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xtropicaliscdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xtropicaliscdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xtropicaliscdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xtropicaliscdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-xtropicalisprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-xtropicalisprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-xtropicalisprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xtropicalisprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xtropicalisprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-xtropicalisprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xtropicalisprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xtropicalisprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-xtropicalisprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ye6100subacdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ye6100subacdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ye6100subacdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ye6100subacdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ye6100subacdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ye6100subacdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ye6100subacdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ye6100subacdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ye6100subacdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ye6100subbcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ye6100subbcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ye6100subbcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ye6100subbcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ye6100subbcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ye6100subbcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ye6100subbcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ye6100subbcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ye6100subbcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ye6100subccdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ye6100subccdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ye6100subccdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ye6100subccdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ye6100subccdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ye6100subccdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ye6100subccdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ye6100subccdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ye6100subccdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ye6100subdcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ye6100subdcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ye6100subdcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ye6100subdcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ye6100subdcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ye6100subdcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ye6100subdcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ye6100subdcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ye6100subdcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-yeast.db0-3.10.1-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-yeast.db0-3.11.2-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeast.db0-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeast.db0-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeast.db0-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeast.db0-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeast.db0-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeast.db0-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-yeast.db0-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-yeast2.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.sc.sgd.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeast2.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.sc.sgd.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeast2.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.sc.sgd.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-yeast2.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.sc.sgd.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-yeast2.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.sc.sgd.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-yeast2.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.sc.sgd.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeast2.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.sc.sgd.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeast2.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.sc.sgd.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeast2.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.sc.sgd.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeast2cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-yeast2cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-yeast2cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeast2cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeast2cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeast2cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeast2cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeast2cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeast2cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-yeast2probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-yeast2probe-2.18.0-r36_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-yeast2probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeast2probe-2.18.0-r40_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeast2probe-2.18.0-r40hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeast2probe-2.18.0-r41hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeast2probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeast2probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeast2probe-2.18.0-r42hdfd78af_11.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-yeastcc-1.24.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-yeastcc-1.26.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-yeastcc-1.28.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeastcc-1.29.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeastcc-1.30.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeastcc-1.30.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeastcc-1.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.52.0,<2.53.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeastcc-1.34.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeastcc-1.34.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.54.0,<2.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeastcc-1.38.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.58.0,<2.59.0", - "bioconductor-data-packages >=20221104", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-yeastexpdata-0.30.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-graph >=1.62.0,<1.63.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-yeastexpdata-0.32.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-graph >=1.64.0,<1.65.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-yeastexpdata-0.34.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-graph >=1.66.0,<1.67.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeastexpdata-0.36.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-graph >=1.68.0,<1.69.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeastexpdata-0.36.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-graph >=1.68.0,<1.69.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeastexpdata-0.38.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-graph >=1.70.0,<1.71.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeastexpdata-0.40.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-graph >=1.72.0,<1.73.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeastexpdata-0.40.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-graph >=1.72.0,<1.73.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeastexpdata-0.44.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221104", - "bioconductor-graph >=1.76.0,<1.77.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-yeastgsdata-0.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-yeastgsdata-0.22.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-yeastgsdata-0.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-yeastgsdata-0.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeastgsdata-0.27.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeastgsdata-0.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeastgsdata-0.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeastgsdata-0.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeastgsdata-0.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeastgsdata-0.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeastgsdata-0.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-yeastnagalakshmi-1.20.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-yeastnagalakshmi-1.20.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-yeastnagalakshmi-1.22.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-yeastnagalakshmi-1.24.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeastnagalakshmi-1.25.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeastnagalakshmi-1.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeastnagalakshmi-1.26.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeastnagalakshmi-1.28.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeastnagalakshmi-1.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeastnagalakshmi-1.30.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeastnagalakshmi-1.33.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-yeastrnaseq-0.22.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-yeastrnaseq-0.22.0-r36_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-yeastrnaseq-0.24.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-yeastrnaseq-0.26.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeastrnaseq-0.27.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeastrnaseq-0.28.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeastrnaseq-0.28.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yeastrnaseq-0.30.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeastrnaseq-0.32.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeastrnaseq-0.32.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-yeastrnaseq-0.35.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ygs98.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.sc.sgd.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ygs98.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.sc.sgd.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ygs98.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.sc.sgd.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ygs98.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.sc.sgd.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ygs98.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.sc.sgd.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ygs98.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.sc.sgd.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ygs98.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.sc.sgd.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ygs98.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.sc.sgd.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ygs98.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.sc.sgd.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ygs98cdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ygs98cdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ygs98cdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ygs98cdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ygs98cdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ygs98cdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ygs98cdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ygs98cdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ygs98cdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ygs98frmavecs-1.3.0-r351_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-ygs98frmavecs-1.3.0-r36_2.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ygs98frmavecs-1.3.0-r36_3.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ygs98frmavecs-1.3.0-r40_4.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ygs98frmavecs-1.3.0-r40_5.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ygs98frmavecs-1.3.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ygs98frmavecs-1.3.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ygs98frmavecs-1.3.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ygs98frmavecs-1.3.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ygs98frmavecs-1.3.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-ygs98probe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ygs98probe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-ygs98probe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ygs98probe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ygs98probe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-ygs98probe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ygs98probe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ygs98probe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-ygs98probe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-yri1kgv-0.26.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.44.0,<2.45.0", - "bioconductor-ggbase >=3.46.0,<3.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-yri1kgv-0.28.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.46.0,<2.47.0", - "bioconductor-ggbase >=3.48.0,<3.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-yri1kgv-0.30.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.48.0,<2.49.0", - "bioconductor-ggbase >=3.50.0,<3.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yri1kgv-0.32.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-ggbase >=3.52.0,<3.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yri1kgv-0.32.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0,<2.51.0", - "bioconductor-ggbase >=3.52.0,<3.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-yrimulti-0.14.0-r36_1.tar.bz2": { - "depends": [ - "bioconductor-dsqtl >=0.22.0,<0.23.0", - "bioconductor-genomeinfodb >=1.20.0,<1.21.0", - "bioconductor-genomicfiles >=1.20.0,<1.21.0", - "bioconductor-genomicranges >=1.36.0,<1.37.0", - "bioconductor-geuvpack >=1.16.0,<1.17.0", - "bioconductor-gqtlbase >=1.16.0,<1.17.0", - "bioconductor-homo.sapiens >=1.3.0,<1.4.0", - "bioconductor-multiassayexperiment >=1.10.0,<1.11.0", - "bioconductor-summarizedexperiment >=1.14.0,<1.15.0", - "bioconductor-variantannotation >=1.30.0,<1.31.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-yrimulti-0.16.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-dsqtl >=0.24.0,<0.25.0", - "bioconductor-genomeinfodb >=1.22.0,<1.23.0", - "bioconductor-genomicfiles >=1.22.0,<1.23.0", - "bioconductor-genomicranges >=1.38.0,<1.39.0", - "bioconductor-geuvpack >=1.18.0,<1.19.0", - "bioconductor-gqtlbase >=1.18.0,<1.19.0", - "bioconductor-homo.sapiens >=1.3.0,<1.4.0", - "bioconductor-multiassayexperiment >=1.12.0,<1.13.0", - "bioconductor-summarizedexperiment >=1.16.0,<1.17.0", - "bioconductor-variantannotation >=1.32.0,<1.33.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-yrimulti-0.18.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-dsqtl >=0.26.0,<0.27.0", - "bioconductor-genomeinfodb >=1.24.0,<1.25.0", - "bioconductor-genomicfiles >=1.24.0,<1.25.0", - "bioconductor-genomicranges >=1.40.0,<1.41.0", - "bioconductor-geuvpack >=1.20.0,<1.21.0", - "bioconductor-gqtlbase >=1.20.0,<1.21.0", - "bioconductor-homo.sapiens >=1.3.0,<1.4.0", - "bioconductor-multiassayexperiment >=1.14.0,<1.15.0", - "bioconductor-summarizedexperiment >=1.18.0,<1.19.0", - "bioconductor-variantannotation >=1.34.0,<1.35.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-zebrafish.db-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.dr.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-zebrafish.db-3.13.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "bioconductor-org.dr.eg.db >=3.14.0,<3.15.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-zebrafish.db-3.13.0-r42hdfd78af_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "bioconductor-org.dr.eg.db >=3.16.0,<3.17.0", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-zebrafish.db-3.2.3-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "bioconductor-org.dr.eg.db >=3.8.0,<3.9.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-zebrafish.db-3.2.3-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "bioconductor-org.dr.eg.db >=3.10.0,<3.11.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-zebrafish.db-3.2.3-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "bioconductor-org.dr.eg.db >=3.11.0,<3.12.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-zebrafish.db-3.2.3-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.dr.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-zebrafish.db-3.2.3-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "bioconductor-org.dr.eg.db >=3.12.0,<3.13.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-zebrafish.db-3.2.3-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "bioconductor-org.dr.eg.db >=3.13.0,<3.14.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-zebrafish.db0-3.10.0-r36_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-zebrafish.db0-3.11.2-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-zebrafish.db0-3.12.0-r40_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-zebrafish.db0-3.12.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-zebrafish.db0-3.13.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-zebrafish.db0-3.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-zebrafish.db0-3.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-zebrafish.db0-3.16.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-zebrafish.db0-3.8.2-r36_1.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-zebrafishcdf-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-zebrafishcdf-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-zebrafishcdf-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-zebrafishcdf-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-zebrafishcdf-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-zebrafishcdf-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-zebrafishcdf-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-zebrafishcdf-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-zebrafishcdf-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-zebrafishprobe-2.18.0-r36_2.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.46.0,<1.47.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-zebrafishprobe-2.18.0-r36_3.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0,<1.49.0", - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-zebrafishprobe-2.18.0-r40_4.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.50.0,<1.51.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-zebrafishprobe-2.18.0-r40_5.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-zebrafishprobe-2.18.0-r40hdfd78af_6.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.52.0,<1.53.0", - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-zebrafishprobe-2.18.0-r41hdfd78af_7.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.54.0,<1.55.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-zebrafishprobe-2.18.0-r41hdfd78af_8.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-zebrafishprobe-2.18.0-r41hdfd78af_9.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.56.0,<1.57.0", - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-zebrafishprobe-2.18.0-r42hdfd78af_10.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.60.0,<1.61.0", - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-zebrafishrnaseq-1.10.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-zebrafishrnaseq-1.10.0-r40hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-zebrafishrnaseq-1.12.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-zebrafishrnaseq-1.14.0-r41hdfd78af_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-zebrafishrnaseq-1.14.0-r41hdfd78af_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.1,<4.2.0a0" - ] - }, - "bioconductor-zebrafishrnaseq-1.17.0-r42hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-data-packages >=20221103", - "curl", - "r-base >=4.2,<4.3.0a0" - ] - }, - "bioconductor-zebrafishrnaseq-1.4.0-r351_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.5.1,<3.5.2.0a0" - ] - }, - "bioconductor-zebrafishrnaseq-1.4.0-r361_1.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-zebrafishrnaseq-1.6.0-r36_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=3.6,<3.7.0a0" - ] - }, - "bioconductor-zebrafishrnaseq-1.8.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "bioconductor-zebrafishrnaseq-1.9.0-r40_0.tar.bz2": { - "depends": [ - "curl", - "r-base >=4.0,<4.1.0a0" - ] - }, - "hmnqc-0.5.1-pyhdfd78af_0.tar.bz2": { - "depends": [ - "biopython", - "cnvkit", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "pysam", - "python", - "pyyaml", - "xlsxwriter" - ] - }, - "homopolish-0.4.1-pyhdfd78af_0.tar.bz2": { - "depends": [ - "_libgcc_mutex >=0.1", - "_openmp_mutex >=4.5", - "arrow-cpp >=0.15.1", - "biopython >=1.76", - "blas >=2.17", - "boost >=1.70.0,<1.70.1.0a0", - "boost-cpp >=1.70.0", - "brotli >=1.0.9", - "brotlipy >=0.7.0", - "bzip2 >=1.0.8,<2.0a0", - "c-ares >=1.16.1", - "ca-certificates >=2022.07.19", - "capnproto >=0.6.1", - "certifi >=2022.6.15", - "cffi >=1.14.3", - "chardet >=3.0.4", - "colorama >=0.4.4", - "cryptography >=3.1.1", - "curl >=7.78.0", - "double-conversion >=3.1.5", - "fastani >=1.32", - "feather-format >=0.4.1", - "gflags >=2.2.2", - "glog >=0.4.0", - "grpc-cpp >=1.25.0", - "gsl >=2.4", - "icu >=58.2", - "idna >=2.10", - "joblib >=0.15.1", - "k8 >=0.2.5", - "krb5 >=1.19.2", - "ld_impl_linux-64 >=2.33.1", - "libblas >=3.8.0", - "libcblas >=3.8.0", - "libcurl >=7.78.0", - "libdeflate >=1.0", - "libedit >=3.1.20210910", - "libev >=4.33", - "libffi >=3.4.2,<3.5.0a0", - "libgcc-ng >=12.1.0", - "libgfortran-ng >=7.3.0", - "liblapack >=3.8.0", - "liblapacke >=3.8.0", - "libnghttp2 >=1.41.0", - "libopenblas >=0.3.10", - "libprotobuf >=3.10.1", - "libssh2 >=1.9.0", - "libstdcxx-ng >=12.1.0", - "llvm-openmp >=12.0.1", - "lz4-c >=1.8.3", - "mash >=2.1.1", - "minimap2 >=2.17", - "more-itertools >=8.4.0", - "ncbi-datasets-cli >=13.37.2", - "ncurses >=6.3", - "numpy >=1.18.5", - "numpy-base >=1.18.5", - "openssl >=1.1.0,<=1.1.1", - "pandas >=0.23.4", - "parquet-cpp >=1.5.1", - "pyarrow >=0.15.1", - "pycparser >=2.20", - "pycurl >=7.43.0.6", - "pyopenssl >=19.1.0", - "pysam >=0.15.3", - "pysocks >=1.7.1", - "python >=3.7.7", - "python-dateutil >=2.8.1", - "python-wget >=3.2", - "pytz >=2020.1", - "re2 >=2019.08.01", - "readline >=8.1.2,<9.0a0", - "requests >=2.24.0", - "scikit-learn >=0.21.3", - "scipy >=1.5.2", - "setuptools >=50.3.0", - "six >=1.15.0", - "snappy >=1.1.8", - "sqlite >=3.33.0", - "thrift-cpp >=0.12.0", - "tk >=8.6.12,<8.7.0a0", - "tqdm >=4.63.0", - "uriparser >=0.9.3", - "urllib3 >=1.25.11", - "wheel >=0.35.1", - "xz >=5.2.6,<5.3.0a0", - "zlib >=1.2.11,<1.3.0a0", - "zstd >=1.4.4" - ] - }, - "homopolish-0.4.1-pyhdfd78af_1.tar.bz2": { - "depends": [ - "_libgcc_mutex >=0.1", - "_openmp_mutex >=4.5", - "arrow-cpp >=0.15.1", - "biopython >=1.76", - "blas >=2.17", - "boost >=1.70.0,<1.70.1.0a0", - "boost-cpp >=1.70.0", - "brotli >=1.0.9", - "brotlipy >=0.7.0", - "bzip2 >=1.0.8,<2.0a0", - "c-ares >=1.16.1", - "ca-certificates >=2022.07.19", - "capnproto >=0.6.1", - "certifi >=2022.6.15", - "cffi >=1.14.3", - "chardet >=3.0.4", - "colorama >=0.4.4", - "cryptography >=3.1.1", - "curl >=7.78.0", - "double-conversion >=3.1.5", - "fastani 1.32.*", - "feather-format >=0.4.1", - "gflags >=2.2.2", - "glog >=0.4.0", - "grpc-cpp >=1.25.0", - "gsl 2.4.*", - "icu >=58.2", - "idna >=2.10", - "joblib >=0.15.1", - "k8 >=0.2.5", - "krb5 >=1.19.2", - "ld_impl_linux-64 >=2.33.1", - "libblas >=3.8.0", - "libcblas >=3.8.0", - "libcurl >=7.78.0", - "libdeflate >=1.0", - "libedit >=3.1.20210910", - "libev >=4.33", - "libffi >=3.4.2,<3.5.0a0", - "libgcc-ng >=12.1.0", - "libgfortran-ng >=7.3.0", - "liblapack >=3.8.0", - "liblapacke >=3.8.0", - "libnghttp2 >=1.41.0", - "libopenblas >=0.3.10", - "libprotobuf >=3.10.1", - "libssh2 >=1.9.0", - "libstdcxx-ng >=12.1.0", - "llvm-openmp >=12.0.1", - "lz4-c >=1.8.3", - "mash 2.1.1.*", - "minimap2 >=2.17", - "more-itertools >=8.4.0", - "ncbi-datasets-cli >=13.37.2", - "ncurses >=6.3", - "numpy 1.18.5.*", - "numpy-base 1.18.5.*", - "openssl >=1.1.0,<=1.1.1", - "pandas >=0.23.4", - "parquet-cpp >=1.5.1", - "pyarrow >=0.15.1", - "pycparser >=2.20", - "pycurl >=7.43.0.6", - "pyopenssl >=19.1.0", - "pysam >=0.15.3", - "pysocks >=1.7.1", - "python", - "python-dateutil >=2.8.1", - "python-wget >=3.2", - "pytz >=2020.1", - "re2 >=2019.08.01", - "readline >=8.1.2,<9.0a0", - "requests >=2.24.0", - "scikit-learn 0.21.3.*", - "scipy >=1.5.2", - "setuptools >=50.3.0", - "six >=1.15.0", - "snappy >=1.1.8", - "sqlite >=3.33.0", - "thrift-cpp >=0.12.0", - "tk >=8.6.12,<8.7.0a0", - "tqdm >=4.63.0", - "uriparser >=0.9.3", - "urllib3 >=1.25.11", - "wheel >=0.35.1", - "xz >=5.2.6,<5.3.0a0", - "zlib >=1.2.11,<1.3.0a0", - "zstd >=1.4.4" - ] - }, - "nanoqc-0.9.1-py_0.tar.bz2": { - "depends": [ - "biopython", - "bokeh >=2.4,<3", - "numpy", - "python >=3" - ] - }, - "nanoqc-0.9.2-py_0.tar.bz2": { - "depends": [ - "biopython", - "bokeh >=2.4,<3", - "numpy", - "python >=3" - ] - }, - "nanoqc-0.9.4-py_0.tar.bz2": { - "depends": [ - "biopython", - "bokeh >=2.4,<3", - "numpy", - "python >=3" - ] - }, - "nanosim-2.2.0-py_0.tar.bz2": { - "depends": [ - "htseq >=0.9.1", - "last", - "minimap2", - "numpy >=1.13.3", - "pybedtools >=0.7.10", - "pysam >=0.13", - "python", - "scikit-learn >=0.20.0,<=0.22.1", - "scipy >=1.0.0", - "six >=1.10.0" - ] - }, - "nanosim-2.5.0-py_0.tar.bz2": { - "depends": [ - "htseq >=0.9.1", - "last", - "minimap2", - "numpy >=1.13.3", - "pybedtools >=0.7.10", - "pysam >=0.13", - "python", - "scikit-learn >=0.20.0,<=0.22.1", - "scipy >=1.0.0", - "six >=1.10.0" - ] - }, - "nanosim-2.5.1-1.tar.bz2": { - "depends": [ - "htseq >=0.9.1", - "joblib", - "last", - "minimap2", - "numpy >=1.13.3", - "pybedtools >=0.7.10", - "pysam >=0.13", - "python", - "scikit-learn >=0.20.0,<=0.22.1", - "scipy >=1.0.0", - "six >=1.10.0" - ] - }, - "nanosim-2.5.1-py_0.tar.bz2": { - "depends": [ - "htseq >=0.9.1", - "last", - "minimap2", - "numpy >=1.13.3", - "pybedtools >=0.7.10", - "pysam >=0.13", - "python", - "scikit-learn >=0.20.0,<=0.22.1", - "scipy >=1.0.0", - "six >=1.10.0" - ] - }, - "nanosim-2.6.0-0.tar.bz2": { - "depends": [ - "htseq >=0.9.1", - "joblib", - "last", - "minimap2", - "numpy >=1.13.3", - "pybedtools >=0.7.10", - "pysam >=0.13", - "python", - "scikit-learn >=0.20.0,<=0.22.1", - "scipy >=1.0.0", - "six >=1.10.0" - ] - }, - "nanosim-2.6.0-hdfd78af_1.tar.bz2": { - "depends": [ - "htseq >=0.9.1", - "joblib", - "last", - "minimap2", - "numpy >=1.13.3", - "pybedtools >=0.7.10", - "pysam >=0.13", - "python", - "scikit-learn >=0.20.0,<=0.22.1", - "scipy >=1.0.0", - "six >=1.10.0" - ] - }, - "nanosim-3.0.0-hdfd78af_0.tar.bz2": { - "depends": [ - "htseq >=0.9.1", - "joblib", - "last", - "minimap2", - "numpy >=1.13.3", - "pybedtools >=0.7.10", - "pysam >=0.13", - "python", - "scikit-learn >=0.20.0,<=0.22.1", - "scipy >=1.0.0", - "six >=1.10.0" - ] - }, - "nanosim-3.0.2-hdfd78af_0.tar.bz2": { - "depends": [ - "genometools-genometools", - "htseq >=0.9.1", - "joblib", - "last", - "minimap2", - "numpy >=1.13.3", - "pybedtools >=0.7.10", - "pysam >=0.13", - "python", - "samtools", - "scikit-learn >=0.20.0,<=0.22.1", - "scipy >=1.0.0", - "six >=1.10.0" - ] - }, - "nanosim-3.1.0-hdfd78af_0.tar.bz2": { - "depends": [ - "genometools-genometools", - "htseq >=0.9.1", - "joblib", - "last", - "minimap2", - "numpy >=1.13.3", - "pybedtools >=0.7.10", - "pysam >=0.13", - "python", - "samtools", - "scikit-learn >=0.20.0,<=0.22.1", - "scipy >=1.0.0", - "six >=1.10.0" - ] - }, - "r-bseqsc-1.0-r40hdfd78af_0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi >=1.48.0", - "bioconductor-biobase >=2.46.0", - "bioconductor-edger >=3.28.0", - "bioconductor-preprocesscore >=1.48.0", - "r-abind >=1.4_5", - "r-base >=3.6,<3.7", - "r-cssam >=1.4", - "r-dplyr >=1.0.6", - "r-e1071 >=1.7_7", - "r-ggplot2 >=3.3.3", - "r-nmf >=0.21.0", - "r-openxlsx >=4.2.3", - "r-pkgmaker >=0.32.2", - "r-plyr >=1.8.6", - "r-rngtools >=1.5", - "r-scales >=1.1.1", - "r-stringr >=1.4.0", - "xbioc >=0.1.18" - ] - }, - "r-seqmagick-0.1.5-r41h3121a25_0.tar.bz2": { - "depends": [ - "bioconductor-biostrings", - "r-base >=3.6,<3.7", - "r-magrittr" - ] - }, - "r-seqmagick-0.1.5-r42h3121a25_1.tar.bz2": { - "depends": [ - "bioconductor-biostrings", - "r-base >=3.6,<3.7", - "r-magrittr" - ] - }, - "reparation_blast-1.0.9-pl5262hdfd78af_2.tar.bz2": { - "depends": [ - "biopython 1.77.*", - "blast", - "glimmer", - "openssl >=1.1.0,<=1.1.1", - "perl >=5.26.2,<5.26.3.0a0", - "perl-bioperl >=1.7.2", - "perl-posix", - "plastid", - "prodigal", - "pysam 0.16.0.1.*", - "r-ggplot2", - "r-prroc", - "r-randomforest", - "r-rocr", - "r-sizer", - "samtools" - ] - }, - "reparation_blast-1.0.9-pl526_1.tar.bz2": { - "depends": [ - "biopython 1.77.*", - "blast", - "glimmer", - "openssl >=1.1.0,<=1.1.1", - "perl >=5.26.2,<5.26.3.0a0", - "perl-bioperl >=1.7.2", - "perl-posix", - "plastid", - "prodigal", - "pysam 0.16.0.1.*", - "r-ggplot2", - "r-prroc", - "r-randomforest", - "r-rocr", - "r-sizer", - "samtools" - ] - }, - "reparation_blast-1.0.9-pl5321hdfd78af_3.tar.bz2": { - "depends": [ - "biopython 1.77.*", - "blast", - "glimmer", - "openssl >=1.1.0,<=1.1.1", - "perl >=5.32.1,<6.0a0 *_perl5", - "perl-bioperl >=1.7.2", - "perl-posix", - "plastid", - "prodigal", - "pysam 0.16.0.1.*", - "r-ggplot2", - "r-prroc", - "r-randomforest", - "r-rocr", - "r-sizer", - "samtools" - ] - }, - "rnalien-1.6.0-0.tar.bz2": { - "depends": [ - "blast 2.9.0", - "ca-certificates", - "entrez-direct", - "gmp", - "infernal 1.1.2", - "locarna 1.9.2", - "openssl >=1.1.0,<=1.1.1", - "perl", - "rnacode 0.3", - "rnaz 2.1", - "viennarna 2.3.5", - "zlib" - ] - }, - "rnalien-1.7.0-0.tar.bz2": { - "depends": [ - "blast 2.9.0", - "ca-certificates", - "entrez-direct", - "gmp", - "infernal 1.1.2", - "locarna 1.9.2", - "openssl >=1.1.0,<=1.1.1", - "perl", - "rnacode 0.3", - "rnaz 2.1", - "viennarna 2.3.5", - "zlib" - ] - }, - "rnalien-1.7.1-0.tar.bz2": { - "depends": [ - "blast 2.9.0", - "ca-certificates", - "entrez-direct", - "gmp", - "infernal 1.1.2", - "locarna 1.9.2", - "openssl >=1.1.0,<=1.1.1", - "perl", - "rnacode 0.3", - "rnaz 2.1", - "viennarna 2.3.5", - "zlib" - ] - }, - "rnalien-1.8.0-0.tar.bz2": { - "depends": [ - "blast 2.9.0", - "ca-certificates", - "entrez-direct", - "gmp", - "infernal 1.1.2", - "locarna 1.9.2", - "openssl >=1.1.0,<=1.1.1", - "perl", - "rnacode 0.3", - "rnaz 2.1", - "viennarna 2.3.5", - "zlib" - ] - }, - "rnalien-1.8.0-1.tar.bz2": { - "depends": [ - "blast 2.9.0", - "ca-certificates", - "entrez-direct", - "gmp", - "infernal 1.1.2", - "locarna 2.0.0RC8", - "openssl >=1.1.0,<=1.1.1", - "perl", - "rnacode 0.3", - "rnaz 2.1.1", - "viennarna 2.4.13", - "zlib" - ] - }, - "rnalien-1.8.0-hdfd78af_2.tar.bz2": { - "depends": [ - "blast 2.9.0", - "ca-certificates", - "entrez-direct", - "gmp", - "infernal 1.1.2", - "locarna 2.0.0RC8", - "openssl >=1.1.0,<=1.1.1", - "perl", - "rnacode 0.3", - "rnaz 2.1.1", - "viennarna 2.4.13", - "zlib" - ] - }, - "smeg-1.1.5-1.tar.bz2": { - "depends": [ - "bamtools", - "bedtools", - "blast", - "bowtie2", - "libgenome", - "mauve", - "openssl >=1.1.0,<=1.1.1", - "parallel", - "prokka", - "r-ape", - "r-data.table", - "r-dplyr", - "r-dynamictreecut", - "r-getopt", - "r-ggplot2", - "r-gplots", - "r-gsubfn", - "r-seqinr", - "readline >=6.2", - "roary", - "samtools" - ] - }, - "smeg-1.1.5-hdfd78af_2.tar.bz2": { - "depends": [ - "bamtools", - "bedtools", - "blast", - "bowtie2", - "libgenome", - "mauve", - "openssl >=1.1.0,<=1.1.1", - "parallel", - "prokka", - "r-ape", - "r-data.table", - "r-dplyr", - "r-dynamictreecut", - "r-getopt", - "r-ggplot2", - "r-gplots", - "r-gsubfn", - "r-seqinr", - "readline >=6.2", - "roary", - "samtools" - ] - }, - "star-fusion-1.11.1-hdfd78af_0.tar.bz2": { - "depends": [ - "bbmap", - "blast", - "bzip2", - "gmap", - "htslib", - "igv-reports", - "openssl >=1.1.0,<=1.1.1", - "perl", - "perl-carp", - "perl-carp-assert", - "perl-db-file", - "perl-io-gzip", - "perl-json-xs", - "perl-set-intervaltree", - "perl-uri", - "python", - "samtools <1.10", - "star 2.7.8a", - "trinity <2.9" - ] - }, - "star-fusion-1.12.0-hdfd78af_0.tar.bz2": { - "depends": [ - "bbmap", - "blast", - "bzip2", - "gmap", - "htslib", - "igv-reports", - "openssl >=1.1.0,<=1.1.1", - "perl", - "perl-carp", - "perl-carp-assert", - "perl-db-file", - "perl-io-gzip", - "perl-json-xs", - "perl-set-intervaltree", - "perl-uri", - "python", - "samtools <1.10", - "star 2.7.8a", - "trinity <2.9" - ] - } - }, - "patch_instructions_version": 1, - "remove": [], - "revoke": [] -} \ No newline at end of file diff --git a/recipes/bioconda-repodata-patches/patches/osx-64/patch_instructions.json b/recipes/bioconda-repodata-patches/patches/osx-64/patch_instructions.json deleted file mode 100644 index dc1cbdcdd7db1..0000000000000 --- a/recipes/bioconda-repodata-patches/patches/osx-64/patch_instructions.json +++ /dev/null @@ -1,12421 +0,0 @@ -{ - "packages": { - "bamhash-1.0-0.tar.bz2": { - "depends": [ - "libgcc", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "bamhash-1.0-1.tar.bz2": { - "depends": [ - "libgcc", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "bamhash-1.1-0.tar.bz2": { - "depends": [ - "libgcc", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "bamhash-1.1-1.tar.bz2": { - "depends": [ - "libgcc", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "bcbio-nextgen-0.9.5-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.6-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.6a-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.6a-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.6a-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.6a-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.7-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.7a-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.7a-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.7a-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.7a-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.7a-py27_4.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.7a-py27_5.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.8-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-0.9.8a0-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.8a0-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado" - ] - }, - "bcbio-nextgen-0.9.8a0-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scikit-learn", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-0.9.8a0-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-0.9.8a0-py27_4.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-0.9.8a0-py27_5.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-0.9.8a0-py27_6.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-0.9.8a0-py27_7.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-0.9.9-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-0.9.9a0-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-0.9.9a0-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-0.9.9a0-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-0.9.9a0-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-0.9.9a0-py27_4.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.0-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.0a0-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.0a0-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.0a0-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.0a0-py27_4.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.0a0-py27_5.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.0a0-py27_6.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.0a0-py27_7.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.0a0-py27_8.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.1-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.1-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.1a0-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel", - "ipython-cluster-helper", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "nose", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "pybedtools", - "pycrypto", - "pysam", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.1a0-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipdb", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.1a0-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.1a0-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.1a0-py27_4.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.2-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.2a-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.2a-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.3-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.3a-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib >=2.0.0", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.3a-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.3a-py27_10.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.3a-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "fabric", - "fadapa", - "gffutils", - "htslib >=1.3,<1.4", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.3a-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib >=1.3,<1.4", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.3a-py27_4.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib >=1.3,<1.4", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.3a-py27_5.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib >=1.3,<1.4", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.3a-py27_6.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.3a-py27_7.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.3a-py27_8.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "ipywidgets", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.3a-py27_9.tar.bz2": { - "depends": [ - "arrow", - "azure", - "bioblend", - "biopython", - "boto", - "click", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "lxml", - "matplotlib", - "msgpack-python", - "numpy", - "openpyxl", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "reportlab", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.4-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.4a0-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-marks", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.4a0-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.4a0-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.4a0-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.5-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.5a-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.2", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.5a-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.5a-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.5a-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.5a-py27_4.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.5a-py27_5.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sh", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.5a-py27_6.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.6-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.8", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.6a0-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.6a0-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.6a0-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.6a0-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.6a0-py27_4.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.5*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.6a0-py27_5.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.6a0-py27_6.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.6", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.11.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.7-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.8", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.7-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.6.0", - "joblib", - "jupyter_client >=5.0,<5.2", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.7a0-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.8", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.7a0-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.8", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.7a0-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.8", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.7a0-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.8", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.7a0-py27_4.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.8", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.7a0-py27_5.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.8", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.7a0-py27_6.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.8", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.7a0-py27_7.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.5.8", - "joblib", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.8-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.8a-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.6.0", - "joblib", - "jupyter_client >=5.0,<5.2", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.8a-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.6.0", - "joblib", - "jupyter_client >=5.0,<5.2", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint", - "zeromq ==4.2.1" - ] - }, - "bcbio-nextgen-1.0.8a-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.6.0", - "joblib", - "jupyter_client >=5.0,<5.2", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint", - "zeromq ==4.2.1" - ] - }, - "bcbio-nextgen-1.0.8a-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.6.0", - "joblib", - "jupyter_client >=5.0,<5.2", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint", - "zeromq ==4.2.1" - ] - }, - "bcbio-nextgen-1.0.8a-py27_4.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=4.0,<5.0", - "ipython-cluster-helper >=0.6.0", - "joblib", - "jupyter_client >=5.0,<5.2", - "libsodium >=0.4,<1.0", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "numpy", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "pyzmq", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint", - "zeromq ==4.2.1" - ] - }, - "bcbio-nextgen-1.0.8a-py27_5.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.9-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.9a-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib 1.6*", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.9a-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.9a-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.9a-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.9a-py27_4.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.9a-py27_5.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.9a-py27_6.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.9a-py27_7.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.9a-py27_8.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.0.9a-py27_9.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.1.0a-py27_0.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.1.0a-py27_1.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.1.0a-py27_2.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.1.0a-py27_3.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.1.0a-py27_4.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil >=2.5.0", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.1.0a-py27_5.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil >=2.5.0", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.1.0a-py27_6.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil >=2.5.0", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.1.0a-py27_7.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil >=2.5.0", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bcbio-nextgen-1.1.0a-py27_8.tar.bz2": { - "depends": [ - "arrow", - "azure", - "beautifulsoup4", - "bioblend", - "biopython", - "boto", - "cython", - "cyvcf2", - "dnapi", - "fabric", - "fadapa", - "geneimpacts", - "gffutils", - "h5py", - "htslib", - "ipyparallel >=6.0.2", - "ipython-cluster-helper >=0.6.1", - "joblib", - "logbook", - "matplotlib", - "mock", - "msgpack-python", - "openssl >=1.1.0,<=1.1.1", - "pandas", - "path.py", - "patsy", - "pip", - "progressbar", - "psutil", - "py", - "pybedtools", - "pycrypto", - "pysam >=0.13.0", - "pytest", - "pytest-cov", - "pytest-mock", - "python 2.7*", - "python-dateutil >=2.5.0", - "pyvcf", - "pyyaml", - "requests", - "scipy", - "seaborn", - "seqcluster", - "sqlalchemy", - "statsmodels", - "tabulate", - "toolz", - "tornado", - "yamllint" - ] - }, - "bioconductor-acde-1.6.0-0.tar.bz2": { - "depends": [ - "r-base >=3.3,<3.4", - "r-boot >=1.3" - ] - }, - "bioconductor-acgh-1.54.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "bioconductor-multtest", - "r-base >=2.10,<2.11", - "r-cluster", - "r-survival" - ] - }, - "bioconductor-acme-2.32.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.5.5", - "bioconductor-biocgenerics", - "r-base >=2.10,<2.11" - ] - }, - "bioconductor-affxparser-1.48.0-0.tar.bz2": { - "depends": [ - "r-base >=2.14,<2.15" - ] - }, - "bioconductor-affy-1.54.0-0.tar.bz2": { - "depends": [ - "bioconductor-affyio >=1.13.3", - "bioconductor-biobase >=2.5.5", - "bioconductor-biocgenerics >=0.1.12", - "bioconductor-biocinstaller", - "bioconductor-preprocesscore", - "bioconductor-zlibbioc", - "r-base >=2.8,<2.9" - ] - }, - "bioconductor-affycomp-1.52.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.3.3", - "r-base >=2.13,<2.14" - ] - }, - "bioconductor-affydata-1.24.0-1.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.23.4", - "r-base >=2.4,<2.5", - "wget" - ] - }, - "bioconductor-affyio-1.46.0-0.tar.bz2": { - "depends": [ - "bioconductor-zlibbioc", - "r-base >=2.6,<2.7" - ] - }, - "bioconductor-affypdnn-1.50.0-0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.5", - "r-base >=2.13,<2.14" - ] - }, - "bioconductor-all-1.18.0-1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.5.5", - "r-base >=2.10,<2.11", - "wget" - ] - }, - "bioconductor-alpine-1.2.0-0.tar.bz2": { - "depends": [ - "bioconductor-biostrings", - "bioconductor-genomeinfodb", - "bioconductor-genomicalignments", - "bioconductor-genomicfeatures", - "bioconductor-genomicranges", - "bioconductor-graph", - "bioconductor-iranges", - "bioconductor-rbgl", - "bioconductor-rsamtools", - "bioconductor-s4vectors", - "bioconductor-summarizedexperiment", - "r-base >=3.3,<3.4", - "r-speedglm", - "r-stringr" - ] - }, - "bioconductor-amountain-1.2.0-0.tar.bz2": { - "depends": [ - "r-base >=3.3,<3.4" - ] - }, - "bioconductor-annotationfilter-1.0.0-0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges", - "r-base >=3.4,<3.5", - "r-lazyeval" - ] - }, - "bioconductor-antiprofiles-1.16.0-0.tar.bz2": { - "depends": [ - "r-base >=3.0,<3.1", - "r-locfit >=1.5", - "r-matrixstats >=0.50.0" - ] - }, - "bioconductor-aroma.light-3.6.0-0.tar.bz2": { - "depends": [ - "r-base >=2.15,<2.16", - "r-matrixstats >=0.52.1", - "r-r.methodss3 >=1.7.1", - "r-r.oo >=1.21.0", - "r-r.utils >=2.5.0" - ] - }, - "bioconductor-arrayqualitymetrics-3.34.0-0.tar.bz2": { - "depends": [ - "bioconductor-affy", - "bioconductor-affyplm >=1.27.3", - "bioconductor-beadarray", - "bioconductor-biobase", - "bioconductor-genefilter", - "bioconductor-limma", - "bioconductor-vsn >=3.23.3", - "r-base >=3.4,<3.5", - "r-cairo >=1.4-6", - "r-gridsvg >=1.4-3", - "r-hmisc", - "r-hwriter", - "r-lattice", - "r-latticeextra", - "r-rcolorbrewer", - "r-setrng", - "r-xml", - "xorg-libsm", - "xorg-libxext", - "xorg-libxrender" - ] - }, - "bioconductor-asafe-1.2.0-0.tar.bz2": { - "depends": [ - "r-base >=3.2,<3.3" - ] - }, - "bioconductor-aseb-1.20.0-0.tar.bz2": { - "depends": [ - "r-base >=2.8,<2.9" - ] - }, - "bioconductor-atacseqqc-1.0.5-0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics", - "bioconductor-biostrings", - "bioconductor-bsgenome", - "bioconductor-chippeakanno", - "bioconductor-genomeinfodb", - "bioconductor-genomicalignments", - "bioconductor-genomicranges", - "bioconductor-genomicscores", - "bioconductor-iranges", - "bioconductor-limma", - "bioconductor-rsamtools", - "bioconductor-rtracklayer", - "bioconductor-s4vectors", - "r-base >=3.4,<3.5", - "r-randomforest", - "r-stringr" - ] - }, - "bioconductor-atlasrdf-1.12.0-0.tar.bz2": { - "depends": [ - "r-base >=2.10,<2.11", - "r-hash", - "r-sparql" - ] - }, - "bioconductor-bacon-1.4.0-0.tar.bz2": { - "depends": [ - "bioconductor-biocparallel", - "r-base >=3.3,<3.4", - "r-ellipse", - "r-ggplot2" - ] - }, - "bioconductor-banocc-1.0.0-0.tar.bz2": { - "depends": [ - "r-base >=3.4,<3.5", - "r-coda >=0.18.1", - "r-mvtnorm", - "r-rstan >=2.10.1", - "r-stringr" - ] - }, - "bioconductor-banocc-1.2.0-0.tar.bz2": { - "depends": [ - "r-base >=3.4,<3.5", - "r-coda >=0.18.1", - "r-mvtnorm", - "r-rstan >=2.10.1", - "r-stringr" - ] - }, - "bioconductor-basespacer-1.20.0-0.tar.bz2": { - "depends": [ - "r-base >=2.15,<2.16", - "r-rcurl", - "r-rjsonio" - ] - }, - "bioconductor-bayespeak-1.24.0-0.tar.bz2": { - "depends": [ - "bioconductor-iranges", - "r-base >=2.14,<2.15" - ] - }, - "bioconductor-bgeedb-2.2.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "bioconductor-graph", - "bioconductor-topgo", - "r-base >=3.3,<3.4", - "r-data.table", - "r-digest", - "r-dplyr", - "r-rcurl", - "r-tidyr" - ] - }, - "bioconductor-bgmix-1.36.0-0.tar.bz2": { - "depends": [ - "r-base >=2.3,<2.4", - "r-kernsmooth" - ] - }, - "bioconductor-biocfilecache-1.2.3-0.tar.bz2": { - "depends": [ - "r-base >=3.4,<3.5", - "r-dbi", - "r-dbplyr >=1.0.0", - "r-dplyr", - "r-httr", - "r-rappdirs", - "r-rsqlite" - ] - }, - "bioconductor-biocinstaller-1.26.1-0.tar.bz2": { - "depends": [ - "r-base >=3.4,<3.5" - ] - }, - "bioconductor-biocviews-1.44.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "bioconductor-graph >=1.9.26", - "bioconductor-rbgl >=1.13.5", - "r-base >=2.4,<2.5", - "r-rcurl", - "r-runit", - "r-xml", - "readline 6.2" - ] - }, - "bioconductor-biocworkflowtools-1.2.0-0.tar.bz2": { - "depends": [ - "bioconductor-biocstyle", - "r-base >=3.3,<3.4", - "r-bookdown", - "r-httr", - "r-knitr", - "r-rmarkdown", - "r-stringr" - ] - }, - "bioconductor-bubbletree-2.6.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "bioconductor-biocgenerics >=0.7.5", - "bioconductor-biocstyle", - "bioconductor-biovizbase", - "bioconductor-genomicranges", - "bioconductor-iranges", - "bioconductor-limma", - "r-base >=3.3,<3.4", - "r-dplyr", - "r-e1071", - "r-ggplot2", - "r-gridextra", - "r-gtable", - "r-gtools", - "r-magrittr", - "r-plyr", - "r-rcolorbrewer", - "r-writexls" - ] - }, - "bioconductor-causalr-1.8.0-0.tar.bz2": { - "depends": [ - "r-base >=3.2,<3.3", - "r-igraph" - ] - }, - "bioconductor-cellgrowth-1.20.0-0.tar.bz2": { - "depends": [ - "r-base >=2.12,<2.13", - "r-lattice", - "r-locfit >=1.5-4" - ] - }, - "bioconductor-cfassay-1.10.0-0.tar.bz2": { - "depends": [ - "r-base >=2.10,<2.11" - ] - }, - "bioconductor-chimeraviz-1.0.4-0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi", - "bioconductor-annotationfilter", - "bioconductor-biobase", - "bioconductor-biocgenerics", - "bioconductor-biocstyle", - "bioconductor-biostrings", - "bioconductor-ensembldb", - "bioconductor-genomeinfodb", - "bioconductor-genomeinfodbdata", - "bioconductor-genomicalignments", - "bioconductor-genomicranges", - "bioconductor-graph", - "bioconductor-gviz", - "bioconductor-iranges", - "bioconductor-org.hs.eg.db", - "bioconductor-rgraphviz", - "bioconductor-rsamtools", - "bioconductor-s4vectors", - "pandoc", - "r-argumentcheck", - "r-base >=3.4,<3.5", - "r-dt", - "r-gridbase", - "r-gridextra", - "r-plyr", - "r-rcircos", - "r-rcolorbrewer", - "r-readr", - "r-rmarkdown" - ] - }, - "bioconductor-chippeakanno-3.10.2-0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi", - "bioconductor-biobase", - "bioconductor-biocgenerics >=0.1.0", - "bioconductor-biocinstaller", - "bioconductor-biomart", - "bioconductor-biostrings", - "bioconductor-bsgenome", - "bioconductor-delayedarray", - "bioconductor-ensembldb", - "bioconductor-genomeinfodb", - "bioconductor-genomicalignments", - "bioconductor-genomicfeatures", - "bioconductor-genomicranges >=1.23.16", - "bioconductor-go.db", - "bioconductor-graph", - "bioconductor-iranges >=2.5.27", - "bioconductor-limma", - "bioconductor-multtest", - "bioconductor-rbgl", - "bioconductor-regioner", - "bioconductor-rsamtools", - "bioconductor-s4vectors >=0.9.25", - "bioconductor-summarizedexperiment", - "r-base >=3.2,<3.3", - "r-dbi", - "r-idr", - "r-matrixstats", - "r-seqinr", - "r-venndiagram" - ] - }, - "bioconductor-chipseeker-1.12.1-0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi", - "bioconductor-biocgenerics", - "bioconductor-dose >=3.0.0", - "bioconductor-genomeinfodb", - "bioconductor-genomicfeatures", - "bioconductor-genomicranges", - "bioconductor-iranges", - "bioconductor-rtracklayer", - "bioconductor-s4vectors", - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene", - "r-base >=3.3,<3.4", - "r-boot", - "r-dplyr", - "r-ggplot2 >=2.2.0", - "r-gplots", - "r-gridbase", - "r-gtools", - "r-magrittr", - "r-plotrix", - "r-rcolorbrewer", - "r-upsetr" - ] - }, - "bioconductor-chronos-1.4.0-0.tar.bz2": { - "depends": [ - "bioconductor-biomart", - "bioconductor-graph", - "bioconductor-rbgl", - "r-base >=3.3,<3.4", - "r-circlize", - "r-doparallel", - "r-foreach", - "r-openxlsx", - "r-rcurl", - "r-xml" - ] - }, - "bioconductor-clusterprofiler-3.4.4-0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi", - "bioconductor-dose >=3.1.3", - "bioconductor-go.db", - "bioconductor-gosemsim >=2.0.0", - "bioconductor-qvalue", - "r-base >=3.3,<3.4", - "r-ggplot2", - "r-magrittr", - "r-plyr", - "r-rvcheck", - "r-tidyr" - ] - }, - "bioconductor-cner-1.12.1-0.tar.bz2": { - "depends": [ - "bioconductor-annotate >=1.50.0", - "bioconductor-biocgenerics", - "bioconductor-biostrings >=2.33.4", - "bioconductor-genomeinfodb >=1.1.3", - "bioconductor-genomicalignments >=1.1.9", - "bioconductor-genomicranges >=1.23.16", - "bioconductor-go.db >=3.3.0", - "bioconductor-iranges >=2.5.27", - "bioconductor-keggrest >=1.14.0", - "bioconductor-rtracklayer >=1.25.5", - "bioconductor-s4vectors >=0.13.13", - "bioconductor-xvector >=0.5.4", - "r-base >=3.2,<3.3", - "r-dbi >=0.6", - "r-ggplot2 >=2.1.0", - "r-powerlaw >=0.60.3", - "r-r.utils >=2.3.0", - "r-readr >=0.2.2", - "r-reshape2 >=1.4.1", - "r-rsqlite >=0.11.4" - ] - }, - "bioconductor-cntools-1.32.0-0.tar.bz2": { - "depends": [ - "bioconductor-genefilter", - "r-base >=2.10,<2.11" - ] - }, - "bioconductor-compepitools-1.10.0-0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi", - "bioconductor-biocgenerics", - "bioconductor-biostrings", - "bioconductor-genomeinfodb", - "bioconductor-genomicfeatures", - "bioconductor-genomicranges", - "bioconductor-go.db", - "bioconductor-iranges", - "bioconductor-methylpipe", - "bioconductor-rsamtools", - "bioconductor-s4vectors", - "bioconductor-topgo", - "bioconductor-xvector", - "r-base >=3.1,<3.2", - "r-gplots" - ] - }, - "bioconductor-complexheatmap-1.14.0-0.tar.bz2": { - "depends": [ - "r-base >=3.1,<3.2", - "r-circlize >=0.3.4", - "r-colorspace", - "r-dendextend >=1.0.1", - "r-getoptlong", - "r-globaloptions >=0.0.10", - "r-rcolorbrewer" - ] - }, - "bioconductor-cqn-1.22.0-0.tar.bz2": { - "depends": [ - "bioconductor-preprocesscore", - "r-base >=2.10,<2.11", - "r-mclust", - "r-nor1mix", - "r-quantreg" - ] - }, - "bioconductor-csaw-1.10.0-0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi", - "bioconductor-biocgenerics", - "bioconductor-biocparallel", - "bioconductor-edger", - "bioconductor-genomeinfodb", - "bioconductor-genomicfeatures", - "bioconductor-genomicranges", - "bioconductor-iranges", - "bioconductor-limma", - "bioconductor-rhtslib", - "bioconductor-rsamtools", - "bioconductor-s4vectors", - "bioconductor-summarizedexperiment >=1.2.0", - "r-base >=3.4,<3.5" - ] - }, - "bioconductor-degseq-1.30.0-0.tar.bz2": { - "depends": [ - "bioconductor-qvalue", - "r-base >=2.8,<2.9", - "r-samr" - ] - }, - "bioconductor-delayedarray-0.2.7-0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics", - "bioconductor-iranges", - "bioconductor-s4vectors >=0.14.3", - "r-base >=3.4,<3.5", - "r-matrixstats" - ] - }, - "bioconductor-diffbind-2.4.8-16.tar.bz2": { - "depends": [ - "bioconductor-biocparallel", - "bioconductor-deseq2", - "bioconductor-edger", - "bioconductor-genomicalignments", - "bioconductor-genomicranges", - "bioconductor-iranges", - "bioconductor-limma", - "bioconductor-rsamtools", - "bioconductor-s4vectors", - "bioconductor-summarizedexperiment", - "bioconductor-systempiper", - "bioconductor-zlibbioc", - "r-amap", - "r-base >=3.3,<3.4", - "r-dplyr", - "r-ggplot2", - "r-ggrepel", - "r-gplots", - "r-lattice", - "r-locfit", - "r-rcolorbrewer", - "r-rcpp" - ] - }, - "bioconductor-diffustats-0.102.0-0.tar.bz2": { - "depends": [ - "r-base >=3.4,<3.5", - "r-expm", - "r-igraph", - "r-mass", - "r-matrix", - "r-plyr", - "r-precrec", - "r-rcpp", - "r-rcpparmadillo", - "r-rcppparallel" - ] - }, - "bioconductor-dnashaper-1.4.0-0.tar.bz2": { - "depends": [ - "bioconductor-biostrings", - "bioconductor-genomicranges", - "r-base >=3.3,<3.4", - "r-fields", - "r-rcpp >=0.12.1" - ] - }, - "bioconductor-doppelgangr-1.4.1-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "bioconductor-biocparallel", - "bioconductor-impute", - "bioconductor-sva", - "r-base >=3.3,<3.4", - "r-digest", - "r-mnormt" - ] - }, - "bioconductor-dupradar-1.6.0-0.tar.bz2": { - "depends": [ - "bioconductor-rsubread >=1.14.1", - "r-base >=3.2,<3.3" - ] - }, - "bioconductor-ebarrays-2.40.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "r-base >=1.8,<1.9", - "r-cluster", - "r-lattice" - ] - }, - "bioconductor-ebseq-1.16.0-0.tar.bz2": { - "depends": [ - "r-base >=3.0,<3.1", - "r-blockmodeling", - "r-gplots", - "r-testthat" - ] - }, - "bioconductor-fgsea-1.2.1-0.tar.bz2": { - "depends": [ - "bioconductor-biocparallel", - "r-base >=3.3,<3.4", - "r-data.table", - "r-fastmatch", - "r-ggplot2 >=2.2.0", - "r-gridextra", - "r-rcpp" - ] - }, - "bioconductor-flowai-1.4.4-0.tar.bz2": { - "depends": [ - "bioconductor-flowcore", - "r-base >=3.4,<3.5", - "r-changepoint", - "r-ggplot2", - "r-knitr", - "r-plyr", - "r-rcolorbrewer", - "r-reshape2", - "r-scales" - ] - }, - "bioconductor-flowcl-1.14.0-0.tar.bz2": { - "depends": [ - "bioconductor-graph", - "bioconductor-rgraphviz", - "r-base >=3.3,<3.4", - "r-sparql" - ] - }, - "bioconductor-gagedata-2.14.0-0.tar.bz2": { - "depends": [ - "r-base >=2.10,<2.11", - "wget" - ] - }, - "bioconductor-genomeinfodbdata-0.99.0-1.tar.bz2": { - "depends": [ - "r-base >=3.3,<3.4", - "wget" - ] - }, - "bioconductor-genomicdatacommons-1.0.5-0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges", - "bioconductor-iranges", - "r-base >=3.4,<3.5", - "r-data.table", - "r-httr", - "r-jsonlite", - "r-lazyeval", - "r-magrittr", - "r-readr", - "r-xml2" - ] - }, - "bioconductor-genomicscores-1.0.2-0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub", - "bioconductor-biocgenerics >=0.13.8", - "bioconductor-bsgenome", - "bioconductor-genomeinfodb", - "bioconductor-genomicranges", - "bioconductor-iranges >=2.3.23", - "bioconductor-s4vectors >=0.7.21", - "r-base >=3.4,<3.5", - "r-xml" - ] - }, - "bioconductor-ggtree-1.8.2-0.tar.bz2": { - "depends": [ - "bioconductor-treeio", - "r-ape", - "r-base >=3.3,<3.4", - "r-ggplot2 >=2.2.0", - "r-magrittr", - "r-rvcheck", - "r-tidyr" - ] - }, - "bioconductor-globalseq-1.4.2-0.tar.bz2": { - "depends": [ - "r-base >=3.0,<3.1" - ] - }, - "bioconductor-gosemsim-2.2.0-0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi", - "bioconductor-go.db", - "r-base >=3.3,<3.4" - ] - }, - "bioconductor-gtrellis-1.11.1-0.tar.bz2": { - "depends": [ - "bioconductor-genomicranges", - "bioconductor-iranges", - "r-base >=3.3,<3.4", - "r-circlize >=0.4.1", - "r-getoptlong >=0.1.6", - "r-gridbase" - ] - }, - "bioconductor-heatmaps-1.0.0-0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics", - "bioconductor-biostrings", - "bioconductor-ebimage", - "bioconductor-genomeinfodb", - "bioconductor-genomicranges", - "bioconductor-iranges", - "r-base >=3.4,<3.5", - "r-kernsmooth", - "r-matrix", - "r-plotrix", - "r-rcolorbrewer" - ] - }, - "bioconductor-hicrep-1.0.0-0.tar.bz2": { - "depends": [ - "r-base >=3.4,<3.5" - ] - }, - "bioconductor-hmmcopy-1.18.0-0.tar.bz2": { - "depends": [ - "bioconductor-geneplotter >=1.24.0", - "bioconductor-iranges >=1.4.16", - "r-base >=2.10,<2.11", - "readline 6.2*" - ] - }, - "bioconductor-hpar-1.18.1-0.tar.bz2": { - "depends": [ - "r-base >=2.15,<2.16" - ] - }, - "bioconductor-hsmmsinglecell-0.110.0-1.tar.bz2": { - "depends": [ - "r-base >=2.10,<2.11", - "wget" - ] - }, - "bioconductor-ihw-1.4.0-0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics", - "bioconductor-lpsymphony", - "r-base >=3.3,<3.4", - "r-fdrtool", - "r-slam" - ] - }, - "bioconductor-illuminahumanmethylation450kanno.ilmn12.hg19-0.6.0-1.tar.bz2": { - "depends": [ - "bioconductor-minfi >=1.19.15", - "r-base >=3.3,<3.4", - "wget" - ] - }, - "bioconductor-interactivedisplaybase-1.14.0-0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics", - "r-base >=2.10,<2.11", - "r-shiny" - ] - }, - "bioconductor-interest-1.2.2-1.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics", - "bioconductor-biocparallel", - "bioconductor-biostrings", - "bioconductor-deseq2", - "bioconductor-dexseq", - "bioconductor-edger", - "bioconductor-genomeinfodb", - "bioconductor-genomicalignments", - "bioconductor-genomicfeatures", - "bioconductor-genomicranges", - "bioconductor-iranges", - "bioconductor-rsamtools", - "bioconductor-s4vectors", - "bioconductor-seqlogo", - "bioconductor-summarizedexperiment", - "r-base >=3.4,<3.5", - "r-dbi", - "r-rmysql", - "r-seqinr" - ] - }, - "bioconductor-jaspar2016-1.4.0-0.tar.bz2": { - "depends": [ - "r-base >=3.2,<3.3", - "wget" - ] - }, - "bioconductor-jaspar2018-0.99.2-0.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.29.19", - "r-base >=3.4,<3.5", - "wget" - ] - }, - "bioconductor-jaspar2018-1.0.0-0.tar.bz2": { - "depends": [ - "bioconductor-biostrings >=2.29.19", - "r-base >=3.4,<3.5", - "wget" - ] - }, - "bioconductor-lpsymphony-1.4.1-0.tar.bz2": { - "depends": [ - "r-base >=3.0,<3.1" - ] - }, - "bioconductor-m3drop-1.2.0-0.tar.bz2": { - "depends": [ - "r-base >=3.3,<3.4", - "r-bbmle", - "r-gplots", - "r-numderiv", - "r-rcolorbrewer", - "r-statmod" - ] - }, - "bioconductor-maanova-1.46.1-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "r-base >=2.10,<2.11" - ] - }, - "bioconductor-mantelcorr-1.46.0-0.tar.bz2": { - "depends": [ - "r-base >=2.10,<2.11" - ] - }, - "bioconductor-masigpro-1.50.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "r-base >=2.3,<2.4", - "r-mass", - "r-mclust", - "r-venn" - ] - }, - "bioconductor-massarray-1.28.0-0.tar.bz2": { - "depends": [ - "r-base >=2.10,<2.11" - ] - }, - "bioconductor-massir-1.12.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "r-base >=3.0,<3.1", - "r-cluster", - "r-diptest", - "r-gplots" - ] - }, - "bioconductor-mbamethyl-1.10.0-0.tar.bz2": { - "depends": [ - "r-base >=2.15,<2.16" - ] - }, - "bioconductor-mbttest-1.4.0-0.tar.bz2": { - "depends": [ - "r-base >=3.3,<3.4", - "r-gplots", - "r-gtools" - ] - }, - "bioconductor-mdqc-1.38.0-0.tar.bz2": { - "depends": [ - "r-base >=2.2,<2.3", - "r-cluster", - "r-mass" - ] - }, - "bioconductor-mergemaid-2.48.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "r-base >=2.10,<2.11", - "r-mass", - "r-survival" - ] - }, - "bioconductor-mergeomics-1.4.0-0.tar.bz2": { - "depends": [ - "r-base >=3.0,<3.1" - ] - }, - "bioconductor-meshsim-1.7.0-0.tar.bz2": { - "depends": [ - "r-base >=3.0,<3.1", - "r-rcurl", - "r-xml" - ] - }, - "bioconductor-messina-1.12.0-0.tar.bz2": { - "depends": [ - "r-base >=3.1,<3.2", - "r-foreach >=1.4.1", - "r-ggplot2 >=0.9.3.1", - "r-plyr >=1.8", - "r-rcpp >=0.11.1", - "r-survival >=2.37-4" - ] - }, - "bioconductor-metahdep-1.34.0-0.tar.bz2": { - "depends": [ - "r-base >=2.10,<2.11" - ] - }, - "bioconductor-methped-1.4.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "r-base >=3.0,<3.1", - "r-randomforest" - ] - }, - "bioconductor-methylkit-1.2.4-0.tar.bz2": { - "depends": [ - "bioconductor-fastseg", - "bioconductor-genomeinfodb", - "bioconductor-genomicranges >=1.18.1", - "bioconductor-iranges", - "bioconductor-limma", - "bioconductor-qvalue", - "bioconductor-rhtslib", - "bioconductor-rsamtools", - "bioconductor-rtracklayer", - "bioconductor-s4vectors >=0.13.13", - "r-base >=3.3,<3.4", - "r-data.table >=1.9.6", - "r-emdbook", - "r-gtools", - "r-kernsmooth", - "r-mclust", - "r-r.utils", - "r-rcpp" - ] - }, - "bioconductor-mgfr-1.2.0-0.tar.bz2": { - "depends": [ - "bioconductor-annotate", - "bioconductor-biomart", - "r-base >=3.3,<3.4" - ] - }, - "bioconductor-mgsa-1.24.0-0.tar.bz2": { - "depends": [ - "r-base >=2.14,<2.15", - "r-gplots" - ] - }, - "bioconductor-michip-1.30.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "r-base >=2.3,<2.4" - ] - }, - "bioconductor-mirnapath-1.36.0-0.tar.bz2": { - "depends": [ - "r-base >=2.7,<2.8" - ] - }, - "bioconductor-mirnatap-1.10.0-0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi", - "r-base >=3.3,<3.4", - "r-dbi", - "r-plyr", - "r-rsqlite", - "r-sqldf", - "r-stringr" - ] - }, - "bioconductor-mirsynergy-1.12.0-0.tar.bz2": { - "depends": [ - "r-base >=3.0,<3.1", - "r-ggplot2", - "r-gridextra", - "r-igraph", - "r-matrix", - "r-rcolorbrewer", - "r-reshape", - "r-scales" - ] - }, - "bioconductor-mspurity-1.3.9-0.tar.bz2": { - "depends": [ - "bioconductor-mzr", - "r-base >=3.4,<3.5", - "r-dbi", - "r-dosnow", - "r-fastcluster", - "r-foreach", - "r-ggplot2", - "r-plyr", - "r-rcpp", - "r-reshape2", - "r-rsqlite", - "r-stringr" - ] - }, - "bioconductor-mspurity-1.5.4-0.tar.bz2": { - "depends": [ - "bioconductor-camera >=1.34.0", - "bioconductor-xcms >=3.0.0", - "r-base >=3.4,<3.5", - "r-dbi", - "r-dosnow", - "r-fastcluster", - "r-foreach", - "r-ggplot2", - "r-plyr", - "r-rcpp", - "r-reshape2", - "r-rsqlite", - "r-stringr" - ] - }, - "bioconductor-mspurity-1.5.4-1.tar.bz2": { - "depends": [ - "bioconductor-camera >=1.34.0", - "bioconductor-xcms >=3.0.0", - "libnetcdf 4.4.*", - "r-base >=3.4,<3.5", - "r-dbi", - "r-dosnow", - "r-fastcluster", - "r-foreach", - "r-ggplot2", - "r-plyr", - "r-rcpp", - "r-reshape2", - "r-rsqlite", - "r-stringr" - ] - }, - "bioconductor-multidataset-1.4.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "bioconductor-biocgenerics", - "bioconductor-genomicranges", - "bioconductor-iranges", - "bioconductor-s4vectors", - "bioconductor-summarizedexperiment", - "r-base >=3.3,<3.4" - ] - }, - "bioconductor-multimed-1.10.0-0.tar.bz2": { - "depends": [ - "r-base >=3.1,<3.2" - ] - }, - "bioconductor-multiomicsviz-1.0.0-0.tar.bz2": { - "depends": [ - "bioconductor-summarizedexperiment", - "r-base >=3.3,<3.4", - "r-doparallel", - "r-foreach" - ] - }, - "bioconductor-multiscan-1.36.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "r-base >=2.3,<2.4" - ] - }, - "bioconductor-multtest-2.32.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "bioconductor-biocgenerics", - "r-base >=2.10,<2.11", - "r-mass", - "r-survival" - ] - }, - "bioconductor-mutationalpatterns-1.4.1-0.tar.bz2": { - "depends": [ - "bioconductor-biostrings", - "bioconductor-bsgenome", - "bioconductor-genomeinfodb >=1.12.0", - "bioconductor-genomicranges", - "bioconductor-iranges", - "bioconductor-summarizedexperiment", - "bioconductor-variantannotation", - "r-base >=3.4,<3.5", - "r-cowplot", - "r-ggdendro", - "r-ggplot2", - "r-gridextra", - "r-nmf", - "r-plyr", - "r-pracma", - "r-reshape2" - ] - }, - "bioconductor-mvcclass-1.50.0-0.tar.bz2": { - "depends": [ - "r-base >=2.1,<2.2" - ] - }, - "bioconductor-netbiov-1.10.0-0.tar.bz2": { - "depends": [ - "r-base >=3.1,<3.2", - "r-igraph >=0.7.1" - ] - }, - "bioconductor-netpathminer-1.12.1-0.tar.bz2": { - "depends": [ - "r-base >=3.0,<3.1", - "r-igraph >=1.0" - ] - }, - "bioconductor-noiseq-2.20.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.13.11", - "r-base >=2.13,<2.14", - "r-matrix >=1.2" - ] - }, - "bioconductor-ntw-1.26.0-0.tar.bz2": { - "depends": [ - "r-base >=2.3,<2.4", - "r-mvtnorm" - ] - }, - "bioconductor-occugene-1.36.0-0.tar.bz2": { - "depends": [ - "r-base >=2.0,<2.1" - ] - }, - "bioconductor-omicade4-1.16.1-0.tar.bz2": { - "depends": [ - "bioconductor-made4", - "r-ade4", - "r-base >=3.0,<3.1" - ] - }, - "bioconductor-oppar-1.4.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "bioconductor-gseabase", - "bioconductor-gsva", - "r-base >=3.3,<3.4" - ] - }, - "bioconductor-outlierd-1.40.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "r-base >=2.3,<2.4", - "r-quantreg" - ] - }, - "bioconductor-path2ppi-1.6.0-0.tar.bz2": { - "depends": [ - "r-base >=3.2,<3.3", - "r-igraph >=1.0.1" - ] - }, - "bioconductor-pathnet-1.16.0-0.tar.bz2": { - "depends": [ - "r-base >=1.14,<1.15" - ] - }, - "bioconductor-pcan-1.4.0-0.tar.bz2": { - "depends": [ - "bioconductor-biocparallel", - "r-base >=3.3,<3.4" - ] - }, - "bioconductor-peca-1.12.0-0.tar.bz2": { - "depends": [ - "bioconductor-affy", - "bioconductor-genefilter", - "bioconductor-limma", - "bioconductor-preprocesscore", - "bioconductor-rots", - "r-aroma.affymetrix", - "r-aroma.core", - "r-base >=3.3,<3.4" - ] - }, - "bioconductor-pepxmltab-1.10.0-0.tar.bz2": { - "depends": [ - "r-base >=3.0,<3.1", - "r-xml >=3.98-1.1" - ] - }, - "bioconductor-phosphonormalizer-1.2.0-0.tar.bz2": { - "depends": [ - "r-base >=3.4,<3.5", - "r-matrixstats", - "r-plyr" - ] - }, - "bioconductor-plgem-1.48.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.5.5", - "r-base >=2.10,<2.11", - "r-mass" - ] - }, - "bioconductor-prada-1.52.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "bioconductor-biocgenerics", - "r-base >=2.10,<2.11", - "r-mass", - "r-rcolorbrewer", - "r-rrcov" - ] - }, - "bioconductor-profia-1.2.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "bioconductor-biocparallel", - "bioconductor-ropls", - "bioconductor-xcms", - "r-base >=3.3,<3.4", - "r-fnn", - "r-maxlik", - "r-minpack.lm", - "r-pracma" - ] - }, - "bioconductor-purecn-1.6.3-0.tar.bz2": { - "depends": [ - "bioconductor-biostrings", - "bioconductor-dnacopy", - "bioconductor-edger", - "bioconductor-genomeinfodb", - "bioconductor-genomicranges >=1.20.3", - "bioconductor-iranges >=2.2.1", - "bioconductor-limma", - "bioconductor-rsamtools", - "bioconductor-rtracklayer", - "bioconductor-s4vectors", - "bioconductor-summarizedexperiment", - "bioconductor-variantannotation >=1.14.1", - "r-base >=3.3,<3.4", - "r-data.table", - "r-futile.logger", - "r-ggplot2", - "r-rcolorbrewer", - "r-vgam" - ] - }, - "bioconductor-pvac-1.24.0-0.tar.bz2": { - "depends": [ - "bioconductor-affy >=1.20.0", - "bioconductor-biobase", - "r-base >=2.8,<2.9" - ] - }, - "bioconductor-quantsmooth-1.42.0-0.tar.bz2": { - "depends": [ - "r-base >=2.10,<2.11", - "r-quantreg" - ] - }, - "bioconductor-qvalue-2.8.0-0.tar.bz2": { - "depends": [ - "r-base >=2.10,<2.11", - "r-ggplot2", - "r-reshape2" - ] - }, - "bioconductor-rain-1.10.0-0.tar.bz2": { - "depends": [ - "bioconductor-multtest", - "r-base >=2.10,<2.11", - "r-gmp" - ] - }, - "bioconductor-rama-1.50.0-0.tar.bz2": { - "depends": [ - "r-base >=2.5,<2.6" - ] - }, - "bioconductor-rbsurv-2.34.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.5.5", - "r-base >=2.5,<2.6", - "r-survival" - ] - }, - "bioconductor-rcas-1.2.0-0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi", - "bioconductor-biocgenerics", - "bioconductor-biomart", - "bioconductor-biostrings", - "bioconductor-bsgenome.hsapiens.ucsc.hg19", - "bioconductor-genomation >=1.5.5", - "bioconductor-genomeinfodb", - "bioconductor-genomicfeatures", - "bioconductor-genomicranges", - "bioconductor-motifrg", - "bioconductor-org.hs.eg.db", - "bioconductor-rtracklayer", - "bioconductor-s4vectors", - "bioconductor-topgo", - "r-base >=3.3,<3.4", - "r-data.table", - "r-dt >=0.2", - "r-knitr >=1.12.3", - "r-plotly >=4.5.2", - "r-plotrix", - "r-rmarkdown >=0.9.5" - ] - }, - "bioconductor-readqpcr-1.22.0-0.tar.bz2": { - "depends": [ - "bioconductor-affy", - "bioconductor-biobase", - "r-base >=2.14,<2.15" - ] - }, - "bioconductor-rgsea-1.10.0-0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics", - "r-base >=2.10,<2.11" - ] - }, - "bioconductor-rgsepd-1.8.0-0.tar.bz2": { - "depends": [ - "bioconductor-annotationdbi", - "bioconductor-biomart", - "bioconductor-deseq2", - "bioconductor-go.db", - "bioconductor-goseq >=1.17", - "bioconductor-org.hs.eg.db", - "bioconductor-summarizedexperiment", - "r-base >=3.3,<3.4", - "r-gplots", - "r-hash" - ] - }, - "bioconductor-risa-1.18.0-0.tar.bz2": { - "depends": [ - "bioconductor-affy", - "bioconductor-biobase >=2.4.0", - "bioconductor-biocviews", - "bioconductor-xcms", - "r-base >=2.0,<2.1", - "r-rcpp >=0.9.13", - "readline 6.2" - ] - }, - "bioconductor-rlmm-1.38.0-0.tar.bz2": { - "depends": [ - "r-base >=2.1,<2.2", - "r-mass" - ] - }, - "bioconductor-rnaseqcomp-1.6.0-0.tar.bz2": { - "depends": [ - "r-base >=3.2,<3.3", - "r-rcolorbrewer" - ] - }, - "bioconductor-roc-1.52.0-0.tar.bz2": { - "depends": [ - "r-base >=1.9,<1.10" - ] - }, - "bioconductor-rots-1.4.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "r-base >=3.3,<3.4", - "r-rcpp" - ] - }, - "bioconductor-rrho-1.16.0-0.tar.bz2": { - "depends": [ - "r-base >=2.10,<2.11", - "r-venndiagram" - ] - }, - "bioconductor-rtracklayer-1.36.6-0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.13.8", - "bioconductor-biostrings >=2.43.7", - "bioconductor-genomeinfodb >=1.3.14", - "bioconductor-genomicalignments >=1.5.4", - "bioconductor-genomicranges >=1.21.20", - "bioconductor-iranges >=2.3.7", - "bioconductor-rsamtools >=1.17.8", - "bioconductor-s4vectors >=0.13.13", - "bioconductor-xvector >=0.9.4", - "bioconductor-zlibbioc", - "r-base >=3.3,<3.4", - "r-rcurl >=1.4*", - "r-xml >=1.98*" - ] - }, - "bioconductor-sagenhaft-1.46.0-0.tar.bz2": { - "depends": [ - "r-base >=2.10,<2.11", - "r-sparsem >=0.73" - ] - }, - "bioconductor-sagx-1.50.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "bioconductor-multtest", - "r-base >=2.5,<2.6" - ] - }, - "bioconductor-santa-2.14.0-0.tar.bz2": { - "depends": [ - "r-base >=2.14,<2.15", - "r-igraph", - "r-matrix", - "r-snow" - ] - }, - "bioconductor-scater-1.4.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "bioconductor-biocgenerics", - "bioconductor-biomart", - "bioconductor-edger", - "bioconductor-limma", - "bioconductor-rhdf5", - "bioconductor-tximport", - "r-base >=3.3,<3.4", - "r-data.table", - "r-dplyr", - "r-ggbeeswarm", - "r-ggplot2", - "r-matrix", - "r-matrixstats", - "r-plyr", - "r-reshape2", - "r-rjson", - "r-shiny", - "r-shinydashboard", - "r-viridis" - ] - }, - "bioconductor-scran-1.4.5-0.tar.bz2": { - "depends": [ - "bioconductor-biobase", - "bioconductor-biocparallel", - "bioconductor-edger", - "bioconductor-limma", - "bioconductor-scater", - "r-base >=3.4,<3.5", - "r-dt", - "r-dynamictreecut", - "r-fnn", - "r-ggplot2", - "r-igraph", - "r-mass", - "r-matrix", - "r-shiny", - "r-statmod", - "r-viridis", - "r-zoo" - ] - }, - "bioconductor-sights-1.2.0-0.tar.bz2": { - "depends": [ - "bioconductor-qvalue >=2.2", - "r-base >=3.3,<3.4", - "r-ggplot2 >=2.0", - "r-lattice >=0.2", - "r-mass >=7.3", - "r-reshape2 >=1.4" - ] - }, - "bioconductor-sigpathway-1.44.1-0.tar.bz2": { - "depends": [ - "r-base >=2.10,<2.11" - ] - }, - "bioconductor-slqpcr-1.42.0-0.tar.bz2": { - "depends": [ - "r-base >=2.4,<2.5" - ] - }, - "bioconductor-smap-1.40.0-0.tar.bz2": { - "depends": [ - "r-base >=2.10,<2.11" - ] - }, - "bioconductor-snpediar-1.2.0-0.tar.bz2": { - "depends": [ - "r-base >=3.0,<3.1", - "r-jsonlite", - "r-rcurl" - ] - }, - "bioconductor-spktools-1.32.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.5.5", - "r-base >=2.7,<2.8", - "r-gtools", - "r-rcolorbrewer" - ] - }, - "bioconductor-splinter-1.2.0-0.tar.bz2": { - "depends": [ - "bioconductor-biomart", - "bioconductor-biostrings", - "bioconductor-bsgenome.mmusculus.ucsc.mm9", - "bioconductor-genomeinfodb", - "bioconductor-genomicalignments", - "bioconductor-genomicfeatures", - "bioconductor-genomicranges", - "bioconductor-gviz", - "bioconductor-iranges", - "bioconductor-s4vectors", - "bioconductor-seqlogo", - "r-base >=3.3,<3.4", - "r-ggplot2", - "r-plyr" - ] - }, - "bioconductor-squadd-1.26.0-0.tar.bz2": { - "depends": [ - "r-base >=2.11,<2.12", - "r-rcolorbrewer" - ] - }, - "bioconductor-sscu-2.6.0-0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics >=0.16.1", - "bioconductor-biostrings >=2.36.4", - "r-base >=3.3,<3.4", - "r-seqinr >=3.1-3" - ] - }, - "bioconductor-sseq-1.14.0-0.tar.bz2": { - "depends": [ - "r-base >=3.0,<3.1", - "r-catools", - "r-rcolorbrewer" - ] - }, - "bioconductor-suprahex-1.14.0-0.tar.bz2": { - "depends": [ - "r-ape", - "r-base >=3.3,<3.4", - "r-hexbin", - "r-mass" - ] - }, - "bioconductor-swath2stats-1.6.1-0.tar.bz2": { - "depends": [ - "r-base >=2.10,<2.11", - "r-data.table", - "r-ggplot2", - "r-reshape2" - ] - }, - "bioconductor-switchbox-1.12.0-0.tar.bz2": { - "depends": [ - "r-base >=2.13,<2.14", - "r-gplots", - "r-proc" - ] - }, - "bioconductor-ternarynet-1.20.0-0.tar.bz2": { - "depends": [ - "r-base >=2.10,<2.11", - "r-igraph" - ] - }, - "bioconductor-treeio-1.0.2-0.tar.bz2": { - "depends": [ - "r-ape", - "r-base >=3.3,<3.4", - "r-ggplot2", - "r-jsonlite", - "r-magrittr", - "r-rvcheck" - ] - }, - "bioconductor-trio-3.14.0-0.tar.bz2": { - "depends": [ - "r-base >=3.0,<3.1" - ] - }, - "bioconductor-tspair-1.34.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.4.0", - "r-base >=2.10,<2.11" - ] - }, - "bioconductor-twilight-1.52.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=1.12.0", - "r-base >=2.10,<2.11" - ] - }, - "bioconductor-vega-1.24.0-0.tar.bz2": { - "depends": [ - "r-base >=2.10,<2.11" - ] - }, - "bioconductor-weaver-1.42.0-0.tar.bz2": { - "depends": [ - "r-base >=2.5,<2.6", - "r-codetools", - "r-digest" - ] - }, - "bioconductor-xde-2.22.0-0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.5.5", - "bioconductor-biocgenerics", - "bioconductor-genefilter", - "bioconductor-mergemaid", - "r-base >=2.10,<2.11", - "r-gtools", - "r-mvtnorm" - ] - }, - "bioconductor-xmapbridge-1.34.0-0.tar.bz2": { - "depends": [ - "r-base >=2.0,<2.1" - ] - }, - "bioconductor-yeastexpdata-0.22.0-0.tar.bz2": { - "depends": [ - "bioconductor-graph >=1.9.26", - "r-base >=2.4,<2.5", - "wget" - ] - }, - "bolt-0.2.2-hd5045b1_0.tar.bz2": { - "depends": [ - "htslib >=1.9,<1.10.0a0", - "libcxx >=4.0.1", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bolt-0.2.3-hd5045b1_0.tar.bz2": { - "depends": [ - "htslib >=1.9,<1.10.0a0", - "libcxx >=4.0.1", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bolt-0.3.0-h2014444_1.tar.bz2": { - "depends": [ - "htslib >=1.10.2,<1.11.0a0", - "libcxx >=9.0.1", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bolt-0.3.0-hd5045b1_0.tar.bz2": { - "depends": [ - "htslib >=1.9,<1.10.0a0", - "libcxx >=4.0.1", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie-1.1.1-py27h2d50403_0.tar.bz2": { - "depends": [ - "perl", - "python >=2.7,<2.8.0a0", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.1.1-py35h2d50403_0.tar.bz2": { - "depends": [ - "perl", - "python >=3.5,<3.6.0a0", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.1.1-py36h2d50403_0.tar.bz2": { - "depends": [ - "perl", - "python >=3.6,<3.7.0a0", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.0-py27_0.tar.bz2": { - "depends": [ - "perl-threaded", - "python 2.7*", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.0-py34_0.tar.bz2": { - "depends": [ - "perl-threaded", - "python 3.4*", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.0-py35_0.tar.bz2": { - "depends": [ - "perl-threaded", - "python 3.5*", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.0-py36_0.tar.bz2": { - "depends": [ - "perl-threaded", - "python 3.6*", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.1.1-py27pl5.22.0_0.tar.bz2": { - "depends": [ - "perl 5.22.0*", - "python 2.7*", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.1.1-py35pl5.22.0_0.tar.bz2": { - "depends": [ - "perl 5.22.0*", - "python 3.5*", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.1.1-py36pl5.22.0_0.tar.bz2": { - "depends": [ - "perl 5.22.0*", - "python 3.6*", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.2-py27h470a237_1.tar.bz2": { - "depends": [ - "perl", - "python >=2.7,<2.8.0a0", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.2-py27pl5.22.0_0.tar.bz2": { - "depends": [ - "perl 5.22.0*", - "python 2.7*", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.2-py35h470a237_1.tar.bz2": { - "depends": [ - "perl", - "python >=3.5,<3.6.0a0", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.2-py35pl5.22.0_0.tar.bz2": { - "depends": [ - "perl 5.22.0*", - "python 3.5*", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.2-py36h470a237_1.tar.bz2": { - "depends": [ - "perl", - "python >=3.6,<3.7.0a0", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.2-py36pl5.22.0_0.tar.bz2": { - "depends": [ - "perl 5.22.0*", - "python 3.6*", - "tbb <2021.0.0a0" - ] - }, - "bowtie-1.2.3-py27h770b8ee_0.tar.bz2": { - "depends": [ - "libcxx >=4.0.1", - "perl", - "python >=2.7,<2.8.0a0", - "tbb >=2019.8,<2021.0.0a0" - ] - }, - "bowtie-1.2.3-py36h770b8ee_0.tar.bz2": { - "depends": [ - "libcxx >=4.0.1", - "perl", - "python >=3.6,<3.7.0a0", - "tbb >=2019.8,<2021.0.0a0" - ] - }, - "bowtie-1.2.3-py37h770b8ee_0.tar.bz2": { - "depends": [ - "libcxx >=4.0.1", - "perl", - "python >=3.7,<3.8.0a0", - "tbb >=2019.8,<2021.0.0a0" - ] - }, - "bowtie2-2.3.0-py27_0.tar.bz2": { - "depends": [ - "perl-threaded", - "python 2.7*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.0-py27_1.tar.bz2": { - "depends": [ - "perl-threaded", - "python 2.7*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.0-py34_0.tar.bz2": { - "depends": [ - "perl-threaded", - "python 3.4*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.0-py34_1.tar.bz2": { - "depends": [ - "perl-threaded", - "python 3.4*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.0-py35_0.tar.bz2": { - "depends": [ - "perl-threaded", - "python 3.5*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.0-py35_1.tar.bz2": { - "depends": [ - "perl-threaded", - "python 3.5*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.0-py36_1.tar.bz2": { - "depends": [ - "perl-threaded", - "python 3.6*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.2-py27pl5.22.0_1.tar.bz2": { - "depends": [ - "perl 5.22.0*", - "python 2.7*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.2-py35pl5.22.0_1.tar.bz2": { - "depends": [ - "perl 5.22.0*", - "python 3.5*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.2-py36pl5.22.0_1.tar.bz2": { - "depends": [ - "perl 5.22.0*", - "python 3.6*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.3.1-py27pl5.22.0_0.tar.bz2": { - "depends": [ - "perl 5.22.0*", - "python 2.7*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.3.1-py35pl5.22.0_0.tar.bz2": { - "depends": [ - "perl 5.22.0*", - "python 3.5*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.3.1-py36pl5.22.0_0.tar.bz2": { - "depends": [ - "perl 5.22.0*", - "python 3.6*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.4-py27pl5.22.0_0.tar.bz2": { - "depends": [ - "perl 5.22.0*", - "python 2.7*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.4-py35pl5.22.0_0.tar.bz2": { - "depends": [ - "perl 5.22.0*", - "python 3.5*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.4-py36pl5.22.0_0.tar.bz2": { - "depends": [ - "perl 5.22.0*", - "python 3.6*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.4.1-py27h470a237_1.tar.bz2": { - "depends": [ - "perl", - "python >=2.7,<2.8.0a0", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.4.1-py27pl5.22.0_0.tar.bz2": { - "depends": [ - "perl 5.22.0*", - "python 2.7*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.4.1-py35h470a237_1.tar.bz2": { - "depends": [ - "perl", - "python >=3.5,<3.6.0a0", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.4.1-py35pl5.22.0_0.tar.bz2": { - "depends": [ - "perl 5.22.0*", - "python 3.5*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.4.1-py36h470a237_1.tar.bz2": { - "depends": [ - "perl", - "python >=3.6,<3.7.0a0", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.4.1-py36pl5.22.0_0.tar.bz2": { - "depends": [ - "perl 5.22.0*", - "python 3.6*", - "tbb <2021.0.0a0" - ] - }, - "bowtie2-2.3.4.3-py27h5c9b4e4_1.tar.bz2": { - "depends": [ - "libcxx >=4.0.1", - "perl", - "python >=2.7,<2.8.0a0", - "tbb >=2019.3,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.3.4.3-py36h5c9b4e4_1.tar.bz2": { - "depends": [ - "libcxx >=4.0.1", - "perl", - "python >=3.6,<3.7.0a0", - "tbb >=2019.3,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.3.4.3-py37h5c9b4e4_1.tar.bz2": { - "depends": [ - "libcxx >=4.0.1", - "perl", - "python >=3.7,<3.8.0a0", - "tbb >=2019.3,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.3.5-py27h5c9b4e4_0.tar.bz2": { - "depends": [ - "libcxx >=4.0.1", - "perl", - "python >=2.7,<2.8.0a0", - "tbb >=2019.4,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.3.5-py36h5c9b4e4_0.tar.bz2": { - "depends": [ - "libcxx >=4.0.1", - "perl", - "python >=3.6,<3.7.0a0", - "tbb >=2019.4,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.3.5-py37h5c9b4e4_0.tar.bz2": { - "depends": [ - "libcxx >=4.0.1", - "perl", - "python >=3.7,<3.8.0a0", - "tbb >=2019.4,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.3.5.1-py27h2dec4b4_0.tar.bz2": { - "depends": [ - "libcxx >=4.0.1", - "perl", - "python >=2.7,<2.8.0a0", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.3.5.1-py36h2dec4b4_0.tar.bz2": { - "depends": [ - "libcxx >=4.0.1", - "perl", - "python >=3.6,<3.7.0a0", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.3.5.1-py37h2dec4b4_0.tar.bz2": { - "depends": [ - "libcxx >=4.0.1", - "perl", - "python >=3.7,<3.8.0a0", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.1-py36h0c56d2d_3.tar.bz2": { - "depends": [ - "libcxx >=9.0.1", - "perl", - "python >=3.6,<3.7.0a0", - "python_abi 3.6.* *_cp36m", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.1-py36hae8abbf_2.tar.bz2": { - "depends": [ - "libcxx >=9.0.1", - "perl", - "python >=3.6,<3.7.0a0", - "python_abi 3.6.* *_cp36m", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.1-py37h5e6fd57_3.tar.bz2": { - "depends": [ - "libcxx >=9.0.1", - "perl", - "python >=3.7,<3.8.0a0", - "python_abi 3.7.* *_cp37m", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.1-py37h8d6d27b_2.tar.bz2": { - "depends": [ - "libcxx >=9.0.1", - "perl", - "python >=3.7,<3.8.0a0", - "python_abi 3.7.* *_cp37m", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.1-py38h2dec4b4_0.tar.bz2": { - "depends": [ - "libcxx >=4.0.1", - "perl", - "python >=3.8,<3.9.0a0", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.1-py38h4492e0f_3.tar.bz2": { - "depends": [ - "libcxx >=9.0.1", - "perl", - "python >=3.8,<3.9.0a0", - "python_abi 3.8.* *_cp38", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.2-py36h0c56d2d_0.tar.bz2": { - "depends": [ - "libcxx >=9.0.1", - "perl", - "python >=3.6,<3.7.0a0", - "python_abi 3.6.* *_cp36m", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.2-py36h0c56d2d_1.tar.bz2": { - "depends": [ - "libcxx >=9.0.1", - "perl", - "python >=3.6,<3.7.0a0", - "python_abi 3.6.* *_cp36m", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.2-py37h5e6fd57_0.tar.bz2": { - "depends": [ - "libcxx >=9.0.1", - "perl", - "python >=3.7,<3.8.0a0", - "python_abi 3.7.* *_cp37m", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.2-py37h5e6fd57_1.tar.bz2": { - "depends": [ - "libcxx >=9.0.1", - "perl", - "python >=3.7,<3.8.0a0", - "python_abi 3.7.* *_cp37m", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.2-py38h4492e0f_0.tar.bz2": { - "depends": [ - "libcxx >=9.0.1", - "perl", - "python >=3.8,<3.9.0a0", - "python_abi 3.8.* *_cp38", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "bowtie2-2.4.2-py38h4492e0f_1.tar.bz2": { - "depends": [ - "libcxx >=9.0.1", - "perl", - "python >=3.8,<3.9.0a0", - "python_abi 3.8.* *_cp38", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "dcmtk-3.6.1-2.tar.bz2": { - "depends": [ - "jpeg", - "libpng", - "libtiff", - "libxml2", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "dcmtk-3.6.1-3.tar.bz2": { - "depends": [ - "jpeg", - "libpng", - "libtiff", - "libxml2", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "dcmtk-3.6.1-4.tar.bz2": { - "depends": [ - "jpeg", - "libpng", - "libtiff", - "libxml2", - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "dcmtk-3.6.1-5.tar.bz2": { - "depends": [ - "jpeg", - "libgcc", - "libpng", - "libtiff", - "libxml2", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "gnu-wget-1.18-0.tar.bz2": { - "depends": [ - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "gnu-wget-1.18-1.tar.bz2": { - "depends": [ - "openssl >=1.1.0,<=1.1.1", - "zlib" - ] - }, - "gnu-wget-1.18-2.tar.bz2": { - "depends": [ - "openssl >=1.1.0,<=1.1.1", - "pcre", - "zlib" - ] - }, - "gnu-wget-1.18-3.tar.bz2": { - "depends": [ - "openssl >=1.1.0,<=1.1.1", - "pcre", - "zlib 1.2.11*" - ] - }, - "libsequence-1.8.4-h099358a_1.tar.bz2": { - "depends": [ - "htslib >=1.7,<1.8.0a0", - "tbb <2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "libsequence-1.8.4-h2014444_3.tar.bz2": { - "depends": [ - "htslib >=1.10.2,<1.11.0a0", - "libcxx >=9.0.1", - "tbb <2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "libsequence-1.8.4-hf50d5a6_2.tar.bz2": { - "depends": [ - "htslib >=1.9,<1.10.0a0", - "tbb <2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "libsequence-1.8.4-htslib1.6_0.tar.bz2": { - "depends": [ - "htslib 1.6*", - "libgcc", - "tbb <2021.0.0a0", - "zlib 1.2.8*" - ] - }, - "libsequence-1.8.4-htslib1.7_0.tar.bz2": { - "depends": [ - "htslib 1.7*", - "libgcc", - "tbb <2021.0.0a0", - "zlib 1.2.11*" - ] - }, - "libsequence-1.9.0-0.tar.bz2": { - "depends": [ - "htslib", - "libgcc", - "tbb <2021.0.0a0", - "zlib" - ] - }, - "libsequence-1.9.0-1.tar.bz2": { - "depends": [ - "htslib 1.4*", - "libgcc", - "tbb <2021.0.0a0", - "zlib" - ] - }, - "libsequence-1.9.1-1.tar.bz2": { - "depends": [ - "htslib 1.4*", - "libgcc", - "tbb <2021.0.0a0", - "zlib" - ] - }, - "libsequence-1.9.1-htslib1.5_1.tar.bz2": { - "depends": [ - "htslib 1.5*", - "libgcc", - "tbb <2021.0.0a0", - "zlib" - ] - }, - "libsequence-1.9.2-h099358a_2.tar.bz2": { - "depends": [ - "htslib >=1.7,<1.8.0a0", - "tbb <2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "libsequence-1.9.2-htslib1.5_0.tar.bz2": { - "depends": [ - "htslib 1.5*", - "libgcc", - "tbb <2021.0.0a0", - "zlib 1.2.8*" - ] - }, - "libsequence-1.9.2-htslib1.6_0.tar.bz2": { - "depends": [ - "htslib 1.6*", - "libgcc", - "tbb <2021.0.0a0", - "zlib 1.2.8*" - ] - }, - "libsequence-1.9.2-htslib1.7_1.tar.bz2": { - "depends": [ - "htslib 1.7*", - "libgcc", - "tbb <2021.0.0a0", - "zlib 1.2.11*" - ] - }, - "libsequence-1.9.3-he941832_0.tar.bz2": { - "depends": [ - "tbb <2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "mmult-0.0.0.2-r40hdca360a_0.tar.bz2": { - "depends": [ - "boost-cpp >=1.70.0,<1.70.1.0a0", - "eigen", - "libcxx >=9.0.1", - "r-base >=4.0,<4.1.0a0", - "r-ggplot2", - "r-gridextra", - "rapidjson", - "sundials >=5.3.0,<5.4.0a0", - "tbb >=2019.9,<2021.0.0a0", - "tbb-devel" - ] - }, - "nanoqc-0.6.0-py35_0.tar.bz2": { - "depends": [ - "biopython", - "bokeh >=2.4,<3", - "numpy", - "python 3.5*" - ] - }, - "nanoqc-0.6.0-py36_0.tar.bz2": { - "depends": [ - "biopython", - "bokeh >=2.4,<3", - "numpy", - "python 3.6*" - ] - }, - "nanoqc-0.7.0-py35_0.tar.bz2": { - "depends": [ - "biopython", - "bokeh >=2.4,<3", - "numpy", - "python 3.5*" - ] - }, - "nanoqc-0.7.0-py35h24bf2e0_1.tar.bz2": { - "depends": [ - "biopython", - "bokeh >=2.4,<3", - "numpy", - "python >=3.5,<3.6.0a0" - ] - }, - "nanoqc-0.7.0-py36_0.tar.bz2": { - "depends": [ - "biopython", - "bokeh >=2.4,<3", - "numpy", - "python 3.6*" - ] - }, - "nanoqc-0.7.0-py36h24bf2e0_1.tar.bz2": { - "depends": [ - "biopython", - "bokeh >=2.4,<3", - "numpy", - "python >=3.6,<3.7.0a0" - ] - }, - "nanoqc-0.8.1-py35h24bf2e0_1.tar.bz2": { - "depends": [ - "biopython", - "bokeh >=2.4,<3", - "numpy", - "python >=3.5,<3.6.0a0" - ] - }, - "nanoqc-0.8.1-py36h24bf2e0_1.tar.bz2": { - "depends": [ - "biopython", - "bokeh >=2.4,<3", - "numpy", - "python >=3.6,<3.7.0a0" - ] - }, - "perl-aceperl-1.92-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-algorithm-dependency-1.110-0.tar.bz2": { - "depends": [ - "perl-params-util", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-algorithm-diff-1.1903-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-algorithm-munkres-0.08-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-apache-test-1.40-0.tar.bz2": { - "depends": [ - "perl-pathtools", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-app-cpanminus-1.7039-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-appconfig-1.71-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-archive-extract-0.76-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-archive-tar-2.18-1.tar.bz2": { - "depends": [ - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-archive-zip-1.55-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-array-compare-2.11-0.tar.bz2": { - "depends": [ - "perl-moo", - "perl-threaded", - "perl-type-tiny", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-array-utils-0.5-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-authen-sasl-saslprep-1.011-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-unicode-stringprep", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bio-asn1-entrezgene-1.70-0.tar.bz2": { - "depends": [ - "perl-bioperl-core", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bio-asn1-entrezgene-1.72-1.tar.bz2": { - "depends": [ - "perl-bioperl-core", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bio-featureio-1.6.905-0.tar.bz2": { - "depends": [ - "perl-bioperl-core", - "perl-threaded", - "perl-tree-dag_node", - "perl-uri", - "perl-xml-dom", - "perl-xml-dom-xpath", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bio-gff3-2.0-0.tar.bz2": { - "depends": [ - "perl-extutils-makemaker", - "perl-file-readbackwards", - "perl-io-string", - "perl-list-moreutils", - "perl-pathtools", - "perl-scalar-list-utils", - "perl-test-simple", - "perl-threaded", - "perl-uri", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bio-phylo-0.58-0.tar.bz2": { - "depends": [ - "perl-gd", - "perl-html-treebuilder-xpath", - "perl-json", - "perl-math-cdf", - "perl-math-random", - "perl-pdf-api2", - "perl-svg", - "perl-template-toolkit", - "perl-threaded", - "perl-xml-libxml", - "perl-xml-twig", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bio-samtools-1.43-0.tar.bz2": { - "depends": [ - "perl-bioperl-core", - "perl-threaded", - "zlib", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bioperl-1.6.924-4.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl-yaml", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bioperl-1.6.924-6.tar.bz2": { - "depends": [ - "perl-bio-asn1-entrezgene", - "perl-bio-featureio", - "perl-bio-samtools", - "perl-bioperl-core", - "perl-bioperl-run", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bioperl-core-1.6.924-1.tar.bz2": { - "depends": [ - "perl-aceperl", - "perl-algorithm-munkres", - "perl-array-compare", - "perl-bio-phylo", - "perl-clone", - "perl-convert-binary-c", - "perl-data-stag", - "perl-dbd-sqlite", - "perl-dbi", - "perl-error", - "perl-gd", - "perl-graphviz", - "perl-html-tableextract", - "perl-io-string", - "perl-io-stringy", - "perl-list-moreutils", - "perl-postscript", - "perl-set-scalar", - "perl-soap-lite", - "perl-sort-naturally", - "perl-spreadsheet-parseexcel", - "perl-svg", - "perl-svg-graph", - "perl-threaded", - "perl-xml-dom", - "perl-xml-dom-xpath", - "perl-xml-sax-writer", - "perl-xml-simple", - "perl-xml-twig", - "perl-xml-writer", - "perl-yaml", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bioperl-run-1.006900-1.tar.bz2": { - "depends": [ - "perl-bio-samtools", - "perl-bioperl-core", - "perl-file-sort", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bioperl-run-1.006900-2.tar.bz2": { - "depends": [ - "perl-bio-samtools", - "perl-bioperl-core", - "perl-file-sort", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-biox-workflow-0.27-1.tar.bz2": { - "depends": [ - "perl-termreadkey", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bit-vector-7.4-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-bloom-faster-1.7-0.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-btlib-0.19-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-canary-stability-2006-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-capture-tiny-0.34-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-capture-tiny-0.36-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-cgi-4.22-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-class-accessor-0.34-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-class-data-inheritable-0.08-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-class-inspector-1.28-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-class-method-modifiers-2.11-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-class-std-0.013-0.tar.bz2": { - "depends": [ - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-class-std-fast-0.0.8-0.tar.bz2": { - "depends": [ - "perl-class-std", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-clone-0.38-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-common-sense-3.74-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-compress-raw-bzip2-2.069-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-compress-raw-zlib-2.069-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-config-autoconf-0.311-1.tar.bz2": { - "depends": [ - "perl-capture-tiny", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-config-general-2.61-0.tar.bz2": { - "depends": [ - "perl-pathtools", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-config-tiny-2.23-0.tar.bz2": { - "depends": [ - "perl-pathtools", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-convert-binary-c-0.78-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-convert-binhex-1.125-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-cpan-meta-2.120921-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-cpan-meta-check-0.012-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-crypt-rc4-2.02-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-data-optlist-0.110-0.tar.bz2": { - "depends": [ - "perl-apache-test", - "perl-params-util", - "perl-scalar-list-utils", - "perl-sub-install", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-data-stag-0.14-0.tar.bz2": { - "depends": [ - "perl-graph", - "perl-io-string", - "perl-json", - "perl-libxml-perl", - "perl-mldbm", - "perl-threaded", - "perl-xml-libxml", - "perl-xml-libxslt", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-data-uuid-1.221-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-date-manip-6.57-0.tar.bz2": { - "depends": [ - "perl-encode-locale", - "perl-io-all", - "perl-pathtools", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-db-file-1.835-5.tar.bz2": { - "depends": [ - "libdb", - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-dbd-mysql-4.033-2.tar.bz2": { - "depends": [ - "libgcc", - "mysqlclient", - "perl-dbi", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-dbd-pg-3.5.3-0.tar.bz2": { - "depends": [ - "perl-dbi", - "perl-threaded", - "postgresql", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-dbd-sqlite-1.50-1.tar.bz2": { - "depends": [ - "perl-dbi", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-dbi-1.634-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-dbi-1.636-0.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-dbm-deep-2.0013-0.tar.bz2": { - "depends": [ - "perl-dbi", - "perl-digest-md5", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-devel-globaldestruction-0.13-1.tar.bz2": { - "depends": [ - "perl-sub-exporter-progressive", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-devel-size-0.80-0.tar.bz2": { - "depends": [ - "perl-test-simple", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-devel-stacktrace-2.00-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-digest-crc32-0.01-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-digest-hmac-1.03-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-digest-md5-2.52-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-digest-perl-md5-1.9-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-dist-checkconflicts-0.11-0.tar.bz2": { - "depends": [ - "perl-module-runtime", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-email-date-format-1.005-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-env-path-0.19-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-error-0.17024-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-estscan1-1.3-0.tar.bz2": { - "depends": [ - "perl-btlib", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-estscan2-2.1-0.tar.bz2": { - "depends": [ - "perl-btlib", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-exception-class-1.40-0.tar.bz2": { - "depends": [ - "perl-class-data-inheritable", - "perl-devel-stacktrace", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-exporter-tidy-0.08-0.tar.bz2": { - "depends": [ - "perl-threaded >=5.22.0", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-exporter-tiny-0.042-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-extutils-makemaker-6.66-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-extutils-manifest-1.70-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-extutils-parsexs-3.28-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-chdir-0.1010-0.tar.bz2": { - "depends": [ - "perl-pathtools", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-copy-recursive-0.38-1.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-details-0.003-0.tar.bz2": { - "depends": [ - "perl-class-accessor", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-fetch-0.48-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-find-rule-0.34-0.tar.bz2": { - "depends": [ - "perl-app-cpanminus", - "perl-module-build", - "perl-number-compare", - "perl-pathtools", - "perl-text-glob", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-find-rule-0.34-1.tar.bz2": { - "depends": [ - "perl-app-cpanminus", - "perl-module-build", - "perl-number-compare", - "perl-text-glob", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-grep-0.02-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-homedir-1.00-0.tar.bz2": { - "depends": [ - "perl-carp", - "perl-file-path", - "perl-file-which", - "perl-pathtools", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-homedir-1.00-1.tar.bz2": { - "depends": [ - "perl-file-path", - "perl-file-which", - "perl-pathtools", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-listing-6.04-0.tar.bz2": { - "depends": [ - "perl-http-date", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-next-1.16-0.tar.bz2": { - "depends": [ - "perl-pathtools", - "perl-test-simple", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-path-2.09-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-readbackwards-1.05-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-sharedir-1.102-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-sharedir-install-0.10-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-slurp-9999.19-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-slurp-tiny-0.004-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-slurper-0.008-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-sort-1.01-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-file-which-1.20-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-filesys-df-0.92-0.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-filesys-df-0.92-1.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-font-afm-1.20-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-font-ttf-1.05-0.tar.bz2": { - "depends": [ - "perl-io-string", - "perl-threaded", - "perl-xml-parser", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-gd-2.56-3.tar.bz2": { - "depends": [ - "libgd >=2.2.3", - "perl-threaded >=5.22.0", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-gdgraph-1.49-2.tar.bz2": { - "depends": [ - "perl-gd", - "perl-gdtextutil", - "perl-threaded >=5.22.0", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-gdgraph-histogram-1.1-0.tar.bz2": { - "depends": [ - "libgd", - "perl-gdgraph", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-gdtextutil-0.86-2.tar.bz2": { - "depends": [ - "perl-gd", - "perl-threaded >=5.22.0", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-getopt-long-2.49-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-graph-0.9704-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-graph-readwrite-2.09-0.tar.bz2": { - "depends": [ - "perl-graph", - "perl-parse-yapp", - "perl-threaded", - "perl-xml-parser", - "perl-xml-writer", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-graphviz-2.20-1.tar.bz2": { - "depends": [ - "graphviz", - "perl-file-which", - "perl-ipc-run", - "perl-libwww-perl", - "perl-parse-recdescent", - "perl-test-pod", - "perl-threaded", - "perl-xml-twig", - "perl-xml-xpath", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-hash-merge-0.200-0.tar.bz2": { - "depends": [ - "perl-clone", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-heap-simple-0.13-0.tar.bz2": { - "depends": [ - "perl-cgi", - "perl-heap-simple-perl", - "perl-heap-simple-xs", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-heap-simple-perl-0.14-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-heap-simple-xs-0.10-0.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-hpc-runner-mce-2.41-0.tar.bz2": { - "depends": [ - "perl-termreadkey", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-hpc-runner-pbs-0.12-0.tar.bz2": { - "depends": [ - "perl-termreadkey", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-hpc-runner-slurm-2.57-0.tar.bz2": { - "depends": [ - "perl-termreadkey", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-html-element-extended-1.18-0.tar.bz2": { - "depends": [ - "perl-html-tree", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-html-entities-numbered-0.04-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-html-formatter-2.14-0.tar.bz2": { - "depends": [ - "perl-font-afm", - "perl-html-tree", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-html-parser-3.72-0.tar.bz2": { - "depends": [ - "perl-html-tagset", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-html-tableextract-2.13-0.tar.bz2": { - "depends": [ - "perl-html-element-extended", - "perl-html-parser", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-html-tagset-3.20-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-html-template-2.95-0.tar.bz2": { - "depends": [ - "perl-cgi", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-html-tidy-1.56-1.tar.bz2": { - "depends": [ - "perl-threaded", - "tidyp", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-html-tree-5.03-0.tar.bz2": { - "depends": [ - "perl-html-parser", - "perl-html-tagset", - "perl-libwww-perl", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-html-treebuilder-xpath-0.14-0.tar.bz2": { - "depends": [ - "perl-html-tree", - "perl-threaded", - "perl-xml-xpathengine", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-http-cookies-6.01-0.tar.bz2": { - "depends": [ - "perl-http-date", - "perl-http-message", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-http-daemon-6.01-0.tar.bz2": { - "depends": [ - "perl-http-date", - "perl-http-message", - "perl-lwp-mediatypes", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-http-date-6.02-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-http-message-6.11-0.tar.bz2": { - "depends": [ - "perl-encode-locale", - "perl-http-date", - "perl-io-html", - "perl-lwp-mediatypes", - "perl-threaded", - "perl-uri", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-http-negotiate-6.01-0.tar.bz2": { - "depends": [ - "perl-http-message", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-image-info-1.38-0.tar.bz2": { - "depends": [ - "perl-io-stringy", - "perl-threaded", - "perl-xml-libxml", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-image-size-3.300-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-importer-0.024-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-inline-0.80-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-inline-c-0.76-0.tar.bz2": { - "depends": [ - "perl-file-copy-recursive", - "perl-inline", - "perl-io-all", - "perl-parse-recdescent", - "perl-pegex", - "perl-threaded", - "perl-yaml-libyaml", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-io-all-0.86-0.tar.bz2": { - "depends": [ - "perl-extutils-makemaker", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-io-compress-2.069-1.tar.bz2": { - "depends": [ - "perl-compress-raw-bzip2 >=2.069", - "perl-compress-raw-zlib", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-io-html-1.001-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-io-sessiondata-1.03-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-io-socket-inet6-2.72-0.tar.bz2": { - "depends": [ - "perl-socket6", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-io-socket-ssl-2.024-0.tar.bz2": { - "depends": [ - "perl-net-ssleay", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-io-string-1.08-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-io-stringy-2.111-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-io-tty-1.12-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-io-zlib-1.10-1.tar.bz2": { - "depends": [ - "perl-io-compress", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-ipc-run-0.94-0.tar.bz2": { - "depends": [ - "perl-io-tty", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-ipc-system-simple-1.25-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-jcode-2.07-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-json-2.90-0.tar.bz2": { - "depends": [ - "perl-json-xs <3", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-json-2.90-1.tar.bz2": { - "depends": [ - "perl-json-xs <3", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-json-xs-2.34-0.tar.bz2": { - "depends": [ - "perl-common-sense", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-libwww-perl-6.15-0.tar.bz2": { - "depends": [ - "perl-encode-locale", - "perl-file-listing", - "perl-html-parser", - "perl-http-cookies", - "perl-http-daemon", - "perl-http-date", - "perl-http-message", - "perl-http-negotiate", - "perl-lwp-mediatypes", - "perl-net-http", - "perl-ntlm", - "perl-threaded", - "perl-uri", - "perl-www-robotrules", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-libxml-perl-0.08-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-xml-parser", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-list-moreutils-0.413-1.tar.bz2": { - "depends": [ - "perl-exporter-tiny", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-list-uniq-0.20-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-log-log4perl-1.47-1.tar.bz2": { - "depends": [ - "perl-app-cpanminus", - "perl-dbi", - "perl-pathtools", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-lwp-mediatypes-6.02-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-lwp-protocol-https-6.06-2.tar.bz2": { - "depends": [ - "perl-io-socket-ssl", - "perl-libwww-perl", - "perl-mozilla-ca", - "perl-net-http", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-lwp-simple-6.15-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-encode-locale", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-mailtools-2.14-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-timedate", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-math-base-convert-0.11-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-math-bezier-0.01-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-math-cdf-0.1-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-math-combinatorics-0.09-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-math-derivative-0.04-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-math-random-0.72-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-math-round-0.07-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-math-spline-0.02-0.tar.bz2": { - "depends": [ - "perl-math-derivative", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-math-vecstat-0.08-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-memoize-1.03-1.tar.bz2": { - "depends": [ - "perl-extutils-makemaker", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-mime-lite-3.030-0.tar.bz2": { - "depends": [ - "perl-email-date-format", - "perl-mailtools", - "perl-mime-types", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-mime-tools-5.507-0.tar.bz2": { - "depends": [ - "perl-convert-binhex", - "perl-mailtools", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-mime-types-2.12-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-mixin-linewise-0.108-0.tar.bz2": { - "depends": [ - "perl-extutils-makemaker", - "perl-pathtools", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-mldbm-2.05-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-mldbm-sync-0.30-0.tar.bz2": { - "depends": [ - "perl-mldbm", - "perl-threaded", - "perl-tie-cache", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-module-build-0.4214-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded >=5.22.0", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-module-implementation-0.09-0.tar.bz2": { - "depends": [ - "perl-module-runtime", - "perl-threaded", - "perl-try-tiny", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-module-runtime-0.014-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-moo-2.000002-1.tar.bz2": { - "depends": [ - "perl-class-method-modifiers", - "perl-devel-globaldestruction", - "perl-module-runtime", - "perl-role-tiny", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-moo-2.001000-0.tar.bz2": { - "depends": [ - "perl-class-method-modifiers", - "perl-devel-globaldestruction", - "perl-module-runtime", - "perl-role-tiny", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-moo-2.001000-1.tar.bz2": { - "depends": [ - "perl-class-method-modifiers", - "perl-devel-globaldestruction", - "perl-module-runtime", - "perl-role-tiny", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-moose-2.1804-1.tar.bz2": { - "depends": [ - "perl-app-cpanminus", - "perl-extutils-makemaker", - "perl-module-runtime", - "perl-pathtools", - "perl-scalar-list-utils >=1.45", - "perl-test-warnings", - "perl-threaded", - "perl-try-tiny", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-mozilla-ca-20160104-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-net-http-6.09-0.tar.bz2": { - "depends": [ - "perl-io-socket-ssl", - "perl-threaded", - "perl-uri", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-net-ssleay-1.74-0.tar.bz2": { - "depends": [ - "libgcc", - "openssl >=1.1.0,<=1.1.1", - "perl-threaded", - "zlib", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-net-ssleay-1.74-1.tar.bz2": { - "depends": [ - "libgcc", - "openssl >=1.1.0,<=1.1.1", - "perl-threaded", - "zlib 1.2.11*", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-net-ssleay-1.84-pl5.22.0_0.tar.bz2": { - "depends": [ - "openssl >=1.1.0,<=1.1.1", - "perl 5.22.0*", - "perl-mime-base64", - "zlib 1.2.11*" - ] - }, - "perl-ntlm-1.09-1.tar.bz2": { - "depends": [ - "perl-digest-hmac", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-number-compare-0.03-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-ole-storage_lite-0.19-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-onto-perl-1.45-0.tar.bz2": { - "depends": [ - "perl-date-manip", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-parallel-forkmanager-1.17-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-params-util-1.07-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-params-util-1.07-1.tar.bz2": { - "depends": [ - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-params-validate-1.08-0.tar.bz2": { - "depends": [ - "perl-module-implementation", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-parse-recdescent-1.967013-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-parse-yapp-1.05-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-path-class-0.36-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-path-tiny-0.076-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-path-tiny-0.082-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-pathtools-3.40-0.tar.bz2": { - "depends": [ - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-pdf-api2-2.025-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-pegex-0.61-0.tar.bz2": { - "depends": [ - "perl-extutils-makemaker", - "perl-file-sharedir-install", - "perl-threaded", - "perl-yaml-libyaml", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-perl-unsafe-signals-0.03-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-perl-version-1.013-0.tar.bz2": { - "depends": [ - "perl-file-slurp-tiny", - "perl-getopt-long", - "perl-scalar-list-utils", - "perl-test-simple", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-perlio-gzip-0.19-0.tar.bz2": { - "depends": [ - "perl-threaded", - "zlib", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-perlio-utf8_strict-0.006-0.tar.bz2": { - "depends": [ - "perl-apache-test", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-postscript-0.06-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-proc-fork-0.804-0.tar.bz2": { - "depends": [ - "perl-exporter-tidy", - "perl-threaded >=5.22.0", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-regexp-common-2016060801-0.tar.bz2": { - "depends": [ - "perl-extutils-makemaker", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-role-tiny-2.000001-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-scalar-list-utils-1.42-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-scalar-list-utils-1.45-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-scalar-util-numeric-0.40-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-scope-guard-0.21-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sereal-3.015-0.tar.bz2": { - "depends": [ - "perl-sereal-decoder", - "perl-sereal-encoder", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sereal-decoder-3.015-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sereal-encoder-3.015-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-set-intspan-1.19-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-set-scalar-1.29-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-soap-lite-1.19-0.tar.bz2": { - "depends": [ - "perl-class-inspector", - "perl-io-sessiondata", - "perl-io-socket-ssl", - "perl-libwww-perl", - "perl-lwp-protocol-https", - "perl-mime-lite", - "perl-mime-tools", - "perl-task-weaken", - "perl-threaded", - "perl-uri", - "perl-xml-parser", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-socket6-0.25-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sort-naturally-1.03-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sort-versions-1.62-0.tar.bz2": { - "depends": [ - "perl-apache-test", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-spiffy-0.46-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-spreadsheet-parseexcel-0.65-0.tar.bz2": { - "depends": [ - "perl-crypt-rc4", - "perl-digest-perl-md5", - "perl-io-stringy", - "perl-jcode", - "perl-ole-storage_lite", - "perl-spreadsheet-writeexcel", - "perl-threaded", - "perl-unicode-map", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-spreadsheet-writeexcel-2.40-0.tar.bz2": { - "depends": [ - "perl-ole-storage_lite", - "perl-parse-recdescent", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sql-statement-1.407-0.tar.bz2": { - "depends": [ - "perl-clone", - "perl-math-base-convert", - "perl-module-runtime", - "perl-params-util", - "perl-text-soundex", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-statistics-basic-1.6611-0.tar.bz2": { - "depends": [ - "perl-number-format", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-statistics-descriptive-3.0609-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-statistics-descriptive-3.0612-0.tar.bz2": { - "depends": [ - "perl-list-moreutils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-statistics-distributions-1.02-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-statistics-frequency-0.04-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-statistics-lite-3.62-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-statistics-ttest-1.1-0.tar.bz2": { - "depends": [ - "perl-statistics-descriptive", - "perl-statistics-distributions", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sub-exporter-0.987-0.tar.bz2": { - "depends": [ - "perl-apache-test", - "perl-data-optlist", - "perl-params-util", - "perl-sub-install", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sub-exporter-progressive-0.001011-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sub-install-0.928-0.tar.bz2": { - "depends": [ - "perl-apache-test", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-sub-uplevel-0.25-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-svg-2.64-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-svg-graph-0.02-0.tar.bz2": { - "depends": [ - "perl-math-derivative", - "perl-math-spline", - "perl-statistics-descriptive", - "perl-svg", - "perl-threaded", - "perl-tree-dag_node", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-task-weaken-1.04-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-template-toolkit-2.26-0.tar.bz2": { - "depends": [ - "perl-appconfig", - "perl-cgi", - "perl-image-info", - "perl-image-size", - "perl-test-leaktrace", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-term-encoding-0.02-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-termreadkey-2.32-0.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-base-0.88-0.tar.bz2": { - "depends": [ - "perl-spiffy", - "perl-text-diff", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-builder-tester-1.23_002-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-classapi-1.06-0.tar.bz2": { - "depends": [ - "perl-class-inspector", - "perl-config-tiny", - "perl-params-util", - "perl-pathtools", - "perl-test-simple", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-cpan-meta-0.25-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-deep-1.120-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-differences-0.64-0.tar.bz2": { - "depends": [ - "perl-capture-tiny", - "perl-text-diff", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-eol-1.6-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-exception-0.43-0.tar.bz2": { - "depends": [ - "perl-sub-uplevel", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-fatal-0.014-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-try-tiny", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-files-0.14-0.tar.bz2": { - "depends": [ - "perl-algorithm-diff", - "perl-test-builder-tester", - "perl-test-simple", - "perl-text-diff", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-harness-3.30-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-inter-1.06-0.tar.bz2": { - "depends": [ - "perl-io-all", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-leaktrace-0.15-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-longstring-0.17-0.tar.bz2": { - "depends": [ - "perl-test-builder-tester", - "perl-test-simple", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-most-0.34-1.tar.bz2": { - "depends": [ - "perl-exception-class", - "perl-test-deep", - "perl-test-differences", - "perl-test-exception", - "perl-test-warn", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-notabs-1.4-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-nowarnings-1.04-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-output-1.03-0.tar.bz2": { - "depends": [ - "perl-capture-tiny", - "perl-sub-exporter", - "perl-test-simple", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-pod-1.51-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-requires-0.10-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-simple-1.302052-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-warn-0.30-0.tar.bz2": { - "depends": [ - "perl-sub-uplevel", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-warnings-0.021-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-xml-0.08-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-xml-parser", - "perl-xml-sax", - "perl-xml-sax-writer", - "perl-xml-semanticdiff", - "perl-xml-twig", - "perl-xml-xpath", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test-yaml-1.06-0.tar.bz2": { - "depends": [ - "perl-test-base", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-test2-suite-0.000061-0.tar.bz2": { - "depends": [ - "perl-importer", - "perl-scalar-list-utils", - "perl-test-simple", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-text-balanced-2.03-0.tar.bz2": { - "depends": [ - "llvm", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-text-csv-1.33-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-text-diff-1.44-0.tar.bz2": { - "depends": [ - "perl-algorithm-diff", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-text-format-0.59-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-text-glob-0.09-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-text-nsp-1.31-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-text-parsewords-3.29-1.tar.bz2": { - "depends": [ - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-text-tabs-wrap-2013.0523-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-text-wrap-2013.0523-0.tar.bz2": { - "depends": [ - "llvm", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-threaded-5.22.0-10.tar.bz2": { - "depends": [ - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-threaded-5.22.0-8.tar.bz2": { - "depends": [ - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-threaded-5.22.0-9.tar.bz2": { - "depends": [ - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-tie-cache-0.21-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-tie-cacher-0.09-2.tar.bz2": { - "depends": [ - "perl-test-simple", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-tie-ixhash-1.23-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-time-hires-1.9728-2.tar.bz2": { - "depends": [ - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-timedate-2.30-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-tree-dag_node-1.29-0.tar.bz2": { - "depends": [ - "perl-file-slurp-tiny", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-try-tiny-0.24-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-type-tiny-1.000005-0.tar.bz2": { - "depends": [ - "perl-exporter-tiny", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-types-serialiser-1.0-0.tar.bz2": { - "depends": [ - "perl-common-sense", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-unicode-map-0.112-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-unicode-stringprep-1.105-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-uri-1.69-3.tar.bz2": { - "depends": [ - "libgcc", - "perl-scalar-list-utils", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-uri-1.71-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-velvetoptimiser-2.2.5-0.tar.bz2": { - "depends": [ - "perl-bioperl >=1.4", - "perl-threaded", - "velvet >=0.7.51", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-version-next-1.000-0.tar.bz2": { - "depends": [ - "perl-apache-test", - "perl-perl-version", - "perl-sub-exporter", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-www-robotrules-6.02-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-uri", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-dom-1.45-0.tar.bz2": { - "depends": [ - "perl-libwww-perl", - "perl-libxml-perl", - "perl-threaded", - "perl-xml-parser", - "perl-xml-regexp", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-dom-xpath-0.14-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-xml-dom", - "perl-xml-xpathengine", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-filter-buffertext-1.01-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-xml-sax-base", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-libxml-2.0124-0.tar.bz2": { - "depends": [ - "libxml2", - "perl-threaded", - "perl-xml-namespacesupport", - "perl-xml-sax", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-libxslt-1.94-0.tar.bz2": { - "depends": [ - "libxslt", - "perl-threaded", - "perl-xml-libxml", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-namespacesupport-1.11-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-parser-2.44-3.tar.bz2": { - "depends": [ - "expat", - "libgcc", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-parser-2.44-4.tar.bz2": { - "depends": [ - "expat", - "libgcc", - "perl-libwww-perl", - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-parser-lite-0.721-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-regexp-0.04-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-sax-0.99-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-xml-namespacesupport", - "perl-xml-sax-base", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-sax-base-1.08-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-sax-expat-0.51-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-xml-namespacesupport", - "perl-xml-parser", - "perl-xml-sax", - "perl-xml-sax-base", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-sax-writer-0.56-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-xml-filter-buffertext", - "perl-xml-namespacesupport", - "perl-xml-sax-base", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-semanticdiff-1.0004-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-xml-parser", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-simple-2.22-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-xml-namespacesupport", - "perl-xml-sax", - "perl-xml-sax-expat", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-twig-3.49-0.tar.bz2": { - "depends": [ - "perl-html-entities-numbered", - "perl-html-formatter", - "perl-html-parser", - "perl-html-tidy", - "perl-html-tree", - "perl-threaded", - "perl-tie-ixhash", - "perl-xml-parser", - "perl-xml-xpathengine", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-writer-0.625-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-xpath-1.33-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl-xml-parser", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-xml-xpathengine-0.14-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-yaml-1.15-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-yaml-1.15-1.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-yaml-1.18-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "perl-yaml-libyaml-0.63-0.tar.bz2": { - "depends": [ - "perl-threaded", - "perl >=5.22.0,<5.23.0" - ] - }, - "pylibseq-0.2.1-py37h04f5b5a_0.tar.bz2": { - "depends": [ - "libcxx >=4.0.1", - "libsequence >=1.9.6", - "msprime >=0.5.0", - "python >=3.7,<3.8.0a0", - "tbb >=2019.7,<2021.0.0a0" - ] - }, - "r-alakazam-0.2.7-0.tar.bz2": { - "depends": [ - "r-base >=3.4,<3.5", - "r-dplyr >=0.5.0", - "r-ggplot2 >=2.0.0", - "r-igraph >=1.0.0", - "r-lazyeval", - "r-progress", - "r-rcpp >=0.12.11", - "r-readr", - "r-scales", - "r-seqinr", - "r-stringi" - ] - }, - "r-basejump-0.1.1-0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub", - "bioconductor-biobase", - "bioconductor-biocgenerics", - "bioconductor-ensembldb", - "bioconductor-s4vectors", - "r-base >=3.4,<3.5", - "r-cowplot", - "r-dendsort", - "r-devtools", - "r-dplyr", - "r-ggplot2", - "r-knitr", - "r-magrittr", - "r-matrix", - "r-matrix.utils", - "r-pheatmap", - "r-r.utils", - "r-rcolorbrewer", - "r-rcurl", - "r-readr", - "r-readxl", - "r-rlang", - "r-scales", - "r-stringr", - "r-tibble", - "r-tidyr", - "r-viridis", - "r-yaml" - ] - }, - "r-basejump-0.5.3-0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub", - "bioconductor-biobase", - "bioconductor-biocgenerics", - "bioconductor-ensembldb", - "bioconductor-s4vectors", - "r-assertive", - "r-base >=3.4,<3.5", - "r-cowplot", - "r-dendsort", - "r-devtools", - "r-dplyr", - "r-ggplot2", - "r-knitr", - "r-magrittr", - "r-matrix", - "r-matrix.utils", - "r-pbapply", - "r-pheatmap", - "r-r.utils", - "r-rcolorbrewer", - "r-rcurl", - "r-readr", - "r-readxl", - "r-rlang", - "r-scales", - "r-stringr", - "r-tibble", - "r-tidyr", - "r-viridis", - "r-yaml" - ] - }, - "r-basejump-0.5.9-0.tar.bz2": { - "depends": [ - "bioconductor-annotationhub", - "bioconductor-biobase", - "bioconductor-biocgenerics", - "bioconductor-ensembldb", - "bioconductor-genomeinfodb", - "bioconductor-s4vectors", - "r-assertive", - "r-base >=3.4,<3.5", - "r-cowplot >=0.9", - "r-dendsort", - "r-devtools", - "r-dplyr >=0.7", - "r-ggplot2 >=2.2.1", - "r-knitr >=1.2.0", - "r-magrittr >=1.5", - "r-matrix >=1.2", - "r-matrix.utils >=0.9", - "r-pbapply", - "r-pheatmap", - "r-r.utils", - "r-rcolorbrewer", - "r-rcurl >=1.95", - "r-readr >=1.1", - "r-readxl >=1.0", - "r-rlang >=0.2", - "r-scales", - "r-stringr >=1.3", - "r-tibble >=1.4", - "r-tidyr >=0.8", - "r-viridis", - "r-yaml" - ] - }, - "r-bcbiobase-0.0.3-0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics", - "bioconductor-biostrings", - "r-base >=3.4,<3.5", - "r-basejump", - "r-dplyr", - "r-magrittr", - "r-readr", - "r-rlang", - "r-rmysql", - "r-scales", - "r-stringr", - "r-tidyr" - ] - }, - "r-bcbiobase-0.2.10-0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics", - "bioconductor-biostrings", - "r-base >=3.4,<3.5", - "r-basejump", - "r-dplyr", - "r-ggrepel", - "r-magrittr", - "r-rdrop2", - "r-readr", - "r-rlang", - "r-rmysql", - "r-scales", - "r-sessioninfo", - "r-stringr", - "r-tidyr" - ] - }, - "r-bcbiobase-0.2.12-0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics", - "bioconductor-biostrings", - "r-base >=3.4,<3.5", - "r-basejump", - "r-dplyr", - "r-ggrepel", - "r-magrittr", - "r-rdrop2", - "r-readr", - "r-rlang", - "r-rmysql", - "r-scales", - "r-sessioninfo", - "r-stringr", - "r-tidyr" - ] - }, - "r-bcbiobase-0.2.15-0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics", - "bioconductor-biostrings", - "r-base >=3.4,<3.5", - "r-basejump", - "r-dplyr", - "r-ggrepel", - "r-magrittr", - "r-rdrop2", - "r-readr", - "r-rlang", - "r-rmysql", - "r-scales", - "r-sessioninfo", - "r-stringr", - "r-tidyr" - ] - }, - "r-bcbiobase-0.2.15-1.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics", - "bioconductor-biostrings", - "r-base >=3.4,<3.5", - "r-basejump >=0.5.8", - "r-dplyr >=0.7", - "r-ggplot2 >=2.2.1", - "r-ggrepel >=0.7", - "r-magrittr >=1.5", - "r-pheatmap >=1.0.10", - "r-plyr >=1.8", - "r-rdrop2 >=0.8", - "r-readr >=1.1", - "r-rlang >=0.2", - "r-rmysql", - "r-sessioninfo >=1.0", - "r-stringr >=1.3", - "r-tibble >=1.4", - "r-tidyr >=0.8", - "r-viridis >=0.5" - ] - }, - "r-bcbiobase-0.2.9-0.tar.bz2": { - "depends": [ - "bioconductor-biocgenerics", - "bioconductor-biostrings", - "r-base >=3.4,<3.5", - "r-basejump", - "r-dplyr", - "r-magrittr", - "r-rdrop2", - "r-readr", - "r-rlang", - "r-rmysql", - "r-scales", - "r-sessioninfo", - "r-stringr", - "r-tidyr" - ] - }, - "r-bcbiornaseq-0.1.2-0.tar.bz2": { - "depends": [ - "bioconductor-degreport", - "bioconductor-deseq2", - "bioconductor-edger", - "bioconductor-summarizedexperiment", - "bioconductor-tximport", - "bioconductor-vsn", - "r-base >=3.4,<3.5", - "r-bcbiobase", - "r-ggrepel", - "r-pbapply" - ] - }, - "r-bcbiornaseq-0.2.3a-0.tar.bz2": { - "depends": [ - "bioconductor-degreport", - "bioconductor-deseq2", - "bioconductor-edger", - "bioconductor-summarizedexperiment", - "bioconductor-tximport", - "bioconductor-vsn", - "r-base >=3.4,<3.5", - "r-bcbiobase", - "r-ggrepel", - "r-pbapply" - ] - }, - "r-bcbiornaseq-0.2.4-0.tar.bz2": { - "depends": [ - "bioconductor-degreport", - "bioconductor-deseq2", - "bioconductor-edger", - "bioconductor-summarizedexperiment", - "bioconductor-tximport", - "bioconductor-vsn", - "r-base >=3.4,<3.5", - "r-bcbiobase", - "r-ggrepel", - "r-pbapply", - "r-rmarkdown", - "r-tidyverse" - ] - }, - "r-canopy-1.3.0-0.tar.bz2": { - "depends": [ - "r-ape", - "r-base >=3.4,<3.5", - "r-fields", - "r-pheatmap", - "r-scatterplot3d" - ] - }, - "r-cssam-0-r40hb280591_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0", - "libcxx >=11.1.0", - "r-base >=4.0,<4.1", - "r-formula >=1.2_4", - "r-ggplot2 >=3.3.5", - "r-pkgmaker >=0.32.2", - "r-plyr >=1.8.6", - "r-rcpp >=1.0.7", - "r-rngtools >=1.5.2", - "r-scales >=1.1.1", - "xbioc >=0.1.19" - ] - }, - "r-cssam-1.4-r40hb280591_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0", - "libcxx >=11.1.0", - "r-base >=4.0,<4.1", - "r-formula >=1.2_4", - "r-ggplot2 >=3.3.5", - "r-pkgmaker >=0.32.2", - "r-plyr >=1.8.6", - "r-rcpp >=1.0.7", - "r-rngtools >=1.5.2", - "r-scales >=1.1.1", - "xbioc >=0.1.19" - ] - }, - "r-cssam-1.4-r40hb280591_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0", - "libcxx >=11.1.0", - "r-base >=4.0,<4.1", - "r-formula >=1.2_4", - "r-ggplot2 >=3.3.5", - "r-pkgmaker >=0.32.2", - "r-plyr >=1.8.6", - "r-rcpp >=1.0.7", - "r-rngtools >=1.5.2", - "r-scales >=1.1.1", - "xbioc >=0.1.19" - ] - }, - "r-cssam-1.4-r41hb3ea9af_3.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0", - "libcxx >=14.0.4", - "r-base >=4.0,<4.1", - "r-formula >=1.2_4", - "r-ggplot2 >=3.3.5", - "r-pkgmaker >=0.32.2", - "r-plyr >=1.8.6", - "r-rcpp >=1.0.7", - "r-rngtools >=1.5.2", - "r-scales >=1.1.1", - "xbioc >=0.1.19" - ] - }, - "r-cssam-1.4-r41hcd10b59_2.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0", - "libcxx >=12.0.1", - "r-base >=4.0,<4.1", - "r-formula >=1.2_4", - "r-ggplot2 >=3.3.5", - "r-pkgmaker >=0.32.2", - "r-plyr >=1.8.6", - "r-rcpp >=1.0.7", - "r-rngtools >=1.5.2", - "r-scales >=1.1.1", - "xbioc >=0.1.19" - ] - }, - "r-cssam-1.4-r42hb3ea9af_4.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0", - "libcxx >=14.0.6", - "r-base >=4.0,<4.1", - "r-formula >=1.2_4", - "r-ggplot2 >=3.3.5", - "r-pkgmaker >=0.32.2", - "r-plyr >=1.8.6", - "r-rcpp >=1.0.7", - "r-rngtools >=1.5.2", - "r-scales >=1.1.1", - "xbioc >=0.1.19" - ] - }, - "r-genometricorr-1.1.17-0.tar.bz2": { - "depends": [ - "bioconductor-genomeinfodb", - "bioconductor-genomicfeatures", - "bioconductor-genomicranges", - "bioconductor-iranges", - "bioconductor-rtracklayer", - "bioconductor-s4vectors", - "bioconductor-txdb.hsapiens.ucsc.hg19.knowngene", - "r-base >=3.1,<3.2", - "r-gdata", - "r-gplots", - "r-rcurl", - "r-tcltk2", - "xorg-libx11" - ] - }, - "r-qorts-1.3.0-0.tar.bz2": { - "depends": [ - "r-base >=3.0,<3.1" - ] - }, - "r-quorts-1.3.0-0.tar.bz2": { - "depends": [ - "r-base >=3.0,<3.1" - ] - }, - "r-sartools-1.6.0-0.tar.bz2": { - "depends": [ - "bioconductor-deseq2 >=1.12.0", - "bioconductor-edger >=3.12.0", - "bioconductor-summarizedexperiment >=1.6", - "r-base >=3.3,<3.4", - "r-bit64", - "r-blob", - "r-knitr", - "r-rmarkdown >=1.4" - ] - }, - "r-sartools-1.6.3-0.tar.bz2": { - "depends": [ - "bioconductor-deseq2 >=1.12.0", - "bioconductor-edger >=3.12.0", - "bioconductor-summarizedexperiment >=1.6", - "r-base >=3.3,<3.4", - "r-bit64", - "r-blob", - "r-knitr", - "r-rmarkdown >=1.4" - ] - }, - "r-scdc-0-r40hb280591_0.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0", - "libcxx >=11.1.0", - "r-base >=4.0,<4.1", - "r-cowplot >=1.1.1", - "r-ggplot2 >=3.3.5", - "r-l1pack >=0.38.196", - "r-nnls >=1.4", - "r-pheatmap >=1.0.12", - "r-rcpp >=1.0.7", - "r-reshape >=0.8.8", - "xbioc >=0.1.19" - ] - }, - "r-scdc-0-r40hb280591_1.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0", - "libcxx >=11.1.0", - "r-base >=4.0,<4.1", - "r-cowplot >=1.1.1", - "r-ggplot2 >=3.3.5", - "r-l1pack >=0.38.196", - "r-nnls >=1.4", - "r-pheatmap >=1.0.12", - "r-rcpp >=1.0.7", - "r-reshape >=0.8.8", - "xbioc >=0.1.19" - ] - }, - "r-scdc-0-r41hb3ea9af_4.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0", - "libcxx >=14.0.4", - "r-base >=4.0,<4.1", - "r-cowplot >=1.1.1", - "r-ggplot2 >=3.3.5", - "r-l1pack >=0.38.196", - "r-nnls >=1.4", - "r-pheatmap >=1.0.12", - "r-rcpp >=1.0.7", - "r-reshape >=0.8.8", - "xbioc >=0.1.19" - ] - }, - "r-scdc-0-r41hcd10b59_2.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0", - "libcxx >=12.0.1", - "r-base >=4.0,<4.1", - "r-cowplot >=1.1.1", - "r-ggplot2 >=3.3.5", - "r-l1pack >=0.38.196", - "r-nnls >=1.4", - "r-pheatmap >=1.0.12", - "r-rcpp >=1.0.7", - "r-reshape >=0.8.8", - "xbioc >=0.1.19" - ] - }, - "r-scdc-0-r41hcd10b59_3.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0", - "libcxx >=12.0.1", - "r-base >=4.0,<4.1", - "r-cowplot >=1.1.1", - "r-ggplot2 >=3.3.5", - "r-l1pack >=0.38.196", - "r-nnls >=1.4", - "r-pheatmap >=1.0.12", - "r-rcpp >=1.0.7", - "r-reshape >=0.8.8", - "xbioc >=0.1.19" - ] - }, - "r-scdc-0-r42hb3ea9af_5.tar.bz2": { - "depends": [ - "bioconductor-biobase >=2.50.0", - "libcxx >=14.0.6", - "r-base >=4.0,<4.1", - "r-cowplot >=1.1.1", - "r-ggplot2 >=3.3.5", - "r-l1pack >=0.38.196", - "r-nnls >=1.4", - "r-pheatmap >=1.0.12", - "r-rcpp >=1.0.7", - "r-reshape >=0.8.8", - "xbioc >=0.1.19" - ] - }, - "rapmap-0.6.0-hacce2fa_0.tar.bz2": { - "depends": [ - "bzip2 >=1.0.6,<2.0a0", - "jemalloc >=5.1.0", - "libcxx >=4.0.1", - "tbb <2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "rapmap-0.6.0-he641558_1.tar.bz2": { - "depends": [ - "bzip2 >=1.0.8,<2.0a0", - "jemalloc >=5.1.0", - "jemalloc >=5.2.1", - "libcxx >=9.0.1", - "tbb <2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "ruby-2.2.3-0.tar.bz2": { - "depends": [ - "gmp", - "jemalloc", - "openssl >=1.1.0,<=1.1.1", - "readline", - "yaml", - "zlib" - ] - }, - "salmon-0.10.0-1.tar.bz2": { - "depends": [ - "boost 1.64*", - "bzip2 1.0*", - "icu 58.*", - "jemalloc ==4.5.0", - "libcxx ==4.0.0", - "tbb <2021.0.0a0", - "zlib 1.2.11*" - ] - }, - "salmon-0.10.1-1.tar.bz2": { - "depends": [ - "boost 1.64*", - "bzip2 1.0*", - "icu 58.*", - "jemalloc ==4.5.0", - "libcxx ==4.0.0", - "tbb <2021.0.0a0", - "zlib 1.2.11*" - ] - }, - "salmon-0.10.2-1.tar.bz2": { - "depends": [ - "boost 1.64*", - "bzip2 1.0*", - "icu 58.*", - "jemalloc >=5.1.0", - "libcxx ==4.0.0", - "tbb <2021.0.0a0", - "zlib 1.2.11*" - ] - }, - "salmon-0.10.2-ha758a28_3.tar.bz2": { - "depends": [ - "boost >=1.66.0,<1.66.1.0a0", - "bzip2 >=1.0.6,<2.0a0", - "icu >=58.2,<59.0a0", - "jemalloc >=5.1.0", - "tbb <2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.11.3-heb0d2e1_1.tar.bz2": { - "depends": [ - "bzip2 >=1.0.6,<2.0a0", - "icu >=58.2,<59.0a0", - "jemalloc >=5.1.0", - "libboost", - "libcxx >=4.0.1", - "tbb <2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.11.3-heb0d2e1_2.tar.bz2": { - "depends": [ - "bzip2 >=1.0.6,<2.0a0", - "icu >=58.2,<59.0a0", - "jemalloc >=5.1.0", - "libboost", - "libcxx >=4.0.1", - "tbb <2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.12.0-heb0d2e1_1.tar.bz2": { - "depends": [ - "bzip2 >=1.0.6,<2.0a0", - "icu >=58.2,<59.0a0", - "jemalloc >=5.1.0", - "libboost", - "libcxx >=4.0.1", - "tbb >=2019.3,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.13.0-heb0d2e1_1.tar.bz2": { - "depends": [ - "bzip2 >=1.0.6,<2.0a0", - "icu >=58.2,<59.0a0", - "jemalloc >=5.1.0", - "libboost", - "libcxx >=4.0.1", - "tbb >=2019.4,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.13.0-heb0d2e1_2.tar.bz2": { - "depends": [ - "bzip2 >=1.0.6,<2.0a0", - "icu >=58.2,<59.0a0", - "jemalloc >=5.1.0", - "libboost", - "libcxx >=4.0.1", - "tbb >=2019.4,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.13.1-heb0d2e1_0.tar.bz2": { - "depends": [ - "bzip2 >=1.0.6,<2.0a0", - "icu >=58.2,<59.0a0", - "jemalloc >=5.1.0", - "libboost", - "libcxx >=4.0.1", - "tbb >=2019.4,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.14.0-heb0d2e1_0.tar.bz2": { - "depends": [ - "bzip2 >=1.0.6,<2.0a0", - "icu >=58.2,<59.0a0", - "jemalloc >=5.1.0", - "libboost", - "libcxx >=4.0.1", - "tbb >=2019.7,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.14.0-heb0d2e1_1.tar.bz2": { - "depends": [ - "bzip2 >=1.0.6,<2.0a0", - "icu >=58.2,<59.0a0", - "jemalloc >=5.1.0", - "libboost", - "libcxx >=4.0.1", - "tbb >=2019.7,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.14.1-ha956f45_2.tar.bz2": { - "depends": [ - "bzip2 >=1.0.8,<2.0a0", - "libcxx >=4.0.1", - "tbb >=2019.8,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.14.1-heb0d2e1_0.tar.bz2": { - "depends": [ - "bzip2 >=1.0.6,<2.0a0", - "icu >=58.2,<59.0a0", - "jemalloc >=5.1.0", - "libboost", - "libcxx >=4.0.1", - "tbb >=2019.7,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.14.1-heb0d2e1_1.tar.bz2": { - "depends": [ - "bzip2 >=1.0.6,<2.0a0", - "icu >=58.2,<59.0a0", - "jemalloc >=5.1.0", - "libboost", - "libcxx >=4.0.1", - "tbb >=2019.7,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.14.2-h2072146_1.tar.bz2": { - "depends": [ - "bzip2 >=1.0.8,<2.0a0", - "icu >=64.2,<65.0a0", - "libcxx >=4.0.1", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.14.2-ha956f45_0.tar.bz2": { - "depends": [ - "bzip2 >=1.0.8,<2.0a0", - "libcxx >=4.0.1", - "tbb >=2019.8,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.15.0-h2072146_0.tar.bz2": { - "depends": [ - "bzip2 >=1.0.8,<2.0a0", - "icu >=64.2,<65.0a0", - "libcxx >=4.0.1", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-0.8.2-0.tar.bz2": { - "depends": [ - "boost ==1.63.0", - "bzip2", - "icu 56.*", - "jemalloc", - "tbb <2021.0.0a0", - "zlib" - ] - }, - "salmon-0.8.2-1.tar.bz2": { - "depends": [ - "boost ==1.63.0", - "bzip2", - "icu 58.*", - "jemalloc ==4.5.0", - "tbb <2021.0.0a0", - "zlib" - ] - }, - "salmon-0.9.0-0.tar.bz2": { - "depends": [ - "boost 1.64*", - "bzip2 1.0*", - "icu 58.*", - "jemalloc ==4.5.0", - "libcxx ==4.0.0", - "tbb <2021.0.0a0", - "zlib 1.2.8*" - ] - }, - "salmon-0.9.1-0.tar.bz2": { - "depends": [ - "boost 1.64*", - "bzip2 1.0*", - "icu 58.*", - "jemalloc ==4.5.0", - "libcxx ==4.0.0", - "tbb <2021.0.0a0", - "zlib 1.2.8*" - ] - }, - "salmon-0.9.1-1.tar.bz2": { - "depends": [ - "boost 1.64*", - "bzip2 1.0*", - "icu 58.*", - "jemalloc ==4.5.0", - "libcxx ==4.0.0", - "tbb <2021.0.0a0", - "zlib 1.2.11*" - ] - }, - "salmon-1.0.0-h2072146_0.tar.bz2": { - "depends": [ - "bzip2 >=1.0.8,<2.0a0", - "icu >=64.2,<65.0a0", - "libcxx >=4.0.1", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-1.1.0-h2072146_0.tar.bz2": { - "depends": [ - "bzip2 >=1.0.8,<2.0a0", - "icu >=64.2,<65.0a0", - "libcxx >=4.0.1", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-1.2.0-h2072146_0.tar.bz2": { - "depends": [ - "bzip2 >=1.0.8,<2.0a0", - "icu >=64.2,<65.0a0", - "libcxx >=4.0.1", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-1.2.1-h2072146_0.tar.bz2": { - "depends": [ - "bzip2 >=1.0.8,<2.0a0", - "icu >=64.2,<65.0a0", - "jemalloc >=5.2.1", - "libcxx >=4.0.1", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-1.3.0-hb70dc8d_0.tar.bz2": { - "depends": [ - "bzip2 >=1.0.8,<2.0a0", - "icu >=64.2,<65.0a0", - "jemalloc >=5.2.1", - "libcxx >=9.0.1", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "salmon-1.4.0-hb70dc8d_0.tar.bz2": { - "depends": [ - "bzip2 >=1.0.8,<2.0a0", - "icu >=64.2,<65.0a0", - "jemalloc >=5.2.1", - "libcxx >=9.0.1", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "shark-1.0.0-h2dec4b4_0.tar.bz2": { - "depends": [ - "libcxx >=4.0.1", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "shark-1.0.0-h2dec4b4_1.tar.bz2": { - "depends": [ - "libcxx >=4.0.1", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "shark-1.1.0-h7475705_0.tar.bz2": { - "depends": [ - "libcxx >=9.0.1", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "sina-1.4.0-h4ef8376_0.tar.bz2": { - "depends": [ - "arb-bio-tools", - "boost >=1.67.0,<1.67.1.0a0", - "tbb >=2019.2,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "sina-1.5.0-hf49611d_0.tar.bz2": { - "depends": [ - "arb-bio-tools", - "boost-cpp >=1.68.0,<1.68.1.0a0", - "glib >=2.58.2,<3.0a0", - "libarbdb 6.0.6 h82bc0eb_8", - "libcxx >=4.0.1", - "tbb >=2019.3,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "sina-1.6.0-hf49611d_0.tar.bz2": { - "depends": [ - "arb-bio-tools", - "boost-cpp >=1.68.0,<1.68.1.0a0", - "glib >=2.58.3,<3.0a0", - "libarbdb 6.0.6 h82bc0eb_8", - "libcxx >=4.0.1", - "tbb >=2019.4,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "sina-1.6.1-ha016f77_0.tar.bz2": { - "depends": [ - "arb-bio-tools", - "boost-cpp >=1.70.0,<1.70.1.0a0", - "glib >=2.58.3,<3.0a0", - "libarbdb 6.0.6 h82bc0eb_8", - "libcxx >=4.0.1", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "sina-1.7.0-hadaa689_0.tar.bz2": { - "depends": [ - "arb-bio-tools", - "boost-cpp >=1.70.0,<1.70.1.0a0", - "glib >=2.58.3,<3.0a0", - "libarbdb 6.0.6 h82bc0eb_8", - "libcxx >=9.0.1", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "sina-1.7.1-hadaa689_0.tar.bz2": { - "depends": [ - "arb-bio-tools", - "boost-cpp >=1.70.0,<1.70.1.0a0", - "glib >=2.58.3,<3.0a0", - "libarbdb 6.0.6 h82bc0eb_8", - "libcxx >=9.0.1", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "sina-1.7.2-hadaa689_0.tar.bz2": { - "depends": [ - "arb-bio-tools", - "boost-cpp >=1.70.0,<1.70.1.0a0", - "glib >=2.58.3,<3.0a0", - "libarbdb 6.0.6 h82bc0eb_8", - "libcxx >=9.0.1", - "tbb >=2019.9,<2021.0.0a0", - "zlib >=1.2.11,<1.3.0a0" - ] - }, - "spydrpick-1.1.1-h04f5b5a_0.tar.bz2": { - "depends": [ - "libcxx >=4.0.1", - "pthread-stubs", - "tbb >=2019.3,<2021.0.0a0" - ] - }, - "spydrpick-1.2.0-h4f3e9b1_0.tar.bz2": { - "depends": [ - "libcxx >=4.0.1", - "pthread-stubs", - "tbb >=2019.9,<2021.0.0a0" - ] - }, - "squeakr-0.5-0.tar.bz2": { - "depends": [ - "boost 1.64*", - "bzip2", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.8*" - ] - }, - "squeakr-0.5-1.tar.bz2": { - "depends": [ - "boost 1.64*", - "bzip2 1.0*", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "swipe-2.0.12-0.tar.bz2": { - "depends": [ - "libgcc", - "openmpi", - "tbb <2021.0.0a0" - ] - }, - "swipe-2.0.12-h470a237_1.tar.bz2": { - "depends": [ - "openmpi", - "tbb <2021.0.0a0" - ] - }, - "swipe-2.1.0-h15ae403_1.tar.bz2": { - "depends": [ - "openmpi >=4.0.4,<4.1.0a0", - "tbb <2021.0.0a0" - ] - }, - "swipe-2.1.0-h470a237_0.tar.bz2": { - "depends": [ - "openmpi", - "tbb <2021.0.0a0" - ] - }, - "ucsc-bedgraphtobigwig-308-0.tar.bz2": { - "depends": [ - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "zlib 1.2.11*" - ] - }, - "ucsc-bedjointaboffset-377-1.tar.bz2": { - "depends": [ - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "python", - "zlib" - ] - }, - "ucsc-bedjointaboffset-377-h527b516_2.tar.bz2": { - "depends": [ - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "python", - "zlib" - ] - }, - "ucsc-expmatrixtobarchartbed-377-1.tar.bz2": { - "depends": [ - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "python", - "zlib" - ] - }, - "ucsc-websync-377-1.tar.bz2": { - "depends": [ - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "python", - "zlib" - ] - }, - "ucsc-websync-377-h527b516_2.tar.bz2": { - "depends": [ - "libpng", - "libuuid", - "mysql-connector-c", - "openssl >=1.1.0,<=1.1.1", - "python", - "zlib" - ] - } - }, - "patch_instructions_version": 1, - "remove": [], - "revoke": [] -} \ No newline at end of file diff --git a/recipes/bioconda-utils/meta.yaml b/recipes/bioconda-utils/meta.yaml index 709431ae41c1f..c8a92fc0b1c12 100644 --- a/recipes/bioconda-utils/meta.yaml +++ b/recipes/bioconda-utils/meta.yaml @@ -1,8 +1,9 @@ -{% set version = "2.10.0" %} -{% set sha256 = "06c0560de53105c08b1ac2fad15c828980002ba3b5a19ca61fd2520227fe614b" %} +{% set name = "bioconda-utils" %} +{% set version = "3.3.2" %} +{% set sha256 = "6c6dcac689a2fb0f8142546aa9021bfd620fe484e724e4844a2d2e55c337747c" %} package: - name: bioconda-utils + name: {{ name }} version: {{ version }} source: @@ -10,9 +11,9 @@ source: sha256: {{ sha256 }} build: - noarch: python number: 0 - script: python -m pip install --no-deps --ignore-installed . + noarch: python + script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation --no-cache-dir . -vvv entry_points: - bioconda-utils = bioconda_utils.cli:main run_exports: @@ -20,65 +21,58 @@ build: requirements: host: - - python + - python <3.12 - pip run: - - python - - conda 23.3.* - - boa 0.15.* - - conda-build 3.24.* - - conda-verify 3.1.* - - argh 0.26.* - - colorlog 4.8.* - - yaspin 2.0.* - - ruamel_yaml 0.15.* - - pyaml 17.12.* - - networkx 2.* - - pandas 1.4.* - - numpy 1.19.* + - conda-forge-pinning 2024.06.01.05.54.15 + - python 3.10.* + - conda 24.5.* + - conda-libmamba-solver 24.1.* + - conda-build 24.5.* + - conda-index 0.4.* + - conda-package-streaming 0.9.* + - mamba 1.5.* + - boa 0.17.* + - argh 0.31.* + - colorlog 6.* + - tqdm 4.66.* + - yaspin 2.* + - ruamel.yaml 0.18.* + - pyaml 24.04.* + - networkx 3.3.* + - pandas 2.2.* - libblas * *openblas - - boltons 23.* - - jsonschema 3.2.* - - pyopenssl >=22.1 - - conda-forge-pinning 2023.05.06.13.08.41 - - anaconda-client 1.6.* + - boltons 24.0.* + - jsonschema 4.22.* + - jinja2 3.1.* + - anaconda-client 1.12.* + - galaxy-tool-util 24.* - involucro 1.1.* - - skopeo 1.11.* + - skopeo 1.15.* + - findutils - git 2.* - - regex 2022.7.9 - - aiohttp 3.8.* + - regex 2024.* + - aiohttp 3.9.* - aiohttp-jinja2 - aiohttp-session - aiohttp-security - - aiofiles 0.8.* - - aioftp 0.12.* - - backoff 1.6.* - - cachetools 3.0.* - - gitpython >=3.0.8,3.0.* - - gidgethub 3.0.* + - aiofiles 23.* + - aioftp 0.22.* + - backoff 2.2.* + - cachetools 5.3.* + - gitpython 3.1.* + - gidgethub 5.* - pyjwt >=2.4.0 - - beautifulsoup4 4.8.* - - galaxy-lib >=18.9.1 - - jinja2 >2.10.1,<3 - - markupsafe <2.1 - - sphinx >=4.1 - - celery - - sphinx-autodoc-typehints - - alabaster 0.7.* - - docutils - - markdown - - graphviz - - requests 2.22.* - - pygithub 1.* + - beautifulsoup4 4.* + - requests 2.32.* + - pygithub - diskcache 5.* - - appdirs 1.* + - platformdirs 4.* - tabulate 0.9.* test: - #imports: - # - bioconda_utils - # [Nov 2 22:37:22] SERR bash: -c: line 1: syntax error near unexpected token `&&' - # [Nov 2 22:37:22] SERR bash: -c: line 1: ` && python -c "import bioconda_utils"' + imports: + - bioconda_utils commands: - bioconda-utils --help - bioconda-utils lint --help @@ -92,8 +86,10 @@ test: )" 2>&1 | grep -qF 'All requested packages already installed' about: - home: http://bioconda.github.io/build-system.html + home: "https://bioconda.github.io/contributor/build-system.html" license: MIT license_family: MIT - summary: Utilities for building and managing bioconda recipes. - dev_url: https://github.com/bioconda/bioconda-utils + license_file: "LICENSE.md" + summary: "Utilities for building and managing bioconda recipes." + dev_url: "https://github.com/bioconda/bioconda-utils" + doc_url: "https://bioconda.github.io/contributor/guidelines.html" diff --git a/recipes/bioconductor-acgh/meta.yaml b/recipes/bioconductor-acgh/meta.yaml index ce96cf84127e5..480a44e57a521 100644 --- a/recipes/bioconductor-acgh/meta.yaml +++ b/recipes/bioconductor-acgh/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 137af76dc5756a83094da18eb0bededa build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -42,11 +42,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-2 + license: GPL-2.0-only summary: 'Classes and functions for Array Comparative Genomic Hybridization data' description: 'Functions for reading aCGH data from image analysis output files and clone information files, creation of aCGH S3 objects for storing these data. Basic methods for accessing/replacing, subsetting, printing and plotting aCGH objects.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-2' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:acgh - doi:10.1093/bioinformatics/bti677 diff --git a/recipes/bioconductor-acme/meta.yaml b/recipes/bioconductor-acme/meta.yaml index 1a43fedf23501..47fd7e89692ed 100644 --- a/recipes/bioconductor-acme/meta.yaml +++ b/recipes/bioconductor-acme/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 6668a82e0a26ac03c9697e2cf22eb75e build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -37,11 +37,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>= 2)' + license: 'GPL-3-only' summary: 'Algorithms for Calculating Microarray Enrichment (ACME)' description: 'ACME (Algorithms for Calculating Microarray Enrichment) is a set of tools for analysing tiling array ChIP/chip, DNAse hypersensitivity, or other experiments that result in regions of the genome showing "enrichment". It does not rely on a specific array technology (although the array should be a "tiling" array), is very general (can be applied in experiments resulting in regions of enrichment), and is very insensitive to array noise or normalization methods. It is also very fast and can be applied on whole-genome tiling array experiments quite easily with enough memory.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:acme parent_recipe: diff --git a/recipes/bioconductor-affxparser/meta.yaml b/recipes/bioconductor-affxparser/meta.yaml index 98a8b2a7afec4..b14c8b9d06485 100644 --- a/recipes/bioconductor-affxparser/meta.yaml +++ b/recipes/bioconductor-affxparser/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 2b6b9373d749a0ccbf930f834df90b92 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -40,6 +40,8 @@ about: description: 'Package for parsing Affymetrix files (CDF, CEL, CHP, BPMAP, BAR). It provides methods for fast and memory efficient parsing of Affymetrix files using the Affymetrix'' Fusion SDK. Both ASCII- and binary-based files are supported. Currently, there are methods for reading chip definition file (CDF) and a cell intensity file (CEL). These files can be read either in full or in part. For example, probe signals from a few probesets can be extracted very quickly from a set of CEL files into a convenient list structure.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/LGPL-3' extra: + additional-platforms: + - linux-aarch64 parent_recipe: name: bioconductor-affxparser path: recipes/bioconductor-affxparser diff --git a/recipes/bioconductor-affy/meta.yaml b/recipes/bioconductor-affy/meta.yaml index b6cfed74b149d..3493e7d3b7a93 100644 --- a/recipes/bioconductor-affy/meta.yaml +++ b/recipes/bioconductor-affy/meta.yaml @@ -47,11 +47,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'LGPL (>= 2.0)' + license: 'LGPL-3-only' summary: 'Methods for Affymetrix Oligonucleotide Arrays' description: 'The package contains functions for exploratory oligonucleotide array analysis. The dependence on tkWidgets only concerns few convenience functions. ''affy'' is fully functional without it.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/LGPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:affy parent_recipe: diff --git a/recipes/bioconductor-affyio/meta.yaml b/recipes/bioconductor-affyio/meta.yaml index 0338d5377855c..7e1bef9f6ac34 100644 --- a/recipes/bioconductor-affyio/meta.yaml +++ b/recipes/bioconductor-affyio/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 9bd1e4acedbf756386f96d4c1ebb21f3 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -36,11 +36,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'LGPL (>= 2)' + license: 'LGPL-3.0-or-later' summary: 'Tools for parsing Affymetrix data files' description: 'Routines for parsing Affymetrix data files based upon file format information. Primary focus is on accessing the CEL and CDF file formats.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/LGPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:affyio - doi:10.1038/nmeth.3252 diff --git a/recipes/bioconductor-amountain/meta.yaml b/recipes/bioconductor-amountain/meta.yaml index e8e64af069238..dd5d22ebd6e60 100644 --- a/recipes/bioconductor-amountain/meta.yaml +++ b/recipes/bioconductor-amountain/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: acf007b4bceaa196843cbcf221b762ba build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -42,6 +42,8 @@ about: description: 'A pure data-driven gene network, weighted gene co-expression network (WGCN) could be constructed only from expression profile. Different layers in such networks may represent different time points, multiple conditions or various species. AMOUNTAIN aims to search active modules in multi-layer WGCN using a continuous optimization approach.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:amountain - doi:10.1101/056952 diff --git a/recipes/bioconductor-amplican/meta.yaml b/recipes/bioconductor-amplican/meta.yaml index d57bcd680d241..80fb494e2eb87 100644 --- a/recipes/bioconductor-amplican/meta.yaml +++ b/recipes/bioconductor-amplican/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 73fd9acdf5066ee76b1157068151f1f4 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -79,8 +79,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-3 + license: GPL-3.0-only summary: 'Automated analysis of CRISPR experiments' description: '`amplican` performs alignment of the amplicon reads, normalizes gathered data, calculates multiple statistics (e.g. cut rates, frameshifts) and presents results in form of aggregated reports. Data and statistics can be broken down by experiments, barcodes, user defined groups, guides and amplicons allowing for quick identification of potential problems.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name }} diff --git a/recipes/bioconductor-apeglm/meta.yaml b/recipes/bioconductor-apeglm/meta.yaml index 3d750a1756a2b..78fd5a84b9c6b 100644 --- a/recipes/bioconductor-apeglm/meta.yaml +++ b/recipes/bioconductor-apeglm/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 0f8e64bdd8eec2566238fdc487afabb8 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -52,6 +52,8 @@ about: description: 'apeglm provides Bayesian shrinkage estimators for effect sizes for a variety of GLM models, using approximation of the posterior for individual coefficients.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-2' extra: + additional-platforms: + - linux-aarch64 parent_recipe: name: bioconductor-apeglm path: recipes/bioconductor-apeglm diff --git a/recipes/bioconductor-bamsignals/meta.yaml b/recipes/bioconductor-bamsignals/meta.yaml index fe49237768045..aa4d6567aedc3 100644 --- a/recipes/bioconductor-bamsignals/meta.yaml +++ b/recipes/bioconductor-bamsignals/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: e7b42351aa9651bdf7d429a6377143f5 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -48,11 +48,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-2 + license: GPL-2.0-only summary: 'Extract read count signals from bam files' description: 'This package allows to efficiently obtain count vectors from indexed bam files. It counts the number of reads in given genomic ranges and it computes reads profiles and coverage profiles. It also handles paired-end data.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-2' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:bamsignals - doi:10.1038/nmeth.3252 diff --git a/recipes/bioconductor-batchelor/meta.yaml b/recipes/bioconductor-batchelor/meta.yaml index 85f55bdbb422e..1bf33aba12c89 100644 --- a/recipes/bioconductor-batchelor/meta.yaml +++ b/recipes/bioconductor-batchelor/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: e78aa00a2e343b79e7ad7aeb0fde1196 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -68,8 +68,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-3 + license: GPL-3.0-only summary: 'Single-Cell Batch Correction Methods' description: 'Implements a variety of methods for batch correction of single-cell (RNA sequencing) data. This includes methods based on detecting mutually nearest neighbors, as well as several efficient variants of linear regression of the log-expression values. Functions are also provided to perform global rescaling to remove differences in depth between batches, and to perform a principal components analysis that is robust to differences in the numbers of cells across batches.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} diff --git a/recipes/bioconductor-bcrank/meta.yaml b/recipes/bioconductor-bcrank/meta.yaml index e76407cf7cf0a..52d59782460fa 100644 --- a/recipes/bioconductor-bcrank/meta.yaml +++ b/recipes/bioconductor-bcrank/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 6c551ab389af456ab76449642c01881a build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -36,11 +36,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-2 + license: GPL-2.0-only summary: 'Predicting binding site consensus from ranked DNA sequences' description: 'Functions and classes for de novo prediction of transcription factor binding consensus by heuristic search' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-2' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:bcrank - doi:10.1093/nar/gkp381 diff --git a/recipes/bioconductor-bcseq/meta.yaml b/recipes/bioconductor-bcseq/meta.yaml index 272410c1503a5..523746769460e 100644 --- a/recipes/bioconductor-bcseq/meta.yaml +++ b/recipes/bioconductor-bcseq/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: e582b114bc4743a328b6ada2953a74da build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -41,8 +41,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>= 2)' + license: 'GPL-3.0-or-later' summary: 'Fast Sequence Mapping in High-Throughput shRNA and CRISPR Screens' description: 'This Rcpp-based package implements a highly efficient data structure and algorithm for performing alignment of short reads from CRISPR or shRNA screens to reference barcode library. Sequencing error are considered and matching qualities are evaluated based on Phred scores. A Bayes'' classifier is employed to predict the originating barcode of a read. The package supports provision of user-defined probability models for evaluating matching qualities. The package also supports multi-threading.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name }} diff --git a/recipes/bioconductor-bdmmacorrect/meta.yaml b/recipes/bioconductor-bdmmacorrect/meta.yaml index f9fb720562ad3..46e78ea3e1948 100644 --- a/recipes/bioconductor-bdmmacorrect/meta.yaml +++ b/recipes/bioconductor-bdmmacorrect/meta.yaml @@ -13,14 +13,15 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 7dae9023d884c07857b4378154d8912b build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ + run_exports: '{{ pin_subpackage("bioconductor-bdmmacorrect", max_pin="x") }}' # Suggests: knitr, rmarkdown, BiocGenerics requirements: host: - - 'bioconductor-summarizedexperiment >=1.30.0,<1.31.0' + - 'bioconductor-summarizedexperiment >=1.32.0,<1.33.0' - r-ape - r-base - r-ellipse @@ -32,7 +33,7 @@ requirements: - libblas - liblapack run: - - 'bioconductor-summarizedexperiment >=1.30.0,<1.31.0' + - 'bioconductor-summarizedexperiment >=1.32.0,<1.33.0' - r-ape - r-base - r-ellipse @@ -55,3 +56,8 @@ about: description: 'Metagenomic sequencing techniques enable quantitative analyses of the microbiome. However, combining the microbial data from these experiments is challenging due to the variations between experiments. The existing methods for correcting batch effects do not consider the interactions between variables—microbial taxa in microbial studies—and the overdispersion of the microbiome data. Therefore, they are not applicable to microbiome data. We develop a new method, Bayesian Dirichlet-multinomial regression meta-analysis (BDMMA), to simultaneously model the batch effects and detect the microbial taxa associated with phenotypes. BDMMA automatically models the dependence among microbial taxa and is robust to the high dimensionality of the microbiome and their association sparsity.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} diff --git a/recipes/bioconductor-beachmat/meta.yaml b/recipes/bioconductor-beachmat/meta.yaml index b7ae4f0aa3360..3f65c0a6c6a2f 100644 --- a/recipes/bioconductor-beachmat/meta.yaml +++ b/recipes/bioconductor-beachmat/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: ec47172a09aba997192731b4a5f2f284 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -30,6 +30,7 @@ requirements: - r-rcpp - libblas - liblapack + - tapi # [osx] run: - 'bioconductor-biocgenerics >=0.48.0,<0.49.0' - 'bioconductor-delayedarray >=0.28.0,<0.29.0' @@ -37,6 +38,8 @@ requirements: - r-base - r-matrix - r-rcpp + - tapi + - tapi # [osx] build: - {{ compiler('c') }} - {{ compiler('cxx') }} @@ -46,11 +49,15 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-3 + license: GPL-3.0-only summary: 'Compiling Bioconductor to Handle Each Matrix Type' description: 'Provides a consistent C++ class interface for reading from a variety of commonly used matrix types. Ordinary matrices and several sparse/dense Matrix classes are directly supported, along with a subset of the delayed operations implemented in the DelayedArray package. All other matrix-like objects are supported by calling back into R.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} parent_recipe: name: bioconductor-beachmat path: recipes/bioconductor-beachmat diff --git a/recipes/bioconductor-beclear/meta.yaml b/recipes/bioconductor-beclear/meta.yaml index 22a3733efe5e5..5c7b037c6d71c 100644 --- a/recipes/bioconductor-beclear/meta.yaml +++ b/recipes/bioconductor-beclear/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: bd34703e5a35dfc888f0029395df2c80 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -54,11 +54,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-3 + license: 'GPL-3.0-only' summary: 'Correction of batch effects in DNA methylation data' description: 'Provides functions to detect and correct for batch effects in DNA methylation data. The core function is based on latent factor models and can also be used to predict missing values in any other matrix containing real numbers.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:beclear - doi:10.1371/journal.pone.0159921 diff --git a/recipes/bioconductor-biobase/meta.yaml b/recipes/bioconductor-biobase/meta.yaml index e09e97936223e..f8f03fe0161a5 100644 --- a/recipes/bioconductor-biobase/meta.yaml +++ b/recipes/bioconductor-biobase/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 75a65eb015d58ca611f2bebca41f9d2d build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -40,6 +40,8 @@ about: summary: 'Biobase: Base functions for Bioconductor' description: 'Functions that are needed by many other packages or which replace R functions.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:biobase diff --git a/recipes/bioconductor-biocneighbors/meta.yaml b/recipes/bioconductor-biocneighbors/meta.yaml index 83929f7284c5a..ed7fc9a00824d 100644 --- a/recipes/bioconductor-biocneighbors/meta.yaml +++ b/recipes/bioconductor-biocneighbors/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 3cfb96ab6d42068c5b875fa6fcefd779 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -46,8 +46,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-3 + license: GPL-3-only summary: 'Nearest Neighbor Detection for Bioconductor Packages' description: 'Implements exact and approximate methods for nearest neighbor detection, in a framework that allows them to be easily switched within Bioconductor packages or workflows. Exact searches can be performed using the k-means for k-nearest neighbors algorithm or with vantage point trees. Approximate searches can be performed using the Annoy or HNSW libraries. Searching on either Euclidean or Manhattan distances is supported. Parallelization is achieved for all methods by using BiocParallel. Functions are also provided to search for all neighbors within a given distance.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' - +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} + - usegalaxy-eu:{{ name|lower }} diff --git a/recipes/bioconductor-biocparallel/meta.yaml b/recipes/bioconductor-biocparallel/meta.yaml index 08b5cb5440130..29a36dc28da04 100644 --- a/recipes/bioconductor-biocparallel/meta.yaml +++ b/recipes/bioconductor-biocparallel/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: a6a331ac453920e713836ddd0de38e25 build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -52,6 +52,8 @@ about: description: 'This package provides modified versions and novel implementation of functions for parallel evaluation, tailored to use with Bioconductor objects.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:biocparallel - doi:10.1214/14-STS476 diff --git a/recipes/bioconductor-biocsingular/meta.yaml b/recipes/bioconductor-biocsingular/meta.yaml index 984b889689b96..45a90cc65e135 100644 --- a/recipes/bioconductor-biocsingular/meta.yaml +++ b/recipes/bioconductor-biocsingular/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 9b4158e143f2cbefc140228c13090b35 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -56,8 +56,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-3 + license: GPL-3.0-only summary: 'Singular Value Decomposition for Bioconductor Packages' description: 'Implements exact and approximate methods for singular value decomposition and principal components analysis, in a framework that allows them to be easily switched within Bioconductor packages or workflows. Where possible, parallelization is achieved using the BiocParallel framework.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} diff --git a/recipes/bioconductor-bioqc/meta.yaml b/recipes/bioconductor-bioqc/meta.yaml index 1a1c326723051..857cec979ea61 100644 --- a/recipes/bioconductor-bioqc/meta.yaml +++ b/recipes/bioconductor-bioqc/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 9e9b338e001fdeb614091e4fa0cf50cd build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -41,11 +41,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>=3) + file LICENSE' + license: 'GPL-3.0-or-later + file LICENSE' summary: 'Detect tissue heterogeneity in expression profiles with gene sets' description: 'BioQC performs quality control of high-throughput expression data based on tissue gene signatures. It can detect tissue heterogeneity in gene expression data. The core algorithm is a Wilcoxon-Mann-Whitney test that is optimised for high performance.' license_file: LICENSE extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:bioqc - doi:10.1186/s12864-017-3661-2 diff --git a/recipes/bioconductor-biostrings/meta.yaml b/recipes/bioconductor-biostrings/meta.yaml index fc1ca74c09cdb..7edb20f32cd62 100644 --- a/recipes/bioconductor-biostrings/meta.yaml +++ b/recipes/bioconductor-biostrings/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 998fdd127f3613ca157917c847e22ac3 build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -50,6 +50,8 @@ about: summary: 'Efficient manipulation of biological strings' description: 'Memory efficient string containers, string matching algorithms, and other utilities, for fast manipulation of large biological sequences or sets of sequences.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:biostrings - doi:10.1038/nmeth.3252 diff --git a/recipes/bioconductor-biovizbase/meta.yaml b/recipes/bioconductor-biovizbase/meta.yaml index 47c84b5c85b74..441d67f46f122 100644 --- a/recipes/bioconductor-biovizbase/meta.yaml +++ b/recipes/bioconductor-biovizbase/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 8430b2a7913fdcfe27b9bf52ba9aff7e build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -76,6 +76,8 @@ about: summary: 'Basic graphic utilities for visualization of genomic data.' description: 'The biovizBase package is designed to provide a set of utilities, color schemes and conventions for genomic data. It serves as the base for various high-level packages for biological data visualization. This saves development effort and encourages consistency.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:biovizbase - doi:10.1038/nmeth.3252 diff --git a/recipes/bioconductor-bluster/meta.yaml b/recipes/bioconductor-bluster/meta.yaml index 2ba7e0232e16b..672e737816913 100644 --- a/recipes/bioconductor-bluster/meta.yaml +++ b/recipes/bioconductor-bluster/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: baf91e0700b1f49eb80522be9eb8204d build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -50,8 +50,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-3 + license: GPL-3.0-only summary: 'Clustering Algorithms for Bioconductor' description: 'Wraps common clustering algorithms in an easily extended S4 framework. Backends are implemented for hierarchical, k-means and graph-based clustering. Several utilities are also provided to compare and evaluate clustering results.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} diff --git a/recipes/bioconductor-bnbc/meta.yaml b/recipes/bioconductor-bnbc/meta.yaml index b60b06813c282..b54e5916ff3f5 100644 --- a/recipes/bioconductor-bnbc/meta.yaml +++ b/recipes/bioconductor-bnbc/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 201f8c694f60da1dfa8112194f29ca18 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -56,6 +56,7 @@ requirements: - {{ compiler('c') }} - {{ compiler('cxx') }} - make + - libcxx <17 # [osx] test: commands: - '$R -e "library(''{{ name }}'')"' @@ -65,3 +66,8 @@ about: summary: 'Bandwise normalization and batch correction of Hi-C data' description: 'Tools to normalize (several) Hi-C data from replicates.' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name}} diff --git a/recipes/bioconductor-bsseq/meta.yaml b/recipes/bioconductor-bsseq/meta.yaml index a707ba6ca86b9..70bb7392726a0 100644 --- a/recipes/bioconductor-bsseq/meta.yaml +++ b/recipes/bioconductor-bsseq/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 0fee416655d94a260bf4a613b4a6321e build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -85,6 +85,8 @@ about: summary: 'Analyze, manage and store bisulfite sequencing data' description: 'A collection of tools for analyzing and visualizing bisulfite sequencing data.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:bsseq parent_recipe: diff --git a/recipes/bioconductor-bus/meta.yaml b/recipes/bioconductor-bus/meta.yaml index d0b152aca8a53..ba7572a435302 100644 --- a/recipes/bioconductor-bus/meta.yaml +++ b/recipes/bioconductor-bus/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 788ab26ecf05f0df93667a7c37f564ff build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -38,11 +38,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-3 + license: 'GPL-3.0-only' summary: 'Gene network reconstruction' description: 'This package can be used to compute associations among genes (gene-networks) or between genes and some external traits (i.e. clinical).' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:bus - doi:10.1038/nmeth.3252 diff --git a/recipes/bioconductor-buscorrect/meta.yaml b/recipes/bioconductor-buscorrect/meta.yaml index 9507deeddc21a..6758c04e142f8 100644 --- a/recipes/bioconductor-buscorrect/meta.yaml +++ b/recipes/bioconductor-buscorrect/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 6d24bece1ac7982a2a157e5cccc01b99 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -38,8 +38,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>= 2)' + license: 'GPL-3.0-or-later' summary: 'Batch Effects Correction with Unknown Subtypes' description: 'High-throughput experimental data are accumulating exponentially in public databases. However, mining valid scientific discoveries from these abundant resources is hampered by technical artifacts and inherent biological heterogeneity. The former are usually termed "batch effects," and the latter is often modelled by "subtypes." The R package BUScorrect fits a Bayesian hierarchical model, the Batch-effects-correction-with-Unknown-Subtypes model (BUS), to correct batch effects in the presence of unknown subtypes. BUS is capable of (a) correcting batch effects explicitly, (b) grouping samples that share similar characteristics into subtypes, (c) identifying features that distinguish subtypes, and (d) enjoying a linear-order computation complexity.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} diff --git a/recipes/bioconductor-camera/meta.yaml b/recipes/bioconductor-camera/meta.yaml index db1fce9160d3f..420d36ddcad2f 100644 --- a/recipes/bioconductor-camera/meta.yaml +++ b/recipes/bioconductor-camera/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 1958cafb2c9dd92fa44a35cfc607f894 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -46,11 +46,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>= 2)' + license: 'GPL-3.0-or-later' summary: 'Collection of annotation related methods for mass spectrometry data' description: 'Annotation of peaklists generated by xcms, rule based annotation of isotopes and adducts, isotope validation, EIC correlation based tagging of unknown adducts and fragments' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:camera parent_recipe: diff --git a/recipes/bioconductor-cancer/build_failure.linux-64.yaml b/recipes/bioconductor-cancer/build_failure.linux-64.yaml deleted file mode 100644 index e0fc6e1bb323f..0000000000000 --- a/recipes/bioconductor-cancer/build_failure.linux-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: c8371d76491173a2c71d6f48bd4a6acaa34dccfc9e093843f1f28fd72dac3536 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - - bioconductor-gseabase >=1.62.0,<1.63.0 - - r-circlize - - r-httr - - r-r.oo - - r-survival - - bioconductor-phenotest >=1.48.0,<1.49.0 - - r-base 4.3.* - - r-r.methodss3 - - r-rpart - - r-runit - - bioconductor-genetclassifier >=1.40.0,<1.41.0 - - with channels: - - conda-forge - - bioconda - - defaults - - The reported errors are: - - Encountered problems while solving: - - - nothing provides icu 54.* needed by r-base-3.3.2-0 - - - - Leaving build/test directories: - Work: - /opt/conda/conda-bld/work - Test: - /opt/conda/conda-bld/test_tmp - Leaving build/test environments: - Test: - source activate /opt/conda/conda-bld/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl - Build: - source activate /opt/conda/conda-bld/_build_env - - - Traceback (most recent call last): - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 141, in mamba_get_install_actions - solution = solver.solve_for_action(_specs, prefix) - File "/opt/conda/lib/python3.8/site-packages/boa/core/solver.py", line 244, in solve_for_action - t = self.solve(specs) - File "/opt/conda/lib/python3.8/site-packages/boa/core/solver.py", line 234, in solve - raise RuntimeError("Solver could not find solution." error_string) - RuntimeError: Solver could not find solution.Mamba failed to solve: - - r-plyr - - r-formula - - r-tkrplot - - bioconductor-biobase >=2.60.0,<2.61.0 - - bioconductor-gseabase >=1.62.0,<1.63.0 - - r-circlize - - r-httr - - r-r.oo - - r-survival - - bioconductor-phenotest >=1.48.0,<1.49.0 - - r-base 4.3.* - - r-r.methodss3 - - r-rpart - - r-runit - - bioconductor-genetclassifier >=1.40.0,<1.41.0 - - with channels: - - conda-forge - - bioconda - - defaults - - The reported errors are: - - Encountered problems while solving: - - - nothing provides icu 54.* needed by r-base-3.3.2-0 - - - - During handling of the above exception, another exception occurred: - - Traceback (most recent call last): - File "/opt/conda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2038, in build - output_metas = expand_outputs([(m, need_source_download, need_reparse_in_env)]) - File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 787, in expand_outputs - for (output_dict, m) in deepcopy(_m).get_output_metadata_set(permit_unsatisfiable_variants=False): - File "/opt/conda/lib/python3.8/site-packages/conda_build/metadata.py", line 2524, in get_output_metadata_set - conda_packages = finalize_outputs_pass( - File "/opt/conda/lib/python3.8/site-packages/conda_build/metadata.py", line 884, in finalize_outputs_pass - fm = finalize_metadata( - File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 547, in finalize_metadata - build_unsat, host_unsat = add_upstream_pins(m, - File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 409, in add_upstream_pins - host_deps, host_unsat, extra_run_specs_from_host = _read_upstream_pin_files(m, 'host', - File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 374, in _read_upstream_pin_files - deps, actions, unsat = get_env_dependencies(m, env, m.config.variant, - File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 131, in get_env_dependencies - actions = environ.get_install_actions(tmpdir, tuple(dependencies), env, - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 150, in mamba_get_install_actions - raise err - conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("icu=54"), MatchSpec("r-base==3.3.2=0")} -# Last 100 lines of the build log. diff --git a/recipes/bioconductor-casper/meta.yaml b/recipes/bioconductor-casper/meta.yaml index 3142caba5767b..d76b691030941 100644 --- a/recipes/bioconductor-casper/meta.yaml +++ b/recipes/bioconductor-casper/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 4c9fc29e3b92d5b493953ea97436556a build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -65,13 +65,19 @@ requirements: - {{ compiler('c') }} - {{ compiler('cxx') }} - make + - libcxx <17 # [osx] test: commands: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>=2)' + license: 'GPL-3.0-or-later' summary: 'Characterization of Alternative Splicing based on Paired-End Reads' description: 'Infer alternative splicing from paired-end RNA-seq data. The model is based on counting paths across exons, rather than pairwise exon connections, and estimates the fragment size and start distributions non-parametrically, which improves estimation precision.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} diff --git a/recipes/bioconductor-ccfindr/build_failure.osx-64.yaml b/recipes/bioconductor-ccfindr/build_failure.osx-64.yaml index b9f2e4c996ebd..f96432c2ea200 100644 --- a/recipes/bioconductor-ccfindr/build_failure.osx-64.yaml +++ b/recipes/bioconductor-ccfindr/build_failure.osx-64.yaml @@ -1,6 +1,104 @@ -recipe_sha: 5498fb8d9b297e1029325eb0ae127f30bb8007014e41b5766032ddb76ce2674d # The commit at which this recipe failed to build. +recipe_sha: 284d8b5d60d001aad42c11aa0f88615ff84ff828b15ac43defb45c3fd2d1f416 # The commit at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -reason: |- - 11:58:17 BIOCONDA INFO (ERR) vbnmf_update.cpp:5:10: fatal error: 'gsl/gsl_sf_gamma.h' file not found 11:58:17 BIOCONDA INFO (ERR) #include -category: |- - compiler error +log: |- + F90=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + F95=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + FC=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + FC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + FFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-ccfindr-1.22.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + FORTRANFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-ccfindr-1.22.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + GFORTRAN=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-ccfindr-1.22.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-ccfindr-1.22.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-pie -headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-ccfindr-1.22.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-ccfindr-1.22.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + INFO: activate_clang_osx-64.sh made the following environmental changes: + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + -CC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + -CMAKE_ARGS=-DCMAKE_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + -OBJC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + -CXX_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + * installing to library /opt/mambaforge/envs/bioconda/conda-bld/bioconductor-ccfindr_1703622619603/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/R/library + * installing *source* package ccfindR ... + ** using staged installation + ** libs + dyld[12683]: Library not loaded: '@rpath/libclang-cpp.15.dylib' + Referenced from: '/opt/mambaforge/envs/bioconda/pkgs/clang-15-15.0.7-default_h6b1ee41_4/bin/clang-15' + Reason: tried: '/opt/mambaforge/envs/bioconda/pkgs/clang-15-15.0.7-default_h6b1ee41_4/bin/../lib/libclang-cpp.15.dylib' (no such file), '/opt/mambaforge/envs/bioconda/pkgs/clang-15-15.0.7-default_h6b1ee41_4/bin/../lib/libclang-cpp.15.dylib' (no such file), '/opt/mambaforge/envs/bioconda/pkgs/clang-15-15.0.7-default_h6b1ee41_4/bin/../lib/libclang-cpp.15.dylib' (no such file), '/opt/mambaforge/envs/bioconda/pkgs/clang-15-15.0.7-default_h6b1ee41_4/bin/../lib/libclang-cpp.15.dylib' (no such file), '/opt/mambaforge/envs/bioconda/conda-bld/bioconductor-ccfindr_1703622619603/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/R/lib/libclang-cpp.15.dylib' (no such file), '/opt/mambaforge/envs/bioconda/conda-bld/bioconductor-ccfindr_1703622619603/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/libclang-cpp.15.dylib' (no such file), '/Users/runner/miniforge3/conda-bld/r-base-split_1700316070281/_build_env/lib/jvm/lib/server/libclang-cpp.15.dylib' (no such file), '/opt/mambaforge/envs/bioconda/conda-bld/bioconductor-ccfindr_1703622619603/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/R/lib/libclang-cpp.15.dylib' (no such file), '/opt/mambaforge/envs/bioconda/conda-bld/bioconductor-ccfindr_1703622619603/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/libclang-cpp.15.dylib' (no such file), '/Users/runner/miniforge3/conda-bld/r-base-split_1700316070281/_build_env/lib/jvm/lib/server/libclang-cpp.15.dylib' (no such file) + using C compiler: NA + using C11 + using SDK: + x86_64-apple-darwin13.4.0-clang -std=gnu11 -I"$PREFIX/lib/R/include" -DNDEBUG -I'$PREFIX/lib/R/library/Rcpp/include' -I'$PREFIX/lib/R/library/RcppEigen/include' -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I$PREFIX/include -fPIC -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=/Users/runner/miniforge3/conda-bld/r-base-split_1700316070281/work=/usr/local/src/conda/r-base-4.3.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c RcppExports.cpp -o RcppExports.o + dyld[12689]: Library not loaded: '@rpath/libclang-cpp.15.dylib' + Referenced from: '/opt/mambaforge/envs/bioconda/pkgs/clang-15-15.0.7-default_h6b1ee41_4/bin/clang-15' + Reason: tried: '/opt/mambaforge/envs/bioconda/pkgs/clang-15-15.0.7-default_h6b1ee41_4/bin/../lib/libclang-cpp.15.dylib' (no such file), '/opt/mambaforge/envs/bioconda/pkgs/clang-15-15.0.7-default_h6b1ee41_4/bin/../lib/libclang-cpp.15.dylib' (no such file), '/opt/mambaforge/envs/bioconda/pkgs/clang-15-15.0.7-default_h6b1ee41_4/bin/../lib/libclang-cpp.15.dylib' (no such file), '/opt/mambaforge/envs/bioconda/pkgs/clang-15-15.0.7-default_h6b1ee41_4/bin/../lib/libclang-cpp.15.dylib' (no such file), '/opt/mambaforge/envs/bioconda/conda-bld/bioconductor-ccfindr_1703622619603/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/R/lib/libclang-cpp.15.dylib' (no such file), '/opt/mambaforge/envs/bioconda/conda-bld/bioconductor-ccfindr_1703622619603/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/libclang-cpp.15.dylib' (no such file), '/Users/runner/miniforge3/conda-bld/r-base-split_1700316070281/_build_env/lib/jvm/lib/server/libclang-cpp.15.dylib' (no such file), '/opt/mambaforge/envs/bioconda/conda-bld/bioconductor-ccfindr_1703622619603/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/R/lib/libclang-cpp.15.dylib' (no such file), '/opt/mambaforge/envs/bioconda/conda-bld/bioconductor-ccfindr_1703622619603/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/libclang-cpp.15.dylib' (no such file), '/Users/runner/miniforge3/conda-bld/r-base-split_1700316070281/_build_env/lib/jvm/lib/server/libclang-cpp.15.dylib' (no such file) + make: *** [/opt/mambaforge/envs/bioconda/conda-bld/bioconductor-ccfindr_1703622619603/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/R/etc/Makeconf:200: RcppExports.o] Abort trap: 6 + ERROR: compilation failed for package ccfindR + * removing /opt/mambaforge/envs/bioconda/conda-bld/bioconductor-ccfindr_1703622619603/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/R/library/ccfindR + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in + sys.exit(main()) + File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main + call_conda_build(action, config) + File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build + result = api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree + packages_from_this = build(metadata, stats, + File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build + utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, + File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/bioconductor-ccfindr_1703622619603/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/bioconductor-ccfindr/meta.yaml b/recipes/bioconductor-ccfindr/meta.yaml index f7166effaa037..885a9ad43f114 100644 --- a/recipes/bioconductor-ccfindr/meta.yaml +++ b/recipes/bioconductor-ccfindr/meta.yaml @@ -19,6 +19,7 @@ build: - lib/ run_exports: '{{ pin_subpackage("bioconductor-ccfindr", max_pin="x.x") }}' # Suggests: BiocStyle, knitr, rmarkdown +# SystemRequirements: gsl requirements: host: - 'bioconductor-s4vectors >=0.40.0,<0.41.0' @@ -37,6 +38,7 @@ requirements: - r-rtsne - libblas - liblapack + - gsl run: - 'bioconductor-s4vectors >=0.40.0,<0.41.0' - 'bioconductor-singlecellexperiment >=1.24.0,<1.25.0' @@ -52,6 +54,7 @@ requirements: - 'r-rdpack >=0.7' - r-rmpi - r-rtsne + - gsl build: - {{ compiler('c') }} - {{ compiler('cxx') }} diff --git a/recipes/bioconductor-ccpromise/build_failure.linux-64.yaml b/recipes/bioconductor-ccpromise/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..72fc0dc3a0c09 --- /dev/null +++ b/recipes/bioconductor-ccpromise/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 722fb617600a55303b535b784f5387ef700db6e8486e427c054d57fb5deff1b6 # The commit at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + conda-forge/linux-64 100%[2K[1A[2K[0G[] 5.1s + conda-forge/linux-64 100%[2K[1A[2K[0G[] 5.2s + conda-forge/linux-64 100%[2K[1A[2K[0G[] 5.3s + conda-forge/linux-64 100%[2K[1A[2K[0G[] 5.4s + [2K[1A[2K[0Gconda-forge/linux-64 + [?25h[34mReloading output folder: [0m[34m/opt/conda/[0m[34mconda-bld[0m + [?25l[2K[0G[] 0.0s + [2K[1A[2K[0Gopt/conda/conda-bld/linux-64 ??.?MB @ ??.?MB/s 0 failed 0.0s + opt/conda/conda-bld/noarch 127.0 B @ 2.2MB/s 0.0s + [?25h[34mReloading output folder: [0m[34m/opt/conda/[0m[34mconda-bld[0m + [?25l[2K[0G[] 0.0s + [2K[1A[2K[0Gopt/conda/conda-bld/linux-64 ??.?MB @ ??.?MB/s 0 failed 0.0s + opt/conda/conda-bld/noarch 127.0 B @ 2.1MB/s 0.0s + [?25hMamba failed to solve: + - r-base 4.3.* + - r-ccp + - bioconductor-biobase >=2.62.0,<2.63.0 + - bioconductor-gseabase >=1.64.0,<1.65.0 + - bioconductor-promise >=1.54.0,<1.55.0 + + with channels: + - file:///opt/host-conda-bld + - conda-forge + - bioconda + - defaults + + The reported errors are: + - Encountered problems while solving: + - - nothing provides requested bioconductor-promise >=1.54.0,<1.55.0 + - + + Leaving build/test directories: + Work: + /opt/conda/conda-bld/work + Test: + /opt/conda/conda-bld/test_tmp + Leaving build/test environments: + Test: + source activate /opt/conda/conda-bld/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl + Build: + source activate /opt/conda/conda-bld/_build_env + + + Traceback (most recent call last): + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 141, in mamba_get_install_actions + solution = solver.solve_for_action(_specs, prefix) + File "/opt/conda/lib/python3.8/site-packages/boa/core/solver.py", line 244, in solve_for_action + t = self.solve(specs) + File "/opt/conda/lib/python3.8/site-packages/boa/core/solver.py", line 234, in solve + raise RuntimeError("Solver could not find solution." error_string) + RuntimeError: Solver could not find solution.Mamba failed to solve: + - r-base 4.3.* + - r-ccp + - bioconductor-biobase >=2.62.0,<2.63.0 + - bioconductor-gseabase >=1.64.0,<1.65.0 + - bioconductor-promise >=1.54.0,<1.55.0 + + with channels: + - file:///opt/host-conda-bld + - conda-forge + - bioconda + - defaults + + The reported errors are: + - Encountered problems while solving: + - - nothing provides requested bioconductor-promise >=1.54.0,<1.55.0 + - + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/bin/conda-mambabuild", line 10, in + sys.exit(main()) + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main + call_conda_build(action, config) + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build + result = api.build( + File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build + return build_tree( + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree + packages_from_this = build(metadata, stats, + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2038, in build + output_metas = expand_outputs([(m, need_source_download, need_reparse_in_env)]) + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 787, in expand_outputs + for (output_dict, m) in deepcopy(_m).get_output_metadata_set(permit_unsatisfiable_variants=False): + File "/opt/conda/lib/python3.8/site-packages/conda_build/metadata.py", line 2524, in get_output_metadata_set + conda_packages = finalize_outputs_pass( + File "/opt/conda/lib/python3.8/site-packages/conda_build/metadata.py", line 884, in finalize_outputs_pass + fm = finalize_metadata( + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 547, in finalize_metadata + build_unsat, host_unsat = add_upstream_pins(m, + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 409, in add_upstream_pins + host_deps, host_unsat, extra_run_specs_from_host = _read_upstream_pin_files(m, 'host', + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 374, in _read_upstream_pin_files + deps, actions, unsat = get_env_dependencies(m, env, m.config.variant, + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 131, in get_env_dependencies + actions = environ.get_install_actions(tmpdir, tuple(dependencies), env, + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 150, in mamba_get_install_actions + raise err + conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("bioconductor-promise[version='>=1.54.0,<1.55.0']")} +# Last 100 lines of the build log. diff --git a/recipes/bioconductor-cdi/build.sh b/recipes/bioconductor-cdi/build.sh new file mode 100644 index 0000000000000..c1d13421f5f1e --- /dev/null +++ b/recipes/bioconductor-cdi/build.sh @@ -0,0 +1,11 @@ +#!/bin/bash +mv DESCRIPTION DESCRIPTION.old +grep -v '^Priority: ' DESCRIPTION.old > DESCRIPTION +mkdir -p ~/.R +echo -e "CC=$CC +FC=$FC +CXX=$CXX +CXX98=$CXX +CXX11=$CXX +CXX14=$CXX" > ~/.R/Makevars +$R CMD INSTALL --build . \ No newline at end of file diff --git a/recipes/bioconductor-cdi/meta.yaml b/recipes/bioconductor-cdi/meta.yaml new file mode 100644 index 0000000000000..10184abeabdbc --- /dev/null +++ b/recipes/bioconductor-cdi/meta.yaml @@ -0,0 +1,55 @@ +{% set version = "1.0.2" %} +{% set name = "CDI" %} +{% set bioc = "3.18" %} + +package: + name: 'bioconductor-{{ name|lower }}' + version: '{{ version }}' +source: + url: + - 'https://bioconductor.org/packages/{{ bioc }}/bioc/src/contrib/{{ name }}_{{ version }}.tar.gz' + - 'https://bioconductor.org/packages/{{ bioc }}/bioc/src/contrib/Archive/{{ name }}/{{ name }}_{{ version }}.tar.gz' + - 'https://bioarchive.galaxyproject.org/{{ name }}_{{ version }}.tar.gz' + - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' + md5: 64ebd520b0ba4613c3bddf06bb82dbc0 +build: + number: 0 + rpaths: + - lib/R/lib/ + - lib/ + run_exports: '{{ pin_subpackage("bioconductor-cdi", max_pin="x.x") }}' + noarch: generic +# Suggests: knitr, rmarkdown, RUnit, BiocGenerics, magick, BiocStyle +requirements: + host: + - 'bioconductor-biocparallel >=1.36.0,<1.37.0' + - 'bioconductor-singlecellexperiment >=1.24.0,<1.25.0' + - 'bioconductor-summarizedexperiment >=1.32.0,<1.33.0' + - r-base + - r-ggplot2 + - r-ggsci + - r-matrixstats + - r-reshape2 + - r-seurat + - r-seuratobject + run: + - 'bioconductor-biocparallel >=1.36.0,<1.37.0' + - 'bioconductor-singlecellexperiment >=1.24.0,<1.25.0' + - 'bioconductor-summarizedexperiment >=1.32.0,<1.33.0' + - r-base + - r-ggplot2 + - r-ggsci + - r-matrixstats + - r-reshape2 + - r-seurat + - r-seuratobject +test: + commands: + - '$R -e "library(''{{ name }}'')"' +about: + home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' + license: 'GPL-3 + file LICENSE' + summary: 'Clustering Deviation Index (CDI)' + description: 'Single-cell RNA-sequencing (scRNA-seq) is widely used to explore cellular variation. The analysis of scRNA-seq data often starts from clustering cells into subpopulations. This initial step has a high impact on downstream analyses, and hence it is important to be accurate. However, there have not been unsupervised metric designed for scRNA-seq to evaluate clustering performance. Hence, we propose clustering deviation index (CDI), an unsupervised metric based on the modeling of scRNA-seq UMI counts to evaluate clustering of cells.' + license_file: LICENSE + diff --git a/recipes/bioconductor-cellhashr/meta.yaml b/recipes/bioconductor-cellhashr/meta.yaml new file mode 100644 index 0000000000000..86c58266837e7 --- /dev/null +++ b/recipes/bioconductor-cellhashr/meta.yaml @@ -0,0 +1,82 @@ +{% set version = "1.04" %} +{% set sha256 = "a017cf985e78c39c899c5e2d43a7a1ff940f61c79145b6c4b1112e9bf8433de1" %} + +package: + name: bioconductor-cellhashr + version: {{version}} + +source: + url: https://github.com/BimberLab/cellhashR/archive/refs/tags/{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + noarch: generic + script: R CMD INSTALL --build . + run_exports: + - {{ pin_subpackage('bioconductor-cellhashr', max_pin="x") }} + rpaths: + - lib/R/lib/ + - lib/ + +requirements: + host: + - r-base + - r-essentials + - r-devtools + - r-rcpp + - r-rcpparmadillo + - r-rcppeigen + - r-rcppparallel + - r-rcppprogress + - bioconductor-preprocesscore + - r-pdftools + - bioconductor-demuxmix + - r-magick + - bioconductor-s4vectors + - bioconductor-dropletutils + - bioconductor-singlecellexperiment + - r-biocmanager + - r-seurat + - r-rmdformats + - r-ggforce + - r-reticulate + - r-ggextra + - r-ggthemes + - r-patchwork + - r-egg + - bioconductor-nempi + run: + - r-base + - r-essentials + - r-devtools + - r-rcpp + - r-rcpparmadillo + - r-rcppeigen + - r-rcppparallel + - r-rcppprogress + - bioconductor-preprocesscore + - bioconductor-dropletutils + - bioconductor-demuxmix + - r-seurat + - r-seuratobject + - r-rmdformats + - r-ggforce + - r-reticulate + - r-ggextra + - r-ggthemes + - r-patchwork + - r-egg + - bioconductor-nempi + +test: + commands: + - $R -e "library('cellhashR')" # [not win] + - "\"%R%\" -e \"library('cellhashR')\"" # [win] + +about: + home: https://github.com/BimberLab/cellhashR + license: MIT + license_family: MIT + summary: "An R package designed to demultiplex cell hashing data.\n More information in https://bimberlab.github.io/cellhashR/Lab B (2024). \n cellhashR: A Package for Demultiplexing Cell Hashing Data.\n" + dev_url: https://github.com/BimberLab/cellhashR diff --git a/recipes/bioconductor-cepo/build_failure.linux-64.yaml b/recipes/bioconductor-cepo/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..5ac0014c0d22a --- /dev/null +++ b/recipes/bioconductor-cepo/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: b904f129759930c0079c8f1858105b52b54ce300d7c837bd4c417f305be8d2d0 # The commit at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + yaml: 0.2.5-h7f98852_2 conda-forge + yq: 3.2.3-pyhd8ed1ab_0 conda-forge + zlib: 1.2.13-hd590300_5 conda-forge + zstd: 1.5.5-hfc55251_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + [34mReloading output folder: [0m[34m/opt/conda/[0m[34mconda-bld[0m + [?25l[2K[0G[] 0.0s + [2K[1A[2K[0Gopt/conda/conda-bld/linux-64 129.0 B @ 2.1MB/s 0.0s + opt/conda/conda-bld/noarch 127.0 B @ 2.4MB/s 0.0s + [?25h[34mReloading output folder: [0m[34m/opt/conda/[0m[34mconda-bld[0m + [?25l[2K[0G[] 0.0s + [2K[1A[2K[0Gopt/conda/conda-bld/linux-64 129.0 B @ 2.0MB/s 0.0s + opt/conda/conda-bld/noarch 127.0 B @ 2.9MB/s 0.0s + [?25h + ## Package Plan ## + + environment location: /opt/conda/conda-bld/bioconductor-cepo_1703278295981/_build_env + + + Source cache directory is: /opt/conda/conda-bld/src_cache + INFO:conda_build.source:Source cache directory is: /opt/conda/conda-bld/src_cache + Downloading source to cache: Cepo_1.8.0_9eee9f73ec.tar.gz + INFO:conda_build.source:Downloading source to cache: Cepo_1.8.0_9eee9f73ec.tar.gz + Downloading https://bioconductor.org/packages/3.18/bioc/src/contrib/Cepo_1.8.0.tar.gz + INFO:conda_build.source:Downloading https://bioconductor.org/packages/3.18/bioc/src/contrib/Cepo_1.8.0.tar.gz + Success + INFO:conda_build.source:Success + Extracting download + source tree in: /opt/conda/conda-bld/bioconductor-cepo_1703278295981/work + export PREFIX=/opt/conda/conda-bld/bioconductor-cepo_1703278295981/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place + export BUILD_PREFIX=/opt/conda/conda-bld/bioconductor-cepo_1703278295981/_build_env + export SRC_DIR=/opt/conda/conda-bld/bioconductor-cepo_1703278295981/work + During startup - Warning message: + Setting LC_TIME failed, using "C" + * installing to library /opt/conda/conda-bld/bioconductor-cepo_1703278295981/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/R/library + * installing *source* package Cepo ... + ** using staged installation + ** R + ** data + ** inst + ** byte-compile and prepare package for lazy loading + During startup - Warning message: + Setting LC_TIME failed, using "C" + ** help + *** installing help indices + *** copying figures + ** building package indices + During startup - Warning message: + Setting LC_TIME failed, using "C" + ** installing vignettes + ** testing if installed package can be loaded from temporary location + During startup - Warning message: + Setting LC_TIME failed, using "C" + ** testing if installed package can be loaded from final location + During startup - Warning message: + Setting LC_TIME failed, using "C" + ** testing if installed package keeps a record of temporary installation path + * creating tarball + packaged installation of Cepo as Cepo_1.8.0_R_x86_64-conda-linux-gnu.tar.gz + * DONE (Cepo) + + Resource usage statistics from building bioconductor-cepo: + Process count: 6 + CPU time: Sys=0:00:02.4, User=0:00:20.2 + Memory: 733.9M + Disk usage: 6.8K + Time elapsed: 0:00:27.8 + + + Packaging bioconductor-cepo + INFO:conda_build.build:Packaging bioconductor-cepo + Packaging bioconductor-cepo-1.8.0-r43hdfd78af_0 + INFO:conda_build.build:Packaging bioconductor-cepo-1.8.0-r43hdfd78af_0 + number of files: 30 + Fixing permissions + Traceback (most recent call last): + File "/opt/conda/bin/conda-mambabuild", line 10, in + sys.exit(main()) + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main + call_conda_build(action, config) + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build + result = api.build( + File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build + return build_tree( + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree + packages_from_this = build(metadata, stats, + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2358, in build + newly_built_packages = bundlers[pkg_type](output_d, m, env, stats) + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 1672, in bundle_conda + output['checksums'] = create_info_files(metadata, replacements, files, prefix=metadata.config.host_prefix) + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 1272, in create_info_files + copy_license(m) + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 762, in copy_license + generic_copy(m, "license", "license_file") + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 800, in generic_copy + raise ValueError( + ValueError: License file given in about/license_file (/opt/recipe/LICENSE) does not exist in source root dir or in recipe root dir (with meta.yaml) +# Last 100 lines of the build log. diff --git a/recipes/bioconductor-chemmineob/build.sh b/recipes/bioconductor-chemmineob/build.sh index c1d13421f5f1e..ae69fcc11a60d 100644 --- a/recipes/bioconductor-chemmineob/build.sh +++ b/recipes/bioconductor-chemmineob/build.sh @@ -7,5 +7,5 @@ FC=$FC CXX=$CXX CXX98=$CXX CXX11=$CXX -CXX14=$CXX" > ~/.R/Makevars +CXX14=$CXX -I$PREFIX/include/openbabel3 -I$PREFIX/include/eigen3 -L$PREFIX/lib" > ~/.R/Makevars $R CMD INSTALL --build . \ No newline at end of file diff --git a/recipes/bioconductor-chemmineob/meta.yaml b/recipes/bioconductor-chemmineob/meta.yaml index bcd3d8d448025..7ff9ba625d8d5 100644 --- a/recipes/bioconductor-chemmineob/meta.yaml +++ b/recipes/bioconductor-chemmineob/meta.yaml @@ -12,6 +12,8 @@ source: - 'https://bioarchive.galaxyproject.org/{{ name }}_{{ version }}.tar.gz' - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 5bd759ca398ffb70214a8076028bf0b2 + patches: + - patch build: number: 0 rpaths: diff --git a/recipes/bioconductor-chemminer/meta.yaml b/recipes/bioconductor-chemminer/meta.yaml index dec3edb5902fc..bd56196b89d1a 100644 --- a/recipes/bioconductor-chemminer/meta.yaml +++ b/recipes/bioconductor-chemminer/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 8dd1886811bdc4ac23c24fad60a9b238 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -70,6 +70,8 @@ about: summary: 'Cheminformatics Toolkit for R' description: 'ChemmineR is a cheminformatics package for analyzing drug-like small molecule data in R. Its latest version contains functions for efficient processing of large numbers of molecules, physicochemical/structural property predictions, structural similarity searching, classification and clustering of compound libraries with a wide spectrum of algorithms. In addition, it offers visualization functions for compound clustering results and chemical structures.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:chemminer parent_recipe: diff --git a/recipes/bioconductor-chipcomp/meta.yaml b/recipes/bioconductor-chipcomp/meta.yaml index df3945bf8cc83..8224feac33b41 100644 --- a/recipes/bioconductor-chipcomp/meta.yaml +++ b/recipes/bioconductor-chipcomp/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 5294eab6ada6b66e52935843dd9acc6b build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -54,11 +54,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL + license: GPL-3.0-only summary: 'Quantitative comparison of multiple ChIP-seq datasets' description: 'ChIPComp detects differentially bound sharp binding sites across multiple conditions considering matching control.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:chipcomp parent_recipe: diff --git a/recipes/bioconductor-chipseq/meta.yaml b/recipes/bioconductor-chipseq/meta.yaml index 9b132ed73d2bc..1ffd42a2f9cbc 100644 --- a/recipes/bioconductor-chipseq/meta.yaml +++ b/recipes/bioconductor-chipseq/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 5cf8ab297fc95d0a36b4359488c50358 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -50,6 +50,8 @@ about: summary: 'chipseq: A package for analyzing chipseq data' description: 'Tools for helping process short read data for chipseq experiments.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:chipseq - doi:10.1038/nmeth.3252 diff --git a/recipes/bioconductor-chipseqr/meta.yaml b/recipes/bioconductor-chipseqr/meta.yaml index c6349e5dc015c..659339f6dc305 100644 --- a/recipes/bioconductor-chipseqr/meta.yaml +++ b/recipes/bioconductor-chipseqr/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 8696d6a783d26d8c6225ec4e3f294110 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -51,8 +51,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>= 2)' + license: 'GPL-3.0-or-later' summary: 'Identifying Protein Binding Sites in High-Throughput Sequencing Data' description: 'ChIPseqR identifies protein binding sites from ChIP-seq and nucleosome positioning experiments. The model used to describe binding events was developed to locate nucleosomes but should flexible enough to handle other types of experiments as well.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} diff --git a/recipes/bioconductor-chipxpress/build_failure.linux-64.yaml b/recipes/bioconductor-chipxpress/build_failure.linux-64.yaml deleted file mode 100644 index 553b01a33d979..0000000000000 --- a/recipes/bioconductor-chipxpress/build_failure.linux-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: a49a4fee0ecc177366a04192b85dfff0fac7cc562b60204a83649bffef6c0934 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |- - conda-forge/linux-64 100%[2K[1A[2K[0Gconda-forge/linux-64 - [?25h[34mReloading output folder: [0m[34m/opt/conda/[0m[34mconda-bld[0m - [?25l[2K[0G[] 0.0s - [2K[1A[2K[0Gopt/conda/conda-bld/linux-64 ??.?MB @ ??.?MB/s 0 failed 0.0s - opt/conda/conda-bld/noarch 127.0 B @ 992.2kB/s 0.0s - [?25h[34mReloading output folder: [0m[34m/opt/conda/[0m[34mconda-bld[0m - [?25l[2K[0G[] 0.0s - [2K[1A[2K[0Gopt/conda/conda-bld/linux-64 ??.?MB @ ??.?MB/s 0 failed 0.0s - opt/conda/conda-bld/noarch 127.0 B @ 2.3MB/s 0.0s - [?25hMamba failed to solve: - - bioconductor-biobase >=2.60.0,<2.61.0 - - r-bigmemory - - bioconductor-frma >=1.52.0,<1.53.0 - - r-base 4.3.* - - bioconductor-chipxpressdata >=1.38.0,<1.39.0 - - bioconductor-affy >=1.78.0,<1.79.0 - - bioconductor-geoquery >=2.68.0,<2.69.0 - - r-biganalytics - - with channels: - - conda-forge - - bioconda - - defaults - - The reported errors are: - - Encountered problems while solving: - - - nothing provides requested bioconductor-chipxpressdata >=1.38.0,<1.39.0 - - - - Leaving build/test directories: - Work: - /opt/conda/conda-bld/work - Test: - /opt/conda/conda-bld/test_tmp - Leaving build/test environments: - Test: - source activate /opt/conda/conda-bld/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl - Build: - source activate /opt/conda/conda-bld/_build_env - - - Traceback (most recent call last): - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 141, in mamba_get_install_actions - solution = solver.solve_for_action(_specs, prefix) - File "/opt/conda/lib/python3.8/site-packages/boa/core/solver.py", line 244, in solve_for_action - t = self.solve(specs) - File "/opt/conda/lib/python3.8/site-packages/boa/core/solver.py", line 234, in solve - raise RuntimeError("Solver could not find solution." error_string) - RuntimeError: Solver could not find solution.Mamba failed to solve: - - bioconductor-biobase >=2.60.0,<2.61.0 - - r-bigmemory - - bioconductor-frma >=1.52.0,<1.53.0 - - r-base 4.3.* - - bioconductor-chipxpressdata >=1.38.0,<1.39.0 - - bioconductor-affy >=1.78.0,<1.79.0 - - bioconductor-geoquery >=2.68.0,<2.69.0 - - r-biganalytics - - with channels: - - conda-forge - - bioconda - - defaults - - The reported errors are: - - Encountered problems while solving: - - - nothing provides requested bioconductor-chipxpressdata >=1.38.0,<1.39.0 - - - - During handling of the above exception, another exception occurred: - - Traceback (most recent call last): - File "/opt/conda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2038, in build - output_metas = expand_outputs([(m, need_source_download, need_reparse_in_env)]) - File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 787, in expand_outputs - for (output_dict, m) in deepcopy(_m).get_output_metadata_set(permit_unsatisfiable_variants=False): - File "/opt/conda/lib/python3.8/site-packages/conda_build/metadata.py", line 2524, in get_output_metadata_set - conda_packages = finalize_outputs_pass( - File "/opt/conda/lib/python3.8/site-packages/conda_build/metadata.py", line 884, in finalize_outputs_pass - fm = finalize_metadata( - File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 547, in finalize_metadata - build_unsat, host_unsat = add_upstream_pins(m, - File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 409, in add_upstream_pins - host_deps, host_unsat, extra_run_specs_from_host = _read_upstream_pin_files(m, 'host', - File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 374, in _read_upstream_pin_files - deps, actions, unsat = get_env_dependencies(m, env, m.config.variant, - File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 131, in get_env_dependencies - actions = environ.get_install_actions(tmpdir, tuple(dependencies), env, - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 150, in mamba_get_install_actions - raise err - conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("bioconductor-chipxpressdata[version='>=1.38.0,<1.39.0']")} -# Last 100 lines of the build log. diff --git a/recipes/bioconductor-chromdraw/meta.yaml b/recipes/bioconductor-chromdraw/meta.yaml index e92f8c236b474..8a7c74b6822e0 100644 --- a/recipes/bioconductor-chromdraw/meta.yaml +++ b/recipes/bioconductor-chromdraw/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: a2cb0f03cdde9853f68662b1783a2edb build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -39,11 +39,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-3 + license: GPL-3.0-only summary: 'chromDraw is a R package for drawing the schemes of karyotypes in the linear and circular fashion.' description: 'ChromDraw is a R package for drawing the schemes of karyotype(s) in the linear and circular fashion. It is possible to visualized cytogenetic marsk on the chromosomes. This tool has own input data format. Input data can be imported from the GenomicRanges data structure. This package can visualized the data in the BED file format. Here is requirement on to the first nine fields of the BED format. Output files format are *.eps and *.svg.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:chromdraw parent_recipe: diff --git a/recipes/bioconductor-citefuse/meta.yaml b/recipes/bioconductor-citefuse/meta.yaml index b64daab89d292..c46d7faacc243 100644 --- a/recipes/bioconductor-citefuse/meta.yaml +++ b/recipes/bioconductor-citefuse/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: d612b20352aa6e753d90baa4f24b058f build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -81,8 +81,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-3 + license: GPL-3.0-only summary: 'CiteFuse: multi-modal analysis of CITE-seq data' description: 'CiteFuse pacakage implements a suite of methods and tools for CITE-seq data from pre-processing to integrative analytics, including doublet detection, network-based modality integration, cell type clustering, differential RNA and protein expression analysis, ADT evaluation, ligand-receptor interaction analysis, and interactive web-based visualisation of the analyses.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} diff --git a/recipes/bioconductor-clipper/meta.yaml b/recipes/bioconductor-clipper/meta.yaml index 63e140182b6f3..acc5b59f261e9 100644 --- a/recipes/bioconductor-clipper/meta.yaml +++ b/recipes/bioconductor-clipper/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 551f3c6ad3a56f2a70439f48a4aef431 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -52,8 +52,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: AGPL-3 + license: AGPL-3.0-only summary: 'Gene Set Analysis Exploiting Pathway Topology' description: 'Implements topological gene set analysis using a two-step empirical approach. It exploits graph decomposition theory to create a junction tree and reconstruct the most relevant signal path. In the first step clipper selects significant pathways according to statistical tests on the means and the concentration matrices of the graphs derived from pathway topologies. Then, it "clips" the whole pathway identifying the signal paths having the greatest association with a specific phenotype.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/AGPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} diff --git a/recipes/bioconductor-clusterexperiment/meta.yaml b/recipes/bioconductor-clusterexperiment/meta.yaml index 82eb2c72a6339..3df5693d3099b 100644 --- a/recipes/bioconductor-clusterexperiment/meta.yaml +++ b/recipes/bioconductor-clusterexperiment/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 0a4bac02f2b310d941afe62b329e7eee build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -89,3 +89,8 @@ about: summary: 'Compare Clusterings for Single-Cell Sequencing' description: 'Provides functionality for running and comparing many different clusterings of single-cell sequencing data or other large mRNA Expression data sets.' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} \ No newline at end of file diff --git a/recipes/bioconductor-cnanorm/meta.yaml b/recipes/bioconductor-cnanorm/meta.yaml index 0c80a7be46633..8a3abf24ba8c5 100644 --- a/recipes/bioconductor-cnanorm/meta.yaml +++ b/recipes/bioconductor-cnanorm/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: b9d0f995f3466875285a152415863842 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -36,11 +36,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-2 + license: 'GPL-2-only' summary: 'A normalization method for Copy Number Aberration in cancer samples' description: 'Performs ratio, GC content correction and normalization of data obtained using low coverage (one read every 100-10,000 bp) high troughput sequencing. It performs a "discrete" normalization looking for the ploidy of the genome. It will also provide tumour content if at least two ploidy states can be found.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-2' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:cnanorm parent_recipe: diff --git a/recipes/bioconductor-cner/meta.yaml b/recipes/bioconductor-cner/meta.yaml index 107812a815c75..902b5e1f637a4 100644 --- a/recipes/bioconductor-cner/meta.yaml +++ b/recipes/bioconductor-cner/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 56fdc5f3323b1f3efbb8d85584ff75d2 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -72,11 +72,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL-2 | file LICENSE' + license: 'GPL-2.0-only | file LICENSE' summary: 'CNE Detection and Visualization' description: 'Large-scale identification and advanced visualization of sets of conserved noncoding elements.' license_file: LICENSE extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:cner - doi:10.1038/nmeth.3252 diff --git a/recipes/bioconductor-cntools/meta.yaml b/recipes/bioconductor-cntools/meta.yaml index f19724490eaa7..45b503ee4cf32 100644 --- a/recipes/bioconductor-cntools/meta.yaml +++ b/recipes/bioconductor-cntools/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: e3ce148937711a84dadf67b5f09c5373 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -35,11 +35,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: LGPL + license: LGPL-3.0-only summary: 'Convert segment data into a region by sample matrix to allow for other high level computational analyses.' description: 'This package provides tools to convert the output of segmentation analysis using DNAcopy to a matrix structure with overlapping segments as rows and samples as columns so that other computational analyses can be applied to segmented data' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/LGPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:cntools - doi:10.1038/nmeth.3252 diff --git a/recipes/bioconductor-cocoa/meta.yaml b/recipes/bioconductor-cocoa/meta.yaml index 6a4528f450642..f61f932994f3b 100644 --- a/recipes/bioconductor-cocoa/meta.yaml +++ b/recipes/bioconductor-cocoa/meta.yaml @@ -58,4 +58,3 @@ about: summary: 'Coordinate Covariation Analysis' description: 'COCOA is a method for understanding epigenetic variation among samples. COCOA can be used with epigenetic data that includes genomic coordinates and an epigenetic signal, such as DNA methylation and chromatin accessibility data. To describe the method on a high level, COCOA quantifies inter-sample variation with either a supervised or unsupervised technique then uses a database of "region sets" to annotate the variation among samples. A region set is a set of genomic regions that share a biological annotation, for instance transcription factor (TF) binding regions, histone modification regions, or open chromatin regions. COCOA can identify region sets that are associated with epigenetic variation between samples and increase understanding of variation in your data.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' - diff --git a/recipes/bioconductor-cohcap/meta.yaml b/recipes/bioconductor-cohcap/meta.yaml index eaafa323c174f..6e92de0db8803 100644 --- a/recipes/bioconductor-cohcap/meta.yaml +++ b/recipes/bioconductor-cohcap/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 6c7c601f8c8aee626d2fa1a6dd306dca build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -51,11 +51,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-3 + license: GPL-3.0-only summary: 'CpG Island Analysis Pipeline for Illumina Methylation Array and Targeted BS-Seq Data' description: 'COHCAP (pronounced "co-cap") provides a pipeline to analyze single-nucleotide resolution methylation data (Illumina 450k/EPIC methylation array, targeted BS-Seq, etc.). It provides differential methylation for CpG Sites, differential methylation for CpG Islands, integration with gene expression data, with visualizaton options. Discussion Group: https://sourceforge.net/p/cohcap/discussion/bioconductor/' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:cohcap parent_recipe: diff --git a/recipes/bioconductor-compass/meta.yaml b/recipes/bioconductor-compass/meta.yaml index 2948a0f2be468..7b4d01bdbc668 100644 --- a/recipes/bioconductor-compass/meta.yaml +++ b/recipes/bioconductor-compass/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 6ab4a9ce40637244377f77b7baaecc38 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -75,6 +75,8 @@ about: summary: 'Combinatorial Polyfunctionality Analysis of Single Cells' description: 'COMPASS is a statistical framework that enables unbiased analysis of antigen-specific T-cell subsets. COMPASS uses a Bayesian hierarchical framework to model all observed cell-subsets and select the most likely to be antigen-specific while regularizing the small cell counts that often arise in multi-parameter space. The model provides a posterior probability of specificity for each cell subset and each sample, which can be used to profile a subject''s immune response to external stimuli such as infection or vaccination.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:compass - doi:10.1038/nbt.3187 diff --git a/recipes/bioconductor-condiments/build_failure.linux-64.yaml b/recipes/bioconductor-condiments/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..64bb7869e9bff --- /dev/null +++ b/recipes/bioconductor-condiments/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: d70ad20d6aa8d5ec24cc58bdae0002e9ce657a5241a612189057a31a9a2b5902 # The commit at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + - bioconductor-distinct >=1.14.0,<1.15.0 + - r-ecume >=0.9.1 + - bioconductor-summarizedexperiment >=1.32.0,<1.33.0 + - r-mgcv + - bioconductor-slingshot >=2.10.0,<2.11.0 + - bioconductor-biocparallel >=1.36.0,<1.37.0 + - r-matrixstats + - r-base 4.3.* + - r-rann + + with channels: + - file:///opt/host-conda-bld + - conda-forge + - bioconda + - defaults + + The reported errors are: + - Encountered problems while solving: + - - nothing provides requested bioconductor-distinct >=1.14.0,<1.15.0 + - + + Leaving build/test directories: + Work: + /opt/conda/conda-bld/work + Test: + /opt/conda/conda-bld/test_tmp + Leaving build/test environments: + Test: + source activate /opt/conda/conda-bld/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl + Build: + source activate /opt/conda/conda-bld/_build_env + + + Traceback (most recent call last): + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 141, in mamba_get_install_actions + solution = solver.solve_for_action(_specs, prefix) + File "/opt/conda/lib/python3.8/site-packages/boa/core/solver.py", line 244, in solve_for_action + t = self.solve(specs) + File "/opt/conda/lib/python3.8/site-packages/boa/core/solver.py", line 234, in solve + raise RuntimeError("Solver could not find solution." error_string) + RuntimeError: Solver could not find solution.Mamba failed to solve: + - r-pbapply + - r-igraph + - r-magrittr + - r-dplyr >=1.0 + - bioconductor-trajectoryutils >=1.10.0,<1.11.0 + - bioconductor-singlecellexperiment >=1.24.0,<1.25.0 + - bioconductor-distinct >=1.14.0,<1.15.0 + - r-ecume >=0.9.1 + - bioconductor-summarizedexperiment >=1.32.0,<1.33.0 + - r-mgcv + - bioconductor-slingshot >=2.10.0,<2.11.0 + - bioconductor-biocparallel >=1.36.0,<1.37.0 + - r-matrixstats + - r-base 4.3.* + - r-rann + + with channels: + - file:///opt/host-conda-bld + - conda-forge + - bioconda + - defaults + + The reported errors are: + - Encountered problems while solving: + - - nothing provides requested bioconductor-distinct >=1.14.0,<1.15.0 + - + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/bin/conda-mambabuild", line 10, in + sys.exit(main()) + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main + call_conda_build(action, config) + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build + result = api.build( + File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build + return build_tree( + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree + packages_from_this = build(metadata, stats, + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2038, in build + output_metas = expand_outputs([(m, need_source_download, need_reparse_in_env)]) + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 787, in expand_outputs + for (output_dict, m) in deepcopy(_m).get_output_metadata_set(permit_unsatisfiable_variants=False): + File "/opt/conda/lib/python3.8/site-packages/conda_build/metadata.py", line 2524, in get_output_metadata_set + conda_packages = finalize_outputs_pass( + File "/opt/conda/lib/python3.8/site-packages/conda_build/metadata.py", line 884, in finalize_outputs_pass + fm = finalize_metadata( + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 547, in finalize_metadata + build_unsat, host_unsat = add_upstream_pins(m, + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 409, in add_upstream_pins + host_deps, host_unsat, extra_run_specs_from_host = _read_upstream_pin_files(m, 'host', + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 374, in _read_upstream_pin_files + deps, actions, unsat = get_env_dependencies(m, env, m.config.variant, + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 131, in get_env_dependencies + actions = environ.get_install_actions(tmpdir, tuple(dependencies), env, + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 150, in mamba_get_install_actions + raise err + conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("bioconductor-distinct[version='>=1.14.0,<1.15.0']")} +# Last 100 lines of the build log. diff --git a/recipes/bioconductor-contibait/meta.yaml b/recipes/bioconductor-contibait/meta.yaml index 71415b965efc6..f85eeb9e83dd4 100644 --- a/recipes/bioconductor-contibait/meta.yaml +++ b/recipes/bioconductor-contibait/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 8297fd66bbfcd997be0f23cf31fcd644 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -86,6 +86,8 @@ about: description: 'Using strand inheritance data from multiple single cells from the organism whose genome is to be assembled, contiBAIT can cluster unbridged contigs together into putative chromosomes, and order the contigs within those chromosomes.' license_file: LICENSE extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:contibait - doi:10.1093/bioinformatics/btx281 diff --git a/recipes/bioconductor-copa/meta.yaml b/recipes/bioconductor-copa/meta.yaml index a06e57133a675..4c51fca6b7687 100644 --- a/recipes/bioconductor-copa/meta.yaml +++ b/recipes/bioconductor-copa/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: bd372714a4dd7e70b90d9232fcba322d build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -40,3 +40,9 @@ about: summary: 'Functions to perform cancer outlier profile analysis.' description: 'COPA is a method to find genes that undergo recurrent fusion in a given cancer type by finding pairs of genes that have mutually exclusive outlier profiles.' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} + - usegalaxy-eu:{{ name|lower }} diff --git a/recipes/bioconductor-coregnet/meta.yaml b/recipes/bioconductor-coregnet/meta.yaml index 3b2723ada35bc..792ee9c4ed17b 100644 --- a/recipes/bioconductor-coregnet/meta.yaml +++ b/recipes/bioconductor-coregnet/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 57d4b5f625123f9637aa4d696a2eb859 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -44,3 +44,6 @@ about: description: 'This package provides methods to identify active transcriptional programs. Methods and classes are provided to import or infer large scale co-regulatory network from transcriptomic data. The specificity of the encoded networks is to model Transcription Factor cooperation. External regulation evidences (TFBS, ChIP,...) can be integrated to assess the inferred network and refine it if necessary. Transcriptional activity of the regulators in the network can be estimated using an measure of their influence in a given sample. Finally, an interactive UI can be used to navigate through the network of cooperative regulators and to visualize their activity in a specific sample or subgroup sample. The proposed visualization tool can be used to integrate gene expression, transcriptional activity, copy number status, sample classification and a transcriptional network including co-regulation information.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/bioconductor-csar/meta.yaml b/recipes/bioconductor-csar/meta.yaml index 4767cf2e78ac2..8a7ab11fb87da 100644 --- a/recipes/bioconductor-csar/meta.yaml +++ b/recipes/bioconductor-csar/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: cf22689abca527406f9f2b333739d7bc build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -46,3 +46,8 @@ about: summary: 'Statistical tools for the analysis of ChIP-seq data' description: 'Statistical tools for ChIP-seq data analysis. The package includes the statistical method described in Kaufmann et al. (2009) PLoS Biology: 7(4):e1000090. Briefly, Taking the average DNA fragment size subjected to sequencing into account, the software calculates genomic single-nucleotide read-enrichment values. After normalization, sample and control are compared using a test based on the Poisson distribution. Test statistic thresholds to control the false discovery rate are obtained through random permutation.' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} diff --git a/recipes/bioconductor-csaw/meta.yaml b/recipes/bioconductor-csaw/meta.yaml index 257d3e9ac5aca..444eb55b8a0ec 100644 --- a/recipes/bioconductor-csaw/meta.yaml +++ b/recipes/bioconductor-csaw/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 07ad4af3be8e5e799b06826cc97a449e build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -66,11 +66,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-3 + license: GPL-3.0-only summary: 'ChIP-Seq Analysis with Windows' description: 'Detection of differentially bound regions in ChIP-seq data with sliding windows, with methods for normalization and proper FDR control.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:csaw parent_recipe: diff --git a/recipes/bioconductor-cytolib/meta.yaml b/recipes/bioconductor-cytolib/meta.yaml index 9c473184d4d42..d3c88990f4372 100644 --- a/recipes/bioconductor-cytolib/meta.yaml +++ b/recipes/bioconductor-cytolib/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "2.14.0" %} +{% set version = "2.14.1" %} {% set name = "cytolib" %} {% set bioc = "3.18" %} @@ -11,9 +11,9 @@ source: - 'https://bioconductor.org/packages/{{ bioc }}/bioc/src/contrib/Archive/{{ name }}/{{ name }}_{{ version }}.tar.gz' - 'https://bioarchive.galaxyproject.org/{{ name }}_{{ version }}.tar.gz' - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' - md5: f06a976c84ae2adf3c08d07cd90af7f4 + md5: 32b6560c381660e2ed9aa1e7b6ab84f9 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -43,11 +43,15 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: AGPL-3.0-only + license: GPL-3.0-only summary: 'C++ infrastructure for representing and interacting with the gated cytometry data' description: 'This package provides the core data structure and API to represent and interact with the gated cytometry data.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} parent_recipe: name: bioconductor-cytolib path: recipes/bioconductor-cytolib diff --git a/recipes/bioconductor-cytoml/build_failure.osx-64.yaml b/recipes/bioconductor-cytoml/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..1c647ed38192b --- /dev/null +++ b/recipes/bioconductor-cytoml/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 1c91989f56fc78860ff6ec88f6e1816c3dd98bc98659434b3e9a5b02792c0fbb # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + DEBUG_FFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-cytoml-2.14.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fimplicit-none -fvar-tracking-assignments + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + DEBUG_FORTRANFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-cytoml-2.14.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fimplicit-none -fvar-tracking-assignments + F77=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + F90=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + F95=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + FC=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + FC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + FFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-cytoml-2.14.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + FORTRANFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-cytoml-2.14.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + GFORTRAN=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-cytoml-2.14.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/bioconductor-cytoml_1717700284559/work/conda_build.sh']' returned non-zero exit status 1. + CMAKE_ARGS=-DCMAKE_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-cytoml-2.14.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-cytoml-2.14.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-cytoml-2.14.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + INFO: activate_clang_osx-64.sh made the following environmental changes: + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + -CC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + -CMAKE_ARGS=-DCMAKE_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + -OBJC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + -CXX_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + checking whether the C compiler works... yes + checking for C compiler default output file name... a.out + checking for suffix of executables... + checking whether we are cross compiling... no + checking for suffix of object files... o + checking whether we are using the GNU C compiler... yes + checking whether x86_64-apple-darwin13.4.0-clang -std=gnu11 accepts -g... yes + checking for x86_64-apple-darwin13.4.0-gcc... x86_64-apple-darwin13.4.0-clang + checking whether we are using the GNU C compiler... yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... yes + checking for x86_64-apple-darwin13.4.0-clang option to accept ISO C89... none needed + configure: setting xml2 flags... + configure: No directory was specified for --with-xml2. Trying to find xml2 using other methods. + checking for xml2-config... $BUILD_PREFIX/bin/xml2-config + configure: setting cytolib-ml commandline tool path... + configure: Using the following compilation and linking flags + configure: PKG_CPPFLAGS=-I$BUILD_PREFIX/include/libxml2 -I$BUILD_PREFIX/include + configure: PKG_LIBS=-L$BUILD_PREFIX/lib -lxml2 -L$BUILD_PREFIX/lib -lz -L$BUILD_PREFIX/lib -llzma -L$BUILD_PREFIX/lib -licui18n -licuuc -licudata -L$BUILD_PREFIX/lib -liconv + configure: CYTOLIBML_BIN=/usr/local/bin + configure: creating ./config.status + config.status: creating src/Makevars + config.status: creating R/cytolibml_bin_path.R + x86_64-apple-darwin13.4.0-clang -std=gnu11 -I"$PREFIX/lib/R/include" -DNDEBUG -DROUT -I../inst/include/ -I$BUILD_PREFIX/include/libxml2 -I$BUILD_PREFIX/include -DBOOST_NO_AUTO_PTR -I'$PREFIX/lib/R/library/cpp11/include' -I'$PREFIX/lib/R/library/BH/include' -I'$PREFIX/lib/R/library/RProtoBufLib/include' -I'$PREFIX/lib/R/library/cytolib/include' -I'$PREFIX/lib/R/library/Rhdf5lib/include' -I'$PREFIX/lib/R/library/flowWorkspace/include' -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I$PREFIX/include -fPIC -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=/Users/runner/miniforge3/conda-bld/r-base-split_1714471796105/work=/usr/local/src/conda/r-base-4.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c cpp11.cpp -o cpp11.o +# Last 100 lines of the build log. diff --git a/recipes/bioconductor-cytoml/meta.yaml b/recipes/bioconductor-cytoml/meta.yaml index ee27b56fde053..61a0d13b69b74 100644 --- a/recipes/bioconductor-cytoml/meta.yaml +++ b/recipes/bioconductor-cytoml/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 4b0060416cdeef7876cb9aaeb81dbaf7 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ diff --git a/recipes/bioconductor-decipher/meta.yaml b/recipes/bioconductor-decipher/meta.yaml index 257e0cf8b5364..32250e45f3280 100644 --- a/recipes/bioconductor-decipher/meta.yaml +++ b/recipes/bioconductor-decipher/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 0a32c782d61a604dc3594c684daa8c75 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -45,11 +45,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-3 + license: GPL-3.0-only summary: 'Tools for curating, analyzing, and manipulating biological sequences' description: 'A toolset for deciphering and managing biological sequences.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:DECIPHER parent_recipe: diff --git a/recipes/bioconductor-deepbluer/build_failure.linux-64.yaml b/recipes/bioconductor-deepbluer/build_failure.linux-64.yaml index 32a64afe45536..4cd5b4a0d4f6b 100644 --- a/recipes/bioconductor-deepbluer/build_failure.linux-64.yaml +++ b/recipes/bioconductor-deepbluer/build_failure.linux-64.yaml @@ -1,72 +1,72 @@ -recipe_sha: b09c118bdb9ad88319ef992ea639cfc1161541201e802900f905d1027c7fcdcc # The commit at which this recipe failed to build. +recipe_sha: 298dc02b6321425f565f394b84e67a916cb488fbfb52ae216e284b9f02ba71ce # The commit at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. log: |2- - r-withr: 2.5.0-r43hc72bb7e_2 conda-forge - r-xfun: 0.39-r43ha503ecb_1 conda-forge - r-xml: 3.99_0.14-r43hc38eee6_2 conda-forge - r-yaml: 2.3.7-r43h57805ef_1 conda-forge - readline: 8.2-h8228510_1 conda-forge - sed: 4.8-he412f7d_0 conda-forge - setuptools: 68.0.0-pyhd8ed1ab_0 conda-forge sysroot_linux-64: 2.12-he073ed8_16 conda-forge - tk: 8.6.12-h27826a3_0 conda-forge - tktable: 2.10-hb7b940f_3 conda-forge + tk: 8.6.13-noxft_h4845f30_101 conda-forge + tktable: 2.10-h0c5db8f_5 conda-forge toml: 0.10.2-pyhd8ed1ab_0 conda-forge - tomlkit: 0.11.8-pyha770c72_0 conda-forge - tzdata: 2023c-h71feb2d_0 conda-forge - wheel: 0.40.0-pyhd8ed1ab_1 conda-forge + tomlkit: 0.12.3-pyha770c72_0 conda-forge + tzdata: 2023d-h0c530f3_0 conda-forge + wheel: 0.42.0-pyhd8ed1ab_0 conda-forge xmltodict: 0.13.0-pyhd8ed1ab_0 conda-forge xorg-kbproto: 1.0.7-h7f98852_1002 conda-forge - xorg-libice: 1.0.10-h7f98852_0 conda-forge - xorg-libsm: 1.2.3-hd9c2040_1000 conda-forge - xorg-libx11: 1.8.6-h8ee46fc_0 conda-forge + xorg-libice: 1.1.1-hd590300_0 conda-forge + xorg-libsm: 1.2.4-h7391055_0 conda-forge + xorg-libx11: 1.8.7-h8ee46fc_0 conda-forge xorg-libxau: 1.0.11-hd590300_0 conda-forge xorg-libxdmcp: 1.1.3-h7f98852_0 conda-forge xorg-libxext: 1.3.4-h0b41bf4_2 conda-forge xorg-libxrender: 0.9.11-hd590300_0 conda-forge - xorg-libxt: 1.3.0-hd590300_0 conda-forge + xorg-libxt: 1.3.0-hd590300_1 conda-forge xorg-renderproto: 0.11.1-h7f98852_1002 conda-forge xorg-xextproto: 7.3.0-h0b41bf4_1003 conda-forge xorg-xproto: 7.0.31-h7f98852_1007 conda-forge xz: 5.2.6-h166bdaf_0 conda-forge yaml: 0.2.5-h7f98852_2 conda-forge - yq: 3.2.2-pyhd8ed1ab_0 conda-forge + yq: 3.2.3-pyhd8ed1ab_0 conda-forge zlib: 1.2.13-hd590300_5 conda-forge - zstd: 1.5.2-hfc55251_7 conda-forge + zstd: 1.5.5-hfc55251_0 conda-forge Preparing transaction: ...working... done Verifying transaction: ...working... done - Executing transaction: ...working... done + Executing transaction: ...working... + To install TinyTeX with tinytex::install_tinytex() the system must have a functional Perl + installation with a File::Find module. Most end-user systems will already satisfy this + requirement; however, some minimal contexts (e.g., containers) may not. Perl is available + via Conda Forge as the package perl. See https://github.com/rstudio/tinytex/issues/419 + + + done [34mReloading output folder: [0m[34m/opt/conda/[0m[34mconda-bld[0m [?25l[2K[0G[] 0.0s - [2K[1A[2K[0Gopt/conda/conda-bld/linux-64 129.0 B @ 533.1kB/s 0.0s - opt/conda/conda-bld/noarch 127.0 B @ 756.0kB/s 0.0s + [2K[1A[2K[0Gopt/conda/conda-bld/linux-64 129.0 B @ 1.8MB/s 0.0s + opt/conda/conda-bld/noarch 127.0 B @ 2.4MB/s 0.0s [?25h[34mReloading output folder: [0m[34m/opt/conda/[0m[34mconda-bld[0m [?25l[2K[0G[] 0.0s - [2K[1A[2K[0Gopt/conda/conda-bld/linux-64 129.0 B @ 1.3MB/s 0.0s - opt/conda/conda-bld/noarch 127.0 B @ 4.1MB/s 0.0s + [2K[1A[2K[0Gopt/conda/conda-bld/linux-64 129.0 B @ 2.0MB/s 0.0s + opt/conda/conda-bld/noarch 127.0 B @ 2.4MB/s 0.0s [?25h ## Package Plan ## - environment location: /opt/conda/conda-bld/bioconductor-deepbluer_1689835533309/_build_env + environment location: /opt/conda/conda-bld/bioconductor-deepbluer_1703295180448/_build_env Source cache directory is: /opt/conda/conda-bld/src_cache INFO:conda_build.source:Source cache directory is: /opt/conda/conda-bld/src_cache - Downloading source to cache: DeepBlueR_1.26.0_6b686d18b4.tar.gz - INFO:conda_build.source:Downloading source to cache: DeepBlueR_1.26.0_6b686d18b4.tar.gz - Downloading https://bioconductor.org/packages/3.17/bioc/src/contrib/DeepBlueR_1.26.0.tar.gz - INFO:conda_build.source:Downloading https://bioconductor.org/packages/3.17/bioc/src/contrib/DeepBlueR_1.26.0.tar.gz + Downloading source to cache: DeepBlueR_1.27.0_2217f4325c.tar.gz + INFO:conda_build.source:Downloading source to cache: DeepBlueR_1.27.0_2217f4325c.tar.gz + Downloading https://bioconductor.org/packages/3.18/bioc/src/contrib/DeepBlueR_1.27.0.tar.gz + INFO:conda_build.source:Downloading https://bioconductor.org/packages/3.18/bioc/src/contrib/DeepBlueR_1.27.0.tar.gz Success INFO:conda_build.source:Success Extracting download - source tree in: /opt/conda/conda-bld/bioconductor-deepbluer_1689835533309/work - export PREFIX=/opt/conda/conda-bld/bioconductor-deepbluer_1689835533309/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_ - export BUILD_PREFIX=/opt/conda/conda-bld/bioconductor-deepbluer_1689835533309/_build_env - export SRC_DIR=/opt/conda/conda-bld/bioconductor-deepbluer_1689835533309/work + source tree in: /opt/conda/conda-bld/bioconductor-deepbluer_1703295180448/work + export PREFIX=/opt/conda/conda-bld/bioconductor-deepbluer_1703295180448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_ + export BUILD_PREFIX=/opt/conda/conda-bld/bioconductor-deepbluer_1703295180448/_build_env + export SRC_DIR=/opt/conda/conda-bld/bioconductor-deepbluer_1703295180448/work During startup - Warning message: Setting LC_TIME failed, using "C" - * installing to library /opt/conda/conda-bld/bioconductor-deepbluer_1689835533309/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/R/library + * installing to library /opt/conda/conda-bld/bioconductor-deepbluer_1703295180448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/R/library * installing *source* package DeepBlueR ... ** using staged installation ** R @@ -79,10 +79,10 @@ log: |2- "503" Error in xml.rpc(deepblue_options("url"), "list_column_types", user_key) : Problems + ERROR: lazy loading failed for package DeepBlueR Error: unable to load R code in package DeepBlueR Execution halted - ERROR: lazy loading failed for package DeepBlueR - * removing /opt/conda/conda-bld/bioconductor-deepbluer_1689835533309/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/R/library/DeepBlueR + * removing /opt/conda/conda-bld/bioconductor-deepbluer_1703295180448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/R/library/DeepBlueR Traceback (most recent call last): File "/opt/conda/bin/conda-mambabuild", line 10, in sys.exit(main()) @@ -100,5 +100,5 @@ log: |2- return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/bioconductor-deepbluer_1689835533309/work/conda_build.sh']' returned non-zero exit status 1. + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/bioconductor-deepbluer_1703295180448/work/conda_build.sh']' returned non-zero exit status 1. # Last 100 lines of the build log. diff --git a/recipes/bioconductor-degseq/meta.yaml b/recipes/bioconductor-degseq/meta.yaml index 1fd5c9056f400..6d4d4a1ad423b 100644 --- a/recipes/bioconductor-degseq/meta.yaml +++ b/recipes/bioconductor-degseq/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: cc89e25cb7e9afc38b5fb2bba34722b5 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -36,11 +36,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'LGPL (>=2)' + license: 'LGPL-3-or-above' summary: 'Identify Differentially Expressed Genes from RNA-seq data' description: 'DEGseq is an R package to identify differentially expressed genes from RNA-Seq data.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/LGPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:degseq - doi:10.1093/bioinformatics/btp612 diff --git a/recipes/bioconductor-delayedarray/meta.yaml b/recipes/bioconductor-delayedarray/meta.yaml index 164a7bfd3c0bc..2096ed4c080c8 100644 --- a/recipes/bioconductor-delayedarray/meta.yaml +++ b/recipes/bioconductor-delayedarray/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 812e7575d6eaa61f5b68364cdf1da3d9 build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -52,6 +52,8 @@ about: summary: 'A unified framework for working transparently with on-disk and in-memory array-like datasets' description: 'Wrapping an array-like object (typically an on-disk object) in a DelayedArray object allows one to perform common array operations on it without loading the object in memory. In order to reduce memory usage and optimize performance, operations on the object are either delayed or executed using a block processing mechanism. Note that this also works on in-memory array-like objects like DataFrame objects (typically with Rle columns), Matrix objects, ordinary arrays and, data frames.' extra: + additional-platforms: + - linux-aarch64 parent_recipe: name: bioconductor-delayedarray path: recipes/bioconductor-delayedarray diff --git a/recipes/bioconductor-demixt/meta.yaml b/recipes/bioconductor-demixt/meta.yaml index a83bba0d171f6..ff2585eb72ffd 100644 --- a/recipes/bioconductor-demixt/meta.yaml +++ b/recipes/bioconductor-demixt/meta.yaml @@ -13,15 +13,15 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 4aca565a57e59b7b0849f3c3419727f2 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ requirements: host: - 'bioconductor-dss >=2.48.0,<2.49.0' - - 'bioconductor-summarizedexperiment >=1.30.0,<1.31.0' - - 'bioconductor-sva >=3.48.0,<3.49.0' + - 'bioconductor-summarizedexperiment >=1.32.0,<1.33.0' + - 'bioconductor-sva >=3.50.0,<3.51.0' - r-base - r-base64enc - r-dendextend @@ -38,8 +38,8 @@ requirements: - liblapack run: - 'bioconductor-dss >=2.48.0,<2.49.0' - - 'bioconductor-summarizedexperiment >=1.30.0,<1.31.0' - - 'bioconductor-sva >=3.48.0,<3.49.0' + - 'bioconductor-summarizedexperiment >=1.32.0,<1.33.0' + - 'bioconductor-sva >=3.50.0,<3.51.0' - r-base - r-base64enc - r-dendextend @@ -61,8 +61,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-3 + license: GPL-3.0-only summary: 'Cell type-specific deconvolution of heterogeneous tumor samples with two or three components using expression data from RNAseq or microarray platforms' description: 'DeMixT is a software package that performs deconvolution on transcriptome data from a mixture of two or three components.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name }} \ No newline at end of file diff --git a/recipes/bioconductor-descan2/meta.yaml b/recipes/bioconductor-descan2/meta.yaml index 655f19ab5b6b3..76ec1100b9233 100644 --- a/recipes/bioconductor-descan2/meta.yaml +++ b/recipes/bioconductor-descan2/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 476f052d4a86e27d332812852fd7e0c1 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -71,3 +71,8 @@ about: summary: 'Differential Enrichment Scan 2' description: 'Integrated peak and differential caller, specifically designed for broad epigenomic signals.' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} diff --git a/recipes/bioconductor-deseq2/meta.yaml b/recipes/bioconductor-deseq2/meta.yaml index fbad8ff890c69..b374f1aa2c05d 100644 --- a/recipes/bioconductor-deseq2/meta.yaml +++ b/recipes/bioconductor-deseq2/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 5eb89526ce9fd4da98b1a5e0b5ba0bf3 build: - number: 0 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -21,6 +21,7 @@ build: # Suggests: testthat, knitr, rmarkdown, vsn, pheatmap, RColorBrewer, apeglm, ashr, tximport, tximeta, tximportData, readr, pbapply, airway, pasilla (>= 0.2.10), glmGamPoi, BiocManager requirements: host: + - bioconductor-apeglm - 'bioconductor-biobase >=2.62.0,<2.63.0' - 'bioconductor-biocgenerics >=0.48.0,<0.49.0' - 'bioconductor-biocparallel >=1.36.0,<1.37.0' @@ -29,6 +30,7 @@ requirements: - 'bioconductor-matrixgenerics >=1.14.0,<1.15.0' - 'bioconductor-s4vectors >=0.40.0,<0.41.0' - 'bioconductor-summarizedexperiment >=1.32.0,<1.33.0' + - r-ashr - r-base - 'r-ggplot2 >=3.4.0' - r-locfit @@ -38,6 +40,7 @@ requirements: - libblas - liblapack run: + - bioconductor-apeglm - 'bioconductor-biobase >=2.62.0,<2.63.0' - 'bioconductor-biocgenerics >=0.48.0,<0.49.0' - 'bioconductor-biocparallel >=1.36.0,<1.37.0' @@ -46,6 +49,7 @@ requirements: - 'bioconductor-matrixgenerics >=1.14.0,<1.15.0' - 'bioconductor-s4vectors >=0.40.0,<0.41.0' - 'bioconductor-summarizedexperiment >=1.32.0,<1.33.0' + - r-ashr - r-base - 'r-ggplot2 >=3.4.0' - r-locfit @@ -61,11 +65,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'LGPL (>= 3)' + license: 'LGPL-3.0-or-later' summary: 'Differential gene expression analysis based on the negative binomial distribution' description: 'Estimate variance-mean dependence in count data from high-throughput sequencing assays and test for differential expression based on a model using the negative binomial distribution.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/LGPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:deseq2 - doi:10.1186/s13059-014-0550-8 diff --git a/recipes/bioconductor-dexseq/meta.yaml b/recipes/bioconductor-dexseq/meta.yaml index 29b4cbc81fbe4..c2dea7842a4e5 100644 --- a/recipes/bioconductor-dexseq/meta.yaml +++ b/recipes/bioconductor-dexseq/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 8e5876f927b0b0cdfc4a402bfb4fb3d6 build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -54,6 +54,7 @@ requirements: - 'bioconductor-rsamtools >=2.18.0,<2.19.0' - 'bioconductor-s4vectors >=0.40.0,<0.41.0' - 'bioconductor-summarizedexperiment >=1.32.0,<1.33.0' + - 'htseq >=2.0.2,<2.1' - r-base - r-hwriter - r-rcolorbrewer @@ -62,6 +63,8 @@ requirements: test: commands: - '$R -e "library(''{{ name }}'')"' + - dexseq_prepare_annotation.py --help + - dexseq_count.py --help about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' license: 'GPL (>= 3)' diff --git a/recipes/bioconductor-diffbind/meta.yaml b/recipes/bioconductor-diffbind/meta.yaml index 57d109de6119d..389a476e49efb 100644 --- a/recipes/bioconductor-diffbind/meta.yaml +++ b/recipes/bioconductor-diffbind/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: aa7c15e33713ad0ced01a5b6442e2d3d build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -77,6 +77,7 @@ requirements: - {{ compiler('c') }} - {{ compiler('cxx') }} - make + - libcxx <17 # [osx] test: commands: - '$R -e "library(''{{ name }}'')"' @@ -86,6 +87,8 @@ about: summary: 'Differential Binding Analysis of ChIP-Seq Peak Data' description: 'Compute differentially bound sites from multiple ChIP-seq experiments using affinity (quantitative) data. Also enables occupancy (overlap) analysis and plotting functions.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:diffbind - usegalaxy-eu:diffbind diff --git a/recipes/bioconductor-diffhic/meta.yaml b/recipes/bioconductor-diffhic/meta.yaml index a3b151ea656d1..e60731e0d4def 100644 --- a/recipes/bioconductor-diffhic/meta.yaml +++ b/recipes/bioconductor-diffhic/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: ba97084f7b4e4510514df43be6eb9bf8 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -74,8 +74,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-3 + license: GPL-3.0-only summary: 'Differential Analyis of Hi-C Data' description: 'Detects differential interactions across biological conditions in a Hi-C experiment. Methods are provided for read alignment and data pre-processing into interaction counts. Statistical analysis is based on edgeR and supports normalization and filtering. Several visualization options are also available.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} diff --git a/recipes/bioconductor-dirichletmultinomial/meta.yaml b/recipes/bioconductor-dirichletmultinomial/meta.yaml index c522f169f7852..94f6743365b39 100644 --- a/recipes/bioconductor-dirichletmultinomial/meta.yaml +++ b/recipes/bioconductor-dirichletmultinomial/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 8527c543b1ada9640d2f434fb516ff4e build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -43,11 +43,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: LGPL-3 + license: LGPL-3.0-only summary: 'Dirichlet-Multinomial Mixture Model Machine Learning for Microbiome Data' description: 'Dirichlet-multinomial mixture models can be used to describe variability in microbial metagenomic data. This package is an interface to code originally made available by Holmes, Harris, and Quince, 2012, PLoS ONE 7(2): 1-15, as discussed further in the man page for this package, ?DirichletMultinomial.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/LGPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:dirichletmultinomial - doi:10.1371/journal.pone.0030126 diff --git a/recipes/bioconductor-distinct/build_failure.linux-64.yaml b/recipes/bioconductor-distinct/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..b4346b41f3fe8 --- /dev/null +++ b/recipes/bioconductor-distinct/build_failure.linux-64.yaml @@ -0,0 +1,106 @@ +recipe_sha: 4cdee96b11c599d7d86852005b1fcdb8fc168a77b8c4cd0973697dbfc2af519f # The commit at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: |- + compiler error +log: |2- + + An HTTP error occurred when trying to retrieve this URL. + HTTP errors are often intermittent, and a simple retry will get you on your way. + Downloading https://bioconductor.org/packages/3.18/bioc/src/contrib/Archive/distinct/distinct_1.14.0.tar.gz + INFO:conda_build.source:Downloading https://bioconductor.org/packages/3.18/bioc/src/contrib/Archive/distinct/distinct_1.14.0.tar.gz + Success + INFO:conda_build.source:Success + Extracting download + source tree in: /opt/conda/conda-bld/bioconductor-distinct_1703301470415/work + export PREFIX=/opt/conda/conda-bld/bioconductor-distinct_1703301470415/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p + export BUILD_PREFIX=/opt/conda/conda-bld/bioconductor-distinct_1703301470415/_build_env + export SRC_DIR=/opt/conda/conda-bld/bioconductor-distinct_1703301470415/work + INFO: activate-binutils_linux-64.sh made the following environmental changes: + ADDR2LINE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-addr2line + AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar + AS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-as + CXXFILT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cfilt + ELFEDIT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-elfedit + GPROF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gprof + LD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld + LD_GOLD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld.gold + NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-nm + OBJCOPY=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objcopy + OBJDUMP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objdump + RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib + READELF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-readelf + SIZE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-size + STRINGS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strings + STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip + INFO: activate-gcc_linux-64.sh made the following environmental changes: + BUILD=x86_64-conda-linux-gnu + CC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-distinct-1.14.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH=$PREFIX;$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=$PREFIX:$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot/usr + CONDA_BUILD_SYSROOT=$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot + CONDA_TOOLCHAIN_BUILD=x86_64-conda-linux-gnu + CONDA_TOOLCHAIN_HOST=x86_64-conda-linux-gnu + CPP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cpp + CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include + DEBUG_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-distinct-1.14.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem $PREFIX/include + GCC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc + GCC_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar + GCC_NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-nm + GCC_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib + HOST=x86_64-conda-linux-gnu + LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_cos6_linux_gnu + build_alias=x86_64-conda-linux-gnu + host_alias=x86_64-conda-linux-gnu + -BUILD=x86_64-conda_cos6-linux-gnu + -CONDA_BUILD_SYSROOT= + INFO: activate-gxx_linux-64.sh made the following environmental changes: + CXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-distinct-1.14.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + DEBUG_CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-distinct-1.14.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + GXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-g + During startup - Warning message: + Setting LC_TIME failed, using "C" + * installing to library /opt/conda/conda-bld/bioconductor-distinct_1703301470415/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/R/library + * installing *source* package distinct ... + ** using staged installation + ** libs + using C compiler: x86_64-conda-linux-gnu-c (conda-forge gcc 12.3.0-3) 12.3.0 + using C11 + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -std=gnu11 -I"$PREFIX/lib/R/include" -DNDEBUG -I'$PREFIX/lib/R/library/Rcpp/include' -I'$PREFIX/lib/R/library/RcppArmadillo/include' -I'$PREFIX/lib/R/library/Rfast/include' -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -I$PREFIX/include -Wl,-rpath-link,$PREFIX/lib -fpic -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/r-base-split_1700316003380/work=/usr/local/src/conda/r-base-4.3.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c Perm.cpp -o Perm.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -std=gnu11 -I"$PREFIX/lib/R/include" -DNDEBUG -I'$PREFIX/lib/R/library/Rcpp/include' -I'$PREFIX/lib/R/library/RcppArmadillo/include' -I'$PREFIX/lib/R/library/Rfast/include' -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -I$PREFIX/include -Wl,-rpath-link,$PREFIX/lib -fpic -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/r-base-split_1700316003380/work=/usr/local/src/conda/r-base-4.3.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c Perm_covariates.cpp -o Perm_covariates.o + In file included from /opt/conda/conda-bld/bioconductor-distinct_1703301470415/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/R/library/Rfast/include/Rfast/templates.h:10, + from /opt/conda/conda-bld/bioconductor-distinct_1703301470415/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/R/library/Rfast/include/Rfast/matrix.hpp:14, + from /opt/conda/conda-bld/bioconductor-distinct_1703301470415/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/R/library/Rfast/include/Rfast.h:5, + from Perm_covariates.cpp:2: + /opt/conda/conda-bld/bioconductor-distinct_1703301470415/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/R/library/Rfast/include/Rfast/parallel.h:7:10: fatal error: RcppParallel.h: No such file or directory + 7 | #include + | ^~~~~~~~~~~~~~~~ + compilation terminated. + make: *** [/opt/conda/conda-bld/bioconductor-distinct_1703301470415/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/R/etc/Makeconf:200: Perm_covariates.o] Error 1 + ERROR: compilation failed for package distinct + * removing /opt/conda/conda-bld/bioconductor-distinct_1703301470415/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/R/library/distinct + Traceback (most recent call last): + File "/opt/conda/bin/conda-mambabuild", line 10, in + sys.exit(main()) + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main + call_conda_build(action, config) + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build + result = api.build( + File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build + return build_tree( + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree + packages_from_this = build(metadata, stats, + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build + utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, + File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/bioconductor-distinct_1703301470415/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/bioconductor-dmrcaller/meta.yaml b/recipes/bioconductor-dmrcaller/meta.yaml index 877d463affcbd..a58fdd462be2d 100644 --- a/recipes/bioconductor-dmrcaller/meta.yaml +++ b/recipes/bioconductor-dmrcaller/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 1c5b37620b4950eb63e32c3063235e8e build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -46,8 +46,14 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-3 + license: GPL-3.0-only summary: 'Differentially Methylated Regions caller' description: 'Uses Bisulfite sequencing data in two conditions and identifies differentially methylated regions between the conditions in CG and non-CG context. The input is the CX report files produced by Bismark and the output is a list of DMRs stored as GRanges objects.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} + diff --git a/recipes/bioconductor-dnacopy/meta.yaml b/recipes/bioconductor-dnacopy/meta.yaml index 11f96aa6d76d5..f189045b214b5 100644 --- a/recipes/bioconductor-dnacopy/meta.yaml +++ b/recipes/bioconductor-dnacopy/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 1b80859f79a39def302664f11b91a98f build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -39,6 +39,8 @@ about: description: 'Implements the circular binary segmentation (CBS) algorithm to segment DNA copy number data and identify genomic regions with abnormal copy number.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:dnacopy - doi:10.1038/nmeth.3252 diff --git a/recipes/bioconductor-dss/meta.yaml b/recipes/bioconductor-dss/meta.yaml index 030095f948881..10ad525ab1f0d 100644 --- a/recipes/bioconductor-dss/meta.yaml +++ b/recipes/bioconductor-dss/meta.yaml @@ -13,23 +13,23 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: bbdc2e1dd734b2c002e9ae034b86f78e build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ # Suggests: BiocStyle, knitr, rmarkdown requirements: host: - - 'bioconductor-biobase >=2.60.0,<2.61.0' - - 'bioconductor-biocparallel >=1.34.0,<1.35.0' - - 'bioconductor-bsseq >=1.36.0,<1.37.0' + - 'bioconductor-biobase >=2.62.0,<2.63.0' + - 'bioconductor-biocparallel >=1.36.0,<1.37.0' + - 'bioconductor-bsseq >=1.38.0,<1.39.0' - r-base - libblas - liblapack run: - - 'bioconductor-biobase >=2.60.0,<2.61.0' - - 'bioconductor-biocparallel >=1.34.0,<1.35.0' - - 'bioconductor-bsseq >=1.36.0,<1.37.0' + - 'bioconductor-biobase >=2.62.0,<2.63.0' + - 'bioconductor-biocparallel >=1.36.0,<1.37.0' + - 'bioconductor-bsseq >=1.38.0,<1.39.0' - r-base build: - {{ compiler('c') }} @@ -39,11 +39,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL + license: GPL-3.0-only summary: 'Dispersion shrinkage for sequencing data' description: 'DSS is an R library performing differntial analysis for count-based sequencing data. It detectes differentially expressed genes (DEGs) from RNA-seq, and differentially methylated loci or regions (DML/DMRs) from bisulfite sequencing (BS-seq). The core of DSS is a new dispersion shrinkage method for estimating the dispersion parameter from Gamma-Poisson or Beta-Binomial distributions.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:dss parent_recipe: diff --git a/recipes/bioconductor-ebarrays/meta.yaml b/recipes/bioconductor-ebarrays/meta.yaml index c4b790998b5de..54575ad557b04 100644 --- a/recipes/bioconductor-ebarrays/meta.yaml +++ b/recipes/bioconductor-ebarrays/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: d273e2e9411207653d4e079e14484026 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -39,11 +39,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>= 2)' + license: 'GPL-3.0-or-later' summary: 'Unified Approach for Simultaneous Gene Clustering and Differential Expression Identification' description: 'EBarrays provides tools for the analysis of replicated/unreplicated microarray data.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:ebarrays - doi:10.1111/j.1541-0420.2006.00611.x diff --git a/recipes/bioconductor-ebcoexpress/meta.yaml b/recipes/bioconductor-ebcoexpress/meta.yaml index f22be4d02c7b7..e9424815f0a43 100644 --- a/recipes/bioconductor-ebcoexpress/meta.yaml +++ b/recipes/bioconductor-ebcoexpress/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 66fa4257fbd0222064b30f6c15e74ab1 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -40,8 +40,14 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>= 2)' + license: 'GPL-3.0-or-later' summary: 'EBcoexpress for Differential Co-Expression Analysis' description: 'An Empirical Bayesian Approach to Differential Co-Expression Analysis at the Gene-Pair Level' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} + diff --git a/recipes/bioconductor-ebimage/meta.yaml b/recipes/bioconductor-ebimage/meta.yaml index e8b8c950d28d8..f946397d7761d 100644 --- a/recipes/bioconductor-ebimage/meta.yaml +++ b/recipes/bioconductor-ebimage/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 22e920a81ab633cdbf753daf3e128d64 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -50,16 +50,19 @@ requirements: - {{ compiler('c') }} - {{ compiler('cxx') }} - make + - libcxx <17 # [osx] test: commands: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: LGPL + license: LGPL-3.0-only summary: 'Image processing and analysis toolbox for R' description: 'EBImage provides general purpose functionality for image processing and analysis. In the context of (high-throughput) microscopy-based cellular assays, EBImage offers tools to segment cells and extract quantitative cellular descriptors. This allows the automation of such tasks using the R programming language and facilitates the use of other tools in the R environment for signal processing, statistical modeling, machine learning and visualization with image data.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/LGPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:ebimage parent_recipe: diff --git a/recipes/bioconductor-ebseq/meta.yaml b/recipes/bioconductor-ebseq/meta.yaml index 056e0f895151f..d02c515a1c886 100644 --- a/recipes/bioconductor-ebseq/meta.yaml +++ b/recipes/bioconductor-ebseq/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: e64aabb38197aba0ee5985a1558cce60 build: - number: 1 + number: 3 rpaths: - lib/R/lib/ - lib/ @@ -51,6 +51,8 @@ about: summary: 'An R package for gene and isoform differential expression analysis of RNA-seq data' description: 'Differential Expression analysis at both gene and isoform level using RNA-seq data' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:ebseq - doi:10.1093/bioinformatics/btt087 diff --git a/recipes/bioconductor-edge/meta.yaml b/recipes/bioconductor-edge/meta.yaml index fc6de808fba13..9a280bb34b019 100644 --- a/recipes/bioconductor-edge/meta.yaml +++ b/recipes/bioconductor-edge/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 89d1683b6b4f9723b4c4fcef6972d543 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -49,3 +49,8 @@ about: description: 'The edge package implements methods for carrying out differential expression analyses of genome-wide gene expression studies. Significance testing using the optimal discovery procedure and generalized likelihood ratio tests (equivalent to F-tests and t-tests) are implemented for general study designs. Special functions are available to facilitate the analysis of common study designs, including time course experiments. Other packages such as snm, sva, and qvalue are integrated in edge to provide a wide range of tools for gene expression analysis.' license_file: LICENSE +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} \ No newline at end of file diff --git a/recipes/bioconductor-edger/meta.yaml b/recipes/bioconductor-edger/meta.yaml index 0884137cf6b49..b8f25cddfaf0d 100644 --- a/recipes/bioconductor-edger/meta.yaml +++ b/recipes/bioconductor-edger/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "4.0.2" %} +{% set version = "4.0.16" %} {% set name = "edgeR" %} {% set bioc = "3.18" %} @@ -11,9 +11,9 @@ source: - 'https://bioconductor.org/packages/{{ bioc }}/bioc/src/contrib/Archive/{{ name }}/{{ name }}_{{ version }}.tar.gz' - 'https://bioarchive.galaxyproject.org/{{ name }}_{{ version }}.tar.gz' - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' - md5: 0ba48556be0c95b929db5bbed32923f3 + md5: 8fb1c6c67e29d299c991d16d0f6c5f5b build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -41,11 +41,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>=2)' + license: 'GPL-3.0-or-later' summary: 'Empirical Analysis of Digital Gene Expression Data in R' description: 'Differential expression analysis of RNA-seq expression profiles with biological replication. Implements a range of statistical methodology based on the negative binomial distributions, including empirical Bayes estimation, exact tests, generalized linear models and quasi-likelihood tests. As well as RNA-seq, it be applied to differential signal analysis of other types of genomic data that produce read counts, including ChIP-seq, ATAC-seq, Bisulfite-seq, SAGE and CAGE.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:edger - usegalaxy-eu:edger diff --git a/recipes/bioconductor-enrichtf/meta.yaml b/recipes/bioconductor-enrichtf/meta.yaml index 942370c55322c..5637a45861a28 100644 --- a/recipes/bioconductor-enrichtf/meta.yaml +++ b/recipes/bioconductor-enrichtf/meta.yaml @@ -70,4 +70,3 @@ about: summary: 'Transcription Factors Enrichment Analysis' description: 'As transcription factors (TFs) play a crucial role in regulating the transcription process through binding on the genome alone or in a combinatorial manner, TF enrichment analysis is an efficient and important procedure to locate the candidate functional TFs from a set of experimentally defined regulatory regions. While it is commonly accepted that structurally related TFs may have similar binding preference to sequences (i.e. motifs) and one TF may have multiple motifs, TF enrichment analysis is much more challenging than motif enrichment analysis. Here we present a R package for TF enrichment analysis which combine motif enrichment with the PECA model.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' - diff --git a/recipes/bioconductor-esatac/meta.yaml b/recipes/bioconductor-esatac/meta.yaml index 6959b5764686a..70ee8c371f47c 100644 --- a/recipes/bioconductor-esatac/meta.yaml +++ b/recipes/bioconductor-esatac/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 6ea63da6e75365243df878d55d6b39f9 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -100,8 +100,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL-3 | file LICENSE' + license: 'GPL-3.0-only | file LICENSE' summary: 'An Easy-to-use Systematic pipeline for ATACseq data analysis' description: 'This package provides a framework and complete preset pipeline for quantification and analysis of ATAC-seq Reads. It covers raw sequencing reads preprocessing (FASTQ files), reads alignment (Rbowtie2), aligned reads file operations (SAM, BAM, and BED files), peak calling (F-seq), genome annotations (Motif, GO, SNP analysis) and quality control report. The package is managed by dataflow graph. It is easy for user to pass variables seamlessly between processes and understand the workflow. Users can process FASTQ files through end-to-end preset pipeline which produces a pretty HTML report for quality control and preliminary statistical results, or customize workflow starting from any intermediate stages with esATAC functions easily and flexibly.' license_file: LICENSE +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name }} \ No newline at end of file diff --git a/recipes/bioconductor-exomecopy/meta.yaml b/recipes/bioconductor-exomecopy/meta.yaml index f7971f0ae0e21..31d7b9c3949b6 100644 --- a/recipes/bioconductor-exomecopy/meta.yaml +++ b/recipes/bioconductor-exomecopy/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 068f1f0cb675297a1b7940330fae0cbe build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -42,11 +42,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>= 2)' + license: 'GPL-3.0-or-later' summary: 'Copy number variant detection from exome sequencing read depth' description: 'Detection of copy number variants (CNV) from exome sequencing samples, including unpaired samples. The package implements a hidden Markov model which uses positional covariates, such as background read depth and GC-content, to simultaneously normalize and segment the samples into regions of constant copy count.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:exomecopy - doi:10.2202/1544-6115.1732 diff --git a/recipes/bioconductor-extrachips/build_failure.osx-64.yaml b/recipes/bioconductor-extrachips/build_failure.osx-64.yaml index ce45b2032e4f2..4061ce0faf29f 100644 --- a/recipes/bioconductor-extrachips/build_failure.osx-64.yaml +++ b/recipes/bioconductor-extrachips/build_failure.osx-64.yaml @@ -1,5 +1,7 @@ recipe_sha: cd6c654642b58a1ae021676e3516975dbc01a6ba6e27b668bc181e21ad457739 # The commit at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: |- + dependency issue log: |2- /opt/mambaforge/envs/bioconda/conda-bld/work Test: diff --git a/recipes/bioconductor-fastqcleaner/meta.yaml b/recipes/bioconductor-fastqcleaner/meta.yaml index d19fbfc3143e2..5b847ec2591fe 100644 --- a/recipes/bioconductor-fastqcleaner/meta.yaml +++ b/recipes/bioconductor-fastqcleaner/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: bace77f4e33bd7fe58cbbadaefd896d8 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -58,3 +58,8 @@ about: description: 'An interactive web application for quality control, filtering and trimming of FASTQ files. This user-friendly tool combines a pipeline for data processing based on Biostrings and ShortRead infrastructure, with a cutting-edge visual environment. Single-Read and Paired-End files can be locally processed. Diagnostic interactive plots (CG content, per-base sequence quality, etc.) are provided for both the input and output files.' license_file: LICENSE +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} diff --git a/recipes/bioconductor-fastseg/meta.yaml b/recipes/bioconductor-fastseg/meta.yaml index 2a67786842c05..5e6686b13d3d2 100644 --- a/recipes/bioconductor-fastseg/meta.yaml +++ b/recipes/bioconductor-fastseg/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: ca8ead071a9b881b19dea7b71e0e73b4 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -45,11 +45,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'LGPL (>= 2.0)' + license: 'LGPL-3.0-or-later' summary: 'fastseg - a fast segmentation algorithm' description: 'fastseg implements a very fast and efficient segmentation algorithm. It has similar functionality as DNACopy (Olshen and Venkatraman 2004), but is considerably faster and more flexible. fastseg can segment data from DNA microarrays and data from next generation sequencing for example to detect copy number segments. Further it can segment data from RNA microarrays like tiling arrays to identify transcripts. Most generally, it can segment data given as a matrix or as a vector. Various data formats can be used as input to fastseg like expression set objects for microarrays or GRanges for sequencing data. The segmentation criterion of fastseg is based on a statistical test in a Bayesian framework, namely the cyber t-test (Baldi 2001). The speed-up arises from the facts, that sampling is not necessary in for fastseg and that a dynamic programming approach is used for calculation of the segments'' first and higher order moments.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/LGPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:fastseg parent_recipe: diff --git a/recipes/bioconductor-fgsea/meta.yaml b/recipes/bioconductor-fgsea/meta.yaml index 1d179f86b50b2..8463d4f6d6021 100644 --- a/recipes/bioconductor-fgsea/meta.yaml +++ b/recipes/bioconductor-fgsea/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 53b8ab8a13390a0920bc13eeba3aa1b8 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -58,6 +58,8 @@ about: summary: 'Fast Gene Set Enrichment Analysis' description: 'The package implements an algorithm for fast gene set enrichment analysis. Using the fast algorithm allows to make more permutations and get more fine grained p-values, which allows to use accurate stantard approaches to multiple hypothesis correction.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:fgsea - doi:10.1101/060012 diff --git a/recipes/bioconductor-flagme/meta.yaml b/recipes/bioconductor-flagme/meta.yaml index 90086340aa522..03d2d8604976d 100644 --- a/recipes/bioconductor-flagme/meta.yaml +++ b/recipes/bioconductor-flagme/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: ada68435478c0172b282919125008b1f build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -50,6 +50,8 @@ about: description: 'Fragment-level analysis of gas chromatography-massspectrometry metabolomics data.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/LGPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:flagme - doi:10.1038/nmeth.3252 diff --git a/recipes/bioconductor-flames/meta.yaml b/recipes/bioconductor-flames/meta.yaml index b1158548b72df..05cea2c22df0e 100644 --- a/recipes/bioconductor-flames/meta.yaml +++ b/recipes/bioconductor-flames/meta.yaml @@ -13,6 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: ecfe856c54464ffd2c27f8e10063d494 build: + skip: True # [osx] number: 0 rpaths: - lib/R/lib/ diff --git a/recipes/bioconductor-flowclust/meta.yaml b/recipes/bioconductor-flowclust/meta.yaml index 946cfdb1cd414..e23f51ab272d9 100644 --- a/recipes/bioconductor-flowclust/meta.yaml +++ b/recipes/bioconductor-flowclust/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 50e5d774ae44b8aaca69069733c175e3 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -48,3 +48,9 @@ about: summary: 'Clustering for Flow Cytometry' description: 'Robust model-based clustering using a t-mixture model with Box-Cox transformation. Note: users should have GSL installed. Windows users: ''consult the README file available in the inst directory of the source distribution for necessary configuration instructions''.' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} + diff --git a/recipes/bioconductor-flowcore/meta.yaml b/recipes/bioconductor-flowcore/meta.yaml index bb31c70c0c63a..f5a254a4c935c 100644 --- a/recipes/bioconductor-flowcore/meta.yaml +++ b/recipes/bioconductor-flowcore/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 3b0696fd3fc45a87531ab3503be00277 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -58,6 +58,8 @@ about: summary: 'flowCore: Basic structures for flow cytometry data' description: 'Provides S4 data structures and basic functions to deal with flow cytometry data.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:flowcore - doi:10.1186/1471-2105-10-106 diff --git a/recipes/bioconductor-flowdensity/meta.yaml b/recipes/bioconductor-flowdensity/meta.yaml index 7a7978ac58c3d..4e52b04c18b7d 100644 --- a/recipes/bioconductor-flowdensity/meta.yaml +++ b/recipes/bioconductor-flowdensity/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 30c661d010484bff6c2eb427a7056aa1 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ diff --git a/recipes/bioconductor-flowfp/meta.yaml b/recipes/bioconductor-flowfp/meta.yaml index 680a77375956c..8d91ab91bc4af 100644 --- a/recipes/bioconductor-flowfp/meta.yaml +++ b/recipes/bioconductor-flowfp/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 5f0424d8a662d2d65bacbcff080d9c7a build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -47,6 +47,8 @@ about: summary: 'Fingerprinting for Flow Cytometry' description: 'Fingerprint generation of flow cytometry data, used to facilitate the application of machine learning and datamining tools for flow cytometry.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:flowfp - doi:10.1155/2009/193947 diff --git a/recipes/bioconductor-flowmatch/meta.yaml b/recipes/bioconductor-flowmatch/meta.yaml index fbbc71e016972..c27636b543ddd 100644 --- a/recipes/bioconductor-flowmatch/meta.yaml +++ b/recipes/bioconductor-flowmatch/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 78b2b9dc87eec35dbc65c59dadb1ffd9 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -45,6 +45,8 @@ about: summary: 'Matching and meta-clustering in flow cytometry' description: 'Matching cell populations and building meta-clusters and templates from a collection of FC samples.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:flowmatch - doi:10.1038/nmeth.3252 diff --git a/recipes/bioconductor-flowpeaks/meta.yaml b/recipes/bioconductor-flowpeaks/meta.yaml index ac3d20f1f9a9d..dad0728d2ef7d 100644 --- a/recipes/bioconductor-flowpeaks/meta.yaml +++ b/recipes/bioconductor-flowpeaks/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: f68db373a0d053a7eabd112df80a25f1 build: - number: 0 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -41,6 +41,8 @@ about: summary: 'An R package for flow data clustering' description: 'A fast and automatic clustering to classify the cells into subpopulations based on finding the peaks from the overall density function generated by K-means.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:flowpeaks parent_recipe: diff --git a/recipes/bioconductor-flowsom/meta.yaml b/recipes/bioconductor-flowsom/meta.yaml index e8708a748755e..b149ec1e272b1 100644 --- a/recipes/bioconductor-flowsom/meta.yaml +++ b/recipes/bioconductor-flowsom/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 9bc309cc9948473d101d91ba6f1a37f2 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -64,11 +64,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>= 2)' + license: 'GPL-3.0-or-later' summary: 'Using self-organizing maps for visualization and interpretation of cytometry data' description: 'FlowSOM offers visualization options for cytometry data, by using Self-Organizing Map clustering and Minimal Spanning Trees.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:flowsom - doi:10.1002/cyto.a.22625 diff --git a/recipes/bioconductor-fraser/1.99.3/build.sh b/recipes/bioconductor-fraser/1.99.3/build.sh new file mode 100644 index 0000000000000..c1d13421f5f1e --- /dev/null +++ b/recipes/bioconductor-fraser/1.99.3/build.sh @@ -0,0 +1,11 @@ +#!/bin/bash +mv DESCRIPTION DESCRIPTION.old +grep -v '^Priority: ' DESCRIPTION.old > DESCRIPTION +mkdir -p ~/.R +echo -e "CC=$CC +FC=$FC +CXX=$CXX +CXX98=$CXX +CXX11=$CXX +CXX14=$CXX" > ~/.R/Makevars +$R CMD INSTALL --build . \ No newline at end of file diff --git a/recipes/bioconductor-fraser/1.99.3/meta.yaml b/recipes/bioconductor-fraser/1.99.3/meta.yaml new file mode 100644 index 0000000000000..e97f12240daa6 --- /dev/null +++ b/recipes/bioconductor-fraser/1.99.3/meta.yaml @@ -0,0 +1,120 @@ +{% set version = "1.99.3" %} +{% set name = "FRASER" %} +{% set bioc = "3.18" %} + +package: + name: 'bioconductor-{{ name|lower }}' + version: '{{ version }}' +source: + url: + - 'https://github.com/gagneurlab/FRASER/archive/refs/tags/{{ version }}.tar.gz' + md5: b16bc4611726e488a5a0eebe54a4a1f9 +build: + skip: True # [osx] + number: 0 + rpaths: + - lib/R/lib/ + - lib/ + run_exports: '{{ pin_subpackage("bioconductor-fraser", max_pin="x.x") }}' +# Suggests: BiocStyle, knitr, rmarkdown, testthat, covr, TxDb.Hsapiens.UCSC.hg19.knownGene, org.Hs.eg.db, +requirements: + host: + - 'bioconductor-annotationdbi >=1.64.0,<1.65.0' + - 'bioconductor-biobase >=2.62.0,<2.63.0' + - 'bioconductor-biocgenerics >=0.48.0,<0.49.0' + - 'bioconductor-biocparallel >=1.36.0,<1.37.0' + - 'bioconductor-biomart >=2.58.0,<2.59.0' + - 'bioconductor-bsgenome >=1.70.0,<1.71.0' + - 'bioconductor-delayedarray >=0.28.0,<0.29.0' + - 'bioconductor-delayedmatrixstats >=1.24.0,<1.25.0' + - 'bioconductor-genomeinfodb >=1.38.0,<1.39.0' + - 'bioconductor-genomicalignments >=1.38.0,<1.39.0' + - 'bioconductor-genomicfeatures >=1.54.0,<1.55.0' + - 'bioconductor-genomicranges >=1.54.0,<1.55.0' + - 'bioconductor-hdf5array >=1.30.0,<1.31.0' + - 'bioconductor-iranges >=2.36.0,<2.37.0' + - 'bioconductor-outrider >=1.20.0,<1.21.0' + - 'bioconductor-pcamethods >=1.94.0,<1.95.0' + - 'bioconductor-rhdf5 >=2.46.0,<2.47.0' + - 'bioconductor-rsamtools >=2.18.0,<2.19.0' + - 'bioconductor-rsubread >=2.16.0,<2.17.0' + - 'bioconductor-s4vectors >=0.40.0,<0.41.0' + - 'bioconductor-summarizedexperiment >=1.32.0,<1.33.0' + - r-base + - r-bbmisc + - r-cowplot + - r-data.table + - r-extradistr + - r-generics + - r-ggplot2 + - r-ggrepel + - r-matrixstats + - r-pheatmap + - r-plotly + - r-prroc + - r-r.utils + - r-rcolorbrewer + - r-rcpp + - r-rcpparmadillo + - r-tibble + - r-vgam + - libblas + - liblapack + run: + - 'bioconductor-annotationdbi >=1.64.0,<1.65.0' + - 'bioconductor-biobase >=2.62.0,<2.63.0' + - 'bioconductor-biocgenerics >=0.48.0,<0.49.0' + - 'bioconductor-biocparallel >=1.36.0,<1.37.0' + - 'bioconductor-biomart >=2.58.0,<2.59.0' + - 'bioconductor-bsgenome >=1.70.0,<1.71.0' + - 'bioconductor-delayedarray >=0.28.0,<0.29.0' + - 'bioconductor-delayedmatrixstats >=1.24.0,<1.25.0' + - 'bioconductor-genomeinfodb >=1.38.0,<1.39.0' + - 'bioconductor-genomicalignments >=1.38.0,<1.39.0' + - 'bioconductor-genomicfeatures >=1.54.0,<1.55.0' + - 'bioconductor-genomicranges >=1.54.0,<1.55.0' + - 'bioconductor-hdf5array >=1.30.0,<1.31.0' + - 'bioconductor-iranges >=2.36.0,<2.37.0' + - 'bioconductor-outrider >=1.20.0,<1.21.0' + - 'bioconductor-pcamethods >=1.94.0,<1.95.0' + - 'bioconductor-rhdf5 >=2.46.0,<2.47.0' + - 'bioconductor-rsamtools >=2.18.0,<2.19.0' + - 'bioconductor-rsubread >=2.16.0,<2.17.0' + - 'bioconductor-s4vectors >=0.40.0,<0.41.0' + - 'bioconductor-summarizedexperiment >=1.32.0,<1.33.0' + - r-base + - r-bbmisc + - r-cowplot + - r-data.table + - r-extradistr + - r-generics + - r-ggplot2 + - r-ggrepel + - r-matrixstats + - r-pheatmap + - r-plotly + - r-prroc + - r-r.utils + - r-rcolorbrewer + - r-rcpp + - r-rcpparmadillo + - r-tibble + - r-vgam + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - make +test: + commands: + - '$R -e "library(''{{ name }}'')"' +about: + home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' + license: 'MIT + file LICENSE' + summary: 'Find RAre Splicing Events in RNA-Seq Data' + description: 'Detection of rare aberrant splicing events in transcriptome profiles. Read count ratio expectations are modeled by an autoencoder to control for confounding factors in the data. Given these expectations, the ratios are assumed to follow a beta-binomial distribution with a junction specific dispersion. Outlier events are then identified as read-count ratios that deviate significantly from this distribution. FRASER is able to detect alternative splicing, but also intron retention. The package aims to support diagnostics in the field of rare diseases where RNA-seq is performed to identify aberrant splicing defects.' + license_file: LICENSE +extra: + identifiers: + - https://doi.org/10.1038/s41467-020-20573-7 + recipe-maintainers: + - c-mertes diff --git a/recipes/bioconductor-fraser/meta.yaml b/recipes/bioconductor-fraser/meta.yaml index 640b8fc4d0607..e101c3932d9fb 100644 --- a/recipes/bioconductor-fraser/meta.yaml +++ b/recipes/bioconductor-fraser/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.14.0" %} +{% set version = "1.99.4" %} {% set name = "FRASER" %} {% set bioc = "3.18" %} @@ -7,11 +7,8 @@ package: version: '{{ version }}' source: url: - - 'https://bioconductor.org/packages/{{ bioc }}/bioc/src/contrib/{{ name }}_{{ version }}.tar.gz' - - 'https://bioconductor.org/packages/{{ bioc }}/bioc/src/contrib/Archive/{{ name }}/{{ name }}_{{ version }}.tar.gz' - - 'https://bioarchive.galaxyproject.org/{{ name }}_{{ version }}.tar.gz' - - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' - md5: 07e7f6a03b43d2111015d4fc051f3a00 + - 'https://github.com/gagneurlab/FRASER/archive/refs/tags/{{ version }}.tar.gz' + md5: 37b2d4b80b66f19d71eaf481e77b0eec build: number: 0 rpaths: @@ -120,4 +117,3 @@ extra: - https://doi.org/10.1038/s41467-020-20573-7 recipe-maintainers: - c-mertes - diff --git a/recipes/bioconductor-gaga/meta.yaml b/recipes/bioconductor-gaga/meta.yaml index e96e988b0e664..929fa49e04c27 100644 --- a/recipes/bioconductor-gaga/meta.yaml +++ b/recipes/bioconductor-gaga/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: d1b404912b9a23365c9085dc91e20a10 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -41,11 +41,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>= 2)' + license: 'GPL-3.0-or-later' summary: 'GaGa hierarchical model for high-throughput data analysis' description: 'Implements the GaGa model for high-throughput data analysis, including differential expression analysis, supervised gene clustering and classification. Additionally, it performs sequential sample size calculations using the GaGa and LNNGV models (the latter from EBarrays package).' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:gaga - doi:10.1214/09-aoas244 diff --git a/recipes/bioconductor-garfield/meta.yaml b/recipes/bioconductor-garfield/meta.yaml index 0f71b3e382829..628d30c46a398 100644 --- a/recipes/bioconductor-garfield/meta.yaml +++ b/recipes/bioconductor-garfield/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: bf1974925a6c10b95ada01ff6d46bf15 build: - number: 1 + number: 3 rpaths: - lib/R/lib/ - lib/ @@ -40,3 +40,6 @@ about: description: 'GARFIELD is a non-parametric functional enrichment analysis approach described in the paper GARFIELD: GWAS analysis of regulatory or functional information enrichment with LD correction. Briefly, it is a method that leverages GWAS findings with regulatory or functional annotations (primarily from ENCODE and Roadmap epigenomics data) to find features relevant to a phenotype of interest. It performs greedy pruning of GWAS SNPs (LD r2 > 0.1) and then annotates them based on functional information overlap. Next, it quantifies Fold Enrichment (FE) at various GWAS significance cutoffs and assesses them by permutation testing, while matching for minor allele frequency, distance to nearest transcription start site and number of LD proxies (r2 > 0.8).' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/bioconductor-gatom/build_failure.linux-64.yaml b/recipes/bioconductor-gatom/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..253ed0b0d61b5 --- /dev/null +++ b/recipes/bioconductor-gatom/build_failure.linux-64.yaml @@ -0,0 +1,106 @@ +recipe_sha: 7ebb01aa7b6769d098059934bddb98ded4a89c60a59b8400436d8a3a28fb92c1 # The commit at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: |- + dependency issue +log: |2- + - r-mwcsr + - r-pryr + - r-data.table + - r-plyr + - r-shinycyjs >=1.0.0 + - r-base 4.3.* + + with channels: + - file:///opt/host-conda-bld + - conda-forge + - bioconda + - defaults + + The reported errors are: + - Encountered problems while solving: + - - nothing provides requested r-mwcsr + - - nothing provides requested r-shinycyjs >=1.0.0 + - + + Leaving build/test directories: + Work: + /opt/conda/conda-bld/work + Test: + /opt/conda/conda-bld/test_tmp + Leaving build/test environments: + Test: + source activate /opt/conda/conda-bld/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl + Build: + source activate /opt/conda/conda-bld/_build_env + + + Traceback (most recent call last): + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 141, in mamba_get_install_actions + solution = solver.solve_for_action(_specs, prefix) + File "/opt/conda/lib/python3.8/site-packages/boa/core/solver.py", line 244, in solve_for_action + t = self.solve(specs) + File "/opt/conda/lib/python3.8/site-packages/boa/core/solver.py", line 234, in solve + raise RuntimeError("Solver could not find solution." error_string) + RuntimeError: Solver could not find solution.Mamba failed to solve: + - r-ggally + - r-xml + - r-sna + - r-htmltools + - r-htmlwidgets + - r-intergraph + - r-ggplot2 + - bioconductor-bionet >=1.62.0,<1.63.0 + - r-network + - r-igraph + - r-mwcsr + - r-pryr + - r-data.table + - r-plyr + - r-shinycyjs >=1.0.0 + - r-base 4.3.* + + with channels: + - file:///opt/host-conda-bld + - conda-forge + - bioconda + - defaults + + The reported errors are: + - Encountered problems while solving: + - - nothing provides requested r-mwcsr + - - nothing provides requested r-shinycyjs >=1.0.0 + - + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/bin/conda-mambabuild", line 10, in + sys.exit(main()) + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main + call_conda_build(action, config) + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build + result = api.build( + File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build + return build_tree( + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree + packages_from_this = build(metadata, stats, + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2038, in build + output_metas = expand_outputs([(m, need_source_download, need_reparse_in_env)]) + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 787, in expand_outputs + for (output_dict, m) in deepcopy(_m).get_output_metadata_set(permit_unsatisfiable_variants=False): + File "/opt/conda/lib/python3.8/site-packages/conda_build/metadata.py", line 2524, in get_output_metadata_set + conda_packages = finalize_outputs_pass( + File "/opt/conda/lib/python3.8/site-packages/conda_build/metadata.py", line 884, in finalize_outputs_pass + fm = finalize_metadata( + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 547, in finalize_metadata + build_unsat, host_unsat = add_upstream_pins(m, + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 409, in add_upstream_pins + host_deps, host_unsat, extra_run_specs_from_host = _read_upstream_pin_files(m, 'host', + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 374, in _read_upstream_pin_files + deps, actions, unsat = get_env_dependencies(m, env, m.config.variant, + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 131, in get_env_dependencies + actions = environ.get_install_actions(tmpdir, tuple(dependencies), env, + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 150, in mamba_get_install_actions + raise err + conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("r-mwcsr"), MatchSpec("r-shinycyjs[version='>=1.0.0']")} +# Last 100 lines of the build log. diff --git a/recipes/bioconductor-gdsfmt/meta.yaml b/recipes/bioconductor-gdsfmt/meta.yaml index e69a5c33b929e..7569c70324307 100644 --- a/recipes/bioconductor-gdsfmt/meta.yaml +++ b/recipes/bioconductor-gdsfmt/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 8851c188356c12f7e99488ceb4daeca8 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -40,6 +40,8 @@ about: description: 'Provides a high-level R interface to CoreArray Genomic Data Structure (GDS) data files. GDS is portable across platforms with hierarchical structure to store multiple scalable array-oriented data sets with metadata information. It is suited for large-scale datasets, especially for data which are much larger than the available random-access memory. The gdsfmt package offers the efficient operations specifically designed for integers of less than 8 bits, since a diploid genotype, like single-nucleotide polymorphism (SNP), usually occupies fewer bits than a byte. Data compression and decompression are available with relatively efficient random access. It is also allowed to read a GDS file in parallel with multiple R processes supported by the package parallel.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/LGPL-3' extra: + additional-platforms: + - linux-aarch64 parent_recipe: name: bioconductor-gdsfmt path: recipes/bioconductor-gdsfmt diff --git a/recipes/bioconductor-genefilter/meta.yaml b/recipes/bioconductor-genefilter/meta.yaml index 1e6cb5b05ad13..0c9c1b258bc3d 100644 --- a/recipes/bioconductor-genefilter/meta.yaml +++ b/recipes/bioconductor-genefilter/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 15011d1662a58967aeb3e89f1f660e40 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -50,6 +50,8 @@ about: summary: 'genefilter: methods for filtering genes from high-throughput experiments' description: 'Some basic functions for filtering genes.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:genefilter - doi:10.1038/nmeth.3252 diff --git a/recipes/bioconductor-genegeneinter/meta.yaml b/recipes/bioconductor-genegeneinter/meta.yaml index 666e48ad08da2..ea75dfc6378c3 100644 --- a/recipes/bioconductor-genegeneinter/meta.yaml +++ b/recipes/bioconductor-genegeneinter/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 119efde24626155c173e9b24b5f2c9e6 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -52,8 +52,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>= 2)' + license: 'GPL-3.0.-or-later' summary: 'Tools for Testing Gene-Gene Interaction at the Gene Level' description: 'The aim of this package is to propose several methods for testing gene-gene interaction in case-control association studies. Such a test can be done by aggregating SNP-SNP interaction tests performed at the SNP level (SSI) or by using gene-gene multidimensionnal methods (GGI) methods. The package also proposes tools for a graphic display of the results. .' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} \ No newline at end of file diff --git a/recipes/bioconductor-genenetworkbuilder/meta.yaml b/recipes/bioconductor-genenetworkbuilder/meta.yaml index 40e22076b24fd..840e50663cdde 100644 --- a/recipes/bioconductor-genenetworkbuilder/meta.yaml +++ b/recipes/bioconductor-genenetworkbuilder/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: aedb0b143d59865acfad5ce4d635ff77 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -49,8 +49,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>= 2)' + license: 'GPL-3.0-or-later' summary: 'GeneNetworkBuilder: a bioconductor package for building regulatory network using ChIP-chip/ChIP-seq data and Gene Expression Data' description: 'Appliation for discovering direct or indirect targets of transcription factors using ChIP-chip or ChIP-seq, and microarray or RNA-seq gene expression data. Inputting a list of genes of potential targets of one TF from ChIP-chip or ChIP-seq, and the gene expression results, GeneNetworkBuilder generates a regulatory network of the TF.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} diff --git a/recipes/bioconductor-geneselectmmd/meta.yaml b/recipes/bioconductor-geneselectmmd/meta.yaml index ca85264568320..f28cf53ec6c7b 100644 --- a/recipes/bioconductor-geneselectmmd/meta.yaml +++ b/recipes/bioconductor-geneselectmmd/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: dd6cd07bbe095fca03ce4b134c1507b8 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -41,8 +41,14 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>= 2)' + license: 'GPL-3.0-or-later' summary: 'Gene selection based on the marginal distributions of gene profiles that characterized by a mixture of three-component multivariate distributions' description: 'Gene selection based on a mixture of marginal distributions.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} + - usegalaxy-eu:{{ name|lower }} diff --git a/recipes/bioconductor-geneticsped/meta.yaml b/recipes/bioconductor-geneticsped/meta.yaml index 50a50397e73b2..d2fc3bea27908 100644 --- a/recipes/bioconductor-geneticsped/meta.yaml +++ b/recipes/bioconductor-geneticsped/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 7d2a79c363e79459dd3edf3b4571f313 build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -47,3 +47,6 @@ about: description: 'Classes and methods for handling pedigree data. It also includes functions to calculate genetic relationship measures as relationship and inbreeding coefficients and other utilities. Note that package is not yet stable. Use it with care!' license_file: LICENSE +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/bioconductor-genextender/meta.yaml b/recipes/bioconductor-genextender/meta.yaml index 7676ab9d54672..cc7257f170ded 100644 --- a/recipes/bioconductor-genextender/meta.yaml +++ b/recipes/bioconductor-genextender/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 63ab36f83aa3d05bf932dc3c0e0c173a build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -58,8 +58,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>= 3)' + license: 'GPL-3.0-or-later' summary: 'Optimized Functional Annotation Of ChIP-seq Data' description: 'geneXtendeR optimizes the functional annotation of ChIP-seq peaks by exploring relative differences in annotating ChIP-seq peak sets to variable-length gene bodies. In contrast to prior techniques, geneXtendeR considers peak annotations beyond just the closest gene, allowing users to see peak summary statistics for the first-closest gene, second-closest gene, ..., n-closest gene whilst ranking the output according to biologically relevant events and iteratively comparing the fidelity of peak-to-gene overlap across a user-defined range of upstream and downstream extensions on the original boundaries of each gene''s coordinates. Since different ChIP-seq peak callers produce different differentially enriched peaks with a large variance in peak length distribution and total peak count, annotating peak lists with their nearest genes can often be a noisy process. As such, the goal of geneXtendeR is to robustly link differentially enriched peaks with their respective genes, thereby aiding experimental follow-up and validation in designing primers for a set of prospective gene candidates during qPCR.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} diff --git a/recipes/bioconductor-genocn/meta.yaml b/recipes/bioconductor-genocn/meta.yaml index 5e9274f6a5ac2..12d3392a05b05 100644 --- a/recipes/bioconductor-genocn/meta.yaml +++ b/recipes/bioconductor-genocn/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: ebc7fc5cb3b5c2bcd98718a7bcd95d6a build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -38,3 +38,6 @@ about: description: 'Simultaneous identification of copy number states and genotype calls for regions of either copy number variations or copy number aberrations' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/bioconductor-genomation/meta.yaml b/recipes/bioconductor-genomation/meta.yaml index 447d7838acc42..9f025c887b497 100644 --- a/recipes/bioconductor-genomation/meta.yaml +++ b/recipes/bioconductor-genomation/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 5453f50009f3f7227025431d4d10f4bb build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -79,6 +79,8 @@ about: summary: 'Summary, annotation and visualization of genomic data' description: 'A package for summary and annotation of genomic intervals. Users can visualize and quantify genomic intervals over pre-defined functional regions, such as promoters, exons, introns, etc. The genomic intervals represent regions with a defined chromosome position, which may be associated with a score, such as aligned reads from HT-seq experiments, TF binding sites, methylation scores, etc. The package can use any tabular genomic feature data as long as it has minimal information on the locations of genomic intervals. In addition, It can use BAM or BigWig files as input.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:genomation parent_recipe: diff --git a/recipes/bioconductor-genomicalignments/meta.yaml b/recipes/bioconductor-genomicalignments/meta.yaml index 7c60c29965ab8..a8dc964e444f8 100644 --- a/recipes/bioconductor-genomicalignments/meta.yaml +++ b/recipes/bioconductor-genomicalignments/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: a5b7669b8ef7444527c2e43c49840014 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -56,6 +56,8 @@ about: summary: 'Representation and manipulation of short genomic alignments' description: 'Provides efficient containers for storing and manipulating short genomic alignments (typically obtained by aligning short reads to a reference genome). This includes read counting, computing the coverage, junction detection, and working with the nucleotide content of the alignments.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:genomicalignments parent_recipe: diff --git a/recipes/bioconductor-genomicranges/meta.yaml b/recipes/bioconductor-genomicranges/meta.yaml index 895ba1c23b7d2..c097a42a81db0 100644 --- a/recipes/bioconductor-genomicranges/meta.yaml +++ b/recipes/bioconductor-genomicranges/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 19fe37133cae70c1c3a1a164e6c8eaed build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -48,6 +48,8 @@ about: summary: 'Representation and manipulation of genomic intervals' description: 'The ability to efficiently represent and manipulate genomic annotations and alignments is playing a central role when it comes to analyzing high-throughput sequencing data (a.k.a. NGS data). The GenomicRanges package defines general purpose containers for storing and manipulating genomic intervals and variables defined along a genome. More specialized containers for representing and manipulating short alignments against a reference genome, or a matrix-like summarization of an experiment, are defined in the GenomicAlignments and SummarizedExperiment packages, respectively. Both packages build on top of the GenomicRanges infrastructure.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:genomicranges parent_recipe: diff --git a/recipes/bioconductor-girafe/meta.yaml b/recipes/bioconductor-girafe/meta.yaml index 8b2eb662a4fcf..4ce52be365f1b 100644 --- a/recipes/bioconductor-girafe/meta.yaml +++ b/recipes/bioconductor-girafe/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 4cf228e6d7f73cf97c923f1c349fb6c3 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -57,6 +57,8 @@ about: summary: 'Genome Intervals and Read Alignments for Functional Exploration' description: 'The package ''girafe'' deals with the genome-level representation of aligned reads from next-generation sequencing data. It contains an object class for enabling a detailed description of genome intervals with aligned reads and functions for comparing, visualising, exporting and working with such intervals and the aligned reads. As such, the package interacts with and provides a link between the packages ShortRead, IRanges and genomeIntervals.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:girafe parent_recipe: diff --git a/recipes/bioconductor-gmapr/build.sh b/recipes/bioconductor-gmapr/build.sh index c1d13421f5f1e..3c9546c924fe5 100644 --- a/recipes/bioconductor-gmapr/build.sh +++ b/recipes/bioconductor-gmapr/build.sh @@ -8,4 +8,6 @@ CXX=$CXX CXX98=$CXX CXX11=$CXX CXX14=$CXX" > ~/.R/Makevars +# Remove object files (if present) that should not be in the source tarball +rm -f src/samtools/*.[oa] $R CMD INSTALL --build . \ No newline at end of file diff --git a/recipes/bioconductor-gmapr/meta.yaml b/recipes/bioconductor-gmapr/meta.yaml index 45159a2ac666f..ce440aad1fe2b 100644 --- a/recipes/bioconductor-gmapr/meta.yaml +++ b/recipes/bioconductor-gmapr/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 3398b4dd3f0c05c2a748f9ecb0a28c41 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -67,3 +67,8 @@ about: summary: 'An R interface to the GMAP/GSNAP/GSTRUCT suite' description: 'GSNAP and GMAP are a pair of tools to align short-read data written by Tom Wu. This package provides convenience methods to work with GMAP and GSNAP from within R. In addition, it provides methods to tally alignment results on a per-nucleotide basis using the bam_tally tool.' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} \ No newline at end of file diff --git a/recipes/bioconductor-gnet2/meta.yaml b/recipes/bioconductor-gnet2/meta.yaml index c4a8c0c2f55e4..acf7bfe64973c 100644 --- a/recipes/bioconductor-gnet2/meta.yaml +++ b/recipes/bioconductor-gnet2/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 06382e36858e9d55d44aabba748d49b8 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -57,3 +57,8 @@ about: summary: 'Constructing gene regulatory networks from expression data through functional module inference' description: 'Cluster genes to functional groups with E-M process. Iteratively perform TF assigning and Gene assigning, until the assignment of genes did not change, or max number of iterations is reached.' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} diff --git a/recipes/bioconductor-gosemsim/meta.yaml b/recipes/bioconductor-gosemsim/meta.yaml index 186111722022f..ae4cc675372b4 100644 --- a/recipes/bioconductor-gosemsim/meta.yaml +++ b/recipes/bioconductor-gosemsim/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: ea9c9c6e25cc507a2b5cff51f268d848 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -47,6 +47,8 @@ about: summary: 'GO-terms Semantic Similarity Measures' description: 'The semantic comparisons of Gene Ontology (GO) annotations provide quantitative ways to compute similarities between genes and gene groups, and have became important basis for many bioinformatics analysis approaches. GOSemSim is an R package for semantic similarity computation among GO terms, sets of GO terms, gene products and gene clusters. GOSemSim implemented five methods proposed by Resnik, Schlicker, Jiang, Lin and Wang respectively.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:gosemsim parent_recipe: diff --git a/recipes/bioconductor-gpa/meta.yaml b/recipes/bioconductor-gpa/meta.yaml index c5e078dff7b47..aca43c441e96b 100644 --- a/recipes/bioconductor-gpa/meta.yaml +++ b/recipes/bioconductor-gpa/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 2c1f0f3436c036a3e098d7780deb7282 build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -52,8 +52,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>= 2)' + license: 'GPL-3.0-or-later' summary: 'GPA (Genetic analysis incorporating Pleiotropy and Annotation)' description: 'This package provides functions for fitting GPA, a statistical framework to prioritize GWAS results by integrating pleiotropy information and annotation data. In addition, it also includes ShinyGPA, an interactive visualization toolkit to investigate pleiotropic architecture.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name }} diff --git a/recipes/bioconductor-gpumagic/meta.yaml b/recipes/bioconductor-gpumagic/meta.yaml index 01078c15d9ca6..4aaa1e52b559b 100644 --- a/recipes/bioconductor-gpumagic/meta.yaml +++ b/recipes/bioconductor-gpumagic/meta.yaml @@ -13,6 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: b720e953b36ccc2db0c6b359f84b5c94 build: + skip: True # [osx] number: 1 rpaths: - lib/R/lib/ diff --git a/recipes/bioconductor-graph/meta.yaml b/recipes/bioconductor-graph/meta.yaml index 79a97be096508..3d9995b0183a9 100644 --- a/recipes/bioconductor-graph/meta.yaml +++ b/recipes/bioconductor-graph/meta.yaml @@ -15,7 +15,7 @@ source: patches: - patch build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -42,6 +42,8 @@ about: summary: 'graph: A package to handle graph data structures' description: 'A package that implements some simple graph handling capabilities.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:graph - doi:10.1038/nmeth.3252 diff --git a/recipes/bioconductor-grohmm/meta.yaml b/recipes/bioconductor-grohmm/meta.yaml index 0861380ba58c9..87b8145806798 100644 --- a/recipes/bioconductor-grohmm/meta.yaml +++ b/recipes/bioconductor-grohmm/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 0b1077948ddc9895c57188ca2560bc10 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -48,8 +48,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-3 + license: GPL-3.0-only summary: 'GRO-seq Analysis Pipeline' description: 'A pipeline for the analysis of GRO-seq data.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} diff --git a/recipes/bioconductor-gsva/meta.yaml b/recipes/bioconductor-gsva/meta.yaml index b921c6e030815..9a5eb542d6fa0 100644 --- a/recipes/bioconductor-gsva/meta.yaml +++ b/recipes/bioconductor-gsva/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: e21af1ab9dabfa5801fb978b50f992e2 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -60,11 +60,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>= 2)' + license: 'GPL-3.0-or-later' summary: 'Gene Set Variation Analysis for Microarray and RNA-Seq Data' description: 'Gene Set Variation Analysis (GSVA) is a non-parametric, unsupervised method for estimating variation of gene set enrichment through the samples of a expression data set. GSVA performs a change in coordinate systems, transforming the data from a gene by sample matrix to a gene-set by sample matrix, thereby allowing the evaluation of pathway enrichment for each sample. This new matrix of GSVA enrichment scores facilitates applying standard analytical methods like functional enrichment, survival analysis, clustering, CNV-pathway analysis or cross-tissue pathway analysis, in a pathway-centric manner.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:gsva parent_recipe: diff --git a/recipes/bioconductor-hdf5array/meta.yaml b/recipes/bioconductor-hdf5array/meta.yaml index 6f725cd98876b..c3284e5d6eadf 100644 --- a/recipes/bioconductor-hdf5array/meta.yaml +++ b/recipes/bioconductor-hdf5array/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: c59fcd283e0f9877f68457524b9d86bb build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -57,6 +57,8 @@ about: summary: 'HDF5 backend for DelayedArray objects' description: 'Implement the HDF5Array, H5SparseMatrix, H5ADMatrix, and TENxMatrix classes, 4 convenient and memory-efficient array-like containers for representing and manipulating either: (1) a conventional (a.k.a. dense) HDF5 dataset, (2) an HDF5 sparse matrix (stored in CSR/CSC/Yale format), (3) the central matrix of an h5ad file (or any matrix in the /layers group), or (4) a 10x Genomics sparse matrix. All these containers are DelayedArray extensions and thus support all operations (delayed or block-processed) supported by DelayedArray objects.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:hdf5array - doi:10.1038/nmeth.3252 diff --git a/recipes/bioconductor-hilbertvis/meta.yaml b/recipes/bioconductor-hilbertvis/meta.yaml index 5429956b9e0ec..9720dd65d60bf 100644 --- a/recipes/bioconductor-hilbertvis/meta.yaml +++ b/recipes/bioconductor-hilbertvis/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: b30abc9c50034b41daf1399031d657e3 build: - number: 1 + number: 3 rpaths: - lib/R/lib/ - lib/ @@ -41,6 +41,8 @@ about: description: 'Functions to visualize long vectors of integer data by means of Hilbert curves' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:hilbertvis - doi:10.1093/bioinformatics/btp152 diff --git a/recipes/bioconductor-hmmcopy/meta.yaml b/recipes/bioconductor-hmmcopy/meta.yaml index a89ef06cc7afb..6e18042be1c07 100644 --- a/recipes/bioconductor-hmmcopy/meta.yaml +++ b/recipes/bioconductor-hmmcopy/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 4785371e1642cd191330693396010a6e build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -40,6 +40,8 @@ about: description: 'Corrects GC and mappability biases for readcounts (i.e. coverage) in non-overlapping windows of fixed length for single whole genome samples, yielding a rough estimate of copy number for furthur analysis. Designed for rapid correction of high coverage whole genome tumour and normal samples.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:hmmcopy - doi:10.1038/nmeth.3252 diff --git a/recipes/bioconductor-hyperdraw/meta.yaml b/recipes/bioconductor-hyperdraw/meta.yaml index 10d2f229c833c..85de9545d1190 100644 --- a/recipes/bioconductor-hyperdraw/meta.yaml +++ b/recipes/bioconductor-hyperdraw/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 2b1ec2cf9ea920a241f821baa08bb393 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ diff --git a/recipes/bioconductor-ibmq/meta.yaml b/recipes/bioconductor-ibmq/meta.yaml index 4633abf58f473..e1827d8126305 100644 --- a/recipes/bioconductor-ibmq/meta.yaml +++ b/recipes/bioconductor-ibmq/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 9737c0aee38670491b2f29f73dcb743c build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -45,3 +45,9 @@ about: summary: 'integrated Bayesian Modeling of eQTL data' description: 'integrated Bayesian Modeling of eQTL data' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} + - usegalaxy-eu:{{ name|lower }} diff --git a/recipes/bioconductor-iclusterplus/build.sh b/recipes/bioconductor-iclusterplus/build.sh index c1d13421f5f1e..0f7012ed24200 100644 --- a/recipes/bioconductor-iclusterplus/build.sh +++ b/recipes/bioconductor-iclusterplus/build.sh @@ -8,4 +8,5 @@ CXX=$CXX CXX98=$CXX CXX11=$CXX CXX14=$CXX" > ~/.R/Makevars +autoreconf -fi $R CMD INSTALL --build . \ No newline at end of file diff --git a/recipes/bioconductor-iclusterplus/meta.yaml b/recipes/bioconductor-iclusterplus/meta.yaml index 90edbebb5077d..65ef4654310d5 100644 --- a/recipes/bioconductor-iclusterplus/meta.yaml +++ b/recipes/bioconductor-iclusterplus/meta.yaml @@ -12,8 +12,10 @@ source: - 'https://bioarchive.galaxyproject.org/{{ name }}_{{ version }}.tar.gz' - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 133b682823ec6ab41f6f6579413d461d + patches: + - 0001-Detect-compiler-with-gfortran-suffix.patch build: - number: 0 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -40,4 +42,6 @@ about: summary: 'Integrative clustering of multi-type genomic data' description: 'Integrative clustering of multiple genomic data using a joint latent variable model.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' - +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/bioconductor-ideal/build_failure.linux-64.yaml b/recipes/bioconductor-ideal/build_failure.linux-64.yaml index 95336642190df..19d2276079b9f 100644 --- a/recipes/bioconductor-ideal/build_failure.linux-64.yaml +++ b/recipes/bioconductor-ideal/build_failure.linux-64.yaml @@ -1,5 +1,7 @@ recipe_sha: 67de6b5cdabab9789f4141c7b4df882eca324c62877eb622c009398c5cadd390 # The commit at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: |- + dependency issue log: |2- Leaving build/test directories: diff --git a/recipes/bioconductor-ihw/build_failure.linux-64.yaml b/recipes/bioconductor-ihw/build_failure.linux-64.yaml index f632f4b116e3b..49c95de2d51b7 100644 --- a/recipes/bioconductor-ihw/build_failure.linux-64.yaml +++ b/recipes/bioconductor-ihw/build_failure.linux-64.yaml @@ -1,11 +1,11 @@ recipe_sha: df348495dada1a372be82599b073dacb131efa9c20367ac100389a77a59630c4 # The commit at which this recipe failed to build. -skiplist: false # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. log: |- - conda-forge/linux-64 100%[2K[1A[2K[0G[] 4.9s + conda-forge/linux-64 [2K[1A[2K[0G[] 4.9s conda-forge/linux-64 100%[2K[1A[2K[0G[] 5.0s conda-forge/linux-64 100%[2K[1A[2K[0G[] 5.1s conda-forge/linux-64 100%[2K[1A[2K[0G[] 5.2s - [2K[1A[2K[0Gconda-forge/linux-64 + conda-forge/linux-64 100%[2K[1A[2K[0Gconda-forge/linux-64 [?25h[34mReloading output folder: [0m[34m/opt/conda/[0m[34mconda-bld[0m [?25l[2K[0G[] 0.0s [2K[1A[2K[0Gopt/conda/conda-bld/linux-64 ??.?MB @ ??.?MB/s 0 failed 0.0s @@ -13,13 +13,13 @@ log: |- [?25h[34mReloading output folder: [0m[34m/opt/conda/[0m[34mconda-bld[0m [?25l[2K[0G[] 0.0s [2K[1A[2K[0Gopt/conda/conda-bld/linux-64 ??.?MB @ ??.?MB/s 0 failed 0.0s - opt/conda/conda-bld/noarch 127.0 B @ 2.4MB/s 0.0s + opt/conda/conda-bld/noarch 127.0 B @ 2.2MB/s 0.0s [?25hMamba failed to solve: + - bioconductor-lpsymphony >=1.30.0,<1.31.0 - r-base 4.3.* - - r-fdrtool - r-slam + - r-fdrtool - bioconductor-biocgenerics >=0.48.0,<0.49.0 - - bioconductor-lpsymphony >=1.30.0,<1.31.0 with channels: - file:///opt/host-conda-bld @@ -52,11 +52,11 @@ log: |- File "/opt/conda/lib/python3.8/site-packages/boa/core/solver.py", line 234, in solve raise RuntimeError("Solver could not find solution." error_string) RuntimeError: Solver could not find solution.Mamba failed to solve: + - bioconductor-lpsymphony >=1.30.0,<1.31.0 - r-base 4.3.* - - r-fdrtool - r-slam + - r-fdrtool - bioconductor-biocgenerics >=0.48.0,<0.49.0 - - bioconductor-lpsymphony >=1.30.0,<1.31.0 with channels: - file:///opt/host-conda-bld diff --git a/recipes/bioconductor-ihwpaper/build_failure.linux-64.yaml b/recipes/bioconductor-ihwpaper/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..0d1d099182dc8 --- /dev/null +++ b/recipes/bioconductor-ihwpaper/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 366efc448b56ba6b7e86a876417279bedf04156e08c60e0c035fe672c82e0ddc # The commit at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + - r-ggplot2 + - libgcc-ng >=12 + - r-rcpp + - libstdcxx-ng >=12 + - bioconductor-biobase >=2.62.0,<2.63.0 + - r-fdrtool + + with channels: + - file:///opt/host-conda-bld + - conda-forge + - bioconda + - defaults + + The reported errors are: + - Encountered problems while solving: + - - nothing provides requested bioconductor-ihw >=1.30.0,<1.31.0 + - + + Leaving build/test directories: + Work: + /opt/conda/conda-bld/work + Test: + /opt/conda/conda-bld/test_tmp + Leaving build/test environments: + Test: + source activate /opt/conda/conda-bld/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl + Build: + source activate /opt/conda/conda-bld/_build_env + + + Traceback (most recent call last): + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 141, in mamba_get_install_actions + solution = solver.solve_for_action(_specs, prefix) + File "/opt/conda/lib/python3.8/site-packages/boa/core/solver.py", line 244, in solve_for_action + t = self.solve(specs) + File "/opt/conda/lib/python3.8/site-packages/boa/core/solver.py", line 234, in solve + raise RuntimeError("Solver could not find solution." error_string) + RuntimeError: Solver could not find solution.Mamba failed to solve: + - bioconductor-biocparallel >=1.36.0,<1.37.0 + - bioconductor-biocgenerics >=0.48.0,<0.49.0 + - liblapack 3.9.* *netlib + - libblas 3.9.* *netlib + - bioconductor-deseq2 >=1.42.0,<1.43.0 + - r-dplyr + - r-base 4.3.* + - bioconductor-genefilter >=1.84.0,<1.85.0 + - bioconductor-ihw >=1.30.0,<1.31.0 + - bioconductor-qvalue >=2.34.0,<2.35.0 + - r-cowplot + - bioconductor-summarizedexperiment >=1.32.0,<1.33.0 + - r-ggplot2 + - libgcc-ng >=12 + - r-rcpp + - libstdcxx-ng >=12 + - bioconductor-biobase >=2.62.0,<2.63.0 + - r-fdrtool + + with channels: + - file:///opt/host-conda-bld + - conda-forge + - bioconda + - defaults + + The reported errors are: + - Encountered problems while solving: + - - nothing provides requested bioconductor-ihw >=1.30.0,<1.31.0 + - + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/bin/conda-mambabuild", line 10, in + sys.exit(main()) + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main + call_conda_build(action, config) + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build + result = api.build( + File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build + return build_tree( + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree + packages_from_this = build(metadata, stats, + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2038, in build + output_metas = expand_outputs([(m, need_source_download, need_reparse_in_env)]) + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 787, in expand_outputs + for (output_dict, m) in deepcopy(_m).get_output_metadata_set(permit_unsatisfiable_variants=False): + File "/opt/conda/lib/python3.8/site-packages/conda_build/metadata.py", line 2524, in get_output_metadata_set + conda_packages = finalize_outputs_pass( + File "/opt/conda/lib/python3.8/site-packages/conda_build/metadata.py", line 884, in finalize_outputs_pass + fm = finalize_metadata( + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 547, in finalize_metadata + build_unsat, host_unsat = add_upstream_pins(m, + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 409, in add_upstream_pins + host_deps, host_unsat, extra_run_specs_from_host = _read_upstream_pin_files(m, 'host', + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 374, in _read_upstream_pin_files + deps, actions, unsat = get_env_dependencies(m, env, m.config.variant, + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 131, in get_env_dependencies + actions = environ.get_install_actions(tmpdir, tuple(dependencies), env, + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 150, in mamba_get_install_actions + raise err + conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("bioconductor-ihw[version='>=1.30.0,<1.31.0']")} +# Last 100 lines of the build log. diff --git a/recipes/bioconductor-ihwpaper/build_failure.osx-64.yaml b/recipes/bioconductor-ihwpaper/build_failure.osx-64.yaml index 2eec164523ce4..e81f7f57656d0 100644 --- a/recipes/bioconductor-ihwpaper/build_failure.osx-64.yaml +++ b/recipes/bioconductor-ihwpaper/build_failure.osx-64.yaml @@ -1,5 +1,7 @@ recipe_sha: 366efc448b56ba6b7e86a876417279bedf04156e08c60e0c035fe672c82e0ddc # The commit at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: |- + dependency issue log: |2- - r-dplyr - bioconductor-biocparallel >=1.36.0,<1.37.0 diff --git a/recipes/bioconductor-illuminaio/meta.yaml b/recipes/bioconductor-illuminaio/meta.yaml index 54acd4f3c77da..be0a242b5324f 100644 --- a/recipes/bioconductor-illuminaio/meta.yaml +++ b/recipes/bioconductor-illuminaio/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 5bf0b60249c92ef8408564391a69a97d build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -41,6 +41,8 @@ about: description: 'Tools for parsing Illumina''s microarray output files, including IDAT.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-2' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:illuminaio parent_recipe: diff --git a/recipes/bioconductor-immunoclust/meta.yaml b/recipes/bioconductor-immunoclust/meta.yaml index baa6f45a3d73d..32861095ef561 100644 --- a/recipes/bioconductor-immunoclust/meta.yaml +++ b/recipes/bioconductor-immunoclust/meta.yaml @@ -19,6 +19,7 @@ build: - lib/ run_exports: '{{ pin_subpackage("bioconductor-immunoclust", max_pin="x.x") }}' # Suggests: BiocStyle, utils, testthat +# SystemRequirements: gsl requirements: host: - 'bioconductor-flowcore >=2.14.0,<2.15.0' @@ -26,10 +27,12 @@ requirements: - r-lattice - libblas - liblapack + - gsl run: - 'bioconductor-flowcore >=2.14.0,<2.15.0' - r-base - r-lattice + - gsl build: - {{ compiler('c') }} - {{ compiler('cxx') }} diff --git a/recipes/bioconductor-impute/meta.yaml b/recipes/bioconductor-impute/meta.yaml index 0f5d1d5aed6cc..95703fe1a101b 100644 --- a/recipes/bioconductor-impute/meta.yaml +++ b/recipes/bioconductor-impute/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 8e974dcc31c3507ebcc8984b2d7943f9 build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -39,6 +39,8 @@ about: description: 'Imputation for microarray data (currently KNN only)' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-2' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:impute - doi:10.1007/978-3-642-57489-4_7 diff --git a/recipes/bioconductor-infercnv/meta.yaml b/recipes/bioconductor-infercnv/meta.yaml index 846a226731767..bc5498d7db6df 100644 --- a/recipes/bioconductor-infercnv/meta.yaml +++ b/recipes/bioconductor-infercnv/meta.yaml @@ -1,6 +1,6 @@ -{% set version = "1.18.1" %} +{% set version = "1.20.0" %} {% set name = "infercnv" %} -{% set bioc = "3.18" %} +{% set bioc = "3.19" %} package: name: 'bioconductor-{{ name|lower }}' @@ -11,7 +11,7 @@ source: - 'https://bioconductor.org/packages/{{ bioc }}/bioc/src/contrib/Archive/{{ name }}/{{ name }}_{{ version }}.tar.gz' - 'https://bioarchive.galaxyproject.org/{{ name }}_{{ version }}.tar.gz' - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' - md5: d5bce5518c27e86b3fb26b6fedad5d7b + sha256: cd7baf7107beee52484e70abc6a48edb09ec877f734226131336adffb14b28ba build: number: 0 rpaths: @@ -27,6 +27,7 @@ requirements: - 'bioconductor-edger >=4.0.0,<4.1.0' - 'bioconductor-singlecellexperiment >=1.24.0,<1.25.0' - 'bioconductor-summarizedexperiment >=1.32.0,<1.33.0' + - 'r-htmltools >=0.5.7' - r-ape - r-argparse - r-base @@ -61,6 +62,7 @@ requirements: - 'bioconductor-edger >=4.0.0,<4.1.0' - 'bioconductor-singlecellexperiment >=1.24.0,<1.25.0' - 'bioconductor-summarizedexperiment >=1.32.0,<1.33.0' + - 'r-htmltools >=0.5.7' - r-ape - r-argparse - r-base diff --git a/recipes/bioconductor-interactionset/meta.yaml b/recipes/bioconductor-interactionset/meta.yaml index 246555c250fde..b29bd02b58e82 100644 --- a/recipes/bioconductor-interactionset/meta.yaml +++ b/recipes/bioconductor-interactionset/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 273175864f47083ba4b983c72ba0c1dc build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -52,11 +52,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-3 + license: GPL-3.0-only summary: 'Base Classes for Storing Genomic Interaction Data' description: 'Provides the GInteractions, InteractionSet and ContactMatrix objects and associated methods for storing and manipulating genomic interaction data from Hi-C and ChIA-PET experiments.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:interactionset parent_recipe: diff --git a/recipes/bioconductor-interactivedisplay/build_failure.linux-64.yaml b/recipes/bioconductor-interactivedisplay/build_failure.linux-64.yaml index f5c0303e607d1..9eba9918043d4 100644 --- a/recipes/bioconductor-interactivedisplay/build_failure.linux-64.yaml +++ b/recipes/bioconductor-interactivedisplay/build_failure.linux-64.yaml @@ -1,104 +1,104 @@ -recipe_sha: d6b4a9dcf61e5b3c8df3bfdec254de5536c69a1a418b59efb387b563b6350dc3 # The commit at which this recipe failed to build. +recipe_sha: 9c517fc772ed28be827019592f5023b076b81fbe7358c247a963d5f1d48acc90 # The commit at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |- - [] 1.9s - conda-forge/linux-64 - conda-forge/noarch - pkgs/r/linux-64 - pkgs/r/noarch [2K[1A[2K[1A[2K[1A[2K[1A[2K[0G[] 2.0s - conda-forge/linux-64 - conda-forge/noarch - pkgs/r/linux-64 - pkgs/r/noarch [2K[1A[2K[1A[2K[1A[2K[1A[2K[0Gpkgs/r/linux-64 - [] 2.1s - conda-forge/linux-64 - conda-forge/noarch - pkgs/r/noarch [2K[1A[2K[1A[2K[1A[2K[0Gpkgs/r/noarch - [] 2.2s - conda-forge/linux-64 - conda-forge/noarch [2K[1A[2K[1A[2K[0G[] 2.3s - conda-forge/linux-64 - conda-forge/noarch [2K[1A[2K[1A[2K[0G[] 2.4s - conda-forge/linux-64 - conda-forge/noarch [2K[1A[2K[1A[2K[0G[] 2.5s - conda-forge/linux-64 - conda-forge/noarch [2K[1A[2K[1A[2K[0G[] 2.6s - conda-forge/linux-64 - conda-forge/noarch [2K[1A[2K[1A[2K[0G[] 2.7s - conda-forge/linux-64 - conda-forge/noarch [2K[1A[2K[1A[2K[0G[] 2.8s - conda-forge/linux-64 - conda-forge/noarch 100%[2K[1A[2K[1A[2K[0G[] 2.9s - conda-forge/linux-64 - conda-forge/noarch 100%[2K[1A[2K[1A[2K[0G[] 3.0s - conda-forge/linux-64 - conda-forge/noarch 100%[2K[1A[2K[1A[2K[0G[] 3.1s - conda-forge/linux-64 - conda-forge/noarch 100%[2K[1A[2K[1A[2K[0G[] 3.2s - conda-forge/linux-64 - conda-forge/noarch 100%[2K[1A[2K[1A[2K[0Gconda-forge/noarch - [] 3.3s - conda-forge/linux-64 [2K[1A[2K[0G[] 3.4s - conda-forge/linux-64 [2K[1A[2K[0G[] 3.5s - conda-forge/linux-64 [2K[1A[2K[0G[] 3.6s - conda-forge/linux-64 [2K[1A[2K[0G[] 3.7s - conda-forge/linux-64 [2K[1A[2K[0G[] 3.8s - conda-forge/linux-64 [2K[1A[2K[0G[] 3.9s - conda-forge/linux-64 [2K[1A[2K[0G[] 4.0s - conda-forge/linux-64 [2K[1A[2K[0G[] 4.1s - conda-forge/linux-64 [2K[1A[2K[0G[] 4.2s - conda-forge/linux-64 [2K[1A[2K[0G[] 4.3s - conda-forge/linux-64 [2K[1A[2K[0G[] 4.4s - conda-forge/linux-64 [2K[1A[2K[0G[] 4.5s - conda-forge/linux-64 [2K[1A[2K[0G[] 4.6s - conda-forge/linux-64 [2K[1A[2K[0G[] 4.7s - conda-forge/linux-64 [2K[1A[2K[0G[] 4.8s - conda-forge/linux-64 [2K[1A[2K[0G[] 4.9s - conda-forge/linux-64 [2K[1A[2K[0G[] 5.0s - conda-forge/linux-64 [2K[1A[2K[0G[] 5.1s - conda-forge/linux-64 [2K[1A[2K[0G[] 5.2s - conda-forge/linux-64 [2K[1A[2K[0G[] 5.3s - conda-forge/linux-64 [2K[1A[2K[0G[] 5.4s - conda-forge/linux-64 [2K[1A[2K[0G[] 5.5s - conda-forge/linux-64 [2K[1A[2K[0G[] 5.6s - conda-forge/linux-64 [2K[1A[2K[0G[] 5.7s - conda-forge/linux-64 [2K[1A[2K[0G[] 5.8s - conda-forge/linux-64 [2K[1A[2K[0G[] 5.9s - conda-forge/linux-64 [2K[1A[2K[0G[] 6.0s - conda-forge/linux-64 [2K[1A[2K[0G[] 6.1s - conda-forge/linux-64 [2K[1A[2K[0G[] 6.2s - conda-forge/linux-64 [2K[1A[2K[0G[] 6.3s - conda-forge/linux-64 100%[2K[1A[2K[0G[] 6.4s - conda-forge/linux-64 100%[2K[1A[2K[0G[] 6.5s - conda-forge/linux-64 100%[2K[1A[2K[0G[] 6.6s - conda-forge/linux-64 100%[2K[1A[2K[0G[] 6.7s - conda-forge/linux-64 100%[2K[1A[2K[0G[] 6.8s - conda-forge/linux-64 100%[2K[1A[2K[0G[] 6.9s - conda-forge/linux-64 100%[2K[1A[2K[0G[] 7.0s - conda-forge/linux-64 100%[2K[1A[2K[0G[] 7.1s - conda-forge/linux-64 100%[2K[1A[2K[0Gconda-forge/linux-64 +log: |2- + sysroot_linux-64: 2.12-he073ed8_16 conda-forge + tk: 8.6.13-noxft_h4845f30_101 conda-forge + tktable: 2.10-h0c5db8f_5 conda-forge + toml: 0.10.2-pyhd8ed1ab_0 conda-forge + tomlkit: 0.12.3-pyha770c72_0 conda-forge + tzdata: 2023c-h71feb2d_0 conda-forge + wheel: 0.42.0-pyhd8ed1ab_0 conda-forge + xmltodict: 0.13.0-pyhd8ed1ab_0 conda-forge + xorg-kbproto: 1.0.7-h7f98852_1002 conda-forge + xorg-libice: 1.1.1-hd590300_0 conda-forge + xorg-libsm: 1.2.4-h7391055_0 conda-forge + xorg-libx11: 1.8.7-h8ee46fc_0 conda-forge + xorg-libxau: 1.0.11-hd590300_0 conda-forge + xorg-libxdmcp: 1.1.3-h7f98852_0 conda-forge + xorg-libxext: 1.3.4-h0b41bf4_2 conda-forge + xorg-libxrender: 0.9.11-hd590300_0 conda-forge + xorg-libxt: 1.3.0-hd590300_1 conda-forge + xorg-renderproto: 0.11.1-h7f98852_1002 conda-forge + xorg-xextproto: 7.3.0-h0b41bf4_1003 conda-forge + xorg-xproto: 7.0.31-h7f98852_1007 conda-forge + xz: 5.2.6-h166bdaf_0 conda-forge + yaml: 0.2.5-h7f98852_2 conda-forge + yq: 3.2.3-pyhd8ed1ab_0 conda-forge + zlib: 1.2.13-hd590300_5 conda-forge + zstd: 1.5.5-hfc55251_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... + To install TinyTeX with tinytex::install_tinytex() the system must have a functional Perl + installation with a File::Find module. Most end-user systems will already satisfy this + requirement; however, some minimal contexts (e.g., containers) may not. Perl is available + via Conda Forge as the package perl. See https://github.com/rstudio/tinytex/issues/419 + + + done + [34mReloading output folder: [0m[34m/opt/conda/[0m[34mconda-bld[0m + [?25l[2K[0G[] 0.0s + [2K[1A[2K[0Gopt/conda/conda-bld/linux-64 129.0 B @ 2.0MB/s 0.0s + opt/conda/conda-bld/noarch 127.0 B @ 2.5MB/s 0.0s [?25h[34mReloading output folder: [0m[34m/opt/conda/[0m[34mconda-bld[0m [?25l[2K[0G[] 0.0s - [2K[1A[2K[0Gopt/conda/conda-bld/linux-64 129.0 B @ 1.7MB/s 0.0s - opt/conda/conda-bld/noarch 629.0 B @ 24.2MB/s 0.0s + [2K[1A[2K[0Gopt/conda/conda-bld/linux-64 129.0 B @ 2.0MB/s 0.0s + opt/conda/conda-bld/noarch 127.0 B @ 2.5MB/s 0.0s [?25h ## Package Plan ## - environment location: /opt/conda/conda-bld/bioconductor-interactivedisplay_1689837688386/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh - - - The following NEW packages will be INSTALLED: + environment location: /opt/conda/conda-bld/bioconductor-interactivedisplay_1703228514768/_build_env - bioconductor-interactivedisplay: 1.38.0-hdfd78af_0 local - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - export PREFIX=/opt/conda/conda-bld/bioconductor-interactivedisplay_1689837688386/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh - export SRC_DIR=/opt/conda/conda-bld/bioconductor-interactivedisplay_1689837688386/test_tmp - ls /opt/conda/conda-bld/bioconductor-interactivedisplay_1689837688386/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin - ls: cannot access /opt/conda/conda-bld/bioconductor-interactivedisplay_1689837688386/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin: No such file or directory - Tests failed for bioconductor-interactivedisplay-1.38.0-hdfd78af_0.tar.bz2 - moving package to /opt/conda/conda-bld/broken - WARNING:conda_build.build:Tests failed for bioconductor-interactivedisplay-1.38.0-hdfd78af_0.tar.bz2 - moving package to /opt/conda/conda-bld/broken - TESTS FAILED: bioconductor-interactivedisplay-1.38.0-hdfd78af_0.tar.bz2 + Source cache directory is: /opt/conda/conda-bld/src_cache + INFO:conda_build.source:Source cache directory is: /opt/conda/conda-bld/src_cache + Downloading source to cache: interactiveDisplay_1.40.0_4adec73e76.tar.gz + INFO:conda_build.source:Downloading source to cache: interactiveDisplay_1.40.0_4adec73e76.tar.gz + Downloading https://bioconductor.org/packages/3.18/bioc/src/contrib/interactiveDisplay_1.40.0.tar.gz + INFO:conda_build.source:Downloading https://bioconductor.org/packages/3.18/bioc/src/contrib/interactiveDisplay_1.40.0.tar.gz + Success + INFO:conda_build.source:Success + Extracting download + source tree in: /opt/conda/conda-bld/bioconductor-interactivedisplay_1703228514768/work + export PREFIX=/opt/conda/conda-bld/bioconductor-interactivedisplay_1703228514768/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p + export BUILD_PREFIX=/opt/conda/conda-bld/bioconductor-interactivedisplay_1703228514768/_build_env + export SRC_DIR=/opt/conda/conda-bld/bioconductor-interactivedisplay_1703228514768/work + During startup - Warning message: + Setting LC_TIME failed, using "C" + * installing to library /opt/conda/conda-bld/bioconductor-interactivedisplay_1703228514768/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/R/library + * installing *source* package interactiveDisplay ... + ** using staged installation + ** R + ** data + ** inst + ** byte-compile and prepare package for lazy loading + During startup - Warning message: + Setting LC_TIME failed, using "C" + Installing package into $PREFIX/lib/R/library/00LOCK-work/00new + (as lib is unspecified) + Error in contrib.url(repos, type) : + trying to use CRAN without setting a mirror + Error: unable to load R code in package interactiveDisplay + Execution halted + ERROR: lazy loading failed for package interactiveDisplay + * removing /opt/conda/conda-bld/bioconductor-interactivedisplay_1703228514768/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/R/library/interactiveDisplay + Traceback (most recent call last): + File "/opt/conda/bin/conda-mambabuild", line 10, in + sys.exit(main()) + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main + call_conda_build(action, config) + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build + result = api.build( + File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build + return build_tree( + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree + packages_from_this = build(metadata, stats, + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build + utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, + File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/bioconductor-interactivedisplay_1703228514768/work/conda_build.sh']' returned non-zero exit status 1. # Last 100 lines of the build log. diff --git a/recipes/bioconductor-iranges/meta.yaml b/recipes/bioconductor-iranges/meta.yaml index 9f429ff8f8074..eba4471741a2e 100644 --- a/recipes/bioconductor-iranges/meta.yaml +++ b/recipes/bioconductor-iranges/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 87618d2e5ee94d7ab81d2e1c4d847120 build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -42,6 +42,8 @@ about: summary: 'Foundation of integer range manipulation in Bioconductor' description: 'Provides efficient low-level and highly reusable S4 classes for storing, manipulating and aggregating over annotated ranges of integers. Implements an algebra of range operations, including efficient algorithms for finding overlaps and nearest neighbors. Defines efficient list-like classes for storing, transforming and aggregating large grouped data, i.e., collections of atomic vectors and DataFrames.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:iranges parent_recipe: diff --git a/recipes/bioconductor-isolde/meta.yaml b/recipes/bioconductor-isolde/meta.yaml index f61b6b3ce566e..15cbf7f4756b9 100644 --- a/recipes/bioconductor-isolde/meta.yaml +++ b/recipes/bioconductor-isolde/meta.yaml @@ -13,7 +13,8 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 448414b250ff7c903395638de3688411 build: - number: 1 + skip: True # [osx] + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -37,4 +38,6 @@ about: summary: 'Integrative Statistics of alleLe Dependent Expression' description: 'This package provides ISoLDE a new method for identifying imprinted genes. This method is dedicated to data arising from RNA sequencing technologies. The ISoLDE package implements original statistical methodology described in the publication below.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' - +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/bioconductor-kebabs/meta.yaml b/recipes/bioconductor-kebabs/meta.yaml index d3fae5cd61e11..5543552572b65 100644 --- a/recipes/bioconductor-kebabs/meta.yaml +++ b/recipes/bioconductor-kebabs/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: d6c4a16d9fd157b1e68acc8d4816017e build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -55,11 +55,15 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>= 2.1)' + license: 'GPL-3.0-or-later' summary: 'Kernel-Based Analysis Of Biological Sequences' description: 'The package provides functionality for kernel-based analysis of DNA, RNA, and amino acid sequences via SVM-based methods. As core functionality, kebabs implements following sequence kernels: spectrum kernel, mismatch kernel, gappy pair kernel, and motif kernel. Apart from an efficient implementation of standard position-independent functionality, the kernels are extended in a novel way to take the position of patterns into account for the similarity measure. Because of the flexibility of the kernel formulation, other kernels like the weighted degree kernel or the shifted weighted degree kernel with constant weighting of positions are included as special cases. An annotation-specific variant of the kernels uses annotation information placed along the sequence together with the patterns in the sequence. The package allows for the generation of a kernel matrix or an explicit feature representation in dense or sparse format for all available kernels which can be used with methods implemented in other R packages. With focus on SVM-based methods, kebabs provides a framework which simplifies the usage of existing SVM implementations in kernlab, e1071, and LiblineaR. Binary and multi-class classification as well as regression tasks can be used in a unified way without having to deal with the different functions, parameters, and formats of the selected SVM. As support for choosing hyperparameters, the package provides cross validation - including grouped cross validation, grid search and model selection functions. For easier biological interpretation of the results, the package computes feature weights for all SVMs and prediction profiles which show the contribution of individual sequence positions to the prediction result and indicate the relevance of sequence sections for the learning result and the underlying biological functions.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} parent_recipe: name: bioconductor-kebabs path: recipes/bioconductor-kebabs diff --git a/recipes/bioconductor-lemur/build_failure.osx-64.yaml b/recipes/bioconductor-lemur/build_failure.osx-64.yaml index 8cb204d9bf218..9beef668bed41 100644 --- a/recipes/bioconductor-lemur/build_failure.osx-64.yaml +++ b/recipes/bioconductor-lemur/build_failure.osx-64.yaml @@ -1,5 +1,7 @@ recipe_sha: 9ec1f5c47eca7b1c8d8b7db53ce0866846a9c61f157f39bec7526f0c5cbe3856 # The commit at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: |- + dependency issue log: |2- - bioconductor-s4vectors >=0.40.0,<0.41.0 - r-base 4.3.* diff --git a/recipes/bioconductor-limma/meta.yaml b/recipes/bioconductor-limma/meta.yaml index 0441416406623..65bacae5a6963 100644 --- a/recipes/bioconductor-limma/meta.yaml +++ b/recipes/bioconductor-limma/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: f52a816d0d34b01f721654f90a1fb5f5 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -41,6 +41,8 @@ about: description: 'Data analysis, linear models and differential expression for microarray data.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:limma - usegalaxy-eu:limma_voom diff --git a/recipes/bioconductor-linnorm/meta.yaml b/recipes/bioconductor-linnorm/meta.yaml index 5c346153764e9..baa5b5fdfc69a 100644 --- a/recipes/bioconductor-linnorm/meta.yaml +++ b/recipes/bioconductor-linnorm/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 8fc0ff0d6e9c2d274137b0e99ce0f4a2 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -76,3 +76,8 @@ about: description: 'Linnorm is an algorithm for normalizing and transforming RNA-seq, single cell RNA-seq, ChIP-seq count data or any large scale count data. It has been independently reviewed by Tian et al. on Nature Methods (https://doi.org/10.1038/s41592-019-0425-8). Linnorm can work with raw count, CPM, RPKM, FPKM and TPM.' license_file: LICENSE +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} diff --git a/recipes/bioconductor-lpsymphony/build.sh b/recipes/bioconductor-lpsymphony/build.sh index c1d13421f5f1e..b12d3b6a8730e 100644 --- a/recipes/bioconductor-lpsymphony/build.sh +++ b/recipes/bioconductor-lpsymphony/build.sh @@ -8,4 +8,6 @@ CXX=$CXX CXX98=$CXX CXX11=$CXX CXX14=$CXX" > ~/.R/Makevars +sed -i.bak "s/-TP//" src/SYMPHONY/SYMPHONY/configure.ac +sed -i.bak "s/-TP//" src/SYMPHONY/SYMPHONY/configure $R CMD INSTALL --build . \ No newline at end of file diff --git a/recipes/bioconductor-lpsymphony/build_failure.linux-64.yaml b/recipes/bioconductor-lpsymphony/build_failure.linux-64.yaml index 21ca06f1ed29a..7895e96771c2c 100644 --- a/recipes/bioconductor-lpsymphony/build_failure.linux-64.yaml +++ b/recipes/bioconductor-lpsymphony/build_failure.linux-64.yaml @@ -1,6 +1,104 @@ recipe_sha: fc3c0b78a302a196c67dd12bb2d7378a8e0cfce2422bd52ac55af76b95b1b9c6 # The commit at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -reason: |- - 18:08:16 BIOCONDA INFO (OUT) configure: error: linking to Fortran libraries from C fails 18:08:16 BIOCONDA INFO (OUT) See `config.log' for more details. 18:08:16 BIOCONDA INFO (OUT) checking for dummy main to link with Fortran libraries... unknown 18:08:17 BIOCONDA INFO (OUT) configure: error: /bin/sh './configure' failed for CoinUtils -category: |- - compiler error +log: |- + checking if $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c supports -c -o file.o... yes + checking whether the $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c linker ($BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld) supports shared libraries... yes + cat: ld.so.conf.d/*.conf: No such file or directory + checking dynamic linker characteristics... GNU/Linux ld.so + checking how to hardcode library paths into programs... immediate + appending configuration tag "F77" to libtool + checking if libtool supports shared libraries... yes + checking whether to build shared libraries... no + checking whether to build static libraries... yes + checking for x86_64-conda-linux-gnu-gfortran option to produce PIC... -fPIC + checking if x86_64-conda-linux-gnu-gfortran PIC flag -fPIC works... yes + checking if x86_64-conda-linux-gnu-gfortran static flag -static works... no + checking if x86_64-conda-linux-gnu-gfortran supports -c -o file.o... yes + checking whether the x86_64-conda-linux-gnu-gfortran linker ($BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld) supports shared libraries... yes + cat: ld.so.conf.d/*.conf: No such file or directory + checking dynamic linker characteristics... GNU/Linux ld.so + checking how to hardcode library paths into programs... immediate + configure: Build is "x86_64-conda-linux-gnu". + checking if library version is set... no + checking whether source of project Blas is available and should be compiled... no, source file ./ThirdParty/Blas/daxpy.f not available + checking whether source of project Lapack is available and should be compiled... no, source file ./ThirdParty/Lapack/LAPACK/SRC/dlarf.f not available + checking whether source of project Glpk is available and should be compiled... no, source file ./ThirdParty/Glpk/glpk/src/glplpx01.c not available + checking whether source of project Sample is available and should be compiled... no + checking whether source of project miblib3 is available and should be compiled... no + checking whether source of project CoinUtils is available and should be compiled... yes, source in CoinUtils + checking whether source of project Osi is available and should be compiled... yes, source in Osi + checking whether source of project Clp is available and should be compiled... yes, source in Clp + checking whether source of project Cgl is available and should be compiled... yes, source in Cgl + checking whether source of project DyLP is available and should be compiled... no + checking whether source of project Vol is available and should be compiled... no + checking whether source of project SYMPHONY is available and should be compiled... yes, source in SYMPHONY + checking whether Clp is required... yes + checking which command should be used to link input files... ln -s + configure: creating ./config.status + config.status: creating Makefile + config.status: executing depfiles commands + configure: configuring in CoinUtils + configure: running /bin/sh './configure' --prefix=$SRC_DIR/src/SYMPHONY '--enable-static' '--disable-shared' '--with-pic' '--with-application=no' '--disable-dependency-tracking' '--disable-zlib' '--disable-bzlib' '--disable-cplex-libcheck' '--disable-glpk-libcheck' '--disable-osl-libcheck' '--disable-soplex-libcheck' '--disable-xpress-libcheck' 'CFLAGS=-w -g -O2' 'CXXFLAGS=-w -g -O2' 'CC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc' 'CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include' 'CPP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cpp' 'CXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c' 'LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib' 'build_alias=x86_64-conda-linux-gnu' 'host_alias=x86_64-conda-linux-gnu' --cache-file=/dev/null --srcdir=. + configure: loading site script $SRC_DIR/src/SYMPHONY/share/config.site + checking build system type... x86_64-conda-linux-gnu + checking for svnversion... no + checking whether we want to compile in debug mode... no + checking for x86_64-conda-linux-gnu-gcc... $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + checking for C compiler default output file name... a.out + checking whether the C compiler works... yes + checking whether we are cross compiling... no + checking for suffix of executables... + checking for suffix of object files... o + checking whether we are using the GNU C compiler... yes + checking whether $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc accepts -g... yes + checking for $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc option to accept ANSI C... none needed + configure: C compiler options are: -w -g -O2 -DCOINUTILS_BUILD + checking for x86_64-conda-linux-gnu-g... $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + checking whether we are using the GNU C compiler... yes + checking whether $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c accepts -g... yes + checking whether C compiler $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c works... yes + configure: C compiler options are: -w -g -O2 -DCOINUTILS_BUILD + configure: Trying to determine Fortran compiler name + checking for x86_64-conda-linux-gnu-gfortran... x86_64-conda-linux-gnu-gfortran + checking for x86_64-conda-linux-gnu-gfortran... (cached) x86_64-conda-linux-gnu-gfortran + checking whether we are using the GNU Fortran 77 compiler... yes + checking whether x86_64-conda-linux-gnu-gfortran accepts -g... yes + configure: Fortran compiler options are: -O3 -pipe + checking how to get verbose linking output from x86_64-conda-linux-gnu-gfortran... -v + checking for Fortran libraries of x86_64-conda-linux-gnu-gfortran... -L$PREFIX/lib -L$PREFIX/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0 -L$PREFIX/bin/../lib/gcc -L$PREFIX/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/lib/../lib -L$PREFIX/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../lib -L$PREFIX/bin/../x86_64-conda-linux-gnu/sysroot/lib/../lib -L$PREFIX/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib/../lib -L$PREFIX/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/lib -L$PREFIX/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../.. -L$PREFIX/bin/../x86_64-conda-linux-gnu/sysroot/lib -L$PREFIX/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib -lgfortran -lm -lgcc_s -lquadmath + configure: Corrected Fortran libraries: -L$PREFIX/lib -L$PREFIX/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0 -L$PREFIX/bin/../lib/gcc -L$PREFIX/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/lib/../lib -L$PREFIX/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../lib -L$PREFIX/bin/../x86_64-conda-linux-gnu/sysroot/lib/../lib -L$PREFIX/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib/../lib -L$PREFIX/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/lib -L$PREFIX/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../.. -L$PREFIX/bin/../x86_64-conda-linux-gnu/sysroot/lib -L$PREFIX/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib -lgfortran -lm -lquadmath + configure: error: linking to Fortran libraries from C fails + See config.log' for more details. + checking for dummy main to link with Fortran libraries... unknown + configure: error: /bin/sh './configure' failed for CoinUtils + ** libs + using C compiler: x86_64-conda-linux-gnu-c (conda-forge gcc 12.3.0-3) 12.3.0 + make[1]: Entering directory '$SRC_DIR/src/SYMPHONY' + Making all in CoinUtils + make[2]: *** No rule to make target 'all'. Stop. + make[2]: Entering directory '$SRC_DIR/src/SYMPHONY/CoinUtils' + make[2]: Leaving directory '$SRC_DIR/src/SYMPHONY/CoinUtils' + make[1]: *** [Makefile:324: all-recursive] Error 1 + make[1]: Leaving directory '$SRC_DIR/src/SYMPHONY' + make: *** [Makevars:14: SYMPHONY.ts] Error 2 + ERROR: compilation failed for package lpsymphony + * removing /opt/conda/conda-bld/bioconductor-lpsymphony_1703079915102/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/R/library/lpsymphony + Traceback (most recent call last): + File "/opt/conda/bin/conda-mambabuild", line 10, in + sys.exit(main()) + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main + call_conda_build(action, config) + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build + result = api.build( + File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build + return build_tree( + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree + packages_from_this = build(metadata, stats, + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build + utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, + File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/bioconductor-lpsymphony_1703079915102/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/bioconductor-maaslin2/build.sh b/recipes/bioconductor-maaslin2/build.sh index c1d13421f5f1e..396fc876989fc 100644 --- a/recipes/bioconductor-maaslin2/build.sh +++ b/recipes/bioconductor-maaslin2/build.sh @@ -8,4 +8,8 @@ CXX=$CXX CXX98=$CXX CXX11=$CXX CXX14=$CXX" > ~/.R/Makevars -$R CMD INSTALL --build . \ No newline at end of file +$R CMD INSTALL --build . + +# copy additional scripts +chmod +x R/*.R +cp R/*.R ${PREFIX}/bin/ diff --git a/recipes/bioconductor-maaslin2/meta.yaml b/recipes/bioconductor-maaslin2/meta.yaml index 344540a1fbdb1..114353630f890 100644 --- a/recipes/bioconductor-maaslin2/meta.yaml +++ b/recipes/bioconductor-maaslin2/meta.yaml @@ -1,6 +1,6 @@ -{% set version = "1.16.0" %} +{% set version = "1.18.0" %} {% set name = "Maaslin2" %} -{% set bioc = "3.18" %} +{% set bioc = "3.19" %} package: name: 'bioconductor-{{ name|lower }}' @@ -11,7 +11,9 @@ source: - 'https://bioconductor.org/packages/{{ bioc }}/bioc/src/contrib/Archive/{{ name }}/{{ name }}_{{ version }}.tar.gz' - 'https://bioarchive.galaxyproject.org/{{ name }}_{{ version }}.tar.gz' - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' - md5: 0f92778b2d59935191e2ac58621da8f5 + md5: 65689f289ef30a89d727f676e645719a + patches: + - rpath.patch build: number: 0 rpaths: @@ -74,6 +76,7 @@ requirements: test: commands: - '$R -e "library(''{{ name }}'')"' + - Maaslin2.R --help about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' license: 'MIT + file LICENSE' diff --git a/recipes/maaslin2/rpath.patch b/recipes/bioconductor-maaslin2/rpath.patch similarity index 100% rename from recipes/maaslin2/rpath.patch rename to recipes/bioconductor-maaslin2/rpath.patch diff --git a/recipes/bioconductor-maftools/meta.yaml b/recipes/bioconductor-maftools/meta.yaml index 45bb795699803..ef10236192193 100644 --- a/recipes/bioconductor-maftools/meta.yaml +++ b/recipes/bioconductor-maftools/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 3dadc2b7f6f1693ae23a41b61f541db4 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -52,6 +52,11 @@ about: description: 'Analyze and visualize Mutation Annotation Format (MAF) files from large scale sequencing studies. This package provides various functions to perform most commonly used analyses in cancer genomics and to create feature rich customizable visualzations with minimal effort.' license_file: LICENSE extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} + - usegalaxy-eu:{{ name|lower }} parent_recipe: name: bioconductor-maftools path: recipes/bioconductor-maftools diff --git a/recipes/bioconductor-maigespack/meta.yaml b/recipes/bioconductor-maigespack/meta.yaml index fdd8923643d43..035f65069b988 100644 --- a/recipes/bioconductor-maigespack/meta.yaml +++ b/recipes/bioconductor-maigespack/meta.yaml @@ -13,25 +13,25 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 118a586912fcef7e97526e4b2d142729 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ # Suggests: amap, annotate, class, e1071, MASS, multtest, OLIN, R2HTML, rgl, som requirements: host: - - 'bioconductor-convert >=1.76.0,<1.77.0' - - 'bioconductor-graph >=1.78.0,<1.79.0' - - 'bioconductor-limma >=3.56.0,<3.57.0' - - 'bioconductor-marray >=1.78.0,<1.79.0' + - 'bioconductor-convert >=1.78.0,<1.79.0' + - 'bioconductor-graph >=1.80.0,<1.81.0' + - 'bioconductor-limma >=3.58.1,<3.59.0' + - 'bioconductor-marray >=1.80.0,<1.81.0' - r-base - libblas - liblapack run: - - 'bioconductor-convert >=1.76.0,<1.77.0' - - 'bioconductor-graph >=1.78.0,<1.79.0' - - 'bioconductor-limma >=3.56.0,<3.57.0' - - 'bioconductor-marray >=1.78.0,<1.79.0' + - 'bioconductor-convert >=1.78.0,<1.79.0' + - 'bioconductor-graph >=1.80.0,<1.81.0' + - 'bioconductor-limma >=3.58.1,<3.59.0' + - 'bioconductor-marray >=1.80.0,<1.81.0' - r-base build: - {{ compiler('c') }} @@ -41,11 +41,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>= 2)' + license: 'GPL-3.0-or-later' summary: 'Functions to handle cDNA microarray data, including several methods of data analysis' description: 'This package uses functions of various other packages together with other functions in a coordinated way to handle and analyse cDNA microarray data' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:maigespack - doi:10.1038/nmeth.3252 diff --git a/recipes/bioconductor-mait/meta.yaml b/recipes/bioconductor-mait/meta.yaml index 695444af43443..f55befffc79c5 100644 --- a/recipes/bioconductor-mait/meta.yaml +++ b/recipes/bioconductor-mait/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: f32e9e8e908202848634b26a5ece4d8f build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -56,11 +56,15 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-2 + license: GPL-2.0-only summary: 'Statistical Analysis of Metabolomic Data' description: 'The MAIT package contains functions to perform end-to-end statistical analysis of LC/MS Metabolomic Data. Special emphasis is put on peak annotation and in modular function design of the functions.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-2' extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} parent_recipe: name: bioconductor-mait path: recipes/bioconductor-mait diff --git a/recipes/bioconductor-martini/meta.yaml b/recipes/bioconductor-martini/meta.yaml index 707dd1d27a6ae..59fd53e07ccc9 100644 --- a/recipes/bioconductor-martini/meta.yaml +++ b/recipes/bioconductor-martini/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 85e3366daf7ac24c0f50261fafe8b274 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -47,8 +47,15 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-3 + license: GPL-3.0-only summary: 'GWAS Incorporating Networks' description: 'martini deals with the low power inherent to GWAS studies by using prior knowledge represented as a network. SNPs are the vertices of the network, and the edges represent biological relationships between them (genomic adjacency, belonging to the same gene, physical interaction between protein products). The network is scanned using SConES, which looks for groups of SNPs maximally associated with the phenotype, that form a close subnetwork.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} + - usegalaxy-eu:{{ name|lower }} + diff --git a/recipes/bioconductor-massspecwavelet/meta.yaml b/recipes/bioconductor-massspecwavelet/meta.yaml index 3518c50e8a816..f8ad82d1d808a 100644 --- a/recipes/bioconductor-massspecwavelet/meta.yaml +++ b/recipes/bioconductor-massspecwavelet/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 387636ea7c674fe339c56a8af3458f8a build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -39,6 +39,8 @@ about: description: 'Peak Detection in Mass Spectrometry data is one of the important preprocessing steps. The performance of peak detection affects subsequent processes, including protein identification, profile alignment and biomarker identification. Using Continuous Wavelet Transform (CWT), this package provides a reliable algorithm for peak detection that does not require any type of smoothing or previous baseline correction method, providing more consistent results for different spectra. See =2) + license: GPL-3.0-or-later summary: 'Base resolution DNA methylation data analysis' description: 'Memory efficient analysis of base resolution DNA methylation data in both the CpG and non-CpG sequence context. Integration of DNA methylation data derived from any methodology providing base- or low-resolution data.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:methylpipe parent_recipe: diff --git a/recipes/bioconductor-mgsa/meta.yaml b/recipes/bioconductor-mgsa/meta.yaml index 18c113cd156d3..b41a7de444713 100644 --- a/recipes/bioconductor-mgsa/meta.yaml +++ b/recipes/bioconductor-mgsa/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 1a0667a9a3b9c3e973a47a49249b08db build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -41,6 +41,8 @@ about: summary: 'Model-based gene set analysis' description: 'Model-based Gene Set Analysis (MGSA) is a Bayesian modeling approach for gene set enrichment. The package mgsa implements MGSA and tools to use MGSA together with the Gene Ontology.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:mgsa - doi:10.1093/nar/gkq045 diff --git a/recipes/bioconductor-micsqtl/build_failure.linux-64.yaml b/recipes/bioconductor-micsqtl/build_failure.linux-64.yaml index 7c4acf4573380..3fe5e63aee6a4 100644 --- a/recipes/bioconductor-micsqtl/build_failure.linux-64.yaml +++ b/recipes/bioconductor-micsqtl/build_failure.linux-64.yaml @@ -1,5 +1,7 @@ recipe_sha: 48da45ce49c1641d3245866b89ddd5bb41be17df6a5b307fcbb400bb8ebd78e7 # The commit at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: |- + dependency issue log: |2- - r-ggplot2 - r-tca diff --git a/recipes/bioconductor-minet/meta.yaml b/recipes/bioconductor-minet/meta.yaml index 430543b54eca5..2695fcc76aaa2 100644 --- a/recipes/bioconductor-minet/meta.yaml +++ b/recipes/bioconductor-minet/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 8aaab67519352be115568a301e98ef99 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -40,6 +40,8 @@ about: summary: 'Mutual Information NETworks' description: 'This package implements various algorithms for inferring mutual information networks from data.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:minet - doi:10.1186/1471-2105-9-461 diff --git a/recipes/bioconductor-mitoclone2/build_failure.osx-64.yaml b/recipes/bioconductor-mitoclone2/build_failure.osx-64.yaml index 6555f791b7b6c..6dc0ac91eab34 100644 --- a/recipes/bioconductor-mitoclone2/build_failure.osx-64.yaml +++ b/recipes/bioconductor-mitoclone2/build_failure.osx-64.yaml @@ -1,34 +1,106 @@ -recipe_sha: b3f485e595ac8261edb0235d74e363cae12e1815d3784c08e428d14b806811ed # The commit at which this recipe failed to build. +recipe_sha: 60f475e5bda7669f78635653dbdbbc6ac8818393a7bc525552f7d723c69c6571 # The commit at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -reason: |- - 11:53:02 BIOCONDA INFO (ERR) ../inst/SCITEpkg/findBestTrees.cpp:58:8: error: redefinition of 'gamma' as different kind of symbol - 11:53:02 BIOCONDA INFO (ERR) double gamma = 1; - 11:53:02 BIOCONDA INFO (ERR) ^ - 11:53:02 BIOCONDA INFO (ERR) /Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/math.h:720:15: note: previous definition is here - 11:53:02 BIOCONDA INFO (ERR) extern double gamma(double) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_NA, __IPHONE_NA); - 11:53:02 BIOCONDA INFO (ERR) ^ - 11:53:02 BIOCONDA INFO (ERR) ../inst/SCITEpkg/findBestTrees.cpp:102:67: warning: 'gamma' is deprecated: first deprecated in macOS 10.9 [-Wdeprecated-declarations] - 11:53:02 BIOCONDA INFO (ERR) sampleOutput = runMCMCbeta(optimalTrees, errorRates, rep, loops, gamma, moveProbs, n, m, dataMatrix, scoreType, trueParentVec, sampleStep, sampleID, chi, priorSd, useTreeList, treeType); - 11:53:02 BIOCONDA INFO (ERR) ^ - 11:53:02 BIOCONDA INFO (ERR) /Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/math.h:720:15: note: 'gamma' has been explicitly marked deprecated here - 11:53:02 BIOCONDA INFO (ERR) extern double gamma(double) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_NA, __IPHONE_NA); - 11:53:02 BIOCONDA INFO (ERR) ^ - 11:53:02 BIOCONDA INFO (ERR) ../inst/SCITEpkg/findBestTrees.cpp:102:17: error: no matching function for call to 'runMCMCbeta' - 11:53:02 BIOCONDA INFO (ERR) sampleOutput = runMCMCbeta(optimalTrees, errorRates, rep, loops, gamma, moveProbs, n, m, dataMatrix, scoreType, trueParentVec, sampleStep, sampleID, chi, priorSd, useTreeList, treeType); - 11:53:02 BIOCONDA INFO (ERR) ^~~~~~~~~~~ - 11:53:02 BIOCONDA INFO (ERR) ../inst/SCITEpkg/mcmc.h:13:8: note: candidate function not viable: no known conversion from 'double (double)' to 'double' for 5th argument - 11:53:02 BIOCONDA INFO (ERR) string runMCMCbeta(vector& bestTrees, double* errorRates, int noOfReps, int noOfLoops, double gamma, vector moveProbs, int n, int m, int** dataMatrix, char scoreType, int* trueParentVec, int step, bool sampleID, double chi, double priorSd, bool useTreeList, char treeType); - 11:53:02 BIOCONDA INFO (ERR) ^ - 11:53:02 BIOCONDA INFO (ERR) ../inst/SCITEpkg/findBestTrees.cpp:267:24: warning: 'gamma' is deprecated: first deprecated in macOS 10.9 [-Wdeprecated-declarations] - 11:53:02 BIOCONDA INFO (ERR) if (i + 1 < argc) { gamma = atof(argv[++i]);} - 11:53:02 BIOCONDA INFO (ERR) ^ - 11:53:02 BIOCONDA INFO (ERR) /Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/math.h:720:15: note: 'gamma' has been explicitly marked deprecated here - 11:53:02 BIOCONDA INFO (ERR) extern double gamma(double) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_NA, __IPHONE_NA); - 11:53:02 BIOCONDA INFO (ERR) ^ - 11:53:02 BIOCONDA INFO (ERR) ../inst/SCITEpkg/findBestTrees.cpp:267:30: error: non-object type 'double (double)' is not assignable - 11:53:02 BIOCONDA INFO (ERR) if (i + 1 < argc) { gamma = atof(argv[++i]);} - 11:53:02 BIOCONDA INFO (ERR) ~~~~~ ^ - 11:53:02 BIOCONDA INFO (ERR) 2 warnings and 3 errors generated. - 11:53:11 BIOCONDA INFO (ERR) make: *** [Makevars:26: scite] Error 1 category: |- - compiler error + source download error +log: |2- + tapi: 1100.0.11-h9ce4665_0 conda-forge + tk: 8.6.13-h1abcd95_1 conda-forge + tktable: 2.10-ha166976_5 conda-forge + toml: 0.10.2-pyhd8ed1ab_0 conda-forge + tomlkit: 0.12.3-pyha770c72_0 conda-forge + tzdata: 2023c-h71feb2d_0 conda-forge + xmltodict: 0.13.0-pyhd8ed1ab_0 conda-forge + xz: 5.2.6-h775f41a_0 conda-forge + yaml: 0.2.5-h0d85af4_2 conda-forge + yq: 3.2.3-pyhd8ed1ab_0 conda-forge + zlib: 1.2.13-h8a1eda9_5 conda-forge + zstd: 1.5.5-h829000d_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Reloading output folder: /opt/mambaforge/envs/bioconda/conda-bld + Reloading output folder: /opt/mambaforge/envs/bioconda/conda-bld + + ## Package Plan ## + + environment location: /opt/mambaforge/envs/bioconda/conda-bld/bioconductor-mitoclone2_1703020590195/_build_env + + + The following NEW packages will be INSTALLED: + + ca-certificates: 2023.11.17-h8857fd0_0 conda-forge + cctools_osx-64: 973.0.1-habff3f6_15 conda-forge + clang: 15.0.7-hac416ee_4 conda-forge + clang-15: 15.0.7-default_h6b1ee41_4 conda-forge + clang_impl_osx-64: 15.0.7-h03d6864_7 conda-forge + clang_osx-64: 15.0.7-hb91bd55_7 conda-forge + clangxx: 15.0.7-default_h6b1ee41_4 conda-forge + clangxx_impl_osx-64: 15.0.7-h2133e9c_7 conda-forge + clangxx_osx-64: 15.0.7-hb91bd55_7 conda-forge + compiler-rt: 15.0.7-ha38d28d_2 conda-forge + compiler-rt_osx-64: 15.0.7-ha38d28d_2 conda-forge + icu: 73.2-hf5e326d_0 conda-forge + ld64_osx-64: 609-h0fd476b_15 conda-forge + libclang-cpp15: 15.0.7-default_h6b1ee41_4 conda-forge + libcxx: 16.0.6-hd57cbcb_0 conda-forge + libiconv: 1.17-hd75f5a5_2 conda-forge + libllvm15: 15.0.7-hbedff68_4 conda-forge + libxml2: 2.12.3-hc0ae0f7_0 conda-forge + libzlib: 1.2.13-h8a1eda9_5 conda-forge + llvm-tools: 15.0.7-hbedff68_4 conda-forge + make: 4.3-h22f3db7_1 conda-forge + openssl: 3.2.0-hd75f5a5_1 conda-forge + sigtool: 0.1.3-h88f4db0_0 conda-forge + tapi: 1100.0.11-h9ce4665_0 conda-forge + xz: 5.2.6-h775f41a_0 conda-forge + zstd: 1.5.5-h829000d_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache + INFO:conda_build.source:Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache + Downloading source to cache: mitoClone2_1.8.1_22c58ba6ed.tar.gz + INFO:conda_build.source:Downloading source to cache: mitoClone2_1.8.1_22c58ba6ed.tar.gz + Downloading https://bioconductor.org/packages/3.18/bioc/src/contrib/mitoClone2_1.8.1.tar.gz + INFO:conda_build.source:Downloading https://bioconductor.org/packages/3.18/bioc/src/contrib/mitoClone2_1.8.1.tar.gz + Success + INFO:conda_build.source:Success + Extracting download + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/bioconductor-mitoclone2/gamma.patch + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/bioconductor-mitoclone2/gamma.patch with args: + ['-Np1', '-i', '/var/folders/qv/pdh5wsgn0lq3dp77zj602b5c0000gn/T/tmpz0brhpff/gamma.patch.native', '--binary'] + checking file inst/SCITEpkg/findBestTrees.cpp + Hunk #1 succeeded at 55 (offset 2 lines). + Hunk #2 FAILED at 97. + Hunk #3 succeeded at 264 (offset 2 lines). + 1 out of 3 hunks FAILED + checking file inst/SCITEpkg/mcmc.cpp + Hunk #1 FAILED at 41. + Hunk #2 succeeded at 98 (offset 2 lines). + Hunk #3 succeeded at 121 (offset 2 lines). + 1 out of 3 hunks FAILED + checking file inst/SCITEpkg/mcmc.h + Hunk #1 FAILED at 8. + 1 out of 1 hunk FAILED + Warning: failed to download source. If building, will try again after downloading recipe dependencies. + Error was: + Command '['/opt/mambaforge/envs/bioconda/bin/patch', '--no-backup-if-mismatch', '--batch', '-Np1', '-i', '/var/folders/qv/pdh5wsgn0lq3dp77zj602b5c0000gn/T/tmpz0brhpff/gamma.patch.native', '--binary', '--dry-run']' returned non-zero exit status 1. + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in + sys.exit(main()) + File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main + call_conda_build(action, config) + File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build + result = api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree + packages_from_this = build(metadata, stats, + File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2125, in build + try_download(m, no_download_source=False, raise_error=True) + File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/render.py", line 663, in try_download + raise RuntimeError("Failed to download or patch source. Please see build log for info.") + RuntimeError: Failed to download or patch source. Please see build log for info. +# Last 100 lines of the build log. diff --git a/recipes/bioconductor-mitoclone2/meta.yaml b/recipes/bioconductor-mitoclone2/meta.yaml index 9e55a630af16c..5d35d4e370509 100644 --- a/recipes/bioconductor-mitoclone2/meta.yaml +++ b/recipes/bioconductor-mitoclone2/meta.yaml @@ -12,6 +12,8 @@ source: - 'https://bioarchive.galaxyproject.org/{{ name }}_{{ version }}.tar.gz' - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 22c58ba6ed0a51f10714551935477355 + patches: + - gamma.patch build: number: 0 rpaths: diff --git a/recipes/bioconductor-mnem/meta.yaml b/recipes/bioconductor-mnem/meta.yaml index 10fae6b84f0a8..ecf09bdc62142 100644 --- a/recipes/bioconductor-mnem/meta.yaml +++ b/recipes/bioconductor-mnem/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 630cb52a48148dc82038613aacb4e834 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -67,8 +67,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-3 + license: GPL-3.0-only summary: 'Mixture Nested Effects Models' description: 'Mixture Nested Effects Models (mnem) is an extension of Nested Effects Models and allows for the analysis of single cell perturbation data provided by methods like Perturb-Seq (Dixit et al., 2016) or Crop-Seq (Datlinger et al., 2017). In those experiments each of many cells is perturbed by a knock-down of a specific gene, i.e. several cells are perturbed by a knock-down of gene A, several by a knock-down of gene B, ... and so forth. The observed read-out has to be multi-trait and in the case of the Perturb-/Crop-Seq gene are expression profiles for each cell. mnem uses a mixture model to simultaneously cluster the cell population into k clusters and and infer k networks causally linking the perturbed genes for each cluster. The mixture components are inferred via an expectation maximization algorithm.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} diff --git a/recipes/bioconductor-monocle/meta.yaml b/recipes/bioconductor-monocle/meta.yaml index 1877a38efe4cf..0d97d8b9d68ad 100644 --- a/recipes/bioconductor-monocle/meta.yaml +++ b/recipes/bioconductor-monocle/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 8b3a3d5cd2698b4cef4396c388250658 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -99,6 +99,8 @@ about: summary: 'Clustering, differential expression, and trajectory analysis for single- cell RNA-Seq' description: 'Monocle performs differential expression and time-series analysis for single-cell expression experiments. It orders individual cells according to progress through a biological process, without knowing ahead of time which genes define progress through that process. Monocle also performs differential expression analysis, clustering, visualization, and other useful tasks on single cell expression data. It is designed to work with RNA-Seq and qPCR data, but could be used with other types as well.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:monocle parent_recipe: diff --git a/recipes/bioconductor-motifmatchr/meta.yaml b/recipes/bioconductor-motifmatchr/meta.yaml index 77a5618b3748d..273956ac97380 100644 --- a/recipes/bioconductor-motifmatchr/meta.yaml +++ b/recipes/bioconductor-motifmatchr/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 23c63cb97f5e359a4fb9e5e6751e037d build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -60,8 +60,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL-3 + file LICENSE' + license: 'GPL-3.0-only + file LICENSE' summary: 'Fast Motif Matching in R' description: 'Quickly find motif matches for many motifs and many sequences. Wraps C++ code from the MOODS motif calling library, which was developed by Pasi Rastas, Janne Korhonen, and Petri Martinmäki.' license_file: LICENSE +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name }} \ No newline at end of file diff --git a/recipes/bioconductor-msa/meta.yaml b/recipes/bioconductor-msa/meta.yaml index d7f0231460388..3b02f9e8d1d8f 100644 --- a/recipes/bioconductor-msa/meta.yaml +++ b/recipes/bioconductor-msa/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 78eba41452ffe497e1a7c72116335b3e build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -52,3 +52,8 @@ about: description: 'The ''msa'' package provides a unified R/Bioconductor interface to the multiple sequence alignment algorithms ClustalW, ClustalOmega, and Muscle. All three algorithms are integrated in the package, therefore, they do not depend on any external software tools and are available for all major platforms. The multiple sequence alignment algorithms are complemented by a function for pretty-printing multiple sequence alignments using the LaTeX package TeXshade.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} diff --git a/recipes/bioconductor-msbackendrawfilereader/build_failure.linux-64.yaml b/recipes/bioconductor-msbackendrawfilereader/build_failure.linux-64.yaml index f5a4913e2b565..1f88c079d088c 100644 --- a/recipes/bioconductor-msbackendrawfilereader/build_failure.linux-64.yaml +++ b/recipes/bioconductor-msbackendrawfilereader/build_failure.linux-64.yaml @@ -1,5 +1,7 @@ -recipe_sha: a1dd969f025e82a20369e9349e247d8250f1af7f5c52fef7be41b022c67eb42e # The commit at which this recipe failed to build. +recipe_sha: b7766d035130ae790cea751e3ffdd9b9db7a9ee165bdd6eac0deefe15615c9f1 # The commit at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: |- + dependency issue log: |- conda-forge/linux-64 100%[2K[1A[2K[0Gconda-forge/linux-64 [?25h[34mReloading output folder: [0m[34m/opt/conda/[0m[34mconda-bld[0m @@ -9,15 +11,15 @@ log: |- [?25h[34mReloading output folder: [0m[34m/opt/conda/[0m[34mconda-bld[0m [?25l[2K[0G[] 0.0s [2K[1A[2K[0Gopt/conda/conda-bld/linux-64 ??.?MB @ ??.?MB/s 0 failed 0.0s - opt/conda/conda-bld/noarch 127.0 B @ 2.1MB/s 0.0s + opt/conda/conda-bld/noarch 127.0 B @ 2.2MB/s 0.0s [?25hMamba failed to solve: - - bioconductor-s4vectors >=0.40.0,<0.41.0 - - bioconductor-rawrr >=1.10.0,<1.11.0 - - bioconductor-spectra >=1.12.0,<1.13.0 - - bioconductor-biocparallel >=1.36.0,<1.37.0 - - bioconductor-iranges >=2.36.0,<2.37.0 - - bioconductor-mscoreutils >=1.14.0,<1.15.0 + - bioconductor-rsbml >=2.60.0,<2.61.0 + - r-stringr + - bioconductor-hyperdraw >=1.54.0,<1.55.0 + - r-lim - r-base 4.3.* + - bioconductor-hypergraph >=1.74.0,<1.75.0 + - r-limsolve with channels: - file:///opt/host-conda-bld @@ -27,7 +29,7 @@ log: |- The reported errors are: - Encountered problems while solving: - - - nothing provides requested bioconductor-rawrr >=1.10.0,<1.11.0 + - - package bioconductor-hyperdraw-1.54.0-r43hba55f59_0 requires graphviz >=8.1.0,<9.0a0, but none of the providers can be installed - Leaving build/test directories: @@ -50,13 +52,13 @@ log: |- File "/opt/conda/lib/python3.8/site-packages/boa/core/solver.py", line 234, in solve raise RuntimeError("Solver could not find solution." error_string) RuntimeError: Solver could not find solution.Mamba failed to solve: - - bioconductor-s4vectors >=0.40.0,<0.41.0 - - bioconductor-rawrr >=1.10.0,<1.11.0 - - bioconductor-spectra >=1.12.0,<1.13.0 - - bioconductor-biocparallel >=1.36.0,<1.37.0 - - bioconductor-iranges >=2.36.0,<2.37.0 - - bioconductor-mscoreutils >=1.14.0,<1.15.0 + - bioconductor-rsbml >=2.60.0,<2.61.0 + - r-stringr + - bioconductor-hyperdraw >=1.54.0,<1.55.0 + - r-lim - r-base 4.3.* + - bioconductor-hypergraph >=1.74.0,<1.75.0 + - r-limsolve with channels: - file:///opt/host-conda-bld @@ -66,7 +68,7 @@ log: |- The reported errors are: - Encountered problems while solving: - - - nothing provides requested bioconductor-rawrr >=1.10.0,<1.11.0 + - - package bioconductor-hyperdraw-1.54.0-r43hba55f59_0 requires graphviz >=8.1.0,<9.0a0, but none of the providers can be installed - During handling of the above exception, another exception occurred: @@ -100,5 +102,5 @@ log: |- actions = environ.get_install_actions(tmpdir, tuple(dependencies), env, File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 150, in mamba_get_install_actions raise err - conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("bioconductor-rawrr[version='>=1.10.0,<1.11.0']")} + conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("bioconductor-hyperdraw==1.54.0=r43hba55f59_0"), MatchSpec("graphviz[version='>=8.1.0,<9.0a0']")} # Last 100 lines of the build log. diff --git a/recipes/bioconductor-mscoreutils/meta.yaml b/recipes/bioconductor-mscoreutils/meta.yaml index abc01147f991f..e3dad78d9e43e 100644 --- a/recipes/bioconductor-mscoreutils/meta.yaml +++ b/recipes/bioconductor-mscoreutils/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 163cc129bc77ed033c124fed5bf7d9ca build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -47,3 +47,10 @@ about: summary: 'Core Utils for Mass Spectrometry Data' description: 'MsCoreUtils defines low-level functions for mass spectrometry data and is independent of any high-level data structures. These functions include mass spectra processing functions (noise estimation, smoothing, binning), quantitative aggregation functions (median polish, robust summarisation, ...), missing data imputation, data normalisation (quantiles, vsn, ...) as well as misc helper functions, that are used across high-level data structure within the R for Mass Spectrometry packages.' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} + - usegalaxy-eu:{{ name|lower }} + diff --git a/recipes/bioconductor-msnbase/meta.yaml b/recipes/bioconductor-msnbase/meta.yaml index a3dd29afe1be0..9ee30e970c999 100644 --- a/recipes/bioconductor-msnbase/meta.yaml +++ b/recipes/bioconductor-msnbase/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 4d3cbd696e9ca193ec9bdc4722f2ac49 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -83,6 +83,8 @@ about: summary: 'Base Functions and Classes for Mass Spectrometry and Proteomics' description: 'MSnbase provides infrastructure for manipulation, processing and visualisation of mass spectrometry and proteomics data, ranging from raw to quantitative and annotated data.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:msnbase parent_recipe: diff --git a/recipes/bioconductor-msstats/meta.yaml b/recipes/bioconductor-msstats/meta.yaml index e17bbdfaade32..16e7cd6050d08 100644 --- a/recipes/bioconductor-msstats/meta.yaml +++ b/recipes/bioconductor-msstats/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: fac3a495f2e627a75b10a9b941d3674d build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -69,6 +69,8 @@ about: summary: 'Protein Significance Analysis in DDA, SRM and DIA for Label-free or Label-based Proteomics Experiments' description: 'A set of tools for statistical relative protein significance analysis in DDA, SRM and DIA experiments.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:msstats parent_recipe: diff --git a/recipes/bioconductor-multirnaflow/build_failure.linux-64.yaml b/recipes/bioconductor-multirnaflow/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..8506b569378e7 --- /dev/null +++ b/recipes/bioconductor-multirnaflow/build_failure.linux-64.yaml @@ -0,0 +1,6 @@ +recipe_sha: bb62d3b200f33f1ffccfa82f8214efabe8d38de5aa2a4135bccc1e17878148d7 # The commit at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +reason: |- + package r-plot3drgl-1.0.4-r43h6115d3f_0 is excluded by strict repo priority +category: |- + dependency issue diff --git a/recipes/bioconductor-multtest/meta.yaml b/recipes/bioconductor-multtest/meta.yaml index 2921e8d93355a..9a08836c83130 100644 --- a/recipes/bioconductor-multtest/meta.yaml +++ b/recipes/bioconductor-multtest/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 7d81a8460781f4a86f01a9df5fcf50d7 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -42,11 +42,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: LGPL + license: LGPL-3-only summary: 'Resampling-based multiple hypothesis testing' description: 'Non-parametric bootstrap and permutation resampling-based multiple testing procedures (including empirical Bayes methods) for controlling the family-wise error rate (FWER), generalized family-wise error rate (gFWER), tail probability of the proportion of false positives (TPPFP), and false discovery rate (FDR). Several choices of bootstrap-based null distribution are implemented (centered, centered and scaled, quantile-transformed). Single-step and step-wise methods are available. Tests based on a variety of t- and F-statistics (including t-statistics based on regression parameters from linear and survival models as well as those based on correlation parameters) are included. When probing hypotheses with t-statistics, users may also select a potentially faster null distribution which is multivariate normal with mean zero and variance covariance matrix derived from the vector influence function. Results are reported in terms of adjusted p-values, confidence regions and test statistic cutoffs. The procedures are directly applicable to identifying differentially expressed genes in DNA microarray experiments.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/LGPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:multtest - doi:10.1007/0-387-29362-0_15 diff --git a/recipes/bioconductor-mzr/meta.yaml b/recipes/bioconductor-mzr/meta.yaml index 788afdea54a79..9a63146869b81 100644 --- a/recipes/bioconductor-mzr/meta.yaml +++ b/recipes/bioconductor-mzr/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: aae8b88db5fd49675b653b861702800e build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -53,6 +53,8 @@ about: summary: 'parser for netCDF, mzXML, mzData and mzML and mzIdentML files (mass spectrometry data)' description: 'mzR provides a unified API to the common file formats and parsers available for mass spectrometry data. It comes with a subset of the proteowizard library for mzXML, mzML and mzIdentML. The netCDF reading code has previously been used in XCMS.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:mzr parent_recipe: diff --git a/recipes/bioconductor-netpathminer/build_failure.osx-64.yaml b/recipes/bioconductor-netpathminer/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..43131ce3691f9 --- /dev/null +++ b/recipes/bioconductor-netpathminer/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 23cae448d4f716cd6f687090322e2d4d4738a88f5e747b922362e4635aa141fb # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/bioconductor-netpathminer_1717508392210/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/bioconductor-netpathminer_1717508392210/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/bioconductor-netpathminer_1717508392210/work + INFO: activate-gfortran_osx-64.sh made the following environmental changes: + DEBUG_FFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-netpathminer-1.38.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fimplicit-none -fvar-tracking-assignments + DEBUG_FORTRANFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-netpathminer-1.38.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fimplicit-none -fvar-tracking-assignments + F77=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + F90=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + F95=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + FC=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + FC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + FFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-netpathminer-1.38.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + FORTRANFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-netpathminer-1.38.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + GFORTRAN=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-netpathminer-1.38.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/bioconductor-netpathminer_1717508392210/work/conda_build.sh']' returned non-zero exit status 1. + CMAKE_ARGS=-DCMAKE_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-netpathminer-1.38.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-netpathminer-1.38.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bioconductor-netpathminer-1.38.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + INFO: activate_clang_osx-64.sh made the following environmental changes: + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + -CC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + -CMAKE_ARGS=-DCMAKE_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + -OBJC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + -CXX_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + checking for x86_64-apple-darwin13.4.0-gcc... x86_64-apple-darwin13.4.0-clang + checking whether the C compiler works... yes + checking for C compiler default output file name... a.out + checking for suffix of executables... + checking whether we are cross compiling... no + checking for suffix of object files... o + checking whether we are using the GNU C compiler... yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... yes + checking for x86_64-apple-darwin13.4.0-clang option to accept ISO C89... none needed + checking how to run the C preprocessor... x86_64-apple-darwin13.4.0-clang -E + checking for xmlParseFile in -lxml2... yes + checking for readSBML in -lsbml... no + untarring boost include tree... + SBML not found. + libXML2 found + checking for xml2-config... $BUILD_PREFIX/bin/xml2-config + configure: creating ./config.status + config.status: creating src/Makevars + x86_64-apple-darwin13.4.0-clang -std=gnu17 -I"$PREFIX/lib/R/include" -DNDEBUG -I. -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I$PREFIX/include -DHAVE_XML -I$BUILD_PREFIX/include/libxml2 -I$BUILD_PREFIX/include -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I$PREFIX/include -fPIC -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=/Users/runner/miniforge3/conda-bld/r-base-split_1714471796105/work=/usr/local/src/conda/r-base-4.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c PathRanker.cpp -o PathRanker.o +# Last 100 lines of the build log. diff --git a/recipes/bioconductor-netpathminer/meta.yaml b/recipes/bioconductor-netpathminer/meta.yaml index 50aca74364875..32eed2ae8d2b5 100644 --- a/recipes/bioconductor-netpathminer/meta.yaml +++ b/recipes/bioconductor-netpathminer/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 91cc0601961f682fcf1a2bed61eb6438 build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ diff --git a/recipes/bioconductor-netresponse/meta.yaml b/recipes/bioconductor-netresponse/meta.yaml index c0beb901e67b0..8f03e8e1a4efd 100644 --- a/recipes/bioconductor-netresponse/meta.yaml +++ b/recipes/bioconductor-netresponse/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 990c864cea311427d5af5f854edf4041 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -58,8 +58,14 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>=2)' + license: 'GPL-3.0-or-later' summary: 'Functional Network Analysis' description: 'Algorithms for functional network analysis. Includes an implementation of a variational Dirichlet process Gaussian mixture model for nonparametric mixture modeling.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} + diff --git a/recipes/bioconductor-omicsviewer/build_failure.linux-64.yaml b/recipes/bioconductor-omicsviewer/build_failure.linux-64.yaml index a090dac7f93ac..42c095bbef5d2 100644 --- a/recipes/bioconductor-omicsviewer/build_failure.linux-64.yaml +++ b/recipes/bioconductor-omicsviewer/build_failure.linux-64.yaml @@ -1,5 +1,9 @@ recipe_sha: 239d6bdc75a778a6447bf4fc3495c2f506b1d9b087b303660bddf9344473faef # The commit at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +reason: |- + r-flatxml 0.1.1 would require r-base >=4.2,<4.3.0a0, which conflicts with any installable versions previously reported; +category: |- + dependency issue log: |- - - package bioconductor-summarizedexperiment-1.32.0-r43hdfd78af_0 requires bioconductor-delayedarray >=0.28.0,<0.29.0, but none of the providers can be installed - diff --git a/recipes/bioconductor-oncosimulr/build.sh b/recipes/bioconductor-oncosimulr/build.sh index c1d13421f5f1e..ac78ea511ccf4 100644 --- a/recipes/bioconductor-oncosimulr/build.sh +++ b/recipes/bioconductor-oncosimulr/build.sh @@ -8,4 +8,7 @@ CXX=$CXX CXX98=$CXX CXX11=$CXX CXX14=$CXX" > ~/.R/Makevars +if [[ $OSTYPE == "darwin"* ]]; then + sed -i.bak "s/OncoSimulR.so/OncoSimulR.dylib/g" src/install.libs.R +fi $R CMD INSTALL --build . \ No newline at end of file diff --git a/recipes/bioconductor-otubase/meta.yaml b/recipes/bioconductor-otubase/meta.yaml index 51975ccd38e1e..b6a36eb811848 100644 --- a/recipes/bioconductor-otubase/meta.yaml +++ b/recipes/bioconductor-otubase/meta.yaml @@ -52,4 +52,3 @@ extra: name: bioconductor-otubase path: recipes/bioconductor-otubase version: 1.30.0 - diff --git a/recipes/bioconductor-outrider/meta.yaml b/recipes/bioconductor-outrider/meta.yaml index 7fb41ce9d207b..84fc0e04082f1 100644 --- a/recipes/bioconductor-outrider/meta.yaml +++ b/recipes/bioconductor-outrider/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.20.0" %} +{% set version = "1.20.1" %} {% set name = "OUTRIDER" %} {% set bioc = "3.18" %} @@ -7,11 +7,12 @@ package: version: '{{ version }}' source: url: + - 'https://github.com/gagneurlab/{{ name }}/archive/refs/tags/{{ version }}.tar.gz' - 'https://bioconductor.org/packages/{{ bioc }}/bioc/src/contrib/{{ name }}_{{ version }}.tar.gz' - 'https://bioconductor.org/packages/{{ bioc }}/bioc/src/contrib/Archive/{{ name }}/{{ name }}_{{ version }}.tar.gz' - 'https://bioarchive.galaxyproject.org/{{ name }}_{{ version }}.tar.gz' - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' - md5: 92609d3ce486cdf55004d26887a9494d + md5: 6406872685b1e9b329c55d07fc82237b build: number: 0 rpaths: @@ -35,6 +36,7 @@ requirements: - r-data.table - r-generics - r-ggplot2 + - r-ggrepel - r-heatmaply - r-matrixstats - r-pheatmap @@ -63,6 +65,7 @@ requirements: - r-data.table - r-generics - r-ggplot2 + - r-ggrepel - r-heatmaply - r-matrixstats - r-pheatmap diff --git a/recipes/bioconductor-pcamethods/meta.yaml b/recipes/bioconductor-pcamethods/meta.yaml index daa71eb6ce889..a206627ebca74 100644 --- a/recipes/bioconductor-pcamethods/meta.yaml +++ b/recipes/bioconductor-pcamethods/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: a989ad925a9852f55eb5e4d16d1529d0 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -44,11 +44,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>= 3)' + license: 'GPL-3.0-or-later' summary: 'A collection of PCA methods' description: 'Provides Bayesian PCA, Probabilistic PCA, Nipals PCA, Inverse Non-Linear PCA and the conventional SVD PCA. A cluster based method for missing value estimation is included for comparison. BPCA, PPCA and NipalsPCA may be used to perform PCA on incomplete data as well as for accurate missing value estimation. A set of methods for printing and plotting the results is also provided. All PCA methods make use of the same data structure (pcaRes) to provide a common interface to the PCA results. Initiated at the Max-Planck Institute for Molecular Plant Physiology, Golm, Germany.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:pcamethods - doi:10.1093/bioinformatics/btm069 diff --git a/recipes/bioconductor-pics/meta.yaml b/recipes/bioconductor-pics/meta.yaml index 971dcdab777d4..29900a517454a 100644 --- a/recipes/bioconductor-pics/meta.yaml +++ b/recipes/bioconductor-pics/meta.yaml @@ -19,6 +19,7 @@ build: - lib/ run_exports: '{{ pin_subpackage("bioconductor-pics", max_pin="x.x") }}' # Suggests: rtracklayer, parallel, knitr +# SystemRequirements: gsl requirements: host: - 'bioconductor-genomicalignments >=1.38.0,<1.39.0' @@ -28,12 +29,14 @@ requirements: - r-base - libblas - liblapack + - gsl run: - 'bioconductor-genomicalignments >=1.38.0,<1.39.0' - 'bioconductor-genomicranges >=1.54.0,<1.55.0' - 'bioconductor-iranges >=2.36.0,<2.37.0' - 'bioconductor-rsamtools >=2.18.0,<2.19.0' - r-base + - gsl build: - {{ compiler('c') }} - automake diff --git a/recipes/bioconductor-preprocesscore/meta.yaml b/recipes/bioconductor-preprocesscore/meta.yaml index d43ce20f0865a..4d4b028c4d4a1 100644 --- a/recipes/bioconductor-preprocesscore/meta.yaml +++ b/recipes/bioconductor-preprocesscore/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 2116c6363074b59becdaf7a1e88caf91 build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -39,6 +39,8 @@ about: description: 'A library of core preprocessing routines.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/LGPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:preprocesscore - doi:10.1038/nmeth.3252 diff --git a/recipes/bioconductor-qckitfastq/meta.yaml b/recipes/bioconductor-qckitfastq/meta.yaml index 53eef96aff64e..ecb59cbec82ca 100644 --- a/recipes/bioconductor-qckitfastq/meta.yaml +++ b/recipes/bioconductor-qckitfastq/meta.yaml @@ -12,6 +12,8 @@ source: - 'https://bioarchive.galaxyproject.org/{{ name }}_{{ version }}.tar.gz' - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 60955b37d9eb0868da1c5ecd262334e8 + patches: + - shared_timed_mutex.patch build: number: 0 rpaths: diff --git a/recipes/bioconductor-qpgraph/meta.yaml b/recipes/bioconductor-qpgraph/meta.yaml index 4287b9ed5aeb4..46f6f4233d53b 100644 --- a/recipes/bioconductor-qpgraph/meta.yaml +++ b/recipes/bioconductor-qpgraph/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 10be7ba90f9349fb4de4aa84e6fecaa4 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -63,11 +63,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>= 2)' + license: 'GPL-3.0-or-later' summary: 'Estimation of genetic and molecular regulatory networks from high-throughput genomics data' description: 'Estimate gene and eQTL networks from high-throughput expression and genotyping assays.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:qpgraph parent_recipe: diff --git a/recipes/bioconductor-rbgl/meta.yaml b/recipes/bioconductor-rbgl/meta.yaml index f201a7627ea36..6dea29c5ac9ad 100644 --- a/recipes/bioconductor-rbgl/meta.yaml +++ b/recipes/bioconductor-rbgl/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: a18b5ad5c49f058b6f65a2bd0a4274d1 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -43,6 +43,8 @@ about: summary: 'An interface to the BOOST graph library' description: 'A fairly extensive and comprehensive interface to the graph algorithms contained in the BOOST library.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:rbgl - doi:10.1093/bioinformatics/bth458 diff --git a/recipes/bioconductor-rbowtie2/meta.yaml b/recipes/bioconductor-rbowtie2/meta.yaml index cf394a23f4368..37affc8af1f48 100644 --- a/recipes/bioconductor-rbowtie2/meta.yaml +++ b/recipes/bioconductor-rbowtie2/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: dbba503f3134fdb9c6521c060ec2d5fc build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -40,8 +40,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>= 3)' + license: 'GPL-3.0-or-later' summary: 'An R Wrapper for Bowtie2 and AdapterRemoval' description: 'This package provides an R wrapper of the popular bowtie2 sequencing reads aligner and AdapterRemoval, a convenient tool for rapid adapter trimming, identification, and read merging. The package contains wrapper functions that allow for genome indexing and alignment to those indexes. The package also allows for the creation of .bam files via Rsamtools.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} diff --git a/recipes/bioconductor-rbwa/meta.yaml b/recipes/bioconductor-rbwa/meta.yaml index 5aac024a86f2e..61d8edec8d4e3 100644 --- a/recipes/bioconductor-rbwa/meta.yaml +++ b/recipes/bioconductor-rbwa/meta.yaml @@ -39,4 +39,3 @@ about: summary: 'R wrapper for BWA-backtrack and BWA-MEM aligners' description: 'Provides an R wrapper for BWA alignment algorithms. Both BWA-backtrack and BWA-MEM are available. Convenience function to build a BWA index from a reference genome is also provided. Currently not supported for Windows machines.' license_file: LICENSE - diff --git a/recipes/bioconductor-reusedata/build_failure.linux-64.yaml b/recipes/bioconductor-reusedata/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..ecc86f7cff23e --- /dev/null +++ b/recipes/bioconductor-reusedata/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 1370555a597842bfc527b0664421636a289d7b039c85298dda7098e9b36ad0b9 # The commit at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + [?25l[2K[0G[] 0.0s + [2K[1A[2K[0Gopt/conda/conda-bld/linux-64 ??.?MB @ ??.?MB/s 0 failed 0.0s + opt/conda/conda-bld/noarch 127.0 B @ 2.0MB/s 0.0s + [?25h[34mReloading output folder: [0m[34m/opt/conda/[0m[34mconda-bld[0m + [?25l[2K[0G[] 0.0s + [2K[1A[2K[0Gopt/conda/conda-bld/linux-64 ??.?MB @ ??.?MB/s 0 failed 0.0s + opt/conda/conda-bld/noarch 127.0 B @ 2.0MB/s 0.0s + [?25hMamba failed to solve: + - bioconductor-basilisk >=1.14.0,<1.15.0 + - bioconductor-biocfilecache >=2.10.0,<2.11.0 + - bioconductor-rcwl >=1.18.0,<1.19.0 + - r-yaml + - bioconductor-s4vectors >=0.40.0,<0.41.0 + - r-base 4.3.* + - bioconductor-rcwlpipelines >=1.18.0,<1.19.0 + - r-jsonlite + + with channels: + - file:///opt/host-conda-bld + - conda-forge + - bioconda + - defaults + + The reported errors are: + - Encountered problems while solving: + - - nothing provides requested bioconductor-rcwlpipelines >=1.18.0,<1.19.0 + - + + Leaving build/test directories: + Work: + /opt/conda/conda-bld/work + Test: + /opt/conda/conda-bld/test_tmp + Leaving build/test environments: + Test: + source activate /opt/conda/conda-bld/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl + Build: + source activate /opt/conda/conda-bld/_build_env + + + Traceback (most recent call last): + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 141, in mamba_get_install_actions + solution = solver.solve_for_action(_specs, prefix) + File "/opt/conda/lib/python3.8/site-packages/boa/core/solver.py", line 244, in solve_for_action + t = self.solve(specs) + File "/opt/conda/lib/python3.8/site-packages/boa/core/solver.py", line 234, in solve + raise RuntimeError("Solver could not find solution." error_string) + RuntimeError: Solver could not find solution.Mamba failed to solve: + - bioconductor-basilisk >=1.14.0,<1.15.0 + - bioconductor-biocfilecache >=2.10.0,<2.11.0 + - bioconductor-rcwl >=1.18.0,<1.19.0 + - r-yaml + - bioconductor-s4vectors >=0.40.0,<0.41.0 + - r-base 4.3.* + - bioconductor-rcwlpipelines >=1.18.0,<1.19.0 + - r-jsonlite + + with channels: + - file:///opt/host-conda-bld + - conda-forge + - bioconda + - defaults + + The reported errors are: + - Encountered problems while solving: + - - nothing provides requested bioconductor-rcwlpipelines >=1.18.0,<1.19.0 + - + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/bin/conda-mambabuild", line 10, in + sys.exit(main()) + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main + call_conda_build(action, config) + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build + result = api.build( + File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build + return build_tree( + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree + packages_from_this = build(metadata, stats, + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2038, in build + output_metas = expand_outputs([(m, need_source_download, need_reparse_in_env)]) + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 787, in expand_outputs + for (output_dict, m) in deepcopy(_m).get_output_metadata_set(permit_unsatisfiable_variants=False): + File "/opt/conda/lib/python3.8/site-packages/conda_build/metadata.py", line 2524, in get_output_metadata_set + conda_packages = finalize_outputs_pass( + File "/opt/conda/lib/python3.8/site-packages/conda_build/metadata.py", line 884, in finalize_outputs_pass + fm = finalize_metadata( + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 547, in finalize_metadata + build_unsat, host_unsat = add_upstream_pins(m, + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 409, in add_upstream_pins + host_deps, host_unsat, extra_run_specs_from_host = _read_upstream_pin_files(m, 'host', + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 374, in _read_upstream_pin_files + deps, actions, unsat = get_env_dependencies(m, env, m.config.variant, + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 131, in get_env_dependencies + actions = environ.get_install_actions(tmpdir, tuple(dependencies), env, + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 150, in mamba_get_install_actions + raise err + conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("bioconductor-rcwlpipelines[version='>=1.18.0,<1.19.0']")} +# Last 100 lines of the build log. diff --git a/recipes/bioconductor-reusedata/meta.yaml b/recipes/bioconductor-reusedata/meta.yaml index f45c8f9250f15..3e52defa7ad81 100644 --- a/recipes/bioconductor-reusedata/meta.yaml +++ b/recipes/bioconductor-reusedata/meta.yaml @@ -1,6 +1,6 @@ -{% set version = "1.0.0" %} +{% set version = "1.2.2" %} {% set name = "ReUseData" %} -{% set bioc = "3.17" %} +{% set bioc = "3.18" %} package: name: 'bioconductor-{{ name|lower }}' @@ -11,30 +11,31 @@ source: - 'https://bioconductor.org/packages/{{ bioc }}/bioc/src/contrib/Archive/{{ name }}/{{ name }}_{{ version }}.tar.gz' - 'https://bioarchive.galaxyproject.org/{{ name }}_{{ version }}.tar.gz' - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' - md5: 93524bd7dc0a684ac5e2413f414197bd + md5: c0041ec5d810d0d043c7375e04e78c06 build: number: 0 rpaths: - lib/R/lib/ - lib/ + run_exports: '{{ pin_subpackage("bioconductor-reusedata", max_pin="x.x") }}' noarch: generic -# Suggests: knitr, rmarkdown, testthat (>= 3.0.0) +# Suggests: knitr, rmarkdown, testthat (>= 3.0.0), BiocStyle requirements: host: - - 'bioconductor-basilisk >=1.12.0,<1.13.0' - - 'bioconductor-biocfilecache >=2.8.0,<2.9.0' - - 'bioconductor-rcwl >=1.16.0,<1.17.0' - - 'bioconductor-rcwlpipelines >=1.16.0,<1.17.0' - - 'bioconductor-s4vectors >=0.38.0,<0.39.0' + - 'bioconductor-basilisk >=1.14.0,<1.15.0' + - 'bioconductor-biocfilecache >=2.10.0,<2.11.0' + - 'bioconductor-rcwl >=1.18.0,<1.19.0' + - 'bioconductor-rcwlpipelines >=1.18.0,<1.19.0' + - 'bioconductor-s4vectors >=0.40.0,<0.41.0' - r-base - r-jsonlite - r-yaml run: - - 'bioconductor-basilisk >=1.12.0,<1.13.0' - - 'bioconductor-biocfilecache >=2.8.0,<2.9.0' - - 'bioconductor-rcwl >=1.16.0,<1.17.0' - - 'bioconductor-rcwlpipelines >=1.16.0,<1.17.0' - - 'bioconductor-s4vectors >=0.38.0,<0.39.0' + - 'bioconductor-basilisk >=1.14.0,<1.15.0' + - 'bioconductor-biocfilecache >=2.10.0,<2.11.0' + - 'bioconductor-rcwl >=1.18.0,<1.19.0' + - 'bioconductor-rcwlpipelines >=1.18.0,<1.19.0' + - 'bioconductor-s4vectors >=0.40.0,<0.41.0' - r-base - r-jsonlite - r-yaml diff --git a/recipes/bioconductor-rgraphviz/meta.yaml b/recipes/bioconductor-rgraphviz/meta.yaml index d28bc09c5210b..299076f3c8b84 100644 --- a/recipes/bioconductor-rgraphviz/meta.yaml +++ b/recipes/bioconductor-rgraphviz/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: b93e5d1c383b1e5cd06e4dec89a43ce8 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -42,4 +42,10 @@ about: license: EPL summary: 'Provides plotting capabilities for R graph objects' description: 'Interfaces R with the AT and T graphviz library for plotting R graph objects from the graph package.' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} + - usegalaxy-eu:{{ name|lower }} diff --git a/recipes/bioconductor-rhdf5/meta.yaml b/recipes/bioconductor-rhdf5/meta.yaml index 7e644a64ce038..b938354be5d35 100644 --- a/recipes/bioconductor-rhdf5/meta.yaml +++ b/recipes/bioconductor-rhdf5/meta.yaml @@ -47,6 +47,8 @@ about: summary: 'R Interface to HDF5' description: 'This package provides an interface between HDF5 and R. HDF5''s main features are the ability to store and access very large and/or complex datasets and a wide variety of metadata on mass storage (disk) through a completely portable file format. The rhdf5 package is thus suited for the exchange of large and/or complex datasets between R and other software package, and for letting R applications work on datasets that are larger than the available RAM.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:rhdf5 parent_recipe: diff --git a/recipes/bioconductor-rhdf5filters/meta.yaml b/recipes/bioconductor-rhdf5filters/meta.yaml index 8d776ef525662..a699cea930a5f 100644 --- a/recipes/bioconductor-rhdf5filters/meta.yaml +++ b/recipes/bioconductor-rhdf5filters/meta.yaml @@ -43,4 +43,9 @@ about: summary: 'HDF5 Compression Filters' description: 'Provides a collection of additional compression filters for HDF5 datasets. The package is intended to provide seemless integration with rhdf5, however the compiled filters can also be used with external applications.' license_file: LICENSE +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name }} diff --git a/recipes/bioconductor-rhdf5lib/meta.yaml b/recipes/bioconductor-rhdf5lib/meta.yaml index 0909d78d3986e..083cea6007bb4 100644 --- a/recipes/bioconductor-rhdf5lib/meta.yaml +++ b/recipes/bioconductor-rhdf5lib/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 722160d55897324217ba8dc2cb60f3cd build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -40,6 +40,8 @@ about: summary: 'hdf5 library as an R package' description: 'Provides C and C++ hdf5 libraries.' extra: + additional-platforms: + - linux-aarch64 parent_recipe: name: bioconductor-rhdf5lib path: recipes/bioconductor-rhdf5lib diff --git a/recipes/bioconductor-rhtslib/meta.yaml b/recipes/bioconductor-rhtslib/meta.yaml index 52867f4d7faa2..1965e9bb184d3 100644 --- a/recipes/bioconductor-rhtslib/meta.yaml +++ b/recipes/bioconductor-rhtslib/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 8aa7fa3050a484702c3065c797948ba8 build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -43,6 +43,8 @@ about: description: 'This package provides version 1.15.1 of the ''HTSlib'' C library for high-throughput sequence analysis. The package is primarily useful to developers of other R packages who wish to make use of HTSlib. Motivation and instructions for use of this package are in the vignette, vignette(package="Rhtslib", "Rhtslib").' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/LGPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:rhtslib - doi:10.1038/nmeth.3252 diff --git a/recipes/bioconductor-rjmcmcnucleosomes/meta.yaml b/recipes/bioconductor-rjmcmcnucleosomes/meta.yaml index 3cdbb6a4febf2..4c214aee9eaf1 100644 --- a/recipes/bioconductor-rjmcmcnucleosomes/meta.yaml +++ b/recipes/bioconductor-rjmcmcnucleosomes/meta.yaml @@ -19,7 +19,7 @@ build: - lib/ run_exports: '{{ pin_subpackage("bioconductor-rjmcmcnucleosomes", max_pin="x.x") }}' # Suggests: BiocStyle, knitr, rmarkdown, nucleoSim, RUnit -# SystemRequirements: Rcpp +# SystemRequirements: Rcpp, gsl requirements: host: - 'bioconductor-biocgenerics >=0.48.0,<0.49.0' @@ -33,6 +33,7 @@ requirements: - 'r-rcpp >=0.12.5' - libblas - liblapack + - gsl run: - 'bioconductor-biocgenerics >=0.48.0,<0.49.0' - 'bioconductor-biocparallel >=1.36.0,<1.37.0' @@ -43,6 +44,7 @@ requirements: - 'bioconductor-s4vectors >=0.40.0,<0.41.0' - r-base - 'r-rcpp >=0.12.5' + - gsl build: - {{ compiler('c') }} - {{ compiler('cxx') }} @@ -55,4 +57,3 @@ about: license: Artistic-2.0 summary: 'Bayesian hierarchical model for genome-wide nucleosome positioning with high-throughput short-read data (MNase-Seq)' description: 'This package does nucleosome positioning using informative Multinomial-Dirichlet prior in a t-mixture with reversible jump estimation of nucleosome positions for genome-wide profiling.' - diff --git a/recipes/bioconductor-rlseq/build_failure.linux-64.yaml b/recipes/bioconductor-rlseq/build_failure.linux-64.yaml index 822f291cef7e0..b874c0e162bfb 100644 --- a/recipes/bioconductor-rlseq/build_failure.linux-64.yaml +++ b/recipes/bioconductor-rlseq/build_failure.linux-64.yaml @@ -1,9 +1,13 @@ recipe_sha: b7a51b994b018dcebdb6ac934d67a24cdfdf07103b98b0c4084cfbaab5d97155 # The commit at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +reason: |- + bioconductor-rlhub is stuck at BioC 3.17 because of a build error on their side +category: |- + dependency issue log: |2- - - bioconductor-rlhub >=1.8.0,<1.9.0 - - bioconductor-complexheatmap >=2.18.0,<2.19.0 - - bioconductor-rtracklayer >=1.62.0,<1.63.0 + - bioconductor-regioner >=1.34.0,<1.35.0 + - bioconductor-annotationhub >=3.10.0,<3.11.0 + - bioconductor-genomeinfodb >=1.38.0,<1.39.0 with channels: - file:///opt/host-conda-bld @@ -36,27 +40,27 @@ log: |2- File "/opt/conda/lib/python3.8/site-packages/boa/core/solver.py", line 234, in solve raise RuntimeError("Solver could not find solution." error_string) RuntimeError: Solver could not find solution.Mamba failed to solve: - - r-caretensemble - - r-ggprism + - r-callr + - bioconductor-complexheatmap >=2.18.0,<2.19.0 + - bioconductor-genomicfeatures >=1.54.0,<1.55.0 + - r-aws.s3 + - r-ggplotify - r-rcolorbrewer - - r-venndiagram - - bioconductor-genomeinfodb >=1.38.0,<1.39.0 - r-valr - - r-ggplotify - - r-aws.s3 - - bioconductor-genomicranges >=1.54.0,<1.55.0 - - r-pheatmap + - r-caretensemble + - bioconductor-rtracklayer >=1.62.0,<1.63.0 + - r-venndiagram + - r-ggprism + - r-circlize + - bioconductor-rlhub >=1.8.0,<1.9.0 - r-base 4.3.* - r-ggplot2 - - bioconductor-genomicfeatures >=1.54.0,<1.55.0 - - bioconductor-annotationhub >=3.10.0,<3.11.0 - - bioconductor-regioner >=1.34.0,<1.35.0 - - r-circlize - - r-callr - r-dplyr - - bioconductor-rlhub >=1.8.0,<1.9.0 - - bioconductor-complexheatmap >=2.18.0,<2.19.0 - - bioconductor-rtracklayer >=1.62.0,<1.63.0 + - bioconductor-genomicranges >=1.54.0,<1.55.0 + - r-pheatmap + - bioconductor-regioner >=1.34.0,<1.35.0 + - bioconductor-annotationhub >=3.10.0,<3.11.0 + - bioconductor-genomeinfodb >=1.38.0,<1.39.0 with channels: - file:///opt/host-conda-bld diff --git a/recipes/bioconductor-roc/meta.yaml b/recipes/bioconductor-roc/meta.yaml index f03479e853006..61a1d7d633cdd 100644 --- a/recipes/bioconductor-roc/meta.yaml +++ b/recipes/bioconductor-roc/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 2b84dc68639bbe6dbc5e4b9eeb429dbb build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -41,6 +41,8 @@ about: summary: 'utilities for ROC, with microarray focus' description: 'Provide utilities for ROC, with microarray focus.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:roc - doi:10.1038/nmeth.3252 diff --git a/recipes/bioconductor-rprotobuflib/meta.yaml b/recipes/bioconductor-rprotobuflib/meta.yaml index 5b102fbec59c1..4d6cc29a5135a 100644 --- a/recipes/bioconductor-rprotobuflib/meta.yaml +++ b/recipes/bioconductor-rprotobuflib/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: e7351127e6b19daaae94fcecc970292b build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -41,6 +41,8 @@ about: summary: 'C++ headers and static libraries of Protocol buffers' description: 'This package provides the headers and static library of Protocol buffers for other R packages to compile and link against.' extra: + additional-platforms: + - linux-aarch64 parent_recipe: name: bioconductor-rprotobuflib path: recipes/bioconductor-rprotobuflib diff --git a/recipes/bioconductor-rsamtools/meta.yaml b/recipes/bioconductor-rsamtools/meta.yaml index 6f812efc1e88e..55489dfd108c5 100644 --- a/recipes/bioconductor-rsamtools/meta.yaml +++ b/recipes/bioconductor-rsamtools/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 63af2a7dd2513e992fd78b26ca2b3775 build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -53,6 +53,7 @@ requirements: - {{ compiler('c') }} - {{ compiler('cxx') }} - make + - libcxx <=17 #[osx] test: commands: - '$R -e "library(''{{ name }}'')"' @@ -63,6 +64,8 @@ about: description: 'This package provides an interface to the ''samtools'', ''bcftools'', and ''tabix'' utilities for manipulating SAM (Sequence Alignment / Map), FASTA, binary variant call (BCF) and compressed indexed tab-delimited (tabix) files.' license_file: LICENSE extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:rsamtools - doi:10.1038/nmeth.3252 diff --git a/recipes/bioconductor-rsubread/meta.yaml b/recipes/bioconductor-rsubread/meta.yaml index a00dfdbd6021d..3e005310c1c06 100644 --- a/recipes/bioconductor-rsubread/meta.yaml +++ b/recipes/bioconductor-rsubread/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "2.16.0" %} +{% set version = "2.16.1" %} {% set name = "Rsubread" %} {% set bioc = "3.18" %} @@ -11,9 +11,11 @@ source: - 'https://bioconductor.org/packages/{{ bioc }}/bioc/src/contrib/Archive/{{ name }}/{{ name }}_{{ version }}.tar.gz' - 'https://bioarchive.galaxyproject.org/{{ name }}_{{ version }}.tar.gz' - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' - md5: 317b014b1e15527a762636afb662dcca + md5: ec5687eb02901ff3b62915cf37aa48b4 build: number: 0 + run_exports: + - {{ pin_subpackage("bioconductor-rsubread", max_pin="x") }} rpaths: - lib/R/lib/ - lib/ @@ -43,8 +45,9 @@ about: extra: identifiers: - biotools:rsubread + additional-platforms: + - linux-aarch64 parent_recipe: name: bioconductor-rsubread path: recipes/bioconductor-rsubread version: 1.30.9 - diff --git a/recipes/bioconductor-rtracklayer/meta.yaml b/recipes/bioconductor-rtracklayer/meta.yaml index e278e9ce8f4ea..5e0eb2d16298a 100644 --- a/recipes/bioconductor-rtracklayer/meta.yaml +++ b/recipes/bioconductor-rtracklayer/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: a16a9ca02e49808b38823899860abdb6 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -68,6 +68,8 @@ about: description: 'Extensible framework for interacting with multiple genome browsers (currently UCSC built-in) and manipulating annotation tracks in various formats (currently GFF, BED, bedGraph, BED15, WIG, BigWig and 2bit built-in). The user may export/import tracks to/from the supported browsers, as well as query and modify the browser state, such as the current viewport.' license_file: LICENSE extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:rtracklayer parent_recipe: diff --git a/recipes/bioconductor-s4arrays/meta.yaml b/recipes/bioconductor-s4arrays/meta.yaml index 67a951397a9aa..c70867b22c48d 100644 --- a/recipes/bioconductor-s4arrays/meta.yaml +++ b/recipes/bioconductor-s4arrays/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: c77474b839251d19d31708831de3c1bf build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -50,3 +50,6 @@ about: summary: 'Foundation of array-like containers in Bioconductor' description: 'The S4Arrays package defines the Array virtual class to be extended by other S4 classes that wish to implement a container with an array-like semantic. It also provides: (1) low-level functionality meant to help the developer of such container to implement basic operations like display, subsetting, or coercion of their array-like objects to an ordinary matrix or array, and (2) a framework that facilitates block processing of array-like objects (typically on-disk objects).' +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/bioconductor-s4vectors/meta.yaml b/recipes/bioconductor-s4vectors/meta.yaml index 5f22a031ef513..dff5ef1152e05 100644 --- a/recipes/bioconductor-s4vectors/meta.yaml +++ b/recipes/bioconductor-s4vectors/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: ee94f4f6c25dcaf7a50f5814495310e3 build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -40,6 +40,8 @@ about: summary: 'Foundation of vector-like and list-like containers in Bioconductor' description: 'The S4Vectors package defines the Vector and List virtual classes and a set of generic functions that extend the semantic of ordinary vectors and lists in R. Package developers can easily implement vector-like or list-like objects as concrete subclasses of Vector or List. In addition, a few low-level concrete subclasses of general interest (e.g. DataFrame, Rle, Factor, and Hits) are implemented in the S4Vectors package itself (many more are implemented in the IRanges package and in other Bioconductor infrastructure packages).' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:s4vectors - doi:10.1038/nmeth.3252 diff --git a/recipes/bioconductor-scclassify/build_failure.linux-64.yaml b/recipes/bioconductor-scclassify/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..0c17e3a10137a --- /dev/null +++ b/recipes/bioconductor-scclassify/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 5d9ecd6df4ab307246d9923f365939c559cf85122664ccc27d4a9200bf32c6b7 # The commit at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + - r-ggraph + - r-ggplot2 + - bioconductor-biocparallel >=1.36.0,<1.37.0 + - r-cluster + - r-base 4.3.* + - r-matrix + + with channels: + - file:///opt/host-conda-bld + - conda-forge + - bioconda + - defaults + + The reported errors are: + - Encountered problems while solving: + - - nothing provides requested bioconductor-cepo >=1.8.0,<1.9.0 + - + + Leaving build/test directories: + Work: + /opt/conda/conda-bld/work + Test: + /opt/conda/conda-bld/test_tmp + Leaving build/test environments: + Test: + source activate /opt/conda/conda-bld/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl + Build: + source activate /opt/conda/conda-bld/_build_env + + + Traceback (most recent call last): + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 141, in mamba_get_install_actions + solution = solver.solve_for_action(_specs, prefix) + File "/opt/conda/lib/python3.8/site-packages/boa/core/solver.py", line 244, in solve_for_action + t = self.solve(specs) + File "/opt/conda/lib/python3.8/site-packages/boa/core/solver.py", line 234, in solve + raise RuntimeError("Solver could not find solution." error_string) + RuntimeError: Solver could not find solution.Mamba failed to solve: + - bioconductor-cepo >=1.8.0,<1.9.0 + - r-mixtools + - r-igraph + - r-proxyc + - bioconductor-limma >=3.58.0,<3.59.0 + - r-minpack.lm + - r-diptest + - r-mgcv + - bioconductor-s4vectors >=0.40.0,<0.41.0 + - r-statmod + - bioconductor-hopach >=2.62.0,<2.63.0 + - r-proxy + - r-ggraph + - r-ggplot2 + - bioconductor-biocparallel >=1.36.0,<1.37.0 + - r-cluster + - r-base 4.3.* + - r-matrix + + with channels: + - file:///opt/host-conda-bld + - conda-forge + - bioconda + - defaults + + The reported errors are: + - Encountered problems while solving: + - - nothing provides requested bioconductor-cepo >=1.8.0,<1.9.0 + - + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/bin/conda-mambabuild", line 10, in + sys.exit(main()) + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main + call_conda_build(action, config) + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build + result = api.build( + File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build + return build_tree( + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree + packages_from_this = build(metadata, stats, + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2038, in build + output_metas = expand_outputs([(m, need_source_download, need_reparse_in_env)]) + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 787, in expand_outputs + for (output_dict, m) in deepcopy(_m).get_output_metadata_set(permit_unsatisfiable_variants=False): + File "/opt/conda/lib/python3.8/site-packages/conda_build/metadata.py", line 2524, in get_output_metadata_set + conda_packages = finalize_outputs_pass( + File "/opt/conda/lib/python3.8/site-packages/conda_build/metadata.py", line 884, in finalize_outputs_pass + fm = finalize_metadata( + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 547, in finalize_metadata + build_unsat, host_unsat = add_upstream_pins(m, + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 409, in add_upstream_pins + host_deps, host_unsat, extra_run_specs_from_host = _read_upstream_pin_files(m, 'host', + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 374, in _read_upstream_pin_files + deps, actions, unsat = get_env_dependencies(m, env, m.config.variant, + File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 131, in get_env_dependencies + actions = environ.get_install_actions(tmpdir, tuple(dependencies), env, + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 150, in mamba_get_install_actions + raise err + conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("bioconductor-cepo[version='>=1.8.0,<1.9.0']")} +# Last 100 lines of the build log. diff --git a/recipes/bioconductor-scmultiome/build_failure.linux-64.yaml b/recipes/bioconductor-scmultiome/build_failure.linux-64.yaml index 0841f90d2cb6a..3225ddc538d53 100644 --- a/recipes/bioconductor-scmultiome/build_failure.linux-64.yaml +++ b/recipes/bioconductor-scmultiome/build_failure.linux-64.yaml @@ -1,5 +1,7 @@ recipe_sha: 6724b9796e501ce375d77f605eb535671bf9bee68ee4a9d1873f64c6432b2905 # The commit at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: |- + dependency issue log: |2- - bioconductor-genomicranges >=1.52.0,<1.53.0 - r-base 4.3.* diff --git a/recipes/bioconductor-scran/meta.yaml b/recipes/bioconductor-scran/meta.yaml index e1341546092cc..1a024a2d84dca 100644 --- a/recipes/bioconductor-scran/meta.yaml +++ b/recipes/bioconductor-scran/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: f8cc4c59dde80171927b115dc09592af build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -76,11 +76,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-3 + license: GPL-3.0-only summary: 'Methods for Single-Cell RNA-Seq Data Analysis' description: 'Implements miscellaneous functions for interpretation of single-cell RNA-seq data. Methods are provided for assignment of cell cycle phase, detection of highly variable and significantly correlated genes, identification of marker genes, and other common tasks in routine single-cell analysis workflows.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:scran parent_recipe: diff --git a/recipes/bioconductor-scuttle/meta.yaml b/recipes/bioconductor-scuttle/meta.yaml index a227c84e0e2c4..a578d0cb4595c 100644 --- a/recipes/bioconductor-scuttle/meta.yaml +++ b/recipes/bioconductor-scuttle/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: b784ac30ef76b7c0cdac8b79be67b995 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -58,8 +58,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-3 + license: GPL-3.0-only summary: 'Single-Cell RNA-Seq Analysis Utilities' description: 'Provides basic utility functions for performing single-cell analyses, focusing on simple normalization, quality control and data transformations. Also provides some helper functions to assist development of other packages.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} diff --git a/recipes/bioconductor-seqarray/meta.yaml b/recipes/bioconductor-seqarray/meta.yaml index 189913b7b1e3e..c533d2b4768d9 100644 --- a/recipes/bioconductor-seqarray/meta.yaml +++ b/recipes/bioconductor-seqarray/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.42.0" %} +{% set version = "1.42.4" %} {% set name = "SeqArray" %} {% set bioc = "3.18" %} @@ -11,9 +11,9 @@ source: - 'https://bioconductor.org/packages/{{ bioc }}/bioc/src/contrib/Archive/{{ name }}/{{ name }}_{{ version }}.tar.gz' - 'https://bioarchive.galaxyproject.org/{{ name }}_{{ version }}.tar.gz' - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' - md5: 9754225574380705e505629db229d41a + md5: 607951cd78bea8ef1156be7aba41052f build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -47,8 +47,14 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-3 + license: GPL-3.0-only summary: 'Data Management of Large-Scale Whole-Genome Sequence Variant Calls' description: 'Data management of large-scale whole-genome sequencing variant calls with thousands of individuals: genotypic data (e.g., SNVs, indels and structural variation calls) and annotations in SeqArray GDS files are stored in an array-oriented and compressed manner, with efficient data access using the R programming language.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} + diff --git a/recipes/bioconductor-shortread/meta.yaml b/recipes/bioconductor-shortread/meta.yaml index 9b4eee6ba99c3..139aace635d19 100644 --- a/recipes/bioconductor-shortread/meta.yaml +++ b/recipes/bioconductor-shortread/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 480786b1db8f8138a7a4e8c36f9bdfc4 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -72,6 +72,8 @@ about: summary: 'FASTQ input and manipulation' description: 'This package implements sampling, iteration, and input of FASTQ files. The package includes functions for filtering and trimming reads, and for generating a quality assessment report. Data are represented as DNAStringSet-derived objects, and easily manipulated for a diversity of purposes. The package also contains legacy support for early single-end, ungapped alignment formats.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:shortread parent_recipe: diff --git a/recipes/bioconductor-snprelate/meta.yaml b/recipes/bioconductor-snprelate/meta.yaml index a0e37b7d6801a..2fac4055b5d28 100644 --- a/recipes/bioconductor-snprelate/meta.yaml +++ b/recipes/bioconductor-snprelate/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: f4e5095c6b99014e02d770e7f4bd5617 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -37,11 +37,15 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-3 + license: GPL-3-only summary: 'Parallel Computing Toolset for Relatedness and Principal Component Analysis of SNP Data' description: 'Genome-wide association studies (GWAS) are widely used to investigate the genetic basis of diseases and traits, but they pose many computational challenges. We developed an R package SNPRelate to provide a binary format for single-nucleotide polymorphism (SNP) data in GWAS utilizing CoreArray Genomic Data Structure (GDS) data files. The GDS format offers the efficient operations specifically designed for integers with two bits, since a SNP could occupy only two bits. SNPRelate is also designed to accelerate two key computations on SNP data using parallel computing for multi-core symmetric multiprocessing computer architectures: Principal Component Analysis (PCA) and relatedness analysis using Identity-By-Descent measures. The SNP GDS format is also used by the GWASTools package with the support of S4 classes and generic functions. The extended GDS format is implemented in the SeqArray package to support the storage of single nucleotide variations (SNVs), insertion/deletion polymorphism (indel) and structural variation calls in whole-genome and whole-exome variant data.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} parent_recipe: name: bioconductor-snprelate path: recipes/bioconductor-snprelate diff --git a/recipes/bioconductor-snpstats/meta.yaml b/recipes/bioconductor-snpstats/meta.yaml index 0203a1cda4481..8843ee6bc567e 100644 --- a/recipes/bioconductor-snpstats/meta.yaml +++ b/recipes/bioconductor-snpstats/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 0625c920470937a31fd278cf8bd8982a build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -42,11 +42,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-3 + license: 'GPL-3-only' summary: 'SnpMatrix and XSnpMatrix classes and methods' description: 'Classes and statistical methods for large SNP association studies. This extends the earlier snpMatrix package, allowing for uncertainty in genotypes.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:snpstats - doi:10.1038/nmeth.3252 diff --git a/recipes/bioconductor-sparsearray/meta.yaml b/recipes/bioconductor-sparsearray/meta.yaml index b055e619a974e..1ce3dc389f1af 100644 --- a/recipes/bioconductor-sparsearray/meta.yaml +++ b/recipes/bioconductor-sparsearray/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: a73b2e316ce8135de81af01a9a9610ec build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -54,3 +54,6 @@ about: summary: 'Efficient in-memory representation of multidimensional sparse arrays' description: 'The SparseArray package is an infrastructure package that provides an array-like container for efficient in-memory representation of multidimensional sparse data in R. The package defines the SparseArray virtual class and two concrete subclasses: COO_SparseArray and SVT_SparseArray. Each subclass uses its own internal representation of the nonzero multidimensional data, the "COO layout" and the "SVT layout", respectively. SVT_SparseArray objects mimic as much as possible the behavior of ordinary matrix and array objects in base R. In particular, they suppport most of the "standard matrix and array API" defined in base R and in the matrixStats package from CRAN.' +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/bioconductor-sparsematrixstats/meta.yaml b/recipes/bioconductor-sparsematrixstats/meta.yaml index 5b0186e8e00f3..b32bbcc2f9c2f 100644 --- a/recipes/bioconductor-sparsematrixstats/meta.yaml +++ b/recipes/bioconductor-sparsematrixstats/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 4319e6fb04b91467bd08cc4ce2ad609c build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -48,4 +48,9 @@ about: summary: 'Summary Statistics for Rows and Columns of Sparse Matrices' description: 'High performance functions for row and column operations on sparse matrices. For example: col / rowMeans2, col / rowMedians, col / rowVars etc. Currently, the optimizations are limited to data in the column sparse format. This package is inspired by the matrixStats package by Henrik Bengtsson.' license_file: LICENSE +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name }} diff --git a/recipes/bioconductor-sva/meta.yaml b/recipes/bioconductor-sva/meta.yaml index 22e62492bff10..6f654ea41dd4b 100644 --- a/recipes/bioconductor-sva/meta.yaml +++ b/recipes/bioconductor-sva/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 8c42cd3e23be4d24f072d98394931552 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -50,6 +50,8 @@ about: summary: 'Surrogate Variable Analysis' description: 'The sva package contains functions for removing batch effects and other unwanted variation in high-throughput experiment. Specifically, the sva package contains functions for the identifying and building surrogate variables for high-dimensional data sets. Surrogate variables are covariates constructed directly from high-dimensional data (like gene expression/RNA sequencing/methylation/brain imaging data) that can be used in subsequent analyses to adjust for unknown, unmodeled, or latent sources of noise. The sva package can be used to remove artifacts in three ways: (1) identifying and estimating surrogate variables for unknown sources of variation in high-throughput experiments (Leek and Storey 2007 PLoS Genetics,2008 PNAS), (2) directly removing known batch effects using ComBat (Johnson et al. 2007 Biostatistics) and (3) removing batch effects with known control probes (Leek 2014 biorXiv). Removing batch effects and using surrogate variables in differential expression analysis have been shown to reduce dependence, stabilize error rate estimates, and improve reproducibility, see (Leek and Storey 2007 PLoS Genetics, 2008 PNAS or Leek et al. 2011 Nat. Reviews Genetics).' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:sva - doi:10.1371/journal.pgen.0030161 diff --git a/recipes/bioconductor-tfbstools/meta.yaml b/recipes/bioconductor-tfbstools/meta.yaml index 73200d3f9cb99..7d4d315b0df18 100644 --- a/recipes/bioconductor-tfbstools/meta.yaml +++ b/recipes/bioconductor-tfbstools/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: f2395c8153c4820e3cebb53a9eda94d6 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -74,11 +74,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: GPL-2 + license: GPL-2.0-only summary: 'Software Package for Transcription Factor Binding Site (TFBS) Analysis' description: 'TFBSTools is a package for the analysis and manipulation of transcription factor binding sites. It includes matrices conversion between Position Frequency Matirx (PFM), Position Weight Matirx (PWM) and Information Content Matrix (ICM). It can also scan putative TFBS from sequence/alignment, query JASPAR database and provides a wrapper of de novo motif discovery software.' license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-2' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:tfbstools parent_recipe: diff --git a/recipes/bioconductor-traviz/build_failure.linux-64.yaml b/recipes/bioconductor-traviz/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..f1ffa5ab49f58 --- /dev/null +++ b/recipes/bioconductor-traviz/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 68cc108a4ebdc4305e3060a475e85276df2f244592455f0f29263f603f48ba51 # The commit at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + libxdamage-cos6-x86_64: 1.1.3-h9b0a68f_1105 conda-forge + libxxf86vm-cos6-x86_64: 1.1.3-h9b0a68f_1105 conda-forge + mesa-dri-drivers-cos6-x86_64: 11.0.7-h9b0a68f_1105 conda-forge + mesa-dri1-drivers-cos6-x86_64: 7.11-h9b0a68f_1105 conda-forge + mesa-libgl-cos6-x86_64: 11.0.7-h9b0a68f_1105 conda-forge + mesa-libgl-devel-cos6-x86_64: 11.0.7-h9b0a68f_1105 conda-forge + pthread-stubs: 0.4-h36c2ea0_1001 conda-forge + sysroot_linux-64: 2.12-he073ed8_16 conda-forge + xorg-fixesproto: 5.0-h7f98852_1002 conda-forge + xorg-kbproto: 1.0.7-h7f98852_1002 conda-forge + xorg-libx11: 1.8.7-h8ee46fc_0 conda-forge + xorg-libxau: 1.0.11-hd590300_0 conda-forge + xorg-libxdmcp: 1.1.3-h7f98852_0 conda-forge + xorg-libxfixes: 5.0.3-h7f98852_1004 conda-forge + xorg-xextproto: 7.3.0-h0b41bf4_1003 conda-forge + xorg-xproto: 7.0.31-h7f98852_1007 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Source cache directory is: /opt/conda/conda-bld/src_cache + INFO:conda_build.source:Source cache directory is: /opt/conda/conda-bld/src_cache + Downloading source to cache: traviz_1.8.0_65f0bdfccd.tar.gz + INFO:conda_build.source:Downloading source to cache: traviz_1.8.0_65f0bdfccd.tar.gz + Downloading https://bioconductor.org/packages/3.18/bioc/src/contrib/traviz_1.8.0.tar.gz + INFO:conda_build.source:Downloading https://bioconductor.org/packages/3.18/bioc/src/contrib/traviz_1.8.0.tar.gz + Success + INFO:conda_build.source:Success + Extracting download + source tree in: /opt/conda/conda-bld/bioconductor-traviz_1703280230725/work + export PREFIX=/opt/conda/conda-bld/bioconductor-traviz_1703280230725/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla + export BUILD_PREFIX=/opt/conda/conda-bld/bioconductor-traviz_1703280230725/_build_env + export SRC_DIR=/opt/conda/conda-bld/bioconductor-traviz_1703280230725/work + During startup - Warning message: + Setting LC_TIME failed, using "C" + * installing to library /opt/conda/conda-bld/bioconductor-traviz_1703280230725/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/R/library + * installing *source* package traviz ... + ** using staged installation + ** R + ** data + ** inst + ** byte-compile and prepare package for lazy loading + During startup - Warning message: + Setting LC_TIME failed, using "C" + Warning: 'rgl.init' failed, running with 'rgl.useNULL = TRUE'. + ** help + *** installing help indices + ** building package indices + During startup - Warning message: + Setting LC_TIME failed, using "C" + ** installing vignettes + ** testing if installed package can be loaded from temporary location + During startup - Warning message: + Setting LC_TIME failed, using "C" + Warning: 'rgl.init' failed, running with 'rgl.useNULL = TRUE'. + ** testing if installed package can be loaded from final location + During startup - Warning message: + Setting LC_TIME failed, using "C" + Warning: 'rgl.init' failed, running with 'rgl.useNULL = TRUE'. + ** testing if installed package keeps a record of temporary installation path + * creating tarball + packaged installation of traviz as traviz_1.8.0_R_x86_64-conda-linux-gnu.tar.gz + * DONE (traviz) + + Resource usage statistics from building bioconductor-traviz: + Process count: 6 + CPU time: Sys=0:00:02.2, User=0:00:14.0 + Memory: 729.5M + Disk usage: 7.8K + Time elapsed: 0:00:19.3 + + + Packaging bioconductor-traviz + INFO:conda_build.build:Packaging bioconductor-traviz + Packaging bioconductor-traviz-1.8.0-r43hdfd78af_0 + INFO:conda_build.build:Packaging bioconductor-traviz-1.8.0-r43hdfd78af_0 + number of files: 32 + Fixing permissions + Traceback (most recent call last): + File "/opt/conda/bin/conda-mambabuild", line 10, in + sys.exit(main()) + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main + call_conda_build(action, config) + File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build + result = api.build( + File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build + return build_tree( + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree + packages_from_this = build(metadata, stats, + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2358, in build + newly_built_packages = bundlers[pkg_type](output_d, m, env, stats) + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 1672, in bundle_conda + output['checksums'] = create_info_files(metadata, replacements, files, prefix=metadata.config.host_prefix) + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 1272, in create_info_files + copy_license(m) + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 762, in copy_license + generic_copy(m, "license", "license_file") + File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 800, in generic_copy + raise ValueError( + ValueError: License file given in about/license_file (/opt/recipe/LICENSE) does not exist in source root dir or in recipe root dir (with meta.yaml) +# Last 100 lines of the build log. diff --git a/recipes/bioconductor-tximeta/meta.yaml b/recipes/bioconductor-tximeta/meta.yaml index f258f1c4275af..1195350a6e9cc 100644 --- a/recipes/bioconductor-tximeta/meta.yaml +++ b/recipes/bioconductor-tximeta/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 20a7fe1f7efc9be9ab420325932b8c0b build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -31,6 +31,7 @@ requirements: - 'bioconductor-genomicfeatures >=1.54.0,<1.55.0' - 'bioconductor-genomicranges >=1.54.0,<1.55.0' - 'bioconductor-iranges >=2.36.0,<2.37.0' + - 'bioconductor-rhdf5 >=2.0.0,<2.46.1' - 'bioconductor-s4vectors >=0.40.0,<0.41.0' - 'bioconductor-summarizedexperiment >=1.32.0,<1.33.0' - 'bioconductor-tximport >=1.30.0,<1.31.0' @@ -48,6 +49,7 @@ requirements: - 'bioconductor-genomicfeatures >=1.54.0,<1.55.0' - 'bioconductor-genomicranges >=1.54.0,<1.55.0' - 'bioconductor-iranges >=2.36.0,<2.37.0' + - 'bioconductor-rhdf5 >=2.0.0,<2.46.1' - 'bioconductor-s4vectors >=0.40.0,<0.41.0' - 'bioconductor-summarizedexperiment >=1.32.0,<1.33.0' - 'bioconductor-tximport >=1.30.0,<1.31.0' diff --git a/recipes/bioconductor-variantannotation/meta.yaml b/recipes/bioconductor-variantannotation/meta.yaml index 77114340c26da..009efb72b17ce 100644 --- a/recipes/bioconductor-variantannotation/meta.yaml +++ b/recipes/bioconductor-variantannotation/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: 39b6f4907fe37495a903c338e6d4cc73 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -75,6 +75,8 @@ about: summary: 'Annotation of Genetic Variants' description: 'Annotate variants, compute amino acid coding changes, predict coding outcomes.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:variantannotation parent_recipe: diff --git a/recipes/bioconductor-vsn/meta.yaml b/recipes/bioconductor-vsn/meta.yaml index f9f993fd76b95..073be9e2252d4 100644 --- a/recipes/bioconductor-vsn/meta.yaml +++ b/recipes/bioconductor-vsn/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 1c9484f361b22f76135af5567306f0c6 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -48,6 +48,8 @@ about: summary: 'Variance stabilization and calibration for microarray data' description: 'The package implements a method for normalising microarray intensities from single- and multiple-color arrays. It can also be used for data from other technologies, as long as they have similar format. The method uses a robust variant of the maximum-likelihood estimator for an additive-multiplicative error model and affine calibration. The model incorporates data calibration step (a.k.a. normalization), a model for the dependence of the variance on the mean intensity and a variance stabilizing data transformation. Differences between transformed intensities are analogous to "normalized log-ratios". However, in contrast to the latter, their variance is independent of the mean, and they are usually more sensitive and specific in detecting differential transcription.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:vsn parent_recipe: diff --git a/recipes/bioconductor-wppi/meta.yaml b/recipes/bioconductor-wppi/meta.yaml index 00cc07258158f..b1bfff11dc833 100644 --- a/recipes/bioconductor-wppi/meta.yaml +++ b/recipes/bioconductor-wppi/meta.yaml @@ -58,4 +58,3 @@ about: summary: 'Weighting protein-protein interactions' description: 'Protein-protein interaction data is essential for omics data analysis and modeling. Database knowledge is general, not specific for cell type, physiological condition or any other context determining which connections are functional and contribute to the signaling. Functional annotations such as Gene Ontology and Human Phenotype Ontology might help to evaluate the relevance of interactions. This package predicts functional relevance of protein-protein interactions based on functional annotations such as Human Protein Ontology and Gene Ontology, and prioritizes genes based on network topology, functional scores and a path search algorithm.' license_file: LICENSE - diff --git a/recipes/bioconductor-xcms/meta.yaml b/recipes/bioconductor-xcms/meta.yaml index 0db9d71304ea8..b007033ba5110 100644 --- a/recipes/bioconductor-xcms/meta.yaml +++ b/recipes/bioconductor-xcms/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: 194314f3a5b94121a4007b58b17182b1 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ @@ -77,8 +77,13 @@ test: - '$R -e "library(''{{ name }}'')"' about: home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html' - license: 'GPL (>= 2) + file LICENSE' + license: 'GPL-2.0-or-later + file LICENSE' summary: 'LC-MS and GC-MS Data Analysis' description: 'Framework for processing and visualization of chromatographically separated and single-spectra mass spectral data. Imports from AIA/ANDI NetCDF, mzXML, mzData and mzML files. Preprocesses data for high-throughput, untargeted analyte profiling.' license_file: LICENSE +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:{{ name|lower }} diff --git a/recipes/bioconductor-xvector/meta.yaml b/recipes/bioconductor-xvector/meta.yaml index 35aa815312336..8d926876d14e2 100644 --- a/recipes/bioconductor-xvector/meta.yaml +++ b/recipes/bioconductor-xvector/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz' md5: f126998c6b563132e51ea31c3995c6b9 build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -46,6 +46,8 @@ about: summary: 'Foundation of external vector representation and manipulation in Bioconductor' description: 'Provides memory efficient S4 classes for storing sequences "externally" (e.g. behind an R external pointer, or on disk).' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:xvector - doi:10.1038/nmeth.3252 diff --git a/recipes/bioconductor-zlibbioc/meta.yaml b/recipes/bioconductor-zlibbioc/meta.yaml index 2434de1bccde7..dfd70cebb4ab0 100644 --- a/recipes/bioconductor-zlibbioc/meta.yaml +++ b/recipes/bioconductor-zlibbioc/meta.yaml @@ -13,7 +13,7 @@ source: - 'https://depot.galaxyproject.org/software/bioconductor-{{ name }}/bioconductor-{{ name }}_{{ version }}_src_all.tar.gz' md5: babdaf77bc9e9e8218fa07d643f31730 build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -40,6 +40,8 @@ about: description: 'This package uses the source code of zlib-1.2.5 to create libraries for systems that do not have these available via other means (most Linux and Mac users should have system-level access to zlib, and no direct need for this package). See the vignette for instructions on use.' license_file: LICENSE extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:zlibbioc - doi:10.1038/nmeth.3252 diff --git a/recipes/bioconvert/meta.yaml b/recipes/bioconvert/meta.yaml index c8ce7d429faf8..1894031152828 100644 --- a/recipes/bioconvert/meta.yaml +++ b/recipes/bioconvert/meta.yaml @@ -11,13 +11,15 @@ source: sha256: {{ sha256 }} build: - number: 0 + number: 1 noarch: python script: {{ PYTHON }} -m pip install . --no-deps --use-pep517 -vv entry_points: - bioconvert=bioconvert.scripts.converter:main - bioconvert_init=bioconvert.scripts.init_convert:main - bioconvert_stats=bioconvert.scripts.stats:main + run_exports: + - {{ pin_subpackage("bioconvert", max_pin="x.x") }} requirements: host: @@ -31,6 +33,8 @@ requirements: - colorlog - deeptools - gffread + - goalign + - gotree - pandas - biopython >=1.70 - mappy diff --git a/recipes/biodigest/meta.yaml b/recipes/biodigest/meta.yaml new file mode 100644 index 0000000000000..8bb365dda3fca --- /dev/null +++ b/recipes/biodigest/meta.yaml @@ -0,0 +1,49 @@ +{% set name = "biodigest" %} +{% set version = "0.2.16" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: 7618cedf40fedd6dd60aa2fbf8635fb4af0a2c0ae16c01ef9741d30729b6e8bc + +build: + number: 2 + script: "{{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation" + noarch: python + run_exports: + - {{ pin_subpackage('biodigest', max_pin="x.x") }} + + +requirements: + host: + - pip + - python >=3.7 + run: + - biothings_client ==0.2.6 + - gseapy ==0.10.5 + - graph-tool >=2.58 + - numpy ==1.24.3 + - pandas ==1.5.2 + - psutil ==5.9.0 + - pycairo >=1.21.0 + - python >=3.7 + - requests >=2.28.2 + - scipy ==1.8.0 + - seaborn >=0.12.2 + +test: + imports: + - biodigest + - biodigest.evaluation + - biodigest.evaluation.d_utils + - biodigest.evaluation.mappers + +about: + home: "http://pypi.python.org/pypi/biodigest/" + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE + summary: "In silico Validation of Disease and Gene sets, Clusterings or Subnetworks (DIGEST)" diff --git a/recipes/biodigest/post-link.sh b/recipes/biodigest/post-link.sh new file mode 100644 index 0000000000000..75d67231bbb28 --- /dev/null +++ b/recipes/biodigest/post-link.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +echo "Running setup script..." >> "$PREFIX/.messages.txt" +python -c "from biodigest import setup; setup.main(setup_type='api')" >> "$PREFIX/.messages.txt" +echo "Setup script finished." >> "$PREFIX/.messages.txt" \ No newline at end of file diff --git a/recipes/bioframe/meta.yaml b/recipes/bioframe/meta.yaml index 3dd3614557adf..16293d32affed 100644 --- a/recipes/bioframe/meta.yaml +++ b/recipes/bioframe/meta.yaml @@ -1,5 +1,5 @@ {% set name = "bioframe" %} -{% set version = "0.5.1" %} +{% set version = "0.7.2" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 416132f14334f3921d700a692bf94ea21161ca608e5e3b9a119f97c01012d578 + sha256: 23fa150948fb1f9409a8d608c94f222fd2e144c8f1ac965879517d5e87d2c598 build: noarch: python diff --git a/recipes/bionumpy/meta.yaml b/recipes/bionumpy/meta.yaml index 6e09348526ff0..382819362ccd1 100644 --- a/recipes/bionumpy/meta.yaml +++ b/recipes/bionumpy/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.2.31" %} +{% set version = "1.0.12" %} package: name: bionumpy @@ -6,7 +6,7 @@ package: source: url: https://github.com/bionumpy/bionumpy/archive/refs/tags/v{{ version }}.tar.gz - sha256: 5216b0bb72fedae87cfe35a06e189b803b39e5051bcdb347886762a4aaea956d + sha256: 7625c3087677cee45b04bda27542d3436348ae194c938d2a1c2388941471f3b8 build: noarch: python diff --git a/recipes/biophi/meta.yaml b/recipes/biophi/meta.yaml index c207209df1acb..e86252f4f51f6 100644 --- a/recipes/biophi/meta.yaml +++ b/recipes/biophi/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.0.9" %} # Remember to update sha256 below +{% set version = "1.0.10" %} # Remember to update sha256 below package: name: biophi @@ -6,22 +6,21 @@ package: source: url: https://github.com/Merck/BioPhi/archive/v{{ version }}.tar.gz - sha256: 'dd0662ce1e8ff750487493c23db7ac2fa0e9b7cf0868f479996300aec2e2acd2' + sha256: '553c238753281be106b9ad5d470fce71b3d79517734e0ebb85ffd15b4eb7dfe7' build: noarch: python - number: 2 + number: 0 entry_points: - biophi = biophi.common.cli.main:main - script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv + script: {{ PYTHON }} -m pip install . --no-build-isolation --no-deps --no-cache-dir -vvv run_exports: - - {{ pin_subpackage("biophi", max_pin="x.x") }} + - {{ pin_subpackage("biophi", max_pin="x") }} requirements: host: - python >=3.8 - - pip - - setuptools + - pip <24.1 # due to error in omegaconf (dependency of fairseq) - pytest run: - python >=3.8 @@ -39,6 +38,7 @@ requirements: - xlsxwriter - humanize - sapiens >=1.0.4 + - pandas <2.2 test: imports: @@ -49,8 +49,14 @@ test: - biophi oasis --help about: - home: https://github.com/Merck/BioPhi + home: "https://github.com/Merck/BioPhi" license: MIT license_family: MIT license_file: LICENSE - summary: BioPhi open-source antibody design platform + summary: "BioPhi open-source antibody design platform." + dev_url: "https://github.com/Merck/BioPhi" + doc_url: "https://biophi.dichlab.org" + +extra: + identifiers: + - biotools:biophi diff --git a/recipes/bioutils/meta.yaml b/recipes/bioutils/meta.yaml index 6ceda44c8f345..284dd3259c795 100644 --- a/recipes/bioutils/meta.yaml +++ b/recipes/bioutils/meta.yaml @@ -1,5 +1,5 @@ {% set name = "bioutils" %} -{% set version = "0.5.7" %} +{% set version = "0.6.0" %} package: name: "{{ name|lower }}" @@ -7,23 +7,27 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 2610f8d940a613bc9fb0f400fd21b27a4a4f2795a86de26a38b6857577aaabf2 + sha256: 6487a5565bb798b88202d1f5aa3a4ee6b229151e86dc8ff77cbf0e3b4f4dad4b build: number: 0 noarch: python - script: "{{ PYTHON }} -m pip install . -vv --no-deps --ignore-installed" + script_env: + - SETUPTOOLS_SCM_PRETEND_VERSION={{ version }} + script: "{{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir" + run_exports: + - {{ pin_subpackage('bioutils', max_pin="x.x") }} requirements: host: - pip - - python >=3.6 - - setuptools_scm #to avoid: ERROR: Could not find a version that satisfies the requirement setuptools_scm - - pytest-runner #to avoid: ERROR: Could not find a version that satisfies the requirement pytest-runner + - python >=3.10 + - setuptools-scm run: - - python >=3.6 + - python >=3.10 - attrs - requests + - urllib3 >=1.26,<2.dev0 test: imports: diff --git a/recipes/biscuit/build.sh b/recipes/biscuit/build.sh index b69c7a1e293f1..f19d32dd1e12f 100644 --- a/recipes/biscuit/build.sh +++ b/recipes/biscuit/build.sh @@ -1,9 +1,16 @@ #!/bin/bash -BIN=$PREFIX/bin -mkdir -p $BIN -make CC="$CC $LDFLAGS" CFLAGS="$CFLAGS" -cp biscuit $BIN -cp QC.sh $BIN -cp build_biscuit_QC_assets.pl $BIN -sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' $BIN/build_biscuit_QC_assets.pl +# Needed for building utils dependency +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -pthread -L${PREFIX}/lib" + +mkdir -p "${PREFIX}/bin" +mkdir -p build +cd build || exit 1 +cmake -DCMAKE_INSTALL_PREFIX:PATH="${PREFIX}" .. +make CC="${CC} ${LDFLAGS}" CFLAGS="${CFLAGS} -O3" +make install + +# Needed to run asset builder +sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' ${PREFIX}/bin/build_biscuit_QC_assets.pl diff --git a/recipes/biscuit/meta.yaml b/recipes/biscuit/meta.yaml index 380b874c46af9..410873d5654c5 100644 --- a/recipes/biscuit/meta.yaml +++ b/recipes/biscuit/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.3.0.20231027" %} +{% set version = "1.5.0.20240506" %} package: name: biscuit @@ -11,36 +11,36 @@ build: source: - url: https://github.com/huishenlab/biscuit/releases/download/v{{ version }}/release-source.zip - sha256: 027d4343a49fde7c497f4a0292a2cb5bb475b4bcacedb17f251680dbf4f56995 - patches: - - patch - - url: https://github.com/huishenlab/biscuit/releases/download/v{{ version }}/QC.sh - sha256: f2b9237f1166681a5f4e2cb0b297b2c2a086ea4975948a292b4871e391244b13 - - url: https://github.com/huishenlab/biscuit/releases/download/v{{ version }}/build_biscuit_QC_assets.pl - sha256: 7967240b63c8f816e7da79c3c0eb890933ec47df1114f6893b9e9736c8e564a8 + sha256: fc235dfcc79429d6cb941bda0430b7fbe20db3e0b23b41b3d29040ec67608e27 requirements: build: - make + - cmake - {{ compiler('c') }} host: - zlib - ncurses + - pthread-stubs - libcurl run: - zlib - ncurses + - pthread-stubs - libcurl - perl test: commands: - - biscuit 2>&1 || true - - QC.sh -h 2>&1 | grep Usage - - build_biscuit_QC_assets.pl -h 2>&1 | grep Usage + - biscuit 2>&1 | grep "Usage" + - QC.sh -h 2>&1 | grep "Usage" + - build_biscuit_QC_assets.pl -h 2>&1 | grep "Usage" about: home: https://github.com/huishenlab/biscuit license: MIT + license_family: MIT + license_file: LICENSE summary: A utility for analyzing sodium bisulfite conversion-based DNA methylation/modification data - + dev_url: https://github.com/huishenlab/biscuit + doc_url: https://huishenlab.github.io/biscuit/ diff --git a/recipes/biscuit/patch b/recipes/biscuit/patch deleted file mode 100644 index 2ef00a4400ab0..0000000000000 --- a/recipes/biscuit/patch +++ /dev/null @@ -1,64 +0,0 @@ -diff --git a/Makefile b/Makefile -index d54b6c2..8ee48a2 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,5 +1,5 @@ --CC = gcc --CFLAGS = -W -Wall -finline-functions -fPIC -std=gnu99 -Wno-unused-result -O3 -+CC ?= gcc -+CFLAGS ?= -W -Wall -finline-functions -fPIC -std=gnu99 -Wno-unused-result -O3 - CLIB = -lncurses -lpthread -lz -lm - CF_OPTIMIZE = 1 - -diff --git a/lib/htslib/Makefile b/lib/htslib/Makefile -index 9c4ce60..c6722fd 100644 ---- a/lib/htslib/Makefile -+++ b/lib/htslib/Makefile -@@ -22,7 +22,7 @@ - # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - # DEALINGS IN THE SOFTWARE. - --CC = gcc -+CC ?= gcc - AR = ar - RANLIB = ranlib - -diff --git a/lib/klib/Makefile b/lib/klib/Makefile -index 15ad2fc..aebbf64 100644 ---- a/lib/klib/Makefile -+++ b/lib/klib/Makefile -@@ -1,4 +1,4 @@ --CC = gcc -+CC ?= gcc - AR = ar - CFLAGS = -g -Wall - -diff --git a/lib/sgsl/Makefile b/lib/sgsl/Makefile -index c939453..bc5fd6e 100644 ---- a/lib/sgsl/Makefile -+++ b/lib/sgsl/Makefile -@@ -1,4 +1,4 @@ --CC = gcc -+CC ?= gcc - AR = ar - CFLAGS = -g -Wall - # -std=gnu11 travis complains about this -@@ -25,7 +25,7 @@ libgsl.a: $(OBJECTS) - $(AR) -csr $@ $^ - - test: libgsl.a -- gcc -I. test/test.c libgsl.a -std=c99 -lm -o test-main -+ $(CC) -I. test/test.c libgsl.a -std=c99 -lm -o test-main - - clean: - rm -f $(OBJECTS) -diff --git a/lib/utils/Makefile b/lib/utils/Makefile -index 9c7f457..3b0cfef 100644 ---- a/lib/utils/Makefile -+++ b/lib/utils/Makefile -@@ -1,4 +1,4 @@ --CC = gcc -+CC ?= gcc - AR = ar - CFLAGS = -g -Wall - diff --git a/recipes/biscuit/script.sh b/recipes/biscuit/script.sh deleted file mode 100644 index 80e0ff397a83b..0000000000000 --- a/recipes/biscuit/script.sh +++ /dev/null @@ -1 +0,0 @@ -echo efrat diff --git a/recipes/blast-legacy/2.2.26/fix-osx-build.patch b/recipes/blast-legacy/2.2.26/fix-osx-build.patch index a297ebd103209..0edf78005c26c 100644 --- a/recipes/blast-legacy/2.2.26/fix-osx-build.patch +++ b/recipes/blast-legacy/2.2.26/fix-osx-build.patch @@ -44,12 +44,12 @@ +++ ncbi/corelib/ncbimisc.c 2021-05-21 18:20:54.000000000 -0700 @@ -1266,7 +1266,7 @@ if (len < 1) return NULL; - + rsult = (Nlm_CharPtr) MemNew (len + 3); - if (rsult == NULL) return; + if (rsult == NULL) return NULL; tmp = rsult; - + for (i = 0; /* local [i] != NULL */ i < numitems; i++) { --- ncbi/make/makedis.csh.orig 2021-05-25 19:09:16.000000000 -0700 +++ ncbi/make/makedis.csh 2021-05-25 19:32:11.000000000 -0700 @@ -75,18 +75,92 @@ @@ -300,7 +299,7 @@ echo platform is $platform uname -a - + -set NCBI_DOT_MK = ncbi/platform/${platform}.ncbi.mk +set NCBI_DOT_MK = platform/${platform}.ncbi.mk - + if (! -r "$NCBI_DOT_MK") then goto BADPLATFORM @@ -323,7 +322,7 @@ echo "Enabling assert()." endif - + -cd ncbi/build +cd build ln -s ../make/*.unx . ln -s ../make/ln-if-absent . mv makeall.unx makefile +--- ncbi/corelib/ncbimain.c.orig 2002-07-09 09:20:17 ++++ ncbi/corelib/ncbimain.c 2024-09-18 14:28:01 +@@ -75,7 +75,7 @@ + * setups argc and argv + * + *****************************************************************************/ +-#ifdef OS_MSWIN ++#if defined OS_MSWIN || defined OS_UNIX_DARWIN + int + #endif + main(int argc, char *argv[]) +--- ncbi/tools/kappa.c.orig 2012-04-30 06:45:01 ++++ ncbi/tools/kappa.c 2024-09-18 14:58:32 +@@ -2197,7 +2197,7 @@ + /** + * Callbacks used by Blast_RedoOneMatch and + * Blast_RedoOneMatchSmithWaterman */ +-static const Blast_RedoAlignCallbacks ++static const Blast_RedoAlignCallbacks * + redo_align_callbacks = { + Kappa_CalcLambda, + Kappa_SequenceGetRange, +--- ncbi/tools/ncbisort.c.orig 2006-05-10 14:47:17 ++++ ncbi/tools/ncbisort.c 2024-09-18 14:40:01 +@@ -689,7 +689,7 @@ + of the fraction. Strings not of this form are considered to be zero. */ + static Int4 SORTFracCompare(register UcharPtr a, register UcharPtr b) + { +- register tmpa = UCHAR(*a), tmpb = UCHAR(*b); ++ register int tmpa = UCHAR(*a), tmpb = UCHAR(*b); + + if (tmpa == '.' && tmpb == '.') { + do +--- ncbi/tools/pattern1.c.orig 2006-08-04 15:11:17 ++++ ncbi/tools/pattern1.c 2024-09-18 14:42:18 +@@ -741,7 +741,7 @@ + + /*Do a word-by-word bit-wise or of a and b and put the result in + result; return 1 if there are any non-zero words*/ +-static and(Int4 *result, Int4 *a, Int4 *b, patternSearchItems *patternSearch) ++static Int4 and(Int4 *result, Int4 *a, Int4 *b, patternSearchItems *patternSearch) + { + Int4 i; /*index over words*/ + Int4 returnValue = 0; +--- ncbi/api/asn2ff4.c.orig 2001-10-02 10:13:15 ++++ ncbi/api/asn2ff4.c 2024-09-18 14:36:13 +@@ -1344,7 +1344,7 @@ + * Compare two ImpFeats by name and location + * returns 1 for matching features otherwise returns 0 + ******************************************************************************/ +-static CmpImpFeat (ImpFeatPtr f1, ImpFeatPtr f2) ++static int CmpImpFeat (ImpFeatPtr f1, ImpFeatPtr f2) + { + if (f1 == NULL && f2) + return 0; +--- ncbi/api/asn2ff2.c.orig 2024-09-18 22:02:18 ++++ ncbi/api/asn2ff2.c 2024-09-18 22:36:29 +@@ -220,6 +220,7 @@ + #include + #include + #include ++#include + + + NLM_EXTERN Int2 GetGenDate PROTO ((Asn2ffJobPtr ajp, GBEntryPtr gbp, CharPtr buffer)); +@@ -1355,7 +1356,7 @@ + return newstring; + } + +-static ChoicePID(SeqIdPtr sid) ++static bool ChoicePID(SeqIdPtr sid) + { + + DbtagPtr db; diff --git a/recipes/blast-legacy/2.2.26/meta.yaml b/recipes/blast-legacy/2.2.26/meta.yaml index 1138152050e28..be2f140d0a9a9 100644 --- a/recipes/blast-legacy/2.2.26/meta.yaml +++ b/recipes/blast-legacy/2.2.26/meta.yaml @@ -10,7 +10,9 @@ source: patches: - fix-osx-build.patch # [osx] build: - number: 3 + number: 4 + run_exports: + - {{ pin_subpackage('blast-legacy', max_pin='x.x') }} test: commands: diff --git a/recipes/blast/build.sh b/recipes/blast/build.sh index e15801465e2e3..b9e8a95bcc91f 100644 --- a/recipes/blast/build.sh +++ b/recipes/blast/build.sh @@ -1,167 +1,220 @@ -#!/bin/bash -set -euxo pipefail +#!/usr/bin/env bash -export BLAST_SRC_DIR="${SRC_DIR}/blast" -cd $BLAST_SRC_DIR/c++/ +set -o xtrace +set -o errexit +set -o nounset +set -o pipefail -export CFLAGS="$CFLAGS -O2" -export CXXFLAGS="$CXXFLAGS -O2" -export CPPFLAGS="$CPPFLAGS -I$PREFIX/include" -export LDFLAGS="$LDFLAGS -L$PREFIX/lib" -export CC_FOR_BUILD=$CC -if test x"`uname`" = x"Linux"; then - # only add things needed; not supported by OSX ld - LDFLAGS="$LDFLAGS -Wl,-as-needed" -fi +# Source path +BLAST_SRC_DIR="$SRC_DIR/c++" +# Work directory +RESULT_PATH="$BLAST_SRC_DIR/Release" -if [ `uname` == Darwin ]; then - export LDFLAGS="${LDFLAGS} -Wl,-rpath,$PREFIX/lib -lz -lbz2" - # See https://conda-forge.org/docs/maintainer/knowledge_base.html#newer-c-features-with-old-sdk for -D_LIBCPP_DISABLE_AVAILABILITY - export CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" -else - export CPP_FOR_BUILD=$CPP +# C/C++ preprocessor header includes paths +export CPPFLAGS="$CPPFLAGS -I$PREFIX/include" +# Linker library paths +export LDFLAGS="$LDFLAGS -L$PREFIX/lib" +# C++ compiler flags +if [[ "$(uname)" = "Darwin" ]]; then + # See https://conda-forge.org/docs/maintainer/knowledge_base.html#newer-c-features-with-old-sdk for -D_LIBCPP_DISABLE_AVAILABILITY + export CXXFLAGS="$CXXFLAGS -D_LIBCPP_DISABLE_AVAILABILITY" fi -LIB_INSTALL_DIR=$PREFIX/lib/ncbi-blast+ - -# Get optional RpsbProc -# The rpsbproc command line utility is an addition to the standalone version of -# Reverse Position-Specific BLAST (RPS-BLAST), also known as CD-Search (Conserved -# Domain Search). -mkdir -p src/app/RpsbProc -cp -rf "${SRC_DIR}/RpsbProc/src/"* src/app/RpsbProc/ +LIB_INSTALL_DIR="$PREFIX/lib/ncbi-blast+" # Configuration synopsis: # https://ncbi.github.io/cxx-toolkit/pages/ch_config.html#ch_config.ch_configget_synopsi -# -# Description of used options (from ./configure --help): -# bin-release: +# Run `./configure --help` for all flags. +CONFIGURE_FLAGS="--with-build-root=$RESULT_PATH" + +# platform-independent flags +## BUILD CHAIN OPTIONS +# --with(out)-bin-release: # Build executables suitable for public release -# 64: -# Compile in 64-bit mode instead of 32-bit. -# mt: +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --with-bin-release" +# --with(out)-debug: +# Build non-debug versions of libs and apps. +# Strips -D_DEBUG and -g, engage -DNDEBUG and -O. +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-debug" +# --with(out)-strip: +# Strip binaries at build time (remove debugging symbols) +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --with-strip" +# --with-experimental={ChaosMonkey,Int4GI,Int8GI,StrictGI,PSGLoader,BM64,C++20,C2X}: +# Enable named experimental feature (comma-separated list): +# - ChaosMonkey Enable "ChaosMonkey" failure testing. +# - Int4GI Use a simple 32-bit type for GI numbers. +# - Int8GI Use a simple 64-bit type for GI numbers. +# - StrictGI Use a strict 64-bit type for GI numbers. +# - PSGLoader Let the GenBank data loader use PubSeq Gateway (PSG). +# - BM64 Use 64-bit bitset indices. +# - C++20 Use '-std=gnu++20' compiler flag. +# - C2X Use '-std=gnu2x' compiler flag. +# See c++/src/build-system/configure.ac lines 1020:1068 for the named options. +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --with-experimental=Int8GI" +# --with(out)-mt: # Compile in a multi-threading safe manner. -# dll: -# Use dynamic instead of static linking. -# openmp: -# Enable OpenMP extensions for all projects. -# autodep: -# No automatic dependency build (one time build). -# makefile-auto-update: -# No rebuild of makefile (one time build). -# flat-makefile: -# Use single makefile. -# caution: +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --with-mt" +# --with(out)-autodep: +# Do not automatically generate dependencies (one time build). +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-autodep" +# --with(out)-makefile-auto-update: +# Do not auto-update generated makefiles (one time build). +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-makefile-auto-update" +# --with(out)-flat-makefile: +# Generate an all-encompassing flat makefile. +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --with-flat-makefile" +# --with(out)-caution: # Proceed configuration without asking when in doubt. -# lzo: -# Don't add lzo support (compression lib, req. lzo >2.x). -# runpath: -# Set runpath for installed $PREFIX location. -# hard-runpath: -# Hard-code runtime path, ignoring LD_LIBRARY_PATH (disallow LD_LIBRARY_PATH override on Linux). -# debug: -# Strip -D_DEBUG and -g, engage -DNDEBUG and -O. -# with-experimental=Int8GI: -# Enable named experimental feature: Int8GI (Use a simple 64-bit type for GI numbers). -# See c++/src/build-system/configure.ac lines 1020:1068 for the named options. -# strip: -# Strip binaries at build time (remove debugging symbols) -# vdb: -# Disable VDB/SRA toolkit. -# z: +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-caution" +# --with(out)-sse42 +# Disable SSE 4.2 when optimizing. +# Old CPU's (read: released befor 2012) may not have this instruction set. +# We can consider removing this, considering the NCBI builds enable this now. +# See: https://github.com/bioconda/bioconda-recipes/pull/17677 +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-sse42" + +## LIBRARIES +# --with(out)-pcre: +# Do not use pcre (Perl regex). +# The NCBI release builds also pass this. +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-pcre" +# --with(out)-lzo: +# Do not add lzo support (compression lib, req. lzo >2.x). +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-lzo" +# --with(out)-vdb: +# Enable VDB/SRA toolkit. +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --with-vdb=$PREFIX" +# --with(out)-z: # Set zlib path (compression lib). -# bz2: +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --with-z=$PREFIX" +# --with(out)-bz2: # Set bzlib path (compression lib). -# krb5: -# Disable kerberos (needed on OSX). -# gnutls: -# Disable gnutls. -# gcrypt: -# Disable gcrypt (needed on OSX). -# sse42 -# Don't enable SSE 4.2 when optimizing. -# pcre: -# Disable pcre (Perl regex). +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --with-bz2=$PREFIX" +# --with(out)-sqlite3: +# Set sqlite3 path (local database lib). +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --with-sqlite3=$PREFIX" +# --with(out)-krb5: +# Do not use Kerberos 5. +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-krb5" +# --with(out)-gnutls: +# Do not use gnutls. +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-gnutls" +# --with(out)-boost: +# Do not use Boost. +# It tries to search for it and prints some warnings, so might as well tell it beforehand. +# See: https://github.com/bioconda/bioconda-recipes/pull/15754 +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-boost" + +# platform-specific flags +if [[ "$(uname)" = "Linux" ]]; then + # --with(out)-64: + # Compile in 64-bit mode instead of 32-bit. + # Flag not available for osx build. + CONFIGURE_FLAGS="$CONFIGURE_FLAGS --with-64" + # --with(out)-openmp: + # Enable OpenMP extensions for all projects. + CONFIGURE_FLAGS="$CONFIGURE_FLAGS --with-openmp" + + ## LINKING + # Dynamically link libraries + # --with(out)-dll: + # Use dynamic instead of static library linking. + CONFIGURE_FLAGS="$CONFIGURE_FLAGS --with-dll" + # --with(out)-runpath: + # Set runpath for installed $PREFIX location. + # Needed for --with-dll. + CONFIGURE_FLAGS="$CONFIGURE_FLAGS --with-runpath=$LIB_INSTALL_DIR" + # --with(out)-hard-runpath: + # Hard-code runtime path, ignoring LD_LIBRARY_PATH + # (disallow LD_LIBRARY_PATH override on Linux). + CONFIGURE_FLAGS="$CONFIGURE_FLAGS --with-hard-runpath" +else + # --with(out)-openmp: + # Disable OpenMP extensions for all projects. + # Does not work without hacks for OSX + # See: https://github.com/bioconda/bioconda-recipes/pull/40555 + CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-openmp" + # --with(out)-gcrypt: + # Do not use gcrypt (needed on OSX). + CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-gcrypt" + # --with(out)-zstd: + # Do not use Zstandard. + CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-zstd" + + ## LINKING + # Build statically linked programs. For some reason it raises segfaults during compilation on + # osx-64 when trying a dynamically linked build. + # --with-static --with(out)-dll: + # Use static instead of dynamic library linking. + CONFIGURE_FLAGS="$CONFIGURE_FLAGS --with-static --without-dll" +fi # Fixes building on unix (linux and osx) export AR="${AR} rcs" -if [[ $(uname) = Linux ]] ; then - ./configure \ - --with-bin-release \ - --with-64 \ - --with-mt \ - --with-dll \ - --with-openmp \ - --without-autodep \ - --without-makefile-auto-update \ - --with-flat-makefile \ - --without-caution \ - --without-lzo \ - --with-hard-runpath \ - --with-runpath=$LIB_INSTALL_DIR \ - --without-debug \ - --with-experimental=Int8GI \ - --with-strip \ - --with-vdb=$PREFIX \ - --with-z=$PREFIX \ - --with-bz2=$PREFIX \ - --without-krb5 \ - --without-gnutls \ - --without-sse42 -else - ./configure \ - --with-bin-release \ - --with-mt \ - --without-openmp \ - --with-flat-makefile \ - --without-lzo \ - --without-zstd \ - --without-debug \ - --with-experimental=Int8GI \ - --with-strip \ - --with-vdb=$PREFIX \ - --with-z=$PREFIX \ - --with-bz2=$PREFIX \ - --without-krb5 \ - --without-gnutls \ - --without-sse42 \ - --without-gcrypt \ - --without-pcre -fi - -#list apps to build -apps="blastp.exe blastn.exe blastx.exe tblastn.exe tblastx.exe psiblast.exe" -apps="$apps rpsblast.exe rpstblastn.exe makembindex.exe segmasker.exe" -apps="$apps dustmasker.exe windowmasker.exe deltablast.exe makeblastdb.exe" -apps="$apps blastdbcmd.exe blastdb_aliastool.exe convert2blastmask.exe" -apps="$apps blastdbcheck.exe makeprofiledb.exe blast_formatter.exe rpsbproc.exe" -apps="$apps blastn_vdb.exe tblastn_vdb.exe" -cd ReleaseMT +# Run configure script +cd "$BLAST_SRC_DIR" +./configure.orig $CONFIGURE_FLAGS >&2 + + +# Run GNU Make +# List of apps to build +apps="\ +blast_formatter.exe \ +blastdb_aliastool.exe \ +blastdbcheck.exe \ +blastdbcmd.exe \ +blastn_vdb.exe \ +blastn.exe \ +blastp.exe \ +blastx.exe \ +convert2blastmask.exe \ +deltablast.exe \ +dustmasker.exe \ +makeblastdb.exe \ +makembindex.exe \ +makeprofiledb.exe \ +psiblast.exe \ +rpsblast.exe \ +rpstblastn.exe \ +segmasker.exe \ +tblastn_vdb.exe \ +tblastn.exe \ +tblastx.exe \ +windowmasker.exe \ +" # The "datatool" binary needs the libs at build time, create # link from final install path to lib build dir: -ln -s $BLAST_SRC_DIR/c++/ReleaseMT/lib $LIB_INSTALL_DIR +ln -s "$RESULT_PATH/lib" "$LIB_INSTALL_DIR" -cd build -echo "RUNNING MAKE" -#make -j${CPU_COUNT} -f Makefile.flat $apps -make -j1 -f Makefile.flat $apps +cd "$RESULT_PATH/build" +echo "RUNNING MAKE" >&2 +make -j1 -f Makefile.flat $apps >&2 # remove temporary link -rm $LIB_INSTALL_DIR - -mkdir -p $PREFIX/bin $LIB_INSTALL_DIR -chmod +x $BLAST_SRC_DIR/c++/ReleaseMT/bin/* -cp $BLAST_SRC_DIR/c++/ReleaseMT/bin/* $PREFIX/bin/ -cp $BLAST_SRC_DIR/c++/ReleaseMT/lib/* $LIB_INSTALL_DIR +rm "$LIB_INSTALL_DIR" + +# Copy compiled binaries to the Conda $PREFIX +mkdir -p "$PREFIX/bin" +chmod +x "$RESULT_PATH/bin/"* +cp "$RESULT_PATH/bin/"* "$PREFIX/bin/" +# Copy compiled libraries to the Conda $PREFIX +if [[ "$(uname)" = "Linux" ]]; then + # Not necessary for osx as that is statically linked + mkdir -p "$LIB_INSTALL_DIR" + cp "$RESULT_PATH/lib/"* "$LIB_INSTALL_DIR" +fi -#chmod +x $PREFIX/bin/* -sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' $PREFIX/bin/update_blastdb.pl -# Patches to enable this script to work better in bioconda -sed -i.bak 's/mktemp.*/mktemp`/; s/exit 1/exit 0/; s/^export PATH=\/bin:\/usr\/bin:/\#export PATH=\/bin:\/usr\/bin:/g' $PREFIX/bin/get_species_taxids.sh +# Patch Perl shebangs +sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' "$PREFIX/bin/update_blastdb.pl" +sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' "$PREFIX/bin/legacy_blast.pl" +# Patch Python2 shebangs +sed -i.bak '1 s|^.*$|#!/usr/bin/env python|g' "$PREFIX/bin/windowmasker_2.2.22_adapter.py" +# remove the sed backup files +rm -f -v "$PREFIX/bin/"*.bak -#extra log to check all exe are present -ls -s $PREFIX/bin/ +# Extra log to check results +ls -lhAF "$PREFIX/bin/" diff --git a/recipes/blast/build_failure.osx-64.yaml b/recipes/blast/build_failure.osx-64.yaml deleted file mode 100644 index de9e3cf438772..0000000000000 --- a/recipes/blast/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: d58ac0e00618c06e1088a1a93035e4adcb36ef78f5f709b2dbb0e437fbc7ec1d # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - /opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/lib/libregexp.a(pcreposix.o) - duplicate symbol '_islower' in: - pcretest.o - /opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/lib/libregexp.a(pcreposix.o) - duplicate symbol '_tolower' in: - pcretest.o - /opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/lib/libregexp.a(pcreposix.o) - duplicate symbol '_isupper' in: - pcretest.o - /opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/lib/libregexp.a(pcreposix.o) - duplicate symbol '_toupper' in: - pcretest.o - /opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/lib/libregexp.a(pcreposix.o) - duplicate symbol '_ishexnumber' in: - pcretest.o - /opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/lib/libregexp.a(pcreposix.o) - duplicate symbol '_isnumber' in: - pcretest.o - /opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/lib/libregexp.a(pcreposix.o) - duplicate symbol '_isalnum' in: - pcretest.o - /opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/lib/libregexp.a(pcreposix.o) - duplicate symbol '_isphonogram' in: - pcretest.o - /opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/lib/libregexp.a(pcreposix.o) - duplicate symbol '_isideogram' in: - pcretest.o - /opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/lib/libregexp.a(pcreposix.o) - duplicate symbol '_iscntrl' in: - pcretest.o - /opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/lib/libregexp.a(pcreposix.o) - duplicate symbol '_isspecial' in: - pcretest.o - /opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/lib/libregexp.a(pcreposix.o) - duplicate symbol '_isblank' in: - pcretest.o - /opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/lib/libregexp.a(pcreposix.o) - duplicate symbol '_isascii' in: - pcretest.o - /opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/lib/libregexp.a(pcreposix.o) - duplicate symbol '_toascii' in: - pcretest.o - /opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/lib/libregexp.a(pcreposix.o) - duplicate symbol '___wcwidth' in: - pcretest.o - /opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/lib/libregexp.a(pcreposix.o) - duplicate symbol '_isgraph' in: - pcretest.o - /opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/lib/libregexp.a(pcreposix.o) - duplicate symbol '___istype' in: - pcretest.o - /opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/lib/libregexp.a(pcreposix.o) - duplicate symbol '___isctype' in: - pcretest.o - /opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/lib/libregexp.a(pcreposix.o) - duplicate symbol '_isrune' in: - pcretest.o - /opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/lib/libregexp.a(pcreposix.o) - duplicate symbol '_isspace' in: - pcretest.o - /opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/lib/libregexp.a(pcreposix.o) - duplicate symbol '___sputc' in: - pcretest.o - /opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/lib/libregexp.a(pcreposix.o) - duplicate symbol '_isalpha' in: - pcretest.o - /opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/lib/libregexp.a(pcreposix.o) - ld: 567 duplicate symbols for architecture x86_64 - clang-14: error: linker command failed with exit code 1 (use -v to see invocation) - make[2]: *** [/opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/build/Makefile.app:159: test_pcre] Error 1 - /usr/bin/awk: can't open file make_test_pcre.log.new - source line number 4 - make[1]: *** [/opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/src/build-system/Makefile.meta_l:333: all.nonusr] Error 2 - make: *** [all_l.real] Error 2 - - ------------------------------------------------------ - Current dir: /opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/build/util/regexp - - [create_flat_makefile.sh] FAILED (status 2): - make - grep: /opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/blast/c/ReleaseMT/build/Flat.configuration_log: No such file or directory - config.status: error: flat makefile generation failed. - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/blast_1685482928598/work/conda_build.sh']' returned non-zero exit status 1. -# Last 100 lines of the build log. diff --git a/recipes/blast/configurellvm.patch b/recipes/blast/configurellvm.patch index 83a44bc1372b2..4c84df2bc1e22 100644 --- a/recipes/blast/configurellvm.patch +++ b/recipes/blast/configurellvm.patch @@ -1,5 +1,5 @@ -# fix OSX build issue -# see issue #20874 for more info +# Fix OSX build issue. +# See: https://github.com/bioconda/bioconda-recipes/pull/20874 diff -ruN c++/src/build-system/configure c++/src/build-system/configure --- c++/src/build-system/configure 2023-05-03 08:56:44.398601956 +0200 +++ c++/src/build-system/configure 2023-05-03 09:34:41.470127549 +0200 @@ -24,14 +24,14 @@ diff -ruN c++/src/build-system/configure c++/src/build-system/configure fi -rm -f conftest* +rm -rf conftest* - + fi - + @@ -10000,7 +10002,7 @@ else ac_cv_header_stdc=no fi -rm -f conftest* +rm -rf conftest* - + fi diff --git a/recipes/blast/get_species_taxids.patch b/recipes/blast/get_species_taxids.patch index 1ec9d347aa21a..1da3879cd2470 100644 --- a/recipes/blast/get_species_taxids.patch +++ b/recipes/blast/get_species_taxids.patch @@ -1,14 +1,11 @@ -# fix single line json output of esummary which makes -# subsequent calls fail (grep -v will just remove everything) -diff -ruN c++/src/app/blast/get_species_taxids.sh c++/src/app/blast/get_species_taxids.sh ---- c++/src/app/blast/get_species_taxids.sh 2021-05-19 15:54:06.000000000 +0200 -+++ c++/src/app/blast/get_species_taxids.sh 2021-07-13 10:23:40.000000000 +0200 -@@ -135,7 +135,7 @@ - fi - fi +# The PATH override will do more harm than good +--- c++/src/app/blast/get_species_taxids.sh ++++ c++/src/app/blast/get_species_taxids.sh +@@ -34,7 +34,6 @@ + # + # =========================================================================== -- esummary -mode json < $OUTPUT > $TMP -+ esummary -mode json < $OUTPUT | sed 's/{/{\n/g; s/,/,\n/g; s/}/}\n/g' > $TMP +-export PATH=/bin:/usr/bin:/am/ncbiapdata/bin:$HOME/edirect:$PATH + set -uo pipefail - if [ $? -ne 0 ]; then - error_exit "esummary error" $? + TOO_MANY_MATCHES=500 diff --git a/recipes/blast/meta.yaml b/recipes/blast/meta.yaml index ac83310298c71..da0a582f155e8 100644 --- a/recipes/blast/meta.yaml +++ b/recipes/blast/meta.yaml @@ -1,6 +1,6 @@ {% set name = "blast" %} -{% set version = "2.15.0" %} -{% set sha256 = "6918c370524c8d44e028bf491e8f245a895e07c66c77b261ce3b38d6058216e0" %} +{% set version = "2.16.0" %} +{% set sha256 = "17c93cf009721023e5aecf5753f9c6a255d157561638b91b3ad7276fd6950c2b" %} package: name: {{ name }} @@ -9,23 +9,14 @@ package: source: - url: https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/{{ version }}/ncbi-blast-{{ version }}+-src.tar.gz sha256: {{ sha256 }} - folder: blast patches: - configurellvm.patch - get_species_taxids.patch - phonehome.patch - # Get optional RpsbProc - # The rpsbproc command line utility is an addition to the standalone version of - # Reverse Position-Specific BLAST (RPS-BLAST), also known as CD-Search (Conserved - # Domain Search). - - url: https://ftp.ncbi.nih.gov/pub/mmdb/cdd/rpsbproc/RpsbProc-src.tar.gz - sha256: 8b29f7e7d0a0654d10943e362557ed2d8df9a16218a4c8441c4dea4e7dc9154f - folder: RpsbProc - patches: - - normbase.patch + - update_configsub.patch build: - number: 1 + number: 2 run_exports: # Now, the point releases seem to be only bugfixes at least (but this definitely was not the # case up to v2.2.31) @@ -39,7 +30,6 @@ requirements: host: - zlib - bzip2 - - pcre - entrez-direct - ncbi-vdb - curl @@ -47,7 +37,6 @@ requirements: run: - zlib - bzip2 - - pcre - perl - perl-list-moreutils - perl-archive-tar @@ -55,6 +44,9 @@ requirements: - entrez-direct - ncbi-vdb - curl + # Added to prevent regression bugs within 2.16.0. + # Remove on next release + - rpsbproc test: files: @@ -62,9 +54,6 @@ test: - testdatabase.fa commands: # (see run_test.sh for remainder of tests) - - blastn -help - - blastp -help - - makeblastdb -help - blastdb_aliastool -version > /dev/null - blastdbcheck -version > /dev/null - blastdbcmd -version > /dev/null @@ -79,7 +68,6 @@ test: - psiblast -version > /dev/null - rpsblast -version > /dev/null - rpstblastn -version > /dev/null - - rpsbproc -version > /dev/null - segmasker -version > /dev/null - tblastn -version > /dev/null - tblastn_vdb -version > /dev/null @@ -89,15 +77,35 @@ test: - get_species_taxids.sh -h > /dev/null about: - home: http://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastDocs - license: Public Domain + home: https://blast.ncbi.nlm.nih.gov/doc/blast-help/ + # SPDX license ID for NCBI Public Domain + license: NCBI-PD + license_file: c++/scripts/projects/blast/LICENSE summary: BLAST+ is a new suite of BLAST tools that utilizes the NCBI C++ Toolkit. + description: | + BLAST Command Line Applications. + + The NCBI Basic Local Alignment Search Tool (BLAST) finds regions of + local similarity between sequences. The program compares nucleotide or + protein sequences to sequence databases and calculates the statistical + significance of matches. BLAST can be used to infer functional and + evolutionary relationships between sequences as well as help identify + members of gene families. + + For more information, visit https://blast.ncbi.nlm.nih.gov + extra: + # this can be enabled once: + # perl-list-moreutils-xs, perl-io-compress + # have ARM builds available + #additional-platforms: + # - linux-aarch64 + # - osx-arm64 identifiers: - biotools:blast - doi:10.1016/S0022-2836(05)80360-2 - usegalaxy-eu:ncbi_blastx_wrapper recipe-maintainers: - christiam - - epruesse + - ebete diff --git a/recipes/blast/phonehome.patch b/recipes/blast/phonehome.patch index a02e55a0ad186..6fbf6e0326150 100644 --- a/recipes/blast/phonehome.patch +++ b/recipes/blast/phonehome.patch @@ -1,3 +1,4 @@ +# See: https://github.com/bioconda/bioconda-recipes/pull/32791 --- c++/include/connect/ncbi_usage_report.hpp 2020-09-25 19:21:05 +0200 +++ c++/include/connect/ncbi_usage_report.hpp 2022-07-18 23:39:42 +0200 @@ -39,7 +39,7 @@ diff --git a/recipes/blast/update_configsub.patch b/recipes/blast/update_configsub.patch new file mode 100644 index 0000000000000..d4dfa0bd35e7d --- /dev/null +++ b/recipes/blast/update_configsub.patch @@ -0,0 +1,3207 @@ +# Update config.sub to a modern version that recognises osx-arm64 +--- c++/src/build-system/config.sub ++++ c++/src/build-system/config.sub +@@ -1,12 +1,14 @@ + #! /bin/sh + # Configuration validation subroutine script. +-# Copyright 1992-2013 Free Software Foundation, Inc. ++# Copyright 1992-2024 Free Software Foundation, Inc. + +-timestamp='2013-02-12' ++# shellcheck disable=SC2006,SC2268 # see below for rationale ++ ++timestamp='2024-01-01' + + # This file is free software; you can redistribute it and/or modify it + # under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 3 of the License, or ++# the Free Software Foundation, either version 3 of the License, or + # (at your option) any later version. + # + # This program is distributed in the hope that it will be useful, but +@@ -15,7 +17,7 @@ timestamp='2013-02-12' + # General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, see . ++# along with this program; if not, see . + # + # As a special exception to the GNU General Public License, if you + # distribute this file as part of a program that contains a +@@ -25,7 +27,7 @@ timestamp='2013-02-12' + # of the GNU General Public License, version 3 ("GPLv3"). + + +-# Please send patches with a ChangeLog entry to config-patches@gnu.org. ++# Please send patches to . + # + # Configuration subroutine to validate and canonicalize a configuration type. + # Supply the specified configuration type as an argument. +@@ -33,7 +35,7 @@ timestamp='2013-02-12' + # Otherwise, we print the canonical config type on stdout and succeed. + + # You can get the latest version of this script from: +-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD ++# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub + + # This file is supposed to be the same for all GNU packages + # and recognize all the CPU types, system types and aliases +@@ -50,15 +52,21 @@ timestamp='2013-02-12' + # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM + # It is wrong to echo any other type of specification. + ++# The "shellcheck disable" line above the timestamp inhibits complaints ++# about features and limitations of the classic Bourne shell that were ++# superseded or lifted in POSIX. However, this script identifies a wide ++# variety of pre-POSIX systems that do not have POSIX shells at all, and ++# even some reasonably current systems (Solaris 10 as case-in-point) still ++# have a pre-POSIX /bin/sh. ++ + me=`echo "$0" | sed -e 's,.*/,,'` + + usage="\ +-Usage: $0 [OPTION] CPU-MFR-OPSYS +- $0 [OPTION] ALIAS ++Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS + + Canonicalize a configuration name. + +-Operation modes: ++Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit +@@ -68,13 +76,13 @@ Report bugs and patches to ." + version="\ + GNU config.sub ($timestamp) + +-Copyright 1992-2013 Free Software Foundation, Inc. ++Copyright 1992-2024 Free Software Foundation, Inc. + + This is free software; see the source for copying conditions. There is NO + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + + help=" +-Try \`$me --help' for more information." ++Try '$me --help' for more information." + + # Parse command line + while test $# -gt 0 ; do +@@ -90,12 +98,12 @@ while test $# -gt 0 ; do + - ) # Use stdin as input. + break ;; + -* ) +- echo "$me: invalid option $1$help" ++ echo "$me: invalid option $1$help" >&2 + exit 1 ;; + + *local*) + # First pass through any local machine types. +- echo $1 ++ echo "$1" + exit ;; + + * ) +@@ -111,1209 +119,1167 @@ case $# in + exit 1;; + esac + +-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +-# Here we must recognize all the valid KERNEL-OS combinations. +-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +-case $maybe_os in +- nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ +- linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ +- knetbsd*-gnu* | netbsd*-gnu* | \ +- kopensolaris*-gnu* | \ +- storm-chaos* | os2-emx* | rtmk-nova*) +- os=-$maybe_os +- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` +- ;; +- android-linux) +- os=-linux-android +- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown +- ;; +- *) +- basic_machine=`echo $1 | sed 's/-[^-]*$//'` +- if [ $basic_machine != $1 ] +- then os=`echo $1 | sed 's/.*-/-/'` +- else os=; fi +- ;; +-esac ++# Split fields of configuration type ++# shellcheck disable=SC2162 ++saved_IFS=$IFS ++IFS="-" read field1 field2 field3 field4 <&2 ++ exit 1 + ;; +- -ptx*) +- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ++ *-*-*-*) ++ basic_machine=$field1-$field2 ++ basic_os=$field3-$field4 + ;; +- -windowsnt*) +- os=`echo $os | sed -e 's/windowsnt/winnt/'` ++ *-*-*) ++ # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two ++ # parts ++ maybe_os=$field2-$field3 ++ case $maybe_os in ++ nto-qnx* | linux-* | uclinux-uclibc* \ ++ | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ ++ | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ ++ | storm-chaos* | os2-emx* | rtmk-nova* | managarm-* \ ++ | windows-* ) ++ basic_machine=$field1 ++ basic_os=$maybe_os ++ ;; ++ android-linux) ++ basic_machine=$field1-unknown ++ basic_os=linux-android ++ ;; ++ *) ++ basic_machine=$field1-$field2 ++ basic_os=$field3 ++ ;; ++ esac + ;; +- -psos*) +- os=-psos ++ *-*) ++ # A lone config we happen to match not fitting any pattern ++ case $field1-$field2 in ++ decstation-3100) ++ basic_machine=mips-dec ++ basic_os= ++ ;; ++ *-*) ++ # Second component is usually, but not always the OS ++ case $field2 in ++ # Prevent following clause from handling this valid os ++ sun*os*) ++ basic_machine=$field1 ++ basic_os=$field2 ++ ;; ++ zephyr*) ++ basic_machine=$field1-unknown ++ basic_os=$field2 ++ ;; ++ # Manufacturers ++ dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ ++ | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ ++ | unicom* | ibm* | next | hp | isi* | apollo | altos* \ ++ | convergent* | ncr* | news | 32* | 3600* | 3100* \ ++ | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ ++ | ultra | tti* | harris | dolphin | highlevel | gould \ ++ | cbm | ns | masscomp | apple | axis | knuth | cray \ ++ | microblaze* | sim | cisco \ ++ | oki | wec | wrs | winbond) ++ basic_machine=$field1-$field2 ++ basic_os= ++ ;; ++ *) ++ basic_machine=$field1 ++ basic_os=$field2 ++ ;; ++ esac ++ ;; ++ esac + ;; +- -mint | -mint[0-9]*) +- basic_machine=m68k-atari +- os=-mint ++ *) ++ # Convert single-component short-hands not valid as part of ++ # multi-component configurations. ++ case $field1 in ++ 386bsd) ++ basic_machine=i386-pc ++ basic_os=bsd ++ ;; ++ a29khif) ++ basic_machine=a29k-amd ++ basic_os=udi ++ ;; ++ adobe68k) ++ basic_machine=m68010-adobe ++ basic_os=scout ++ ;; ++ alliant) ++ basic_machine=fx80-alliant ++ basic_os= ++ ;; ++ altos | altos3068) ++ basic_machine=m68k-altos ++ basic_os= ++ ;; ++ am29k) ++ basic_machine=a29k-none ++ basic_os=bsd ++ ;; ++ amdahl) ++ basic_machine=580-amdahl ++ basic_os=sysv ++ ;; ++ amiga) ++ basic_machine=m68k-unknown ++ basic_os= ++ ;; ++ amigaos | amigados) ++ basic_machine=m68k-unknown ++ basic_os=amigaos ++ ;; ++ amigaunix | amix) ++ basic_machine=m68k-unknown ++ basic_os=sysv4 ++ ;; ++ apollo68) ++ basic_machine=m68k-apollo ++ basic_os=sysv ++ ;; ++ apollo68bsd) ++ basic_machine=m68k-apollo ++ basic_os=bsd ++ ;; ++ aros) ++ basic_machine=i386-pc ++ basic_os=aros ++ ;; ++ aux) ++ basic_machine=m68k-apple ++ basic_os=aux ++ ;; ++ balance) ++ basic_machine=ns32k-sequent ++ basic_os=dynix ++ ;; ++ blackfin) ++ basic_machine=bfin-unknown ++ basic_os=linux ++ ;; ++ cegcc) ++ basic_machine=arm-unknown ++ basic_os=cegcc ++ ;; ++ convex-c1) ++ basic_machine=c1-convex ++ basic_os=bsd ++ ;; ++ convex-c2) ++ basic_machine=c2-convex ++ basic_os=bsd ++ ;; ++ convex-c32) ++ basic_machine=c32-convex ++ basic_os=bsd ++ ;; ++ convex-c34) ++ basic_machine=c34-convex ++ basic_os=bsd ++ ;; ++ convex-c38) ++ basic_machine=c38-convex ++ basic_os=bsd ++ ;; ++ cray) ++ basic_machine=j90-cray ++ basic_os=unicos ++ ;; ++ crds | unos) ++ basic_machine=m68k-crds ++ basic_os= ++ ;; ++ da30) ++ basic_machine=m68k-da30 ++ basic_os= ++ ;; ++ decstation | pmax | pmin | dec3100 | decstatn) ++ basic_machine=mips-dec ++ basic_os= ++ ;; ++ delta88) ++ basic_machine=m88k-motorola ++ basic_os=sysv3 ++ ;; ++ dicos) ++ basic_machine=i686-pc ++ basic_os=dicos ++ ;; ++ djgpp) ++ basic_machine=i586-pc ++ basic_os=msdosdjgpp ++ ;; ++ ebmon29k) ++ basic_machine=a29k-amd ++ basic_os=ebmon ++ ;; ++ es1800 | OSE68k | ose68k | ose | OSE) ++ basic_machine=m68k-ericsson ++ basic_os=ose ++ ;; ++ gmicro) ++ basic_machine=tron-gmicro ++ basic_os=sysv ++ ;; ++ go32) ++ basic_machine=i386-pc ++ basic_os=go32 ++ ;; ++ h8300hms) ++ basic_machine=h8300-hitachi ++ basic_os=hms ++ ;; ++ h8300xray) ++ basic_machine=h8300-hitachi ++ basic_os=xray ++ ;; ++ h8500hms) ++ basic_machine=h8500-hitachi ++ basic_os=hms ++ ;; ++ harris) ++ basic_machine=m88k-harris ++ basic_os=sysv3 ++ ;; ++ hp300 | hp300hpux) ++ basic_machine=m68k-hp ++ basic_os=hpux ++ ;; ++ hp300bsd) ++ basic_machine=m68k-hp ++ basic_os=bsd ++ ;; ++ hppaosf) ++ basic_machine=hppa1.1-hp ++ basic_os=osf ++ ;; ++ hppro) ++ basic_machine=hppa1.1-hp ++ basic_os=proelf ++ ;; ++ i386mach) ++ basic_machine=i386-mach ++ basic_os=mach ++ ;; ++ isi68 | isi) ++ basic_machine=m68k-isi ++ basic_os=sysv ++ ;; ++ m68knommu) ++ basic_machine=m68k-unknown ++ basic_os=linux ++ ;; ++ magnum | m3230) ++ basic_machine=mips-mips ++ basic_os=sysv ++ ;; ++ merlin) ++ basic_machine=ns32k-utek ++ basic_os=sysv ++ ;; ++ mingw64) ++ basic_machine=x86_64-pc ++ basic_os=mingw64 ++ ;; ++ mingw32) ++ basic_machine=i686-pc ++ basic_os=mingw32 ++ ;; ++ mingw32ce) ++ basic_machine=arm-unknown ++ basic_os=mingw32ce ++ ;; ++ monitor) ++ basic_machine=m68k-rom68k ++ basic_os=coff ++ ;; ++ morphos) ++ basic_machine=powerpc-unknown ++ basic_os=morphos ++ ;; ++ moxiebox) ++ basic_machine=moxie-unknown ++ basic_os=moxiebox ++ ;; ++ msdos) ++ basic_machine=i386-pc ++ basic_os=msdos ++ ;; ++ msys) ++ basic_machine=i686-pc ++ basic_os=msys ++ ;; ++ mvs) ++ basic_machine=i370-ibm ++ basic_os=mvs ++ ;; ++ nacl) ++ basic_machine=le32-unknown ++ basic_os=nacl ++ ;; ++ ncr3000) ++ basic_machine=i486-ncr ++ basic_os=sysv4 ++ ;; ++ netbsd386) ++ basic_machine=i386-pc ++ basic_os=netbsd ++ ;; ++ netwinder) ++ basic_machine=armv4l-rebel ++ basic_os=linux ++ ;; ++ news | news700 | news800 | news900) ++ basic_machine=m68k-sony ++ basic_os=newsos ++ ;; ++ news1000) ++ basic_machine=m68030-sony ++ basic_os=newsos ++ ;; ++ necv70) ++ basic_machine=v70-nec ++ basic_os=sysv ++ ;; ++ nh3000) ++ basic_machine=m68k-harris ++ basic_os=cxux ++ ;; ++ nh[45]000) ++ basic_machine=m88k-harris ++ basic_os=cxux ++ ;; ++ nindy960) ++ basic_machine=i960-intel ++ basic_os=nindy ++ ;; ++ mon960) ++ basic_machine=i960-intel ++ basic_os=mon960 ++ ;; ++ nonstopux) ++ basic_machine=mips-compaq ++ basic_os=nonstopux ++ ;; ++ os400) ++ basic_machine=powerpc-ibm ++ basic_os=os400 ++ ;; ++ OSE68000 | ose68000) ++ basic_machine=m68000-ericsson ++ basic_os=ose ++ ;; ++ os68k) ++ basic_machine=m68k-none ++ basic_os=os68k ++ ;; ++ paragon) ++ basic_machine=i860-intel ++ basic_os=osf ++ ;; ++ parisc) ++ basic_machine=hppa-unknown ++ basic_os=linux ++ ;; ++ psp) ++ basic_machine=mipsallegrexel-sony ++ basic_os=psp ++ ;; ++ pw32) ++ basic_machine=i586-unknown ++ basic_os=pw32 ++ ;; ++ rdos | rdos64) ++ basic_machine=x86_64-pc ++ basic_os=rdos ++ ;; ++ rdos32) ++ basic_machine=i386-pc ++ basic_os=rdos ++ ;; ++ rom68k) ++ basic_machine=m68k-rom68k ++ basic_os=coff ++ ;; ++ sa29200) ++ basic_machine=a29k-amd ++ basic_os=udi ++ ;; ++ sei) ++ basic_machine=mips-sei ++ basic_os=seiux ++ ;; ++ sequent) ++ basic_machine=i386-sequent ++ basic_os= ++ ;; ++ sps7) ++ basic_machine=m68k-bull ++ basic_os=sysv2 ++ ;; ++ st2000) ++ basic_machine=m68k-tandem ++ basic_os= ++ ;; ++ stratus) ++ basic_machine=i860-stratus ++ basic_os=sysv4 ++ ;; ++ sun2) ++ basic_machine=m68000-sun ++ basic_os= ++ ;; ++ sun2os3) ++ basic_machine=m68000-sun ++ basic_os=sunos3 ++ ;; ++ sun2os4) ++ basic_machine=m68000-sun ++ basic_os=sunos4 ++ ;; ++ sun3) ++ basic_machine=m68k-sun ++ basic_os= ++ ;; ++ sun3os3) ++ basic_machine=m68k-sun ++ basic_os=sunos3 ++ ;; ++ sun3os4) ++ basic_machine=m68k-sun ++ basic_os=sunos4 ++ ;; ++ sun4) ++ basic_machine=sparc-sun ++ basic_os= ++ ;; ++ sun4os3) ++ basic_machine=sparc-sun ++ basic_os=sunos3 ++ ;; ++ sun4os4) ++ basic_machine=sparc-sun ++ basic_os=sunos4 ++ ;; ++ sun4sol2) ++ basic_machine=sparc-sun ++ basic_os=solaris2 ++ ;; ++ sun386 | sun386i | roadrunner) ++ basic_machine=i386-sun ++ basic_os= ++ ;; ++ sv1) ++ basic_machine=sv1-cray ++ basic_os=unicos ++ ;; ++ symmetry) ++ basic_machine=i386-sequent ++ basic_os=dynix ++ ;; ++ t3e) ++ basic_machine=alphaev5-cray ++ basic_os=unicos ++ ;; ++ t90) ++ basic_machine=t90-cray ++ basic_os=unicos ++ ;; ++ toad1) ++ basic_machine=pdp10-xkl ++ basic_os=tops20 ++ ;; ++ tpf) ++ basic_machine=s390x-ibm ++ basic_os=tpf ++ ;; ++ udi29k) ++ basic_machine=a29k-amd ++ basic_os=udi ++ ;; ++ ultra3) ++ basic_machine=a29k-nyu ++ basic_os=sym1 ++ ;; ++ v810 | necv810) ++ basic_machine=v810-nec ++ basic_os=none ++ ;; ++ vaxv) ++ basic_machine=vax-dec ++ basic_os=sysv ++ ;; ++ vms) ++ basic_machine=vax-dec ++ basic_os=vms ++ ;; ++ vsta) ++ basic_machine=i386-pc ++ basic_os=vsta ++ ;; ++ vxworks960) ++ basic_machine=i960-wrs ++ basic_os=vxworks ++ ;; ++ vxworks68) ++ basic_machine=m68k-wrs ++ basic_os=vxworks ++ ;; ++ vxworks29k) ++ basic_machine=a29k-wrs ++ basic_os=vxworks ++ ;; ++ xbox) ++ basic_machine=i686-pc ++ basic_os=mingw32 ++ ;; ++ ymp) ++ basic_machine=ymp-cray ++ basic_os=unicos ++ ;; ++ *) ++ basic_machine=$1 ++ basic_os= ++ ;; ++ esac + ;; + esac + +-# Decode aliases for certain CPU-COMPANY combinations. ++# Decode 1-component or ad-hoc basic machines + case $basic_machine in +- # Recognize the basic CPU types without company name. +- # Some are omitted here because they have special meanings below. +- 1750a | 580 \ +- | a29k \ +- | aarch64 | aarch64_be \ +- | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ +- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ +- | am33_2.0 \ +- | arc \ +- | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ +- | avr | avr32 \ +- | be32 | be64 \ +- | bfin \ +- | c4x | clipper \ +- | d10v | d30v | dlx | dsp16xx \ +- | epiphany \ +- | fido | fr30 | frv \ +- | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ +- | hexagon \ +- | i370 | i860 | i960 | ia64 \ +- | ip2k | iq2000 \ +- | le32 | le64 \ +- | lm32 \ +- | m32c | m32r | m32rle | m68000 | m68k | m88k \ +- | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ +- | mips | mipsbe | mipseb | mipsel | mipsle \ +- | mips16 \ +- | mips64 | mips64el \ +- | mips64octeon | mips64octeonel \ +- | mips64orion | mips64orionel \ +- | mips64r5900 | mips64r5900el \ +- | mips64vr | mips64vrel \ +- | mips64vr4100 | mips64vr4100el \ +- | mips64vr4300 | mips64vr4300el \ +- | mips64vr5000 | mips64vr5000el \ +- | mips64vr5900 | mips64vr5900el \ +- | mipsisa32 | mipsisa32el \ +- | mipsisa32r2 | mipsisa32r2el \ +- | mipsisa64 | mipsisa64el \ +- | mipsisa64r2 | mipsisa64r2el \ +- | mipsisa64sb1 | mipsisa64sb1el \ +- | mipsisa64sr71k | mipsisa64sr71kel \ +- | mipsr5900 | mipsr5900el \ +- | mipstx39 | mipstx39el \ +- | mn10200 | mn10300 \ +- | moxie \ +- | mt \ +- | msp430 \ +- | nds32 | nds32le | nds32be \ +- | nios | nios2 | nios2eb | nios2el \ +- | ns16k | ns32k \ +- | open8 \ +- | or1k | or32 \ +- | pdp10 | pdp11 | pj | pjl \ +- | powerpc | powerpc64 | powerpc64le | powerpcle \ +- | pyramid \ +- | rl78 | rx \ +- | score \ +- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ +- | sh64 | sh64le \ +- | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ +- | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ +- | spu \ +- | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ +- | ubicom32 \ +- | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ +- | we32k \ +- | x86 | xc16x | xstormy16 | xtensa \ +- | z8k | z80) +- basic_machine=$basic_machine-unknown +- ;; +- c54x) +- basic_machine=tic54x-unknown +- ;; +- c55x) +- basic_machine=tic55x-unknown +- ;; +- c6x) +- basic_machine=tic6x-unknown +- ;; +- m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) +- basic_machine=$basic_machine-unknown +- os=-none +- ;; +- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) +- ;; +- ms1) +- basic_machine=mt-unknown ++ # Here we handle the default manufacturer of certain CPU types. It is in ++ # some cases the only manufacturer, in others, it is the most popular. ++ w89k) ++ cpu=hppa1.1 ++ vendor=winbond + ;; +- +- strongarm | thumb | xscale) +- basic_machine=arm-unknown ++ op50n) ++ cpu=hppa1.1 ++ vendor=oki + ;; +- xgate) +- basic_machine=$basic_machine-unknown +- os=-none ++ op60c) ++ cpu=hppa1.1 ++ vendor=oki + ;; +- xscaleeb) +- basic_machine=armeb-unknown ++ ibm*) ++ cpu=i370 ++ vendor=ibm + ;; +- +- xscaleel) +- basic_machine=armel-unknown ++ orion105) ++ cpu=clipper ++ vendor=highlevel + ;; +- +- # We use `pc' rather than `unknown' +- # because (1) that's what they normally are, and +- # (2) the word "unknown" tends to confuse beginning users. +- i*86 | x86_64) +- basic_machine=$basic_machine-pc +- ;; +- # Object if more than one company name word. +- *-*-*) +- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 +- exit 1 ++ mac | mpw | mac-mpw) ++ cpu=m68k ++ vendor=apple + ;; +- # Recognize the basic CPU types with company name. +- 580-* \ +- | a29k-* \ +- | aarch64-* | aarch64_be-* \ +- | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ +- | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ +- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ +- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ +- | avr-* | avr32-* \ +- | be32-* | be64-* \ +- | bfin-* | bs2000-* \ +- | c[123]* | c30-* | [cjt]90-* | c4x-* \ +- | clipper-* | craynv-* | cydra-* \ +- | d10v-* | d30v-* | dlx-* \ +- | elxsi-* \ +- | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ +- | h8300-* | h8500-* \ +- | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ +- | hexagon-* \ +- | i*86-* | i860-* | i960-* | ia64-* \ +- | ip2k-* | iq2000-* \ +- | le32-* | le64-* \ +- | lm32-* \ +- | m32c-* | m32r-* | m32rle-* \ +- | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ +- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ +- | microblaze-* | microblazeel-* \ +- | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ +- | mips16-* \ +- | mips64-* | mips64el-* \ +- | mips64octeon-* | mips64octeonel-* \ +- | mips64orion-* | mips64orionel-* \ +- | mips64r5900-* | mips64r5900el-* \ +- | mips64vr-* | mips64vrel-* \ +- | mips64vr4100-* | mips64vr4100el-* \ +- | mips64vr4300-* | mips64vr4300el-* \ +- | mips64vr5000-* | mips64vr5000el-* \ +- | mips64vr5900-* | mips64vr5900el-* \ +- | mipsisa32-* | mipsisa32el-* \ +- | mipsisa32r2-* | mipsisa32r2el-* \ +- | mipsisa64-* | mipsisa64el-* \ +- | mipsisa64r2-* | mipsisa64r2el-* \ +- | mipsisa64sb1-* | mipsisa64sb1el-* \ +- | mipsisa64sr71k-* | mipsisa64sr71kel-* \ +- | mipsr5900-* | mipsr5900el-* \ +- | mipstx39-* | mipstx39el-* \ +- | mmix-* \ +- | mt-* \ +- | msp430-* \ +- | nds32-* | nds32le-* | nds32be-* \ +- | nios-* | nios2-* | nios2eb-* | nios2el-* \ +- | none-* | np1-* | ns16k-* | ns32k-* \ +- | open8-* \ +- | orion-* \ +- | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ +- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ +- | pyramid-* \ +- | rl78-* | romp-* | rs6000-* | rx-* \ +- | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ +- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ +- | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ +- | sparclite-* \ +- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ +- | tahoe-* \ +- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ +- | tile*-* \ +- | tron-* \ +- | ubicom32-* \ +- | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ +- | vax-* \ +- | we32k-* \ +- | x86-* | x86_64-* | xc16x-* | xps100-* \ +- | xstormy16-* | xtensa*-* \ +- | ymp-* \ +- | z8k-* | z80-*) +- ;; +- # Recognize the basic CPU types without company name, with glob match. +- xtensa*) +- basic_machine=$basic_machine-unknown ++ pmac | pmac-mpw) ++ cpu=powerpc ++ vendor=apple + ;; ++ + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. +- 386bsd) +- basic_machine=i386-unknown +- os=-bsd +- ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) +- basic_machine=m68000-att ++ cpu=m68000 ++ vendor=att + ;; + 3b*) +- basic_machine=we32k-att +- ;; +- a29khif) +- basic_machine=a29k-amd +- os=-udi +- ;; +- abacus) +- basic_machine=abacus-unknown +- ;; +- adobe68k) +- basic_machine=m68010-adobe +- os=-scout +- ;; +- alliant | fx80) +- basic_machine=fx80-alliant +- ;; +- altos | altos3068) +- basic_machine=m68k-altos +- ;; +- am29k) +- basic_machine=a29k-none +- os=-bsd +- ;; +- amd64) +- basic_machine=x86_64-pc +- ;; +- amd64-*) +- basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- amdahl) +- basic_machine=580-amdahl +- os=-sysv +- ;; +- amiga | amiga-*) +- basic_machine=m68k-unknown +- ;; +- amigaos | amigados) +- basic_machine=m68k-unknown +- os=-amigaos +- ;; +- amigaunix | amix) +- basic_machine=m68k-unknown +- os=-sysv4 +- ;; +- apollo68) +- basic_machine=m68k-apollo +- os=-sysv +- ;; +- apollo68bsd) +- basic_machine=m68k-apollo +- os=-bsd +- ;; +- aros) +- basic_machine=i386-pc +- os=-aros +- ;; +- aux) +- basic_machine=m68k-apple +- os=-aux +- ;; +- balance) +- basic_machine=ns32k-sequent +- os=-dynix +- ;; +- blackfin) +- basic_machine=bfin-unknown +- os=-linux +- ;; +- blackfin-*) +- basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` +- os=-linux ++ cpu=we32k ++ vendor=att + ;; + bluegene*) +- basic_machine=powerpc-ibm +- os=-cnk +- ;; +- c54x-*) +- basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- c55x-*) +- basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- c6x-*) +- basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- c90) +- basic_machine=c90-cray +- os=-unicos +- ;; +- cegcc) +- basic_machine=arm-unknown +- os=-cegcc +- ;; +- convex-c1) +- basic_machine=c1-convex +- os=-bsd +- ;; +- convex-c2) +- basic_machine=c2-convex +- os=-bsd +- ;; +- convex-c32) +- basic_machine=c32-convex +- os=-bsd +- ;; +- convex-c34) +- basic_machine=c34-convex +- os=-bsd +- ;; +- convex-c38) +- basic_machine=c38-convex +- os=-bsd +- ;; +- cray | j90) +- basic_machine=j90-cray +- os=-unicos +- ;; +- craynv) +- basic_machine=craynv-cray +- os=-unicosmp +- ;; +- cr16 | cr16-*) +- basic_machine=cr16-unknown +- os=-elf +- ;; +- crds | unos) +- basic_machine=m68k-crds +- ;; +- crisv32 | crisv32-* | etraxfs*) +- basic_machine=crisv32-axis +- ;; +- cris | cris-* | etrax*) +- basic_machine=cris-axis +- ;; +- crx) +- basic_machine=crx-unknown +- os=-elf +- ;; +- da30 | da30-*) +- basic_machine=m68k-da30 +- ;; +- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) +- basic_machine=mips-dec ++ cpu=powerpc ++ vendor=ibm ++ basic_os=cnk + ;; + decsystem10* | dec10*) +- basic_machine=pdp10-dec +- os=-tops10 ++ cpu=pdp10 ++ vendor=dec ++ basic_os=tops10 + ;; + decsystem20* | dec20*) +- basic_machine=pdp10-dec +- os=-tops20 ++ cpu=pdp10 ++ vendor=dec ++ basic_os=tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) +- basic_machine=m68k-motorola +- ;; +- delta88) +- basic_machine=m88k-motorola +- os=-sysv3 ++ cpu=m68k ++ vendor=motorola + ;; +- dicos) +- basic_machine=i686-pc +- os=-dicos +- ;; +- djgpp) +- basic_machine=i586-pc +- os=-msdosdjgpp +- ;; +- dpx20 | dpx20-*) +- basic_machine=rs6000-bull +- os=-bosx +- ;; +- dpx2* | dpx2*-bull) +- basic_machine=m68k-bull +- os=-sysv3 +- ;; +- ebmon29k) +- basic_machine=a29k-amd +- os=-ebmon +- ;; +- elxsi) +- basic_machine=elxsi-elxsi +- os=-bsd ++ dpx2*) ++ cpu=m68k ++ vendor=bull ++ basic_os=sysv3 + ;; + encore | umax | mmax) +- basic_machine=ns32k-encore ++ cpu=ns32k ++ vendor=encore + ;; +- es1800 | OSE68k | ose68k | ose | OSE) +- basic_machine=m68k-ericsson +- os=-ose ++ elxsi) ++ cpu=elxsi ++ vendor=elxsi ++ basic_os=${basic_os:-bsd} + ;; + fx2800) +- basic_machine=i860-alliant ++ cpu=i860 ++ vendor=alliant + ;; + genix) +- basic_machine=ns32k-ns +- ;; +- gmicro) +- basic_machine=tron-gmicro +- os=-sysv +- ;; +- go32) +- basic_machine=i386-pc +- os=-go32 ++ cpu=ns32k ++ vendor=ns + ;; + h3050r* | hiux*) +- basic_machine=hppa1.1-hitachi +- os=-hiuxwe2 +- ;; +- h8300hms) +- basic_machine=h8300-hitachi +- os=-hms +- ;; +- h8300xray) +- basic_machine=h8300-hitachi +- os=-xray +- ;; +- h8500hms) +- basic_machine=h8500-hitachi +- os=-hms +- ;; +- harris) +- basic_machine=m88k-harris +- os=-sysv3 +- ;; +- hp300-*) +- basic_machine=m68k-hp +- ;; +- hp300bsd) +- basic_machine=m68k-hp +- os=-bsd +- ;; +- hp300hpux) +- basic_machine=m68k-hp +- os=-hpux ++ cpu=hppa1.1 ++ vendor=hitachi ++ basic_os=hiuxwe2 + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) +- basic_machine=hppa1.0-hp ++ cpu=hppa1.0 ++ vendor=hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) +- basic_machine=m68000-hp ++ cpu=m68000 ++ vendor=hp + ;; + hp9k3[2-9][0-9]) +- basic_machine=m68k-hp ++ cpu=m68k ++ vendor=hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) +- basic_machine=hppa1.0-hp ++ cpu=hppa1.0 ++ vendor=hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) +- basic_machine=hppa1.1-hp ++ cpu=hppa1.1 ++ vendor=hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp +- basic_machine=hppa1.1-hp ++ cpu=hppa1.1 ++ vendor=hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp +- basic_machine=hppa1.1-hp ++ cpu=hppa1.1 ++ vendor=hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) +- basic_machine=hppa1.1-hp ++ cpu=hppa1.1 ++ vendor=hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) +- basic_machine=hppa1.0-hp +- ;; +- hppa-next) +- os=-nextstep3 +- ;; +- hppaosf) +- basic_machine=hppa1.1-hp +- os=-osf +- ;; +- hppro) +- basic_machine=hppa1.1-hp +- os=-proelf +- ;; +- i370-ibm* | ibm*) +- basic_machine=i370-ibm ++ cpu=hppa1.0 ++ vendor=hp + ;; + i*86v32) +- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` +- os=-sysv32 ++ cpu=`echo "$1" | sed -e 's/86.*/86/'` ++ vendor=pc ++ basic_os=sysv32 + ;; + i*86v4*) +- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` +- os=-sysv4 ++ cpu=`echo "$1" | sed -e 's/86.*/86/'` ++ vendor=pc ++ basic_os=sysv4 + ;; + i*86v) +- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` +- os=-sysv ++ cpu=`echo "$1" | sed -e 's/86.*/86/'` ++ vendor=pc ++ basic_os=sysv + ;; + i*86sol2) +- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` +- os=-solaris2 +- ;; +- i386mach) +- basic_machine=i386-mach +- os=-mach ++ cpu=`echo "$1" | sed -e 's/86.*/86/'` ++ vendor=pc ++ basic_os=solaris2 + ;; +- i386-vsta | vsta) +- basic_machine=i386-unknown +- os=-vsta ++ j90 | j90-cray) ++ cpu=j90 ++ vendor=cray ++ basic_os=${basic_os:-unicos} + ;; + iris | iris4d) +- basic_machine=mips-sgi +- case $os in +- -irix*) ++ cpu=mips ++ vendor=sgi ++ case $basic_os in ++ irix*) + ;; + *) +- os=-irix4 ++ basic_os=irix4 + ;; + esac + ;; +- isi68 | isi) +- basic_machine=m68k-isi +- os=-sysv +- ;; +- m68knommu) +- basic_machine=m68k-unknown +- os=-linux +- ;; +- m68knommu-*) +- basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` +- os=-linux +- ;; +- m88k-omron*) +- basic_machine=m88k-omron +- ;; +- magnum | m3230) +- basic_machine=mips-mips +- os=-sysv +- ;; +- merlin) +- basic_machine=ns32k-utek +- os=-sysv +- ;; +- microblaze*) +- basic_machine=microblaze-xilinx +- ;; +- mingw64) +- basic_machine=x86_64-pc +- os=-mingw64 +- ;; +- mingw32) +- basic_machine=i386-pc +- os=-mingw32 +- ;; +- mingw32ce) +- basic_machine=arm-unknown +- os=-mingw32ce +- ;; + miniframe) +- basic_machine=m68000-convergent +- ;; +- *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) +- basic_machine=m68k-atari +- os=-mint +- ;; +- mips3*-*) +- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` +- ;; +- mips3*) +- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown +- ;; +- monitor) +- basic_machine=m68k-rom68k +- os=-coff +- ;; +- morphos) +- basic_machine=powerpc-unknown +- os=-morphos +- ;; +- msdos) +- basic_machine=i386-pc +- os=-msdos +- ;; +- ms1-*) +- basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` +- ;; +- msys) +- basic_machine=i386-pc +- os=-msys +- ;; +- mvs) +- basic_machine=i370-ibm +- os=-mvs +- ;; +- nacl) +- basic_machine=le32-unknown +- os=-nacl +- ;; +- ncr3000) +- basic_machine=i486-ncr +- os=-sysv4 ++ cpu=m68000 ++ vendor=convergent + ;; +- netbsd386) +- basic_machine=i386-unknown +- os=-netbsd +- ;; +- netwinder) +- basic_machine=armv4l-rebel +- os=-linux +- ;; +- news | news700 | news800 | news900) +- basic_machine=m68k-sony +- os=-newsos +- ;; +- news1000) +- basic_machine=m68030-sony +- os=-newsos ++ *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) ++ cpu=m68k ++ vendor=atari ++ basic_os=mint + ;; + news-3600 | risc-news) +- basic_machine=mips-sony +- os=-newsos +- ;; +- necv70) +- basic_machine=v70-nec +- os=-sysv +- ;; +- next | m*-next ) +- basic_machine=m68k-next +- case $os in +- -nextstep* ) ++ cpu=mips ++ vendor=sony ++ basic_os=newsos ++ ;; ++ next | m*-next) ++ cpu=m68k ++ vendor=next ++ case $basic_os in ++ openstep*) ++ ;; ++ nextstep*) + ;; +- -ns2*) +- os=-nextstep2 ++ ns2*) ++ basic_os=nextstep2 + ;; + *) +- os=-nextstep3 ++ basic_os=nextstep3 + ;; + esac + ;; +- nh3000) +- basic_machine=m68k-harris +- os=-cxux +- ;; +- nh[45]000) +- basic_machine=m88k-harris +- os=-cxux +- ;; +- nindy960) +- basic_machine=i960-intel +- os=-nindy +- ;; +- mon960) +- basic_machine=i960-intel +- os=-mon960 +- ;; +- nonstopux) +- basic_machine=mips-compaq +- os=-nonstopux +- ;; + np1) +- basic_machine=np1-gould +- ;; +- neo-tandem) +- basic_machine=neo-tandem +- ;; +- nse-tandem) +- basic_machine=nse-tandem +- ;; +- nsr-tandem) +- basic_machine=nsr-tandem ++ cpu=np1 ++ vendor=gould + ;; + op50n-* | op60c-*) +- basic_machine=hppa1.1-oki +- os=-proelf +- ;; +- openrisc | openrisc-*) +- basic_machine=or32-unknown +- ;; +- os400) +- basic_machine=powerpc-ibm +- os=-os400 +- ;; +- OSE68000 | ose68000) +- basic_machine=m68000-ericsson +- os=-ose +- ;; +- os68k) +- basic_machine=m68k-none +- os=-os68k ++ cpu=hppa1.1 ++ vendor=oki ++ basic_os=proelf + ;; + pa-hitachi) +- basic_machine=hppa1.1-hitachi +- os=-hiuxwe2 +- ;; +- paragon) +- basic_machine=i860-intel +- os=-osf +- ;; +- parisc) +- basic_machine=hppa-unknown +- os=-linux +- ;; +- parisc-*) +- basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` +- os=-linux ++ cpu=hppa1.1 ++ vendor=hitachi ++ basic_os=hiuxwe2 + ;; + pbd) +- basic_machine=sparc-tti ++ cpu=sparc ++ vendor=tti + ;; + pbb) +- basic_machine=m68k-tti +- ;; +- pc532 | pc532-*) +- basic_machine=ns32k-pc532 +- ;; +- pc98) +- basic_machine=i386-pc +- ;; +- pc98-*) +- basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- pentium | p5 | k5 | k6 | nexgen | viac3) +- basic_machine=i586-pc ++ cpu=m68k ++ vendor=tti + ;; +- pentiumpro | p6 | 6x86 | athlon | athlon_*) +- basic_machine=i686-pc +- ;; +- pentiumii | pentium2 | pentiumiii | pentium3) +- basic_machine=i686-pc +- ;; +- pentium4) +- basic_machine=i786-pc +- ;; +- pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) +- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- pentiumpro-* | p6-* | 6x86-* | athlon-*) +- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) +- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- pentium4-*) +- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ++ pc532) ++ cpu=ns32k ++ vendor=pc532 + ;; + pn) +- basic_machine=pn-gould +- ;; +- power) basic_machine=power-ibm +- ;; +- ppc | ppcbe) basic_machine=powerpc-unknown +- ;; +- ppc-* | ppcbe-*) +- basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- ppcle | powerpclittle | ppc-le | powerpc-little) +- basic_machine=powerpcle-unknown +- ;; +- ppcle-* | powerpclittle-*) +- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- ppc64) basic_machine=powerpc64-unknown +- ;; +- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- ppc64le | powerpc64little | ppc64-le | powerpc64-little) +- basic_machine=powerpc64le-unknown ++ cpu=pn ++ vendor=gould + ;; +- ppc64le-* | powerpc64little-*) +- basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ++ power) ++ cpu=power ++ vendor=ibm + ;; + ps2) +- basic_machine=i386-ibm +- ;; +- pw32) +- basic_machine=i586-unknown +- os=-pw32 +- ;; +- rdos | rdos64) +- basic_machine=x86_64-pc +- os=-rdos +- ;; +- rdos32) +- basic_machine=i386-pc +- os=-rdos +- ;; +- rom68k) +- basic_machine=m68k-rom68k +- os=-coff ++ cpu=i386 ++ vendor=ibm + ;; + rm[46]00) +- basic_machine=mips-siemens ++ cpu=mips ++ vendor=siemens + ;; + rtpc | rtpc-*) +- basic_machine=romp-ibm +- ;; +- s390 | s390-*) +- basic_machine=s390-ibm +- ;; +- s390x | s390x-*) +- basic_machine=s390x-ibm +- ;; +- sa29200) +- basic_machine=a29k-amd +- os=-udi ++ cpu=romp ++ vendor=ibm + ;; +- sb1) +- basic_machine=mipsisa64sb1-unknown ++ sde) ++ cpu=mipsisa32 ++ vendor=sde ++ basic_os=${basic_os:-elf} + ;; +- sb1el) +- basic_machine=mipsisa64sb1el-unknown ++ simso-wrs) ++ cpu=sparclite ++ vendor=wrs ++ basic_os=vxworks + ;; +- sde) +- basic_machine=mipsisa32-sde +- os=-elf ++ tower | tower-32) ++ cpu=m68k ++ vendor=ncr + ;; +- sei) +- basic_machine=mips-sei +- os=-seiux ++ vpp*|vx|vx-*) ++ cpu=f301 ++ vendor=fujitsu + ;; +- sequent) +- basic_machine=i386-sequent ++ w65) ++ cpu=w65 ++ vendor=wdc + ;; +- sh) +- basic_machine=sh-hitachi +- os=-hms ++ w89k-*) ++ cpu=hppa1.1 ++ vendor=winbond ++ basic_os=proelf + ;; +- sh5el) +- basic_machine=sh5le-unknown ++ none) ++ cpu=none ++ vendor=none + ;; +- sh64) +- basic_machine=sh64-unknown ++ leon|leon[3-9]) ++ cpu=sparc ++ vendor=$basic_machine + ;; +- sparclite-wrs | simso-wrs) +- basic_machine=sparclite-wrs +- os=-vxworks ++ leon-*|leon[3-9]-*) ++ cpu=sparc ++ vendor=`echo "$basic_machine" | sed 's/-.*//'` + ;; +- sps7) +- basic_machine=m68k-bull +- os=-sysv2 ++ ++ *-*) ++ # shellcheck disable=SC2162 ++ saved_IFS=$IFS ++ IFS="-" read cpu vendor <&2 +- exit 1 ++ # Recognize the canonical CPU types that are allowed with any ++ # company name. ++ case $cpu in ++ 1750a | 580 \ ++ | a29k \ ++ | aarch64 | aarch64_be | aarch64c | arm64ec \ ++ | abacus \ ++ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \ ++ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \ ++ | alphapca5[67] | alpha64pca5[67] \ ++ | am33_2.0 \ ++ | amdgcn \ ++ | arc | arceb | arc32 | arc64 \ ++ | arm | arm[lb]e | arme[lb] | armv* \ ++ | avr | avr32 \ ++ | asmjs \ ++ | ba \ ++ | be32 | be64 \ ++ | bfin | bpf | bs2000 \ ++ | c[123]* | c30 | [cjt]90 | c4x \ ++ | c8051 | clipper | craynv | csky | cydra \ ++ | d10v | d30v | dlx | dsp16xx \ ++ | e2k | elxsi | epiphany \ ++ | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \ ++ | javascript \ ++ | h8300 | h8500 \ ++ | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ ++ | hexagon \ ++ | i370 | i*86 | i860 | i960 | ia16 | ia64 \ ++ | ip2k | iq2000 \ ++ | k1om \ ++ | kvx \ ++ | le32 | le64 \ ++ | lm32 \ ++ | loongarch32 | loongarch64 \ ++ | m32c | m32r | m32rle \ ++ | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \ ++ | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \ ++ | m88110 | m88k | maxq | mb | mcore | mep | metag \ ++ | microblaze | microblazeel \ ++ | mips* \ ++ | mmix \ ++ | mn10200 | mn10300 \ ++ | moxie \ ++ | mt \ ++ | msp430 \ ++ | nanomips* \ ++ | nds32 | nds32le | nds32be \ ++ | nfp \ ++ | nios | nios2 | nios2eb | nios2el \ ++ | none | np1 | ns16k | ns32k | nvptx \ ++ | open8 \ ++ | or1k* \ ++ | or32 \ ++ | orion \ ++ | picochip \ ++ | pdp10 | pdp11 | pj | pjl | pn | power \ ++ | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ ++ | pru \ ++ | pyramid \ ++ | riscv | riscv32 | riscv32be | riscv64 | riscv64be \ ++ | rl78 | romp | rs6000 | rx \ ++ | s390 | s390x \ ++ | score \ ++ | sh | shl \ ++ | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \ ++ | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \ ++ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \ ++ | sparclite \ ++ | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \ ++ | spu \ ++ | tahoe \ ++ | thumbv7* \ ++ | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \ ++ | tron \ ++ | ubicom32 \ ++ | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \ ++ | vax \ ++ | vc4 \ ++ | visium \ ++ | w65 \ ++ | wasm32 | wasm64 \ ++ | we32k \ ++ | x86 | x86_64 | xc16x | xgate | xps100 \ ++ | xstormy16 | xtensa* \ ++ | ymp \ ++ | z8k | z80) ++ ;; ++ ++ *) ++ echo "Invalid configuration '$1': machine '$cpu-$vendor' not recognized" 1>&2 ++ exit 1 ++ ;; ++ esac + ;; + esac + + # Here we canonicalize certain aliases for manufacturers. +-case $basic_machine in +- *-digital*) +- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ++case $vendor in ++ digital*) ++ vendor=dec + ;; +- *-commodore*) +- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ++ commodore*) ++ vendor=cbm + ;; + *) + ;; +@@ -1321,200 +1287,226 @@ esac + + # Decode manufacturer-specific aliases for certain operating systems. + +-if [ x"$os" != x"" ] ++if test x"$basic_os" != x + then ++ ++# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just ++# set os. ++obj= ++case $basic_os in ++ gnu/linux*) ++ kernel=linux ++ os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` ++ ;; ++ os2-emx) ++ kernel=os2 ++ os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` ++ ;; ++ nto-qnx*) ++ kernel=nto ++ os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` ++ ;; ++ *-*) ++ # shellcheck disable=SC2162 ++ saved_IFS=$IFS ++ IFS="-" read kernel os <&2 +- exit 1 ++ # No normalization, but not necessarily accepted, that comes below. + ;; + esac ++ + else + + # Here we handle the default operating systems that come with various machines. +@@ -1527,261 +1519,452 @@ else + # will signal an error saying that MANUFACTURER isn't an operating + # system, and we'll never get to this point. + +-case $basic_machine in ++kernel= ++obj= ++case $cpu-$vendor in + score-*) +- os=-elf ++ os= ++ obj=elf + ;; + spu-*) +- os=-elf ++ os= ++ obj=elf + ;; + *-acorn) +- os=-riscix1.2 ++ os=riscix1.2 + ;; + arm*-rebel) +- os=-linux ++ kernel=linux ++ os=gnu + ;; + arm*-semi) +- os=-aout ++ os= ++ obj=aout + ;; + c4x-* | tic4x-*) +- os=-coff ++ os= ++ obj=coff ++ ;; ++ c8051-*) ++ os= ++ obj=elf ++ ;; ++ clipper-intergraph) ++ os=clix + ;; + hexagon-*) +- os=-elf ++ os= ++ obj=elf + ;; + tic54x-*) +- os=-coff ++ os= ++ obj=coff + ;; + tic55x-*) +- os=-coff ++ os= ++ obj=coff + ;; + tic6x-*) +- os=-coff ++ os= ++ obj=coff + ;; + # This must come before the *-dec entry. + pdp10-*) +- os=-tops20 ++ os=tops20 + ;; + pdp11-*) +- os=-none ++ os=none + ;; + *-dec | vax-*) +- os=-ultrix4.2 ++ os=ultrix4.2 + ;; + m68*-apollo) +- os=-domain ++ os=domain + ;; + i386-sun) +- os=-sunos4.0.2 ++ os=sunos4.0.2 + ;; + m68000-sun) +- os=-sunos3 ++ os=sunos3 + ;; + m68*-cisco) +- os=-aout ++ os= ++ obj=aout + ;; + mep-*) +- os=-elf ++ os= ++ obj=elf + ;; + mips*-cisco) +- os=-elf +- ;; +- mips*-*) +- os=-elf ++ os= ++ obj=elf + ;; +- or1k-*) +- os=-elf ++ mips*-*|nanomips*-*) ++ os= ++ obj=elf + ;; + or32-*) +- os=-coff ++ os= ++ obj=coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. +- os=-sysv3 ++ os=sysv3 + ;; + sparc-* | *-sun) +- os=-sunos4.1.1 ++ os=sunos4.1.1 + ;; +- *-be) +- os=-beos ++ pru-*) ++ os= ++ obj=elf + ;; +- *-haiku) +- os=-haiku ++ *-be) ++ os=beos + ;; + *-ibm) +- os=-aix ++ os=aix + ;; + *-knuth) +- os=-mmixware ++ os=mmixware + ;; + *-wec) +- os=-proelf ++ os=proelf + ;; + *-winbond) +- os=-proelf ++ os=proelf + ;; + *-oki) +- os=-proelf ++ os=proelf + ;; + *-hp) +- os=-hpux ++ os=hpux + ;; + *-hitachi) +- os=-hiux ++ os=hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) +- os=-sysv ++ os=sysv + ;; + *-cbm) +- os=-amigaos ++ os=amigaos + ;; + *-dg) +- os=-dgux ++ os=dgux + ;; + *-dolphin) +- os=-sysv3 ++ os=sysv3 + ;; + m68k-ccur) +- os=-rtu ++ os=rtu + ;; + m88k-omron*) +- os=-luna ++ os=luna + ;; +- *-next ) +- os=-nextstep ++ *-next) ++ os=nextstep + ;; + *-sequent) +- os=-ptx ++ os=ptx + ;; + *-crds) +- os=-unos ++ os=unos + ;; + *-ns) +- os=-genix ++ os=genix + ;; + i370-*) +- os=-mvs +- ;; +- *-next) +- os=-nextstep3 ++ os=mvs + ;; + *-gould) +- os=-sysv ++ os=sysv + ;; + *-highlevel) +- os=-bsd ++ os=bsd + ;; + *-encore) +- os=-bsd ++ os=bsd + ;; + *-sgi) +- os=-irix ++ os=irix + ;; + *-siemens) +- os=-sysv4 ++ os=sysv4 + ;; + *-masscomp) +- os=-rtu ++ os=rtu + ;; + f30[01]-fujitsu | f700-fujitsu) +- os=-uxpv ++ os=uxpv + ;; + *-rom68k) +- os=-coff ++ os= ++ obj=coff + ;; + *-*bug) +- os=-coff ++ os= ++ obj=coff + ;; + *-apple) +- os=-macos ++ os=macos + ;; + *-atari*) +- os=-mint ++ os=mint ++ ;; ++ *-wrs) ++ os=vxworks + ;; + *) +- os=-none ++ os=none + ;; + esac ++ + fi + ++# Now, validate our (potentially fixed-up) individual pieces (OS, OBJ). ++ ++case $os in ++ # Sometimes we do "kernel-libc", so those need to count as OSes. ++ llvm* | musl* | newlib* | relibc* | uclibc*) ++ ;; ++ # Likewise for "kernel-abi" ++ eabi* | gnueabi*) ++ ;; ++ # VxWorks passes extra cpu info in the 4th filed. ++ simlinux | simwindows | spe) ++ ;; ++ # See `case $cpu-$os` validation below ++ ghcjs) ++ ;; ++ # Now accept the basic system types. ++ # The portable systems comes first. ++ # Each alternative MUST end in a * to match a version number. ++ gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ ++ | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \ ++ | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ ++ | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \ ++ | hiux* | abug | nacl* | netware* | windows* \ ++ | os9* | macos* | osx* | ios* | tvos* | watchos* \ ++ | mpw* | magic* | mmixware* | mon960* | lnews* \ ++ | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ ++ | aos* | aros* | cloudabi* | sortix* | twizzler* \ ++ | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ ++ | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ ++ | mirbsd* | netbsd* | dicos* | openedition* | ose* \ ++ | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \ ++ | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \ ++ | bosx* | nextstep* | cxux* | oabi* \ ++ | ptx* | ecoff* | winnt* | domain* | vsta* \ ++ | udi* | lites* | ieee* | go32* | aux* | hcos* \ ++ | chorusrdb* | cegcc* | glidix* | serenity* \ ++ | cygwin* | msys* | moss* | proelf* | rtems* \ ++ | midipix* | mingw32* | mingw64* | mint* \ ++ | uxpv* | beos* | mpeix* | udk* | moxiebox* \ ++ | interix* | uwin* | mks* | rhapsody* | darwin* \ ++ | openstep* | oskit* | conix* | pw32* | nonstopux* \ ++ | storm-chaos* | tops10* | tenex* | tops20* | its* \ ++ | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \ ++ | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \ ++ | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ ++ | skyos* | haiku* | rdos* | toppers* | drops* | es* \ ++ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ ++ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ ++ | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \ ++ | fiwix* | mlibc* | cos* | mbr* | ironclad* ) ++ ;; ++ # This one is extra strict with allowed versions ++ sco3.2v2 | sco3.2v[4-9]* | sco5v6*) ++ # Don't forget version if it is 3.2v4 or newer. ++ ;; ++ # This refers to builds using the UEFI calling convention ++ # (which depends on the architecture) and PE file format. ++ # Note that this is both a different calling convention and ++ # different file format than that of GNU-EFI ++ # (x86_64-w64-mingw32). ++ uefi) ++ ;; ++ none) ++ ;; ++ kernel* | msvc* ) ++ # Restricted further below ++ ;; ++ '') ++ if test x"$obj" = x ++ then ++ echo "Invalid configuration '$1': Blank OS only allowed with explicit machine code file format" 1>&2 ++ fi ++ ;; ++ *) ++ echo "Invalid configuration '$1': OS '$os' not recognized" 1>&2 ++ exit 1 ++ ;; ++esac ++ ++case $obj in ++ aout* | coff* | elf* | pe*) ++ ;; ++ '') ++ # empty is fine ++ ;; ++ *) ++ echo "Invalid configuration '$1': Machine code format '$obj' not recognized" 1>&2 ++ exit 1 ++ ;; ++esac ++ ++# Here we handle the constraint that a (synthetic) cpu and os are ++# valid only in combination with each other and nowhere else. ++case $cpu-$os in ++ # The "javascript-unknown-ghcjs" triple is used by GHC; we ++ # accept it here in order to tolerate that, but reject any ++ # variations. ++ javascript-ghcjs) ++ ;; ++ javascript-* | *-ghcjs) ++ echo "Invalid configuration '$1': cpu '$cpu' is not valid with os '$os$obj'" 1>&2 ++ exit 1 ++ ;; ++esac ++ ++# As a final step for OS-related things, validate the OS-kernel combination ++# (given a valid OS), if there is a kernel. ++case $kernel-$os-$obj in ++ linux-gnu*- | linux-android*- | linux-dietlibc*- | linux-llvm*- \ ++ | linux-mlibc*- | linux-musl*- | linux-newlib*- \ ++ | linux-relibc*- | linux-uclibc*- ) ++ ;; ++ uclinux-uclibc*- ) ++ ;; ++ managarm-mlibc*- | managarm-kernel*- ) ++ ;; ++ windows*-msvc*-) ++ ;; ++ -dietlibc*- | -llvm*- | -mlibc*- | -musl*- | -newlib*- | -relibc*- \ ++ | -uclibc*- ) ++ # These are just libc implementations, not actual OSes, and thus ++ # require a kernel. ++ echo "Invalid configuration '$1': libc '$os' needs explicit kernel." 1>&2 ++ exit 1 ++ ;; ++ -kernel*- ) ++ echo "Invalid configuration '$1': '$os' needs explicit kernel." 1>&2 ++ exit 1 ++ ;; ++ *-kernel*- ) ++ echo "Invalid configuration '$1': '$kernel' does not support '$os'." 1>&2 ++ exit 1 ++ ;; ++ *-msvc*- ) ++ echo "Invalid configuration '$1': '$os' needs 'windows'." 1>&2 ++ exit 1 ++ ;; ++ kfreebsd*-gnu*- | kopensolaris*-gnu*-) ++ ;; ++ vxworks-simlinux- | vxworks-simwindows- | vxworks-spe-) ++ ;; ++ nto-qnx*-) ++ ;; ++ os2-emx-) ++ ;; ++ *-eabi*- | *-gnueabi*-) ++ ;; ++ none--*) ++ # None (no kernel, i.e. freestanding / bare metal), ++ # can be paired with an machine code file format ++ ;; ++ -*-) ++ # Blank kernel with real OS is always fine. ++ ;; ++ --*) ++ # Blank kernel and OS with real machine code file format is always fine. ++ ;; ++ *-*-*) ++ echo "Invalid configuration '$1': Kernel '$kernel' not known to work with OS '$os'." 1>&2 ++ exit 1 ++ ;; ++esac ++ + # Here we handle the case where we know the os, and the CPU type, but not the + # manufacturer. We pick the logical manufacturer. +-vendor=unknown +-case $basic_machine in +- *-unknown) +- case $os in +- -riscix*) ++case $vendor in ++ unknown) ++ case $cpu-$os in ++ *-riscix*) + vendor=acorn + ;; +- -sunos*) ++ *-sunos*) + vendor=sun + ;; +- -cnk*|-aix*) ++ *-cnk* | *-aix*) + vendor=ibm + ;; +- -beos*) ++ *-beos*) + vendor=be + ;; +- -hpux*) ++ *-hpux*) + vendor=hp + ;; +- -mpeix*) ++ *-mpeix*) + vendor=hp + ;; +- -hiux*) ++ *-hiux*) + vendor=hitachi + ;; +- -unos*) ++ *-unos*) + vendor=crds + ;; +- -dgux*) ++ *-dgux*) + vendor=dg + ;; +- -luna*) ++ *-luna*) + vendor=omron + ;; +- -genix*) ++ *-genix*) + vendor=ns + ;; +- -mvs* | -opened*) ++ *-clix*) ++ vendor=intergraph ++ ;; ++ *-mvs* | *-opened*) ++ vendor=ibm ++ ;; ++ *-os400*) + vendor=ibm + ;; +- -os400*) ++ s390-* | s390x-*) + vendor=ibm + ;; +- -ptx*) ++ *-ptx*) + vendor=sequent + ;; +- -tpf*) ++ *-tpf*) + vendor=ibm + ;; +- -vxsim* | -vxworks* | -windiss*) ++ *-vxsim* | *-vxworks* | *-windiss*) + vendor=wrs + ;; +- -aux*) ++ *-aux*) + vendor=apple + ;; +- -hms*) ++ *-hms*) + vendor=hitachi + ;; +- -mpw* | -macos*) ++ *-mpw* | *-macos*) + vendor=apple + ;; +- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) ++ *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) + vendor=atari + ;; +- -vos*) ++ *-vos*) + vendor=stratus + ;; + esac +- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; + esac + +-echo $basic_machine$os ++echo "$cpu-$vendor${kernel:+-$kernel}${os:+-$os}${obj:+-$obj}" + exit + + # Local variables: +-# eval: (add-hook 'write-file-hooks 'time-stamp) ++# eval: (add-hook 'before-save-hook 'time-stamp) + # time-stamp-start: "timestamp='" + # time-stamp-format: "%:y-%02m-%02d" + # time-stamp-end: "'" diff --git a/recipes/blast2galaxy/meta.yaml b/recipes/blast2galaxy/meta.yaml new file mode 100644 index 0000000000000..ffc343984a7bb --- /dev/null +++ b/recipes/blast2galaxy/meta.yaml @@ -0,0 +1,52 @@ +{% set name = "blast2galaxy" %} +{% set version = "1.0.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.org/packages/source/{{ name[0] }}/{{ name }}/blast2galaxy-{{ version }}.tar.gz + sha256: 6831f00319c18dc338df18fccd279c6a6dc8d725b4afc414f5bb34d16e8317f3 + +build: + entry_points: + - blast2galaxy = blast2galaxy.cli:cli + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('blast2galaxy', max_pin="x.x") }} + +requirements: + host: + - python >=3.10,<4.0 + - poetry-core >=1.0.0 + - pip + run: + - python >=3.10,<4.0 + - typer >=0.9.0,<0.10.0 + - bioblend >=1.2.0,<2.0.0 + - rich >=13.6.0,<14.0.0 + - tomli >=2.0.1,<3.0.0 + +test: + imports: + - blast2galaxy + commands: + - pip check + - blast2galaxy --help + requires: + - pip + +about: + summary: A Python package with a CLI and API to perform BLAST queries against Galaxy servers + license: MIT + license_file: LICENSE + home: "https://github.com/IPK-BIT/blast2galaxy" + doc_url: "https://blast2galaxy.readthedocs.io/" + dev_url: "https://github.com/IPK-BIT/blast2galaxy" + +extra: + recipe-maintainers: + - patrick-koenig diff --git a/recipes/blaze2/meta.yaml b/recipes/blaze2/meta.yaml new file mode 100644 index 0000000000000..098c5e8149ec3 --- /dev/null +++ b/recipes/blaze2/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "BLAZE2" %} +{% set version = "2.5.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/shimlab/BLAZE/archive/refs/tags/v{{ version }}.tar.gz + sha256: f47175997742562add1deb9524e468b6709e40c92f74165a1a0fe1897b2919fc + +build: + number: 0 + noarch: python + entry_points: + - blaze = blaze:_pipeline + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + run_exports: + - {{ pin_subpackage('blaze2', max_pin="x") }} + +requirements: + host: + - python >=3 + - pip + run: + - python >=3 + - fast-edit-distance ==1.2.1 + - matplotlib-base + - tqdm + - numpy + - pandas + +test: + imports: + - blaze + commands: + - blaze --help + +about: + home: "https://github.com/shimlab/BLAZE" + license: "GPL-3.0-or-later" + license_family: GPL3 + license_file: LICENSE + summary: "Barcode identification from (Nanopore) Long reads for AnalyZing single-cell gene Expression." + dev_url: "https://github.com/shimlab/BLAZE" + doc_url: "https://github.com/shimlab/BLAZE/blob/v{{ version }}/README.md" + +extra: + identifiers: + - doi:10.1186/s13059-023-02907-y diff --git a/recipes/blockclust/meta.yaml b/recipes/blockclust/meta.yaml index 14c611f30d91b..37a9ec34be55b 100644 --- a/recipes/blockclust/meta.yaml +++ b/recipes/blockclust/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 80ee2b32085b93966254083574b2bf3988771ffe28d73775be96a16cfda5579b build: - number: 0 + number: 1 skip: True # [osx or py2k] run_exports: - {{ pin_subpackage('blockclust', max_pin="x") }} @@ -47,3 +47,4 @@ about: extra: identifiers: - doi:10.1093/bioinformatics/btu270 + diff --git a/recipes/blosum/meta.yaml b/recipes/blosum/meta.yaml index 88e1045f87f16..c20c944256cbd 100644 --- a/recipes/blosum/meta.yaml +++ b/recipes/blosum/meta.yaml @@ -1,5 +1,5 @@ {% set name = "blosum" %} -{% set version = "2.0.2" %} +{% set version = "2.0.3" %} package: name: {{ name }} @@ -7,12 +7,14 @@ package: source: url: https://github.com/not-a-feature/blosum/archive/refs/tags/v{{ version }}.tar.gz - sha256: a0e4a44471d6f70b19ec6b936cdf57cf9849bc5f21ef7d3a698b9e9c2e20a00f + sha256: 7e061dd6934333068b87d0d900eb437574f3c4acda26de7179c2422dcff74033 build: noarch: python number: 0 - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('blosum', max_pin="x") }} requirements: host: @@ -24,15 +26,11 @@ requirements: test: imports: - blosum - commands: - - pip check - requires: - - pip about: home: https://github.com/not-a-feature/blosum license: GPL-3.0-or-later - license_family: GPL + license_family: GPL3 license_file: LICENSE summary: 'A small module for easy access to BLOSUM matrices without dependencies.' description: | @@ -43,4 +41,3 @@ about: extra: recipe-maintainers: - not-a-feature - diff --git a/recipes/bmfilter/0001-Cast-getline-stream-to-bool.patch b/recipes/bmfilter/0001-Cast-getline-stream-to-bool.patch new file mode 100644 index 0000000000000..ee5a26b793321 --- /dev/null +++ b/recipes/bmfilter/0001-Cast-getline-stream-to-bool.patch @@ -0,0 +1,13 @@ +--- general/cfareader.hpp ++++ general/cfareader.hpp +@@ -40 +40 @@ +- m_good = std::getline( *m_fin, m_buffer ); ++ m_good = static_cast(std::getline( *m_fin, m_buffer )); +@@ -46 +46 @@ +- m_good = std::getline( *m_fin, m_buffer ); ++ m_good = static_cast(std::getline( *m_fin, m_buffer )); +--- general/of-debug.hpp ++++ general/of-debug.hpp +@@ -10 +10 @@ +-#define VT100(c) "\x1b["c ++#define VT100(c) "\x1b[" c diff --git a/recipes/bmfilter/bmtool-cplusplus-template.patch b/recipes/bmfilter/bmtool-cplusplus-template.patch new file mode 100644 index 0000000000000..b44d6af00181c --- /dev/null +++ b/recipes/bmfilter/bmtool-cplusplus-template.patch @@ -0,0 +1,11 @@ +--- a/general/cgetopt.hpp 2024-06-27 12:43:39.692000000 +0000 ++++ b/general/cgetopt.hpp 2024-06-27 12:42:10.116000000 +0000 +@@ -267,7 +267,7 @@ + int m_cnt; + }; + +-template<> ++//template<> + template + class COptArg > : public COption + { diff --git a/recipes/bmfilter/bmtool-fix-ctime.patch b/recipes/bmfilter/bmtool-fix-ctime.patch new file mode 100644 index 0000000000000..6abf282624c27 --- /dev/null +++ b/recipes/bmfilter/bmtool-fix-ctime.patch @@ -0,0 +1,10 @@ +--- general/cprogressindicator.hpp.orig 2024-06-28 08:59:12.756000000 +0000 ++++ general/cprogressindicator.hpp 2024-06-28 09:27:08.976000000 +0000 +@@ -6,6 +6,7 @@ + #ifndef _WIN32 + #include + #include ++#include + #else + #include + #endif diff --git a/recipes/bmfilter/build.sh b/recipes/bmfilter/build.sh index 859d0330617a5..662e5642cbc6c 100644 --- a/recipes/bmfilter/build.sh +++ b/recipes/bmfilter/build.sh @@ -3,8 +3,8 @@ set -x if [[ ${target_platform} =~ linux.* ]]; then - make -C general CC="${CC}" CXX="${CXX}" DEBUG="${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} -std=c++03" - make -C bmtagger CC="${CC}" CXX="${CXX}" DEBUG="${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} -std=c++03" + make -j ${CPU_COUNT} -C general CC="${CC}" CXX="${CXX}" DEBUG="${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} -std=c++03" + make -j ${CPU_COUNT} -C bmtagger CC="${CC}" CXX="${CXX}" DEBUG="${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} -std=c++03" cd bmtagger fi diff --git a/recipes/bmfilter/meta.yaml b/recipes/bmfilter/meta.yaml index 87f77d998c84f..a9c4f1c22e76d 100644 --- a/recipes/bmfilter/meta.yaml +++ b/recipes/bmfilter/meta.yaml @@ -5,11 +5,17 @@ package: source: - url: ftp://ftp.ncbi.nlm.nih.gov/pub/agarwala/bmtagger/bmtools.tar.gz # [linux] md5: 719474a0e3b54449cbe06f6e442994dd # [linux] + patches: # [linux] + - 0001-Cast-getline-stream-to-bool.patch # [linux] + - bmtool-cplusplus-template.patch # [linux] + - bmtool-fix-ctime.patch # [linux] - url: ftp://ftp.ncbi.nlm.nih.gov/pub/agarwala/bmtagger/mac-os/bmfilter # [osx] md5: ef79071be499ed23e9f3a19c9c323775 # [osx] build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage('bmfilter', max_pin="x") }} requirements: build: @@ -27,6 +33,8 @@ about: summary: "bmfilter is part of BMTagger aka Best Match Tagger, for removing human reads from metagenomics datasets" extra: + additional-platforms: + - linux-aarch64 skip-lints: - should_not_be_noarch_source - should_be_noarch_generic diff --git a/recipes/bmtool/bmtool-cplusplus-template.patch b/recipes/bmtool/bmtool-cplusplus-template.patch new file mode 100644 index 0000000000000..b44d6af00181c --- /dev/null +++ b/recipes/bmtool/bmtool-cplusplus-template.patch @@ -0,0 +1,11 @@ +--- a/general/cgetopt.hpp 2024-06-27 12:43:39.692000000 +0000 ++++ b/general/cgetopt.hpp 2024-06-27 12:42:10.116000000 +0000 +@@ -267,7 +267,7 @@ + int m_cnt; + }; + +-template<> ++//template<> + template + class COptArg > : public COption + { diff --git a/recipes/bmtool/bmtool-fix-ctime.patch b/recipes/bmtool/bmtool-fix-ctime.patch new file mode 100644 index 0000000000000..6abf282624c27 --- /dev/null +++ b/recipes/bmtool/bmtool-fix-ctime.patch @@ -0,0 +1,10 @@ +--- general/cprogressindicator.hpp.orig 2024-06-28 08:59:12.756000000 +0000 ++++ general/cprogressindicator.hpp 2024-06-28 09:27:08.976000000 +0000 +@@ -6,6 +6,7 @@ + #ifndef _WIN32 + #include + #include ++#include + #else + #include + #endif diff --git a/recipes/bmtool/build.sh b/recipes/bmtool/build.sh index 7c9f3d1da12b2..48dc6715f79ca 100644 --- a/recipes/bmtool/build.sh +++ b/recipes/bmtool/build.sh @@ -1,10 +1,12 @@ #!/bin/bash +set -xe + if [[ ${target_platform} =~ linux.* ]] ; then - make -C general \ + make -j ${CPU_COUNT} -C general \ CC="${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" \ CXX="${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}" - make -C bmtagger \ + make -j ${CPU_COUNT} -C bmtagger \ CC="${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" \ CXX="${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}" cd bmtagger diff --git a/recipes/bmtool/meta.yaml b/recipes/bmtool/meta.yaml index fd71e9355873f..f64a02e196bf0 100644 --- a/recipes/bmtool/meta.yaml +++ b/recipes/bmtool/meta.yaml @@ -7,11 +7,15 @@ source: md5: 719474a0e3b54449cbe06f6e442994dd # [linux] patches: # [linux] - 0001-Cast-getline-stream-to-bool.patch # [linux] + - bmtool-cplusplus-template.patch # [linux] + - bmtool-fix-ctime.patch # [linux] - url: ftp://ftp.ncbi.nlm.nih.gov/pub/agarwala/bmtagger/mac-os/bmtool # [osx] md5: 43f112115af7ef2a28c6a64b31374c12 # [osx] build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage('bmtool', max_pin="x") }} requirements: build: @@ -29,3 +33,7 @@ about: home: ftp://ftp.ncbi.nlm.nih.gov/pub/agarwala/bmtagger/ license: Public Domain summary: "bmtool is part of BMTagger aka Best Match Tagger, for removing human reads from metagenomics datasets" + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/bohra/meta.yaml b/recipes/bohra/meta.yaml index 1ba1ae27f4825..5a8036ec4cf29 100644 --- a/recipes/bohra/meta.yaml +++ b/recipes/bohra/meta.yaml @@ -1,6 +1,6 @@ {% set name = "bohra" %} -{% set version = "2.3.6" %} -{% set sha256 = "3d51bfe235ae95dbe2c020a7f538375b49694b35480263e7c9b07972fdce221c" %} +{% set version = "2.3.7" %} +{% set sha256 = "58747c4f430dc024b87a2c3f2a5767180bee7bd3606c1e86558f52ae06d4e71f" %} package: name: "{{ name }}" diff --git a/recipes/boms/meta.yaml b/recipes/boms/meta.yaml index 7097126eefac7..bb3cc10f65f7b 100644 --- a/recipes/boms/meta.yaml +++ b/recipes/boms/meta.yaml @@ -1,5 +1,5 @@ {% set name = "boms" %} -{% set version = "1.0.5" %} +{% set version = "1.1.0" %} package: name: {{ name|lower }} @@ -7,14 +7,14 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 75187e1e78ac9eacda923dee3943936625676f2382859636448f14a64e57ea54 + sha256: c64a867233148dab9d32257e86b127793022f893321a43210ceaafa02870cd7c build: run_exports: - {{ pin_subpackage('boms', max_pin="x.x") }} skip: true # [osx or py<39] script: {{ PYTHON }} -m pip install . -vv --no-build-isolation - number: 0 + number: 1 requirements: build: diff --git a/recipes/bowtie/build.sh b/recipes/bowtie/build.sh index 65a74b2e7c0c1..469d19a7e25bf 100644 --- a/recipes/bowtie/build.sh +++ b/recipes/bowtie/build.sh @@ -1,5 +1,16 @@ #!/bin/bash -make prefix="${PREFIX}" install +set -xe + +# If the environment is arm64 architecture, set POPCNT_CAPABILITY to 0 and run make. +# This is because the POPCNT instruction is not supported on arm64 architecture. +# By setting POPCNT_CAPABILITY=0, this instruction is disabled, ensuring build compatibility. +# See https://github.com/BenLangmead/bowtie/blob/master/processor_support.h +if [ "$(uname -m)" == "arm64" ]; then + make POPCNT_CAPABILITY=0 -j ${CPU_COUNT} +fi + + +make prefix="${PREFIX}" -j ${CPU_COUNT} install cp -r scripts "${PREFIX}/bin/" diff --git a/recipes/bowtie/meta.yaml b/recipes/bowtie/meta.yaml index 0ac76f61b7f94..fb9765f3543a7 100644 --- a/recipes/bowtie/meta.yaml +++ b/recipes/bowtie/meta.yaml @@ -13,7 +13,9 @@ source: build: skip: True # [py<30] - number: 6 + number: 9 + run_exports: + - {{ pin_subpackage("bowtie", max_pin="x.x") }} requirements: build: @@ -50,6 +52,9 @@ about: summary: An ultrafast memory-efficient short read aligner extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - biotools:bowtie - doi:10.1186/gb-2009-10-3-r25 diff --git a/recipes/bowtie2/build.sh b/recipes/bowtie2/build.sh index 90c802dd1d54d..62175c7a09ec7 100644 --- a/recipes/bowtie2/build.sh +++ b/recipes/bowtie2/build.sh @@ -1,7 +1,14 @@ -#!/bin/bash +#!/bin/bash -euo + +# Fetch third party dependencies +# (Git submodules - https://github.com/BenLangmead/bowtie2/blob/a43fa6f43f54989468a294967898f85b9fe4cefa/.gitmodules) +git clone --branch master https://github.com/simd-everywhere/simde-no-tests.git third_party/simde +git clone https://github.com/ch4rr0/libsais third_party/libsais LDFLAGS="" -make CXX=$CXX CPP=$CXX CC=$CC LDLIBS="-L$PREFIX/lib -lz -lzstd -ltbb -ltbbmalloc -lpthread" WITH_ZSTD=1 +make CXX="${CXX}" CXXFLAGS="${CXXFLAGS} -O3" CPP="${CXX} -I${PREFIX}/include" CC="${CC} -L${PREFIX}/lib" \ + CFLAGS="${CFLAGS} -O3" LDLIBS="-L$PREFIX/lib -lz -lzstd -lpthread" \ + WITH_ZSTD=1 USE_SRA=1 USE_SAIS_OPENMP=1 binaries="\ bowtie2 \ @@ -18,9 +25,11 @@ directories="scripts" pythonfiles="bowtie2-build bowtie2-inspect" for i in $binaries; do - cp $i $PREFIX/bin && chmod +x $PREFIX/bin/$i + cp -rf $i ${PREFIX}/bin && chmod 755 $PREFIX/bin/${i} done for d in $directories; do - cp -r $d $PREFIX/bin + cp -rf $d ${PREFIX}/bin done + +make clean diff --git a/recipes/bowtie2/meta.yaml b/recipes/bowtie2/meta.yaml index 0d332684fac38..64a7124009d3a 100644 --- a/recipes/bowtie2/meta.yaml +++ b/recipes/bowtie2/meta.yaml @@ -1,35 +1,35 @@ -{% set version = "2.5.2" %} +{% set name = "bowtie2" %} +{% set version = "2.5.4" %} package: - name: bowtie2 + name: {{ name }} version: {{ version }} source: url: https://github.com/BenLangmead/bowtie2/archive/v{{ version }}.tar.gz - sha256: 2f86dbfbf3dcb8521d559f830594fe28ac6e4c40d81313a8c2bfb17c82a501e0 + sha256: 841a6a60111b690c11d1e123cb5c11560b4cd1502b5cee7e394fd50f83e74e13 build: - number: 0 - skip: True # [py2k] + number: 4 run_exports: - {{ pin_subpackage('bowtie2', max_pin="x") }} requirements: build: - {{ compiler('cxx') }} + - cmake - make + - git host: - - python + - llvm-openmp # [osx] + - libgomp # [linux] - zlib - zstd - - tbb-devel - - tbb run: - python - perl - - zlib - - zstd - - tbb + - llvm-openmp # [osx] + - libgomp # [linux] test: commands: @@ -47,13 +47,18 @@ test: - bowtie2-inspect-s --help about: - home: 'http://bowtie-bio.sourceforge.net/bowtie2/index.shtml' - license: GPL-3.0-only + home: "https://bowtie-bio.sourceforge.net/bowtie2/index.shtml" + license: "GPL-3.0-only" license_family: GPL3 license_file: LICENSE - summary: Fast and sensitive gapped read alignment + summary: "A fast and sensitive gapped read aligner." + dev_url: "https://github.com/BenLangmead/bowtie2" + doc_url: "https://github.com/BenLangmead/bowtie2/blob/master/README.md" extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - biotools:bowtie2 - doi:10.1038/nmeth.1923 diff --git a/recipes/bpipe/meta.yaml b/recipes/bpipe/meta.yaml index 423cc50f485ca..68230c4b19867 100644 --- a/recipes/bpipe/meta.yaml +++ b/recipes/bpipe/meta.yaml @@ -1,5 +1,5 @@ {% set name = "bpipe" %} -{% set version = "0.9.11" %} +{% set version = "0.9.13" %} package: name: {{ name }} @@ -7,11 +7,13 @@ package: source: url: https://github.com/ssadedin/bpipe/releases/download/{{ version }}/bpipe-{{ version }}.tar.gz - sha256: 'f640ab3c32ba8393b47a0019f5a9d3d168da1d741f5f2690797080037a6ce374' + sha256: '206939fe11d47d3d5d93667317d6acfdf23fb0bdc3ffb0e7a891c3010d390339' build: - number: 1 + number: 0 noarch: generic + run_exports: + - {{ pin_subpackage('bpipe', max_pin="x") }} requirements: run: @@ -21,7 +23,7 @@ requirements: test: commands: - - bpipe -v --help + - bpipe --help | grep "Bpipe Version" - rm -rf .bpipe about: diff --git a/recipes/bracken/build.sh b/recipes/bracken/build.sh index 1bc089cb3021d..7ea7675b8ec7f 100644 --- a/recipes/bracken/build.sh +++ b/recipes/bracken/build.sh @@ -3,14 +3,15 @@ mkdir -p "${PREFIX}"/bin/src # inject compilers -sed -i.bak "s#g++#${CXX} -I${BUILD_PREFIX}/include#" src/Makefile +sed -i.bak "s#g++#${CXX} -I${PREFIX}/include#" src/Makefile +rm src/*.bak sh install_bracken.sh -cp bracken "${PREFIX}"/bin -cp bracken-build "${PREFIX}"/bin -cp src/est_abundance.py "${PREFIX}"/bin/src && chmod +x "${PREFIX}"/bin/src/est_abundance.py -ln -s "${PREFIX}"/bin/src/est_abundance.py "${PREFIX}"/bin/est_abundance.py -cp src/generate_kmer_distribution.py "${PREFIX}"/bin/src && chmod +x "${PREFIX}"/bin/src/generate_kmer_distribution.py -ln -s "${PREFIX}"/bin/src/generate_kmer_distribution.py "${PREFIX}"/bin/generate_kmer_distribution.py -cp src/kmer2read_distr "${PREFIX}"/bin -cp analysis_scripts/combine_bracken_outputs.py "${PREFIX}"/bin && chmod +x "${PREFIX}"/bin/combine_bracken_outputs.py +cp -rf bracken "${PREFIX}"/bin +cp -rf bracken-build "${PREFIX}"/bin +cp -rf src/est_abundance.py "${PREFIX}"/bin/src && chmod +x "${PREFIX}"/bin/src/est_abundance.py +ln -sf "${PREFIX}"/bin/src/est_abundance.py "${PREFIX}"/bin/est_abundance.py +cp -rf src/generate_kmer_distribution.py "${PREFIX}"/bin/src && chmod +x "${PREFIX}"/bin/src/generate_kmer_distribution.py +ln -sf "${PREFIX}"/bin/src/generate_kmer_distribution.py "${PREFIX}"/bin/generate_kmer_distribution.py +cp -rf src/kmer2read_distr "${PREFIX}"/bin +cp -rf analysis_scripts/combine_bracken_outputs.py "${PREFIX}"/bin && chmod +x "${PREFIX}"/bin/combine_bracken_outputs.py diff --git a/recipes/bracken/meta.yaml b/recipes/bracken/meta.yaml index 0e4c62f47a304..b684896187a89 100644 --- a/recipes/bracken/meta.yaml +++ b/recipes/bracken/meta.yaml @@ -1,31 +1,31 @@ -{% set version = "2.9" %} -{% set sha256 = "b8fd43fc396a2184d9351fb4a459f95ae9bb5865b195a18e22436f643044c788" %} +{% set name = "bracken" %} +{% set version = "3.0" %} +{% set sha256 = "1d437fd8df1a8c5c03d908a7026a41cd486f5ce771e288be7aadd93542da7e44" %} package: - name: bracken + name: {{ name }} version: {{ version }} source: url: https://github.com/jenniferlu717/Bracken/archive/v{{ version }}.tar.gz sha256: {{ sha256 }} patches: - - osx.patch # [osx] + #- osx.patch # [osx] - py3.patch build: - skip: True # [osx] number: 0 + skip: True # [osx] run_exports: - {{ pin_subpackage('bracken', max_pin="x") }} requirements: build: - {{ compiler('cxx') }} - - llvm-openmp # [osx] - - libgomp # [linux] - make host: - - python + - llvm-openmp # [osx] + - libgomp # [linux] run: - python - kraken2 @@ -41,11 +41,15 @@ test: about: home: https://github.com/jenniferlu717/Bracken - license: GPL-3.0 + license: GPL-3.0-or-later + license_family: GPL3 license_file: LICENSE summary: 'Bracken (Bayesian Reestimation of Abundance with KrakEN) is a highly accurate statistical method that computes the abundance of species in DNA sequences from a metagenomics sample.' + dev_url: https://github.com/jenniferlu717/Bracken + doc_url: https://github.com/jenniferlu717/Bracken/blob/v{{ version }}/README.md extra: identifiers: - biotools:Bracken + - usegalaxy-eu:est_abundance - doi:10.7717/peerj-cs.104 diff --git a/recipes/braker3/build.sh b/recipes/braker3/build.sh index d84e45e0d2e7f..36cee98375ec7 100644 --- a/recipes/braker3/build.sh +++ b/recipes/braker3/build.sh @@ -1,4 +1,5 @@ #!/bin/bash + # Copy scripts mkdir -p ${PREFIX}/bin chmod +x scripts/*.pl @@ -6,10 +7,3 @@ cp scripts/*.pl ${PREFIX}/bin/ cp scripts/*.pm ${PREFIX}/bin/ cp scripts/*.py ${PREFIX}/bin/ cp -r scripts/cfg/ ${PREFIX}/bin/ - -# install TSEBRA -cp tsebra/bin/* ${PREFIX}/bin -mkdir -p ${SP_DIR}/tsebra_mod -mv tsebra/bin/* ${SP_DIR}/tsebra_mod -mkdir ${PREFIX}/config -mv tsebra/config/* ${PREFIX}/config diff --git a/recipes/braker3/meta.yaml b/recipes/braker3/meta.yaml index 963a2bf73bdde..174a5deb011ec 100644 --- a/recipes/braker3/meta.yaml +++ b/recipes/braker3/meta.yaml @@ -1,16 +1,13 @@ {% set name = "BRAKER3" %} -{% set version = "3.0.6" %} -{% set sha256 = "2609410c597a95017966c88bdc1787c44494caf9a2b2242a7a849fee6484282b" %} +{% set version = "3.0.8" %} +{% set sha256 = "f2623290c3007a3e42719a0bb2713bec7226db222bfef742895a9d5d0b4ee526" %} package: name: "{{ name|lower }}" version: "{{ version }}" source: -- url: https://github.com/Gaius-Augustus/BRAKER/archive/refs/tags/v3.06.tar.gz +- url: https://github.com/Gaius-Augustus/BRAKER/archive/refs/tags/v{{ version }}.tar.gz sha256: {{ sha256 }} -- url: https://github.com/Gaius-Augustus/TSEBRA/archive/refs/tags/v.1.1.1.tar.gz - sha256: 0426c243888135ee3fd6ea0ca9f37eb4af03dd117498165257fa756f59d49ce9 - folder: tsebra build: number: 0 @@ -52,6 +49,8 @@ requirements: - cdbtools >=0.99 - genomethreader >=1.7.0 - diamond >=2.1.6 + - tsebra + - compleasm # - GeneMark-ES/ET/EP+ >=4.64 # - prothint >=2.6.0 diff --git a/recipes/breseq/build.sh b/recipes/breseq/build.sh index a25b244ba0759..86eed127a90af 100644 --- a/recipes/breseq/build.sh +++ b/recipes/breseq/build.sh @@ -1,5 +1,16 @@ #!/bin/bash + set -eux -./configure --prefix=$PREFIX -make + +export INCLUDES="-I${PREFIX}/include" +export LIBPATH="-L${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export M4="${BUILD_PREFIX}/bin/m4" + +autoreconf -if +./configure --prefix="${PREFIX}" \ + CXX="${CXX}" \ + CXXFLAGS="${CXXFLAGS} -O3 -I${PREFIX}/include" \ + LDFLAGS="${LDFLAGS}" +make -j "${CPU_COUNT}" make install diff --git a/recipes/breseq/meta.yaml b/recipes/breseq/meta.yaml index ee573da392da4..bc10a5dbbd9ac 100644 --- a/recipes/breseq/meta.yaml +++ b/recipes/breseq/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.38.1" %} +{% set version = "0.39.0" %} package: name: breseq @@ -6,20 +6,23 @@ package: source: url: https://github.com/barricklab/breseq/releases/download/v{{ version }}/breseq-{{ version }}-Source.tar.gz - sha256: "92af34f7248f7c8cf65951e1b86ffc0d6f7446dbe9d3323aa43c577ea1ff48b3" + sha256: "39b35e246ecd2b497c82a99765ca4d78a0400bc4a7518b7506b140229ccc0247" build: - number: 1 + number: 2 + run_exports: + - {{ pin_subpackage('breseq', max_pin="x.x") }} requirements: build: - make - - {{ compiler("c") }} - {{ compiler("cxx") }} + - autoconf + - automake + - libtool host: - zlib run: - - zlib - r-base - r-cairo - bowtie2 >=2.0.0,!=2.0.3,!=2.0.4,!=2.3.1 @@ -31,8 +34,20 @@ test: about: home: https://github.com/barricklab/breseq - license: GPL-3.0 + license: GPL-2.0-or-later license_family: GPL license_file: COPYING - summary: A computational pipeline for finding mutations relative to a reference sequence in short-read DNA re-sequencing - data. + summary: "A computational pipeline for finding mutations relative to a reference sequence in short-read DNA re-sequencing + data." + doc_url: "https://barricklab.org/twiki/pub/Lab/ToolsBacterialGenomeResequencing/documentation/" + dev_url: https://github.com/barricklab/breseq + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + identifiers: + - biotools:breseq + - biotools:breseq_bam2aln + - biotools:breseq_bam2cov + - usegalaxy-eu:breseq diff --git a/recipes/bte/build_failure.linux-64.yaml b/recipes/bte/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..2822503c9a280 --- /dev/null +++ b/recipes/bte/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 4211007490dc3ef90b86c37ff9ef757664a65c2fd8a7c93e9a5a240fb77d17dd # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + ADDR2LINE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-addr2line + AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar + AS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-as + CXXFILT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cfilt + ELFEDIT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-elfedit + GPROF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gprof + LD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld + LD_GOLD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld.gold + NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-nm + OBJCOPY=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objcopy + OBJDUMP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objdump + RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib + READELF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-readelf + SIZE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-size + STRINGS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strings + STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip + INFO: activate-gcc_linux-64.sh made the following environmental changes: + BUILD=x86_64-conda-linux-gnu + CC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bte-0.9.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH=$PREFIX;$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=$PREFIX:$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot/usr + CONDA_BUILD_SYSROOT=$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot + CONDA_TOOLCHAIN_BUILD=x86_64-conda-linux-gnu + CONDA_TOOLCHAIN_HOST=x86_64-conda-linux-gnu + CPP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cpp + CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include + DEBUG_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bte-0.9.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem $PREFIX/include + GCC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc + GCC_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar + GCC_NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-nm + GCC_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib + HOST=x86_64-conda-linux-gnu + LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_cos6_linux_gnu + build_alias=x86_64-conda-linux-gnu + host_alias=x86_64-conda-linux-gnu + -BUILD=x86_64-conda_cos6-linux-gnu + -CONDA_BUILD_SYSROOT= + INFO: activate-gxx_linux-64.sh made the following environmental changes: + CXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bte-0.9.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + DEBUG_CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bte-0.9.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + GXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-g + Compiling src/bte.pyx because it changed. + [1/1] Cythonizing src/bte.pyx + running build_ext + building 'bte' extension + creating build + creating build/temp.linux-x86_64-cpython-310 + creating build/temp.linux-x86_64-cpython-310/src + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem $PREFIX/include -fPIC -O2 -isystem $PREFIX/include -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bte-0.9.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -fPIC -Isrc -I$BUILD_PREFIX/include/google/protobuf -I$BUILD_PREFIX/include/ -I$PREFIX/include/python3.10 -c src/bte.cpp -o build/temp.linux-x86_64-cpython-310/src/bte.o -std=c17 + In file included from src/bte.cpp:1307: + src/usher/src/matUtils/select.cpp: In function 'std::vector > get_short_paths(Mutation_Annotated_Tree::Tree*, std::vector >, int)': + src/usher/src/matUtils/select.cpp:327:75: warning: comparison of integer expressions of different signedness: 'std::unordered_map, long unsigned int>::mapped_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare] + 327 | if (path_lengths[n->parent->identifier] n->mutations.size() <= max_path) { + src/usher/src/matUtils/select.cpp: In function 'std::pair >, long unsigned int> get_closest_samples(Mutation_Annotated_Tree::Tree*, std::string, bool, size_t)': + src/usher/src/matUtils/select.cpp:551:24: warning: unused variable 'child_branch_length' [-Wunused-variable] + 551 | size_t child_branch_length = child_and_dist.second; + | ^~~~~~~~~~~~~~~~~~~ + src/bte.cpp: In function 'float __pyx_f_3bte_entropy(std::vector)': + src/bte.cpp:7680:28: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'long unsigned int'} [-Wsign-compare] + 7680 | __pyx_t_1 = (__pyx_v_i < __pyx_v_frequencies.size()); + | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ + src/bte.cpp: In function 'PyObject* __pyx_pf_3bte_6MATree_14from_newick_and_vcf(__pyx_obj_3bte_MATree*, PyObject*, PyObject*)': + src/bte.cpp:2242:51: error: cannot bind non-const lvalue reference of type 'std::string&' {aka 'std::__cxx11::basic_string&'} to an rvalue of type 'std::remove_reference&>::type' {aka 'std::__cxx11::basic_string'} + 2242 | #define __PYX_STD_MOVE_IF_SUPPORTED(x) std::move(x) + | ~~~~~~~~~^~~ + src/bte.cpp:14850:57: note: in expansion of macro '__PYX_STD_MOVE_IF_SUPPORTED' + 14850 | Mutation_Annotated_Tree::read_vcf((&__pyx_v_self->t), __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_2), __pyx_v_missing, 1); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ + In file included from src/bte.cpp:1301: + src/usher/src/mutation_annotated_tree.cpp:1916:87: note: initializing argument 2 of 'void Mutation_Annotated_Tree::read_vcf(Tree*, std::string&, std::vector&, bool)' + 1916 | void Mutation_Annotated_Tree::read_vcf(Mutation_Annotated_Tree::Tree* T, std::string &vcf_filename, std::vector& missing_samples, bool create_new_mat) { + | ~~~~~~~~~~~~~^~~~~~~~~~~~ + src/bte.cpp: In function 'PyObject* __pyx_pf_3bte_6MATree_76simple_parsimony(__pyx_obj_3bte_MATree*, PyObject*)': + src/bte.cpp:24148:29: warning: comparison of integer expressions of different signedness: 'Py_ssize_t' {aka 'long int'} and 'std::vector::size_type' {aka 'long unsigned int'} [-Wsign-compare] + 24148 | __pyx_t_14 = (__pyx_t_5 == __pyx_v_nodes.size()); + | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ + error: command '/opt/conda/conda-bld/bte_1717510742093/_build_env/bin/x86_64-conda-linux-gnu-cc' failed with exit code 1 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/bte_1717510742093/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/bte/build_failure.osx-64.yaml b/recipes/bte/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..78da5eb6d4d72 --- /dev/null +++ b/recipes/bte/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 4211007490dc3ef90b86c37ff9ef757664a65c2fd8a7c93e9a5a240fb77d17dd # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + /opt/mambaforge/envs/bioconda/conda-bld/bte_1717514888963/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/python3.8/pyport.h:515:54: note: expanded from macro 'Py_DEPRECATED' + #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__)) + ^ + src/bte.cpp:29194:3: warning: 'tp_print' is deprecated [-Wdeprecated-declarations] + 0, /*tp_print*/ + ^ + /opt/mambaforge/envs/bioconda/conda-bld/bte_1717514888963/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/python3.8/cpython/object.h:260:5: note: 'tp_print' has been explicitly marked deprecated here + Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int); + ^ + /opt/mambaforge/envs/bioconda/conda-bld/bte_1717514888963/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/python3.8/pyport.h:515:54: note: expanded from macro 'Py_DEPRECATED' + #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__)) + ^ + src/bte.cpp:35245:5: warning: 'tp_print' is deprecated [-Wdeprecated-declarations] + 0, + ^ + /opt/mambaforge/envs/bioconda/conda-bld/bte_1717514888963/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/python3.8/cpython/object.h:260:5: note: 'tp_print' has been explicitly marked deprecated here + Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int); + ^ + /opt/mambaforge/envs/bioconda/conda-bld/bte_1717514888963/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/python3.8/pyport.h:515:54: note: expanded from macro 'Py_DEPRECATED' + #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__)) + ^ + 10 warnings and 1 error generated. + error: command '/opt/mambaforge/envs/bioconda/conda-bld/bte_1717514888963/_build_env/bin/x86_64-apple-darwin13.4.0-clang' failed with exit code 1 + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/bte_1717514888963/work + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/bte_1717514888963/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_ + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/bte_1717514888963/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/bte_1717514888963/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bte-0.9.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bte-0.9.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/bte_1717514888963/work/conda_build.sh']' returned non-zero exit status 1. + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bte-0.9.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bte-0.9.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + Compiling src/bte.pyx because it changed. + [1/1] Cythonizing src/bte.pyx + running build_ext + building 'bte' extension + creating build + creating build/temp.macosx-10.9-x86_64-cpython-38 + creating build/temp.macosx-10.9-x86_64-cpython-38/src + x86_64-apple-darwin13.4.0-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem $PREFIX/include -fPIC -O2 -isystem $PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/bte-0.9.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Isrc -I$BUILD_PREFIX/include/google/protobuf -I$BUILD_PREFIX/include/ -I$PREFIX/include/python3.8 -c src/bte.cpp -o build/temp.macosx-10.9-x86_64-cpython-38/src/bte.o -std=c17 +# Last 100 lines of the build log. diff --git a/recipes/bte/meta.yaml b/recipes/bte/meta.yaml index 1f7b0ad946e1b..a63eac0201941 100644 --- a/recipes/bte/meta.yaml +++ b/recipes/bte/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 2 + number: 3 skip: true # [py < 38] requirements: diff --git a/recipes/btllib/build.sh b/recipes/btllib/build.sh index d87279c0cadac..aac83086b89e5 100644 --- a/recipes/btllib/build.sh +++ b/recipes/btllib/build.sh @@ -1,16 +1,15 @@ #!/bin/bash -export CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" +export INCLUDES="-I{PREFIX}/include" +export LIBPATH="-L${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CXXFLAGS="${CXXFLAGS} -O3 -I${PREFIX}/include -D_LIBCPP_DISABLE_AVAILABILITY" -./compile +CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" meson setup --buildtype release --prefix "${PREFIX}" --strip build/ -Db_coverage=false -mkdir -p ${PREFIX}/bin/ -mkdir -p ${PREFIX}/include/ -mkdir -p ${PREFIX}/lib/ +cd build -cp -r install/bin/* ${PREFIX}/bin/ -cp -r install/include/* ${PREFIX}/include/ -cp -r install/lib/* ${PREFIX}/lib/ +ninja -v install # python wrappers: -$PYTHON -m pip install install/lib/btllib/python +$PYTHON -m pip install "${PREFIX}/lib/btllib/python" --no-deps --no-build-isolation -vvv diff --git a/recipes/btllib/build_failure.osx-64.yaml b/recipes/btllib/build_failure.osx-64.yaml deleted file mode 100644 index b1b23121063ba..0000000000000 --- a/recipes/btllib/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: b5330eaa8f450048b15b4e0a4ac3067bf62e46a1e378b96516730df6c583866d # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |- - [58/59] Installing files. - Installing libbtllib.a to $SRC_DIR/install/lib - Skipping RPATH fixing - Installing wrappers/python/_btllib.so to $SRC_DIR/install/lib/btllib/python/btllib - Skipping RPATH fixing - Installing recipes/indexlr to $SRC_DIR/install/bin - Skipping RPATH fixing - Installing recipes/randseq to $SRC_DIR/install/bin - Skipping RPATH fixing - Installing recipes/mi_bf_generate to $SRC_DIR/install/bin - Skipping RPATH fixing - Installing $SRC_DIR/include/btllib/seq_reader_multiline_fastq_module.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/include/btllib/process_pipeline.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/include/btllib/mi_bloom_filter.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/include/btllib/nthash_lowlevel.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/include/btllib/seq_reader_gfa2_module.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/include/btllib/data_stream.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/include/btllib/seq_reader_fastq_module.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/include/btllib/nthash_consts.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/include/btllib/order_queue.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/include/btllib/aahash.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/include/btllib/indexlr.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/include/btllib/status.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/include/btllib/counting_bloom_filter.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/include/btllib/aahash_consts.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/include/btllib/graph.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/include/btllib/bloom_filter.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/include/btllib/randseq.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/include/btllib/seq.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/include/btllib/seq_reader.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/include/btllib/seq_reader_fasta_module.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/include/btllib/nthash.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/include/btllib/seq_reader_multiline_fasta_module.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/include/btllib/util.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/include/btllib/cstring.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/include/btllib/seq_writer.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/include/btllib/seq_reader_sam_module.hpp to $SRC_DIR/install/include/btllib - Installing $SRC_DIR/wrappers/python/btllib.py to $SRC_DIR/install/lib/btllib/python/btllib - Installing /private/tmp/btllib-build-dzadL9GTQASFPuHRFG4M0A/wrappers/python/setup.py to $SRC_DIR/install/lib/btllib/python - Running custom install script '$SRC_DIR/scripts/install-cpptoml' - Running custom install script '$SRC_DIR/scripts/install-sdsl-lite' - - Build finished successfully! - btllib installation can be found at: $SRC_DIR/install - Processing ./install/lib/btllib/python - Preparing metadata (setup.py): started - Preparing metadata (setup.py): finished with status 'done' - Building wheels for collected packages: btllib - Building wheel for btllib (setup.py): started - Building wheel for btllib (setup.py): finished with status 'done' - Created wheel for btllib: filename=btllib-1.6.0-py3-none-any.whl size=673941 sha256=1df681e706445a63e978f5ae5d950166dacf8546ecbedfd7b3a11f89ee9d5142 - Stored in directory: /private/tmp/pip-ephem-wheel-cache-byvyhow3/wheels/fd/de/91/c0ac23923f09e9244ae72dd27c8d91edf6e02332772e8fb05f - Successfully built btllib - Installing collected packages: btllib - Successfully installed btllib-1.6.0 - - Resource usage statistics from building btllib: - Process count: 12 - CPU time: Sys=0:00:14.7, User=0:03:19.7 - Memory: 590.5M - Disk usage: 60.2K - Time elapsed: 0:02:40.9 - - - Packaging btllib - INFO:conda_build.build:Packaging btllib - Packaging btllib-1.6.0-py310hd3d38e4_1 - INFO:conda_build.build:Packaging btllib-1.6.0-py310hd3d38e4_1 - compiling .pyc files... - number of files: 157 - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2358, in build - newly_built_packages = bundlers[pkg_type](output_d, m, env, stats) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 1659, in bundle_conda - files = post_process_files(metadata, initial_files) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 1505, in post_process_files - post_build(m, new_files, build_python=python) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/post.py", line 1318, in post_build - post_process_shared_lib(m, f, prefix_files, host_prefix) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/post.py", line 1266, in post_process_shared_lib - mk_relative_osx(path, host_prefix, m, files=files, rpaths=rpaths) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/post.py", line 397, in mk_relative_osx - names = macho.otool(path, prefix) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/os_utils/macho.py", line 194, in otool - lines = check_output([otool, '-l', path], - File "/opt/mambaforge/envs/bioconda/lib/python3.8/subprocess.py", line 415, in check_output - return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/subprocess.py", line 516, in run - raise CalledProcessError(retcode, process.args, - subprocess.CalledProcessError: Command '['/opt/mambaforge/envs/bioconda/conda-bld/btllib_1686051065758/_build_env/bin/llvm-otool', '-l', '/opt/mambaforge/envs/bioconda/conda-bld/btllib_1686051065758/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/btllib/python/btllib/_btllib.so']' died with . -# Last 100 lines of the build log. diff --git a/recipes/btllib/meta.yaml b/recipes/btllib/meta.yaml index 7e5179de80cf8..c106b65e155e0 100644 --- a/recipes/btllib/meta.yaml +++ b/recipes/btllib/meta.yaml @@ -1,5 +1,5 @@ {% set name = "btllib" %} -{% set version = "1.6.2" %} +{% set version = "1.7.3" %} package: name: {{ name|lower }} @@ -7,37 +7,40 @@ package: source: url: https://github.com/bcgsc/btllib/releases/download/v{{ version }}/{{ name|lower }}-{{ version }}.tar.gz - sha256: 06af0bccd68443bc6351d1d6d46599ae2a6e94752ae5fdf973067a77740d751c + sha256: 31e7124e1cda9eea6f27b654258a7f8d3dea83c828f0b2e8e847faf1c5296aa3 build: - skip: true # [py < 38 or win] number: 0 + run_exports: + - {{ pin_subpackage('btllib', max_pin="x") }} requirements: build: - {{ compiler('cxx') }} + - cmake + - meson + - ninja host: - python - pip - - wheel - - meson - - ninja - - cmake - llvm-openmp # [osx] - libgomp # [linux] + - samtools + - swig + - doxygen run: - python - samtools + - llvm-openmp # [osx] + - libgomp # [linux] - pigz - - gzip # alternative to pigz + - gzip # alternative to pigz - tar - bzip2 - xz - - lrzip + - lrzip # [not arm64] - zip - wget - - llvm-openmp # [osx] - - libgomp # [linux] test: commands: @@ -47,6 +50,17 @@ test: about: home: https://github.com/bcgsc/btllib - license: GPL-3.0 + license: GPL-3.0-or-later + license_family: GPL3 license_file: LICENSE summary: 'Bioinformatics common code library in C++ with Python wrappers, from Bioinformatics Technology Lab' + doc_url: https://bcgsc.github.io/btllib/ + dev_url: https://github.com/bcgsc/btllib + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + identifiers: + - doi:10.21105/joss.04720 + - doi:10.1093/bioadv/vbad162 diff --git a/recipes/busco/0001-Add-default-config-path-within-prefix-updated.patch b/recipes/busco/0001-Add-default-config-path-within-prefix-updated.patch index 46f2d39e219fc..3d375e51e4c16 100644 --- a/recipes/busco/0001-Add-default-config-path-within-prefix-updated.patch +++ b/recipes/busco/0001-Add-default-config-path-within-prefix-updated.patch @@ -1,6 +1,6 @@ --- a/src/busco/ConfigManager.py +++ b/src/busco/ConfigManager.py -@@ -42,10 +42,12 @@ class BuscoConfigManager: +@@ -44,11 +44,13 @@ class BuscoConfigManager: return except KeyError: pass @@ -8,13 +8,14 @@ - os.environ.get("BUSCO_CONFIG_FILE"), os.R_OK - ): - self.config_file = os.environ.get("BUSCO_CONFIG_FILE") +- self.run_stats["config_file"] = "BUSCO_CONFIG_FILE environment variable" + config_file = ( + os.environ.get("BUSCO_CONFIG_FILE") + or "/opt/anaconda1anaconda2anaconda3/share/busco/config.ini" + ) + if config_file and os.access(config_file, os.R_OK): -+ self.config_file = config_file ++ self.config_file = config_file ++ self.run_stats["config_file"] = "BUSCO_CONFIG_FILE environment variable" else: self.config_file = "local environment" - return self.config_file - + self.run_stats["config_file"] = "local environment" diff --git a/recipes/busco/0001-Add-default-config-path-within-prefix.patch b/recipes/busco/0001-Add-default-config-path-within-prefix.patch deleted file mode 100644 index 32b151b252be4..0000000000000 --- a/recipes/busco/0001-Add-default-config-path-within-prefix.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- src/busco/ConfigManager.py -+++ src/busco/ConfigManager.py -@@ -32,8 +32,9 @@ - return - except KeyError: - pass -- if os.environ.get("BUSCO_CONFIG_FILE") and os.access(os.environ.get("BUSCO_CONFIG_FILE"), os.R_OK): -- self.config_file = os.environ.get("BUSCO_CONFIG_FILE") -+ config_file = os.environ.get("BUSCO_CONFIG_FILE") or "/opt/anaconda1anaconda2anaconda3/share/busco/config.ini" -+ if config_file and os.access(config_file, os.R_OK): -+ self.config_file = config_file - else: - raise SystemExit("Please specify a BUSCO config file using either " - "(i) an environment variable by entering 'export BUSCO_CONFIG_FILE=/path/to/config.ini' " diff --git a/recipes/busco/0001-Set-conda-distribution.patch b/recipes/busco/0001-Set-conda-distribution.patch new file mode 100644 index 0000000000000..68091d67a5b1f --- /dev/null +++ b/recipes/busco/0001-Set-conda-distribution.patch @@ -0,0 +1,11 @@ +--- a/src/busco/run_BUSCO.py ++++ b/src/busco/run_BUSCO.py +@@ -126,7 +126,7 @@ class BuscoMaster: + elif os.path.exists("/.singularity.d"): + self.run_data["distribution"] = "singularity" + else: +- self.run_data["distribution"] = "manual" ++ self.run_data["distribution"] = "conda" + + def get_download_url(self): + if self.config.getboolean("busco_run", "offline"): diff --git a/recipes/busco/build.sh b/recipes/busco/build.sh index ea804dee9d30d..a85611463c9f3 100644 --- a/recipes/busco/build.sh +++ b/recipes/busco/build.sh @@ -2,9 +2,9 @@ set -euxo pipefail -"${PYTHON}" -m pip install . --no-deps -vv +"${PYTHON}" -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv mkdir -p $PREFIX/bin/ -cp bin/busco $PREFIX/bin/busco #python script +cp bin/busco $PREFIX/bin/busco #python script cp scripts/generate_plot.py $PREFIX/bin/generate_plot.py diff --git a/recipes/busco/meta.yaml b/recipes/busco/meta.yaml index dfa64a4b84a80..02a82468a2c85 100644 --- a/recipes/busco/meta.yaml +++ b/recipes/busco/meta.yaml @@ -1,5 +1,6 @@ -{% set version = "5.5.0" %} -{% set sha256 = "07ca32892ddd6016e5610c34f830cc8445dbcade3f7b460c3d898e27c9650cc7" %} +{% set name = "busco" %} +{% set version = "5.8.0" %} +{% set sha256 = "201218349224d35b4ad2de345505710e7778904e0f1158874b2a4d0cb2dce1ed" %} package: name: busco @@ -8,45 +9,48 @@ package: build: number: 0 noarch: python + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} source: url: https://gitlab.com/ezlab/busco/-/archive/{{ version }}/busco-{{ version }}.tar.gz sha256: {{ sha256 }} patches: - 0001-Add-default-config-path-within-prefix-updated.patch + - 0001-Set-conda-distribution.patch requirements: host: - python >=3.3 - pip - wget - - blast >=2.10.1 # There is a multithreading problem for all BLAST versions between 2.4 and 2.10.0 - - hmmer >=3.1b2 # sepp needs this version + - blast >=2.10.1 # There is a multithreading problem for all BLAST versions between 2.4 and 2.10.0 + - hmmer >=3.1b2 # sepp needs this version - augustus >=3.3 - - biopython + - biopython >=1.79 - prodigal - sepp >=4.3.10 - - dendropy <4.6.0 # necessary temporarily until SEPP updates their codebase or recipe - - metaeuk >=6.a5d39d9 # needed for gff bug fix + - metaeuk >=6.a5d39d9 # needed for gff bug fix - pandas - bbmap - miniprot + - requests run: - python >=3.3 - wget - - blast >=2.10.1 # There is a multithreading problem for all BLAST versions between 2.4 and 2.10.0 - - hmmer >=3.1b2 # sepp needs this version + - blast >=2.10.1 # There is a multithreading problem for all BLAST versions between 2.4 and 2.10.0 + - hmmer >=3.1b2 # sepp needs this version - augustus >=3.3 - - biopython + - biopython >=1.79 - r-base - r-ggplot2 >=2.2.1 - prodigal - sepp >=4.3.10 - - dendropy <4.6.0 # necessary temporarily until SEPP updates their codebase or recipe - - metaeuk >=6.a5d39d9 # needed for gff bug fix + - metaeuk >=6.a5d39d9 # needed for gff bug fix - pandas - bbmap - miniprot + - requests - fonts-conda-ecosystem test: @@ -58,14 +62,17 @@ test: - test_data about: - home: http://busco.ezlab.org/ + home: "https://busco.ezlab.org" license: MIT + license_family: MIT license_file: LICENSE - summary: Assessment of assembly completeness using Universal Single Copy Orthologs + summary: "Assessment of assembly completeness using Universal Single Copy Orthologs." description: BUSCO provides measures for quantitative assessment of genome assembly, gene set, and transcriptome completeness based on evolutionarily informed expectations of gene content from near-universal single-copy orthologs selected from OrthoDB. + dev_url: "https://gitlab.com/ezlab/busco" + doc_url: "https://busco.ezlab.org/busco_userguide.html" extra: container: @@ -78,6 +85,4 @@ extra: - doi:10.1093/bioinformatics/btv351 - usegalaxy-eu:busco recipe-maintainers: - - silask - - matsepp - berkelem diff --git a/recipes/busco_phylogenomics/meta.yaml b/recipes/busco_phylogenomics/meta.yaml new file mode 100644 index 0000000000000..ed1764337ae39 --- /dev/null +++ b/recipes/busco_phylogenomics/meta.yaml @@ -0,0 +1,46 @@ +{% set name = "busco_phylogenomics" %} +{% set version = "20240919" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/jamiemcg/{{ name }}/archive/refs/tags/{{ version }}.tar.gz + sha256: 989cfb137cc06e0014daa4475e9b6bd070bd3ea77baed8fd6f26562ee84b9f5b + +build: + number: 0 + noarch: python + script: bash conda_build_package.sh + entry_points: + - BUSCO_phylogenomics = BUSCO_phylogenomics.BUSCO_phylogenomics:main + - count_buscos = BUSCO_phylogenomics.count_buscos:main + run_exports: + - {{ pin_subpackage('busco_phylogenomics', max_pin=None) }} + +requirements: + build: + - python >=3.8 + run: + - python >=3.8 + - biopython + - muscle >=5.1 + - iqtree + - fasttree + - trimal +test: + commands: + - BUSCO_phylogenomics.py -h + - count_buscos.py -h + +about: + home: https://github.com/jamiemcg/BUSCO_phylogenomics + license: MIT + license_file: LICENSE + license_family: MIT + summary: 'Utility script to construct species phylogenies using BUSCO proteins.' + +extra: + maintainers: + - jamiemcg diff --git a/recipes/bustools/meta.yaml b/recipes/bustools/meta.yaml index 331adae0b3b1a..fed8ae7701f0b 100644 --- a/recipes/bustools/meta.yaml +++ b/recipes/bustools/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.43.1" %} +{% set version = "0.44.0" %} package: name: bustools @@ -6,7 +6,7 @@ package: source: url: https://github.com/BUStools/bustools/archive/v{{ version }}.tar.gz - sha256: ac94a33ca459de81c5756825a7a7f8daeae357fc6bf0ef88d4900e77b70f2b90 + sha256: e9a12be416d5d3940dd0ec3bfb0be3a481f2eea7d4411df1ab24c814332d99b8 build: number: 0 @@ -33,3 +33,8 @@ about: license_file: LICENSE summary: | bustools is a program for manipulating BUS files for single cell RNA-Seq datasets. + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/bwa-aln-interactive/build.sh b/recipes/bwa-aln-interactive/build.sh new file mode 100644 index 0000000000000..f7f3b28babaf1 --- /dev/null +++ b/recipes/bwa-aln-interactive/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +make CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" LDFLAGS="$LDFLAGS" -j "${CPU_COUNT}" +mkdir -p $PREFIX/bin +cp bwa $PREFIX/bin/bwa-aln-interactive diff --git a/recipes/bwa-aln-interactive/meta.yaml b/recipes/bwa-aln-interactive/meta.yaml new file mode 100644 index 0000000000000..14d6175ede952 --- /dev/null +++ b/recipes/bwa-aln-interactive/meta.yaml @@ -0,0 +1,38 @@ +{% set version = "0.7.18" %} +{% set sha256 = "9a1baef6d08da234a96466a1023dae53154fe0b2358f9ff7ad5307e63f4e89ba" %} + + +package: + name: bwa-aln-interactive + version: {{ version }} + +source: + url: https://github.com/fulcrumgenomics/bwa-aln-interactive/archive/refs/tags/v0.7.18-r1243-1.tar.gz + sha256: {{ sha256 }} + +build: + number: 1 + run_exports: + - {{ pin_subpackage("bwa-aln-interactive", max_pin="x.x") }} + +requirements: + build: + - make + - {{ compiler('c') }} + host: + - zlib + +test: + commands: + - bwa-aln-interactive 2>&1 | grep "This fork of bwa supports interactive \`bwa aln\`" + +about: + home: https://github.com/fulcrumgenomics/bwa-aln-interactive + license: GPL-3.0-only + license_file: COPYING + summary: Version of the BWA aln read mapper for interactive alignment. + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/bwa/Makefile.patch b/recipes/bwa/Makefile.patch deleted file mode 100644 index 5a26928815dc6..0000000000000 --- a/recipes/bwa/Makefile.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/Makefile b/Makefile -index 7151435..2f0a4fe 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,9 +1,9 @@ --CC= gcc -+#CC= gcc - #CC= clang --analyze - CFLAGS= -g -Wall -Wno-unused-function -O2 - WRAP_MALLOC=-DUSE_MALLOC_WRAPPERS - AR= ar --DFLAGS= -DHAVE_PTHREAD $(WRAP_MALLOC) -+DFLAGS= -DHAVE_PTHREAD $(WRAP_MALLOC) $(LDFLAGS) - LOBJS= utils.o kthread.o kstring.o ksw.o bwt.o bntseq.o bwa.o bwamem.o bwamem_pair.o bwamem_extra.o malloc_wrap.o \ - QSufSort.o bwt_gen.o rope.o rle.o is.o bwtindex.o - AOBJS= bwashm.o bwase.o bwaseqio.o bwtgap.o bwtaln.o bamlite.o \ diff --git a/recipes/bwa/build.sh b/recipes/bwa/build.sh index a8ff3c2d2b692..6bdafb538cade 100644 --- a/recipes/bwa/build.sh +++ b/recipes/bwa/build.sh @@ -1,9 +1,6 @@ #!/bin/bash -export C_INCLUDE_PATH=${PREFIX}/include -export LIBRARY_PATH=${PREFIX}/lib - -make CFLAGS="${CFLAGS} -fcommon" +make CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" LDFLAGS="$LDFLAGS" mkdir -p $PREFIX/bin mkdir -p $PREFIX/share/man/man1 cp bwa $PREFIX/bin diff --git a/recipes/bwa/meta.yaml b/recipes/bwa/meta.yaml index b781e21c89e93..2262ce914671c 100644 --- a/recipes/bwa/meta.yaml +++ b/recipes/bwa/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.7.17" %} -{% set sha256 = "980b9591b61c60042c4a39b9e31ccaad8d17ff179d44d347997825da3fdf47fd" %} +{% set version = "0.7.18" %} +{% set sha256 = "194788087f7b9a77c0114aa481b2ef21439f6abab72488c83917302e8d0e7870" %} package: name: bwa @@ -8,11 +8,11 @@ package: source: url: https://github.com/lh3/bwa/archive/v{{ version }}.tar.gz sha256: {{ sha256 }} - patches: - - Makefile.patch build: - number: 11 + number: 1 + run_exports: + - {{ pin_subpackage("bwa", max_pin="x.x") }} requirements: build: @@ -21,7 +21,6 @@ requirements: host: - zlib run: - - zlib - perl test: @@ -37,6 +36,9 @@ about: summary: The BWA read mapper. extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - biotools:bwa - usegalaxy-eu:bwa_mem diff --git a/recipes/bwakit/build.sh b/recipes/bwakit/build.sh index 1be79bf22fcda..c76110961b8cf 100644 --- a/recipes/bwakit/build.sh +++ b/recipes/bwakit/build.sh @@ -6,7 +6,7 @@ pushd bwakit-0.7.15 cp -r resource-* $PREFIX/bin popd -pushd bwa-0.7.17/bwakit +pushd bwa-0.7.18/bwakit for file in *.js ; do { echo '#!/usr/bin/env k8'; cat "${file}"; } > "${file}.tmp" mv "${file}.tmp" "${file}" && chmod 0755 "${file}" diff --git a/recipes/bwakit/meta.yaml b/recipes/bwakit/meta.yaml index 2359d6f407876..abfb0d80b9737 100644 --- a/recipes/bwakit/meta.yaml +++ b/recipes/bwakit/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.7.17.dev1" %} +{% set version = "0.7.18.dev1" %} package: name: bwakit version: {{ version }} @@ -7,21 +7,23 @@ source: - url: http://downloads.sourceforge.net/project/bio-bwa/bwakit/bwakit-0.7.15_x64-linux.tar.bz2 folder: bwakit-0.7.15 sha256: 0a7b11971bc7916b68e9df35a364afe77cb3000df02ffb3a6fbd1aff9be5878c - - url: https://github.com/lh3/bwa/archive/v0.7.17.tar.gz - folder: bwa-0.7.17 - sha256: 980b9591b61c60042c4a39b9e31ccaad8d17ff179d44d347997825da3fdf47fd + - url: https://github.com/lh3/bwa/archive/v0.7.18.tar.gz + folder: bwa-0.7.18 + sha256: 194788087f7b9a77c0114aa481b2ef21439f6abab72488c83917302e8d0e7870 patches: - patches/run-HLA.patch build: noarch: generic - number: 1 + number: 0 + run_exports: + - {{ pin_subpackage('bwakit', max_pin="x.x") }} requirements: run: - k8 - perl - - bwa ==0.7.17 + - bwa ==0.7.18 - fermi2 ==r170 - htsbox ==r315 - ropebwt2 ==r187 diff --git a/recipes/bwapy/meta.yaml b/recipes/bwapy/meta.yaml index ccede89eab2be..6349f877323dd 100644 --- a/recipes/bwapy/meta.yaml +++ b/recipes/bwapy/meta.yaml @@ -10,8 +10,11 @@ source: folder: bwa build: - number: 7 - skip: True # [py<30] + number: 8 + # imp was removed from python 3.12 + skip: true # [py == 312 ] + run_exports: + - {{ pin_subpackage("bwapy", max_pin="x.x") }} requirements: build: diff --git a/recipes/bwread/build_failure.osx-64.yaml b/recipes/bwread/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..f798559bff6dc --- /dev/null +++ b/recipes/bwread/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: d4a1a31409c2e433d027814944f03df2f929f892fd27f10073f7abfed231289e # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + sorted_nearest [>=0.0.28 |>=0.0.30 ] with the potential options + sorted_nearest [0.0.28|0.0.29|0.0.30|0.0.31] would require + python >=2.7,<2.8.0a0 , which can be installed; + sorted_nearest [0.0.28|0.0.29|0.0.30|0.0.31] would require + python >=3.6,<3.7.0a0 , which can be installed; + sorted_nearest [0.0.28|0.0.29|0.0.30|0.0.31] would require + python >=3.7,<3.8.0a0 , which can be installed; + sorted_nearest [0.0.31|0.0.32|0.0.33|0.0.37] would require + python_abi 2.7.* *_cp27m, which can be installed; + sorted_nearest [0.0.31|0.0.32|0.0.33|0.0.37] would require + python_abi 3.6.* *_cp36m, which can be installed; + sorted_nearest [0.0.31|0.0.32|0.0.33|0.0.37] would require + python_abi 3.7.* *_cp37m, which can be installed; + sorted_nearest [0.0.31|0.0.32|0.0.33|0.0.37|0.0.39] would require + python_abi 3.8.* *_cp38, which can be installed; + sorted_nearest [0.0.32|0.0.33|0.0.37|0.0.39] would require + python_abi 3.9.* *_cp39, which can be installed; + sorted_nearest [0.0.37|0.0.39] would require + python_abi 3.10.* *_cp310, which can be installed; + pyranges [0.0.125|0.0.127|0.0.128|0.0.129] would require + sorted_nearest >=0.0.33 , which can be installed (as previously explained); + python_abi 3.12.* *_cp312 is not installable because it requires + python 3.12.* *_cpython, which conflicts with any installable versions previously reported. + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2409, in build + create_build_envs(top_level_pkg, notest) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2247, in create_build_envs + raise e + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2220, in create_build_envs + environ.get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {MatchSpec("sorted_nearest[version='>=0.0.28']"), MatchSpec("pyranges==0.0.53=py_0")} + Encountered problems while solving: + - package pyranges-0.0.53-py_0 requires sorted_nearest >=0.0.28, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + pyranges is installable with the potential options + pyranges [0.0.39|0.0.40|...|0.0.52] would require + python >=3.7,<3.8.0a0 , which can be installed; + pyranges [0.0.51|0.0.52] would require + python >=3.6,<3.7.0a0 , which can be installed; + pyranges [0.0.100|0.0.101|...|0.0.99] would require + sorted_nearest [>=0.0.28 |>=0.0.30 ] with the potential options + sorted_nearest [0.0.28|0.0.29|0.0.30|0.0.31] would require + python >=2.7,<2.8.0a0 , which can be installed; + sorted_nearest [0.0.28|0.0.29|0.0.30|0.0.31] would require + python >=3.6,<3.7.0a0 , which can be installed; + sorted_nearest [0.0.28|0.0.29|0.0.30|0.0.31] would require + python >=3.7,<3.8.0a0 , which can be installed; + sorted_nearest [0.0.31|0.0.32|0.0.33|0.0.37] would require + python_abi 2.7.* *_cp27m, which can be installed; + sorted_nearest [0.0.31|0.0.32|0.0.33|0.0.37] would require + python_abi 3.6.* *_cp36m, which can be installed; + sorted_nearest [0.0.31|0.0.32|0.0.33|0.0.37] would require + python_abi 3.7.* *_cp37m, which can be installed; + sorted_nearest [0.0.31|0.0.32|0.0.33|0.0.37|0.0.39] would require + python_abi 3.8.* *_cp38, which can be installed; + sorted_nearest [0.0.32|0.0.33|0.0.37|0.0.39] would require + python_abi 3.9.* *_cp39, which can be installed; + sorted_nearest [0.0.37|0.0.39] would require + python_abi 3.10.* *_cp310, which can be installed; + pyranges [0.0.125|0.0.127|0.0.128|0.0.129] would require + sorted_nearest >=0.0.33 , which can be installed (as previously explained); + python_abi 3.12.* *_cp312 is not installable because it requires + python 3.12.* *_cpython, which conflicts with any installable versions previously reported. +# Last 100 lines of the build log. diff --git a/recipes/bwread/meta.yaml b/recipes/bwread/meta.yaml index 501baff770c43..ad36e15aa5884 100644 --- a/recipes/bwread/meta.yaml +++ b/recipes/bwread/meta.yaml @@ -10,7 +10,7 @@ source: sha256: a6f524baf85a8c10c0de8e1d5874467816a32dccaa7b9f2b571c99ed6c449b16 build: - number: 1 + number: 2 skip: True # [py27] script: "{{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv" diff --git a/recipes/bx-python/meta.yaml b/recipes/bx-python/meta.yaml index bbf510cd6ac66..187536a7dee88 100644 --- a/recipes/bx-python/meta.yaml +++ b/recipes/bx-python/meta.yaml @@ -1,19 +1,22 @@ {% set name = "bx-python" %} -{% set version = "0.10.0" %} -{% set sha256 = "bfe9541d7b18a98e907b085e31f58d3989fbca4dc667c4ae48c33b753e0e2da8" %} +{% set version = "0.13.0" %} +{% set sha256 = "ce04696543367efc6b7995d9463efeda691b9a58f6f55a7bd831e642159b0644" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/bx-python-{{ version }}.tar.gz + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/bx_python-{{ version }}.tar.gz sha256: {{ sha256 }} build: number: 0 - skip: True # [py < 37] - script: {{ PYTHON }} -m pip install . --use-pep517 --no-deps -vvv + script: + - {{ PYTHON }} setup.py build_ext --force # [py<39] + - {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + run_exports: + - {{ pin_subpackage(name|lower, max_pin='x.x') }} requirements: build: @@ -21,15 +24,15 @@ requirements: host: - python - cython + - numpy # [py<39] + - numpy >=1.25 # [py>=39] - pip - setuptools - - wheel - - python-lzo - - numpy - zlib run: - python - {{ pin_compatible('numpy') }} + - pyparsing test: imports: @@ -48,6 +51,7 @@ test: - bx.motif.io - bx.motif.logo - bx.phylo + - bx.phylo.newick - bx.pwm - bx.seq - bx.tabular @@ -60,8 +64,13 @@ about: license_family: MIT license_file: LICENSE doc_url: 'https://buildmedia.readthedocs.org/media/pdf/bx-python/latest/bx-python.pdf' - dev_url: 'https://pypi.org/project/bx-python/' + dev_url: 'https://github.com/bxlab/bx-python' extra: identifiers: - biotools:bx-python + additional-platforms: + - linux-aarch64 + - osx-arm64 + recipe-maintainers: + - nsoranzo diff --git a/recipes/cadd-scripts/meta.yaml b/recipes/cadd-scripts/meta.yaml index 06120015ec56c..a507661a3f9dc 100644 --- a/recipes/cadd-scripts/meta.yaml +++ b/recipes/cadd-scripts/meta.yaml @@ -1,17 +1,19 @@ -{% set version = "1.6" %} -{% set sha256 = "c02ebb88beebe1a4433e4f70da03ee4af062212189c30ef99a07cbedf5f44eb6" %} +{% set version = "1.7.1" %} +{% set sha256 = "c5db00dc26a585cc70500cf535865a4d9e7765db60a71edf1d267af32ae974e4" %} package: name: cadd-scripts version: {{ version }} source: - url: https://github.com/kircherlab/CADD-scripts/archive/CADD{{ version }}.tar.gz + url: https://github.com/kircherlab/CADD-scripts/archive/v{{ version }}.tar.gz sha256: {{ sha256 }} build: - number: 1 + number: 0 noarch: generic + run_exports: + - {{ pin_subpackage('cadd-scripts', max_pin="x") }} requirements: run: diff --git a/recipes/cage/meta.yaml b/recipes/cage/meta.yaml index 06adb1647769c..c5ec5e4c7cce3 100644 --- a/recipes/cage/meta.yaml +++ b/recipes/cage/meta.yaml @@ -7,7 +7,7 @@ source: sha256: 135abb4c769f8668e56e1f7c82bf98c68eccc3b387cd3b99baf18d851bd93d96 build: - number: 6 + number: 7 skip: True # [osx] requirements: diff --git a/recipes/cagee/build.sh b/recipes/cagee/build.sh index 5d921656c8975..79aff1ef6a196 100755 --- a/recipes/cagee/build.sh +++ b/recipes/cagee/build.sh @@ -1,28 +1,28 @@ #!/bin/bash -set -e -set -x +set -ex -if [ "$(uname)" = "Darwin" ]; then - # LDFLAGS fix: https://github.com/AnacondaRecipes/intel_repack-feedstock/issues/8 - export LDFLAGS="-Wl,-pie -Wl,-headerpad_max_install_names -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib" +export INCLUDES="-I{PREFIX}/include" +export LIBPATH="-L${PREFIX}/lib" +export CXXFLAGS="${CXXFLAGS} -O3 -I{PREFIX}/include" + +if [[ "$(uname)" == "Darwin" ]]; then + # LDFLAGS fix: https://github.com/AnacondaRecipes/intel_repack-feedstock/issues/8 + export LDFLAGS="${LDFLAGS} -Wl,-pie -Wl,-headerpad_max_install_names -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib" + export CONFIG_ARGS="-DCMAKE_FIND_FRAMEWORK=NEVER -DCMAKE_FIND_APPBUNDLE=NEVER" else - export LDFLAGS="-L$PREFIX/lib" - export MKL_THREADING_LAYER="GNU" + export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" + export MKL_THREADING_LAYER="GNU" + export CONFIG_ARGS="" fi -# https://bioconda.github.io/contributor/troubleshooting.html#zlib-errors -export CFLAGS="-I$PREFIX/include" -export CPATH=${PREFIX}/include - -mkdir -p build -cd build - -cmake -DCMAKE_PREFIX_PATH:PATH=${PREFIX} \ - -DCMAKE_INSTALL_PREFIX:PATH=${PREFIX} \ - -DCMAKE_BUILD_TYPE="Release" \ - .. +# https://bioconda.github.io/contributor/troubleshooting.html#zlib-errors +export CFLAGS="${CFLAGS} -O3 -I$PREFIX/include" +export INCLUDE_PATH="${PREFIX}/include" -make -make install +cmake -S . -B build \ + -DCMAKE_INSTALL_PREFIX="${PREFIX}" -DCMAKE_BUILD_TYPE="Release" \ + -DCMAKE_CXX_COMPILER="${CXX}" -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ + "${CONFIG_ARGS}" +cmake --build build --target install -j "${CPU_COUNT}" -v diff --git a/recipes/cagee/meta.yaml b/recipes/cagee/meta.yaml index ff080b956e86b..cdc593579ee6c 100755 --- a/recipes/cagee/meta.yaml +++ b/recipes/cagee/meta.yaml @@ -1,6 +1,6 @@ {% set name = "CAGEE" %} -{% set version = "1.0" %} -{% set sha256 = "3aec98af3552ef86df03d42a068925e2becd69daac3720ea9fd136b084198f57" %} +{% set version = "1.2" %} +{% set sha256 = "fc1db60d8d9478ef53b38f310a687453c6f8f2f50d3c68ec6a0747e822c2a481" %} package: name: {{ name|lower }} @@ -11,27 +11,30 @@ source: sha256: {{ sha256 }} build: - number: 2 + number: 0 + skip: True # [osx] + run_exports: + - {{ pin_subpackage('cagee', max_pin="x") }} requirements: build: - - {{ compiler('c') }} - {{ compiler('cxx') }} - binutils >=2.33.1 # [linux] + - binutils_impl_linux-aarch64 # [osx] - cmake >=3.13 - make - - llvm-openmp # [osx] host: - eigen >=3.4.0 - boost-cpp - mkl >=2020.4 - mkl-include + - libgomp # [linux] + - llvm-openmp # [osx] - zlib - zstd run: - boost-cpp - mkl >=2020.4 - - zlib test: commands: @@ -49,4 +52,3 @@ about: extra: recipe-maintainers: - benfulton - diff --git a/recipes/callerpp/build.sh b/recipes/callerpp/build.sh new file mode 100644 index 0000000000000..b536997481246 --- /dev/null +++ b/recipes/callerpp/build.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +set -x -e -o pipefail + +case $(uname -m) in + aarch64) + ARCH_OPTS="-fsigned-char" + ;; + *) + ARCH_OPTS="" + ;; +esac + +make \ + CXX="${CXX} -std=c++11 ${ARCH_OPTS}" \ + CXX_FLAGS="${CXXFLAGS} -I${PREFIX}/include -g -Wall -O3 ${LDFLAGS}" + +mkdir -p "${PREFIX}/bin" + +cp bin/callerpp "${PREFIX}/bin/" diff --git a/recipes/callerpp/meta.yaml b/recipes/callerpp/meta.yaml new file mode 100644 index 0000000000000..2379233d1c0f6 --- /dev/null +++ b/recipes/callerpp/meta.yaml @@ -0,0 +1,43 @@ +{% set name = "callerpp" %} +{% set version = "0.1.6" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + - url: https://github.com/nh13/{{ name }}/archive/{{ version }}.tar.gz + sha256: d2d3b233164fe28f056e4cfea0518122ec8aefddf6f30e7c84f6b1827154ae3e + +build: + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + build: + - make + - cmake + - {{ compiler('c') }} + - {{ compiler('cxx') }} + host: + - spoa >=4.1.4 + run: + - spoa >=4.1.4 + +test: + commands: + - callerpp --version + - printf ">1\nAAAAAGAAAAA\nAAAAACAAAAA\nAAAAAGAAAAA" > ref.fa; callerpp -a 2 --input ref.fa + +about: + home: https://github.com/nh13/callerpp + license: MIT + license_file: LICENSE + summary: 'A simple consensus caller based on partial order alignment with spoa' + +extra: + additional-platforms: + - linux-aarch64 + recipe-maintainers: + - nh13 diff --git a/recipes/callingcardstools/meta.yaml b/recipes/callingcardstools/meta.yaml index cda0d39800ab3..658e9faaff4dd 100644 --- a/recipes/callingcardstools/meta.yaml +++ b/recipes/callingcardstools/meta.yaml @@ -1,5 +1,5 @@ {% set name = "callingcardstools" %} -{% set version = "1.2.0" %} +{% set version = "1.8.0" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 5a6b70800c91ed52c61edfd87b2fd773a660b77c01a81a554de1718146bfe7be + sha256: 4be2d211751482c7d8618be6974a69ec711c9d9f55e0739e277bd41c6194cb05 build: noarch: python @@ -30,6 +30,8 @@ requirements: - pandas - pysam - python >=3.8 + - scipy >=1.11.4 + - pyranges >=0.0.129 test: imports: diff --git a/recipes/cami-amber/meta.yaml b/recipes/cami-amber/meta.yaml index daa51ee4638e5..65e1b263966d8 100644 --- a/recipes/cami-amber/meta.yaml +++ b/recipes/cami-amber/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "2.0.4" %} +{% set version = "2.0.7" %} package: name: cami-amber @@ -6,12 +6,18 @@ package: source: url: https://pypi.io/packages/source/c/cami-amber/cami-amber-{{ version }}.tar.gz - sha256: a671517d1ea2d43b74f0bd1934621b59b9d6e160f64ef485c03f612c9de21e3a + sha256: 01f11fbab7cb0f24497932669b00981292b1dc0df2ce6cd4b707a7ddd675bf8d build: noarch: python number: 0 - script: python -m pip install --no-deps --ignore-installed . + run_exports: + - {{ pin_subpackage("cami-amber", max_pin="x") }} + script: + - {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + - cp -rf ./cami_amber/utils/add_length_column.py $PREFIX/bin + - cp -rf ./cami_amber/utils/convert_fasta_bins_to_biobox_format.py $PREFIX/bin + - cp -rf ./cami_amber/utils/argparse_parents.py $PREFIX/bin requirements: host: @@ -19,21 +25,25 @@ requirements: - pip run: - python >=3.6 - - numpy >=1.24.2 - - biopython >=1.81 - - matplotlib-base >=3.7.1 - - pandas >=1.5.3 - - bokeh >=3.1.0 - - seaborn >=0.12.2 - - jinja2 >=3.1.2 - - pyarrow >=11.0.0 + - numpy >=2.0.1 + - biopython >=1.84 + - matplotlib-base >=3.8.4 + - pandas >=2.2.2 + - bokeh >=3.5.1 + - seaborn-base >=0.13.2 + - jinja2 >=3.1.4 + - pyarrow >=17.0.0 test: commands: - amber.py --help + - add_length_column.py -h + - convert_fasta_bins_to_biobox_format.py -h about: home: https://github.com/CAMI-challenge/AMBER - license: GPL v3 + license: GPL-3.0-or-later + license_family: GPL3 license_file: LICENSE summary: 'AMBER: Assessment of Metagenome BinnERs' + dev_url: https://github.com/CAMI-challenge/AMBER diff --git a/recipes/cami-opal/meta.yaml b/recipes/cami-opal/meta.yaml index 20647dc9c847e..099c010d085a0 100644 --- a/recipes/cami-opal/meta.yaml +++ b/recipes/cami-opal/meta.yaml @@ -1,6 +1,6 @@ {% set name = "cami-opal" %} -{% set version = "1.0.12" %} -{% set sha256 = "f8ed286472106332d309ced2504b8fa729c03f6b9d72d8db4faabe726f033f87" %} +{% set version = "1.0.13" %} +{% set sha256 = "bbb869b739c555fbbfc26d2771fa1b501f671b620bcbf743c15327a51debd408" %} package: name: {{ name|lower }} @@ -26,7 +26,7 @@ requirements: - numpy >=1.24.2 - matplotlib-base >=3.7.1 - pandas >=1.5.3 - - jinja2 <3.0.1 + - jinja2 >=3.1.2 - bokeh ==3.1.0 - seaborn >=0.12.2 - docker-py >=6.1.2 diff --git a/recipes/camlhmp/meta.yaml b/recipes/camlhmp/meta.yaml new file mode 100644 index 0000000000000..ff176d7dbb452 --- /dev/null +++ b/recipes/camlhmp/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "camlhmp" %} +{% set version = "1.1.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/camlhmp/camlhmp-{{ version }}.tar.gz + sha256: 0f20b94fc0bd469299bd9bec6fe384013bd7043cb4dd97e9df827895f2d06fb2 + +build: + noarch: python + script: {{ PYTHON }} -m pip install --no-deps --ignore-installed -vv . + number: 0 + run_exports: + - {{ pin_subpackage(name|lower, max_pin='x.x.x') }} + +requirements: + host: + - python >=3.8 + - poetry + - pip + run: + - biopython + - blast + - executor + - pigz + - python >=3.8 + - pyyaml + - rich-click >=1.6.0 + +test: + imports: + - camlhmp + commands: + - pip check + - camlhmp --help + requires: + - pip + +about: + home: https://github.com/rpetit3/camlhmp + summary: Classification through yAML Heuristic Mapping Protocol + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - rpetit3 diff --git a/recipes/campyagainst/meta.yaml b/recipes/campyagainst/meta.yaml new file mode 100644 index 0000000000000..d239e6bbe61fa --- /dev/null +++ b/recipes/campyagainst/meta.yaml @@ -0,0 +1,35 @@ +{% set version = "0.1.0" %} +{% set name = "campyagainst" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/LanLab/{{ name }}/archive/v{{ version }}.tar.gz + sha256: aaa8434bc5cc06b7d8c567a8b1c7dc2ea926ffbfdebb0196a89559c4bdd92b74 + +build: + noarch: python + number: 0 + script: {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv + run_exports: + - {{ pin_subpackage('campyagainst', max_pin="x.x") }} + +requirements: + host: + - python >=3.8 + - pip + run: + - python >=3.8 + - fastani >=1.3 + +about: + home: https://github.com/LanLab/campyagainst + license: GPL-3.0-or-later + license_file: LICENSE + summary: Accurate assignment of ANI genomic species to Campylobacter genomes. + +test: + commands: + - campyagainst --help diff --git a/recipes/campygstyper/meta.yaml b/recipes/campygstyper/meta.yaml new file mode 100644 index 0000000000000..0d869745829a8 --- /dev/null +++ b/recipes/campygstyper/meta.yaml @@ -0,0 +1,35 @@ +{% set version = "0.1.1" %} +{% set name = "campygstyper" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/LanLab/{{ name }}/archive/v{{ version }}.tar.gz + sha256: 125787f7db92b8d787e47eeac710b66c6bc9e71a043dbc68de2427af09546e37 + +build: + noarch: python + number: 0 + script: {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv + run_exports: + - {{ pin_subpackage('campygstyper', max_pin="x.x") }} + +requirements: + host: + - python >=3.8 + - pip + run: + - python >=3.8 + - fastani >=1.3 + +about: + home: https://github.com/LanLab/campygstyper + license: GPL-3.0-or-later + license_file: LICENSE + summary: Accurate assignment of ANI genomic species to Campylobacter genomes. + +test: + commands: + - campygstyper --help diff --git a/recipes/cancerit-allelecount/build.sh b/recipes/cancerit-allelecount/build.sh index 5921b2bc83f38..2b179831fcee9 100644 --- a/recipes/cancerit-allelecount/build.sh +++ b/recipes/cancerit-allelecount/build.sh @@ -1,5 +1,5 @@ #!/bin/bash -set -eu +set -xeu export LIBRARY_PATH=${PREFIX}/lib export INCPATH=${PREFIX}/include #export HTSLIB_VERSION=1.7 @@ -18,6 +18,6 @@ sed -i 's/$(CC) /$(compiler) /g' Makefile #Force HTSLIb locations sed -i 's#HTSLOC?=$(HTSLIB)#HTSLOC=${PREFIX}/lib#g' Makefile sed -i 's#prefix=?/usr/local#prefix=${PREFIX}#g' Makefile -make OPTINC="-I$PREFIX/include -L$PREFIX/lib" +make -j ${CPU_COUNT} OPTINC="-I$PREFIX/include -L$PREFIX/lib" mkdir -p $PREFIX/bin cp bin/* $PREFIX/bin diff --git a/recipes/cancerit-allelecount/meta.yaml b/recipes/cancerit-allelecount/meta.yaml index 1d6a650149506..b86b40f7fad2f 100644 --- a/recipes/cancerit-allelecount/meta.yaml +++ b/recipes/cancerit-allelecount/meta.yaml @@ -9,8 +9,10 @@ source: sha256: 5363ae12c2385c962728336a4498b1a29c9eaa3d4a24492d0debf897771cfd3c build: - number: 5 + number: 7 skip: True # [osx] + run_exports: + - {{ pin_subpackage('cancerit-allelecount', max_pin='x') }} requirements: build: @@ -34,5 +36,11 @@ test: about: home: https://github.com/cancerit/alleleCount - license: GPLv3 + license: GPL-3.0-only + license_file: LICENCE + license_family: GPL3 summary: Support code for NGS copy number algorithms + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/cannoli/meta.yaml b/recipes/cannoli/meta.yaml index 37e73896b7434..e4b3a7739a686 100644 --- a/recipes/cannoli/meta.yaml +++ b/recipes/cannoli/meta.yaml @@ -1,4 +1,4 @@ -{% set version="1.0" %} +{% set version="1.0.1" %} package: name: cannoli @@ -6,11 +6,13 @@ package: source: url: https://search.maven.org/remotecontent?filepath=org/bdgenomics/cannoli/cannoli-distribution-spark3_2.12/{{ version }}/cannoli-distribution-spark3_2.12-{{ version }}-bin.tar.gz - sha256: 28c076ebd64278c07e9169e5b5de13ea5fd30a1f68daffbe551518092089ef6a + sha256: 4cfbbe1d2085298e62d4143116f8776ef2c91854f36a0803c27164c51b541e12 build: number: 0 noarch: generic + run_exports: + - {{ pin_subpackage('cannoli', max_pin="1") }} requirements: run: diff --git a/recipes/canopy/build.sh b/recipes/canopy/build.sh new file mode 100644 index 0000000000000..0754372e7255c --- /dev/null +++ b/recipes/canopy/build.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +echo "Compiling Canopy" +mkdir -p ${PREFIX}/bin +make +mv cc.bin ${PREFIX}/bin/ diff --git a/recipes/canopy/meta.yaml b/recipes/canopy/meta.yaml new file mode 100644 index 0000000000000..8906c6773dc28 --- /dev/null +++ b/recipes/canopy/meta.yaml @@ -0,0 +1,36 @@ +{% set version="0.25" %} +{% set name="canopy" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/hildebra/canopy2/archive/refs/tags/v{{ version }}.tar.gz + sha256: 6ea391021dc81ff1981bb69b0ec27a56a17bd23e01c25a27b86808366d62061f + +build: + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + build: + - {{ compiler('cxx') }} + - make + - llvm-openmp + host: + - zlib + run: + - zlib + - llvm-openmp + +test: + commands: + - cc.bin --version | grep {{ version }} + +about: + home: https://github.com/hildebra/canopy2/ + license: GPL-2.0-or-later + license_file: LICENSE + summary: 'Canopy - Metagenomics Canopy Clustering Implementation' diff --git a/recipes/cansam/meta.yaml b/recipes/cansam/meta.yaml index 83f2006a3b6f4..ce3c66befc14a 100644 --- a/recipes/cansam/meta.yaml +++ b/recipes/cansam/meta.yaml @@ -1,13 +1,15 @@ package: name: cansam - version: 21d64bb + version: 3489bc1 source: - url: https://github.com/jmarshall/cansam/archive/21d64bb.tar.gz - md5: 017d2ebc7338be995af3b9e6056f5fe0 + url: https://github.com/jmarshall/cansam/archive/3489bc1.tar.gz + md5: 46adf65a926a56fb90760e08fead3261 build: - number: 7 + number: 0 + run_exports: + - {{ pin_subpackage('cansam', max_pin=None) }} requirements: build: @@ -16,8 +18,6 @@ requirements: host: - boost-cpp - zlib - run: - - zlib test: commands: @@ -28,3 +28,7 @@ about: license: BSD-3-Clause summary: 'C++ binding for SAM/BAM files' license_family: BSD + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/capcruncher/meta.yaml b/recipes/capcruncher/meta.yaml index e1b742d58f4fa..f65c123600dbe 100644 --- a/recipes/capcruncher/meta.yaml +++ b/recipes/capcruncher/meta.yaml @@ -1,5 +1,5 @@ {% set name = "capcruncher" %} -{% set version = "0.3.8" %} +{% set version = "0.3.12" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/capcruncher-{{ version }}.tar.gz - sha256: 6124d6e7ff0ff269b434c1cd38bbc6e7bf69ff737024aa411f58d1ce5384d2e7 + sha256: 43b1e634dac4eee5f801b69b2adafb07b61c72556cc32b1cd5e03518ed2e407b build: number: 0 diff --git a/recipes/captus/build.sh b/recipes/captus/build.sh new file mode 100644 index 0000000000000..374c3b8aca8dd --- /dev/null +++ b/recipes/captus/build.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +if [ `uname -s` == "Linux" ]; +then + ln -s "${PREFIX}/lib/libbz2.so.1.0" "${PREFIX}/lib/libbz2.so.1" +fi + +$PYTHON -m pip install . --ignore-installed -vv diff --git a/recipes/captus/meta.yaml b/recipes/captus/meta.yaml index 44207123a1eea..8a22b833b4489 100644 --- a/recipes/captus/meta.yaml +++ b/recipes/captus/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "1.0.0" %} -{% set sha256 = "2ecdab60cc0ce9b422e66e325a4746a04f2700c8b477790458217f0c9d0b8adb" %} +{% set version = "1.0.1" %} +{% set sha256 = "a9331d4a3d8d967e4b679c14e5af6fd98539659de3b740da876b1fa5c8dd0ba3" %} package: name: captus @@ -10,9 +10,8 @@ source: sha256: {{ sha256 }} build: - number: 0 + number: 2 noarch: python - script: "{{ PYTHON }} -m pip install . --ignore-installed -vv" run_exports: - {{ pin_subpackage("captus", max_pin="x.x") }} @@ -22,7 +21,6 @@ requirements: - python >=3.6 - pip - setuptools - run: - python >=3.6 - pip @@ -35,7 +33,7 @@ requirements: - megahit =1.2.9=hfbae3c0_0 # [osx] - mmseqs2 - muscle >=5 - - pandas + - pandas >=2.1.0 - perl-bioperl-core - perl-yaml - pigz diff --git a/recipes/carpedeam/build.sh b/recipes/carpedeam/build.sh new file mode 100644 index 0000000000000..3583663b92364 --- /dev/null +++ b/recipes/carpedeam/build.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +ARCH_BUILD="" +case $(uname -m) in + x86_64) ARCH_BUILD="-DHAVE_SSE4_1=1" ;; +esac + +if [ -z "${ARCH_BUILD}" ]; then + echo "Unsupported architecture" + exit 1 +fi + +mkdir build +cd build + +cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" -DHAVE_TESTS=0 -DHAVE_MPI=0 ${ARCH_BUILD} -DVERSION_OVERRIDE="${PKG_VERSION}" .. + +make -j${CPU_COUNT} ${VERBOSE_CM} +make install diff --git a/recipes/carpedeam/meta.yaml b/recipes/carpedeam/meta.yaml new file mode 100644 index 0000000000000..59691207623a8 --- /dev/null +++ b/recipes/carpedeam/meta.yaml @@ -0,0 +1,50 @@ +{% set version = "1.0.0" %} +{% set sha256 = "92deec3d670810f8433c0345758588b47fa460349e61ce8aa549374f5cf4a812" %} + +package: + name: carpedeam + version: {{ version|replace("-", ".") }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage('carpedeam', max_pin="x.x") }} + +source: + url: https://github.com/LouisPwr/CarpeDeam/archive/refs/tags/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +requirements: + build: + - {{ compiler('cxx') }} + - {{ compiler('c') }} + - cmake + - make + - llvm-openmp # [osx] + - libgomp # [linux] + host: + - perl + - gawk + - zlib + - bzip2 + run: + - gawk + - zlib + - bzip2 + +test: + commands: + - carpedeam --version | grep "Ancient Metagenome Assembler." + +about: + home: https://github.com/LouisPwr/CarpeDeam + license: GPL-3.0-only + license_family: GPL3 + summary: "CarpeDeam - A metagenomic assembler for heavily damaged ancient datasets" + +extra: + identifiers: + - biotools:carpedeam + recipe-maintainers: + - gabriel-renaud + - louis-kraft diff --git a/recipes/carveme/LICENSE.txt b/recipes/carveme/LICENSE.txt new file mode 100644 index 0000000000000..e9b0f54ede839 --- /dev/null +++ b/recipes/carveme/LICENSE.txt @@ -0,0 +1,16 @@ + +Apache Software License 2.0 + +Copyright (c) 2017, Daniel Machado + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/recipes/carveme/meta.yaml b/recipes/carveme/meta.yaml new file mode 100644 index 0000000000000..a2cbfff5631e5 --- /dev/null +++ b/recipes/carveme/meta.yaml @@ -0,0 +1,68 @@ +{% set name = "carveme" %} +{% set version = "1.6.2" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: cd0ac30fff347c180d76083c96f85705ed1a426f69aa43ca47bb964df7d22ac3 + +build: + number: 0 + entry_points: + - build_universe=carveme.cli.build_universe:main + - curate_universe=carveme.cli.curate_universe:main + - carve=carveme.cli.carve:main + - gapfill=carveme.cli.gapfill:main + - merge_community=carveme.cli.merge_community:main + - benchmark=carveme.cli.benchmark:main + script: "{{ PYTHON }} -m pip install --use-pep517 --no-deps --no-build-isolation --no-cache-dir . -vvv" + noarch: python + run_exports: + - {{ pin_subpackage('carveme', max_pin="x") }} + +requirements: + host: + - python >=3.8 + - pip + - setuptools + run: + - pandas + - python >=3.8 + - reframed >=1.5.1 + - diamond + - pyscipopt + - scip + - numpy + - requests + +test: + imports: + - carveme + - carveme.cli + - carveme.reconstruction + - carveme.universe + - tests + commands: + - build_universe --help + - curate_universe --help + - carve --help + - gapfill --help + - merge_community --help + - benchmark --help + +about: + home: "https://github.com/cdanielmachado/carveme" + license: Apache-2.0 + license_family: APACHE + license_file: LICENSE.txt + summary: "CarveMe: automated genome-scale metabolic model reconstruction" + dev_url: "https://github.com/cdanielmachado/carveme" + doc_url: "https://carveme.readthedocs.io/en/latest" + +extra: + recipe-maintainers: + - lhtxa + - cdanielmachado diff --git a/recipes/cassiopee/build_failure.osx-64.yaml b/recipes/cassiopee/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..9914ba234d248 --- /dev/null +++ b/recipes/cassiopee/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 51bbcd4a9b8308a55e32b84f7d357d77b0c8fd587d6903e70c8000a68552e440 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + make: *** [Makefile:146: all] Error 2 + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/cassiopee_1717516351394/work + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/cassiopee_1717516351394/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/cassiopee_1717516351394/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/cassiopee_1717516351394/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/cassiopee-1.0.9 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + packages_from_this = build( + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/cassiopee_1717516351394/work/conda_build.sh']' returned non-zero exit status 2. + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/cassiopee-1.0.9 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/cassiopee-1.0.9 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/cassiopee-1.0.9 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + -- The C compiler identification is Clang 16.0.6 + -- The CXX compiler identification is Clang 16.0.6 + -- Detecting C compiler ABI info + -- Detecting C compiler ABI info - done + -- Check for working C compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting C compile features + -- Detecting C compile features - done + -- Detecting CXX compiler ABI info + -- Detecting CXX compiler ABI info - done + -- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting CXX compile features + -- Detecting CXX compile features - done + -- Found Boost: $PREFIX/include (found version "1.85.0") found components: iostreams serialization regex + -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) + -- Found OpenMP_C: -fopenmp=libomp (found version "5.0") + -- Found OpenMP_CXX: -fopenmp=libomp (found version "5.0") + -- Found OpenMP: TRUE (found version "5.0") + -- Configuring done (4.8s) + -- Generating done (0.1s) + -- Build files have been written to: $SRC_DIR + [ 12%] Building CXX object src/CMakeFiles/cassie.dir/cassiopee.cxx.o + [ 25%] Linking CXX shared library ../lib/libcassie.dylib + [ 25%] Built target cassie + [ 37%] Building CXX object src/CMakeFiles/cassiopee.dir/cassie.cxx.o + [ 50%] Linking CXX executable ../bin/cassiopee + [ 50%] Built target cassiopee + [ 62%] Building CXX object src/CMakeFiles/cassiopeeknife.dir/knife.cxx.o + [ 75%] Linking CXX executable ../bin/cassiopeeknife + [ 75%] Built target cassiopeeknife + [ 87%] Building CXX object test/CMakeFiles/test_cassiopee.dir/test.cxx.o +# Last 100 lines of the build log. diff --git a/recipes/cassiopee/meta.yaml b/recipes/cassiopee/meta.yaml index e548787f9f512..4a81a492cb454 100644 --- a/recipes/cassiopee/meta.yaml +++ b/recipes/cassiopee/meta.yaml @@ -3,7 +3,7 @@ package: version: "1.0.9" build: - number: 6 + number: 7 source: url: https://github.com/osallou/cassiopee-c/archive/1.0.9.tar.gz diff --git a/recipes/cassiopeia/meta.yaml b/recipes/cassiopeia/meta.yaml new file mode 100644 index 0000000000000..7d7254e282891 --- /dev/null +++ b/recipes/cassiopeia/meta.yaml @@ -0,0 +1,67 @@ +{% set name = "cassiopeia" %} +{% set version = "2.0.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/YosefLab/Cassiopeia/archive/{{ version }}.tar.gz + sha256: 28ae7495152683f5733222255056a1e7b2f7a51e1cee2f23f0d9f8ae5f4c3742 + +build: + number: 1 + entry_points: + - cassiopeia-preprocess = cassiopeia.preprocess.cassiopeia_preprocess:main + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir --use-pep517 + run_exports: + - {{ pin_subpackage('cassiopeia', max_pin="x") }} + +requirements: + build: + - {{ compiler('c') }} + host: + - python + - pip + - cython + - numpy + run: + - python + - biopython >=1.71 + - bokeh >=0.12.15 + - ccphylo + - ete3 >=3.1.1 + - hits + - itolapi + - matplotlib-base >=2.2.2 + - nbconvert >=5.4.0 + - nbformat >=4.4.0 + - networkx >=2.5 + - ngs-tools >=1.5.3 + - numba >=0.51.0 + - pandas >=1.1.4 + - pysam >=0.14.1 + - python-levenshtein + - pyyaml >=3.12 + - scipy >=1.2.0 + - typing-extensions >=3.7.4 + - tqdm >=4 + - {{ pin_compatible('numpy') }} + +test: + imports: + - cassiopeia + commands: + - cassiopeia-preprocess --help + +about: + home: https://github.com/YosefLab/Cassiopeia + summary: "An end-to-end pipeline for single-cell lineage tracing experiments." + license: MIT + license_family: MIT + license_file: LICENSE + dev_url: https://github.com/YosefLab/Cassiopeia + +extra: + recipe-maintainers: + - mencian diff --git a/recipes/catfasta2phyml/meta.yaml b/recipes/catfasta2phyml/meta.yaml index 0127661fa44c0..44d06ac51bcaf 100644 --- a/recipes/catfasta2phyml/meta.yaml +++ b/recipes/catfasta2phyml/meta.yaml @@ -1,14 +1,16 @@ package: name: catfasta2phyml - version: "1.2.0" + version: "1.2.1" source: - url: https://github.com/nylander/catfasta2phyml/archive/refs/tags/v.1.2.0.tar.gz - sha256: f4ea5aef5aa21d15d84436262f06b79a004b7017ab7a433019fe903aec995fdb + url: https://github.com/nylander/catfasta2phyml/archive/refs/tags/v1.2.1.tar.gz + sha256: 2647985192b05df49e10bfce64d6843fe7916b0395199dfd2ac4f80910c5a91f build: number: 0 noarch: generic + run_exports: + - {{ pin_subpackage('catfasta2phyml', max_pin="x") }} requirements: run: diff --git a/recipes/cazy_webscraper/meta.yaml b/recipes/cazy_webscraper/meta.yaml index f5c23370c9ad7..e46ee87c652f9 100644 --- a/recipes/cazy_webscraper/meta.yaml +++ b/recipes/cazy_webscraper/meta.yaml @@ -1,6 +1,6 @@ {% set name = "cazy_webscraper" %} -{% set version = "2.3.0" %} -{% set sha256 = "08a12134f124622069d4259c55d0bafc618e4f1d4872992529cd495d782fd21e" %} +{% set version = "2.3.0.3" %} +{% set sha256 = "82af3a5c13c1f3254bcbc9967c85d38f085c88f18834fb5a84155d5f13e669d9" %} package: name: {{ name|lower }} @@ -13,7 +13,7 @@ source: build: number: 0 noarch: python - script: {{ PYTHON }} -m pip install . -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv entry_points: - cazy_webscraper = cazy_webscraper.cazy_scraper:main - cw_get_genbank_seqs = cazy_webscraper.expand.genbank.sequences.get_genbank_sequences:main @@ -25,6 +25,8 @@ build: - cw_get_pdb_structures = cazy_webscraper.expand.pdb.get_pdb_structures:main - cw_query_database = cazy_webscraper.api.cw_query_database:main - cw_get_db_schema = cazy_webscraper.sql.get_schema:main + run_exports: + - {{ pin_subpackage('cazy_webscraper', max_pin="x") }} requirements: host: @@ -57,6 +59,7 @@ about: dev_url: "https://github.com/HobnobMancer/cazy_webscraper" summary: "A tool to automate retrieving data from CAZy, build a local CAZyme SQL database, and throughly interrogating the data. Also, automate retrieving protein data, sequences, EC numbers and structure files for specific datasets in the CAZyme database from UniProt, GenBank and PDB." license: MIT + license_family: MIT license_file: LICENSE extra: diff --git a/recipes/cblaster/meta.yaml b/recipes/cblaster/meta.yaml index 965d15068132b..276b02818e303 100644 --- a/recipes/cblaster/meta.yaml +++ b/recipes/cblaster/meta.yaml @@ -1,6 +1,6 @@ {% set name = "cblaster" %} -{% set version = "1.3.18" %} -{% set sha256 = "cf5f8fd47f8e7f1734ea3609d2d5ba93f505b5322c1a12e7d1c9e3f2fb3552dd" %} +{% set version = "1.3.19" %} +{% set sha256 = "6d383616c9cac843386729e257c3d2f380b6a45c3ea4feb445e6863a75e0b84e" %} package: name: "{{ name|lower }}" @@ -15,7 +15,9 @@ build: noarch: python entry_points: - cblaster=cblaster.main:main - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + run_exports: + - {{ pin_subpackage('cblaster', max_pin="x") }} requirements: host: @@ -32,6 +34,7 @@ requirements: - requests - scipy - diamond + - defusedxml test: imports: diff --git a/recipes/ccmetagen/meta.yaml b/recipes/ccmetagen/meta.yaml index 5661e6a3706f7..2041475df1daa 100644 --- a/recipes/ccmetagen/meta.yaml +++ b/recipes/ccmetagen/meta.yaml @@ -1,5 +1,5 @@ {% set name = "ccmetagen" %} -{% set version = "1.4.1" %} +{% set version = "1.5.0" %} package: name: "{{ name|lower }}" @@ -7,19 +7,21 @@ package: source: url: "https://github.com/vrmarcelino/CCMetagen/archive/v{{ version }}.tar.gz" - sha256: "38f6535296a8c9ce173cbc859368f8ddcec2d7612bc52bd8ea38d21f67e4d67f" + sha256: "44a0591e6a5d0a5317cf2307c8da6851dde039679b32bd0cc743b210b4add81d" build: noarch: python number: 0 script: "python -m pip install --no-deps --ignore-installed . " + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: host: - pip - python run: - - python + - python >=3.9,<3.12 - ete3 - pandas - kma >=1.3 @@ -36,3 +38,8 @@ about: license_family: "GPL3" license_file: "LICENSE" summary: "CCMetagen: comprehensive and accurate identification of eukaryotes and prokaryotes in metagenomic data." + +extra: + recipe-maintainers: + - vrmarcelino + - vinisalazar diff --git a/recipes/ccsmeth/meta.yaml b/recipes/ccsmeth/meta.yaml index 2d8d97c2f3349..b31d55381a2a0 100644 --- a/recipes/ccsmeth/meta.yaml +++ b/recipes/ccsmeth/meta.yaml @@ -1,6 +1,6 @@ {% set name = "ccsmeth" %} -{% set version = "0.4.1" %} -{% set hash = "783382fc3f3a108d7b1f4de8f60c06a45c049d8de797251d14cadb1ae69b6aa7" %} +{% set version = "0.5.0" %} +{% set hash = "9f6bd61ebf1e7e7a4b6d0690658ccf0a70936faf3229db7998ef3ad6ef3e3a54" %} package: name: "{{ name|lower }}" @@ -16,6 +16,8 @@ build: entry_points: - ccsmeth=ccsmeth.ccsmeth:main script: "{{ PYTHON }} -m pip install . -vv" + run_exports: + - {{ pin_subpackage("ccsmeth", max_pin="x.x") }} requirements: host: @@ -28,7 +30,7 @@ requirements: - numpy >=1.20.0 - scikit-learn >=1.0.2 - statsmodels >=0.13.2 - - pytorch >=1.2.0,<=1.12.1 + - pytorch >=1.2.0,<=2.1.0 - pysam >=0.19.0 - tqdm >=4.64.0 - bedtools =2.30.0 diff --git a/recipes/cd-hit/meta.yaml b/recipes/cd-hit/meta.yaml index 87534475d3ab5..8163e48de1d69 100644 --- a/recipes/cd-hit/meta.yaml +++ b/recipes/cd-hit/meta.yaml @@ -10,7 +10,9 @@ source: sha256: {{ sha256 }} build: - number: 9 + number: 10 + run_exports: + - {{ pin_subpackage('cd-hit', max_pin="x") }} requirements: build: @@ -32,3 +34,7 @@ about: home: https://github.com/weizhongli/cdhit license: GPLv2 summary: Clusters and compares protein or nucleotide sequences + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/cdbtools/build.sh b/recipes/cdbtools/build.sh index 3298b9ab314d0..facdc9734cb9e 100644 --- a/recipes/cdbtools/build.sh +++ b/recipes/cdbtools/build.sh @@ -1,4 +1,4 @@ mkdir -pv $PREFIX/bin -make CC="${CXX}" LINKER="${CXX}" +make CC="${CXX}" LINKER="${CXX}" -j ${CPU_COUNT} cp cdbfasta $PREFIX/bin cp cdbyank $PREFIX/bin diff --git a/recipes/cdbtools/meta.yaml b/recipes/cdbtools/meta.yaml index a95d6334963bb..fd3037deed543 100644 --- a/recipes/cdbtools/meta.yaml +++ b/recipes/cdbtools/meta.yaml @@ -10,7 +10,9 @@ source: - zlib.patch build: - number: 9 + number: 10 + run_exports: + - {{ pin_subpackage('cdbtools', max_pin='x.x') }} requirements: build: @@ -31,4 +33,8 @@ about: license: Public Domain summary: CDB (Constant DataBase) indexing and retrieval tools for FASTA files +extra: + additional-platforms: + - linux-aarch64 + # vim:set ts=8 sw=2 diff --git a/recipes/cellbender/meta.yaml b/recipes/cellbender/meta.yaml new file mode 100644 index 0000000000000..b70653de9be49 --- /dev/null +++ b/recipes/cellbender/meta.yaml @@ -0,0 +1,63 @@ +{% set name = "CellBender" %} +{% set version = "0.3.2" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/broadinstitute/CellBender/archive/v{{ version }}.tar.gz + sha256: 3bd4bf77c82a5817bb09ac3db236e9795e3e71c99cbe34c8baef04272a7d1717 + +build: + number: 0 + noarch: python + entry_points: + - cellbender = cellbender.base_cli:main + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + run_exports: + - {{ pin_subpackage('cellbender', max_pin="x.x") }} + +requirements: + host: + - python 3.7 + - pip + run: + - python 3.7 + - numpy + - scipy + - pytables + - pandas + - pyro-ppl >=1.8.4 + - pytorch + - matplotlib-base + - anndata >=0.7 + - loompy + - ipython + - jupyter + - jupyter_contrib_nbextensions + - notebook <7.0.0 + - nbconvert <7.0.0 + - psutil + +test: + imports: + - cellbender + commands: + - "cellbender --help" + +about: + home: "https://github.com/broadinstitute/CellBender" + summary: "A software package for eliminating technical artifacts from high-throughput single-cell RNA sequencing (scRNA-seq) data" + license: "BSD-3-Clause" + license_family: BSD + license_file: LICENSE + doc_url: "https://cellbender.readthedocs.io/en/latest" + dev_url: "https://github.com/broadinstitute/CellBender" + +extra: + recipe-maintainers: + - mencian + identifiers: + - biotools:CellBender + - doi:10.1038/s41592-023-01943-7 diff --git a/recipes/cellprofiler-core/meta.yaml b/recipes/cellprofiler-core/meta.yaml index eb03ea8eddc69..3d571207beeff 100644 --- a/recipes/cellprofiler-core/meta.yaml +++ b/recipes/cellprofiler-core/meta.yaml @@ -1,39 +1,39 @@ {% set name = "cellprofiler-core" %} -{% set version = "4.2.6" %} +{% set version = "4.2.8" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/cellprofiler-core-{{ version }}.tar.gz - sha256: 91993485783bbab87d89a728260f10e57fda3f7335e6057393702cea774db2d7 + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/cellprofiler_core-{{ version }}.tar.gz + sha256: 80e7465edf7b3c9d09b36156ba163d3a30769951f3724b924a504c9289ed7848 build: number: 0 noarch: python - script: {{ PYTHON }} -m pip install . -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv run_exports: - {{ pin_subpackage(name, max_pin='x') }} requirements: host: - pip - - python >=3.6 + - python >=3.8 run: - boto3 >=1.12.28 - - centrosome ==1.2.1 + - centrosome >=1.2.3,<1.3 - docutils ==0.15.2 - - h5py 3.6.0 + - h5py >=3.6.0,<3.7.dev0 - matplotlib-base >=3.1.3 - numpy >=1.18.2 - prokaryote ==2.4.4 - psutil >=5.7.0 - - python >=3.6 - - python-bioformats ==4.0.6 + - python >=3.8 + - python-bioformats ==4.0.7 - python-javabridge ==4.0.3 - - pyzmq 22.3 - - scikit-image >=0.16.2 + - pyzmq >=22.3,<23.dev0 + - scikit-image ==0.18.3 - scipy >=1.4.1 test: @@ -42,10 +42,13 @@ test: - cellprofiler_core.analysis about: - home: https://github.com/CellProfiler/core + home: "https://github.com/CellProfiler/core" license: BSD-3-Clause + license_family: BSD license_file: LICENSE - summary: Dependency for CellProfiler v4 + summary: "Dependency for CellProfiler v4." + dev_url: "https://github.com/CellProfiler/core" + doc_url: "https://github.com/CellProfiler/CellProfiler/wiki" extra: recipe-maintainers: diff --git a/recipes/cellprofiler/build_failure.linux-64.yaml b/recipes/cellprofiler/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..4fc9b5604f1b1 --- /dev/null +++ b/recipes/cellprofiler/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 3c02010a42e840b731d104e29ebd56082cedc1da36c80ba792045e1e2edefd71 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + - package python-javabridge-4.0.0-py36h8c4c3a4_0 requires python_abi 3.6.* *_cp36m, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + [32mpython-javabridge[0m is installable with the potential options + [32mpython-javabridge 4.0.0[0m would require + [32mpypy3.6 >=7.3.3 [0m, which can be installed; + [32mpython_abi 3.6 *_pypy36_pp73[0m, which can be installed; + [32mpython-javabridge 4.0.0[0m would require + [32mpython_abi 3.6.* *_cp36m[0m, which can be installed; + [32mpython-javabridge 4.0.0[0m would require + [32mpython_abi 3.6 *_pypy36_pp73[0m, which can be installed; + [32mpython-javabridge 4.0.0[0m would require + [32mpython_abi 3.7.* *_cp37m[0m, which can be installed; + [32mpython-javabridge 4.0.0[0m would require + [32mpython_abi 3.7 *_pypy37_pp73[0m, which can be installed; + [32mpython-javabridge 4.0.0[0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mpython-javabridge [4.0.0|4.0.3][0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [32mpython-javabridge 4.0.3[0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [32mpython 3.11.* *_cpython[0m is requested and can be installed. + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2308, in build + output_metas = expand_outputs([(m, need_source_download, need_reparse_in_env)]) + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 916, in expand_outputs + for output_dict, m in deepcopy(_m).get_output_metadata_set( + File "/opt/conda/lib/python3.10/site-packages/conda_build/metadata.py", line 2737, in get_output_metadata_set + conda_packages = finalize_outputs_pass( + File "/opt/conda/lib/python3.10/site-packages/conda_build/metadata.py", line 1095, in finalize_outputs_pass + fm = finalize_metadata( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 650, in finalize_metadata + build_unsat, host_unsat = add_upstream_pins( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 491, in add_upstream_pins + host_deps, host_unsat, extra_run_specs_from_host = _read_upstream_pin_files( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 444, in _read_upstream_pin_files + deps, precs, unsat = get_env_dependencies( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 156, in get_env_dependencies + precs = environ.get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("python-javabridge==4.0.0=py36h8c4c3a4_0"), MatchSpec("python_abi=3.6[build=*_cp36m]")} + Encountered problems while solving: + - package python-javabridge-4.0.0-py36h8c4c3a4_0 requires python_abi 3.6.* *_cp36m, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + [32mpython-javabridge[0m is installable with the potential options + [32mpython-javabridge 4.0.0[0m would require + [32mpypy3.6 >=7.3.3 [0m, which can be installed; + [32mpython_abi 3.6 *_pypy36_pp73[0m, which can be installed; + [32mpython-javabridge 4.0.0[0m would require + [32mpython_abi 3.6.* *_cp36m[0m, which can be installed; + [32mpython-javabridge 4.0.0[0m would require + [32mpython_abi 3.6 *_pypy36_pp73[0m, which can be installed; + [32mpython-javabridge 4.0.0[0m would require + [32mpython_abi 3.7.* *_cp37m[0m, which can be installed; + [32mpython-javabridge 4.0.0[0m would require + [32mpython_abi 3.7 *_pypy37_pp73[0m, which can be installed; + [32mpython-javabridge 4.0.0[0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mpython-javabridge [4.0.0|4.0.3][0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [32mpython-javabridge 4.0.3[0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [32mpython 3.11.* *_cpython[0m is requested and can be installed. +# Last 100 lines of the build log. diff --git a/recipes/cellprofiler/meta.yaml b/recipes/cellprofiler/meta.yaml index ee514fd59176f..813f6bbada87d 100644 --- a/recipes/cellprofiler/meta.yaml +++ b/recipes/cellprofiler/meta.yaml @@ -1,5 +1,5 @@ {% set name = "CellProfiler" %} -{% set version = "4.2.6" %} +{% set version = "4.2.7" %} package: name: "{{ name|lower }}" @@ -7,30 +7,30 @@ package: source: url: https://github.com/CellProfiler/{{ name }}/archive/v{{ version }}.tar.gz - sha256: "fae14f97efc69f09d9074e53fcebbf50e1eafbf4ebaeb3a3de8699f44c9bccd9" + sha256: "8bc0819f1e2c215756e7eb5b7f0078949760d707397930eddf002b8bdd452ed3" build: number: 0 - skip: True # [ py < 39 ] - script: "{{ PYTHON }} -m pip install --no-deps --ignore-installed . -vv" + noarch: python + script: "{{ PYTHON }} -m pip install --no-deps --no-build-isolation --no-cache-dir --use-pep517 . -vvv" + entry_points: + - cellprofiler=cellprofiler.__main__:main run_exports: - {{ pin_subpackage('cellprofiler', max_pin='x') }} requirements: - build: - - {{ compiler('c') }} host: - - python + - python >=3.8 - pip - - cython - - python-javabridge - pytest run: - - python + - python >=3.8 + - boto3 >=1.12.28 - centrosome - docutils - - cellprofiler-core {{ version }} - - h5py >=2.10 + - cellprofiler-core =={{ version }} + - h5py >=3.6.0,<3.7.dev0,<4 + - imageio >=2.5 - inflect - python-javabridge - joblib @@ -40,15 +40,17 @@ requirements: - matplotlib-base - mysqlclient - numpy + - pillow - prokaryote - python-bioformats + - pyzmq >=22.3,<23.dev0 - requests - - scikit-image >=0.17.2 - - scikit-learn >=0.20 - - scipy >=1.4.1 + - scikit-image ==0.18.3 + - scikit-learn >=0.20,<1 + - scipy ==1.9.0 - six + - tifffile <2022.4.22 - wxpython - - pillow test: imports: @@ -57,14 +59,16 @@ test: - cellprofiler --help about: - home: https://github.com/CellProfiler/CellProfiler - license: 3-clause BSD + home: "https://github.com/CellProfiler/CellProfiler" + license: "BSD-3-Clause" license_family: BSD license_file: LICENSE - summary: "CellProfiler is free, open-source software for quantitative analysis of biological images" + summary: "CellProfiler is free, open-source software for quantitative analysis of biological images." description: | CellProfiler is free, open-source software for quantitative analysis of biological images.No prior experience in programming or computer vision is required. + dev_url: "https://github.com/CellProfiler/CellProfiler" + doc_url: "https://cellprofiler-manual.s3.amazonaws.com/CellProfiler-{{ version }}/index.html" extra: container: - extended-base: true + extended-base: True diff --git a/recipes/cellqc/meta.yaml b/recipes/cellqc/meta.yaml index 898e630900d0c..0582defd01a18 100644 --- a/recipes/cellqc/meta.yaml +++ b/recipes/cellqc/meta.yaml @@ -1,5 +1,5 @@ {% set name = "cellqc" %} -{% set version = "0.0.6" %} +{% set version = "0.0.7" %} package: name: "{{ name|lower }}" @@ -7,10 +7,10 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 3da8ed9e2c275626ab2eb2c779cdb8eacf1429fce212357c0dd29c9753e08764 + sha256: d637e51cf5bbe5dae7b3fd8dc85f32af1e8b9c379882351878673bdd3ff6bf6d build: - number: 1 + number: 0 entry_points: - cellqc=cellqc.cellqc:main run_exports: diff --git a/recipes/cellsnake/meta.yaml b/recipes/cellsnake/meta.yaml index ceafb17b3f864..012b4037e3037 100644 --- a/recipes/cellsnake/meta.yaml +++ b/recipes/cellsnake/meta.yaml @@ -1,5 +1,5 @@ {% set name = "cellsnake" %} -{% set version = "0.2.0.11" %} +{% set version = "0.2.0.12" %} package: @@ -8,21 +8,22 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/cellsnake-{{ version }}.tar.gz - sha256: ceb1779bf0401db27fcfe3b7479d0f8fcd0024d2121e826cc1ca84fa333cfe5f + sha256: d8b812c5063a34cf07da900881517b1946c66f2ad2a89092168edaff5693cb7d build: noarch: python - number: 2 + number: 0 entry_points: - cellsnake=cellsnake.command_line:main - script: python -m pip install . -vv + script: python -m pip install . --ignore-installed -vv run_exports: - - {{ pin_subpackage(name, max_pin="x.x") }} + - {{ pin_compatible(name, max_pin="x.x") }} requirements: host: - pip - python + - r-base ==4.3 run: - python @@ -35,19 +36,19 @@ requirements: - pysam >=0.16.0.1 - regex >=2021.4.4 - scipy - - snakemake >=7.22.0 + - snakemake-minimal ==7.22.0 - umap-learn - plotly - - python-kaleido - - r-base ==4.2.2 + - r-ggraph ==2.1.0 - r-seurat ==4.3.0 - r-seuratobject ==4.1.3 - r-matrix <=1.5_4.1 - - r-igraph ==1.3.4 + - r-igraph - r-ggraph ==2.1.0 - r-clustree ==0.5.0 - r-dbplyr <=2.3.2 - r-ggthemes + - r-gplots - r-viridis - r-librarian - r-patchwork @@ -69,22 +70,9 @@ requirements: - r-r.utils - r-spdep - r-hdf5r - - r-monocle3 - r-rsvd - r-cowplot - r-randomcolor - - bioconductor-rhdf5lib - - bioconductor-clusterprofiler ==4.6.0 - - bioconductor-scater ==1.26.0 - - bioconductor-limma - - bioconductor-complexheatmap - - bioconductor-topgo - - bioconductor-org.hs.eg.db - - bioconductor-miqc - - bioconductor-rhdf5lib - - bioconductor-singler - - bioconductor-celldex - - bioconductor-enhancedvolcano - geos ==3.11.1 - cmake - hdf5 @@ -92,11 +80,12 @@ requirements: - r-xml - bedtools - samtools - - pandoc - kraken2 - - scanpy >=1.9.1 + - scanpy ==1.9.1 - openblas ==0.3.21 + - fastp + test: imports: - cellsnake diff --git a/recipes/cellsnp-lite/build.sh b/recipes/cellsnp-lite/build.sh index dc3736b1c75a4..ce213a712a2cf 100755 --- a/recipes/cellsnp-lite/build.sh +++ b/recipes/cellsnp-lite/build.sh @@ -1,20 +1,18 @@ #!/bin/bash -export C_INCLUDE_PATH=${PREFIX}/include -export LIBRARY_PATH=${PREFIX}/lib -export LD_LIBRARY_PATH=${PREFIX}/lib - -./configure -make +mkdir -p ${PREFIX}/bin -#cflags="-g -Wall -O2 -Wno-unused-function -fgnu89-inline -I${PREFIX}/include" +export M4="$BUILD_PREFIX/bin/m4" +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -g -Wall -O3 -Wno-implicit-function-declaration" -#if [ "`uname`" == "Darwin" ]; then -# make CC=${CC} CFLAGS="-fgnu89-inline -fcommon ${CFLAGS}" LDFLAGS="${LDFLAGS}" -#else -# make CC=${CC} CFLAGS="${cflags}" htslib_lib_dir=${PREFIX}/lib -#fi +autoreconf -if +./configure --prefix="${PREFIX}" CC="${CC}" CFLAGS="${CFLAGS}" \ + LDFLAGS="${LDFLAGS}" CPPFLAGS="${CPPFLAGS} -I${PREFIX}/include" -mkdir -p ${PREFIX}/bin -cp -f cellsnp-lite ${PREFIX}/bin +make -j"${CPU_COUNT}" +make install +chmod 0755 ${PREFIX}/bin/cellsnp-lite diff --git a/recipes/cellsnp-lite/meta.yaml b/recipes/cellsnp-lite/meta.yaml index e1bd45d54ece0..f44ac346eecc8 100644 --- a/recipes/cellsnp-lite/meta.yaml +++ b/recipes/cellsnp-lite/meta.yaml @@ -1,8 +1,9 @@ +{% set name = "cellsnp-lite" %} {% set version = "1.2.3" %} {% set sha256 = "baf84ee8fc80e5a11d31e266ed6087e7dcba65be6b8583b025c628a9ff9d9dd7" %} package: - name: cellsnp-lite + name: {{ name }} version: {{ version }} source: @@ -10,27 +11,42 @@ source: sha256: {{ sha256 }} build: - number: 2 - #skip: True # [osx] + number: 4 + run_exports: + - {{ pin_subpackage('cellsnp-lite', max_pin="x") }} requirements: build: - make - {{ compiler('c') }} + - autoconf + - automake + - libtool host: - htslib + - libcurl + - bzip2 - zlib run: - htslib - - zlib test: commands: - cellsnp-lite 2>&1 | grep -i 'options' about: - home: https://github.com/single-cell-genetics/cellsnp-lite - license: Apache-2.0 + home: "https://github.com/single-cell-genetics/cellsnp-lite" + license: "Apache-2.0" + license_family: APACHE license_file: LICENSE - summary: Efficient genotyping bi-allelic SNPs on single cells + summary: "Efficient genotyping bi-allelic SNPs on single cells." + dev_url: "https://github.com/single-cell-genetics/cellsnp-lite" + doc_url: "https://cellsnp-lite.readthedocs.io/en/latest" +extra: + identifiers: + - doi:10.1093/bioinformatics/btab358 + - biotools:cellsnp-lite + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/celltypist/meta.yaml b/recipes/celltypist/meta.yaml index 71d9216a1a3c3..41e37652722ed 100644 --- a/recipes/celltypist/meta.yaml +++ b/recipes/celltypist/meta.yaml @@ -1,5 +1,5 @@ {% set name = "celltypist" %} -{% set version = "1.6.2" %} +{% set version = "1.6.3" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: a22309230c578c3738f72643492387167053f35a610625c75d66b056cf520361 + sha256: 7f3657a78e5eba2ee839e2ba94ae0d4c14599990c0c9a3d205ae2be9206ea976 build: number: 0 diff --git a/recipes/cellxgene/meta.yaml b/recipes/cellxgene/meta.yaml index e9707286a7efb..6356ce82759b0 100644 --- a/recipes/cellxgene/meta.yaml +++ b/recipes/cellxgene/meta.yaml @@ -1,6 +1,6 @@ {% set name = "cellxgene" %} -{% set version = "1.1.2" %} -{% set sha256 = "9cdf6e626b2d884d4efa4e8cf2dd42deb4a3f9d793134d53c1c70938e8dc0a9a" %} +{% set version = "1.3.0" %} +{% set sha256 = "4c220c5b34f121c17b94a302119ac30fc31a308c3eb9101d05fa905cd133925e" %} package: name: "{{ name|lower }}" @@ -15,12 +15,14 @@ build: noarch: python entry_points: - cellxgene = server.cli.cli:cli - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + run_exports: + - {{ pin_subpackage('cellxgene', max_pin="x") }} requirements: host: - pip - - python >=3.6 + - python >=3.6,<3.12 run: - anndata >=0.7.6 - boto3 >=1.12.18 @@ -41,7 +43,7 @@ requirements: - numpy >=1.17.5 - packaging >=20.0 - pandas >=1.0,!=1.1 - - python >=3.6 + - python >=3.6,<3.12 - pyyaml >=5.4 - requests >=2.22.0 - s3fs ==0.4.2 diff --git a/recipes/cenote-taker3/meta.yaml b/recipes/cenote-taker3/meta.yaml new file mode 100644 index 0000000000000..ef401e4594085 --- /dev/null +++ b/recipes/cenote-taker3/meta.yaml @@ -0,0 +1,67 @@ +{% set name = "cenote-taker3" %} +{% set version = "3.3.2" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://github.com/mtisza1/Cenote-Taker3/archive/v{{ version }}.tar.gz" + sha256: b3b646825cedaaee15ac4e448408b8cedda2f3e1faa13a4601930bc7ff482d8b + +build: + number: 0 + noarch: python + run_exports: + - {{ pin_subpackage("cenote-taker3", max_pin="x") }} + entry_points: + - cenotetaker3 = cenote.cenotetaker3:cenotetaker3 + - get_ct3_dbs = cenote.get_ct3_databases:get_ct3_dbs + script: + - {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + +requirements: + host: + - pip + - python >=3.6 + - setuptools + run: + - python >=3.6 + - seqkit + - prodigal + - pyrodigal-gv >=0.3.1 + - hhsuite + - mmseqs2 + - trnascan-se + - minimap2 + - tbl2asn-forever + - biopython + - bedtools + - phanotate + - pyhmmer + - findutils + - coreutils + - sed + - grep + - samtools + - pandas + - pyarrow + - numpy + +test: + commands: + - cenotetaker3 --version + - get_ct3_dbs -h + +about: + home: "https://github.com/mtisza1/Cenote-Taker3" + license: MIT + license_family: MIT + license_file: LICENSE + summary: "Cenote-Taker 3: Discover and annotate the virome" + dev_url: "https://github.com/mtisza1/Cenote-Taker3" + doc_url: "https://github.com/mtisza1/Cenote-Taker3/blob/v{{ version }}/README.md" + +extra: + recipe-maintainers: + - mtisza1 diff --git a/recipes/centrifuge-core/meta.yaml b/recipes/centrifuge-core/meta.yaml index dfb689b988214..5381ccdd5d741 100644 --- a/recipes/centrifuge-core/meta.yaml +++ b/recipes/centrifuge-core/meta.yaml @@ -1,16 +1,19 @@ {% set name = "centrifuge-core" %} -{% set version = "1.0.4" %} +{% set version = "1.0.4.1" %} package: name: {{ name|lower }} version: {{ version }} build: - number: 2 + number: 0 + skip: true # [osx] + run_exports: + - {{ pin_subpackage("centrifuge-core", max_pin="x.x") }} source: url: https://github.com/DaehwanKimLab/centrifuge/archive/refs/tags/v{{ version }}.tar.gz - sha256: 929daed0f84739f7636cc1ea2757527e83373f107107ffeb5937a403ba5201bc + sha256: 638cc6701688bfdf81173d65fa95332139e11b215b2d25c030f8ae873c34e5cc requirements: build: diff --git a/recipes/centrifuge/build.sh b/recipes/centrifuge/build.sh index a5a23aa7f7d8c..2a63ab10f3cee 100644 --- a/recipes/centrifuge/build.sh +++ b/recipes/centrifuge/build.sh @@ -1,10 +1,23 @@ #!/bin/bash + +set -xe + export LDFLAGS="-L$PREFIX/lib" export CPATH=${PREFIX}/include mkdir -p $PREFIX/bin -make CXX=$CXX RELEASE_FLAGS="$CXXFLAGS" +case $(uname -m) in + aarch64) + CXXFLAGS="${CXXFLAGS} -fsigned-char" + ARCH_OPTS="SSE_FLAG= POPCNT_CAPABILITY=0" + ;; + *) + ARCH_OPTS="" + ;; +esac + +make -j ${CPU_COUNT} CXX=$CXX RELEASE_FLAGS="$CXXFLAGS" ${ARCH_OPTS} make install prefix=$PREFIX cp evaluation/{centrifuge_evaluate.py,centrifuge_simulate_reads.py} $PREFIX/bin diff --git a/recipes/centrifuge/centrifuge-linux-aarch64.patch b/recipes/centrifuge/centrifuge-linux-aarch64.patch new file mode 100644 index 0000000000000..8093e07731016 --- /dev/null +++ b/recipes/centrifuge/centrifuge-linux-aarch64.patch @@ -0,0 +1,51 @@ +diff --git i/Makefile w/Makefile +index 10e42f5..42cb38d 100644 +--- i/Makefile ++++ w/Makefile +@@ -142,24 +142,25 @@ GIT_VERSION = $(VERSION) + + # Convert BITS=?? to a -m flag + BITS=32 ++BITS_FLAG = + ifeq (x86_64,$(shell uname -m)) + BITS=64 ++BITS_FLAG = -m64 ++else ifeq (aarch64,$(shell uname -m)) ++BITS=64 + endif + # msys will always be 32 bit so look at the cpu arch instead. + ifneq (,$(findstring AMD64,$(PROCESSOR_ARCHITEW6432))) + ifeq (1,$(MINGW)) + BITS=64 ++ BITS_FLAG = -m64 + endif + endif +-BITS_FLAG = + + ifeq (32,$(BITS)) + BITS_FLAG = -m32 + endif + +-ifeq (64,$(BITS)) +- BITS_FLAG = -m64 +-endif + SSE_FLAG=-msse2 + + DEBUG_FLAGS = -O0 -g3 $(BIToS_FLAG) $(SSE_FLAG) -std=c++11 +diff --git i/third_party/cpuid.h w/third_party/cpuid.h +index 6a9688f..7c935c9 100644 +--- i/third_party/cpuid.h ++++ w/third_party/cpuid.h +@@ -21,6 +21,7 @@ + * . + */ + ++#ifndef __ARM_NEON + /* %ecx */ + #define bit_SSE3 (1 << 0) + #define bit_PCLMUL (1 << 1) +@@ -185,3 +186,4 @@ __get_cpuid (unsigned int __level, + __cpuid (__level, *__eax, *__ebx, *__ecx, *__edx); + return 1; + } ++#endif // not __ARM_NEON diff --git a/recipes/centrifuge/meta.yaml b/recipes/centrifuge/meta.yaml index 2156e793478fb..fce1fe935652b 100644 --- a/recipes/centrifuge/meta.yaml +++ b/recipes/centrifuge/meta.yaml @@ -1,16 +1,21 @@ {% set name = "centrifuge" %} -{% set version = "1.0.4" %} +{% set version = "1.0.4.1" %} package: name: {{ name|lower }} version: {{ version }} build: - number: 0 + number: 2 + skip: true # [osx] + run_exports: + - {{ pin_subpackage("centrifuge", max_pin="x.x") }} source: url: https://github.com/DaehwanKimLab/centrifuge/archive/refs/tags/v{{ version }}.tar.gz - sha256: 929daed0f84739f7636cc1ea2757527e83373f107107ffeb5937a403ba5201bc + sha256: 638cc6701688bfdf81173d65fa95332139e11b215b2d25c030f8ae873c34e5cc + patches: + - centrifuge-linux-aarch64.patch # [linux and aarch64] requirements: build: @@ -23,7 +28,7 @@ requirements: - perl - wget - tar - - python <3 + - python test: commands: @@ -31,10 +36,14 @@ test: about: home: https://github.com/DaehwanKimLab/centrifuge - license: GPL3 - summary: 'Classifier for metagenomic sequences.' + license: GPL-3.0-only + license_file: LICENSE + license_family: GPL3 + summary: 'Classifier for metagenomic sequences. Supports classifier scripts' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:Centrifuge - doi:10.1101/gr.210641.116 diff --git a/recipes/centrifuge/patch b/recipes/centrifuge/patch new file mode 100644 index 0000000000000..5a968e69311d7 --- /dev/null +++ b/recipes/centrifuge/patch @@ -0,0 +1,13 @@ +diff --git a/processor_support.h b/processor_support.h +index f68ee65..135a768 100644 +--- a/processor_support.h ++++ b/processor_support.h +@@ -49,7 +49,7 @@ public: + #elif defined(USING_GCC_COMPILER) + __get_cpuid(0x1, ®s.EAX, ®s.EBX, ®s.ECX, ®s.EDX); + #else +- std::cerr << “ERROR: please define __cpuid() for this build.\n”; ++ std::cerr << "ERROR: please define __cpuid() for this build.\n"; + assert(0); + #endif + if( !( (regs.ECX & BIT(20)) && (regs.ECX & BIT(23)) ) ) return false; \ No newline at end of file diff --git a/recipes/centrifuger/build.sh b/recipes/centrifuger/build.sh index 5198e76cc7426..f91276b92437d 100644 --- a/recipes/centrifuger/build.sh +++ b/recipes/centrifuger/build.sh @@ -1,10 +1,16 @@ #!/bin/bash -export LDFLAGS="-L$PREFIX/lib" + +set -xe + export CPATH=${PREFIX}/include +if [ $(uname -m) == "x86_64" ]; then + CXXFLAGS="${CXXFLAGS} -msse4.2" +fi + mkdir -p $PREFIX/bin -make CXX=$CXX RELEASE_FLAGS="$CXXFLAGS" +make -j ${CPU_COUNT} CXX="$CXX" CXXFLAGS="$CXXFLAGS" LINKPATH="-L${PREFIX}/lib" chmod +x centrifuger-download chmod +x centrifuger-kreport chmod +x centrifuger-inspect diff --git a/recipes/centrifuger/meta.yaml b/recipes/centrifuger/meta.yaml index a25ea6d2ebf32..dccd1d4dbe4d6 100644 --- a/recipes/centrifuger/meta.yaml +++ b/recipes/centrifuger/meta.yaml @@ -1,22 +1,21 @@ {% set name = "centrifuger" %} -{% set version = "1.0.0" %} +{% set version = "1.0.4" %} package: name: {{ name|lower }} version: {{ version }} build: - number: 0 + number: 2 run_exports: - {{ pin_subpackage(name, max_pin="x.x") }} source: url: https://github.com/mourisl/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz - sha256: 88d8e9031caa9298a2ea0c3a7a4d4a8a2a569dcc32cf6f795a13cdf03612aa49 + sha256: 5261abcfb3b88126000ae7708702d07704a0ee19d6f54f9f89f0d2e195e24d1d requirements: build: - - zlib - make - {{ compiler('cxx') }} host: @@ -40,5 +39,8 @@ about: summary: 'Lossless compression of microbial genomes for efficient and accurate metagenomic sequence classification.' extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - doi:10.1101/2023.11.15.567129 diff --git a/recipes/centrosome/build_failure.osx-64.yaml b/recipes/centrosome/build_failure.osx-64.yaml deleted file mode 100644 index cce4bed7d922b..0000000000000 --- a/recipes/centrosome/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: a4f5df4eb62cc091249a58e900ae6f4a2840736323d0ff2c71ae5d881fc2eb20 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |- - SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack - SIZE=x86_64-apple-darwin13.4.0-size - STRINGS=x86_64-apple-darwin13.4.0-strings - STRIP=x86_64-apple-darwin13.4.0-strip - _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 - ac_cv_func_malloc_0_nonnull=yes - ac_cv_func_realloc_0_nonnull=yes - build_alias=x86_64-apple-darwin13.4.0 - host_alias=x86_64-apple-darwin13.4.0 - INFO: activate_clangxx_osx-64.sh made the following environmental changes: - CLANGXX=x86_64-apple-darwin13.4.0-clang - CXX=x86_64-apple-darwin13.4.0-clang - CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/centrosome-1.2.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix - CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/centrosome-1.2.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix - Processing $SRC_DIR - Preparing metadata (pyproject.toml): started - Preparing metadata (pyproject.toml): finished with status 'done' - Building wheels for collected packages: centrosome - Building wheel for centrosome (pyproject.toml): started - Building wheel for centrosome (pyproject.toml): finished with status 'error' - error: subprocess-exited-with-error - - Building wheel for centrosome (pyproject.toml) did not run successfully. - exit code: 1 - > [50 lines of output] - running bdist_wheel - running build - running build_py - creating build - creating build/lib.macosx-10.9-x86_64-cpython-310 - creating build/lib.macosx-10.9-x86_64-cpython-310/centrosome - copying centrosome/radial_power_spectrum.py -> build/lib.macosx-10.9-x86_64-cpython-310/centrosome - copying centrosome/princomp.py -> build/lib.macosx-10.9-x86_64-cpython-310/centrosome - copying centrosome/zernike.py -> build/lib.macosx-10.9-x86_64-cpython-310/centrosome - copying centrosome/index.py -> build/lib.macosx-10.9-x86_64-cpython-310/centrosome - copying centrosome/rankorder.py -> build/lib.macosx-10.9-x86_64-cpython-310/centrosome - copying centrosome/bg_compensate.py -> build/lib.macosx-10.9-x86_64-cpython-310/centrosome - copying centrosome/__init__.py -> build/lib.macosx-10.9-x86_64-cpython-310/centrosome - Failed to build centrosome - copying centrosome/cpmorphology.py -> build/lib.macosx-10.9-x86_64-cpython-310/centrosome - copying centrosome/threshold.py -> build/lib.macosx-10.9-x86_64-cpython-310/centrosome - copying centrosome/mode.py -> build/lib.macosx-10.9-x86_64-cpython-310/centrosome - copying centrosome/watershed.py -> build/lib.macosx-10.9-x86_64-cpython-310/centrosome - copying centrosome/outline.py -> build/lib.macosx-10.9-x86_64-cpython-310/centrosome - copying centrosome/kirsch.py -> build/lib.macosx-10.9-x86_64-cpython-310/centrosome - copying centrosome/smooth.py -> build/lib.macosx-10.9-x86_64-cpython-310/centrosome - copying centrosome/filter.py -> build/lib.macosx-10.9-x86_64-cpython-310/centrosome - copying centrosome/haralick.py -> build/lib.macosx-10.9-x86_64-cpython-310/centrosome - copying centrosome/fastemd.py -> build/lib.macosx-10.9-x86_64-cpython-310/centrosome - copying centrosome/otsu.py -> build/lib.macosx-10.9-x86_64-cpython-310/centrosome - copying centrosome/neighmovetrack.py -> build/lib.macosx-10.9-x86_64-cpython-310/centrosome - copying centrosome/propagate.py -> build/lib.macosx-10.9-x86_64-cpython-310/centrosome - copying centrosome/lapjv.py -> build/lib.macosx-10.9-x86_64-cpython-310/centrosome - running build_ext - building 'centrosome._propagate' extension - creating build/temp.macosx-10.9-x86_64-cpython-310 - creating build/temp.macosx-10.9-x86_64-cpython-310/centrosome - x86_64-apple-darwin13.4.0-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/mambaforge/envs/bioconda/conda-bld/centrosome_1685547212210/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/include -fPIC -O2 -isystem /opt/mambaforge/envs/bioconda/conda-bld/centrosome_1685547212210/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem /opt/mambaforge/envs/bioconda/conda-bld/centrosome_1685547212210/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/include -fdebug-prefix-map=/opt/mambaforge/envs/bioconda/conda-bld/centrosome_1685547212210/work=/usr/local/src/conda/centrosome-1.2.1 -fdebug-prefix-map=/opt/mambaforge/envs/bioconda/conda-bld/centrosome_1685547212210/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem /opt/mambaforge/envs/bioconda/conda-bld/centrosome_1685547212210/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/include -mmacosx-version-min=10.9 -I/opt/mambaforge/envs/bioconda/conda-bld/centrosome_1685547212210/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/python3.10/site-packages/numpy/core/include -Icentrosome/include -I/opt/mambaforge/envs/bioconda/conda-bld/centrosome_1685547212210/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/include/python3.10 -c centrosome/_propagate.c -o build/temp.macosx-10.9-x86_64-cpython-310/centrosome/_propagate.o - In file included from centrosome/_propagate.c:761: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/centrosome_1685547212210/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/python3.10/site-packages/numpy/core/include/numpy/arrayobject.h:4: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/centrosome_1685547212210/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/python3.10/site-packages/numpy/core/include/numpy/ndarrayobject.h:12: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/centrosome_1685547212210/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/python3.10/site-packages/numpy/core/include/numpy/ndarraytypes.h:1969: - /opt/mambaforge/envs/bioconda/conda-bld/centrosome_1685547212210/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/python3.10/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings] - #warning "Using deprecated NumPy API, disable it with " \ - ^ - centrosome/_propagate.c:6438:3: error: incompatible pointer to integer conversion returning 'void *' from a function with result type 'int' [-Wint-conversion] - import_array(); - ^~~~~~~~~~~~~~ - /opt/mambaforge/envs/bioconda/conda-bld/centrosome_1685547212210/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/python3.10/site-packages/numpy/core/include/numpy/__multiarray_api.h:1532:151: note: expanded from macro 'import_array' - #define import_array() {if (_import_array() < 0) {PyErr_Print(); PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray failed to import"); return NULL; } } - ^~~~ - /opt/mambaforge/envs/bioconda/conda-bld/centrosome_1685547212210/_build_env/lib/clang/15.0.7/include/stddef.h:89:16: note: expanded from macro 'NULL' - # define NULL ((void*)0) - ^~~~~~~~~~ - 1 warning and 1 error generated. - error: command '/opt/mambaforge/envs/bioconda/conda-bld/centrosome_1685547212210/_build_env/bin/x86_64-apple-darwin13.4.0-clang' failed with exit code 1 - [end of output] - - note: This error originates from a subprocess, and is likely not a problem with pip. - ERROR: Failed building wheel for centrosome - ERROR: Could not build wheels for centrosome, which is required to install pyproject.toml-based projects - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/centrosome_1685547212210/work/conda_build.sh']' returned non-zero exit status 1. -# Last 100 lines of the build log. diff --git a/recipes/centrosome/meta.yaml b/recipes/centrosome/meta.yaml index 903b2211dab07..fadf6ee90961e 100644 --- a/recipes/centrosome/meta.yaml +++ b/recipes/centrosome/meta.yaml @@ -1,5 +1,5 @@ {% set name = "centrosome" %} -{% set version = "1.2.2" %} +{% set version = "1.2.3" %} package: name: "{{ name|lower }}" @@ -7,11 +7,10 @@ package: source: url: https://github.com/CellProfiler/centrosome/archive/v{{version}}.zip - sha256: bb69cd2d0f9df7976710be72c2269368588da36724537657f7d88b6d827456bf + sha256: 889ce9f79857cdf1d0d04d8d19dd749dfae4a077915fadec223717d5ddcb47fc build: - number: 0 - skip: True # [py<30] + number: 1 script: CFLAGS="$CFLAGS -Wno-error=int-conversion" python -m pip install --no-deps --ignore-installed . -vv run_exports: - {{ pin_subpackage(name, max_pin='x.x') }} @@ -44,3 +43,8 @@ about: license: BSD 3 license_file: LICENSE summary: 'An open source image processing library. Dependency for CellProfiler' + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 \ No newline at end of file diff --git a/recipes/cgat-apps/build_failure.linux-64.yaml b/recipes/cgat-apps/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..e3ce08b25b4e4 --- /dev/null +++ b/recipes/cgat-apps/build_failure.linux-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: cd4db28503c1e8d834aba9be11a1d56ca31801f1fcbbef8169312e7476bc9123 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: dependency issue +log: |2- + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("python[version='>=3.7,<3.8.0a0']"), MatchSpec("alignlib-lite==0.3=py37h3f2a3d2_2")} + Encountered problems while solving: + - package alignlib-lite-0.3-py37h3f2a3d2_2 requires python >=3.7,<3.8.0a0, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + [32malignlib-lite[0m is installable with the potential options + [32malignlib-lite 0.3[0m would require + [32mpython >=3.7,<3.8.0a0 [0m with the potential options + [32mpython [2.7.15|3.5.5|3.6.6|3.7.0][0m would require + [32mopenssl >=1.0.2o,<1.0.3a [0m, which can be installed; + [32mpython [2.7.15|3.6.6|3.6.7|3.7.0|3.7.1][0m would require + [32mopenssl >=1.0.2p,<1.0.3a [0m, which can be installed; + [32mpython [2.7.15|3.6.7|...|3.7.6][0m would require + [32mopenssl >=1.1.1a,<1.1.2a [0m, which can be installed; + [32mpypy3.6 7.3.0.* [0m with the potential options + [32mpypy3.6 7.3.0[0m would require + [32mopenssl >=1.1.1a,<1.1.2a [0m, which can be installed; + [32mpypy3.6 7.3.0[0m would require + [32mopenssl >=1.1.1d,<1.1.2a [0m, which can be installed; + [32mpypy3.6 7.3.0[0m would require + [32mopenssl >=1.1.1e,<1.1.2a [0m, which can be installed; + [32mpython 3.7.10[0m would require + [32mpypy3.7 [7.3.4.* |7.3.5.* ][0m with the potential options + [32mpypy3.7 [7.3.4|7.3.5][0m would require + [32mopenssl >=1.1.1k,<1.1.2a [0m, which can be installed; + [32mpypy3.7 7.3.5[0m would require + [32mopenssl >=1.1.1l,<1.1.2a [0m, which can be installed; + [32mpython [3.6.13|3.6.15|3.7.10|3.7.12][0m would require + [32mopenssl >=1.1.1l,<1.1.2a [0m, which can be installed; + [32mpython [3.7.10|3.7.12][0m, which can be installed; + [32mpython [3.6.13|3.7.10][0m would require + [32mopenssl >=1.1.1j,<1.1.2a [0m, which can be installed; + [32mpython [3.6.12|3.7.5|3.7.9][0m would require + [32mopenssl >=1.1.1i,<1.1.2a [0m, which can be installed; + [32mpypy3.6 7.3.3.* [0m, which requires + [32mopenssl >=1.1.1i,<1.1.2a [0m, which can be installed; + [32mpypy3.7 7.3.3.* [0m, which requires + [32mopenssl >=1.1.1i,<1.1.2a [0m, which can be installed; + [32mpython [3.6.10|3.6.11|3.7.6|3.7.8][0m would require + [32mopenssl >=1.1.1g,<1.1.2a [0m, which can be installed; + [32mpython 3.7.6[0m would require + [32mopenssl >=1.1.1e,<1.1.2a [0m, which can be installed; + [32mpython [3.6.11|3.6.12|3.6.9|3.7.8|3.7.9][0m would require + [32mopenssl >=1.1.1h,<1.1.2a [0m, which can be installed; + [32mpypy3.6 7.3.2.* [0m, which requires + [32mopenssl >=1.1.1h,<1.1.2a [0m, which can be installed; + [32malignlib-lite [0.2.3|0.3][0m would require + [32mpython [2.7* |3.6* |>=2.7,<2.8.0a0 |>=3.6,<3.7.0a0 ][0m with the potential options + [32mpython [2.7.15|3.5.5|3.6.6|3.7.0][0m, which can be installed (as previously explained); + [32mpython [2.7.15|3.6.6|3.6.7|3.7.0|3.7.1][0m, which can be installed (as previously explained); + [32mpython [2.7.15|3.6.7|...|3.7.6][0m, which can be installed (as previously explained); + [32mpython [3.6.13|3.6.15|3.7.10|3.7.12][0m, which can be installed (as previously explained); + [32mpython [3.6.13|3.7.10][0m, which can be installed (as previously explained); + [32mpython [3.6.12|3.7.5|3.7.9][0m, which can be installed (as previously explained); + [32mpython [3.6.10|3.6.11|3.7.6|3.7.8][0m, which can be installed (as previously explained); + [32mpython [3.6.11|3.6.12|3.6.9|3.7.8|3.7.9][0m, which can be installed (as previously explained); + [32mpython [2.7.12|2.7.13|...|3.6.5][0m would require + [32mopenssl [1.0* |1.0.* ][0m, which can be installed; + [32mpython [3.6.10|3.6.9][0m would require + [32mopenssl >=1.1.1f,<1.1.2a [0m, which can be installed; + [32mpypy3.6 7.3.1.* [0m, which requires + [32mopenssl >=1.1.1f,<1.1.2a [0m, which can be installed; + [32mpython [3.6.10|3.6.9][0m would require + [32mopenssl >=1.1.1d,<1.1.2a [0m, which can be installed; + [32malignlib-lite [0.2.3|0.3][0m would require + [32mpython [3.4* |3.5* |>=3.5,<3.6.0a0 ][0m, which can be installed (as previously explained); + [32malignlib-lite 0.3[0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [32malignlib-lite 0.3[0m would require + [32mpython_abi 3.7.* *_cp37m[0m, which can be installed; + [32malignlib-lite 0.3[0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32malignlib-lite 0.3[0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [32mpysam >=0.22.1,<0.23.0a0 [0m is installable with the potential options + [32mpysam 0.22.1[0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mpysam 0.22.1[0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [31mpysam 0.22.1[0m would require + [31mopenssl >=3.3.1,<4.0a0 [0m, which conflicts with any installable versions previously reported; + [32mpysam 0.22.1[0m would require + [32mpython_abi 3.12.* *_cp312[0m, which can be installed; + [32mpysam 0.22.1[0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [31mpython >=3.11,<3.12.0a0 [0m is not installable because there are no viable options + [31mpython [3.11.0|3.11.1|...|3.11.9][0m would require + [31mpython_abi 3.11.* *_cp311[0m, which conflicts with any installable versions previously reported; + [31mpython 3.11.0[0m would require + [32mopenssl >=1.1.1q,<1.1.2a [0m, which can be installed; + [31mpython_abi 3.11.* *_cp311[0m, which conflicts with any installable versions previously reported; + [31mpython 3.11.0[0m would require + [32mopenssl >=1.1.1s,<1.1.2a [0m, which can be installed; + [31mpython_abi 3.11.* *_cp311[0m, which conflicts with any installable versions previously reported; + [31mpython_abi 3.11.* *_cp311[0m is not installable because it conflicts with any installable versions previously reported. +# Last 100 lines of the build log. diff --git a/recipes/cgat-apps/build_failure.osx-64.yaml b/recipes/cgat-apps/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..63feff1b5e2d5 --- /dev/null +++ b/recipes/cgat-apps/build_failure.osx-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: cd4db28503c1e8d834aba9be11a1d56ca31801f1fcbbef8169312e7476bc9123 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: dependency issue +log: |2- + alignlib-lite 0.3 would require + python_abi 3.7.* *_cp37m, which can be installed; + alignlib-lite 0.3 would require + python >=3.7,<3.8.0a0 , which can be installed; + alignlib-lite 0.3 would require + python_abi 3.8.* *_cp38, which can be installed; + alignlib-lite 0.3 would require + python_abi 3.9.* *_cp39, which can be installed; + pysam >=0.22.1,<0.23.0a0 is installable with the potential options + pysam 0.22.1 would require + xz >=5.2.6,<6.0a0 , which conflicts with any installable versions previously reported; + pysam 0.22.1 would require + python_abi 3.12.* *_cp312, which can be installed; + python >=3.11,<3.12.0a0 is not installable because it requires + python_abi 3.11.* *_cp311, which conflicts with any installable versions previously reported; + python_abi 3.11.* *_cp311 is not installable because it conflicts with any installable versions previously reported. + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2409, in build + create_build_envs(top_level_pkg, notest) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2247, in create_build_envs + raise e + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2220, in create_build_envs + environ.get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {MatchSpec("alignlib-lite==0.2.3=py27_1"), MatchSpec("python=2.7")} + Encountered problems while solving: + - package alignlib-lite-0.2.3-py27_1 requires python 2.7*, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + alignlib-lite is installable with the potential options + alignlib-lite [0.2.3|0.3] would require + python [2.7* |>=2.7,<2.8.0a0 ], which can be installed; + alignlib-lite [0.2.3|0.3] would require + python 3.4* , which can be installed; + alignlib-lite [0.2.3|0.3] would require + python [3.5* |>=3.5,<3.6.0a0 ] with the potential options + python [3.5.1|3.5.2] would require + xz 5.0.* , which can be installed; + python [3.5.2|3.5.3|3.5.4|3.5.5], which can be installed; + alignlib-lite 0.3 would require + python_abi 2.7.* *_cp27m, which can be installed; + alignlib-lite 0.3 would require + python_abi 3.10.* *_cp310, which can be installed; + alignlib-lite 0.3 would require + python 3.6* , which can be installed; + alignlib-lite 0.3 would require + python >=3.6,<3.7.0a0 , which can be installed; + alignlib-lite 0.3 would require + python_abi 3.6.* *_cp36m, which can be installed; + alignlib-lite 0.3 would require + python_abi 3.7.* *_cp37m, which can be installed; + alignlib-lite 0.3 would require + python >=3.7,<3.8.0a0 , which can be installed; + alignlib-lite 0.3 would require + python_abi 3.8.* *_cp38, which can be installed; + alignlib-lite 0.3 would require + python_abi 3.9.* *_cp39, which can be installed; + pysam >=0.22.1,<0.23.0a0 is installable with the potential options + pysam 0.22.1 would require + xz >=5.2.6,<6.0a0 , which conflicts with any installable versions previously reported; + pysam 0.22.1 would require + python_abi 3.12.* *_cp312, which can be installed; + python >=3.11,<3.12.0a0 is not installable because it requires + python_abi 3.11.* *_cp311, which conflicts with any installable versions previously reported; + python_abi 3.11.* *_cp311 is not installable because it conflicts with any installable versions previously reported. +# Last 100 lines of the build log. diff --git a/recipes/cgat-apps/meta.yaml b/recipes/cgat-apps/meta.yaml index a31ea03d5e61f..4cf264a7950fe 100644 --- a/recipes/cgat-apps/meta.yaml +++ b/recipes/cgat-apps/meta.yaml @@ -1,17 +1,20 @@ -{% set version = "0.6.5" %} +{% set name = "cgat-apps" %} +{% set version = "0.7.2" %} package: - name: cgat-apps + name: {{ name|lower }} version: {{ version }} source: url: https://pypi.io/packages/source/c/cgat/cgat-{{ version }}.tar.gz - sha256: c2350e2e1e6897839537b0ed17b4a03140141d0f0c15cb804e6e7aa12e2d2b70 + sha256: 746701d1a6677e8200092894c35c942383123fd8e22ab172f3ef6b2222b8eaef build: - skip: True # [py2k or py == 39 or py == 36] - number: 3 + number: 2 + skip: true # [py == 312] + run_exports: + - {{ pin_subpackage('cgat-apps', max_pin="x.x") }} entry_points: - cgat = cgat.cgat:main @@ -23,34 +26,29 @@ requirements: - python - cython - numpy - - pysam>=0.17.0 + - pysam - htslib - setuptools - - ucsc-wigtobigwig run: - python - - cgatcore>=0.6.5 + - cgatcore - alignlib-lite - biopython - - future - matplotlib-base - numpy - pandas - pybedtools - pybigwig - - pysam>=0.17.0 + - pysam - htslib - pyyaml - quicksect - scipy - - six - - jinja2 - scikit-learn - sortedcontainers # Misc dependencies - bedtools - ucsc-bedgraphtobigwig - - ucsc-bedtobigbed - ucsc-wigtobigwig - coreutils - grep diff --git a/recipes/cgatcore/meta.yaml b/recipes/cgatcore/meta.yaml index c654b1ae42507..2dfaeabb0c6ac 100644 --- a/recipes/cgatcore/meta.yaml +++ b/recipes/cgatcore/meta.yaml @@ -1,5 +1,5 @@ {% set name = "cgatcore" %} -{% set version = "0.6.15" %} +{% set version = "0.6.16" %} package: name: {{ name|lower }} @@ -7,11 +7,13 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: a8a4e5867ae327307cbd49118d52add5ec7429d9ac1ac70f5189eff997f40360 + sha256: ae32907ff806829fa2389c6e27e658097c0a8dab1e4bed4123d9f85f4ba04be0 build: number: 0 noarch: python + run_exports: + - {{ pin_subpackage('cgatcore', max_pin="x.x") }} script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv" requirements: diff --git a/recipes/cgelib/meta.yaml b/recipes/cgelib/meta.yaml new file mode 100644 index 0000000000000..e36cc291d1629 --- /dev/null +++ b/recipes/cgelib/meta.yaml @@ -0,0 +1,39 @@ +{% set name = "cgelib" %} +{% set version = "0.7.5" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/cgelib-{{ version }}.tar.gz + sha256: f125106027dd4998dca8b73e2a558fc2fa2bbc968632162203fb3d93beb04452 + +build: + number: 0 + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation + run_exports: + - {{ pin_subpackage('cgelib', max_pin="x.x") }} + +requirements: + host: + - python >=3.6 + - pip + - wheel + run: + - python >=3.6 + - python-dateutil + - gitpython + +test: + imports: + - cgelib + +about: + home: https://genomicepidemiology.org/ + summary: "This package will in time replace the cgecore package. The package contains classes and functions intended to be utilized across the CGE tools." + license: Apache-2.0 + license_family: APACHE + license_file: LICENSE.txt + dev_url: https://bitbucket.org/genomicepidemiology/cgelib diff --git a/recipes/cgpbigwig/build.sh b/recipes/cgpbigwig/build.sh index 9edc78b675ced..b6dc41ab0af68 100644 --- a/recipes/cgpbigwig/build.sh +++ b/recipes/cgpbigwig/build.sh @@ -1,10 +1,13 @@ #!/bin/bash + +set -xe + mkdir -p $PREFIX/bin make -C c clean sed -i.bak "s#gcc#${CC}#" c/Makefile # This is needed for the testing in the makefile to work export LD_LIBRARY_PATH=${PREFIX}/lib -make -C c prefix=$PREFIX HTSLOC=$PREFIX/lib OPTINC="-I$PREFIX/include" LFLAGS="-L$PREFIX/lib" +make -j ${CPU_COUNT} -C c prefix=$PREFIX HTSLOC=$PREFIX/lib OPTINC="-I$PREFIX/include" LFLAGS="-L$PREFIX/lib" cp bin/* $PREFIX/bin diff --git a/recipes/cgpbigwig/meta.yaml b/recipes/cgpbigwig/meta.yaml index 33b1a00eb46dc..6b1022168b253 100644 --- a/recipes/cgpbigwig/meta.yaml +++ b/recipes/cgpbigwig/meta.yaml @@ -1,16 +1,18 @@ -{% set version = "1.6.0" %} +{% set version = "1.7.0" %} package: name: cgpbigwig version: {{ version }} build: - number: 7 + number: 0 skip: True # [osx] + run_exports: + - {{ pin_subpackage('cgpbigwig', max_pin="x") }} source: url: https://github.com/cancerit/cgpBigWig/archive/{{ version }}.tar.gz - sha256: d92a27f34a7a58cc16adc7244a97d53d98e0efd5fac1f676ef18181e47fc7b0d + sha256: d1dff8cdf35b8ffa231b999e79c44f8a4897e469224652da50d2a116c45b2b8b requirements: build: @@ -30,11 +32,16 @@ requirements: about: home: https://github.com/cancerit/cgpBigWig - license: GPLv3 + license: GPL-3.0-only license_file: LICENSE + license_family: GPL3 summary: BigWig manpulation tools using libBigWig and htslib test: commands: - bam2bw -h - detectExtremeDepth -h + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/cgranges/meta.yaml b/recipes/cgranges/meta.yaml index 6ee6024d92d26..cc8be36d7d0a4 100644 --- a/recipes/cgranges/meta.yaml +++ b/recipes/cgranges/meta.yaml @@ -11,8 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 0 - skip: True # [py27] + number: 2 script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation -vvv . run_exports: - {{ pin_subpackage('cgranges', max_pin="x") }} @@ -38,5 +37,8 @@ about: summary: "cgranges is a small C library for genomic interval overlap queries" extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - nh13 diff --git a/recipes/cgt/meta.yaml b/recipes/cgt/meta.yaml new file mode 100644 index 0000000000000..9afec628b546a --- /dev/null +++ b/recipes/cgt/meta.yaml @@ -0,0 +1,31 @@ +{% set name = "cgt" %} +{% set version = "1.0.0" %} + +package: + name: {{ name|lower}} + version: {{ version }} + +source: + url: https://github.com/bacpop/{{ name }}/archive/v{{ version }}.tar.gz + sha256: d79750878e45853e46a3e991e8f7274a2de248bca58476b2be7e527caac3ab2b + +build: + number: 0 + script: "cargo install --no-track --locked --verbose --root \"${PREFIX}\" --path ." + run_exports: + - {{ pin_subpackage("cgt", max_pin="x") }} + +requirements: + build: + - {{ compiler('rust') }} + +test: + commands: + - cgt_bacpop -V + +about: + home: https://github.com/bacpop/cgt + license: Apache-2.0 + license_family: APACHE + license_file: LICENSE.txt + summary: Calculate a core genome threshold (cgt) from metagenome data diff --git a/recipes/checkatlas/meta.yaml b/recipes/checkatlas/meta.yaml index 200cb63dfda15..3baabf8a06abf 100644 --- a/recipes/checkatlas/meta.yaml +++ b/recipes/checkatlas/meta.yaml @@ -1,5 +1,5 @@ {% set name = "checkatlas" %} -{% set version = "0.4.2" %} +{% set version = "0.4.17" %} package: name: "{{ name|lower }}" @@ -7,34 +7,28 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 2bf72a64d383d260dfd33c17f7d823f303973947b339fd32ee39e2a8d54ec241 + sha256: 3b831f58142cfd3a51fbf0df6a88e588d04f3df40a2a33a69cab7e8d6785b179 build: number: 0 entry_points: - checkatlas = checkatlas.__main__:main - checkatlas-workflow = checkatlas.checkatlas_workflow:main - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" noarch: python + run_exports: + - {{ pin_subpackage('checkatlas', max_pin="x.x") }} requirements: host: - - llvmlite >=0.39.1,<0.40.0 - - numba >=0.56.4,<0.57.0 - - numpy >=1.23.5,<2.0.0 - pip - - poetry >=1.5.1,<2.0.0 + - poetry-core >=1.5.1,<2.0.0 - python >=3.10 - - rpy2 ==3.5.10 - - scanpy >=1.9.1,<2.0.0 - - scikit-learn >=1.2.1,<2.0.0 - - types-pyyaml >=6.0.12.6,<7.0.0.0 run: + - python >=3.10 - llvmlite >=0.39.1,<0.40.0 - numba >=0.56.4,<0.57.0 - numpy >=1.23.5,<2.0.0 - - poetry >=1.5.1,<2.0.0 - - python >=3.10 - rpy2 ==3.5.10 - scanpy >=1.9.1,<2.0.0 - scikit-learn >=1.2.1,<2.0.0 diff --git a/recipes/checkm-genome/meta.yaml b/recipes/checkm-genome/meta.yaml index ad33337274a8c..1a7aeba1e7066 100644 --- a/recipes/checkm-genome/meta.yaml +++ b/recipes/checkm-genome/meta.yaml @@ -1,31 +1,34 @@ -{% set version="1.2.2" %} -{% set hash="a748b94e93f8d5fecfd0d5b3f17fcb119b25d4b45217e047b2fd742b21e74c0e" %} +{% set name = "checkm-genome" %} +{% set version = "1.2.3" %} +{% set sha256 = "5f8340e71d3256ba8cf407d27bdc7914d1aa86b14b2d63d1e32cceb325e5aa82" %} package: - name: checkm-genome + name: {{ name }} version: {{ version }} source: url: https://github.com/Ecogenomics/CheckM/archive/v{{ version }}.tar.gz - sha256: {{ hash }} + sha256: {{ sha256 }} build: number: 1 noarch: python - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vvv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + run_exports: + - {{ pin_subpackage('checkm-genome', max_pin="x") }} requirements: host: - python >=3.6 - pip run: - - python >=3.6 - - numpy >=1.13.1 - - scipy >=0.19.1 - - matplotlib-base >=2.1.0 + - python >=3.6, <3.12 + - numpy >=1.21.3 + - scipy >=1.7.3 + - matplotlib-base >=3.5.1 # older pysam versions have wrong openssl pinning - - pysam >=0.15.3 - - dendropy >=4.4.0 + - pysam >=0.19.0 + - dendropy >=4.5.2 - hmmer >=3.1b1 - prodigal >=2.6.1 - pplacer ==1.1.alpha19 @@ -39,7 +42,10 @@ test: - checkm.util about: - home: https://ecogenomics.github.io/CheckM/ - license: GPL3 + home: "https://github.com/Ecogenomics/CheckM" + license: GPL-3.0-or-later + license_family: GPL3 license_file: LICENSE summary: 'Assess the quality of microbial genomes recovered from isolates, single cells, and metagenomes.' + dev_url: "https://github.com/Ecogenomics/CheckM" + doc_url: "https://ecogenomics.github.io/CheckM" diff --git a/recipes/checkm2/meta.yaml b/recipes/checkm2/meta.yaml index f7cebe50adf4d..afe8d667d5ee1 100644 --- a/recipes/checkm2/meta.yaml +++ b/recipes/checkm2/meta.yaml @@ -1,18 +1,21 @@ -{% set name = "checkm2" %} -{% set version = "1.0.1" %} +{% set name = "CheckM2" %} +{% set version = "1.0.2" %} +{% set sha256 = "9d3129e4d0b53acc38519a259cc1e20a215dff0cbce51cef874545ca2fff005a" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/CheckM2-{{ version }}.tar.gz - sha256: 31b228bd44609168d6971391f28c6fde29b4d1f52d411d705cb9a281d618bb17 + url: https://github.com/chklovski/{{ name }}/archive/{{ version }}.tar.gz + sha256: {{ sha256 }} build: - script: {{ PYTHON }} -m pip install . -vv number: 0 noarch: python + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} + script: {{ PYTHON }} -m pip install . -vv requirements: host: @@ -36,15 +39,17 @@ requirements: test: commands: - - {{ name }} --version | grep '{{ version }}' - + - checkm2 --help about: home: https://github.com/chklovski/CheckM2 - summary: CheckM2 - Predicting the quality of metagenome-recovered bins - license: GPL-3.0 + license: GPL-3.0-only + license_family: GPL license_file: LICENSE + summary: "Assessing the quality of metagenome-derived genome bins using machine learning." + dev_url: https://github.com/chklovski/CheckM2 extra: + notes: "CheckM2 requries the DIAMOND database that can be downloaded with `checkm2 database --download`." recipe-maintainers: - chklovski diff --git a/recipes/checkqc/meta.yaml b/recipes/checkqc/meta.yaml index 4192646a5e34c..4b0cb5b4016dd 100644 --- a/recipes/checkqc/meta.yaml +++ b/recipes/checkqc/meta.yaml @@ -1,35 +1,40 @@ {% set name = "checkQC" %} -{% set version = "3.8.2" %} +{% set version = "4.0.5" %} +{% set sha256 = "f5ff8985baeb079d2e6731fbfebc0a26a2d14c752cdcddffd322b251053acd71" %} package: name: "{{ name|lower }}" version: "{{ version }}" source: - url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 3aeb234d64aede3377f33b7573eb4719d7c665d68985e8713b16159a1be87988 + url: https://github.com/Molmed/checkQC/archive/refs/tags/v{{ version }}.tar.gz + sha256: {{ sha256 }} build: - number: 1 + number: 0 noarch: python entry_points: - checkqc = checkQC.app:start - checkqc-ws = checkQC.web_app:start - script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + script: "{{ PYTHON }} -m pip install . -vvv" run_exports: - - {{ pin_subpackage('checkqc', max_pin="x") }} + - {{ pin_subpackage('checkqc') }} requirements: host: - pip - python >=3.6,<3.11 run: + - python >=3.6,<3.11 - click >=8.1.1 - - PyYAML >=6.0 + - pyyaml >=6.0 - illumina-interop >=1.2.4 - xmltodict >=0.13.0 - tornado >=6.3.2 - sample-sheet >=0.13.0 + - numpy >=1.26.4 + - pandas >=2.2.2 + test: imports: - checkQC @@ -41,10 +46,12 @@ test: about: home: "https://www.github.com/Molmed/checkQC" - license: GPL-3.0-or-later + license: GPLv3 license_family: GPL3 license_file: LICENSE summary: "A simple program to parse Illumina NGS data and check it for quality criteria." + doc_url: "https://checkqc.readthedocs.io/en/latest/" + dev_url: "https://www.github.com/Molmed/checkQC" extra: recipe-maintainers: diff --git a/recipes/checkv/meta.yaml b/recipes/checkv/meta.yaml index 50aa0beb676aa..544e4afbcee9f 100644 --- a/recipes/checkv/meta.yaml +++ b/recipes/checkv/meta.yaml @@ -1,5 +1,5 @@ {% set name = "checkv" %} -{% set version = "1.0.1" %} +{% set version = "1.0.3" %} package: name: "{{ name|lower }}" @@ -7,27 +7,31 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: c32b93e67ba92cd64e9214754d96c527152bda4cd06cc8214afe68130c33ea6e + sha256: 2438516f270191267a9860dfe31bf596d64a4fbc16be922b46fb6a4fd98d762a build: number: 0 noarch: python + script: "{{ PYTHON }} -m pip install . -vv" entry_points: - checkv=checkv.cli:cli - script: "{{ PYTHON }} -m pip install . -vv" + run_exports: + - {{ pin_subpackage("checkv", max_pin="x") }} requirements: host: - python >=3.6 - pip + - flit-core >=3.2,<4 run: - python >=3.6 - biopython - importlib-metadata >=0.12 - numpy - psutil + - requests - kcounter - - diamond + - diamond <=2.1.8 - hmmer - prodigal-gv diff --git a/recipes/chewbbaca/meta.yaml b/recipes/chewbbaca/meta.yaml index c54514c5a1e82..6b0161564da8c 100644 --- a/recipes/chewbbaca/meta.yaml +++ b/recipes/chewbbaca/meta.yaml @@ -1,13 +1,15 @@ {% set name = 'chewBBACA' %} -{% set version = '3.3.1' %} +{% set version = '3.3.10' %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: e8abae869c60763670b2d53515188cd06ab4b48ef05e7387ba9849511c695f18 + url: https://github.com/B-UMMI/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + # url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + sha256: bb3f3bbc81d3469c36d2038302ee32964c630d261dd9e5954aa3fdcb46728c0c + # sha256: b54c5f4fb2f3c943f9ec51e5b81f4fb9a312fcc87fdea6e0a9f3edbebdf62308 build: number: 0 @@ -27,8 +29,8 @@ requirements: - python >=3.7 - numpy >=1.24.3 - scipy >=1.10.1 - - biopython >=1.78 - - pandas >=1.5.1 + - biopython >=1.79 + - pandas >=1.5.1,<2.1 - plotly >=5.8.0 - requests >=2.27.1 - sparqlwrapper >=2.0.0 diff --git a/recipes/chia-rep/build_failure.linux-64.yaml b/recipes/chia-rep/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..2da8006503a6b --- /dev/null +++ b/recipes/chia-rep/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 8ff458bbc184c34e9233f6597ebad2bc7eb9de8afd151614a49ac3ad0787623f # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + reading manifest file 'ChIA_Rep.egg-info/SOURCES.txt' + reading manifest template 'MANIFEST.in' + adding license file 'LICENSE' + writing manifest file 'ChIA_Rep.egg-info/SOURCES.txt' + copying chia_rep/util.c -> build/lib.linux-x86_64-cpython-312/chia_rep + copying chia_rep/util.pyx -> build/lib.linux-x86_64-cpython-312/chia_rep + running build_ext + building 'chia_rep.util' extension + creating build/temp.linux-x86_64-cpython-312 + creating build/temp.linux-x86_64-cpython-312/chia_rep + /opt/conda/conda-bld/chia-rep_1717892898024/_build_env/bin/x86_64-conda-linux-gnu-cc -fno-strict-overflow -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/conda/conda-bld/chia-rep_1717892898024/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/include -fPIC -O2 -isystem /opt/conda/conda-bld/chia-rep_1717892898024/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/include -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /opt/conda/conda-bld/chia-rep_1717892898024/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/include -fdebug-prefix-map=/opt/conda/conda-bld/chia-rep_1717892898024/work=/usr/local/src/conda/chia-rep-3.1.1 -fdebug-prefix-map=/opt/conda/conda-bld/chia-rep_1717892898024/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac=/usr/local/src/conda-prefix -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /opt/conda/conda-bld/chia-rep_1717892898024/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/include -fPIC -I/opt/conda/conda-bld/chia-rep_1717892898024/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/include/python3.12 -c chia_rep/util.c -o build/temp.linux-x86_64-cpython-312/chia_rep/util.o + chia_rep/util.c:211:12: fatal error: longintrepr.h: No such file or directory + 211 | #include "longintrepr.h" + | ^~~~~~~~~~~~~~~ + compilation terminated. + error: command '/opt/conda/conda-bld/chia-rep_1717892898024/_build_env/bin/x86_64-conda-linux-gnu-cc' failed with exit code 1 + [1;31merror[0m: [1msubprocess-exited-with-error[0m + + [31m[0m [32mpython setup.py bdist_wheel[0m did not run successfully. + [31m[0m exit code: [1;36m1[0m + [31m>[0m See above for output. + + [1;35mnote[0m: This error originates from a subprocess, and is likely not a problem with pip. + [1;35mfull command[0m: [34m/opt/conda/conda-bld/chia-rep_1717892898024/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin/python -u -c '[0m + [34m exec(compile('"'"''"'"''"'"'[0m + [34m # This is -- a caller that pip uses to run setup.py[0m + [34m #[0m + [34m # - It imports setuptools before invoking setup.py, to enable projects that directly[0m + [34m # import from distutils.core to work with newer packaging standards.[0m + [34m # - It provides a clear error message when setuptools is not installed.[0m + [34m # - It sets sys.argv[0] to the underlying setup.py, when invoking setup.py so[0m + [34m # setuptools doesn'"'"'t think the script is -c. This avoids the following warning:[0m + [34m # manifest_maker: standard file '"'"'-c'"'"' not found".[0m + [34m # - It generates a shim setup.py, for handling setup.cfg-only projects.[0m + [34m import os, sys, tokenize[0m + [34m [0m + [34m try:[0m + [34m import setuptools[0m + [34m except ImportError as error:[0m + [34m print([0m + [34m "ERROR: Can not execute setup.py since setuptools is not available in "[0m + [34m "the build environment.",[0m + [34m file=sys.stderr,[0m + [34m )[0m + [34m sys.exit(1)[0m + [34m [0m + [34m __file__ = %r[0m + [34m sys.argv[0] = __file__[0m + [34m [0m + [34m if os.path.exists(__file__):[0m + [34m filename = __file__[0m + [34m with tokenize.open(__file__) as f:[0m + [34m setup_py_code = f.read()[0m + [34m else:[0m + [34m filename = ""[0m + [34m setup_py_code = "from setuptools import setup; setup()"[0m + [34m [0m + [34m exec(compile(setup_py_code, filename, "exec"))[0m + [34m '"'"''"'"''"'"' % ('"'"'/opt/conda/conda-bld/chia-rep_1717892898024/work/setup.py'"'"',), "", "exec"))' bdist_wheel -d /tmp/pip-wheel-f89o_ox3[0m + [1;35mcwd[0m: /opt/conda/conda-bld/chia-rep_1717892898024/work/ + Building wheel for ChIA-Rep (setup.py): finished with status 'error' + [31m ERROR: Failed building wheel for ChIA-Rep[0m[31m + [0m Running setup.py clean for ChIA-Rep + Running command python setup.py clean + running clean + removing 'build/temp.linux-x86_64-cpython-312' (and everything under it) + removing 'build/lib.linux-x86_64-cpython-312' (and everything under it) + 'build/bdist.linux-x86_64' does not exist -- can't clean it + 'build/scripts-3.12' does not exist -- can't clean it + removing 'build' + Failed to build ChIA-Rep + [31mERROR: Could not build wheels for ChIA-Rep, which is required to install pyproject.toml-based projects[0m[31m + [0mException information: + Traceback (most recent call last): + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper + status = run_func(*args) + ^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper + return func(self, options, args) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/commands/install.py", line 429, in run + raise InstallationError( + pip._internal.exceptions.InstallationError: Could not build wheels for ChIA-Rep, which is required to install pyproject.toml-based projects + Removed build tracker: '/tmp/pip-build-tracker-hxy4xhuy' + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/chia-rep_1717892898024/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/chia-rep/build_failure.osx-64.yaml b/recipes/chia-rep/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..943283b5e9828 --- /dev/null +++ b/recipes/chia-rep/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 8ff458bbc184c34e9233f6597ebad2bc7eb9de8afd151614a49ac3ad0787623f # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/chia-rep_1717683959380/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/chia-rep_1717683959380/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/chia-rep_1717683959380/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/chia-rep-3.1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/chia-rep-3.1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/chia-rep_1717683959380/work/conda_build.sh']' returned non-zero exit status 1. + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/chia-rep-3.1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/chia-rep-3.1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + Using pip 24.0 from $PREFIX/lib/python3.11/site-packages/pip (python 3.11) + Non-user install because user site-packages disabled + Ignoring indexes: https://pypi.org/simple + Created temporary directory: /private/tmp/pip-build-tracker-el8qa0rn + Initialized build tracking at /private/tmp/pip-build-tracker-el8qa0rn + Created build tracker: /private/tmp/pip-build-tracker-el8qa0rn + Entered build tracker: /private/tmp/pip-build-tracker-el8qa0rn + Created temporary directory: /private/tmp/pip-install-19ejc1lj + Created temporary directory: /private/tmp/pip-ephem-wheel-cache-h_bxkjw_ + Processing $SRC_DIR + Added file://$SRC_DIR to build tracker '/private/tmp/pip-build-tracker-el8qa0rn' + Running setup.py (path:$SRC_DIR/setup.py) egg_info for package from file://$SRC_DIR + Created temporary directory: /private/tmp/pip-pip-egg-info-wh38j9_a + Preparing metadata (setup.py): started + Preparing metadata (setup.py): finished with status 'done' + Source in $SRC_DIR has version 3.1.1, which satisfies requirement ChIA-Rep==3.1.1 from file://$SRC_DIR + Removed ChIA-Rep==3.1.1 from file://$SRC_DIR from build tracker '/private/tmp/pip-build-tracker-el8qa0rn' + Created temporary directory: /private/tmp/pip-unpack-6k50nkfr + Building wheels for collected packages: ChIA-Rep + Created temporary directory: /private/tmp/pip-wheel-b85llgno + Building wheel for ChIA-Rep (setup.py): started + Destination directory: /private/tmp/pip-wheel-b85llgno + Building wheel for ChIA-Rep (setup.py): finished with status 'error' + Running setup.py clean for ChIA-Rep + Failed to build ChIA-Rep + Exception information: + Traceback (most recent call last): + File "$PREFIX/lib/python3.11/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper + status = run_func(*args) + ^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.11/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper + return func(self, options, args) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.11/site-packages/pip/_internal/commands/install.py", line 429, in run + raise InstallationError( + pip._internal.exceptions.InstallationError: Could not build wheels for ChIA-Rep, which is required to install pyproject.toml-based projects + Removed build tracker: '/private/tmp/pip-build-tracker-el8qa0rn' +# Last 100 lines of the build log. diff --git a/recipes/chia-rep/meta.yaml b/recipes/chia-rep/meta.yaml index 5a71cc5f032e7..f9c88f62c885b 100644 --- a/recipes/chia-rep/meta.yaml +++ b/recipes/chia-rep/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 65b69c0ee914828544a92a756610c790804b367ea420666ab36641c85e1c2d50 build: - number: 3 + number: 4 skip: True # [py27] script: "{{ PYTHON }} -m pip install . -vv" diff --git a/recipes/chips/build_failure.osx-64.yaml b/recipes/chips/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..1ff5dbf4df999 --- /dev/null +++ b/recipes/chips/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 650459837761454ad8f1f51856ed5a78655cf6ce77f1b0f17bc480c003baa934 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + CLANG=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/chips_1717631135898/work/conda_build.sh']' returned non-zero exit status 2. + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/chips-2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/chips-2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/chips-2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + -- The C compiler identification is Clang 16.0.6 + -- The CXX compiler identification is Clang 16.0.6 + -- Detecting C compiler ABI info + -- Detecting C compiler ABI info - done + -- Check for working C compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting C compile features + -- Detecting C compile features - done + -- Detecting CXX compiler ABI info + -- Detecting CXX compiler ABI info - done + -- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting CXX compile features + -- Detecting CXX compile features - done + -- Configuring done (1.4s) + -- Generating done (0.0s) + -- Build files have been written to: $SRC_DIR/build + [ 2%] Creating directories for 'zlib' + [ 5%] Performing download step (git clone) for 'zlib' + -- zlib download command succeeded. See also $SRC_DIR/build/thirdparty/zlib/src/zlib-stamp/zlib-download-*.log + [ 8%] No update step for 'zlib' + [ 11%] No patch step for 'zlib' + [ 13%] Performing configure step for 'zlib' + Building static library libz.a version 1.2.8 with x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/chips-2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I$PREFIX/include -DVERSION=1.2.3 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -lz. + Checking for off64_t... No. + Checking for fseeko... Yes. + Checking for strerror... Yes. + Checking for unistd.h... Yes. + Checking for stdarg.h... Yes. + Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf(). + Checking for vsnprintf() in stdio.h... Yes. + Checking for return value of vsnprintf()... Yes. + Checking for attribute(visibility) support... No. + [ 16%] Performing build step for 'zlib' + [ 19%] Performing install step for 'zlib' + -- zlib install command succeeded. See also $SRC_DIR/build/thirdparty/zlib/src/zlib-stamp/zlib-install-*.log + [ 22%] Completed 'zlib' + [ 22%] Built target zlib + [ 25%] Creating directories for 'htslib' + [ 27%] Performing download step (git clone) for 'htslib' + -- htslib download command succeeded. See also $SRC_DIR/build/thirdparty/htslib/src/htslib-stamp/htslib-download-*.log + [ 30%] No update step for 'htslib' + [ 33%] No patch step for 'htslib' + [ 36%] No configure step for 'htslib' + [ 38%] Performing build step for 'htslib' + [ 41%] Performing install step for 'htslib' + [ 44%] Completed 'htslib' + [ 44%] Built target htslib + [ 47%] Building CXX object lib/CMakeFiles/ChIPs.dir/bam_io.cpp.o +# Last 100 lines of the build log. diff --git a/recipes/chips/meta.yaml b/recipes/chips/meta.yaml index 1e04f51a2bf4f..225760c303b73 100644 --- a/recipes/chips/meta.yaml +++ b/recipes/chips/meta.yaml @@ -9,7 +9,7 @@ source: sha256: 66577a898cb07986aab27124d748e146cb4c79a01694ce2e073ae45f2ff37ce0 build: - number: 6 + number: 7 requirements: build: diff --git a/recipes/chopper/meta.yaml b/recipes/chopper/meta.yaml index d48214ed8d874..00dbb1806606e 100644 --- a/recipes/chopper/meta.yaml +++ b/recipes/chopper/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.7.0" %} +{% set version = "0.9.0" %} package: name: chopper @@ -11,7 +11,7 @@ build: source: url: https://github.com/wdecoster/chopper/archive/v{{ version }}.tar.gz - sha256: ff7e718084d16d4fa8ec40ede655d87dad5097e3e0f2d10cb278bcced02b586c + sha256: ae5b6f8f5ffde45582998b63cb45b4221b25ee37a9fde7a256e653c7f3f12075 requirements: build: diff --git a/recipes/chorus2/build_failure.linux-64.yaml b/recipes/chorus2/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..4534e2106446f --- /dev/null +++ b/recipes/chorus2/build_failure.linux-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: dc8bf1940be247d92ef84e2e61509f15a0724bd1316707bffd870b49ee20296a # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: dependency issue +log: |2- + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("python_abi==3.9=1_cp39")} + Encountered problems while solving: + - package pyqt-4.11.4-py27_0 has constraint python_abi * *_cp27mu conflicting with python_abi-3.9-1_cp39 + + Could not solve for environment specs + The following packages are incompatible + [32mpyqt <5.11 [0m is installable with the potential options + [32mpyqt [4.11.4|5.6.0|5.9.2][0m would require + [32mpython_abi * *_cp27mu[0m, which can be installed; + [32mpyqt 4.11.4[0m would require + [32mpython_abi * *_cp34m[0m, which can be installed; + [32mpyqt [4.11.4|5.6.0][0m would require + [32mpython_abi * *_cp35m[0m, which can be installed; + [32mpyqt [4.11.4|5.6.0|5.9.2][0m would require + [32mpython_abi * *_cp36m[0m, which can be installed; + [32mpyqt [5.6.0|5.9.2][0m would require + [32mpython_abi * *_cp37m[0m, which can be installed; + [31mpython_abi 3.9.* *_cp39[0m is not installable because it conflicts with any installable versions previously reported. + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2409, in build + create_build_envs(top_level_pkg, notest) + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2247, in create_build_envs + raise e + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2220, in create_build_envs + environ.get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("python_abi==3.9=1_cp39")} + Encountered problems while solving: + - package pyqt-4.11.4-py27_0 has constraint python_abi * *_cp27mu conflicting with python_abi-3.9-1_cp39 + + Could not solve for environment specs + The following packages are incompatible + [32mpyqt <5.11 [0m is installable with the potential options + [32mpyqt [4.11.4|5.6.0|5.9.2][0m would require + [32mpython_abi * *_cp27mu[0m, which can be installed; + [32mpyqt 4.11.4[0m would require + [32mpython_abi * *_cp34m[0m, which can be installed; + [32mpyqt [4.11.4|5.6.0][0m would require + [32mpython_abi * *_cp35m[0m, which can be installed; + [32mpyqt [4.11.4|5.6.0|5.9.2][0m would require + [32mpython_abi * *_cp36m[0m, which can be installed; + [32mpyqt [5.6.0|5.9.2][0m would require + [32mpython_abi * *_cp37m[0m, which can be installed; + [31mpython_abi 3.9.* *_cp39[0m is not installable because it conflicts with any installable versions previously reported. +# Last 100 lines of the build log. diff --git a/recipes/chorus2/build_failure.osx-64.yaml b/recipes/chorus2/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..1abe963911993 --- /dev/null +++ b/recipes/chorus2/build_failure.osx-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: dc8bf1940be247d92ef84e2e61509f15a0724bd1316707bffd870b49ee20296a # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: dependency issue +log: |2- + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {MatchSpec("4.8.*"), MatchSpec("pyqt==4.11.4=py27_0")} + Encountered problems while solving: + - nothing provides qt 4.8.* needed by pyqt-4.11.4-py27_0 + + Could not solve for environment specs + The following packages are incompatible + pyqt <5.11 is installable with the potential options + pyqt [5.6.0|5.9.2] would require + python_abi * *_cp27m, which can be installed; + pyqt 4.11.4 would require + qt 4.8.* , which does not exist (perhaps a missing channel); + pyqt 5.6.0 would require + python_abi * *_cp35m, which can be installed; + pyqt [5.6.0|5.9.2] would require + python_abi * *_cp36m, which can be installed; + pyqt [5.6.0|5.9.2] would require + python_abi * *_cp37m, which can be installed; + python_abi 3.9.* *_cp39 is not installable because it conflicts with any installable versions previously reported. + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2409, in build + create_build_envs(top_level_pkg, notest) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2247, in create_build_envs + raise e + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2220, in create_build_envs + environ.get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {MatchSpec("4.8.*"), MatchSpec("pyqt==4.11.4=py27_0")} + Encountered problems while solving: + - nothing provides qt 4.8.* needed by pyqt-4.11.4-py27_0 + + Could not solve for environment specs + The following packages are incompatible + pyqt <5.11 is installable with the potential options + pyqt [5.6.0|5.9.2] would require + python_abi * *_cp27m, which can be installed; + pyqt 4.11.4 would require + qt 4.8.* , which does not exist (perhaps a missing channel); + pyqt 5.6.0 would require + python_abi * *_cp35m, which can be installed; + pyqt [5.6.0|5.9.2] would require + python_abi * *_cp36m, which can be installed; + pyqt [5.6.0|5.9.2] would require + python_abi * *_cp37m, which can be installed; + python_abi 3.9.* *_cp39 is not installable because it conflicts with any installable versions previously reported. +# Last 100 lines of the build log. diff --git a/recipes/chorus2/meta.yaml b/recipes/chorus2/meta.yaml index 0eb60319f75f2..316c5aa08971c 100755 --- a/recipes/chorus2/meta.yaml +++ b/recipes/chorus2/meta.yaml @@ -9,7 +9,10 @@ source: sha256: 8e58db0470803c618aab5c283ea3979af4d668a6e4f1b371db0200b6cc0cc207 build: - number: 2 + number: 3 + skip: True # [py > 39] + run_exports: + - {{ pin_subpackage("chorus2", max_pin="x") }} script: {{ PYTHON }} -m pip install . --no-deps -v requirements: diff --git a/recipes/chromap/build.sh b/recipes/chromap/build.sh index 85c7748feac5e..fd60e56ba057e 100644 --- a/recipes/chromap/build.sh +++ b/recipes/chromap/build.sh @@ -1,5 +1,15 @@ #!/bin/bash -# -msse4.1 needed for _mm_min_epi32 -make CXX=$CXX CXXFLAGS="-O3 -Wall -I$PREFIX/include -std=c++11 -msse4.1 -fopenmp" LDFLAGS="-L$PREFIX/lib -lm -lz" + +set -xe +case $(uname -m) in + x86_64) + # -msse4.1 needed for _mm_min_epi32 + ARCH_OPTS="-msse4.1" + ;; + *) + ;; +esac + +make -j ${CPU_COUNT} CXX=$CXX CXXFLAGS="-O3 -Wall -I$PREFIX/include -std=c++11 ${ARCH_OPTS} -fopenmp" LDFLAGS="-L$PREFIX/lib -lm -lz" mkdir -p $PREFIX/bin mv chromap $PREFIX/bin diff --git a/recipes/chromap/chromap-aarch64.patch b/recipes/chromap/chromap-aarch64.patch new file mode 100644 index 0000000000000..f7683e7c8badc --- /dev/null +++ b/recipes/chromap/chromap-aarch64.patch @@ -0,0 +1,9339 @@ +diff --git c/src/alignment.cc i/src/alignment.cc +index 8abb4a6..a71f434 100644 +--- c/src/alignment.cc ++++ i/src/alignment.cc +@@ -1,6 +1,10 @@ + #include "alignment.h" + ++#ifdef __ARM_NEON ++#include "sse2neon.h" ++#else + #include ++#endif + + namespace chromap { + +diff --git c/src/ksw.cc i/src/ksw.cc +index 26cdb04..a5b7432 100644 +--- c/src/ksw.cc ++++ i/src/ksw.cc +@@ -26,7 +26,12 @@ + #include + #include + #include ++#ifdef __ARM_NEON ++#include "sse2neon.h" ++#else + #include ++#endif ++ + #include "ksw.h" + #include "sequence_batch.h" + +diff --git c/src/sse2neon.h i/src/sse2neon.h +new file mode 100644 +index 0000000..2b12721 +--- /dev/null ++++ i/src/sse2neon.h +@@ -0,0 +1,9301 @@ ++#ifndef SSE2NEON_H ++#define SSE2NEON_H ++ ++/* ++ * sse2neon is freely redistributable under the MIT License. ++ * ++ * Copyright (c) 2015-2024 SSE2NEON Contributors. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to deal ++ * in the Software without restriction, including without limitation the rights ++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++ * copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ * SOFTWARE. ++ */ ++ ++// This header file provides a simple API translation layer ++// between SSE intrinsics to their corresponding Arm/Aarch64 NEON versions ++// ++// Contributors to this work are: ++// John W. Ratcliff ++// Brandon Rowlett ++// Ken Fast ++// Eric van Beurden ++// Alexander Potylitsin ++// Hasindu Gamaarachchi ++// Jim Huang ++// Mark Cheng ++// Malcolm James MacLeod ++// Devin Hussey (easyaspi314) ++// Sebastian Pop ++// Developer Ecosystem Engineering ++// Danila Kutenin ++// François Turban (JishinMaster) ++// Pei-Hsuan Hung ++// Yang-Hao Yuan ++// Syoyo Fujita ++// Brecht Van Lommel ++// Jonathan Hue ++// Cuda Chen ++// Aymen Qader ++// Anthony Roberts ++ ++/* Tunable configurations */ ++ ++/* Enable precise implementation of math operations ++ * This would slow down the computation a bit, but gives consistent result with ++ * x86 SSE. (e.g. would solve a hole or NaN pixel in the rendering result) ++ */ ++/* _mm_min|max_ps|ss|pd|sd */ ++#ifndef SSE2NEON_PRECISE_MINMAX ++#define SSE2NEON_PRECISE_MINMAX (0) ++#endif ++/* _mm_rcp_ps */ ++#ifndef SSE2NEON_PRECISE_DIV ++#define SSE2NEON_PRECISE_DIV (0) ++#endif ++/* _mm_sqrt_ps and _mm_rsqrt_ps */ ++#ifndef SSE2NEON_PRECISE_SQRT ++#define SSE2NEON_PRECISE_SQRT (0) ++#endif ++/* _mm_dp_pd */ ++#ifndef SSE2NEON_PRECISE_DP ++#define SSE2NEON_PRECISE_DP (0) ++#endif ++ ++/* Enable inclusion of windows.h on MSVC platforms ++ * This makes _mm_clflush functional on windows, as there is no builtin. ++ */ ++#ifndef SSE2NEON_INCLUDE_WINDOWS_H ++#define SSE2NEON_INCLUDE_WINDOWS_H (0) ++#endif ++ ++/* compiler specific definitions */ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma push_macro("FORCE_INLINE") ++#pragma push_macro("ALIGN_STRUCT") ++#define FORCE_INLINE static inline __attribute__((always_inline)) ++#define ALIGN_STRUCT(x) __attribute__((aligned(x))) ++#define _sse2neon_likely(x) __builtin_expect(!!(x), 1) ++#define _sse2neon_unlikely(x) __builtin_expect(!!(x), 0) ++#elif defined(_MSC_VER) ++#if _MSVC_TRADITIONAL ++#error Using the traditional MSVC preprocessor is not supported! Use /Zc:preprocessor instead. ++#endif ++#ifndef FORCE_INLINE ++#define FORCE_INLINE static inline ++#endif ++#ifndef ALIGN_STRUCT ++#define ALIGN_STRUCT(x) __declspec(align(x)) ++#endif ++#define _sse2neon_likely(x) (x) ++#define _sse2neon_unlikely(x) (x) ++#else ++#pragma message("Macro name collisions may happen with unsupported compilers.") ++#endif ++ ++ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma push_macro("FORCE_INLINE_OPTNONE") ++#define FORCE_INLINE_OPTNONE static inline __attribute__((optimize("O0"))) ++#elif defined(__clang__) ++#pragma push_macro("FORCE_INLINE_OPTNONE") ++#define FORCE_INLINE_OPTNONE static inline __attribute__((optnone)) ++#else ++#define FORCE_INLINE_OPTNONE FORCE_INLINE ++#endif ++ ++#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ < 10 ++#warning "GCC versions earlier than 10 are not supported." ++#endif ++ ++/* C language does not allow initializing a variable with a function call. */ ++#ifdef __cplusplus ++#define _sse2neon_const static const ++#else ++#define _sse2neon_const const ++#endif ++ ++#include ++#include ++ ++#if defined(_WIN32) ++/* Definitions for _mm_{malloc,free} are provided by ++ * from both MinGW-w64 and MSVC. ++ */ ++#define SSE2NEON_ALLOC_DEFINED ++#endif ++ ++/* If using MSVC */ ++#ifdef _MSC_VER ++#include ++#if SSE2NEON_INCLUDE_WINDOWS_H ++#include ++#include ++#endif ++ ++#if !defined(__cplusplus) ++#error SSE2NEON only supports C++ compilation with this compiler ++#endif ++ ++#ifdef SSE2NEON_ALLOC_DEFINED ++#include ++#endif ++ ++#if (defined(_M_AMD64) || defined(__x86_64__)) || \ ++ (defined(_M_ARM64) || defined(__arm64__)) ++#define SSE2NEON_HAS_BITSCAN64 ++#endif ++#endif ++ ++#if defined(__GNUC__) || defined(__clang__) ++#define _sse2neon_define0(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define1(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define2(type, a, b, body) \ ++ __extension__({ \ ++ type _a = (a), _b = (b); \ ++ body \ ++ }) ++#define _sse2neon_return(ret) (ret) ++#else ++#define _sse2neon_define0(type, a, body) [=](type _a) { body }(a) ++#define _sse2neon_define1(type, a, body) [](type _a) { body }(a) ++#define _sse2neon_define2(type, a, b, body) \ ++ [](type _a, type _b) { body }((a), (b)) ++#define _sse2neon_return(ret) return ret ++#endif ++ ++#define _sse2neon_init(...) \ ++ { \ ++ __VA_ARGS__ \ ++ } ++ ++/* Compiler barrier */ ++#if defined(_MSC_VER) ++#define SSE2NEON_BARRIER() _ReadWriteBarrier() ++#else ++#define SSE2NEON_BARRIER() \ ++ do { \ ++ __asm__ __volatile__("" ::: "memory"); \ ++ (void) 0; \ ++ } while (0) ++#endif ++ ++/* Memory barriers ++ * __atomic_thread_fence does not include a compiler barrier; instead, ++ * the barrier is part of __atomic_load/__atomic_store's "volatile-like" ++ * semantics. ++ */ ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) ++#include ++#endif ++ ++FORCE_INLINE void _sse2neon_smp_mb(void) ++{ ++ SSE2NEON_BARRIER(); ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \ ++ !defined(__STDC_NO_ATOMICS__) ++ atomic_thread_fence(memory_order_seq_cst); ++#elif defined(__GNUC__) || defined(__clang__) ++ __atomic_thread_fence(__ATOMIC_SEQ_CST); ++#else /* MSVC */ ++ __dmb(_ARM64_BARRIER_ISH); ++#endif ++} ++ ++/* Architecture-specific build options */ ++/* FIXME: #pragma GCC push_options is only available on GCC */ ++#if defined(__GNUC__) ++#if defined(__arm__) && __ARM_ARCH == 7 ++/* According to ARM C Language Extensions Architecture specification, ++ * __ARM_NEON is defined to a value indicating the Advanced SIMD (NEON) ++ * architecture supported. ++ */ ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error "You must enable NEON instructions (e.g. -mfpu=neon) to use SSE2NEON." ++#endif ++#if !defined(__clang__) ++#pragma GCC push_options ++#pragma GCC target("fpu=neon") ++#endif ++#elif defined(__aarch64__) || defined(_M_ARM64) ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#pragma GCC target("+simd") ++#endif ++#elif __ARM_ARCH == 8 ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error \ ++ "You must enable NEON instructions (e.g. -mfpu=neon-fp-armv8) to use SSE2NEON." ++#endif ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#endif ++#else ++#error \ ++ "Unsupported target. Must be either ARMv7-A+NEON or ARMv8-A \ ++(you could try setting target explicitly with -march or -mcpu)" ++#endif ++#endif ++ ++#include ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) && (__ARM_ARCH == 8) ++#if defined __has_include && __has_include() ++#include ++#endif ++#endif ++ ++/* Apple Silicon cache lines are double of what is commonly used by Intel, AMD ++ * and other Arm microarchitectures use. ++ * From sysctl -a on Apple M1: ++ * hw.cachelinesize: 128 ++ */ ++#if defined(__APPLE__) && (defined(__aarch64__) || defined(__arm64__)) ++#define SSE2NEON_CACHELINE_SIZE 128 ++#else ++#define SSE2NEON_CACHELINE_SIZE 64 ++#endif ++ ++/* Rounding functions require either Aarch64 instructions or libm fallback */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#include ++#endif ++ ++/* On ARMv7, some registers, such as PMUSERENR and PMCCNTR, are read-only ++ * or even not accessible in user mode. ++ * To write or access to these registers in user mode, ++ * we have to perform syscall instead. ++ */ ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) ++#include ++#endif ++ ++/* "__has_builtin" can be used to query support for built-in functions ++ * provided by gcc/clang and other compilers that support it. ++ */ ++#ifndef __has_builtin /* GCC prior to 10 or non-clang compilers */ ++/* Compatibility with gcc <= 9 */ ++#if defined(__GNUC__) && (__GNUC__ <= 9) ++#define __has_builtin(x) HAS##x ++#define HAS__builtin_popcount 1 ++#define HAS__builtin_popcountll 1 ++ ++// __builtin_shuffle introduced in GCC 4.7.0 ++#if (__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) ++#define HAS__builtin_shuffle 1 ++#else ++#define HAS__builtin_shuffle 0 ++#endif ++ ++#define HAS__builtin_shufflevector 0 ++#define HAS__builtin_nontemporal_store 0 ++#else ++#define __has_builtin(x) 0 ++#endif ++#endif ++ ++/** ++ * MACRO for shuffle parameter for _mm_shuffle_ps(). ++ * Argument fp3 is a digit[0123] that represents the fp from argument "b" ++ * of mm_shuffle_ps that will be placed in fp3 of result. fp2 is the same ++ * for fp2 in result. fp1 is a digit[0123] that represents the fp from ++ * argument "a" of mm_shuffle_ps that will be places in fp1 of result. ++ * fp0 is the same for fp0 of result. ++ */ ++#define _MM_SHUFFLE(fp3, fp2, fp1, fp0) \ ++ (((fp3) << 6) | ((fp2) << 4) | ((fp1) << 2) | ((fp0))) ++ ++#if __has_builtin(__builtin_shufflevector) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __builtin_shufflevector(a, b, __VA_ARGS__) ++#elif __has_builtin(__builtin_shuffle) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __extension__({ \ ++ type tmp = {__VA_ARGS__}; \ ++ __builtin_shuffle(a, b, tmp); \ ++ }) ++#endif ++ ++#ifdef _sse2neon_shuffle ++#define vshuffle_s16(a, b, ...) _sse2neon_shuffle(int16x4_t, a, b, __VA_ARGS__) ++#define vshuffleq_s16(a, b, ...) _sse2neon_shuffle(int16x8_t, a, b, __VA_ARGS__) ++#define vshuffle_s32(a, b, ...) _sse2neon_shuffle(int32x2_t, a, b, __VA_ARGS__) ++#define vshuffleq_s32(a, b, ...) _sse2neon_shuffle(int32x4_t, a, b, __VA_ARGS__) ++#define vshuffle_s64(a, b, ...) _sse2neon_shuffle(int64x1_t, a, b, __VA_ARGS__) ++#define vshuffleq_s64(a, b, ...) _sse2neon_shuffle(int64x2_t, a, b, __VA_ARGS__) ++#endif ++ ++/* Rounding mode macros. */ ++#define _MM_FROUND_TO_NEAREST_INT 0x00 ++#define _MM_FROUND_TO_NEG_INF 0x01 ++#define _MM_FROUND_TO_POS_INF 0x02 ++#define _MM_FROUND_TO_ZERO 0x03 ++#define _MM_FROUND_CUR_DIRECTION 0x04 ++#define _MM_FROUND_NO_EXC 0x08 ++#define _MM_FROUND_RAISE_EXC 0x00 ++#define _MM_FROUND_NINT (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_FLOOR (_MM_FROUND_TO_NEG_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_CEIL (_MM_FROUND_TO_POS_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_TRUNC (_MM_FROUND_TO_ZERO | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_RINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_NEARBYINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_NO_EXC) ++#define _MM_ROUND_NEAREST 0x0000 ++#define _MM_ROUND_DOWN 0x2000 ++#define _MM_ROUND_UP 0x4000 ++#define _MM_ROUND_TOWARD_ZERO 0x6000 ++/* Flush zero mode macros. */ ++#define _MM_FLUSH_ZERO_MASK 0x8000 ++#define _MM_FLUSH_ZERO_ON 0x8000 ++#define _MM_FLUSH_ZERO_OFF 0x0000 ++/* Denormals are zeros mode macros. */ ++#define _MM_DENORMALS_ZERO_MASK 0x0040 ++#define _MM_DENORMALS_ZERO_ON 0x0040 ++#define _MM_DENORMALS_ZERO_OFF 0x0000 ++ ++/* indicate immediate constant argument in a given range */ ++#define __constrange(a, b) const ++ ++/* A few intrinsics accept traditional data types like ints or floats, but ++ * most operate on data types that are specific to SSE. ++ * If a vector type ends in d, it contains doubles, and if it does not have ++ * a suffix, it contains floats. An integer vector type can contain any type ++ * of integer, from chars to shorts to unsigned long longs. ++ */ ++typedef int64x1_t __m64; ++typedef float32x4_t __m128; /* 128-bit vector containing 4 floats */ ++// On ARM 32-bit architecture, the float64x2_t is not supported. ++// The data type __m128d should be represented in a different way for related ++// intrinsic conversion. ++#if defined(__aarch64__) || defined(_M_ARM64) ++typedef float64x2_t __m128d; /* 128-bit vector containing 2 doubles */ ++#else ++typedef float32x4_t __m128d; ++#endif ++typedef int64x2_t __m128i; /* 128-bit vector containing integers */ ++ ++// Some intrinsics operate on unaligned data types. ++typedef int16_t ALIGN_STRUCT(1) unaligned_int16_t; ++typedef int32_t ALIGN_STRUCT(1) unaligned_int32_t; ++typedef int64_t ALIGN_STRUCT(1) unaligned_int64_t; ++ ++// __int64 is defined in the Intrinsics Guide which maps to different datatype ++// in different data model ++#if !(defined(_WIN32) || defined(_WIN64) || defined(__int64)) ++#if (defined(__x86_64__) || defined(__i386__)) ++#define __int64 long long ++#else ++#define __int64 int64_t ++#endif ++#endif ++ ++/* type-safe casting between types */ ++ ++#define vreinterpretq_m128_f16(x) vreinterpretq_f32_f16(x) ++#define vreinterpretq_m128_f32(x) (x) ++#define vreinterpretq_m128_f64(x) vreinterpretq_f32_f64(x) ++ ++#define vreinterpretq_m128_u8(x) vreinterpretq_f32_u8(x) ++#define vreinterpretq_m128_u16(x) vreinterpretq_f32_u16(x) ++#define vreinterpretq_m128_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128_s8(x) vreinterpretq_f32_s8(x) ++#define vreinterpretq_m128_s16(x) vreinterpretq_f32_s16(x) ++#define vreinterpretq_m128_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_f16_m128(x) vreinterpretq_f16_f32(x) ++#define vreinterpretq_f32_m128(x) (x) ++#define vreinterpretq_f64_m128(x) vreinterpretq_f64_f32(x) ++ ++#define vreinterpretq_u8_m128(x) vreinterpretq_u8_f32(x) ++#define vreinterpretq_u16_m128(x) vreinterpretq_u16_f32(x) ++#define vreinterpretq_u32_m128(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_s8_m128(x) vreinterpretq_s8_f32(x) ++#define vreinterpretq_s16_m128(x) vreinterpretq_s16_f32(x) ++#define vreinterpretq_s32_m128(x) vreinterpretq_s32_f32(x) ++#define vreinterpretq_s64_m128(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_m128i_s8(x) vreinterpretq_s64_s8(x) ++#define vreinterpretq_m128i_s16(x) vreinterpretq_s64_s16(x) ++#define vreinterpretq_m128i_s32(x) vreinterpretq_s64_s32(x) ++#define vreinterpretq_m128i_s64(x) (x) ++ ++#define vreinterpretq_m128i_u8(x) vreinterpretq_s64_u8(x) ++#define vreinterpretq_m128i_u16(x) vreinterpretq_s64_u16(x) ++#define vreinterpretq_m128i_u32(x) vreinterpretq_s64_u32(x) ++#define vreinterpretq_m128i_u64(x) vreinterpretq_s64_u64(x) ++ ++#define vreinterpretq_f32_m128i(x) vreinterpretq_f32_s64(x) ++#define vreinterpretq_f64_m128i(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_s8_m128i(x) vreinterpretq_s8_s64(x) ++#define vreinterpretq_s16_m128i(x) vreinterpretq_s16_s64(x) ++#define vreinterpretq_s32_m128i(x) vreinterpretq_s32_s64(x) ++#define vreinterpretq_s64_m128i(x) (x) ++ ++#define vreinterpretq_u8_m128i(x) vreinterpretq_u8_s64(x) ++#define vreinterpretq_u16_m128i(x) vreinterpretq_u16_s64(x) ++#define vreinterpretq_u32_m128i(x) vreinterpretq_u32_s64(x) ++#define vreinterpretq_u64_m128i(x) vreinterpretq_u64_s64(x) ++ ++#define vreinterpret_m64_s8(x) vreinterpret_s64_s8(x) ++#define vreinterpret_m64_s16(x) vreinterpret_s64_s16(x) ++#define vreinterpret_m64_s32(x) vreinterpret_s64_s32(x) ++#define vreinterpret_m64_s64(x) (x) ++ ++#define vreinterpret_m64_u8(x) vreinterpret_s64_u8(x) ++#define vreinterpret_m64_u16(x) vreinterpret_s64_u16(x) ++#define vreinterpret_m64_u32(x) vreinterpret_s64_u32(x) ++#define vreinterpret_m64_u64(x) vreinterpret_s64_u64(x) ++ ++#define vreinterpret_m64_f16(x) vreinterpret_s64_f16(x) ++#define vreinterpret_m64_f32(x) vreinterpret_s64_f32(x) ++#define vreinterpret_m64_f64(x) vreinterpret_s64_f64(x) ++ ++#define vreinterpret_u8_m64(x) vreinterpret_u8_s64(x) ++#define vreinterpret_u16_m64(x) vreinterpret_u16_s64(x) ++#define vreinterpret_u32_m64(x) vreinterpret_u32_s64(x) ++#define vreinterpret_u64_m64(x) vreinterpret_u64_s64(x) ++ ++#define vreinterpret_s8_m64(x) vreinterpret_s8_s64(x) ++#define vreinterpret_s16_m64(x) vreinterpret_s16_s64(x) ++#define vreinterpret_s32_m64(x) vreinterpret_s32_s64(x) ++#define vreinterpret_s64_m64(x) (x) ++ ++#define vreinterpret_f32_m64(x) vreinterpret_f32_s64(x) ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f64_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f64_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) vreinterpretq_f64_f32(x) ++#define vreinterpretq_m128d_f64(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f64(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f64(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f64(x) ++ ++#define vreinterpretq_f64_m128d(x) (x) ++#define vreinterpretq_f32_m128d(x) vreinterpretq_f32_f64(x) ++#else ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_m128d_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_f32_m128d(x) (x) ++#endif ++ ++// A struct is defined in this header file called 'SIMDVec' which can be used ++// by applications which attempt to access the contents of an __m128 struct ++// directly. It is important to note that accessing the __m128 struct directly ++// is bad coding practice by Microsoft: @see: ++// https://learn.microsoft.com/en-us/cpp/cpp/m128 ++// ++// However, some legacy source code may try to access the contents of an __m128 ++// struct directly so the developer can use the SIMDVec as an alias for it. Any ++// casting must be done manually by the developer, as you cannot cast or ++// otherwise alias the base NEON data type for intrinsic operations. ++// ++// union intended to allow direct access to an __m128 variable using the names ++// that the MSVC compiler provides. This union should really only be used when ++// trying to access the members of the vector as integer values. GCC/clang ++// allow native access to the float members through a simple array access ++// operator (in C since 4.6, in C++ since 4.8). ++// ++// Ideally direct accesses to SIMD vectors should not be used since it can cause ++// a performance hit. If it really is needed however, the original __m128 ++// variable can be aliased with a pointer to this union and used to access ++// individual components. The use of this union should be hidden behind a macro ++// that is used throughout the codebase to access the members instead of always ++// declaring this type of variable. ++typedef union ALIGN_STRUCT(16) SIMDVec { ++ float m128_f32[4]; // as floats - DON'T USE. Added for convenience. ++ int8_t m128_i8[16]; // as signed 8-bit integers. ++ int16_t m128_i16[8]; // as signed 16-bit integers. ++ int32_t m128_i32[4]; // as signed 32-bit integers. ++ int64_t m128_i64[2]; // as signed 64-bit integers. ++ uint8_t m128_u8[16]; // as unsigned 8-bit integers. ++ uint16_t m128_u16[8]; // as unsigned 16-bit integers. ++ uint32_t m128_u32[4]; // as unsigned 32-bit integers. ++ uint64_t m128_u64[2]; // as unsigned 64-bit integers. ++} SIMDVec; ++ ++// casting using SIMDVec ++#define vreinterpretq_nth_u64_m128i(x, n) (((SIMDVec *) &x)->m128_u64[n]) ++#define vreinterpretq_nth_u32_m128i(x, n) (((SIMDVec *) &x)->m128_u32[n]) ++#define vreinterpretq_nth_u8_m128i(x, n) (((SIMDVec *) &x)->m128_u8[n]) ++ ++/* SSE macros */ ++#define _MM_GET_FLUSH_ZERO_MODE _sse2neon_mm_get_flush_zero_mode ++#define _MM_SET_FLUSH_ZERO_MODE _sse2neon_mm_set_flush_zero_mode ++#define _MM_GET_DENORMALS_ZERO_MODE _sse2neon_mm_get_denormals_zero_mode ++#define _MM_SET_DENORMALS_ZERO_MODE _sse2neon_mm_set_denormals_zero_mode ++ ++// Function declaration ++// SSE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void); ++FORCE_INLINE __m128 _mm_move_ss(__m128, __m128); ++FORCE_INLINE __m128 _mm_or_ps(__m128, __m128); ++FORCE_INLINE __m128 _mm_set_ps1(float); ++FORCE_INLINE __m128 _mm_setzero_ps(void); ++// SSE2 ++FORCE_INLINE __m128i _mm_and_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_castps_si128(__m128); ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128); ++FORCE_INLINE __m128d _mm_move_sd(__m128d, __m128d); ++FORCE_INLINE __m128i _mm_or_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_set_epi32(int, int, int, int); ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t, int64_t); ++FORCE_INLINE __m128d _mm_set_pd(double, double); ++FORCE_INLINE __m128i _mm_set1_epi32(int); ++FORCE_INLINE __m128i _mm_setzero_si128(void); ++// SSE4.1 ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d); ++FORCE_INLINE __m128 _mm_ceil_ps(__m128); ++FORCE_INLINE __m128d _mm_floor_pd(__m128d); ++FORCE_INLINE __m128 _mm_floor_ps(__m128); ++FORCE_INLINE_OPTNONE __m128d _mm_round_pd(__m128d, int); ++FORCE_INLINE_OPTNONE __m128 _mm_round_ps(__m128, int); ++// SSE4.2 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t, uint8_t); ++ ++/* Backwards compatibility for compilers with lack of specific type support */ ++ ++// Older gcc does not define vld1q_u8_x4 type ++#if defined(__GNUC__) && !defined(__clang__) && \ ++ ((__GNUC__ <= 13 && defined(__arm__)) || \ ++ (__GNUC__ == 10 && __GNUC_MINOR__ < 3 && defined(__aarch64__)) || \ ++ (__GNUC__ <= 9 && defined(__aarch64__))) ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ uint8x16x4_t ret; ++ ret.val[0] = vld1q_u8(p + 0); ++ ret.val[1] = vld1q_u8(p + 16); ++ ret.val[2] = vld1q_u8(p + 32); ++ ret.val[3] = vld1q_u8(p + 48); ++ return ret; ++} ++#else ++// Wraps vld1q_u8_x4 ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ return vld1q_u8_x4(p); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddv u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ const uint64x1_t v1 = vpaddl_u32(vpaddl_u16(vpaddl_u8(v8))); ++ return vget_lane_u8(vreinterpret_u8_u64(v1), 0); ++} ++#else ++// Wraps vaddv_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ return vaddv_u8(v8); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ uint8x8_t tmp = vpadd_u8(vget_low_u8(a), vget_high_u8(a)); ++ uint8_t res = 0; ++ for (int i = 0; i < 8; ++i) ++ res += tmp[i]; ++ return res; ++} ++#else ++// Wraps vaddvq_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ return vaddvq_u8(a); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u16 variant */ ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ uint32x4_t m = vpaddlq_u16(a); ++ uint64x2_t n = vpaddlq_u32(m); ++ uint64x1_t o = vget_low_u64(n) + vget_high_u64(n); ++ ++ return vget_lane_u32((uint32x2_t) o, 0); ++} ++#else ++// Wraps vaddvq_u16 ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ return vaddvq_u16(a); ++} ++#endif ++ ++/* Function Naming Conventions ++ * The naming convention of SSE intrinsics is straightforward. A generic SSE ++ * intrinsic function is given as follows: ++ * _mm__ ++ * ++ * The parts of this format are given as follows: ++ * 1. describes the operation performed by the intrinsic ++ * 2. identifies the data type of the function's primary arguments ++ * ++ * This last part, , is a little complicated. It identifies the ++ * content of the input values, and can be set to any of the following values: ++ * + ps - vectors contain floats (ps stands for packed single-precision) ++ * + pd - vectors contain doubles (pd stands for packed double-precision) ++ * + epi8/epi16/epi32/epi64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * signed integers ++ * + epu8/epu16/epu32/epu64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * unsigned integers ++ * + si128 - unspecified 128-bit vector or 256-bit vector ++ * + m128/m128i/m128d - identifies input vector types when they are different ++ * than the type of the returned vector ++ * ++ * For example, _mm_setzero_ps. The _mm implies that the function returns ++ * a 128-bit vector. The _ps at the end implies that the argument vectors ++ * contain floats. ++ * ++ * A complete example: Byte Shuffle - pshufb (_mm_shuffle_epi8) ++ * // Set packed 16-bit integers. 128 bits, 8 short, per 16 bits ++ * __m128i v_in = _mm_setr_epi16(1, 2, 3, 4, 5, 6, 7, 8); ++ * // Set packed 8-bit integers ++ * // 128 bits, 16 chars, per 8 bits ++ * __m128i v_perm = _mm_setr_epi8(1, 0, 2, 3, 8, 9, 10, 11, ++ * 4, 5, 12, 13, 6, 7, 14, 15); ++ * // Shuffle packed 8-bit integers ++ * __m128i v_out = _mm_shuffle_epi8(v_in, v_perm); // pshufb ++ */ ++ ++/* Constants for use with _mm_prefetch. */ ++enum _mm_hint { ++ _MM_HINT_NTA = 0, /* load data to L1 and L2 cache, mark it as NTA */ ++ _MM_HINT_T0 = 1, /* load data to L1 and L2 cache */ ++ _MM_HINT_T1 = 2, /* load data to L2 cache only */ ++ _MM_HINT_T2 = 3, /* load data to L2 cache only, mark it as NTA */ ++}; ++ ++// The bit field mapping to the FPCR(floating-point control register) ++typedef struct { ++ uint16_t res0; ++ uint8_t res1 : 6; ++ uint8_t bit22 : 1; ++ uint8_t bit23 : 1; ++ uint8_t bit24 : 1; ++ uint8_t res2 : 7; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32_t res3; ++#endif ++} fpcr_bitfield; ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of b and places it into the high end of the result. ++FORCE_INLINE __m128 _mm_shuffle_ps_1032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in high ++// end of result takes the higher two 32 bit values from b and swaps them and ++// places in low end of result. ++FORCE_INLINE __m128 _mm_shuffle_ps_2301(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b23 = vrev64_f32(vget_high_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b23)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0321(__m128 a, __m128 b) ++{ ++ float32x2_t a21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a21, b03)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2103(__m128 a, __m128 b) ++{ ++ float32x2_t a03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a03, b21)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0101(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b01)); ++} ++ ++// keeps the low 64 bits of b in the low and puts the high 64 bits of a in the ++// high ++FORCE_INLINE __m128 _mm_shuffle_ps_3210(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0011(__m128 a, __m128 b) ++{ ++ float32x2_t a11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a11, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0022(__m128 a, __m128 b) ++{ ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a22, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2200(__m128 a, __m128 b) ++{ ++ float32x2_t a00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a00, b22)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_3202(__m128 a, __m128 b) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t a02 = vset_lane_f32(a0, a22, 1); /* TODO: use vzip ?*/ ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a02, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1133(__m128 a, __m128 b) ++{ ++ float32x2_t a33 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a33, b11)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b20)); ++} ++ ++// For MSVC, we check only if it is ARM64, as every single ARM64 processor ++// supported by WoA has crypto extensions. If this changes in the future, ++// this can be verified via the runtime-only method of: ++// IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE) ++#if (defined(_M_ARM64) && !defined(__clang__)) || \ ++ (defined(__ARM_FEATURE_CRYPTO) && \ ++ (defined(__aarch64__) || __has_builtin(__builtin_arm_crypto_vmullp64))) ++// Wraps vmull_p64 ++FORCE_INLINE uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly64_t a = vget_lane_p64(vreinterpret_p64_u64(_a), 0); ++ poly64_t b = vget_lane_p64(vreinterpret_p64_u64(_b), 0); ++#if defined(_MSC_VER) ++ __n64 a1 = {a}, b1 = {b}; ++ return vreinterpretq_u64_p128(vmull_p64(a1, b1)); ++#else ++ return vreinterpretq_u64_p128(vmull_p64(a, b)); ++#endif ++} ++#else // ARMv7 polyfill ++// ARMv7/some A64 lacks vmull_p64, but it has vmull_p8. ++// ++// vmull_p8 calculates 8 8-bit->16-bit polynomial multiplies, but we need a ++// 64-bit->128-bit polynomial multiply. ++// ++// It needs some work and is somewhat slow, but it is still faster than all ++// known scalar methods. ++// ++// Algorithm adapted to C from ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/, which is adapted ++// from "Fast Software Polynomial Multiplication on ARM Processors Using the ++// NEON Engine" by Danilo Camara, Conrado Gouvea, Julio Lopez and Ricardo Dahab ++// (https://hal.inria.fr/hal-01506572) ++static uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly8x8_t a = vreinterpret_p8_u64(_a); ++ poly8x8_t b = vreinterpret_p8_u64(_b); ++ ++ // Masks ++ uint8x16_t k48_32 = vcombine_u8(vcreate_u8(0x0000ffffffffffff), ++ vcreate_u8(0x00000000ffffffff)); ++ uint8x16_t k16_00 = vcombine_u8(vcreate_u8(0x000000000000ffff), ++ vcreate_u8(0x0000000000000000)); ++ ++ // Do the multiplies, rotating with vext to get all combinations ++ uint8x16_t d = vreinterpretq_u8_p16(vmull_p8(a, b)); // D = A0 * B0 ++ uint8x16_t e = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 1))); // E = A0 * B1 ++ uint8x16_t f = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 1), b)); // F = A1 * B0 ++ uint8x16_t g = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 2))); // G = A0 * B2 ++ uint8x16_t h = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 2), b)); // H = A2 * B0 ++ uint8x16_t i = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 3))); // I = A0 * B3 ++ uint8x16_t j = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 3), b)); // J = A3 * B0 ++ uint8x16_t k = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 4))); // L = A0 * B4 ++ ++ // Add cross products ++ uint8x16_t l = veorq_u8(e, f); // L = E + F ++ uint8x16_t m = veorq_u8(g, h); // M = G + H ++ uint8x16_t n = veorq_u8(i, j); // N = I + J ++ ++ // Interleave. Using vzip1 and vzip2 prevents Clang from emitting TBL ++ // instructions. ++#if defined(__aarch64__) ++ uint8x16_t lm_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t lm_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t nk_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++ uint8x16_t nk_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++#else ++ uint8x16_t lm_p0 = vcombine_u8(vget_low_u8(l), vget_low_u8(m)); ++ uint8x16_t lm_p1 = vcombine_u8(vget_high_u8(l), vget_high_u8(m)); ++ uint8x16_t nk_p0 = vcombine_u8(vget_low_u8(n), vget_low_u8(k)); ++ uint8x16_t nk_p1 = vcombine_u8(vget_high_u8(n), vget_high_u8(k)); ++#endif ++ // t0 = (L) (P0 + P1) << 8 ++ // t1 = (M) (P2 + P3) << 16 ++ uint8x16_t t0t1_tmp = veorq_u8(lm_p0, lm_p1); ++ uint8x16_t t0t1_h = vandq_u8(lm_p1, k48_32); ++ uint8x16_t t0t1_l = veorq_u8(t0t1_tmp, t0t1_h); ++ ++ // t2 = (N) (P4 + P5) << 24 ++ // t3 = (K) (P6 + P7) << 32 ++ uint8x16_t t2t3_tmp = veorq_u8(nk_p0, nk_p1); ++ uint8x16_t t2t3_h = vandq_u8(nk_p1, k16_00); ++ uint8x16_t t2t3_l = veorq_u8(t2t3_tmp, t2t3_h); ++ ++ // De-interleave ++#if defined(__aarch64__) ++ uint8x16_t t0 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t1 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t2 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++ uint8x16_t t3 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++#else ++ uint8x16_t t1 = vcombine_u8(vget_high_u8(t0t1_l), vget_high_u8(t0t1_h)); ++ uint8x16_t t0 = vcombine_u8(vget_low_u8(t0t1_l), vget_low_u8(t0t1_h)); ++ uint8x16_t t3 = vcombine_u8(vget_high_u8(t2t3_l), vget_high_u8(t2t3_h)); ++ uint8x16_t t2 = vcombine_u8(vget_low_u8(t2t3_l), vget_low_u8(t2t3_h)); ++#endif ++ // Shift the cross products ++ uint8x16_t t0_shift = vextq_u8(t0, t0, 15); // t0 << 8 ++ uint8x16_t t1_shift = vextq_u8(t1, t1, 14); // t1 << 16 ++ uint8x16_t t2_shift = vextq_u8(t2, t2, 13); // t2 << 24 ++ uint8x16_t t3_shift = vextq_u8(t3, t3, 12); // t3 << 32 ++ ++ // Accumulate the products ++ uint8x16_t cross1 = veorq_u8(t0_shift, t1_shift); ++ uint8x16_t cross2 = veorq_u8(t2_shift, t3_shift); ++ uint8x16_t mix = veorq_u8(d, cross1); ++ uint8x16_t r = veorq_u8(mix, cross2); ++ return vreinterpretq_u64_u8(r); ++} ++#endif // ARMv7 polyfill ++ ++// C equivalent: ++// __m128i _mm_shuffle_epi32_default(__m128i a, ++// __constrange(0, 255) int imm) { ++// __m128i ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = a[(imm >> 4) & 0x03]; ret[3] = a[(imm >> 6) & 0x03]; ++// return ret; ++// } ++#define _mm_shuffle_epi32_default(a, imm) \ ++ vreinterpretq_m128i_s32(vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), \ ++ ((imm) >> 2) & 0x3), \ ++ vmovq_n_s32(vgetq_lane_s32( \ ++ vreinterpretq_s32_m128i(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of a and places it into the high end of the result. ++FORCE_INLINE __m128i _mm_shuffle_epi_1032(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in low end ++// of result takes the higher two 32 bit values from a and swaps them and places ++// in high end of result. ++FORCE_INLINE __m128i _mm_shuffle_epi_2301(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a23 = vrev64_s32(vget_high_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a23)); ++} ++ ++// rotates the least significant 32 bits into the most significant 32 bits, and ++// shifts the rest down ++FORCE_INLINE __m128i _mm_shuffle_epi_0321(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 1)); ++} ++ ++// rotates the most significant 32 bits into the least significant 32 bits, and ++// shifts the rest up ++FORCE_INLINE __m128i _mm_shuffle_epi_2103(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 3)); ++} ++ ++// gets the lower 64 bits of a, and places it in the upper 64 bits ++// gets the lower 64 bits of a and places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1010(__m128i a) ++{ ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a10, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements, and places it in the ++// lower 64 bits gets the lower 64 bits of a, and places it in the upper 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1001(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements and places it in the ++// upper 64 bits gets the lower 64 bits of a, swaps the 0 and 1 elements, and ++// places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_0101(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_2211(__m128i a) ++{ ++ int32x2_t a11 = vdup_lane_s32(vget_low_s32(vreinterpretq_s32_m128i(a)), 1); ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ return vreinterpretq_m128i_s32(vcombine_s32(a11, a22)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_0122(__m128i a) ++{ ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a22, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_3332(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a33 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 1); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a33)); ++} ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32(vdupq_laneq_s32(vreinterpretq_s32_m128i(a), (imm))) ++#else ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vdupq_n_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)))) ++#endif ++ ++// NEON does not support a general purpose permute intrinsic. ++// Shuffle single-precision (32-bit) floating-point elements in a using the ++// control in imm8, and store the results in dst. ++// ++// C equivalent: ++// __m128 _mm_shuffle_ps_default(__m128 a, __m128 b, ++// __constrange(0, 255) int imm) { ++// __m128 ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = b[(imm >> 4) & 0x03]; ret[3] = b[(imm >> 6) & 0x03]; ++// return ret; ++// } ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_ps ++#define _mm_shuffle_ps_default(a, b, imm) \ ++ vreinterpretq_m128_f32(vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), ((imm) >> 2) & 0x3), \ ++ vmovq_n_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Shuffle 16-bit integers in the low 64 bits of a using the control in imm8. ++// Store the results in the low 64 bits of dst, with the high 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflelo_epi16 ++#define _mm_shufflelo_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t lowBits = vget_low_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, (imm) & (0x3)), ret, 0); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++// Shuffle 16-bit integers in the high 64 bits of a using the control in imm8. ++// Store the results in the high 64 bits of dst, with the low 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflehi_epi16 ++#define _mm_shufflehi_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t highBits = vget_high_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, (imm) & (0x3)), ret, 4); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 2) & 0x3), ret, \ ++ 5); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 4) & 0x3), ret, \ ++ 6); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 6) & 0x3), ret, \ ++ 7); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++/* MMX */ ++ ++//_mm_empty is a no-op on arm ++FORCE_INLINE void _mm_empty(void) {} ++ ++/* SSE */ ++ ++// Add packed single-precision (32-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ps ++FORCE_INLINE __m128 _mm_add_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Add the lower single-precision (32-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ss ++FORCE_INLINE __m128 _mm_add_ss(__m128 a, __m128 b) ++{ ++ float32_t b0 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++ float32x4_t value = vsetq_lane_f32(b0, vdupq_n_f32(0), 0); ++ // the upper values in the result must be the remnants of . ++ return vreinterpretq_m128_f32(vaddq_f32(a, value)); ++} ++ ++// Compute the bitwise AND of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_ps ++FORCE_INLINE __m128 _mm_and_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vandq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Compute the bitwise NOT of packed single-precision (32-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_ps ++FORCE_INLINE __m128 _mm_andnot_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vbicq_s32(vreinterpretq_s32_m128(b), ++ vreinterpretq_s32_m128(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu16 ++FORCE_INLINE __m64 _mm_avg_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16( ++ vrhadd_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu8 ++FORCE_INLINE __m64 _mm_avg_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vrhadd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ps ++FORCE_INLINE __m128 _mm_cmpeq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ss ++FORCE_INLINE __m128 _mm_cmpeq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpeq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ps ++FORCE_INLINE __m128 _mm_cmpge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ss ++FORCE_INLINE __m128 _mm_cmpge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ps ++FORCE_INLINE __m128 _mm_cmpgt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ss ++FORCE_INLINE __m128 _mm_cmpgt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpgt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ps ++FORCE_INLINE __m128 _mm_cmple_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ss ++FORCE_INLINE __m128 _mm_cmple_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmple_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ps ++FORCE_INLINE __m128 _mm_cmplt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ss ++FORCE_INLINE __m128 _mm_cmplt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmplt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ps ++FORCE_INLINE __m128 _mm_cmpneq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ss ++FORCE_INLINE __m128 _mm_cmpneq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpneq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ps ++FORCE_INLINE __m128 _mm_cmpnge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ss ++FORCE_INLINE __m128 _mm_cmpnge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ps ++FORCE_INLINE __m128 _mm_cmpngt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ss ++FORCE_INLINE __m128 _mm_cmpngt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpngt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ps ++FORCE_INLINE __m128 _mm_cmpnle_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ss ++FORCE_INLINE __m128 _mm_cmpnle_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnle_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ps ++FORCE_INLINE __m128 _mm_cmpnlt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ss ++FORCE_INLINE __m128 _mm_cmpnlt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnlt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ps ++// ++// See also: ++// http://stackoverflow.com/questions/8627331/what-does-ordered-unordered-comparison-mean ++// http://stackoverflow.com/questions/29349621/neon-isnanval-intrinsics ++FORCE_INLINE __m128 _mm_cmpord_ps(__m128 a, __m128 b) ++{ ++ // Note: NEON does not have ordered compare builtin ++ // Need to compare a eq a and b eq b to check for NaN ++ // Do AND of results to get final ++ uint32x4_t ceqaa = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t ceqbb = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vandq_u32(ceqaa, ceqbb)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ss ++FORCE_INLINE __m128 _mm_cmpord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpord_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ps ++FORCE_INLINE __m128 _mm_cmpunord_ps(__m128 a, __m128 b) ++{ ++ uint32x4_t f32a = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t f32b = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vmvnq_u32(vandq_u32(f32a, f32b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ss ++FORCE_INLINE __m128 _mm_cmpunord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpunord_ps(a, b)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_ss ++FORCE_INLINE int _mm_comieq_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_eq_b = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_eq_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_ss ++FORCE_INLINE int _mm_comige_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_ge_b = ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_ge_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_ss ++FORCE_INLINE int _mm_comigt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_gt_b = ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_gt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_ss ++FORCE_INLINE int _mm_comile_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_le_b = ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_le_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_ss ++FORCE_INLINE int _mm_comilt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_lt_b = ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_lt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_ss ++FORCE_INLINE int _mm_comineq_ss(__m128 a, __m128 b) ++{ ++ return !_mm_comieq_ss(a, b); ++} ++ ++// Convert packed signed 32-bit integers in b to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, and copy the upper 2 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_pi2ps ++FORCE_INLINE __m128 _mm_cvt_pi2ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ps2pi ++FORCE_INLINE __m64 _mm_cvt_ps2pi(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))))); ++#else ++ return vreinterpret_m64_s32(vcvt_s32_f32(vget_low_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION))))); ++#endif ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_si2ss ++FORCE_INLINE __m128 _mm_cvt_si2ss(__m128 a, int b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ss2si ++FORCE_INLINE int _mm_cvt_ss2si(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vgetq_lane_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))), ++ 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int32_t) data; ++#endif ++} ++ ++// Convert packed 16-bit integers in a to packed single-precision (32-bit) ++// floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi16_ps ++FORCE_INLINE __m128 _mm_cvtpi16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vmovl_s16(vreinterpret_s16_m64(a)))); ++} ++ ++// Convert packed 32-bit integers in b to packed single-precision (32-bit) ++// floating-point elements, store the results in the lower 2 elements of dst, ++// and copy the upper 2 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_ps ++FORCE_INLINE __m128 _mm_cvtpi32_ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, then convert the packed signed 32-bit integers in b to ++// single-precision (32-bit) floating-point element, and store the results in ++// the upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32x2_ps ++FORCE_INLINE __m128 _mm_cvtpi32x2_ps(__m64 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vcombine_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b)))); ++} ++ ++// Convert the lower packed 8-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi8_ps ++FORCE_INLINE __m128 _mm_cvtpi8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vmovl_s16(vget_low_s16(vmovl_s8(vreinterpret_s8_m64(a)))))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 16-bit integers, and store the results in dst. Note: this intrinsic ++// will generate 0x7FFF, rather than 0x8000, for input values between 0x7FFF and ++// 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi16 ++FORCE_INLINE __m64 _mm_cvtps_pi16(__m128 a) ++{ ++ return vreinterpret_m64_s16( ++ vqmovn_s32(vreinterpretq_s32_m128i(_mm_cvtps_epi32(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi32 ++#define _mm_cvtps_pi32(a) _mm_cvt_ps2pi(a) ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 8-bit integers, and store the results in lower 4 elements of dst. ++// Note: this intrinsic will generate 0x7F, rather than 0x80, for input values ++// between 0x7F and 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi8 ++FORCE_INLINE __m64 _mm_cvtps_pi8(__m128 a) ++{ ++ return vreinterpret_m64_s8(vqmovn_s16( ++ vcombine_s16(vreinterpret_s16_m64(_mm_cvtps_pi16(a)), vdup_n_s16(0)))); ++} ++ ++// Convert packed unsigned 16-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu16_ps ++FORCE_INLINE __m128 _mm_cvtpu16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_u32(vmovl_u16(vreinterpret_u16_m64(a)))); ++} ++ ++// Convert the lower packed unsigned 8-bit integers in a to packed ++// single-precision (32-bit) floating-point elements, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu8_ps ++FORCE_INLINE __m128 _mm_cvtpu8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_u32( ++ vmovl_u16(vget_low_u16(vmovl_u8(vreinterpret_u8_m64(a)))))); ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_ss ++#define _mm_cvtsi32_ss(a, b) _mm_cvt_si2ss(a, b) ++ ++// Convert the signed 64-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_ss ++FORCE_INLINE __m128 _mm_cvtsi64_ss(__m128 a, int64_t b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Copy the lower single-precision (32-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_f32 ++FORCE_INLINE float _mm_cvtss_f32(__m128 a) ++{ ++ return vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si32 ++#define _mm_cvtss_si32(a) _mm_cvt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si64 ++FORCE_INLINE int64_t _mm_cvtss_si64(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return (int64_t) vgetq_lane_f32(vrndiq_f32(vreinterpretq_f32_m128(a)), 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int64_t) data; ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ps2pi ++FORCE_INLINE __m64 _mm_cvtt_ps2pi(__m128 a) ++{ ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ss2si ++FORCE_INLINE int _mm_cvtt_ss2si(__m128 a) ++{ ++ return vgetq_lane_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)), 0); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_pi32 ++#define _mm_cvttps_pi32(a) _mm_cvtt_ps2pi(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si32 ++#define _mm_cvttss_si32(a) _mm_cvtt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si64 ++FORCE_INLINE int64_t _mm_cvttss_si64(__m128 a) ++{ ++ return (int64_t) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Divide packed single-precision (32-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise division intrinsic, we implement ++// division by multiplying a by b's reciprocal before using the Newton-Raphson ++// method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ps ++FORCE_INLINE __m128 _mm_div_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vdivq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(b)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(a), recip)); ++#endif ++} ++ ++// Divide the lower single-precision (32-bit) floating-point element in a by the ++// lower single-precision (32-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper 3 packed elements from a to ++// the upper elements of dst. ++// Warning: ARMv7-A does not produce the same result compared to Intel and not ++// IEEE-compliant. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ss ++FORCE_INLINE __m128 _mm_div_ss(__m128 a, __m128 b) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_div_ps(a, b)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_pi16 ++#define _mm_extract_pi16(a, imm) \ ++ (int32_t) vget_lane_u16(vreinterpret_u16_m64(a), (imm)) ++ ++// Free aligned memory that was allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_free ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void _mm_free(void *addr) ++{ ++ free(addr); ++} ++#endif ++ ++FORCE_INLINE uint64_t _sse2neon_get_fpcr(void) ++{ ++ uint64_t value; ++#if defined(_MSC_VER) ++ value = _ReadStatusReg(ARM64_FPCR); ++#else ++ __asm__ __volatile__("mrs %0, FPCR" : "=r"(value)); /* read */ ++#endif ++ return value; ++} ++ ++FORCE_INLINE void _sse2neon_set_fpcr(uint64_t value) ++{ ++#if defined(_MSC_VER) ++ _WriteStatusReg(ARM64_FPCR, value); ++#else ++ __asm__ __volatile__("msr FPCR, %0" ::"r"(value)); /* write */ ++#endif ++} ++ ++// Macro: Get the flush zero bits from the MXCSR control and status register. ++// The flush zero may contain any of the following flags: _MM_FLUSH_ZERO_ON or ++// _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_FLUSH_ZERO_MODE ++FORCE_INLINE unsigned int _sse2neon_mm_get_flush_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_FLUSH_ZERO_ON : _MM_FLUSH_ZERO_OFF; ++} ++ ++// Macro: Get the rounding mode bits from the MXCSR control and status register. ++// The rounding mode may contain any of the following flags: _MM_ROUND_NEAREST, ++// _MM_ROUND_DOWN, _MM_ROUND_UP, _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_ROUNDING_MODE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ if (r.field.bit22) { ++ return r.field.bit23 ? _MM_ROUND_TOWARD_ZERO : _MM_ROUND_UP; ++ } else { ++ return r.field.bit23 ? _MM_ROUND_DOWN : _MM_ROUND_NEAREST; ++ } ++} ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_pi16 ++#define _mm_insert_pi16(a, b, imm) \ ++ vreinterpret_m64_s16(vset_lane_s16((b), vreinterpret_s16_m64(a), (imm))) ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps ++FORCE_INLINE __m128 _mm_load_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// ++// dst[31:0] := MEM[mem_addr+31:mem_addr] ++// dst[63:32] := MEM[mem_addr+31:mem_addr] ++// dst[95:64] := MEM[mem_addr+31:mem_addr] ++// dst[127:96] := MEM[mem_addr+31:mem_addr] ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps1 ++#define _mm_load_ps1 _mm_load1_ps ++ ++// Load a single-precision (32-bit) floating-point element from memory into the ++// lower of dst, and zero the upper 3 elements. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ss ++FORCE_INLINE __m128 _mm_load_ss(const float *p) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(*p, vdupq_n_f32(0), 0)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_ps ++FORCE_INLINE __m128 _mm_load1_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_dup_f32(p)); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// upper 2 elements of dst, and copy the lower 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pi ++FORCE_INLINE __m128 _mm_loadh_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vget_low_f32(a), vld1_f32((const float32_t *) p))); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// lower 2 elements of dst, and copy the upper 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pi ++FORCE_INLINE __m128 _mm_loadl_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vld1_f32((const float32_t *) p), vget_high_f32(a))); ++} ++ ++// Load 4 single-precision (32-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_ps ++FORCE_INLINE __m128 _mm_loadr_ps(const float *p) ++{ ++ float32x4_t v = vrev64q_f32(vld1q_f32(p)); ++ return vreinterpretq_m128_f32(vextq_f32(v, v, 2)); ++} ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_ps ++FORCE_INLINE __m128 _mm_loadu_ps(const float *p) ++{ ++ // for neon, alignment doesn't matter, so _mm_load_ps and _mm_loadu_ps are ++ // equivalent for neon ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load unaligned 16-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si16 ++FORCE_INLINE __m128i _mm_loadu_si16(const void *p) ++{ ++ return vreinterpretq_m128i_s16( ++ vsetq_lane_s16(*(const unaligned_int16_t *) p, vdupq_n_s16(0), 0)); ++} ++ ++// Load unaligned 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si64 ++FORCE_INLINE __m128i _mm_loadu_si64(const void *p) ++{ ++ return vreinterpretq_m128i_s64( ++ vsetq_lane_s64(*(const unaligned_int64_t *) p, vdupq_n_s64(0), 0)); ++} ++ ++// Allocate size bytes of memory, aligned to the alignment specified in align, ++// and return a pointer to the allocated memory. _mm_free should be used to free ++// memory that is allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_malloc ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void *_mm_malloc(size_t size, size_t align) ++{ ++ void *ptr; ++ if (align == 1) ++ return malloc(size); ++ if (align == 2 || (sizeof(void *) == 8 && align == 4)) ++ align = sizeof(void *); ++ if (!posix_memalign(&ptr, align, size)) ++ return ptr; ++ return NULL; ++} ++#endif ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmove_si64 ++FORCE_INLINE void _mm_maskmove_si64(__m64 a, __m64 mask, char *mem_addr) ++{ ++ int8x8_t shr_mask = vshr_n_s8(vreinterpret_s8_m64(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x8_t masked = ++ vbsl_s8(vreinterpret_u8_s8(shr_mask), vreinterpret_s8_m64(a), ++ vreinterpret_s8_u64(vget_low_u64(vreinterpretq_u64_m128(b)))); ++ vst1_s8((int8_t *) mem_addr, masked); ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_maskmovq ++#define _m_maskmovq(a, mask, mem_addr) _mm_maskmove_si64(a, mask, mem_addr) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pi16 ++FORCE_INLINE __m64 _mm_max_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmax_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) maximum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ps ++FORCE_INLINE __m128 _mm_max_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcgtq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vmaxq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pu8 ++FORCE_INLINE __m64 _mm_max_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmax_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) maximum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ss ++FORCE_INLINE __m128 _mm_max_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_max_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pi16 ++FORCE_INLINE __m64 _mm_min_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmin_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) minimum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ps ++FORCE_INLINE __m128 _mm_min_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcltq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vminq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pu8 ++FORCE_INLINE __m64 _mm_min_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmin_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) minimum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ss ++FORCE_INLINE __m128 _mm_min_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_min_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the lower single-precision (32-bit) floating-point element from b to the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_ss ++FORCE_INLINE __m128 _mm_move_ss(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(vgetq_lane_f32(vreinterpretq_f32_m128(b), 0), ++ vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the upper 2 single-precision (32-bit) floating-point elements from b to ++// the lower 2 elements of dst, and copy the upper 2 elements from a to the ++// upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehl_ps ++FORCE_INLINE __m128 _mm_movehl_ps(__m128 a, __m128 b) ++{ ++#if defined(aarch64__) ++ return vreinterpretq_m128_u64( ++ vzip2q_u64(vreinterpretq_u64_m128(b), vreinterpretq_u64_m128(a))); ++#else ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(b32, a32)); ++#endif ++} ++ ++// Move the lower 2 single-precision (32-bit) floating-point elements from b to ++// the upper 2 elements of dst, and copy the lower 2 elements from a to the ++// lower 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movelh_ps ++FORCE_INLINE __m128 _mm_movelh_ps(__m128 __A, __m128 __B) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(__A)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(__B)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pi8 ++FORCE_INLINE int _mm_movemask_pi8(__m64 a) ++{ ++ uint8x8_t input = vreinterpret_u8_m64(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int8_t shift[8] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint8x8_t tmp = vshr_n_u8(input, 7); ++ return vaddv_u8(vshl_u8(tmp, vld1_s8(shift))); ++#else ++ // Refer the implementation of `_mm_movemask_epi8` ++ uint16x4_t high_bits = vreinterpret_u16_u8(vshr_n_u8(input, 7)); ++ uint32x2_t paired16 = ++ vreinterpret_u32_u16(vsra_n_u16(high_bits, high_bits, 7)); ++ uint8x8_t paired32 = ++ vreinterpret_u8_u32(vsra_n_u32(paired16, paired16, 14)); ++ return vget_lane_u8(paired32, 0) | ((int) vget_lane_u8(paired32, 4) << 4); ++#endif ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed single-precision (32-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_ps ++FORCE_INLINE int _mm_movemask_ps(__m128 a) ++{ ++ uint32x4_t input = vreinterpretq_u32_m128(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int32_t shift[4] = {0, 1, 2, 3}; ++ uint32x4_t tmp = vshrq_n_u32(input, 31); ++ return vaddvq_u32(vshlq_u32(tmp, vld1q_s32(shift))); ++#else ++ // Uses the exact same method as _mm_movemask_epi8, see that for details. ++ // Shift out everything but the sign bits with a 32-bit unsigned shift ++ // right. ++ uint64x2_t high_bits = vreinterpretq_u64_u32(vshrq_n_u32(input, 31)); ++ // Merge the two pairs together with a 64-bit unsigned shift right + add. ++ uint8x16_t paired = ++ vreinterpretq_u8_u64(vsraq_n_u64(high_bits, high_bits, 31)); ++ // Extract the result. ++ return vgetq_lane_u8(paired, 0) | (vgetq_lane_u8(paired, 8) << 2); ++#endif ++} ++ ++// Multiply packed single-precision (32-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ps ++FORCE_INLINE_OPTNONE __m128 _mm_mul_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vmulq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Multiply the lower single-precision (32-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ss ++FORCE_INLINE __m128 _mm_mul_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_mul_ps(a, b)); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_pu16 ++FORCE_INLINE __m64 _mm_mulhi_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16(vshrn_n_u32( ++ vmull_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b)), 16)); ++} ++ ++// Compute the bitwise OR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_ps ++FORCE_INLINE __m128 _mm_or_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vorrq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgb ++#define _m_pavgb(a, b) _mm_avg_pu8(a, b) ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgw ++#define _m_pavgw(a, b) _mm_avg_pu16(a, b) ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pextrw ++#define _m_pextrw(a, imm) _mm_extract_pi16(a, imm) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_pinsrw ++#define _m_pinsrw(a, i, imm) _mm_insert_pi16(a, i, imm) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxsw ++#define _m_pmaxsw(a, b) _mm_max_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxub ++#define _m_pmaxub(a, b) _mm_max_pu8(a, b) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminsw ++#define _m_pminsw(a, b) _mm_min_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminub ++#define _m_pminub(a, b) _mm_min_pu8(a, b) ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmovmskb ++#define _m_pmovmskb(a) _mm_movemask_pi8(a) ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmulhuw ++#define _m_pmulhuw(a, b) _mm_mulhi_pu16(a, b) ++ ++// Fetch the line of data from memory that contains address p to a location in ++// the cache hierarchy specified by the locality hint i. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_prefetch ++FORCE_INLINE void _mm_prefetch(char const *p, int i) ++{ ++ (void) i; ++#if defined(_MSC_VER) ++ switch (i) { ++ case _MM_HINT_NTA: ++ __prefetch2(p, 1); ++ break; ++ case _MM_HINT_T0: ++ __prefetch2(p, 0); ++ break; ++ case _MM_HINT_T1: ++ __prefetch2(p, 2); ++ break; ++ case _MM_HINT_T2: ++ __prefetch2(p, 4); ++ break; ++ } ++#else ++ switch (i) { ++ case _MM_HINT_NTA: ++ __builtin_prefetch(p, 0, 0); ++ break; ++ case _MM_HINT_T0: ++ __builtin_prefetch(p, 0, 3); ++ break; ++ case _MM_HINT_T1: ++ __builtin_prefetch(p, 0, 2); ++ break; ++ case _MM_HINT_T2: ++ __builtin_prefetch(p, 0, 1); ++ break; ++ } ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_psadbw ++#define _m_psadbw(a, b) _mm_sad_pu8(a, b) ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pshufw ++#define _m_pshufw(a, imm) _mm_shuffle_pi16(a, imm) ++ ++// Compute the approximate reciprocal of packed single-precision (32-bit) ++// floating-point elements in a, and store the results in dst. The maximum ++// relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ps ++FORCE_INLINE __m128 _mm_rcp_ps(__m128 in) ++{ ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(in)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#if SSE2NEON_PRECISE_DIV ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#endif ++ return vreinterpretq_m128_f32(recip); ++} ++ ++// Compute the approximate reciprocal of the lower single-precision (32-bit) ++// floating-point element in a, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ss ++FORCE_INLINE __m128 _mm_rcp_ss(__m128 a) ++{ ++ return _mm_move_ss(a, _mm_rcp_ps(a)); ++} ++ ++// Compute the approximate reciprocal square root of packed single-precision ++// (32-bit) floating-point elements in a, and store the results in dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ps ++FORCE_INLINE __m128 _mm_rsqrt_ps(__m128 in) ++{ ++ float32x4_t out = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Generate masks for detecting whether input has any 0.0f/-0.0f ++ // (which becomes positive/negative infinity by IEEE-754 arithmetic rules). ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t neg_inf = vdupq_n_u32(0xFF800000); ++ const uint32x4_t has_pos_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(out)); ++ const uint32x4_t has_neg_zero = ++ vceqq_u32(neg_inf, vreinterpretq_u32_f32(out)); ++ ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#if SSE2NEON_PRECISE_SQRT ++ // Additional Netwon-Raphson iteration for accuracy ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#endif ++ ++ // Set output vector element to infinity/negative-infinity if ++ // the corresponding input vector element is 0.0f/-0.0f. ++ out = vbslq_f32(has_pos_zero, (float32x4_t) pos_inf, out); ++ out = vbslq_f32(has_neg_zero, (float32x4_t) neg_inf, out); ++ ++ return vreinterpretq_m128_f32(out); ++} ++ ++// Compute the approximate reciprocal square root of the lower single-precision ++// (32-bit) floating-point element in a, store the result in the lower element ++// of dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ss ++FORCE_INLINE __m128 _mm_rsqrt_ss(__m128 in) ++{ ++ return vsetq_lane_f32(vgetq_lane_f32(_mm_rsqrt_ps(in), 0), in, 0); ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_pu8 ++FORCE_INLINE __m64 _mm_sad_pu8(__m64 a, __m64 b) ++{ ++ uint64x1_t t = vpaddl_u32(vpaddl_u16( ++ vpaddl_u8(vabd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))))); ++ return vreinterpret_m64_u16( ++ vset_lane_u16((int) vget_lane_u64(t, 0), vdup_n_u16(0), 0)); ++} ++ ++// Macro: Set the flush zero bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The flush zero may contain any of the ++// following flags: _MM_FLUSH_ZERO_ON or _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_FLUSH_ZERO_MODE ++FORCE_INLINE void _sse2neon_mm_set_flush_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_FLUSH_ZERO_MASK) == _MM_FLUSH_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps ++FORCE_INLINE __m128 _mm_set_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {x, y, z, w}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps1 ++FORCE_INLINE __m128 _mm_set_ps1(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Macro: Set the rounding mode bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The rounding mode may contain any of ++// the following flags: _MM_ROUND_NEAREST, _MM_ROUND_DOWN, _MM_ROUND_UP, ++// _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_ROUNDING_MODE ++FORCE_INLINE void _MM_SET_ROUNDING_MODE(int rounding) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ switch (rounding) { ++ case _MM_ROUND_TOWARD_ZERO: ++ r.field.bit22 = 1; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_DOWN: ++ r.field.bit22 = 0; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_UP: ++ r.field.bit22 = 1; ++ r.field.bit23 = 0; ++ break; ++ default: //_MM_ROUND_NEAREST ++ r.field.bit22 = 0; ++ r.field.bit23 = 0; ++ } ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Copy single-precision (32-bit) floating-point element a to the lower element ++// of dst, and zero the upper 3 elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ss ++FORCE_INLINE __m128 _mm_set_ss(float a) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(a, vdupq_n_f32(0), 0)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_ps ++FORCE_INLINE __m128 _mm_set1_ps(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Set the MXCSR control and status register with the value in unsigned 32-bit ++// integer a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setcsr ++// FIXME: _mm_setcsr() implementation supports changing the rounding mode only. ++FORCE_INLINE void _mm_setcsr(unsigned int a) ++{ ++ _MM_SET_ROUNDING_MODE(a); ++} ++ ++// Get the unsigned 32-bit value of the MXCSR control and status register. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_getcsr ++// FIXME: _mm_getcsr() implementation supports reading the rounding mode only. ++FORCE_INLINE unsigned int _mm_getcsr(void) ++{ ++ return _MM_GET_ROUNDING_MODE(); ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_ps ++FORCE_INLINE __m128 _mm_setr_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {w, z, y, x}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Return vector of type __m128 with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_ps ++FORCE_INLINE __m128 _mm_setzero_ps(void) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(0)); ++} ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi16 ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pi16(a, imm) \ ++ vreinterpret_m64_s16(vshuffle_s16( \ ++ vreinterpret_s16_m64(a), vreinterpret_s16_m64(a), (imm & 0x3), \ ++ ((imm >> 2) & 0x3), ((imm >> 4) & 0x3), ((imm >> 6) & 0x3))) ++#else ++#define _mm_shuffle_pi16(a, imm) \ ++ _sse2neon_define1( \ ++ __m64, a, int16x4_t ret; \ ++ ret = vmov_n_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), (imm) & (0x3))); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpret_m64_s16(ret));) ++#endif ++ ++// Perform a serializing operation on all store-to-memory instructions that were ++// issued prior to this instruction. Guarantees that every store instruction ++// that precedes, in program order, is globally visible before any store ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sfence ++FORCE_INLINE void _mm_sfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory and store-to-memory ++// instructions that were issued prior to this instruction. Guarantees that ++// every memory access that precedes, in program order, the memory fence ++// instruction is globally visible before any memory instruction which follows ++// the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mfence ++FORCE_INLINE void _mm_mfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory instructions that ++// were issued prior to this instruction. Guarantees that every load instruction ++// that precedes, in program order, is globally visible before any load ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lfence ++FORCE_INLINE void _mm_lfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// FORCE_INLINE __m128 _mm_shuffle_ps(__m128 a, __m128 b, __constrange(0,255) ++// int imm) ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_ps(a, b, imm) \ ++ __extension__({ \ ++ float32x4_t _input1 = vreinterpretq_f32_m128(a); \ ++ float32x4_t _input2 = vreinterpretq_f32_m128(b); \ ++ float32x4_t _shuf = \ ++ vshuffleq_s32(_input1, _input2, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ (((imm) >> 4) & 0x3) + 4, (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128_f32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_ps(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128, a, b, __m128 ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_1032(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_ps_2301(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_ps_0321(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_ps_2103(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_movelh_ps(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_1001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_ps_0101(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 1, 0): \ ++ ret = _mm_shuffle_ps_3210(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 1, 1): \ ++ ret = _mm_shuffle_ps_0011(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 2, 2): \ ++ ret = _mm_shuffle_ps_0022(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 0, 0): \ ++ ret = _mm_shuffle_ps_2200(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 0, 2): \ ++ ret = _mm_shuffle_ps_3202(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 3, 2): \ ++ ret = _mm_movehl_ps(_b, _a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 3, 3): \ ++ ret = _mm_shuffle_ps_1133(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 1, 0): \ ++ ret = _mm_shuffle_ps_2010(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_2001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_2032(_a, _b); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_ps_default(_a, _b, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Compute the square root of packed single-precision (32-bit) floating-point ++// elements in a, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise square root intrinsic, we implement ++// square root by multiplying input in with its reciprocal square root before ++// using the Newton-Raphson method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ps ++FORCE_INLINE __m128 _mm_sqrt_ps(__m128 in) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) && !SSE2NEON_PRECISE_SQRT ++ return vreinterpretq_m128_f32(vsqrtq_f32(vreinterpretq_f32_m128(in))); ++#else ++ float32x4_t recip = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Test for vrsqrteq_f32(0) -> positive infinity case. ++ // Change to zero, so that s * 1/sqrt(s) result is zero too. ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t div_by_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(recip)); ++ recip = vreinterpretq_f32_u32( ++ vandq_u32(vmvnq_u32(div_by_zero), vreinterpretq_u32_f32(recip))); ++ ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ ++ // sqrt(s) = s * 1/sqrt(s) ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(in), recip)); ++#endif ++} ++ ++// Compute the square root of the lower single-precision (32-bit) floating-point ++// element in a, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ss ++FORCE_INLINE __m128 _mm_sqrt_ss(__m128 in) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_sqrt_ps(in)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(in), 0)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps ++FORCE_INLINE void _mm_store_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps1 ++FORCE_INLINE void _mm_store_ps1(float *p, __m128 a) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ vst1q_f32(p, vdupq_n_f32(a0)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ss ++FORCE_INLINE void _mm_store_ss(float *p, __m128 a) ++{ ++ vst1q_lane_f32(p, vreinterpretq_f32_m128(a), 0); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store1_ps ++#define _mm_store1_ps _mm_store_ps1 ++ ++// Store the upper 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pi ++FORCE_INLINE void _mm_storeh_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_high_f32(a)); ++} ++ ++// Store the lower 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pi ++FORCE_INLINE void _mm_storel_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_low_f32(a)); ++} ++ ++// Store 4 single-precision (32-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_ps ++FORCE_INLINE void _mm_storer_ps(float *p, __m128 a) ++{ ++ float32x4_t tmp = vrev64q_f32(vreinterpretq_f32_m128(a)); ++ float32x4_t rev = vextq_f32(tmp, tmp, 2); ++ vst1q_f32(p, rev); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_ps ++FORCE_INLINE void _mm_storeu_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Stores 16-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si16 ++FORCE_INLINE void _mm_storeu_si16(void *p, __m128i a) ++{ ++ vst1q_lane_s16((int16_t *) p, vreinterpretq_s16_m128i(a), 0); ++} ++ ++// Stores 64-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si64 ++FORCE_INLINE void _mm_storeu_si64(void *p, __m128i a) ++{ ++ vst1q_lane_s64((int64_t *) p, vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Store 64-bits of integer data from a into memory using a non-temporal memory ++// hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pi ++FORCE_INLINE void _mm_stream_pi(__m64 *p, __m64 a) ++{ ++ vst1_s64((int64_t *) p, vreinterpret_s64_m64(a)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating- ++// point elements) from a into memory using a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_ps ++FORCE_INLINE void _mm_stream_ps(float *p, __m128 a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (float32x4_t *) p); ++#else ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++#endif ++} ++ ++// Subtract packed single-precision (32-bit) floating-point elements in b from ++// packed single-precision (32-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ps ++FORCE_INLINE __m128 _mm_sub_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Subtract the lower single-precision (32-bit) floating-point element in b from ++// the lower single-precision (32-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper 3 packed elements from ++// a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ss ++FORCE_INLINE __m128 _mm_sub_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_sub_ps(a, b)); ++} ++ ++// Macro: Transpose the 4x4 matrix formed by the 4 rows of single-precision ++// (32-bit) floating-point elements in row0, row1, row2, and row3, and store the ++// transposed matrix in these vectors (row0 now contains column 0, etc.). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=MM_TRANSPOSE4_PS ++#define _MM_TRANSPOSE4_PS(row0, row1, row2, row3) \ ++ do { \ ++ float32x4x2_t ROW01 = vtrnq_f32(row0, row1); \ ++ float32x4x2_t ROW23 = vtrnq_f32(row2, row3); \ ++ row0 = vcombine_f32(vget_low_f32(ROW01.val[0]), \ ++ vget_low_f32(ROW23.val[0])); \ ++ row1 = vcombine_f32(vget_low_f32(ROW01.val[1]), \ ++ vget_low_f32(ROW23.val[1])); \ ++ row2 = vcombine_f32(vget_high_f32(ROW01.val[0]), \ ++ vget_high_f32(ROW23.val[0])); \ ++ row3 = vcombine_f32(vget_high_f32(ROW01.val[1]), \ ++ vget_high_f32(ROW23.val[1])); \ ++ } while (0) ++ ++// according to the documentation, these intrinsics behave the same as the ++// non-'u' versions. We'll just alias them here. ++#define _mm_ucomieq_ss _mm_comieq_ss ++#define _mm_ucomige_ss _mm_comige_ss ++#define _mm_ucomigt_ss _mm_comigt_ss ++#define _mm_ucomile_ss _mm_comile_ss ++#define _mm_ucomilt_ss _mm_comilt_ss ++#define _mm_ucomineq_ss _mm_comineq_ss ++ ++// Return vector of type __m128i with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_undefined_si128 ++FORCE_INLINE __m128i _mm_undefined_si128(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128i a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_si128(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Return vector of type __m128 with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_ps ++FORCE_INLINE __m128 _mm_undefined_ps(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128 a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_ps(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the high half a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_ps ++FORCE_INLINE __m128 _mm_unpackhi_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_ps ++FORCE_INLINE __m128 _mm_unpacklo_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Compute the bitwise XOR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_ps ++FORCE_INLINE __m128 _mm_xor_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ veorq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++/* SSE2 */ ++ ++// Add packed 16-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi16 ++FORCE_INLINE __m128i _mm_add_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed 32-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi32 ++FORCE_INLINE __m128i _mm_add_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vaddq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Add packed 64-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi64 ++FORCE_INLINE __m128i _mm_add_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vaddq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Add packed 8-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi8 ++FORCE_INLINE __m128i _mm_add_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed double-precision (64-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_pd ++FORCE_INLINE __m128d _mm_add_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1] + db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add the lower double-precision (64-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper element from ++// a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_sd ++FORCE_INLINE __m128d _mm_add_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_add_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add 64-bit integers a and b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_si64 ++FORCE_INLINE __m64 _mm_add_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vadd_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Add packed signed 16-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi16 ++FORCE_INLINE __m128i _mm_adds_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed signed 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi8 ++FORCE_INLINE __m128i _mm_adds_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed unsigned 16-bit integers in a and b using saturation, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu16 ++FORCE_INLINE __m128i _mm_adds_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqaddq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Add packed unsigned 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu8 ++FORCE_INLINE __m128i _mm_adds_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compute the bitwise AND of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_pd ++FORCE_INLINE __m128d _mm_and_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vandq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_si128 ++FORCE_INLINE __m128i _mm_and_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vandq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compute the bitwise NOT of packed double-precision (64-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_pd ++FORCE_INLINE __m128d _mm_andnot_pd(__m128d a, __m128d b) ++{ ++ // *NOTE* argument swap ++ return vreinterpretq_m128d_s64( ++ vbicq_s64(vreinterpretq_s64_m128d(b), vreinterpretq_s64_m128d(a))); ++} ++ ++// Compute the bitwise NOT of 128 bits (representing integer data) in a and then ++// AND with b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_si128 ++FORCE_INLINE __m128i _mm_andnot_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vbicq_s32(vreinterpretq_s32_m128i(b), ++ vreinterpretq_s32_m128i(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu16 ++FORCE_INLINE __m128i _mm_avg_epu16(__m128i a, __m128i b) ++{ ++ return (__m128i) vrhaddq_u16(vreinterpretq_u16_m128i(a), ++ vreinterpretq_u16_m128i(b)); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu8 ++FORCE_INLINE __m128i _mm_avg_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vrhaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bslli_si128 ++#define _mm_bslli_si128(a, imm) _mm_slli_si128(a, imm) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bsrli_si128 ++#define _mm_bsrli_si128(a, imm) _mm_srli_si128(a, imm) ++ ++// Cast vector of type __m128d to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_ps ++FORCE_INLINE __m128 _mm_castpd_ps(__m128d a) ++{ ++ return vreinterpretq_m128_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128d to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_si128 ++FORCE_INLINE __m128i _mm_castpd_si128(__m128d a) ++{ ++ return vreinterpretq_m128i_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128 to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_pd ++FORCE_INLINE __m128d _mm_castps_pd(__m128 a) ++{ ++ return vreinterpretq_m128d_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128 to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_si128 ++FORCE_INLINE __m128i _mm_castps_si128(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128i to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_pd ++FORCE_INLINE __m128d _mm_castsi128_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vreinterpretq_f64_m128i(a)); ++#else ++ return vreinterpretq_m128d_f32(vreinterpretq_f32_m128i(a)); ++#endif ++} ++ ++// Cast vector of type __m128i to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_ps ++FORCE_INLINE __m128 _mm_castsi128_ps(__m128i a) ++{ ++ return vreinterpretq_m128_s32(vreinterpretq_s32_m128i(a)); ++} ++ ++// Invalidate and flush the cache line that contains p from all levels of the ++// cache hierarchy. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clflush ++#if defined(__APPLE__) ++#include ++#endif ++FORCE_INLINE void _mm_clflush(void const *p) ++{ ++ (void) p; ++ ++ /* sys_icache_invalidate is supported since macOS 10.5. ++ * However, it does not work on non-jailbroken iOS devices, although the ++ * compilation is successful. ++ */ ++#if defined(__APPLE__) ++ sys_icache_invalidate((void *) (uintptr_t) p, SSE2NEON_CACHELINE_SIZE); ++#elif defined(__GNUC__) || defined(__clang__) ++ uintptr_t ptr = (uintptr_t) p; ++ __builtin___clear_cache((char *) ptr, ++ (char *) ptr + SSE2NEON_CACHELINE_SIZE); ++#elif (_MSC_VER) && SSE2NEON_INCLUDE_WINDOWS_H ++ FlushInstructionCache(GetCurrentProcess(), p, SSE2NEON_CACHELINE_SIZE); ++#endif ++} ++ ++// Compare packed 16-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi16 ++FORCE_INLINE __m128i _mm_cmpeq_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vceqq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed 32-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi32 ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vceqq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed 8-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi8 ++FORCE_INLINE __m128i _mm_cmpeq_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vceqq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_pd ++FORCE_INLINE __m128d _mm_cmpeq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_sd ++FORCE_INLINE __m128d _mm_cmpeq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpeq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_pd ++FORCE_INLINE __m128d _mm_cmpge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) >= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_sd ++FORCE_INLINE __m128d _mm_cmpge_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpge_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi16 ++FORCE_INLINE __m128i _mm_cmpgt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcgtq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi32 ++FORCE_INLINE __m128i _mm_cmpgt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcgtq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi8 ++FORCE_INLINE __m128i _mm_cmpgt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcgtq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_pd ++FORCE_INLINE __m128d _mm_cmpgt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_sd ++FORCE_INLINE __m128d _mm_cmpgt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpgt_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_pd ++FORCE_INLINE __m128d _mm_cmple_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) <= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_sd ++FORCE_INLINE __m128d _mm_cmple_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmple_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtw instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi16 ++FORCE_INLINE __m128i _mm_cmplt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcltq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtd instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi32 ++FORCE_INLINE __m128i _mm_cmplt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcltq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtb instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi8 ++FORCE_INLINE __m128i _mm_cmplt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcltq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_pd ++FORCE_INLINE __m128d _mm_cmplt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_sd ++FORCE_INLINE __m128d _mm_cmplt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmplt_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_pd ++FORCE_INLINE __m128d _mm_cmpneq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_s32(vmvnq_s32(vreinterpretq_s32_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vmvnq_u32(vandq_u32(cmp, swapped))); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_sd ++FORCE_INLINE __m128d _mm_cmpneq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpneq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_pd ++FORCE_INLINE __m128d _mm_cmpnge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) >= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) >= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_sd ++FORCE_INLINE __m128d _mm_cmpnge_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnge_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_cmpngt_pd ++FORCE_INLINE __m128d _mm_cmpngt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) > (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) > (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_sd ++FORCE_INLINE __m128d _mm_cmpngt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpngt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_pd ++FORCE_INLINE __m128d _mm_cmpnle_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) <= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) <= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_sd ++FORCE_INLINE __m128d _mm_cmpnle_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnle_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_pd ++FORCE_INLINE __m128d _mm_cmpnlt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) < (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) < (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_sd ++FORCE_INLINE __m128d _mm_cmpnlt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnlt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_pd ++FORCE_INLINE __m128d _mm_cmpord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Excluding NaNs, any two floating point numbers can be compared. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_u64(vandq_u64(not_nan_a, not_nan_b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_sd ++FORCE_INLINE __m128d _mm_cmpord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_pd ++FORCE_INLINE __m128d _mm_cmpunord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Two NaNs are not equal in comparison operation. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_s32( ++ vmvnq_s32(vreinterpretq_s32_u64(vandq_u64(not_nan_a, not_nan_b)))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_sd ++FORCE_INLINE __m128d _mm_cmpunord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpunord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_sd ++FORCE_INLINE int _mm_comige_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgeq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 >= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_sd ++FORCE_INLINE int _mm_comigt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgtq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 > *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_sd ++FORCE_INLINE int _mm_comile_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcleq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 <= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_sd ++FORCE_INLINE int _mm_comilt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcltq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 < *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_sd ++FORCE_INLINE int _mm_comieq_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vceqq_f64(a, b), 0) & 0x1; ++#else ++ uint32x4_t a_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(a)); ++ uint32x4_t b_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(b), vreinterpretq_u32_m128d(b)); ++ uint32x4_t a_and_b_not_nan = vandq_u32(a_not_nan, b_not_nan); ++ uint32x4_t a_eq_b = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint64x2_t and_results = vandq_u64(vreinterpretq_u64_u32(a_and_b_not_nan), ++ vreinterpretq_u64_u32(a_eq_b)); ++ return vgetq_lane_u64(and_results, 0) & 0x1; ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_sd ++FORCE_INLINE int _mm_comineq_sd(__m128d a, __m128d b) ++{ ++ return !_mm_comieq_sd(a, b); ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_pd ++FORCE_INLINE __m128d _mm_cvtepi32_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a))))); ++#else ++ double a0 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++ double a1 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_ps ++FORCE_INLINE __m128 _mm_cvtepi32_ps(__m128i a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_epi32 ++FORCE_INLINE_OPTNONE __m128i _mm_cvtpd_epi32(__m128d a) ++{ ++// vrnd32xq_f64 not supported on clang ++#if defined(__ARM_FEATURE_FRINT) && !defined(__clang__) ++ float64x2_t rounded = vrnd32xq_f64(vreinterpretq_f64_m128d(a)); ++ int64x2_t integers = vcvtq_s64_f64(rounded); ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vmovn_s64(integers), vdup_n_s32(0))); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) d1, (int32_t) d0); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_pi32 ++FORCE_INLINE_OPTNONE __m64 _mm_cvtpd_pi32(__m128d a) ++{ ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) d0, (int32_t) d1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed single-precision (32-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_ps ++FORCE_INLINE __m128 _mm_cvtpd_ps(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float32x2_t tmp = vcvt_f32_f64(vreinterpretq_f64_m128d(a)); ++ return vreinterpretq_m128_f32(vcombine_f32(tmp, vdup_n_f32(0))); ++#else ++ float a0 = (float) ((double *) &a)[0]; ++ float a1 = (float) ((double *) &a)[1]; ++ return _mm_set_ps(0, 0, a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_pd ++FORCE_INLINE __m128d _mm_cvtpi32_pd(__m64 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vreinterpret_s32_m64(a)))); ++#else ++ double a0 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 0); ++ double a1 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_epi32 ++// *NOTE*. The default rounding mode on SSE is 'round to even', which ARMv7-A ++// does not support! It is supported on ARMv8-A however. ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128 a) ++{ ++#if defined(__ARM_FEATURE_FRINT) ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vrnd32xq_f32(a))); ++#elif (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: ++ return vreinterpretq_m128i_s32(vcvtnq_s32_f32(a)); ++ case _MM_ROUND_DOWN: ++ return vreinterpretq_m128i_s32(vcvtmq_s32_f32(a)); ++ case _MM_ROUND_UP: ++ return vreinterpretq_m128i_s32(vcvtpq_s32_f32(a)); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(a)); ++ } ++#else ++ float *f = (float *) &a; ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128i_s32( ++ vbslq_s32(is_delta_half, r_even, r_normal)); ++ } ++ case _MM_ROUND_DOWN: ++ return _mm_set_epi32(floorf(f[3]), floorf(f[2]), floorf(f[1]), ++ floorf(f[0])); ++ case _MM_ROUND_UP: ++ return _mm_set_epi32(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ++ ceilf(f[0])); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return _mm_set_epi32((int32_t) f[3], (int32_t) f[2], (int32_t) f[1], ++ (int32_t) f[0]); ++ } ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed double-precision (64-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pd ++FORCE_INLINE __m128d _mm_cvtps_pd(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvt_f64_f32(vget_low_f32(vreinterpretq_f32_m128(a)))); ++#else ++ double a0 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ double a1 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Copy the lower double-precision (64-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_f64 ++FORCE_INLINE double _mm_cvtsd_f64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (double) vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0); ++#else ++ return ((double *) &a)[0]; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si32 ++FORCE_INLINE int32_t _mm_cvtsd_si32(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int32_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int32_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64 ++FORCE_INLINE int64_t _mm_cvtsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int64_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64x ++#define _mm_cvtsd_si64x _mm_cvtsd_si64 ++ ++// Convert the lower double-precision (64-bit) floating-point element in b to a ++// single-precision (32-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_ss ++FORCE_INLINE __m128 _mm_cvtsd_ss(__m128 a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32(vsetq_lane_f32( ++ vget_lane_f32(vcvt_f32_f64(vreinterpretq_f64_m128d(b)), 0), ++ vreinterpretq_f32_m128(a), 0)); ++#else ++ return vreinterpretq_m128_f32(vsetq_lane_f32((float) ((double *) &b)[0], ++ vreinterpretq_f32_m128(a), 0)); ++#endif ++} ++ ++// Copy the lower 32-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si32 ++FORCE_INLINE int _mm_cvtsi128_si32(__m128i a) ++{ ++ return vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64 ++FORCE_INLINE int64_t _mm_cvtsi128_si64(__m128i a) ++{ ++ return vgetq_lane_s64(vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Convert the signed 32-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_sd ++FORCE_INLINE __m128d _mm_cvtsi32_sd(__m128d a, int32_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Copy 32-bit integer a to the lower elements of dst, and zero the upper ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_si128 ++FORCE_INLINE __m128i _mm_cvtsi32_si128(int a) ++{ ++ return vreinterpretq_m128i_s32(vsetq_lane_s32(a, vdupq_n_s32(0), 0)); ++} ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_sd ++FORCE_INLINE __m128d _mm_cvtsi64_sd(__m128d a, int64_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_si128 ++FORCE_INLINE __m128i _mm_cvtsi64_si128(int64_t a) ++{ ++ return vreinterpretq_m128i_s64(vsetq_lane_s64(a, vdupq_n_s64(0), 0)); ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_si128 ++#define _mm_cvtsi64x_si128(a) _mm_cvtsi64_si128(a) ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_sd ++#define _mm_cvtsi64x_sd(a, b) _mm_cvtsi64_sd(a, b) ++ ++// Convert the lower single-precision (32-bit) floating-point element in b to a ++// double-precision (64-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_sd ++FORCE_INLINE __m128d _mm_cvtss_sd(__m128d a, __m128 b) ++{ ++ double d = (double) vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(d, vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &d, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_epi32 ++FORCE_INLINE __m128i _mm_cvttpd_epi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) a1, (int32_t) a0); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_pi32 ++FORCE_INLINE __m64 _mm_cvttpd_pi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) a0, (int32_t) a1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_epi32 ++FORCE_INLINE __m128i _mm_cvttps_epi32(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a))); ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si32 ++FORCE_INLINE int32_t _mm_cvttsd_si32(__m128d a) ++{ ++ double ret = *((double *) &a); ++ return (int32_t) ret; ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64 ++FORCE_INLINE int64_t _mm_cvttsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_s64(vcvtq_s64_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ double ret = *((double *) &a); ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64x ++#define _mm_cvttsd_si64x(a) _mm_cvttsd_si64(a) ++ ++// Divide packed double-precision (64-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_pd ++FORCE_INLINE __m128d _mm_div_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] / db[0]; ++ c[1] = da[1] / db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Divide the lower double-precision (64-bit) floating-point element in a by the ++// lower double-precision (64-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper element from a to the upper ++// element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_sd ++FORCE_INLINE __m128d _mm_div_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t tmp = ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1), tmp, 1)); ++#else ++ return _mm_move_sd(a, _mm_div_pd(a, b)); ++#endif ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi16 ++// FORCE_INLINE int _mm_extract_epi16(__m128i a, __constrange(0,8) int imm) ++#define _mm_extract_epi16(a, imm) \ ++ vgetq_lane_u16(vreinterpretq_u16_m128i(a), (imm)) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi16 ++// FORCE_INLINE __m128i _mm_insert_epi16(__m128i a, int b, ++// __constrange(0,8) int imm) ++#define _mm_insert_epi16(a, b, imm) \ ++ vreinterpretq_m128i_s16( \ ++ vsetq_lane_s16((b), vreinterpretq_s16_m128i(a), (imm))) ++ ++// Load 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd ++FORCE_INLINE __m128d _mm_load_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64(p)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], fp[2], fp[3]}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd1 ++#define _mm_load_pd1 _mm_load1_pd ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower of dst, and zero the upper element. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_sd ++FORCE_INLINE __m128d _mm_load_sd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(*p, vdupq_n_f64(0), 0)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], 0, 0}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_si128 ++FORCE_INLINE __m128i _mm_load_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const int32_t *) p)); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_pd ++FORCE_INLINE __m128d _mm_load1_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_dup_f64(p)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(const int64_t *) p)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// upper element of dst, and copy the lower element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pd ++FORCE_INLINE __m128d _mm_loadh_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vget_low_f64(vreinterpretq_f64_m128d(a)), vld1_f64(p))); ++#else ++ return vreinterpretq_m128d_f32(vcombine_f32( ++ vget_low_f32(vreinterpretq_f32_m128d(a)), vld1_f32((const float *) p))); ++#endif ++} ++ ++// Load 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_epi64 ++FORCE_INLINE __m128i _mm_loadl_epi64(__m128i const *p) ++{ ++ /* Load the lower 64 bits of the value pointed to by p into the ++ * lower 64 bits of the result, zeroing the upper 64 bits of the result. ++ */ ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vld1_s32((int32_t const *) p), vcreate_s32(0))); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower element of dst, and copy the upper element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pd ++FORCE_INLINE __m128d _mm_loadl_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vld1_f64(p), vget_high_f64(vreinterpretq_f64_m128d(a)))); ++#else ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vld1_f32((const float *) p), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++#endif ++} ++ ++// Load 2 double-precision (64-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_pd ++FORCE_INLINE __m128d _mm_loadr_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t v = vld1q_f64(p); ++ return vreinterpretq_m128d_f64(vextq_f64(v, v, 1)); ++#else ++ int64x2_t v = vld1q_s64((const int64_t *) p); ++ return vreinterpretq_m128d_s64(vextq_s64(v, v, 1)); ++#endif ++} ++ ++// Loads two double-precision from unaligned memory, floating-point values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_pd ++FORCE_INLINE __m128d _mm_loadu_pd(const double *p) ++{ ++ return _mm_load_pd(p); ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si128 ++FORCE_INLINE __m128i _mm_loadu_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const unaligned_int32_t *) p)); ++} ++ ++// Load unaligned 32-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si32 ++FORCE_INLINE __m128i _mm_loadu_si32(const void *p) ++{ ++ return vreinterpretq_m128i_s32( ++ vsetq_lane_s32(*(const unaligned_int32_t *) p, vdupq_n_s32(0), 0)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Horizontally add adjacent pairs of intermediate ++// 32-bit integers, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_madd_epi16 ++FORCE_INLINE __m128i _mm_madd_epi16(__m128i a, __m128i b) ++{ ++ int32x4_t low = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t high = ++ vmull_high_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b)); ++ ++ return vreinterpretq_m128i_s32(vpaddq_s32(low, high)); ++#else ++ int32x4_t high = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ int32x2_t low_sum = vpadd_s32(vget_low_s32(low), vget_high_s32(low)); ++ int32x2_t high_sum = vpadd_s32(vget_low_s32(high), vget_high_s32(high)); ++ ++ return vreinterpretq_m128i_s32(vcombine_s32(low_sum, high_sum)); ++#endif ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. mem_addr does not need to be aligned ++// on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmoveu_si128 ++FORCE_INLINE void _mm_maskmoveu_si128(__m128i a, __m128i mask, char *mem_addr) ++{ ++ int8x16_t shr_mask = vshrq_n_s8(vreinterpretq_s8_m128i(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x16_t masked = ++ vbslq_s8(vreinterpretq_u8_s8(shr_mask), vreinterpretq_s8_m128i(a), ++ vreinterpretq_s8_m128(b)); ++ vst1q_s8((int8_t *) mem_addr, masked); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi16 ++FORCE_INLINE __m128i _mm_max_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmaxq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu8 ++FORCE_INLINE __m128i _mm_max_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vmaxq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pd ++FORCE_INLINE __m128d _mm_max_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcgtq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vmaxq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? a1 : b1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_sd ++FORCE_INLINE __m128d _mm_max_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_max_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] > db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi16 ++FORCE_INLINE __m128i _mm_min_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vminq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu8 ++FORCE_INLINE __m128i _mm_min_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vminq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pd ++FORCE_INLINE __m128d _mm_min_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcltq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vminq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? a1 : b1; ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_sd ++FORCE_INLINE __m128d _mm_min_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_min_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] < db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to the lower element of dst, and zero the ++// upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_epi64 ++FORCE_INLINE __m128i _mm_move_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vsetq_lane_s64(0, vreinterpretq_s64_m128i(a), 1)); ++} ++ ++// Move the lower double-precision (64-bit) floating-point element from b to the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_sd ++FORCE_INLINE __m128d _mm_move_sd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vget_low_f32(vreinterpretq_f32_m128d(b)), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_epi8 ++FORCE_INLINE int _mm_movemask_epi8(__m128i a) ++{ ++ // Use increasingly wide shifts+adds to collect the sign bits ++ // together. ++ // Since the widening shifts would be rather confusing to follow in little ++ // endian, everything will be illustrated in big endian order instead. This ++ // has a different result - the bits would actually be reversed on a big ++ // endian machine. ++ ++ // Starting input (only half the elements are shown): ++ // 89 ff 1d c0 00 10 99 33 ++ uint8x16_t input = vreinterpretq_u8_m128i(a); ++ ++ // Shift out everything but the sign bits with an unsigned shift right. ++ // ++ // Bytes of the vector:: ++ // 89 ff 1d c0 00 10 99 33 ++ // \ \ \ \ \ \ \ \ high_bits = (uint16x4_t)(input >> 7) ++ // | | | | | | | | ++ // 01 01 00 01 00 00 01 00 ++ // ++ // Bits of first important lane(s): ++ // 10001001 (89) ++ // \______ ++ // | ++ // 00000001 (01) ++ uint16x8_t high_bits = vreinterpretq_u16_u8(vshrq_n_u8(input, 7)); ++ ++ // Merge the even lanes together with a 16-bit unsigned shift right + add. ++ // 'xx' represents garbage data which will be ignored in the final result. ++ // In the important bytes, the add functions like a binary OR. ++ // ++ // 01 01 00 01 00 00 01 00 ++ // \_ | \_ | \_ | \_ | paired16 = (uint32x4_t)(input + (input >> 7)) ++ // \| \| \| \| ++ // xx 03 xx 01 xx 00 xx 02 ++ // ++ // 00000001 00000001 (01 01) ++ // \_______ | ++ // \| ++ // xxxxxxxx xxxxxx11 (xx 03) ++ uint32x4_t paired16 = ++ vreinterpretq_u32_u16(vsraq_n_u16(high_bits, high_bits, 7)); ++ ++ // Repeat with a wider 32-bit shift + add. ++ // xx 03 xx 01 xx 00 xx 02 ++ // \____ | \____ | paired32 = (uint64x1_t)(paired16 + (paired16 >> ++ // 14)) ++ // \| \| ++ // xx xx xx 0d xx xx xx 02 ++ // ++ // 00000011 00000001 (03 01) ++ // \\_____ || ++ // '----.\|| ++ // xxxxxxxx xxxx1101 (xx 0d) ++ uint64x2_t paired32 = ++ vreinterpretq_u64_u32(vsraq_n_u32(paired16, paired16, 14)); ++ ++ // Last, an even wider 64-bit shift + add to get our result in the low 8 bit ++ // lanes. xx xx xx 0d xx xx xx 02 ++ // \_________ | paired64 = (uint8x8_t)(paired32 + (paired32 >> ++ // 28)) ++ // \| ++ // xx xx xx xx xx xx xx d2 ++ // ++ // 00001101 00000010 (0d 02) ++ // \ \___ | | ++ // '---. \| | ++ // xxxxxxxx 11010010 (xx d2) ++ uint8x16_t paired64 = ++ vreinterpretq_u8_u64(vsraq_n_u64(paired32, paired32, 28)); ++ ++ // Extract the low 8 bits from each 64-bit lane with 2 8-bit extracts. ++ // xx xx xx xx xx xx xx d2 ++ // || return paired64[0] ++ // d2 ++ // Note: Little endian would return the correct value 4b (01001011) instead. ++ return vgetq_lane_u8(paired64, 0) | ((int) vgetq_lane_u8(paired64, 8) << 8); ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed double-precision (64-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pd ++FORCE_INLINE int _mm_movemask_pd(__m128d a) ++{ ++ uint64x2_t input = vreinterpretq_u64_m128d(a); ++ uint64x2_t high_bits = vshrq_n_u64(input, 63); ++ return (int) (vgetq_lane_u64(high_bits, 0) | ++ (vgetq_lane_u64(high_bits, 1) << 1)); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movepi64_pi64 ++FORCE_INLINE __m64 _mm_movepi64_pi64(__m128i a) ++{ ++ return vreinterpret_m64_s64(vget_low_s64(vreinterpretq_s64_m128i(a))); ++} ++ ++// Copy the 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movpi64_epi64 ++FORCE_INLINE __m128i _mm_movpi64_epi64(__m64 a) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vreinterpret_s64_m64(a), vdup_n_s64(0))); ++} ++ ++// Multiply the low unsigned 32-bit integers from each packed 64-bit element in ++// a and b, and store the unsigned 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epu32 ++FORCE_INLINE __m128i _mm_mul_epu32(__m128i a, __m128i b) ++{ ++ // vmull_u32 upcasts instead of masking, so we downcast. ++ uint32x2_t a_lo = vmovn_u64(vreinterpretq_u64_m128i(a)); ++ uint32x2_t b_lo = vmovn_u64(vreinterpretq_u64_m128i(b)); ++ return vreinterpretq_m128i_u64(vmull_u32(a_lo, b_lo)); ++} ++ ++// Multiply packed double-precision (64-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_pd ++FORCE_INLINE __m128d _mm_mul_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vmulq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] * db[0]; ++ c[1] = da[1] * db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Multiply the lower double-precision (64-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper element ++// from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_mul_sd ++FORCE_INLINE __m128d _mm_mul_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_mul_pd(a, b)); ++} ++ ++// Multiply the low unsigned 32-bit integers from a and b, and store the ++// unsigned 64-bit result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_su32 ++FORCE_INLINE __m64 _mm_mul_su32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u64(vget_low_u64( ++ vmull_u32(vreinterpret_u32_m64(a), vreinterpret_u32_m64(b)))); ++} ++ ++// Multiply the packed signed 16-bit integers in a and b, producing intermediate ++// 32-bit integers, and store the high 16 bits of the intermediate integers in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epi16 ++FORCE_INLINE __m128i _mm_mulhi_epi16(__m128i a, __m128i b) ++{ ++ /* FIXME: issue with large values because of result saturation */ ++ // int16x8_t ret = vqdmulhq_s16(vreinterpretq_s16_m128i(a), ++ // vreinterpretq_s16_m128i(b)); /* =2*a*b */ return ++ // vreinterpretq_m128i_s16(vshrq_n_s16(ret, 1)); ++ int16x4_t a3210 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b3210 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab3210 = vmull_s16(a3210, b3210); /* 3333222211110000 */ ++ int16x4_t a7654 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b7654 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab7654 = vmull_s16(a7654, b7654); /* 7777666655554444 */ ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_s32(ab3210), vreinterpretq_u16_s32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epu16 ++FORCE_INLINE __m128i _mm_mulhi_epu16(__m128i a, __m128i b) ++{ ++ uint16x4_t a3210 = vget_low_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b3210 = vget_low_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab3210 = vmull_u16(a3210, b3210); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32x4_t ab7654 = ++ vmull_high_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ uint16x8_t r = vuzp2q_u16(vreinterpretq_u16_u32(ab3210), ++ vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r); ++#else ++ uint16x4_t a7654 = vget_high_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b7654 = vget_high_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab7654 = vmull_u16(a7654, b7654); ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_u32(ab3210), vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++#endif ++} ++ ++// Multiply the packed 16-bit integers in a and b, producing intermediate 32-bit ++// integers, and store the low 16 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi16 ++FORCE_INLINE __m128i _mm_mullo_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmulq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compute the bitwise OR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_or_pd ++FORCE_INLINE __m128d _mm_or_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vorrq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise OR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_si128 ++FORCE_INLINE __m128i _mm_or_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vorrq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi16 ++FORCE_INLINE __m128i _mm_packs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vqmovn_s16(vreinterpretq_s16_m128i(a)), ++ vqmovn_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi32 ++FORCE_INLINE __m128i _mm_packs_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vqmovn_s32(vreinterpretq_s32_m128i(a)), ++ vqmovn_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi16 ++FORCE_INLINE __m128i _mm_packus_epi16(const __m128i a, const __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcombine_u8(vqmovun_s16(vreinterpretq_s16_m128i(a)), ++ vqmovun_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Pause the processor. This is typically used in spin-wait loops and depending ++// on the x86 processor typical values are in the 40-100 cycle range. The ++// 'yield' instruction isn't a good fit because it's effectively a nop on most ++// Arm cores. Experience with several databases has shown has shown an 'isb' is ++// a reasonable approximation. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_pause ++FORCE_INLINE void _mm_pause(void) ++{ ++#if defined(_MSC_VER) ++ __isb(_ARM64_BARRIER_SY); ++#else ++ __asm__ __volatile__("isb\n"); ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce two ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of 64-bit elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_epu8 ++FORCE_INLINE __m128i _mm_sad_epu8(__m128i a, __m128i b) ++{ ++ uint16x8_t t = vpaddlq_u8(vabdq_u8((uint8x16_t) a, (uint8x16_t) b)); ++ return vreinterpretq_m128i_u64(vpaddlq_u32(vpaddlq_u16(t))); ++} ++ ++// Set packed 16-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi16 ++FORCE_INLINE __m128i _mm_set_epi16(short i7, ++ short i6, ++ short i5, ++ short i4, ++ short i3, ++ short i2, ++ short i1, ++ short i0) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {i0, i1, i2, i3, i4, i5, i6, i7}; ++ return vreinterpretq_m128i_s16(vld1q_s16(data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi32 ++FORCE_INLINE __m128i _mm_set_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i0, i1, i2, i3}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64 ++FORCE_INLINE __m128i _mm_set_epi64(__m64 i1, __m64 i2) ++{ ++ return _mm_set_epi64x(vget_lane_s64(i1, 0), vget_lane_s64(i2, 0)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64x ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t i1, int64_t i2) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vcreate_s64(i2), vcreate_s64(i1))); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi8 ++FORCE_INLINE __m128i _mm_set_epi8(signed char b15, ++ signed char b14, ++ signed char b13, ++ signed char b12, ++ signed char b11, ++ signed char b10, ++ signed char b9, ++ signed char b8, ++ signed char b7, ++ signed char b6, ++ signed char b5, ++ signed char b4, ++ signed char b3, ++ signed char b2, ++ signed char b1, ++ signed char b0) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd ++FORCE_INLINE __m128d _mm_set_pd(double e1, double e0) ++{ ++ double ALIGN_STRUCT(16) data[2] = {e0, e1}; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64((float64_t *) data)); ++#else ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) data)); ++#endif ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd1 ++#define _mm_set_pd1 _mm_set1_pd ++ ++// Copy double-precision (64-bit) floating-point element a to the lower element ++// of dst, and zero the upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_sd ++FORCE_INLINE __m128d _mm_set_sd(double a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(a, vdupq_n_f64(0), 0)); ++#else ++ return _mm_set_pd(0, a); ++#endif ++} ++ ++// Broadcast 16-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi16 ++FORCE_INLINE __m128i _mm_set1_epi16(short w) ++{ ++ return vreinterpretq_m128i_s16(vdupq_n_s16(w)); ++} ++ ++// Broadcast 32-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi32 ++FORCE_INLINE __m128i _mm_set1_epi32(int _i) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(_i)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64 ++FORCE_INLINE __m128i _mm_set1_epi64(__m64 _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_lane_s64(_i, 0)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64x ++FORCE_INLINE __m128i _mm_set1_epi64x(int64_t _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_n_s64(_i)); ++} ++ ++// Broadcast 8-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi8 ++FORCE_INLINE __m128i _mm_set1_epi8(signed char w) ++{ ++ return vreinterpretq_m128i_s8(vdupq_n_s8(w)); ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_pd ++FORCE_INLINE __m128d _mm_set1_pd(double d) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(d)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(int64_t *) &d)); ++#endif ++} ++ ++// Set packed 16-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi16 ++FORCE_INLINE __m128i _mm_setr_epi16(short w0, ++ short w1, ++ short w2, ++ short w3, ++ short w4, ++ short w5, ++ short w6, ++ short w7) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {w0, w1, w2, w3, w4, w5, w6, w7}; ++ return vreinterpretq_m128i_s16(vld1q_s16((int16_t *) data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi32 ++FORCE_INLINE __m128i _mm_setr_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i3, i2, i1, i0}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi64 ++FORCE_INLINE __m128i _mm_setr_epi64(__m64 e1, __m64 e0) ++{ ++ return vreinterpretq_m128i_s64(vcombine_s64(e1, e0)); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi8 ++FORCE_INLINE __m128i _mm_setr_epi8(signed char b0, ++ signed char b1, ++ signed char b2, ++ signed char b3, ++ signed char b4, ++ signed char b5, ++ signed char b6, ++ signed char b7, ++ signed char b8, ++ signed char b9, ++ signed char b10, ++ signed char b11, ++ signed char b12, ++ signed char b13, ++ signed char b14, ++ signed char b15) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_pd ++FORCE_INLINE __m128d _mm_setr_pd(double e1, double e0) ++{ ++ return _mm_set_pd(e0, e1); ++} ++ ++// Return vector of type __m128d with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_pd ++FORCE_INLINE __m128d _mm_setzero_pd(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(0)); ++#else ++ return vreinterpretq_m128d_f32(vdupq_n_f32(0)); ++#endif ++} ++ ++// Return vector of type __m128i with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_si128 ++FORCE_INLINE __m128i _mm_setzero_si128(void) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(0)); ++} ++ ++// Shuffle 32-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi32 ++// FORCE_INLINE __m128i _mm_shuffle_epi32(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shuffle_epi32(a, imm) \ ++ __extension__({ \ ++ int32x4_t _input = vreinterpretq_s32_m128i(a); \ ++ int32x4_t _shuf = \ ++ vshuffleq_s32(_input, _input, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ ((imm) >> 4) & 0x3, ((imm) >> 6) & 0x3); \ ++ vreinterpretq_m128i_s32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_epi32(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, __m128i ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_epi_1032(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_epi_2301(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_epi_0321(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_epi_2103(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_shuffle_epi_1010(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_epi_1001(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_epi_0101(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 1, 1): \ ++ ret = _mm_shuffle_epi_2211(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 2, 2): \ ++ ret = _mm_shuffle_epi_0122(_a); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 2): \ ++ ret = _mm_shuffle_epi_3332(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 0, 0): \ ++ ret = _mm_shuffle_epi32_splat(_a, 0); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 1, 1): \ ++ ret = _mm_shuffle_epi32_splat(_a, 1); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 2, 2): \ ++ ret = _mm_shuffle_epi32_splat(_a, 2); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 3): \ ++ ret = _mm_shuffle_epi32_splat(_a, 3); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_epi32_default(_a, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Shuffle double-precision (64-bit) floating-point elements using the control ++// in imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pd ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pd(a, b, imm8) \ ++ vreinterpretq_m128d_s64( \ ++ vshuffleq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b), \ ++ imm8 & 0x1, ((imm8 & 0x2) >> 1) + 2)) ++#else ++#define _mm_shuffle_pd(a, b, imm8) \ ++ _mm_castsi128_pd(_mm_set_epi64x( \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(b), (imm8 & 0x2) >> 1), \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(a), imm8 & 0x1))) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflehi_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflehi_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = \ ++ vshuffleq_s16(_input, _input, 0, 1, 2, 3, ((imm) & (0x3)) + 4, \ ++ (((imm) >> 2) & 0x3) + 4, (((imm) >> 4) & 0x3) + 4, \ ++ (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflehi_epi16(a, imm) _mm_shufflehi_epi16_function((a), (imm)) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflelo_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflelo_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = vshuffleq_s16( \ ++ _input, _input, ((imm) & (0x3)), (((imm) >> 2) & 0x3), \ ++ (((imm) >> 4) & 0x3), (((imm) >> 6) & 0x3), 4, 5, 6, 7); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflelo_epi16(a, imm) _mm_shufflelo_epi16_function((a), (imm)) ++#endif ++ ++// Shift packed 16-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi16 ++FORCE_INLINE __m128i _mm_sll_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16((int16_t) c); ++ return vreinterpretq_m128i_s16(vshlq_s16(vreinterpretq_s16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi32 ++FORCE_INLINE __m128i _mm_sll_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32((int32_t) c); ++ return vreinterpretq_m128i_s32(vshlq_s32(vreinterpretq_s32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi64 ++FORCE_INLINE __m128i _mm_sll_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64((int64_t) c); ++ return vreinterpretq_m128i_s64(vshlq_s64(vreinterpretq_s64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi16 ++FORCE_INLINE __m128i _mm_slli_epi16(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~15)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16(vreinterpretq_s16_m128i(a), vdupq_n_s16(imm))); ++} ++ ++// Shift packed 32-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi32 ++FORCE_INLINE __m128i _mm_slli_epi32(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~31)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32(vreinterpretq_s32_m128i(a), vdupq_n_s32(imm))); ++} ++ ++// Shift packed 64-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi64 ++FORCE_INLINE __m128i _mm_slli_epi64(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~63)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s64( ++ vshlq_s64(vreinterpretq_s64_m128i(a), vdupq_n_s64(imm))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_si128 ++#define _mm_slli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely(imm == 0)) ret = vreinterpretq_s8_m128i(_a); \ ++ else if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vdupq_n_s8(0), vreinterpretq_s8_m128i(_a), \ ++ ((imm <= 0 || imm > 15) ? 0 : (16 - imm))); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Compute the square root of packed double-precision (64-bit) floating-point ++// elements in a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_pd ++FORCE_INLINE __m128d _mm_sqrt_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsqrtq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double a0 = sqrt(((double *) &a)[0]); ++ double a1 = sqrt(((double *) &a)[1]); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Compute the square root of the lower double-precision (64-bit) floating-point ++// element in b, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_sd ++FORCE_INLINE __m128d _mm_sqrt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_sqrt_pd(b)); ++#else ++ return _mm_set_pd(((double *) &a)[1], sqrt(((double *) &b)[0])); ++#endif ++} ++ ++// Shift packed 16-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi16 ++FORCE_INLINE __m128i _mm_sra_epi16(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_cmplt_epi16(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16((int16x8_t) a, vdupq_n_s16((int) -c))); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi32 ++FORCE_INLINE __m128i _mm_sra_epi32(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_cmplt_epi32(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32((int32x4_t) a, vdupq_n_s32((int) -c))); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in sign ++// bits, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi16 ++FORCE_INLINE __m128i _mm_srai_epi16(__m128i a, int imm) ++{ ++ const int count = (imm & ~15) ? 15 : imm; ++ return (__m128i) vshlq_s16((int16x8_t) a, vdupq_n_s16(-count)); ++} ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi32 ++// FORCE_INLINE __m128i _mm_srai_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srai_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) == 0)) { \ ++ ret = _a; \ ++ } else if (_sse2neon_likely(0 < (imm) && (imm) < 32)) { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshlq_s32(vreinterpretq_s32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } else { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshrq_n_s32(vreinterpretq_s32_m128i(_a), 31)); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 16-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi16 ++FORCE_INLINE __m128i _mm_srl_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16(-(int16_t) c); ++ return vreinterpretq_m128i_u16(vshlq_u16(vreinterpretq_u16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi32 ++FORCE_INLINE __m128i _mm_srl_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32(-(int32_t) c); ++ return vreinterpretq_m128i_u32(vshlq_u32(vreinterpretq_u32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi64 ++FORCE_INLINE __m128i _mm_srl_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64(-(int64_t) c); ++ return vreinterpretq_m128i_u64(vshlq_u64(vreinterpretq_u64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi16 ++#define _mm_srli_epi16(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~15)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u16( \ ++ vshlq_u16(vreinterpretq_u16_m128i(_a), vdupq_n_s16(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi32 ++// FORCE_INLINE __m128i _mm_srli_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srli_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~31)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u32( \ ++ vshlq_u32(vreinterpretq_u32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 64-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi64 ++#define _mm_srli_epi64(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~63)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u64( \ ++ vshlq_u64(vreinterpretq_u64_m128i(_a), vdupq_n_s64(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_si128 ++#define _mm_srli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vreinterpretq_s8_m128i(_a), vdupq_n_s8(0), \ ++ (imm > 15 ? 0 : imm)); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd ++FORCE_INLINE void _mm_store_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64((float64_t *) mem_addr, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_f32((float32_t *) mem_addr, vreinterpretq_f32_m128d(a)); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd1 ++FORCE_INLINE void _mm_store_pd1(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x1_t a_low = vget_low_f64(vreinterpretq_f64_m128d(a)); ++ vst1q_f64((float64_t *) mem_addr, ++ vreinterpretq_f64_m128d(vcombine_f64(a_low, a_low))); ++#else ++ float32x2_t a_low = vget_low_f32(vreinterpretq_f32_m128d(a)); ++ vst1q_f32((float32_t *) mem_addr, ++ vreinterpretq_f32_m128d(vcombine_f32(a_low, a_low))); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_store_sd ++FORCE_INLINE void _mm_store_sd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_u64((uint64_t *) mem_addr, vget_low_u64(vreinterpretq_u64_m128d(a))); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_si128 ++FORCE_INLINE void _mm_store_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#expand=9,526,5601&text=_mm_store1_pd ++#define _mm_store1_pd _mm_store_pd1 ++ ++// Store the upper double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pd ++FORCE_INLINE void _mm_storeh_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_high_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_high_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 64-bit integer from the first element of a into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_epi64 ++FORCE_INLINE void _mm_storel_epi64(__m128i *a, __m128i b) ++{ ++ vst1_u64((uint64_t *) a, vget_low_u64(vreinterpretq_u64_m128i(b))); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pd ++FORCE_INLINE void _mm_storel_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_low_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 2 double-precision (64-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_pd ++FORCE_INLINE void _mm_storer_pd(double *mem_addr, __m128d a) ++{ ++ float32x4_t f = vreinterpretq_f32_m128d(a); ++ _mm_store_pd(mem_addr, vreinterpretq_m128d_f32(vextq_f32(f, f, 2))); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_pd ++FORCE_INLINE void _mm_storeu_pd(double *mem_addr, __m128d a) ++{ ++ _mm_store_pd(mem_addr, a); ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si128 ++FORCE_INLINE void _mm_storeu_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store 32-bit integer from the first element of a into memory. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si32 ++FORCE_INLINE void _mm_storeu_si32(void *p, __m128i a) ++{ ++ vst1q_lane_s32((int32_t *) p, vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory using a non-temporal memory hint. mem_addr must ++// be aligned on a 16-byte boundary or a general-protection exception may be ++// generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pd ++FORCE_INLINE void _mm_stream_pd(double *p, __m128d a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (__m128d *) p); ++#elif defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64(p, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128d(a)); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory using a non-temporal memory ++// hint. mem_addr must be aligned on a 16-byte boundary or a general-protection ++// exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si128 ++FORCE_INLINE void _mm_stream_si128(__m128i *p, __m128i a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, p); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128i(a)); ++#endif ++} ++ ++// Store 32-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si32 ++FORCE_INLINE void _mm_stream_si32(int *p, int a) ++{ ++ vst1q_lane_s32((int32_t *) p, vdupq_n_s32(a), 0); ++} ++ ++// Store 64-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si64 ++FORCE_INLINE void _mm_stream_si64(__int64 *p, __int64 a) ++{ ++ vst1_s64((int64_t *) p, vdup_n_s64((int64_t) a)); ++} ++ ++// Subtract packed 16-bit integers in b from packed 16-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi16 ++FORCE_INLINE __m128i _mm_sub_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed 32-bit integers in b from packed 32-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi32 ++FORCE_INLINE __m128i _mm_sub_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Subtract packed 64-bit integers in b from packed 64-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi64 ++FORCE_INLINE __m128i _mm_sub_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vsubq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Subtract packed 8-bit integers in b from packed 8-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi8 ++FORCE_INLINE __m128i _mm_sub_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed double-precision (64-bit) floating-point elements in b from ++// packed double-precision (64-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_sub_pd ++FORCE_INLINE __m128d _mm_sub_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] - db[0]; ++ c[1] = da[1] - db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Subtract the lower double-precision (64-bit) floating-point element in b from ++// the lower double-precision (64-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_sd ++FORCE_INLINE __m128d _mm_sub_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_sub_pd(a, b)); ++} ++ ++// Subtract 64-bit integer b from 64-bit integer a, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_si64 ++FORCE_INLINE __m64 _mm_sub_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vsub_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Subtract packed signed 16-bit integers in b from packed 16-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi16 ++FORCE_INLINE __m128i _mm_subs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed signed 8-bit integers in b from packed 8-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi8 ++FORCE_INLINE __m128i _mm_subs_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed unsigned 16-bit integers in b from packed unsigned 16-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu16 ++FORCE_INLINE __m128i _mm_subs_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqsubq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Subtract packed unsigned 8-bit integers in b from packed unsigned 8-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu8 ++FORCE_INLINE __m128i _mm_subs_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqsubq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++#define _mm_ucomieq_sd _mm_comieq_sd ++#define _mm_ucomige_sd _mm_comige_sd ++#define _mm_ucomigt_sd _mm_comigt_sd ++#define _mm_ucomile_sd _mm_comile_sd ++#define _mm_ucomilt_sd _mm_comilt_sd ++#define _mm_ucomineq_sd _mm_comineq_sd ++ ++// Return vector of type __m128d with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_pd ++FORCE_INLINE __m128d _mm_undefined_pd(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128d a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_pd(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi16 ++FORCE_INLINE __m128i _mm_unpackhi_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip2q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi32 ++FORCE_INLINE __m128i _mm_unpackhi_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip2q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_high_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi64 ++FORCE_INLINE __m128i _mm_unpackhi_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip2q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_h = vget_high_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_h = vget_high_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_h, b_h)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the high half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi8 ++FORCE_INLINE __m128i _mm_unpackhi_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip2q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the high half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_pd ++FORCE_INLINE __m128d _mm_unpackhi_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip2q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_high_s64(vreinterpretq_s64_m128d(a)), ++ vget_high_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi16 ++FORCE_INLINE __m128i _mm_unpacklo_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip1q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi32 ++FORCE_INLINE __m128i _mm_unpacklo_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip1q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_low_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi64 ++FORCE_INLINE __m128i _mm_unpacklo_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip1q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_l = vget_low_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_l = vget_low_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_l, b_l)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi8 ++FORCE_INLINE __m128i _mm_unpacklo_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip1q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_pd ++FORCE_INLINE __m128d _mm_unpacklo_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip1q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_low_s64(vreinterpretq_s64_m128d(a)), ++ vget_low_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Compute the bitwise XOR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_pd ++FORCE_INLINE __m128d _mm_xor_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ veorq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise XOR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_si128 ++FORCE_INLINE __m128i _mm_xor_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ veorq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++/* SSE3 */ ++ ++// Alternatively add and subtract packed double-precision (64-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_addsub_pd ++FORCE_INLINE __m128d _mm_addsub_pd(__m128d a, __m128d b) ++{ ++ _sse2neon_const __m128d mask = _mm_set_pd(1.0f, -1.0f); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vfmaq_f64(vreinterpretq_f64_m128d(a), ++ vreinterpretq_f64_m128d(b), ++ vreinterpretq_f64_m128d(mask))); ++#else ++ return _mm_add_pd(_mm_mul_pd(b, mask), a); ++#endif ++} ++ ++// Alternatively add and subtract packed single-precision (32-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=addsub_ps ++FORCE_INLINE __m128 _mm_addsub_ps(__m128 a, __m128 b) ++{ ++ _sse2neon_const __m128 mask = _mm_setr_ps(-1.0f, 1.0f, -1.0f, 1.0f); ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_FMA) /* VFPv4+ */ ++ return vreinterpretq_m128_f32(vfmaq_f32(vreinterpretq_f32_m128(a), ++ vreinterpretq_f32_m128(mask), ++ vreinterpretq_f32_m128(b))); ++#else ++ return _mm_add_ps(_mm_mul_ps(b, mask), a); ++#endif ++} ++ ++// Horizontally add adjacent pairs of double-precision (64-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pd ++FORCE_INLINE __m128d _mm_hadd_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vpaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[] = {da[0] + da[1], db[0] + db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of single-precision (32-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_ps ++FORCE_INLINE __m128 _mm_hadd_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vpaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vpadd_f32(a10, a32), vpadd_f32(b10, b32))); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of double-precision (64-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pd ++FORCE_INLINE __m128d _mm_hsub_pd(__m128d _a, __m128d _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vuzp1q_f64(a, b), vuzp2q_f64(a, b))); ++#else ++ double *da = (double *) &_a; ++ double *db = (double *) &_b; ++ double c[] = {da[0] - da[1], db[0] - db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of single-precision (32-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_ps ++FORCE_INLINE __m128 _mm_hsub_ps(__m128 _a, __m128 _b) ++{ ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vuzp1q_f32(a, b), vuzp2q_f32(a, b))); ++#else ++ float32x4x2_t c = vuzpq_f32(a, b); ++ return vreinterpretq_m128_f32(vsubq_f32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Load 128-bits of integer data from unaligned memory into dst. This intrinsic ++// may perform better than _mm_loadu_si128 when the data crosses a cache line ++// boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lddqu_si128 ++#define _mm_lddqu_si128 _mm_loadu_si128 ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loaddup_pd ++#define _mm_loaddup_pd _mm_load1_pd ++ ++// Duplicate the low double-precision (64-bit) floating-point element from a, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movedup_pd ++FORCE_INLINE __m128d _mm_movedup_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdupq_laneq_f64(vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_u64( ++ vdupq_n_u64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0))); ++#endif ++} ++ ++// Duplicate odd-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehdup_ps ++FORCE_INLINE __m128 _mm_movehdup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 1, 1, 3, 3)); ++#else ++ float32_t a1 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ float32_t a3 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 3); ++ float ALIGN_STRUCT(16) data[4] = {a1, a1, a3, a3}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Duplicate even-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_moveldup_ps ++FORCE_INLINE __m128 _mm_moveldup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 0, 0, 2, 2)); ++#else ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32_t a2 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 2); ++ float ALIGN_STRUCT(16) data[4] = {a0, a0, a2, a2}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++/* SSSE3 */ ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi16 ++FORCE_INLINE __m128i _mm_abs_epi16(__m128i a) ++{ ++ return vreinterpretq_m128i_s16(vabsq_s16(vreinterpretq_s16_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi32 ++FORCE_INLINE __m128i _mm_abs_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32(vabsq_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi8 ++FORCE_INLINE __m128i _mm_abs_epi8(__m128i a) ++{ ++ return vreinterpretq_m128i_s8(vabsq_s8(vreinterpretq_s8_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi16 ++FORCE_INLINE __m64 _mm_abs_pi16(__m64 a) ++{ ++ return vreinterpret_m64_s16(vabs_s16(vreinterpret_s16_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi32 ++FORCE_INLINE __m64 _mm_abs_pi32(__m64 a) ++{ ++ return vreinterpret_m64_s32(vabs_s32(vreinterpret_s32_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi8 ++FORCE_INLINE __m64 _mm_abs_pi8(__m64 a) ++{ ++ return vreinterpret_m64_s8(vabs_s8(vreinterpret_s8_m64(a))); ++} ++ ++// Concatenate 16-byte blocks in a and b into a 32-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 16 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_epi8 ++#if defined(__GNUC__) && !defined(__clang__) ++#define _mm_alignr_epi8(a, b, imm) \ ++ __extension__({ \ ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); \ ++ uint8x16_t _b = vreinterpretq_u8_m128i(b); \ ++ __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) \ ++ ret = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) \ ++ ret = _mm_srli_si128(a, imm >= 16 ? imm - 16 : 0); \ ++ else \ ++ ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(_b, _a, imm < 16 ? imm : 0)); \ ++ ret; \ ++ }) ++ ++#else ++#define _mm_alignr_epi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, uint8x16_t __a = vreinterpretq_u8_m128i(_a); \ ++ uint8x16_t __b = vreinterpretq_u8_m128i(_b); __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) ret = \ ++ vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) ret = \ ++ _mm_srli_si128(_a, imm >= 16 ? imm - 16 : 0); \ ++ else ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(__b, __a, imm < 16 ? imm : 0)); \ ++ _sse2neon_return(ret);) ++ ++#endif ++ ++// Concatenate 8-byte blocks in a and b into a 16-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 8 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_pi8 ++#define _mm_alignr_pi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m64, a, b, __m64 ret; if (_sse2neon_unlikely((imm) >= 16)) { \ ++ ret = vreinterpret_m64_s8(vdup_n_s8(0)); \ ++ } else { \ ++ uint8x8_t tmp_low; \ ++ uint8x8_t tmp_high; \ ++ if ((imm) >= 8) { \ ++ const int idx = (imm) -8; \ ++ tmp_low = vreinterpret_u8_m64(_a); \ ++ tmp_high = vdup_n_u8(0); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } else { \ ++ const int idx = (imm); \ ++ tmp_low = vreinterpret_u8_m64(_b); \ ++ tmp_high = vreinterpret_u8_m64(_a); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } \ ++ } _sse2neon_return(ret);) ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi16 ++FORCE_INLINE __m128i _mm_hadd_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16(vpaddq_s16(a, b)); ++#else ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(vget_low_s16(a), vget_high_s16(a)), ++ vpadd_s16(vget_low_s16(b), vget_high_s16(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi32 ++FORCE_INLINE __m128i _mm_hadd_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32(vpaddq_s32(a, b)); ++#else ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vpadd_s32(vget_low_s32(a), vget_high_s32(a)), ++ vpadd_s32(vget_low_s32(b), vget_high_s32(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi16 ++FORCE_INLINE __m64 _mm_hadd_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vpadd_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi32 ++FORCE_INLINE __m64 _mm_hadd_pi32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s32( ++ vpadd_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_epi16 ++FORCE_INLINE __m128i _mm_hadds_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ return vreinterpretq_s64_s16( ++ vqaddq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ // Interleave using vshrn/vmovn ++ // [a0|a2|a4|a6|b0|b2|b4|b6] ++ // [a1|a3|a5|a7|b1|b3|b5|b7] ++ int16x8_t ab0246 = vcombine_s16(vmovn_s32(a), vmovn_s32(b)); ++ int16x8_t ab1357 = vcombine_s16(vshrn_n_s32(a, 16), vshrn_n_s32(b, 16)); ++ // Saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(ab0246, ab1357)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_pi16 ++FORCE_INLINE __m64 _mm_hadds_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_s64_s16(vqadd_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t res = vuzp_s16(a, b); ++ return vreinterpret_s64_s16(vqadd_s16(res.val[0], res.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi16 ++FORCE_INLINE __m128i _mm_hsub_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi32 ++FORCE_INLINE __m128i _mm_hsub_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vuzp1q_s32(a, b), vuzp2q_s32(a, b))); ++#else ++ int32x4x2_t c = vuzpq_s32(a, b); ++ return vreinterpretq_m128i_s32(vsubq_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pi16 ++FORCE_INLINE __m64 _mm_hsub_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_hsub_pi32 ++FORCE_INLINE __m64 _mm_hsub_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s32(vsub_s32(vuzp1_s32(a, b), vuzp2_s32(a, b))); ++#else ++ int32x2x2_t c = vuzp_s32(a, b); ++ return vreinterpret_m64_s32(vsub_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_epi16 ++FORCE_INLINE __m128i _mm_hsubs_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vqsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_pi16 ++FORCE_INLINE __m64 _mm_hsubs_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vqsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vqsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, ++// and pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_epi16 ++FORCE_INLINE __m128i _mm_maddubs_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ int16x8_t tl = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_low_u8(a))), ++ vmovl_s8(vget_low_s8(b))); ++ int16x8_t th = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_high_u8(a))), ++ vmovl_s8(vget_high_s8(b))); ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vuzp1q_s16(tl, th), vuzp2q_s16(tl, th))); ++#else ++ // This would be much simpler if x86 would choose to zero extend OR sign ++ // extend, not both. This could probably be optimized better. ++ uint16x8_t a = vreinterpretq_u16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // Zero extend a ++ int16x8_t a_odd = vreinterpretq_s16_u16(vshrq_n_u16(a, 8)); ++ int16x8_t a_even = vreinterpretq_s16_u16(vbicq_u16(a, vdupq_n_u16(0xff00))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x8_t b_even = vshrq_n_s16(vshlq_n_s16(b, 8), 8); ++ int16x8_t b_odd = vshrq_n_s16(b, 8); ++ ++ // multiply ++ int16x8_t prod1 = vmulq_s16(a_even, b_even); ++ int16x8_t prod2 = vmulq_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(prod1, prod2)); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, and ++// pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_pi16 ++FORCE_INLINE __m64 _mm_maddubs_pi16(__m64 _a, __m64 _b) ++{ ++ uint16x4_t a = vreinterpret_u16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // Zero extend a ++ int16x4_t a_odd = vreinterpret_s16_u16(vshr_n_u16(a, 8)); ++ int16x4_t a_even = vreinterpret_s16_u16(vand_u16(a, vdup_n_u16(0xff))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x4_t b_even = vshr_n_s16(vshl_n_s16(b, 8), 8); ++ int16x4_t b_odd = vshr_n_s16(b, 8); ++ ++ // multiply ++ int16x4_t prod1 = vmul_s16(a_even, b_even); ++ int16x4_t prod2 = vmul_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpret_m64_s16(vqadd_s16(prod1, prod2)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Shift right by 15 bits while rounding up, and store ++// the packed 16-bit integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_epi16 ++FORCE_INLINE __m128i _mm_mulhrs_epi16(__m128i a, __m128i b) ++{ ++ // Has issues due to saturation ++ // return vreinterpretq_m128i_s16(vqrdmulhq_s16(a, b)); ++ ++ // Multiply ++ int32x4_t mul_lo = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int32x4_t mul_hi = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ // Rounding narrowing shift right ++ // narrow = (int16_t)((mul + 16384) >> 15); ++ int16x4_t narrow_lo = vrshrn_n_s32(mul_lo, 15); ++ int16x4_t narrow_hi = vrshrn_n_s32(mul_hi, 15); ++ ++ // Join together ++ return vreinterpretq_m128i_s16(vcombine_s16(narrow_lo, narrow_hi)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Truncate each intermediate integer to the 18 most ++// significant bits, round by adding 1, and store bits [16:1] to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_pi16 ++FORCE_INLINE __m64 _mm_mulhrs_pi16(__m64 a, __m64 b) ++{ ++ int32x4_t mul_extend = ++ vmull_s16((vreinterpret_s16_m64(a)), (vreinterpret_s16_m64(b))); ++ ++ // Rounding narrowing shift right ++ return vreinterpret_m64_s16(vrshrn_n_s32(mul_extend, 15)); ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi8 ++FORCE_INLINE __m128i _mm_shuffle_epi8(__m128i a, __m128i b) ++{ ++ int8x16_t tbl = vreinterpretq_s8_m128i(a); // input a ++ uint8x16_t idx = vreinterpretq_u8_m128i(b); // input b ++ uint8x16_t idx_masked = ++ vandq_u8(idx, vdupq_n_u8(0x8F)); // avoid using meaningless bits ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8(vqtbl1q_s8(tbl, idx_masked)); ++#elif defined(__GNUC__) ++ int8x16_t ret; ++ // %e and %f represent the even and odd D registers ++ // respectively. ++ __asm__ __volatile__( ++ "vtbl.8 %e[ret], {%e[tbl], %f[tbl]}, %e[idx]\n" ++ "vtbl.8 %f[ret], {%e[tbl], %f[tbl]}, %f[idx]\n" ++ : [ret] "=&w"(ret) ++ : [tbl] "w"(tbl), [idx] "w"(idx_masked)); ++ return vreinterpretq_m128i_s8(ret); ++#else ++ // use this line if testing on aarch64 ++ int8x8x2_t a_split = {vget_low_s8(tbl), vget_high_s8(tbl)}; ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vtbl2_s8(a_split, vget_low_u8(idx_masked)), ++ vtbl2_s8(a_split, vget_high_u8(idx_masked)))); ++#endif ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi8 ++FORCE_INLINE __m64 _mm_shuffle_pi8(__m64 a, __m64 b) ++{ ++ const int8x8_t controlMask = ++ vand_s8(vreinterpret_s8_m64(b), vdup_n_s8((int8_t) (0x1 << 7 | 0x07))); ++ int8x8_t res = vtbl1_s8(vreinterpret_s8_m64(a), controlMask); ++ return vreinterpret_m64_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed ++// 16-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi16 ++FORCE_INLINE __m128i _mm_sign_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x8_t ltMask = vreinterpretq_u16_s16(vshrq_n_s16(b, 15)); ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqzq_s16(b)); ++#else ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqq_s16(b, vdupq_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s16(a) equals to negative ++ // 'a') based on ltMask ++ int16x8_t masked = vbslq_s16(ltMask, vnegq_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x8_t res = vbicq_s16(masked, zeroMask); ++ return vreinterpretq_m128i_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed ++// 32-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi32 ++FORCE_INLINE __m128i _mm_sign_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x4_t ltMask = vreinterpretq_u32_s32(vshrq_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqzq_s32(b)); ++#else ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqq_s32(b, vdupq_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s32(a) equals to negative ++ // 'a') based on ltMask ++ int32x4_t masked = vbslq_s32(ltMask, vnegq_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x4_t res = vbicq_s32(masked, zeroMask); ++ return vreinterpretq_m128i_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed ++// 8-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi8 ++FORCE_INLINE __m128i _mm_sign_epi8(__m128i _a, __m128i _b) ++{ ++ int8x16_t a = vreinterpretq_s8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x16_t ltMask = vreinterpretq_u8_s8(vshrq_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqzq_s8(b)); ++#else ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqq_s8(b, vdupq_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s8(a) return negative 'a') ++ // based on ltMask ++ int8x16_t masked = vbslq_s8(ltMask, vnegq_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x16_t res = vbicq_s8(masked, zeroMask); ++ ++ return vreinterpretq_m128i_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed 16-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi16 ++FORCE_INLINE __m64 _mm_sign_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x4_t ltMask = vreinterpret_u16_s16(vshr_n_s16(b, 15)); ++ ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceqz_s16(b)); ++#else ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceq_s16(b, vdup_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s16(a) return negative 'a') ++ // based on ltMask ++ int16x4_t masked = vbsl_s16(ltMask, vneg_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x4_t res = vbic_s16(masked, zeroMask); ++ ++ return vreinterpret_m64_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed 32-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi32 ++FORCE_INLINE __m64 _mm_sign_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x2_t ltMask = vreinterpret_u32_s32(vshr_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceqz_s32(b)); ++#else ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceq_s32(b, vdup_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s32(a) return negative 'a') ++ // based on ltMask ++ int32x2_t masked = vbsl_s32(ltMask, vneg_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x2_t res = vbic_s32(masked, zeroMask); ++ ++ return vreinterpret_m64_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed 8-bit integer ++// in b is negative, and store the results in dst. Element in dst are zeroed out ++// when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi8 ++FORCE_INLINE __m64 _mm_sign_pi8(__m64 _a, __m64 _b) ++{ ++ int8x8_t a = vreinterpret_s8_m64(_a); ++ int8x8_t b = vreinterpret_s8_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x8_t ltMask = vreinterpret_u8_s8(vshr_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceqz_s8(b)); ++#else ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceq_s8(b, vdup_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s8(a) return negative 'a') ++ // based on ltMask ++ int8x8_t masked = vbsl_s8(ltMask, vneg_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x8_t res = vbic_s8(masked, zeroMask); ++ ++ return vreinterpret_m64_s8(res); ++} ++ ++/* SSE4.1 */ ++ ++// Blend packed 16-bit integers from a and b using control mask imm8, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_epi16 ++// FORCE_INLINE __m128i _mm_blend_epi16(__m128i a, __m128i b, ++// __constrange(0,255) int imm) ++#define _mm_blend_epi16(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, \ ++ const uint16_t _mask[8] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 1)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 2)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 3)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 4)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 5)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 6)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 7)) ? (uint16_t) -1 : 0x0); \ ++ uint16x8_t _mask_vec = vld1q_u16(_mask); \ ++ uint16x8_t __a = vreinterpretq_u16_m128i(_a); \ ++ uint16x8_t __b = vreinterpretq_u16_m128i(_b); _sse2neon_return( \ ++ vreinterpretq_m128i_u16(vbslq_u16(_mask_vec, __b, __a)));) ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using control mask imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_pd ++#define _mm_blend_pd(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128d, a, b, \ ++ const uint64_t _mask[2] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? ~UINT64_C(0) : UINT64_C(0), \ ++ ((imm) & (1 << 1)) ? ~UINT64_C(0) : UINT64_C(0)); \ ++ uint64x2_t _mask_vec = vld1q_u64(_mask); \ ++ uint64x2_t __a = vreinterpretq_u64_m128d(_a); \ ++ uint64x2_t __b = vreinterpretq_u64_m128d(_b); _sse2neon_return( \ ++ vreinterpretq_m128d_u64(vbslq_u64(_mask_vec, __b, __a)));) ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_ps ++FORCE_INLINE __m128 _mm_blend_ps(__m128 _a, __m128 _b, const char imm8) ++{ ++ const uint32_t ALIGN_STRUCT(16) ++ data[4] = {((imm8) & (1 << 0)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0}; ++ uint32x4_t mask = vld1q_u32(data); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Blend packed 8-bit integers from a and b using mask, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_epi8 ++FORCE_INLINE __m128i _mm_blendv_epi8(__m128i _a, __m128i _b, __m128i _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint8x16_t mask = ++ vreinterpretq_u8_s8(vshrq_n_s8(vreinterpretq_s8_m128i(_mask), 7)); ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ uint8x16_t b = vreinterpretq_u8_m128i(_b); ++ return vreinterpretq_m128i_u8(vbslq_u8(mask, b, a)); ++} ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_pd ++FORCE_INLINE __m128d _mm_blendv_pd(__m128d _a, __m128d _b, __m128d _mask) ++{ ++ uint64x2_t mask = ++ vreinterpretq_u64_s64(vshrq_n_s64(vreinterpretq_s64_m128d(_mask), 63)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64(vbslq_f64(mask, b, a)); ++#else ++ uint64x2_t a = vreinterpretq_u64_m128d(_a); ++ uint64x2_t b = vreinterpretq_u64_m128d(_b); ++ return vreinterpretq_m128d_u64(vbslq_u64(mask, b, a)); ++#endif ++} ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_ps ++FORCE_INLINE __m128 _mm_blendv_ps(__m128 _a, __m128 _b, __m128 _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint32x4_t mask = ++ vreinterpretq_u32_s32(vshrq_n_s32(vreinterpretq_s32_m128(_mask), 31)); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a up ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_pd ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndpq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(ceil(f[1]), ceil(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a up to ++// an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ps ++FORCE_INLINE __m128 _mm_ceil_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndpq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ceilf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b up to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_sd ++FORCE_INLINE __m128d _mm_ceil_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_ceil_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b up to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ss ++FORCE_INLINE __m128 _mm_ceil_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_ceil_ps(b)); ++} ++ ++// Compare packed 64-bit integers in a and b for equality, and store the results ++// in dst ++FORCE_INLINE __m128i _mm_cmpeq_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vceqq_u64(vreinterpretq_u64_m128i(a), vreinterpretq_u64_m128i(b))); ++#else ++ // ARMv7 lacks vceqq_u64 ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128i_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Sign extend packed 16-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi32 ++FORCE_INLINE __m128i _mm_cvtepi16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vmovl_s16(vget_low_s16(vreinterpretq_s16_m128i(a)))); ++} ++ ++// Sign extend packed 16-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi64 ++FORCE_INLINE __m128i _mm_cvtepi16_epi64(__m128i a) ++{ ++ int16x8_t s16x8 = vreinterpretq_s16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Sign extend packed 32-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_epi64 ++FORCE_INLINE __m128i _mm_cvtepi32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a)))); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 16-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi16 ++FORCE_INLINE __m128i _mm_cvtepi8_epi16(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ return vreinterpretq_m128i_s16(s16x8); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi32 ++FORCE_INLINE __m128i _mm_cvtepi8_epi32(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_s32(s32x4); ++} ++ ++// Sign extend packed 8-bit integers in the low 8 bytes of a to packed 64-bit ++// integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi64 ++FORCE_INLINE __m128i _mm_cvtepi8_epi64(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi32 ++FORCE_INLINE __m128i _mm_cvtepu16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_u32( ++ vmovl_u16(vget_low_u16(vreinterpretq_u16_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi64 ++FORCE_INLINE __m128i _mm_cvtepu16_epi64(__m128i a) ++{ ++ uint16x8_t u16x8 = vreinterpretq_u16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Zero extend packed unsigned 32-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu32_epi64 ++FORCE_INLINE __m128i _mm_cvtepu32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_u64( ++ vmovl_u32(vget_low_u32(vreinterpretq_u32_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 16-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi16 ++FORCE_INLINE __m128i _mm_cvtepu8_epi16(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx HGFE DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0H0G 0F0E 0D0C 0B0A */ ++ return vreinterpretq_m128i_u16(u16x8); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi32 ++FORCE_INLINE __m128i _mm_cvtepu8_epi32(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_u32(u32x4); ++} ++ ++// Zero extend packed unsigned 8-bit integers in the low 8 bytes of a to packed ++// 64-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi64 ++FORCE_INLINE __m128i _mm_cvtepu8_epi64(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Conditionally multiply the packed double-precision (64-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, and ++// conditionally store the sum in dst using the low 4 bits of imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_pd ++FORCE_INLINE __m128d _mm_dp_pd(__m128d a, __m128d b, const int imm) ++{ ++ // Generate mask value from constant immediate bit value ++ const int64_t bit0Mask = imm & 0x01 ? UINT64_MAX : 0; ++ const int64_t bit1Mask = imm & 0x02 ? UINT64_MAX : 0; ++#if !SSE2NEON_PRECISE_DP ++ const int64_t bit4Mask = imm & 0x10 ? UINT64_MAX : 0; ++ const int64_t bit5Mask = imm & 0x20 ? UINT64_MAX : 0; ++#endif ++ // Conditional multiplication ++#if !SSE2NEON_PRECISE_DP ++ __m128d mul = _mm_mul_pd(a, b); ++ const __m128d mulMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit5Mask, bit4Mask)); ++ __m128d tmp = _mm_and_pd(mul, mulMask); ++#else ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double d0 = (imm & 0x10) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 0) ++ : 0; ++ double d1 = (imm & 0x20) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 1) ++ : 0; ++#else ++ double d0 = (imm & 0x10) ? ((double *) &a)[0] * ((double *) &b)[0] : 0; ++ double d1 = (imm & 0x20) ? ((double *) &a)[1] * ((double *) &b)[1] : 0; ++#endif ++ __m128d tmp = _mm_set_pd(d1, d0); ++#endif ++ // Sum the products ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double sum = vpaddd_f64(vreinterpretq_f64_m128d(tmp)); ++#else ++ double sum = *((double *) &tmp) + *(((double *) &tmp) + 1); ++#endif ++ // Conditionally store the sum ++ const __m128d sumMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit1Mask, bit0Mask)); ++ __m128d res = _mm_and_pd(_mm_set_pd1(sum), sumMask); ++ return res; ++} ++ ++// Conditionally multiply the packed single-precision (32-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, ++// and conditionally store the sum in dst using the low 4 bits of imm. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_ps ++FORCE_INLINE __m128 _mm_dp_ps(__m128 a, __m128 b, const int imm) ++{ ++ float32x4_t elementwise_prod = _mm_mul_ps(a, b); ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ /* shortcuts */ ++ if (imm == 0xFF) { ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++ ++ if ((imm & 0x0F) == 0x0F) { ++ if (!(imm & (1 << 4))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 0); ++ if (!(imm & (1 << 5))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 1); ++ if (!(imm & (1 << 6))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 2); ++ if (!(imm & (1 << 7))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 3); ++ ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++#endif ++ ++ float s = 0.0f; ++ ++ if (imm & (1 << 4)) ++ s += vgetq_lane_f32(elementwise_prod, 0); ++ if (imm & (1 << 5)) ++ s += vgetq_lane_f32(elementwise_prod, 1); ++ if (imm & (1 << 6)) ++ s += vgetq_lane_f32(elementwise_prod, 2); ++ if (imm & (1 << 7)) ++ s += vgetq_lane_f32(elementwise_prod, 3); ++ ++ const float32_t res[4] = { ++ (imm & 0x1) ? s : 0.0f, ++ (imm & 0x2) ? s : 0.0f, ++ (imm & 0x4) ? s : 0.0f, ++ (imm & 0x8) ? s : 0.0f, ++ }; ++ return vreinterpretq_m128_f32(vld1q_f32(res)); ++} ++ ++// Extract a 32-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi32 ++// FORCE_INLINE int _mm_extract_epi32(__m128i a, __constrange(0,4) int imm) ++#define _mm_extract_epi32(a, imm) \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)) ++ ++// Extract a 64-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi64 ++// FORCE_INLINE __int64 _mm_extract_epi64(__m128i a, __constrange(0,2) int imm) ++#define _mm_extract_epi64(a, imm) \ ++ vgetq_lane_s64(vreinterpretq_s64_m128i(a), (imm)) ++ ++// Extract an 8-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. FORCE_INLINE int _mm_extract_epi8(__m128i a, ++// __constrange(0,16) int imm) ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi8 ++#define _mm_extract_epi8(a, imm) vgetq_lane_u8(vreinterpretq_u8_m128i(a), (imm)) ++ ++// Extracts the selected single-precision (32-bit) floating-point from a. ++// FORCE_INLINE int _mm_extract_ps(__m128 a, __constrange(0,4) int imm) ++#define _mm_extract_ps(a, imm) vgetq_lane_s32(vreinterpretq_s32_m128(a), (imm)) ++ ++// Round the packed double-precision (64-bit) floating-point elements in a down ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_pd ++FORCE_INLINE __m128d _mm_floor_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndmq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(floor(f[1]), floor(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a down ++// to an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ps ++FORCE_INLINE __m128 _mm_floor_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndmq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(floorf(f[3]), floorf(f[2]), floorf(f[1]), floorf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b down to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_sd ++FORCE_INLINE __m128d _mm_floor_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_floor_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b down to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ss ++FORCE_INLINE __m128 _mm_floor_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_floor_ps(b)); ++} ++ ++// Copy a to dst, and insert the 32-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi32 ++// FORCE_INLINE __m128i _mm_insert_epi32(__m128i a, int b, ++// __constrange(0,4) int imm) ++#define _mm_insert_epi32(a, b, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vsetq_lane_s32((b), vreinterpretq_s32_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the 64-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi64 ++// FORCE_INLINE __m128i _mm_insert_epi64(__m128i a, __int64 b, ++// __constrange(0,2) int imm) ++#define _mm_insert_epi64(a, b, imm) \ ++ vreinterpretq_m128i_s64( \ ++ vsetq_lane_s64((b), vreinterpretq_s64_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the lower 8-bit integer from i into dst at the ++// location specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi8 ++// FORCE_INLINE __m128i _mm_insert_epi8(__m128i a, int b, ++// __constrange(0,16) int imm) ++#define _mm_insert_epi8(a, b, imm) \ ++ vreinterpretq_m128i_s8(vsetq_lane_s8((b), vreinterpretq_s8_m128i(a), (imm))) ++ ++// Copy a to tmp, then insert a single-precision (32-bit) floating-point ++// element from b into tmp using the control in imm8. Store tmp to dst using ++// the mask in imm8 (elements are zeroed out when the corresponding bit is set). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=insert_ps ++#define _mm_insert_ps(a, b, imm8) \ ++ _sse2neon_define2( \ ++ __m128, a, b, \ ++ float32x4_t tmp1 = \ ++ vsetq_lane_f32(vgetq_lane_f32(_b, (imm8 >> 6) & 0x3), \ ++ vreinterpretq_f32_m128(_a), 0); \ ++ float32x4_t tmp2 = \ ++ vsetq_lane_f32(vgetq_lane_f32(tmp1, 0), \ ++ vreinterpretq_f32_m128(_a), ((imm8 >> 4) & 0x3)); \ ++ const uint32_t data[4] = \ ++ _sse2neon_init(((imm8) & (1 << 0)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0); \ ++ uint32x4_t mask = vld1q_u32(data); \ ++ float32x4_t all_zeros = vdupq_n_f32(0); \ ++ \ ++ _sse2neon_return(vreinterpretq_m128_f32( \ ++ vbslq_f32(mask, all_zeros, vreinterpretq_f32_m128(tmp2))));) ++ ++// Compare packed signed 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi32 ++FORCE_INLINE __m128i _mm_max_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmaxq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi8 ++FORCE_INLINE __m128i _mm_max_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vmaxq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu16 ++FORCE_INLINE __m128i _mm_max_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vmaxq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_max_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vmaxq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi32 ++FORCE_INLINE __m128i _mm_min_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vminq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi8 ++FORCE_INLINE __m128i _mm_min_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vminq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu16 ++FORCE_INLINE __m128i _mm_min_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vminq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_min_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vminq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Horizontally compute the minimum amongst the packed unsigned 16-bit integers ++// in a, store the minimum and index in dst, and zero the remaining bits in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_minpos_epu16 ++FORCE_INLINE __m128i _mm_minpos_epu16(__m128i a) ++{ ++ __m128i dst; ++ uint16_t min, idx = 0; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Find the minimum value ++ min = vminvq_u16(vreinterpretq_u16_m128i(a)); ++ ++ // Get the index of the minimum value ++ static const uint16_t idxv[] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint16x8_t minv = vdupq_n_u16(min); ++ uint16x8_t cmeq = vceqq_u16(minv, vreinterpretq_u16_m128i(a)); ++ idx = vminvq_u16(vornq_u16(vld1q_u16(idxv), cmeq)); ++#else ++ // Find the minimum value ++ __m64 tmp; ++ tmp = vreinterpret_m64_u16( ++ vmin_u16(vget_low_u16(vreinterpretq_u16_m128i(a)), ++ vget_high_u16(vreinterpretq_u16_m128i(a)))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ min = vget_lane_u16(vreinterpret_u16_m64(tmp), 0); ++ // Get the index of the minimum value ++ int i; ++ for (i = 0; i < 8; i++) { ++ if (min == vgetq_lane_u16(vreinterpretq_u16_m128i(a), 0)) { ++ idx = (uint16_t) i; ++ break; ++ } ++ a = _mm_srli_si128(a, 2); ++ } ++#endif ++ // Generate result ++ dst = _mm_setzero_si128(); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(min, vreinterpretq_u16_m128i(dst), 0)); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(idx, vreinterpretq_u16_m128i(dst), 1)); ++ return dst; ++} ++ ++// Compute the sum of absolute differences (SADs) of quadruplets of unsigned ++// 8-bit integers in a compared to those in b, and store the 16-bit results in ++// dst. Eight SADs are performed using one quadruplet from b and eight ++// quadruplets from a. One quadruplet is selected from b starting at on the ++// offset specified in imm8. Eight quadruplets are formed from sequential 8-bit ++// integers selected from a starting at the offset specified in imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mpsadbw_epu8 ++FORCE_INLINE __m128i _mm_mpsadbw_epu8(__m128i a, __m128i b, const int imm) ++{ ++ uint8x16_t _a, _b; ++ ++ switch (imm & 0x4) { ++ case 0: ++ // do nothing ++ _a = vreinterpretq_u8_m128i(a); ++ break; ++ case 4: ++ _a = vreinterpretq_u8_u32(vextq_u32(vreinterpretq_u32_m128i(a), ++ vreinterpretq_u32_m128i(a), 1)); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ switch (imm & 0x3) { ++ case 0: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 0))); ++ break; ++ case 1: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 1))); ++ break; ++ case 2: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 2))); ++ break; ++ case 3: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 3))); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ int16x8_t c04, c15, c26, c37; ++ uint8x8_t low_b = vget_low_u8(_b); ++ c04 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a), low_b)); ++ uint8x16_t _a_1 = vextq_u8(_a, _a, 1); ++ c15 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_1), low_b)); ++ uint8x16_t _a_2 = vextq_u8(_a, _a, 2); ++ c26 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_2), low_b)); ++ uint8x16_t _a_3 = vextq_u8(_a, _a, 3); ++ c37 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_3), low_b)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // |0|4|2|6| ++ c04 = vpaddq_s16(c04, c26); ++ // |1|5|3|7| ++ c15 = vpaddq_s16(c15, c37); ++ ++ int32x4_t trn1_c = ++ vtrn1q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ int32x4_t trn2_c = ++ vtrn2q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ return vreinterpretq_m128i_s16(vpaddq_s16(vreinterpretq_s16_s32(trn1_c), ++ vreinterpretq_s16_s32(trn2_c))); ++#else ++ int16x4_t c01, c23, c45, c67; ++ c01 = vpadd_s16(vget_low_s16(c04), vget_low_s16(c15)); ++ c23 = vpadd_s16(vget_low_s16(c26), vget_low_s16(c37)); ++ c45 = vpadd_s16(vget_high_s16(c04), vget_high_s16(c15)); ++ c67 = vpadd_s16(vget_high_s16(c26), vget_high_s16(c37)); ++ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(c01, c23), vpadd_s16(c45, c67))); ++#endif ++} ++ ++// Multiply the low signed 32-bit integers from each packed 64-bit element in ++// a and b, and store the signed 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epi32 ++FORCE_INLINE __m128i _mm_mul_epi32(__m128i a, __m128i b) ++{ ++ // vmull_s32 upcasts instead of masking, so we downcast. ++ int32x2_t a_lo = vmovn_s64(vreinterpretq_s64_m128i(a)); ++ int32x2_t b_lo = vmovn_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vmull_s32(a_lo, b_lo)); ++} ++ ++// Multiply the packed 32-bit integers in a and b, producing intermediate 64-bit ++// integers, and store the low 32 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi32 ++FORCE_INLINE __m128i _mm_mullo_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmulq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi32 ++FORCE_INLINE __m128i _mm_packus_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcombine_u16(vqmovun_s32(vreinterpretq_s32_m128i(a)), ++ vqmovun_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_pd ++FORCE_INLINE_OPTNONE __m128d _mm_round_pd(__m128d a, int rounding) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndnq_f64(vreinterpretq_f64_m128d(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_pd(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_pd(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndq_f64(vreinterpretq_f64_m128d(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128d_f64(vrndiq_f64(vreinterpretq_f64_m128d(a))); ++ } ++#else ++ double *v_double = (double *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ double res[2], tmp; ++ for (int i = 0; i < 2; i++) { ++ tmp = (v_double[i] < 0) ? -v_double[i] : v_double[i]; ++ double roundDown = floor(tmp); // Round down value ++ double roundUp = ceil(tmp); // Round up value ++ double diffDown = tmp - roundDown; ++ double diffUp = roundUp - tmp; ++ if (diffDown < diffUp) { ++ /* If it's closer to the round down value, then use it */ ++ res[i] = roundDown; ++ } else if (diffDown > diffUp) { ++ /* If it's closer to the round up value, then use it */ ++ res[i] = roundUp; ++ } else { ++ /* If it's equidistant between round up and round down value, ++ * pick the one which is an even number */ ++ double half = roundDown / 2; ++ if (half != floor(half)) { ++ /* If the round down value is odd, return the round up value ++ */ ++ res[i] = roundUp; ++ } else { ++ /* If the round up value is odd, return the round down value ++ */ ++ res[i] = roundDown; ++ } ++ } ++ res[i] = (v_double[i] < 0) ? -res[i] : res[i]; ++ } ++ return _mm_set_pd(res[1], res[0]); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_pd(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_pd(a); ++ } ++ return _mm_set_pd(v_double[1] > 0 ? floor(v_double[1]) : ceil(v_double[1]), ++ v_double[0] > 0 ? floor(v_double[0]) : ceil(v_double[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed single-precision ++// floating-point elements in dst. ++// software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_round_ps ++FORCE_INLINE_OPTNONE __m128 _mm_round_ps(__m128 a, int rounding) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndnq_f32(vreinterpretq_f32_m128(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_ps(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_ps(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndq_f32(vreinterpretq_f32_m128(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128_f32(vrndiq_f32(vreinterpretq_f32_m128(a))); ++ } ++#else ++ float *v_float = (float *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vbslq_s32(is_delta_half, r_even, r_normal))); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_ps(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_ps(a); ++ } ++ return _mm_set_ps(v_float[3] > 0 ? floorf(v_float[3]) : ceilf(v_float[3]), ++ v_float[2] > 0 ? floorf(v_float[2]) : ceilf(v_float[2]), ++ v_float[1] > 0 ? floorf(v_float[1]) : ceilf(v_float[1]), ++ v_float[0] > 0 ? floorf(v_float[0]) : ceilf(v_float[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b using ++// the rounding parameter, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_sd ++FORCE_INLINE __m128d _mm_round_sd(__m128d a, __m128d b, int rounding) ++{ ++ return _mm_move_sd(a, _mm_round_pd(b, rounding)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b using ++// the rounding parameter, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. Rounding is done according to the ++// rounding[3:0] parameter, which can be one of: ++// (_MM_FROUND_TO_NEAREST_INT |_MM_FROUND_NO_EXC) // round to nearest, and ++// suppress exceptions ++// (_MM_FROUND_TO_NEG_INF |_MM_FROUND_NO_EXC) // round down, and ++// suppress exceptions ++// (_MM_FROUND_TO_POS_INF |_MM_FROUND_NO_EXC) // round up, and suppress ++// exceptions ++// (_MM_FROUND_TO_ZERO |_MM_FROUND_NO_EXC) // truncate, and suppress ++// exceptions _MM_FROUND_CUR_DIRECTION // use MXCSR.RC; see ++// _MM_SET_ROUNDING_MODE ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_ss ++FORCE_INLINE __m128 _mm_round_ss(__m128 a, __m128 b, int rounding) ++{ ++ return _mm_move_ss(a, _mm_round_ps(b, rounding)); ++} ++ ++// Load 128-bits of integer data from memory into dst using a non-temporal ++// memory hint. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_load_si128 ++FORCE_INLINE __m128i _mm_stream_load_si128(__m128i *p) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ return __builtin_nontemporal_load(p); ++#else ++ return vreinterpretq_m128i_s64(vld1q_s64((int64_t *) p)); ++#endif ++} ++ ++// Compute the bitwise NOT of a and then AND with a 128-bit vector containing ++// all 1's, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_ones ++FORCE_INLINE int _mm_test_all_ones(__m128i a) ++{ ++ return (uint64_t) (vgetq_lane_s64(a, 0) & vgetq_lane_s64(a, 1)) == ++ ~(uint64_t) 0; ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_zeros ++FORCE_INLINE int _mm_test_all_zeros(__m128i a, __m128i mask) ++{ ++ int64x2_t a_and_mask = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(mask)); ++ return !(vgetq_lane_s64(a_and_mask, 0) | vgetq_lane_s64(a_and_mask, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute ++// the bitwise NOT of a and then AND with mask, and set CF to 1 if the result is ++// zero, otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_test_mix_ones_zero ++// Note: Argument names may be wrong in the Intel intrinsics guide. ++FORCE_INLINE int _mm_test_mix_ones_zeros(__m128i a, __m128i mask) ++{ ++ uint64x2_t v = vreinterpretq_u64_m128i(a); ++ uint64x2_t m = vreinterpretq_u64_m128i(mask); ++ ++ // find ones (set-bits) and zeros (clear-bits) under clip mask ++ uint64x2_t ones = vandq_u64(m, v); ++ uint64x2_t zeros = vbicq_u64(m, v); ++ ++ // If both 128-bit variables are populated (non-zero) then return 1. ++ // For comparison purposes, first compact each var down to 32-bits. ++ uint32x2_t reduced = vpmax_u32(vqmovn_u64(ones), vqmovn_u64(zeros)); ++ ++ // if folding minimum is non-zero then both vars must be non-zero ++ return (vget_lane_u32(vpmin_u32(reduced, reduced), 0) != 0); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the CF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testc_si128 ++FORCE_INLINE int _mm_testc_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vbicq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testnzc_si128 ++#define _mm_testnzc_si128(a, b) _mm_test_mix_ones_zeros(a, b) ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the ZF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testz_si128 ++FORCE_INLINE int _mm_testz_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++/* SSE4.2 */ ++ ++static const uint16_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask16b[8] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++static const uint8_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask8b[16] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++ ++/* specify the source data format */ ++#define _SIDD_UBYTE_OPS 0x00 /* unsigned 8-bit characters */ ++#define _SIDD_UWORD_OPS 0x01 /* unsigned 16-bit characters */ ++#define _SIDD_SBYTE_OPS 0x02 /* signed 8-bit characters */ ++#define _SIDD_SWORD_OPS 0x03 /* signed 16-bit characters */ ++ ++/* specify the comparison operation */ ++#define _SIDD_CMP_EQUAL_ANY 0x00 /* compare equal any: strchr */ ++#define _SIDD_CMP_RANGES 0x04 /* compare ranges */ ++#define _SIDD_CMP_EQUAL_EACH 0x08 /* compare equal each: strcmp */ ++#define _SIDD_CMP_EQUAL_ORDERED 0x0C /* compare equal ordered */ ++ ++/* specify the polarity */ ++#define _SIDD_POSITIVE_POLARITY 0x00 ++#define _SIDD_MASKED_POSITIVE_POLARITY 0x20 ++#define _SIDD_NEGATIVE_POLARITY 0x10 /* negate results */ ++#define _SIDD_MASKED_NEGATIVE_POLARITY \ ++ 0x30 /* negate results only before end of string */ ++ ++/* specify the output selection in _mm_cmpXstri */ ++#define _SIDD_LEAST_SIGNIFICANT 0x00 ++#define _SIDD_MOST_SIGNIFICANT 0x40 ++ ++/* specify the output selection in _mm_cmpXstrm */ ++#define _SIDD_BIT_MASK 0x00 ++#define _SIDD_UNIT_MASK 0x40 ++ ++/* Pattern Matching for C macros. ++ * https://github.com/pfultz2/Cloak/wiki/C-Preprocessor-tricks,-tips,-and-idioms ++ */ ++ ++/* catenate */ ++#define SSE2NEON_PRIMITIVE_CAT(a, ...) a##__VA_ARGS__ ++#define SSE2NEON_CAT(a, b) SSE2NEON_PRIMITIVE_CAT(a, b) ++ ++#define SSE2NEON_IIF(c) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_IIF_, c) ++/* run the 2nd parameter */ ++#define SSE2NEON_IIF_0(t, ...) __VA_ARGS__ ++/* run the 1st parameter */ ++#define SSE2NEON_IIF_1(t, ...) t ++ ++#define SSE2NEON_COMPL(b) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_COMPL_, b) ++#define SSE2NEON_COMPL_0 1 ++#define SSE2NEON_COMPL_1 0 ++ ++#define SSE2NEON_DEC(x) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_DEC_, x) ++#define SSE2NEON_DEC_1 0 ++#define SSE2NEON_DEC_2 1 ++#define SSE2NEON_DEC_3 2 ++#define SSE2NEON_DEC_4 3 ++#define SSE2NEON_DEC_5 4 ++#define SSE2NEON_DEC_6 5 ++#define SSE2NEON_DEC_7 6 ++#define SSE2NEON_DEC_8 7 ++#define SSE2NEON_DEC_9 8 ++#define SSE2NEON_DEC_10 9 ++#define SSE2NEON_DEC_11 10 ++#define SSE2NEON_DEC_12 11 ++#define SSE2NEON_DEC_13 12 ++#define SSE2NEON_DEC_14 13 ++#define SSE2NEON_DEC_15 14 ++#define SSE2NEON_DEC_16 15 ++ ++/* detection */ ++#define SSE2NEON_CHECK_N(x, n, ...) n ++#define SSE2NEON_CHECK(...) SSE2NEON_CHECK_N(__VA_ARGS__, 0, ) ++#define SSE2NEON_PROBE(x) x, 1, ++ ++#define SSE2NEON_NOT(x) SSE2NEON_CHECK(SSE2NEON_PRIMITIVE_CAT(SSE2NEON_NOT_, x)) ++#define SSE2NEON_NOT_0 SSE2NEON_PROBE(~) ++ ++#define SSE2NEON_BOOL(x) SSE2NEON_COMPL(SSE2NEON_NOT(x)) ++#define SSE2NEON_IF(c) SSE2NEON_IIF(SSE2NEON_BOOL(c)) ++ ++#define SSE2NEON_EAT(...) ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++#define SSE2NEON_WHEN(c) SSE2NEON_IF(c)(SSE2NEON_EXPAND, SSE2NEON_EAT) ++ ++/* recursion */ ++/* deferred expression */ ++#define SSE2NEON_EMPTY() ++#define SSE2NEON_DEFER(id) id SSE2NEON_EMPTY() ++#define SSE2NEON_OBSTRUCT(...) __VA_ARGS__ SSE2NEON_DEFER(SSE2NEON_EMPTY)() ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++ ++#define SSE2NEON_EVAL(...) \ ++ SSE2NEON_EVAL1(SSE2NEON_EVAL1(SSE2NEON_EVAL1(__VA_ARGS__))) ++#define SSE2NEON_EVAL1(...) \ ++ SSE2NEON_EVAL2(SSE2NEON_EVAL2(SSE2NEON_EVAL2(__VA_ARGS__))) ++#define SSE2NEON_EVAL2(...) \ ++ SSE2NEON_EVAL3(SSE2NEON_EVAL3(SSE2NEON_EVAL3(__VA_ARGS__))) ++#define SSE2NEON_EVAL3(...) __VA_ARGS__ ++ ++#define SSE2NEON_REPEAT(count, macro, ...) \ ++ SSE2NEON_WHEN(count) \ ++ (SSE2NEON_OBSTRUCT(SSE2NEON_REPEAT_INDIRECT)()( \ ++ SSE2NEON_DEC(count), macro, \ ++ __VA_ARGS__) SSE2NEON_OBSTRUCT(macro)(SSE2NEON_DEC(count), \ ++ __VA_ARGS__)) ++#define SSE2NEON_REPEAT_INDIRECT() SSE2NEON_REPEAT ++ ++#define SSE2NEON_SIZE_OF_byte 8 ++#define SSE2NEON_NUMBER_OF_LANES_byte 16 ++#define SSE2NEON_SIZE_OF_word 16 ++#define SSE2NEON_NUMBER_OF_LANES_word 8 ++ ++#define SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE(i, type) \ ++ mtx[i] = vreinterpretq_m128i_##type(vceqq_##type( \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)), \ ++ vreinterpretq_##type##_m128i(a))); ++ ++#define SSE2NEON_FILL_LANE(i, type) \ ++ vec_b[i] = \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)); ++ ++#define PCMPSTR_RANGES(a, b, mtx, data_type_prefix, type_prefix, size, \ ++ number_of_lanes, byte_or_word) \ ++ do { \ ++ SSE2NEON_CAT( \ ++ data_type_prefix, \ ++ SSE2NEON_CAT(size, \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(number_of_lanes, _t)))) \ ++ vec_b[number_of_lanes]; \ ++ __m128i mask = SSE2NEON_IIF(byte_or_word)( \ ++ vreinterpretq_m128i_u16(vdupq_n_u16(0xff)), \ ++ vreinterpretq_m128i_u32(vdupq_n_u32(0xffff))); \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, SSE2NEON_FILL_LANE, \ ++ SSE2NEON_CAT(type_prefix, size))) \ ++ for (int i = 0; i < number_of_lanes; i++) { \ ++ mtx[i] = SSE2NEON_CAT(vreinterpretq_m128i_u, \ ++ size)(SSE2NEON_CAT(vbslq_u, size)( \ ++ SSE2NEON_CAT(vreinterpretq_u, \ ++ SSE2NEON_CAT(size, _m128i))(mask), \ ++ SSE2NEON_CAT(vcgeq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))), \ ++ SSE2NEON_CAT(vcleq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))))); \ ++ } \ ++ } while (0) ++ ++#define PCMPSTR_EQ(a, b, mtx, size, number_of_lanes) \ ++ do { \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, \ ++ SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE, \ ++ SSE2NEON_CAT(u, size))) \ ++ } while (0) ++ ++#define SSE2NEON_CMP_EQUAL_ANY_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_any(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_any_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_RANGES_IMPL(type, data_type, us, byte_or_word) \ ++ static int _sse2neon_cmp_##us##type##_ranges(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_RANGES( \ ++ a, b, mtx, data_type, us, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), byte_or_word); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_ranges_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_EQUAL_ORDERED_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_ordered(__m128i a, int la, \ ++ __m128i b, int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_ordered_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type))))( \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), la, lb, mtx); \ ++ } ++ ++static int _sse2neon_aggregate_equal_any_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ int tmp = _sse2neon_vaddvq_u8(vreinterpretq_u8_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_equal_any_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ int tmp = _sse2neon_vaddvq_u16(vreinterpretq_u16_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ANY(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ANY(SSE2NEON_CMP_EQUAL_ANY_) ++ ++static int _sse2neon_aggregate_ranges_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ __m128i tmp = vreinterpretq_m128i_u32( ++ vshrq_n_u32(vreinterpretq_u32_m128i(mtx[j]), 16)); ++ uint32x4_t vec_res = vandq_u32(vreinterpretq_u32_m128i(mtx[j]), ++ vreinterpretq_u32_m128i(tmp)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int t = vaddvq_u32(vec_res) ? 1 : 0; ++#else ++ uint64x2_t sumh = vpaddlq_u32(vec_res); ++ int t = vgetq_lane_u64(sumh, 0) + vgetq_lane_u64(sumh, 1); ++#endif ++ res |= (t << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_ranges_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ __m128i tmp = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 8)); ++ uint16x8_t vec_res = vandq_u16(vreinterpretq_u16_m128i(mtx[j]), ++ vreinterpretq_u16_m128i(tmp)); ++ int t = _sse2neon_vaddvq_u16(vec_res) ? 1 : 0; ++ res |= (t << j); ++ } ++ return res; ++} ++ ++#define SSE2NEON_CMP_RANGES_IS_BYTE 1 ++#define SSE2NEON_CMP_RANGES_IS_WORD 0 ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_RANGES(prefix) \ ++ prefix##IMPL(byte, uint, u, prefix##IS_BYTE) \ ++ prefix##IMPL(byte, int, s, prefix##IS_BYTE) \ ++ prefix##IMPL(word, uint, u, prefix##IS_WORD) \ ++ prefix##IMPL(word, int, s, prefix##IS_WORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_RANGES(SSE2NEON_CMP_RANGES_) ++ ++#undef SSE2NEON_CMP_RANGES_IS_BYTE ++#undef SSE2NEON_CMP_RANGES_IS_WORD ++ ++static int _sse2neon_cmp_byte_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint8x16_t mtx = ++ vceqq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x10000 - (1 << la); ++ int tb = 0x10000 - (1 << lb); ++ uint8x8_t vec_mask, vec0_lo, vec0_hi, vec1_lo, vec1_hi; ++ uint8x8_t tmp_lo, tmp_hi, res_lo, res_hi; ++ vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ vec0_lo = vtst_u8(vdup_n_u8(m0), vec_mask); ++ vec0_hi = vtst_u8(vdup_n_u8(m0 >> 8), vec_mask); ++ vec1_lo = vtst_u8(vdup_n_u8(m1), vec_mask); ++ vec1_hi = vtst_u8(vdup_n_u8(m1 >> 8), vec_mask); ++ tmp_lo = vtst_u8(vdup_n_u8(tb), vec_mask); ++ tmp_hi = vtst_u8(vdup_n_u8(tb >> 8), vec_mask); ++ ++ res_lo = vbsl_u8(vec0_lo, vdup_n_u8(0), vget_low_u8(mtx)); ++ res_hi = vbsl_u8(vec0_hi, vdup_n_u8(0), vget_high_u8(mtx)); ++ res_lo = vbsl_u8(vec1_lo, tmp_lo, res_lo); ++ res_hi = vbsl_u8(vec1_hi, tmp_hi, res_hi); ++ res_lo = vand_u8(res_lo, vec_mask); ++ res_hi = vand_u8(res_hi, vec_mask); ++ ++ int res = _sse2neon_vaddv_u8(res_lo) + (_sse2neon_vaddv_u8(res_hi) << 8); ++ return res; ++} ++ ++static int _sse2neon_cmp_word_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint16x8_t mtx = ++ vceqq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x100 - (1 << la); ++ int tb = 0x100 - (1 << lb); ++ uint16x8_t vec_mask = vld1q_u16(_sse2neon_cmpestr_mask16b); ++ uint16x8_t vec0 = vtstq_u16(vdupq_n_u16(m0), vec_mask); ++ uint16x8_t vec1 = vtstq_u16(vdupq_n_u16(m1), vec_mask); ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(tb), vec_mask); ++ mtx = vbslq_u16(vec0, vdupq_n_u16(0), mtx); ++ mtx = vbslq_u16(vec1, tmp, mtx); ++ mtx = vandq_u16(mtx, vec_mask); ++ return _sse2neon_vaddvq_u16(mtx); ++} ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE 1 ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD 0 ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IMPL(size, number_of_lanes, data_type) \ ++ static int _sse2neon_aggregate_equal_ordered_##size##x##number_of_lanes( \ ++ int bound, int la, int lb, __m128i mtx[16]) \ ++ { \ ++ int res = 0; \ ++ int m1 = SSE2NEON_IIF(data_type)(0x10000, 0x100) - (1 << la); \ ++ uint##size##x8_t vec_mask = SSE2NEON_IIF(data_type)( \ ++ vld1_u##size(_sse2neon_cmpestr_mask##size##b), \ ++ vld1q_u##size(_sse2neon_cmpestr_mask##size##b)); \ ++ uint##size##x##number_of_lanes##_t vec1 = SSE2NEON_IIF(data_type)( \ ++ vcombine_u##size(vtst_u##size(vdup_n_u##size(m1), vec_mask), \ ++ vtst_u##size(vdup_n_u##size(m1 >> 8), vec_mask)), \ ++ vtstq_u##size(vdupq_n_u##size(m1), vec_mask)); \ ++ uint##size##x##number_of_lanes##_t vec_minusone = vdupq_n_u##size(-1); \ ++ uint##size##x##number_of_lanes##_t vec_zero = vdupq_n_u##size(0); \ ++ for (int j = 0; j < lb; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size(vbslq_u##size( \ ++ vec1, vec_minusone, vreinterpretq_u##size##_m128i(mtx[j]))); \ ++ } \ ++ for (int j = lb; j < bound; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size( \ ++ vbslq_u##size(vec1, vec_minusone, vec_zero)); \ ++ } \ ++ unsigned SSE2NEON_IIF(data_type)(char, short) *ptr = \ ++ (unsigned SSE2NEON_IIF(data_type)(char, short) *) mtx; \ ++ for (int i = 0; i < bound; i++) { \ ++ int val = 1; \ ++ for (int j = 0, k = i; j < bound - i && k < bound; j++, k++) \ ++ val &= ptr[k * bound + j]; \ ++ res += val << i; \ ++ } \ ++ return res; \ ++ } ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(prefix) \ ++ prefix##IMPL(8, 16, prefix##IS_UBYTE) \ ++ prefix##IMPL(16, 8, prefix##IS_UWORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(SSE2NEON_AGGREGATE_EQUAL_ORDER_) ++ ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(SSE2NEON_CMP_EQUAL_ORDERED_) ++ ++#define SSE2NEON_CMPESTR_LIST \ ++ _(CMP_UBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_UWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_SBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_SWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_UBYTE_RANGES, cmp_ubyte_ranges) \ ++ _(CMP_UWORD_RANGES, cmp_uword_ranges) \ ++ _(CMP_SBYTE_RANGES, cmp_sbyte_ranges) \ ++ _(CMP_SWORD_RANGES, cmp_sword_ranges) \ ++ _(CMP_UBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_UWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_SBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_SWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_UBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_UWORD_EQUAL_ORDERED, cmp_word_equal_ordered) \ ++ _(CMP_SBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_SWORD_EQUAL_ORDERED, cmp_word_equal_ordered) ++ ++enum { ++#define _(name, func_suffix) name, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++typedef int (*cmpestr_func_t)(__m128i a, int la, __m128i b, int lb); ++static cmpestr_func_t _sse2neon_cmpfunc_table[] = { ++#define _(name, func_suffix) _sse2neon_##func_suffix, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++ ++FORCE_INLINE int _sse2neon_sido_negative(int res, int lb, int imm8, int bound) ++{ ++ switch (imm8 & 0x30) { ++ case _SIDD_NEGATIVE_POLARITY: ++ res ^= 0xffffffff; ++ break; ++ case _SIDD_MASKED_NEGATIVE_POLARITY: ++ res ^= (1 << lb) - 1; ++ break; ++ default: ++ break; ++ } ++ ++ return res & ((bound == 8) ? 0xFF : 0xFFFF); ++} ++ ++FORCE_INLINE int _sse2neon_clz(unsigned int x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt = 0; ++ if (_BitScanReverse(&cnt, x)) ++ return 31 - cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_clz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctz(unsigned int x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt = 0; ++ if (_BitScanForward(&cnt, x)) ++ return cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_ctz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctzll(unsigned long long x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt; ++#if defined(SSE2NEON_HAS_BITSCAN64) ++ if (_BitScanForward64(&cnt, x)) ++ return (int) (cnt); ++#else ++ if (_BitScanForward(&cnt, (unsigned long) (x))) ++ return (int) cnt; ++ if (_BitScanForward(&cnt, (unsigned long) (x >> 32))) ++ return (int) (cnt + 32); ++#endif /* SSE2NEON_HAS_BITSCAN64 */ ++ return 64; ++#else /* assume GNU compatible compilers */ ++ return x != 0 ? __builtin_ctzll(x) : 64; ++#endif ++} ++ ++#define SSE2NEON_MIN(x, y) (x) < (y) ? (x) : (y) ++ ++#define SSE2NEON_CMPSTR_SET_UPPER(var, imm) \ ++ const int var = (imm & 0x01) ? 8 : 16 ++ ++#define SSE2NEON_CMPESTRX_LEN_PAIR(a, b, la, lb) \ ++ int tmp1 = la ^ (la >> 31); \ ++ la = tmp1 - (la >> 31); \ ++ int tmp2 = lb ^ (lb >> 31); \ ++ lb = tmp2 - (lb >> 31); \ ++ la = SSE2NEON_MIN(la, bound); \ ++ lb = SSE2NEON_MIN(lb, bound) ++ ++// Compare all pairs of character in string a and b, ++// then aggregate the result. ++// As the only difference of PCMPESTR* and PCMPISTR* is the way to calculate the ++// length of string, we use SSE2NEON_CMP{I,E}STRX_GET_LEN to get the length of ++// string a and b. ++#define SSE2NEON_COMP_AGG(a, b, la, lb, imm8, IE) \ ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); \ ++ SSE2NEON_##IE##_LEN_PAIR(a, b, la, lb); \ ++ int r2 = (_sse2neon_cmpfunc_table[imm8 & 0x0f])(a, la, b, lb); \ ++ r2 = _sse2neon_sido_negative(r2, lb, imm8, bound) ++ ++#define SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8) \ ++ return (r2 == 0) ? bound \ ++ : ((imm8 & 0x40) ? (31 - _sse2neon_clz(r2)) \ ++ : _sse2neon_ctz(r2)) ++ ++#define SSE2NEON_CMPSTR_GENERATE_MASK(dst) \ ++ __m128i dst = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ if (imm8 & 0x40) { \ ++ if (bound == 8) { \ ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(r2), \ ++ vld1q_u16(_sse2neon_cmpestr_mask16b)); \ ++ dst = vreinterpretq_m128i_u16(vbslq_u16( \ ++ tmp, vdupq_n_u16(-1), vreinterpretq_u16_m128i(dst))); \ ++ } else { \ ++ uint8x16_t vec_r2 = \ ++ vcombine_u8(vdup_n_u8(r2), vdup_n_u8(r2 >> 8)); \ ++ uint8x16_t tmp = \ ++ vtstq_u8(vec_r2, vld1q_u8(_sse2neon_cmpestr_mask8b)); \ ++ dst = vreinterpretq_m128i_u8( \ ++ vbslq_u8(tmp, vdupq_n_u8(-1), vreinterpretq_u8_m128i(dst))); \ ++ } \ ++ } else { \ ++ if (bound == 16) { \ ++ dst = vreinterpretq_m128i_u16( \ ++ vsetq_lane_u16(r2 & 0xffff, vreinterpretq_u16_m128i(dst), 0)); \ ++ } else { \ ++ dst = vreinterpretq_m128i_u8( \ ++ vsetq_lane_u8(r2 & 0xff, vreinterpretq_u8_m128i(dst), 0)); \ ++ } \ ++ } \ ++ return dst ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and returns 1 if b did not contain a null character and the ++// resulting mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestra ++FORCE_INLINE int _mm_cmpestra(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ int lb_cpy = lb; ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return !r2 & (lb_cpy > bound); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrc ++FORCE_INLINE int _mm_cmpestrc(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestri ++FORCE_INLINE int _mm_cmpestri(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrm ++FORCE_INLINE __m128i ++_mm_cmpestrm(__m128i a, int la, __m128i b, int lb, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestro ++FORCE_INLINE int _mm_cmpestro(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrs ++FORCE_INLINE int _mm_cmpestrs(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) lb; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrz ++FORCE_INLINE int _mm_cmpestrz(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) la; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return lb <= (bound - 1); ++} ++ ++#define SSE2NEON_CMPISTRX_LENGTH(str, len, imm8) \ ++ do { \ ++ if (imm8 & 0x01) { \ ++ uint16x8_t equal_mask_##str = \ ++ vceqq_u16(vreinterpretq_u16_m128i(str), vdupq_n_u16(0)); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 3; \ ++ } else { \ ++ uint16x8_t equal_mask_##str = vreinterpretq_u16_u8( \ ++ vceqq_u8(vreinterpretq_u8_m128i(str), vdupq_n_u8(0))); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 2; \ ++ } \ ++ } while (0) ++ ++#define SSE2NEON_CMPISTRX_LEN_PAIR(a, b, la, lb) \ ++ int la, lb; \ ++ do { \ ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); \ ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); \ ++ } while (0) ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if b did not contain a null character and the resulting ++// mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistra ++FORCE_INLINE int _mm_cmpistra(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return !r2 & (lb >= bound); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrc ++FORCE_INLINE int _mm_cmpistrc(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistri ++FORCE_INLINE int _mm_cmpistri(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrm ++FORCE_INLINE __m128i _mm_cmpistrm(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistro ++FORCE_INLINE int _mm_cmpistro(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrs ++FORCE_INLINE int _mm_cmpistrs(__m128i a, __m128i b, const int imm8) ++{ ++ (void) b; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int la; ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrz ++FORCE_INLINE int _mm_cmpistrz(__m128i a, __m128i b, const int imm8) ++{ ++ (void) a; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int lb; ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); ++ return lb <= (bound - 1); ++} ++ ++// Compares the 2 signed 64-bit integers in a and the 2 signed 64-bit integers ++// in b for greater than. ++FORCE_INLINE __m128i _mm_cmpgt_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vcgtq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ return vreinterpretq_m128i_s64(vshrq_n_s64( ++ vqsubq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)), ++ 63)); ++#endif ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 16-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u16 ++FORCE_INLINE uint32_t _mm_crc32_u16(uint32_t crc, uint16_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32ch %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32ch(crc, v); ++#else ++ crc = _mm_crc32_u8(crc, v & 0xff); ++ crc = _mm_crc32_u8(crc, (v >> 8) & 0xff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 32-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u32 ++FORCE_INLINE uint32_t _mm_crc32_u32(uint32_t crc, uint32_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cw %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cw(crc, v); ++#else ++ crc = _mm_crc32_u16(crc, v & 0xffff); ++ crc = _mm_crc32_u16(crc, (v >> 16) & 0xffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 64-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u64 ++FORCE_INLINE uint64_t _mm_crc32_u64(uint64_t crc, uint64_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cx %w[c], %w[c], %x[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cd((uint32_t) crc, v); ++#else ++ crc = _mm_crc32_u32((uint32_t) (crc), v & 0xffffffff); ++ crc = _mm_crc32_u32((uint32_t) (crc), (v >> 32) & 0xffffffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 8-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u8 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t crc, uint8_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cb %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cb(crc, v); ++#else ++ crc ^= v; ++#if defined(__ARM_FEATURE_CRYPTO) ++ // Adapted from: https://mary.rs/lab/crc32/ ++ // Barrent reduction ++ uint64x2_t orig = ++ vcombine_u64(vcreate_u64((uint64_t) (crc) << 24), vcreate_u64(0x0)); ++ uint64x2_t tmp = orig; ++ ++ // Polynomial P(x) of CRC32C ++ uint64_t p = 0x105EC76F1; ++ // Barrett Reduction (in bit-reflected form) constant mu_{64} = \lfloor ++ // 2^{64} / P(x) \rfloor = 0x11f91caf6 ++ uint64_t mu = 0x1dea713f1; ++ ++ // Multiply by mu_{64} ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(mu)); ++ // Divide by 2^{64} (mask away the unnecessary bits) ++ tmp = ++ vandq_u64(tmp, vcombine_u64(vcreate_u64(0xFFFFFFFF), vcreate_u64(0x0))); ++ // Multiply by P(x) (shifted left by 1 for alignment reasons) ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(p)); ++ // Subtract original from result ++ tmp = veorq_u64(tmp, orig); ++ ++ // Extract the 'lower' (in bit-reflected sense) 32 bits ++ crc = vgetq_lane_u32(vreinterpretq_u32_u64(tmp), 1); ++#else // Fall back to the generic table lookup approach ++ // Adapted from: https://create.stephan-brumme.com/crc32/ ++ // Apply half-byte comparison algorithm for the best ratio between ++ // performance and lookup table. ++ ++ // The lookup table just needs to store every 16th entry ++ // of the standard look-up table. ++ static const uint32_t crc32_half_byte_tbl[] = { ++ 0x00000000, 0x105ec76f, 0x20bd8ede, 0x30e349b1, 0x417b1dbc, 0x5125dad3, ++ 0x61c69362, 0x7198540d, 0x82f63b78, 0x92a8fc17, 0xa24bb5a6, 0xb21572c9, ++ 0xc38d26c4, 0xd3d3e1ab, 0xe330a81a, 0xf36e6f75, ++ }; ++ ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++#endif ++#endif ++ return crc; ++} ++ ++/* AES */ ++ ++#if !defined(__ARM_FEATURE_CRYPTO) && (!defined(_M_ARM64) || defined(__clang__)) ++/* clang-format off */ ++#define SSE2NEON_AES_SBOX(w) \ ++ { \ ++ w(0x63), w(0x7c), w(0x77), w(0x7b), w(0xf2), w(0x6b), w(0x6f), \ ++ w(0xc5), w(0x30), w(0x01), w(0x67), w(0x2b), w(0xfe), w(0xd7), \ ++ w(0xab), w(0x76), w(0xca), w(0x82), w(0xc9), w(0x7d), w(0xfa), \ ++ w(0x59), w(0x47), w(0xf0), w(0xad), w(0xd4), w(0xa2), w(0xaf), \ ++ w(0x9c), w(0xa4), w(0x72), w(0xc0), w(0xb7), w(0xfd), w(0x93), \ ++ w(0x26), w(0x36), w(0x3f), w(0xf7), w(0xcc), w(0x34), w(0xa5), \ ++ w(0xe5), w(0xf1), w(0x71), w(0xd8), w(0x31), w(0x15), w(0x04), \ ++ w(0xc7), w(0x23), w(0xc3), w(0x18), w(0x96), w(0x05), w(0x9a), \ ++ w(0x07), w(0x12), w(0x80), w(0xe2), w(0xeb), w(0x27), w(0xb2), \ ++ w(0x75), w(0x09), w(0x83), w(0x2c), w(0x1a), w(0x1b), w(0x6e), \ ++ w(0x5a), w(0xa0), w(0x52), w(0x3b), w(0xd6), w(0xb3), w(0x29), \ ++ w(0xe3), w(0x2f), w(0x84), w(0x53), w(0xd1), w(0x00), w(0xed), \ ++ w(0x20), w(0xfc), w(0xb1), w(0x5b), w(0x6a), w(0xcb), w(0xbe), \ ++ w(0x39), w(0x4a), w(0x4c), w(0x58), w(0xcf), w(0xd0), w(0xef), \ ++ w(0xaa), w(0xfb), w(0x43), w(0x4d), w(0x33), w(0x85), w(0x45), \ ++ w(0xf9), w(0x02), w(0x7f), w(0x50), w(0x3c), w(0x9f), w(0xa8), \ ++ w(0x51), w(0xa3), w(0x40), w(0x8f), w(0x92), w(0x9d), w(0x38), \ ++ w(0xf5), w(0xbc), w(0xb6), w(0xda), w(0x21), w(0x10), w(0xff), \ ++ w(0xf3), w(0xd2), w(0xcd), w(0x0c), w(0x13), w(0xec), w(0x5f), \ ++ w(0x97), w(0x44), w(0x17), w(0xc4), w(0xa7), w(0x7e), w(0x3d), \ ++ w(0x64), w(0x5d), w(0x19), w(0x73), w(0x60), w(0x81), w(0x4f), \ ++ w(0xdc), w(0x22), w(0x2a), w(0x90), w(0x88), w(0x46), w(0xee), \ ++ w(0xb8), w(0x14), w(0xde), w(0x5e), w(0x0b), w(0xdb), w(0xe0), \ ++ w(0x32), w(0x3a), w(0x0a), w(0x49), w(0x06), w(0x24), w(0x5c), \ ++ w(0xc2), w(0xd3), w(0xac), w(0x62), w(0x91), w(0x95), w(0xe4), \ ++ w(0x79), w(0xe7), w(0xc8), w(0x37), w(0x6d), w(0x8d), w(0xd5), \ ++ w(0x4e), w(0xa9), w(0x6c), w(0x56), w(0xf4), w(0xea), w(0x65), \ ++ w(0x7a), w(0xae), w(0x08), w(0xba), w(0x78), w(0x25), w(0x2e), \ ++ w(0x1c), w(0xa6), w(0xb4), w(0xc6), w(0xe8), w(0xdd), w(0x74), \ ++ w(0x1f), w(0x4b), w(0xbd), w(0x8b), w(0x8a), w(0x70), w(0x3e), \ ++ w(0xb5), w(0x66), w(0x48), w(0x03), w(0xf6), w(0x0e), w(0x61), \ ++ w(0x35), w(0x57), w(0xb9), w(0x86), w(0xc1), w(0x1d), w(0x9e), \ ++ w(0xe1), w(0xf8), w(0x98), w(0x11), w(0x69), w(0xd9), w(0x8e), \ ++ w(0x94), w(0x9b), w(0x1e), w(0x87), w(0xe9), w(0xce), w(0x55), \ ++ w(0x28), w(0xdf), w(0x8c), w(0xa1), w(0x89), w(0x0d), w(0xbf), \ ++ w(0xe6), w(0x42), w(0x68), w(0x41), w(0x99), w(0x2d), w(0x0f), \ ++ w(0xb0), w(0x54), w(0xbb), w(0x16) \ ++ } ++#define SSE2NEON_AES_RSBOX(w) \ ++ { \ ++ w(0x52), w(0x09), w(0x6a), w(0xd5), w(0x30), w(0x36), w(0xa5), \ ++ w(0x38), w(0xbf), w(0x40), w(0xa3), w(0x9e), w(0x81), w(0xf3), \ ++ w(0xd7), w(0xfb), w(0x7c), w(0xe3), w(0x39), w(0x82), w(0x9b), \ ++ w(0x2f), w(0xff), w(0x87), w(0x34), w(0x8e), w(0x43), w(0x44), \ ++ w(0xc4), w(0xde), w(0xe9), w(0xcb), w(0x54), w(0x7b), w(0x94), \ ++ w(0x32), w(0xa6), w(0xc2), w(0x23), w(0x3d), w(0xee), w(0x4c), \ ++ w(0x95), w(0x0b), w(0x42), w(0xfa), w(0xc3), w(0x4e), w(0x08), \ ++ w(0x2e), w(0xa1), w(0x66), w(0x28), w(0xd9), w(0x24), w(0xb2), \ ++ w(0x76), w(0x5b), w(0xa2), w(0x49), w(0x6d), w(0x8b), w(0xd1), \ ++ w(0x25), w(0x72), w(0xf8), w(0xf6), w(0x64), w(0x86), w(0x68), \ ++ w(0x98), w(0x16), w(0xd4), w(0xa4), w(0x5c), w(0xcc), w(0x5d), \ ++ w(0x65), w(0xb6), w(0x92), w(0x6c), w(0x70), w(0x48), w(0x50), \ ++ w(0xfd), w(0xed), w(0xb9), w(0xda), w(0x5e), w(0x15), w(0x46), \ ++ w(0x57), w(0xa7), w(0x8d), w(0x9d), w(0x84), w(0x90), w(0xd8), \ ++ w(0xab), w(0x00), w(0x8c), w(0xbc), w(0xd3), w(0x0a), w(0xf7), \ ++ w(0xe4), w(0x58), w(0x05), w(0xb8), w(0xb3), w(0x45), w(0x06), \ ++ w(0xd0), w(0x2c), w(0x1e), w(0x8f), w(0xca), w(0x3f), w(0x0f), \ ++ w(0x02), w(0xc1), w(0xaf), w(0xbd), w(0x03), w(0x01), w(0x13), \ ++ w(0x8a), w(0x6b), w(0x3a), w(0x91), w(0x11), w(0x41), w(0x4f), \ ++ w(0x67), w(0xdc), w(0xea), w(0x97), w(0xf2), w(0xcf), w(0xce), \ ++ w(0xf0), w(0xb4), w(0xe6), w(0x73), w(0x96), w(0xac), w(0x74), \ ++ w(0x22), w(0xe7), w(0xad), w(0x35), w(0x85), w(0xe2), w(0xf9), \ ++ w(0x37), w(0xe8), w(0x1c), w(0x75), w(0xdf), w(0x6e), w(0x47), \ ++ w(0xf1), w(0x1a), w(0x71), w(0x1d), w(0x29), w(0xc5), w(0x89), \ ++ w(0x6f), w(0xb7), w(0x62), w(0x0e), w(0xaa), w(0x18), w(0xbe), \ ++ w(0x1b), w(0xfc), w(0x56), w(0x3e), w(0x4b), w(0xc6), w(0xd2), \ ++ w(0x79), w(0x20), w(0x9a), w(0xdb), w(0xc0), w(0xfe), w(0x78), \ ++ w(0xcd), w(0x5a), w(0xf4), w(0x1f), w(0xdd), w(0xa8), w(0x33), \ ++ w(0x88), w(0x07), w(0xc7), w(0x31), w(0xb1), w(0x12), w(0x10), \ ++ w(0x59), w(0x27), w(0x80), w(0xec), w(0x5f), w(0x60), w(0x51), \ ++ w(0x7f), w(0xa9), w(0x19), w(0xb5), w(0x4a), w(0x0d), w(0x2d), \ ++ w(0xe5), w(0x7a), w(0x9f), w(0x93), w(0xc9), w(0x9c), w(0xef), \ ++ w(0xa0), w(0xe0), w(0x3b), w(0x4d), w(0xae), w(0x2a), w(0xf5), \ ++ w(0xb0), w(0xc8), w(0xeb), w(0xbb), w(0x3c), w(0x83), w(0x53), \ ++ w(0x99), w(0x61), w(0x17), w(0x2b), w(0x04), w(0x7e), w(0xba), \ ++ w(0x77), w(0xd6), w(0x26), w(0xe1), w(0x69), w(0x14), w(0x63), \ ++ w(0x55), w(0x21), w(0x0c), w(0x7d) \ ++ } ++/* clang-format on */ ++ ++/* X Macro trick. See https://en.wikipedia.org/wiki/X_Macro */ ++#define SSE2NEON_AES_H0(x) (x) ++static const uint8_t _sse2neon_sbox[256] = SSE2NEON_AES_SBOX(SSE2NEON_AES_H0); ++static const uint8_t _sse2neon_rsbox[256] = SSE2NEON_AES_RSBOX(SSE2NEON_AES_H0); ++#undef SSE2NEON_AES_H0 ++ ++/* x_time function and matrix multiply function */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#define SSE2NEON_XT(x) (((x) << 1) ^ ((((x) >> 7) & 1) * 0x1b)) ++#define SSE2NEON_MULTIPLY(x, y) \ ++ (((y & 1) * x) ^ ((y >> 1 & 1) * SSE2NEON_XT(x)) ^ \ ++ ((y >> 2 & 1) * SSE2NEON_XT(SSE2NEON_XT(x))) ^ \ ++ ((y >> 3 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))) ^ \ ++ ((y >> 4 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))))) ++#endif ++ ++// In the absence of crypto extensions, implement aesenc using regular NEON ++// intrinsics instead. See: ++// https://www.workofard.com/2017/01/accelerated-aes-for-the-arm64-linux-kernel/ ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/ and ++// for more information. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ /* shift rows */ ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ /* sub bytes */ ++ // Here, we separate the whole 256-bytes table into 4 64-bytes tables, and ++ // look up each of the table. After each lookup, we load the next table ++ // which locates at the next 64-bytes. In the meantime, the index in the ++ // table would be smaller than it was, so the index parameters of ++ // `vqtbx4q_u8()` need to be added the same constant as the loaded tables. ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ // 'w-0x40' equals to 'vsubq_u8(w, vdupq_n_u8(0x40))' ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ /* mix columns */ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ /* add round key */ ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A implementation for a table-based AES */ ++#define SSE2NEON_AES_B2W(b0, b1, b2, b3) \ ++ (((uint32_t) (b3) << 24) | ((uint32_t) (b2) << 16) | \ ++ ((uint32_t) (b1) << 8) | (uint32_t) (b0)) ++// multiplying 'x' by 2 in GF(2^8) ++#define SSE2NEON_AES_F2(x) ((x << 1) ^ (((x >> 7) & 1) * 0x011b /* WPOLY */)) ++// multiplying 'x' by 3 in GF(2^8) ++#define SSE2NEON_AES_F3(x) (SSE2NEON_AES_F2(x) ^ x) ++#define SSE2NEON_AES_U0(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F2(p), p, p, SSE2NEON_AES_F3(p)) ++#define SSE2NEON_AES_U1(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p, p) ++#define SSE2NEON_AES_U2(p) \ ++ SSE2NEON_AES_B2W(p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p) ++#define SSE2NEON_AES_U3(p) \ ++ SSE2NEON_AES_B2W(p, p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p)) ++ ++ // this generates a table containing every possible permutation of ++ // shift_rows() and sub_bytes() with mix_columns(). ++ static const uint32_t ALIGN_STRUCT(16) aes_table[4][256] = { ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U0), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U1), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U2), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U3), ++ }; ++#undef SSE2NEON_AES_B2W ++#undef SSE2NEON_AES_F2 ++#undef SSE2NEON_AES_F3 ++#undef SSE2NEON_AES_U0 ++#undef SSE2NEON_AES_U1 ++#undef SSE2NEON_AES_U2 ++#undef SSE2NEON_AES_U3 ++ ++ uint32_t x0 = _mm_cvtsi128_si32(a); // get a[31:0] ++ uint32_t x1 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); // get a[63:32] ++ uint32_t x2 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xAA)); // get a[95:64] ++ uint32_t x3 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); // get a[127:96] ++ ++ // finish the modulo addition step in mix_columns() ++ __m128i out = _mm_set_epi32( ++ (aes_table[0][x3 & 0xff] ^ aes_table[1][(x0 >> 8) & 0xff] ^ ++ aes_table[2][(x1 >> 16) & 0xff] ^ aes_table[3][x2 >> 24]), ++ (aes_table[0][x2 & 0xff] ^ aes_table[1][(x3 >> 8) & 0xff] ^ ++ aes_table[2][(x0 >> 16) & 0xff] ^ aes_table[3][x1 >> 24]), ++ (aes_table[0][x1 & 0xff] ^ aes_table[1][(x2 >> 8) & 0xff] ^ ++ aes_table[2][(x3 >> 16) & 0xff] ^ aes_table[3][x0 >> 24]), ++ (aes_table[0][x0 & 0xff] ^ aes_table[1][(x1 >> 8) & 0xff] ^ ++ aes_table[2][(x2 >> 16) & 0xff] ^ aes_table[3][x3 >> 24])); ++ ++ return _mm_xor_si128(out, RoundKey); ++#endif ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // inverse mix columns ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & ++ 0x1b); // multiplying 'v' by 2 in GF(2^8) ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ // inverse mix columns ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ // sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A implementation */ ++ uint8_t v[16] = { ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 0)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 5)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 10)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 15)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 4)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 9)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 14)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 3)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 8)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 13)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 2)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 7)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 12)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 1)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 6)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 11)], ++ }; ++ ++ return vreinterpretq_m128i_u8(vld1q_u8(v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (int i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++#if defined(__aarch64__) ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ uint8x16_t v = vreinterpretq_u8_m128i(a); ++ uint8x16_t w; ++ ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ // multiplying 'v' by 2 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ return vreinterpretq_m128i_u8(w); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ vst1q_u8((uint8_t *) v, vreinterpretq_u8_m128i(a)); ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)); ++#endif ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++// ++// Emits the Advanced Encryption Standard (AES) instruction aeskeygenassist. ++// This instruction generates a round key for AES encryption. See ++// https://kazakov.life/2017/11/01/cryptocurrency-mining-on-ios-devices/ ++// for details. ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++#if defined(__aarch64__) ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); ++ uint8x16_t v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), _a); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), _a - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), _a - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), _a - 0xc0); ++ ++ uint32x4_t v_u32 = vreinterpretq_u32_u8(v); ++ uint32x4_t ror_v = vorrq_u32(vshrq_n_u32(v_u32, 8), vshlq_n_u32(v_u32, 24)); ++ uint32x4_t ror_xor_v = veorq_u32(ror_v, vdupq_n_u32(rcon)); ++ ++ return vreinterpretq_m128i_u32(vtrn2q_u32(v_u32, ror_xor_v)); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint32_t X1 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); ++ uint32_t X3 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); ++ for (int i = 0; i < 4; ++i) { ++ ((uint8_t *) &X1)[i] = _sse2neon_sbox[((uint8_t *) &X1)[i]]; ++ ((uint8_t *) &X3)[i] = _sse2neon_sbox[((uint8_t *) &X3)[i]]; ++ } ++ return _mm_set_epi32(((X3 >> 8) | (X3 << 24)) ^ rcon, X3, ++ ((X1 >> 8) | (X1 << 24)) ^ rcon, X1); ++#endif ++} ++#undef SSE2NEON_AES_SBOX ++#undef SSE2NEON_AES_RSBOX ++ ++#if defined(__aarch64__) ++#undef SSE2NEON_XT ++#undef SSE2NEON_MULTIPLY ++#endif ++ ++#else /* __ARM_FEATURE_CRYPTO */ ++// Implements equivalent of 'aesenc' by combining AESE (with an empty key) and ++// AESMC and then manually applying the real key as an xor operation. This ++// unfortunately means an additional xor op; the compiler should be able to ++// optimize this away for repeated calls however. See ++// https://blog.michaelbrase.com/2018/05/08/emulating-x86-aes-intrinsics-on-armv8-a ++// for more details. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesmcq_u8(vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(b))); ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesimcq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return _mm_xor_si128(vreinterpretq_m128i_u8(vaeseq_u8( ++ vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ RoundKey); ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8( ++ veorq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++ return vreinterpretq_m128i_u8(vaesimcq_u8(vreinterpretq_u8_m128i(a))); ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst." ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++ // AESE does ShiftRows and SubBytes on A ++ uint8x16_t u8 = vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)); ++ ++#ifndef _MSC_VER ++ uint8x16_t dest = { ++ // Undo ShiftRows step from AESE and extract X1 and X3 ++ u8[0x4], u8[0x1], u8[0xE], u8[0xB], // SubBytes(X1) ++ u8[0x1], u8[0xE], u8[0xB], u8[0x4], // ROT(SubBytes(X1)) ++ u8[0xC], u8[0x9], u8[0x6], u8[0x3], // SubBytes(X3) ++ u8[0x9], u8[0x6], u8[0x3], u8[0xC], // ROT(SubBytes(X3)) ++ }; ++ uint32x4_t r = {0, (unsigned) rcon, 0, (unsigned) rcon}; ++ return vreinterpretq_m128i_u8(dest) ^ vreinterpretq_m128i_u32(r); ++#else ++ // We have to do this hack because MSVC is strictly adhering to the CPP ++ // standard, in particular C++03 8.5.1 sub-section 15, which states that ++ // unions must be initialized by their first member type. ++ ++ // As per the Windows ARM64 ABI, it is always little endian, so this works ++ __n128 dest{ ++ ((uint64_t) u8.n128_u8[0x4] << 0) | ((uint64_t) u8.n128_u8[0x1] << 8) | ++ ((uint64_t) u8.n128_u8[0xE] << 16) | ++ ((uint64_t) u8.n128_u8[0xB] << 24) | ++ ((uint64_t) u8.n128_u8[0x1] << 32) | ++ ((uint64_t) u8.n128_u8[0xE] << 40) | ++ ((uint64_t) u8.n128_u8[0xB] << 48) | ++ ((uint64_t) u8.n128_u8[0x4] << 56), ++ ((uint64_t) u8.n128_u8[0xC] << 0) | ((uint64_t) u8.n128_u8[0x9] << 8) | ++ ((uint64_t) u8.n128_u8[0x6] << 16) | ++ ((uint64_t) u8.n128_u8[0x3] << 24) | ++ ((uint64_t) u8.n128_u8[0x9] << 32) | ++ ((uint64_t) u8.n128_u8[0x6] << 40) | ++ ((uint64_t) u8.n128_u8[0x3] << 48) | ++ ((uint64_t) u8.n128_u8[0xC] << 56)}; ++ ++ dest.n128_u32[1] = dest.n128_u32[1] ^ rcon; ++ dest.n128_u32[3] = dest.n128_u32[3] ^ rcon; ++ ++ return dest; ++#endif ++} ++#endif ++ ++/* Others */ ++ ++// Perform a carry-less multiplication of two 64-bit integers, selected from a ++// and b according to imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clmulepi64_si128 ++FORCE_INLINE __m128i _mm_clmulepi64_si128(__m128i _a, __m128i _b, const int imm) ++{ ++ uint64x2_t a = vreinterpretq_u64_m128i(_a); ++ uint64x2_t b = vreinterpretq_u64_m128i(_b); ++ switch (imm & 0x11) { ++ case 0x00: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_low_u64(b))); ++ case 0x01: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_low_u64(b))); ++ case 0x10: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_high_u64(b))); ++ case 0x11: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_high_u64(b))); ++ default: ++ abort(); ++ } ++} ++ ++FORCE_INLINE unsigned int _sse2neon_mm_get_denormals_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_DENORMALS_ZERO_ON : _MM_DENORMALS_ZERO_OFF; ++} ++ ++// Count the number of bits set to 1 in unsigned 32-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u32 ++FORCE_INLINE int _mm_popcnt_u32(unsigned int a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcount) ++ return __builtin_popcount(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits(a); ++#else ++ return (int) vaddlv_u8(vcnt_u8(vcreate_u8((uint64_t) a))); ++#endif ++#else ++ uint32_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ ++ vst1_u32(&count, count32x2_val); ++ return count; ++#endif ++} ++ ++// Count the number of bits set to 1 in unsigned 64-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u64 ++FORCE_INLINE int64_t _mm_popcnt_u64(uint64_t a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcountll) ++ return __builtin_popcountll(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits64(a); ++#else ++ return (int64_t) vaddlv_u8(vcnt_u8(vcreate_u8(a))); ++#endif ++#else ++ uint64_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ uint64x1_t count64x1_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ count64x1_val = vpaddl_u32(count32x2_val); ++ vst1_u64(&count, count64x1_val); ++ return count; ++#endif ++} ++ ++FORCE_INLINE void _sse2neon_mm_set_denormals_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_DENORMALS_ZERO_MASK) == _MM_DENORMALS_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Return the current 64-bit value of the processor's time-stamp counter. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=rdtsc ++FORCE_INLINE uint64_t _rdtsc(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t val; ++ ++ /* According to ARM DDI 0487F.c, from Armv8.0 to Armv8.5 inclusive, the ++ * system counter is at least 56 bits wide; from Armv8.6, the counter ++ * must be 64 bits wide. So the system counter could be less than 64 ++ * bits wide and it is attributed with the flag 'cap_user_time_short' ++ * is true. ++ */ ++#if defined(_MSC_VER) ++ val = _ReadStatusReg(ARM64_SYSREG(3, 3, 14, 0, 2)); ++#else ++ __asm__ __volatile__("mrs %0, cntvct_el0" : "=r"(val)); ++#endif ++ ++ return val; ++#else ++ uint32_t pmccntr, pmuseren, pmcntenset; ++ // Read the user mode Performance Monitoring Unit (PMU) ++ // User Enable Register (PMUSERENR) access permissions. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c14, 0" : "=r"(pmuseren)); ++ if (pmuseren & 1) { // Allows reading PMUSERENR for user mode code. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c12, 1" : "=r"(pmcntenset)); ++ if (pmcntenset & 0x80000000UL) { // Is it counting? ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c13, 0" : "=r"(pmccntr)); ++ // The counter is set up to count every 64th cycle ++ return (uint64_t) (pmccntr) << 6; ++ } ++ } ++ ++ // Fallback to syscall as we can't enable PMUSERENR in user mode. ++ struct timeval tv; ++ gettimeofday(&tv, NULL); ++ return (uint64_t) (tv.tv_sec) * 1000000 + tv.tv_usec; ++#endif ++} ++ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma pop_macro("ALIGN_STRUCT") ++#pragma pop_macro("FORCE_INLINE") ++#pragma pop_macro("FORCE_INLINE_OPTNONE") ++#endif ++ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma GCC pop_options ++#endif ++ ++#endif diff --git a/recipes/chromap/meta.yaml b/recipes/chromap/meta.yaml index 1805040802a97..db405e9472056 100644 --- a/recipes/chromap/meta.yaml +++ b/recipes/chromap/meta.yaml @@ -1,15 +1,19 @@ -{% set version = "0.2.5" %} +{% set version = "0.2.6" %} package: name: chromap version: {{ version }} build: - number: 2 + number: 1 + run_exports: + - {{ pin_subpackage('chromap', max_pin="x.x") }} source: url: https://github.com/haowenz/chromap/archive/refs/tags/v{{ version }}.tar.gz - sha256: 9cc77d7412304d41a0a419ba1da11e6794c1dab73cee2e2d71957376b1ddbc7a + sha256: bea2fc76bd7d8931f69db0b63aef19e50070b24c0ab1415569b59d490fff42e8 + patches: + - chromap-aarch64.patch # [aarch64 or arm64] requirements: build: @@ -28,6 +32,13 @@ test: about: home: https://github.com/haowenz/chromap - license: GPL-3.0 + license: MIT + license_family: MIT license_file: LICENSE summary: Fast alignment and preprocessing of chromatin profiles + doc_url: https://zhanghaowen.com/chromap/ + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/chromhmm/meta.yaml b/recipes/chromhmm/meta.yaml index 76da70b8016ab..22303f5fee131 100644 --- a/recipes/chromhmm/meta.yaml +++ b/recipes/chromhmm/meta.yaml @@ -1,5 +1,5 @@ {% set name = "ChromHMM" %} -{% set version = "1.24" %} +{% set version = "1.25" %} package: name: {{ name|lower }} @@ -8,10 +8,12 @@ package: build: number: 0 noarch: generic + run_exports: + - {{ pin_subpackage('chromhmm', max_pin=None) }} source: url: https://github.com/jernst98/{{ name }}/archive/v{{ version }}.tar.gz - sha256: 84e14ebb78c197abe946007e72965296980339d4e3155604bf6c6734319af30c + sha256: 96b5773f7400835f16cc1d86d4e42e6dcc038e74569311cd73da2d5c5002a5d2 requirements: run: @@ -27,6 +29,7 @@ about: home: https://github.com/jernst98/ChromHMM license: GPLv3 summary: 'ChromHMM is software for learning and characterizing chromatin states. ChromHMM can integrate multiple chromatin datasets such as ChIP-seq data of various histone modifications to discover de novo the major re-occuring combinatorial and spatial patterns of marks.' + license_file: LICENSE extra: notes: 'ChromHMM comes with about 36MB of example data which is not included in the recipe. This recipe installs a script, "download_chromhmm_data.sh", which downloads the data in the proper location, and which can be run after ChromHMM has been installed.' diff --git a/recipes/chromograph/meta.yaml b/recipes/chromograph/meta.yaml index 17ef1fb5263cb..559bb6398e177 100644 --- a/recipes/chromograph/meta.yaml +++ b/recipes/chromograph/meta.yaml @@ -7,8 +7,10 @@ package: build: noarch: python - number: 1 + number: 2 script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv" + run_exports: + - {{ pin_subpackage('chromograph', max_pin="x.x") }} source: url: https://github.com/Clinical-Genomics/chromograph/archive/refs/tags/v{{version}}.tar.gz @@ -16,11 +18,11 @@ source: requirements: host: - - python >=3.7,<3.10 + - python ==3.9 - pip run: - - python >=3.7,<3.10 - - matplotlib-base + - python ==3.9 + - matplotlib-base ==3.5.3 - numpy >=1.15 - pyaml - pandas diff --git a/recipes/chromsize/build.sh b/recipes/chromsize/build.sh new file mode 100644 index 0000000000000..9543cf881c80c --- /dev/null +++ b/recipes/chromsize/build.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +set -xe + +# build statically linked binary with Rust +RUST_BACKTRACE=1 cargo install --verbose --path ./chromsize/ --root ${PREFIX} diff --git a/recipes/chromsize/meta.yaml b/recipes/chromsize/meta.yaml new file mode 100644 index 0000000000000..e28195bb187a3 --- /dev/null +++ b/recipes/chromsize/meta.yaml @@ -0,0 +1,40 @@ +{% set name = "chromsize" %} +{% set version = "0.0.2" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/alejandrogzi/{{ name }}/archive/refs/tags/v.{{ version }}.tar.gz + sha256: e0358a7a36a74b24b8cbb9034b8060de90d1af867baa66bc093192df9734bd40 + +build: + number: 0 + run_exports: + - {{ pin_subpackage('chromsize', max_pin="x.x") }} + +requirements: + build: + - {{ compiler("cxx") }} + - {{ compiler("rust") }} + - pkg-config + +test: + commands: + - chromsize --help + - chromsize --version + +about: + home: https://github.com/alejandrogzi/chromsize + license: MIT + license_family: MIT + license_file: LICENSE + summary: "just get your chrom sizes" + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + recipe-maintainers: + - alejandrogzi diff --git a/recipes/chronumental/meta.yaml b/recipes/chronumental/meta.yaml index 72c19011e38a4..430c1b3165792 100644 --- a/recipes/chronumental/meta.yaml +++ b/recipes/chronumental/meta.yaml @@ -1,5 +1,5 @@ {% set name = "chronumental" %} -{% set version = "0.0.63" %} +{% set version = "0.0.65" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/chronumental-{{ version }}.tar.gz - sha256: f008bae186592447609cdd51ad940e0474b61a6c0ce9db1b44ed317d3b02f35f + sha256: 3bfa5bca03a466c32a2393db2c978acb1abce9eb0f0edaeb00c922d64c73d50c build: noarch: python diff --git a/recipes/cialign/meta.yaml b/recipes/cialign/meta.yaml index ac8c68cee8c7e..c5ed51812c5b5 100644 --- a/recipes/cialign/meta.yaml +++ b/recipes/cialign/meta.yaml @@ -1,5 +1,5 @@ {% set name = "cialign" %} -{% set version = "1.1.0" %} +{% set version = "1.1.4" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 8244cd7402ce7a9eea2bec2ca7954ef58b01408537c962611e60d7eb97a43966 + sha256: 95e40f956e004e9e482e18249af7803276843df9fce7d81cc11f7fe46c083d1e build: number: 0 @@ -22,13 +22,17 @@ requirements: - matplotlib-base - numpy - pillow + - pandas + - scipy - pip - python >=3.6 run: - configargparse - matplotlib-base - numpy + - scipy - pillow + - pandas - python >=3.6 test: diff --git a/recipes/circulocov/meta.yaml b/recipes/circulocov/meta.yaml new file mode 100644 index 0000000000000..ac4cd3556ab77 --- /dev/null +++ b/recipes/circulocov/meta.yaml @@ -0,0 +1,51 @@ +{% set name = "circulocov" %} +{% set version = "0.1.20240104" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + sha256: 6c585c90e63ff5ce4028157cb7f943f4abb679234daadb0349778bfb8141cd87 + +build: + number: 0 + noarch: python + entry_points: + - circulocov=circulocov.circulocov:main + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('circulocov', max_pin='x') }} + +requirements: + host: + - python >=3.8,<4.0 + - pip + run: + - python >=3.8,<4.0 + - matplotlib-base >=3.8.2 + - biopython >=1.58 + - numpy >=1.26.2 + - pandas >=2.1.4 + - pysam >=0.22.0 + - pycirclize >=1.3.0 + - minimap2 >=2.25 + +test: + imports: + - circulocov + commands: + - circulocov --help + +about: + home: https://github.com/erinyoung/CirculoCov + license: GPL-3.0 + license_family: GPL + license_file: LICENSE + summary: CirculoCov is a Python tool designed for circular-aware coverage analysis of draft genomes + doc_url: https://github.com/erinyoung/CirculoCov/blob/main/README.md + +extra: + recipe-maintainers: + - erinyoung diff --git a/recipes/ciri-full/CIRI-full.patch b/recipes/ciri-full/CIRI-full.patch new file mode 100644 index 0000000000000..c3deb3e8ad4ad --- /dev/null +++ b/recipes/ciri-full/CIRI-full.patch @@ -0,0 +1,10 @@ +diff --git a/bin/CIRI_AS_v1.2/CIRI_AS_v1.2.pl b/bin/CIRI_AS_v1.2/CIRI_AS_v1.2.pl +index b551610..adf6628 100755 +--- a/bin/CIRI_AS_v1.2/CIRI_AS_v1.2.pl ++++ b/bin/CIRI_AS_v1.2/CIRI_AS_v1.2.pl +@@ -1,3 +1,5 @@ ++#!/usr/bin/env perl ++ + ############################################################################ + # Copyright (c) 2011-2015 BIOLS, CAS + # All Rights Reserved diff --git a/recipes/ciri-full/build.sh b/recipes/ciri-full/build.sh new file mode 100644 index 0000000000000..cba7a0a8f6349 --- /dev/null +++ b/recipes/ciri-full/build.sh @@ -0,0 +1,25 @@ +#!/bin/bash -euo + +make + +mkdir -p $PREFIX/bin + +cp bin/CIRI-Full_v2.1.2.jar $PREFIX/bin/CIRI-full.jar + +# Create a wrapper script to run the jar file +# Command is java -jar $PREFIX/bin/CIRI-full.jar +# Use /usr/bin/env java +cat > $PREFIX/bin/CIRI-full < 0: ++ if len(umis_per_cell) <= args.expected_cells: ++ print( ++ "Number of expected cells, {}, is higher " ++ "than number of cells found {}.\nNot performing" ++ "cell barcode correction" ++ "".format(args.expected_cells, len(umis_per_cell)) ++ ) ++ bcs_corrected = 0 ++ else: ++ print("Correcting cell barcodes") ++ if not whitelist: ++ ( ++ final_results, ++ umis_per_cell, ++ bcs_corrected, ++ ) = processing.correct_cells( + final_results=final_results, + reads_per_cell=reads_per_cell, + umis_per_cell=umis_per_cell, + expected_cells=args.expected_cells, + collapsing_threshold=args.bc_threshold, +- ab_map=ordered_tags_map) +- else: +- ( +- final_results, +- umis_per_cell, +- bcs_corrected) = processing.correct_cells_whitelist( ++ ab_map=ordered_tags_map, ++ ) ++ else: ++ ( ++ final_results, ++ umis_per_cell, ++ bcs_corrected, ++ ) = processing.correct_cells_whitelist( + final_results=final_results, + umis_per_cell=umis_per_cell, + whitelist=whitelist, + collapsing_threshold=args.bc_threshold, +- ab_map=ordered_tags_map) ++ ab_map=ordered_tags_map, ++ ) ++ else: ++ bcs_corrected = 0 + + # If given, use whitelist for top cells + if whitelist: +@@ -420,78 +573,75 @@ def main(): + top_cells_tuple = umis_per_cell.most_common(args.expected_cells) + top_cells = set([pair[0] for pair in top_cells_tuple]) + +- #UMI correction ++ # UMI correction + + if args.no_umi_correction: +- #Don't correct ++ # Don't correct + umis_corrected = 0 + aberrant_cells = set() + else: +- #Correct UMIS +- ( +- final_results, +- umis_corrected, +- aberrant_cells +- ) = processing.correct_umis( ++ # Correct UMIS ++ (final_results, umis_corrected, aberrant_cells) = processing.correct_umis( + final_results=final_results, + collapsing_threshold=args.umi_threshold, + top_cells=top_cells, +- max_umis=20000) ++ max_umis=20000, ++ ) + +- #Remove aberrant cells from the top cells ++ # Remove aberrant cells from the top cells + for cell_barcode in aberrant_cells: + top_cells.remove(cell_barcode) + +- #Create sparse aberrant cells matrix +- ( +- umi_aberrant_matrix, +- read_aberrant_matrix +- ) = processing.generate_sparse_matrices( ++ # Create sparse aberrant cells matrix ++ (umi_aberrant_matrix, read_aberrant_matrix) = processing.generate_sparse_matrices( + final_results=final_results, + ordered_tags_map=ordered_tags_map, +- top_cells=aberrant_cells) +- +- #Write uncorrected cells to dense output ++ top_cells=aberrant_cells, ++ ) ++ ++ # Write uncorrected cells to dense output + io.write_dense( +- sparse_matrix=umi_aberrant_matrix, +- index=list(ordered_tags_map.keys()), +- columns=aberrant_cells, +- outfolder=os.path.join(args.outfolder,'uncorrected_cells'), +- filename='dense_umis.tsv') +- +- #Create sparse matrices for results +- ( +- umi_results_matrix, +- read_results_matrix +- ) = processing.generate_sparse_matrices( ++ sparse_matrix=umi_aberrant_matrix, ++ index=list(ordered_tags_map.keys()), ++ columns=aberrant_cells, ++ outfolder=os.path.join(args.outfolder, "uncorrected_cells"), ++ filename="dense_umis.tsv", ++ ) ++ ++ # Create sparse matrices for results ++ (umi_results_matrix, read_results_matrix) = processing.generate_sparse_matrices( + final_results=final_results, + ordered_tags_map=ordered_tags_map, +- top_cells=top_cells) +- ++ top_cells=top_cells, ++ ) ++ + # Write umis to file + io.write_to_files( + sparse_matrix=umi_results_matrix, + top_cells=top_cells, + ordered_tags_map=ordered_tags_map, +- data_type='umi', +- outfolder=args.outfolder) +- ++ data_type="umi", ++ outfolder=args.outfolder, ++ ) ++ + # Write reads to file + io.write_to_files( + sparse_matrix=read_results_matrix, + top_cells=top_cells, + ordered_tags_map=ordered_tags_map, +- data_type='read', +- outfolder=args.outfolder) +- +- #Write unmapped sequences ++ data_type="read", ++ outfolder=args.outfolder, ++ ) ++ ++ # Write unmapped sequences + io.write_unmapped( + merged_no_match=merged_no_match, + top_unknowns=args.unknowns_top, + outfolder=args.outfolder, +- filename=args.unmapped_file) +- +- #Create report and write it to disk ++ filename=args.unmapped_file, ++ ) ++ ++ # Create report and write it to disk + create_report( + n_reads=n_reads, + reads_per_cell=reads_per_cell, +@@ -502,17 +652,20 @@ def main(): + umis_corrected=umis_corrected, + bcs_corrected=bcs_corrected, + bad_cells=aberrant_cells, +- args=args) +- +- #Write dense matrix to disk if requested ++ args=args, ++ ) ++ ++ # Write dense matrix to disk if requested + if args.dense: +- print('Writing dense format output') ++ print("Writing dense format output") + io.write_dense( + sparse_matrix=umi_results_matrix, + index=list(ordered_tags_map.keys()), + columns=top_cells, + outfolder=args.outfolder, +- filename='dense_umis.tsv') ++ filename="dense_umis.tsv", ++ ) ++ + +-if __name__ == '__main__': ++if __name__ == "__main__": + main() +diff --git a/setup.py b/setup.py +index 819e30c..6423bc3 100644 +--- a/setup.py ++++ b/setup.py +@@ -5,7 +5,7 @@ with open("README.md", "r") as fh: + + setuptools.setup( + name="CITE-seq-Count", +- version="1.4.4", ++ version="1.4.5", + author="Roelli Patrick", + author_email="patrick.roelli@gmail.com", + description="A python package to map reads from CITE-seq or hashing data for single cell experiments", diff --git a/recipes/cite-seq-count/0002-pytest_deps.patch b/recipes/cite-seq-count/0002-pytest_deps.patch new file mode 100644 index 0000000000000..08b5a7c38a9cd --- /dev/null +++ b/recipes/cite-seq-count/0002-pytest_deps.patch @@ -0,0 +1,17 @@ +diff --git a/setup.py b/setup.py +index 819e30c..832c108 100644 +--- a/setup.py ++++ b/setup.py +@@ -21,9 +21,9 @@ setuptools.setup( + "python-levenshtein>=0.12.0", + "scipy>=1.1.0", + "multiprocess>=0.70.6.1", +- "umi_tools==1.0.0", +- "pytest==4.1.0", +- "pytest-dependency==0.4.0", ++ "umi_tools>=1.1.5", ++ "pytest>=4.1.0", ++ "pytest-dependency>=0.4.0", + "pandas>=0.23.4", + "pybktree==1.1", + ], diff --git a/recipes/cite-seq-count/meta.yaml b/recipes/cite-seq-count/meta.yaml index 21c798bf66609..dd1d6ffc1de9a 100644 --- a/recipes/cite-seq-count/meta.yaml +++ b/recipes/cite-seq-count/meta.yaml @@ -1,36 +1,32 @@ + {% set name = "CITE-seq-Count" %} {% set version = "1.4.4" %} {% set sha256 = "1245c0dabf2c2ee80f9afcac4c70bb97c2d8b5aea73adfcfc7062e3984d57e39" %} package: name: "{{ name|lower }}" - version: "{{ version }}" + version: "1.4.5" source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" sha256: {{ sha256 }} patches: - - pytest_deps.patch + - 0001-setup.py.patch + - 0002-pytest_deps.patch build: number: 0 noarch: python entry_points: - CITE-seq-Count = cite_seq_count.__main__:main - script: "{{ PYTHON }} -m pip install . -vv --no-deps" + script: "{{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir" + run_exports: + - {{ pin_subpackage('cite-seq-count', max_pin="x") }} requirements: host: - python >=3.6 - - multiprocess >=0.70.6.1 - - pandas >=0.23.4 - pip - - pybktree ==1.1 - - pytest - - pytest-dependency - - python-levenshtein >=0.12.0 - - scipy >=1.1.0 - - umi_tools ==1.0.0 run: - python >=3.6 - multiprocess >=0.70.6.1 @@ -40,7 +36,7 @@ requirements: - pytest-dependency - python-levenshtein >=0.12.0 - scipy >=1.1.0 - - umi_tools ==1.0.0 + - umi_tools >=1.1.5 test: imports: @@ -49,17 +45,18 @@ test: - CITE-seq-Count --help about: - home: "https://hoohm.github.io/CITE-seq-Count/" + home: "https://hoohm.github.io/CITE-seq-Count" license: MIT license_family: MIT license_file: LICENSE - summary: "A python package to map reads from CITE-seq or hashing data for single cell experiments" - doc_url: "https://hoohm.github.io/CITE-seq-Count/" - dev_url: "https://github.com/Hoohm/CITE-seq-Count/" + summary: "A python package to map reads from CITE-seq or hashing data for single cell experiments." + doc_url: "https://hoohm.github.io/CITE-seq-Count" + dev_url: "https://github.com/Hoohm/CITE-seq-Count" extra: recipe-maintainers: - acaprez identifiers: - biotools:CITE-seq-Count + - usegalaxy-eu:cite_seq_count - doi:10.5281/zenodo.2590196 diff --git a/recipes/cite-seq-count/pytest_deps.patch b/recipes/cite-seq-count/pytest_deps.patch deleted file mode 100644 index c60eb0a601bcd..0000000000000 --- a/recipes/cite-seq-count/pytest_deps.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- setup.py.org 2021-10-01 00:42:34.157107978 -0500 -+++ setup.py 2021-10-01 00:42:52.500079923 -0500 -@@ -22,8 +22,8 @@ - "scipy>=1.1.0", - "multiprocess>=0.70.6.1", - "umi_tools==1.0.0", -- "pytest==4.1.0", -- "pytest-dependency==0.4.0", -+ "pytest>=4.1.0", -+ "pytest-dependency>=0.4.0", - "pandas>=0.23.4", - "pybktree==1.1", - ], ---- CITE_seq_Count.egg-info/requires.txt.org 2021-10-01 00:43:01.952065465 -0500 -+++ CITE_seq_Count.egg-info/requires.txt 2021-10-01 00:43:10.664052138 -0500 -@@ -2,7 +2,7 @@ - scipy>=1.1.0 - multiprocess>=0.70.6.1 - umi_tools==1.0.0 --pytest==4.1.0 --pytest-dependency==0.4.0 -+pytest>=4.1.0 -+pytest-dependency>=0.4.0 - pandas>=0.23.4 - pybktree==1.1 diff --git a/recipes/civicpy/meta.yaml b/recipes/civicpy/meta.yaml index e757499136520..77239de90f9bc 100644 --- a/recipes/civicpy/meta.yaml +++ b/recipes/civicpy/meta.yaml @@ -1,5 +1,5 @@ {% set name = "civicpy" %} -{% set version = "3.0.0" %} +{% set version = "3.1.2" %} package: name: "{{ name|lower }}" @@ -7,29 +7,23 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 6aa80d2e37718b6a646a2adee5d2432f1a8fa87d6d13fd6e3de11a6834a0ba77 + sha256: c702723367fec4c7cefbac86def0ef64749f12bda120300e43e6540387ce1a7b build: number: 0 - noarch: generic + noarch: python entry_points: - civicpy=civicpy.cli:cli - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('civicpy', max_pin="x") }} requirements: - host: - - backports-datetime-fromisoformat =2.0.0 - - click - - deprecation - - networkx - - obonet =0.2.3 - - pandas + host: - pip - - pysam - python >=3.5 - - requests - - vcfpy run: + - python >=3.5 - backports-datetime-fromisoformat =2.0.0 - click - deprecation @@ -37,7 +31,6 @@ requirements: - obonet =0.2.3 - pandas - pysam - - python >=3.5 - requests - vcfpy diff --git a/recipes/clair3-illumina/build.sh b/recipes/clair3-illumina/build.sh index 91ce406b0b6f3..63c71150a4330 100755 --- a/recipes/clair3-illumina/build.sh +++ b/recipes/clair3-illumina/build.sh @@ -5,7 +5,3 @@ cp -rv preprocess/realign $PREFIX/bin/preprocess cd $PREFIX/bin/preprocess/realign $CXX -std=c++14 -O1 -shared -fPIC -o realigner ssw_cpp.cpp ssw.c realigner.cpp $CXX -std=c++11 -shared -fPIC -o debruijn_graph -O3 debruijn_graph.cpp -I $PREFIX/include -L $PREFIX/lib - - - - diff --git a/recipes/clair3-illumina/meta.yaml b/recipes/clair3-illumina/meta.yaml index 711765d55c0c3..22db4a4e6d969 100644 --- a/recipes/clair3-illumina/meta.yaml +++ b/recipes/clair3-illumina/meta.yaml @@ -1,5 +1,5 @@ {% set name = "clair3-illumina" %} -{% set version = "1.0.4" %} +{% set version = "1.0.10" %} package: name: {{ name }} @@ -7,11 +7,13 @@ package: source: url: https://github.com/HKU-BAL/Clair3/archive/refs/tags/v{{ version }}.zip - sha256: 886e4b8f12df65b69c2eba2f02a95a57582cc2a78d4b84941b9afe98a3616ac3 + sha256: e8114dec1ef768d5ecdbf3b0734f41c69c95fee543d999b841bd6bfb8be64ea8 build: number: 0 skip: True # [osx] + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: build: @@ -20,6 +22,7 @@ requirements: - boost-cpp run: - clair3 + test: imports: - tensorflow @@ -30,5 +33,11 @@ test: about: home: 'https://github.com/HKU-BAL/Clair3' license: BSD-3-Clause + license_family: BSD license_file: LICENSE.md summary: "Clair3 with libraries to support variant calling using Illumina short-reads. Version in sync with Clair3." + dev_url: 'https://github.com/HKU-BAL/Clair3' + +extra: + identifiers: + - doi:10.1038/s43588-022-00387-x diff --git a/recipes/clair3-trio/meta.yaml b/recipes/clair3-trio/meta.yaml index f0eb01ee32e20..7ac1658755bff 100644 --- a/recipes/clair3-trio/meta.yaml +++ b/recipes/clair3-trio/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 0ce6c0ebd0db1c7fb9e0a0ecd39d7bdf54ec15de2c1c1a77ec54448141057b63 build: - number: 0 + number: 1 skip: True # [osx] requirements: diff --git a/recipes/clair3/meta.yaml b/recipes/clair3/meta.yaml index 7994450c7be40..6fe7acdc26c4d 100644 --- a/recipes/clair3/meta.yaml +++ b/recipes/clair3/meta.yaml @@ -1,5 +1,5 @@ {% set name = "clair3" %} -{% set version = "1.0.4" %} +{% set version = "1.0.10" %} package: name: {{ name }} @@ -7,10 +7,10 @@ package: source: url: http://www.bio8.cs.hku.hk/clair3/bioconda/Clair3_v{{ version }}.zip - sha256: aa7b7d7db44488c58122f12fec73ea0ca1feea0c6bd10199ca18a00b9308330d + sha256: b2de8180d3825f9e1ed4ee1710ce0988dd85eba79ab8bdaf2ad8dae7ac70e228 build: - number: 3 + number: 0 skip: True # [osx] run_exports: - {{ pin_subpackage(name, max_pin="x") }} diff --git a/recipes/classpro/meta.yaml b/recipes/classpro/meta.yaml new file mode 100644 index 0000000000000..fc856a68ba9b6 --- /dev/null +++ b/recipes/classpro/meta.yaml @@ -0,0 +1,37 @@ +{% set name = "ClassPro" %} +{% set version = "1.0.2" %} +{% set sha256 = "2ae4e71ca3b1f8e31d1b55d607dcde58a4de84966f1d92a3c3a04e6ead167a61" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: "https://github.com/yoshihikosuzuki/ClassPro/releases/download/v{{ version }}/classpro-v{{ version }}_linux.tar.gz" + sha256: {{ sha256 }} + +build: + noarch: generic + number: 0 + script: + - "mkdir -p $PREFIX/bin" + - "cp $SRC_DIR/bin/* $PREFIX/bin/" + - "chmod u+x $PREFIX/bin/ClassPro $PREFIX/bin/ClassGS $PREFIX/bin/prof2class $PREFIX/bin/class2acc $PREFIX/bin/class2cns" + run_exports: + - {{ pin_subpackage("classpro", max_pin="x") }} + +requirements: + host: + - bzip2 + - zlib + - libcurl + + +test: + commands: + - which ClassPro + +about: + license: https://github.com/yoshihikosuzuki/ClassPro/blob/main/LICENSE + summary: A K-mer classifier for HiFi reads . + home: https://github.com/yoshihikosuzuki/ClassPro/ diff --git a/recipes/clermontyping/build.sh b/recipes/clermontyping/build.sh new file mode 100644 index 0000000000000..1fe3da3fdd2e6 --- /dev/null +++ b/recipes/clermontyping/build.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +set -xe + +CLERMONTYPING="${PREFIX}/share/${PKG_NAME}-${PKG_VERSION}" +mkdir -p ${PREFIX}/bin ${CLERMONTYPING} + +# Use the share folder of R scripts and reference data +mv ${SRC_DIR}/bin ${CLERMONTYPING} +mv ${SRC_DIR}/data ${CLERMONTYPING} +chmod 755 ${CLERMONTYPING}/bin/* + +# Edit Wrapper to use Share Folder +sed -E -i "s,^(MY_PATH=.*),\1/../share/${PKG_NAME}-${PKG_VERSION}," $SRC_DIR/clermonTyping.sh + +# Copy wrapper into bin +cp $SRC_DIR/clermonTyping.sh ${PREFIX}/bin/ +chmod 755 ${PREFIX}/bin/clermonTyping.sh diff --git a/recipes/clermontyping/meta.yaml b/recipes/clermontyping/meta.yaml new file mode 100644 index 0000000000000..4b11f2423666a --- /dev/null +++ b/recipes/clermontyping/meta.yaml @@ -0,0 +1,48 @@ +{% set version = "24.02" %} +{% set sha256 = "89f36b76e17b1102adb9933e96f8e15e0f5e915b671ccd07f70a9bce3f073e5b" %} + +package: + name: "clermontyping" + version: '{{version}}' + +source: + url: https://github.com/happykhan/ClermonTyping/archive/refs/tags/{{version}}.tar.gz + sha256: '{{sha256}}' + +build: + number: 1 + noarch: generic + run_exports: + - {{ pin_subpackage('clermontyping', max_pin=None) }} + +requirements: + host: + - python >=3.8 + run: + - blast + - biopython + - r-readr + - r-dplyr + - r-tidyr + - r-stringr + - r-knitr + - r-rmarkdown + - r-markdown + - pandoc + - mash + +test: + commands: + - clermonTyping.sh -h + +about: + home: "https://github.com/happykhan/ClermonTyping" + summary: " determine the Clermont E coli phylotype" + license: GPL-3.0-only + license_family: GPL + license_file: 'LICENSE' + description: 'Determines the Clermont phylotype of a given E coli strain by performing in silico quadriplex PCR' + +extra: + recipe-maintainers: + - happykhan diff --git a/recipes/clever-toolkit/build.sh b/recipes/clever-toolkit/build.sh index fa3b7590b12ce..53f4ac043f208 100644 --- a/recipes/clever-toolkit/build.sh +++ b/recipes/clever-toolkit/build.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -xe + cmake -DCMAKE_INSTALL_PREFIX=$PREFIX -DBOOST_ROOT=$PREFIX -DBoost_NO_SYSTEM_PATHS=ON -DCMAKE_CXX_COMPILER=${CXX} . -VERBOSE=TRUE make +VERBOSE=TRUE make -j ${CPU_COUNT} make install diff --git a/recipes/clever-toolkit/meta.yaml b/recipes/clever-toolkit/meta.yaml index 3492589f79b43..a39ea2bc78283 100644 --- a/recipes/clever-toolkit/meta.yaml +++ b/recipes/clever-toolkit/meta.yaml @@ -5,8 +5,9 @@ package: version: {{ version }} build: - number: 12 + number: 13 run_exports: + - {{ pin_subpackage("clever-toolkit", max_pin="x") }} - {{ pin_compatible('boost-cpp', max_pin='x.x') }} - {{ pin_compatible('zlib', max_pin='x.x') }} @@ -39,7 +40,14 @@ test: about: home: https://bitbucket.org/tobiasmarschall/clever-toolkit - license: GPL3 + license: GPL-3.0-only license_file: LICENSE + license_family: GPL3 summary: The CLEVER Toolkit description: CTK is a suite of tools to analyze next-generation sequencing data and, in particular, to discover and genotype insertions and deletions from paired-end reads. + dev_url: https://bitbucket.org/tobiasmarschall/clever-toolkit + doc_url: https://bitbucket.org/tobiasmarschall/clever-toolkit/wiki/Home + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/clinker-py/meta.yaml b/recipes/clinker-py/meta.yaml index da86b0606b7dd..88ceab35216f8 100644 --- a/recipes/clinker-py/meta.yaml +++ b/recipes/clinker-py/meta.yaml @@ -1,6 +1,5 @@ {% set name = "clinker" %} -{% set version = "0.0.28" %} - +{% set version = "0.0.30" %} package: name: {{ name }}-py @@ -8,19 +7,23 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 2198d5bdbef75d5cb3224449666c3cc79f3d79459ade694e1bcdf1bf62c4a007 + sha256: 42901ab26945d436ff462528579f7354abe2bb1df7910d6bf16669a57fcfb1ff build: number: 0 noarch: python - script: {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + entry_points: + - clinker=clinker.main:main + run_exports: + - {{ pin_subpackage('clinker-py', max_pin="x.x") }} requirements: host: - pip - - python + - python >=3.6 run: - - python + - python >=3.6 - disjoint-set >=0.7.1 - biopython >=1.78 - numpy >=1.13.3 @@ -36,7 +39,10 @@ about: license: MIT license_family: MIT summary: "Gene cluster comparison figure generator" + dev_url: "https://github.com/gamcil/clinker" + doc_url: "https://github.com/gamcil/clinker/blob/master/README.md" extra: identifiers: - - doi:10.5281/zenodo.4326585 + - doi:10.1093/bioinformatics/btab007 + - biotools:clinker diff --git a/recipes/clinvar-this/meta.yaml b/recipes/clinvar-this/meta.yaml index c2c2405ee7076..7902d97a06e40 100644 --- a/recipes/clinvar-this/meta.yaml +++ b/recipes/clinvar-this/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.12.0" %} -{% set sha256 = "af2bc01c9b5a761e0e26ee6d4fcea80692943dc790cb52f2e60ba1db644ecc49" %} +{% set version = "0.18.2" %} +{% set sha256 = "b3064769e3cf62bd19d12523d391496bce96ce2c057df2b49e53f922ef1369fb" %} package: name: clinvar-this diff --git a/recipes/clipandmerge/LICENSE b/recipes/clipandmerge/LICENSE new file mode 100644 index 0000000000000..9cecc1d4669ee --- /dev/null +++ b/recipes/clipandmerge/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {one line to give the program's name and a brief idea of what it does.} + Copyright (C) {year} {name of author} + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + {project} Copyright (C) {year} {fullname} + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/recipes/clipandmerge/clipandmerge.py b/recipes/clipandmerge/clipandmerge.py index 4ee16451cc972..7c28c1f5f1081 100755 --- a/recipes/clipandmerge/clipandmerge.py +++ b/recipes/clipandmerge/clipandmerge.py @@ -11,7 +11,7 @@ import sys import subprocess from os import access, getenv, X_OK -jar_file = 'ClipAndMerge-1.7.8.jar' +jar_file = 'ClipAndMerge-1.7.9.jar' default_jvm_mem_opts = ['-Xms512m', '-Xmx1g'] diff --git a/recipes/clipandmerge/meta.yaml b/recipes/clipandmerge/meta.yaml index 85cd37f69f1ed..285ccf03cd358 100644 --- a/recipes/clipandmerge/meta.yaml +++ b/recipes/clipandmerge/meta.yaml @@ -1,16 +1,18 @@ -{% set version = "1.7.8" %} +{% set version = "1.7.9" %} package: name: clipandmerge version: {{ version }} source: - url: https://github.com/apeltzer/ClipAndMerge/releases/download/v{{ version }}/ClipAndMerge-{{ version }}.jar - md5: 548e403bf12d9709949fd74236205a01 + url: https://github.com/apeltzer/ClipAndMerge/releases/download/{{ version }}/ClipAndMerge-{{ version }}.jar + md5: 2951ba364b4a5add18caf21459291cfe build: noarch: generic - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage('clipandmerge', max_pin="x") }} requirements: run: @@ -24,4 +26,5 @@ test: about: home: https://github.com/apeltzer/ClipAndMerge license: GPLv3 + license_file: LICENSE summary: Clip&Merge is a tool to clip off adapters from sequencing reads and merge overlapping paired end reads together. diff --git a/recipes/clipkit/meta.yaml b/recipes/clipkit/meta.yaml index 561c6ffd1651e..f1259b6f9302f 100644 --- a/recipes/clipkit/meta.yaml +++ b/recipes/clipkit/meta.yaml @@ -1,5 +1,5 @@ {% set name = "clipkit" %} -{% set version = "2.1.1" %} +{% set version = "2.3.0" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 21120216b1211db5dfbd97e575af882072e90065872aefdf1b34d55544ea881c + sha256: 6e4f39f7b0e99b89de17aa57a26d1a7c6a1c064203b4fd436b413ad7d2e57ce5 build: number: 0 diff --git a/recipes/clippy/meta.yaml b/recipes/clippy/meta.yaml index d0948b1f86c5b..53f2af39d28f4 100644 --- a/recipes/clippy/meta.yaml +++ b/recipes/clippy/meta.yaml @@ -10,29 +10,33 @@ source: sha256: 1fc00fd3df22524cb28974b7aae2d5fc20c6c23c5b84312dbc09ea275cebcf86 build: - number: 0 + number: 1 entry_points: - clippy = clip:main script: "{{ PYTHON }} -m pip install . -vv --ignore-installed --no-deps" noarch: python + run_exports: + - {{ pin_subpackage("clippy", max_pin='x.x') }} requirements: host: - pip - - python>=3.8 + - python >=3.8 + - openssl run: - - python>=3.8 - - bedtools=2.26.0 - - numpy>=1.19.0,<1.20.3 - - numpy-base>=1.19.0,<1.20.3 + - python >=3.8 + - bedtools =2.26.0 + - samtools =1.9 + - openssl + - numpy >=1.19.0,<1.20.3 - numpydoc - pandas - pybedtools - scipy - matplotlib-base - - dash=1.20.0 - - dash-bootstrap-components=0.11.3 - - werkzeug=2.0.0 + - dash =1.20.0 + - dash-bootstrap-components =0.11.3 + - werkzeug =2.0.0 test: imports: diff --git a/recipes/cloci/meta.yaml b/recipes/cloci/meta.yaml new file mode 100644 index 0000000000000..ca9f38a84593d --- /dev/null +++ b/recipes/cloci/meta.yaml @@ -0,0 +1,58 @@ +{% set name = "cloci" %} +{% set version = "0.3.1" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/cloci-{{ version }}.tar.gz + sha256: 2bf3eff7a017174633337d72b1c221098aca161b6d55d362e34a4c5bcc62c17d + +build: + number: 1 + noarch: python + entry_points: + - cloci = cloci.main:cli + - cloci2enrich = cloci.tools.cloci2enrich:cli + - cloci2stats = cloci.tools.cloci2stats:cli + - hg2hg_net = cloci.tools.hg2hg_net:cli + - hlg2biofile = cloci.tools.hlg2biofile:cli + - hlg2hlg_net = cloci.tools.hlg2hlg_net:cli + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + script_env: + - SETUPTOOLS_SCM_PRETEND_VERSION={{ version }} + run_exports: + - {{ pin_subpackage('cloci', max_pin="x.x") }} + +requirements: + host: + - python >=3 + - setuptools-scm + - pip + run: + - python >=3 + - mycotools + - cogent3 + - tqdm + - plotly + - graph-tool + +test: + imports: + - cloci + commands: + - cloci --help + - update_mtdb --help + +about: + home: https://github.com/xonq/cloci + summary: "Co-occurrence Locus and Orthologous Cluster Identifier." + license: AGPL-3.0-only + license_family: AGPL + license_file: LICENSE + dev_url: https://github.com/xonq/cloci + +extra: + recipe-maintainers: + - xonq diff --git a/recipes/clonalframeml/meta.yaml b/recipes/clonalframeml/meta.yaml index e90bef289093c..eb47de77ebb1c 100644 --- a/recipes/clonalframeml/meta.yaml +++ b/recipes/clonalframeml/meta.yaml @@ -1,13 +1,18 @@ +{% set name = "clonalframeml" %} +{% set version = "1.13" %} + package: - name: clonalframeml - version: "1.12" + name: {{ name }} + version: {{ version }} build: - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage('clonalframeml', max_pin="x") }} source: - url: https://github.com/xavierdidelot/ClonalFrameML/archive/v1.12.tar.gz - sha256: ef76705c1a0f1343184f956cd0bdc96c2cfdbb998177330b09b6df84c74c2de6 + url: https://github.com/xavierdidelot/ClonalFrameML/archive/refs/tags/v{{ version }}.tar.gz + sha256: 6056109380c695020afa0c26f4ce49dcb9267f1a8f26dfb42629bfa63ac25e6e requirements: build: @@ -20,6 +25,8 @@ test: about: home: https://github.com/xavierdidelot/ClonalFrameML - license: GPLv3 + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE summary: Efficient inferencing of recombination in bacterial genomes - + doc_url: https://github.com/xavierdidelot/clonalframeml/wiki diff --git a/recipes/clustalo/build.sh b/recipes/clustalo/build.sh index 41aa12050e103..7e25d7c16114b 100644 --- a/recipes/clustalo/build.sh +++ b/recipes/clustalo/build.sh @@ -1,5 +1,8 @@ #!/bin/bash +# use newer config.guess and config.sub that support linux-aarch64 +cp ${RECIPE_DIR}/config.* . + export CPPFLAGS="-I$PREFIX/include" export LDFLAGS="-L$PREFIX/lib" @@ -9,7 +12,7 @@ if [ "$(uname)" == "Darwin" ]; then else ./configure --prefix=$PREFIX OPENMP_CFLAGS='-fopenmp' CFLAGS='-DHAVE_OPENMP' fi -make +make -j ${CPU_COUNT} mkdir -p $PREFIX/bin cp $SRC_DIR/src/clustalo $PREFIX/bin/$PKG_NAME diff --git a/recipes/clustalo/config.guess b/recipes/clustalo/config.guess new file mode 100644 index 0000000000000..1972fda8eb05d --- /dev/null +++ b/recipes/clustalo/config.guess @@ -0,0 +1,1700 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright 1992-2021 Free Software Foundation, Inc. + +timestamp='2021-01-25' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). +# +# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. +# +# You can get the latest version of this script from: +# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess +# +# Please send patches to . + + +me=$(echo "$0" | sed -e 's,.*/,,') + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright 1992-2021 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +tmp= +# shellcheck disable=SC2172 +trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 + +set_cc_for_build() { + # prevent multiple calls if $tmp is already set + test "$tmp" && return 0 + : "${TMPDIR=/tmp}" + # shellcheck disable=SC2039 + { tmp=$( (umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null) && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } + dummy=$tmp/dummy + case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in + ,,) echo "int x;" > "$dummy.c" + for driver in cc gcc c89 c99 ; do + if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then + CC_FOR_BUILD="$driver" + break + fi + done + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; + esac +} + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if test -f /.attbin/uname ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=$( (uname -m) 2>/dev/null) || UNAME_MACHINE=unknown +UNAME_RELEASE=$( (uname -r) 2>/dev/null) || UNAME_RELEASE=unknown +UNAME_SYSTEM=$( (uname -s) 2>/dev/null) || UNAME_SYSTEM=unknown +UNAME_VERSION=$( (uname -v) 2>/dev/null) || UNAME_VERSION=unknown + +case "$UNAME_SYSTEM" in +Linux|GNU|GNU/*) + LIBC=unknown + + set_cc_for_build + cat <<-EOF > "$dummy.c" + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #elif defined(__GLIBC__) + LIBC=gnu + #else + #include + /* First heuristic to detect musl libc. */ + #ifdef __DEFINED_va_list + LIBC=musl + #endif + #endif + EOF + eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g')" + + # Second heuristic to detect musl libc. + if [ "$LIBC" = unknown ] && + command -v ldd >/dev/null && + ldd --version 2>&1 | grep -q ^musl; then + LIBC=musl + fi + + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + if [ "$LIBC" = unknown ]; then + LIBC=gnu + fi + ;; +esac + +# Note: order is significant - the case branches are not exclusive. + +case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + UNAME_MACHINE_ARCH=$( (uname -p 2>/dev/null || \ + /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + echo unknown)) + case "$UNAME_MACHINE_ARCH" in + aarch64eb) machine=aarch64_be-unknown ;; + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + earmv*) + arch=$(echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,') + endian=$(echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p') + machine="${arch}${endian}"-unknown + ;; + *) machine="$UNAME_MACHINE_ARCH"-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently (or will in the future) and ABI. + case "$UNAME_MACHINE_ARCH" in + earm*) + os=netbsdelf + ;; + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ELF__ + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # Determine ABI tags. + case "$UNAME_MACHINE_ARCH" in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' + abi=$(echo "$UNAME_MACHINE_ARCH" | sed -e "$expr") + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "$UNAME_VERSION" in + Debian*) + release='-gnu' + ;; + *) + release=$(echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2) + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "$machine-${os}${release}${abi-}" + exit ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=$(arch | sed 's/Bitrig.//') + echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=$(arch | sed 's/OpenBSD.//') + echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" + exit ;; + *:LibertyBSD:*:*) + UNAME_MACHINE_ARCH=$(arch | sed 's/^.*BSD\.//') + echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" + exit ;; + *:MidnightBSD:*:*) + echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" + exit ;; + *:ekkoBSD:*:*) + echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" + exit ;; + *:SolidBSD:*:*) + echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" + exit ;; + *:OS108:*:*) + echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE" + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd"$UNAME_RELEASE" + exit ;; + *:MirBSD:*:*) + echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" + exit ;; + *:Sortix:*:*) + echo "$UNAME_MACHINE"-unknown-sortix + exit ;; + *:Twizzler:*:*) + echo "$UNAME_MACHINE"-unknown-twizzler + exit ;; + *:Redox:*:*) + echo "$UNAME_MACHINE"-unknown-redox + exit ;; + mips:OSF1:*.*) + echo mips-dec-osf1 + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $3}') + ;; + *5.*) + UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $4}') + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=$(/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1) + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE=alpha ;; + "EV4.5 (21064)") + UNAME_MACHINE=alpha ;; + "LCA4 (21066/21068)") + UNAME_MACHINE=alpha ;; + "EV5 (21164)") + UNAME_MACHINE=alphaev5 ;; + "EV5.6 (21164A)") + UNAME_MACHINE=alphaev56 ;; + "EV5.6 (21164PC)") + UNAME_MACHINE=alphapca56 ;; + "EV5.7 (21164PC)") + UNAME_MACHINE=alphapca57 ;; + "EV6 (21264)") + UNAME_MACHINE=alphaev6 ;; + "EV6.7 (21264A)") + UNAME_MACHINE=alphaev67 ;; + "EV6.8CB (21264C)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8AL (21264B)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8CX (21264D)") + UNAME_MACHINE=alphaev68 ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE=alphaev69 ;; + "EV7 (21364)") + UNAME_MACHINE=alphaev7 ;; + "EV7.9 (21364A)") + UNAME_MACHINE=alphaev79 ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo "$UNAME_MACHINE"-dec-osf"$(echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz)" + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + exitcode=$? + trap '' 0 + exit $exitcode ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo "$UNAME_MACHINE"-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo "$UNAME_MACHINE"-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix"$UNAME_RELEASE" + exit ;; + arm*:riscos:*:*|arm*:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "$( (/bin/universe) 2>/dev/null)" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case $(/usr/bin/uname -p) in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + s390x:SunOS:*:*) + echo "$UNAME_MACHINE"-ibm-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')" + exit ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')" + exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux"$UNAME_RELEASE" + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + set_cc_for_build + SUN_ARCH=i386 + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH=x86_64 + fi + fi + echo "$SUN_ARCH"-pc-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" + exit ;; + sun4*:SunOS:*:*) + case "$(/usr/bin/arch -k)" in + Series*|S4*) + UNAME_RELEASE=$(uname -v) + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/')" + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos"$UNAME_RELEASE" + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=$( (sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null) + test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 + case "$(/bin/arch)" in + sun3) + echo m68k-sun-sunos"$UNAME_RELEASE" + ;; + sun4) + echo sparc-sun-sunos"$UNAME_RELEASE" + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos"$UNAME_RELEASE" + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint"$UNAME_RELEASE" + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint"$UNAME_RELEASE" + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint"$UNAME_RELEASE" + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint"$UNAME_RELEASE" + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint"$UNAME_RELEASE" + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint"$UNAME_RELEASE" + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten"$UNAME_RELEASE" + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten"$UNAME_RELEASE" + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix"$UNAME_RELEASE" + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix"$UNAME_RELEASE" + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix"$UNAME_RELEASE" + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && + dummyarg=$(echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p') && + SYSTEM_NAME=$("$dummy" "$dummyarg") && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos"$UNAME_RELEASE" + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=$(/usr/bin/uname -p) + if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 + then + if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ + test "$TARGET_BINARY_INTERFACE"x = x + then + echo m88k-dg-dgux"$UNAME_RELEASE" + else + echo m88k-dg-dguxbcs"$UNAME_RELEASE" + fi + else + echo i586-dg-dgux"$UNAME_RELEASE" + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/g')" + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'$(uname -s)'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if test -x /usr/bin/oslevel ; then + IBM_REV=$(/usr/bin/oslevel) + else + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" + fi + echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[4567]) + IBM_CPU_ID=$(/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }') + if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if test -x /usr/bin/lslpp ; then + IBM_REV=$(/usr/bin/lslpp -Lqc bos.rte.libc | + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/) + else + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" + fi + echo "$IBM_ARCH"-ibm-aix"$IBM_REV" + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//') + case "$UNAME_MACHINE" in + 9000/31?) HP_ARCH=m68000 ;; + 9000/[34]??) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if test -x /usr/bin/getconf; then + sc_cpu_version=$(/usr/bin/getconf SC_CPU_VERSION 2>/dev/null) + sc_kernel_bits=$(/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null) + case "$sc_cpu_version" in + 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 + 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "$sc_kernel_bits" in + 32) HP_ARCH=hppa2.0n ;; + 64) HP_ARCH=hppa2.0w ;; + '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 + esac ;; + esac + fi + if test "$HP_ARCH" = ""; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=$("$dummy") + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if test "$HP_ARCH" = hppa2.0w + then + set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | + grep -q __LP64__ + then + HP_ARCH=hppa2.0w + else + HP_ARCH=hppa64 + fi + fi + echo "$HP_ARCH"-hp-hpux"$HPUX_REV" + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//') + echo ia64-hp-hpux"$HPUX_REV" + exit ;; + 3050*:HI-UX:*:*) + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if test -x /usr/sbin/sysversion ; then + echo "$UNAME_MACHINE"-unknown-osf1mk + else + echo "$UNAME_MACHINE"-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=$(uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz) + FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///') + FUJITSU_REL=$(echo "$UNAME_RELEASE" | sed -e 's/ /_/') + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///') + FUJITSU_REL=$(echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/') + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi"$UNAME_RELEASE" + exit ;; + *:BSD/OS:*:*) + echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" + exit ;; + arm:FreeBSD:*:*) + UNAME_PROCESSOR=$(uname -p) + set_cc_for_build + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabi + else + echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabihf + fi + exit ;; + *:FreeBSD:*:*) + UNAME_PROCESSOR=$(/usr/bin/uname -p) + case "$UNAME_PROCESSOR" in + amd64) + UNAME_PROCESSOR=x86_64 ;; + i386) + UNAME_PROCESSOR=i586 ;; + esac + echo "$UNAME_PROCESSOR"-unknown-freebsd"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')" + exit ;; + i*:CYGWIN*:*) + echo "$UNAME_MACHINE"-pc-cygwin + exit ;; + *:MINGW64*:*) + echo "$UNAME_MACHINE"-pc-mingw64 + exit ;; + *:MINGW*:*) + echo "$UNAME_MACHINE"-pc-mingw32 + exit ;; + *:MSYS*:*) + echo "$UNAME_MACHINE"-pc-msys + exit ;; + i*:PW*:*) + echo "$UNAME_MACHINE"-pc-pw32 + exit ;; + *:Interix*:*) + case "$UNAME_MACHINE" in + x86) + echo i586-pc-interix"$UNAME_RELEASE" + exit ;; + authenticamd | genuineintel | EM64T) + echo x86_64-unknown-interix"$UNAME_RELEASE" + exit ;; + IA64) + echo ia64-unknown-interix"$UNAME_RELEASE" + exit ;; + esac ;; + i*:UWIN*:*) + echo "$UNAME_MACHINE"-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-pc-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" + exit ;; + *:GNU:*:*) + # the GNU system + echo "$(echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,')-unknown-$LIBC$(echo "$UNAME_RELEASE"|sed -e 's,/.*$,,')" + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo "$UNAME_MACHINE-unknown-$(echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]")$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')-$LIBC" + exit ;; + *:Minix:*:*) + echo "$UNAME_MACHINE"-unknown-minix + exit ;; + aarch64:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + alpha:Linux:*:*) + case $(sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null) in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC=gnulibc1 ; fi + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + arc:Linux:*:* | arceb:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + arm*:Linux:*:*) + set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi + else + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf + fi + fi + exit ;; + avr32*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + cris:Linux:*:*) + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" + exit ;; + crisv32:Linux:*:*) + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" + exit ;; + e2k:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + frv:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + hexagon:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + i*86:Linux:*:*) + echo "$UNAME_MACHINE"-pc-linux-"$LIBC" + exit ;; + ia64:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + k1om:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + m32r*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + m68*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + mips:Linux:*:* | mips64:Linux:*:*) + set_cc_for_build + IS_GLIBC=0 + test x"${LIBC}" = xgnu && IS_GLIBC=1 + sed 's/^ //' << EOF > "$dummy.c" + #undef CPU + #undef mips + #undef mipsel + #undef mips64 + #undef mips64el + #if ${IS_GLIBC} && defined(_ABI64) + LIBCABI=gnuabi64 + #else + #if ${IS_GLIBC} && defined(_ABIN32) + LIBCABI=gnuabin32 + #else + LIBCABI=${LIBC} + #endif + #endif + + #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa64r6 + #else + #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa32r6 + #else + #if defined(__mips64) + CPU=mips64 + #else + CPU=mips + #endif + #endif + #endif + + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + MIPS_ENDIAN=el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + MIPS_ENDIAN= + #else + MIPS_ENDIAN= + #endif + #endif +EOF + eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI')" + test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } + ;; + mips64el:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + openrisc*:Linux:*:*) + echo or1k-unknown-linux-"$LIBC" + exit ;; + or32:Linux:*:* | or1k*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-"$LIBC" + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-"$LIBC" + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case $(grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2) in + PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; + PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; + *) echo hppa-unknown-linux-"$LIBC" ;; + esac + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-"$LIBC" + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-"$LIBC" + exit ;; + ppc64le:Linux:*:*) + echo powerpc64le-unknown-linux-"$LIBC" + exit ;; + ppcle:Linux:*:*) + echo powerpcle-unknown-linux-"$LIBC" + exit ;; + riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" + exit ;; + sh64*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + sh*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + tile*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + vax:Linux:*:*) + echo "$UNAME_MACHINE"-dec-linux-"$LIBC" + exit ;; + x86_64:Linux:*:*) + set_cc_for_build + LIBCABI=$LIBC + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_X32 >/dev/null + then + LIBCABI="$LIBC"x32 + fi + fi + echo "$UNAME_MACHINE"-pc-linux-"$LIBCABI" + exit ;; + xtensa*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo "$UNAME_MACHINE"-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo "$UNAME_MACHINE"-unknown-stop + exit ;; + i*86:atheos:*:*) + echo "$UNAME_MACHINE"-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo "$UNAME_MACHINE"-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + echo i386-unknown-lynxos"$UNAME_RELEASE" + exit ;; + i*86:*DOS:*:*) + echo "$UNAME_MACHINE"-pc-msdosdjgpp + exit ;; + i*86:*:4.*:*) + UNAME_REL=$(echo "$UNAME_RELEASE" | sed 's/\/MP$//') + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" + else + echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case $(/bin/uname -X | grep "^Machine") in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}" + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=$(sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=$( (/bin/uname -X|grep Release|sed -e 's/.*= //')) + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" + else + echo "$UNAME_MACHINE"-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configure will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos"$UNAME_RELEASE" + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos"$UNAME_RELEASE" + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos"$UNAME_RELEASE" + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + echo powerpc-unknown-lynxos"$UNAME_RELEASE" + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv"$UNAME_RELEASE" + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=$( (uname -p) 2>/dev/null) + echo "$UNAME_MACHINE"-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo "$UNAME_MACHINE"-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux"$UNAME_RELEASE" + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if test -d /usr/nec; then + echo mips-nec-sysv"$UNAME_RELEASE" + else + echo mips-unknown-sysv"$UNAME_RELEASE" + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; + x86_64:Haiku:*:*) + echo x86_64-unknown-haiku + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux"$UNAME_RELEASE" + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux"$UNAME_RELEASE" + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux"$UNAME_RELEASE" + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux"$UNAME_RELEASE" + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux"$UNAME_RELEASE" + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux"$UNAME_RELEASE" + exit ;; + SX-ACE:SUPER-UX:*:*) + echo sxace-nec-superux"$UNAME_RELEASE" + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody"$UNAME_RELEASE" + exit ;; + *:Rhapsody:*:*) + echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" + exit ;; + arm64:Darwin:*:*) + echo aarch64-apple-darwin"$UNAME_RELEASE" + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=$(uname -p) + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + if command -v xcode-select > /dev/null 2> /dev/null && \ + ! xcode-select --print-path > /dev/null 2> /dev/null ; then + # Avoid executing cc if there is no toolchain installed as + # cc will be a stub that puts up a graphical alert + # prompting the user to install developer tools. + CC_FOR_BUILD=no_compiler_found + else + set_cc_for_build + fi + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_PPC >/dev/null + then + UNAME_PROCESSOR=powerpc + fi + elif test "$UNAME_PROCESSOR" = i386 ; then + # uname -m returns i386 or x86_64 + UNAME_PROCESSOR=$UNAME_MACHINE + fi + echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=$(uname -p) + if test "$UNAME_PROCESSOR" = x86; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NEO-*:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSE-*:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSR-*:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSV-*:NONSTOP_KERNEL:*:*) + echo nsv-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSX-*:NONSTOP_KERNEL:*:*) + echo nsx-tandem-nsk"$UNAME_RELEASE" + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + # shellcheck disable=SC2154 + if test "$cputype" = 386; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo "$UNAME_MACHINE"-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux"$UNAME_RELEASE" + exit ;; + *:DragonFly:*:*) + echo "$UNAME_MACHINE"-unknown-dragonfly"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')" + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=$( (uname -p) 2>/dev/null) + case "$UNAME_MACHINE" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo "$UNAME_MACHINE"-pc-skyos"$(echo "$UNAME_RELEASE" | sed -e 's/ .*$//')" + exit ;; + i*86:rdos:*:*) + echo "$UNAME_MACHINE"-pc-rdos + exit ;; + *:AROS:*:*) + echo "$UNAME_MACHINE"-unknown-aros + exit ;; + x86_64:VMkernel:*:*) + echo "$UNAME_MACHINE"-unknown-esx + exit ;; + amd64:Isilon\ OneFS:*:*) + echo x86_64-unknown-onefs + exit ;; + *:Unleashed:*:*) + echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE" + exit ;; +esac + +# No uname command or uname output not recognized. +set_cc_for_build +cat > "$dummy.c" < +#include +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#include +#if defined(_SIZE_T_) || defined(SIGLOST) +#include +#endif +#endif +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=$( (hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null); + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); +#endif + +#if defined (vax) +#if !defined (ultrix) +#include +#if defined (BSD) +#if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +#else +#if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#endif +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#else +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname un; + uname (&un); + printf ("vax-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("vax-dec-ultrix\n"); exit (0); +#endif +#endif +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname *un; + uname (&un); + printf ("mips-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("mips-dec-ultrix\n"); exit (0); +#endif +#endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=$($dummy) && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. +test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } + +echo "$0: unable to guess system type" >&2 + +case "$UNAME_MACHINE:$UNAME_SYSTEM" in + mips:Linux | mips64:Linux) + # If we got here on MIPS GNU/Linux, output extra information. + cat >&2 <&2 <&2 </dev/null || echo unknown) +uname -r = $( (uname -r) 2>/dev/null || echo unknown) +uname -s = $( (uname -s) 2>/dev/null || echo unknown) +uname -v = $( (uname -v) 2>/dev/null || echo unknown) + +/usr/bin/uname -p = $( (/usr/bin/uname -p) 2>/dev/null) +/bin/uname -X = $( (/bin/uname -X) 2>/dev/null) + +hostinfo = $( (hostinfo) 2>/dev/null) +/bin/universe = $( (/bin/universe) 2>/dev/null) +/usr/bin/arch -k = $( (/usr/bin/arch -k) 2>/dev/null) +/bin/arch = $( (/bin/arch) 2>/dev/null) +/usr/bin/oslevel = $( (/usr/bin/oslevel) 2>/dev/null) +/usr/convex/getsysinfo = $( (/usr/convex/getsysinfo) 2>/dev/null) + +UNAME_MACHINE = "$UNAME_MACHINE" +UNAME_RELEASE = "$UNAME_RELEASE" +UNAME_SYSTEM = "$UNAME_SYSTEM" +UNAME_VERSION = "$UNAME_VERSION" +EOF +fi + +exit 1 + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/recipes/clustalo/config.sub b/recipes/clustalo/config.sub new file mode 100644 index 0000000000000..38f3d037a785f --- /dev/null +++ b/recipes/clustalo/config.sub @@ -0,0 +1,1885 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright 1992-2021 Free Software Foundation, Inc. + +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2021-10-27' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). + + +# Please send patches to . +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# You can get the latest version of this script from: +# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX. However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS + +Canonicalize a configuration name. + +Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright 1992-2021 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo "$1" + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Split fields of configuration type +# shellcheck disable=SC2162 +saved_IFS=$IFS +IFS="-" read field1 field2 field3 field4 <&2 + exit 1 + ;; + *-*-*-*) + basic_machine=$field1-$field2 + basic_os=$field3-$field4 + ;; + *-*-*) + # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two + # parts + maybe_os=$field2-$field3 + case $maybe_os in + nto-qnx* | linux-* | uclinux-uclibc* \ + | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ + | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ + | storm-chaos* | os2-emx* | rtmk-nova*) + basic_machine=$field1 + basic_os=$maybe_os + ;; + android-linux) + basic_machine=$field1-unknown + basic_os=linux-android + ;; + *) + basic_machine=$field1-$field2 + basic_os=$field3 + ;; + esac + ;; + *-*) + # A lone config we happen to match not fitting any pattern + case $field1-$field2 in + decstation-3100) + basic_machine=mips-dec + basic_os= + ;; + *-*) + # Second component is usually, but not always the OS + case $field2 in + # Prevent following clause from handling this valid os + sun*os*) + basic_machine=$field1 + basic_os=$field2 + ;; + zephyr*) + basic_machine=$field1-unknown + basic_os=$field2 + ;; + # Manufacturers + dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ + | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ + | unicom* | ibm* | next | hp | isi* | apollo | altos* \ + | convergent* | ncr* | news | 32* | 3600* | 3100* \ + | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ + | ultra | tti* | harris | dolphin | highlevel | gould \ + | cbm | ns | masscomp | apple | axis | knuth | cray \ + | microblaze* | sim | cisco \ + | oki | wec | wrs | winbond) + basic_machine=$field1-$field2 + basic_os= + ;; + *) + basic_machine=$field1 + basic_os=$field2 + ;; + esac + ;; + esac + ;; + *) + # Convert single-component short-hands not valid as part of + # multi-component configurations. + case $field1 in + 386bsd) + basic_machine=i386-pc + basic_os=bsd + ;; + a29khif) + basic_machine=a29k-amd + basic_os=udi + ;; + adobe68k) + basic_machine=m68010-adobe + basic_os=scout + ;; + alliant) + basic_machine=fx80-alliant + basic_os= + ;; + altos | altos3068) + basic_machine=m68k-altos + basic_os= + ;; + am29k) + basic_machine=a29k-none + basic_os=bsd + ;; + amdahl) + basic_machine=580-amdahl + basic_os=sysv + ;; + amiga) + basic_machine=m68k-unknown + basic_os= + ;; + amigaos | amigados) + basic_machine=m68k-unknown + basic_os=amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + basic_os=sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + basic_os=sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + basic_os=bsd + ;; + aros) + basic_machine=i386-pc + basic_os=aros + ;; + aux) + basic_machine=m68k-apple + basic_os=aux + ;; + balance) + basic_machine=ns32k-sequent + basic_os=dynix + ;; + blackfin) + basic_machine=bfin-unknown + basic_os=linux + ;; + cegcc) + basic_machine=arm-unknown + basic_os=cegcc + ;; + convex-c1) + basic_machine=c1-convex + basic_os=bsd + ;; + convex-c2) + basic_machine=c2-convex + basic_os=bsd + ;; + convex-c32) + basic_machine=c32-convex + basic_os=bsd + ;; + convex-c34) + basic_machine=c34-convex + basic_os=bsd + ;; + convex-c38) + basic_machine=c38-convex + basic_os=bsd + ;; + cray) + basic_machine=j90-cray + basic_os=unicos + ;; + crds | unos) + basic_machine=m68k-crds + basic_os= + ;; + da30) + basic_machine=m68k-da30 + basic_os= + ;; + decstation | pmax | pmin | dec3100 | decstatn) + basic_machine=mips-dec + basic_os= + ;; + delta88) + basic_machine=m88k-motorola + basic_os=sysv3 + ;; + dicos) + basic_machine=i686-pc + basic_os=dicos + ;; + djgpp) + basic_machine=i586-pc + basic_os=msdosdjgpp + ;; + ebmon29k) + basic_machine=a29k-amd + basic_os=ebmon + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + basic_os=ose + ;; + gmicro) + basic_machine=tron-gmicro + basic_os=sysv + ;; + go32) + basic_machine=i386-pc + basic_os=go32 + ;; + h8300hms) + basic_machine=h8300-hitachi + basic_os=hms + ;; + h8300xray) + basic_machine=h8300-hitachi + basic_os=xray + ;; + h8500hms) + basic_machine=h8500-hitachi + basic_os=hms + ;; + harris) + basic_machine=m88k-harris + basic_os=sysv3 + ;; + hp300 | hp300hpux) + basic_machine=m68k-hp + basic_os=hpux + ;; + hp300bsd) + basic_machine=m68k-hp + basic_os=bsd + ;; + hppaosf) + basic_machine=hppa1.1-hp + basic_os=osf + ;; + hppro) + basic_machine=hppa1.1-hp + basic_os=proelf + ;; + i386mach) + basic_machine=i386-mach + basic_os=mach + ;; + isi68 | isi) + basic_machine=m68k-isi + basic_os=sysv + ;; + m68knommu) + basic_machine=m68k-unknown + basic_os=linux + ;; + magnum | m3230) + basic_machine=mips-mips + basic_os=sysv + ;; + merlin) + basic_machine=ns32k-utek + basic_os=sysv + ;; + mingw64) + basic_machine=x86_64-pc + basic_os=mingw64 + ;; + mingw32) + basic_machine=i686-pc + basic_os=mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + basic_os=mingw32ce + ;; + monitor) + basic_machine=m68k-rom68k + basic_os=coff + ;; + morphos) + basic_machine=powerpc-unknown + basic_os=morphos + ;; + moxiebox) + basic_machine=moxie-unknown + basic_os=moxiebox + ;; + msdos) + basic_machine=i386-pc + basic_os=msdos + ;; + msys) + basic_machine=i686-pc + basic_os=msys + ;; + mvs) + basic_machine=i370-ibm + basic_os=mvs + ;; + nacl) + basic_machine=le32-unknown + basic_os=nacl + ;; + ncr3000) + basic_machine=i486-ncr + basic_os=sysv4 + ;; + netbsd386) + basic_machine=i386-pc + basic_os=netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + basic_os=linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + basic_os=newsos + ;; + news1000) + basic_machine=m68030-sony + basic_os=newsos + ;; + necv70) + basic_machine=v70-nec + basic_os=sysv + ;; + nh3000) + basic_machine=m68k-harris + basic_os=cxux + ;; + nh[45]000) + basic_machine=m88k-harris + basic_os=cxux + ;; + nindy960) + basic_machine=i960-intel + basic_os=nindy + ;; + mon960) + basic_machine=i960-intel + basic_os=mon960 + ;; + nonstopux) + basic_machine=mips-compaq + basic_os=nonstopux + ;; + os400) + basic_machine=powerpc-ibm + basic_os=os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + basic_os=ose + ;; + os68k) + basic_machine=m68k-none + basic_os=os68k + ;; + paragon) + basic_machine=i860-intel + basic_os=osf + ;; + parisc) + basic_machine=hppa-unknown + basic_os=linux + ;; + psp) + basic_machine=mipsallegrexel-sony + basic_os=psp + ;; + pw32) + basic_machine=i586-unknown + basic_os=pw32 + ;; + rdos | rdos64) + basic_machine=x86_64-pc + basic_os=rdos + ;; + rdos32) + basic_machine=i386-pc + basic_os=rdos + ;; + rom68k) + basic_machine=m68k-rom68k + basic_os=coff + ;; + sa29200) + basic_machine=a29k-amd + basic_os=udi + ;; + sei) + basic_machine=mips-sei + basic_os=seiux + ;; + sequent) + basic_machine=i386-sequent + basic_os= + ;; + sps7) + basic_machine=m68k-bull + basic_os=sysv2 + ;; + st2000) + basic_machine=m68k-tandem + basic_os= + ;; + stratus) + basic_machine=i860-stratus + basic_os=sysv4 + ;; + sun2) + basic_machine=m68000-sun + basic_os= + ;; + sun2os3) + basic_machine=m68000-sun + basic_os=sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + basic_os=sunos4 + ;; + sun3) + basic_machine=m68k-sun + basic_os= + ;; + sun3os3) + basic_machine=m68k-sun + basic_os=sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + basic_os=sunos4 + ;; + sun4) + basic_machine=sparc-sun + basic_os= + ;; + sun4os3) + basic_machine=sparc-sun + basic_os=sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + basic_os=sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + basic_os=solaris2 + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + basic_os= + ;; + sv1) + basic_machine=sv1-cray + basic_os=unicos + ;; + symmetry) + basic_machine=i386-sequent + basic_os=dynix + ;; + t3e) + basic_machine=alphaev5-cray + basic_os=unicos + ;; + t90) + basic_machine=t90-cray + basic_os=unicos + ;; + toad1) + basic_machine=pdp10-xkl + basic_os=tops20 + ;; + tpf) + basic_machine=s390x-ibm + basic_os=tpf + ;; + udi29k) + basic_machine=a29k-amd + basic_os=udi + ;; + ultra3) + basic_machine=a29k-nyu + basic_os=sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + basic_os=none + ;; + vaxv) + basic_machine=vax-dec + basic_os=sysv + ;; + vms) + basic_machine=vax-dec + basic_os=vms + ;; + vsta) + basic_machine=i386-pc + basic_os=vsta + ;; + vxworks960) + basic_machine=i960-wrs + basic_os=vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + basic_os=vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + basic_os=vxworks + ;; + xbox) + basic_machine=i686-pc + basic_os=mingw32 + ;; + ymp) + basic_machine=ymp-cray + basic_os=unicos + ;; + *) + basic_machine=$1 + basic_os= + ;; + esac + ;; +esac + +# Decode 1-component or ad-hoc basic machines +case $basic_machine in + # Here we handle the default manufacturer of certain CPU types. It is in + # some cases the only manufacturer, in others, it is the most popular. + w89k) + cpu=hppa1.1 + vendor=winbond + ;; + op50n) + cpu=hppa1.1 + vendor=oki + ;; + op60c) + cpu=hppa1.1 + vendor=oki + ;; + ibm*) + cpu=i370 + vendor=ibm + ;; + orion105) + cpu=clipper + vendor=highlevel + ;; + mac | mpw | mac-mpw) + cpu=m68k + vendor=apple + ;; + pmac | pmac-mpw) + cpu=powerpc + vendor=apple + ;; + + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + cpu=m68000 + vendor=att + ;; + 3b*) + cpu=we32k + vendor=att + ;; + bluegene*) + cpu=powerpc + vendor=ibm + basic_os=cnk + ;; + decsystem10* | dec10*) + cpu=pdp10 + vendor=dec + basic_os=tops10 + ;; + decsystem20* | dec20*) + cpu=pdp10 + vendor=dec + basic_os=tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + cpu=m68k + vendor=motorola + ;; + dpx2*) + cpu=m68k + vendor=bull + basic_os=sysv3 + ;; + encore | umax | mmax) + cpu=ns32k + vendor=encore + ;; + elxsi) + cpu=elxsi + vendor=elxsi + basic_os=${basic_os:-bsd} + ;; + fx2800) + cpu=i860 + vendor=alliant + ;; + genix) + cpu=ns32k + vendor=ns + ;; + h3050r* | hiux*) + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + cpu=m68000 + vendor=hp + ;; + hp9k3[2-9][0-9]) + cpu=m68k + vendor=hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + cpu=hppa1.1 + vendor=hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + i*86v32) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv32 + ;; + i*86v4*) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv4 + ;; + i*86v) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv + ;; + i*86sol2) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=solaris2 + ;; + j90 | j90-cray) + cpu=j90 + vendor=cray + basic_os=${basic_os:-unicos} + ;; + iris | iris4d) + cpu=mips + vendor=sgi + case $basic_os in + irix*) + ;; + *) + basic_os=irix4 + ;; + esac + ;; + miniframe) + cpu=m68000 + vendor=convergent + ;; + *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) + cpu=m68k + vendor=atari + basic_os=mint + ;; + news-3600 | risc-news) + cpu=mips + vendor=sony + basic_os=newsos + ;; + next | m*-next) + cpu=m68k + vendor=next + case $basic_os in + openstep*) + ;; + nextstep*) + ;; + ns2*) + basic_os=nextstep2 + ;; + *) + basic_os=nextstep3 + ;; + esac + ;; + np1) + cpu=np1 + vendor=gould + ;; + op50n-* | op60c-*) + cpu=hppa1.1 + vendor=oki + basic_os=proelf + ;; + pa-hitachi) + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 + ;; + pbd) + cpu=sparc + vendor=tti + ;; + pbb) + cpu=m68k + vendor=tti + ;; + pc532) + cpu=ns32k + vendor=pc532 + ;; + pn) + cpu=pn + vendor=gould + ;; + power) + cpu=power + vendor=ibm + ;; + ps2) + cpu=i386 + vendor=ibm + ;; + rm[46]00) + cpu=mips + vendor=siemens + ;; + rtpc | rtpc-*) + cpu=romp + vendor=ibm + ;; + sde) + cpu=mipsisa32 + vendor=sde + basic_os=${basic_os:-elf} + ;; + simso-wrs) + cpu=sparclite + vendor=wrs + basic_os=vxworks + ;; + tower | tower-32) + cpu=m68k + vendor=ncr + ;; + vpp*|vx|vx-*) + cpu=f301 + vendor=fujitsu + ;; + w65) + cpu=w65 + vendor=wdc + ;; + w89k-*) + cpu=hppa1.1 + vendor=winbond + basic_os=proelf + ;; + none) + cpu=none + vendor=none + ;; + leon|leon[3-9]) + cpu=sparc + vendor=$basic_machine + ;; + leon-*|leon[3-9]-*) + cpu=sparc + vendor=`echo "$basic_machine" | sed 's/-.*//'` + ;; + + *-*) + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read cpu vendor <&2 + exit 1 + ;; + esac + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $vendor in + digital*) + vendor=dec + ;; + commodore*) + vendor=cbm + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if test x$basic_os != x +then + +# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just +# set os. +case $basic_os in + gnu/linux*) + kernel=linux + os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` + ;; + os2-emx) + kernel=os2 + os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` + ;; + nto-qnx*) + kernel=nto + os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` + ;; + *-*) + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read kernel os <&2 + exit 1 + ;; +esac + +# As a final step for OS-related things, validate the OS-kernel combination +# (given a valid OS), if there is a kernel. +case $kernel-$os in + linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ + | linux-musl* | linux-relibc* | linux-uclibc* ) + ;; + uclinux-uclibc* ) + ;; + -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) + # These are just libc implementations, not actual OSes, and thus + # require a kernel. + echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 + exit 1 + ;; + kfreebsd*-gnu* | kopensolaris*-gnu*) + ;; + vxworks-simlinux | vxworks-simwindows | vxworks-spe) + ;; + nto-qnx*) + ;; + os2-emx) + ;; + *-eabi* | *-gnueabi*) + ;; + -*) + # Blank kernel with real OS is always fine. + ;; + *-*) + echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 + exit 1 + ;; +esac + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +case $vendor in + unknown) + case $cpu-$os in + *-riscix*) + vendor=acorn + ;; + *-sunos*) + vendor=sun + ;; + *-cnk* | *-aix*) + vendor=ibm + ;; + *-beos*) + vendor=be + ;; + *-hpux*) + vendor=hp + ;; + *-mpeix*) + vendor=hp + ;; + *-hiux*) + vendor=hitachi + ;; + *-unos*) + vendor=crds + ;; + *-dgux*) + vendor=dg + ;; + *-luna*) + vendor=omron + ;; + *-genix*) + vendor=ns + ;; + *-clix*) + vendor=intergraph + ;; + *-mvs* | *-opened*) + vendor=ibm + ;; + *-os400*) + vendor=ibm + ;; + s390-* | s390x-*) + vendor=ibm + ;; + *-ptx*) + vendor=sequent + ;; + *-tpf*) + vendor=ibm + ;; + *-vxsim* | *-vxworks* | *-windiss*) + vendor=wrs + ;; + *-aux*) + vendor=apple + ;; + *-hms*) + vendor=hitachi + ;; + *-mpw* | *-macos*) + vendor=apple + ;; + *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) + vendor=atari + ;; + *-vos*) + vendor=stratus + ;; + esac + ;; +esac + +echo "$cpu-$vendor-${kernel:+$kernel-}$os" +exit + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/recipes/clustalo/meta.yaml b/recipes/clustalo/meta.yaml index 9a2ecfb62c6fc..cedb7aded4a1a 100644 --- a/recipes/clustalo/meta.yaml +++ b/recipes/clustalo/meta.yaml @@ -19,7 +19,9 @@ requirements: - argtable2 build: - number: 7 + number: 8 + run_exports: + - {{ pin_subpackage('clustalo', max_pin="x") }} test: commands: @@ -29,3 +31,7 @@ about: home: "http://www.clustal.org/omega/" license: "GPLv2" summary: "Latest version of Clustal: a multiple sequence alignment program for DNA or proteins" + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/clustalw/build.sh b/recipes/clustalw/build.sh index d5c9f16d06afe..d7f3623f6c4d8 100644 --- a/recipes/clustalw/build.sh +++ b/recipes/clustalw/build.sh @@ -1,5 +1,8 @@ #!/bin/bash +# use newer config.guess and config.sub that support linux-aarch64 +cp ${RECIPE_DIR}/config.* . + mkdir -p ${PREFIX} ./configure --prefix=$PREFIX make install diff --git a/recipes/clustalw/config.guess b/recipes/clustalw/config.guess new file mode 100644 index 0000000000000..1972fda8eb05d --- /dev/null +++ b/recipes/clustalw/config.guess @@ -0,0 +1,1700 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright 1992-2021 Free Software Foundation, Inc. + +timestamp='2021-01-25' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). +# +# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. +# +# You can get the latest version of this script from: +# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess +# +# Please send patches to . + + +me=$(echo "$0" | sed -e 's,.*/,,') + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright 1992-2021 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +tmp= +# shellcheck disable=SC2172 +trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 + +set_cc_for_build() { + # prevent multiple calls if $tmp is already set + test "$tmp" && return 0 + : "${TMPDIR=/tmp}" + # shellcheck disable=SC2039 + { tmp=$( (umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null) && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } + dummy=$tmp/dummy + case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in + ,,) echo "int x;" > "$dummy.c" + for driver in cc gcc c89 c99 ; do + if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then + CC_FOR_BUILD="$driver" + break + fi + done + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; + esac +} + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if test -f /.attbin/uname ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=$( (uname -m) 2>/dev/null) || UNAME_MACHINE=unknown +UNAME_RELEASE=$( (uname -r) 2>/dev/null) || UNAME_RELEASE=unknown +UNAME_SYSTEM=$( (uname -s) 2>/dev/null) || UNAME_SYSTEM=unknown +UNAME_VERSION=$( (uname -v) 2>/dev/null) || UNAME_VERSION=unknown + +case "$UNAME_SYSTEM" in +Linux|GNU|GNU/*) + LIBC=unknown + + set_cc_for_build + cat <<-EOF > "$dummy.c" + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #elif defined(__GLIBC__) + LIBC=gnu + #else + #include + /* First heuristic to detect musl libc. */ + #ifdef __DEFINED_va_list + LIBC=musl + #endif + #endif + EOF + eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g')" + + # Second heuristic to detect musl libc. + if [ "$LIBC" = unknown ] && + command -v ldd >/dev/null && + ldd --version 2>&1 | grep -q ^musl; then + LIBC=musl + fi + + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + if [ "$LIBC" = unknown ]; then + LIBC=gnu + fi + ;; +esac + +# Note: order is significant - the case branches are not exclusive. + +case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + UNAME_MACHINE_ARCH=$( (uname -p 2>/dev/null || \ + /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + echo unknown)) + case "$UNAME_MACHINE_ARCH" in + aarch64eb) machine=aarch64_be-unknown ;; + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + earmv*) + arch=$(echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,') + endian=$(echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p') + machine="${arch}${endian}"-unknown + ;; + *) machine="$UNAME_MACHINE_ARCH"-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently (or will in the future) and ABI. + case "$UNAME_MACHINE_ARCH" in + earm*) + os=netbsdelf + ;; + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ELF__ + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # Determine ABI tags. + case "$UNAME_MACHINE_ARCH" in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' + abi=$(echo "$UNAME_MACHINE_ARCH" | sed -e "$expr") + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "$UNAME_VERSION" in + Debian*) + release='-gnu' + ;; + *) + release=$(echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2) + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "$machine-${os}${release}${abi-}" + exit ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=$(arch | sed 's/Bitrig.//') + echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=$(arch | sed 's/OpenBSD.//') + echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" + exit ;; + *:LibertyBSD:*:*) + UNAME_MACHINE_ARCH=$(arch | sed 's/^.*BSD\.//') + echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" + exit ;; + *:MidnightBSD:*:*) + echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" + exit ;; + *:ekkoBSD:*:*) + echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" + exit ;; + *:SolidBSD:*:*) + echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" + exit ;; + *:OS108:*:*) + echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE" + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd"$UNAME_RELEASE" + exit ;; + *:MirBSD:*:*) + echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" + exit ;; + *:Sortix:*:*) + echo "$UNAME_MACHINE"-unknown-sortix + exit ;; + *:Twizzler:*:*) + echo "$UNAME_MACHINE"-unknown-twizzler + exit ;; + *:Redox:*:*) + echo "$UNAME_MACHINE"-unknown-redox + exit ;; + mips:OSF1:*.*) + echo mips-dec-osf1 + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $3}') + ;; + *5.*) + UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $4}') + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=$(/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1) + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE=alpha ;; + "EV4.5 (21064)") + UNAME_MACHINE=alpha ;; + "LCA4 (21066/21068)") + UNAME_MACHINE=alpha ;; + "EV5 (21164)") + UNAME_MACHINE=alphaev5 ;; + "EV5.6 (21164A)") + UNAME_MACHINE=alphaev56 ;; + "EV5.6 (21164PC)") + UNAME_MACHINE=alphapca56 ;; + "EV5.7 (21164PC)") + UNAME_MACHINE=alphapca57 ;; + "EV6 (21264)") + UNAME_MACHINE=alphaev6 ;; + "EV6.7 (21264A)") + UNAME_MACHINE=alphaev67 ;; + "EV6.8CB (21264C)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8AL (21264B)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8CX (21264D)") + UNAME_MACHINE=alphaev68 ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE=alphaev69 ;; + "EV7 (21364)") + UNAME_MACHINE=alphaev7 ;; + "EV7.9 (21364A)") + UNAME_MACHINE=alphaev79 ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo "$UNAME_MACHINE"-dec-osf"$(echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz)" + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + exitcode=$? + trap '' 0 + exit $exitcode ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo "$UNAME_MACHINE"-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo "$UNAME_MACHINE"-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix"$UNAME_RELEASE" + exit ;; + arm*:riscos:*:*|arm*:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "$( (/bin/universe) 2>/dev/null)" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case $(/usr/bin/uname -p) in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + s390x:SunOS:*:*) + echo "$UNAME_MACHINE"-ibm-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')" + exit ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')" + exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux"$UNAME_RELEASE" + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + set_cc_for_build + SUN_ARCH=i386 + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH=x86_64 + fi + fi + echo "$SUN_ARCH"-pc-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" + exit ;; + sun4*:SunOS:*:*) + case "$(/usr/bin/arch -k)" in + Series*|S4*) + UNAME_RELEASE=$(uname -v) + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/')" + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos"$UNAME_RELEASE" + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=$( (sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null) + test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 + case "$(/bin/arch)" in + sun3) + echo m68k-sun-sunos"$UNAME_RELEASE" + ;; + sun4) + echo sparc-sun-sunos"$UNAME_RELEASE" + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos"$UNAME_RELEASE" + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint"$UNAME_RELEASE" + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint"$UNAME_RELEASE" + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint"$UNAME_RELEASE" + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint"$UNAME_RELEASE" + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint"$UNAME_RELEASE" + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint"$UNAME_RELEASE" + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten"$UNAME_RELEASE" + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten"$UNAME_RELEASE" + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix"$UNAME_RELEASE" + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix"$UNAME_RELEASE" + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix"$UNAME_RELEASE" + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && + dummyarg=$(echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p') && + SYSTEM_NAME=$("$dummy" "$dummyarg") && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos"$UNAME_RELEASE" + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=$(/usr/bin/uname -p) + if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 + then + if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ + test "$TARGET_BINARY_INTERFACE"x = x + then + echo m88k-dg-dgux"$UNAME_RELEASE" + else + echo m88k-dg-dguxbcs"$UNAME_RELEASE" + fi + else + echo i586-dg-dgux"$UNAME_RELEASE" + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/g')" + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'$(uname -s)'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if test -x /usr/bin/oslevel ; then + IBM_REV=$(/usr/bin/oslevel) + else + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" + fi + echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[4567]) + IBM_CPU_ID=$(/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }') + if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if test -x /usr/bin/lslpp ; then + IBM_REV=$(/usr/bin/lslpp -Lqc bos.rte.libc | + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/) + else + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" + fi + echo "$IBM_ARCH"-ibm-aix"$IBM_REV" + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//') + case "$UNAME_MACHINE" in + 9000/31?) HP_ARCH=m68000 ;; + 9000/[34]??) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if test -x /usr/bin/getconf; then + sc_cpu_version=$(/usr/bin/getconf SC_CPU_VERSION 2>/dev/null) + sc_kernel_bits=$(/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null) + case "$sc_cpu_version" in + 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 + 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "$sc_kernel_bits" in + 32) HP_ARCH=hppa2.0n ;; + 64) HP_ARCH=hppa2.0w ;; + '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 + esac ;; + esac + fi + if test "$HP_ARCH" = ""; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=$("$dummy") + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if test "$HP_ARCH" = hppa2.0w + then + set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | + grep -q __LP64__ + then + HP_ARCH=hppa2.0w + else + HP_ARCH=hppa64 + fi + fi + echo "$HP_ARCH"-hp-hpux"$HPUX_REV" + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//') + echo ia64-hp-hpux"$HPUX_REV" + exit ;; + 3050*:HI-UX:*:*) + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if test -x /usr/sbin/sysversion ; then + echo "$UNAME_MACHINE"-unknown-osf1mk + else + echo "$UNAME_MACHINE"-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=$(uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz) + FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///') + FUJITSU_REL=$(echo "$UNAME_RELEASE" | sed -e 's/ /_/') + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///') + FUJITSU_REL=$(echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/') + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi"$UNAME_RELEASE" + exit ;; + *:BSD/OS:*:*) + echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" + exit ;; + arm:FreeBSD:*:*) + UNAME_PROCESSOR=$(uname -p) + set_cc_for_build + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabi + else + echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabihf + fi + exit ;; + *:FreeBSD:*:*) + UNAME_PROCESSOR=$(/usr/bin/uname -p) + case "$UNAME_PROCESSOR" in + amd64) + UNAME_PROCESSOR=x86_64 ;; + i386) + UNAME_PROCESSOR=i586 ;; + esac + echo "$UNAME_PROCESSOR"-unknown-freebsd"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')" + exit ;; + i*:CYGWIN*:*) + echo "$UNAME_MACHINE"-pc-cygwin + exit ;; + *:MINGW64*:*) + echo "$UNAME_MACHINE"-pc-mingw64 + exit ;; + *:MINGW*:*) + echo "$UNAME_MACHINE"-pc-mingw32 + exit ;; + *:MSYS*:*) + echo "$UNAME_MACHINE"-pc-msys + exit ;; + i*:PW*:*) + echo "$UNAME_MACHINE"-pc-pw32 + exit ;; + *:Interix*:*) + case "$UNAME_MACHINE" in + x86) + echo i586-pc-interix"$UNAME_RELEASE" + exit ;; + authenticamd | genuineintel | EM64T) + echo x86_64-unknown-interix"$UNAME_RELEASE" + exit ;; + IA64) + echo ia64-unknown-interix"$UNAME_RELEASE" + exit ;; + esac ;; + i*:UWIN*:*) + echo "$UNAME_MACHINE"-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-pc-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" + exit ;; + *:GNU:*:*) + # the GNU system + echo "$(echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,')-unknown-$LIBC$(echo "$UNAME_RELEASE"|sed -e 's,/.*$,,')" + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo "$UNAME_MACHINE-unknown-$(echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]")$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')-$LIBC" + exit ;; + *:Minix:*:*) + echo "$UNAME_MACHINE"-unknown-minix + exit ;; + aarch64:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + alpha:Linux:*:*) + case $(sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null) in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC=gnulibc1 ; fi + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + arc:Linux:*:* | arceb:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + arm*:Linux:*:*) + set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi + else + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf + fi + fi + exit ;; + avr32*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + cris:Linux:*:*) + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" + exit ;; + crisv32:Linux:*:*) + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" + exit ;; + e2k:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + frv:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + hexagon:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + i*86:Linux:*:*) + echo "$UNAME_MACHINE"-pc-linux-"$LIBC" + exit ;; + ia64:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + k1om:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + m32r*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + m68*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + mips:Linux:*:* | mips64:Linux:*:*) + set_cc_for_build + IS_GLIBC=0 + test x"${LIBC}" = xgnu && IS_GLIBC=1 + sed 's/^ //' << EOF > "$dummy.c" + #undef CPU + #undef mips + #undef mipsel + #undef mips64 + #undef mips64el + #if ${IS_GLIBC} && defined(_ABI64) + LIBCABI=gnuabi64 + #else + #if ${IS_GLIBC} && defined(_ABIN32) + LIBCABI=gnuabin32 + #else + LIBCABI=${LIBC} + #endif + #endif + + #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa64r6 + #else + #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa32r6 + #else + #if defined(__mips64) + CPU=mips64 + #else + CPU=mips + #endif + #endif + #endif + + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + MIPS_ENDIAN=el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + MIPS_ENDIAN= + #else + MIPS_ENDIAN= + #endif + #endif +EOF + eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI')" + test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } + ;; + mips64el:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + openrisc*:Linux:*:*) + echo or1k-unknown-linux-"$LIBC" + exit ;; + or32:Linux:*:* | or1k*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-"$LIBC" + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-"$LIBC" + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case $(grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2) in + PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; + PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; + *) echo hppa-unknown-linux-"$LIBC" ;; + esac + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-"$LIBC" + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-"$LIBC" + exit ;; + ppc64le:Linux:*:*) + echo powerpc64le-unknown-linux-"$LIBC" + exit ;; + ppcle:Linux:*:*) + echo powerpcle-unknown-linux-"$LIBC" + exit ;; + riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" + exit ;; + sh64*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + sh*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + tile*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + vax:Linux:*:*) + echo "$UNAME_MACHINE"-dec-linux-"$LIBC" + exit ;; + x86_64:Linux:*:*) + set_cc_for_build + LIBCABI=$LIBC + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_X32 >/dev/null + then + LIBCABI="$LIBC"x32 + fi + fi + echo "$UNAME_MACHINE"-pc-linux-"$LIBCABI" + exit ;; + xtensa*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo "$UNAME_MACHINE"-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo "$UNAME_MACHINE"-unknown-stop + exit ;; + i*86:atheos:*:*) + echo "$UNAME_MACHINE"-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo "$UNAME_MACHINE"-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + echo i386-unknown-lynxos"$UNAME_RELEASE" + exit ;; + i*86:*DOS:*:*) + echo "$UNAME_MACHINE"-pc-msdosdjgpp + exit ;; + i*86:*:4.*:*) + UNAME_REL=$(echo "$UNAME_RELEASE" | sed 's/\/MP$//') + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" + else + echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case $(/bin/uname -X | grep "^Machine") in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}" + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=$(sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=$( (/bin/uname -X|grep Release|sed -e 's/.*= //')) + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" + else + echo "$UNAME_MACHINE"-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configure will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos"$UNAME_RELEASE" + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos"$UNAME_RELEASE" + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos"$UNAME_RELEASE" + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + echo powerpc-unknown-lynxos"$UNAME_RELEASE" + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv"$UNAME_RELEASE" + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=$( (uname -p) 2>/dev/null) + echo "$UNAME_MACHINE"-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo "$UNAME_MACHINE"-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux"$UNAME_RELEASE" + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if test -d /usr/nec; then + echo mips-nec-sysv"$UNAME_RELEASE" + else + echo mips-unknown-sysv"$UNAME_RELEASE" + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; + x86_64:Haiku:*:*) + echo x86_64-unknown-haiku + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux"$UNAME_RELEASE" + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux"$UNAME_RELEASE" + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux"$UNAME_RELEASE" + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux"$UNAME_RELEASE" + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux"$UNAME_RELEASE" + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux"$UNAME_RELEASE" + exit ;; + SX-ACE:SUPER-UX:*:*) + echo sxace-nec-superux"$UNAME_RELEASE" + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody"$UNAME_RELEASE" + exit ;; + *:Rhapsody:*:*) + echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" + exit ;; + arm64:Darwin:*:*) + echo aarch64-apple-darwin"$UNAME_RELEASE" + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=$(uname -p) + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + if command -v xcode-select > /dev/null 2> /dev/null && \ + ! xcode-select --print-path > /dev/null 2> /dev/null ; then + # Avoid executing cc if there is no toolchain installed as + # cc will be a stub that puts up a graphical alert + # prompting the user to install developer tools. + CC_FOR_BUILD=no_compiler_found + else + set_cc_for_build + fi + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_PPC >/dev/null + then + UNAME_PROCESSOR=powerpc + fi + elif test "$UNAME_PROCESSOR" = i386 ; then + # uname -m returns i386 or x86_64 + UNAME_PROCESSOR=$UNAME_MACHINE + fi + echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=$(uname -p) + if test "$UNAME_PROCESSOR" = x86; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NEO-*:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSE-*:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSR-*:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSV-*:NONSTOP_KERNEL:*:*) + echo nsv-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSX-*:NONSTOP_KERNEL:*:*) + echo nsx-tandem-nsk"$UNAME_RELEASE" + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + # shellcheck disable=SC2154 + if test "$cputype" = 386; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo "$UNAME_MACHINE"-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux"$UNAME_RELEASE" + exit ;; + *:DragonFly:*:*) + echo "$UNAME_MACHINE"-unknown-dragonfly"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')" + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=$( (uname -p) 2>/dev/null) + case "$UNAME_MACHINE" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo "$UNAME_MACHINE"-pc-skyos"$(echo "$UNAME_RELEASE" | sed -e 's/ .*$//')" + exit ;; + i*86:rdos:*:*) + echo "$UNAME_MACHINE"-pc-rdos + exit ;; + *:AROS:*:*) + echo "$UNAME_MACHINE"-unknown-aros + exit ;; + x86_64:VMkernel:*:*) + echo "$UNAME_MACHINE"-unknown-esx + exit ;; + amd64:Isilon\ OneFS:*:*) + echo x86_64-unknown-onefs + exit ;; + *:Unleashed:*:*) + echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE" + exit ;; +esac + +# No uname command or uname output not recognized. +set_cc_for_build +cat > "$dummy.c" < +#include +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#include +#if defined(_SIZE_T_) || defined(SIGLOST) +#include +#endif +#endif +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=$( (hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null); + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); +#endif + +#if defined (vax) +#if !defined (ultrix) +#include +#if defined (BSD) +#if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +#else +#if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#endif +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#else +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname un; + uname (&un); + printf ("vax-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("vax-dec-ultrix\n"); exit (0); +#endif +#endif +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname *un; + uname (&un); + printf ("mips-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("mips-dec-ultrix\n"); exit (0); +#endif +#endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=$($dummy) && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. +test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } + +echo "$0: unable to guess system type" >&2 + +case "$UNAME_MACHINE:$UNAME_SYSTEM" in + mips:Linux | mips64:Linux) + # If we got here on MIPS GNU/Linux, output extra information. + cat >&2 <&2 <&2 </dev/null || echo unknown) +uname -r = $( (uname -r) 2>/dev/null || echo unknown) +uname -s = $( (uname -s) 2>/dev/null || echo unknown) +uname -v = $( (uname -v) 2>/dev/null || echo unknown) + +/usr/bin/uname -p = $( (/usr/bin/uname -p) 2>/dev/null) +/bin/uname -X = $( (/bin/uname -X) 2>/dev/null) + +hostinfo = $( (hostinfo) 2>/dev/null) +/bin/universe = $( (/bin/universe) 2>/dev/null) +/usr/bin/arch -k = $( (/usr/bin/arch -k) 2>/dev/null) +/bin/arch = $( (/bin/arch) 2>/dev/null) +/usr/bin/oslevel = $( (/usr/bin/oslevel) 2>/dev/null) +/usr/convex/getsysinfo = $( (/usr/convex/getsysinfo) 2>/dev/null) + +UNAME_MACHINE = "$UNAME_MACHINE" +UNAME_RELEASE = "$UNAME_RELEASE" +UNAME_SYSTEM = "$UNAME_SYSTEM" +UNAME_VERSION = "$UNAME_VERSION" +EOF +fi + +exit 1 + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/recipes/clustalw/config.sub b/recipes/clustalw/config.sub new file mode 100644 index 0000000000000..38f3d037a785f --- /dev/null +++ b/recipes/clustalw/config.sub @@ -0,0 +1,1885 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright 1992-2021 Free Software Foundation, Inc. + +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2021-10-27' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). + + +# Please send patches to . +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# You can get the latest version of this script from: +# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX. However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS + +Canonicalize a configuration name. + +Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright 1992-2021 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo "$1" + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Split fields of configuration type +# shellcheck disable=SC2162 +saved_IFS=$IFS +IFS="-" read field1 field2 field3 field4 <&2 + exit 1 + ;; + *-*-*-*) + basic_machine=$field1-$field2 + basic_os=$field3-$field4 + ;; + *-*-*) + # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two + # parts + maybe_os=$field2-$field3 + case $maybe_os in + nto-qnx* | linux-* | uclinux-uclibc* \ + | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ + | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ + | storm-chaos* | os2-emx* | rtmk-nova*) + basic_machine=$field1 + basic_os=$maybe_os + ;; + android-linux) + basic_machine=$field1-unknown + basic_os=linux-android + ;; + *) + basic_machine=$field1-$field2 + basic_os=$field3 + ;; + esac + ;; + *-*) + # A lone config we happen to match not fitting any pattern + case $field1-$field2 in + decstation-3100) + basic_machine=mips-dec + basic_os= + ;; + *-*) + # Second component is usually, but not always the OS + case $field2 in + # Prevent following clause from handling this valid os + sun*os*) + basic_machine=$field1 + basic_os=$field2 + ;; + zephyr*) + basic_machine=$field1-unknown + basic_os=$field2 + ;; + # Manufacturers + dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ + | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ + | unicom* | ibm* | next | hp | isi* | apollo | altos* \ + | convergent* | ncr* | news | 32* | 3600* | 3100* \ + | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ + | ultra | tti* | harris | dolphin | highlevel | gould \ + | cbm | ns | masscomp | apple | axis | knuth | cray \ + | microblaze* | sim | cisco \ + | oki | wec | wrs | winbond) + basic_machine=$field1-$field2 + basic_os= + ;; + *) + basic_machine=$field1 + basic_os=$field2 + ;; + esac + ;; + esac + ;; + *) + # Convert single-component short-hands not valid as part of + # multi-component configurations. + case $field1 in + 386bsd) + basic_machine=i386-pc + basic_os=bsd + ;; + a29khif) + basic_machine=a29k-amd + basic_os=udi + ;; + adobe68k) + basic_machine=m68010-adobe + basic_os=scout + ;; + alliant) + basic_machine=fx80-alliant + basic_os= + ;; + altos | altos3068) + basic_machine=m68k-altos + basic_os= + ;; + am29k) + basic_machine=a29k-none + basic_os=bsd + ;; + amdahl) + basic_machine=580-amdahl + basic_os=sysv + ;; + amiga) + basic_machine=m68k-unknown + basic_os= + ;; + amigaos | amigados) + basic_machine=m68k-unknown + basic_os=amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + basic_os=sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + basic_os=sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + basic_os=bsd + ;; + aros) + basic_machine=i386-pc + basic_os=aros + ;; + aux) + basic_machine=m68k-apple + basic_os=aux + ;; + balance) + basic_machine=ns32k-sequent + basic_os=dynix + ;; + blackfin) + basic_machine=bfin-unknown + basic_os=linux + ;; + cegcc) + basic_machine=arm-unknown + basic_os=cegcc + ;; + convex-c1) + basic_machine=c1-convex + basic_os=bsd + ;; + convex-c2) + basic_machine=c2-convex + basic_os=bsd + ;; + convex-c32) + basic_machine=c32-convex + basic_os=bsd + ;; + convex-c34) + basic_machine=c34-convex + basic_os=bsd + ;; + convex-c38) + basic_machine=c38-convex + basic_os=bsd + ;; + cray) + basic_machine=j90-cray + basic_os=unicos + ;; + crds | unos) + basic_machine=m68k-crds + basic_os= + ;; + da30) + basic_machine=m68k-da30 + basic_os= + ;; + decstation | pmax | pmin | dec3100 | decstatn) + basic_machine=mips-dec + basic_os= + ;; + delta88) + basic_machine=m88k-motorola + basic_os=sysv3 + ;; + dicos) + basic_machine=i686-pc + basic_os=dicos + ;; + djgpp) + basic_machine=i586-pc + basic_os=msdosdjgpp + ;; + ebmon29k) + basic_machine=a29k-amd + basic_os=ebmon + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + basic_os=ose + ;; + gmicro) + basic_machine=tron-gmicro + basic_os=sysv + ;; + go32) + basic_machine=i386-pc + basic_os=go32 + ;; + h8300hms) + basic_machine=h8300-hitachi + basic_os=hms + ;; + h8300xray) + basic_machine=h8300-hitachi + basic_os=xray + ;; + h8500hms) + basic_machine=h8500-hitachi + basic_os=hms + ;; + harris) + basic_machine=m88k-harris + basic_os=sysv3 + ;; + hp300 | hp300hpux) + basic_machine=m68k-hp + basic_os=hpux + ;; + hp300bsd) + basic_machine=m68k-hp + basic_os=bsd + ;; + hppaosf) + basic_machine=hppa1.1-hp + basic_os=osf + ;; + hppro) + basic_machine=hppa1.1-hp + basic_os=proelf + ;; + i386mach) + basic_machine=i386-mach + basic_os=mach + ;; + isi68 | isi) + basic_machine=m68k-isi + basic_os=sysv + ;; + m68knommu) + basic_machine=m68k-unknown + basic_os=linux + ;; + magnum | m3230) + basic_machine=mips-mips + basic_os=sysv + ;; + merlin) + basic_machine=ns32k-utek + basic_os=sysv + ;; + mingw64) + basic_machine=x86_64-pc + basic_os=mingw64 + ;; + mingw32) + basic_machine=i686-pc + basic_os=mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + basic_os=mingw32ce + ;; + monitor) + basic_machine=m68k-rom68k + basic_os=coff + ;; + morphos) + basic_machine=powerpc-unknown + basic_os=morphos + ;; + moxiebox) + basic_machine=moxie-unknown + basic_os=moxiebox + ;; + msdos) + basic_machine=i386-pc + basic_os=msdos + ;; + msys) + basic_machine=i686-pc + basic_os=msys + ;; + mvs) + basic_machine=i370-ibm + basic_os=mvs + ;; + nacl) + basic_machine=le32-unknown + basic_os=nacl + ;; + ncr3000) + basic_machine=i486-ncr + basic_os=sysv4 + ;; + netbsd386) + basic_machine=i386-pc + basic_os=netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + basic_os=linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + basic_os=newsos + ;; + news1000) + basic_machine=m68030-sony + basic_os=newsos + ;; + necv70) + basic_machine=v70-nec + basic_os=sysv + ;; + nh3000) + basic_machine=m68k-harris + basic_os=cxux + ;; + nh[45]000) + basic_machine=m88k-harris + basic_os=cxux + ;; + nindy960) + basic_machine=i960-intel + basic_os=nindy + ;; + mon960) + basic_machine=i960-intel + basic_os=mon960 + ;; + nonstopux) + basic_machine=mips-compaq + basic_os=nonstopux + ;; + os400) + basic_machine=powerpc-ibm + basic_os=os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + basic_os=ose + ;; + os68k) + basic_machine=m68k-none + basic_os=os68k + ;; + paragon) + basic_machine=i860-intel + basic_os=osf + ;; + parisc) + basic_machine=hppa-unknown + basic_os=linux + ;; + psp) + basic_machine=mipsallegrexel-sony + basic_os=psp + ;; + pw32) + basic_machine=i586-unknown + basic_os=pw32 + ;; + rdos | rdos64) + basic_machine=x86_64-pc + basic_os=rdos + ;; + rdos32) + basic_machine=i386-pc + basic_os=rdos + ;; + rom68k) + basic_machine=m68k-rom68k + basic_os=coff + ;; + sa29200) + basic_machine=a29k-amd + basic_os=udi + ;; + sei) + basic_machine=mips-sei + basic_os=seiux + ;; + sequent) + basic_machine=i386-sequent + basic_os= + ;; + sps7) + basic_machine=m68k-bull + basic_os=sysv2 + ;; + st2000) + basic_machine=m68k-tandem + basic_os= + ;; + stratus) + basic_machine=i860-stratus + basic_os=sysv4 + ;; + sun2) + basic_machine=m68000-sun + basic_os= + ;; + sun2os3) + basic_machine=m68000-sun + basic_os=sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + basic_os=sunos4 + ;; + sun3) + basic_machine=m68k-sun + basic_os= + ;; + sun3os3) + basic_machine=m68k-sun + basic_os=sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + basic_os=sunos4 + ;; + sun4) + basic_machine=sparc-sun + basic_os= + ;; + sun4os3) + basic_machine=sparc-sun + basic_os=sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + basic_os=sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + basic_os=solaris2 + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + basic_os= + ;; + sv1) + basic_machine=sv1-cray + basic_os=unicos + ;; + symmetry) + basic_machine=i386-sequent + basic_os=dynix + ;; + t3e) + basic_machine=alphaev5-cray + basic_os=unicos + ;; + t90) + basic_machine=t90-cray + basic_os=unicos + ;; + toad1) + basic_machine=pdp10-xkl + basic_os=tops20 + ;; + tpf) + basic_machine=s390x-ibm + basic_os=tpf + ;; + udi29k) + basic_machine=a29k-amd + basic_os=udi + ;; + ultra3) + basic_machine=a29k-nyu + basic_os=sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + basic_os=none + ;; + vaxv) + basic_machine=vax-dec + basic_os=sysv + ;; + vms) + basic_machine=vax-dec + basic_os=vms + ;; + vsta) + basic_machine=i386-pc + basic_os=vsta + ;; + vxworks960) + basic_machine=i960-wrs + basic_os=vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + basic_os=vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + basic_os=vxworks + ;; + xbox) + basic_machine=i686-pc + basic_os=mingw32 + ;; + ymp) + basic_machine=ymp-cray + basic_os=unicos + ;; + *) + basic_machine=$1 + basic_os= + ;; + esac + ;; +esac + +# Decode 1-component or ad-hoc basic machines +case $basic_machine in + # Here we handle the default manufacturer of certain CPU types. It is in + # some cases the only manufacturer, in others, it is the most popular. + w89k) + cpu=hppa1.1 + vendor=winbond + ;; + op50n) + cpu=hppa1.1 + vendor=oki + ;; + op60c) + cpu=hppa1.1 + vendor=oki + ;; + ibm*) + cpu=i370 + vendor=ibm + ;; + orion105) + cpu=clipper + vendor=highlevel + ;; + mac | mpw | mac-mpw) + cpu=m68k + vendor=apple + ;; + pmac | pmac-mpw) + cpu=powerpc + vendor=apple + ;; + + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + cpu=m68000 + vendor=att + ;; + 3b*) + cpu=we32k + vendor=att + ;; + bluegene*) + cpu=powerpc + vendor=ibm + basic_os=cnk + ;; + decsystem10* | dec10*) + cpu=pdp10 + vendor=dec + basic_os=tops10 + ;; + decsystem20* | dec20*) + cpu=pdp10 + vendor=dec + basic_os=tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + cpu=m68k + vendor=motorola + ;; + dpx2*) + cpu=m68k + vendor=bull + basic_os=sysv3 + ;; + encore | umax | mmax) + cpu=ns32k + vendor=encore + ;; + elxsi) + cpu=elxsi + vendor=elxsi + basic_os=${basic_os:-bsd} + ;; + fx2800) + cpu=i860 + vendor=alliant + ;; + genix) + cpu=ns32k + vendor=ns + ;; + h3050r* | hiux*) + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + cpu=m68000 + vendor=hp + ;; + hp9k3[2-9][0-9]) + cpu=m68k + vendor=hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + cpu=hppa1.1 + vendor=hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + i*86v32) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv32 + ;; + i*86v4*) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv4 + ;; + i*86v) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv + ;; + i*86sol2) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=solaris2 + ;; + j90 | j90-cray) + cpu=j90 + vendor=cray + basic_os=${basic_os:-unicos} + ;; + iris | iris4d) + cpu=mips + vendor=sgi + case $basic_os in + irix*) + ;; + *) + basic_os=irix4 + ;; + esac + ;; + miniframe) + cpu=m68000 + vendor=convergent + ;; + *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) + cpu=m68k + vendor=atari + basic_os=mint + ;; + news-3600 | risc-news) + cpu=mips + vendor=sony + basic_os=newsos + ;; + next | m*-next) + cpu=m68k + vendor=next + case $basic_os in + openstep*) + ;; + nextstep*) + ;; + ns2*) + basic_os=nextstep2 + ;; + *) + basic_os=nextstep3 + ;; + esac + ;; + np1) + cpu=np1 + vendor=gould + ;; + op50n-* | op60c-*) + cpu=hppa1.1 + vendor=oki + basic_os=proelf + ;; + pa-hitachi) + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 + ;; + pbd) + cpu=sparc + vendor=tti + ;; + pbb) + cpu=m68k + vendor=tti + ;; + pc532) + cpu=ns32k + vendor=pc532 + ;; + pn) + cpu=pn + vendor=gould + ;; + power) + cpu=power + vendor=ibm + ;; + ps2) + cpu=i386 + vendor=ibm + ;; + rm[46]00) + cpu=mips + vendor=siemens + ;; + rtpc | rtpc-*) + cpu=romp + vendor=ibm + ;; + sde) + cpu=mipsisa32 + vendor=sde + basic_os=${basic_os:-elf} + ;; + simso-wrs) + cpu=sparclite + vendor=wrs + basic_os=vxworks + ;; + tower | tower-32) + cpu=m68k + vendor=ncr + ;; + vpp*|vx|vx-*) + cpu=f301 + vendor=fujitsu + ;; + w65) + cpu=w65 + vendor=wdc + ;; + w89k-*) + cpu=hppa1.1 + vendor=winbond + basic_os=proelf + ;; + none) + cpu=none + vendor=none + ;; + leon|leon[3-9]) + cpu=sparc + vendor=$basic_machine + ;; + leon-*|leon[3-9]-*) + cpu=sparc + vendor=`echo "$basic_machine" | sed 's/-.*//'` + ;; + + *-*) + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read cpu vendor <&2 + exit 1 + ;; + esac + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $vendor in + digital*) + vendor=dec + ;; + commodore*) + vendor=cbm + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if test x$basic_os != x +then + +# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just +# set os. +case $basic_os in + gnu/linux*) + kernel=linux + os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` + ;; + os2-emx) + kernel=os2 + os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` + ;; + nto-qnx*) + kernel=nto + os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` + ;; + *-*) + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read kernel os <&2 + exit 1 + ;; +esac + +# As a final step for OS-related things, validate the OS-kernel combination +# (given a valid OS), if there is a kernel. +case $kernel-$os in + linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ + | linux-musl* | linux-relibc* | linux-uclibc* ) + ;; + uclinux-uclibc* ) + ;; + -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) + # These are just libc implementations, not actual OSes, and thus + # require a kernel. + echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 + exit 1 + ;; + kfreebsd*-gnu* | kopensolaris*-gnu*) + ;; + vxworks-simlinux | vxworks-simwindows | vxworks-spe) + ;; + nto-qnx*) + ;; + os2-emx) + ;; + *-eabi* | *-gnueabi*) + ;; + -*) + # Blank kernel with real OS is always fine. + ;; + *-*) + echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 + exit 1 + ;; +esac + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +case $vendor in + unknown) + case $cpu-$os in + *-riscix*) + vendor=acorn + ;; + *-sunos*) + vendor=sun + ;; + *-cnk* | *-aix*) + vendor=ibm + ;; + *-beos*) + vendor=be + ;; + *-hpux*) + vendor=hp + ;; + *-mpeix*) + vendor=hp + ;; + *-hiux*) + vendor=hitachi + ;; + *-unos*) + vendor=crds + ;; + *-dgux*) + vendor=dg + ;; + *-luna*) + vendor=omron + ;; + *-genix*) + vendor=ns + ;; + *-clix*) + vendor=intergraph + ;; + *-mvs* | *-opened*) + vendor=ibm + ;; + *-os400*) + vendor=ibm + ;; + s390-* | s390x-*) + vendor=ibm + ;; + *-ptx*) + vendor=sequent + ;; + *-tpf*) + vendor=ibm + ;; + *-vxsim* | *-vxworks* | *-windiss*) + vendor=wrs + ;; + *-aux*) + vendor=apple + ;; + *-hms*) + vendor=hitachi + ;; + *-mpw* | *-macos*) + vendor=apple + ;; + *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) + vendor=atari + ;; + *-vos*) + vendor=stratus + ;; + esac + ;; +esac + +echo "$cpu-$vendor-${kernel:+$kernel-}$os" +exit + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/recipes/clustalw/meta.yaml b/recipes/clustalw/meta.yaml index a8ef603ac467b..0a24762959d42 100644 --- a/recipes/clustalw/meta.yaml +++ b/recipes/clustalw/meta.yaml @@ -9,7 +9,10 @@ source: - patch # [osx] build: - number: 9 + number: 10 + run_exports: + - {{ pin_subpackage('clustalw', max_pin="x.x") }} + requirements: build: @@ -27,6 +30,8 @@ about: summary: ClustalW2 is a general purpose multiple sequence alignment program for DNA or proteins. extra: + additional-platforms: + - linux-aarch64 skip-lints: - should_not_be_noarch_source identifiers: diff --git a/recipes/clusty/build.sh b/recipes/clusty/build.sh new file mode 100644 index 0000000000000..abc2ec7057f35 --- /dev/null +++ b/recipes/clusty/build.sh @@ -0,0 +1,10 @@ +#!/bin/bash +#ln -s ${CC} gcc +#ln -s ${CXX} g++ +#export PATH=$PATH:$(pwd) +uname_S=`uname -s 2>/dev/null || echo not` + +if [ "$uname_S" == "Darwin" ]; then make -j${CPU_COUNT}; else make -j${CPU_COUNT} LEIDEN=true; fi + +install -d "${PREFIX}/bin" +install clusty "${PREFIX}/bin" diff --git a/recipes/clusty/meta.yaml b/recipes/clusty/meta.yaml new file mode 100644 index 0000000000000..280747e80a52c --- /dev/null +++ b/recipes/clusty/meta.yaml @@ -0,0 +1,42 @@ +{% set version = "1.1.1" %} + +package: + name: clusty + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage('clusty', max_pin='x.x.x') }} + +source: + git_url: https://github.com/refresh-bio/clusty.git + git_rev: v{{ version }} + +requirements: + build: + - make + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - cmake + - flex + - bison + +about: + home: https://github.com/refresh-bio/clusty + summary: "Clusty is a tool for large-scale data clustering." + license: GPL-3 + license_family: GPL + license_file: LICENSE + +test: + commands: + - clusty > /dev/null + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + skip-lints: + - uses_vcs_url + - missing_hash \ No newline at end of file diff --git a/recipes/cmaple/build.sh b/recipes/cmaple/build.sh new file mode 100644 index 0000000000000..63ffed49625be --- /dev/null +++ b/recipes/cmaple/build.sh @@ -0,0 +1,43 @@ +#!/bin/bash +set -ex + +# AVX is not supported on all CPUs, in particular Rosetta2 on Apple Silicon +# -march=nocona and -mtune=haswell are the original conda-forge flags +# we're restoring them here by mentioning them explicitly +# .bak is required for sed -i on macOS +sed -i.bak 's/-mavx/-mno-avx -mno-avx2 -march=nocona -mtune=haswell/' CMakeLists.txt + +DCMAKE_ARGS="" +if [ "$(uname)" == Darwin ]; then + CC=$(which "$CC") + CXX=$(which "$CXX") + AR=$(which "$AR") + RANLIB=$(which "$RANLIB") + DCMAKE_ARGS=(-DCMAKE_C_COMPILER="${CC}" -DCMAKE_CXX_COMPILER="${CXX}" + -DCMAKE_CXX_COMPILER_AR="${AR}" -DCMAKE_CXX_COMPILER_RANLIB="${RANLIB}") +fi + +case $(uname -m) in +aarch64) + JOBS=1 # CircleCI's arm.medium VM runs out of memory with higher values + ;; +*) + JOBS=${CPU_COUNT} + ;; +esac + +mkdir build +cmake -S . -B build -DCMAKE_INSTALL_PREFIX="${PREFIX}" -G Ninja \ + "${DCMAKE_ARGS[@]}" \ + -DBUILD_GMOCK=OFF -DINSTALL_GTEST=OFF \ + -Wno-dev -Wno-deprecated --no-warn-unused-cli + +VERBOSE=1 cmake --build build --target install -j ${JOBS} + +chmod 755 "${PREFIX}/bin/cmaple"* + +for file in "${PREFIX}/example.maple" "${PREFIX}/tree.nwk"; do + if [ -f "$file" ]; then + rm "$file" + fi +done diff --git a/recipes/cmaple/meta.yaml b/recipes/cmaple/meta.yaml new file mode 100644 index 0000000000000..808b5f3f941ee --- /dev/null +++ b/recipes/cmaple/meta.yaml @@ -0,0 +1,51 @@ +{% set name = "cmaple" %} +{% set version = "1.0.0" %} +{% set sha256 = "68693229053d8c456028b7696ee39770ff55a3eaf3454d7087def08accbf0603" %} +package: + name: {{ name }} + version: {{ version | replace("-", "_") }} +build: + number: 1 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} +source: + - url: https://github.com/iqtree/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: {{ sha256 }} + # Patch necessary to build on arm, can be removed with next release + patches: + - patch +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - make + - cmake + - ninja + host: + - libgomp # [linux] + - llvm-openmp # [osx] +test: + source_files: + - example/input.fa + commands: + - cmaple + - cmaple -h + - cmaple-aa + # Mulled builds don't work with source_files + - cmaple -aln example/input.fa # [osx] +about: + home: "https://github.com/iqtree/cmaple" + dev_url: "https://github.com/iqtree/cmaple" + doc_url: "https://github.com/iqtree/cmaple/wiki" + license: "GPL-2.0" + license_family: GPL2 + license_file: LICENSE + summary: "MAximum Parsimonious Likelihood Estimation in C/C++" +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + identifiers: + - doi:10.1093/molbev/msae134 + recipe-maintainers: + - corneliusroemer diff --git a/recipes/cmaple/patch b/recipes/cmaple/patch new file mode 100644 index 0000000000000..afeca4c13e424 --- /dev/null +++ b/recipes/cmaple/patch @@ -0,0 +1,563 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a58bf79..306b4e8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,6 +1,6 @@ + ################################################################## + # CMAPLE cmake build definition +-# Copyright (c) 2022 Nhan Ly-Trong, Chris Bielow, Nicola De Maio, Bui Quang Minh ++# Copyright (c) 2022 Nhan Ly-Trong, Chris Bielow, Nicola De Maio, Bui Quang Minh + ################################################################## + + # Windows example usages: +@@ -11,10 +11,8 @@ + # + # cmake -G "Visual Studio 12" (32-bit version, compiled with MSVC) + # cmake -G "Visual Studio 12 Win64" (64-bit version, compiled with MSVC) +-# cmake -G "Visual Studio 12 Win64" -T "Intel C++ Compiler XE 15.0" (64-bit version, compiled with ICC) +-# cmake -G "MinGW Makefiles" (TDM-GCC) +-# cmake -G "Unix Makefiles" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_MAKE_PROGRAM=mingw32-make (TDM-GCC and clang) +- ++## using clang.exe as shipped with Visual Studio: ++# cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -G "Ninja" -DCMAPLE_FLAGS=static ..\cmaple + + # Linux example usages: + #---------------------- +@@ -63,13 +61,24 @@ set(GCC_MIN_VERSION "5") + ############################################################## + # Clang-tidy + ############################################################## +-message("Setup clang-tidy") +-#set(CMAKE_CXX_CLANG_TIDY "clang-tidy;-header-filter=.;-checks=performance-*") ++if (USE_CLANG_TIDY) ++ message("Setup clang-tidy (USE_CLANG_TIDY=ON)") ++ set(CMAKE_CXX_CLANG_TIDY "clang-tidy;-header-filter=.;-checks=performance-*") ++else() ++ message("No clang-tidy (USE_CLANG_TIDY=OFF)") ++endif() ++ + + project(cmaple) + add_definitions(-DCMAPLE) + set(CMAKE_CXX_STANDARD 20) +-set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE) # Enable IPO (LTO) by default ++ ++if (((${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch") AND (NOT APPLE AND UNIX)) ++ OR WIN32) ++ set(CMAKE_INTERPROCEDURAL_OPTIMIZATION FALSE) # Disable IPO (LTO) for Linux ARM ++else() ++ set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE) # Enable IPO (LTO) by default ++endif() + + # The version number. + set (cmaple_VERSION_MAJOR 1) +@@ -80,14 +89,19 @@ option(BUILD_SHARED_LIBS "Build Shared Libraries" OFF) + option(INSTALL_CMAPLE "Enable installation of CMAPLE. (Projects integrating CMAPLE may want to turn this OFF.)" ON) + + ################################################################## +-# check existence of a few basic functions ++# check existence of a few basic functions and headers + ################################################################## +-include (${CMAKE_ROOT}/Modules/CheckFunctionExists.cmake) ++include (CheckFunctionExists) + check_function_exists (gettimeofday HAVE_GETTIMEOFDAY) + check_function_exists (getrusage HAVE_GETRUSAGE) + check_function_exists (GlobalMemoryStatusEx HAVE_GLOBALMEMORYSTATUSEX) + check_function_exists (strndup HAVE_STRNDUP) + check_function_exists (strtok_r HAVE_STRTOK_R) ++## find optional headers ++include (CheckIncludeFile) ++CHECK_INCLUDE_FILE("unistd.h" CMAPLE_HAS_UNISTDH) ++ ++ + + if (NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE "Release") +@@ -129,6 +143,8 @@ else() + message("Target OS : Unknown and untested yet") + endif() + ++# NHANLT: Note: to build a static version, we have to link ++# the static OpenMP library manually here instead of the dynamic one + ################################################################## + # configure OpenMP to build a static version + ################################################################## +@@ -136,13 +152,19 @@ if (NOT CMAPLE_FLAGS MATCHES "single") + message("OpenMP : Yes") + + if(APPLE) +- if(OSX_NATIVE_ARCHITECTURE STREQUAL "arm64") ++ if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch") + link_directories(${PROJECT_SOURCE_DIR}/libraries/static/libmac_m1) + else() + link_directories(${PROJECT_SOURCE_DIR}/libraries/static/libmac) + endif() +- elseif (WIN32 OR UNIX) +- if (CMAKE_SIZEOF_VOID_P EQUAL 4) ++ elseif (UNIX AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") ++ if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch") ++ link_directories(${PROJECT_SOURCE_DIR}/libraries/static/liblinux_arm) ++ else() ++ link_directories(${PROJECT_SOURCE_DIR}/libraries/static/lib) ++ endif() ++ elseif (WIN32) ++ if (BINARY32) + link_directories(${PROJECT_SOURCE_DIR}/libraries/static/lib32) + else() + link_directories(${PROJECT_SOURCE_DIR}/libraries/static/lib) +@@ -169,13 +191,20 @@ endif() + + ## enable 'SSE/AVX' on x86-64, 'neon' on arm to achive faster computations (mainly the Matrix::dotProduct()) + if (CMAKE_CXX_COMPILER_ID MATCHES "Clang|GNU") +- if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86") ++ if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86") + add_compile_options(-msse -msse2 -msse3 -mssse3 -msse4 -msse4.1 -msse4.2 -mavx) # needed for simde instructions +- elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm") +- add_compile_options(-neon) +- endif() ++ elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch") ++ # NHANLT: Because the option "-neon" is not found, ++ # I changed it to "-march=native" ++ #add_compile_options(-neon) ++ if (NOT APPLE AND UNIX) ++ add_compile_options(-march=armv8-a) ++ else() ++ add_compile_options(-march=native) ++ endif() ++ endif() + elseif (CMAKE_CXX_COMPILER_ID MATCHES "MSVC") +- if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86") ++ if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86") + add_compile_options(/arch:AVX2) ## not really needed, but may be beneficial in other places when in Release mode (i.e. with optimizations turned on) + endif() + endif() +@@ -244,13 +273,13 @@ FetchContent_MakeAvailable(googletest) + ################################################################## + LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}") + if (NOT TARGET ncl) +- add_subdirectory(libraries/ncl) +-endif() ++ add_subdirectory(libraries/ncl) ++endif() + if (NOT TARGET nclextra) +- add_subdirectory(libraries/nclextra) +-endif() ++ add_subdirectory(libraries/nclextra) ++endif() + add_subdirectory(utils) +-add_subdirectory(libraries/SIMDe) ++add_subdirectory(libraries/SIMDe) + target_include_directories(cmaple_utils PUBLIC ${SIMDE_INCLUDE_DIRECTORY}) + add_subdirectory(model) + add_subdirectory(alignment) +@@ -267,16 +296,17 @@ add_executable(cmaple-aa main/main.cpp) + + if(Backtrace_FOUND) + include_directories(${Backtrace_INCLUDE_DIR}) +- target_link_libraries(cmaple ${Backtrace_LIBRARY}) +- target_link_libraries(cmaple-aa ${Backtrace_LIBRARY}) ++ target_link_libraries(cmaple PRIVATE ${Backtrace_LIBRARY}) ++ target_link_libraries(cmaple-aa PRIVATE ${Backtrace_LIBRARY}) + endif(Backtrace_FOUND) + + ################################################################## + # setup linking flags + ################################################################## + +-target_link_libraries(cmaple maple cmaple_tree cmaple_alignment cmaple_model ncl nclextra cmaple_utils) +-target_link_libraries(cmaple-aa maple-aa cmaple_tree-aa cmaple_alignment-aa cmaple_model-aa ncl nclextra cmaple_utils) ++target_link_libraries(cmaple PUBLIC maple cmaple_tree cmaple_alignment cmaple_model ncl nclextra cmaple_utils) ++target_link_libraries(cmaple-aa PUBLIC maple-aa cmaple_tree-aa cmaple_alignment-aa cmaple_model-aa ncl nclextra cmaple_utils) ++ + + ############################################################## + # add the install targets +@@ -323,7 +353,20 @@ set(CPACK_SOURCE_IGNORE_FILES + + set (SYSTEM_NAME "${CMAKE_SYSTEM_NAME}") + if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") +- set (SYSTEM_NAME "MacOSX") ++ if (IQTREE_FLAGS MATCHES "oldmac") ++ set (SYSTEM_NAME "macOS10.5") ++ elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch") ++ set (SYSTEM_NAME "macOS-arm") ++ else() ++ set (SYSTEM_NAME "macOS-intel") ++ endif() ++endif() ++if (NOT APPLE AND UNIX) ++ if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch") ++ set (SYSTEM_NAME "Linux-arm") ++ else() ++ set (SYSTEM_NAME "Linux-intel") ++ endif() + endif() + + set(CPACK_PACKAGE_FILE_NAME +diff --git a/alignment/alignment.cpp b/alignment/alignment.cpp +index 738793d..1b98ce1 100644 +--- a/alignment/alignment.cpp ++++ b/alignment/alignment.cpp +@@ -875,7 +875,15 @@ void cmaple::Alignment::readMaple(std::istream& aln_stream) { + + // extract + ssin >> tmp; +- StateType state = convertChar2State(toupper(tmp[0])); ++ StateType state; ++ try ++ { ++ state = convertChar2State(toupper(tmp[0])); ++ } ++ catch(std::invalid_argument& e) ++ { ++ throw std::invalid_argument("Line " + convertIntToString(line_num + 1) + ": " + e.what()); ++ } + + // extract + ssin >> tmp; +@@ -1037,9 +1045,8 @@ auto cmaple::Alignment::convertChar2State(char state) -> StateType { + return 1; + default: + { +- string invalid_state_msg = "Invalid state "; ++ string invalid_state_msg = "Unrecognized character "; + invalid_state_msg += state; +- invalid_state_msg += ". Please check and try again!"; + throw std::invalid_argument(invalid_state_msg); + return TYPE_INVALID; + } +@@ -1081,9 +1088,8 @@ auto cmaple::Alignment::convertChar2State(char state) -> StateType { + case 'V': + return 1 + 2 + 4 + 3; // A or G or C + default: { +- string invalid_state_msg = "Invalid state "; ++ string invalid_state_msg = "Unrecognized character "; + invalid_state_msg += state; +- invalid_state_msg += ". Please check and try again!"; + throw std::invalid_argument(invalid_state_msg); + // return TYPE_INVALID; // unrecognize character + } +@@ -1113,9 +1119,8 @@ auto cmaple::Alignment::convertChar2State(char state) -> StateType { + loc = strchr(symbols_protein, state); + + if (loc == nullptr) { +- string invalid_state_msg = "Invalid state "; ++ string invalid_state_msg = "Unrecognized character "; + invalid_state_msg += state; +- invalid_state_msg += ". Please check and try again!"; + throw std::invalid_argument(invalid_state_msg); + // return TYPE_INVALID; // unrecognize character + } +@@ -1130,9 +1135,8 @@ auto cmaple::Alignment::convertChar2State(char state) -> StateType { + + if (!loc) + { +- string invalid_state_msg = "Invalid state "; ++ string invalid_state_msg = "Unrecognized character "; + invalid_state_msg += state; +- invalid_state_msg += ". Please check and try again!"; + throw std::invalid_argument(invalid_state_msg); + return TYPE_INVALID; // unrecognize character + } +@@ -1141,9 +1145,8 @@ auto cmaple::Alignment::convertChar2State(char state) -> StateType { + case cmaple::SeqRegion::SEQ_AUTO: + case cmaple::SeqRegion::SEQ_UNKNOWN: + default: { +- string invalid_state_msg = "Invalid state "; ++ string invalid_state_msg = "Unrecognized character "; + invalid_state_msg += state; +- invalid_state_msg += ". Please check and try again!"; + throw std::invalid_argument(invalid_state_msg); + // return TYPE_INVALID; + } +diff --git a/cmaple.doxy b/cmaple.doxy +index 3beaee7..da2a488 100644 +--- a/cmaple.doxy ++++ b/cmaple.doxy +@@ -48,13 +48,13 @@ PROJECT_NAME = CMAPLE + # could be handy for archiving the generated documentation or if some version + # control system is used. + +-PROJECT_NUMBER = 1 ++PROJECT_NUMBER = 1.0.0 + + # Using the PROJECT_BRIEF tag one can provide an optional one line description + # for a project that appears at the top of each page and should give viewer a + # quick idea about the purpose of the project. Keep the description short. + +-PROJECT_BRIEF = "CMaple phylogenetic software" ++PROJECT_BRIEF = "C++ MAximum Parsimonious Likelihood Estimation" + + # With the PROJECT_LOGO tag one can specify a logo or an icon that is included + # in the documentation. The maximum height of the logo should not exceed 55 +diff --git a/cmaple_config.h.in b/cmaple_config.h.in +index 2729eea..4090d2b 100644 +--- a/cmaple_config.h.in ++++ b/cmaple_config.h.in +@@ -15,5 +15,7 @@ + #cmakedefine HAVE_STRNDUP + #cmakedefine HAVE_STRTOK_R + ++#cmakedefine CMAPLE_HAS_UNISTDH ++ + /* does the platform provide backtrace functions? */ + #cmakedefine Backtrace_FOUND +diff --git a/libraries/static/liblinux_arm/libomp.a b/libraries/static/liblinux_arm/libomp.a +new file mode 100644 +index 0000000..bf95783 +Binary files /dev/null and b/libraries/static/liblinux_arm/libomp.a differ +diff --git a/libraries/static/libmac_m1/libomp.a b/libraries/static/libmac_m1/libomp.a +index bdff3e4..0c72cdc 100644 +Binary files a/libraries/static/libmac_m1/libomp.a and b/libraries/static/libmac_m1/libomp.a differ +diff --git a/maple/cmaple.cpp b/maple/cmaple.cpp +index c9f898d..9e21c9f 100644 +--- a/maple/cmaple.cpp ++++ b/maple/cmaple.cpp +@@ -150,11 +150,6 @@ void cmaple::runCMAPLE(cmaple::Params ¶ms) + std::ostream null_stream(nullptr); + std::ostream& out_stream = cmaple::verbose_mode >= cmaple::VB_MED ? std::cout : null_stream; + tree.infer(tree_search_type, params.shallow_tree_search, out_stream); +- +- // Write the normal tree file +- ofstream out = ofstream(output_treefile); +- out << tree.exportNewick(tree_format); +- out.close(); + + // Compute branch supports (if users want to do so) + if (params.compute_aLRT_SH) +@@ -169,21 +164,19 @@ void cmaple::runCMAPLE(cmaple::Params ¶ms) + tree.computeBranchSupport(static_cast(params.num_threads), params.aLRT_SH_replicates, params.aLRT_SH_half_epsilon + params.aLRT_SH_half_epsilon, allow_replacing_ML_tree, out_stream); + + // write the tree file with branch supports +- ofstream out_tree_branch_supports = ofstream(prefix + ".aLRT_SH.treefile"); ++ /*ofstream out_tree_branch_supports = ofstream(prefix + ".aLRT_SH.treefile"); + out_tree_branch_supports << tree.exportNewick(tree_format, true); +- out_tree_branch_supports.close(); ++ out_tree_branch_supports.close();*/ + } + + // If needed, apply some minor changes (collapsing zero-branch leaves into less-info sequences, re-estimating model parameters) to make the processes of outputting then re-inputting a tree result in a consistent tree + if (params.make_consistent) +- { + tree.makeTreeInOutConsistent(); +- +- // Overwrite the normal tree file +- ofstream overwrite_out = ofstream(output_treefile); +- overwrite_out << tree.exportNewick(tree_format); +- overwrite_out.close(); +- } ++ ++ // Write the normal tree file ++ ofstream out = ofstream(output_treefile); ++ out << tree.exportNewick(tree_format); ++ out.close(); + + // output log-likelihood of the tree + if (cmaple::verbose_mode > cmaple::VB_QUIET) { +@@ -205,10 +198,10 @@ void cmaple::runCMAPLE(cmaple::Params ¶ms) + // Show information about output files + std::cout << "Analysis results written to:" << std::endl; + std::cout << "Maximum-likelihood tree: " << output_treefile << std::endl; +- if (params.compute_aLRT_SH) { ++ /*if (params.compute_aLRT_SH) { + std::cout << "Tree with aLRT-SH values: " + << prefix + ".aLRT_SH.treefile" << std::endl; +- } ++ }*/ + std::cout << "Screen log file: " << prefix + ".log" << std::endl << std::endl; + + // show runtime +diff --git a/model/model_aa.nexus b/model/model_aa.nexus +index e52e032..6da7af0 100644 +--- a/model/model_aa.nexus ++++ b/model/model_aa.nexus +@@ -208,7 +208,9 @@ model VT= + 0.5411769916657778 0.8912614404565405 1.0894926581511342 0.7447620891784513 2.1579775140421025 0.9183596801412757 0.5818111331782764 0.3374467649724478 7.7587442309146040 0.8626796044156272 1.2452243224541324 0.7835447533710449 1.0899165770956820 10.3848523331334590 0.4819109019647465 0.9547229305958682 0.8564314184691215 4.5377235790405388 + 4.6501894691803214 0.7807017855806767 0.4586061981719967 0.4594535241660911 2.2627456996290891 0.6366932501396869 0.8940572875547330 0.6193321034173915 0.5333220944030346 14.8729334615190609 3.5458093276667237 0.7801080335991272 4.0584577156753401 1.7039730522675411 0.5985498912985666 0.9305232113028208 3.4242218450865543 0.5658969249032649 1.0000000000000000 + 0.0770764620135024 0.0500819370772208 0.0462377395993731 0.0537929860758246 0.0144533387583345 0.0408923608974345 0.0633579339160905 0.0655672355884439 0.0218802687005936 0.0591969699027449 0.0976461276528445 0.0592079410822730 0.0220695876653368 0.0413508521834260 0.0476871596856874 0.0707295165111524 0.0567759161524817 0.0127019797647213 0.0323746050281867 0.0669190817443274; +- ++)" ++// Visual studio needs regular breaks in long strings, to avoid C2026 "string too big" ++R"( + model BLOSUM62= + 0.735790389698 + 0.485391055466 1.297446705134 +@@ -390,7 +392,9 @@ model HIVW= + 0.0050000 0.0050000 5.0647500 2.2815400 8.3483500 0.0050000 0.0050000 0.0050000 47.4889000 0.1145120 0.0050000 0.0050000 0.5791980 4.1272800 0.0050000 0.9331420 0.4906080 0.0050000 + 24.8094000 0.2794250 0.0744808 2.9178600 0.0050000 0.0050000 2.1995200 2.7962200 0.8274790 24.8231000 2.9534400 0.1280650 14.7683000 2.2800000 0.0050000 0.8626370 0.0050000 0.0050000 1.3548200 + 0.0377494 0.0573210 0.0891129 0.0342034 0.0240105 0.0437824 0.0618606 0.0838496 0.0156076 0.0983641 0.0577867 0.0641682 0.0158419 0.0422741 0.0458601 0.0550846 0.0813774 0.0195970 0.0205847 0.0515638; +- ++)" ++// Visual studio needs regular breaks in long strings, to avoid C2026 "string too big" ++R"( + model JTTDCMUT= + 0.531678 + 0.557967 0.451095 +@@ -503,7 +507,9 @@ model MTINV= + 0.021939769224089 0.182762501894970 1.139165041333800 0.192759935895995 1.342951983818990 0.476209340516188 0.137649645940120 0.072268115092742 2.321701900318870 0.177138315144646 0.161052630578922 0.348477651608884 0.393193176722666 3.234681510126880 0.081395316441860 0.345719568712117 0.174898633040519 0.636664640334042 + 2.751362222454670 0.072153227138698 0.065420927831618 0.088077392769029 1.555396905840990 0.065221940911213 0.231186486525368 0.396428077428706 0.008043434782625 8.542589373962890 1.075872855650690 0.056252073499162 1.509852171058890 0.534676724129225 0.162975872809625 0.377288666084473 1.885338569864270 0.128598566560553 0.080346083861554 + 0.031742312696925 0.010900704360282 0.061579224631690 0.016149206459683 0.013570105428042 0.014644105857642 0.022311208924484 0.047847519139008 0.011641804656722 0.094322337728935 0.149407059762824 0.044438717775487 0.077262530905012 0.102287040914816 0.026290210516084 0.105939042375617 0.042869117147647 0.020701008280403 0.046556718622687 0.059540023816010; +- ++)" ++// Visual studio needs regular breaks in long strings, to avoid C2026 "string too big" ++R"( + model Q.PFAM= + 0.531344742 + 0.266631781 0.610524242 +@@ -635,7 +641,9 @@ model Q.MAMMAL= + 0.091694198 0.139818982 0.655149301 0.420781565 5.685285320 0.126113134 0.070592995 0.083304052 7.287086510 0.172110578 0.176288430 0.080506454 0.165573576 5.877878503 0.112513257 0.458878972 0.102291161 0.645002709 + 4.300445029 0.107177686 0.082093349 0.228482448 0.278600785 0.094238794 0.325642029 0.868890049 0.081513165 12.950251994 1.879650916 0.097391390 7.158497660 0.733119107 0.145626117 0.152049202 0.573328824 0.113423271 0.125003102 + 0.067997000 0.055503000 0.036288000 0.046867000 0.021435000 0.050281000 0.068935000 0.055323000 0.026410000 0.041953000 0.101191000 0.060037000 0.019662000 0.036237000 0.055146000 0.096864000 0.057136000 0.011785000 0.024730000 0.066223000; +- ++)" ++// Visual studio needs regular breaks in long strings, to avoid C2026 "string too big" ++R"( + model Q.PLANT= + 0.061995451 + 0.071787018 0.324146307 +@@ -725,7 +733,9 @@ model NQ.BIRD= + 0.003367 0.003420 0.025103 0.019062 0.118842 0.002325 0.001636 0.002267 0.172299 0.003816 0.011255 0.001973 0.001121 0.149120 0.003758 0.041478 0.002483 0.002546 -0.568642 0.002770 + 0.353020 0.003671 0.001550 0.011216 0.004391 0.002838 0.025621 0.063330 0.001568 0.600920 0.192704 0.003462 0.154474 0.028747 0.004789 0.007272 0.022534 0.001180 0.000311 -1.483598 + 0.066333 0.053982 0.037723 0.047442 0.022723 0.049236 0.071640 0.058487 0.025459 0.045195 0.100085 0.061369 0.020983 0.038111 0.053610 0.089423 0.053556 0.012287 0.027118 0.065238; +- ++)" ++// Visual studio needs regular breaks in long strings, to avoid C2026 "string too big" ++R"( + model NQ.INSECT= + -1.158307 0.010073 0.016374 0.018148 0.024562 0.031278 0.050686 0.115871 0.007708 0.016759 0.030487 0.021161 0.017635 0.007697 0.047195 0.387388 0.180867 0.001003 0.005193 0.168222 + 0.016988 -0.864366 0.028327 0.009011 0.016427 0.091271 0.017198 0.023080 0.063484 0.009987 0.026047 0.441579 0.010386 0.003027 0.013118 0.047581 0.024505 0.004420 0.007183 0.010747 +@@ -817,7 +827,9 @@ model NQ.YEAST= + 0.008246 0.005644 0.022807 0.004919 0.019212 0.007773 0.004189 0.001883 0.119939 0.010396 0.023220 0.003733 0.004427 0.375273 0.002243 0.021838 0.007934 0.015523 -0.669995 0.010796 + 0.198675 0.005913 0.007857 0.004763 0.020689 0.009495 0.019917 0.008777 0.004253 0.727245 0.155452 0.012278 0.043536 0.027573 0.012496 0.016617 0.125934 0.001048 0.008587 -1.411103 + 0.062250 0.044391 0.048928 0.052085 0.009471 0.039753 0.068567 0.039996 0.018745 0.069961 0.114036 0.081245 0.018619 0.047434 0.030178 0.090883 0.054691 0.008448 0.033789 0.066530; +- ++)" ++// Visual studio needs regular breaks in long strings, to avoid C2026 "string too big" ++R"( + model FLAVI= + 0.077462 + 0.078037 0.000020 +diff --git a/tree/tree.cpp b/tree/tree.cpp +index 5290594..e130697 100644 +--- a/tree/tree.cpp ++++ b/tree/tree.cpp +@@ -6991,8 +6991,10 @@ PositionType cmaple::Tree::count_aRLT_SH_branch( + lh_diff_3 += site_lh_diff_3[j]; + lh_diff_3 += site_lh_root_diff_3[j]; + } ++#ifdef DEBUG + assert(isinf(lh_diff_2) || fabs(lh_diff_2 - nodelh.getLhDiff2()) < 1e-3); + assert(isinf(lh_diff_3) || fabs(lh_diff_3 - nodelh.getLhDiff3()) < 1e-3); ++#endif + + // iterate a number of replicates + #pragma omp parallel reduction(+ : sh_count) +@@ -8848,8 +8850,17 @@ void cmaple::Tree::expandTreeByOneLessInfoSeq(PhyloNode& node, + // add a new node representing the less-info-seq + // the default min_blength in CMAPLE is not small enough -> I set it at + // min_blength * 0.1 for a higher accuracy when calculating aLRT-SH +- const RealNumType new_min_blength = ++ RealNumType new_min_blength = + (params->fixed_min_blength == -1) ? min_blength * 0.1 : min_blength; ++ ++ // if the two sequences are identical set the new blength at 0 ++ if (lower_regions->compareWithSample(*node.getPartialLh(TOP), ++ static_cast(aln->ref_seq.size()), aln) == 1 && ++ node.getPartialLh(TOP)->compareWithSample(*lower_regions, ++ static_cast(aln->ref_seq.size()), aln) == 1) ++ new_min_blength = 0; ++ ++ // connect the new node to the tree + connectNewSample2Branch( + lower_regions, seq_name_index, node_index, node, top_distance, 0, + new_min_blength, best_child_regions, upper_left_right_regions); +diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt +index 524f20e..1a400be 100644 +--- a/utils/CMakeLists.txt ++++ b/utils/CMakeLists.txt +@@ -7,6 +7,14 @@ matrix.h + logstream.h logstream.cpp + ) + ++if(CLANG AND WIN32) ++ if (BINARY32) ++ target_link_libraries(cmaple_utils ${PROJECT_SOURCE_DIR}/libraries/static/lib32/libiomp5md.dll) ++ else() ++ target_link_libraries(cmaple_utils ${PROJECT_SOURCE_DIR}/libraries/static/lib/libiomp5md.dll) ++ endif() ++endif() ++ + #find_package(OpenMP) + #if(OpenMP_CXX_FOUND) + # if(ZLIB_FOUND) +diff --git a/utils/matrix.h b/utils/matrix.h +index cc72203..7b3b2ba 100644 +--- a/utils/matrix.h ++++ b/utils/matrix.h +@@ -79,7 +79,7 @@ inline double horiz_sum(simde__m256d v) { + vlow = simde_mm_add_pd(vlow, vhigh); // reduce down to 128 + + simde__m128d high64 = simde_mm_unpackhi_pd(vlow, vlow); +- return simde_mm_cvtsd_f64(_mm_add_sd(vlow, high64)); // reduce to scalar ++ return simde_mm_cvtsd_f64(simde_mm_add_sd(vlow, high64)); // reduce to scalar + } + + +diff --git a/utils/operatingsystem.cpp b/utils/operatingsystem.cpp +index b8715d9..08d9a63 100644 +--- a/utils/operatingsystem.cpp ++++ b/utils/operatingsystem.cpp +@@ -8,10 +8,10 @@ + #include "operatingsystem.h" + #include + #include +-#if defined(WIN32) || defined(WIN64) +-#include //for _isatty +-#else ++#if defined(CMAPLE_HAS_UNISTDH) + #include //for isatty ++#else ++#include //for _isatty + #endif + + auto getOSName() -> std::string { +@@ -32,9 +32,9 @@ auto getOSName() -> std::string { + } + + auto isStandardOutputATerminal() -> bool { +-#if defined(WIN32) || defined(WIN64) +- return _isatty(fileno(stdout)); +-#else ++#if defined(CMAPLE_HAS_UNISTDH) + return isatty(fileno(stdout)); ++#else ++ return _isatty(fileno(stdout)); + #endif + } +diff --git a/utils/operatingsystem.h b/utils/operatingsystem.h +index 35ac951..37dfe92 100644 +--- a/utils/operatingsystem.h ++++ b/utils/operatingsystem.h +@@ -9,6 +9,7 @@ + #define operatingsystem_h + + #include ++#include + + std::string getOSName(); + bool isStandardOutputATerminal(); +diff --git a/utils/tools.cpp b/utils/tools.cpp +index a8b1c4e..9992a93 100644 +--- a/utils/tools.cpp ++++ b/utils/tools.cpp +@@ -881,8 +881,8 @@ void cmaple::parseArg(int argc, char* argv[], Params& params) { + outError(e.what()); + } + +- if (params.fixed_min_blength <= 0) { +- outError(" following -min-bl must be positive!"); ++ if (params.fixed_min_blength <= 1e-12) { ++ outError(" following -min-bl must be at least 1e-12!"); + } + + continue; diff --git a/recipes/cmappy/meta.yaml b/recipes/cmappy/meta.yaml index 196a2880e7b0d..5c54402bd40e8 100644 --- a/recipes/cmappy/meta.yaml +++ b/recipes/cmappy/meta.yaml @@ -15,9 +15,11 @@ build: - gct2gctx=cmapPy.pandasGEXpress.gct2gctx:main - concat=cmapPy.pandasGEXpress.concat:main - subset=cmapPy.pandasGEXpress.subset:main - number: 5 + number: 7 skip: True # [py<30] script: {{ PYTHON }} -m pip install . --no-deps -vv + run_exports: + - {{ pin_subpackage('cmappy', max_pin='x') }} requirements: build: @@ -50,3 +52,7 @@ about: license_family: BSD summary: Assorted tools for interacting with .gct, .gctx, .grp, and .gmt files as well as other Connectivity Map (Broad Institute) data/tools + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/cmat/build.sh b/recipes/cmat/build.sh new file mode 100644 index 0000000000000..a1e02d94b7d2e --- /dev/null +++ b/recipes/cmat/build.sh @@ -0,0 +1,11 @@ +#!/bin/bash -euo + +$PYTHON -m pip install . --no-deps --no-build-isolation --no-cache-dir --use-pep517 -vvv + +CMAT="${PREFIX}/share/${PKG_NAME}-${PKG_VERSION}" +mkdir -p ${PREFIX}/bin ${CMAT} + +chmod 775 bin/cmat/* +cp -f bin/cmat/* ${PREFIX}/bin + +mv bin/ mappings/ pipelines/ ${CMAT} diff --git a/recipes/cmat/meta.yaml b/recipes/cmat/meta.yaml new file mode 100644 index 0000000000000..dd607eeb31f7e --- /dev/null +++ b/recipes/cmat/meta.yaml @@ -0,0 +1,68 @@ +{% set name = "cmat" %} +{% set version = "3.3.0" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/EBIvariation/CMAT/archive/v{{version}}.tar.gz + sha256: d39137937c2827b401fe7ca10ccaaf4f8dbbac049e7ea5b86ded6713bf1efdba + +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + +requirements: + host: + - nextflow >=21.10 + - python >=3.8,<3.10 # restriction from biopython + - biopython ==1.77 + - coverage ==6.5.0 + - coveralls ==3.3.1 + - jsonschema ==3.2.0 + - numpy ==1.24.3 + - pandas ==1.5.3 + - pytest ==7.2.2 + - pytest-cov ==2.10.0 + - pyyaml ==6.0.1 + - requests ==2.32.3 + - requests-mock ==1.8.0 + - retry ==0.9.2 + run: + - nextflow >=21.10.0 + - python >=3.8,<3.10 + - biopython ==1.77 + - coverage ==6.5.0 + - coveralls ==3.3.1 + - jsonschema ==3.2.0 + - numpy ==1.24.3 + - pandas ==1.5.3 + - pytest ==7.2.2 + - pytest-cov ==2.10.0 + - pyyaml ==6.0.1 + - requests ==2.32.3 + - requests-mock ==1.8.0 + - retry ==0.9.2 + +test: + imports: + - cmat + commands: + - cmat + # rm to avoid this: https://github.com/bioconda/bioconda-utils/issues/172 + - cmat annotate --help && rm -rf .nextflow + +about: + home: https://github.com/EBIvariation/CMAT + summary: ClinVar Mapping and Annotation Toolkit + license: Apache-2.0 + license_family: APACHE + license_file: LICENSE + dev_url: https://github.com/EBIvariation/CMAT + +extra: + recipe-maintainers: + - apriltuesday diff --git a/recipes/cnasim/meta.yaml b/recipes/cnasim/meta.yaml new file mode 100644 index 0000000000000..ad5f1c73128d4 --- /dev/null +++ b/recipes/cnasim/meta.yaml @@ -0,0 +1,45 @@ +{% set name = "cnasim" %} +{% set version = "1.3.4" %} + +package: + name: '{{ name }}' + version: '{{ version }}' + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + sha256: 135d6f5857530e153eff81f9652a8d670a3e88c00df0c610ed907bd51db59334 + +build: + noarch: python + number: 0 + entry_points: + - cnasim = CNAsim.main:main + script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv + run_exports: + - {{ pin_subpackage('cnasim', max_pin="x") }} + +requirements: + host: + - python >=3.7 + - pip + run: + - python >=3.7 + - numpy >=1.24.3 + - scipy >=1.10.1 + - msprime >=1.2.0 + - biopython >=1.8.1 + - pyfaidx >=0.7.2.1 + - samtools + - dwgsim + +test: + commands: + - cnasim -h + +about: + home: https://github.com/samsonweiner/CNAsim + license: GPL-3.0-only + license_file: LICENSE + summary: Improved simulation of single-cell copy number profiles and DNA-seq data from tumors + description: | + CNAsim is a software package for improved simulation of single-cell copy number alteration (CNA) data from tumors. See our paper with the same name published in Bioinformatics. \ No newline at end of file diff --git a/recipes/cnmf/meta.yaml b/recipes/cnmf/meta.yaml new file mode 100644 index 0000000000000..42c0284e02d37 --- /dev/null +++ b/recipes/cnmf/meta.yaml @@ -0,0 +1,54 @@ +{% set name = "cnmf" %} +{% set version = "1.6.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.org/packages/source/{{ name[0] }}/{{ name }}/cnmf-{{ version }}.tar.gz + sha256: a38dfe82261087ed1945aac069a77a04fc12f5e8621bfa1c9b3e662339432c2a + +build: + number: 0 + noarch: python + entry_points: + - cnmf = cnmf:main + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + run_exports: + - {{ pin_subpackage('cnmf', max_pin="x") }} + +requirements: + host: + - python >=3.7 + - pip + run: + - python >=3.7 + - scikit-learn >=1.0 + - anndata >=0.9 + - scanpy + - pandas + - numpy + - fastcluster + - matplotlib-base + - palettable + - scipy + - pyyaml + +test: + imports: + - cnmf + commands: + - cnmf --help + +about: + home: https://github.com/dylkot/cNMF + summary: "Consensus NMF for scRNA-Seq data." + license: MIT + license_family: MIT + license_file: LICENSE + dev_url: https://github.com/dylkot/cNMF + +extra: + identifiers: + - doi:10.7554/eLife.43803 diff --git a/recipes/cnv_facets/build.sh b/recipes/cnv_facets/build.sh index 37d48cafb138b..cd500288f600e 100644 --- a/recipes/cnv_facets/build.sh +++ b/recipes/cnv_facets/build.sh @@ -1,16 +1,12 @@ #!/bin/bash -set -e +set -xe FACETS_GIT_REF=`grep -P ' *^FACETS_REF' install/install_pkgs.R \ | sed 's/ //g; s/<-//; s/=//;' \ | tr "'" '"' \ | sed 's/FACETS_REF"//; s/".*//'` -$R -e "devtools::install_github('mskcc/facets', ref= '$FACETS_GIT_REF', lib= NULL, repos= 'https://cran.r-project.org')" - -$R -e 'install.packages(c("argparse"), lib= NULL, repos= "https://cran.r-project.org")' - mkdir -p $PREFIX/bin chmod a+x bin/cnv_facets.R cp bin/cnv_facets.R $PREFIX/bin/ diff --git a/recipes/cnv_facets/meta.yaml b/recipes/cnv_facets/meta.yaml index f4a0bec2d5da0..33bfbf683e95c 100644 --- a/recipes/cnv_facets/meta.yaml +++ b/recipes/cnv_facets/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.16.0" %} -{% set sha256 = "3628bc0970942e79292d60a972df85f75c7a8699c633f79fb96ba071e83600a2" %} +{% set version = "0.16.1" %} +{% set sha256 = "64c29e2719306cc8e20318ff9a857fa2bb4fcd2af5eea30e733dad4867475972" %} package: name: cnv_facets @@ -10,7 +10,9 @@ source: sha256: '{{sha256}}' build: - number: 2 + number: 1 + run_exports: + - {{ pin_subpackage('cnv_facets', max_pin="x") }} skip: True # [not linux] requirements: @@ -19,6 +21,8 @@ requirements: - {{ compiler('cxx') }} - {{ compiler('fortran') }} host: + - r-argparse >=2.1.6 + - r-facets - r-base - r-devtools - r-data.table @@ -31,6 +35,8 @@ requirements: - bcftools >=1.9 - snp-pileup run: + - r-argparse >=2.1.6 + - r-facets - r-base - r-data.table - r-ggplot2 @@ -54,5 +60,7 @@ about: license_family: MIT extra: + additional-platforms: + - linux-aarch64 maintainers: - Dario Beraldi diff --git a/recipes/cnvkit/meta.yaml b/recipes/cnvkit/meta.yaml index b4fce96ae4f94..f39326c930829 100644 --- a/recipes/cnvkit/meta.yaml +++ b/recipes/cnvkit/meta.yaml @@ -1,37 +1,43 @@ -{% set version="0.9.10" %} +{% set name = "cnvkit" %} +{% set version = "0.9.11" %} + package: - name: cnvkit + name: {{ name }} version: {{ version }} source: url: https://github.com/etal/cnvkit/archive/v{{ version }}.tar.gz - sha256: 56739496f1f59511661107e662d81e5fd8af413571e853b0a1b34d882a19349a + sha256: 1763936427184270108fd51219ebc82f542e28339bdec587579b8745f61179a8 build: noarch: python number: 0 - script: {{ PYTHON }} -m pip install . --no-deps -vv + entry_points: + - cnvkit.py = cnvlib.cnvkit:main + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + run_exports: + - {{ pin_subpackage('cnvkit', max_pin="x.x") }} requirements: host: - - python >=3.5 + - python >=3.8 - pip run: - - python >=3.5 + - python >=3.8 - bioconductor-dnacopy - - biopython >=1.62 - - joblib <1.0 - - matplotlib-base >=1.3.1 + - biopython >=1.80 + - matplotlib-base >=3.5.2 - networkx >=2.4 - - numpy >=1.9 - - pandas >=0.23.3 - - pomegranate >=0.9.0 - - pyfaidx >=0.4.7 - - pysam >=0.16.0 + - numpy >=1.24.2 + - pandas >=1.5.3 + - pomegranate >=0.14.8,<=0.14.9 + - pyfaidx >=0.7.1 + - pysam >=0.20.0 - r-base >=3.4.1 - r-cghflasso - - reportlab >=3.0 - - scipy >=0.15.0 + - reportlab >=3.6.12 + - scikit-learn >=1.1.0 + - scipy >=1.10.1 test: imports: @@ -45,9 +51,30 @@ test: about: home: https://github.com/etal/cnvkit license: Apache-2.0 + license_family: APACHE + license_file: LICENSE summary: Copy number variant detection from high-throughput sequencing + dev_url: https://github.com/etal/cnvkit + doc_url: https://cnvkit.readthedocs.io/en/stable/ extra: identifiers: - biotools:cnvkit - doi:10.1371/journal.pcbi.1004873 + - usegalaxy-eu:cnvkit_access + - usegalaxy-eu:cnvkit_antitarget + - usegalaxy-eu:cnvkit_autobin + - usegalaxy-eu:cnvkit_batch + - usegalaxy-eu:cnvkit_call + - usegalaxy-eu:cnvkit_coverage + - usegalaxy-eu:cnvkit_diagram + - usegalaxy-eu:cnvkit_fix + - usegalaxy-eu:cnvkit_heatmap + - usegalaxy-eu:cnvkit_reference + - usegalaxy-eu:cnvkit_scatter + - usegalaxy-eu:cnvkit_segment + - usegalaxy-eu:cnvkit_target + - usegalaxy-eu:cnvkit_breaks + - usegalaxy-eu:cnvkit_genemetrics + - usegalaxy-eu:cnvkit_segmetrics + - usegalaxy-eu:cnvkit_sex diff --git a/recipes/cnvnator/meta.yaml b/recipes/cnvnator/meta.yaml index ed96122dd455a..ee720182c3b7c 100644 --- a/recipes/cnvnator/meta.yaml +++ b/recipes/cnvnator/meta.yaml @@ -15,7 +15,7 @@ source: folder: samtools build: - number: 8 + number: 9 skip: True # [osx] requirements: diff --git a/recipes/coatran/build.sh b/recipes/coatran/build.sh index b0e17ef5d4f51..3fb84cb72e5d8 100644 --- a/recipes/coatran/build.sh +++ b/recipes/coatran/build.sh @@ -2,4 +2,4 @@ mkdir -p ${PREFIX}/bin make CXX=${CXX} -cp {coatran_constant,coatran_expgrowth,coatran_transtree,coatran_inftime} ${PREFIX}/bin +cp coatran_* ${PREFIX}/bin diff --git a/recipes/coatran/meta.yaml b/recipes/coatran/meta.yaml index 92dea311f4897..73c066d76d605 100644 --- a/recipes/coatran/meta.yaml +++ b/recipes/coatran/meta.yaml @@ -1,43 +1,43 @@ -{% set name = "CoaTran" %} -{% set version = "0.0.1" %} -{% set commit = "e0d34b0" %} -{% set sha256 = "a20c263675ec34ecbfd08eecfaa639aa5b6fb7648b5d27fdf41cec9f8eb8cce0" %} +{% set name = "coatran" %} +{% set version = "0.0.4" %} package: - name: "{{ name|lower }}" - version: "{{ version }}" - -source: - url: "https://github.com/niemasd/CoaTran/archive/{{ commit }}.zip" - sha256: {{ sha256}} + name: {{ name }} + version: {{ version }} build: - number: 3 + number: 0 + run_exports: + - {{ pin_subpackage('coatran', max_pin="x.x.x") }} + +source: + url: https://github.com/niemasd/CoaTran/archive/refs/tags/{{ version }}.tar.gz + sha256: b0af9eff5c78a7126ce5f36386c3c514e811d3470392a7a18566195e40765456 requirements: build: - - make + - {{ compiler('c') }} - {{ compiler('cxx') }} - host: - run: - -test: - commands: - - coatran_constant --help 2>&1 | grep CoaTran - - coatran_expgrowth --help 2>&1 | grep CoaTran - - coatran_transtree --help 2>&1 | grep CoaTran - - coatran_inftime --help 2>&1 | grep CoaTran + - make about: - home: "https://github.com/niemasd/CoaTran" - license: GPLv3 - license_family: GPL + home: https://github.com/niemasd/CoaTran + license: GPL-3.0-or-later + license_family: GPL3 license_file: LICENSE - summary: "CoaTran: Coalescent tree simulation along a transmission network" - dev_url: "https://github.com/niemasd/CoaTran" + summary: Coalescent tree simulation along a transmission network + dev_url: https://github.com/niemasd/CoaTran + +test: + commands: + - coatran_constant -h 2>&1 | grep "CoaTran" + - coatran_inftime -h 2>&1 | grep "CoaTran" + - coatran_transtree -h 2>&1 | grep "CoaTran" extra: identifiers: - biotools:coatran + - doi:10.1101/2020.11.10.377499 recipe-maintainers: - acaprez + - niemasd diff --git a/recipes/cobra-meta/meta.yaml b/recipes/cobra-meta/meta.yaml new file mode 100644 index 0000000000000..75e252817b53c --- /dev/null +++ b/recipes/cobra-meta/meta.yaml @@ -0,0 +1,45 @@ +{% set name = "cobra-meta" %} +{% set version = "1.2.3" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/linxingchen/cobra/archive/refs/tags/v{{ version }}.tar.gz + sha256: 877813cd705cb5a8b3611f3fca705bb6576ba82a8283552bed73c34bec880375 + +build: + entry_points: + - cobra-meta = cobra:main + noarch: python + script: "{{ PYTHON }} -m pip install . -vv" + number: 0 + run_exports: + - {{ pin_subpackage('cobra-meta', max_pin="x") }} + +requirements: + host: + - python >=3.7 + - pip + run: + - python >=3.7 + - biopython + - pysam + - numpy + - blast >=2.14.0,<3.0.0 + +test: + commands: + - cobra-meta -v + +about: + home: https://github.com/linxingchen/cobra + license: MIT + summary: 'COBRA is a tool to get higher quality viral genomes assembled from metagenomes.' + +extra: + identifiers: + - doi:10.1101/2023.05.30.542503 + recipe-maintainers: + - linxingchen diff --git a/recipes/cobs/meta.yaml b/recipes/cobs/meta.yaml index ae42225155e83..5bc5a476470e7 100644 --- a/recipes/cobs/meta.yaml +++ b/recipes/cobs/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.2.1" %} +{% set version = "0.3.0" %} {% set name = "cobs" %} package: @@ -7,10 +7,12 @@ package: source: url: https://github.com/iqbal-lab-org/{{ name }}/releases/download/v{{ version }}/{{ name }}-{{ version }}.tar.gz - sha256: ce2ab77ffb17327250244f47481e100df5191a3e8c218e9725cb5e9c80e24ee2 + sha256: cbbb9039ac0077f139d1ba2841f88d75efc351296e48ac9d388822d1f95063c1 build: - number: 2 + number: 1 + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x.x") }} requirements: build: diff --git a/recipes/codingquarry/meta.yaml b/recipes/codingquarry/meta.yaml index ca2e2fa867e00..c027a2f2b9f6d 100644 --- a/recipes/codingquarry/meta.yaml +++ b/recipes/codingquarry/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 8 + number: 9 skip: True # [osx] requirements: diff --git a/recipes/codoff/meta.yaml b/recipes/codoff/meta.yaml new file mode 100644 index 0000000000000..ac722f131ce11 --- /dev/null +++ b/recipes/codoff/meta.yaml @@ -0,0 +1,44 @@ +{% set name = "codoff" %} +{% set version = "1.1.8" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/Kalan-Lab/codoff/archive/refs/tags/v{{ version }}.tar.gz + sha256: 9f32c3f0a72df67a9951add4bcd0ecbe60fd48471321ba952bdb0c2867343cfd + +build: + number: 0 + noarch: python + script: "{{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv" + run_exports: + - {{ pin_subpackage("codoff", max_pin="x.x") }} + +requirements: + host: + - python + - setuptools + - pip + - wget + run: + - python >=3.10 + - biopython + - setuptools + - scipy + - seaborn + - matplotlib-base + - pyrodigal + +test: + commands: + - codoff -h + +about: + home: https://github.com/Kalan-Lab/codoff + license: BSD-3-Clause license + license_file: LICENSE + license_family: BSD + summary: "codoff: program to measure the irregularity of the codon usage for a single genomic region (e.g. a BGC, phage, etc.) relative to the full genome." + dev_url: https://github.com/Kalan-Lab/codoff diff --git a/recipes/cogent3/meta.yaml b/recipes/cogent3/meta.yaml index c4c5a2efa8a74..9e74412a866f8 100644 --- a/recipes/cogent3/meta.yaml +++ b/recipes/cogent3/meta.yaml @@ -1,5 +1,5 @@ {% set name = "cogent3" %} -{% set version = "2023.9.22a1" %} +{% set version = "2024.7.19a6" %} package: name: {{ name|lower }} @@ -7,40 +7,46 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: b842df9ca55f9bb8bcc4d66787ddf25afd796f88d22663c3d14c0954c115ffcb + sha256: dae78c99be59e4a2283cd1e60ea1e35029132296c1b2c4fc750a5f28f809a72b build: noarch: python - script: {{ PYTHON }} -m pip install . -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv number: 0 run_exports: - {{ pin_subpackage(name, max_pin=None) }} requirements: host: - - python >=3.8, <3.12 + - python >=3.9,<3.13 - pip - - flit-core >=3.2, <4 + - flit-core >=3.2,<4 run: - - python >=3.8, <3.12 + - python >=3.9,<3.13 + - charset-normalizer - scipy - chardet + - loky - numpy - - numba >0.48.0 + - numba >0.53.0 - scitrack - tqdm - tinydb - typing_extensions + - stevedore test: imports: - cogent3 about: - home: https://pypi.org/project/cogent3/ + home: "https://github.com/cogent3/cogent3" summary: 'COmparative GENomics Toolkit 3: genomic sequence analysis within notebooks or on compute systems with 1000s of CPUs.' - license: BSD-3-Clause + license: "BSD-3-Clause" + license_family: BSD license_file: LICENSE + dev_url: "https://github.com/cogent3/cogent3" + doc_url: "https://github.com/cogent3/cogent3/blob/{{ version }}/README.md" extra: recipe-maintainers: diff --git a/recipes/coinfinder/build_failure.osx-64.yaml b/recipes/coinfinder/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..0011b4999c3bd --- /dev/null +++ b/recipes/coinfinder/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: d0fbf2e0dff1118c517e1a1e01c10fa22029a931c3b5462d0c26754b1f8967f8 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + sys.exit(execute()) + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/coinfinder_1717782355556/work + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/coinfinder_1717782355556/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/coinfinder_1717782355556/_build_env + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/coinfinder_1717782355556/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/coinfinder-1.2.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + CLANG=x86_64-apple-darwin13.4.0-clang + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/coinfinder_1717782355556/work/conda_build.sh']' returned non-zero exit status 2. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/coinfinder-1.2.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/coinfinder-1.2.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/coinfinder-1.2.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + -- The C compiler identification is Clang 16.0.6 + -- The CXX compiler identification is Clang 16.0.6 + -- Detecting C compiler ABI info + -- Detecting C compiler ABI info - done + -- Check for working C compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting C compile features + -- Detecting C compile features - done + -- Detecting CXX compiler ABI info + -- Detecting CXX compiler ABI info - done + -- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting CXX compile features + -- Detecting CXX compile features - done + -- Found PythonInterp: $PREFIX/bin/python3 (found suitable version "3.9.19", minimum required is "3.6") + -- Found PythonLibs: $PREFIX/lib/libpython3.9.dylib (found suitable version "3.9.19", minimum required is "3.6") + -- Found Boost 1.70.0 at $PREFIX/lib/cmake/Boost-1.70.0 + -- Requested configuration: QUIET REQUIRED COMPONENTS filesystem;system + -- Found boost_headers 1.70.0 at $PREFIX/lib/cmake/boost_headers-1.70.0 + -- Found boost_filesystem 1.70.0 at $PREFIX/lib/cmake/boost_filesystem-1.70.0 + -- libboost_filesystem.a + -- Adding boost_filesystem dependencies: headers + -- Found boost_system 1.70.0 at $PREFIX/lib/cmake/boost_system-1.70.0 + -- libboost_system.a + -- Adding boost_system dependencies: headers + -- Found Boost: $PREFIX/lib/cmake/Boost-1.70.0/BoostConfig.cmake (found version "1.70.0") found components: filesystem system + -- Performing Test CMAKE_HAVE_LIBC_PTHREAD + -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success + -- Found Threads: TRUE + -- Found OpenMP_C: -fopenmp=libomp -Wno-unused-command-line-argument (found version "5.0") + -- Found OpenMP_CXX: -fopenmp=libomp -Wno-unused-command-line-argument (found version "5.0") + -- Found OpenMP: TRUE (found version "5.0") + -- Configuring done (4.1s) + -- Generating done (0.0s) + -- Build files have been written to: $SRC_DIR + [ 6%] Building CXX object CMakeFiles/coinfinder.dir/coinfind-code/main.cpp.o +# Last 100 lines of the build log. diff --git a/recipes/coinfinder/meta.yaml b/recipes/coinfinder/meta.yaml index 56baa5ca9bfc4..ceefbebc62a97 100644 --- a/recipes/coinfinder/meta.yaml +++ b/recipes/coinfinder/meta.yaml @@ -10,9 +10,9 @@ source: sha256: 98985910bff4d1845c8d8b11482205b77ef85bbc4f16a2144f5b540945d8548d build: - number: 1 - - skip: True # [py2k] + number: 2 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} rpaths: - lib/R/lib/ - lib/ diff --git a/recipes/cojac/meta.yaml b/recipes/cojac/meta.yaml index 19cf4fb339016..1010a0d2a13dd 100644 --- a/recipes/cojac/meta.yaml +++ b/recipes/cojac/meta.yaml @@ -1,6 +1,6 @@ {% set name = "cojac" %} -{% set version = "0.9.1" %} -{% set sha256 = "64b8f0eec1ccda1f0de2a5adbff68adf50e4f483210d97a8b85c65354317c1a9" %} +{% set version = "0.9.2" %} +{% set sha256 = "ffdfd2e9c65daaddcbdd9664dfdcea4a77bf5a0884f84cb77ae11c4d5156cc99" %} package: name: {{ name|lower }} @@ -25,6 +25,7 @@ requirements: - python - pip - poetry-core >=1.0.8 + - poetry-dynamic-versioning run: - python - pysam >=0.17 diff --git a/recipes/colabfold/fix-jax-04-nan.patch b/recipes/colabfold/fix-jax-04-nan.patch deleted file mode 100644 index 9065fc61d3154..0000000000000 --- a/recipes/colabfold/fix-jax-04-nan.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/alphafold/model/modules.py b/alphafold/model/modules.py -index 73f9cdd..4ca8827 100644 ---- a/alphafold/model/modules.py -+++ b/alphafold/model/modules.py -@@ -672,6 +672,7 @@ class Attention(hk.Module): - logits = jnp.einsum('bqhc,bkhc->bhqk', q, k) + bias - if nonbatched_bias is not None: - logits += jnp.expand_dims(nonbatched_bias, axis=0) -+ logits = jnp.clip(logits, -1e8, 1e8) - weights = jax.nn.softmax(logits) - weighted_avg = jnp.einsum('bhqk,bkhc->bqhc', weights, v) - -@@ -771,6 +772,7 @@ class GlobalAttention(hk.Module): - k = jnp.einsum('bka,ac->bkc', m_data, k_weights) - bias = (1e9 * (q_mask[:, None, :, 0] - 1.)) - logits = jnp.einsum('bhc,bkc->bhk', q, k) + bias -+ logits = jnp.clip(logits, -1e8, 1e8) - weights = jax.nn.softmax(logits) - weighted_avg = jnp.einsum('bhk,bkc->bhc', weights, v) - diff --git a/recipes/colabfold/meta.yaml b/recipes/colabfold/meta.yaml index 11697a3be4d8f..c69bc9d8395a3 100644 --- a/recipes/colabfold/meta.yaml +++ b/recipes/colabfold/meta.yaml @@ -1,7 +1,7 @@ -{% set cf_version = "1.5.3" %} -{% set cf_hash = "1b2776f285981796559effbc3691ebbcfcde68514cc05559583ebab76c4c25e8" %} -{% set af_version = "2.3.5" %} -{% set af_hash = "6244c2143987dd4a6a87c1174c7a801c220034fbeb8d13f901b0f950b69d8543" %} +{% set cf_version = "1.5.5" %} +{% set cf_hash = "7fb0ad263c24ec00d46f2dff1611989234bc1351d71653dd06006f2c88f83dcb" %} +{% set af_version = "2.3.6" %} +{% set af_hash = "a5674257d92928511d70f94ec3261e275cb3442a7762b5210e01f445692d2182" %} package: name: colabfold @@ -14,7 +14,7 @@ build: python -m pip install --no-deps --ignore-installed alphafold/ run_exports: - {{ pin_subpackage('colabfold', max_pin="x") }} - number: 1 + number: 2 source: - url: https://github.com/sokrypton/ColabFold/archive/refs/tags/v{{ cf_version }}.tar.gz @@ -23,14 +23,12 @@ source: - url: https://github.com/steineggerlab/alphafold/archive/refs/tags/v{{ af_version }}.tar.gz sha256: {{ af_hash }} folder: alphafold - patches: - - fix-jax-04-nan.patch requirements: host: - pip - python - - poetry + - poetry-core >=1.0.0 run: - python - absl-py @@ -42,20 +40,18 @@ requirements: - pandas - appdirs - py3Dmol - - dm-haiku - dm-tree - ml-collections - - immutabledict - importlib-metadata - - biopython - - jax ==0.4.14 - - jaxlib ==0.4.14 - - chex ==0.1.8 - - tensorflow ==2.12.1=cpu* + - dm-haiku >=0.0.12 + - biopython <=1.82 + - jax >=0.4.23,<0.4.26 + - jaxlib >=0.4.23,<0.4.26 + - tensorflow-base >=2.12.1=cpu* - mmseqs2 >=15.6f452 - kalign2 >=2.04 - hhsuite >=3.3.0 - - openmm ==7.7.0 + - openmm >=7.7.0,<8.1.0 - pdbfixer test: diff --git a/recipes/colorid_bv/build.sh b/recipes/colorid_bv/build.sh new file mode 100644 index 0000000000000..f205ac87a5a63 --- /dev/null +++ b/recipes/colorid_bv/build.sh @@ -0,0 +1,15 @@ +#!/bin/bash -e + +# Add workaround for SSH-based Git connections from Rust/cargo. See https://github.com/rust-lang/cargo/issues/2078 for details. +# We set CARGO_HOME because we don't pass on HOME to conda-build, thus rendering the default "${HOME}/.cargo" defunct. +export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="$(pwd)/.cargo" + +# build statically linked binary with Rust +RUST_BACKTRACE=1 \ + C_INCLUDE_PATH=$PREFIX/include \ + LIBRARY_PATH=$PREFIX/lib \ + cargo install --verbose --root $PREFIX --path . + +# colorid_bv is exactly the same as colorid except it lets you multithread +# and so just symlink to colorid +ln -sv $PREFIX/bin/colorid_bv $PREFIX/bin/colorid diff --git a/recipes/colorid_bv/meta.yaml b/recipes/colorid_bv/meta.yaml new file mode 100644 index 0000000000000..eb4fbe81ae11a --- /dev/null +++ b/recipes/colorid_bv/meta.yaml @@ -0,0 +1,35 @@ +{% set version = "0.1.0" %} +{% set sha256 = "208de579a3b3f7a38b18ecf3cbee5dbb54a7f9c7f7c55eb1388e088695170c0a" %} +{% set name = "colorid_bv" %} + +package: + name: {{ name }} + version: {{ version }} + +build: + number: 1 + run_exports: + - {{ pin_subpackage('colorid_bv', max_pin="x.x") }} + +source: + url: https://github.com/hcdenbakker/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +requirements: + build: + - rust >=1.43 + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - {{ compiler('rust') }} + +test: + commands: + - colorid_bv --help + - colorid --help + +about: + home: https://github.com/hcdenbakker/{{ name }} + license: MIT + license_family: MIT + #license_file: LICENSE + summary: "Experiments with using BIGSI data structure for metagenomic and QC applications" diff --git a/recipes/comebin/meta.yaml b/recipes/comebin/meta.yaml index 655515c4b5f9f..3b95de96aefd5 100644 --- a/recipes/comebin/meta.yaml +++ b/recipes/comebin/meta.yaml @@ -1,10 +1,10 @@ package: name: comebin - version: "1.0.3" + version: "1.0.4" source: - url: https://github.com/ziyewang/COMEBin/archive/refs/tags/1.0.3.tar.gz - sha256: 27001cff1029ddf492da18ba8f4db18c055f48e062237bb9e17ad65ed7602930 + url: https://github.com/ziyewang/COMEBin/archive/refs/tags/1.0.4.tar.gz + sha256: 63726b4ae450c0ca366845d46f2065326a83454b2c7f87cec5b53adc9527be22 build: number: 0 diff --git a/recipes/comet-ms/build.sh b/recipes/comet-ms/build.sh index 4201a024dcc62..f7a9edbb36ae9 100644 --- a/recipes/comet-ms/build.sh +++ b/recipes/comet-ms/build.sh @@ -5,10 +5,13 @@ set -x export INCLUDE_PATH="${PREFIX}/MSToolkit/include" export CPPFLAGS="-I${PREFIX}/MSToolkit/include" +# To switch from static to dynamic linking on linux. The Makefile does not have this flag for macOS +# Dynamic linking does not work with mulled container tests +#sed -i.bak 's#-static##' Makefile sed -i.bak "s#gcc#${CC}#;s#g++#${CXX}#" MSToolkit/Makefile sed -i.bak "s#gcc#${CC}#;s#g++#${CXX}#" CometSearch/Makefile -make CXX=${CXX} +make CXX=${CXX} -j ${CPU_COUNT} mkdir -p "$PREFIX"/bin cp comet.exe ${PREFIX}/bin/comet diff --git a/recipes/comet-ms/meta.yaml b/recipes/comet-ms/meta.yaml index ca7c83e01a164..addbd48fa6ffe 100644 --- a/recipes/comet-ms/meta.yaml +++ b/recipes/comet-ms/meta.yaml @@ -1,25 +1,29 @@ {% set name = "comet-ms" %} -{% set version = "2023010" %} -{% set md5 = "f1899e07eeeefddedf22b93133f9aea8" %} +{% set version = "2024011" %} +{% set md5 = "3f0dc29582792620b0cc916c2117965f" %} package: name: {{ name }} version: {{ version }} source: - url: https://github.com/UWPR/Comet/archive/refs/tags/v2023.01.0.zip + url: https://github.com/UWPR/Comet/archive/refs/tags/v2024.01.1.zip md5: {{ md5 }} build: + run_exports: + - {{ pin_subpackage('comet-ms', max_pin=None) }} skip: True # [osx] - number: 2 + number: 0 requirements: build: - make + - unzip - {{ compiler('c') }} - {{ compiler('cxx') }} - - unzip + # To have clock_gettime in glibc. Linking to librt did not work due to inflexible Makefiles + - sysroot_linux-64 2.17 # [linux64] test: commands: @@ -32,6 +36,8 @@ about: summary: 'Comet is a command line tool that does MS/MS database search.' extra: + additional-platforms: + - linux-aarch64 identifiers: - doi:10.1007/s13361-015-1179-x - doi:10.1002/pmic.201200439 diff --git a/recipes/commec/meta.yaml b/recipes/commec/meta.yaml new file mode 100644 index 0000000000000..676f15e6479c5 --- /dev/null +++ b/recipes/commec/meta.yaml @@ -0,0 +1,55 @@ +{% set name = "commec" %} +{% set version = "0.1.2" %} +{% set sha256 = "33e99060dca151cb9d5481f47e02f1b5276b2cdf61804e7093f0cfc32bef1188" %} + +package: + name: "{{ name }}" + version: "{{ version }}" + +source: + url: https://github.com/ibbis-screening/common-mechanism/archive/refs/tags/v{{version}}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + noarch: python + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + run_exports: + # consider using "x.x.x" rather than "x.x", or "x" considering alpha software and liklihood of change. + - {{ pin_subpackage('commec', max_pin="x.x") }} + +requirements: + host: + - python >=3.1 + - pip >=24 + run: + - python >=3.1 + # Runtime Python dependencies + - biopython >=1.8 + - numpy >=2.0.0 + - pandas >=2.2 + - pytaxonkit >=0.8 + # Runtime non-Python dependencies + - bedtools >=2.31 + - blast >=2.16 + - emboss >=6.6 + - diamond >=0.9 + - hmmer >=3.4 + - infernal >=1.1 + - parallel >=20240722 + - perl-list-moreutils >=0.430 + - taxonkit >=0.17 + +test: + commands: + - commec screen --help + - commec flag --help + - commec split --help + +about: + home: https://github.com/ibbis-screening/common-mechanism + license: MIT + license_family: MIT + doc_url: https://github.com/ibbis-screening/common-mechanism/wiki + summary: "commec: a free, open-source, globally available tool for DNA sequence screening" + dev_url: https://github.com/ibbis-screening/common-mechanism diff --git a/recipes/commet/build_failure.osx-64.yaml b/recipes/commet/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..174b4991df7af --- /dev/null +++ b/recipes/commet/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: ea5583246a525ede677c830c075aacd8bbf1f95d5c545f7ba2769d3938b2d79b # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + Y :: Build-prefix patch in use M :: Minimal, non-amalgamated + D :: Dry-runnable N :: Patch level (1 is preferred) + L :: Patch level not-ambiguous O :: Patch applies without offsets + V :: Patch applies without fuzz E :: Patch applies without emitting to stderr + + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/commet_1717513473652/work + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/commet_1717513473652/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/commet_1717513473652/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/commet_1717513473652/work + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/commet_1717513473652/work/conda_build.sh']' returned non-zero exit status 2. + INFO: activate-gfortran_osx-64.sh made the following environmental changes: + DEBUG_FFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/commet-24.7.14 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fimplicit-none -fvar-tracking-assignments + DEBUG_FORTRANFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/commet-24.7.14 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fimplicit-none -fvar-tracking-assignments + F77=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + F90=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + F95=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + FC=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + FC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + FFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/commet-24.7.14 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + FORTRANFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/commet-24.7.14 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + GFORTRAN=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/commet-24.7.14 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/commet-24.7.14 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/commet-24.7.14 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/commet-24.7.14 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + INFO: activate-gfortran_osx-64.sh made the following environmental changes: + DEBUG_FFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/commet-24.7.14 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + DEBUG_FORTRANFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/commet-24.7.14 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + FC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + GFORTRAN=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + -DEBUG_FFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/commet-24.7.14 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fimplicit-none -fvar-tracking-assignments + -DEBUG_FORTRANFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/commet-24.7.14 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fimplicit-none -fvar-tracking-assignments + -FC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + -GFORTRAN=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + INFO: activate_clang_osx-64.sh made the following environmental changes: + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + -CC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + -CMAKE_ARGS=-DCMAKE_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + -OBJC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + -CXX_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + x86_64-apple-darwin13.4.0-clang -o bin/index_and_search src/index_and_search.cpp -lm -lz -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/commet-24.7.14 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Iinclude -L$PREFIX/lib -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + x86_64-apple-darwin13.4.0-clang -o bin/filter_reads src/filter_reads.cpp -lm -lz -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/commet-24.7.14 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Iinclude -L$PREFIX/lib -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib +# Last 100 lines of the build log. diff --git a/recipes/commet/meta.yaml b/recipes/commet/meta.yaml index a1998218e5d65..03969732436f1 100644 --- a/recipes/commet/meta.yaml +++ b/recipes/commet/meta.yaml @@ -9,7 +9,7 @@ source: - commet.patch build: - number: 10 + number: 11 rpaths: - lib/R/lib/ - lib/ diff --git a/recipes/comparem2/build.sh b/recipes/comparem2/build.sh new file mode 100644 index 0000000000000..322e1d799584d --- /dev/null +++ b/recipes/comparem2/build.sh @@ -0,0 +1,19 @@ +#!/bin/bash -euo + +# Set up dir +mkdir -p ${PREFIX}/bin +export PACKAGE_HOME="${PREFIX}/share/${PKG_NAME}-${PKG_VERSION}-${PKG_BUILDNUM}" + +# Copy files +mkdir -p "${PACKAGE_HOME}" +chmod 755 comparem2 +cp -f comparem2 LICENSE "${PACKAGE_HOME}" +cp -rf config docs dynamic_report profile resources tests workflow "${PACKAGE_HOME}" + +# Make links +ln -sf ${PACKAGE_HOME}/comparem2 ${PREFIX}/bin/comparem2 +ln -sf ${PACKAGE_HOME}/comparem2 ${PREFIX}/bin/asscom2 # Legacy + +# This one is a hack until I fix Snakemake for good. +ln -sf ${PACKAGE_HOME}/resources/enable_passthrough_parameters.sh ${PREFIX}/bin/enable_passthrough_parameters_comparem2 + diff --git a/recipes/comparem2/meta.yaml b/recipes/comparem2/meta.yaml new file mode 100644 index 0000000000000..087cb1fc1f3c6 --- /dev/null +++ b/recipes/comparem2/meta.yaml @@ -0,0 +1,43 @@ +{% set name = "comparem2" %} +{% set version = "2.11.1" %} +{% set sha256 = "cc0979068e06490aca1582fe0590a14519307f82e14872ceece3be1555702ee4" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/cmkobel/CompareM2/archive/refs/tags/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage('comparem2', max_pin="x") }} + +requirements: + run: + - snakemake-minimal <8 + - pulp <2.8 + - python <3.12 + - mamba # Necessary for snakemake to install child environments during development. + - pandas + + +test: + commands: + - "touch dummy.fa; comparem2 --help" + +about: + home: "https://github.com/cmkobel/comparem2" + summary: 'CompareM2 genomes-to-report pipeline' + license_family: GPL3 + license: "GPL-3.0-or-later" + license_file: LICENSE + dev_url: "https://github.com/cmkobel/comparem2" + doc_url: "https://comparem2.readthedocs.io" + +extra: + recipe-maintainers: + - cmkobel diff --git a/recipes/compleasm/meta.yaml b/recipes/compleasm/meta.yaml index d5fbb5f1394f8..3a880d2db517b 100644 --- a/recipes/compleasm/meta.yaml +++ b/recipes/compleasm/meta.yaml @@ -1,6 +1,6 @@ {% set name = "compleasm" %} -{% set version = "0.2.2" %} -{% set hash = "07772e567b6c058e2a685abbe4ab75d9636bd8aebb013b5348744383e4266766" %} +{% set version = "0.2.6" %} +{% set hash = "298a50064b3ada90089912844e40c174de49c976a19ccb53d3645f312649ad25" %} package: name: "{{ name|lower }}" @@ -17,6 +17,8 @@ build: - compleasm=compleasm:main script: - {{ PYTHON }} -m pip install . -vv + run_exports: + - {{ pin_subpackage(name, max_pin="x.x.x") }} requirements: host: diff --git a/recipes/complexcgr/meta.yaml b/recipes/complexcgr/meta.yaml new file mode 100644 index 0000000000000..0dd7c0b71a5f1 --- /dev/null +++ b/recipes/complexcgr/meta.yaml @@ -0,0 +1,49 @@ +{% set name = "complexcgr" %} +{% set version = "0.8.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/complexcgr-{{ version }}.tar.gz + sha256: 800085b4f2187a0acc4c2cb09d4c8459d9192f6d91a502101393e012978960dd + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + build: + run_exports: + - {{ pin_subpackage('complexcgr', max_pin="x.x") }} + +requirements: + host: + - python >=3.9,<4.0 + - poetry-core >=1.0.0 + - pip + run: + - python >=3.9.0,<4.0.0 + - tqdm >=4.61.2,<5.0.0 + - matplotlib-base >=3.4.2,<4.0.0 + - pillow >=10.0.0,<11.0.0 + - numpy >=1.22.3,<2.0.0 + - biopython >=1.79.0,<2.0.0 + +test: + imports: + - complexcgr + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/AlgoLab/complexCGR + summary: Encoders and Image representation of DNA/RNA sequences based on the Chaos Game Representation of DNA + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - jorgeavilacartes diff --git a/recipes/concoct/concoct-newer-scikit-learn.patch b/recipes/concoct/concoct-newer-scikit-learn.patch new file mode 100644 index 0000000000000..ad392765b8128 --- /dev/null +++ b/recipes/concoct/concoct-newer-scikit-learn.patch @@ -0,0 +1,12 @@ +diff --git i/concoct/transform.py w/concoct/transform.py +index 20e90d3..aff6e7f 100644 +--- i/concoct/transform.py ++++ w/concoct/transform.py +@@ -2,6 +2,7 @@ from sklearn.decomposition import PCA + import pandas as p + + def perform_pca(d, nc, seed): ++ d.columns = d.columns.astype(str) # add this exact line + pca_object = PCA(n_components=nc, random_state=seed).fit(d) + return pca_object.transform(d), pca_object + diff --git a/recipes/concoct/meta.yaml b/recipes/concoct/meta.yaml index 1dbd2af74470f..3446855ce8fb8 100644 --- a/recipes/concoct/meta.yaml +++ b/recipes/concoct/meta.yaml @@ -1,15 +1,22 @@ +{% set name = "concoct" %} +{% set version = "1.1.0" %} + package: - name: concoct - version: "1.1.0" + name: {{ name }} + version: {{ version }} source: - url: https://github.com/BinPro/CONCOCT/archive/1.1.0.tar.gz + url: https://github.com/BinPro/CONCOCT/archive/{{ version }}.tar.gz sha256: 00aecacb4b720ac123a63e65072c61e0b5a8690d844c869aaee4dbf287c82888 + patches: + - concoct-newer-scikit-learn.patch build: preserve_egg_dir: True - number: 4 + number: 6 skip: True # [osx] + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: build: @@ -29,7 +36,8 @@ requirements: - pandas >=0.11.0 - biopython >=1.62b - pytz >=2013.9 - - scikit-learn ==1.1.3 + - scikit-learn >=1.1.3 + - libopenblas =*=*openmp* - nose >=1.3.0 - gsl - samtools @@ -47,6 +55,8 @@ about: license_family: BSD extra: + additional-platforms: + - linux-aarch64 skip-lints: - uses_setuptools # concoct uses pkg_resources - cython_must_be_in_host # Cython needs to be in run as well currently diff --git a/recipes/condiga/meta.yaml b/recipes/condiga/meta.yaml index 49725a4d226b7..bc43a45207ab8 100644 --- a/recipes/condiga/meta.yaml +++ b/recipes/condiga/meta.yaml @@ -1,5 +1,5 @@ {% set name = "ConDiGA" %} -{% set version = "0.2.1" %} +{% set version = "0.2.2" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://github.com/metagentools/{{ name }}/archive/v{{ version }}.tar.gz" - sha256: adde1cc9808f3d1b174309affc385464880968a33434f2de411e099686c1aec2 + sha256: 492bcf86bfceff50af12c230e98284f9422330d6d2840280c0eb3fed3fd843ed build: number: 0 @@ -15,14 +15,16 @@ build: entry_points: - convert=condiga_utils.support.convert:main script: - - "{{ PYTHON }} -m pip install . -vv" + - "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('condiga', max_pin="x.x") }} requirements: host: - pip - - python + - python >=3.8 run: - - python + - python >=3.8 - click - biopython - xlsxwriter diff --git a/recipes/conipher/meta.yaml b/recipes/conipher/meta.yaml index 99b2e50c63268..27ec14933e8da 100644 --- a/recipes/conipher/meta.yaml +++ b/recipes/conipher/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "2.1.0" %} -{% set sha256 = "5b5d988dbf79288e6dca09c2c41d65ad89c9186e40a31c2bfdb4504a43d3919f" %} +{% set version = "2.2.0" %} +{% set sha256 = "d985126f31ce71141e031e6431ee0c0baaad0b42a65492f46de06456638ee151" %} package: name: conipher @@ -10,11 +10,13 @@ source: sha256: '{{ sha256 }}' build: - number: 1 + number: 0 noarch: generic rpaths: - lib/R/lib - lib/ + run_exports: + - {{ pin_subpackage('conipher', max_pin="x.x") }} requirements: host: @@ -81,4 +83,4 @@ extra: recipe-maintainers: - arihueb identifiers: - - doi:10.21203/rs.3.pex-2158/v1 \ No newline at end of file + - doi:10.1038/s41596-023-00913-9 \ No newline at end of file diff --git a/recipes/consensify/build.sh b/recipes/consensify/build.sh new file mode 100755 index 0000000000000..1bded391fb320 --- /dev/null +++ b/recipes/consensify/build.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +set -xe + +## compile +${CXX} -c consensify_c.cpp -I./ ${CXXFLAGS} + +## link +${CXX} consensify_c.o -o consensify_c -lz ${LDFLAGS} + +## install +mkdir -p $PREFIX/bin +cp consensify_c ${PREFIX}/bin/consensify_c diff --git a/recipes/consensify/meta.yaml b/recipes/consensify/meta.yaml new file mode 100644 index 0000000000000..be77f31b16102 --- /dev/null +++ b/recipes/consensify/meta.yaml @@ -0,0 +1,41 @@ +{% set version = "2.4.0" %} + +package: + name: consensify + version: {{ version }} + +source: + url: https://github.com/jlapaijmans/Consensify/archive/refs/tags/{{ version }}.tar.gz + sha256: 2b88cda2c6ad44b6fd749d86485d3f16418b189b9c8ff4d20dd19640792dac1e + +build: + number: 1 + run_exports: + - {{ pin_subpackage('consensify', max_pin="x") }} + +requirements: + build: + - {{ compiler('cxx') }} + host: + - zlib + run: + - zlib + +test: + commands: + - consensify_c -h + +about: + home: https://github.com/jlapaijmans/Consensify + license: GPL-3.0-or-later + license_family: GPL + license_file: LICENCE.txt + dev_url: https://github.com/jlapaijmans/Consensify + doc_url: https://github.com/jlapaijmans/Consensify + summary: A method for generating a consensus pseudohaploid genome sequence + about: Consensify is a method for generating a consensus pseudohaploid genome sequence with greatly reduced error rates compared to standard pseudohaploidisation. The method is described in full and tested in the associated publication (Barlow et al. (2020), Genes 11:50, doi 10.3390/genes11010050). + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/constava/LICENSE b/recipes/constava/LICENSE new file mode 100644 index 0000000000000..f38837717b5a8 --- /dev/null +++ b/recipes/constava/LICENSE @@ -0,0 +1,16 @@ +Constava: Probabilistic assessment of protein conformational states. + +Copyright (C) 2023 Wim Vranken + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . diff --git a/recipes/constava/meta.yaml b/recipes/constava/meta.yaml new file mode 100644 index 0000000000000..b6a6c8bca7bbc --- /dev/null +++ b/recipes/constava/meta.yaml @@ -0,0 +1,119 @@ +{% set name = "constava" %} +{% set version = "1.1.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/constava-{{ version }}.tar.gz + sha256: 6ac0a19544aa7bb800cb2a5b7b85499d5473fe132ded49cefddca032065cb2a9 + +build: + number: 0 + entry_points: + - constava = constava.__main__:main + noarch: python + script: "{{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv" + run_exports: + - {{ pin_subpackage('constava', max_pin="x") }} + +requirements: + host: + - python >=3.8 + - pip + run: + - python >=3.8 + - matplotlib-base + - mdanalysis + - numpy + - pandas + - scikit-learn + +test: + imports: + - constava + - constava.utils + - constava.utils.dihedrals + commands: + - pip check + - constava --version + - constava --help + - constava dihedrals -h + - constava analyze -h + - constava fit-model -h + - constava test + requires: + - pip + + +about: + home: https://github.com/bio2byte/constava + summary: Calculate conformational states probability and variability from a protein structure ensemble + description: | + Constava analyzes conformational ensembles calculating conformational state propensities and + conformational state variability. The conformational state propensities indicate the likelihood + of a residue residing in a given conformational state, while the conformational state variability + is a measure of the residues ability to transition between conformational states. + + Each conformational state is a statistical model of based on the backbone dihedrals (phi, psi). The + default models were derived from an analysis of NMR ensembles and chemical shifts. To analyze a + conformational ensemble, the phi- and psi-angles for each conformational state in the ensemble + need to be provided. + + As input data Constava needs the backbone dihedral angles extracted from the conformational ensemble. + These dihedrals can be obtained using GROMACS' gmx chi module (set `--input-format=xvg`) + or using the constava dihedrals submodule, which supports a wide range of MD and structure formats. + + The software is subdivided in three submodules: + + The constava dihedrals submodule provides a simple way to extract backbone dihedral angles from MD + simulations or PDB ensembles. For more information run: `constava dihedrals -h`. Alternatively, + the backbone dihedrals may be extracted with GROMACS' gmx chi module. + + The constava analyze submodule analyzes the provided backbone dihedral angles and infers + the propensities for each residue to reside in a given conformational state. For more information run: + `constava analyze -h`. + + The constava fit-model can be used to train a custom probabilistic model of conformational states. The + default models were derived from an analysis of NMR ensembles and chemical shifts; they cover six + conformational states: + + 1. Core Helix - Exclusively alpha-helical, low backbone dynamics + 2. Surrounding Helix - Mostly alpha-helical, high backbone dynamics + 3. Core Sheet - Exclusively beta-sheet, low backbone dynamics + 4. Surrounding Sheet - Mostly extended conformation, high backbone dynamics + 5. Turn - Mostly turn, high backbone dynamics + 6. Other - Mostly coil, high backbone dynamics + + For more information run: `constava fit-model -h`. + + This software tool has been developed by the Bio2Byte research group at Vrije Universiteit Brussel (VUB) + in Belgium and it is distributed under the GNU General Public License v3 (GPLv3) License. + + Please cite: + + Jose Gavalda-Garcia, David Bickel, Joel Roca-Martinez, Daniele Raimondi, Gabriele Orlando, Wim Vranken, + Data-driven probabilistic definition of the low energy conformational states of protein residues, + NAR Genomics and Bioinformatics, Volume 6, Issue 3, September 2024, lqae082, + https://doi.org/10.1093/nargab/lqae082 (Published: 09 July 2024) + + Contact us: or + license: GPL-3.0-or-later + license_file: LICENSE + license_family: GPL3 + dev_url: https://github.com/bio2byte/constava + doc_url: https://pypi.org/project/constava/ + doc_source_url: https://github.com/Bio2Byte/constava/blob/main/README.md + +extra: + author: Wim Vranken , Jose Gavalda-Garcia , David Bickel , Joel Roca-Martinez , Daniele Raimondi , Gabriele Orlando + recipe-maintainers: + - agdiaz + - aethertier + - GavaldaGarcia + maintainers: + - aethertier + - GavaldaGarcia + identifiers: + - doi:10.1093/nargab/lqae082 # NAR Genomics and Bioinformatics diff --git a/recipes/contammix/meta.yaml b/recipes/contammix/meta.yaml index 4571d779de065..568ab70b4d88b 100644 --- a/recipes/contammix/meta.yaml +++ b/recipes/contammix/meta.yaml @@ -8,7 +8,7 @@ source: url: https://github.com/plfjohnson/contamMix/archive/refs/tags/v{{ github_version_str }}.tar.gz sha256: 1bfd53eca5554c957771daa51a2520306e90da17423dded39454ac8f23424a22 build: - number: 2 + number: 3 rpaths: - lib/R/lib/ - lib/ diff --git a/recipes/contatester/meta.yaml b/recipes/contatester/meta.yaml index 18e724150c534..47bb63e01796e 100644 --- a/recipes/contatester/meta.yaml +++ b/recipes/contatester/meta.yaml @@ -12,7 +12,7 @@ source: build: script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv" skip: true # [py2k] - number: 2 + number: 3 entry_points: - contatester = fr.cea.cnrgh.lbi.contatester.__main__:main diff --git a/recipes/cooler/meta.yaml b/recipes/cooler/meta.yaml index 4b6a268f2d774..201eccd3b1085 100644 --- a/recipes/cooler/meta.yaml +++ b/recipes/cooler/meta.yaml @@ -1,42 +1,42 @@ -{% set version = "0.9.3" %} +{% set name = "cooler" %} +{% set version = "0.10.2" %} package: - name: cooler + name: {{ name }} version: {{ version }} source: url: https://pypi.python.org/packages/source/c/cooler/cooler-{{ version }}.tar.gz - sha256: 21eee066d6fa30185cd21b0ead94beb341a9fb974bd3190ee22627424a040b63 + sha256: 3780a2e69b2ec89882dfc2775de5d9b54ccb79569dc5f042b4851599388112dc build: number: 0 noarch: python entry_points: - cooler = cooler.cli:cli - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" run_exports: - - {{ pin_subpackage('cooler', max_pin="x") }} + - {{ pin_subpackage('cooler', max_pin="x.x") }} requirements: host: - - python >=3.6 + - python >=3.8 - pip - hatchling - hatch-vcs run: - asciitree - - click >7 + - click >=7 - cytoolz - dask - h5py >=2.5 - - hdf5 - multiprocess - - numpy >=1.9 + - numpy <2 - pairix - - pandas >1.0 + - pandas >1.5 - pyfaidx - - pysam >0.8 - - python >=3.6 + - pysam + - python >=3.8 - pyyaml - scipy - simplejson @@ -51,11 +51,13 @@ test: - cooler --help about: - home: https://github.com/open2c/cooler - summary: 'Sparse binary format for genomic interaction matrices' - license: BSD-3-Clause + home: "https://github.com/open2c/cooler" + summary: 'Sparse binary format for genomic interaction matrices.' + license: "BSD-3-Clause" license_family: BSD license_file: LICENSE + dev_url: "https://github.com/open2c/cooler" + doc_url: "https://open2c.github.io/cooler" extra: identifiers: diff --git a/recipes/cooltools/0.3.2/build_failure.osx-64.yaml b/recipes/cooltools/0.3.2/build_failure.osx-64.yaml deleted file mode 100644 index 9703229be7344..0000000000000 --- a/recipes/cooltools/0.3.2/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: f90ae119093b26fcffe8d50218b574f155c384c45582120bdd5e1909f5109d19 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - creating build/temp.macosx-10.9-x86_64-cpython-39/cooltools/io - x86_64-apple-darwin13.4.0-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/mambaforge/envs/bioconda/conda-bld/cooltools_1685528562819/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/include -fPIC -O2 -isystem /opt/mambaforge/envs/bioconda/conda-bld/cooltools_1685528562819/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem /opt/mambaforge/envs/bioconda/conda-bld/cooltools_1685528562819/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/include -fdebug-prefix-map=/opt/mambaforge/envs/bioconda/conda-bld/cooltools_1685528562819/work=/usr/local/src/conda/cooltools-0.3.2 -fdebug-prefix-map=/opt/mambaforge/envs/bioconda/conda-bld/cooltools_1685528562819/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem /opt/mambaforge/envs/bioconda/conda-bld/cooltools_1685528562819/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/include -mmacosx-version-min=10.9 -I/opt/mambaforge/envs/bioconda/conda-bld/cooltools_1685528562819/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.9/site-packages/numpy/core/include -I/opt/mambaforge/envs/bioconda/conda-bld/cooltools_1685528562819/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.9/site-packages/numpy/core/include -I/opt/mambaforge/envs/bioconda/conda-bld/cooltools_1685528562819/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/include/python3.9 -c cooltools/io/fastsavetxt.c -o build/temp.macosx-10.9-x86_64-cpython-39/cooltools/io/fastsavetxt.o - dyld[54232]: Library not loaded: '@rpath/libclang-cpp.15.dylib' - Referenced from: '/opt/mambaforge/envs/bioconda/pkgs/clang-15-15.0.7-default_hdb78580_2/bin/clang-15' - Reason: tried: '/opt/mambaforge/envs/bioconda/pkgs/clang-15-15.0.7-default_hdb78580_2/bin/../lib/libclang-cpp.15.dylib' (no such file), '/opt/mambaforge/envs/bioconda/pkgs/clang-15-15.0.7-default_hdb78580_2/bin/../lib/libclang-cpp.15.dylib' (no such file), '/opt/mambaforge/envs/bioconda/pkgs/clang-15-15.0.7-default_hdb78580_2/bin/../lib/libclang-cpp.15.dylib' (no such file), '/opt/mambaforge/envs/bioconda/pkgs/clang-15-15.0.7-default_hdb78580_2/bin/../lib/libclang-cpp.15.dylib' (no such file), '/usr/local/lib/libclang-cpp.15.dylib' (no such file), '/usr/lib/libclang-cpp.15.dylib' (no such file) - error: command '/opt/mambaforge/envs/bioconda/conda-bld/cooltools_1685528562819/_build_env/bin/x86_64-apple-darwin13.4.0-clang' failed with exit code -6 - error: subprocess-exited-with-error - - python setup.py bdist_wheel did not run successfully. - exit code: 1 - > See above for output. - - note: This error originates from a subprocess, and is likely not a problem with pip. - full command: /opt/mambaforge/envs/bioconda/conda-bld/cooltools_1685528562819/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin/python -u -c ' - exec(compile('"'"''"'"''"'"' - # This is -- a caller that pip uses to run setup.py - # - # - It imports setuptools before invoking setup.py, to enable projects that directly - # import from distutils.core to work with newer packaging standards. - # - It provides a clear error message when setuptools is not installed. - # - It sets sys.argv[0] to the underlying setup.py, when invoking setup.py so - # setuptools doesn'"'"'t think the script is -c. This avoids the following warning: - # manifest_maker: standard file '"'"'-c'"'"' not found". - # - It generates a shim setup.py, for handling setup.cfg-only projects. - import os, sys, tokenize - - try: - import setuptools - except ImportError as error: - print( - "ERROR: Can not execute setup.py since setuptools is not available in " - "the build environment.", - file=sys.stderr, - ) - sys.exit(1) - - __file__ = %r - sys.argv[0] = __file__ - - if os.path.exists(__file__): - filename = __file__ - with tokenize.open(__file__) as f: - setup_py_code = f.read() - else: - filename = "" - setup_py_code = "from setuptools import setup; setup()" - - exec(compile(setup_py_code, filename, "exec")) - '"'"''"'"''"'"' % ('"'"'/opt/mambaforge/envs/bioconda/conda-bld/cooltools_1685528562819/work/setup.py'"'"',), "", "exec"))' bdist_wheel -d /private/tmp/pip-wheel-imtiav7c - cwd: /opt/mambaforge/envs/bioconda/conda-bld/cooltools_1685528562819/work/ - ERROR: Failed building wheel for cooltools - Running command python setup.py clean - Building wheel for cooltools (setup.py): finished with status 'error' - Running setup.py clean for cooltools - /opt/mambaforge/envs/bioconda/conda-bld/cooltools_1685528562819/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.9/site-packages/setuptools/__init__.py:84: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. - !! - - ******************************************************************************** - Requirements should be satisfied by a PEP 517 installer. - If you are using pip, you can try pip install --use-pep517. - ******************************************************************************** - - !! - dist.fetch_build_eggs(dist.setup_requires) - running clean - removing 'build/temp.macosx-10.9-x86_64-cpython-39' (and everything under it) - removing 'build/lib.macosx-10.9-x86_64-cpython-39' (and everything under it) - 'build/bdist.macosx-10.9-x86_64' does not exist -- can't clean it - 'build/scripts-3.9' does not exist -- can't clean it - removing 'build' - ERROR: Could not build wheels for cooltools, which is required to install pyproject.toml-based projects - Failed to build cooltools - Exception information: - Traceback (most recent call last): - File "$PREFIX/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 169, in exc_logging_wrapper - status = run_func(*args) - File "$PREFIX/lib/python3.9/site-packages/pip/_internal/cli/req_command.py", line 248, in wrapper - return func(self, options, args) - File "$PREFIX/lib/python3.9/site-packages/pip/_internal/commands/install.py", line 426, in run - raise InstallationError( - pip._internal.exceptions.InstallationError: Could not build wheels for cooltools, which is required to install pyproject.toml-based projects - Removed build tracker: '/private/tmp/pip-build-tracker-v0s12a2a' - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/cooltools_1685528562819/work/conda_build.sh']' returned non-zero exit status 1. -# Last 100 lines of the build log. diff --git a/recipes/cooltools/0.3.2/meta.yaml b/recipes/cooltools/0.3.2/meta.yaml index af0a3b2218d26..fc27e32d88250 100644 --- a/recipes/cooltools/0.3.2/meta.yaml +++ b/recipes/cooltools/0.3.2/meta.yaml @@ -10,7 +10,7 @@ source: sha256: fa477e9edee4a4a44e4b0bf051481b95cfc81ca6651744102c7871186ccf72a9 build: - number: 3 + number: 4 skip: True # [py2k or py > 39] entry_points: - cooltools = cooltools.cli:cli diff --git a/recipes/cooltools/meta.yaml b/recipes/cooltools/meta.yaml index 13642309de7a2..334ffd72b4937 100644 --- a/recipes/cooltools/meta.yaml +++ b/recipes/cooltools/meta.yaml @@ -1,5 +1,5 @@ {% set name = "cooltools" %} -{% set version = "0.6.1" %} +{% set version = "0.7.0" %} package: name: "{{ name|lower }}" @@ -7,14 +7,13 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 1082186215c1215b1f1192b1c5dd2d103e0db6df3dca3a9e49ec15676f5c0adb + sha256: 8b26d4857cc76b2dd3d1097b85f828cf6d5f1cf85b0cfd4b67a310e33e7ece1c build: - number: 0 - skip: True # [py <= 37] + number: 2 entry_points: - cooltools = cooltools.cli:cli - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" run_exports: - {{ pin_subpackage('cooltools', max_pin="x.x") }} @@ -25,16 +24,17 @@ requirements: - cython - pip - python - - numpy <1.24 + - numpy run: - bioframe >=0.4.1 - click >=7 - cooler >=0.9.1 - joblib - matplotlib-base + - multiprocess - numba - - numpy <1.24 # remove constraint once https://github.com/numba/numba/issues/8615 has been resolved - - pandas >=1.5.1,<2 #Temporary upper ceiling + - {{ pin_compatible('numpy') }} + - pandas >=1.5.1 - python - scikit-learn >=1.1.2 - scipy diff --git a/recipes/cortexpy/meta.yaml b/recipes/cortexpy/meta.yaml index 279c5960af686..9197d8a120c9d 100644 --- a/recipes/cortexpy/meta.yaml +++ b/recipes/cortexpy/meta.yaml @@ -11,7 +11,7 @@ source: build: skip: True # [py27 or py >= 39] - number: 4 + number: 5 entry_points: - cortexpy=cortexpy.__main__:main script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv " diff --git a/recipes/cosap/meta.yaml b/recipes/cosap/meta.yaml new file mode 100644 index 0000000000000..c615fe0df2abf --- /dev/null +++ b/recipes/cosap/meta.yaml @@ -0,0 +1,77 @@ +package: + name: cosap + version: 0.1.0 + +source: + url: https://github.com/MBaysanLab/cosap/archive/refs/tags/v0.1.0.tar.gz + sha256: 866b0335360f30f5603c0775d3d7072a0987ab0e269950e857557dac79a9dc0a + +build: + number: 0 + noarch: python + entry_points: + - cosap=cosap._cosap:cosap_cli + script: "python -m pip install . -vv" + run_exports: + - {{ pin_subpackage("cosap", max_pin='x.x') }} + +requirements: + build: + - python >=3.9 + - setuptools + - pip + - libtiff + run: + - openjdk >=17,<18 + - python >=3.9 + - click + - bbmap ==39.01 + - bowtie2 ==2.5.1 + - bwa ==0.7.17 + - bwa-mem2 ==2.2.1 + - fastp ==0.23.2 + - fastqc ==0.11.9 + - gatk4 >=4.5,<4.6 + - picard >=2,<3 + - qualimap ==2.2.2d + - samtools >=1.16,<1.17 + - somatic-sniper ==1.0.5.0 + - bcftools >=1.16,<1.17 + - varscan ==2.4.4 + - snakemake >=7,<8 + - elprep ==5.1.3 + - vardict-java ==1.8.3 + - snpeff ==5.1 + - msisensor-pro + - genefuse + - yaml + - black + - numpy + - pillow + - pygraphviz + - snakefmt + - perl-dbi + - perl-lwp-simple + - shortuuid + - pyranges + - matplotlib-venn + - upsetplot + - seaborn + - scikit-learn + - docker-py + - libtiff + +test: + commands: + - cosap --help + +about: + home: https://github.com/MBaysanLab/cosap + license: MIT + summary: COSAP - Comparative Sequencing Analysis Platform + doc_url: https://docs.cosap.bio + dev_url: https://github.com/MBaysanLab/cosap + +extra: + recipe-maintainers: + - marifergun \ No newline at end of file diff --git a/recipes/cosg/meta.yaml b/recipes/cosg/meta.yaml new file mode 100644 index 0000000000000..71dc651904859 --- /dev/null +++ b/recipes/cosg/meta.yaml @@ -0,0 +1,48 @@ +{% set name = "cosg" %} +{% set version = "1.0.1" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/cosg-{{ version }}.tar.gz + sha256: 258ca73066ac6cbe5121cf78d5e047b48b9372c9b448ecaeb3fb67dc9f7e759c + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + host: + - python + - pip + run: + - python + - anndata >=0.7.4 + - numpy >=1.17.0 + - pandas >=0.21 + - scanpy >=1.6.0 + - scikit-learn >=0.21.2 + - scipy >=1.4 + +test: + imports: + - cosg + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/genecell/COSG + summary: Accurate and fast cell marker gene identification with COSG + license: BSD-3-Clause + license_file: LICENSE + +extra: + recipe-maintainers: + - heylf diff --git a/recipes/cospar/meta.yaml b/recipes/cospar/meta.yaml index 01194971282e4..fda23a345219d 100644 --- a/recipes/cospar/meta.yaml +++ b/recipes/cospar/meta.yaml @@ -1,5 +1,5 @@ {% set name = "cospar" %} -{% set version = "0.3.3" %} +{% set version = "0.4.1" %} package: name: {{ name|lower }} @@ -7,59 +7,53 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/cospar-{{ version }}.tar.gz - sha256: 881ee97be1b1d7ecb6e642a91cc3f2f2d569bd410cc2d48a117ea48cde0ec345 + sha256: 36adadb839053189298a30b48e4726ba81efbc42d089e13d80da6b9001aac384 build: noarch: python - script: {{ PYTHON }} -m pip install . -vv + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation number: 0 run_exports: - {{ pin_subpackage('cospar', max_pin='x.x') }} requirements: host: - - python >=3.8 - - setuptools >=40.6.0 - - wheel + - python >=3.9,<3.12 + - poetry-core - pip - - matplotlib-base <3.8.0 - - scanpy >=1.6.0 - - fastcluster >=1.1.26 - - scikit-misc >=0.1.3 - - plotnine >=0.7.1 - - leidenalg >=0.7.0 - - ete3 >=3.1.2 - - ipywidgets - - gseapy >=0.9.13 run: - - python >=3.8 - - numpy >=1.19.4 - - scipy >=1.5.4 - - scikit-learn >=1.1.1 - - scanpy >=1.6.0 - - pandas >=1.1.4 - - statsmodels >=0.14.0 - - plotnine >=0.7.1 - - matplotlib-base <3.8.0 - - fastcluster >=1.1.26 - - anndata >=0.7.5 - - numba >=0.52.0 - - scikit-misc >=0.1.3 - - leidenalg >=0.7.0 - - ete3 >=3.1.2 - - ipywidgets - - gseapy >=0.9.13 + - python >=3.9,<3.12 + - anndata >=0.9.2,<0.10.0 + - ete3 >=3.1.3,<4.0.0 + - fastcluster >=1.2.6,<2.0.0 + - gseapy >=1.1.3,<2.0.0 + - leidenalg >=0.10.2,<0.11.0 + - matplotlib-base >=3.7.3,<3.8.0 + - numpy >=1.24.4,<2.0.0 + - pandas >=2.0.3,<3.0.0 + - plotnine >=0.12.4,<0.13.0 + - scanpy >=1.9.8,<2.0.0 + - scikit-learn >=1.1.3,<1.2.0 + - scikit-misc >=0.1.4,<0.3.0 + - scipy >=1.10.1,<2.0.0 + - statsmodels >=0.14.2,<0.15.0 + - tqdm >=4.66.5,<5.0.0 test: imports: - cospar + commands: + - pip check + requires: + - pip about: home: https://github.com/ShouWenWang-Lab/cospar - summary: 'CoSpar: integrating state and lineage information for dynamic inference' + summary: A toolkit for dynamic inference of cell fate by integrating state and lineage information. license: MIT license_file: LICENSE extra: recipe-maintainers: + - raymond-u - ShouWenWang diff --git a/recipes/coverageanomalyscanner/meta.yaml b/recipes/coverageanomalyscanner/meta.yaml index 899cac5536251..b9557aaf2c6b3 100644 --- a/recipes/coverageanomalyscanner/meta.yaml +++ b/recipes/coverageanomalyscanner/meta.yaml @@ -11,7 +11,7 @@ source: build: skip: True # [osx] - number: 2 + number: 3 requirements: build: diff --git a/recipes/coverm/meta.yaml b/recipes/coverm/meta.yaml index 7e12b62eb8ef2..d17de6bd0b76c 100644 --- a/recipes/coverm/meta.yaml +++ b/recipes/coverm/meta.yaml @@ -1,14 +1,16 @@ -{% set version = "0.6.1" %} +{% set version = "0.7.0" %} {% set name = "coverm" %} -{% set sha256 = "b6211e6f89ef986691b910d7d7b4c6d1e9eb9beb64e4f71902178ed60d27f4e6" %} +{% set sha256 = "539142529d2590166e98ed399db36913fbf8b256d8c74a1966acae849c18a828" %} package: name: {{ name }} version: {{ version }} build: - number: 6 + number: 1 skip: True # [osx] + run_exports: + - {{ pin_subpackage('coverm', max_pin="x.x") }} source: url: https://github.com/wwood/{{ name }}/archive/v{{ version }}.tar.gz @@ -21,6 +23,8 @@ requirements: - {{ compiler('cxx') }} - clangdev # one of the rust submodules explicitly requires clang. As it's statically compiled that will hopefully work - pkg-config + - make + - cmake host: - zlib - gsl @@ -35,6 +39,7 @@ requirements: - minimap2 >=2.24 - fastani >=1.31 - dashing >=0.4.0 + - strobealign >=0.11.0 test: commands: @@ -43,4 +48,5 @@ test: about: home: https://github.com/wwood/CoverM license: GPL3 + license_family: GPL3 summary: CoverM aims to be a configurable, easy to use and fast DNA read coverage and relative abundance calculator focused on metagenomics applications diff --git a/recipes/covtobed/meta.yaml b/recipes/covtobed/meta.yaml index 59e3b3e72d451..16e003aa5c4bb 100644 --- a/recipes/covtobed/meta.yaml +++ b/recipes/covtobed/meta.yaml @@ -9,7 +9,10 @@ source: sha256: 0d826ad5bc32661806cfa75851e3b70a8a2b6b0b65393908ed954a1aee7c5d6c build: - number: 2 + number: 4 + run_exports: + - {{ pin_subpackage('covtobed', max_pin="x") }} + requirements: build: @@ -33,3 +36,7 @@ about: license: 'MIT' license_file: LICENSE summary: 'covtobed - generate a BED file of covered regions from a BAM file' + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/cpat/build.sh b/recipes/cpat/build.sh new file mode 100644 index 0000000000000..ea41484c36517 --- /dev/null +++ b/recipes/cpat/build.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +${PYTHON} -m pip install . --no-deps --ignore-installed -vv + +# Prefix '.py' has been removed from v3.0.5 +# symlinking for reverse compatibility, as suggested in release notes +ln -s ${PREFIX}/bin/cpat ${PREFIX}/bin/cpat.py +ln -s ${PREFIX}/bin/make_hexamer_tab ${PREFIX}/bin/make_hexamer_tab.py +ln -s ${PREFIX}/bin/make_logitModel ${PREFIX}/bin/make_logitModel.py diff --git a/recipes/cpat/meta.yaml b/recipes/cpat/meta.yaml index 7303729af7f68..b3c44608b4a8c 100644 --- a/recipes/cpat/meta.yaml +++ b/recipes/cpat/meta.yaml @@ -1,5 +1,5 @@ {% set name = "CPAT" %} -{% set version = "3.0.4" %} +{% set version = "3.0.5" %} package: name: "{{ name|lower }}" @@ -7,12 +7,13 @@ package: build: number: 2 - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " - skip: True # [py2k or py > 39] + skip: True # [py > 39] + run_exports: + - {{ pin_subpackage('cpat', max_pin="x") }} source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 6d832f20729f8fc814384a27a4fcebcf81b11c0e6d80a404b4c4860d17e7d935 + sha256: ea7c9216208221f68055f962073622939ff90bbe52ebe36c305ead9f91ed24bc requirements: build: @@ -40,6 +41,10 @@ test: about: home: https://cpat.readthedocs.io/en/latest/ - license: GNU General Public v2 or later (GPLv2+) + license: GPL-2.0-or-later license_file: LICENSE.txt summary: Coding Potential Assessment Tool + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/cpgeneprofiler/meta.yaml b/recipes/cpgeneprofiler/meta.yaml index 27f063a7b6b96..561e876d4d0ab 100644 --- a/recipes/cpgeneprofiler/meta.yaml +++ b/recipes/cpgeneprofiler/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 3 + number: 4 noarch: generic script: R CMD INSTALL --build . rpaths: diff --git a/recipes/cpstools/meta.yaml b/recipes/cpstools/meta.yaml new file mode 100644 index 0000000000000..2eab62cea01ae --- /dev/null +++ b/recipes/cpstools/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "cpstools" %} +{% set version = "2.0.2" %} +{% set sha256 = "7be13651918b295af3f11288208b41b7c511ccb0c8b65b09150c0bf687f1e0bc" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/cpstools-{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + entry_points: + - cpstools = cpstools.cmdline:main + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + number: 0 + run_exports: + - {{ pin_subpackage('cpstools', max_pin="x") }} + +requirements: + host: + - python >=3.9 + - poetry-core + - pip + run: + - python >=3.9 + - biopython >=1.84.0 + - numpy >=1.26.4 + - tqdm >=4.66.5 + +test: + imports: + - cpstools + commands: + - cpstools --help + +about: + home: "https://github.com/Xwb7533/CPStools" + summary: "CPStools is a package for analyzing chloroplast genome sequences." + license: MIT + license_family: MIT + license_file: LICENSE + description: "CPStools is a package for analyzing chloroplast genome sequences." + dev_url: "https://github.com/Xwb7533/CPStools" + +extra: + recipe-maintainers: + - mencian diff --git a/recipes/cptac/meta.yaml b/recipes/cptac/meta.yaml index bb81951f69797..650ccc357ca33 100644 --- a/recipes/cptac/meta.yaml +++ b/recipes/cptac/meta.yaml @@ -1,5 +1,5 @@ {% set name = "cptac" %} -{% set version = "1.5.8" %} +{% set version = "1.5.13" %} package: @@ -8,7 +8,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: c30d3faf666454c208a103620a094bdb6fea607953305ad48ee069bb7e6e6783 + sha256: be96ee2ed931625aa80d9e876163a4343afed2e2f82e7851231176058cc393c5 build: number: 0 diff --git a/recipes/cramino/meta.yaml b/recipes/cramino/meta.yaml index 0d07842df6aad..ae53c0a7a5a9d 100644 --- a/recipes/cramino/meta.yaml +++ b/recipes/cramino/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.13.1" %} +{% set version = "0.14.5" %} package: name: cramino @@ -12,7 +12,7 @@ build: source: url: https://github.com/wdecoster/cramino/archive/v{{ version }}.tar.gz - sha256: 92e60915b2fccacb21f2c5b71253b667615e1a99f964f232569122458cf64c40 + sha256: d3b31ab76808ca76171e2539cfe30e66fe24cbd4af4ff9a941c282a0bc438032 requirements: build: diff --git a/recipes/craq/build.sh b/recipes/craq/build.sh new file mode 100644 index 0000000000000..9becccee47f38 --- /dev/null +++ b/recipes/craq/build.sh @@ -0,0 +1,13 @@ +#!/bin/sh +set -x -e + +# As CRAQ does not use standard packaging approach (Makefile.PL, Build.PL, ...), we need to keep CRAQ and its modules all together at the same place. +# So CRAQ is copied in the share folder with all related modules (copy of the repo) +CRAQ_DIR=${PREFIX}/share/CRAQ +mkdir -p ${CRAQ_DIR} +cp -r * ${CRAQ_DIR} +chmod +x ${CRAQ_DIR}/bin/craq + +# Add the craq executable in the bin by softlinking the tool located in share. +mkdir -p ${PREFIX}/bin +ln -s ${CRAQ_DIR}/bin/craq ${PREFIX}/bin/craq diff --git a/recipes/craq/meta.yaml b/recipes/craq/meta.yaml new file mode 100755 index 0000000000000..1646266d28952 --- /dev/null +++ b/recipes/craq/meta.yaml @@ -0,0 +1,43 @@ +{% set name = "CRAQ" %} +{% set version = "1.0.9" %} +{% set sha256 = "83eaa8964fe62241caef334986bdeda0d45d3c4be2416351257c9599264d664d" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: https://github.com/JiaoLaboratory/CRAQ/archive/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + noarch: generic + number: 0 + run_exports: + - {{ pin_subpackage('craq', max_pin="x") }} + +requirements: + run: + - perl >=5 + - python >=3.7 + - minimap2 >=2.17 + - python_circos + +test: + commands: + - craq -h | grep Usage + +about: + home: https://github.com/JiaoLaboratory/CRAQ + license: MIT + license_family: MIT + license_file: LICENSE + summary: Pinpoint assembly errors for genomic assessing and correcting. + description: | + CRAQ (Clipping Reveals Assembly Quality) is a reference-free genome assembly evaluator that can assess the accuracy of assembled genomic sequences and provide detailed assembly quality assessment from multiple perspectives. It can report precise locations of small-scale Clip-based Regional Errors (CREs), large-scale Clip-based Structural Errors (CSEs), as well as regional and overall AQI metrics (R-AQI & S-AQI) for assembly evaluation. Through evaluating a large set of genome assemblies with different qualities, we classified genomes as following: AQI > 90, reference quality; AQI from 80-90, high quality; AQI from 60-80, draft quality; and AQI < 60, low quality. CRAQ also considered haplotype features which is important for identifying true misassembly. It can output coordinates of regional heterozygous variants (CRHs) and coordinates of structural heterozygous variants (CSHs) based on the ratio of clipped alignments and mapping coverage. Moreover, CRAQ detects potential chimeric contigs and break them at conflict breakpoints for assembly correction. This document has the information on how to run CRAQ. + doc_url: https://github.com/JiaoLaboratory/CRAQ + dev_url: https://github.com/JiaoLaboratory/CRAQ + +extra: + recipe-maintainers: + - juke34 diff --git a/recipes/crispector/meta.yaml b/recipes/crispector/meta.yaml index eead4a143981d..0032615c4b7e3 100644 --- a/recipes/crispector/meta.yaml +++ b/recipes/crispector/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.0.4" %} +{% set version = "1.0.7" %} package: name: crispector @@ -10,10 +10,12 @@ build: - crispector = crispector.cli:main noarch: python script: python -m pip install . --no-deps -vv + run_exports: + - {{ pin_subpackage('crispector', max_pin="x") }} source: - url: https://github.com/YakhiniGroup/crispector/archive/v{{ version }}.tar.gz - sha256: 66b4ecc6f73958221eed868200c00d3c39718e9a146c389da9fcbd16440f6f1f + url: https://github.com/YakhiniGroup/crispector/archive/refs/tags/V{{ version }}.tar.gz + sha256: f88a8807e9793c7fb9db341f5ba9f130e59f557ecac55b625eb0dcd61ad38b9c requirements: host: @@ -35,6 +37,7 @@ requirements: - pandas >=0.24.2 - statsmodels - jinja2 + - mpmath >=1.3.0 test: commands: diff --git a/recipes/crispector2/meta.yaml b/recipes/crispector2/meta.yaml index 43f209d4a9b36..e159b8c39c584 100644 --- a/recipes/crispector2/meta.yaml +++ b/recipes/crispector2/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "2.0.6" %} +{% set version = "2.1.2" %} package: name: crispector2 @@ -15,16 +15,15 @@ build: source: url: https://github.com/theAguy/crispector2/archive/refs/tags/v{{ version }}.tar.gz - sha256: 4cb9a6d5b6ca5e697448613d22eae1c4791bb403200e8bced7d1dc948915dbd2 + sha256: 1c624fda975f293b5acab8b2c6afe98cacaaa77a79dc54c923b18c08fa1942cc requirements: host: - - python 3.7 + - python >=3.8 - pip - - setuptools run: - - python 3.7 - - biopython >=1.74 + - python >=3.8 + - biopython >=1.74, <=1.79 # Bio.SubsMat - fastp - python-edlib - click >=7.0 @@ -38,6 +37,7 @@ requirements: - statsmodels - jinja2 - tqdm >=4.66.0 + - mpmath test: commands: diff --git a/recipes/crispresso2/meta.yaml b/recipes/crispresso2/meta.yaml index 73a70bc89da04..5fd4076cdc98a 100644 --- a/recipes/crispresso2/meta.yaml +++ b/recipes/crispresso2/meta.yaml @@ -1,16 +1,17 @@ -{% set version = "2.2.14" %} +{% set version = "2.3.1" %} package: name: crispresso2 version: {{ version }} build: - skip: True # [py2k] - number: 0 + number: 3 + run_exports: + - {{ pin_subpackage('crispresso2', max_pin='x') }} source: url: https://github.com/pinellolab/CRISPResso2/archive/v{{ version }}.tar.gz - sha256: ec9c5ff4069a651601dd980ef20c60bf14467ec97324c92673f6dcd698b9f844 + sha256: e1f3f87e392529d441f0b3b6983600d643fbcdf40cde621eb24f40b3f7195fa4 requirements: build: @@ -24,13 +25,12 @@ requirements: run: - python - scipy - - {{ pin_compatible('numpy') }} + - numpy <=1.26.4 - pandas - plotly - - matplotlib-base + - matplotlib-base <=3.8.4 - jinja2 - - trimmomatic - - flash + - fastp - samtools - bowtie2 - seaborn-base @@ -46,3 +46,8 @@ about: license: Partners license_file: LICENSE.txt summary: "A software pipeline designed to enable rapid and intuitive interpretation of genome editing experiments" + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/crispritz/meta.yaml b/recipes/crispritz/meta.yaml index 11ce0125401cc..ffc3006edb60b 100644 --- a/recipes/crispritz/meta.yaml +++ b/recipes/crispritz/meta.yaml @@ -9,7 +9,7 @@ source: sha256: a254321a4bb8724023191c3a71697f6e2994c8a0001bc26bbc302fa036bc0807 build: - number: 1 + number: 2 skip: True # [py2k or osx or py > 39] requirements: diff --git a/recipes/crisprme/build.sh b/recipes/crisprme/build.sh index cd80a4ea7cf0d..48c4a11527c52 100644 --- a/recipes/crisprme/build.sh +++ b/recipes/crisprme/build.sh @@ -5,6 +5,6 @@ mkdir -p "${PREFIX}/opt/crisprme" chmod -R 700 . unzip PostProcess/pickle_data.zip mv CRISTA_predictors.pkl PostProcess/ -cp crisprme.py "${PREFIX}/bin/" +cp crisprme.py "${PREFIX}/bin/" && chmod +rx "${PREFIX}/bin/crisprme.py" cp crisprme_test_complete_package.sh "${PREFIX}/bin/" -cp -R * "${PREFIX}/opt/crisprme/" \ No newline at end of file +cp -R * "${PREFIX}/opt/crisprme/" diff --git a/recipes/crisprme/meta.yaml b/recipes/crisprme/meta.yaml index 42d75db4871bf..77d798dc99338 100644 --- a/recipes/crisprme/meta.yaml +++ b/recipes/crisprme/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "2.1.1" %} +{% set version = "2.1.5" %} package: name: crisprme @@ -6,12 +6,14 @@ package: source: url: https://github.com/pinellolab/CRISPRme/archive/refs/tags/v{{ version }}.tar.gz - sha256: d59a970c8210cbc5854d77101fe23b5f0ead899b53bcc4c9e6cfb3579c02db26 - + sha256: 788cca9caff4d9c3a3c7ace21a62891d052bd23513addd72c34dc577dde1e375 + build: + run_exports: + - {{ pin_subpackage('crisprme', max_pin="x") }} number: 0 noarch: generic - + requirements: host: - unzip @@ -46,6 +48,12 @@ test: about: home: https://github.com/pinellolab/CRISPRme - license: AGPL-3.0 + license: AGPL-3.0-or-later + license_family: AGPL license_file: LICENSE - summary: CRISPRme, tool package for CRISPR experiments assessment and analysis. \ No newline at end of file + summary: CRISPRme, tool package for CRISPR experiments assessment and analysis. + dev_url: https://github.com/pinellolab/CRISPRme + +extra: + identifiers: + - doi:10.1038/s41588-022-01257-y diff --git a/recipes/crocodeel/meta.yaml b/recipes/crocodeel/meta.yaml new file mode 100644 index 0000000000000..00db90ce7b756 --- /dev/null +++ b/recipes/crocodeel/meta.yaml @@ -0,0 +1,47 @@ +{% set name = "crocodeel" %} +{% set version = "1.0.5" %} + +package: + name: {{ name }} + version: {{ version }} + + +source: + url: https://github.com/metagenopolis/{{ name }}/archive/v{{ version }}.tar.gz + sha256: 88a75bab73f107d6ebbf4204ec814bc2962df96e76879890da585b3edb395061 + +build: + noarch: python + number: 0 + script: {{ PYTHON }} -m pip install . --no-deps -vv + run_exports: + - {{ pin_subpackage('crocodeel', max_pin="x.x") }} + +requirements: + host: + - python >=3.12 + - poetry + run: + - python >=3.12 + - pandas >=2.2 + - numpy >=1.26 + - joblib >=1.4 + - scipy >=1.13 + - scikit-learn >=1.3,<1.4 + - matplotlib-base >=3.8 + - tqdm >=4.66 + +test: + commands: + - crocodeel test_install + +about: + home: https://github.com/metagenopolis/crocodeel + license: GPL-3.0-or-later + license_file: COPYING + summary: 'CroCoDeEL is a tool that detects cross-sample contamination in shotgun metagenomic data' + description: | + CroCoDeEL is a tool that detects cross-sample (aka well-to-well) contamination in shotgun metagenomic data. + It accurately identifies contaminated samples but also pinpoints contamination sources and estimates contamination rates. + CroCoDeEL relies only on species abundance tables and does not need negative controls. + license_family: GPL3 diff --git a/recipes/crossmap/build.sh b/recipes/crossmap/build.sh index 2dbf7cf108167..b634892e50b82 100644 --- a/recipes/crossmap/build.sh +++ b/recipes/crossmap/build.sh @@ -3,4 +3,4 @@ rm -f lib/psyco_full.py rm -rf data test -$PYTHON setup.py install --single-version-externally-managed --record=record.txt +${PYTHON} -m pip install . -vvv --no-deps --no-build-isolation diff --git a/recipes/crossmap/meta.yaml b/recipes/crossmap/meta.yaml index d283a3ca926c7..d1809d5385aa7 100644 --- a/recipes/crossmap/meta.yaml +++ b/recipes/crossmap/meta.yaml @@ -1,6 +1,6 @@ {% set name = "CrossMap" %} -{% set version = "0.6.5" %} -{% set sha256hash = "b16a942b38bf7f26e9b53bc6cddd5cfa7dee98e97f7ee8bb0dc699a4340aafbf" %} +{% set version = "0.7.0" %} +{% set sha256 = "fec5bc7537c6f767e39f7b8a176ceb522e10de4a79ebdd0d645ea0af948c4bd4" %} package: name: {{ name|lower }} @@ -8,23 +8,22 @@ package: source: url: https://github.com/liguowang/CrossMap/archive/v{{ version }}.tar.gz - sha256: {{ sha256hash }} + sha256: {{ sha256 }} build: number: 0 noarch: python + entry_points: + - CrossMap = cmmodule:crossmap + run_exports: + - {{ pin_subpackage('crossmap', max_pin="x.x") }} requirements: host: - - python >=3 - - cython >=0.17 - - numpy - - nose >=0.10.4 - - pysam >=0.15 - - bx-python + - python >=3.8 + - pip run: - - python >=3 - - cython >=0.17 + - python >=3.8 - numpy - pysam >=0.15 - bx-python @@ -33,23 +32,24 @@ requirements: test: commands: - - CrossMap.py bed -h - - CrossMap.py vcf -h + - CrossMap bed -h + - CrossMap vcf -h about: - home: http://crossmap.sourceforge.net + home: https://crossmap.sourceforge.net license: GPL-3.0-or-later - license_family: GPL + license_family: GPL3 license_file: LICENSE.txt summary: "CrossMap is a program for convenient conversion of genome coordinates and genomeannotation files between assemblies." + dev_url: https://github.com/liguowang/CrossMap + doc_url: https://crossmap.readthedocs.io/en/latest/ extra: - skip-lints: - - cython_needs_compiler - - cython_must_be_in_host identifiers: - usegalaxy-eu:crossmap_bam - usegalaxy-eu:crossmap_bed - usegalaxy-eu:crossmap_vcf - usegalaxy-eu:crossmap_wig - usegalaxy-eu:crossmap_gff + - doi:10.1093/bioinformatics/btt730 + - biotools:crossmap diff --git a/recipes/crumble/meta.yaml b/recipes/crumble/meta.yaml index 98ae36600b100..ffae1c4ace4a9 100644 --- a/recipes/crumble/meta.yaml +++ b/recipes/crumble/meta.yaml @@ -6,7 +6,7 @@ package: version: '{{version}}' build: - number: 2 + number: 3 source: url: https://github.com/jkbonfield/crumble/archive/refs/tags/v{{ version }}.tar.gz diff --git a/recipes/crussmap/build_failure.osx-64.yaml b/recipes/crussmap/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..d89ee13de013f --- /dev/null +++ b/recipes/crussmap/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: b743a1ca09f4f5e5e0d026a3f56eb87696ffa528cf106ca19b2c02c73a4f3277 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + = note: env -u IPHONEOS_DEPLOYMENT_TARGET -u TVOS_DEPLOYMENT_TARGET LC_ALL="C" PATH="/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/bin:/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/bin:/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/bin:/opt/mambaforge/envs/bioconda/condabin:/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/bin:/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/bin:/opt/mambaforge/envs/bioconda/bin:/opt/mambaforge/condabin:/opt/mambaforge/bin:/usr/local/lib/ruby/gems/3.0.0/bin:/usr/local/opt/ruby@3.0/bin:/usr/local/opt/pipx_bin:/Users/runner/.cargo/bin:/usr/local/opt/curl/bin:/usr/local/bin:/usr/local/sbin:/Users/runner/bin:/Users/runner/.yarn/bin:/Users/runner/Library/Android/sdk/tools:/Users/runner/Library/Android/sdk/platform-tools:/Library/Frameworks/Python.framework/Versions/Current/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/usr/bin:/bin:/usr/sbin:/sbin:/Users/runner/.dotnet/tools" VSLANG="1033" ZERO_AR_DATE="1" "cc" "-arch" "x86_64" "-m64" "/tmp/rustccHK7kk/symbols.o" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/work/target/release/build/proc-macro2-acbd332dc98100aa/build_script_build-acbd332dc98100aa.build_script_build.b170873ab59dfdfb-cgu.0.rcgu.o" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/work/target/release/build/proc-macro2-acbd332dc98100aa/build_script_build-acbd332dc98100aa.build_script_build.b170873ab59dfdfb-cgu.1.rcgu.o" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/work/target/release/build/proc-macro2-acbd332dc98100aa/build_script_build-acbd332dc98100aa.1cihp38p4lvyzkkj.rcgu.o" "-L" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/work/target/release/deps" "-L" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libstd-2ad7f97be9e16ca5.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libpanic_unwind-8ce93eee8bf4c86e.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libobject-0e1339b212cc7409.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libmemchr-925e672b3deb429c.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libaddr2line-e92d517a950bccd8.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libgimli-de95e5c2a2ace281.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/librustc_demangle-37f4c48e230f618e.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libstd_detect-dfeb4bb0652b6b8e.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libhashbrown-0e3ea0ec18336be2.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_alloc-39dd3003e36d7872.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libminiz_oxide-5ea1513e08ee15e0.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libadler-2967159221f4860d.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libunwind-b70656709e3eca11.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcfg_if-cc5626b2e0399737.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/liblibc-8378684dba6ab463.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/liballoc-0ff05b9b25b786cc.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_core-9a6da74aeab39c54.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcore-1638dc700d175798.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-7f42af62722c8f43.rlib" "-lSystem" "-lc" "-lm" "-L" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib" "-o" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/work/target/release/build/proc-macro2-acbd332dc98100aa/build_script_build-acbd332dc98100aa" "-Wl,-dead_strip" "-nodefaultlibs" + = note: ld: multiple errors: unsupported mach-o filetype (only MH_OBJECT and MH_DYLIB can be linked) in '/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib/libSystem.B.dylib'; unsupported mach-o filetype (only MH_OBJECT and MH_DYLIB can be linked) in '/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib/libSystem.B.dylib'; unsupported mach-o filetype (only MH_OBJECT and MH_DYLIB can be linked) in '/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib/libSystem.B.dylib' + clang: error: linker command failed with exit code 1 (use -v to see invocation) + + + error: linking with cc failed: exit status: 1 + | + = note: env -u IPHONEOS_DEPLOYMENT_TARGET -u TVOS_DEPLOYMENT_TARGET LC_ALL="C" PATH="/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/bin:/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/bin:/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/bin:/opt/mambaforge/envs/bioconda/condabin:/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/bin:/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/bin:/opt/mambaforge/envs/bioconda/bin:/opt/mambaforge/condabin:/opt/mambaforge/bin:/usr/local/lib/ruby/gems/3.0.0/bin:/usr/local/opt/ruby@3.0/bin:/usr/local/opt/pipx_bin:/Users/runner/.cargo/bin:/usr/local/opt/curl/bin:/usr/local/bin:/usr/local/sbin:/Users/runner/bin:/Users/runner/.yarn/bin:/Users/runner/Library/Android/sdk/tools:/Users/runner/Library/Android/sdk/platform-tools:/Library/Frameworks/Python.framework/Versions/Current/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/usr/bin:/bin:/usr/sbin:/sbin:/Users/runner/.dotnet/tools" VSLANG="1033" ZERO_AR_DATE="1" "cc" "-arch" "x86_64" "-m64" "/tmp/rustc98NmYZ/symbols.o" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/work/target/release/build/serde-1e62519906f99e77/build_script_build-1e62519906f99e77.build_script_build.a4f0df5c432a73cf-cgu.0.rcgu.o" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/work/target/release/build/serde-1e62519906f99e77/build_script_build-1e62519906f99e77.386t7nrmg305mq0l.rcgu.o" "-L" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/work/target/release/deps" "-L" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libstd-2ad7f97be9e16ca5.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libpanic_unwind-8ce93eee8bf4c86e.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libobject-0e1339b212cc7409.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libmemchr-925e672b3deb429c.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libaddr2line-e92d517a950bccd8.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libgimli-de95e5c2a2ace281.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/librustc_demangle-37f4c48e230f618e.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libstd_detect-dfeb4bb0652b6b8e.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libhashbrown-0e3ea0ec18336be2.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_alloc-39dd3003e36d7872.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libminiz_oxide-5ea1513e08ee15e0.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libadler-2967159221f4860d.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libunwind-b70656709e3eca11.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcfg_if-cc5626b2e0399737.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/liblibc-8378684dba6ab463.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/liballoc-0ff05b9b25b786cc.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_core-9a6da74aeab39c54.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcore-1638dc700d175798.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-7f42af62722c8f43.rlib" "-lSystem" "-lc" "-lm" "-L" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/lib/rustlib/x86_64-apple-darwin/lib" "-o" "/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/work/target/release/build/serde-1e62519906f99e77/build_script_build-1e62519906f99e77" "-Wl,-dead_strip" "-nodefaultlibs" + = note: ld: multiple errors: unsupported mach-o filetype (only MH_OBJECT and MH_DYLIB can be linked) in '/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib/libSystem.B.dylib'; unsupported mach-o filetype (only MH_OBJECT and MH_DYLIB can be linked) in '/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib/libSystem.B.dylib'; unsupported mach-o filetype (only MH_OBJECT and MH_DYLIB can be linked) in '/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib/libSystem.B.dylib' + clang: error: linker command failed with exit code 1 (use -v to see invocation) + + + error: could not compile num-traits (build script) due to 1 previous error + + Caused by: + process didn't exit successfully: rustc --crate-name build_script_build --edition=2021 /opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/.cargo/registry/src/index.crates.io-6f17d22bba15001f/num-traits-0.2.19/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=71100027d0b4f7b1 -C extra-filename=-71100027d0b4f7b1 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/work/target/release/build/num-traits-71100027d0b4f7b1 -C strip=debuginfo -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/work/target/release/deps --extern autocfg=/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/work/target/release/deps/libautocfg-c5a6e5900b9987d4.rlib --cap-lints allow (exit status: 1) + warning: build failed, waiting for other jobs to finish... + error: could not compile serde (build script) due to 1 previous error + + Caused by: + process didn't exit successfully: rustc --crate-name build_script_build --edition=2018 /opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/.cargo/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.203/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="derive"' --cfg 'feature="serde_derive"' --cfg 'feature="std"' -C metadata=1e62519906f99e77 -C extra-filename=-1e62519906f99e77 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/work/target/release/build/serde-1e62519906f99e77 -C strip=debuginfo -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/work/target/release/deps --cap-lints allow (exit status: 1) + error: could not compile proc-macro2 (build script) due to 1 previous error + + Caused by: + process didn't exit successfully: rustc --crate-name build_script_build --edition=2021 /opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/.cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.85/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="proc-macro"' -C metadata=acbd332dc98100aa -C extra-filename=-acbd332dc98100aa --out-dir /opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/work/target/release/build/proc-macro2-acbd332dc98100aa -C strip=debuginfo -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/work/target/release/deps --cap-lints allow (exit status: 1) + error: could not compile libc (build script) due to 1 previous error + + Caused by: + process didn't exit successfully: rustc --crate-name build_script_build /opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.155/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=312897ad65048e13 -C extra-filename=-312897ad65048e13 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/work/target/release/build/libc-312897ad65048e13 -C strip=debuginfo -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/work/target/release/deps --cap-lints allow (exit status: 1) + error: failed to compile crussmap v1.0.0 (/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/work), intermediate artifacts can be found at /opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/work/target. + To reuse those artifacts with a future compilation, set the environment variable CARGO_TARGET_DIR to that path. + Extracting download + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/work + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/_build_env + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/crussmap-1.0.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/crussmap_1717511174373/work/conda_build.sh']' returned non-zero exit status 101. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/crussmap-1.0.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/crussmap-1.0.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/crussmap-1.0.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix +# Last 100 lines of the build log. diff --git a/recipes/crussmap/meta.yaml b/recipes/crussmap/meta.yaml index b5f6f435994bd..cfa5b52359e23 100644 --- a/recipes/crussmap/meta.yaml +++ b/recipes/crussmap/meta.yaml @@ -5,7 +5,7 @@ package: version: {{ version }} build: - number: 0 + number: 1 skip: True # [win] source: @@ -40,4 +40,4 @@ about: crussmap is a faster tool to convert genome coordinates between difference reference assemblies. extra: recipe-maintainers: - - wenjiewei \ No newline at end of file + - wenjiewei diff --git a/recipes/cryptkeeper/meta.yaml b/recipes/cryptkeeper/meta.yaml new file mode 100644 index 0000000000000..bd612a21cc2c6 --- /dev/null +++ b/recipes/cryptkeeper/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "cryptkeeper" %} +{% set version = "1.0.1" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/cryptkeeper-{{ version }}.tar.gz + sha256: 7e43d858043073a98903b890846636c3b7c9e5ce289fe97c00ff5734d47357e8 + +build: + entry_points: + - cryptkeeper = cryptkeeper.cryptkeeper:main + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + number: 0 + run_exports: + - {{ pin_subpackage("cryptkeeper", max_pin="x") }} + +requirements: + host: + - python >=3.9 + - pip + run: + - python >=3.9 + - ostir + - rhotermpredict + - promotercalculator + - bokeh + - biopython + +test: + imports: + - cryptkeeper + commands: + - cryptkeeper --help + +about: + home: https://github.com/barricklab/cryptkeeper + summary: "A negative design tool for predicting and visualizing undesired gene expression" + license: "GPL-3.0-only" + license_file: LICENSE + license_family: GPL3 + dev_url: https://github.com/barricklab/cryptkeeper + +extra: + recipe-maintainers: + - croots + - jeffreybarrick diff --git a/recipes/cstag/meta.yaml b/recipes/cstag/meta.yaml index 056545dac83d6..f2ed2333e74a9 100644 --- a/recipes/cstag/meta.yaml +++ b/recipes/cstag/meta.yaml @@ -1,5 +1,5 @@ {% set name = "cstag" %} -{% set version = "1.0.5" %} +{% set version = "1.1.0" %} package: name: {{ name|lower }} @@ -7,12 +7,12 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/cstag-{{ version }}.tar.gz - sha256: 69aeb279da6143a8f7b9b42a92ae1978f752890c8d475c953077c09ce918774b + sha256: cecde4b604c00114fadc2344f9fd9b19947ce56f04cabe7b184e621c9c6e3355 build: noarch: python script: {{ PYTHON }} -m pip install . -vv - number: 0 + number: 1 run_exports: - {{ pin_subpackage(name|lower, max_pin='x.x') }} @@ -23,7 +23,6 @@ requirements: - pip run: - python >=3.7.0,<4.0.0 - - weasyprint >=52.5 test: imports: diff --git a/recipes/csvtk/meta.yaml b/recipes/csvtk/meta.yaml index f81d3b38c5053..86f0aee7a9418 100644 --- a/recipes/csvtk/meta.yaml +++ b/recipes/csvtk/meta.yaml @@ -1,19 +1,24 @@ -{% set version = "0.29.0" %} - +{% set version = "0.30.0" %} +# This package should be migrated to conda-forge due to general utility +# In that case it needs to be built from source package: name: csvtk version: {{ version }} build: - number: 0 + number: 2 run_exports: - {{ pin_subpackage('csvtk', max_pin='x.x') }} source: - - url: https://github.com/shenwei356/csvtk/releases/download/v{{ version }}/csvtk_darwin_amd64.tar.gz # [osx] - md5: 055172fe0ce888cdbbe11c3c03846aa4 # [osx] - - url: https://github.com/shenwei356/csvtk/releases/download/v{{ version }}/csvtk_linux_amd64.tar.gz # [linux] - md5: ac796feaa66514b0b5eb9b21df81c22b # [linux] + - url: https://github.com/shenwei356/csvtk/releases/download/v{{ version }}/csvtk_darwin_amd64.tar.gz # [osx and x86_64] + md5: c415255e265ba0cd547806fdbda05652 # [osx and x86_64] + - url: https://github.com/shenwei356/csvtk/releases/download/v{{ version }}/csvtk_darwin_arm64.tar.gz # [arm64] + md5: dd8a84c301d378ab7ff28c85d37fbefa # [arm64] + - url: https://github.com/shenwei356/csvtk/releases/download/v{{ version }}/csvtk_linux_amd64.tar.gz # [linux and x86_64] + md5: 8f5877d4fbea89609d64bd2679956476 # [linux and x86_64] + - url: https://github.com/shenwei356/csvtk/releases/download/v{{ version }}/csvtk_linux_arm64.tar.gz # [aarch64] + md5: 2a6dd840291d23971ff538eaf3de00ec # [aarch64] test: commands: @@ -25,6 +30,9 @@ about: license: MIT extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 skip-lints: - should_be_noarch_generic - should_not_be_noarch_source diff --git a/recipes/ctxcore/meta.yaml b/recipes/ctxcore/meta.yaml new file mode 100644 index 0000000000000..5610e87640ebb --- /dev/null +++ b/recipes/ctxcore/meta.yaml @@ -0,0 +1,52 @@ +{% set name = "ctxcore" %} +{% set version = "0.2.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/aertslab/ctxcore/archive/{{ version }}.tar.gz + sha256: a7ebf0f2625641b76a390993e12042e92fff7d0ac242c7fad5e3bff3ff3cd67a + +build: + number: 0 + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + script_env: + - SETUPTOOLS_SCM_PRETEND_VERSION={{ version }} + run_exports: + - {{ pin_subpackage('ctxcore', max_pin="x.x") }} + +requirements: + host: + - python + - setuptools-scm + - pip + run: + - python + - cytoolz + - frozendict + - numba >=0.51.2 + - numpy + - pandas >=0.24 + - pyarrow >=8.0.0 + - pyyaml + - tqdm + +test: + imports: + - ctxcore + +about: + home: "https://scenic.aertslab.org" + summary: "Core functions for pycisTarget and the SCENIC tool suite." + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE.txt + dev_url: "https://github.com/aertslab/ctxcore" + doc_url: "https://ctxcore.readthedocs.io/en/latest" + +extra: + recipe-maintainers: + - mencian diff --git a/recipes/curare/meta.yaml b/recipes/curare/meta.yaml index 961edaf9848d9..0458d942c20e0 100644 --- a/recipes/curare/meta.yaml +++ b/recipes/curare/meta.yaml @@ -1,5 +1,5 @@ {% set name = "curare" %} -{% set version = "0.5.1" %} +{% set version = "0.6.0" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://github.com/pblumenkamp/Curare/archive/refs/tags/{{ version }}.tar.gz - sha256: bf1d47c889b90bb33b5b5353b87d8486a23321394a928e863510c6ac2e8eb0c7 + sha256: e98935fce614bf0b8b3db4e9c65c9fbba999fab84e69e4158209b6319f59a0da build: number: 0 @@ -29,6 +29,8 @@ requirements: - python =3.10 - pyyaml =6.0 - docopt =0.6.2 + - progressbar2 =4.3.2 + - biopython =1.83 test: imports: diff --git a/recipes/cured/build.sh b/recipes/cured/build.sh new file mode 100644 index 0000000000000..dd694a0849030 --- /dev/null +++ b/recipes/cured/build.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +mkdir -p "${PREFIX}/bin" "${PREFIX}/example_data" +chmod +x bin/* +cp bin/* "${PREFIX}/bin/" +cp example_data/* "${PREFIX}/example_data/" diff --git a/recipes/cured/meta.yaml b/recipes/cured/meta.yaml new file mode 100644 index 0000000000000..4b3aac6d123c8 --- /dev/null +++ b/recipes/cured/meta.yaml @@ -0,0 +1,47 @@ +{% set name = "CURED" %} +{% set version = "1.05" %} + +package: + name: {{ name|lower }} + version: '{{ version }}' + +source: + url: https://github.com/microbialARC/{{name}}/archive/refs/tags/v{{version}}.tar.gz + + sha256: 0f0fb4a208a6fbff64187d9e0ccd3261bf820d441cf3fdc4dc97a458989e84d9 + +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage("cured", max_pin="x") }} + +requirements: + run: + - blast ==2.15.0 + - bwa ==0.7.17 + - mlst ==2.23.0 + - ncbi-datasets-cli ==15.28.0 + - python ==3.10.13 + - samtools ==1.18 + - unitig-caller ==1.3.0 + - biopython ==1.82 + +test: + commands: + - CURED_Main.py -help + - CURED_FindREs.py -help + +about: + home: https://github.com/microbialARC/{{name}} + license: GPLv3 + license_family: GPL + license_file: 'LICENSE' + summary: Classification Using Restriction Enzyme Diagnostics + dev_url: https://github.com/microbialARC/{{name}} + +extra: + recipe-maintainers: + - AhmedMoustafa + - erin-thei + - lizqian diff --git a/recipes/curves/Makefile.osx.patch b/recipes/curves/Makefile.osx.patch new file mode 100644 index 0000000000000..bd8055fe8a483 --- /dev/null +++ b/recipes/curves/Makefile.osx.patch @@ -0,0 +1,105 @@ +--- orig/Makefile 2016-10-27 16:11:30.000000000 +0200 ++++ Makefile 2024-06-12 10:10:43.000000000 +0200 +@@ -2,7 +2,7 @@ + #### Makefile for Cur+ #### + + CC= cc +-CFLAG= ++CFLAG= + + FC= gfortran + #FFLAG= -w -fbounds-check -O2 +@@ -18,16 +18,16 @@ + ## http://www.unidata.ucar.edu/downloads/netcdf). Finally, the + ## netCDF Fortran Libraries can also be found within + ## installations of the AmberTools package (http://ambermd.org). +-## ++## + ## If you have AmberTools installed (version >=13), please set + ## NETCDF to the location of your AmberTools installation; e.g.: +-## NETCDF=/software/amber14/AmberTools ++NETCDF=$(AMBERHOME) + ## + ## If you installed netcdf-fortran using macports on MACOSX, + ## set NETCDF to the location of your macports tree; e.g.: + ## NETCDF=/opt/local + ## +-## If you installed netcdf-fortran using the official Unidata ++## If you installed netcdf-fortran using the official Unidata + ## tarball, set NETCDF to the location of your installation, + ## e.g.: + ## NETCDF=/usr/local +@@ -35,48 +35,59 @@ + + ###------------------ Gromacs XTC input support -------------------### + ## To enable XTC support, uncomment the following line: +-## XTC= yes ++XTC= yes + + ## Please do not edit below this line. + ###----------------------------------------------------------------### + ifdef NETCDF +-FFLAG_NC= -I$(NETCDF)/include/ -DNETCDF +-ifneq ("$(wildcard $(NETCDF)/lib/libnetcdff.a)","") ++FFLAG_NC= -I$(NETCDF)/include/ -DNETCDF -Wno-argument-mismatch ++## ifneq ("$(wildcard $(NETCDF)/lib/libnetcdff.a)","") + libnetcdf= netcdff +-else +-libnetcdf= netcdf +-endif ++## else ++## libnetcdf= netcdf ++## endif + LDFLAG_NC= -L$(NETCDF)/lib -l$(libnetcdf) + endif + + ifdef XTC + XTC_OBJ= f77_molfile.o +-FFLAG_XTC= -DXTC ++FFLAG_XTC= -DXTC -fallow-argument-mismatch + LDFLAG_XTC= -L. -lmolfile_plugin -lstdc++ + endif + ++ ++#LDFLAG_XTC= -L. -lmolfile_plugin -lc++ ++CFLAG= -I/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include ++ ++ + OBJ= aacur.o axis.o axref.o backbo.o bisection.o dotdelta.o eigen.o \ + findaxis.o getdate.o ionbld.o ionpar.o input.o intaxe.o intop.o \ + locate.o lsfit.o manta.o ncerror.o nml.o \ + params.o pdbout.o curpar.o screw.o setup.o smooth.o torp.o xtcerror.o $(XTC_OBJ) + +-Cur+ : $(OBJ) +- $(FC) $(OBJ) $(LDFLAG_NC) $(LDFLAG_XTC) -o Cur+ ++all: Cur+ Canal Canion ++ ++Cur+ : $(OBJ) ++ $(FC) $(OBJ) $(LDFLAG_NC) -L/usr/local/lib/gcc/current $(LDFLAG_XTC) -lgfortran -o Cur+ ++Canal : canal.o ++ $(FC) $(FFLAG) canal.o -o Canal ++Canion : canion.o ++ $(FC) $(FFLAG) canion.o -o Canion + + .SUFFIXES : .o .c .f + .c.o : +- $(CC) -cpp $(CFLAG) -c $< ++ $(CC) $(CFLAG) -Iinclude -dM -c $< + + .f.o : + $(FC) -cpp $(FFLAG) $(FFLAG_NC) $(FFLAG_XTC) -c $< + +-clean: +- rm -f Cur+ *.o *.a ++clean: ++ rm -f Cur+ Canal Canion *.o *.a + + f77_molfile.o: f77_molfile.c plugins +- $(CC) $(CFLAG) -Iinclude -c $< ++ $(CC) $(CFLAG) -Iinclude -dM -c $< + + plugins: gromacsplugin.C +- $(CC) -D"STATIC_PLUGIN" -Iinclude -D"VMDPLUGIN=molfile_gromacsplugin" -c gromacsplugin.C -o gromacsplugin-s.o ++ $(CXX) -D"STATIC_PLUGIN" -Iinclude -dM -D"VMDPLUGIN=molfile_gromacsplugin" -c gromacsplugin.C -o gromacsplugin-s.o + ar cr libmolfile_plugin.a gromacsplugin-s.o + diff --git a/recipes/curves/Makefile.patch b/recipes/curves/Makefile.patch index f451d1546a514..93ccd6b237848 100644 --- a/recipes/curves/Makefile.patch +++ b/recipes/curves/Makefile.patch @@ -1,7 +1,20 @@ ---- Makefile.backup 2021-10-20 13:38:18.000000000 +0200 -+++ Makefile 2021-10-20 13:42:03.000000000 +0200 -@@ -21,7 +21,7 @@ - ## +--- Makefile_orig 2024-06-05 10:08:58.000000000 +0200 ++++ Makefile 2024-06-06 10:55:53.000000000 +0200 +@@ -2,7 +2,7 @@ + #### Makefile for Cur+ #### + + CC= cc +-CFLAG= ++CFLAG= + + FC= gfortran + #FFLAG= -w -fbounds-check -O2 +@@ -18,16 +18,16 @@ + ## http://www.unidata.ucar.edu/downloads/netcdf). Finally, the + ## netCDF Fortran Libraries can also be found within + ## installations of the AmberTools package (http://ambermd.org). +-## ++## ## If you have AmberTools installed (version >=13), please set ## NETCDF to the location of your AmberTools installation; e.g.: -## NETCDF=/software/amber14/AmberTools @@ -9,7 +22,14 @@ ## ## If you installed netcdf-fortran using macports on MACOSX, ## set NETCDF to the location of your macports tree; e.g.: -@@ -35,12 +35,12 @@ + ## NETCDF=/opt/local + ## +-## If you installed netcdf-fortran using the official Unidata ++## If you installed netcdf-fortran using the official Unidata + ## tarball, set NETCDF to the location of your installation, + ## e.g.: + ## NETCDF=/usr/local +@@ -35,23 +35,23 @@ ###------------------ Gromacs XTC input support -------------------### ## To enable XTC support, uncomment the following line: @@ -20,18 +40,36 @@ ###----------------------------------------------------------------### ifdef NETCDF -FFLAG_NC= -I$(NETCDF)/include/ -DNETCDF +-ifneq ("$(wildcard $(NETCDF)/lib/libnetcdff.a)","") +FFLAG_NC= -I$(NETCDF)/include/ -DNETCDF -Wno-argument-mismatch - ifneq ("$(wildcard $(NETCDF)/lib/libnetcdff.a)","") ++## ifneq ("$(wildcard $(NETCDF)/lib/libnetcdff.a)","") libnetcdf= netcdff - else -@@ -60,8 +60,14 @@ +-else +-libnetcdf= netcdf +-endif ++## else ++## libnetcdf= netcdf ++## endif + LDFLAG_NC= -L$(NETCDF)/lib -l$(libnetcdf) + endif + + ifdef XTC + XTC_OBJ= f77_molfile.o +-FFLAG_XTC= -DXTC ++FFLAG_XTC= -DXTC -fallow-argument-mismatch + LDFLAG_XTC= -L. -lmolfile_plugin -lstdc++ + endif + +@@ -60,18 +60,24 @@ locate.o lsfit.o manta.o ncerror.o nml.o \ params.o pdbout.o curpar.o screw.o setup.o smooth.o torp.o xtcerror.o $(XTC_OBJ) +-Cur+ : $(OBJ) +- $(FC) $(OBJ) $(LDFLAG_NC) $(LDFLAG_XTC) -o Cur+ +all: Cur+ Canal Canion + - Cur+ : $(OBJ) - $(FC) $(OBJ) $(LDFLAG_NC) $(LDFLAG_XTC) -o Cur+ ++Cur+ : $(OBJ) ++ $(FC) $(OBJ) $(LDFLAG_NC) $(LDFLAG_XTC) -lgfortran -o Cur+ +Canal : canal.o + $(FC) $(FFLAG) canal.o -o Canal +Canion : canion.o @@ -39,11 +77,15 @@ .SUFFIXES : .o .c .f .c.o : -@@ -71,7 +77,7 @@ +- $(CC) -cpp $(CFLAG) -c $< ++ $(CC) -cpp $(CFLAG) -Iinclude -dM -c $< + + .f.o : $(FC) -cpp $(FFLAG) $(FFLAG_NC) $(FFLAG_XTC) -c $< - clean: +-clean: - rm -f Cur+ *.o *.a ++clean: + rm -f Cur+ Canal Canion *.o *.a f77_molfile.o: f77_molfile.c plugins diff --git a/recipes/curves/build.sh b/recipes/curves/build.sh index e135b01e6b690..f0c8ccede9e90 100644 --- a/recipes/curves/build.sh +++ b/recipes/curves/build.sh @@ -1,6 +1,10 @@ #!/usr/bin/env bash -make FC="${FC}" CC="${CC}" +if [[ ${target_platform} =~ osx.* ]]; then + make FC="${FC}" CC="${FC}" CXX="${CXX}" +else + make FC="${FC}" CC="${FC}" +fi chmod u+x Cur+ chmod u+x Canal diff --git a/recipes/curves/build_failure.osx-64.yaml b/recipes/curves/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..3ec5d235febae --- /dev/null +++ b/recipes/curves/build_failure.osx-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: 8ed3ed2a1646f5cf5fa1b3b367f9bc209eb8e2ad2941bb3f9b785ee7baa7b0ad # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: compiler error +log: |- + Downloading http://curvesplus.bsc.es/static/app/canal.f + Extracting download + Warning: Unrecognized source format. Source file will be copied to the SRC_DIR + Downloading source to cache: canion_81b324d4b4.f + Downloading http://curvesplus.bsc.es/static/app/canion.f + getdate.c:6:11: fatal error: time.h: No such file or directory + 6 | # include + | ^~~~~~~~ + compilation terminated. + make: *** [Makefile:79: getdate.o] Error 1 + Extracting download + Warning: Unrecognized source format. Source file will be copied to the SRC_DIR + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/curves_1718386465597/work + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/curves_1718386465597/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/curves_1718386465597/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/curves_1718386465597/work + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + INFO: activate-gfortran_osx-64.sh made the following environmental changes: + DEBUG_FFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/curves-3.0.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fimplicit-none -fvar-tracking-assignments + packages_from_this = build( + DEBUG_FORTRANFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/curves-3.0.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fimplicit-none -fvar-tracking-assignments + F77=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + F90=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + F95=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + FC=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + FC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + FFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/curves-3.0.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + FORTRANFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/curves-3.0.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + GFORTRAN=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + INFO: activate_clang_osx-64.sh made the following environmental changes: + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/curves_1718386465597/work/conda_build.sh']' returned non-zero exit status 2. + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/curves-3.0.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/curves-3.0.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/curves-3.0.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/curves-3.0.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran -cpp -w -O2 -I$PREFIX/include/ -DNETCDF -Wno-argument-mismatch -DXTC -fallow-argument-mismatch -c aacur.f + $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran -cpp -w -O2 -I$PREFIX/include/ -DNETCDF -Wno-argument-mismatch -DXTC -fallow-argument-mismatch -c axis.f + $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran -cpp -w -O2 -I$PREFIX/include/ -DNETCDF -Wno-argument-mismatch -DXTC -fallow-argument-mismatch -c axref.f + $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran -cpp -w -O2 -I$PREFIX/include/ -DNETCDF -Wno-argument-mismatch -DXTC -fallow-argument-mismatch -c backbo.f + $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran -cpp -w -O2 -I$PREFIX/include/ -DNETCDF -Wno-argument-mismatch -DXTC -fallow-argument-mismatch -c bisection.f + $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran -cpp -w -O2 -I$PREFIX/include/ -DNETCDF -Wno-argument-mismatch -DXTC -fallow-argument-mismatch -c dotdelta.f + $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran -cpp -w -O2 -I$PREFIX/include/ -DNETCDF -Wno-argument-mismatch -DXTC -fallow-argument-mismatch -c eigen.f + $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran -cpp -w -O2 -I$PREFIX/include/ -DNETCDF -Wno-argument-mismatch -DXTC -fallow-argument-mismatch -c findaxis.f + $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran -I/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include -Iinclude -dM -c getdate.c +# Last 100 lines of the build log. diff --git a/recipes/curves/meta.yaml b/recipes/curves/meta.yaml index e0e436ade85e1..9d1499a6c88c0 100644 --- a/recipes/curves/meta.yaml +++ b/recipes/curves/meta.yaml @@ -1,33 +1,44 @@ +{% set name = "curves" %} +{% set version = "3.0.2" %} + package: - name: 'curves' - version: '3.0.1' + name: '{{ name|lower }}' + version: '{{ version }}' source: - url: http://curvesplus.bsc.es/static/app/curves+_v3.0nc.tar.gz sha256: b9033caffd398956336dfac1f05fd95d22a1efd376fb3501b1b9058ba74e6a91 patches: - - Makefile.patch + - Makefile.patch # [linux] + - Makefile.osx.patch # [osx] - url: http://curvesplus.bsc.es/static/app/canal.f sha256: 4ff30cd6821fdb80e1520483f24b35cc3852af7dec2e7c73df9fd57d84e8dde2 - url: http://curvesplus.bsc.es/static/app/canion.f sha256: 81b324d4b4ff835e56f81a3f7d6a408f511e89a42cac8f390516a9fb3f9026f7 build: - number: 0 + number: 2 + run_exports: + - {{ pin_subpackage(name, max_pin='x') }} + requirements: build: - - {{ compiler('c') }} - - {{ compiler('cxx') }} - {{ compiler('fortran') }} + - {{ compiler('cxx') }} + - {{ compiler('c') }} - make host: - - libnetcdf 4.7.* - - netcdf-fortran 4.5.* + - python + - libnetcdf + - netcdf-fortran - ambertools >=22.0 run: - - libnetcdf >=4.7.* - - netcdf-fortran >=4.5.* + - python 3.8.* # [py38] + - python 3.9.* # [py39] + - python 3.10.* # [py310] + - libnetcdf + - netcdf-fortran - ambertools >=22.0 test: @@ -40,3 +51,12 @@ about: license_family: APACHE summary: "CURVES+: Conformational analysis of single nucleic acid structures or of molecular dynamics trajectories" description: "Curves+ is a revised version of the Curves approach for analysing the structure of nucleic acids. It respects the international conventions for nucleic acid analysis, runs much faster and provides new data." + +extra: + skip: true # [py2k or py3k] + # Define build matrix for multiple Python versions + build: + python: + - 3.8 + - 3.9 + - 3.10 diff --git a/recipes/customtkinter/meta.yaml b/recipes/customtkinter/meta.yaml index 0dbc3d2ed778d..31b733fbe6f28 100644 --- a/recipes/customtkinter/meta.yaml +++ b/recipes/customtkinter/meta.yaml @@ -1,5 +1,5 @@ {% set name = "customtkinter" %} -{% set version = "5.2.1" %} +{% set version = "5.2.2" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/customtkinter-{{ version }}.tar.gz - sha256: eddc1c416063e1ce1aa2793959b0814e95e22d3de3f2a940bd84828f7301f555 + sha256: fd8db3bafa961c982ee6030dba80b4c2e25858630756b513986db19113d8d207 build: script: "{{ PYTHON }} -m pip install . --no-deps -vvv" diff --git a/recipes/cutadapt/meta.yaml b/recipes/cutadapt/meta.yaml index 2d2947af1bfe4..e315f6276d73b 100644 --- a/recipes/cutadapt/meta.yaml +++ b/recipes/cutadapt/meta.yaml @@ -1,17 +1,17 @@ -{% set version = "4.5" %} +{% set version = "4.9" %} package: name: cutadapt version: {{ version }} source: - url: https://files.pythonhosted.org/packages/36/f6/3e040d24a2a475aae2afc193957abe9bc90139b8b72b8a5317198201f2fb/cutadapt-4.5.tar.gz - sha256: 33e56678bb3ba90fd7045d03184b83e135f61e8a6b9f29aa3db8c63611a08e94 + url: https://files.pythonhosted.org/packages/cb/15/85799e7fa1dfb86b8f79f8f98902b28003a054c46447a0580f21e535dbf3/cutadapt-4.9.tar.gz + sha256: da3b45775b07334d2e2580a7b154d19ea7e872f0da813bb1ac2a4da712bfc223 build: - number: 0 - script: "{{ PYTHON }} -m pip install . --no-deps -vv" - skip: True # [py27 or py36] + number: 2 + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + skip: True # [py < 38] run_exports: - {{ pin_subpackage("cutadapt", max_pin="x") }} @@ -26,7 +26,7 @@ requirements: run: - python - xopen >=1.6.0 - - dnaio >=0.10.0 + - dnaio >=1.2.2 test: imports: @@ -36,12 +36,19 @@ test: about: home: https://cutadapt.readthedocs.io/ + dev_url: https://github.com/marcelm/cutadapt license: MIT + license_family: MIT + license_file: LICENSE summary: Trim adapters from high-throughput sequencing reads extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - marcelm identifiers: - biotools:cutadapt - doi:10.14806/ej.17.1.200 + - usegalaxy-eu:cutadapt diff --git a/recipes/cutefc/meta.yaml b/recipes/cutefc/meta.yaml new file mode 100644 index 0000000000000..39c976a89d87d --- /dev/null +++ b/recipes/cutefc/meta.yaml @@ -0,0 +1,49 @@ +{% set version = "1.0.0" %} + +package: + name: cutefc + version: {{ version }} + +source: + url: https://pypi.io/packages/source/c/cuteFC/cuteFC-{{ version }}.tar.gz + sha256: c8cfc36d2b2195760d8feee2e3a8e79a885622c3e50f8ceb903d945d4e41e0ef + +build: + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + noarch: python + run_exports: + - {{ pin_subpackage("cutefc", max_pin="x.x") }} + +requirements: + host: + - python >=3 + - pip + run: + - python >=3 + - scipy + - pysam + - biopython + - cigar + - numpy + - pyvcf3 + - scikit-learn + +test: + imports: + - benchmarks + - cuteFC + commands: + - cuteFC -h + requires: + - pip + +about: + home: https://github.com/tjiangHIT/cuteFC + summary: Regenotyping structural variants through an accurate and efficient force-calling method + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - Meltpinkg diff --git a/recipes/cutesv/meta.yaml b/recipes/cutesv/meta.yaml index 957edae2caec5..7f9935d939f64 100644 --- a/recipes/cutesv/meta.yaml +++ b/recipes/cutesv/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "2.1.0" %} +{% set version = "2.1.1" %} package: name: cutesv @@ -6,7 +6,7 @@ package: source: url: https://github.com/tjiangHIT/cuteSV/archive/cuteSV-v{{ version }}.tar.gz - sha256: c2d072e8c3c1a2a8ec52abe63ffc796d0e023385e850c4ead6e3a18c14f173d3 + sha256: ebba8ffe0943626a9c1606adeed37bec3a4c0816c4fb7af8d6d219d7bee2acd2 build: number: 0 diff --git a/recipes/cvlr/meta.yaml b/recipes/cvlr/meta.yaml index cafc31b5c4805..ca135de94ada0 100644 --- a/recipes/cvlr/meta.yaml +++ b/recipes/cvlr/meta.yaml @@ -10,7 +10,7 @@ source: sha256: eaceaa530925cc42aafdda32d9d6dfb73c26cb6eccc06615947545a6126fb46a build: - number: 3 + number: 4 requirements: build: diff --git a/recipes/cyrcular/build.sh b/recipes/cyrcular/build.sh new file mode 100644 index 0000000000000..4bbfddb620755 --- /dev/null +++ b/recipes/cyrcular/build.sh @@ -0,0 +1,6 @@ +#!/bin/bash -xeuo + +# Make sure bindgen passes on our compiler flags. +export BINDGEN_EXTRA_CLANG_ARGS="${CPPFLAGS} ${CFLAGS} ${LDFLAGS}" + +cargo install --no-track --locked --root "${PREFIX}" --path . diff --git a/recipes/cyrcular/meta.yaml b/recipes/cyrcular/meta.yaml new file mode 100644 index 0000000000000..26a83c54f2525 --- /dev/null +++ b/recipes/cyrcular/meta.yaml @@ -0,0 +1,49 @@ +{% set version = "0.3.0" %} +{% set sha256 = "eba1dea2e13601b5bc18183fff7d5bf3c07e9ed98f62272453a5473e7bbd36cb" %} + +package: + name: cyrcular + version: {{ version }} + +source: + url: https://github.com/tedil/cyrcular/archive/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + skip: True # [osx] + number: 0 + run_exports: + - {{ pin_subpackage("cyrcular", max_pin="x.x") }} + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - {{ compiler('rust') }} + - cmake + - make + - pkg-config + host: + - clangdev + - openssl + - zlib + - xz + - bzip2 + - gsl + - libcblas + - blis + +test: + commands: + - cyrcular -h + +about: + home: https://github.com/tedil/cyrcular + license: MIT + license_family: MIT + summary: Tool for calling circles from nanopore reads + dev_url: https://github.com/tedil/cyrcular + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/cytocad/build_failure.linux-64.yaml b/recipes/cytocad/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..06b68a4f31465 --- /dev/null +++ b/recipes/cytocad/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: d6d404e04af0ad052eb3154264f12c2762ccd84b7ac32af08b10bde4f12cc607 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + error: command '/opt/conda/conda-bld/cytocad_1718135928324/_build_env/bin/x86_64-conda-linux-gnu-cc' failed with exit code 1 + [1;31merror[0m: [1msubprocess-exited-with-error[0m + + [31m[0m [32mpython setup.py bdist_wheel[0m did not run successfully. + [31m[0m exit code: [1;36m1[0m + [31m>[0m See above for output. + + [1;35mnote[0m: This error originates from a subprocess, and is likely not a problem with pip. + [1;35mfull command[0m: [34m/opt/conda/conda-bld/cytocad_1718135928324/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/bin/python -u -c '[0m + [34m exec(compile('"'"''"'"''"'"'[0m + [34m # This is -- a caller that pip uses to run setup.py[0m + [34m #[0m + [34m # - It imports setuptools before invoking setup.py, to enable projects that directly[0m + [34m # import from distutils.core to work with newer packaging standards.[0m + [34m # - It provides a clear error message when setuptools is not installed.[0m + [34m # - It sets sys.argv[0] to the underlying setup.py, when invoking setup.py so[0m + [34m # setuptools doesn'"'"'t think the script is -c. This avoids the following warning:[0m + [34m # manifest_maker: standard file '"'"'-c'"'"' not found".[0m + [34m # - It generates a shim setup.py, for handling setup.cfg-only projects.[0m + [34m import os, sys, tokenize[0m + [34m [0m + [34m try:[0m + [34m import setuptools[0m + [34m except ImportError as error:[0m + [34m print([0m + [34m "ERROR: Can not execute setup.py since setuptools is not available in "[0m + [34m "the build environment.",[0m + [34m file=sys.stderr,[0m + [34m )[0m + [34m sys.exit(1)[0m + [34m [0m + [34m __file__ = %r[0m + [34m sys.argv[0] = __file__[0m + [34m [0m + [34m if os.path.exists(__file__):[0m + [34m filename = __file__[0m + [34m with tokenize.open(__file__) as f:[0m + [34m setup_py_code = f.read()[0m + [34m else:[0m + [34m filename = ""[0m + [34m setup_py_code = "from setuptools import setup; setup()"[0m + [34m [0m + [34m exec(compile(setup_py_code, filename, "exec"))[0m + [34m '"'"''"'"''"'"' % ('"'"'/opt/conda/conda-bld/cytocad_1718135928324/work/setup.py'"'"',), "", "exec"))' bdist_wheel -d /tmp/pip-wheel-bqip3nyf[0m + [1;35mcwd[0m: /opt/conda/conda-bld/cytocad_1718135928324/work/ + Building wheel for cytocad (setup.py): finished with status 'error' + [31m ERROR: Failed building wheel for cytocad[0m[31m + [0m Running setup.py clean for cytocad + Running command python setup.py clean + /opt/conda/conda-bld/cytocad_1718135928324/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/python3.11/site-packages/setuptools/dist.py:476: SetuptoolsDeprecationWarning: Invalid dash-separated options + !! + + ******************************************************************************** + Usage of dash-separated 'description-file' will not be supported in future + versions. Please use the underscore name 'description_file' instead. + + By 2024-Sep-26, you need to update your project and remove deprecated calls + or your builds will no longer be supported. + + See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details. + ******************************************************************************** + + !! + opt = self.warn_dash_deprecation(opt, section) + running clean + removing 'build/temp.linux-x86_64-cpython-311' (and everything under it) + removing 'build/lib.linux-x86_64-cpython-311' (and everything under it) + 'build/bdist.linux-x86_64' does not exist -- can't clean it + 'build/scripts-3.11' does not exist -- can't clean it + removing 'build' + Failed to build cytocad + [31mERROR: Could not build wheels for cytocad, which is required to install pyproject.toml-based projects[0m[31m + [0mException information: + Traceback (most recent call last): + File "$PREFIX/lib/python3.11/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper + status = run_func(*args) + ^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.11/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper + return func(self, options, args) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.11/site-packages/pip/_internal/commands/install.py", line 429, in run + raise InstallationError( + pip._internal.exceptions.InstallationError: Could not build wheels for cytocad, which is required to install pyproject.toml-based projects + Removed build tracker: '/tmp/pip-build-tracker-t02dmdvh' + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/cytocad_1718135928324/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/cytocad/meta.yaml b/recipes/cytocad/meta.yaml index 54fef54aafdf9..bbde6d8c29a45 100644 --- a/recipes/cytocad/meta.yaml +++ b/recipes/cytocad/meta.yaml @@ -11,7 +11,7 @@ source: build: skip: True # [py2k or osx] - number: 2 + number: 3 script: "{{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv" requirements: diff --git a/recipes/cytoscape/meta.yaml b/recipes/cytoscape/meta.yaml index 6fc7e23fbb204..068d4c8f5ba8c 100644 --- a/recipes/cytoscape/meta.yaml +++ b/recipes/cytoscape/meta.yaml @@ -1,6 +1,6 @@ {% set name = "cytoscape" %} -{% set version = "3.10.1" %} -{% set sha256 = "93373f75143822a2162c4db5b0b0b614fdf2e34c1a0300ab915cadfd1b148418" %} +{% set version = "3.10.2" %} +{% set sha256 = "561380f7429aa806941027897fd1ca902597c4dadf4bf1bbd3141a39f2bd3f3e" %} package: name: {{ name }} diff --git a/recipes/cytotrace2-python/meta.yaml b/recipes/cytotrace2-python/meta.yaml new file mode 100644 index 0000000000000..a0e51187a6d66 --- /dev/null +++ b/recipes/cytotrace2-python/meta.yaml @@ -0,0 +1,55 @@ +{% set name = "cytotrace2-python" %} +{% set version = "0.0.1" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/digitalcytometry/cytotrace2/archive/refs/tags/v1.0.0.tar.gz + sha256: a0e238320fc0f310f6c16b1d2ad3fd2cc556e5ee3a04d24c490c4e46c34053e1 + +build: + number: 0 + entry_points: + - cytotrace2=cytotrace2_py.cytotrace2_py:run_cytotrace2 + noarch: python + script: cd cytotrace2_python && {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + run_exports: + - {{ pin_subpackage('cytotrace2-python', max_pin="x.x") }} + +requirements: + host: + - python >=3.9 + - pip + run: + - python >=3.9 + - anndata + - numpy + - pandas + - scanpy + - scipy + - scikit-learn + - pytorch + - r-rann + - r-seurat + - r-seuratobject + - r-matrix + - r-ggplot2 + - r-data.table + - r-dplyr + - r-argparse + +test: + imports: + - cytotrace2_py + commands: + - cytotrace2 --help + +about: + license: Custom + license_file: LICENSE + summary: "CytoTRACE 2 is an interpretable AI method for predicting cellular potency and absolute developmental potential from scRNA-seq data." + home: "https://github.com/digitalcytometry/cytotrace2" + dev_url: "https://github.com/digitalcytometry/cytotrace2" + doc_url: "https://github.com/digitalcytometry/cytotrace2/blob/v{{ version }}/cytotrace2_python/README.md" diff --git a/recipes/cyushuffle/meta.yaml b/recipes/cyushuffle/meta.yaml index 74a055fdea193..501c81c87c1ce 100644 --- a/recipes/cyushuffle/meta.yaml +++ b/recipes/cyushuffle/meta.yaml @@ -9,7 +9,7 @@ source: sha256: "bd2c1d038a6d67d5a0c9f3e0b1761dccd9400bde666c82bb8f44732b72d417b6" build: - number: 5 + number: 6 script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv requirements: diff --git a/recipes/cyvcf2/meta.yaml b/recipes/cyvcf2/meta.yaml index a9a4ca590cbb9..a79b51679e3a0 100644 --- a/recipes/cyvcf2/meta.yaml +++ b/recipes/cyvcf2/meta.yaml @@ -1,6 +1,6 @@ {% set name = "cyvcf2" %} -{% set version = "0.30.22" %} -{% set sha256 = "324613c41f9bbb322533f351fd8d33a4454b391d76841da0a28a7075a0e15d84" %} +{% set version = "0.31.1" %} +{% set sha256 = "00bd0e09a3719d29fbc02bc8a40a690ac2c475e91744648750907d1816558fc5" %} package: name: {{ name }} @@ -14,44 +14,58 @@ source: - patches/setup.py.patch build: - number: 0 + number: 1 skip: True # [py < 37] - script: {{ PYTHON }} -m pip install . --use-pep517 -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + script_env: + - CFLAGS=-Wno-implicit-function-declaration -Wno-int-conversion # [osx and py == 38] + - M4=$BUILD_PREFIX/bin/m4 # [osx and arm64] entry_points: - cyvcf2 = cyvcf2.__main__:cli + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: build: - {{ compiler('c') }} + - autoconf + - automake + - make host: - python - cython - pip - - setuptools - - wheel - curl - zlib - htslib >=1.10 - openssl - - numpy + - numpy >=2.0.0 # [py >= 39] + - numpy # [py < 39] run: - python - coloredlogs - click - - numpy + - {{ pin_compatible('numpy') }} test: imports: - cyvcf2 + commands: + - cyvcf2 --help about: home: "https://github.com/brentp/cyvcf2/" - summary: A cython wrapper around htslib built for fast parsing of Variant Call Format (VCF) files + summary: "A cython wrapper around htslib built for fast parsing of Variant Call Format (VCF) files" license: MIT + license_family: MIT license_file: LICENSE doc_url: "https://brentp.github.io/cyvcf2/" + dev_url: "https://github.com/brentp/cyvcf2/" extra: identifiers: - doi:10.1093/bioinformatics/btx057 - biotools:cyvcf2 + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/cyvcf2/patches/setup.py.patch b/recipes/cyvcf2/patches/setup.py.patch index 8d9ff3497ea6c..c0454bda7a141 100644 --- a/recipes/cyvcf2/patches/setup.py.patch +++ b/recipes/cyvcf2/patches/setup.py.patch @@ -1,43 +1,24 @@ --- a/setup.py +++ b/setup.py -@@ -7,10 +7,6 @@ import platform - import pkg_resources - from setuptools import setup, Extension +@@ -10,13 +10,6 @@ from setuptools import setup, Extension, Command + from setuptools.command.build_ext import build_ext + from setuptools.command.sdist import sdist -if sys.version_info.major == 2 and sys.version_info.minor != 7: -- sys.stderr.write("ERROR: cyvcf2 is only for python 2.7 or greater you are running %d.%d\n", (sys.version_info.major, sys.version_info.minor)) +- sys.stderr.write( +- "ERROR: cyvcf2 is only for python 2.7 or greater you are running %d.%d\n", +- (sys.version_info.major, sys.version_info.minor), +- ) - sys.exit(1) - import numpy as np -@@ -42,18 +38,8 @@ def no_cythonize(extensions, **_ignore): - return extensions +@@ -236,6 +229,7 @@ htslib_include_dirs = ["htslib", "htslib/htslib"] - --# Build the Cython extension by statically linking to the bundled htslib --sources = [ -- x for x in glob.glob('htslib/*.c') -- if not any(e in x for e in ['irods', 'plugin']) --] --sources += glob.glob('htslib/cram/*.c') --sources += glob.glob('htslib/htscodecs/htscodecs/*.c') --# Exclude the htslib sources containing main()'s --sources = [x for x in sources if not x.endswith(('htsfile.c', 'tabix.c', 'bgzip.c'))] --sources.append('cyvcf2/helpers.c') -- --extra_libs = [] -+sources = ['cyvcf2/helpers.c'] + # Build the Cython extension by statically linking to the bundled htslib + sources = ["cyvcf2/cyvcf2.pyx", "cyvcf2/helpers.c"] +extra_libs = ['hts'] - if platform.system() != 'Darwin': - extra_libs.append('crypt') - if bool(int(os.getenv("LIBDEFLATE", 0))): -@@ -65,7 +51,7 @@ extensions = [Extension("cyvcf2.cyvcf2", - extra_compile_args=["-Wno-sign-compare", "-Wno-unused-function", - "-Wno-strict-prototypes", - "-Wno-unused-result", "-Wno-discarded-qualifiers"], -- include_dirs=['htslib', 'cyvcf2', np.get_include()])] -+ include_dirs=['cyvcf2', np.get_include()])] - - CYTHONIZE = bool(int(os.getenv("CYTHONIZE", 0))) + extensions = [ + Extension( diff --git a/recipes/d4tools/build.sh b/recipes/d4tools/build.sh index 3e230e2259342..aa736275faff8 100644 --- a/recipes/d4tools/build.sh +++ b/recipes/d4tools/build.sh @@ -1,11 +1,5 @@ -#!/bin/bash -e +#!/bin/bash -ex -set -x - -# TODO: Remove the following export when pinning is updated and we use -# {{ compiler('rust') }} in the recipe. -export \ - CARGO_NET_GIT_FETCH_WITH_CLI=true \ - CARGO_HOME="${BUILD_PREFIX}/.cargo" - -cargo install --verbose --path=d4tools --root ${PREFIX} +# build statically linked binary with Rust +RUST_BACKTRACE=1 +cargo install --verbose --path=d4tools --root "${PREFIX}" diff --git a/recipes/d4tools/meta.yaml b/recipes/d4tools/meta.yaml index 239cb6310566d..185f9b3671124 100644 --- a/recipes/d4tools/meta.yaml +++ b/recipes/d4tools/meta.yaml @@ -1,22 +1,24 @@ -{% set version = "0.3.8" %} +{% set version = "0.3.11" %} package: name: d4tools version: {{ version }} -build: - number: 1 - source: - url: https://github.com/38/d4-format/archive/refs/tags/d4tools-v{{ version }}.tar.gz - sha256: 2b1df781fd40e3e80b9e0871f2ebec53f1b57004baa96547e4d7912def011607 + url: https://github.com/38/d4-format/archive/refs/tags/v{{ version }}.tar.gz + sha256: 376e61c93cfe2efc15f5e74b75214e065e278146555e67b8769818bf49594726 + +build: + number: 0 + run_exports: + - {{ pin_subpackage('d4tools', max_pin="x.x") }} requirements: build: - {{ compiler('c') }} - {{ compiler('cxx') }} - - gcc #[not osx] - - rust >=1.30 + - {{ compiler('rust') }} + - gcc # [not osx] - clangdev - pkg-config - make @@ -31,9 +33,14 @@ test: about: home: https://github.com/38/d4-format license: MIT + license_family: MIT summary: | The D4 command line utility program + dev_url: https://github.com/38/d4-format + extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - haohou skip-lints: diff --git a/recipes/dajin2/meta.yaml b/recipes/dajin2/meta.yaml index 9d98f0440c51c..3567fa738173f 100644 --- a/recipes/dajin2/meta.yaml +++ b/recipes/dajin2/meta.yaml @@ -1,46 +1,48 @@ {% set name = "DAJIN2" %} -{% set version = "0.3.3" %} +{% set version = "0.5.5" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/DAJIN2-{{ version }}.zip - sha256: 1fe0f42e3dd79cf9e21f2c93706004c668440edd385ef112214fdfa8e9396a9f + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/dajin2-{{ version }}.tar.gz + sha256: c0260f99ad631b505b0f0fa010ce7b3ef2f081bcb371ed452bd886dd34592ac1 build: entry_points: - - DAJIN2=DAJIN2.main:execute + - DAJIN2 = DAJIN2.main:execute noarch: python script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation - number: 1 + number: 0 run_exports: - {{ pin_subpackage('dajin2', max_pin="x.x") }} requirements: host: - - python + - python >=3.8,<4.0 + - poetry-core >=1.0.0 - pip run: - - python - - numpy >=1.20.0 - - scipy >=1.6.0 + - python >=3.8.0,<4.0.0 + - numpy >=1.24.0 + - scipy >=1.10.0 - pandas >=1.0.0 - - openpyxl >=3.0.0 - - rapidfuzz >=3.0.0 - - statsmodels >=0.13.5 - - scikit-learn >=1.0.0 + - openpyxl >=3.1.0 + - plotly >=5.19.0 + - python-kaleido >=0.2.0 + - rapidfuzz >=3.6.0 + - scikit-learn >=1.3.0 + - ruptures >=1.1.8 + - networkx >=3.0 - mappy >=2.24 - - pysam >=0.19.0 + - pysam >=0.21.0 - flask >=2.2.0 - waitress >=2.1.0 - jinja2 >=3.1.0 - - plotly >=5.0.0 - - python-kaleido >=0.2.0 - - cstag >=0.4.1 - - midsv >=0.10.1 - - wslpath >=0.3.0 + - cstag >=1.0.0 + - midsv >=0.11.0 + - wslpath >=0.4.1 test: imports: diff --git a/recipes/dapcy/meta.yaml b/recipes/dapcy/meta.yaml new file mode 100644 index 0000000000000..42b3650aeadb4 --- /dev/null +++ b/recipes/dapcy/meta.yaml @@ -0,0 +1,55 @@ +{% set name = "dapcy" %} +{% set version = "0.1.1" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/dapcy-{{ version }}.tar.gz + sha256: b62440ea8523f05597cd0a889b9eafb68192bd4e481048e859b772ac654ccb93 + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('dapcy', max_pin="x.x") }} + +requirements: + host: + - python >=3.6 + - pip + run: + - python >=3.6 + - bed-reader + - joblib + - matplotlib-base + - numpy + - pandas + - scikit-learn + - scipy + - seaborn + - sgkit + - aiohttp + - cyvcf2 + - requests + - yarl + +test: + imports: + - dapcy + commands: + - pip check + requires: + - pip + +about: + home: https://gitlab.com/uhasselt-bioinfo/dapcy + summary: An sklearn implementation of discriminant analysis of principal components (DAPC) for population genetics + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - pmoris diff --git a/recipes/dart/build.sh b/recipes/dart/build.sh index ab1901877606f..641bf8a605d82 100755 --- a/recipes/dart/build.sh +++ b/recipes/dart/build.sh @@ -1,6 +1,11 @@ #!/bin/bash mkdir -p ${PREFIX}/bin +ARCH_BUILD="-m64 -msse4.1" +case $(uname -m) in + arm64|aarch64) ARCH_BUILD="" ;; +esac + #index pushd src/BWT_Index make CC=$CC FLAGS="$CFLAGS" LIBS="$LDFLAGS -lm -lz" @@ -14,6 +19,6 @@ popd #dart pushd src -make CXX=$CXX FLAGS="$CXXFLAGS -Wall -D NDEBUG -O3 -m64 -msse4.1 -fPIC" LIB="$LDFLAGS -lz -lm -lbz2 -llzma -lpthread" +make CXX=$CXX FLAGS="$CXXFLAGS -Wall -D NDEBUG -O3 $ARCH_BUILD -fPIC" LIB="$LDFLAGS -lz -lm -lbz2 -llzma -lpthread" cp dart $PREFIX/bin diff --git a/recipes/dart/build_failure.osx-64.yaml b/recipes/dart/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..5b5076b89c23e --- /dev/null +++ b/recipes/dart/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: c696aa5e636ef886ff1bcb70bc0fab6e2c5ed7ebb5ab85a6d600d7d890735e02 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + $SRC_DIR/src/BWT_Index $SRC_DIR + x86_64-apple-darwin13.4.0-clang -c -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix utils.c -o utils.o + x86_64-apple-darwin13.4.0-clang -c -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix bwt.c -o bwt.o + x86_64-apple-darwin13.4.0-clang -c -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix bntseq.c -o bntseq.o + x86_64-apple-darwin13.4.0-clang -c -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix QSufSort.c -o QSufSort.o + x86_64-apple-darwin13.4.0-clang -c -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix bwt_gen.c -o bwt_gen.o + x86_64-apple-darwin13.4.0-clang -c -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix bwtindex.c -o bwtindex.o + ar -csru libbwa.a utils.o bwt.o bntseq.o QSufSort.o bwt_gen.o bwtindex.o + x86_64-apple-darwin13.4.0-clang -c -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix main.c -o main.o + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix main.o -o bwt_index -L. -lbwa -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -lm -lz + $SRC_DIR + $SRC_DIR/src/htslib $SRC_DIR + echo '/* Default config.h generated by Makefile */' > config.h + echo '#define HAVE_LIBBZ2 1' >> config.h + echo '#define HAVE_LIBLZMA 1' >> config.h + echo '#define HAVE_FSEEKO 1' >> config.h + echo '#define HAVE_DRAND48 1' >> config.h + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o kfunc.o kfunc.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o knetfile.o knetfile.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o kstring.o kstring.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o bcf_sr_sort.o bcf_sr_sort.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o bgzf.o bgzf.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o errmod.o errmod.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o faidx.o faidx.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o hfile.o hfile.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o hfile_net.o hfile_net.c + echo '#define HTS_VERSION "1.5"' > version.h + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o hts.o hts.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o hts_os.o hts_os.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o md5.o md5.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o multipart.o multipart.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o probaln.o probaln.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o realn.o realn.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o regidx.o regidx.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o sam.o sam.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o synced_bcf_reader.o synced_bcf_reader.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o vcf_sweep.o vcf_sweep.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o tbx.o tbx.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o textutils.o textutils.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o thread_pool.o thread_pool.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o vcf.o vcf.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o vcfutils.o vcfutils.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/cram_codecs.o cram/cram_codecs.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/cram_decode.o cram/cram_decode.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/cram_encode.o cram/cram_encode.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/cram_external.o cram/cram_external.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/cram_index.o cram/cram_index.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/cram_io.o cram/cram_io.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/cram_samtools.o cram/cram_samtools.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/cram_stats.o cram/cram_stats.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/files.o cram/files.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/mFILE.o cram/mFILE.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/open_trace_file.o cram/open_trace_file.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/pooled_alloc.o cram/pooled_alloc.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/rANS_static.o cram/rANS_static.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/sam_header.o cram/sam_header.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/string_alloc.o cram/string_alloc.c + ar -rc libhts.a kfunc.o knetfile.o kstring.o bcf_sr_sort.o bgzf.o errmod.o faidx.o hfile.o hfile_net.o hts.o hts_os.o md5.o multipart.o probaln.o realn.o regidx.o sam.o synced_bcf_reader.o vcf_sweep.o tbx.o textutils.o thread_pool.o vcf.o vcfutils.o cram/cram_codecs.o cram/cram_decode.o cram/cram_encode.o cram/cram_external.o cram/cram_index.o cram/cram_io.o cram/cram_samtools.o cram/cram_stats.o cram/files.o cram/mFILE.o cram/open_trace_file.o cram/pooled_alloc.o cram/rANS_static.o cram/sam_header.o cram/string_alloc.o + ranlib libhts.a + $SRC_DIR + $SRC_DIR/src $SRC_DIR + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dart-1.4.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -D NDEBUG -O3 -m64 -msse4.1 -fPIC -c main.cpp +# Last 100 lines of the build log. diff --git a/recipes/dart/meta.yaml b/recipes/dart/meta.yaml index f444a029c9ea5..e0adbdd0c75eb 100644 --- a/recipes/dart/meta.yaml +++ b/recipes/dart/meta.yaml @@ -9,7 +9,9 @@ source: sha256: '847d5e0a7e10162583fcf7168d31924d38290b5364e08c4a9cdd6653da73c64f' build: - number: 4 + number: 6 + run_exports: + - {{ pin_subpackage("dart", max_pin='x.x') }} requirements: build: @@ -42,3 +44,6 @@ about: extra: identifiers: - doi:10.1093/bioinformatics/btx558 + + additional-platforms: + - linux-aarch64 diff --git a/recipes/das_tool/meta.yaml b/recipes/das_tool/meta.yaml index 2fdb95251dd2e..6aab0c2d4911b 100644 --- a/recipes/das_tool/meta.yaml +++ b/recipes/das_tool/meta.yaml @@ -1,6 +1,6 @@ {% set name = "DAS_Tool" %} -{% set version = "1.1.6" %} -{% set sha256 = "a4c02f6789e7f6ca61e0b563261d5f17f12e1b931157a4ae0f413ffdea6eacfb" %} +{% set version = "1.1.7" %} +{% set sha256 = "3633b69242209ceee9cd523e3458adbe89da9c52ecd8724afef2e2099923c56c" %} package: name: {{ name|lower }} @@ -16,6 +16,8 @@ build: rpaths: - lib/R/lib/ - lib/ + run_exports: + - {{ pin_subpackage('das_tool', max_pin="x") }} requirements: host: @@ -30,7 +32,6 @@ requirements: - prodigal >=2.6.3 - blast >=2.7.1 - diamond >=0.9.14 - run: - codeutils # [osx] - unzip diff --git a/recipes/dawg/build_failure.linux-64.yaml b/recipes/dawg/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..2f94055c4e56c --- /dev/null +++ b/recipes/dawg/build_failure.linux-64.yaml @@ -0,0 +1,6 @@ +recipe_sha: 5bc9640fcd659a103262141b08ed53db5422569765bc830b95568297205d2917 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +reason: |- + Another package with the same name is in conda-forge +category: |- + dependency issue diff --git a/recipes/dawg/meta.yaml b/recipes/dawg/meta.yaml index 7c83c498f31e5..b6872b4e0ae9e 100644 --- a/recipes/dawg/meta.yaml +++ b/recipes/dawg/meta.yaml @@ -9,7 +9,9 @@ source: - 0001-Convert-tribool-to-bool.patch build: - number: 7 + number: 8 + run_exports: + - {{ pin_subpackage("dawg", max_pin="x") }} requirements: build: @@ -32,3 +34,7 @@ about: home: https://github.com/reedacartwright/dawg summary: "DNA Assembly with Gaps (Dawg) is an application designed to simulate the evolution of recombinant DNA sequences in continuous time based on the robust general time reversible model with gamma and invariant rate heterogeneity and a novel length-dependent model of gap formation." license: GPL-2 + +extra: + skip-lints: + - in_other_channels diff --git a/recipes/dbcan/meta.yaml b/recipes/dbcan/meta.yaml index e9856eac10155..c6e354daf60a3 100644 --- a/recipes/dbcan/meta.yaml +++ b/recipes/dbcan/meta.yaml @@ -1,5 +1,5 @@ {% set name = "dbcan" %} -{% set version = "4.0.0" %} +{% set version = "4.1.4" %} package: name: "{{ name|lower }}" @@ -7,23 +7,31 @@ package: source: url: https://github.com/linnabrown/run_dbcan/releases/download/{{ version }}/dbcan-{{ version }}.tar.gz - sha256: c90e99168fa3414696575b8f5a6c2862173151d1f0d7246ebd5713704b597435 + sha256: 12dc906b56c3b1bfea667aa617d46d3f292857fc360730e4fe1d35f5b5557215 + build: - number: 0 - script: "{{ PYTHON }} -m pip install . -vv" + number: 1 noarch: python + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + entry_points: + - run_dbcan = dbcan.cli.run_dbcan:cli_main + - cgc_standard2json = dbcan.cli.cgc_process_json:main + - syntenic_plot = dbcan.cli.syntenic_plot:main + - dbcan_utils = dbcan.utils.utils:main + - dbcan_plot = dbcan.utils.plots:main + - dbcan_asmfree = dbcan.utils.diamond_unassembly:main + - dbcan_build = dbcan.utils.dbcan_build:main + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: host: - - natsort - pip - - python - - setuptools - - setuptools_scm_git_archive - + - python >=3.6 + - hatchling run: - natsort - - python + - python >=3.6 - diamond - hmmer - prodigal @@ -32,18 +40,34 @@ requirements: - numpy >1.19 - biopython - pandas + - tqdm + - openpyxl + - matplotlib-base + - session-info + - blast + - requests + - pyhmmer test: imports: - dbcan + commands: + - run_dbcan --help about: - home: http://bcb.unl.edu/dbCAN2/ - dev_url: https://github.com/linnabrown/run_dbcan - license: GPLv3 + home: "https://bcb.unl.edu/dbCAN2" + dev_url: "https://github.com/linnabrown/run_dbcan" + license: GPL-3.0-or-later + license_family: GPL3 license_file: LICENSE - summary: Standalone version of dbCAN annotation tool for automated CAZyme annotation + summary: "Standalone version of dbCAN annotation tool for automated CAZyme annotation." + doc_url: "https://dbcan.readthedocs.io/en/latest" extra: recipe-maintainers: - - Le Huang + - linnabrown + identifiers: + - doi:10.1093/nar/gkx894 + - doi:10.1093/nar/gky418 + - doi:10.1093/nar/gkad328 + - biotools:dbcan2 diff --git a/recipes/dbcanlight/meta.yaml b/recipes/dbcanlight/meta.yaml index feb9db4e3aac6..913d6bd54f1e3 100644 --- a/recipes/dbcanlight/meta.yaml +++ b/recipes/dbcanlight/meta.yaml @@ -1,5 +1,5 @@ -{% set name = "dbcanLight" %} -{% set version = "1.0.2" %} +{% set name = "dbcanlight" %} +{% set version = "1.1.0" %} package: name: {{ name|lower }} @@ -7,40 +7,58 @@ package: source: url: https://github.com/chtsai0105/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz - sha256: da8a46553010e625e0a8c5db218876b1b339a153750341f110f7883dd961c340 + sha256: dee95b9e8295fc749013283af43706b777646beb55d0881360b68b7efc7a60b6 build: number: 0 noarch: python - script: {{ PYTHON }} -m pip install . -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + entry_points: + - dbcanlight = dbcanlight.__main__:main + - dbcanlight-hmmparser = dbcanlight.hmmsearch_parser:main + - dbcanlight-subparser = dbcanlight.substrate_parser:main run_exports: - {{ pin_subpackage(name|lower, max_pin="x") }} requirements: host: - pip - - python - - setuptools + - python >=3.7 + - pytest >=6.0 run: - - biopython >=1.79 + - biopython >=1.81 + - importlib-metadata + - pyhmmer >=0.10.4 - python >=3.7 - - importlib_metadata - - pyhmmer >=0.10.2 test: commands: - - dbcanLight -h - - dbcanLight-hmmparser -h - - dbcanLight-subparser -h + - dbcanlight -h + - dbcanlight-hmmparser -h + - dbcanlight-subparser -h about: - home: https://github.com/chtsai0105/dbcanLight/tree/main + home: https://github.com/chtsai0105/dbcanlight license: MIT + license_family: MIT license_file: LICENSE - summary: A lightweight rewrite of run_dbcan + summary: A lightweight CAZyme annotation tool description: | - dbcanlight uses the hmmsearch module in pyhmmer to discover CAZymes and - potential substrates from a peptide sequences. + Dbcanlight is a lightweight rewrite of a widely used CAZyme annotation tool run_dbcan. It uses pyhmmer, a Cython bindings to + HMMER3, to instead the cli version of HMMER3 suite as the backend for the search processes, which improves the multithreading + performance. In addition, it also solves the inconvenience process in the run dbcan that the large sequence file required + manual splitting beforehand. + + The main program dbcanlight comprises 3 modules - build, search and conclude. The build module help to download the required + databases from dbcan website; the search module searches against protein HMM, substrate HMM or diamond databases and reports + the hits separately; and the conclude module gathers all the results made by each module and provides a brief overview. The + output of dbcanlight is resemble to run_dbcan with slight cleanup. Run_dbcan output the same substrate several times for a + gene that hits multiple profiles with the same substrate; in dbcanlight we only report it once. + + Dbcanlight only re-implemented the core features of run_dbcan, that is searching for CAZyme and substrate matches by + hmmer/diamond/dbcansub. Submodules like signalP, CGCFinder, etc. are not implemented. + dev_url: https://github.com/chtsai0105/dbcanlight + doc_url: https://github.com/chtsai0105/dbcanlight/blob/v{{ version }}/README.md extra: recipe-maintainers: diff --git a/recipes/dbghaplo/build.sh b/recipes/dbghaplo/build.sh new file mode 100644 index 0000000000000..17d5db214e9a0 --- /dev/null +++ b/recipes/dbghaplo/build.sh @@ -0,0 +1,10 @@ +#!/bin/bash -euo + +# Add workaround for SSH-based Git connections from Rust/cargo. See https://github.com/rust-lang/cargo/issues/2078 for details. +# We set CARGO_HOME because we don't pass on HOME to conda-build, thus rendering the default "${HOME}/.cargo" defunct. +export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="$(pwd)/.cargo" + +# build statically linked binary with Rust +cargo-bundle-licenses --format yaml --output THIRDPARTY.yml +RUST_BACKTRACE=1 cargo install --verbose --locked --no-track --root $PREFIX --path . +cp scripts/* $PREFIX/bin diff --git a/recipes/dbghaplo/meta.yaml b/recipes/dbghaplo/meta.yaml new file mode 100644 index 0000000000000..f14ef02373001 --- /dev/null +++ b/recipes/dbghaplo/meta.yaml @@ -0,0 +1,47 @@ +{% set version="0.0.2" %} + +package: + name: dbghaplo + version: {{ version }} + +source: + url: https://github.com/bluenote-1577/dbghaplo/archive/v{{ version }}.tar.gz + sha256: e7e2741afb0c7f12718ec969815d3c8f18ce7ba66517e21c6fcfb3fe4262780b + +build: + number: 0 + run_exports: + - {{ pin_subpackage('dbghaplo', max_pin="x.x") }} + +requirements: + build: + - {{ compiler("cxx") }} + - {{ compiler('rust') }} + - cargo-bundle-licenses + - make + - cmake >=3.12 + run: + - python + - samtools + - minimap2 + - lofreq >=2.1.5 + - tabix + - pysam >=0.16 + +test: + commands: + - dbghaplo -h + - run_dbghaplo_pipeline -h + - haplotag_bam -h + +about: + home: https://github.com/bluenote-1577/dbghaplo + license: MIT + license_file: + - LICENSE + - THIRDPARTY.yml + summary: Haplotyping small sequences from heterogeneous long-read sequencing samples with a SNP-encoded positional de Bruijn Graph. + +extra: + recipe-maintainers: + - bluenote-1577 diff --git a/recipes/ddocent/meta.yaml b/recipes/ddocent/meta.yaml index 643ad6a48b5f6..2052b9f0fa70d 100644 --- a/recipes/ddocent/meta.yaml +++ b/recipes/ddocent/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "2.9.4" %} -{% set sha256 = "4d44f72ad9c4bee3587f58ff7a18a972a5e31063396c3200705c72f02c4ee96b" %} +{% set version = "2.9.8" %} +{% set sha256 = "7b4a1b56a86ca584422a8318239d2491f9b57abb3e94bc782e7e806ed642afdc" %} package: name: ddocent @@ -8,14 +8,14 @@ package: source: url: https://github.com/jpuritz/dDocent/archive/v{{ version }}.tar.gz sha256: {{ sha256 }} - + build: - number: 1 + number: 0 noarch: generic + run_exports: + - {{ pin_subpackage('ddocent', max_pin="x") }} requirements: - build: - host: run: - fastp >=0.20.0 - seqtk >=1.3 @@ -30,7 +30,7 @@ requirements: - rainbow - cd-hit - bedtools >=2.26.0 - - vcflib >=0.1.11 + - vcflib >=0.1.11, <1.0.4 - gnuplot - parallel - pear @@ -42,10 +42,14 @@ test: commands: - "samtools --version" - "dDocent --help" + about: - home: "http://ddocent.com" - license: "The MIT License (MIT)" - summary: " dDocent is an interactive bash wrapper to QC, assemble, map, and call SNPs from all types of RAD data" + home: "https://ddocent.com" + license: MIT + license_family: MIT + summary: "dDocent is an interactive bash wrapper to QC, assemble, map, and call SNPs from all types of RAD data" + dev_url: https://github.com/jpuritz/dDocent + doc_url: https://www.ddocent.com/UserGuide/ extra: container: diff --git a/recipes/ddrage/meta.yaml b/recipes/ddrage/meta.yaml index 87d3345a7373c..a4046dab43b7f 100644 --- a/recipes/ddrage/meta.yaml +++ b/recipes/ddrage/meta.yaml @@ -1,17 +1,19 @@ -{% set version = "1.7.1" %} +{% set version = "1.8.1" %} package: name: ddrage version: {{ version }} source: - url: https://bitbucket.org/genomeinformatics/rage/get/{{ version }}.tar.gz - sha256: 4ae5a34428658087ca70ad29ae8d3c7a3b55170bfa419d3adcf727fe807d93f3 + url: https://files.pythonhosted.org/packages/f8/bf/a3156beda9476a3ed69d1fd049465f70cad5f3df1de0a0efeb55c401f0e3/ddrage-{{ version }}.tar.gz + sha256: a08962227144a8de0d47b8dbfb51aaf692660d5a7c519a11561b91c6217186ac build: noarch: python number: 0 + run_exports: + - {{ pin_subpackage("ddrage", max_pin="x") }} script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv entry_points: - rage = ddrage.__main__:main diff --git a/recipes/dechat/build.sh b/recipes/dechat/build.sh new file mode 100644 index 0000000000000..afa7523a8daa5 --- /dev/null +++ b/recipes/dechat/build.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +mkdir -p ${PREFIX}/bin + +if [ "$(uname)" == "Darwin" ]; then + cp -f ${SRC_DIR}/bin/dechat ${PREFIX}/bin/ +else + mkdir build && cd build + cmake -DCMAKE_INSTALL_PREFIX:PATH="${PREFIX}" -DKSIZE_LIST="32 64 96 128 160 192" .. + make -j"${CPU_COUNT}" + chmod 755 ${SRC_DIR}/bin/dechat + cp -f ${SRC_DIR}/bin/dechat ${PREFIX}/bin/ +fi diff --git a/recipes/dechat/meta.yaml b/recipes/dechat/meta.yaml new file mode 100644 index 0000000000000..0eef8c132438d --- /dev/null +++ b/recipes/dechat/meta.yaml @@ -0,0 +1,44 @@ +{% set name = "dechat" %} +{% set version = "1.0.1" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/LuoGroup2023/DeChat/releases/download/v{{ version }}/{{ name }}.tar.gz + sha256: e637d985eb4fa3bfa276d6433a5ec3c014471eb8eea6da233720dfe78b16fcda + +build: + number: 1 + run_exports: + - {{ pin_subpackage('dechat', max_pin="x") }} + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - make + - cmake + host: + - zlib + - boost-cpp ==1.67.0 + - sparsehash + - pkg-config + - libdivsufsort + - hdf5 + run: + - boost-cpp ==1.67.0 # [osx] + - libdivsufsort # [osx] + - hdf5 + +test: + commands: + - (dechat -h || true) + +about: + home: "https://github.com/LuoGroup2023/DeChat" + license: MIT + license_family: MIT + summary: Repeat and haplotype aware error correction in nanopore sequencing reads with Dechat + dev_url: "https://github.com/LuoGroup2023/DeChat" diff --git a/recipes/decifer/build.sh b/recipes/decifer/build.sh index 61c508c1a2a22..d539e8bff629a 100644 --- a/recipes/decifer/build.sh +++ b/recipes/decifer/build.sh @@ -1,3 +1,7 @@ +#!/usr/bin/env bash + +set -xe + mkdir build cd build @@ -7,7 +11,7 @@ cmake \ -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX \ ../src/decifer/cpp/ -make VERBOSE=1 +make -j ${CPU_COUNT} VERBOSE=1 cp mergestatetrees $PREFIX/bin cp generatestatetrees $PREFIX/bin diff --git a/recipes/decifer/meta.yaml b/recipes/decifer/meta.yaml index 8e93978bf57fb..c8ff8beddc81c 100644 --- a/recipes/decifer/meta.yaml +++ b/recipes/decifer/meta.yaml @@ -10,10 +10,11 @@ source: sha256: 9b67b66cd9dd5c538204c22994b9c61d97f3691d01146bd76500dbd4ed4d3685 build: - skip: True # [py < 38] - number: 0 + number: 2 entry_points: - decifer = decifer.__main__:main + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: build: @@ -46,3 +47,6 @@ about: description: | DeCiFer is an algorithm that simultaneously selects mutation multiplicities and clusters SNVs by their corresponding descendant cell fractions (DCF), a statistic that quantifies the proportion of cells which acquired the SNV or whose ancestors acquired the SNV. DCF is related to the commonly used cancer cell fraction (CCF) but further accounts for SNVs which are lost due to deleterious somatic copy-number aberrations (CNAs), identifying clusters of SNVs which occur in the same phylogenetic branch of tumour evolution. +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/decoupler/meta.yaml b/recipes/decoupler/meta.yaml deleted file mode 100644 index d8c9c0a826d9f..0000000000000 --- a/recipes/decoupler/meta.yaml +++ /dev/null @@ -1,52 +0,0 @@ -{% set name = "decoupler" %} -{% set version = "1.5.0" %} - -package: - name: {{ name|lower }} - version: {{ version }} - -source: - url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/decoupler-{{ version }}.tar.gz - sha256: 1278b0912df0eb22618b720a7c862e6babd874472290e7c81c27dcf65c5bd48a - -build: - noarch: python - script: {{ PYTHON }} -m pip install . -vv - number: 0 - run_exports: - - {{ pin_subpackage(name, max_pin="x") }} - -requirements: - host: - - python >=3.6 - - pip - run: - - python >=3.6 - - numba - - tqdm - - anndata - - typing-extensions - - seaborn - - skranger - - scikit-learn - - omnipath - - adjusttext - - scanpy - -test: - imports: - - decoupler - commands: - - pip check - requires: - - pip - -about: - home: https://github.com/saezlab/decoupler-py - summary: Ensemble of methods to infer biological activities from omics data - license: GPL-3.0 - license_file: LICENSE - -extra: - recipe-maintainers: - - pcm32 diff --git a/recipes/dedup/LICENSE b/recipes/dedup/LICENSE new file mode 100644 index 0000000000000..9cecc1d4669ee --- /dev/null +++ b/recipes/dedup/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {one line to give the program's name and a brief idea of what it does.} + Copyright (C) {year} {name of author} + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + {project} Copyright (C) {year} {fullname} + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/recipes/dedup/dedup.py b/recipes/dedup/dedup.py index eb372e90b3c0f..3ae3773987d7b 100755 --- a/recipes/dedup/dedup.py +++ b/recipes/dedup/dedup.py @@ -11,7 +11,7 @@ import sys import subprocess from os import access, getenv, X_OK -jar_file = 'DeDup-0.12.8.jar' +jar_file = 'DeDup-0.12.9.jar' default_jvm_mem_opts = ['-Xms512m', '-Xmx1g'] diff --git a/recipes/dedup/meta.yaml b/recipes/dedup/meta.yaml index 25bf9cf7d20cd..8c9d2229145cc 100644 --- a/recipes/dedup/meta.yaml +++ b/recipes/dedup/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.12.8" %} +{% set version = "0.12.9" %} package: name: dedup @@ -6,11 +6,13 @@ package: source: url: https://github.com/apeltzer/dedup/releases/download/{{ version }}/DeDup-{{ version }}.jar - md5: 2a5fdca4754de6a3526740f4c55fb8dc + md5: 5c398758f28e77c3544cdeadade31d6d build: noarch: generic - number: 1 + number: 0 + run_exports: + - {{ pin_subpackage('dedup', max_pin="x") }} requirements: run: @@ -25,4 +27,5 @@ test: about: home: https://github.com/apeltzer/dedup license: GPLv3 + license_file: LICENSE summary: "DeDup is a tool for read deduplication in paired-end read merging (e.g. for ancient DNA experiments)." diff --git a/recipes/deepblast/meta.yaml b/recipes/deepblast/meta.yaml new file mode 100644 index 0000000000000..3a3da527b6a44 --- /dev/null +++ b/recipes/deepblast/meta.yaml @@ -0,0 +1,55 @@ +{% set name = "DeepBLAST" %} +{% set version = "1.0.2" %} +{% set sha256 = "80a73e6afcf153b733cf39793b6429330c4235dd2716033b2cc0870add7e3138" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0]|lower }}/{{ name|lower }}/{{ name|lower }}-{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} + +requirements: + host: + - python + - pip + run: + - python + - numpy + - scipy + - pandas + - pytorch >=1.4 + - scikit-learn + - numba + - pytorch-lightning >=0.8.1 + - matplotlib-base + - pillow + - faiss + - biopython >=1.78,<2.0 + - transformers + - sentencepiece + - tensorboard + +test: + imports: + - deepblast + +about: + summary: Neural Networks for Protein Sequence Alignment. + license: BSD-3-Clause + license_family: BSD + license_file: COPYING.txt + home: https://github.com/flatironinstitute/deepblast + dev_url: https://github.com/flatironinstitute/deepblast + +extra: + identifiers: + - doi:10.1101/2020.11.03.365932 diff --git a/recipes/deeplc/meta.yaml b/recipes/deeplc/meta.yaml index ad2ebc4a427b0..a06a3a30d25e1 100644 --- a/recipes/deeplc/meta.yaml +++ b/recipes/deeplc/meta.yaml @@ -1,6 +1,6 @@ {% set name = "DeepLC" %} -{% set version = "2.2.22" %} -{% set sha256 = "82049484d907a410ed8cdf27711af90a7a372adeb53fc8a2d2e0917109c4e611" %} +{% set version = "3.0.8" %} +{% set sha256 = "49f579fd96d937f7c62b99044b8bf12085ccc9b6d123b93ab2c4417189106ca0" %} package: name: {{ name|lower }} @@ -13,7 +13,7 @@ source: build: number: 0 noarch: python - script: {{ PYTHON }} -m pip install . -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv run_exports: - {{ pin_subpackage("deeplc", max_pin="x") }} entry_points: @@ -24,14 +24,10 @@ requirements: host: - python >=3.7 - pip - - setuptools run: - python >=3.7 - numpy >=1.17,<2 - pandas >=0.25,<2 - - matplotlib-base - - scipy - - scikit-learn - tensorflow >=2.2,<3 - gooey - h5py @@ -40,6 +36,8 @@ requirements: - deeplcretrainer - psm-utils - hdf5plugin + - pyopenms + - pyarrow test: imports: @@ -49,7 +47,8 @@ about: home: "https://compomics.github.io/projects/DeepLC" summary: 'DeepLC: Retention time prediction for (modified) peptides using Deep Learning.' dev_url: "https://github.com/compomics/DeepLC" - license: APACHE + license: Apache-2.0 + license_family: APACHE license_file: LICENSE extra: diff --git a/recipes/deeplcretrainer/meta.yaml b/recipes/deeplcretrainer/meta.yaml index 5d602ecfa1aa3..27dd7f6bf8b00 100644 --- a/recipes/deeplcretrainer/meta.yaml +++ b/recipes/deeplcretrainer/meta.yaml @@ -1,6 +1,6 @@ {% set name = "DeepLCRetrainer" %} -{% set version = "0.2.8" %} -{% set sha256 = "73a9052d186921df42cfefce6215ee50f2a0abb3c4b1cef4a67126a59dfa7c9b" %} +{% set version = "1.0.0" %} +{% set sha256 = "a12d46baec788b46437692f941260ec8956aaa55618030c26ebf2d1681f69954" %} package: name: {{ name|lower }} diff --git a/recipes/deepmei/build.sh b/recipes/deepmei/build.sh new file mode 100644 index 0000000000000..b6799d5311c31 --- /dev/null +++ b/recipes/deepmei/build.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -xe + +mkdir -p $PREFIX/bin +cp -r * $PREFIX/bin/ +chmod +x $PREFIX/bin/* diff --git a/recipes/coatran/LICENSE b/recipes/deepmei/license.txt similarity index 100% rename from recipes/coatran/LICENSE rename to recipes/deepmei/license.txt diff --git a/recipes/deepmei/meta.yaml b/recipes/deepmei/meta.yaml new file mode 100644 index 0000000000000..1890bf99d6fc9 --- /dev/null +++ b/recipes/deepmei/meta.yaml @@ -0,0 +1,38 @@ +{% set version = "1.6.24" %} + +package: + name: deepmei + version: {{ version }} + +source: + url: https://raw.githubusercontent.com/kanglu123/deepmei/deepmei-v{{ version }}/deepmei_update_v{{ version }}.2.tar.gz + sha256: 9a0fa0905776924969907cd71dfdf47e9e7afa8fc0ca277e30b2bf222efee3fd +build: + noarch: generic + number: 1 + run_exports: + - {{ pin_subpackage('deepmei', max_pin="x.x") }} + +requirements: + run: + # List dependencies here. e.g.: + # ... any other dependencies + - bedtools =2.30.0 + - bwa =0.7.17 + - pysam =0.17.0 + - repeatmasker =4.1.2.p1 + - tensorflow >=2.7.0,<=2.10.0 + - python >=3.8,<=3.9 + - perl =5.32.1 + - samtools =1.18 + +test: + commands: + - deepmei + +about: + home: https://github.com/Kanglu123/deepmei/tree/deepmei-v{{ version }} + license: GPL-3.0-only + license_file: license.txt + license_family: GPL3 + summary: A tool to detect mobile elements insertion diff --git a/recipes/deepmicroclass/meta.yaml b/recipes/deepmicroclass/meta.yaml new file mode 100644 index 0000000000000..94104b1c1791a --- /dev/null +++ b/recipes/deepmicroclass/meta.yaml @@ -0,0 +1,46 @@ +{% set name = "DeepMicroClass" %} +{% set version = "1.0.3" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/DeepMicroClass-{{ version }}.tar.gz + sha256: 58da320f516b547966d53dc662dad0d9adaddd575b394baf2f37e4cc1ca48bdc + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 1 + run_exports: + - {{ pin_subpackage('deepmicroclass', max_pin="x") }} + +requirements: + host: + - python >=3.8 + - pip + run: + - python >=3.8 + - pandas + - numpy + - biopython + - ete3 + - pytorch + - pytorch-lightning + - torchmetrics + - tensorboard + - tqdm + - scikit-learn + +test: + imports: + - DeepMicroClass + commands: + - DeepMicroClass -h + +about: + home: https://github.com/chengsly/DeepMicroClass + summary: DeepMicroClass, a deep learning based contig prediction tool (CPU version) + license: BSD-2-Clause + license_file: LICENSE \ No newline at end of file diff --git a/recipes/deeptools/meta.yaml b/recipes/deeptools/meta.yaml index 805ccb38e5137..a6e95ba34a6cb 100644 --- a/recipes/deeptools/meta.yaml +++ b/recipes/deeptools/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "3.5.4" %} +{% set version = "3.5.5" %} package: name: deeptools @@ -6,23 +6,47 @@ package: source: url: https://github.com/deeptools/deepTools/archive/refs/tags/{{ version }}.tar.gz - sha256: 4554a2e9cfa264b181e4847be93a070e7ffe4ad5cb3988bc2606da4d59b2f3ea + sha256: f6dda39f552624758a9830cd4589ef43e7047284759b103cf833271cfa564dd1 build: - number: 1 + number: 0 noarch: python run_exports: - {{ pin_subpackage("deeptools", max_pin="x") }} - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vvv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + entry_points: + - alignmentSieve = deeptools.alignmentSieve:main + - bamCompare = deeptools.bamCompare:main + - bamCoverage = deeptools.bamCoverage:main + - bamPEFragmentSize = deeptools.bamPEFragmentSize:main + - bigwigAverage = deeptools.bigwigAverage:main + - bigwigCompare = deeptools.bigwigCompare:main + - computeGCBias = deeptools.computeGCBias:main + - computeMatrix = deeptools.computeMatrix:main + - computeMatrixOperations = deeptools.computeMatrixOperations:main + - correctGCBias = deeptools.correctGCBias:main + - deeptools = deeptools.deeptools_list_tools:main + - estimateReadFiltering = deeptools.estimateReadFiltering:main + - estimateScaleFactor = deeptools.estimateScaleFactor:main + - multiBamSummary = deeptools.multiBamSummary:main + - multiBigwigSummary = deeptools.multiBigwigSummary:main + - plotCorrelation = deeptools.plotCorrelation:main + - plotCoverage = deeptools.plotCoverage:main + - plotEnrichment = deeptools.plotEnrichment:main + - plotFingerprint = deeptools.plotFingerprint:main + - plotHeatmap = deeptools.plotHeatmap:main + - plotPCA = deeptools.plotPCA:main + - plotProfile = deeptools.plotProfile:main requirements: host: - - python >=3.7 + - python >=3.8 - pip run: - - python >=3.7 + - python >=3.8 - pybigwig >=0.2.3 - numpy >=1.9.0 + - numpydoc >=0.5 - scipy >=0.17.0 - matplotlib-base >=3.5.0 - pysam >=0.14.0 @@ -34,18 +58,39 @@ requirements: test: imports: - deeptools - commands: - bamCompare --version about: home: https://github.com/deeptools/deepTools - license: GPL3 + license: MIT + license_family: MIT license_file: LICENSE.txt summary: A set of user-friendly tools for normalization and visualzation of deep-sequencing data + doc_url: https://deeptools.readthedocs.io/en/latest/ + dev_url: https://github.com/deeptools/deepTools extra: identifiers: - biotools:deeptools - doi:10.1093/nar/gkw257 - usegalaxy-eu:deeptools_plot_heatmap + - usegalaxy-eu:deeptools_plot_pca + - usegalaxy-eu:deeptools_plot_profile + - usegalaxy-eu:deeptools_plot_correlation + - usegalaxy-eu:deeptools_plot_coverage + - usegalaxy-eu:deeptools_plot_fingerprint + - usegalaxy-eu:deeptools_plot_enrichment + - usegalaxy-eu:deeptools_bam_compare + - usegalaxy-eu:deeptools_bam_pe_fragmentsize + - usegalaxy-eu:deeptools_bigwig_compare + - usegalaxy-eu:deeptools_correct_gc_bias + - usegalaxy-eu:deeptools_multi_bam_summary + - usegalaxy-eu:deeptools_compute_matrix + - usegalaxy-eu:deeptools_compute_gc_bias + - usegalaxy-eu:deeptools_multi_bigwig_summary + - usegalaxy-eu:deeptools_compute_matrix_operations + - usegalaxy-eu:deeptools_alignmentsieve + - usegalaxy-eu:deeptools_estimatereadfiltering + - usegalaxy-eu:hicup_deduplicator + - usegalaxy-eu:deeptools_bigwig_average diff --git a/recipes/deeptoolsintervals/meta.yaml b/recipes/deeptoolsintervals/meta.yaml index 8aac5d66478b9..82731cf3df9cd 100644 --- a/recipes/deeptoolsintervals/meta.yaml +++ b/recipes/deeptoolsintervals/meta.yaml @@ -10,11 +10,13 @@ source: sha256: 7d94c36fd2b6f10d8b99e536d2672e8228971f1fc810497d33527bba2c40d4f6 build: - number: 5 + number: 9 + run_exports: + - {{ pin_subpackage("deeptoolsintervals", max_pin="x.x") }} requirements: build: - - "{{ compiler('c') }}" + - {{ compiler('c') }} host: - python - setuptools @@ -29,5 +31,9 @@ test: about: home: https://github.com/deeptools/deeptools_intervals - license: GPL3 + license: MIT summary: A python module creating/accessing GTF-based interval trees with associated meta-data + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/deepvariant/meta.yaml b/recipes/deepvariant/meta.yaml index d89ae1cc5fb84..27b668f7cb492 100644 --- a/recipes/deepvariant/meta.yaml +++ b/recipes/deepvariant/meta.yaml @@ -19,8 +19,10 @@ source: sha256: '{{ sha256 }}' build: - number: 0 + number: 1 skip: true # [osx or not py36] + run_exports: + - {{ pin_subpackage("deepvariant", max_pin="x") }} requirements: host: @@ -33,8 +35,9 @@ requirements: # - google-cloud-sdk # - bazel run: + # NB: maintainers, check versions with upstream's settings.sh - openjdk >=8,<9 - - python 3.6.* + - python 3.8.* # TF slim is difficult because there is an existing tf-slim package in conda-forge # https://github.com/conda-forge/tf-slim-feedstock # which is different than the google one: https://github.com/google-research/tf-slim @@ -48,14 +51,14 @@ requirements: - htslib - numpy - curl - - tensorflow-gpu 2.0.* - - tensorflow-estimator 2.0.* + - tensorflow-gpu 2.11.* + - tensorflow-estimator 2.11.* - protobuf - contextlib2 - enum34 - intervaltree - mock - - numpy 1.16.* + - numpy 1.19.* - psutil - requests - scipy diff --git a/recipes/defense-finder/meta.yaml b/recipes/defense-finder/meta.yaml index 91d9f8225e58c..a6efd6b8a8504 100644 --- a/recipes/defense-finder/meta.yaml +++ b/recipes/defense-finder/meta.yaml @@ -1,5 +1,5 @@ {% set name = "defense-finder" %} -{% set version = "1.2.0" %} +{% set version = "1.3.0" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://github.com/mdmparis/defense-finder/archive/v{{ version }}.tar.gz - sha256: 79547704ebe5d758b7692c2a9bdd1c4ccd6084a35ee18201dabb2e494da3ec36 + sha256: cfcc3092d7426f6bae924d08f8303dcef19446f88808d116443bc8ef287be0c5 # patches: 0001-fix-no-results.patch build: @@ -24,7 +24,9 @@ requirements: run: - click >=8.0.3 - colorlog >=6.3.0a1 - - macsyfinder + # macsyfinder pinned based notes at https://github.com/mdmparis/defense-finder/releases/tag/v1.2.2 + # Please review macsyfinder version in future release + - macsyfinder 2.1.1 - python >=3.7 - pyhmmer - pyrodigal diff --git a/recipes/degenotate/meta.yaml b/recipes/degenotate/meta.yaml index f66a7025ab294..df8b230b1460e 100644 --- a/recipes/degenotate/meta.yaml +++ b/recipes/degenotate/meta.yaml @@ -1,6 +1,6 @@ {% set name = "degenotate" %} -{% set version = "1.2.4" %} -{% set sha256 = "46359a6d33e660b21c0a0384c641e1aac15f7546f1fbb7463f01d94ad27abf60" %} +{% set version = "1.3" %} +{% set sha256 = "1c12673fd743c24845fec1dd503bf01114faa6b7f4545429e62747e65d323a66" %} package: name: {{ name|lower }} diff --git a/recipes/delly/build.sh b/recipes/delly/build.sh index 3da9d173f7a55..89d206cac27f5 100644 --- a/recipes/delly/build.sh +++ b/recipes/delly/build.sh @@ -1,12 +1,3 @@ #!/bin/sh -mkdir -p "${PREFIX}/bin" -if [[ ${target_platform} == osx-64 ]] ; then - make all CXX=$CXX CXXFLAGS="-I${PREFIX}/include -L${PREFIX}/lib" - cp src/delly "${PREFIX}/bin" -else - wget "https://github.com/dellytools/delly/releases/download/v${PKG_VERSION}/delly_v${PKG_VERSION}_linux_x86_64bit" - mv delly_v${PKG_VERSION}_linux_x86_64bit delly - chmod +x delly - cp delly "${PREFIX}/bin" -fi +CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS" make -j${CPU_COUNT} CXX="${CXX}" prefix="${PREFIX}" install diff --git a/recipes/delly/meta.yaml b/recipes/delly/meta.yaml index 89b9485cd2e33..7928647fac015 100644 --- a/recipes/delly/meta.yaml +++ b/recipes/delly/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "1.1.8" %} -{% set sha256 = "f72a1143dc71449fc277fc8b3e337a4d35b2fe736f3693a14b1986efa8da4889" %} +{% set version = "1.3.1" %} +{% set sha256 = "914a29c301556746031586c5880e70ad7f31bd7899cc4e47b23ee4d5426761ae" %} package: name: delly @@ -18,15 +18,16 @@ requirements: build: - make - {{ compiler('cxx') }} - - wget host: - zlib - bzip2 + - libdeflate - boost-cpp - htslib run: - zlib - bzip2 + - libdeflate - boost-cpp - htslib @@ -42,6 +43,8 @@ about: summary: Structural variant discovery by integrated paired-end and split-read analysis extra: + additional-platforms: + - linux-aarch64 identifiers: - doi:10.1093/bioinformatics/bts378 - biotools:Delly2 diff --git a/recipes/deltapd/meta.yaml b/recipes/deltapd/meta.yaml index 9649ff09797e2..31cd6a697ca78 100644 --- a/recipes/deltapd/meta.yaml +++ b/recipes/deltapd/meta.yaml @@ -13,11 +13,12 @@ source: - pdm.patch build: - number: 4 - skip: True # [py < 37] + number: 5 script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vvv entry_points: - deltapd = deltapd.__main__:main + run_exports: + - {{ pin_subpackage("deltapd", max_pin="x.x") }} requirements: build: diff --git a/recipes/demuxem/meta.yaml b/recipes/demuxem/meta.yaml index a2160ef5ce27c..59efd8c3de7d9 100644 --- a/recipes/demuxem/meta.yaml +++ b/recipes/demuxem/meta.yaml @@ -1,5 +1,5 @@ {% set name = "demuxEM" %} -{% set version = "0.1.7" %} +{% set version = "0.1.7.post1" %} package: name: "{{ name|lower }}" @@ -7,29 +7,32 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: "a6d9c7f51cad81328f88c5cc298a38ce7364dc5555876a44f375113225ee1eae" + sha256: "f6e6608c37875fb2db6cbd1abe48ce1149b41c7b2b26380cd4d581dca6cac260" build: - number: 1 + number: 0 noarch: python entry_points: - demuxEM = demuxEM.__main__:main - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --use-pep517 -vvv" + run_exports: + - {{ pin_subpackage('demuxem', max_pin="x.x") }} requirements: host: - - python >=3.7 + - python >=3.8 - pip - setuptools_scm run: - - python >=3.7 + - python >=3.8 + - docopt - numpy - pandas - scipy - scikit-learn - seaborn - pegasusio >=0.2.12 - - importlib_metadata >=0.7 # [py<38] + - importlib_metadata >=0.7 # [py < 38] test: imports: @@ -41,7 +44,8 @@ test: about: home: "https://github.com/lilab-bcb/demuxEM" doc_url: "https://demuxEM.readthedocs.io" - license: BSD + license: BSD-3-Clause + license_family: BSD license_file: LICENSE summary: "DemuxEM is the demultiplexing module of Pegasus, which works on cell-hashing and nucleus-hashing genomics data." diff --git a/recipes/dendropy/meta.yaml b/recipes/dendropy/meta.yaml index 371f83861c012..ac0e894abd468 100644 --- a/recipes/dendropy/meta.yaml +++ b/recipes/dendropy/meta.yaml @@ -1,6 +1,6 @@ {% set name = "dendropy" %} -{% set version = "4.6.1" %} -{% set sha256 = "26fcbe1cb5831301e8f1f2e15a0563620f0b8e29e6d409dd6a2a7c957dd64c16" %} +{% set version = "5.0.1" %} +{% set sha256 = "f2815e7649a6fe2924ff3fdf00a660c948dc6f3316e303b8b022f74cc75ca42e" %} package: name: {{ name }} @@ -13,13 +13,21 @@ source: build: number: 0 noarch: python - script: {{ PYTHON }} -m pip install . -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + entry_points: + - sumtrees=dendropy.application.sumtrees:main + - sumlabels=dendropy.application.sumlabels:main_cli + - dendropy-format=dendropy.application.dendropy_format:main + - sumtrees.py=dendropy.application.sumtrees:main + - sumlabels.py=dendropy.application.sumlabels:main_cli + run_exports: + - {{ pin_subpackage('dendropy', max_pin="x") }} requirements: host: - python >=3.7 - pip - - setuptools + - pytest-runner run: - python >=3.7 @@ -38,7 +46,7 @@ test: - dendropy.utility.libexec about: - home: "https://pypi.org/project/DendroPy/" + home: "https://github.com/jeetsukumaran/DendroPy" summary: 'A Python library for phylogenetics and phylogenetic computing: reading, writing, simulation, processing and manipulation of phylogenetic trees (phylogenies) and characters.' license: BSD-3-Clause license_family: BSD diff --git a/recipes/derna/build.sh b/recipes/derna/build.sh index a56e54179f0d9..7898ddc35f18f 100644 --- a/recipes/derna/build.sh +++ b/recipes/derna/build.sh @@ -1,4 +1,6 @@ -#! /bin/sh +#!/bin/bash + +set -xe export C_INCLUDE_PATH=${PREFIX}/include export LIBRARY_PATH=${PREFIX}/lib @@ -6,6 +8,6 @@ export LIBRARY_PATH=${PREFIX}/lib mkdir build cd build cmake .. -make +make -j ${CPU_COUNT} mkdir -p $PREFIX/bin cp derna $PREFIX/bin diff --git a/recipes/derna/meta.yaml b/recipes/derna/meta.yaml index 1ea6fe69b1979..ffafda5a12a70 100644 --- a/recipes/derna/meta.yaml +++ b/recipes/derna/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.0.2" %} +{% set version = "1.0.3" %} package: name: derna @@ -6,10 +6,12 @@ package: source: url: https://github.com/elkebir-group/derna/archive/refs/tags/v{{ version }}.tar.gz - sha256: 29e6bd6588a3e6d4d48fc2d08ff69a5eddeccbe281c3f802d2052c4c1945230a + sha256: d7e2fdbe733d03f9e617ea325a43283c0e4e298780253cf2e7da7ad07d3aafc5 build: number: 1 + run_exports: + - {{ pin_subpackage('derna', max_pin="x") }} requirements: build: @@ -17,9 +19,6 @@ requirements: - {{ compiler('cxx') }} - make - cmake - host: - run: - test: commands: @@ -28,5 +27,12 @@ test: about: home: https://github.com/elkebir-group/derna license: BSD-3-Clause + license_family: BSD license_file: LICENSE - summary: "RNA sequence design for a target protein sequence" + summary: "RNA sequence design for a target protein sequence." + dev_url: https://github.com/elkebir-group/derna + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/desalt/build.sh b/recipes/desalt/build.sh index 8f427dfb1663a..adfec360c0f99 100644 --- a/recipes/desalt/build.sh +++ b/recipes/desalt/build.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -xe + mkdir -p $PREFIX/bin cd src @@ -9,6 +11,6 @@ sed -i.bak "s/malloc.h/stdlib.h/" graph.c sed -i.bak "s/malloc.h/stdlib.h/" deBGA-master/load_input.c sed -i.bak "s/malloc.h/stdlib.h/" deBGA-master/index_build.c -make INCLUDES="-I$PREFIX/include" CFLAGS="-fcommon -g -Wall -O2 -Wc++-compat -L$PREFIX/lib -fopenmp" LIBS="-lm -lz -lpthread" +make -j ${CPU_COUNT} INCLUDES="-I$PREFIX/include" CFLAGS="-fcommon -g -Wall -O2 -Wc++-compat -L$PREFIX/lib -fopenmp" LIBS="-lm -lz -lpthread" cp deSALT deBGA Annotation_Load.py $PREFIX/bin diff --git a/recipes/desalt/meta.yaml b/recipes/desalt/meta.yaml index b039e5e0ef1c1..3b9e212663e54 100644 --- a/recipes/desalt/meta.yaml +++ b/recipes/desalt/meta.yaml @@ -9,7 +9,9 @@ source: sha256: ef3396a1bf1ea3c188ee77b90ae50a174c2e50676b8b779698cb6330aa7b34ef build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage('desalt', max_pin="x") }} requirements: build: diff --git a/recipes/desman/build_failure.linux-64.yaml b/recipes/desman/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..81ddfbc76d586 --- /dev/null +++ b/recipes/desman/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 589b78385006fb419a020605d6873bd6e3becaf16714268412de6c7c55bc3630 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + [31mpysam [0.15.1|0.15.2|0.15.3][0m would require + [31mlibdeflate >=1.0,<1.1.0a0 [0m, which conflicts with any installable versions previously reported; + [32mpysam [0.15.3|0.15.4|0.9.1][0m would require + [32mpython >=3.7,<3.8.0a0 [0m, which can be installed; + [32mpysam [0.15.4|0.16.0|...|0.9.1][0m would require + [32mpython_abi 3.7.* *_cp37m[0m, which can be installed; + [32mpysam [0.16.0.1|0.17.0|...|0.9.1][0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mpysam [0.16.0.1|0.17.0|...|0.9.1][0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [32mpysam [0.19.1|0.20.0|0.21.0|0.22.0|0.22.1][0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [31mpython >=3.11,<3.12.0a0 [0m is not installable because it requires + [31mpython_abi 3.11.* *_cp311[0m, which conflicts with any installable versions previously reported. + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2409, in build + create_build_envs(top_level_pkg, notest) + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2247, in create_build_envs + raise e + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2220, in create_build_envs + environ.get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("pysam==0.15.0=py27hdfb72b2_0"), MatchSpec("bcftools=1.9")} + Encountered problems while solving: + - package pysam-0.15.0-py27hdfb72b2_0 requires bcftools 1.9.*, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + [32mgsl >=2.7,<2.8.0a0 [0m is requested and can be installed; + [32mpysam[0m is installable with the potential options + [32mpysam 0.7.7[0m would require + [32mpython <3.0.0 [0m, which can be installed; + [32mpysam [0.10.0|0.11.0|...|0.9.1.4][0m would require + [32mpython [2.7* |>=2.7,<2.8.0a0 ][0m, which can be installed; + [32mpysam [0.10.0|0.16.0.1|...|0.9.1][0m would require + [32mpython_abi 2.7.* *_cp27mu[0m, which can be installed; + [32mpysam [0.10.0|0.11.0|...|0.9.1.4][0m would require + [32mpython 3.4* [0m, which can be installed; + [32mpysam [0.10.0|0.11.0|...|0.9.1.4][0m would require + [32mpython [3.5* |>=3.5,<3.6.0a0 ][0m, which can be installed; + [32mpysam [0.10.0|0.11.1|...|0.9.1][0m would require + [32mpython 3.6* [0m, which can be installed; + [32mpysam [0.10.0|0.15.4|...|0.9.1][0m would require + [32mpython_abi 3.6.* *_cp36m[0m, which can be installed; + [32mpysam [0.10.0|0.14.1|...|0.9.1][0m would require + [32mpython >=3.6,<3.7.0a0 [0m, which can be installed; + [31mpysam [0.15.0|0.15.0.1|0.15.2][0m would require + [31mbcftools 1.9.* [0m but there are no viable options + [31mbcftools 1.9[0m would require + [31mlibdeflate >=1.0,<1.1.0a0 [0m, which conflicts with any installable versions previously reported; + [31mbcftools 1.9[0m would require + [31mgsl >=2.5,<2.6.0a0 [0m, which conflicts with any installable versions previously reported; + [31mpysam [0.15.1|0.15.2|0.15.3][0m would require + [31mlibdeflate >=1.0,<1.1.0a0 [0m, which conflicts with any installable versions previously reported; + [32mpysam [0.15.3|0.15.4|0.9.1][0m would require + [32mpython >=3.7,<3.8.0a0 [0m, which can be installed; + [32mpysam [0.15.4|0.16.0|...|0.9.1][0m would require + [32mpython_abi 3.7.* *_cp37m[0m, which can be installed; + [32mpysam [0.16.0.1|0.17.0|...|0.9.1][0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mpysam [0.16.0.1|0.17.0|...|0.9.1][0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [32mpysam [0.19.1|0.20.0|0.21.0|0.22.0|0.22.1][0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [31mpython >=3.11,<3.12.0a0 [0m is not installable because it requires + [31mpython_abi 3.11.* *_cp311[0m, which conflicts with any installable versions previously reported. +# Last 100 lines of the build log. diff --git a/recipes/desman/meta.yaml b/recipes/desman/meta.yaml index 352b6ca2558f0..ea2e7f98e1839 100644 --- a/recipes/desman/meta.yaml +++ b/recipes/desman/meta.yaml @@ -7,7 +7,9 @@ package: version: {{ version }} build: - number: 8 + number: 9 + run_exports: + - {{ pin_subpackage("desman", max_pin="x") }} script: {{ PYTHON }} -m pip install . --no-deps -vv source: @@ -19,7 +21,7 @@ requirements: - {{ compiler('c') }} host: - pip - - python >=3.5 + - python - setuptools - cython >=0.19.1 - numpy @@ -28,7 +30,7 @@ requirements: - pandas >=0.11.0 - scipy >=0.12.0 run: - - python >=3.5 + - python - setuptools - bcbio-gff - biopython diff --git a/recipes/dextractor/meta.yaml b/recipes/dextractor/meta.yaml index 698339b988a94..51e0ad9f023e3 100644 --- a/recipes/dextractor/meta.yaml +++ b/recipes/dextractor/meta.yaml @@ -3,7 +3,7 @@ package: version: "1.0p2" build: - number: 7 + number: 8 source: sha256: d5bfe730615d76b29d373b6505421db83f7f1075ef6be331c3ac030e40dcf343 diff --git a/recipes/dfast/meta.yaml b/recipes/dfast/meta.yaml index bee44b4572a7a..63eb3ed37c582 100644 --- a/recipes/dfast/meta.yaml +++ b/recipes/dfast/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.2.20" %} +{% set version = "1.3.2" %} package: name: dfast @@ -6,11 +6,13 @@ package: source: url: https://github.com/nigyta/dfast_core/archive/{{ version }}.tar.gz - sha256: 57f24e8bc20f412b73612ba710e14a009f77381f415f3ee47d69b5c7411ef71d + sha256: d889e00c6870cdb7229cc91fe8f52b6dafc95535948669b91f0a0b276501adb7 build: number: 0 binary_relocation: False # [osx] + run_exports: + - {{ pin_subpackage("dfast", max_pin="x.x") }} requirements: build: @@ -31,6 +33,7 @@ requirements: - ghostx - hmmer >=3.1b2 - metagene_annotator >=1.0 + - plasmidfinder >=2.1.6 test: commands: diff --git a/recipes/dfast_qc/build.sh b/recipes/dfast_qc/build.sh index ffe64f11c0e4a..73a9d9b560a5d 100755 --- a/recipes/dfast_qc/build.sh +++ b/recipes/dfast_qc/build.sh @@ -19,8 +19,9 @@ cp -Rv ./* ${APPROOT}/ # cd ${PREFIX}/bin ln -s ${APPROOT}/dfast_qc ${PREFIX}/bin/ ln -s ${APPROOT}/dqc_admin_tools.py ${PREFIX}/bin/ -ln -s ${APPROOT}/initial_setup.sh ${PREFIX}/bin/dqc_initial_setup.sh +ln -s ${APPROOT}/dqc_initial_setup.sh ${PREFIX}/bin/ ln -s ${APPROOT}/dqc_ref_manager.py ${PREFIX}/bin/ +ln -s ${APPROOT}/dqc_multi ${PREFIX}/bin/ # ${PREFIX}/bin/dfast_qc --version dfast_qc --version diff --git a/recipes/dfast_qc/meta.yaml b/recipes/dfast_qc/meta.yaml index 09fb751ce759d..37f9b57bd3975 100644 --- a/recipes/dfast_qc/meta.yaml +++ b/recipes/dfast_qc/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.5.7" %} +{% set version = "1.0.5" %} package: name: dfast_qc @@ -7,23 +7,27 @@ package: build: number: 0 noarch: generic + run_exports: + - {{ pin_subpackage('dfast_qc', max_pin='x.x') }} + source: url: https://github.com/nigyta/dfast_qc/archive/{{ version }}.tar.gz - sha256: ca96868ef51ccef6d3082d481afb4ee43018a08f846151aa039acb37942a3347 + sha256: 7a4bb1139268c5bcfcc0a94a653cb0b7e8cbb9c0e9fb89dbde8ab6fa2b84162f -requirements: +requirements: run: - python >=3.8 - prodigal - - blast - - fastani ==1.33 - hmmer - checkm-genome ==1.2.2 - ete3 - more-itertools - peewee + - mash + - skani + - gsl ==2.6 test: commands: diff --git a/recipes/diamond/meta.yaml b/recipes/diamond/meta.yaml index 0fe8f5553d59f..d35213fa65257 100644 --- a/recipes/diamond/meta.yaml +++ b/recipes/diamond/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "2.1.8" %} -{% set sha256 = "b6088259f2bc92d1f9dc4add44590cff68321bcbf91eefbc295a3525118b9415" %} +{% set version = "2.1.9" %} +{% set sha256 = "4cde9df78c63e8aef9df1e3265cd06a93ce1b047d6dba513a1437719b70e9d88" %} package: name: diamond @@ -11,6 +11,8 @@ source: build: number: 0 + run_exports: + - {{ pin_subpackage('diamond', max_pin="x") }} requirements: build: @@ -32,10 +34,11 @@ test: about: home: https://github.com/bbuchfink/diamond - license: GPL-3.0 - license_family: GPL + license: GPL-3.0-or-later + license_family: GPL3 license_file: LICENSE summary: Accelerated BLAST compatible local sequence aligner + doc_url: https://github.com/bbuchfink/diamond/wiki extra: identifiers: diff --git a/recipes/dice/meta.yaml b/recipes/dice/meta.yaml new file mode 100644 index 0000000000000..491b95d5b6b15 --- /dev/null +++ b/recipes/dice/meta.yaml @@ -0,0 +1,41 @@ +{% set name = "dice" %} +{% set version = "1.1.0" %} + +package: + name: '{{ name }}' + version: '{{ version }}' + +source: + url: https://github.com/samsonweiner/DICE/archive/refs/tags/v1.1.0.tar.gz + sha256: 4130efd20af8726544350cef76015b4f9d1f1755fef1a4f63576a73755a0d8c0 + +build: + noarch: python + number: 0 + entry_points: + - dice = core.dice:main + script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv + run_exports: + - {{ pin_subpackage('dice', max_pin="x.x") }} + +requirements: + host: + - python >=3.9 + - pip + run: + - python >=3.9 + - numpy >=1.20.3 + - pandas >=1.5.2 + - fastme + +test: + commands: + - dice -h + +about: + home: https://github.com/samsonweiner/DICE + license: GPL-3.0-only + license_file: LICENSE + summary: Cell lineage reconstruction from single-cell CNA data + description: | + DICE (short for Distance-based Inference of Copy-number Evolution) is a collection of fast and accurate methods for reconstructing cell lineage trees from single-cell copy number aberration data. diff --git a/recipes/dicey/build.sh b/recipes/dicey/build.sh index 54987ee3ba11a..38a203670614e 100644 --- a/recipes/dicey/build.sh +++ b/recipes/dicey/build.sh @@ -1,5 +1,3 @@ -#!/bin/sh +#!/bin/bash -make all CXX=$CXX CXXFLAGS="-D__STDC_FORMAT_MACROS -I${SRC_DIR}/src/sdslLite/include -L${SRC_DIR}/src/sdslLite/lib -I${PREFIX}/include -L${PREFIX}/lib -Isrc/jlib/ -std=c++14" -mkdir -p $PREFIX/bin -cp src/dicey $PREFIX/bin +CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS -I${SRC_DIR}/src/sdslLite/include -L${SRC_DIR}/src/sdslLite/lib -I${PREFIX}/include -L${PREFIX}/lib -Isrc/jlib/ -std=c++17" make -j${CPU_COUNT} CXX="${CXX}" prefix="${PREFIX}" install diff --git a/recipes/dicey/meta.yaml b/recipes/dicey/meta.yaml index 5ab8983cfd535..aff17789c7676 100644 --- a/recipes/dicey/meta.yaml +++ b/recipes/dicey/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.2.6" %} -{% set sha256 = "7bfbf0e6f548b6a29215f417befe541d5a839fdf1e12db0f704f519692c45515" %} +{% set version = "0.3.3" %} +{% set sha256 = "69e84d07c2e6c9232f5cb80bde5d61a5285a334deb78a4cad6804c800dd3a3d6" %} package: name: dicey @@ -15,32 +15,27 @@ source: build: number: 0 - -extra: - skip-lints: - - uses_vcs_url - - missing_hash + run_exports: + - {{ pin_subpackage("dicey", max_pin="x.x") }} requirements: build: - make - {{ compiler('cxx') }} - - cmake >=3.10 + - cmake - autoconf - automake - pkg-config - - clangdev - - llvm-openmp host: - zlib - bzip2 + - libdeflate - boost-cpp - htslib - - clangdev - - llvm-openmp run: - zlib - bzip2 + - libdeflate - boost-cpp - htslib @@ -54,3 +49,12 @@ about: license_family: GPL license_file: LICENSE summary: In-silico PCR and variant primer design + +extra: + additional-platforms: + - linux-aarch64 + skip-lints: + - uses_vcs_url + - missing_hash + identifiers: + - biotools:Gear-Genomics diff --git a/recipes/difcover/0001-Replaces-fname-char-with-std-string.patch b/recipes/difcover/0001-Replaces-fname-char-with-std-string.patch new file mode 100644 index 0000000000000..6d7ab17cbae48 --- /dev/null +++ b/recipes/difcover/0001-Replaces-fname-char-with-std-string.patch @@ -0,0 +1,42 @@ +From e0f4ac49aa6f6d3446eed5183ea585f7bea31c34 Mon Sep 17 00:00:00 2001 +From: nikostr +Date: Fri, 31 May 2024 21:50:45 +0200 +Subject: [PATCH] Replaces fname char with std::string + + +diff --git a/dif_cover_scripts/from_unionbed_to_ratio_per_window_CC0 b/dif_cover_scripts/from_unionbed_to_ratio_per_window_CC0 +old mode 100644 +new mode 100755 +index ee868ce..6c0a513 +Binary files a/dif_cover_scripts/from_unionbed_to_ratio_per_window_CC0 and b/dif_cover_scripts/from_unionbed_to_ratio_per_window_CC0 differ +diff --git a/dif_cover_scripts/from_unionbed_to_ratio_per_window_CC0.cpp b/dif_cover_scripts/from_unionbed_to_ratio_per_window_CC0.cpp +index 88aa296..40152a5 100644 +--- a/dif_cover_scripts/from_unionbed_to_ratio_per_window_CC0.cpp ++++ b/dif_cover_scripts/from_unionbed_to_ratio_per_window_CC0.cpp +@@ -20,7 +20,7 @@ int main( int argc , char** argv ) { + + + int opt, a=1, A=max_cov, b=1, B=max_cov, v=1000, l=0; //!!! Default values for parameters !!!! +- char fname[1000], fff[1000]; ++ char fff[1000]; + + while ((opt = getopt(argc, argv, "a:A:b:B:v:l:")) != -1) { + switch (opt) { +@@ -54,12 +54,12 @@ int main( int argc , char** argv ) { + exit(EXIT_FAILURE); + } + +- strncat(fname,argv[optind],strlen(argv[optind])); ++ std::string fname(argv[optind]); + //printf ("fname=%s\n",fname); + + std::ifstream unionbed_file( fname ) ; + if (!unionbed_file) { +- fprintf(stderr, "Can't open union.bed file %s\n",fname); ++ fprintf(stderr, "Can't open union.bed file %s\n",fname.c_str()); + exit(EXIT_FAILURE); + } + +-- +2.44.0 + diff --git a/recipes/difcover/build.sh b/recipes/difcover/build.sh new file mode 100644 index 0000000000000..2ac68133d463c --- /dev/null +++ b/recipes/difcover/build.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +cd dif_cover_scripts/ + +rm from_unionbed_to_ratio_per_window_CC0 +make CXX="${GXX} ${LDFLAGS}" + +mkdir -p "${PREFIX}/bin" +cp from_unionbed_to_ratio_per_window_CC0 *.R *.sh "${PREFIX}/bin" +chmod +x ${PREFIX}/bin/*.sh diff --git a/recipes/difcover/meta.yaml b/recipes/difcover/meta.yaml new file mode 100644 index 0000000000000..8c8f384baf7e9 --- /dev/null +++ b/recipes/difcover/meta.yaml @@ -0,0 +1,36 @@ +{% set version = "3.0.1" %} + +package: + name: difcover + version: {{ version }} + +build: + number: 1 + skip: True # [osx] + run_exports: + - {{ pin_subpackage("difcover", max_pin="x") }} + +source: + url: https://github.com/timnat/DifCover/archive/refs/tags/v{{ version }}.tar.gz + sha256: 52f950f35bfcd6c863127bae937da1158dd16da5c1a0e85f523561504d300447 + patches: + - 0001-Replaces-fname-char-with-std-string.patch + +requirements: + build: + - make + - {{ compiler('cxx') }} + run: + - samtools + - bedtools + - bioconductor-dnacopy + +about: + home: https://github.com/timnat/DifCover + license: MIT + license_file: LICENSE + summary: Pipeline to identify genomic regions with read coverage differences between pairs of samples + +test: + commands: + - 'from_unionbed_to_ratio_per_window_CC0 2>&1 | grep "^Usage"' diff --git a/recipes/diffacto/meta.yaml b/recipes/diffacto/meta.yaml index ad0a23a0bd854..30a547e5fe097 100644 --- a/recipes/diffacto/meta.yaml +++ b/recipes/diffacto/meta.yaml @@ -1,5 +1,5 @@ {% set name = "diffacto" %} -{% set version = "1.0.6" %} +{% set version = "1.0.7" %} package: name: "{{ name|lower }}" @@ -7,14 +7,16 @@ package: source: url: https://github.com/statisticalbiotechnology/diffacto/archive/refs/tags/v{{ version }}.tar.gz - sha256: fde7d7f350abc28de0cce23e68d375028a1d3d0969c988a7d07268fe56085f85 + sha256: 372d46e43509b2d0cbc5499a651ef51f175f24e211219598127f5f3ba13755fe build: noarch: python number: 0 entry_points: - diffacto = diffacto.diffacto:main - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('diffacto', max_pin="x") }} requirements: host: @@ -37,7 +39,8 @@ test: about: home: "https://github.com/statisticalbiotechnology/diffacto" - license: "Apache Software" + license: "Apache-2.0" license_family: "APACHE" license_file: "LICENSE.txt" summary: "A protein summarization method for shotgun proteomics experiments" + dev_url: "https://github.com/statisticalbiotechnology/diffacto" diff --git a/recipes/digestiflow-cli/build.sh b/recipes/digestiflow-cli/build.sh index 66e2df35f3fec..77ce822ea28f8 100644 --- a/recipes/digestiflow-cli/build.sh +++ b/recipes/digestiflow-cli/build.sh @@ -1,9 +1,11 @@ -#!/bin/bash -e +#!/bin/bash + +set -xe # circumvent a bug in conda-build >=2.1.18,<3.0.10 # https://github.com/conda/conda-build/issues/2255 -[[ -z $REQUESTS_CA_BUNDLE && ${REQUESTS_CA_BUNDLE+x} ]] && unset REQUESTS_CA_BUNDLE -[[ -z $SSL_CERT_FILE && ${SSL_CERT_FILE+x} ]] && unset SSL_CERT_FILE +#[[ -z $REQUESTS_CA_BUNDLE && ${REQUESTS_CA_BUNDLE+x} ]] && unset REQUESTS_CA_BUNDLE +#[[ -z $SSL_CERT_FILE && ${SSL_CERT_FILE+x} ]] && unset SSL_CERT_FILE # build statically linked binary with Rust C_INCLUDE_PATH=$PREFIX/include LIBRARY_PATH=$PREFIX/lib cargo install --root $PREFIX diff --git a/recipes/digestiflow-cli/meta.yaml b/recipes/digestiflow-cli/meta.yaml index dd98f67787ed9..558e2226c9305 100644 --- a/recipes/digestiflow-cli/meta.yaml +++ b/recipes/digestiflow-cli/meta.yaml @@ -6,9 +6,11 @@ package: version: {{ version }} build: - number: 5 + number: 6 # TODO wait for CB3 gcc, then try again. skip: true # [osx] + run_exports: + - {{ pin_subpackage("digestiflow-cli", max_pin="x.x") }} source: url: https://github.com/bihealth/digestiflow-cli/archive/v{{version}}.tar.gz @@ -28,5 +30,10 @@ test: about: home: https://github.com/bihealth/digestiflow-cli license: MIT + license_file: LICENSE summary: | Command line client for Digestiflow. + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/dimet/meta.yaml b/recipes/dimet/meta.yaml index fcc2e26a6ff37..3dbed3022c530 100644 --- a/recipes/dimet/meta.yaml +++ b/recipes/dimet/meta.yaml @@ -1,5 +1,5 @@ {% set name = "dimet" %} -{% set version = "0.1.4" %} +{% set version = "0.2.4" %} package: name: {{ name|lower }} @@ -7,12 +7,12 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/dimet-{{ version }}.tar.gz - sha256: 372537f9c9aef2035868357df2c04e5f94bf3f6bef39f69988e25d114a8009ab + sha256: d394d9a9b1eab5c9cc89f9ac59ff0ee06226b3c6421a6eede001491220fb2642 build: noarch: python script: {{ PYTHON }} -m pip install . -vv - number: 0 + number: 1 run_exports: - {{ pin_subpackage(name, max_pin="x.x") }} @@ -28,15 +28,15 @@ requirements: - coverage - hydra-colorlog >=1.2.0,<1.3.0 - hydra-core >=1.3.2,<1.4.0 - - matplotlib-base >=3.7.1,<3.8.0 - - numpy >=1.23.1,<1.24.0 - - pandas >=1.5.3,<1.6.0 - - pydantic >=1.10.8,<2.0.0 + - matplotlib-base >=3.8.3 + - numpy >=1.26.4 + - pandas >=2.2.0 + - pydantic >=2.6.1 - python-dotenv >=1.0,<2.0 - pyyaml >=6.0,<7.0 - - scikit-learn >=1.1.1,<1.2.0 + - scikit-learn >=1.4.0 - scipy >=1.9.1,<1.10.0 - - seaborn >=0.11.2,<0.12.0 + - seaborn >=0.13.2 - statsmodels >=0.13.5,<0.14.0 test: @@ -44,7 +44,7 @@ test: - dimet about: home: https://github.com/cbib/DIMet.git - summary: A tool for Differential Isotope-labeled targeted Metabolomics + summary: A tool for Differential Isotope-labeled targeted Metabolomics data license: MIT license_file: LICENSE diff --git a/recipes/dinamo/meta.yaml b/recipes/dinamo/meta.yaml index 917619344a1c4..ebf6efdd07a26 100644 --- a/recipes/dinamo/meta.yaml +++ b/recipes/dinamo/meta.yaml @@ -14,7 +14,9 @@ source: build: skip: True # [osx] - number: 4 + number: 6 + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} requirements: build: @@ -37,6 +39,8 @@ about: summary: An exact and efficient method for IUPAC motif discovery in DNA sequences extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - simonvh identifiers: diff --git a/recipes/dingii/meta.yaml b/recipes/dingii/meta.yaml new file mode 100644 index 0000000000000..bc78c1938465d --- /dev/null +++ b/recipes/dingii/meta.yaml @@ -0,0 +1,49 @@ +{% set version = "0.0.1" %} +{% set name = "dingII" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/Danderson123/{{ name|lower }}/archive/v{{ version }}.tar.gz + sha256: 60a35ad2b5cf04b50ac0723d3841e903b23e7dbe071f483ebe0afb1192106140 + +build: + number: 0 + noarch: python + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + entry_points: + - dingII = dingII.__main__:main + run_exports: + - {{ pin_subpackage("dingii", max_pin="x.x") }} + +requirements: + host: + - python >=3.8 + - poetry-core >=1.0.0 + - pip + run: + - python >=3.8 + - networkx >=3.1 + +test: + imports: + - dingII + commands: + - dingII --help + +about: + home: "https://gitlab.ub.uni-bielefeld.de/gi/dingiiofficial" + summary: 'Computing the Rearrangement Distance of Natural Genomes.' + license: MIT + license_family: MIT + license_file: LICENSE + dev_url: "https://gitlab.ub.uni-bielefeld.de/gi/dingiiofficial" + doc_url: "https://gitlab.ub.uni-bielefeld.de/gi/dingiiofficial/-/blob/main/README.md" + +extra: + recipe-maintainers: + - leobkmer + identifiers: + - doi:10.48550/arXiv.2001.02139 diff --git a/recipes/dinopy/build_failure.linux-64.yaml b/recipes/dinopy/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..a84df8bf6ae55 --- /dev/null +++ b/recipes/dinopy/build_failure.linux-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: b32e06a2d28c53a4176091b38819ceb929a5bc0e8271d53cd6bfb11afacbdea4 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: dependency issue +log: |2- + [32mnumpy [1.21.5|1.21.6][0m would require + [32mpython_abi 3.9 *_pypy39_pp73[0m, which can be installed; + [31mpython 3.12.* *_cpython[0m is not installable because there are no viable options + [31mpython [3.12.0|3.12.1|3.12.2|3.12.3][0m would require + [31mpython_abi 3.12.* *_cp312[0m, which conflicts with any installable versions previously reported; + [31mpython 3.12.0rc3[0m would require + [31m_python_rc[0m, which does not exist (perhaps a missing channel). + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2308, in build + output_metas = expand_outputs([(m, need_source_download, need_reparse_in_env)]) + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 916, in expand_outputs + for output_dict, m in deepcopy(_m).get_output_metadata_set( + File "/opt/conda/lib/python3.10/site-packages/conda_build/metadata.py", line 2737, in get_output_metadata_set + conda_packages = finalize_outputs_pass( + File "/opt/conda/lib/python3.10/site-packages/conda_build/metadata.py", line 1095, in finalize_outputs_pass + fm = finalize_metadata( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 650, in finalize_metadata + build_unsat, host_unsat = add_upstream_pins( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 491, in add_upstream_pins + host_deps, host_unsat, extra_run_specs_from_host = _read_upstream_pin_files( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 444, in _read_upstream_pin_files + deps, precs, unsat = get_env_dependencies( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 156, in get_env_dependencies + precs = environ.get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("_python_rc"), MatchSpec("python==3.12.0rc3=rc3_hab00c5b_1_cpython")} + Encountered problems while solving: + - nothing provides _python_rc needed by python-3.12.0rc3-rc3_hab00c5b_1_cpython + + Could not solve for environment specs + The following packages are incompatible + [32mcython >=3.0.0 [0m is installable with the potential options + [32mcython [3.0.0|3.0.1|3.0.2][0m would require + [32mpython_abi 3.8 *_pypy38_pp73[0m, which can be installed; + [32mcython [3.0.0|3.0.1|...|3.0.9][0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [32mcython [3.0.0|3.0.1|...|3.0.9][0m would require + [32mpython_abi 3.11.* *_cp311[0m, which can be installed; + [32mcython [3.0.0|3.0.1|...|3.0.9][0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mcython [3.0.0|3.0.1|...|3.0.9][0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [32mcython [3.0.0|3.0.1|...|3.0.9][0m would require + [32mpython_abi 3.9 *_pypy39_pp73[0m, which can be installed; + [31mcython [3.0.10|3.0.2|...|3.0.9][0m would require + [31mpython_abi 3.12.* *_cp312[0m, which conflicts with any installable versions previously reported; + [32mnumpy 1.21.* [0m is installable with the potential options + [32mnumpy [1.21.0|1.21.1|...|1.21.6][0m would require + [32mpython_abi 3.7.* *_cp37m[0m, which can be installed; + [32mnumpy [1.21.0|1.21.1|...|1.21.5][0m would require + [32mpython_abi 3.7 *_pypy37_pp73[0m, which can be installed; + [32mnumpy [1.21.0|1.21.1|...|1.21.6][0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mnumpy [1.21.0|1.21.1|...|1.21.6][0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [32mnumpy [1.21.3|1.21.4|1.21.5|1.21.6][0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [32mnumpy [1.21.5|1.21.6][0m would require + [32mpython_abi 3.8 *_pypy38_pp73[0m, which can be installed; + [32mnumpy [1.21.5|1.21.6][0m would require + [32mpython_abi 3.9 *_pypy39_pp73[0m, which can be installed; + [31mpython 3.12.* *_cpython[0m is not installable because there are no viable options + [31mpython [3.12.0|3.12.1|3.12.2|3.12.3][0m would require + [31mpython_abi 3.12.* *_cp312[0m, which conflicts with any installable versions previously reported; + [31mpython 3.12.0rc3[0m would require + [31m_python_rc[0m, which does not exist (perhaps a missing channel). +# Last 100 lines of the build log. diff --git a/recipes/dinopy/build_failure.linux-aarch64.yaml b/recipes/dinopy/build_failure.linux-aarch64.yaml new file mode 100644 index 0000000000000..e99e7ee08a9cc --- /dev/null +++ b/recipes/dinopy/build_failure.linux-aarch64.yaml @@ -0,0 +1,105 @@ +recipe_sha: b32e06a2d28c53a4176091b38819ceb929a5bc0e8271d53cd6bfb11afacbdea4 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: dependency issue +log: |2- + [32mnumpy [1.21.5|1.21.6][0m would require + [32mpython_abi 3.9 *_pypy39_pp73[0m, which can be installed; + [31mpython 3.12.* *_cpython[0m is not installable because there are no viable options + [31mpython [3.12.0|3.12.1|3.12.2|3.12.3][0m would require + [31mpython_abi 3.12.* *_cp312[0m, which conflicts with any installable versions previously reported; + [31mpython 3.12.0rc3[0m would require + [31m_python_rc[0m, which does not exist (perhaps a missing channel). + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2308, in build + output_metas = expand_outputs([(m, need_source_download, need_reparse_in_env)]) + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 916, in expand_outputs + for output_dict, m in deepcopy(_m).get_output_metadata_set( + File "/opt/conda/lib/python3.10/site-packages/conda_build/metadata.py", line 2737, in get_output_metadata_set + conda_packages = finalize_outputs_pass( + File "/opt/conda/lib/python3.10/site-packages/conda_build/metadata.py", line 1095, in finalize_outputs_pass + fm = finalize_metadata( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 650, in finalize_metadata + build_unsat, host_unsat = add_upstream_pins( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 491, in add_upstream_pins + host_deps, host_unsat, extra_run_specs_from_host = _read_upstream_pin_files( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 444, in _read_upstream_pin_files + deps, precs, unsat = get_env_dependencies( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 156, in get_env_dependencies + precs = environ.get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-aarch64: {MatchSpec("python==3.12.0rc3=rc3_h43d1f9e_1_cpython"), MatchSpec("_python_rc")} + Encountered problems while solving: + - nothing provides _python_rc needed by python-3.12.0rc3-rc3_h43d1f9e_1_cpython + + Could not solve for environment specs + The following packages are incompatible + [32mcython >=3.0.0 [0m is installable with the potential options + [32mcython [3.0.0|3.0.1|3.0.2][0m would require + [32mpython_abi 3.8 *_pypy38_pp73[0m, which can be installed; + [32mcython [3.0.0|3.0.1|...|3.0.9][0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [32mcython [3.0.0|3.0.1|...|3.0.9][0m would require + [32mpython_abi 3.11.* *_cp311[0m, which can be installed; + [32mcython [3.0.0|3.0.1|...|3.0.9][0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mcython [3.0.0|3.0.1|...|3.0.9][0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [32mcython [3.0.0|3.0.1|...|3.0.9][0m would require + [32mpython_abi 3.9 *_pypy39_pp73[0m, which can be installed; + [31mcython [3.0.10|3.0.2|...|3.0.9][0m would require + [31mpython_abi 3.12.* *_cp312[0m, which conflicts with any installable versions previously reported; + [32mnumpy 1.21.* [0m is installable with the potential options + [32mnumpy [1.21.0|1.21.1|...|1.21.5][0m would require + [32mpython_abi 3.7 *_pypy37_pp73[0m, which can be installed; + [32mnumpy [1.21.0|1.21.1|...|1.21.6][0m would require + [32mpython_abi 3.7.* *_cp37m[0m, which can be installed; + [32mnumpy [1.21.0|1.21.1|...|1.21.6][0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mnumpy [1.21.0|1.21.1|...|1.21.6][0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [32mnumpy [1.21.3|1.21.4|1.21.5|1.21.6][0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [32mnumpy [1.21.5|1.21.6][0m would require + [32mpython_abi 3.8 *_pypy38_pp73[0m, which can be installed; + [32mnumpy [1.21.5|1.21.6][0m would require + [32mpython_abi 3.9 *_pypy39_pp73[0m, which can be installed; + [31mpython 3.12.* *_cpython[0m is not installable because there are no viable options + [31mpython [3.12.0|3.12.1|3.12.2|3.12.3][0m would require + [31mpython_abi 3.12.* *_cp312[0m, which conflicts with any installable versions previously reported; + [31mpython 3.12.0rc3[0m would require + [31m_python_rc[0m, which does not exist (perhaps a missing channel). +# Last 100 lines of the build log. diff --git a/recipes/dinopy/build_failure.osx-64.yaml b/recipes/dinopy/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..6b7c429657a75 --- /dev/null +++ b/recipes/dinopy/build_failure.osx-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: b32e06a2d28c53a4176091b38819ceb929a5bc0e8271d53cd6bfb11afacbdea4 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: dependency issue +log: |2- + numpy [1.21.5|1.21.6] would require + python_abi 3.9 *_pypy39_pp73, which can be installed; + python 3.12.* *_cpython is not installable because there are no viable options + python [3.12.0|3.12.1|3.12.2|3.12.3] would require + python_abi 3.12.* *_cp312, which conflicts with any installable versions previously reported; + python 3.12.0rc3 would require + _python_rc, which does not exist (perhaps a missing channel). + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2308, in build + output_metas = expand_outputs([(m, need_source_download, need_reparse_in_env)]) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 916, in expand_outputs + for output_dict, m in deepcopy(_m).get_output_metadata_set( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/metadata.py", line 2737, in get_output_metadata_set + conda_packages = finalize_outputs_pass( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/metadata.py", line 1095, in finalize_outputs_pass + fm = finalize_metadata( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 650, in finalize_metadata + build_unsat, host_unsat = add_upstream_pins( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 491, in add_upstream_pins + host_deps, host_unsat, extra_run_specs_from_host = _read_upstream_pin_files( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 444, in _read_upstream_pin_files + deps, precs, unsat = get_env_dependencies( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 156, in get_env_dependencies + precs = environ.get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {MatchSpec("python==3.12.0rc3=rc3_h30d4d87_1_cpython"), MatchSpec("_python_rc")} + Encountered problems while solving: + - nothing provides _python_rc needed by python-3.12.0rc3-rc3_h30d4d87_1_cpython + + Could not solve for environment specs + The following packages are incompatible + cython >=3.0.0 is installable with the potential options + cython [3.0.0|3.0.1|3.0.2] would require + python_abi 3.8 *_pypy38_pp73, which can be installed; + cython [3.0.0|3.0.1|...|3.0.9] would require + python_abi 3.10.* *_cp310, which can be installed; + cython [3.0.0|3.0.1|...|3.0.9] would require + python_abi 3.11.* *_cp311, which can be installed; + cython [3.0.0|3.0.1|...|3.0.9] would require + python_abi 3.8.* *_cp38, which can be installed; + cython [3.0.0|3.0.1|...|3.0.9] would require + python_abi 3.9.* *_cp39, which can be installed; + cython [3.0.0|3.0.1|...|3.0.9] would require + python_abi 3.9 *_pypy39_pp73, which can be installed; + cython [3.0.10|3.0.2|...|3.0.9] would require + python_abi 3.12.* *_cp312, which conflicts with any installable versions previously reported; + numpy 1.21.* is installable with the potential options + numpy [1.21.0|1.21.1|...|1.21.6] would require + python_abi 3.7.* *_cp37m, which can be installed; + numpy [1.21.0|1.21.1|...|1.21.5] would require + python_abi 3.7 *_pypy37_pp73, which can be installed; + numpy [1.21.0|1.21.1|...|1.21.6] would require + python_abi 3.8.* *_cp38, which can be installed; + numpy [1.21.0|1.21.1|...|1.21.6] would require + python_abi 3.9.* *_cp39, which can be installed; + numpy [1.21.3|1.21.4|1.21.5|1.21.6] would require + python_abi 3.10.* *_cp310, which can be installed; + numpy [1.21.5|1.21.6] would require + python_abi 3.8 *_pypy38_pp73, which can be installed; + numpy [1.21.5|1.21.6] would require + python_abi 3.9 *_pypy39_pp73, which can be installed; + python 3.12.* *_cpython is not installable because there are no viable options + python [3.12.0|3.12.1|3.12.2|3.12.3] would require + python_abi 3.12.* *_cp312, which conflicts with any installable versions previously reported; + python 3.12.0rc3 would require + _python_rc, which does not exist (perhaps a missing channel). +# Last 100 lines of the build log. diff --git a/recipes/dinopy/meta.yaml b/recipes/dinopy/meta.yaml index e3ff0b18c9196..24205b2d4b946 100644 --- a/recipes/dinopy/meta.yaml +++ b/recipes/dinopy/meta.yaml @@ -1,14 +1,17 @@ +{% set version = "3.0.0" %} + package: name: dinopy - version: "2.2.1" + version: {{ version }} source: - url: https://files.pythonhosted.org/packages/2f/6c/eb26221f3b28e05ceede15e02a31c6fb3762940d46ac5cd3b1f56951b59a/dinopy-2.2.1.tar.gz - sha256: 092323edddf48c9d3082dfaf934f5c3e4011c7e1248503cd352105e6e50bfcf5 + url: https://files.pythonhosted.org/packages/e3/fd/06182a3e21bd400c172ef973512a070968c039a0f18f41c54c933fcafef9/dinopy-{{ version }}.tar.gz + sha256: 9b2238c20c946a7ea34b979fec4dd182f3474958e9a03075dfbbb464e9d84028 build: - skip: True # [py27 or py36] - number: 5 + number: 2 + run_exports: + - {{ pin_subpackage("dinopy", max_pin="x") }} requirements: build: @@ -16,7 +19,7 @@ requirements: host: - python - setuptools - - cython >=0.22 + - cython >=3.0.0 - numpy =1.21 run: - python @@ -28,5 +31,9 @@ test: about: home: https://bitbucket.org/HenningTimm/dinopy - license: MIT License + license: MIT summary: 'DNA input and output library for Python and Cython. Includes reader and writer for FASTA and FASTQ files, support for samtools faidx files, and generators for solid and gapped q-grams (k-mers).' + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/diphase/build.sh b/recipes/diphase/build.sh new file mode 100644 index 0000000000000..e7acbd7f81c99 --- /dev/null +++ b/recipes/diphase/build.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +mkdir -p ${PREFIX}/bin + +export LIBRARY_PATH=${PREFIX}/lib +export LD_LIBRARY_PATH=${PREFIX}/lib +export CPATH=${PREFIX}/include +export C_INCLUDE_PATH=${PREFIX}/include +export CPLUS_INCLUDE_PATH=${PREFIX}/include +export CPP_INCLUDE_PATH=${PREFIX}/include +export CXX_INCLUDE_PATH=${PREFIX}/include +export PATH=$PATH:${PREFIX}/bin + +CC=${CC} +CXX=${CXX} + +mkdir -p ${PREFIX}/bin +ln -fs $CC ${PREFIX}/bin/gcc +ln -fs $CXX ${PREFIX}/bin/g++ + +make -C src + +cp -r bin/* ${PREFIX}/bin/ +cp -r script/* ${PREFIX}/bin/ +chmod +x ${PREFIX}/bin/pipeline.py + +unlink ${PREFIX}/bin/gcc +unlink ${PREFIX}/bin/g++ diff --git a/recipes/diphase/meta.yaml b/recipes/diphase/meta.yaml new file mode 100644 index 0000000000000..a2c0dfb3380be --- /dev/null +++ b/recipes/diphase/meta.yaml @@ -0,0 +1,45 @@ +{% set name = "diphase" %} +{% set version = "1.0.3" %} +{% set sha256 = "5e5971c62c66858d8c22a658821bc6fed443ecdad8811c4cd67feea7d518c127" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/zhangjuncsu/Diphase/archive/refs/tags/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + skip: True # [osx] + run_exports: + - {{ pin_subpackage('diphase', max_pin="x") }} + +requirements: + build: + - make + - {{ compiler('c') }} + - {{ compiler('cxx') }} + host: + - zlib + - xz + - bzip2 + - libdeflate + - libcurl 7.87.0 + - openssl 1.1.1 + run: + - python 3.9.0 + - zlib + - samtools + - bwa + +test: + commands: + - phasing -h 2>&1 | grep 'Usage' + - pipeline.py -h 2>&1 | grep 'phase' + +about: + home: https://github.com/zhangjuncsu/Diphase + license: MIT + summary: A diploid genome phasing tool diff --git a/recipes/discosnp/meta.yaml b/recipes/discosnp/meta.yaml index aa63f1e864baf..67923ba1b5953 100644 --- a/recipes/discosnp/meta.yaml +++ b/recipes/discosnp/meta.yaml @@ -10,8 +10,10 @@ source: sha256: {{ sha256 }} build: - number: 3 + number: 4 skip: True # [osx] + run_exports: + - {{ pin_subpackage('discosnp', max_pin="x") }} requirements: build: @@ -38,6 +40,8 @@ about: summary: reference-free small variant caller for short read sequencing data extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:discosnp - doi:10.1093/nar/gkn000 diff --git a/recipes/distle/build.sh b/recipes/distle/build.sh new file mode 100644 index 0000000000000..a8d1055b51f38 --- /dev/null +++ b/recipes/distle/build.sh @@ -0,0 +1,8 @@ +#!/bin/bash -e + +# Add workaround for SSH-based Git connections from Rust/cargo. See https://github.com/rust-lang/cargo/issues/2078 for details. +# We set CARGO_HOME because we don't pass on HOME to conda-build, thus rendering the default "${HOME}/.cargo" defunct. +export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="$(pwd)/.cargo" + +# build statically linked binary with Rust +RUST_BACKTRACE=1 C_INCLUDE_PATH=$PREFIX/include LIBRARY_PATH=$PREFIX/lib cargo install --verbose --root $PREFIX --path . \ No newline at end of file diff --git a/recipes/distle/meta.yaml b/recipes/distle/meta.yaml new file mode 100644 index 0000000000000..740d308b1d7e0 --- /dev/null +++ b/recipes/distle/meta.yaml @@ -0,0 +1,38 @@ +{% set version = "0.2.0" %} +{% set sha256 = "8e153099d18c3e7383f1f5a300732136a5161d2cd5bcbe152f03d02830d65175" %} + +package: + name: distle + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage('distle', max_pin="x.x") }} + +source: + url: https://github.com/KHajji/distle/archive/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +requirements: + build: + - {{ compiler("rust") }} + - {{ compiler('c') }} + +test: + commands: + - distle --help + - distle --version + +about: + home: https://github.com/KHajji/distle + license: GPL-3.0-only + license_file: LICENSE + license_family: GPL3 + summary: "Fast distance matrix calculations on fasta and cgmlst files" + +extra: + recipe-maintainers: + - khajji + - boasvdp + - ids-bioinformatics diff --git a/recipes/dmtools/build.sh b/recipes/dmtools/build.sh new file mode 100644 index 0000000000000..d52244b3f4425 --- /dev/null +++ b/recipes/dmtools/build.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +export C_INCLUDE_PATH=${PREFIX}/include +export CPLUS_INCLUDE_PATH=${PREFIX}/include +export LIBRARY_PATH=${PREFIX}/lib +export LD_LIBRARY_PATH=${PREFIX}/lib + +##echo make CXX=$CXX CPP=$CXX CC=$CC CFLAGS="-g -w -O3 -Wsign-compare -I$BUILD_PREFIX/include" +make CXX=$CXX CPP=$CXX CC=$CC +#CFLAGS="-g -w -O3 -Wsign-compare -I$PREFIX/include -L$PREFIX/lib" +##export CFLAGS="-I$BUILD_PREFIX/include" +##export LDFLAGS="-L$BUILD_PREFIX/lib" +##CFLAGS="${CFLAGS} -fcommon" +##LDFLAGS="" +##make CXX=$CXX CPP=$CXX CC=$CC LDLIBS="-L$PREFIX/lib -lz -lzstd -ltbb -ltbbmalloc -lpthread" WITH_ZSTD=1 + +mkdir -p $PREFIX/bin +cp dmtools $PREFIX/bin +cp genome2cg $PREFIX/bin +cp genomebinLen $PREFIX/bin +cp dmalign $PREFIX/bin +cp bam2dm $PREFIX/bin +cp dmDMR $PREFIX/bin +cp libBinaMeth.so $PREFIX/lib diff --git a/recipes/blast/conda_build_config.yaml b/recipes/dmtools/conda_build_config.yaml similarity index 100% rename from recipes/blast/conda_build_config.yaml rename to recipes/dmtools/conda_build_config.yaml diff --git a/recipes/dmtools/meta.yaml b/recipes/dmtools/meta.yaml new file mode 100644 index 0000000000000..478f477f896f6 --- /dev/null +++ b/recipes/dmtools/meta.yaml @@ -0,0 +1,45 @@ +{% set name = "dmtools" %} +{% set version = "0.2.6" %} +{% set sha256 = "7492be776a73ed0aea639ec73d78726a37cfa45d6d31baa12dc7ecb7589d41e9" %} + +package: + name: "{{ name|lower }}" + version: {{ version }} + +source: + url: https://github.com/ZhouQiangwei/dmtools/archive/refs/tags/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage('dmtools', max_pin="x.x") }} + skip: True # [osx] + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - make + host: + - curl + - zlib + - libcurl + - htslib + - gsl + run: + - htslib + - zlib + - gsl + - libcurl + - perl + +test: + commands: + - dmtools + +about: + home: 'https://github.com/ZhouQiangwei/dmtools' + license: MIT + summary: 'BS-seq, WGBS, NOMe-Seq, RRBS data storage and analysis tool dmtools' + doc_url: 'https://dmtools-docs.readthedocs.io/en/latest/index.html' diff --git a/recipes/dna-nn/build.sh b/recipes/dna-nn/build.sh new file mode 100644 index 0000000000000..bfca91f0ebf92 --- /dev/null +++ b/recipes/dna-nn/build.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +set -x -e + +export CPATH=${PREFIX}/include + +mkdir -p "${PREFIX}/bin" + +make -j"${CPU_COUNT}" + +chmod 0755 dna-brnn +chmod 0755 dna-cnn +chmod 0755 gen-fq +chmod 0755 parse-rm.js + +cp -rf dna-brnn "${PREFIX}/bin" +cp -rf dna-cnn "${PREFIX}/bin" +cp -rf gen-fq "${PREFIX}/bin" +cp -rf parse-rm.js "${PREFIX}/bin" diff --git a/recipes/dna-nn/meta.yaml b/recipes/dna-nn/meta.yaml new file mode 100644 index 0000000000000..66c70ccaea69a --- /dev/null +++ b/recipes/dna-nn/meta.yaml @@ -0,0 +1,44 @@ +{% set version = "0.1" %} +{% set name = "dna-nn" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/lh3/dna-nn/archive/refs/tags/v{{ version }}.tar.gz + sha256: bac26a25ad9e0315351b170bc33ab4e41b7573818fd9527b661f882b96ae0a8a + +build: + number: 1 + run_exports: + - {{ pin_subpackage("dna-nn", max_pin="x.x") }} + +requirements: + build: + - make + - {{ compiler('cxx') }} + - zlib # zlib needed in build to build correctly + host: + - zlib + run: + - k8 + +test: + commands: + - echo $(dna-brnn 2>&1) | grep "dna-brnn" + - echo $(dna-cnn 2>&1) | grep "dna-cnn" + - echo $(gen-fq 2>&1) | grep "gen-fq" + - echo $(parse-rm.js 2>&1) | grep "k8 parse-rm" + +about: + home: "https://github.com/lh3/dna-nn" + dev_url: "https://github.com/lh3/dna-nn" + license: Unknown + summary: "Model and predict short DNA sequence features with neural networks." + +extra: + additional-platforms: + - linux-aarch64 + recipe-maintainers: + - smeds diff --git a/recipes/dnaapler/meta.yaml b/recipes/dnaapler/meta.yaml index 029be166a23d9..fb13849f5c288 100644 --- a/recipes/dnaapler/meta.yaml +++ b/recipes/dnaapler/meta.yaml @@ -1,5 +1,5 @@ {% set name = "dnaapler" %} -{% set version = "0.4.0" %} +{% set version = "0.8.1" %} package: name: {{ name|lower }} @@ -7,16 +7,16 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: d6940a0fda068d67ee8c45353761188544b5504b6a7642d87775476d51918d9b + sha256: 0e27734328a1e200c2181f7c02c6c5ffec0ea773bb5fa15eef3a7b2aeafc188b build: number: 0 noarch: python entry_points: - dnaapler = dnaapler:main - script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" run_exports: - - {{ pin_subpackage('dnaapler', max_pin='x') }} + - {{ pin_subpackage('dnaapler', max_pin='x.x') }} requirements: host: @@ -46,6 +46,7 @@ about: license_file: LICENSE summary: Reorients assembled microbial sequences doc_url: https://dnaapler.readthedocs.io/en/latest/ + dev_url: https://github.com/gbouras13/dnaapler extra: recipe-maintainers: diff --git a/recipes/dnaio/meta.yaml b/recipes/dnaio/meta.yaml index d98d56e78497e..f3d95856ef974 100644 --- a/recipes/dnaio/meta.yaml +++ b/recipes/dnaio/meta.yaml @@ -1,17 +1,16 @@ -{% set version = "1.1.0" %} +{% set version = "1.2.2" %} package: name: dnaio version: {{ version }} source: - url: https://files.pythonhosted.org/packages/c6/67/d07ada36ad76198197cee7deea862ee568aa255adc8b6f93535f5bf00da8/dnaio-1.1.0.tar.gz - sha256: 7ecdfb3de3fd82c69b9750ba66202edc095610646d0720961ca7308af4ee8c45 + url: https://files.pythonhosted.org/packages/1e/69/b11040d6cb619f2c879904dfd5f703c15d5ed05d20afc556318de9bc476b/dnaio-1.2.2.tar.gz + sha256: 55e1c8e5b86056ce3bb3a3eff643ebc9910a5d6d0d5c10a27eb4d5b6525117d5 build: number: 0 script: "{{ PYTHON }} -m pip install . --no-deps -vv" - skip: True # [py27] run_exports: - {{ pin_subpackage('dnaio', max_pin="x") }} @@ -38,5 +37,8 @@ about: summary: 'Read and write FASTA and FASTQ files efficiently' extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - marcelm diff --git a/recipes/dnarrange/meta.yaml b/recipes/dnarrange/meta.yaml index e62072dfbf40f..71980172cffb7 100644 --- a/recipes/dnarrange/meta.yaml +++ b/recipes/dnarrange/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.5.3" %} +{% set version = "1.6.2" %} package: name: dnarrange @@ -6,13 +6,14 @@ package: source: url: https://github.com/mcfrith/dnarrange/archive/{{ version }}.tar.gz - sha256: 5a1b1b4e3aec6d808fe2811c078af2137eecef7668f9a3dbb0037fe4aebd9b6f + sha256: 1f6b82b51160855455cc2c8ce198dffca7bdfe635806a3c0adc0e58669f8dbe3 build: number: 0 noarch: python script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv - + run_exports: + - {{ pin_subpackage("dnarrange", max_pin="x.x") }} requirements: host: - python diff --git a/recipes/dnmtools/meta.yaml b/recipes/dnmtools/meta.yaml index ed044213442b9..56c7d565d5f49 100644 --- a/recipes/dnmtools/meta.yaml +++ b/recipes/dnmtools/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.4.2" %} +{% set version = "1.4.3" %} package: name: dnmtools @@ -12,7 +12,7 @@ build: source: url: https://github.com/smithlabcode/dnmtools/releases/download/v{{ version }}/dnmtools-{{ version }}.tar.gz - sha256: 0b712d4635a6924f0f230206b999db3d6e3a98b0d330640f3fd5cf4930eaf127 + sha256: 2ec96953d088cfde895d2b5afc77197850d50d7046bb6febce52a86db805ef17 requirements: build: @@ -23,6 +23,7 @@ requirements: - llvm-openmp # [osx] - libgomp # [linux] host: + - zlib - htslib - gsl run: diff --git a/recipes/dnoise/meta.yaml b/recipes/dnoise/meta.yaml index b706edda05cf0..e8aa73687be78 100644 --- a/recipes/dnoise/meta.yaml +++ b/recipes/dnoise/meta.yaml @@ -1,6 +1,6 @@ {% set name = "DnoisE" %} -{% set version = "1.4.0" %} -{% set sha256 = "bee24dbe42fb884810788bb4ac874d6b664e24a3820e6706406fd8a90b6ac328" %} +{% set version = "1.4.1" %} +{% set sha256 = "39c728faea03732df906cb90bf541efdb8d7ebf4858c9bf2717fa8a75e9157b1" %} package: name: {{ name|lower }} diff --git a/recipes/dockq/meta.yaml b/recipes/dockq/meta.yaml new file mode 100644 index 0000000000000..9c21a4695b948 --- /dev/null +++ b/recipes/dockq/meta.yaml @@ -0,0 +1,60 @@ +{% set name = "DockQ" %} +{% set version = "2.1.3" %} +{% set author = "bjornwallner" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.org/packages/source/{{ name[0]|lower }}/{{ name|lower }}/{{ name|lower }}-{{ version }}.tar.gz + sha256: 50c4e2b4bced3bf865b12061ec0b56e23de1383dc70b445441848224f6c72c0d + +build: + entry_points: + - DockQ = DockQ.__main__:main + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} + +requirements: + build: + - {{ compiler('c') }} + host: + - python >=3.8 + - setuptools >=68 + - cython + - numpy <2.0 + - pip + run: + - python >=3.8 + - biopython >=1.79 + - networkx + - parallelbar + - {{ pin_compatible('numpy') }} + +test: + imports: + - {{ name }} + commands: + - pip check + - {{ name }} --help + requires: + - pip + +about: + home: https://github.com/{{ author }}/{{ name }} + dev_url: https://github.com/{{ author }}/{{ name }} + doc_url: https://github.com/{{ author }}/{{ name }}#{{ name|lower }} + summary: A Quality Measure for Protein, Nucleic Acids and Small Ligand Docking Modelsc + license: MIT + license_family: MIT + license_file: LICENSE + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + recipe-maintainers: + - eunos-1128 diff --git a/recipes/dodge/meta.yaml b/recipes/dodge/meta.yaml index 5e1278b3e5998..eeb4b9e9f8f29 100644 --- a/recipes/dodge/meta.yaml +++ b/recipes/dodge/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.1.0" %} +{% set version = "1.0.1" %} {% set name = "dodge" %} package: @@ -7,7 +7,7 @@ package: source: url: https://github.com/LanLab/{{ name }}/archive/v{{ version }}.tar.gz - sha256: 6897fa29651f3ea9f404f73da8a8d0e2981e2f4e3b9a44a1252fb74a2b908a7a + sha256: 64e18f3463f406e63a934d362364eeb4033fcb7bb50cb9ecf3b0e7cc5cc90fab build: noarch: python diff --git a/recipes/dosage_score/LICENSE.txt b/recipes/dosage_score/LICENSE.txt new file mode 100644 index 0000000000000..e72bfddabc15b --- /dev/null +++ b/recipes/dosage_score/LICENSE.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. \ No newline at end of file diff --git a/recipes/dosage_score/meta.yaml b/recipes/dosage_score/meta.yaml new file mode 100644 index 0000000000000..99f5fbb7b1edc --- /dev/null +++ b/recipes/dosage_score/meta.yaml @@ -0,0 +1,46 @@ +{% set name = "dosage_score" %} +{% set version = "1.0.0" %} +{% set sha256 = "4d5761a1b0284bba5c0291359b24e7abf9a7e729b06917c324bf846d59b4306c" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/SegawaTenta/Dosage-score/releases/download/v{{ version }}/Dosage-score-main.zip + sha256: {{ sha256 }} + +build: + script: python -m pip install --no-deps --ignore-installed . + noarch: python + number: 0 + run_exports: + - {{ pin_subpackage('dosage_score', max_pin="x") }} + +requirements: + build: + - python >=3.7 + - setuptools + - pip + run: + - python >=3.7 + - pandas =1.5.0 + - samtools >=1.16 + - matplotlib-base + - numpy + +test: + commands: + - dosage_score -h + - dosage_score_plot -h + +about: + home: https://github.com/SegawaTenta/Dosage-score + summary: 'Dosage-score: pipline to estimate dosage of each genomic region' + license: 'GPL-3.0-or-later' + license_family: GPL + license_file: LICENSE.txt + +extra: + identifiers: + - biotools:dosage_score diff --git a/recipes/dragmap/build_failure.linux-64.yaml b/recipes/dragmap/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..9f79955e673c2 --- /dev/null +++ b/recipes/dragmap/build_failure.linux-64.yaml @@ -0,0 +1,106 @@ +recipe_sha: 223055cf2267b7efb66b69e6037328538cab10f24abefbe44c2b2624fe50c80a # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + Success + Extracting download + source tree in: /opt/conda/conda-bld/dragmap_1717777543911/work + export PREFIX=/opt/conda/conda-bld/dragmap_1717777543911/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place + export BUILD_PREFIX=/opt/conda/conda-bld/dragmap_1717777543911/_build_env + export SRC_DIR=/opt/conda/conda-bld/dragmap_1717777543911/work + INFO: activate-binutils_linux-64.sh made the following environmental changes: + ADDR2LINE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-addr2line + AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar + AS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-as + CXXFILT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cfilt + ELFEDIT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-elfedit + GPROF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gprof + LD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld + LD_GOLD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld.gold + NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-nm + OBJCOPY=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objcopy + OBJDUMP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objdump + RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib + READELF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-readelf + SIZE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-size + STRINGS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strings + STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip + INFO: activate-gcc_linux-64.sh made the following environmental changes: + BUILD=x86_64-conda-linux-gnu + CC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dragmap-1.3.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH=$PREFIX;$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=$PREFIX:$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot/usr + CONDA_BUILD_SYSROOT=$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot + CONDA_TOOLCHAIN_BUILD=x86_64-conda-linux-gnu + CONDA_TOOLCHAIN_HOST=x86_64-conda-linux-gnu + CPP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cpp + CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include + DEBUG_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dragmap-1.3.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem $PREFIX/include + GCC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc + GCC_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar + GCC_NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-nm + GCC_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib + HOST=x86_64-conda-linux-gnu + LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_cos6_linux_gnu + build_alias=x86_64-conda-linux-gnu + host_alias=x86_64-conda-linux-gnu + -BUILD=x86_64-conda_cos6-linux-gnu + -CONDA_BUILD_SYSROOT= + INFO: activate-gxx_linux-64.sh made the following environmental changes: + CXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dragmap-1.3.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + DEBUG_CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/dragmap-1.3.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + GXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-g + making $SRC_DIR/build/release/compare.o + making $SRC_DIR/build/release/workflow/DualFastq2SamWorkflow.o + making $SRC_DIR/build/release/workflow/GenHashTableWorkflow.o + making $SRC_DIR/build/release/workflow/Input2SamWorkflow.o + making $SRC_DIR/build/release/libdragmap-workflow.a + making $SRC_DIR/build/release/align/Aligner.o + making $SRC_DIR/build/release/align/AlignmentGenerator.o + making $SRC_DIR/build/release/align/AlignmentRescue.o + making $SRC_DIR/build/release/align/Alignments.o + making $SRC_DIR/build/release/align/CalculateRefStartEnd.o + making $SRC_DIR/build/release/align/Cigar.o + making $SRC_DIR/build/release/align/InsertSizeDistribution.o + making $SRC_DIR/build/release/align/PairBuilder.o + making $SRC_DIR/build/release/align/Pairs.o + making $SRC_DIR/build/release/align/SinglePicker.o + making $SRC_DIR/build/release/align/SmithWaterman.o + making $SRC_DIR/build/release/align/Tlen.o + making $SRC_DIR/build/release/align/VectorSmithWaterman.o + making $SRC_DIR/build/release/align/Wavefront.o + making $SRC_DIR/build/release/libdragmap-align.a + making $SRC_DIR/build/release/map/BestIntervalTracker.o + making $SRC_DIR/build/release/map/ChainBuilder.o + making $SRC_DIR/build/release/map/Mapper.o + /opt/conda/conda-bld/dragmap_1717777543911/work/src/lib/map/Mapper.cpp: In member function 'void dragenos::map::Mapper::addToPositionChains(const Seed&, dragenos::map::ChainBuilder&, std::vector&, uint32_t&, uint32_t&) const': + /opt/conda/conda-bld/dragmap_1717777543911/work/src/lib/map/Mapper.cpp:337:38: error: 'make_iterator_range' is not a member of 'boost'; did you mean 'iterator_range'? + 337 | for (const auto& record : boost::make_iterator_range(hashRecords_.rbegin(), hashRecords_.rend())) { + | ^~~~~~~~~~~~~~~~~~~ + | iterator_range + make: *** [/opt/conda/conda-bld/dragmap_1717777543911/work/make/lib.mk:110: /opt/conda/conda-bld/dragmap_1717777543911/work/build/release/map/Mapper.o] Error 1 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/dragmap_1717777543911/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. +reason: |- + missing license diff --git a/recipes/dragmap/meta.yaml b/recipes/dragmap/meta.yaml index d2c9d1b700150..530041aa32628 100644 --- a/recipes/dragmap/meta.yaml +++ b/recipes/dragmap/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 3 + number: 4 skip: True # [osx] requirements: diff --git a/recipes/dragonflye/meta.yaml b/recipes/dragonflye/meta.yaml index e69873f01afb6..7ed965198a477 100644 --- a/recipes/dragonflye/meta.yaml +++ b/recipes/dragonflye/meta.yaml @@ -1,5 +1,5 @@ {% set name = "dragonflye" %} -{% set version = "1.1.2" %} +{% set version = "1.2.1" %} package: name: {{ name }} @@ -13,13 +13,14 @@ build: source: url: https://github.com/rpetit3/{{ name }}/archive/v{{ version }}.tar.gz - sha256: 0175f72233c2aa5b4f398fee8f1c17ae69ff04a17dd81ca5e105ec3b3fb4d0ab + sha256: 3a0499a5c9aeb1b9246d5eb9512c01fe07b6c87f80bc97b11d3b672e60eb51f9 requirements: run: - assembly-scan >=1.0.0 - any2fasta >=0.4.2 - bwa + - dnaapler - fastp - flye >=2.9.2 - kmc >=3.1 @@ -31,10 +32,10 @@ requirements: - perl-findbin - pigz >=2.6 - pilon - - polypolish + - polypolish >=0.6.0 - porechop - racon >=1.5.0 - - rasusa >=0.7.1 + - rasusa >=1.0.0 - raven-assembler >=1.8.3 - samclip - samtools diff --git a/recipes/dram/fix_setup.patch b/recipes/dram/fix_setup.patch new file mode 100644 index 0000000000000..f8fb0fcc6f255 --- /dev/null +++ b/recipes/dram/fix_setup.patch @@ -0,0 +1,14 @@ +--- scripts/DRAM-setup.py.old 2024-03-24 22:09:07.980198244 -0500 ++++ scripts/DRAM-setup.py 2024-03-24 22:10:39.107097364 -0500 +@@ -121,10 +121,10 @@ + help='vog annotations file') # add loc to vog_annotations to match the rest + + set_db_locs_parser.add_argument('--viral_loc', default=None, ++ help='mmseqs2 database file from ref seq viral gene collection') + set_db_locs_parser.add_argument('--camper_tar_gz_loc', default=None, + help='The source for the CAMPER database files, this is a tar.gz file downloaded' + ' from the release page https://github.com/WrightonLabCSU/CAMPER/releases') +- help='mmseqs2 database file from ref seq viral gene collection') + set_db_locs_parser.add_argument('--peptidase_loc', default=None, + help='mmseqs2 database file from MEROPS database') + set_db_locs_parser.add_argument('--description_db_loc', default=None, diff --git a/recipes/dram/meta.yaml b/recipes/dram/meta.yaml index 6c93600ad8052..71f440a076c1b 100644 --- a/recipes/dram/meta.yaml +++ b/recipes/dram/meta.yaml @@ -1,7 +1,7 @@ {% set name = "DRAM" %} {% set pypi_name = "DRAM-bio" %} -{% set version = "1.4.6" %} -{% set sha256 = "f014c55d7e75433bfc029dc20092df6eb9fb5a565dc60d6e7934d0261f36f945" %} +{% set version = "1.5.0" %} +{% set sha256 = "2d4a503fa806e33b580afb6d21879b2399178e48ba3b05ada882449fee571889" %} package: name: {{ name|lower }} @@ -10,15 +10,20 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ pypi_name }}/{{ pypi_name }}-{{ version }}.tar.gz sha256: {{ sha256 }} + patches: + # https://github.com/WrightonLabCSU/DRAM/issues/339 + - fix_setup.patch build: - number: 2 + number: 0 noarch: python script: "{{ PYTHON }} -m pip install . -vv" + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} requirements: host: - - python >=3.6 + - python >=3.8 - pip run: - python >=3.8 diff --git a/recipes/drep/meta.yaml b/recipes/drep/meta.yaml index 8e0c4025e8f64..b85c516641122 100644 --- a/recipes/drep/meta.yaml +++ b/recipes/drep/meta.yaml @@ -1,5 +1,5 @@ {% set name = "drep" %} -{% set version = "3.4.5" %} +{% set version = "3.5.0" %} package: name: drep @@ -7,12 +7,12 @@ package: source: url: https://pypi.io/packages/source/d/drep/drep-{{ version }}.tar.gz - sha256: 147ddbb775c8f81e8cf4c4d79dc0378039628bd375ea135b8052b8a1d07180c3 + sha256: 4bd2fe9021fdcbcdf646ef5c558d4ea5d9440b290c0a42454037008997a9cfc6 build: number: 0 noarch: python - script: {{ PYTHON }} -m pip install --no-deps --ignore-installed --no-cache-dir -vvv . + script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation --no-cache-dir -vvv . run_exports: - {{ pin_subpackage('drep', max_pin="x") }} @@ -22,16 +22,18 @@ requirements: - pip run: - python >3 + - tqdm - numpy - pandas - seaborn - matplotlib-base - - biopython - scikit-learn - mummer4 - mash - prodigal - fastani + - checkm-genome + - skani test: imports: diff --git a/recipes/drop/meta.yaml b/recipes/drop/meta.yaml index 10289a06f3354..bebc63a3a32d0 100644 --- a/recipes/drop/meta.yaml +++ b/recipes/drop/meta.yaml @@ -1,5 +1,5 @@ {% set name = "drop" %} -{% set version = "1.3.3" %} +{% set version = "1.4.0" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: https://github.com/gagneurlab/{{ name }}/archive/{{ version }}.tar.gz - sha256: 846d39e3e6f61e4dcc65c9e205040cb49b43b8a4790189dc225e027a9bf00917 + sha256: e96585a06fe0a386d940c4bd31a595356f0041ae8b063fd55108eb4e84fe1c15 build: number: 0 @@ -15,6 +15,8 @@ build: entry_points: - drop=drop.cli:main script: "{{ PYTHON }} -m pip install . -vv --no-deps --ignore-installed" + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} requirements: host: @@ -27,8 +29,8 @@ requirements: - click-log - python-dateutil # snakemake/wbuild + - wbuild >=1.8=pyhdfd78af_2 - snakemake-minimal >=5.5.2 - - wbuild >=1.8 - pandoc - graphviz # command line tools @@ -55,8 +57,8 @@ requirements: # bioconductor packages - bioconductor-deseq2 - bioconductor-genomicscores - - bioconductor-outrider >=1.6.1 - - bioconductor-fraser >=1.10.0 + - bioconductor-outrider >=1.20.1 + - bioconductor-fraser >=1.99.4 - bioconductor-variantannotation test: diff --git a/recipes/dropest/build_failure.linux-64.yaml b/recipes/dropest/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..0f3f1c8db969c --- /dev/null +++ b/recipes/dropest/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 7b9055e61d705d6f8c6facf7d825e0f92a4be7eb5e6c9bf6c8c85b608b2f2c9c # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + -- Detecting CXX compile features - done + -- Found Boost: $PREFIX/lib/cmake/Boost-1.85.0/BoostConfig.cmake (found suitable version "1.85.0", minimum required is "1.54.0") found components: filesystem iostreams log system thread unit_test_framework + -- ** Boost Include: $PREFIX/include + -- ** Boost Libraries: $PREFIX/lib + -- ** Boost Link-Libs: Boost::filesystem;Boost::iostreams;Boost::log;Boost::system;Boost::thread;Boost::unit_test_framework + CMake Warning (dev) at CMake/deps.cmake:27 (find_package): + Policy CMP0074 is not set: find_package uses _ROOT variables. + Run "cmake --help-policy CMP0074" for policy details. Use the cmake_policy + command to set the policy and suppress this warning. + + CMake variable ZLIB_ROOT is set to: + + /opt/conda/conda-bld/dropest_1717710430209/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place + + For compatibility, CMake is ignoring the variable. + Call Stack (most recent call first): + CMakeLists.txt:18 (include) + This warning is for project developers. Use -Wno-dev to suppress it. + + -- Found ZLIB: $PREFIX/lib/libz.so (found version "1.2.13") + -- Found Threads: TRUE + CMake Warning (dev) at /opt/conda/conda-bld/dropest_1717710430209/_build_env/share/cmake-3.29/Modules/FindPackageHandleStandardArgs.cmake:438 (message): + The package name passed to find_package_handle_standard_args (BAMTOOLS) + does not match the name of the calling package (BamTools). This can lead + to problems in calling code that expects find_package result variables + (e.g., _FOUND) to follow a certain pattern. + Call Stack (most recent call first): + CMake/FindBamTools.cmake:15 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) + CMake/deps.cmake:31 (find_package) + CMakeLists.txt:18 (include) + This warning is for project developers. Use -Wno-dev to suppress it. + + -- Found BAMTOOLS: $PREFIX/lib/../lib/libbamtools.so + CMake Warning (dev) at CMake/deps.cmake:34 (find_package): + Policy CMP0074 is not set: find_package uses _ROOT variables. + Run "cmake --help-policy CMP0074" for policy details. Use the cmake_policy + command to set the policy and suppress this warning. + + CMake variable R_ROOT is set to: + + /opt/conda/conda-bld/dropest_1717710430209/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place + + For compatibility, CMake is ignoring the variable. + Call Stack (most recent call first): + CMakeLists.txt:18 (include) + This warning is for project developers. Use -Wno-dev to suppress it. + + During startup - Warning message: + Setting LC_TIME failed, using "C" + During startup - Warning message: + Setting LC_TIME failed, using "C" + During startup - Warning message: + Setting LC_TIME failed, using "C" + During startup - Warning message: + Setting LC_TIME failed, using "C" + -- Found R: $PREFIX/lib/R/lib/libR.so + -- Found R: $PREFIX + -- Configuring done (1.5s) + -- Generating done (0.1s) + -- Build files have been written to: $SRC_DIR/build + [ 1%] Building CXX object CMakeFiles/DropTools.dir/Tools/CollisionsAdjuster.cpp.o + [ 2%] Building CXX object CMakeFiles/DropTools.dir/Tools/GeneAnnotation/GtfRecord.cpp.o + [ 4%] Building CXX object CMakeFiles/DropTools.dir/Tools/GeneAnnotation/Interval.cpp.o + [ 5%] Building CXX object CMakeFiles/DropTools.dir/Tools/GeneAnnotation/RefGenesContainer.cpp.o + [ 7%] Building CXX object CMakeFiles/DropTools.dir/Tools/Logs.cpp.o + [ 8%] Building CXX object CMakeFiles/DropTools.dir/Tools/ReadParameters.cpp.o + /opt/conda/conda-bld/dropest_1717710430209/work/Tools/ReadParameters.cpp: In static member function 'static std::pair, Tools::ReadParameters> Tools::ReadParameters::parse_from_string(const std::string&, char)': + /opt/conda/conda-bld/dropest_1717710430209/work/Tools/ReadParameters.cpp:61:22: error: 'vector' is not a member of 'std' + 61 | std::vector parsed; + | ^~~~~~ + /opt/conda/conda-bld/dropest_1717710430209/work/Tools/ReadParameters.cpp:2:1: note: 'std::vector' is defined in header ''; did you forget to '#include '? + 1 | #include "ReadParameters.h" + |#include + 2 | + /opt/conda/conda-bld/dropest_1717710430209/work/Tools/ReadParameters.cpp:61:40: error: expected primary-expression before '>' token + 61 | std::vector parsed; + | ^ + /opt/conda/conda-bld/dropest_1717710430209/work/Tools/ReadParameters.cpp:61:42: error: 'parsed' was not declared in this scope; did you mean 'pause'? + 61 | std::vector parsed; + | ^~~~~~ + | pause + make[2]: *** [CMakeFiles/DropTools.dir/build.make:146: CMakeFiles/DropTools.dir/Tools/ReadParameters.cpp.o] Error 1 + make[1]: *** [CMakeFiles/Makefile2:101: CMakeFiles/DropTools.dir/all] Error 2 + make: *** [Makefile:146: all] Error 2 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/dropest_1717710430209/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. diff --git a/recipes/dropest/meta.yaml b/recipes/dropest/meta.yaml index 281e7c2d09ed4..c4592887eb584 100644 --- a/recipes/dropest/meta.yaml +++ b/recipes/dropest/meta.yaml @@ -12,7 +12,7 @@ source: - patch build: - number: 7 + number: 8 skip: True # [osx] rpaths: - lib/R/lib/ diff --git a/recipes/dropkick/build_failure.linux-64.yaml b/recipes/dropkick/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..5022fb1ccfb2d --- /dev/null +++ b/recipes/dropkick/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 5f38d18fef2ee8a3e176dad540b385df72505761def5675d5192baff1c3cc4c9 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + libllvm14: 14.0.6-hcd5def8_4 conda-forge + libnghttp2: 1.58.0-h47da74e_1 conda-forge + libnsl: 2.0.1-hd590300_0 conda-forge + libopenblas: 0.3.25-pthreads_h413a1c8_0 conda-forge + libpng: 1.6.43-h2797004_0 conda-forge + libsqlite: 3.45.3-h2797004_0 conda-forge + libssh2: 1.11.0-h0841786_0 conda-forge + libstdcxx-ng: 13.2.0-hc0a3c3a_7 conda-forge + libtiff: 4.5.1-h8b53f26_1 conda-forge + libuuid: 2.38.1-h0b41bf4_0 conda-forge + libwebp-base: 1.4.0-hd590300_0 conda-forge + libxcb: 1.15-h0b41bf4_0 conda-forge + libxcrypt: 4.4.36-hd590300_1 conda-forge + libxml2: 2.12.7-hc051c1a_1 conda-forge + libzlib: 1.3.1-h4ab18f5_1 conda-forge + libzopfli: 1.0.3-h9c3ff4c_0 conda-forge + llvmlite: 0.41.1-py38h94a1851_0 conda-forge + lz4-c: 1.9.4-hcb278e6_0 conda-forge + matplotlib-base: 3.7.3-py38h58ed7fa_0 conda-forge + munkres: 1.1.4-pyh9f0ad1d_0 conda-forge + natsort: 8.4.0-pyhd8ed1ab_0 conda-forge + ncurses: 6.5-h59595ed_0 conda-forge + networkx: 3.1-pyhd8ed1ab_0 conda-forge + numba: 0.58.1-py38h4144172_0 conda-forge + numpy: 1.24.4-py38h59b608b_0 conda-forge + openjpeg: 2.5.0-hfec8fc6_2 conda-forge + openssl: 3.3.1-h4ab18f5_0 conda-forge + packaging: 24.0-pyhd8ed1ab_0 conda-forge + pandas: 2.0.3-py38h01efb38_1 conda-forge + patsy: 0.5.6-pyhd8ed1ab_0 conda-forge + pillow: 10.0.0-py38h885162f_0 conda-forge + pip: 24.0-pyhd8ed1ab_0 conda-forge + platformdirs: 4.2.2-pyhd8ed1ab_0 conda-forge + pooch: 1.8.1-pyhd8ed1ab_0 conda-forge + pthread-stubs: 0.4-h36c2ea0_1001 conda-forge + pynndescent: 0.5.12-pyhca7485f_0 conda-forge + pyparsing: 3.1.2-pyhd8ed1ab_0 conda-forge + pysocks: 1.7.1-pyha2e5f31_6 conda-forge + python: 3.8.19-hd12c33a_0_cpython conda-forge + python-dateutil: 2.9.0-pyhd8ed1ab_0 conda-forge + python-tzdata: 2024.1-pyhd8ed1ab_0 conda-forge + python_abi: 3.8-4_cp38 conda-forge + pytz: 2024.1-pyhd8ed1ab_0 conda-forge + pywavelets: 1.4.1-py38h7f0c24c_1 conda-forge + readline: 8.2-h8228510_1 conda-forge + requests: 2.32.3-pyhd8ed1ab_0 conda-forge + scanpy: 1.10.1-pyhd8ed1ab_0 conda-forge + scikit-image: 0.21.0-py38h17151c0_0 conda-forge + scikit-learn: 1.3.2-py38ha25d942_2 conda-forge + scipy: 1.10.1-py38h59b608b_3 conda-forge + seaborn: 0.13.2-hd8ed1ab_2 conda-forge + seaborn-base: 0.13.2-pyhd8ed1ab_2 conda-forge + session-info: 1.0.0-pyhd8ed1ab_0 conda-forge + setuptools: 70.0.0-pyhd8ed1ab_0 conda-forge + six: 1.16.0-pyh6c4a22f_0 conda-forge + snappy: 1.1.10-hdb0a2a9_1 conda-forge + statsmodels: 0.14.1-py38h7f0c24c_0 conda-forge + stdlib-list: 0.10.0-pyhd8ed1ab_0 conda-forge + tbb: 2021.12.0-h297d8ca_1 conda-forge + threadpoolctl: 3.5.0-pyhc1e730c_0 conda-forge + tifffile: 2023.7.10-pyhd8ed1ab_0 conda-forge + tk: 8.6.13-noxft_h4845f30_101 conda-forge + tqdm: 4.66.4-pyhd8ed1ab_0 conda-forge + umap-learn: 0.5.5-py38h578d9bd_1 conda-forge + unicodedata2: 15.1.0-py38h01eb140_0 conda-forge + urllib3: 2.2.1-pyhd8ed1ab_0 conda-forge + wheel: 0.43.0-pyhd8ed1ab_1 conda-forge + xorg-libxau: 1.0.11-hd590300_0 conda-forge + xorg-libxdmcp: 1.1.3-h7f98852_0 conda-forge + xz: 5.2.6-h166bdaf_0 conda-forge + zfp: 1.0.1-h59595ed_0 conda-forge + zipp: 3.17.0-pyhd8ed1ab_0 conda-forge + zlib-ng: 2.0.7-h0b41bf4_0 conda-forge + zstd: 1.5.6-ha6fb4c9_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + export PREFIX=/opt/conda/conda-bld/dropkick_1717625864122/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold + export SRC_DIR=/opt/conda/conda-bld/dropkick_1717625864122/test_tmp + Traceback (most recent call last): + File "/opt/conda/conda-bld/dropkick_1717625864122/test_tmp/run_test.py", line 2, in + import: 'dropkick' + import dropkick + File "/opt/conda/conda-bld/dropkick_1717625864122/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.8/site-packages/dropkick/__init__.py", line 5, in + from .api import ( + File "/opt/conda/conda-bld/dropkick_1717625864122/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.8/site-packages/dropkick/api.py", line 13, in + import scanpy as sc + File "/opt/conda/conda-bld/dropkick_1717625864122/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.8/site-packages/scanpy/__init__.py", line 45, in + from . import datasets, experimental, external, get, logging, metrics, queries + File "/opt/conda/conda-bld/dropkick_1717625864122/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.8/site-packages/scanpy/datasets/__init__.py", line 5, in + from ._datasets import ( + File "/opt/conda/conda-bld/dropkick_1717625864122/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.8/site-packages/scanpy/datasets/_datasets.py", line 15, in + from ..readwrite import read, read_visium + File "/opt/conda/conda-bld/dropkick_1717625864122/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.8/site-packages/scanpy/readwrite.py", line 1015 + ) as t, + ^ + SyntaxError: invalid syntax + WARNING: Tests failed for dropkick-1.2.8-py38h452d750_1.tar.bz2 - moving package to /opt/conda/conda-bld/broken + TESTS FAILED: dropkick-1.2.8-py38h452d750_1.tar.bz2 +# Last 100 lines of the build log. diff --git a/recipes/dropkick/meta.yaml b/recipes/dropkick/meta.yaml new file mode 100644 index 0000000000000..4a04c74f228f1 --- /dev/null +++ b/recipes/dropkick/meta.yaml @@ -0,0 +1,51 @@ +{% set name = "dropkick" %} +{% set version = "1.2.8" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/dropkick-{{ version }}.tar.gz + sha256: 4bfbd23984ac11669691818f29e1f0033e32dd7c2236b16d8a2f20fe60c923c6 + +build: + number: 1 + # "Failed to find libgfortran.3.dylib" build error on OSX + skip: True # [py < 36 or osx] + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation + entry_points: + - dropkick = dropkick.__main__:main + run_exports: + - {{ pin_subpackage('dropkick', max_pin="x") }} + +requirements: + build: + - {{ compiler('fortran') }} + - {{ compiler('c') }} + host: + - python + - pip + - numpy + run: + - python + - scipy >=0.14.1 + - pandas + - scikit-learn >=0.18.0 + - scikit-image + - matplotlib-base >=3.0.3 + - scanpy + - {{ pin_compatible('numpy') }} + +test: + imports: + - dropkick + commands: + - dropkick --help + +about: + home: https://github.com/KenLauLab/dropkick + summary: Automated scRNA-seq filtering + license: MIT + license_family: MIT + license_file: LICENSE diff --git a/recipes/dropseq_tools/build.sh b/recipes/dropseq_tools/build.sh index 8dc5c7f95eb6d..e5952e04bc5d1 100644 --- a/recipes/dropseq_tools/build.sh +++ b/recipes/dropseq_tools/build.sh @@ -38,9 +38,9 @@ declare -a PROGRAMS=( 'ValidateReference' ) -outdir=$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM +outdir="$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM" mkdir -p $outdir -bindir=$PREFIX/bin +bindir="$PREFIX/bin" mkdir -p $bindir cp -r ./* $outdir/ @@ -48,7 +48,7 @@ for PROG in "${PROGRAMS[@]}" do sed -i'.bak' -E 's@^thisdir=.+@thisdir='$outdir'@g' "${outdir}/${PROG}" rm -f "${outdir}/${PROG}.bak" - ln -s "${outdir}/${PROG}" "${bindir}/${PROG}" + ln -sf "${outdir}/${PROG}" "${bindir}/${PROG}" chmod 0755 "${bindir}/${PROG}" done diff --git a/recipes/dropseq_tools/meta.yaml b/recipes/dropseq_tools/meta.yaml index 099337387cd77..9f3da319ba521 100644 --- a/recipes/dropseq_tools/meta.yaml +++ b/recipes/dropseq_tools/meta.yaml @@ -1,21 +1,24 @@ -{% set name = "Drop-seq_tools" %} -{% set version = "2.5.1" %} +{% set name = "Dropseq_tools" %} +{% set version = "3.0.2" %} +{% set sha256 = "aa681dff54ede54154a9b626c6361da860eb5df749456ece340e152b42c16484" %} package: - name: dropseq_tools + name: {{ name|lower }} version: {{ version }} source: - url: https://github.com/broadinstitute/Drop-seq/releases/download/v{{ version }}/{{ name }}-{{ version }}.zip - sha256: 3274a59e612560fe3c3f73457fe75d38c60549a178c97603d34b83d15b7e32ab + url: https://github.com/broadinstitute/Drop-seq/releases/download/v{{ version }}/dropseq-{{ version }}.zip + sha256: {{ sha256 }} build: number: 0 noarch: generic + run_exports: + - {{ pin_subpackage('dropseq_tools', max_pin="x") }} requirements: run: - - openjdk >=8 + - openjdk >=21 test: commands: @@ -55,11 +58,13 @@ test: - 'ValidateReference -- --help 2>&1 | grep "{{ version }}"' about: - home: http://mccarrolllab.com/dropseq/ + home: "https://mccarrolllab.com/dropseq" license: MIT license_family: MIT summary: | Package for the analysis of Drop-seq data developed by Jim Nemesh in the McCarroll Lab + dev_url: "https://github.com/broadinstitute/Drop-seq" + doc_url: "https://github.com/broadinstitute/Drop-seq/blob/v{{ version }}/README.md" extra: notes: | diff --git a/recipes/dsh-bio/meta.yaml b/recipes/dsh-bio/meta.yaml index 55986f880da06..891ae8f193100 100644 --- a/recipes/dsh-bio/meta.yaml +++ b/recipes/dsh-bio/meta.yaml @@ -1,4 +1,4 @@ -{% set version="2.3" %} +{% set version="2.4" %} package: name: dsh-bio @@ -6,7 +6,7 @@ package: source: url: https://search.maven.org/remotecontent?filepath=org/dishevelled/dsh-bio-tools/{{ version }}/dsh-bio-tools-{{ version }}-bin.tar.gz - sha256: 3255ae93cf7ac05ea8c64f1d6301b9bf745094c82f9db2a6345319a6cca2fafd + sha256: c33e10ed24468548ed929dae6bbbaa5cacfb6ab124ef62b93f5a742ca6e7d9c6 build: number: 0 diff --git a/recipes/dsk/build.sh b/recipes/dsk/build.sh index aa1fe014afa92..f833350da05ec 100644 --- a/recipes/dsk/build.sh +++ b/recipes/dsk/build.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -xe + if [ `uname` == Darwin ]; then export MACOSX_DEPLOYMENT_TARGET=10.9 fi @@ -22,5 +24,5 @@ cmake .. \ -DCMAKE_PREFIX_PATH=${PREFIX} \ -DCPPUNIT_INCLUDE_DIR=${PREFIX}/include -make -j 2 +make -j ${CPU_COUNT} make install diff --git a/recipes/dsk/meta.yaml b/recipes/dsk/meta.yaml index a7090bf1d4bcb..d9f31a8beb004 100644 --- a/recipes/dsk/meta.yaml +++ b/recipes/dsk/meta.yaml @@ -11,9 +11,11 @@ source: - install_paths.patch build: - number: 4 + number: 5 # Requires clang>=4.5 skip: True # [osx] + run_exports: + - {{ pin_subpackage('dsk', max_pin='x') }} requirements: build: @@ -38,6 +40,8 @@ about: summary: DSK is a k-mer counter for reads or genomes. extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:dsk - doi:10.1093/bioinformatics/btt020 diff --git a/recipes/dsrc/build.sh b/recipes/dsrc/build.sh index 522e31134a5d5..b2a5ab65433a8 100644 --- a/recipes/dsrc/build.sh +++ b/recipes/dsrc/build.sh @@ -1,9 +1,11 @@ #!/bin/sh +set -xe + if [ "$(uname)" == "Darwin" ]; then - DEP_LIBS="${LDFLAGS}" make CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" -f Makefile.osx bin + DEP_LIBS="${LDFLAGS}" make -j ${CPU_COUNT} CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" -f Makefile.osx bin else - DEP_LIBS="${LDFLAGS}" make CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" -f Makefile.c++11 bin + DEP_LIBS="${LDFLAGS}" make -j ${CPU_COUNT} CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" -f Makefile.c++11 bin fi mkdir -p "${PREFIX}/bin" diff --git a/recipes/dsrc/meta.yaml b/recipes/dsrc/meta.yaml index 00ae8e3dcffe7..5841ffe7771a1 100644 --- a/recipes/dsrc/meta.yaml +++ b/recipes/dsrc/meta.yaml @@ -7,7 +7,10 @@ source: sha256: a8ddbe986e0477d09ada2b977ae7854e8e8361392b90620192a2cb06b5dc8a58 build: - number: 6 + number: 8 + run_exports: + - {{ pin_subpackage('dsrc', max_pin=None) }} + requirements: build: @@ -30,5 +33,7 @@ about: license: GNU GPL 2 extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:dsrc diff --git a/recipes/dudes/meta.yaml b/recipes/dudes/meta.yaml index af2174caed477..31bf5937c52ae 100644 --- a/recipes/dudes/meta.yaml +++ b/recipes/dudes/meta.yaml @@ -1,30 +1,47 @@ +{% set name = "dudes" %} +{% set version = "0.10.0" %} + package: - name: dudes - version: "0.08" + name: "{{ name|lower }}" + version: "{{ version }}" source: - url: https://github.com/pirovc/dudes/archive/dudes_v0.08.tar.gz - md5: b569094e73ad2d40dccac7a26554a839 + url: https://github.com/pirovc/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: cb53be14da0c9d40e4ac758a6de7fe98e494c5bff3847d5aa6568a1ea8781180 build: noarch: python - number: 2 - script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv + number: 0 + script: {{ PYTHON }} -m pip install --no-deps --ignore-installed --no-cache-dir -vvv . + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: host: - - python >=3 + - python >=3.10 - pip + - poetry run: - - python >=3 - - numpy - - pandas + - python >=3.10 + - matplotlib-base >=3.5.1 + - numpy >=1.21.0 + - pandas >=1.4.1 test: commands: - - DUDes.py -h 2>&1 | echo $? + - dudes -h + - dudesdb -h about: - home: https://github.com/pirovc/dudes/ - license: The MIT License (MIT) - summary: 'DUDes: a top-down taxonomic profiler for metagenomics' + home: https://github.com/pirovc/dudes + summary: "DUDes: a top-down taxonomic profiler for metagenomics and metaproteomics" + license: MIT License + license_family: MIT + license_file: LICENSE.md + +extra: + identifiers: + - doi:10.1093/bioinformatics/btw150 + recipe-maintainers: + - pirovc + - rababerladuseladim diff --git a/recipes/dunovo/build.sh b/recipes/dunovo/build.sh index 84dd506c83b71..03143d088095e 100644 --- a/recipes/dunovo/build.sh +++ b/recipes/dunovo/build.sh @@ -2,9 +2,9 @@ SubModules="bfx kalign utillib ET" # Compile binaries and move them to lib. if [ "x$CC" = x ]; then - make + make -j ${CPU_COUNT} else - make "CC=$CC" + make "CC=$CC" -j ${CPU_COUNT} fi mkdir -p "$PREFIX/lib" mv *.so "$PREFIX/lib" diff --git a/recipes/dunovo/meta.yaml b/recipes/dunovo/meta.yaml index 011793092556f..9a4f0613ebc73 100644 --- a/recipes/dunovo/meta.yaml +++ b/recipes/dunovo/meta.yaml @@ -10,8 +10,10 @@ source: sha256: 79f6469bdf6752c3a2555feefc26038ae793dac4acb0136355287aed6cb791e0 build: - number: 2 + number: 3 skip: True # [osx] + run_exports: + - {{ pin_subpackage('dunovo', max_pin="x") }} requirements: build: @@ -25,15 +27,16 @@ requirements: #- tbb 2018.0.3 - python >=3.6 - bash >=4.0.0 - - mafft 7.221 + - mafft >=7.221 - bowtie >=1.3.0 - networkx 2.4 - biopython 1.78 - - samtools 1.9 + - samtools - gawk - gzip - file - coreutils + - numpy <1.24 test: commands: @@ -54,5 +57,7 @@ about: summary: "Du Novo: A pipeline for processing duplex sequencing data." extra: + additional-platforms: + - linux-aarch64 skip-lints: - should_use_compilers diff --git a/recipes/duplex-tools/meta.yaml b/recipes/duplex-tools/meta.yaml index 1dde7f26e9869..e570a25b840e5 100644 --- a/recipes/duplex-tools/meta.yaml +++ b/recipes/duplex-tools/meta.yaml @@ -1,5 +1,5 @@ {% set name = "duplex-tools" %} -{% set version = "0.2.17" %} +{% set version = "0.3.3" %} package: name: "{{ name|lower }}" @@ -7,30 +7,34 @@ package: source: url: "https://pypi.io/packages/source/d/duplex_tools/duplex_tools-{{ version }}.tar.gz" - sha256: afc5af9bdbea9c0aa3d55952cd391beee60185c6deed38a81e9e6b0f1606ab01 + sha256: 883e0a6610d14328a640b6a31eaef90592d2967cda68db0547a4d99924281300 build: number: 0 entry_points: - duplex_tools = duplex_tools:main - script: "{{ PYTHON }} -m pip install . -vv" + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv noarch: python - + run_exports: + - {{ pin_subpackage('duplex-tools', max_pin="x.x") }} + requirements: host: - pip - - python + - python >=3.7 run: + - python >=3.7 - python-edlib + - mappy + - matplotlib-base - more-itertools - natsort - numpy - pandas - parasail-python - - pathlib - - pyfastx + - pod5 + - pyfastx >=0.9.0 - pysam - - python - tqdm test: @@ -41,9 +45,12 @@ test: about: home: "https://github.com/nanoporetech/duplex-tools" - license: MPL-2.0 - license_file: LICENSE.md - summary: "Duplex Tools contains a set of utilities for dealing with ONT Duplex sequencing data" + license: "MPL-2.0" + license_family: OTHER + license_file: "LICENSE.md" + summary: "Duplex Tools contains a set of utilities for dealing with ONT Duplex sequencing data." + dev_url: "https://github.com/nanoporetech/duplex-tools" + doc_url: "https://github.com/nanoporetech/duplex-tools/blob/v{{ version }}/README.md" extra: recipe-maintainers: diff --git a/recipes/dupsifter/meta.yaml b/recipes/dupsifter/meta.yaml index 7a256ef424987..43bc3d576002f 100644 --- a/recipes/dupsifter/meta.yaml +++ b/recipes/dupsifter/meta.yaml @@ -1,17 +1,17 @@ -{% set version = '1.2.0.20230926' %} +{% set version = '1.2.1.20240119' %} package: name: dupsifter version: {{ version }} build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage('dupsifter', max_pin='x') }} source: url: https://github.com/huishenlab/dupsifter/releases/download/v{{ version }}/release-source.zip - sha256: 7a4dfe194d51ac09b30f85f6c77f9e8c31c62e636f56c09748688b32755d9521 + sha256: ca3db67e36f9a3d054acf9fbaf0dee1037781d468d7f094ea5d3852610448e7a patches: - patch diff --git a/recipes/dxpy/meta.yaml b/recipes/dxpy/meta.yaml index ce62cf169e98b..172199dff30e6 100644 --- a/recipes/dxpy/meta.yaml +++ b/recipes/dxpy/meta.yaml @@ -1,5 +1,5 @@ {% set name = "dxpy" %} -{% set version = "0.365.0" %} +{% set version = "0.383.1" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 234efe289c71da5069cb7e42f569c9dbff922e270267365d8b36798fd541240c + sha256: 377af4014a5f27efd6fe9478d0fa9c30ced245947fbd2e2e5713c8a37db598b0 build: number: 0 @@ -17,9 +17,9 @@ build: - dx-build-app = dxpy.scripts.dx_build_app:main - dx = dxpy.scripts.dx:main - dx-app-wizard = dxpy.scripts.dx_app_wizard:main - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" run_exports: - - {{ pin_subpackage('dxpy', max_pin="x") }} + - {{ pin_subpackage('dxpy', max_pin="x.x") }} requirements: host: @@ -27,12 +27,14 @@ requirements: - pip run: - argcomplete >=1.9.4 + - certifi - cryptography >=3.4.2,<37 - psutil >=3.3.0 - python - python-dateutil >=2.5 - requests >=2.8.0,<2.27.1 - - websocket-client ==0.53.0 + - urllib3 >=1.25,<2.2 + - websocket-client ==0.54.0 - pandas >=1.3.5 test: diff --git a/recipes/dysgu/conda_build_config.yaml b/recipes/dysgu/conda_build_config.yaml new file mode 100644 index 0000000000000..3e1f5e680f301 --- /dev/null +++ b/recipes/dysgu/conda_build_config.yaml @@ -0,0 +1,5 @@ +# current version does not build with newer compilers +cxx_compiler_version: + - 15 # [osx] +c_compiler_version: + - 15 # [osx] diff --git a/recipes/dysgu/meta.yaml b/recipes/dysgu/meta.yaml index 2837afb3d0291..7b51ba6e19580 100644 --- a/recipes/dysgu/meta.yaml +++ b/recipes/dysgu/meta.yaml @@ -1,6 +1,6 @@ {% set name = "dysgu" %} -{% set version = "1.6.2" %} -{% set sha256hash = "6db67f3abd45ca60f768adc9e154a879e604496909e9d243efd55513d6009910" %} +{% set version = "1.6.7" %} +{% set sha256hash = "918eed7bf70e7033994212c5e3cab65c7c6a8ddd566ecde470241ddd7429fca2" %} package: name: {{ name|lower }} @@ -24,8 +24,7 @@ requirements: - {{ compiler('c') }} - {{ compiler('cxx') }} host: - - python >=3.7 - - setuptools >=63.0 + - python - cython - htslib >=1.12 - numpy >=1.18 @@ -45,7 +44,7 @@ requirements: - sortedcontainers - click >=8.0 run: - - python >=3.7 + - python - numpy >=1.18 - scipy >1.7 - pandas >=1.2 @@ -56,7 +55,7 @@ requirements: - lightgbm - zlib - click >=8.0 - - pysam >=0.19 + - pysam >=0.22 - libcurl - openssl - bzip2 @@ -81,8 +80,11 @@ about: license: MIT license_family: MIT license_file: LICENSE.md + dev_url: https://github.com/kcleal/dysgu extra: + additional-platforms: + - linux-aarch64 container: extended-base: True recipe-maintainers: diff --git a/recipes/earlgrey/build.sh b/recipes/earlgrey/build.sh index 53c799b942cb2..875c8e0c3cb6f 100644 --- a/recipes/earlgrey/build.sh +++ b/recipes/earlgrey/build.sh @@ -13,22 +13,24 @@ mkdir -p ${PACKAGE_HOME} # Put package in share directory -cp -r * ${PACKAGE_HOME}/ +cp -rf * ${PACKAGE_HOME}/ # Install SA-SSR (has to be done here because SA-SSR is an ancient repository without releases) -git clone https://github.com/ridgelab/SA-SSR +git clone --depth 1 https://github.com/ridgelab/SA-SSR cd SA-SSR make -cp bin/sa-ssr ${PREFIX}/bin/ +cp -f bin/sa-ssr ${PREFIX}/bin/ +cd ../ && rm -rf SA-SSR/ # Fixes to earlGrey executable sed -i.bak "/CONDA_DEFAULT_ENV/,+4d" ${PACKAGE_HOME}/earlGrey #remove check that conda environment has a specific name - +sed -i.bak "/CONDA_DEFAULT_ENV/,+4d" ${PACKAGE_HOME}/earlGreyLibConstruct #remove check that conda environment has a specific name +sed -i.bak "/CONDA_DEFAULT_ENV/,+4d" ${PACKAGE_HOME}/earlGreyAnnotationOnly #remove check that conda environment has a specific name # Fixes sed command for executables so that it works on both linux and macos -sed -i.bak "s|sed -i |sed -i.bak |g" ${PACKAGE_HOME}/earlGrey ${SCRIPT_DIR}/rcMergeRepeat* ${SCRIPT_DIR}/TEstrainer/TEstrainer_for_earlGrey.sh +sed -i.bak "s|sed -i |sed -i.bak |g" ${PACKAGE_HOME}/earlGrey ${PACKAGE_HOME}/earlGreyLibConstruct ${PACKAGE_HOME}/earlGreyAnnotationOnly ${SCRIPT_DIR}/rcMergeRepeat* ${SCRIPT_DIR}/TEstrainer/TEstrainer_for_earlGrey.sh # Remove -pa from RepeatClassifier @@ -42,23 +44,28 @@ sed -i.bak 's/-t ${THREADS} / /' ${SCRIPT_DIR}/TEstrainer/TEstrainer # Add SCRIPT_DIR to correct path sed -i.bak "s|SCRIPT_DIR=.*|SCRIPT_DIR=${SCRIPT_DIR}|g" ${PACKAGE_HOME}/earlGrey +sed -i.bak "s|SCRIPT_DIR=.*|SCRIPT_DIR=${SCRIPT_DIR}|g" ${PACKAGE_HOME}/earlGreyLibConstruct +sed -i.bak "s|SCRIPT_DIR=.*|SCRIPT_DIR=${SCRIPT_DIR}|g" ${PACKAGE_HOME}/earlGreyAnnotationOnly sed -i.bak "s|SCRIPT_DIR=.*|SCRIPT_DIR=${SCRIPT_DIR}|g" ${SCRIPT_DIR}/rcMergeRepeat* sed -i.bak "s|SCRIPT_DIR=.*|SCRIPT_DIR=${SCRIPT_DIR}|g" ${SCRIPT_DIR}/headSwap.sh sed -i.bak "s|SCRIPT_DIR=.*|SCRIPT_DIR=${SCRIPT_DIR}|g" ${SCRIPT_DIR}/autoPie.sh -sed -i.bak "s|INSERT_FILENAME_HERE|${SCRIPT_DIR}/TEstrainer/scripts/|g" ${SCRIPT_DIR}/TEstrainer/TEstrainer_for_earlGrey.sh +sed -i.bak "s|STRAIN_SCRIPTS=.*|STRAIN_SCRIPTS=${SCRIPT_DIR}/TEstrainer/scripts/|g" ${SCRIPT_DIR}/TEstrainer/TEstrainer_for_earlGrey.sh # Set permissions to files chmod +x ${PACKAGE_HOME}/earlGrey +chmod +x ${PACKAGE_HOME}/earlGreyLibConstruct +chmod +x ${PACKAGE_HOME}/earlGreyAnnotationOnly chmod +x ${SCRIPT_DIR}/TEstrainer/TEstrainer_for_earlGrey.sh chmod +x ${SCRIPT_DIR}/* > /dev/null 2>&1 chmod +x ${SCRIPT_DIR}/bin/LTR_FINDER.x86_64-1.0.7/ltr_finder chmod a+w ${SCRIPT_DIR}/repeatCraft/example - # Extract tRNAdb -tar -zxf ${SCRIPT_DIR}/bin/LTR_FINDER.x86_64-1.0.7/tRNAdb.tar.gz --directory ${SCRIPT_DIR}/bin/LTR_FINDER.x86_64-1.0.7 +tar -zxf ${SCRIPT_DIR}/bin/LTR_FINDER.x86_64-1.0.7/tRNAdb.tar.gz --directory ${SCRIPT_DIR}/bin/LTR_FINDER.x86_64-1.0.7 && rm -r ${SCRIPT_DIR}/bin/LTR_FINDER.x86_64-1.0.7/tRNAdb.tar.gz +# test for conda +df -h # Set PERL5LIB upon activate/deactivate for CHANGE in "activate" "deactivate"; @@ -73,5 +80,6 @@ echo "unset PERL5LIB" >> "${PREFIX}/etc/conda/deactivate.d/${PKG_NAME}_deactivat # Put earlGrey executable in bin cd ${PREFIX}/bin -ln -s ${PACKAGE_HOME}/earlGrey . - +ln -sf ${PACKAGE_HOME}/earlGrey . +ln -sf ${PACKAGE_HOME}/earlGreyLibConstruct . +ln -sf ${PACKAGE_HOME}/earlGreyAnnotationOnly . diff --git a/recipes/earlgrey/meta.yaml b/recipes/earlgrey/meta.yaml index 99763ef6a5c46..a34c99f31f5e0 100644 --- a/recipes/earlgrey/meta.yaml +++ b/recipes/earlgrey/meta.yaml @@ -1,6 +1,6 @@ {% set name = "EarlGrey" %} -{% set version = "4.0.2" %} -{% set sha256 = "0873f77dff2dc13c1ab957f301a9a212123258ec0d4a23b660720d66fa12d442" %} +{% set version = "5.0.0" %} +{% set sha256 = "4106a767403baf17b4f1cc50e69ab0dcb8784f801562479461b33710eb0461ce" %} package: name: {{ name|lower }} @@ -11,7 +11,8 @@ source: sha256: {{ sha256 }} build: - number: 0 + number: 1 + skip: True # [osx] run_exports: - {{ pin_subpackage('earlgrey', max_pin='x') }} @@ -20,7 +21,7 @@ requirements: - make - {{ compiler('cxx') }} run: - - python =3.8 + - python =3.9 - hmmer - trf - cd-hit @@ -30,7 +31,7 @@ requirements: - pyfaidx - pyranges - parallel - - repeatmasker >=4.1.4 + - repeatmasker =4.1.5 - ltr_retriever - mafft - mreps @@ -46,23 +47,35 @@ requirements: - r-optparse - r-tidyverse - r-plyr + - r-viridis + - r-cowplot + - r-ggtext + - r-data.table + - r-magrittr - bedtools + - emboss + - pybedtools + - samtools + - heliano test: commands: + - df -h - earlGrey -h about: - home: https://github.com/TobyBaril/EarlGrey - dev_url: https://github.com/TobyBaril/EarlGrey + home: "https://github.com/TobyBaril/EarlGrey" + dev_url: "https://github.com/TobyBaril/EarlGrey" + doc_url: "https://github.com/TobyBaril/EarlGrey/blob/main/README.md" license: OSL-2.1 + license_file: LICENSE summary: "Earl Grey: A fully automated TE curation and annotation pipeline" description: | Earl Grey is a full-automated transposable element (TE) annotation pipeline, leveraging the most widely-used tools and combining these with a consensus elongation process (BEAT) to better define de novo consensus sequences when - annotating new genome assemblies. + annotating new genome assemblies. extra: identifiers: - - doi:10.1101/2022.06.30.498289 + - doi:10.1093/molbev/msae068 diff --git a/recipes/easypqp/meta.yaml b/recipes/easypqp/meta.yaml index 908940e435daf..d4de88853b783 100644 --- a/recipes/easypqp/meta.yaml +++ b/recipes/easypqp/meta.yaml @@ -1,6 +1,6 @@ {% set name = "easypqp" %} -{% set version = "0.1.40" %} -{% set sha256 = "9ea5db3d58b7ed49972477240ab079e60cc42488bfccf508d2a74e2d7f357bc5" %} +{% set version = "0.1.49" %} +{% set sha256 = "96fffd59e617de0007f1fbe88ab223d605a7d4a4e94a7b4f4d4a94b4016e327c" %} package: name: {{ name|lower }} @@ -13,11 +13,11 @@ source: build: number: 0 noarch: python - script: {{ PYTHON }} -m pip install . --use-pep517 --no-deps --no-build-isolation -vvv + script: {{ PYTHON }} -m pip install . --no-cache-dir --no-deps --no-build-isolation -vvv entry_points: - easypqp=easypqp.main:cli run_exports: - - {{ pin_subpackage('easypqp', max_pin="x") }} + - {{ pin_subpackage('easypqp', max_pin="x.x") }} requirements: host: @@ -36,7 +36,7 @@ requirements: - pyprophet - pyopenms - matplotlib-base - - seaborn + - seaborn-base - tqdm test: diff --git a/recipes/ebcsgen/meta.yaml b/recipes/ebcsgen/meta.yaml index 959dead71e109..8b7c3b2d211b3 100644 --- a/recipes/ebcsgen/meta.yaml +++ b/recipes/ebcsgen/meta.yaml @@ -1,5 +1,5 @@ {% set name = "eBCSgen" %} -{% set version = "2.1.0" %} +{% set version = "2.2.0" %} package: name: {{ name|lower }} @@ -7,12 +7,14 @@ package: source: url: "https://github.com/sybila/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz" - sha256: 604cac3facc314c01778102ab0285cdc2cdbb75edb8289a6e7cac28e820f0e2a + sha256: 023e2a0a3613ab36e9344d07e589f483283b306be9b760b4827b0807781b0743 build: number: 0 noarch: python script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv + run_exports: + - {{ pin_subpackage('ebcsgen', max_pin="x.x") }} requirements: host: diff --git a/recipes/ebi-eva-common-pyutils/meta.yaml b/recipes/ebi-eva-common-pyutils/meta.yaml new file mode 100644 index 0000000000000..f06b115b8bb5c --- /dev/null +++ b/recipes/ebi-eva-common-pyutils/meta.yaml @@ -0,0 +1,47 @@ +{% set name = "ebi-eva-common-pyutils" %} +{% set version = "0.6.10" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/ebi_eva_common_pyutils-{{ version }}.tar.gz + sha256: f143c703e31f40c94ebe366ba5f8a8247b6c825590ac157a7f5495f36aa7accb + +build: + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + noarch: python + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + host: + - python + - pip + run: + - python + - requests + - lxml + - pyyaml + - cached-property + - retry + +test: + imports: + - ebi_eva_common_pyutils + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/EBIVariation/eva-common-pyutils + summary: EBI EVA - Common Python Utilities + license: Apache-2.0 + license_file: LICENSE + +extra: + recipe-maintainers: + - apriltuesday diff --git a/recipes/edta/build.sh b/recipes/edta/build.sh index 6f788aca9f249..e47cfd13c7302 100644 --- a/recipes/edta/build.sh +++ b/recipes/edta/build.sh @@ -16,5 +16,16 @@ END chmod a+x ${PREFIX}/bin/EDTA.pl for name in ${EDTA_OTHER_PROGRAMS} ; do - ln -s ${PREFIX}/bin/EDTA.pl ${PREFIX}/bin/$(basename $name) + ln -sf ${PREFIX}/bin/EDTA.pl ${PREFIX}/bin/$(basename $name) done + +ln -sf ${EDTA_DIR}/development/EDTA_processI.pl ${PREFIX}/bin/ + +LTR_FINDER_PARALLEL_DIR=${EDTA_DIR}/bin/LTR_FINDER_parallel + +cat <>${PREFIX}/bin/LTR_FINDER_parallel +#!/bin/bash +perl ${LTR_FINDER_PARALLEL_DIR}/LTR_FINDER_parallel \$@ +END + +chmod a+x ${PREFIX}/bin/LTR_FINDER_parallel \ No newline at end of file diff --git a/recipes/edta/meta.yaml b/recipes/edta/meta.yaml index e9f32040263c3..eb2e7f1763bc2 100644 --- a/recipes/edta/meta.yaml +++ b/recipes/edta/meta.yaml @@ -1,6 +1,6 @@ {% set name = "EDTA" %} -{% set version = "2.1.0" %} -{% set sha256 = "d62425df133d7021db57b5b0ecdd38b21ac837c45a8237c0a1ec2da0bd21e6b6" %} +{% set version = "2.2.0" %} +{% set sha256 = "3515667804437f749f0bb934812ca83b23ec5472c221786f6e5a0d4b613a1a7a" %} package: name: "{{ name|lower }}" @@ -13,33 +13,44 @@ source: build: number: 1 noarch: generic + run_exports: + - {{ pin_subpackage('edta', max_pin='x') }} requirements: run: - - perl + - annosine2 + - bedtools + - biopython + - blast - cd-hit + - coreutils + - genericrepeatfinder + - genometools-genometools + - glob2 + - h5py + - hmmer + - irfinder + - keras + - ltr_finder + - ltr_retriever - repeatmodeler - - muscle + - matplotlib-base - mdust - - blast + - minimap2 + - multiprocess + - muscle + - nodejs - openjdk + - pandas + - perl - perl-text-soundex - - multiprocess + - python >=3.8 - regex - - tensorflow ==1.14 - - keras >=2.2.4 - - scikit-learn >=0.19.0 - - biopython - - pandas - - glob2 - - h5py <3 - - python <3.7 + - scikit-learn + - seqtk + - swifter + - tensorflow - tesorter - - genericrepeatfinder - - genometools-genometools - - ltr_retriever - - ltr_finder - - coreutils test: commands: @@ -48,11 +59,20 @@ test: - EDTA_processI.pl -h 2>&1 | grep -i "Perform EDTA" - EDTA_raw.pl -h 2>&1 | grep -i "Obtain raw" - lib-test.pl -h 2>&1 | grep -i "To test" + - LTR_FINDER_parallel -check_dependencies > /dev/null about: home: https://github.com/oushujun/EDTA license: GPL-3.0-only - license_family: GPL + license_family: GPL3 license_file: LICENSE summary: Extensive de-novo TE Annotator dev_url: https://github.com/oushujun/EDTA + doc_url: https://github.com/oushujun/EDTA/wiki + +extra: + identifiers: + - doi:10.1186/s13059-019-1905-y + - doi:10.1101/2022.10.09.511471 + - biotools:EDTA + - usegalaxy-eu:edta diff --git a/recipes/egglib/meta.yaml b/recipes/egglib/meta.yaml index d79bb0ab1732f..5d52f0a65b5c6 100644 --- a/recipes/egglib/meta.yaml +++ b/recipes/egglib/meta.yaml @@ -1,18 +1,21 @@ {% set name = "egglib" %} -{% set version = "3.3.0" %} +{% set version = "3.3.4" %} package: name: "{{ name|lower }}" version: "{{ version }}" source: - url: "https://files.pythonhosted.org/packages/a7/f2/8840daacb59c75d7bf216a8dba18ea38311126925d91d46718426503103d/EggLib-3.3.0.tar.gz" - sha256: 781b8e01d16762026b18514687be40acf68f97cdd975ea670854d74d2f8bd5c5 + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/EggLib-{{ version }}.zip + sha256: 685acf514c2b14d3cc4e21e6ca03951599c77b9c0f6530c417cd717d813fafd7 build: number: 0 - skip: True # [py2k or osx] - script: {{ PYTHON }} -m pip install . -vv + skip: True # [osx] + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv + entry_points: + - egglib-config = egglib.cli.config:main + - egglib-test = egglib.cli.test:main run_exports: - {{ pin_subpackage(name, max_pin='x') }} @@ -27,6 +30,7 @@ requirements: run: - python - platformdirs + - click test: imports: @@ -39,7 +43,7 @@ test: about: home: "https://egglib.org/" - license: "GNU General Public v3 or later (GPLv3+)" + license: "GPL-3.0-or-later" license_family: GPL3 license_file: LICENSE summary: "Evolutionary Genetics and Genomics Library. EggLib is a C++/Python library and program package for evolutionary genetics and genomics. Main features are sequence data management, sequence polymorphism analysis, and coalescent simulations. EggLib is a flexible Python module with a performant underlying C++ library and allows fast and intuitive development of Python programs and scripts." @@ -47,7 +51,10 @@ about: dev_url: "https://gitlab.com/demita/egglib/" extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - ranwez identifiers: - - https://doi.org/10.1111/1755-0998.13672 + - doi:10.1111/1755-0998.13672 + - biotools:egglib diff --git a/recipes/eigensoft/build.sh b/recipes/eigensoft/build.sh index e5d538abac1ba..85a00b34850ed 100644 --- a/recipes/eigensoft/build.sh +++ b/recipes/eigensoft/build.sh @@ -1,6 +1,8 @@ +#!/usr/bin/env bash + set -xeuo pipefail cd src -make all +make -j ${CPU_COUNT} all # Install (makefile install has hard-coded destination, so have to do this manually) mkdir -p $PREFIX/bin diff --git a/recipes/eigensoft/meta.yaml b/recipes/eigensoft/meta.yaml index 346ef87b9d9b4..8f1bc6a86354b 100644 --- a/recipes/eigensoft/meta.yaml +++ b/recipes/eigensoft/meta.yaml @@ -14,7 +14,7 @@ source: - 0003-remove-wrong-cflag.patch # [osx] build: - number: 4 + number: 5 run_exports: - {{ pin_subpackage('eigensoft', max_pin='x.x') }} @@ -44,6 +44,9 @@ about: summary: The EIGENSOFT package implements methods for analzing population structure and performing stratification correction extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - biotools:Eigensoft - doi:10.1371/journal.pgen.0020190 diff --git a/recipes/el_gato/meta.yaml b/recipes/el_gato/meta.yaml index c4ddd980219d7..0c15f3b4c1530 100644 --- a/recipes/el_gato/meta.yaml +++ b/recipes/el_gato/meta.yaml @@ -1,6 +1,6 @@ {% set name = "el_gato" %} -{% set version = "1.14.4" %} -{% set hash = "120b294baa58d833d9973da2d203eb88090a4ecc9538a34b0c5d6c8382cac1a4" %} +{% set version = "1.19.0" %} +{% set hash = "ad390572ce785707b67a00f25978c4032981ac7e6149ddc423443e9189b30e75" %} {% set user = "appliedbinf" %} package: @@ -30,6 +30,7 @@ requirements: - ispcr >=33.0 - nextflow - fpdf2 + - packaging test: commands: diff --git a/recipes/elastic-blast/meta.yaml b/recipes/elastic-blast/meta.yaml index 80e44cda57f33..b573d8e789933 100644 --- a/recipes/elastic-blast/meta.yaml +++ b/recipes/elastic-blast/meta.yaml @@ -1,35 +1,39 @@ -{% set version = "1.2.0" %} +{% set name = "elastic-blast" %} +{% set version = "1.3.1" %} package: - name: elastic-blast + name: {{ name }} version: {{ version }} source: - url: https://files.pythonhosted.org/packages/source/e/elastic-blast/elastic_blast-{{ version }}.tar.gz - sha256: 584238fc79befa4e90625752eeca928db4807a0b2e0f8956d1fa9d35c61c083f + url: https://files.pythonhosted.org/packages/95/5e/00375acbe2a0c666c8643cbbf9c5c7d5ed6c74eea80767f7d4a3f05ffda9/elastic_blast-{{ version }}.tar.gz + sha256: ed64887dedfc1da109ea1ddb05e96c0e0268e6a372656f8412a7bac973e6e31c build: number: 0 - noarch: generic - script: {{ PYTHON }} -m pip install . -vv + noarch: python + script: {{ PYTHON }} -m pip install . -vvv run_exports: - {{ pin_subpackage("elastic-blast", max_pin="x") }} + requirements: host: - pip - - python >=3.7,<3.10 + - python >=3.7 - python-packit - importlib-metadata run: - - python >=3.7,<3.10 + - python >=3.7 - boto3 - awscli - awslimitchecker - tenacity - google-cloud-sdk - - kubernetes-client ==1.18.8 + - kubernetes-client + - importlib-resources ==6.1.1 - importlib-metadata - dataclasses-json + - pex ==2.9.0 test: commands: @@ -39,8 +43,9 @@ test: - gsutil --version - aws --version - kubectl version --client=true + about: - home: https://pypi.org/project/elastic-blast/ + home: https://github.com/ncbi/elastic-blast/ license: Public Domain license_family: PUBLIC-DOMAIN license_file: LICENSE.md diff --git a/recipes/elector/meta.yaml b/recipes/elector/meta.yaml index 5e639b5b4dadb..2f241be4fc74b 100644 --- a/recipes/elector/meta.yaml +++ b/recipes/elector/meta.yaml @@ -13,7 +13,7 @@ source: - elector_utils.patch build: - number: 4 + number: 5 skip: True # [osx or py<30] requirements: diff --git a/recipes/elprep/meta.yaml b/recipes/elprep/meta.yaml index 558cc6c59e921..5a09b0a15db98 100644 --- a/recipes/elprep/meta.yaml +++ b/recipes/elprep/meta.yaml @@ -10,7 +10,9 @@ source: sha256: {{ shasum }} build: - number: 0 + number: 1 + run_exports: + - {{ pin_subpackage('elprep', max_pin="x") }} requirements: build: @@ -22,12 +24,14 @@ test: about: home: https://github.com/ExaScience/elprep - license: AGPL-3.0 + license: AGPL-3.0-only license_family: AGPL license_file: LICENSE.txt summary: 'elPrep is a high-performance tool for preparing .sam/.bam files for variant calling in sequencing pipelines. It can be used as a drop-in replacement for SAMtools/Picard/GATK4.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:Elprep - - doi:10.1371/journal.pone.0244471 + - doi:10.1371/journal.pone.0244471 \ No newline at end of file diff --git a/recipes/emboss/5.0.0/meta.yaml b/recipes/emboss/5.0.0/meta.yaml index 18ae04ae65371..b4ce8b6a22524 100644 --- a/recipes/emboss/5.0.0/meta.yaml +++ b/recipes/emboss/5.0.0/meta.yaml @@ -3,7 +3,7 @@ package: version: "5.0.0" build: - number: 4 + number: 5 source: - url: http://depot.galaxyproject.org/package/linux/x86_64/emboss/emboss-5.0.0-Linux-x86_64.tgz # [linux] diff --git a/recipes/emboss/meta.yaml b/recipes/emboss/meta.yaml index 6d391404b6993..407d3b8396c8c 100644 --- a/recipes/emboss/meta.yaml +++ b/recipes/emboss/meta.yaml @@ -3,8 +3,10 @@ package: version: "6.6.0" build: - number: 7 + number: 10 skip: True # [osx] + run_exports: + - {{ pin_subpackage("emboss", max_pin="x.x") }} source: url: ftp://emboss.open-bio.org/pub/EMBOSS/EMBOSS-6.6.0.tar.gz @@ -19,10 +21,12 @@ requirements: - zlib - libgd - libpng + - libharu run: - zlib - libgd - libpng + - libharu about: home: http://emboss.open-bio.org/ @@ -37,3 +41,6 @@ test: - sixpack --help - seqret --help +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/emu-pca/build_failure.osx-64.yaml b/recipes/emu-pca/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..faf6c61b044ce --- /dev/null +++ b/recipes/emu-pca/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: c8fdd7d1be49e7c2e5e03c78e8ef8e5da084a2de40931b17429baec27d330480 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + ERROR: Failed building wheel for emu + ERROR: Could not build wheels for emu, which is required to install pyproject.toml-based projects + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/emu-pca_1717514596039/work + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/emu-pca_1717514596039/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/emu-pca_1717514596039/_build_env + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/emu-pca_1717514596039/work/conda_build.sh']' returned non-zero exit status 1. + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/emu-pca_1717514596039/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/emu-pca-1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/emu-pca-1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + Using pip 24.0 from $PREFIX/lib/python3.12/site-packages/pip (python 3.12) + Non-user install because user site-packages disabled + Ignoring indexes: https://pypi.org/simple + Created temporary directory: /private/tmp/pip-build-tracker-pcf71fuv + Initialized build tracking at /private/tmp/pip-build-tracker-pcf71fuv + Created build tracker: /private/tmp/pip-build-tracker-pcf71fuv + Entered build tracker: /private/tmp/pip-build-tracker-pcf71fuv + Created temporary directory: /private/tmp/pip-install-_4p1fpa8 + Created temporary directory: /private/tmp/pip-ephem-wheel-cache-pg6d97ox + Processing $SRC_DIR + Added file://$SRC_DIR to build tracker '/private/tmp/pip-build-tracker-pcf71fuv' + Created temporary directory: /private/tmp/pip-modern-metadata-x9ykve7d + Preparing metadata (pyproject.toml): started + Preparing metadata (pyproject.toml): finished with status 'done' + Source in $SRC_DIR has version 1.0, which satisfies requirement emu==1.0 from file://$SRC_DIR + Removed emu==1.0 from file://$SRC_DIR from build tracker '/private/tmp/pip-build-tracker-pcf71fuv' + Created temporary directory: /private/tmp/pip-unpack-ylygux9m + Building wheels for collected packages: emu + Created temporary directory: /private/tmp/pip-wheel-f2hnm5l2 + Destination directory: /private/tmp/pip-wheel-f2hnm5l2 + Building wheel for emu (pyproject.toml): started + Building wheel for emu (pyproject.toml): finished with status 'error' + Failed to build emu + Exception information: + Traceback (most recent call last): + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper + status = run_func(*args) + ^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper + return func(self, options, args) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/commands/install.py", line 429, in run + raise InstallationError( + pip._internal.exceptions.InstallationError: Could not build wheels for emu, which is required to install pyproject.toml-based projects + Removed build tracker: '/private/tmp/pip-build-tracker-pcf71fuv' +# Last 100 lines of the build log. diff --git a/recipes/emu-pca/meta.yaml b/recipes/emu-pca/meta.yaml new file mode 100644 index 0000000000000..3606b1fe2ba7c --- /dev/null +++ b/recipes/emu-pca/meta.yaml @@ -0,0 +1,40 @@ +{% set name = "emu-pca" %} +{% set version = "1.0" %} + +package: + name: "{{ name|lower }}" + version: {{ version }} + +source: + url: 'https://github.com/Rosemeis/emu/archive/refs/tags/v{{ version }}.tar.gz' + md5: b79e9a2f72b8b83361a5542edc1c4ca7 + +build: + number: 1 + script: + - "{{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation" + run_exports: + {{ pin_subpackage('emu-pca', max_pin="x") }} + +requirements: + build: + - {{ compiler('c') }} + host: + - pip + - python + - cython + - numpy + run: + - python + +test: + commands: + - emu --help + +about: + home: https://github.com/Rosemeis/emu + license: GPL-3.0-only + license_file: LICENSE + summary: EM-PCA for Ultra-low Coverage Sequencing Data. + dev_url: https://github.com/Rosemeis/emu + diff --git a/recipes/emu/meta.yaml b/recipes/emu/meta.yaml index ad6bd76d68361..b3c8730ce7056 100644 --- a/recipes/emu/meta.yaml +++ b/recipes/emu/meta.yaml @@ -1,18 +1,21 @@ {% set name = "emu" %} -{% set version = "3.4.5" %} +{% set version = "3.5.0" %} package: name: "{{ name|lower }}" version: "{{ version }}" source: - url: 'https://gitlab.com/treangenlab/emu/-/archive/v{{version}}/emu-v{{version}}.tar.gz' - sha256: a77a3d362384d8e12bbb5f75dc74eaf0f04faec1e4f69195b9e92bc7c025296e + url: 'https://github.com/treangenlab/emu/archive/refs/tags/v{{version}}.tar.gz' + sha256: 3e26d6f66dfd7e0ff1bc63cefb8a4a08bbed4726b8c0002bf0e34abed7a18ed0 build: noarch: generic number: 0 script: mkdir -p ${PREFIX}/bin && cp emu ${PREFIX}/bin + + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: run: @@ -36,7 +39,7 @@ test: - emu --help about: - home: https://gitlab.com/treangenlab/emu + home: https://github.com/treangenlab/emu license: MIT license_file: LICENSE.txt summary: Emu is a relative abundance estimator for 16s genomic data. diff --git a/recipes/ena-upload-cli/meta.yaml b/recipes/ena-upload-cli/meta.yaml index e23c26eeacfdd..3c6fd85b48c5f 100644 --- a/recipes/ena-upload-cli/meta.yaml +++ b/recipes/ena-upload-cli/meta.yaml @@ -1,13 +1,13 @@ {% set name = "ena-upload-cli" %} -{% set version = "0.6.3" %} +{% set version = "0.7.4" %} package: name: "{{ name|lower }}" version: "{{ version }}" source: - url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 199bff6a60d7c7d81da88545e909b87e487911edc15e54f90ce20b424091b957 + url: "https://github.com/usegalaxy-eu/ena-upload-cli/archive/refs/tags/{{ version }}.tar.gz" + sha256: da6b07a681ae6c9ac61ca5b3e7e6fe8a5ed3f0ed7bae64936e19b33dfb2782bc build: number: 0 @@ -21,15 +21,17 @@ build: requirements: host: - pip - - python >=3.5 + - python >=3.7 run: - genshi ==0.7.* - lxml >=4.9.3,<=5.0.0 - pandas >=2.0.3,<=3.0.0 - - pyyaml ==5.* + - pyyaml ==5.3.* - requests >=2.31.0,<=3.0.0 - openpyxl >=3.1.2,<=4.0.0 - - python >=3.5 + - jsonschema >=4.19.1 + - pytest ==7.4.* + - python >=3.7 test: imports: diff --git a/recipes/ena-webin-cli/meta.yaml b/recipes/ena-webin-cli/meta.yaml index 249da97616a98..128ccec88844c 100644 --- a/recipes/ena-webin-cli/meta.yaml +++ b/recipes/ena-webin-cli/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "6.7.2" %} -{% set sha256 = "f45f9e54813711b6ea57130efae83a3381b2a3c66debd6d941fc1d9a85c69c6e" %} +{% set version = "8.1.0" %} +{% set sha256 = "591f2e9b6536d1eb5ca7f94c11d81267118978261f6bc41ce226dd81b68d5340" %} package: name: ena-webin-cli diff --git a/recipes/encode-blacklist/meta.yaml b/recipes/encode-blacklist/meta.yaml index 43bf5b3d2e40a..0104c2736ae6b 100644 --- a/recipes/encode-blacklist/meta.yaml +++ b/recipes/encode-blacklist/meta.yaml @@ -12,7 +12,7 @@ source: - Makefile.patch build: - number: 4 + number: 5 requirements: build: diff --git a/recipes/ensembl-utils/meta.yaml b/recipes/ensembl-utils/meta.yaml new file mode 100644 index 0000000000000..77bbd0f6413b6 --- /dev/null +++ b/recipes/ensembl-utils/meta.yaml @@ -0,0 +1,54 @@ +{% set name = "ensembl-utils" %} +{% set version = "0.5.1" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/ensembl_utils-{{ version }}.tar.gz + sha256: 613d0f9584993aaacab42379b57b0ccbeac9f9269a99c186dddf84d396bc3c86 + +build: + entry_points: + - extract_file = ensembl.utils.archive:extract_file_cli + noarch: python + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + host: + - python >=3.10 + - setuptools-scm + - pip + run: + - python >=3.10 + - python-dotenv >=0.19.2 + - pyyaml >=6.0,<7.0 + - requests >=2.22.0 + - pytest + - sqlalchemy >=1.4.0,<2.0 + - sqlalchemy-utils + +test: + imports: + - ensembl.utils + commands: + - extract_file --help + +about: + home: https://www.ensembl.org/ + summary: Ensembl Python general-purpose utils + license: Apache-2.0 + license_file: + - NOTICE + - LICENSE + license_family: APACHE + doc_url: https://ensembl.github.io/ensembl-utils/ + dev_url: "https://github.com/Ensembl/ensembl-utils" + +extra: + identifiers: + - biotools:Ensembl diff --git a/recipes/ensembl-vep/build.sh b/recipes/ensembl-vep/build.sh index 839b486b3b945..36e0764a81cce 100644 --- a/recipes/ensembl-vep/build.sh +++ b/recipes/ensembl-vep/build.sh @@ -14,8 +14,9 @@ sed -i.bak 's@/convert_cache.pl@/vep_convert_cache@' INSTALL.pl # Find plugins in install directory sed -i.bak "s@'dir_plugins=s,'@'dir_plugins=s' => (\$RealBin || []),@" vep # Change location where INSTALL.pl looks for the zlib headers -sed -i -e "s@/usr/include/zlib.h@${PREFIX}/include@" INSTALL.pl +sed -i.bak -e "s@/usr/include/zlib.h@${PREFIX}/include@" INSTALL.pl +rm *.bak # Copy executables & modules cp convert_cache.pl $target/vep_convert_cache @@ -24,10 +25,10 @@ cp filter_vep $target/filter_vep cp vep $target/vep cp haplo $target/haplo cp variant_recoder $target/variant_recoder -cp -r modules $target/modules +cp -rf modules $target/modules chmod 0755 $target/ -ln -s $target/* $PREFIX/bin +ln -sf $target/* $PREFIX/bin cd $target # Use external Bio::DB::HTS::Faidx instead of compiling interally @@ -50,5 +51,5 @@ mv loftee-*/*.pl . mv loftee-*/*.pm . mv loftee-*/maxEntScan . mv loftee-*/splice_data . -rm -f loftee.tar.gz +rm -rf loftee.tar.gz rm -rf loftee-* diff --git a/recipes/ensembl-vep/meta.yaml b/recipes/ensembl-vep/meta.yaml index 85160b5f607d6..4bb5ccbc704d1 100644 --- a/recipes/ensembl-vep/meta.yaml +++ b/recipes/ensembl-vep/meta.yaml @@ -1,29 +1,30 @@ -{% set version="110.1" %} +{% set name = "ensembl-vep" %} +{% set version = "112.0" %} package: - name: ensembl-vep + name: {{ name }} version: {{ version }} source: url: https://github.com/Ensembl/ensembl-vep/archive/release/{{ version }}.tar.gz - sha256: 95b2238209bc9acfa01d4eff202dfbc22e8935abc64b750ea93d1c354a438bae + sha256: aaa1dc9815f41fec4efd466fcb6607bdfcd407b4f1b07b412412e93cc1bd0f40 build: number: 0 noarch: generic - + run_exports: + - {{ pin_subpackage('ensembl-vep', max_pin="x") }} + requirements: - build: - - curl host: - perl - perl-archive-zip + - perl-dbi - perl-lwp-simple + - curl - unzip - - perl-dbi run: - perl - - htslib - perl-bioperl >=1.7.2 - perl-bio-db-hts >=2.11 - perl-dbi @@ -34,6 +35,7 @@ requirements: - perl-sereal - perl-set-intervaltree - perl-text-csv + - htslib - unzip test: @@ -45,12 +47,17 @@ test: - variant_recoder --help about: - home: http://www.ensembl.org/info/docs/tools/vep/index.html - license: Apache-2.0 - summary: Ensembl Variant Effect Predictor - description: The VEP determines the effect of your variants (SNPs, insertions, deletions, CNVs or structural variants) on genes, transcripts, and protein sequence, as well as regulatory regions. + home: "https://www.ensembl.org/info/docs/tools/vep/index.html" + license: "Apache-2.0" + license_family: APACHE + summary: "Ensembl Variant Effect Predictor" + description: "The VEP determines the effect of your variants (SNPs, insertions, deletions, CNVs or structural variants) on genes, transcripts, and protein sequence, as well as regulatory regions." + doc_url: "https://useast.ensembl.org/info/docs/tools/vep/script/vep_tutorial.html" + dev_url: "https://github.com/Ensembl/ensembl-vep" extra: + identifiers: + - biotools:vep notes: | This package installs only the variant effect predictor (VEP) library code. To install data libraries, you can use the 'vep_install' command diff --git a/recipes/entrez-direct/build.sh b/recipes/entrez-direct/build.sh index 9771c20b4c018..99a82f92a55e0 100644 --- a/recipes/entrez-direct/build.sh +++ b/recipes/entrez-direct/build.sh @@ -3,18 +3,24 @@ # Keep track of the process set -uex +mkdir bin nobin +# Don't install these most bespoke scripts +mv custom-* idx-* pm-* xy-* nobin +# Move ordinary scripts into a subdirectory for convenience +mv $(find * -type d -prune -o -print | sed '/^[A-Z]/d;/[.]pdf$/d;/[.]pem$/d;/[.]py$/d;/conda/d;/build/d') bin + mkdir -p $PREFIX/bin -mv * $PREFIX/bin -mkdir -p "$PREFIX/home" -export HOME="$PREFIX/home" +(cd cmd && sh -ex ./build.sh $PREFIX/bin) +(cd extern && sh -ex ./build.sh $PREFIX/bin) -# Needs to run in the install folder -cd ${PREFIX}/bin +# Ensure conda-build can tidy up this compiler cache tree +test -d gopath && chmod -R u+wX gopath -sh install.sh +mkdir -p $PREFIX/bin/data $PREFIX/bin/help +install -m 644 data/* $PREFIX/bin/data +install -m 644 help/* $PREFIX/bin/help -# clean up -rm -rf eutils cmd -rm -rf *.log *.go *.yaml setup.sh install.sh *.gz *.pdf -rm -rf idx-* index-* pm-* custom* xy-* CA.pm cacert.pem +install -m 755 bin/* $PREFIX/bin +echo "Check for additional scripts to be installed to .../bin" +ls diff --git a/recipes/entrez-direct/meta.yaml b/recipes/entrez-direct/meta.yaml index 9c509fc7a21c3..85cec6100e239 100644 --- a/recipes/entrez-direct/meta.yaml +++ b/recipes/entrez-direct/meta.yaml @@ -1,21 +1,23 @@ -{% set version = "16.2" %} -{% set date = "20211103" %} -{% set sha256 = "42124ac5aa9aed2bb399b064ad4dfe418b9facb6f61eef95ac7e92e7cc410dd3" %} +{% set name = "entrez-direct" %} +{% set version = "22.4" %} +{% set date = "20240717" %} +{% set sha256 = "350b47cd285aa8370f8af7fc2f3d4a11f31d8118f3f9cb87204063c9f3374739" %} package: - name: entrez-direct + name: {{ name }} version: {{ version }} build: - number: 1 + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} source: - url: https://raw.githubusercontent.com/biostars/conda-ready-entrez-direct/main/dist/edirect-16.2.20211103.tar.gz + url: https://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect/versions/{{ version }}.{{ date }}/edirect.tar.gz sha256: {{ sha256 }} requirements: build: - # The installer script downloads statically compiled binaries, so this is effectively just avoiding linter errors - {{ compiler('go') }} run: - wget @@ -29,13 +31,18 @@ test: - esearch --help - elink --help - esummary --help + - rchive -version + - transmute -version - xtract -version about: - home: ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect/versions/{{ version }}.{{ date }}/README + home: https://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect/versions/{{ version }}.{{ date }}/README license: PUBLIC DOMAIN summary: Entrez Direct (EDirect) is an advanced method for accessing the NCBI's set of interconnected databases (publication, sequence, structure, gene, variation, expression, etc.) from a UNIX terminal window. Functions take search terms from command-line arguments. Individual operations are combined to build multi-step queries. Record retrieval and formatting normally complete the process. extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 container: extended-base: True diff --git a/recipes/entrez-direct/xtract.patch b/recipes/entrez-direct/xtract.patch deleted file mode 100644 index 5a9c413eb66a8..0000000000000 --- a/recipes/entrez-direct/xtract.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- setup.sh 2019-10-18 19:50:47.000000000 +0200 -+++ setup.sh.new 2020-02-03 08:32:53.591369832 +0100 -@@ -62,7 +62,8 @@ - - if [ -f xtract."$platform" ] - then -- chmod +x xtract."$platform" -+ mv xtract."$osname" xtract -+ chmod +x xtract - else - echo "Unable to download xtract executable." - fi -@@ -113,17 +114,4 @@ - | tee $advice - fi - --if [ -z "$prfx" ] --then --echo "" --echo "or manually edit the PATH variable assignment in your .bash_profile file." --echo "" --echo "Would you like to do that automatically now? [y/N]" --read response --case "$response" in -- [Yy]* ) . $advice; echo "OK, done." ;; -- [Nn]* | '' ) echo "Holding off, then." ;; -- * ) echo "Conservatively taking that as a no." ;; --esac --fi - rm $advice diff --git a/recipes/ephemeris/meta.yaml b/recipes/ephemeris/meta.yaml index 23825c1b8f8f3..e6929208c86a9 100644 --- a/recipes/ephemeris/meta.yaml +++ b/recipes/ephemeris/meta.yaml @@ -1,42 +1,53 @@ +{% set name = "ephemeris" %} +{% set version = "0.10.10" %} + package: - name: ephemeris - version: "0.10.8" + name: {{ name }} + version: {{ version }} source: - url: https://files.pythonhosted.org/packages/92/56/0544ef43ecb994e543a81f68bbe65dd0ccaf1a21eaa3706a75190f4ba256/ephemeris-0.10.8.tar.gz - sha256: dd19c739ddb83ffbfa7d23b63e979f26602af2282c21a799cc52ea4342d62d37 + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/ephemeris-{{ version }}.tar.gz + sha256: 397599341949e359c5dc1cb6bf8b4be06b14cc3d2e8fb404a3421f37d17c2b44 build: number: 0 noarch: python - preserve_egg_dir: True entry_points: - - get-tool-list=ephemeris.get_tool_list_from_galaxy:main - - shed-tools=ephemeris.shed_tools:main - - workflow-install=ephemeris.workflow_install:main - - run-data-managers=ephemeris.run_data_managers:main - - workflow-to-tools=ephemeris.generate_tool_list_from_ga_workflow_files:main - - setup-data-libraries=ephemeris.setup_data_libraries:main - - galaxy-wait=ephemeris.sleep:main - script: python -m pip install --no-deps --ignore-installed . + - get-tool-list = ephemeris.get_tool_list_from_galaxy:main + - shed-tools = ephemeris.shed_tools:main + - workflow-install = ephemeris.workflow_install:main + - run-data-managers = ephemeris.run_data_managers:main + - workflow-to-tools = ephemeris.generate_tool_list_from_ga_workflow_files:main + - setup-data-libraries = ephemeris.setup_data_libraries:main + - galaxy-wait = ephemeris.sleep:main + - install_tool_deps = ephemeris.install_tool_deps:main + - install-tool-deps = ephemeris.install_tool_deps:main + - set-library-permissions = ephemeris.set_library_permissions:main + - _idc-lint = ephemeris._idc_lint:main + - _idc-split-data-manager-genomes = ephemeris._idc_split_data_manager_genomes:main + - _idc-data-managers-to-tools = ephemeris._idc_data_managers_to_tools:main + script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation . -vvv + run_exports: + - {{ pin_subpackage('ephemeris', max_pin="x.x") }} requirements: host: - - python + - python >=3.7 - pip run: - - python + - python >=3.7 - pyyaml - six >=1.9.0 - bioblend >=0.10.0 - jinja2 - - galaxy-tool-util >=20.5.0 - - galaxy-util >=20.5.0 + - galaxy-tool-util >=20.9.1 + - galaxy-util >=20.9.0 + - pysam + - rich test: imports: - ephemeris - commands: - get-tool-list --help - shed-tools --help @@ -45,9 +56,13 @@ test: - workflow-to-tools --help - setup-data-libraries --help - galaxy-wait --help + - install_tool_deps --help + - install-tool-deps --help + - set-library-permissions --help about: home: https://github.com/galaxyproject/ephemeris license: Academic Free License (AFL) summary: 'Ephemeris is an opinionated library and set of scripts for managing the bootstrapping of Galaxy project plugins - tools, index data, and workflows.' license_family: OTHER + doc_url: https://ephemeris.readthedocs.io/en/latest/ diff --git a/recipes/epic2/meta.yaml b/recipes/epic2/meta.yaml index bf674d7045e4c..bafbd7682eb1c 100644 --- a/recipes/epic2/meta.yaml +++ b/recipes/epic2/meta.yaml @@ -11,9 +11,11 @@ source: sha256: '{{ hash_value }}' build: - number: 6 + number: 8 # Compilation errors on OSX skip: True # [osx or py27] + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} requirements: build: @@ -25,6 +27,7 @@ requirements: - setuptools - pysam - htslib + - zlib run: - python - scipy @@ -47,6 +50,8 @@ about: summary: 'Ultraperformant Chip-Seq broad domain finder based on SICER.' extra: + additional-platforms: + - linux-aarch64 identifiers: - doi:10.1093/bioinformatics/btz232 recipe-maintainers: diff --git a/recipes/epicseg/build_failure.linux-64.yaml b/recipes/epicseg/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..45565432d9a6c --- /dev/null +++ b/recipes/epicseg/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 4e8291e324315102dfd7965b671810693a072508ebc68cbb1d66cbefff5ef4fb # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + ELFEDIT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-elfedit + GPROF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gprof + LD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld + LD_GOLD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld.gold + NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-nm + OBJCOPY=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objcopy + OBJDUMP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objdump + RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib + READELF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-readelf + SIZE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-size + STRINGS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strings + STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip + INFO: activate-gcc_linux-64.sh made the following environmental changes: + BUILD=x86_64-conda-linux-gnu + CC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/epicseg-1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH=$PREFIX;$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=$PREFIX:$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot/usr + CONDA_BUILD_SYSROOT=$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot + CONDA_TOOLCHAIN_BUILD=x86_64-conda-linux-gnu + CONDA_TOOLCHAIN_HOST=x86_64-conda-linux-gnu + CPP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cpp + CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include + DEBUG_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/epicseg-1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem $PREFIX/include + GCC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc + GCC_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar + GCC_NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-nm + GCC_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib + HOST=x86_64-conda-linux-gnu + LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_cos6_linux_gnu + build_alias=x86_64-conda-linux-gnu + host_alias=x86_64-conda-linux-gnu + -BUILD=x86_64-conda_cos6-linux-gnu + -CONDA_BUILD_SYSROOT= + During startup - Warning message: + Setting LC_TIME failed, using "C" + * installing to library /opt/conda/conda-bld/epicseg_1717710840584/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/R/library + * installing *source* package epicseg ... + ** using staged installation + ** libs + using C compiler: x86_64-conda-linux-gnu-c (conda-forge gcc 13.2.0-7) 13.2.0 + using C11 + x86_64-conda-linux-gnu-c -std=gnu11 -I"$PREFIX/lib/R/include" -DNDEBUG -fopenmp -I'$PREFIX/lib/R/library/Rcpp/include' -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -I$PREFIX/include -Wl,-rpath-link,$PREFIX/lib -fpic -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/r-base-split_1714471492496/work=/usr/local/src/conda/r-base-4.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c RcppExports.cpp -o RcppExports.o + x86_64-conda-linux-gnu-c -std=gnu11 -I"$PREFIX/lib/R/include" -DNDEBUG -fopenmp -I'$PREFIX/lib/R/library/Rcpp/include' -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -I$PREFIX/include -Wl,-rpath-link,$PREFIX/lib -fpic -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/r-base-split_1714471492496/work=/usr/local/src/conda/r-base-4.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c misc.cpp -o misc.o + In file included from clist.h:2, + from misc.cpp:4: + array.h: In function 'void dgemm(Mat&, Mat&, Mat&, double, double, bool, bool)': + array.h:277:20: error: too few arguments to function 'void dgemm_(const char*, const char*, const int*, const int*, const int*, const double*, const double*, const int*, const double*, const int*, const double*, double*, const int*, size_t, size_t)' + 277 | F77_CALL(dgemm)(TA, TB, &M, &N, &K, &alpha, A.ptr, &A.nrow, + | ^ + In file included from /opt/conda/conda-bld/epicseg_1717710840584/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/R/include/R.h:78, + from /opt/conda/conda-bld/epicseg_1717710840584/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/R/library/Rcpp/include/Rcpp/r/headers.h:66, + from /opt/conda/conda-bld/epicseg_1717710840584/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/R/library/Rcpp/include/RcppCommon.h:30, + from /opt/conda/conda-bld/epicseg_1717710840584/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/R/library/Rcpp/include/Rcpp.h:27, + from misc.cpp:1: + /opt/conda/conda-bld/epicseg_1717710840584/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/R/include/R_ext/BLAS.h:207:10: note: declared here + 207 | F77_NAME(dgemm)(const char *transa, const char *transb, const int *m, + | ^~~~~ + /opt/conda/conda-bld/epicseg_1717710840584/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/R/include/R_ext/RS.h:77:25: note: in definition of macro 'F77_CALL' + 77 | # define F77_CALL(x) x ## _ + | ^ + /opt/conda/conda-bld/epicseg_1717710840584/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/R/include/R_ext/BLAS.h:207:1: note: in expansion of macro 'F77_NAME' + 207 | F77_NAME(dgemm)(const char *transa, const char *transb, const int *m, + | ^~~~~~~~ + array.h: In function 'void dgemv(Mat, Vec, Vec, double, double, bool)': + array.h:294:20: error: too few arguments to function 'void dgemv_(const char*, const int*, const int*, const double*, const double*, const int*, const double*, const int*, const double*, double*, const int*, size_t)' + 294 | F77_CALL(dgemv)(T, &A.nrow, &A.ncol, &alpha, A.ptr, &A.nrow, X.ptr, &one, + | ^ + /opt/conda/conda-bld/epicseg_1717710840584/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/R/include/R_ext/BLAS.h:107:10: note: declared here + 107 | F77_NAME(dgemv)(const char *trans, const int *m, const int *n, + | ^~~~~ + /opt/conda/conda-bld/epicseg_1717710840584/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/R/include/R_ext/RS.h:77:25: note: in definition of macro 'F77_CALL' + 77 | # define F77_CALL(x) x ## _ + | ^ + /opt/conda/conda-bld/epicseg_1717710840584/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/R/include/R_ext/BLAS.h:107:1: note: in expansion of macro 'F77_NAME' + 107 | F77_NAME(dgemv)(const char *trans, const int *m, const int *n, + | ^~~~~~~~ + make: *** [/opt/conda/conda-bld/epicseg_1717710840584/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/R/etc/Makeconf:200: misc.o] Error 1 + ERROR: compilation failed for package epicseg + * removing /opt/conda/conda-bld/epicseg_1717710840584/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/R/library/epicseg + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/epicseg_1717710840584/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/epicseg/build_failure.osx-64.yaml b/recipes/epicseg/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..d1c9c61cbd30e --- /dev/null +++ b/recipes/epicseg/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 4e8291e324315102dfd7965b671810693a072508ebc68cbb1d66cbefff5ef4fb # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + | ^ + /opt/mambaforge/envs/bioconda/conda-bld/epicseg_1717699192253/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/R/include/R_ext/RS.h:77:22: note: expanded from macro 'F77_CALL' + 77 | # define F77_CALL(x) x ## _ + | ^ + :313:1: note: expanded from here + 313 | dgemv_ + | ^ + 2 errors generated. + make: *** [/opt/mambaforge/envs/bioconda/conda-bld/epicseg_1717699192253/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/R/etc/Makeconf:200: misc.o] Error 1 + ERROR: compilation failed for package epicseg + * removing /opt/mambaforge/envs/bioconda/conda-bld/epicseg_1717699192253/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/R/library/epicseg + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/epicseg_1717699192253/work + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/epicseg_1717699192253/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/epicseg_1717699192253/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/epicseg_1717699192253/work + api.build( + INFO: activate-gfortran_osx-64.sh made the following environmental changes: + DEBUG_FFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/epicseg-1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fimplicit-none -fvar-tracking-assignments + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + DEBUG_FORTRANFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/epicseg-1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fimplicit-none -fvar-tracking-assignments + F77=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + F90=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + F95=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + FC=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + FC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + FFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/epicseg-1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/epicseg_1717699192253/work/conda_build.sh']' returned non-zero exit status 1. + FORTRANFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/epicseg-1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + GFORTRAN=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/epicseg-1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/epicseg-1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/epicseg-1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/epicseg-1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + INFO: activate_clang_osx-64.sh made the following environmental changes: + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + -CC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + -CMAKE_ARGS=-DCMAKE_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + -OBJC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + x86_64-apple-darwin13.4.0-clang -std=gnu11 -I"$PREFIX/lib/R/include" -DNDEBUG -fopenmp -I'$PREFIX/lib/R/library/Rcpp/include' -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I$PREFIX/include -fPIC -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=/Users/runner/miniforge3/conda-bld/r-base-split_1714471796105/work=/usr/local/src/conda/r-base-4.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c RcppExports.cpp -o RcppExports.o + x86_64-apple-darwin13.4.0-clang -std=gnu11 -I"$PREFIX/lib/R/include" -DNDEBUG -fopenmp -I'$PREFIX/lib/R/library/Rcpp/include' -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I$PREFIX/include -fPIC -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=/Users/runner/miniforge3/conda-bld/r-base-split_1714471796105/work=/usr/local/src/conda/r-base-4.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c misc.cpp -o misc.o +# Last 100 lines of the build log. diff --git a/recipes/epicseg/meta.yaml b/recipes/epicseg/meta.yaml index 663290ef901f9..4b2ac0515cc8b 100644 --- a/recipes/epicseg/meta.yaml +++ b/recipes/epicseg/meta.yaml @@ -10,7 +10,7 @@ source: sha256: e3094ad54044c19a9c7fd027c4b64c9ae7793bed84cec3442aedf495d0fb4b2b build: - number: 8 + number: 9 rpaths: - lib/R/lib/ - lib/ diff --git a/recipes/epik/build.sh b/recipes/epik/build.sh new file mode 100644 index 0000000000000..f82392be5b449 --- /dev/null +++ b/recipes/epik/build.sh @@ -0,0 +1,24 @@ +#!/bin/bash +set -ex + +export CPLUS_INCLUDE_PATH=${PREFIX}/include +export CPP_INCLUDE_PATH=${PREFIX}/include +export CXX_INCLUDE_PATH=${PREFIX}/include + +#to ensure zlib location +export CFLAGS="$CFLAGS -I$PREFIX/include" +export LDFLAGS="$LDFLAGS -L$PREFIX/lib" + +mkdir -p $PREFIX/bin +mkdir -p $PREFIX/lib + +cmake -B build -DBUILD_SHARED_LIBS=ON --install-prefix=$PREFIX +cmake --build build --target all -j ${CPU_COUNT} +cmake --install build + +ls $PREFIX/bin +ls $PREFIX/lib + +chmod +x $PREFIX/bin/epik-aa +chmod +x $PREFIX/bin/epik-dna +chmod +x $PREFIX/bin/epik.py diff --git a/recipes/epik/epik-aarch64.patch b/recipes/epik/epik-aarch64.patch new file mode 100644 index 0000000000000..843a9e88658ee --- /dev/null +++ b/recipes/epik/epik-aarch64.patch @@ -0,0 +1,23 @@ +diff --git i/epik/include/epik/place.h w/epik/include/epik/place.h +index d348755..e78beea 100644 +--- i/epik/include/epik/place.h ++++ w/epik/include/epik/place.h +@@ -7,7 +7,17 @@ + #include + #include + +-#ifdef __clang__ ++#ifdef __ARM_NEON ++ ++#include ++ ++namespace epik::impl ++{ ++ using lwr_type = long double; ++ extern long double (*powl)(long double, long double); ++} ++ ++#elif defined(__clang__) + /// Clang still does not fully support boost::multiprecion. + /// We use floats instead despite of known precion-related + /// issues in rare cases diff --git a/recipes/epik/meta.yaml b/recipes/epik/meta.yaml new file mode 100644 index 0000000000000..2be6f602946ce --- /dev/null +++ b/recipes/epik/meta.yaml @@ -0,0 +1,48 @@ +{% set name = "EPIK" %} +{% set version = "0.2.0" %} +{% set sha256 = "33db0a0fec8e89950110ea8c910947e00e224117dcba2a78d9347f61da4fe1cb" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/phylo42/{{ name|lower }}/releases/download/v{{ version }}/EPIK-v{{ version }}_src_for_bioconda.tar.gz + sha256: {{ sha256 }} + patches: + - epik-aarch64.patch + +build: + number: 1 + run_exports: + - {{ pin_subpackage('epik', max_pin="x.x") }} + +requirements: + build: + - make + - {{ compiler('cxx') }} + - cmake + - llvm-openmp # [osx] + host: + - boost-cpp =1.85 + - zlib + - rapidjson + run: + - boost-cpp =1.85 + - llvm-openmp # [osx] + - python + - click + + +about: + home: https://github.com/phylo42/epik + license: MIT + license_family: MIT + license_file: LICENSE + summary: "EPIK is a tool for fast alignement-free phylogenetic placements." + description: "EPIK uses pre-computed phylo-k-mers indexes (see package IPK) to rapidly place large amounts of sequences on a fixed phylogenetic tree. Please cite: doi.org/10.1093/bioinformatics/btad692" + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 \ No newline at end of file diff --git a/recipes/epik/run_test.sh b/recipes/epik/run_test.sh new file mode 100644 index 0000000000000..d35e1baf13fad --- /dev/null +++ b/recipes/epik/run_test.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +PASS=true + +# A +echo "test A" +command -v epik-dna +if [ $? -ne 0 ]; then + echo "failed" + PASS=false +fi + +# B +echo "test B" +command -v epik-aa +if [ $? -ne 0 ]; then + echo "failed" + PASS=false +fi + +# C +echo "test C" +epik-dna 2>&1 | grep "Evolutionary Placement with Informative K-mers" +if [ $? -ne 0 ]; then + echo "failed" + PASS=false +fi + +#D +echo "test D" +epik.py place --help +if [ $? -ne 0 ]; then + echo "failed" + PASS=false +fi + diff --git a/recipes/epiweeks/meta.yaml b/recipes/epiweeks/meta.yaml index a4234b5846380..33383ba6b530a 100644 --- a/recipes/epiweeks/meta.yaml +++ b/recipes/epiweeks/meta.yaml @@ -1,5 +1,5 @@ {% set name = "epiweeks" %} -{% set version = "2.2.0" %} +{% set version = "2.3.0" %} package: name: "{{ name|lower }}" @@ -7,19 +7,21 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: e6f6de0952b36b7dd50d2a2eed7937f654cc50823329664d333ee753bbc5d026 + sha256: 3c64ee0b217d0a03f0896fce3c35b73c848c3717790504893cb4eb61b9364bac build: number: 0 noarch: python script: {{ PYTHON }} -m pip install . -vv + run_exports: + - {{ pin_subpackage('epiweeks', max_pin="x") }} requirements: host: + - python >=3.8 - pip - - python >=3.7 run: - - python >=3.7 + - python >=3.8 test: imports: diff --git a/recipes/ervdetective/meta.yaml b/recipes/ervdetective/meta.yaml new file mode 100644 index 0000000000000..5cd124d3d26dd --- /dev/null +++ b/recipes/ervdetective/meta.yaml @@ -0,0 +1,48 @@ +{% set name = "ervdetective" %} +{% set version = "1.0.8" %} + +package: + name: "{{ name }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: 3438eaf219dc78c51f7711dc420b6f7cc7d71ec4b6608573a11df1dac8f407d4 + +build: + number: 0 + noarch: python + run_exports: + - {{ pin_subpackage('ervdetective', max_pin="x") }} + + script: $PYTHON setup.py install --single-version-externally-managed --record=record.txt + + +requirements: + host: + - python >=3.6 + - pip + - setuptools + + run: + - python >=3.6 + - biopython >=1.77 + - psutil >=5.9.1 + - blast >=2.9.0 + - genometools-genometools >=1.6.1 + - hmmer >=3.0 + +test: + commands: + - ervdetective --help + +about: + home: "https://github.com/ZhijianZhou01/ervdetective" + license: "LGPL-2.1-or-later" + license_family: "LGPL" + license_file: LICENSE + summary: "An efficient pipeline for identification and annotation of endogenous retroviruses (ERVs)." + +extra: + recipe-maintainers: + - ZhijianZhou01 diff --git a/recipes/eskrim/meta.yaml b/recipes/eskrim/meta.yaml new file mode 100644 index 0000000000000..6728087045e83 --- /dev/null +++ b/recipes/eskrim/meta.yaml @@ -0,0 +1,36 @@ +{% set name = "eskrim" %} +{% set version = "1.0.9" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/eskrim-{{ version }}.tar.gz + sha256: de2888bc281f4d2e7e66e1219cce0c1a193f82873ecb35e47e8882a31331b5dc + +build: + noarch: python + number: 0 + script: {{ PYTHON }} -m pip install . --no-deps -vv + run_exports: + - {{ pin_subpackage('eskrim', max_pin="x.x") }} + +requirements: + host: + - python >=3.12 + - poetry + run: + - python >=3.12 + - kmer-jellyfish >=2.3.1 +test: + commands: + - eskrim -h + +about: + home: https://forgemia.inra.fr/metagenopolis/eskrim + license: GPL-3.0-or-later + license_file: COPYING + summary: 'ESKRIM: EStimate with K-mers the RIchness in a Microbiome' + description: ESKRIM is a reference-free tool that compares microbial richness in shotgun metagenomic samples by counting k-mers + license_family: GPL3 diff --git a/recipes/espresso/build.sh b/recipes/espresso/build.sh index 9a4cfdcc48686..ab1ff68b92884 100644 --- a/recipes/espresso/build.sh +++ b/recipes/espresso/build.sh @@ -1,8 +1,15 @@ #!/bin/bash +./src/Parasail/build + mkdir -p $PREFIX/bin cp src/ESPRESSO_C.pl $PREFIX/bin/ cp src/ESPRESSO_Q.pl $PREFIX/bin/ cp src/ESPRESSO_Q_Thread.pm $PREFIX/bin/ cp src/ESPRESSO_S.pl $PREFIX/bin/ cp src/ESPRESSO_Version.pm $PREFIX/bin/ +cp src/Parasail.pm $PREFIX/bin/ +cp src/Parasail.so $PREFIX/bin/ + +mkdir -p $PREFIX/lib +cp src/libparasail.so $PREFIX/lib/ diff --git a/recipes/espresso/meta.yaml b/recipes/espresso/meta.yaml index 336ead6120ef1..d2666bf00cc5b 100644 --- a/recipes/espresso/meta.yaml +++ b/recipes/espresso/meta.yaml @@ -1,20 +1,28 @@ -{% set version = "1.4.0" %} +{% set version = "1.5.0" %} package: name: espresso version: {{ version }} source: - sha256: 656a5ab152782e5bb195b25a3814a3b94c1ed9ae9c03a1692cf1bba0794d1295 + sha256: 7cc7dd73465f434c98e8c5a41c510bfc419edb32954f2736b20af3f05cc7e348 url: https://github.com/Xinglab/espresso/releases/download/v{{ version }}/espresso_v_{{ version|replace(".", "_") }}.tar.gz build: - noarch: generic - number: 0 + number: 1 + skip: True # [osx] run_exports: - {{ pin_subpackage('espresso', max_pin="x") }} requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - cmake + - make + host: + - perl >=5.8 + - zlib run: - blast >=2.8.1 - hmmer >=3.3.1 @@ -27,6 +35,7 @@ test: - perl $PREFIX/bin/ESPRESSO_S.pl --help > /dev/null - perl $PREFIX/bin/ESPRESSO_C.pl --help > /dev/null - perl $PREFIX/bin/ESPRESSO_Q.pl --help > /dev/null + - perl -I$PREFIX/bin -e 'use Parasail;' > /dev/null about: home: https://github.com/Xinglab/espresso diff --git a/recipes/eukfinder/build.sh b/recipes/eukfinder/build.sh new file mode 100755 index 0000000000000..67d7ab942645b --- /dev/null +++ b/recipes/eukfinder/build.sh @@ -0,0 +1,16 @@ +#!/bin/bash +set -ex +mkdir -p ${PREFIX}/bin +# Setup PLAST binaries +cp build/bin/plast $PREFIX/bin/ + +# Build acc2tax +# According to https://bioconda.github.io/contributor/troubleshooting.html +# and https://github.com/bioconda/bioconda-recipes/pull/49360#discussion_r1686187284 +$CC -o acc2tax acc2tax.c +cp acc2tax $PREFIX/bin/ + +chmod +x $PREFIX/bin/plast +chmod +x $PREFIX/bin/acc2tax + +$PYTHON setup.py install --single-version-externally-managed --record=record.txt diff --git a/recipes/eukfinder/meta.yaml b/recipes/eukfinder/meta.yaml new file mode 100644 index 0000000000000..5067efc48f607 --- /dev/null +++ b/recipes/eukfinder/meta.yaml @@ -0,0 +1,61 @@ +{% set version = "1.2.3" %} + +package: + name: eukfinder + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage('eukfinder', max_pin="x") }} + +source: + - url: https://github.com/RogerLab/Eukfinder/archive/refs/tags/v{{ version }}.tar.gz + sha256: 8b8235049084e8c7171ce8968b07be25bad9b9979ce1f04cfe4b8690f5641a7d + - url: https://github.com/PLAST-software/plast-library/releases/download/v2.3.2/plastbinary_osx_v2.3.2.tar.gz # [osx] + sha256: 0dbbf88f6e59bb153ff04b5cc80743304d44fc1196de930fd2b56a1061792a6a # [osx] + - url: https://github.com/PLAST-software/plast-library/releases/download/v2.3.2/plastbinary_linux_v2.3.2.tar.gz # [linux] + sha256: d8a3ad66849b6090c41acde71750e3d0c339d6b9b7c6f316c307870d773d86fe # [linux] + - url: https://github.com/Tassadaar/acc2tax/archive/refs/tags/v1.0.tar.gz + sha256: 349fa233c565eaa01ef31b9d3f32fa01a9d9f234ba7e0136e289af837add6979 + +requirements: + build: + - wget + - python >=3.6,<3.7 + - setuptools + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - cmake + host: + - python >=3.6,<3.7 + - setuptools + run: + - python >=3.6,<3.7 + - ete3 + - numpy + - pandas + - joblib + - pyqt =5 + - spades + - seqkit + - trimmomatic + - centrifuge + - bowtie2 + + +test: + commands: + - plast -h + - acc2tax --help + - eukfinder --help + - eukfinder read_prep -h + - eukfinder short_seqs -h + - eukfinder long_seqs -h + + +about: + home: https://github.com/RogerLab/Eukfinder + license: MIT + license_file: LICENSE.txt + summary: "Eukfinder is a tool for detecting eukaryotic sequences in metagenomic data." diff --git a/recipes/eukulele/meta.yaml b/recipes/eukulele/meta.yaml index 7a16a1f0ad8ba..24cd50ddf57b4 100644 --- a/recipes/eukulele/meta.yaml +++ b/recipes/eukulele/meta.yaml @@ -1,23 +1,21 @@ -{% set version = "2.0.6" %} -{% set sha256 = "6d3026124b27dd55d627f6728493ee088bfb81aded1e4c7e0dec621bbddd14d1" %} +{% set name = "eukulele" %} +{% set version = "2.0.9" %} +{% set sha256 = "575ab81fd5453abbf092543caaf12116ab36cd5451caeb4c87086a93f12e7431" %} package: - name: eukulele - version: 2.0.6 - -build: - number: 0 - noarch: python - script: "{{ PYTHON }} -m pip install . --no-deps" + name: {{ name }} + version: {{ version }} source: - url: https://github.com/AlexanderLabWHOI/EUKulele/archive/refs/tags/v2.0.6-2.tar.gz + url: https://pypi.org/packages/source/{{ name[0] }}/{{ name }}/EUKulele-{{ version }}.tar.gz sha256: {{ sha256 }} -test: - commands: - - EUKulele --version | grep '{{ version }}' - - EUKulele --help +build: + number: 1 + noarch: python + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir --use-pep517 -vvv" + run_exports: + - {{ pin_subpackage('eukulele', max_pin="x") }} requirements: host: @@ -26,21 +24,35 @@ requirements: - pytest-runner run: - python >=3.6 - - numpy ==1.19.5 - - biopython ==1.78 - - pandas ==1.2.0 + - numpy + - biopython + - pandas - seaborn-base - boost-cpp - chardet + - multiprocess - joblib - ujson + - python-coveralls - pyyaml - - matplotlib-base ==3.3.3 - - blast ==2.2.31 - - diamond ==0.9.24 + - matplotlib-base + - pytest-cov + - pytest-xdist + - sphinxcontrib-bibtex ==1.0.0 + - blast + - diamond + - busco >=4.0.4 + +test: + commands: + - EUKulele --version | grep '{{ version }}' + - EUKulele --help about: - home: https://github.com/AlexanderLabWHOI/EUKulele + home: "https://github.com/AlexanderLabWHOI/EUKulele" license: MIT + license_family: MIT license_file: LICENSE - summary: Easy taxonomic annotation for eukaryotic microbes + summary: "Easy taxonomic annotation for eukaryotic microbes." + dev_url: "https://github.com/AlexanderLabWHOI/EUKulele" + doc_url: "https://github.com/AlexanderLabWHOI/EUKulele/blob/{{ version }}/README.md" diff --git a/recipes/eva-sub-cli/build.sh b/recipes/eva-sub-cli/build.sh new file mode 100644 index 0000000000000..695dd90715c8c --- /dev/null +++ b/recipes/eva-sub-cli/build.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +BIOVALIDATOR_VERSION=2.2.1 + +EVA_SUB_CLI="${PREFIX}/share/${PKG_NAME}-${PKG_VERSION}" +mkdir -p ${EVA_SUB_CLI} + +# Install eva-sub-cli +$PYTHON -m pip install . +echo "Done with eva-sub-cli" + +cd ${EVA_SUB_CLI} + +# Install biovalidator from source +curl -Lo biovalidator.zip https://github.com/elixir-europe/biovalidator/archive/refs/tags/v${BIOVALIDATOR_VERSION}.zip \ + && unzip -q biovalidator.zip && rm biovalidator.zip \ + && cd biovalidator-${BIOVALIDATOR_VERSION} \ + && npm install && npm install -g \ + && cd .. +echo "Done with biovalidator" diff --git a/recipes/eva-sub-cli/meta.yaml b/recipes/eva-sub-cli/meta.yaml new file mode 100644 index 0000000000000..2b0ae04c0c9d7 --- /dev/null +++ b/recipes/eva-sub-cli/meta.yaml @@ -0,0 +1,63 @@ +{% set name = "eva-sub-cli" %} +{% set version = "0.4" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/EBIvariation/eva-sub-cli/archive/v{{version}}.tar.gz + sha256: be4d4109d9879ad94ccc01a3bd534ff6077775f126977dfb3f2d6fd9cfb251ba + +build: + number: 0 + noarch: generic + script_env: + - SETUPTOOLS_SCM_PRETEND_VERSION={{ version }} + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + host: + - nextflow >=21.10.0 + - python >=3.8 + - nodejs >=10.19.1 + - vcf-validator >=0.9.7 + - ebi-eva-common-pyutils >=0.6.1 + - pyyaml + - jinja2 + - openpyxl + - requests + - jsonschema + - unzip + - setuptools-scm + run: + - nextflow >=21.10.0 + - python >=3.8 + - nodejs >=10.19.1 + - vcf-validator >=0.9.7 + - ebi-eva-common-pyutils >=0.6.1 + - pyyaml + - jinja2 + - openpyxl + - requests + - jsonschema + +test: + imports: + - eva_sub_cli + commands: + - biovalidator --help + - eva-sub-cli.py --help + +about: + home: https://github.com/EBIvariation/eva-sub-cli + summary: EVA Submission Command Line Interface + license: Apache-2.0 + license_file: LICENSE + +extra: + recipe-maintainers: + - apriltuesday + - tcezard + - ebi-variation diff --git a/recipes/evidencemodeler/meta.yaml b/recipes/evidencemodeler/meta.yaml index f9e47e1f09777..d9a8365861794 100644 --- a/recipes/evidencemodeler/meta.yaml +++ b/recipes/evidencemodeler/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 3ee69ad822a35204ff02b670fe047d8b0da250cf9f43ebabbe33ce47f498e668 build: - number: 2 + number: 3 run_exports: - {{ pin_subpackage('evidencemodeler', max_pin='x') }} @@ -27,6 +27,7 @@ requirements: - perl-carp - perl-uri - perl-dbi + - perl-db_file test: commands: diff --git a/recipes/evigene/build.sh b/recipes/evigene/build.sh new file mode 100644 index 0000000000000..d55e09fafd6b1 --- /dev/null +++ b/recipes/evigene/build.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +readonly EVIGENEHOME=${PREFIX}/opt/${PKG_NAME}-${PKG_VERSION} + +mkdir -p ${EVIGENEHOME} + +cd ${SRC_DIR} + +cp -Rp config lib scripts ${EVIGENEHOME} + + +mkdir -p ${PREFIX}/etc/conda/activate.d/ +echo "export EVIGENEHOME=${EVIGENEHOME}" > ${PREFIX}/etc/conda/activate.d/${PKG_NAME}-${PKG_VERSION}.sh + +mkdir -p ${PREFIX}/etc/conda/deactivate.d/ +echo "unset EVIGENEHOME" > ${PREFIX}/etc/conda/deactivate.d/${PKG_NAME}-${PKG_VERSION}.sh + +find $EVIGENEHOME -name *.pl | xargs -I {} sed -i.bak '1 s|#!/usr/bin/perl|#!/usr/bin/env perl|g' {} +find $EVIGENEHOME -name *.perl | xargs -I {} sed -i.bak '1 s|#!/usr/bin/perl|#!/usr/bin/env perl|g' {} diff --git a/recipes/evigene/meta.yaml b/recipes/evigene/meta.yaml new file mode 100644 index 0000000000000..a4c43d0e8aa4e --- /dev/null +++ b/recipes/evigene/meta.yaml @@ -0,0 +1,45 @@ +{% set name = "evigene" %} +{% set raw_version = "23jul15" %} +{% set version = "23.7.15" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: http://arthropods.eugenes.org/EvidentialGene/other/evigene_old/{{ name }}{{ raw_version }}.tar + sha256: 8fe8e5c21ac3f8b7134d8e26593fe66647eb8b7ba2c1cd1c158fc811769b9539 + +build: + noarch: generic + number: 1 + run_exports: + - {{ pin_subpackage('evigene', max_pin='x') }} + +requirements: + run: + - perl + - exonerate + - cd-hit + - blast + +test: + commands: + - capture_die=$(bash -c "$EVIGENEHOME/scripts/prot/tr2aacds.pl || true" 2>&1) + - echo "$capture_die" | grep "VERSION 2022.04.05" + +about: + home: http://arthropods.eugenes.org/EvidentialGene/ + summary: 'A genome informatics project for Evidence Directed Gene Construction for Eukaryotes' + description: | + EvidentialGene is a genome informatics project for "Evidence Directed Gene Construction for Eukaryotes", + for constructing high quality, accurate gene sets for animals and plants (any eukaryotes), being developed + by Don Gilbert at Indiana University, gilbertd at indiana edu. The perl scripts are nested inside the + 'scripts' folder and, therefor can only be used by providing the full path + such as '$EVIGENEHOME/scripts/prot/tr2aacds.pl -h' + license: Don Gilbert, gilbertd At indiana edu, 2018 + +extra: + recipe-maintainers: + - gallvp + diff --git a/recipes/evofr/meta.yaml b/recipes/evofr/meta.yaml index a5eae9189357a..fb083c92d9933 100644 --- a/recipes/evofr/meta.yaml +++ b/recipes/evofr/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.1.21" %} +{% set version = "0.1.23" %} package: name: evofr @@ -6,7 +6,7 @@ package: source: url: https://pypi.io/packages/source/e/evofr/evofr-{{ version }}.tar.gz - sha256: 0ec5329a19087992e14e8c5a5b969b6069308f287595125b67574176c73532c0 + sha256: ac159419119c000e403b5801d8b6dfef215bcbeca6f30f3bf13b66b90b64ad17 build: number: 0 @@ -24,9 +24,9 @@ requirements: - python >=3.9,<4 - numpy >=1.22.4 - pandas >=1.4.2 - - jax >=0.4.1,<0.5.0 + - jax >=0.4.14,<0.5.0 - jaxlib >=0.4.1,<0.5.0 - - numpyro >=0.12.0,<0.13.0 + - numpyro >=0.13.2,<0.14.0 - blackjax >=0.9.6,<0.10.0 test: diff --git a/recipes/exomiser-rest-prioritiser/meta.yaml b/recipes/exomiser-rest-prioritiser/meta.yaml index 03395c15f4f0a..f00da2d66df74 100644 --- a/recipes/exomiser-rest-prioritiser/meta.yaml +++ b/recipes/exomiser-rest-prioritiser/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "13.3.0" %} -{% set sha256 = "bff2399f63d26f11169e4b2de5e397bcd3c61f74022703a5d8eff20b2ac4926c" %} +{% set version = "14.0.2" %} +{% set sha256 = "752d46ae3e28aad581fd891d3ad2c1045039d52d52806c9da57e95c42c0beba6" %} package: name: exomiser-rest-prioritiser @@ -17,7 +17,7 @@ build: requirements: run: - - openjdk >=8 + - openjdk >=17 - zlib test: @@ -27,4 +27,11 @@ test: about: home: https://github.com/exomiser/Exomiser summary: Exomiser prioritiser REST API - license: AGPL3 + license: AGPL-3.0-or-later + license_family: AGPL + doc_url: https://exomiser.readthedocs.io/en/latest/ + dev_url: https://github.com/exomiser/Exomiser + +extra: + identifiers: + - biotools:exomiser diff --git a/recipes/exonerate/build.sh b/recipes/exonerate/build.sh index 6b8ee4937a8a8..512cc3cc3a21f 100644 --- a/recipes/exonerate/build.sh +++ b/recipes/exonerate/build.sh @@ -1,4 +1,11 @@ #!/bin/sh + +set -xe + +# Download newer config.{sub,guess} files +wget "http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD" -O config.guess +wget "http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD" -O config.sub + mkdir -p ${PREFIX}/bin export CFLAGS="-I$PREFIX/include" diff --git a/recipes/exonerate/conda_build_config.yaml b/recipes/exonerate/conda_build_config.yaml new file mode 100644 index 0000000000000..8caf245450f76 --- /dev/null +++ b/recipes/exonerate/conda_build_config.yaml @@ -0,0 +1,5 @@ +c_compiler_version: + - 10 # [linux] + +cxx_compiler_version: + - 10 # [linux] diff --git a/recipes/exonerate/meta.yaml b/recipes/exonerate/meta.yaml index 3a6311a7d2c30..73b122af68549 100644 --- a/recipes/exonerate/meta.yaml +++ b/recipes/exonerate/meta.yaml @@ -9,7 +9,9 @@ source: sha256: f849261dc7c97ef1f15f222e955b0d3daf994ec13c9db7766f1ac7e77baa4042 build: - number: 7 + number: 8 + run_exports: + - {{ pin_subpackage('exonerate', max_pin='x') }} requirements: build: @@ -21,6 +23,7 @@ requirements: host: - glib - pcre + - wget run: - glib @@ -32,10 +35,13 @@ test: about: home: https://www.ebi.ac.uk/about/vertebrate-genomics/software/exonerate - license: GPL-3.0 + license: GPL-3.0-or-later + license_file: COPYING summary: Exonerate - A generic tool for pairwise sequence comparison / alignment extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:exonerate diff --git a/recipes/expam/meta.yaml b/recipes/expam/meta.yaml index a078e57679269..b17336bf93486 100644 --- a/recipes/expam/meta.yaml +++ b/recipes/expam/meta.yaml @@ -1,5 +1,5 @@ {% set name = "expam" %} -{% set version = "1.2.2.3" %} +{% set version = "1.4.0.5" %} package: name: "{{ name|lower }}" @@ -7,12 +7,17 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 1a57cd160115ead399bd1b577dd071e0142d31e09df982c83c017e6ddfabcf96 + sha256: 7b89e363b95e8b04da05a5cc9c5b51ac29988a926e9ca510ca8735faae4a5cfb build: number: 0 - skip: true # [py < 38] - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vvv " + skip: True # [osx] + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + entry_points: + - expam=expam.main:main + - expam_limit=expam.sandbox.main:main + run_exports: + - {{ pin_subpackage('expam', max_pin="x") }} requirements: build: @@ -22,9 +27,9 @@ requirements: - python - cython - numpy >=1.22.0 - - setuptools >=46.4 run: - python + - ete3 - numpy >=1.22.0 - matplotlib-base - multiprocess @@ -45,8 +50,11 @@ about: license_family: BSD license_file: LICENSE summary: "Metagenomic profiling using a reference phylogeny" - doc_url: https://expam.readthedocs.io/en/latest/ + doc_url: https://expam.readthedocs.io/en/latest + dev_url: https://github.com/seansolari/expam extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - seansolari diff --git a/recipes/expansionhunter/build.sh b/recipes/expansionhunter/build.sh index 137e450f192d5..962b1a50e591d 100644 --- a/recipes/expansionhunter/build.sh +++ b/recipes/expansionhunter/build.sh @@ -1,8 +1,11 @@ #!/bin/bash + +set -xe + mkdir build cd build cmake .. -make +make -j ${CPU_COUNT} mkdir -p $PREFIX/bin cp install/bin/ExpansionHunter $PREFIX/bin mkdir -p $PREFIX/share/ExpansionHunter diff --git a/recipes/expansionhunter/build_failure.osx-64.yaml b/recipes/expansionhunter/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..2efaf89bccc4d --- /dev/null +++ b/recipes/expansionhunter/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: d13c40e2561dd3ae0e0c9525e8725dfcba2bc197aa5ce06a4298b0d59acd0c7c # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/expansionhunter-5.0.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/expansionhunter-5.0.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + -- The C compiler identification is Clang 16.0.6 + -- The CXX compiler identification is Clang 16.0.6 + -- Detecting C compiler ABI info + -- Detecting C compiler ABI info - done + -- Check for working C compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting C compile features + -- Detecting C compile features - done + -- Detecting CXX compiler ABI info + -- Detecting CXX compiler ABI info - done + -- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting CXX compile features + -- Detecting CXX compile features - done + -- Found ZLIB: $PREFIX/lib/libz.dylib (found version "1.2.13") + -- Found BZip2: $PREFIX/lib/libbz2.dylib (found version "1.0.8") + -- Looking for BZ2_bzCompressInit + -- Looking for BZ2_bzCompressInit - found + -- Looking for lzma_auto_decoder in $PREFIX/lib/liblzma.dylib + -- Looking for lzma_auto_decoder in $PREFIX/lib/liblzma.dylib - found + -- Looking for lzma_easy_encoder in $PREFIX/lib/liblzma.dylib + -- Looking for lzma_easy_encoder in $PREFIX/lib/liblzma.dylib - found + -- Looking for lzma_lzma_preset in $PREFIX/lib/liblzma.dylib + -- Looking for lzma_lzma_preset in $PREFIX/lib/liblzma.dylib - found + -- Found LibLZMA: $PREFIX/lib/liblzma.dylib (found version "5.2.6") + -- Found CURL: $PREFIX/lib/libcurl.dylib (found version "8.8.0") + -- Configuring done (4.2s) + -- Generating done (0.0s) + -- Build files have been written to: $SRC_DIR/build + [ 11%] Creating directories for 'ehunter' + [ 22%] No download step for 'ehunter' + [ 33%] No update step for 'ehunter' + [ 44%] No patch step for 'ehunter' + [ 55%] Performing configure step for 'ehunter' + -- The C compiler identification is Clang 16.0.6 + -- The CXX compiler identification is Clang 16.0.6 + -- Detecting C compiler ABI info + -- Detecting C compiler ABI info - done + -- Check for working C compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting C compile features + -- Detecting C compile features - done + -- Detecting CXX compiler ABI info + -- Detecting CXX compiler ABI info - done + -- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting CXX compile features + -- Detecting CXX compile features - done + -- BUILD_TYPE: Release + -- Found Boost: $PREFIX/lib/cmake/Boost-1.85.0/BoostConfig.cmake (found suitable version "1.85.0", minimum required is "1.73") found components: program_options filesystem system + -- Found ZLIB: $PREFIX/lib/libz.dylib (found version "1.2.13") + -- Found BZip2: $PREFIX/lib/libbz2.dylib (found version "1.0.8") + -- Looking for BZ2_bzCompressInit + -- Looking for BZ2_bzCompressInit - found + -- Looking for lzma_auto_decoder in $PREFIX/lib/liblzma.dylib + -- Looking for lzma_auto_decoder in $PREFIX/lib/liblzma.dylib - found + -- Looking for lzma_easy_encoder in $PREFIX/lib/liblzma.dylib + -- Looking for lzma_easy_encoder in $PREFIX/lib/liblzma.dylib - found + -- Looking for lzma_lzma_preset in $PREFIX/lib/liblzma.dylib + -- Looking for lzma_lzma_preset in $PREFIX/lib/liblzma.dylib - found + -- Found LibLZMA: $PREFIX/lib/liblzma.dylib (found version "5.2.6") + -- Found CURL: $PREFIX/lib/libcurl.dylib (found version "8.8.0") + -- Found GTest: $PREFIX/lib/cmake/GTest/GTestConfig.cmake (found version "1.14.0") + -- Found Threads: TRUE + -- Found Boost: $PREFIX/lib/cmake/Boost-1.85.0/BoostConfig.cmake (found suitable version "1.85.0", minimum required is "1.5") found components: program_options filesystem system + -- Configuring done (4.4s) + -- Generating done (0.1s) + -- Build files have been written to: $SRC_DIR/build/ehunter-prefix/src/ehunter-build + [ 66%] Performing build step for 'ehunter' + [ 1%] Building CXX object thirdparty/graph-tools-master-f421f4c/CMakeFiles/graphtools.dir/src/graphalign/GappedAligner.cpp.o + [ 2%] Building CXX object thirdparty/graph-tools-master-f421f4c/CMakeFiles/graphtools.dir/src/graphalign/GraphAlignment.cpp.o +# Last 100 lines of the build log. diff --git a/recipes/expansionhunter/meta.yaml b/recipes/expansionhunter/meta.yaml index 9e2552fbe11df..67ab975bf2c03 100644 --- a/recipes/expansionhunter/meta.yaml +++ b/recipes/expansionhunter/meta.yaml @@ -15,7 +15,7 @@ source: - 0004-add-fmt-formatters-for-classes.patch - 0005-apply-bioconda-4.0.2-patches.patch # [osx] build: - number: 1 + number: 3 run_exports: - {{ pin_subpackage('expansionhunter', max_pin="x") }} requirements: @@ -47,3 +47,7 @@ about: license: APACHE license_file: LICENSE.txt summary: "A tool for estimating repeat sizes" + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/expansionhunterdenovo/meta.yaml b/recipes/expansionhunterdenovo/meta.yaml index ce744521a7f1b..f21a622b30e9e 100644 --- a/recipes/expansionhunterdenovo/meta.yaml +++ b/recipes/expansionhunterdenovo/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 7 + number: 8 skip: True # [osx] requirements: diff --git a/recipes/extract-sv-reads/meta.yaml b/recipes/extract-sv-reads/meta.yaml index 6797940fcc204..a9239916329f0 100644 --- a/recipes/extract-sv-reads/meta.yaml +++ b/recipes/extract-sv-reads/meta.yaml @@ -4,7 +4,7 @@ package: version: {{ version }} build: - number: 4 + number: 5 skip: True # [osx] source: diff --git a/recipes/extract_fullseq/0001-Cast-getline-stream-to-bool.patch b/recipes/extract_fullseq/0001-Cast-getline-stream-to-bool.patch new file mode 100644 index 0000000000000..ee5a26b793321 --- /dev/null +++ b/recipes/extract_fullseq/0001-Cast-getline-stream-to-bool.patch @@ -0,0 +1,13 @@ +--- general/cfareader.hpp ++++ general/cfareader.hpp +@@ -40 +40 @@ +- m_good = std::getline( *m_fin, m_buffer ); ++ m_good = static_cast(std::getline( *m_fin, m_buffer )); +@@ -46 +46 @@ +- m_good = std::getline( *m_fin, m_buffer ); ++ m_good = static_cast(std::getline( *m_fin, m_buffer )); +--- general/of-debug.hpp ++++ general/of-debug.hpp +@@ -10 +10 @@ +-#define VT100(c) "\x1b["c ++#define VT100(c) "\x1b[" c diff --git a/recipes/extract_fullseq/bmtool-cplusplus-template.patch b/recipes/extract_fullseq/bmtool-cplusplus-template.patch new file mode 100644 index 0000000000000..b44d6af00181c --- /dev/null +++ b/recipes/extract_fullseq/bmtool-cplusplus-template.patch @@ -0,0 +1,11 @@ +--- a/general/cgetopt.hpp 2024-06-27 12:43:39.692000000 +0000 ++++ b/general/cgetopt.hpp 2024-06-27 12:42:10.116000000 +0000 +@@ -267,7 +267,7 @@ + int m_cnt; + }; + +-template<> ++//template<> + template + class COptArg > : public COption + { diff --git a/recipes/extract_fullseq/bmtool-fix-ctime.patch b/recipes/extract_fullseq/bmtool-fix-ctime.patch new file mode 100644 index 0000000000000..6abf282624c27 --- /dev/null +++ b/recipes/extract_fullseq/bmtool-fix-ctime.patch @@ -0,0 +1,10 @@ +--- general/cprogressindicator.hpp.orig 2024-06-28 08:59:12.756000000 +0000 ++++ general/cprogressindicator.hpp 2024-06-28 09:27:08.976000000 +0000 +@@ -6,6 +6,7 @@ + #ifndef _WIN32 + #include + #include ++#include + #else + #include + #endif diff --git a/recipes/extract_fullseq/build.sh b/recipes/extract_fullseq/build.sh index 2bc27046bbc18..202d0a80c3f86 100644 --- a/recipes/extract_fullseq/build.sh +++ b/recipes/extract_fullseq/build.sh @@ -17,10 +17,9 @@ if [ "$(uname)" == "Darwin" ]; then elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then echo "Platform: Linux" - # cd to location of Makefile and source - cd $SRC_DIR/ - make - + make -j ${CPU_COUNT} -C general CC="${CC}" CXX="${CXX}" DEBUG="${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} -std=c++03" + make -j ${CPU_COUNT} -C bmtagger CC="${CC}" CXX="${CXX}" DEBUG="${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} -std=c++03" + for i in $binaries; do cp $SRC_DIR/bmtagger/$i $PREFIX/bin/ && chmod +x $PREFIX/bin/$i; done fi diff --git a/recipes/extract_fullseq/meta.yaml b/recipes/extract_fullseq/meta.yaml index 0c0d048f50bae..e5740131593ad 100644 --- a/recipes/extract_fullseq/meta.yaml +++ b/recipes/extract_fullseq/meta.yaml @@ -4,15 +4,22 @@ package: source: - url: ftp://ftp.ncbi.nlm.nih.gov/pub/agarwala/bmtagger/bmtools.tar.gz # [linux] md5: 719474a0e3b54449cbe06f6e442994dd # [linux] + patches: # [linux] + - 0001-Cast-getline-stream-to-bool.patch # [linux] + - bmtool-cplusplus-template.patch # [linux] + - bmtool-fix-ctime.patch # [linux] - url: ftp://ftp.ncbi.nlm.nih.gov/pub/agarwala/bmtagger/mac-os/extract_fullseq # [osx] sha256: 1e2c8cd314498bf56ba0291185190d0ed20cbd839098492ab573be2ca6770a66 # [osx] build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage('extract_fullseq', max_pin="x") }} requirements: build: - make + - {{ compiler('cxx') }} #- blast #- srprism run: @@ -27,6 +34,8 @@ about: summary: "extract_fullseq is part of BMTagger aka Best Match Tagger, for removing human reads from metagenomics datasets" extra: + additional-platforms: + - linux-aarch64 skip-lints: - should_be_noarch_generic - should_not_be_noarch_source diff --git a/recipes/ezaai/build.sh b/recipes/ezaai/build.sh index 125996f06d360..1c8fd24997d5c 100644 --- a/recipes/ezaai/build.sh +++ b/recipes/ezaai/build.sh @@ -2,7 +2,8 @@ EZ_AAI_JAR_NAME="EzAAI.jar" EZ_AAI_LICENSE="LICENSE.md" -EZ_AAI_BIN="${PREFIX}/bin/EzAAI" +EZ_AAI_BIN="${PREFIX}/bin/ezaai" +EZ_AAI_BIN_ALT="${PREFIX}/bin/EzAAI" # Copy the JAR to the resource directory TARGET="${PREFIX}/share/${PKG_NAME}-${PKG_VERSION}-${PKG_BUILDNUM}" @@ -12,6 +13,9 @@ cp "${EZ_AAI_LICENSE}" "${TARGET}" # Alias the JAR in the bin directory mkdir -p "${PREFIX}/bin" -echo '#!/usr/bin/env bash' > "${EZ_AAI_BIN}" -echo "java -jar ${TARGET}/${EZ_AAI_JAR_NAME} \$@" >> "${EZ_AAI_BIN}" +cat << EOF > "${EZ_AAI_BIN}" +#!/bin/sh +exec java -jar "${TARGET}/${EZ_AAI_JAR_NAME}" "\${@}" +EOF chmod +x "${EZ_AAI_BIN}" +cp "${EZ_AAI_BIN}" "${EZ_AAI_BIN_ALT}" diff --git a/recipes/ezaai/meta.yaml b/recipes/ezaai/meta.yaml index f2ac8a0971924..c3376bf7614bf 100644 --- a/recipes/ezaai/meta.yaml +++ b/recipes/ezaai/meta.yaml @@ -1,16 +1,18 @@ {% set name = "EzAAI" %} -{% set version = "1.2.2" %} -{% set sha256 = "657f2b131e2564f291ef22417cabcd6615cdf88c59f3c553ceccd3ea3b86e564" %} +{% set version = "1.2.3" %} +{% set sha256 = "dbf2433928edb223f5fb6c105e3a32ae7784bac7f2ab506a5d9470d13d240332" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://github.com/endixk/ezaai/archive/refs/tags/v{{ version }}.tar.gz + url: https://github.com/endixk/ezaai/releases/download/v{{ version }}/ezaai-bin.tar.gz sha256: {{ sha256 }} build: + run_exports: + - {{ pin_subpackage('ezaai', max_pin="x") }} noarch: generic number: 0 @@ -24,7 +26,7 @@ requirements: test: commands: - - EzAAI -h + - ezaai -h about: home: http://leb.snu.ac.kr/ezaai diff --git a/recipes/ezcharts/meta.yaml b/recipes/ezcharts/meta.yaml new file mode 100644 index 0000000000000..d439af6dc504d --- /dev/null +++ b/recipes/ezcharts/meta.yaml @@ -0,0 +1,55 @@ +{% set name = "ezcharts" %} +{% set version = "0.10.2" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.org/packages/source/{{ name[0] }}/{{ name }}/ezcharts-{{ version }}.tar.gz + sha256: 5357d3104057a14cb05afda3ef252771fcc00ced3200bd25a0195795ed6daae1 + +build: + number: 0 + noarch: python + entry_points: + - ezcharts = ezcharts:cli + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + run_exports: + - {{ pin_subpackage('ezcharts', max_pin="x.x") }} + +requirements: + host: + - python >=3.7 + - pip + run: + - python >=3.7 + - bokeh >=3.1.0,<3.2.dev0 + - dominate + - jinja2 + - libsass + - numpy + - pandas + - pydantic <2.0.0 + - scipy + - seaborn-base >=0.12.0,<0.13.dev0 + - sigfig + - natsort + - pysam + - pymsaviz + - biopython + +test: + imports: + - ezcharts + commands: + - ezcharts --help + +about: + home: "https://github.com/epi2me-labs/ezcharts" + summary: "eCharts plotting API." + license: "BSD-4-Clause" + license_family: BSD + license_file: LICENSE + dev_url: "https://github.com/epi2me-labs/ezcharts" + doc_url: "https://github.com/epi2me-labs/ezcharts/blob/v{{ version }}/README.md" diff --git a/recipes/ezomero/meta.yaml b/recipes/ezomero/meta.yaml new file mode 100644 index 0000000000000..1ea7010c444ed --- /dev/null +++ b/recipes/ezomero/meta.yaml @@ -0,0 +1,35 @@ +{% set version = "3.1.0" %} +{% set name = "ezomero" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + sha256: 4b681333d8d56077ac14062dc9109a0d5aad033d5287e14fc8c4c616b129e162 + +build: + noarch: python + number: 0 + script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + run_exports: + - {{ pin_subpackage("ezomero", max_pin="x.x") }} +requirements: + host: + - pip + - python >=3.8 + run: + - python >=3.8 + - omero-py =5.16 + - numpy >=1.22,<2.0 + +test: + imports: + - ezomero + +about: + home: https://github.com/TheJacksonLaboratory/ezomero + license: GPL-2.0-only + license_file: LICENSE + summary: A module with convenience functions for writing Python code that interacts with OMERO diff --git a/recipes/f5c/0.6/build_failure.osx-64.yaml b/recipes/f5c/0.6/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..bd87afdba999d --- /dev/null +++ b/recipes/f5c/0.6/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 0677a29c724faa7f372c921ec6dec6153bf367e08a3f56867d99c1708b0f0a70 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + x86_64-apple-darwin13.4.0-clang -Wall -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/f5c-0.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -c -o test/test-vcf-api.o test/test-vcf-api.c + x86_64-apple-darwin13.4.0-clang -Wall -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/f5c-0.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -c -o test/test-vcf-sweep.o test/test-vcf-sweep.c + x86_64-apple-darwin13.4.0-clang -Wall -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/f5c-0.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -c -o test/test-bcf-sr.o test/test-bcf-sr.c + x86_64-apple-darwin13.4.0-clang -Wall -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/f5c-0.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -c -o test/test-bcf-translate.o test/test-bcf-translate.c + x86_64-apple-darwin13.4.0-clang -Wall -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/f5c-0.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -c -o hts.o hts.c + x86_64-apple-darwin13.4.0-clang -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -o test/hts_endian test/hts_endian.o -lz + x86_64-apple-darwin13.4.0-clang -dynamiclib -install_name /usr/local/lib/libhts.2.dylib -current_version 1.9 -compatibility_version 2 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -o libhts.dylib kfunc.o knetfile.o kstring.o bcf_sr_sort.o bgzf.o errmod.o faidx.o hfile.o hfile_net.o hts.o hts_os.o md5.o multipart.o probaln.o realn.o regidx.o sam.o synced_bcf_reader.o vcf_sweep.o tbx.o textutils.o thread_pool.o vcf.o vcfutils.o cram/cram_codecs.o cram/cram_decode.o cram/cram_encode.o cram/cram_external.o cram/cram_index.o cram/cram_io.o cram/cram_samtools.o cram/cram_stats.o cram/files.o cram/mFILE.o cram/open_trace_file.o cram/pooled_alloc.o cram/rANS_static.o cram/sam_header.o cram/string_alloc.o -lz + ar -rc libhts.a kfunc.o knetfile.o kstring.o bcf_sr_sort.o bgzf.o errmod.o faidx.o hfile.o hfile_net.o hts.o hts_os.o md5.o multipart.o probaln.o realn.o regidx.o sam.o synced_bcf_reader.o vcf_sweep.o tbx.o textutils.o thread_pool.o vcf.o vcfutils.o cram/cram_codecs.o cram/cram_decode.o cram/cram_encode.o cram/cram_external.o cram/cram_index.o cram/cram_io.o cram/cram_samtools.o cram/cram_stats.o cram/files.o cram/mFILE.o cram/open_trace_file.o cram/pooled_alloc.o cram/rANS_static.o cram/sam_header.o cram/string_alloc.o + x86_64-apple-darwin13.4.0-ranlib libhts.a + x86_64-apple-darwin13.4.0-clang -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -o bgzip bgzip.o libhts.a -lz -lpthread + x86_64-apple-darwin13.4.0-clang -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -o htsfile htsfile.o libhts.a -lz -lpthread + x86_64-apple-darwin13.4.0-clang -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -o tabix tabix.o libhts.a -lz -lpthread + x86_64-apple-darwin13.4.0-clang -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -o test/fieldarith test/fieldarith.o libhts.a -lz -lpthread + x86_64-apple-darwin13.4.0-clang -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -o test/hfile test/hfile.o libhts.a -lz -lpthread + x86_64-apple-darwin13.4.0-clang -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -o test/sam test/sam.o libhts.a -lz -lpthread + x86_64-apple-darwin13.4.0-clang -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -o test/test_bgzf test/test_bgzf.o libhts.a -lz -lz -lpthread + ln -sf libhts.dylib libhts.2.dylib + x86_64-apple-darwin13.4.0-clang -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -o test/test_realn test/test_realn.o libhts.a -lz -lpthread + x86_64-apple-darwin13.4.0-clang -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -o test/test-regidx test/test-regidx.o libhts.a -lz -lpthread + x86_64-apple-darwin13.4.0-clang -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -o test/test_view test/test_view.o libhts.a -lz -lpthread + x86_64-apple-darwin13.4.0-clang -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -o test/test-vcf-api test/test-vcf-api.o libhts.a -lz -lpthread + x86_64-apple-darwin13.4.0-clang -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -o test/test-vcf-sweep test/test-vcf-sweep.o libhts.a -lz -lpthread + x86_64-apple-darwin13.4.0-clang -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -o test/test-bcf-sr test/test-bcf-sr.o libhts.a -lz -lz -lpthread + x86_64-apple-darwin13.4.0-clang -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -o test/test-bcf-translate test/test-bcf-translate.o libhts.a -lz -lz -lpthread + Successfully installed htslib to ./htslib. + Now run ./configure (again)! + checking for x86_64-apple-darwin13.4.0-gcc... x86_64-apple-darwin13.4.0-clang + checking whether the C compiler works... yes + checking for C compiler default output file name... a.out + checking for suffix of executables... + checking whether we are cross compiling... no + checking for suffix of object files... o + checking whether we are using the GNU C compiler... yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... yes + checking for x86_64-apple-darwin13.4.0-clang option to accept ISO C89... none needed + checking whether we are using the GNU C compiler... yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... yes + checking for special C compiler options needed for large files... no + checking for _FILE_OFFSET_BITS value needed for large files... no + checking for _LARGEFILE_SOURCE value needed for large files... no + checking how to run the C preprocessor... x86_64-apple-darwin13.4.0-clang -E + checking for grep that handles long lines and -e... /usr/bin/grep + checking for egrep... /usr/bin/grep -E + checking for ANSI C header files... yes + checking for sys/types.h... yes + checking for sys/stat.h... yes + checking for stdlib.h... yes + checking for string.h... yes + checking for memory.h... yes + checking for strings.h... yes + checking for inttypes.h... yes + checking for stdint.h... yes + checking for unistd.h... yes + checking float.h usability... yes + checking float.h presence... yes + checking for float.h... yes + checking for inttypes.h... (cached) yes + checking for stdint.h... (cached) yes + checking for stdlib.h... (cached) yes + checking for string.h... (cached) yes + checking sys/time.h usability... yes + checking sys/time.h presence... yes + checking for sys/time.h... yes + checking for unistd.h... (cached) yes + checking execinfo.h usability... yes + checking execinfo.h presence... yes + checking for execinfo.h... yes + checking for stdbool.h that conforms to C99... yes + checking for _Bool... yes + checking for inline... inline + checking for int32_t... yes + checking for size_t... yes + checking for ssize_t... yes + checking for uint32_t... yes + checking for uint64_t... yes + checking for uint8_t... yes + checking for stdlib.h... (cached) yes + checking for GNU libc compatible malloc... (cached) yes + checking for gettimeofday... yes + checking for memset... yes + checking for sqrt... yes + checking for strerror... yes + checking for zlib.h... yes + checking for inflate in -lz... yes + checking for ./htslib/htslib/hts.h... yes + checking for ./htslib/libhts.a... yes + checking for library containing H5Fopen... -lhdf5 + checking hdf5.h usability... yes + checking hdf5.h presence... yes + checking for hdf5.h... yes + configure: creating ./config.status + config.status: creating config.mk + config.status: creating src/config.h + x86_64-apple-darwin13.4.0-clang -g -Wall -O2 -std=c11 -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I./htslib -x c src/main.c -c -o build/main.o + x86_64-apple-darwin13.4.0-clang -g -Wall -O2 -std=c11 -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I./htslib -x c src/meth_main.c -c -o build/meth_main.o + x86_64-apple-darwin13.4.0-clang -g -Wall -O2 -std=c11 -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I./htslib -x c src/f5c.c -c -o build/f5c.o + x86_64-apple-darwin13.4.0-clang -g -Wall -O2 -std=c11 -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I./htslib -x c src/f5cio.c -c -o build/f5cio.o + x86_64-apple-darwin13.4.0-clang -g -Wall -O2 -std=c11 -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I./htslib -x c src/events.c -c -o build/events.o + x86_64-apple-darwin13.4.0-clang -g -Wall -O2 -std=c11 -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I./htslib -x c src/nanopolish_read_db.c -c -o build/nanopolish_read_db.o + x86_64-apple-darwin13.4.0-clang -g -Wall -O2 -std=c11 -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I./htslib -x c src/index.c -c -o build/index.o +# Last 100 lines of the build log. diff --git a/recipes/f5c/0.6/meta.yaml b/recipes/f5c/0.6/meta.yaml index 6a00eeff4d076..13b75019dad77 100644 --- a/recipes/f5c/0.6/meta.yaml +++ b/recipes/f5c/0.6/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 5ad8ecf16383757645c1757fc886c58437a062f9e1bade8b65ca8a674a75ba3e build: - number: 6 + number: 7 requirements: build: diff --git a/recipes/f5c/1.2/build_failure.osx-64.yaml b/recipes/f5c/1.2/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..2c93da7027592 --- /dev/null +++ b/recipes/f5c/1.2/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 5c997279bceb0404e20ed29e7232a75438a8d4540b856edfef19e3b30ec8b8a7 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + ==> no zlib, building zstd without .gz support + ==> no liblzma, building zstd without .xz/.lzma support + - lz4 support is disabled + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I../lib -I../lib/common -I../lib/compress -I../lib/dictBuilder -DZSTD_NEWAPI -DXXH_NAMESPACE=ZSTD_ -I../lib/legacy -DZSTD_LEGACY_SUPPORT=4 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/f5c-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib ../lib/decompress/huf_decompress.c ../lib/decompress/zstd_decompress.c ../lib/common/entropy_common.c ../lib/common/error_private.c ../lib/common/fse_decompress.c ../lib/common/pool.c ../lib/common/threading.c ../lib/common/xxhash.c ../lib/common/zstd_common.c ../lib/compress/fse_compress.c ../lib/compress/huf_compress.c ../lib/compress/zstd_compress.c ../lib/compress/zstdmt_compress.c ../lib/legacy/zstd_v04.c ../lib/legacy/zstd_v05.c ../lib/legacy/zstd_v06.c ../lib/legacy/zstd_v07.c ../lib/dictBuilder/cover.c ../lib/dictBuilder/divsufsort.c ../lib/dictBuilder/zdict.c zstdcli.o fileio.o bench.o datagen.o dibio.o -o zstd -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + compiling static library + creating versioned links + make[1]: Leaving directory '$SRC_DIR/zstd/lib' + make[1]: Leaving directory '$SRC_DIR/zstd/programs' + cp programs/zstd . + Successfully installed zstd to ./zstd. + checking for x86_64-apple-darwin13.4.0-gcc... x86_64-apple-darwin13.4.0-clang + checking whether the C compiler works... yes + checking for C compiler default output file name... a.out + checking for suffix of executables... + checking whether we are cross compiling... no + checking for suffix of object files... o + checking whether we are using the GNU C compiler... yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... yes + checking for x86_64-apple-darwin13.4.0-clang option to accept ISO C89... none needed + checking whether we are using the GNU C compiler... yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... yes + checking for special C compiler options needed for large files... no + checking for _FILE_OFFSET_BITS value needed for large files... no + checking for _LARGEFILE_SOURCE value needed for large files... no + checking how to run the C preprocessor... x86_64-apple-darwin13.4.0-clang -E + checking for grep that handles long lines and -e... /usr/bin/grep + checking for egrep... /usr/bin/grep -E + checking for ANSI C header files... yes + checking for sys/types.h... yes + checking for sys/stat.h... yes + checking for stdlib.h... yes + checking for string.h... yes + checking for memory.h... yes + checking for strings.h... yes + checking for inttypes.h... yes + checking for stdint.h... yes + checking for unistd.h... yes + checking float.h usability... yes + checking float.h presence... yes + checking for float.h... yes + checking for inttypes.h... (cached) yes + checking for stdint.h... (cached) yes + checking for stdlib.h... (cached) yes + checking for string.h... (cached) yes + checking sys/time.h usability... yes + checking sys/time.h presence... yes + checking for sys/time.h... yes + checking for unistd.h... (cached) yes + checking execinfo.h usability... yes + checking execinfo.h presence... yes + checking for execinfo.h... yes + checking for stdbool.h that conforms to C99... yes + checking for _Bool... yes + checking for inline... inline + checking for int32_t... yes + checking for size_t... yes + checking for ssize_t... yes + checking for uint32_t... yes + checking for uint64_t... yes + checking for uint8_t... yes + checking for stdlib.h... (cached) yes + checking for GNU libc compatible malloc... (cached) yes + checking for gettimeofday... yes + checking for memset... yes + checking for sqrt... yes + checking for strerror... yes + checking for zlib.h... yes + checking for inflate in -lz... yes + checking for ./htslib/htslib/hts.h... yes + checking for ./htslib/libhts.a... yes + checking for library containing H5Fopen... -lhdf5 + checking hdf5.h usability... yes + checking hdf5.h presence... yes + checking for hdf5.h... yes + checking for ./zstd/lib/zstd.h... yes + checking for ./zstd/lib/libzstd.a... yes + configure: creating ./config.status + config.status: creating config.mk + config.status: creating src/config.h + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/f5c-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -g -Wall -O2 -std=c99 -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I include/ -I thirdparty/streamvbyte/include/ src/slow5.c -c -fpic -o lib/slow5.o + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/f5c-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -g -Wall -O2 -std=c99 -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I include/ -I thirdparty/streamvbyte/include/ src/slow5_idx.c -c -fpic -o lib/slow5_idx.o + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/f5c-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -g -Wall -O2 -std=c99 -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I include/ -I thirdparty/streamvbyte/include/ src/slow5_misc.c -c -fpic -o lib/slow5_misc.o + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/f5c-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -g -Wall -O2 -std=c99 -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I include/ -I thirdparty/streamvbyte/include/ src/slow5_press.c -c -fpic -o lib/slow5_press.o + make -C thirdparty/streamvbyte no_simd= libstreamvbyte.a + make[1]: Entering directory '$SRC_DIR/slow5lib/thirdparty/streamvbyte' + x86_64-apple-darwin13.4.0-clang -fPIC -std=c99 -O3 -Wall -Wextra -pedantic -Wshadow -DSTREAMVBYTE_SSSE3=1 -mssse3 -c ./src/streamvbyte_decode.c -Iinclude + x86_64-apple-darwin13.4.0-clang -fPIC -std=c99 -O3 -Wall -Wextra -pedantic -Wshadow -DSTREAMVBYTE_SSSE3=1 -mssse3 -c ./src/streamvbyte_encode.c -Iinclude + x86_64-apple-darwin13.4.0-clang -fPIC -std=c99 -O3 -Wall -Wextra -pedantic -Wshadow -DSTREAMVBYTE_SSSE3=1 -mssse3 -c ./src/streamvbyte_zigzag.c -Iinclude + ar rcs libstreamvbyte.a streamvbyte_decode.o streamvbyte_encode.o streamvbyte_zigzag.o + make[1]: Leaving directory '$SRC_DIR/slow5lib/thirdparty/streamvbyte' + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/f5c-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -g -Wall -O2 -std=c99 -shared lib/slow5.o lib/slow5_idx.o lib/slow5_misc.o lib/slow5_press.o thirdparty/streamvbyte/libstreamvbyte.a -o lib/libslow5.so -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -lm -lz + cp thirdparty/streamvbyte/libstreamvbyte.a lib/libslow5.a + ar rcs lib/libslow5.a lib/slow5.o lib/slow5_idx.o lib/slow5_misc.o lib/slow5_press.o + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/f5c-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D__STDC_FORMAT_MACROS -g -Wall -O2 -std=c11 -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I./htslib -I slow5lib/include/ -x c src/main.c -c -o build/main.o + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/f5c-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D__STDC_FORMAT_MACROS -g -Wall -O2 -std=c11 -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I./htslib -I slow5lib/include/ -x c src/meth_main.c -c -o build/meth_main.o + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/f5c-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D__STDC_FORMAT_MACROS -g -Wall -O2 -std=c11 -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I./htslib -I slow5lib/include/ -x c src/f5c.c -c -o build/f5c.o + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/f5c-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D__STDC_FORMAT_MACROS -g -Wall -O2 -std=c11 -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I./htslib -I slow5lib/include/ -x c src/f5cio.c -c -o build/f5cio.o + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/f5c-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D__STDC_FORMAT_MACROS -g -Wall -O2 -std=c11 -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I./htslib -I slow5lib/include/ -x c src/events.c -c -o build/events.o + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/f5c-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D__STDC_FORMAT_MACROS -g -Wall -O2 -std=c11 -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I./htslib -I slow5lib/include/ -x c src/nanopolish_read_db.c -c -o build/nanopolish_read_db.o + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/f5c-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D__STDC_FORMAT_MACROS -g -Wall -O2 -std=c11 -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I./htslib -I slow5lib/include/ -x c src/index.c -c -o build/index.o +# Last 100 lines of the build log. diff --git a/recipes/f5c/1.2/meta.yaml b/recipes/f5c/1.2/meta.yaml index c8b4bd4c63cca..05a6a939d6049 100644 --- a/recipes/f5c/1.2/meta.yaml +++ b/recipes/f5c/1.2/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 1dfec496138fb024623fed2ae5e5fc5759d920d11cbcb570cd9ced001f48687b build: - number: 2 + number: 3 requirements: build: diff --git a/recipes/f5c/build.sh b/recipes/f5c/build.sh index 89e1f0240816d..838e83b3b3e28 100644 --- a/recipes/f5c/build.sh +++ b/recipes/f5c/build.sh @@ -1,11 +1,14 @@ #!/bin/bash + +set -xe + scripts/install-hts.sh scripts/install-zstd.sh ./configure --enable-localzstd cd slow5lib -make CC=$CC CXX=$CXX +make -j ${CPU_COUNT} CC=$CC CXX=$CXX cd .. export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS" -make CC=$CC CXX=$CXX +make -j ${CPU_COUNT} CC=$CC CXX=$CXX mkdir -p $PREFIX/bin cp f5c $PREFIX/bin/f5c diff --git a/recipes/f5c/meta.yaml b/recipes/f5c/meta.yaml index 55b96f9534adf..307b7c047ae47 100644 --- a/recipes/f5c/meta.yaml +++ b/recipes/f5c/meta.yaml @@ -1,5 +1,5 @@ {% set name = "f5c" %} -{% set version = "1.3" %} +{% set version = "1.5" %} package: name: {{ name }} @@ -7,10 +7,10 @@ package: source: url: https://github.com/hasindu2008/f5c/releases/download/v{{ version }}/f5c-v{{ version }}-release.tar.gz - sha256: 5688016fe92c8dc6dc5124d4d81bf2ad0ed5fcd78ea0d0a1995f5c868ea1f819 + sha256: 3354813a0523ae3fead68cc3ec5859fa745576b5dc88758a9de172184fac20ab build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage('f5c', max_pin="x") }} @@ -37,3 +37,8 @@ about: license: MIT license_file: LICENSE summary: 'An optimised re-implementation of the call-methylation and eventalign modules in Nanopolish.' + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/fairease-source/build.sh b/recipes/fairease-source/build.sh index 777614692a236..d954115446cb3 100644 --- a/recipes/fairease-source/build.sh +++ b/recipes/fairease-source/build.sh @@ -1,6 +1,6 @@ #!/bin/bash -e -$PYTHON -m pip install --no-deps . +$PYTHON -m pip install --no-deps --no-build-isolation . -vvv # Copy/link executables somewhere on the path python_path=$(find $PREFIX -name SOURCE) diff --git a/recipes/fairease-source/meta.yaml b/recipes/fairease-source/meta.yaml index e1fbf1b345aff..d6ecda35e3cbe 100644 --- a/recipes/fairease-source/meta.yaml +++ b/recipes/fairease-source/meta.yaml @@ -1,5 +1,5 @@ {% set name = "fairease-source" %} -{% set version = "1.4.1" %} +{% set version = "1.4.4" %} package: name: "{{ name|lower }}" @@ -7,21 +7,23 @@ package: source: url: https://github.com/fair-ease/Source/archive/refs/tags/v{{ version }}.tar.gz - sha256: b92fd32f80d6f894da9f130b792fddb3a6f0e1b56aca4d01baa653ed7bcbc1ff + sha256: 2c29f71fe34c6ea6bf45d1bf10340a5dc901bbcf4830d5f892d7bee5ad4f0178 build: number: 0 noarch: python + run_exports: + - {{ pin_subpackage('fairease-source', max_pin="x") }} requirements: host: - - python + - python >=3.6 - pip run: - netCDF4 - numpy - pandas - - python + - python >=3.6 - pykml - scipy - seawater @@ -37,7 +39,7 @@ test: - create_probes_earth_map.py - duplicated_records_remover.py - find_variable_name.py - - insitu_evaluation.py + - insitu_evaluation.py - pointwise_datasets_concatenator.py - ptmp_to_temp.py - real_time_concatenator.py @@ -68,5 +70,4 @@ about: license: CC-BY-NC-4.0 license_family: CC summary: "SOURCE: Sea Observations Utility for Reprocessing, Calibration and Evaluation" - dev_url: https://github.com/fair-ease/Source - + dev_url: https://github.com/fair-ease/Source diff --git a/recipes/fairy/build.sh b/recipes/fairy/build.sh new file mode 100644 index 0000000000000..3662f6efb60db --- /dev/null +++ b/recipes/fairy/build.sh @@ -0,0 +1,8 @@ +#!/bin/bash -euo + +# Add workaround for SSH-based Git connections from Rust/cargo. See https://github.com/rust-lang/cargo/issues/2078 for details. +# We set CARGO_HOME because we don't pass on HOME to conda-build, thus rendering the default "${HOME}/.cargo" defunct. +export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="$(pwd)/.cargo" + +# build statically linked binary with Rust +RUST_BACKTRACE=1 cargo install --verbose --path . --root $PREFIX diff --git a/recipes/fairy/meta.yaml b/recipes/fairy/meta.yaml new file mode 100644 index 0000000000000..5eb8910ec915f --- /dev/null +++ b/recipes/fairy/meta.yaml @@ -0,0 +1,36 @@ +{% set version = "0.5.5" %} + +package: + name: fairy + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage('fairy', max_pin='x.x') }} + +source: + url: https://github.com/bluenote-1577/fairy/archive/v{{ version }}.tar.gz + sha256: 2d36fb115f3c069d4788c46f03ed054dc9b8f73228ed1b04d6b1d6bfd8c4124c + +requirements: + build: + - {{ compiler("cxx") }} + - rust >=1.61 + - make + - cmake >=3.12 + +test: + commands: + - fairy --help + +about: + home: https://github.com/bluenote-1577/fairy + license: MIT + summary: fairy calculates all-to-all approximate coverage for multi-sample metagenomic binning > 100x faster than alignment. + license_file: LICENSE + +extra: + recipe-maintainers: + - bluenote-1577 + diff --git a/recipes/falco/build.sh b/recipes/falco/build.sh index fe81a6f4127d6..ad4472c78b36a 100644 --- a/recipes/falco/build.sh +++ b/recipes/falco/build.sh @@ -1,9 +1,13 @@ #!/bin/bash +set -xe + +export M4="$BUILD_PREFIX/bin/m4" + # add Configuration and example files to opt falco=$PREFIX/opt/falco mkdir -p $falco -cp -r ./* $falco +cp -rf ./* $falco #to fix problems with htslib export C_INCLUDE_PATH=$C_INCLUDE_PATH:${PREFIX}/include @@ -11,9 +15,15 @@ export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:${PREFIX}/include export LIBRARY_PATH=$LIBRARY_PATH:${PREFIX}/lib export LD_LIBRARY_PATH=$LIBRARY_PATH:${PREFIX}/lib +export INCLUDES="-I{PREFIX}/include" +export LIBPATH="-L${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CXXFLAGS="${CXXFLAGS} -O3 -I{PREFIX}/include" + cd $falco -./configure --prefix=$falco --enable-hts -make +autoreconf -if +./configure --prefix=$falco --enable-hts CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" +make -j ${CPU_COUNT} make install for i in $(ls -1 | grep -v Configuration | grep -v bin); do diff --git a/recipes/falco/meta.yaml b/recipes/falco/meta.yaml index 2c839a9280689..b11966d06a4d1 100644 --- a/recipes/falco/meta.yaml +++ b/recipes/falco/meta.yaml @@ -1,15 +1,18 @@ -{% set version = "1.2.1" %} +{% set version = "1.2.4" %} package: name: falco version: {{ version }} build: - number: 5 + number: 0 + run_exports: + # falco is currently not intended to be stable between minor versions (x.x). + - {{ pin_subpackage('falco', max_pin="x.x") }} source: url: https://github.com/smithlabcode/falco/releases/download/v{{ version }}/falco-{{ version }}.tar.gz - sha256: 33de8aafac45c7aea055ed7ab837d0a39d12dcf782816cea8a6c648acb911057 + sha256: 116c257fbf87bf99083d8e539a51ce74bc5a8d141f99a437a0c23e9d1379096a requirements: build: @@ -17,26 +20,31 @@ requirements: - {{ compiler('cxx') }} - autoconf - automake + - libtool host: - zlib - htslib run: - - zlib - htslib about: - home: https://github.com/smithlabcode/falco + home: 'https://github.com/smithlabcode/falco' license: GPL-3.0-only + license_family: GPL3 license_file: LICENSE summary: | falco is a drop-in C++ implementation of FastQC to assess the quality of sequence reads. - doc_url: 'https://falco.readthedocs.io/' + doc_url: 'https://falco.readthedocs.io' + dev_url: 'https://github.com/smithlabcode/falco' test: commands: - falco extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - andrewdavidsmith - guilhermesena1 diff --git a/recipes/famsa/build.sh b/recipes/famsa/build.sh index 10ce8514d75f0..f5a64f295d171 100644 --- a/recipes/famsa/build.sh +++ b/recipes/famsa/build.sh @@ -1,4 +1,16 @@ -#!/bin/bash -e -make famsa -j${CPU_COUNT} +#!/bin/bash + +set -xe + +case $(uname -m) in + aarch64 | arm64) + ARCH_OPTS="PLATFORM=arm8" + ;; + *) + ARCH_OPTS="" + ;; +esac + +make famsa ${ARCH_OPTS} -j${CPU_COUNT} install -d "${PREFIX}/bin" install famsa "${PREFIX}/bin" diff --git a/recipes/famsa/meta.yaml b/recipes/famsa/meta.yaml index 50dc221b1a833..aff435a23945f 100644 --- a/recipes/famsa/meta.yaml +++ b/recipes/famsa/meta.yaml @@ -6,7 +6,9 @@ package: version: {{ version }} build: - number: 2 + number: 3 + run_exports: + - {{ pin_subpackage('famsa', max_pin='x') }} source: url: https://github.com/refresh-bio/FAMSA/archive/v{{ version }}.tar.gz @@ -24,11 +26,14 @@ test: about: home: https://github.com/refresh-bio/FAMSA summary: "Algorithm for large-scale multiple sequence alignments" - license: GPL-3 + license: GPL-3.0-only license_family: GPL license_file: LICENSE extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - doi:10.1038/srep33964 - biotools:famsa diff --git a/recipes/faqcs/build_failure.osx-64.yaml b/recipes/faqcs/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..355b8c5709076 --- /dev/null +++ b/recipes/faqcs/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 75dbf71ff4651d6a783a9d37c2ddc4ed5950198de6ba39b79d8d43a463b31a53 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + 1 error generated. + make: *** [Makefile:18: FaQCs.o] Error 1 + Extracting download + Traceback (most recent call last): + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/faqcs_1717509739648/work + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/faqcs_1717509739648/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/faqcs_1717509739648/_build_env + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/faqcs_1717509739648/work + INFO: activate-gfortran_osx-64.sh made the following environmental changes: + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + DEBUG_FFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/faqcs-2.10 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fimplicit-none -fvar-tracking-assignments + DEBUG_FORTRANFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/faqcs-2.10 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fimplicit-none -fvar-tracking-assignments + F77=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + F90=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + F95=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + FC=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + FC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + FFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/faqcs-2.10 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + FORTRANFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/faqcs-2.10 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + GFORTRAN=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/faqcs_1717509739648/work/conda_build.sh']' returned non-zero exit status 2. + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/faqcs-2.10 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/faqcs-2.10 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/faqcs-2.10 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/faqcs-2.10 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + INFO: activate_clang_osx-64.sh made the following environmental changes: + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + -CC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + -CMAKE_ARGS=-DCMAKE_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + -OBJC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + -CXX_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + Installing FaQCs for OSX. + x86_64-apple-darwin13.4.0-clang -O3 -Wall -std=c0x -msse2 -DATA16 -I. -c fastq.cpp + x86_64-apple-darwin13.4.0-clang -O3 -Wall -std=c0x -msse2 -DATA16 -I. -c options.cpp + x86_64-apple-darwin13.4.0-clang -O3 -Wall -std=c0x -msse2 -DATA16 -I. -c file_util.cpp + x86_64-apple-darwin13.4.0-clang -O3 -Wall -std=c0x -msse2 -DATA16 -I. -c trim.cpp + x86_64-apple-darwin13.4.0-clang -O3 -Wall -std=c0x -msse2 -DATA16 -I. -c plot.cpp + x86_64-apple-darwin13.4.0-clang -O3 -Wall -std=c0x -msse2 -DATA16 -I. -c seq_overlap.cpp + x86_64-apple-darwin13.4.0-clang -O3 -Wall -std=c0x -msse2 -DATA16 -I. -c FaQCs.cpp +# Last 100 lines of the build log. diff --git a/recipes/faqcs/meta.yaml b/recipes/faqcs/meta.yaml index 5d6eaeff54faf..33326bdfd34e3 100644 --- a/recipes/faqcs/meta.yaml +++ b/recipes/faqcs/meta.yaml @@ -6,7 +6,7 @@ package: version: {{ version }} build: - number: 6 + number: 7 source: url: https://github.com/LANL-Bioinformatics/FaQCs/archive/{{ version }}.tar.gz diff --git a/recipes/fast-edit-distance/meta.yaml b/recipes/fast-edit-distance/meta.yaml new file mode 100644 index 0000000000000..a9fa25ffb9240 --- /dev/null +++ b/recipes/fast-edit-distance/meta.yaml @@ -0,0 +1,44 @@ +{% set name = "fast-edit-distance" %} +{% set version = "1.2.2" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/youyupei/fast_edit_distance/archive/v{{ version }}.tar.gz + sha256: 71ead99841435bc2e94be5c8ec89ab5797472b0e7924e0b1a171e5ddf4f7e501 + +build: + number: 0 + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + run_exports: + - {{ pin_subpackage('fast-edit-distance', max_pin="x") }} + +requirements: + build: + - {{ compiler('c') }} + host: + - python + - pip + - cython + run: + - python + +test: + imports: + - fast_edit_distance + +about: + home: "https://github.com/youyupei/fast_edit_distance" + license: MIT + license_family: MIT + license_file: LICENSE + dev_url: "https://github.com/youyupei/fast_edit_distance" + summary: "A implementation of edit distance with improved runtime." + doc_url: "https://github.com/youyupei/fast_edit_distance/blob/v{{ version }}/README.md" + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/fasta3/build.sh b/recipes/fasta3/build.sh index 615d9a68dce78..a66a0586643b0 100755 --- a/recipes/fasta3/build.sh +++ b/recipes/fasta3/build.sh @@ -1,10 +1,12 @@ #!/bin/bash +set -xe + mkdir -pv ${PREFIX}/bin ${PREFIX}/share case $(uname) in - Darwin) make -C src -f ../make/Makefile.os_x86_64 all \ + Darwin) make -j ${CPU_COUNT} -C src -f ../make/Makefile.os_x86_64 all \ CC="${CC} ${CPPFLAGS} ${CFLAGS}" LDFLAGS="${LDFLAGS}" LIB_M='-lm' ;; - *) make -C src -f ../make/Makefile.linux64_sse2 all \ + *) make -j ${CPU_COUNT} -C src -f ../make/Makefile.linux64_sse2 all \ CC="${CC} ${CPPFLAGS} ${CFLAGS}" LDFLAGS="${LDFLAGS}" LIB_M='-lm' ;; esac cp {bin/*36,bin/map_db,scripts/*.pl,misc/*.pl} ${PREFIX}/bin diff --git a/recipes/fasta3/meta.yaml b/recipes/fasta3/meta.yaml index 46874424c5e50..0ea1ef17edd12 100644 --- a/recipes/fasta3/meta.yaml +++ b/recipes/fasta3/meta.yaml @@ -10,7 +10,9 @@ source: sha256: b4b1c3c9be6beebcbaf4215368e159d69255e34c0bdbc84affa10cdb473ce008 build: - number: 0 + number: 1 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: build: @@ -39,3 +41,7 @@ about: license: Apache 2.0 summary: The FASTA package - protein and DNA sequence similarity searching and alignment programs license_file: LICENSE + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/fastahack/build.sh b/recipes/fastahack/build.sh index 8ad0bf8e76ef4..a1bc7742e43c0 100644 --- a/recipes/fastahack/build.sh +++ b/recipes/fastahack/build.sh @@ -1,2 +1,6 @@ -make +#!/usr/bin/env bash + +set -xe + +make -j ${CPU_COUNT} make install \ No newline at end of file diff --git a/recipes/fastahack/meta.yaml b/recipes/fastahack/meta.yaml index 2a41dfad0892d..dfb358e4aad19 100644 --- a/recipes/fastahack/meta.yaml +++ b/recipes/fastahack/meta.yaml @@ -1,22 +1,26 @@ +{% set name = "fastahack" %} +{% set version = "1.0.0" %} + + package: - name: fastahack - version: 2016.07.2 + name: {{ name }} + version: {{ version }} source: - url: https://github.com/ekg/fastahack/archive/bbc645f2f7966cb7b44446200c02627c3168b399.zip - md5: d32a9dee44a8da7477631930e92f5095 + url: https://github.com/ekg/fastahack/archive/refs/tags/v{{ version }}.tar.gz + sha256: cc1c04729b0c8ba3647cbb7e15e2b490ce701d73773f30f5892d68c36a1dceae build: - number: 6 + number: 1 skip: True # [osx] + run_exports: + - {{ pin_subpackage("fastahack", max_pin="x") }} requirements: build: - make - {{ compiler('cxx') }} - run: - test: commands: - fastahack 2>&1 | grep "usage" >/dev/null @@ -26,3 +30,7 @@ about: license: MIT license_file: LICENSE summary: fastahack --- *fast* FASTA file indexing, subsequence and sequence extraction + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/fastani/build.sh b/recipes/fastani/build.sh index 72d67bb7674dc..a52e240621bd5 100644 --- a/recipes/fastani/build.sh +++ b/recipes/fastani/build.sh @@ -7,10 +7,12 @@ export CPP_INCLUDE_PATH=${PREFIX}/include export CPLUS_INCLUDE_PATH=${PREFIX}/include export CXX_INCLUDE_PATH=${PREFIX}/include +export M4=${BUILD_PREFIX}/bin/m4 + mkdir -p $PREFIX/bin ./bootstrap.sh ./configure --prefix=$PREFIX --with-gsl=$PREFIX -make +make -j ${CPU_COUNT} make install diff --git a/recipes/fastani/meta.yaml b/recipes/fastani/meta.yaml index c24fad941222f..eb471a88b27f4 100644 --- a/recipes/fastani/meta.yaml +++ b/recipes/fastani/meta.yaml @@ -7,13 +7,15 @@ package: version: {{ version }} build: - number: 1 + number: 3 run_exports: - {{ pin_subpackage('fastani', max_pin="x") }} source: url: https://github.com/ParBLiSS/{{ name }}/archive/v{{ version }}.tar.gz sha256: {{ sha256 }} + patches: + - wrap-memcpy-only-for-linux-x86_64.patch # [linux and aarch64] requirements: build: @@ -24,7 +26,7 @@ requirements: host: - zlib - gsl >=2.6, <2.7.1 - - openmp # [linux] + - libgomp # [linux] - llvm-openmp # [osx] - clangdev # [osx] - libcxx >=4.0 # [osx] @@ -44,3 +46,8 @@ about: license_family: Apache license_file: LICENSE summary: 'FastANI is developed for fast alignment-free computation of whole-genome Average Nucleotide Identity (ANI).' + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/fastani/wrap-memcpy-only-for-linux-x86_64.patch b/recipes/fastani/wrap-memcpy-only-for-linux-x86_64.patch new file mode 100644 index 0000000000000..4e0f3cd97e967 --- /dev/null +++ b/recipes/fastani/wrap-memcpy-only-for-linux-x86_64.patch @@ -0,0 +1,16 @@ +--- Makefile.in 2024-04-27 14:58:06.238060909 +0300 ++++ Makefile.in.new 2024-04-27 14:58:01.910293221 +0300 +@@ -2,10 +2,11 @@ + CPPFLAGS += @amcppflags@ + + UNAME_S=$(shell uname -s) ++UNAME_M=$(shell uname -m) + + ifeq ($(UNAME_S),Darwin) #macOS clang + CXXFLAGS += -mmacosx-version-min=10.7 -stdlib=libc++ -Xpreprocessor -fopenmp -lomp +-else ++elif ($(UNAME_M),x86_64) + CXXFLAGS += -include src/common/memcpyLink.h -Wl,--wrap=memcpy + CFLAGS += -include src/common/memcpyLink.h + endif + diff --git a/recipes/fastaptamer/build.sh b/recipes/fastaptamer/build.sh index 552c9eeefe138..b8017fd635a55 100644 --- a/recipes/fastaptamer/build.sh +++ b/recipes/fastaptamer/build.sh @@ -1,3 +1,4 @@ #!/bin/bash + mkdir -p ${PREFIX}/bin -cp fastaptamer_* $PREFIX/bin +cp -rf fastaptamer_* $PREFIX/bin diff --git a/recipes/fastaptamer/meta.yaml b/recipes/fastaptamer/meta.yaml index f22fd64ed1930..af4aa20de6d29 100644 --- a/recipes/fastaptamer/meta.yaml +++ b/recipes/fastaptamer/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.0.14" %} +{% set version = "1.0.16" %} package: name: fastaptamer @@ -6,11 +6,13 @@ package: source: url: https://github.com/FASTAptamer/FASTAptamer/archive/v{{ version }}.tar.gz - sha256: 261ffd8364fef68a762a94851da6b0e5969e44bafab1a91033afc5499532b446 + sha256: 8333a6d96a4bb44ca45f4f37af10613c5a04e73a83ec1648612c43e383a9140d build: - number: 1 + number: 0 noarch: generic + run_exports: + - {{ pin_subpackage('fastaptamer', max_pin="x") }} requirements: run: @@ -21,7 +23,8 @@ test: - fastaptamer_cluster -h about: - home: http://burkelab.missouri.edu/fastaptamer.html - license: GNU General Public License v3.0 + home: https://burkelab.missouri.edu/fastaptamer.html + license: "GPL-3.0-or-later" + license_family: GPL3 license_file: LICENSE.txt summary: A Bioinformatic Toolkit for High-Throughput Sequence Analysis of Combinatorial Selections diff --git a/recipes/fasten/meta.yaml b/recipes/fasten/meta.yaml index dc2a8ac7831b5..07b12a9b9b61f 100644 --- a/recipes/fasten/meta.yaml +++ b/recipes/fasten/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.7.2" %} -{% set sha256 = "95e6c224c9afe30b857f002c425929f10ef022180915c0e26199cf01ca18dcab" %} +{% set version = "0.8.3" %} +{% set sha256 = "ae4d56cb81ae1e5ead734aaf3727ae595bb6c8703707f408915b992ee6ba08f1" %} package: name: fasten diff --git a/recipes/fastlin/meta.yaml b/recipes/fastlin/meta.yaml index 98070f5a6218e..d208f595b3223 100644 --- a/recipes/fastlin/meta.yaml +++ b/recipes/fastlin/meta.yaml @@ -1,17 +1,19 @@ {% set name = "fastlin" %} -{% set version = "0.2.1" %} +{% set version = "0.4.1" %} package: name: {{ name|lower}} version: {{ version }} source: - url: https://github.com/rderelle/fastlin/archive/v{{ version }}.tar.gz - sha256: 765820a4c68018a4c8caab76b522eff6a6dca80111721acc38a75840dc94a51b + url: https://github.com/rderelle/fastlin/archive/{{ version }}.tar.gz + sha256: 928730bbd2b7c7397b0b69da2e3cc90391f9771bcd33870c7037cc0e4ca1fc4f build: number: 0 script: "cargo install --no-track --locked --verbose --root \"${PREFIX}\" --path ." + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: build: @@ -24,5 +26,11 @@ test: about: home: https://github.com/rderelle/fastlin license: MIT + license_family: MIT license_file: LICENSE summary: fastlin, ultra-fast MTBC lineage typing + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/fastme/build.sh b/recipes/fastme/build.sh index 2817a50021413..43ffe694346e6 100644 --- a/recipes/fastme/build.sh +++ b/recipes/fastme/build.sh @@ -1,6 +1,9 @@ #!/bin/bash +set -xe + +export M4=${BUILD_PREFIX}/bin/m4 autoreconf -ifv ./configure --prefix=${PREFIX} -make -j4 +make -j ${CPU_COUNT} make install diff --git a/recipes/fastme/meta.yaml b/recipes/fastme/meta.yaml index 04aa30baef6a7..fa70f80f4d49e 100644 --- a/recipes/fastme/meta.yaml +++ b/recipes/fastme/meta.yaml @@ -1,16 +1,18 @@ {% set name = "fastme" %} -{% set version = "2.1.6.1" %} -{% set sha256 = "fae0609576873cb137ad4f63529b3ccba8f747b857c23c7870236aba440076ca" %} +{% set version = "2.1.6.3" %} +{% set sha256 = "d49ff78cca7b76eadf8443efb33f071a7e8a152618ffa3d8e790f167d0a0b176" %} package: name: {{ name|lower }} version: {{ version }} build: - number: 3 + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} source: - url: https://gite.lirmm.fr/atgc/FastME/-/archive/v2.1.6.1/FastME-v2.1.6.1.tar.gz + url: https://gite.lirmm.fr/atgc/FastME/-/archive/v{{ version }}/FastME-v{{ version }}.tar.gz sha256: {{ sha256 }} requirements: @@ -28,11 +30,16 @@ test: about: home: http://www.atgc-montpellier.fr/fastme/binaries.php summary: a comprehensive, accurate and fast distance-based phylogeny inference program. - license: GPLv3 - license_family: GPL - license_file: '{{ environ["RECIPE_DIR"] }}/LICENSE' + license: GPL-3.0-only + license_family: GPL3 + license_file: LICENSE + dev_url: https://gite.lirmm.fr/atgc/FastME/ + doc_url: http://www.atgc-montpellier.fr/fastme/usersguide.php extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - biotools:fastme - doi:10.1093/molbev/msv150 diff --git a/recipes/fastobo/build.sh b/recipes/fastobo/build.sh index 9c8d67584dbb7..fa59a1bd38ab5 100644 --- a/recipes/fastobo/build.sh +++ b/recipes/fastobo/build.sh @@ -19,7 +19,7 @@ sh rustup.sh -y --default-toolchain nightly export PATH="$CARGO_HOME/bin:$PATH" # build statically linked binary with Rust -RUSTFLAGS="-C linker=$CC" C_INCLUDE_PATH=$PREFIX/include LIBRARY_PATH=$PREFIX/lib $PYTHON -m pip install . --no-deps --ignore-installed -vv +RUSTFLAGS="-C linker=$CC" C_INCLUDE_PATH=$PREFIX/include LIBRARY_PATH=$PREFIX/lib $PYTHON -m pip install . --no-deps --no-build-isolation -vvv # remove rustup and cargo rm -rf "$RUSTUP_HOME" diff --git a/recipes/fastobo/meta.yaml b/recipes/fastobo/meta.yaml index 917836b262f84..f07953f5ee29c 100644 --- a/recipes/fastobo/meta.yaml +++ b/recipes/fastobo/meta.yaml @@ -1,5 +1,5 @@ {% set name = "fastobo" %} -{% set version = "0.12.2" %} +{% set version = "0.12.3" %} package: name: "{{ name | lower }}" @@ -7,28 +7,33 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: "2f2779f70ac54874329dddc74cabd86fea88abe56c544c2238076c1d27fe045e" + sha256: "f375932a24b078706797eb9296740f2d2e6987a34309bda7c9f235aba1d74217" build: number: 2 skip: True # [osx or py27 or py36] + run_exports: + - {{ pin_subpackage('fastobo', max_pin="x.x") }} requirements: build: - wget - {{ compiler('c') }} # [not osx] - {{ compiler('cxx') }} # [not osx] - - clang_osx-64 # [osx] - - clangxx_osx-64 # [osx] + - clang_osx-64 # [osx] + - clangxx_osx-64 # [osx] - pkg-config # [osx] + - sysroot_linux-64 =2.17 # [linux and x86_64] host: - pip - setuptools-rust - python - - libiconv #[osx] + - libiconv # [osx] + - sysroot_linux-64 =2.17 # [linux and x86_64] run: - python - - libiconv #[osx] + - libiconv # [osx] + - sysroot_linux-64 =2.17 # [linux and x86_64] test: imports: @@ -43,6 +48,8 @@ about: doc_url: "https://fastobo.readthedocs.io" extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - althonos identifiers: diff --git a/recipes/fastool/build.sh b/recipes/fastool/build.sh index ac5ab35baba29..362baa4a9cd7e 100644 --- a/recipes/fastool/build.sh +++ b/recipes/fastool/build.sh @@ -1,4 +1,7 @@ #!/bin/bash -make CC="${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" + +set -xe + +make -j ${CPU_COUNT} CC="${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" install -d "${PREFIX}/bin" install fastool "${PREFIX}/bin/" diff --git a/recipes/fastool/meta.yaml b/recipes/fastool/meta.yaml index 70c066b830b35..c630514e19130 100644 --- a/recipes/fastool/meta.yaml +++ b/recipes/fastool/meta.yaml @@ -7,7 +7,9 @@ source: sha256: f86f02fced9479b77d6d27a442b66e66f0c55d40d5ad2ddd91a752de57024540 build: - number: 8 + number: 9 + run_exports: + - {{ pin_subpackage("fastool", max_pin="x.x") }} requirements: build: @@ -28,5 +30,8 @@ about: summary: A simple and quick tool to read huge FastQ and FastA files (both normal and gzipped) and manipulate them. extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - biotools:Fastool diff --git a/recipes/fastp/build.sh b/recipes/fastp/build.sh index 2854121f27d26..a7f3dbddf899c 100644 --- a/recipes/fastp/build.sh +++ b/recipes/fastp/build.sh @@ -1,6 +1,6 @@ #!/bin/bash -set -eu -o pipefail +set -xeu -o pipefail mkdir -p $PREFIX/bin -make INCLUDE_DIRS="$PREFIX/include" LIBRARY_DIRS="$PREFIX/lib" +make -j ${CPU_COUNT} INCLUDE_DIRS="$PREFIX/include" LIBRARY_DIRS="$PREFIX/lib" make install diff --git a/recipes/fastp/meta.yaml b/recipes/fastp/meta.yaml index 69d01a796d934..148491c023d63 100644 --- a/recipes/fastp/meta.yaml +++ b/recipes/fastp/meta.yaml @@ -9,7 +9,9 @@ source: sha256: 4fad6db156e769d46071add8a778a13a5cb5186bc1e1a5f9b1ffd499d84d72b5 build: - number: 2 + number: 5 + run_exports: + - {{ pin_subpackage("fastp", max_pin="x.x") }} requirements: build: @@ -27,6 +29,11 @@ test: commands: - fastp --help +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + about: home: https://github.com/OpenGene/fastp license: MIT diff --git a/recipes/fastphylo/build_failure.linux-64.yaml b/recipes/fastphylo/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..d5101e4334ade --- /dev/null +++ b/recipes/fastphylo/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: e38bf2f66a3c3c6e5df0d538a1504b4abfc497939382b0bf3a39602d90979b6d # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + CPP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cpp + CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include + DEBUG_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/fastphylo-1.0.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem $PREFIX/include + GCC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc + GCC_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar + GCC_NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-nm + GCC_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib + HOST=x86_64-conda-linux-gnu + LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_cos6_linux_gnu + build_alias=x86_64-conda-linux-gnu + host_alias=x86_64-conda-linux-gnu + -BUILD=x86_64-conda_cos6-linux-gnu + -CONDA_BUILD_SYSROOT= + INFO: activate-gxx_linux-64.sh made the following environmental changes: + CXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/fastphylo-1.0.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + DEBUG_CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/fastphylo-1.0.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + GXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-g + CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): + Compatibility with CMake < 3.5 will be removed from a future version of + CMake. + + Update the VERSION argument value or use a ... suffix to tell + CMake that the project does not need compatibility with older versions. + + + -- The C compiler identification is GNU 12.3.0 + -- The CXX compiler identification is GNU 12.3.0 + -- Detecting C compiler ABI info + -- Detecting C compiler ABI info - done + -- Check for working C compiler: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc - skipped + -- Detecting C compile features + -- Detecting C compile features - done + -- Detecting CXX compiler ABI info + -- Detecting CXX compiler ABI info - done + -- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c - skipped + -- Detecting CXX compile features + -- Detecting CXX compile features - done + -- Found MPI_C: $PREFIX/lib/libmpi.so (found version "3.1") + -- Found MPI_CXX: $PREFIX/lib/libmpi_cxx.so (found version "3.1") + -- Found MPI: TRUE (found version "3.1") + CMake Deprecation Warning at /opt/conda/conda-bld/fastphylo_1717554765362/_build_env/share/cmake-3.29/Modules/CMakeForceCompiler.cmake:89 (message): + The CMAKE_FORCE_CXX_COMPILER macro is deprecated. Instead just set + CMAKE_CXX_COMPILER and allow CMake to identify the compiler. + Call Stack (most recent call first): + CMakeLists.txt:18 (CMAKE_FORCE_CXX_COMPILER) + + + -- Found LibXml2: $PREFIX/lib/libxml2.so (found version "2.12.7") + -- Looking for sgemm_ + -- Looking for sgemm_ - not found + -- Performing Test CMAKE_HAVE_LIBC_PTHREAD + -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed + -- Looking for pthread_create in pthreads + -- Looking for pthread_create in pthreads - not found + -- Looking for pthread_create in pthread + -- Looking for pthread_create in pthread - found + -- Found Threads: TRUE + -- Looking for sgemm_ + -- Looking for sgemm_ - found + -- Found BLAS: $PREFIX/lib/libblas.so + -- Looking for cheev_ + -- Looking for cheev_ - not found + -- Looking for cheev_ + -- Looking for cheev_ - found + -- Found LAPACK: $PREFIX/lib/liblapack.so;$PREFIX/lib/libblas.so + -- Configuring done (4.3s) + -- Generating done (0.0s) + -- Build files have been written to: $SRC_DIR/build + [ 1%] Building CXX object src/c/CMakeFiles/fastphylo.dir/BitVector.cpp.o + -------------------------------------------------------------------------- + The Open MPI wrapper compiler was unable to find the specified compiler + g in your PATH. + + Note that this compiler was either specified at configure time or in + one of several possible environment variables. + -------------------------------------------------------------------------- + make[2]: *** [src/c/CMakeFiles/fastphylo.dir/build.make:76: src/c/CMakeFiles/fastphylo.dir/BitVector.cpp.o] Error 1 + make[1]: *** [CMakeFiles/Makefile2:154: src/c/CMakeFiles/fastphylo.dir/all] Error 2 + make: *** [Makefile:166: all] Error 2 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/fastphylo_1717554765362/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. diff --git a/recipes/fastphylo/build_failure.osx-64.yaml b/recipes/fastphylo/build_failure.osx-64.yaml index dcd5b3884e0b8..56fa8e429eeb5 100644 --- a/recipes/fastphylo/build_failure.osx-64.yaml +++ b/recipes/fastphylo/build_failure.osx-64.yaml @@ -1,104 +1,104 @@ -recipe_sha: f5429a56d35c61cfbed9537daab96da0f18bb9336282fef09f45c56bde6b083e # The commit at which this recipe failed to build. +recipe_sha: e38bf2f66a3c3c6e5df0d538a1504b4abfc497939382b0bf3a39602d90979b6d # The hash of the recipe's meta.yaml at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. log: |- - Can't parse the binary at the index #1 - {} is not a Mach-O file - Can't parse the binary at the index #0 - {} is not a Mach-O file - Can't parse the binary at the index #1 - {} is not a Mach-O file - Can't parse the binary at the index #0 - {} is not a Mach-O file - Can't parse the binary at the index #1 - {} is not a Mach-O file - Can't parse the binary at the index #2 - {} is not a Mach-O file - Can't parse the binary at the index #3 - {} is not a Mach-O file - Can't parse the binary at the index #4 - {} is not a Mach-O file - Can't parse the binary at the index #0 - {} is not a Mach-O file - Can't parse the binary at the index #1 - {} is not a Mach-O file - Can't parse the binary at the index #2 - {} is not a Mach-O file - Can't parse the binary at the index #3 - {} is not a Mach-O file - Can't parse the binary at the index #4 - {} is not a Mach-O file - Can't parse the binary at the index #0 - {} is not a Mach-O file - Can't parse the binary at the index #1 - INFO: sysroot: '/System/Library/Frameworks/' files: '['vmnet.framework/Versions/A/_CodeSignature/CodeResources', 'vmnet.framework/Versions/A/Resources/version.plist', 'vmnet.framework/Versions/A/Resources/en.lproj/InfoPlist.strings', 'vmnet.framework/Versions/A/Resources/Info.plist']' - INFO: sysroot: '/usr/lib/' files: '['zsh/5.8.1/zsh/zselect.so', 'zsh/5.8.1/zsh/zpty.so', 'zsh/5.8.1/zsh/zprof.so', 'zsh/5.8.1/zsh/zleparameter.so']' - INFO: sysroot: '/opt/X11/' files: '[]' - INFO (fastphylo,bin/fastprot): Needed DSO /System/Library/Frameworks/libSystem.B.dylib found in $SYSROOT - INFO (fastphylo,bin/fastprot): Needed DSO lib/libxml2.2.dylib found in conda-forge::libxml2-2.11.4-hd95e348_0 - INFO (fastphylo,bin/fastprot): Needed DSO /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate found in $SYSROOT - INFO (fastphylo,bin/fastprot): Needed DSO lib/libc.1.dylib found in conda-forge::libcxx-16.0.6-hd57cbcb_0 - INFO (fastphylo,bin/fastprot_mpi): Needed DSO /System/Library/Frameworks/libSystem.B.dylib found in $SYSROOT - INFO (fastphylo,bin/fastprot_mpi): Needed DSO lib/libxml2.2.dylib found in conda-forge::libxml2-2.11.4-hd95e348_0 - INFO (fastphylo,bin/fastprot_mpi): Needed DSO /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate found in $SYSROOT - INFO (fastphylo,bin/fastprot_mpi): Needed DSO lib/libmpi_cxx.40.dylib found in conda-forge::openmpi-4.0.1-hfcebdee_2 - INFO (fastphylo,bin/fastprot_mpi): Needed DSO lib/libmpi.40.dylib found in conda-forge::openmpi-4.0.1-hfcebdee_2 - INFO (fastphylo,bin/fastprot_mpi): Needed DSO lib/libc.1.dylib found in conda-forge::libcxx-16.0.6-hd57cbcb_0 - INFO (fastphylo,bin/fnj): Needed DSO /System/Library/Frameworks/libSystem.B.dylib found in $SYSROOT - INFO (fastphylo,bin/fnj): Needed DSO lib/libxml2.2.dylib found in conda-forge::libxml2-2.11.4-hd95e348_0 - INFO (fastphylo,bin/fnj): Needed DSO lib/libc.1.dylib found in conda-forge::libcxx-16.0.6-hd57cbcb_0 - INFO (fastphylo,bin/fastdist): Needed DSO /System/Library/Frameworks/libSystem.B.dylib found in $SYSROOT - INFO (fastphylo,bin/fastdist): Needed DSO lib/libxml2.2.dylib found in conda-forge::libxml2-2.11.4-hd95e348_0 - INFO (fastphylo,bin/fastdist): Needed DSO lib/libc.1.dylib found in conda-forge::libcxx-16.0.6-hd57cbcb_0 - WARNING (fastphylo): run-exports library package conda-forge::libzlib-1.2.13-h8a1eda9_5 in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to build/ignore_run_exports) - WARNING (fastphylo): run-exports library package conda-forge::zlib-1.2.13-h8a1eda9_5 in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to build/ignore_run_exports) - WARNING (fastphylo): run-exports library package conda-forge::liblapack-3.9.0-3_h7d47d6b_netlib in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to build/ignore_run_exports) - WARNING (fastphylo): run-exports library package conda-forge::libblas-3.9.0-3_h7d47d6b_netlib in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to build/ignore_run_exports) - Fixing permissions - Packaged license file/s. - INFO :: Time taken to mark (prefix) - 0 replacements in 0 files was 0.25 seconds - TEST START: /opt/mambaforge/envs/bioconda/conda-bld/osx-64/fastphylo-1.0.3-h9659bbf_8.tar.bz2 - Renaming work directory '/opt/mambaforge/envs/bioconda/conda-bld/fastphylo_1689454064005/work' to '/opt/mambaforge/envs/bioconda/conda-bld/fastphylo_1689454064005/work_moved_fastphylo-1.0.3-h9659bbf_8_osx-64' - INFO:conda_build.utils:Renaming work directory '/opt/mambaforge/envs/bioconda/conda-bld/fastphylo_1689454064005/work' to '/opt/mambaforge/envs/bioconda/conda-bld/fastphylo_1689454064005/work_moved_fastphylo-1.0.3-h9659bbf_8_osx-64' - shutil.move(work)=/opt/mambaforge/envs/bioconda/conda-bld/fastphylo_1689454064005/work, dest=/opt/mambaforge/envs/bioconda/conda-bld/fastphylo_1689454064005/work_moved_fastphylo-1.0.3-h9659bbf_8_osx-64) - INFO:conda_build.utils:shutil.move(work)=/opt/mambaforge/envs/bioconda/conda-bld/fastphylo_1689454064005/work, dest=/opt/mambaforge/envs/bioconda/conda-bld/fastphylo_1689454064005/work_moved_fastphylo-1.0.3-h9659bbf_8_osx-64) - Reloading output folder: /opt/mambaforge/envs/bioconda/conda-bld + R :: Reversible A :: Applicable + Y :: Build-prefix patch in use M :: Minimal, non-amalgamated + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + D :: Dry-runnable N :: Patch level (1 is preferred) + L :: Patch level not-ambiguous O :: Patch applies without offsets + V :: Patch applies without fuzz E :: Patch applies without emitting to stderr - ## Package Plan ## - - environment location: /opt/mambaforge/envs/bioconda/conda-bld/fastphylo_1689454064005/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold - - - The following NEW packages will be INSTALLED: - - fastphylo: 1.0.3-h9659bbf_8 local - icu: 72.1-h7336db1_0 conda-forge - libblas: 3.9.0-8_openblas conda-forge - libcxx: 16.0.6-hd57cbcb_0 conda-forge - libgfortran: 4.0.0-7_5_0_h1a10cd1_23 conda-forge - libgfortran4: 7.5.0-h1a10cd1_23 conda-forge - libiconv: 1.17-hac89ed1_0 conda-forge - liblapack: 3.9.0-8_openblas conda-forge - libopenblas: 0.3.12-openmp_h63d9170_1 conda-forge - libxml2: 2.11.4-hd95e348_0 conda-forge - libzlib: 1.2.13-h8a1eda9_5 conda-forge - llvm-openmp: 16.0.6-hff08bdf_0 conda-forge - mpi: 1.0-openmpi conda-forge - openmpi: 4.0.1-hfcebdee_2 conda-forge - xz: 5.2.6-h775f41a_0 conda-forge - zlib: 1.2.13-h8a1eda9_5 conda-forge - - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/fastphylo_1689454064005/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold - export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/fastphylo_1689454064005/test_tmp - fastdist -h - grep Usage - Usage: fastdist [OPTION]... [FILE]... - fastprot -h - grep Usage - Tests failed for fastphylo-1.0.3-h9659bbf_8.tar.bz2 - moving package to /opt/mambaforge/envs/bioconda/conda-bld/broken - WARNING:conda_build.build:Tests failed for fastphylo-1.0.3-h9659bbf_8.tar.bz2 - moving package to /opt/mambaforge/envs/bioconda/conda-bld/broken - TESTS FAILED: fastphylo-1.0.3-h9659bbf_8.tar.bz2 + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/fastphylo_1717527479810/work + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/fastphylo_1717527479810/work/conda_build.sh']' returned non-zero exit status 2. + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/fastphylo_1717527479810/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/fastphylo_1717527479810/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/fastphylo_1717527479810/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/fastphylo-1.0.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/fastphylo-1.0.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/fastphylo-1.0.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/fastphylo-1.0.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + -- The C compiler identification is Clang 16.0.6 + -- The CXX compiler identification is Clang 16.0.6 + -- Detecting C compiler ABI info + -- Detecting C compiler ABI info - done + -- Check for working C compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting C compile features + -- Detecting C compile features - done + -- Detecting CXX compiler ABI info + -- Detecting CXX compiler ABI info - done + -- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting CXX compile features + -- Detecting CXX compile features - done + -- Found MPI_C: $PREFIX/lib/libmpi.dylib (found version "3.1") + -- Found MPI_CXX: $PREFIX/lib/libmpi_cxx.dylib (found version "3.1") + -- Found MPI: TRUE (found version "3.1") + -- Found LibXml2: $PREFIX/lib/libxml2.dylib (found version "2.12.7") + -- Looking for sgemm_ + -- Looking for sgemm_ - not found + -- Performing Test CMAKE_HAVE_LIBC_PTHREAD + -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success + -- Found Threads: TRUE + -- Looking for dgemm_ + -- Looking for dgemm_ - found + -- Found BLAS: /Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Accelerate.framework + -- Looking for cheev_ + -- Looking for cheev_ - found + -- Found LAPACK: /Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Accelerate.framework;-lm;-ldl + -- Configuring done (9.8s) + -- Generating done (0.1s) + -- Build files have been written to: $SRC_DIR/build + [ 1%] Building CXX object src/c/CMakeFiles/fastphylo.dir/BitVector.cpp.o + [ 2%] Building CXX object src/c/CMakeFiles/fastphylo.dir/Exception.cpp.o + [ 3%] Building CXX object src/c/CMakeFiles/fastphylo.dir/InitAndPrintOn_utils.cpp.o # Last 100 lines of the build log. diff --git a/recipes/fastphylo/meta.yaml b/recipes/fastphylo/meta.yaml index ba7ce48890114..6552bd82cc194 100644 --- a/recipes/fastphylo/meta.yaml +++ b/recipes/fastphylo/meta.yaml @@ -5,7 +5,7 @@ package: version: {{ version }} build: - number: 8 + number: 9 source: url: https://github.com/arvestad/FastPhylo/archive/{{ version }}.tar.gz diff --git a/recipes/fastq-and-furious/meta.yaml b/recipes/fastq-and-furious/meta.yaml index eb66fa84550c1..3acff34beb677 100644 --- a/recipes/fastq-and-furious/meta.yaml +++ b/recipes/fastq-and-furious/meta.yaml @@ -7,7 +7,7 @@ source: sha256: 376bee916d981fd68fbe8a6b3264768059d740d77fdd3227023acddd43d0e0e8 build: - number: 3 + number: 4 # When building, warns "Not tested on OSX. Feedback welcome" and does not compile on OSX and py310. skip: True # [py2k or osx] diff --git a/recipes/fastq-filter/meta.yaml b/recipes/fastq-filter/meta.yaml index 68d6f371ea0b0..c83934cf95b3b 100644 --- a/recipes/fastq-filter/meta.yaml +++ b/recipes/fastq-filter/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 8f28ea8124871b7c2cba2b558b7b64abdcbd4b0fdb7197a82056f7e6202b3e4b build: - number: 1 + number: 2 skip: true # [py < 38] entry_points: - fastq-filter=fastq_filter:main diff --git a/recipes/fastq-scan/meta.yaml b/recipes/fastq-scan/meta.yaml index ecec567b57cf1..5a1e652f87b45 100644 --- a/recipes/fastq-scan/meta.yaml +++ b/recipes/fastq-scan/meta.yaml @@ -11,7 +11,9 @@ source: sha256: {{ sha256 }} build: - number: 2 + number: 3 + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} requirements: build: @@ -30,3 +32,7 @@ about: license: MIT license_file: LICENSE summary: FASTQ summary statistics in JSON format + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/fastq-screen/build.sh b/recipes/fastq-screen/build.sh index 9231a3df38e4f..992b6d8c20941 100644 --- a/recipes/fastq-screen/build.sh +++ b/recipes/fastq-screen/build.sh @@ -1,8 +1,9 @@ #!/bin/bash + fastqscreen=$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM mkdir -p $fastqscreen sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' fastq_screen -cp -r ./* $fastqscreen -rm -f $fastqscreen/fastq_screen.bak +cp -rf ./* $fastqscreen +rm -rf $fastqscreen/fastq_screen.bak mkdir -p $PREFIX/bin -ln -s $fastqscreen/fastq_screen $PREFIX/bin/fastq_screen +ln -sf $fastqscreen/fastq_screen $PREFIX/bin/fastq_screen diff --git a/recipes/fastq-screen/meta.yaml b/recipes/fastq-screen/meta.yaml index 213a3d619d8db..9b5b05615e468 100644 --- a/recipes/fastq-screen/meta.yaml +++ b/recipes/fastq-screen/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.15.3" %} -{% set sha256 = "002750d78ca50fe0f789e24445e10988e16244f81b4f0189bf2fc4ee8b680be5" %} +{% set version = "0.16.0" %} +{% set sha256 = "4c193cd4755506a1ecb2ae0e325a4d2e47a26ae093786255be46c38a8d8c16ed" %} package: name: fastq-screen @@ -12,9 +12,11 @@ source: build: noarch: generic number: 0 + run_exports: + - {{ pin_subpackage('fastq-screen', max_pin="x.x") }} requirements: - build: + host: - bowtie - bowtie2 - perl @@ -31,6 +33,8 @@ test: - fastq_screen --version about: - home: 'http://www.bioinformatics.babraham.ac.uk/projects/fastq_screen/' - license: GPLv3 - summary: 'FastQ Screen allows you to screen a library of sequences in FastQ format against a set of sequence databases so you can see if the composition of the library matches with what you expect' + home: 'https://www.bioinformatics.babraham.ac.uk/projects/fastq_screen' + license: GPL-3.0-or-later + license_family: GPL3 + summary: 'FastQ Screen allows you to screen a library of sequences in FastQ format against a set of sequence databases so you can see if the composition of the library matches with what you expect.' + dev_url: https://github.com/StevenWingett/FastQ-Screen diff --git a/recipes/fastq/meta.yaml b/recipes/fastq/meta.yaml index 4201b44ec8ee4..936ef2639cd24 100644 --- a/recipes/fastq/meta.yaml +++ b/recipes/fastq/meta.yaml @@ -1,5 +1,5 @@ {% set name = "fastq" %} -{% set version = "2.0.2" %} +{% set version = "2.0.4" %} package: name: {{ name }} @@ -7,33 +7,31 @@ package: source: url: https://github.com/not-a-feature/fastq/archive/refs/tags/v{{ version }}.tar.gz - sha256: 855f2347f3a566fde44ba1d91d033dc0de9e0c1ce72dfe7085c6f92f7eeb7cd4 + sha256: 677a5d2eb2b70d0d90da7bf9c52fabd327e5522cb7a7004a011940a3014c0562 build: noarch: python number: 0 - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --use-pep517 -vvv" + run_exports: + - {{ pin_subpackage('fastq', max_pin="x") }} requirements: host: - - python >=3.7 + - python >=3.8 - pip run: - - python >=3.7 - - miniFasta >=2.1 + - python >=3.8 + - miniFasta >=3.0.1 test: imports: - fastq - commands: - - pip check - requires: - - pip about: home: https://github.com/not-a-feature/fastq license: GPL-3.0-or-later - license_family: GPL + license_family: GPL3 license_file: LICENSE summary: 'A simple FASTQ toolbox for small to medium size projects without dependencies.' description: | diff --git a/recipes/fastqc-rs/meta.yaml b/recipes/fastqc-rs/meta.yaml index e7049ad4f89f4..3a05e9698633c 100644 --- a/recipes/fastqc-rs/meta.yaml +++ b/recipes/fastqc-rs/meta.yaml @@ -1,24 +1,26 @@ -{% set version = "0.3.2" %} +{% set version = "0.3.4" %} package: name: fastqc-rs version: {{version}} build: - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage('fastqc-rs', max_pin="x.x") }} source: url: https://github.com/fastqc-rs/fastqc-rs/archive/v{{ version }}.tar.gz - sha256: f2dc917e71d3408d88aa2372dc485dc58b5fb0d0af940f9f48fbecb8a34ca78d + sha256: 02b789b7194a56aeb529413462dc693f747847c7e2481a093e2f56d1eeb7e780 requirements: build: - - rust >=1.30 - clangdev - cmake - make - {{ compiler('c') }} - {{ compiler('cxx') }} + - {{ compiler('rust') }} - pkg-config host: - clangdev @@ -36,9 +38,13 @@ test: about: home: https://fastqc-rs.github.io license: MIT - summary: | - A fast quality control tool for FASTQ files written in rust. + license_file: LICENSE + summary: A fast quality control tool for FASTQ files written in rust. + dev_url: https://github.com/fastqc-rs/fastqc-rs extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - fxwiegand diff --git a/recipes/fastqpuri/meta.yaml b/recipes/fastqpuri/meta.yaml index 7d6b785b28628..30f24bc75706d 100644 --- a/recipes/fastqpuri/meta.yaml +++ b/recipes/fastqpuri/meta.yaml @@ -7,7 +7,7 @@ source: sha256: af16c1aa0a679a7c921e4ea8532faf83aad2b7790a38717d592fa39680c813d9 build: - number: 7 + number: 8 requirements: build: - cmake diff --git a/recipes/fastqsplitter/build_failure.osx-64.yaml b/recipes/fastqsplitter/build_failure.osx-64.yaml deleted file mode 100644 index 3922d2271c965..0000000000000 --- a/recipes/fastqsplitter/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: f633d5e1ad7650a00a5d08800359a7c9cf20a5ef63d9d2c11d7eccf981247c36 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - except ImportError as error: - print( - "ERROR: Can not execute setup.py since setuptools is not available in " - "the build environment.", - file=sys.stderr, - ) - sys.exit(1) - - __file__ = %r - sys.argv[0] = __file__ - - if os.path.exists(__file__): - filename = __file__ - with tokenize.open(__file__) as f: - setup_py_code = f.read() - else: - filename = "" - setup_py_code = "from setuptools import setup; setup()" - - exec(compile(setup_py_code, filename, "exec")) - '"'"''"'"''"'"' % ('"'"'/opt/mambaforge/envs/bioconda/conda-bld/fastqsplitter_1685547193967/work/setup.py'"'"',), "", "exec"))' bdist_wheel -d /private/tmp/pip-wheel-cejgll56 - cwd: /opt/mambaforge/envs/bioconda/conda-bld/fastqsplitter_1685547193967/work/ - Building wheel for fastqsplitter (setup.py): finished with status 'error' - Running setup.py clean for fastqsplitter - ERROR: Failed building wheel for fastqsplitter - Running command python setup.py clean - /opt/mambaforge/envs/bioconda/conda-bld/fastqsplitter_1685547193967/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.9/site-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in setup.cfg - !! - - ******************************************************************************** - The license_file parameter is deprecated, use license_files instead. - - By 2023-Oct-30, you need to update your project and remove deprecated calls - or your builds will no longer be supported. - - See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details. - ******************************************************************************** - - !! - parsed = self.parsers.get(option_name, lambda x: x)(value) - /opt/mambaforge/envs/bioconda/conda-bld/fastqsplitter_1685547193967/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.9/site-packages/setuptools/__init__.py:84: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. - !! - - ******************************************************************************** - Requirements should be satisfied by a PEP 517 installer. - If you are using pip, you can try pip install --use-pep517. - ******************************************************************************** - - !! - dist.fetch_build_eggs(dist.setup_requires) - /opt/mambaforge/envs/bioconda/conda-bld/fastqsplitter_1685547193967/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.9/site-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in setup.cfg - !! - - ******************************************************************************** - The license_file parameter is deprecated, use license_files instead. - - By 2023-Oct-30, you need to update your project and remove deprecated calls - or your builds will no longer be supported. - - See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details. - ******************************************************************************** - - !! - parsed = self.parsers.get(option_name, lambda x: x)(value) - running clean - removing 'build/temp.macosx-10.9-x86_64-cpython-39' (and everything under it) - removing 'build/lib.macosx-10.9-x86_64-cpython-39' (and everything under it) - 'build/bdist.macosx-10.9-x86_64' does not exist -- can't clean it - 'build/scripts-3.9' does not exist -- can't clean it - removing 'build' - Failed to build fastqsplitter - ERROR: Could not build wheels for fastqsplitter, which is required to install pyproject.toml-based projects - Exception information: - Traceback (most recent call last): - File "$PREFIX/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 169, in exc_logging_wrapper - status = run_func(*args) - File "$PREFIX/lib/python3.9/site-packages/pip/_internal/cli/req_command.py", line 248, in wrapper - return func(self, options, args) - File "$PREFIX/lib/python3.9/site-packages/pip/_internal/commands/install.py", line 426, in run - raise InstallationError( - pip._internal.exceptions.InstallationError: Could not build wheels for fastqsplitter, which is required to install pyproject.toml-based projects - Removed build tracker: '/private/tmp/pip-build-tracker-m2qjreg8' - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/fastqsplitter_1685547193967/work/conda_build.sh']' returned non-zero exit status 1. -# Last 100 lines of the build log. diff --git a/recipes/fastqsplitter/meta.yaml b/recipes/fastqsplitter/meta.yaml index 8ef24cd3a8498..e38a75a9d6c7a 100644 --- a/recipes/fastqsplitter/meta.yaml +++ b/recipes/fastqsplitter/meta.yaml @@ -11,7 +11,7 @@ source: build: skip: True # [py27] - number: 5 + number: 6 entry_points: - fastqsplitter=fastqsplitter:main script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " diff --git a/recipes/fastsimbac/meta.yaml b/recipes/fastsimbac/meta.yaml index b487db25e8d44..e2bb200b68cfd 100644 --- a/recipes/fastsimbac/meta.yaml +++ b/recipes/fastsimbac/meta.yaml @@ -7,7 +7,9 @@ source: md5: "7c183b317bc45606f6b37e27f6ee8357" build: - number: 5 + number: 6 + run_exports: + - {{ pin_subpackage("fastsimbac", max_pin="x") }} requirements: build: diff --git a/recipes/fasttree/meta.yaml b/recipes/fasttree/meta.yaml index 1051a9da464c4..63e42529105d4 100644 --- a/recipes/fasttree/meta.yaml +++ b/recipes/fasttree/meta.yaml @@ -10,15 +10,15 @@ source: sha256: "9026ae550307374be92913d3098f8d44187d30bea07902b9dcbfb123eaa2050f" build: - number: 2 + number: 4 + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} requirements: build: - {{ compiler('c') }} - llvm-openmp # [osx] - libgomp # [linux] - host: - run: test: commands: @@ -33,6 +33,9 @@ about: summary: "FastTree infers approximately-maximum-likelihood phylogenetic trees from alignments of nucleotide or protein sequences" extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - biotools:fasttree - doi:10.1093/molbev/msp077 diff --git a/recipes/favites_lite/build.sh b/recipes/favites_lite/build.sh new file mode 100644 index 0000000000000..b6efe41d72ed0 --- /dev/null +++ b/recipes/favites_lite/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +mkdir -p ${PREFIX}/bin/FAVITES-Lite +cp -r * ${PREFIX}/bin/FAVITES-Lite/ +ln -s ${PREFIX}/bin/FAVITES-Lite/favites_lite.py ${PREFIX}/bin/favites_lite.py diff --git a/recipes/favites_lite/meta.yaml b/recipes/favites_lite/meta.yaml new file mode 100644 index 0000000000000..7cf5f715e0365 --- /dev/null +++ b/recipes/favites_lite/meta.yaml @@ -0,0 +1,41 @@ +{% set version = "1.0.3" %} + +package: + name: favites_lite + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage('favites_lite', max_pin="x.x.x") }} + noarch: generic + +source: + url: https://github.com/niemasd/FAVITES-Lite/archive/refs/tags/{{ version }}.tar.gz + sha256: da2d03bb450a748f779b348776aad889ce4839ecead1a82f0a2ea99c5430d578 + +requirements: + run: + - python >=3.7 + - numpy + - scipy + - treesap + - treeswift + - coatran + - gemf_favites + - niemagraphgen + - seq-gen + +about: + home: https://github.com/niemasd/FAVITES-Lite + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE + summary: "FAVITES-Lite: A lightweight framework for viral transmission and evolution simulation" + dev_url: https://github.com/niemasd/FAVITES-Lite + +test: + commands: + - favites_lite.py -h + identifiers: + - doi:10.1093/bioinformatics/bty921 diff --git a/recipes/fcsparser/meta.yaml b/recipes/fcsparser/meta.yaml deleted file mode 100644 index 98ca491275e3f..0000000000000 --- a/recipes/fcsparser/meta.yaml +++ /dev/null @@ -1,40 +0,0 @@ -{% set name = "fcsparser" %} -{% set version = "0.2.8" %} -{% set sha256 = "df0436bf678df1f4ad3274e55fa06773f884fa45d8329015913a6178d10c73ea" %} - -package: - name: {{ name|lower }} - version: {{ version }} - -source: - url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/fcsparser-{{ version }}.tar.gz - sha256: {{ sha256 }} - -build: - number: 0 - noarch: python - script: {{ PYTHON }} -m pip install . --no-deps -vvv - run_exports: - - {{ pin_subpackage("fcsparser", max_pin="x.x") }} - -requirements: - host: - - python >=3.8 - - poetry-core - - pip - run: - - python >=3.8 - - pandas - - numpy - -test: - imports: - - fcsparser - - fcsparser.tests - -about: - home: https://github.com/eyurtsev/fcsparser - summary: 'A python package for reading raw fcs files' - license: MIT - license_family: MIT - license_file: LICENSE diff --git a/recipes/fegenie/meta.yaml b/recipes/fegenie/meta.yaml index 3be198aa057d2..4a7bcb6527205 100644 --- a/recipes/fegenie/meta.yaml +++ b/recipes/fegenie/meta.yaml @@ -14,7 +14,7 @@ source: build: noarch: generic - number: 3 + number: 4 requirements: host: diff --git a/recipes/fermi2/build.sh b/recipes/fermi2/build.sh index 68359d710bcc8..c9a445bbe18a7 100644 --- a/recipes/fermi2/build.sh +++ b/recipes/fermi2/build.sh @@ -1,8 +1,10 @@ #!/bin/bash +set -xe + mkdir -p $PREFIX/bin -make CC="$CC" CFLAGS="$CFLAGS" INCLUDES="-I$PREFIX/include" LIBS="-L${PREFIX}/lib -lm -lz -lpthread" +make -j ${CPU_COUNT} CC="$CC" CFLAGS="$CFLAGS" INCLUDES="-I$PREFIX/include" LIBS="-L${PREFIX}/lib -lm -lz -lpthread" mv fermi2 $PREFIX/bin mv fermi2.pl $PREFIX/bin diff --git a/recipes/fermi2/fermi2-aarch64.patch b/recipes/fermi2/fermi2-aarch64.patch new file mode 100644 index 0000000000000..d3ca18060d796 --- /dev/null +++ b/recipes/fermi2/fermi2-aarch64.patch @@ -0,0 +1,9311 @@ +diff --git c/ksw.c i/ksw.c +index 9b8c065..6c11320 100644 +--- c/ksw.c ++++ i/ksw.c +@@ -25,7 +25,11 @@ + + #include + #include ++#ifdef __ARM_NEON ++#include "sse2neon.h" ++#else + #include ++#endif + #include "ksw.h" + + #ifdef __GNUC__ +diff --git c/sse2neon.h i/sse2neon.h +new file mode 100644 +index 0000000..7bbf4e1 +--- /dev/null ++++ i/sse2neon.h +@@ -0,0 +1,9289 @@ ++#ifndef SSE2NEON_H ++#define SSE2NEON_H ++ ++/* ++ * sse2neon is freely redistributable under the MIT License. ++ * ++ * Copyright (c) 2015-2024 SSE2NEON Contributors. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to deal ++ * in the Software without restriction, including without limitation the rights ++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++ * copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ * SOFTWARE. ++ */ ++ ++// This header file provides a simple API translation layer ++// between SSE intrinsics to their corresponding Arm/Aarch64 NEON versions ++// ++// Contributors to this work are: ++// John W. Ratcliff ++// Brandon Rowlett ++// Ken Fast ++// Eric van Beurden ++// Alexander Potylitsin ++// Hasindu Gamaarachchi ++// Jim Huang ++// Mark Cheng ++// Malcolm James MacLeod ++// Devin Hussey (easyaspi314) ++// Sebastian Pop ++// Developer Ecosystem Engineering ++// Danila Kutenin ++// François Turban (JishinMaster) ++// Pei-Hsuan Hung ++// Yang-Hao Yuan ++// Syoyo Fujita ++// Brecht Van Lommel ++// Jonathan Hue ++// Cuda Chen ++// Aymen Qader ++// Anthony Roberts ++ ++/* Tunable configurations */ ++ ++/* Enable precise implementation of math operations ++ * This would slow down the computation a bit, but gives consistent result with ++ * x86 SSE. (e.g. would solve a hole or NaN pixel in the rendering result) ++ */ ++/* _mm_min|max_ps|ss|pd|sd */ ++#ifndef SSE2NEON_PRECISE_MINMAX ++#define SSE2NEON_PRECISE_MINMAX (0) ++#endif ++/* _mm_rcp_ps */ ++#ifndef SSE2NEON_PRECISE_DIV ++#define SSE2NEON_PRECISE_DIV (0) ++#endif ++/* _mm_sqrt_ps and _mm_rsqrt_ps */ ++#ifndef SSE2NEON_PRECISE_SQRT ++#define SSE2NEON_PRECISE_SQRT (0) ++#endif ++/* _mm_dp_pd */ ++#ifndef SSE2NEON_PRECISE_DP ++#define SSE2NEON_PRECISE_DP (0) ++#endif ++ ++/* Enable inclusion of windows.h on MSVC platforms ++ * This makes _mm_clflush functional on windows, as there is no builtin. ++ */ ++#ifndef SSE2NEON_INCLUDE_WINDOWS_H ++#define SSE2NEON_INCLUDE_WINDOWS_H (0) ++#endif ++ ++/* compiler specific definitions */ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma push_macro("FORCE_INLINE") ++#pragma push_macro("ALIGN_STRUCT") ++#define FORCE_INLINE static inline __attribute__((always_inline)) ++#define ALIGN_STRUCT(x) __attribute__((aligned(x))) ++#define _sse2neon_likely(x) __builtin_expect(!!(x), 1) ++#define _sse2neon_unlikely(x) __builtin_expect(!!(x), 0) ++#elif defined(_MSC_VER) ++#if _MSVC_TRADITIONAL ++#error Using the traditional MSVC preprocessor is not supported! Use /Zc:preprocessor instead. ++#endif ++#ifndef FORCE_INLINE ++#define FORCE_INLINE static inline ++#endif ++#ifndef ALIGN_STRUCT ++#define ALIGN_STRUCT(x) __declspec(align(x)) ++#endif ++#define _sse2neon_likely(x) (x) ++#define _sse2neon_unlikely(x) (x) ++#else ++#pragma message("Macro name collisions may happen with unsupported compilers.") ++#endif ++ ++#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ < 10 ++#warning "GCC versions earlier than 10 are not supported." ++#endif ++ ++/* C language does not allow initializing a variable with a function call. */ ++#ifdef __cplusplus ++#define _sse2neon_const static const ++#else ++#define _sse2neon_const const ++#endif ++ ++#include ++#include ++ ++#if defined(_WIN32) ++/* Definitions for _mm_{malloc,free} are provided by ++ * from both MinGW-w64 and MSVC. ++ */ ++#define SSE2NEON_ALLOC_DEFINED ++#endif ++ ++/* If using MSVC */ ++#ifdef _MSC_VER ++#include ++#if SSE2NEON_INCLUDE_WINDOWS_H ++#include ++#include ++#endif ++ ++#if !defined(__cplusplus) ++#error SSE2NEON only supports C++ compilation with this compiler ++#endif ++ ++#ifdef SSE2NEON_ALLOC_DEFINED ++#include ++#endif ++ ++#if (defined(_M_AMD64) || defined(__x86_64__)) || \ ++ (defined(_M_ARM64) || defined(__arm64__)) ++#define SSE2NEON_HAS_BITSCAN64 ++#endif ++#endif ++ ++#if defined(__GNUC__) || defined(__clang__) ++#define _sse2neon_define0(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define1(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define2(type, a, b, body) \ ++ __extension__({ \ ++ type _a = (a), _b = (b); \ ++ body \ ++ }) ++#define _sse2neon_return(ret) (ret) ++#else ++#define _sse2neon_define0(type, a, body) [=](type _a) { body }(a) ++#define _sse2neon_define1(type, a, body) [](type _a) { body }(a) ++#define _sse2neon_define2(type, a, b, body) \ ++ [](type _a, type _b) { body }((a), (b)) ++#define _sse2neon_return(ret) return ret ++#endif ++ ++#define _sse2neon_init(...) \ ++ { \ ++ __VA_ARGS__ \ ++ } ++ ++/* Compiler barrier */ ++#if defined(_MSC_VER) ++#define SSE2NEON_BARRIER() _ReadWriteBarrier() ++#else ++#define SSE2NEON_BARRIER() \ ++ do { \ ++ __asm__ __volatile__("" ::: "memory"); \ ++ (void) 0; \ ++ } while (0) ++#endif ++ ++/* Memory barriers ++ * __atomic_thread_fence does not include a compiler barrier; instead, ++ * the barrier is part of __atomic_load/__atomic_store's "volatile-like" ++ * semantics. ++ */ ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) ++#include ++#endif ++ ++FORCE_INLINE void _sse2neon_smp_mb(void) ++{ ++ SSE2NEON_BARRIER(); ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \ ++ !defined(__STDC_NO_ATOMICS__) ++ atomic_thread_fence(memory_order_seq_cst); ++#elif defined(__GNUC__) || defined(__clang__) ++ __atomic_thread_fence(__ATOMIC_SEQ_CST); ++#else /* MSVC */ ++ __dmb(_ARM64_BARRIER_ISH); ++#endif ++} ++ ++/* Architecture-specific build options */ ++/* FIXME: #pragma GCC push_options is only available on GCC */ ++#if defined(__GNUC__) ++#if defined(__arm__) && __ARM_ARCH == 7 ++/* According to ARM C Language Extensions Architecture specification, ++ * __ARM_NEON is defined to a value indicating the Advanced SIMD (NEON) ++ * architecture supported. ++ */ ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error "You must enable NEON instructions (e.g. -mfpu=neon) to use SSE2NEON." ++#endif ++#if !defined(__clang__) ++#pragma GCC push_options ++#pragma GCC target("fpu=neon") ++#endif ++#elif defined(__aarch64__) || defined(_M_ARM64) ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#pragma GCC target("+simd") ++#endif ++#elif __ARM_ARCH == 8 ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error \ ++ "You must enable NEON instructions (e.g. -mfpu=neon-fp-armv8) to use SSE2NEON." ++#endif ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#endif ++#else ++#error \ ++ "Unsupported target. Must be either ARMv7-A+NEON or ARMv8-A \ ++(you could try setting target explicitly with -march or -mcpu)" ++#endif ++#endif ++ ++#include ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) && (__ARM_ARCH == 8) ++#if defined __has_include && __has_include() ++#include ++#endif ++#endif ++ ++/* Apple Silicon cache lines are double of what is commonly used by Intel, AMD ++ * and other Arm microarchitectures use. ++ * From sysctl -a on Apple M1: ++ * hw.cachelinesize: 128 ++ */ ++#if defined(__APPLE__) && (defined(__aarch64__) || defined(__arm64__)) ++#define SSE2NEON_CACHELINE_SIZE 128 ++#else ++#define SSE2NEON_CACHELINE_SIZE 64 ++#endif ++ ++/* Rounding functions require either Aarch64 instructions or libm fallback */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#include ++#endif ++ ++/* On ARMv7, some registers, such as PMUSERENR and PMCCNTR, are read-only ++ * or even not accessible in user mode. ++ * To write or access to these registers in user mode, ++ * we have to perform syscall instead. ++ */ ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) ++#include ++#endif ++ ++/* "__has_builtin" can be used to query support for built-in functions ++ * provided by gcc/clang and other compilers that support it. ++ */ ++#ifndef __has_builtin /* GCC prior to 10 or non-clang compilers */ ++/* Compatibility with gcc <= 9 */ ++#if defined(__GNUC__) && (__GNUC__ <= 9) ++#define __has_builtin(x) HAS##x ++#define HAS__builtin_popcount 1 ++#define HAS__builtin_popcountll 1 ++ ++// __builtin_shuffle introduced in GCC 4.7.0 ++#if (__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) ++#define HAS__builtin_shuffle 1 ++#else ++#define HAS__builtin_shuffle 0 ++#endif ++ ++#define HAS__builtin_shufflevector 0 ++#define HAS__builtin_nontemporal_store 0 ++#else ++#define __has_builtin(x) 0 ++#endif ++#endif ++ ++/** ++ * MACRO for shuffle parameter for _mm_shuffle_ps(). ++ * Argument fp3 is a digit[0123] that represents the fp from argument "b" ++ * of mm_shuffle_ps that will be placed in fp3 of result. fp2 is the same ++ * for fp2 in result. fp1 is a digit[0123] that represents the fp from ++ * argument "a" of mm_shuffle_ps that will be places in fp1 of result. ++ * fp0 is the same for fp0 of result. ++ */ ++#define _MM_SHUFFLE(fp3, fp2, fp1, fp0) \ ++ (((fp3) << 6) | ((fp2) << 4) | ((fp1) << 2) | ((fp0))) ++ ++#if __has_builtin(__builtin_shufflevector) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __builtin_shufflevector(a, b, __VA_ARGS__) ++#elif __has_builtin(__builtin_shuffle) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __extension__({ \ ++ type tmp = {__VA_ARGS__}; \ ++ __builtin_shuffle(a, b, tmp); \ ++ }) ++#endif ++ ++#ifdef _sse2neon_shuffle ++#define vshuffle_s16(a, b, ...) _sse2neon_shuffle(int16x4_t, a, b, __VA_ARGS__) ++#define vshuffleq_s16(a, b, ...) _sse2neon_shuffle(int16x8_t, a, b, __VA_ARGS__) ++#define vshuffle_s32(a, b, ...) _sse2neon_shuffle(int32x2_t, a, b, __VA_ARGS__) ++#define vshuffleq_s32(a, b, ...) _sse2neon_shuffle(int32x4_t, a, b, __VA_ARGS__) ++#define vshuffle_s64(a, b, ...) _sse2neon_shuffle(int64x1_t, a, b, __VA_ARGS__) ++#define vshuffleq_s64(a, b, ...) _sse2neon_shuffle(int64x2_t, a, b, __VA_ARGS__) ++#endif ++ ++/* Rounding mode macros. */ ++#define _MM_FROUND_TO_NEAREST_INT 0x00 ++#define _MM_FROUND_TO_NEG_INF 0x01 ++#define _MM_FROUND_TO_POS_INF 0x02 ++#define _MM_FROUND_TO_ZERO 0x03 ++#define _MM_FROUND_CUR_DIRECTION 0x04 ++#define _MM_FROUND_NO_EXC 0x08 ++#define _MM_FROUND_RAISE_EXC 0x00 ++#define _MM_FROUND_NINT (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_FLOOR (_MM_FROUND_TO_NEG_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_CEIL (_MM_FROUND_TO_POS_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_TRUNC (_MM_FROUND_TO_ZERO | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_RINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_NEARBYINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_NO_EXC) ++#define _MM_ROUND_NEAREST 0x0000 ++#define _MM_ROUND_DOWN 0x2000 ++#define _MM_ROUND_UP 0x4000 ++#define _MM_ROUND_TOWARD_ZERO 0x6000 ++/* Flush zero mode macros. */ ++#define _MM_FLUSH_ZERO_MASK 0x8000 ++#define _MM_FLUSH_ZERO_ON 0x8000 ++#define _MM_FLUSH_ZERO_OFF 0x0000 ++/* Denormals are zeros mode macros. */ ++#define _MM_DENORMALS_ZERO_MASK 0x0040 ++#define _MM_DENORMALS_ZERO_ON 0x0040 ++#define _MM_DENORMALS_ZERO_OFF 0x0000 ++ ++/* indicate immediate constant argument in a given range */ ++#define __constrange(a, b) const ++ ++/* A few intrinsics accept traditional data types like ints or floats, but ++ * most operate on data types that are specific to SSE. ++ * If a vector type ends in d, it contains doubles, and if it does not have ++ * a suffix, it contains floats. An integer vector type can contain any type ++ * of integer, from chars to shorts to unsigned long longs. ++ */ ++typedef int64x1_t __m64; ++typedef float32x4_t __m128; /* 128-bit vector containing 4 floats */ ++// On ARM 32-bit architecture, the float64x2_t is not supported. ++// The data type __m128d should be represented in a different way for related ++// intrinsic conversion. ++#if defined(__aarch64__) || defined(_M_ARM64) ++typedef float64x2_t __m128d; /* 128-bit vector containing 2 doubles */ ++#else ++typedef float32x4_t __m128d; ++#endif ++typedef int64x2_t __m128i; /* 128-bit vector containing integers */ ++ ++// Some intrinsics operate on unaligned data types. ++typedef int16_t ALIGN_STRUCT(1) unaligned_int16_t; ++typedef int32_t ALIGN_STRUCT(1) unaligned_int32_t; ++typedef int64_t ALIGN_STRUCT(1) unaligned_int64_t; ++ ++// __int64 is defined in the Intrinsics Guide which maps to different datatype ++// in different data model ++#if !(defined(_WIN32) || defined(_WIN64) || defined(__int64)) ++#if (defined(__x86_64__) || defined(__i386__)) ++#define __int64 long long ++#else ++#define __int64 int64_t ++#endif ++#endif ++ ++/* type-safe casting between types */ ++ ++#define vreinterpretq_m128_f16(x) vreinterpretq_f32_f16(x) ++#define vreinterpretq_m128_f32(x) (x) ++#define vreinterpretq_m128_f64(x) vreinterpretq_f32_f64(x) ++ ++#define vreinterpretq_m128_u8(x) vreinterpretq_f32_u8(x) ++#define vreinterpretq_m128_u16(x) vreinterpretq_f32_u16(x) ++#define vreinterpretq_m128_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128_s8(x) vreinterpretq_f32_s8(x) ++#define vreinterpretq_m128_s16(x) vreinterpretq_f32_s16(x) ++#define vreinterpretq_m128_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_f16_m128(x) vreinterpretq_f16_f32(x) ++#define vreinterpretq_f32_m128(x) (x) ++#define vreinterpretq_f64_m128(x) vreinterpretq_f64_f32(x) ++ ++#define vreinterpretq_u8_m128(x) vreinterpretq_u8_f32(x) ++#define vreinterpretq_u16_m128(x) vreinterpretq_u16_f32(x) ++#define vreinterpretq_u32_m128(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_s8_m128(x) vreinterpretq_s8_f32(x) ++#define vreinterpretq_s16_m128(x) vreinterpretq_s16_f32(x) ++#define vreinterpretq_s32_m128(x) vreinterpretq_s32_f32(x) ++#define vreinterpretq_s64_m128(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_m128i_s8(x) vreinterpretq_s64_s8(x) ++#define vreinterpretq_m128i_s16(x) vreinterpretq_s64_s16(x) ++#define vreinterpretq_m128i_s32(x) vreinterpretq_s64_s32(x) ++#define vreinterpretq_m128i_s64(x) (x) ++ ++#define vreinterpretq_m128i_u8(x) vreinterpretq_s64_u8(x) ++#define vreinterpretq_m128i_u16(x) vreinterpretq_s64_u16(x) ++#define vreinterpretq_m128i_u32(x) vreinterpretq_s64_u32(x) ++#define vreinterpretq_m128i_u64(x) vreinterpretq_s64_u64(x) ++ ++#define vreinterpretq_f32_m128i(x) vreinterpretq_f32_s64(x) ++#define vreinterpretq_f64_m128i(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_s8_m128i(x) vreinterpretq_s8_s64(x) ++#define vreinterpretq_s16_m128i(x) vreinterpretq_s16_s64(x) ++#define vreinterpretq_s32_m128i(x) vreinterpretq_s32_s64(x) ++#define vreinterpretq_s64_m128i(x) (x) ++ ++#define vreinterpretq_u8_m128i(x) vreinterpretq_u8_s64(x) ++#define vreinterpretq_u16_m128i(x) vreinterpretq_u16_s64(x) ++#define vreinterpretq_u32_m128i(x) vreinterpretq_u32_s64(x) ++#define vreinterpretq_u64_m128i(x) vreinterpretq_u64_s64(x) ++ ++#define vreinterpret_m64_s8(x) vreinterpret_s64_s8(x) ++#define vreinterpret_m64_s16(x) vreinterpret_s64_s16(x) ++#define vreinterpret_m64_s32(x) vreinterpret_s64_s32(x) ++#define vreinterpret_m64_s64(x) (x) ++ ++#define vreinterpret_m64_u8(x) vreinterpret_s64_u8(x) ++#define vreinterpret_m64_u16(x) vreinterpret_s64_u16(x) ++#define vreinterpret_m64_u32(x) vreinterpret_s64_u32(x) ++#define vreinterpret_m64_u64(x) vreinterpret_s64_u64(x) ++ ++#define vreinterpret_m64_f16(x) vreinterpret_s64_f16(x) ++#define vreinterpret_m64_f32(x) vreinterpret_s64_f32(x) ++#define vreinterpret_m64_f64(x) vreinterpret_s64_f64(x) ++ ++#define vreinterpret_u8_m64(x) vreinterpret_u8_s64(x) ++#define vreinterpret_u16_m64(x) vreinterpret_u16_s64(x) ++#define vreinterpret_u32_m64(x) vreinterpret_u32_s64(x) ++#define vreinterpret_u64_m64(x) vreinterpret_u64_s64(x) ++ ++#define vreinterpret_s8_m64(x) vreinterpret_s8_s64(x) ++#define vreinterpret_s16_m64(x) vreinterpret_s16_s64(x) ++#define vreinterpret_s32_m64(x) vreinterpret_s32_s64(x) ++#define vreinterpret_s64_m64(x) (x) ++ ++#define vreinterpret_f32_m64(x) vreinterpret_f32_s64(x) ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f64_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f64_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) vreinterpretq_f64_f32(x) ++#define vreinterpretq_m128d_f64(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f64(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f64(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f64(x) ++ ++#define vreinterpretq_f64_m128d(x) (x) ++#define vreinterpretq_f32_m128d(x) vreinterpretq_f32_f64(x) ++#else ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_m128d_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_f32_m128d(x) (x) ++#endif ++ ++// A struct is defined in this header file called 'SIMDVec' which can be used ++// by applications which attempt to access the contents of an __m128 struct ++// directly. It is important to note that accessing the __m128 struct directly ++// is bad coding practice by Microsoft: @see: ++// https://learn.microsoft.com/en-us/cpp/cpp/m128 ++// ++// However, some legacy source code may try to access the contents of an __m128 ++// struct directly so the developer can use the SIMDVec as an alias for it. Any ++// casting must be done manually by the developer, as you cannot cast or ++// otherwise alias the base NEON data type for intrinsic operations. ++// ++// union intended to allow direct access to an __m128 variable using the names ++// that the MSVC compiler provides. This union should really only be used when ++// trying to access the members of the vector as integer values. GCC/clang ++// allow native access to the float members through a simple array access ++// operator (in C since 4.6, in C++ since 4.8). ++// ++// Ideally direct accesses to SIMD vectors should not be used since it can cause ++// a performance hit. If it really is needed however, the original __m128 ++// variable can be aliased with a pointer to this union and used to access ++// individual components. The use of this union should be hidden behind a macro ++// that is used throughout the codebase to access the members instead of always ++// declaring this type of variable. ++typedef union ALIGN_STRUCT(16) SIMDVec { ++ float m128_f32[4]; // as floats - DON'T USE. Added for convenience. ++ int8_t m128_i8[16]; // as signed 8-bit integers. ++ int16_t m128_i16[8]; // as signed 16-bit integers. ++ int32_t m128_i32[4]; // as signed 32-bit integers. ++ int64_t m128_i64[2]; // as signed 64-bit integers. ++ uint8_t m128_u8[16]; // as unsigned 8-bit integers. ++ uint16_t m128_u16[8]; // as unsigned 16-bit integers. ++ uint32_t m128_u32[4]; // as unsigned 32-bit integers. ++ uint64_t m128_u64[2]; // as unsigned 64-bit integers. ++} SIMDVec; ++ ++// casting using SIMDVec ++#define vreinterpretq_nth_u64_m128i(x, n) (((SIMDVec *) &x)->m128_u64[n]) ++#define vreinterpretq_nth_u32_m128i(x, n) (((SIMDVec *) &x)->m128_u32[n]) ++#define vreinterpretq_nth_u8_m128i(x, n) (((SIMDVec *) &x)->m128_u8[n]) ++ ++/* SSE macros */ ++#define _MM_GET_FLUSH_ZERO_MODE _sse2neon_mm_get_flush_zero_mode ++#define _MM_SET_FLUSH_ZERO_MODE _sse2neon_mm_set_flush_zero_mode ++#define _MM_GET_DENORMALS_ZERO_MODE _sse2neon_mm_get_denormals_zero_mode ++#define _MM_SET_DENORMALS_ZERO_MODE _sse2neon_mm_set_denormals_zero_mode ++ ++// Function declaration ++// SSE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void); ++FORCE_INLINE __m128 _mm_move_ss(__m128, __m128); ++FORCE_INLINE __m128 _mm_or_ps(__m128, __m128); ++FORCE_INLINE __m128 _mm_set_ps1(float); ++FORCE_INLINE __m128 _mm_setzero_ps(void); ++// SSE2 ++FORCE_INLINE __m128i _mm_and_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_castps_si128(__m128); ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128); ++FORCE_INLINE __m128d _mm_move_sd(__m128d, __m128d); ++FORCE_INLINE __m128i _mm_or_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_set_epi32(int, int, int, int); ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t, int64_t); ++FORCE_INLINE __m128d _mm_set_pd(double, double); ++FORCE_INLINE __m128i _mm_set1_epi32(int); ++FORCE_INLINE __m128i _mm_setzero_si128(void); ++// SSE4.1 ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d); ++FORCE_INLINE __m128 _mm_ceil_ps(__m128); ++FORCE_INLINE __m128d _mm_floor_pd(__m128d); ++FORCE_INLINE __m128 _mm_floor_ps(__m128); ++FORCE_INLINE __m128d _mm_round_pd(__m128d, int); ++FORCE_INLINE __m128 _mm_round_ps(__m128, int); ++// SSE4.2 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t, uint8_t); ++ ++/* Backwards compatibility for compilers with lack of specific type support */ ++ ++// Older gcc does not define vld1q_u8_x4 type ++#if defined(__GNUC__) && !defined(__clang__) && \ ++ ((__GNUC__ <= 13 && defined(__arm__)) || \ ++ (__GNUC__ == 10 && __GNUC_MINOR__ < 3 && defined(__aarch64__)) || \ ++ (__GNUC__ <= 9 && defined(__aarch64__))) ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ uint8x16x4_t ret; ++ ret.val[0] = vld1q_u8(p + 0); ++ ret.val[1] = vld1q_u8(p + 16); ++ ret.val[2] = vld1q_u8(p + 32); ++ ret.val[3] = vld1q_u8(p + 48); ++ return ret; ++} ++#else ++// Wraps vld1q_u8_x4 ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ return vld1q_u8_x4(p); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddv u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ const uint64x1_t v1 = vpaddl_u32(vpaddl_u16(vpaddl_u8(v8))); ++ return vget_lane_u8(vreinterpret_u8_u64(v1), 0); ++} ++#else ++// Wraps vaddv_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ return vaddv_u8(v8); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ uint8x8_t tmp = vpadd_u8(vget_low_u8(a), vget_high_u8(a)); ++ uint8_t res = 0; ++ for (int i = 0; i < 8; ++i) ++ res += tmp[i]; ++ return res; ++} ++#else ++// Wraps vaddvq_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ return vaddvq_u8(a); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u16 variant */ ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ uint32x4_t m = vpaddlq_u16(a); ++ uint64x2_t n = vpaddlq_u32(m); ++ uint64x1_t o = vget_low_u64(n) + vget_high_u64(n); ++ ++ return vget_lane_u32((uint32x2_t) o, 0); ++} ++#else ++// Wraps vaddvq_u16 ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ return vaddvq_u16(a); ++} ++#endif ++ ++/* Function Naming Conventions ++ * The naming convention of SSE intrinsics is straightforward. A generic SSE ++ * intrinsic function is given as follows: ++ * _mm__ ++ * ++ * The parts of this format are given as follows: ++ * 1. describes the operation performed by the intrinsic ++ * 2. identifies the data type of the function's primary arguments ++ * ++ * This last part, , is a little complicated. It identifies the ++ * content of the input values, and can be set to any of the following values: ++ * + ps - vectors contain floats (ps stands for packed single-precision) ++ * + pd - vectors contain doubles (pd stands for packed double-precision) ++ * + epi8/epi16/epi32/epi64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * signed integers ++ * + epu8/epu16/epu32/epu64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * unsigned integers ++ * + si128 - unspecified 128-bit vector or 256-bit vector ++ * + m128/m128i/m128d - identifies input vector types when they are different ++ * than the type of the returned vector ++ * ++ * For example, _mm_setzero_ps. The _mm implies that the function returns ++ * a 128-bit vector. The _ps at the end implies that the argument vectors ++ * contain floats. ++ * ++ * A complete example: Byte Shuffle - pshufb (_mm_shuffle_epi8) ++ * // Set packed 16-bit integers. 128 bits, 8 short, per 16 bits ++ * __m128i v_in = _mm_setr_epi16(1, 2, 3, 4, 5, 6, 7, 8); ++ * // Set packed 8-bit integers ++ * // 128 bits, 16 chars, per 8 bits ++ * __m128i v_perm = _mm_setr_epi8(1, 0, 2, 3, 8, 9, 10, 11, ++ * 4, 5, 12, 13, 6, 7, 14, 15); ++ * // Shuffle packed 8-bit integers ++ * __m128i v_out = _mm_shuffle_epi8(v_in, v_perm); // pshufb ++ */ ++ ++/* Constants for use with _mm_prefetch. */ ++enum _mm_hint { ++ _MM_HINT_NTA = 0, /* load data to L1 and L2 cache, mark it as NTA */ ++ _MM_HINT_T0 = 1, /* load data to L1 and L2 cache */ ++ _MM_HINT_T1 = 2, /* load data to L2 cache only */ ++ _MM_HINT_T2 = 3, /* load data to L2 cache only, mark it as NTA */ ++}; ++ ++// The bit field mapping to the FPCR(floating-point control register) ++typedef struct { ++ uint16_t res0; ++ uint8_t res1 : 6; ++ uint8_t bit22 : 1; ++ uint8_t bit23 : 1; ++ uint8_t bit24 : 1; ++ uint8_t res2 : 7; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32_t res3; ++#endif ++} fpcr_bitfield; ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of b and places it into the high end of the result. ++FORCE_INLINE __m128 _mm_shuffle_ps_1032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in high ++// end of result takes the higher two 32 bit values from b and swaps them and ++// places in low end of result. ++FORCE_INLINE __m128 _mm_shuffle_ps_2301(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b23 = vrev64_f32(vget_high_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b23)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0321(__m128 a, __m128 b) ++{ ++ float32x2_t a21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a21, b03)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2103(__m128 a, __m128 b) ++{ ++ float32x2_t a03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a03, b21)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0101(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b01)); ++} ++ ++// keeps the low 64 bits of b in the low and puts the high 64 bits of a in the ++// high ++FORCE_INLINE __m128 _mm_shuffle_ps_3210(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0011(__m128 a, __m128 b) ++{ ++ float32x2_t a11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a11, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0022(__m128 a, __m128 b) ++{ ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a22, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2200(__m128 a, __m128 b) ++{ ++ float32x2_t a00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a00, b22)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_3202(__m128 a, __m128 b) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t a02 = vset_lane_f32(a0, a22, 1); /* TODO: use vzip ?*/ ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a02, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1133(__m128 a, __m128 b) ++{ ++ float32x2_t a33 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a33, b11)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b20)); ++} ++ ++// For MSVC, we check only if it is ARM64, as every single ARM64 processor ++// supported by WoA has crypto extensions. If this changes in the future, ++// this can be verified via the runtime-only method of: ++// IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE) ++#if (defined(_M_ARM64) && !defined(__clang__)) || \ ++ (defined(__ARM_FEATURE_CRYPTO) && \ ++ (defined(__aarch64__) || __has_builtin(__builtin_arm_crypto_vmullp64))) ++// Wraps vmull_p64 ++FORCE_INLINE uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly64_t a = vget_lane_p64(vreinterpret_p64_u64(_a), 0); ++ poly64_t b = vget_lane_p64(vreinterpret_p64_u64(_b), 0); ++#if defined(_MSC_VER) ++ __n64 a1 = {a}, b1 = {b}; ++ return vreinterpretq_u64_p128(vmull_p64(a1, b1)); ++#else ++ return vreinterpretq_u64_p128(vmull_p64(a, b)); ++#endif ++} ++#else // ARMv7 polyfill ++// ARMv7/some A64 lacks vmull_p64, but it has vmull_p8. ++// ++// vmull_p8 calculates 8 8-bit->16-bit polynomial multiplies, but we need a ++// 64-bit->128-bit polynomial multiply. ++// ++// It needs some work and is somewhat slow, but it is still faster than all ++// known scalar methods. ++// ++// Algorithm adapted to C from ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/, which is adapted ++// from "Fast Software Polynomial Multiplication on ARM Processors Using the ++// NEON Engine" by Danilo Camara, Conrado Gouvea, Julio Lopez and Ricardo Dahab ++// (https://hal.inria.fr/hal-01506572) ++static uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly8x8_t a = vreinterpret_p8_u64(_a); ++ poly8x8_t b = vreinterpret_p8_u64(_b); ++ ++ // Masks ++ uint8x16_t k48_32 = vcombine_u8(vcreate_u8(0x0000ffffffffffff), ++ vcreate_u8(0x00000000ffffffff)); ++ uint8x16_t k16_00 = vcombine_u8(vcreate_u8(0x000000000000ffff), ++ vcreate_u8(0x0000000000000000)); ++ ++ // Do the multiplies, rotating with vext to get all combinations ++ uint8x16_t d = vreinterpretq_u8_p16(vmull_p8(a, b)); // D = A0 * B0 ++ uint8x16_t e = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 1))); // E = A0 * B1 ++ uint8x16_t f = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 1), b)); // F = A1 * B0 ++ uint8x16_t g = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 2))); // G = A0 * B2 ++ uint8x16_t h = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 2), b)); // H = A2 * B0 ++ uint8x16_t i = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 3))); // I = A0 * B3 ++ uint8x16_t j = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 3), b)); // J = A3 * B0 ++ uint8x16_t k = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 4))); // L = A0 * B4 ++ ++ // Add cross products ++ uint8x16_t l = veorq_u8(e, f); // L = E + F ++ uint8x16_t m = veorq_u8(g, h); // M = G + H ++ uint8x16_t n = veorq_u8(i, j); // N = I + J ++ ++ // Interleave. Using vzip1 and vzip2 prevents Clang from emitting TBL ++ // instructions. ++#if defined(__aarch64__) ++ uint8x16_t lm_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t lm_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t nk_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++ uint8x16_t nk_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++#else ++ uint8x16_t lm_p0 = vcombine_u8(vget_low_u8(l), vget_low_u8(m)); ++ uint8x16_t lm_p1 = vcombine_u8(vget_high_u8(l), vget_high_u8(m)); ++ uint8x16_t nk_p0 = vcombine_u8(vget_low_u8(n), vget_low_u8(k)); ++ uint8x16_t nk_p1 = vcombine_u8(vget_high_u8(n), vget_high_u8(k)); ++#endif ++ // t0 = (L) (P0 + P1) << 8 ++ // t1 = (M) (P2 + P3) << 16 ++ uint8x16_t t0t1_tmp = veorq_u8(lm_p0, lm_p1); ++ uint8x16_t t0t1_h = vandq_u8(lm_p1, k48_32); ++ uint8x16_t t0t1_l = veorq_u8(t0t1_tmp, t0t1_h); ++ ++ // t2 = (N) (P4 + P5) << 24 ++ // t3 = (K) (P6 + P7) << 32 ++ uint8x16_t t2t3_tmp = veorq_u8(nk_p0, nk_p1); ++ uint8x16_t t2t3_h = vandq_u8(nk_p1, k16_00); ++ uint8x16_t t2t3_l = veorq_u8(t2t3_tmp, t2t3_h); ++ ++ // De-interleave ++#if defined(__aarch64__) ++ uint8x16_t t0 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t1 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t2 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++ uint8x16_t t3 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++#else ++ uint8x16_t t1 = vcombine_u8(vget_high_u8(t0t1_l), vget_high_u8(t0t1_h)); ++ uint8x16_t t0 = vcombine_u8(vget_low_u8(t0t1_l), vget_low_u8(t0t1_h)); ++ uint8x16_t t3 = vcombine_u8(vget_high_u8(t2t3_l), vget_high_u8(t2t3_h)); ++ uint8x16_t t2 = vcombine_u8(vget_low_u8(t2t3_l), vget_low_u8(t2t3_h)); ++#endif ++ // Shift the cross products ++ uint8x16_t t0_shift = vextq_u8(t0, t0, 15); // t0 << 8 ++ uint8x16_t t1_shift = vextq_u8(t1, t1, 14); // t1 << 16 ++ uint8x16_t t2_shift = vextq_u8(t2, t2, 13); // t2 << 24 ++ uint8x16_t t3_shift = vextq_u8(t3, t3, 12); // t3 << 32 ++ ++ // Accumulate the products ++ uint8x16_t cross1 = veorq_u8(t0_shift, t1_shift); ++ uint8x16_t cross2 = veorq_u8(t2_shift, t3_shift); ++ uint8x16_t mix = veorq_u8(d, cross1); ++ uint8x16_t r = veorq_u8(mix, cross2); ++ return vreinterpretq_u64_u8(r); ++} ++#endif // ARMv7 polyfill ++ ++// C equivalent: ++// __m128i _mm_shuffle_epi32_default(__m128i a, ++// __constrange(0, 255) int imm) { ++// __m128i ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = a[(imm >> 4) & 0x03]; ret[3] = a[(imm >> 6) & 0x03]; ++// return ret; ++// } ++#define _mm_shuffle_epi32_default(a, imm) \ ++ vreinterpretq_m128i_s32(vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), \ ++ ((imm) >> 2) & 0x3), \ ++ vmovq_n_s32(vgetq_lane_s32( \ ++ vreinterpretq_s32_m128i(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of a and places it into the high end of the result. ++FORCE_INLINE __m128i _mm_shuffle_epi_1032(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in low end ++// of result takes the higher two 32 bit values from a and swaps them and places ++// in high end of result. ++FORCE_INLINE __m128i _mm_shuffle_epi_2301(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a23 = vrev64_s32(vget_high_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a23)); ++} ++ ++// rotates the least significant 32 bits into the most significant 32 bits, and ++// shifts the rest down ++FORCE_INLINE __m128i _mm_shuffle_epi_0321(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 1)); ++} ++ ++// rotates the most significant 32 bits into the least significant 32 bits, and ++// shifts the rest up ++FORCE_INLINE __m128i _mm_shuffle_epi_2103(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 3)); ++} ++ ++// gets the lower 64 bits of a, and places it in the upper 64 bits ++// gets the lower 64 bits of a and places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1010(__m128i a) ++{ ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a10, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements, and places it in the ++// lower 64 bits gets the lower 64 bits of a, and places it in the upper 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1001(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements and places it in the ++// upper 64 bits gets the lower 64 bits of a, swaps the 0 and 1 elements, and ++// places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_0101(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_2211(__m128i a) ++{ ++ int32x2_t a11 = vdup_lane_s32(vget_low_s32(vreinterpretq_s32_m128i(a)), 1); ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ return vreinterpretq_m128i_s32(vcombine_s32(a11, a22)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_0122(__m128i a) ++{ ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a22, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_3332(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a33 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 1); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a33)); ++} ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32(vdupq_laneq_s32(vreinterpretq_s32_m128i(a), (imm))) ++#else ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vdupq_n_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)))) ++#endif ++ ++// NEON does not support a general purpose permute intrinsic. ++// Shuffle single-precision (32-bit) floating-point elements in a using the ++// control in imm8, and store the results in dst. ++// ++// C equivalent: ++// __m128 _mm_shuffle_ps_default(__m128 a, __m128 b, ++// __constrange(0, 255) int imm) { ++// __m128 ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = b[(imm >> 4) & 0x03]; ret[3] = b[(imm >> 6) & 0x03]; ++// return ret; ++// } ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_ps ++#define _mm_shuffle_ps_default(a, b, imm) \ ++ vreinterpretq_m128_f32(vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), ((imm) >> 2) & 0x3), \ ++ vmovq_n_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Shuffle 16-bit integers in the low 64 bits of a using the control in imm8. ++// Store the results in the low 64 bits of dst, with the high 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflelo_epi16 ++#define _mm_shufflelo_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t lowBits = vget_low_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, (imm) & (0x3)), ret, 0); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++// Shuffle 16-bit integers in the high 64 bits of a using the control in imm8. ++// Store the results in the high 64 bits of dst, with the low 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflehi_epi16 ++#define _mm_shufflehi_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t highBits = vget_high_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, (imm) & (0x3)), ret, 4); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 2) & 0x3), ret, \ ++ 5); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 4) & 0x3), ret, \ ++ 6); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 6) & 0x3), ret, \ ++ 7); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++/* MMX */ ++ ++//_mm_empty is a no-op on arm ++FORCE_INLINE void _mm_empty(void) {} ++ ++/* SSE */ ++ ++// Add packed single-precision (32-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ps ++FORCE_INLINE __m128 _mm_add_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Add the lower single-precision (32-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ss ++FORCE_INLINE __m128 _mm_add_ss(__m128 a, __m128 b) ++{ ++ float32_t b0 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++ float32x4_t value = vsetq_lane_f32(b0, vdupq_n_f32(0), 0); ++ // the upper values in the result must be the remnants of . ++ return vreinterpretq_m128_f32(vaddq_f32(a, value)); ++} ++ ++// Compute the bitwise AND of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_ps ++FORCE_INLINE __m128 _mm_and_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vandq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Compute the bitwise NOT of packed single-precision (32-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_ps ++FORCE_INLINE __m128 _mm_andnot_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vbicq_s32(vreinterpretq_s32_m128(b), ++ vreinterpretq_s32_m128(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu16 ++FORCE_INLINE __m64 _mm_avg_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16( ++ vrhadd_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu8 ++FORCE_INLINE __m64 _mm_avg_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vrhadd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ps ++FORCE_INLINE __m128 _mm_cmpeq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ss ++FORCE_INLINE __m128 _mm_cmpeq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpeq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ps ++FORCE_INLINE __m128 _mm_cmpge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ss ++FORCE_INLINE __m128 _mm_cmpge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ps ++FORCE_INLINE __m128 _mm_cmpgt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ss ++FORCE_INLINE __m128 _mm_cmpgt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpgt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ps ++FORCE_INLINE __m128 _mm_cmple_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ss ++FORCE_INLINE __m128 _mm_cmple_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmple_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ps ++FORCE_INLINE __m128 _mm_cmplt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ss ++FORCE_INLINE __m128 _mm_cmplt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmplt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ps ++FORCE_INLINE __m128 _mm_cmpneq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ss ++FORCE_INLINE __m128 _mm_cmpneq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpneq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ps ++FORCE_INLINE __m128 _mm_cmpnge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ss ++FORCE_INLINE __m128 _mm_cmpnge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ps ++FORCE_INLINE __m128 _mm_cmpngt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ss ++FORCE_INLINE __m128 _mm_cmpngt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpngt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ps ++FORCE_INLINE __m128 _mm_cmpnle_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ss ++FORCE_INLINE __m128 _mm_cmpnle_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnle_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ps ++FORCE_INLINE __m128 _mm_cmpnlt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ss ++FORCE_INLINE __m128 _mm_cmpnlt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnlt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ps ++// ++// See also: ++// http://stackoverflow.com/questions/8627331/what-does-ordered-unordered-comparison-mean ++// http://stackoverflow.com/questions/29349621/neon-isnanval-intrinsics ++FORCE_INLINE __m128 _mm_cmpord_ps(__m128 a, __m128 b) ++{ ++ // Note: NEON does not have ordered compare builtin ++ // Need to compare a eq a and b eq b to check for NaN ++ // Do AND of results to get final ++ uint32x4_t ceqaa = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t ceqbb = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vandq_u32(ceqaa, ceqbb)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ss ++FORCE_INLINE __m128 _mm_cmpord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpord_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ps ++FORCE_INLINE __m128 _mm_cmpunord_ps(__m128 a, __m128 b) ++{ ++ uint32x4_t f32a = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t f32b = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vmvnq_u32(vandq_u32(f32a, f32b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ss ++FORCE_INLINE __m128 _mm_cmpunord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpunord_ps(a, b)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_ss ++FORCE_INLINE int _mm_comieq_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_eq_b = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_eq_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_ss ++FORCE_INLINE int _mm_comige_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_ge_b = ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_ge_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_ss ++FORCE_INLINE int _mm_comigt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_gt_b = ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_gt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_ss ++FORCE_INLINE int _mm_comile_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_le_b = ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_le_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_ss ++FORCE_INLINE int _mm_comilt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_lt_b = ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_lt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_ss ++FORCE_INLINE int _mm_comineq_ss(__m128 a, __m128 b) ++{ ++ return !_mm_comieq_ss(a, b); ++} ++ ++// Convert packed signed 32-bit integers in b to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, and copy the upper 2 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_pi2ps ++FORCE_INLINE __m128 _mm_cvt_pi2ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ps2pi ++FORCE_INLINE __m64 _mm_cvt_ps2pi(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))))); ++#else ++ return vreinterpret_m64_s32(vcvt_s32_f32(vget_low_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION))))); ++#endif ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_si2ss ++FORCE_INLINE __m128 _mm_cvt_si2ss(__m128 a, int b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ss2si ++FORCE_INLINE int _mm_cvt_ss2si(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vgetq_lane_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))), ++ 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int32_t) data; ++#endif ++} ++ ++// Convert packed 16-bit integers in a to packed single-precision (32-bit) ++// floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi16_ps ++FORCE_INLINE __m128 _mm_cvtpi16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vmovl_s16(vreinterpret_s16_m64(a)))); ++} ++ ++// Convert packed 32-bit integers in b to packed single-precision (32-bit) ++// floating-point elements, store the results in the lower 2 elements of dst, ++// and copy the upper 2 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_ps ++FORCE_INLINE __m128 _mm_cvtpi32_ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, then convert the packed signed 32-bit integers in b to ++// single-precision (32-bit) floating-point element, and store the results in ++// the upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32x2_ps ++FORCE_INLINE __m128 _mm_cvtpi32x2_ps(__m64 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vcombine_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b)))); ++} ++ ++// Convert the lower packed 8-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi8_ps ++FORCE_INLINE __m128 _mm_cvtpi8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vmovl_s16(vget_low_s16(vmovl_s8(vreinterpret_s8_m64(a)))))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 16-bit integers, and store the results in dst. Note: this intrinsic ++// will generate 0x7FFF, rather than 0x8000, for input values between 0x7FFF and ++// 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi16 ++FORCE_INLINE __m64 _mm_cvtps_pi16(__m128 a) ++{ ++ return vreinterpret_m64_s16( ++ vqmovn_s32(vreinterpretq_s32_m128i(_mm_cvtps_epi32(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi32 ++#define _mm_cvtps_pi32(a) _mm_cvt_ps2pi(a) ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 8-bit integers, and store the results in lower 4 elements of dst. ++// Note: this intrinsic will generate 0x7F, rather than 0x80, for input values ++// between 0x7F and 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi8 ++FORCE_INLINE __m64 _mm_cvtps_pi8(__m128 a) ++{ ++ return vreinterpret_m64_s8(vqmovn_s16( ++ vcombine_s16(vreinterpret_s16_m64(_mm_cvtps_pi16(a)), vdup_n_s16(0)))); ++} ++ ++// Convert packed unsigned 16-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu16_ps ++FORCE_INLINE __m128 _mm_cvtpu16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_u32(vmovl_u16(vreinterpret_u16_m64(a)))); ++} ++ ++// Convert the lower packed unsigned 8-bit integers in a to packed ++// single-precision (32-bit) floating-point elements, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu8_ps ++FORCE_INLINE __m128 _mm_cvtpu8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_u32( ++ vmovl_u16(vget_low_u16(vmovl_u8(vreinterpret_u8_m64(a)))))); ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_ss ++#define _mm_cvtsi32_ss(a, b) _mm_cvt_si2ss(a, b) ++ ++// Convert the signed 64-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_ss ++FORCE_INLINE __m128 _mm_cvtsi64_ss(__m128 a, int64_t b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Copy the lower single-precision (32-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_f32 ++FORCE_INLINE float _mm_cvtss_f32(__m128 a) ++{ ++ return vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si32 ++#define _mm_cvtss_si32(a) _mm_cvt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si64 ++FORCE_INLINE int64_t _mm_cvtss_si64(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return (int64_t) vgetq_lane_f32(vrndiq_f32(vreinterpretq_f32_m128(a)), 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int64_t) data; ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ps2pi ++FORCE_INLINE __m64 _mm_cvtt_ps2pi(__m128 a) ++{ ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ss2si ++FORCE_INLINE int _mm_cvtt_ss2si(__m128 a) ++{ ++ return vgetq_lane_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)), 0); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_pi32 ++#define _mm_cvttps_pi32(a) _mm_cvtt_ps2pi(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si32 ++#define _mm_cvttss_si32(a) _mm_cvtt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si64 ++FORCE_INLINE int64_t _mm_cvttss_si64(__m128 a) ++{ ++ return (int64_t) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Divide packed single-precision (32-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise division intrinsic, we implement ++// division by multiplying a by b's reciprocal before using the Newton-Raphson ++// method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ps ++FORCE_INLINE __m128 _mm_div_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vdivq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(b)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(a), recip)); ++#endif ++} ++ ++// Divide the lower single-precision (32-bit) floating-point element in a by the ++// lower single-precision (32-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper 3 packed elements from a to ++// the upper elements of dst. ++// Warning: ARMv7-A does not produce the same result compared to Intel and not ++// IEEE-compliant. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ss ++FORCE_INLINE __m128 _mm_div_ss(__m128 a, __m128 b) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_div_ps(a, b)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_pi16 ++#define _mm_extract_pi16(a, imm) \ ++ (int32_t) vget_lane_u16(vreinterpret_u16_m64(a), (imm)) ++ ++// Free aligned memory that was allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_free ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void _mm_free(void *addr) ++{ ++ free(addr); ++} ++#endif ++ ++FORCE_INLINE uint64_t _sse2neon_get_fpcr(void) ++{ ++ uint64_t value; ++#if defined(_MSC_VER) ++ value = _ReadStatusReg(ARM64_FPCR); ++#else ++ __asm__ __volatile__("mrs %0, FPCR" : "=r"(value)); /* read */ ++#endif ++ return value; ++} ++ ++FORCE_INLINE void _sse2neon_set_fpcr(uint64_t value) ++{ ++#if defined(_MSC_VER) ++ _WriteStatusReg(ARM64_FPCR, value); ++#else ++ __asm__ __volatile__("msr FPCR, %0" ::"r"(value)); /* write */ ++#endif ++} ++ ++// Macro: Get the flush zero bits from the MXCSR control and status register. ++// The flush zero may contain any of the following flags: _MM_FLUSH_ZERO_ON or ++// _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_FLUSH_ZERO_MODE ++FORCE_INLINE unsigned int _sse2neon_mm_get_flush_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_FLUSH_ZERO_ON : _MM_FLUSH_ZERO_OFF; ++} ++ ++// Macro: Get the rounding mode bits from the MXCSR control and status register. ++// The rounding mode may contain any of the following flags: _MM_ROUND_NEAREST, ++// _MM_ROUND_DOWN, _MM_ROUND_UP, _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_ROUNDING_MODE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ if (r.field.bit22) { ++ return r.field.bit23 ? _MM_ROUND_TOWARD_ZERO : _MM_ROUND_UP; ++ } else { ++ return r.field.bit23 ? _MM_ROUND_DOWN : _MM_ROUND_NEAREST; ++ } ++} ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_pi16 ++#define _mm_insert_pi16(a, b, imm) \ ++ vreinterpret_m64_s16(vset_lane_s16((b), vreinterpret_s16_m64(a), (imm))) ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps ++FORCE_INLINE __m128 _mm_load_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// ++// dst[31:0] := MEM[mem_addr+31:mem_addr] ++// dst[63:32] := MEM[mem_addr+31:mem_addr] ++// dst[95:64] := MEM[mem_addr+31:mem_addr] ++// dst[127:96] := MEM[mem_addr+31:mem_addr] ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps1 ++#define _mm_load_ps1 _mm_load1_ps ++ ++// Load a single-precision (32-bit) floating-point element from memory into the ++// lower of dst, and zero the upper 3 elements. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ss ++FORCE_INLINE __m128 _mm_load_ss(const float *p) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(*p, vdupq_n_f32(0), 0)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_ps ++FORCE_INLINE __m128 _mm_load1_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_dup_f32(p)); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// upper 2 elements of dst, and copy the lower 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pi ++FORCE_INLINE __m128 _mm_loadh_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vget_low_f32(a), vld1_f32((const float32_t *) p))); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// lower 2 elements of dst, and copy the upper 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pi ++FORCE_INLINE __m128 _mm_loadl_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vld1_f32((const float32_t *) p), vget_high_f32(a))); ++} ++ ++// Load 4 single-precision (32-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_ps ++FORCE_INLINE __m128 _mm_loadr_ps(const float *p) ++{ ++ float32x4_t v = vrev64q_f32(vld1q_f32(p)); ++ return vreinterpretq_m128_f32(vextq_f32(v, v, 2)); ++} ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_ps ++FORCE_INLINE __m128 _mm_loadu_ps(const float *p) ++{ ++ // for neon, alignment doesn't matter, so _mm_load_ps and _mm_loadu_ps are ++ // equivalent for neon ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load unaligned 16-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si16 ++FORCE_INLINE __m128i _mm_loadu_si16(const void *p) ++{ ++ return vreinterpretq_m128i_s16( ++ vsetq_lane_s16(*(const unaligned_int16_t *) p, vdupq_n_s16(0), 0)); ++} ++ ++// Load unaligned 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si64 ++FORCE_INLINE __m128i _mm_loadu_si64(const void *p) ++{ ++ return vreinterpretq_m128i_s64( ++ vsetq_lane_s64(*(const unaligned_int64_t *) p, vdupq_n_s64(0), 0)); ++} ++ ++// Allocate size bytes of memory, aligned to the alignment specified in align, ++// and return a pointer to the allocated memory. _mm_free should be used to free ++// memory that is allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_malloc ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void *_mm_malloc(size_t size, size_t align) ++{ ++ void *ptr; ++ if (align == 1) ++ return malloc(size); ++ if (align == 2 || (sizeof(void *) == 8 && align == 4)) ++ align = sizeof(void *); ++ if (!posix_memalign(&ptr, align, size)) ++ return ptr; ++ return NULL; ++} ++#endif ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmove_si64 ++FORCE_INLINE void _mm_maskmove_si64(__m64 a, __m64 mask, char *mem_addr) ++{ ++ int8x8_t shr_mask = vshr_n_s8(vreinterpret_s8_m64(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x8_t masked = ++ vbsl_s8(vreinterpret_u8_s8(shr_mask), vreinterpret_s8_m64(a), ++ vreinterpret_s8_u64(vget_low_u64(vreinterpretq_u64_m128(b)))); ++ vst1_s8((int8_t *) mem_addr, masked); ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_maskmovq ++#define _m_maskmovq(a, mask, mem_addr) _mm_maskmove_si64(a, mask, mem_addr) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pi16 ++FORCE_INLINE __m64 _mm_max_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmax_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) maximum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ps ++FORCE_INLINE __m128 _mm_max_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcgtq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vmaxq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pu8 ++FORCE_INLINE __m64 _mm_max_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmax_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) maximum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ss ++FORCE_INLINE __m128 _mm_max_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_max_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pi16 ++FORCE_INLINE __m64 _mm_min_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmin_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) minimum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ps ++FORCE_INLINE __m128 _mm_min_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcltq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vminq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pu8 ++FORCE_INLINE __m64 _mm_min_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmin_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) minimum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ss ++FORCE_INLINE __m128 _mm_min_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_min_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the lower single-precision (32-bit) floating-point element from b to the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_ss ++FORCE_INLINE __m128 _mm_move_ss(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(vgetq_lane_f32(vreinterpretq_f32_m128(b), 0), ++ vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the upper 2 single-precision (32-bit) floating-point elements from b to ++// the lower 2 elements of dst, and copy the upper 2 elements from a to the ++// upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehl_ps ++FORCE_INLINE __m128 _mm_movehl_ps(__m128 a, __m128 b) ++{ ++#if defined(aarch64__) ++ return vreinterpretq_m128_u64( ++ vzip2q_u64(vreinterpretq_u64_m128(b), vreinterpretq_u64_m128(a))); ++#else ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(b32, a32)); ++#endif ++} ++ ++// Move the lower 2 single-precision (32-bit) floating-point elements from b to ++// the upper 2 elements of dst, and copy the lower 2 elements from a to the ++// lower 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movelh_ps ++FORCE_INLINE __m128 _mm_movelh_ps(__m128 __A, __m128 __B) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(__A)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(__B)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pi8 ++FORCE_INLINE int _mm_movemask_pi8(__m64 a) ++{ ++ uint8x8_t input = vreinterpret_u8_m64(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int8_t shift[8] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint8x8_t tmp = vshr_n_u8(input, 7); ++ return vaddv_u8(vshl_u8(tmp, vld1_s8(shift))); ++#else ++ // Refer the implementation of `_mm_movemask_epi8` ++ uint16x4_t high_bits = vreinterpret_u16_u8(vshr_n_u8(input, 7)); ++ uint32x2_t paired16 = ++ vreinterpret_u32_u16(vsra_n_u16(high_bits, high_bits, 7)); ++ uint8x8_t paired32 = ++ vreinterpret_u8_u32(vsra_n_u32(paired16, paired16, 14)); ++ return vget_lane_u8(paired32, 0) | ((int) vget_lane_u8(paired32, 4) << 4); ++#endif ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed single-precision (32-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_ps ++FORCE_INLINE int _mm_movemask_ps(__m128 a) ++{ ++ uint32x4_t input = vreinterpretq_u32_m128(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int32_t shift[4] = {0, 1, 2, 3}; ++ uint32x4_t tmp = vshrq_n_u32(input, 31); ++ return vaddvq_u32(vshlq_u32(tmp, vld1q_s32(shift))); ++#else ++ // Uses the exact same method as _mm_movemask_epi8, see that for details. ++ // Shift out everything but the sign bits with a 32-bit unsigned shift ++ // right. ++ uint64x2_t high_bits = vreinterpretq_u64_u32(vshrq_n_u32(input, 31)); ++ // Merge the two pairs together with a 64-bit unsigned shift right + add. ++ uint8x16_t paired = ++ vreinterpretq_u8_u64(vsraq_n_u64(high_bits, high_bits, 31)); ++ // Extract the result. ++ return vgetq_lane_u8(paired, 0) | (vgetq_lane_u8(paired, 8) << 2); ++#endif ++} ++ ++// Multiply packed single-precision (32-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ps ++FORCE_INLINE __m128 _mm_mul_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vmulq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Multiply the lower single-precision (32-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ss ++FORCE_INLINE __m128 _mm_mul_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_mul_ps(a, b)); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_pu16 ++FORCE_INLINE __m64 _mm_mulhi_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16(vshrn_n_u32( ++ vmull_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b)), 16)); ++} ++ ++// Compute the bitwise OR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_ps ++FORCE_INLINE __m128 _mm_or_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vorrq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgb ++#define _m_pavgb(a, b) _mm_avg_pu8(a, b) ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgw ++#define _m_pavgw(a, b) _mm_avg_pu16(a, b) ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pextrw ++#define _m_pextrw(a, imm) _mm_extract_pi16(a, imm) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_pinsrw ++#define _m_pinsrw(a, i, imm) _mm_insert_pi16(a, i, imm) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxsw ++#define _m_pmaxsw(a, b) _mm_max_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxub ++#define _m_pmaxub(a, b) _mm_max_pu8(a, b) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminsw ++#define _m_pminsw(a, b) _mm_min_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminub ++#define _m_pminub(a, b) _mm_min_pu8(a, b) ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmovmskb ++#define _m_pmovmskb(a) _mm_movemask_pi8(a) ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmulhuw ++#define _m_pmulhuw(a, b) _mm_mulhi_pu16(a, b) ++ ++// Fetch the line of data from memory that contains address p to a location in ++// the cache hierarchy specified by the locality hint i. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_prefetch ++FORCE_INLINE void _mm_prefetch(char const *p, int i) ++{ ++ (void) i; ++#if defined(_MSC_VER) ++ switch (i) { ++ case _MM_HINT_NTA: ++ __prefetch2(p, 1); ++ break; ++ case _MM_HINT_T0: ++ __prefetch2(p, 0); ++ break; ++ case _MM_HINT_T1: ++ __prefetch2(p, 2); ++ break; ++ case _MM_HINT_T2: ++ __prefetch2(p, 4); ++ break; ++ } ++#else ++ switch (i) { ++ case _MM_HINT_NTA: ++ __builtin_prefetch(p, 0, 0); ++ break; ++ case _MM_HINT_T0: ++ __builtin_prefetch(p, 0, 3); ++ break; ++ case _MM_HINT_T1: ++ __builtin_prefetch(p, 0, 2); ++ break; ++ case _MM_HINT_T2: ++ __builtin_prefetch(p, 0, 1); ++ break; ++ } ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_psadbw ++#define _m_psadbw(a, b) _mm_sad_pu8(a, b) ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pshufw ++#define _m_pshufw(a, imm) _mm_shuffle_pi16(a, imm) ++ ++// Compute the approximate reciprocal of packed single-precision (32-bit) ++// floating-point elements in a, and store the results in dst. The maximum ++// relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ps ++FORCE_INLINE __m128 _mm_rcp_ps(__m128 in) ++{ ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(in)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#if SSE2NEON_PRECISE_DIV ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#endif ++ return vreinterpretq_m128_f32(recip); ++} ++ ++// Compute the approximate reciprocal of the lower single-precision (32-bit) ++// floating-point element in a, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ss ++FORCE_INLINE __m128 _mm_rcp_ss(__m128 a) ++{ ++ return _mm_move_ss(a, _mm_rcp_ps(a)); ++} ++ ++// Compute the approximate reciprocal square root of packed single-precision ++// (32-bit) floating-point elements in a, and store the results in dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ps ++FORCE_INLINE __m128 _mm_rsqrt_ps(__m128 in) ++{ ++ float32x4_t out = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Generate masks for detecting whether input has any 0.0f/-0.0f ++ // (which becomes positive/negative infinity by IEEE-754 arithmetic rules). ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t neg_inf = vdupq_n_u32(0xFF800000); ++ const uint32x4_t has_pos_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(out)); ++ const uint32x4_t has_neg_zero = ++ vceqq_u32(neg_inf, vreinterpretq_u32_f32(out)); ++ ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#if SSE2NEON_PRECISE_SQRT ++ // Additional Netwon-Raphson iteration for accuracy ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#endif ++ ++ // Set output vector element to infinity/negative-infinity if ++ // the corresponding input vector element is 0.0f/-0.0f. ++ out = vbslq_f32(has_pos_zero, (float32x4_t) pos_inf, out); ++ out = vbslq_f32(has_neg_zero, (float32x4_t) neg_inf, out); ++ ++ return vreinterpretq_m128_f32(out); ++} ++ ++// Compute the approximate reciprocal square root of the lower single-precision ++// (32-bit) floating-point element in a, store the result in the lower element ++// of dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ss ++FORCE_INLINE __m128 _mm_rsqrt_ss(__m128 in) ++{ ++ return vsetq_lane_f32(vgetq_lane_f32(_mm_rsqrt_ps(in), 0), in, 0); ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_pu8 ++FORCE_INLINE __m64 _mm_sad_pu8(__m64 a, __m64 b) ++{ ++ uint64x1_t t = vpaddl_u32(vpaddl_u16( ++ vpaddl_u8(vabd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))))); ++ return vreinterpret_m64_u16( ++ vset_lane_u16((int) vget_lane_u64(t, 0), vdup_n_u16(0), 0)); ++} ++ ++// Macro: Set the flush zero bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The flush zero may contain any of the ++// following flags: _MM_FLUSH_ZERO_ON or _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_FLUSH_ZERO_MODE ++FORCE_INLINE void _sse2neon_mm_set_flush_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_FLUSH_ZERO_MASK) == _MM_FLUSH_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps ++FORCE_INLINE __m128 _mm_set_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {x, y, z, w}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps1 ++FORCE_INLINE __m128 _mm_set_ps1(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Macro: Set the rounding mode bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The rounding mode may contain any of ++// the following flags: _MM_ROUND_NEAREST, _MM_ROUND_DOWN, _MM_ROUND_UP, ++// _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_ROUNDING_MODE ++FORCE_INLINE void _MM_SET_ROUNDING_MODE(int rounding) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ switch (rounding) { ++ case _MM_ROUND_TOWARD_ZERO: ++ r.field.bit22 = 1; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_DOWN: ++ r.field.bit22 = 0; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_UP: ++ r.field.bit22 = 1; ++ r.field.bit23 = 0; ++ break; ++ default: //_MM_ROUND_NEAREST ++ r.field.bit22 = 0; ++ r.field.bit23 = 0; ++ } ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Copy single-precision (32-bit) floating-point element a to the lower element ++// of dst, and zero the upper 3 elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ss ++FORCE_INLINE __m128 _mm_set_ss(float a) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(a, vdupq_n_f32(0), 0)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_ps ++FORCE_INLINE __m128 _mm_set1_ps(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Set the MXCSR control and status register with the value in unsigned 32-bit ++// integer a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setcsr ++// FIXME: _mm_setcsr() implementation supports changing the rounding mode only. ++FORCE_INLINE void _mm_setcsr(unsigned int a) ++{ ++ _MM_SET_ROUNDING_MODE(a); ++} ++ ++// Get the unsigned 32-bit value of the MXCSR control and status register. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_getcsr ++// FIXME: _mm_getcsr() implementation supports reading the rounding mode only. ++FORCE_INLINE unsigned int _mm_getcsr(void) ++{ ++ return _MM_GET_ROUNDING_MODE(); ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_ps ++FORCE_INLINE __m128 _mm_setr_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {w, z, y, x}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Return vector of type __m128 with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_ps ++FORCE_INLINE __m128 _mm_setzero_ps(void) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(0)); ++} ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi16 ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pi16(a, imm) \ ++ vreinterpret_m64_s16(vshuffle_s16( \ ++ vreinterpret_s16_m64(a), vreinterpret_s16_m64(a), (imm & 0x3), \ ++ ((imm >> 2) & 0x3), ((imm >> 4) & 0x3), ((imm >> 6) & 0x3))) ++#else ++#define _mm_shuffle_pi16(a, imm) \ ++ _sse2neon_define1( \ ++ __m64, a, int16x4_t ret; \ ++ ret = vmov_n_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), (imm) & (0x3))); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpret_m64_s16(ret));) ++#endif ++ ++// Perform a serializing operation on all store-to-memory instructions that were ++// issued prior to this instruction. Guarantees that every store instruction ++// that precedes, in program order, is globally visible before any store ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sfence ++FORCE_INLINE void _mm_sfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory and store-to-memory ++// instructions that were issued prior to this instruction. Guarantees that ++// every memory access that precedes, in program order, the memory fence ++// instruction is globally visible before any memory instruction which follows ++// the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mfence ++FORCE_INLINE void _mm_mfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory instructions that ++// were issued prior to this instruction. Guarantees that every load instruction ++// that precedes, in program order, is globally visible before any load ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lfence ++FORCE_INLINE void _mm_lfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// FORCE_INLINE __m128 _mm_shuffle_ps(__m128 a, __m128 b, __constrange(0,255) ++// int imm) ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_ps(a, b, imm) \ ++ __extension__({ \ ++ float32x4_t _input1 = vreinterpretq_f32_m128(a); \ ++ float32x4_t _input2 = vreinterpretq_f32_m128(b); \ ++ float32x4_t _shuf = \ ++ vshuffleq_s32(_input1, _input2, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ (((imm) >> 4) & 0x3) + 4, (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128_f32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_ps(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128, a, b, __m128 ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_1032(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_ps_2301(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_ps_0321(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_ps_2103(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_movelh_ps(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_1001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_ps_0101(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 1, 0): \ ++ ret = _mm_shuffle_ps_3210(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 1, 1): \ ++ ret = _mm_shuffle_ps_0011(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 2, 2): \ ++ ret = _mm_shuffle_ps_0022(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 0, 0): \ ++ ret = _mm_shuffle_ps_2200(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 0, 2): \ ++ ret = _mm_shuffle_ps_3202(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 3, 2): \ ++ ret = _mm_movehl_ps(_b, _a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 3, 3): \ ++ ret = _mm_shuffle_ps_1133(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 1, 0): \ ++ ret = _mm_shuffle_ps_2010(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_2001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_2032(_a, _b); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_ps_default(_a, _b, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Compute the square root of packed single-precision (32-bit) floating-point ++// elements in a, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise square root intrinsic, we implement ++// square root by multiplying input in with its reciprocal square root before ++// using the Newton-Raphson method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ps ++FORCE_INLINE __m128 _mm_sqrt_ps(__m128 in) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) && !SSE2NEON_PRECISE_SQRT ++ return vreinterpretq_m128_f32(vsqrtq_f32(vreinterpretq_f32_m128(in))); ++#else ++ float32x4_t recip = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Test for vrsqrteq_f32(0) -> positive infinity case. ++ // Change to zero, so that s * 1/sqrt(s) result is zero too. ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t div_by_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(recip)); ++ recip = vreinterpretq_f32_u32( ++ vandq_u32(vmvnq_u32(div_by_zero), vreinterpretq_u32_f32(recip))); ++ ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ ++ // sqrt(s) = s * 1/sqrt(s) ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(in), recip)); ++#endif ++} ++ ++// Compute the square root of the lower single-precision (32-bit) floating-point ++// element in a, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ss ++FORCE_INLINE __m128 _mm_sqrt_ss(__m128 in) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_sqrt_ps(in)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(in), 0)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps ++FORCE_INLINE void _mm_store_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps1 ++FORCE_INLINE void _mm_store_ps1(float *p, __m128 a) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ vst1q_f32(p, vdupq_n_f32(a0)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ss ++FORCE_INLINE void _mm_store_ss(float *p, __m128 a) ++{ ++ vst1q_lane_f32(p, vreinterpretq_f32_m128(a), 0); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store1_ps ++#define _mm_store1_ps _mm_store_ps1 ++ ++// Store the upper 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pi ++FORCE_INLINE void _mm_storeh_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_high_f32(a)); ++} ++ ++// Store the lower 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pi ++FORCE_INLINE void _mm_storel_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_low_f32(a)); ++} ++ ++// Store 4 single-precision (32-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_ps ++FORCE_INLINE void _mm_storer_ps(float *p, __m128 a) ++{ ++ float32x4_t tmp = vrev64q_f32(vreinterpretq_f32_m128(a)); ++ float32x4_t rev = vextq_f32(tmp, tmp, 2); ++ vst1q_f32(p, rev); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_ps ++FORCE_INLINE void _mm_storeu_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Stores 16-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si16 ++FORCE_INLINE void _mm_storeu_si16(void *p, __m128i a) ++{ ++ vst1q_lane_s16((int16_t *) p, vreinterpretq_s16_m128i(a), 0); ++} ++ ++// Stores 64-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si64 ++FORCE_INLINE void _mm_storeu_si64(void *p, __m128i a) ++{ ++ vst1q_lane_s64((int64_t *) p, vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Store 64-bits of integer data from a into memory using a non-temporal memory ++// hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pi ++FORCE_INLINE void _mm_stream_pi(__m64 *p, __m64 a) ++{ ++ vst1_s64((int64_t *) p, vreinterpret_s64_m64(a)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating- ++// point elements) from a into memory using a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_ps ++FORCE_INLINE void _mm_stream_ps(float *p, __m128 a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (float32x4_t *) p); ++#else ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++#endif ++} ++ ++// Subtract packed single-precision (32-bit) floating-point elements in b from ++// packed single-precision (32-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ps ++FORCE_INLINE __m128 _mm_sub_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Subtract the lower single-precision (32-bit) floating-point element in b from ++// the lower single-precision (32-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper 3 packed elements from ++// a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ss ++FORCE_INLINE __m128 _mm_sub_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_sub_ps(a, b)); ++} ++ ++// Macro: Transpose the 4x4 matrix formed by the 4 rows of single-precision ++// (32-bit) floating-point elements in row0, row1, row2, and row3, and store the ++// transposed matrix in these vectors (row0 now contains column 0, etc.). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=MM_TRANSPOSE4_PS ++#define _MM_TRANSPOSE4_PS(row0, row1, row2, row3) \ ++ do { \ ++ float32x4x2_t ROW01 = vtrnq_f32(row0, row1); \ ++ float32x4x2_t ROW23 = vtrnq_f32(row2, row3); \ ++ row0 = vcombine_f32(vget_low_f32(ROW01.val[0]), \ ++ vget_low_f32(ROW23.val[0])); \ ++ row1 = vcombine_f32(vget_low_f32(ROW01.val[1]), \ ++ vget_low_f32(ROW23.val[1])); \ ++ row2 = vcombine_f32(vget_high_f32(ROW01.val[0]), \ ++ vget_high_f32(ROW23.val[0])); \ ++ row3 = vcombine_f32(vget_high_f32(ROW01.val[1]), \ ++ vget_high_f32(ROW23.val[1])); \ ++ } while (0) ++ ++// according to the documentation, these intrinsics behave the same as the ++// non-'u' versions. We'll just alias them here. ++#define _mm_ucomieq_ss _mm_comieq_ss ++#define _mm_ucomige_ss _mm_comige_ss ++#define _mm_ucomigt_ss _mm_comigt_ss ++#define _mm_ucomile_ss _mm_comile_ss ++#define _mm_ucomilt_ss _mm_comilt_ss ++#define _mm_ucomineq_ss _mm_comineq_ss ++ ++// Return vector of type __m128i with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_undefined_si128 ++FORCE_INLINE __m128i _mm_undefined_si128(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128i a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_si128(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Return vector of type __m128 with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_ps ++FORCE_INLINE __m128 _mm_undefined_ps(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128 a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_ps(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the high half a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_ps ++FORCE_INLINE __m128 _mm_unpackhi_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_ps ++FORCE_INLINE __m128 _mm_unpacklo_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Compute the bitwise XOR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_ps ++FORCE_INLINE __m128 _mm_xor_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ veorq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++/* SSE2 */ ++ ++// Add packed 16-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi16 ++FORCE_INLINE __m128i _mm_add_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed 32-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi32 ++FORCE_INLINE __m128i _mm_add_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vaddq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Add packed 64-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi64 ++FORCE_INLINE __m128i _mm_add_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vaddq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Add packed 8-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi8 ++FORCE_INLINE __m128i _mm_add_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed double-precision (64-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_pd ++FORCE_INLINE __m128d _mm_add_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1] + db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add the lower double-precision (64-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper element from ++// a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_sd ++FORCE_INLINE __m128d _mm_add_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_add_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add 64-bit integers a and b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_si64 ++FORCE_INLINE __m64 _mm_add_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vadd_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Add packed signed 16-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi16 ++FORCE_INLINE __m128i _mm_adds_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed signed 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi8 ++FORCE_INLINE __m128i _mm_adds_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed unsigned 16-bit integers in a and b using saturation, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu16 ++FORCE_INLINE __m128i _mm_adds_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqaddq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Add packed unsigned 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu8 ++FORCE_INLINE __m128i _mm_adds_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compute the bitwise AND of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_pd ++FORCE_INLINE __m128d _mm_and_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vandq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_si128 ++FORCE_INLINE __m128i _mm_and_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vandq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compute the bitwise NOT of packed double-precision (64-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_pd ++FORCE_INLINE __m128d _mm_andnot_pd(__m128d a, __m128d b) ++{ ++ // *NOTE* argument swap ++ return vreinterpretq_m128d_s64( ++ vbicq_s64(vreinterpretq_s64_m128d(b), vreinterpretq_s64_m128d(a))); ++} ++ ++// Compute the bitwise NOT of 128 bits (representing integer data) in a and then ++// AND with b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_si128 ++FORCE_INLINE __m128i _mm_andnot_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vbicq_s32(vreinterpretq_s32_m128i(b), ++ vreinterpretq_s32_m128i(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu16 ++FORCE_INLINE __m128i _mm_avg_epu16(__m128i a, __m128i b) ++{ ++ return (__m128i) vrhaddq_u16(vreinterpretq_u16_m128i(a), ++ vreinterpretq_u16_m128i(b)); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu8 ++FORCE_INLINE __m128i _mm_avg_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vrhaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bslli_si128 ++#define _mm_bslli_si128(a, imm) _mm_slli_si128(a, imm) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bsrli_si128 ++#define _mm_bsrli_si128(a, imm) _mm_srli_si128(a, imm) ++ ++// Cast vector of type __m128d to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_ps ++FORCE_INLINE __m128 _mm_castpd_ps(__m128d a) ++{ ++ return vreinterpretq_m128_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128d to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_si128 ++FORCE_INLINE __m128i _mm_castpd_si128(__m128d a) ++{ ++ return vreinterpretq_m128i_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128 to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_pd ++FORCE_INLINE __m128d _mm_castps_pd(__m128 a) ++{ ++ return vreinterpretq_m128d_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128 to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_si128 ++FORCE_INLINE __m128i _mm_castps_si128(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128i to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_pd ++FORCE_INLINE __m128d _mm_castsi128_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vreinterpretq_f64_m128i(a)); ++#else ++ return vreinterpretq_m128d_f32(vreinterpretq_f32_m128i(a)); ++#endif ++} ++ ++// Cast vector of type __m128i to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_ps ++FORCE_INLINE __m128 _mm_castsi128_ps(__m128i a) ++{ ++ return vreinterpretq_m128_s32(vreinterpretq_s32_m128i(a)); ++} ++ ++// Invalidate and flush the cache line that contains p from all levels of the ++// cache hierarchy. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clflush ++#if defined(__APPLE__) ++#include ++#endif ++FORCE_INLINE void _mm_clflush(void const *p) ++{ ++ (void) p; ++ ++ /* sys_icache_invalidate is supported since macOS 10.5. ++ * However, it does not work on non-jailbroken iOS devices, although the ++ * compilation is successful. ++ */ ++#if defined(__APPLE__) ++ sys_icache_invalidate((void *) (uintptr_t) p, SSE2NEON_CACHELINE_SIZE); ++#elif defined(__GNUC__) || defined(__clang__) ++ uintptr_t ptr = (uintptr_t) p; ++ __builtin___clear_cache((char *) ptr, ++ (char *) ptr + SSE2NEON_CACHELINE_SIZE); ++#elif (_MSC_VER) && SSE2NEON_INCLUDE_WINDOWS_H ++ FlushInstructionCache(GetCurrentProcess(), p, SSE2NEON_CACHELINE_SIZE); ++#endif ++} ++ ++// Compare packed 16-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi16 ++FORCE_INLINE __m128i _mm_cmpeq_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vceqq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed 32-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi32 ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vceqq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed 8-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi8 ++FORCE_INLINE __m128i _mm_cmpeq_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vceqq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_pd ++FORCE_INLINE __m128d _mm_cmpeq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_sd ++FORCE_INLINE __m128d _mm_cmpeq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpeq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_pd ++FORCE_INLINE __m128d _mm_cmpge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) >= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_sd ++FORCE_INLINE __m128d _mm_cmpge_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpge_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi16 ++FORCE_INLINE __m128i _mm_cmpgt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcgtq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi32 ++FORCE_INLINE __m128i _mm_cmpgt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcgtq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi8 ++FORCE_INLINE __m128i _mm_cmpgt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcgtq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_pd ++FORCE_INLINE __m128d _mm_cmpgt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_sd ++FORCE_INLINE __m128d _mm_cmpgt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpgt_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_pd ++FORCE_INLINE __m128d _mm_cmple_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) <= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_sd ++FORCE_INLINE __m128d _mm_cmple_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmple_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtw instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi16 ++FORCE_INLINE __m128i _mm_cmplt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcltq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtd instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi32 ++FORCE_INLINE __m128i _mm_cmplt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcltq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtb instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi8 ++FORCE_INLINE __m128i _mm_cmplt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcltq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_pd ++FORCE_INLINE __m128d _mm_cmplt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_sd ++FORCE_INLINE __m128d _mm_cmplt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmplt_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_pd ++FORCE_INLINE __m128d _mm_cmpneq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_s32(vmvnq_s32(vreinterpretq_s32_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vmvnq_u32(vandq_u32(cmp, swapped))); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_sd ++FORCE_INLINE __m128d _mm_cmpneq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpneq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_pd ++FORCE_INLINE __m128d _mm_cmpnge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) >= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) >= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_sd ++FORCE_INLINE __m128d _mm_cmpnge_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnge_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_cmpngt_pd ++FORCE_INLINE __m128d _mm_cmpngt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) > (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) > (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_sd ++FORCE_INLINE __m128d _mm_cmpngt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpngt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_pd ++FORCE_INLINE __m128d _mm_cmpnle_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) <= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) <= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_sd ++FORCE_INLINE __m128d _mm_cmpnle_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnle_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_pd ++FORCE_INLINE __m128d _mm_cmpnlt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) < (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) < (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_sd ++FORCE_INLINE __m128d _mm_cmpnlt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnlt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_pd ++FORCE_INLINE __m128d _mm_cmpord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Excluding NaNs, any two floating point numbers can be compared. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_u64(vandq_u64(not_nan_a, not_nan_b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_sd ++FORCE_INLINE __m128d _mm_cmpord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_pd ++FORCE_INLINE __m128d _mm_cmpunord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Two NaNs are not equal in comparison operation. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_s32( ++ vmvnq_s32(vreinterpretq_s32_u64(vandq_u64(not_nan_a, not_nan_b)))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_sd ++FORCE_INLINE __m128d _mm_cmpunord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpunord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_sd ++FORCE_INLINE int _mm_comige_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgeq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 >= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_sd ++FORCE_INLINE int _mm_comigt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgtq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 > *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_sd ++FORCE_INLINE int _mm_comile_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcleq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 <= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_sd ++FORCE_INLINE int _mm_comilt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcltq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 < *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_sd ++FORCE_INLINE int _mm_comieq_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vceqq_f64(a, b), 0) & 0x1; ++#else ++ uint32x4_t a_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(a)); ++ uint32x4_t b_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(b), vreinterpretq_u32_m128d(b)); ++ uint32x4_t a_and_b_not_nan = vandq_u32(a_not_nan, b_not_nan); ++ uint32x4_t a_eq_b = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint64x2_t and_results = vandq_u64(vreinterpretq_u64_u32(a_and_b_not_nan), ++ vreinterpretq_u64_u32(a_eq_b)); ++ return vgetq_lane_u64(and_results, 0) & 0x1; ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_sd ++FORCE_INLINE int _mm_comineq_sd(__m128d a, __m128d b) ++{ ++ return !_mm_comieq_sd(a, b); ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_pd ++FORCE_INLINE __m128d _mm_cvtepi32_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a))))); ++#else ++ double a0 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++ double a1 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_ps ++FORCE_INLINE __m128 _mm_cvtepi32_ps(__m128i a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_epi32 ++FORCE_INLINE __m128i _mm_cvtpd_epi32(__m128d a) ++{ ++// vrnd32xq_f64 not supported on clang ++#if defined(__ARM_FEATURE_FRINT) && !defined(__clang__) ++ float64x2_t rounded = vrnd32xq_f64(vreinterpretq_f64_m128d(a)); ++ int64x2_t integers = vcvtq_s64_f64(rounded); ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vmovn_s64(integers), vdup_n_s32(0))); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) d1, (int32_t) d0); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_pi32 ++FORCE_INLINE __m64 _mm_cvtpd_pi32(__m128d a) ++{ ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) d0, (int32_t) d1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed single-precision (32-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_ps ++FORCE_INLINE __m128 _mm_cvtpd_ps(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float32x2_t tmp = vcvt_f32_f64(vreinterpretq_f64_m128d(a)); ++ return vreinterpretq_m128_f32(vcombine_f32(tmp, vdup_n_f32(0))); ++#else ++ float a0 = (float) ((double *) &a)[0]; ++ float a1 = (float) ((double *) &a)[1]; ++ return _mm_set_ps(0, 0, a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_pd ++FORCE_INLINE __m128d _mm_cvtpi32_pd(__m64 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vreinterpret_s32_m64(a)))); ++#else ++ double a0 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 0); ++ double a1 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_epi32 ++// *NOTE*. The default rounding mode on SSE is 'round to even', which ARMv7-A ++// does not support! It is supported on ARMv8-A however. ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128 a) ++{ ++#if defined(__ARM_FEATURE_FRINT) ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vrnd32xq_f32(a))); ++#elif (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: ++ return vreinterpretq_m128i_s32(vcvtnq_s32_f32(a)); ++ case _MM_ROUND_DOWN: ++ return vreinterpretq_m128i_s32(vcvtmq_s32_f32(a)); ++ case _MM_ROUND_UP: ++ return vreinterpretq_m128i_s32(vcvtpq_s32_f32(a)); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(a)); ++ } ++#else ++ float *f = (float *) &a; ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128i_s32( ++ vbslq_s32(is_delta_half, r_even, r_normal)); ++ } ++ case _MM_ROUND_DOWN: ++ return _mm_set_epi32(floorf(f[3]), floorf(f[2]), floorf(f[1]), ++ floorf(f[0])); ++ case _MM_ROUND_UP: ++ return _mm_set_epi32(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ++ ceilf(f[0])); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return _mm_set_epi32((int32_t) f[3], (int32_t) f[2], (int32_t) f[1], ++ (int32_t) f[0]); ++ } ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed double-precision (64-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pd ++FORCE_INLINE __m128d _mm_cvtps_pd(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvt_f64_f32(vget_low_f32(vreinterpretq_f32_m128(a)))); ++#else ++ double a0 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ double a1 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Copy the lower double-precision (64-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_f64 ++FORCE_INLINE double _mm_cvtsd_f64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (double) vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0); ++#else ++ return ((double *) &a)[0]; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si32 ++FORCE_INLINE int32_t _mm_cvtsd_si32(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int32_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int32_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64 ++FORCE_INLINE int64_t _mm_cvtsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int64_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64x ++#define _mm_cvtsd_si64x _mm_cvtsd_si64 ++ ++// Convert the lower double-precision (64-bit) floating-point element in b to a ++// single-precision (32-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_ss ++FORCE_INLINE __m128 _mm_cvtsd_ss(__m128 a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32(vsetq_lane_f32( ++ vget_lane_f32(vcvt_f32_f64(vreinterpretq_f64_m128d(b)), 0), ++ vreinterpretq_f32_m128(a), 0)); ++#else ++ return vreinterpretq_m128_f32(vsetq_lane_f32((float) ((double *) &b)[0], ++ vreinterpretq_f32_m128(a), 0)); ++#endif ++} ++ ++// Copy the lower 32-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si32 ++FORCE_INLINE int _mm_cvtsi128_si32(__m128i a) ++{ ++ return vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64 ++FORCE_INLINE int64_t _mm_cvtsi128_si64(__m128i a) ++{ ++ return vgetq_lane_s64(vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Convert the signed 32-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_sd ++FORCE_INLINE __m128d _mm_cvtsi32_sd(__m128d a, int32_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Copy 32-bit integer a to the lower elements of dst, and zero the upper ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_si128 ++FORCE_INLINE __m128i _mm_cvtsi32_si128(int a) ++{ ++ return vreinterpretq_m128i_s32(vsetq_lane_s32(a, vdupq_n_s32(0), 0)); ++} ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_sd ++FORCE_INLINE __m128d _mm_cvtsi64_sd(__m128d a, int64_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_si128 ++FORCE_INLINE __m128i _mm_cvtsi64_si128(int64_t a) ++{ ++ return vreinterpretq_m128i_s64(vsetq_lane_s64(a, vdupq_n_s64(0), 0)); ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_si128 ++#define _mm_cvtsi64x_si128(a) _mm_cvtsi64_si128(a) ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_sd ++#define _mm_cvtsi64x_sd(a, b) _mm_cvtsi64_sd(a, b) ++ ++// Convert the lower single-precision (32-bit) floating-point element in b to a ++// double-precision (64-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_sd ++FORCE_INLINE __m128d _mm_cvtss_sd(__m128d a, __m128 b) ++{ ++ double d = (double) vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(d, vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &d, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_epi32 ++FORCE_INLINE __m128i _mm_cvttpd_epi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) a1, (int32_t) a0); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_pi32 ++FORCE_INLINE __m64 _mm_cvttpd_pi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) a0, (int32_t) a1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_epi32 ++FORCE_INLINE __m128i _mm_cvttps_epi32(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a))); ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si32 ++FORCE_INLINE int32_t _mm_cvttsd_si32(__m128d a) ++{ ++ double ret = *((double *) &a); ++ return (int32_t) ret; ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64 ++FORCE_INLINE int64_t _mm_cvttsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_s64(vcvtq_s64_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ double ret = *((double *) &a); ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64x ++#define _mm_cvttsd_si64x(a) _mm_cvttsd_si64(a) ++ ++// Divide packed double-precision (64-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_pd ++FORCE_INLINE __m128d _mm_div_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] / db[0]; ++ c[1] = da[1] / db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Divide the lower double-precision (64-bit) floating-point element in a by the ++// lower double-precision (64-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper element from a to the upper ++// element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_sd ++FORCE_INLINE __m128d _mm_div_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t tmp = ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1), tmp, 1)); ++#else ++ return _mm_move_sd(a, _mm_div_pd(a, b)); ++#endif ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi16 ++// FORCE_INLINE int _mm_extract_epi16(__m128i a, __constrange(0,8) int imm) ++#define _mm_extract_epi16(a, imm) \ ++ vgetq_lane_u16(vreinterpretq_u16_m128i(a), (imm)) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi16 ++// FORCE_INLINE __m128i _mm_insert_epi16(__m128i a, int b, ++// __constrange(0,8) int imm) ++#define _mm_insert_epi16(a, b, imm) \ ++ vreinterpretq_m128i_s16( \ ++ vsetq_lane_s16((b), vreinterpretq_s16_m128i(a), (imm))) ++ ++// Load 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd ++FORCE_INLINE __m128d _mm_load_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64(p)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], fp[2], fp[3]}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd1 ++#define _mm_load_pd1 _mm_load1_pd ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower of dst, and zero the upper element. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_sd ++FORCE_INLINE __m128d _mm_load_sd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(*p, vdupq_n_f64(0), 0)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], 0, 0}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_si128 ++FORCE_INLINE __m128i _mm_load_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const int32_t *) p)); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_pd ++FORCE_INLINE __m128d _mm_load1_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_dup_f64(p)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(const int64_t *) p)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// upper element of dst, and copy the lower element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pd ++FORCE_INLINE __m128d _mm_loadh_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vget_low_f64(vreinterpretq_f64_m128d(a)), vld1_f64(p))); ++#else ++ return vreinterpretq_m128d_f32(vcombine_f32( ++ vget_low_f32(vreinterpretq_f32_m128d(a)), vld1_f32((const float *) p))); ++#endif ++} ++ ++// Load 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_epi64 ++FORCE_INLINE __m128i _mm_loadl_epi64(__m128i const *p) ++{ ++ /* Load the lower 64 bits of the value pointed to by p into the ++ * lower 64 bits of the result, zeroing the upper 64 bits of the result. ++ */ ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vld1_s32((int32_t const *) p), vcreate_s32(0))); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower element of dst, and copy the upper element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pd ++FORCE_INLINE __m128d _mm_loadl_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vld1_f64(p), vget_high_f64(vreinterpretq_f64_m128d(a)))); ++#else ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vld1_f32((const float *) p), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++#endif ++} ++ ++// Load 2 double-precision (64-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_pd ++FORCE_INLINE __m128d _mm_loadr_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t v = vld1q_f64(p); ++ return vreinterpretq_m128d_f64(vextq_f64(v, v, 1)); ++#else ++ int64x2_t v = vld1q_s64((const int64_t *) p); ++ return vreinterpretq_m128d_s64(vextq_s64(v, v, 1)); ++#endif ++} ++ ++// Loads two double-precision from unaligned memory, floating-point values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_pd ++FORCE_INLINE __m128d _mm_loadu_pd(const double *p) ++{ ++ return _mm_load_pd(p); ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si128 ++FORCE_INLINE __m128i _mm_loadu_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const unaligned_int32_t *) p)); ++} ++ ++// Load unaligned 32-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si32 ++FORCE_INLINE __m128i _mm_loadu_si32(const void *p) ++{ ++ return vreinterpretq_m128i_s32( ++ vsetq_lane_s32(*(const unaligned_int32_t *) p, vdupq_n_s32(0), 0)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Horizontally add adjacent pairs of intermediate ++// 32-bit integers, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_madd_epi16 ++FORCE_INLINE __m128i _mm_madd_epi16(__m128i a, __m128i b) ++{ ++ int32x4_t low = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t high = ++ vmull_high_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b)); ++ ++ return vreinterpretq_m128i_s32(vpaddq_s32(low, high)); ++#else ++ int32x4_t high = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ int32x2_t low_sum = vpadd_s32(vget_low_s32(low), vget_high_s32(low)); ++ int32x2_t high_sum = vpadd_s32(vget_low_s32(high), vget_high_s32(high)); ++ ++ return vreinterpretq_m128i_s32(vcombine_s32(low_sum, high_sum)); ++#endif ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. mem_addr does not need to be aligned ++// on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmoveu_si128 ++FORCE_INLINE void _mm_maskmoveu_si128(__m128i a, __m128i mask, char *mem_addr) ++{ ++ int8x16_t shr_mask = vshrq_n_s8(vreinterpretq_s8_m128i(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x16_t masked = ++ vbslq_s8(vreinterpretq_u8_s8(shr_mask), vreinterpretq_s8_m128i(a), ++ vreinterpretq_s8_m128(b)); ++ vst1q_s8((int8_t *) mem_addr, masked); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi16 ++FORCE_INLINE __m128i _mm_max_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmaxq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu8 ++FORCE_INLINE __m128i _mm_max_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vmaxq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pd ++FORCE_INLINE __m128d _mm_max_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcgtq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vmaxq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? a1 : b1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_sd ++FORCE_INLINE __m128d _mm_max_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_max_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] > db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi16 ++FORCE_INLINE __m128i _mm_min_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vminq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu8 ++FORCE_INLINE __m128i _mm_min_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vminq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pd ++FORCE_INLINE __m128d _mm_min_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcltq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vminq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? a1 : b1; ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_sd ++FORCE_INLINE __m128d _mm_min_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_min_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] < db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to the lower element of dst, and zero the ++// upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_epi64 ++FORCE_INLINE __m128i _mm_move_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vsetq_lane_s64(0, vreinterpretq_s64_m128i(a), 1)); ++} ++ ++// Move the lower double-precision (64-bit) floating-point element from b to the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_sd ++FORCE_INLINE __m128d _mm_move_sd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vget_low_f32(vreinterpretq_f32_m128d(b)), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_epi8 ++FORCE_INLINE int _mm_movemask_epi8(__m128i a) ++{ ++ // Use increasingly wide shifts+adds to collect the sign bits ++ // together. ++ // Since the widening shifts would be rather confusing to follow in little ++ // endian, everything will be illustrated in big endian order instead. This ++ // has a different result - the bits would actually be reversed on a big ++ // endian machine. ++ ++ // Starting input (only half the elements are shown): ++ // 89 ff 1d c0 00 10 99 33 ++ uint8x16_t input = vreinterpretq_u8_m128i(a); ++ ++ // Shift out everything but the sign bits with an unsigned shift right. ++ // ++ // Bytes of the vector:: ++ // 89 ff 1d c0 00 10 99 33 ++ // \ \ \ \ \ \ \ \ high_bits = (uint16x4_t)(input >> 7) ++ // | | | | | | | | ++ // 01 01 00 01 00 00 01 00 ++ // ++ // Bits of first important lane(s): ++ // 10001001 (89) ++ // \______ ++ // | ++ // 00000001 (01) ++ uint16x8_t high_bits = vreinterpretq_u16_u8(vshrq_n_u8(input, 7)); ++ ++ // Merge the even lanes together with a 16-bit unsigned shift right + add. ++ // 'xx' represents garbage data which will be ignored in the final result. ++ // In the important bytes, the add functions like a binary OR. ++ // ++ // 01 01 00 01 00 00 01 00 ++ // \_ | \_ | \_ | \_ | paired16 = (uint32x4_t)(input + (input >> 7)) ++ // \| \| \| \| ++ // xx 03 xx 01 xx 00 xx 02 ++ // ++ // 00000001 00000001 (01 01) ++ // \_______ | ++ // \| ++ // xxxxxxxx xxxxxx11 (xx 03) ++ uint32x4_t paired16 = ++ vreinterpretq_u32_u16(vsraq_n_u16(high_bits, high_bits, 7)); ++ ++ // Repeat with a wider 32-bit shift + add. ++ // xx 03 xx 01 xx 00 xx 02 ++ // \____ | \____ | paired32 = (uint64x1_t)(paired16 + (paired16 >> ++ // 14)) ++ // \| \| ++ // xx xx xx 0d xx xx xx 02 ++ // ++ // 00000011 00000001 (03 01) ++ // \\_____ || ++ // '----.\|| ++ // xxxxxxxx xxxx1101 (xx 0d) ++ uint64x2_t paired32 = ++ vreinterpretq_u64_u32(vsraq_n_u32(paired16, paired16, 14)); ++ ++ // Last, an even wider 64-bit shift + add to get our result in the low 8 bit ++ // lanes. xx xx xx 0d xx xx xx 02 ++ // \_________ | paired64 = (uint8x8_t)(paired32 + (paired32 >> ++ // 28)) ++ // \| ++ // xx xx xx xx xx xx xx d2 ++ // ++ // 00001101 00000010 (0d 02) ++ // \ \___ | | ++ // '---. \| | ++ // xxxxxxxx 11010010 (xx d2) ++ uint8x16_t paired64 = ++ vreinterpretq_u8_u64(vsraq_n_u64(paired32, paired32, 28)); ++ ++ // Extract the low 8 bits from each 64-bit lane with 2 8-bit extracts. ++ // xx xx xx xx xx xx xx d2 ++ // || return paired64[0] ++ // d2 ++ // Note: Little endian would return the correct value 4b (01001011) instead. ++ return vgetq_lane_u8(paired64, 0) | ((int) vgetq_lane_u8(paired64, 8) << 8); ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed double-precision (64-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pd ++FORCE_INLINE int _mm_movemask_pd(__m128d a) ++{ ++ uint64x2_t input = vreinterpretq_u64_m128d(a); ++ uint64x2_t high_bits = vshrq_n_u64(input, 63); ++ return (int) (vgetq_lane_u64(high_bits, 0) | ++ (vgetq_lane_u64(high_bits, 1) << 1)); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movepi64_pi64 ++FORCE_INLINE __m64 _mm_movepi64_pi64(__m128i a) ++{ ++ return vreinterpret_m64_s64(vget_low_s64(vreinterpretq_s64_m128i(a))); ++} ++ ++// Copy the 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movpi64_epi64 ++FORCE_INLINE __m128i _mm_movpi64_epi64(__m64 a) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vreinterpret_s64_m64(a), vdup_n_s64(0))); ++} ++ ++// Multiply the low unsigned 32-bit integers from each packed 64-bit element in ++// a and b, and store the unsigned 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epu32 ++FORCE_INLINE __m128i _mm_mul_epu32(__m128i a, __m128i b) ++{ ++ // vmull_u32 upcasts instead of masking, so we downcast. ++ uint32x2_t a_lo = vmovn_u64(vreinterpretq_u64_m128i(a)); ++ uint32x2_t b_lo = vmovn_u64(vreinterpretq_u64_m128i(b)); ++ return vreinterpretq_m128i_u64(vmull_u32(a_lo, b_lo)); ++} ++ ++// Multiply packed double-precision (64-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_pd ++FORCE_INLINE __m128d _mm_mul_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vmulq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] * db[0]; ++ c[1] = da[1] * db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Multiply the lower double-precision (64-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper element ++// from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_mul_sd ++FORCE_INLINE __m128d _mm_mul_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_mul_pd(a, b)); ++} ++ ++// Multiply the low unsigned 32-bit integers from a and b, and store the ++// unsigned 64-bit result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_su32 ++FORCE_INLINE __m64 _mm_mul_su32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u64(vget_low_u64( ++ vmull_u32(vreinterpret_u32_m64(a), vreinterpret_u32_m64(b)))); ++} ++ ++// Multiply the packed signed 16-bit integers in a and b, producing intermediate ++// 32-bit integers, and store the high 16 bits of the intermediate integers in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epi16 ++FORCE_INLINE __m128i _mm_mulhi_epi16(__m128i a, __m128i b) ++{ ++ /* FIXME: issue with large values because of result saturation */ ++ // int16x8_t ret = vqdmulhq_s16(vreinterpretq_s16_m128i(a), ++ // vreinterpretq_s16_m128i(b)); /* =2*a*b */ return ++ // vreinterpretq_m128i_s16(vshrq_n_s16(ret, 1)); ++ int16x4_t a3210 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b3210 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab3210 = vmull_s16(a3210, b3210); /* 3333222211110000 */ ++ int16x4_t a7654 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b7654 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab7654 = vmull_s16(a7654, b7654); /* 7777666655554444 */ ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_s32(ab3210), vreinterpretq_u16_s32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epu16 ++FORCE_INLINE __m128i _mm_mulhi_epu16(__m128i a, __m128i b) ++{ ++ uint16x4_t a3210 = vget_low_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b3210 = vget_low_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab3210 = vmull_u16(a3210, b3210); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32x4_t ab7654 = ++ vmull_high_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ uint16x8_t r = vuzp2q_u16(vreinterpretq_u16_u32(ab3210), ++ vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r); ++#else ++ uint16x4_t a7654 = vget_high_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b7654 = vget_high_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab7654 = vmull_u16(a7654, b7654); ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_u32(ab3210), vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++#endif ++} ++ ++// Multiply the packed 16-bit integers in a and b, producing intermediate 32-bit ++// integers, and store the low 16 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi16 ++FORCE_INLINE __m128i _mm_mullo_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmulq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compute the bitwise OR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_or_pd ++FORCE_INLINE __m128d _mm_or_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vorrq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise OR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_si128 ++FORCE_INLINE __m128i _mm_or_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vorrq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi16 ++FORCE_INLINE __m128i _mm_packs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vqmovn_s16(vreinterpretq_s16_m128i(a)), ++ vqmovn_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi32 ++FORCE_INLINE __m128i _mm_packs_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vqmovn_s32(vreinterpretq_s32_m128i(a)), ++ vqmovn_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi16 ++FORCE_INLINE __m128i _mm_packus_epi16(const __m128i a, const __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcombine_u8(vqmovun_s16(vreinterpretq_s16_m128i(a)), ++ vqmovun_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Pause the processor. This is typically used in spin-wait loops and depending ++// on the x86 processor typical values are in the 40-100 cycle range. The ++// 'yield' instruction isn't a good fit because it's effectively a nop on most ++// Arm cores. Experience with several databases has shown has shown an 'isb' is ++// a reasonable approximation. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_pause ++FORCE_INLINE void _mm_pause(void) ++{ ++#if defined(_MSC_VER) ++ __isb(_ARM64_BARRIER_SY); ++#else ++ __asm__ __volatile__("isb\n"); ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce two ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of 64-bit elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_epu8 ++FORCE_INLINE __m128i _mm_sad_epu8(__m128i a, __m128i b) ++{ ++ uint16x8_t t = vpaddlq_u8(vabdq_u8((uint8x16_t) a, (uint8x16_t) b)); ++ return vreinterpretq_m128i_u64(vpaddlq_u32(vpaddlq_u16(t))); ++} ++ ++// Set packed 16-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi16 ++FORCE_INLINE __m128i _mm_set_epi16(short i7, ++ short i6, ++ short i5, ++ short i4, ++ short i3, ++ short i2, ++ short i1, ++ short i0) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {i0, i1, i2, i3, i4, i5, i6, i7}; ++ return vreinterpretq_m128i_s16(vld1q_s16(data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi32 ++FORCE_INLINE __m128i _mm_set_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i0, i1, i2, i3}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64 ++FORCE_INLINE __m128i _mm_set_epi64(__m64 i1, __m64 i2) ++{ ++ return _mm_set_epi64x(vget_lane_s64(i1, 0), vget_lane_s64(i2, 0)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64x ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t i1, int64_t i2) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vcreate_s64(i2), vcreate_s64(i1))); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi8 ++FORCE_INLINE __m128i _mm_set_epi8(signed char b15, ++ signed char b14, ++ signed char b13, ++ signed char b12, ++ signed char b11, ++ signed char b10, ++ signed char b9, ++ signed char b8, ++ signed char b7, ++ signed char b6, ++ signed char b5, ++ signed char b4, ++ signed char b3, ++ signed char b2, ++ signed char b1, ++ signed char b0) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd ++FORCE_INLINE __m128d _mm_set_pd(double e1, double e0) ++{ ++ double ALIGN_STRUCT(16) data[2] = {e0, e1}; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64((float64_t *) data)); ++#else ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) data)); ++#endif ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd1 ++#define _mm_set_pd1 _mm_set1_pd ++ ++// Copy double-precision (64-bit) floating-point element a to the lower element ++// of dst, and zero the upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_sd ++FORCE_INLINE __m128d _mm_set_sd(double a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(a, vdupq_n_f64(0), 0)); ++#else ++ return _mm_set_pd(0, a); ++#endif ++} ++ ++// Broadcast 16-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi16 ++FORCE_INLINE __m128i _mm_set1_epi16(short w) ++{ ++ return vreinterpretq_m128i_s16(vdupq_n_s16(w)); ++} ++ ++// Broadcast 32-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi32 ++FORCE_INLINE __m128i _mm_set1_epi32(int _i) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(_i)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64 ++FORCE_INLINE __m128i _mm_set1_epi64(__m64 _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_lane_s64(_i, 0)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64x ++FORCE_INLINE __m128i _mm_set1_epi64x(int64_t _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_n_s64(_i)); ++} ++ ++// Broadcast 8-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi8 ++FORCE_INLINE __m128i _mm_set1_epi8(signed char w) ++{ ++ return vreinterpretq_m128i_s8(vdupq_n_s8(w)); ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_pd ++FORCE_INLINE __m128d _mm_set1_pd(double d) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(d)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(int64_t *) &d)); ++#endif ++} ++ ++// Set packed 16-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi16 ++FORCE_INLINE __m128i _mm_setr_epi16(short w0, ++ short w1, ++ short w2, ++ short w3, ++ short w4, ++ short w5, ++ short w6, ++ short w7) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {w0, w1, w2, w3, w4, w5, w6, w7}; ++ return vreinterpretq_m128i_s16(vld1q_s16((int16_t *) data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi32 ++FORCE_INLINE __m128i _mm_setr_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i3, i2, i1, i0}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi64 ++FORCE_INLINE __m128i _mm_setr_epi64(__m64 e1, __m64 e0) ++{ ++ return vreinterpretq_m128i_s64(vcombine_s64(e1, e0)); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi8 ++FORCE_INLINE __m128i _mm_setr_epi8(signed char b0, ++ signed char b1, ++ signed char b2, ++ signed char b3, ++ signed char b4, ++ signed char b5, ++ signed char b6, ++ signed char b7, ++ signed char b8, ++ signed char b9, ++ signed char b10, ++ signed char b11, ++ signed char b12, ++ signed char b13, ++ signed char b14, ++ signed char b15) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_pd ++FORCE_INLINE __m128d _mm_setr_pd(double e1, double e0) ++{ ++ return _mm_set_pd(e0, e1); ++} ++ ++// Return vector of type __m128d with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_pd ++FORCE_INLINE __m128d _mm_setzero_pd(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(0)); ++#else ++ return vreinterpretq_m128d_f32(vdupq_n_f32(0)); ++#endif ++} ++ ++// Return vector of type __m128i with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_si128 ++FORCE_INLINE __m128i _mm_setzero_si128(void) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(0)); ++} ++ ++// Shuffle 32-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi32 ++// FORCE_INLINE __m128i _mm_shuffle_epi32(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shuffle_epi32(a, imm) \ ++ __extension__({ \ ++ int32x4_t _input = vreinterpretq_s32_m128i(a); \ ++ int32x4_t _shuf = \ ++ vshuffleq_s32(_input, _input, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ ((imm) >> 4) & 0x3, ((imm) >> 6) & 0x3); \ ++ vreinterpretq_m128i_s32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_epi32(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, __m128i ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_epi_1032(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_epi_2301(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_epi_0321(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_epi_2103(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_shuffle_epi_1010(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_epi_1001(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_epi_0101(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 1, 1): \ ++ ret = _mm_shuffle_epi_2211(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 2, 2): \ ++ ret = _mm_shuffle_epi_0122(_a); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 2): \ ++ ret = _mm_shuffle_epi_3332(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 0, 0): \ ++ ret = _mm_shuffle_epi32_splat(_a, 0); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 1, 1): \ ++ ret = _mm_shuffle_epi32_splat(_a, 1); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 2, 2): \ ++ ret = _mm_shuffle_epi32_splat(_a, 2); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 3): \ ++ ret = _mm_shuffle_epi32_splat(_a, 3); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_epi32_default(_a, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Shuffle double-precision (64-bit) floating-point elements using the control ++// in imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pd ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pd(a, b, imm8) \ ++ vreinterpretq_m128d_s64( \ ++ vshuffleq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b), \ ++ imm8 & 0x1, ((imm8 & 0x2) >> 1) + 2)) ++#else ++#define _mm_shuffle_pd(a, b, imm8) \ ++ _mm_castsi128_pd(_mm_set_epi64x( \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(b), (imm8 & 0x2) >> 1), \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(a), imm8 & 0x1))) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflehi_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflehi_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = \ ++ vshuffleq_s16(_input, _input, 0, 1, 2, 3, ((imm) & (0x3)) + 4, \ ++ (((imm) >> 2) & 0x3) + 4, (((imm) >> 4) & 0x3) + 4, \ ++ (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflehi_epi16(a, imm) _mm_shufflehi_epi16_function((a), (imm)) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflelo_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflelo_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = vshuffleq_s16( \ ++ _input, _input, ((imm) & (0x3)), (((imm) >> 2) & 0x3), \ ++ (((imm) >> 4) & 0x3), (((imm) >> 6) & 0x3), 4, 5, 6, 7); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflelo_epi16(a, imm) _mm_shufflelo_epi16_function((a), (imm)) ++#endif ++ ++// Shift packed 16-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi16 ++FORCE_INLINE __m128i _mm_sll_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16((int16_t) c); ++ return vreinterpretq_m128i_s16(vshlq_s16(vreinterpretq_s16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi32 ++FORCE_INLINE __m128i _mm_sll_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32((int32_t) c); ++ return vreinterpretq_m128i_s32(vshlq_s32(vreinterpretq_s32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi64 ++FORCE_INLINE __m128i _mm_sll_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64((int64_t) c); ++ return vreinterpretq_m128i_s64(vshlq_s64(vreinterpretq_s64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi16 ++FORCE_INLINE __m128i _mm_slli_epi16(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~15)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16(vreinterpretq_s16_m128i(a), vdupq_n_s16(imm))); ++} ++ ++// Shift packed 32-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi32 ++FORCE_INLINE __m128i _mm_slli_epi32(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~31)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32(vreinterpretq_s32_m128i(a), vdupq_n_s32(imm))); ++} ++ ++// Shift packed 64-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi64 ++FORCE_INLINE __m128i _mm_slli_epi64(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~63)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s64( ++ vshlq_s64(vreinterpretq_s64_m128i(a), vdupq_n_s64(imm))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_si128 ++#define _mm_slli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely(imm == 0)) ret = vreinterpretq_s8_m128i(_a); \ ++ else if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vdupq_n_s8(0), vreinterpretq_s8_m128i(_a), \ ++ ((imm <= 0 || imm > 15) ? 0 : (16 - imm))); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Compute the square root of packed double-precision (64-bit) floating-point ++// elements in a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_pd ++FORCE_INLINE __m128d _mm_sqrt_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsqrtq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double a0 = sqrt(((double *) &a)[0]); ++ double a1 = sqrt(((double *) &a)[1]); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Compute the square root of the lower double-precision (64-bit) floating-point ++// element in b, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_sd ++FORCE_INLINE __m128d _mm_sqrt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_sqrt_pd(b)); ++#else ++ return _mm_set_pd(((double *) &a)[1], sqrt(((double *) &b)[0])); ++#endif ++} ++ ++// Shift packed 16-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi16 ++FORCE_INLINE __m128i _mm_sra_epi16(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_cmplt_epi16(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16((int16x8_t) a, vdupq_n_s16((int) -c))); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi32 ++FORCE_INLINE __m128i _mm_sra_epi32(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_cmplt_epi32(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32((int32x4_t) a, vdupq_n_s32((int) -c))); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in sign ++// bits, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi16 ++FORCE_INLINE __m128i _mm_srai_epi16(__m128i a, int imm) ++{ ++ const int count = (imm & ~15) ? 15 : imm; ++ return (__m128i) vshlq_s16((int16x8_t) a, vdupq_n_s16(-count)); ++} ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi32 ++// FORCE_INLINE __m128i _mm_srai_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srai_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) == 0)) { \ ++ ret = _a; \ ++ } else if (_sse2neon_likely(0 < (imm) && (imm) < 32)) { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshlq_s32(vreinterpretq_s32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } else { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshrq_n_s32(vreinterpretq_s32_m128i(_a), 31)); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 16-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi16 ++FORCE_INLINE __m128i _mm_srl_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16(-(int16_t) c); ++ return vreinterpretq_m128i_u16(vshlq_u16(vreinterpretq_u16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi32 ++FORCE_INLINE __m128i _mm_srl_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32(-(int32_t) c); ++ return vreinterpretq_m128i_u32(vshlq_u32(vreinterpretq_u32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi64 ++FORCE_INLINE __m128i _mm_srl_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64(-(int64_t) c); ++ return vreinterpretq_m128i_u64(vshlq_u64(vreinterpretq_u64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi16 ++#define _mm_srli_epi16(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~15)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u16( \ ++ vshlq_u16(vreinterpretq_u16_m128i(_a), vdupq_n_s16(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi32 ++// FORCE_INLINE __m128i _mm_srli_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srli_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~31)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u32( \ ++ vshlq_u32(vreinterpretq_u32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 64-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi64 ++#define _mm_srli_epi64(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~63)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u64( \ ++ vshlq_u64(vreinterpretq_u64_m128i(_a), vdupq_n_s64(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_si128 ++#define _mm_srli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vreinterpretq_s8_m128i(_a), vdupq_n_s8(0), \ ++ (imm > 15 ? 0 : imm)); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd ++FORCE_INLINE void _mm_store_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64((float64_t *) mem_addr, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_f32((float32_t *) mem_addr, vreinterpretq_f32_m128d(a)); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd1 ++FORCE_INLINE void _mm_store_pd1(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x1_t a_low = vget_low_f64(vreinterpretq_f64_m128d(a)); ++ vst1q_f64((float64_t *) mem_addr, ++ vreinterpretq_f64_m128d(vcombine_f64(a_low, a_low))); ++#else ++ float32x2_t a_low = vget_low_f32(vreinterpretq_f32_m128d(a)); ++ vst1q_f32((float32_t *) mem_addr, ++ vreinterpretq_f32_m128d(vcombine_f32(a_low, a_low))); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_store_sd ++FORCE_INLINE void _mm_store_sd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_u64((uint64_t *) mem_addr, vget_low_u64(vreinterpretq_u64_m128d(a))); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_si128 ++FORCE_INLINE void _mm_store_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#expand=9,526,5601&text=_mm_store1_pd ++#define _mm_store1_pd _mm_store_pd1 ++ ++// Store the upper double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pd ++FORCE_INLINE void _mm_storeh_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_high_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_high_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 64-bit integer from the first element of a into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_epi64 ++FORCE_INLINE void _mm_storel_epi64(__m128i *a, __m128i b) ++{ ++ vst1_u64((uint64_t *) a, vget_low_u64(vreinterpretq_u64_m128i(b))); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pd ++FORCE_INLINE void _mm_storel_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_low_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 2 double-precision (64-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_pd ++FORCE_INLINE void _mm_storer_pd(double *mem_addr, __m128d a) ++{ ++ float32x4_t f = vreinterpretq_f32_m128d(a); ++ _mm_store_pd(mem_addr, vreinterpretq_m128d_f32(vextq_f32(f, f, 2))); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_pd ++FORCE_INLINE void _mm_storeu_pd(double *mem_addr, __m128d a) ++{ ++ _mm_store_pd(mem_addr, a); ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si128 ++FORCE_INLINE void _mm_storeu_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store 32-bit integer from the first element of a into memory. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si32 ++FORCE_INLINE void _mm_storeu_si32(void *p, __m128i a) ++{ ++ vst1q_lane_s32((int32_t *) p, vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory using a non-temporal memory hint. mem_addr must ++// be aligned on a 16-byte boundary or a general-protection exception may be ++// generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pd ++FORCE_INLINE void _mm_stream_pd(double *p, __m128d a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (__m128d *) p); ++#elif defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64(p, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128d(a)); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory using a non-temporal memory ++// hint. mem_addr must be aligned on a 16-byte boundary or a general-protection ++// exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si128 ++FORCE_INLINE void _mm_stream_si128(__m128i *p, __m128i a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, p); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128i(a)); ++#endif ++} ++ ++// Store 32-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si32 ++FORCE_INLINE void _mm_stream_si32(int *p, int a) ++{ ++ vst1q_lane_s32((int32_t *) p, vdupq_n_s32(a), 0); ++} ++ ++// Store 64-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si64 ++FORCE_INLINE void _mm_stream_si64(__int64 *p, __int64 a) ++{ ++ vst1_s64((int64_t *) p, vdup_n_s64((int64_t) a)); ++} ++ ++// Subtract packed 16-bit integers in b from packed 16-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi16 ++FORCE_INLINE __m128i _mm_sub_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed 32-bit integers in b from packed 32-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi32 ++FORCE_INLINE __m128i _mm_sub_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Subtract packed 64-bit integers in b from packed 64-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi64 ++FORCE_INLINE __m128i _mm_sub_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vsubq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Subtract packed 8-bit integers in b from packed 8-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi8 ++FORCE_INLINE __m128i _mm_sub_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed double-precision (64-bit) floating-point elements in b from ++// packed double-precision (64-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_sub_pd ++FORCE_INLINE __m128d _mm_sub_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] - db[0]; ++ c[1] = da[1] - db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Subtract the lower double-precision (64-bit) floating-point element in b from ++// the lower double-precision (64-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_sd ++FORCE_INLINE __m128d _mm_sub_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_sub_pd(a, b)); ++} ++ ++// Subtract 64-bit integer b from 64-bit integer a, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_si64 ++FORCE_INLINE __m64 _mm_sub_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vsub_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Subtract packed signed 16-bit integers in b from packed 16-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi16 ++FORCE_INLINE __m128i _mm_subs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed signed 8-bit integers in b from packed 8-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi8 ++FORCE_INLINE __m128i _mm_subs_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed unsigned 16-bit integers in b from packed unsigned 16-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu16 ++FORCE_INLINE __m128i _mm_subs_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqsubq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Subtract packed unsigned 8-bit integers in b from packed unsigned 8-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu8 ++FORCE_INLINE __m128i _mm_subs_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqsubq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++#define _mm_ucomieq_sd _mm_comieq_sd ++#define _mm_ucomige_sd _mm_comige_sd ++#define _mm_ucomigt_sd _mm_comigt_sd ++#define _mm_ucomile_sd _mm_comile_sd ++#define _mm_ucomilt_sd _mm_comilt_sd ++#define _mm_ucomineq_sd _mm_comineq_sd ++ ++// Return vector of type __m128d with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_pd ++FORCE_INLINE __m128d _mm_undefined_pd(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128d a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_pd(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi16 ++FORCE_INLINE __m128i _mm_unpackhi_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip2q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi32 ++FORCE_INLINE __m128i _mm_unpackhi_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip2q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_high_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi64 ++FORCE_INLINE __m128i _mm_unpackhi_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip2q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_h = vget_high_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_h = vget_high_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_h, b_h)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the high half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi8 ++FORCE_INLINE __m128i _mm_unpackhi_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip2q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the high half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_pd ++FORCE_INLINE __m128d _mm_unpackhi_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip2q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_high_s64(vreinterpretq_s64_m128d(a)), ++ vget_high_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi16 ++FORCE_INLINE __m128i _mm_unpacklo_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip1q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi32 ++FORCE_INLINE __m128i _mm_unpacklo_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip1q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_low_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi64 ++FORCE_INLINE __m128i _mm_unpacklo_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip1q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_l = vget_low_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_l = vget_low_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_l, b_l)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi8 ++FORCE_INLINE __m128i _mm_unpacklo_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip1q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_pd ++FORCE_INLINE __m128d _mm_unpacklo_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip1q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_low_s64(vreinterpretq_s64_m128d(a)), ++ vget_low_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Compute the bitwise XOR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_pd ++FORCE_INLINE __m128d _mm_xor_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ veorq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise XOR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_si128 ++FORCE_INLINE __m128i _mm_xor_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ veorq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++/* SSE3 */ ++ ++// Alternatively add and subtract packed double-precision (64-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_addsub_pd ++FORCE_INLINE __m128d _mm_addsub_pd(__m128d a, __m128d b) ++{ ++ _sse2neon_const __m128d mask = _mm_set_pd(1.0f, -1.0f); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vfmaq_f64(vreinterpretq_f64_m128d(a), ++ vreinterpretq_f64_m128d(b), ++ vreinterpretq_f64_m128d(mask))); ++#else ++ return _mm_add_pd(_mm_mul_pd(b, mask), a); ++#endif ++} ++ ++// Alternatively add and subtract packed single-precision (32-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=addsub_ps ++FORCE_INLINE __m128 _mm_addsub_ps(__m128 a, __m128 b) ++{ ++ _sse2neon_const __m128 mask = _mm_setr_ps(-1.0f, 1.0f, -1.0f, 1.0f); ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_FMA) /* VFPv4+ */ ++ return vreinterpretq_m128_f32(vfmaq_f32(vreinterpretq_f32_m128(a), ++ vreinterpretq_f32_m128(mask), ++ vreinterpretq_f32_m128(b))); ++#else ++ return _mm_add_ps(_mm_mul_ps(b, mask), a); ++#endif ++} ++ ++// Horizontally add adjacent pairs of double-precision (64-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pd ++FORCE_INLINE __m128d _mm_hadd_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vpaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[] = {da[0] + da[1], db[0] + db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of single-precision (32-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_ps ++FORCE_INLINE __m128 _mm_hadd_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vpaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vpadd_f32(a10, a32), vpadd_f32(b10, b32))); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of double-precision (64-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pd ++FORCE_INLINE __m128d _mm_hsub_pd(__m128d _a, __m128d _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vuzp1q_f64(a, b), vuzp2q_f64(a, b))); ++#else ++ double *da = (double *) &_a; ++ double *db = (double *) &_b; ++ double c[] = {da[0] - da[1], db[0] - db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of single-precision (32-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_ps ++FORCE_INLINE __m128 _mm_hsub_ps(__m128 _a, __m128 _b) ++{ ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vuzp1q_f32(a, b), vuzp2q_f32(a, b))); ++#else ++ float32x4x2_t c = vuzpq_f32(a, b); ++ return vreinterpretq_m128_f32(vsubq_f32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Load 128-bits of integer data from unaligned memory into dst. This intrinsic ++// may perform better than _mm_loadu_si128 when the data crosses a cache line ++// boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lddqu_si128 ++#define _mm_lddqu_si128 _mm_loadu_si128 ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loaddup_pd ++#define _mm_loaddup_pd _mm_load1_pd ++ ++// Duplicate the low double-precision (64-bit) floating-point element from a, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movedup_pd ++FORCE_INLINE __m128d _mm_movedup_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdupq_laneq_f64(vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_u64( ++ vdupq_n_u64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0))); ++#endif ++} ++ ++// Duplicate odd-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehdup_ps ++FORCE_INLINE __m128 _mm_movehdup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 1, 1, 3, 3)); ++#else ++ float32_t a1 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ float32_t a3 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 3); ++ float ALIGN_STRUCT(16) data[4] = {a1, a1, a3, a3}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Duplicate even-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_moveldup_ps ++FORCE_INLINE __m128 _mm_moveldup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 0, 0, 2, 2)); ++#else ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32_t a2 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 2); ++ float ALIGN_STRUCT(16) data[4] = {a0, a0, a2, a2}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++/* SSSE3 */ ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi16 ++FORCE_INLINE __m128i _mm_abs_epi16(__m128i a) ++{ ++ return vreinterpretq_m128i_s16(vabsq_s16(vreinterpretq_s16_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi32 ++FORCE_INLINE __m128i _mm_abs_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32(vabsq_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi8 ++FORCE_INLINE __m128i _mm_abs_epi8(__m128i a) ++{ ++ return vreinterpretq_m128i_s8(vabsq_s8(vreinterpretq_s8_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi16 ++FORCE_INLINE __m64 _mm_abs_pi16(__m64 a) ++{ ++ return vreinterpret_m64_s16(vabs_s16(vreinterpret_s16_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi32 ++FORCE_INLINE __m64 _mm_abs_pi32(__m64 a) ++{ ++ return vreinterpret_m64_s32(vabs_s32(vreinterpret_s32_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi8 ++FORCE_INLINE __m64 _mm_abs_pi8(__m64 a) ++{ ++ return vreinterpret_m64_s8(vabs_s8(vreinterpret_s8_m64(a))); ++} ++ ++// Concatenate 16-byte blocks in a and b into a 32-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 16 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_epi8 ++#if defined(__GNUC__) && !defined(__clang__) ++#define _mm_alignr_epi8(a, b, imm) \ ++ __extension__({ \ ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); \ ++ uint8x16_t _b = vreinterpretq_u8_m128i(b); \ ++ __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) \ ++ ret = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) \ ++ ret = _mm_srli_si128(a, imm >= 16 ? imm - 16 : 0); \ ++ else \ ++ ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(_b, _a, imm < 16 ? imm : 0)); \ ++ ret; \ ++ }) ++ ++#else ++#define _mm_alignr_epi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, uint8x16_t __a = vreinterpretq_u8_m128i(_a); \ ++ uint8x16_t __b = vreinterpretq_u8_m128i(_b); __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) ret = \ ++ vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) ret = \ ++ _mm_srli_si128(_a, imm >= 16 ? imm - 16 : 0); \ ++ else ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(__b, __a, imm < 16 ? imm : 0)); \ ++ _sse2neon_return(ret);) ++ ++#endif ++ ++// Concatenate 8-byte blocks in a and b into a 16-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 8 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_pi8 ++#define _mm_alignr_pi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m64, a, b, __m64 ret; if (_sse2neon_unlikely((imm) >= 16)) { \ ++ ret = vreinterpret_m64_s8(vdup_n_s8(0)); \ ++ } else { \ ++ uint8x8_t tmp_low; \ ++ uint8x8_t tmp_high; \ ++ if ((imm) >= 8) { \ ++ const int idx = (imm) -8; \ ++ tmp_low = vreinterpret_u8_m64(_a); \ ++ tmp_high = vdup_n_u8(0); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } else { \ ++ const int idx = (imm); \ ++ tmp_low = vreinterpret_u8_m64(_b); \ ++ tmp_high = vreinterpret_u8_m64(_a); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } \ ++ } _sse2neon_return(ret);) ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi16 ++FORCE_INLINE __m128i _mm_hadd_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16(vpaddq_s16(a, b)); ++#else ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(vget_low_s16(a), vget_high_s16(a)), ++ vpadd_s16(vget_low_s16(b), vget_high_s16(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi32 ++FORCE_INLINE __m128i _mm_hadd_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32(vpaddq_s32(a, b)); ++#else ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vpadd_s32(vget_low_s32(a), vget_high_s32(a)), ++ vpadd_s32(vget_low_s32(b), vget_high_s32(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi16 ++FORCE_INLINE __m64 _mm_hadd_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vpadd_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi32 ++FORCE_INLINE __m64 _mm_hadd_pi32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s32( ++ vpadd_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_epi16 ++FORCE_INLINE __m128i _mm_hadds_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ return vreinterpretq_s64_s16( ++ vqaddq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ // Interleave using vshrn/vmovn ++ // [a0|a2|a4|a6|b0|b2|b4|b6] ++ // [a1|a3|a5|a7|b1|b3|b5|b7] ++ int16x8_t ab0246 = vcombine_s16(vmovn_s32(a), vmovn_s32(b)); ++ int16x8_t ab1357 = vcombine_s16(vshrn_n_s32(a, 16), vshrn_n_s32(b, 16)); ++ // Saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(ab0246, ab1357)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_pi16 ++FORCE_INLINE __m64 _mm_hadds_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_s64_s16(vqadd_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t res = vuzp_s16(a, b); ++ return vreinterpret_s64_s16(vqadd_s16(res.val[0], res.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi16 ++FORCE_INLINE __m128i _mm_hsub_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi32 ++FORCE_INLINE __m128i _mm_hsub_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vuzp1q_s32(a, b), vuzp2q_s32(a, b))); ++#else ++ int32x4x2_t c = vuzpq_s32(a, b); ++ return vreinterpretq_m128i_s32(vsubq_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pi16 ++FORCE_INLINE __m64 _mm_hsub_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_hsub_pi32 ++FORCE_INLINE __m64 _mm_hsub_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s32(vsub_s32(vuzp1_s32(a, b), vuzp2_s32(a, b))); ++#else ++ int32x2x2_t c = vuzp_s32(a, b); ++ return vreinterpret_m64_s32(vsub_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_epi16 ++FORCE_INLINE __m128i _mm_hsubs_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vqsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_pi16 ++FORCE_INLINE __m64 _mm_hsubs_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vqsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vqsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, ++// and pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_epi16 ++FORCE_INLINE __m128i _mm_maddubs_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ int16x8_t tl = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_low_u8(a))), ++ vmovl_s8(vget_low_s8(b))); ++ int16x8_t th = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_high_u8(a))), ++ vmovl_s8(vget_high_s8(b))); ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vuzp1q_s16(tl, th), vuzp2q_s16(tl, th))); ++#else ++ // This would be much simpler if x86 would choose to zero extend OR sign ++ // extend, not both. This could probably be optimized better. ++ uint16x8_t a = vreinterpretq_u16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // Zero extend a ++ int16x8_t a_odd = vreinterpretq_s16_u16(vshrq_n_u16(a, 8)); ++ int16x8_t a_even = vreinterpretq_s16_u16(vbicq_u16(a, vdupq_n_u16(0xff00))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x8_t b_even = vshrq_n_s16(vshlq_n_s16(b, 8), 8); ++ int16x8_t b_odd = vshrq_n_s16(b, 8); ++ ++ // multiply ++ int16x8_t prod1 = vmulq_s16(a_even, b_even); ++ int16x8_t prod2 = vmulq_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(prod1, prod2)); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, and ++// pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_pi16 ++FORCE_INLINE __m64 _mm_maddubs_pi16(__m64 _a, __m64 _b) ++{ ++ uint16x4_t a = vreinterpret_u16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // Zero extend a ++ int16x4_t a_odd = vreinterpret_s16_u16(vshr_n_u16(a, 8)); ++ int16x4_t a_even = vreinterpret_s16_u16(vand_u16(a, vdup_n_u16(0xff))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x4_t b_even = vshr_n_s16(vshl_n_s16(b, 8), 8); ++ int16x4_t b_odd = vshr_n_s16(b, 8); ++ ++ // multiply ++ int16x4_t prod1 = vmul_s16(a_even, b_even); ++ int16x4_t prod2 = vmul_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpret_m64_s16(vqadd_s16(prod1, prod2)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Shift right by 15 bits while rounding up, and store ++// the packed 16-bit integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_epi16 ++FORCE_INLINE __m128i _mm_mulhrs_epi16(__m128i a, __m128i b) ++{ ++ // Has issues due to saturation ++ // return vreinterpretq_m128i_s16(vqrdmulhq_s16(a, b)); ++ ++ // Multiply ++ int32x4_t mul_lo = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int32x4_t mul_hi = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ // Rounding narrowing shift right ++ // narrow = (int16_t)((mul + 16384) >> 15); ++ int16x4_t narrow_lo = vrshrn_n_s32(mul_lo, 15); ++ int16x4_t narrow_hi = vrshrn_n_s32(mul_hi, 15); ++ ++ // Join together ++ return vreinterpretq_m128i_s16(vcombine_s16(narrow_lo, narrow_hi)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Truncate each intermediate integer to the 18 most ++// significant bits, round by adding 1, and store bits [16:1] to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_pi16 ++FORCE_INLINE __m64 _mm_mulhrs_pi16(__m64 a, __m64 b) ++{ ++ int32x4_t mul_extend = ++ vmull_s16((vreinterpret_s16_m64(a)), (vreinterpret_s16_m64(b))); ++ ++ // Rounding narrowing shift right ++ return vreinterpret_m64_s16(vrshrn_n_s32(mul_extend, 15)); ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi8 ++FORCE_INLINE __m128i _mm_shuffle_epi8(__m128i a, __m128i b) ++{ ++ int8x16_t tbl = vreinterpretq_s8_m128i(a); // input a ++ uint8x16_t idx = vreinterpretq_u8_m128i(b); // input b ++ uint8x16_t idx_masked = ++ vandq_u8(idx, vdupq_n_u8(0x8F)); // avoid using meaningless bits ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8(vqtbl1q_s8(tbl, idx_masked)); ++#elif defined(__GNUC__) ++ int8x16_t ret; ++ // %e and %f represent the even and odd D registers ++ // respectively. ++ __asm__ __volatile__( ++ "vtbl.8 %e[ret], {%e[tbl], %f[tbl]}, %e[idx]\n" ++ "vtbl.8 %f[ret], {%e[tbl], %f[tbl]}, %f[idx]\n" ++ : [ret] "=&w"(ret) ++ : [tbl] "w"(tbl), [idx] "w"(idx_masked)); ++ return vreinterpretq_m128i_s8(ret); ++#else ++ // use this line if testing on aarch64 ++ int8x8x2_t a_split = {vget_low_s8(tbl), vget_high_s8(tbl)}; ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vtbl2_s8(a_split, vget_low_u8(idx_masked)), ++ vtbl2_s8(a_split, vget_high_u8(idx_masked)))); ++#endif ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi8 ++FORCE_INLINE __m64 _mm_shuffle_pi8(__m64 a, __m64 b) ++{ ++ const int8x8_t controlMask = ++ vand_s8(vreinterpret_s8_m64(b), vdup_n_s8((int8_t) (0x1 << 7 | 0x07))); ++ int8x8_t res = vtbl1_s8(vreinterpret_s8_m64(a), controlMask); ++ return vreinterpret_m64_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed ++// 16-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi16 ++FORCE_INLINE __m128i _mm_sign_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x8_t ltMask = vreinterpretq_u16_s16(vshrq_n_s16(b, 15)); ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqzq_s16(b)); ++#else ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqq_s16(b, vdupq_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s16(a) equals to negative ++ // 'a') based on ltMask ++ int16x8_t masked = vbslq_s16(ltMask, vnegq_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x8_t res = vbicq_s16(masked, zeroMask); ++ return vreinterpretq_m128i_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed ++// 32-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi32 ++FORCE_INLINE __m128i _mm_sign_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x4_t ltMask = vreinterpretq_u32_s32(vshrq_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqzq_s32(b)); ++#else ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqq_s32(b, vdupq_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s32(a) equals to negative ++ // 'a') based on ltMask ++ int32x4_t masked = vbslq_s32(ltMask, vnegq_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x4_t res = vbicq_s32(masked, zeroMask); ++ return vreinterpretq_m128i_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed ++// 8-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi8 ++FORCE_INLINE __m128i _mm_sign_epi8(__m128i _a, __m128i _b) ++{ ++ int8x16_t a = vreinterpretq_s8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x16_t ltMask = vreinterpretq_u8_s8(vshrq_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqzq_s8(b)); ++#else ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqq_s8(b, vdupq_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s8(a) return negative 'a') ++ // based on ltMask ++ int8x16_t masked = vbslq_s8(ltMask, vnegq_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x16_t res = vbicq_s8(masked, zeroMask); ++ ++ return vreinterpretq_m128i_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed 16-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi16 ++FORCE_INLINE __m64 _mm_sign_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x4_t ltMask = vreinterpret_u16_s16(vshr_n_s16(b, 15)); ++ ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceqz_s16(b)); ++#else ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceq_s16(b, vdup_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s16(a) return negative 'a') ++ // based on ltMask ++ int16x4_t masked = vbsl_s16(ltMask, vneg_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x4_t res = vbic_s16(masked, zeroMask); ++ ++ return vreinterpret_m64_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed 32-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi32 ++FORCE_INLINE __m64 _mm_sign_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x2_t ltMask = vreinterpret_u32_s32(vshr_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceqz_s32(b)); ++#else ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceq_s32(b, vdup_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s32(a) return negative 'a') ++ // based on ltMask ++ int32x2_t masked = vbsl_s32(ltMask, vneg_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x2_t res = vbic_s32(masked, zeroMask); ++ ++ return vreinterpret_m64_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed 8-bit integer ++// in b is negative, and store the results in dst. Element in dst are zeroed out ++// when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi8 ++FORCE_INLINE __m64 _mm_sign_pi8(__m64 _a, __m64 _b) ++{ ++ int8x8_t a = vreinterpret_s8_m64(_a); ++ int8x8_t b = vreinterpret_s8_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x8_t ltMask = vreinterpret_u8_s8(vshr_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceqz_s8(b)); ++#else ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceq_s8(b, vdup_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s8(a) return negative 'a') ++ // based on ltMask ++ int8x8_t masked = vbsl_s8(ltMask, vneg_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x8_t res = vbic_s8(masked, zeroMask); ++ ++ return vreinterpret_m64_s8(res); ++} ++ ++/* SSE4.1 */ ++ ++// Blend packed 16-bit integers from a and b using control mask imm8, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_epi16 ++// FORCE_INLINE __m128i _mm_blend_epi16(__m128i a, __m128i b, ++// __constrange(0,255) int imm) ++#define _mm_blend_epi16(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, \ ++ const uint16_t _mask[8] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 1)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 2)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 3)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 4)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 5)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 6)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 7)) ? (uint16_t) -1 : 0x0); \ ++ uint16x8_t _mask_vec = vld1q_u16(_mask); \ ++ uint16x8_t __a = vreinterpretq_u16_m128i(_a); \ ++ uint16x8_t __b = vreinterpretq_u16_m128i(_b); _sse2neon_return( \ ++ vreinterpretq_m128i_u16(vbslq_u16(_mask_vec, __b, __a)));) ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using control mask imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_pd ++#define _mm_blend_pd(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128d, a, b, \ ++ const uint64_t _mask[2] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? ~UINT64_C(0) : UINT64_C(0), \ ++ ((imm) & (1 << 1)) ? ~UINT64_C(0) : UINT64_C(0)); \ ++ uint64x2_t _mask_vec = vld1q_u64(_mask); \ ++ uint64x2_t __a = vreinterpretq_u64_m128d(_a); \ ++ uint64x2_t __b = vreinterpretq_u64_m128d(_b); _sse2neon_return( \ ++ vreinterpretq_m128d_u64(vbslq_u64(_mask_vec, __b, __a)));) ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_ps ++FORCE_INLINE __m128 _mm_blend_ps(__m128 _a, __m128 _b, const char imm8) ++{ ++ const uint32_t ALIGN_STRUCT(16) ++ data[4] = {((imm8) & (1 << 0)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0}; ++ uint32x4_t mask = vld1q_u32(data); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Blend packed 8-bit integers from a and b using mask, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_epi8 ++FORCE_INLINE __m128i _mm_blendv_epi8(__m128i _a, __m128i _b, __m128i _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint8x16_t mask = ++ vreinterpretq_u8_s8(vshrq_n_s8(vreinterpretq_s8_m128i(_mask), 7)); ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ uint8x16_t b = vreinterpretq_u8_m128i(_b); ++ return vreinterpretq_m128i_u8(vbslq_u8(mask, b, a)); ++} ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_pd ++FORCE_INLINE __m128d _mm_blendv_pd(__m128d _a, __m128d _b, __m128d _mask) ++{ ++ uint64x2_t mask = ++ vreinterpretq_u64_s64(vshrq_n_s64(vreinterpretq_s64_m128d(_mask), 63)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64(vbslq_f64(mask, b, a)); ++#else ++ uint64x2_t a = vreinterpretq_u64_m128d(_a); ++ uint64x2_t b = vreinterpretq_u64_m128d(_b); ++ return vreinterpretq_m128d_u64(vbslq_u64(mask, b, a)); ++#endif ++} ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_ps ++FORCE_INLINE __m128 _mm_blendv_ps(__m128 _a, __m128 _b, __m128 _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint32x4_t mask = ++ vreinterpretq_u32_s32(vshrq_n_s32(vreinterpretq_s32_m128(_mask), 31)); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a up ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_pd ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndpq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(ceil(f[1]), ceil(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a up to ++// an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ps ++FORCE_INLINE __m128 _mm_ceil_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndpq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ceilf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b up to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_sd ++FORCE_INLINE __m128d _mm_ceil_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_ceil_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b up to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ss ++FORCE_INLINE __m128 _mm_ceil_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_ceil_ps(b)); ++} ++ ++// Compare packed 64-bit integers in a and b for equality, and store the results ++// in dst ++FORCE_INLINE __m128i _mm_cmpeq_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vceqq_u64(vreinterpretq_u64_m128i(a), vreinterpretq_u64_m128i(b))); ++#else ++ // ARMv7 lacks vceqq_u64 ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128i_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Sign extend packed 16-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi32 ++FORCE_INLINE __m128i _mm_cvtepi16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vmovl_s16(vget_low_s16(vreinterpretq_s16_m128i(a)))); ++} ++ ++// Sign extend packed 16-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi64 ++FORCE_INLINE __m128i _mm_cvtepi16_epi64(__m128i a) ++{ ++ int16x8_t s16x8 = vreinterpretq_s16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Sign extend packed 32-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_epi64 ++FORCE_INLINE __m128i _mm_cvtepi32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a)))); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 16-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi16 ++FORCE_INLINE __m128i _mm_cvtepi8_epi16(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ return vreinterpretq_m128i_s16(s16x8); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi32 ++FORCE_INLINE __m128i _mm_cvtepi8_epi32(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_s32(s32x4); ++} ++ ++// Sign extend packed 8-bit integers in the low 8 bytes of a to packed 64-bit ++// integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi64 ++FORCE_INLINE __m128i _mm_cvtepi8_epi64(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi32 ++FORCE_INLINE __m128i _mm_cvtepu16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_u32( ++ vmovl_u16(vget_low_u16(vreinterpretq_u16_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi64 ++FORCE_INLINE __m128i _mm_cvtepu16_epi64(__m128i a) ++{ ++ uint16x8_t u16x8 = vreinterpretq_u16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Zero extend packed unsigned 32-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu32_epi64 ++FORCE_INLINE __m128i _mm_cvtepu32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_u64( ++ vmovl_u32(vget_low_u32(vreinterpretq_u32_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 16-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi16 ++FORCE_INLINE __m128i _mm_cvtepu8_epi16(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx HGFE DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0H0G 0F0E 0D0C 0B0A */ ++ return vreinterpretq_m128i_u16(u16x8); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi32 ++FORCE_INLINE __m128i _mm_cvtepu8_epi32(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_u32(u32x4); ++} ++ ++// Zero extend packed unsigned 8-bit integers in the low 8 bytes of a to packed ++// 64-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi64 ++FORCE_INLINE __m128i _mm_cvtepu8_epi64(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Conditionally multiply the packed double-precision (64-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, and ++// conditionally store the sum in dst using the low 4 bits of imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_pd ++FORCE_INLINE __m128d _mm_dp_pd(__m128d a, __m128d b, const int imm) ++{ ++ // Generate mask value from constant immediate bit value ++ const int64_t bit0Mask = imm & 0x01 ? UINT64_MAX : 0; ++ const int64_t bit1Mask = imm & 0x02 ? UINT64_MAX : 0; ++#if !SSE2NEON_PRECISE_DP ++ const int64_t bit4Mask = imm & 0x10 ? UINT64_MAX : 0; ++ const int64_t bit5Mask = imm & 0x20 ? UINT64_MAX : 0; ++#endif ++ // Conditional multiplication ++#if !SSE2NEON_PRECISE_DP ++ __m128d mul = _mm_mul_pd(a, b); ++ const __m128d mulMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit5Mask, bit4Mask)); ++ __m128d tmp = _mm_and_pd(mul, mulMask); ++#else ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double d0 = (imm & 0x10) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 0) ++ : 0; ++ double d1 = (imm & 0x20) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 1) ++ : 0; ++#else ++ double d0 = (imm & 0x10) ? ((double *) &a)[0] * ((double *) &b)[0] : 0; ++ double d1 = (imm & 0x20) ? ((double *) &a)[1] * ((double *) &b)[1] : 0; ++#endif ++ __m128d tmp = _mm_set_pd(d1, d0); ++#endif ++ // Sum the products ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double sum = vpaddd_f64(vreinterpretq_f64_m128d(tmp)); ++#else ++ double sum = *((double *) &tmp) + *(((double *) &tmp) + 1); ++#endif ++ // Conditionally store the sum ++ const __m128d sumMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit1Mask, bit0Mask)); ++ __m128d res = _mm_and_pd(_mm_set_pd1(sum), sumMask); ++ return res; ++} ++ ++// Conditionally multiply the packed single-precision (32-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, ++// and conditionally store the sum in dst using the low 4 bits of imm. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_ps ++FORCE_INLINE __m128 _mm_dp_ps(__m128 a, __m128 b, const int imm) ++{ ++ float32x4_t elementwise_prod = _mm_mul_ps(a, b); ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ /* shortcuts */ ++ if (imm == 0xFF) { ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++ ++ if ((imm & 0x0F) == 0x0F) { ++ if (!(imm & (1 << 4))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 0); ++ if (!(imm & (1 << 5))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 1); ++ if (!(imm & (1 << 6))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 2); ++ if (!(imm & (1 << 7))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 3); ++ ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++#endif ++ ++ float s = 0.0f; ++ ++ if (imm & (1 << 4)) ++ s += vgetq_lane_f32(elementwise_prod, 0); ++ if (imm & (1 << 5)) ++ s += vgetq_lane_f32(elementwise_prod, 1); ++ if (imm & (1 << 6)) ++ s += vgetq_lane_f32(elementwise_prod, 2); ++ if (imm & (1 << 7)) ++ s += vgetq_lane_f32(elementwise_prod, 3); ++ ++ const float32_t res[4] = { ++ (imm & 0x1) ? s : 0.0f, ++ (imm & 0x2) ? s : 0.0f, ++ (imm & 0x4) ? s : 0.0f, ++ (imm & 0x8) ? s : 0.0f, ++ }; ++ return vreinterpretq_m128_f32(vld1q_f32(res)); ++} ++ ++// Extract a 32-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi32 ++// FORCE_INLINE int _mm_extract_epi32(__m128i a, __constrange(0,4) int imm) ++#define _mm_extract_epi32(a, imm) \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)) ++ ++// Extract a 64-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi64 ++// FORCE_INLINE __int64 _mm_extract_epi64(__m128i a, __constrange(0,2) int imm) ++#define _mm_extract_epi64(a, imm) \ ++ vgetq_lane_s64(vreinterpretq_s64_m128i(a), (imm)) ++ ++// Extract an 8-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. FORCE_INLINE int _mm_extract_epi8(__m128i a, ++// __constrange(0,16) int imm) ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi8 ++#define _mm_extract_epi8(a, imm) vgetq_lane_u8(vreinterpretq_u8_m128i(a), (imm)) ++ ++// Extracts the selected single-precision (32-bit) floating-point from a. ++// FORCE_INLINE int _mm_extract_ps(__m128 a, __constrange(0,4) int imm) ++#define _mm_extract_ps(a, imm) vgetq_lane_s32(vreinterpretq_s32_m128(a), (imm)) ++ ++// Round the packed double-precision (64-bit) floating-point elements in a down ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_pd ++FORCE_INLINE __m128d _mm_floor_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndmq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(floor(f[1]), floor(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a down ++// to an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ps ++FORCE_INLINE __m128 _mm_floor_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndmq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(floorf(f[3]), floorf(f[2]), floorf(f[1]), floorf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b down to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_sd ++FORCE_INLINE __m128d _mm_floor_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_floor_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b down to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ss ++FORCE_INLINE __m128 _mm_floor_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_floor_ps(b)); ++} ++ ++// Copy a to dst, and insert the 32-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi32 ++// FORCE_INLINE __m128i _mm_insert_epi32(__m128i a, int b, ++// __constrange(0,4) int imm) ++#define _mm_insert_epi32(a, b, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vsetq_lane_s32((b), vreinterpretq_s32_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the 64-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi64 ++// FORCE_INLINE __m128i _mm_insert_epi64(__m128i a, __int64 b, ++// __constrange(0,2) int imm) ++#define _mm_insert_epi64(a, b, imm) \ ++ vreinterpretq_m128i_s64( \ ++ vsetq_lane_s64((b), vreinterpretq_s64_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the lower 8-bit integer from i into dst at the ++// location specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi8 ++// FORCE_INLINE __m128i _mm_insert_epi8(__m128i a, int b, ++// __constrange(0,16) int imm) ++#define _mm_insert_epi8(a, b, imm) \ ++ vreinterpretq_m128i_s8(vsetq_lane_s8((b), vreinterpretq_s8_m128i(a), (imm))) ++ ++// Copy a to tmp, then insert a single-precision (32-bit) floating-point ++// element from b into tmp using the control in imm8. Store tmp to dst using ++// the mask in imm8 (elements are zeroed out when the corresponding bit is set). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=insert_ps ++#define _mm_insert_ps(a, b, imm8) \ ++ _sse2neon_define2( \ ++ __m128, a, b, \ ++ float32x4_t tmp1 = \ ++ vsetq_lane_f32(vgetq_lane_f32(_b, (imm8 >> 6) & 0x3), \ ++ vreinterpretq_f32_m128(_a), 0); \ ++ float32x4_t tmp2 = \ ++ vsetq_lane_f32(vgetq_lane_f32(tmp1, 0), \ ++ vreinterpretq_f32_m128(_a), ((imm8 >> 4) & 0x3)); \ ++ const uint32_t data[4] = \ ++ _sse2neon_init(((imm8) & (1 << 0)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0); \ ++ uint32x4_t mask = vld1q_u32(data); \ ++ float32x4_t all_zeros = vdupq_n_f32(0); \ ++ \ ++ _sse2neon_return(vreinterpretq_m128_f32( \ ++ vbslq_f32(mask, all_zeros, vreinterpretq_f32_m128(tmp2))));) ++ ++// Compare packed signed 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi32 ++FORCE_INLINE __m128i _mm_max_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmaxq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi8 ++FORCE_INLINE __m128i _mm_max_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vmaxq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu16 ++FORCE_INLINE __m128i _mm_max_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vmaxq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_max_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vmaxq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi32 ++FORCE_INLINE __m128i _mm_min_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vminq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi8 ++FORCE_INLINE __m128i _mm_min_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vminq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu16 ++FORCE_INLINE __m128i _mm_min_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vminq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_min_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vminq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Horizontally compute the minimum amongst the packed unsigned 16-bit integers ++// in a, store the minimum and index in dst, and zero the remaining bits in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_minpos_epu16 ++FORCE_INLINE __m128i _mm_minpos_epu16(__m128i a) ++{ ++ __m128i dst; ++ uint16_t min, idx = 0; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Find the minimum value ++ min = vminvq_u16(vreinterpretq_u16_m128i(a)); ++ ++ // Get the index of the minimum value ++ static const uint16_t idxv[] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint16x8_t minv = vdupq_n_u16(min); ++ uint16x8_t cmeq = vceqq_u16(minv, vreinterpretq_u16_m128i(a)); ++ idx = vminvq_u16(vornq_u16(vld1q_u16(idxv), cmeq)); ++#else ++ // Find the minimum value ++ __m64 tmp; ++ tmp = vreinterpret_m64_u16( ++ vmin_u16(vget_low_u16(vreinterpretq_u16_m128i(a)), ++ vget_high_u16(vreinterpretq_u16_m128i(a)))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ min = vget_lane_u16(vreinterpret_u16_m64(tmp), 0); ++ // Get the index of the minimum value ++ int i; ++ for (i = 0; i < 8; i++) { ++ if (min == vgetq_lane_u16(vreinterpretq_u16_m128i(a), 0)) { ++ idx = (uint16_t) i; ++ break; ++ } ++ a = _mm_srli_si128(a, 2); ++ } ++#endif ++ // Generate result ++ dst = _mm_setzero_si128(); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(min, vreinterpretq_u16_m128i(dst), 0)); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(idx, vreinterpretq_u16_m128i(dst), 1)); ++ return dst; ++} ++ ++// Compute the sum of absolute differences (SADs) of quadruplets of unsigned ++// 8-bit integers in a compared to those in b, and store the 16-bit results in ++// dst. Eight SADs are performed using one quadruplet from b and eight ++// quadruplets from a. One quadruplet is selected from b starting at on the ++// offset specified in imm8. Eight quadruplets are formed from sequential 8-bit ++// integers selected from a starting at the offset specified in imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mpsadbw_epu8 ++FORCE_INLINE __m128i _mm_mpsadbw_epu8(__m128i a, __m128i b, const int imm) ++{ ++ uint8x16_t _a, _b; ++ ++ switch (imm & 0x4) { ++ case 0: ++ // do nothing ++ _a = vreinterpretq_u8_m128i(a); ++ break; ++ case 4: ++ _a = vreinterpretq_u8_u32(vextq_u32(vreinterpretq_u32_m128i(a), ++ vreinterpretq_u32_m128i(a), 1)); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ switch (imm & 0x3) { ++ case 0: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 0))); ++ break; ++ case 1: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 1))); ++ break; ++ case 2: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 2))); ++ break; ++ case 3: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 3))); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ int16x8_t c04, c15, c26, c37; ++ uint8x8_t low_b = vget_low_u8(_b); ++ c04 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a), low_b)); ++ uint8x16_t _a_1 = vextq_u8(_a, _a, 1); ++ c15 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_1), low_b)); ++ uint8x16_t _a_2 = vextq_u8(_a, _a, 2); ++ c26 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_2), low_b)); ++ uint8x16_t _a_3 = vextq_u8(_a, _a, 3); ++ c37 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_3), low_b)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // |0|4|2|6| ++ c04 = vpaddq_s16(c04, c26); ++ // |1|5|3|7| ++ c15 = vpaddq_s16(c15, c37); ++ ++ int32x4_t trn1_c = ++ vtrn1q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ int32x4_t trn2_c = ++ vtrn2q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ return vreinterpretq_m128i_s16(vpaddq_s16(vreinterpretq_s16_s32(trn1_c), ++ vreinterpretq_s16_s32(trn2_c))); ++#else ++ int16x4_t c01, c23, c45, c67; ++ c01 = vpadd_s16(vget_low_s16(c04), vget_low_s16(c15)); ++ c23 = vpadd_s16(vget_low_s16(c26), vget_low_s16(c37)); ++ c45 = vpadd_s16(vget_high_s16(c04), vget_high_s16(c15)); ++ c67 = vpadd_s16(vget_high_s16(c26), vget_high_s16(c37)); ++ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(c01, c23), vpadd_s16(c45, c67))); ++#endif ++} ++ ++// Multiply the low signed 32-bit integers from each packed 64-bit element in ++// a and b, and store the signed 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epi32 ++FORCE_INLINE __m128i _mm_mul_epi32(__m128i a, __m128i b) ++{ ++ // vmull_s32 upcasts instead of masking, so we downcast. ++ int32x2_t a_lo = vmovn_s64(vreinterpretq_s64_m128i(a)); ++ int32x2_t b_lo = vmovn_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vmull_s32(a_lo, b_lo)); ++} ++ ++// Multiply the packed 32-bit integers in a and b, producing intermediate 64-bit ++// integers, and store the low 32 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi32 ++FORCE_INLINE __m128i _mm_mullo_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmulq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi32 ++FORCE_INLINE __m128i _mm_packus_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcombine_u16(vqmovun_s32(vreinterpretq_s32_m128i(a)), ++ vqmovun_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_pd ++FORCE_INLINE __m128d _mm_round_pd(__m128d a, int rounding) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndnq_f64(vreinterpretq_f64_m128d(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_pd(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_pd(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndq_f64(vreinterpretq_f64_m128d(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128d_f64(vrndiq_f64(vreinterpretq_f64_m128d(a))); ++ } ++#else ++ double *v_double = (double *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ double res[2], tmp; ++ for (int i = 0; i < 2; i++) { ++ tmp = (v_double[i] < 0) ? -v_double[i] : v_double[i]; ++ double roundDown = floor(tmp); // Round down value ++ double roundUp = ceil(tmp); // Round up value ++ double diffDown = tmp - roundDown; ++ double diffUp = roundUp - tmp; ++ if (diffDown < diffUp) { ++ /* If it's closer to the round down value, then use it */ ++ res[i] = roundDown; ++ } else if (diffDown > diffUp) { ++ /* If it's closer to the round up value, then use it */ ++ res[i] = roundUp; ++ } else { ++ /* If it's equidistant between round up and round down value, ++ * pick the one which is an even number */ ++ double half = roundDown / 2; ++ if (half != floor(half)) { ++ /* If the round down value is odd, return the round up value ++ */ ++ res[i] = roundUp; ++ } else { ++ /* If the round up value is odd, return the round down value ++ */ ++ res[i] = roundDown; ++ } ++ } ++ res[i] = (v_double[i] < 0) ? -res[i] : res[i]; ++ } ++ return _mm_set_pd(res[1], res[0]); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_pd(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_pd(a); ++ } ++ return _mm_set_pd(v_double[1] > 0 ? floor(v_double[1]) : ceil(v_double[1]), ++ v_double[0] > 0 ? floor(v_double[0]) : ceil(v_double[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed single-precision ++// floating-point elements in dst. ++// software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_round_ps ++FORCE_INLINE __m128 _mm_round_ps(__m128 a, int rounding) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndnq_f32(vreinterpretq_f32_m128(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_ps(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_ps(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndq_f32(vreinterpretq_f32_m128(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128_f32(vrndiq_f32(vreinterpretq_f32_m128(a))); ++ } ++#else ++ float *v_float = (float *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vbslq_s32(is_delta_half, r_even, r_normal))); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_ps(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_ps(a); ++ } ++ return _mm_set_ps(v_float[3] > 0 ? floorf(v_float[3]) : ceilf(v_float[3]), ++ v_float[2] > 0 ? floorf(v_float[2]) : ceilf(v_float[2]), ++ v_float[1] > 0 ? floorf(v_float[1]) : ceilf(v_float[1]), ++ v_float[0] > 0 ? floorf(v_float[0]) : ceilf(v_float[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b using ++// the rounding parameter, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_sd ++FORCE_INLINE __m128d _mm_round_sd(__m128d a, __m128d b, int rounding) ++{ ++ return _mm_move_sd(a, _mm_round_pd(b, rounding)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b using ++// the rounding parameter, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. Rounding is done according to the ++// rounding[3:0] parameter, which can be one of: ++// (_MM_FROUND_TO_NEAREST_INT |_MM_FROUND_NO_EXC) // round to nearest, and ++// suppress exceptions ++// (_MM_FROUND_TO_NEG_INF |_MM_FROUND_NO_EXC) // round down, and ++// suppress exceptions ++// (_MM_FROUND_TO_POS_INF |_MM_FROUND_NO_EXC) // round up, and suppress ++// exceptions ++// (_MM_FROUND_TO_ZERO |_MM_FROUND_NO_EXC) // truncate, and suppress ++// exceptions _MM_FROUND_CUR_DIRECTION // use MXCSR.RC; see ++// _MM_SET_ROUNDING_MODE ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_ss ++FORCE_INLINE __m128 _mm_round_ss(__m128 a, __m128 b, int rounding) ++{ ++ return _mm_move_ss(a, _mm_round_ps(b, rounding)); ++} ++ ++// Load 128-bits of integer data from memory into dst using a non-temporal ++// memory hint. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_load_si128 ++FORCE_INLINE __m128i _mm_stream_load_si128(__m128i *p) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ return __builtin_nontemporal_load(p); ++#else ++ return vreinterpretq_m128i_s64(vld1q_s64((int64_t *) p)); ++#endif ++} ++ ++// Compute the bitwise NOT of a and then AND with a 128-bit vector containing ++// all 1's, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_ones ++FORCE_INLINE int _mm_test_all_ones(__m128i a) ++{ ++ return (uint64_t) (vgetq_lane_s64(a, 0) & vgetq_lane_s64(a, 1)) == ++ ~(uint64_t) 0; ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_zeros ++FORCE_INLINE int _mm_test_all_zeros(__m128i a, __m128i mask) ++{ ++ int64x2_t a_and_mask = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(mask)); ++ return !(vgetq_lane_s64(a_and_mask, 0) | vgetq_lane_s64(a_and_mask, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute ++// the bitwise NOT of a and then AND with mask, and set CF to 1 if the result is ++// zero, otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_test_mix_ones_zero ++// Note: Argument names may be wrong in the Intel intrinsics guide. ++FORCE_INLINE int _mm_test_mix_ones_zeros(__m128i a, __m128i mask) ++{ ++ uint64x2_t v = vreinterpretq_u64_m128i(a); ++ uint64x2_t m = vreinterpretq_u64_m128i(mask); ++ ++ // find ones (set-bits) and zeros (clear-bits) under clip mask ++ uint64x2_t ones = vandq_u64(m, v); ++ uint64x2_t zeros = vbicq_u64(m, v); ++ ++ // If both 128-bit variables are populated (non-zero) then return 1. ++ // For comparision purposes, first compact each var down to 32-bits. ++ uint32x2_t reduced = vpmax_u32(vqmovn_u64(ones), vqmovn_u64(zeros)); ++ ++ // if folding minimum is non-zero then both vars must be non-zero ++ return (vget_lane_u32(vpmin_u32(reduced, reduced), 0) != 0); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the CF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testc_si128 ++FORCE_INLINE int _mm_testc_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vbicq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testnzc_si128 ++#define _mm_testnzc_si128(a, b) _mm_test_mix_ones_zeros(a, b) ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the ZF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testz_si128 ++FORCE_INLINE int _mm_testz_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++/* SSE4.2 */ ++ ++static const uint16_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask16b[8] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++static const uint8_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask8b[16] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++ ++/* specify the source data format */ ++#define _SIDD_UBYTE_OPS 0x00 /* unsigned 8-bit characters */ ++#define _SIDD_UWORD_OPS 0x01 /* unsigned 16-bit characters */ ++#define _SIDD_SBYTE_OPS 0x02 /* signed 8-bit characters */ ++#define _SIDD_SWORD_OPS 0x03 /* signed 16-bit characters */ ++ ++/* specify the comparison operation */ ++#define _SIDD_CMP_EQUAL_ANY 0x00 /* compare equal any: strchr */ ++#define _SIDD_CMP_RANGES 0x04 /* compare ranges */ ++#define _SIDD_CMP_EQUAL_EACH 0x08 /* compare equal each: strcmp */ ++#define _SIDD_CMP_EQUAL_ORDERED 0x0C /* compare equal ordered */ ++ ++/* specify the polarity */ ++#define _SIDD_POSITIVE_POLARITY 0x00 ++#define _SIDD_MASKED_POSITIVE_POLARITY 0x20 ++#define _SIDD_NEGATIVE_POLARITY 0x10 /* negate results */ ++#define _SIDD_MASKED_NEGATIVE_POLARITY \ ++ 0x30 /* negate results only before end of string */ ++ ++/* specify the output selection in _mm_cmpXstri */ ++#define _SIDD_LEAST_SIGNIFICANT 0x00 ++#define _SIDD_MOST_SIGNIFICANT 0x40 ++ ++/* specify the output selection in _mm_cmpXstrm */ ++#define _SIDD_BIT_MASK 0x00 ++#define _SIDD_UNIT_MASK 0x40 ++ ++/* Pattern Matching for C macros. ++ * https://github.com/pfultz2/Cloak/wiki/C-Preprocessor-tricks,-tips,-and-idioms ++ */ ++ ++/* catenate */ ++#define SSE2NEON_PRIMITIVE_CAT(a, ...) a##__VA_ARGS__ ++#define SSE2NEON_CAT(a, b) SSE2NEON_PRIMITIVE_CAT(a, b) ++ ++#define SSE2NEON_IIF(c) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_IIF_, c) ++/* run the 2nd parameter */ ++#define SSE2NEON_IIF_0(t, ...) __VA_ARGS__ ++/* run the 1st parameter */ ++#define SSE2NEON_IIF_1(t, ...) t ++ ++#define SSE2NEON_COMPL(b) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_COMPL_, b) ++#define SSE2NEON_COMPL_0 1 ++#define SSE2NEON_COMPL_1 0 ++ ++#define SSE2NEON_DEC(x) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_DEC_, x) ++#define SSE2NEON_DEC_1 0 ++#define SSE2NEON_DEC_2 1 ++#define SSE2NEON_DEC_3 2 ++#define SSE2NEON_DEC_4 3 ++#define SSE2NEON_DEC_5 4 ++#define SSE2NEON_DEC_6 5 ++#define SSE2NEON_DEC_7 6 ++#define SSE2NEON_DEC_8 7 ++#define SSE2NEON_DEC_9 8 ++#define SSE2NEON_DEC_10 9 ++#define SSE2NEON_DEC_11 10 ++#define SSE2NEON_DEC_12 11 ++#define SSE2NEON_DEC_13 12 ++#define SSE2NEON_DEC_14 13 ++#define SSE2NEON_DEC_15 14 ++#define SSE2NEON_DEC_16 15 ++ ++/* detection */ ++#define SSE2NEON_CHECK_N(x, n, ...) n ++#define SSE2NEON_CHECK(...) SSE2NEON_CHECK_N(__VA_ARGS__, 0, ) ++#define SSE2NEON_PROBE(x) x, 1, ++ ++#define SSE2NEON_NOT(x) SSE2NEON_CHECK(SSE2NEON_PRIMITIVE_CAT(SSE2NEON_NOT_, x)) ++#define SSE2NEON_NOT_0 SSE2NEON_PROBE(~) ++ ++#define SSE2NEON_BOOL(x) SSE2NEON_COMPL(SSE2NEON_NOT(x)) ++#define SSE2NEON_IF(c) SSE2NEON_IIF(SSE2NEON_BOOL(c)) ++ ++#define SSE2NEON_EAT(...) ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++#define SSE2NEON_WHEN(c) SSE2NEON_IF(c)(SSE2NEON_EXPAND, SSE2NEON_EAT) ++ ++/* recursion */ ++/* deferred expression */ ++#define SSE2NEON_EMPTY() ++#define SSE2NEON_DEFER(id) id SSE2NEON_EMPTY() ++#define SSE2NEON_OBSTRUCT(...) __VA_ARGS__ SSE2NEON_DEFER(SSE2NEON_EMPTY)() ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++ ++#define SSE2NEON_EVAL(...) \ ++ SSE2NEON_EVAL1(SSE2NEON_EVAL1(SSE2NEON_EVAL1(__VA_ARGS__))) ++#define SSE2NEON_EVAL1(...) \ ++ SSE2NEON_EVAL2(SSE2NEON_EVAL2(SSE2NEON_EVAL2(__VA_ARGS__))) ++#define SSE2NEON_EVAL2(...) \ ++ SSE2NEON_EVAL3(SSE2NEON_EVAL3(SSE2NEON_EVAL3(__VA_ARGS__))) ++#define SSE2NEON_EVAL3(...) __VA_ARGS__ ++ ++#define SSE2NEON_REPEAT(count, macro, ...) \ ++ SSE2NEON_WHEN(count) \ ++ (SSE2NEON_OBSTRUCT(SSE2NEON_REPEAT_INDIRECT)()( \ ++ SSE2NEON_DEC(count), macro, \ ++ __VA_ARGS__) SSE2NEON_OBSTRUCT(macro)(SSE2NEON_DEC(count), \ ++ __VA_ARGS__)) ++#define SSE2NEON_REPEAT_INDIRECT() SSE2NEON_REPEAT ++ ++#define SSE2NEON_SIZE_OF_byte 8 ++#define SSE2NEON_NUMBER_OF_LANES_byte 16 ++#define SSE2NEON_SIZE_OF_word 16 ++#define SSE2NEON_NUMBER_OF_LANES_word 8 ++ ++#define SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE(i, type) \ ++ mtx[i] = vreinterpretq_m128i_##type(vceqq_##type( \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)), \ ++ vreinterpretq_##type##_m128i(a))); ++ ++#define SSE2NEON_FILL_LANE(i, type) \ ++ vec_b[i] = \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)); ++ ++#define PCMPSTR_RANGES(a, b, mtx, data_type_prefix, type_prefix, size, \ ++ number_of_lanes, byte_or_word) \ ++ do { \ ++ SSE2NEON_CAT( \ ++ data_type_prefix, \ ++ SSE2NEON_CAT(size, \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(number_of_lanes, _t)))) \ ++ vec_b[number_of_lanes]; \ ++ __m128i mask = SSE2NEON_IIF(byte_or_word)( \ ++ vreinterpretq_m128i_u16(vdupq_n_u16(0xff)), \ ++ vreinterpretq_m128i_u32(vdupq_n_u32(0xffff))); \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, SSE2NEON_FILL_LANE, \ ++ SSE2NEON_CAT(type_prefix, size))) \ ++ for (int i = 0; i < number_of_lanes; i++) { \ ++ mtx[i] = SSE2NEON_CAT(vreinterpretq_m128i_u, \ ++ size)(SSE2NEON_CAT(vbslq_u, size)( \ ++ SSE2NEON_CAT(vreinterpretq_u, \ ++ SSE2NEON_CAT(size, _m128i))(mask), \ ++ SSE2NEON_CAT(vcgeq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))), \ ++ SSE2NEON_CAT(vcleq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))))); \ ++ } \ ++ } while (0) ++ ++#define PCMPSTR_EQ(a, b, mtx, size, number_of_lanes) \ ++ do { \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, \ ++ SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE, \ ++ SSE2NEON_CAT(u, size))) \ ++ } while (0) ++ ++#define SSE2NEON_CMP_EQUAL_ANY_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_any(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_any_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_RANGES_IMPL(type, data_type, us, byte_or_word) \ ++ static int _sse2neon_cmp_##us##type##_ranges(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_RANGES( \ ++ a, b, mtx, data_type, us, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), byte_or_word); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_ranges_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_EQUAL_ORDERED_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_ordered(__m128i a, int la, \ ++ __m128i b, int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_ordered_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type))))( \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), la, lb, mtx); \ ++ } ++ ++static int _sse2neon_aggregate_equal_any_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ int tmp = _sse2neon_vaddvq_u8(vreinterpretq_u8_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_equal_any_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ int tmp = _sse2neon_vaddvq_u16(vreinterpretq_u16_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ANY(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ANY(SSE2NEON_CMP_EQUAL_ANY_) ++ ++static int _sse2neon_aggregate_ranges_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ __m128i tmp = vreinterpretq_m128i_u32( ++ vshrq_n_u32(vreinterpretq_u32_m128i(mtx[j]), 16)); ++ uint32x4_t vec_res = vandq_u32(vreinterpretq_u32_m128i(mtx[j]), ++ vreinterpretq_u32_m128i(tmp)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int t = vaddvq_u32(vec_res) ? 1 : 0; ++#else ++ uint64x2_t sumh = vpaddlq_u32(vec_res); ++ int t = vgetq_lane_u64(sumh, 0) + vgetq_lane_u64(sumh, 1); ++#endif ++ res |= (t << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_ranges_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ __m128i tmp = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 8)); ++ uint16x8_t vec_res = vandq_u16(vreinterpretq_u16_m128i(mtx[j]), ++ vreinterpretq_u16_m128i(tmp)); ++ int t = _sse2neon_vaddvq_u16(vec_res) ? 1 : 0; ++ res |= (t << j); ++ } ++ return res; ++} ++ ++#define SSE2NEON_CMP_RANGES_IS_BYTE 1 ++#define SSE2NEON_CMP_RANGES_IS_WORD 0 ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_RANGES(prefix) \ ++ prefix##IMPL(byte, uint, u, prefix##IS_BYTE) \ ++ prefix##IMPL(byte, int, s, prefix##IS_BYTE) \ ++ prefix##IMPL(word, uint, u, prefix##IS_WORD) \ ++ prefix##IMPL(word, int, s, prefix##IS_WORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_RANGES(SSE2NEON_CMP_RANGES_) ++ ++#undef SSE2NEON_CMP_RANGES_IS_BYTE ++#undef SSE2NEON_CMP_RANGES_IS_WORD ++ ++static int _sse2neon_cmp_byte_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint8x16_t mtx = ++ vceqq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x10000 - (1 << la); ++ int tb = 0x10000 - (1 << lb); ++ uint8x8_t vec_mask, vec0_lo, vec0_hi, vec1_lo, vec1_hi; ++ uint8x8_t tmp_lo, tmp_hi, res_lo, res_hi; ++ vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ vec0_lo = vtst_u8(vdup_n_u8(m0), vec_mask); ++ vec0_hi = vtst_u8(vdup_n_u8(m0 >> 8), vec_mask); ++ vec1_lo = vtst_u8(vdup_n_u8(m1), vec_mask); ++ vec1_hi = vtst_u8(vdup_n_u8(m1 >> 8), vec_mask); ++ tmp_lo = vtst_u8(vdup_n_u8(tb), vec_mask); ++ tmp_hi = vtst_u8(vdup_n_u8(tb >> 8), vec_mask); ++ ++ res_lo = vbsl_u8(vec0_lo, vdup_n_u8(0), vget_low_u8(mtx)); ++ res_hi = vbsl_u8(vec0_hi, vdup_n_u8(0), vget_high_u8(mtx)); ++ res_lo = vbsl_u8(vec1_lo, tmp_lo, res_lo); ++ res_hi = vbsl_u8(vec1_hi, tmp_hi, res_hi); ++ res_lo = vand_u8(res_lo, vec_mask); ++ res_hi = vand_u8(res_hi, vec_mask); ++ ++ int res = _sse2neon_vaddv_u8(res_lo) + (_sse2neon_vaddv_u8(res_hi) << 8); ++ return res; ++} ++ ++static int _sse2neon_cmp_word_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint16x8_t mtx = ++ vceqq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x100 - (1 << la); ++ int tb = 0x100 - (1 << lb); ++ uint16x8_t vec_mask = vld1q_u16(_sse2neon_cmpestr_mask16b); ++ uint16x8_t vec0 = vtstq_u16(vdupq_n_u16(m0), vec_mask); ++ uint16x8_t vec1 = vtstq_u16(vdupq_n_u16(m1), vec_mask); ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(tb), vec_mask); ++ mtx = vbslq_u16(vec0, vdupq_n_u16(0), mtx); ++ mtx = vbslq_u16(vec1, tmp, mtx); ++ mtx = vandq_u16(mtx, vec_mask); ++ return _sse2neon_vaddvq_u16(mtx); ++} ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE 1 ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD 0 ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IMPL(size, number_of_lanes, data_type) \ ++ static int _sse2neon_aggregate_equal_ordered_##size##x##number_of_lanes( \ ++ int bound, int la, int lb, __m128i mtx[16]) \ ++ { \ ++ int res = 0; \ ++ int m1 = SSE2NEON_IIF(data_type)(0x10000, 0x100) - (1 << la); \ ++ uint##size##x8_t vec_mask = SSE2NEON_IIF(data_type)( \ ++ vld1_u##size(_sse2neon_cmpestr_mask##size##b), \ ++ vld1q_u##size(_sse2neon_cmpestr_mask##size##b)); \ ++ uint##size##x##number_of_lanes##_t vec1 = SSE2NEON_IIF(data_type)( \ ++ vcombine_u##size(vtst_u##size(vdup_n_u##size(m1), vec_mask), \ ++ vtst_u##size(vdup_n_u##size(m1 >> 8), vec_mask)), \ ++ vtstq_u##size(vdupq_n_u##size(m1), vec_mask)); \ ++ uint##size##x##number_of_lanes##_t vec_minusone = vdupq_n_u##size(-1); \ ++ uint##size##x##number_of_lanes##_t vec_zero = vdupq_n_u##size(0); \ ++ for (int j = 0; j < lb; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size(vbslq_u##size( \ ++ vec1, vec_minusone, vreinterpretq_u##size##_m128i(mtx[j]))); \ ++ } \ ++ for (int j = lb; j < bound; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size( \ ++ vbslq_u##size(vec1, vec_minusone, vec_zero)); \ ++ } \ ++ unsigned SSE2NEON_IIF(data_type)(char, short) *ptr = \ ++ (unsigned SSE2NEON_IIF(data_type)(char, short) *) mtx; \ ++ for (int i = 0; i < bound; i++) { \ ++ int val = 1; \ ++ for (int j = 0, k = i; j < bound - i && k < bound; j++, k++) \ ++ val &= ptr[k * bound + j]; \ ++ res += val << i; \ ++ } \ ++ return res; \ ++ } ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(prefix) \ ++ prefix##IMPL(8, 16, prefix##IS_UBYTE) \ ++ prefix##IMPL(16, 8, prefix##IS_UWORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(SSE2NEON_AGGREGATE_EQUAL_ORDER_) ++ ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(SSE2NEON_CMP_EQUAL_ORDERED_) ++ ++#define SSE2NEON_CMPESTR_LIST \ ++ _(CMP_UBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_UWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_SBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_SWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_UBYTE_RANGES, cmp_ubyte_ranges) \ ++ _(CMP_UWORD_RANGES, cmp_uword_ranges) \ ++ _(CMP_SBYTE_RANGES, cmp_sbyte_ranges) \ ++ _(CMP_SWORD_RANGES, cmp_sword_ranges) \ ++ _(CMP_UBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_UWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_SBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_SWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_UBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_UWORD_EQUAL_ORDERED, cmp_word_equal_ordered) \ ++ _(CMP_SBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_SWORD_EQUAL_ORDERED, cmp_word_equal_ordered) ++ ++enum { ++#define _(name, func_suffix) name, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++typedef int (*cmpestr_func_t)(__m128i a, int la, __m128i b, int lb); ++static cmpestr_func_t _sse2neon_cmpfunc_table[] = { ++#define _(name, func_suffix) _sse2neon_##func_suffix, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++ ++FORCE_INLINE int _sse2neon_sido_negative(int res, int lb, int imm8, int bound) ++{ ++ switch (imm8 & 0x30) { ++ case _SIDD_NEGATIVE_POLARITY: ++ res ^= 0xffffffff; ++ break; ++ case _SIDD_MASKED_NEGATIVE_POLARITY: ++ res ^= (1 << lb) - 1; ++ break; ++ default: ++ break; ++ } ++ ++ return res & ((bound == 8) ? 0xFF : 0xFFFF); ++} ++ ++FORCE_INLINE int _sse2neon_clz(unsigned int x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt = 0; ++ if (_BitScanReverse(&cnt, x)) ++ return 31 - cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_clz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctz(unsigned int x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt = 0; ++ if (_BitScanForward(&cnt, x)) ++ return cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_ctz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctzll(unsigned long long x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt; ++#if defined(SSE2NEON_HAS_BITSCAN64) ++ if (_BitScanForward64(&cnt, x)) ++ return (int) (cnt); ++#else ++ if (_BitScanForward(&cnt, (unsigned long) (x))) ++ return (int) cnt; ++ if (_BitScanForward(&cnt, (unsigned long) (x >> 32))) ++ return (int) (cnt + 32); ++#endif /* SSE2NEON_HAS_BITSCAN64 */ ++ return 64; ++#else /* assume GNU compatible compilers */ ++ return x != 0 ? __builtin_ctzll(x) : 64; ++#endif ++} ++ ++#define SSE2NEON_MIN(x, y) (x) < (y) ? (x) : (y) ++ ++#define SSE2NEON_CMPSTR_SET_UPPER(var, imm) \ ++ const int var = (imm & 0x01) ? 8 : 16 ++ ++#define SSE2NEON_CMPESTRX_LEN_PAIR(a, b, la, lb) \ ++ int tmp1 = la ^ (la >> 31); \ ++ la = tmp1 - (la >> 31); \ ++ int tmp2 = lb ^ (lb >> 31); \ ++ lb = tmp2 - (lb >> 31); \ ++ la = SSE2NEON_MIN(la, bound); \ ++ lb = SSE2NEON_MIN(lb, bound) ++ ++// Compare all pairs of character in string a and b, ++// then aggregate the result. ++// As the only difference of PCMPESTR* and PCMPISTR* is the way to calculate the ++// length of string, we use SSE2NEON_CMP{I,E}STRX_GET_LEN to get the length of ++// string a and b. ++#define SSE2NEON_COMP_AGG(a, b, la, lb, imm8, IE) \ ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); \ ++ SSE2NEON_##IE##_LEN_PAIR(a, b, la, lb); \ ++ int r2 = (_sse2neon_cmpfunc_table[imm8 & 0x0f])(a, la, b, lb); \ ++ r2 = _sse2neon_sido_negative(r2, lb, imm8, bound) ++ ++#define SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8) \ ++ return (r2 == 0) ? bound \ ++ : ((imm8 & 0x40) ? (31 - _sse2neon_clz(r2)) \ ++ : _sse2neon_ctz(r2)) ++ ++#define SSE2NEON_CMPSTR_GENERATE_MASK(dst) \ ++ __m128i dst = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ if (imm8 & 0x40) { \ ++ if (bound == 8) { \ ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(r2), \ ++ vld1q_u16(_sse2neon_cmpestr_mask16b)); \ ++ dst = vreinterpretq_m128i_u16(vbslq_u16( \ ++ tmp, vdupq_n_u16(-1), vreinterpretq_u16_m128i(dst))); \ ++ } else { \ ++ uint8x16_t vec_r2 = \ ++ vcombine_u8(vdup_n_u8(r2), vdup_n_u8(r2 >> 8)); \ ++ uint8x16_t tmp = \ ++ vtstq_u8(vec_r2, vld1q_u8(_sse2neon_cmpestr_mask8b)); \ ++ dst = vreinterpretq_m128i_u8( \ ++ vbslq_u8(tmp, vdupq_n_u8(-1), vreinterpretq_u8_m128i(dst))); \ ++ } \ ++ } else { \ ++ if (bound == 16) { \ ++ dst = vreinterpretq_m128i_u16( \ ++ vsetq_lane_u16(r2 & 0xffff, vreinterpretq_u16_m128i(dst), 0)); \ ++ } else { \ ++ dst = vreinterpretq_m128i_u8( \ ++ vsetq_lane_u8(r2 & 0xff, vreinterpretq_u8_m128i(dst), 0)); \ ++ } \ ++ } \ ++ return dst ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and returns 1 if b did not contain a null character and the ++// resulting mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestra ++FORCE_INLINE int _mm_cmpestra(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ int lb_cpy = lb; ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return !r2 & (lb_cpy > bound); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrc ++FORCE_INLINE int _mm_cmpestrc(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestri ++FORCE_INLINE int _mm_cmpestri(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrm ++FORCE_INLINE __m128i ++_mm_cmpestrm(__m128i a, int la, __m128i b, int lb, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestro ++FORCE_INLINE int _mm_cmpestro(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrs ++FORCE_INLINE int _mm_cmpestrs(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) lb; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrz ++FORCE_INLINE int _mm_cmpestrz(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) la; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return lb <= (bound - 1); ++} ++ ++#define SSE2NEON_CMPISTRX_LENGTH(str, len, imm8) \ ++ do { \ ++ if (imm8 & 0x01) { \ ++ uint16x8_t equal_mask_##str = \ ++ vceqq_u16(vreinterpretq_u16_m128i(str), vdupq_n_u16(0)); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 3; \ ++ } else { \ ++ uint16x8_t equal_mask_##str = vreinterpretq_u16_u8( \ ++ vceqq_u8(vreinterpretq_u8_m128i(str), vdupq_n_u8(0))); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 2; \ ++ } \ ++ } while (0) ++ ++#define SSE2NEON_CMPISTRX_LEN_PAIR(a, b, la, lb) \ ++ int la, lb; \ ++ do { \ ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); \ ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); \ ++ } while (0) ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if b did not contain a null character and the resulting ++// mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistra ++FORCE_INLINE int _mm_cmpistra(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return !r2 & (lb >= bound); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrc ++FORCE_INLINE int _mm_cmpistrc(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistri ++FORCE_INLINE int _mm_cmpistri(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrm ++FORCE_INLINE __m128i _mm_cmpistrm(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistro ++FORCE_INLINE int _mm_cmpistro(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrs ++FORCE_INLINE int _mm_cmpistrs(__m128i a, __m128i b, const int imm8) ++{ ++ (void) b; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int la; ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrz ++FORCE_INLINE int _mm_cmpistrz(__m128i a, __m128i b, const int imm8) ++{ ++ (void) a; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int lb; ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); ++ return lb <= (bound - 1); ++} ++ ++// Compares the 2 signed 64-bit integers in a and the 2 signed 64-bit integers ++// in b for greater than. ++FORCE_INLINE __m128i _mm_cmpgt_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vcgtq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ return vreinterpretq_m128i_s64(vshrq_n_s64( ++ vqsubq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)), ++ 63)); ++#endif ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 16-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u16 ++FORCE_INLINE uint32_t _mm_crc32_u16(uint32_t crc, uint16_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32ch %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32ch(crc, v); ++#else ++ crc = _mm_crc32_u8(crc, v & 0xff); ++ crc = _mm_crc32_u8(crc, (v >> 8) & 0xff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 32-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u32 ++FORCE_INLINE uint32_t _mm_crc32_u32(uint32_t crc, uint32_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cw %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cw(crc, v); ++#else ++ crc = _mm_crc32_u16(crc, v & 0xffff); ++ crc = _mm_crc32_u16(crc, (v >> 16) & 0xffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 64-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u64 ++FORCE_INLINE uint64_t _mm_crc32_u64(uint64_t crc, uint64_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cx %w[c], %w[c], %x[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cd((uint32_t) crc, v); ++#else ++ crc = _mm_crc32_u32((uint32_t) (crc), v & 0xffffffff); ++ crc = _mm_crc32_u32((uint32_t) (crc), (v >> 32) & 0xffffffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 8-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u8 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t crc, uint8_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cb %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cb(crc, v); ++#else ++ crc ^= v; ++#if defined(__ARM_FEATURE_CRYPTO) ++ // Adapted from: https://mary.rs/lab/crc32/ ++ // Barrent reduction ++ uint64x2_t orig = ++ vcombine_u64(vcreate_u64((uint64_t) (crc) << 24), vcreate_u64(0x0)); ++ uint64x2_t tmp = orig; ++ ++ // Polynomial P(x) of CRC32C ++ uint64_t p = 0x105EC76F1; ++ // Barrett Reduction (in bit-reflected form) constant mu_{64} = \lfloor ++ // 2^{64} / P(x) \rfloor = 0x11f91caf6 ++ uint64_t mu = 0x1dea713f1; ++ ++ // Multiply by mu_{64} ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(mu)); ++ // Divide by 2^{64} (mask away the unnecessary bits) ++ tmp = ++ vandq_u64(tmp, vcombine_u64(vcreate_u64(0xFFFFFFFF), vcreate_u64(0x0))); ++ // Multiply by P(x) (shifted left by 1 for alignment reasons) ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(p)); ++ // Subtract original from result ++ tmp = veorq_u64(tmp, orig); ++ ++ // Extract the 'lower' (in bit-reflected sense) 32 bits ++ crc = vgetq_lane_u32(vreinterpretq_u32_u64(tmp), 1); ++#else // Fall back to the generic table lookup approach ++ // Adapted from: https://create.stephan-brumme.com/crc32/ ++ // Apply half-byte comparision algorithm for the best ratio between ++ // performance and lookup table. ++ ++ // The lookup table just needs to store every 16th entry ++ // of the standard look-up table. ++ static const uint32_t crc32_half_byte_tbl[] = { ++ 0x00000000, 0x105ec76f, 0x20bd8ede, 0x30e349b1, 0x417b1dbc, 0x5125dad3, ++ 0x61c69362, 0x7198540d, 0x82f63b78, 0x92a8fc17, 0xa24bb5a6, 0xb21572c9, ++ 0xc38d26c4, 0xd3d3e1ab, 0xe330a81a, 0xf36e6f75, ++ }; ++ ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++#endif ++#endif ++ return crc; ++} ++ ++/* AES */ ++ ++#if !defined(__ARM_FEATURE_CRYPTO) && (!defined(_M_ARM64) || defined(__clang__)) ++/* clang-format off */ ++#define SSE2NEON_AES_SBOX(w) \ ++ { \ ++ w(0x63), w(0x7c), w(0x77), w(0x7b), w(0xf2), w(0x6b), w(0x6f), \ ++ w(0xc5), w(0x30), w(0x01), w(0x67), w(0x2b), w(0xfe), w(0xd7), \ ++ w(0xab), w(0x76), w(0xca), w(0x82), w(0xc9), w(0x7d), w(0xfa), \ ++ w(0x59), w(0x47), w(0xf0), w(0xad), w(0xd4), w(0xa2), w(0xaf), \ ++ w(0x9c), w(0xa4), w(0x72), w(0xc0), w(0xb7), w(0xfd), w(0x93), \ ++ w(0x26), w(0x36), w(0x3f), w(0xf7), w(0xcc), w(0x34), w(0xa5), \ ++ w(0xe5), w(0xf1), w(0x71), w(0xd8), w(0x31), w(0x15), w(0x04), \ ++ w(0xc7), w(0x23), w(0xc3), w(0x18), w(0x96), w(0x05), w(0x9a), \ ++ w(0x07), w(0x12), w(0x80), w(0xe2), w(0xeb), w(0x27), w(0xb2), \ ++ w(0x75), w(0x09), w(0x83), w(0x2c), w(0x1a), w(0x1b), w(0x6e), \ ++ w(0x5a), w(0xa0), w(0x52), w(0x3b), w(0xd6), w(0xb3), w(0x29), \ ++ w(0xe3), w(0x2f), w(0x84), w(0x53), w(0xd1), w(0x00), w(0xed), \ ++ w(0x20), w(0xfc), w(0xb1), w(0x5b), w(0x6a), w(0xcb), w(0xbe), \ ++ w(0x39), w(0x4a), w(0x4c), w(0x58), w(0xcf), w(0xd0), w(0xef), \ ++ w(0xaa), w(0xfb), w(0x43), w(0x4d), w(0x33), w(0x85), w(0x45), \ ++ w(0xf9), w(0x02), w(0x7f), w(0x50), w(0x3c), w(0x9f), w(0xa8), \ ++ w(0x51), w(0xa3), w(0x40), w(0x8f), w(0x92), w(0x9d), w(0x38), \ ++ w(0xf5), w(0xbc), w(0xb6), w(0xda), w(0x21), w(0x10), w(0xff), \ ++ w(0xf3), w(0xd2), w(0xcd), w(0x0c), w(0x13), w(0xec), w(0x5f), \ ++ w(0x97), w(0x44), w(0x17), w(0xc4), w(0xa7), w(0x7e), w(0x3d), \ ++ w(0x64), w(0x5d), w(0x19), w(0x73), w(0x60), w(0x81), w(0x4f), \ ++ w(0xdc), w(0x22), w(0x2a), w(0x90), w(0x88), w(0x46), w(0xee), \ ++ w(0xb8), w(0x14), w(0xde), w(0x5e), w(0x0b), w(0xdb), w(0xe0), \ ++ w(0x32), w(0x3a), w(0x0a), w(0x49), w(0x06), w(0x24), w(0x5c), \ ++ w(0xc2), w(0xd3), w(0xac), w(0x62), w(0x91), w(0x95), w(0xe4), \ ++ w(0x79), w(0xe7), w(0xc8), w(0x37), w(0x6d), w(0x8d), w(0xd5), \ ++ w(0x4e), w(0xa9), w(0x6c), w(0x56), w(0xf4), w(0xea), w(0x65), \ ++ w(0x7a), w(0xae), w(0x08), w(0xba), w(0x78), w(0x25), w(0x2e), \ ++ w(0x1c), w(0xa6), w(0xb4), w(0xc6), w(0xe8), w(0xdd), w(0x74), \ ++ w(0x1f), w(0x4b), w(0xbd), w(0x8b), w(0x8a), w(0x70), w(0x3e), \ ++ w(0xb5), w(0x66), w(0x48), w(0x03), w(0xf6), w(0x0e), w(0x61), \ ++ w(0x35), w(0x57), w(0xb9), w(0x86), w(0xc1), w(0x1d), w(0x9e), \ ++ w(0xe1), w(0xf8), w(0x98), w(0x11), w(0x69), w(0xd9), w(0x8e), \ ++ w(0x94), w(0x9b), w(0x1e), w(0x87), w(0xe9), w(0xce), w(0x55), \ ++ w(0x28), w(0xdf), w(0x8c), w(0xa1), w(0x89), w(0x0d), w(0xbf), \ ++ w(0xe6), w(0x42), w(0x68), w(0x41), w(0x99), w(0x2d), w(0x0f), \ ++ w(0xb0), w(0x54), w(0xbb), w(0x16) \ ++ } ++#define SSE2NEON_AES_RSBOX(w) \ ++ { \ ++ w(0x52), w(0x09), w(0x6a), w(0xd5), w(0x30), w(0x36), w(0xa5), \ ++ w(0x38), w(0xbf), w(0x40), w(0xa3), w(0x9e), w(0x81), w(0xf3), \ ++ w(0xd7), w(0xfb), w(0x7c), w(0xe3), w(0x39), w(0x82), w(0x9b), \ ++ w(0x2f), w(0xff), w(0x87), w(0x34), w(0x8e), w(0x43), w(0x44), \ ++ w(0xc4), w(0xde), w(0xe9), w(0xcb), w(0x54), w(0x7b), w(0x94), \ ++ w(0x32), w(0xa6), w(0xc2), w(0x23), w(0x3d), w(0xee), w(0x4c), \ ++ w(0x95), w(0x0b), w(0x42), w(0xfa), w(0xc3), w(0x4e), w(0x08), \ ++ w(0x2e), w(0xa1), w(0x66), w(0x28), w(0xd9), w(0x24), w(0xb2), \ ++ w(0x76), w(0x5b), w(0xa2), w(0x49), w(0x6d), w(0x8b), w(0xd1), \ ++ w(0x25), w(0x72), w(0xf8), w(0xf6), w(0x64), w(0x86), w(0x68), \ ++ w(0x98), w(0x16), w(0xd4), w(0xa4), w(0x5c), w(0xcc), w(0x5d), \ ++ w(0x65), w(0xb6), w(0x92), w(0x6c), w(0x70), w(0x48), w(0x50), \ ++ w(0xfd), w(0xed), w(0xb9), w(0xda), w(0x5e), w(0x15), w(0x46), \ ++ w(0x57), w(0xa7), w(0x8d), w(0x9d), w(0x84), w(0x90), w(0xd8), \ ++ w(0xab), w(0x00), w(0x8c), w(0xbc), w(0xd3), w(0x0a), w(0xf7), \ ++ w(0xe4), w(0x58), w(0x05), w(0xb8), w(0xb3), w(0x45), w(0x06), \ ++ w(0xd0), w(0x2c), w(0x1e), w(0x8f), w(0xca), w(0x3f), w(0x0f), \ ++ w(0x02), w(0xc1), w(0xaf), w(0xbd), w(0x03), w(0x01), w(0x13), \ ++ w(0x8a), w(0x6b), w(0x3a), w(0x91), w(0x11), w(0x41), w(0x4f), \ ++ w(0x67), w(0xdc), w(0xea), w(0x97), w(0xf2), w(0xcf), w(0xce), \ ++ w(0xf0), w(0xb4), w(0xe6), w(0x73), w(0x96), w(0xac), w(0x74), \ ++ w(0x22), w(0xe7), w(0xad), w(0x35), w(0x85), w(0xe2), w(0xf9), \ ++ w(0x37), w(0xe8), w(0x1c), w(0x75), w(0xdf), w(0x6e), w(0x47), \ ++ w(0xf1), w(0x1a), w(0x71), w(0x1d), w(0x29), w(0xc5), w(0x89), \ ++ w(0x6f), w(0xb7), w(0x62), w(0x0e), w(0xaa), w(0x18), w(0xbe), \ ++ w(0x1b), w(0xfc), w(0x56), w(0x3e), w(0x4b), w(0xc6), w(0xd2), \ ++ w(0x79), w(0x20), w(0x9a), w(0xdb), w(0xc0), w(0xfe), w(0x78), \ ++ w(0xcd), w(0x5a), w(0xf4), w(0x1f), w(0xdd), w(0xa8), w(0x33), \ ++ w(0x88), w(0x07), w(0xc7), w(0x31), w(0xb1), w(0x12), w(0x10), \ ++ w(0x59), w(0x27), w(0x80), w(0xec), w(0x5f), w(0x60), w(0x51), \ ++ w(0x7f), w(0xa9), w(0x19), w(0xb5), w(0x4a), w(0x0d), w(0x2d), \ ++ w(0xe5), w(0x7a), w(0x9f), w(0x93), w(0xc9), w(0x9c), w(0xef), \ ++ w(0xa0), w(0xe0), w(0x3b), w(0x4d), w(0xae), w(0x2a), w(0xf5), \ ++ w(0xb0), w(0xc8), w(0xeb), w(0xbb), w(0x3c), w(0x83), w(0x53), \ ++ w(0x99), w(0x61), w(0x17), w(0x2b), w(0x04), w(0x7e), w(0xba), \ ++ w(0x77), w(0xd6), w(0x26), w(0xe1), w(0x69), w(0x14), w(0x63), \ ++ w(0x55), w(0x21), w(0x0c), w(0x7d) \ ++ } ++/* clang-format on */ ++ ++/* X Macro trick. See https://en.wikipedia.org/wiki/X_Macro */ ++#define SSE2NEON_AES_H0(x) (x) ++static const uint8_t _sse2neon_sbox[256] = SSE2NEON_AES_SBOX(SSE2NEON_AES_H0); ++static const uint8_t _sse2neon_rsbox[256] = SSE2NEON_AES_RSBOX(SSE2NEON_AES_H0); ++#undef SSE2NEON_AES_H0 ++ ++/* x_time function and matrix multiply function */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#define SSE2NEON_XT(x) (((x) << 1) ^ ((((x) >> 7) & 1) * 0x1b)) ++#define SSE2NEON_MULTIPLY(x, y) \ ++ (((y & 1) * x) ^ ((y >> 1 & 1) * SSE2NEON_XT(x)) ^ \ ++ ((y >> 2 & 1) * SSE2NEON_XT(SSE2NEON_XT(x))) ^ \ ++ ((y >> 3 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))) ^ \ ++ ((y >> 4 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))))) ++#endif ++ ++// In the absence of crypto extensions, implement aesenc using regular NEON ++// intrinsics instead. See: ++// https://www.workofard.com/2017/01/accelerated-aes-for-the-arm64-linux-kernel/ ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/ and ++// for more information. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ /* shift rows */ ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ /* sub bytes */ ++ // Here, we separate the whole 256-bytes table into 4 64-bytes tables, and ++ // look up each of the table. After each lookup, we load the next table ++ // which locates at the next 64-bytes. In the meantime, the index in the ++ // table would be smaller than it was, so the index parameters of ++ // `vqtbx4q_u8()` need to be added the same constant as the loaded tables. ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ // 'w-0x40' equals to 'vsubq_u8(w, vdupq_n_u8(0x40))' ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ /* mix columns */ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ /* add round key */ ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A implementation for a table-based AES */ ++#define SSE2NEON_AES_B2W(b0, b1, b2, b3) \ ++ (((uint32_t) (b3) << 24) | ((uint32_t) (b2) << 16) | \ ++ ((uint32_t) (b1) << 8) | (uint32_t) (b0)) ++// muliplying 'x' by 2 in GF(2^8) ++#define SSE2NEON_AES_F2(x) ((x << 1) ^ (((x >> 7) & 1) * 0x011b /* WPOLY */)) ++// muliplying 'x' by 3 in GF(2^8) ++#define SSE2NEON_AES_F3(x) (SSE2NEON_AES_F2(x) ^ x) ++#define SSE2NEON_AES_U0(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F2(p), p, p, SSE2NEON_AES_F3(p)) ++#define SSE2NEON_AES_U1(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p, p) ++#define SSE2NEON_AES_U2(p) \ ++ SSE2NEON_AES_B2W(p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p) ++#define SSE2NEON_AES_U3(p) \ ++ SSE2NEON_AES_B2W(p, p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p)) ++ ++ // this generates a table containing every possible permutation of ++ // shift_rows() and sub_bytes() with mix_columns(). ++ static const uint32_t ALIGN_STRUCT(16) aes_table[4][256] = { ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U0), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U1), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U2), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U3), ++ }; ++#undef SSE2NEON_AES_B2W ++#undef SSE2NEON_AES_F2 ++#undef SSE2NEON_AES_F3 ++#undef SSE2NEON_AES_U0 ++#undef SSE2NEON_AES_U1 ++#undef SSE2NEON_AES_U2 ++#undef SSE2NEON_AES_U3 ++ ++ uint32_t x0 = _mm_cvtsi128_si32(a); // get a[31:0] ++ uint32_t x1 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); // get a[63:32] ++ uint32_t x2 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xAA)); // get a[95:64] ++ uint32_t x3 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); // get a[127:96] ++ ++ // finish the modulo addition step in mix_columns() ++ __m128i out = _mm_set_epi32( ++ (aes_table[0][x3 & 0xff] ^ aes_table[1][(x0 >> 8) & 0xff] ^ ++ aes_table[2][(x1 >> 16) & 0xff] ^ aes_table[3][x2 >> 24]), ++ (aes_table[0][x2 & 0xff] ^ aes_table[1][(x3 >> 8) & 0xff] ^ ++ aes_table[2][(x0 >> 16) & 0xff] ^ aes_table[3][x1 >> 24]), ++ (aes_table[0][x1 & 0xff] ^ aes_table[1][(x2 >> 8) & 0xff] ^ ++ aes_table[2][(x3 >> 16) & 0xff] ^ aes_table[3][x0 >> 24]), ++ (aes_table[0][x0 & 0xff] ^ aes_table[1][(x1 >> 8) & 0xff] ^ ++ aes_table[2][(x2 >> 16) & 0xff] ^ aes_table[3][x3 >> 24])); ++ ++ return _mm_xor_si128(out, RoundKey); ++#endif ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // inverse mix columns ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & ++ 0x1b); // muliplying 'v' by 2 in GF(2^8) ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ // inverse mix columns ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ // sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A implementation */ ++ uint8_t v[16] = { ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 0)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 5)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 10)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 15)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 4)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 9)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 14)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 3)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 8)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 13)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 2)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 7)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 12)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 1)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 6)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 11)], ++ }; ++ ++ return vreinterpretq_m128i_u8(vld1q_u8(v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (int i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++#if defined(__aarch64__) ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ uint8x16_t v = vreinterpretq_u8_m128i(a); ++ uint8x16_t w; ++ ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ // multiplying 'v' by 2 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ return vreinterpretq_m128i_u8(w); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ vst1q_u8((uint8_t *) v, vreinterpretq_u8_m128i(a)); ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)); ++#endif ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++// ++// Emits the Advanced Encryption Standard (AES) instruction aeskeygenassist. ++// This instruction generates a round key for AES encryption. See ++// https://kazakov.life/2017/11/01/cryptocurrency-mining-on-ios-devices/ ++// for details. ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++#if defined(__aarch64__) ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); ++ uint8x16_t v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), _a); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), _a - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), _a - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), _a - 0xc0); ++ ++ uint32x4_t v_u32 = vreinterpretq_u32_u8(v); ++ uint32x4_t ror_v = vorrq_u32(vshrq_n_u32(v_u32, 8), vshlq_n_u32(v_u32, 24)); ++ uint32x4_t ror_xor_v = veorq_u32(ror_v, vdupq_n_u32(rcon)); ++ ++ return vreinterpretq_m128i_u32(vtrn2q_u32(v_u32, ror_xor_v)); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint32_t X1 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); ++ uint32_t X3 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); ++ for (int i = 0; i < 4; ++i) { ++ ((uint8_t *) &X1)[i] = _sse2neon_sbox[((uint8_t *) &X1)[i]]; ++ ((uint8_t *) &X3)[i] = _sse2neon_sbox[((uint8_t *) &X3)[i]]; ++ } ++ return _mm_set_epi32(((X3 >> 8) | (X3 << 24)) ^ rcon, X3, ++ ((X1 >> 8) | (X1 << 24)) ^ rcon, X1); ++#endif ++} ++#undef SSE2NEON_AES_SBOX ++#undef SSE2NEON_AES_RSBOX ++ ++#if defined(__aarch64__) ++#undef SSE2NEON_XT ++#undef SSE2NEON_MULTIPLY ++#endif ++ ++#else /* __ARM_FEATURE_CRYPTO */ ++// Implements equivalent of 'aesenc' by combining AESE (with an empty key) and ++// AESMC and then manually applying the real key as an xor operation. This ++// unfortunately means an additional xor op; the compiler should be able to ++// optimize this away for repeated calls however. See ++// https://blog.michaelbrase.com/2018/05/08/emulating-x86-aes-intrinsics-on-armv8-a ++// for more details. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesmcq_u8(vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(b))); ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesimcq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return _mm_xor_si128(vreinterpretq_m128i_u8(vaeseq_u8( ++ vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ RoundKey); ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8( ++ veorq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++ return vreinterpretq_m128i_u8(vaesimcq_u8(vreinterpretq_u8_m128i(a))); ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst." ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++ // AESE does ShiftRows and SubBytes on A ++ uint8x16_t u8 = vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)); ++ ++#ifndef _MSC_VER ++ uint8x16_t dest = { ++ // Undo ShiftRows step from AESE and extract X1 and X3 ++ u8[0x4], u8[0x1], u8[0xE], u8[0xB], // SubBytes(X1) ++ u8[0x1], u8[0xE], u8[0xB], u8[0x4], // ROT(SubBytes(X1)) ++ u8[0xC], u8[0x9], u8[0x6], u8[0x3], // SubBytes(X3) ++ u8[0x9], u8[0x6], u8[0x3], u8[0xC], // ROT(SubBytes(X3)) ++ }; ++ uint32x4_t r = {0, (unsigned) rcon, 0, (unsigned) rcon}; ++ return vreinterpretq_m128i_u8(dest) ^ vreinterpretq_m128i_u32(r); ++#else ++ // We have to do this hack because MSVC is strictly adhering to the CPP ++ // standard, in particular C++03 8.5.1 sub-section 15, which states that ++ // unions must be initialized by their first member type. ++ ++ // As per the Windows ARM64 ABI, it is always little endian, so this works ++ __n128 dest{ ++ ((uint64_t) u8.n128_u8[0x4] << 0) | ((uint64_t) u8.n128_u8[0x1] << 8) | ++ ((uint64_t) u8.n128_u8[0xE] << 16) | ++ ((uint64_t) u8.n128_u8[0xB] << 24) | ++ ((uint64_t) u8.n128_u8[0x1] << 32) | ++ ((uint64_t) u8.n128_u8[0xE] << 40) | ++ ((uint64_t) u8.n128_u8[0xB] << 48) | ++ ((uint64_t) u8.n128_u8[0x4] << 56), ++ ((uint64_t) u8.n128_u8[0xC] << 0) | ((uint64_t) u8.n128_u8[0x9] << 8) | ++ ((uint64_t) u8.n128_u8[0x6] << 16) | ++ ((uint64_t) u8.n128_u8[0x3] << 24) | ++ ((uint64_t) u8.n128_u8[0x9] << 32) | ++ ((uint64_t) u8.n128_u8[0x6] << 40) | ++ ((uint64_t) u8.n128_u8[0x3] << 48) | ++ ((uint64_t) u8.n128_u8[0xC] << 56)}; ++ ++ dest.n128_u32[1] = dest.n128_u32[1] ^ rcon; ++ dest.n128_u32[3] = dest.n128_u32[3] ^ rcon; ++ ++ return dest; ++#endif ++} ++#endif ++ ++/* Others */ ++ ++// Perform a carry-less multiplication of two 64-bit integers, selected from a ++// and b according to imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clmulepi64_si128 ++FORCE_INLINE __m128i _mm_clmulepi64_si128(__m128i _a, __m128i _b, const int imm) ++{ ++ uint64x2_t a = vreinterpretq_u64_m128i(_a); ++ uint64x2_t b = vreinterpretq_u64_m128i(_b); ++ switch (imm & 0x11) { ++ case 0x00: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_low_u64(b))); ++ case 0x01: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_low_u64(b))); ++ case 0x10: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_high_u64(b))); ++ case 0x11: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_high_u64(b))); ++ default: ++ abort(); ++ } ++} ++ ++FORCE_INLINE unsigned int _sse2neon_mm_get_denormals_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_DENORMALS_ZERO_ON : _MM_DENORMALS_ZERO_OFF; ++} ++ ++// Count the number of bits set to 1 in unsigned 32-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u32 ++FORCE_INLINE int _mm_popcnt_u32(unsigned int a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcount) ++ return __builtin_popcount(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits(a); ++#else ++ return (int) vaddlv_u8(vcnt_u8(vcreate_u8((uint64_t) a))); ++#endif ++#else ++ uint32_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ ++ vst1_u32(&count, count32x2_val); ++ return count; ++#endif ++} ++ ++// Count the number of bits set to 1 in unsigned 64-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u64 ++FORCE_INLINE int64_t _mm_popcnt_u64(uint64_t a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcountll) ++ return __builtin_popcountll(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits64(a); ++#else ++ return (int64_t) vaddlv_u8(vcnt_u8(vcreate_u8(a))); ++#endif ++#else ++ uint64_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ uint64x1_t count64x1_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ count64x1_val = vpaddl_u32(count32x2_val); ++ vst1_u64(&count, count64x1_val); ++ return count; ++#endif ++} ++ ++FORCE_INLINE void _sse2neon_mm_set_denormals_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_DENORMALS_ZERO_MASK) == _MM_DENORMALS_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Return the current 64-bit value of the processor's time-stamp counter. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=rdtsc ++FORCE_INLINE uint64_t _rdtsc(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t val; ++ ++ /* According to ARM DDI 0487F.c, from Armv8.0 to Armv8.5 inclusive, the ++ * system counter is at least 56 bits wide; from Armv8.6, the counter ++ * must be 64 bits wide. So the system counter could be less than 64 ++ * bits wide and it is attributed with the flag 'cap_user_time_short' ++ * is true. ++ */ ++#if defined(_MSC_VER) ++ val = _ReadStatusReg(ARM64_SYSREG(3, 3, 14, 0, 2)); ++#else ++ __asm__ __volatile__("mrs %0, cntvct_el0" : "=r"(val)); ++#endif ++ ++ return val; ++#else ++ uint32_t pmccntr, pmuseren, pmcntenset; ++ // Read the user mode Performance Monitoring Unit (PMU) ++ // User Enable Register (PMUSERENR) access permissions. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c14, 0" : "=r"(pmuseren)); ++ if (pmuseren & 1) { // Allows reading PMUSERENR for user mode code. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c12, 1" : "=r"(pmcntenset)); ++ if (pmcntenset & 0x80000000UL) { // Is it counting? ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c13, 0" : "=r"(pmccntr)); ++ // The counter is set up to count every 64th cycle ++ return (uint64_t) (pmccntr) << 6; ++ } ++ } ++ ++ // Fallback to syscall as we can't enable PMUSERENR in user mode. ++ struct timeval tv; ++ gettimeofday(&tv, NULL); ++ return (uint64_t) (tv.tv_sec) * 1000000 + tv.tv_usec; ++#endif ++} ++ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma pop_macro("ALIGN_STRUCT") ++#pragma pop_macro("FORCE_INLINE") ++#endif ++ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma GCC pop_options ++#endif ++ ++#endif diff --git a/recipes/fermi2/meta.yaml b/recipes/fermi2/meta.yaml index b67675546cd08..6ea3c9f39c9e7 100644 --- a/recipes/fermi2/meta.yaml +++ b/recipes/fermi2/meta.yaml @@ -3,11 +3,15 @@ package: version: "r193" build: - number: 7 + number: 8 + run_exports: + - {{ pin_subpackage('fermi2', max_pin="x.x.x") }} source: url: https://github.com/lh3/fermi2/archive/580ec8ffd30b73e33c7dda5b13a5bfb4281466ac.tar.gz sha256: 278fff4a0aa0203ce288a1b4d9c66245cfe38ac10fece321fed3da869a678536 + patches: + - fermi2-aarch64.patch # [linux and aarch64] requirements: build: @@ -20,7 +24,6 @@ requirements: - ropebwt2 - seqtk - perl - - make test: commands: @@ -32,3 +35,6 @@ about: license: Unknown summary: Fermi2 focuses on the exploration of FMD-index as a graph. +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/ffgc/meta.yaml b/recipes/ffgc/meta.yaml index d9d733600f766..11b7fa9bea0af 100644 --- a/recipes/ffgc/meta.yaml +++ b/recipes/ffgc/meta.yaml @@ -9,8 +9,10 @@ source: md5: 5449bfb702b5a4b3bad636aab8925506 build: - number: 0 + number: 1 noarch: generic + run_exports: + - {{ pin_subpackage("ffgc", max_pin="x") }} script: - "echo $PREFIX" - "mkdir -p $PREFIX/bin/" @@ -21,9 +23,9 @@ build: requirements: host: - - python >=3.7 + - python run: - - python >=3.7 # temporary fix for this bug: https://github.com/bioconda/bioconda-recipes/issues/40138 + - python - snakemake >=7.24 - biopython >=1.78 - networkx >=2.4 diff --git a/recipes/ffq/meta.yaml b/recipes/ffq/meta.yaml index 01085e234028f..f1b17c86690cf 100644 --- a/recipes/ffq/meta.yaml +++ b/recipes/ffq/meta.yaml @@ -1,5 +1,5 @@ {% set name = "ffq" %} -{% set version = "0.3.0" %} +{% set version = "0.3.1" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/f/ffq/ffq-{{ version }}.tar.gz - sha256: 247b1da25090519708e3811f849a612c56cdb41eda7845000490992d0a1d98b6 + sha256: 02a82b1130fa1d50558b8e3b9663cc2db1ad95498a7345783e69517f6391884b build: number: 0 @@ -15,6 +15,8 @@ build: - ffq=ffq.main:main script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " noarch: python + run_exports: + - {{ pin_subpackage('ffq', max_pin="x.x") }} requirements: host: diff --git a/recipes/fgbio-minimal/meta.yaml b/recipes/fgbio-minimal/meta.yaml index e4961234d0447..ec8d76b58f4d5 100644 --- a/recipes/fgbio-minimal/meta.yaml +++ b/recipes/fgbio-minimal/meta.yaml @@ -1,4 +1,4 @@ -{% set version="2.1.0" %} +{% set version = "2.3.0" %} package: name: fgbio-minimal @@ -6,11 +6,13 @@ package: source: url: https://github.com/fulcrumgenomics/fgbio/releases/download/{{ version }}/fgbio-{{ version }}.jar - sha256: 7a07d86b1263a89375c5796fec51ecc4bf31b3850ec205df8ae8c9ccba7ca314 + sha256: a0748b52a92403d88e7cf799368c313a05f89c5e3da04f7f8829593a603b7c69 build: noarch: generic number: 0 + run_exports: + - {{ pin_subpackage('fgbio-minimal', max_pin="x") }} requirements: run: @@ -25,6 +27,7 @@ test: about: home: https://github.com/fulcrumgenomics/fgbio license: MIT + license_family: MIT summary: A set of tools for working with genomic and high throughput sequencing data, including UMIs description: A set of tools for working with genomic and high throughput sequencing data, including UMIs. The 'fgbio-minimal' package offers an installation of fgbio without the 'r-base' dependency. diff --git a/recipes/fgbio/meta.yaml b/recipes/fgbio/meta.yaml index 1478e00d13907..496337cbe9149 100644 --- a/recipes/fgbio/meta.yaml +++ b/recipes/fgbio/meta.yaml @@ -1,4 +1,4 @@ -{% set version="2.1.0" %} +{% set version = "2.3.0" %} package: name: fgbio @@ -6,11 +6,13 @@ package: source: url: https://github.com/fulcrumgenomics/fgbio/releases/download/{{ version }}/fgbio-{{ version }}.jar - sha256: 7a07d86b1263a89375c5796fec51ecc4bf31b3850ec205df8ae8c9ccba7ca314 + sha256: a0748b52a92403d88e7cf799368c313a05f89c5e3da04f7f8829593a603b7c69 build: noarch: generic number: 0 + run_exports: + - {{ pin_subpackage('fgbio', max_pin="x") }} requirements: run: @@ -28,4 +30,5 @@ test: about: home: https://github.com/fulcrumgenomics/fgbio license: MIT + license_family: MIT summary: A set of tools for working with genomic and high throughput sequencing data, including UMIs diff --git a/recipes/fgpyo/meta.yaml b/recipes/fgpyo/meta.yaml index 57d971af0c167..69a4df4c53ebc 100644 --- a/recipes/fgpyo/meta.yaml +++ b/recipes/fgpyo/meta.yaml @@ -1,6 +1,5 @@ {% set name = "fgpyo" %} -{% set version = "0.1.0" %} - +{% set version = "0.7.1" %} package: name: {{ name|lower }} @@ -8,24 +7,29 @@ package: source: url: https://github.com/fulcrumgenomics/{{ name }}/archive/refs/tags/{{ version }}.tar.gz - sha256: 195dcc08580a1522417ed5399df70b9680c271eb7887b8990a81b54898e84585 + sha256: 0d0b0d6f2e365c136830e803e4a6d56fe20c6d615a4b857b423f19c51b700bab build: noarch: python number: 0 - script: {{ PYTHON }} -m pip install . -vv --no-deps + script: {{ PYTHON }} -m pip install . -vvv --no-build-isolation --no-deps + run_exports: + - {{ pin_subpackage('fgpyo', max_pin="x.x") }} requirements: host: - pip - - python >=3.7 + - python >=3.8 - poetry run: - - python >=3.7 - - typing_extensions >=3.7.4 #[py<38] - - typing_inspect >=0.3.1 #[py<38] + - python >=3.8 + - typing_extensions >=3.7.4 # [py > 311] - attrs >=19.3.0 - - pysam >=0.20.0 + - pysam >=0.22.0 + - pytest >=7.4.0 + run_constrained: + - sphinx 4.3.1 + - sphinx_rtd_theme >=1.3.0,<2.0.0 test: imports: @@ -35,7 +39,10 @@ about: home: https://pypi.org/project/fgpyo/ summary: Python bioinformatics and genomics library license: MIT + license_family: MIT license_file: LICENSE + dev_url: https://github.com/fulcrumgenomics/fgpyo + doc_url: https://fgpyo.readthedocs.io/en/latest/ extra: recipe-maintainers: diff --git a/recipes/fgsv/meta.yaml b/recipes/fgsv/meta.yaml index ddf5a0053b873..4d064dba5f553 100644 --- a/recipes/fgsv/meta.yaml +++ b/recipes/fgsv/meta.yaml @@ -1,5 +1,5 @@ -{% set version="0.1.1" %} -{% set sha256="e39b24710d80278b7528545b43ce8084e166614054bed55ca898fa79d4be0af9" %} +{% set version="0.2.0" %} +{% set sha256="c2f9536a677e7e99f251cada1338f611cea40477deca144f0c6928505755eb37" %} package: diff --git a/recipes/fgwas/build_failure.osx-64.yaml b/recipes/fgwas/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..c5f48d34786a1 --- /dev/null +++ b/recipes/fgwas/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 8b62cd09c38784d905fc61d00ce481d2b3a6035ab91957aa6f89fd5e77381237 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/fgwas-0.3.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/fgwas_1717522745650/work/conda_build.sh']' returned non-zero exit status 2. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/fgwas-0.3.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/fgwas-0.3.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/fgwas-0.3.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + checking whether the C compiler works... yes + checking for C compiler default output file name... a.out + checking for suffix of executables... + checking whether we are cross compiling... no + checking for suffix of object files... o + checking whether we are using the GNU C compiler... yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... yes + checking for a BSD-compatible install... /usr/bin/install -c + checking whether build environment is sane... yes + checking for a thread-safe mkdir -p... ./install-sh -c -d + checking for gawk... no + checking for mawk... no + checking for nawk... no + checking for awk... awk + checking whether make sets $(MAKE)... yes + checking for style of include used by make... GNU + checking whether make supports nested variables... yes + checking how to create a pax tar archive... gnutar + checking dependency style of x86_64-apple-darwin13.4.0-clang... gcc3 + checking for boostlib >= 1.42... yes + checking for x86_64-apple-darwin13.4.0-gcc... x86_64-apple-darwin13.4.0-clang + checking whether we are using the GNU C compiler... yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... yes + checking for x86_64-apple-darwin13.4.0-clang option to accept ISO C89... none needed + checking whether x86_64-apple-darwin13.4.0-clang understands -c and -o together... yes + checking dependency style of x86_64-apple-darwin13.4.0-clang... gcc3 + checking for gzopen in -lz... yes + checking for cos in -lm... yes + checking for cblas_dgemm in -lgslcblas... yes + checking for gsl_blas_dgemm in -lgsl... yes + checking that generated files are newer than configure... done + configure: creating ./config.status + config.status: creating Makefile + config.status: creating src/Makefile + config.status: creating config.h + config.status: config.h is unchanged + config.status: executing depfiles commands + make all-recursive + make[1]: Entering directory '$SRC_DIR' + Making all in src + make[2]: Entering directory '$SRC_DIR/src' + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/fgwas-0.3.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -MT CmdLine.o -MD -MP -MF .deps/CmdLine.Tpo -c -o CmdLine.o CmdLine.cpp + mv -f .deps/CmdLine.Tpo .deps/CmdLine.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/fgwas-0.3.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -MT fgwas.o -MD -MP -MF .deps/fgwas.Tpo -c -o fgwas.o fgwas.cpp + mv -f .deps/fgwas.Tpo .deps/fgwas.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/fgwas-0.3.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -MT gzstream.o -MD -MP -MF .deps/gzstream.Tpo -c -o gzstream.o gzstream.cpp + make[2]: Leaving directory '$SRC_DIR/src' + make[1]: Leaving directory '$SRC_DIR' +# Last 100 lines of the build log. diff --git a/recipes/fgwas/meta.yaml b/recipes/fgwas/meta.yaml index a557287143eb8..484d67530cf7b 100644 --- a/recipes/fgwas/meta.yaml +++ b/recipes/fgwas/meta.yaml @@ -9,7 +9,7 @@ source: sha256: 40340e7589a4965ad9f216f9f27d6b3ac72aadcc74e585652b1ea2993f580b61 build: - number: 7 + number: 8 requirements: build: diff --git a/recipes/fibertools-rs/build.sh b/recipes/fibertools-rs/build.sh index 1d66b9cf26634..0c518e5203032 100644 --- a/recipes/fibertools-rs/build.sh +++ b/recipes/fibertools-rs/build.sh @@ -1,76 +1,8 @@ #!/bin/bash -e - # # Set the desitnation for the libtorch files # -OUTDIR=${PREFIX}/share/${PKG_NAME}-${PKG_VERSION}-${PKG_BUILDNUM} -mkdir -p ${OUTDIR} ${OUTDIR}/bin ${PREFIX}/bin -OUTDIR=${PREFIX} - -# -# set up environment variables -# -export LIBTORCH=${OUTDIR} -export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${LIBTORCH}/lib -export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:${LIBTORCH}/lib - -# -# download pytorch libraries -# -export TORCH_VERSION="2.0.1" -export INSTALL_TYPE="cu118" # "cu117" or "cu118" or "cpu" -export INSTALL_TYPE="cpu" -if [[ ${target_platform} =~ linux.* ]]; then - export file=https://download.pytorch.org/libtorch/${INSTALL_TYPE}/libtorch-shared-with-deps-${TORCH_VERSION}%2B${INSTALL_TYPE}.zip - export LIBTORCH_CXX11_ABI=0 - curl $file --output ${PREFIX}/libtorch.zip -elif [[ ${target_platform} =~ osx.* ]]; then - # Add this becuase of this: https://twitter.com/nomad421/status/1619713549668065280 - export RUSTFLAGS="-C link-arg=-undefined -C link-arg=dynamic_lookup" - export file=https://download.pytorch.org/libtorch/cpu/libtorch-macos-${TORCH_VERSION}.zip - curl $file --output ${PREFIX}/libtorch.zip -fi - -# -# unpack the libtorch libs -# -pushd ${PREFIX} -unzip -q libtorch.zip -rm libtorch.zip -# give the libtorch things a different SONAME -# patchelf --set-soname $SONAME $F -popd - -# -# move libtorch to OUTDIR -# -if [ ${PREFIX} != ${OUTDIR} ]; then - mv ${PREFIX}/libtorch/* ${OUTDIR}/. -else - mkdir -p ${OUTDIR}/include ${OUTDIR}/share ${OUTDIR}/lib - mv ${PREFIX}/libtorch/lib/* ${OUTDIR}/lib/. - mv ${PREFIX}/libtorch/include/* ${OUTDIR}/include/. - mv ${PREFIX}/libtorch/share/* ${OUTDIR}/share/. -fi - -# -# fix conflict with libgomp -# -if [[ ${target_platform} =~ linux.* ]]; then - # this finally worked!!! getting rid of the pytorch version - rm -f ${OUTDIR}/lib/libgomp-a34b3233.so.1 - ln -s ${PREFIX}/lib/libgomp.so.1.0.0 ${OUTDIR}/lib/libgomp-a34b3233.so.1 - #rm -f ${OUTDIR}/lib/libcudart-d0da41ae.so.11.0 - #ln -s ${PREFIX}/lib/libcudart.so.11.* ${OUTDIR}/lib/libcudart-d0da41ae.so.11.0 - echo "Using the included libgomp" -fi -# -# TODO: Remove the following export when pinning is updated and we use -# {{ compiler('rust') }} in the recipe. -export \ - CARGO_NET_GIT_FETCH_WITH_CLI=true \ - CARGO_HOME="${BUILD_PREFIX}/.cargo" export BINDGEN_EXTRA_CLANG_ARGS="${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" # @@ -78,48 +10,24 @@ export BINDGEN_EXTRA_CLANG_ARGS="${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" # HOME=$(pwd) pushd ${PREFIX} -cargo install --all-features --no-track --verbose \ + +# remove cpu specifc cargo flags +pushd ${HOME} +sed 's/native/generic/g' .cargo/config.toml >tmp +mv tmp .cargo/config.toml +popd + +cargo install --no-track --verbose \ --root "${PREFIX}" --path "${HOME}" popd -# -# clean up the include files since they are not needed and there is a lot of them ~8,000 -# -rm -rf ${OUTDIR}/include/* -if [[ ${target_platform} =~ linux.* ]]; then - # clean up the static libraries since they are not needed - rm ${OUTDIR}/lib/*.a -fi +echo "Done building ft" 1>&2 # # test install # ft --help -# -# try patchelf -# -if [[ ${target_platform} =~ linux.* ]]; then - ldd "$(which ft)" - patchelf --print-needed $(which ft) - #for OLD in ${PREFIX}/lib/libgomp.so*; do - # NEW=${OUTDIR}/lib/libgomp-a34b3233.so.1 - # patchelf --debug --replace-needed $OLD $NEW ${PREFIX}/bin/ft - # patchelf --debug --replace-needed $(basename $OLD) $NEW ${PREFIX}/bin/ft - #done - #echo "after patchelf" - #patchelf --print-needed $(which ft) - #OLD=${OUTDIR}/lib/libtorch_cpu.so - #NEW=${OUTDIR}/lib/libmine.so.1 - #mv $OLD $NEW - #patchelf --replace-needed $OLD $NEW ${PREFIX}/bin/ft - #patchelf --replace-needed $(basename $OLD) $NEW ${PREFIX}/bin/ft - #patchelf --set-rpath \$ORIGIN/../lib ${PREFIX}/bin/ft - #ft --help - #ldd "$(which ft)" - #patchelf --print-needed $(which ft) -fi - # # test install on data # diff --git a/recipes/fibertools-rs/build_failure.linux-64.yaml b/recipes/fibertools-rs/build_failure.linux-64.yaml deleted file mode 100644 index 8f5fc2bb460ea..0000000000000 --- a/recipes/fibertools-rs/build_failure.linux-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: b174a9af23ec686e13e6e0fe058d229b43e22e070337f81076130ac3b1c05680 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - INFO (fibertools-rs,lib/libtorch.so): lib/libtorch_cuda_cpp.so found in this package - INFO (fibertools-rs,lib/libtorch.so): lib/libtorch_cpu.so found in this package - INFO (fibertools-rs,lib/libtorch.so): lib/libtorch_cuda_cu.so found in this package - INFO (fibertools-rs,lib/libcudnn_cnn_train.so.8): lib/libcudnn_ops_infer.so.8 found in this package - INFO (fibertools-rs,lib/libcudnn_cnn_train.so.8): lib/libcudnn_ops_train.so.8 found in this package - INFO (fibertools-rs,lib/libcudnn_cnn_train.so.8): lib/libcudnn_cnn_infer.so.8 found in this package - INFO (fibertools-rs,lib/libcudnn_cnn_train.so.8): lib/libcublas-2854e16e.so.11 found in this package - INFO (fibertools-rs,lib/libcudnn_cnn_train.so.8): lib/libcublasLt-b015978e.so.11 found in this package - INFO (fibertools-rs,lib/libcudnn_cnn_train.so.8): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/librt.so.1 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_15 - INFO (fibertools-rs,lib/libcudnn_cnn_train.so.8): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libpthread.so.0 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_15 - INFO (fibertools-rs,lib/libcudnn_cnn_train.so.8): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libdl.so.2 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_15 - INFO (fibertools-rs,lib/libcudnn_cnn_train.so.8): Needed DSO lib/libstdc.so.6 found in conda-forge::libstdcxx-ng-12.2.0-h46fd767_19 - INFO (fibertools-rs,lib/libcudnn_cnn_train.so.8): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libm.so.6 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_15 - INFO (fibertools-rs,lib/libcudnn_cnn_train.so.8): Needed DSO lib/libgcc_s.so.1 found in conda-forge::libgcc-ng-12.2.0-h65d4601_19 - INFO (fibertools-rs,lib/libcudnn_cnn_train.so.8): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libc.so.6 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_15 - INFO (fibertools-rs,lib/libcudnn_cnn_train.so.8): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/ld-linux-x86-64.so.2 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_15 - INFO (fibertools-rs,lib/libnvrtc-builtins-fed02928.so.11.6): Needed DSO lib/libstdc.so.6 found in conda-forge::libstdcxx-ng-12.2.0-h46fd767_19 - INFO (fibertools-rs,lib/libnvrtc-builtins-fed02928.so.11.6): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libm.so.6 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_15 - INFO (fibertools-rs,lib/libnvrtc-builtins-fed02928.so.11.6): Needed DSO lib/libgcc_s.so.1 found in conda-forge::libgcc-ng-12.2.0-h65d4601_19 - INFO (fibertools-rs,lib/libnvrtc-builtins-fed02928.so.11.6): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libc.so.6 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_15 - INFO (fibertools-rs,lib/libtorch_cuda_linalg.so): lib/libtorch_cpu.so found in this package - INFO (fibertools-rs,lib/libtorch_cuda_linalg.so): lib/libtorch_cuda.so found in this package - INFO (fibertools-rs,lib/libtorch_cuda_linalg.so): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libdl.so.2 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_15 - INFO (fibertools-rs,lib/libtorch_cuda_linalg.so): lib/libtorch_cuda_cpp.so found in this package - INFO (fibertools-rs,lib/libtorch_cuda_linalg.so): lib/libc10_cuda.so found in this package - INFO (fibertools-rs,lib/libtorch_cuda_linalg.so): lib/libc10.so found in this package - INFO (fibertools-rs,lib/libtorch_cuda_linalg.so): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libpthread.so.0 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_15 - INFO (fibertools-rs,lib/libtorch_cuda_linalg.so): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libm.so.6 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_15 - INFO (fibertools-rs,lib/libtorch_cuda_linalg.so): lib/libcublas-2854e16e.so.11 found in this package - INFO (fibertools-rs,lib/libtorch_cuda_linalg.so): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/librt.so.1 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_15 - INFO (fibertools-rs,lib/libtorch_cuda_linalg.so): lib/libtorch_cuda_cu.so found in this package - INFO (fibertools-rs,lib/libtorch_cuda_linalg.so): Needed DSO lib/libstdc.so.6 found in conda-forge::libstdcxx-ng-12.2.0-h46fd767_19 - INFO (fibertools-rs,lib/libtorch_cuda_linalg.so): Needed DSO lib/libgcc_s.so.1 found in conda-forge::libgcc-ng-12.2.0-h65d4601_19 - INFO (fibertools-rs,lib/libtorch_cuda_linalg.so): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libc.so.6 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_15 - INFO (fibertools-rs,lib/libtorch_cuda_linalg.so): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/ld-linux-x86-64.so.2 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_15 - INFO (fibertools-rs,lib/libtorch_cpu.so): lib/libgomp-a34b3233.so.1 found in this package - INFO (fibertools-rs,lib/libtorch_cpu.so): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libpthread.so.0 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_15 - INFO (fibertools-rs,lib/libtorch_cpu.so): lib/libc10.so found in this package - INFO (fibertools-rs,lib/libtorch_cpu.so): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/librt.so.1 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_15 - INFO (fibertools-rs,lib/libtorch_cpu.so): Needed DSO lib/libgcc_s.so.1 found in conda-forge::libgcc-ng-12.2.0-h65d4601_19 - INFO (fibertools-rs,lib/libtorch_cpu.so): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libdl.so.2 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_15 - INFO (fibertools-rs,lib/libtorch_cpu.so): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libm.so.6 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_15 - INFO (fibertools-rs,lib/libtorch_cpu.so): lib/libcudart-45da57e3.so.11.0 found in this package - INFO (fibertools-rs,lib/libtorch_cpu.so): Needed DSO lib/libstdc.so.6 found in conda-forge::libstdcxx-ng-12.2.0-h46fd767_19 - INFO (fibertools-rs,lib/libtorch_cpu.so): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libc.so.6 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_15 - INFO (fibertools-rs,lib/libtorch_cpu.so): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/ld-linux-x86-64.so.2 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_15 - WARNING (fibertools-rs): run-exports library package conda-forge::openssl-3.1.1-hd590300_1 in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to build/ignore_run_exports) - WARNING (fibertools-rs): run-exports library package conda-forge::gsl-2.7-he838d99_0 in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to build/ignore_run_exports) - Fixing permissions - INFO :: Time taken to mark (prefix) - 0 replacements in 0 files was 20.91 seconds - Files containing CONDA_PREFIX - ----------------------------- - bin/ft (binary): Patching - TEST START: /opt/conda/conda-bld/linux-64/fibertools-rs-0.1.4-ha48afa3_1.tar.bz2 - Renaming work directory '/opt/conda/conda-bld/fibertools-rs_1685546594028/work' to '/opt/conda/conda-bld/fibertools-rs_1685546594028/work_moved_fibertools-rs-0.1.4-ha48afa3_1_linux-64' - INFO:conda_build.utils:Renaming work directory '/opt/conda/conda-bld/fibertools-rs_1685546594028/work' to '/opt/conda/conda-bld/fibertools-rs_1685546594028/work_moved_fibertools-rs-0.1.4-ha48afa3_1_linux-64' - shutil.move(work)=/opt/conda/conda-bld/fibertools-rs_1685546594028/work, dest=/opt/conda/conda-bld/fibertools-rs_1685546594028/work_moved_fibertools-rs-0.1.4-ha48afa3_1_linux-64) - INFO:conda_build.utils:shutil.move(work)=/opt/conda/conda-bld/fibertools-rs_1685546594028/work, dest=/opt/conda/conda-bld/fibertools-rs_1685546594028/work_moved_fibertools-rs-0.1.4-ha48afa3_1_linux-64) - [34mReloading output folder: [0m[34m/opt/conda/[0m[34mconda-bld[0m - [?25l[2K[0G[] 0.0s - opt/conda/conda-bl.. 100% - opt/conda/conda-bl.. [2K[1A[2K[1A[2K[0Gopt/conda/conda-bld/linux-64 - opt/conda/conda-bld/noarch - [?25h - ## Package Plan ## - - environment location: /opt/conda/conda-bld/fibertools-rs_1685546594028/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac - - - The following NEW packages will be INSTALLED: - - _libgcc_mutex: 0.1-conda_forge conda-forge - _openmp_mutex: 4.5-2_gnu conda-forge - ca-certificates: 2023.5.7-hbcca054_0 conda-forge - cuda-cudart: 12.0.107-h59595ed_5 conda-forge - cuda-cudart_linux-64: 12.0.107-h59595ed_5 conda-forge - cuda-version: 12.0-hffde075_2 conda-forge - fibertools-rs: 0.1.4-ha48afa3_1 local - gsl: 2.7-he838d99_0 conda-forge - libblas: 3.9.0-16_linux64_openblas conda-forge - libcblas: 3.9.0-16_linux64_openblas conda-forge - libgcc-ng: 12.2.0-h65d4601_19 conda-forge - libgfortran-ng: 12.2.0-h69a702a_19 conda-forge - libgfortran5: 12.2.0-h337968e_19 conda-forge - libgomp: 12.2.0-h65d4601_19 conda-forge - libopenblas: 0.3.21-pthreads_h78a6416_3 conda-forge - libstdcxx-ng: 12.2.0-h46fd767_19 conda-forge - openssl: 3.1.1-hd590300_1 conda-forge - - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - export PREFIX=/opt/conda/conda-bld/fibertools-rs_1685546594028/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac - export SRC_DIR=/opt/conda/conda-bld/fibertools-rs_1685546594028/test_tmp - ft help - ft: error while loading shared libraries: libcudart-45da57e3.so.11.0: ELF load command address/offset not properly aligned - Tests failed for fibertools-rs-0.1.4-ha48afa3_1.tar.bz2 - moving package to /opt/conda/conda-bld/broken - WARNING:conda_build.build:Tests failed for fibertools-rs-0.1.4-ha48afa3_1.tar.bz2 - moving package to /opt/conda/conda-bld/broken - TESTS FAILED: fibertools-rs-0.1.4-ha48afa3_1.tar.bz2 -# Last 100 lines of the build log. diff --git a/recipes/fibertools-rs/conda_build_config.yaml b/recipes/fibertools-rs/conda_build_config.yaml deleted file mode 100644 index 08edf02f36afc..0000000000000 --- a/recipes/fibertools-rs/conda_build_config.yaml +++ /dev/null @@ -1 +0,0 @@ -# https://github.com/conda-forge/conda-forge-pinning-feedstock/blob/bd8ecffadbaa19077609ca7649b5ec60452ff83c/recipe/conda_build_config.yaml \ No newline at end of file diff --git a/recipes/fibertools-rs/meta.yaml b/recipes/fibertools-rs/meta.yaml index b885ea2f594a4..2a13e6f52bfd5 100644 --- a/recipes/fibertools-rs/meta.yaml +++ b/recipes/fibertools-rs/meta.yaml @@ -1,33 +1,19 @@ -{% set version = "0.3.2" %} +{% set version = "0.5.4" %} {% set name = "fibertools-rs" %} {% set build_number = "0" %} package: name: {{ name }} version: {{ version }} + +source: + url: https://github.com/fiberseq/fibertools-rs/archive/v{{ version }}.tar.gz + sha256: d0dc8523b9c0f2c2b368fb450d6cf6f45e13fb53bdbbd1847f1bb748fb5af42b build: run_exports: - - {{ pin_subpackage('fibertools-rs', max_pin="x") }} + - {{ pin_subpackage('fibertools-rs', max_pin="x.x") }} number: {{ build_number }} - detect_binary_files_with_prefix: False - # skip: True # [osx] - rpaths: - - lib/ - - share/{{ name }}-{{ version }}-{{ build_number }}/lib/ - missing_dso_whitelist: - - share/{{ name }}-{{ version }}-{{ build_number }}/lib/* - - "$RPATH/libgomp-a34b3233.so.1" - - "$RPATH/libcudart-d0da41ae.so.11.0" - #runpath_whitelist: - # - share/{{ name }}-{{ version }}-{{ build_number }}/lib/* - # overlinking_ignore_patterns: - # - share/{{ name }}-{{ version }}-{{ build_number }}/lib/* - - -source: - url: https://github.com/fiberseq/fibertools-rs/archive/v{{ version }}.tar.gz - sha256: 3607996fce7fe009e31b80b2f7d6fd6ddd152537428aa6506c24190c6f89d329 requirements: build: @@ -36,26 +22,34 @@ requirements: - {{ compiler('rust') }} - make - cmake + # all the host and run requirements match those needed for htslib + host: + - libcurl + - bzip2 + - xz + - zlib + - libdeflate + - openssl # [not osx] - unzip - curl - host: run: - -# libz -# $RPATH/libcuda.so.1 -# Needed DSO lib/libgomp.so.1 + - openssl # [not osx] test: commands: - ft help - about: home: https://github.com/fiberseq/fibertools-rs license: MIT + license_family: MIT summary: Mitchell Vollger's rust tools for fiberseq data. - + dev_url: https://github.com/fiberseq/fibertools-rs + doc_url: https://fiberseq.github.io/fibertools/fibertools.html extra: recipe-maintainers: - mrvollger + additional-platforms: + - osx-arm64 + # - linux-aarch64 # Dependency issue, see https://github.com/bioconda/bioconda-recipes/pull/48868 diff --git a/recipes/fido/build.sh b/recipes/fido/build.sh index 0aea3c28699f3..ee62480f0e04b 100644 --- a/recipes/fido/build.sh +++ b/recipes/fido/build.sh @@ -1,6 +1,8 @@ #!/bin/bash +set -xe + mkdir -p "${PREFIX}/bin" cd src/cpp sed -i.bak 's/\tg++/\t$(CXX)/' makefile -make BINPATH="${PREFIX}/bin" +make -j ${CPU_COUNT} BINPATH="${PREFIX}/bin" diff --git a/recipes/fido/meta.yaml b/recipes/fido/meta.yaml index 26c5c2c83c124..98053c0117123 100644 --- a/recipes/fido/meta.yaml +++ b/recipes/fido/meta.yaml @@ -7,8 +7,10 @@ source: md5: 6ee89316f492105a6fb06729475c37e0 build: - number: 6 + number: 7 skip: True # [osx] + run_exports: + - {{ pin_subpackage('fido', max_pin='x') }} requirements: build: @@ -26,3 +28,6 @@ about: license: MIT license summary: A method for protein identification in MS/MS proteomics. Think of it like a protein delivery dog. You bring it the scored matches between peptides and spectra, and it fetches a list of proteins ranked by posterior probability by doing clever tricks. +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/fiji-max_inscribed_circles/meta.yaml b/recipes/fiji-max_inscribed_circles/meta.yaml index 1548b969795c3..7e55a6d863130 100644 --- a/recipes/fiji-max_inscribed_circles/meta.yaml +++ b/recipes/fiji-max_inscribed_circles/meta.yaml @@ -1,5 +1,5 @@ {% set name = "fiji-max_inscribed_circles" %} -{% set version = "2.0.0" %} +{% set version = "2.1.0" %} package: name: {{ name | lower }} @@ -7,11 +7,13 @@ package: source: url: https://maven.scijava.org/service/local/repositories/releases/content/ch/epfl/biop/MaxInscribedCircles/{{ version }}/MaxInscribedCircles-{{ version }}.jar - sha256: de0fe5e71d493a45aff07d9c636172d83b2ace0600ffaa24ba8f8072825fdfa7 + sha256: 59346b24ed4d17570701cdb190d55e4862030720287379e194fd4db90fac3692 build: number: 0 noarch: generic + run_exports: + - {{ pin_subpackage ("fiji-max_inscribed_circles", max_pin="x") }} requirements: run: @@ -34,4 +36,4 @@ about: from the largest to the smallest. The code is written for Java 8, which is the currently supported Java version for Fiji and ImageJ. - dev_url: https://github.com/BIOP/ijp-max-inscribed-circles \ No newline at end of file + dev_url: https://github.com/BIOP/ijp-max-inscribed-circles diff --git a/recipes/fiji-omero_ij/meta.yaml b/recipes/fiji-omero_ij/meta.yaml index 4da65026380f9..fc132d9dea7b0 100644 --- a/recipes/fiji-omero_ij/meta.yaml +++ b/recipes/fiji-omero_ij/meta.yaml @@ -1,5 +1,5 @@ {% set name = "fiji-omero_ij" %} -{% set version = "5.8.3" %} +{% set version = "5.8.6" %} package: name: {{ name | lower }} @@ -7,7 +7,7 @@ package: source: url: https://github.com/ome/omero-insight/releases/download/v{{ version }}/omero_ij-{{ version }}-all.jar - sha256: bddf2d1d6ad4621a3b00231c8661803dc276378dcecb986bf9fcb907cdb3f6fd + sha256: d5e512dbc9125f21b904141bddbbe06768f279ac859eb5dd8206f725590617d1 build: number: 0 diff --git a/recipes/fiji-simple_omero_client/meta.yaml b/recipes/fiji-simple_omero_client/meta.yaml index 1a71aba5be3a5..ae6d29efb6ced 100644 --- a/recipes/fiji-simple_omero_client/meta.yaml +++ b/recipes/fiji-simple_omero_client/meta.yaml @@ -1,5 +1,5 @@ {% set name = "fiji-simple_omero_client" %} -{% set version = "5.16.0" %} +{% set version = "5.19.0" %} package: name: {{ name | lower }} @@ -7,7 +7,7 @@ package: source: url: https://github.com/GReD-Clermont/simple-omero-client/releases/download/{{ version }}/simple-omero-client-{{ version }}.jar - sha256: 577a1edcea00a4f3ad50360e8e53c0f25474b44ae21ffc20afbc757cc6c6c9d3 + sha256: 4d3e592b4d3bd2e9c692cab376d8a1b83ea29ba2a2d56d606ed5de09b5077734 build: number: 0 diff --git a/recipes/fiji/bunwarpj.sh b/recipes/fiji/bunwarpj.sh index b4a6a1b1adcf1..f595cfc165b1e 100644 --- a/recipes/fiji/bunwarpj.sh +++ b/recipes/fiji/bunwarpj.sh @@ -52,6 +52,6 @@ if [ "$jvm_mem_opts" == "" ]; then jvm_mem_opts="$default_jvm_mem_opts" fi -eval "$java" $jvm_mem_opts $jvm_prop_opts -cp "$JAR_DIR/ij-1.53q.jar:$PLUGINS_DIR/bUnwarpJ_-2.6.13.jar" "$bUnwarpJ" $pass_args +eval "$java" $jvm_mem_opts $jvm_prop_opts -cp "$JAR_DIR/ij-1.54f.jar:$PLUGINS_DIR/bUnwarpJ_-2.6.13.jar" "$bUnwarpJ" $pass_args exit diff --git a/recipes/fiji/meta.yaml b/recipes/fiji/meta.yaml index 29dabfb6eec60..32d3dc462697e 100644 --- a/recipes/fiji/meta.yaml +++ b/recipes/fiji/meta.yaml @@ -1,15 +1,18 @@ package: name: fiji - version: 20220414 + version: 20240614 source: - - url: https://downloads.imagej.net/fiji/archive/20220414-1745/fiji-linux64.zip # [linux] - md5: 6e34f59fd28978f59875b22b838c7b98 # [linux] - - url: https://downloads.imagej.net/fiji/archive/20220414-1745/fiji-macosx.zip # [osx] - md5: b2b5975e9a105302cebea88f2f96fd2c # [osx] + - url: https://downloads.imagej.net/fiji/archive/20240614-2117/fiji-linux64.zip # [linux] + md5: 7b210a29f56248252fc5f10eada6e470 # [linux] + - url: https://downloads.imagej.net/fiji/archive/20240614-2117/fiji-macosx.zip # [osx] + md5: f3d107a4569e230770ce7462ee8d94ea # [osx] build: - number: 1 + number: 0 + skip: True # [osx] + run_exports: + - {{ pin_subpackage("fiji", max_pin=None) }} requirements: host: @@ -27,7 +30,7 @@ test: about: home: http://fiji.sc - license: GNU General Public License + license: GPL-3.0-or-later summary: Fiji is an image processing package—a "batteries-included" distribution of ImageJ, bundling a lot of plugins which facilitate scientific image analysis. extra: diff --git a/recipes/filtlong/build.sh b/recipes/filtlong/build.sh index c16833531c8c5..a8e4c057d2c03 100644 --- a/recipes/filtlong/build.sh +++ b/recipes/filtlong/build.sh @@ -1,5 +1,7 @@ #!/bin/bash -make -j CXXFLAGS="${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}" +set -xe + +make -j ${CPU_COUNT} CXXFLAGS="${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}" install -d "${PREFIX}/bin" install bin/filtlong "${PREFIX}/bin/" diff --git a/recipes/filtlong/meta.yaml b/recipes/filtlong/meta.yaml index 2860ded47c62a..d6169fac82ae5 100644 --- a/recipes/filtlong/meta.yaml +++ b/recipes/filtlong/meta.yaml @@ -11,7 +11,9 @@ source: sha256: {{ sha256 }} build: - number: 3 + number: 4 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: build: @@ -30,3 +32,8 @@ about: home: https://github.com/rrwick/Filtlong license: GPL-3.0 summary: 'Filtlong is a tool for filtering long reads. It can take a set of long reads and produce a smaller, better subset. It uses both read length (longer is better) and read identity (higher is better) when choosing which reads pass the filter.' + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 \ No newline at end of file diff --git a/recipes/firecloud/meta.yaml b/recipes/firecloud/meta.yaml index 69939470b0787..3e7ed00063f71 100644 --- a/recipes/firecloud/meta.yaml +++ b/recipes/firecloud/meta.yaml @@ -1,5 +1,5 @@ {% set name = "firecloud" %} -{% set version = "0.16.35" %} +{% set version = "0.16.37" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 47cfacfcc69b06fa1809983faf6cc770b07bb74d3e9e4bab843c586c90d13b71 + sha256: 8033d40d225c3623ec8fe2e364b6b569966ff589b58950353a1776d0a7216fcb build: number: 0 @@ -16,19 +16,21 @@ build: - fissfc = firecloud.fiss:main_as_cli run_exports: - {{ pin_subpackage(name, max_pin="x.x") }} - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" requirements: host: - pip - - python + - python <3.12 run: - google-auth >=1.6.3 - google-cloud-storage - pydot - - python + - python <3.12 - requests - six + - nose + - pylint >=1.9.5 test: imports: @@ -37,12 +39,13 @@ test: - fissfc --help about: - home: https://github.com/broadinstitute/fiss + home: "https://github.com/broadinstitute/fiss" license: BSD-3-Clause license_family: BSD - summary: API and CLI for Broad Institute's Firecloud workspace/workflow management service - doc_url: https://software.broadinstitute.org/firecloud/ - dev_url: https://github.com/broadinstitute/fiss + license_file: LICENSE + summary: "API and CLI for Broad Institute's Firecloud workspace/workflow management service." + doc_url: "https://software.broadinstitute.org/firecloud" + dev_url: "https://github.com/broadinstitute/fiss" extra: recipe-maintainers: diff --git a/recipes/flams/meta.yaml b/recipes/flams/meta.yaml index 4ead7da071881..47602ac18f84f 100644 --- a/recipes/flams/meta.yaml +++ b/recipes/flams/meta.yaml @@ -1,5 +1,5 @@ {% set name = "flams" %} -{% set version = "1.1.3" %} +{% set version = "1.1.4" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/flams-{{ version }}.tar.gz - sha256: b028cd8e131add01eb012ded0ae7c48bf361f36ae14b477a3d193fc0da4ea5fa + sha256: 0d590d0b51f41bd47830136060f1c5d38475c1905d66a7c2ea11e417b7e641b5 build: entry_points: diff --git a/recipes/flashlfq/meta.yaml b/recipes/flashlfq/meta.yaml index 55483f0779d06..f2e8c55ecec23 100644 --- a/recipes/flashlfq/meta.yaml +++ b/recipes/flashlfq/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "1.2.5" %} -{% set sha256 = "a86e3153bc6833317a68eba1156a88bb84c37b247da55df94e57650a77034567" %} +{% set version = "1.2.6" %} +{% set sha256 = "4b5bede68303d3073c9884280c9e4215be0b08a1c7f6c2e90dd726845a41cec0" %} source: url: https://github.com/smith-chem-wisc/FlashLFQ/releases/download/{{version}}/FlashLFQ.zip diff --git a/recipes/flexi-formatter/meta.yaml b/recipes/flexi-formatter/meta.yaml new file mode 100644 index 0000000000000..497fd0006fc48 --- /dev/null +++ b/recipes/flexi-formatter/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "flexi-formatter" %} +{% set version = "0.0.2" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/flexi_formatter-{{ version }}.tar.gz + sha256: c3a054fe1b8a3f9ccb307559ef125236d3f6f134dd35be4f3862e8b136ebd8bd + +build: + entry_points: + - flexi_formatter = flexi_formatter.reformat_flexiplex_tags:app + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name|lower, max_pin='x.x') }} + +requirements: + host: + - python >=3 + - pip + - setuptools + run: + - python >=3 + - typer + - simplesam + - samtools + +test: + imports: + - flexi_formatter + - simplesam + commands: + - flexi_formatter --help + - samtools --help + requires: + - pip + +about: + home: "https://github.com/VIB-CCB-BioIT/flexiplex_tag_formatter" + summary: Moving flexiplex barcode and UMI to bam tags + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - ljwharbers diff --git a/recipes/flexiplex/meta.yaml b/recipes/flexiplex/meta.yaml index c0fdf2351e711..38167cafd3d3e 100644 --- a/recipes/flexiplex/meta.yaml +++ b/recipes/flexiplex/meta.yaml @@ -1,12 +1,12 @@ -{% set version = "0.97.1" %} +{% set version = "1.01" %} package: name: flexiplex version: {{ version }} source: - url: https://github.com/DavidsonGroup/flexiplex/releases/download/Version-{{ version }}/flexiplex-Version-{{ version }}.tar.gz - sha256: bb773f195d5a06ab65965c5a63f572cf3cd31cecbc0434d6b17f0c115e2f4b0c + url: https://github.com/DavidsonGroup/flexiplex/releases/download/v{{ version }}/flexiplex-{{ version }}.tar.gz + sha256: a5b3391aded069e15422a0c201d94ca1fdc02e9fec488608b082ff2f43ca3ec7 build: number: 1 diff --git a/recipes/flexynesis/meta.yaml b/recipes/flexynesis/meta.yaml new file mode 100644 index 0000000000000..ffa6b599019c7 --- /dev/null +++ b/recipes/flexynesis/meta.yaml @@ -0,0 +1,69 @@ +{% set name = "flexynesis" %} +{% set version = "0.2.10" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/flexynesis-{{ version }}.tar.gz + sha256: e6faea383272ee0bdd2792a2d11e4c1682d898eea09008990aa1132a93e72b34 + +build: + entry_points: + - flexynesis = flexynesis.__main__:main + - flexynesis-cli = flexynesis.cli:main + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage("flexynesis", max_pin="x.x.x") }} + +requirements: + host: + - python >=3.11,<3.12 + - setuptools + - pip + run: + - python >=3.11,<3.12 + - matplotlib-base + - numpy + - pandas + - lightning + - pyyaml + - scikit-optimize + - scipy + - seaborn + - pytorch + - torchvision + - tqdm + - umap-learn + - rich + - captum + - ipywidgets + - pytorch_geometric + - ipykernel + - lifelines + - papermill + - scikit-survival + - python-louvain + +test: + imports: + - flexynesis + commands: + - pip check + - flexynesis --help + requires: + - pip + +about: + home: https://github.com/BIMSBbioinfo/flexynesis + summary: "A deep-learning-based multi-omics bulk sequencing data integration suite with a focus on (pre-)clinical endpoint prediction." + license: OTHER + license_file: LICENSE + description: "This is a deep-learning based multi-omics bulk sequencing data integration suite with a focus on (pre-)clinical endpoint prediction." + +extra: + recipe-maintainers: + - bgruening diff --git a/recipes/flight-genome/meta.yaml b/recipes/flight-genome/meta.yaml index 98ec30f242755..cbad38fef8043 100644 --- a/recipes/flight-genome/meta.yaml +++ b/recipes/flight-genome/meta.yaml @@ -1,5 +1,5 @@ {% set name = "flight-genome" %} -{% set version = "1.6.2" %} +{% set version = "1.6.3" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: d07b920f3a6bfabb6190d27eb2cbe8ad8a1ddb40b0cbf62104d3adbb71c484a2 + sha256: 48a450da686d634aaed5d223d79481876836929892a5b730e42610d9b741dc6e build: number: 0 diff --git a/recipes/floria/build.sh b/recipes/floria/build.sh new file mode 100644 index 0000000000000..3662f6efb60db --- /dev/null +++ b/recipes/floria/build.sh @@ -0,0 +1,8 @@ +#!/bin/bash -euo + +# Add workaround for SSH-based Git connections from Rust/cargo. See https://github.com/rust-lang/cargo/issues/2078 for details. +# We set CARGO_HOME because we don't pass on HOME to conda-build, thus rendering the default "${HOME}/.cargo" defunct. +export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="$(pwd)/.cargo" + +# build statically linked binary with Rust +RUST_BACKTRACE=1 cargo install --verbose --path . --root $PREFIX diff --git a/recipes/floria/meta.yaml b/recipes/floria/meta.yaml new file mode 100644 index 0000000000000..ff7c268607c96 --- /dev/null +++ b/recipes/floria/meta.yaml @@ -0,0 +1,36 @@ +{% set version = "0.0.1" %} + +package: + name: floria + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage('floria', max_pin="x") }} + +source: + url: https://github.com/bluenote-1577/floria/archive/v{{ version }}.tar.gz + sha256: 48430783e411225a90282f65afb05a1e7e3d1d2bfb78fa838e359802530f4be1 + +requirements: + build: + - {{ compiler("cxx") }} + - rust >=1.62 + - make + - cmake >=3.12 + +test: + commands: + - floria --help + +about: + home: https://github.com/bluenote-1577/floria + license: MIT + summary: Floria is method for recovering strain-level haplotypes and clusters of reads from metagenomic short or long read sequencing data by haplotype phasing. + + +extra: + recipe-maintainers: + - bluenote-1577 + diff --git a/recipes/flumut/meta.yaml b/recipes/flumut/meta.yaml new file mode 100644 index 0000000000000..43f99fbad2427 --- /dev/null +++ b/recipes/flumut/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "flumut" %} +{% set version = "0.6.3" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/flumut-{{ version }}.tar.gz + sha256: 2feb731cc53316c0ede3f8f82d31c35d9b58d3b27fcffa0d6d35002d88b22c17 + +build: + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + entry_points: + - flumut = flumut.cli:cli + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + number: 0 + +requirements: + host: + - python >=3.7 + - pip + run: + - python >=3.7 + - click >=8.0.0 + - flumutdb >=6.0 + - biopython >=1.81 + - openpyxl >=3.1.2 + - importlib-resources >=1.3 + +test: + imports: + - flumut + commands: + - flumut --help + - flumut --update + +about: + home: https://github.com/izsvenezie-virology/FluMut + summary: A tool to search for molecular markers with potential impact on the biological characteristics of Influenza A viruses of the A(H5N1) subtype. + license: AGPL-3.0-or-later + license_family: AGPL + license_file: LICENSE + +extra: + recipe-maintainers: + - EdoardoGiussani + - AlexSartori diff --git a/recipes/flumutdb/meta.yaml b/recipes/flumutdb/meta.yaml new file mode 100644 index 0000000000000..d344a18a237cf --- /dev/null +++ b/recipes/flumutdb/meta.yaml @@ -0,0 +1,43 @@ +{% set name = "flumutdb" %} +{% set version = "6.3" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/flumutdb-{{ version }}.tar.gz + + sha256: a98b7eaf5c821129b8cdb9d740d00d9ecb87f5d6c253112de8105713c0e1a732 + +build: + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + number: 0 + +requirements: + host: + - python >=3.7 + - pip + run: + - python >=3.7 + +test: + imports: + - flumutdb + commands: + - python -c "import flumutdb" + +about: + home: https://github.com/izsvenezie-virology/FluMutDB + summary: Utility module for FluMut database. + license: AGPL-3.0-or-later + license_family: AGPL + license_file: LICENSE + +extra: + recipe-maintainers: + - EdoardoGiussani + - AlexSartori diff --git a/recipes/flye/0001-Makefile-aarch64.patch b/recipes/flye/0001-Makefile-aarch64.patch new file mode 100644 index 0000000000000..c408cad27e3e3 --- /dev/null +++ b/recipes/flye/0001-Makefile-aarch64.patch @@ -0,0 +1,15 @@ +diff --git a/Makefile b/Makefile +index 75f62ae..91b9571 100644 +--- a/Makefile ++++ b/Makefile +@@ -16,6 +16,10 @@ ifeq ($(shell uname -m),arm64) + export aarch64=1 + endif + ++ifeq ($(shell uname -m),aarch64) ++ export aarch64=1 ++endif ++ + .PHONY: clean all profile debug minimap2 samtools + + .DEFAULT_GOAL := all diff --git a/recipes/flye/build.sh b/recipes/flye/build.sh index 371f8f3d1246c..f40332d3ed6b5 100644 --- a/recipes/flye/build.sh +++ b/recipes/flye/build.sh @@ -1,22 +1,26 @@ -#!/bin/bash +#!/bin/bash -euo #zlib headers for minimap sed -i.bak 's/CFLAGS=/CFLAGS+=/' lib/minimap2/Makefile sed -i.bak 's/INCLUDES=/INCLUDES+=/' lib/minimap2/Makefile -export CFLAGS="-L$PREFIX/lib" +export CFLAGS="${CFLAGS} -O3 -L$PREFIX/lib" export INCLUDES="-I$PREFIX/include" +rm -rf lib/minimap2/*.bak + #zlib headers for flye binaries -export CXXFLAGS="-I$PREFIX/include" -export LDFLAGS="-L$PREFIX/lib" +export CXXFLAGS="$CXXFLAGS -O3 -I$PREFIX/include" +export LDFLAGS="$LDFLAGS -L$PREFIX/lib" #install_name_tool error fix if [[ "$(uname)" == Darwin ]]; then export LDFLAGS="$LDFLAGS -headerpad_max_install_names" fi -#dynamic flag is needed for backtrace printing, +#dynamic flag is needed for backtrace printing, #but it seems it fails OSX build sed -i.bak 's/-rdynamic//' src/Makefile -$PYTHON setup.py install --single-version-externally-managed --record record.txt +rm -rf src/*.bak + +${PYTHON} -m pip install --no-deps --no-build-isolation --no-cache-dir . -vvv diff --git a/recipes/flye/meta.yaml b/recipes/flye/meta.yaml index 708a33bcce936..74f66f83a7c9b 100644 --- a/recipes/flye/meta.yaml +++ b/recipes/flye/meta.yaml @@ -1,40 +1,57 @@ -{% set version = "2.9.3" %} +{% set name = "flye" %} +{% set version = "2.9.5" %} +{% set sha256 = "7b384266d83b1e66bcaf82d49d35ac6c587bad9146e8f3b752a220291f6b1a6f" %} package: - name: flye + name: {{ name }} version: {{ version }} source: url: https://github.com/fenderglass/Flye/archive/{{ version }}.tar.gz - sha256: 09580390ed0558c131ca0b836a2374d3cc7993cba2a6500024c2ee1d96666edc + sha256: {{ sha256 }} + patches: + - 0001-Makefile-aarch64.patch build: - number: 0 + number: 1 + entry_points: + - flye = flye.main:main run_exports: - - {{ pin_subpackage("flye", max_pin="x.x") }} + - {{ pin_subpackage("flye", max_pin="x") }} + requirements: build: - {{ compiler('cxx') }} - make host: - python - - setuptools + - pip - zlib run: - python - - setuptools - -extra: - skip-lints: - - uses_setuptools #uses pkg_resources + - setuptools # [osx and arm64] test: commands: - - flye -h | grep Assembly - #skip failing tests for now, some kind of trouble with minimap2 + - flye -h | grep "Assembly" - python -c "import flye.tests.test_toy as t; t.main()" about: - home: https://github.com/fenderglass/Flye/ - license: BSD-3-Clause - summary: Fast and accurate de novo assembler for single molecule sequencing reads + home: "https://github.com/fenderglass/Flye" + license: "BSD-3-Clause" + license_family: BSD + license_file: LICENSE + summary: "A fast and accurate de novo assembler for single molecule sequencing reads using repeat graphs." + doc_url: "https://github.com/fenderglass/Flye/blob/flye/docs/USAGE.md" + dev_url: "https://github.com/fenderglass/Flye" + +extra: + additional-platforms: + - osx-arm64 + - linux-aarch64 + identifiers: + - biotools:Flye + - usegalaxy-eu:flye + - doi:10.1038/s41592-020-00971-x + - doi:10.1038/s41587-019-0072-8 + - doi:10.1073/pnas.1604560113 diff --git a/recipes/foldcomp/meta.yaml b/recipes/foldcomp/meta.yaml index e27989971aa76..445c78bf0891f 100644 --- a/recipes/foldcomp/meta.yaml +++ b/recipes/foldcomp/meta.yaml @@ -1,12 +1,14 @@ -{% set version = "0.0.5" %} -{% set sha256 = "f4997c67023946287a3958866a75a9776978d533ec8cbcb1b6ccc8b2c081d0b2" %} +{% set version = "0.0.7" %} +{% set sha256 = "34cf6df7bb48f6bdd5c94337ddb1e1f16eafead841da8afed62dac1b5b8a9467" %} package: name: foldcomp version: {{ version }} build: - number: 2 + number: 1 + run_exports: + - {{ pin_subpackage('foldcomp', max_pin="x.x") }} source: url: https://github.com/steineggerlab/foldcomp/archive/v{{ version }}.tar.gz @@ -31,10 +33,16 @@ test: about: home: https://github.com/steineggerlab/foldcomp - license: GPLv3 + license: GPL-3.0-or-later + license_family: GPL3 license_file: LICENSE.txt summary: "Foldcomp: a library and format for compressing and indexing large protein structure sets" extra: identifiers: - - doi:10.1101/2022.12.09.519715 + - doi:10.1093/bioinformatics/btad153 + recipe-maintainers: + - milot-mirdita + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/foldmason/build.sh b/recipes/foldmason/build.sh new file mode 100644 index 0000000000000..b06956020200b --- /dev/null +++ b/recipes/foldmason/build.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +ARCH_BUILD="" +case $(uname -m) in + x86_64) ARCH_BUILD="-DHAVE_SSE4_1=1" ;; + arm64|aarch64) ARCH_BUILD="-DHAVE_ARM8=1" ;; +esac + +if [ -z "${ARCH_BUILD}" ]; then + echo "Invalid architecture" + exit 1 +fi + +mkdir build +cd build +cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" -DHAVE_TESTS=0 -DHAVE_MPI=0 ${ARCH_BUILD} -DVERSION_OVERRIDE="${PKG_VERSION}" .. +make -j${CPU_COUNT} ${VERBOSE_CM} +make install diff --git a/recipes/foldmason/meta.yaml b/recipes/foldmason/meta.yaml new file mode 100644 index 0000000000000..1bcad68e907a3 --- /dev/null +++ b/recipes/foldmason/meta.yaml @@ -0,0 +1,58 @@ +{% set version = "1-763a428" %} +{% set sha256 = "5ecae4918bd2a555e760a3518342cea3fbba8efee17d0de021c68d823c57dc39" %} + +package: + name: foldmason + version: {{ version|replace("-", ".") }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage('foldmason', max_pin="x") }} + +source: + url: https://github.com/steineggerlab/foldmason/archive/{{ version }}.tar.gz + sha256: {{ sha256 }} + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - {{ compiler('rust') }} + - cmake + - make + - llvm-openmp # [osx] + - libgomp # [linux] + host: + - perl + - gawk + - zlib + - bzip2 + run: + - aria2 + - wget + - gawk + - zlib + - bzip2 + +test: + commands: + - foldmason > /dev/null + +about: + home: https://github.com/steineggerlab/foldmason + summary: "Multiple Protein Structure Alignment at Scale with FoldMason" + license: GPL-3 + license_family: GPL + license_file: LICENSE.md + +extra: + identifiers: + - biotools:foldmason + recipe-maintainers: + - gamcil + - milot-mirdita + - martin-steinegger + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/foldseek/build.sh b/recipes/foldseek/build.sh index 0d987840efe4b..b06956020200b 100644 --- a/recipes/foldseek/build.sh +++ b/recipes/foldseek/build.sh @@ -1,8 +1,18 @@ -#!/bin/bash -e +#!/bin/bash + +ARCH_BUILD="" +case $(uname -m) in + x86_64) ARCH_BUILD="-DHAVE_SSE4_1=1" ;; + arm64|aarch64) ARCH_BUILD="-DHAVE_ARM8=1" ;; +esac + +if [ -z "${ARCH_BUILD}" ]; then + echo "Invalid architecture" + exit 1 +fi mkdir build cd build -cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" -DHAVE_TESTS=0 -DHAVE_MPI=0 -DHAVE_SSE4_1=1 -DVERSION_OVERRIDE="${PKG_VERSION}" .. +cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" -DHAVE_TESTS=0 -DHAVE_MPI=0 ${ARCH_BUILD} -DVERSION_OVERRIDE="${PKG_VERSION}" .. make -j${CPU_COUNT} ${VERBOSE_CM} make install - diff --git a/recipes/foldseek/fix-rust-1.79.patch b/recipes/foldseek/fix-rust-1.79.patch new file mode 100644 index 0000000000000..77524bbd94b5d --- /dev/null +++ b/recipes/foldseek/fix-rust-1.79.patch @@ -0,0 +1,68 @@ +commit ca58f9b36a02d281f4971484e38ffb557c28d093 +Author: Milot Mirdita +Date: Sun Jun 16 18:21:18 2024 +0900 + + Rename block-aligner-c to block_aligner_c to fix rust 1.79 breaking foldseek + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0132f903d6..f109d21c24 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -77,7 +77,7 @@ corrosion_import_crate( + ) + include_directories(lib/block-aligner/c) + if(EMSCRIPTEN) +- corrosion_add_target_local_rustflags(block-aligner-c "-Clink-args=--no-entry -sRELOCATABLE=1") ++ corrosion_add_target_local_rustflags(block_aligner_c "-Clink-args=--no-entry -sRELOCATABLE=1") + endif() + + set(CANDLE_FEATURE "") +diff --git a/lib/block-aligner/c/Cargo.toml b/lib/block-aligner/c/Cargo.toml +index 53dd259db6..6b53bfcb39 100644 +--- a/lib/block-aligner/c/Cargo.toml ++++ b/lib/block-aligner/c/Cargo.toml +@@ -1,7 +1,7 @@ + # Minimal Cargo.toml to avoid downloading dependencies. + + [package] +-name = "block-aligner-c" ++name = "block_aligner_c" + version = "0.4.0" + authors = ["c0deb0t "] + edition = "2018" +diff --git a/lib/block-aligner/c/Makefile b/lib/block-aligner/c/Makefile +index f7a6d9d389..70440fcd8b 100644 +--- a/lib/block-aligner/c/Makefile ++++ b/lib/block-aligner/c/Makefile +@@ -7,7 +7,7 @@ all: example align_prefix align_local + + block_aligner: + cargo build --release --features simd_avx2 --offline +- cbindgen --config cbindgen.toml --crate block-aligner-c --output block_aligner.h --quiet . ++ cbindgen --config cbindgen.toml --crate block_aligner_c --output block_aligner.h --quiet . + + example: block_aligner example.c + $(CC) $(CFLAGS) -o example example.c +diff --git a/lib/block-aligner/c/cbindgen.toml b/lib/block-aligner/c/cbindgen.toml +index a5b4e8bb82..1fa8471be7 100644 +--- a/lib/block-aligner/c/cbindgen.toml ++++ b/lib/block-aligner/c/cbindgen.toml +@@ -9,4 +9,4 @@ after_includes = "#define ALIGNED(n) __attribute__ ((aligned(n)))" + aligned_n = "ALIGNED" + + [parse] +-expand = ["block-aligner-c"] ++expand = ["block_aligner_c"] +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 0f6fdd0482..7ebbe3f71d 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -13,7 +13,7 @@ add_library(foldseek-framework + FoldseekBase.cpp + ) + mmseqs_setup_derived_target(foldseek-framework) +-target_link_libraries(foldseek-framework gemmiwrapper 3di pulchra kerasify tmalign block-aligner-c) ++target_link_libraries(foldseek-framework gemmiwrapper 3di pulchra kerasify tmalign block_aligner_c) + if(ENABLE_PROSTT5) + target_link_libraries(foldseek-framework cprostt5) + target_compile_definitions(foldseek-framework PUBLIC -DHAVE_PROSTT5=1) diff --git a/recipes/foldseek/meta.yaml b/recipes/foldseek/meta.yaml index 1c73a8fb35244..1c7ed4957e7f1 100644 --- a/recipes/foldseek/meta.yaml +++ b/recipes/foldseek/meta.yaml @@ -1,18 +1,21 @@ -{% set version = "8-ef4e960" %} -{% set sha256 = "c74d02c4924d20275cc567783b56fff10e76ed67f3d642f53c283f67c4180a1e" %} +{% set version = "9-427df8a" %} +{% set sha256 = "b17d2d85b49a8508f79ffd8b15e54afc5feef5f3fb0276a291141ca5dbbbe8bc" %} package: name: foldseek version: {{ version|replace("-", ".") }} build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage('foldseek', max_pin="x") }} source: url: https://github.com/steineggerlab/foldseek/archive/{{ version }}.tar.gz sha256: {{ sha256 }} + patches: + # remove for next release + - fix-rust-1.79.patch requirements: build: @@ -49,7 +52,12 @@ about: extra: identifiers: - doi:10.1038/s41587-023-01773-0 + - doi:10.1038/s41586-023-06510-w + - doi:10.1101/2024.04.14.589414 - biotools:foldseek recipe-maintainers: - milot-mirdita - martin-steinegger + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/forgi/meta.yaml b/recipes/forgi/meta.yaml index a63007775c06e..ed56cc314e76a 100644 --- a/recipes/forgi/meta.yaml +++ b/recipes/forgi/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "2.2.2" %} +{% set version = "2.2.3" %} package: name: forgi @@ -6,12 +6,14 @@ package: source: url: https://github.com/ViennaRNA/forgi/archive/v{{ version }}.tar.gz - sha256: d1798d0aab18052dcbc0d0186241324d750781ca5af58fe7ef94b1804827aa63 + sha256: 18d12dd2230406b27efd4ed376c7946b1664b7d99a31cea793b2d36b361d6b4c build: number: 1 - script: python -m pip install --no-deps --ignore-installed . - skip: True # [py < 36 or py > 39] + script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation . -vvv + skip: True # [py < 310 or py > 311] + run_exports: + - {{ pin_subpackage('forgi', max_pin="x") }} requirements: build: @@ -19,11 +21,11 @@ requirements: host: - python - pip - - numpy + - numpy >=1.10.0 - cython run: - python - - numpy >=1.10.0 + - {{ pin_compatible('numpy') }} - scipy >=0.19.1 - future - networkx >=2.0 @@ -40,6 +42,8 @@ test: about: home: https://viennarna.github.io/forgi/ - license: GPL 3.0 + license: GPL-3.0-or-later + license_family: GPL3 license_file: LICENSE summary: RNA Graph Library + dev_url: https://github.com/ViennaRNA/forgi diff --git a/recipes/fq/meta.yaml b/recipes/fq/meta.yaml index a4e3c0e00dae3..4c6f5e690814b 100644 --- a/recipes/fq/meta.yaml +++ b/recipes/fq/meta.yaml @@ -1,6 +1,6 @@ {% set name = "fq" %} -{% set version = "0.11.0" %} -{% set sha256 = "9bd87c66f230ad8bdd29d1220d0a7079d4d2c53df6c2ad33f4e5d845ece63c78" %} +{% set version = "0.12.0" %} +{% set sha256 = "d17ef77d2f57ace316a7b35d910c5cd73be2a0d70ec7fcd31f2d0e3afbe1273c" %} package: name: {{ name|lower }} @@ -33,6 +33,8 @@ about: validating FASTQ files. extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - claymcleod - Midnighter diff --git a/recipes/fqtk/build.sh b/recipes/fqtk/build.sh index 403679dd60ea7..9a2b15637fd93 100644 --- a/recipes/fqtk/build.sh +++ b/recipes/fqtk/build.sh @@ -1,11 +1,7 @@ #!/bin/bash -e -# TODO: Remove the following export when pinning is updated and we use -# {{ compiler('rust') }} in the recipe. -export \ - CARGO_NET_GIT_FETCH_WITH_CLI=true \ - CARGO_HOME="${BUILD_PREFIX}/.cargo" - export BINDGEN_EXTRA_CLANG_ARGS="${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" +# build statically linked binary with Rust +RUST_BACKTRACE=1 cargo install --no-track --verbose --root "${PREFIX}" --path . diff --git a/recipes/fqtk/meta.yaml b/recipes/fqtk/meta.yaml index dce25b0d49c3e..575e3f00fb789 100644 --- a/recipes/fqtk/meta.yaml +++ b/recipes/fqtk/meta.yaml @@ -1,38 +1,44 @@ {% set name = "fqtk" %} -{% set version = "0.3.0" %} +{% set version = "0.3.1" %} package: name: {{ name }} version: {{ version }} -build: - number: 0 - source: url: https://github.com/fulcrumgenomics/{{ name }}/archive/v{{ version }}.tar.gz - sha256: b03c993e5705d2e764ee696559ed31002b04f036ad103e64c18659aa309cbc6b + sha256: f64598b7493b2c87fe8b17330c137c98eb66e352f3648809e4128ea25f300a2e + +build: + number: 1 + run_exports: + - {{ pin_subpackage('fqtk', max_pin="x.x") }} requirements: build: - {{ compiler('cxx') }} - - rust >=1.60 + - {{ compiler('rust') }} - pkg-config - make - cmake - host: - run: test: commands: - fqtk --help about: - home: https://github.com/fulcrumgenomics/{{ name }} + home: "https://github.com/fulcrumgenomics/{{ name }}" license: MIT + license_family: MIT license_file: LICENSE - summary: A toolkit for working with FASTQ files. + summary: "A toolkit for working with FASTQ files." + dev_url: "https://github.com/fulcrumgenomics/{{ name }}" + doc_url: "https://github.com/fulcrumgenomics/fqtk/blob/v{{ version }}/README.md" extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - NatPRoach - nh13 diff --git a/recipes/fqtools/meta.yaml b/recipes/fqtools/meta.yaml index 117b434e6e2b6..3caa804144dec 100644 --- a/recipes/fqtools/meta.yaml +++ b/recipes/fqtools/meta.yaml @@ -7,7 +7,7 @@ package: version: {{ version }} build: - number: 12 + number: 13 source: url: https://github.com/alastair-droop/{{ name|lower }}/archive/986e451.tar.gz diff --git a/recipes/fraggenescan/build.sh b/recipes/fraggenescan/build.sh index c612190e366be..5812532184690 100644 --- a/recipes/fraggenescan/build.sh +++ b/recipes/fraggenescan/build.sh @@ -1,10 +1,12 @@ #!/bin/bash +set -xe + mkdir -p $PREFIX/bin/ make clean # There are .o files in the tarball! -make CC=${CC} -make fgs CC=${CC} +make CC=${CC} -j ${CPU_COUNT} +make fgs CC=${CC} -j ${CPU_COUNT} sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' $SRC_DIR/run_FragGeneScan.pl chmod a+x $SRC_DIR/*FragGeneScan* diff --git a/recipes/fraggenescan/conda_build_config.yaml b/recipes/fraggenescan/conda_build_config.yaml new file mode 100644 index 0000000000000..152ca169f84fa --- /dev/null +++ b/recipes/fraggenescan/conda_build_config.yaml @@ -0,0 +1,5 @@ +c_compiler: + - clangxx # [osx] +c_compiler_version: + - 15 #[osx] + diff --git a/recipes/fraggenescan/meta.yaml b/recipes/fraggenescan/meta.yaml index 4ee4f6773a923..a4006302e1b72 100644 --- a/recipes/fraggenescan/meta.yaml +++ b/recipes/fraggenescan/meta.yaml @@ -11,7 +11,9 @@ source: sha256: {{ sha256 }} build: - number: 6 + number: 7 + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} requirements: build: @@ -35,8 +37,10 @@ about: assemblies or complete genomes. extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - keuv-grvl identifiers: - doi:10.1093/nar/gkq747 - - biotools:fraggenescan + - biotools:fraggenescan \ No newline at end of file diff --git a/recipes/fragpipe/build.sh b/recipes/fragpipe/build.sh new file mode 100644 index 0000000000000..9ea5f09a40436 --- /dev/null +++ b/recipes/fragpipe/build.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +# Copy entire FragPipe installation including workflows into share location. +TARGET="$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM" +mkdir -p "$TARGET" + +# DIA-NN license is currently incompatible with bioconda +rm -rf fragpipe_source/tools/diann{,_so} +rm -rf fragpipe_source/tools/diann{,_so} +cp -rp fragpipe_source/* "$TARGET" + +# Copy wrapper script, which checks license keys, into bin. +mkdir "$PREFIX/bin" +cp "$RECIPE_DIR/fragpipe" "$PREFIX/bin" + +# Copy Philosopher installation into share and link to bin. +PHILOSOPHER_DIR="$TARGET/philosopher" +mkdir "$PHILOSOPHER_DIR" +cp philosopher_source/philosopher philosopher_source/philosopher.yml "$PHILOSOPHER_DIR" +ln -s "$PHILOSOPHER_DIR/philosopher" "$PREFIX/bin/philosopher" +chmod ugo+x "$PHILOSOPHER_DIR/philosopher" diff --git a/recipes/fragpipe/fragpipe b/recipes/fragpipe/fragpipe new file mode 100755 index 0000000000000..0de8efde2f0d9 --- /dev/null +++ b/recipes/fragpipe/fragpipe @@ -0,0 +1,64 @@ +#!/bin/bash + +# Wrapper script for command-line FragPipe. Ensures the user agrees to MSFragger and IonQuant academic licenses. + +license_agreement_text=' +Please accept the academic license. + +FragPipe uses tools that are available freely for academic research and educational purposes only. + +Please provide license keys for MSFragger and IonQuant with the --msfragger_key and --ionquant_key flags. By passing these, you verify that you have read the ACADEMIC licenses for the MSFragger and IonQuant tools. You may obtain these keys by agreeing to the terms at http://msfragger-upgrader.nesvilab.org/upgrader/ and https://msfragger.arsci.com/ionquant/.' + +declare -a fragpipe_args + +while [[ $# -gt 0 ]]; do + case "$1" in + --msfragger_key) + shift + msfragger_key=$1 + ;; + --ionquant_key) + shift + ionquant_key=$1 + ;; + --workflow) + fragpipe_args+=("$1") + shift + workflow_file="$1" + fragpipe_args+=("$1") + ;; + *) + fragpipe_args+=("$1") + ;; + esac + shift +done + +if [[ ! -z "$workflow_file" ]]; then + # Because the DIA-NN license is incompatible with bioconda, we remove the feature. + grep 'diann.run-dia-nn=true' "$workflow_file" >/dev/null + if [[ $? -eq 0 ]]; then + echo "Error: DIA-NN is disabled in the FragPipe bioconda package." + exit 1 + fi +fi + +if [[ -z $msfragger_key || -z $ionquant_key ]]; then + echo "$license_agreement_text" + exit 1 +else + msfragger --key $msfragger_key --help | grep 'License key verified' >/dev/null 2>&1 + if [[ $? -ne 0 ]]; then + echo "Error: Invalid MSFragger license key" + echo "$license_agreement_text" + exit 1 + fi + ionquant --key $ionquant_key --help | grep 'License key verified' >/dev/null 2>&1 + if [[ $? -ne 0 ]]; then + echo "Error: Invalid IonQuant license key" + echo "$license_agreement_text" + exit 1 + fi +fi + +sh "$CONDA_PREFIX"/share/fragpipe*/bin/fragpipe "${fragpipe_args[@]}" diff --git a/recipes/fragpipe/licenses/dia-umpire_LICENSE.txt b/recipes/fragpipe/licenses/dia-umpire_LICENSE.txt new file mode 100644 index 0000000000000..f288702d2fa16 --- /dev/null +++ b/recipes/fragpipe/licenses/dia-umpire_LICENSE.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/recipes/fragpipe/licenses/easypqp_LICENSE.txt b/recipes/fragpipe/licenses/easypqp_LICENSE.txt new file mode 100644 index 0000000000000..23f913152b08b --- /dev/null +++ b/recipes/fragpipe/licenses/easypqp_LICENSE.txt @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2019, George Rosenberger +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/recipes/fragpipe/licenses/fragpipe_LICENSE.txt b/recipes/fragpipe/licenses/fragpipe_LICENSE.txt new file mode 100644 index 0000000000000..91c8581154fd7 --- /dev/null +++ b/recipes/fragpipe/licenses/fragpipe_LICENSE.txt @@ -0,0 +1,2 @@ +FragPipe GUI is licensed under GPL version 3. +Individual tools, such as MSFragger, DIA-Umpire, Philosopher, MSBooster, PTM-Shepherd, IonQuant, TMT-Integrator, EasyPQP, and DIA-NN, in FragPipe GUI have their own licenses. diff --git a/recipes/fragpipe/licenses/msbooster_LICENSE.txt b/recipes/fragpipe/licenses/msbooster_LICENSE.txt new file mode 100644 index 0000000000000..329b49e199ef5 --- /dev/null +++ b/recipes/fragpipe/licenses/msbooster_LICENSE.txt @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/recipes/resfinder/LICENSE-2.0.txt b/recipes/fragpipe/licenses/ptm-shepherd_LICENSE.txt similarity index 100% rename from recipes/resfinder/LICENSE-2.0.txt rename to recipes/fragpipe/licenses/ptm-shepherd_LICENSE.txt diff --git a/recipes/fragpipe/meta.yaml b/recipes/fragpipe/meta.yaml new file mode 100644 index 0000000000000..fff75fe44126a --- /dev/null +++ b/recipes/fragpipe/meta.yaml @@ -0,0 +1,73 @@ +{% set name = "FragPipe" %} +{% set version = "20.0" %} +{% set philosopher_version = "5.0.0" %} + +# These keys were generated ONLY for the testing of this bioconda package. +# Users must generate their own key by agreeing to the terms at https://msfragger-upgrader.nesvilab.org/upgrader/ and https://msfragger.arsci.com/ionquant/. +{% set msfragger_academic_use_only_key = "f28c4be2-759b0a11-6c1ea652-1240565a" %} +{% set ionquant_academic_use_only_key = "b6c0ad83-9a4e8900-3e83d29c-aeba3bfb" %} + +package: + name: fragpipe + version: {{ version }} + +build: + number: 3 + noarch: generic + run_exports: + - {{ pin_subpackage('fragpipe', max_pin="x.x") }} + +source: + - url: https://github.com/Nesvilab/{{ name }}/releases/download/{{ version }}/{{ name }}-{{ version }}.zip + sha256: 0d77db85ae26c190a915823e1c68238f3a19533810734b008564b2a8d85d1bd6 + folder: fragpipe_source + - url: https://github.com/Nesvilab/philosopher/releases/download/v{{ philosopher_version }}/philosopher_v{{ philosopher_version }}_linux_amd64.zip + sha256: b0f6a6d22ca72efd54d1143142648e110b211eccaba20fe169ee65509da02fad + folder: philosopher_source + +requirements: + run: + - openjdk >=9 + - python =3.9 + - msfragger >=4.0 + - ionquant >=1.10.12 + - easypqp >=0.1.34 + - zlib >=1.2.13 + - lxml + +test: + commands: + - fragpipe --msfragger_key {{ msfragger_academic_use_only_key }} --ionquant_key {{ ionquant_academic_use_only_key }} --help | grep "FragPipe v{{ version }}" + +about: + home: https://github.com/Nesvilab/FragPipe + license: GPL-3.0 + LICENSE files + license_file: + - licenses/fragpipe_LICENSE.txt + - licenses/dia-umpire_LICENSE.txt + - licenses/easypqp_LICENSE.txt + - licenses/msbooster_LICENSE.txt + - licenses/ptm-shepherd_LICENSE.txt + - philosopher_source/License + summary: Pipeline for comprehensive analysis of shotgun proteomics data + description: | + FragPipe is a Java Graphical User Interface (GUI) for a suite of computational tools + enabling comprehensive analysis of mass spectrometry-based proteomics data. + It is powered by MSFragger - an ultrafast proteomic search engine suitable + for both conventional and "open" (wide precursor mass tolerance) peptide identification. + FragPipe includes the Philosopher toolkit for downstream post-processing of + MSFragger search results (PeptideProphet, iProphet, ProteinProphet), FDR filtering, + label-based quantification, and multi-experiment summary report generation. + Crystal-C and PTM-Shepherd are included to aid interpretation of open search results. + Also included in FragPipe binary are TMT-Integrator for TMT/iTRAQ isobaric + labeling-based quantification, IonQuant for label-free quantification with + match-between-run (MBR) functionality, spectral library building with EasyPQP, + and MSFragger-DIA and DIA-Umpire SE modules for direct analysis of data independent + acquisition (DIA) data. + +extra: + recipe-maintainers: + - reid-wagner + identifiers: + - biotools:fragpipe + - doi:10.1074/mcp.TIR120.002048 diff --git a/recipes/fraposa-pgsc/meta.yaml b/recipes/fraposa-pgsc/meta.yaml new file mode 100644 index 0000000000000..111722c775d10 --- /dev/null +++ b/recipes/fraposa-pgsc/meta.yaml @@ -0,0 +1,54 @@ +{% set name = "fraposa-pgsc" %} +{% set version = "1.0.2" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/fraposa_pgsc-{{ version }}.tar.gz + sha256: 227fd14a7b82859597dd484828de74c7ab8f22d08ea51a7dc7cf6ca1a4827033 + +build: + entry_points: + - fraposa = fraposa_pgsc.fraposa_runner:main + - fraposa_pred = fraposa_pgsc.predstupopu:main + - fraposa_plot = fraposa_pgsc.plotpcs:main + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('fraposa-pgsc', max_pin="x.x") }} + +requirements: + host: + - python >=3.10,<4.0 + - poetry-core + - pip + run: + - python >=3.10.0,<4.0.0 + - pandas >=1.5.3,<2.0.0 + - scikit-learn >=1.2.1,<2.0.0 + - pyplink >=1.3.5,<2.0.0 + - numpy >=1.24.2,<2.0.0 + - matplotlib-base >=3.7.1,<4.0.0 + +test: + imports: + - fraposa_pgsc + commands: + - pip check + - fraposa --help + - fraposa_pred --help + - fraposa_plot --help + requires: + - pip + +about: + home: https://github.com/PGScatalog/fraposa_pgsc + summary: Tools to perform ancestry projection to a reference dataset within the calculator pipeline (pgsc_calc) + license: MIT + +extra: + recipe-maintainers: + - nebfield diff --git a/recipes/freebayes/0001-make-meson-build-conda-friendly.patch b/recipes/freebayes/0001-make-meson-build-conda-friendly.patch index 98067c888dcb8..320213ecdd109 100644 --- a/recipes/freebayes/0001-make-meson-build-conda-friendly.patch +++ b/recipes/freebayes/0001-make-meson-build-conda-friendly.patch @@ -1,39 +1,23 @@ -From 62630d76f804c930753b0215ed09a33a02e1347e Mon Sep 17 00:00:00 2001 -From: Lightning Auriga -Date: Sat, 7 Oct 2023 12:25:42 -0400 -Subject: [PATCH 1/2] make meson build conda friendly - ---- - meson.build | 58 +++++++++-------------------------------------------- - 1 file changed, 9 insertions(+), 49 deletions(-) - diff --git a/meson.build b/meson.build -index 2a91caf..66b8016 100644 +index 9d727f9..9288fbb 100644 --- a/meson.build +++ b/meson.build -@@ -15,7 +15,7 @@ - # meson build -Dstatic=true -Dprefer_system_deps=false --buildtype release +@@ -23,14 +23,10 @@ static_build = get_option('static') - project('freebayes', ['cpp', 'c'], -- version : '1.3.6', -+ version : '1.3.7', - default_options : ['warning_level=1', 'cpp_std=c++17', 'optimization=3']) - static_build = get_option('static') + cc = meson.get_compiler('cpp') -@@ -24,21 +24,16 @@ cc = meson.get_compiler('cpp') - zlib_dep = dependency('zlib', static: static_build) +-# fastahack_dep = cc.find_library('libfastahack') lzma_dep = dependency('liblzma', static: static_build) - thread_dep = dependency('threads', static: static_build) + seqlib_dep = dependency('libseqlib', static: static_build, required: false) + # smithwaterman_dep = cc.find_library('libsmithwaterman') -tabixpp_dep = cc.find_library('tabixpp', required: false, static: static_build) + thread_dep = dependency('threads', static: static_build) +-vcflib_dep = cc.find_library('libvcflib') +-wfa2lib_dep = cc.find_library('libwfa2') + zlib_dep = dependency('zlib', static: static_build) # to compile htslib use - # meson build -Dprefer_system_deps=false - # otherwise it tries to pick up the local system libs - if get_option('prefer_system_deps') - htslib_dep = dependency('htslib', static: static_build, required: false) -- tabixpp_dep = cc.find_library('tabixpp', static: static_build, required: false) -- vcflib_dep = dependency('libvcflib', static: static_build, required: false) - seqlib_dep = dependency('libseqlib', static: static_build, required: false) +@@ -41,8 +37,6 @@ if get_option('prefer_system_deps') else # uses the local git submodules htslib_dep = dependency('', required : false) @@ -42,15 +26,13 @@ index 2a91caf..66b8016 100644 seqlib_dep = dependency('', required : false) endif -@@ -99,50 +94,15 @@ if not htslib_dep.found() +@@ -123,47 +114,16 @@ if not htslib_dep.found() htslib_dep = declare_dependency(link_with : htslib_lib, include_directories : htslib_inc) else - htslib_inc = [] -+ htslib_inc = [get_option('prefix') + '/include'] -+ htslib_lib = [get_option('prefix') + '/lib'] - endif - +-endif +- - -if not tabixpp_dep.found() - tabixpp_inc = include_directories('contrib/vcflib/contrib/tabixpp/') @@ -63,8 +45,13 @@ index 2a91caf..66b8016 100644 - include_directories : tabixpp_inc) -else - tabixpp_inc = [] --endif ++ htslib_inc = [get_option('prefix') + '/include'] ++ htslib_lib = [get_option('prefix') + '/lib'] + endif + +-vcflib_inc = include_directories() - +-# optionally build from source. As we unbundled just check out the vcflib repo in contrib. -if not vcflib_dep.found() - vcflib_inc = include_directories( - 'contrib/vcflib/src', @@ -78,12 +65,6 @@ index 2a91caf..66b8016 100644 - 'contrib/vcflib/src/allele.cpp', - 'contrib/vcflib/src/cigar.cpp', - 'contrib/vcflib/src/split.cpp', -- 'contrib/vcflib/contrib/fastahack/Fasta.cpp', -- 'contrib/vcflib/contrib/smithwaterman/SmithWatermanGotoh.cpp', -- 'contrib/vcflib/contrib/smithwaterman/disorder.cpp', -- 'contrib/vcflib/contrib/smithwaterman/Repeats.cpp', -- 'contrib/vcflib/contrib/smithwaterman/LeftAlign.cpp', -- 'contrib/vcflib/contrib/smithwaterman/IndelAllele.cpp', - ) - vcflib_lib = static_library('custom_vcflib', - vcflib_src, @@ -97,10 +78,11 @@ index 2a91caf..66b8016 100644 +vcflib_inc = [get_option('prefix') + '/include'] +vcflib_lib = [get_option('prefix') + '/lib'] +vcflib_dep = [] ++wfa2lib_dep = [] if not seqlib_dep.found() -@@ -227,7 +187,7 @@ freebayes_lib = static_library( +@@ -248,11 +208,11 @@ freebayes_lib = static_library( if static_build link_arguments = '-static' else @@ -109,6 +91,7 @@ index 2a91caf..66b8016 100644 endif executable('freebayes', --- -2.41.0 - + [freebayes_src,multichoose_src,fastahack_src,smithwaterman_src], + include_directories : [multichoose_inc, fastahack_inc, smithwaterman_inc, incdir], + cpp_args : extra_cpp_args, + link_args: link_arguments, diff --git a/recipes/freebayes/0002-fix-intervaltree-include-path.patch b/recipes/freebayes/0002-fix-intervaltree-include-path.patch index ad42bf6a166ac..45d1820b05fd7 100644 --- a/recipes/freebayes/0002-fix-intervaltree-include-path.patch +++ b/recipes/freebayes/0002-fix-intervaltree-include-path.patch @@ -9,31 +9,30 @@ Subject: [PATCH 2/2] fix intervaltree include path 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/BedReader.cpp b/src/BedReader.cpp -index 9dd79c7..ea79235 100644 +index dabd0af..ea79235 100644 --- a/src/BedReader.cpp +++ b/src/BedReader.cpp @@ -11,7 +11,7 @@ #include "Utility.h" #include "BedReader.h" #include "Logging.h" --#include "../intervaltree/IntervalTree.h" +-#include +#include "IntervalTree.h" using namespace std; diff --git a/src/BedReader.h b/src/BedReader.h -index 03abb3f..8777d53 100644 +index 5a44f29..8777d53 100644 --- a/src/BedReader.h +++ b/src/BedReader.h @@ -9,7 +9,7 @@ #include #include #include --#include "../intervaltree/IntervalTree.h" +-#include +#include "IntervalTree.h" #include "split.h" using namespace std; -- 2.41.0 - diff --git a/recipes/freebayes/0003-meson-macos.patch b/recipes/freebayes/0003-meson-macos.patch new file mode 100644 index 0000000000000..9091480e20d24 --- /dev/null +++ b/recipes/freebayes/0003-meson-macos.patch @@ -0,0 +1,13 @@ +diff --git a/meson.build b/meson.build +index 7fb0625..e0983af 100644 +--- a/meson.build ++++ b/meson.build +@@ -16,7 +16,7 @@ + + project('freebayes', ['cpp', 'c'], + version : '1.3.8', +- default_options : ['warning_level=1', 'cpp_std=c++17', 'optimization=3']) ++ default_options : ['warning_level=1', 'cpp_std=c++14', 'optimization=3']) + static_build = get_option('static') + + # used by Debian: add_global_arguments('-D_GLIBCXX_ASSERTIONS=1', language : 'cpp') diff --git a/recipes/freebayes/LICENSE b/recipes/freebayes/LICENSE deleted file mode 100644 index 9e3322e991a3d..0000000000000 --- a/recipes/freebayes/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2010 Erik Garrison, Gabor Marth - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/recipes/freebayes/build.sh b/recipes/freebayes/build.sh index 660009d1b0fc8..8032f54a79517 100644 --- a/recipes/freebayes/build.sh +++ b/recipes/freebayes/build.sh @@ -1,19 +1,33 @@ #!/bin/bash +mkdir -p ${PREFIX}/bin + +cd freebayes mkdir build -meson setup --buildtype debug --prefix "${PREFIX}" -Dprefer_system_deps=true build/ +export INCLUDES="-I{PREFIX}/include" +export LIBPATH="-L${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CXXFLAGS="${CXXFLAGS} -O3 -I{PREFIX}/include" +CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" CC="${CC}" meson setup --buildtype release \ + --prefix "${PREFIX}" --strip \ + --includedir "${PREFIX}/include" \ + --libdir "${PREFIX}/lib" build/ cd build ninja -v ninja -v install -##Copy scripts over ## This will likely need to be removed with an updated build -cp -n ../scripts/*.py $PREFIX/bin -cp -n ../scripts/*.sh $PREFIX/bin -cp -n ../scripts/*.pl $PREFIX/bin -#cp -n ../scripts/*.R $PREFIX/bin +## Copy scripts over to ${PREFIX}/bin ## +chmod 0755 ../scripts/*.py +chmod 0755 ../scripts/*.sh +chmod 0755 ../scripts/*.pl +cp -nf ../scripts/*.py ${PREFIX}/bin +cp -nf ../scripts/*.sh ${PREFIX}/bin +cp -nf ../scripts/*.pl ${PREFIX}/bin -cp -n ../scripts/freebayes-parallel $PREFIX/bin +chmod 0755 ${PREFIX}/bin/freebayes +chmod 0755 ../scripts/freebayes-parallel +cp -nf ../scripts/freebayes-parallel ${PREFIX}/bin diff --git a/recipes/freebayes/meta.yaml b/recipes/freebayes/meta.yaml index 150a384c7f12c..5381e2fb554f3 100644 --- a/recipes/freebayes/meta.yaml +++ b/recipes/freebayes/meta.yaml @@ -1,19 +1,30 @@ -{% set version = "1.3.7" %} +{% set name = "freebayes" %} +{% set version = "1.3.8" %} package: - name: freebayes + name: {{ name }} version: {{ version }} source: - url: https://github.com/freebayes/freebayes/archive/refs/tags/v{{ version }}.tar.gz - sha256: 89c2202aaa82925bc6a49e04df593e5ef3b1547b3b514efcbd490a54d8ad200b - patches: - - 0001-make-meson-build-conda-friendly.patch - - 0002-fix-intervaltree-include-path.patch + - folder: freebayes + url: https://github.com/freebayes/freebayes/archive/refs/tags/v{{ version }}.tar.gz + sha256: d1c24b1d1b35277e7403cd67063557998218a105c916b01a745e7704715fce67 + patches: + - 0001-make-meson-build-conda-friendly.patch + - 0002-fix-intervaltree-include-path.patch + - 0003-meson-macos.patch # [osx] + - folder: freebayes/contrib/smithwaterman + url: https://github.com/ekg/smithwaterman/archive/2610e259611ae4cde8f03c72499d28f03f6d38a7.tar.gz + sha256: 8e1b37ab0e8cd9d3d5cbfdba80258c0ebd0862749b531e213f44cdfe2fc541d8 + - folder: freebayes/contrib/multichoose + url: https://github.com/vcflib/multichoose/archive/255192edd49cfe36557f7f4f0d2d6ee1c702ffbb.tar.gz + sha256: 0045051ee85d36435582151830efe0eefb466be0ec9aedbbc4465dca30d22102 + - folder: freebayes/contrib/fastahack + url: https://github.com/ekg/fastahack/archive/refs/tags/v1.0.0.tar.gz + sha256: cc1c04729b0c8ba3647cbb7e15e2b490ce701d73773f30f5892d68c36a1dceae build: - number: 0 - skip: true # [osx] + number: 2 run_exports: - {{ pin_subpackage("freebayes", max_pin="x") }} @@ -31,25 +42,35 @@ requirements: - tabixpp - vcflib - simde + - zlib + - wfa2-lib run: - parallel - samtools - tabixpp - vcflib - + - wfa2-lib + test: commands: - freebayes --version - freebayes-parallel - + about: - home: https://github.com/ekg/freebayes + home: "https://github.com/freebayes/freebayes" license: MIT - license_file: LICENSE + license_file: "freebayes/LICENSE" license_family: MIT - summary: Bayesian haplotype-based polymorphism discovery and genotyping - maintainers: jpuritz + summary: "Bayesian haplotype-based polymorphism discovery and genotyping." + dev_url: "https://github.com/freebayes/freebayes" + doc_url: "https://github.com/freebayes/freebayes/blob/v{{ version }}/README.md" extra: - identifiers: + additional-platforms: + - linux-aarch64 + identifiers: - biotools:freebayes + - usegalaxy-eu:freebayes + - doi:10.48550/arXiv.1207.3907 + recipe-maintainers: + - jpuritz diff --git a/recipes/freyja/meta.yaml b/recipes/freyja/meta.yaml index 42a9d309a8566..c6dd548925fd5 100644 --- a/recipes/freyja/meta.yaml +++ b/recipes/freyja/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.4.7" %} +{% set version = "1.5.1" %} {% set name = "Freyja" %} package: @@ -6,7 +6,7 @@ package: version: {{ version }} build: - number: 0 + number: 1 script: "python -m pip install . --no-deps" noarch: python entry_points: @@ -16,7 +16,7 @@ build: source: url: https://github.com/andersen-lab/{{ name }}/archive/v{{ version }}.tar.gz - sha256: 3eca6731d817c10c6fcda327a763180909a0da3ce151a9e67a88efea734c02ce + sha256: e9007c144857cb8aefe5a834e50c097d1ed685439c9c25f188e38d0c736084d8 requirements: host: @@ -41,6 +41,7 @@ requirements: - pysam - biopython - seaborn + - pyarrow test: commands: diff --git a/recipes/frogs/meta.yaml b/recipes/frogs/meta.yaml index 899626bb8f3ae..bb486fdc8704c 100644 --- a/recipes/frogs/meta.yaml +++ b/recipes/frogs/meta.yaml @@ -1,5 +1,5 @@ {% set name = "frogs" %} -{% set version = "4.1.0" %} +{% set version = "5.0.0" %} {% set phyloseq_extended_version = "0.99" %} package: @@ -7,12 +7,15 @@ package: version: {{ version }} build: - number: 2 + number: 0 skip: true # [osx] + run_exports: + - {{ pin_subpackage('frogs', max_pin="x") }} + source: - url: https://github.com/geraldinepascal/FROGS/archive/v{{ version }}.tar.gz - md5: 2fa8c0ce35b5fe979062423a8b6c888c + md5: 3bfae780dbe766fb5b249d5a8438261d - url: https://github.com/mahendra-mariadassou/phyloseq-extended/archive/v{{ phyloseq_extended_version }}.tar.gz md5: 1ec072751503eebb791e876a60433120 folder: lib/external-lib @@ -29,31 +32,30 @@ requirements: test: commands: - - preprocess.py -h - - clustering.py -h - - remove_chimera.py -h - - cluster_filters.py -h - - itsx.py -h - - taxonomic_affiliation.py -h - - affiliation_filters.py -h - - affiliation_postprocess.py -h - - cluster_stats.py -h - - affiliation_stats.py -h - - biom_to_tsv.py -h - - biom_to_stdBiom.py -h - - tree.py -h - - phyloseq_import_data.py -h - - phyloseq_composition.py -h - - phyloseq_alpha_diversity.py -h - - phyloseq_beta_diversity.py -h - - phyloseq_clustering.py -h - - phyloseq_structure.py -h - - phyloseq_manova.py -h - - deseq2_preprocess.py -h - - deseq2_visualisation.py -h - - frogsfunc_placeseqs.py -h - - frogsfunc_functions.py -h - - frogsfunc_pathways.py -h + - denoising.py --help + - remove_chimera.py --help + - cluster_filters.py --help + - itsx.py --help + - taxonomic_affiliation.py --help + - affiliation_filters.py --help + - affiliation_postprocess.py --help + - cluster_stats.py --help + - affiliation_stats.py --help + - biom_to_tsv.py --help + - biom_to_stdBiom.py --help + - tree.py --help + - phyloseq_import_data.py --help + - phyloseq_composition.py --help + - phyloseq_alpha_diversity.py --help + - phyloseq_beta_diversity.py --help + - phyloseq_clustering.py --help + - phyloseq_structure.py --help + - phyloseq_manova.py --help + - deseq2_preprocess.py --help + - deseq2_visualisation.py --help + - frogsfunc_placeseqs.py --help + - frogsfunc_functions.py --help + - frogsfunc_pathways.py --help - java -jar $PREFIX/bin/classifier.jar -h @@ -61,7 +63,7 @@ about: home: https://github.com/geraldinepascal/FROGS license: 'GNU GPL v3' summary: 'FROGS is a workflow designed to metabarcoding sequence analysis' - description: 'FROGS produces an ASVs count matrix from high depth sequencing amplicon data. This is the official release 4.1.0 of FROGS. + description: 'FROGS produces an ASVs count matrix from high depth sequencing amplicon data. This is the official release 5.0.0 of FROGS. To fully install FROGS dependencies, please refer to the frogs-conda-requirements.txt and frogsfunc-conda-requirements.txt available at https://github.com/geraldinepascal/FROGS' extra: diff --git a/recipes/fuc/meta.yaml b/recipes/fuc/meta.yaml index aacdace66d0bc..443c49c1ea968 100644 --- a/recipes/fuc/meta.yaml +++ b/recipes/fuc/meta.yaml @@ -1,5 +1,5 @@ {% set name = "fuc" %} -{% set version = "0.37.0" %} +{% set version = "0.38.0" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 827f254f6cb57fb897f63cc9e3d8ecc5aac56c3c3257b8ae57b13c43bb4b41c2 + sha256: 379ffdfeaa77ba4d9fd38360e1032986ad3e3da8b380f57652cbcf4b9c1c13dc build: number: 0 diff --git a/recipes/funannotate/meta.yaml b/recipes/funannotate/meta.yaml index 26408414ac068..e8b408221e5e9 100644 --- a/recipes/funannotate/meta.yaml +++ b/recipes/funannotate/meta.yaml @@ -1,65 +1,71 @@ {% set name = "funannotate" %} -{% set version = "1.8.15" %} +{% set version = "1.8.17" %} package: - name: funannotate + name: {{ name }} version: {{ version }} source: url: https://pypi.io/packages/source/f/funannotate/funannotate-{{ version }}.tar.gz - sha256: 98a1baf18fbbe320986e011bfabb7dd5e79ee24286d6d400547d09c0fe65d300 + sha256: bdadfd7a5636383c1c40c26dab37c5908a77e8c4064adced84f1ba9e86187a04 build: - number: 2 + number: 0 noarch: python - script: {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + entry_points: + - funannotate=funannotate.funannotate:main + run_exports: + - {{ pin_subpackage('funannotate', max_pin="x") }} requirements: host: - pip - - python >=3.6,<3.9 + - python >=3.6,<3.10 run: - - python >=3.6,<3.9 - - biopython + - python >=3.6,<3.10 + - biopython <1.80 - goatools - - matplotlib-base <3.5 + - matplotlib-base - natsort - numpy - - pandas <2.0 # https://github.com/nextgenusfs/funannotate/pull/906 + - pandas - psutil - requests - scikit-learn - scipy - - seaborn + - seaborn-base - blast + - fasta3 - tantan - bedtools - hmmer - exonerate - - diamond >=2.1.6 + - diamond - tbl2asn + - ucsc-blat - ucsc-pslcdnafilter - - pasa >=2.4.1 + - pasa - trimmomatic - - raxml - trimal - mafft >=7 - - iqtree - kallisto >=0.46.0,<0.46.2 - minimap2 - - evidencemodeler ==1.1.1 + - evidencemodeler - codingquarry - stringtie - snap - glimmerhmm - bamtools - augustus ==3.5.0 - - trinity >=2.8.5=h8b12597_5 # [linux] + - trinity - trnascan-se - hisat2 - - proteinortho >=6.0.16 - - salmon >=0.9 - - phyml + - proteinortho + - salmon + - ete3 + - samtools + - pigz - perl - perl-math-utils # Needed by GeneMark - perl-mce # Needed by GeneMark @@ -72,15 +78,12 @@ requirements: - perl-scalar-util-numeric - perl-text-soundex - perl-parallel-forkmanager - - perl-db-file + - perl-db_file - perl-local-lib - - r-base >=3.4.1 - - ete3 - - distro - - samtools >=1.9 - - pigz test: + import: + - funannotate commands: - "funannotate --help | grep \"Funannotate is a genome prediction\"" @@ -90,8 +93,15 @@ about: license_family: "BSD" license_file: "LICENSE.md" summary: "funannotate: eukaryotic genome annotation pipeline" - doc_url: "funannotate.readthedocs.io" + doc_url: "https://funannotate.readthedocs.io/en/latest/" + dev_url: "https://github.com/nextgenusfs/funannotate" extra: recipe-maintainers: - nextgenusfs + identifiers: + - biotools:funannotate + - usegalaxy-eu:funannotate_compare + - usegalaxy-eu:funannotate_clean + - usegalaxy-eu:funannotate_predict + - usegalaxy-eu:funannotate_annotate diff --git a/recipes/funannotate/run_test.py b/recipes/funannotate/run_test.py deleted file mode 100644 index 56799df70771c..0000000000000 --- a/recipes/funannotate/run_test.py +++ /dev/null @@ -1 +0,0 @@ -import funannotate diff --git a/recipes/fwdpy11/build.sh b/recipes/fwdpy11/build.sh index b03d77ec6e6a5..00d150e289830 100644 --- a/recipes/fwdpy11/build.sh +++ b/recipes/fwdpy11/build.sh @@ -1,8 +1,16 @@ #!/bin/bash +# Add workaround for SSH-based Git connections from Rust/cargo. See https://github.com/rust-lang/cargo/issues/2078 for details. +# We set CARGO_HOME because we don't pass on HOME to conda-build, thus rendering the default "${HOME}/.cargo" defunct. +export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="${BUILD_PREFIX}/.cargo" + +if [ `uname` == Darwin ]; then + export HOME=`mktemp -d` +fi + # https://molpopgen.github.io/fwdpy11/misc/developersguide.html # https://doc.rust-lang.org/cargo/commands/cargo-install.html -CARGO_INSTALL_ROOT=$BUILD_PREFIX CARGO_HOME=$BUILD_PREFIX cargo install cbindgen +CARGO_INSTALL_ROOT=$BUILD_PREFIX CARGO_HOME=$CARGO_HOME cargo install cbindgen #CARGO_INSTALL_ROOT=$PREFIX CARGO_HOME=$PREFIX cargo install cbindgen # cmake's "find GSL macro" can barf when conda @@ -10,7 +18,7 @@ CARGO_INSTALL_ROOT=$BUILD_PREFIX CARGO_HOME=$BUILD_PREFIX cargo install cbindgen # fix that: #GSL_ROOT_DIR=$PREFIX $PYTHON -m pip install --no-deps --ignore-installed -vv . # for mac osx need also to add other vars: -CARGO_INSTALL_ROOT=$BUILD_PREFIX CARGO_HOME=$BUILD_PREFIX GSL_ROOT_DIR=$PREFIX $PYTHON -m pip install --no-deps --ignore-installed -vv . +CARGO_INSTALL_ROOT=$BUILD_PREFIX CARGO_HOME=$CARGO_HOME GSL_ROOT_DIR=$PREFIX $PYTHON -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv # on bioconda's Azure it seems that `$PYTHON` variable is not set because get an error: # /opt/conda/conda-bld/fwdpy11_1670108175931/work/conda_build.sh: line 16: -m: command not found # so will hard-code it: diff --git a/recipes/fwdpy11/build_failure.osx-64.yaml b/recipes/fwdpy11/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..44a2f24f5730e --- /dev/null +++ b/recipes/fwdpy11/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 7573cca8e9662cdeecd0bed649c84ff556bc6c8d97e2de79ef5833ea4fc71d50 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + Compiling cbindgen v0.26.0 + Compiling tempfile v3.10.1 + Compiling clap v3.2.25 + Compiling heck v0.4.1 + Compiling log v0.4.21 + error: linking with x86_64-apple-darwin13.4.0-clang failed: exit status: 1 + | + = note: env -u IPHONEOS_DEPLOYMENT_TARGET -u TVOS_DEPLOYMENT_TARGET LC_ALL="C" PATH="/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/bin:/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/.cargo/bin:/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/bin:/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin:/opt/mambaforge/envs/bioconda/condabin:/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/bin:/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin:/opt/mambaforge/envs/bioconda/bin:/opt/mambaforge/condabin:/opt/mambaforge/bin:/usr/local/lib/ruby/gems/3.0.0/bin:/usr/local/opt/ruby@3.0/bin:/usr/local/opt/pipx_bin:/Users/runner/.cargo/bin:/usr/local/opt/curl/bin:/usr/local/bin:/usr/local/sbin:/Users/runner/bin:/Users/runner/.yarn/bin:/Users/runner/Library/Android/sdk/tools:/Users/runner/Library/Android/sdk/platform-tools:/Library/Frameworks/Python.framework/Versions/Current/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/usr/bin:/bin:/usr/sbin:/sbin:/Users/runner/.dotnet/tools" VSLANG="1033" ZERO_AR_DATE="1" "x86_64-apple-darwin13.4.0-clang" "-Wl,-exported_symbols_list,/tmp/rustcJsKX5w/list" "-arch" "x86_64" "-m64" "/tmp/rustcJsKX5w/symbols.o" "/tmp/cargo-installnrmzCR/release/deps/serde_derive-9f016bff93b5170e.serde_derive.8ad0620eb5003873-cgu.00.rcgu.o" "/tmp/cargo-installnrmzCR/release/deps/serde_derive-9f016bff93b5170e.serde_derive.8ad0620eb5003873-cgu.01.rcgu.o" "/tmp/cargo-installnrmzCR/release/deps/serde_derive-9f016bff93b5170e.serde_derive.8ad0620eb5003873-cgu.02.rcgu.o" "/tmp/cargo-installnrmzCR/release/deps/serde_derive-9f016bff93b5170e.serde_derive.8ad0620eb5003873-cgu.03.rcgu.o" "/tmp/cargo-installnrmzCR/release/deps/serde_derive-9f016bff93b5170e.serde_derive.8ad0620eb5003873-cgu.04.rcgu.o" "/tmp/cargo-installnrmzCR/release/deps/serde_derive-9f016bff93b5170e.serde_derive.8ad0620eb5003873-cgu.05.rcgu.o" "/tmp/cargo-installnrmzCR/release/deps/serde_derive-9f016bff93b5170e.serde_derive.8ad0620eb5003873-cgu.06.rcgu.o" "/tmp/cargo-installnrmzCR/release/deps/serde_derive-9f016bff93b5170e.serde_derive.8ad0620eb5003873-cgu.07.rcgu.o" "/tmp/cargo-installnrmzCR/release/deps/serde_derive-9f016bff93b5170e.serde_derive.8ad0620eb5003873-cgu.08.rcgu.o" "/tmp/cargo-installnrmzCR/release/deps/serde_derive-9f016bff93b5170e.serde_derive.8ad0620eb5003873-cgu.09.rcgu.o" "/tmp/cargo-installnrmzCR/release/deps/serde_derive-9f016bff93b5170e.serde_derive.8ad0620eb5003873-cgu.10.rcgu.o" "/tmp/cargo-installnrmzCR/release/deps/serde_derive-9f016bff93b5170e.serde_derive.8ad0620eb5003873-cgu.11.rcgu.o" "/tmp/cargo-installnrmzCR/release/deps/serde_derive-9f016bff93b5170e.serde_derive.8ad0620eb5003873-cgu.12.rcgu.o" "/tmp/cargo-installnrmzCR/release/deps/serde_derive-9f016bff93b5170e.serde_derive.8ad0620eb5003873-cgu.13.rcgu.o" "/tmp/cargo-installnrmzCR/release/deps/serde_derive-9f016bff93b5170e.serde_derive.8ad0620eb5003873-cgu.14.rcgu.o" "/tmp/cargo-installnrmzCR/release/deps/serde_derive-9f016bff93b5170e.serde_derive.8ad0620eb5003873-cgu.15.rcgu.o" "/tmp/cargo-installnrmzCR/release/deps/serde_derive-9f016bff93b5170e.514q95sj265pstb6.rcgu.rmeta" "/tmp/cargo-installnrmzCR/release/deps/serde_derive-9f016bff93b5170e.o6645hp581cvoef.rcgu.o" "-L" "/tmp/cargo-installnrmzCR/release/deps" "-L" "/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib" "/private/tmp/cargo-installnrmzCR/release/deps/libsyn-d75fad7b2247b4e5.rlib" "/private/tmp/cargo-installnrmzCR/release/deps/libquote-3ebc22600d494fc7.rlib" "/private/tmp/cargo-installnrmzCR/release/deps/libproc_macro2-443812721a7c3b72.rlib" "/private/tmp/cargo-installnrmzCR/release/deps/libunicode_ident-7eafdde1c7a78df9.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libproc_macro-d9904b6b430ac650.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libstd-2ad7f97be9e16ca5.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libpanic_unwind-8ce93eee8bf4c86e.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libobject-0e1339b212cc7409.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libmemchr-925e672b3deb429c.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libaddr2line-e92d517a950bccd8.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libgimli-de95e5c2a2ace281.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/librustc_demangle-37f4c48e230f618e.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libstd_detect-dfeb4bb0652b6b8e.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libhashbrown-0e3ea0ec18336be2.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_alloc-39dd3003e36d7872.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libminiz_oxide-5ea1513e08ee15e0.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libadler-2967159221f4860d.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libunwind-b70656709e3eca11.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcfg_if-cc5626b2e0399737.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/liblibc-8378684dba6ab463.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/liballoc-0ff05b9b25b786cc.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_core-9a6da74aeab39c54.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcore-1638dc700d175798.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-7f42af62722c8f43.rlib" "-lSystem" "-lc" "-lm" "-L" "/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib" "-o" "/tmp/cargo-installnrmzCR/release/deps/libserde_derive-9f016bff93b5170e.dylib" "-Wl,-dead_strip" "-dynamiclib" "-Wl,-dylib" "-nodefaultlibs" + = note: ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libproc_macro-d9904b6b430ac650.rlib(proc_macro-d9904b6b430ac650.proc_macro.f7284eae513ccf25-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libstd-2ad7f97be9e16ca5.rlib(std-2ad7f97be9e16ca5.std.73125d0ae810e61b-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcore-1638dc700d175798.rlib(core-1638dc700d175798.core.b1c2fc210f4dfff9-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/liballoc-0ff05b9b25b786cc.rlib(alloc-0ff05b9b25b786cc.alloc.9242d371e396bc4c-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libhashbrown-0e3ea0ec18336be2.rlib(hashbrown-0e3ea0ec18336be2.hashbrown.febebf65344cb99d-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/librustc_demangle-37f4c48e230f618e.rlib(rustc_demangle-37f4c48e230f618e.rustc_demangle.9fdffeb2b56169d1-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libgimli-de95e5c2a2ace281.rlib(gimli-de95e5c2a2ace281.gimli.72653df79598dcb2-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libobject-0e1339b212cc7409.rlib(object-0e1339b212cc7409.object.e3756fe3fb577255-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libmemchr-925e672b3deb429c.rlib(memchr-925e672b3deb429c.memchr.4dc4a05d80618598-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libaddr2line-e92d517a950bccd8.rlib(addr2line-e92d517a950bccd8.addr2line.7eb29e6a0a38fefd-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libpanic_unwind-8ce93eee8bf4c86e.rlib(panic_unwind-8ce93eee8bf4c86e.panic_unwind.a3b8ea81b157ee45-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-7f42af62722c8f43.rlib(compiler_builtins-7f42af62722c8f43.compiler_builtins.19fed66cffb9e9f5-cgu.089.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + Undefined symbols for architecture x86_64: + "_getentropy", referenced from: + std::sys::pal::unix::rand::hashmap_random_keys::hcc27ed0e9fd421d6 in libstd-2ad7f97be9e16ca5.rlib(std-2ad7f97be9e16ca5.std.73125d0ae810e61b-cgu.0.rcgu.o) + ld: symbol(s) not found for architecture x86_64 + clang-16: error: linker command failed with exit code 1 (use -v to see invocation) + + + error: could not compile serde_derive (lib) due to 1 previous error + warning: build failed, waiting for other jobs to finish... + error: failed to compile cbindgen v0.26.0, intermediate artifacts can be found at /tmp/cargo-installnrmzCR. + To reuse those artifacts with a future compilation, set the environment variable CARGO_TARGET_DIR to that path. + Extracting download + Traceback (most recent call last): + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/work + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/fwdpy11-0.22.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/fwdpy11-0.22.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/fwdpy11-0.22.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/fwdpy11-0.22.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/fwdpy11_1717524874638/work/conda_build.sh']' returned non-zero exit status 101. +# Last 100 lines of the build log. diff --git a/recipes/fwdpy11/meta.yaml b/recipes/fwdpy11/meta.yaml index 318a976b8cc25..848cd1006671e 100644 --- a/recipes/fwdpy11/meta.yaml +++ b/recipes/fwdpy11/meta.yaml @@ -1,74 +1,69 @@ +{% set name = "fwdpy11" %} +{% set version = "0.24.1" %} + package: - name: fwdpy11 - version: "0.21.0" + name: {{ name|lower }} + version: {{ version }} source: - url: https://files.pythonhosted.org/packages/6e/1b/241bdd1278cb9077d81064bd443159ed07962dbacb513388e80d1a047e93/fwdpy11-0.21.0.tar.gz - sha256: cbf5cd42411146e58874baf37b32f3e7a90b5ba18336b73c1be995bd41bbac98 + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/fwdpy11-{{ version }}.tar.gz + sha256: d0d0d3b9b504d47bd23cfedab39bc4978d2fb21a73e8645140a8c25e211e5800 build: - skip: True # [py27 or py<38] + skip: True # [py < 39 or py > 312] number: 0 + script_env: + - SETUPTOOLS_SCM_PRETEND_VERSION={{ version }} + entry_points: + - fwdpy11 = fwdpy11.__main__:main + run_exports: + - {{ pin_subpackage('fwdpy11', max_pin="x.x") }} requirements: build: - {{ compiler('c') }} - {{ compiler('cxx') }} + - {{ compiler('rust') }} - cmake - make host: - - python - - pkgconfig - python - pip - - numpy >=1.20 - - pybind11 ==2.10.0 - - tskit >=0.5 + - setuptools-scm >=8 + - pybind11 ==2.11.1 - gsl - - openblas - - attrs - - setuptools_scm - - rust >=1.62.1 -# - intervaltree -# - pybind11 >=2.10.0 -# - numpy -# - scipy -# - attrs >=0.19.2 -# - black -# - tskit -# - msprime -# - gsl -# - boost -# - pytest -# - pytest-xdist -# - setuptools_scm -# - demes >=0.2.0 -# - rust >=1.62.1 -# - hypothesis + - scikit-build-core >=0.3.3 run: - python - - numpy >=1.20 - - tskit >=0.5 + - numpy <2.0 + - tskit >=0.5.6 - gsl - openblas - scipy - attrs - black - - demes >=0.2 + - demes >=0.2.2 - intervaltree + - deprecated test: - # Python imports imports: - fwdpy11 + commands: + - fwdpy11 --help about: - home: http://pypi.python.org/pypi/fwdpy11 - license: GNU General Public License v3 or later (GPLv3+) + home: https://github.com/molpopgen/fwdpy11 + license: "GPL-3.0-or-later" + license_family: GPL3 license_file: "COPYING" summary: 'Forward-time population genetic simulation in Python.' + dev_url: https://github.com/molpopgen/fwdpy11 + doc_url: https://molpopgen.github.io/fwdpy11 -extras: +extra: identifiers: - - 10.1534/genetics.114.165019 - - 10.1371/journal.pcbi.1006581 + - doi:10.1534/genetics.114.165019 + - doi:10.1371/journal.pcbi.1006581 + additional-platforms: + - linux-aarch64 diff --git a/recipes/gadem/build_failure.linux-64.yaml b/recipes/gadem/build_failure.linux-64.yaml deleted file mode 100644 index cf01a71e736ac..0000000000000 --- a/recipes/gadem/build_failure.linux-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 2470c29e05d1777c7b59054fe3477d632a33700f31d76019d64c7bd78a25c161 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - sysroot_linux-64: 2.12-he073ed8_15 conda-forge - - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - Source cache directory is: /opt/conda/conda-bld/src_cache - INFO:conda_build.source:Source cache directory is: /opt/conda/conda-bld/src_cache - Downloading source to cache: gadem_v1.3.1_afe89b8d1e.tar.gz - INFO:conda_build.source:Downloading source to cache: gadem_v1.3.1_afe89b8d1e.tar.gz - Downloading https://www.niehs.nih.gov/research/resources/assets/docs/gadem_v1.3.1.tar.gz - INFO:conda_build.source:Downloading https://www.niehs.nih.gov/research/resources/assets/docs/gadem_v1.3.1.tar.gz - DEBUG:urllib3.util.retry:Incremented Retry for (url='/research/resources/assets/docs/gadem_v1.3.1.tar.gz'): Retry(total=2, connect=None, read=None, redirect=None, status=None) - WARNING:urllib3.connectionpool:Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131)'))': /research/resources/assets/docs/gadem_v1.3.1.tar.gz - DEBUG:urllib3.util.retry:Incremented Retry for (url='/research/resources/assets/docs/gadem_v1.3.1.tar.gz'): Retry(total=1, connect=None, read=None, redirect=None, status=None) - WARNING:urllib3.connectionpool:Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131)'))': /research/resources/assets/docs/gadem_v1.3.1.tar.gz - DEBUG:urllib3.util.retry:Incremented Retry for (url='/research/resources/assets/docs/gadem_v1.3.1.tar.gz'): Retry(total=0, connect=None, read=None, redirect=None, status=None) - WARNING:urllib3.connectionpool:Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131)'))': /research/resources/assets/docs/gadem_v1.3.1.tar.gz - Traceback (most recent call last): - File "/opt/conda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 670, in urlopen - httplib_response = self._make_request( - File "/opt/conda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 381, in _make_request - self._validate_conn(conn) - File "/opt/conda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 978, in _validate_conn - conn.connect() - File "/opt/conda/lib/python3.8/site-packages/urllib3/connection.py", line 362, in connect - self.sock = ssl_wrap_socket( - File "/opt/conda/lib/python3.8/site-packages/urllib3/util/ssl_.py", line 386, in ssl_wrap_socket - return context.wrap_socket(sock, server_hostname=server_hostname) - File "/opt/conda/lib/python3.8/ssl.py", line 500, in wrap_socket - return self.sslsocket_class._create( - File "/opt/conda/lib/python3.8/ssl.py", line 1040, in _create - self.do_handshake() - File "/opt/conda/lib/python3.8/ssl.py", line 1309, in do_handshake - self._sslobj.do_handshake() - ssl.SSLError: [SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131) - - During handling of the above exception, another exception occurred: - - Traceback (most recent call last): - File "/opt/conda/lib/python3.8/site-packages/requests/adapters.py", line 439, in send - resp = conn.urlopen( - File "/opt/conda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 754, in urlopen - return self.urlopen( - File "/opt/conda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 754, in urlopen - return self.urlopen( - File "/opt/conda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 754, in urlopen - return self.urlopen( - File "/opt/conda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 726, in urlopen - retries = retries.increment( - File "/opt/conda/lib/python3.8/site-packages/urllib3/util/retry.py", line 446, in increment - raise MaxRetryError(_pool, url, error or ResponseError(cause)) - urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='www.niehs.nih.gov', port=443): Max retries exceeded with url: /research/resources/assets/docs/gadem_v1.3.1.tar.gz (Caused by SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131)'))) - - During handling of the above exception, another exception occurred: - - Traceback (most recent call last): - File "/opt/conda/lib/python3.8/site-packages/conda/gateways/connection/download.py", line 48, in download - resp = session.get(url, stream=True, proxies=session.proxies, timeout=timeout) - File "/opt/conda/lib/python3.8/site-packages/requests/sessions.py", line 546, in get - return self.request('GET', url, **kwargs) - File "/opt/conda/lib/python3.8/site-packages/requests/sessions.py", line 533, in request - resp = self.send(prep, **send_kwargs) - File "/opt/conda/lib/python3.8/site-packages/requests/sessions.py", line 646, in send - r = adapter.send(request, **kwargs) - File "/opt/conda/lib/python3.8/site-packages/requests/adapters.py", line 514, in send - raise SSLError(e, request=request) - requests.exceptions.SSLError: HTTPSConnectionPool(host='www.niehs.nih.gov', port=443): Max retries exceeded with url: /research/resources/assets/docs/gadem_v1.3.1.tar.gz (Caused by SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131)'))) - - During handling of the above exception, another exception occurred: - - Traceback (most recent call last): - File "/opt/conda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2125, in build - try_download(m, no_download_source=False, raise_error=True) - File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 650, in try_download - source.provide(metadata) - File "/opt/conda/lib/python3.8/site-packages/conda_build/source.py", line 871, in provide - unpack(source_dict, src_dir, metadata.config.src_cache, recipe_path=metadata.path, - File "/opt/conda/lib/python3.8/site-packages/conda_build/source.py", line 146, in unpack - src_path, unhashed_fn = download_to_cache(cache_folder, recipe_path, source_dict, verbose) - File "/opt/conda/lib/python3.8/site-packages/conda_build/source.py", line 89, in download_to_cache - download(url, path) - File "/opt/conda/lib/python3.8/site-packages/conda/exports.py", line 374, in download - return _download(url, dst_path, md5=md5sum, sha256=sha256, size=size) - File "/opt/conda/lib/python3.8/site-packages/conda/common/io.py", line 84, in decorated - return f(*args, **kwds) - File "/opt/conda/lib/python3.8/site-packages/conda/gateways/connection/download.py", line 152, in download - raise CondaSSLError( - conda.exceptions.CondaSSLError: Encountered an SSL error. Most likely a certificate verification issue. - - Exception: HTTPSConnectionPool(host='www.niehs.nih.gov', port=443): Max retries exceeded with url: /research/resources/assets/docs/gadem_v1.3.1.tar.gz (Caused by SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131)'))) -# Last 100 lines of the build log. diff --git a/recipes/gadem/build_failure.osx-64.yaml b/recipes/gadem/build_failure.osx-64.yaml deleted file mode 100644 index a8ce96d90ed29..0000000000000 --- a/recipes/gadem/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 2470c29e05d1777c7b59054fe3477d632a33700f31d76019d64c7bd78a25c161 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - zstd: 1.5.2-hbc0c0cd_6 conda-forge - - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache - Downloading source to cache: gadem_v1.3.1_afe89b8d1e.tar.gz - Downloading https://www.niehs.nih.gov/research/resources/assets/docs/gadem_v1.3.1.tar.gz - INFO:conda_build.source:Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache - INFO:conda_build.source:Downloading source to cache: gadem_v1.3.1_afe89b8d1e.tar.gz - INFO:conda_build.source:Downloading https://www.niehs.nih.gov/research/resources/assets/docs/gadem_v1.3.1.tar.gz - DEBUG:urllib3.util.retry:Incremented Retry for (url='/research/resources/assets/docs/gadem_v1.3.1.tar.gz'): Retry(total=2, connect=None, read=None, redirect=None, status=None) - WARNING:urllib3.connectionpool:Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131)'))': /research/resources/assets/docs/gadem_v1.3.1.tar.gz - DEBUG:urllib3.util.retry:Incremented Retry for (url='/research/resources/assets/docs/gadem_v1.3.1.tar.gz'): Retry(total=1, connect=None, read=None, redirect=None, status=None) - WARNING:urllib3.connectionpool:Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131)'))': /research/resources/assets/docs/gadem_v1.3.1.tar.gz - DEBUG:urllib3.util.retry:Incremented Retry for (url='/research/resources/assets/docs/gadem_v1.3.1.tar.gz'): Retry(total=0, connect=None, read=None, redirect=None, status=None) - WARNING:urllib3.connectionpool:Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131)'))': /research/resources/assets/docs/gadem_v1.3.1.tar.gz - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 670, in urlopen - httplib_response = self._make_request( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 381, in _make_request - self._validate_conn(conn) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 978, in _validate_conn - conn.connect() - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/connection.py", line 362, in connect - self.sock = ssl_wrap_socket( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/util/ssl_.py", line 386, in ssl_wrap_socket - return context.wrap_socket(sock, server_hostname=server_hostname) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/ssl.py", line 500, in wrap_socket - return self.sslsocket_class._create( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/ssl.py", line 1040, in _create - self.do_handshake() - File "/opt/mambaforge/envs/bioconda/lib/python3.8/ssl.py", line 1309, in do_handshake - self._sslobj.do_handshake() - ssl.SSLError: [SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131) - - During handling of the above exception, another exception occurred: - - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/requests/adapters.py", line 439, in send - resp = conn.urlopen( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 754, in urlopen - return self.urlopen( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 754, in urlopen - return self.urlopen( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 754, in urlopen - return self.urlopen( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 726, in urlopen - retries = retries.increment( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/util/retry.py", line 446, in increment - raise MaxRetryError(_pool, url, error or ResponseError(cause)) - urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='www.niehs.nih.gov', port=443): Max retries exceeded with url: /research/resources/assets/docs/gadem_v1.3.1.tar.gz (Caused by SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131)'))) - - During handling of the above exception, another exception occurred: - - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda/gateways/connection/download.py", line 48, in download - resp = session.get(url, stream=True, proxies=session.proxies, timeout=timeout) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/requests/sessions.py", line 546, in get - return self.request('GET', url, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/requests/sessions.py", line 533, in request - resp = self.send(prep, **send_kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/requests/sessions.py", line 646, in send - r = adapter.send(request, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/requests/adapters.py", line 514, in send - raise SSLError(e, request=request) - requests.exceptions.SSLError: HTTPSConnectionPool(host='www.niehs.nih.gov', port=443): Max retries exceeded with url: /research/resources/assets/docs/gadem_v1.3.1.tar.gz (Caused by SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131)'))) - - During handling of the above exception, another exception occurred: - - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2125, in build - try_download(m, no_download_source=False, raise_error=True) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/render.py", line 650, in try_download - source.provide(metadata) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/source.py", line 871, in provide - unpack(source_dict, src_dir, metadata.config.src_cache, recipe_path=metadata.path, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/source.py", line 146, in unpack - src_path, unhashed_fn = download_to_cache(cache_folder, recipe_path, source_dict, verbose) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/source.py", line 89, in download_to_cache - download(url, path) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda/exports.py", line 374, in download - return _download(url, dst_path, md5=md5sum, sha256=sha256, size=size) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda/common/io.py", line 84, in decorated - return f(*args, **kwds) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda/gateways/connection/download.py", line 152, in download - raise CondaSSLError( - conda.exceptions.CondaSSLError: Encountered an SSL error. Most likely a certificate verification issue. - - Exception: HTTPSConnectionPool(host='www.niehs.nih.gov', port=443): Max retries exceeded with url: /research/resources/assets/docs/gadem_v1.3.1.tar.gz (Caused by SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1131)'))) -# Last 100 lines of the build log. diff --git a/recipes/gadem/meta.yaml b/recipes/gadem/meta.yaml index 283883945f57a..54b45a700edd1 100644 --- a/recipes/gadem/meta.yaml +++ b/recipes/gadem/meta.yaml @@ -7,7 +7,9 @@ source: sha256: afe89b8d1ecf7d7dc785b9f59ffdfdb511df68c147934eedc0398873fa2640dc build: - number: 5 + number: 7 + run_exports: + - {{ pin_subpackage('gadem', max_pin="x") }} requirements: build: @@ -23,3 +25,7 @@ about: home: https://www.niehs.nih.gov/research/resources/software/biostatistics/gadem/index.cfm license: GPLv3 summary: A Genetic Algorithm Guided Formation of Spaced Dyads Coupled with an EM Algorithm for Motif Discovery + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/galah/meta.yaml b/recipes/galah/meta.yaml index 362a196815042..be438161e898a 100644 --- a/recipes/galah/meta.yaml +++ b/recipes/galah/meta.yaml @@ -1,14 +1,16 @@ -{% set version = "0.3.1" %} +{% set version = "0.4.2" %} {% set name = "galah" %} -{% set sha256 = "78a278a2a4d2e5f074115e41a38c426fab328d3deaac84cb55cded77e9c97428" %} +{% set sha256 = "6908d5038925032e8e2a2b2533bb5b1cb7ad2b51a89fe144b34bb57677ee287a" %} package: name: {{ name }} version: {{ version }} build: - number: 3 + number: 0 skip: True # [osx] + run_exports: + - {{ pin_subpackage('galah', max_pin="x.x") }} source: url: https://github.com/wwood/{{ name }}/archive/v{{version}}.tar.gz @@ -20,7 +22,7 @@ requirements: - {{ compiler('c') }} run: - dashing ==0.4.0 - - fastani ==1.31 + - fastani >=1.31 test: commands: @@ -29,5 +31,6 @@ test: about: home: https://github.com/wwood/galah license: GPL-3.0-only + license_family: GPL3 license_file: LICENCE.txt summary: Galah aims to be a more scalable metagenome assembled genome (MAG) dereplication method. diff --git a/recipes/galaxy-data/meta.yaml b/recipes/galaxy-data/meta.yaml index 6e13357253dad..c8e6406f0d915 100644 --- a/recipes/galaxy-data/meta.yaml +++ b/recipes/galaxy-data/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "22.1.1" %} -{% set sha256 = "27d1fc4ccc0d05adbb49fced1b0bcf59497a702c8bf51e39b058449dc0644cfe" %} +{% set version = "24.1.2" %} +{% set sha256 = "d75e5e9e954773c683cb54a655da0c9733f1c6b0f6e691fedb6a1edc6e4aede2" %} {% set galaxy_version = version.split(".")[:2]|join(".") %} package: @@ -7,43 +7,59 @@ package: version: {{ version }} source: - url: https://pypi.io/packages/source/g/galaxy-data/galaxy-data-{{ version }}.tar.gz + url: https://pypi.io/packages/source/g/galaxy-data/galaxy_data-{{ version }}.tar.gz sha256: {{ sha256 }} build: noarch: python number: 0 - script: "{{ PYTHON }} -m pip install . --no-deps -vv" + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + run_exports: + - {{ pin_subpackage('galaxy-data', max_pin="x") }} + entry_points: + - galaxy-build-objects=galaxy.model.store.build_objects:main + - galaxy-load-objects=galaxy.model.store.load_objects:main + - galaxy-manage-db=galaxy.model.orm.scripts:manage_db + - galaxy-prune-histories=galaxy.model.scripts:prune_history_table requirements: host: - pip - - python >=3.6 + - python >=3.8 run: + - python >=3.8 + - galaxy-files >={{ galaxy_version }} - galaxy-objectstore >={{ galaxy_version }} + - galaxy-schema >={{ galaxy_version }} + - galaxy-tool-util >={{ galaxy_version }} - galaxy-util >={{ galaxy_version }} - - galaxy_sequence_utils - - bdbag + - alembic + - alembic-utils + - bdbag >=1.6.3 - bx-python + - dnspython + - galaxy_sequence_utils + - h5grove >=1.2.1 - h5py - - isa-rwval - - parsley + - isa-rwval >=0.10.10 + - python-isal + - markupsafe + - mrcfile + - msal - numpy + - parsley - pycryptodome - - pydantic - - pysam >=0.15 - - social-auth-core - - sqlalchemy - - sqlalchemy-migrate - - sqlalchemy-utils - - WebOb - - python >=3.6 - - six >=1.9.0 - # extra: jstree - # - dictobj - # extra: template - # - future - # - cheetah3 + - pydantic >=2.7.4 + - email-validator + # - pylibmagic # Pending https://github.com/kratsg/pylibmagic/issues/54 + - pysam >=0.21 + - python-magic + # - rocrate # Pending https://github.com/ResearchObject/ro-crate-py/issues/139 + - social-auth-core ==4.0.3 + - sqlalchemy >=2.0,<2.1 + - tifffile + - typing-extensions + - webob test: imports: diff --git a/recipes/galaxy-files/meta.yaml b/recipes/galaxy-files/meta.yaml index 0a61489a554ce..83a3987023337 100644 --- a/recipes/galaxy-files/meta.yaml +++ b/recipes/galaxy-files/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "23.1.3" %} -{% set sha256 = "0facf5bfe8573a6e1a576d4e4b7f0ad7fa7924a1291111b9dfc1714520e1d559" %} +{% set version = "24.1.2" %} +{% set sha256 = "39f25b6f9a2f48625bf21fe0021e90768f598db1113867960420afc5988a4e70" %} {% set galaxy_version = version.split(".")[:2]|join(".") %} package: @@ -7,7 +7,7 @@ package: version: {{ version }} source: - url: https://pypi.io/packages/source/g/galaxy-files/galaxy-files-{{ version }}.tar.gz + url: https://pypi.io/packages/source/g/galaxy-files/galaxy_files-{{ version }}.tar.gz sha256: {{ sha256 }} build: diff --git a/recipes/galaxy-ml/meta.yaml b/recipes/galaxy-ml/meta.yaml index 8df327344c6e8..9fd6a9564f869 100644 --- a/recipes/galaxy-ml/meta.yaml +++ b/recipes/galaxy-ml/meta.yaml @@ -9,7 +9,7 @@ source: sha256: 921a7884bfab3a7b40021e33602b13a9a5a2c58a3205c87659423ebd892476f1 build: - number: 1 + number: 2 script: {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vvv skip: True # [osx or py<39 or py>39] diff --git a/recipes/galaxy-objectstore/meta.yaml b/recipes/galaxy-objectstore/meta.yaml index ac332bc820da2..0581ff15a3a22 100644 --- a/recipes/galaxy-objectstore/meta.yaml +++ b/recipes/galaxy-objectstore/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "23.1.3" %} -{% set sha256 = "52b9b213e15f1e219a25304f616e44f29f0ac52b61c753a6e89fac9d5c2a0fa2" %} +{% set version = "24.1.2" %} +{% set sha256 = "1079e628fb89125792781e9a62711e8281f3cd34eff0cd5ce8ed452d6c06cb3e" %} {% set galaxy_version = version.split(".")[:2]|join(".") %} package: @@ -7,7 +7,7 @@ package: version: {{ version }} source: - url: https://pypi.io/packages/source/g/galaxy-objectstore/galaxy-objectstore-{{ version }}.tar.gz + url: https://pypi.io/packages/source/g/galaxy-objectstore/galaxy_objectstore-{{ version }}.tar.gz sha256: {{ sha256 }} build: diff --git a/recipes/galaxy-schema/meta.yaml b/recipes/galaxy-schema/meta.yaml new file mode 100644 index 0000000000000..2cb94358c1d1f --- /dev/null +++ b/recipes/galaxy-schema/meta.yaml @@ -0,0 +1,81 @@ +{% set name = "galaxy-schema" %} +{% set version = "24.1.2" %} +{% set sha256 = "526d9c7e211da145f4169272a69b4a512304110da3dd9df61d0d305991db5309" %} +{% set galaxy_version = version.split(".")[:2]|join(".") %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/galaxy_schema-{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + noarch: python + number: 0 + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + run_exports: + - {{ pin_subpackage('galaxy-schema', max_pin="x") }} + +requirements: + host: + - python >=3.8 + - pip + run: + - python >=3.8 + - galaxy-util >={{ galaxy_version }} + - pydantic >=2.7.4 + - email-validator + +test: + imports: + - galaxy + - galaxy.schema + # Disabling all .bco imports as I can't figure out how to install pydantic[email] + # Simply installing email-validator as separate dep does not work + #- galaxy.schema.bco + #- galaxy.schema.bco.description_domain + #- galaxy.schema.bco.error_domain + #- galaxy.schema.bco.execution_domain + #- galaxy.schema.bco.io_domain + #- galaxy.schema.bco.parametric_domain + #- galaxy.schema.bco.provenance_domain + #- galaxy.schema.bco.usability_domain + #- galaxy.schema.bco.util + - galaxy.schema.cloud + - galaxy.schema.cloud + - galaxy.schema.drs + - galaxy.schema.fetch_data + - galaxy.schema.fields + - galaxy.schema.generics + - galaxy.schema.groups + - galaxy.schema.help + - galaxy.schema.history + - galaxy.schema.invocation + - galaxy.schema.invocation + - galaxy.schema.jobs + - galaxy.schema.notifications + - galaxy.schema.remote_files + - galaxy.schema.schema + - galaxy.schema.storage_cleaner + - galaxy.schema.types + - galaxy.schema.workflow + - galaxy.schema.workflow.comments + - galaxy.schema.workflows + +about: + home: https://galaxyproject.org + license: MIT + license_family: MIT + license_file: LICENSE + summary: The Galaxy API schema objects. + doc_url: https://docs.galaxyproject.org + dev_url: https://github.com/galaxyproject/galaxy + +extra: + identifiers: + - biotools:galaxy + - doi:10.1093/nar/gky379 + recipe-maintainers: + - bernt-matthias diff --git a/recipes/galaxy_sequence_utils/build.sh b/recipes/galaxy_sequence_utils/build.sh deleted file mode 100755 index 4899c226c8dd0..0000000000000 --- a/recipes/galaxy_sequence_utils/build.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -$PYTHON setup.py install --single-version-externally-managed --record=record.txt - -# Add more build steps here, if they are necessary. - -# See -# http://docs.continuum.io/conda/build.html -# for a list of environment variables that are set during the build process. diff --git a/recipes/galaxy_sequence_utils/meta.yaml b/recipes/galaxy_sequence_utils/meta.yaml index d07a8c6e443ca..cb980ad17cd3a 100644 --- a/recipes/galaxy_sequence_utils/meta.yaml +++ b/recipes/galaxy_sequence_utils/meta.yaml @@ -1,5 +1,6 @@ {% set name = "galaxy_sequence_utils" %} -{% set version = "1.1.5" %} +{% set version = "1.2.0" %} +{% set sha256 = "103f0e25f5660793253d9ac540c2eb2d7ddc82d16aa0a62c0869b60033898410" %} package: name: {{ name|lower }} @@ -12,13 +13,15 @@ about: summary: Sequence Utilities from the Galaxy project source: - url: https://files.pythonhosted.org/packages/f9/f2/39a48c3cc1635e4086a743c80f782bb216f069316437028d909448c2356a/galaxy_sequence_utils-1.1.5.tar.gz - sha256: c32bd91f6ff11ad6e8b62f8de309d695ef5c33a782afbf5122c1db7144ef1162 + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/galaxy_sequence_utils-{{ version }}.tar.gz + sha256: {{ sha256 }} build: noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation number: 0 - preserve_egg_dir: True + run_exports: + -{{ pin_subpackage(name, max_pin="x") }} entry_points: - gx-fastq-to-tabular=galaxy_utils.sequence.scripts.fastq_to_tabular:main - gx-fastq-groomer=galaxy_utils.sequence.scripts.fastq_groomer:main @@ -37,17 +40,20 @@ build: requirements: host: - - python + - python >=3.8 - setuptools - - six - + - pip run: - - python - - six + - python >=3.8 test: imports: - galaxy_utils commands: + - gx-fastq-groomer --help - gx-fastq-trimmer-by-quality --help - gx-fastq-masker-by-quality --help + +extra: + recipe-maintainers: + - nsoranzo diff --git a/recipes/galitime/meta.yaml b/recipes/galitime/meta.yaml new file mode 100644 index 0000000000000..ae82dfc5fa8f5 --- /dev/null +++ b/recipes/galitime/meta.yaml @@ -0,0 +1,40 @@ +{% set name = "galitime" %} +{% set version = "0.2.0" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + sha256: c791725b9bfe79fbac42be1cbb53e2b64d10a4c41cb7d9504acaa2e412d5dc90 + +build: + number: 0 + noarch: python + entry_points: + - galitime=galitime.galitime:main + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('galitime', max_pin="x") }} + +requirements: + host: + - pip + - python >=3 + run: + - python >=3 + +test: + imports: + - galitime + +about: + home: https://github.com/karel-brinda/galitime + license: MIT + license_family: MIT + license_file: LICENSE.txt + doc_url: https://github.com/karel-brinda/galitime + summary: 'benchmarking of scientific computaional experiments' + + diff --git a/recipes/gambit/build_failure.linux-64.yaml b/recipes/gambit/build_failure.linux-64.yaml deleted file mode 100644 index 760f11b4d6a76..0000000000000 --- a/recipes/gambit/build_failure.linux-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 54b50cde49af5b8c60e4f8122e3b442158fc9b2417ce166d10b78c930144df56 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - tomli: 2.0.1-pyhd8ed1ab_0 conda-forge - typing-extensions: 4.6.2-hd8ed1ab_0 conda-forge - typing_extensions: 4.6.2-pyha770c72_0 conda-forge - urllib3: 2.0.2-pyhd8ed1ab_0 conda-forge - wheel: 0.40.0-pyhd8ed1ab_0 conda-forge - xz: 5.2.6-h166bdaf_0 conda-forge - zipp: 3.15.0-pyhd8ed1ab_0 conda-forge - zstd: 1.5.2-h3eb15da_6 conda-forge - - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - export PREFIX=/opt/conda/conda-bld/gambit_1685351725074/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p - export SRC_DIR=/opt/conda/conda-bld/gambit_1685351725074/test_tmp - import: 'gambit' - import: 'gambit' - pytest - ============================= test session starts ============================== - platform linux -- Python 3.8.16, pytest-7.3.1, pluggy-1.0.0 - rootdir: $SRC_DIR - collected 605 items - - tests/test_classify.py ..... [ 0%] - tests/test_cluster.py .. [ 1%] - tests/test_kmers.py ................ [ 3%] - tests/test_metric.py ................................................... [ 12%] - ........................................................................ [ 24%] - ........................................... [ 31%] - tests/test_misc.py ... [ 31%] - tests/test_query.py ... [ 32%] - tests/test_results.py ... [ 32%] - tests/test_seq.py ................. [ 35%] - tests/test_test.py ..................................... [ 41%] - tests/cli/test_cli_common.py ................. [ 44%] - tests/cli/test_cli_dist.py .............. [ 46%] - tests/cli/test_cli_query.py ........ [ 48%] - tests/cli/test_cli_signatures.py ............... [ 50%] - tests/cli/test_cli_tree.py .. [ 50%] - tests/db/test_db_migrate.py ..FsF [ 51%] - tests/db/test_db_models.py ........... [ 53%] - tests/db/test_db_refdb.py ...... [ 54%] - tests/db/test_db_sqla.py . [ 54%] - tests/sigs/test_sigs_base.py ........................................... [ 61%] - ................................................ [ 69%] - tests/sigs/test_sigs_calc.py .................. [ 72%] - tests/sigs/test_sigs_convert.py ...... [ 73%] - tests/sigs/test_sigs_hdf5.py ........................................... [ 80%] - .......... [ 82%] - tests/util/test_util_indexing.py .......... [ 84%] - tests/util/test_util_io.py ................................ [ 89%] - tests/util/test_util_json.py ......... [ 90%] - tests/util/test_util_misc.py ................. [ 93%] - tests/util/test_util_progress.py .s..s........s.s.................. [ 99%] - tests/util/test_util_typing.py .... [100%] - - =================================== FAILURES =================================== - ________________________ TestCurrentRevision.test_empty ________________________ - - self = - - def test_empty(self): - """Test on freshly initialized database.""" - engine = create_engine('sqlite:///:memory:') - init_db(engine) - > assert current_revision(engine) == CURRENT_HEAD - E AssertionError: assert None == 'c43540b80d50' - E where None = current_revision(Engine(sqlite:///:memory:)) - - tests/db/test_db_migrate.py:40: AssertionError - _________________________________ test_init_db _________________________________ - - def test_init_db(): - """Test the init_db() function.""" - engine = create_engine('sqlite:///:memory:') - init_db(engine) - - # Check current revision matches - > assert current_revision(engine) == current_head() - E AssertionError: assert None == 'c43540b80d50' - E where None = current_revision(Engine(sqlite:///:memory:)) - E and 'c43540b80d50' = current_head() - - tests/db/test_db_migrate.py:63: AssertionError - =============================== warnings summary =============================== - ../_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.8/site-packages/gambit/db/models.py:28 - $PREFIX/lib/python3.8/site-packages/gambit/db/models.py:28: MovedIn20Warning: The declarative_base() function is now available as sqlalchemy.orm.declarative_base(). (deprecated since: 2.0) (Background on SQLAlchemy 2.0 at: https://sqlalche.me/e/b8d9) - Base = declarative_base(metadata=metadata) - - ../_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.8/site-packages/pkg_resources/__init__.py:121 - $PREFIX/lib/python3.8/site-packages/pkg_resources/__init__.py:121: DeprecationWarning: pkg_resources is deprecated as an API - warnings.warn("pkg_resources is deprecated as an API", DeprecationWarning) - - -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html - =========================== short test summary info ============================ - FAILED tests/db/test_db_migrate.py::TestCurrentRevision::test_empty - Asserti... - FAILED tests/db/test_db_migrate.py::test_init_db - AssertionError: assert Non... - ============ 2 failed, 598 passed, 5 skipped, 2 warnings in 51.93s ============= - Tests failed for gambit-1.0.0-py38he5da3d1_1.tar.bz2 - moving package to /opt/conda/conda-bld/broken - WARNING:conda_build.build:Tests failed for gambit-1.0.0-py38he5da3d1_1.tar.bz2 - moving package to /opt/conda/conda-bld/broken - TESTS FAILED: gambit-1.0.0-py38he5da3d1_1.tar.bz2 -# Last 100 lines of the build log. diff --git a/recipes/gambit/build_failure.osx-64.yaml b/recipes/gambit/build_failure.osx-64.yaml deleted file mode 100644 index a1a3d2294bfcc..0000000000000 --- a/recipes/gambit/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 54b50cde49af5b8c60e4f8122e3b442158fc9b2417ce166d10b78c930144df56 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - tzdata: 2023c-h71feb2d_0 conda-forge - urllib3: 2.0.2-pyhd8ed1ab_0 conda-forge - xz: 5.2.6-h775f41a_0 conda-forge - zipp: 3.15.0-pyhd8ed1ab_0 conda-forge - zstd: 1.5.2-hbc0c0cd_6 conda-forge - - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/gambit_1685352057332/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl - export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/gambit_1685352057332/test_tmp - import: 'gambit' - import: 'gambit' - pytest - ============================= test session starts ============================== - platform darwin -- Python 3.10.11, pytest-7.3.1, pluggy-1.0.0 - rootdir: $SRC_DIR - collected 605 items - - tests/test_classify.py ..... [ 0%] - tests/test_cluster.py .. [ 1%] - tests/test_kmers.py ................ [ 3%] - tests/test_metric.py ................................................... [ 12%] - ........................................................................ [ 24%] - ........................................... [ 31%] - tests/test_misc.py ... [ 31%] - tests/test_query.py ... [ 32%] - tests/test_results.py ... [ 32%] - tests/test_seq.py ................. [ 35%] - tests/test_test.py ..................................... [ 41%] - tests/cli/test_cli_common.py ................. [ 44%] - tests/cli/test_cli_dist.py .............. [ 46%] - tests/cli/test_cli_query.py ........ [ 48%] - tests/cli/test_cli_signatures.py ............... [ 50%] - tests/cli/test_cli_tree.py .. [ 50%] - tests/db/test_db_migrate.py ..FsF [ 51%] - tests/db/test_db_models.py ........... [ 53%] - tests/db/test_db_refdb.py ...... [ 54%] - tests/db/test_db_sqla.py . [ 54%] - tests/sigs/test_sigs_base.py ........................................... [ 61%] - ................................................ [ 69%] - tests/sigs/test_sigs_calc.py .................. [ 72%] - tests/sigs/test_sigs_convert.py ...... [ 73%] - tests/sigs/test_sigs_hdf5.py ........................................... [ 80%] - .......... [ 82%] - tests/util/test_util_indexing.py .......... [ 84%] - tests/util/test_util_io.py ................................ [ 89%] - tests/util/test_util_json.py ......... [ 90%] - tests/util/test_util_misc.py ................. [ 93%] - tests/util/test_util_progress.py .s..s........s.s.................. [ 99%] - tests/util/test_util_typing.py .... [100%] - - =================================== FAILURES =================================== - ________________________ TestCurrentRevision.test_empty ________________________ - - self = - - def test_empty(self): - """Test on freshly initialized database.""" - engine = create_engine('sqlite:///:memory:') - init_db(engine) - > assert current_revision(engine) == CURRENT_HEAD - E AssertionError: assert None == 'c43540b80d50' - E where None = current_revision(Engine(sqlite:///:memory:)) - - tests/db/test_db_migrate.py:40: AssertionError - _________________________________ test_init_db _________________________________ - - def test_init_db(): - """Test the init_db() function.""" - engine = create_engine('sqlite:///:memory:') - init_db(engine) - - # Check current revision matches - > assert current_revision(engine) == current_head() - E AssertionError: assert None == 'c43540b80d50' - E where None = current_revision(Engine(sqlite:///:memory:)) - E and 'c43540b80d50' = current_head() - - tests/db/test_db_migrate.py:63: AssertionError - =============================== warnings summary =============================== - ../_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib/python3.10/site-packages/gambit/db/models.py:28 - $PREFIX/lib/python3.10/site-packages/gambit/db/models.py:28: MovedIn20Warning: The declarative_base() function is now available as sqlalchemy.orm.declarative_base(). (deprecated since: 2.0) (Background on SQLAlchemy 2.0 at: https://sqlalche.me/e/b8d9) - Base = declarative_base(metadata=metadata) - - ../_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib/python3.10/site-packages/pkg_resources/__init__.py:121 - $PREFIX/lib/python3.10/site-packages/pkg_resources/__init__.py:121: DeprecationWarning: pkg_resources is deprecated as an API - warnings.warn("pkg_resources is deprecated as an API", DeprecationWarning) - - -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html - =========================== short test summary info ============================ - FAILED tests/db/test_db_migrate.py::TestCurrentRevision::test_empty - AssertionError: assert None == 'c43540b80d50' - where None = current_revision(Engine(sqlite:///:memory:)) - FAILED tests/db/test_db_migrate.py::test_init_db - AssertionError: assert None == 'c43540b80d50' - where None = current_revision(Engine(sqlite:///:memory:)) - and 'c43540b80d50' = current_head() - ======= 2 failed, 598 passed, 5 skipped, 2 warnings in 103.18s (0:01:43) ======= - Tests failed for gambit-1.0.0-py310he07d9a1_1.tar.bz2 - moving package to /opt/mambaforge/envs/bioconda/conda-bld/broken - WARNING:conda_build.build:Tests failed for gambit-1.0.0-py310he07d9a1_1.tar.bz2 - moving package to /opt/mambaforge/envs/bioconda/conda-bld/broken - TESTS FAILED: gambit-1.0.0-py310he07d9a1_1.tar.bz2 -# Last 100 lines of the build log. diff --git a/recipes/gambit/meta.yaml b/recipes/gambit/meta.yaml index 83c982a33655e..17a9369d6d11e 100644 --- a/recipes/gambit/meta.yaml +++ b/recipes/gambit/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.0.0" %} +{% set version = "1.0.1" %} package: name: gambit @@ -6,13 +6,15 @@ package: source: url: https://github.com/jlumpe/gambit/archive/v{{ version }}.tar.gz - sha256: a2d6465a482d2113d2b03c56689871fa088b0443dd663652bf9304a9befa1470 - + sha256: d99285b1b8df971d36292ca3639bab5998b501262db8c72769dc1287920f73e8 build: number: 1 - script: "{{ PYTHON }} -m pip install --no-deps --ignore-installed ." - skip: True # [py < 37] + script: "{{ PYTHON }} -m pip install --no-deps --no-build-isolation . -vvv" + entry_points: + - gambit = gambit.cli:cli + run_exports: + - {{ pin_subpackage("gambit", max_pin="x") }} requirements: build: @@ -21,11 +23,11 @@ requirements: - python - pip - numpy >=1.13 - - cython + - cython >=0.27,<1 run: - python - - numpy >=1.13 - - sqlalchemy >=1.1 + - {{ pin_compatible('numpy') }} + - sqlalchemy >=1.1,<2.dev0 - biopython >=1.69 - alembic >=1.0 - attrs >=20 @@ -56,9 +58,16 @@ about: approximately 50,000 reference genomes (derived from NCBI RefSeq) to identify unknown bacterial genomes within seconds. license: AGPL-3.0-or-later + license_family: AGPL license_file: LICENSE doc_url: https://gambit-genomics.readthedocs.io/en/latest + dev_url: https://github.com/jlumpe/gambit extra: recipe-maintainers: - jlumpe + skip-lints: + - uses_setuptools # uses pkg_resoures during run time + identifiers: + - doi:10.1371/journal.pone.0277575 + - biotools:gambit_bacterial diff --git a/recipes/gametes/LICENSE b/recipes/gametes/LICENSE new file mode 100644 index 0000000000000..8a8f06b2d908f --- /dev/null +++ b/recipes/gametes/LICENSE @@ -0,0 +1,362 @@ +# GNU GENERAL PUBLIC LICENSE + +Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +## Preamble + +The licenses for most software are designed to take away your freedom +to share and change it. By contrast, the GNU General Public License is +intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + +To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the software, or if you modify it. + +For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + +We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + +Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, +we want its recipients to know that what they have is not the +original, so that any problems introduced by others will not reflect +on the original authors' reputations. + +Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at +all. + +The precise terms and conditions for copying, distribution and +modification follow. + +## TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +**0.** This License applies to any program or other work which +contains a notice placed by the copyright holder saying it may be +distributed under the terms of this General Public License. The +"Program", below, refers to any such program or work, and a "work +based on the Program" means either the Program or any derivative work +under copyright law: that is to say, a work containing the Program or +a portion of it, either verbatim or with modifications and/or +translated into another language. (Hereinafter, translation is +included without limitation in the term "modification".) Each licensee +is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the Program +(independent of having been made by running the Program). Whether that +is true depends on what the Program does. + +**1.** You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a +fee. + +**2.** You may modify your copy or copies of the Program or any +portion of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + +**a)** You must cause the modified files to carry prominent notices +stating that you changed the files and the date of any change. + + +**b)** You must cause any work that you distribute or publish, that in +whole or in part contains or is derived from the Program or any part +thereof, to be licensed as a whole at no charge to all third parties +under the terms of this License. + + +**c)** If the modified program normally reads commands interactively +when run, you must cause it, when started running for such interactive +use in the most ordinary way, to print or display an announcement +including an appropriate copyright notice and a notice that there is +no warranty (or else, saying that you provide a warranty) and that +users may redistribute the program under these conditions, and telling +the user how to view a copy of this License. (Exception: if the +Program itself is interactive but does not normally print such an +announcement, your work based on the Program is not required to print +an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + +**3.** You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + +**a)** Accompany it with the complete corresponding machine-readable +source code, which must be distributed under the terms of Sections 1 +and 2 above on a medium customarily used for software interchange; or, + + +**b)** Accompany it with a written offer, valid for at least three +years, to give any third party, for a charge no more than your cost of +physically performing source distribution, a complete machine-readable +copy of the corresponding source code, to be distributed under the +terms of Sections 1 and 2 above on a medium customarily used for +software interchange; or, + + +**c)** Accompany it with the information you received as to the offer +to distribute corresponding source code. (This alternative is allowed +only for noncommercial distribution and only if you received the +program in object code or executable form with such an offer, in +accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + +**4.** You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt otherwise +to copy, modify, sublicense or distribute the Program is void, and +will automatically terminate your rights under this License. However, +parties who have received copies, or rights, from you under this +License will not have their licenses terminated so long as such +parties remain in full compliance. + +**5.** You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +**6.** Each time you redistribute the Program (or any work based on +the Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + +**7.** If, as a consequence of a court judgment or allegation of +patent infringement or for any other reason (not limited to patent +issues), conditions are imposed on you (whether by court order, +agreement or otherwise) that contradict the conditions of this +License, they do not excuse you from the conditions of this License. +If you cannot distribute so as to satisfy simultaneously your +obligations under this License and any other pertinent obligations, +then as a consequence you may not distribute the Program at all. For +example, if a patent license would not permit royalty-free +redistribution of the Program by all those who receive copies directly +or indirectly through you, then the only way you could satisfy both it +and this License would be to refrain entirely from distribution of the +Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + +**8.** If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + +**9.** The Free Software Foundation may publish revised and/or new +versions of the General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Program does not specify a +version number of this License, you may choose any version ever +published by the Free Software Foundation. + +**10.** If you wish to incorporate parts of the Program into other +free programs whose distribution conditions are different, write to +the author to ask for permission. For software which is copyrighted by +the Free Software Foundation, write to the Free Software Foundation; +we sometimes make exceptions for this. Our decision will be guided by +the two goals of preserving the free status of all derivatives of our +free software and of promoting the sharing and reuse of software +generally. + +**NO WARRANTY** + +**11.** BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +**12.** IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + +END OF TERMS AND CONDITIONS + +## How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these +terms. + +To do so, attach the following notices to the program. It is safest to +attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + one line to give the program's name and an idea of what it does. + Copyright (C) yyyy name of author + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +Also add information on how to contact you by electronic and paper +mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details + type `show w'. This is free software, and you are welcome + to redistribute it under certain conditions; type `show c' + for details. + +The hypothetical commands \`show w' and \`show c' should show the +appropriate parts of the General Public License. Of course, the +commands you use may be called something other than \`show w' and +\`show c'; they could even be mouse-clicks or menu items--whatever +suits your program. + +You should also get your employer (if you work as a programmer) or +your school, if any, to sign a "copyright disclaimer" for the program, +if necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright + interest in the program `Gnomovision' + (which makes passes at compilers) written + by James Hacker. + + signature of Ty Coon, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, +you may consider it more useful to permit linking proprietary +applications with the library. If this is what you want to do, use the +[GNU Lesser General Public +License](https://www.gnu.org/licenses/lgpl.html) instead of this +License. + diff --git a/recipes/gametes/build.sh b/recipes/gametes/build.sh new file mode 100644 index 0000000000000..89d67ad13e340 --- /dev/null +++ b/recipes/gametes/build.sh @@ -0,0 +1,24 @@ +#create target directory +PACKAGE_HOME=$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM +mkdir -p $PACKAGE_HOME + +#create bin +BINARY_HOME=$PREFIX/bin +mkdir -p $BINARY_HOME + +cd $SRC_DIR + +JAR_NAME=GAMETES_2.1.jar + +cp $JAR_NAME $PACKAGE_HOME/gametes.jar + +#mv wrapper script to package home +cp $RECIPE_DIR/gametes.py $PACKAGE_HOME + +#and symlink to $PREFIX/bin +#ln -s $PACKAGE_HOME/gametes.py ${BINARY_HOME} +ln -s $PACKAGE_HOME/gametes.py $BINARY_HOME/gametes + +#chmod +x ${BINARY_HOME} +chmod +x ${BINARY_HOME}/gametes + diff --git a/recipes/gametes/gametes.py b/recipes/gametes/gametes.py new file mode 100644 index 0000000000000..99dc779a47f50 --- /dev/null +++ b/recipes/gametes/gametes.py @@ -0,0 +1,88 @@ +#!/usr/bin/env python + +import os +import subprocess +import sys +from os import access, getenv, path, X_OK + + +# jar file +JAR_NAME = 'gametes.jar' +PKG_NAME = 'gametes' +PKG_VERSION = '2.1' +PKG_BUILDNUM = '0' + + +default_jvm_mem_opts = ['-Xms512m', '-Xmx1g'] + + + +def real_dirname(in_path): + """Return the path to the JAR file""" + #realPath = os.path.dirname(os.path.realpath(in_path)) + realPath = os.path.dirname(os.path.dirname(os.path.realpath(in_path))) + newPath = os.path.realpath(os.path.join(realPath, "..", "share", "{}-{}-{}".format(PKG_NAME, PKG_VERSION, PKG_BUILDNUM))) + return newPath + + + +def java_executable(): + """Returns the name of the Java executable.""" + java_home = getenv('JAVA_HOME') + java_bin = path.join('bin', 'java') + if java_home and access(os.path.join(java_home, java_bin), X_OK): + return os.path.join(java_home, java_bin) + else: + return "java" # Default to using 'java' command directly + + + +def jvm_opts(argv): + """Construct list of Java arguments based on our argument list. + + The argument list passed in argv must not include the script name. + The return value is a 3-tuple lists of strings of the form: + (memory_options, prop_options, passthrough_options) + """ + + + mem_opts, prop_opts, pass_args = [], [], [] + + for arg in argv: + if arg.startswith('-D') or arg.startswith('-XX'): + opts_list = prop_opts + elif arg.startswith('-Xm'): + opts_list = mem_opts + else: + opts_list = pass_args + opts_list.append(arg) + + if mem_opts == [] and getenv('_JAVA_OPTIONS') is None: + mem_opts = default_jvm_mem_opts + + return (mem_opts, prop_opts, pass_args) + +def main(): + java = java_executable() + jar_dir = real_dirname(sys.argv[0]) + (mem_opts, prop_opts, pass_args) = jvm_opts(sys.argv[1:]) + + if pass_args != [] and pass_args[0].startswith('org'): + jar_arg = '-cp' + else: + jar_arg = '-jar' + + jar_path = os.path.join(jar_dir, JAR_NAME) + + if not os.path.isfile(jar_path): + sys.stderr.write('GAMETES jar file not found\n') + sys.exit(1) + + java_args = [java] + mem_opts + prop_opts + [jar_arg] + [jar_path] + pass_args + sys.exit(subprocess.call(java_args)) + + +if __name__ == '__main__': + main() + + diff --git a/recipes/gametes/meta.yaml b/recipes/gametes/meta.yaml new file mode 100644 index 0000000000000..eead5645cdaf0 --- /dev/null +++ b/recipes/gametes/meta.yaml @@ -0,0 +1,38 @@ +{% set name = "gametes" %} +{% set version = "2.1" %} + +package: + name: {{ name }} + version: {{ version }} + +about: + home: https://sourceforge.net/projects/gametes/ + license: GPL-2.0-only + summary: Tool for the generation of complex single SNP models + license_file: LICENSE + + +build: + noarch: generic + number: 1 + run_exports: + - {{ pin_subpackage("gametes", max_pin="x") }} + +source: + url: https://sourceforge.net/projects/gametes/files/GAMETES_2.1.jar + sha256: 5e38b0993f8915e3e3e4c225ce6b684455d02c6189877d6ae219d24ad69e27d7 + +requirements: + run: + - openjdk >=17 + - python + host: + - openjdk >=17 + - python + +test: + commands: + - $(echo $(gametes -h | grep Usage)) + + + diff --git a/recipes/gangstr/build_failure.linux-64.yaml b/recipes/gangstr/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..1bb51b6c4c7d3 --- /dev/null +++ b/recipes/gangstr/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 2685a87b6b653fa97093eedb95571af5ed60d2d451580ef9438942d3eacb60e6 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + Y :: Build-prefix patch in use M :: Minimal, non-amalgamated + D :: Dry-runnable N :: Patch level (1 is preferred) + L :: Patch level not-ambiguous O :: Patch applies without offsets + V :: Patch applies without fuzz E :: Patch applies without emitting to stderr + + source tree in: /opt/conda/conda-bld/gangstr_1717785650270/work + export PREFIX=/opt/conda/conda-bld/gangstr_1717785650270/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place + export BUILD_PREFIX=/opt/conda/conda-bld/gangstr_1717785650270/_build_env + export SRC_DIR=/opt/conda/conda-bld/gangstr_1717785650270/work + INFO: activate-binutils_linux-64.sh made the following environmental changes: + ADDR2LINE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-addr2line + AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar + AS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-as + CXXFILT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cfilt + ELFEDIT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-elfedit + GPROF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gprof + LD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld + LD_GOLD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld.gold + NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-nm + OBJCOPY=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objcopy + OBJDUMP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objdump + RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib + READELF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-readelf + SIZE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-size + STRINGS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strings + STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip + INFO: activate-gcc_linux-64.sh made the following environmental changes: + BUILD=x86_64-conda-linux-gnu + CC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/gangstr-2.5.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH=$PREFIX;$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=$PREFIX:$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot/usr + CONDA_BUILD_SYSROOT=$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot + CONDA_TOOLCHAIN_BUILD=x86_64-conda-linux-gnu + CONDA_TOOLCHAIN_HOST=x86_64-conda-linux-gnu + CPP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cpp + CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include + DEBUG_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/gangstr-2.5.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem $PREFIX/include + GCC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc + GCC_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar + GCC_NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-nm + GCC_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib + HOST=x86_64-conda-linux-gnu + LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_cos6_linux_gnu + build_alias=x86_64-conda-linux-gnu + host_alias=x86_64-conda-linux-gnu + -BUILD=x86_64-conda_cos6-linux-gnu + -CONDA_BUILD_SYSROOT= + INFO: activate-gxx_linux-64.sh made the following environmental changes: + CXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/gangstr-2.5.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + DEBUG_CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/gangstr-2.5.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + GXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-g + -- The C compiler identification is GNU 12.3.0 + -- The CXX compiler identification is GNU 12.3.0 + -- Detecting C compiler ABI info + -- Detecting C compiler ABI info - done + -- Check for working C compiler: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc - skipped + -- Detecting C compile features + -- Detecting C compile features - done + -- Detecting CXX compiler ABI info + -- Detecting CXX compiler ABI info - done + -- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c - skipped + -- Detecting CXX compile features + -- Detecting CXX compile features - done + -- Found PkgConfig: $BUILD_PREFIX/bin/pkg-config (found version "0.29.2") + -- Checking for module 'htslib' + -- Package 'zlib', required by 'htslib', not found + CMake Error at /opt/conda/conda-bld/gangstr_1717785650270/_build_env/share/cmake-3.29/Modules/FindPkgConfig.cmake:634 (message): + The following required packages were not found: + + - htslib + + Call Stack (most recent call first): + /opt/conda/conda-bld/gangstr_1717785650270/_build_env/share/cmake-3.29/Modules/FindPkgConfig.cmake:862 (_pkg_check_modules_internal) + CMakeLists.txt:22 (pkg_check_modules) + + + -- Configuring incomplete, errors occurred! + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/gangstr_1717785650270/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/gangstr/build_failure.osx-64.yaml b/recipes/gangstr/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..9c735e3675dcb --- /dev/null +++ b/recipes/gangstr/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 2685a87b6b653fa97093eedb95571af5ed60d2d451580ef9438942d3eacb60e6 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + + Extracting download + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/gangstr/0001-Unvendor-dependencies-use-pkg-config-instead.patch + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/gangstr/0001-Unvendor-dependencies-use-pkg-config-instead.patch with args: + ['-Np1', '-i', '/tmp/tmpxexrt89l/0001-Unvendor-dependencies-use-pkg-config-instead.patch.native', '--binary'] + Patch analysis gives: + [[ RA-MD1LOVE ]] - [[ 0001-Unvendor-dependencies-use-pkg-config-instead.patch ]] + + Key: + + R :: Reversible A :: Applicable + Y :: Build-prefix patch in use M :: Minimal, non-amalgamated + D :: Dry-runnable N :: Patch level (1 is preferred) + L :: Patch level not-ambiguous O :: Patch applies without offsets + V :: Patch applies without fuzz E :: Patch applies without emitting to stderr + + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/gangstr_1717628038487/work + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/gangstr_1717628038487/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/gangstr_1717628038487/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/gangstr_1717628038487/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/gangstr-2.5.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/gangstr-2.5.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/gangstr-2.5.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/gangstr_1717628038487/work/conda_build.sh']' returned non-zero exit status 1. + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/gangstr-2.5.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + -- The C compiler identification is Clang 16.0.6 + -- The CXX compiler identification is Clang 16.0.6 + -- Detecting C compiler ABI info + -- Detecting C compiler ABI info - done + -- Check for working C compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting C compile features + -- Detecting C compile features - done + -- Detecting CXX compiler ABI info + -- Detecting CXX compiler ABI info - done + -- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting CXX compile features + -- Detecting CXX compile features - done + -- Found PkgConfig: $BUILD_PREFIX/bin/pkg-config (found version "0.29.2") + -- Checking for module 'htslib' + -- Package 'zlib', required by 'htslib', not found + -- Configuring incomplete, errors occurred! +# Last 100 lines of the build log. diff --git a/recipes/gangstr/gangstr-aarch64.patch b/recipes/gangstr/gangstr-aarch64.patch new file mode 100644 index 0000000000000..336544f8148e3 --- /dev/null +++ b/recipes/gangstr/gangstr-aarch64.patch @@ -0,0 +1,9339 @@ +diff --git c/src/sse2neon.h i/src/sse2neon.h +new file mode 100644 +index 0000000..8ecfc75 +--- /dev/null ++++ i/src/sse2neon.h +@@ -0,0 +1,9301 @@ ++#ifndef SSE2NEON_H ++#define SSE2NEON_H ++ ++/* ++ * sse2neon is freely redistributable under the MIT License. ++ * ++ * Copyright (c) 2015-2024 SSE2NEON Contributors. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to deal ++ * in the Software without restriction, including without limitation the rights ++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++ * copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ * SOFTWARE. ++ */ ++ ++// This header file provides a simple API translation layer ++// between SSE intrinsics to their corresponding Arm/Aarch64 NEON versions ++// ++// Contributors to this work are: ++// John W. Ratcliff ++// Brandon Rowlett ++// Ken Fast ++// Eric van Beurden ++// Alexander Potylitsin ++// Hasindu Gamaarachchi ++// Jim Huang ++// Mark Cheng ++// Malcolm James MacLeod ++// Devin Hussey (easyaspi314) ++// Sebastian Pop ++// Developer Ecosystem Engineering ++// Danila Kutenin ++// François Turban (JishinMaster) ++// Pei-Hsuan Hung ++// Yang-Hao Yuan ++// Syoyo Fujita ++// Brecht Van Lommel ++// Jonathan Hue ++// Cuda Chen ++// Aymen Qader ++// Anthony Roberts ++ ++/* Tunable configurations */ ++ ++/* Enable precise implementation of math operations ++ * This would slow down the computation a bit, but gives consistent result with ++ * x86 SSE. (e.g. would solve a hole or NaN pixel in the rendering result) ++ */ ++/* _mm_min|max_ps|ss|pd|sd */ ++#ifndef SSE2NEON_PRECISE_MINMAX ++#define SSE2NEON_PRECISE_MINMAX (0) ++#endif ++/* _mm_rcp_ps */ ++#ifndef SSE2NEON_PRECISE_DIV ++#define SSE2NEON_PRECISE_DIV (0) ++#endif ++/* _mm_sqrt_ps and _mm_rsqrt_ps */ ++#ifndef SSE2NEON_PRECISE_SQRT ++#define SSE2NEON_PRECISE_SQRT (0) ++#endif ++/* _mm_dp_pd */ ++#ifndef SSE2NEON_PRECISE_DP ++#define SSE2NEON_PRECISE_DP (0) ++#endif ++ ++/* Enable inclusion of windows.h on MSVC platforms ++ * This makes _mm_clflush functional on windows, as there is no builtin. ++ */ ++#ifndef SSE2NEON_INCLUDE_WINDOWS_H ++#define SSE2NEON_INCLUDE_WINDOWS_H (0) ++#endif ++ ++/* compiler specific definitions */ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma push_macro("FORCE_INLINE") ++#pragma push_macro("ALIGN_STRUCT") ++#define FORCE_INLINE static inline __attribute__((always_inline)) ++#define ALIGN_STRUCT(x) __attribute__((aligned(x))) ++#define _sse2neon_likely(x) __builtin_expect(!!(x), 1) ++#define _sse2neon_unlikely(x) __builtin_expect(!!(x), 0) ++#elif defined(_MSC_VER) ++#if _MSVC_TRADITIONAL ++#error Using the traditional MSVC preprocessor is not supported! Use /Zc:preprocessor instead. ++#endif ++#ifndef FORCE_INLINE ++#define FORCE_INLINE static inline ++#endif ++#ifndef ALIGN_STRUCT ++#define ALIGN_STRUCT(x) __declspec(align(x)) ++#endif ++#define _sse2neon_likely(x) (x) ++#define _sse2neon_unlikely(x) (x) ++#else ++#pragma message("Macro name collisions may happen with unsupported compilers.") ++#endif ++ ++ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma push_macro("FORCE_INLINE_OPTNONE") ++#define FORCE_INLINE_OPTNONE static inline __attribute__((optimize("O0"))) ++#elif defined(__clang__) ++#pragma push_macro("FORCE_INLINE_OPTNONE") ++#define FORCE_INLINE_OPTNONE static inline __attribute__((optnone)) ++#else ++#define FORCE_INLINE_OPTNONE FORCE_INLINE ++#endif ++ ++#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ < 10 ++#warning "GCC versions earlier than 10 are not supported." ++#endif ++ ++/* C language does not allow initializing a variable with a function call. */ ++#ifdef __cplusplus ++#define _sse2neon_const static const ++#else ++#define _sse2neon_const const ++#endif ++ ++#include ++#include ++ ++#if defined(_WIN32) ++/* Definitions for _mm_{malloc,free} are provided by ++ * from both MinGW-w64 and MSVC. ++ */ ++#define SSE2NEON_ALLOC_DEFINED ++#endif ++ ++/* If using MSVC */ ++#ifdef _MSC_VER ++#include ++#if SSE2NEON_INCLUDE_WINDOWS_H ++#include ++#include ++#endif ++ ++#if !defined(__cplusplus) ++#error SSE2NEON only supports C++ compilation with this compiler ++#endif ++ ++#ifdef SSE2NEON_ALLOC_DEFINED ++#include ++#endif ++ ++#if (defined(_M_AMD64) || defined(__x86_64__)) || \ ++ (defined(_M_ARM64) || defined(__arm64__)) ++#define SSE2NEON_HAS_BITSCAN64 ++#endif ++#endif ++ ++#if defined(__GNUC__) || defined(__clang__) ++#define _sse2neon_define0(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define1(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define2(type, a, b, body) \ ++ __extension__({ \ ++ type _a = (a), _b = (b); \ ++ body \ ++ }) ++#define _sse2neon_return(ret) (ret) ++#else ++#define _sse2neon_define0(type, a, body) [=](type _a) { body }(a) ++#define _sse2neon_define1(type, a, body) [](type _a) { body }(a) ++#define _sse2neon_define2(type, a, b, body) \ ++ [](type _a, type _b) { body }((a), (b)) ++#define _sse2neon_return(ret) return ret ++#endif ++ ++#define _sse2neon_init(...) \ ++ { \ ++ __VA_ARGS__ \ ++ } ++ ++/* Compiler barrier */ ++#if defined(_MSC_VER) ++#define SSE2NEON_BARRIER() _ReadWriteBarrier() ++#else ++#define SSE2NEON_BARRIER() \ ++ do { \ ++ __asm__ __volatile__("" ::: "memory"); \ ++ (void) 0; \ ++ } while (0) ++#endif ++ ++/* Memory barriers ++ * __atomic_thread_fence does not include a compiler barrier; instead, ++ * the barrier is part of __atomic_load/__atomic_store's "volatile-like" ++ * semantics. ++ */ ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) ++#include ++#endif ++ ++FORCE_INLINE void _sse2neon_smp_mb(void) ++{ ++ SSE2NEON_BARRIER(); ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \ ++ !defined(__STDC_NO_ATOMICS__) ++ atomic_thread_fence(memory_order_seq_cst); ++#elif defined(__GNUC__) || defined(__clang__) ++ __atomic_thread_fence(__ATOMIC_SEQ_CST); ++#else /* MSVC */ ++ __dmb(_ARM64_BARRIER_ISH); ++#endif ++} ++ ++/* Architecture-specific build options */ ++/* FIXME: #pragma GCC push_options is only available on GCC */ ++#if defined(__GNUC__) ++#if defined(__arm__) && __ARM_ARCH == 7 ++/* According to ARM C Language Extensions Architecture specification, ++ * __ARM_NEON is defined to a value indicating the Advanced SIMD (NEON) ++ * architecture supported. ++ */ ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error "You must enable NEON instructions (e.g. -mfpu=neon) to use SSE2NEON." ++#endif ++#if !defined(__clang__) ++#pragma GCC push_options ++#pragma GCC target("fpu=neon") ++#endif ++#elif defined(__aarch64__) || defined(_M_ARM64) ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#pragma GCC target("+simd") ++#endif ++#elif __ARM_ARCH == 8 ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error \ ++ "You must enable NEON instructions (e.g. -mfpu=neon-fp-armv8) to use SSE2NEON." ++#endif ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#endif ++#else ++#error \ ++ "Unsupported target. Must be either ARMv7-A+NEON or ARMv8-A \ ++(you could try setting target explicitly with -march or -mcpu)" ++#endif ++#endif ++ ++#include ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) && (__ARM_ARCH == 8) ++#if defined __has_include && __has_include() ++#include ++#endif ++#endif ++ ++/* Apple Silicon cache lines are double of what is commonly used by Intel, AMD ++ * and other Arm microarchitectures use. ++ * From sysctl -a on Apple M1: ++ * hw.cachelinesize: 128 ++ */ ++#if defined(__APPLE__) && (defined(__aarch64__) || defined(__arm64__)) ++#define SSE2NEON_CACHELINE_SIZE 128 ++#else ++#define SSE2NEON_CACHELINE_SIZE 64 ++#endif ++ ++/* Rounding functions require either Aarch64 instructions or libm fallback */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#include ++#endif ++ ++/* On ARMv7, some registers, such as PMUSERENR and PMCCNTR, are read-only ++ * or even not accessible in user mode. ++ * To write or access to these registers in user mode, ++ * we have to perform syscall instead. ++ */ ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) ++#include ++#endif ++ ++/* "__has_builtin" can be used to query support for built-in functions ++ * provided by gcc/clang and other compilers that support it. ++ */ ++#ifndef __has_builtin /* GCC prior to 10 or non-clang compilers */ ++/* Compatibility with gcc <= 9 */ ++#if defined(__GNUC__) && (__GNUC__ <= 9) ++#define __has_builtin(x) HAS##x ++#define HAS__builtin_popcount 1 ++#define HAS__builtin_popcountll 1 ++ ++// __builtin_shuffle introduced in GCC 4.7.0 ++#if (__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) ++#define HAS__builtin_shuffle 1 ++#else ++#define HAS__builtin_shuffle 0 ++#endif ++ ++#define HAS__builtin_shufflevector 0 ++#define HAS__builtin_nontemporal_store 0 ++#else ++#define __has_builtin(x) 0 ++#endif ++#endif ++ ++/** ++ * MACRO for shuffle parameter for _mm_shuffle_ps(). ++ * Argument fp3 is a digit[0123] that represents the fp from argument "b" ++ * of mm_shuffle_ps that will be placed in fp3 of result. fp2 is the same ++ * for fp2 in result. fp1 is a digit[0123] that represents the fp from ++ * argument "a" of mm_shuffle_ps that will be places in fp1 of result. ++ * fp0 is the same for fp0 of result. ++ */ ++#define _MM_SHUFFLE(fp3, fp2, fp1, fp0) \ ++ (((fp3) << 6) | ((fp2) << 4) | ((fp1) << 2) | ((fp0))) ++ ++#if __has_builtin(__builtin_shufflevector) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __builtin_shufflevector(a, b, __VA_ARGS__) ++#elif __has_builtin(__builtin_shuffle) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __extension__({ \ ++ type tmp = {__VA_ARGS__}; \ ++ __builtin_shuffle(a, b, tmp); \ ++ }) ++#endif ++ ++#ifdef _sse2neon_shuffle ++#define vshuffle_s16(a, b, ...) _sse2neon_shuffle(int16x4_t, a, b, __VA_ARGS__) ++#define vshuffleq_s16(a, b, ...) _sse2neon_shuffle(int16x8_t, a, b, __VA_ARGS__) ++#define vshuffle_s32(a, b, ...) _sse2neon_shuffle(int32x2_t, a, b, __VA_ARGS__) ++#define vshuffleq_s32(a, b, ...) _sse2neon_shuffle(int32x4_t, a, b, __VA_ARGS__) ++#define vshuffle_s64(a, b, ...) _sse2neon_shuffle(int64x1_t, a, b, __VA_ARGS__) ++#define vshuffleq_s64(a, b, ...) _sse2neon_shuffle(int64x2_t, a, b, __VA_ARGS__) ++#endif ++ ++/* Rounding mode macros. */ ++#define _MM_FROUND_TO_NEAREST_INT 0x00 ++#define _MM_FROUND_TO_NEG_INF 0x01 ++#define _MM_FROUND_TO_POS_INF 0x02 ++#define _MM_FROUND_TO_ZERO 0x03 ++#define _MM_FROUND_CUR_DIRECTION 0x04 ++#define _MM_FROUND_NO_EXC 0x08 ++#define _MM_FROUND_RAISE_EXC 0x00 ++#define _MM_FROUND_NINT (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_FLOOR (_MM_FROUND_TO_NEG_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_CEIL (_MM_FROUND_TO_POS_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_TRUNC (_MM_FROUND_TO_ZERO | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_RINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_NEARBYINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_NO_EXC) ++#define _MM_ROUND_NEAREST 0x0000 ++#define _MM_ROUND_DOWN 0x2000 ++#define _MM_ROUND_UP 0x4000 ++#define _MM_ROUND_TOWARD_ZERO 0x6000 ++/* Flush zero mode macros. */ ++#define _MM_FLUSH_ZERO_MASK 0x8000 ++#define _MM_FLUSH_ZERO_ON 0x8000 ++#define _MM_FLUSH_ZERO_OFF 0x0000 ++/* Denormals are zeros mode macros. */ ++#define _MM_DENORMALS_ZERO_MASK 0x0040 ++#define _MM_DENORMALS_ZERO_ON 0x0040 ++#define _MM_DENORMALS_ZERO_OFF 0x0000 ++ ++/* indicate immediate constant argument in a given range */ ++#define __constrange(a, b) const ++ ++/* A few intrinsics accept traditional data types like ints or floats, but ++ * most operate on data types that are specific to SSE. ++ * If a vector type ends in d, it contains doubles, and if it does not have ++ * a suffix, it contains floats. An integer vector type can contain any type ++ * of integer, from chars to shorts to unsigned long longs. ++ */ ++typedef int64x1_t __m64; ++typedef float32x4_t __m128; /* 128-bit vector containing 4 floats */ ++// On ARM 32-bit architecture, the float64x2_t is not supported. ++// The data type __m128d should be represented in a different way for related ++// intrinsic conversion. ++#if defined(__aarch64__) || defined(_M_ARM64) ++typedef float64x2_t __m128d; /* 128-bit vector containing 2 doubles */ ++#else ++typedef float32x4_t __m128d; ++#endif ++typedef int64x2_t __m128i; /* 128-bit vector containing integers */ ++ ++// Some intrinsics operate on unaligned data types. ++typedef int16_t ALIGN_STRUCT(1) unaligned_int16_t; ++typedef int32_t ALIGN_STRUCT(1) unaligned_int32_t; ++typedef int64_t ALIGN_STRUCT(1) unaligned_int64_t; ++ ++// __int64 is defined in the Intrinsics Guide which maps to different datatype ++// in different data model ++#if !(defined(_WIN32) || defined(_WIN64) || defined(__int64)) ++#if (defined(__x86_64__) || defined(__i386__)) ++#define __int64 long long ++#else ++#define __int64 int64_t ++#endif ++#endif ++ ++/* type-safe casting between types */ ++ ++#define vreinterpretq_m128_f16(x) vreinterpretq_f32_f16(x) ++#define vreinterpretq_m128_f32(x) (x) ++#define vreinterpretq_m128_f64(x) vreinterpretq_f32_f64(x) ++ ++#define vreinterpretq_m128_u8(x) vreinterpretq_f32_u8(x) ++#define vreinterpretq_m128_u16(x) vreinterpretq_f32_u16(x) ++#define vreinterpretq_m128_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128_s8(x) vreinterpretq_f32_s8(x) ++#define vreinterpretq_m128_s16(x) vreinterpretq_f32_s16(x) ++#define vreinterpretq_m128_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_f16_m128(x) vreinterpretq_f16_f32(x) ++#define vreinterpretq_f32_m128(x) (x) ++#define vreinterpretq_f64_m128(x) vreinterpretq_f64_f32(x) ++ ++#define vreinterpretq_u8_m128(x) vreinterpretq_u8_f32(x) ++#define vreinterpretq_u16_m128(x) vreinterpretq_u16_f32(x) ++#define vreinterpretq_u32_m128(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_s8_m128(x) vreinterpretq_s8_f32(x) ++#define vreinterpretq_s16_m128(x) vreinterpretq_s16_f32(x) ++#define vreinterpretq_s32_m128(x) vreinterpretq_s32_f32(x) ++#define vreinterpretq_s64_m128(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_m128i_s8(x) vreinterpretq_s64_s8(x) ++#define vreinterpretq_m128i_s16(x) vreinterpretq_s64_s16(x) ++#define vreinterpretq_m128i_s32(x) vreinterpretq_s64_s32(x) ++#define vreinterpretq_m128i_s64(x) (x) ++ ++#define vreinterpretq_m128i_u8(x) vreinterpretq_s64_u8(x) ++#define vreinterpretq_m128i_u16(x) vreinterpretq_s64_u16(x) ++#define vreinterpretq_m128i_u32(x) vreinterpretq_s64_u32(x) ++#define vreinterpretq_m128i_u64(x) vreinterpretq_s64_u64(x) ++ ++#define vreinterpretq_f32_m128i(x) vreinterpretq_f32_s64(x) ++#define vreinterpretq_f64_m128i(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_s8_m128i(x) vreinterpretq_s8_s64(x) ++#define vreinterpretq_s16_m128i(x) vreinterpretq_s16_s64(x) ++#define vreinterpretq_s32_m128i(x) vreinterpretq_s32_s64(x) ++#define vreinterpretq_s64_m128i(x) (x) ++ ++#define vreinterpretq_u8_m128i(x) vreinterpretq_u8_s64(x) ++#define vreinterpretq_u16_m128i(x) vreinterpretq_u16_s64(x) ++#define vreinterpretq_u32_m128i(x) vreinterpretq_u32_s64(x) ++#define vreinterpretq_u64_m128i(x) vreinterpretq_u64_s64(x) ++ ++#define vreinterpret_m64_s8(x) vreinterpret_s64_s8(x) ++#define vreinterpret_m64_s16(x) vreinterpret_s64_s16(x) ++#define vreinterpret_m64_s32(x) vreinterpret_s64_s32(x) ++#define vreinterpret_m64_s64(x) (x) ++ ++#define vreinterpret_m64_u8(x) vreinterpret_s64_u8(x) ++#define vreinterpret_m64_u16(x) vreinterpret_s64_u16(x) ++#define vreinterpret_m64_u32(x) vreinterpret_s64_u32(x) ++#define vreinterpret_m64_u64(x) vreinterpret_s64_u64(x) ++ ++#define vreinterpret_m64_f16(x) vreinterpret_s64_f16(x) ++#define vreinterpret_m64_f32(x) vreinterpret_s64_f32(x) ++#define vreinterpret_m64_f64(x) vreinterpret_s64_f64(x) ++ ++#define vreinterpret_u8_m64(x) vreinterpret_u8_s64(x) ++#define vreinterpret_u16_m64(x) vreinterpret_u16_s64(x) ++#define vreinterpret_u32_m64(x) vreinterpret_u32_s64(x) ++#define vreinterpret_u64_m64(x) vreinterpret_u64_s64(x) ++ ++#define vreinterpret_s8_m64(x) vreinterpret_s8_s64(x) ++#define vreinterpret_s16_m64(x) vreinterpret_s16_s64(x) ++#define vreinterpret_s32_m64(x) vreinterpret_s32_s64(x) ++#define vreinterpret_s64_m64(x) (x) ++ ++#define vreinterpret_f32_m64(x) vreinterpret_f32_s64(x) ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f64_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f64_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) vreinterpretq_f64_f32(x) ++#define vreinterpretq_m128d_f64(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f64(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f64(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f64(x) ++ ++#define vreinterpretq_f64_m128d(x) (x) ++#define vreinterpretq_f32_m128d(x) vreinterpretq_f32_f64(x) ++#else ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_m128d_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_f32_m128d(x) (x) ++#endif ++ ++// A struct is defined in this header file called 'SIMDVec' which can be used ++// by applications which attempt to access the contents of an __m128 struct ++// directly. It is important to note that accessing the __m128 struct directly ++// is bad coding practice by Microsoft: @see: ++// https://learn.microsoft.com/en-us/cpp/cpp/m128 ++// ++// However, some legacy source code may try to access the contents of an __m128 ++// struct directly so the developer can use the SIMDVec as an alias for it. Any ++// casting must be done manually by the developer, as you cannot cast or ++// otherwise alias the base NEON data type for intrinsic operations. ++// ++// union intended to allow direct access to an __m128 variable using the names ++// that the MSVC compiler provides. This union should really only be used when ++// trying to access the members of the vector as integer values. GCC/clang ++// allow native access to the float members through a simple array access ++// operator (in C since 4.6, in C++ since 4.8). ++// ++// Ideally direct accesses to SIMD vectors should not be used since it can cause ++// a performance hit. If it really is needed however, the original __m128 ++// variable can be aliased with a pointer to this union and used to access ++// individual components. The use of this union should be hidden behind a macro ++// that is used throughout the codebase to access the members instead of always ++// declaring this type of variable. ++typedef union ALIGN_STRUCT(16) SIMDVec { ++ float m128_f32[4]; // as floats - DON'T USE. Added for convenience. ++ int8_t m128_i8[16]; // as signed 8-bit integers. ++ int16_t m128_i16[8]; // as signed 16-bit integers. ++ int32_t m128_i32[4]; // as signed 32-bit integers. ++ int64_t m128_i64[2]; // as signed 64-bit integers. ++ uint8_t m128_u8[16]; // as unsigned 8-bit integers. ++ uint16_t m128_u16[8]; // as unsigned 16-bit integers. ++ uint32_t m128_u32[4]; // as unsigned 32-bit integers. ++ uint64_t m128_u64[2]; // as unsigned 64-bit integers. ++} SIMDVec; ++ ++// casting using SIMDVec ++#define vreinterpretq_nth_u64_m128i(x, n) (((SIMDVec *) &x)->m128_u64[n]) ++#define vreinterpretq_nth_u32_m128i(x, n) (((SIMDVec *) &x)->m128_u32[n]) ++#define vreinterpretq_nth_u8_m128i(x, n) (((SIMDVec *) &x)->m128_u8[n]) ++ ++/* SSE macros */ ++#define _MM_GET_FLUSH_ZERO_MODE _sse2neon_mm_get_flush_zero_mode ++#define _MM_SET_FLUSH_ZERO_MODE _sse2neon_mm_set_flush_zero_mode ++#define _MM_GET_DENORMALS_ZERO_MODE _sse2neon_mm_get_denormals_zero_mode ++#define _MM_SET_DENORMALS_ZERO_MODE _sse2neon_mm_set_denormals_zero_mode ++ ++// Function declaration ++// SSE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void); ++FORCE_INLINE __m128 _mm_move_ss(__m128, __m128); ++FORCE_INLINE __m128 _mm_or_ps(__m128, __m128); ++FORCE_INLINE __m128 _mm_set_ps1(float); ++FORCE_INLINE __m128 _mm_setzero_ps(void); ++// SSE2 ++FORCE_INLINE __m128i _mm_and_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_castps_si128(__m128); ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128); ++FORCE_INLINE __m128d _mm_move_sd(__m128d, __m128d); ++FORCE_INLINE __m128i _mm_or_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_set_epi32(int, int, int, int); ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t, int64_t); ++FORCE_INLINE __m128d _mm_set_pd(double, double); ++FORCE_INLINE __m128i _mm_set1_epi32(int); ++FORCE_INLINE __m128i _mm_setzero_si128(void); ++// SSE4.1 ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d); ++FORCE_INLINE __m128 _mm_ceil_ps(__m128); ++FORCE_INLINE __m128d _mm_floor_pd(__m128d); ++FORCE_INLINE __m128 _mm_floor_ps(__m128); ++FORCE_INLINE_OPTNONE __m128d _mm_round_pd(__m128d, int); ++FORCE_INLINE_OPTNONE __m128 _mm_round_ps(__m128, int); ++// SSE4.2 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t, uint8_t); ++ ++/* Backwards compatibility for compilers with lack of specific type support */ ++ ++// Older gcc does not define vld1q_u8_x4 type ++#if defined(__GNUC__) && !defined(__clang__) && \ ++ ((__GNUC__ <= 13 && defined(__arm__)) || \ ++ (__GNUC__ == 10 && __GNUC_MINOR__ < 3 && defined(__aarch64__)) || \ ++ (__GNUC__ <= 9 && defined(__aarch64__))) ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ uint8x16x4_t ret; ++ ret.val[0] = vld1q_u8(p + 0); ++ ret.val[1] = vld1q_u8(p + 16); ++ ret.val[2] = vld1q_u8(p + 32); ++ ret.val[3] = vld1q_u8(p + 48); ++ return ret; ++} ++#else ++// Wraps vld1q_u8_x4 ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ return vld1q_u8_x4(p); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddv u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ const uint64x1_t v1 = vpaddl_u32(vpaddl_u16(vpaddl_u8(v8))); ++ return vget_lane_u8(vreinterpret_u8_u64(v1), 0); ++} ++#else ++// Wraps vaddv_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ return vaddv_u8(v8); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ uint8x8_t tmp = vpadd_u8(vget_low_u8(a), vget_high_u8(a)); ++ uint8_t res = 0; ++ for (int i = 0; i < 8; ++i) ++ res += tmp[i]; ++ return res; ++} ++#else ++// Wraps vaddvq_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ return vaddvq_u8(a); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u16 variant */ ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ uint32x4_t m = vpaddlq_u16(a); ++ uint64x2_t n = vpaddlq_u32(m); ++ uint64x1_t o = vget_low_u64(n) + vget_high_u64(n); ++ ++ return vget_lane_u32((uint32x2_t) o, 0); ++} ++#else ++// Wraps vaddvq_u16 ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ return vaddvq_u16(a); ++} ++#endif ++ ++/* Function Naming Conventions ++ * The naming convention of SSE intrinsics is straightforward. A generic SSE ++ * intrinsic function is given as follows: ++ * _mm__ ++ * ++ * The parts of this format are given as follows: ++ * 1. describes the operation performed by the intrinsic ++ * 2. identifies the data type of the function's primary arguments ++ * ++ * This last part, , is a little complicated. It identifies the ++ * content of the input values, and can be set to any of the following values: ++ * + ps - vectors contain floats (ps stands for packed single-precision) ++ * + pd - vectors contain doubles (pd stands for packed double-precision) ++ * + epi8/epi16/epi32/epi64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * signed integers ++ * + epu8/epu16/epu32/epu64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * unsigned integers ++ * + si128 - unspecified 128-bit vector or 256-bit vector ++ * + m128/m128i/m128d - identifies input vector types when they are different ++ * than the type of the returned vector ++ * ++ * For example, _mm_setzero_ps. The _mm implies that the function returns ++ * a 128-bit vector. The _ps at the end implies that the argument vectors ++ * contain floats. ++ * ++ * A complete example: Byte Shuffle - pshufb (_mm_shuffle_epi8) ++ * // Set packed 16-bit integers. 128 bits, 8 short, per 16 bits ++ * __m128i v_in = _mm_setr_epi16(1, 2, 3, 4, 5, 6, 7, 8); ++ * // Set packed 8-bit integers ++ * // 128 bits, 16 chars, per 8 bits ++ * __m128i v_perm = _mm_setr_epi8(1, 0, 2, 3, 8, 9, 10, 11, ++ * 4, 5, 12, 13, 6, 7, 14, 15); ++ * // Shuffle packed 8-bit integers ++ * __m128i v_out = _mm_shuffle_epi8(v_in, v_perm); // pshufb ++ */ ++ ++/* Constants for use with _mm_prefetch. */ ++enum _mm_hint { ++ _MM_HINT_NTA = 0, /* load data to L1 and L2 cache, mark it as NTA */ ++ _MM_HINT_T0 = 1, /* load data to L1 and L2 cache */ ++ _MM_HINT_T1 = 2, /* load data to L2 cache only */ ++ _MM_HINT_T2 = 3, /* load data to L2 cache only, mark it as NTA */ ++}; ++ ++// The bit field mapping to the FPCR(floating-point control register) ++typedef struct { ++ uint16_t res0; ++ uint8_t res1 : 6; ++ uint8_t bit22 : 1; ++ uint8_t bit23 : 1; ++ uint8_t bit24 : 1; ++ uint8_t res2 : 7; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32_t res3; ++#endif ++} fpcr_bitfield; ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of b and places it into the high end of the result. ++FORCE_INLINE __m128 _mm_shuffle_ps_1032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in high ++// end of result takes the higher two 32 bit values from b and swaps them and ++// places in low end of result. ++FORCE_INLINE __m128 _mm_shuffle_ps_2301(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b23 = vrev64_f32(vget_high_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b23)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0321(__m128 a, __m128 b) ++{ ++ float32x2_t a21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a21, b03)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2103(__m128 a, __m128 b) ++{ ++ float32x2_t a03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a03, b21)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0101(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b01)); ++} ++ ++// keeps the low 64 bits of b in the low and puts the high 64 bits of a in the ++// high ++FORCE_INLINE __m128 _mm_shuffle_ps_3210(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0011(__m128 a, __m128 b) ++{ ++ float32x2_t a11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a11, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0022(__m128 a, __m128 b) ++{ ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a22, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2200(__m128 a, __m128 b) ++{ ++ float32x2_t a00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a00, b22)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_3202(__m128 a, __m128 b) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t a02 = vset_lane_f32(a0, a22, 1); /* TODO: use vzip ?*/ ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a02, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1133(__m128 a, __m128 b) ++{ ++ float32x2_t a33 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a33, b11)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b20)); ++} ++ ++// For MSVC, we check only if it is ARM64, as every single ARM64 processor ++// supported by WoA has crypto extensions. If this changes in the future, ++// this can be verified via the runtime-only method of: ++// IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE) ++#if (defined(_M_ARM64) && !defined(__clang__)) || \ ++ (defined(__ARM_FEATURE_CRYPTO) && \ ++ (defined(__aarch64__) || __has_builtin(__builtin_arm_crypto_vmullp64))) ++// Wraps vmull_p64 ++FORCE_INLINE uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly64_t a = vget_lane_p64(vreinterpret_p64_u64(_a), 0); ++ poly64_t b = vget_lane_p64(vreinterpret_p64_u64(_b), 0); ++#if defined(_MSC_VER) ++ __n64 a1 = {a}, b1 = {b}; ++ return vreinterpretq_u64_p128(vmull_p64(a1, b1)); ++#else ++ return vreinterpretq_u64_p128(vmull_p64(a, b)); ++#endif ++} ++#else // ARMv7 polyfill ++// ARMv7/some A64 lacks vmull_p64, but it has vmull_p8. ++// ++// vmull_p8 calculates 8 8-bit->16-bit polynomial multiplies, but we need a ++// 64-bit->128-bit polynomial multiply. ++// ++// It needs some work and is somewhat slow, but it is still faster than all ++// known scalar methods. ++// ++// Algorithm adapted to C from ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/, which is adapted ++// from "Fast Software Polynomial Multiplication on ARM Processors Using the ++// NEON Engine" by Danilo Camara, Conrado Gouvea, Julio Lopez and Ricardo Dahab ++// (https://hal.inria.fr/hal-01506572) ++static uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly8x8_t a = vreinterpret_p8_u64(_a); ++ poly8x8_t b = vreinterpret_p8_u64(_b); ++ ++ // Masks ++ uint8x16_t k48_32 = vcombine_u8(vcreate_u8(0x0000ffffffffffff), ++ vcreate_u8(0x00000000ffffffff)); ++ uint8x16_t k16_00 = vcombine_u8(vcreate_u8(0x000000000000ffff), ++ vcreate_u8(0x0000000000000000)); ++ ++ // Do the multiplies, rotating with vext to get all combinations ++ uint8x16_t d = vreinterpretq_u8_p16(vmull_p8(a, b)); // D = A0 * B0 ++ uint8x16_t e = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 1))); // E = A0 * B1 ++ uint8x16_t f = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 1), b)); // F = A1 * B0 ++ uint8x16_t g = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 2))); // G = A0 * B2 ++ uint8x16_t h = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 2), b)); // H = A2 * B0 ++ uint8x16_t i = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 3))); // I = A0 * B3 ++ uint8x16_t j = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 3), b)); // J = A3 * B0 ++ uint8x16_t k = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 4))); // L = A0 * B4 ++ ++ // Add cross products ++ uint8x16_t l = veorq_u8(e, f); // L = E + F ++ uint8x16_t m = veorq_u8(g, h); // M = G + H ++ uint8x16_t n = veorq_u8(i, j); // N = I + J ++ ++ // Interleave. Using vzip1 and vzip2 prevents Clang from emitting TBL ++ // instructions. ++#if defined(__aarch64__) ++ uint8x16_t lm_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t lm_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t nk_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++ uint8x16_t nk_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++#else ++ uint8x16_t lm_p0 = vcombine_u8(vget_low_u8(l), vget_low_u8(m)); ++ uint8x16_t lm_p1 = vcombine_u8(vget_high_u8(l), vget_high_u8(m)); ++ uint8x16_t nk_p0 = vcombine_u8(vget_low_u8(n), vget_low_u8(k)); ++ uint8x16_t nk_p1 = vcombine_u8(vget_high_u8(n), vget_high_u8(k)); ++#endif ++ // t0 = (L) (P0 + P1) << 8 ++ // t1 = (M) (P2 + P3) << 16 ++ uint8x16_t t0t1_tmp = veorq_u8(lm_p0, lm_p1); ++ uint8x16_t t0t1_h = vandq_u8(lm_p1, k48_32); ++ uint8x16_t t0t1_l = veorq_u8(t0t1_tmp, t0t1_h); ++ ++ // t2 = (N) (P4 + P5) << 24 ++ // t3 = (K) (P6 + P7) << 32 ++ uint8x16_t t2t3_tmp = veorq_u8(nk_p0, nk_p1); ++ uint8x16_t t2t3_h = vandq_u8(nk_p1, k16_00); ++ uint8x16_t t2t3_l = veorq_u8(t2t3_tmp, t2t3_h); ++ ++ // De-interleave ++#if defined(__aarch64__) ++ uint8x16_t t0 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t1 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t2 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++ uint8x16_t t3 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++#else ++ uint8x16_t t1 = vcombine_u8(vget_high_u8(t0t1_l), vget_high_u8(t0t1_h)); ++ uint8x16_t t0 = vcombine_u8(vget_low_u8(t0t1_l), vget_low_u8(t0t1_h)); ++ uint8x16_t t3 = vcombine_u8(vget_high_u8(t2t3_l), vget_high_u8(t2t3_h)); ++ uint8x16_t t2 = vcombine_u8(vget_low_u8(t2t3_l), vget_low_u8(t2t3_h)); ++#endif ++ // Shift the cross products ++ uint8x16_t t0_shift = vextq_u8(t0, t0, 15); // t0 << 8 ++ uint8x16_t t1_shift = vextq_u8(t1, t1, 14); // t1 << 16 ++ uint8x16_t t2_shift = vextq_u8(t2, t2, 13); // t2 << 24 ++ uint8x16_t t3_shift = vextq_u8(t3, t3, 12); // t3 << 32 ++ ++ // Accumulate the products ++ uint8x16_t cross1 = veorq_u8(t0_shift, t1_shift); ++ uint8x16_t cross2 = veorq_u8(t2_shift, t3_shift); ++ uint8x16_t mix = veorq_u8(d, cross1); ++ uint8x16_t r = veorq_u8(mix, cross2); ++ return vreinterpretq_u64_u8(r); ++} ++#endif // ARMv7 polyfill ++ ++// C equivalent: ++// __m128i _mm_shuffle_epi32_default(__m128i a, ++// __constrange(0, 255) int imm) { ++// __m128i ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = a[(imm >> 4) & 0x03]; ret[3] = a[(imm >> 6) & 0x03]; ++// return ret; ++// } ++#define _mm_shuffle_epi32_default(a, imm) \ ++ vreinterpretq_m128i_s32(vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), \ ++ ((imm) >> 2) & 0x3), \ ++ vmovq_n_s32(vgetq_lane_s32( \ ++ vreinterpretq_s32_m128i(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of a and places it into the high end of the result. ++FORCE_INLINE __m128i _mm_shuffle_epi_1032(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in low end ++// of result takes the higher two 32 bit values from a and swaps them and places ++// in high end of result. ++FORCE_INLINE __m128i _mm_shuffle_epi_2301(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a23 = vrev64_s32(vget_high_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a23)); ++} ++ ++// rotates the least significant 32 bits into the most significant 32 bits, and ++// shifts the rest down ++FORCE_INLINE __m128i _mm_shuffle_epi_0321(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 1)); ++} ++ ++// rotates the most significant 32 bits into the least significant 32 bits, and ++// shifts the rest up ++FORCE_INLINE __m128i _mm_shuffle_epi_2103(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 3)); ++} ++ ++// gets the lower 64 bits of a, and places it in the upper 64 bits ++// gets the lower 64 bits of a and places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1010(__m128i a) ++{ ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a10, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements, and places it in the ++// lower 64 bits gets the lower 64 bits of a, and places it in the upper 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1001(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements and places it in the ++// upper 64 bits gets the lower 64 bits of a, swaps the 0 and 1 elements, and ++// places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_0101(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_2211(__m128i a) ++{ ++ int32x2_t a11 = vdup_lane_s32(vget_low_s32(vreinterpretq_s32_m128i(a)), 1); ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ return vreinterpretq_m128i_s32(vcombine_s32(a11, a22)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_0122(__m128i a) ++{ ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a22, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_3332(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a33 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 1); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a33)); ++} ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32(vdupq_laneq_s32(vreinterpretq_s32_m128i(a), (imm))) ++#else ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vdupq_n_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)))) ++#endif ++ ++// NEON does not support a general purpose permute intrinsic. ++// Shuffle single-precision (32-bit) floating-point elements in a using the ++// control in imm8, and store the results in dst. ++// ++// C equivalent: ++// __m128 _mm_shuffle_ps_default(__m128 a, __m128 b, ++// __constrange(0, 255) int imm) { ++// __m128 ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = b[(imm >> 4) & 0x03]; ret[3] = b[(imm >> 6) & 0x03]; ++// return ret; ++// } ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_ps ++#define _mm_shuffle_ps_default(a, b, imm) \ ++ vreinterpretq_m128_f32(vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), ((imm) >> 2) & 0x3), \ ++ vmovq_n_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Shuffle 16-bit integers in the low 64 bits of a using the control in imm8. ++// Store the results in the low 64 bits of dst, with the high 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflelo_epi16 ++#define _mm_shufflelo_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t lowBits = vget_low_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, (imm) & (0x3)), ret, 0); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++// Shuffle 16-bit integers in the high 64 bits of a using the control in imm8. ++// Store the results in the high 64 bits of dst, with the low 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflehi_epi16 ++#define _mm_shufflehi_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t highBits = vget_high_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, (imm) & (0x3)), ret, 4); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 2) & 0x3), ret, \ ++ 5); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 4) & 0x3), ret, \ ++ 6); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 6) & 0x3), ret, \ ++ 7); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++/* MMX */ ++ ++//_mm_empty is a no-op on arm ++FORCE_INLINE void _mm_empty(void) {} ++ ++/* SSE */ ++ ++// Add packed single-precision (32-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ps ++FORCE_INLINE __m128 _mm_add_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Add the lower single-precision (32-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ss ++FORCE_INLINE __m128 _mm_add_ss(__m128 a, __m128 b) ++{ ++ float32_t b0 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++ float32x4_t value = vsetq_lane_f32(b0, vdupq_n_f32(0), 0); ++ // the upper values in the result must be the remnants of . ++ return vreinterpretq_m128_f32(vaddq_f32(a, value)); ++} ++ ++// Compute the bitwise AND of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_ps ++FORCE_INLINE __m128 _mm_and_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vandq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Compute the bitwise NOT of packed single-precision (32-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_ps ++FORCE_INLINE __m128 _mm_andnot_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vbicq_s32(vreinterpretq_s32_m128(b), ++ vreinterpretq_s32_m128(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu16 ++FORCE_INLINE __m64 _mm_avg_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16( ++ vrhadd_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu8 ++FORCE_INLINE __m64 _mm_avg_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vrhadd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ps ++FORCE_INLINE __m128 _mm_cmpeq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ss ++FORCE_INLINE __m128 _mm_cmpeq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpeq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ps ++FORCE_INLINE __m128 _mm_cmpge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ss ++FORCE_INLINE __m128 _mm_cmpge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ps ++FORCE_INLINE __m128 _mm_cmpgt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ss ++FORCE_INLINE __m128 _mm_cmpgt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpgt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ps ++FORCE_INLINE __m128 _mm_cmple_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ss ++FORCE_INLINE __m128 _mm_cmple_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmple_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ps ++FORCE_INLINE __m128 _mm_cmplt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ss ++FORCE_INLINE __m128 _mm_cmplt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmplt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ps ++FORCE_INLINE __m128 _mm_cmpneq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ss ++FORCE_INLINE __m128 _mm_cmpneq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpneq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ps ++FORCE_INLINE __m128 _mm_cmpnge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ss ++FORCE_INLINE __m128 _mm_cmpnge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ps ++FORCE_INLINE __m128 _mm_cmpngt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ss ++FORCE_INLINE __m128 _mm_cmpngt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpngt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ps ++FORCE_INLINE __m128 _mm_cmpnle_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ss ++FORCE_INLINE __m128 _mm_cmpnle_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnle_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ps ++FORCE_INLINE __m128 _mm_cmpnlt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ss ++FORCE_INLINE __m128 _mm_cmpnlt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnlt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ps ++// ++// See also: ++// http://stackoverflow.com/questions/8627331/what-does-ordered-unordered-comparison-mean ++// http://stackoverflow.com/questions/29349621/neon-isnanval-intrinsics ++FORCE_INLINE __m128 _mm_cmpord_ps(__m128 a, __m128 b) ++{ ++ // Note: NEON does not have ordered compare builtin ++ // Need to compare a eq a and b eq b to check for NaN ++ // Do AND of results to get final ++ uint32x4_t ceqaa = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t ceqbb = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vandq_u32(ceqaa, ceqbb)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ss ++FORCE_INLINE __m128 _mm_cmpord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpord_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ps ++FORCE_INLINE __m128 _mm_cmpunord_ps(__m128 a, __m128 b) ++{ ++ uint32x4_t f32a = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t f32b = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vmvnq_u32(vandq_u32(f32a, f32b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ss ++FORCE_INLINE __m128 _mm_cmpunord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpunord_ps(a, b)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_ss ++FORCE_INLINE int _mm_comieq_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_eq_b = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_eq_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_ss ++FORCE_INLINE int _mm_comige_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_ge_b = ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_ge_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_ss ++FORCE_INLINE int _mm_comigt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_gt_b = ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_gt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_ss ++FORCE_INLINE int _mm_comile_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_le_b = ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_le_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_ss ++FORCE_INLINE int _mm_comilt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_lt_b = ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_lt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_ss ++FORCE_INLINE int _mm_comineq_ss(__m128 a, __m128 b) ++{ ++ return !_mm_comieq_ss(a, b); ++} ++ ++// Convert packed signed 32-bit integers in b to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, and copy the upper 2 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_pi2ps ++FORCE_INLINE __m128 _mm_cvt_pi2ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ps2pi ++FORCE_INLINE __m64 _mm_cvt_ps2pi(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))))); ++#else ++ return vreinterpret_m64_s32(vcvt_s32_f32(vget_low_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION))))); ++#endif ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_si2ss ++FORCE_INLINE __m128 _mm_cvt_si2ss(__m128 a, int b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ss2si ++FORCE_INLINE int _mm_cvt_ss2si(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vgetq_lane_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))), ++ 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int32_t) data; ++#endif ++} ++ ++// Convert packed 16-bit integers in a to packed single-precision (32-bit) ++// floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi16_ps ++FORCE_INLINE __m128 _mm_cvtpi16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vmovl_s16(vreinterpret_s16_m64(a)))); ++} ++ ++// Convert packed 32-bit integers in b to packed single-precision (32-bit) ++// floating-point elements, store the results in the lower 2 elements of dst, ++// and copy the upper 2 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_ps ++FORCE_INLINE __m128 _mm_cvtpi32_ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, then convert the packed signed 32-bit integers in b to ++// single-precision (32-bit) floating-point element, and store the results in ++// the upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32x2_ps ++FORCE_INLINE __m128 _mm_cvtpi32x2_ps(__m64 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vcombine_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b)))); ++} ++ ++// Convert the lower packed 8-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi8_ps ++FORCE_INLINE __m128 _mm_cvtpi8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vmovl_s16(vget_low_s16(vmovl_s8(vreinterpret_s8_m64(a)))))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 16-bit integers, and store the results in dst. Note: this intrinsic ++// will generate 0x7FFF, rather than 0x8000, for input values between 0x7FFF and ++// 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi16 ++FORCE_INLINE __m64 _mm_cvtps_pi16(__m128 a) ++{ ++ return vreinterpret_m64_s16( ++ vqmovn_s32(vreinterpretq_s32_m128i(_mm_cvtps_epi32(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi32 ++#define _mm_cvtps_pi32(a) _mm_cvt_ps2pi(a) ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 8-bit integers, and store the results in lower 4 elements of dst. ++// Note: this intrinsic will generate 0x7F, rather than 0x80, for input values ++// between 0x7F and 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi8 ++FORCE_INLINE __m64 _mm_cvtps_pi8(__m128 a) ++{ ++ return vreinterpret_m64_s8(vqmovn_s16( ++ vcombine_s16(vreinterpret_s16_m64(_mm_cvtps_pi16(a)), vdup_n_s16(0)))); ++} ++ ++// Convert packed unsigned 16-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu16_ps ++FORCE_INLINE __m128 _mm_cvtpu16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_u32(vmovl_u16(vreinterpret_u16_m64(a)))); ++} ++ ++// Convert the lower packed unsigned 8-bit integers in a to packed ++// single-precision (32-bit) floating-point elements, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu8_ps ++FORCE_INLINE __m128 _mm_cvtpu8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_u32( ++ vmovl_u16(vget_low_u16(vmovl_u8(vreinterpret_u8_m64(a)))))); ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_ss ++#define _mm_cvtsi32_ss(a, b) _mm_cvt_si2ss(a, b) ++ ++// Convert the signed 64-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_ss ++FORCE_INLINE __m128 _mm_cvtsi64_ss(__m128 a, int64_t b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Copy the lower single-precision (32-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_f32 ++FORCE_INLINE float _mm_cvtss_f32(__m128 a) ++{ ++ return vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si32 ++#define _mm_cvtss_si32(a) _mm_cvt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si64 ++FORCE_INLINE int64_t _mm_cvtss_si64(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return (int64_t) vgetq_lane_f32(vrndiq_f32(vreinterpretq_f32_m128(a)), 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int64_t) data; ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ps2pi ++FORCE_INLINE __m64 _mm_cvtt_ps2pi(__m128 a) ++{ ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ss2si ++FORCE_INLINE int _mm_cvtt_ss2si(__m128 a) ++{ ++ return vgetq_lane_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)), 0); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_pi32 ++#define _mm_cvttps_pi32(a) _mm_cvtt_ps2pi(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si32 ++#define _mm_cvttss_si32(a) _mm_cvtt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si64 ++FORCE_INLINE int64_t _mm_cvttss_si64(__m128 a) ++{ ++ return (int64_t) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Divide packed single-precision (32-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise division intrinsic, we implement ++// division by multiplying a by b's reciprocal before using the Newton-Raphson ++// method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ps ++FORCE_INLINE __m128 _mm_div_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vdivq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(b)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(a), recip)); ++#endif ++} ++ ++// Divide the lower single-precision (32-bit) floating-point element in a by the ++// lower single-precision (32-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper 3 packed elements from a to ++// the upper elements of dst. ++// Warning: ARMv7-A does not produce the same result compared to Intel and not ++// IEEE-compliant. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ss ++FORCE_INLINE __m128 _mm_div_ss(__m128 a, __m128 b) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_div_ps(a, b)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_pi16 ++#define _mm_extract_pi16(a, imm) \ ++ (int32_t) vget_lane_u16(vreinterpret_u16_m64(a), (imm)) ++ ++// Free aligned memory that was allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_free ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void _mm_free(void *addr) ++{ ++ free(addr); ++} ++#endif ++ ++FORCE_INLINE uint64_t _sse2neon_get_fpcr(void) ++{ ++ uint64_t value; ++#if defined(_MSC_VER) ++ value = _ReadStatusReg(ARM64_FPCR); ++#else ++ __asm__ __volatile__("mrs %0, FPCR" : "=r"(value)); /* read */ ++#endif ++ return value; ++} ++ ++FORCE_INLINE void _sse2neon_set_fpcr(uint64_t value) ++{ ++#if defined(_MSC_VER) ++ _WriteStatusReg(ARM64_FPCR, value); ++#else ++ __asm__ __volatile__("msr FPCR, %0" ::"r"(value)); /* write */ ++#endif ++} ++ ++// Macro: Get the flush zero bits from the MXCSR control and status register. ++// The flush zero may contain any of the following flags: _MM_FLUSH_ZERO_ON or ++// _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_FLUSH_ZERO_MODE ++FORCE_INLINE unsigned int _sse2neon_mm_get_flush_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_FLUSH_ZERO_ON : _MM_FLUSH_ZERO_OFF; ++} ++ ++// Macro: Get the rounding mode bits from the MXCSR control and status register. ++// The rounding mode may contain any of the following flags: _MM_ROUND_NEAREST, ++// _MM_ROUND_DOWN, _MM_ROUND_UP, _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_ROUNDING_MODE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ if (r.field.bit22) { ++ return r.field.bit23 ? _MM_ROUND_TOWARD_ZERO : _MM_ROUND_UP; ++ } else { ++ return r.field.bit23 ? _MM_ROUND_DOWN : _MM_ROUND_NEAREST; ++ } ++} ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_pi16 ++#define _mm_insert_pi16(a, b, imm) \ ++ vreinterpret_m64_s16(vset_lane_s16((b), vreinterpret_s16_m64(a), (imm))) ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps ++FORCE_INLINE __m128 _mm_load_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// ++// dst[31:0] := MEM[mem_addr+31:mem_addr] ++// dst[63:32] := MEM[mem_addr+31:mem_addr] ++// dst[95:64] := MEM[mem_addr+31:mem_addr] ++// dst[127:96] := MEM[mem_addr+31:mem_addr] ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps1 ++#define _mm_load_ps1 _mm_load1_ps ++ ++// Load a single-precision (32-bit) floating-point element from memory into the ++// lower of dst, and zero the upper 3 elements. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ss ++FORCE_INLINE __m128 _mm_load_ss(const float *p) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(*p, vdupq_n_f32(0), 0)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_ps ++FORCE_INLINE __m128 _mm_load1_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_dup_f32(p)); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// upper 2 elements of dst, and copy the lower 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pi ++FORCE_INLINE __m128 _mm_loadh_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vget_low_f32(a), vld1_f32((const float32_t *) p))); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// lower 2 elements of dst, and copy the upper 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pi ++FORCE_INLINE __m128 _mm_loadl_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vld1_f32((const float32_t *) p), vget_high_f32(a))); ++} ++ ++// Load 4 single-precision (32-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_ps ++FORCE_INLINE __m128 _mm_loadr_ps(const float *p) ++{ ++ float32x4_t v = vrev64q_f32(vld1q_f32(p)); ++ return vreinterpretq_m128_f32(vextq_f32(v, v, 2)); ++} ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_ps ++FORCE_INLINE __m128 _mm_loadu_ps(const float *p) ++{ ++ // for neon, alignment doesn't matter, so _mm_load_ps and _mm_loadu_ps are ++ // equivalent for neon ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load unaligned 16-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si16 ++FORCE_INLINE __m128i _mm_loadu_si16(const void *p) ++{ ++ return vreinterpretq_m128i_s16( ++ vsetq_lane_s16(*(const unaligned_int16_t *) p, vdupq_n_s16(0), 0)); ++} ++ ++// Load unaligned 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si64 ++FORCE_INLINE __m128i _mm_loadu_si64(const void *p) ++{ ++ return vreinterpretq_m128i_s64( ++ vsetq_lane_s64(*(const unaligned_int64_t *) p, vdupq_n_s64(0), 0)); ++} ++ ++// Allocate size bytes of memory, aligned to the alignment specified in align, ++// and return a pointer to the allocated memory. _mm_free should be used to free ++// memory that is allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_malloc ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void *_mm_malloc(size_t size, size_t align) ++{ ++ void *ptr; ++ if (align == 1) ++ return malloc(size); ++ if (align == 2 || (sizeof(void *) == 8 && align == 4)) ++ align = sizeof(void *); ++ if (!posix_memalign(&ptr, align, size)) ++ return ptr; ++ return NULL; ++} ++#endif ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmove_si64 ++FORCE_INLINE void _mm_maskmove_si64(__m64 a, __m64 mask, char *mem_addr) ++{ ++ int8x8_t shr_mask = vshr_n_s8(vreinterpret_s8_m64(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x8_t masked = ++ vbsl_s8(vreinterpret_u8_s8(shr_mask), vreinterpret_s8_m64(a), ++ vreinterpret_s8_u64(vget_low_u64(vreinterpretq_u64_m128(b)))); ++ vst1_s8((int8_t *) mem_addr, masked); ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_maskmovq ++#define _m_maskmovq(a, mask, mem_addr) _mm_maskmove_si64(a, mask, mem_addr) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pi16 ++FORCE_INLINE __m64 _mm_max_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmax_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) maximum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ps ++FORCE_INLINE __m128 _mm_max_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcgtq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vmaxq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pu8 ++FORCE_INLINE __m64 _mm_max_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmax_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) maximum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ss ++FORCE_INLINE __m128 _mm_max_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_max_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pi16 ++FORCE_INLINE __m64 _mm_min_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmin_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) minimum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ps ++FORCE_INLINE __m128 _mm_min_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcltq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vminq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pu8 ++FORCE_INLINE __m64 _mm_min_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmin_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) minimum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ss ++FORCE_INLINE __m128 _mm_min_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_min_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the lower single-precision (32-bit) floating-point element from b to the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_ss ++FORCE_INLINE __m128 _mm_move_ss(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(vgetq_lane_f32(vreinterpretq_f32_m128(b), 0), ++ vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the upper 2 single-precision (32-bit) floating-point elements from b to ++// the lower 2 elements of dst, and copy the upper 2 elements from a to the ++// upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehl_ps ++FORCE_INLINE __m128 _mm_movehl_ps(__m128 a, __m128 b) ++{ ++#if defined(aarch64__) ++ return vreinterpretq_m128_u64( ++ vzip2q_u64(vreinterpretq_u64_m128(b), vreinterpretq_u64_m128(a))); ++#else ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(b32, a32)); ++#endif ++} ++ ++// Move the lower 2 single-precision (32-bit) floating-point elements from b to ++// the upper 2 elements of dst, and copy the lower 2 elements from a to the ++// lower 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movelh_ps ++FORCE_INLINE __m128 _mm_movelh_ps(__m128 __A, __m128 __B) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(__A)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(__B)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pi8 ++FORCE_INLINE int _mm_movemask_pi8(__m64 a) ++{ ++ uint8x8_t input = vreinterpret_u8_m64(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int8_t shift[8] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint8x8_t tmp = vshr_n_u8(input, 7); ++ return vaddv_u8(vshl_u8(tmp, vld1_s8(shift))); ++#else ++ // Refer the implementation of `_mm_movemask_epi8` ++ uint16x4_t high_bits = vreinterpret_u16_u8(vshr_n_u8(input, 7)); ++ uint32x2_t paired16 = ++ vreinterpret_u32_u16(vsra_n_u16(high_bits, high_bits, 7)); ++ uint8x8_t paired32 = ++ vreinterpret_u8_u32(vsra_n_u32(paired16, paired16, 14)); ++ return vget_lane_u8(paired32, 0) | ((int) vget_lane_u8(paired32, 4) << 4); ++#endif ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed single-precision (32-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_ps ++FORCE_INLINE int _mm_movemask_ps(__m128 a) ++{ ++ uint32x4_t input = vreinterpretq_u32_m128(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int32_t shift[4] = {0, 1, 2, 3}; ++ uint32x4_t tmp = vshrq_n_u32(input, 31); ++ return vaddvq_u32(vshlq_u32(tmp, vld1q_s32(shift))); ++#else ++ // Uses the exact same method as _mm_movemask_epi8, see that for details. ++ // Shift out everything but the sign bits with a 32-bit unsigned shift ++ // right. ++ uint64x2_t high_bits = vreinterpretq_u64_u32(vshrq_n_u32(input, 31)); ++ // Merge the two pairs together with a 64-bit unsigned shift right + add. ++ uint8x16_t paired = ++ vreinterpretq_u8_u64(vsraq_n_u64(high_bits, high_bits, 31)); ++ // Extract the result. ++ return vgetq_lane_u8(paired, 0) | (vgetq_lane_u8(paired, 8) << 2); ++#endif ++} ++ ++// Multiply packed single-precision (32-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ps ++FORCE_INLINE_OPTNONE __m128 _mm_mul_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vmulq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Multiply the lower single-precision (32-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ss ++FORCE_INLINE __m128 _mm_mul_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_mul_ps(a, b)); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_pu16 ++FORCE_INLINE __m64 _mm_mulhi_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16(vshrn_n_u32( ++ vmull_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b)), 16)); ++} ++ ++// Compute the bitwise OR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_ps ++FORCE_INLINE __m128 _mm_or_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vorrq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgb ++#define _m_pavgb(a, b) _mm_avg_pu8(a, b) ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgw ++#define _m_pavgw(a, b) _mm_avg_pu16(a, b) ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pextrw ++#define _m_pextrw(a, imm) _mm_extract_pi16(a, imm) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_pinsrw ++#define _m_pinsrw(a, i, imm) _mm_insert_pi16(a, i, imm) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxsw ++#define _m_pmaxsw(a, b) _mm_max_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxub ++#define _m_pmaxub(a, b) _mm_max_pu8(a, b) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminsw ++#define _m_pminsw(a, b) _mm_min_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminub ++#define _m_pminub(a, b) _mm_min_pu8(a, b) ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmovmskb ++#define _m_pmovmskb(a) _mm_movemask_pi8(a) ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmulhuw ++#define _m_pmulhuw(a, b) _mm_mulhi_pu16(a, b) ++ ++// Fetch the line of data from memory that contains address p to a location in ++// the cache hierarchy specified by the locality hint i. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_prefetch ++FORCE_INLINE void _mm_prefetch(char const *p, int i) ++{ ++ (void) i; ++#if defined(_MSC_VER) ++ switch (i) { ++ case _MM_HINT_NTA: ++ __prefetch2(p, 1); ++ break; ++ case _MM_HINT_T0: ++ __prefetch2(p, 0); ++ break; ++ case _MM_HINT_T1: ++ __prefetch2(p, 2); ++ break; ++ case _MM_HINT_T2: ++ __prefetch2(p, 4); ++ break; ++ } ++#else ++ switch (i) { ++ case _MM_HINT_NTA: ++ __builtin_prefetch(p, 0, 0); ++ break; ++ case _MM_HINT_T0: ++ __builtin_prefetch(p, 0, 3); ++ break; ++ case _MM_HINT_T1: ++ __builtin_prefetch(p, 0, 2); ++ break; ++ case _MM_HINT_T2: ++ __builtin_prefetch(p, 0, 1); ++ break; ++ } ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_psadbw ++#define _m_psadbw(a, b) _mm_sad_pu8(a, b) ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pshufw ++#define _m_pshufw(a, imm) _mm_shuffle_pi16(a, imm) ++ ++// Compute the approximate reciprocal of packed single-precision (32-bit) ++// floating-point elements in a, and store the results in dst. The maximum ++// relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ps ++FORCE_INLINE __m128 _mm_rcp_ps(__m128 in) ++{ ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(in)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#if SSE2NEON_PRECISE_DIV ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#endif ++ return vreinterpretq_m128_f32(recip); ++} ++ ++// Compute the approximate reciprocal of the lower single-precision (32-bit) ++// floating-point element in a, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ss ++FORCE_INLINE __m128 _mm_rcp_ss(__m128 a) ++{ ++ return _mm_move_ss(a, _mm_rcp_ps(a)); ++} ++ ++// Compute the approximate reciprocal square root of packed single-precision ++// (32-bit) floating-point elements in a, and store the results in dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ps ++FORCE_INLINE __m128 _mm_rsqrt_ps(__m128 in) ++{ ++ float32x4_t out = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Generate masks for detecting whether input has any 0.0f/-0.0f ++ // (which becomes positive/negative infinity by IEEE-754 arithmetic rules). ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t neg_inf = vdupq_n_u32(0xFF800000); ++ const uint32x4_t has_pos_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(out)); ++ const uint32x4_t has_neg_zero = ++ vceqq_u32(neg_inf, vreinterpretq_u32_f32(out)); ++ ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#if SSE2NEON_PRECISE_SQRT ++ // Additional Netwon-Raphson iteration for accuracy ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#endif ++ ++ // Set output vector element to infinity/negative-infinity if ++ // the corresponding input vector element is 0.0f/-0.0f. ++ out = vbslq_f32(has_pos_zero, (float32x4_t) pos_inf, out); ++ out = vbslq_f32(has_neg_zero, (float32x4_t) neg_inf, out); ++ ++ return vreinterpretq_m128_f32(out); ++} ++ ++// Compute the approximate reciprocal square root of the lower single-precision ++// (32-bit) floating-point element in a, store the result in the lower element ++// of dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ss ++FORCE_INLINE __m128 _mm_rsqrt_ss(__m128 in) ++{ ++ return vsetq_lane_f32(vgetq_lane_f32(_mm_rsqrt_ps(in), 0), in, 0); ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_pu8 ++FORCE_INLINE __m64 _mm_sad_pu8(__m64 a, __m64 b) ++{ ++ uint64x1_t t = vpaddl_u32(vpaddl_u16( ++ vpaddl_u8(vabd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))))); ++ return vreinterpret_m64_u16( ++ vset_lane_u16((int) vget_lane_u64(t, 0), vdup_n_u16(0), 0)); ++} ++ ++// Macro: Set the flush zero bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The flush zero may contain any of the ++// following flags: _MM_FLUSH_ZERO_ON or _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_FLUSH_ZERO_MODE ++FORCE_INLINE void _sse2neon_mm_set_flush_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_FLUSH_ZERO_MASK) == _MM_FLUSH_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps ++FORCE_INLINE __m128 _mm_set_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {x, y, z, w}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps1 ++FORCE_INLINE __m128 _mm_set_ps1(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Macro: Set the rounding mode bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The rounding mode may contain any of ++// the following flags: _MM_ROUND_NEAREST, _MM_ROUND_DOWN, _MM_ROUND_UP, ++// _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_ROUNDING_MODE ++FORCE_INLINE void _MM_SET_ROUNDING_MODE(int rounding) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ switch (rounding) { ++ case _MM_ROUND_TOWARD_ZERO: ++ r.field.bit22 = 1; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_DOWN: ++ r.field.bit22 = 0; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_UP: ++ r.field.bit22 = 1; ++ r.field.bit23 = 0; ++ break; ++ default: //_MM_ROUND_NEAREST ++ r.field.bit22 = 0; ++ r.field.bit23 = 0; ++ } ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Copy single-precision (32-bit) floating-point element a to the lower element ++// of dst, and zero the upper 3 elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ss ++FORCE_INLINE __m128 _mm_set_ss(float a) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(a, vdupq_n_f32(0), 0)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_ps ++FORCE_INLINE __m128 _mm_set1_ps(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Set the MXCSR control and status register with the value in unsigned 32-bit ++// integer a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setcsr ++// FIXME: _mm_setcsr() implementation supports changing the rounding mode only. ++FORCE_INLINE void _mm_setcsr(unsigned int a) ++{ ++ _MM_SET_ROUNDING_MODE(a); ++} ++ ++// Get the unsigned 32-bit value of the MXCSR control and status register. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_getcsr ++// FIXME: _mm_getcsr() implementation supports reading the rounding mode only. ++FORCE_INLINE unsigned int _mm_getcsr(void) ++{ ++ return _MM_GET_ROUNDING_MODE(); ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_ps ++FORCE_INLINE __m128 _mm_setr_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {w, z, y, x}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Return vector of type __m128 with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_ps ++FORCE_INLINE __m128 _mm_setzero_ps(void) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(0)); ++} ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi16 ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pi16(a, imm) \ ++ vreinterpret_m64_s16(vshuffle_s16( \ ++ vreinterpret_s16_m64(a), vreinterpret_s16_m64(a), (imm & 0x3), \ ++ ((imm >> 2) & 0x3), ((imm >> 4) & 0x3), ((imm >> 6) & 0x3))) ++#else ++#define _mm_shuffle_pi16(a, imm) \ ++ _sse2neon_define1( \ ++ __m64, a, int16x4_t ret; \ ++ ret = vmov_n_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), (imm) & (0x3))); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpret_m64_s16(ret));) ++#endif ++ ++// Perform a serializing operation on all store-to-memory instructions that were ++// issued prior to this instruction. Guarantees that every store instruction ++// that precedes, in program order, is globally visible before any store ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sfence ++FORCE_INLINE void _mm_sfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory and store-to-memory ++// instructions that were issued prior to this instruction. Guarantees that ++// every memory access that precedes, in program order, the memory fence ++// instruction is globally visible before any memory instruction which follows ++// the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mfence ++FORCE_INLINE void _mm_mfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory instructions that ++// were issued prior to this instruction. Guarantees that every load instruction ++// that precedes, in program order, is globally visible before any load ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lfence ++FORCE_INLINE void _mm_lfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// FORCE_INLINE __m128 _mm_shuffle_ps(__m128 a, __m128 b, __constrange(0,255) ++// int imm) ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_ps(a, b, imm) \ ++ __extension__({ \ ++ float32x4_t _input1 = vreinterpretq_f32_m128(a); \ ++ float32x4_t _input2 = vreinterpretq_f32_m128(b); \ ++ float32x4_t _shuf = \ ++ vshuffleq_s32(_input1, _input2, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ (((imm) >> 4) & 0x3) + 4, (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128_f32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_ps(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128, a, b, __m128 ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_1032(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_ps_2301(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_ps_0321(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_ps_2103(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_movelh_ps(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_1001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_ps_0101(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 1, 0): \ ++ ret = _mm_shuffle_ps_3210(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 1, 1): \ ++ ret = _mm_shuffle_ps_0011(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 2, 2): \ ++ ret = _mm_shuffle_ps_0022(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 0, 0): \ ++ ret = _mm_shuffle_ps_2200(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 0, 2): \ ++ ret = _mm_shuffle_ps_3202(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 3, 2): \ ++ ret = _mm_movehl_ps(_b, _a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 3, 3): \ ++ ret = _mm_shuffle_ps_1133(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 1, 0): \ ++ ret = _mm_shuffle_ps_2010(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_2001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_2032(_a, _b); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_ps_default(_a, _b, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Compute the square root of packed single-precision (32-bit) floating-point ++// elements in a, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise square root intrinsic, we implement ++// square root by multiplying input in with its reciprocal square root before ++// using the Newton-Raphson method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ps ++FORCE_INLINE __m128 _mm_sqrt_ps(__m128 in) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) && !SSE2NEON_PRECISE_SQRT ++ return vreinterpretq_m128_f32(vsqrtq_f32(vreinterpretq_f32_m128(in))); ++#else ++ float32x4_t recip = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Test for vrsqrteq_f32(0) -> positive infinity case. ++ // Change to zero, so that s * 1/sqrt(s) result is zero too. ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t div_by_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(recip)); ++ recip = vreinterpretq_f32_u32( ++ vandq_u32(vmvnq_u32(div_by_zero), vreinterpretq_u32_f32(recip))); ++ ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ ++ // sqrt(s) = s * 1/sqrt(s) ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(in), recip)); ++#endif ++} ++ ++// Compute the square root of the lower single-precision (32-bit) floating-point ++// element in a, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ss ++FORCE_INLINE __m128 _mm_sqrt_ss(__m128 in) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_sqrt_ps(in)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(in), 0)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps ++FORCE_INLINE void _mm_store_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps1 ++FORCE_INLINE void _mm_store_ps1(float *p, __m128 a) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ vst1q_f32(p, vdupq_n_f32(a0)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ss ++FORCE_INLINE void _mm_store_ss(float *p, __m128 a) ++{ ++ vst1q_lane_f32(p, vreinterpretq_f32_m128(a), 0); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store1_ps ++#define _mm_store1_ps _mm_store_ps1 ++ ++// Store the upper 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pi ++FORCE_INLINE void _mm_storeh_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_high_f32(a)); ++} ++ ++// Store the lower 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pi ++FORCE_INLINE void _mm_storel_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_low_f32(a)); ++} ++ ++// Store 4 single-precision (32-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_ps ++FORCE_INLINE void _mm_storer_ps(float *p, __m128 a) ++{ ++ float32x4_t tmp = vrev64q_f32(vreinterpretq_f32_m128(a)); ++ float32x4_t rev = vextq_f32(tmp, tmp, 2); ++ vst1q_f32(p, rev); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_ps ++FORCE_INLINE void _mm_storeu_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Stores 16-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si16 ++FORCE_INLINE void _mm_storeu_si16(void *p, __m128i a) ++{ ++ vst1q_lane_s16((int16_t *) p, vreinterpretq_s16_m128i(a), 0); ++} ++ ++// Stores 64-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si64 ++FORCE_INLINE void _mm_storeu_si64(void *p, __m128i a) ++{ ++ vst1q_lane_s64((int64_t *) p, vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Store 64-bits of integer data from a into memory using a non-temporal memory ++// hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pi ++FORCE_INLINE void _mm_stream_pi(__m64 *p, __m64 a) ++{ ++ vst1_s64((int64_t *) p, vreinterpret_s64_m64(a)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating- ++// point elements) from a into memory using a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_ps ++FORCE_INLINE void _mm_stream_ps(float *p, __m128 a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (float32x4_t *) p); ++#else ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++#endif ++} ++ ++// Subtract packed single-precision (32-bit) floating-point elements in b from ++// packed single-precision (32-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ps ++FORCE_INLINE __m128 _mm_sub_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Subtract the lower single-precision (32-bit) floating-point element in b from ++// the lower single-precision (32-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper 3 packed elements from ++// a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ss ++FORCE_INLINE __m128 _mm_sub_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_sub_ps(a, b)); ++} ++ ++// Macro: Transpose the 4x4 matrix formed by the 4 rows of single-precision ++// (32-bit) floating-point elements in row0, row1, row2, and row3, and store the ++// transposed matrix in these vectors (row0 now contains column 0, etc.). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=MM_TRANSPOSE4_PS ++#define _MM_TRANSPOSE4_PS(row0, row1, row2, row3) \ ++ do { \ ++ float32x4x2_t ROW01 = vtrnq_f32(row0, row1); \ ++ float32x4x2_t ROW23 = vtrnq_f32(row2, row3); \ ++ row0 = vcombine_f32(vget_low_f32(ROW01.val[0]), \ ++ vget_low_f32(ROW23.val[0])); \ ++ row1 = vcombine_f32(vget_low_f32(ROW01.val[1]), \ ++ vget_low_f32(ROW23.val[1])); \ ++ row2 = vcombine_f32(vget_high_f32(ROW01.val[0]), \ ++ vget_high_f32(ROW23.val[0])); \ ++ row3 = vcombine_f32(vget_high_f32(ROW01.val[1]), \ ++ vget_high_f32(ROW23.val[1])); \ ++ } while (0) ++ ++// according to the documentation, these intrinsics behave the same as the ++// non-'u' versions. We'll just alias them here. ++#define _mm_ucomieq_ss _mm_comieq_ss ++#define _mm_ucomige_ss _mm_comige_ss ++#define _mm_ucomigt_ss _mm_comigt_ss ++#define _mm_ucomile_ss _mm_comile_ss ++#define _mm_ucomilt_ss _mm_comilt_ss ++#define _mm_ucomineq_ss _mm_comineq_ss ++ ++// Return vector of type __m128i with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_undefined_si128 ++FORCE_INLINE __m128i _mm_undefined_si128(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128i a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_si128(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Return vector of type __m128 with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_ps ++FORCE_INLINE __m128 _mm_undefined_ps(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128 a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_ps(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the high half a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_ps ++FORCE_INLINE __m128 _mm_unpackhi_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_ps ++FORCE_INLINE __m128 _mm_unpacklo_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Compute the bitwise XOR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_ps ++FORCE_INLINE __m128 _mm_xor_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ veorq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++/* SSE2 */ ++ ++// Add packed 16-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi16 ++FORCE_INLINE __m128i _mm_add_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed 32-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi32 ++FORCE_INLINE __m128i _mm_add_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vaddq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Add packed 64-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi64 ++FORCE_INLINE __m128i _mm_add_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vaddq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Add packed 8-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi8 ++FORCE_INLINE __m128i _mm_add_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed double-precision (64-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_pd ++FORCE_INLINE __m128d _mm_add_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1] + db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add the lower double-precision (64-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper element from ++// a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_sd ++FORCE_INLINE __m128d _mm_add_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_add_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add 64-bit integers a and b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_si64 ++FORCE_INLINE __m64 _mm_add_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vadd_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Add packed signed 16-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi16 ++FORCE_INLINE __m128i _mm_adds_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed signed 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi8 ++FORCE_INLINE __m128i _mm_adds_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed unsigned 16-bit integers in a and b using saturation, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu16 ++FORCE_INLINE __m128i _mm_adds_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqaddq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Add packed unsigned 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu8 ++FORCE_INLINE __m128i _mm_adds_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compute the bitwise AND of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_pd ++FORCE_INLINE __m128d _mm_and_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vandq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_si128 ++FORCE_INLINE __m128i _mm_and_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vandq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compute the bitwise NOT of packed double-precision (64-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_pd ++FORCE_INLINE __m128d _mm_andnot_pd(__m128d a, __m128d b) ++{ ++ // *NOTE* argument swap ++ return vreinterpretq_m128d_s64( ++ vbicq_s64(vreinterpretq_s64_m128d(b), vreinterpretq_s64_m128d(a))); ++} ++ ++// Compute the bitwise NOT of 128 bits (representing integer data) in a and then ++// AND with b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_si128 ++FORCE_INLINE __m128i _mm_andnot_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vbicq_s32(vreinterpretq_s32_m128i(b), ++ vreinterpretq_s32_m128i(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu16 ++FORCE_INLINE __m128i _mm_avg_epu16(__m128i a, __m128i b) ++{ ++ return (__m128i) vrhaddq_u16(vreinterpretq_u16_m128i(a), ++ vreinterpretq_u16_m128i(b)); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu8 ++FORCE_INLINE __m128i _mm_avg_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vrhaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bslli_si128 ++#define _mm_bslli_si128(a, imm) _mm_slli_si128(a, imm) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bsrli_si128 ++#define _mm_bsrli_si128(a, imm) _mm_srli_si128(a, imm) ++ ++// Cast vector of type __m128d to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_ps ++FORCE_INLINE __m128 _mm_castpd_ps(__m128d a) ++{ ++ return vreinterpretq_m128_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128d to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_si128 ++FORCE_INLINE __m128i _mm_castpd_si128(__m128d a) ++{ ++ return vreinterpretq_m128i_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128 to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_pd ++FORCE_INLINE __m128d _mm_castps_pd(__m128 a) ++{ ++ return vreinterpretq_m128d_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128 to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_si128 ++FORCE_INLINE __m128i _mm_castps_si128(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128i to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_pd ++FORCE_INLINE __m128d _mm_castsi128_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vreinterpretq_f64_m128i(a)); ++#else ++ return vreinterpretq_m128d_f32(vreinterpretq_f32_m128i(a)); ++#endif ++} ++ ++// Cast vector of type __m128i to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_ps ++FORCE_INLINE __m128 _mm_castsi128_ps(__m128i a) ++{ ++ return vreinterpretq_m128_s32(vreinterpretq_s32_m128i(a)); ++} ++ ++// Invalidate and flush the cache line that contains p from all levels of the ++// cache hierarchy. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clflush ++#if defined(__APPLE__) ++#include ++#endif ++FORCE_INLINE void _mm_clflush(void const *p) ++{ ++ (void) p; ++ ++ /* sys_icache_invalidate is supported since macOS 10.5. ++ * However, it does not work on non-jailbroken iOS devices, although the ++ * compilation is successful. ++ */ ++#if defined(__APPLE__) ++ sys_icache_invalidate((void *) (uintptr_t) p, SSE2NEON_CACHELINE_SIZE); ++#elif defined(__GNUC__) || defined(__clang__) ++ uintptr_t ptr = (uintptr_t) p; ++ __builtin___clear_cache((char *) ptr, ++ (char *) ptr + SSE2NEON_CACHELINE_SIZE); ++#elif (_MSC_VER) && SSE2NEON_INCLUDE_WINDOWS_H ++ FlushInstructionCache(GetCurrentProcess(), p, SSE2NEON_CACHELINE_SIZE); ++#endif ++} ++ ++// Compare packed 16-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi16 ++FORCE_INLINE __m128i _mm_cmpeq_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vceqq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed 32-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi32 ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vceqq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed 8-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi8 ++FORCE_INLINE __m128i _mm_cmpeq_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vceqq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_pd ++FORCE_INLINE __m128d _mm_cmpeq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_sd ++FORCE_INLINE __m128d _mm_cmpeq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpeq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_pd ++FORCE_INLINE __m128d _mm_cmpge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) >= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_sd ++FORCE_INLINE __m128d _mm_cmpge_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpge_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi16 ++FORCE_INLINE __m128i _mm_cmpgt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcgtq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi32 ++FORCE_INLINE __m128i _mm_cmpgt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcgtq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi8 ++FORCE_INLINE __m128i _mm_cmpgt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcgtq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_pd ++FORCE_INLINE __m128d _mm_cmpgt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_sd ++FORCE_INLINE __m128d _mm_cmpgt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpgt_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_pd ++FORCE_INLINE __m128d _mm_cmple_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) <= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_sd ++FORCE_INLINE __m128d _mm_cmple_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmple_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtw instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi16 ++FORCE_INLINE __m128i _mm_cmplt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcltq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtd instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi32 ++FORCE_INLINE __m128i _mm_cmplt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcltq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtb instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi8 ++FORCE_INLINE __m128i _mm_cmplt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcltq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_pd ++FORCE_INLINE __m128d _mm_cmplt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_sd ++FORCE_INLINE __m128d _mm_cmplt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmplt_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_pd ++FORCE_INLINE __m128d _mm_cmpneq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_s32(vmvnq_s32(vreinterpretq_s32_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vmvnq_u32(vandq_u32(cmp, swapped))); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_sd ++FORCE_INLINE __m128d _mm_cmpneq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpneq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_pd ++FORCE_INLINE __m128d _mm_cmpnge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) >= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) >= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_sd ++FORCE_INLINE __m128d _mm_cmpnge_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnge_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_cmpngt_pd ++FORCE_INLINE __m128d _mm_cmpngt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) > (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) > (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_sd ++FORCE_INLINE __m128d _mm_cmpngt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpngt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_pd ++FORCE_INLINE __m128d _mm_cmpnle_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) <= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) <= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_sd ++FORCE_INLINE __m128d _mm_cmpnle_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnle_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_pd ++FORCE_INLINE __m128d _mm_cmpnlt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) < (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) < (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_sd ++FORCE_INLINE __m128d _mm_cmpnlt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnlt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_pd ++FORCE_INLINE __m128d _mm_cmpord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Excluding NaNs, any two floating point numbers can be compared. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_u64(vandq_u64(not_nan_a, not_nan_b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_sd ++FORCE_INLINE __m128d _mm_cmpord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_pd ++FORCE_INLINE __m128d _mm_cmpunord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Two NaNs are not equal in comparison operation. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_s32( ++ vmvnq_s32(vreinterpretq_s32_u64(vandq_u64(not_nan_a, not_nan_b)))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_sd ++FORCE_INLINE __m128d _mm_cmpunord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpunord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_sd ++FORCE_INLINE int _mm_comige_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgeq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 >= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_sd ++FORCE_INLINE int _mm_comigt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgtq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 > *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_sd ++FORCE_INLINE int _mm_comile_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcleq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 <= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_sd ++FORCE_INLINE int _mm_comilt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcltq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 < *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_sd ++FORCE_INLINE int _mm_comieq_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vceqq_f64(a, b), 0) & 0x1; ++#else ++ uint32x4_t a_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(a)); ++ uint32x4_t b_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(b), vreinterpretq_u32_m128d(b)); ++ uint32x4_t a_and_b_not_nan = vandq_u32(a_not_nan, b_not_nan); ++ uint32x4_t a_eq_b = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint64x2_t and_results = vandq_u64(vreinterpretq_u64_u32(a_and_b_not_nan), ++ vreinterpretq_u64_u32(a_eq_b)); ++ return vgetq_lane_u64(and_results, 0) & 0x1; ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_sd ++FORCE_INLINE int _mm_comineq_sd(__m128d a, __m128d b) ++{ ++ return !_mm_comieq_sd(a, b); ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_pd ++FORCE_INLINE __m128d _mm_cvtepi32_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a))))); ++#else ++ double a0 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++ double a1 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_ps ++FORCE_INLINE __m128 _mm_cvtepi32_ps(__m128i a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_epi32 ++FORCE_INLINE_OPTNONE __m128i _mm_cvtpd_epi32(__m128d a) ++{ ++// vrnd32xq_f64 not supported on clang ++#if defined(__ARM_FEATURE_FRINT) && !defined(__clang__) ++ float64x2_t rounded = vrnd32xq_f64(vreinterpretq_f64_m128d(a)); ++ int64x2_t integers = vcvtq_s64_f64(rounded); ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vmovn_s64(integers), vdup_n_s32(0))); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) d1, (int32_t) d0); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_pi32 ++FORCE_INLINE_OPTNONE __m64 _mm_cvtpd_pi32(__m128d a) ++{ ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) d0, (int32_t) d1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed single-precision (32-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_ps ++FORCE_INLINE __m128 _mm_cvtpd_ps(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float32x2_t tmp = vcvt_f32_f64(vreinterpretq_f64_m128d(a)); ++ return vreinterpretq_m128_f32(vcombine_f32(tmp, vdup_n_f32(0))); ++#else ++ float a0 = (float) ((double *) &a)[0]; ++ float a1 = (float) ((double *) &a)[1]; ++ return _mm_set_ps(0, 0, a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_pd ++FORCE_INLINE __m128d _mm_cvtpi32_pd(__m64 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vreinterpret_s32_m64(a)))); ++#else ++ double a0 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 0); ++ double a1 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_epi32 ++// *NOTE*. The default rounding mode on SSE is 'round to even', which ARMv7-A ++// does not support! It is supported on ARMv8-A however. ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128 a) ++{ ++#if defined(__ARM_FEATURE_FRINT) ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vrnd32xq_f32(a))); ++#elif (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: ++ return vreinterpretq_m128i_s32(vcvtnq_s32_f32(a)); ++ case _MM_ROUND_DOWN: ++ return vreinterpretq_m128i_s32(vcvtmq_s32_f32(a)); ++ case _MM_ROUND_UP: ++ return vreinterpretq_m128i_s32(vcvtpq_s32_f32(a)); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(a)); ++ } ++#else ++ float *f = (float *) &a; ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128i_s32( ++ vbslq_s32(is_delta_half, r_even, r_normal)); ++ } ++ case _MM_ROUND_DOWN: ++ return _mm_set_epi32(floorf(f[3]), floorf(f[2]), floorf(f[1]), ++ floorf(f[0])); ++ case _MM_ROUND_UP: ++ return _mm_set_epi32(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ++ ceilf(f[0])); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return _mm_set_epi32((int32_t) f[3], (int32_t) f[2], (int32_t) f[1], ++ (int32_t) f[0]); ++ } ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed double-precision (64-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pd ++FORCE_INLINE __m128d _mm_cvtps_pd(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvt_f64_f32(vget_low_f32(vreinterpretq_f32_m128(a)))); ++#else ++ double a0 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ double a1 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Copy the lower double-precision (64-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_f64 ++FORCE_INLINE double _mm_cvtsd_f64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (double) vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0); ++#else ++ return ((double *) &a)[0]; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si32 ++FORCE_INLINE int32_t _mm_cvtsd_si32(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int32_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int32_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64 ++FORCE_INLINE int64_t _mm_cvtsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int64_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64x ++#define _mm_cvtsd_si64x _mm_cvtsd_si64 ++ ++// Convert the lower double-precision (64-bit) floating-point element in b to a ++// single-precision (32-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_ss ++FORCE_INLINE __m128 _mm_cvtsd_ss(__m128 a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32(vsetq_lane_f32( ++ vget_lane_f32(vcvt_f32_f64(vreinterpretq_f64_m128d(b)), 0), ++ vreinterpretq_f32_m128(a), 0)); ++#else ++ return vreinterpretq_m128_f32(vsetq_lane_f32((float) ((double *) &b)[0], ++ vreinterpretq_f32_m128(a), 0)); ++#endif ++} ++ ++// Copy the lower 32-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si32 ++FORCE_INLINE int _mm_cvtsi128_si32(__m128i a) ++{ ++ return vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64 ++FORCE_INLINE int64_t _mm_cvtsi128_si64(__m128i a) ++{ ++ return vgetq_lane_s64(vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Convert the signed 32-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_sd ++FORCE_INLINE __m128d _mm_cvtsi32_sd(__m128d a, int32_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Copy 32-bit integer a to the lower elements of dst, and zero the upper ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_si128 ++FORCE_INLINE __m128i _mm_cvtsi32_si128(int a) ++{ ++ return vreinterpretq_m128i_s32(vsetq_lane_s32(a, vdupq_n_s32(0), 0)); ++} ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_sd ++FORCE_INLINE __m128d _mm_cvtsi64_sd(__m128d a, int64_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_si128 ++FORCE_INLINE __m128i _mm_cvtsi64_si128(int64_t a) ++{ ++ return vreinterpretq_m128i_s64(vsetq_lane_s64(a, vdupq_n_s64(0), 0)); ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_si128 ++#define _mm_cvtsi64x_si128(a) _mm_cvtsi64_si128(a) ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_sd ++#define _mm_cvtsi64x_sd(a, b) _mm_cvtsi64_sd(a, b) ++ ++// Convert the lower single-precision (32-bit) floating-point element in b to a ++// double-precision (64-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_sd ++FORCE_INLINE __m128d _mm_cvtss_sd(__m128d a, __m128 b) ++{ ++ double d = (double) vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(d, vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &d, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_epi32 ++FORCE_INLINE __m128i _mm_cvttpd_epi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) a1, (int32_t) a0); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_pi32 ++FORCE_INLINE __m64 _mm_cvttpd_pi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) a0, (int32_t) a1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_epi32 ++FORCE_INLINE __m128i _mm_cvttps_epi32(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a))); ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si32 ++FORCE_INLINE int32_t _mm_cvttsd_si32(__m128d a) ++{ ++ double ret = *((double *) &a); ++ return (int32_t) ret; ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64 ++FORCE_INLINE int64_t _mm_cvttsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_s64(vcvtq_s64_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ double ret = *((double *) &a); ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64x ++#define _mm_cvttsd_si64x(a) _mm_cvttsd_si64(a) ++ ++// Divide packed double-precision (64-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_pd ++FORCE_INLINE __m128d _mm_div_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] / db[0]; ++ c[1] = da[1] / db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Divide the lower double-precision (64-bit) floating-point element in a by the ++// lower double-precision (64-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper element from a to the upper ++// element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_sd ++FORCE_INLINE __m128d _mm_div_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t tmp = ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1), tmp, 1)); ++#else ++ return _mm_move_sd(a, _mm_div_pd(a, b)); ++#endif ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi16 ++// FORCE_INLINE int _mm_extract_epi16(__m128i a, __constrange(0,8) int imm) ++#define _mm_extract_epi16(a, imm) \ ++ vgetq_lane_u16(vreinterpretq_u16_m128i(a), (imm)) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi16 ++// FORCE_INLINE __m128i _mm_insert_epi16(__m128i a, int b, ++// __constrange(0,8) int imm) ++#define _mm_insert_epi16(a, b, imm) \ ++ vreinterpretq_m128i_s16( \ ++ vsetq_lane_s16((b), vreinterpretq_s16_m128i(a), (imm))) ++ ++// Load 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd ++FORCE_INLINE __m128d _mm_load_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64(p)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], fp[2], fp[3]}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd1 ++#define _mm_load_pd1 _mm_load1_pd ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower of dst, and zero the upper element. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_sd ++FORCE_INLINE __m128d _mm_load_sd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(*p, vdupq_n_f64(0), 0)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], 0, 0}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_si128 ++FORCE_INLINE __m128i _mm_load_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const int32_t *) p)); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_pd ++FORCE_INLINE __m128d _mm_load1_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_dup_f64(p)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(const int64_t *) p)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// upper element of dst, and copy the lower element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pd ++FORCE_INLINE __m128d _mm_loadh_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vget_low_f64(vreinterpretq_f64_m128d(a)), vld1_f64(p))); ++#else ++ return vreinterpretq_m128d_f32(vcombine_f32( ++ vget_low_f32(vreinterpretq_f32_m128d(a)), vld1_f32((const float *) p))); ++#endif ++} ++ ++// Load 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_epi64 ++FORCE_INLINE __m128i _mm_loadl_epi64(__m128i const *p) ++{ ++ /* Load the lower 64 bits of the value pointed to by p into the ++ * lower 64 bits of the result, zeroing the upper 64 bits of the result. ++ */ ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vld1_s32((int32_t const *) p), vcreate_s32(0))); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower element of dst, and copy the upper element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pd ++FORCE_INLINE __m128d _mm_loadl_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vld1_f64(p), vget_high_f64(vreinterpretq_f64_m128d(a)))); ++#else ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vld1_f32((const float *) p), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++#endif ++} ++ ++// Load 2 double-precision (64-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_pd ++FORCE_INLINE __m128d _mm_loadr_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t v = vld1q_f64(p); ++ return vreinterpretq_m128d_f64(vextq_f64(v, v, 1)); ++#else ++ int64x2_t v = vld1q_s64((const int64_t *) p); ++ return vreinterpretq_m128d_s64(vextq_s64(v, v, 1)); ++#endif ++} ++ ++// Loads two double-precision from unaligned memory, floating-point values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_pd ++FORCE_INLINE __m128d _mm_loadu_pd(const double *p) ++{ ++ return _mm_load_pd(p); ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si128 ++FORCE_INLINE __m128i _mm_loadu_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const unaligned_int32_t *) p)); ++} ++ ++// Load unaligned 32-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si32 ++FORCE_INLINE __m128i _mm_loadu_si32(const void *p) ++{ ++ return vreinterpretq_m128i_s32( ++ vsetq_lane_s32(*(const unaligned_int32_t *) p, vdupq_n_s32(0), 0)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Horizontally add adjacent pairs of intermediate ++// 32-bit integers, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_madd_epi16 ++FORCE_INLINE __m128i _mm_madd_epi16(__m128i a, __m128i b) ++{ ++ int32x4_t low = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t high = ++ vmull_high_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b)); ++ ++ return vreinterpretq_m128i_s32(vpaddq_s32(low, high)); ++#else ++ int32x4_t high = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ int32x2_t low_sum = vpadd_s32(vget_low_s32(low), vget_high_s32(low)); ++ int32x2_t high_sum = vpadd_s32(vget_low_s32(high), vget_high_s32(high)); ++ ++ return vreinterpretq_m128i_s32(vcombine_s32(low_sum, high_sum)); ++#endif ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. mem_addr does not need to be aligned ++// on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmoveu_si128 ++FORCE_INLINE void _mm_maskmoveu_si128(__m128i a, __m128i mask, char *mem_addr) ++{ ++ int8x16_t shr_mask = vshrq_n_s8(vreinterpretq_s8_m128i(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x16_t masked = ++ vbslq_s8(vreinterpretq_u8_s8(shr_mask), vreinterpretq_s8_m128i(a), ++ vreinterpretq_s8_m128(b)); ++ vst1q_s8((int8_t *) mem_addr, masked); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi16 ++FORCE_INLINE __m128i _mm_max_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmaxq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu8 ++FORCE_INLINE __m128i _mm_max_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vmaxq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pd ++FORCE_INLINE __m128d _mm_max_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcgtq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vmaxq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? a1 : b1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_sd ++FORCE_INLINE __m128d _mm_max_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_max_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] > db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi16 ++FORCE_INLINE __m128i _mm_min_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vminq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu8 ++FORCE_INLINE __m128i _mm_min_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vminq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pd ++FORCE_INLINE __m128d _mm_min_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcltq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vminq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? a1 : b1; ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_sd ++FORCE_INLINE __m128d _mm_min_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_min_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] < db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to the lower element of dst, and zero the ++// upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_epi64 ++FORCE_INLINE __m128i _mm_move_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vsetq_lane_s64(0, vreinterpretq_s64_m128i(a), 1)); ++} ++ ++// Move the lower double-precision (64-bit) floating-point element from b to the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_sd ++FORCE_INLINE __m128d _mm_move_sd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vget_low_f32(vreinterpretq_f32_m128d(b)), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_epi8 ++FORCE_INLINE int _mm_movemask_epi8(__m128i a) ++{ ++ // Use increasingly wide shifts+adds to collect the sign bits ++ // together. ++ // Since the widening shifts would be rather confusing to follow in little ++ // endian, everything will be illustrated in big endian order instead. This ++ // has a different result - the bits would actually be reversed on a big ++ // endian machine. ++ ++ // Starting input (only half the elements are shown): ++ // 89 ff 1d c0 00 10 99 33 ++ uint8x16_t input = vreinterpretq_u8_m128i(a); ++ ++ // Shift out everything but the sign bits with an unsigned shift right. ++ // ++ // Bytes of the vector:: ++ // 89 ff 1d c0 00 10 99 33 ++ // \ \ \ \ \ \ \ \ high_bits = (uint16x4_t)(input >> 7) ++ // | | | | | | | | ++ // 01 01 00 01 00 00 01 00 ++ // ++ // Bits of first important lane(s): ++ // 10001001 (89) ++ // \______ ++ // | ++ // 00000001 (01) ++ uint16x8_t high_bits = vreinterpretq_u16_u8(vshrq_n_u8(input, 7)); ++ ++ // Merge the even lanes together with a 16-bit unsigned shift right + add. ++ // 'xx' represents garbage data which will be ignored in the final result. ++ // In the important bytes, the add functions like a binary OR. ++ // ++ // 01 01 00 01 00 00 01 00 ++ // \_ | \_ | \_ | \_ | paired16 = (uint32x4_t)(input + (input >> 7)) ++ // \| \| \| \| ++ // xx 03 xx 01 xx 00 xx 02 ++ // ++ // 00000001 00000001 (01 01) ++ // \_______ | ++ // \| ++ // xxxxxxxx xxxxxx11 (xx 03) ++ uint32x4_t paired16 = ++ vreinterpretq_u32_u16(vsraq_n_u16(high_bits, high_bits, 7)); ++ ++ // Repeat with a wider 32-bit shift + add. ++ // xx 03 xx 01 xx 00 xx 02 ++ // \____ | \____ | paired32 = (uint64x1_t)(paired16 + (paired16 >> ++ // 14)) ++ // \| \| ++ // xx xx xx 0d xx xx xx 02 ++ // ++ // 00000011 00000001 (03 01) ++ // \\_____ || ++ // '----.\|| ++ // xxxxxxxx xxxx1101 (xx 0d) ++ uint64x2_t paired32 = ++ vreinterpretq_u64_u32(vsraq_n_u32(paired16, paired16, 14)); ++ ++ // Last, an even wider 64-bit shift + add to get our result in the low 8 bit ++ // lanes. xx xx xx 0d xx xx xx 02 ++ // \_________ | paired64 = (uint8x8_t)(paired32 + (paired32 >> ++ // 28)) ++ // \| ++ // xx xx xx xx xx xx xx d2 ++ // ++ // 00001101 00000010 (0d 02) ++ // \ \___ | | ++ // '---. \| | ++ // xxxxxxxx 11010010 (xx d2) ++ uint8x16_t paired64 = ++ vreinterpretq_u8_u64(vsraq_n_u64(paired32, paired32, 28)); ++ ++ // Extract the low 8 bits from each 64-bit lane with 2 8-bit extracts. ++ // xx xx xx xx xx xx xx d2 ++ // || return paired64[0] ++ // d2 ++ // Note: Little endian would return the correct value 4b (01001011) instead. ++ return vgetq_lane_u8(paired64, 0) | ((int) vgetq_lane_u8(paired64, 8) << 8); ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed double-precision (64-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pd ++FORCE_INLINE int _mm_movemask_pd(__m128d a) ++{ ++ uint64x2_t input = vreinterpretq_u64_m128d(a); ++ uint64x2_t high_bits = vshrq_n_u64(input, 63); ++ return (int) (vgetq_lane_u64(high_bits, 0) | ++ (vgetq_lane_u64(high_bits, 1) << 1)); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movepi64_pi64 ++FORCE_INLINE __m64 _mm_movepi64_pi64(__m128i a) ++{ ++ return vreinterpret_m64_s64(vget_low_s64(vreinterpretq_s64_m128i(a))); ++} ++ ++// Copy the 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movpi64_epi64 ++FORCE_INLINE __m128i _mm_movpi64_epi64(__m64 a) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vreinterpret_s64_m64(a), vdup_n_s64(0))); ++} ++ ++// Multiply the low unsigned 32-bit integers from each packed 64-bit element in ++// a and b, and store the unsigned 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epu32 ++FORCE_INLINE __m128i _mm_mul_epu32(__m128i a, __m128i b) ++{ ++ // vmull_u32 upcasts instead of masking, so we downcast. ++ uint32x2_t a_lo = vmovn_u64(vreinterpretq_u64_m128i(a)); ++ uint32x2_t b_lo = vmovn_u64(vreinterpretq_u64_m128i(b)); ++ return vreinterpretq_m128i_u64(vmull_u32(a_lo, b_lo)); ++} ++ ++// Multiply packed double-precision (64-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_pd ++FORCE_INLINE __m128d _mm_mul_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vmulq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] * db[0]; ++ c[1] = da[1] * db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Multiply the lower double-precision (64-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper element ++// from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_mul_sd ++FORCE_INLINE __m128d _mm_mul_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_mul_pd(a, b)); ++} ++ ++// Multiply the low unsigned 32-bit integers from a and b, and store the ++// unsigned 64-bit result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_su32 ++FORCE_INLINE __m64 _mm_mul_su32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u64(vget_low_u64( ++ vmull_u32(vreinterpret_u32_m64(a), vreinterpret_u32_m64(b)))); ++} ++ ++// Multiply the packed signed 16-bit integers in a and b, producing intermediate ++// 32-bit integers, and store the high 16 bits of the intermediate integers in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epi16 ++FORCE_INLINE __m128i _mm_mulhi_epi16(__m128i a, __m128i b) ++{ ++ /* FIXME: issue with large values because of result saturation */ ++ // int16x8_t ret = vqdmulhq_s16(vreinterpretq_s16_m128i(a), ++ // vreinterpretq_s16_m128i(b)); /* =2*a*b */ return ++ // vreinterpretq_m128i_s16(vshrq_n_s16(ret, 1)); ++ int16x4_t a3210 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b3210 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab3210 = vmull_s16(a3210, b3210); /* 3333222211110000 */ ++ int16x4_t a7654 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b7654 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab7654 = vmull_s16(a7654, b7654); /* 7777666655554444 */ ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_s32(ab3210), vreinterpretq_u16_s32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epu16 ++FORCE_INLINE __m128i _mm_mulhi_epu16(__m128i a, __m128i b) ++{ ++ uint16x4_t a3210 = vget_low_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b3210 = vget_low_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab3210 = vmull_u16(a3210, b3210); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32x4_t ab7654 = ++ vmull_high_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ uint16x8_t r = vuzp2q_u16(vreinterpretq_u16_u32(ab3210), ++ vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r); ++#else ++ uint16x4_t a7654 = vget_high_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b7654 = vget_high_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab7654 = vmull_u16(a7654, b7654); ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_u32(ab3210), vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++#endif ++} ++ ++// Multiply the packed 16-bit integers in a and b, producing intermediate 32-bit ++// integers, and store the low 16 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi16 ++FORCE_INLINE __m128i _mm_mullo_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmulq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compute the bitwise OR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_or_pd ++FORCE_INLINE __m128d _mm_or_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vorrq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise OR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_si128 ++FORCE_INLINE __m128i _mm_or_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vorrq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi16 ++FORCE_INLINE __m128i _mm_packs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vqmovn_s16(vreinterpretq_s16_m128i(a)), ++ vqmovn_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi32 ++FORCE_INLINE __m128i _mm_packs_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vqmovn_s32(vreinterpretq_s32_m128i(a)), ++ vqmovn_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi16 ++FORCE_INLINE __m128i _mm_packus_epi16(const __m128i a, const __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcombine_u8(vqmovun_s16(vreinterpretq_s16_m128i(a)), ++ vqmovun_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Pause the processor. This is typically used in spin-wait loops and depending ++// on the x86 processor typical values are in the 40-100 cycle range. The ++// 'yield' instruction isn't a good fit because it's effectively a nop on most ++// Arm cores. Experience with several databases has shown has shown an 'isb' is ++// a reasonable approximation. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_pause ++FORCE_INLINE void _mm_pause(void) ++{ ++#if defined(_MSC_VER) ++ __isb(_ARM64_BARRIER_SY); ++#else ++ __asm__ __volatile__("isb\n"); ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce two ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of 64-bit elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_epu8 ++FORCE_INLINE __m128i _mm_sad_epu8(__m128i a, __m128i b) ++{ ++ uint16x8_t t = vpaddlq_u8(vabdq_u8((uint8x16_t) a, (uint8x16_t) b)); ++ return vreinterpretq_m128i_u64(vpaddlq_u32(vpaddlq_u16(t))); ++} ++ ++// Set packed 16-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi16 ++FORCE_INLINE __m128i _mm_set_epi16(short i7, ++ short i6, ++ short i5, ++ short i4, ++ short i3, ++ short i2, ++ short i1, ++ short i0) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {i0, i1, i2, i3, i4, i5, i6, i7}; ++ return vreinterpretq_m128i_s16(vld1q_s16(data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi32 ++FORCE_INLINE __m128i _mm_set_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i0, i1, i2, i3}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64 ++FORCE_INLINE __m128i _mm_set_epi64(__m64 i1, __m64 i2) ++{ ++ return _mm_set_epi64x(vget_lane_s64(i1, 0), vget_lane_s64(i2, 0)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64x ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t i1, int64_t i2) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vcreate_s64(i2), vcreate_s64(i1))); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi8 ++FORCE_INLINE __m128i _mm_set_epi8(signed char b15, ++ signed char b14, ++ signed char b13, ++ signed char b12, ++ signed char b11, ++ signed char b10, ++ signed char b9, ++ signed char b8, ++ signed char b7, ++ signed char b6, ++ signed char b5, ++ signed char b4, ++ signed char b3, ++ signed char b2, ++ signed char b1, ++ signed char b0) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd ++FORCE_INLINE __m128d _mm_set_pd(double e1, double e0) ++{ ++ double ALIGN_STRUCT(16) data[2] = {e0, e1}; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64((float64_t *) data)); ++#else ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) data)); ++#endif ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd1 ++#define _mm_set_pd1 _mm_set1_pd ++ ++// Copy double-precision (64-bit) floating-point element a to the lower element ++// of dst, and zero the upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_sd ++FORCE_INLINE __m128d _mm_set_sd(double a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(a, vdupq_n_f64(0), 0)); ++#else ++ return _mm_set_pd(0, a); ++#endif ++} ++ ++// Broadcast 16-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi16 ++FORCE_INLINE __m128i _mm_set1_epi16(short w) ++{ ++ return vreinterpretq_m128i_s16(vdupq_n_s16(w)); ++} ++ ++// Broadcast 32-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi32 ++FORCE_INLINE __m128i _mm_set1_epi32(int _i) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(_i)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64 ++FORCE_INLINE __m128i _mm_set1_epi64(__m64 _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_lane_s64(_i, 0)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64x ++FORCE_INLINE __m128i _mm_set1_epi64x(int64_t _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_n_s64(_i)); ++} ++ ++// Broadcast 8-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi8 ++FORCE_INLINE __m128i _mm_set1_epi8(signed char w) ++{ ++ return vreinterpretq_m128i_s8(vdupq_n_s8(w)); ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_pd ++FORCE_INLINE __m128d _mm_set1_pd(double d) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(d)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(int64_t *) &d)); ++#endif ++} ++ ++// Set packed 16-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi16 ++FORCE_INLINE __m128i _mm_setr_epi16(short w0, ++ short w1, ++ short w2, ++ short w3, ++ short w4, ++ short w5, ++ short w6, ++ short w7) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {w0, w1, w2, w3, w4, w5, w6, w7}; ++ return vreinterpretq_m128i_s16(vld1q_s16((int16_t *) data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi32 ++FORCE_INLINE __m128i _mm_setr_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i3, i2, i1, i0}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi64 ++FORCE_INLINE __m128i _mm_setr_epi64(__m64 e1, __m64 e0) ++{ ++ return vreinterpretq_m128i_s64(vcombine_s64(e1, e0)); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi8 ++FORCE_INLINE __m128i _mm_setr_epi8(signed char b0, ++ signed char b1, ++ signed char b2, ++ signed char b3, ++ signed char b4, ++ signed char b5, ++ signed char b6, ++ signed char b7, ++ signed char b8, ++ signed char b9, ++ signed char b10, ++ signed char b11, ++ signed char b12, ++ signed char b13, ++ signed char b14, ++ signed char b15) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_pd ++FORCE_INLINE __m128d _mm_setr_pd(double e1, double e0) ++{ ++ return _mm_set_pd(e0, e1); ++} ++ ++// Return vector of type __m128d with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_pd ++FORCE_INLINE __m128d _mm_setzero_pd(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(0)); ++#else ++ return vreinterpretq_m128d_f32(vdupq_n_f32(0)); ++#endif ++} ++ ++// Return vector of type __m128i with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_si128 ++FORCE_INLINE __m128i _mm_setzero_si128(void) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(0)); ++} ++ ++// Shuffle 32-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi32 ++// FORCE_INLINE __m128i _mm_shuffle_epi32(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shuffle_epi32(a, imm) \ ++ __extension__({ \ ++ int32x4_t _input = vreinterpretq_s32_m128i(a); \ ++ int32x4_t _shuf = \ ++ vshuffleq_s32(_input, _input, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ ((imm) >> 4) & 0x3, ((imm) >> 6) & 0x3); \ ++ vreinterpretq_m128i_s32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_epi32(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, __m128i ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_epi_1032(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_epi_2301(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_epi_0321(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_epi_2103(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_shuffle_epi_1010(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_epi_1001(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_epi_0101(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 1, 1): \ ++ ret = _mm_shuffle_epi_2211(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 2, 2): \ ++ ret = _mm_shuffle_epi_0122(_a); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 2): \ ++ ret = _mm_shuffle_epi_3332(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 0, 0): \ ++ ret = _mm_shuffle_epi32_splat(_a, 0); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 1, 1): \ ++ ret = _mm_shuffle_epi32_splat(_a, 1); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 2, 2): \ ++ ret = _mm_shuffle_epi32_splat(_a, 2); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 3): \ ++ ret = _mm_shuffle_epi32_splat(_a, 3); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_epi32_default(_a, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Shuffle double-precision (64-bit) floating-point elements using the control ++// in imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pd ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pd(a, b, imm8) \ ++ vreinterpretq_m128d_s64( \ ++ vshuffleq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b), \ ++ imm8 & 0x1, ((imm8 & 0x2) >> 1) + 2)) ++#else ++#define _mm_shuffle_pd(a, b, imm8) \ ++ _mm_castsi128_pd(_mm_set_epi64x( \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(b), (imm8 & 0x2) >> 1), \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(a), imm8 & 0x1))) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflehi_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflehi_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = \ ++ vshuffleq_s16(_input, _input, 0, 1, 2, 3, ((imm) & (0x3)) + 4, \ ++ (((imm) >> 2) & 0x3) + 4, (((imm) >> 4) & 0x3) + 4, \ ++ (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflehi_epi16(a, imm) _mm_shufflehi_epi16_function((a), (imm)) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflelo_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflelo_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = vshuffleq_s16( \ ++ _input, _input, ((imm) & (0x3)), (((imm) >> 2) & 0x3), \ ++ (((imm) >> 4) & 0x3), (((imm) >> 6) & 0x3), 4, 5, 6, 7); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflelo_epi16(a, imm) _mm_shufflelo_epi16_function((a), (imm)) ++#endif ++ ++// Shift packed 16-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi16 ++FORCE_INLINE __m128i _mm_sll_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16((int16_t) c); ++ return vreinterpretq_m128i_s16(vshlq_s16(vreinterpretq_s16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi32 ++FORCE_INLINE __m128i _mm_sll_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32((int32_t) c); ++ return vreinterpretq_m128i_s32(vshlq_s32(vreinterpretq_s32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi64 ++FORCE_INLINE __m128i _mm_sll_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64((int64_t) c); ++ return vreinterpretq_m128i_s64(vshlq_s64(vreinterpretq_s64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi16 ++FORCE_INLINE __m128i _mm_slli_epi16(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~15)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16(vreinterpretq_s16_m128i(a), vdupq_n_s16(imm))); ++} ++ ++// Shift packed 32-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi32 ++FORCE_INLINE __m128i _mm_slli_epi32(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~31)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32(vreinterpretq_s32_m128i(a), vdupq_n_s32(imm))); ++} ++ ++// Shift packed 64-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi64 ++FORCE_INLINE __m128i _mm_slli_epi64(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~63)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s64( ++ vshlq_s64(vreinterpretq_s64_m128i(a), vdupq_n_s64(imm))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_si128 ++#define _mm_slli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely(imm == 0)) ret = vreinterpretq_s8_m128i(_a); \ ++ else if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vdupq_n_s8(0), vreinterpretq_s8_m128i(_a), \ ++ ((imm <= 0 || imm > 15) ? 0 : (16 - imm))); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Compute the square root of packed double-precision (64-bit) floating-point ++// elements in a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_pd ++FORCE_INLINE __m128d _mm_sqrt_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsqrtq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double a0 = sqrt(((double *) &a)[0]); ++ double a1 = sqrt(((double *) &a)[1]); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Compute the square root of the lower double-precision (64-bit) floating-point ++// element in b, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_sd ++FORCE_INLINE __m128d _mm_sqrt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_sqrt_pd(b)); ++#else ++ return _mm_set_pd(((double *) &a)[1], sqrt(((double *) &b)[0])); ++#endif ++} ++ ++// Shift packed 16-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi16 ++FORCE_INLINE __m128i _mm_sra_epi16(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_cmplt_epi16(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16((int16x8_t) a, vdupq_n_s16((int) -c))); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi32 ++FORCE_INLINE __m128i _mm_sra_epi32(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_cmplt_epi32(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32((int32x4_t) a, vdupq_n_s32((int) -c))); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in sign ++// bits, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi16 ++FORCE_INLINE __m128i _mm_srai_epi16(__m128i a, int imm) ++{ ++ const int count = (imm & ~15) ? 15 : imm; ++ return (__m128i) vshlq_s16((int16x8_t) a, vdupq_n_s16(-count)); ++} ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi32 ++// FORCE_INLINE __m128i _mm_srai_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srai_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) == 0)) { \ ++ ret = _a; \ ++ } else if (_sse2neon_likely(0 < (imm) && (imm) < 32)) { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshlq_s32(vreinterpretq_s32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } else { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshrq_n_s32(vreinterpretq_s32_m128i(_a), 31)); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 16-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi16 ++FORCE_INLINE __m128i _mm_srl_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16(-(int16_t) c); ++ return vreinterpretq_m128i_u16(vshlq_u16(vreinterpretq_u16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi32 ++FORCE_INLINE __m128i _mm_srl_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32(-(int32_t) c); ++ return vreinterpretq_m128i_u32(vshlq_u32(vreinterpretq_u32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi64 ++FORCE_INLINE __m128i _mm_srl_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64(-(int64_t) c); ++ return vreinterpretq_m128i_u64(vshlq_u64(vreinterpretq_u64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi16 ++#define _mm_srli_epi16(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~15)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u16( \ ++ vshlq_u16(vreinterpretq_u16_m128i(_a), vdupq_n_s16(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi32 ++// FORCE_INLINE __m128i _mm_srli_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srli_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~31)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u32( \ ++ vshlq_u32(vreinterpretq_u32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 64-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi64 ++#define _mm_srli_epi64(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~63)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u64( \ ++ vshlq_u64(vreinterpretq_u64_m128i(_a), vdupq_n_s64(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_si128 ++#define _mm_srli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vreinterpretq_s8_m128i(_a), vdupq_n_s8(0), \ ++ (imm > 15 ? 0 : imm)); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd ++FORCE_INLINE void _mm_store_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64((float64_t *) mem_addr, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_f32((float32_t *) mem_addr, vreinterpretq_f32_m128d(a)); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd1 ++FORCE_INLINE void _mm_store_pd1(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x1_t a_low = vget_low_f64(vreinterpretq_f64_m128d(a)); ++ vst1q_f64((float64_t *) mem_addr, ++ vreinterpretq_f64_m128d(vcombine_f64(a_low, a_low))); ++#else ++ float32x2_t a_low = vget_low_f32(vreinterpretq_f32_m128d(a)); ++ vst1q_f32((float32_t *) mem_addr, ++ vreinterpretq_f32_m128d(vcombine_f32(a_low, a_low))); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_store_sd ++FORCE_INLINE void _mm_store_sd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_u64((uint64_t *) mem_addr, vget_low_u64(vreinterpretq_u64_m128d(a))); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_si128 ++FORCE_INLINE void _mm_store_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#expand=9,526,5601&text=_mm_store1_pd ++#define _mm_store1_pd _mm_store_pd1 ++ ++// Store the upper double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pd ++FORCE_INLINE void _mm_storeh_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_high_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_high_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 64-bit integer from the first element of a into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_epi64 ++FORCE_INLINE void _mm_storel_epi64(__m128i *a, __m128i b) ++{ ++ vst1_u64((uint64_t *) a, vget_low_u64(vreinterpretq_u64_m128i(b))); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pd ++FORCE_INLINE void _mm_storel_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_low_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 2 double-precision (64-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_pd ++FORCE_INLINE void _mm_storer_pd(double *mem_addr, __m128d a) ++{ ++ float32x4_t f = vreinterpretq_f32_m128d(a); ++ _mm_store_pd(mem_addr, vreinterpretq_m128d_f32(vextq_f32(f, f, 2))); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_pd ++FORCE_INLINE void _mm_storeu_pd(double *mem_addr, __m128d a) ++{ ++ _mm_store_pd(mem_addr, a); ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si128 ++FORCE_INLINE void _mm_storeu_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store 32-bit integer from the first element of a into memory. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si32 ++FORCE_INLINE void _mm_storeu_si32(void *p, __m128i a) ++{ ++ vst1q_lane_s32((int32_t *) p, vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory using a non-temporal memory hint. mem_addr must ++// be aligned on a 16-byte boundary or a general-protection exception may be ++// generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pd ++FORCE_INLINE void _mm_stream_pd(double *p, __m128d a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (__m128d *) p); ++#elif defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64(p, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128d(a)); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory using a non-temporal memory ++// hint. mem_addr must be aligned on a 16-byte boundary or a general-protection ++// exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si128 ++FORCE_INLINE void _mm_stream_si128(__m128i *p, __m128i a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, p); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128i(a)); ++#endif ++} ++ ++// Store 32-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si32 ++FORCE_INLINE void _mm_stream_si32(int *p, int a) ++{ ++ vst1q_lane_s32((int32_t *) p, vdupq_n_s32(a), 0); ++} ++ ++// Store 64-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si64 ++FORCE_INLINE void _mm_stream_si64(__int64 *p, __int64 a) ++{ ++ vst1_s64((int64_t *) p, vdup_n_s64((int64_t) a)); ++} ++ ++// Subtract packed 16-bit integers in b from packed 16-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi16 ++FORCE_INLINE __m128i _mm_sub_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed 32-bit integers in b from packed 32-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi32 ++FORCE_INLINE __m128i _mm_sub_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Subtract packed 64-bit integers in b from packed 64-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi64 ++FORCE_INLINE __m128i _mm_sub_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vsubq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Subtract packed 8-bit integers in b from packed 8-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi8 ++FORCE_INLINE __m128i _mm_sub_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed double-precision (64-bit) floating-point elements in b from ++// packed double-precision (64-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_sub_pd ++FORCE_INLINE __m128d _mm_sub_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] - db[0]; ++ c[1] = da[1] - db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Subtract the lower double-precision (64-bit) floating-point element in b from ++// the lower double-precision (64-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_sd ++FORCE_INLINE __m128d _mm_sub_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_sub_pd(a, b)); ++} ++ ++// Subtract 64-bit integer b from 64-bit integer a, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_si64 ++FORCE_INLINE __m64 _mm_sub_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vsub_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Subtract packed signed 16-bit integers in b from packed 16-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi16 ++FORCE_INLINE __m128i _mm_subs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed signed 8-bit integers in b from packed 8-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi8 ++FORCE_INLINE __m128i _mm_subs_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed unsigned 16-bit integers in b from packed unsigned 16-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu16 ++FORCE_INLINE __m128i _mm_subs_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqsubq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Subtract packed unsigned 8-bit integers in b from packed unsigned 8-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu8 ++FORCE_INLINE __m128i _mm_subs_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqsubq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++#define _mm_ucomieq_sd _mm_comieq_sd ++#define _mm_ucomige_sd _mm_comige_sd ++#define _mm_ucomigt_sd _mm_comigt_sd ++#define _mm_ucomile_sd _mm_comile_sd ++#define _mm_ucomilt_sd _mm_comilt_sd ++#define _mm_ucomineq_sd _mm_comineq_sd ++ ++// Return vector of type __m128d with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_pd ++FORCE_INLINE __m128d _mm_undefined_pd(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128d a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_pd(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi16 ++FORCE_INLINE __m128i _mm_unpackhi_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip2q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi32 ++FORCE_INLINE __m128i _mm_unpackhi_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip2q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_high_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi64 ++FORCE_INLINE __m128i _mm_unpackhi_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip2q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_h = vget_high_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_h = vget_high_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_h, b_h)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the high half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi8 ++FORCE_INLINE __m128i _mm_unpackhi_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip2q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the high half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_pd ++FORCE_INLINE __m128d _mm_unpackhi_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip2q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_high_s64(vreinterpretq_s64_m128d(a)), ++ vget_high_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi16 ++FORCE_INLINE __m128i _mm_unpacklo_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip1q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi32 ++FORCE_INLINE __m128i _mm_unpacklo_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip1q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_low_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi64 ++FORCE_INLINE __m128i _mm_unpacklo_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip1q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_l = vget_low_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_l = vget_low_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_l, b_l)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi8 ++FORCE_INLINE __m128i _mm_unpacklo_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip1q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_pd ++FORCE_INLINE __m128d _mm_unpacklo_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip1q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_low_s64(vreinterpretq_s64_m128d(a)), ++ vget_low_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Compute the bitwise XOR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_pd ++FORCE_INLINE __m128d _mm_xor_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ veorq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise XOR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_si128 ++FORCE_INLINE __m128i _mm_xor_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ veorq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++/* SSE3 */ ++ ++// Alternatively add and subtract packed double-precision (64-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_addsub_pd ++FORCE_INLINE __m128d _mm_addsub_pd(__m128d a, __m128d b) ++{ ++ _sse2neon_const __m128d mask = _mm_set_pd(1.0f, -1.0f); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vfmaq_f64(vreinterpretq_f64_m128d(a), ++ vreinterpretq_f64_m128d(b), ++ vreinterpretq_f64_m128d(mask))); ++#else ++ return _mm_add_pd(_mm_mul_pd(b, mask), a); ++#endif ++} ++ ++// Alternatively add and subtract packed single-precision (32-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=addsub_ps ++FORCE_INLINE __m128 _mm_addsub_ps(__m128 a, __m128 b) ++{ ++ _sse2neon_const __m128 mask = _mm_setr_ps(-1.0f, 1.0f, -1.0f, 1.0f); ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_FMA) /* VFPv4+ */ ++ return vreinterpretq_m128_f32(vfmaq_f32(vreinterpretq_f32_m128(a), ++ vreinterpretq_f32_m128(mask), ++ vreinterpretq_f32_m128(b))); ++#else ++ return _mm_add_ps(_mm_mul_ps(b, mask), a); ++#endif ++} ++ ++// Horizontally add adjacent pairs of double-precision (64-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pd ++FORCE_INLINE __m128d _mm_hadd_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vpaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[] = {da[0] + da[1], db[0] + db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of single-precision (32-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_ps ++FORCE_INLINE __m128 _mm_hadd_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vpaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vpadd_f32(a10, a32), vpadd_f32(b10, b32))); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of double-precision (64-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pd ++FORCE_INLINE __m128d _mm_hsub_pd(__m128d _a, __m128d _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vuzp1q_f64(a, b), vuzp2q_f64(a, b))); ++#else ++ double *da = (double *) &_a; ++ double *db = (double *) &_b; ++ double c[] = {da[0] - da[1], db[0] - db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of single-precision (32-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_ps ++FORCE_INLINE __m128 _mm_hsub_ps(__m128 _a, __m128 _b) ++{ ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vuzp1q_f32(a, b), vuzp2q_f32(a, b))); ++#else ++ float32x4x2_t c = vuzpq_f32(a, b); ++ return vreinterpretq_m128_f32(vsubq_f32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Load 128-bits of integer data from unaligned memory into dst. This intrinsic ++// may perform better than _mm_loadu_si128 when the data crosses a cache line ++// boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lddqu_si128 ++#define _mm_lddqu_si128 _mm_loadu_si128 ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loaddup_pd ++#define _mm_loaddup_pd _mm_load1_pd ++ ++// Duplicate the low double-precision (64-bit) floating-point element from a, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movedup_pd ++FORCE_INLINE __m128d _mm_movedup_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdupq_laneq_f64(vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_u64( ++ vdupq_n_u64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0))); ++#endif ++} ++ ++// Duplicate odd-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehdup_ps ++FORCE_INLINE __m128 _mm_movehdup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 1, 1, 3, 3)); ++#else ++ float32_t a1 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ float32_t a3 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 3); ++ float ALIGN_STRUCT(16) data[4] = {a1, a1, a3, a3}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Duplicate even-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_moveldup_ps ++FORCE_INLINE __m128 _mm_moveldup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 0, 0, 2, 2)); ++#else ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32_t a2 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 2); ++ float ALIGN_STRUCT(16) data[4] = {a0, a0, a2, a2}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++/* SSSE3 */ ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi16 ++FORCE_INLINE __m128i _mm_abs_epi16(__m128i a) ++{ ++ return vreinterpretq_m128i_s16(vabsq_s16(vreinterpretq_s16_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi32 ++FORCE_INLINE __m128i _mm_abs_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32(vabsq_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi8 ++FORCE_INLINE __m128i _mm_abs_epi8(__m128i a) ++{ ++ return vreinterpretq_m128i_s8(vabsq_s8(vreinterpretq_s8_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi16 ++FORCE_INLINE __m64 _mm_abs_pi16(__m64 a) ++{ ++ return vreinterpret_m64_s16(vabs_s16(vreinterpret_s16_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi32 ++FORCE_INLINE __m64 _mm_abs_pi32(__m64 a) ++{ ++ return vreinterpret_m64_s32(vabs_s32(vreinterpret_s32_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi8 ++FORCE_INLINE __m64 _mm_abs_pi8(__m64 a) ++{ ++ return vreinterpret_m64_s8(vabs_s8(vreinterpret_s8_m64(a))); ++} ++ ++// Concatenate 16-byte blocks in a and b into a 32-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 16 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_epi8 ++#if defined(__GNUC__) && !defined(__clang__) ++#define _mm_alignr_epi8(a, b, imm) \ ++ __extension__({ \ ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); \ ++ uint8x16_t _b = vreinterpretq_u8_m128i(b); \ ++ __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) \ ++ ret = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) \ ++ ret = _mm_srli_si128(a, imm >= 16 ? imm - 16 : 0); \ ++ else \ ++ ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(_b, _a, imm < 16 ? imm : 0)); \ ++ ret; \ ++ }) ++ ++#else ++#define _mm_alignr_epi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, uint8x16_t __a = vreinterpretq_u8_m128i(_a); \ ++ uint8x16_t __b = vreinterpretq_u8_m128i(_b); __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) ret = \ ++ vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) ret = \ ++ _mm_srli_si128(_a, imm >= 16 ? imm - 16 : 0); \ ++ else ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(__b, __a, imm < 16 ? imm : 0)); \ ++ _sse2neon_return(ret);) ++ ++#endif ++ ++// Concatenate 8-byte blocks in a and b into a 16-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 8 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_pi8 ++#define _mm_alignr_pi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m64, a, b, __m64 ret; if (_sse2neon_unlikely((imm) >= 16)) { \ ++ ret = vreinterpret_m64_s8(vdup_n_s8(0)); \ ++ } else { \ ++ uint8x8_t tmp_low; \ ++ uint8x8_t tmp_high; \ ++ if ((imm) >= 8) { \ ++ const int idx = (imm) -8; \ ++ tmp_low = vreinterpret_u8_m64(_a); \ ++ tmp_high = vdup_n_u8(0); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } else { \ ++ const int idx = (imm); \ ++ tmp_low = vreinterpret_u8_m64(_b); \ ++ tmp_high = vreinterpret_u8_m64(_a); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } \ ++ } _sse2neon_return(ret);) ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi16 ++FORCE_INLINE __m128i _mm_hadd_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16(vpaddq_s16(a, b)); ++#else ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(vget_low_s16(a), vget_high_s16(a)), ++ vpadd_s16(vget_low_s16(b), vget_high_s16(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi32 ++FORCE_INLINE __m128i _mm_hadd_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32(vpaddq_s32(a, b)); ++#else ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vpadd_s32(vget_low_s32(a), vget_high_s32(a)), ++ vpadd_s32(vget_low_s32(b), vget_high_s32(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi16 ++FORCE_INLINE __m64 _mm_hadd_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vpadd_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi32 ++FORCE_INLINE __m64 _mm_hadd_pi32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s32( ++ vpadd_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_epi16 ++FORCE_INLINE __m128i _mm_hadds_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ return vreinterpretq_s64_s16( ++ vqaddq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ // Interleave using vshrn/vmovn ++ // [a0|a2|a4|a6|b0|b2|b4|b6] ++ // [a1|a3|a5|a7|b1|b3|b5|b7] ++ int16x8_t ab0246 = vcombine_s16(vmovn_s32(a), vmovn_s32(b)); ++ int16x8_t ab1357 = vcombine_s16(vshrn_n_s32(a, 16), vshrn_n_s32(b, 16)); ++ // Saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(ab0246, ab1357)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_pi16 ++FORCE_INLINE __m64 _mm_hadds_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_s64_s16(vqadd_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t res = vuzp_s16(a, b); ++ return vreinterpret_s64_s16(vqadd_s16(res.val[0], res.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi16 ++FORCE_INLINE __m128i _mm_hsub_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi32 ++FORCE_INLINE __m128i _mm_hsub_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vuzp1q_s32(a, b), vuzp2q_s32(a, b))); ++#else ++ int32x4x2_t c = vuzpq_s32(a, b); ++ return vreinterpretq_m128i_s32(vsubq_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pi16 ++FORCE_INLINE __m64 _mm_hsub_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_hsub_pi32 ++FORCE_INLINE __m64 _mm_hsub_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s32(vsub_s32(vuzp1_s32(a, b), vuzp2_s32(a, b))); ++#else ++ int32x2x2_t c = vuzp_s32(a, b); ++ return vreinterpret_m64_s32(vsub_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_epi16 ++FORCE_INLINE __m128i _mm_hsubs_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vqsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_pi16 ++FORCE_INLINE __m64 _mm_hsubs_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vqsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vqsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, ++// and pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_epi16 ++FORCE_INLINE __m128i _mm_maddubs_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ int16x8_t tl = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_low_u8(a))), ++ vmovl_s8(vget_low_s8(b))); ++ int16x8_t th = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_high_u8(a))), ++ vmovl_s8(vget_high_s8(b))); ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vuzp1q_s16(tl, th), vuzp2q_s16(tl, th))); ++#else ++ // This would be much simpler if x86 would choose to zero extend OR sign ++ // extend, not both. This could probably be optimized better. ++ uint16x8_t a = vreinterpretq_u16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // Zero extend a ++ int16x8_t a_odd = vreinterpretq_s16_u16(vshrq_n_u16(a, 8)); ++ int16x8_t a_even = vreinterpretq_s16_u16(vbicq_u16(a, vdupq_n_u16(0xff00))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x8_t b_even = vshrq_n_s16(vshlq_n_s16(b, 8), 8); ++ int16x8_t b_odd = vshrq_n_s16(b, 8); ++ ++ // multiply ++ int16x8_t prod1 = vmulq_s16(a_even, b_even); ++ int16x8_t prod2 = vmulq_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(prod1, prod2)); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, and ++// pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_pi16 ++FORCE_INLINE __m64 _mm_maddubs_pi16(__m64 _a, __m64 _b) ++{ ++ uint16x4_t a = vreinterpret_u16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // Zero extend a ++ int16x4_t a_odd = vreinterpret_s16_u16(vshr_n_u16(a, 8)); ++ int16x4_t a_even = vreinterpret_s16_u16(vand_u16(a, vdup_n_u16(0xff))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x4_t b_even = vshr_n_s16(vshl_n_s16(b, 8), 8); ++ int16x4_t b_odd = vshr_n_s16(b, 8); ++ ++ // multiply ++ int16x4_t prod1 = vmul_s16(a_even, b_even); ++ int16x4_t prod2 = vmul_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpret_m64_s16(vqadd_s16(prod1, prod2)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Shift right by 15 bits while rounding up, and store ++// the packed 16-bit integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_epi16 ++FORCE_INLINE __m128i _mm_mulhrs_epi16(__m128i a, __m128i b) ++{ ++ // Has issues due to saturation ++ // return vreinterpretq_m128i_s16(vqrdmulhq_s16(a, b)); ++ ++ // Multiply ++ int32x4_t mul_lo = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int32x4_t mul_hi = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ // Rounding narrowing shift right ++ // narrow = (int16_t)((mul + 16384) >> 15); ++ int16x4_t narrow_lo = vrshrn_n_s32(mul_lo, 15); ++ int16x4_t narrow_hi = vrshrn_n_s32(mul_hi, 15); ++ ++ // Join together ++ return vreinterpretq_m128i_s16(vcombine_s16(narrow_lo, narrow_hi)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Truncate each intermediate integer to the 18 most ++// significant bits, round by adding 1, and store bits [16:1] to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_pi16 ++FORCE_INLINE __m64 _mm_mulhrs_pi16(__m64 a, __m64 b) ++{ ++ int32x4_t mul_extend = ++ vmull_s16((vreinterpret_s16_m64(a)), (vreinterpret_s16_m64(b))); ++ ++ // Rounding narrowing shift right ++ return vreinterpret_m64_s16(vrshrn_n_s32(mul_extend, 15)); ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi8 ++FORCE_INLINE __m128i _mm_shuffle_epi8(__m128i a, __m128i b) ++{ ++ int8x16_t tbl = vreinterpretq_s8_m128i(a); // input a ++ uint8x16_t idx = vreinterpretq_u8_m128i(b); // input b ++ uint8x16_t idx_masked = ++ vandq_u8(idx, vdupq_n_u8(0x8F)); // avoid using meaningless bits ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8(vqtbl1q_s8(tbl, idx_masked)); ++#elif defined(__GNUC__) ++ int8x16_t ret; ++ // %e and %f represent the even and odd D registers ++ // respectively. ++ __asm__ __volatile__( ++ "vtbl.8 %e[ret], {%e[tbl], %f[tbl]}, %e[idx]\n" ++ "vtbl.8 %f[ret], {%e[tbl], %f[tbl]}, %f[idx]\n" ++ : [ret] "=&w"(ret) ++ : [tbl] "w"(tbl), [idx] "w"(idx_masked)); ++ return vreinterpretq_m128i_s8(ret); ++#else ++ // use this line if testing on aarch64 ++ int8x8x2_t a_split = {vget_low_s8(tbl), vget_high_s8(tbl)}; ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vtbl2_s8(a_split, vget_low_u8(idx_masked)), ++ vtbl2_s8(a_split, vget_high_u8(idx_masked)))); ++#endif ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi8 ++FORCE_INLINE __m64 _mm_shuffle_pi8(__m64 a, __m64 b) ++{ ++ const int8x8_t controlMask = ++ vand_s8(vreinterpret_s8_m64(b), vdup_n_s8((int8_t) (0x1 << 7 | 0x07))); ++ int8x8_t res = vtbl1_s8(vreinterpret_s8_m64(a), controlMask); ++ return vreinterpret_m64_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed ++// 16-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi16 ++FORCE_INLINE __m128i _mm_sign_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x8_t ltMask = vreinterpretq_u16_s16(vshrq_n_s16(b, 15)); ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqzq_s16(b)); ++#else ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqq_s16(b, vdupq_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s16(a) equals to negative ++ // 'a') based on ltMask ++ int16x8_t masked = vbslq_s16(ltMask, vnegq_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x8_t res = vbicq_s16(masked, zeroMask); ++ return vreinterpretq_m128i_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed ++// 32-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi32 ++FORCE_INLINE __m128i _mm_sign_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x4_t ltMask = vreinterpretq_u32_s32(vshrq_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqzq_s32(b)); ++#else ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqq_s32(b, vdupq_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s32(a) equals to negative ++ // 'a') based on ltMask ++ int32x4_t masked = vbslq_s32(ltMask, vnegq_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x4_t res = vbicq_s32(masked, zeroMask); ++ return vreinterpretq_m128i_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed ++// 8-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi8 ++FORCE_INLINE __m128i _mm_sign_epi8(__m128i _a, __m128i _b) ++{ ++ int8x16_t a = vreinterpretq_s8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x16_t ltMask = vreinterpretq_u8_s8(vshrq_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqzq_s8(b)); ++#else ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqq_s8(b, vdupq_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s8(a) return negative 'a') ++ // based on ltMask ++ int8x16_t masked = vbslq_s8(ltMask, vnegq_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x16_t res = vbicq_s8(masked, zeroMask); ++ ++ return vreinterpretq_m128i_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed 16-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi16 ++FORCE_INLINE __m64 _mm_sign_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x4_t ltMask = vreinterpret_u16_s16(vshr_n_s16(b, 15)); ++ ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceqz_s16(b)); ++#else ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceq_s16(b, vdup_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s16(a) return negative 'a') ++ // based on ltMask ++ int16x4_t masked = vbsl_s16(ltMask, vneg_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x4_t res = vbic_s16(masked, zeroMask); ++ ++ return vreinterpret_m64_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed 32-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi32 ++FORCE_INLINE __m64 _mm_sign_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x2_t ltMask = vreinterpret_u32_s32(vshr_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceqz_s32(b)); ++#else ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceq_s32(b, vdup_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s32(a) return negative 'a') ++ // based on ltMask ++ int32x2_t masked = vbsl_s32(ltMask, vneg_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x2_t res = vbic_s32(masked, zeroMask); ++ ++ return vreinterpret_m64_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed 8-bit integer ++// in b is negative, and store the results in dst. Element in dst are zeroed out ++// when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi8 ++FORCE_INLINE __m64 _mm_sign_pi8(__m64 _a, __m64 _b) ++{ ++ int8x8_t a = vreinterpret_s8_m64(_a); ++ int8x8_t b = vreinterpret_s8_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x8_t ltMask = vreinterpret_u8_s8(vshr_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceqz_s8(b)); ++#else ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceq_s8(b, vdup_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s8(a) return negative 'a') ++ // based on ltMask ++ int8x8_t masked = vbsl_s8(ltMask, vneg_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x8_t res = vbic_s8(masked, zeroMask); ++ ++ return vreinterpret_m64_s8(res); ++} ++ ++/* SSE4.1 */ ++ ++// Blend packed 16-bit integers from a and b using control mask imm8, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_epi16 ++// FORCE_INLINE __m128i _mm_blend_epi16(__m128i a, __m128i b, ++// __constrange(0,255) int imm) ++#define _mm_blend_epi16(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, \ ++ const uint16_t _mask[8] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 1)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 2)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 3)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 4)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 5)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 6)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 7)) ? (uint16_t) -1 : 0x0); \ ++ uint16x8_t _mask_vec = vld1q_u16(_mask); \ ++ uint16x8_t __a = vreinterpretq_u16_m128i(_a); \ ++ uint16x8_t __b = vreinterpretq_u16_m128i(_b); _sse2neon_return( \ ++ vreinterpretq_m128i_u16(vbslq_u16(_mask_vec, __b, __a)));) ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using control mask imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_pd ++#define _mm_blend_pd(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128d, a, b, \ ++ const uint64_t _mask[2] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? ~UINT64_C(0) : UINT64_C(0), \ ++ ((imm) & (1 << 1)) ? ~UINT64_C(0) : UINT64_C(0)); \ ++ uint64x2_t _mask_vec = vld1q_u64(_mask); \ ++ uint64x2_t __a = vreinterpretq_u64_m128d(_a); \ ++ uint64x2_t __b = vreinterpretq_u64_m128d(_b); _sse2neon_return( \ ++ vreinterpretq_m128d_u64(vbslq_u64(_mask_vec, __b, __a)));) ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_ps ++FORCE_INLINE __m128 _mm_blend_ps(__m128 _a, __m128 _b, const char imm8) ++{ ++ const uint32_t ALIGN_STRUCT(16) ++ data[4] = {((imm8) & (1 << 0)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0}; ++ uint32x4_t mask = vld1q_u32(data); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Blend packed 8-bit integers from a and b using mask, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_epi8 ++FORCE_INLINE __m128i _mm_blendv_epi8(__m128i _a, __m128i _b, __m128i _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint8x16_t mask = ++ vreinterpretq_u8_s8(vshrq_n_s8(vreinterpretq_s8_m128i(_mask), 7)); ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ uint8x16_t b = vreinterpretq_u8_m128i(_b); ++ return vreinterpretq_m128i_u8(vbslq_u8(mask, b, a)); ++} ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_pd ++FORCE_INLINE __m128d _mm_blendv_pd(__m128d _a, __m128d _b, __m128d _mask) ++{ ++ uint64x2_t mask = ++ vreinterpretq_u64_s64(vshrq_n_s64(vreinterpretq_s64_m128d(_mask), 63)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64(vbslq_f64(mask, b, a)); ++#else ++ uint64x2_t a = vreinterpretq_u64_m128d(_a); ++ uint64x2_t b = vreinterpretq_u64_m128d(_b); ++ return vreinterpretq_m128d_u64(vbslq_u64(mask, b, a)); ++#endif ++} ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_ps ++FORCE_INLINE __m128 _mm_blendv_ps(__m128 _a, __m128 _b, __m128 _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint32x4_t mask = ++ vreinterpretq_u32_s32(vshrq_n_s32(vreinterpretq_s32_m128(_mask), 31)); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a up ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_pd ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndpq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(ceil(f[1]), ceil(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a up to ++// an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ps ++FORCE_INLINE __m128 _mm_ceil_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndpq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ceilf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b up to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_sd ++FORCE_INLINE __m128d _mm_ceil_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_ceil_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b up to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ss ++FORCE_INLINE __m128 _mm_ceil_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_ceil_ps(b)); ++} ++ ++// Compare packed 64-bit integers in a and b for equality, and store the results ++// in dst ++FORCE_INLINE __m128i _mm_cmpeq_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vceqq_u64(vreinterpretq_u64_m128i(a), vreinterpretq_u64_m128i(b))); ++#else ++ // ARMv7 lacks vceqq_u64 ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128i_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Sign extend packed 16-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi32 ++FORCE_INLINE __m128i _mm_cvtepi16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vmovl_s16(vget_low_s16(vreinterpretq_s16_m128i(a)))); ++} ++ ++// Sign extend packed 16-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi64 ++FORCE_INLINE __m128i _mm_cvtepi16_epi64(__m128i a) ++{ ++ int16x8_t s16x8 = vreinterpretq_s16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Sign extend packed 32-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_epi64 ++FORCE_INLINE __m128i _mm_cvtepi32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a)))); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 16-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi16 ++FORCE_INLINE __m128i _mm_cvtepi8_epi16(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ return vreinterpretq_m128i_s16(s16x8); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi32 ++FORCE_INLINE __m128i _mm_cvtepi8_epi32(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_s32(s32x4); ++} ++ ++// Sign extend packed 8-bit integers in the low 8 bytes of a to packed 64-bit ++// integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi64 ++FORCE_INLINE __m128i _mm_cvtepi8_epi64(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi32 ++FORCE_INLINE __m128i _mm_cvtepu16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_u32( ++ vmovl_u16(vget_low_u16(vreinterpretq_u16_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi64 ++FORCE_INLINE __m128i _mm_cvtepu16_epi64(__m128i a) ++{ ++ uint16x8_t u16x8 = vreinterpretq_u16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Zero extend packed unsigned 32-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu32_epi64 ++FORCE_INLINE __m128i _mm_cvtepu32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_u64( ++ vmovl_u32(vget_low_u32(vreinterpretq_u32_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 16-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi16 ++FORCE_INLINE __m128i _mm_cvtepu8_epi16(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx HGFE DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0H0G 0F0E 0D0C 0B0A */ ++ return vreinterpretq_m128i_u16(u16x8); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi32 ++FORCE_INLINE __m128i _mm_cvtepu8_epi32(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_u32(u32x4); ++} ++ ++// Zero extend packed unsigned 8-bit integers in the low 8 bytes of a to packed ++// 64-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi64 ++FORCE_INLINE __m128i _mm_cvtepu8_epi64(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Conditionally multiply the packed double-precision (64-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, and ++// conditionally store the sum in dst using the low 4 bits of imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_pd ++FORCE_INLINE __m128d _mm_dp_pd(__m128d a, __m128d b, const int imm) ++{ ++ // Generate mask value from constant immediate bit value ++ const int64_t bit0Mask = imm & 0x01 ? UINT64_MAX : 0; ++ const int64_t bit1Mask = imm & 0x02 ? UINT64_MAX : 0; ++#if !SSE2NEON_PRECISE_DP ++ const int64_t bit4Mask = imm & 0x10 ? UINT64_MAX : 0; ++ const int64_t bit5Mask = imm & 0x20 ? UINT64_MAX : 0; ++#endif ++ // Conditional multiplication ++#if !SSE2NEON_PRECISE_DP ++ __m128d mul = _mm_mul_pd(a, b); ++ const __m128d mulMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit5Mask, bit4Mask)); ++ __m128d tmp = _mm_and_pd(mul, mulMask); ++#else ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double d0 = (imm & 0x10) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 0) ++ : 0; ++ double d1 = (imm & 0x20) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 1) ++ : 0; ++#else ++ double d0 = (imm & 0x10) ? ((double *) &a)[0] * ((double *) &b)[0] : 0; ++ double d1 = (imm & 0x20) ? ((double *) &a)[1] * ((double *) &b)[1] : 0; ++#endif ++ __m128d tmp = _mm_set_pd(d1, d0); ++#endif ++ // Sum the products ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double sum = vpaddd_f64(vreinterpretq_f64_m128d(tmp)); ++#else ++ double sum = *((double *) &tmp) + *(((double *) &tmp) + 1); ++#endif ++ // Conditionally store the sum ++ const __m128d sumMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit1Mask, bit0Mask)); ++ __m128d res = _mm_and_pd(_mm_set_pd1(sum), sumMask); ++ return res; ++} ++ ++// Conditionally multiply the packed single-precision (32-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, ++// and conditionally store the sum in dst using the low 4 bits of imm. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_ps ++FORCE_INLINE __m128 _mm_dp_ps(__m128 a, __m128 b, const int imm) ++{ ++ float32x4_t elementwise_prod = _mm_mul_ps(a, b); ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ /* shortcuts */ ++ if (imm == 0xFF) { ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++ ++ if ((imm & 0x0F) == 0x0F) { ++ if (!(imm & (1 << 4))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 0); ++ if (!(imm & (1 << 5))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 1); ++ if (!(imm & (1 << 6))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 2); ++ if (!(imm & (1 << 7))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 3); ++ ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++#endif ++ ++ float s = 0.0f; ++ ++ if (imm & (1 << 4)) ++ s += vgetq_lane_f32(elementwise_prod, 0); ++ if (imm & (1 << 5)) ++ s += vgetq_lane_f32(elementwise_prod, 1); ++ if (imm & (1 << 6)) ++ s += vgetq_lane_f32(elementwise_prod, 2); ++ if (imm & (1 << 7)) ++ s += vgetq_lane_f32(elementwise_prod, 3); ++ ++ const float32_t res[4] = { ++ (imm & 0x1) ? s : 0.0f, ++ (imm & 0x2) ? s : 0.0f, ++ (imm & 0x4) ? s : 0.0f, ++ (imm & 0x8) ? s : 0.0f, ++ }; ++ return vreinterpretq_m128_f32(vld1q_f32(res)); ++} ++ ++// Extract a 32-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi32 ++// FORCE_INLINE int _mm_extract_epi32(__m128i a, __constrange(0,4) int imm) ++#define _mm_extract_epi32(a, imm) \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)) ++ ++// Extract a 64-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi64 ++// FORCE_INLINE __int64 _mm_extract_epi64(__m128i a, __constrange(0,2) int imm) ++#define _mm_extract_epi64(a, imm) \ ++ vgetq_lane_s64(vreinterpretq_s64_m128i(a), (imm)) ++ ++// Extract an 8-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. FORCE_INLINE int _mm_extract_epi8(__m128i a, ++// __constrange(0,16) int imm) ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi8 ++#define _mm_extract_epi8(a, imm) vgetq_lane_u8(vreinterpretq_u8_m128i(a), (imm)) ++ ++// Extracts the selected single-precision (32-bit) floating-point from a. ++// FORCE_INLINE int _mm_extract_ps(__m128 a, __constrange(0,4) int imm) ++#define _mm_extract_ps(a, imm) vgetq_lane_s32(vreinterpretq_s32_m128(a), (imm)) ++ ++// Round the packed double-precision (64-bit) floating-point elements in a down ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_pd ++FORCE_INLINE __m128d _mm_floor_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndmq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(floor(f[1]), floor(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a down ++// to an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ps ++FORCE_INLINE __m128 _mm_floor_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndmq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(floorf(f[3]), floorf(f[2]), floorf(f[1]), floorf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b down to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_sd ++FORCE_INLINE __m128d _mm_floor_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_floor_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b down to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ss ++FORCE_INLINE __m128 _mm_floor_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_floor_ps(b)); ++} ++ ++// Copy a to dst, and insert the 32-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi32 ++// FORCE_INLINE __m128i _mm_insert_epi32(__m128i a, int b, ++// __constrange(0,4) int imm) ++#define _mm_insert_epi32(a, b, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vsetq_lane_s32((b), vreinterpretq_s32_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the 64-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi64 ++// FORCE_INLINE __m128i _mm_insert_epi64(__m128i a, __int64 b, ++// __constrange(0,2) int imm) ++#define _mm_insert_epi64(a, b, imm) \ ++ vreinterpretq_m128i_s64( \ ++ vsetq_lane_s64((b), vreinterpretq_s64_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the lower 8-bit integer from i into dst at the ++// location specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi8 ++// FORCE_INLINE __m128i _mm_insert_epi8(__m128i a, int b, ++// __constrange(0,16) int imm) ++#define _mm_insert_epi8(a, b, imm) \ ++ vreinterpretq_m128i_s8(vsetq_lane_s8((b), vreinterpretq_s8_m128i(a), (imm))) ++ ++// Copy a to tmp, then insert a single-precision (32-bit) floating-point ++// element from b into tmp using the control in imm8. Store tmp to dst using ++// the mask in imm8 (elements are zeroed out when the corresponding bit is set). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=insert_ps ++#define _mm_insert_ps(a, b, imm8) \ ++ _sse2neon_define2( \ ++ __m128, a, b, \ ++ float32x4_t tmp1 = \ ++ vsetq_lane_f32(vgetq_lane_f32(_b, (imm8 >> 6) & 0x3), \ ++ vreinterpretq_f32_m128(_a), 0); \ ++ float32x4_t tmp2 = \ ++ vsetq_lane_f32(vgetq_lane_f32(tmp1, 0), \ ++ vreinterpretq_f32_m128(_a), ((imm8 >> 4) & 0x3)); \ ++ const uint32_t data[4] = \ ++ _sse2neon_init(((imm8) & (1 << 0)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0); \ ++ uint32x4_t mask = vld1q_u32(data); \ ++ float32x4_t all_zeros = vdupq_n_f32(0); \ ++ \ ++ _sse2neon_return(vreinterpretq_m128_f32( \ ++ vbslq_f32(mask, all_zeros, vreinterpretq_f32_m128(tmp2))));) ++ ++// Compare packed signed 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi32 ++FORCE_INLINE __m128i _mm_max_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmaxq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi8 ++FORCE_INLINE __m128i _mm_max_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vmaxq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu16 ++FORCE_INLINE __m128i _mm_max_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vmaxq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_max_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vmaxq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi32 ++FORCE_INLINE __m128i _mm_min_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vminq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi8 ++FORCE_INLINE __m128i _mm_min_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vminq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu16 ++FORCE_INLINE __m128i _mm_min_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vminq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_min_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vminq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Horizontally compute the minimum amongst the packed unsigned 16-bit integers ++// in a, store the minimum and index in dst, and zero the remaining bits in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_minpos_epu16 ++FORCE_INLINE __m128i _mm_minpos_epu16(__m128i a) ++{ ++ __m128i dst; ++ uint16_t min, idx = 0; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Find the minimum value ++ min = vminvq_u16(vreinterpretq_u16_m128i(a)); ++ ++ // Get the index of the minimum value ++ static const uint16_t idxv[] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint16x8_t minv = vdupq_n_u16(min); ++ uint16x8_t cmeq = vceqq_u16(minv, vreinterpretq_u16_m128i(a)); ++ idx = vminvq_u16(vornq_u16(vld1q_u16(idxv), cmeq)); ++#else ++ // Find the minimum value ++ __m64 tmp; ++ tmp = vreinterpret_m64_u16( ++ vmin_u16(vget_low_u16(vreinterpretq_u16_m128i(a)), ++ vget_high_u16(vreinterpretq_u16_m128i(a)))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ min = vget_lane_u16(vreinterpret_u16_m64(tmp), 0); ++ // Get the index of the minimum value ++ int i; ++ for (i = 0; i < 8; i++) { ++ if (min == vgetq_lane_u16(vreinterpretq_u16_m128i(a), 0)) { ++ idx = (uint16_t) i; ++ break; ++ } ++ a = _mm_srli_si128(a, 2); ++ } ++#endif ++ // Generate result ++ dst = _mm_setzero_si128(); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(min, vreinterpretq_u16_m128i(dst), 0)); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(idx, vreinterpretq_u16_m128i(dst), 1)); ++ return dst; ++} ++ ++// Compute the sum of absolute differences (SADs) of quadruplets of unsigned ++// 8-bit integers in a compared to those in b, and store the 16-bit results in ++// dst. Eight SADs are performed using one quadruplet from b and eight ++// quadruplets from a. One quadruplet is selected from b starting at on the ++// offset specified in imm8. Eight quadruplets are formed from sequential 8-bit ++// integers selected from a starting at the offset specified in imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mpsadbw_epu8 ++FORCE_INLINE __m128i _mm_mpsadbw_epu8(__m128i a, __m128i b, const int imm) ++{ ++ uint8x16_t _a, _b; ++ ++ switch (imm & 0x4) { ++ case 0: ++ // do nothing ++ _a = vreinterpretq_u8_m128i(a); ++ break; ++ case 4: ++ _a = vreinterpretq_u8_u32(vextq_u32(vreinterpretq_u32_m128i(a), ++ vreinterpretq_u32_m128i(a), 1)); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ switch (imm & 0x3) { ++ case 0: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 0))); ++ break; ++ case 1: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 1))); ++ break; ++ case 2: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 2))); ++ break; ++ case 3: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 3))); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ int16x8_t c04, c15, c26, c37; ++ uint8x8_t low_b = vget_low_u8(_b); ++ c04 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a), low_b)); ++ uint8x16_t _a_1 = vextq_u8(_a, _a, 1); ++ c15 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_1), low_b)); ++ uint8x16_t _a_2 = vextq_u8(_a, _a, 2); ++ c26 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_2), low_b)); ++ uint8x16_t _a_3 = vextq_u8(_a, _a, 3); ++ c37 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_3), low_b)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // |0|4|2|6| ++ c04 = vpaddq_s16(c04, c26); ++ // |1|5|3|7| ++ c15 = vpaddq_s16(c15, c37); ++ ++ int32x4_t trn1_c = ++ vtrn1q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ int32x4_t trn2_c = ++ vtrn2q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ return vreinterpretq_m128i_s16(vpaddq_s16(vreinterpretq_s16_s32(trn1_c), ++ vreinterpretq_s16_s32(trn2_c))); ++#else ++ int16x4_t c01, c23, c45, c67; ++ c01 = vpadd_s16(vget_low_s16(c04), vget_low_s16(c15)); ++ c23 = vpadd_s16(vget_low_s16(c26), vget_low_s16(c37)); ++ c45 = vpadd_s16(vget_high_s16(c04), vget_high_s16(c15)); ++ c67 = vpadd_s16(vget_high_s16(c26), vget_high_s16(c37)); ++ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(c01, c23), vpadd_s16(c45, c67))); ++#endif ++} ++ ++// Multiply the low signed 32-bit integers from each packed 64-bit element in ++// a and b, and store the signed 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epi32 ++FORCE_INLINE __m128i _mm_mul_epi32(__m128i a, __m128i b) ++{ ++ // vmull_s32 upcasts instead of masking, so we downcast. ++ int32x2_t a_lo = vmovn_s64(vreinterpretq_s64_m128i(a)); ++ int32x2_t b_lo = vmovn_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vmull_s32(a_lo, b_lo)); ++} ++ ++// Multiply the packed 32-bit integers in a and b, producing intermediate 64-bit ++// integers, and store the low 32 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi32 ++FORCE_INLINE __m128i _mm_mullo_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmulq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi32 ++FORCE_INLINE __m128i _mm_packus_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcombine_u16(vqmovun_s32(vreinterpretq_s32_m128i(a)), ++ vqmovun_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_pd ++FORCE_INLINE_OPTNONE __m128d _mm_round_pd(__m128d a, int rounding) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndnq_f64(vreinterpretq_f64_m128d(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_pd(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_pd(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndq_f64(vreinterpretq_f64_m128d(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128d_f64(vrndiq_f64(vreinterpretq_f64_m128d(a))); ++ } ++#else ++ double *v_double = (double *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ double res[2], tmp; ++ for (int i = 0; i < 2; i++) { ++ tmp = (v_double[i] < 0) ? -v_double[i] : v_double[i]; ++ double roundDown = floor(tmp); // Round down value ++ double roundUp = ceil(tmp); // Round up value ++ double diffDown = tmp - roundDown; ++ double diffUp = roundUp - tmp; ++ if (diffDown < diffUp) { ++ /* If it's closer to the round down value, then use it */ ++ res[i] = roundDown; ++ } else if (diffDown > diffUp) { ++ /* If it's closer to the round up value, then use it */ ++ res[i] = roundUp; ++ } else { ++ /* If it's equidistant between round up and round down value, ++ * pick the one which is an even number */ ++ double half = roundDown / 2; ++ if (half != floor(half)) { ++ /* If the round down value is odd, return the round up value ++ */ ++ res[i] = roundUp; ++ } else { ++ /* If the round up value is odd, return the round down value ++ */ ++ res[i] = roundDown; ++ } ++ } ++ res[i] = (v_double[i] < 0) ? -res[i] : res[i]; ++ } ++ return _mm_set_pd(res[1], res[0]); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_pd(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_pd(a); ++ } ++ return _mm_set_pd(v_double[1] > 0 ? floor(v_double[1]) : ceil(v_double[1]), ++ v_double[0] > 0 ? floor(v_double[0]) : ceil(v_double[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed single-precision ++// floating-point elements in dst. ++// software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_round_ps ++FORCE_INLINE_OPTNONE __m128 _mm_round_ps(__m128 a, int rounding) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndnq_f32(vreinterpretq_f32_m128(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_ps(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_ps(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndq_f32(vreinterpretq_f32_m128(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128_f32(vrndiq_f32(vreinterpretq_f32_m128(a))); ++ } ++#else ++ float *v_float = (float *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vbslq_s32(is_delta_half, r_even, r_normal))); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_ps(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_ps(a); ++ } ++ return _mm_set_ps(v_float[3] > 0 ? floorf(v_float[3]) : ceilf(v_float[3]), ++ v_float[2] > 0 ? floorf(v_float[2]) : ceilf(v_float[2]), ++ v_float[1] > 0 ? floorf(v_float[1]) : ceilf(v_float[1]), ++ v_float[0] > 0 ? floorf(v_float[0]) : ceilf(v_float[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b using ++// the rounding parameter, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_sd ++FORCE_INLINE __m128d _mm_round_sd(__m128d a, __m128d b, int rounding) ++{ ++ return _mm_move_sd(a, _mm_round_pd(b, rounding)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b using ++// the rounding parameter, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. Rounding is done according to the ++// rounding[3:0] parameter, which can be one of: ++// (_MM_FROUND_TO_NEAREST_INT |_MM_FROUND_NO_EXC) // round to nearest, and ++// suppress exceptions ++// (_MM_FROUND_TO_NEG_INF |_MM_FROUND_NO_EXC) // round down, and ++// suppress exceptions ++// (_MM_FROUND_TO_POS_INF |_MM_FROUND_NO_EXC) // round up, and suppress ++// exceptions ++// (_MM_FROUND_TO_ZERO |_MM_FROUND_NO_EXC) // truncate, and suppress ++// exceptions _MM_FROUND_CUR_DIRECTION // use MXCSR.RC; see ++// _MM_SET_ROUNDING_MODE ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_ss ++FORCE_INLINE __m128 _mm_round_ss(__m128 a, __m128 b, int rounding) ++{ ++ return _mm_move_ss(a, _mm_round_ps(b, rounding)); ++} ++ ++// Load 128-bits of integer data from memory into dst using a non-temporal ++// memory hint. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_load_si128 ++FORCE_INLINE __m128i _mm_stream_load_si128(__m128i *p) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ return __builtin_nontemporal_load(p); ++#else ++ return vreinterpretq_m128i_s64(vld1q_s64((int64_t *) p)); ++#endif ++} ++ ++// Compute the bitwise NOT of a and then AND with a 128-bit vector containing ++// all 1's, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_ones ++FORCE_INLINE int _mm_test_all_ones(__m128i a) ++{ ++ return (uint64_t) (vgetq_lane_s64(a, 0) & vgetq_lane_s64(a, 1)) == ++ ~(uint64_t) 0; ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_zeros ++FORCE_INLINE int _mm_test_all_zeros(__m128i a, __m128i mask) ++{ ++ int64x2_t a_and_mask = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(mask)); ++ return !(vgetq_lane_s64(a_and_mask, 0) | vgetq_lane_s64(a_and_mask, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute ++// the bitwise NOT of a and then AND with mask, and set CF to 1 if the result is ++// zero, otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_test_mix_ones_zero ++// Note: Argument names may be wrong in the Intel intrinsics guide. ++FORCE_INLINE int _mm_test_mix_ones_zeros(__m128i a, __m128i mask) ++{ ++ uint64x2_t v = vreinterpretq_u64_m128i(a); ++ uint64x2_t m = vreinterpretq_u64_m128i(mask); ++ ++ // find ones (set-bits) and zeros (clear-bits) under clip mask ++ uint64x2_t ones = vandq_u64(m, v); ++ uint64x2_t zeros = vbicq_u64(m, v); ++ ++ // If both 128-bit variables are populated (non-zero) then return 1. ++ // For comparision purposes, first compact each var down to 32-bits. ++ uint32x2_t reduced = vpmax_u32(vqmovn_u64(ones), vqmovn_u64(zeros)); ++ ++ // if folding minimum is non-zero then both vars must be non-zero ++ return (vget_lane_u32(vpmin_u32(reduced, reduced), 0) != 0); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the CF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testc_si128 ++FORCE_INLINE int _mm_testc_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vbicq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testnzc_si128 ++#define _mm_testnzc_si128(a, b) _mm_test_mix_ones_zeros(a, b) ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the ZF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testz_si128 ++FORCE_INLINE int _mm_testz_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++/* SSE4.2 */ ++ ++static const uint16_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask16b[8] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++static const uint8_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask8b[16] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++ ++/* specify the source data format */ ++#define _SIDD_UBYTE_OPS 0x00 /* unsigned 8-bit characters */ ++#define _SIDD_UWORD_OPS 0x01 /* unsigned 16-bit characters */ ++#define _SIDD_SBYTE_OPS 0x02 /* signed 8-bit characters */ ++#define _SIDD_SWORD_OPS 0x03 /* signed 16-bit characters */ ++ ++/* specify the comparison operation */ ++#define _SIDD_CMP_EQUAL_ANY 0x00 /* compare equal any: strchr */ ++#define _SIDD_CMP_RANGES 0x04 /* compare ranges */ ++#define _SIDD_CMP_EQUAL_EACH 0x08 /* compare equal each: strcmp */ ++#define _SIDD_CMP_EQUAL_ORDERED 0x0C /* compare equal ordered */ ++ ++/* specify the polarity */ ++#define _SIDD_POSITIVE_POLARITY 0x00 ++#define _SIDD_MASKED_POSITIVE_POLARITY 0x20 ++#define _SIDD_NEGATIVE_POLARITY 0x10 /* negate results */ ++#define _SIDD_MASKED_NEGATIVE_POLARITY \ ++ 0x30 /* negate results only before end of string */ ++ ++/* specify the output selection in _mm_cmpXstri */ ++#define _SIDD_LEAST_SIGNIFICANT 0x00 ++#define _SIDD_MOST_SIGNIFICANT 0x40 ++ ++/* specify the output selection in _mm_cmpXstrm */ ++#define _SIDD_BIT_MASK 0x00 ++#define _SIDD_UNIT_MASK 0x40 ++ ++/* Pattern Matching for C macros. ++ * https://github.com/pfultz2/Cloak/wiki/C-Preprocessor-tricks,-tips,-and-idioms ++ */ ++ ++/* catenate */ ++#define SSE2NEON_PRIMITIVE_CAT(a, ...) a##__VA_ARGS__ ++#define SSE2NEON_CAT(a, b) SSE2NEON_PRIMITIVE_CAT(a, b) ++ ++#define SSE2NEON_IIF(c) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_IIF_, c) ++/* run the 2nd parameter */ ++#define SSE2NEON_IIF_0(t, ...) __VA_ARGS__ ++/* run the 1st parameter */ ++#define SSE2NEON_IIF_1(t, ...) t ++ ++#define SSE2NEON_COMPL(b) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_COMPL_, b) ++#define SSE2NEON_COMPL_0 1 ++#define SSE2NEON_COMPL_1 0 ++ ++#define SSE2NEON_DEC(x) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_DEC_, x) ++#define SSE2NEON_DEC_1 0 ++#define SSE2NEON_DEC_2 1 ++#define SSE2NEON_DEC_3 2 ++#define SSE2NEON_DEC_4 3 ++#define SSE2NEON_DEC_5 4 ++#define SSE2NEON_DEC_6 5 ++#define SSE2NEON_DEC_7 6 ++#define SSE2NEON_DEC_8 7 ++#define SSE2NEON_DEC_9 8 ++#define SSE2NEON_DEC_10 9 ++#define SSE2NEON_DEC_11 10 ++#define SSE2NEON_DEC_12 11 ++#define SSE2NEON_DEC_13 12 ++#define SSE2NEON_DEC_14 13 ++#define SSE2NEON_DEC_15 14 ++#define SSE2NEON_DEC_16 15 ++ ++/* detection */ ++#define SSE2NEON_CHECK_N(x, n, ...) n ++#define SSE2NEON_CHECK(...) SSE2NEON_CHECK_N(__VA_ARGS__, 0, ) ++#define SSE2NEON_PROBE(x) x, 1, ++ ++#define SSE2NEON_NOT(x) SSE2NEON_CHECK(SSE2NEON_PRIMITIVE_CAT(SSE2NEON_NOT_, x)) ++#define SSE2NEON_NOT_0 SSE2NEON_PROBE(~) ++ ++#define SSE2NEON_BOOL(x) SSE2NEON_COMPL(SSE2NEON_NOT(x)) ++#define SSE2NEON_IF(c) SSE2NEON_IIF(SSE2NEON_BOOL(c)) ++ ++#define SSE2NEON_EAT(...) ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++#define SSE2NEON_WHEN(c) SSE2NEON_IF(c)(SSE2NEON_EXPAND, SSE2NEON_EAT) ++ ++/* recursion */ ++/* deferred expression */ ++#define SSE2NEON_EMPTY() ++#define SSE2NEON_DEFER(id) id SSE2NEON_EMPTY() ++#define SSE2NEON_OBSTRUCT(...) __VA_ARGS__ SSE2NEON_DEFER(SSE2NEON_EMPTY)() ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++ ++#define SSE2NEON_EVAL(...) \ ++ SSE2NEON_EVAL1(SSE2NEON_EVAL1(SSE2NEON_EVAL1(__VA_ARGS__))) ++#define SSE2NEON_EVAL1(...) \ ++ SSE2NEON_EVAL2(SSE2NEON_EVAL2(SSE2NEON_EVAL2(__VA_ARGS__))) ++#define SSE2NEON_EVAL2(...) \ ++ SSE2NEON_EVAL3(SSE2NEON_EVAL3(SSE2NEON_EVAL3(__VA_ARGS__))) ++#define SSE2NEON_EVAL3(...) __VA_ARGS__ ++ ++#define SSE2NEON_REPEAT(count, macro, ...) \ ++ SSE2NEON_WHEN(count) \ ++ (SSE2NEON_OBSTRUCT(SSE2NEON_REPEAT_INDIRECT)()( \ ++ SSE2NEON_DEC(count), macro, \ ++ __VA_ARGS__) SSE2NEON_OBSTRUCT(macro)(SSE2NEON_DEC(count), \ ++ __VA_ARGS__)) ++#define SSE2NEON_REPEAT_INDIRECT() SSE2NEON_REPEAT ++ ++#define SSE2NEON_SIZE_OF_byte 8 ++#define SSE2NEON_NUMBER_OF_LANES_byte 16 ++#define SSE2NEON_SIZE_OF_word 16 ++#define SSE2NEON_NUMBER_OF_LANES_word 8 ++ ++#define SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE(i, type) \ ++ mtx[i] = vreinterpretq_m128i_##type(vceqq_##type( \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)), \ ++ vreinterpretq_##type##_m128i(a))); ++ ++#define SSE2NEON_FILL_LANE(i, type) \ ++ vec_b[i] = \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)); ++ ++#define PCMPSTR_RANGES(a, b, mtx, data_type_prefix, type_prefix, size, \ ++ number_of_lanes, byte_or_word) \ ++ do { \ ++ SSE2NEON_CAT( \ ++ data_type_prefix, \ ++ SSE2NEON_CAT(size, \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(number_of_lanes, _t)))) \ ++ vec_b[number_of_lanes]; \ ++ __m128i mask = SSE2NEON_IIF(byte_or_word)( \ ++ vreinterpretq_m128i_u16(vdupq_n_u16(0xff)), \ ++ vreinterpretq_m128i_u32(vdupq_n_u32(0xffff))); \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, SSE2NEON_FILL_LANE, \ ++ SSE2NEON_CAT(type_prefix, size))) \ ++ for (int i = 0; i < number_of_lanes; i++) { \ ++ mtx[i] = SSE2NEON_CAT(vreinterpretq_m128i_u, \ ++ size)(SSE2NEON_CAT(vbslq_u, size)( \ ++ SSE2NEON_CAT(vreinterpretq_u, \ ++ SSE2NEON_CAT(size, _m128i))(mask), \ ++ SSE2NEON_CAT(vcgeq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))), \ ++ SSE2NEON_CAT(vcleq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))))); \ ++ } \ ++ } while (0) ++ ++#define PCMPSTR_EQ(a, b, mtx, size, number_of_lanes) \ ++ do { \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, \ ++ SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE, \ ++ SSE2NEON_CAT(u, size))) \ ++ } while (0) ++ ++#define SSE2NEON_CMP_EQUAL_ANY_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_any(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_any_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_RANGES_IMPL(type, data_type, us, byte_or_word) \ ++ static int _sse2neon_cmp_##us##type##_ranges(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_RANGES( \ ++ a, b, mtx, data_type, us, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), byte_or_word); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_ranges_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_EQUAL_ORDERED_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_ordered(__m128i a, int la, \ ++ __m128i b, int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_ordered_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type))))( \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), la, lb, mtx); \ ++ } ++ ++static int _sse2neon_aggregate_equal_any_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ int tmp = _sse2neon_vaddvq_u8(vreinterpretq_u8_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_equal_any_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ int tmp = _sse2neon_vaddvq_u16(vreinterpretq_u16_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ANY(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ANY(SSE2NEON_CMP_EQUAL_ANY_) ++ ++static int _sse2neon_aggregate_ranges_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ __m128i tmp = vreinterpretq_m128i_u32( ++ vshrq_n_u32(vreinterpretq_u32_m128i(mtx[j]), 16)); ++ uint32x4_t vec_res = vandq_u32(vreinterpretq_u32_m128i(mtx[j]), ++ vreinterpretq_u32_m128i(tmp)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int t = vaddvq_u32(vec_res) ? 1 : 0; ++#else ++ uint64x2_t sumh = vpaddlq_u32(vec_res); ++ int t = vgetq_lane_u64(sumh, 0) + vgetq_lane_u64(sumh, 1); ++#endif ++ res |= (t << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_ranges_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ __m128i tmp = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 8)); ++ uint16x8_t vec_res = vandq_u16(vreinterpretq_u16_m128i(mtx[j]), ++ vreinterpretq_u16_m128i(tmp)); ++ int t = _sse2neon_vaddvq_u16(vec_res) ? 1 : 0; ++ res |= (t << j); ++ } ++ return res; ++} ++ ++#define SSE2NEON_CMP_RANGES_IS_BYTE 1 ++#define SSE2NEON_CMP_RANGES_IS_WORD 0 ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_RANGES(prefix) \ ++ prefix##IMPL(byte, uint, u, prefix##IS_BYTE) \ ++ prefix##IMPL(byte, int, s, prefix##IS_BYTE) \ ++ prefix##IMPL(word, uint, u, prefix##IS_WORD) \ ++ prefix##IMPL(word, int, s, prefix##IS_WORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_RANGES(SSE2NEON_CMP_RANGES_) ++ ++#undef SSE2NEON_CMP_RANGES_IS_BYTE ++#undef SSE2NEON_CMP_RANGES_IS_WORD ++ ++static int _sse2neon_cmp_byte_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint8x16_t mtx = ++ vceqq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x10000 - (1 << la); ++ int tb = 0x10000 - (1 << lb); ++ uint8x8_t vec_mask, vec0_lo, vec0_hi, vec1_lo, vec1_hi; ++ uint8x8_t tmp_lo, tmp_hi, res_lo, res_hi; ++ vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ vec0_lo = vtst_u8(vdup_n_u8(m0), vec_mask); ++ vec0_hi = vtst_u8(vdup_n_u8(m0 >> 8), vec_mask); ++ vec1_lo = vtst_u8(vdup_n_u8(m1), vec_mask); ++ vec1_hi = vtst_u8(vdup_n_u8(m1 >> 8), vec_mask); ++ tmp_lo = vtst_u8(vdup_n_u8(tb), vec_mask); ++ tmp_hi = vtst_u8(vdup_n_u8(tb >> 8), vec_mask); ++ ++ res_lo = vbsl_u8(vec0_lo, vdup_n_u8(0), vget_low_u8(mtx)); ++ res_hi = vbsl_u8(vec0_hi, vdup_n_u8(0), vget_high_u8(mtx)); ++ res_lo = vbsl_u8(vec1_lo, tmp_lo, res_lo); ++ res_hi = vbsl_u8(vec1_hi, tmp_hi, res_hi); ++ res_lo = vand_u8(res_lo, vec_mask); ++ res_hi = vand_u8(res_hi, vec_mask); ++ ++ int res = _sse2neon_vaddv_u8(res_lo) + (_sse2neon_vaddv_u8(res_hi) << 8); ++ return res; ++} ++ ++static int _sse2neon_cmp_word_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint16x8_t mtx = ++ vceqq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x100 - (1 << la); ++ int tb = 0x100 - (1 << lb); ++ uint16x8_t vec_mask = vld1q_u16(_sse2neon_cmpestr_mask16b); ++ uint16x8_t vec0 = vtstq_u16(vdupq_n_u16(m0), vec_mask); ++ uint16x8_t vec1 = vtstq_u16(vdupq_n_u16(m1), vec_mask); ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(tb), vec_mask); ++ mtx = vbslq_u16(vec0, vdupq_n_u16(0), mtx); ++ mtx = vbslq_u16(vec1, tmp, mtx); ++ mtx = vandq_u16(mtx, vec_mask); ++ return _sse2neon_vaddvq_u16(mtx); ++} ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE 1 ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD 0 ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IMPL(size, number_of_lanes, data_type) \ ++ static int _sse2neon_aggregate_equal_ordered_##size##x##number_of_lanes( \ ++ int bound, int la, int lb, __m128i mtx[16]) \ ++ { \ ++ int res = 0; \ ++ int m1 = SSE2NEON_IIF(data_type)(0x10000, 0x100) - (1 << la); \ ++ uint##size##x8_t vec_mask = SSE2NEON_IIF(data_type)( \ ++ vld1_u##size(_sse2neon_cmpestr_mask##size##b), \ ++ vld1q_u##size(_sse2neon_cmpestr_mask##size##b)); \ ++ uint##size##x##number_of_lanes##_t vec1 = SSE2NEON_IIF(data_type)( \ ++ vcombine_u##size(vtst_u##size(vdup_n_u##size(m1), vec_mask), \ ++ vtst_u##size(vdup_n_u##size(m1 >> 8), vec_mask)), \ ++ vtstq_u##size(vdupq_n_u##size(m1), vec_mask)); \ ++ uint##size##x##number_of_lanes##_t vec_minusone = vdupq_n_u##size(-1); \ ++ uint##size##x##number_of_lanes##_t vec_zero = vdupq_n_u##size(0); \ ++ for (int j = 0; j < lb; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size(vbslq_u##size( \ ++ vec1, vec_minusone, vreinterpretq_u##size##_m128i(mtx[j]))); \ ++ } \ ++ for (int j = lb; j < bound; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size( \ ++ vbslq_u##size(vec1, vec_minusone, vec_zero)); \ ++ } \ ++ unsigned SSE2NEON_IIF(data_type)(char, short) *ptr = \ ++ (unsigned SSE2NEON_IIF(data_type)(char, short) *) mtx; \ ++ for (int i = 0; i < bound; i++) { \ ++ int val = 1; \ ++ for (int j = 0, k = i; j < bound - i && k < bound; j++, k++) \ ++ val &= ptr[k * bound + j]; \ ++ res += val << i; \ ++ } \ ++ return res; \ ++ } ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(prefix) \ ++ prefix##IMPL(8, 16, prefix##IS_UBYTE) \ ++ prefix##IMPL(16, 8, prefix##IS_UWORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(SSE2NEON_AGGREGATE_EQUAL_ORDER_) ++ ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(SSE2NEON_CMP_EQUAL_ORDERED_) ++ ++#define SSE2NEON_CMPESTR_LIST \ ++ _(CMP_UBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_UWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_SBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_SWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_UBYTE_RANGES, cmp_ubyte_ranges) \ ++ _(CMP_UWORD_RANGES, cmp_uword_ranges) \ ++ _(CMP_SBYTE_RANGES, cmp_sbyte_ranges) \ ++ _(CMP_SWORD_RANGES, cmp_sword_ranges) \ ++ _(CMP_UBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_UWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_SBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_SWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_UBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_UWORD_EQUAL_ORDERED, cmp_word_equal_ordered) \ ++ _(CMP_SBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_SWORD_EQUAL_ORDERED, cmp_word_equal_ordered) ++ ++enum { ++#define _(name, func_suffix) name, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++typedef int (*cmpestr_func_t)(__m128i a, int la, __m128i b, int lb); ++static cmpestr_func_t _sse2neon_cmpfunc_table[] = { ++#define _(name, func_suffix) _sse2neon_##func_suffix, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++ ++FORCE_INLINE int _sse2neon_sido_negative(int res, int lb, int imm8, int bound) ++{ ++ switch (imm8 & 0x30) { ++ case _SIDD_NEGATIVE_POLARITY: ++ res ^= 0xffffffff; ++ break; ++ case _SIDD_MASKED_NEGATIVE_POLARITY: ++ res ^= (1 << lb) - 1; ++ break; ++ default: ++ break; ++ } ++ ++ return res & ((bound == 8) ? 0xFF : 0xFFFF); ++} ++ ++FORCE_INLINE int _sse2neon_clz(unsigned int x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt = 0; ++ if (_BitScanReverse(&cnt, x)) ++ return 31 - cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_clz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctz(unsigned int x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt = 0; ++ if (_BitScanForward(&cnt, x)) ++ return cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_ctz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctzll(unsigned long long x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt; ++#if defined(SSE2NEON_HAS_BITSCAN64) ++ if (_BitScanForward64(&cnt, x)) ++ return (int) (cnt); ++#else ++ if (_BitScanForward(&cnt, (unsigned long) (x))) ++ return (int) cnt; ++ if (_BitScanForward(&cnt, (unsigned long) (x >> 32))) ++ return (int) (cnt + 32); ++#endif /* SSE2NEON_HAS_BITSCAN64 */ ++ return 64; ++#else /* assume GNU compatible compilers */ ++ return x != 0 ? __builtin_ctzll(x) : 64; ++#endif ++} ++ ++#define SSE2NEON_MIN(x, y) (x) < (y) ? (x) : (y) ++ ++#define SSE2NEON_CMPSTR_SET_UPPER(var, imm) \ ++ const int var = (imm & 0x01) ? 8 : 16 ++ ++#define SSE2NEON_CMPESTRX_LEN_PAIR(a, b, la, lb) \ ++ int tmp1 = la ^ (la >> 31); \ ++ la = tmp1 - (la >> 31); \ ++ int tmp2 = lb ^ (lb >> 31); \ ++ lb = tmp2 - (lb >> 31); \ ++ la = SSE2NEON_MIN(la, bound); \ ++ lb = SSE2NEON_MIN(lb, bound) ++ ++// Compare all pairs of character in string a and b, ++// then aggregate the result. ++// As the only difference of PCMPESTR* and PCMPISTR* is the way to calculate the ++// length of string, we use SSE2NEON_CMP{I,E}STRX_GET_LEN to get the length of ++// string a and b. ++#define SSE2NEON_COMP_AGG(a, b, la, lb, imm8, IE) \ ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); \ ++ SSE2NEON_##IE##_LEN_PAIR(a, b, la, lb); \ ++ int r2 = (_sse2neon_cmpfunc_table[imm8 & 0x0f])(a, la, b, lb); \ ++ r2 = _sse2neon_sido_negative(r2, lb, imm8, bound) ++ ++#define SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8) \ ++ return (r2 == 0) ? bound \ ++ : ((imm8 & 0x40) ? (31 - _sse2neon_clz(r2)) \ ++ : _sse2neon_ctz(r2)) ++ ++#define SSE2NEON_CMPSTR_GENERATE_MASK(dst) \ ++ __m128i dst = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ if (imm8 & 0x40) { \ ++ if (bound == 8) { \ ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(r2), \ ++ vld1q_u16(_sse2neon_cmpestr_mask16b)); \ ++ dst = vreinterpretq_m128i_u16(vbslq_u16( \ ++ tmp, vdupq_n_u16(-1), vreinterpretq_u16_m128i(dst))); \ ++ } else { \ ++ uint8x16_t vec_r2 = \ ++ vcombine_u8(vdup_n_u8(r2), vdup_n_u8(r2 >> 8)); \ ++ uint8x16_t tmp = \ ++ vtstq_u8(vec_r2, vld1q_u8(_sse2neon_cmpestr_mask8b)); \ ++ dst = vreinterpretq_m128i_u8( \ ++ vbslq_u8(tmp, vdupq_n_u8(-1), vreinterpretq_u8_m128i(dst))); \ ++ } \ ++ } else { \ ++ if (bound == 16) { \ ++ dst = vreinterpretq_m128i_u16( \ ++ vsetq_lane_u16(r2 & 0xffff, vreinterpretq_u16_m128i(dst), 0)); \ ++ } else { \ ++ dst = vreinterpretq_m128i_u8( \ ++ vsetq_lane_u8(r2 & 0xff, vreinterpretq_u8_m128i(dst), 0)); \ ++ } \ ++ } \ ++ return dst ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and returns 1 if b did not contain a null character and the ++// resulting mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestra ++FORCE_INLINE int _mm_cmpestra(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ int lb_cpy = lb; ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return !r2 & (lb_cpy > bound); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrc ++FORCE_INLINE int _mm_cmpestrc(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestri ++FORCE_INLINE int _mm_cmpestri(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrm ++FORCE_INLINE __m128i ++_mm_cmpestrm(__m128i a, int la, __m128i b, int lb, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestro ++FORCE_INLINE int _mm_cmpestro(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrs ++FORCE_INLINE int _mm_cmpestrs(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) lb; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrz ++FORCE_INLINE int _mm_cmpestrz(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) la; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return lb <= (bound - 1); ++} ++ ++#define SSE2NEON_CMPISTRX_LENGTH(str, len, imm8) \ ++ do { \ ++ if (imm8 & 0x01) { \ ++ uint16x8_t equal_mask_##str = \ ++ vceqq_u16(vreinterpretq_u16_m128i(str), vdupq_n_u16(0)); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 3; \ ++ } else { \ ++ uint16x8_t equal_mask_##str = vreinterpretq_u16_u8( \ ++ vceqq_u8(vreinterpretq_u8_m128i(str), vdupq_n_u8(0))); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 2; \ ++ } \ ++ } while (0) ++ ++#define SSE2NEON_CMPISTRX_LEN_PAIR(a, b, la, lb) \ ++ int la, lb; \ ++ do { \ ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); \ ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); \ ++ } while (0) ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if b did not contain a null character and the resulting ++// mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistra ++FORCE_INLINE int _mm_cmpistra(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return !r2 & (lb >= bound); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrc ++FORCE_INLINE int _mm_cmpistrc(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistri ++FORCE_INLINE int _mm_cmpistri(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrm ++FORCE_INLINE __m128i _mm_cmpistrm(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistro ++FORCE_INLINE int _mm_cmpistro(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrs ++FORCE_INLINE int _mm_cmpistrs(__m128i a, __m128i b, const int imm8) ++{ ++ (void) b; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int la; ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrz ++FORCE_INLINE int _mm_cmpistrz(__m128i a, __m128i b, const int imm8) ++{ ++ (void) a; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int lb; ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); ++ return lb <= (bound - 1); ++} ++ ++// Compares the 2 signed 64-bit integers in a and the 2 signed 64-bit integers ++// in b for greater than. ++FORCE_INLINE __m128i _mm_cmpgt_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vcgtq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ return vreinterpretq_m128i_s64(vshrq_n_s64( ++ vqsubq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)), ++ 63)); ++#endif ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 16-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u16 ++FORCE_INLINE uint32_t _mm_crc32_u16(uint32_t crc, uint16_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32ch %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32ch(crc, v); ++#else ++ crc = _mm_crc32_u8(crc, v & 0xff); ++ crc = _mm_crc32_u8(crc, (v >> 8) & 0xff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 32-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u32 ++FORCE_INLINE uint32_t _mm_crc32_u32(uint32_t crc, uint32_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cw %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cw(crc, v); ++#else ++ crc = _mm_crc32_u16(crc, v & 0xffff); ++ crc = _mm_crc32_u16(crc, (v >> 16) & 0xffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 64-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u64 ++FORCE_INLINE uint64_t _mm_crc32_u64(uint64_t crc, uint64_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cx %w[c], %w[c], %x[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cd((uint32_t) crc, v); ++#else ++ crc = _mm_crc32_u32((uint32_t) (crc), v & 0xffffffff); ++ crc = _mm_crc32_u32((uint32_t) (crc), (v >> 32) & 0xffffffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 8-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u8 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t crc, uint8_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cb %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cb(crc, v); ++#else ++ crc ^= v; ++#if defined(__ARM_FEATURE_CRYPTO) ++ // Adapted from: https://mary.rs/lab/crc32/ ++ // Barrent reduction ++ uint64x2_t orig = ++ vcombine_u64(vcreate_u64((uint64_t) (crc) << 24), vcreate_u64(0x0)); ++ uint64x2_t tmp = orig; ++ ++ // Polynomial P(x) of CRC32C ++ uint64_t p = 0x105EC76F1; ++ // Barrett Reduction (in bit-reflected form) constant mu_{64} = \lfloor ++ // 2^{64} / P(x) \rfloor = 0x11f91caf6 ++ uint64_t mu = 0x1dea713f1; ++ ++ // Multiply by mu_{64} ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(mu)); ++ // Divide by 2^{64} (mask away the unnecessary bits) ++ tmp = ++ vandq_u64(tmp, vcombine_u64(vcreate_u64(0xFFFFFFFF), vcreate_u64(0x0))); ++ // Multiply by P(x) (shifted left by 1 for alignment reasons) ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(p)); ++ // Subtract original from result ++ tmp = veorq_u64(tmp, orig); ++ ++ // Extract the 'lower' (in bit-reflected sense) 32 bits ++ crc = vgetq_lane_u32(vreinterpretq_u32_u64(tmp), 1); ++#else // Fall back to the generic table lookup approach ++ // Adapted from: https://create.stephan-brumme.com/crc32/ ++ // Apply half-byte comparision algorithm for the best ratio between ++ // performance and lookup table. ++ ++ // The lookup table just needs to store every 16th entry ++ // of the standard look-up table. ++ static const uint32_t crc32_half_byte_tbl[] = { ++ 0x00000000, 0x105ec76f, 0x20bd8ede, 0x30e349b1, 0x417b1dbc, 0x5125dad3, ++ 0x61c69362, 0x7198540d, 0x82f63b78, 0x92a8fc17, 0xa24bb5a6, 0xb21572c9, ++ 0xc38d26c4, 0xd3d3e1ab, 0xe330a81a, 0xf36e6f75, ++ }; ++ ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++#endif ++#endif ++ return crc; ++} ++ ++/* AES */ ++ ++#if !defined(__ARM_FEATURE_CRYPTO) && (!defined(_M_ARM64) || defined(__clang__)) ++/* clang-format off */ ++#define SSE2NEON_AES_SBOX(w) \ ++ { \ ++ w(0x63), w(0x7c), w(0x77), w(0x7b), w(0xf2), w(0x6b), w(0x6f), \ ++ w(0xc5), w(0x30), w(0x01), w(0x67), w(0x2b), w(0xfe), w(0xd7), \ ++ w(0xab), w(0x76), w(0xca), w(0x82), w(0xc9), w(0x7d), w(0xfa), \ ++ w(0x59), w(0x47), w(0xf0), w(0xad), w(0xd4), w(0xa2), w(0xaf), \ ++ w(0x9c), w(0xa4), w(0x72), w(0xc0), w(0xb7), w(0xfd), w(0x93), \ ++ w(0x26), w(0x36), w(0x3f), w(0xf7), w(0xcc), w(0x34), w(0xa5), \ ++ w(0xe5), w(0xf1), w(0x71), w(0xd8), w(0x31), w(0x15), w(0x04), \ ++ w(0xc7), w(0x23), w(0xc3), w(0x18), w(0x96), w(0x05), w(0x9a), \ ++ w(0x07), w(0x12), w(0x80), w(0xe2), w(0xeb), w(0x27), w(0xb2), \ ++ w(0x75), w(0x09), w(0x83), w(0x2c), w(0x1a), w(0x1b), w(0x6e), \ ++ w(0x5a), w(0xa0), w(0x52), w(0x3b), w(0xd6), w(0xb3), w(0x29), \ ++ w(0xe3), w(0x2f), w(0x84), w(0x53), w(0xd1), w(0x00), w(0xed), \ ++ w(0x20), w(0xfc), w(0xb1), w(0x5b), w(0x6a), w(0xcb), w(0xbe), \ ++ w(0x39), w(0x4a), w(0x4c), w(0x58), w(0xcf), w(0xd0), w(0xef), \ ++ w(0xaa), w(0xfb), w(0x43), w(0x4d), w(0x33), w(0x85), w(0x45), \ ++ w(0xf9), w(0x02), w(0x7f), w(0x50), w(0x3c), w(0x9f), w(0xa8), \ ++ w(0x51), w(0xa3), w(0x40), w(0x8f), w(0x92), w(0x9d), w(0x38), \ ++ w(0xf5), w(0xbc), w(0xb6), w(0xda), w(0x21), w(0x10), w(0xff), \ ++ w(0xf3), w(0xd2), w(0xcd), w(0x0c), w(0x13), w(0xec), w(0x5f), \ ++ w(0x97), w(0x44), w(0x17), w(0xc4), w(0xa7), w(0x7e), w(0x3d), \ ++ w(0x64), w(0x5d), w(0x19), w(0x73), w(0x60), w(0x81), w(0x4f), \ ++ w(0xdc), w(0x22), w(0x2a), w(0x90), w(0x88), w(0x46), w(0xee), \ ++ w(0xb8), w(0x14), w(0xde), w(0x5e), w(0x0b), w(0xdb), w(0xe0), \ ++ w(0x32), w(0x3a), w(0x0a), w(0x49), w(0x06), w(0x24), w(0x5c), \ ++ w(0xc2), w(0xd3), w(0xac), w(0x62), w(0x91), w(0x95), w(0xe4), \ ++ w(0x79), w(0xe7), w(0xc8), w(0x37), w(0x6d), w(0x8d), w(0xd5), \ ++ w(0x4e), w(0xa9), w(0x6c), w(0x56), w(0xf4), w(0xea), w(0x65), \ ++ w(0x7a), w(0xae), w(0x08), w(0xba), w(0x78), w(0x25), w(0x2e), \ ++ w(0x1c), w(0xa6), w(0xb4), w(0xc6), w(0xe8), w(0xdd), w(0x74), \ ++ w(0x1f), w(0x4b), w(0xbd), w(0x8b), w(0x8a), w(0x70), w(0x3e), \ ++ w(0xb5), w(0x66), w(0x48), w(0x03), w(0xf6), w(0x0e), w(0x61), \ ++ w(0x35), w(0x57), w(0xb9), w(0x86), w(0xc1), w(0x1d), w(0x9e), \ ++ w(0xe1), w(0xf8), w(0x98), w(0x11), w(0x69), w(0xd9), w(0x8e), \ ++ w(0x94), w(0x9b), w(0x1e), w(0x87), w(0xe9), w(0xce), w(0x55), \ ++ w(0x28), w(0xdf), w(0x8c), w(0xa1), w(0x89), w(0x0d), w(0xbf), \ ++ w(0xe6), w(0x42), w(0x68), w(0x41), w(0x99), w(0x2d), w(0x0f), \ ++ w(0xb0), w(0x54), w(0xbb), w(0x16) \ ++ } ++#define SSE2NEON_AES_RSBOX(w) \ ++ { \ ++ w(0x52), w(0x09), w(0x6a), w(0xd5), w(0x30), w(0x36), w(0xa5), \ ++ w(0x38), w(0xbf), w(0x40), w(0xa3), w(0x9e), w(0x81), w(0xf3), \ ++ w(0xd7), w(0xfb), w(0x7c), w(0xe3), w(0x39), w(0x82), w(0x9b), \ ++ w(0x2f), w(0xff), w(0x87), w(0x34), w(0x8e), w(0x43), w(0x44), \ ++ w(0xc4), w(0xde), w(0xe9), w(0xcb), w(0x54), w(0x7b), w(0x94), \ ++ w(0x32), w(0xa6), w(0xc2), w(0x23), w(0x3d), w(0xee), w(0x4c), \ ++ w(0x95), w(0x0b), w(0x42), w(0xfa), w(0xc3), w(0x4e), w(0x08), \ ++ w(0x2e), w(0xa1), w(0x66), w(0x28), w(0xd9), w(0x24), w(0xb2), \ ++ w(0x76), w(0x5b), w(0xa2), w(0x49), w(0x6d), w(0x8b), w(0xd1), \ ++ w(0x25), w(0x72), w(0xf8), w(0xf6), w(0x64), w(0x86), w(0x68), \ ++ w(0x98), w(0x16), w(0xd4), w(0xa4), w(0x5c), w(0xcc), w(0x5d), \ ++ w(0x65), w(0xb6), w(0x92), w(0x6c), w(0x70), w(0x48), w(0x50), \ ++ w(0xfd), w(0xed), w(0xb9), w(0xda), w(0x5e), w(0x15), w(0x46), \ ++ w(0x57), w(0xa7), w(0x8d), w(0x9d), w(0x84), w(0x90), w(0xd8), \ ++ w(0xab), w(0x00), w(0x8c), w(0xbc), w(0xd3), w(0x0a), w(0xf7), \ ++ w(0xe4), w(0x58), w(0x05), w(0xb8), w(0xb3), w(0x45), w(0x06), \ ++ w(0xd0), w(0x2c), w(0x1e), w(0x8f), w(0xca), w(0x3f), w(0x0f), \ ++ w(0x02), w(0xc1), w(0xaf), w(0xbd), w(0x03), w(0x01), w(0x13), \ ++ w(0x8a), w(0x6b), w(0x3a), w(0x91), w(0x11), w(0x41), w(0x4f), \ ++ w(0x67), w(0xdc), w(0xea), w(0x97), w(0xf2), w(0xcf), w(0xce), \ ++ w(0xf0), w(0xb4), w(0xe6), w(0x73), w(0x96), w(0xac), w(0x74), \ ++ w(0x22), w(0xe7), w(0xad), w(0x35), w(0x85), w(0xe2), w(0xf9), \ ++ w(0x37), w(0xe8), w(0x1c), w(0x75), w(0xdf), w(0x6e), w(0x47), \ ++ w(0xf1), w(0x1a), w(0x71), w(0x1d), w(0x29), w(0xc5), w(0x89), \ ++ w(0x6f), w(0xb7), w(0x62), w(0x0e), w(0xaa), w(0x18), w(0xbe), \ ++ w(0x1b), w(0xfc), w(0x56), w(0x3e), w(0x4b), w(0xc6), w(0xd2), \ ++ w(0x79), w(0x20), w(0x9a), w(0xdb), w(0xc0), w(0xfe), w(0x78), \ ++ w(0xcd), w(0x5a), w(0xf4), w(0x1f), w(0xdd), w(0xa8), w(0x33), \ ++ w(0x88), w(0x07), w(0xc7), w(0x31), w(0xb1), w(0x12), w(0x10), \ ++ w(0x59), w(0x27), w(0x80), w(0xec), w(0x5f), w(0x60), w(0x51), \ ++ w(0x7f), w(0xa9), w(0x19), w(0xb5), w(0x4a), w(0x0d), w(0x2d), \ ++ w(0xe5), w(0x7a), w(0x9f), w(0x93), w(0xc9), w(0x9c), w(0xef), \ ++ w(0xa0), w(0xe0), w(0x3b), w(0x4d), w(0xae), w(0x2a), w(0xf5), \ ++ w(0xb0), w(0xc8), w(0xeb), w(0xbb), w(0x3c), w(0x83), w(0x53), \ ++ w(0x99), w(0x61), w(0x17), w(0x2b), w(0x04), w(0x7e), w(0xba), \ ++ w(0x77), w(0xd6), w(0x26), w(0xe1), w(0x69), w(0x14), w(0x63), \ ++ w(0x55), w(0x21), w(0x0c), w(0x7d) \ ++ } ++/* clang-format on */ ++ ++/* X Macro trick. See https://en.wikipedia.org/wiki/X_Macro */ ++#define SSE2NEON_AES_H0(x) (x) ++static const uint8_t _sse2neon_sbox[256] = SSE2NEON_AES_SBOX(SSE2NEON_AES_H0); ++static const uint8_t _sse2neon_rsbox[256] = SSE2NEON_AES_RSBOX(SSE2NEON_AES_H0); ++#undef SSE2NEON_AES_H0 ++ ++/* x_time function and matrix multiply function */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#define SSE2NEON_XT(x) (((x) << 1) ^ ((((x) >> 7) & 1) * 0x1b)) ++#define SSE2NEON_MULTIPLY(x, y) \ ++ (((y & 1) * x) ^ ((y >> 1 & 1) * SSE2NEON_XT(x)) ^ \ ++ ((y >> 2 & 1) * SSE2NEON_XT(SSE2NEON_XT(x))) ^ \ ++ ((y >> 3 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))) ^ \ ++ ((y >> 4 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))))) ++#endif ++ ++// In the absence of crypto extensions, implement aesenc using regular NEON ++// intrinsics instead. See: ++// https://www.workofard.com/2017/01/accelerated-aes-for-the-arm64-linux-kernel/ ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/ and ++// for more information. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ /* shift rows */ ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ /* sub bytes */ ++ // Here, we separate the whole 256-bytes table into 4 64-bytes tables, and ++ // look up each of the table. After each lookup, we load the next table ++ // which locates at the next 64-bytes. In the meantime, the index in the ++ // table would be smaller than it was, so the index parameters of ++ // `vqtbx4q_u8()` need to be added the same constant as the loaded tables. ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ // 'w-0x40' equals to 'vsubq_u8(w, vdupq_n_u8(0x40))' ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ /* mix columns */ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ /* add round key */ ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A implementation for a table-based AES */ ++#define SSE2NEON_AES_B2W(b0, b1, b2, b3) \ ++ (((uint32_t) (b3) << 24) | ((uint32_t) (b2) << 16) | \ ++ ((uint32_t) (b1) << 8) | (uint32_t) (b0)) ++// muliplying 'x' by 2 in GF(2^8) ++#define SSE2NEON_AES_F2(x) ((x << 1) ^ (((x >> 7) & 1) * 0x011b /* WPOLY */)) ++// muliplying 'x' by 3 in GF(2^8) ++#define SSE2NEON_AES_F3(x) (SSE2NEON_AES_F2(x) ^ x) ++#define SSE2NEON_AES_U0(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F2(p), p, p, SSE2NEON_AES_F3(p)) ++#define SSE2NEON_AES_U1(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p, p) ++#define SSE2NEON_AES_U2(p) \ ++ SSE2NEON_AES_B2W(p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p) ++#define SSE2NEON_AES_U3(p) \ ++ SSE2NEON_AES_B2W(p, p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p)) ++ ++ // this generates a table containing every possible permutation of ++ // shift_rows() and sub_bytes() with mix_columns(). ++ static const uint32_t ALIGN_STRUCT(16) aes_table[4][256] = { ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U0), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U1), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U2), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U3), ++ }; ++#undef SSE2NEON_AES_B2W ++#undef SSE2NEON_AES_F2 ++#undef SSE2NEON_AES_F3 ++#undef SSE2NEON_AES_U0 ++#undef SSE2NEON_AES_U1 ++#undef SSE2NEON_AES_U2 ++#undef SSE2NEON_AES_U3 ++ ++ uint32_t x0 = _mm_cvtsi128_si32(a); // get a[31:0] ++ uint32_t x1 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); // get a[63:32] ++ uint32_t x2 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xAA)); // get a[95:64] ++ uint32_t x3 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); // get a[127:96] ++ ++ // finish the modulo addition step in mix_columns() ++ __m128i out = _mm_set_epi32( ++ (aes_table[0][x3 & 0xff] ^ aes_table[1][(x0 >> 8) & 0xff] ^ ++ aes_table[2][(x1 >> 16) & 0xff] ^ aes_table[3][x2 >> 24]), ++ (aes_table[0][x2 & 0xff] ^ aes_table[1][(x3 >> 8) & 0xff] ^ ++ aes_table[2][(x0 >> 16) & 0xff] ^ aes_table[3][x1 >> 24]), ++ (aes_table[0][x1 & 0xff] ^ aes_table[1][(x2 >> 8) & 0xff] ^ ++ aes_table[2][(x3 >> 16) & 0xff] ^ aes_table[3][x0 >> 24]), ++ (aes_table[0][x0 & 0xff] ^ aes_table[1][(x1 >> 8) & 0xff] ^ ++ aes_table[2][(x2 >> 16) & 0xff] ^ aes_table[3][x3 >> 24])); ++ ++ return _mm_xor_si128(out, RoundKey); ++#endif ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // inverse mix columns ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & ++ 0x1b); // muliplying 'v' by 2 in GF(2^8) ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ // inverse mix columns ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ // sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A implementation */ ++ uint8_t v[16] = { ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 0)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 5)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 10)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 15)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 4)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 9)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 14)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 3)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 8)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 13)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 2)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 7)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 12)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 1)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 6)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 11)], ++ }; ++ ++ return vreinterpretq_m128i_u8(vld1q_u8(v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (int i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++#if defined(__aarch64__) ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ uint8x16_t v = vreinterpretq_u8_m128i(a); ++ uint8x16_t w; ++ ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ // multiplying 'v' by 2 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ return vreinterpretq_m128i_u8(w); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ vst1q_u8((uint8_t *) v, vreinterpretq_u8_m128i(a)); ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)); ++#endif ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++// ++// Emits the Advanced Encryption Standard (AES) instruction aeskeygenassist. ++// This instruction generates a round key for AES encryption. See ++// https://kazakov.life/2017/11/01/cryptocurrency-mining-on-ios-devices/ ++// for details. ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++#if defined(__aarch64__) ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); ++ uint8x16_t v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), _a); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), _a - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), _a - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), _a - 0xc0); ++ ++ uint32x4_t v_u32 = vreinterpretq_u32_u8(v); ++ uint32x4_t ror_v = vorrq_u32(vshrq_n_u32(v_u32, 8), vshlq_n_u32(v_u32, 24)); ++ uint32x4_t ror_xor_v = veorq_u32(ror_v, vdupq_n_u32(rcon)); ++ ++ return vreinterpretq_m128i_u32(vtrn2q_u32(v_u32, ror_xor_v)); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint32_t X1 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); ++ uint32_t X3 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); ++ for (int i = 0; i < 4; ++i) { ++ ((uint8_t *) &X1)[i] = _sse2neon_sbox[((uint8_t *) &X1)[i]]; ++ ((uint8_t *) &X3)[i] = _sse2neon_sbox[((uint8_t *) &X3)[i]]; ++ } ++ return _mm_set_epi32(((X3 >> 8) | (X3 << 24)) ^ rcon, X3, ++ ((X1 >> 8) | (X1 << 24)) ^ rcon, X1); ++#endif ++} ++#undef SSE2NEON_AES_SBOX ++#undef SSE2NEON_AES_RSBOX ++ ++#if defined(__aarch64__) ++#undef SSE2NEON_XT ++#undef SSE2NEON_MULTIPLY ++#endif ++ ++#else /* __ARM_FEATURE_CRYPTO */ ++// Implements equivalent of 'aesenc' by combining AESE (with an empty key) and ++// AESMC and then manually applying the real key as an xor operation. This ++// unfortunately means an additional xor op; the compiler should be able to ++// optimize this away for repeated calls however. See ++// https://blog.michaelbrase.com/2018/05/08/emulating-x86-aes-intrinsics-on-armv8-a ++// for more details. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesmcq_u8(vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(b))); ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesimcq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return _mm_xor_si128(vreinterpretq_m128i_u8(vaeseq_u8( ++ vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ RoundKey); ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8( ++ veorq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++ return vreinterpretq_m128i_u8(vaesimcq_u8(vreinterpretq_u8_m128i(a))); ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst." ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++ // AESE does ShiftRows and SubBytes on A ++ uint8x16_t u8 = vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)); ++ ++#ifndef _MSC_VER ++ uint8x16_t dest = { ++ // Undo ShiftRows step from AESE and extract X1 and X3 ++ u8[0x4], u8[0x1], u8[0xE], u8[0xB], // SubBytes(X1) ++ u8[0x1], u8[0xE], u8[0xB], u8[0x4], // ROT(SubBytes(X1)) ++ u8[0xC], u8[0x9], u8[0x6], u8[0x3], // SubBytes(X3) ++ u8[0x9], u8[0x6], u8[0x3], u8[0xC], // ROT(SubBytes(X3)) ++ }; ++ uint32x4_t r = {0, (unsigned) rcon, 0, (unsigned) rcon}; ++ return vreinterpretq_m128i_u8(dest) ^ vreinterpretq_m128i_u32(r); ++#else ++ // We have to do this hack because MSVC is strictly adhering to the CPP ++ // standard, in particular C++03 8.5.1 sub-section 15, which states that ++ // unions must be initialized by their first member type. ++ ++ // As per the Windows ARM64 ABI, it is always little endian, so this works ++ __n128 dest{ ++ ((uint64_t) u8.n128_u8[0x4] << 0) | ((uint64_t) u8.n128_u8[0x1] << 8) | ++ ((uint64_t) u8.n128_u8[0xE] << 16) | ++ ((uint64_t) u8.n128_u8[0xB] << 24) | ++ ((uint64_t) u8.n128_u8[0x1] << 32) | ++ ((uint64_t) u8.n128_u8[0xE] << 40) | ++ ((uint64_t) u8.n128_u8[0xB] << 48) | ++ ((uint64_t) u8.n128_u8[0x4] << 56), ++ ((uint64_t) u8.n128_u8[0xC] << 0) | ((uint64_t) u8.n128_u8[0x9] << 8) | ++ ((uint64_t) u8.n128_u8[0x6] << 16) | ++ ((uint64_t) u8.n128_u8[0x3] << 24) | ++ ((uint64_t) u8.n128_u8[0x9] << 32) | ++ ((uint64_t) u8.n128_u8[0x6] << 40) | ++ ((uint64_t) u8.n128_u8[0x3] << 48) | ++ ((uint64_t) u8.n128_u8[0xC] << 56)}; ++ ++ dest.n128_u32[1] = dest.n128_u32[1] ^ rcon; ++ dest.n128_u32[3] = dest.n128_u32[3] ^ rcon; ++ ++ return dest; ++#endif ++} ++#endif ++ ++/* Others */ ++ ++// Perform a carry-less multiplication of two 64-bit integers, selected from a ++// and b according to imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clmulepi64_si128 ++FORCE_INLINE __m128i _mm_clmulepi64_si128(__m128i _a, __m128i _b, const int imm) ++{ ++ uint64x2_t a = vreinterpretq_u64_m128i(_a); ++ uint64x2_t b = vreinterpretq_u64_m128i(_b); ++ switch (imm & 0x11) { ++ case 0x00: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_low_u64(b))); ++ case 0x01: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_low_u64(b))); ++ case 0x10: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_high_u64(b))); ++ case 0x11: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_high_u64(b))); ++ default: ++ abort(); ++ } ++} ++ ++FORCE_INLINE unsigned int _sse2neon_mm_get_denormals_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_DENORMALS_ZERO_ON : _MM_DENORMALS_ZERO_OFF; ++} ++ ++// Count the number of bits set to 1 in unsigned 32-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u32 ++FORCE_INLINE int _mm_popcnt_u32(unsigned int a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcount) ++ return __builtin_popcount(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits(a); ++#else ++ return (int) vaddlv_u8(vcnt_u8(vcreate_u8((uint64_t) a))); ++#endif ++#else ++ uint32_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ ++ vst1_u32(&count, count32x2_val); ++ return count; ++#endif ++} ++ ++// Count the number of bits set to 1 in unsigned 64-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u64 ++FORCE_INLINE int64_t _mm_popcnt_u64(uint64_t a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcountll) ++ return __builtin_popcountll(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits64(a); ++#else ++ return (int64_t) vaddlv_u8(vcnt_u8(vcreate_u8(a))); ++#endif ++#else ++ uint64_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ uint64x1_t count64x1_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ count64x1_val = vpaddl_u32(count32x2_val); ++ vst1_u64(&count, count64x1_val); ++ return count; ++#endif ++} ++ ++FORCE_INLINE void _sse2neon_mm_set_denormals_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_DENORMALS_ZERO_MASK) == _MM_DENORMALS_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Return the current 64-bit value of the processor's time-stamp counter. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=rdtsc ++FORCE_INLINE uint64_t _rdtsc(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t val; ++ ++ /* According to ARM DDI 0487F.c, from Armv8.0 to Armv8.5 inclusive, the ++ * system counter is at least 56 bits wide; from Armv8.6, the counter ++ * must be 64 bits wide. So the system counter could be less than 64 ++ * bits wide and it is attributed with the flag 'cap_user_time_short' ++ * is true. ++ */ ++#if defined(_MSC_VER) ++ val = _ReadStatusReg(ARM64_SYSREG(3, 3, 14, 0, 2)); ++#else ++ __asm__ __volatile__("mrs %0, cntvct_el0" : "=r"(val)); ++#endif ++ ++ return val; ++#else ++ uint32_t pmccntr, pmuseren, pmcntenset; ++ // Read the user mode Performance Monitoring Unit (PMU) ++ // User Enable Register (PMUSERENR) access permissions. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c14, 0" : "=r"(pmuseren)); ++ if (pmuseren & 1) { // Allows reading PMUSERENR for user mode code. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c12, 1" : "=r"(pmcntenset)); ++ if (pmcntenset & 0x80000000UL) { // Is it counting? ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c13, 0" : "=r"(pmccntr)); ++ // The counter is set up to count every 64th cycle ++ return (uint64_t) (pmccntr) << 6; ++ } ++ } ++ ++ // Fallback to syscall as we can't enable PMUSERENR in user mode. ++ struct timeval tv; ++ gettimeofday(&tv, NULL); ++ return (uint64_t) (tv.tv_sec) * 1000000 + tv.tv_usec; ++#endif ++} ++ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma pop_macro("ALIGN_STRUCT") ++#pragma pop_macro("FORCE_INLINE") ++#pragma pop_macro("FORCE_INLINE_OPTNONE") ++#endif ++ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma GCC pop_options ++#endif ++ ++#endif +diff --git c/src/ssw.c i/src/ssw.c +index af8f4f3..87eeb57 100644 +--- c/src/ssw.c ++++ i/src/ssw.c +@@ -36,7 +36,11 @@ + */ + + //#include ++#ifdef __ARM_NEON ++#include "sse2neon.h" ++#else + #include ++#endif + #include + #include + #include +diff --git c/src/ssw.h i/src/ssw.h +index 510f5f4..0a68166 100644 +--- c/src/ssw.h ++++ i/src/ssw.h +@@ -14,7 +14,11 @@ + #include + #include + #include ++#ifdef __ARM_NEON ++#include "sse2neon.h" ++#else + #include ++#endif + + #ifdef __cplusplus + extern "C" { diff --git a/recipes/gangstr/meta.yaml b/recipes/gangstr/meta.yaml index e570301cacba3..b6bb7c7a52853 100644 --- a/recipes/gangstr/meta.yaml +++ b/recipes/gangstr/meta.yaml @@ -11,9 +11,12 @@ source: sha256: {{ sha256 }} patches: - 0001-Unvendor-dependencies-use-pkg-config-instead.patch + - gangstr-aarch64.patch # [linux and aarch64] build: - number: 6 + number: 8 + run_exports: + - {{ pin_subpackage('gangstr', max_pin="x") }} requirements: build: @@ -25,6 +28,7 @@ requirements: - gsl - htslib - nlopt + - zlib run: test: @@ -38,5 +42,7 @@ about: summary: GangSTR is a tool for genome-wide profiling tandem repeats from short reads. extra: + additional-platforms: + - linux-aarch64 identifiers: - doi:10.1093/nar/gkz501 diff --git a/recipes/ganon/meta.yaml b/recipes/ganon/meta.yaml index a2aa06fab08cb..b448796cc63d8 100755 --- a/recipes/ganon/meta.yaml +++ b/recipes/ganon/meta.yaml @@ -1,5 +1,5 @@ {% set name = "ganon" %} -{% set version = "2.0.0" %} +{% set version = "2.1.0" %} package: name: "{{ name|lower }}" @@ -8,13 +8,13 @@ package: source: - folder: ganon url: https://github.com/pirovc/{{ name }}/archive/{{ version }}.tar.gz - sha256: 065013bbc4d8817c1895793fcf41c9f68c9f36cae590ded005b389e3cc8941d6 + sha256: bba93f9c45c922d6d309fcb81dfeddac6ef5439852ff1c48a1e6fed299e29f8b - folder: robin-hood-hashing url: https://github.com/martinus/robin-hood-hashing/archive/refs/tags/3.11.3.tar.gz sha256: dcf2b7fa9ef9dd0c67102d94c28e8df3effbe1845e0ed1f31f4772ca5e857fc4 build: - number: 0 + number: 1 skip: True # [py<36 or osx] run_exports: - {{ pin_subpackage(name, max_pin="x") }} @@ -30,7 +30,7 @@ requirements: - catch2 ==2.* - cxxopts >=2.2.0 - python - - pandas >=1.1.0 + - pandas >=1.2.0 - multitax >=1.3.1 - genome_updater >=0.6.3 - grep @@ -38,10 +38,12 @@ requirements: - curl - diffutils - zlib + - parameterized >=0.9.0 + - raptor ==3.* run: - bzip2 - python - - pandas >=1.1.0 + - pandas >=1.2.0 - multitax >=1.3.1 - genome_updater >=0.6.3 - grep @@ -49,7 +51,7 @@ requirements: - curl - diffutils - zlib - - raptor ==3.0.1 + - raptor ==3.* test: commands: diff --git a/recipes/gap2seq/build.sh b/recipes/gap2seq/build.sh index 1e7344d52a564..166133ca8216d 100644 --- a/recipes/gap2seq/build.sh +++ b/recipes/gap2seq/build.sh @@ -1,6 +1,6 @@ #!/bin/bash -set -e -o pipefail +set -xe -o pipefail export CPPFLAGS="$CPPFLAGS -I${PREFIX}/include" export LDFLAGS="$LDFLAGS -L${PREFIX}/lib" diff --git a/recipes/gap2seq/meta.yaml b/recipes/gap2seq/meta.yaml index a1f4d7c8ce327..9140cdb128b41 100644 --- a/recipes/gap2seq/meta.yaml +++ b/recipes/gap2seq/meta.yaml @@ -10,8 +10,10 @@ package: version: {{ version }} build: - number: 2 + number: 4 skip: True # [osx or py2k] + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} source: #- url: https://github.com/rikuu/{{ name }}/archive/v{{ version }}.tar.gz @@ -36,6 +38,7 @@ requirements: - boost-cpp - python - htslib + - zlib run: - zlib - python @@ -54,6 +57,7 @@ about: summary: Gap2Seq is a tool for filling gaps between contigs in genome assemblies. extra: - notes: "Gap2Seq is only tested on Linux x86_64 by its author." + additional-platforms: + - linux-aarch64 recipe-maintainers: - notestaff diff --git a/recipes/gappa/build.sh b/recipes/gappa/build.sh index 27a186617836b..8686b9ce267bb 100644 --- a/recipes/gappa/build.sh +++ b/recipes/gappa/build.sh @@ -4,9 +4,9 @@ if [ "$(uname)" == Darwin ] ; then CXXFLAGS="$CXXFLAGS -fopenmp" fi -make +make -j ${CPU_COUNT} mkdir -p $PREFIX/bin +chmod 0755 bin/gappa cp bin/gappa $PREFIX/bin - diff --git a/recipes/gappa/meta.yaml b/recipes/gappa/meta.yaml index f0fd77ade36d8..968f366e34297 100644 --- a/recipes/gappa/meta.yaml +++ b/recipes/gappa/meta.yaml @@ -1,13 +1,15 @@ package: name: gappa - version: "0.8.4" + version: "0.8.5" build: - number: 0 + number: 2 + run_exports: + - {{ pin_subpackage('gappa', max_pin='x.x') }} source: - url: https://github.com/lczech/gappa/archive/refs/tags/v0.8.4.tar.gz - sha256: 98caee57fa42cd898b2ca57a77b5f56217cac9f9bf6469bcf8ee62f7140411fe + url: https://github.com/lczech/gappa/archive/refs/tags/v0.8.5.tar.gz + sha256: e0aff99e612fb674062ff4b5d50751140d567e9a289c29d58ea48b822a6a102b requirements: build: @@ -15,9 +17,11 @@ requirements: - {{ compiler('cxx') }} - cmake host: - - llvm-openmp # [osx] + - libgomp # [linux] + - llvm-openmp # [osx] - zlib run: + - libgomp # [linux] - llvm-openmp # [osx] test: @@ -27,9 +31,23 @@ test: about: home: https://github.com/lczech/gappa license: GPL-3.0-only + license_family: GPL3 license_file: LICENSE.txt summary: Genesis Applications for Phylogenetic Placement Analysis + description: | + gappa is a collection of commands for working with phylogenetic data. + Its main focus are evolutionary placements of short environmental sequences + on a reference phylogenetic tree. Such data are typically produced by tools + such as EPA-ng, RAxML-EPA or pplacer, and usually stored in jplace files. + dev_url: https://github.com/lczech/gappa + doc_url: https://github.com/lczech/gappa/wiki extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: + - doi:10.1093/bioinformatics/btaa070 + - doi:10.3389/fbinf.2022.871393 - doi:10.1093/bioinformatics/bty767 + - doi:10.1371/journal.pone.0217050 diff --git a/recipes/gapseq/build.sh b/recipes/gapseq/build.sh new file mode 100644 index 0000000000000..5cf8ec2bdb7b9 --- /dev/null +++ b/recipes/gapseq/build.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +# Installation instructions taken from https://github.com/jotech/gapseq/blob/master/docs/install.md#conda April 2024 by cmkobel + +# Copy contents to conda prefix +mkdir -p ${PREFIX}/gapseq/ +cp ISSUE_TEMPLATE.MD LICENSE README.md gapseq gapseq_env.yml ${PREFIX}/gapseq/ +cp -r dat/ docs/ src/ toy/ unit/ ${PREFIX}/gapseq/ + + +# Installing the CRAN archived sybilSBML package here requires a bunch of debugging to set the lib paths in R. That time is probably better spend fixing the package (sybilSBML) in the first place. So here is a quick workaround that makes this process a bit easier for the user. SybilSBML is not strictly necessary so I think the priority should be to get the main package (gapseq) working first. +echo '''#!/usr/bin/env bash +wget https://cran.r-project.org/src/contrib/Archive/sybilSBML/sybilSBML_3.1.2.tar.gz +R CMD INSTALL --configure-args=" \ +--with-sbml-include=$CONDA_PREFIX/include \ +--with-sbml-lib=$CONDA_PREFIX/lib" sybilSBML_3.1.2.tar.gz +rm sybilSBML_3.1.2.tar.gz +''' > ${PREFIX}/gapseq/src/install_archived_sybilSBML.sh +chmod +x ${PREFIX}/gapseq/src/install_archived_sybilSBML.sh +# Now the user can "easily" install this after installing the bioconda package with install_archived_sybilSBML.sh (This file will be linked to bin/). + + +# Download reference sequence data +# To install the database, we must call the installed file as it uses its own path to place the files correctly. +bash ${PREFIX}/gapseq/src/update_sequences.sh + + +# Final setup - Make binary available +mkdir -p ${PREFIX}/bin +ln -sr ${PREFIX}/gapseq/gapseq ${PREFIX}/bin/ +ln -sr ${PREFIX}/gapseq/src/update_sequences.sh ${PREFIX}/bin/ +ln -sr ${PREFIX}/gapseq/src/install_archived_sybilSBML.sh ${PREFIX}/bin/ + + +# --- + + +# Build at home with (before submitting to azure): +# conda activate bioconda-utils +# bioconda-utils lint --git-range master +# bioconda-utils build --mulled-test --git-range master diff --git a/recipes/gapseq/meta.yaml b/recipes/gapseq/meta.yaml new file mode 100644 index 0000000000000..c1275e49f6191 --- /dev/null +++ b/recipes/gapseq/meta.yaml @@ -0,0 +1,71 @@ +{% set version = "1.3.1" %} + +package: + name: gapseq + version: {{ version }} + +source: + url: https://github.com/jotech/gapseq/archive/refs/tags/v{{ version}}.tar.gz + sha256: 8702d9bc844c04aa06fba083bd81bdf4585bfbb581b890052ba5af378a85a2c6 + +build: + number: 0 + run_exports: + - {{ pin_subpackage('gapseq', max_pin="x") }} + skip: True # [osx] + +requirements: + run: + - r-base + - perl + - parallel + - gawk + - sed + - grep + - bc + - git + - coreutils + - wget + - openssl + - barrnap + - bedtools + - exonerate + - glpk + - hmmer + - blast + - libsbml + - r-data.table + - r-stringr + - r-stringi + - r-getopt + - r-doParallel + - r-foreach + - r-r.utils + - r-sybil + - r-biocmanager + - bioconductor-biostrings + - r-jsonlite + - r-renv + - r-glpkapi + - r-rcurl + - r-httr + - r-chnosz + build: + - wget + +test: + commands: + - gapseq test + +about: + home: https://github.com/jotech/gapseq + summary: Informed prediction and analysis of bacterial metabolic pathways and genome-scale networks + license_family: GPL + license: AGPL-3.0-only + license_file: LICENSE +extra: + skip-lints: + - should_be_noarch_generic + recipe-maintainers: + - cmkobel + diff --git a/recipes/gargammel-slim/build_failure.osx-64.yaml b/recipes/gargammel-slim/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..39e8acd9ed637 --- /dev/null +++ b/recipes/gargammel-slim/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 0e462e5b278dcfaee8a3a55d793270a591c1f9dd1ca05c0e38b2c35b3b3d2fcf # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/gargammel-slim/0003-libgab-gzstream-Makefile-use-CXXFLAGS-and-LDFLAGS.patch with args: + ['-Np0', '-i', '/tmp/tmpo55svqht/0003-libgab-gzstream-Makefile-use-CXXFLAGS-and-LDFLAGS.patch.native', '--binary'] + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/gargammel-slim/0004-libgab-Makefile-removed-CXX.patch + Patch level ambiguous, selecting least deep + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/gargammel-slim/0004-libgab-Makefile-removed-CXX.patch with args: + ['-Np0', '-i', '/tmp/tmphkgx4j5e/0004-libgab-Makefile-removed-CXX.patch.native', '--binary'] + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/gargammel-slim/0005-libgab-ReconsReferenceBAM-OSX.patch + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/gargammel-slim/0005-libgab-ReconsReferenceBAM-OSX.patch with args: + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + ['-Np0', '-i', '/tmp/tmp4ng2chds/0005-libgab-ReconsReferenceBAM-OSX.patch.native', '--binary'] + Patch analysis gives: + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/gargammel-slim_1717627393137/work/conda_build.sh']' returned non-zero exit status 2. + [[ RA--D0LOVE ]] - [[ 0001-gargammel-Makefile-keep-basic.patch ]] + [[ RA-MD0-OVE ]] - [[ 0002-gargammel-src-Makefile-change-CXXFLAGS-and-LDFLAGS.patch ]] + [[ RA-MD0-OVE ]] - [[ 0003-libgab-gzstream-Makefile-use-CXXFLAGS-and-LDFLAGS.patch ]] + [[ RA-MD0-OVE ]] - [[ 0004-libgab-Makefile-removed-CXX.patch ]] + [[ RA-MD0LOVE ]] - [[ 0005-libgab-ReconsReferenceBAM-OSX.patch ]] + + Key: + + R :: Reversible A :: Applicable + Y :: Build-prefix patch in use M :: Minimal, non-amalgamated + D :: Dry-runnable N :: Patch level (1 is preferred) + L :: Patch level not-ambiguous O :: Patch applies without offsets + V :: Patch applies without fuzz E :: Patch applies without emitting to stderr + + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/gargammel-slim_1717627393137/work + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/gargammel-slim_1717627393137/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/gargammel-slim_1717627393137/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/gargammel-slim_1717627393137/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/gargammel-slim-1.1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/gargammel-slim-1.1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/gargammel-slim-1.1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/gargammel-slim-1.1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + make -C libgab CXX=x86_64-apple-darwin13.4.0-clang + make[1]: Entering directory '$SRC_DIR/gargammel/libgab' + bamtools found + make[2]: Entering directory '$SRC_DIR/gargammel/libgab' + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/gargammel-slim-1.1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -lm -O3 -I. -Igzstream/ -I$SRC_DIR/gargammel/bamtools/ -I$SRC_DIR/gargammel/bamtools/ -Wall -lm -O3 -I. -Igzstream/ -I$SRC_DIR/gargammel/bamtools/ -I$SRC_DIR/gargammel/bamtools/ -c ReconsReferenceBAM.cpp -o ReconsReferenceBAM.o + make[2]: Leaving directory '$SRC_DIR/gargammel/libgab' + make[2]: Entering directory '$SRC_DIR/gargammel/libgab' + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/gargammel-slim-1.1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -lm -O3 -I. -Igzstream/ -I$SRC_DIR/gargammel/bamtools/ -I$SRC_DIR/gargammel/bamtools/ -Wall -lm -O3 -I. -Igzstream/ -I$SRC_DIR/gargammel/bamtools/ -I$SRC_DIR/gargammel/bamtools/ -c PutProgramInHeader.cpp -o PutProgramInHeader.o + make[2]: Leaving directory '$SRC_DIR/gargammel/libgab' + make[1]: Leaving directory '$SRC_DIR/gargammel/libgab' +# Last 100 lines of the build log. diff --git a/recipes/gargammel-slim/meta.yaml b/recipes/gargammel-slim/meta.yaml index 0753c9cf12ab9..024f9b0ae8770 100644 --- a/recipes/gargammel-slim/meta.yaml +++ b/recipes/gargammel-slim/meta.yaml @@ -7,7 +7,7 @@ package: version: {{ version }} build: - number: 4 + number: 5 source: - url: https://github.com/grenaud/libgab/archive/d2bbab7d88fbfdaa0ce57a26dc908d2fc66bf656.tar.gz diff --git a/recipes/gargammel/build_failure.linux-64.yaml b/recipes/gargammel/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..7485dfd8b7a11 --- /dev/null +++ b/recipes/gargammel/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: e3521b47e901737568162f4ea97932dfd964832eaea44a742551086c5d4f2a64 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + [31mlibssh2 1.9.0[0m would require + [31mopenssl >=1.1.1g,<1.1.2a [0m, which conflicts with any installable versions previously reported; + [31mlibssh2 1.11.0[0m would require + [31mopenssl >=3.1.1,<4.0a0 [0m, which conflicts with any installable versions previously reported; + [31mcurl [7.71.0|7.71.1|...|7.78.0][0m would require + [31mlibssh2 >=1.9.0,<2.0a0 [0m, which cannot be installed (as previously explained); + [31mcurl 7.79.0[0m would require + [31mlibcurl 7.79.0 h2574ce0_0[0m, which does not exist (perhaps a missing channel); + [31mcurl [7.79.1|7.80.0|7.81.0|7.82.0][0m would require + [31mopenssl >=1.1.1l,<1.1.2a [0m, which conflicts with any installable versions previously reported; + [31mcurl [7.79.1|7.80.0|7.81.0|7.82.0][0m would require + [31mopenssl >=3.0.0,<4.0a0 [0m, which conflicts with any installable versions previously reported; + [31mcurl 7.79.1[0m would require + [31mlibssh2 >=1.10.0,<2.0a0 [0m, which cannot be installed (as previously explained); + [31mcurl 7.83.0[0m would require + [31mopenssl >=3.0.2,<4.0a0 [0m, which conflicts with any installable versions previously reported; + [31mcurl 7.83.0[0m would require + [31mopenssl >=1.1.1n,<1.1.2a [0m, which conflicts with any installable versions previously reported; + [31mcurl 7.83.1[0m would require + [31mopenssl >=3.0.3,<4.0a0 [0m, which conflicts with any installable versions previously reported; + [31mcurl 7.83.1[0m would require + [31mopenssl >=1.1.1o,<1.1.2a [0m, which conflicts with any installable versions previously reported; + [31mcurl [7.85.0|7.86.0][0m would require + [31mopenssl >=3.0.5,<4.0a0 [0m, which conflicts with any installable versions previously reported; + [31mcurl [7.85.0|7.86.0][0m would require + [31mopenssl >=1.1.1q,<1.1.2a [0m, which conflicts with any installable versions previously reported; + [31mcurl [7.86.0|7.87.0][0m would require + [31mopenssl >=3.0.7,<4.0a0 [0m, which conflicts with any installable versions previously reported; + [31mcurl [7.86.0|7.87.0][0m would require + [31mopenssl >=1.1.1s,<1.1.2a [0m, which conflicts with any installable versions previously reported; + [31mcurl [7.88.0|7.88.1][0m would require + [31mopenssl >=3.0.8,<4.0a0 [0m, which conflicts with any installable versions previously reported; + [31mcurl 7.88.1[0m would require + [31mopenssl >=3.1.0,<4.0a0 [0m, which conflicts with any installable versions previously reported; + [31mhtslib [1.10|1.10.1|1.10.2][0m, which cannot be installed (as previously explained); + [31mhtslib 1.10.2[0m, which cannot be installed (as previously explained); + [31mhtslib 1.11[0m, which cannot be installed (as previously explained); + [31mhtslib 1.11[0m, which cannot be installed (as previously explained); + [31mhtslib [1.12|1.13][0m, which cannot be installed (as previously explained); + [31mhtslib 1.12[0m, which cannot be installed (as previously explained); + [31mhtslib [1.14|1.15][0m, which cannot be installed (as previously explained); + [31mhtslib [1.15.1|1.16][0m, which cannot be installed (as previously explained); + [31mhtslib 1.15.1[0m, which cannot be installed (as previously explained); + [31mhtslib 1.17[0m, which cannot be installed (as previously explained); + [31mhtslib 1.17[0m, which cannot be installed (as previously explained); + [31mhtslib 1.18[0m, which cannot be installed (as previously explained); + [31mhtslib [1.19|1.19.1][0m, which cannot be installed (as previously explained); + [31mhtslib [1.19.1|1.20][0m, which cannot be installed (as previously explained); + [31mhtslib 1.20[0m, which cannot be installed (as previously explained); + [31msamtools 1.11[0m would require + [31mhtslib >=1.11,<1.21.0a0 [0m, which cannot be installed (as previously explained); + [31msamtools 1.12[0m would require + [31mhtslib >=1.12,<1.21.0a0 [0m, which cannot be installed (as previously explained); + [31msamtools 1.13[0m would require + [31mhtslib >=1.13,<1.21.0a0 [0m, which cannot be installed (as previously explained); + [31msamtools [1.14|1.15|1.15.1][0m would require + [31mhtslib [>=1.14,<1.21.0a0 |>=1.15,<1.21.0a0 ][0m, which cannot be installed (as previously explained); + [31msamtools [1.15.1|1.16.1][0m would require + [31mhtslib >=1.16,<1.21.0a0 [0m, which cannot be installed (as previously explained); + [31msamtools [1.16.1|1.17|1.18][0m would require + [31mhtslib >=1.17,<1.21.0a0 [0m, which cannot be installed (as previously explained); + [31msamtools 1.18[0m would require + [31mhtslib >=1.18,<1.21.0a0 [0m, which cannot be installed (as previously explained); + [31msamtools [1.19|1.19.1|1.19.2][0m would require + [31mhtslib [>=1.19,<1.21.0a0 |>=1.19.1,<1.21.0a0 ][0m, which cannot be installed (as previously explained); + [31msamtools 1.20[0m would require + [31mhtslib >=1.20,<1.21.0a0 [0m, which cannot be installed (as previously explained); + [31msamtools [1.3|1.3.1|1.6][0m would require + [31mopenssl >=3.1.0,<4.0a0 [0m, which conflicts with any installable versions previously reported; + [31msamtools [1.3|1.3.1|1.6][0m would require + [31mopenssl >=1.1.1l,<1.1.2a [0m, which conflicts with any installable versions previously reported; + [31msamtools 1.9[0m would require + [31mhtslib >=1.9,<1.10.0a0 [0m but there are no viable options + [31mhtslib [1.10|1.9][0m, which cannot be installed (as previously explained); + [31mhtslib 1.9[0m would require + [31mlibdeflate >=1.0,<1.1.0a0 [0m, which conflicts with any installable versions previously reported; + [31mhtslib 1.9[0m would require + [31mcurl >=7.59.0,<8.0a0 [0m but there are no viable options + [31mcurl [7.59.0|7.60.0|...|7.69.1][0m, which cannot be installed (as previously explained); + [31mcurl [7.59.0|7.61.0][0m would require + [31mopenssl >=1.0.2p,<1.0.3a [0m, which conflicts with any installable versions previously reported; + [31mcurl 7.61.0[0m would require + [31mopenssl >=1.0.2o,<1.0.3a [0m, which conflicts with any installable versions previously reported; + [31mcurl [7.71.0|7.71.1|...|7.78.0][0m, which cannot be installed (as previously explained); + [31mcurl 7.79.0[0m, which cannot be installed (as previously explained); + [31mcurl [7.79.1|7.80.0|7.81.0|7.82.0][0m, which cannot be installed (as previously explained); + [31mcurl [7.79.1|7.80.0|7.81.0|7.82.0][0m, which cannot be installed (as previously explained); + [31mcurl 7.79.1[0m, which cannot be installed (as previously explained); + [31mcurl 7.83.0[0m, which cannot be installed (as previously explained); + [31mcurl 7.83.0[0m, which cannot be installed (as previously explained); + [31mcurl 7.83.1[0m, which cannot be installed (as previously explained); + [31mcurl 7.83.1[0m, which cannot be installed (as previously explained); + [31mcurl [7.85.0|7.86.0][0m, which cannot be installed (as previously explained); + [31mcurl [7.85.0|7.86.0][0m, which cannot be installed (as previously explained); + [31mcurl [7.86.0|7.87.0][0m, which cannot be installed (as previously explained); + [31mcurl [7.86.0|7.87.0][0m, which cannot be installed (as previously explained); + [31mcurl [7.88.0|7.88.1][0m, which cannot be installed (as previously explained); + [31mcurl 7.88.1[0m, which cannot be installed (as previously explained); + [31msamtools 1.9[0m would require + [31mlibdeflate >=1.0,<1.1.0a0 [0m, which conflicts with any installable versions previously reported. +# Last 100 lines of the build log. diff --git a/recipes/gargammel/build_failure.osx-64.yaml b/recipes/gargammel/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..63d247ca21888 --- /dev/null +++ b/recipes/gargammel/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: e3521b47e901737568162f4ea97932dfd964832eaea44a742551086c5d4f2a64 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + packages_from_this = build( + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/gargammel/0002-gargammel-src-Makefile-change-CXXFLAGS-and-LDFLAGS.patch + Patch level ambiguous, selecting least deep + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/gargammel/0002-gargammel-src-Makefile-change-CXXFLAGS-and-LDFLAGS.patch with args: + ['-Np0', '-i', '/tmp/tmpl4n2ke_l/0002-gargammel-src-Makefile-change-CXXFLAGS-and-LDFLAGS.patch.native', '--binary'] + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/gargammel/0003-libgab-gzstream-Makefile-use-CXXFLAGS-and-LDFLAGS.patch + Patch level ambiguous, selecting least deep + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/gargammel_1717627239361/work/conda_build.sh']' returned non-zero exit status 2. + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/gargammel/0003-libgab-gzstream-Makefile-use-CXXFLAGS-and-LDFLAGS.patch with args: + ['-Np0', '-i', '/tmp/tmp7opuet9f/0003-libgab-gzstream-Makefile-use-CXXFLAGS-and-LDFLAGS.patch.native', '--binary'] + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/gargammel/0004-libgab-Makefile-removed-CXX.patch + Patch level ambiguous, selecting least deep + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/gargammel/0004-libgab-Makefile-removed-CXX.patch with args: + ['-Np0', '-i', '/tmp/tmpo7_saxqd/0004-libgab-Makefile-removed-CXX.patch.native', '--binary'] + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/gargammel/0005-libgab-ReconsReferenceBAM-OSX.patch + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/gargammel/0005-libgab-ReconsReferenceBAM-OSX.patch with args: + ['-Np0', '-i', '/tmp/tmpt5qexb00/0005-libgab-ReconsReferenceBAM-OSX.patch.native', '--binary'] + Patch analysis gives: + [[ RA--D0LOVE ]] - [[ 0001-gargammel-Makefile-nobamtools.patch ]] + [[ RA-MD0-OVE ]] - [[ 0002-gargammel-src-Makefile-change-CXXFLAGS-and-LDFLAGS.patch ]] + [[ RA--D0-OVE ]] - [[ 0003-libgab-gzstream-Makefile-use-CXXFLAGS-and-LDFLAGS.patch ]] + [[ RA--D0-OVE ]] - [[ 0004-libgab-Makefile-removed-CXX.patch ]] + [[ RA--D0LOVE ]] - [[ 0005-libgab-ReconsReferenceBAM-OSX.patch ]] + + Key: + + R :: Reversible A :: Applicable + Y :: Build-prefix patch in use M :: Minimal, non-amalgamated + D :: Dry-runnable N :: Patch level (1 is preferred) + L :: Patch level not-ambiguous O :: Patch applies without offsets + V :: Patch applies without fuzz E :: Patch applies without emitting to stderr + + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/gargammel_1717627239361/work + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/gargammel_1717627239361/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/gargammel_1717627239361/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/gargammel_1717627239361/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/gargammel-1.1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/gargammel-1.1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/gargammel-1.1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/gargammel-1.1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + make -C libgab CXX=x86_64-apple-darwin13.4.0-clang + make[1]: Entering directory '$SRC_DIR/gargammel/libgab' + bamtools found + make[2]: Entering directory '$SRC_DIR/gargammel/libgab' + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/gargammel-1.1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -lm -O3 -I. -Igzstream/ -I$SRC_DIR/gargammel/bamtools/ -I$SRC_DIR/gargammel/bamtools/ -Wall -lm -O3 -I. -Igzstream/ -I$SRC_DIR/gargammel/bamtools/ -I$SRC_DIR/gargammel/bamtools/ -c ReconsReferenceBAM.cpp -o ReconsReferenceBAM.o + make[2]: Leaving directory '$SRC_DIR/gargammel/libgab' + make[2]: Entering directory '$SRC_DIR/gargammel/libgab' + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/gargammel-1.1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -lm -O3 -I. -Igzstream/ -I$SRC_DIR/gargammel/bamtools/ -I$SRC_DIR/gargammel/bamtools/ -Wall -lm -O3 -I. -Igzstream/ -I$SRC_DIR/gargammel/bamtools/ -I$SRC_DIR/gargammel/bamtools/ -c PutProgramInHeader.cpp -o PutProgramInHeader.o + make[2]: Leaving directory '$SRC_DIR/gargammel/libgab' + make[1]: Leaving directory '$SRC_DIR/gargammel/libgab' +# Last 100 lines of the build log. diff --git a/recipes/gargammel/meta.yaml b/recipes/gargammel/meta.yaml index 457f7f4c3e1a8..b431562974cba 100644 --- a/recipes/gargammel/meta.yaml +++ b/recipes/gargammel/meta.yaml @@ -7,7 +7,7 @@ package: version: {{ version }} build: - number: 6 + number: 7 source: - url: https://github.com/grenaud/libgab/archive/d2bbab7d88fbfdaa0ce57a26dc908d2fc66bf656.tar.gz diff --git a/recipes/gatb/meta.yaml b/recipes/gatb/meta.yaml index 31c007e4a6827..24333a41f3731 100644 --- a/recipes/gatb/meta.yaml +++ b/recipes/gatb/meta.yaml @@ -10,7 +10,7 @@ source: - boophf.patch build: - number: 3 + number: 4 requirements: build: diff --git a/recipes/gatk/meta.yaml b/recipes/gatk/meta.yaml index 77decd93b1470..cc2a442f6d1b3 100644 --- a/recipes/gatk/meta.yaml +++ b/recipes/gatk/meta.yaml @@ -11,7 +11,9 @@ package: build: noarch: generic - number: 11 + number: 12 + run_exports: + - {{ pin_subpackage("gatk", max_pin="x") }} source: url: https://storage.googleapis.com/gatk-software/package-archive/gatk/GenomeAnalysisTK-3.8-1-0-gf15c1c3ef.tar.bz2 diff --git a/recipes/gatk4/meta.yaml b/recipes/gatk4/meta.yaml index 5e77a8f9a2ef8..f588a9884779c 100644 --- a/recipes/gatk4/meta.yaml +++ b/recipes/gatk4/meta.yaml @@ -1,6 +1,6 @@ {% set name = "GATK4" %} -{% set version = "4.4.0.0" %} -{% set sha256 = "444600f7b38b46ad0b3606b7d40ce921e0ff1910a50165872f1c73c7c4a1a390" %} +{% set version = "4.5.0.0" %} +{% set sha256 = "dc1a4471e8bb566397db9894ca18acbf8f40f3fc312c8fad9a8c5390c218e916" %} package: name: {{ name|lower }} @@ -13,24 +13,26 @@ source: build: noarch: generic number: 0 + run_exports: + - {{ pin_subpackage('gatk4', max_pin="x") }} requirements: host: - - r-base + - r-base =3.6 - r-gplots - r-ggplot2 - r-gsalib - r-reshape - - gcnvkernel + - gcnvkernel =0.8 run: - openjdk >=17,<18 - python - - r-base + - r-base =3.6 - r-gplots - r-ggplot2 - r-gsalib - r-reshape - - gcnvkernel + - gcnvkernel =0.8 test: commands: diff --git a/recipes/gb-io/build.sh b/recipes/gb-io/build.sh new file mode 100644 index 0000000000000..a8f3305257de7 --- /dev/null +++ b/recipes/gb-io/build.sh @@ -0,0 +1,12 @@ +#!/bin/bash -e + +set -ex + +# Use a custom temporary directory as home on macOS. +# (not sure why this is useful, but people use it in bioconda recipes) +if [ `uname` == Darwin ]; then + export HOME=`mktemp -d` +fi + +# build statically linked binary with Rust +$PYTHON -m pip install . --no-deps --no-build-isolation -vvv diff --git a/recipes/gb-io/build_failure.osx-64.yaml b/recipes/gb-io/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..3d8509b7d299a --- /dev/null +++ b/recipes/gb-io/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 7e6e0693a3ac8aa2889ec74d7c05525158f7481f56430408404ac4c5a675b1d8 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/gb-io_1717512763030/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/gb-io_1717512763030/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/gb-io_1717512763030/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + return build_tree( + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/gb-io-0.3.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/gb-io-0.3.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/gb-io_1717512763030/work/conda_build.sh']' returned non-zero exit status 1. + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/gb-io-0.3.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/gb-io-0.3.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + Using pip 24.0 from $PREFIX/lib/python3.9/site-packages/pip (python 3.9) + Non-user install because user site-packages disabled + Ignoring indexes: https://pypi.org/simple + Created temporary directory: /private/tmp/pip-build-tracker-uolko928 + Initialized build tracking at /private/tmp/pip-build-tracker-uolko928 + Created build tracker: /private/tmp/pip-build-tracker-uolko928 + Entered build tracker: /private/tmp/pip-build-tracker-uolko928 + Created temporary directory: /private/tmp/pip-install-9z4rp325 + Created temporary directory: /private/tmp/pip-ephem-wheel-cache-29j_pjg1 + Processing $SRC_DIR + Added file://$SRC_DIR to build tracker '/private/tmp/pip-build-tracker-uolko928' + Created temporary directory: /private/tmp/pip-modern-metadata-omx74dv9 + Preparing metadata (pyproject.toml): started + Preparing metadata (pyproject.toml): finished with status 'done' + Source in $SRC_DIR has version 0.3.2, which satisfies requirement gb-io==0.3.2 from file://$SRC_DIR + Removed gb-io==0.3.2 from file://$SRC_DIR from build tracker '/private/tmp/pip-build-tracker-uolko928' + Created temporary directory: /private/tmp/pip-unpack-3b74mzyh + Building wheels for collected packages: gb-io + Created temporary directory: /private/tmp/pip-wheel-oz7bnwid + Destination directory: /private/tmp/pip-wheel-oz7bnwid + Building wheel for gb-io (pyproject.toml): started + Building wheel for gb-io (pyproject.toml): finished with status 'error' + Failed to build gb-io + Exception information: + Traceback (most recent call last): + File "$PREFIX/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper + status = run_func(*args) + File "$PREFIX/lib/python3.9/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper + return func(self, options, args) + File "$PREFIX/lib/python3.9/site-packages/pip/_internal/commands/install.py", line 429, in run + raise InstallationError( + pip._internal.exceptions.InstallationError: Could not build wheels for gb-io, which is required to install pyproject.toml-based projects + Removed build tracker: '/private/tmp/pip-build-tracker-uolko928' +# Last 100 lines of the build log. diff --git a/recipes/gb-io/meta.yaml b/recipes/gb-io/meta.yaml new file mode 100644 index 0000000000000..88ef2346b5e42 --- /dev/null +++ b/recipes/gb-io/meta.yaml @@ -0,0 +1,37 @@ +{% set name = "gb-io" %} +{% set version = "0.3.2" %} + +package: + name: "{{ name }}" + version: "{{ version }}" + +build: + number: 1 + run_exports: + - {{ pin_subpackage('gb-io', max_pin="x.x") }} + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: 5bf0a5b2755e5e4aa928184043a44c28e2658158965901abb003ede8c794ad6e + +requirements: + build: + - {{ compiler('rust') }} + - {{ compiler('c') }} + - {{ compiler('cxx') }} + host: + - pip + - python + - setuptools-rust + run: + - python + +test: + imports: + - gb_io + +about: + home: https://github.com/althonos/gb-io.py + license: MIT + license_file: COPYING + summary: A Python interface to gb-io, a fast GenBank parser and serializer written in Rust. diff --git a/recipes/gbintk/meta.yaml b/recipes/gbintk/meta.yaml new file mode 100644 index 0000000000000..55b527d6a6173 --- /dev/null +++ b/recipes/gbintk/meta.yaml @@ -0,0 +1,66 @@ +{% set name = "gbintk" %} +{% set version = "1.0.0" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://github.com/metagentools/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz" + sha256: 9e0784a6ecf826631dd6c8a84f24d4f0df9c80d2800c5615094fb99750326b3c + +build: + number: 1 + noarch: false + entry_points: + - gbintk = gbintk.cli:main + script: + - "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + run_exports: + - {{ pin_subpackage('gbintk', max_pin="x.x") }} + +requirements: + host: + - pip + - python >=3.7,<3.11 + - flit-core + run: + - python >=3.7,<3.11 + - click + - pkg-config + - python-igraph + - cairo + - cairocffi + - cogent3 + - networkx + - tqdm + - scipy + - numpy + - pandas + - tabulate + - fraggenescan + - hmmer + - graphbin + - graphbin2 + - metacoag >=1.2.1 + +test: + commands: + - gbintk --help + +about: + home: "https://github.com/metagentools/gbintk" + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE + summary: "GraphBin-Tk: assembly graph-based metagenomic binning toolkit" + description: | + GraphBin-Tk is a toolkit that combines assembly graph-based metagenomic bin-refinement and binning techniques GraphBin, GraphBin2 and MetaCoAG. + doc_url: "https://gbintk.readthedocs.io/" + dev_url: "https://github.com/metagentools/gbintk" + +extra: + skip-lints: + - should_be_noarch_generic + recipe-maintainers: + - Vini2 diff --git a/recipes/gcnvkernel/meta.yaml b/recipes/gcnvkernel/meta.yaml index da4ef22df24e6..f8c6448ea98bb 100644 --- a/recipes/gcnvkernel/meta.yaml +++ b/recipes/gcnvkernel/meta.yaml @@ -1,7 +1,7 @@ {% set name = "gcnvkernel" %} {% set version = "0.8" %} -{% set gatk_version = "4.3.0.0" %} -{% set gatk_sha256 = "e2c27229b34c3e22445964adf00639a0909887bbfcc040f6910079177bc6e2dd" %} +{% set gatk_version = "4.5.0.0" %} +{% set gatk_sha256 = "dc1a4471e8bb566397db9894ca18acbf8f40f3fc312c8fad9a8c5390c218e916" %} package: name: {{ name|lower }} @@ -13,7 +13,9 @@ source: build: noarch: python - number: 0 + number: 1 + run_exports: + - {{ pin_subpackage('gcnvkernel', max_pin="x") }} requirements: build: @@ -24,17 +26,17 @@ requirements: # # https://github.com/broadinstitute/gatk/blob/master/scripts/gatkcondaenv.yml.template - conda-forge::python =3.6.10 - - pip =20.0.2 + - pip =21.3.1 - conda-forge::mkl =2019.5 - conda-forge::mkl-service =2.3.0 - conda-forge::numpy =1.17.5 - conda-forge::theano =1.0.4 - - defaults::tensorflow =1.15.0 + - tensorflow <2 - conda-forge::scipy =1.0.0 - conda-forge::pymc3 =3.1 - conda-forge::h5py =2.10.0 - conda-forge::keras =2.2.4 - - defaults::intel-openmp =2019.4 + - conda-forge::intel-openmp - conda-forge::scikit-learn =0.23.1 - conda-forge::matplotlib =3.2.1 - conda-forge::pandas =1.0.3 diff --git a/recipes/gdc-client/meta.yaml b/recipes/gdc-client/meta.yaml index 0979d248aa6ee..22e25c0ab7aa4 100644 --- a/recipes/gdc-client/meta.yaml +++ b/recipes/gdc-client/meta.yaml @@ -1,41 +1,52 @@ -{% set version = "1.6.1" %} +{% set name = "gdc-client" %} +{% set version = "2.3" %} package: - name: gdc-client + name: {{ name }} version: {{ version }} +source: + url: https://github.com/NCI-GDC/gdc-client/archive/{{ version }}.tar.gz + sha256: c4617516d84572135ee21b3b0bbaf4a5d360dcfe752ef70ba89c156ab64d1870 + build: number: 0 noarch: python - script: {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv - -source: - url: https://github.com/NCI-GDC/gdc-client/archive/{{ version }}.tar.gz - sha256: 021c54ff63babff59d15b5f3e9763f0fd18bb64a4a34bc273237e3571fb24889 + script_env: + - SETUPTOOLS_SCM_PRETEND_VERSION={{ version }} + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir --use-pep517 + run_exports: + - {{ pin_subpackage('gdc-client', max_pin="x") }} requirements: host: - python >=3.5 - pip + - setuptools-scm <8 run: - python >=3.5 - - cryptography >=2.8,<2.9 + - cryptography >=2.8 + - importlib-metadata - jsonschema >=2.6 - lxml >=4.4.2 - ndg-httpsclient >=0.5.0,<1 - pyasn1 >=0.4.3,<1 - pyopenssl >=18,<19 - - pyyaml >=3.13,<4 + - pyyaml >=5.1 - progressbar2 >=3.43.1 - intervaltree >=3.0.2 - termcolor >=1.1.0 - requests >=2.22.0 test: - commands: - - gdc-client --help + imports: + - gdc_client about: - home: https://gdc.cancer.gov/access-data/gdc-data-transfer-tool - license: Apache v2 - summary: GDC Data Transfer Tool + home: "https://gdc.cancer.gov/access-data/gdc-data-transfer-tool" + license: "Apache-2.0" + license_family: APACHE + license_file: LICENSE + summary: "GDC Data Transfer Tool" + dev_url: "https://github.com/NCI-GDC/gdc-client" + doc_url: "https://docs.gdc.cancer.gov/Data_Transfer_Tool/Users_Guide/Getting_Started" diff --git a/recipes/gecco/meta.yaml b/recipes/gecco/meta.yaml index 6dec56a044f8e..34a6b65a20e38 100644 --- a/recipes/gecco/meta.yaml +++ b/recipes/gecco/meta.yaml @@ -1,6 +1,6 @@ {% set name = "GECCO" %} {% set name_pypi = "gecco-tool" %} -{% set version = "0.9.8" %} +{% set version = "0.9.10" %} package: name: "{{ name|lower }}" @@ -8,12 +8,14 @@ package: source: url: https://pypi.org/packages/source/g/{{ name_pypi }}/{{ name_pypi }}-{{ version }}.tar.gz - sha256: 4d67a654e84258c574ec1e3506ea1411c2ffa2d8b1abac41c198bb276edd4626 + sha256: 6ab405587824228a2a2baa08ccb9e6df1f6df214fe6c1a531b778a613fb1e90d build: number: 0 noarch: python script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vvv " + run_exports: + - {{ pin_subpackage("gecco", max_pin="x.x") }} requirements: host: @@ -34,8 +36,8 @@ requirements: - numpy >=1.16 - polars >=0.16.1 - psutil >=5.8 - - pyhmmer >=0.8.0 - - pyrodigal >=2.1.0 + - pyhmmer >=0.10.0 + - pyrodigal >=3.0 - rich >=12.4.0 - scikit-learn >=1.0 - scipy >=1.4 diff --git a/recipes/gembs/build_failure.linux-64.yaml b/recipes/gembs/build_failure.linux-64.yaml deleted file mode 100644 index c870f719ecf5d..0000000000000 --- a/recipes/gembs/build_failure.linux-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: fac68638232545351f8bfc54743a2fe65ff654e73509608e52771b929f52a3ea # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - - pigz - - python_abi 3.10.* *_cp310 - - zlib - - openssl >=3.1.0,<4.0a0 - - setuptools - - matplotlib-base - - libzlib >=1.2.13,<1.3.0a0 - - bcftools - - python >=3.10,<3.11.0a0 - - ucsc-wigtobigwig - - gem3-mapper - - ucsc-bedtobigbed - - libgcc-ng >=12 - - bzip2 >=1.0.8,<2.0a0 - - samtools - - bs_call - - multiprocess - - with channels: - - conda-forge - - bioconda - - defaults - - The reported errors are: - - Encountered problems while solving: - - - package ucsc-wigtobigwig-366-h5eb252a_0 requires openssl >=1.0.2o,<1.0.3a, but none of the providers can be installed - - - - Leaving build/test directories: - Work: - /opt/conda/conda-bld/work - Test: - /opt/conda/conda-bld/test_tmp - Leaving build/test environments: - Test: - source activate /opt/conda/conda-bld/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl - Build: - source activate /opt/conda/conda-bld/_build_env - - - Traceback (most recent call last): - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 141, in mamba_get_install_actions - solution = solver.solve_for_action(_specs, prefix) - File "/opt/conda/lib/python3.8/site-packages/boa/core/solver.py", line 230, in solve_for_action - t = self.solve(specs) - File "/opt/conda/lib/python3.8/site-packages/boa/core/solver.py", line 220, in solve - raise RuntimeError("Solver could not find solution." error_string) - RuntimeError: Solver could not find solution.Mamba failed to solve: - - htslib >=1.17,<1.18.0a0 - - htslib >=1.17,<1.18.0a0 - - pigz - - python_abi 3.10.* *_cp310 - - zlib - - openssl >=3.1.0,<4.0a0 - - setuptools - - matplotlib-base - - libzlib >=1.2.13,<1.3.0a0 - - bcftools - - python >=3.10,<3.11.0a0 - - ucsc-wigtobigwig - - gem3-mapper - - ucsc-bedtobigbed - - libgcc-ng >=12 - - bzip2 >=1.0.8,<2.0a0 - - samtools - - bs_call - - multiprocess - - with channels: - - conda-forge - - bioconda - - defaults - - The reported errors are: - - Encountered problems while solving: - - - package ucsc-wigtobigwig-366-h5eb252a_0 requires openssl >=1.0.2o,<1.0.3a, but none of the providers can be installed - - - - During handling of the above exception, another exception occurred: - - Traceback (most recent call last): - File "/opt/conda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2115, in build - create_build_envs(top_level_pkg, notest) - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 1993, in create_build_envs - raise e - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 1972, in create_build_envs - environ.get_install_actions(m.config.test_prefix, - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 150, in mamba_get_install_actions - raise err - conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("ucsc-wigtobigwig==366=h5eb252a_0"), MatchSpec("openssl[version='>=1.0.2o,<1.0.3a']")} -# Last 100 lines of the build log. diff --git a/recipes/gembs/meta.yaml b/recipes/gembs/meta.yaml index b27921235bbf6..1c116b37d5801 100644 --- a/recipes/gembs/meta.yaml +++ b/recipes/gembs/meta.yaml @@ -13,7 +13,7 @@ source: - clock.patch build: - number: 7 + number: 8 # This should probably be split into gemBS-tools and a noarch: python gemBS package skip: true # [py < 37] diff --git a/recipes/gemf_favites/build.sh b/recipes/gemf_favites/build.sh new file mode 100644 index 0000000000000..f3ceea26ca6f1 --- /dev/null +++ b/recipes/gemf_favites/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +mkdir -p ${PREFIX}/bin +make CC=${CC} +cp GEMF GEMF_FAVITES.py ${PREFIX}/bin diff --git a/recipes/gemf_favites/meta.yaml b/recipes/gemf_favites/meta.yaml new file mode 100644 index 0000000000000..12f628887e00f --- /dev/null +++ b/recipes/gemf_favites/meta.yaml @@ -0,0 +1,39 @@ +{% set version = "1.0.3" %} + +package: + name: gemf_favites + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage('gemf_favites', max_pin="x.x.x") }} + +source: + url: https://github.com/niemasd/GEMF/archive/refs/tags/{{ version }}.tar.gz + sha256: 6a342852ff196501022d8814eb86a76fcb1d4ef1c2405ef24e8f4c79e2e1edf5 + +requirements: + build: + - {{ compiler('c') }} + - make + run: + - python >=3.7 + +about: + home: https://github.com/niemasd/GEMF + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE + summary: User-friendly epidemic simulations + dev_url: https://github.com/niemasd/GEMF + +test: + commands: + - GEMF_FAVITES.py -h | grep "usage:" + +extra: + identifiers: + - biotools:gemf_favites + recipe-maintainers: + - niemasd diff --git a/recipes/gemini/build_failure.linux-64.yaml b/recipes/gemini/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..3896619b45abd --- /dev/null +++ b/recipes/gemini/build_failure.linux-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: 164abbf7c3e0bc8ad245a0a1a02165aa8d1e49c340817b6a97e60bdb6223dd48 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: dependency issue +log: |2- + [32mnumpy 1.10* [0m, which can be installed; + [32mpython 2.7* [0m, which can be installed (as previously explained); + [32mpandas [0.17.0|0.17.1|...|0.19.2][0m would require + [32mnumpy 1.10* [0m, which can be installed; + [32mpython [3.4* |3.5* ][0m, which can be installed (as previously explained); + [32mpandas [0.17.0|0.17.1|...|0.20.3][0m would require + [32mnumpy 1.11* [0m, which can be installed; + [32mpython [2.7* |3.6* ][0m, which can be installed (as previously explained); + [32mpandas [0.17.0|0.17.1|...|0.20.3][0m would require + [32mnumpy 1.11* [0m, which can be installed; + [32mpython [3.4* |3.5* ][0m, which can be installed (as previously explained); + [32mpandas [0.19.2|0.20.0|0.20.1|0.20.2|0.20.3][0m would require + [32mnumpy 1.12* [0m, which can be installed; + [32mpython [2.7* |3.6* ][0m, which can be installed (as previously explained); + [32mpandas [0.19.2|0.20.0|0.20.1|0.20.2|0.20.3][0m would require + [32mnumpy 1.12* [0m, which can be installed; + [32mpython 3.5* [0m, which can be installed (as previously explained); + [32mpandas [0.20.2|0.20.3][0m would require + [32mnumpy 1.13* [0m, which can be installed; + [32mpython [2.7* |3.6* ][0m, which can be installed (as previously explained); + [32mpandas [0.20.2|0.20.3][0m would require + [32mnumpy 1.13* [0m, which can be installed; + [32mpython 3.5* [0m, which can be installed (as previously explained); + [32mpandas [0.20.3|0.21.0|...|0.23.4][0m would require + [32mpython [3.4* |3.5* |>=3.5,<3.6.0a0 ][0m, which can be installed (as previously explained); + [31mpandas [0.23.4|0.24.0|...|0.25.3][0m conflicts with any installable versions previously reported; + [32mpandas [0.24.2|0.25.3][0m would require + [32mpython_abi * *_cp38[0m, which can be installed; + [32mpython_abi 3.7.* *_cp37m[0m, which can be installed; + [32mbcolz 1.2.1[0m would require + [32mpandas <1 [0m with the potential options + [32mpandas [0.20.3|0.21.0|...|0.25.3][0m, which can be installed (as previously explained); + [32mpandas [0.17.0|0.17.1|...|0.19.2][0m, which can be installed (as previously explained); + [32mpandas [0.17.0|0.17.1|...|0.19.2][0m, which can be installed (as previously explained); + [32mpandas [0.17.0|0.17.1|...|0.20.3][0m, which can be installed (as previously explained); + [32mpandas [0.17.0|0.17.1|...|0.20.3][0m, which can be installed (as previously explained); + [32mpandas [0.19.2|0.20.0|0.20.1|0.20.2|0.20.3][0m, which can be installed (as previously explained); + [32mpandas [0.19.2|0.20.0|0.20.1|0.20.2|0.20.3][0m, which can be installed (as previously explained); + [32mpandas [0.20.2|0.20.3][0m, which can be installed (as previously explained); + [32mpandas [0.20.2|0.20.3][0m, which can be installed (as previously explained); + [32mpandas [0.20.3|0.21.0|...|0.23.4][0m, which can be installed (as previously explained); + [31mpandas [0.23.4|0.24.0|...|0.25.3][0m conflicts with any installable versions previously reported; + [32mpandas [0.24.2|0.25.3][0m, which can be installed (as previously explained); + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mbcolz 1.2.1[0m would require + [32mpython_abi * *_cp38[0m, which can be installed; + [31mnumpy 1.23.* [0m is not installable because there are no viable options + [31mnumpy [1.23.0|1.23.1|...|1.23.5][0m would require + [31mpython_abi 3.10.* *_cp310[0m, which conflicts with any installable versions previously reported; + [31mnumpy [1.23.0|1.23.1|...|1.23.5][0m would require + [32mpython_abi 3.8 *_pypy38_pp73[0m, which can be installed; + [31mnumpy [1.23.0|1.23.1|...|1.23.5][0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [31mnumpy [1.23.0|1.23.1|...|1.23.5][0m would require + [31mpython_abi 3.9.* *_cp39[0m, which conflicts with any installable versions previously reported; + [31mnumpy [1.23.0|1.23.1|...|1.23.5][0m would require + [32mpython_abi 3.9 *_pypy39_pp73[0m, which can be installed; + [31mnumpy [1.23.4|1.23.5][0m would require + [31mpython_abi 3.11.* *_cp311[0m, which conflicts with any installable versions previously reported; + [32mpandas[0m is installable with the potential options + [32mpandas [0.20.3|0.21.0|...|0.25.3][0m, which can be installed (as previously explained); + [32mpandas [0.17.0|0.17.1|...|0.19.2][0m, which can be installed (as previously explained); + [32mpandas [0.17.0|0.17.1|...|0.19.2][0m, which can be installed (as previously explained); + [32mpandas [0.17.0|0.17.1|...|0.20.3][0m, which can be installed (as previously explained); + [32mpandas [0.17.0|0.17.1|...|0.20.3][0m, which can be installed (as previously explained); + [32mpandas [0.19.2|0.20.0|0.20.1|0.20.2|0.20.3][0m, which can be installed (as previously explained); + [32mpandas [0.19.2|0.20.0|0.20.1|0.20.2|0.20.3][0m, which can be installed (as previously explained); + [32mpandas [0.20.2|0.20.3][0m, which can be installed (as previously explained); + [32mpandas [0.20.2|0.20.3][0m, which can be installed (as previously explained); + [32mpandas [0.20.3|0.21.0|...|0.23.4][0m, which can be installed (as previously explained); + [31mpandas [0.23.4|0.24.0|...|0.25.3][0m conflicts with any installable versions previously reported; + [32mpandas [0.24.2|0.25.3][0m, which can be installed (as previously explained); + [31mpandas [1.0.0|1.0.1|...|2.2.2][0m conflicts with any installable versions previously reported; + [31mpandas [1.0.0|1.0.1][0m would require + [32mpython_abi * *_cp38[0m, which can be installed; + [31mpandas [2.1.1|2.1.2|...|2.2.2][0m would require + [31mpython_abi 3.12.* *_cp312[0m, which conflicts with any installable versions previously reported; + [32mpysam >=0.22 [0m is installable with the potential options + [31mpysam [0.22.0|0.22.1][0m would require + [31mpython_abi 3.10.* *_cp310[0m, which conflicts with any installable versions previously reported; + [32mpysam [0.22.0|0.22.1][0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [31mpysam [0.22.0|0.22.1][0m would require + [31mpython_abi 3.9.* *_cp39[0m, which conflicts with any installable versions previously reported; + [31mpysam 0.22.1[0m would require + [31mpython_abi 3.11.* *_cp311[0m, which conflicts with any installable versions previously reported; + [31mpysam 0.22.1[0m would require + [31mpython_abi 3.12.* *_cp312[0m, which conflicts with any installable versions previously reported; + [31mpysam 0.22.1[0m would require + [31mopenssl >=3.3.1,<4.0a0 [0m, which conflicts with any installable versions previously reported; + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [31mpython 3.11.* *_cpython[0m is not installable because there are no viable options + [31mpython [3.11.0|3.11.1|...|3.11.9][0m would require + [31mpython_abi 3.11.* *_cp311[0m, which conflicts with any installable versions previously reported; + [31mpython 3.11.0[0m would require + [32mopenssl >=1.1.1q,<1.1.2a [0m, which can be installed; + [31mpython_abi 3.11.* *_cp311[0m, which conflicts with any installable versions previously reported; + [31mpython 3.11.0[0m would require + [32mopenssl >=1.1.1s,<1.1.2a [0m, which can be installed; + [31mpython_abi 3.11.* *_cp311[0m, which conflicts with any installable versions previously reported. +# Last 100 lines of the build log. diff --git a/recipes/gemini/build_failure.linux-aarch64.yaml b/recipes/gemini/build_failure.linux-aarch64.yaml new file mode 100644 index 0000000000000..a05c100f92a4f --- /dev/null +++ b/recipes/gemini/build_failure.linux-aarch64.yaml @@ -0,0 +1,105 @@ +recipe_sha: 164abbf7c3e0bc8ad245a0a1a02165aa8d1e49c340817b6a97e60bdb6223dd48 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: dependency issue +log: |2- + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-aarch64: {MatchSpec("bcolz")} + Encountered problems while solving: + - nothing provides requested bcolz + + Could not solve for environment specs + The following package could not be installed + [31mbcolz[0m does not exist (perhaps a typo or a missing channel). + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-aarch64: {MatchSpec("bcolz")} + Encountered problems while solving: + - nothing provides requested bcolz + + Could not solve for environment specs + The following package could not be installed + [31mbcolz[0m does not exist (perhaps a typo or a missing channel). + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2308, in build + output_metas = expand_outputs([(m, need_source_download, need_reparse_in_env)]) + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 916, in expand_outputs + for output_dict, m in deepcopy(_m).get_output_metadata_set( + File "/opt/conda/lib/python3.10/site-packages/conda_build/metadata.py", line 2737, in get_output_metadata_set + conda_packages = finalize_outputs_pass( + File "/opt/conda/lib/python3.10/site-packages/conda_build/metadata.py", line 1095, in finalize_outputs_pass + fm = finalize_metadata( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 650, in finalize_metadata + build_unsat, host_unsat = add_upstream_pins( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 491, in add_upstream_pins + host_deps, host_unsat, extra_run_specs_from_host = _read_upstream_pin_files( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 444, in _read_upstream_pin_files + deps, precs, unsat = get_env_dependencies( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 156, in get_env_dependencies + precs = environ.get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-aarch64: {MatchSpec("bcolz")} + Encountered problems while solving: + - nothing provides requested bcolz + + Could not solve for environment specs + The following package could not be installed + [31mbcolz[0m does not exist (perhaps a typo or a missing channel). +# Last 100 lines of the build log. diff --git a/recipes/gemini/build_failure.osx-64.yaml b/recipes/gemini/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..1526ea63e4bf2 --- /dev/null +++ b/recipes/gemini/build_failure.osx-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: 164abbf7c3e0bc8ad245a0a1a02165aa8d1e49c340817b6a97e60bdb6223dd48 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: dependency issue +log: |2- + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 650, in finalize_metadata + build_unsat, host_unsat = add_upstream_pins( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 491, in add_upstream_pins + host_deps, host_unsat, extra_run_specs_from_host = _read_upstream_pin_files( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 444, in _read_upstream_pin_files + deps, precs, unsat = get_env_dependencies( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 156, in get_env_dependencies + precs = environ.get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {MatchSpec("python_abi=3.10[build=*_cp310]"), MatchSpec("numpy==1.26.0=py310h0171094_0")} + Encountered problems while solving: + - package numpy-1.26.0-py310h0171094_0 requires python_abi 3.10.* *_cp310, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + bcolz is installable with the potential options + bcolz [1.1.2|1.2.1] would require + python_abi * *_cp27m, which can be installed; + bcolz [1.1.2|1.2.1] would require + python_abi * *_cp35m, which can be installed; + bcolz [1.1.2|1.2.1] would require + python_abi * *_cp36m, which can be installed; + bcolz 1.2.1 would require + python_abi * *_cp37m, which can be installed; + bcolz 1.2.1 would require + pandas <1 with the potential options + pandas 0.20.3 would require + python_abi * *_cp34m, which can be installed; + pandas [0.17.0|0.17.1|...|0.19.2] would require + numpy 1.10* , which can be installed; + pandas [0.17.0|0.17.1|...|0.20.3] would require + numpy 1.11* , which can be installed; + pandas [0.19.2|0.20.0|0.20.1|0.20.2|0.20.3] would require + numpy 1.12* , which can be installed; + pandas [0.20.2|0.20.3] would require + numpy 1.13* , which can be installed; + pandas [0.20.3|0.21.0|...|0.24.2] would require + python_abi * *_cp27m, which can be installed; + pandas [0.20.3|0.21.0|...|0.23.4] would require + python_abi * *_cp35m, which can be installed; + pandas [0.20.3|0.21.0|...|1.0.1] would require + python_abi * *_cp36m, which can be installed; + pandas [0.23.4|0.24.0|...|1.0.1] would require + python_abi * *_cp37m, which can be installed; + pandas [0.24.2|0.25.3|1.0.0|1.0.1] would require + python_abi * *_cp38, which can be installed; + python_abi 3.7.* *_cp37m, which can be installed; + bcolz 1.2.1 would require + pandas <1 , which can be installed (as previously explained); + python_abi 3.8.* *_cp38, which can be installed; + bcolz 1.2.1 would require + python_abi * *_cp38, which can be installed; + numpy 1.26.* is not installable because there are no viable options + numpy [1.26.0|1.26.2|1.26.3|1.26.4] would require + python_abi 3.10.* *_cp310, which conflicts with any installable versions previously reported; + numpy [1.26.0|1.26.2|1.26.3|1.26.4] would require + python_abi 3.11.* *_cp311, which conflicts with any installable versions previously reported; + numpy [1.26.0|1.26.2|1.26.3|1.26.4] would require + python_abi 3.12.* *_cp312, which conflicts with any installable versions previously reported; + numpy [1.26.0|1.26.2|1.26.3|1.26.4] would require + python_abi 3.9 *_pypy39_pp73, which conflicts with any installable versions previously reported; + numpy [1.26.0|1.26.2|1.26.3|1.26.4] would require + python_abi 3.9.* *_cp39, which conflicts with any installable versions previously reported; + pandas is installable with the potential options + pandas 0.20.3, which can be installed (as previously explained); + pandas [0.17.0|0.17.1|...|0.19.2], which can be installed (as previously explained); + pandas [0.17.0|0.17.1|...|0.20.3], which can be installed (as previously explained); + pandas [0.19.2|0.20.0|0.20.1|0.20.2|0.20.3], which can be installed (as previously explained); + pandas [0.20.2|0.20.3], which can be installed (as previously explained); + pandas [0.20.3|0.21.0|...|0.24.2], which can be installed (as previously explained); + pandas [0.20.3|0.21.0|...|0.23.4], which can be installed (as previously explained); + pandas [0.20.3|0.21.0|...|1.0.1], which can be installed (as previously explained); + pandas [0.23.4|0.24.0|...|1.0.1], which can be installed (as previously explained); + pandas [0.24.2|0.25.3|1.0.0|1.0.1], which can be installed (as previously explained); + pandas [1.0.2|1.0.3|...|2.2.2] conflicts with any installable versions previously reported; + pandas [2.1.1|2.1.2|...|2.2.2] would require + python_abi 3.12.* *_cp312, which conflicts with any installable versions previously reported. +# Last 100 lines of the build log. diff --git a/recipes/gemini/meta.yaml b/recipes/gemini/meta.yaml index 58e594f5761c1..52bc0f9959a2c 100644 --- a/recipes/gemini/meta.yaml +++ b/recipes/gemini/meta.yaml @@ -6,9 +6,10 @@ package: version: {{ version }} build: - number: 5 - skip: True # [not py27] + number: 7 script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} source: url: https://github.com/arq5x/gemini/archive/v{{ version }}.tar.gz @@ -24,7 +25,6 @@ requirements: - bcolz - bottle - bx-python - - cyordereddict - cython - cyvcf2 >0.6.5 - geneimpacts @@ -38,7 +38,7 @@ requirements: - openpyxl - pandas - pybedtools - - pysam + - pysam >=0.22 - pyyaml - scipy - unidecode @@ -49,7 +49,6 @@ requirements: - bcolz - bottle - bx-python - - cyordereddict - cyvcf2 >0.6.5 - geneimpacts - inheritance @@ -63,7 +62,7 @@ requirements: - openpyxl - pandas - pybedtools - - pysam + - pysam >=0.22 - pyyaml - scipy - unidecode @@ -84,6 +83,8 @@ about: summary: a lightweight db framework for disease and population genetics. extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:GEMINI - doi:10.1371/journal.pcbi.1003153 diff --git a/recipes/gempipe/meta.yaml b/recipes/gempipe/meta.yaml new file mode 100755 index 0000000000000..942b8f4e376b1 --- /dev/null +++ b/recipes/gempipe/meta.yaml @@ -0,0 +1,75 @@ +{% set version = "1.35.4" %} + +package: + name: "gempipe" + version: {{ version }} + + +source: + url: https://github.com/lazzarigioele/gempipe/archive/v{{ version }}.tar.gz + sha256: 10bb83284848f8c21baa4069150e65e5a092771b5c5b6396d1e58c33431960a1 + + +build: + number: 0 + noarch: python + script: + - {{ PYTHON }} -m pip install . -vv --no-deps + entry_points: + - gempipe = gempipe:main + run_exports: + - {{ pin_subpackage('gempipe', max_pin="x") }} + + +requirements: + host: + - python >=3.9 + - pip + - poetry >=1.7.1 + - poetry-core >=1.8.1 + - ipython >=8.7.0 + run: + - python >=3.9 + - ipython >=8.7.0 + - cobra >=0.29 + - pandas >=2.0.0 + - openpyxl >=3.1.0 + - ncbi-genome-download >=0.3.3 + - biopython >=1.80 + - pigz >=2.5 + - prodigal >=2.6.3 + - prokka >=1.14.6 + - busco >=5.4.0 + - seqkit >=2.2.0 + - cd-hit >=4.8.1 + - blast >=2.12.0 + - diamond >=2.0.15 + - eggnog-mapper >=2.1.7 + - matplotlib-base >=3.7.0 + - seaborn >=0.13.0 + + + +test: + imports: + - gempipe + commands: + - gempipe --help + - gempipe recon --help + - gempipe derive --help + - gempipe autopilot --help + + +about: + home: "https://github.com/lazzarigioele/gempipe" + summary: 'gempipe is a tool for the reconstruction of strain-specific genome-scale metabolic models.' + license: GPL-3.0-only + license_file: LICENSE.txt + doc_url: "https://gempipe.readthedocs.io/" + dev_url: "https://github.com/lazzarigioele/gempipe" + + +extra: + recipe-maintainers: + - lazzarigioele + diff --git a/recipes/genbank/meta.yaml b/recipes/genbank/meta.yaml new file mode 100644 index 0000000000000..cf70bd241712c --- /dev/null +++ b/recipes/genbank/meta.yaml @@ -0,0 +1,37 @@ +{% set name = "genbank" %} +{% set version = "0.110" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/genbank-{{ version }}.tar.gz + sha256: f9a6ba243d62934e9e5ed283d8b475ab3dd9a3760ba329a054d5f6df54a8ec45 + +build: + number: 1 + skip: True # [py < 36] + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation + run_exports: + - {{ pin_subpackage('genbank', max_pin="x.x") }} + +requirements: + build: + - {{ compiler('c') }} + host: + - python + - pip + run: + - python + +test: + imports: + - genbank + +about: + home: https://github.com/deprekate/genbank + summary: Code to work with Genbank files + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE diff --git a/recipes/gencove/meta.yaml b/recipes/gencove/meta.yaml index 4f89bdef799e2..3e73bdf53321c 100644 --- a/recipes/gencove/meta.yaml +++ b/recipes/gencove/meta.yaml @@ -1,20 +1,22 @@ -{% set version = "2.8.1" %} -{% set sha256 = "bcda1ddbea0bf4b14e343c6e11e88755f41b8fd1df9225ac55993b438bb45c32" %} +{% set name = "gencove" %} +{% set version = "2.21.0" %} +{% set sha256 = "805be8b0c0f3e8d189bca16a805649e9594d455c0fa183ecd856ee3208287258" %} package: - name: gencove - version: '{{ version }}' + name: {{ name }} + version: {{ version }} source: url: https://github.com/gncv/gencove-cli/archive/refs/tags/{{ version }}.tar.gz - sha256: '{{ sha256 }}' + sha256: {{ sha256 }} build: noarch: python number: 0 - script: '{{ PYTHON }} -m pip install . --use-pep517 --no-deps --ignore-installed --no-cache-dir -vvv' + script: '{{ PYTHON }} -m pip install . --use-pep517 --no-deps --no-build-isolation --no-cache-dir -vvv' entry_points: - gencove = gencove.cli:cli + - d = gencove.command.explorer.data.cli:data run_exports: - {{ pin_subpackage("gencove", max_pin="x") }} @@ -23,29 +25,32 @@ requirements: - python >=3.7 - pip - pytest-runner - - setuptools run: - python >=3.7 - python-dateutil >=2.2.0 - six >=1.5 - click >=7.0 + - click-default-group >=1.2.4 - requests >=2.19.1 - boto3 >=1.17.97 - progressbar2 ==3.55.0 - - backoff ==1.11.0 - - pydantic ==1.9.2 - - pytest-runner + - backoff <=2.2.1 + - pydantic ==1.10.13 + - sh >=1.14.3 test: - commands: - - gencove --help + imports: + - gencove + #commands: + #- gencove --help about: home: https://docs.gencove.com - license: Apache-2.0 + license: "Apache-2.0" + license_family: APACHE license_file: LICENSE - summary: Gencove is a high-throughput, cost-effective platform for genome sequencing and analysis. This command-line interface can be used to easily access the Gencove API. - dev_url: https://github.com/gncv/gencove-cli + summary: "Gencove is a high-throughput, cost-effective platform for genome sequencing and analysis. This command-line interface can be used to easily access the Gencove API." + dev_url: "https://github.com/gncv/gencove-cli" doc_url: https://docs.gencove.com extra: diff --git a/recipes/genepop/build.sh b/recipes/genepop/build.sh index f1d40f8d8ca86..9c2072751c7f5 100644 --- a/recipes/genepop/build.sh +++ b/recipes/genepop/build.sh @@ -1,7 +1,10 @@ #!/bin/bash +set -xe + cd src -g++ -DNO_MODULES -o Genepop GenepopS.cpp -O3 +${CXX} -DNO_MODULES -o Genepop GenepopS.cpp -O3 -std=c++11 mkdir -p $PREFIX/bin cp Genepop $PREFIX/bin +chmod 0755 $PREFIX/bin/Genepop diff --git a/recipes/genepop/meta.yaml b/recipes/genepop/meta.yaml index b4c29d690de79..0299e1d1d56bc 100644 --- a/recipes/genepop/meta.yaml +++ b/recipes/genepop/meta.yaml @@ -1,9 +1,13 @@ +{% set genepopS_version = "4.8.2" %} +{% set r_genepop_version = "1.2.2" %} +{% set sha256 = "d8ca49a9c11e267305a85a97a8b2d6ada39d814b474a4d58d2c54edf66fb75e9" %} + package: name: genepop - version: "4.7.0" + version: "{{ genepopS_version }}" # After talking with the author, we decided that, for existing genepop # versions, we would take the out from the exinsting R packages. -# So, the R package is 1.0.5 but Genepop is 4.7.0. People do not really know +# So, the R package is 1.2.2 but Genepop is 4.8.2. People do not really know # the R package version. In the future (hopefully) a standalone version of # genepop will be provided (actually it is provided and always was, but # the author did not kept old versions, just replaced the source code zip). @@ -12,23 +16,29 @@ package: build: number: 0 + run_exports: + - {{ pin_subpackage("genepop", max_pin="x") }} source: - # We will use CRAN as a repo for Genepop that is versioned - url: https://cran.r-project.org/src/contrib/genepop_1.0.5.tar.gz - sha256: 986d20c2e6c0325da8f8aad57b37b796681566388067644bc452ba80d957439f + url: https://github.com/cran/genepop/archive/refs/tags/{{ r_genepop_version }}.tar.gz + sha256: {{ sha256 }} requirements: build: - - {{ compiler('c') }} - run: + - {{ compiler('cxx') }} about: - home: http://kimura.univ-montp2.fr/~rousset/Genepop.htm - license: CeCILL - summary: The Genepop population genetics package. + home: https://f-rousset.r-universe.dev/genepop + license: CeCILL-2 + summary: Population Genetic Data Analysis package. + dev_url: https://github.com/cran/genepop + doc_url: https://f-rousset.r-universe.dev/genepop test: commands: - # Expected output is the version and an error message - - echo does_not_exist.txt | Genepop | grep "Genepop version" + # Check for existence and exec bit. The program is interactive and it is hard to exit from it + - test -x ${PREFIX}/bin/Genepop + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/generax/build.sh b/recipes/generax/build.sh index 5b2e98394ac02..7ec5e9ac9e71f 100644 --- a/recipes/generax/build.sh +++ b/recipes/generax/build.sh @@ -1,10 +1,12 @@ #!/bin/bash +set -xe + # pthreads mkdir build pushd build cmake .. - make + make -j ${CPU_COUNT} install -d ${PREFIX}/bin install ../build/bin/generax ${PREFIX}/bin popd diff --git a/recipes/generax/meta.yaml b/recipes/generax/meta.yaml index 6463eb3db5c99..d3bd3bbf28fd4 100644 --- a/recipes/generax/meta.yaml +++ b/recipes/generax/meta.yaml @@ -1,6 +1,7 @@ {% set name = "generax" %} -{% set version = "2.0.4" %} - +{% set version = "2.1.3" %} + + package: name: {{ name|lower }} version: {{ version }} @@ -9,12 +10,11 @@ source: git_url: https://github.com/benoitmorel/{{ name|lower }}.git git_rev: {{ version }} sha256: unused - patches: - - patch build: - number: 3 - + number: 1 + run_exports: + - {{ pin_subpackage('generax', max_pin="x") }} requirements: build: - make @@ -33,17 +33,19 @@ test: about: home: https://github.com/benoitmorel/generax - license: AGPL-3 + license: AGPL-3.0-only license_family: AGPL license_file: LICENSE.txt summary: "GeneRax: a parallel tool for species tree-aware maximum likelihood based gene tree inference under gene duplication, transfer, and loss." extra: - container: - # openmpi needs ssh client - extended-base: true - skip-lints: - # uses submodules - - uses_vcs_url - identifiers: - - doi:10.1101/779066 + additional-platforms: + - linux-aarch64 + container: + # openmpi needs ssh client + extended-base: true + skip-lints: + # uses submodules + - uses_vcs_url + identifiers: + - doi:10.1101/779066 diff --git a/recipes/generax/patch b/recipes/generax/patch deleted file mode 100644 index 20728f85402ef..0000000000000 --- a/recipes/generax/patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/core/IO/Model.hpp b/src/core/IO/Model.hpp -index 0eb6ce1..3a16942 100644 ---- a/src/core/IO/Model.hpp -+++ b/src/core/IO/Model.hpp -@@ -6,6 +6,7 @@ - - #include - #include -+#include - extern "C" { - #include - #include diff --git a/recipes/genewalk/meta.yaml b/recipes/genewalk/meta.yaml index f54b7778327a2..2335055b20893 100644 --- a/recipes/genewalk/meta.yaml +++ b/recipes/genewalk/meta.yaml @@ -1,5 +1,5 @@ {% set name = "genewalk" %} -{% set version = "1.6.1" %} +{% set version = "1.6.3" %} package: name: "{{ name|lower }}" @@ -7,14 +7,16 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: "847cabfe7fea2efe869f314b7a721fe02ba85df35cf992dade8f74891052b777" + sha256: "41fc63a6a3d2637ffea60b7256374852b92f70889a3a0ac823508b44fce3f347" build: number: 0 noarch: python entry_points: - genewalk = genewalk.cli:main - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + run_exports: + - {{ pin_subpackage('genewalk', max_pin="x") }} requirements: host: @@ -27,9 +29,9 @@ requirements: - numpy - pandas - python - - scipy >=1.3.0 + - scipy <1.13 - matplotlib-base - - seaborn + - seaborn-base - plotly >=4.0.0 test: diff --git a/recipes/genmod/meta.yaml b/recipes/genmod/meta.yaml index 1cd3b5465f5b2..4bf3f662ad0da 100644 --- a/recipes/genmod/meta.yaml +++ b/recipes/genmod/meta.yaml @@ -1,5 +1,5 @@ {% set name = "genmod" %} -{% set version = "3.8.1" %} +{% set version = "3.8.3" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: d21f072f6c4a34479bc0f1633bd7a15b04a04c87f63f28457dce58615a0a7f14 + sha256: 97a411f3f014557cf57aed9cc18e55e097ab7c54b191eb7995c10dd97d4bdeaf build: number: 0 @@ -16,22 +16,15 @@ build: - {{ pin_subpackage('genmod', max_pin="x") }} entry_points: - genmod = genmod.commands.base:cli - script: "{{ PYTHON }} -m pip install . --no-deps -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" requirements: host: - - click <7 - - configobj - - extract_vcf >=0.4.2 - - interval_tree >=0.3.2 - - intervaltree - - ped_parser >=1.6.2 - pip - - pytabix - - pytest - - python + - python 3.8.* + - pypandoc <1.8 run: - - click <7 + - click >=8.1.3 - configobj - extract_vcf >=0.4.2 - interval_tree >=0.3.2 @@ -39,7 +32,8 @@ requirements: - ped_parser >=1.6.2 - pytabix - pytest - - python + - python 3.8.* + - vcftoolbox >=1.5.1 test: imports: @@ -61,7 +55,7 @@ about: home: "http://github.com/moonso/genmod" license: MIT license_family: MIT - license_file: + license_file: LICENSE.txt summary: "Annotate genetic inheritance models in variant files" extra: diff --git a/recipes/genoboo/build.sh b/recipes/genoboo/build.sh index 76a76236e8b16..d42cfaa60bf28 100644 --- a/recipes/genoboo/build.sh +++ b/recipes/genoboo/build.sh @@ -11,17 +11,20 @@ export ARCH=$(uname -m) export HOME="$(mktemp -d)" # Install meteor here (instead of in npm run bundle) because we need to patch the install script -curl "https://install.meteor.com/?release=2.8.0" > meteor.sh +curl "https://install.meteor.com/?release=2.13.3" > meteor.sh chmod a+x meteor.sh sed -i.bak 's|PREFIX=|#PREFIX=|' meteor.sh ./meteor.sh +sed -i.bak 's/"preinstall".*/"preinstall":"",/g' package.json + npm install --unsafe-perm export PATH=$PATH:"$HOME/.meteor" # Now run the normal gnb install -METEOR_ALLOW_SUPERUSER=1 METEOR_DISABLE_OPTIMISTIC_CACHING=1 npm run bundle + +TOOL_NODE_FLAGS="--max-old-space-size=2048" METEOR_ALLOW_SUPERUSER=1 METEOR_DISABLE_OPTIMISTIC_CACHING=1 npm run bundle cp -R genoboo_v${PKG_VERSION}/* $outdir diff --git a/recipes/genoboo/meta.yaml b/recipes/genoboo/meta.yaml index c7ad9fc8ac572..5da66b8bdb3c3 100644 --- a/recipes/genoboo/meta.yaml +++ b/recipes/genoboo/meta.yaml @@ -1,6 +1,6 @@ {% set name = 'genoboo' %} -{% set version = '0.4.11' %} -{% set sha256 = '3511b73acccacd07cf15dc30f70fbb8907f65cefeb7caa82e63a9dda2dab664a' %} +{% set version = '0.4.16' %} +{% set sha256 = 'c676b320ddaecfea9993c4318fe19d253a1dfc3ec5afc65966e8826db0b848f1' %} package: name: {{ name|lower }} diff --git a/recipes/genoflu/meta.yaml b/recipes/genoflu/meta.yaml index 9b8cdc7c00314..4086881aa0d61 100644 --- a/recipes/genoflu/meta.yaml +++ b/recipes/genoflu/meta.yaml @@ -1,8 +1,8 @@ {% set user = "USDA-VS" %} {% set name = "GenoFLU" %} -{% set version = "1.01" %} -{% set sha256 = "c97ad073c2cf14f1c14f1a705ddc3817189c30f03239ba97b068a1ddab90ceb8" %} +{% set version = "1.03" %} +{% set sha256 = "fe814ff8e256b57e32a3398d4c16d449eb6222cbb02869bd876534484c5b070e" %} package: name: {{ name|lower }} @@ -11,6 +11,8 @@ package: build: number: 0 noarch: generic + run_exports: + - {{ pin_subpackage('genoflu', max_pin="x") }} source: url: https://github.com/{{ user }}/{{ name }}/archive/{{ version }}.tar.gz @@ -30,7 +32,7 @@ test: about: home: https://github.com/{{ user }}/{{ name }} - license: GPL3 + license: GPL-3.0-or-later license_file: LICENSE summary: Influenza data pipeline to automate genotyping assignment. - dev_url: https://github.com/USDA-VS/GenoFLU \ No newline at end of file + dev_url: https://github.com/USDA-VS/GenoFLU diff --git a/recipes/genomad/meta.yaml b/recipes/genomad/meta.yaml index 549b081d06dc8..d7cdc637c9c9d 100644 --- a/recipes/genomad/meta.yaml +++ b/recipes/genomad/meta.yaml @@ -1,5 +1,5 @@ {% set name = "genomad" %} -{% set version = "1.7.3" %} +{% set version = "1.8.1" %} package: name: "{{ name|lower }}" @@ -7,16 +7,16 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: a13387992eb1000d84587caed085c01eaaeb875fe6b8bffd3a251af02d2d2a4d + sha256: 34f867267529cdbb006332dc77f553f974deb07eaea0649b19bfdebea2bd9371 build: number: 0 noarch: python - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" entry_points: - genomad=genomad.cli:cli run_exports: - - {{ pin_subpackage("genomad", max_pin="x.x") }} + - {{ pin_subpackage("genomad", max_pin=None) }} requirements: host: @@ -28,13 +28,13 @@ requirements: - pyrodigal-gv >=0.3.1 - mmseqs2 =14.7e284 - aragorn - - keras >=2.7 + - keras >=2.7,<3 - numba >=0.57 - numpy >=1.21 - python-crfsuite - rich-click >=1.4 - taxopy >=0.4.0 - - tensorflow >=2.7 + - tensorflow >=2.7,<2.16 - xgboost >=1.6 test: @@ -48,3 +48,8 @@ about: license_file: LICENSE summary: "Identification of mobile genetic elements" dev_url: https://github.com/apcamargo/genomad/ + doc_url: https://portal.nersc.gov/genomad/ + +extra: + identifiers: + - biotools:genomad diff --git a/recipes/genomeconstellation/meta.yaml b/recipes/genomeconstellation/meta.yaml index 60cab47240dd5..daf405646d6a7 100644 --- a/recipes/genomeconstellation/meta.yaml +++ b/recipes/genomeconstellation/meta.yaml @@ -11,7 +11,7 @@ source: - makefile.patch build: - number: 4 + number: 5 requirements: build: diff --git a/recipes/genomedata/meta.yaml b/recipes/genomedata/meta.yaml index c79e56a3185bc..12a66928b7dc5 100644 --- a/recipes/genomedata/meta.yaml +++ b/recipes/genomedata/meta.yaml @@ -1,6 +1,6 @@ {% set name = "genomedata" %} -{% set version = "1.7.2" %} -{% set sha256 = "588efabd6a163af059e945aa6c638b9e9129ab46f27c4a35baafdbfb5f7edbbd" %} +{% set version = "1.7.3" %} +{% set sha256 = "308a2110ec14659f4a9e40d1515e5d9c95ebf808923f0cfbbe5cff4e7a8cce3c" %} package: name: {{ name|lower }} @@ -12,7 +12,7 @@ source: build: skip: True # [osx or py < 39] - number: 0 + number: 1 entry_points: - genomedata-close-data = genomedata._close_data:main - genomedata-erase-data = genomedata._erase_data:main @@ -32,7 +32,6 @@ build: requirements: build: - {{ compiler('c') }} - - hdf5 host: - pip - python @@ -46,7 +45,7 @@ requirements: - hdf5 - pytables >=3.4.3 - pybigwig - - path.py + - path - textinput - bedtools - ucsc-bigwigtobedgraph >=377 @@ -83,6 +82,8 @@ about: dev_url: https://github.com/hoffmangroup/genomedata extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:genomedata - doi:10.1093/bioinformatics/btq164 diff --git a/recipes/genomelake/meta.yaml b/recipes/genomelake/meta.yaml index f7f649f4da5ff..4067e2110783a 100644 --- a/recipes/genomelake/meta.yaml +++ b/recipes/genomelake/meta.yaml @@ -11,7 +11,7 @@ source: build: # bcolz hasn't been built for python 3.9+ skip: True # [py > 38] - number: 6 + number: 7 requirements: build: diff --git a/recipes/genomepy/meta.yaml b/recipes/genomepy/meta.yaml index f82088f838ea9..be6715605d58e 100644 --- a/recipes/genomepy/meta.yaml +++ b/recipes/genomepy/meta.yaml @@ -9,7 +9,7 @@ source: sha256: c550e32fbafd67ae4ce3792356459fd6658de70ab8820a735a8a815238643be9 build: - number: 1 + number: 2 noarch: python script: {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv run_exports: @@ -30,7 +30,7 @@ requirements: - filelock >=3.5 - loguru - mygene - - mysql-connector-python + - mysql-connector-python <=8.4.0 - norns >=0.1.6 - numpy - pandas diff --git a/recipes/genomescope2/meta.yaml b/recipes/genomescope2/meta.yaml index e3adffbfc2e7e..b69e08b29ae95 100644 --- a/recipes/genomescope2/meta.yaml +++ b/recipes/genomescope2/meta.yaml @@ -1,13 +1,18 @@ +{% set version = "2.0.1" %} + package: name: genomescope2 - version: "2.0" + version: {{ version }} source: - git_url: https://github.com/tbenavi1/genomescope2.0.git + url: https://github.com/tbenavi1/genomescope2.0/archive/refs/tags/v{{ version }}.tar.gz + sha256: 55a6dc4006ac3573d011558d5ee49a0f3c85593a5db944a548c0e6f4e5019f75 build: - number: 6 + number: 0 noarch: generic + run_exports: + - {{ pin_subpackage('genomescope2', max_pin="x.x") }} requirements: host: @@ -27,12 +32,9 @@ test: about: home: https://github.com/tbenavi1/genomescope2.0 - license: "Apache License, Version 2.0 (Apache-2.0)" + license: Apache-2.0 summary: "Reference-free profiling of polyploid genomes" extra: - skip-lints: - - uses_vcs_url - - missing_hash container: extended-base: True diff --git a/recipes/genometools-genometools/build.sh b/recipes/genometools-genometools/build.sh index 69fc98e90cf4c..7ca485d42ac66 100644 --- a/recipes/genometools-genometools/build.sh +++ b/recipes/genometools-genometools/build.sh @@ -9,7 +9,7 @@ if [[ "$(uname)" == Darwin ]]; then LIBS="LIBS=-lc" fi -make ${CAIRO_OPT} ${LIBS} errorcheck=no +make ${CAIRO_OPT} ${LIBS} errorcheck=no -j ${CPU_COUNT} export prefix=$PREFIX make ${CAIRO_OPT} install diff --git a/recipes/genometools-genometools/meta.yaml b/recipes/genometools-genometools/meta.yaml index dff4e1626ad6e..06e8cc51fe99b 100644 --- a/recipes/genometools-genometools/meta.yaml +++ b/recipes/genometools-genometools/meta.yaml @@ -11,8 +11,9 @@ source: sha256: {{ sha256 }} build: - skip: true # [py2k] - number: 0 + # distutils was removed from python 3.12 + skip: true # [py == 312 ] + number: 3 run_exports: - {{ pin_subpackage('genometools-genometools', max_pin="x") }} @@ -51,6 +52,8 @@ about: doc_url: http://genometools.org/documentation.html dev_url: https://github.com/genometools/genometools extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - notestaff identifiers: diff --git a/recipes/genomic_address_service/meta.yaml b/recipes/genomic_address_service/meta.yaml index 6eea935428e20..4e65403116784 100644 --- a/recipes/genomic_address_service/meta.yaml +++ b/recipes/genomic_address_service/meta.yaml @@ -1,6 +1,6 @@ {% set name = "genomic_address_service" %} -{% set version = "0.1.1" %} -{% set sha256 = "5aa088e063190561f09c8d5f66f54af5a2c7561e2ad24eaf41055e56331b2954" %} +{% set version = "0.1.2" %} +{% set sha256 = "c338cdca4d23730dc78725226d9ef2853b7aa63e3fc130359fab75cd2df3d34a" %} package: name: {{ name|lower }} @@ -12,7 +12,7 @@ source: build: - number: 1 + number: 0 noarch: python run_exports: - {{ pin_subpackage("genomic_address_service", max_pin="x.x") }} diff --git a/recipes/genotyphi/build.sh b/recipes/genotyphi/build.sh index c55dac43f810f..3d0a5d709d8f4 100644 --- a/recipes/genotyphi/build.sh +++ b/recipes/genotyphi/build.sh @@ -6,7 +6,7 @@ ln $PREFIX/bin/genotyphi.py $PREFIX/bin/genotyphi chmod +x $PREFIX/bin/genotyphi.py $PREFIX/bin/genotyphi # Add script for Mykrobe based analysis -wget -O parse_typhi_mykrobe.py https://github.com/katholt/genotyphi/raw/main/parse_typhi_mykrobe.py +wget -O parse_typhi_mykrobe.py https://raw.githubusercontent.com/typhoidgenomics/genotyphi/main/typhimykrobe/parse_typhi_mykrobe.py echo "#! /usr/bin/env python" > $PREFIX/bin/parse_typhi_mykrobe.py cat parse_typhi_mykrobe.py >> $PREFIX/bin/parse_typhi_mykrobe.py chmod 755 $PREFIX/bin/parse_typhi_mykrobe.py diff --git a/recipes/genotyphi/meta.yaml b/recipes/genotyphi/meta.yaml index c8a1d17676d4e..010e90af15eb0 100644 --- a/recipes/genotyphi/meta.yaml +++ b/recipes/genotyphi/meta.yaml @@ -7,12 +7,14 @@ package: version: {{ version }} source: - url: https://github.com/katholt/genotyphi/archive/v{{ version }}.tar.gz + url: https://github.com/typhoidgenomics/genotyphi/archive/v{{ version }}.tar.gz sha256: {{ sha256 }} build: noarch: python - number: 0 + number: 1 + run_exports: + - {{ pin_subpackage(name|lower, max_pin='x') }} requirements: host: @@ -30,7 +32,7 @@ test: - parse_typhi_mykrobe.py -h about: - home: https://github.com/katholt/genotyphi + home: https://github.com/typhoidgenomics/genotyphi license: GPL3 license_file: LICENSE summary: Assign genotypes to Salmonella Typhi genomes based on VCF files (mapped to Typhi CT18 reference genome) diff --git a/recipes/geofetch/meta.yaml b/recipes/geofetch/meta.yaml index b98bdafa490ec..fcbc65091e017 100644 --- a/recipes/geofetch/meta.yaml +++ b/recipes/geofetch/meta.yaml @@ -1,5 +1,5 @@ {% set name = "geofetch" %} -{% set version = "0.12.5" %} +{% set version = "0.12.7" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 350cad0e7117ae76087b229f1ea0191bebb3bff53d90484aa8cea117c16f812f + sha256: c7820852dcb5a619a510616b0ca80f402a6a2a60f95d081ea7e174b387ec3e36 build: number: 0 diff --git a/recipes/get_homologues/meta.yaml b/recipes/get_homologues/meta.yaml index 6146754cffe4e..0528198c7538b 100644 --- a/recipes/get_homologues/meta.yaml +++ b/recipes/get_homologues/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "3.6.2" %} -{% set sha256 = "882f5e94ad1ddcfec6b5ddf4502c946dbcf95a53adb3445a6aaf917ba6052cee" %} +{% set version = "3.7.1" %} +{% set sha256 = "eeb9361695cafc35a1b92b29b647874713f85641218b1de5cddca551d334fe9d" %} package: name: get_homologues diff --git a/recipes/get_mnv/get_mnv-aarch64.patch b/recipes/get_mnv/get_mnv-aarch64.patch new file mode 100644 index 0000000000000..58564ecf1a63e --- /dev/null +++ b/recipes/get_mnv/get_mnv-aarch64.patch @@ -0,0 +1,11 @@ +--- Cargo.toml.orig 2024-10-07 11:42:31.332000000 +0000 ++++ Cargo.toml 2024-10-07 11:40:19.716000000 +0000 +@@ -12,7 +12,7 @@ + clap = { version = "4.0.32", features = ["derive"] } + env_logger = "0.10" + log = "0.4" +-rust-htslib = { version = "0.37.0", default-features = false, features = ["static"] } ++rust-htslib = { version = "0.47.0", default-features = false, features = ["static"] } + serde = { version = "1.0", features = ["derive"] } + csv = "1.1" + protein-translate = "0.2.0" diff --git a/recipes/get_mnv/meta.yaml b/recipes/get_mnv/meta.yaml new file mode 100644 index 0000000000000..c3415c69574be --- /dev/null +++ b/recipes/get_mnv/meta.yaml @@ -0,0 +1,84 @@ +{% set name = "get_mnv" %} +{% set version = "1.0.0" %} +{% set sha256 = "b9ba6fe1a5f5f73afa98cde9e348f7861d44690f795338816a8a0724a66e1aa8" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://github.com/PathoGenOmics-Lab/{{ name }}/archive/refs/tags/{{ version }}.tar.gz" + sha256: "{{ sha256 }}" + patches: + - get_mnv-aarch64.patch # [aarch64] + +build: + number: 1 + script: | + set -xe + export LANG=C.UTF-8 + export LC_ALL=C.UTF-8 + export RUST_BACKTRACE=1 + export OPENSSL_NO_VENDOR=1 + export OPENSSL_DIR=$PREFIX + export OPENSSL_INCLUDE_DIR=$PREFIX/include + export OPENSSL_LIB_DIR=$PREFIX/lib + export CURL_STATIC_SSL=1 + export CURL_SYS_STATIC=1 + #export CARGO_NET_OFFLINE=true + export HTS_LIB_DIR=$PREFIX/lib + export HTS_INCLUDE_DIR=$PREFIX/include + export LIBCLANG_PATH=$PREFIX/lib # [linux and aarch64] + export CPLUS_INCLUDE_PATH=$PREFIX/include # [linux and aarch64] + export HTS_STATIC=1 + export HTS_SYS_BUNDLED=0 + cargo install --no-track --locked --verbose --root "${PREFIX}" --path . + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + +requirements: + build: + - {{ compiler('rust') }} + - pkg-config + host: + - openssl + - curl + - htslib + - bzip2 + - xz + - zlib + - clangdev >=16,<17 # [linux and aarch64] + + run: + - {{ pin_compatible('openssl') }} + - {{ pin_compatible('curl') }} + - {{ pin_compatible('htslib') }} + - {{ pin_compatible('bzip2') }} + - {{ pin_compatible('xz') }} + - {{ pin_compatible('zlib') }} + +test: + commands: + - get_mnv --help + - get_mnv --version + +about: + home: "https://github.com/PathoGenOmics-Lab/get_mnv" + license: "GPL-3.0-or-later" + license_family: GPL3 + license_file: LICENSE + summary: "Tool to identify Multi-Nucleotide Variants (MNVs) in genomic sequences." + description: | + get_MNV is a tool designed to identify Multi-Nucleotide Variants (MNVs) within the same codon in genomic sequences, providing more accurate annotation for genomic data. + doc_url: "https://github.com/PathoGenOmics-Lab/get_mnv" + dev_url: "https://github.com/PathoGenOmics-Lab/get_mnv" + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + recipe-maintainers: + - PathoGenOmics-Lab + categories: + - Genomics + - Variant Analysis \ No newline at end of file diff --git a/recipes/get_orfs/build.sh b/recipes/get_orfs/build.sh new file mode 100644 index 0000000000000..acb1c63caeec0 --- /dev/null +++ b/recipes/get_orfs/build.sh @@ -0,0 +1,7 @@ +#!/bin/bash +mkdir release && pushd release +cmake -DCMAKE_BUILD_TYPE=Release .. +make VERBOSE=1 -j ${CPU_COUNT} +install -d $PREFIX/bin +install get_orfs $PREFIX/bin +popd diff --git a/recipes/get_orfs/meta.yaml b/recipes/get_orfs/meta.yaml new file mode 100644 index 0000000000000..c4543774d55d6 --- /dev/null +++ b/recipes/get_orfs/meta.yaml @@ -0,0 +1,44 @@ +{% set name = "get_orfs" %} +{% set version = "1.1.0" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/linsalrob/{{ name }}/archive/v{{ version }}.tar.gz + sha256: 6a9df2e0949b2e75b2ebb5bbeafa97d4fdf1f0691258ffda70797129811cf4d1 + +build: + skip: True # [osx] + number: 0 + run_exports: + - {{ pin_subpackage('get_orfs', max_pin="x") }} + +requirements: + build: + - make + - {{ compiler('cxx') }} + - cmake + host: + - zlib + - pthread-stubs + run: + - zlib + - pthread-stubs + +test: + commands: + - get_orfs --help 2>&1 | grep translation + +about: + home: https://github.com/linsalrob/get_orfs + license: MIT + license_family: MIT + license_file: LICENSE + summary: "Fast extraction of ORFs in all possible translation tables" + dev_url: https://github.com/linsalrob/get_orfs + +extra: + recipe-maintainers: + - linsalrob diff --git a/recipes/getorganelle/meta.yaml b/recipes/getorganelle/meta.yaml index 01453f6f21055..bc62d76f7e438 100644 --- a/recipes/getorganelle/meta.yaml +++ b/recipes/getorganelle/meta.yaml @@ -1,5 +1,5 @@ {% set name = "getorganelle" %} -{% set version = "1.7.7.0" %} +{% set version = "1.7.7.1" %} package: name: {{name}} @@ -7,20 +7,21 @@ package: source: url: https://github.com/Kinggerm/GetOrganelle/archive/{{version}}.tar.gz - sha256: dd351b5cd33688adfcd8bff9794ae0cc0ce01a572dac2bcf6c9d7db77b3e4883 + sha256: cf8e14766de43967182be839de20c9d1709b60fae38a0b3d175742dfad7a5d44 build: number: 0 - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" noarch: python + run_exports: + - {{ pin_subpackage('getorganelle', max_pin="x") }} requirements: host: - - python + - python >=3.7 - pip - run: - - python + - python >=3.7 - perl - pigz - spades >=3.9 @@ -33,16 +34,25 @@ requirements: - requests test: - imports: - - GetOrganelleLib - + #imports: + #- GetOrganelleLib commands: - get_organelle_from_reads.py -h - get_organelle_from_assembly.py -h - slim_graph.py -h about: - home: http://github.com/Kinggerm/GetOrganelle - license: GPL3 + home: https://github.com/Kinggerm/GetOrganelle + license: "GPL-3.0-or-later" + license_family: GPL3 license_file: LICENSE summary: Get organelle genomes from genome skimming data + dev_url: https://github.com/Kinggerm/GetOrganelle + doc_url: https://github.com/Kinggerm/GetOrganelle/wiki + +extra: + identifiers: + - doi:10.1186/s13059-020-02154-5 + - biotools:getorganelle + - usegalaxy-eu:get_organelle_from_reads + - usegalaxy-eu:get_annotated_regions_from_gb diff --git a/recipes/gfainject/build.sh b/recipes/gfainject/build.sh new file mode 100644 index 0000000000000..9f0dcbc83f9ad --- /dev/null +++ b/recipes/gfainject/build.sh @@ -0,0 +1,7 @@ +#!/bin/bash -euo + +set -xe + +# build statically linked binary with Rust +export RUST_BACKTRACE=1 +cargo install --verbose --path . --root ${PREFIX} --no-track diff --git a/recipes/gfainject/meta.yaml b/recipes/gfainject/meta.yaml new file mode 100644 index 0000000000000..f3d9aa1891954 --- /dev/null +++ b/recipes/gfainject/meta.yaml @@ -0,0 +1,38 @@ +{% set name = "gfainject" %} +{% set version = "0.1.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/AndreaGuarracino/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: a4388e524d5942f53d2fa94a93b2e82c926506c27cfdf04c04fbe8669a7ecebf + +build: + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} + +requirements: + build: + - {{ compiler('rust') }} + +test: + commands: + - gfainject --help + +about: + home: https://github.com/AndreaGuarracino/{{ name }} + license: MIT + license_family: MIT + license_file: LICENSE + summary: Inject alignment into pangenome graphs + dev_url: https://github.com/AndreaGuarracino/{{ name }} + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + recipe-maintainers: + - AndreaGuarracino diff --git a/recipes/gfastats/build.sh b/recipes/gfastats/build.sh index ebc40b05e0827..541d146c1fbcd 100644 --- a/recipes/gfastats/build.sh +++ b/recipes/gfastats/build.sh @@ -1,9 +1,11 @@ #!/bin/sh +set -xe + export LIBRARY_PATH="${PREFIX}/lib:$LIBRARY_PATH" export CXXFLAGS="-g -Wall -I$PREFIX/include -O3 -I$SRC_DIR/include -I$SRC_DIR/include/zlib -std=gnu++14 -lstdc++" -make -j CXX=$CXX +make -j ${CPU_COUNT} CXX=$CXX mkdir -p $PREFIX/bin/ cp build/bin/gfastats $PREFIX/bin/ diff --git a/recipes/gfastats/meta.yaml b/recipes/gfastats/meta.yaml index e8744f927e173..a08adf7d76b65 100644 --- a/recipes/gfastats/meta.yaml +++ b/recipes/gfastats/meta.yaml @@ -1,16 +1,18 @@ {% set name = "gfastats" %} -{% set version = "1.3.6" %} - +{% set version = "1.3.8" %} + package: name: {{ name }} version: {{ version }} source: - url: https://github.com/vgl-hub/gfastats/releases/download/v{{ version }}/{{ name }}.v{{ version }}.tar.gz - sha256: 9f48bafeca028fa00aa862724857bdfe3d2d44c9509280c094d06f91ea648f66 + url: https://github.com/vgl-hub/gfastats/releases/download/v{{version}}/gfastats.v{{version}}-with_submodules.zip + sha256: e8e2eeef3156628606507d6d50a2be8f546bd1a4734d63ac87c61f84d6834481 build: - number: 3 + number: 1 + run_exports: + - {{ pin_subpackage('gfastats', max_pin="x") }} requirements: build: @@ -30,9 +32,15 @@ about: summary: The swiss army knife for genome assembly extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - biotools:gfastats - usegalaxy-eu:gfastats container: # extended-base generates en_US.UTF-8 locale and sets LC_ALL, LANG properly extended-base: true + skip-lints: + - uses_vcs_url + - missing_hash \ No newline at end of file diff --git a/recipes/gffcompare/build.sh b/recipes/gffcompare/build.sh index 307a00d9eb42f..92773a1acf63f 100644 --- a/recipes/gffcompare/build.sh +++ b/recipes/gffcompare/build.sh @@ -1,9 +1,11 @@ #!/bin/bash +set -xe + export CXX="$CXX" export LINKER="$CXX" mkdir -p "$PREFIX"/bin/ make release cp gffcompare "$PREFIX"/bin/ -cp trmap "$PREFIX"/bin/ +cp trmap "$PREFIX"/bin/ \ No newline at end of file diff --git a/recipes/gffcompare/meta.yaml b/recipes/gffcompare/meta.yaml index 36587982fa933..6204e94d07a36 100644 --- a/recipes/gffcompare/meta.yaml +++ b/recipes/gffcompare/meta.yaml @@ -7,8 +7,9 @@ package: version: {{ version }} build: - number: 2 - skip: False + number: 3 + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} source: - url: https://github.com/gpertea/gffcompare/archive/v{{ version }}.tar.gz @@ -29,5 +30,8 @@ about: summary: 'GffCompare by Geo Pertea' extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - biotools:gffcompare diff --git a/recipes/gffpandas/meta.yaml b/recipes/gffpandas/meta.yaml new file mode 100644 index 0000000000000..0d3f2ead2c06e --- /dev/null +++ b/recipes/gffpandas/meta.yaml @@ -0,0 +1,37 @@ +{% set name = "gffpandas" %} +{% set version = "1.2.2" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/foerstner-lab/gffpandas/archive/v{{ version }}.tar.gz + sha256: bf58757e8d0eb4c2aa800864d2ab6e8ee3d499862473417435b57a05d9bf00b2 + +build: + number: 0 + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation + run_exports: + - {{ pin_subpackage('gffpandas', max_pin="x") }} + +requirements: + host: + - python >=3 + - pip + run: + - python >=3 + - pandas + +test: + imports: + - gffpandas + +about: + home: https://github.com/foerstner-lab/gffpandas + summary: "Parse GFF3 into Pandas dataframes" + license: MIT + license_family: MIT + license_file: LICENSE + doc_url: https://gffpandas.readthedocs.io/en/latest/ diff --git a/recipes/gffread/meta.yaml b/recipes/gffread/meta.yaml index cf0bd29fad6db..5ae18c806919d 100644 --- a/recipes/gffread/meta.yaml +++ b/recipes/gffread/meta.yaml @@ -12,7 +12,9 @@ source: - Makefile.patch build: - number: 3 + number: 4 + run_exports: + - {{ pin_subpackage("gffread", max_pin="x.x") }} requirements: build: @@ -34,6 +36,8 @@ about: dev_url: "https://github.com/gpertea/gffread" extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:gffread skip-lints: diff --git a/recipes/gfftk/meta.yaml b/recipes/gfftk/meta.yaml index 6951a1651e927..60caeb4b3da4a 100644 --- a/recipes/gfftk/meta.yaml +++ b/recipes/gfftk/meta.yaml @@ -1,5 +1,5 @@ {% set name = "gfftk" %} -{% set version = "23.9.6" %} +{% set version = "24.2.4" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/gfftk-{{ version }}.tar.gz - sha256: ee6b9aeef9923bea566bf3cb60fc4de0fec1c73dd157990d50cb26ecd8b6c495 + sha256: 053a95204cfcb24b47e0dc23e5983b57cdc0023a37763a4c80a83d7d92598056 build: number: 0 diff --git a/recipes/gffutils/meta.yaml b/recipes/gffutils/meta.yaml index f1f35d06d9903..f57c8e24baa63 100644 --- a/recipes/gffutils/meta.yaml +++ b/recipes/gffutils/meta.yaml @@ -1,6 +1,6 @@ {% set name = "gffutils" %} -{% set version = "0.12" %} -{% set sha256 = "b31e261db5bd8737cb712c361c129eb2c373ef62f03b62770320589f10da1983" %} +{% set version = "0.13" %} +{% set sha256 = "b0d52f35c014cc0330fb5c4e3c6fea127c90ccf4c5384a825cdb5c8ff330d4eb" %} package: name: "{{ name|lower }}" @@ -14,6 +14,8 @@ build: noarch: python number: 0 script: "{{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv" + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: host: @@ -25,7 +27,6 @@ requirements: - pyfaidx >=0.5.5.2 - python - simplejson - - six >=1.12.0 test: imports: diff --git a/recipes/ggcaller/0001-Corrects_CMakeLists_txt_for_location_of_z_and_bifrost_libraries_.patch b/recipes/ggcaller/0001-Corrects_CMakeLists_txt_for_location_of_z_and_bifrost_libraries_.patch deleted file mode 100644 index cfe7db44a57f3..0000000000000 --- a/recipes/ggcaller/0001-Corrects_CMakeLists_txt_for_location_of_z_and_bifrost_libraries_.patch +++ /dev/null @@ -1,64 +0,0 @@ -Index: CMakeLists.txt -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== ---- CMakeLists.txt (revision caac54e32bc2aef0ed819210a31017de279618a7) -+++ CMakeLists.txt (revision 350bd2866fabe3a11cf7664bbfd512859f744eda) -@@ -19,20 +19,37 @@ - SET(CONDA_DIR "$ENV{CONDA_PREFIX}") - # find Seqan3 packages - find_path(SEQAN3_CLONE_DIR name bin PATHS ${CONDA_DIR} NO_DEFAULT_PATH) -- find_path(SEQAN3_INCLUDE_DIR name seqan PATHS "${SEQAN3_CLONE_DIR}/include" NO_DEFAULT_PATH) -- find_path(SEQAN3_SUBMODULES_DIR name submodules PATHS "${SEQAN3_INCLUDE_DIR}/seqan3" NO_DEFAULT_PATH) -- find_package(SeqAn3 REQUIRED HINT "${CONDA_PREFIX}/share/cmake/seqan3") -- # link bifrost, zlib, seqan and pthreads -- target_link_libraries(ggCaller_cpp PRIVATE seqan3::seqan3 ${CONDA_DIR}/lib/libbifrost.so ${CONDA_DIR}/lib/libz.so ${CONDA_DIR}/lib/libomp.so Threads::Threads) --ELSE() -- # find packages if conda not used -- find_package(SeqAn3 REQUIRED) -- find_library(z REQUIRED) -- find_library(bifrost REQUIRED) -- find_package(OpenMP) -- target_link_libraries(ggCaller_cpp PRIVATE seqan3::seqan3 bifrost z pthread) -- # link OpenMP if found -- if(OpenMP_CXX_FOUND) -- target_link_libraries(ggCaller_cpp PRIVATE OpenMP::OpenMP_CXX) -- endif() --ENDIF() -\ No newline at end of file -+ find_path(SEQAN3_INCLUDE_DIR name seqan PATHS ${SEQAN3_CLONE_DIR}/include NO_DEFAULT_PATH) -+ find_path(SEQAN3_SUBMODULES_DIR name submodules PATHS ${SEQAN3_INCLUDE_DIR}/seqan3 NO_DEFAULT_PATH) -+ENDIF() -+include_directories(CMAKE_CURRENT_SOURCE_DIR) -+ -+#Find include dirs for z and bifrost -+FIND_PATH(z_INCLUDE_DIR NAMES zlib.h HINTS ${CONDA_DIR}/include) -+FIND_PATH(bifrost_INCLUDE_DIR bifrost/CompactedDBG.hpp HINTS ${CONDA_DIR}/include) -+ -+# Find libraries for z and bifrost -+FIND_LIBRARY(z_LIBRARY NAMES z HINTS ${CONDA_DIR}/lib REQUIRED) -+FIND_LIBRARY(bifrost_LIBRARY NAMES bifrost HINTS ${CONDA_DIR}/lib REQUIRED) -+ -+# Set package found as true -+FIND_PACKAGE_HANDLE_STANDARD_ARGS(z DEFAULT_MSG z_INCLUDE_DIR z_LIBRARY) -+FIND_PACKAGE_HANDLE_STANDARD_ARGS(bifrost DEFAULT_MSG bifrost_INCLUDE_DIR bifrost_LIBRARY) -+ -+# Set dirs if multiple include/libraries found -+SET( z_INCLUDE_DIRS ${z_INCLUDE_DIR} ) -+SET( z_LIBRARIES ${z_LIBRARY} ) -+SET( bifrost_INCLUDE_DIRS ${z_INCLUDE_DIR} ) -+SET( bifrost_LIBRARIES ${bifrost_LIBRARY} ) -+ -+# find Seqan3 package -+find_package(SeqAn3 REQUIRED HINTS ${CONDA_DIR}/share/cmake/seqan3) -+ -+# link libraries -+target_link_libraries(ggCaller_cpp PRIVATE seqan3::seqan3 ${bifrost_LIBRARIES} ${z_LIBRARIES} Threads::Threads) -+ -+find_package(OpenMP) -+ -+if(OpenMP_CXX_FOUND) -+ target_link_libraries(ggCaller_cpp PRIVATE OpenMP::OpenMP_CXX) -+endif() -\ No newline at end of file diff --git a/recipes/ggcaller/meta.yaml b/recipes/ggcaller/meta.yaml index 6a07ed7ba5a4c..5a24268ec7461 100644 --- a/recipes/ggcaller/meta.yaml +++ b/recipes/ggcaller/meta.yaml @@ -1,19 +1,21 @@ {% set name = "ggCaller" %} -{% set version = "1.3.4" %} +{% set version = "1.3.7" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://github.com/samhorsfield96/{{ name }}/archive/v{{ version }}.tar.gz - sha256: b2e6ed3fb3b34c4cb1aa2f66e4dc1ae2f4f20530fa549335756bb94811f00c16 + url: https://github.com/bacpop/{{ name }}/archive/v{{ version }}.tar.gz + sha256: 6b7930ec6f84616812fd89c4f1829e4afb5e2a2b6fd6a489976fef8bb0bbc193 build: number: 0 skip: True # [osx or py < 39] entry_points: - ggcaller = ggCaller.__main__:main + run_exports: + - {{ pin_subpackage("ggcaller", max_pin="x") }} requirements: build: @@ -23,23 +25,25 @@ requirements: - make - tbb - tbb-devel - - mkl-devel # [linux] + - mkl-devel >=2021.4.0,<2023.0.0 # [linux] - openblas # [osx] - protobuf - - pytorch + - pytorch-cpu =1.10 + - pytorch =1.10 host: - - python + - python >=3.9 - pybind11 - - bifrost + - bifrost >=1.2 - zlib - pip - bzip2 - - pytorch + - pytorch-cpu =1.10 + - pytorch =1.10 - boost-cpp - setuptools - llvm-openmp # [osx] - libgomp # [linux] - - mkl-devel # [linux] + - mkl-devel >=2021.4.0,<2023.0.0 # [linux] - lapack # [osx] - openblas # [osx] - eigen =3.3 @@ -47,14 +51,16 @@ requirements: - tbb-devel - protobuf run: - - python + - python >=3.9 - numpy - scipy - pandas - - bifrost - - biopython >=1.8.0 + - bifrost >=1.2 + - biopython =1.80 - bcbio-gff - diamond >=2.0 + - pytorch-cpu =1.10 + - pytorch =1.10 - hmmer - mafft - snp-sites @@ -92,7 +98,7 @@ test: - ggcaller -h | grep -q "Generates ORFs from a Bifrost graph." about: - home: https://github.com/samhorsfield96/ggCaller + home: https://github.com/bacpop/ggCaller license: MIT license_family: MIT license_file: LICENSE diff --git a/recipes/gget/meta.yaml b/recipes/gget/meta.yaml index 0c155d5a9aec3..f06207b8c5c82 100644 --- a/recipes/gget/meta.yaml +++ b/recipes/gget/meta.yaml @@ -1,6 +1,6 @@ {% set name = "gget" %} -{% set version = "0.28.2" %} -{% set sha256 = "2bc24c484e26fdd25646f66089e08edf101c344e9ddb9aaeb1484fac3e1d2a99" %} +{% set version = "0.29.0" %} +{% set sha256 = "5af54af941477bead501d66a0509a8bcf672ba637ef0750bb3faef79959512e3" %} package: name: "{{ name|lower }}" @@ -13,33 +13,35 @@ source: build: number: 0 noarch: python - script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation -vvv . + script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation --no-cache-dir -vvv . + entry_points: + - gget=gget.main:main run_exports: - {{ pin_subpackage('gget', max_pin="x.x") }} requirements: host: - - python >=3.6 + - python >=3.7 - pip - bs4 - requests >=2.22.0 - pandas >=1.0.0 - ipython - - mysql-connector-python >=8.0.5,<=8.0.29 + - mysql-connector-python >=8.0.32 - matplotlib-base - tqdm - ipywidgets - lxml - numpy >=1.17.2 run: - - python >=3.6 + - python >=3.7 - numpy >=1.17.2 - pandas >=1.0.0 - requests >=2.22.0 - ipython - matplotlib-base - - mysql-connector-python >=8.0.5,<=8.0.29 - - beautifulsoup4 >=4.10.0 + - mysql-connector-python >=8.0.32 + - bs4 >=4.10.0 - ipywidgets - tqdm - py3Dmol >=1.8.0 @@ -58,16 +60,20 @@ test: about: home: "https://github.com/pachterlab/gget" - license: BSD-2-Clause + license: "BSD-2-Clause" license_family: BSD license_file: LICENSE - summary: "gget enables efficient querying of genomic databases" + summary: "gget enables efficient querying of genomic databases." description: | gget enables efficient querying of genomic databases, such as Ensembl, UniProt, NCBI, directly into a Python or terminal programming environment. It was designed to support genomic data analysis. + dev_url: "https://github.com/pachterlab/gget" + doc_url: "https://pachterlab.github.io/gget" extra: recipe-maintainers: - nh13 - lauraluebbert + identifiers: + - doi:10.1093/bioinformatics/btac836 diff --git a/recipes/gia/build.sh b/recipes/gia/build.sh new file mode 100644 index 0000000000000..cce5a6c8aabea --- /dev/null +++ b/recipes/gia/build.sh @@ -0,0 +1,28 @@ +#!/bin/bash -e + +# +# TODO: Remove the following export when pinning is updated and we use +# {{ compiler('rust') }} in the recipe. +export \ + CARGO_NET_GIT_FETCH_WITH_CLI=true \ + CARGO_HOME="${BUILD_PREFIX}/.cargo" +export BINDGEN_EXTRA_CLANG_ARGS="${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" + +# +# install package +# +HOME=$(pwd) +pushd ${PREFIX} + +cargo install --no-track --verbose \ + --root "${PREFIX}" --path "${HOME}" +popd + +echo "Done building gia" 1>&2 + +# +# test install +# +gia help + +exit 0 diff --git a/recipes/gia/meta.yaml b/recipes/gia/meta.yaml new file mode 100644 index 0000000000000..63a3997827f29 --- /dev/null +++ b/recipes/gia/meta.yaml @@ -0,0 +1,63 @@ +{% set version = "0.2.23" %} +{% set name = "gia" %} +{% set build_number = "0" %} + +package: + name: {{ name }} + version: {{ version }} + + +source: + url: https://github.com/noamteyssier/gia/archive/{{ version }}.tar.gz + sha256: 57f843d61281e7e243ee3ebf16f9aa2e96f9fe0e03a02e14e9b7a43ad3b6d949 + + +build: + run_exports: + - {{ pin_subpackage('gia', max_pin="x") }} + number: {{ build_number }} + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - {{ compiler('rust') }} + - make + - cmake + - unzip + - curl + # all the host and run requirements match those needed for htslib + host: + - libcurl + - bzip2 + - xz + - zlib + - libdeflate + - openssl # [not osx] + run: + - libcurl + - bzip2 + - xz + - zlib + - libdeflate + - openssl # [not osx] + +test: + commands: + - gia help + + +about: + home: https://github.com/noamteyssier/gia + license: MIT + summary: Genomic Interval Arithmetic (gia) + + +extra: + recipe-maintainers: + - mrvollger + - noamteyssier + additional-platforms: + - osx-arm64 + - linux-aarch64 + diff --git a/recipes/giatools/meta.yaml b/recipes/giatools/meta.yaml new file mode 100644 index 0000000000000..569685efd8a6a --- /dev/null +++ b/recipes/giatools/meta.yaml @@ -0,0 +1,43 @@ +{% set name = "giatools" %} +{% set version = "0.3.1" %} + +package: + name: "{{ name }}" + version: "{{ version }}" + +source: + url: "https://github.com/BMCV/giatools/archive/refs/tags/{{ version }}.zip" + sha256: 3c763086a656514219a9b81fbfe2c4ac1c58a91c58345d18ebd028c44e2eb080 + +build: + number: 0 + noarch: python + script: "{{ PYTHON }} -m pip install --no-deps --ignore-installed . -vv " + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + host: + - python >=3.8,<3.12 + - pip + - setuptools + - numpy >=1.18 + - scikit-image >=0.18 + run: + - python >=3.8,<3.12 + - numpy >=1.18 + - scikit-image >=0.18 + +test: + commands: + - python -c "import giatools; print(giatools.VERSION)" + +about: + home: "https://github.com/BMCV/giatools" + license: MIT + summary: "Tools required for Galaxy Image Analysis" + dev_url: "https://github.com/BMCV/giatools" + +extra: + recipe-maintainers: + - kostrykin diff --git a/recipes/gimbleprep/meta.yaml b/recipes/gimbleprep/meta.yaml index dc28547728e74..838501aeb7602 100644 --- a/recipes/gimbleprep/meta.yaml +++ b/recipes/gimbleprep/meta.yaml @@ -1,5 +1,5 @@ {% set name = "gimbleprep" %} -{% set version = "0.0.2b5" %} +{% set version = "0.0.2" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://github.com/LohseLab/gimbleprep/archive/refs/tags/v{{ version }}.tar.gz - sha256: 6b9f893ba61fbd27577f87b561b7e2dad609589edfa62e63b6d2517b468bd953 + sha256: afa5311acd8030635073dbe01b0e2cea55beecf217b968e43eb548bde418ba06 build: noarch: python diff --git a/recipes/gimmemotifs/build_failure.linux-64.yaml b/recipes/gimmemotifs/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..186dad49c6792 --- /dev/null +++ b/recipes/gimmemotifs/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 3610267290d8b8f268cecd167798b74c17a9562b2602eef4cb956f4101920488 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + [34m filename = __file__[0m + [34m with tokenize.open(__file__) as f:[0m + [34m setup_py_code = f.read()[0m + [34m else:[0m + [34m filename = ""[0m + [34m setup_py_code = "from setuptools import setup; setup()"[0m + [34m [0m + [34m exec(compile(setup_py_code, filename, "exec"))[0m + [34m '"'"''"'"''"'"' % ('"'"'/opt/conda/conda-bld/gimmemotifs_1718121272991/work/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-n2ula4ta[0m + [1;35mcwd[0m: /opt/conda/conda-bld/gimmemotifs_1718121272991/work/ + Preparing metadata (setup.py) ... [?25l[?25herror + [1;31merror[0m: [1mmetadata-generation-failed[0m + + [31m[0m Encountered error while generating package metadata. + [31m>[0m See above for output. + + [1;35mnote[0m: This is an issue with the package mentioned above, not pip. + [1;36mhint[0m: See above for details. + Exception information: + Traceback (most recent call last): + File "/opt/conda/conda-bld/gimmemotifs_1718121272991/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.12/site-packages/pip/_internal/operations/build/metadata_legacy.py", line 64, in generate_metadata + call_subprocess( + File "/opt/conda/conda-bld/gimmemotifs_1718121272991/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.12/site-packages/pip/_internal/utils/subprocess.py", line 224, in call_subprocess + raise error + pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 + + The above exception was the direct cause of the following exception: + + Traceback (most recent call last): + File "/opt/conda/conda-bld/gimmemotifs_1718121272991/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.12/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper + status = run_func(*args) + ^^^^^^^^^^^^^^^ + File "/opt/conda/conda-bld/gimmemotifs_1718121272991/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.12/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper + return func(self, options, args) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/opt/conda/conda-bld/gimmemotifs_1718121272991/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.12/site-packages/pip/_internal/commands/install.py", line 377, in run + requirement_set = resolver.resolve( + ^^^^^^^^^^^^^^^^^ + File "/opt/conda/conda-bld/gimmemotifs_1718121272991/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 76, in resolve + collected = self.factory.collect_root_requirements(root_reqs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/opt/conda/conda-bld/gimmemotifs_1718121272991/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 534, in collect_root_requirements + reqs = list( + ^^^^^ + File "/opt/conda/conda-bld/gimmemotifs_1718121272991/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 490, in _make_requirements_from_install_req + cand = self._make_base_candidate_from_link( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/opt/conda/conda-bld/gimmemotifs_1718121272991/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 228, in _make_base_candidate_from_link + self._link_candidate_cache[link] = LinkCandidate( + ^^^^^^^^^^^^^^ + File "/opt/conda/conda-bld/gimmemotifs_1718121272991/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 290, in __init__ + super().__init__( + File "/opt/conda/conda-bld/gimmemotifs_1718121272991/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__ + self.dist = self._prepare() + ^^^^^^^^^^^^^^^ + File "/opt/conda/conda-bld/gimmemotifs_1718121272991/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 222, in _prepare + dist = self._prepare_distribution() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/opt/conda/conda-bld/gimmemotifs_1718121272991/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 301, in _prepare_distribution + return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/opt/conda/conda-bld/gimmemotifs_1718121272991/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 525, in prepare_linked_requirement + return self._prepare_linked_requirement(req, parallel_builds) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/opt/conda/conda-bld/gimmemotifs_1718121272991/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 640, in _prepare_linked_requirement + dist = _get_prepared_distribution( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/opt/conda/conda-bld/gimmemotifs_1718121272991/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution + abstract_dist.prepare_distribution_metadata( + File "/opt/conda/conda-bld/gimmemotifs_1718121272991/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.12/site-packages/pip/_internal/distributions/sdist.py", line 67, in prepare_distribution_metadata + self.req.prepare_metadata() + File "/opt/conda/conda-bld/gimmemotifs_1718121272991/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.12/site-packages/pip/_internal/req/req_install.py", line 585, in prepare_metadata + self.metadata_directory = generate_metadata_legacy( + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/opt/conda/conda-bld/gimmemotifs_1718121272991/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.12/site-packages/pip/_internal/operations/build/metadata_legacy.py", line 71, in generate_metadata + raise MetadataGenerationFailed(package_details=details) from error + pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed + Remote version of pip: 24.0 + Local version of pip: 24.0 + Was pip installed by pip? False + Removed file:///opt/conda/conda-bld/gimmemotifs_1718121272991/work from build tracker '/tmp/pip-build-tracker-8pbev87f' + Removed build tracker: '/tmp/pip-build-tracker-8pbev87f' + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2711, in build + newly_built_packages = bundlers[pkg_type](output_d, m, env, stats) + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 1784, in bundle_conda + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/usr/bin/bash', '-e', '/opt/conda/conda-bld/gimmemotifs_1718121272991/work/output_script.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/gimmemotifs/meta.yaml b/recipes/gimmemotifs/meta.yaml index 7811f1aef805b..c6510e2a40d2d 100644 --- a/recipes/gimmemotifs/meta.yaml +++ b/recipes/gimmemotifs/meta.yaml @@ -9,7 +9,7 @@ source: sha256: 8e7d23a898174a962c845b22433a74e3ddde619c5d77f3a5b5dbfb8fa61e7351 build: - number: 5 + number: 6 skip: True # [osx] run_exports: - {{ pin_subpackage('gimmemotifs', max_pin="x.x") }} diff --git a/recipes/ginpiper/meta.yaml b/recipes/ginpiper/meta.yaml index 108553df0cad6..60214638d22c9 100644 --- a/recipes/ginpiper/meta.yaml +++ b/recipes/ginpiper/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256}} build: - number: 1 + number: 2 noarch: generic requirements: diff --git a/recipes/glimmerhmm/build_failure.linux-64.yaml b/recipes/glimmerhmm/build_failure.linux-64.yaml deleted file mode 100644 index bdd72e799e833..0000000000000 --- a/recipes/glimmerhmm/build_failure.linux-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 8297d05d8f902eb6252113602e21ef80ba85c6779868ea8461f0c2e3d47f37a1 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - sysroot_linux-64: 2.12-he073ed8_15 conda-forge - - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - Source cache directory is: /opt/conda/conda-bld/src_cache - INFO:conda_build.source:Source cache directory is: /opt/conda/conda-bld/src_cache - Downloading source to cache: GlimmerHMM-3.0.4_af3626a5ec.tar.gz - INFO:conda_build.source:Downloading source to cache: GlimmerHMM-3.0.4_af3626a5ec.tar.gz - Downloading https://ccb.jhu.edu/software/glimmerhmm/dl/GlimmerHMM-3.0.4.tar.gz - INFO:conda_build.source:Downloading https://ccb.jhu.edu/software/glimmerhmm/dl/GlimmerHMM-3.0.4.tar.gz - DEBUG:urllib3.util.retry:Incremented Retry for (url='/software/glimmerhmm/dl/GlimmerHMM-3.0.4.tar.gz'): Retry(total=2, connect=None, read=None, redirect=None, status=None) - WARNING:urllib3.connectionpool:Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: WRONG_SIGNATURE_TYPE] wrong signature type (_ssl.c:1131)'))': /software/glimmerhmm/dl/GlimmerHMM-3.0.4.tar.gz - DEBUG:urllib3.util.retry:Incremented Retry for (url='/software/glimmerhmm/dl/GlimmerHMM-3.0.4.tar.gz'): Retry(total=1, connect=None, read=None, redirect=None, status=None) - WARNING:urllib3.connectionpool:Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: WRONG_SIGNATURE_TYPE] wrong signature type (_ssl.c:1131)'))': /software/glimmerhmm/dl/GlimmerHMM-3.0.4.tar.gz - DEBUG:urllib3.util.retry:Incremented Retry for (url='/software/glimmerhmm/dl/GlimmerHMM-3.0.4.tar.gz'): Retry(total=0, connect=None, read=None, redirect=None, status=None) - WARNING:urllib3.connectionpool:Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: WRONG_SIGNATURE_TYPE] wrong signature type (_ssl.c:1131)'))': /software/glimmerhmm/dl/GlimmerHMM-3.0.4.tar.gz - Traceback (most recent call last): - File "/opt/conda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 670, in urlopen - httplib_response = self._make_request( - File "/opt/conda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 381, in _make_request - self._validate_conn(conn) - File "/opt/conda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 978, in _validate_conn - conn.connect() - File "/opt/conda/lib/python3.8/site-packages/urllib3/connection.py", line 362, in connect - self.sock = ssl_wrap_socket( - File "/opt/conda/lib/python3.8/site-packages/urllib3/util/ssl_.py", line 386, in ssl_wrap_socket - return context.wrap_socket(sock, server_hostname=server_hostname) - File "/opt/conda/lib/python3.8/ssl.py", line 500, in wrap_socket - return self.sslsocket_class._create( - File "/opt/conda/lib/python3.8/ssl.py", line 1040, in _create - self.do_handshake() - File "/opt/conda/lib/python3.8/ssl.py", line 1309, in do_handshake - self._sslobj.do_handshake() - ssl.SSLError: [SSL: WRONG_SIGNATURE_TYPE] wrong signature type (_ssl.c:1131) - - During handling of the above exception, another exception occurred: - - Traceback (most recent call last): - File "/opt/conda/lib/python3.8/site-packages/requests/adapters.py", line 439, in send - resp = conn.urlopen( - File "/opt/conda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 754, in urlopen - return self.urlopen( - File "/opt/conda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 754, in urlopen - return self.urlopen( - File "/opt/conda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 754, in urlopen - return self.urlopen( - File "/opt/conda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 726, in urlopen - retries = retries.increment( - File "/opt/conda/lib/python3.8/site-packages/urllib3/util/retry.py", line 446, in increment - raise MaxRetryError(_pool, url, error or ResponseError(cause)) - urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='ccb.jhu.edu', port=443): Max retries exceeded with url: /software/glimmerhmm/dl/GlimmerHMM-3.0.4.tar.gz (Caused by SSLError(SSLError(1, '[SSL: WRONG_SIGNATURE_TYPE] wrong signature type (_ssl.c:1131)'))) - - During handling of the above exception, another exception occurred: - - Traceback (most recent call last): - File "/opt/conda/lib/python3.8/site-packages/conda/gateways/connection/download.py", line 48, in download - resp = session.get(url, stream=True, proxies=session.proxies, timeout=timeout) - File "/opt/conda/lib/python3.8/site-packages/requests/sessions.py", line 546, in get - return self.request('GET', url, **kwargs) - File "/opt/conda/lib/python3.8/site-packages/requests/sessions.py", line 533, in request - resp = self.send(prep, **send_kwargs) - File "/opt/conda/lib/python3.8/site-packages/requests/sessions.py", line 646, in send - r = adapter.send(request, **kwargs) - File "/opt/conda/lib/python3.8/site-packages/requests/adapters.py", line 514, in send - raise SSLError(e, request=request) - requests.exceptions.SSLError: HTTPSConnectionPool(host='ccb.jhu.edu', port=443): Max retries exceeded with url: /software/glimmerhmm/dl/GlimmerHMM-3.0.4.tar.gz (Caused by SSLError(SSLError(1, '[SSL: WRONG_SIGNATURE_TYPE] wrong signature type (_ssl.c:1131)'))) - - During handling of the above exception, another exception occurred: - - Traceback (most recent call last): - File "/opt/conda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2125, in build - try_download(m, no_download_source=False, raise_error=True) - File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 650, in try_download - source.provide(metadata) - File "/opt/conda/lib/python3.8/site-packages/conda_build/source.py", line 871, in provide - unpack(source_dict, src_dir, metadata.config.src_cache, recipe_path=metadata.path, - File "/opt/conda/lib/python3.8/site-packages/conda_build/source.py", line 146, in unpack - src_path, unhashed_fn = download_to_cache(cache_folder, recipe_path, source_dict, verbose) - File "/opt/conda/lib/python3.8/site-packages/conda_build/source.py", line 89, in download_to_cache - download(url, path) - File "/opt/conda/lib/python3.8/site-packages/conda/exports.py", line 374, in download - return _download(url, dst_path, md5=md5sum, sha256=sha256, size=size) - File "/opt/conda/lib/python3.8/site-packages/conda/common/io.py", line 84, in decorated - return f(*args, **kwds) - File "/opt/conda/lib/python3.8/site-packages/conda/gateways/connection/download.py", line 152, in download - raise CondaSSLError( - conda.exceptions.CondaSSLError: Encountered an SSL error. Most likely a certificate verification issue. - - Exception: HTTPSConnectionPool(host='ccb.jhu.edu', port=443): Max retries exceeded with url: /software/glimmerhmm/dl/GlimmerHMM-3.0.4.tar.gz (Caused by SSLError(SSLError(1, '[SSL: WRONG_SIGNATURE_TYPE] wrong signature type (_ssl.c:1131)'))) -# Last 100 lines of the build log. diff --git a/recipes/glimmerhmm/build_failure.osx-64.yaml b/recipes/glimmerhmm/build_failure.osx-64.yaml index 006c9af8b1d2a..dae3a9ae59253 100644 --- a/recipes/glimmerhmm/build_failure.osx-64.yaml +++ b/recipes/glimmerhmm/build_failure.osx-64.yaml @@ -1,104 +1,105 @@ -recipe_sha: 8297d05d8f902eb6252113602e21ef80ba85c6779868ea8461f0c2e3d47f37a1 # The commit at which this recipe failed to build. +recipe_sha: eadeb5962e3754b3c69828174d7d5f7e483e79ed9304eae11626f173217335b7 # The hash of the recipe's meta.yaml at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - zstd: 1.5.2-hbc0c0cd_6 conda-forge +category: compiler error +log: |- + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/glimmerhmm-3.0.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/glimmerhmm-3.0.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + make: Entering directory '$SRC_DIR/sources' + x86_64-apple-darwin13.4.0-clang -g -c glimmerhmm.c + x86_64-apple-darwin13.4.0-clang -g -c graph.c + x86_64-apple-darwin13.4.0-clang -g -c sites.c + x86_64-apple-darwin13.4.0-clang -g -c tree_util_prob.c + x86_64-apple-darwin13.4.0-clang -g -c util.c + x86_64-apple-darwin13.4.0-clang -g -o glimmerhmm glimmerhmm.o graph.o sites.o tree_util_prob.o util.o -lm + make: Leaving directory '$SRC_DIR/sources' + make: Entering directory '$SRC_DIR/train' + /bin/rm -f core* splicescore *.o score build? build-icm \ + build-icm-noframe erfapp falsecomp findsites karlin score2 scoreATG \ + scoreATG2 scoreSTOP scoreSTOP2 + make: Leaving directory '$SRC_DIR/train' + make: Entering directory '$SRC_DIR/train' + x86_64-apple-darwin13.4.0-clang -Wall -g -c misc.c + x86_64-apple-darwin13.4.0-clang -Wall -g -c build-icm.c + x86_64-apple-darwin13.4.0-clang -Wall -g -c build-icm-noframe.c + x86_64-apple-darwin13.4.0-clang -Wall -g -o build-icm build-icm.o misc.o -lm + x86_64-apple-darwin13.4.0-clang -Wall -g -o build-icm-noframe build-icm-noframe.o misc.o -lm + x86_64-apple-darwin13.4.0-clang -Wall -g -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -c -o build1.o build1.c + x86_64-apple-darwin13.4.0-clang -Wall -g build1.c -o build1 -lm + x86_64-apple-darwin13.4.0-clang -Wall -g -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -c -o build2.o build2.c + x86_64-apple-darwin13.4.0-clang -Wall -g build2.c -o build2 -lm + x86_64-apple-darwin13.4.0-clang -Wall -g -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -c -o falsecomp.o falsecomp.c + x86_64-apple-darwin13.4.0-clang -Wall -g falsecomp.c -o falsecomp -lm + x86_64-apple-darwin13.4.0-clang -Wall -g -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -c -o findsites.o findsites.c + x86_64-apple-darwin13.4.0-clang -Wall -g findsites.c -o findsites -lm + x86_64-apple-darwin13.4.0-clang -Wall -g -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -c -o karlin.o karlin.c + x86_64-apple-darwin13.4.0-clang -Wall -g karlin.c -o karlin -lm + x86_64-apple-darwin13.4.0-clang -Wall -g -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -c -o score.o score.c + x86_64-apple-darwin13.4.0-clang -Wall -g score.c -o score -lm + x86_64-apple-darwin13.4.0-clang -Wall -g -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -c -o score2.o score2.c + x86_64-apple-darwin13.4.0-clang -Wall -g score2.c -o score2 -lm + x86_64-apple-darwin13.4.0-clang -Wall -g -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -c -o scoreATG.o scoreATG.c + x86_64-apple-darwin13.4.0-clang -Wall -g scoreATG.c -o scoreATG -lm + x86_64-apple-darwin13.4.0-clang -Wall -g -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -c -o scoreATG2.o scoreATG2.c + x86_64-apple-darwin13.4.0-clang -Wall -g scoreATG2.c -o scoreATG2 -lm + x86_64-apple-darwin13.4.0-clang -Wall -g -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -c -o scoreSTOP.o scoreSTOP.c + x86_64-apple-darwin13.4.0-clang -Wall -g scoreSTOP.c -o scoreSTOP -lm + x86_64-apple-darwin13.4.0-clang -Wall -g -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -c -o scoreSTOP2.o scoreSTOP2.c + x86_64-apple-darwin13.4.0-clang -Wall -g scoreSTOP2.c -o scoreSTOP2 -lm + x86_64-apple-darwin13.4.0-clang -Wall -g -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -c -o erfapp.o erfapp.c + x86_64-apple-darwin13.4.0-clang -Wall -g erfapp.c -o erfapp -lm + x86_64-apple-darwin13.4.0-clang -Wall -g -c splicescore.c + x86_64-apple-darwin13.4.0-clang -Wall -g -c sites.c + x86_64-apple-darwin13.4.0-clang -Wall -g -c utils.c + x86_64-apple-darwin13.4.0-clang splicescore.o sites.o utils.o -o splicescore -lm + make: Leaving directory '$SRC_DIR/train' - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache - INFO:conda_build.source:Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache - Downloading source to cache: GlimmerHMM-3.0.4_af3626a5ec.tar.gz - Downloading https://ccb.jhu.edu/software/glimmerhmm/dl/GlimmerHMM-3.0.4.tar.gz - INFO:conda_build.source:Downloading source to cache: GlimmerHMM-3.0.4_af3626a5ec.tar.gz - INFO:conda_build.source:Downloading https://ccb.jhu.edu/software/glimmerhmm/dl/GlimmerHMM-3.0.4.tar.gz - DEBUG:urllib3.util.retry:Incremented Retry for (url='/software/glimmerhmm/dl/GlimmerHMM-3.0.4.tar.gz'): Retry(total=2, connect=None, read=None, redirect=None, status=None) - WARNING:urllib3.connectionpool:Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: WRONG_SIGNATURE_TYPE] wrong signature type (_ssl.c:1131)'))': /software/glimmerhmm/dl/GlimmerHMM-3.0.4.tar.gz - DEBUG:urllib3.util.retry:Incremented Retry for (url='/software/glimmerhmm/dl/GlimmerHMM-3.0.4.tar.gz'): Retry(total=1, connect=None, read=None, redirect=None, status=None) - WARNING:urllib3.connectionpool:Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: WRONG_SIGNATURE_TYPE] wrong signature type (_ssl.c:1131)'))': /software/glimmerhmm/dl/GlimmerHMM-3.0.4.tar.gz - DEBUG:urllib3.util.retry:Incremented Retry for (url='/software/glimmerhmm/dl/GlimmerHMM-3.0.4.tar.gz'): Retry(total=0, connect=None, read=None, redirect=None, status=None) - WARNING:urllib3.connectionpool:Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: WRONG_SIGNATURE_TYPE] wrong signature type (_ssl.c:1131)'))': /software/glimmerhmm/dl/GlimmerHMM-3.0.4.tar.gz - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 670, in urlopen - httplib_response = self._make_request( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 381, in _make_request - self._validate_conn(conn) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 978, in _validate_conn - conn.connect() - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/connection.py", line 362, in connect - self.sock = ssl_wrap_socket( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/util/ssl_.py", line 386, in ssl_wrap_socket - return context.wrap_socket(sock, server_hostname=server_hostname) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/ssl.py", line 500, in wrap_socket - return self.sslsocket_class._create( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/ssl.py", line 1040, in _create - self.do_handshake() - File "/opt/mambaforge/envs/bioconda/lib/python3.8/ssl.py", line 1309, in do_handshake - self._sslobj.do_handshake() - ssl.SSLError: [SSL: WRONG_SIGNATURE_TYPE] wrong signature type (_ssl.c:1131) + Resource usage statistics from building glimmerhmm: + Process count: 5 + CPU time: Sys=0:00:00.2, User=0:00:00.7 + Memory: 54.8M + Disk usage: 276.9K + Time elapsed: 0:00:12.4 - During handling of the above exception, another exception occurred: - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/requests/adapters.py", line 439, in send - resp = conn.urlopen( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 754, in urlopen - return self.urlopen( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 754, in urlopen - return self.urlopen( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 754, in urlopen - return self.urlopen( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/connectionpool.py", line 726, in urlopen - retries = retries.increment( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/urllib3/util/retry.py", line 446, in increment - raise MaxRetryError(_pool, url, error or ResponseError(cause)) - urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='ccb.jhu.edu', port=443): Max retries exceeded with url: /software/glimmerhmm/dl/GlimmerHMM-3.0.4.tar.gz (Caused by SSLError(SSLError(1, '[SSL: WRONG_SIGNATURE_TYPE] wrong signature type (_ssl.c:1131)'))) + Packaging glimmerhmm + Packaging glimmerhmm-3.0.4-pl5321h4a92bd6_8 + - During handling of the above exception, another exception occurred: - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda/gateways/connection/download.py", line 48, in download - resp = session.get(url, stream=True, proxies=session.proxies, timeout=timeout) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/requests/sessions.py", line 546, in get - return self.request('GET', url, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/requests/sessions.py", line 533, in request - resp = self.send(prep, **send_kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/requests/sessions.py", line 646, in send - r = adapter.send(request, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/requests/adapters.py", line 514, in send - raise SSLError(e, request=request) - requests.exceptions.SSLError: HTTPSConnectionPool(host='ccb.jhu.edu', port=443): Max retries exceeded with url: /software/glimmerhmm/dl/GlimmerHMM-3.0.4.tar.gz (Caused by SSLError(SSLError(1, '[SSL: WRONG_SIGNATURE_TYPE] wrong signature type (_ssl.c:1131)'))) - During handling of the above exception, another exception occurred: + + error: /opt/mambaforge/envs/bioconda/conda-bld/glimmerhmm_1718142227412/_build_env/bin/x86_64-apple-darwin13.4.0-install_name_tool: changing install names or rpaths can't be redone for: /opt/mambaforge/envs/bioconda/conda-bld/glimmerhmm_1718142227412/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/share/glimmerhmm/train/splicescore (for architecture x86_64) because larger updated load commands do not fit (the program must be relinked, and you may need to use -headerpad or -headerpad_max_install_names) + + number of files: 491 Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2125, in build - try_download(m, no_download_source=False, raise_error=True) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/render.py", line 650, in try_download - source.provide(metadata) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/source.py", line 871, in provide - unpack(source_dict, src_dir, metadata.config.src_cache, recipe_path=metadata.path, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/source.py", line 146, in unpack - src_path, unhashed_fn = download_to_cache(cache_folder, recipe_path, source_dict, verbose) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/source.py", line 89, in download_to_cache - download(url, path) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda/exports.py", line 374, in download - return _download(url, dst_path, md5=md5sum, sha256=sha256, size=size) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda/common/io.py", line 84, in decorated - return f(*args, **kwds) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda/gateways/connection/download.py", line 152, in download - raise CondaSSLError( - conda.exceptions.CondaSSLError: Encountered an SSL error. Most likely a certificate verification issue. - - Exception: HTTPSConnectionPool(host='ccb.jhu.edu', port=443): Max retries exceeded with url: /software/glimmerhmm/dl/GlimmerHMM-3.0.4.tar.gz (Caused by SSLError(SSLError(1, '[SSL: WRONG_SIGNATURE_TYPE] wrong signature type (_ssl.c:1131)'))) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2711, in build + newly_built_packages = bundlers[pkg_type](output_d, m, env, stats) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 1850, in bundle_conda + files = post_process_files(metadata, initial_files) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 1664, in post_process_files + post_build(m, new_files, build_python=python) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/post.py", line 1727, in post_build + post_process_shared_lib(m, f, prefix_files, host_prefix) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/post.py", line 1603, in post_process_shared_lib + mk_relative_osx(path, host_prefix, m, files=files, rpaths=rpaths) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/post.py", line 491, in mk_relative_osx + macho.add_rpath(path, rpath_new, build_prefix=prefix, verbose=True) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/os_utils/macho.py", line 297, in add_rpath + raise RuntimeError("install_name_tool failed with exit status %d" % code) + RuntimeError: install_name_tool failed with exit status 1 # Last 100 lines of the build log. diff --git a/recipes/glimmerhmm/meta.yaml b/recipes/glimmerhmm/meta.yaml index 627e2e08693c2..ce211ef17fe62 100644 --- a/recipes/glimmerhmm/meta.yaml +++ b/recipes/glimmerhmm/meta.yaml @@ -7,7 +7,9 @@ source: url: https://ccb.jhu.edu/software/glimmerhmm/dl/GlimmerHMM-3.0.4.tar.gz build: - number: 6 + number: 8 + run_exports: + - {{ pin_subpackage('glimmerhmm', max_pin="x") }} requirements: build: @@ -28,3 +30,7 @@ about: home: https://ccb.jhu.edu/software/glimmerhmm/ license: Artistic License summary: "GlimmerHMM is a gene finder based on a Generalized Hidden Markov Model (GHMM)" + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/glimpse-bio/meta.yaml b/recipes/glimpse-bio/meta.yaml index 8d203f38d1089..a5023f751e4f5 100644 --- a/recipes/glimpse-bio/meta.yaml +++ b/recipes/glimpse-bio/meta.yaml @@ -5,7 +5,7 @@ package: version: {{ version }} build: - number: 1 + number: 2 source: url: https://github.com/odelaneau/GLIMPSE/archive/refs/tags/v{{ version }}.tar.gz diff --git a/recipes/gmap/build.sh b/recipes/gmap/build.sh index ed5ed8319b2d8..8cfc7039ac662 100644 --- a/recipes/gmap/build.sh +++ b/recipes/gmap/build.sh @@ -1,29 +1,43 @@ -#!/bin/bash +#!/bin/bash -euo -export INCLUDE_PATH=${PREFIX}/include -export LIBRARY_PATH=${PREFIX}/lib +export M4="${BUILD_PREFIX}/bin/m4" +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" export CFLAGS="${CFLAGS} -O3" export CPPFLAGS="${CPPFLAGS} -I${PREFIX}/include" -if [ "$(uname)" == "Darwin" ]; then +export LC_ALL=en_US.UTF-8 + +if [[ "$(uname)" == "Darwin" ]]; then # for Mac OSX export LDFLAGS="${LDFLAGS} -headerpad_max_install_names" - export CFLAGS="${CFLAGS} -m64" + export CFLAGS="${CFLAGS} -m64 -Wno-implicit-function-declaration -Wno-deprecated-non-prototype" + export LC_ALL=C fi -export LANGUAGE=en_US.UTF-8 -export LANG=en_US.UTF-8 -export LC_ALL=en_US.UTF-8 +case $(uname -m) in + x86_64) + SIMD_LEVEL="sse42" + ;; + aarch64) + SIMD_LEVEL="arm" + ;; + arm64) + SIMD_LEVEL="arm" + ;; + *) + SIMD_LEVEL="none" + ;; +esac -autoconf -autoheader +autoreconf -if ./configure CC="${CC}" CFLAGS="${CFLAGS}" \ CPPFLAGS="${CPPFLAGS}" \ LDFLAGS="${LDFLAGS}" \ --prefix="${PREFIX}" \ --with-gmapdb="${PREFIX}/share" \ - --with-simd-level=sse42 + --with-simd-level="${SIMD_LEVEL}" make -j"${CPU_COUNT}" make install @@ -48,5 +62,7 @@ sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' ${PREFIX}/bin/md_coords sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' ${PREFIX}/bin/psl_genes sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' ${PREFIX}/bin/psl_introns sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' ${PREFIX}/bin/psl_splicesites +sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' ${PREFIX}/bin/snpindex sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' ${PREFIX}/bin/vcf_iit +rm -rf ${PREFIX}/bin/*.bak diff --git a/recipes/gmap/meta.yaml b/recipes/gmap/meta.yaml index 13f1ad8b29cb3..73317212bce16 100644 --- a/recipes/gmap/meta.yaml +++ b/recipes/gmap/meta.yaml @@ -1,6 +1,6 @@ {% set name = "GMAP" %} -{% set version = "2023.10.10" %} -{% set sha256 = "f76cc3d0024c6c963ea1c13e46236b62a548d965ad8e295a181f138b82aca36e" %} +{% set version = "2024.10.10" %} +{% set sha256 = "634952166008886f6f61bccbd32fd1a258a687aa2d5c65f0bbf58a41d34cb6f6" %} package: name: {{ name|lower }} @@ -13,7 +13,8 @@ source: - single_quote_paths.patch build: - number: 1 + number: 0 + skip: True # [osx and x86_64] run_exports: - {{ pin_subpackage('gmap', max_pin=None) }} @@ -22,8 +23,10 @@ requirements: - make - {{ compiler('c') }} - autoconf - - perl + - automake + - libtool host: + - perl - zlib - bzip2 run: @@ -36,13 +39,17 @@ test: - "gsnap --help" about: - home: "http://research-pub.gene.com/gmap/" + home: "http://research-pub.gene.com/gmap" license: "Apache-2.0" license_family: APACHE license_file: LICENSE summary: "Genomic mapping and alignment program for mRNA and EST sequences." + dev_url: "http://research-pub.gene.com/gmap" + doc_url: "http://research-pub.gene.com/gmap" extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:gmap - biotools:gsnap diff --git a/recipes/gmap/single_quote_paths.patch b/recipes/gmap/single_quote_paths.patch index eb91cc0d478f1..d84b680d54a59 100644 --- a/recipes/gmap/single_quote_paths.patch +++ b/recipes/gmap/single_quote_paths.patch @@ -35,7 +35,7 @@ --- a/util/gmap_build.pl.in 2020-06-01 02:24:13.000000000 +0200 +++ b/util/gmap_build.pl.in 2020-06-18 12:50:12.031880110 +0200 -@@ -14,7 +14,7 @@ +@@ -14,7 +14,7 @@ use Getopt::Long; Getopt::Long::Configure(qw(no_auto_abbrev no_ignore_case_always)); # Default values @@ -44,15 +44,14 @@ my $sampling = 3; my $sleeptime = 2; -@@ -92,7 +92,7 @@ - print STDERR "Writing files under $user_gmapdb\n"; - $gmapdb = $user_gmapdb; +@@ -99,7 +99,7 @@ if (defined($user_genomedb)) { + print STDERR "Writing genome files under $user_genomedb\n"; + $genomedb = $user_genomedb; } else { -- $gmapdb = "@GMAPDB@"; -+ $gmapdb = '@GMAPDB@'; - print STDERR "Destination directory not defined with -D flag, so writing files under $gmapdb\n"; - } - +- $genomedb = "@GMAPDB@"; ++ $genomedb = '@GMAPDB@'; + print STDERR "Destination directory for genome not defined with -D flag, so writing files under $genomedb\n"; + } --- a/util/gmap_cat.pl.in 2020-04-22 20:17:57.000000000 +0200 diff --git a/recipes/gmm-demux/meta.yaml b/recipes/gmm-demux/meta.yaml new file mode 100644 index 0000000000000..7836d387489f5 --- /dev/null +++ b/recipes/gmm-demux/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "GMM-Demux" %} +{% set version = "0.2.2.3" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/GMM_Demux-{{ version }}.tar.gz + sha256: 989092feea7a61e309f6a75ce77246f619c2eff997f1f7a1a7457dfaf5a10ecf + +build: + entry_points: + - GMM-demux = GMM_Demux.GMM_Demux:main + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('gmm-demux', max_pin="x.x") }} + +requirements: + host: + - python + - pip + run: + - python + - pandas >=1.4.3 + - numpy >=1.22.4 + - scipy >=1.12.0 + - tabulate + - bitvector + - scikit-learn + +test: + imports: + - GMM_Demux + commands: + - GMM-demux --help + +about: + home: https://github.com/CHPGenetics/GMM-demux + summary: GMM-Demux is a Gaussian-Mixture-Model-based software for processing sample barcoding data (cell hashing and MULTI-seq). + license: MIT + license_family: MIT + license_file: LICENSE + dev_url: https://github.com/CHPGenetics/GMM-demux + +extra: + identifiers: + - doi:10.1186/s13059-020-02084-2 diff --git a/recipes/gmsc-mapper/meta.yaml b/recipes/gmsc-mapper/meta.yaml new file mode 100644 index 0000000000000..52d5894f99a1a --- /dev/null +++ b/recipes/gmsc-mapper/meta.yaml @@ -0,0 +1,58 @@ +{% set name = "GMSC-mapper" %} +{% set version = "0.1.0" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://github.com/BigDataBiology/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz" + sha256: 30cc09425028969ce9847a7c55d93919921fef7d91a138bfff2b9a1e31bc2921 + +build: + noarch: python + number: 0 + run_exports: + - {{ pin_compatible(name, max_pin="x.x") }} + entry_points: + - gmsc-mapper=gmsc_mapper.main:main + script: {{ PYTHON }} -m pip install --no-deps . -vv + +requirements: + host: + - pip + - python >=3.7 + run: + - atomicwrites + - biopython + - Bottleneck + - certifi + - numexpr + - numpy + - packaging + - pandas + - pyparsing + - pyrodigal + - python-dateutil + - pytz + - six + - python >=3.7 + - mmseqs2 + - diamond >=2.0.13 + +test: + imports: + - gmsc_mapper + commands: + - gmsc-mapper --help + +about: + home: "https://github.com/BigDataBiology/GMSC-mapper" + license: MIT + license_family: MIT + summary: "GMSC-mapper is a command line tool to query the Global Microbial smORFs Catalog (GMSC)." + +extra: + recipe-maintainers: + - luispedro + - cocodyq diff --git a/recipes/gmtk/meta.yaml b/recipes/gmtk/meta.yaml index 030654ccfc30d..c2027036abc70 100644 --- a/recipes/gmtk/meta.yaml +++ b/recipes/gmtk/meta.yaml @@ -3,7 +3,7 @@ package: version: "1.4.4" build: - number: 14 + number: 15 skip: True # [osx] source: diff --git a/recipes/gmwi2/meta.yaml b/recipes/gmwi2/meta.yaml index 1a93956e3f40b..f869ede61ffd9 100644 --- a/recipes/gmwi2/meta.yaml +++ b/recipes/gmwi2/meta.yaml @@ -1,5 +1,5 @@ {% set name = "gmwi2" %} -{% set version = "1.5" %} +{% set version = "1.6" %} package: name: "{{ name }}" @@ -14,7 +14,7 @@ build: source: url: https://github.com/danielchang2002/GMWI2/archive/{{version}}.tar.gz - sha256: de63741ecc88c3d13b4b259a495e938d9b026950e9ff100b6e465f8e0c38a419 + sha256: 0751b5030a8ce51cea924393872ff128d4c76444b980bc41b23b83a310c125b0 requirements: host: @@ -37,7 +37,6 @@ test: commands: - metaphlan --version - gmwi2 --version - - repair.sh --version - fastqc --version - bowtie2 --version - samtools --version diff --git a/recipes/gnparser/meta.yaml b/recipes/gnparser/meta.yaml index 6c8f65f4ec4df..c58f527694af0 100644 --- a/recipes/gnparser/meta.yaml +++ b/recipes/gnparser/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "1.9.0" %} -{% set sha256 = "c326fe0398fafde9048f67962064cce741996a533e48180b27c5548e4b7289ab" %} +{% set version = "1.10.3" %} +{% set sha256 = "899661ab88b716b7c1e3c4430bfb388997e510b28961e0246c361407f34cf0d2" %} package: name: "gnparser" diff --git a/recipes/gofasta/meta.yaml b/recipes/gofasta/meta.yaml index 243c4d0ec9f15..0064cbdb824bc 100644 --- a/recipes/gofasta/meta.yaml +++ b/recipes/gofasta/meta.yaml @@ -13,7 +13,9 @@ requirements: - {{ compiler('go-nocgo') }} build: - number: 0 + number: 2 + run_exports: + - {{ pin_subpackage('gofasta', max_pin="x") }} script: - mkdir -p $PREFIX/bin - go build -o $PREFIX/bin/gofasta @@ -27,3 +29,8 @@ about: license: MIT license_file: LICENSE summary: Genomic epidemiology utilities for short genome alignments + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/gogstools/meta.yaml b/recipes/gogstools/meta.yaml index caf47a4d47b53..2ccbece7643eb 100644 --- a/recipes/gogstools/meta.yaml +++ b/recipes/gogstools/meta.yaml @@ -1,5 +1,5 @@ {% set name = "gogstools" %} -{% set version = "0.1.1" %} +{% set version = "0.1.2" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 65c94fe72ba529f9ba63f18c2a9fdc9c0ceeda350ae88faaab6f7185d5d968ae + sha256: 8fd83e481de68a9f7280a612043a72e851c102cca6536e12be4bf1dc7a008404 build: number: 0 diff --git a/recipes/goldrush/meta.yaml b/recipes/goldrush/meta.yaml index c4f4260040bd1..f9a23e06eccd6 100644 --- a/recipes/goldrush/meta.yaml +++ b/recipes/goldrush/meta.yaml @@ -1,27 +1,27 @@ {% set name = "goldrush" %} -{% set version = "1.1.0" %} +{% set version = "1.2.0" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://github.com/bcgsc/goldrush/releases/download/{{ version }}/{{ name|lower }}-{{ version }}.tar.xz - sha256: b1687aab7e9b44074fe1e2aa1f49d4e851677622c7869f24c011ba73bb3cbdcf + url: https://github.com/bcgsc/goldrush/releases/download/{{ version }}/{{ name|lower }}-{{ version }}.tar.gz + sha256: 3f70860ed92b9313dbab16efed65ea7bc6080d78b4e18afc8cb910e086a7f0f7 build: skip: true # [py < 38 or win or py > 39] - number: 1 + number: 0 run_exports: {{ pin_subpackage("goldrush", max_pin="x") }} requirements: build: - {{ compiler('cxx') }} - host: - - python - meson - ninja - cmake + host: + - python - llvm-openmp # [osx] - libgomp # [linux] - gperftools @@ -30,6 +30,7 @@ requirements: - libdivsufsort - sparsehash - btllib >=1.6.2 + - intervaltree run: - make - python @@ -39,6 +40,7 @@ requirements: - minimap2 - gperftools - bc + - snakemake test: commands: diff --git a/recipes/goleft/build.sh b/recipes/goleft/build.sh index 49d4ada78fb2a..5b317e41721de 100644 --- a/recipes/goleft/build.sh +++ b/recipes/goleft/build.sh @@ -1,4 +1,4 @@ #!/bin/bash -chmod a+x golef* +chmod a+x goleft* mkdir -p $PREFIX/bin cp goleft* $PREFIX/bin/goleft diff --git a/recipes/goleft/meta.yaml b/recipes/goleft/meta.yaml index 48a4be6f328e7..0b170fe53ab2d 100644 --- a/recipes/goleft/meta.yaml +++ b/recipes/goleft/meta.yaml @@ -1,18 +1,22 @@ -{% set version = "0.2.4" %} +{% set version = "0.2.6" %} package: name: goleft version: '{{ version }}' source: - - url: https://github.com/brentp/goleft/releases/download/v{{ version }}/goleft_linux64 # [linux] - sha256: 5f8df703f7a369213961b4fc583aa625012548fb213dd906eaaeaaed89a319ab # [linux] + - url: https://github.com/brentp/goleft/releases/download/v{{ version }}/goleft_linux64 # [linux and x86_64] + sha256: 3fbb8076c1b2da4a1d7bcb5edd0cc879fe608066c0ca58221db155e7edd5bcb3 # [linux and x86_64] + - url: https://github.com/brentp/goleft/releases/download/v{{ version }}/goleft_linux_aarch64 # [linux and aarch64] + sha256: bf3179de66297b916e720f72a4afd57fef937b098d869926d5ac967f9634b8b8 # [linux and aarch64] - url: https://github.com/brentp/goleft/releases/download/v{{ version }}/goleft_osx # [osx] - sha256: eab89fe80063095f9d01d02bac6770ea9ef102abab900ce01477ebb6fd9bdebc # [osx] + sha256: 1aebf606658b1007669d96a76de9a1a3106b5caa4c4d5b786a75339d35d0e54e # [osx] build: - number: 1 + number: 0 binary_relocation: false + run_exports: + - {{ pin_subpackage('goleft', max_pin='x.x') }} requirements: run: @@ -29,6 +33,8 @@ about: summary: goleft is a collection of bioinformatics tools distributed under MIT license in a single static binary extra: + additional-platforms: + - linux-aarch64 skip-lints: - should_be_noarch_generic - should_not_be_noarch_source diff --git a/recipes/gottcha2/meta.yaml b/recipes/gottcha2/meta.yaml new file mode 100644 index 0000000000000..50a0db70f10d7 --- /dev/null +++ b/recipes/gottcha2/meta.yaml @@ -0,0 +1,51 @@ +{% set name = "GOTTCHA2" %} +{% set version = "2.1.8.6" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +build: + noarch: python + number: 0 + script: {{ PYTHON }} -m pip install -vvv --no-deps --no-build-isolation . + entry_points: + - gottcha2 = cmd:gottcha2_command + run_exports: + - {{ pin_subpackage('gottcha2', max_pin='x') }} + +source: + url: https://github.com/poeli/GOTTCHA2/archive/refs/tags/{{ version }}.tar.gz + sha256: 18ae74fa448e837ade605676334c5c37cda07473a6cf0105937d8afe1b017359 + +requirements: + host: + - python >=3.6 + - pip + run: + - python >=3.6 + - minimap2 >=2.17 + - gawk + - biom-format >=2.1.7 + - numpy + - pandas + - requests + - tqdm + +test: + commands: + - minimap2 -h + - gawk -h + - gottcha2.py --version + +about: + home: https://github.com/poeli/GOTTCHA2 + license: BSD-3-Clause + license_family: BSD + license_file: LICENSE + summary: 'Genomic Origin Through Taxonomic CHAllenge (GOTTCHA) v2' + dev_url: https://github.com/poeli/GOTTCHA2 + +extra: + identifiers: + - biotools:gottcha2 diff --git a/recipes/gottcha2/post-link.sh b/recipes/gottcha2/post-link.sh new file mode 100644 index 0000000000000..11273771bc6f1 --- /dev/null +++ b/recipes/gottcha2/post-link.sh @@ -0,0 +1,5 @@ +echo " +GOTTCHA2 installed. The database can be download at: + +https://ref-db.edgebioinformatics.org/gottcha2/ +" > $PREFIX/.messages.txt \ No newline at end of file diff --git a/recipes/grabix/meta.yaml b/recipes/grabix/meta.yaml index 83e16c66f818a..c08d290d74b4e 100644 --- a/recipes/grabix/meta.yaml +++ b/recipes/grabix/meta.yaml @@ -4,11 +4,14 @@ package: version: "0.1.8" build: - number: 9 + number: 10 + run_exports: + - {{ pin_subpackage('grabix', max_pin="x.x") }} source: url: https://github.com/arq5x/grabix/archive/{{ revision }}.tar.gz md5: eb8805bed149ef56669ef19abba19b80 + requirements: build: - {{ compiler('cxx') }} @@ -16,10 +19,16 @@ requirements: - zlib run: - zlib + test: commands: - grabix + about: home: https://github.com/arq5x/grabix summary: a wee tool for random access into BGZF files. license: MIT + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/graftm/meta.yaml b/recipes/graftm/meta.yaml index 79ebc38c5a444..f87658e99ed0b 100644 --- a/recipes/graftm/meta.yaml +++ b/recipes/graftm/meta.yaml @@ -1,10 +1,10 @@ package: name: graftm - version: "0.15.0" + version: "0.15.1" source: - url: https://files.pythonhosted.org/packages/6f/dc/8c7b874a0fbeaa4ffb613aa0dcee722222ba0c06276e42881cac79048fc7/graftm-0.15.0.tar.gz - sha256: 794b2c6a8fff36c81db8b9a544ac021ab1397c569638bf7651ce5329db36de21 + url: https://files.pythonhosted.org/packages/bf/a7/283e41730d4d63c87d0fdb055357307d18bc7ca1736f6156baf46762343a/graftm-0.15.1.tar.gz + sha256: 80d828c311d2d6067977cfad5b6bac7cbc5d223ef8ab770d676b39bf2bc75163 build: number: 0 diff --git a/recipes/graphaligner/meta.yaml b/recipes/graphaligner/meta.yaml index ff837db9ff3f9..b2b5dde214141 100644 --- a/recipes/graphaligner/meta.yaml +++ b/recipes/graphaligner/meta.yaml @@ -1,19 +1,19 @@ {% set name = "GraphAligner" %} -{% set version = "1.0.18" %} +{% set version = "1.0.19" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://github.com/maickrau/{{ name }}/files/13412859/{{ name }}.tar.gz - sha256: 69d248332c1df732b74571f9910d3390bfeb48165fb9d99a892ec0a71ab1291f + url: https://github.com/maickrau/{{ name }}/files/14037134/{{ name }}.tar.gz + sha256: b65d26d415c3fd459bf2fc884b3d48dc0c55f7e9135e700c5c38d62be8ee39fc patches: - version.patch - linux_link.patch # [linux] build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage('graphaligner', max_pin="x.x") }} diff --git a/recipes/graphbin/meta.yaml b/recipes/graphbin/meta.yaml index 38193911b89b9..9f7a0c6dd5008 100644 --- a/recipes/graphbin/meta.yaml +++ b/recipes/graphbin/meta.yaml @@ -1,28 +1,32 @@ {% set name = "GraphBin" %} -{% set version = "1.7.1" %} +{% set version = "1.7.4" %} package: name: "{{ name|lower }}" version: "{{ version }}" source: - url: "https://github.com/metagentools/{{ name }}/releases/download/v{{ version }}/{{ name }}-{{ version }}.tar.gz" - sha256: 605de80cd132c349ffd0dffbece4cd265f120df19d9258a79cfea1e73276fa6c + url: "https://github.com/metagentools/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz" + sha256: b1c7080aa61535fb3112e4fe3aae186b346a0074eec6e93650564a3b349cc69c build: number: 0 noarch: python + entry_points: + - graphbin = graphbin.cli:main script: - - "{{ PYTHON }} -m pip install . -vv" + - "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + run_exports: + - {{ pin_subpackage('graphbin', max_pin="x") }} requirements: host: - pip - - python + - python >=3.7,<3.11 - flit-core run: - cairocffi - - python >=3.7.1,<3.11 + - python >=3.7,<3.11 - python-igraph - tqdm - click @@ -35,6 +39,7 @@ test: about: home: "https://github.com/Vini2/GraphBin" license: BSD-3 + license_family: BSD license_file: LICENSE summary: "GraphBin: Refined binning of metagenomic contigs using assembly graphs" description: | diff --git a/recipes/graphbin2/meta.yaml b/recipes/graphbin2/meta.yaml new file mode 100644 index 0000000000000..e1f542ba39620 --- /dev/null +++ b/recipes/graphbin2/meta.yaml @@ -0,0 +1,52 @@ +{% set name = "GraphBin2" %} +{% set version = "1.3.3" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://github.com/metagentools/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz" + sha256: 03ab89dbb6d26c9b414ff808598c295cf22fd3af22816a5c9fada94104a79686 + +build: + number: 0 + noarch: python + run_exports: + - {{ pin_subpackage('graphbin2', max_pin="x.x") }} + script: + - "{{ PYTHON }} -m pip install . -vv" + +requirements: + host: + - pip + - python + - flit-core + run: + - cairocffi + - python >=3.9 + - python-igraph + - cogent3 + - tqdm + - click + - scipy + +test: + commands: + - graphbin2 --help + +about: + home: "https://github.com/metagentools/GraphBin2" + license: BSD-3 + license_file: LICENSE + summary: "GraphBin2: Refined and Overlapped Binning of Metagenomic Contigs Using Assembly Graphs" + description: | + GraphBin2 is a metagenomic contig bin-refinement tool that makes use of assembly graphs and can assign contigs to multiple bins. + doc_url: "https://graphbin2.readthedocs.io/" + dev_url: "https://github.com/metagentools/GraphBin2" + +extra: + recipe-maintainers: + - Vini2 + identifiers: + - doi:10.1186/s13015-021-00185-6 diff --git a/recipes/graphembed/build.sh b/recipes/graphembed/build.sh new file mode 100644 index 0000000000000..169790fc0d311 --- /dev/null +++ b/recipes/graphembed/build.sh @@ -0,0 +1,8 @@ +#!/bin/bash -euo + +# Add workaround for SSH-based Git connections from Rust/cargo. See https://github.com/rust-lang/cargo/issues/2078 for details. +# We set CARGO_HOME because we don't pass on HOME to conda-build, thus rendering the default "${HOME}/.cargo" defunct. +export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="$(pwd)/.cargo" + +# build statically linked binary with Rust +RUST_BACKTRACE=1 cargo install --features intel-mkl-static,simdeez_f --verbose --path . --root $PREFIX diff --git a/recipes/graphembed/meta.yaml b/recipes/graphembed/meta.yaml new file mode 100644 index 0000000000000..edbbcb2d2f647 --- /dev/null +++ b/recipes/graphembed/meta.yaml @@ -0,0 +1,35 @@ +{% set version = "0.1.2" %} + +package: + name: graphembed + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage('graphembed', max_pin="x.x") }} + skip: True # [osx] +source: + url: https://github.com/jianshu93/graphembed/archive/v{{ version }}.tar.gz + sha256: 9e3d87b57b493768dbb38feb1084b41f79141a12775373cac74a2798c9c9cd56 + +requirements: + build: + - {{ compiler("cxx") }} + - {{ compiler('c') }} + - rust >=1.69 + - make + - cmake + +test: + commands: + - graphembed -h + +about: + home: https://github.com/jean-pierreBoth/graphembed + license: MIT + summary: Efficient and Robust Graph Embedding via High-Order Proximity Preservation or Recursive Sketching +extra: + maintainers: + - Jean Pierre-Both + - Jianshu Zhao diff --git a/recipes/graphmap/build.sh b/recipes/graphmap/build.sh index 84d5270b03c2f..8d0b68e45a2ef 100644 --- a/recipes/graphmap/build.sh +++ b/recipes/graphmap/build.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -xe + export CPP_INCLUDE_PATH=${PREFIX}/include export CPLUS_INCLUDE_PATH=${PREFIX}/include export CXX_INCLUDE_PATH=${PREFIX}/include @@ -10,10 +12,10 @@ mkdir -p $PREFIX/bin make modules if [ "$(uname)" == "Darwin" ]; then echo "Installing GraphMap for OSX." - make mac GCC=$CXX GCC_MAC=$CXX + make -j ${CPU_COUNT} mac GCC=$CXX GCC_MAC=$CXX cp bin/Mac/graphmap $PREFIX/bin/graphmap2 else echo "Installing GraphMap for UNIX/Linux." - make GCC=$CXX LD_FLAGS="$LDFLAGS -static-libgcc -static-libstdc++ -m64 -ffreestanding" + make -j ${CPU_COUNT} GCC=$CXX LD_FLAGS="$LDFLAGS -static-libgcc -static-libstdc++ -ffreestanding" cp bin/Linux-x64/graphmap2 $PREFIX/bin fi diff --git a/recipes/graphmap/graphmap2-aarch64.patch b/recipes/graphmap/graphmap2-aarch64.patch new file mode 100644 index 0000000000000..48899e5c02618 --- /dev/null +++ b/recipes/graphmap/graphmap2-aarch64.patch @@ -0,0 +1,9034 @@ +diff --git c/Makefile i/Makefile +index b709f1c..ac14179 100755 +--- c/Makefile ++++ i/Makefile +@@ -44,12 +44,12 @@ CC_LIBS = -static-libgcc -static-libstdc++ -D__cplusplus=201103L + # INCLUDE = -I"./src/" -I"/usr/include/" -I"src/libs/seqan-library-1.4.2/include" + INCLUDE = -I"./src/" -I"/usr/include/" -I"$(CODEBASE)/seqlib/src/libs/seqan-library-2.0.1/include" -I"$(CODEBASE)/seqlib/src/libs/libdivsufsort-2.0.1-64bit/" $(CODEBASE_SRC_FOLDERS) + +-CC_FLAGS_DEBUG = -O3 -g -rdynamic -c -fmessage-length=0 -ffreestanding -fopenmp -m64 -std=c++11 -Werror=return-type -pthread -march=native +-CC_FLAGS_RELEASE = -DRELEASE_VERSION -g -O3 -fdata-sections -ffunction-sections -c -fmessage-length=0 -ffreestanding -fopenmp -m64 -std=c++11 -Werror=return-type -pthread # -march=native +-CC_FLAGS_EXTCIGAR = -DRELEASE_VERSION -DUSE_EXTENDED_CIGAR_FORMAT -g -O3 -fdata-sections -ffunction-sections -c -fmessage-length=0 -ffreestanding -fopenmp -m64 -std=c++11 -Werror=return-type -pthread -march=native +-CC_FLAGS_NOT_RELEASE = -g -O3 -fdata-sections -ffunction-sections -c -fmessage-length=0 -ffreestanding -fopenmp -m64 -std=c++11 -Werror=return-type -Wuninitialized -pthread -march=native +-CC_FLAGS_NOT_RELEASE_EXT = -g -O3 -DUSE_EXTENDED_CIGAR_FORMAT -fdata-sections -ffunction-sections -c -fmessage-length=0 -ffreestanding -fopenmp -m64 -std=c++11 -Werror=return-type -Wuninitialized -pthread -march=native +-LD_FLAGS = -static-libgcc -static-libstdc++ -m64 -ffreestanding ++CC_FLAGS_DEBUG = -O3 -g -rdynamic -c -fmessage-length=0 -ffreestanding -fopenmp -std=c++11 -Werror=return-type -pthread -march=native ++CC_FLAGS_RELEASE = -DRELEASE_VERSION -g -O3 -fdata-sections -ffunction-sections -c -fmessage-length=0 -ffreestanding -fopenmp -std=c++11 -Werror=return-type -pthread # -march=native ++CC_FLAGS_EXTCIGAR = -DRELEASE_VERSION -DUSE_EXTENDED_CIGAR_FORMAT -g -O3 -fdata-sections -ffunction-sections -c -fmessage-length=0 -ffreestanding -fopenmp -std=c++11 -Werror=return-type -pthread -march=native ++CC_FLAGS_NOT_RELEASE = -g -O3 -fdata-sections -ffunction-sections -c -fmessage-length=0 -ffreestanding -fopenmp -std=c++11 -Werror=return-type -Wuninitialized -pthread -march=native ++CC_FLAGS_NOT_RELEASE_EXT = -g -O3 -DUSE_EXTENDED_CIGAR_FORMAT -fdata-sections -ffunction-sections -c -fmessage-length=0 -ffreestanding -fopenmp -std=c++11 -Werror=return-type -Wuninitialized -pthread -march=native ++LD_FLAGS = -static-libgcc -static-libstdc++ -ffreestanding + # LD_LIBS = -lpthread -lgomp -lm -lz -ldivsufsort64 + LD_LIBS = -lpthread -lgomp -lm -lz + +diff --git c/src/ksw2/ksw2_extd2_sse.cc i/src/ksw2/ksw2_extd2_sse.cc +index 56cd8cd..85da803 100644 +--- c/src/ksw2/ksw2_extd2_sse.cc ++++ i/src/ksw2/ksw2_extd2_sse.cc +@@ -3,13 +3,25 @@ + #include + #include "ksw2.h" + +-#ifdef __SSE2__ +-#include ++#ifdef __x86_64__ ++ #ifdef __SSE2__ ++ #include ++ #define KSW_EXTD2_SSE_SUPPORTED 1 ++ #endif // __SSE2__ + +-#ifdef __SSE4_1__ +-#include +-#endif ++ #ifdef __SSE4_1__ ++ #include ++ #endif ++#else ++ #define SSE2NEON_PRECISE_MINMAX 1 ++ #define SSE2NEON_PRECISE_DIV 1 ++ #define SSE2NEON_PRECISE_SQRT 1 ++ #define SSE2NEON_PRECISE_DP 1 ++ #include "sse2neon.h" ++ #define KSW_EXTD2_SSE_SUPPORTED 1 ++#endif //__x86_64__ + ++#ifdef KSW_EXTD2_SSE_SUPPORTED + void ksw_extd2_sse(void *km, int qlen, const uint8_t *query, int tlen, const uint8_t *target, int8_t m, const int8_t *mat, + int8_t q, int8_t e, int8_t q2, int8_t e2, int w, int zdrop, int flag, ksw_extz_t *ez) + { +@@ -371,4 +383,4 @@ void ksw_extd2_sse(void *km, int qlen, const uint8_t *query, int tlen, const uin + kfree(km, mem2); kfree(km, off); + } + } +-#endif // __SSE2__ ++#endif // KSW_EXTD2_SSE_SUPPORTED +diff --git c/src/ksw2/ksw2_exts2_sse.cc i/src/ksw2/ksw2_exts2_sse.cc +index 6decd2d..3191355 100644 +--- c/src/ksw2/ksw2_exts2_sse.cc ++++ i/src/ksw2/ksw2_exts2_sse.cc +@@ -3,13 +3,25 @@ + #include + #include "ksw2.h" + +-#ifdef __SSE2__ +-#include ++#ifdef __x86_64__ ++ #ifdef __SSE2__ ++ #include ++ #define KSW_EXTS2_SSE_SUPPORTED 1 ++ #endif // __SSE2__ + +-#ifdef __SSE4_1__ +-#include +-#endif ++ #ifdef __SSE4_1__ ++ #include ++ #endif ++#else ++ #define SSE2NEON_PRECISE_MINMAX 1 ++ #define SSE2NEON_PRECISE_DIV 1 ++ #define SSE2NEON_PRECISE_SQRT 1 ++ #define SSE2NEON_PRECISE_DP 1 ++ #include "sse2neon.h" ++ #define KSW_EXTS2_SSE_SUPPORTED 1 ++#endif //__x86_64__ + ++#ifdef KSW_EXTS2_SSE_SUPPORTED + void ksw_exts2_sse(void *km, int qlen, const uint8_t *query, int tlen, const uint8_t *target, int8_t m, const int8_t *mat, + int8_t q, int8_t e, int8_t q2, int8_t noncan, int zdrop, int flag, ksw_extz_t *ez) + { +@@ -354,4 +366,4 @@ void ksw_exts2_sse(void *km, int qlen, const uint8_t *query, int tlen, const uin + kfree(km, mem2); kfree(km, off); + } + } +-#endif // __SSE2__ ++#endif // KSW_EXTS2_SSE_SUPPORTED +diff --git c/src/ksw2/ksw2_extz2_sse.cc i/src/ksw2/ksw2_extz2_sse.cc +index f21f184..6df4b64 100644 +--- c/src/ksw2/ksw2_extz2_sse.cc ++++ i/src/ksw2/ksw2_extz2_sse.cc +@@ -2,13 +2,26 @@ + #include + #include "ksw2.h" + +-#ifdef __SSE2__ +-#include + +-#ifdef __SSE4_1__ +-#include +-#endif ++#ifdef __x86_64__ ++ #ifdef __SSE2__ ++ #include ++ #define KSW_EXTZ2_SSE_SUPPORTED 1 ++ #endif // __SSE2__ ++ ++ #ifdef __SSE4_1__ ++ #include ++ #endif ++#else ++ #define SSE2NEON_PRECISE_MINMAX 1 ++ #define SSE2NEON_PRECISE_DIV 1 ++ #define SSE2NEON_PRECISE_SQRT 1 ++ #define SSE2NEON_PRECISE_DP 1 ++ #include "sse2neon.h" ++ #define KSW_EXTZ2_SSE_SUPPORTED 1 ++#endif //__x86_64__ + ++#ifdef KSW_EXTZ2_SSE_SUPPORTED + void ksw_extz2_sse(void *km, int qlen, const uint8_t *query, int tlen, const uint8_t *target, int8_t m, const int8_t *mat, int8_t q, int8_t e, int w, int zdrop, int flag, ksw_extz_t *ez) + { + #define __dp_code_block1 \ +@@ -284,4 +297,4 @@ void ksw_extz2_sse(void *km, int qlen, const uint8_t *query, int tlen, const uin + kfree(km, mem2); kfree(km, off); + } + } +-#endif // __SSE2__ ++#endif // KSW_EXTZ2_SSE_SUPPORTED +diff --git c/src/ksw2/ksw2_ll_sse.cc i/src/ksw2/ksw2_ll_sse.cc +index 6e13049..e2d49bf 100644 +--- c/src/ksw2/ksw2_ll_sse.cc ++++ i/src/ksw2/ksw2_ll_sse.cc +@@ -1,16 +1,26 @@ + #include + #include + #include +-#include + #include "ksw2.h" + ++#ifdef __x86_64__ ++ #include ++ ++#else ++ #define SSE2NEON_PRECISE_MINMAX 1 ++ #define SSE2NEON_PRECISE_DIV 1 ++ #define SSE2NEON_PRECISE_SQRT 1 ++ #define SSE2NEON_PRECISE_DP 1 ++ #include "sse2neon.h" ++#endif //__x86_64__ ++ + #ifdef __GNUC__ + #define LIKELY(x) __builtin_expect((x),1) + #define UNLIKELY(x) __builtin_expect((x),0) + #else + #define LIKELY(x) (x) + #define UNLIKELY(x) (x) +-#endif ++#endif // __GNUC__ + + typedef struct { + int qlen, slen; +diff --git c/src/sse2neon.h i/src/sse2neon.h +new file mode 100644 +index 0000000..44d26af +--- /dev/null ++++ i/src/sse2neon.h +@@ -0,0 +1,8848 @@ ++#ifndef SSE2NEON_H ++#define SSE2NEON_H ++ ++// This header file provides a simple API translation layer ++// between SSE intrinsics to their corresponding Arm/Aarch64 NEON versions ++// ++// This header file does not yet translate all of the SSE intrinsics. ++// ++// Contributors to this work are: ++// John W. Ratcliff ++// Brandon Rowlett ++// Ken Fast ++// Eric van Beurden ++// Alexander Potylitsin ++// Hasindu Gamaarachchi ++// Jim Huang ++// Mark Cheng ++// Malcolm James MacLeod ++// Devin Hussey (easyaspi314) ++// Sebastian Pop ++// Developer Ecosystem Engineering ++// Danila Kutenin ++// François Turban (JishinMaster) ++// Pei-Hsuan Hung ++// Yang-Hao Yuan ++// Syoyo Fujita ++// Brecht Van Lommel ++ ++/* ++ * sse2neon is freely redistributable under the MIT License. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to deal ++ * in the Software without restriction, including without limitation the rights ++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++ * copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ * SOFTWARE. ++ */ ++ ++/* Tunable configurations */ ++ ++/* Enable precise implementation of math operations ++ * This would slow down the computation a bit, but gives consistent result with ++ * x86 SSE. (e.g. would solve a hole or NaN pixel in the rendering result) ++ */ ++/* _mm_min|max_ps|ss|pd|sd */ ++#ifndef SSE2NEON_PRECISE_MINMAX ++#define SSE2NEON_PRECISE_MINMAX (0) ++#endif ++/* _mm_rcp_ps and _mm_div_ps */ ++#ifndef SSE2NEON_PRECISE_DIV ++#define SSE2NEON_PRECISE_DIV (0) ++#endif ++/* _mm_sqrt_ps and _mm_rsqrt_ps */ ++#ifndef SSE2NEON_PRECISE_SQRT ++#define SSE2NEON_PRECISE_SQRT (0) ++#endif ++/* _mm_dp_pd */ ++#ifndef SSE2NEON_PRECISE_DP ++#define SSE2NEON_PRECISE_DP (0) ++#endif ++ ++/* compiler specific definitions */ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma push_macro("FORCE_INLINE") ++#pragma push_macro("ALIGN_STRUCT") ++#define FORCE_INLINE static inline __attribute__((always_inline)) ++#define ALIGN_STRUCT(x) __attribute__((aligned(x))) ++#define _sse2neon_likely(x) __builtin_expect(!!(x), 1) ++#define _sse2neon_unlikely(x) __builtin_expect(!!(x), 0) ++#else /* non-GNU / non-clang compilers */ ++#warning "Macro name collisions may happen with unsupported compiler." ++#ifndef FORCE_INLINE ++#define FORCE_INLINE static inline ++#endif ++#ifndef ALIGN_STRUCT ++#define ALIGN_STRUCT(x) __declspec(align(x)) ++#endif ++#define _sse2neon_likely(x) (x) ++#define _sse2neon_unlikely(x) (x) ++#endif ++ ++/* C language does not allow initializing a variable with a function call. */ ++#ifdef __cplusplus ++#define _sse2neon_const static const ++#else ++#define _sse2neon_const const ++#endif ++ ++#include ++#include ++ ++/* Architecture-specific build options */ ++/* FIXME: #pragma GCC push_options is only available on GCC */ ++#if defined(__GNUC__) ++#if defined(__arm__) && __ARM_ARCH == 7 ++/* According to ARM C Language Extensions Architecture specification, ++ * __ARM_NEON is defined to a value indicating the Advanced SIMD (NEON) ++ * architecture supported. ++ */ ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error "You must enable NEON instructions (e.g. -mfpu=neon) to use SSE2NEON." ++#endif ++#if !defined(__clang__) ++#pragma GCC push_options ++#pragma GCC target("fpu=neon") ++#endif ++#elif defined(__aarch64__) ++#if !defined(__clang__) ++#pragma GCC push_options ++#pragma GCC target("+simd") ++#endif ++#elif __ARM_ARCH == 8 ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error \ ++ "You must enable NEON instructions (e.g. -mfpu=neon-fp-armv8) to use SSE2NEON." ++#endif ++#if !defined(__clang__) ++#pragma GCC push_options ++#endif ++#else ++#error "Unsupported target. Must be either ARMv7-A+NEON or ARMv8-A." ++#endif ++#endif ++ ++#include ++#if !defined(__aarch64__) && (__ARM_ARCH == 8) ++#if defined __has_include && __has_include() ++#include ++#endif ++#endif ++ ++/* Rounding functions require either Aarch64 instructions or libm failback */ ++#if !defined(__aarch64__) ++#include ++#endif ++ ++/* On ARMv7, some registers, such as PMUSERENR and PMCCNTR, are read-only ++ * or even not accessible in user mode. ++ * To write or access to these registers in user mode, ++ * we have to perform syscall instead. ++ */ ++#if !defined(__aarch64__) ++#include ++#endif ++ ++/* "__has_builtin" can be used to query support for built-in functions ++ * provided by gcc/clang and other compilers that support it. ++ */ ++#ifndef __has_builtin /* GCC prior to 10 or non-clang compilers */ ++/* Compatibility with gcc <= 9 */ ++#if defined(__GNUC__) && (__GNUC__ <= 9) ++#define __has_builtin(x) HAS##x ++#define HAS__builtin_popcount 1 ++#define HAS__builtin_popcountll 1 ++#else ++#define __has_builtin(x) 0 ++#endif ++#endif ++ ++/** ++ * MACRO for shuffle parameter for _mm_shuffle_ps(). ++ * Argument fp3 is a digit[0123] that represents the fp from argument "b" ++ * of mm_shuffle_ps that will be placed in fp3 of result. fp2 is the same ++ * for fp2 in result. fp1 is a digit[0123] that represents the fp from ++ * argument "a" of mm_shuffle_ps that will be places in fp1 of result. ++ * fp0 is the same for fp0 of result. ++ */ ++#define _MM_SHUFFLE(fp3, fp2, fp1, fp0) \ ++ (((fp3) << 6) | ((fp2) << 4) | ((fp1) << 2) | ((fp0))) ++ ++/* Rounding mode macros. */ ++#define _MM_FROUND_TO_NEAREST_INT 0x00 ++#define _MM_FROUND_TO_NEG_INF 0x01 ++#define _MM_FROUND_TO_POS_INF 0x02 ++#define _MM_FROUND_TO_ZERO 0x03 ++#define _MM_FROUND_CUR_DIRECTION 0x04 ++#define _MM_FROUND_NO_EXC 0x08 ++#define _MM_FROUND_RAISE_EXC 0x00 ++#define _MM_FROUND_NINT (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_FLOOR (_MM_FROUND_TO_NEG_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_CEIL (_MM_FROUND_TO_POS_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_TRUNC (_MM_FROUND_TO_ZERO | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_RINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_NEARBYINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_NO_EXC) ++#define _MM_ROUND_NEAREST 0x0000 ++#define _MM_ROUND_DOWN 0x2000 ++#define _MM_ROUND_UP 0x4000 ++#define _MM_ROUND_TOWARD_ZERO 0x6000 ++/* Flush zero mode macros. */ ++#define _MM_FLUSH_ZERO_MASK 0x8000 ++#define _MM_FLUSH_ZERO_ON 0x8000 ++#define _MM_FLUSH_ZERO_OFF 0x0000 ++/* Denormals are zeros mode macros. */ ++#define _MM_DENORMALS_ZERO_MASK 0x0040 ++#define _MM_DENORMALS_ZERO_ON 0x0040 ++#define _MM_DENORMALS_ZERO_OFF 0x0000 ++ ++/* indicate immediate constant argument in a given range */ ++#define __constrange(a, b) const ++ ++/* A few intrinsics accept traditional data types like ints or floats, but ++ * most operate on data types that are specific to SSE. ++ * If a vector type ends in d, it contains doubles, and if it does not have ++ * a suffix, it contains floats. An integer vector type can contain any type ++ * of integer, from chars to shorts to unsigned long longs. ++ */ ++typedef int64x1_t __m64; ++typedef float32x4_t __m128; /* 128-bit vector containing 4 floats */ ++// On ARM 32-bit architecture, the float64x2_t is not supported. ++// The data type __m128d should be represented in a different way for related ++// intrinsic conversion. ++#if defined(__aarch64__) ++typedef float64x2_t __m128d; /* 128-bit vector containing 2 doubles */ ++#else ++typedef float32x4_t __m128d; ++#endif ++typedef int64x2_t __m128i; /* 128-bit vector containing integers */ ++ ++// __int64 is defined in the Intrinsics Guide which maps to different datatype ++// in different data model ++#if !(defined(_WIN32) || defined(_WIN64) || defined(__int64)) ++#if (defined(__x86_64__) || defined(__i386__)) ++#define __int64 long long ++#else ++#define __int64 int64_t ++#endif ++#endif ++ ++/* type-safe casting between types */ ++ ++#define vreinterpretq_m128_f16(x) vreinterpretq_f32_f16(x) ++#define vreinterpretq_m128_f32(x) (x) ++#define vreinterpretq_m128_f64(x) vreinterpretq_f32_f64(x) ++ ++#define vreinterpretq_m128_u8(x) vreinterpretq_f32_u8(x) ++#define vreinterpretq_m128_u16(x) vreinterpretq_f32_u16(x) ++#define vreinterpretq_m128_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128_s8(x) vreinterpretq_f32_s8(x) ++#define vreinterpretq_m128_s16(x) vreinterpretq_f32_s16(x) ++#define vreinterpretq_m128_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_f16_m128(x) vreinterpretq_f16_f32(x) ++#define vreinterpretq_f32_m128(x) (x) ++#define vreinterpretq_f64_m128(x) vreinterpretq_f64_f32(x) ++ ++#define vreinterpretq_u8_m128(x) vreinterpretq_u8_f32(x) ++#define vreinterpretq_u16_m128(x) vreinterpretq_u16_f32(x) ++#define vreinterpretq_u32_m128(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_s8_m128(x) vreinterpretq_s8_f32(x) ++#define vreinterpretq_s16_m128(x) vreinterpretq_s16_f32(x) ++#define vreinterpretq_s32_m128(x) vreinterpretq_s32_f32(x) ++#define vreinterpretq_s64_m128(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_m128i_s8(x) vreinterpretq_s64_s8(x) ++#define vreinterpretq_m128i_s16(x) vreinterpretq_s64_s16(x) ++#define vreinterpretq_m128i_s32(x) vreinterpretq_s64_s32(x) ++#define vreinterpretq_m128i_s64(x) (x) ++ ++#define vreinterpretq_m128i_u8(x) vreinterpretq_s64_u8(x) ++#define vreinterpretq_m128i_u16(x) vreinterpretq_s64_u16(x) ++#define vreinterpretq_m128i_u32(x) vreinterpretq_s64_u32(x) ++#define vreinterpretq_m128i_u64(x) vreinterpretq_s64_u64(x) ++ ++#define vreinterpretq_f32_m128i(x) vreinterpretq_f32_s64(x) ++#define vreinterpretq_f64_m128i(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_s8_m128i(x) vreinterpretq_s8_s64(x) ++#define vreinterpretq_s16_m128i(x) vreinterpretq_s16_s64(x) ++#define vreinterpretq_s32_m128i(x) vreinterpretq_s32_s64(x) ++#define vreinterpretq_s64_m128i(x) (x) ++ ++#define vreinterpretq_u8_m128i(x) vreinterpretq_u8_s64(x) ++#define vreinterpretq_u16_m128i(x) vreinterpretq_u16_s64(x) ++#define vreinterpretq_u32_m128i(x) vreinterpretq_u32_s64(x) ++#define vreinterpretq_u64_m128i(x) vreinterpretq_u64_s64(x) ++ ++#define vreinterpret_m64_s8(x) vreinterpret_s64_s8(x) ++#define vreinterpret_m64_s16(x) vreinterpret_s64_s16(x) ++#define vreinterpret_m64_s32(x) vreinterpret_s64_s32(x) ++#define vreinterpret_m64_s64(x) (x) ++ ++#define vreinterpret_m64_u8(x) vreinterpret_s64_u8(x) ++#define vreinterpret_m64_u16(x) vreinterpret_s64_u16(x) ++#define vreinterpret_m64_u32(x) vreinterpret_s64_u32(x) ++#define vreinterpret_m64_u64(x) vreinterpret_s64_u64(x) ++ ++#define vreinterpret_m64_f16(x) vreinterpret_s64_f16(x) ++#define vreinterpret_m64_f32(x) vreinterpret_s64_f32(x) ++#define vreinterpret_m64_f64(x) vreinterpret_s64_f64(x) ++ ++#define vreinterpret_u8_m64(x) vreinterpret_u8_s64(x) ++#define vreinterpret_u16_m64(x) vreinterpret_u16_s64(x) ++#define vreinterpret_u32_m64(x) vreinterpret_u32_s64(x) ++#define vreinterpret_u64_m64(x) vreinterpret_u64_s64(x) ++ ++#define vreinterpret_s8_m64(x) vreinterpret_s8_s64(x) ++#define vreinterpret_s16_m64(x) vreinterpret_s16_s64(x) ++#define vreinterpret_s32_m64(x) vreinterpret_s32_s64(x) ++#define vreinterpret_s64_m64(x) (x) ++ ++#define vreinterpret_f32_m64(x) vreinterpret_f32_s64(x) ++ ++#if defined(__aarch64__) ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f64_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f64_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) vreinterpretq_f64_f32(x) ++#define vreinterpretq_m128d_f64(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f64(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f64(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f64(x) ++ ++#define vreinterpretq_f64_m128d(x) (x) ++#define vreinterpretq_f32_m128d(x) vreinterpretq_f32_f64(x) ++#else ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_m128d_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_f32_m128d(x) (x) ++#endif ++ ++// A struct is defined in this header file called 'SIMDVec' which can be used ++// by applications which attempt to access the contents of an __m128 struct ++// directly. It is important to note that accessing the __m128 struct directly ++// is bad coding practice by Microsoft: @see: ++// https://docs.microsoft.com/en-us/cpp/cpp/m128 ++// ++// However, some legacy source code may try to access the contents of an __m128 ++// struct directly so the developer can use the SIMDVec as an alias for it. Any ++// casting must be done manually by the developer, as you cannot cast or ++// otherwise alias the base NEON data type for intrinsic operations. ++// ++// union intended to allow direct access to an __m128 variable using the names ++// that the MSVC compiler provides. This union should really only be used when ++// trying to access the members of the vector as integer values. GCC/clang ++// allow native access to the float members through a simple array access ++// operator (in C since 4.6, in C++ since 4.8). ++// ++// Ideally direct accesses to SIMD vectors should not be used since it can cause ++// a performance hit. If it really is needed however, the original __m128 ++// variable can be aliased with a pointer to this union and used to access ++// individual components. The use of this union should be hidden behind a macro ++// that is used throughout the codebase to access the members instead of always ++// declaring this type of variable. ++typedef union ALIGN_STRUCT(16) SIMDVec { ++ float m128_f32[4]; // as floats - DON'T USE. Added for convenience. ++ int8_t m128_i8[16]; // as signed 8-bit integers. ++ int16_t m128_i16[8]; // as signed 16-bit integers. ++ int32_t m128_i32[4]; // as signed 32-bit integers. ++ int64_t m128_i64[2]; // as signed 64-bit integers. ++ uint8_t m128_u8[16]; // as unsigned 8-bit integers. ++ uint16_t m128_u16[8]; // as unsigned 16-bit integers. ++ uint32_t m128_u32[4]; // as unsigned 32-bit integers. ++ uint64_t m128_u64[2]; // as unsigned 64-bit integers. ++} SIMDVec; ++ ++// casting using SIMDVec ++#define vreinterpretq_nth_u64_m128i(x, n) (((SIMDVec *) &x)->m128_u64[n]) ++#define vreinterpretq_nth_u32_m128i(x, n) (((SIMDVec *) &x)->m128_u32[n]) ++#define vreinterpretq_nth_u8_m128i(x, n) (((SIMDVec *) &x)->m128_u8[n]) ++ ++/* SSE macros */ ++#define _MM_GET_FLUSH_ZERO_MODE _sse2neon_mm_get_flush_zero_mode ++#define _MM_SET_FLUSH_ZERO_MODE _sse2neon_mm_set_flush_zero_mode ++#define _MM_GET_DENORMALS_ZERO_MODE _sse2neon_mm_get_denormals_zero_mode ++#define _MM_SET_DENORMALS_ZERO_MODE _sse2neon_mm_set_denormals_zero_mode ++ ++// Function declaration ++// SSE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(); ++FORCE_INLINE __m128 _mm_move_ss(__m128, __m128); ++FORCE_INLINE __m128 _mm_or_ps(__m128, __m128); ++FORCE_INLINE __m128 _mm_set_ps1(float); ++FORCE_INLINE __m128 _mm_setzero_ps(void); ++// SSE2 ++FORCE_INLINE __m128i _mm_and_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_castps_si128(__m128); ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128); ++FORCE_INLINE __m128d _mm_move_sd(__m128d, __m128d); ++FORCE_INLINE __m128i _mm_or_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_set_epi32(int, int, int, int); ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t, int64_t); ++FORCE_INLINE __m128d _mm_set_pd(double, double); ++FORCE_INLINE __m128i _mm_set1_epi32(int); ++FORCE_INLINE __m128i _mm_setzero_si128(); ++// SSE4.1 ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d); ++FORCE_INLINE __m128 _mm_ceil_ps(__m128); ++FORCE_INLINE __m128d _mm_floor_pd(__m128d); ++FORCE_INLINE __m128 _mm_floor_ps(__m128); ++FORCE_INLINE __m128d _mm_round_pd(__m128d, int); ++FORCE_INLINE __m128 _mm_round_ps(__m128, int); ++// SSE4.2 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t, uint8_t); ++ ++/* Backwards compatibility for compilers with lack of specific type support */ ++ ++// Older gcc does not define vld1q_u8_x4 type ++#if defined(__GNUC__) && !defined(__clang__) && \ ++ ((__GNUC__ <= 11 && defined(__arm__)) || \ ++ (__GNUC__ == 10 && __GNUC_MINOR__ < 3 && defined(__aarch64__)) || \ ++ (__GNUC__ <= 9 && defined(__aarch64__))) ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ uint8x16x4_t ret; ++ ret.val[0] = vld1q_u8(p + 0); ++ ret.val[1] = vld1q_u8(p + 16); ++ ret.val[2] = vld1q_u8(p + 32); ++ ret.val[3] = vld1q_u8(p + 48); ++ return ret; ++} ++#else ++// Wraps vld1q_u8_x4 ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ return vld1q_u8_x4(p); ++} ++#endif ++ ++/* Function Naming Conventions ++ * The naming convention of SSE intrinsics is straightforward. A generic SSE ++ * intrinsic function is given as follows: ++ * _mm__ ++ * ++ * The parts of this format are given as follows: ++ * 1. describes the operation performed by the intrinsic ++ * 2. identifies the data type of the function's primary arguments ++ * ++ * This last part, , is a little complicated. It identifies the ++ * content of the input values, and can be set to any of the following values: ++ * + ps - vectors contain floats (ps stands for packed single-precision) ++ * + pd - vectors cantain doubles (pd stands for packed double-precision) ++ * + epi8/epi16/epi32/epi64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * signed integers ++ * + epu8/epu16/epu32/epu64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * unsigned integers ++ * + si128 - unspecified 128-bit vector or 256-bit vector ++ * + m128/m128i/m128d - identifies input vector types when they are different ++ * than the type of the returned vector ++ * ++ * For example, _mm_setzero_ps. The _mm implies that the function returns ++ * a 128-bit vector. The _ps at the end implies that the argument vectors ++ * contain floats. ++ * ++ * A complete example: Byte Shuffle - pshufb (_mm_shuffle_epi8) ++ * // Set packed 16-bit integers. 128 bits, 8 short, per 16 bits ++ * __m128i v_in = _mm_setr_epi16(1, 2, 3, 4, 5, 6, 7, 8); ++ * // Set packed 8-bit integers ++ * // 128 bits, 16 chars, per 8 bits ++ * __m128i v_perm = _mm_setr_epi8(1, 0, 2, 3, 8, 9, 10, 11, ++ * 4, 5, 12, 13, 6, 7, 14, 15); ++ * // Shuffle packed 8-bit integers ++ * __m128i v_out = _mm_shuffle_epi8(v_in, v_perm); // pshufb ++ * ++ * Data (Number, Binary, Byte Index): ++ +------+------+-------------+------+------+-------------+ ++ | 1 | 2 | 3 | 4 | Number ++ +------+------+------+------+------+------+------+------+ ++ | 0000 | 0001 | 0000 | 0010 | 0000 | 0011 | 0000 | 0100 | Binary ++ +------+------+------+------+------+------+------+------+ ++ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | Index ++ +------+------+------+------+------+------+------+------+ ++ ++ +------+------+------+------+------+------+------+------+ ++ | 5 | 6 | 7 | 8 | Number ++ +------+------+------+------+------+------+------+------+ ++ | 0000 | 0101 | 0000 | 0110 | 0000 | 0111 | 0000 | 1000 | Binary ++ +------+------+------+------+------+------+------+------+ ++ | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | Index ++ +------+------+------+------+------+------+------+------+ ++ * Index (Byte Index): ++ +------+------+------+------+------+------+------+------+ ++ | 1 | 0 | 2 | 3 | 8 | 9 | 10 | 11 | ++ +------+------+------+------+------+------+------+------+ ++ ++ +------+------+------+------+------+------+------+------+ ++ | 4 | 5 | 12 | 13 | 6 | 7 | 14 | 15 | ++ +------+------+------+------+------+------+------+------+ ++ * Result: ++ +------+------+------+------+------+------+------+------+ ++ | 1 | 0 | 2 | 3 | 8 | 9 | 10 | 11 | Index ++ +------+------+------+------+------+------+------+------+ ++ | 0001 | 0000 | 0000 | 0010 | 0000 | 0101 | 0000 | 0110 | Binary ++ +------+------+------+------+------+------+------+------+ ++ | 256 | 2 | 5 | 6 | Number ++ +------+------+------+------+------+------+------+------+ ++ ++ +------+------+------+------+------+------+------+------+ ++ | 4 | 5 | 12 | 13 | 6 | 7 | 14 | 15 | Index ++ +------+------+------+------+------+------+------+------+ ++ | 0000 | 0011 | 0000 | 0111 | 0000 | 0100 | 0000 | 1000 | Binary ++ +------+------+------+------+------+------+------+------+ ++ | 3 | 7 | 4 | 8 | Number ++ +------+------+------+------+------+------+-------------+ ++ */ ++ ++/* Constants for use with _mm_prefetch. */ ++enum _mm_hint { ++ _MM_HINT_NTA = 0, /* load data to L1 and L2 cache, mark it as NTA */ ++ _MM_HINT_T0 = 1, /* load data to L1 and L2 cache */ ++ _MM_HINT_T1 = 2, /* load data to L2 cache only */ ++ _MM_HINT_T2 = 3, /* load data to L2 cache only, mark it as NTA */ ++ _MM_HINT_ENTA = 4, /* exclusive version of _MM_HINT_NTA */ ++ _MM_HINT_ET0 = 5, /* exclusive version of _MM_HINT_T0 */ ++ _MM_HINT_ET1 = 6, /* exclusive version of _MM_HINT_T1 */ ++ _MM_HINT_ET2 = 7 /* exclusive version of _MM_HINT_T2 */ ++}; ++ ++// The bit field mapping to the FPCR(floating-point control register) ++typedef struct { ++ uint16_t res0; ++ uint8_t res1 : 6; ++ uint8_t bit22 : 1; ++ uint8_t bit23 : 1; ++ uint8_t bit24 : 1; ++ uint8_t res2 : 7; ++#if defined(__aarch64__) ++ uint32_t res3; ++#endif ++} fpcr_bitfield; ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of b and places it into the high end of the result. ++FORCE_INLINE __m128 _mm_shuffle_ps_1032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in high ++// end of result takes the higher two 32 bit values from b and swaps them and ++// places in low end of result. ++FORCE_INLINE __m128 _mm_shuffle_ps_2301(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b23 = vrev64_f32(vget_high_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b23)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0321(__m128 a, __m128 b) ++{ ++ float32x2_t a21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a21, b03)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2103(__m128 a, __m128 b) ++{ ++ float32x2_t a03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a03, b21)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0101(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b01)); ++} ++ ++// keeps the low 64 bits of b in the low and puts the high 64 bits of a in the ++// high ++FORCE_INLINE __m128 _mm_shuffle_ps_3210(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0011(__m128 a, __m128 b) ++{ ++ float32x2_t a11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a11, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0022(__m128 a, __m128 b) ++{ ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a22, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2200(__m128 a, __m128 b) ++{ ++ float32x2_t a00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a00, b22)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_3202(__m128 a, __m128 b) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t a02 = vset_lane_f32(a0, a22, 1); /* TODO: use vzip ?*/ ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a02, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1133(__m128 a, __m128 b) ++{ ++ float32x2_t a33 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a33, b11)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b20)); ++} ++ ++// Kahan summation for accurate summation of floating-point numbers. ++// http://blog.zachbjornson.com/2019/08/11/fast-float-summation.html ++FORCE_INLINE void _sse2neon_kadd_f32(float *sum, float *c, float y) ++{ ++ y -= *c; ++ float t = *sum + y; ++ *c = (t - *sum) - y; ++ *sum = t; ++} ++ ++#if defined(__ARM_FEATURE_CRYPTO) && \ ++ (defined(__aarch64__) || __has_builtin(__builtin_arm_crypto_vmullp64)) ++// Wraps vmull_p64 ++FORCE_INLINE uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly64_t a = vget_lane_p64(vreinterpret_p64_u64(_a), 0); ++ poly64_t b = vget_lane_p64(vreinterpret_p64_u64(_b), 0); ++ return vreinterpretq_u64_p128(vmull_p64(a, b)); ++} ++#else // ARMv7 polyfill ++// ARMv7/some A64 lacks vmull_p64, but it has vmull_p8. ++// ++// vmull_p8 calculates 8 8-bit->16-bit polynomial multiplies, but we need a ++// 64-bit->128-bit polynomial multiply. ++// ++// It needs some work and is somewhat slow, but it is still faster than all ++// known scalar methods. ++// ++// Algorithm adapted to C from ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/, which is adapted ++// from "Fast Software Polynomial Multiplication on ARM Processors Using the ++// NEON Engine" by Danilo Camara, Conrado Gouvea, Julio Lopez and Ricardo Dahab ++// (https://hal.inria.fr/hal-01506572) ++static uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly8x8_t a = vreinterpret_p8_u64(_a); ++ poly8x8_t b = vreinterpret_p8_u64(_b); ++ ++ // Masks ++ uint8x16_t k48_32 = vcombine_u8(vcreate_u8(0x0000ffffffffffff), ++ vcreate_u8(0x00000000ffffffff)); ++ uint8x16_t k16_00 = vcombine_u8(vcreate_u8(0x000000000000ffff), ++ vcreate_u8(0x0000000000000000)); ++ ++ // Do the multiplies, rotating with vext to get all combinations ++ uint8x16_t d = vreinterpretq_u8_p16(vmull_p8(a, b)); // D = A0 * B0 ++ uint8x16_t e = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 1))); // E = A0 * B1 ++ uint8x16_t f = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 1), b)); // F = A1 * B0 ++ uint8x16_t g = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 2))); // G = A0 * B2 ++ uint8x16_t h = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 2), b)); // H = A2 * B0 ++ uint8x16_t i = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 3))); // I = A0 * B3 ++ uint8x16_t j = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 3), b)); // J = A3 * B0 ++ uint8x16_t k = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 4))); // L = A0 * B4 ++ ++ // Add cross products ++ uint8x16_t l = veorq_u8(e, f); // L = E + F ++ uint8x16_t m = veorq_u8(g, h); // M = G + H ++ uint8x16_t n = veorq_u8(i, j); // N = I + J ++ ++ // Interleave. Using vzip1 and vzip2 prevents Clang from emitting TBL ++ // instructions. ++#if defined(__aarch64__) ++ uint8x16_t lm_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t lm_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t nk_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++ uint8x16_t nk_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++#else ++ uint8x16_t lm_p0 = vcombine_u8(vget_low_u8(l), vget_low_u8(m)); ++ uint8x16_t lm_p1 = vcombine_u8(vget_high_u8(l), vget_high_u8(m)); ++ uint8x16_t nk_p0 = vcombine_u8(vget_low_u8(n), vget_low_u8(k)); ++ uint8x16_t nk_p1 = vcombine_u8(vget_high_u8(n), vget_high_u8(k)); ++#endif ++ // t0 = (L) (P0 + P1) << 8 ++ // t1 = (M) (P2 + P3) << 16 ++ uint8x16_t t0t1_tmp = veorq_u8(lm_p0, lm_p1); ++ uint8x16_t t0t1_h = vandq_u8(lm_p1, k48_32); ++ uint8x16_t t0t1_l = veorq_u8(t0t1_tmp, t0t1_h); ++ ++ // t2 = (N) (P4 + P5) << 24 ++ // t3 = (K) (P6 + P7) << 32 ++ uint8x16_t t2t3_tmp = veorq_u8(nk_p0, nk_p1); ++ uint8x16_t t2t3_h = vandq_u8(nk_p1, k16_00); ++ uint8x16_t t2t3_l = veorq_u8(t2t3_tmp, t2t3_h); ++ ++ // De-interleave ++#if defined(__aarch64__) ++ uint8x16_t t0 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t1 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t2 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++ uint8x16_t t3 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++#else ++ uint8x16_t t1 = vcombine_u8(vget_high_u8(t0t1_l), vget_high_u8(t0t1_h)); ++ uint8x16_t t0 = vcombine_u8(vget_low_u8(t0t1_l), vget_low_u8(t0t1_h)); ++ uint8x16_t t3 = vcombine_u8(vget_high_u8(t2t3_l), vget_high_u8(t2t3_h)); ++ uint8x16_t t2 = vcombine_u8(vget_low_u8(t2t3_l), vget_low_u8(t2t3_h)); ++#endif ++ // Shift the cross products ++ uint8x16_t t0_shift = vextq_u8(t0, t0, 15); // t0 << 8 ++ uint8x16_t t1_shift = vextq_u8(t1, t1, 14); // t1 << 16 ++ uint8x16_t t2_shift = vextq_u8(t2, t2, 13); // t2 << 24 ++ uint8x16_t t3_shift = vextq_u8(t3, t3, 12); // t3 << 32 ++ ++ // Accumulate the products ++ uint8x16_t cross1 = veorq_u8(t0_shift, t1_shift); ++ uint8x16_t cross2 = veorq_u8(t2_shift, t3_shift); ++ uint8x16_t mix = veorq_u8(d, cross1); ++ uint8x16_t r = veorq_u8(mix, cross2); ++ return vreinterpretq_u64_u8(r); ++} ++#endif // ARMv7 polyfill ++ ++// C equivalent: ++// __m128i _mm_shuffle_epi32_default(__m128i a, ++// __constrange(0, 255) int imm) { ++// __m128i ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = a[(imm >> 4) & 0x03]; ret[3] = a[(imm >> 6) & 0x03]; ++// return ret; ++// } ++#define _mm_shuffle_epi32_default(a, imm) \ ++ __extension__({ \ ++ int32x4_t ret; \ ++ ret = vmovq_n_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm) & (0x3))); \ ++ ret = vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 2) & 0x3), \ ++ ret, 1); \ ++ ret = vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 4) & 0x3), \ ++ ret, 2); \ ++ ret = vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 6) & 0x3), \ ++ ret, 3); \ ++ vreinterpretq_m128i_s32(ret); \ ++ }) ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of a and places it into the high end of the result. ++FORCE_INLINE __m128i _mm_shuffle_epi_1032(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in low end ++// of result takes the higher two 32 bit values from a and swaps them and places ++// in high end of result. ++FORCE_INLINE __m128i _mm_shuffle_epi_2301(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a23 = vrev64_s32(vget_high_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a23)); ++} ++ ++// rotates the least significant 32 bits into the most significant 32 bits, and ++// shifts the rest down ++FORCE_INLINE __m128i _mm_shuffle_epi_0321(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 1)); ++} ++ ++// rotates the most significant 32 bits into the least significant 32 bits, and ++// shifts the rest up ++FORCE_INLINE __m128i _mm_shuffle_epi_2103(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 3)); ++} ++ ++// gets the lower 64 bits of a, and places it in the upper 64 bits ++// gets the lower 64 bits of a and places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1010(__m128i a) ++{ ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a10, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements, and places it in the ++// lower 64 bits gets the lower 64 bits of a, and places it in the upper 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1001(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements and places it in the ++// upper 64 bits gets the lower 64 bits of a, swaps the 0 and 1 elements, and ++// places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_0101(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_2211(__m128i a) ++{ ++ int32x2_t a11 = vdup_lane_s32(vget_low_s32(vreinterpretq_s32_m128i(a)), 1); ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ return vreinterpretq_m128i_s32(vcombine_s32(a11, a22)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_0122(__m128i a) ++{ ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a22, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_3332(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a33 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 1); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a33)); ++} ++ ++// FORCE_INLINE __m128i _mm_shuffle_epi32_splat(__m128i a, __constrange(0,255) ++// int imm) ++#if defined(__aarch64__) ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ __extension__({ \ ++ vreinterpretq_m128i_s32( \ ++ vdupq_laneq_s32(vreinterpretq_s32_m128i(a), (imm))); \ ++ }) ++#else ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ __extension__({ \ ++ vreinterpretq_m128i_s32( \ ++ vdupq_n_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)))); \ ++ }) ++#endif ++ ++// NEON does not support a general purpose permute intrinsic ++// Selects four specific single-precision, floating-point values from a and b, ++// based on the mask i. ++// ++// C equivalent: ++// __m128 _mm_shuffle_ps_default(__m128 a, __m128 b, ++// __constrange(0, 255) int imm) { ++// __m128 ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = b[(imm >> 4) & 0x03]; ret[3] = b[(imm >> 6) & 0x03]; ++// return ret; ++// } ++// ++// https://msdn.microsoft.com/en-us/library/vstudio/5f0858x0(v=vs.100).aspx ++#define _mm_shuffle_ps_default(a, b, imm) \ ++ __extension__({ \ ++ float32x4_t ret; \ ++ ret = vmovq_n_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), (imm) & (0x3))); \ ++ ret = vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), ((imm) >> 2) & 0x3), \ ++ ret, 1); \ ++ ret = vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 4) & 0x3), \ ++ ret, 2); \ ++ ret = vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 6) & 0x3), \ ++ ret, 3); \ ++ vreinterpretq_m128_f32(ret); \ ++ }) ++ ++// Shuffles the lower 4 signed or unsigned 16-bit integers in a as specified ++// by imm. ++// https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/y41dkk37(v=vs.100) ++// FORCE_INLINE __m128i _mm_shufflelo_epi16_function(__m128i a, ++// __constrange(0,255) int ++// imm) ++#define _mm_shufflelo_epi16_function(a, imm) \ ++ __extension__({ \ ++ int16x8_t ret = vreinterpretq_s16_m128i(a); \ ++ int16x4_t lowBits = vget_low_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, (imm) & (0x3)), ret, 0); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ vreinterpretq_m128i_s16(ret); \ ++ }) ++ ++// Shuffles the upper 4 signed or unsigned 16-bit integers in a as specified ++// by imm. ++// https://msdn.microsoft.com/en-us/library/13ywktbs(v=vs.100).aspx ++// FORCE_INLINE __m128i _mm_shufflehi_epi16_function(__m128i a, ++// __constrange(0,255) int ++// imm) ++#define _mm_shufflehi_epi16_function(a, imm) \ ++ __extension__({ \ ++ int16x8_t ret = vreinterpretq_s16_m128i(a); \ ++ int16x4_t highBits = vget_high_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, (imm) & (0x3)), ret, 4); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 2) & 0x3), ret, \ ++ 5); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 4) & 0x3), ret, \ ++ 6); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 6) & 0x3), ret, \ ++ 7); \ ++ vreinterpretq_m128i_s16(ret); \ ++ }) ++ ++/* MMX */ ++ ++//_mm_empty is a no-op on arm ++FORCE_INLINE void _mm_empty(void) {} ++ ++/* SSE */ ++ ++// Adds the four single-precision, floating-point values of a and b. ++// ++// r0 := a0 + b0 ++// r1 := a1 + b1 ++// r2 := a2 + b2 ++// r3 := a3 + b3 ++// ++// https://msdn.microsoft.com/en-us/library/vstudio/c9848chc(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_add_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// adds the scalar single-precision floating point values of a and b. ++// https://msdn.microsoft.com/en-us/library/be94x2y6(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_add_ss(__m128 a, __m128 b) ++{ ++ float32_t b0 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++ float32x4_t value = vsetq_lane_f32(b0, vdupq_n_f32(0), 0); ++ // the upper values in the result must be the remnants of . ++ return vreinterpretq_m128_f32(vaddq_f32(a, value)); ++} ++ ++// Computes the bitwise AND of the four single-precision, floating-point values ++// of a and b. ++// ++// r0 := a0 & b0 ++// r1 := a1 & b1 ++// r2 := a2 & b2 ++// r3 := a3 & b3 ++// ++// https://msdn.microsoft.com/en-us/library/vstudio/73ck1xc5(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_and_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vandq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Computes the bitwise AND-NOT of the four single-precision, floating-point ++// values of a and b. ++// ++// r0 := ~a0 & b0 ++// r1 := ~a1 & b1 ++// r2 := ~a2 & b2 ++// r3 := ~a3 & b3 ++// ++// https://msdn.microsoft.com/en-us/library/vstudio/68h7wd02(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_andnot_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vbicq_s32(vreinterpretq_s32_m128(b), ++ vreinterpretq_s32_m128(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// ++// FOR j := 0 to 3 ++// i := j*16 ++// dst[i+15:i] := (a[i+15:i] + b[i+15:i] + 1) >> 1 ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_avg_pu16 ++FORCE_INLINE __m64 _mm_avg_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16( ++ vrhadd_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// ++// FOR j := 0 to 7 ++// i := j*8 ++// dst[i+7:i] := (a[i+7:i] + b[i+7:i] + 1) >> 1 ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_avg_pu8 ++FORCE_INLINE __m64 _mm_avg_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vrhadd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compares for equality. ++// https://msdn.microsoft.com/en-us/library/vstudio/36aectz5(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_cmpeq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compares for equality. ++// https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/k423z28e(v=vs.100) ++FORCE_INLINE __m128 _mm_cmpeq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpeq_ps(a, b)); ++} ++ ++// Compares for greater than or equal. ++// https://msdn.microsoft.com/en-us/library/vstudio/fs813y2t(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_cmpge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compares for greater than or equal. ++// https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/kesh3ddc(v=vs.100) ++FORCE_INLINE __m128 _mm_cmpge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpge_ps(a, b)); ++} ++ ++// Compares for greater than. ++// ++// r0 := (a0 > b0) ? 0xffffffff : 0x0 ++// r1 := (a1 > b1) ? 0xffffffff : 0x0 ++// r2 := (a2 > b2) ? 0xffffffff : 0x0 ++// r3 := (a3 > b3) ? 0xffffffff : 0x0 ++// ++// https://msdn.microsoft.com/en-us/library/vstudio/11dy102s(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_cmpgt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compares for greater than. ++// https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/1xyyyy9e(v=vs.100) ++FORCE_INLINE __m128 _mm_cmpgt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpgt_ps(a, b)); ++} ++ ++// Compares for less than or equal. ++// ++// r0 := (a0 <= b0) ? 0xffffffff : 0x0 ++// r1 := (a1 <= b1) ? 0xffffffff : 0x0 ++// r2 := (a2 <= b2) ? 0xffffffff : 0x0 ++// r3 := (a3 <= b3) ? 0xffffffff : 0x0 ++// ++// https://msdn.microsoft.com/en-us/library/vstudio/1s75w83z(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_cmple_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compares for less than or equal. ++// https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/a7x0hbhw(v=vs.100) ++FORCE_INLINE __m128 _mm_cmple_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmple_ps(a, b)); ++} ++ ++// Compares for less than ++// https://msdn.microsoft.com/en-us/library/vstudio/f330yhc8(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_cmplt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compares for less than ++// https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/fy94wye7(v=vs.100) ++FORCE_INLINE __m128 _mm_cmplt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmplt_ps(a, b)); ++} ++ ++// Compares for inequality. ++// https://msdn.microsoft.com/en-us/library/sf44thbx(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_cmpneq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compares for inequality. ++// https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/ekya8fh4(v=vs.100) ++FORCE_INLINE __m128 _mm_cmpneq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpneq_ps(a, b)); ++} ++ ++// Compares for not greater than or equal. ++// https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/wsexys62(v=vs.100) ++FORCE_INLINE __m128 _mm_cmpnge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compares for not greater than or equal. ++// https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/fk2y80s8(v=vs.100) ++FORCE_INLINE __m128 _mm_cmpnge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnge_ps(a, b)); ++} ++ ++// Compares for not greater than. ++// https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/d0xh7w0s(v=vs.100) ++FORCE_INLINE __m128 _mm_cmpngt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compares for not greater than. ++// https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/z7x9ydwh(v=vs.100) ++FORCE_INLINE __m128 _mm_cmpngt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpngt_ps(a, b)); ++} ++ ++// Compares for not less than or equal. ++// https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/6a330kxw(v=vs.100) ++FORCE_INLINE __m128 _mm_cmpnle_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compares for not less than or equal. ++// https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/z7x9ydwh(v=vs.100) ++FORCE_INLINE __m128 _mm_cmpnle_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnle_ps(a, b)); ++} ++ ++// Compares for not less than. ++// https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/4686bbdw(v=vs.100) ++FORCE_INLINE __m128 _mm_cmpnlt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compares for not less than. ++// https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/56b9z2wf(v=vs.100) ++FORCE_INLINE __m128 _mm_cmpnlt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnlt_ps(a, b)); ++} ++ ++// Compares the four 32-bit floats in a and b to check if any values are NaN. ++// Ordered compare between each value returns true for "orderable" and false for ++// "not orderable" (NaN). ++// https://msdn.microsoft.com/en-us/library/vstudio/0h9w00fx(v=vs.100).aspx see ++// also: ++// http://stackoverflow.com/questions/8627331/what-does-ordered-unordered-comparison-mean ++// http://stackoverflow.com/questions/29349621/neon-isnanval-intrinsics ++FORCE_INLINE __m128 _mm_cmpord_ps(__m128 a, __m128 b) ++{ ++ // Note: NEON does not have ordered compare builtin ++ // Need to compare a eq a and b eq b to check for NaN ++ // Do AND of results to get final ++ uint32x4_t ceqaa = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t ceqbb = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vandq_u32(ceqaa, ceqbb)); ++} ++ ++// Compares for ordered. ++// https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/343t62da(v=vs.100) ++FORCE_INLINE __m128 _mm_cmpord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpord_ps(a, b)); ++} ++ ++// Compares for unordered. ++// https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/khy6fk1t(v=vs.100) ++FORCE_INLINE __m128 _mm_cmpunord_ps(__m128 a, __m128 b) ++{ ++ uint32x4_t f32a = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t f32b = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vmvnq_u32(vandq_u32(f32a, f32b))); ++} ++ ++// Compares for unordered. ++// https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/2as2387b(v=vs.100) ++FORCE_INLINE __m128 _mm_cmpunord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpunord_ps(a, b)); ++} ++ ++// Compares the lower single-precision floating point scalar values of a and b ++// using an equality operation. : ++// https://msdn.microsoft.com/en-us/library/93yx2h2b(v=vs.100).aspx ++FORCE_INLINE int _mm_comieq_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_eq_b = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_eq_b, 0) & 0x1; ++} ++ ++// Compares the lower single-precision floating point scalar values of a and b ++// using a greater than or equal operation. : ++// https://msdn.microsoft.com/en-us/library/8t80des6(v=vs.100).aspx ++FORCE_INLINE int _mm_comige_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_ge_b = ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_ge_b, 0) & 0x1; ++} ++ ++// Compares the lower single-precision floating point scalar values of a and b ++// using a greater than operation. : ++// https://msdn.microsoft.com/en-us/library/b0738e0t(v=vs.100).aspx ++FORCE_INLINE int _mm_comigt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_gt_b = ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_gt_b, 0) & 0x1; ++} ++ ++// Compares the lower single-precision floating point scalar values of a and b ++// using a less than or equal operation. : ++// https://msdn.microsoft.com/en-us/library/1w4t7c57(v=vs.90).aspx ++FORCE_INLINE int _mm_comile_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_le_b = ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_le_b, 0) & 0x1; ++} ++ ++// Compares the lower single-precision floating point scalar values of a and b ++// using a less than operation. : ++// https://msdn.microsoft.com/en-us/library/2kwe606b(v=vs.90).aspx Important ++// note!! The documentation on MSDN is incorrect! If either of the values is a ++// NAN the docs say you will get a one, but in fact, it will return a zero!! ++FORCE_INLINE int _mm_comilt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_lt_b = ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_lt_b, 0) & 0x1; ++} ++ ++// Compares the lower single-precision floating point scalar values of a and b ++// using an inequality operation. : ++// https://msdn.microsoft.com/en-us/library/bafh5e0a(v=vs.90).aspx ++FORCE_INLINE int _mm_comineq_ss(__m128 a, __m128 b) ++{ ++ return !_mm_comieq_ss(a, b); ++} ++ ++// Convert packed signed 32-bit integers in b to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, and copy the upper 2 packed elements from a to the upper elements of ++// dst. ++// ++// dst[31:0] := Convert_Int32_To_FP32(b[31:0]) ++// dst[63:32] := Convert_Int32_To_FP32(b[63:32]) ++// dst[95:64] := a[95:64] ++// dst[127:96] := a[127:96] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvt_pi2ps ++FORCE_INLINE __m128 _mm_cvt_pi2ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// ++// FOR j := 0 to 1 ++// i := 32*j ++// dst[i+31:i] := Convert_FP32_To_Int32(a[i+31:i]) ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvt_ps2pi ++FORCE_INLINE __m64 _mm_cvt_ps2pi(__m128 a) ++{ ++#if defined(__aarch64__) || defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))))); ++#else ++ return vreinterpret_m64_s32(vcvt_s32_f32(vget_low_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION))))); ++#endif ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// ++// dst[31:0] := Convert_Int32_To_FP32(b[31:0]) ++// dst[127:32] := a[127:32] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvt_si2ss ++FORCE_INLINE __m128 _mm_cvt_si2ss(__m128 a, int b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvt_ss2si ++FORCE_INLINE int _mm_cvt_ss2si(__m128 a) ++{ ++#if defined(__aarch64__) || defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vgetq_lane_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))), ++ 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int32_t) data; ++#endif ++} ++ ++// Convert packed 16-bit integers in a to packed single-precision (32-bit) ++// floating-point elements, and store the results in dst. ++// ++// FOR j := 0 to 3 ++// i := j*16 ++// m := j*32 ++// dst[m+31:m] := Convert_Int16_To_FP32(a[i+15:i]) ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtpi16_ps ++FORCE_INLINE __m128 _mm_cvtpi16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vmovl_s16(vreinterpret_s16_m64(a)))); ++} ++ ++// Convert packed 32-bit integers in b to packed single-precision (32-bit) ++// floating-point elements, store the results in the lower 2 elements of dst, ++// and copy the upper 2 packed elements from a to the upper elements of dst. ++// ++// dst[31:0] := Convert_Int32_To_FP32(b[31:0]) ++// dst[63:32] := Convert_Int32_To_FP32(b[63:32]) ++// dst[95:64] := a[95:64] ++// dst[127:96] := a[127:96] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtpi32_ps ++FORCE_INLINE __m128 _mm_cvtpi32_ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, then convert the packed signed 32-bit integers in b to ++// single-precision (32-bit) floating-point element, and store the results in ++// the upper 2 elements of dst. ++// ++// dst[31:0] := Convert_Int32_To_FP32(a[31:0]) ++// dst[63:32] := Convert_Int32_To_FP32(a[63:32]) ++// dst[95:64] := Convert_Int32_To_FP32(b[31:0]) ++// dst[127:96] := Convert_Int32_To_FP32(b[63:32]) ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtpi32x2_ps ++FORCE_INLINE __m128 _mm_cvtpi32x2_ps(__m64 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vcombine_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b)))); ++} ++ ++// Convert the lower packed 8-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// ++// FOR j := 0 to 3 ++// i := j*8 ++// m := j*32 ++// dst[m+31:m] := Convert_Int8_To_FP32(a[i+7:i]) ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtpi8_ps ++FORCE_INLINE __m128 _mm_cvtpi8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vmovl_s16(vget_low_s16(vmovl_s8(vreinterpret_s8_m64(a)))))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 16-bit integers, and store the results in dst. Note: this intrinsic ++// will generate 0x7FFF, rather than 0x8000, for input values between 0x7FFF and ++// 0x7FFFFFFF. ++// ++// FOR j := 0 to 3 ++// i := 16*j ++// k := 32*j ++// IF a[k+31:k] >= FP32(0x7FFF) && a[k+31:k] <= FP32(0x7FFFFFFF) ++// dst[i+15:i] := 0x7FFF ++// ELSE ++// dst[i+15:i] := Convert_FP32_To_Int16(a[k+31:k]) ++// FI ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtps_pi16 ++FORCE_INLINE __m64 _mm_cvtps_pi16(__m128 a) ++{ ++ const __m128 i16Min = _mm_set_ps1((float) INT16_MIN); ++ const __m128 i16Max = _mm_set_ps1((float) INT16_MAX); ++ const __m128 i32Max = _mm_set_ps1((float) INT32_MAX); ++ const __m128i maxMask = _mm_castps_si128( ++ _mm_and_ps(_mm_cmpge_ps(a, i16Max), _mm_cmple_ps(a, i32Max))); ++ const __m128i betweenMask = _mm_castps_si128( ++ _mm_and_ps(_mm_cmpgt_ps(a, i16Min), _mm_cmplt_ps(a, i16Max))); ++ const __m128i minMask = _mm_cmpeq_epi32(_mm_or_si128(maxMask, betweenMask), ++ _mm_setzero_si128()); ++ __m128i max = _mm_and_si128(maxMask, _mm_set1_epi32(INT16_MAX)); ++ __m128i min = _mm_and_si128(minMask, _mm_set1_epi32(INT16_MIN)); ++ __m128i cvt = _mm_and_si128(betweenMask, _mm_cvtps_epi32(a)); ++ __m128i res32 = _mm_or_si128(_mm_or_si128(max, min), cvt); ++ return vreinterpret_m64_s16(vmovn_s32(vreinterpretq_s32_m128i(res32))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// ++// FOR j := 0 to 1 ++// i := 32*j ++// dst[i+31:i] := Convert_FP32_To_Int32(a[i+31:i]) ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtps_pi32 ++#define _mm_cvtps_pi32(a) _mm_cvt_ps2pi(a) ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 8-bit integers, and store the results in lower 4 elements of dst. ++// Note: this intrinsic will generate 0x7F, rather than 0x80, for input values ++// between 0x7F and 0x7FFFFFFF. ++// ++// FOR j := 0 to 3 ++// i := 8*j ++// k := 32*j ++// IF a[k+31:k] >= FP32(0x7F) && a[k+31:k] <= FP32(0x7FFFFFFF) ++// dst[i+7:i] := 0x7F ++// ELSE ++// dst[i+7:i] := Convert_FP32_To_Int8(a[k+31:k]) ++// FI ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtps_pi8 ++FORCE_INLINE __m64 _mm_cvtps_pi8(__m128 a) ++{ ++ const __m128 i8Min = _mm_set_ps1((float) INT8_MIN); ++ const __m128 i8Max = _mm_set_ps1((float) INT8_MAX); ++ const __m128 i32Max = _mm_set_ps1((float) INT32_MAX); ++ const __m128i maxMask = _mm_castps_si128( ++ _mm_and_ps(_mm_cmpge_ps(a, i8Max), _mm_cmple_ps(a, i32Max))); ++ const __m128i betweenMask = _mm_castps_si128( ++ _mm_and_ps(_mm_cmpgt_ps(a, i8Min), _mm_cmplt_ps(a, i8Max))); ++ const __m128i minMask = _mm_cmpeq_epi32(_mm_or_si128(maxMask, betweenMask), ++ _mm_setzero_si128()); ++ __m128i max = _mm_and_si128(maxMask, _mm_set1_epi32(INT8_MAX)); ++ __m128i min = _mm_and_si128(minMask, _mm_set1_epi32(INT8_MIN)); ++ __m128i cvt = _mm_and_si128(betweenMask, _mm_cvtps_epi32(a)); ++ __m128i res32 = _mm_or_si128(_mm_or_si128(max, min), cvt); ++ int16x4_t res16 = vmovn_s32(vreinterpretq_s32_m128i(res32)); ++ int8x8_t res8 = vmovn_s16(vcombine_s16(res16, res16)); ++ static const uint32_t bitMask[2] = {0xFFFFFFFF, 0}; ++ int8x8_t mask = vreinterpret_s8_u32(vld1_u32(bitMask)); ++ ++ return vreinterpret_m64_s8(vorr_s8(vand_s8(mask, res8), vdup_n_s8(0))); ++} ++ ++// Convert packed unsigned 16-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// ++// FOR j := 0 to 3 ++// i := j*16 ++// m := j*32 ++// dst[m+31:m] := Convert_UInt16_To_FP32(a[i+15:i]) ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtpu16_ps ++FORCE_INLINE __m128 _mm_cvtpu16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_u32(vmovl_u16(vreinterpret_u16_m64(a)))); ++} ++ ++// Convert the lower packed unsigned 8-bit integers in a to packed ++// single-precision (32-bit) floating-point elements, and store the results in ++// dst. ++// ++// FOR j := 0 to 3 ++// i := j*8 ++// m := j*32 ++// dst[m+31:m] := Convert_UInt8_To_FP32(a[i+7:i]) ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtpu8_ps ++FORCE_INLINE __m128 _mm_cvtpu8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_u32( ++ vmovl_u16(vget_low_u16(vmovl_u8(vreinterpret_u8_m64(a)))))); ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// ++// dst[31:0] := Convert_Int32_To_FP32(b[31:0]) ++// dst[127:32] := a[127:32] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtsi32_ss ++#define _mm_cvtsi32_ss(a, b) _mm_cvt_si2ss(a, b) ++ ++// Convert the signed 64-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// ++// dst[31:0] := Convert_Int64_To_FP32(b[63:0]) ++// dst[127:32] := a[127:32] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtsi64_ss ++FORCE_INLINE __m128 _mm_cvtsi64_ss(__m128 a, int64_t b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Copy the lower single-precision (32-bit) floating-point element of a to dst. ++// ++// dst[31:0] := a[31:0] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtss_f32 ++FORCE_INLINE float _mm_cvtss_f32(__m128 a) ++{ ++ return vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// ++// dst[31:0] := Convert_FP32_To_Int32(a[31:0]) ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtss_si32 ++#define _mm_cvtss_si32(a) _mm_cvt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// ++// dst[63:0] := Convert_FP32_To_Int64(a[31:0]) ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtss_si64 ++FORCE_INLINE int64_t _mm_cvtss_si64(__m128 a) ++{ ++#if defined(__aarch64__) || defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return (int64_t) vgetq_lane_f32(vrndiq_f32(vreinterpretq_f32_m128(a)), 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int64_t) data; ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// ++// FOR j := 0 to 1 ++// i := 32*j ++// dst[i+31:i] := Convert_FP32_To_Int32_Truncate(a[i+31:i]) ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtt_ps2pi ++FORCE_INLINE __m64 _mm_cvtt_ps2pi(__m128 a) ++{ ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// ++// dst[31:0] := Convert_FP32_To_Int32_Truncate(a[31:0]) ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtt_ss2si ++FORCE_INLINE int _mm_cvtt_ss2si(__m128 a) ++{ ++ return vgetq_lane_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)), 0); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// ++// FOR j := 0 to 1 ++// i := 32*j ++// dst[i+31:i] := Convert_FP32_To_Int32_Truncate(a[i+31:i]) ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvttps_pi32 ++#define _mm_cvttps_pi32(a) _mm_cvtt_ps2pi(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// ++// dst[31:0] := Convert_FP32_To_Int32_Truncate(a[31:0]) ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvttss_si32 ++#define _mm_cvttss_si32(a) _mm_cvtt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// ++// dst[63:0] := Convert_FP32_To_Int64_Truncate(a[31:0]) ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvttss_si64 ++FORCE_INLINE int64_t _mm_cvttss_si64(__m128 a) ++{ ++ return (int64_t) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Divides the four single-precision, floating-point values of a and b. ++// ++// r0 := a0 / b0 ++// r1 := a1 / b1 ++// r2 := a2 / b2 ++// r3 := a3 / b3 ++// ++// https://msdn.microsoft.com/en-us/library/edaw8147(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_div_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) && !SSE2NEON_PRECISE_DIV ++ return vreinterpretq_m128_f32( ++ vdivq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(b)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++#if SSE2NEON_PRECISE_DIV ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++#endif ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(a), recip)); ++#endif ++} ++ ++// Divides the scalar single-precision floating point value of a by b. ++// https://msdn.microsoft.com/en-us/library/4y73xa49(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_div_ss(__m128 a, __m128 b) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_div_ps(a, b)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_extract_pi16 ++#define _mm_extract_pi16(a, imm) \ ++ (int32_t) vget_lane_u16(vreinterpret_u16_m64(a), (imm)) ++ ++// Free aligned memory that was allocated with _mm_malloc. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_free ++FORCE_INLINE void _mm_free(void *addr) ++{ ++ free(addr); ++} ++ ++// Macro: Get the flush zero bits from the MXCSR control and status register. ++// The flush zero may contain any of the following flags: _MM_FLUSH_ZERO_ON or ++// _MM_FLUSH_ZERO_OFF ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_MM_GET_FLUSH_ZERO_MODE ++FORCE_INLINE unsigned int _sse2neon_mm_get_flush_zero_mode() ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) ++ __asm__ __volatile__("mrs %0, FPCR" : "=r"(r.value)); /* read */ ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_FLUSH_ZERO_ON : _MM_FLUSH_ZERO_OFF; ++} ++ ++// Macro: Get the rounding mode bits from the MXCSR control and status register. ++// The rounding mode may contain any of the following flags: _MM_ROUND_NEAREST, ++// _MM_ROUND_DOWN, _MM_ROUND_UP, _MM_ROUND_TOWARD_ZERO ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_MM_GET_ROUNDING_MODE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE() ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) ++ __asm__ __volatile__("mrs %0, FPCR" : "=r"(r.value)); /* read */ ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ if (r.field.bit22) { ++ return r.field.bit23 ? _MM_ROUND_TOWARD_ZERO : _MM_ROUND_UP; ++ } else { ++ return r.field.bit23 ? _MM_ROUND_DOWN : _MM_ROUND_NEAREST; ++ } ++} ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_insert_pi16 ++#define _mm_insert_pi16(a, b, imm) \ ++ __extension__({ \ ++ vreinterpret_m64_s16( \ ++ vset_lane_s16((b), vreinterpret_s16_m64(a), (imm))); \ ++ }) ++ ++// Loads four single-precision, floating-point values. ++// https://msdn.microsoft.com/en-us/library/vstudio/zzd50xxt(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_load_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// ++// dst[31:0] := MEM[mem_addr+31:mem_addr] ++// dst[63:32] := MEM[mem_addr+31:mem_addr] ++// dst[95:64] := MEM[mem_addr+31:mem_addr] ++// dst[127:96] := MEM[mem_addr+31:mem_addr] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_load_ps1 ++#define _mm_load_ps1 _mm_load1_ps ++ ++// Loads an single - precision, floating - point value into the low word and ++// clears the upper three words. ++// https://msdn.microsoft.com/en-us/library/548bb9h4%28v=vs.90%29.aspx ++FORCE_INLINE __m128 _mm_load_ss(const float *p) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(*p, vdupq_n_f32(0), 0)); ++} ++ ++// Loads a single single-precision, floating-point value, copying it into all ++// four words ++// https://msdn.microsoft.com/en-us/library/vstudio/5cdkf716(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_load1_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_dup_f32(p)); ++} ++ ++// Sets the upper two single-precision, floating-point values with 64 ++// bits of data loaded from the address p; the lower two values are passed ++// through from a. ++// ++// r0 := a0 ++// r1 := a1 ++// r2 := *p0 ++// r3 := *p1 ++// ++// https://msdn.microsoft.com/en-us/library/w92wta0x(v%3dvs.100).aspx ++FORCE_INLINE __m128 _mm_loadh_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vget_low_f32(a), vld1_f32((const float32_t *) p))); ++} ++ ++// Sets the lower two single-precision, floating-point values with 64 ++// bits of data loaded from the address p; the upper two values are passed ++// through from a. ++// ++// Return Value ++// r0 := *p0 ++// r1 := *p1 ++// r2 := a2 ++// r3 := a3 ++// ++// https://msdn.microsoft.com/en-us/library/s57cyak2(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_loadl_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vld1_f32((const float32_t *) p), vget_high_f32(a))); ++} ++ ++// Load 4 single-precision (32-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// ++// dst[31:0] := MEM[mem_addr+127:mem_addr+96] ++// dst[63:32] := MEM[mem_addr+95:mem_addr+64] ++// dst[95:64] := MEM[mem_addr+63:mem_addr+32] ++// dst[127:96] := MEM[mem_addr+31:mem_addr] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_loadr_ps ++FORCE_INLINE __m128 _mm_loadr_ps(const float *p) ++{ ++ float32x4_t v = vrev64q_f32(vld1q_f32(p)); ++ return vreinterpretq_m128_f32(vextq_f32(v, v, 2)); ++} ++ ++// Loads four single-precision, floating-point values. ++// https://msdn.microsoft.com/en-us/library/x1b16s7z%28v=vs.90%29.aspx ++FORCE_INLINE __m128 _mm_loadu_ps(const float *p) ++{ ++ // for neon, alignment doesn't matter, so _mm_load_ps and _mm_loadu_ps are ++ // equivalent for neon ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load unaligned 16-bit integer from memory into the first element of dst. ++// ++// dst[15:0] := MEM[mem_addr+15:mem_addr] ++// dst[MAX:16] := 0 ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_loadu_si16 ++FORCE_INLINE __m128i _mm_loadu_si16(const void *p) ++{ ++ return vreinterpretq_m128i_s16( ++ vsetq_lane_s16(*(const int16_t *) p, vdupq_n_s16(0), 0)); ++} ++ ++// Load unaligned 64-bit integer from memory into the first element of dst. ++// ++// dst[63:0] := MEM[mem_addr+63:mem_addr] ++// dst[MAX:64] := 0 ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_loadu_si64 ++FORCE_INLINE __m128i _mm_loadu_si64(const void *p) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vld1_s64((const int64_t *) p), vdup_n_s64(0))); ++} ++ ++// Allocate aligned blocks of memory. ++// https://software.intel.com/en-us/ ++// cpp-compiler-developer-guide-and-reference-allocating-and-freeing-aligned-memory-blocks ++FORCE_INLINE void *_mm_malloc(size_t size, size_t align) ++{ ++ void *ptr; ++ if (align == 1) ++ return malloc(size); ++ if (align == 2 || (sizeof(void *) == 8 && align == 4)) ++ align = sizeof(void *); ++ if (!posix_memalign(&ptr, align, size)) ++ return ptr; ++ return NULL; ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_maskmove_si64 ++FORCE_INLINE void _mm_maskmove_si64(__m64 a, __m64 mask, char *mem_addr) ++{ ++ int8x8_t shr_mask = vshr_n_s8(vreinterpret_s8_m64(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x8_t masked = ++ vbsl_s8(vreinterpret_u8_s8(shr_mask), vreinterpret_s8_m64(a), ++ vreinterpret_s8_u64(vget_low_u64(vreinterpretq_u64_m128(b)))); ++ vst1_s8((int8_t *) mem_addr, masked); ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_m_maskmovq ++#define _m_maskmovq(a, mask, mem_addr) _mm_maskmove_si64(a, mask, mem_addr) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// ++// FOR j := 0 to 3 ++// i := j*16 ++// dst[i+15:i] := MAX(a[i+15:i], b[i+15:i]) ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_max_pi16 ++FORCE_INLINE __m64 _mm_max_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmax_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Computes the maximums of the four single-precision, floating-point values of ++// a and b. ++// https://msdn.microsoft.com/en-us/library/vstudio/ff5d607a(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_max_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcgtq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vmaxq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// ++// FOR j := 0 to 7 ++// i := j*8 ++// dst[i+7:i] := MAX(a[i+7:i], b[i+7:i]) ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_max_pu8 ++FORCE_INLINE __m64 _mm_max_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmax_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Computes the maximum of the two lower scalar single-precision floating point ++// values of a and b. ++// https://msdn.microsoft.com/en-us/library/s6db5esz(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_max_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_max_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// ++// FOR j := 0 to 3 ++// i := j*16 ++// dst[i+15:i] := MIN(a[i+15:i], b[i+15:i]) ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_min_pi16 ++FORCE_INLINE __m64 _mm_min_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmin_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Computes the minima of the four single-precision, floating-point values of a ++// and b. ++// https://msdn.microsoft.com/en-us/library/vstudio/wh13kadz(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_min_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcltq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vminq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// ++// FOR j := 0 to 7 ++// i := j*8 ++// dst[i+7:i] := MIN(a[i+7:i], b[i+7:i]) ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_min_pu8 ++FORCE_INLINE __m64 _mm_min_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmin_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Computes the minimum of the two lower scalar single-precision floating point ++// values of a and b. ++// https://msdn.microsoft.com/en-us/library/0a9y7xaa(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_min_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_min_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Sets the low word to the single-precision, floating-point value of b ++// https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/35hdzazd(v=vs.100) ++FORCE_INLINE __m128 _mm_move_ss(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(vgetq_lane_f32(vreinterpretq_f32_m128(b), 0), ++ vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Moves the upper two values of B into the lower two values of A. ++// ++// r3 := a3 ++// r2 := a2 ++// r1 := b3 ++// r0 := b2 ++FORCE_INLINE __m128 _mm_movehl_ps(__m128 __A, __m128 __B) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(__A)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(__B)); ++ return vreinterpretq_m128_f32(vcombine_f32(b32, a32)); ++} ++ ++// Moves the lower two values of B into the upper two values of A. ++// ++// r3 := b1 ++// r2 := b0 ++// r1 := a1 ++// r0 := a0 ++FORCE_INLINE __m128 _mm_movelh_ps(__m128 __A, __m128 __B) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(__A)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(__B)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_movemask_pi8 ++FORCE_INLINE int _mm_movemask_pi8(__m64 a) ++{ ++ uint8x8_t input = vreinterpret_u8_m64(a); ++#if defined(__aarch64__) ++ static const int8x8_t shift = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint8x8_t tmp = vshr_n_u8(input, 7); ++ return vaddv_u8(vshl_u8(tmp, shift)); ++#else ++ // Refer the implementation of `_mm_movemask_epi8` ++ uint16x4_t high_bits = vreinterpret_u16_u8(vshr_n_u8(input, 7)); ++ uint32x2_t paired16 = ++ vreinterpret_u32_u16(vsra_n_u16(high_bits, high_bits, 7)); ++ uint8x8_t paired32 = ++ vreinterpret_u8_u32(vsra_n_u32(paired16, paired16, 14)); ++ return vget_lane_u8(paired32, 0) | ((int) vget_lane_u8(paired32, 4) << 4); ++#endif ++} ++ ++// NEON does not provide this method ++// Creates a 4-bit mask from the most significant bits of the four ++// single-precision, floating-point values. ++// https://msdn.microsoft.com/en-us/library/vstudio/4490ys29(v=vs.100).aspx ++FORCE_INLINE int _mm_movemask_ps(__m128 a) ++{ ++ uint32x4_t input = vreinterpretq_u32_m128(a); ++#if defined(__aarch64__) ++ static const int32x4_t shift = {0, 1, 2, 3}; ++ uint32x4_t tmp = vshrq_n_u32(input, 31); ++ return vaddvq_u32(vshlq_u32(tmp, shift)); ++#else ++ // Uses the exact same method as _mm_movemask_epi8, see that for details. ++ // Shift out everything but the sign bits with a 32-bit unsigned shift ++ // right. ++ uint64x2_t high_bits = vreinterpretq_u64_u32(vshrq_n_u32(input, 31)); ++ // Merge the two pairs together with a 64-bit unsigned shift right + add. ++ uint8x16_t paired = ++ vreinterpretq_u8_u64(vsraq_n_u64(high_bits, high_bits, 31)); ++ // Extract the result. ++ return vgetq_lane_u8(paired, 0) | (vgetq_lane_u8(paired, 8) << 2); ++#endif ++} ++ ++// Multiplies the four single-precision, floating-point values of a and b. ++// ++// r0 := a0 * b0 ++// r1 := a1 * b1 ++// r2 := a2 * b2 ++// r3 := a3 * b3 ++// ++// https://msdn.microsoft.com/en-us/library/vstudio/22kbk6t9(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_mul_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vmulq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Multiply the lower single-precision (32-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// ++// dst[31:0] := a[31:0] * b[31:0] ++// dst[127:32] := a[127:32] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_mul_ss ++FORCE_INLINE __m128 _mm_mul_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_mul_ps(a, b)); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_mulhi_pu16 ++FORCE_INLINE __m64 _mm_mulhi_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16(vshrn_n_u32( ++ vmull_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b)), 16)); ++} ++ ++// Computes the bitwise OR of the four single-precision, floating-point values ++// of a and b. ++// https://msdn.microsoft.com/en-us/library/vstudio/7ctdsyy0(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_or_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vorrq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// ++// FOR j := 0 to 7 ++// i := j*8 ++// dst[i+7:i] := (a[i+7:i] + b[i+7:i] + 1) >> 1 ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_m_pavgb ++#define _m_pavgb(a, b) _mm_avg_pu8(a, b) ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// ++// FOR j := 0 to 3 ++// i := j*16 ++// dst[i+15:i] := (a[i+15:i] + b[i+15:i] + 1) >> 1 ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_m_pavgw ++#define _m_pavgw(a, b) _mm_avg_pu16(a, b) ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_m_pextrw ++#define _m_pextrw(a, imm) _mm_extract_pi16(a, imm) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=m_pinsrw ++#define _m_pinsrw(a, i, imm) _mm_insert_pi16(a, i, imm) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_m_pmaxsw ++#define _m_pmaxsw(a, b) _mm_max_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_m_pmaxub ++#define _m_pmaxub(a, b) _mm_max_pu8(a, b) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_m_pminsw ++#define _m_pminsw(a, b) _mm_min_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_m_pminub ++#define _m_pminub(a, b) _mm_min_pu8(a, b) ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_m_pmovmskb ++#define _m_pmovmskb(a) _mm_movemask_pi8(a) ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_m_pmulhuw ++#define _m_pmulhuw(a, b) _mm_mulhi_pu16(a, b) ++ ++// Loads one cache line of data from address p to a location closer to the ++// processor. https://msdn.microsoft.com/en-us/library/84szxsww(v=vs.100).aspx ++FORCE_INLINE void _mm_prefetch(const void *p, int i) ++{ ++ (void) i; ++ __builtin_prefetch(p); ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=m_psadbw ++#define _m_psadbw(a, b) _mm_sad_pu8(a, b) ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_m_pshufw ++#define _m_pshufw(a, imm) _mm_shuffle_pi16(a, imm) ++ ++// Compute the approximate reciprocal of packed single-precision (32-bit) ++// floating-point elements in a, and store the results in dst. The maximum ++// relative error for this approximation is less than 1.5*2^-12. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_rcp_ps ++FORCE_INLINE __m128 _mm_rcp_ps(__m128 in) ++{ ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(in)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#if SSE2NEON_PRECISE_DIV ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#endif ++ return vreinterpretq_m128_f32(recip); ++} ++ ++// Compute the approximate reciprocal of the lower single-precision (32-bit) ++// floating-point element in a, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// ++// dst[31:0] := (1.0 / a[31:0]) ++// dst[127:32] := a[127:32] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_rcp_ss ++FORCE_INLINE __m128 _mm_rcp_ss(__m128 a) ++{ ++ return _mm_move_ss(a, _mm_rcp_ps(a)); ++} ++ ++// Computes the approximations of the reciprocal square roots of the four ++// single-precision floating point values of in. ++// The current precision is 1% error. ++// https://msdn.microsoft.com/en-us/library/22hfsh53(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_rsqrt_ps(__m128 in) ++{ ++ float32x4_t out = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++#if SSE2NEON_PRECISE_SQRT ++ // Additional Netwon-Raphson iteration for accuracy ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#endif ++ return vreinterpretq_m128_f32(out); ++} ++ ++// Compute the approximate reciprocal square root of the lower single-precision ++// (32-bit) floating-point element in a, store the result in the lower element ++// of dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_rsqrt_ss ++FORCE_INLINE __m128 _mm_rsqrt_ss(__m128 in) ++{ ++ return vsetq_lane_f32(vgetq_lane_f32(_mm_rsqrt_ps(in), 0), in, 0); ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_sad_pu8 ++FORCE_INLINE __m64 _mm_sad_pu8(__m64 a, __m64 b) ++{ ++ uint64x1_t t = vpaddl_u32(vpaddl_u16( ++ vpaddl_u8(vabd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))))); ++ return vreinterpret_m64_u16( ++ vset_lane_u16(vget_lane_u64(t, 0), vdup_n_u16(0), 0)); ++} ++ ++// Macro: Set the flush zero bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The flush zero may contain any of the ++// following flags: _MM_FLUSH_ZERO_ON or _MM_FLUSH_ZERO_OFF ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_MM_SET_FLUSH_ZERO_MODE ++FORCE_INLINE void _sse2neon_mm_set_flush_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) ++ __asm__ __volatile__("mrs %0, FPCR" : "=r"(r.value)); /* read */ ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_FLUSH_ZERO_MASK) == _MM_FLUSH_ZERO_ON; ++ ++#if defined(__aarch64__) ++ __asm__ __volatile__("msr FPCR, %0" ::"r"(r)); /* write */ ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Sets the four single-precision, floating-point values to the four inputs. ++// https://msdn.microsoft.com/en-us/library/vstudio/afh0zf75(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_set_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {x, y, z, w}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Sets the four single-precision, floating-point values to w. ++// https://msdn.microsoft.com/en-us/library/vstudio/2x1se8ha(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_set_ps1(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Macro: Set the rounding mode bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The rounding mode may contain any of ++// the following flags: _MM_ROUND_NEAREST, _MM_ROUND_DOWN, _MM_ROUND_UP, ++// _MM_ROUND_TOWARD_ZERO ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_MM_SET_ROUNDING_MODE ++FORCE_INLINE void _MM_SET_ROUNDING_MODE(int rounding) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) ++ __asm__ __volatile__("mrs %0, FPCR" : "=r"(r.value)); /* read */ ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ switch (rounding) { ++ case _MM_ROUND_TOWARD_ZERO: ++ r.field.bit22 = 1; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_DOWN: ++ r.field.bit22 = 0; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_UP: ++ r.field.bit22 = 1; ++ r.field.bit23 = 0; ++ break; ++ default: //_MM_ROUND_NEAREST ++ r.field.bit22 = 0; ++ r.field.bit23 = 0; ++ } ++ ++#if defined(__aarch64__) ++ __asm__ __volatile__("msr FPCR, %0" ::"r"(r)); /* write */ ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Copy single-precision (32-bit) floating-point element a to the lower element ++// of dst, and zero the upper 3 elements. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_set_ss ++FORCE_INLINE __m128 _mm_set_ss(float a) ++{ ++ float ALIGN_STRUCT(16) data[4] = {a, 0, 0, 0}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Sets the four single-precision, floating-point values to w. ++// ++// r0 := r1 := r2 := r3 := w ++// ++// https://msdn.microsoft.com/en-us/library/vstudio/2x1se8ha(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_set1_ps(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// FIXME: _mm_setcsr() implementation supports changing the rounding mode only. ++FORCE_INLINE void _mm_setcsr(unsigned int a) ++{ ++ _MM_SET_ROUNDING_MODE(a); ++} ++ ++// FIXME: _mm_getcsr() implementation supports reading the rounding mode only. ++FORCE_INLINE unsigned int _mm_getcsr() ++{ ++ return _MM_GET_ROUNDING_MODE(); ++} ++ ++// Sets the four single-precision, floating-point values to the four inputs in ++// reverse order. ++// https://msdn.microsoft.com/en-us/library/vstudio/d2172ct3(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_setr_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {w, z, y, x}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Clears the four single-precision, floating-point values. ++// https://msdn.microsoft.com/en-us/library/vstudio/tk1t2tbz(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_setzero_ps(void) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(0)); ++} ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_shuffle_pi16 ++#if __has_builtin(__builtin_shufflevector) ++#define _mm_shuffle_pi16(a, imm) \ ++ __extension__({ \ ++ vreinterpret_m64_s16(__builtin_shufflevector( \ ++ vreinterpret_s16_m64(a), vreinterpret_s16_m64(a), (imm & 0x3), \ ++ ((imm >> 2) & 0x3), ((imm >> 4) & 0x3), ((imm >> 6) & 0x3))); \ ++ }) ++#else ++#define _mm_shuffle_pi16(a, imm) \ ++ __extension__({ \ ++ int16x4_t ret; \ ++ ret = \ ++ vmov_n_s16(vget_lane_s16(vreinterpret_s16_m64(a), (imm) & (0x3))); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(a), ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(a), ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(a), ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ vreinterpret_m64_s16(ret); \ ++ }) ++#endif ++ ++// Guarantees that every preceding store is globally visible before any ++// subsequent store. ++// https://msdn.microsoft.com/en-us/library/5h2w73d1%28v=vs.90%29.aspx ++FORCE_INLINE void _mm_sfence(void) ++{ ++ __sync_synchronize(); ++} ++ ++// FORCE_INLINE __m128 _mm_shuffle_ps(__m128 a, __m128 b, __constrange(0,255) ++// int imm) ++#if __has_builtin(__builtin_shufflevector) ++#define _mm_shuffle_ps(a, b, imm) \ ++ __extension__({ \ ++ float32x4_t _input1 = vreinterpretq_f32_m128(a); \ ++ float32x4_t _input2 = vreinterpretq_f32_m128(b); \ ++ float32x4_t _shuf = __builtin_shufflevector( \ ++ _input1, _input2, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ (((imm) >> 4) & 0x3) + 4, (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128_f32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_ps(a, b, imm) \ ++ __extension__({ \ ++ __m128 ret; \ ++ switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_1032((a), (b)); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_ps_2301((a), (b)); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_ps_0321((a), (b)); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_ps_2103((a), (b)); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_movelh_ps((a), (b)); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_1001((a), (b)); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_ps_0101((a), (b)); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 1, 0): \ ++ ret = _mm_shuffle_ps_3210((a), (b)); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 1, 1): \ ++ ret = _mm_shuffle_ps_0011((a), (b)); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 2, 2): \ ++ ret = _mm_shuffle_ps_0022((a), (b)); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 0, 0): \ ++ ret = _mm_shuffle_ps_2200((a), (b)); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 0, 2): \ ++ ret = _mm_shuffle_ps_3202((a), (b)); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 3, 2): \ ++ ret = _mm_movehl_ps((b), (a)); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 3, 3): \ ++ ret = _mm_shuffle_ps_1133((a), (b)); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 1, 0): \ ++ ret = _mm_shuffle_ps_2010((a), (b)); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_2001((a), (b)); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_2032((a), (b)); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_ps_default((a), (b), (imm)); \ ++ break; \ ++ } \ ++ ret; \ ++ }) ++#endif ++ ++// Computes the approximations of square roots of the four single-precision, ++// floating-point values of a. First computes reciprocal square roots and then ++// reciprocals of the four values. ++// ++// r0 := sqrt(a0) ++// r1 := sqrt(a1) ++// r2 := sqrt(a2) ++// r3 := sqrt(a3) ++// ++// https://msdn.microsoft.com/en-us/library/vstudio/8z67bwwk(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_sqrt_ps(__m128 in) ++{ ++#if SSE2NEON_PRECISE_SQRT ++ float32x4_t recip = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Test for vrsqrteq_f32(0) -> positive infinity case. ++ // Change to zero, so that s * 1/sqrt(s) result is zero too. ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t div_by_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(recip)); ++ recip = vreinterpretq_f32_u32( ++ vandq_u32(vmvnq_u32(div_by_zero), vreinterpretq_u32_f32(recip))); ++ ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ ++ // sqrt(s) = s * 1/sqrt(s) ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(in), recip)); ++#elif defined(__aarch64__) ++ return vreinterpretq_m128_f32(vsqrtq_f32(vreinterpretq_f32_m128(in))); ++#else ++ float32x4_t recipsq = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ float32x4_t sq = vrecpeq_f32(recipsq); ++ return vreinterpretq_m128_f32(sq); ++#endif ++} ++ ++// Computes the approximation of the square root of the scalar single-precision ++// floating point value of in. ++// https://msdn.microsoft.com/en-us/library/ahfsc22d(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_sqrt_ss(__m128 in) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_sqrt_ps(in)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(in), 0)); ++} ++ ++// Stores four single-precision, floating-point values. ++// https://msdn.microsoft.com/en-us/library/vstudio/s3h4ay6y(v=vs.100).aspx ++FORCE_INLINE void _mm_store_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// ++// MEM[mem_addr+31:mem_addr] := a[31:0] ++// MEM[mem_addr+63:mem_addr+32] := a[31:0] ++// MEM[mem_addr+95:mem_addr+64] := a[31:0] ++// MEM[mem_addr+127:mem_addr+96] := a[31:0] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_store_ps1 ++FORCE_INLINE void _mm_store_ps1(float *p, __m128 a) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ vst1q_f32(p, vdupq_n_f32(a0)); ++} ++ ++// Stores the lower single - precision, floating - point value. ++// https://msdn.microsoft.com/en-us/library/tzz10fbx(v=vs.100).aspx ++FORCE_INLINE void _mm_store_ss(float *p, __m128 a) ++{ ++ vst1q_lane_f32(p, vreinterpretq_f32_m128(a), 0); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// ++// MEM[mem_addr+31:mem_addr] := a[31:0] ++// MEM[mem_addr+63:mem_addr+32] := a[31:0] ++// MEM[mem_addr+95:mem_addr+64] := a[31:0] ++// MEM[mem_addr+127:mem_addr+96] := a[31:0] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_store1_ps ++#define _mm_store1_ps _mm_store_ps1 ++ ++// Stores the upper two single-precision, floating-point values of a to the ++// address p. ++// ++// *p0 := a2 ++// *p1 := a3 ++// ++// https://msdn.microsoft.com/en-us/library/a7525fs8(v%3dvs.90).aspx ++FORCE_INLINE void _mm_storeh_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_high_f32(a)); ++} ++ ++// Stores the lower two single-precision floating point values of a to the ++// address p. ++// ++// *p0 := a0 ++// *p1 := a1 ++// ++// https://msdn.microsoft.com/en-us/library/h54t98ks(v=vs.90).aspx ++FORCE_INLINE void _mm_storel_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_low_f32(a)); ++} ++ ++// Store 4 single-precision (32-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// ++// MEM[mem_addr+31:mem_addr] := a[127:96] ++// MEM[mem_addr+63:mem_addr+32] := a[95:64] ++// MEM[mem_addr+95:mem_addr+64] := a[63:32] ++// MEM[mem_addr+127:mem_addr+96] := a[31:0] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_storer_ps ++FORCE_INLINE void _mm_storer_ps(float *p, __m128 a) ++{ ++ float32x4_t tmp = vrev64q_f32(vreinterpretq_f32_m128(a)); ++ float32x4_t rev = vextq_f32(tmp, tmp, 2); ++ vst1q_f32(p, rev); ++} ++ ++// Stores four single-precision, floating-point values. ++// https://msdn.microsoft.com/en-us/library/44e30x22(v=vs.100).aspx ++FORCE_INLINE void _mm_storeu_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Stores 16-bits of integer data a at the address p. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_storeu_si16 ++FORCE_INLINE void _mm_storeu_si16(void *p, __m128i a) ++{ ++ vst1q_lane_s16((int16_t *) p, vreinterpretq_s16_m128i(a), 0); ++} ++ ++// Stores 64-bits of integer data a at the address p. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_storeu_si64 ++FORCE_INLINE void _mm_storeu_si64(void *p, __m128i a) ++{ ++ vst1q_lane_s64((int64_t *) p, vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Store 64-bits of integer data from a into memory using a non-temporal memory ++// hint. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_stream_pi ++FORCE_INLINE void _mm_stream_pi(__m64 *p, __m64 a) ++{ ++ vst1_s64((int64_t *) p, vreinterpret_s64_m64(a)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating- ++// point elements) from a into memory using a non-temporal memory hint. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_stream_ps ++FORCE_INLINE void _mm_stream_ps(float *p, __m128 a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (float32x4_t *) p); ++#else ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++#endif ++} ++ ++// Subtracts the four single-precision, floating-point values of a and b. ++// ++// r0 := a0 - b0 ++// r1 := a1 - b1 ++// r2 := a2 - b2 ++// r3 := a3 - b3 ++// ++// https://msdn.microsoft.com/en-us/library/vstudio/1zad2k61(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_sub_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Subtract the lower single-precision (32-bit) floating-point element in b from ++// the lower single-precision (32-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper 3 packed elements from ++// a to the upper elements of dst. ++// ++// dst[31:0] := a[31:0] - b[31:0] ++// dst[127:32] := a[127:32] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_sub_ss ++FORCE_INLINE __m128 _mm_sub_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_sub_ps(a, b)); ++} ++ ++// Macro: Transpose the 4x4 matrix formed by the 4 rows of single-precision ++// (32-bit) floating-point elements in row0, row1, row2, and row3, and store the ++// transposed matrix in these vectors (row0 now contains column 0, etc.). ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=MM_TRANSPOSE4_PS ++#define _MM_TRANSPOSE4_PS(row0, row1, row2, row3) \ ++ do { \ ++ float32x4x2_t ROW01 = vtrnq_f32(row0, row1); \ ++ float32x4x2_t ROW23 = vtrnq_f32(row2, row3); \ ++ row0 = vcombine_f32(vget_low_f32(ROW01.val[0]), \ ++ vget_low_f32(ROW23.val[0])); \ ++ row1 = vcombine_f32(vget_low_f32(ROW01.val[1]), \ ++ vget_low_f32(ROW23.val[1])); \ ++ row2 = vcombine_f32(vget_high_f32(ROW01.val[0]), \ ++ vget_high_f32(ROW23.val[0])); \ ++ row3 = vcombine_f32(vget_high_f32(ROW01.val[1]), \ ++ vget_high_f32(ROW23.val[1])); \ ++ } while (0) ++ ++// according to the documentation, these intrinsics behave the same as the ++// non-'u' versions. We'll just alias them here. ++#define _mm_ucomieq_ss _mm_comieq_ss ++#define _mm_ucomige_ss _mm_comige_ss ++#define _mm_ucomigt_ss _mm_comigt_ss ++#define _mm_ucomile_ss _mm_comile_ss ++#define _mm_ucomilt_ss _mm_comilt_ss ++#define _mm_ucomineq_ss _mm_comineq_ss ++ ++// Return vector of type __m128i with undefined elements. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=mm_undefined_si128 ++FORCE_INLINE __m128i _mm_undefined_si128(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128i a; ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Return vector of type __m128 with undefined elements. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_undefined_ps ++FORCE_INLINE __m128 _mm_undefined_ps(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128 a; ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Selects and interleaves the upper two single-precision, floating-point values ++// from a and b. ++// ++// r0 := a2 ++// r1 := b2 ++// r2 := a3 ++// r3 := b3 ++// ++// https://msdn.microsoft.com/en-us/library/skccxx7d%28v=vs.90%29.aspx ++FORCE_INLINE __m128 _mm_unpackhi_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128_f32( ++ vzip2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Selects and interleaves the lower two single-precision, floating-point values ++// from a and b. ++// ++// r0 := a0 ++// r1 := b0 ++// r2 := a1 ++// r3 := b1 ++// ++// https://msdn.microsoft.com/en-us/library/25st103b%28v=vs.90%29.aspx ++FORCE_INLINE __m128 _mm_unpacklo_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128_f32( ++ vzip1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Computes bitwise EXOR (exclusive-or) of the four single-precision, ++// floating-point values of a and b. ++// https://msdn.microsoft.com/en-us/library/ss6k3wk8(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_xor_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ veorq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++/* SSE2 */ ++ ++// Adds the 8 signed or unsigned 16-bit integers in a to the 8 signed or ++// unsigned 16-bit integers in b. ++// https://msdn.microsoft.com/en-us/library/fceha5k4(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_add_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Adds the 4 signed or unsigned 32-bit integers in a to the 4 signed or ++// unsigned 32-bit integers in b. ++// ++// r0 := a0 + b0 ++// r1 := a1 + b1 ++// r2 := a2 + b2 ++// r3 := a3 + b3 ++// ++// https://msdn.microsoft.com/en-us/library/vstudio/09xs4fkk(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_add_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vaddq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Adds the 4 signed or unsigned 64-bit integers in a to the 4 signed or ++// unsigned 32-bit integers in b. ++// https://msdn.microsoft.com/en-us/library/vstudio/09xs4fkk(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_add_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vaddq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Adds the 16 signed or unsigned 8-bit integers in a to the 16 signed or ++// unsigned 8-bit integers in b. ++// https://technet.microsoft.com/en-us/subscriptions/yc7tcyzs(v=vs.90) ++FORCE_INLINE __m128i _mm_add_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed double-precision (64-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_add_pd ++FORCE_INLINE __m128d _mm_add_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64( ++ vaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1] + db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add the lower double-precision (64-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper element from ++// a to the upper element of dst. ++// ++// dst[63:0] := a[63:0] + b[63:0] ++// dst[127:64] := a[127:64] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_add_sd ++FORCE_INLINE __m128d _mm_add_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return _mm_move_sd(a, _mm_add_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add 64-bit integers a and b, and store the result in dst. ++// ++// dst[63:0] := a[63:0] + b[63:0] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_add_si64 ++FORCE_INLINE __m64 _mm_add_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vadd_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Adds the 8 signed 16-bit integers in a to the 8 signed 16-bit integers in b ++// and saturates. ++// ++// r0 := SignedSaturate(a0 + b0) ++// r1 := SignedSaturate(a1 + b1) ++// ... ++// r7 := SignedSaturate(a7 + b7) ++// ++// https://msdn.microsoft.com/en-us/library/1a306ef8(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_adds_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed signed 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// ++// FOR j := 0 to 15 ++// i := j*8 ++// dst[i+7:i] := Saturate8( a[i+7:i] + b[i+7:i] ) ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_adds_epi8 ++FORCE_INLINE __m128i _mm_adds_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed unsigned 16-bit integers in a and b using saturation, and store ++// the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_adds_epu16 ++FORCE_INLINE __m128i _mm_adds_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqaddq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Adds the 16 unsigned 8-bit integers in a to the 16 unsigned 8-bit integers in ++// b and saturates.. ++// https://msdn.microsoft.com/en-us/library/9hahyddy(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_adds_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compute the bitwise AND of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// ++// FOR j := 0 to 1 ++// i := j*64 ++// dst[i+63:i] := a[i+63:i] AND b[i+63:i] ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_and_pd ++FORCE_INLINE __m128d _mm_and_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vandq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Computes the bitwise AND of the 128-bit value in a and the 128-bit value in ++// b. ++// ++// r := a & b ++// ++// https://msdn.microsoft.com/en-us/library/vstudio/6d1txsa8(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_and_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vandq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compute the bitwise NOT of packed double-precision (64-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// ++// FOR j := 0 to 1 ++// i := j*64 ++// dst[i+63:i] := ((NOT a[i+63:i]) AND b[i+63:i]) ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_andnot_pd ++FORCE_INLINE __m128d _mm_andnot_pd(__m128d a, __m128d b) ++{ ++ // *NOTE* argument swap ++ return vreinterpretq_m128d_s64( ++ vbicq_s64(vreinterpretq_s64_m128d(b), vreinterpretq_s64_m128d(a))); ++} ++ ++// Computes the bitwise AND of the 128-bit value in b and the bitwise NOT of the ++// 128-bit value in a. ++// ++// r := (~a) & b ++// ++// https://msdn.microsoft.com/en-us/library/vstudio/1beaceh8(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_andnot_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vbicq_s32(vreinterpretq_s32_m128i(b), ++ vreinterpretq_s32_m128i(a))); // *NOTE* argument swap ++} ++ ++// Computes the average of the 8 unsigned 16-bit integers in a and the 8 ++// unsigned 16-bit integers in b and rounds. ++// ++// r0 := (a0 + b0) / 2 ++// r1 := (a1 + b1) / 2 ++// ... ++// r7 := (a7 + b7) / 2 ++// ++// https://msdn.microsoft.com/en-us/library/vstudio/y13ca3c8(v=vs.90).aspx ++FORCE_INLINE __m128i _mm_avg_epu16(__m128i a, __m128i b) ++{ ++ return (__m128i) vrhaddq_u16(vreinterpretq_u16_m128i(a), ++ vreinterpretq_u16_m128i(b)); ++} ++ ++// Computes the average of the 16 unsigned 8-bit integers in a and the 16 ++// unsigned 8-bit integers in b and rounds. ++// ++// r0 := (a0 + b0) / 2 ++// r1 := (a1 + b1) / 2 ++// ... ++// r15 := (a15 + b15) / 2 ++// ++// https://msdn.microsoft.com/en-us/library/vstudio/8zwh554a(v%3dvs.90).aspx ++FORCE_INLINE __m128i _mm_avg_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vrhaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_bslli_si128 ++#define _mm_bslli_si128(a, imm) _mm_slli_si128(a, imm) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_bsrli_si128 ++#define _mm_bsrli_si128(a, imm) _mm_srli_si128(a, imm) ++ ++// Cast vector of type __m128d to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_castpd_ps ++FORCE_INLINE __m128 _mm_castpd_ps(__m128d a) ++{ ++ return vreinterpretq_m128_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128d to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_castpd_si128 ++FORCE_INLINE __m128i _mm_castpd_si128(__m128d a) ++{ ++ return vreinterpretq_m128i_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128 to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_castps_pd ++FORCE_INLINE __m128d _mm_castps_pd(__m128 a) ++{ ++ return vreinterpretq_m128d_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Applies a type cast to reinterpret four 32-bit floating point values passed ++// in as a 128-bit parameter as packed 32-bit integers. ++// https://msdn.microsoft.com/en-us/library/bb514099.aspx ++FORCE_INLINE __m128i _mm_castps_si128(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128i to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_castsi128_pd ++FORCE_INLINE __m128d _mm_castsi128_pd(__m128i a) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64(vreinterpretq_f64_m128i(a)); ++#else ++ return vreinterpretq_m128d_f32(vreinterpretq_f32_m128i(a)); ++#endif ++} ++ ++// Applies a type cast to reinterpret four 32-bit integers passed in as a ++// 128-bit parameter as packed 32-bit floating point values. ++// https://msdn.microsoft.com/en-us/library/bb514029.aspx ++FORCE_INLINE __m128 _mm_castsi128_ps(__m128i a) ++{ ++ return vreinterpretq_m128_s32(vreinterpretq_s32_m128i(a)); ++} ++ ++// Cache line containing p is flushed and invalidated from all caches in the ++// coherency domain. : ++// https://msdn.microsoft.com/en-us/library/ba08y07y(v=vs.100).aspx ++FORCE_INLINE void _mm_clflush(void const *p) ++{ ++ (void) p; ++ // no corollary for Neon? ++} ++ ++// Compares the 8 signed or unsigned 16-bit integers in a and the 8 signed or ++// unsigned 16-bit integers in b for equality. ++// https://msdn.microsoft.com/en-us/library/2ay060te(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_cmpeq_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vceqq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed 32-bit integers in a and b for equality, and store the results ++// in dst ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vceqq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compares the 16 signed or unsigned 8-bit integers in a and the 16 signed or ++// unsigned 8-bit integers in b for equality. ++// https://msdn.microsoft.com/en-us/library/windows/desktop/bz5xk21a(v=vs.90).aspx ++FORCE_INLINE __m128i _mm_cmpeq_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vceqq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cmpeq_pd ++FORCE_INLINE __m128d _mm_cmpeq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cmpeq_sd ++FORCE_INLINE __m128d _mm_cmpeq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpeq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cmpge_pd ++FORCE_INLINE __m128d _mm_cmpge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) >= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cmpge_sd ++FORCE_INLINE __m128d _mm_cmpge_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return _mm_move_sd(a, _mm_cmpge_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compares the 8 signed 16-bit integers in a and the 8 signed 16-bit integers ++// in b for greater than. ++// ++// r0 := (a0 > b0) ? 0xffff : 0x0 ++// r1 := (a1 > b1) ? 0xffff : 0x0 ++// ... ++// r7 := (a7 > b7) ? 0xffff : 0x0 ++// ++// https://technet.microsoft.com/en-us/library/xd43yfsa(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_cmpgt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcgtq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compares the 4 signed 32-bit integers in a and the 4 signed 32-bit integers ++// in b for greater than. ++// https://msdn.microsoft.com/en-us/library/vstudio/1s9f2z0y(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_cmpgt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcgtq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compares the 16 signed 8-bit integers in a and the 16 signed 8-bit integers ++// in b for greater than. ++// ++// r0 := (a0 > b0) ? 0xff : 0x0 ++// r1 := (a1 > b1) ? 0xff : 0x0 ++// ... ++// r15 := (a15 > b15) ? 0xff : 0x0 ++// ++// https://msdn.microsoft.com/zh-tw/library/wf45zt2b(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_cmpgt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcgtq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cmpgt_pd ++FORCE_INLINE __m128d _mm_cmpgt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cmpgt_sd ++FORCE_INLINE __m128d _mm_cmpgt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return _mm_move_sd(a, _mm_cmpgt_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cmple_pd ++FORCE_INLINE __m128d _mm_cmple_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) <= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cmple_sd ++FORCE_INLINE __m128d _mm_cmple_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return _mm_move_sd(a, _mm_cmple_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compares the 8 signed 16-bit integers in a and the 8 signed 16-bit integers ++// in b for less than. ++// ++// r0 := (a0 < b0) ? 0xffff : 0x0 ++// r1 := (a1 < b1) ? 0xffff : 0x0 ++// ... ++// r7 := (a7 < b7) ? 0xffff : 0x0 ++// ++// https://technet.microsoft.com/en-us/library/t863edb2(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_cmplt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcltq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++ ++// Compares the 4 signed 32-bit integers in a and the 4 signed 32-bit integers ++// in b for less than. ++// https://msdn.microsoft.com/en-us/library/vstudio/4ak0bf5d(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_cmplt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcltq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compares the 16 signed 8-bit integers in a and the 16 signed 8-bit integers ++// in b for lesser than. ++// https://msdn.microsoft.com/en-us/library/windows/desktop/9s46csht(v=vs.90).aspx ++FORCE_INLINE __m128i _mm_cmplt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcltq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cmplt_pd ++FORCE_INLINE __m128d _mm_cmplt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cmplt_sd ++FORCE_INLINE __m128d _mm_cmplt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return _mm_move_sd(a, _mm_cmplt_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cmpneq_pd ++FORCE_INLINE __m128d _mm_cmpneq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_s32(vmvnq_s32(vreinterpretq_s32_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vmvnq_u32(vandq_u32(cmp, swapped))); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cmpneq_sd ++FORCE_INLINE __m128d _mm_cmpneq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpneq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cmpnge_pd ++FORCE_INLINE __m128d _mm_cmpnge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) >= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) >= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper element from a to the upper element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cmpnge_sd ++FORCE_INLINE __m128d _mm_cmpnge_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnge_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_cmpngt_pd ++FORCE_INLINE __m128d _mm_cmpngt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) > (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) > (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cmpngt_sd ++FORCE_INLINE __m128d _mm_cmpngt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpngt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cmpnle_pd ++FORCE_INLINE __m128d _mm_cmpnle_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) <= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) <= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cmpnle_sd ++FORCE_INLINE __m128d _mm_cmpnle_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnle_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cmpnlt_pd ++FORCE_INLINE __m128d _mm_cmpnlt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) < (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) < (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cmpnlt_sd ++FORCE_INLINE __m128d _mm_cmpnlt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnlt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cmpord_pd ++FORCE_INLINE __m128d _mm_cmpord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ // Excluding NaNs, any two floating point numbers can be compared. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_u64(vandq_u64(not_nan_a, not_nan_b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cmpord_sd ++FORCE_INLINE __m128d _mm_cmpord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return _mm_move_sd(a, _mm_cmpord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cmpunord_pd ++FORCE_INLINE __m128d _mm_cmpunord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ // Two NaNs are not equal in comparison operation. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_s32( ++ vmvnq_s32(vreinterpretq_s32_u64(vandq_u64(not_nan_a, not_nan_b)))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cmpunord_sd ++FORCE_INLINE __m128d _mm_cmpunord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return _mm_move_sd(a, _mm_cmpunord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_comige_sd ++FORCE_INLINE int _mm_comige_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return vgetq_lane_u64(vcgeq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 >= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_comigt_sd ++FORCE_INLINE int _mm_comigt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return vgetq_lane_u64(vcgtq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 > *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_comile_sd ++FORCE_INLINE int _mm_comile_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return vgetq_lane_u64(vcleq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 <= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_comilt_sd ++FORCE_INLINE int _mm_comilt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return vgetq_lane_u64(vcltq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 < *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_comieq_sd ++FORCE_INLINE int _mm_comieq_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return vgetq_lane_u64(vceqq_f64(a, b), 0) & 0x1; ++#else ++ uint32x4_t a_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(a)); ++ uint32x4_t b_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(b), vreinterpretq_u32_m128d(b)); ++ uint32x4_t a_and_b_not_nan = vandq_u32(a_not_nan, b_not_nan); ++ uint32x4_t a_eq_b = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint64x2_t and_results = vandq_u64(vreinterpretq_u64_u32(a_and_b_not_nan), ++ vreinterpretq_u64_u32(a_eq_b)); ++ return vgetq_lane_u64(and_results, 0) & 0x1; ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_comineq_sd ++FORCE_INLINE int _mm_comineq_sd(__m128d a, __m128d b) ++{ ++ return !_mm_comieq_sd(a, b); ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// ++// FOR j := 0 to 1 ++// i := j*32 ++// m := j*64 ++// dst[m+63:m] := Convert_Int32_To_FP64(a[i+31:i]) ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtepi32_pd ++FORCE_INLINE __m128d _mm_cvtepi32_pd(__m128i a) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a))))); ++#else ++ double a0 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++ double a1 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Converts the four signed 32-bit integer values of a to single-precision, ++// floating-point values ++// https://msdn.microsoft.com/en-us/library/vstudio/36bwxcx5(v=vs.100).aspx ++FORCE_INLINE __m128 _mm_cvtepi32_ps(__m128i a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// ++// FOR j := 0 to 1 ++// i := 32*j ++// k := 64*j ++// dst[i+31:i] := Convert_FP64_To_Int32(a[k+63:k]) ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtpd_epi32 ++FORCE_INLINE __m128i _mm_cvtpd_epi32(__m128d a) ++{ ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) d1, (int32_t) d0); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// ++// FOR j := 0 to 1 ++// i := 32*j ++// k := 64*j ++// dst[i+31:i] := Convert_FP64_To_Int32(a[k+63:k]) ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtpd_pi32 ++FORCE_INLINE __m64 _mm_cvtpd_pi32(__m128d a) ++{ ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) d0, (int32_t) d1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed single-precision (32-bit) floating-point elements, and store the ++// results in dst. ++// ++// FOR j := 0 to 1 ++// i := 32*j ++// k := 64*j ++// dst[i+31:i] := Convert_FP64_To_FP32(a[k+64:k]) ++// ENDFOR ++// dst[127:64] := 0 ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtpd_ps ++FORCE_INLINE __m128 _mm_cvtpd_ps(__m128d a) ++{ ++#if defined(__aarch64__) ++ float32x2_t tmp = vcvt_f32_f64(vreinterpretq_f64_m128d(a)); ++ return vreinterpretq_m128_f32(vcombine_f32(tmp, vdup_n_f32(0))); ++#else ++ float a0 = (float) ((double *) &a)[0]; ++ float a1 = (float) ((double *) &a)[1]; ++ return _mm_set_ps(0, 0, a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// ++// FOR j := 0 to 1 ++// i := j*32 ++// m := j*64 ++// dst[m+63:m] := Convert_Int32_To_FP64(a[i+31:i]) ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtpi32_pd ++FORCE_INLINE __m128d _mm_cvtpi32_pd(__m64 a) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vreinterpret_s32_m64(a)))); ++#else ++ double a0 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 0); ++ double a1 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Converts the four single-precision, floating-point values of a to signed ++// 32-bit integer values. ++// ++// r0 := (int) a0 ++// r1 := (int) a1 ++// r2 := (int) a2 ++// r3 := (int) a3 ++// ++// https://msdn.microsoft.com/en-us/library/vstudio/xdc42k5e(v=vs.100).aspx ++// *NOTE*. The default rounding mode on SSE is 'round to even', which ARMv7-A ++// does not support! It is supported on ARMv8-A however. ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128 a) ++{ ++#if defined(__aarch64__) || defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: ++ return vreinterpretq_m128i_s32(vcvtnq_s32_f32(a)); ++ case _MM_ROUND_DOWN: ++ return vreinterpretq_m128i_s32(vcvtmq_s32_f32(a)); ++ case _MM_ROUND_UP: ++ return vreinterpretq_m128i_s32(vcvtpq_s32_f32(a)); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(a)); ++ } ++#else ++ float *f = (float *) &a; ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128i_s32( ++ vbslq_s32(is_delta_half, r_even, r_normal)); ++ } ++ case _MM_ROUND_DOWN: ++ return _mm_set_epi32(floorf(f[3]), floorf(f[2]), floorf(f[1]), ++ floorf(f[0])); ++ case _MM_ROUND_UP: ++ return _mm_set_epi32(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ++ ceilf(f[0])); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return _mm_set_epi32((int32_t) f[3], (int32_t) f[2], (int32_t) f[1], ++ (int32_t) f[0]); ++ } ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed double-precision (64-bit) floating-point elements, and store the ++// results in dst. ++// ++// FOR j := 0 to 1 ++// i := 64*j ++// k := 32*j ++// dst[i+63:i] := Convert_FP32_To_FP64(a[k+31:k]) ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtps_pd ++FORCE_INLINE __m128d _mm_cvtps_pd(__m128 a) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64( ++ vcvt_f64_f32(vget_low_f32(vreinterpretq_f32_m128(a)))); ++#else ++ double a0 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ double a1 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Copy the lower double-precision (64-bit) floating-point element of a to dst. ++// ++// dst[63:0] := a[63:0] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtsd_f64 ++FORCE_INLINE double _mm_cvtsd_f64(__m128d a) ++{ ++#if defined(__aarch64__) ++ return (double) vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0); ++#else ++ return ((double *) &a)[0]; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// ++// dst[31:0] := Convert_FP64_To_Int32(a[63:0]) ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtsd_si32 ++FORCE_INLINE int32_t _mm_cvtsd_si32(__m128d a) ++{ ++#if defined(__aarch64__) ++ return (int32_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int32_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// ++// dst[63:0] := Convert_FP64_To_Int64(a[63:0]) ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtsd_si64 ++FORCE_INLINE int64_t _mm_cvtsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) ++ return (int64_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// ++// dst[63:0] := Convert_FP64_To_Int64(a[63:0]) ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtsd_si64x ++#define _mm_cvtsd_si64x _mm_cvtsd_si64 ++ ++// Convert the lower double-precision (64-bit) floating-point element in b to a ++// single-precision (32-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtsd_ss ++FORCE_INLINE __m128 _mm_cvtsd_ss(__m128 a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128_f32(vsetq_lane_f32( ++ vget_lane_f32(vcvt_f32_f64(vreinterpretq_f64_m128d(b)), 0), ++ vreinterpretq_f32_m128(a), 0)); ++#else ++ return vreinterpretq_m128_f32(vsetq_lane_f32((float) ((double *) &b)[0], ++ vreinterpretq_f32_m128(a), 0)); ++#endif ++} ++ ++// Copy the lower 32-bit integer in a to dst. ++// ++// dst[31:0] := a[31:0] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtsi128_si32 ++FORCE_INLINE int _mm_cvtsi128_si32(__m128i a) ++{ ++ return vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// ++// dst[63:0] := a[63:0] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtsi128_si64 ++FORCE_INLINE int64_t _mm_cvtsi128_si64(__m128i a) ++{ ++ return vgetq_lane_s64(vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Convert the signed 32-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtsi32_sd ++FORCE_INLINE __m128d _mm_cvtsi32_sd(__m128d a, int32_t b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// ++// dst[63:0] := a[63:0] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Moves 32-bit integer a to the least significant 32 bits of an __m128 object, ++// zero extending the upper bits. ++// ++// r0 := a ++// r1 := 0x0 ++// r2 := 0x0 ++// r3 := 0x0 ++// ++// https://msdn.microsoft.com/en-us/library/ct3539ha%28v=vs.90%29.aspx ++FORCE_INLINE __m128i _mm_cvtsi32_si128(int a) ++{ ++ return vreinterpretq_m128i_s32(vsetq_lane_s32(a, vdupq_n_s32(0), 0)); ++} ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtsi64_sd ++FORCE_INLINE __m128d _mm_cvtsi64_sd(__m128d a, int64_t b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Moves 64-bit integer a to the least significant 64 bits of an __m128 object, ++// zero extending the upper bits. ++// ++// r0 := a ++// r1 := 0x0 ++FORCE_INLINE __m128i _mm_cvtsi64_si128(int64_t a) ++{ ++ return vreinterpretq_m128i_s64(vsetq_lane_s64(a, vdupq_n_s64(0), 0)); ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtsi64x_si128 ++#define _mm_cvtsi64x_si128(a) _mm_cvtsi64_si128(a) ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtsi64x_sd ++#define _mm_cvtsi64x_sd(a, b) _mm_cvtsi64_sd(a, b) ++ ++// Convert the lower single-precision (32-bit) floating-point element in b to a ++// double-precision (64-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// ++// dst[63:0] := Convert_FP32_To_FP64(b[31:0]) ++// dst[127:64] := a[127:64] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtss_sd ++FORCE_INLINE __m128d _mm_cvtss_sd(__m128d a, __m128 b) ++{ ++ double d = (double) vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(d, vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &d, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvttpd_epi32 ++FORCE_INLINE __m128i _mm_cvttpd_epi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) a1, (int32_t) a0); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvttpd_pi32 ++FORCE_INLINE __m64 _mm_cvttpd_pi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) a0, (int32_t) a1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Converts the four single-precision, floating-point values of a to signed ++// 32-bit integer values using truncate. ++// https://msdn.microsoft.com/en-us/library/vstudio/1h005y6x(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_cvttps_epi32(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a))); ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// ++// dst[63:0] := Convert_FP64_To_Int32_Truncate(a[63:0]) ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvttsd_si32 ++FORCE_INLINE int32_t _mm_cvttsd_si32(__m128d a) ++{ ++ double ret = *((double *) &a); ++ return (int32_t) ret; ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// ++// dst[63:0] := Convert_FP64_To_Int64_Truncate(a[63:0]) ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvttsd_si64 ++FORCE_INLINE int64_t _mm_cvttsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) ++ return vgetq_lane_s64(vcvtq_s64_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ double ret = *((double *) &a); ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// ++// dst[63:0] := Convert_FP64_To_Int64_Truncate(a[63:0]) ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvttsd_si64x ++#define _mm_cvttsd_si64x(a) _mm_cvttsd_si64(a) ++ ++// Divide packed double-precision (64-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// ++// FOR j := 0 to 1 ++// i := 64*j ++// dst[i+63:i] := a[i+63:i] / b[i+63:i] ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_div_pd ++FORCE_INLINE __m128d _mm_div_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64( ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] / db[0]; ++ c[1] = da[1] / db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Divide the lower double-precision (64-bit) floating-point element in a by the ++// lower double-precision (64-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper element from a to the upper ++// element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_div_sd ++FORCE_INLINE __m128d _mm_div_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ float64x2_t tmp = ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1), tmp, 1)); ++#else ++ return _mm_move_sd(a, _mm_div_pd(a, b)); ++#endif ++} ++ ++// Extracts the selected signed or unsigned 16-bit integer from a and zero ++// extends. ++// https://msdn.microsoft.com/en-us/library/6dceta0c(v=vs.100).aspx ++// FORCE_INLINE int _mm_extract_epi16(__m128i a, __constrange(0,8) int imm) ++#define _mm_extract_epi16(a, imm) \ ++ vgetq_lane_u16(vreinterpretq_u16_m128i(a), (imm)) ++ ++// Inserts the least significant 16 bits of b into the selected 16-bit integer ++// of a. ++// https://msdn.microsoft.com/en-us/library/kaze8hz1%28v=vs.100%29.aspx ++// FORCE_INLINE __m128i _mm_insert_epi16(__m128i a, int b, ++// __constrange(0,8) int imm) ++#define _mm_insert_epi16(a, b, imm) \ ++ __extension__({ \ ++ vreinterpretq_m128i_s16( \ ++ vsetq_lane_s16((b), vreinterpretq_s16_m128i(a), (imm))); \ ++ }) ++ ++// Loads two double-precision from 16-byte aligned memory, floating-point ++// values. ++// ++// dst[127:0] := MEM[mem_addr+127:mem_addr] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_load_pd ++FORCE_INLINE __m128d _mm_load_pd(const double *p) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64(vld1q_f64(p)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], fp[2], fp[3]}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// ++// dst[63:0] := MEM[mem_addr+63:mem_addr] ++// dst[127:64] := MEM[mem_addr+63:mem_addr] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_load_pd1 ++#define _mm_load_pd1 _mm_load1_pd ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower of dst, and zero the upper element. mem_addr does not need to be ++// aligned on any particular boundary. ++// ++// dst[63:0] := MEM[mem_addr+63:mem_addr] ++// dst[127:64] := 0 ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_load_sd ++FORCE_INLINE __m128d _mm_load_sd(const double *p) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(*p, vdupq_n_f64(0), 0)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], 0, 0}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Loads 128-bit value. : ++// https://msdn.microsoft.com/en-us/library/atzzad1h(v=vs.80).aspx ++FORCE_INLINE __m128i _mm_load_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const int32_t *) p)); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// ++// dst[63:0] := MEM[mem_addr+63:mem_addr] ++// dst[127:64] := MEM[mem_addr+63:mem_addr] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_load1_pd ++FORCE_INLINE __m128d _mm_load1_pd(const double *p) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64(vld1q_dup_f64(p)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(const int64_t *) p)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// upper element of dst, and copy the lower element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// ++// dst[63:0] := a[63:0] ++// dst[127:64] := MEM[mem_addr+63:mem_addr] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_loadh_pd ++FORCE_INLINE __m128d _mm_loadh_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vget_low_f64(vreinterpretq_f64_m128d(a)), vld1_f64(p))); ++#else ++ return vreinterpretq_m128d_f32(vcombine_f32( ++ vget_low_f32(vreinterpretq_f32_m128d(a)), vld1_f32((const float *) p))); ++#endif ++} ++ ++// Load 64-bit integer from memory into the first element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_loadl_epi64 ++FORCE_INLINE __m128i _mm_loadl_epi64(__m128i const *p) ++{ ++ /* Load the lower 64 bits of the value pointed to by p into the ++ * lower 64 bits of the result, zeroing the upper 64 bits of the result. ++ */ ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vld1_s32((int32_t const *) p), vcreate_s32(0))); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower element of dst, and copy the upper element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// ++// dst[63:0] := MEM[mem_addr+63:mem_addr] ++// dst[127:64] := a[127:64] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_loadl_pd ++FORCE_INLINE __m128d _mm_loadl_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vld1_f64(p), vget_high_f64(vreinterpretq_f64_m128d(a)))); ++#else ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vld1_f32((const float *) p), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++#endif ++} ++ ++// Load 2 double-precision (64-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// ++// dst[63:0] := MEM[mem_addr+127:mem_addr+64] ++// dst[127:64] := MEM[mem_addr+63:mem_addr] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_loadr_pd ++FORCE_INLINE __m128d _mm_loadr_pd(const double *p) ++{ ++#if defined(__aarch64__) ++ float64x2_t v = vld1q_f64(p); ++ return vreinterpretq_m128d_f64(vextq_f64(v, v, 1)); ++#else ++ int64x2_t v = vld1q_s64((const int64_t *) p); ++ return vreinterpretq_m128d_s64(vextq_s64(v, v, 1)); ++#endif ++} ++ ++// Loads two double-precision from unaligned memory, floating-point values. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_loadu_pd ++FORCE_INLINE __m128d _mm_loadu_pd(const double *p) ++{ ++ return _mm_load_pd(p); ++} ++ ++// Loads 128-bit value. : ++// https://msdn.microsoft.com/zh-cn/library/f4k12ae8(v=vs.90).aspx ++FORCE_INLINE __m128i _mm_loadu_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const int32_t *) p)); ++} ++ ++// Load unaligned 32-bit integer from memory into the first element of dst. ++// ++// dst[31:0] := MEM[mem_addr+31:mem_addr] ++// dst[MAX:32] := 0 ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_loadu_si32 ++FORCE_INLINE __m128i _mm_loadu_si32(const void *p) ++{ ++ return vreinterpretq_m128i_s32( ++ vsetq_lane_s32(*(const int32_t *) p, vdupq_n_s32(0), 0)); ++} ++ ++// Multiplies the 8 signed 16-bit integers from a by the 8 signed 16-bit ++// integers from b. ++// ++// r0 := (a0 * b0) + (a1 * b1) ++// r1 := (a2 * b2) + (a3 * b3) ++// r2 := (a4 * b4) + (a5 * b5) ++// r3 := (a6 * b6) + (a7 * b7) ++// https://msdn.microsoft.com/en-us/library/yht36sa6(v=vs.90).aspx ++FORCE_INLINE __m128i _mm_madd_epi16(__m128i a, __m128i b) ++{ ++ int32x4_t low = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int32x4_t high = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ int32x2_t low_sum = vpadd_s32(vget_low_s32(low), vget_high_s32(low)); ++ int32x2_t high_sum = vpadd_s32(vget_low_s32(high), vget_high_s32(high)); ++ ++ return vreinterpretq_m128i_s32(vcombine_s32(low_sum, high_sum)); ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. mem_addr does not need to be aligned ++// on any particular boundary. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_maskmoveu_si128 ++FORCE_INLINE void _mm_maskmoveu_si128(__m128i a, __m128i mask, char *mem_addr) ++{ ++ int8x16_t shr_mask = vshrq_n_s8(vreinterpretq_s8_m128i(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x16_t masked = ++ vbslq_s8(vreinterpretq_u8_s8(shr_mask), vreinterpretq_s8_m128i(a), ++ vreinterpretq_s8_m128(b)); ++ vst1q_s8((int8_t *) mem_addr, masked); ++} ++ ++// Computes the pairwise maxima of the 8 signed 16-bit integers from a and the 8 ++// signed 16-bit integers from b. ++// https://msdn.microsoft.com/en-us/LIBRary/3x060h7c(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_max_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmaxq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Computes the pairwise maxima of the 16 unsigned 8-bit integers from a and the ++// 16 unsigned 8-bit integers from b. ++// https://msdn.microsoft.com/en-us/library/st6634za(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_max_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vmaxq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_max_pd ++FORCE_INLINE __m128d _mm_max_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcgtq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vmaxq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? a1 : b1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_max_sd ++FORCE_INLINE __m128d _mm_max_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return _mm_move_sd(a, _mm_max_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] > db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Computes the pairwise minima of the 8 signed 16-bit integers from a and the 8 ++// signed 16-bit integers from b. ++// https://msdn.microsoft.com/en-us/library/vstudio/6te997ew(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_min_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vminq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Computes the pairwise minima of the 16 unsigned 8-bit integers from a and the ++// 16 unsigned 8-bit integers from b. ++// https://msdn.microsoft.com/ko-kr/library/17k8cf58(v=vs.100).aspxx ++FORCE_INLINE __m128i _mm_min_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vminq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_min_pd ++FORCE_INLINE __m128d _mm_min_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcltq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vminq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? a1 : b1; ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_min_sd ++FORCE_INLINE __m128d _mm_min_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return _mm_move_sd(a, _mm_min_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] < db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to the lower element of dst, and zero the ++// upper element. ++// ++// dst[63:0] := a[63:0] ++// dst[127:64] := 0 ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_move_epi64 ++FORCE_INLINE __m128i _mm_move_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vsetq_lane_s64(0, vreinterpretq_s64_m128i(a), 1)); ++} ++ ++// Move the lower double-precision (64-bit) floating-point element from b to the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// ++// dst[63:0] := b[63:0] ++// dst[127:64] := a[127:64] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_move_sd ++FORCE_INLINE __m128d _mm_move_sd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vget_low_f32(vreinterpretq_f32_m128d(b)), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++} ++ ++// NEON does not provide a version of this function. ++// Creates a 16-bit mask from the most significant bits of the 16 signed or ++// unsigned 8-bit integers in a and zero extends the upper bits. ++// https://msdn.microsoft.com/en-us/library/vstudio/s090c8fk(v=vs.100).aspx ++FORCE_INLINE int _mm_movemask_epi8(__m128i a) ++{ ++ // Use increasingly wide shifts+adds to collect the sign bits ++ // together. ++ // Since the widening shifts would be rather confusing to follow in little ++ // endian, everything will be illustrated in big endian order instead. This ++ // has a different result - the bits would actually be reversed on a big ++ // endian machine. ++ ++ // Starting input (only half the elements are shown): ++ // 89 ff 1d c0 00 10 99 33 ++ uint8x16_t input = vreinterpretq_u8_m128i(a); ++ ++ // Shift out everything but the sign bits with an unsigned shift right. ++ // ++ // Bytes of the vector:: ++ // 89 ff 1d c0 00 10 99 33 ++ // \ \ \ \ \ \ \ \ high_bits = (uint16x4_t)(input >> 7) ++ // | | | | | | | | ++ // 01 01 00 01 00 00 01 00 ++ // ++ // Bits of first important lane(s): ++ // 10001001 (89) ++ // \______ ++ // | ++ // 00000001 (01) ++ uint16x8_t high_bits = vreinterpretq_u16_u8(vshrq_n_u8(input, 7)); ++ ++ // Merge the even lanes together with a 16-bit unsigned shift right + add. ++ // 'xx' represents garbage data which will be ignored in the final result. ++ // In the important bytes, the add functions like a binary OR. ++ // ++ // 01 01 00 01 00 00 01 00 ++ // \_ | \_ | \_ | \_ | paired16 = (uint32x4_t)(input + (input >> 7)) ++ // \| \| \| \| ++ // xx 03 xx 01 xx 00 xx 02 ++ // ++ // 00000001 00000001 (01 01) ++ // \_______ | ++ // \| ++ // xxxxxxxx xxxxxx11 (xx 03) ++ uint32x4_t paired16 = ++ vreinterpretq_u32_u16(vsraq_n_u16(high_bits, high_bits, 7)); ++ ++ // Repeat with a wider 32-bit shift + add. ++ // xx 03 xx 01 xx 00 xx 02 ++ // \____ | \____ | paired32 = (uint64x1_t)(paired16 + (paired16 >> ++ // 14)) ++ // \| \| ++ // xx xx xx 0d xx xx xx 02 ++ // ++ // 00000011 00000001 (03 01) ++ // \\_____ || ++ // '----.\|| ++ // xxxxxxxx xxxx1101 (xx 0d) ++ uint64x2_t paired32 = ++ vreinterpretq_u64_u32(vsraq_n_u32(paired16, paired16, 14)); ++ ++ // Last, an even wider 64-bit shift + add to get our result in the low 8 bit ++ // lanes. xx xx xx 0d xx xx xx 02 ++ // \_________ | paired64 = (uint8x8_t)(paired32 + (paired32 >> ++ // 28)) ++ // \| ++ // xx xx xx xx xx xx xx d2 ++ // ++ // 00001101 00000010 (0d 02) ++ // \ \___ | | ++ // '---. \| | ++ // xxxxxxxx 11010010 (xx d2) ++ uint8x16_t paired64 = ++ vreinterpretq_u8_u64(vsraq_n_u64(paired32, paired32, 28)); ++ ++ // Extract the low 8 bits from each 64-bit lane with 2 8-bit extracts. ++ // xx xx xx xx xx xx xx d2 ++ // || return paired64[0] ++ // d2 ++ // Note: Little endian would return the correct value 4b (01001011) instead. ++ return vgetq_lane_u8(paired64, 0) | ((int) vgetq_lane_u8(paired64, 8) << 8); ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed double-precision (64-bit) floating-point element in a. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_movemask_pd ++FORCE_INLINE int _mm_movemask_pd(__m128d a) ++{ ++ uint64x2_t input = vreinterpretq_u64_m128d(a); ++ uint64x2_t high_bits = vshrq_n_u64(input, 63); ++ return vgetq_lane_u64(high_bits, 0) | (vgetq_lane_u64(high_bits, 1) << 1); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// ++// dst[63:0] := a[63:0] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_movepi64_pi64 ++FORCE_INLINE __m64 _mm_movepi64_pi64(__m128i a) ++{ ++ return vreinterpret_m64_s64(vget_low_s64(vreinterpretq_s64_m128i(a))); ++} ++ ++// Copy the 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// ++// dst[63:0] := a[63:0] ++// dst[127:64] := 0 ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_movpi64_epi64 ++FORCE_INLINE __m128i _mm_movpi64_epi64(__m64 a) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vreinterpret_s64_m64(a), vdup_n_s64(0))); ++} ++ ++// Multiply the low unsigned 32-bit integers from each packed 64-bit element in ++// a and b, and store the unsigned 64-bit results in dst. ++// ++// r0 := (a0 & 0xFFFFFFFF) * (b0 & 0xFFFFFFFF) ++// r1 := (a2 & 0xFFFFFFFF) * (b2 & 0xFFFFFFFF) ++FORCE_INLINE __m128i _mm_mul_epu32(__m128i a, __m128i b) ++{ ++ // vmull_u32 upcasts instead of masking, so we downcast. ++ uint32x2_t a_lo = vmovn_u64(vreinterpretq_u64_m128i(a)); ++ uint32x2_t b_lo = vmovn_u64(vreinterpretq_u64_m128i(b)); ++ return vreinterpretq_m128i_u64(vmull_u32(a_lo, b_lo)); ++} ++ ++// Multiply packed double-precision (64-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_mul_pd ++FORCE_INLINE __m128d _mm_mul_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64( ++ vmulq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] * db[0]; ++ c[1] = da[1] * db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Multiply the lower double-precision (64-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper element ++// from a to the upper element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=mm_mul_sd ++FORCE_INLINE __m128d _mm_mul_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_mul_pd(a, b)); ++} ++ ++// Multiply the low unsigned 32-bit integers from a and b, and store the ++// unsigned 64-bit result in dst. ++// ++// dst[63:0] := a[31:0] * b[31:0] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_mul_su32 ++FORCE_INLINE __m64 _mm_mul_su32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u64(vget_low_u64( ++ vmull_u32(vreinterpret_u32_m64(a), vreinterpret_u32_m64(b)))); ++} ++ ++// Multiplies the 8 signed 16-bit integers from a by the 8 signed 16-bit ++// integers from b. ++// ++// r0 := (a0 * b0)[31:16] ++// r1 := (a1 * b1)[31:16] ++// ... ++// r7 := (a7 * b7)[31:16] ++// ++// https://msdn.microsoft.com/en-us/library/vstudio/59hddw1d(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_mulhi_epi16(__m128i a, __m128i b) ++{ ++ /* FIXME: issue with large values because of result saturation */ ++ // int16x8_t ret = vqdmulhq_s16(vreinterpretq_s16_m128i(a), ++ // vreinterpretq_s16_m128i(b)); /* =2*a*b */ return ++ // vreinterpretq_m128i_s16(vshrq_n_s16(ret, 1)); ++ int16x4_t a3210 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b3210 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab3210 = vmull_s16(a3210, b3210); /* 3333222211110000 */ ++ int16x4_t a7654 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b7654 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab7654 = vmull_s16(a7654, b7654); /* 7777666655554444 */ ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_s32(ab3210), vreinterpretq_u16_s32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_mulhi_epu16 ++FORCE_INLINE __m128i _mm_mulhi_epu16(__m128i a, __m128i b) ++{ ++ uint16x4_t a3210 = vget_low_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b3210 = vget_low_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab3210 = vmull_u16(a3210, b3210); ++#if defined(__aarch64__) ++ uint32x4_t ab7654 = ++ vmull_high_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ uint16x8_t r = vuzp2q_u16(vreinterpretq_u16_u32(ab3210), ++ vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r); ++#else ++ uint16x4_t a7654 = vget_high_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b7654 = vget_high_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab7654 = vmull_u16(a7654, b7654); ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_u32(ab3210), vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++#endif ++} ++ ++// Multiplies the 8 signed or unsigned 16-bit integers from a by the 8 signed or ++// unsigned 16-bit integers from b. ++// ++// r0 := (a0 * b0)[15:0] ++// r1 := (a1 * b1)[15:0] ++// ... ++// r7 := (a7 * b7)[15:0] ++// ++// https://msdn.microsoft.com/en-us/library/vstudio/9ks1472s(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_mullo_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmulq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compute the bitwise OR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=mm_or_pd ++FORCE_INLINE __m128d _mm_or_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vorrq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Computes the bitwise OR of the 128-bit value in a and the 128-bit value in b. ++// ++// r := a | b ++// ++// https://msdn.microsoft.com/en-us/library/vstudio/ew8ty0db(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_or_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vorrq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Packs the 16 signed 16-bit integers from a and b into 8-bit integers and ++// saturates. ++// https://msdn.microsoft.com/en-us/library/k4y4f7w5%28v=vs.90%29.aspx ++FORCE_INLINE __m128i _mm_packs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vqmovn_s16(vreinterpretq_s16_m128i(a)), ++ vqmovn_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Packs the 8 signed 32-bit integers from a and b into signed 16-bit integers ++// and saturates. ++// ++// r0 := SignedSaturate(a0) ++// r1 := SignedSaturate(a1) ++// r2 := SignedSaturate(a2) ++// r3 := SignedSaturate(a3) ++// r4 := SignedSaturate(b0) ++// r5 := SignedSaturate(b1) ++// r6 := SignedSaturate(b2) ++// r7 := SignedSaturate(b3) ++// ++// https://msdn.microsoft.com/en-us/library/393t56f9%28v=vs.90%29.aspx ++FORCE_INLINE __m128i _mm_packs_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vqmovn_s32(vreinterpretq_s32_m128i(a)), ++ vqmovn_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Packs the 16 signed 16 - bit integers from a and b into 8 - bit unsigned ++// integers and saturates. ++// ++// r0 := UnsignedSaturate(a0) ++// r1 := UnsignedSaturate(a1) ++// ... ++// r7 := UnsignedSaturate(a7) ++// r8 := UnsignedSaturate(b0) ++// r9 := UnsignedSaturate(b1) ++// ... ++// r15 := UnsignedSaturate(b7) ++// ++// https://msdn.microsoft.com/en-us/library/07ad1wx4(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_packus_epi16(const __m128i a, const __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcombine_u8(vqmovun_s16(vreinterpretq_s16_m128i(a)), ++ vqmovun_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Pause the processor. This is typically used in spin-wait loops and depending ++// on the x86 processor typical values are in the 40-100 cycle range. The ++// 'yield' instruction isn't a good fit because it's effectively a nop on most ++// Arm cores. Experience with several databases has shown has shown an 'isb' is ++// a reasonable approximation. ++FORCE_INLINE void _mm_pause() ++{ ++ __asm__ __volatile__("isb\n"); ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce two ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of 64-bit elements in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_sad_epu8 ++FORCE_INLINE __m128i _mm_sad_epu8(__m128i a, __m128i b) ++{ ++ uint16x8_t t = vpaddlq_u8(vabdq_u8((uint8x16_t) a, (uint8x16_t) b)); ++ return vreinterpretq_m128i_u64(vpaddlq_u32(vpaddlq_u16(t))); ++} ++ ++// Sets the 8 signed 16-bit integer values. ++// https://msdn.microsoft.com/en-au/library/3e0fek84(v=vs.90).aspx ++FORCE_INLINE __m128i _mm_set_epi16(short i7, ++ short i6, ++ short i5, ++ short i4, ++ short i3, ++ short i2, ++ short i1, ++ short i0) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {i0, i1, i2, i3, i4, i5, i6, i7}; ++ return vreinterpretq_m128i_s16(vld1q_s16(data)); ++} ++ ++// Sets the 4 signed 32-bit integer values. ++// https://msdn.microsoft.com/en-us/library/vstudio/019beekt(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_set_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i0, i1, i2, i3}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Returns the __m128i structure with its two 64-bit integer values ++// initialized to the values of the two 64-bit integers passed in. ++// https://msdn.microsoft.com/en-us/library/dk2sdw0h(v=vs.120).aspx ++FORCE_INLINE __m128i _mm_set_epi64(__m64 i1, __m64 i2) ++{ ++ return _mm_set_epi64x((int64_t) i1, (int64_t) i2); ++} ++ ++// Returns the __m128i structure with its two 64-bit integer values ++// initialized to the values of the two 64-bit integers passed in. ++// https://msdn.microsoft.com/en-us/library/dk2sdw0h(v=vs.120).aspx ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t i1, int64_t i2) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vcreate_s64(i2), vcreate_s64(i1))); ++} ++ ++// Sets the 16 signed 8-bit integer values. ++// https://msdn.microsoft.com/en-us/library/x0cx8zd3(v=vs.90).aspx ++FORCE_INLINE __m128i _mm_set_epi8(signed char b15, ++ signed char b14, ++ signed char b13, ++ signed char b12, ++ signed char b11, ++ signed char b10, ++ signed char b9, ++ signed char b8, ++ signed char b7, ++ signed char b6, ++ signed char b5, ++ signed char b4, ++ signed char b3, ++ signed char b2, ++ signed char b1, ++ signed char b0) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_set_pd ++FORCE_INLINE __m128d _mm_set_pd(double e1, double e0) ++{ ++ double ALIGN_STRUCT(16) data[2] = {e0, e1}; ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64(vld1q_f64((float64_t *) data)); ++#else ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) data)); ++#endif ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_set_pd1 ++#define _mm_set_pd1 _mm_set1_pd ++ ++// Copy double-precision (64-bit) floating-point element a to the lower element ++// of dst, and zero the upper element. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_set_sd ++FORCE_INLINE __m128d _mm_set_sd(double a) ++{ ++ return _mm_set_pd(0, a); ++} ++ ++// Sets the 8 signed 16-bit integer values to w. ++// ++// r0 := w ++// r1 := w ++// ... ++// r7 := w ++// ++// https://msdn.microsoft.com/en-us/library/k0ya3x0e(v=vs.90).aspx ++FORCE_INLINE __m128i _mm_set1_epi16(short w) ++{ ++ return vreinterpretq_m128i_s16(vdupq_n_s16(w)); ++} ++ ++// Sets the 4 signed 32-bit integer values to i. ++// ++// r0 := i ++// r1 := i ++// r2 := i ++// r3 := I ++// ++// https://msdn.microsoft.com/en-us/library/vstudio/h4xscxat(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_set1_epi32(int _i) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(_i)); ++} ++ ++// Sets the 2 signed 64-bit integer values to i. ++// https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/whtfzhzk(v=vs.100) ++FORCE_INLINE __m128i _mm_set1_epi64(__m64 _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_n_s64((int64_t) _i)); ++} ++ ++// Sets the 2 signed 64-bit integer values to i. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_set1_epi64x ++FORCE_INLINE __m128i _mm_set1_epi64x(int64_t _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_n_s64(_i)); ++} ++ ++// Sets the 16 signed 8-bit integer values to b. ++// ++// r0 := b ++// r1 := b ++// ... ++// r15 := b ++// ++// https://msdn.microsoft.com/en-us/library/6e14xhyf(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_set1_epi8(signed char w) ++{ ++ return vreinterpretq_m128i_s8(vdupq_n_s8(w)); ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_set1_pd ++FORCE_INLINE __m128d _mm_set1_pd(double d) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(d)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(int64_t *) &d)); ++#endif ++} ++ ++// Sets the 8 signed 16-bit integer values in reverse order. ++// ++// Return Value ++// r0 := w0 ++// r1 := w1 ++// ... ++// r7 := w7 ++FORCE_INLINE __m128i _mm_setr_epi16(short w0, ++ short w1, ++ short w2, ++ short w3, ++ short w4, ++ short w5, ++ short w6, ++ short w7) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {w0, w1, w2, w3, w4, w5, w6, w7}; ++ return vreinterpretq_m128i_s16(vld1q_s16((int16_t *) data)); ++} ++ ++// Sets the 4 signed 32-bit integer values in reverse order ++// https://technet.microsoft.com/en-us/library/security/27yb3ee5(v=vs.90).aspx ++FORCE_INLINE __m128i _mm_setr_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i3, i2, i1, i0}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values in reverse order. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_setr_epi64 ++FORCE_INLINE __m128i _mm_setr_epi64(__m64 e1, __m64 e0) ++{ ++ return vreinterpretq_m128i_s64(vcombine_s64(e1, e0)); ++} ++ ++// Sets the 16 signed 8-bit integer values in reverse order. ++// https://msdn.microsoft.com/en-us/library/2khb9c7k(v=vs.90).aspx ++FORCE_INLINE __m128i _mm_setr_epi8(signed char b0, ++ signed char b1, ++ signed char b2, ++ signed char b3, ++ signed char b4, ++ signed char b5, ++ signed char b6, ++ signed char b7, ++ signed char b8, ++ signed char b9, ++ signed char b10, ++ signed char b11, ++ signed char b12, ++ signed char b13, ++ signed char b14, ++ signed char b15) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_setr_pd ++FORCE_INLINE __m128d _mm_setr_pd(double e1, double e0) ++{ ++ return _mm_set_pd(e0, e1); ++} ++ ++// Return vector of type __m128d with all elements set to zero. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_setzero_pd ++FORCE_INLINE __m128d _mm_setzero_pd(void) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(0)); ++#else ++ return vreinterpretq_m128d_f32(vdupq_n_f32(0)); ++#endif ++} ++ ++// Sets the 128-bit value to zero ++// https://msdn.microsoft.com/en-us/library/vstudio/ys7dw0kh(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_setzero_si128(void) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(0)); ++} ++ ++// Shuffles the 4 signed or unsigned 32-bit integers in a as specified by imm. ++// https://msdn.microsoft.com/en-us/library/56f67xbk%28v=vs.90%29.aspx ++// FORCE_INLINE __m128i _mm_shuffle_epi32(__m128i a, ++// __constrange(0,255) int imm) ++#if __has_builtin(__builtin_shufflevector) ++#define _mm_shuffle_epi32(a, imm) \ ++ __extension__({ \ ++ int32x4_t _input = vreinterpretq_s32_m128i(a); \ ++ int32x4_t _shuf = __builtin_shufflevector( \ ++ _input, _input, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ ((imm) >> 4) & 0x3, ((imm) >> 6) & 0x3); \ ++ vreinterpretq_m128i_s32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_epi32(a, imm) \ ++ __extension__({ \ ++ __m128i ret; \ ++ switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_epi_1032((a)); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_epi_2301((a)); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_epi_0321((a)); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_epi_2103((a)); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_shuffle_epi_1010((a)); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_epi_1001((a)); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_epi_0101((a)); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 1, 1): \ ++ ret = _mm_shuffle_epi_2211((a)); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 2, 2): \ ++ ret = _mm_shuffle_epi_0122((a)); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 2): \ ++ ret = _mm_shuffle_epi_3332((a)); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 0, 0): \ ++ ret = _mm_shuffle_epi32_splat((a), 0); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 1, 1): \ ++ ret = _mm_shuffle_epi32_splat((a), 1); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 2, 2): \ ++ ret = _mm_shuffle_epi32_splat((a), 2); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 3): \ ++ ret = _mm_shuffle_epi32_splat((a), 3); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_epi32_default((a), (imm)); \ ++ break; \ ++ } \ ++ ret; \ ++ }) ++#endif ++ ++// Shuffle double-precision (64-bit) floating-point elements using the control ++// in imm8, and store the results in dst. ++// ++// dst[63:0] := (imm8[0] == 0) ? a[63:0] : a[127:64] ++// dst[127:64] := (imm8[1] == 0) ? b[63:0] : b[127:64] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_shuffle_pd ++#if __has_builtin(__builtin_shufflevector) ++#define _mm_shuffle_pd(a, b, imm8) \ ++ vreinterpretq_m128d_s64(__builtin_shufflevector( \ ++ vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b), imm8 & 0x1, \ ++ ((imm8 & 0x2) >> 1) + 2)) ++#else ++#define _mm_shuffle_pd(a, b, imm8) \ ++ _mm_castsi128_pd(_mm_set_epi64x( \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(b), (imm8 & 0x2) >> 1), \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(a), imm8 & 0x1))) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflehi_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if __has_builtin(__builtin_shufflevector) ++#define _mm_shufflehi_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = __builtin_shufflevector( \ ++ _input, _input, 0, 1, 2, 3, ((imm) & (0x3)) + 4, \ ++ (((imm) >> 2) & 0x3) + 4, (((imm) >> 4) & 0x3) + 4, \ ++ (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflehi_epi16(a, imm) _mm_shufflehi_epi16_function((a), (imm)) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflelo_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if __has_builtin(__builtin_shufflevector) ++#define _mm_shufflelo_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = __builtin_shufflevector( \ ++ _input, _input, ((imm) & (0x3)), (((imm) >> 2) & 0x3), \ ++ (((imm) >> 4) & 0x3), (((imm) >> 6) & 0x3), 4, 5, 6, 7); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflelo_epi16(a, imm) _mm_shufflelo_epi16_function((a), (imm)) ++#endif ++ ++// Shift packed 16-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// ++// FOR j := 0 to 7 ++// i := j*16 ++// IF count[63:0] > 15 ++// dst[i+15:i] := 0 ++// ELSE ++// dst[i+15:i] := ZeroExtend16(a[i+15:i] << count[63:0]) ++// FI ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_sll_epi16 ++FORCE_INLINE __m128i _mm_sll_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16((int16_t) c); ++ return vreinterpretq_m128i_s16(vshlq_s16(vreinterpretq_s16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// ++// FOR j := 0 to 3 ++// i := j*32 ++// IF count[63:0] > 31 ++// dst[i+31:i] := 0 ++// ELSE ++// dst[i+31:i] := ZeroExtend32(a[i+31:i] << count[63:0]) ++// FI ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_sll_epi32 ++FORCE_INLINE __m128i _mm_sll_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32((int32_t) c); ++ return vreinterpretq_m128i_s32(vshlq_s32(vreinterpretq_s32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// ++// FOR j := 0 to 1 ++// i := j*64 ++// IF count[63:0] > 63 ++// dst[i+63:i] := 0 ++// ELSE ++// dst[i+63:i] := ZeroExtend64(a[i+63:i] << count[63:0]) ++// FI ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_sll_epi64 ++FORCE_INLINE __m128i _mm_sll_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64((int64_t) c); ++ return vreinterpretq_m128i_s64(vshlq_s64(vreinterpretq_s64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// ++// FOR j := 0 to 7 ++// i := j*16 ++// IF imm8[7:0] > 15 ++// dst[i+15:i] := 0 ++// ELSE ++// dst[i+15:i] := ZeroExtend16(a[i+15:i] << imm8[7:0]) ++// FI ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_slli_epi16 ++FORCE_INLINE __m128i _mm_slli_epi16(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~15)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16(vreinterpretq_s16_m128i(a), vdupq_n_s16(imm))); ++} ++ ++// Shift packed 32-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// ++// FOR j := 0 to 3 ++// i := j*32 ++// IF imm8[7:0] > 31 ++// dst[i+31:i] := 0 ++// ELSE ++// dst[i+31:i] := ZeroExtend32(a[i+31:i] << imm8[7:0]) ++// FI ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_slli_epi32 ++FORCE_INLINE __m128i _mm_slli_epi32(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~31)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32(vreinterpretq_s32_m128i(a), vdupq_n_s32(imm))); ++} ++ ++// Shift packed 64-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// ++// FOR j := 0 to 1 ++// i := j*64 ++// IF imm8[7:0] > 63 ++// dst[i+63:i] := 0 ++// ELSE ++// dst[i+63:i] := ZeroExtend64(a[i+63:i] << imm8[7:0]) ++// FI ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_slli_epi64 ++FORCE_INLINE __m128i _mm_slli_epi64(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~63)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s64( ++ vshlq_s64(vreinterpretq_s64_m128i(a), vdupq_n_s64(imm))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// ++// tmp := imm8[7:0] ++// IF tmp > 15 ++// tmp := 16 ++// FI ++// dst[127:0] := a[127:0] << (tmp*8) ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_slli_si128 ++FORCE_INLINE __m128i _mm_slli_si128(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~15)) ++ return _mm_setzero_si128(); ++ uint8x16_t tmp[2] = {vdupq_n_u8(0), vreinterpretq_u8_m128i(a)}; ++ return vreinterpretq_m128i_u8( ++ vld1q_u8(((uint8_t const *) tmp) + (16 - imm))); ++} ++ ++// Compute the square root of packed double-precision (64-bit) floating-point ++// elements in a, and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_sqrt_pd ++FORCE_INLINE __m128d _mm_sqrt_pd(__m128d a) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64(vsqrtq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double a0 = sqrt(((double *) &a)[0]); ++ double a1 = sqrt(((double *) &a)[1]); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Compute the square root of the lower double-precision (64-bit) floating-point ++// element in b, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_sqrt_sd ++FORCE_INLINE __m128d _mm_sqrt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return _mm_move_sd(a, _mm_sqrt_pd(b)); ++#else ++ return _mm_set_pd(((double *) &a)[1], sqrt(((double *) &b)[0])); ++#endif ++} ++ ++// Shift packed 16-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// ++// FOR j := 0 to 7 ++// i := j*16 ++// IF count[63:0] > 15 ++// dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0) ++// ELSE ++// dst[i+15:i] := SignExtend16(a[i+15:i] >> count[63:0]) ++// FI ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_sra_epi16 ++FORCE_INLINE __m128i _mm_sra_epi16(__m128i a, __m128i count) ++{ ++ int64_t c = (int64_t) vget_low_s64((int64x2_t) count); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_cmplt_epi16(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s16(vshlq_s16((int16x8_t) a, vdupq_n_s16(-c))); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// ++// FOR j := 0 to 3 ++// i := j*32 ++// IF count[63:0] > 31 ++// dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0) ++// ELSE ++// dst[i+31:i] := SignExtend32(a[i+31:i] >> count[63:0]) ++// FI ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_sra_epi32 ++FORCE_INLINE __m128i _mm_sra_epi32(__m128i a, __m128i count) ++{ ++ int64_t c = (int64_t) vget_low_s64((int64x2_t) count); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_cmplt_epi32(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s32(vshlq_s32((int32x4_t) a, vdupq_n_s32(-c))); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in sign ++// bits, and store the results in dst. ++// ++// FOR j := 0 to 7 ++// i := j*16 ++// IF imm8[7:0] > 15 ++// dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0) ++// ELSE ++// dst[i+15:i] := SignExtend16(a[i+15:i] >> imm8[7:0]) ++// FI ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_srai_epi16 ++FORCE_INLINE __m128i _mm_srai_epi16(__m128i a, int imm) ++{ ++ const int count = (imm & ~15) ? 15 : imm; ++ return (__m128i) vshlq_s16((int16x8_t) a, vdupq_n_s16(-count)); ++} ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in sign bits, ++// and store the results in dst. ++// ++// FOR j := 0 to 3 ++// i := j*32 ++// IF imm8[7:0] > 31 ++// dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0) ++// ELSE ++// dst[i+31:i] := SignExtend32(a[i+31:i] >> imm8[7:0]) ++// FI ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_srai_epi32 ++// FORCE_INLINE __m128i _mm_srai_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srai_epi32(a, imm) \ ++ __extension__({ \ ++ __m128i ret; \ ++ if (_sse2neon_unlikely((imm) == 0)) { \ ++ ret = a; \ ++ } else if (_sse2neon_likely(0 < (imm) && (imm) < 32)) { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshlq_s32(vreinterpretq_s32_m128i(a), vdupq_n_s32(-(imm)))); \ ++ } else { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshrq_n_s32(vreinterpretq_s32_m128i(a), 31)); \ ++ } \ ++ ret; \ ++ }) ++ ++// Shift packed 16-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// ++// FOR j := 0 to 7 ++// i := j*16 ++// IF count[63:0] > 15 ++// dst[i+15:i] := 0 ++// ELSE ++// dst[i+15:i] := ZeroExtend16(a[i+15:i] >> count[63:0]) ++// FI ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_srl_epi16 ++FORCE_INLINE __m128i _mm_srl_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16(-(int16_t) c); ++ return vreinterpretq_m128i_u16(vshlq_u16(vreinterpretq_u16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// ++// FOR j := 0 to 3 ++// i := j*32 ++// IF count[63:0] > 31 ++// dst[i+31:i] := 0 ++// ELSE ++// dst[i+31:i] := ZeroExtend32(a[i+31:i] >> count[63:0]) ++// FI ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_srl_epi32 ++FORCE_INLINE __m128i _mm_srl_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32(-(int32_t) c); ++ return vreinterpretq_m128i_u32(vshlq_u32(vreinterpretq_u32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// ++// FOR j := 0 to 1 ++// i := j*64 ++// IF count[63:0] > 63 ++// dst[i+63:i] := 0 ++// ELSE ++// dst[i+63:i] := ZeroExtend64(a[i+63:i] >> count[63:0]) ++// FI ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_srl_epi64 ++FORCE_INLINE __m128i _mm_srl_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64(-(int64_t) c); ++ return vreinterpretq_m128i_u64(vshlq_u64(vreinterpretq_u64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// ++// FOR j := 0 to 7 ++// i := j*16 ++// IF imm8[7:0] > 15 ++// dst[i+15:i] := 0 ++// ELSE ++// dst[i+15:i] := ZeroExtend16(a[i+15:i] >> imm8[7:0]) ++// FI ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_srli_epi16 ++#define _mm_srli_epi16(a, imm) \ ++ __extension__({ \ ++ __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~15)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u16( \ ++ vshlq_u16(vreinterpretq_u16_m128i(a), vdupq_n_s16(-(imm)))); \ ++ } \ ++ ret; \ ++ }) ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// ++// FOR j := 0 to 3 ++// i := j*32 ++// IF imm8[7:0] > 31 ++// dst[i+31:i] := 0 ++// ELSE ++// dst[i+31:i] := ZeroExtend32(a[i+31:i] >> imm8[7:0]) ++// FI ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_srli_epi32 ++// FORCE_INLINE __m128i _mm_srli_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srli_epi32(a, imm) \ ++ __extension__({ \ ++ __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u32( \ ++ vshlq_u32(vreinterpretq_u32_m128i(a), vdupq_n_s32(-(imm)))); \ ++ } \ ++ ret; \ ++ }) ++ ++// Shift packed 64-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// ++// FOR j := 0 to 1 ++// i := j*64 ++// IF imm8[7:0] > 63 ++// dst[i+63:i] := 0 ++// ELSE ++// dst[i+63:i] := ZeroExtend64(a[i+63:i] >> imm8[7:0]) ++// FI ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_srli_epi64 ++#define _mm_srli_epi64(a, imm) \ ++ __extension__({ \ ++ __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~63)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u64( \ ++ vshlq_u64(vreinterpretq_u64_m128i(a), vdupq_n_s64(-(imm)))); \ ++ } \ ++ ret; \ ++ }) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// ++// tmp := imm8[7:0] ++// IF tmp > 15 ++// tmp := 16 ++// FI ++// dst[127:0] := a[127:0] >> (tmp*8) ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_srli_si128 ++FORCE_INLINE __m128i _mm_srli_si128(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~15)) ++ return _mm_setzero_si128(); ++ uint8x16_t tmp[2] = {vreinterpretq_u8_m128i(a), vdupq_n_u8(0)}; ++ return vreinterpretq_m128i_u8(vld1q_u8(((uint8_t const *) tmp) + imm)); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_store_pd ++FORCE_INLINE void _mm_store_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) ++ vst1q_f64((float64_t *) mem_addr, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_f32((float32_t *) mem_addr, vreinterpretq_f32_m128d(a)); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_store_pd1 ++FORCE_INLINE void _mm_store_pd1(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) ++ float64x1_t a_low = vget_low_f64(vreinterpretq_f64_m128d(a)); ++ vst1q_f64((float64_t *) mem_addr, ++ vreinterpretq_f64_m128d(vcombine_f64(a_low, a_low))); ++#else ++ float32x2_t a_low = vget_low_f32(vreinterpretq_f32_m128d(a)); ++ vst1q_f32((float32_t *) mem_addr, ++ vreinterpretq_f32_m128d(vcombine_f32(a_low, a_low))); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=mm_store_sd ++FORCE_INLINE void _mm_store_sd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_u64((uint64_t *) mem_addr, vget_low_u64(vreinterpretq_u64_m128d(a))); ++#endif ++} ++ ++// Stores four 32-bit integer values as (as a __m128i value) at the address p. ++// https://msdn.microsoft.com/en-us/library/vstudio/edk11s13(v=vs.100).aspx ++FORCE_INLINE void _mm_store_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#expand=9,526,5601&text=_mm_store1_pd ++#define _mm_store1_pd _mm_store_pd1 ++ ++// Store the upper double-precision (64-bit) floating-point element from a into ++// memory. ++// ++// MEM[mem_addr+63:mem_addr] := a[127:64] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_storeh_pd ++FORCE_INLINE void _mm_storeh_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) ++ vst1_f64((float64_t *) mem_addr, vget_high_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_high_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Reads the lower 64 bits of b and stores them into the lower 64 bits of a. ++// https://msdn.microsoft.com/en-us/library/hhwf428f%28v=vs.90%29.aspx ++FORCE_INLINE void _mm_storel_epi64(__m128i *a, __m128i b) ++{ ++ vst1_u64((uint64_t *) a, vget_low_u64(vreinterpretq_u64_m128i(b))); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. ++// ++// MEM[mem_addr+63:mem_addr] := a[63:0] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_storel_pd ++FORCE_INLINE void _mm_storel_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_low_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 2 double-precision (64-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// ++// MEM[mem_addr+63:mem_addr] := a[127:64] ++// MEM[mem_addr+127:mem_addr+64] := a[63:0] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_storer_pd ++FORCE_INLINE void _mm_storer_pd(double *mem_addr, __m128d a) ++{ ++ float32x4_t f = vreinterpretq_f32_m128d(a); ++ _mm_store_pd(mem_addr, vreinterpretq_m128d_f32(vextq_f32(f, f, 2))); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_storeu_pd ++FORCE_INLINE void _mm_storeu_pd(double *mem_addr, __m128d a) ++{ ++ _mm_store_pd(mem_addr, a); ++} ++ ++// Stores 128-bits of integer data a at the address p. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_storeu_si128 ++FORCE_INLINE void _mm_storeu_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Stores 32-bits of integer data a at the address p. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_storeu_si32 ++FORCE_INLINE void _mm_storeu_si32(void *p, __m128i a) ++{ ++ vst1q_lane_s32((int32_t *) p, vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory using a non-temporal memory hint. mem_addr must ++// be aligned on a 16-byte boundary or a general-protection exception may be ++// generated. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_stream_pd ++FORCE_INLINE void _mm_stream_pd(double *p, __m128d a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (float32x4_t *) p); ++#elif defined(__aarch64__) ++ vst1q_f64(p, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128d(a)); ++#endif ++} ++ ++// Stores the data in a to the address p without polluting the caches. If the ++// cache line containing address p is already in the cache, the cache will be ++// updated. ++// https://msdn.microsoft.com/en-us/library/ba08y07y%28v=vs.90%29.aspx ++FORCE_INLINE void _mm_stream_si128(__m128i *p, __m128i a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, p); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128i(a)); ++#endif ++} ++ ++// Store 32-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_stream_si32 ++FORCE_INLINE void _mm_stream_si32(int *p, int a) ++{ ++ vst1q_lane_s32((int32_t *) p, vdupq_n_s32(a), 0); ++} ++ ++// Store 64-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_stream_si64 ++FORCE_INLINE void _mm_stream_si64(__int64 *p, __int64 a) ++{ ++ vst1_s64((int64_t *) p, vdup_n_s64((int64_t) a)); ++} ++ ++// Subtract packed 16-bit integers in b from packed 16-bit integers in a, and ++// store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_sub_epi16 ++FORCE_INLINE __m128i _mm_sub_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtracts the 4 signed or unsigned 32-bit integers of b from the 4 signed or ++// unsigned 32-bit integers of a. ++// ++// r0 := a0 - b0 ++// r1 := a1 - b1 ++// r2 := a2 - b2 ++// r3 := a3 - b3 ++// ++// https://msdn.microsoft.com/en-us/library/vstudio/fhh866h0(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_sub_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Subtract 2 packed 64-bit integers in b from 2 packed 64-bit integers in a, ++// and store the results in dst. ++// r0 := a0 - b0 ++// r1 := a1 - b1 ++FORCE_INLINE __m128i _mm_sub_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vsubq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Subtract packed 8-bit integers in b from packed 8-bit integers in a, and ++// store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_sub_epi8 ++FORCE_INLINE __m128i _mm_sub_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed double-precision (64-bit) floating-point elements in b from ++// packed double-precision (64-bit) floating-point elements in a, and store the ++// results in dst. ++// ++// FOR j := 0 to 1 ++// i := j*64 ++// dst[i+63:i] := a[i+63:i] - b[i+63:i] ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=mm_sub_pd ++FORCE_INLINE __m128d _mm_sub_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] - db[0]; ++ c[1] = da[1] - db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Subtract the lower double-precision (64-bit) floating-point element in b from ++// the lower double-precision (64-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_sub_sd ++FORCE_INLINE __m128d _mm_sub_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_sub_pd(a, b)); ++} ++ ++// Subtract 64-bit integer b from 64-bit integer a, and store the result in dst. ++// ++// dst[63:0] := a[63:0] - b[63:0] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_sub_si64 ++FORCE_INLINE __m64 _mm_sub_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vsub_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Subtracts the 8 signed 16-bit integers of b from the 8 signed 16-bit integers ++// of a and saturates. ++// ++// r0 := SignedSaturate(a0 - b0) ++// r1 := SignedSaturate(a1 - b1) ++// ... ++// r7 := SignedSaturate(a7 - b7) ++// ++// https://technet.microsoft.com/en-us/subscriptions/3247z5b8(v=vs.90) ++FORCE_INLINE __m128i _mm_subs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtracts the 16 signed 8-bit integers of b from the 16 signed 8-bit integers ++// of a and saturates. ++// ++// r0 := SignedSaturate(a0 - b0) ++// r1 := SignedSaturate(a1 - b1) ++// ... ++// r15 := SignedSaturate(a15 - b15) ++// ++// https://technet.microsoft.com/en-us/subscriptions/by7kzks1(v=vs.90) ++FORCE_INLINE __m128i _mm_subs_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtracts the 8 unsigned 16-bit integers of bfrom the 8 unsigned 16-bit ++// integers of a and saturates.. ++// https://technet.microsoft.com/en-us/subscriptions/index/f44y0s19(v=vs.90).aspx ++FORCE_INLINE __m128i _mm_subs_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqsubq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Subtracts the 16 unsigned 8-bit integers of b from the 16 unsigned 8-bit ++// integers of a and saturates. ++// ++// r0 := UnsignedSaturate(a0 - b0) ++// r1 := UnsignedSaturate(a1 - b1) ++// ... ++// r15 := UnsignedSaturate(a15 - b15) ++// ++// https://technet.microsoft.com/en-us/subscriptions/yadkxc18(v=vs.90) ++FORCE_INLINE __m128i _mm_subs_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqsubq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++#define _mm_ucomieq_sd _mm_comieq_sd ++#define _mm_ucomige_sd _mm_comige_sd ++#define _mm_ucomigt_sd _mm_comigt_sd ++#define _mm_ucomile_sd _mm_comile_sd ++#define _mm_ucomilt_sd _mm_comilt_sd ++#define _mm_ucomineq_sd _mm_comineq_sd ++ ++// Return vector of type __m128d with undefined elements. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_undefined_pd ++FORCE_INLINE __m128d _mm_undefined_pd(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128d a; ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Interleaves the upper 4 signed or unsigned 16-bit integers in a with the ++// upper 4 signed or unsigned 16-bit integers in b. ++// ++// r0 := a4 ++// r1 := b4 ++// r2 := a5 ++// r3 := b5 ++// r4 := a6 ++// r5 := b6 ++// r6 := a7 ++// r7 := b7 ++// ++// https://msdn.microsoft.com/en-us/library/03196cz7(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_unpackhi_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128i_s16( ++ vzip2q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Interleaves the upper 2 signed or unsigned 32-bit integers in a with the ++// upper 2 signed or unsigned 32-bit integers in b. ++// https://msdn.microsoft.com/en-us/library/65sa7cbs(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_unpackhi_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128i_s32( ++ vzip2q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_high_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Interleaves the upper signed or unsigned 64-bit integer in a with the ++// upper signed or unsigned 64-bit integer in b. ++// ++// r0 := a1 ++// r1 := b1 ++FORCE_INLINE __m128i _mm_unpackhi_epi64(__m128i a, __m128i b) ++{ ++ int64x1_t a_h = vget_high_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_h = vget_high_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_h, b_h)); ++} ++ ++// Interleaves the upper 8 signed or unsigned 8-bit integers in a with the upper ++// 8 signed or unsigned 8-bit integers in b. ++// ++// r0 := a8 ++// r1 := b8 ++// r2 := a9 ++// r3 := b9 ++// ... ++// r14 := a15 ++// r15 := b15 ++// ++// https://msdn.microsoft.com/en-us/library/t5h7783k(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_unpackhi_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128i_s8( ++ vzip2q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the high half of a and b, and store the results in dst. ++// ++// DEFINE INTERLEAVE_HIGH_QWORDS(src1[127:0], src2[127:0]) { ++// dst[63:0] := src1[127:64] ++// dst[127:64] := src2[127:64] ++// RETURN dst[127:0] ++// } ++// dst[127:0] := INTERLEAVE_HIGH_QWORDS(a[127:0], b[127:0]) ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_unpackhi_pd ++FORCE_INLINE __m128d _mm_unpackhi_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64( ++ vzip2q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_high_s64(vreinterpretq_s64_m128d(a)), ++ vget_high_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Interleaves the lower 4 signed or unsigned 16-bit integers in a with the ++// lower 4 signed or unsigned 16-bit integers in b. ++// ++// r0 := a0 ++// r1 := b0 ++// r2 := a1 ++// r3 := b1 ++// r4 := a2 ++// r5 := b2 ++// r6 := a3 ++// r7 := b3 ++// ++// https://msdn.microsoft.com/en-us/library/btxb17bw%28v=vs.90%29.aspx ++FORCE_INLINE __m128i _mm_unpacklo_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128i_s16( ++ vzip1q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Interleaves the lower 2 signed or unsigned 32 - bit integers in a with the ++// lower 2 signed or unsigned 32 - bit integers in b. ++// ++// r0 := a0 ++// r1 := b0 ++// r2 := a1 ++// r3 := b1 ++// ++// https://msdn.microsoft.com/en-us/library/x8atst9d(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_unpacklo_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128i_s32( ++ vzip1q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_low_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++FORCE_INLINE __m128i _mm_unpacklo_epi64(__m128i a, __m128i b) ++{ ++ int64x1_t a_l = vget_low_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_l = vget_low_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_l, b_l)); ++} ++ ++// Interleaves the lower 8 signed or unsigned 8-bit integers in a with the lower ++// 8 signed or unsigned 8-bit integers in b. ++// ++// r0 := a0 ++// r1 := b0 ++// r2 := a1 ++// r3 := b1 ++// ... ++// r14 := a7 ++// r15 := b7 ++// ++// https://msdn.microsoft.com/en-us/library/xf7k860c%28v=vs.90%29.aspx ++FORCE_INLINE __m128i _mm_unpacklo_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128i_s8( ++ vzip1q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// ++// DEFINE INTERLEAVE_QWORDS(src1[127:0], src2[127:0]) { ++// dst[63:0] := src1[63:0] ++// dst[127:64] := src2[63:0] ++// RETURN dst[127:0] ++// } ++// dst[127:0] := INTERLEAVE_QWORDS(a[127:0], b[127:0]) ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_unpacklo_pd ++FORCE_INLINE __m128d _mm_unpacklo_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64( ++ vzip1q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_low_s64(vreinterpretq_s64_m128d(a)), ++ vget_low_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Compute the bitwise XOR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// ++// FOR j := 0 to 1 ++// i := j*64 ++// dst[i+63:i] := a[i+63:i] XOR b[i+63:i] ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_xor_pd ++FORCE_INLINE __m128d _mm_xor_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ veorq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Computes the bitwise XOR of the 128-bit value in a and the 128-bit value in ++// b. https://msdn.microsoft.com/en-us/library/fzt08www(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_xor_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ veorq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++/* SSE3 */ ++ ++// Alternatively add and subtract packed double-precision (64-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// ++// FOR j := 0 to 1 ++// i := j*64 ++// IF ((j & 1) == 0) ++// dst[i+63:i] := a[i+63:i] - b[i+63:i] ++// ELSE ++// dst[i+63:i] := a[i+63:i] + b[i+63:i] ++// FI ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_addsub_pd ++FORCE_INLINE __m128d _mm_addsub_pd(__m128d a, __m128d b) ++{ ++ _sse2neon_const __m128d mask = _mm_set_pd(1.0f, -1.0f); ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64(vfmaq_f64(vreinterpretq_f64_m128d(a), ++ vreinterpretq_f64_m128d(b), ++ vreinterpretq_f64_m128d(mask))); ++#else ++ return _mm_add_pd(_mm_mul_pd(b, mask), a); ++#endif ++} ++ ++// Alternatively add and subtract packed single-precision (32-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=addsub_ps ++FORCE_INLINE __m128 _mm_addsub_ps(__m128 a, __m128 b) ++{ ++ _sse2neon_const __m128 mask = _mm_setr_ps(-1.0f, 1.0f, -1.0f, 1.0f); ++#if defined(__aarch64__) || defined(__ARM_FEATURE_FMA) /* VFPv4+ */ ++ return vreinterpretq_m128_f32(vfmaq_f32(vreinterpretq_f32_m128(a), ++ vreinterpretq_f32_m128(mask), ++ vreinterpretq_f32_m128(b))); ++#else ++ return _mm_add_ps(_mm_mul_ps(b, mask), a); ++#endif ++} ++ ++// Horizontally add adjacent pairs of double-precision (64-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_hadd_pd ++FORCE_INLINE __m128d _mm_hadd_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64( ++ vpaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[] = {da[0] + da[1], db[0] + db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Computes pairwise add of each argument as single-precision, floating-point ++// values a and b. ++// https://msdn.microsoft.com/en-us/library/yd9wecaa.aspx ++FORCE_INLINE __m128 _mm_hadd_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128_f32( ++ vpaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vpadd_f32(a10, a32), vpadd_f32(b10, b32))); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of double-precision (64-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_hsub_pd ++FORCE_INLINE __m128d _mm_hsub_pd(__m128d _a, __m128d _b) ++{ ++#if defined(__aarch64__) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vuzp1q_f64(a, b), vuzp2q_f64(a, b))); ++#else ++ double *da = (double *) &_a; ++ double *db = (double *) &_b; ++ double c[] = {da[0] - da[1], db[0] - db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of single-precision (32-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_hsub_ps ++FORCE_INLINE __m128 _mm_hsub_ps(__m128 _a, __m128 _b) ++{ ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++#if defined(__aarch64__) ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vuzp1q_f32(a, b), vuzp2q_f32(a, b))); ++#else ++ float32x4x2_t c = vuzpq_f32(a, b); ++ return vreinterpretq_m128_f32(vsubq_f32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Load 128-bits of integer data from unaligned memory into dst. This intrinsic ++// may perform better than _mm_loadu_si128 when the data crosses a cache line ++// boundary. ++// ++// dst[127:0] := MEM[mem_addr+127:mem_addr] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_lddqu_si128 ++#define _mm_lddqu_si128 _mm_loadu_si128 ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// ++// dst[63:0] := MEM[mem_addr+63:mem_addr] ++// dst[127:64] := MEM[mem_addr+63:mem_addr] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_loaddup_pd ++#define _mm_loaddup_pd _mm_load1_pd ++ ++// Duplicate the low double-precision (64-bit) floating-point element from a, ++// and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_movedup_pd ++FORCE_INLINE __m128d _mm_movedup_pd(__m128d a) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64( ++ vdupq_laneq_f64(vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_u64( ++ vdupq_n_u64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0))); ++#endif ++} ++ ++// Duplicate odd-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_movehdup_ps ++FORCE_INLINE __m128 _mm_movehdup_ps(__m128 a) ++{ ++#if __has_builtin(__builtin_shufflevector) ++ return vreinterpretq_m128_f32(__builtin_shufflevector( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 1, 1, 3, 3)); ++#else ++ float32_t a1 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ float32_t a3 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 3); ++ float ALIGN_STRUCT(16) data[4] = {a1, a1, a3, a3}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Duplicate even-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_moveldup_ps ++FORCE_INLINE __m128 _mm_moveldup_ps(__m128 a) ++{ ++#if __has_builtin(__builtin_shufflevector) ++ return vreinterpretq_m128_f32(__builtin_shufflevector( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 0, 0, 2, 2)); ++#else ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32_t a2 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 2); ++ float ALIGN_STRUCT(16) data[4] = {a0, a0, a2, a2}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++/* SSSE3 */ ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// ++// FOR j := 0 to 7 ++// i := j*16 ++// dst[i+15:i] := ABS(a[i+15:i]) ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_abs_epi16 ++FORCE_INLINE __m128i _mm_abs_epi16(__m128i a) ++{ ++ return vreinterpretq_m128i_s16(vabsq_s16(vreinterpretq_s16_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// ++// FOR j := 0 to 3 ++// i := j*32 ++// dst[i+31:i] := ABS(a[i+31:i]) ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_abs_epi32 ++FORCE_INLINE __m128i _mm_abs_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32(vabsq_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// ++// FOR j := 0 to 15 ++// i := j*8 ++// dst[i+7:i] := ABS(a[i+7:i]) ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_abs_epi8 ++FORCE_INLINE __m128i _mm_abs_epi8(__m128i a) ++{ ++ return vreinterpretq_m128i_s8(vabsq_s8(vreinterpretq_s8_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// ++// FOR j := 0 to 3 ++// i := j*16 ++// dst[i+15:i] := ABS(a[i+15:i]) ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_abs_pi16 ++FORCE_INLINE __m64 _mm_abs_pi16(__m64 a) ++{ ++ return vreinterpret_m64_s16(vabs_s16(vreinterpret_s16_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// ++// FOR j := 0 to 1 ++// i := j*32 ++// dst[i+31:i] := ABS(a[i+31:i]) ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_abs_pi32 ++FORCE_INLINE __m64 _mm_abs_pi32(__m64 a) ++{ ++ return vreinterpret_m64_s32(vabs_s32(vreinterpret_s32_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// ++// FOR j := 0 to 7 ++// i := j*8 ++// dst[i+7:i] := ABS(a[i+7:i]) ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_abs_pi8 ++FORCE_INLINE __m64 _mm_abs_pi8(__m64 a) ++{ ++ return vreinterpret_m64_s8(vabs_s8(vreinterpret_s8_m64(a))); ++} ++ ++// Concatenate 16-byte blocks in a and b into a 32-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 16 bytes in dst. ++// ++// tmp[255:0] := ((a[127:0] << 128)[255:0] OR b[127:0]) >> (imm8*8) ++// dst[127:0] := tmp[127:0] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_alignr_epi8 ++FORCE_INLINE __m128i _mm_alignr_epi8(__m128i a, __m128i b, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~31)) ++ return _mm_setzero_si128(); ++ int idx; ++ uint8x16_t tmp[2]; ++ if (imm >= 16) { ++ idx = imm - 16; ++ tmp[0] = vreinterpretq_u8_m128i(a); ++ tmp[1] = vdupq_n_u8(0); ++ } else { ++ idx = imm; ++ tmp[0] = vreinterpretq_u8_m128i(b); ++ tmp[1] = vreinterpretq_u8_m128i(a); ++ } ++ return vreinterpretq_m128i_u8(vld1q_u8(((uint8_t const *) tmp) + idx)); ++} ++ ++// Concatenate 8-byte blocks in a and b into a 16-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 8 bytes in dst. ++// ++// tmp[127:0] := ((a[63:0] << 64)[127:0] OR b[63:0]) >> (imm8*8) ++// dst[63:0] := tmp[63:0] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_alignr_pi8 ++#define _mm_alignr_pi8(a, b, imm) \ ++ __extension__({ \ ++ __m64 ret; \ ++ if (_sse2neon_unlikely((imm) >= 16)) { \ ++ ret = vreinterpret_m64_s8(vdup_n_s8(0)); \ ++ } else { \ ++ uint8x8_t tmp_low, tmp_high; \ ++ if ((imm) >= 8) { \ ++ const int idx = (imm) -8; \ ++ tmp_low = vreinterpret_u8_m64(a); \ ++ tmp_high = vdup_n_u8(0); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } else { \ ++ const int idx = (imm); \ ++ tmp_low = vreinterpret_u8_m64(b); \ ++ tmp_high = vreinterpret_u8_m64(a); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } \ ++ } \ ++ ret; \ ++ }) ++ ++// Computes pairwise add of each argument as a 16-bit signed or unsigned integer ++// values a and b. ++FORCE_INLINE __m128i _mm_hadd_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) ++ return vreinterpretq_m128i_s16(vpaddq_s16(a, b)); ++#else ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(vget_low_s16(a), vget_high_s16(a)), ++ vpadd_s16(vget_low_s16(b), vget_high_s16(b)))); ++#endif ++} ++ ++// Computes pairwise add of each argument as a 32-bit signed or unsigned integer ++// values a and b. ++FORCE_INLINE __m128i _mm_hadd_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vpadd_s32(vget_low_s32(a), vget_high_s32(a)), ++ vpadd_s32(vget_low_s32(b), vget_high_s32(b)))); ++} ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_hadd_pi16 ++FORCE_INLINE __m64 _mm_hadd_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vpadd_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_hadd_pi32 ++FORCE_INLINE __m64 _mm_hadd_pi32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s32( ++ vpadd_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b))); ++} ++ ++// Computes saturated pairwise sub of each argument as a 16-bit signed ++// integer values a and b. ++FORCE_INLINE __m128i _mm_hadds_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ return vreinterpretq_s64_s16( ++ vqaddq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ // Interleave using vshrn/vmovn ++ // [a0|a2|a4|a6|b0|b2|b4|b6] ++ // [a1|a3|a5|a7|b1|b3|b5|b7] ++ int16x8_t ab0246 = vcombine_s16(vmovn_s32(a), vmovn_s32(b)); ++ int16x8_t ab1357 = vcombine_s16(vshrn_n_s32(a, 16), vshrn_n_s32(b, 16)); ++ // Saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(ab0246, ab1357)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_hadds_pi16 ++FORCE_INLINE __m64 _mm_hadds_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) ++ return vreinterpret_s64_s16(vqadd_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t res = vuzp_s16(a, b); ++ return vreinterpret_s64_s16(vqadd_s16(res.val[0], res.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_hsub_epi16 ++FORCE_INLINE __m128i _mm_hsub_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_hsub_epi32 ++FORCE_INLINE __m128i _mm_hsub_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vuzp1q_s32(a, b), vuzp2q_s32(a, b))); ++#else ++ int32x4x2_t c = vuzpq_s32(a, b); ++ return vreinterpretq_m128i_s32(vsubq_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_hsub_pi16 ++FORCE_INLINE __m64 _mm_hsub_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) ++ return vreinterpret_m64_s16(vsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=mm_hsub_pi32 ++FORCE_INLINE __m64 _mm_hsub_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++#if defined(__aarch64__) ++ return vreinterpret_m64_s32(vsub_s32(vuzp1_s32(a, b), vuzp2_s32(a, b))); ++#else ++ int32x2x2_t c = vuzp_s32(a, b); ++ return vreinterpret_m64_s32(vsub_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Computes saturated pairwise difference of each argument as a 16-bit signed ++// integer values a and b. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_hsubs_epi16 ++FORCE_INLINE __m128i _mm_hsubs_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vqsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_hsubs_pi16 ++FORCE_INLINE __m64 _mm_hsubs_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) ++ return vreinterpret_m64_s16(vqsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vqsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, ++// and pack the saturated results in dst. ++// ++// FOR j := 0 to 7 ++// i := j*16 ++// dst[i+15:i] := Saturate_To_Int16( a[i+15:i+8]*b[i+15:i+8] + ++// a[i+7:i]*b[i+7:i] ) ++// ENDFOR ++FORCE_INLINE __m128i _mm_maddubs_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ int16x8_t tl = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_low_u8(a))), ++ vmovl_s8(vget_low_s8(b))); ++ int16x8_t th = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_high_u8(a))), ++ vmovl_s8(vget_high_s8(b))); ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vuzp1q_s16(tl, th), vuzp2q_s16(tl, th))); ++#else ++ // This would be much simpler if x86 would choose to zero extend OR sign ++ // extend, not both. This could probably be optimized better. ++ uint16x8_t a = vreinterpretq_u16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // Zero extend a ++ int16x8_t a_odd = vreinterpretq_s16_u16(vshrq_n_u16(a, 8)); ++ int16x8_t a_even = vreinterpretq_s16_u16(vbicq_u16(a, vdupq_n_u16(0xff00))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x8_t b_even = vshrq_n_s16(vshlq_n_s16(b, 8), 8); ++ int16x8_t b_odd = vshrq_n_s16(b, 8); ++ ++ // multiply ++ int16x8_t prod1 = vmulq_s16(a_even, b_even); ++ int16x8_t prod2 = vmulq_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(prod1, prod2)); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, and ++// pack the saturated results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_maddubs_pi16 ++FORCE_INLINE __m64 _mm_maddubs_pi16(__m64 _a, __m64 _b) ++{ ++ uint16x4_t a = vreinterpret_u16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // Zero extend a ++ int16x4_t a_odd = vreinterpret_s16_u16(vshr_n_u16(a, 8)); ++ int16x4_t a_even = vreinterpret_s16_u16(vand_u16(a, vdup_n_u16(0xff))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x4_t b_even = vshr_n_s16(vshl_n_s16(b, 8), 8); ++ int16x4_t b_odd = vshr_n_s16(b, 8); ++ ++ // multiply ++ int16x4_t prod1 = vmul_s16(a_even, b_even); ++ int16x4_t prod2 = vmul_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpret_m64_s16(vqadd_s16(prod1, prod2)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Shift right by 15 bits while rounding up, and store ++// the packed 16-bit integers in dst. ++// ++// r0 := Round(((int32_t)a0 * (int32_t)b0) >> 15) ++// r1 := Round(((int32_t)a1 * (int32_t)b1) >> 15) ++// r2 := Round(((int32_t)a2 * (int32_t)b2) >> 15) ++// ... ++// r7 := Round(((int32_t)a7 * (int32_t)b7) >> 15) ++FORCE_INLINE __m128i _mm_mulhrs_epi16(__m128i a, __m128i b) ++{ ++ // Has issues due to saturation ++ // return vreinterpretq_m128i_s16(vqrdmulhq_s16(a, b)); ++ ++ // Multiply ++ int32x4_t mul_lo = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int32x4_t mul_hi = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ // Rounding narrowing shift right ++ // narrow = (int16_t)((mul + 16384) >> 15); ++ int16x4_t narrow_lo = vrshrn_n_s32(mul_lo, 15); ++ int16x4_t narrow_hi = vrshrn_n_s32(mul_hi, 15); ++ ++ // Join together ++ return vreinterpretq_m128i_s16(vcombine_s16(narrow_lo, narrow_hi)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Truncate each intermediate integer to the 18 most ++// significant bits, round by adding 1, and store bits [16:1] to dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_mulhrs_pi16 ++FORCE_INLINE __m64 _mm_mulhrs_pi16(__m64 a, __m64 b) ++{ ++ int32x4_t mul_extend = ++ vmull_s16((vreinterpret_s16_m64(a)), (vreinterpret_s16_m64(b))); ++ ++ // Rounding narrowing shift right ++ return vreinterpret_m64_s16(vrshrn_n_s32(mul_extend, 15)); ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_shuffle_epi8 ++FORCE_INLINE __m128i _mm_shuffle_epi8(__m128i a, __m128i b) ++{ ++ int8x16_t tbl = vreinterpretq_s8_m128i(a); // input a ++ uint8x16_t idx = vreinterpretq_u8_m128i(b); // input b ++ uint8x16_t idx_masked = ++ vandq_u8(idx, vdupq_n_u8(0x8F)); // avoid using meaningless bits ++#if defined(__aarch64__) ++ return vreinterpretq_m128i_s8(vqtbl1q_s8(tbl, idx_masked)); ++#elif defined(__GNUC__) ++ int8x16_t ret; ++ // %e and %f represent the even and odd D registers ++ // respectively. ++ __asm__ __volatile__( ++ "vtbl.8 %e[ret], {%e[tbl], %f[tbl]}, %e[idx]\n" ++ "vtbl.8 %f[ret], {%e[tbl], %f[tbl]}, %f[idx]\n" ++ : [ret] "=&w"(ret) ++ : [tbl] "w"(tbl), [idx] "w"(idx_masked)); ++ return vreinterpretq_m128i_s8(ret); ++#else ++ // use this line if testing on aarch64 ++ int8x8x2_t a_split = {vget_low_s8(tbl), vget_high_s8(tbl)}; ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vtbl2_s8(a_split, vget_low_u8(idx_masked)), ++ vtbl2_s8(a_split, vget_high_u8(idx_masked)))); ++#endif ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// ++// FOR j := 0 to 7 ++// i := j*8 ++// IF b[i+7] == 1 ++// dst[i+7:i] := 0 ++// ELSE ++// index[2:0] := b[i+2:i] ++// dst[i+7:i] := a[index*8+7:index*8] ++// FI ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_shuffle_pi8 ++FORCE_INLINE __m64 _mm_shuffle_pi8(__m64 a, __m64 b) ++{ ++ const int8x8_t controlMask = ++ vand_s8(vreinterpret_s8_m64(b), vdup_n_s8((int8_t) (0x1 << 7 | 0x07))); ++ int8x8_t res = vtbl1_s8(vreinterpret_s8_m64(a), controlMask); ++ return vreinterpret_m64_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed ++// 16-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// ++// for i in 0..7 ++// if b[i] < 0 ++// r[i] := -a[i] ++// else if b[i] == 0 ++// r[i] := 0 ++// else ++// r[i] := a[i] ++// fi ++// done ++FORCE_INLINE __m128i _mm_sign_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x8_t ltMask = vreinterpretq_u16_s16(vshrq_n_s16(b, 15)); ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqzq_s16(b)); ++#else ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqq_s16(b, vdupq_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s16(a) equals to negative ++ // 'a') based on ltMask ++ int16x8_t masked = vbslq_s16(ltMask, vnegq_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x8_t res = vbicq_s16(masked, zeroMask); ++ return vreinterpretq_m128i_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed ++// 32-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// ++// for i in 0..3 ++// if b[i] < 0 ++// r[i] := -a[i] ++// else if b[i] == 0 ++// r[i] := 0 ++// else ++// r[i] := a[i] ++// fi ++// done ++FORCE_INLINE __m128i _mm_sign_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x4_t ltMask = vreinterpretq_u32_s32(vshrq_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqzq_s32(b)); ++#else ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqq_s32(b, vdupq_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s32(a) equals to negative ++ // 'a') based on ltMask ++ int32x4_t masked = vbslq_s32(ltMask, vnegq_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x4_t res = vbicq_s32(masked, zeroMask); ++ return vreinterpretq_m128i_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed ++// 8-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// ++// for i in 0..15 ++// if b[i] < 0 ++// r[i] := -a[i] ++// else if b[i] == 0 ++// r[i] := 0 ++// else ++// r[i] := a[i] ++// fi ++// done ++FORCE_INLINE __m128i _mm_sign_epi8(__m128i _a, __m128i _b) ++{ ++ int8x16_t a = vreinterpretq_s8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x16_t ltMask = vreinterpretq_u8_s8(vshrq_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqzq_s8(b)); ++#else ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqq_s8(b, vdupq_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s8(a) return negative 'a') ++ // based on ltMask ++ int8x16_t masked = vbslq_s8(ltMask, vnegq_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x16_t res = vbicq_s8(masked, zeroMask); ++ ++ return vreinterpretq_m128i_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed 16-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// ++// FOR j := 0 to 3 ++// i := j*16 ++// IF b[i+15:i] < 0 ++// dst[i+15:i] := -(a[i+15:i]) ++// ELSE IF b[i+15:i] == 0 ++// dst[i+15:i] := 0 ++// ELSE ++// dst[i+15:i] := a[i+15:i] ++// FI ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_sign_pi16 ++FORCE_INLINE __m64 _mm_sign_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x4_t ltMask = vreinterpret_u16_s16(vshr_n_s16(b, 15)); ++ ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceqz_s16(b)); ++#else ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceq_s16(b, vdup_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s16(a) return negative 'a') ++ // based on ltMask ++ int16x4_t masked = vbsl_s16(ltMask, vneg_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x4_t res = vbic_s16(masked, zeroMask); ++ ++ return vreinterpret_m64_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed 32-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// ++// FOR j := 0 to 1 ++// i := j*32 ++// IF b[i+31:i] < 0 ++// dst[i+31:i] := -(a[i+31:i]) ++// ELSE IF b[i+31:i] == 0 ++// dst[i+31:i] := 0 ++// ELSE ++// dst[i+31:i] := a[i+31:i] ++// FI ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_sign_pi32 ++FORCE_INLINE __m64 _mm_sign_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x2_t ltMask = vreinterpret_u32_s32(vshr_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceqz_s32(b)); ++#else ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceq_s32(b, vdup_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s32(a) return negative 'a') ++ // based on ltMask ++ int32x2_t masked = vbsl_s32(ltMask, vneg_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x2_t res = vbic_s32(masked, zeroMask); ++ ++ return vreinterpret_m64_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed 8-bit integer ++// in b is negative, and store the results in dst. Element in dst are zeroed out ++// when the corresponding element in b is zero. ++// ++// FOR j := 0 to 7 ++// i := j*8 ++// IF b[i+7:i] < 0 ++// dst[i+7:i] := -(a[i+7:i]) ++// ELSE IF b[i+7:i] == 0 ++// dst[i+7:i] := 0 ++// ELSE ++// dst[i+7:i] := a[i+7:i] ++// FI ++// ENDFOR ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_sign_pi8 ++FORCE_INLINE __m64 _mm_sign_pi8(__m64 _a, __m64 _b) ++{ ++ int8x8_t a = vreinterpret_s8_m64(_a); ++ int8x8_t b = vreinterpret_s8_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x8_t ltMask = vreinterpret_u8_s8(vshr_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceqz_s8(b)); ++#else ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceq_s8(b, vdup_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s8(a) return negative 'a') ++ // based on ltMask ++ int8x8_t masked = vbsl_s8(ltMask, vneg_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x8_t res = vbic_s8(masked, zeroMask); ++ ++ return vreinterpret_m64_s8(res); ++} ++ ++/* SSE4.1 */ ++ ++// Blend packed 16-bit integers from a and b using control mask imm8, and store ++// the results in dst. ++// ++// FOR j := 0 to 7 ++// i := j*16 ++// IF imm8[j] ++// dst[i+15:i] := b[i+15:i] ++// ELSE ++// dst[i+15:i] := a[i+15:i] ++// FI ++// ENDFOR ++// FORCE_INLINE __m128i _mm_blend_epi16(__m128i a, __m128i b, ++// __constrange(0,255) int imm) ++#define _mm_blend_epi16(a, b, imm) \ ++ __extension__({ \ ++ const uint16_t _mask[8] = {((imm) & (1 << 0)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 1)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 2)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 3)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 4)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 5)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 6)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 7)) ? (uint16_t) -1 : 0x0}; \ ++ uint16x8_t _mask_vec = vld1q_u16(_mask); \ ++ uint16x8_t _a = vreinterpretq_u16_m128i(a); \ ++ uint16x8_t _b = vreinterpretq_u16_m128i(b); \ ++ vreinterpretq_m128i_u16(vbslq_u16(_mask_vec, _b, _a)); \ ++ }) ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using control mask imm8, and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_blend_pd ++#define _mm_blend_pd(a, b, imm) \ ++ __extension__({ \ ++ const uint64_t _mask[2] = { \ ++ ((imm) & (1 << 0)) ? ~UINT64_C(0) : UINT64_C(0), \ ++ ((imm) & (1 << 1)) ? ~UINT64_C(0) : UINT64_C(0)}; \ ++ uint64x2_t _mask_vec = vld1q_u64(_mask); \ ++ uint64x2_t _a = vreinterpretq_u64_m128d(a); \ ++ uint64x2_t _b = vreinterpretq_u64_m128d(b); \ ++ vreinterpretq_m128d_u64(vbslq_u64(_mask_vec, _b, _a)); \ ++ }) ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_blend_ps ++FORCE_INLINE __m128 _mm_blend_ps(__m128 _a, __m128 _b, const char imm8) ++{ ++ const uint32_t ALIGN_STRUCT(16) ++ data[4] = {((imm8) & (1 << 0)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0}; ++ uint32x4_t mask = vld1q_u32(data); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Blend packed 8-bit integers from a and b using mask, and store the results in ++// dst. ++// ++// FOR j := 0 to 15 ++// i := j*8 ++// IF mask[i+7] ++// dst[i+7:i] := b[i+7:i] ++// ELSE ++// dst[i+7:i] := a[i+7:i] ++// FI ++// ENDFOR ++FORCE_INLINE __m128i _mm_blendv_epi8(__m128i _a, __m128i _b, __m128i _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint8x16_t mask = ++ vreinterpretq_u8_s8(vshrq_n_s8(vreinterpretq_s8_m128i(_mask), 7)); ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ uint8x16_t b = vreinterpretq_u8_m128i(_b); ++ return vreinterpretq_m128i_u8(vbslq_u8(mask, b, a)); ++} ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_blendv_pd ++FORCE_INLINE __m128d _mm_blendv_pd(__m128d _a, __m128d _b, __m128d _mask) ++{ ++ uint64x2_t mask = ++ vreinterpretq_u64_s64(vshrq_n_s64(vreinterpretq_s64_m128d(_mask), 63)); ++#if defined(__aarch64__) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64(vbslq_f64(mask, b, a)); ++#else ++ uint64x2_t a = vreinterpretq_u64_m128d(_a); ++ uint64x2_t b = vreinterpretq_u64_m128d(_b); ++ return vreinterpretq_m128d_u64(vbslq_u64(mask, b, a)); ++#endif ++} ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_blendv_ps ++FORCE_INLINE __m128 _mm_blendv_ps(__m128 _a, __m128 _b, __m128 _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint32x4_t mask = ++ vreinterpretq_u32_s32(vshrq_n_s32(vreinterpretq_s32_m128(_mask), 31)); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a up ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_ceil_pd ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d a) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64(vrndpq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(ceil(f[1]), ceil(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a up to ++// an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_ceil_ps ++FORCE_INLINE __m128 _mm_ceil_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndpq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ceilf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b up to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_ceil_sd ++FORCE_INLINE __m128d _mm_ceil_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_ceil_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b up to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// ++// dst[31:0] := CEIL(b[31:0]) ++// dst[127:32] := a[127:32] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_ceil_ss ++FORCE_INLINE __m128 _mm_ceil_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_ceil_ps(b)); ++} ++ ++// Compare packed 64-bit integers in a and b for equality, and store the results ++// in dst ++FORCE_INLINE __m128i _mm_cmpeq_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128i_u64( ++ vceqq_u64(vreinterpretq_u64_m128i(a), vreinterpretq_u64_m128i(b))); ++#else ++ // ARMv7 lacks vceqq_u64 ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128i_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Converts the four signed 16-bit integers in the lower 64 bits to four signed ++// 32-bit integers. ++FORCE_INLINE __m128i _mm_cvtepi16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vmovl_s16(vget_low_s16(vreinterpretq_s16_m128i(a)))); ++} ++ ++// Converts the two signed 16-bit integers in the lower 32 bits two signed ++// 32-bit integers. ++FORCE_INLINE __m128i _mm_cvtepi16_epi64(__m128i a) ++{ ++ int16x8_t s16x8 = vreinterpretq_s16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Converts the two signed 32-bit integers in the lower 64 bits to two signed ++// 64-bit integers. ++FORCE_INLINE __m128i _mm_cvtepi32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a)))); ++} ++ ++// Converts the four unsigned 8-bit integers in the lower 16 bits to four ++// unsigned 32-bit integers. ++FORCE_INLINE __m128i _mm_cvtepi8_epi16(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ return vreinterpretq_m128i_s16(s16x8); ++} ++ ++// Converts the four unsigned 8-bit integers in the lower 32 bits to four ++// unsigned 32-bit integers. ++FORCE_INLINE __m128i _mm_cvtepi8_epi32(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_s32(s32x4); ++} ++ ++// Converts the two signed 8-bit integers in the lower 32 bits to four ++// signed 64-bit integers. ++FORCE_INLINE __m128i _mm_cvtepi8_epi64(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Converts the four unsigned 16-bit integers in the lower 64 bits to four ++// unsigned 32-bit integers. ++FORCE_INLINE __m128i _mm_cvtepu16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_u32( ++ vmovl_u16(vget_low_u16(vreinterpretq_u16_m128i(a)))); ++} ++ ++// Converts the two unsigned 16-bit integers in the lower 32 bits to two ++// unsigned 64-bit integers. ++FORCE_INLINE __m128i _mm_cvtepu16_epi64(__m128i a) ++{ ++ uint16x8_t u16x8 = vreinterpretq_u16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Converts the two unsigned 32-bit integers in the lower 64 bits to two ++// unsigned 64-bit integers. ++FORCE_INLINE __m128i _mm_cvtepu32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_u64( ++ vmovl_u32(vget_low_u32(vreinterpretq_u32_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 16-bit integers, ++// and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cvtepu8_epi16 ++FORCE_INLINE __m128i _mm_cvtepu8_epi16(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx HGFE DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0H0G 0F0E 0D0C 0B0A */ ++ return vreinterpretq_m128i_u16(u16x8); ++} ++ ++// Converts the four unsigned 8-bit integers in the lower 32 bits to four ++// unsigned 32-bit integers. ++// https://msdn.microsoft.com/en-us/library/bb531467%28v=vs.100%29.aspx ++FORCE_INLINE __m128i _mm_cvtepu8_epi32(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_u32(u32x4); ++} ++ ++// Converts the two unsigned 8-bit integers in the lower 16 bits to two ++// unsigned 64-bit integers. ++FORCE_INLINE __m128i _mm_cvtepu8_epi64(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Conditionally multiply the packed double-precision (64-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, and ++// conditionally store the sum in dst using the low 4 bits of imm8. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_dp_pd ++FORCE_INLINE __m128d _mm_dp_pd(__m128d a, __m128d b, const int imm) ++{ ++ // Generate mask value from constant immediate bit value ++ const int64_t bit0Mask = imm & 0x01 ? UINT64_MAX : 0; ++ const int64_t bit1Mask = imm & 0x02 ? UINT64_MAX : 0; ++#if !SSE2NEON_PRECISE_DP ++ const int64_t bit4Mask = imm & 0x10 ? UINT64_MAX : 0; ++ const int64_t bit5Mask = imm & 0x20 ? UINT64_MAX : 0; ++#endif ++ // Conditional multiplication ++#if !SSE2NEON_PRECISE_DP ++ __m128d mul = _mm_mul_pd(a, b); ++ const __m128d mulMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit5Mask, bit4Mask)); ++ __m128d tmp = _mm_and_pd(mul, mulMask); ++#else ++#if defined(__aarch64__) ++ double d0 = (imm & 0x10) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 0) ++ : 0; ++ double d1 = (imm & 0x20) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 1) ++ : 0; ++#else ++ double d0 = (imm & 0x10) ? ((double *) &a)[0] * ((double *) &b)[0] : 0; ++ double d1 = (imm & 0x20) ? ((double *) &a)[1] * ((double *) &b)[1] : 0; ++#endif ++ __m128d tmp = _mm_set_pd(d1, d0); ++#endif ++ // Sum the products ++#if defined(__aarch64__) ++ double sum = vpaddd_f64(vreinterpretq_f64_m128d(tmp)); ++#else ++ double sum = *((double *) &tmp) + *(((double *) &tmp) + 1); ++#endif ++ // Conditionally store the sum ++ const __m128d sumMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit1Mask, bit0Mask)); ++ __m128d res = _mm_and_pd(_mm_set_pd1(sum), sumMask); ++ return res; ++} ++ ++// Conditionally multiply the packed single-precision (32-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, ++// and conditionally store the sum in dst using the low 4 bits of imm. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_dp_ps ++FORCE_INLINE __m128 _mm_dp_ps(__m128 a, __m128 b, const int imm) ++{ ++#if defined(__aarch64__) ++ /* shortcuts */ ++ if (imm == 0xFF) { ++ return _mm_set1_ps(vaddvq_f32(_mm_mul_ps(a, b))); ++ } ++ if (imm == 0x7F) { ++ float32x4_t m = _mm_mul_ps(a, b); ++ m[3] = 0; ++ return _mm_set1_ps(vaddvq_f32(m)); ++ } ++#endif ++ ++ float s = 0, c = 0; ++ float32x4_t f32a = vreinterpretq_f32_m128(a); ++ float32x4_t f32b = vreinterpretq_f32_m128(b); ++ ++ /* To improve the accuracy of floating-point summation, Kahan algorithm ++ * is used for each operation. ++ */ ++ if (imm & (1 << 4)) ++ _sse2neon_kadd_f32(&s, &c, f32a[0] * f32b[0]); ++ if (imm & (1 << 5)) ++ _sse2neon_kadd_f32(&s, &c, f32a[1] * f32b[1]); ++ if (imm & (1 << 6)) ++ _sse2neon_kadd_f32(&s, &c, f32a[2] * f32b[2]); ++ if (imm & (1 << 7)) ++ _sse2neon_kadd_f32(&s, &c, f32a[3] * f32b[3]); ++ s += c; ++ ++ float32x4_t res = { ++ (imm & 0x1) ? s : 0, ++ (imm & 0x2) ? s : 0, ++ (imm & 0x4) ? s : 0, ++ (imm & 0x8) ? s : 0, ++ }; ++ return vreinterpretq_m128_f32(res); ++} ++ ++// Extracts the selected signed or unsigned 32-bit integer from a and zero ++// extends. ++// FORCE_INLINE int _mm_extract_epi32(__m128i a, __constrange(0,4) int imm) ++#define _mm_extract_epi32(a, imm) \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)) ++ ++// Extracts the selected signed or unsigned 64-bit integer from a and zero ++// extends. ++// FORCE_INLINE __int64 _mm_extract_epi64(__m128i a, __constrange(0,2) int imm) ++#define _mm_extract_epi64(a, imm) \ ++ vgetq_lane_s64(vreinterpretq_s64_m128i(a), (imm)) ++ ++// Extracts the selected signed or unsigned 8-bit integer from a and zero ++// extends. ++// FORCE_INLINE int _mm_extract_epi8(__m128i a, __constrange(0,16) int imm) ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_extract_epi8 ++#define _mm_extract_epi8(a, imm) vgetq_lane_u8(vreinterpretq_u8_m128i(a), (imm)) ++ ++// Extracts the selected single-precision (32-bit) floating-point from a. ++// FORCE_INLINE int _mm_extract_ps(__m128 a, __constrange(0,4) int imm) ++#define _mm_extract_ps(a, imm) vgetq_lane_s32(vreinterpretq_s32_m128(a), (imm)) ++ ++// Round the packed double-precision (64-bit) floating-point elements in a down ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_floor_pd ++FORCE_INLINE __m128d _mm_floor_pd(__m128d a) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128d_f64(vrndmq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(floor(f[1]), floor(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a down ++// to an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_floor_ps ++FORCE_INLINE __m128 _mm_floor_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndmq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(floorf(f[3]), floorf(f[2]), floorf(f[1]), floorf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b down to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_floor_sd ++FORCE_INLINE __m128d _mm_floor_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_floor_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b down to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// ++// dst[31:0] := FLOOR(b[31:0]) ++// dst[127:32] := a[127:32] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_floor_ss ++FORCE_INLINE __m128 _mm_floor_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_floor_ps(b)); ++} ++ ++// Inserts the least significant 32 bits of b into the selected 32-bit integer ++// of a. ++// FORCE_INLINE __m128i _mm_insert_epi32(__m128i a, int b, ++// __constrange(0,4) int imm) ++#define _mm_insert_epi32(a, b, imm) \ ++ __extension__({ \ ++ vreinterpretq_m128i_s32( \ ++ vsetq_lane_s32((b), vreinterpretq_s32_m128i(a), (imm))); \ ++ }) ++ ++// Inserts the least significant 64 bits of b into the selected 64-bit integer ++// of a. ++// FORCE_INLINE __m128i _mm_insert_epi64(__m128i a, __int64 b, ++// __constrange(0,2) int imm) ++#define _mm_insert_epi64(a, b, imm) \ ++ __extension__({ \ ++ vreinterpretq_m128i_s64( \ ++ vsetq_lane_s64((b), vreinterpretq_s64_m128i(a), (imm))); \ ++ }) ++ ++// Inserts the least significant 8 bits of b into the selected 8-bit integer ++// of a. ++// FORCE_INLINE __m128i _mm_insert_epi8(__m128i a, int b, ++// __constrange(0,16) int imm) ++#define _mm_insert_epi8(a, b, imm) \ ++ __extension__({ \ ++ vreinterpretq_m128i_s8( \ ++ vsetq_lane_s8((b), vreinterpretq_s8_m128i(a), (imm))); \ ++ }) ++ ++// Copy a to tmp, then insert a single-precision (32-bit) floating-point ++// element from b into tmp using the control in imm8. Store tmp to dst using ++// the mask in imm8 (elements are zeroed out when the corresponding bit is set). ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=insert_ps ++#define _mm_insert_ps(a, b, imm8) \ ++ __extension__({ \ ++ float32x4_t tmp1 = \ ++ vsetq_lane_f32(vgetq_lane_f32(b, (imm8 >> 6) & 0x3), \ ++ vreinterpretq_f32_m128(a), 0); \ ++ float32x4_t tmp2 = \ ++ vsetq_lane_f32(vgetq_lane_f32(tmp1, 0), vreinterpretq_f32_m128(a), \ ++ ((imm8 >> 4) & 0x3)); \ ++ const uint32_t data[4] = {((imm8) & (1 << 0)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0}; \ ++ uint32x4_t mask = vld1q_u32(data); \ ++ float32x4_t all_zeros = vdupq_n_f32(0); \ ++ \ ++ vreinterpretq_m128_f32( \ ++ vbslq_f32(mask, all_zeros, vreinterpretq_f32_m128(tmp2))); \ ++ }) ++ ++// epi versions of min/max ++// Computes the pariwise maximums of the four signed 32-bit integer values of a ++// and b. ++// ++// A 128-bit parameter that can be defined with the following equations: ++// r0 := (a0 > b0) ? a0 : b0 ++// r1 := (a1 > b1) ? a1 : b1 ++// r2 := (a2 > b2) ? a2 : b2 ++// r3 := (a3 > b3) ? a3 : b3 ++// ++// https://msdn.microsoft.com/en-us/library/vstudio/bb514055(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_max_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmaxq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_max_epi8 ++FORCE_INLINE __m128i _mm_max_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vmaxq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_max_epu16 ++FORCE_INLINE __m128i _mm_max_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vmaxq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_max_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vmaxq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Computes the pariwise minima of the four signed 32-bit integer values of a ++// and b. ++// ++// A 128-bit parameter that can be defined with the following equations: ++// r0 := (a0 < b0) ? a0 : b0 ++// r1 := (a1 < b1) ? a1 : b1 ++// r2 := (a2 < b2) ? a2 : b2 ++// r3 := (a3 < b3) ? a3 : b3 ++// ++// https://msdn.microsoft.com/en-us/library/vstudio/bb531476(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_min_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vminq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_min_epi8 ++FORCE_INLINE __m128i _mm_min_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vminq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_min_epu16 ++FORCE_INLINE __m128i _mm_min_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vminq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_min_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vminq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Horizontally compute the minimum amongst the packed unsigned 16-bit integers ++// in a, store the minimum and index in dst, and zero the remaining bits in dst. ++// ++// index[2:0] := 0 ++// min[15:0] := a[15:0] ++// FOR j := 0 to 7 ++// i := j*16 ++// IF a[i+15:i] < min[15:0] ++// index[2:0] := j ++// min[15:0] := a[i+15:i] ++// FI ++// ENDFOR ++// dst[15:0] := min[15:0] ++// dst[18:16] := index[2:0] ++// dst[127:19] := 0 ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_minpos_epu16 ++FORCE_INLINE __m128i _mm_minpos_epu16(__m128i a) ++{ ++ __m128i dst; ++ uint16_t min, idx = 0; ++ // Find the minimum value ++#if defined(__aarch64__) ++ min = vminvq_u16(vreinterpretq_u16_m128i(a)); ++#else ++ __m64 tmp; ++ tmp = vreinterpret_m64_u16( ++ vmin_u16(vget_low_u16(vreinterpretq_u16_m128i(a)), ++ vget_high_u16(vreinterpretq_u16_m128i(a)))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ min = vget_lane_u16(vreinterpret_u16_m64(tmp), 0); ++#endif ++ // Get the index of the minimum value ++ int i; ++ for (i = 0; i < 8; i++) { ++ if (min == vgetq_lane_u16(vreinterpretq_u16_m128i(a), 0)) { ++ idx = (uint16_t) i; ++ break; ++ } ++ a = _mm_srli_si128(a, 2); ++ } ++ // Generate result ++ dst = _mm_setzero_si128(); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(min, vreinterpretq_u16_m128i(dst), 0)); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(idx, vreinterpretq_u16_m128i(dst), 1)); ++ return dst; ++} ++ ++// Compute the sum of absolute differences (SADs) of quadruplets of unsigned ++// 8-bit integers in a compared to those in b, and store the 16-bit results in ++// dst. Eight SADs are performed using one quadruplet from b and eight ++// quadruplets from a. One quadruplet is selected from b starting at on the ++// offset specified in imm8. Eight quadruplets are formed from sequential 8-bit ++// integers selected from a starting at the offset specified in imm8. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_mpsadbw_epu8 ++FORCE_INLINE __m128i _mm_mpsadbw_epu8(__m128i a, __m128i b, const int imm) ++{ ++ uint8x16_t _a, _b; ++ ++ switch (imm & 0x4) { ++ case 0: ++ // do nothing ++ _a = vreinterpretq_u8_m128i(a); ++ break; ++ case 4: ++ _a = vreinterpretq_u8_u32(vextq_u32(vreinterpretq_u32_m128i(a), ++ vreinterpretq_u32_m128i(a), 1)); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#endif ++ break; ++ } ++ ++ switch (imm & 0x3) { ++ case 0: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 0))); ++ break; ++ case 1: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 1))); ++ break; ++ case 2: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 2))); ++ break; ++ case 3: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 3))); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#endif ++ break; ++ } ++ ++ int16x8_t c04, c15, c26, c37; ++ uint8x8_t low_b = vget_low_u8(_b); ++ c04 = vabsq_s16(vreinterpretq_s16_u16(vsubl_u8(vget_low_u8(_a), low_b))); ++ _a = vextq_u8(_a, _a, 1); ++ c15 = vabsq_s16(vreinterpretq_s16_u16(vsubl_u8(vget_low_u8(_a), low_b))); ++ _a = vextq_u8(_a, _a, 1); ++ c26 = vabsq_s16(vreinterpretq_s16_u16(vsubl_u8(vget_low_u8(_a), low_b))); ++ _a = vextq_u8(_a, _a, 1); ++ c37 = vabsq_s16(vreinterpretq_s16_u16(vsubl_u8(vget_low_u8(_a), low_b))); ++#if defined(__aarch64__) ++ // |0|4|2|6| ++ c04 = vpaddq_s16(c04, c26); ++ // |1|5|3|7| ++ c15 = vpaddq_s16(c15, c37); ++ ++ int32x4_t trn1_c = ++ vtrn1q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ int32x4_t trn2_c = ++ vtrn2q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ return vreinterpretq_m128i_s16(vpaddq_s16(vreinterpretq_s16_s32(trn1_c), ++ vreinterpretq_s16_s32(trn2_c))); ++#else ++ int16x4_t c01, c23, c45, c67; ++ c01 = vpadd_s16(vget_low_s16(c04), vget_low_s16(c15)); ++ c23 = vpadd_s16(vget_low_s16(c26), vget_low_s16(c37)); ++ c45 = vpadd_s16(vget_high_s16(c04), vget_high_s16(c15)); ++ c67 = vpadd_s16(vget_high_s16(c26), vget_high_s16(c37)); ++ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(c01, c23), vpadd_s16(c45, c67))); ++#endif ++} ++ ++// Multiply the low signed 32-bit integers from each packed 64-bit element in ++// a and b, and store the signed 64-bit results in dst. ++// ++// r0 := (int64_t)(int32_t)a0 * (int64_t)(int32_t)b0 ++// r1 := (int64_t)(int32_t)a2 * (int64_t)(int32_t)b2 ++FORCE_INLINE __m128i _mm_mul_epi32(__m128i a, __m128i b) ++{ ++ // vmull_s32 upcasts instead of masking, so we downcast. ++ int32x2_t a_lo = vmovn_s64(vreinterpretq_s64_m128i(a)); ++ int32x2_t b_lo = vmovn_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vmull_s32(a_lo, b_lo)); ++} ++ ++// Multiplies the 4 signed or unsigned 32-bit integers from a by the 4 signed or ++// unsigned 32-bit integers from b. ++// https://msdn.microsoft.com/en-us/library/vstudio/bb531409(v=vs.100).aspx ++FORCE_INLINE __m128i _mm_mullo_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmulq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Packs the 8 unsigned 32-bit integers from a and b into unsigned 16-bit ++// integers and saturates. ++// ++// r0 := UnsignedSaturate(a0) ++// r1 := UnsignedSaturate(a1) ++// r2 := UnsignedSaturate(a2) ++// r3 := UnsignedSaturate(a3) ++// r4 := UnsignedSaturate(b0) ++// r5 := UnsignedSaturate(b1) ++// r6 := UnsignedSaturate(b2) ++// r7 := UnsignedSaturate(b3) ++FORCE_INLINE __m128i _mm_packus_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcombine_u16(vqmovun_s32(vreinterpretq_s32_m128i(a)), ++ vqmovun_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_round_pd ++FORCE_INLINE __m128d _mm_round_pd(__m128d a, int rounding) ++{ ++#if defined(__aarch64__) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndnq_f64(vreinterpretq_f64_m128d(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_pd(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_pd(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndq_f64(vreinterpretq_f64_m128d(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128d_f64(vrndiq_f64(vreinterpretq_f64_m128d(a))); ++ } ++#else ++ double *v_double = (double *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ double res[2], tmp; ++ for (int i = 0; i < 2; i++) { ++ tmp = (v_double[i] < 0) ? -v_double[i] : v_double[i]; ++ double roundDown = floor(tmp); // Round down value ++ double roundUp = ceil(tmp); // Round up value ++ double diffDown = tmp - roundDown; ++ double diffUp = roundUp - tmp; ++ if (diffDown < diffUp) { ++ /* If it's closer to the round down value, then use it */ ++ res[i] = roundDown; ++ } else if (diffDown > diffUp) { ++ /* If it's closer to the round up value, then use it */ ++ res[i] = roundUp; ++ } else { ++ /* If it's equidistant between round up and round down value, ++ * pick the one which is an even number */ ++ double half = roundDown / 2; ++ if (half != floor(half)) { ++ /* If the round down value is odd, return the round up value ++ */ ++ res[i] = roundUp; ++ } else { ++ /* If the round up value is odd, return the round down value ++ */ ++ res[i] = roundDown; ++ } ++ } ++ res[i] = (v_double[i] < 0) ? -res[i] : res[i]; ++ } ++ return _mm_set_pd(res[1], res[0]); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_pd(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_pd(a); ++ } ++ return _mm_set_pd(v_double[1] > 0 ? floor(v_double[1]) : ceil(v_double[1]), ++ v_double[0] > 0 ? floor(v_double[0]) : ceil(v_double[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed single-precision ++// floating-point elements in dst. ++// software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_round_ps ++FORCE_INLINE __m128 _mm_round_ps(__m128 a, int rounding) ++{ ++#if defined(__aarch64__) || defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndnq_f32(vreinterpretq_f32_m128(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_ps(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_ps(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndq_f32(vreinterpretq_f32_m128(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128_f32(vrndiq_f32(vreinterpretq_f32_m128(a))); ++ } ++#else ++ float *v_float = (float *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vbslq_s32(is_delta_half, r_even, r_normal))); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_ps(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_ps(a); ++ } ++ return _mm_set_ps(v_float[3] > 0 ? floorf(v_float[3]) : ceilf(v_float[3]), ++ v_float[2] > 0 ? floorf(v_float[2]) : ceilf(v_float[2]), ++ v_float[1] > 0 ? floorf(v_float[1]) : ceilf(v_float[1]), ++ v_float[0] > 0 ? floorf(v_float[0]) : ceilf(v_float[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b using ++// the rounding parameter, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_round_sd ++FORCE_INLINE __m128d _mm_round_sd(__m128d a, __m128d b, int rounding) ++{ ++ return _mm_move_sd(a, _mm_round_pd(b, rounding)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b using ++// the rounding parameter, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. Rounding is done according to the ++// rounding[3:0] parameter, which can be one of: ++// (_MM_FROUND_TO_NEAREST_INT |_MM_FROUND_NO_EXC) // round to nearest, and ++// suppress exceptions ++// (_MM_FROUND_TO_NEG_INF |_MM_FROUND_NO_EXC) // round down, and ++// suppress exceptions ++// (_MM_FROUND_TO_POS_INF |_MM_FROUND_NO_EXC) // round up, and suppress ++// exceptions ++// (_MM_FROUND_TO_ZERO |_MM_FROUND_NO_EXC) // truncate, and suppress ++// exceptions _MM_FROUND_CUR_DIRECTION // use MXCSR.RC; see ++// _MM_SET_ROUNDING_MODE ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_round_ss ++FORCE_INLINE __m128 _mm_round_ss(__m128 a, __m128 b, int rounding) ++{ ++ return _mm_move_ss(a, _mm_round_ps(b, rounding)); ++} ++ ++// Load 128-bits of integer data from memory into dst using a non-temporal ++// memory hint. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// ++// dst[127:0] := MEM[mem_addr+127:mem_addr] ++// ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_stream_load_si128 ++FORCE_INLINE __m128i _mm_stream_load_si128(__m128i *p) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ return __builtin_nontemporal_load(p); ++#else ++ return vreinterpretq_m128i_s64(vld1q_s64((int64_t *) p)); ++#endif ++} ++ ++// Compute the bitwise NOT of a and then AND with a 128-bit vector containing ++// all 1's, and return 1 if the result is zero, otherwise return 0. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_test_all_ones ++FORCE_INLINE int _mm_test_all_ones(__m128i a) ++{ ++ return (uint64_t) (vgetq_lane_s64(a, 0) & vgetq_lane_s64(a, 1)) == ++ ~(uint64_t) 0; ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and return 1 if the result is zero, otherwise return 0. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_test_all_zeros ++FORCE_INLINE int _mm_test_all_zeros(__m128i a, __m128i mask) ++{ ++ int64x2_t a_and_mask = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(mask)); ++ return !(vgetq_lane_s64(a_and_mask, 0) | vgetq_lane_s64(a_and_mask, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute ++// the bitwise NOT of a and then AND with mask, and set CF to 1 if the result is ++// zero, otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=mm_test_mix_ones_zero ++FORCE_INLINE int _mm_test_mix_ones_zeros(__m128i a, __m128i mask) ++{ ++ uint64x2_t zf = ++ vandq_u64(vreinterpretq_u64_m128i(mask), vreinterpretq_u64_m128i(a)); ++ uint64x2_t cf = ++ vbicq_u64(vreinterpretq_u64_m128i(mask), vreinterpretq_u64_m128i(a)); ++ uint64x2_t result = vandq_u64(zf, cf); ++ return !(vgetq_lane_u64(result, 0) | vgetq_lane_u64(result, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the CF value. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_testc_si128 ++FORCE_INLINE int _mm_testc_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vandq_s64(vreinterpretq_s64_s32(vmvnq_s32(vreinterpretq_s32_m128i(a))), ++ vreinterpretq_s64_m128i(b)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_testnzc_si128 ++#define _mm_testnzc_si128(a, b) _mm_test_mix_ones_zeros(a, b) ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the ZF value. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_testz_si128 ++FORCE_INLINE int _mm_testz_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++/* SSE4.2 */ ++ ++// Compares the 2 signed 64-bit integers in a and the 2 signed 64-bit integers ++// in b for greater than. ++FORCE_INLINE __m128i _mm_cmpgt_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) ++ return vreinterpretq_m128i_u64( ++ vcgtq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ return vreinterpretq_m128i_s64(vshrq_n_s64( ++ vqsubq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)), ++ 63)); ++#endif ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 16-bit integer v. ++// https://msdn.microsoft.com/en-us/library/bb531411(v=vs.100) ++FORCE_INLINE uint32_t _mm_crc32_u16(uint32_t crc, uint16_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32ch %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif (__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32) ++ crc = __crc32ch(crc, v); ++#else ++ crc = _mm_crc32_u8(crc, v & 0xff); ++ crc = _mm_crc32_u8(crc, (v >> 8) & 0xff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 32-bit integer v. ++// https://msdn.microsoft.com/en-us/library/bb531394(v=vs.100) ++FORCE_INLINE uint32_t _mm_crc32_u32(uint32_t crc, uint32_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cw %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif (__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32) ++ crc = __crc32cw(crc, v); ++#else ++ crc = _mm_crc32_u16(crc, v & 0xffff); ++ crc = _mm_crc32_u16(crc, (v >> 16) & 0xffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 64-bit integer v. ++// https://msdn.microsoft.com/en-us/library/bb514033(v=vs.100) ++FORCE_INLINE uint64_t _mm_crc32_u64(uint64_t crc, uint64_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cx %w[c], %w[c], %x[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#else ++ crc = _mm_crc32_u32((uint32_t) (crc), v & 0xffffffff); ++ crc = _mm_crc32_u32((uint32_t) (crc), (v >> 32) & 0xffffffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 8-bit integer v. ++// https://msdn.microsoft.com/en-us/library/bb514036(v=vs.100) ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t crc, uint8_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cb %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif (__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32) ++ crc = __crc32cb(crc, v); ++#else ++ crc ^= v; ++ for (int bit = 0; bit < 8; bit++) { ++ if (crc & 1) ++ crc = (crc >> 1) ^ UINT32_C(0x82f63b78); ++ else ++ crc = (crc >> 1); ++ } ++#endif ++ return crc; ++} ++ ++/* AES */ ++ ++#if !defined(__ARM_FEATURE_CRYPTO) ++/* clang-format off */ ++#define SSE2NEON_AES_DATA(w) \ ++ { \ ++ w(0x63), w(0x7c), w(0x77), w(0x7b), w(0xf2), w(0x6b), w(0x6f), \ ++ w(0xc5), w(0x30), w(0x01), w(0x67), w(0x2b), w(0xfe), w(0xd7), \ ++ w(0xab), w(0x76), w(0xca), w(0x82), w(0xc9), w(0x7d), w(0xfa), \ ++ w(0x59), w(0x47), w(0xf0), w(0xad), w(0xd4), w(0xa2), w(0xaf), \ ++ w(0x9c), w(0xa4), w(0x72), w(0xc0), w(0xb7), w(0xfd), w(0x93), \ ++ w(0x26), w(0x36), w(0x3f), w(0xf7), w(0xcc), w(0x34), w(0xa5), \ ++ w(0xe5), w(0xf1), w(0x71), w(0xd8), w(0x31), w(0x15), w(0x04), \ ++ w(0xc7), w(0x23), w(0xc3), w(0x18), w(0x96), w(0x05), w(0x9a), \ ++ w(0x07), w(0x12), w(0x80), w(0xe2), w(0xeb), w(0x27), w(0xb2), \ ++ w(0x75), w(0x09), w(0x83), w(0x2c), w(0x1a), w(0x1b), w(0x6e), \ ++ w(0x5a), w(0xa0), w(0x52), w(0x3b), w(0xd6), w(0xb3), w(0x29), \ ++ w(0xe3), w(0x2f), w(0x84), w(0x53), w(0xd1), w(0x00), w(0xed), \ ++ w(0x20), w(0xfc), w(0xb1), w(0x5b), w(0x6a), w(0xcb), w(0xbe), \ ++ w(0x39), w(0x4a), w(0x4c), w(0x58), w(0xcf), w(0xd0), w(0xef), \ ++ w(0xaa), w(0xfb), w(0x43), w(0x4d), w(0x33), w(0x85), w(0x45), \ ++ w(0xf9), w(0x02), w(0x7f), w(0x50), w(0x3c), w(0x9f), w(0xa8), \ ++ w(0x51), w(0xa3), w(0x40), w(0x8f), w(0x92), w(0x9d), w(0x38), \ ++ w(0xf5), w(0xbc), w(0xb6), w(0xda), w(0x21), w(0x10), w(0xff), \ ++ w(0xf3), w(0xd2), w(0xcd), w(0x0c), w(0x13), w(0xec), w(0x5f), \ ++ w(0x97), w(0x44), w(0x17), w(0xc4), w(0xa7), w(0x7e), w(0x3d), \ ++ w(0x64), w(0x5d), w(0x19), w(0x73), w(0x60), w(0x81), w(0x4f), \ ++ w(0xdc), w(0x22), w(0x2a), w(0x90), w(0x88), w(0x46), w(0xee), \ ++ w(0xb8), w(0x14), w(0xde), w(0x5e), w(0x0b), w(0xdb), w(0xe0), \ ++ w(0x32), w(0x3a), w(0x0a), w(0x49), w(0x06), w(0x24), w(0x5c), \ ++ w(0xc2), w(0xd3), w(0xac), w(0x62), w(0x91), w(0x95), w(0xe4), \ ++ w(0x79), w(0xe7), w(0xc8), w(0x37), w(0x6d), w(0x8d), w(0xd5), \ ++ w(0x4e), w(0xa9), w(0x6c), w(0x56), w(0xf4), w(0xea), w(0x65), \ ++ w(0x7a), w(0xae), w(0x08), w(0xba), w(0x78), w(0x25), w(0x2e), \ ++ w(0x1c), w(0xa6), w(0xb4), w(0xc6), w(0xe8), w(0xdd), w(0x74), \ ++ w(0x1f), w(0x4b), w(0xbd), w(0x8b), w(0x8a), w(0x70), w(0x3e), \ ++ w(0xb5), w(0x66), w(0x48), w(0x03), w(0xf6), w(0x0e), w(0x61), \ ++ w(0x35), w(0x57), w(0xb9), w(0x86), w(0xc1), w(0x1d), w(0x9e), \ ++ w(0xe1), w(0xf8), w(0x98), w(0x11), w(0x69), w(0xd9), w(0x8e), \ ++ w(0x94), w(0x9b), w(0x1e), w(0x87), w(0xe9), w(0xce), w(0x55), \ ++ w(0x28), w(0xdf), w(0x8c), w(0xa1), w(0x89), w(0x0d), w(0xbf), \ ++ w(0xe6), w(0x42), w(0x68), w(0x41), w(0x99), w(0x2d), w(0x0f), \ ++ w(0xb0), w(0x54), w(0xbb), w(0x16) \ ++ } ++/* clang-format on */ ++ ++/* X Macro trick. See https://en.wikipedia.org/wiki/X_Macro */ ++#define SSE2NEON_AES_H0(x) (x) ++static const uint8_t SSE2NEON_sbox[256] = SSE2NEON_AES_DATA(SSE2NEON_AES_H0); ++#undef SSE2NEON_AES_H0 ++ ++// In the absence of crypto extensions, implement aesenc using regular neon ++// intrinsics instead. See: ++// https://www.workofard.com/2017/01/accelerated-aes-for-the-arm64-linux-kernel/ ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/ and ++// https://github.com/ColinIanKing/linux-next-mirror/blob/b5f466091e130caaf0735976648f72bd5e09aa84/crypto/aegis128-neon-inner.c#L52 ++// for more information Reproduced with permission of the author. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i EncBlock, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t shift_rows[] = {0x0, 0x5, 0xa, 0xf, 0x4, 0x9, ++ 0xe, 0x3, 0x8, 0xd, 0x2, 0x7, ++ 0xc, 0x1, 0x6, 0xb}; ++ static const uint8_t ror32by8[] = {0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc}; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(EncBlock); ++ ++ // shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ // sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(SSE2NEON_sbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(SSE2NEON_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(SSE2NEON_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(SSE2NEON_sbox + 0xc0), w - 0xc0); ++ ++ // mix columns ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++#define SSE2NEON_AES_B2W(b0, b1, b2, b3) \ ++ (((uint32_t) (b3) << 24) | ((uint32_t) (b2) << 16) | \ ++ ((uint32_t) (b1) << 8) | (uint32_t) (b0)) ++#define SSE2NEON_AES_F2(x) ((x << 1) ^ (((x >> 7) & 1) * 0x011b /* WPOLY */)) ++#define SSE2NEON_AES_F3(x) (SSE2NEON_AES_F2(x) ^ x) ++#define SSE2NEON_AES_U0(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F2(p), p, p, SSE2NEON_AES_F3(p)) ++#define SSE2NEON_AES_U1(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p, p) ++#define SSE2NEON_AES_U2(p) \ ++ SSE2NEON_AES_B2W(p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p) ++#define SSE2NEON_AES_U3(p) \ ++ SSE2NEON_AES_B2W(p, p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p)) ++ static const uint32_t ALIGN_STRUCT(16) aes_table[4][256] = { ++ SSE2NEON_AES_DATA(SSE2NEON_AES_U0), ++ SSE2NEON_AES_DATA(SSE2NEON_AES_U1), ++ SSE2NEON_AES_DATA(SSE2NEON_AES_U2), ++ SSE2NEON_AES_DATA(SSE2NEON_AES_U3), ++ }; ++#undef SSE2NEON_AES_B2W ++#undef SSE2NEON_AES_F2 ++#undef SSE2NEON_AES_F3 ++#undef SSE2NEON_AES_U0 ++#undef SSE2NEON_AES_U1 ++#undef SSE2NEON_AES_U2 ++#undef SSE2NEON_AES_U3 ++ ++ uint32_t x0 = _mm_cvtsi128_si32(EncBlock); ++ uint32_t x1 = _mm_cvtsi128_si32(_mm_shuffle_epi32(EncBlock, 0x55)); ++ uint32_t x2 = _mm_cvtsi128_si32(_mm_shuffle_epi32(EncBlock, 0xAA)); ++ uint32_t x3 = _mm_cvtsi128_si32(_mm_shuffle_epi32(EncBlock, 0xFF)); ++ ++ __m128i out = _mm_set_epi32( ++ (aes_table[0][x3 & 0xff] ^ aes_table[1][(x0 >> 8) & 0xff] ^ ++ aes_table[2][(x1 >> 16) & 0xff] ^ aes_table[3][x2 >> 24]), ++ (aes_table[0][x2 & 0xff] ^ aes_table[1][(x3 >> 8) & 0xff] ^ ++ aes_table[2][(x0 >> 16) & 0xff] ^ aes_table[3][x1 >> 24]), ++ (aes_table[0][x1 & 0xff] ^ aes_table[1][(x2 >> 8) & 0xff] ^ ++ aes_table[2][(x3 >> 16) & 0xff] ^ aes_table[3][x0 >> 24]), ++ (aes_table[0][x0 & 0xff] ^ aes_table[1][(x1 >> 8) & 0xff] ^ ++ aes_table[2][(x2 >> 16) & 0xff] ^ aes_table[3][x3 >> 24])); ++ ++ return _mm_xor_si128(out, RoundKey); ++#endif ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++ /* FIXME: optimized for NEON */ ++ uint8_t v[4][4] = { ++ {SSE2NEON_sbox[vreinterpretq_nth_u8_m128i(a, 0)], ++ SSE2NEON_sbox[vreinterpretq_nth_u8_m128i(a, 5)], ++ SSE2NEON_sbox[vreinterpretq_nth_u8_m128i(a, 10)], ++ SSE2NEON_sbox[vreinterpretq_nth_u8_m128i(a, 15)]}, ++ {SSE2NEON_sbox[vreinterpretq_nth_u8_m128i(a, 4)], ++ SSE2NEON_sbox[vreinterpretq_nth_u8_m128i(a, 9)], ++ SSE2NEON_sbox[vreinterpretq_nth_u8_m128i(a, 14)], ++ SSE2NEON_sbox[vreinterpretq_nth_u8_m128i(a, 3)]}, ++ {SSE2NEON_sbox[vreinterpretq_nth_u8_m128i(a, 8)], ++ SSE2NEON_sbox[vreinterpretq_nth_u8_m128i(a, 13)], ++ SSE2NEON_sbox[vreinterpretq_nth_u8_m128i(a, 2)], ++ SSE2NEON_sbox[vreinterpretq_nth_u8_m128i(a, 7)]}, ++ {SSE2NEON_sbox[vreinterpretq_nth_u8_m128i(a, 12)], ++ SSE2NEON_sbox[vreinterpretq_nth_u8_m128i(a, 1)], ++ SSE2NEON_sbox[vreinterpretq_nth_u8_m128i(a, 6)], ++ SSE2NEON_sbox[vreinterpretq_nth_u8_m128i(a, 11)]}, ++ }; ++ for (int i = 0; i < 16; i++) ++ vreinterpretq_nth_u8_m128i(a, i) = ++ v[i / 4][i % 4] ^ vreinterpretq_nth_u8_m128i(RoundKey, i); ++ return a; ++} ++ ++// Emits the Advanced Encryption Standard (AES) instruction aeskeygenassist. ++// This instruction generates a round key for AES encryption. See ++// https://kazakov.life/2017/11/01/cryptocurrency-mining-on-ios-devices/ ++// for details. ++// ++// https://msdn.microsoft.com/en-us/library/cc714138(v=vs.120).aspx ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i key, const int rcon) ++{ ++ uint32_t X1 = _mm_cvtsi128_si32(_mm_shuffle_epi32(key, 0x55)); ++ uint32_t X3 = _mm_cvtsi128_si32(_mm_shuffle_epi32(key, 0xFF)); ++ for (int i = 0; i < 4; ++i) { ++ ((uint8_t *) &X1)[i] = SSE2NEON_sbox[((uint8_t *) &X1)[i]]; ++ ((uint8_t *) &X3)[i] = SSE2NEON_sbox[((uint8_t *) &X3)[i]]; ++ } ++ return _mm_set_epi32(((X3 >> 8) | (X3 << 24)) ^ rcon, X3, ++ ((X1 >> 8) | (X1 << 24)) ^ rcon, X1); ++} ++#undef SSE2NEON_AES_DATA ++ ++#else /* __ARM_FEATURE_CRYPTO */ ++// Implements equivalent of 'aesenc' by combining AESE (with an empty key) and ++// AESMC and then manually applying the real key as an xor operation. This ++// unfortunately means an additional xor op; the compiler should be able to ++// optimize this away for repeated calls however. See ++// https://blog.michaelbrase.com/2018/05/08/emulating-x86-aes-intrinsics-on-armv8-a ++// for more details. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vaesmcq_u8(vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))) ^ ++ vreinterpretq_u8_m128i(b)); ++} ++ ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return _mm_xor_si128(vreinterpretq_m128i_u8(vaeseq_u8( ++ vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ RoundKey); ++} ++ ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++ // AESE does ShiftRows and SubBytes on A ++ uint8x16_t u8 = vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)); ++ ++ uint8x16_t dest = { ++ // Undo ShiftRows step from AESE and extract X1 and X3 ++ u8[0x4], u8[0x1], u8[0xE], u8[0xB], // SubBytes(X1) ++ u8[0x1], u8[0xE], u8[0xB], u8[0x4], // ROT(SubBytes(X1)) ++ u8[0xC], u8[0x9], u8[0x6], u8[0x3], // SubBytes(X3) ++ u8[0x9], u8[0x6], u8[0x3], u8[0xC], // ROT(SubBytes(X3)) ++ }; ++ uint32x4_t r = {0, (unsigned) rcon, 0, (unsigned) rcon}; ++ return vreinterpretq_m128i_u8(dest) ^ vreinterpretq_m128i_u32(r); ++} ++#endif ++ ++/* Others */ ++ ++// Perform a carry-less multiplication of two 64-bit integers, selected from a ++// and b according to imm8, and store the results in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_clmulepi64_si128 ++FORCE_INLINE __m128i _mm_clmulepi64_si128(__m128i _a, __m128i _b, const int imm) ++{ ++ uint64x2_t a = vreinterpretq_u64_m128i(_a); ++ uint64x2_t b = vreinterpretq_u64_m128i(_b); ++ switch (imm & 0x11) { ++ case 0x00: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_low_u64(b))); ++ case 0x01: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_low_u64(b))); ++ case 0x10: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_high_u64(b))); ++ case 0x11: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_high_u64(b))); ++ default: ++ abort(); ++ } ++} ++ ++FORCE_INLINE unsigned int _sse2neon_mm_get_denormals_zero_mode() ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) ++ __asm__ __volatile__("mrs %0, FPCR" : "=r"(r.value)); /* read */ ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_DENORMALS_ZERO_ON : _MM_DENORMALS_ZERO_OFF; ++} ++ ++// Count the number of bits set to 1 in unsigned 32-bit integer a, and ++// return that count in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_popcnt_u32 ++FORCE_INLINE int _mm_popcnt_u32(unsigned int a) ++{ ++#if defined(__aarch64__) ++#if __has_builtin(__builtin_popcount) ++ return __builtin_popcount(a); ++#else ++ return (int) vaddlv_u8(vcnt_u8(vcreate_u8((uint64_t) a))); ++#endif ++#else ++ uint32_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ ++ vst1_u32(&count, count32x2_val); ++ return count; ++#endif ++} ++ ++// Count the number of bits set to 1 in unsigned 64-bit integer a, and ++// return that count in dst. ++// https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_popcnt_u64 ++FORCE_INLINE int64_t _mm_popcnt_u64(uint64_t a) ++{ ++#if defined(__aarch64__) ++#if __has_builtin(__builtin_popcountll) ++ return __builtin_popcountll(a); ++#else ++ return (int64_t) vaddlv_u8(vcnt_u8(vcreate_u8(a))); ++#endif ++#else ++ uint64_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ uint64x1_t count64x1_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ count64x1_val = vpaddl_u32(count32x2_val); ++ vst1_u64(&count, count64x1_val); ++ return count; ++#endif ++} ++ ++FORCE_INLINE void _sse2neon_mm_set_denormals_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) ++ __asm__ __volatile__("mrs %0, FPCR" : "=r"(r.value)); /* read */ ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_DENORMALS_ZERO_MASK) == _MM_DENORMALS_ZERO_ON; ++ ++#if defined(__aarch64__) ++ __asm__ __volatile__("msr FPCR, %0" ::"r"(r)); /* write */ ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Return the current 64-bit value of the processor's time-stamp counter. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=rdtsc ++ ++FORCE_INLINE uint64_t _rdtsc(void) ++{ ++#if defined(__aarch64__) ++ uint64_t val; ++ ++ /* According to ARM DDI 0487F.c, from Armv8.0 to Armv8.5 inclusive, the ++ * system counter is at least 56 bits wide; from Armv8.6, the counter ++ * must be 64 bits wide. So the system counter could be less than 64 ++ * bits wide and it is attributed with the flag 'cap_user_time_short' ++ * is true. ++ */ ++ asm volatile("mrs %0, cntvct_el0" : "=r"(val)); ++ ++ return val; ++#else ++ uint32_t pmccntr, pmuseren, pmcntenset; ++ // Read the user mode Performance Monitoring Unit (PMU) ++ // User Enable Register (PMUSERENR) access permissions. ++ asm volatile("mrc p15, 0, %0, c9, c14, 0" : "=r"(pmuseren)); ++ if (pmuseren & 1) { // Allows reading PMUSERENR for user mode code. ++ asm volatile("mrc p15, 0, %0, c9, c12, 1" : "=r"(pmcntenset)); ++ if (pmcntenset & 0x80000000UL) { // Is it counting? ++ asm volatile("mrc p15, 0, %0, c9, c13, 0" : "=r"(pmccntr)); ++ // The counter is set up to count every 64th cycle ++ return (uint64_t) (pmccntr) << 6; ++ } ++ } ++ ++ // Fallback to syscall as we can't enable PMUSERENR in user mode. ++ struct timeval tv; ++ gettimeofday(&tv, NULL); ++ return (uint64_t) (tv.tv_sec) * 1000000 + tv.tv_usec; ++#endif ++} ++ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma pop_macro("ALIGN_STRUCT") ++#pragma pop_macro("FORCE_INLINE") ++#endif ++ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma GCC pop_options ++#endif ++ ++#endif diff --git a/recipes/graphmap/meta.yaml b/recipes/graphmap/meta.yaml index d630a578f3403..9ea30c2ab95d3 100644 --- a/recipes/graphmap/meta.yaml +++ b/recipes/graphmap/meta.yaml @@ -1,18 +1,22 @@ {% set name = "graphmap" %} -{% set version = "0.6.3" %} +{% set version = "0.6.4" %} package: name: {{ name|lower }} version: {{ version }} build: - number: 4 + number: 0 skip: True # [osx] + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} source: git_url: https://github.com/lbcb-sci/graphmap2 git_rev: v{{ version }} sha256: unused + patches: + - graphmap2-aarch64.patch # [aarch64] requirements: build: @@ -33,7 +37,11 @@ about: license: MIT license_file: LICENCE summary: 'A highly sensitive and accurate mapper for long, error-prone reads.' + dev_url: https://github.com/lbcb-sci/graphmap2 + doc_url: https://www.nature.com/articles/ncomms11307 extra: + additional-platforms: + - linux-aarch64 skip-lints: - uses_vcs_url diff --git a/recipes/graphtyper/arm_hwcap.patch b/recipes/graphtyper/arm_hwcap.patch new file mode 100644 index 0000000000000..0701b6a203859 --- /dev/null +++ b/recipes/graphtyper/arm_hwcap.patch @@ -0,0 +1,15 @@ +Conda-forge's build environment on ARM uses sysroot_linux-aarch64 2.17, which +is based on glibc 2.17 so does not define HWCAP_* values on ARM. +Work around this by including the kernel header to get the desired values. + +--- a/htslib/htscodecs/htscodecs/rANS_static4x16pr.c 2023-10-10 02:54:16 ++++ b/htslib/htscodecs/htscodecs/rANS_static4x16pr.c 2024-03-06 00:01:14 +@@ -1011,6 +1011,8 @@ unsigned char *(*rans_dec_func(int do_simd, int order)) + + #if defined(__linux__) || defined(__FreeBSD__) + #include ++// Ensure ARM HWCAP_* values are defined even on old glibc ++#include + #elif defined(_WIN32) + #include + #endif diff --git a/recipes/graphtyper/build.sh b/recipes/graphtyper/build.sh index 2289d6ac687ba..87a61e37604f4 100644 --- a/recipes/graphtyper/build.sh +++ b/recipes/graphtyper/build.sh @@ -1,12 +1,23 @@ #!/usr/bin/env bash +set -xe + +case $(uname -m) in + aarch64) + ARCH_OPTS="-Dpaw_BUILD_FLAGS=-DCMAKE_CXX_FLAGS_ARCH=" + ;; + *) + ARCH_OPTS= + ;; +esac + # Generate build mkdir -p build cd build -cmake -DCFLAGS="${CFLAGS}" -DLDFLAGS="${LDFLAGS}" .. +cmake -DCFLAGS="${CFLAGS}" -DLDFLAGS="${LDFLAGS}" ${ARCH_OPTS} .. # Build -VERBOSE=1 make graphtyper +VERBOSE=1 make -j ${CPU_COUNT} graphtyper # Install mkdir -p $PREFIX/bin diff --git a/recipes/graphtyper/build_failure.linux-64.yaml b/recipes/graphtyper/build_failure.linux-64.yaml deleted file mode 100644 index d1737b1a43ae5..0000000000000 --- a/recipes/graphtyper/build_failure.linux-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 9bcf12d0f66b21c75e96c579b00d8cccd0b621146c9afc850e5fc26fe0245ed9 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |- - [ 12%] No update step for 'project_libdeflate' - $BUILD_PREFIX/bin/cmake -E echo_append - $BUILD_PREFIX/bin/cmake -E touch $SRC_DIR/libdeflate/src/project_libdeflate-stamp/project_libdeflate-update - [ 14%] No patch step for 'project_libdeflate' - $BUILD_PREFIX/bin/cmake -E echo_append - $BUILD_PREFIX/bin/cmake -E touch $SRC_DIR/libdeflate/src/project_libdeflate-stamp/project_libdeflate-patch - [ 15%] No configure step for 'project_libdeflate' - cd $SRC_DIR/libdeflate && $BUILD_PREFIX/bin/cmake -E echo_append - cd $SRC_DIR/libdeflate && $BUILD_PREFIX/bin/cmake -E touch $SRC_DIR/libdeflate/src/project_libdeflate-stamp/project_libdeflate-configure - [ 16%] Performing build step for 'project_libdeflate' - cd $SRC_DIR/libdeflate && make -C $SRC_DIR/libdeflate CC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc "CFLAGS=-fPIC -O3 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/graphtyper-2.7.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix" libdeflate.a - make[4]: Entering directory '$SRC_DIR/libdeflate' - CC lib/deflate_decompress.o - CC lib/utils.o - CC lib/arm/cpu_features.o - CC lib/x86/cpu_features.o - CC lib/deflate_compress.o - CC lib/adler32.o - CC lib/zlib_decompress.o - CC lib/zlib_compress.o - CC lib/crc32.o - CC lib/gzip_decompress.o - CC lib/gzip_compress.o - AR libdeflate.a - make[4]: Leaving directory '$SRC_DIR/libdeflate' - cd $SRC_DIR/libdeflate && $BUILD_PREFIX/bin/cmake -E touch $SRC_DIR/libdeflate/src/project_libdeflate-stamp/project_libdeflate-build - [ 17%] No install step for 'project_libdeflate' - cd $SRC_DIR/libdeflate && $BUILD_PREFIX/bin/cmake -E echo_append - cd $SRC_DIR/libdeflate && $BUILD_PREFIX/bin/cmake -E touch $SRC_DIR/libdeflate/src/project_libdeflate-stamp/project_libdeflate-install - [ 18%] Completed 'project_libdeflate' - $BUILD_PREFIX/bin/cmake -E make_directory $SRC_DIR/build/CMakeFiles - $BUILD_PREFIX/bin/cmake -E touch $SRC_DIR/build/CMakeFiles/project_libdeflate-complete - $BUILD_PREFIX/bin/cmake -E touch $SRC_DIR/libdeflate/src/project_libdeflate-stamp/project_libdeflate-done - make[3]: Leaving directory '$SRC_DIR/build' - [ 18%] Built target project_libdeflate - make -f CMakeFiles/project_htslib.dir/build.make CMakeFiles/project_htslib.dir/depend - make[3]: Entering directory '$SRC_DIR/build' - cd $SRC_DIR/build && $BUILD_PREFIX/bin/cmake -E cmake_depends "Unix Makefiles" $SRC_DIR $SRC_DIR $SRC_DIR/build $SRC_DIR/build $SRC_DIR/build/CMakeFiles/project_htslib.dir/DependInfo.cmake --color= - make[3]: Leaving directory '$SRC_DIR/build' - make -f CMakeFiles/project_htslib.dir/build.make CMakeFiles/project_htslib.dir/build - make[3]: Entering directory '$SRC_DIR/build' - [ 20%] Creating directories for 'project_htslib' - $BUILD_PREFIX/bin/cmake -Dcfgdir= -P $SRC_DIR/htslib/tmp/project_htslib-mkdirs.cmake - $BUILD_PREFIX/bin/cmake -E touch $SRC_DIR/htslib/src/project_htslib-stamp/project_htslib-mkdir - [ 21%] No download step for 'project_htslib' - $BUILD_PREFIX/bin/cmake -E echo_append - $BUILD_PREFIX/bin/cmake -E touch $SRC_DIR/htslib/src/project_htslib-stamp/project_htslib-download - [ 22%] No update step for 'project_htslib' - $BUILD_PREFIX/bin/cmake -E echo_append - $BUILD_PREFIX/bin/cmake -E touch $SRC_DIR/htslib/src/project_htslib-stamp/project_htslib-update - [ 23%] No patch step for 'project_htslib' - $BUILD_PREFIX/bin/cmake -E echo_append - $BUILD_PREFIX/bin/cmake -E touch $SRC_DIR/htslib/src/project_htslib-stamp/project_htslib-patch - [ 24%] No configure step for 'project_htslib' - cd $SRC_DIR/htslib && $BUILD_PREFIX/bin/cmake -E echo_append - cd $SRC_DIR/htslib && $BUILD_PREFIX/bin/cmake -E touch $SRC_DIR/htslib/src/project_htslib-stamp/project_htslib-configure - [ 25%] Performing build step for 'project_htslib' - cd $SRC_DIR/htslib && autoheader - perl: warning: Setting locale failed. - perl: warning: Please check that your locale settings: - LANGUAGE = (unset), - LC_ALL = (unset), - LANG = "C.UTF-8" - are supported and installed on your system. - perl: warning: Falling back to the standard locale ("C"). - perl: warning: Setting locale failed. - perl: warning: Please check that your locale settings: - LANGUAGE = (unset), - LC_ALL = (unset), - LANG = "C.UTF-8" - are supported and installed on your system. - perl: warning: Falling back to the standard locale ("C"). - cd $SRC_DIR/htslib && autoconf - cd $SRC_DIR/htslib && $SRC_DIR/htslib/configure --disable-libcurl --disable-gcs --with-libdeflate "CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/graphtyper-2.7.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -g -Wall -O3 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/graphtyper-2.7.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I$SRC_DIR/libdeflate" "LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$SRC_DIR/libdeflate" CC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc - configure: error: cannot find required auxiliary files: config.guess config.sub - make[3]: *** [CMakeFiles/project_htslib.dir/build.make:88: /opt/conda/conda-bld/graphtyper_1685351107399/work/htslib/src/project_htslib-stamp/project_htslib-build] Error 1 - make[3]: Leaving directory '$SRC_DIR/build' - make[2]: *** [CMakeFiles/Makefile2:158: CMakeFiles/project_htslib.dir/all] Error 2 - make[2]: Leaving directory '$SRC_DIR/build' - make[1]: *** [CMakeFiles/Makefile2:247: src/CMakeFiles/graphtyper.dir/rule] Error 2 - make[1]: Leaving directory '$SRC_DIR/build' - make: *** [Makefile:231: graphtyper] Error 2 - Traceback (most recent call last): - File "/opt/conda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/graphtyper_1685351107399/work/conda_build.sh']' returned non-zero exit status 2. -# Last 100 lines of the build log. diff --git a/recipes/graphtyper/meta.yaml b/recipes/graphtyper/meta.yaml index 11ba606ba83bf..4c943b875e2cb 100644 --- a/recipes/graphtyper/meta.yaml +++ b/recipes/graphtyper/meta.yaml @@ -1,5 +1,5 @@ {% set name = "graphtyper" %} -{% set version = "2.7.2" %} +{% set version = "2.7.7" %} package: name: {{ name }} @@ -9,11 +9,15 @@ source: # git_url is required for submodule retrieval git_url: https://github.com/DecodeGenetics/{{ name }}.git git_rev: v{{ version }} + patches: + - arm_hwcap.patch # [aarch64] build: - number: 2 + number: 0 #binary_relocation: false skip: true # [not linux] + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: build: @@ -47,6 +51,8 @@ about: summary: Population-scale genotyping using pangenome graphs extra: + additional-platforms: + - linux-aarch64 skip-lints: - uses_vcs_url - missing_hash diff --git a/recipes/grenedalf/build.sh b/recipes/grenedalf/build.sh new file mode 100644 index 0000000000000..1fa785763c3b6 --- /dev/null +++ b/recipes/grenedalf/build.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +make -j ${CPU_COUNT} + +mkdir -p $PREFIX/bin + +cp bin/grenedalf $PREFIX/bin + diff --git a/recipes/grenedalf/meta.yaml b/recipes/grenedalf/meta.yaml new file mode 100644 index 0000000000000..50a33338455c5 --- /dev/null +++ b/recipes/grenedalf/meta.yaml @@ -0,0 +1,52 @@ +package: + name: grenedalf + version: "0.6.2" + +build: + number: 0 + skip: true # [osx] + run_exports: + - {{ pin_subpackage('grenedalf', max_pin='x.x') }} + +source: + url: https://github.com/lczech/grenedalf/archive/refs/tags/v0.6.2.tar.gz + sha256: 64aea7bbbe443048144b56de990b2afa9aa3379137aa98adb815d0d4d5f7b298 + +requirements: + build: + - make + - cmake + - autoconf + - automake + - {{ compiler('cxx') }} + host: + - bzip2 + - xz + - zlib + run: + - bzip2 + - xz + - zlib + +test: + commands: + - grenedalf --help + +about: + home: https://github.com/lczech/grenedalf + license: GPL-3.0-only + license_file: LICENSE + summary: Toolkit for Population Genetic Statistics from Pool-Sequenced Samples, e.g., in Evolve and Resequence experiments + description: | + grenedalf is a collection of commands for working with population genetic data, in particular from pool sequencing. + Its main focus are statistical analyses such as Tajima's D and Fst. The statistics follow the approaches of PoPoolation + and PoPoolation2, as well as poolfstat and npstat. However, compared to those, grenedalf is significantly more scalable, + more user friendly, and offers more settings and input file formats. + dev_url: https://github.com/lczech/grenedalf + doc_url: https://github.com/lczech/grenedalf/wiki + +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - arXiv:2306.11622 diff --git a/recipes/gridss/0001-fix-samtools-version-check.patch b/recipes/gridss/0001-fix-samtools-version-check.patch new file mode 100644 index 0000000000000..7111cf0e23670 --- /dev/null +++ b/recipes/gridss/0001-fix-samtools-version-check.patch @@ -0,0 +1,11 @@ +--- a/gridss_extract_overlapping_fragments ++++ b/gridss_extract_overlapping_fragments +@@ -206,7 +206,7 @@ for tool in gridsstools samtools ; do + fi + write_status "Found $(which $tool)" + done +-samtools_version=$(samtools --version | grep samtools | cut -b 10-) ++samtools_version=$(samtools --version | head -n1 | grep samtools | cut -b 10-) + write_status "samtools version: $samtools_version" + samtools_major_version=$(echo $samtools_version | cut -f 1 -d ".") + samtools_minor_version=$(echo $samtools_version | cut -f 2 -d ".") diff --git a/recipes/gridss/0002-set-gridssargs-for-virusbreakend-annotation.patch b/recipes/gridss/0002-set-gridssargs-for-virusbreakend-annotation.patch new file mode 100644 index 0000000000000..0cab94a467907 --- /dev/null +++ b/recipes/gridss/0002-set-gridssargs-for-virusbreakend-annotation.patch @@ -0,0 +1,10 @@ +--- a/virusbreakend ++++ b/virusbreakend +@@ -777,6 +777,7 @@ if [[ ! -f $file_host_annotated_vcf ]] ; then + -t $threads \ + -r $reference \ + -j $gridss_jar \ ++ $gridssargs \ + -s setupreference \ + 1>&2 2>> $logfile + $timecmd java -Xmx4g $jvm_args \ diff --git a/recipes/gridss/meta.yaml b/recipes/gridss/meta.yaml index 68671af6301ce..478a47b6b0629 100644 --- a/recipes/gridss/meta.yaml +++ b/recipes/gridss/meta.yaml @@ -8,9 +8,14 @@ package: source: url: https://github.com/PapenfussLab/gridss/releases/download/v{{ version }}/gridss-{{ version }}.tar.gz sha256: '{{ sha256 }}' + patches: + - 0001-fix-samtools-version-check.patch + - 0002-set-gridssargs-for-virusbreakend-annotation.patch build: - number: 2 + number: 3 + run_exports: + - {{ pin_subpackage('gridss', max_pin="x.x.x") }} skip: True # [osx] requirements: diff --git a/recipes/groot/build.sh b/recipes/groot/build.sh index e318969a521b2..1bd6e5d9aaee4 100644 --- a/recipes/groot/build.sh +++ b/recipes/groot/build.sh @@ -1,7 +1,12 @@ -#!/bin/bash +#!/usr/bin/env bash + +set -xe + mkdir -p $PREFIX/bin go get -d -v ./... +go get github.com/dgryski/go-metro +go get github.com/dgryski/go-spooky go test -v ./... go build -o groot diff --git a/recipes/groot/meta.yaml b/recipes/groot/meta.yaml index 20d9c2ec28ccd..a7c0072b68075 100644 --- a/recipes/groot/meta.yaml +++ b/recipes/groot/meta.yaml @@ -9,12 +9,16 @@ source: sha256: 46c6f67990397c2230f580be40697e4fdc284fbe7f0a38999a05d81cd6da5928 build: - number: 2 + number: 5 + run_exports: + - {{ pin_subpackage('groot', max_pin='x') }} requirements: build: - {{ compiler('c') }} - {{ compiler('go') }} + run: + - ca-certificates test: commands: @@ -27,5 +31,7 @@ about: summary: A tool for resistome profiling of metagenomic samples. extra: + additional-platforms: + - linux-aarch64 skip-lints: - should_be_noarch_generic diff --git a/recipes/gsalign/build.sh b/recipes/gsalign/build.sh index e5b6c14c7cf09..76dd0bcd47c43 100755 --- a/recipes/gsalign/build.sh +++ b/recipes/gsalign/build.sh @@ -1,4 +1,7 @@ -#!/bin/bash +#!/usr/bin/env bash + +set -xe + mkdir -p ${PREFIX}/bin # index @@ -7,7 +10,16 @@ make CC=$CC FLAGS="$CFLAGS" LIBS="$LDFLAGS -lm -lz" cp bwt_index $PREFIX/bin popd +ARCH_FLAGS="" +case $(uname -m) in + x86_64) + ARCH_FLAGS="-m64 -msse4.2 -mpopcnt" + ;; + *) + ;; +esac + # GSAlign pushd src -make CXX=$CXX FLAGS="$CXXFLAGS -I$PREFIX/include -Wall -D NDEBUG -O3 -m64 -msse4.2 -mpopcnt -fPIC" LIB="$LDFLAGS -lz -lm -lpthread" +make CXX=$CXX FLAGS="$CXXFLAGS -I$PREFIX/include -Wall -D NDEBUG -O3 ${ARCH_FLAGS} -fPIC" LIB="$LDFLAGS -lz -lm -lpthread" -j ${CPU_COUNT} cp GSAlign $PREFIX/bin diff --git a/recipes/gsalign/meta.yaml b/recipes/gsalign/meta.yaml index 263c5c66da47e..c15b077b59dee 100644 --- a/recipes/gsalign/meta.yaml +++ b/recipes/gsalign/meta.yaml @@ -7,9 +7,13 @@ package: source: url: https://github.com/hsinnan75/GSAlign/archive/{{ version }}.tar.gz sha256: '832eb3f570756cf6c0165036994a184e8882b152f3163d50367caa9d0815f619' + patches: + - support-linux-aarch64.patch # [linux and aarch64] build: - number: 4 + number: 6 + run_exports: + - {{ pin_subpackage('gsalign', max_pin='x') }} requirements: build: @@ -38,5 +42,7 @@ about: description: "an ultra-fast sequence alignment tool for genome sequence comparison." extra: + additional-platforms: + - linux-aarch64 identifiers: - doi:10.1101/782193 diff --git a/recipes/gsalign/support-linux-aarch64.patch b/recipes/gsalign/support-linux-aarch64.patch new file mode 100644 index 0000000000000..841a50566f7d3 --- /dev/null +++ b/recipes/gsalign/support-linux-aarch64.patch @@ -0,0 +1,9352 @@ +From df8b1fb962aa81559f93e52a3bea3034c27c0a72 Mon Sep 17 00:00:00 2001 +From: Martin Tzvetanov Grigorov +Date: Wed, 24 Apr 2024 15:49:12 +0300 +Subject: [PATCH 1/5] Use sse2neon.h for Linux ARM64 support + +https://github.com/DLTcollab/sse2neon/blob/ab7a34794507332edfa93b824b256f41e43f9e31/sse2neon.h +from today (24.04.2024) + +Signed-off-by: Martin Tzvetanov Grigorov +--- + src/ksw2_alignment.cpp | 5 + + src/sse2neon.h | 9284 ++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 9289 insertions(+) + create mode 100644 src/sse2neon.h + +diff --git a/src/ksw2_alignment.cpp b/src/ksw2_alignment.cpp +index db09c6a..d01c7ac 100644 +--- a/src/ksw2_alignment.cpp ++++ b/src/ksw2_alignment.cpp +@@ -1,6 +1,11 @@ + #include "structure.h" ++ ++#ifdef __aarch64__ ++#include "sse2neon.h" ++#else + #include + #include ++#endif + + //copyright: Heng Li + +diff --git a/src/sse2neon.h b/src/sse2neon.h +new file mode 100644 +index 0000000..48da95f +--- /dev/null ++++ b/src/sse2neon.h +@@ -0,0 +1,9284 @@ ++#ifndef SSE2NEON_H ++#define SSE2NEON_H ++ ++/* ++ * sse2neon is freely redistributable under the MIT License. ++ * ++ * Copyright (c) 2015-2024 SSE2NEON Contributors. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to deal ++ * in the Software without restriction, including without limitation the rights ++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++ * copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ * SOFTWARE. ++ */ ++ ++// This header file provides a simple API translation layer ++// between SSE intrinsics to their corresponding Arm/Aarch64 NEON versions ++// ++// Contributors to this work are: ++// John W. Ratcliff ++// Brandon Rowlett ++// Ken Fast ++// Eric van Beurden ++// Alexander Potylitsin ++// Hasindu Gamaarachchi ++// Jim Huang ++// Mark Cheng ++// Malcolm James MacLeod ++// Devin Hussey (easyaspi314) ++// Sebastian Pop ++// Developer Ecosystem Engineering ++// Danila Kutenin ++// François Turban (JishinMaster) ++// Pei-Hsuan Hung ++// Yang-Hao Yuan ++// Syoyo Fujita ++// Brecht Van Lommel ++// Jonathan Hue ++// Cuda Chen ++// Aymen Qader ++// Anthony Roberts ++ ++/* Tunable configurations */ ++ ++/* Enable precise implementation of math operations ++ * This would slow down the computation a bit, but gives consistent result with ++ * x86 SSE. (e.g. would solve a hole or NaN pixel in the rendering result) ++ */ ++/* _mm_min|max_ps|ss|pd|sd */ ++#ifndef SSE2NEON_PRECISE_MINMAX ++#define SSE2NEON_PRECISE_MINMAX (0) ++#endif ++/* _mm_rcp_ps and _mm_div_ps */ ++#ifndef SSE2NEON_PRECISE_DIV ++#define SSE2NEON_PRECISE_DIV (0) ++#endif ++/* _mm_sqrt_ps and _mm_rsqrt_ps */ ++#ifndef SSE2NEON_PRECISE_SQRT ++#define SSE2NEON_PRECISE_SQRT (0) ++#endif ++/* _mm_dp_pd */ ++#ifndef SSE2NEON_PRECISE_DP ++#define SSE2NEON_PRECISE_DP (0) ++#endif ++ ++/* Enable inclusion of windows.h on MSVC platforms ++ * This makes _mm_clflush functional on windows, as there is no builtin. ++ */ ++#ifndef SSE2NEON_INCLUDE_WINDOWS_H ++#define SSE2NEON_INCLUDE_WINDOWS_H (0) ++#endif ++ ++/* compiler specific definitions */ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma push_macro("FORCE_INLINE") ++#pragma push_macro("ALIGN_STRUCT") ++#define FORCE_INLINE static inline __attribute__((always_inline)) ++#define ALIGN_STRUCT(x) __attribute__((aligned(x))) ++#define _sse2neon_likely(x) __builtin_expect(!!(x), 1) ++#define _sse2neon_unlikely(x) __builtin_expect(!!(x), 0) ++#elif defined(_MSC_VER) ++#if _MSVC_TRADITIONAL ++#error Using the traditional MSVC preprocessor is not supported! Use /Zc:preprocessor instead. ++#endif ++#ifndef FORCE_INLINE ++#define FORCE_INLINE static inline ++#endif ++#ifndef ALIGN_STRUCT ++#define ALIGN_STRUCT(x) __declspec(align(x)) ++#endif ++#define _sse2neon_likely(x) (x) ++#define _sse2neon_unlikely(x) (x) ++#else ++#pragma message("Macro name collisions may happen with unsupported compilers.") ++#endif ++ ++#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ < 10 ++#warning "GCC versions earlier than 10 are not supported." ++#endif ++ ++/* C language does not allow initializing a variable with a function call. */ ++#ifdef __cplusplus ++#define _sse2neon_const static const ++#else ++#define _sse2neon_const const ++#endif ++ ++#include ++#include ++ ++#if defined(_WIN32) ++/* Definitions for _mm_{malloc,free} are provided by ++ * from both MinGW-w64 and MSVC. ++ */ ++#define SSE2NEON_ALLOC_DEFINED ++#endif ++ ++/* If using MSVC */ ++#ifdef _MSC_VER ++#include ++#if SSE2NEON_INCLUDE_WINDOWS_H ++#include ++#include ++#endif ++ ++#if !defined(__cplusplus) ++#error SSE2NEON only supports C++ compilation with this compiler ++#endif ++ ++#ifdef SSE2NEON_ALLOC_DEFINED ++#include ++#endif ++ ++#if (defined(_M_AMD64) || defined(__x86_64__)) || \ ++ (defined(_M_ARM64) || defined(__arm64__)) ++#define SSE2NEON_HAS_BITSCAN64 ++#endif ++#endif ++ ++#if defined(__GNUC__) || defined(__clang__) ++#define _sse2neon_define0(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define1(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define2(type, a, b, body) \ ++ __extension__({ \ ++ type _a = (a), _b = (b); \ ++ body \ ++ }) ++#define _sse2neon_return(ret) (ret) ++#else ++#define _sse2neon_define0(type, a, body) [=](type _a) { body }(a) ++#define _sse2neon_define1(type, a, body) [](type _a) { body }(a) ++#define _sse2neon_define2(type, a, b, body) \ ++ [](type _a, type _b) { body }((a), (b)) ++#define _sse2neon_return(ret) return ret ++#endif ++ ++#define _sse2neon_init(...) \ ++ { \ ++ __VA_ARGS__ \ ++ } ++ ++/* Compiler barrier */ ++#if defined(_MSC_VER) ++#define SSE2NEON_BARRIER() _ReadWriteBarrier() ++#else ++#define SSE2NEON_BARRIER() \ ++ do { \ ++ __asm__ __volatile__("" ::: "memory"); \ ++ (void) 0; \ ++ } while (0) ++#endif ++ ++/* Memory barriers ++ * __atomic_thread_fence does not include a compiler barrier; instead, ++ * the barrier is part of __atomic_load/__atomic_store's "volatile-like" ++ * semantics. ++ */ ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) ++#include ++#endif ++ ++FORCE_INLINE void _sse2neon_smp_mb(void) ++{ ++ SSE2NEON_BARRIER(); ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \ ++ !defined(__STDC_NO_ATOMICS__) ++ atomic_thread_fence(memory_order_seq_cst); ++#elif defined(__GNUC__) || defined(__clang__) ++ __atomic_thread_fence(__ATOMIC_SEQ_CST); ++#else /* MSVC */ ++ __dmb(_ARM64_BARRIER_ISH); ++#endif ++} ++ ++/* Architecture-specific build options */ ++/* FIXME: #pragma GCC push_options is only available on GCC */ ++#if defined(__GNUC__) ++#if defined(__arm__) && __ARM_ARCH == 7 ++/* According to ARM C Language Extensions Architecture specification, ++ * __ARM_NEON is defined to a value indicating the Advanced SIMD (NEON) ++ * architecture supported. ++ */ ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error "You must enable NEON instructions (e.g. -mfpu=neon) to use SSE2NEON." ++#endif ++#if !defined(__clang__) ++#pragma GCC push_options ++#pragma GCC target("fpu=neon") ++#endif ++#elif defined(__aarch64__) || defined(_M_ARM64) ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#pragma GCC target("+simd") ++#endif ++#elif __ARM_ARCH == 8 ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error \ ++ "You must enable NEON instructions (e.g. -mfpu=neon-fp-armv8) to use SSE2NEON." ++#endif ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#endif ++#else ++#error \ ++ "Unsupported target. Must be either ARMv7-A+NEON or ARMv8-A \ ++(you could try setting target explicitly with -march or -mcpu)" ++#endif ++#endif ++ ++#include ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) && (__ARM_ARCH == 8) ++#if defined __has_include && __has_include() ++#include ++#endif ++#endif ++ ++/* Apple Silicon cache lines are double of what is commonly used by Intel, AMD ++ * and other Arm microarchitectures use. ++ * From sysctl -a on Apple M1: ++ * hw.cachelinesize: 128 ++ */ ++#if defined(__APPLE__) && (defined(__aarch64__) || defined(__arm64__)) ++#define SSE2NEON_CACHELINE_SIZE 128 ++#else ++#define SSE2NEON_CACHELINE_SIZE 64 ++#endif ++ ++/* Rounding functions require either Aarch64 instructions or libm fallback */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#include ++#endif ++ ++/* On ARMv7, some registers, such as PMUSERENR and PMCCNTR, are read-only ++ * or even not accessible in user mode. ++ * To write or access to these registers in user mode, ++ * we have to perform syscall instead. ++ */ ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) ++#include ++#endif ++ ++/* "__has_builtin" can be used to query support for built-in functions ++ * provided by gcc/clang and other compilers that support it. ++ */ ++#ifndef __has_builtin /* GCC prior to 10 or non-clang compilers */ ++/* Compatibility with gcc <= 9 */ ++#if defined(__GNUC__) && (__GNUC__ <= 9) ++#define __has_builtin(x) HAS##x ++#define HAS__builtin_popcount 1 ++#define HAS__builtin_popcountll 1 ++ ++// __builtin_shuffle introduced in GCC 4.7.0 ++#if (__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) ++#define HAS__builtin_shuffle 1 ++#else ++#define HAS__builtin_shuffle 0 ++#endif ++ ++#define HAS__builtin_shufflevector 0 ++#define HAS__builtin_nontemporal_store 0 ++#else ++#define __has_builtin(x) 0 ++#endif ++#endif ++ ++/** ++ * MACRO for shuffle parameter for _mm_shuffle_ps(). ++ * Argument fp3 is a digit[0123] that represents the fp from argument "b" ++ * of mm_shuffle_ps that will be placed in fp3 of result. fp2 is the same ++ * for fp2 in result. fp1 is a digit[0123] that represents the fp from ++ * argument "a" of mm_shuffle_ps that will be places in fp1 of result. ++ * fp0 is the same for fp0 of result. ++ */ ++#define _MM_SHUFFLE(fp3, fp2, fp1, fp0) \ ++ (((fp3) << 6) | ((fp2) << 4) | ((fp1) << 2) | ((fp0))) ++ ++#if __has_builtin(__builtin_shufflevector) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __builtin_shufflevector(a, b, __VA_ARGS__) ++#elif __has_builtin(__builtin_shuffle) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __extension__({ \ ++ type tmp = {__VA_ARGS__}; \ ++ __builtin_shuffle(a, b, tmp); \ ++ }) ++#endif ++ ++#ifdef _sse2neon_shuffle ++#define vshuffle_s16(a, b, ...) _sse2neon_shuffle(int16x4_t, a, b, __VA_ARGS__) ++#define vshuffleq_s16(a, b, ...) _sse2neon_shuffle(int16x8_t, a, b, __VA_ARGS__) ++#define vshuffle_s32(a, b, ...) _sse2neon_shuffle(int32x2_t, a, b, __VA_ARGS__) ++#define vshuffleq_s32(a, b, ...) _sse2neon_shuffle(int32x4_t, a, b, __VA_ARGS__) ++#define vshuffle_s64(a, b, ...) _sse2neon_shuffle(int64x1_t, a, b, __VA_ARGS__) ++#define vshuffleq_s64(a, b, ...) _sse2neon_shuffle(int64x2_t, a, b, __VA_ARGS__) ++#endif ++ ++/* Rounding mode macros. */ ++#define _MM_FROUND_TO_NEAREST_INT 0x00 ++#define _MM_FROUND_TO_NEG_INF 0x01 ++#define _MM_FROUND_TO_POS_INF 0x02 ++#define _MM_FROUND_TO_ZERO 0x03 ++#define _MM_FROUND_CUR_DIRECTION 0x04 ++#define _MM_FROUND_NO_EXC 0x08 ++#define _MM_FROUND_RAISE_EXC 0x00 ++#define _MM_FROUND_NINT (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_FLOOR (_MM_FROUND_TO_NEG_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_CEIL (_MM_FROUND_TO_POS_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_TRUNC (_MM_FROUND_TO_ZERO | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_RINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_NEARBYINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_NO_EXC) ++#define _MM_ROUND_NEAREST 0x0000 ++#define _MM_ROUND_DOWN 0x2000 ++#define _MM_ROUND_UP 0x4000 ++#define _MM_ROUND_TOWARD_ZERO 0x6000 ++/* Flush zero mode macros. */ ++#define _MM_FLUSH_ZERO_MASK 0x8000 ++#define _MM_FLUSH_ZERO_ON 0x8000 ++#define _MM_FLUSH_ZERO_OFF 0x0000 ++/* Denormals are zeros mode macros. */ ++#define _MM_DENORMALS_ZERO_MASK 0x0040 ++#define _MM_DENORMALS_ZERO_ON 0x0040 ++#define _MM_DENORMALS_ZERO_OFF 0x0000 ++ ++/* indicate immediate constant argument in a given range */ ++#define __constrange(a, b) const ++ ++/* A few intrinsics accept traditional data types like ints or floats, but ++ * most operate on data types that are specific to SSE. ++ * If a vector type ends in d, it contains doubles, and if it does not have ++ * a suffix, it contains floats. An integer vector type can contain any type ++ * of integer, from chars to shorts to unsigned long longs. ++ */ ++typedef int64x1_t __m64; ++typedef float32x4_t __m128; /* 128-bit vector containing 4 floats */ ++// On ARM 32-bit architecture, the float64x2_t is not supported. ++// The data type __m128d should be represented in a different way for related ++// intrinsic conversion. ++#if defined(__aarch64__) || defined(_M_ARM64) ++typedef float64x2_t __m128d; /* 128-bit vector containing 2 doubles */ ++#else ++typedef float32x4_t __m128d; ++#endif ++typedef int64x2_t __m128i; /* 128-bit vector containing integers */ ++ ++// __int64 is defined in the Intrinsics Guide which maps to different datatype ++// in different data model ++#if !(defined(_WIN32) || defined(_WIN64) || defined(__int64)) ++#if (defined(__x86_64__) || defined(__i386__)) ++#define __int64 long long ++#else ++#define __int64 int64_t ++#endif ++#endif ++ ++/* type-safe casting between types */ ++ ++#define vreinterpretq_m128_f16(x) vreinterpretq_f32_f16(x) ++#define vreinterpretq_m128_f32(x) (x) ++#define vreinterpretq_m128_f64(x) vreinterpretq_f32_f64(x) ++ ++#define vreinterpretq_m128_u8(x) vreinterpretq_f32_u8(x) ++#define vreinterpretq_m128_u16(x) vreinterpretq_f32_u16(x) ++#define vreinterpretq_m128_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128_s8(x) vreinterpretq_f32_s8(x) ++#define vreinterpretq_m128_s16(x) vreinterpretq_f32_s16(x) ++#define vreinterpretq_m128_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_f16_m128(x) vreinterpretq_f16_f32(x) ++#define vreinterpretq_f32_m128(x) (x) ++#define vreinterpretq_f64_m128(x) vreinterpretq_f64_f32(x) ++ ++#define vreinterpretq_u8_m128(x) vreinterpretq_u8_f32(x) ++#define vreinterpretq_u16_m128(x) vreinterpretq_u16_f32(x) ++#define vreinterpretq_u32_m128(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_s8_m128(x) vreinterpretq_s8_f32(x) ++#define vreinterpretq_s16_m128(x) vreinterpretq_s16_f32(x) ++#define vreinterpretq_s32_m128(x) vreinterpretq_s32_f32(x) ++#define vreinterpretq_s64_m128(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_m128i_s8(x) vreinterpretq_s64_s8(x) ++#define vreinterpretq_m128i_s16(x) vreinterpretq_s64_s16(x) ++#define vreinterpretq_m128i_s32(x) vreinterpretq_s64_s32(x) ++#define vreinterpretq_m128i_s64(x) (x) ++ ++#define vreinterpretq_m128i_u8(x) vreinterpretq_s64_u8(x) ++#define vreinterpretq_m128i_u16(x) vreinterpretq_s64_u16(x) ++#define vreinterpretq_m128i_u32(x) vreinterpretq_s64_u32(x) ++#define vreinterpretq_m128i_u64(x) vreinterpretq_s64_u64(x) ++ ++#define vreinterpretq_f32_m128i(x) vreinterpretq_f32_s64(x) ++#define vreinterpretq_f64_m128i(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_s8_m128i(x) vreinterpretq_s8_s64(x) ++#define vreinterpretq_s16_m128i(x) vreinterpretq_s16_s64(x) ++#define vreinterpretq_s32_m128i(x) vreinterpretq_s32_s64(x) ++#define vreinterpretq_s64_m128i(x) (x) ++ ++#define vreinterpretq_u8_m128i(x) vreinterpretq_u8_s64(x) ++#define vreinterpretq_u16_m128i(x) vreinterpretq_u16_s64(x) ++#define vreinterpretq_u32_m128i(x) vreinterpretq_u32_s64(x) ++#define vreinterpretq_u64_m128i(x) vreinterpretq_u64_s64(x) ++ ++#define vreinterpret_m64_s8(x) vreinterpret_s64_s8(x) ++#define vreinterpret_m64_s16(x) vreinterpret_s64_s16(x) ++#define vreinterpret_m64_s32(x) vreinterpret_s64_s32(x) ++#define vreinterpret_m64_s64(x) (x) ++ ++#define vreinterpret_m64_u8(x) vreinterpret_s64_u8(x) ++#define vreinterpret_m64_u16(x) vreinterpret_s64_u16(x) ++#define vreinterpret_m64_u32(x) vreinterpret_s64_u32(x) ++#define vreinterpret_m64_u64(x) vreinterpret_s64_u64(x) ++ ++#define vreinterpret_m64_f16(x) vreinterpret_s64_f16(x) ++#define vreinterpret_m64_f32(x) vreinterpret_s64_f32(x) ++#define vreinterpret_m64_f64(x) vreinterpret_s64_f64(x) ++ ++#define vreinterpret_u8_m64(x) vreinterpret_u8_s64(x) ++#define vreinterpret_u16_m64(x) vreinterpret_u16_s64(x) ++#define vreinterpret_u32_m64(x) vreinterpret_u32_s64(x) ++#define vreinterpret_u64_m64(x) vreinterpret_u64_s64(x) ++ ++#define vreinterpret_s8_m64(x) vreinterpret_s8_s64(x) ++#define vreinterpret_s16_m64(x) vreinterpret_s16_s64(x) ++#define vreinterpret_s32_m64(x) vreinterpret_s32_s64(x) ++#define vreinterpret_s64_m64(x) (x) ++ ++#define vreinterpret_f32_m64(x) vreinterpret_f32_s64(x) ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f64_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f64_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) vreinterpretq_f64_f32(x) ++#define vreinterpretq_m128d_f64(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f64(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f64(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f64(x) ++ ++#define vreinterpretq_f64_m128d(x) (x) ++#define vreinterpretq_f32_m128d(x) vreinterpretq_f32_f64(x) ++#else ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_m128d_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_f32_m128d(x) (x) ++#endif ++ ++// A struct is defined in this header file called 'SIMDVec' which can be used ++// by applications which attempt to access the contents of an __m128 struct ++// directly. It is important to note that accessing the __m128 struct directly ++// is bad coding practice by Microsoft: @see: ++// https://learn.microsoft.com/en-us/cpp/cpp/m128 ++// ++// However, some legacy source code may try to access the contents of an __m128 ++// struct directly so the developer can use the SIMDVec as an alias for it. Any ++// casting must be done manually by the developer, as you cannot cast or ++// otherwise alias the base NEON data type for intrinsic operations. ++// ++// union intended to allow direct access to an __m128 variable using the names ++// that the MSVC compiler provides. This union should really only be used when ++// trying to access the members of the vector as integer values. GCC/clang ++// allow native access to the float members through a simple array access ++// operator (in C since 4.6, in C++ since 4.8). ++// ++// Ideally direct accesses to SIMD vectors should not be used since it can cause ++// a performance hit. If it really is needed however, the original __m128 ++// variable can be aliased with a pointer to this union and used to access ++// individual components. The use of this union should be hidden behind a macro ++// that is used throughout the codebase to access the members instead of always ++// declaring this type of variable. ++typedef union ALIGN_STRUCT(16) SIMDVec { ++ float m128_f32[4]; // as floats - DON'T USE. Added for convenience. ++ int8_t m128_i8[16]; // as signed 8-bit integers. ++ int16_t m128_i16[8]; // as signed 16-bit integers. ++ int32_t m128_i32[4]; // as signed 32-bit integers. ++ int64_t m128_i64[2]; // as signed 64-bit integers. ++ uint8_t m128_u8[16]; // as unsigned 8-bit integers. ++ uint16_t m128_u16[8]; // as unsigned 16-bit integers. ++ uint32_t m128_u32[4]; // as unsigned 32-bit integers. ++ uint64_t m128_u64[2]; // as unsigned 64-bit integers. ++} SIMDVec; ++ ++// casting using SIMDVec ++#define vreinterpretq_nth_u64_m128i(x, n) (((SIMDVec *) &x)->m128_u64[n]) ++#define vreinterpretq_nth_u32_m128i(x, n) (((SIMDVec *) &x)->m128_u32[n]) ++#define vreinterpretq_nth_u8_m128i(x, n) (((SIMDVec *) &x)->m128_u8[n]) ++ ++/* SSE macros */ ++#define _MM_GET_FLUSH_ZERO_MODE _sse2neon_mm_get_flush_zero_mode ++#define _MM_SET_FLUSH_ZERO_MODE _sse2neon_mm_set_flush_zero_mode ++#define _MM_GET_DENORMALS_ZERO_MODE _sse2neon_mm_get_denormals_zero_mode ++#define _MM_SET_DENORMALS_ZERO_MODE _sse2neon_mm_set_denormals_zero_mode ++ ++// Function declaration ++// SSE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void); ++FORCE_INLINE __m128 _mm_move_ss(__m128, __m128); ++FORCE_INLINE __m128 _mm_or_ps(__m128, __m128); ++FORCE_INLINE __m128 _mm_set_ps1(float); ++FORCE_INLINE __m128 _mm_setzero_ps(void); ++// SSE2 ++FORCE_INLINE __m128i _mm_and_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_castps_si128(__m128); ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128); ++FORCE_INLINE __m128d _mm_move_sd(__m128d, __m128d); ++FORCE_INLINE __m128i _mm_or_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_set_epi32(int, int, int, int); ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t, int64_t); ++FORCE_INLINE __m128d _mm_set_pd(double, double); ++FORCE_INLINE __m128i _mm_set1_epi32(int); ++FORCE_INLINE __m128i _mm_setzero_si128(void); ++// SSE4.1 ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d); ++FORCE_INLINE __m128 _mm_ceil_ps(__m128); ++FORCE_INLINE __m128d _mm_floor_pd(__m128d); ++FORCE_INLINE __m128 _mm_floor_ps(__m128); ++FORCE_INLINE __m128d _mm_round_pd(__m128d, int); ++FORCE_INLINE __m128 _mm_round_ps(__m128, int); ++// SSE4.2 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t, uint8_t); ++ ++/* Backwards compatibility for compilers with lack of specific type support */ ++ ++// Older gcc does not define vld1q_u8_x4 type ++#if defined(__GNUC__) && !defined(__clang__) && \ ++ ((__GNUC__ <= 13 && defined(__arm__)) || \ ++ (__GNUC__ == 10 && __GNUC_MINOR__ < 3 && defined(__aarch64__)) || \ ++ (__GNUC__ <= 9 && defined(__aarch64__))) ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ uint8x16x4_t ret; ++ ret.val[0] = vld1q_u8(p + 0); ++ ret.val[1] = vld1q_u8(p + 16); ++ ret.val[2] = vld1q_u8(p + 32); ++ ret.val[3] = vld1q_u8(p + 48); ++ return ret; ++} ++#else ++// Wraps vld1q_u8_x4 ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ return vld1q_u8_x4(p); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddv u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ const uint64x1_t v1 = vpaddl_u32(vpaddl_u16(vpaddl_u8(v8))); ++ return vget_lane_u8(vreinterpret_u8_u64(v1), 0); ++} ++#else ++// Wraps vaddv_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ return vaddv_u8(v8); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ uint8x8_t tmp = vpadd_u8(vget_low_u8(a), vget_high_u8(a)); ++ uint8_t res = 0; ++ for (int i = 0; i < 8; ++i) ++ res += tmp[i]; ++ return res; ++} ++#else ++// Wraps vaddvq_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ return vaddvq_u8(a); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u16 variant */ ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ uint32x4_t m = vpaddlq_u16(a); ++ uint64x2_t n = vpaddlq_u32(m); ++ uint64x1_t o = vget_low_u64(n) + vget_high_u64(n); ++ ++ return vget_lane_u32((uint32x2_t) o, 0); ++} ++#else ++// Wraps vaddvq_u16 ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ return vaddvq_u16(a); ++} ++#endif ++ ++/* Function Naming Conventions ++ * The naming convention of SSE intrinsics is straightforward. A generic SSE ++ * intrinsic function is given as follows: ++ * _mm__ ++ * ++ * The parts of this format are given as follows: ++ * 1. describes the operation performed by the intrinsic ++ * 2. identifies the data type of the function's primary arguments ++ * ++ * This last part, , is a little complicated. It identifies the ++ * content of the input values, and can be set to any of the following values: ++ * + ps - vectors contain floats (ps stands for packed single-precision) ++ * + pd - vectors contain doubles (pd stands for packed double-precision) ++ * + epi8/epi16/epi32/epi64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * signed integers ++ * + epu8/epu16/epu32/epu64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * unsigned integers ++ * + si128 - unspecified 128-bit vector or 256-bit vector ++ * + m128/m128i/m128d - identifies input vector types when they are different ++ * than the type of the returned vector ++ * ++ * For example, _mm_setzero_ps. The _mm implies that the function returns ++ * a 128-bit vector. The _ps at the end implies that the argument vectors ++ * contain floats. ++ * ++ * A complete example: Byte Shuffle - pshufb (_mm_shuffle_epi8) ++ * // Set packed 16-bit integers. 128 bits, 8 short, per 16 bits ++ * __m128i v_in = _mm_setr_epi16(1, 2, 3, 4, 5, 6, 7, 8); ++ * // Set packed 8-bit integers ++ * // 128 bits, 16 chars, per 8 bits ++ * __m128i v_perm = _mm_setr_epi8(1, 0, 2, 3, 8, 9, 10, 11, ++ * 4, 5, 12, 13, 6, 7, 14, 15); ++ * // Shuffle packed 8-bit integers ++ * __m128i v_out = _mm_shuffle_epi8(v_in, v_perm); // pshufb ++ */ ++ ++/* Constants for use with _mm_prefetch. */ ++enum _mm_hint { ++ _MM_HINT_NTA = 0, /* load data to L1 and L2 cache, mark it as NTA */ ++ _MM_HINT_T0 = 1, /* load data to L1 and L2 cache */ ++ _MM_HINT_T1 = 2, /* load data to L2 cache only */ ++ _MM_HINT_T2 = 3, /* load data to L2 cache only, mark it as NTA */ ++}; ++ ++// The bit field mapping to the FPCR(floating-point control register) ++typedef struct { ++ uint16_t res0; ++ uint8_t res1 : 6; ++ uint8_t bit22 : 1; ++ uint8_t bit23 : 1; ++ uint8_t bit24 : 1; ++ uint8_t res2 : 7; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32_t res3; ++#endif ++} fpcr_bitfield; ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of b and places it into the high end of the result. ++FORCE_INLINE __m128 _mm_shuffle_ps_1032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in high ++// end of result takes the higher two 32 bit values from b and swaps them and ++// places in low end of result. ++FORCE_INLINE __m128 _mm_shuffle_ps_2301(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b23 = vrev64_f32(vget_high_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b23)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0321(__m128 a, __m128 b) ++{ ++ float32x2_t a21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a21, b03)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2103(__m128 a, __m128 b) ++{ ++ float32x2_t a03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a03, b21)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0101(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b01)); ++} ++ ++// keeps the low 64 bits of b in the low and puts the high 64 bits of a in the ++// high ++FORCE_INLINE __m128 _mm_shuffle_ps_3210(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0011(__m128 a, __m128 b) ++{ ++ float32x2_t a11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a11, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0022(__m128 a, __m128 b) ++{ ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a22, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2200(__m128 a, __m128 b) ++{ ++ float32x2_t a00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a00, b22)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_3202(__m128 a, __m128 b) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t a02 = vset_lane_f32(a0, a22, 1); /* TODO: use vzip ?*/ ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a02, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1133(__m128 a, __m128 b) ++{ ++ float32x2_t a33 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a33, b11)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b20)); ++} ++ ++// For MSVC, we check only if it is ARM64, as every single ARM64 processor ++// supported by WoA has crypto extensions. If this changes in the future, ++// this can be verified via the runtime-only method of: ++// IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE) ++#if (defined(_M_ARM64) && !defined(__clang__)) || \ ++ (defined(__ARM_FEATURE_CRYPTO) && \ ++ (defined(__aarch64__) || __has_builtin(__builtin_arm_crypto_vmullp64))) ++// Wraps vmull_p64 ++FORCE_INLINE uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly64_t a = vget_lane_p64(vreinterpret_p64_u64(_a), 0); ++ poly64_t b = vget_lane_p64(vreinterpret_p64_u64(_b), 0); ++#if defined(_MSC_VER) ++ __n64 a1 = {a}, b1 = {b}; ++ return vreinterpretq_u64_p128(vmull_p64(a1, b1)); ++#else ++ return vreinterpretq_u64_p128(vmull_p64(a, b)); ++#endif ++} ++#else // ARMv7 polyfill ++// ARMv7/some A64 lacks vmull_p64, but it has vmull_p8. ++// ++// vmull_p8 calculates 8 8-bit->16-bit polynomial multiplies, but we need a ++// 64-bit->128-bit polynomial multiply. ++// ++// It needs some work and is somewhat slow, but it is still faster than all ++// known scalar methods. ++// ++// Algorithm adapted to C from ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/, which is adapted ++// from "Fast Software Polynomial Multiplication on ARM Processors Using the ++// NEON Engine" by Danilo Camara, Conrado Gouvea, Julio Lopez and Ricardo Dahab ++// (https://hal.inria.fr/hal-01506572) ++static uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly8x8_t a = vreinterpret_p8_u64(_a); ++ poly8x8_t b = vreinterpret_p8_u64(_b); ++ ++ // Masks ++ uint8x16_t k48_32 = vcombine_u8(vcreate_u8(0x0000ffffffffffff), ++ vcreate_u8(0x00000000ffffffff)); ++ uint8x16_t k16_00 = vcombine_u8(vcreate_u8(0x000000000000ffff), ++ vcreate_u8(0x0000000000000000)); ++ ++ // Do the multiplies, rotating with vext to get all combinations ++ uint8x16_t d = vreinterpretq_u8_p16(vmull_p8(a, b)); // D = A0 * B0 ++ uint8x16_t e = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 1))); // E = A0 * B1 ++ uint8x16_t f = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 1), b)); // F = A1 * B0 ++ uint8x16_t g = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 2))); // G = A0 * B2 ++ uint8x16_t h = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 2), b)); // H = A2 * B0 ++ uint8x16_t i = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 3))); // I = A0 * B3 ++ uint8x16_t j = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 3), b)); // J = A3 * B0 ++ uint8x16_t k = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 4))); // L = A0 * B4 ++ ++ // Add cross products ++ uint8x16_t l = veorq_u8(e, f); // L = E + F ++ uint8x16_t m = veorq_u8(g, h); // M = G + H ++ uint8x16_t n = veorq_u8(i, j); // N = I + J ++ ++ // Interleave. Using vzip1 and vzip2 prevents Clang from emitting TBL ++ // instructions. ++#if defined(__aarch64__) ++ uint8x16_t lm_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t lm_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t nk_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++ uint8x16_t nk_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++#else ++ uint8x16_t lm_p0 = vcombine_u8(vget_low_u8(l), vget_low_u8(m)); ++ uint8x16_t lm_p1 = vcombine_u8(vget_high_u8(l), vget_high_u8(m)); ++ uint8x16_t nk_p0 = vcombine_u8(vget_low_u8(n), vget_low_u8(k)); ++ uint8x16_t nk_p1 = vcombine_u8(vget_high_u8(n), vget_high_u8(k)); ++#endif ++ // t0 = (L) (P0 + P1) << 8 ++ // t1 = (M) (P2 + P3) << 16 ++ uint8x16_t t0t1_tmp = veorq_u8(lm_p0, lm_p1); ++ uint8x16_t t0t1_h = vandq_u8(lm_p1, k48_32); ++ uint8x16_t t0t1_l = veorq_u8(t0t1_tmp, t0t1_h); ++ ++ // t2 = (N) (P4 + P5) << 24 ++ // t3 = (K) (P6 + P7) << 32 ++ uint8x16_t t2t3_tmp = veorq_u8(nk_p0, nk_p1); ++ uint8x16_t t2t3_h = vandq_u8(nk_p1, k16_00); ++ uint8x16_t t2t3_l = veorq_u8(t2t3_tmp, t2t3_h); ++ ++ // De-interleave ++#if defined(__aarch64__) ++ uint8x16_t t0 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t1 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t2 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++ uint8x16_t t3 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++#else ++ uint8x16_t t1 = vcombine_u8(vget_high_u8(t0t1_l), vget_high_u8(t0t1_h)); ++ uint8x16_t t0 = vcombine_u8(vget_low_u8(t0t1_l), vget_low_u8(t0t1_h)); ++ uint8x16_t t3 = vcombine_u8(vget_high_u8(t2t3_l), vget_high_u8(t2t3_h)); ++ uint8x16_t t2 = vcombine_u8(vget_low_u8(t2t3_l), vget_low_u8(t2t3_h)); ++#endif ++ // Shift the cross products ++ uint8x16_t t0_shift = vextq_u8(t0, t0, 15); // t0 << 8 ++ uint8x16_t t1_shift = vextq_u8(t1, t1, 14); // t1 << 16 ++ uint8x16_t t2_shift = vextq_u8(t2, t2, 13); // t2 << 24 ++ uint8x16_t t3_shift = vextq_u8(t3, t3, 12); // t3 << 32 ++ ++ // Accumulate the products ++ uint8x16_t cross1 = veorq_u8(t0_shift, t1_shift); ++ uint8x16_t cross2 = veorq_u8(t2_shift, t3_shift); ++ uint8x16_t mix = veorq_u8(d, cross1); ++ uint8x16_t r = veorq_u8(mix, cross2); ++ return vreinterpretq_u64_u8(r); ++} ++#endif // ARMv7 polyfill ++ ++// C equivalent: ++// __m128i _mm_shuffle_epi32_default(__m128i a, ++// __constrange(0, 255) int imm) { ++// __m128i ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = a[(imm >> 4) & 0x03]; ret[3] = a[(imm >> 6) & 0x03]; ++// return ret; ++// } ++#define _mm_shuffle_epi32_default(a, imm) \ ++ vreinterpretq_m128i_s32(vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), \ ++ ((imm) >> 2) & 0x3), \ ++ vmovq_n_s32(vgetq_lane_s32( \ ++ vreinterpretq_s32_m128i(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of a and places it into the high end of the result. ++FORCE_INLINE __m128i _mm_shuffle_epi_1032(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in low end ++// of result takes the higher two 32 bit values from a and swaps them and places ++// in high end of result. ++FORCE_INLINE __m128i _mm_shuffle_epi_2301(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a23 = vrev64_s32(vget_high_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a23)); ++} ++ ++// rotates the least significant 32 bits into the most significant 32 bits, and ++// shifts the rest down ++FORCE_INLINE __m128i _mm_shuffle_epi_0321(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 1)); ++} ++ ++// rotates the most significant 32 bits into the least significant 32 bits, and ++// shifts the rest up ++FORCE_INLINE __m128i _mm_shuffle_epi_2103(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 3)); ++} ++ ++// gets the lower 64 bits of a, and places it in the upper 64 bits ++// gets the lower 64 bits of a and places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1010(__m128i a) ++{ ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a10, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements, and places it in the ++// lower 64 bits gets the lower 64 bits of a, and places it in the upper 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1001(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements and places it in the ++// upper 64 bits gets the lower 64 bits of a, swaps the 0 and 1 elements, and ++// places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_0101(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_2211(__m128i a) ++{ ++ int32x2_t a11 = vdup_lane_s32(vget_low_s32(vreinterpretq_s32_m128i(a)), 1); ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ return vreinterpretq_m128i_s32(vcombine_s32(a11, a22)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_0122(__m128i a) ++{ ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a22, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_3332(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a33 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 1); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a33)); ++} ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32(vdupq_laneq_s32(vreinterpretq_s32_m128i(a), (imm))) ++#else ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vdupq_n_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)))) ++#endif ++ ++// NEON does not support a general purpose permute intrinsic. ++// Shuffle single-precision (32-bit) floating-point elements in a using the ++// control in imm8, and store the results in dst. ++// ++// C equivalent: ++// __m128 _mm_shuffle_ps_default(__m128 a, __m128 b, ++// __constrange(0, 255) int imm) { ++// __m128 ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = b[(imm >> 4) & 0x03]; ret[3] = b[(imm >> 6) & 0x03]; ++// return ret; ++// } ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_ps ++#define _mm_shuffle_ps_default(a, b, imm) \ ++ vreinterpretq_m128_f32(vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), ((imm) >> 2) & 0x3), \ ++ vmovq_n_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Shuffle 16-bit integers in the low 64 bits of a using the control in imm8. ++// Store the results in the low 64 bits of dst, with the high 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflelo_epi16 ++#define _mm_shufflelo_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t lowBits = vget_low_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, (imm) & (0x3)), ret, 0); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++// Shuffle 16-bit integers in the high 64 bits of a using the control in imm8. ++// Store the results in the high 64 bits of dst, with the low 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflehi_epi16 ++#define _mm_shufflehi_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t highBits = vget_high_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, (imm) & (0x3)), ret, 4); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 2) & 0x3), ret, \ ++ 5); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 4) & 0x3), ret, \ ++ 6); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 6) & 0x3), ret, \ ++ 7); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++/* MMX */ ++ ++//_mm_empty is a no-op on arm ++FORCE_INLINE void _mm_empty(void) {} ++ ++/* SSE */ ++ ++// Add packed single-precision (32-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ps ++FORCE_INLINE __m128 _mm_add_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Add the lower single-precision (32-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ss ++FORCE_INLINE __m128 _mm_add_ss(__m128 a, __m128 b) ++{ ++ float32_t b0 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++ float32x4_t value = vsetq_lane_f32(b0, vdupq_n_f32(0), 0); ++ // the upper values in the result must be the remnants of . ++ return vreinterpretq_m128_f32(vaddq_f32(a, value)); ++} ++ ++// Compute the bitwise AND of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_ps ++FORCE_INLINE __m128 _mm_and_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vandq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Compute the bitwise NOT of packed single-precision (32-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_ps ++FORCE_INLINE __m128 _mm_andnot_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vbicq_s32(vreinterpretq_s32_m128(b), ++ vreinterpretq_s32_m128(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu16 ++FORCE_INLINE __m64 _mm_avg_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16( ++ vrhadd_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu8 ++FORCE_INLINE __m64 _mm_avg_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vrhadd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ps ++FORCE_INLINE __m128 _mm_cmpeq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ss ++FORCE_INLINE __m128 _mm_cmpeq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpeq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ps ++FORCE_INLINE __m128 _mm_cmpge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ss ++FORCE_INLINE __m128 _mm_cmpge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ps ++FORCE_INLINE __m128 _mm_cmpgt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ss ++FORCE_INLINE __m128 _mm_cmpgt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpgt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ps ++FORCE_INLINE __m128 _mm_cmple_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ss ++FORCE_INLINE __m128 _mm_cmple_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmple_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ps ++FORCE_INLINE __m128 _mm_cmplt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ss ++FORCE_INLINE __m128 _mm_cmplt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmplt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ps ++FORCE_INLINE __m128 _mm_cmpneq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ss ++FORCE_INLINE __m128 _mm_cmpneq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpneq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ps ++FORCE_INLINE __m128 _mm_cmpnge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ss ++FORCE_INLINE __m128 _mm_cmpnge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ps ++FORCE_INLINE __m128 _mm_cmpngt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ss ++FORCE_INLINE __m128 _mm_cmpngt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpngt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ps ++FORCE_INLINE __m128 _mm_cmpnle_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ss ++FORCE_INLINE __m128 _mm_cmpnle_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnle_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ps ++FORCE_INLINE __m128 _mm_cmpnlt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ss ++FORCE_INLINE __m128 _mm_cmpnlt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnlt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ps ++// ++// See also: ++// http://stackoverflow.com/questions/8627331/what-does-ordered-unordered-comparison-mean ++// http://stackoverflow.com/questions/29349621/neon-isnanval-intrinsics ++FORCE_INLINE __m128 _mm_cmpord_ps(__m128 a, __m128 b) ++{ ++ // Note: NEON does not have ordered compare builtin ++ // Need to compare a eq a and b eq b to check for NaN ++ // Do AND of results to get final ++ uint32x4_t ceqaa = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t ceqbb = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vandq_u32(ceqaa, ceqbb)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ss ++FORCE_INLINE __m128 _mm_cmpord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpord_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ps ++FORCE_INLINE __m128 _mm_cmpunord_ps(__m128 a, __m128 b) ++{ ++ uint32x4_t f32a = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t f32b = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vmvnq_u32(vandq_u32(f32a, f32b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ss ++FORCE_INLINE __m128 _mm_cmpunord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpunord_ps(a, b)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_ss ++FORCE_INLINE int _mm_comieq_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_eq_b = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_eq_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_ss ++FORCE_INLINE int _mm_comige_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_ge_b = ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_ge_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_ss ++FORCE_INLINE int _mm_comigt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_gt_b = ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_gt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_ss ++FORCE_INLINE int _mm_comile_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_le_b = ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_le_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_ss ++FORCE_INLINE int _mm_comilt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_lt_b = ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_lt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_ss ++FORCE_INLINE int _mm_comineq_ss(__m128 a, __m128 b) ++{ ++ return !_mm_comieq_ss(a, b); ++} ++ ++// Convert packed signed 32-bit integers in b to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, and copy the upper 2 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_pi2ps ++FORCE_INLINE __m128 _mm_cvt_pi2ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ps2pi ++FORCE_INLINE __m64 _mm_cvt_ps2pi(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))))); ++#else ++ return vreinterpret_m64_s32(vcvt_s32_f32(vget_low_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION))))); ++#endif ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_si2ss ++FORCE_INLINE __m128 _mm_cvt_si2ss(__m128 a, int b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ss2si ++FORCE_INLINE int _mm_cvt_ss2si(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vgetq_lane_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))), ++ 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int32_t) data; ++#endif ++} ++ ++// Convert packed 16-bit integers in a to packed single-precision (32-bit) ++// floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi16_ps ++FORCE_INLINE __m128 _mm_cvtpi16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vmovl_s16(vreinterpret_s16_m64(a)))); ++} ++ ++// Convert packed 32-bit integers in b to packed single-precision (32-bit) ++// floating-point elements, store the results in the lower 2 elements of dst, ++// and copy the upper 2 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_ps ++FORCE_INLINE __m128 _mm_cvtpi32_ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, then convert the packed signed 32-bit integers in b to ++// single-precision (32-bit) floating-point element, and store the results in ++// the upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32x2_ps ++FORCE_INLINE __m128 _mm_cvtpi32x2_ps(__m64 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vcombine_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b)))); ++} ++ ++// Convert the lower packed 8-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi8_ps ++FORCE_INLINE __m128 _mm_cvtpi8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vmovl_s16(vget_low_s16(vmovl_s8(vreinterpret_s8_m64(a)))))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 16-bit integers, and store the results in dst. Note: this intrinsic ++// will generate 0x7FFF, rather than 0x8000, for input values between 0x7FFF and ++// 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi16 ++FORCE_INLINE __m64 _mm_cvtps_pi16(__m128 a) ++{ ++ return vreinterpret_m64_s16( ++ vqmovn_s32(vreinterpretq_s32_m128i(_mm_cvtps_epi32(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi32 ++#define _mm_cvtps_pi32(a) _mm_cvt_ps2pi(a) ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 8-bit integers, and store the results in lower 4 elements of dst. ++// Note: this intrinsic will generate 0x7F, rather than 0x80, for input values ++// between 0x7F and 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi8 ++FORCE_INLINE __m64 _mm_cvtps_pi8(__m128 a) ++{ ++ return vreinterpret_m64_s8(vqmovn_s16( ++ vcombine_s16(vreinterpret_s16_m64(_mm_cvtps_pi16(a)), vdup_n_s16(0)))); ++} ++ ++// Convert packed unsigned 16-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu16_ps ++FORCE_INLINE __m128 _mm_cvtpu16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_u32(vmovl_u16(vreinterpret_u16_m64(a)))); ++} ++ ++// Convert the lower packed unsigned 8-bit integers in a to packed ++// single-precision (32-bit) floating-point elements, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu8_ps ++FORCE_INLINE __m128 _mm_cvtpu8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_u32( ++ vmovl_u16(vget_low_u16(vmovl_u8(vreinterpret_u8_m64(a)))))); ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_ss ++#define _mm_cvtsi32_ss(a, b) _mm_cvt_si2ss(a, b) ++ ++// Convert the signed 64-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_ss ++FORCE_INLINE __m128 _mm_cvtsi64_ss(__m128 a, int64_t b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Copy the lower single-precision (32-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_f32 ++FORCE_INLINE float _mm_cvtss_f32(__m128 a) ++{ ++ return vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si32 ++#define _mm_cvtss_si32(a) _mm_cvt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si64 ++FORCE_INLINE int64_t _mm_cvtss_si64(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return (int64_t) vgetq_lane_f32(vrndiq_f32(vreinterpretq_f32_m128(a)), 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int64_t) data; ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ps2pi ++FORCE_INLINE __m64 _mm_cvtt_ps2pi(__m128 a) ++{ ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ss2si ++FORCE_INLINE int _mm_cvtt_ss2si(__m128 a) ++{ ++ return vgetq_lane_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)), 0); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_pi32 ++#define _mm_cvttps_pi32(a) _mm_cvtt_ps2pi(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si32 ++#define _mm_cvttss_si32(a) _mm_cvtt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si64 ++FORCE_INLINE int64_t _mm_cvttss_si64(__m128 a) ++{ ++ return (int64_t) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Divide packed single-precision (32-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise division intrinsic, we implement ++// division by multiplying a by b's reciprocal before using the Newton-Raphson ++// method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ps ++FORCE_INLINE __m128 _mm_div_ps(__m128 a, __m128 b) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) && !SSE2NEON_PRECISE_DIV ++ return vreinterpretq_m128_f32( ++ vdivq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(b)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(a), recip)); ++#endif ++} ++ ++// Divide the lower single-precision (32-bit) floating-point element in a by the ++// lower single-precision (32-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper 3 packed elements from a to ++// the upper elements of dst. ++// Warning: ARMv7-A does not produce the same result compared to Intel and not ++// IEEE-compliant. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ss ++FORCE_INLINE __m128 _mm_div_ss(__m128 a, __m128 b) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_div_ps(a, b)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_pi16 ++#define _mm_extract_pi16(a, imm) \ ++ (int32_t) vget_lane_u16(vreinterpret_u16_m64(a), (imm)) ++ ++// Free aligned memory that was allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_free ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void _mm_free(void *addr) ++{ ++ free(addr); ++} ++#endif ++ ++FORCE_INLINE uint64_t _sse2neon_get_fpcr(void) ++{ ++ uint64_t value; ++#if defined(_MSC_VER) ++ value = _ReadStatusReg(ARM64_FPCR); ++#else ++ __asm__ __volatile__("mrs %0, FPCR" : "=r"(value)); /* read */ ++#endif ++ return value; ++} ++ ++FORCE_INLINE void _sse2neon_set_fpcr(uint64_t value) ++{ ++#if defined(_MSC_VER) ++ _WriteStatusReg(ARM64_FPCR, value); ++#else ++ __asm__ __volatile__("msr FPCR, %0" ::"r"(value)); /* write */ ++#endif ++} ++ ++// Macro: Get the flush zero bits from the MXCSR control and status register. ++// The flush zero may contain any of the following flags: _MM_FLUSH_ZERO_ON or ++// _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_FLUSH_ZERO_MODE ++FORCE_INLINE unsigned int _sse2neon_mm_get_flush_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_FLUSH_ZERO_ON : _MM_FLUSH_ZERO_OFF; ++} ++ ++// Macro: Get the rounding mode bits from the MXCSR control and status register. ++// The rounding mode may contain any of the following flags: _MM_ROUND_NEAREST, ++// _MM_ROUND_DOWN, _MM_ROUND_UP, _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_ROUNDING_MODE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ if (r.field.bit22) { ++ return r.field.bit23 ? _MM_ROUND_TOWARD_ZERO : _MM_ROUND_UP; ++ } else { ++ return r.field.bit23 ? _MM_ROUND_DOWN : _MM_ROUND_NEAREST; ++ } ++} ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_pi16 ++#define _mm_insert_pi16(a, b, imm) \ ++ vreinterpret_m64_s16(vset_lane_s16((b), vreinterpret_s16_m64(a), (imm))) ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps ++FORCE_INLINE __m128 _mm_load_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// ++// dst[31:0] := MEM[mem_addr+31:mem_addr] ++// dst[63:32] := MEM[mem_addr+31:mem_addr] ++// dst[95:64] := MEM[mem_addr+31:mem_addr] ++// dst[127:96] := MEM[mem_addr+31:mem_addr] ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps1 ++#define _mm_load_ps1 _mm_load1_ps ++ ++// Load a single-precision (32-bit) floating-point element from memory into the ++// lower of dst, and zero the upper 3 elements. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ss ++FORCE_INLINE __m128 _mm_load_ss(const float *p) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(*p, vdupq_n_f32(0), 0)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_ps ++FORCE_INLINE __m128 _mm_load1_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_dup_f32(p)); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// upper 2 elements of dst, and copy the lower 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pi ++FORCE_INLINE __m128 _mm_loadh_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vget_low_f32(a), vld1_f32((const float32_t *) p))); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// lower 2 elements of dst, and copy the upper 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pi ++FORCE_INLINE __m128 _mm_loadl_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vld1_f32((const float32_t *) p), vget_high_f32(a))); ++} ++ ++// Load 4 single-precision (32-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_ps ++FORCE_INLINE __m128 _mm_loadr_ps(const float *p) ++{ ++ float32x4_t v = vrev64q_f32(vld1q_f32(p)); ++ return vreinterpretq_m128_f32(vextq_f32(v, v, 2)); ++} ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_ps ++FORCE_INLINE __m128 _mm_loadu_ps(const float *p) ++{ ++ // for neon, alignment doesn't matter, so _mm_load_ps and _mm_loadu_ps are ++ // equivalent for neon ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load unaligned 16-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si16 ++FORCE_INLINE __m128i _mm_loadu_si16(const void *p) ++{ ++ return vreinterpretq_m128i_s16( ++ vsetq_lane_s16(*(const int16_t *) p, vdupq_n_s16(0), 0)); ++} ++ ++// Load unaligned 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si64 ++FORCE_INLINE __m128i _mm_loadu_si64(const void *p) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vld1_s64((const int64_t *) p), vdup_n_s64(0))); ++} ++ ++// Allocate size bytes of memory, aligned to the alignment specified in align, ++// and return a pointer to the allocated memory. _mm_free should be used to free ++// memory that is allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_malloc ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void *_mm_malloc(size_t size, size_t align) ++{ ++ void *ptr; ++ if (align == 1) ++ return malloc(size); ++ if (align == 2 || (sizeof(void *) == 8 && align == 4)) ++ align = sizeof(void *); ++ if (!posix_memalign(&ptr, align, size)) ++ return ptr; ++ return NULL; ++} ++#endif ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmove_si64 ++FORCE_INLINE void _mm_maskmove_si64(__m64 a, __m64 mask, char *mem_addr) ++{ ++ int8x8_t shr_mask = vshr_n_s8(vreinterpret_s8_m64(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x8_t masked = ++ vbsl_s8(vreinterpret_u8_s8(shr_mask), vreinterpret_s8_m64(a), ++ vreinterpret_s8_u64(vget_low_u64(vreinterpretq_u64_m128(b)))); ++ vst1_s8((int8_t *) mem_addr, masked); ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_maskmovq ++#define _m_maskmovq(a, mask, mem_addr) _mm_maskmove_si64(a, mask, mem_addr) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pi16 ++FORCE_INLINE __m64 _mm_max_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmax_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) maximum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ps ++FORCE_INLINE __m128 _mm_max_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcgtq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vmaxq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pu8 ++FORCE_INLINE __m64 _mm_max_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmax_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) maximum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ss ++FORCE_INLINE __m128 _mm_max_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_max_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pi16 ++FORCE_INLINE __m64 _mm_min_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmin_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) minimum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ps ++FORCE_INLINE __m128 _mm_min_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcltq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vminq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pu8 ++FORCE_INLINE __m64 _mm_min_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmin_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) minimum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ss ++FORCE_INLINE __m128 _mm_min_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_min_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the lower single-precision (32-bit) floating-point element from b to the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_ss ++FORCE_INLINE __m128 _mm_move_ss(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(vgetq_lane_f32(vreinterpretq_f32_m128(b), 0), ++ vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the upper 2 single-precision (32-bit) floating-point elements from b to ++// the lower 2 elements of dst, and copy the upper 2 elements from a to the ++// upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehl_ps ++FORCE_INLINE __m128 _mm_movehl_ps(__m128 a, __m128 b) ++{ ++#if defined(aarch64__) ++ return vreinterpretq_m128_u64( ++ vzip2q_u64(vreinterpretq_u64_m128(b), vreinterpretq_u64_m128(a))); ++#else ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(b32, a32)); ++#endif ++} ++ ++// Move the lower 2 single-precision (32-bit) floating-point elements from b to ++// the upper 2 elements of dst, and copy the lower 2 elements from a to the ++// lower 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movelh_ps ++FORCE_INLINE __m128 _mm_movelh_ps(__m128 __A, __m128 __B) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(__A)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(__B)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pi8 ++FORCE_INLINE int _mm_movemask_pi8(__m64 a) ++{ ++ uint8x8_t input = vreinterpret_u8_m64(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int8_t shift[8] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint8x8_t tmp = vshr_n_u8(input, 7); ++ return vaddv_u8(vshl_u8(tmp, vld1_s8(shift))); ++#else ++ // Refer the implementation of `_mm_movemask_epi8` ++ uint16x4_t high_bits = vreinterpret_u16_u8(vshr_n_u8(input, 7)); ++ uint32x2_t paired16 = ++ vreinterpret_u32_u16(vsra_n_u16(high_bits, high_bits, 7)); ++ uint8x8_t paired32 = ++ vreinterpret_u8_u32(vsra_n_u32(paired16, paired16, 14)); ++ return vget_lane_u8(paired32, 0) | ((int) vget_lane_u8(paired32, 4) << 4); ++#endif ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed single-precision (32-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_ps ++FORCE_INLINE int _mm_movemask_ps(__m128 a) ++{ ++ uint32x4_t input = vreinterpretq_u32_m128(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int32_t shift[4] = {0, 1, 2, 3}; ++ uint32x4_t tmp = vshrq_n_u32(input, 31); ++ return vaddvq_u32(vshlq_u32(tmp, vld1q_s32(shift))); ++#else ++ // Uses the exact same method as _mm_movemask_epi8, see that for details. ++ // Shift out everything but the sign bits with a 32-bit unsigned shift ++ // right. ++ uint64x2_t high_bits = vreinterpretq_u64_u32(vshrq_n_u32(input, 31)); ++ // Merge the two pairs together with a 64-bit unsigned shift right + add. ++ uint8x16_t paired = ++ vreinterpretq_u8_u64(vsraq_n_u64(high_bits, high_bits, 31)); ++ // Extract the result. ++ return vgetq_lane_u8(paired, 0) | (vgetq_lane_u8(paired, 8) << 2); ++#endif ++} ++ ++// Multiply packed single-precision (32-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ps ++FORCE_INLINE __m128 _mm_mul_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vmulq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Multiply the lower single-precision (32-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ss ++FORCE_INLINE __m128 _mm_mul_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_mul_ps(a, b)); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_pu16 ++FORCE_INLINE __m64 _mm_mulhi_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16(vshrn_n_u32( ++ vmull_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b)), 16)); ++} ++ ++// Compute the bitwise OR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_ps ++FORCE_INLINE __m128 _mm_or_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vorrq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgb ++#define _m_pavgb(a, b) _mm_avg_pu8(a, b) ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgw ++#define _m_pavgw(a, b) _mm_avg_pu16(a, b) ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pextrw ++#define _m_pextrw(a, imm) _mm_extract_pi16(a, imm) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_pinsrw ++#define _m_pinsrw(a, i, imm) _mm_insert_pi16(a, i, imm) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxsw ++#define _m_pmaxsw(a, b) _mm_max_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxub ++#define _m_pmaxub(a, b) _mm_max_pu8(a, b) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminsw ++#define _m_pminsw(a, b) _mm_min_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminub ++#define _m_pminub(a, b) _mm_min_pu8(a, b) ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmovmskb ++#define _m_pmovmskb(a) _mm_movemask_pi8(a) ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmulhuw ++#define _m_pmulhuw(a, b) _mm_mulhi_pu16(a, b) ++ ++// Fetch the line of data from memory that contains address p to a location in ++// the cache hierarchy specified by the locality hint i. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_prefetch ++FORCE_INLINE void _mm_prefetch(char const *p, int i) ++{ ++ (void) i; ++#if defined(_MSC_VER) ++ switch (i) { ++ case _MM_HINT_NTA: ++ __prefetch2(p, 1); ++ break; ++ case _MM_HINT_T0: ++ __prefetch2(p, 0); ++ break; ++ case _MM_HINT_T1: ++ __prefetch2(p, 2); ++ break; ++ case _MM_HINT_T2: ++ __prefetch2(p, 4); ++ break; ++ } ++#else ++ switch (i) { ++ case _MM_HINT_NTA: ++ __builtin_prefetch(p, 0, 0); ++ break; ++ case _MM_HINT_T0: ++ __builtin_prefetch(p, 0, 3); ++ break; ++ case _MM_HINT_T1: ++ __builtin_prefetch(p, 0, 2); ++ break; ++ case _MM_HINT_T2: ++ __builtin_prefetch(p, 0, 1); ++ break; ++ } ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_psadbw ++#define _m_psadbw(a, b) _mm_sad_pu8(a, b) ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pshufw ++#define _m_pshufw(a, imm) _mm_shuffle_pi16(a, imm) ++ ++// Compute the approximate reciprocal of packed single-precision (32-bit) ++// floating-point elements in a, and store the results in dst. The maximum ++// relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ps ++FORCE_INLINE __m128 _mm_rcp_ps(__m128 in) ++{ ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(in)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#if SSE2NEON_PRECISE_DIV ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#endif ++ return vreinterpretq_m128_f32(recip); ++} ++ ++// Compute the approximate reciprocal of the lower single-precision (32-bit) ++// floating-point element in a, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ss ++FORCE_INLINE __m128 _mm_rcp_ss(__m128 a) ++{ ++ return _mm_move_ss(a, _mm_rcp_ps(a)); ++} ++ ++// Compute the approximate reciprocal square root of packed single-precision ++// (32-bit) floating-point elements in a, and store the results in dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ps ++FORCE_INLINE __m128 _mm_rsqrt_ps(__m128 in) ++{ ++ float32x4_t out = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Generate masks for detecting whether input has any 0.0f/-0.0f ++ // (which becomes positive/negative infinity by IEEE-754 arithmetic rules). ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t neg_inf = vdupq_n_u32(0xFF800000); ++ const uint32x4_t has_pos_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(out)); ++ const uint32x4_t has_neg_zero = ++ vceqq_u32(neg_inf, vreinterpretq_u32_f32(out)); ++ ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#if SSE2NEON_PRECISE_SQRT ++ // Additional Netwon-Raphson iteration for accuracy ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#endif ++ ++ // Set output vector element to infinity/negative-infinity if ++ // the corresponding input vector element is 0.0f/-0.0f. ++ out = vbslq_f32(has_pos_zero, (float32x4_t) pos_inf, out); ++ out = vbslq_f32(has_neg_zero, (float32x4_t) neg_inf, out); ++ ++ return vreinterpretq_m128_f32(out); ++} ++ ++// Compute the approximate reciprocal square root of the lower single-precision ++// (32-bit) floating-point element in a, store the result in the lower element ++// of dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ss ++FORCE_INLINE __m128 _mm_rsqrt_ss(__m128 in) ++{ ++ return vsetq_lane_f32(vgetq_lane_f32(_mm_rsqrt_ps(in), 0), in, 0); ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_pu8 ++FORCE_INLINE __m64 _mm_sad_pu8(__m64 a, __m64 b) ++{ ++ uint64x1_t t = vpaddl_u32(vpaddl_u16( ++ vpaddl_u8(vabd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))))); ++ return vreinterpret_m64_u16( ++ vset_lane_u16((int) vget_lane_u64(t, 0), vdup_n_u16(0), 0)); ++} ++ ++// Macro: Set the flush zero bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The flush zero may contain any of the ++// following flags: _MM_FLUSH_ZERO_ON or _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_FLUSH_ZERO_MODE ++FORCE_INLINE void _sse2neon_mm_set_flush_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_FLUSH_ZERO_MASK) == _MM_FLUSH_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps ++FORCE_INLINE __m128 _mm_set_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {x, y, z, w}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps1 ++FORCE_INLINE __m128 _mm_set_ps1(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Macro: Set the rounding mode bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The rounding mode may contain any of ++// the following flags: _MM_ROUND_NEAREST, _MM_ROUND_DOWN, _MM_ROUND_UP, ++// _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_ROUNDING_MODE ++FORCE_INLINE void _MM_SET_ROUNDING_MODE(int rounding) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ switch (rounding) { ++ case _MM_ROUND_TOWARD_ZERO: ++ r.field.bit22 = 1; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_DOWN: ++ r.field.bit22 = 0; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_UP: ++ r.field.bit22 = 1; ++ r.field.bit23 = 0; ++ break; ++ default: //_MM_ROUND_NEAREST ++ r.field.bit22 = 0; ++ r.field.bit23 = 0; ++ } ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Copy single-precision (32-bit) floating-point element a to the lower element ++// of dst, and zero the upper 3 elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ss ++FORCE_INLINE __m128 _mm_set_ss(float a) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(a, vdupq_n_f32(0), 0)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_ps ++FORCE_INLINE __m128 _mm_set1_ps(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Set the MXCSR control and status register with the value in unsigned 32-bit ++// integer a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setcsr ++// FIXME: _mm_setcsr() implementation supports changing the rounding mode only. ++FORCE_INLINE void _mm_setcsr(unsigned int a) ++{ ++ _MM_SET_ROUNDING_MODE(a); ++} ++ ++// Get the unsigned 32-bit value of the MXCSR control and status register. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_getcsr ++// FIXME: _mm_getcsr() implementation supports reading the rounding mode only. ++FORCE_INLINE unsigned int _mm_getcsr(void) ++{ ++ return _MM_GET_ROUNDING_MODE(); ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_ps ++FORCE_INLINE __m128 _mm_setr_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {w, z, y, x}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Return vector of type __m128 with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_ps ++FORCE_INLINE __m128 _mm_setzero_ps(void) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(0)); ++} ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi16 ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pi16(a, imm) \ ++ vreinterpret_m64_s16(vshuffle_s16( \ ++ vreinterpret_s16_m64(a), vreinterpret_s16_m64(a), (imm & 0x3), \ ++ ((imm >> 2) & 0x3), ((imm >> 4) & 0x3), ((imm >> 6) & 0x3))) ++#else ++#define _mm_shuffle_pi16(a, imm) \ ++ _sse2neon_define1( \ ++ __m64, a, int16x4_t ret; \ ++ ret = vmov_n_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), (imm) & (0x3))); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpret_m64_s16(ret));) ++#endif ++ ++// Perform a serializing operation on all store-to-memory instructions that were ++// issued prior to this instruction. Guarantees that every store instruction ++// that precedes, in program order, is globally visible before any store ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sfence ++FORCE_INLINE void _mm_sfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory and store-to-memory ++// instructions that were issued prior to this instruction. Guarantees that ++// every memory access that precedes, in program order, the memory fence ++// instruction is globally visible before any memory instruction which follows ++// the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mfence ++FORCE_INLINE void _mm_mfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory instructions that ++// were issued prior to this instruction. Guarantees that every load instruction ++// that precedes, in program order, is globally visible before any load ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lfence ++FORCE_INLINE void _mm_lfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// FORCE_INLINE __m128 _mm_shuffle_ps(__m128 a, __m128 b, __constrange(0,255) ++// int imm) ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_ps(a, b, imm) \ ++ __extension__({ \ ++ float32x4_t _input1 = vreinterpretq_f32_m128(a); \ ++ float32x4_t _input2 = vreinterpretq_f32_m128(b); \ ++ float32x4_t _shuf = \ ++ vshuffleq_s32(_input1, _input2, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ (((imm) >> 4) & 0x3) + 4, (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128_f32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_ps(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128, a, b, __m128 ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_1032(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_ps_2301(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_ps_0321(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_ps_2103(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_movelh_ps(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_1001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_ps_0101(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 1, 0): \ ++ ret = _mm_shuffle_ps_3210(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 1, 1): \ ++ ret = _mm_shuffle_ps_0011(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 2, 2): \ ++ ret = _mm_shuffle_ps_0022(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 0, 0): \ ++ ret = _mm_shuffle_ps_2200(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 0, 2): \ ++ ret = _mm_shuffle_ps_3202(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 3, 2): \ ++ ret = _mm_movehl_ps(_b, _a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 3, 3): \ ++ ret = _mm_shuffle_ps_1133(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 1, 0): \ ++ ret = _mm_shuffle_ps_2010(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_2001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_2032(_a, _b); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_ps_default(_a, _b, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Compute the square root of packed single-precision (32-bit) floating-point ++// elements in a, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise square root intrinsic, we implement ++// square root by multiplying input in with its reciprocal square root before ++// using the Newton-Raphson method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ps ++FORCE_INLINE __m128 _mm_sqrt_ps(__m128 in) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) && !SSE2NEON_PRECISE_SQRT ++ return vreinterpretq_m128_f32(vsqrtq_f32(vreinterpretq_f32_m128(in))); ++#else ++ float32x4_t recip = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Test for vrsqrteq_f32(0) -> positive infinity case. ++ // Change to zero, so that s * 1/sqrt(s) result is zero too. ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t div_by_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(recip)); ++ recip = vreinterpretq_f32_u32( ++ vandq_u32(vmvnq_u32(div_by_zero), vreinterpretq_u32_f32(recip))); ++ ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ ++ // sqrt(s) = s * 1/sqrt(s) ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(in), recip)); ++#endif ++} ++ ++// Compute the square root of the lower single-precision (32-bit) floating-point ++// element in a, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ss ++FORCE_INLINE __m128 _mm_sqrt_ss(__m128 in) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_sqrt_ps(in)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(in), 0)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps ++FORCE_INLINE void _mm_store_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps1 ++FORCE_INLINE void _mm_store_ps1(float *p, __m128 a) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ vst1q_f32(p, vdupq_n_f32(a0)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ss ++FORCE_INLINE void _mm_store_ss(float *p, __m128 a) ++{ ++ vst1q_lane_f32(p, vreinterpretq_f32_m128(a), 0); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store1_ps ++#define _mm_store1_ps _mm_store_ps1 ++ ++// Store the upper 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pi ++FORCE_INLINE void _mm_storeh_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_high_f32(a)); ++} ++ ++// Store the lower 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pi ++FORCE_INLINE void _mm_storel_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_low_f32(a)); ++} ++ ++// Store 4 single-precision (32-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_ps ++FORCE_INLINE void _mm_storer_ps(float *p, __m128 a) ++{ ++ float32x4_t tmp = vrev64q_f32(vreinterpretq_f32_m128(a)); ++ float32x4_t rev = vextq_f32(tmp, tmp, 2); ++ vst1q_f32(p, rev); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_ps ++FORCE_INLINE void _mm_storeu_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Stores 16-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si16 ++FORCE_INLINE void _mm_storeu_si16(void *p, __m128i a) ++{ ++ vst1q_lane_s16((int16_t *) p, vreinterpretq_s16_m128i(a), 0); ++} ++ ++// Stores 64-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si64 ++FORCE_INLINE void _mm_storeu_si64(void *p, __m128i a) ++{ ++ vst1q_lane_s64((int64_t *) p, vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Store 64-bits of integer data from a into memory using a non-temporal memory ++// hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pi ++FORCE_INLINE void _mm_stream_pi(__m64 *p, __m64 a) ++{ ++ vst1_s64((int64_t *) p, vreinterpret_s64_m64(a)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating- ++// point elements) from a into memory using a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_ps ++FORCE_INLINE void _mm_stream_ps(float *p, __m128 a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (float32x4_t *) p); ++#else ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++#endif ++} ++ ++// Subtract packed single-precision (32-bit) floating-point elements in b from ++// packed single-precision (32-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ps ++FORCE_INLINE __m128 _mm_sub_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Subtract the lower single-precision (32-bit) floating-point element in b from ++// the lower single-precision (32-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper 3 packed elements from ++// a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ss ++FORCE_INLINE __m128 _mm_sub_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_sub_ps(a, b)); ++} ++ ++// Macro: Transpose the 4x4 matrix formed by the 4 rows of single-precision ++// (32-bit) floating-point elements in row0, row1, row2, and row3, and store the ++// transposed matrix in these vectors (row0 now contains column 0, etc.). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=MM_TRANSPOSE4_PS ++#define _MM_TRANSPOSE4_PS(row0, row1, row2, row3) \ ++ do { \ ++ float32x4x2_t ROW01 = vtrnq_f32(row0, row1); \ ++ float32x4x2_t ROW23 = vtrnq_f32(row2, row3); \ ++ row0 = vcombine_f32(vget_low_f32(ROW01.val[0]), \ ++ vget_low_f32(ROW23.val[0])); \ ++ row1 = vcombine_f32(vget_low_f32(ROW01.val[1]), \ ++ vget_low_f32(ROW23.val[1])); \ ++ row2 = vcombine_f32(vget_high_f32(ROW01.val[0]), \ ++ vget_high_f32(ROW23.val[0])); \ ++ row3 = vcombine_f32(vget_high_f32(ROW01.val[1]), \ ++ vget_high_f32(ROW23.val[1])); \ ++ } while (0) ++ ++// according to the documentation, these intrinsics behave the same as the ++// non-'u' versions. We'll just alias them here. ++#define _mm_ucomieq_ss _mm_comieq_ss ++#define _mm_ucomige_ss _mm_comige_ss ++#define _mm_ucomigt_ss _mm_comigt_ss ++#define _mm_ucomile_ss _mm_comile_ss ++#define _mm_ucomilt_ss _mm_comilt_ss ++#define _mm_ucomineq_ss _mm_comineq_ss ++ ++// Return vector of type __m128i with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_undefined_si128 ++FORCE_INLINE __m128i _mm_undefined_si128(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128i a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_si128(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Return vector of type __m128 with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_ps ++FORCE_INLINE __m128 _mm_undefined_ps(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128 a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_ps(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the high half a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_ps ++FORCE_INLINE __m128 _mm_unpackhi_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_ps ++FORCE_INLINE __m128 _mm_unpacklo_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Compute the bitwise XOR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_ps ++FORCE_INLINE __m128 _mm_xor_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ veorq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++/* SSE2 */ ++ ++// Add packed 16-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi16 ++FORCE_INLINE __m128i _mm_add_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed 32-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi32 ++FORCE_INLINE __m128i _mm_add_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vaddq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Add packed 64-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi64 ++FORCE_INLINE __m128i _mm_add_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vaddq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Add packed 8-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi8 ++FORCE_INLINE __m128i _mm_add_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed double-precision (64-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_pd ++FORCE_INLINE __m128d _mm_add_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1] + db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add the lower double-precision (64-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper element from ++// a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_sd ++FORCE_INLINE __m128d _mm_add_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_add_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add 64-bit integers a and b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_si64 ++FORCE_INLINE __m64 _mm_add_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vadd_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Add packed signed 16-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi16 ++FORCE_INLINE __m128i _mm_adds_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed signed 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi8 ++FORCE_INLINE __m128i _mm_adds_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed unsigned 16-bit integers in a and b using saturation, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu16 ++FORCE_INLINE __m128i _mm_adds_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqaddq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Add packed unsigned 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu8 ++FORCE_INLINE __m128i _mm_adds_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compute the bitwise AND of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_pd ++FORCE_INLINE __m128d _mm_and_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vandq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_si128 ++FORCE_INLINE __m128i _mm_and_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vandq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compute the bitwise NOT of packed double-precision (64-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_pd ++FORCE_INLINE __m128d _mm_andnot_pd(__m128d a, __m128d b) ++{ ++ // *NOTE* argument swap ++ return vreinterpretq_m128d_s64( ++ vbicq_s64(vreinterpretq_s64_m128d(b), vreinterpretq_s64_m128d(a))); ++} ++ ++// Compute the bitwise NOT of 128 bits (representing integer data) in a and then ++// AND with b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_si128 ++FORCE_INLINE __m128i _mm_andnot_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vbicq_s32(vreinterpretq_s32_m128i(b), ++ vreinterpretq_s32_m128i(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu16 ++FORCE_INLINE __m128i _mm_avg_epu16(__m128i a, __m128i b) ++{ ++ return (__m128i) vrhaddq_u16(vreinterpretq_u16_m128i(a), ++ vreinterpretq_u16_m128i(b)); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu8 ++FORCE_INLINE __m128i _mm_avg_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vrhaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bslli_si128 ++#define _mm_bslli_si128(a, imm) _mm_slli_si128(a, imm) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bsrli_si128 ++#define _mm_bsrli_si128(a, imm) _mm_srli_si128(a, imm) ++ ++// Cast vector of type __m128d to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_ps ++FORCE_INLINE __m128 _mm_castpd_ps(__m128d a) ++{ ++ return vreinterpretq_m128_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128d to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_si128 ++FORCE_INLINE __m128i _mm_castpd_si128(__m128d a) ++{ ++ return vreinterpretq_m128i_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128 to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_pd ++FORCE_INLINE __m128d _mm_castps_pd(__m128 a) ++{ ++ return vreinterpretq_m128d_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128 to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_si128 ++FORCE_INLINE __m128i _mm_castps_si128(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128i to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_pd ++FORCE_INLINE __m128d _mm_castsi128_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vreinterpretq_f64_m128i(a)); ++#else ++ return vreinterpretq_m128d_f32(vreinterpretq_f32_m128i(a)); ++#endif ++} ++ ++// Cast vector of type __m128i to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_ps ++FORCE_INLINE __m128 _mm_castsi128_ps(__m128i a) ++{ ++ return vreinterpretq_m128_s32(vreinterpretq_s32_m128i(a)); ++} ++ ++// Invalidate and flush the cache line that contains p from all levels of the ++// cache hierarchy. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clflush ++#if defined(__APPLE__) ++#include ++#endif ++FORCE_INLINE void _mm_clflush(void const *p) ++{ ++ (void) p; ++ ++ /* sys_icache_invalidate is supported since macOS 10.5. ++ * However, it does not work on non-jailbroken iOS devices, although the ++ * compilation is successful. ++ */ ++#if defined(__APPLE__) ++ sys_icache_invalidate((void *) (uintptr_t) p, SSE2NEON_CACHELINE_SIZE); ++#elif defined(__GNUC__) || defined(__clang__) ++ uintptr_t ptr = (uintptr_t) p; ++ __builtin___clear_cache((char *) ptr, ++ (char *) ptr + SSE2NEON_CACHELINE_SIZE); ++#elif (_MSC_VER) && SSE2NEON_INCLUDE_WINDOWS_H ++ FlushInstructionCache(GetCurrentProcess(), p, SSE2NEON_CACHELINE_SIZE); ++#endif ++} ++ ++// Compare packed 16-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi16 ++FORCE_INLINE __m128i _mm_cmpeq_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vceqq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed 32-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi32 ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vceqq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed 8-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi8 ++FORCE_INLINE __m128i _mm_cmpeq_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vceqq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_pd ++FORCE_INLINE __m128d _mm_cmpeq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_sd ++FORCE_INLINE __m128d _mm_cmpeq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpeq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_pd ++FORCE_INLINE __m128d _mm_cmpge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) >= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_sd ++FORCE_INLINE __m128d _mm_cmpge_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpge_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi16 ++FORCE_INLINE __m128i _mm_cmpgt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcgtq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi32 ++FORCE_INLINE __m128i _mm_cmpgt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcgtq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi8 ++FORCE_INLINE __m128i _mm_cmpgt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcgtq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_pd ++FORCE_INLINE __m128d _mm_cmpgt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_sd ++FORCE_INLINE __m128d _mm_cmpgt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpgt_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_pd ++FORCE_INLINE __m128d _mm_cmple_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) <= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_sd ++FORCE_INLINE __m128d _mm_cmple_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmple_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtw instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi16 ++FORCE_INLINE __m128i _mm_cmplt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcltq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtd instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi32 ++FORCE_INLINE __m128i _mm_cmplt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcltq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtb instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi8 ++FORCE_INLINE __m128i _mm_cmplt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcltq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_pd ++FORCE_INLINE __m128d _mm_cmplt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_sd ++FORCE_INLINE __m128d _mm_cmplt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmplt_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_pd ++FORCE_INLINE __m128d _mm_cmpneq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_s32(vmvnq_s32(vreinterpretq_s32_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vmvnq_u32(vandq_u32(cmp, swapped))); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_sd ++FORCE_INLINE __m128d _mm_cmpneq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpneq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_pd ++FORCE_INLINE __m128d _mm_cmpnge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) >= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) >= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_sd ++FORCE_INLINE __m128d _mm_cmpnge_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnge_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_cmpngt_pd ++FORCE_INLINE __m128d _mm_cmpngt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) > (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) > (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_sd ++FORCE_INLINE __m128d _mm_cmpngt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpngt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_pd ++FORCE_INLINE __m128d _mm_cmpnle_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) <= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) <= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_sd ++FORCE_INLINE __m128d _mm_cmpnle_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnle_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_pd ++FORCE_INLINE __m128d _mm_cmpnlt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) < (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) < (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_sd ++FORCE_INLINE __m128d _mm_cmpnlt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnlt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_pd ++FORCE_INLINE __m128d _mm_cmpord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Excluding NaNs, any two floating point numbers can be compared. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_u64(vandq_u64(not_nan_a, not_nan_b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_sd ++FORCE_INLINE __m128d _mm_cmpord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_pd ++FORCE_INLINE __m128d _mm_cmpunord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Two NaNs are not equal in comparison operation. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_s32( ++ vmvnq_s32(vreinterpretq_s32_u64(vandq_u64(not_nan_a, not_nan_b)))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_sd ++FORCE_INLINE __m128d _mm_cmpunord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpunord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_sd ++FORCE_INLINE int _mm_comige_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgeq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 >= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_sd ++FORCE_INLINE int _mm_comigt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgtq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 > *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_sd ++FORCE_INLINE int _mm_comile_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcleq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 <= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_sd ++FORCE_INLINE int _mm_comilt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcltq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 < *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_sd ++FORCE_INLINE int _mm_comieq_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vceqq_f64(a, b), 0) & 0x1; ++#else ++ uint32x4_t a_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(a)); ++ uint32x4_t b_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(b), vreinterpretq_u32_m128d(b)); ++ uint32x4_t a_and_b_not_nan = vandq_u32(a_not_nan, b_not_nan); ++ uint32x4_t a_eq_b = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint64x2_t and_results = vandq_u64(vreinterpretq_u64_u32(a_and_b_not_nan), ++ vreinterpretq_u64_u32(a_eq_b)); ++ return vgetq_lane_u64(and_results, 0) & 0x1; ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_sd ++FORCE_INLINE int _mm_comineq_sd(__m128d a, __m128d b) ++{ ++ return !_mm_comieq_sd(a, b); ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_pd ++FORCE_INLINE __m128d _mm_cvtepi32_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a))))); ++#else ++ double a0 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++ double a1 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_ps ++FORCE_INLINE __m128 _mm_cvtepi32_ps(__m128i a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_epi32 ++FORCE_INLINE __m128i _mm_cvtpd_epi32(__m128d a) ++{ ++// vrnd32xq_f64 not supported on clang ++#if defined(__ARM_FEATURE_FRINT) && !defined(__clang__) ++ float64x2_t rounded = vrnd32xq_f64(vreinterpretq_f64_m128d(a)); ++ int64x2_t integers = vcvtq_s64_f64(rounded); ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vmovn_s64(integers), vdup_n_s32(0))); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) d1, (int32_t) d0); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_pi32 ++FORCE_INLINE __m64 _mm_cvtpd_pi32(__m128d a) ++{ ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) d0, (int32_t) d1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed single-precision (32-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_ps ++FORCE_INLINE __m128 _mm_cvtpd_ps(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float32x2_t tmp = vcvt_f32_f64(vreinterpretq_f64_m128d(a)); ++ return vreinterpretq_m128_f32(vcombine_f32(tmp, vdup_n_f32(0))); ++#else ++ float a0 = (float) ((double *) &a)[0]; ++ float a1 = (float) ((double *) &a)[1]; ++ return _mm_set_ps(0, 0, a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_pd ++FORCE_INLINE __m128d _mm_cvtpi32_pd(__m64 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vreinterpret_s32_m64(a)))); ++#else ++ double a0 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 0); ++ double a1 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_epi32 ++// *NOTE*. The default rounding mode on SSE is 'round to even', which ARMv7-A ++// does not support! It is supported on ARMv8-A however. ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128 a) ++{ ++#if defined(__ARM_FEATURE_FRINT) ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vrnd32xq_f32(a))); ++#elif (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: ++ return vreinterpretq_m128i_s32(vcvtnq_s32_f32(a)); ++ case _MM_ROUND_DOWN: ++ return vreinterpretq_m128i_s32(vcvtmq_s32_f32(a)); ++ case _MM_ROUND_UP: ++ return vreinterpretq_m128i_s32(vcvtpq_s32_f32(a)); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(a)); ++ } ++#else ++ float *f = (float *) &a; ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128i_s32( ++ vbslq_s32(is_delta_half, r_even, r_normal)); ++ } ++ case _MM_ROUND_DOWN: ++ return _mm_set_epi32(floorf(f[3]), floorf(f[2]), floorf(f[1]), ++ floorf(f[0])); ++ case _MM_ROUND_UP: ++ return _mm_set_epi32(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ++ ceilf(f[0])); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return _mm_set_epi32((int32_t) f[3], (int32_t) f[2], (int32_t) f[1], ++ (int32_t) f[0]); ++ } ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed double-precision (64-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pd ++FORCE_INLINE __m128d _mm_cvtps_pd(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvt_f64_f32(vget_low_f32(vreinterpretq_f32_m128(a)))); ++#else ++ double a0 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ double a1 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Copy the lower double-precision (64-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_f64 ++FORCE_INLINE double _mm_cvtsd_f64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (double) vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0); ++#else ++ return ((double *) &a)[0]; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si32 ++FORCE_INLINE int32_t _mm_cvtsd_si32(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int32_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int32_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64 ++FORCE_INLINE int64_t _mm_cvtsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int64_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64x ++#define _mm_cvtsd_si64x _mm_cvtsd_si64 ++ ++// Convert the lower double-precision (64-bit) floating-point element in b to a ++// single-precision (32-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_ss ++FORCE_INLINE __m128 _mm_cvtsd_ss(__m128 a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32(vsetq_lane_f32( ++ vget_lane_f32(vcvt_f32_f64(vreinterpretq_f64_m128d(b)), 0), ++ vreinterpretq_f32_m128(a), 0)); ++#else ++ return vreinterpretq_m128_f32(vsetq_lane_f32((float) ((double *) &b)[0], ++ vreinterpretq_f32_m128(a), 0)); ++#endif ++} ++ ++// Copy the lower 32-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si32 ++FORCE_INLINE int _mm_cvtsi128_si32(__m128i a) ++{ ++ return vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64 ++FORCE_INLINE int64_t _mm_cvtsi128_si64(__m128i a) ++{ ++ return vgetq_lane_s64(vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Convert the signed 32-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_sd ++FORCE_INLINE __m128d _mm_cvtsi32_sd(__m128d a, int32_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Copy 32-bit integer a to the lower elements of dst, and zero the upper ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_si128 ++FORCE_INLINE __m128i _mm_cvtsi32_si128(int a) ++{ ++ return vreinterpretq_m128i_s32(vsetq_lane_s32(a, vdupq_n_s32(0), 0)); ++} ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_sd ++FORCE_INLINE __m128d _mm_cvtsi64_sd(__m128d a, int64_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_si128 ++FORCE_INLINE __m128i _mm_cvtsi64_si128(int64_t a) ++{ ++ return vreinterpretq_m128i_s64(vsetq_lane_s64(a, vdupq_n_s64(0), 0)); ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_si128 ++#define _mm_cvtsi64x_si128(a) _mm_cvtsi64_si128(a) ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_sd ++#define _mm_cvtsi64x_sd(a, b) _mm_cvtsi64_sd(a, b) ++ ++// Convert the lower single-precision (32-bit) floating-point element in b to a ++// double-precision (64-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_sd ++FORCE_INLINE __m128d _mm_cvtss_sd(__m128d a, __m128 b) ++{ ++ double d = (double) vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(d, vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &d, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_epi32 ++FORCE_INLINE __m128i _mm_cvttpd_epi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) a1, (int32_t) a0); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_pi32 ++FORCE_INLINE __m64 _mm_cvttpd_pi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) a0, (int32_t) a1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_epi32 ++FORCE_INLINE __m128i _mm_cvttps_epi32(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a))); ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si32 ++FORCE_INLINE int32_t _mm_cvttsd_si32(__m128d a) ++{ ++ double ret = *((double *) &a); ++ return (int32_t) ret; ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64 ++FORCE_INLINE int64_t _mm_cvttsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_s64(vcvtq_s64_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ double ret = *((double *) &a); ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64x ++#define _mm_cvttsd_si64x(a) _mm_cvttsd_si64(a) ++ ++// Divide packed double-precision (64-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_pd ++FORCE_INLINE __m128d _mm_div_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] / db[0]; ++ c[1] = da[1] / db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Divide the lower double-precision (64-bit) floating-point element in a by the ++// lower double-precision (64-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper element from a to the upper ++// element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_sd ++FORCE_INLINE __m128d _mm_div_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t tmp = ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1), tmp, 1)); ++#else ++ return _mm_move_sd(a, _mm_div_pd(a, b)); ++#endif ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi16 ++// FORCE_INLINE int _mm_extract_epi16(__m128i a, __constrange(0,8) int imm) ++#define _mm_extract_epi16(a, imm) \ ++ vgetq_lane_u16(vreinterpretq_u16_m128i(a), (imm)) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi16 ++// FORCE_INLINE __m128i _mm_insert_epi16(__m128i a, int b, ++// __constrange(0,8) int imm) ++#define _mm_insert_epi16(a, b, imm) \ ++ vreinterpretq_m128i_s16( \ ++ vsetq_lane_s16((b), vreinterpretq_s16_m128i(a), (imm))) ++ ++// Load 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd ++FORCE_INLINE __m128d _mm_load_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64(p)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], fp[2], fp[3]}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd1 ++#define _mm_load_pd1 _mm_load1_pd ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower of dst, and zero the upper element. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_sd ++FORCE_INLINE __m128d _mm_load_sd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(*p, vdupq_n_f64(0), 0)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], 0, 0}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_si128 ++FORCE_INLINE __m128i _mm_load_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const int32_t *) p)); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_pd ++FORCE_INLINE __m128d _mm_load1_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_dup_f64(p)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(const int64_t *) p)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// upper element of dst, and copy the lower element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pd ++FORCE_INLINE __m128d _mm_loadh_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vget_low_f64(vreinterpretq_f64_m128d(a)), vld1_f64(p))); ++#else ++ return vreinterpretq_m128d_f32(vcombine_f32( ++ vget_low_f32(vreinterpretq_f32_m128d(a)), vld1_f32((const float *) p))); ++#endif ++} ++ ++// Load 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_epi64 ++FORCE_INLINE __m128i _mm_loadl_epi64(__m128i const *p) ++{ ++ /* Load the lower 64 bits of the value pointed to by p into the ++ * lower 64 bits of the result, zeroing the upper 64 bits of the result. ++ */ ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vld1_s32((int32_t const *) p), vcreate_s32(0))); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower element of dst, and copy the upper element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pd ++FORCE_INLINE __m128d _mm_loadl_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vld1_f64(p), vget_high_f64(vreinterpretq_f64_m128d(a)))); ++#else ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vld1_f32((const float *) p), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++#endif ++} ++ ++// Load 2 double-precision (64-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_pd ++FORCE_INLINE __m128d _mm_loadr_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t v = vld1q_f64(p); ++ return vreinterpretq_m128d_f64(vextq_f64(v, v, 1)); ++#else ++ int64x2_t v = vld1q_s64((const int64_t *) p); ++ return vreinterpretq_m128d_s64(vextq_s64(v, v, 1)); ++#endif ++} ++ ++// Loads two double-precision from unaligned memory, floating-point values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_pd ++FORCE_INLINE __m128d _mm_loadu_pd(const double *p) ++{ ++ return _mm_load_pd(p); ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si128 ++FORCE_INLINE __m128i _mm_loadu_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const int32_t *) p)); ++} ++ ++// Load unaligned 32-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si32 ++FORCE_INLINE __m128i _mm_loadu_si32(const void *p) ++{ ++ return vreinterpretq_m128i_s32( ++ vsetq_lane_s32(*(const int32_t *) p, vdupq_n_s32(0), 0)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Horizontally add adjacent pairs of intermediate ++// 32-bit integers, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_madd_epi16 ++FORCE_INLINE __m128i _mm_madd_epi16(__m128i a, __m128i b) ++{ ++ int32x4_t low = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t high = ++ vmull_high_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b)); ++ ++ return vreinterpretq_m128i_s32(vpaddq_s32(low, high)); ++#else ++ int32x4_t high = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ int32x2_t low_sum = vpadd_s32(vget_low_s32(low), vget_high_s32(low)); ++ int32x2_t high_sum = vpadd_s32(vget_low_s32(high), vget_high_s32(high)); ++ ++ return vreinterpretq_m128i_s32(vcombine_s32(low_sum, high_sum)); ++#endif ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. mem_addr does not need to be aligned ++// on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmoveu_si128 ++FORCE_INLINE void _mm_maskmoveu_si128(__m128i a, __m128i mask, char *mem_addr) ++{ ++ int8x16_t shr_mask = vshrq_n_s8(vreinterpretq_s8_m128i(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x16_t masked = ++ vbslq_s8(vreinterpretq_u8_s8(shr_mask), vreinterpretq_s8_m128i(a), ++ vreinterpretq_s8_m128(b)); ++ vst1q_s8((int8_t *) mem_addr, masked); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi16 ++FORCE_INLINE __m128i _mm_max_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmaxq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu8 ++FORCE_INLINE __m128i _mm_max_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vmaxq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pd ++FORCE_INLINE __m128d _mm_max_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcgtq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vmaxq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? a1 : b1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_sd ++FORCE_INLINE __m128d _mm_max_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_max_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] > db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi16 ++FORCE_INLINE __m128i _mm_min_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vminq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu8 ++FORCE_INLINE __m128i _mm_min_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vminq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pd ++FORCE_INLINE __m128d _mm_min_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcltq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vminq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? a1 : b1; ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_sd ++FORCE_INLINE __m128d _mm_min_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_min_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] < db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to the lower element of dst, and zero the ++// upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_epi64 ++FORCE_INLINE __m128i _mm_move_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vsetq_lane_s64(0, vreinterpretq_s64_m128i(a), 1)); ++} ++ ++// Move the lower double-precision (64-bit) floating-point element from b to the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_sd ++FORCE_INLINE __m128d _mm_move_sd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vget_low_f32(vreinterpretq_f32_m128d(b)), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_epi8 ++FORCE_INLINE int _mm_movemask_epi8(__m128i a) ++{ ++ // Use increasingly wide shifts+adds to collect the sign bits ++ // together. ++ // Since the widening shifts would be rather confusing to follow in little ++ // endian, everything will be illustrated in big endian order instead. This ++ // has a different result - the bits would actually be reversed on a big ++ // endian machine. ++ ++ // Starting input (only half the elements are shown): ++ // 89 ff 1d c0 00 10 99 33 ++ uint8x16_t input = vreinterpretq_u8_m128i(a); ++ ++ // Shift out everything but the sign bits with an unsigned shift right. ++ // ++ // Bytes of the vector:: ++ // 89 ff 1d c0 00 10 99 33 ++ // \ \ \ \ \ \ \ \ high_bits = (uint16x4_t)(input >> 7) ++ // | | | | | | | | ++ // 01 01 00 01 00 00 01 00 ++ // ++ // Bits of first important lane(s): ++ // 10001001 (89) ++ // \______ ++ // | ++ // 00000001 (01) ++ uint16x8_t high_bits = vreinterpretq_u16_u8(vshrq_n_u8(input, 7)); ++ ++ // Merge the even lanes together with a 16-bit unsigned shift right + add. ++ // 'xx' represents garbage data which will be ignored in the final result. ++ // In the important bytes, the add functions like a binary OR. ++ // ++ // 01 01 00 01 00 00 01 00 ++ // \_ | \_ | \_ | \_ | paired16 = (uint32x4_t)(input + (input >> 7)) ++ // \| \| \| \| ++ // xx 03 xx 01 xx 00 xx 02 ++ // ++ // 00000001 00000001 (01 01) ++ // \_______ | ++ // \| ++ // xxxxxxxx xxxxxx11 (xx 03) ++ uint32x4_t paired16 = ++ vreinterpretq_u32_u16(vsraq_n_u16(high_bits, high_bits, 7)); ++ ++ // Repeat with a wider 32-bit shift + add. ++ // xx 03 xx 01 xx 00 xx 02 ++ // \____ | \____ | paired32 = (uint64x1_t)(paired16 + (paired16 >> ++ // 14)) ++ // \| \| ++ // xx xx xx 0d xx xx xx 02 ++ // ++ // 00000011 00000001 (03 01) ++ // \\_____ || ++ // '----.\|| ++ // xxxxxxxx xxxx1101 (xx 0d) ++ uint64x2_t paired32 = ++ vreinterpretq_u64_u32(vsraq_n_u32(paired16, paired16, 14)); ++ ++ // Last, an even wider 64-bit shift + add to get our result in the low 8 bit ++ // lanes. xx xx xx 0d xx xx xx 02 ++ // \_________ | paired64 = (uint8x8_t)(paired32 + (paired32 >> ++ // 28)) ++ // \| ++ // xx xx xx xx xx xx xx d2 ++ // ++ // 00001101 00000010 (0d 02) ++ // \ \___ | | ++ // '---. \| | ++ // xxxxxxxx 11010010 (xx d2) ++ uint8x16_t paired64 = ++ vreinterpretq_u8_u64(vsraq_n_u64(paired32, paired32, 28)); ++ ++ // Extract the low 8 bits from each 64-bit lane with 2 8-bit extracts. ++ // xx xx xx xx xx xx xx d2 ++ // || return paired64[0] ++ // d2 ++ // Note: Little endian would return the correct value 4b (01001011) instead. ++ return vgetq_lane_u8(paired64, 0) | ((int) vgetq_lane_u8(paired64, 8) << 8); ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed double-precision (64-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pd ++FORCE_INLINE int _mm_movemask_pd(__m128d a) ++{ ++ uint64x2_t input = vreinterpretq_u64_m128d(a); ++ uint64x2_t high_bits = vshrq_n_u64(input, 63); ++ return (int) (vgetq_lane_u64(high_bits, 0) | ++ (vgetq_lane_u64(high_bits, 1) << 1)); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movepi64_pi64 ++FORCE_INLINE __m64 _mm_movepi64_pi64(__m128i a) ++{ ++ return vreinterpret_m64_s64(vget_low_s64(vreinterpretq_s64_m128i(a))); ++} ++ ++// Copy the 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movpi64_epi64 ++FORCE_INLINE __m128i _mm_movpi64_epi64(__m64 a) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vreinterpret_s64_m64(a), vdup_n_s64(0))); ++} ++ ++// Multiply the low unsigned 32-bit integers from each packed 64-bit element in ++// a and b, and store the unsigned 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epu32 ++FORCE_INLINE __m128i _mm_mul_epu32(__m128i a, __m128i b) ++{ ++ // vmull_u32 upcasts instead of masking, so we downcast. ++ uint32x2_t a_lo = vmovn_u64(vreinterpretq_u64_m128i(a)); ++ uint32x2_t b_lo = vmovn_u64(vreinterpretq_u64_m128i(b)); ++ return vreinterpretq_m128i_u64(vmull_u32(a_lo, b_lo)); ++} ++ ++// Multiply packed double-precision (64-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_pd ++FORCE_INLINE __m128d _mm_mul_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vmulq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] * db[0]; ++ c[1] = da[1] * db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Multiply the lower double-precision (64-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper element ++// from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_mul_sd ++FORCE_INLINE __m128d _mm_mul_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_mul_pd(a, b)); ++} ++ ++// Multiply the low unsigned 32-bit integers from a and b, and store the ++// unsigned 64-bit result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_su32 ++FORCE_INLINE __m64 _mm_mul_su32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u64(vget_low_u64( ++ vmull_u32(vreinterpret_u32_m64(a), vreinterpret_u32_m64(b)))); ++} ++ ++// Multiply the packed signed 16-bit integers in a and b, producing intermediate ++// 32-bit integers, and store the high 16 bits of the intermediate integers in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epi16 ++FORCE_INLINE __m128i _mm_mulhi_epi16(__m128i a, __m128i b) ++{ ++ /* FIXME: issue with large values because of result saturation */ ++ // int16x8_t ret = vqdmulhq_s16(vreinterpretq_s16_m128i(a), ++ // vreinterpretq_s16_m128i(b)); /* =2*a*b */ return ++ // vreinterpretq_m128i_s16(vshrq_n_s16(ret, 1)); ++ int16x4_t a3210 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b3210 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab3210 = vmull_s16(a3210, b3210); /* 3333222211110000 */ ++ int16x4_t a7654 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b7654 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab7654 = vmull_s16(a7654, b7654); /* 7777666655554444 */ ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_s32(ab3210), vreinterpretq_u16_s32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epu16 ++FORCE_INLINE __m128i _mm_mulhi_epu16(__m128i a, __m128i b) ++{ ++ uint16x4_t a3210 = vget_low_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b3210 = vget_low_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab3210 = vmull_u16(a3210, b3210); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32x4_t ab7654 = ++ vmull_high_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ uint16x8_t r = vuzp2q_u16(vreinterpretq_u16_u32(ab3210), ++ vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r); ++#else ++ uint16x4_t a7654 = vget_high_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b7654 = vget_high_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab7654 = vmull_u16(a7654, b7654); ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_u32(ab3210), vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++#endif ++} ++ ++// Multiply the packed 16-bit integers in a and b, producing intermediate 32-bit ++// integers, and store the low 16 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi16 ++FORCE_INLINE __m128i _mm_mullo_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmulq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compute the bitwise OR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_or_pd ++FORCE_INLINE __m128d _mm_or_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vorrq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise OR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_si128 ++FORCE_INLINE __m128i _mm_or_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vorrq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi16 ++FORCE_INLINE __m128i _mm_packs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vqmovn_s16(vreinterpretq_s16_m128i(a)), ++ vqmovn_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi32 ++FORCE_INLINE __m128i _mm_packs_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vqmovn_s32(vreinterpretq_s32_m128i(a)), ++ vqmovn_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi16 ++FORCE_INLINE __m128i _mm_packus_epi16(const __m128i a, const __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcombine_u8(vqmovun_s16(vreinterpretq_s16_m128i(a)), ++ vqmovun_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Pause the processor. This is typically used in spin-wait loops and depending ++// on the x86 processor typical values are in the 40-100 cycle range. The ++// 'yield' instruction isn't a good fit because it's effectively a nop on most ++// Arm cores. Experience with several databases has shown has shown an 'isb' is ++// a reasonable approximation. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_pause ++FORCE_INLINE void _mm_pause(void) ++{ ++#if defined(_MSC_VER) ++ __isb(_ARM64_BARRIER_SY); ++#else ++ __asm__ __volatile__("isb\n"); ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce two ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of 64-bit elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_epu8 ++FORCE_INLINE __m128i _mm_sad_epu8(__m128i a, __m128i b) ++{ ++ uint16x8_t t = vpaddlq_u8(vabdq_u8((uint8x16_t) a, (uint8x16_t) b)); ++ return vreinterpretq_m128i_u64(vpaddlq_u32(vpaddlq_u16(t))); ++} ++ ++// Set packed 16-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi16 ++FORCE_INLINE __m128i _mm_set_epi16(short i7, ++ short i6, ++ short i5, ++ short i4, ++ short i3, ++ short i2, ++ short i1, ++ short i0) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {i0, i1, i2, i3, i4, i5, i6, i7}; ++ return vreinterpretq_m128i_s16(vld1q_s16(data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi32 ++FORCE_INLINE __m128i _mm_set_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i0, i1, i2, i3}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64 ++FORCE_INLINE __m128i _mm_set_epi64(__m64 i1, __m64 i2) ++{ ++ return _mm_set_epi64x(vget_lane_s64(i1, 0), vget_lane_s64(i2, 0)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64x ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t i1, int64_t i2) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vcreate_s64(i2), vcreate_s64(i1))); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi8 ++FORCE_INLINE __m128i _mm_set_epi8(signed char b15, ++ signed char b14, ++ signed char b13, ++ signed char b12, ++ signed char b11, ++ signed char b10, ++ signed char b9, ++ signed char b8, ++ signed char b7, ++ signed char b6, ++ signed char b5, ++ signed char b4, ++ signed char b3, ++ signed char b2, ++ signed char b1, ++ signed char b0) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd ++FORCE_INLINE __m128d _mm_set_pd(double e1, double e0) ++{ ++ double ALIGN_STRUCT(16) data[2] = {e0, e1}; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64((float64_t *) data)); ++#else ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) data)); ++#endif ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd1 ++#define _mm_set_pd1 _mm_set1_pd ++ ++// Copy double-precision (64-bit) floating-point element a to the lower element ++// of dst, and zero the upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_sd ++FORCE_INLINE __m128d _mm_set_sd(double a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(a, vdupq_n_f64(0), 0)); ++#else ++ return _mm_set_pd(0, a); ++#endif ++} ++ ++// Broadcast 16-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi16 ++FORCE_INLINE __m128i _mm_set1_epi16(short w) ++{ ++ return vreinterpretq_m128i_s16(vdupq_n_s16(w)); ++} ++ ++// Broadcast 32-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi32 ++FORCE_INLINE __m128i _mm_set1_epi32(int _i) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(_i)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64 ++FORCE_INLINE __m128i _mm_set1_epi64(__m64 _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_lane_s64(_i, 0)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64x ++FORCE_INLINE __m128i _mm_set1_epi64x(int64_t _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_n_s64(_i)); ++} ++ ++// Broadcast 8-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi8 ++FORCE_INLINE __m128i _mm_set1_epi8(signed char w) ++{ ++ return vreinterpretq_m128i_s8(vdupq_n_s8(w)); ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_pd ++FORCE_INLINE __m128d _mm_set1_pd(double d) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(d)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(int64_t *) &d)); ++#endif ++} ++ ++// Set packed 16-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi16 ++FORCE_INLINE __m128i _mm_setr_epi16(short w0, ++ short w1, ++ short w2, ++ short w3, ++ short w4, ++ short w5, ++ short w6, ++ short w7) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {w0, w1, w2, w3, w4, w5, w6, w7}; ++ return vreinterpretq_m128i_s16(vld1q_s16((int16_t *) data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi32 ++FORCE_INLINE __m128i _mm_setr_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i3, i2, i1, i0}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi64 ++FORCE_INLINE __m128i _mm_setr_epi64(__m64 e1, __m64 e0) ++{ ++ return vreinterpretq_m128i_s64(vcombine_s64(e1, e0)); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi8 ++FORCE_INLINE __m128i _mm_setr_epi8(signed char b0, ++ signed char b1, ++ signed char b2, ++ signed char b3, ++ signed char b4, ++ signed char b5, ++ signed char b6, ++ signed char b7, ++ signed char b8, ++ signed char b9, ++ signed char b10, ++ signed char b11, ++ signed char b12, ++ signed char b13, ++ signed char b14, ++ signed char b15) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_pd ++FORCE_INLINE __m128d _mm_setr_pd(double e1, double e0) ++{ ++ return _mm_set_pd(e0, e1); ++} ++ ++// Return vector of type __m128d with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_pd ++FORCE_INLINE __m128d _mm_setzero_pd(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(0)); ++#else ++ return vreinterpretq_m128d_f32(vdupq_n_f32(0)); ++#endif ++} ++ ++// Return vector of type __m128i with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_si128 ++FORCE_INLINE __m128i _mm_setzero_si128(void) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(0)); ++} ++ ++// Shuffle 32-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi32 ++// FORCE_INLINE __m128i _mm_shuffle_epi32(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shuffle_epi32(a, imm) \ ++ __extension__({ \ ++ int32x4_t _input = vreinterpretq_s32_m128i(a); \ ++ int32x4_t _shuf = \ ++ vshuffleq_s32(_input, _input, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ ((imm) >> 4) & 0x3, ((imm) >> 6) & 0x3); \ ++ vreinterpretq_m128i_s32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_epi32(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, __m128i ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_epi_1032(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_epi_2301(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_epi_0321(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_epi_2103(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_shuffle_epi_1010(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_epi_1001(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_epi_0101(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 1, 1): \ ++ ret = _mm_shuffle_epi_2211(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 2, 2): \ ++ ret = _mm_shuffle_epi_0122(_a); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 2): \ ++ ret = _mm_shuffle_epi_3332(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 0, 0): \ ++ ret = _mm_shuffle_epi32_splat(_a, 0); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 1, 1): \ ++ ret = _mm_shuffle_epi32_splat(_a, 1); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 2, 2): \ ++ ret = _mm_shuffle_epi32_splat(_a, 2); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 3): \ ++ ret = _mm_shuffle_epi32_splat(_a, 3); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_epi32_default(_a, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Shuffle double-precision (64-bit) floating-point elements using the control ++// in imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pd ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pd(a, b, imm8) \ ++ vreinterpretq_m128d_s64( \ ++ vshuffleq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b), \ ++ imm8 & 0x1, ((imm8 & 0x2) >> 1) + 2)) ++#else ++#define _mm_shuffle_pd(a, b, imm8) \ ++ _mm_castsi128_pd(_mm_set_epi64x( \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(b), (imm8 & 0x2) >> 1), \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(a), imm8 & 0x1))) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflehi_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflehi_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = \ ++ vshuffleq_s16(_input, _input, 0, 1, 2, 3, ((imm) & (0x3)) + 4, \ ++ (((imm) >> 2) & 0x3) + 4, (((imm) >> 4) & 0x3) + 4, \ ++ (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflehi_epi16(a, imm) _mm_shufflehi_epi16_function((a), (imm)) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflelo_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflelo_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = vshuffleq_s16( \ ++ _input, _input, ((imm) & (0x3)), (((imm) >> 2) & 0x3), \ ++ (((imm) >> 4) & 0x3), (((imm) >> 6) & 0x3), 4, 5, 6, 7); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflelo_epi16(a, imm) _mm_shufflelo_epi16_function((a), (imm)) ++#endif ++ ++// Shift packed 16-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi16 ++FORCE_INLINE __m128i _mm_sll_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16((int16_t) c); ++ return vreinterpretq_m128i_s16(vshlq_s16(vreinterpretq_s16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi32 ++FORCE_INLINE __m128i _mm_sll_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32((int32_t) c); ++ return vreinterpretq_m128i_s32(vshlq_s32(vreinterpretq_s32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi64 ++FORCE_INLINE __m128i _mm_sll_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64((int64_t) c); ++ return vreinterpretq_m128i_s64(vshlq_s64(vreinterpretq_s64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi16 ++FORCE_INLINE __m128i _mm_slli_epi16(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~15)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16(vreinterpretq_s16_m128i(a), vdupq_n_s16(imm))); ++} ++ ++// Shift packed 32-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi32 ++FORCE_INLINE __m128i _mm_slli_epi32(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~31)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32(vreinterpretq_s32_m128i(a), vdupq_n_s32(imm))); ++} ++ ++// Shift packed 64-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi64 ++FORCE_INLINE __m128i _mm_slli_epi64(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~63)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s64( ++ vshlq_s64(vreinterpretq_s64_m128i(a), vdupq_n_s64(imm))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_si128 ++#define _mm_slli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely(imm == 0)) ret = vreinterpretq_s8_m128i(_a); \ ++ else if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vdupq_n_s8(0), vreinterpretq_s8_m128i(_a), \ ++ ((imm <= 0 || imm > 15) ? 0 : (16 - imm))); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Compute the square root of packed double-precision (64-bit) floating-point ++// elements in a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_pd ++FORCE_INLINE __m128d _mm_sqrt_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsqrtq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double a0 = sqrt(((double *) &a)[0]); ++ double a1 = sqrt(((double *) &a)[1]); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Compute the square root of the lower double-precision (64-bit) floating-point ++// element in b, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_sd ++FORCE_INLINE __m128d _mm_sqrt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_sqrt_pd(b)); ++#else ++ return _mm_set_pd(((double *) &a)[1], sqrt(((double *) &b)[0])); ++#endif ++} ++ ++// Shift packed 16-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi16 ++FORCE_INLINE __m128i _mm_sra_epi16(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_cmplt_epi16(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16((int16x8_t) a, vdupq_n_s16((int) -c))); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi32 ++FORCE_INLINE __m128i _mm_sra_epi32(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_cmplt_epi32(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32((int32x4_t) a, vdupq_n_s32((int) -c))); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in sign ++// bits, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi16 ++FORCE_INLINE __m128i _mm_srai_epi16(__m128i a, int imm) ++{ ++ const int count = (imm & ~15) ? 15 : imm; ++ return (__m128i) vshlq_s16((int16x8_t) a, vdupq_n_s16(-count)); ++} ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi32 ++// FORCE_INLINE __m128i _mm_srai_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srai_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) == 0)) { \ ++ ret = _a; \ ++ } else if (_sse2neon_likely(0 < (imm) && (imm) < 32)) { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshlq_s32(vreinterpretq_s32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } else { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshrq_n_s32(vreinterpretq_s32_m128i(_a), 31)); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 16-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi16 ++FORCE_INLINE __m128i _mm_srl_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16(-(int16_t) c); ++ return vreinterpretq_m128i_u16(vshlq_u16(vreinterpretq_u16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi32 ++FORCE_INLINE __m128i _mm_srl_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32(-(int32_t) c); ++ return vreinterpretq_m128i_u32(vshlq_u32(vreinterpretq_u32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi64 ++FORCE_INLINE __m128i _mm_srl_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64(-(int64_t) c); ++ return vreinterpretq_m128i_u64(vshlq_u64(vreinterpretq_u64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi16 ++#define _mm_srli_epi16(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~15)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u16( \ ++ vshlq_u16(vreinterpretq_u16_m128i(_a), vdupq_n_s16(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi32 ++// FORCE_INLINE __m128i _mm_srli_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srli_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~31)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u32( \ ++ vshlq_u32(vreinterpretq_u32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 64-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi64 ++#define _mm_srli_epi64(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~63)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u64( \ ++ vshlq_u64(vreinterpretq_u64_m128i(_a), vdupq_n_s64(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_si128 ++#define _mm_srli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vreinterpretq_s8_m128i(_a), vdupq_n_s8(0), \ ++ (imm > 15 ? 0 : imm)); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd ++FORCE_INLINE void _mm_store_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64((float64_t *) mem_addr, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_f32((float32_t *) mem_addr, vreinterpretq_f32_m128d(a)); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd1 ++FORCE_INLINE void _mm_store_pd1(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x1_t a_low = vget_low_f64(vreinterpretq_f64_m128d(a)); ++ vst1q_f64((float64_t *) mem_addr, ++ vreinterpretq_f64_m128d(vcombine_f64(a_low, a_low))); ++#else ++ float32x2_t a_low = vget_low_f32(vreinterpretq_f32_m128d(a)); ++ vst1q_f32((float32_t *) mem_addr, ++ vreinterpretq_f32_m128d(vcombine_f32(a_low, a_low))); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_store_sd ++FORCE_INLINE void _mm_store_sd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_u64((uint64_t *) mem_addr, vget_low_u64(vreinterpretq_u64_m128d(a))); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_si128 ++FORCE_INLINE void _mm_store_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#expand=9,526,5601&text=_mm_store1_pd ++#define _mm_store1_pd _mm_store_pd1 ++ ++// Store the upper double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pd ++FORCE_INLINE void _mm_storeh_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_high_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_high_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 64-bit integer from the first element of a into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_epi64 ++FORCE_INLINE void _mm_storel_epi64(__m128i *a, __m128i b) ++{ ++ vst1_u64((uint64_t *) a, vget_low_u64(vreinterpretq_u64_m128i(b))); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pd ++FORCE_INLINE void _mm_storel_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_low_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 2 double-precision (64-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_pd ++FORCE_INLINE void _mm_storer_pd(double *mem_addr, __m128d a) ++{ ++ float32x4_t f = vreinterpretq_f32_m128d(a); ++ _mm_store_pd(mem_addr, vreinterpretq_m128d_f32(vextq_f32(f, f, 2))); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_pd ++FORCE_INLINE void _mm_storeu_pd(double *mem_addr, __m128d a) ++{ ++ _mm_store_pd(mem_addr, a); ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si128 ++FORCE_INLINE void _mm_storeu_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store 32-bit integer from the first element of a into memory. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si32 ++FORCE_INLINE void _mm_storeu_si32(void *p, __m128i a) ++{ ++ vst1q_lane_s32((int32_t *) p, vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory using a non-temporal memory hint. mem_addr must ++// be aligned on a 16-byte boundary or a general-protection exception may be ++// generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pd ++FORCE_INLINE void _mm_stream_pd(double *p, __m128d a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (__m128d *) p); ++#elif defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64(p, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128d(a)); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory using a non-temporal memory ++// hint. mem_addr must be aligned on a 16-byte boundary or a general-protection ++// exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si128 ++FORCE_INLINE void _mm_stream_si128(__m128i *p, __m128i a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, p); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128i(a)); ++#endif ++} ++ ++// Store 32-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si32 ++FORCE_INLINE void _mm_stream_si32(int *p, int a) ++{ ++ vst1q_lane_s32((int32_t *) p, vdupq_n_s32(a), 0); ++} ++ ++// Store 64-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si64 ++FORCE_INLINE void _mm_stream_si64(__int64 *p, __int64 a) ++{ ++ vst1_s64((int64_t *) p, vdup_n_s64((int64_t) a)); ++} ++ ++// Subtract packed 16-bit integers in b from packed 16-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi16 ++FORCE_INLINE __m128i _mm_sub_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed 32-bit integers in b from packed 32-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi32 ++FORCE_INLINE __m128i _mm_sub_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Subtract packed 64-bit integers in b from packed 64-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi64 ++FORCE_INLINE __m128i _mm_sub_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vsubq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Subtract packed 8-bit integers in b from packed 8-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi8 ++FORCE_INLINE __m128i _mm_sub_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed double-precision (64-bit) floating-point elements in b from ++// packed double-precision (64-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_sub_pd ++FORCE_INLINE __m128d _mm_sub_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] - db[0]; ++ c[1] = da[1] - db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Subtract the lower double-precision (64-bit) floating-point element in b from ++// the lower double-precision (64-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_sd ++FORCE_INLINE __m128d _mm_sub_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_sub_pd(a, b)); ++} ++ ++// Subtract 64-bit integer b from 64-bit integer a, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_si64 ++FORCE_INLINE __m64 _mm_sub_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vsub_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Subtract packed signed 16-bit integers in b from packed 16-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi16 ++FORCE_INLINE __m128i _mm_subs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed signed 8-bit integers in b from packed 8-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi8 ++FORCE_INLINE __m128i _mm_subs_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed unsigned 16-bit integers in b from packed unsigned 16-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu16 ++FORCE_INLINE __m128i _mm_subs_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqsubq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Subtract packed unsigned 8-bit integers in b from packed unsigned 8-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu8 ++FORCE_INLINE __m128i _mm_subs_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqsubq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++#define _mm_ucomieq_sd _mm_comieq_sd ++#define _mm_ucomige_sd _mm_comige_sd ++#define _mm_ucomigt_sd _mm_comigt_sd ++#define _mm_ucomile_sd _mm_comile_sd ++#define _mm_ucomilt_sd _mm_comilt_sd ++#define _mm_ucomineq_sd _mm_comineq_sd ++ ++// Return vector of type __m128d with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_pd ++FORCE_INLINE __m128d _mm_undefined_pd(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128d a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_pd(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi16 ++FORCE_INLINE __m128i _mm_unpackhi_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip2q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi32 ++FORCE_INLINE __m128i _mm_unpackhi_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip2q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_high_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi64 ++FORCE_INLINE __m128i _mm_unpackhi_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip2q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_h = vget_high_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_h = vget_high_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_h, b_h)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the high half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi8 ++FORCE_INLINE __m128i _mm_unpackhi_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip2q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the high half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_pd ++FORCE_INLINE __m128d _mm_unpackhi_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip2q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_high_s64(vreinterpretq_s64_m128d(a)), ++ vget_high_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi16 ++FORCE_INLINE __m128i _mm_unpacklo_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip1q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi32 ++FORCE_INLINE __m128i _mm_unpacklo_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip1q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_low_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi64 ++FORCE_INLINE __m128i _mm_unpacklo_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip1q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_l = vget_low_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_l = vget_low_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_l, b_l)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi8 ++FORCE_INLINE __m128i _mm_unpacklo_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip1q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_pd ++FORCE_INLINE __m128d _mm_unpacklo_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip1q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_low_s64(vreinterpretq_s64_m128d(a)), ++ vget_low_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Compute the bitwise XOR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_pd ++FORCE_INLINE __m128d _mm_xor_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ veorq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise XOR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_si128 ++FORCE_INLINE __m128i _mm_xor_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ veorq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++/* SSE3 */ ++ ++// Alternatively add and subtract packed double-precision (64-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_addsub_pd ++FORCE_INLINE __m128d _mm_addsub_pd(__m128d a, __m128d b) ++{ ++ _sse2neon_const __m128d mask = _mm_set_pd(1.0f, -1.0f); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vfmaq_f64(vreinterpretq_f64_m128d(a), ++ vreinterpretq_f64_m128d(b), ++ vreinterpretq_f64_m128d(mask))); ++#else ++ return _mm_add_pd(_mm_mul_pd(b, mask), a); ++#endif ++} ++ ++// Alternatively add and subtract packed single-precision (32-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=addsub_ps ++FORCE_INLINE __m128 _mm_addsub_ps(__m128 a, __m128 b) ++{ ++ _sse2neon_const __m128 mask = _mm_setr_ps(-1.0f, 1.0f, -1.0f, 1.0f); ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_FMA) /* VFPv4+ */ ++ return vreinterpretq_m128_f32(vfmaq_f32(vreinterpretq_f32_m128(a), ++ vreinterpretq_f32_m128(mask), ++ vreinterpretq_f32_m128(b))); ++#else ++ return _mm_add_ps(_mm_mul_ps(b, mask), a); ++#endif ++} ++ ++// Horizontally add adjacent pairs of double-precision (64-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pd ++FORCE_INLINE __m128d _mm_hadd_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vpaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[] = {da[0] + da[1], db[0] + db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of single-precision (32-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_ps ++FORCE_INLINE __m128 _mm_hadd_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vpaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vpadd_f32(a10, a32), vpadd_f32(b10, b32))); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of double-precision (64-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pd ++FORCE_INLINE __m128d _mm_hsub_pd(__m128d _a, __m128d _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vuzp1q_f64(a, b), vuzp2q_f64(a, b))); ++#else ++ double *da = (double *) &_a; ++ double *db = (double *) &_b; ++ double c[] = {da[0] - da[1], db[0] - db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of single-precision (32-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_ps ++FORCE_INLINE __m128 _mm_hsub_ps(__m128 _a, __m128 _b) ++{ ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vuzp1q_f32(a, b), vuzp2q_f32(a, b))); ++#else ++ float32x4x2_t c = vuzpq_f32(a, b); ++ return vreinterpretq_m128_f32(vsubq_f32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Load 128-bits of integer data from unaligned memory into dst. This intrinsic ++// may perform better than _mm_loadu_si128 when the data crosses a cache line ++// boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lddqu_si128 ++#define _mm_lddqu_si128 _mm_loadu_si128 ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loaddup_pd ++#define _mm_loaddup_pd _mm_load1_pd ++ ++// Duplicate the low double-precision (64-bit) floating-point element from a, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movedup_pd ++FORCE_INLINE __m128d _mm_movedup_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdupq_laneq_f64(vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_u64( ++ vdupq_n_u64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0))); ++#endif ++} ++ ++// Duplicate odd-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehdup_ps ++FORCE_INLINE __m128 _mm_movehdup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 1, 1, 3, 3)); ++#else ++ float32_t a1 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ float32_t a3 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 3); ++ float ALIGN_STRUCT(16) data[4] = {a1, a1, a3, a3}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Duplicate even-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_moveldup_ps ++FORCE_INLINE __m128 _mm_moveldup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 0, 0, 2, 2)); ++#else ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32_t a2 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 2); ++ float ALIGN_STRUCT(16) data[4] = {a0, a0, a2, a2}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++/* SSSE3 */ ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi16 ++FORCE_INLINE __m128i _mm_abs_epi16(__m128i a) ++{ ++ return vreinterpretq_m128i_s16(vabsq_s16(vreinterpretq_s16_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi32 ++FORCE_INLINE __m128i _mm_abs_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32(vabsq_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi8 ++FORCE_INLINE __m128i _mm_abs_epi8(__m128i a) ++{ ++ return vreinterpretq_m128i_s8(vabsq_s8(vreinterpretq_s8_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi16 ++FORCE_INLINE __m64 _mm_abs_pi16(__m64 a) ++{ ++ return vreinterpret_m64_s16(vabs_s16(vreinterpret_s16_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi32 ++FORCE_INLINE __m64 _mm_abs_pi32(__m64 a) ++{ ++ return vreinterpret_m64_s32(vabs_s32(vreinterpret_s32_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi8 ++FORCE_INLINE __m64 _mm_abs_pi8(__m64 a) ++{ ++ return vreinterpret_m64_s8(vabs_s8(vreinterpret_s8_m64(a))); ++} ++ ++// Concatenate 16-byte blocks in a and b into a 32-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 16 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_epi8 ++#if defined(__GNUC__) && !defined(__clang__) ++#define _mm_alignr_epi8(a, b, imm) \ ++ __extension__({ \ ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); \ ++ uint8x16_t _b = vreinterpretq_u8_m128i(b); \ ++ __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) \ ++ ret = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) \ ++ ret = _mm_srli_si128(a, imm >= 16 ? imm - 16 : 0); \ ++ else \ ++ ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(_b, _a, imm < 16 ? imm : 0)); \ ++ ret; \ ++ }) ++ ++#else ++#define _mm_alignr_epi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, uint8x16_t __a = vreinterpretq_u8_m128i(_a); \ ++ uint8x16_t __b = vreinterpretq_u8_m128i(_b); __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) ret = \ ++ vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) ret = \ ++ _mm_srli_si128(_a, imm >= 16 ? imm - 16 : 0); \ ++ else ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(__b, __a, imm < 16 ? imm : 0)); \ ++ _sse2neon_return(ret);) ++ ++#endif ++ ++// Concatenate 8-byte blocks in a and b into a 16-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 8 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_pi8 ++#define _mm_alignr_pi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m64, a, b, __m64 ret; if (_sse2neon_unlikely((imm) >= 16)) { \ ++ ret = vreinterpret_m64_s8(vdup_n_s8(0)); \ ++ } else { \ ++ uint8x8_t tmp_low; \ ++ uint8x8_t tmp_high; \ ++ if ((imm) >= 8) { \ ++ const int idx = (imm) -8; \ ++ tmp_low = vreinterpret_u8_m64(_a); \ ++ tmp_high = vdup_n_u8(0); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } else { \ ++ const int idx = (imm); \ ++ tmp_low = vreinterpret_u8_m64(_b); \ ++ tmp_high = vreinterpret_u8_m64(_a); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } \ ++ } _sse2neon_return(ret);) ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi16 ++FORCE_INLINE __m128i _mm_hadd_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16(vpaddq_s16(a, b)); ++#else ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(vget_low_s16(a), vget_high_s16(a)), ++ vpadd_s16(vget_low_s16(b), vget_high_s16(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi32 ++FORCE_INLINE __m128i _mm_hadd_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32(vpaddq_s32(a, b)); ++#else ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vpadd_s32(vget_low_s32(a), vget_high_s32(a)), ++ vpadd_s32(vget_low_s32(b), vget_high_s32(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi16 ++FORCE_INLINE __m64 _mm_hadd_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vpadd_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi32 ++FORCE_INLINE __m64 _mm_hadd_pi32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s32( ++ vpadd_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_epi16 ++FORCE_INLINE __m128i _mm_hadds_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ return vreinterpretq_s64_s16( ++ vqaddq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ // Interleave using vshrn/vmovn ++ // [a0|a2|a4|a6|b0|b2|b4|b6] ++ // [a1|a3|a5|a7|b1|b3|b5|b7] ++ int16x8_t ab0246 = vcombine_s16(vmovn_s32(a), vmovn_s32(b)); ++ int16x8_t ab1357 = vcombine_s16(vshrn_n_s32(a, 16), vshrn_n_s32(b, 16)); ++ // Saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(ab0246, ab1357)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_pi16 ++FORCE_INLINE __m64 _mm_hadds_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_s64_s16(vqadd_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t res = vuzp_s16(a, b); ++ return vreinterpret_s64_s16(vqadd_s16(res.val[0], res.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi16 ++FORCE_INLINE __m128i _mm_hsub_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi32 ++FORCE_INLINE __m128i _mm_hsub_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vuzp1q_s32(a, b), vuzp2q_s32(a, b))); ++#else ++ int32x4x2_t c = vuzpq_s32(a, b); ++ return vreinterpretq_m128i_s32(vsubq_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pi16 ++FORCE_INLINE __m64 _mm_hsub_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_hsub_pi32 ++FORCE_INLINE __m64 _mm_hsub_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s32(vsub_s32(vuzp1_s32(a, b), vuzp2_s32(a, b))); ++#else ++ int32x2x2_t c = vuzp_s32(a, b); ++ return vreinterpret_m64_s32(vsub_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_epi16 ++FORCE_INLINE __m128i _mm_hsubs_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vqsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_pi16 ++FORCE_INLINE __m64 _mm_hsubs_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vqsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vqsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, ++// and pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_epi16 ++FORCE_INLINE __m128i _mm_maddubs_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ int16x8_t tl = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_low_u8(a))), ++ vmovl_s8(vget_low_s8(b))); ++ int16x8_t th = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_high_u8(a))), ++ vmovl_s8(vget_high_s8(b))); ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vuzp1q_s16(tl, th), vuzp2q_s16(tl, th))); ++#else ++ // This would be much simpler if x86 would choose to zero extend OR sign ++ // extend, not both. This could probably be optimized better. ++ uint16x8_t a = vreinterpretq_u16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // Zero extend a ++ int16x8_t a_odd = vreinterpretq_s16_u16(vshrq_n_u16(a, 8)); ++ int16x8_t a_even = vreinterpretq_s16_u16(vbicq_u16(a, vdupq_n_u16(0xff00))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x8_t b_even = vshrq_n_s16(vshlq_n_s16(b, 8), 8); ++ int16x8_t b_odd = vshrq_n_s16(b, 8); ++ ++ // multiply ++ int16x8_t prod1 = vmulq_s16(a_even, b_even); ++ int16x8_t prod2 = vmulq_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(prod1, prod2)); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, and ++// pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_pi16 ++FORCE_INLINE __m64 _mm_maddubs_pi16(__m64 _a, __m64 _b) ++{ ++ uint16x4_t a = vreinterpret_u16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // Zero extend a ++ int16x4_t a_odd = vreinterpret_s16_u16(vshr_n_u16(a, 8)); ++ int16x4_t a_even = vreinterpret_s16_u16(vand_u16(a, vdup_n_u16(0xff))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x4_t b_even = vshr_n_s16(vshl_n_s16(b, 8), 8); ++ int16x4_t b_odd = vshr_n_s16(b, 8); ++ ++ // multiply ++ int16x4_t prod1 = vmul_s16(a_even, b_even); ++ int16x4_t prod2 = vmul_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpret_m64_s16(vqadd_s16(prod1, prod2)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Shift right by 15 bits while rounding up, and store ++// the packed 16-bit integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_epi16 ++FORCE_INLINE __m128i _mm_mulhrs_epi16(__m128i a, __m128i b) ++{ ++ // Has issues due to saturation ++ // return vreinterpretq_m128i_s16(vqrdmulhq_s16(a, b)); ++ ++ // Multiply ++ int32x4_t mul_lo = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int32x4_t mul_hi = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ // Rounding narrowing shift right ++ // narrow = (int16_t)((mul + 16384) >> 15); ++ int16x4_t narrow_lo = vrshrn_n_s32(mul_lo, 15); ++ int16x4_t narrow_hi = vrshrn_n_s32(mul_hi, 15); ++ ++ // Join together ++ return vreinterpretq_m128i_s16(vcombine_s16(narrow_lo, narrow_hi)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Truncate each intermediate integer to the 18 most ++// significant bits, round by adding 1, and store bits [16:1] to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_pi16 ++FORCE_INLINE __m64 _mm_mulhrs_pi16(__m64 a, __m64 b) ++{ ++ int32x4_t mul_extend = ++ vmull_s16((vreinterpret_s16_m64(a)), (vreinterpret_s16_m64(b))); ++ ++ // Rounding narrowing shift right ++ return vreinterpret_m64_s16(vrshrn_n_s32(mul_extend, 15)); ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi8 ++FORCE_INLINE __m128i _mm_shuffle_epi8(__m128i a, __m128i b) ++{ ++ int8x16_t tbl = vreinterpretq_s8_m128i(a); // input a ++ uint8x16_t idx = vreinterpretq_u8_m128i(b); // input b ++ uint8x16_t idx_masked = ++ vandq_u8(idx, vdupq_n_u8(0x8F)); // avoid using meaningless bits ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8(vqtbl1q_s8(tbl, idx_masked)); ++#elif defined(__GNUC__) ++ int8x16_t ret; ++ // %e and %f represent the even and odd D registers ++ // respectively. ++ __asm__ __volatile__( ++ "vtbl.8 %e[ret], {%e[tbl], %f[tbl]}, %e[idx]\n" ++ "vtbl.8 %f[ret], {%e[tbl], %f[tbl]}, %f[idx]\n" ++ : [ret] "=&w"(ret) ++ : [tbl] "w"(tbl), [idx] "w"(idx_masked)); ++ return vreinterpretq_m128i_s8(ret); ++#else ++ // use this line if testing on aarch64 ++ int8x8x2_t a_split = {vget_low_s8(tbl), vget_high_s8(tbl)}; ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vtbl2_s8(a_split, vget_low_u8(idx_masked)), ++ vtbl2_s8(a_split, vget_high_u8(idx_masked)))); ++#endif ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi8 ++FORCE_INLINE __m64 _mm_shuffle_pi8(__m64 a, __m64 b) ++{ ++ const int8x8_t controlMask = ++ vand_s8(vreinterpret_s8_m64(b), vdup_n_s8((int8_t) (0x1 << 7 | 0x07))); ++ int8x8_t res = vtbl1_s8(vreinterpret_s8_m64(a), controlMask); ++ return vreinterpret_m64_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed ++// 16-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi16 ++FORCE_INLINE __m128i _mm_sign_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x8_t ltMask = vreinterpretq_u16_s16(vshrq_n_s16(b, 15)); ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqzq_s16(b)); ++#else ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqq_s16(b, vdupq_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s16(a) equals to negative ++ // 'a') based on ltMask ++ int16x8_t masked = vbslq_s16(ltMask, vnegq_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x8_t res = vbicq_s16(masked, zeroMask); ++ return vreinterpretq_m128i_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed ++// 32-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi32 ++FORCE_INLINE __m128i _mm_sign_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x4_t ltMask = vreinterpretq_u32_s32(vshrq_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqzq_s32(b)); ++#else ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqq_s32(b, vdupq_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s32(a) equals to negative ++ // 'a') based on ltMask ++ int32x4_t masked = vbslq_s32(ltMask, vnegq_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x4_t res = vbicq_s32(masked, zeroMask); ++ return vreinterpretq_m128i_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed ++// 8-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi8 ++FORCE_INLINE __m128i _mm_sign_epi8(__m128i _a, __m128i _b) ++{ ++ int8x16_t a = vreinterpretq_s8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x16_t ltMask = vreinterpretq_u8_s8(vshrq_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqzq_s8(b)); ++#else ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqq_s8(b, vdupq_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s8(a) return negative 'a') ++ // based on ltMask ++ int8x16_t masked = vbslq_s8(ltMask, vnegq_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x16_t res = vbicq_s8(masked, zeroMask); ++ ++ return vreinterpretq_m128i_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed 16-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi16 ++FORCE_INLINE __m64 _mm_sign_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x4_t ltMask = vreinterpret_u16_s16(vshr_n_s16(b, 15)); ++ ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceqz_s16(b)); ++#else ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceq_s16(b, vdup_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s16(a) return negative 'a') ++ // based on ltMask ++ int16x4_t masked = vbsl_s16(ltMask, vneg_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x4_t res = vbic_s16(masked, zeroMask); ++ ++ return vreinterpret_m64_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed 32-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi32 ++FORCE_INLINE __m64 _mm_sign_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x2_t ltMask = vreinterpret_u32_s32(vshr_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceqz_s32(b)); ++#else ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceq_s32(b, vdup_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s32(a) return negative 'a') ++ // based on ltMask ++ int32x2_t masked = vbsl_s32(ltMask, vneg_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x2_t res = vbic_s32(masked, zeroMask); ++ ++ return vreinterpret_m64_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed 8-bit integer ++// in b is negative, and store the results in dst. Element in dst are zeroed out ++// when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi8 ++FORCE_INLINE __m64 _mm_sign_pi8(__m64 _a, __m64 _b) ++{ ++ int8x8_t a = vreinterpret_s8_m64(_a); ++ int8x8_t b = vreinterpret_s8_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x8_t ltMask = vreinterpret_u8_s8(vshr_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceqz_s8(b)); ++#else ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceq_s8(b, vdup_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s8(a) return negative 'a') ++ // based on ltMask ++ int8x8_t masked = vbsl_s8(ltMask, vneg_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x8_t res = vbic_s8(masked, zeroMask); ++ ++ return vreinterpret_m64_s8(res); ++} ++ ++/* SSE4.1 */ ++ ++// Blend packed 16-bit integers from a and b using control mask imm8, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_epi16 ++// FORCE_INLINE __m128i _mm_blend_epi16(__m128i a, __m128i b, ++// __constrange(0,255) int imm) ++#define _mm_blend_epi16(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, \ ++ const uint16_t _mask[8] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 1)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 2)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 3)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 4)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 5)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 6)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 7)) ? (uint16_t) -1 : 0x0); \ ++ uint16x8_t _mask_vec = vld1q_u16(_mask); \ ++ uint16x8_t __a = vreinterpretq_u16_m128i(_a); \ ++ uint16x8_t __b = vreinterpretq_u16_m128i(_b); _sse2neon_return( \ ++ vreinterpretq_m128i_u16(vbslq_u16(_mask_vec, __b, __a)));) ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using control mask imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_pd ++#define _mm_blend_pd(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128d, a, b, \ ++ const uint64_t _mask[2] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? ~UINT64_C(0) : UINT64_C(0), \ ++ ((imm) & (1 << 1)) ? ~UINT64_C(0) : UINT64_C(0)); \ ++ uint64x2_t _mask_vec = vld1q_u64(_mask); \ ++ uint64x2_t __a = vreinterpretq_u64_m128d(_a); \ ++ uint64x2_t __b = vreinterpretq_u64_m128d(_b); _sse2neon_return( \ ++ vreinterpretq_m128d_u64(vbslq_u64(_mask_vec, __b, __a)));) ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_ps ++FORCE_INLINE __m128 _mm_blend_ps(__m128 _a, __m128 _b, const char imm8) ++{ ++ const uint32_t ALIGN_STRUCT(16) ++ data[4] = {((imm8) & (1 << 0)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0}; ++ uint32x4_t mask = vld1q_u32(data); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Blend packed 8-bit integers from a and b using mask, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_epi8 ++FORCE_INLINE __m128i _mm_blendv_epi8(__m128i _a, __m128i _b, __m128i _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint8x16_t mask = ++ vreinterpretq_u8_s8(vshrq_n_s8(vreinterpretq_s8_m128i(_mask), 7)); ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ uint8x16_t b = vreinterpretq_u8_m128i(_b); ++ return vreinterpretq_m128i_u8(vbslq_u8(mask, b, a)); ++} ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_pd ++FORCE_INLINE __m128d _mm_blendv_pd(__m128d _a, __m128d _b, __m128d _mask) ++{ ++ uint64x2_t mask = ++ vreinterpretq_u64_s64(vshrq_n_s64(vreinterpretq_s64_m128d(_mask), 63)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64(vbslq_f64(mask, b, a)); ++#else ++ uint64x2_t a = vreinterpretq_u64_m128d(_a); ++ uint64x2_t b = vreinterpretq_u64_m128d(_b); ++ return vreinterpretq_m128d_u64(vbslq_u64(mask, b, a)); ++#endif ++} ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_ps ++FORCE_INLINE __m128 _mm_blendv_ps(__m128 _a, __m128 _b, __m128 _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint32x4_t mask = ++ vreinterpretq_u32_s32(vshrq_n_s32(vreinterpretq_s32_m128(_mask), 31)); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a up ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_pd ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndpq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(ceil(f[1]), ceil(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a up to ++// an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ps ++FORCE_INLINE __m128 _mm_ceil_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndpq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ceilf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b up to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_sd ++FORCE_INLINE __m128d _mm_ceil_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_ceil_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b up to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ss ++FORCE_INLINE __m128 _mm_ceil_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_ceil_ps(b)); ++} ++ ++// Compare packed 64-bit integers in a and b for equality, and store the results ++// in dst ++FORCE_INLINE __m128i _mm_cmpeq_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vceqq_u64(vreinterpretq_u64_m128i(a), vreinterpretq_u64_m128i(b))); ++#else ++ // ARMv7 lacks vceqq_u64 ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128i_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Sign extend packed 16-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi32 ++FORCE_INLINE __m128i _mm_cvtepi16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vmovl_s16(vget_low_s16(vreinterpretq_s16_m128i(a)))); ++} ++ ++// Sign extend packed 16-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi64 ++FORCE_INLINE __m128i _mm_cvtepi16_epi64(__m128i a) ++{ ++ int16x8_t s16x8 = vreinterpretq_s16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Sign extend packed 32-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_epi64 ++FORCE_INLINE __m128i _mm_cvtepi32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a)))); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 16-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi16 ++FORCE_INLINE __m128i _mm_cvtepi8_epi16(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ return vreinterpretq_m128i_s16(s16x8); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi32 ++FORCE_INLINE __m128i _mm_cvtepi8_epi32(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_s32(s32x4); ++} ++ ++// Sign extend packed 8-bit integers in the low 8 bytes of a to packed 64-bit ++// integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi64 ++FORCE_INLINE __m128i _mm_cvtepi8_epi64(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi32 ++FORCE_INLINE __m128i _mm_cvtepu16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_u32( ++ vmovl_u16(vget_low_u16(vreinterpretq_u16_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi64 ++FORCE_INLINE __m128i _mm_cvtepu16_epi64(__m128i a) ++{ ++ uint16x8_t u16x8 = vreinterpretq_u16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Zero extend packed unsigned 32-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu32_epi64 ++FORCE_INLINE __m128i _mm_cvtepu32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_u64( ++ vmovl_u32(vget_low_u32(vreinterpretq_u32_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 16-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi16 ++FORCE_INLINE __m128i _mm_cvtepu8_epi16(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx HGFE DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0H0G 0F0E 0D0C 0B0A */ ++ return vreinterpretq_m128i_u16(u16x8); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi32 ++FORCE_INLINE __m128i _mm_cvtepu8_epi32(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_u32(u32x4); ++} ++ ++// Zero extend packed unsigned 8-bit integers in the low 8 bytes of a to packed ++// 64-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi64 ++FORCE_INLINE __m128i _mm_cvtepu8_epi64(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Conditionally multiply the packed double-precision (64-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, and ++// conditionally store the sum in dst using the low 4 bits of imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_pd ++FORCE_INLINE __m128d _mm_dp_pd(__m128d a, __m128d b, const int imm) ++{ ++ // Generate mask value from constant immediate bit value ++ const int64_t bit0Mask = imm & 0x01 ? UINT64_MAX : 0; ++ const int64_t bit1Mask = imm & 0x02 ? UINT64_MAX : 0; ++#if !SSE2NEON_PRECISE_DP ++ const int64_t bit4Mask = imm & 0x10 ? UINT64_MAX : 0; ++ const int64_t bit5Mask = imm & 0x20 ? UINT64_MAX : 0; ++#endif ++ // Conditional multiplication ++#if !SSE2NEON_PRECISE_DP ++ __m128d mul = _mm_mul_pd(a, b); ++ const __m128d mulMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit5Mask, bit4Mask)); ++ __m128d tmp = _mm_and_pd(mul, mulMask); ++#else ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double d0 = (imm & 0x10) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 0) ++ : 0; ++ double d1 = (imm & 0x20) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 1) ++ : 0; ++#else ++ double d0 = (imm & 0x10) ? ((double *) &a)[0] * ((double *) &b)[0] : 0; ++ double d1 = (imm & 0x20) ? ((double *) &a)[1] * ((double *) &b)[1] : 0; ++#endif ++ __m128d tmp = _mm_set_pd(d1, d0); ++#endif ++ // Sum the products ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double sum = vpaddd_f64(vreinterpretq_f64_m128d(tmp)); ++#else ++ double sum = *((double *) &tmp) + *(((double *) &tmp) + 1); ++#endif ++ // Conditionally store the sum ++ const __m128d sumMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit1Mask, bit0Mask)); ++ __m128d res = _mm_and_pd(_mm_set_pd1(sum), sumMask); ++ return res; ++} ++ ++// Conditionally multiply the packed single-precision (32-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, ++// and conditionally store the sum in dst using the low 4 bits of imm. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_ps ++FORCE_INLINE __m128 _mm_dp_ps(__m128 a, __m128 b, const int imm) ++{ ++ float32x4_t elementwise_prod = _mm_mul_ps(a, b); ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ /* shortcuts */ ++ if (imm == 0xFF) { ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++ ++ if ((imm & 0x0F) == 0x0F) { ++ if (!(imm & (1 << 4))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 0); ++ if (!(imm & (1 << 5))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 1); ++ if (!(imm & (1 << 6))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 2); ++ if (!(imm & (1 << 7))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 3); ++ ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++#endif ++ ++ float s = 0.0f; ++ ++ if (imm & (1 << 4)) ++ s += vgetq_lane_f32(elementwise_prod, 0); ++ if (imm & (1 << 5)) ++ s += vgetq_lane_f32(elementwise_prod, 1); ++ if (imm & (1 << 6)) ++ s += vgetq_lane_f32(elementwise_prod, 2); ++ if (imm & (1 << 7)) ++ s += vgetq_lane_f32(elementwise_prod, 3); ++ ++ const float32_t res[4] = { ++ (imm & 0x1) ? s : 0.0f, ++ (imm & 0x2) ? s : 0.0f, ++ (imm & 0x4) ? s : 0.0f, ++ (imm & 0x8) ? s : 0.0f, ++ }; ++ return vreinterpretq_m128_f32(vld1q_f32(res)); ++} ++ ++// Extract a 32-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi32 ++// FORCE_INLINE int _mm_extract_epi32(__m128i a, __constrange(0,4) int imm) ++#define _mm_extract_epi32(a, imm) \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)) ++ ++// Extract a 64-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi64 ++// FORCE_INLINE __int64 _mm_extract_epi64(__m128i a, __constrange(0,2) int imm) ++#define _mm_extract_epi64(a, imm) \ ++ vgetq_lane_s64(vreinterpretq_s64_m128i(a), (imm)) ++ ++// Extract an 8-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. FORCE_INLINE int _mm_extract_epi8(__m128i a, ++// __constrange(0,16) int imm) ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi8 ++#define _mm_extract_epi8(a, imm) vgetq_lane_u8(vreinterpretq_u8_m128i(a), (imm)) ++ ++// Extracts the selected single-precision (32-bit) floating-point from a. ++// FORCE_INLINE int _mm_extract_ps(__m128 a, __constrange(0,4) int imm) ++#define _mm_extract_ps(a, imm) vgetq_lane_s32(vreinterpretq_s32_m128(a), (imm)) ++ ++// Round the packed double-precision (64-bit) floating-point elements in a down ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_pd ++FORCE_INLINE __m128d _mm_floor_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndmq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(floor(f[1]), floor(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a down ++// to an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ps ++FORCE_INLINE __m128 _mm_floor_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndmq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(floorf(f[3]), floorf(f[2]), floorf(f[1]), floorf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b down to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_sd ++FORCE_INLINE __m128d _mm_floor_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_floor_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b down to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ss ++FORCE_INLINE __m128 _mm_floor_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_floor_ps(b)); ++} ++ ++// Copy a to dst, and insert the 32-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi32 ++// FORCE_INLINE __m128i _mm_insert_epi32(__m128i a, int b, ++// __constrange(0,4) int imm) ++#define _mm_insert_epi32(a, b, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vsetq_lane_s32((b), vreinterpretq_s32_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the 64-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi64 ++// FORCE_INLINE __m128i _mm_insert_epi64(__m128i a, __int64 b, ++// __constrange(0,2) int imm) ++#define _mm_insert_epi64(a, b, imm) \ ++ vreinterpretq_m128i_s64( \ ++ vsetq_lane_s64((b), vreinterpretq_s64_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the lower 8-bit integer from i into dst at the ++// location specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi8 ++// FORCE_INLINE __m128i _mm_insert_epi8(__m128i a, int b, ++// __constrange(0,16) int imm) ++#define _mm_insert_epi8(a, b, imm) \ ++ vreinterpretq_m128i_s8(vsetq_lane_s8((b), vreinterpretq_s8_m128i(a), (imm))) ++ ++// Copy a to tmp, then insert a single-precision (32-bit) floating-point ++// element from b into tmp using the control in imm8. Store tmp to dst using ++// the mask in imm8 (elements are zeroed out when the corresponding bit is set). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=insert_ps ++#define _mm_insert_ps(a, b, imm8) \ ++ _sse2neon_define2( \ ++ __m128, a, b, \ ++ float32x4_t tmp1 = \ ++ vsetq_lane_f32(vgetq_lane_f32(_b, (imm8 >> 6) & 0x3), \ ++ vreinterpretq_f32_m128(_a), 0); \ ++ float32x4_t tmp2 = \ ++ vsetq_lane_f32(vgetq_lane_f32(tmp1, 0), \ ++ vreinterpretq_f32_m128(_a), ((imm8 >> 4) & 0x3)); \ ++ const uint32_t data[4] = \ ++ _sse2neon_init(((imm8) & (1 << 0)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0); \ ++ uint32x4_t mask = vld1q_u32(data); \ ++ float32x4_t all_zeros = vdupq_n_f32(0); \ ++ \ ++ _sse2neon_return(vreinterpretq_m128_f32( \ ++ vbslq_f32(mask, all_zeros, vreinterpretq_f32_m128(tmp2))));) ++ ++// Compare packed signed 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi32 ++FORCE_INLINE __m128i _mm_max_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmaxq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi8 ++FORCE_INLINE __m128i _mm_max_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vmaxq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu16 ++FORCE_INLINE __m128i _mm_max_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vmaxq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_max_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vmaxq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi32 ++FORCE_INLINE __m128i _mm_min_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vminq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi8 ++FORCE_INLINE __m128i _mm_min_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vminq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu16 ++FORCE_INLINE __m128i _mm_min_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vminq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_min_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vminq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Horizontally compute the minimum amongst the packed unsigned 16-bit integers ++// in a, store the minimum and index in dst, and zero the remaining bits in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_minpos_epu16 ++FORCE_INLINE __m128i _mm_minpos_epu16(__m128i a) ++{ ++ __m128i dst; ++ uint16_t min, idx = 0; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Find the minimum value ++ min = vminvq_u16(vreinterpretq_u16_m128i(a)); ++ ++ // Get the index of the minimum value ++ static const uint16_t idxv[] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint16x8_t minv = vdupq_n_u16(min); ++ uint16x8_t cmeq = vceqq_u16(minv, vreinterpretq_u16_m128i(a)); ++ idx = vminvq_u16(vornq_u16(vld1q_u16(idxv), cmeq)); ++#else ++ // Find the minimum value ++ __m64 tmp; ++ tmp = vreinterpret_m64_u16( ++ vmin_u16(vget_low_u16(vreinterpretq_u16_m128i(a)), ++ vget_high_u16(vreinterpretq_u16_m128i(a)))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ min = vget_lane_u16(vreinterpret_u16_m64(tmp), 0); ++ // Get the index of the minimum value ++ int i; ++ for (i = 0; i < 8; i++) { ++ if (min == vgetq_lane_u16(vreinterpretq_u16_m128i(a), 0)) { ++ idx = (uint16_t) i; ++ break; ++ } ++ a = _mm_srli_si128(a, 2); ++ } ++#endif ++ // Generate result ++ dst = _mm_setzero_si128(); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(min, vreinterpretq_u16_m128i(dst), 0)); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(idx, vreinterpretq_u16_m128i(dst), 1)); ++ return dst; ++} ++ ++// Compute the sum of absolute differences (SADs) of quadruplets of unsigned ++// 8-bit integers in a compared to those in b, and store the 16-bit results in ++// dst. Eight SADs are performed using one quadruplet from b and eight ++// quadruplets from a. One quadruplet is selected from b starting at on the ++// offset specified in imm8. Eight quadruplets are formed from sequential 8-bit ++// integers selected from a starting at the offset specified in imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mpsadbw_epu8 ++FORCE_INLINE __m128i _mm_mpsadbw_epu8(__m128i a, __m128i b, const int imm) ++{ ++ uint8x16_t _a, _b; ++ ++ switch (imm & 0x4) { ++ case 0: ++ // do nothing ++ _a = vreinterpretq_u8_m128i(a); ++ break; ++ case 4: ++ _a = vreinterpretq_u8_u32(vextq_u32(vreinterpretq_u32_m128i(a), ++ vreinterpretq_u32_m128i(a), 1)); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ switch (imm & 0x3) { ++ case 0: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 0))); ++ break; ++ case 1: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 1))); ++ break; ++ case 2: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 2))); ++ break; ++ case 3: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 3))); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ int16x8_t c04, c15, c26, c37; ++ uint8x8_t low_b = vget_low_u8(_b); ++ c04 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a), low_b)); ++ uint8x16_t _a_1 = vextq_u8(_a, _a, 1); ++ c15 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_1), low_b)); ++ uint8x16_t _a_2 = vextq_u8(_a, _a, 2); ++ c26 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_2), low_b)); ++ uint8x16_t _a_3 = vextq_u8(_a, _a, 3); ++ c37 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_3), low_b)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // |0|4|2|6| ++ c04 = vpaddq_s16(c04, c26); ++ // |1|5|3|7| ++ c15 = vpaddq_s16(c15, c37); ++ ++ int32x4_t trn1_c = ++ vtrn1q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ int32x4_t trn2_c = ++ vtrn2q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ return vreinterpretq_m128i_s16(vpaddq_s16(vreinterpretq_s16_s32(trn1_c), ++ vreinterpretq_s16_s32(trn2_c))); ++#else ++ int16x4_t c01, c23, c45, c67; ++ c01 = vpadd_s16(vget_low_s16(c04), vget_low_s16(c15)); ++ c23 = vpadd_s16(vget_low_s16(c26), vget_low_s16(c37)); ++ c45 = vpadd_s16(vget_high_s16(c04), vget_high_s16(c15)); ++ c67 = vpadd_s16(vget_high_s16(c26), vget_high_s16(c37)); ++ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(c01, c23), vpadd_s16(c45, c67))); ++#endif ++} ++ ++// Multiply the low signed 32-bit integers from each packed 64-bit element in ++// a and b, and store the signed 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epi32 ++FORCE_INLINE __m128i _mm_mul_epi32(__m128i a, __m128i b) ++{ ++ // vmull_s32 upcasts instead of masking, so we downcast. ++ int32x2_t a_lo = vmovn_s64(vreinterpretq_s64_m128i(a)); ++ int32x2_t b_lo = vmovn_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vmull_s32(a_lo, b_lo)); ++} ++ ++// Multiply the packed 32-bit integers in a and b, producing intermediate 64-bit ++// integers, and store the low 32 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi32 ++FORCE_INLINE __m128i _mm_mullo_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmulq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi32 ++FORCE_INLINE __m128i _mm_packus_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcombine_u16(vqmovun_s32(vreinterpretq_s32_m128i(a)), ++ vqmovun_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_pd ++FORCE_INLINE __m128d _mm_round_pd(__m128d a, int rounding) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndnq_f64(vreinterpretq_f64_m128d(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_pd(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_pd(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndq_f64(vreinterpretq_f64_m128d(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128d_f64(vrndiq_f64(vreinterpretq_f64_m128d(a))); ++ } ++#else ++ double *v_double = (double *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ double res[2], tmp; ++ for (int i = 0; i < 2; i++) { ++ tmp = (v_double[i] < 0) ? -v_double[i] : v_double[i]; ++ double roundDown = floor(tmp); // Round down value ++ double roundUp = ceil(tmp); // Round up value ++ double diffDown = tmp - roundDown; ++ double diffUp = roundUp - tmp; ++ if (diffDown < diffUp) { ++ /* If it's closer to the round down value, then use it */ ++ res[i] = roundDown; ++ } else if (diffDown > diffUp) { ++ /* If it's closer to the round up value, then use it */ ++ res[i] = roundUp; ++ } else { ++ /* If it's equidistant between round up and round down value, ++ * pick the one which is an even number */ ++ double half = roundDown / 2; ++ if (half != floor(half)) { ++ /* If the round down value is odd, return the round up value ++ */ ++ res[i] = roundUp; ++ } else { ++ /* If the round up value is odd, return the round down value ++ */ ++ res[i] = roundDown; ++ } ++ } ++ res[i] = (v_double[i] < 0) ? -res[i] : res[i]; ++ } ++ return _mm_set_pd(res[1], res[0]); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_pd(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_pd(a); ++ } ++ return _mm_set_pd(v_double[1] > 0 ? floor(v_double[1]) : ceil(v_double[1]), ++ v_double[0] > 0 ? floor(v_double[0]) : ceil(v_double[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed single-precision ++// floating-point elements in dst. ++// software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_round_ps ++FORCE_INLINE __m128 _mm_round_ps(__m128 a, int rounding) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndnq_f32(vreinterpretq_f32_m128(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_ps(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_ps(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndq_f32(vreinterpretq_f32_m128(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128_f32(vrndiq_f32(vreinterpretq_f32_m128(a))); ++ } ++#else ++ float *v_float = (float *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vbslq_s32(is_delta_half, r_even, r_normal))); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_ps(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_ps(a); ++ } ++ return _mm_set_ps(v_float[3] > 0 ? floorf(v_float[3]) : ceilf(v_float[3]), ++ v_float[2] > 0 ? floorf(v_float[2]) : ceilf(v_float[2]), ++ v_float[1] > 0 ? floorf(v_float[1]) : ceilf(v_float[1]), ++ v_float[0] > 0 ? floorf(v_float[0]) : ceilf(v_float[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b using ++// the rounding parameter, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_sd ++FORCE_INLINE __m128d _mm_round_sd(__m128d a, __m128d b, int rounding) ++{ ++ return _mm_move_sd(a, _mm_round_pd(b, rounding)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b using ++// the rounding parameter, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. Rounding is done according to the ++// rounding[3:0] parameter, which can be one of: ++// (_MM_FROUND_TO_NEAREST_INT |_MM_FROUND_NO_EXC) // round to nearest, and ++// suppress exceptions ++// (_MM_FROUND_TO_NEG_INF |_MM_FROUND_NO_EXC) // round down, and ++// suppress exceptions ++// (_MM_FROUND_TO_POS_INF |_MM_FROUND_NO_EXC) // round up, and suppress ++// exceptions ++// (_MM_FROUND_TO_ZERO |_MM_FROUND_NO_EXC) // truncate, and suppress ++// exceptions _MM_FROUND_CUR_DIRECTION // use MXCSR.RC; see ++// _MM_SET_ROUNDING_MODE ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_ss ++FORCE_INLINE __m128 _mm_round_ss(__m128 a, __m128 b, int rounding) ++{ ++ return _mm_move_ss(a, _mm_round_ps(b, rounding)); ++} ++ ++// Load 128-bits of integer data from memory into dst using a non-temporal ++// memory hint. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_load_si128 ++FORCE_INLINE __m128i _mm_stream_load_si128(__m128i *p) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ return __builtin_nontemporal_load(p); ++#else ++ return vreinterpretq_m128i_s64(vld1q_s64((int64_t *) p)); ++#endif ++} ++ ++// Compute the bitwise NOT of a and then AND with a 128-bit vector containing ++// all 1's, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_ones ++FORCE_INLINE int _mm_test_all_ones(__m128i a) ++{ ++ return (uint64_t) (vgetq_lane_s64(a, 0) & vgetq_lane_s64(a, 1)) == ++ ~(uint64_t) 0; ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_zeros ++FORCE_INLINE int _mm_test_all_zeros(__m128i a, __m128i mask) ++{ ++ int64x2_t a_and_mask = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(mask)); ++ return !(vgetq_lane_s64(a_and_mask, 0) | vgetq_lane_s64(a_and_mask, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute ++// the bitwise NOT of a and then AND with mask, and set CF to 1 if the result is ++// zero, otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_test_mix_ones_zero ++// Note: Argument names may be wrong in the Intel intrinsics guide. ++FORCE_INLINE int _mm_test_mix_ones_zeros(__m128i a, __m128i mask) ++{ ++ uint64x2_t v = vreinterpretq_u64_m128i(a); ++ uint64x2_t m = vreinterpretq_u64_m128i(mask); ++ ++ // find ones (set-bits) and zeros (clear-bits) under clip mask ++ uint64x2_t ones = vandq_u64(m, v); ++ uint64x2_t zeros = vbicq_u64(m, v); ++ ++ // If both 128-bit variables are populated (non-zero) then return 1. ++ // For comparision purposes, first compact each var down to 32-bits. ++ uint32x2_t reduced = vpmax_u32(vqmovn_u64(ones), vqmovn_u64(zeros)); ++ ++ // if folding minimum is non-zero then both vars must be non-zero ++ return (vget_lane_u32(vpmin_u32(reduced, reduced), 0) != 0); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the CF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testc_si128 ++FORCE_INLINE int _mm_testc_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vbicq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testnzc_si128 ++#define _mm_testnzc_si128(a, b) _mm_test_mix_ones_zeros(a, b) ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the ZF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testz_si128 ++FORCE_INLINE int _mm_testz_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++/* SSE4.2 */ ++ ++static const uint16_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask16b[8] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++static const uint8_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask8b[16] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++ ++/* specify the source data format */ ++#define _SIDD_UBYTE_OPS 0x00 /* unsigned 8-bit characters */ ++#define _SIDD_UWORD_OPS 0x01 /* unsigned 16-bit characters */ ++#define _SIDD_SBYTE_OPS 0x02 /* signed 8-bit characters */ ++#define _SIDD_SWORD_OPS 0x03 /* signed 16-bit characters */ ++ ++/* specify the comparison operation */ ++#define _SIDD_CMP_EQUAL_ANY 0x00 /* compare equal any: strchr */ ++#define _SIDD_CMP_RANGES 0x04 /* compare ranges */ ++#define _SIDD_CMP_EQUAL_EACH 0x08 /* compare equal each: strcmp */ ++#define _SIDD_CMP_EQUAL_ORDERED 0x0C /* compare equal ordered */ ++ ++/* specify the polarity */ ++#define _SIDD_POSITIVE_POLARITY 0x00 ++#define _SIDD_MASKED_POSITIVE_POLARITY 0x20 ++#define _SIDD_NEGATIVE_POLARITY 0x10 /* negate results */ ++#define _SIDD_MASKED_NEGATIVE_POLARITY \ ++ 0x30 /* negate results only before end of string */ ++ ++/* specify the output selection in _mm_cmpXstri */ ++#define _SIDD_LEAST_SIGNIFICANT 0x00 ++#define _SIDD_MOST_SIGNIFICANT 0x40 ++ ++/* specify the output selection in _mm_cmpXstrm */ ++#define _SIDD_BIT_MASK 0x00 ++#define _SIDD_UNIT_MASK 0x40 ++ ++/* Pattern Matching for C macros. ++ * https://github.com/pfultz2/Cloak/wiki/C-Preprocessor-tricks,-tips,-and-idioms ++ */ ++ ++/* catenate */ ++#define SSE2NEON_PRIMITIVE_CAT(a, ...) a##__VA_ARGS__ ++#define SSE2NEON_CAT(a, b) SSE2NEON_PRIMITIVE_CAT(a, b) ++ ++#define SSE2NEON_IIF(c) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_IIF_, c) ++/* run the 2nd parameter */ ++#define SSE2NEON_IIF_0(t, ...) __VA_ARGS__ ++/* run the 1st parameter */ ++#define SSE2NEON_IIF_1(t, ...) t ++ ++#define SSE2NEON_COMPL(b) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_COMPL_, b) ++#define SSE2NEON_COMPL_0 1 ++#define SSE2NEON_COMPL_1 0 ++ ++#define SSE2NEON_DEC(x) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_DEC_, x) ++#define SSE2NEON_DEC_1 0 ++#define SSE2NEON_DEC_2 1 ++#define SSE2NEON_DEC_3 2 ++#define SSE2NEON_DEC_4 3 ++#define SSE2NEON_DEC_5 4 ++#define SSE2NEON_DEC_6 5 ++#define SSE2NEON_DEC_7 6 ++#define SSE2NEON_DEC_8 7 ++#define SSE2NEON_DEC_9 8 ++#define SSE2NEON_DEC_10 9 ++#define SSE2NEON_DEC_11 10 ++#define SSE2NEON_DEC_12 11 ++#define SSE2NEON_DEC_13 12 ++#define SSE2NEON_DEC_14 13 ++#define SSE2NEON_DEC_15 14 ++#define SSE2NEON_DEC_16 15 ++ ++/* detection */ ++#define SSE2NEON_CHECK_N(x, n, ...) n ++#define SSE2NEON_CHECK(...) SSE2NEON_CHECK_N(__VA_ARGS__, 0, ) ++#define SSE2NEON_PROBE(x) x, 1, ++ ++#define SSE2NEON_NOT(x) SSE2NEON_CHECK(SSE2NEON_PRIMITIVE_CAT(SSE2NEON_NOT_, x)) ++#define SSE2NEON_NOT_0 SSE2NEON_PROBE(~) ++ ++#define SSE2NEON_BOOL(x) SSE2NEON_COMPL(SSE2NEON_NOT(x)) ++#define SSE2NEON_IF(c) SSE2NEON_IIF(SSE2NEON_BOOL(c)) ++ ++#define SSE2NEON_EAT(...) ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++#define SSE2NEON_WHEN(c) SSE2NEON_IF(c)(SSE2NEON_EXPAND, SSE2NEON_EAT) ++ ++/* recursion */ ++/* deferred expression */ ++#define SSE2NEON_EMPTY() ++#define SSE2NEON_DEFER(id) id SSE2NEON_EMPTY() ++#define SSE2NEON_OBSTRUCT(...) __VA_ARGS__ SSE2NEON_DEFER(SSE2NEON_EMPTY)() ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++ ++#define SSE2NEON_EVAL(...) \ ++ SSE2NEON_EVAL1(SSE2NEON_EVAL1(SSE2NEON_EVAL1(__VA_ARGS__))) ++#define SSE2NEON_EVAL1(...) \ ++ SSE2NEON_EVAL2(SSE2NEON_EVAL2(SSE2NEON_EVAL2(__VA_ARGS__))) ++#define SSE2NEON_EVAL2(...) \ ++ SSE2NEON_EVAL3(SSE2NEON_EVAL3(SSE2NEON_EVAL3(__VA_ARGS__))) ++#define SSE2NEON_EVAL3(...) __VA_ARGS__ ++ ++#define SSE2NEON_REPEAT(count, macro, ...) \ ++ SSE2NEON_WHEN(count) \ ++ (SSE2NEON_OBSTRUCT(SSE2NEON_REPEAT_INDIRECT)()( \ ++ SSE2NEON_DEC(count), macro, \ ++ __VA_ARGS__) SSE2NEON_OBSTRUCT(macro)(SSE2NEON_DEC(count), \ ++ __VA_ARGS__)) ++#define SSE2NEON_REPEAT_INDIRECT() SSE2NEON_REPEAT ++ ++#define SSE2NEON_SIZE_OF_byte 8 ++#define SSE2NEON_NUMBER_OF_LANES_byte 16 ++#define SSE2NEON_SIZE_OF_word 16 ++#define SSE2NEON_NUMBER_OF_LANES_word 8 ++ ++#define SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE(i, type) \ ++ mtx[i] = vreinterpretq_m128i_##type(vceqq_##type( \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)), \ ++ vreinterpretq_##type##_m128i(a))); ++ ++#define SSE2NEON_FILL_LANE(i, type) \ ++ vec_b[i] = \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)); ++ ++#define PCMPSTR_RANGES(a, b, mtx, data_type_prefix, type_prefix, size, \ ++ number_of_lanes, byte_or_word) \ ++ do { \ ++ SSE2NEON_CAT( \ ++ data_type_prefix, \ ++ SSE2NEON_CAT(size, \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(number_of_lanes, _t)))) \ ++ vec_b[number_of_lanes]; \ ++ __m128i mask = SSE2NEON_IIF(byte_or_word)( \ ++ vreinterpretq_m128i_u16(vdupq_n_u16(0xff)), \ ++ vreinterpretq_m128i_u32(vdupq_n_u32(0xffff))); \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, SSE2NEON_FILL_LANE, \ ++ SSE2NEON_CAT(type_prefix, size))) \ ++ for (int i = 0; i < number_of_lanes; i++) { \ ++ mtx[i] = SSE2NEON_CAT(vreinterpretq_m128i_u, \ ++ size)(SSE2NEON_CAT(vbslq_u, size)( \ ++ SSE2NEON_CAT(vreinterpretq_u, \ ++ SSE2NEON_CAT(size, _m128i))(mask), \ ++ SSE2NEON_CAT(vcgeq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))), \ ++ SSE2NEON_CAT(vcleq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))))); \ ++ } \ ++ } while (0) ++ ++#define PCMPSTR_EQ(a, b, mtx, size, number_of_lanes) \ ++ do { \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, \ ++ SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE, \ ++ SSE2NEON_CAT(u, size))) \ ++ } while (0) ++ ++#define SSE2NEON_CMP_EQUAL_ANY_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_any(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_any_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_RANGES_IMPL(type, data_type, us, byte_or_word) \ ++ static int _sse2neon_cmp_##us##type##_ranges(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_RANGES( \ ++ a, b, mtx, data_type, us, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), byte_or_word); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_ranges_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_EQUAL_ORDERED_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_ordered(__m128i a, int la, \ ++ __m128i b, int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_ordered_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type))))( \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), la, lb, mtx); \ ++ } ++ ++static int _sse2neon_aggregate_equal_any_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ int tmp = _sse2neon_vaddvq_u8(vreinterpretq_u8_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_equal_any_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ int tmp = _sse2neon_vaddvq_u16(vreinterpretq_u16_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ANY(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ANY(SSE2NEON_CMP_EQUAL_ANY_) ++ ++static int _sse2neon_aggregate_ranges_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ __m128i tmp = vreinterpretq_m128i_u32( ++ vshrq_n_u32(vreinterpretq_u32_m128i(mtx[j]), 16)); ++ uint32x4_t vec_res = vandq_u32(vreinterpretq_u32_m128i(mtx[j]), ++ vreinterpretq_u32_m128i(tmp)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int t = vaddvq_u32(vec_res) ? 1 : 0; ++#else ++ uint64x2_t sumh = vpaddlq_u32(vec_res); ++ int t = vgetq_lane_u64(sumh, 0) + vgetq_lane_u64(sumh, 1); ++#endif ++ res |= (t << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_ranges_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ __m128i tmp = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 8)); ++ uint16x8_t vec_res = vandq_u16(vreinterpretq_u16_m128i(mtx[j]), ++ vreinterpretq_u16_m128i(tmp)); ++ int t = _sse2neon_vaddvq_u16(vec_res) ? 1 : 0; ++ res |= (t << j); ++ } ++ return res; ++} ++ ++#define SSE2NEON_CMP_RANGES_IS_BYTE 1 ++#define SSE2NEON_CMP_RANGES_IS_WORD 0 ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_RANGES(prefix) \ ++ prefix##IMPL(byte, uint, u, prefix##IS_BYTE) \ ++ prefix##IMPL(byte, int, s, prefix##IS_BYTE) \ ++ prefix##IMPL(word, uint, u, prefix##IS_WORD) \ ++ prefix##IMPL(word, int, s, prefix##IS_WORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_RANGES(SSE2NEON_CMP_RANGES_) ++ ++#undef SSE2NEON_CMP_RANGES_IS_BYTE ++#undef SSE2NEON_CMP_RANGES_IS_WORD ++ ++static int _sse2neon_cmp_byte_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint8x16_t mtx = ++ vceqq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x10000 - (1 << la); ++ int tb = 0x10000 - (1 << lb); ++ uint8x8_t vec_mask, vec0_lo, vec0_hi, vec1_lo, vec1_hi; ++ uint8x8_t tmp_lo, tmp_hi, res_lo, res_hi; ++ vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ vec0_lo = vtst_u8(vdup_n_u8(m0), vec_mask); ++ vec0_hi = vtst_u8(vdup_n_u8(m0 >> 8), vec_mask); ++ vec1_lo = vtst_u8(vdup_n_u8(m1), vec_mask); ++ vec1_hi = vtst_u8(vdup_n_u8(m1 >> 8), vec_mask); ++ tmp_lo = vtst_u8(vdup_n_u8(tb), vec_mask); ++ tmp_hi = vtst_u8(vdup_n_u8(tb >> 8), vec_mask); ++ ++ res_lo = vbsl_u8(vec0_lo, vdup_n_u8(0), vget_low_u8(mtx)); ++ res_hi = vbsl_u8(vec0_hi, vdup_n_u8(0), vget_high_u8(mtx)); ++ res_lo = vbsl_u8(vec1_lo, tmp_lo, res_lo); ++ res_hi = vbsl_u8(vec1_hi, tmp_hi, res_hi); ++ res_lo = vand_u8(res_lo, vec_mask); ++ res_hi = vand_u8(res_hi, vec_mask); ++ ++ int res = _sse2neon_vaddv_u8(res_lo) + (_sse2neon_vaddv_u8(res_hi) << 8); ++ return res; ++} ++ ++static int _sse2neon_cmp_word_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint16x8_t mtx = ++ vceqq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x100 - (1 << la); ++ int tb = 0x100 - (1 << lb); ++ uint16x8_t vec_mask = vld1q_u16(_sse2neon_cmpestr_mask16b); ++ uint16x8_t vec0 = vtstq_u16(vdupq_n_u16(m0), vec_mask); ++ uint16x8_t vec1 = vtstq_u16(vdupq_n_u16(m1), vec_mask); ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(tb), vec_mask); ++ mtx = vbslq_u16(vec0, vdupq_n_u16(0), mtx); ++ mtx = vbslq_u16(vec1, tmp, mtx); ++ mtx = vandq_u16(mtx, vec_mask); ++ return _sse2neon_vaddvq_u16(mtx); ++} ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE 1 ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD 0 ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IMPL(size, number_of_lanes, data_type) \ ++ static int _sse2neon_aggregate_equal_ordered_##size##x##number_of_lanes( \ ++ int bound, int la, int lb, __m128i mtx[16]) \ ++ { \ ++ int res = 0; \ ++ int m1 = SSE2NEON_IIF(data_type)(0x10000, 0x100) - (1 << la); \ ++ uint##size##x8_t vec_mask = SSE2NEON_IIF(data_type)( \ ++ vld1_u##size(_sse2neon_cmpestr_mask##size##b), \ ++ vld1q_u##size(_sse2neon_cmpestr_mask##size##b)); \ ++ uint##size##x##number_of_lanes##_t vec1 = SSE2NEON_IIF(data_type)( \ ++ vcombine_u##size(vtst_u##size(vdup_n_u##size(m1), vec_mask), \ ++ vtst_u##size(vdup_n_u##size(m1 >> 8), vec_mask)), \ ++ vtstq_u##size(vdupq_n_u##size(m1), vec_mask)); \ ++ uint##size##x##number_of_lanes##_t vec_minusone = vdupq_n_u##size(-1); \ ++ uint##size##x##number_of_lanes##_t vec_zero = vdupq_n_u##size(0); \ ++ for (int j = 0; j < lb; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size(vbslq_u##size( \ ++ vec1, vec_minusone, vreinterpretq_u##size##_m128i(mtx[j]))); \ ++ } \ ++ for (int j = lb; j < bound; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size( \ ++ vbslq_u##size(vec1, vec_minusone, vec_zero)); \ ++ } \ ++ unsigned SSE2NEON_IIF(data_type)(char, short) *ptr = \ ++ (unsigned SSE2NEON_IIF(data_type)(char, short) *) mtx; \ ++ for (int i = 0; i < bound; i++) { \ ++ int val = 1; \ ++ for (int j = 0, k = i; j < bound - i && k < bound; j++, k++) \ ++ val &= ptr[k * bound + j]; \ ++ res += val << i; \ ++ } \ ++ return res; \ ++ } ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(prefix) \ ++ prefix##IMPL(8, 16, prefix##IS_UBYTE) \ ++ prefix##IMPL(16, 8, prefix##IS_UWORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(SSE2NEON_AGGREGATE_EQUAL_ORDER_) ++ ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(SSE2NEON_CMP_EQUAL_ORDERED_) ++ ++#define SSE2NEON_CMPESTR_LIST \ ++ _(CMP_UBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_UWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_SBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_SWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_UBYTE_RANGES, cmp_ubyte_ranges) \ ++ _(CMP_UWORD_RANGES, cmp_uword_ranges) \ ++ _(CMP_SBYTE_RANGES, cmp_sbyte_ranges) \ ++ _(CMP_SWORD_RANGES, cmp_sword_ranges) \ ++ _(CMP_UBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_UWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_SBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_SWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_UBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_UWORD_EQUAL_ORDERED, cmp_word_equal_ordered) \ ++ _(CMP_SBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_SWORD_EQUAL_ORDERED, cmp_word_equal_ordered) ++ ++enum { ++#define _(name, func_suffix) name, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++typedef int (*cmpestr_func_t)(__m128i a, int la, __m128i b, int lb); ++static cmpestr_func_t _sse2neon_cmpfunc_table[] = { ++#define _(name, func_suffix) _sse2neon_##func_suffix, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++ ++FORCE_INLINE int _sse2neon_sido_negative(int res, int lb, int imm8, int bound) ++{ ++ switch (imm8 & 0x30) { ++ case _SIDD_NEGATIVE_POLARITY: ++ res ^= 0xffffffff; ++ break; ++ case _SIDD_MASKED_NEGATIVE_POLARITY: ++ res ^= (1 << lb) - 1; ++ break; ++ default: ++ break; ++ } ++ ++ return res & ((bound == 8) ? 0xFF : 0xFFFF); ++} ++ ++FORCE_INLINE int _sse2neon_clz(unsigned int x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt = 0; ++ if (_BitScanReverse(&cnt, x)) ++ return 31 - cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_clz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctz(unsigned int x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt = 0; ++ if (_BitScanForward(&cnt, x)) ++ return cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_ctz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctzll(unsigned long long x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt; ++#if defined(SSE2NEON_HAS_BITSCAN64) ++ if (_BitScanForward64(&cnt, x)) ++ return (int) (cnt); ++#else ++ if (_BitScanForward(&cnt, (unsigned long) (x))) ++ return (int) cnt; ++ if (_BitScanForward(&cnt, (unsigned long) (x >> 32))) ++ return (int) (cnt + 32); ++#endif /* SSE2NEON_HAS_BITSCAN64 */ ++ return 64; ++#else /* assume GNU compatible compilers */ ++ return x != 0 ? __builtin_ctzll(x) : 64; ++#endif ++} ++ ++#define SSE2NEON_MIN(x, y) (x) < (y) ? (x) : (y) ++ ++#define SSE2NEON_CMPSTR_SET_UPPER(var, imm) \ ++ const int var = (imm & 0x01) ? 8 : 16 ++ ++#define SSE2NEON_CMPESTRX_LEN_PAIR(a, b, la, lb) \ ++ int tmp1 = la ^ (la >> 31); \ ++ la = tmp1 - (la >> 31); \ ++ int tmp2 = lb ^ (lb >> 31); \ ++ lb = tmp2 - (lb >> 31); \ ++ la = SSE2NEON_MIN(la, bound); \ ++ lb = SSE2NEON_MIN(lb, bound) ++ ++// Compare all pairs of character in string a and b, ++// then aggregate the result. ++// As the only difference of PCMPESTR* and PCMPISTR* is the way to calculate the ++// length of string, we use SSE2NEON_CMP{I,E}STRX_GET_LEN to get the length of ++// string a and b. ++#define SSE2NEON_COMP_AGG(a, b, la, lb, imm8, IE) \ ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); \ ++ SSE2NEON_##IE##_LEN_PAIR(a, b, la, lb); \ ++ int r2 = (_sse2neon_cmpfunc_table[imm8 & 0x0f])(a, la, b, lb); \ ++ r2 = _sse2neon_sido_negative(r2, lb, imm8, bound) ++ ++#define SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8) \ ++ return (r2 == 0) ? bound \ ++ : ((imm8 & 0x40) ? (31 - _sse2neon_clz(r2)) \ ++ : _sse2neon_ctz(r2)) ++ ++#define SSE2NEON_CMPSTR_GENERATE_MASK(dst) \ ++ __m128i dst = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ if (imm8 & 0x40) { \ ++ if (bound == 8) { \ ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(r2), \ ++ vld1q_u16(_sse2neon_cmpestr_mask16b)); \ ++ dst = vreinterpretq_m128i_u16(vbslq_u16( \ ++ tmp, vdupq_n_u16(-1), vreinterpretq_u16_m128i(dst))); \ ++ } else { \ ++ uint8x16_t vec_r2 = \ ++ vcombine_u8(vdup_n_u8(r2), vdup_n_u8(r2 >> 8)); \ ++ uint8x16_t tmp = \ ++ vtstq_u8(vec_r2, vld1q_u8(_sse2neon_cmpestr_mask8b)); \ ++ dst = vreinterpretq_m128i_u8( \ ++ vbslq_u8(tmp, vdupq_n_u8(-1), vreinterpretq_u8_m128i(dst))); \ ++ } \ ++ } else { \ ++ if (bound == 16) { \ ++ dst = vreinterpretq_m128i_u16( \ ++ vsetq_lane_u16(r2 & 0xffff, vreinterpretq_u16_m128i(dst), 0)); \ ++ } else { \ ++ dst = vreinterpretq_m128i_u8( \ ++ vsetq_lane_u8(r2 & 0xff, vreinterpretq_u8_m128i(dst), 0)); \ ++ } \ ++ } \ ++ return dst ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and returns 1 if b did not contain a null character and the ++// resulting mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestra ++FORCE_INLINE int _mm_cmpestra(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ int lb_cpy = lb; ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return !r2 & (lb_cpy > bound); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrc ++FORCE_INLINE int _mm_cmpestrc(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestri ++FORCE_INLINE int _mm_cmpestri(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrm ++FORCE_INLINE __m128i ++_mm_cmpestrm(__m128i a, int la, __m128i b, int lb, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestro ++FORCE_INLINE int _mm_cmpestro(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrs ++FORCE_INLINE int _mm_cmpestrs(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) lb; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrz ++FORCE_INLINE int _mm_cmpestrz(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) la; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return lb <= (bound - 1); ++} ++ ++#define SSE2NEON_CMPISTRX_LENGTH(str, len, imm8) \ ++ do { \ ++ if (imm8 & 0x01) { \ ++ uint16x8_t equal_mask_##str = \ ++ vceqq_u16(vreinterpretq_u16_m128i(str), vdupq_n_u16(0)); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 3; \ ++ } else { \ ++ uint16x8_t equal_mask_##str = vreinterpretq_u16_u8( \ ++ vceqq_u8(vreinterpretq_u8_m128i(str), vdupq_n_u8(0))); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 2; \ ++ } \ ++ } while (0) ++ ++#define SSE2NEON_CMPISTRX_LEN_PAIR(a, b, la, lb) \ ++ int la, lb; \ ++ do { \ ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); \ ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); \ ++ } while (0) ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if b did not contain a null character and the resulting ++// mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistra ++FORCE_INLINE int _mm_cmpistra(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return !r2 & (lb >= bound); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrc ++FORCE_INLINE int _mm_cmpistrc(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistri ++FORCE_INLINE int _mm_cmpistri(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrm ++FORCE_INLINE __m128i _mm_cmpistrm(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistro ++FORCE_INLINE int _mm_cmpistro(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrs ++FORCE_INLINE int _mm_cmpistrs(__m128i a, __m128i b, const int imm8) ++{ ++ (void) b; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int la; ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrz ++FORCE_INLINE int _mm_cmpistrz(__m128i a, __m128i b, const int imm8) ++{ ++ (void) a; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int lb; ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); ++ return lb <= (bound - 1); ++} ++ ++// Compares the 2 signed 64-bit integers in a and the 2 signed 64-bit integers ++// in b for greater than. ++FORCE_INLINE __m128i _mm_cmpgt_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vcgtq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ return vreinterpretq_m128i_s64(vshrq_n_s64( ++ vqsubq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)), ++ 63)); ++#endif ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 16-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u16 ++FORCE_INLINE uint32_t _mm_crc32_u16(uint32_t crc, uint16_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32ch %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32ch(crc, v); ++#else ++ crc = _mm_crc32_u8(crc, v & 0xff); ++ crc = _mm_crc32_u8(crc, (v >> 8) & 0xff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 32-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u32 ++FORCE_INLINE uint32_t _mm_crc32_u32(uint32_t crc, uint32_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cw %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cw(crc, v); ++#else ++ crc = _mm_crc32_u16(crc, v & 0xffff); ++ crc = _mm_crc32_u16(crc, (v >> 16) & 0xffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 64-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u64 ++FORCE_INLINE uint64_t _mm_crc32_u64(uint64_t crc, uint64_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cx %w[c], %w[c], %x[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cd((uint32_t) crc, v); ++#else ++ crc = _mm_crc32_u32((uint32_t) (crc), v & 0xffffffff); ++ crc = _mm_crc32_u32((uint32_t) (crc), (v >> 32) & 0xffffffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 8-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u8 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t crc, uint8_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cb %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cb(crc, v); ++#else ++ crc ^= v; ++#if defined(__ARM_FEATURE_CRYPTO) ++ // Adapted from: https://mary.rs/lab/crc32/ ++ // Barrent reduction ++ uint64x2_t orig = ++ vcombine_u64(vcreate_u64((uint64_t) (crc) << 24), vcreate_u64(0x0)); ++ uint64x2_t tmp = orig; ++ ++ // Polynomial P(x) of CRC32C ++ uint64_t p = 0x105EC76F1; ++ // Barrett Reduction (in bit-reflected form) constant mu_{64} = \lfloor ++ // 2^{64} / P(x) \rfloor = 0x11f91caf6 ++ uint64_t mu = 0x1dea713f1; ++ ++ // Multiply by mu_{64} ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(mu)); ++ // Divide by 2^{64} (mask away the unnecessary bits) ++ tmp = ++ vandq_u64(tmp, vcombine_u64(vcreate_u64(0xFFFFFFFF), vcreate_u64(0x0))); ++ // Multiply by P(x) (shifted left by 1 for alignment reasons) ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(p)); ++ // Subtract original from result ++ tmp = veorq_u64(tmp, orig); ++ ++ // Extract the 'lower' (in bit-reflected sense) 32 bits ++ crc = vgetq_lane_u32(vreinterpretq_u32_u64(tmp), 1); ++#else // Fall back to the generic table lookup approach ++ // Adapted from: https://create.stephan-brumme.com/crc32/ ++ // Apply half-byte comparision algorithm for the best ratio between ++ // performance and lookup table. ++ ++ // The lookup table just needs to store every 16th entry ++ // of the standard look-up table. ++ static const uint32_t crc32_half_byte_tbl[] = { ++ 0x00000000, 0x105ec76f, 0x20bd8ede, 0x30e349b1, 0x417b1dbc, 0x5125dad3, ++ 0x61c69362, 0x7198540d, 0x82f63b78, 0x92a8fc17, 0xa24bb5a6, 0xb21572c9, ++ 0xc38d26c4, 0xd3d3e1ab, 0xe330a81a, 0xf36e6f75, ++ }; ++ ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++#endif ++#endif ++ return crc; ++} ++ ++/* AES */ ++ ++#if !defined(__ARM_FEATURE_CRYPTO) && (!defined(_M_ARM64) || defined(__clang__)) ++/* clang-format off */ ++#define SSE2NEON_AES_SBOX(w) \ ++ { \ ++ w(0x63), w(0x7c), w(0x77), w(0x7b), w(0xf2), w(0x6b), w(0x6f), \ ++ w(0xc5), w(0x30), w(0x01), w(0x67), w(0x2b), w(0xfe), w(0xd7), \ ++ w(0xab), w(0x76), w(0xca), w(0x82), w(0xc9), w(0x7d), w(0xfa), \ ++ w(0x59), w(0x47), w(0xf0), w(0xad), w(0xd4), w(0xa2), w(0xaf), \ ++ w(0x9c), w(0xa4), w(0x72), w(0xc0), w(0xb7), w(0xfd), w(0x93), \ ++ w(0x26), w(0x36), w(0x3f), w(0xf7), w(0xcc), w(0x34), w(0xa5), \ ++ w(0xe5), w(0xf1), w(0x71), w(0xd8), w(0x31), w(0x15), w(0x04), \ ++ w(0xc7), w(0x23), w(0xc3), w(0x18), w(0x96), w(0x05), w(0x9a), \ ++ w(0x07), w(0x12), w(0x80), w(0xe2), w(0xeb), w(0x27), w(0xb2), \ ++ w(0x75), w(0x09), w(0x83), w(0x2c), w(0x1a), w(0x1b), w(0x6e), \ ++ w(0x5a), w(0xa0), w(0x52), w(0x3b), w(0xd6), w(0xb3), w(0x29), \ ++ w(0xe3), w(0x2f), w(0x84), w(0x53), w(0xd1), w(0x00), w(0xed), \ ++ w(0x20), w(0xfc), w(0xb1), w(0x5b), w(0x6a), w(0xcb), w(0xbe), \ ++ w(0x39), w(0x4a), w(0x4c), w(0x58), w(0xcf), w(0xd0), w(0xef), \ ++ w(0xaa), w(0xfb), w(0x43), w(0x4d), w(0x33), w(0x85), w(0x45), \ ++ w(0xf9), w(0x02), w(0x7f), w(0x50), w(0x3c), w(0x9f), w(0xa8), \ ++ w(0x51), w(0xa3), w(0x40), w(0x8f), w(0x92), w(0x9d), w(0x38), \ ++ w(0xf5), w(0xbc), w(0xb6), w(0xda), w(0x21), w(0x10), w(0xff), \ ++ w(0xf3), w(0xd2), w(0xcd), w(0x0c), w(0x13), w(0xec), w(0x5f), \ ++ w(0x97), w(0x44), w(0x17), w(0xc4), w(0xa7), w(0x7e), w(0x3d), \ ++ w(0x64), w(0x5d), w(0x19), w(0x73), w(0x60), w(0x81), w(0x4f), \ ++ w(0xdc), w(0x22), w(0x2a), w(0x90), w(0x88), w(0x46), w(0xee), \ ++ w(0xb8), w(0x14), w(0xde), w(0x5e), w(0x0b), w(0xdb), w(0xe0), \ ++ w(0x32), w(0x3a), w(0x0a), w(0x49), w(0x06), w(0x24), w(0x5c), \ ++ w(0xc2), w(0xd3), w(0xac), w(0x62), w(0x91), w(0x95), w(0xe4), \ ++ w(0x79), w(0xe7), w(0xc8), w(0x37), w(0x6d), w(0x8d), w(0xd5), \ ++ w(0x4e), w(0xa9), w(0x6c), w(0x56), w(0xf4), w(0xea), w(0x65), \ ++ w(0x7a), w(0xae), w(0x08), w(0xba), w(0x78), w(0x25), w(0x2e), \ ++ w(0x1c), w(0xa6), w(0xb4), w(0xc6), w(0xe8), w(0xdd), w(0x74), \ ++ w(0x1f), w(0x4b), w(0xbd), w(0x8b), w(0x8a), w(0x70), w(0x3e), \ ++ w(0xb5), w(0x66), w(0x48), w(0x03), w(0xf6), w(0x0e), w(0x61), \ ++ w(0x35), w(0x57), w(0xb9), w(0x86), w(0xc1), w(0x1d), w(0x9e), \ ++ w(0xe1), w(0xf8), w(0x98), w(0x11), w(0x69), w(0xd9), w(0x8e), \ ++ w(0x94), w(0x9b), w(0x1e), w(0x87), w(0xe9), w(0xce), w(0x55), \ ++ w(0x28), w(0xdf), w(0x8c), w(0xa1), w(0x89), w(0x0d), w(0xbf), \ ++ w(0xe6), w(0x42), w(0x68), w(0x41), w(0x99), w(0x2d), w(0x0f), \ ++ w(0xb0), w(0x54), w(0xbb), w(0x16) \ ++ } ++#define SSE2NEON_AES_RSBOX(w) \ ++ { \ ++ w(0x52), w(0x09), w(0x6a), w(0xd5), w(0x30), w(0x36), w(0xa5), \ ++ w(0x38), w(0xbf), w(0x40), w(0xa3), w(0x9e), w(0x81), w(0xf3), \ ++ w(0xd7), w(0xfb), w(0x7c), w(0xe3), w(0x39), w(0x82), w(0x9b), \ ++ w(0x2f), w(0xff), w(0x87), w(0x34), w(0x8e), w(0x43), w(0x44), \ ++ w(0xc4), w(0xde), w(0xe9), w(0xcb), w(0x54), w(0x7b), w(0x94), \ ++ w(0x32), w(0xa6), w(0xc2), w(0x23), w(0x3d), w(0xee), w(0x4c), \ ++ w(0x95), w(0x0b), w(0x42), w(0xfa), w(0xc3), w(0x4e), w(0x08), \ ++ w(0x2e), w(0xa1), w(0x66), w(0x28), w(0xd9), w(0x24), w(0xb2), \ ++ w(0x76), w(0x5b), w(0xa2), w(0x49), w(0x6d), w(0x8b), w(0xd1), \ ++ w(0x25), w(0x72), w(0xf8), w(0xf6), w(0x64), w(0x86), w(0x68), \ ++ w(0x98), w(0x16), w(0xd4), w(0xa4), w(0x5c), w(0xcc), w(0x5d), \ ++ w(0x65), w(0xb6), w(0x92), w(0x6c), w(0x70), w(0x48), w(0x50), \ ++ w(0xfd), w(0xed), w(0xb9), w(0xda), w(0x5e), w(0x15), w(0x46), \ ++ w(0x57), w(0xa7), w(0x8d), w(0x9d), w(0x84), w(0x90), w(0xd8), \ ++ w(0xab), w(0x00), w(0x8c), w(0xbc), w(0xd3), w(0x0a), w(0xf7), \ ++ w(0xe4), w(0x58), w(0x05), w(0xb8), w(0xb3), w(0x45), w(0x06), \ ++ w(0xd0), w(0x2c), w(0x1e), w(0x8f), w(0xca), w(0x3f), w(0x0f), \ ++ w(0x02), w(0xc1), w(0xaf), w(0xbd), w(0x03), w(0x01), w(0x13), \ ++ w(0x8a), w(0x6b), w(0x3a), w(0x91), w(0x11), w(0x41), w(0x4f), \ ++ w(0x67), w(0xdc), w(0xea), w(0x97), w(0xf2), w(0xcf), w(0xce), \ ++ w(0xf0), w(0xb4), w(0xe6), w(0x73), w(0x96), w(0xac), w(0x74), \ ++ w(0x22), w(0xe7), w(0xad), w(0x35), w(0x85), w(0xe2), w(0xf9), \ ++ w(0x37), w(0xe8), w(0x1c), w(0x75), w(0xdf), w(0x6e), w(0x47), \ ++ w(0xf1), w(0x1a), w(0x71), w(0x1d), w(0x29), w(0xc5), w(0x89), \ ++ w(0x6f), w(0xb7), w(0x62), w(0x0e), w(0xaa), w(0x18), w(0xbe), \ ++ w(0x1b), w(0xfc), w(0x56), w(0x3e), w(0x4b), w(0xc6), w(0xd2), \ ++ w(0x79), w(0x20), w(0x9a), w(0xdb), w(0xc0), w(0xfe), w(0x78), \ ++ w(0xcd), w(0x5a), w(0xf4), w(0x1f), w(0xdd), w(0xa8), w(0x33), \ ++ w(0x88), w(0x07), w(0xc7), w(0x31), w(0xb1), w(0x12), w(0x10), \ ++ w(0x59), w(0x27), w(0x80), w(0xec), w(0x5f), w(0x60), w(0x51), \ ++ w(0x7f), w(0xa9), w(0x19), w(0xb5), w(0x4a), w(0x0d), w(0x2d), \ ++ w(0xe5), w(0x7a), w(0x9f), w(0x93), w(0xc9), w(0x9c), w(0xef), \ ++ w(0xa0), w(0xe0), w(0x3b), w(0x4d), w(0xae), w(0x2a), w(0xf5), \ ++ w(0xb0), w(0xc8), w(0xeb), w(0xbb), w(0x3c), w(0x83), w(0x53), \ ++ w(0x99), w(0x61), w(0x17), w(0x2b), w(0x04), w(0x7e), w(0xba), \ ++ w(0x77), w(0xd6), w(0x26), w(0xe1), w(0x69), w(0x14), w(0x63), \ ++ w(0x55), w(0x21), w(0x0c), w(0x7d) \ ++ } ++/* clang-format on */ ++ ++/* X Macro trick. See https://en.wikipedia.org/wiki/X_Macro */ ++#define SSE2NEON_AES_H0(x) (x) ++static const uint8_t _sse2neon_sbox[256] = SSE2NEON_AES_SBOX(SSE2NEON_AES_H0); ++static const uint8_t _sse2neon_rsbox[256] = SSE2NEON_AES_RSBOX(SSE2NEON_AES_H0); ++#undef SSE2NEON_AES_H0 ++ ++/* x_time function and matrix multiply function */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#define SSE2NEON_XT(x) (((x) << 1) ^ ((((x) >> 7) & 1) * 0x1b)) ++#define SSE2NEON_MULTIPLY(x, y) \ ++ (((y & 1) * x) ^ ((y >> 1 & 1) * SSE2NEON_XT(x)) ^ \ ++ ((y >> 2 & 1) * SSE2NEON_XT(SSE2NEON_XT(x))) ^ \ ++ ((y >> 3 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))) ^ \ ++ ((y >> 4 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))))) ++#endif ++ ++// In the absence of crypto extensions, implement aesenc using regular NEON ++// intrinsics instead. See: ++// https://www.workofard.com/2017/01/accelerated-aes-for-the-arm64-linux-kernel/ ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/ and ++// for more information. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ /* shift rows */ ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ /* sub bytes */ ++ // Here, we separate the whole 256-bytes table into 4 64-bytes tables, and ++ // look up each of the table. After each lookup, we load the next table ++ // which locates at the next 64-bytes. In the meantime, the index in the ++ // table would be smaller than it was, so the index parameters of ++ // `vqtbx4q_u8()` need to be added the same constant as the loaded tables. ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ // 'w-0x40' equals to 'vsubq_u8(w, vdupq_n_u8(0x40))' ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ /* mix columns */ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ /* add round key */ ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A implementation for a table-based AES */ ++#define SSE2NEON_AES_B2W(b0, b1, b2, b3) \ ++ (((uint32_t) (b3) << 24) | ((uint32_t) (b2) << 16) | \ ++ ((uint32_t) (b1) << 8) | (uint32_t) (b0)) ++// muliplying 'x' by 2 in GF(2^8) ++#define SSE2NEON_AES_F2(x) ((x << 1) ^ (((x >> 7) & 1) * 0x011b /* WPOLY */)) ++// muliplying 'x' by 3 in GF(2^8) ++#define SSE2NEON_AES_F3(x) (SSE2NEON_AES_F2(x) ^ x) ++#define SSE2NEON_AES_U0(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F2(p), p, p, SSE2NEON_AES_F3(p)) ++#define SSE2NEON_AES_U1(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p, p) ++#define SSE2NEON_AES_U2(p) \ ++ SSE2NEON_AES_B2W(p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p) ++#define SSE2NEON_AES_U3(p) \ ++ SSE2NEON_AES_B2W(p, p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p)) ++ ++ // this generates a table containing every possible permutation of ++ // shift_rows() and sub_bytes() with mix_columns(). ++ static const uint32_t ALIGN_STRUCT(16) aes_table[4][256] = { ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U0), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U1), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U2), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U3), ++ }; ++#undef SSE2NEON_AES_B2W ++#undef SSE2NEON_AES_F2 ++#undef SSE2NEON_AES_F3 ++#undef SSE2NEON_AES_U0 ++#undef SSE2NEON_AES_U1 ++#undef SSE2NEON_AES_U2 ++#undef SSE2NEON_AES_U3 ++ ++ uint32_t x0 = _mm_cvtsi128_si32(a); // get a[31:0] ++ uint32_t x1 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); // get a[63:32] ++ uint32_t x2 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xAA)); // get a[95:64] ++ uint32_t x3 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); // get a[127:96] ++ ++ // finish the modulo addition step in mix_columns() ++ __m128i out = _mm_set_epi32( ++ (aes_table[0][x3 & 0xff] ^ aes_table[1][(x0 >> 8) & 0xff] ^ ++ aes_table[2][(x1 >> 16) & 0xff] ^ aes_table[3][x2 >> 24]), ++ (aes_table[0][x2 & 0xff] ^ aes_table[1][(x3 >> 8) & 0xff] ^ ++ aes_table[2][(x0 >> 16) & 0xff] ^ aes_table[3][x1 >> 24]), ++ (aes_table[0][x1 & 0xff] ^ aes_table[1][(x2 >> 8) & 0xff] ^ ++ aes_table[2][(x3 >> 16) & 0xff] ^ aes_table[3][x0 >> 24]), ++ (aes_table[0][x0 & 0xff] ^ aes_table[1][(x1 >> 8) & 0xff] ^ ++ aes_table[2][(x2 >> 16) & 0xff] ^ aes_table[3][x3 >> 24])); ++ ++ return _mm_xor_si128(out, RoundKey); ++#endif ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // inverse mix columns ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & ++ 0x1b); // muliplying 'v' by 2 in GF(2^8) ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ // inverse mix columns ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ // sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A implementation */ ++ uint8_t v[16] = { ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 0)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 5)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 10)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 15)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 4)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 9)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 14)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 3)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 8)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 13)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 2)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 7)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 12)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 1)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 6)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 11)], ++ }; ++ ++ return vreinterpretq_m128i_u8(vld1q_u8(v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (int i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++#if defined(__aarch64__) ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ uint8x16_t v = vreinterpretq_u8_m128i(a); ++ uint8x16_t w; ++ ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ // multiplying 'v' by 2 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ return vreinterpretq_m128i_u8(w); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ vst1q_u8((uint8_t *) v, vreinterpretq_u8_m128i(a)); ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)); ++#endif ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++// ++// Emits the Advanced Encryption Standard (AES) instruction aeskeygenassist. ++// This instruction generates a round key for AES encryption. See ++// https://kazakov.life/2017/11/01/cryptocurrency-mining-on-ios-devices/ ++// for details. ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++#if defined(__aarch64__) ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); ++ uint8x16_t v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), _a); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), _a - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), _a - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), _a - 0xc0); ++ ++ uint32x4_t v_u32 = vreinterpretq_u32_u8(v); ++ uint32x4_t ror_v = vorrq_u32(vshrq_n_u32(v_u32, 8), vshlq_n_u32(v_u32, 24)); ++ uint32x4_t ror_xor_v = veorq_u32(ror_v, vdupq_n_u32(rcon)); ++ ++ return vreinterpretq_m128i_u32(vtrn2q_u32(v_u32, ror_xor_v)); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint32_t X1 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); ++ uint32_t X3 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); ++ for (int i = 0; i < 4; ++i) { ++ ((uint8_t *) &X1)[i] = _sse2neon_sbox[((uint8_t *) &X1)[i]]; ++ ((uint8_t *) &X3)[i] = _sse2neon_sbox[((uint8_t *) &X3)[i]]; ++ } ++ return _mm_set_epi32(((X3 >> 8) | (X3 << 24)) ^ rcon, X3, ++ ((X1 >> 8) | (X1 << 24)) ^ rcon, X1); ++#endif ++} ++#undef SSE2NEON_AES_SBOX ++#undef SSE2NEON_AES_RSBOX ++ ++#if defined(__aarch64__) ++#undef SSE2NEON_XT ++#undef SSE2NEON_MULTIPLY ++#endif ++ ++#else /* __ARM_FEATURE_CRYPTO */ ++// Implements equivalent of 'aesenc' by combining AESE (with an empty key) and ++// AESMC and then manually applying the real key as an xor operation. This ++// unfortunately means an additional xor op; the compiler should be able to ++// optimize this away for repeated calls however. See ++// https://blog.michaelbrase.com/2018/05/08/emulating-x86-aes-intrinsics-on-armv8-a ++// for more details. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesmcq_u8(vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(b))); ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesimcq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return _mm_xor_si128(vreinterpretq_m128i_u8(vaeseq_u8( ++ vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ RoundKey); ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8( ++ veorq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++ return vreinterpretq_m128i_u8(vaesimcq_u8(vreinterpretq_u8_m128i(a))); ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst." ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++ // AESE does ShiftRows and SubBytes on A ++ uint8x16_t u8 = vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)); ++ ++#ifndef _MSC_VER ++ uint8x16_t dest = { ++ // Undo ShiftRows step from AESE and extract X1 and X3 ++ u8[0x4], u8[0x1], u8[0xE], u8[0xB], // SubBytes(X1) ++ u8[0x1], u8[0xE], u8[0xB], u8[0x4], // ROT(SubBytes(X1)) ++ u8[0xC], u8[0x9], u8[0x6], u8[0x3], // SubBytes(X3) ++ u8[0x9], u8[0x6], u8[0x3], u8[0xC], // ROT(SubBytes(X3)) ++ }; ++ uint32x4_t r = {0, (unsigned) rcon, 0, (unsigned) rcon}; ++ return vreinterpretq_m128i_u8(dest) ^ vreinterpretq_m128i_u32(r); ++#else ++ // We have to do this hack because MSVC is strictly adhering to the CPP ++ // standard, in particular C++03 8.5.1 sub-section 15, which states that ++ // unions must be initialized by their first member type. ++ ++ // As per the Windows ARM64 ABI, it is always little endian, so this works ++ __n128 dest{ ++ ((uint64_t) u8.n128_u8[0x4] << 0) | ((uint64_t) u8.n128_u8[0x1] << 8) | ++ ((uint64_t) u8.n128_u8[0xE] << 16) | ++ ((uint64_t) u8.n128_u8[0xB] << 24) | ++ ((uint64_t) u8.n128_u8[0x1] << 32) | ++ ((uint64_t) u8.n128_u8[0xE] << 40) | ++ ((uint64_t) u8.n128_u8[0xB] << 48) | ++ ((uint64_t) u8.n128_u8[0x4] << 56), ++ ((uint64_t) u8.n128_u8[0xC] << 0) | ((uint64_t) u8.n128_u8[0x9] << 8) | ++ ((uint64_t) u8.n128_u8[0x6] << 16) | ++ ((uint64_t) u8.n128_u8[0x3] << 24) | ++ ((uint64_t) u8.n128_u8[0x9] << 32) | ++ ((uint64_t) u8.n128_u8[0x6] << 40) | ++ ((uint64_t) u8.n128_u8[0x3] << 48) | ++ ((uint64_t) u8.n128_u8[0xC] << 56)}; ++ ++ dest.n128_u32[1] = dest.n128_u32[1] ^ rcon; ++ dest.n128_u32[3] = dest.n128_u32[3] ^ rcon; ++ ++ return dest; ++#endif ++} ++#endif ++ ++/* Others */ ++ ++// Perform a carry-less multiplication of two 64-bit integers, selected from a ++// and b according to imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clmulepi64_si128 ++FORCE_INLINE __m128i _mm_clmulepi64_si128(__m128i _a, __m128i _b, const int imm) ++{ ++ uint64x2_t a = vreinterpretq_u64_m128i(_a); ++ uint64x2_t b = vreinterpretq_u64_m128i(_b); ++ switch (imm & 0x11) { ++ case 0x00: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_low_u64(b))); ++ case 0x01: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_low_u64(b))); ++ case 0x10: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_high_u64(b))); ++ case 0x11: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_high_u64(b))); ++ default: ++ abort(); ++ } ++} ++ ++FORCE_INLINE unsigned int _sse2neon_mm_get_denormals_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_DENORMALS_ZERO_ON : _MM_DENORMALS_ZERO_OFF; ++} ++ ++// Count the number of bits set to 1 in unsigned 32-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u32 ++FORCE_INLINE int _mm_popcnt_u32(unsigned int a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcount) ++ return __builtin_popcount(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits(a); ++#else ++ return (int) vaddlv_u8(vcnt_u8(vcreate_u8((uint64_t) a))); ++#endif ++#else ++ uint32_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ ++ vst1_u32(&count, count32x2_val); ++ return count; ++#endif ++} ++ ++// Count the number of bits set to 1 in unsigned 64-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u64 ++FORCE_INLINE int64_t _mm_popcnt_u64(uint64_t a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcountll) ++ return __builtin_popcountll(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits64(a); ++#else ++ return (int64_t) vaddlv_u8(vcnt_u8(vcreate_u8(a))); ++#endif ++#else ++ uint64_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ uint64x1_t count64x1_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ count64x1_val = vpaddl_u32(count32x2_val); ++ vst1_u64(&count, count64x1_val); ++ return count; ++#endif ++} ++ ++FORCE_INLINE void _sse2neon_mm_set_denormals_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_DENORMALS_ZERO_MASK) == _MM_DENORMALS_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Return the current 64-bit value of the processor's time-stamp counter. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=rdtsc ++FORCE_INLINE uint64_t _rdtsc(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t val; ++ ++ /* According to ARM DDI 0487F.c, from Armv8.0 to Armv8.5 inclusive, the ++ * system counter is at least 56 bits wide; from Armv8.6, the counter ++ * must be 64 bits wide. So the system counter could be less than 64 ++ * bits wide and it is attributed with the flag 'cap_user_time_short' ++ * is true. ++ */ ++#if defined(_MSC_VER) ++ val = _ReadStatusReg(ARM64_SYSREG(3, 3, 14, 0, 2)); ++#else ++ __asm__ __volatile__("mrs %0, cntvct_el0" : "=r"(val)); ++#endif ++ ++ return val; ++#else ++ uint32_t pmccntr, pmuseren, pmcntenset; ++ // Read the user mode Performance Monitoring Unit (PMU) ++ // User Enable Register (PMUSERENR) access permissions. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c14, 0" : "=r"(pmuseren)); ++ if (pmuseren & 1) { // Allows reading PMUSERENR for user mode code. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c12, 1" : "=r"(pmcntenset)); ++ if (pmcntenset & 0x80000000UL) { // Is it counting? ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c13, 0" : "=r"(pmccntr)); ++ // The counter is set up to count every 64th cycle ++ return (uint64_t) (pmccntr) << 6; ++ } ++ } ++ ++ // Fallback to syscall as we can't enable PMUSERENR in user mode. ++ struct timeval tv; ++ gettimeofday(&tv, NULL); ++ return (uint64_t) (tv.tv_sec) * 1000000 + tv.tv_usec; ++#endif ++} ++ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma pop_macro("ALIGN_STRUCT") ++#pragma pop_macro("FORCE_INLINE") ++#endif ++ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma GCC pop_options ++#endif ++ ++#endif + +From d7bf7a21aee97b995c8ad75d2c4f956c56d5d72d Mon Sep 17 00:00:00 2001 +From: Martin Tzvetanov Grigorov +Date: Wed, 24 Apr 2024 16:16:14 +0300 +Subject: [PATCH 2/5] Make it possible to overwrite c++ flags per CPU + architecture + +Signed-off-by: Martin Tzvetanov Grigorov +--- + src/makefile | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/src/makefile b/src/makefile +index a272bfa..d2010bd 100644 +--- a/src/makefile ++++ b/src/makefile +@@ -2,9 +2,10 @@ + + all: main + +-CXX = g++ +-FLAGS = -I${PREFIX}/include -Wall -D NDEBUG -O3 -m64 -msse4.2 -mpopcnt -fPIC +-LIB = -lpthread -lstdc++ -lz -lm ++ARCH_FLAGS = -m64 -msse4.2 -mpopcnt ++CXX = g++ ++FLAGS = -I${PREFIX}/include -Wall -D NDEBUG -O3 ${ARCH_FLAGS} -fPIC ++LIB = -lpthread -lstdc++ -lz -lm + SOURCE = main.cpp GetData.cpp GSAlign.cpp ProcessCandidateAlignment.cpp KmerAnalysis.cpp tools.cpp SeqVariant.cpp DotPloting.cpp bwt_index.cpp bwt_search.cpp ksw2_alignment.cpp + HEADER = structure.h + OBJECT = $(SOURCE:%.cpp=%.o) + diff --git a/recipes/gseapy/meta.yaml b/recipes/gseapy/meta.yaml index b7e7775daa4ff..57e181ec0d301 100644 --- a/recipes/gseapy/meta.yaml +++ b/recipes/gseapy/meta.yaml @@ -1,10 +1,10 @@ package: name: gseapy - version: "1.1.0" + version: "1.1.3" source: - url: https://files.pythonhosted.org/packages/6b/99/93b64bf596d9dee42cb338ffa557c0c2f327675c1f0e1148ff1115f76e35/gseapy-1.1.0.tar.gz - sha256: eba85ad99f55727bde7d1ac0172b29d5e07c8c879cdcbcc94c11df40a804ed8c + url: https://files.pythonhosted.org/packages/28/c2/7c03f74682de640b71ba9a9958c5c8a90867b0f4f9ffef2c15702113d47a/gseapy-1.1.3.tar.gz + sha256: 7f9218bb4014a862680d4d3e806e59bec8f81601e876a04495922da81da1b395 build: entry_points: @@ -12,7 +12,7 @@ build: run_exports: - {{ pin_subpackage("gseapy", max_pin="x") }} skip: True # [py2k or py == 36 ] - number: 0 + number: 1 requirements: build: @@ -40,11 +40,14 @@ test: about: home: https://github.com/zqfang/gseapy - license: MIT License + license: MIT summary: 'Gene Set Enrichment Analysis in Python' license_family: MIT + license_file: LICENSE extra: + additional-platforms: + - linux-aarch64 container: # matplotlib needs opengl support extended-base: true diff --git a/recipes/gsearch/build.sh b/recipes/gsearch/build.sh index 255e702c00317..530cb231081c0 100644 --- a/recipes/gsearch/build.sh +++ b/recipes/gsearch/build.sh @@ -5,4 +5,4 @@ export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="$(pwd)/.cargo" # build statically linked binary with Rust -RUST_BACKTRACE=1 cargo install --features annembed_intel-mkl,simdeez_f --verbose --path . --root $PREFIX +RUST_BACKTRACE=1 cargo install --features simdeez_f --verbose --path . --root $PREFIX diff --git a/recipes/gsearch/meta.yaml b/recipes/gsearch/meta.yaml index e705912ca1f85..b5933506444d4 100644 --- a/recipes/gsearch/meta.yaml +++ b/recipes/gsearch/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.1.6" %} +{% set version = "0.2.2" %} package: name: gsearch @@ -11,19 +11,19 @@ build: skip: True # [osx] source: url: https://github.com/jianshu93/gsearch/archive/v{{ version }}.tar.gz - sha256: e57b53617e325195699d3e3a8e68acc7172775466ce8be37516df60dd71fbd12 + sha256: 2f0247712a302f152b1f08d153f5555a5e7d1608b23f6f9a7eb90e6fa2990945 requirements: build: - {{ compiler("cxx") }} - {{ compiler('c') }} - - rust >=1.39 + - rust >=1.60 - make - cmake test: commands: - - gsearchbin -h + - gsearch -h about: home: https://github.com/jean-pierreBoth/gsearch @@ -33,3 +33,5 @@ extra: maintainers: - Jean Pierre-Both - Jianshu Zhao + identifiers: + - https://doi.org/10.1093/nar/gkae609 diff --git a/recipes/gsmap/meta.yaml b/recipes/gsmap/meta.yaml new file mode 100644 index 0000000000000..6e49d56bd3d26 --- /dev/null +++ b/recipes/gsmap/meta.yaml @@ -0,0 +1,69 @@ +{% set name = "gsmap" %} +{% set version = "1.70" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/gsMap/{{ name }}-{{ version }}.tar.gz" + sha256: 54a8373c79c1ffe71e0b4c1e2cf33aed1a61b742e23efa05b00b8466b3ec3da9 + +build: + noarch: python + number: 0 + script: {{ PYTHON }} -m pip install . --no-deps -vv + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + +requirements: + host: + - python >=3.8 + - pip + - flit >=3.2,<4 + + run: + - python >=3.8 + - numpy + - pandas + - scipy + - scikit-learn + - matplotlib-base + - seaborn + - tqdm + - progress + - pyyaml + - pyranges + - pyfiglet + - plotly + - kaleido-core + - jinja2 + - scanpy >=1.8 + - zarr + - bitarray + - pyarrow + - scikit-misc + +test: + commands: + - gsmap --help + +about: + home: https://github.com/LeonSong1995/gsMap + license: MIT + license_file: LICENSE + summary: "gsMap (genetically informed spatial mapping of cells for complex traits)" + description: | + gsMap integrates spatial transcriptomics (ST) data with genome-wide association study (GWAS) summary statistics to map cells to human complex traits, including diseases, in a spatially resolved manner. + authors: + - name: liyang + email: songliyang@westlake.edu.cn + - name: wenhao + email: chenwenhao@westlake.edu.cn + doc_url: "https://yanglab.westlake.edu.cn/gsmap/document" + dev_url: "https://github.com/LeonSong1995/gsMap" + +extra: + recipe-maintainers: + - Ganten-Hornby + - leonSong1995 diff --git a/recipes/gtdb_to_taxdump/meta.yaml b/recipes/gtdb_to_taxdump/meta.yaml new file mode 100644 index 0000000000000..a0fc5375f7565 --- /dev/null +++ b/recipes/gtdb_to_taxdump/meta.yaml @@ -0,0 +1,44 @@ +{% set name = "gtdb_to_taxdump" %} +{% set version = "0.1.9" %} +{% set sha256 = "28c6d1b05892514ac79ce7017ac7c132e9d51fe6ce54b5a05fdfec2fb2a5e6d1" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + noarch: python + number: 0 + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + run_exports: + - {{ pin_subpackage("gtdb_to_taxdump", max_pin="x.x") }} + +requirements: + host: + - pip + - python + - numpy + run: + - networkx + - python + - tqdm + - {{ pin_compatible('numpy') }} + +test: + imports: + - bin + - gtdb2td + commands: + - gtdb_to_taxdump.py -h + - gtdb_to_taxdump.py --version + +about: + home: https://github.com/nick-youngblut/gtdb_to_taxdump + license: MIT + license_family: MIT + license_file: LICENSE + summary: "GTDB database utility scripts" \ No newline at end of file diff --git a/recipes/gtdbtk/download-db.sh b/recipes/gtdbtk/download-db.sh index c3c77b25d433c..236e3f44671c1 100755 --- a/recipes/gtdbtk/download-db.sh +++ b/recipes/gtdbtk/download-db.sh @@ -1,9 +1,9 @@ set -e # Configuration -N_FILES_IN_TAR=181718 -DB_URL="https://data.gtdb.ecogenomic.org/releases/release214/214.0/auxillary_files/gtdbtk_r214_data.tar.gz" -TARGET_TAR_NAME="gtdbtk_r214_data.tar.gz" +N_FILES_IN_TAR=241860 +DB_URL="https://data.gtdb.ecogenomic.org/releases/release220/220.0/auxillary_files/gtdbtk_package/full_package/gtdbtk_r220_data.tar.gz" +TARGET_TAR_NAME="gtdbtk_r220_data.tar.gz" # Script variables (no need to configure) TARGET_DIR=${1:-$GTDBTK_DATA_PATH} diff --git a/recipes/gtdbtk/meta.yaml b/recipes/gtdbtk/meta.yaml index 611e22a30947f..3023022470731 100644 --- a/recipes/gtdbtk/meta.yaml +++ b/recipes/gtdbtk/meta.yaml @@ -1,16 +1,18 @@ {% set name = "gtdbtk" %} -{% set version = "2.3.2" %} +{% set version = "2.4.0" %} package: name: {{ name|lower }} version: {{ version }} source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 80efd31e10007d835f56a3d6fdf039a59db3b6ba4be26b234692da5e688aa99f + sha256: e67bab2c8f3e47c7242c70236c78e85bb9dc4721636bbf5044b171f18f22b1f7 build: - number: 0 + number: 1 noarch: python entry_points: - gtdbtk = gtdbtk.__main__:main + run_exports: + - {{ pin_subpackage('gtdbtk', max_pin="x") }} requirements: host: - pip @@ -27,6 +29,7 @@ requirements: - mash >=2.0 - tqdm >=4.35.0 - pydantic >=1.9.2, <2 + - skani >=0.2.0 test: imports: - gtdbtk diff --git a/recipes/gtdbtk/post-link.sh b/recipes/gtdbtk/post-link.sh index 4ac76d7c003f8..ee340a4676c67 100644 --- a/recipes/gtdbtk/post-link.sh +++ b/recipes/gtdbtk/post-link.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash echo " - GTDB-Tk v${PKG_VERSION} requires ~78G of external data which needs to be downloaded + GTDB-Tk v${PKG_VERSION} requires ~110G of external data which needs to be downloaded and extracted. This can be done automatically, or manually. Automatic: @@ -12,11 +12,11 @@ echo " Manual: 1. Manually download the latest reference data: - wget https://data.gtdb.ecogenomic.org/releases/release214/214.0/auxillary_files/gtdbtk_r214_data.tar.gz + wget https://data.gtdb.ecogenomic.org/releases/release220/220.0/auxillary_files/gtdbtk_package/full_package/gtdbtk_r220_data.tar.gz 2. Extract the archive to a target directory: - tar -xvzf gtdbtk_r214_data.tar.gz -C \"/path/to/target/db\" --strip 1 > /dev/null - rm gtdbtk_r214_data.tar.gz + tar -xvzf gtdbtk_r220_data.tar.gz -C \"/path/to/target/db\" --strip 1 > /dev/null + rm gtdbtk_r220_data.tar.gz 3. Set the GTDBTK_DATA_PATH environment variable by running: conda env config vars set GTDBTK_DATA_PATH=\"/path/to/target/db\" diff --git a/recipes/gtfparse/meta.yaml b/recipes/gtfparse/meta.yaml index a5ac6588aa3d5..41e4bd86031e9 100644 --- a/recipes/gtfparse/meta.yaml +++ b/recipes/gtfparse/meta.yaml @@ -1,6 +1,6 @@ {% set name = "gtfparse" %} -{% set version = "2.0.1" %} -{% set sha256 = "c45439af58cb48120910bebe4625371d8fb5735f12a749e8933c9d6f2b1a558c" %} +{% set version = "2.5.0" %} +{% set sha256 = "9fea54811cd87f597a110a49dc1b1b6a3325ffb7d1f36ecc62c32d14d3eb9493" %} package: name: {{ name|lower }} @@ -11,9 +11,9 @@ source: sha256: {{ sha256 }} build: - number: 1 + number: 0 noarch: python - script: {{ PYTHON }} -m pip install . --no-deps -vvv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv run_exports: - {{ pin_subpackage('gtfparse', max_pin="x.x") }} @@ -23,9 +23,10 @@ requirements: - pip run: - python - - polars <0.17 + - polars >=0.20.2,<0.21.0 - numpy >=1.7 - pandas >=0.15 + - pyarrow >=14.0.2 test: imports: diff --git a/recipes/gtfsort/build.sh b/recipes/gtfsort/build.sh new file mode 100644 index 0000000000000..8e10cdc3e3237 --- /dev/null +++ b/recipes/gtfsort/build.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +# Add workaround for SSH-based Git connections from Rust/cargo. See https://github.com/rust-lang/cargo/issues/2078 for details. +# We set CARGO_HOME because we don't pass on HOME to conda-build, thus rendering the default "${HOME}/.cargo" defunct. +export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="${BUILD_PREFIX}/.cargo" + +# build statically linked binary with Rust +RUST_BACKTRACE=1 +cargo install --verbose --path . --root ${PREFIX} diff --git a/recipes/gtfsort/meta.yaml b/recipes/gtfsort/meta.yaml new file mode 100644 index 0000000000000..b04cc6fac6f30 --- /dev/null +++ b/recipes/gtfsort/meta.yaml @@ -0,0 +1,39 @@ +{% set name = "gtfsort" %} +{% set version = "0.2.2" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/alejandrogzi/{{ name }}/archive/refs/tags/v.{{ version }}.tar.gz + sha256: d22a8ef32e30111ad2dd08d1da0e0914ac62a728483b8e39a4ef8ea4e6133b4f + +build: + number: 0 + run_exports: + - {{ pin_subpackage('gtfsort', max_pin="x.x") }} + +requirements: + build: + - {{ compiler("cxx") }} + - rust >=1.39 + - pkg-config + +test: + commands: + - gtfsort --help + - gtfsort --version + +about: + home: https://github.com/alejandrogzi/gtfsort + license: MIT + license_family: MIT + license_file: LICENSE + summary: "A chr/pos/feature GTF sorter that uses a lexicographically-based index ordering algorithm." + +extra: + recipe-maintainers: + - alejandrogzi + identifiers: + - doi:10.1101/2023.10.21.563454 diff --git a/recipes/gtotree/meta.yaml b/recipes/gtotree/meta.yaml index 8bdeeae00ce5f..1a94e22d51527 100644 --- a/recipes/gtotree/meta.yaml +++ b/recipes/gtotree/meta.yaml @@ -1,5 +1,5 @@ {% set name = "GToTree" %} -{% set version = "1.8.4" %} +{% set version = "1.8.8" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: https://github.com/AstrobioMike/GToTree/archive/v{{ version }}.tar.gz - sha256: 8a20b168b1174d2f54059d3b8273e41d1358df2200338e54adce65d3848a7893 + sha256: 81e5856fa188a5096725605a31a1bf6bf4f8baa1dc2acc83eda29a0ff7a742b5 build: number: 0 diff --git a/recipes/gubbins/build.sh b/recipes/gubbins/build.sh index e0713f9972a8e..109fbbc99f4dd 100644 --- a/recipes/gubbins/build.sh +++ b/recipes/gubbins/build.sh @@ -3,6 +3,14 @@ export CFLAGS="-I$PREFIX/include" export LDFLAGS="-L$PREFIX/lib" export CPATH=${PREFIX}/include +if [[ $target_platform == osx-* ]]; then + for toolname in "otool" "install_name_tool"; do + tool=$(find "${BUILD_PREFIX}/bin/" -name "*apple*-$toolname") + mv "${tool}" "${tool}.bak" + ln -s "/Library/Developer/CommandLineTools/usr/bin/${toolname}" "$tool" + done +fi + autoreconf -i ./configure --prefix=$PREFIX make diff --git a/recipes/gubbins/meta.yaml b/recipes/gubbins/meta.yaml index 8305801f9caa9..2166a683609f3 100644 --- a/recipes/gubbins/meta.yaml +++ b/recipes/gubbins/meta.yaml @@ -1,6 +1,6 @@ {% set name = "gubbins" %} -{% set version = "3.3.1" %} -{% set sha256 = "1794ba37780f1444131f84fa34fb144e709ec1af239c46f7f18636d8b1b73edf" %} +{% set version = "3.3.5" %} +{% set sha256 = "4ee363f82708bdda0c00d1c6c334cf20127bd852ee488619f61140771a279774" %} package: name: {{ name|lower }} @@ -13,7 +13,7 @@ build: - {{ pin_subpackage('gubbins', max_pin="x") }} source: - url: https://github.com/nickjcroucher/{{ name|lower }}/archive/v{{ version }}.tar.gz + url: https://github.com/nickjcroucher/gubbins/archive/refs/tags/v{{ version }}.tar.gz sha256: {{ sha256 }} requirements: @@ -28,28 +28,27 @@ requirements: host: - perl - zlib - - python - - scipy >=1.5.3 + - python >=3.8,<3.10 + - scipy - setuptools - - dendropy >=4.0.2 - - biopython >=1.59 + - dendropy + - biopython - numpy <=1.23.0 - - numba >=0.53 + - numba run: - - python - - scipy >=1.5.3 - - reportlab >=3.0 - - dendropy >=4.0.2 - - biopython >=1.59 - - multiprocess >=0.70 + - python >=3.8,<3.10 + - scipy + - dendropy + - biopython + - multiprocess - setuptools - raxml =8.2.12 - iqtree >=2.2 - rapidnj - raxml-ng =1.0.1 - fasttree =2.1.10 - - numpy >=1.2 - - numba >=0.56 + - numpy <=1.23.0 + - numba - ska2 >=0.3.0 - r-argparser - r-magrittr diff --git a/recipes/guidescan/build.sh b/recipes/guidescan/build.sh index 2385814a50278..bb59e1fc4528b 100644 --- a/recipes/guidescan/build.sh +++ b/recipes/guidescan/build.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -xe + mkdir -p $PREFIX/bin mkdir -p build @@ -10,6 +12,6 @@ cd build # Further, certain features (related to filesystem/path.h) are only available in macOS 10.15 cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 -make +make -j ${CPU_COUNT} cp bin/guidescan $PREFIX/bin chmod +x $PREFIX/bin/guidescan diff --git a/recipes/guidescan/build_failure.osx-64.yaml b/recipes/guidescan/build_failure.osx-64.yaml deleted file mode 100644 index b8e3ec35afd30..0000000000000 --- a/recipes/guidescan/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: a17179d188e714827d6bbac62906797d0e10fa8175f281936ae9a98790ac17ae # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - - CMake Deprecation Warning at sdsl/external/googletest/googletest/CMakeLists.txt:48 (cmake_minimum_required): - Compatibility with CMake < 2.8.12 will be removed from a future version of - CMake. - - Update the VERSION argument value or use a ... suffix to tell - CMake that the project does not need compatibility with older versions. - - - -- Found PythonInterp: /opt/mambaforge/envs/bioconda/bin/python (found version "3.8.16") - -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success - -- Found Threads: TRUE - -- Looking for C include cstdio - -- Looking for C include cstdio - found - -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) - -- Found CURL: /Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib/libcurl.dylib (found version "7.30.0") - -- Configuring done (19.2s) - -- Generating done (1.3s) - -- Build files have been written to: $SRC_DIR/build - [ 0%] Building C object sdsl/external/libdivsufsort/lib/CMakeFiles/divsufsort.dir/divsufsort.o - [ 0%] Building C object sdsl/external/libdivsufsort/lib/CMakeFiles/divsufsort.dir/sssort.o - [ 0%] Building C object sdsl/external/libdivsufsort/lib/CMakeFiles/divsufsort.dir/trsort.o - [ 8%] Building C object sdsl/external/libdivsufsort/lib/CMakeFiles/divsufsort.dir/utils.o - [ 8%] Linking C static library libdivsufsort.a - [ 8%] Built target divsufsort - [ 8%] Building C object sdsl/external/libdivsufsort/lib/CMakeFiles/divsufsort64.dir/divsufsort.o - [ 8%] Building C object sdsl/external/libdivsufsort/lib/CMakeFiles/divsufsort64.dir/sssort.o - [ 16%] Building C object sdsl/external/libdivsufsort/lib/CMakeFiles/divsufsort64.dir/trsort.o - [ 16%] Building C object sdsl/external/libdivsufsort/lib/CMakeFiles/divsufsort64.dir/utils.o - [ 16%] Linking C static library libdivsufsort64.a - [ 16%] Built target divsufsort64 - [ 25%] Building CXX object sdsl/external/googletest/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o - In file included from /opt/mambaforge/envs/bioconda/conda-bld/guidescan_1685353540554/work/sdsl/external/googletest/googletest/src/gtest-all.cc:39: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/guidescan_1685353540554/work/sdsl/external/googletest/googletest/include/gtest/gtest.h:62: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/guidescan_1685353540554/work/sdsl/external/googletest/googletest/include/gtest/gtest-param-test.h:193: - /opt/mambaforge/envs/bioconda/conda-bld/guidescan_1685353540554/work/sdsl/external/googletest/googletest/include/gtest/internal/gtest-param-util-generated.h:107:8: warning: definition of implicit copy constructor for 'ValueArray2' is deprecated because it has a user-provided copy assignment operator [-Wdeprecated-copy-with-user-provided-copy] - void operator=(const ValueArray2& other); - ^ - /opt/mambaforge/envs/bioconda/conda-bld/guidescan_1685353540554/work/sdsl/external/googletest/googletest/include/gtest/gtest-param-test.h:354:10: note: in implicit copy constructor for 'testing::internal::ValueArray2' first required here - return internal::ValueArray2(v1, v2); - ^ - /opt/mambaforge/envs/bioconda/conda-bld/guidescan_1685353540554/work/sdsl/external/googletest/googletest/include/gtest/gtest-param-test.h:1221:10: note: in instantiation of function template specialization 'testing::Values' requested here - return Values(false, true); - ^ - 1 warning generated. - [ 25%] Linking CXX static library libgtest.a - [ 25%] Built target gtest - [ 25%] Building CXX object sdsl/external/googletest/googletest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o - In file included from /opt/mambaforge/envs/bioconda/conda-bld/guidescan_1685353540554/work/sdsl/external/googletest/googletest/src/gtest_main.cc:32: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/guidescan_1685353540554/work/sdsl/external/googletest/googletest/include/gtest/gtest.h:62: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/guidescan_1685353540554/work/sdsl/external/googletest/googletest/include/gtest/gtest-param-test.h:193: - /opt/mambaforge/envs/bioconda/conda-bld/guidescan_1685353540554/work/sdsl/external/googletest/googletest/include/gtest/internal/gtest-param-util-generated.h:107:8: warning: definition of implicit copy constructor for 'ValueArray2' is deprecated because it has a user-provided copy assignment operator [-Wdeprecated-copy-with-user-provided-copy] - void operator=(const ValueArray2& other); - ^ - /opt/mambaforge/envs/bioconda/conda-bld/guidescan_1685353540554/work/sdsl/external/googletest/googletest/include/gtest/gtest-param-test.h:354:10: note: in implicit copy constructor for 'testing::internal::ValueArray2' first required here - return internal::ValueArray2(v1, v2); - ^ - /opt/mambaforge/envs/bioconda/conda-bld/guidescan_1685353540554/work/sdsl/external/googletest/googletest/include/gtest/gtest-param-test.h:1221:10: note: in instantiation of function template specialization 'testing::Values' requested here - return Values(false, true); - ^ - 1 warning generated. - [ 25%] Linking CXX static library libgtest_main.a - [ 25%] Built target gtest_main - [ 33%] Building CXX object sdsl/lib/CMakeFiles/sdsl.dir/bits.cpp.o - In file included from /opt/mambaforge/envs/bioconda/conda-bld/guidescan_1685353540554/work/sdsl/lib/bits.cpp:17: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/guidescan_1685353540554/work/build/sdsl/lib/../include/sdsl/bits.hpp:25: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/guidescan_1685353540554/_build_env/bin/../include/c/v1/iostream:43: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/guidescan_1685353540554/_build_env/bin/../include/c/v1/ios:221: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/guidescan_1685353540554/_build_env/bin/../include/c/v1/__locale:18: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/guidescan_1685353540554/_build_env/bin/../include/c/v1/mutex:191: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/guidescan_1685353540554/_build_env/bin/../include/c/v1/__memory/shared_ptr.h:22: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/guidescan_1685353540554/_build_env/bin/../include/c/v1/__memory/allocation_guard.h:14: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/guidescan_1685353540554/_build_env/bin/../include/c/v1/__memory/allocator_traits.h:14: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/guidescan_1685353540554/_build_env/bin/../include/c/v1/__memory/construct_at.h:23: - /opt/mambaforge/envs/bioconda/conda-bld/guidescan_1685353540554/_build_env/bin/../include/c/v1/new:355:14: error: no member named 'aligned_alloc' in the global namespace - return ::aligned_alloc(__alignment, __size > __rounded_size ? __size : __rounded_size); - ~~^ - 1 error generated. - make[2]: *** [sdsl/lib/CMakeFiles/sdsl.dir/build.make:76: sdsl/lib/CMakeFiles/sdsl.dir/bits.cpp.o] Error 1 - make[1]: *** [CMakeFiles/Makefile2:682: sdsl/lib/CMakeFiles/sdsl.dir/all] Error 2 - make: *** [Makefile:156: all] Error 2 - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/guidescan_1685353540554/work/conda_build.sh']' returned non-zero exit status 2. -# Last 100 lines of the build log. diff --git a/recipes/guidescan/meta.yaml b/recipes/guidescan/meta.yaml index 9aea5a66ea70d..a77e8729aca56 100644 --- a/recipes/guidescan/meta.yaml +++ b/recipes/guidescan/meta.yaml @@ -1,5 +1,5 @@ {% set name="guidescan" %} -{% set version="2.2.0" %} +{% set version="2.2.1" %} package: name: {{ name }} @@ -7,10 +7,10 @@ package: source: url: https://github.com/pritykinlab/guidescan-cli/releases/download/v{{ version }}/guidescan-v{{ version }}-src.tar.gz - sha256: b1fd82fc65bbcd883e6006ed921762e8075edd61b693f1a4d084e1fda6305f72 + sha256: 24075dc9c391e16af7ac7bf0af4cba0682b420e7ed63ca7c928f16a61adc5ff1 build: - number: 0 + number: 2 run_exports: - {{ pin_subpackage(name, max_pin="x.x") }} @@ -22,6 +22,11 @@ requirements: run: - libcurl +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + test: commands: - "guidescan --version" diff --git a/recipes/gum/meta.yaml b/recipes/gum/meta.yaml index b8292930c1f83..80d205fd59d79 100644 --- a/recipes/gum/meta.yaml +++ b/recipes/gum/meta.yaml @@ -1,5 +1,5 @@ {% set name = "gum" %} -{% set version = "2.0.1" %} +{% set version = "2.0.2" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: - url: https://github.com/cartoonist/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz - sha256: 70f314ec89d8dc767eaf7184c43fdb793948dbdf6bec63a88ba3e8a539e465aa + sha256: 3afd2bed67cdc053d5afacdb1b951a15dce36738874f92cc74a9fafbf7bb65c0 patches: - 00-fix-ext-cmake.patch - url: https://github.com/cartoonist/sdsl-lite/archive/af1820fa3c25d2eb64bbab37a1a94938af862ec8.tar.gz @@ -16,8 +16,8 @@ source: - url: https://github.com/greg7mdp/parallel-hashmap/archive/d2bed96d2947c13b8fc90337198c315b2200e058.tar.gz sha256: 387ce116c8568f2d2be43658024a233ed807f420cc9152b4723a780472b97c04 folder: ext/parallel-hashmap - - url: https://github.com/cartoonist/gfakluge/archive/e4cd7b02317d65b321385cac5415a3cab0a1d0cc.tar.gz - sha256: 1303152ea59cade4f21528c414da6fba073b86299c11f259ad8a3d50a450b5ab + - url: https://github.com/cartoonist/gfakluge/archive/9f635f2e49dc42443160d30368e07864ab221efd.tar.gz + sha256: 85504b0e9c0a0d68361d65984be9168f728eb0b3faad1ca42fc6e08156d57850 folder: ext/gfakluge - url: https://github.com/cartoonist/tinyFA/archive/bfe1eea6bc5dbd2c87b7b3d48d99e05dafce7073.tar.gz sha256: 92d00462cd770c421a2d30f99aef0de997c732714defead8e05da390e3528755 diff --git a/recipes/gvcf2coverage/meta.yaml b/recipes/gvcf2coverage/meta.yaml index e7f05734f3efc..aeacb09762f55 100644 --- a/recipes/gvcf2coverage/meta.yaml +++ b/recipes/gvcf2coverage/meta.yaml @@ -7,7 +7,7 @@ source: git_rev: 4d2c03bcae2f3d2e3f954c4903329c64b3a6a2cd build: - number: 7 + number: 8 requirements: build: diff --git a/recipes/gw/build.sh b/recipes/gw/build.sh index ad9024fc8c20e..41ea8b9fe293b 100644 --- a/recipes/gw/build.sh +++ b/recipes/gw/build.sh @@ -1,7 +1,32 @@ #!/usr/bin/bash set -e -make prep -CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" make + +# Get pre-compiled skia from jetbrains +USE_GL=1 make prep > /dev/null 2>&1 + +if [[ "$OSTYPE" != "darwin"* ]]; then + sed -i 's/-lEGL -lGLESv2/-lEGL -lGLESv2 -lGL -lGLX/' Makefile + sed -i 's/GLFW_EGL_CONTEXT_API/GLFW_NATIVE_CONTEXT_API/' src/plot_manager.cpp +fi + +# Set flags conditionally based on the OS type +if [[ "$OSTYPE" != "darwin"* ]]; then + SYSROOT_FLAGS="--sysroot=${BUILD_PREFIX}/${HOST}/sysroot" + CPPFLAGS="${CPPFLAGS} -I${BUILD_PREFIX}/${HOST}/sysroot/usr/include ${SYSROOT_FLAGS}" + LDFLAGS="${LDFLAGS} -L${PREFIX}/lib -L${BUILD_PREFIX}/${HOST}/sysroot/usr/lib -L${BUILD_PREFIX}/${HOST}/sysroot/usr/lib64 ${SYSROOT_FLAGS}" +else + # No sysroot settings for macOS + SYSROOT_FLAGS="" + CPPFLAGS="${CPPFLAGS}" + LDFLAGS="${LDFLAGS} -L${PREFIX}" +fi + +CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" \ +CPPFLAGS="${CPPFLAGS}" \ +LDFLAGS="${LDFLAGS}" \ +prefix="${PREFIX}" \ +make -j ${CPU_COUNT} + mkdir -p $PREFIX/bin cp gw $PREFIX/bin/gw cp -n .gw.ini $PREFIX/bin/.gw.ini diff --git a/recipes/gw/fix-context.patch b/recipes/gw/fix-context.patch new file mode 100644 index 0000000000000..6a5aa5d6a9e0c --- /dev/null +++ b/recipes/gw/fix-context.patch @@ -0,0 +1,9 @@ +--- a/src/plot_manager.cpp ++++ b/src/plot_manager.cpp +@@ -252,1 +252,1 @@ +- glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, (minor_v == -1) ? 1 : major_v); ++ glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, (minor_v == -1) ? 1 : minor_v); + +@@ -258,1 +258,1 @@ +- glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, (minor_v == -1) ? 1 : major_v); ++ glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, (minor_v == -1) ? 1 : minor_v); diff --git a/recipes/gw/fix-linker-issues.patch b/recipes/gw/fix-linker-issues.patch new file mode 100644 index 0000000000000..27ab2e2f7e8ca --- /dev/null +++ b/recipes/gw/fix-linker-issues.patch @@ -0,0 +1,5 @@ +--- a/Makefile ++++ b/Makefile +@@ -132,1 +132,1 @@ +- $(CXX) $(CXXFLAGS) $(OBJECTS) $(LDFLAGS) $(LDLIBS) -o $@ ++ $(CXX) $(CXXFLAGS) $(OBJECTS) $(LDFLAGS) $(LDLIBS) -Wl,-rpath,$(PREFIX)/lib -Wl,-rpath-link,$(PREFIX)/lib -o $@ diff --git a/recipes/gw/meta.yaml b/recipes/gw/meta.yaml index aa5a857b7a8f0..decc50a9fcd20 100644 --- a/recipes/gw/meta.yaml +++ b/recipes/gw/meta.yaml @@ -1,51 +1,78 @@ - -{% set version = "0.8.2" %} -{% set sha256 = "519f06fac2635a59614517ff00dc1e86e4f78c2926df504b03ba62a66a5de3e8" %} +{% set version = "1.1.0" %} +{% set sha256 = "dc96521b8252bde02d9cc68bb3cee156c0469889d2783ee72682338d10657892" %} package: name: gw version: {{ version }} - source: url: https://github.com/kcleal/gw/archive/refs/tags/v{{ version }}.tar.gz sha256: {{ sha256 }} - + patches: + - fix-linker-issues.patch # [linux] + - fix-context.patch build: - number: 1 + number: 0 run_exports: - - {{ pin_subpackage('gw', max_pin="x") }} + - {{ pin_subpackage('gw', max_pin="x") }} + ignore_run_exports: + - libglx # [linux] + - libgles # [linux] + - libegl # [linux] + - xorg-libsm # [linux] + - xorg-libice # [linux] + - xorg-libx11 # [linux] + - xorg-libxau # [linux] + - xorg-libxext # [linux] + - libxcb # [linux] + - freetype # [osx] + - fontconfig # [osx] + - zlib # [osx] + - libuuid + - libdeflate requirements: build: - make + - {{ compiler('c') }} - {{ compiler('cxx') }} - - {{ cdt('xorg-x11-proto-devel') }} # [linux] - - {{ cdt('mesa-libgl-devel') }} # [linux] - - {{ cdt('mesa-dri-drivers') }} # [linux] - - {{ cdt('libselinux') }} # [linux] - - {{ cdt('libxdamage') }} # [linux] - - {{ cdt('libxxf86vm') }} # [linux] - - {{ cdt('libxfixes') }} # [linux] - - {{ cdt('libxext') }} # [linux] - - wget - - unzip + host: - fontconfig + - libuuid - libcurl - - libdeflate >=1.8 + - libdeflate >=1.0 - htslib >=1.12 - glfw >=3.3 + - unzip - freetype - - xorg-libxfixes # [linux] + - zlib + - pthread-stubs # [linux] + - xorg-libsm # [linux] + - xorg-libice # [linux] + - xorg-libx11 # [linux] + - libxcb # [linux] + - libegl-devel # [linux] + - libgl-devel # [linux] + - libglx-devel # [linux] + - libgles-devel # [linux] + - wayland # [linux] + run: - glfw >=3.3 - - htslib >=1.12 + - htslib >=1.12 + - xorg-libxt # [linux] + - xorg-libxau # [linux] + - xorg-libxfixes # [linux] + - xorg-libxxf86vm # [linux] + - xorg-libxdamage # [linux] + - mesalib # [linux] + - wayland # [linux] test: commands: - - gw --version + - gw hg19 -b https://github.com/kcleal/gw/releases/download/v1.0.0/demo1.bam -r chr8:37047270-37055161 -n > test.png; ls -lh test.png about: home: https://github.com/kcleal/gw @@ -54,7 +81,9 @@ about: summary: 'View genomic sequencing data and vcf files' extra: + additional-platforms: + - osx-arm64 container: - extended-base: True + extended-base: True recipe-maintainers: - kcleal diff --git a/recipes/gxf2bed/build.sh b/recipes/gxf2bed/build.sh new file mode 100644 index 0000000000000..5502a47bd8e38 --- /dev/null +++ b/recipes/gxf2bed/build.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +set -xe + +# build statically linked binary with Rust +RUST_BACKTRACE=1 cargo install --verbose --path . --root ${PREFIX} --no-track diff --git a/recipes/gxf2bed/meta.yaml b/recipes/gxf2bed/meta.yaml new file mode 100644 index 0000000000000..0521ca13cce91 --- /dev/null +++ b/recipes/gxf2bed/meta.yaml @@ -0,0 +1,40 @@ +{% set name = "gxf2bed" %} +{% set version = "0.2.3" %} + +package: + name: gxf2bed + version: {{ version }} + +source: + url: https://github.com/alejandrogzi/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: 1f8358a972bded0c4906bf03532ba4ee9f7fc6bf9b84063e4b25b98f37ced45f + +build: + number: 1 + run_exports: + - {{ pin_subpackage('gxf2bed', max_pin="x.x") }} + +requirements: + build: + - {{ compiler("cxx") }} + - {{ compiler("rust") }} + - pkg-config + +test: + commands: + - gxf2bed --help + - gxf2bed --version + +about: + home: https://github.com/alejandrogzi/gxf2bed + license: MIT + license_family: MIT + license_file: LICENSE + summary: "Fastest GTF/GFF-to-BED converter chilling around" + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + recipe-maintainers: + - alejandrogzi diff --git a/recipes/gxf2chrom/build.sh b/recipes/gxf2chrom/build.sh new file mode 100644 index 0000000000000..8e10cdc3e3237 --- /dev/null +++ b/recipes/gxf2chrom/build.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +# Add workaround for SSH-based Git connections from Rust/cargo. See https://github.com/rust-lang/cargo/issues/2078 for details. +# We set CARGO_HOME because we don't pass on HOME to conda-build, thus rendering the default "${HOME}/.cargo" defunct. +export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="${BUILD_PREFIX}/.cargo" + +# build statically linked binary with Rust +RUST_BACKTRACE=1 +cargo install --verbose --path . --root ${PREFIX} diff --git a/recipes/gxf2chrom/meta.yaml b/recipes/gxf2chrom/meta.yaml new file mode 100644 index 0000000000000..d3925fc4bf0dd --- /dev/null +++ b/recipes/gxf2chrom/meta.yaml @@ -0,0 +1,37 @@ +{% set name = "gxf2chrom" %} +{% set version = "0.1.0" %} + +package: + name: gxf2chrom + version: {{ version }} + +source: + url: https://github.com/alejandrogzi/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: 453df8aaff017f2ddb0c977de2e5f494feba8fa17d8f8fcddc908642ecb5fb08 + +build: + number: 0 + run_exports: + - {{ pin_subpackage('gxf2chrom', max_pin="x.x") }} + +requirements: + build: + - {{ compiler("cxx") }} + - rust >=1.39 + - pkg-config + +test: + commands: + - gxf2chrom --help + - gxf2chrom --version + +about: + home: https://github.com/alejandrogzi/gxf2chrom + license: MIT + license_family: MIT + license_file: LICENSE + summary: "Everything in .chrom from GTF/GFF" + +extra: + recipe-maintainers: + - alejandrogzi diff --git a/recipes/gxformat2/meta.yaml b/recipes/gxformat2/meta.yaml index 27f44d09908d1..dac668815b47c 100644 --- a/recipes/gxformat2/meta.yaml +++ b/recipes/gxformat2/meta.yaml @@ -1,5 +1,5 @@ {% set name = "gxformat2" %} -{% set version = "0.18.0" %} +{% set version = "0.20.0" %} package: name: "{{ name|lower }}" @@ -7,22 +7,30 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: e772e899968822c07d7b6bf20b662c52a2a87bd03eb0b7a6c81f72b6b2b3ad9e + sha256: 9697b1548c7a016e211581831c48242718f2cbe8987c7db0dc75c20e65931df8 build: number: 0 noarch: python - preserve_egg_dir: True - script: python -m pip install --no-deps --ignore-installed . + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + entry_points: + - gxwf-to-native = gxformat2.converter:main + - gxwf-to-format2 = gxformat2.export:main + - gxwf-lint = gxformat2.lint:main + - gxwf-viz = gxformat2.cytoscape:main + - gxwf-abstract-export = gxformat2.abstract:main + run_exports: + - {{ pin_subpackage('gxformat2', max_pin="x.x") }} requirements: host: - - python + - python >=3.7 - pip run: - - python - - pyyaml + - python >=3.7 - bioblend + - pyyaml + - schema-salad >=8.2 - six >=1.9.0 test: @@ -31,6 +39,8 @@ test: about: home: https://github.com/jmchilton/gxformat2 - license: AFL-3.0-only + license: MIT summary: 'Galaxy Workflow Format 2 Descriptions' - license_family: OTHER + license_family: MIT + license_file: LICENSE + dev_url: https://github.com/jmchilton/gxformat2 diff --git a/recipes/hackgap/meta.yaml b/recipes/hackgap/meta.yaml new file mode 100644 index 0000000000000..a419fc79b6312 --- /dev/null +++ b/recipes/hackgap/meta.yaml @@ -0,0 +1,52 @@ +{% set name = "hackgap" %} +{% set version = "1.0.0" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: 35c5705d8ca1de0d8064c9869730b65f596a0a378a9d14f8a58368e4a71aab22 + +build: + number: 0 + entry_points: + - hackgap = hackgap.hackgap.hackgap_main:main + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + noarch: python + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + +requirements: + host: + - pip + - python >=3.12 + run: + - python >=3.12 + - numpy >=2 + - numba >=0.60 + - pigz + - xz + - bzip2 + +test: + imports: + - hackgap + commands: + - hackgap --help + - hackgap count --help + +about: + home: https://gitlab.com/rahmannlab/hackgap + license: MIT + license_file: LICENSE + license_family: MIT + summary: "hackgap (hash-based counting of k-mers with gaps) provides a fast jit-compiled k-kmer counter which supports gapped k-mers." + dev_url: https://gitlab.com/rahmannlab/hackgap + +extra: + identifiers: + - doi:10.4230/LIPICS.WABI.2022.12 + recipe-maintainers: + - JZentgraf diff --git a/recipes/haddock_biobb/build.sh b/recipes/haddock_biobb/build.sh new file mode 100644 index 0000000000000..dc60e539c255e --- /dev/null +++ b/recipes/haddock_biobb/build.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +# Compile FCC +cd src/ +git clone https://github.com/haddocking/fcc.git +cd fcc/src +chmod u+x Makefile +make \ + CPP="${CXX}" +cd $SRC_DIR + +# Compile fast-rmsdmatrix +cd src/ +git clone https://github.com/mgiulini/fast-rmsdmatrix.git +cd fast-rmsdmatrix/src +chmod u+x Makefile +make \ + CC="${CC}" +cd $SRC_DIR + +${PYTHON} setup.py install --single-version-externally-managed --record=record.txt + +mkdir -p $PREFIX/bin +mkdir -p $SRC_DIR/bin diff --git a/recipes/haddock_biobb/meta.yaml b/recipes/haddock_biobb/meta.yaml new file mode 100644 index 0000000000000..ba356bb2e4fe3 --- /dev/null +++ b/recipes/haddock_biobb/meta.yaml @@ -0,0 +1,70 @@ +{% set name = "haddock_biobb" %} +{% set version = "3.0.6" %} + +package: + name: '{{ name|lower }}' + version: '{{ version }}' + +source: + url: https://github.com/haddocking/haddock3/archive/refs/tags/v3.0.0-beta.5.tar.gz + sha256: e0651a4913fb659a57e897ac68c4f8e8f29b61e00abfcab3f3bbd623e1977f7b + +build: + number: 1 + run_exports: + - {{ pin_subpackage(name, max_pin='x') }} + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - make + - binutils + - pip + - python + - git + - setuptools + + host: + - python + - setuptools + - pip + - git + run: + - python 3.8.* # [py38] + - python 3.9.* # [py39] + - python 3.10.* # [py310] + - pip + - git + - biopython + - jsonpickle + - numpy + - pyyaml + - scipy + - toml + - tox + - pandas + - plotly + - kaleido-core + - freesasa + - pdb-tools + +test: + commands: + - echo "DONE!" + +about: + home: https://github.com/haddocking/haddock3 + license: Apache Software License + license_family: APACHE + summary: HADDOCK3 is the next generation integrative modelling software in the long-lasting HADDOCK project. + description: "HADDOCK3 is the next generation integrative modelling software in the long-lasting HADDOCK project. It represents a complete rethinking and rewriting of the HADDOCK2.X series, implementing a new way to interact with HADDOCK and offering new features to users who can now define custom workflows." + +extra: + skip: true # [py2k or py3k] + # Define build matrix for multiple Python versions + build: + python: + - 3.8 + - 3.9 + - 3.10 diff --git a/recipes/haddock_biobb/post-link.sh b/recipes/haddock_biobb/post-link.sh new file mode 100644 index 0000000000000..616a2388237eb --- /dev/null +++ b/recipes/haddock_biobb/post-link.sh @@ -0,0 +1,2 @@ +echo "Before using HADDOCK please install CNS. Instructions: https://github.com/haddocking/haddock3/blob/main/docs/CNS.md" > "${PREFIX}"/.messages.txt +echo "And create a softlink [ln -s] of the CNS executable to the ${PREFIX}lib/pythonX.XX/bin/ folder (Replace the X by your env python version)" >> "${PREFIX}"/.messages.txt diff --git a/recipes/hairsplitter/build.sh b/recipes/hairsplitter/build.sh new file mode 100644 index 0000000000000..cb5aef39527fd --- /dev/null +++ b/recipes/hairsplitter/build.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +set -xe + +mkdir -p $PREFIX/bin + +mkdir src/build +cd src/build/ +cmake .. +make -j ${CPU_COUNT} + +cp ../../hairsplitter.py $PREFIX/bin +chmod +x $PREFIX/bin/hairsplitter.py +cp -r ./HS_call_variants $PREFIX/bin +cp -r ./HS_create_new_contigs $PREFIX/bin +cp -r ./HS_fa2gfa $PREFIX/bin +cp -r ./HS_gfa2fa $PREFIX/bin +cp -r ./HS_separate_reads $PREFIX/bin +cp -r ./HS_GenomeTailor/HS_GenomeTailor $PREFIX/bin +cp -r ../cut_gfa.py $PREFIX/bin +chmod +x $PREFIX/bin/cut_gfa.py + +cp -r ../GraphUnzip/graphunzip.py $PREFIX/bin +chmod +x $PREFIX/bin/graphunzip.py +cp -r ../GraphUnzip/segment.py $PREFIX/bin +cp -r ../GraphUnzip/finish_untangling.py $PREFIX/bin +cp -r ../GraphUnzip/simple_unzip.py $PREFIX/bin +cp -r ../GraphUnzip/repolish.py $PREFIX/bin +cp -r ../GraphUnzip/transform_gfa.py $PREFIX/bin +cp -r ../GraphUnzip/input_output.py $PREFIX/bin +cp -r ../GraphUnzip/determine_multiplicity.py $PREFIX/bin +cp -r ../GraphUnzip/solve_with_long_reads.py $PREFIX/bin +cp -r ../GraphUnzip/solve_with_HiC.py $PREFIX/bin +cp -r ../GraphUnzip/contig_DBG.py $PREFIX/bin +chmod +x $PREFIX/bin/determine_multiplicity.py + diff --git a/recipes/hairsplitter/conda_build_config.yaml b/recipes/hairsplitter/conda_build_config.yaml new file mode 100644 index 0000000000000..f08c687e0ef69 --- /dev/null +++ b/recipes/hairsplitter/conda_build_config.yaml @@ -0,0 +1,7 @@ +c_compiler_version: + - 11.2.0 # [linux] + - 11.1.0 # [osx] + +cxx_compiler_version: + - 11.2.0 # [linux] + - 11.1.0 # [osx] diff --git a/recipes/hairsplitter/hairsplitter-aarch64.patch b/recipes/hairsplitter/hairsplitter-aarch64.patch new file mode 100644 index 0000000000000..7a0bbee7822da --- /dev/null +++ b/recipes/hairsplitter/hairsplitter-aarch64.patch @@ -0,0 +1,42 @@ +diff --git i/src/CMakeLists.txt w/src/CMakeLists.txt +index f351aa6..edc0f62 100644 +--- i/src/CMakeLists.txt ++++ w/src/CMakeLists.txt +@@ -100,7 +100,7 @@ target_compile_options (HS_call_variants PRIVATE -lm) + target_compile_options (HS_call_variants PRIVATE -fopenmp) + target_compile_options (HS_call_variants PRIVATE -std=c++17) + target_compile_options (HS_call_variants PRIVATE -O3) +-target_compile_options (HS_call_variants PRIVATE -march=x86-64) ++#target_compile_options (HS_call_variants PRIVATE -march=x86-64) + + + file (GLOB SOURCE_SEPARATE_READS "separate_reads.cpp" "input_output.cpp" "cluster_graph.cpp" "robin_hood.h" "tools.cpp" "read.cpp" "sequence.cpp" "Partition.cpp") +@@ -111,7 +111,7 @@ target_compile_options (HS_separate_reads PRIVATE -lm) + target_compile_options (HS_separate_reads PRIVATE -fopenmp) + target_compile_options (HS_separate_reads PRIVATE -std=c++17) + target_compile_options (HS_separate_reads PRIVATE -O3) +-target_compile_options (HS_separate_reads PRIVATE -march=x86-64) ++#target_compile_options (HS_separate_reads PRIVATE -march=x86-64) + + file (GLOB SOURCE_CREATE_NEW_CONTIG "create_new_contigs.cpp" "input_output.cpp" "robin_hood.h" "tools.cpp" "read.cpp" "sequence.cpp" "Partition.cpp") + add_executable(HS_create_new_contigs ${SOURCE_CREATE_NEW_CONTIG} edlib/src/edlib.cpp) +@@ -120,7 +120,7 @@ target_compile_options (HS_create_new_contigs PRIVATE -lm) + target_compile_options (HS_create_new_contigs PRIVATE -fopenmp) + target_compile_options (HS_create_new_contigs PRIVATE -std=c++17) + target_compile_options (HS_create_new_contigs PRIVATE -O3) +-target_compile_options (HS_create_new_contigs PRIVATE -march=x86-64) ++#target_compile_options (HS_create_new_contigs PRIVATE -march=x86-64) + + find_package(OpenMP) + if(OpenMP_CXX_FOUND) +diff --git i/src/HS_GenomeTailor/CMakeLists.txt w/src/HS_GenomeTailor/CMakeLists.txt +index 80ee4dc..f117ecc 100644 +--- i/src/HS_GenomeTailor/CMakeLists.txt ++++ w/src/HS_GenomeTailor/CMakeLists.txt +@@ -25,4 +25,4 @@ target_compile_options (HS_GenomeTailor PRIVATE -g) + target_compile_options (HS_GenomeTailor PRIVATE -lm) + target_compile_options (HS_GenomeTailor PRIVATE -std=c++17) + target_compile_options (HS_GenomeTailor PRIVATE -O3) +-target_compile_options (HS_GenomeTailor PRIVATE -march=x86-64) +\ No newline at end of file ++#target_compile_options (HS_GenomeTailor PRIVATE -march=x86-64) diff --git a/recipes/hairsplitter/meta.yaml b/recipes/hairsplitter/meta.yaml new file mode 100644 index 0000000000000..ab11e4a74d624 --- /dev/null +++ b/recipes/hairsplitter/meta.yaml @@ -0,0 +1,57 @@ +{% set name = "HairSplitter" %} +{% set version = "1.9.10" %} +{% set sha256 = "ab20c7700d9b4cc04fed68933a1c4081167c4c0dd560de7b19672a7fe39b50f8" %} + + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/RolandFaure/HairSplitter/archive/refs/tags/v{{ version }}.tar.gz + sha256: {{ sha256 }} + patches: + - hairsplitter-aarch64.patch + +build: + number : 1 + run_exports: + - {{ pin_subpackage("hairsplitter", max_pin="x.x") }} + +requirements: + build: + - cmake + - make + - {{ compiler('cxx') }} + - libcxx <18 # [osx] + host: + - libgomp # [linux] + - llvm-openmp # [osx] + run: + - python + - scipy + - numpy + - minimap2 + - minigraph >=0.20 + - racon + - samtools >=1.16 + - libgomp # [linux] + - llvm-openmp # [osx] + - raven-assembler + +test: + commands: + - hairsplitter.py --help + +extra: + additional-platforms: + - linux-aarch64 + recipe-maintainers: + - rolandfaure + +about: + home: https://github.com/RolandFaure/HairSplitter + license: GPL-3.0-or-later + license_file: LICENSE + summary: "Recovers collapsed haplotypes from a draft assembly and long reads" + maintainer : RolandFaure # Optional diff --git a/recipes/handyreadgenotyper/meta.yaml b/recipes/handyreadgenotyper/meta.yaml new file mode 100644 index 0000000000000..eab10ed133b51 --- /dev/null +++ b/recipes/handyreadgenotyper/meta.yaml @@ -0,0 +1,53 @@ +{% set name = "HandyReadGenotyper" %} +{% set version = "0.1.24" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/AntonS-bio/HandyReadGenotyper/archive/{{ version }}.tar.gz + sha256: 11970c9bff8b4b7569e7a124030ccc9a0c53a70bb55fe49fcda735857781a731 + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + run_exports: + - {{ pin_subpackage('handyreadgenotyper', max_pin="x.x") }} + number: 0 + +requirements: + host: + - pip + - python >=3.10 + run: + - python >=3.10 + - pandas >=2.0.0 + - scikit-learn >=1.3.* + - pysam >=0.22.0 + - numpy >=1.20.* + - tqdm >=4.66.* + - biopython >=1.78 + - minimap2 + - samtools + +test: + commands: + - train -h + - classify -h + requires: + - pip + +about: + license: GPL-3.0-only + license_file: LICENSE + home: https://github.com/AntonS-bio/HandyReadGenotyper + summary: 'Tool for training model and classifying reads from environmental ONT amplicon sequencing.' + description: | + Tool for training model and classifying reads from environmental ONT amplicon sequencing. + doc_source_url: https://github.com/AntonS-bio/HandyAmpliconTool/blob/main/README.md + + +extra: + recipe-maintainers: + - AntonS-bio diff --git a/recipes/hapcut2/meta.yaml b/recipes/hapcut2/meta.yaml index 471c87eb7587e..e27214ae0c444 100644 --- a/recipes/hapcut2/meta.yaml +++ b/recipes/hapcut2/meta.yaml @@ -1,5 +1,5 @@ {% set name = "HapCUT2" %} -{% set version = "1.3.3" %} +{% set version = "1.3.4" %} package: name: {{ name|lower }} @@ -7,10 +7,12 @@ package: source: - url: https://github.com/vibansal/{{ name }}/archive/v{{ version }}.tar.gz - sha256: 95b832e667638aff1de51721e54c906dfe8b46793b1ca8ecf1b6790d4f84aade + sha256: 33d0a047c4d9b7ef4287be979cc580183acbd09a3ab518b9f5ebc5f41c2bf34e build: - number: 5 + number: 0 + run_exports: + - {{ pin_subpackage('hapcut2', max_pin="x") }} requirements: build: @@ -37,4 +39,6 @@ about: summary: Tools for haplotype assembly from sequence data home: https://github.com/vibansal/HapCUT2/ license: BSD-2-Clause + license_family: BSD license_file: LICENSE + dev_url: https://github.com/vibansal/HapCUT2/ diff --git a/recipes/haplink/meta.yaml b/recipes/haplink/meta.yaml index d5cbd3f22bfe6..2c68e6831f118 100644 --- a/recipes/haplink/meta.yaml +++ b/recipes/haplink/meta.yaml @@ -1,6 +1,6 @@ {% set name = "haplink" %} -{% set version = "1.0.0" %} -{% set sha256 = "2e9459d8b84c01b4503b1b6a68c664f6ba062d1a3123516a9e46a6d4f354374a" %} +{% set version = "1.1.0" %} +{% set sha256 = "6a4dc2c4a6ef4b2eb2db32576755c8efabe8601ea3ac48455f162f97750cd469" %} package: name: {{ name|lower }} diff --git a/recipes/haploflow/meta.yaml b/recipes/haploflow/meta.yaml index a037fbebe66ba..0ac66dc47f5d5 100644 --- a/recipes/haploflow/meta.yaml +++ b/recipes/haploflow/meta.yaml @@ -10,7 +10,7 @@ source: sha256: '{{ sha256 }}' build: - number: 3 + number: 4 requirements: build: diff --git a/recipes/haplomap/build.sh b/recipes/haplomap/build.sh index 86bc15452fabc..26fd84dc3c5ce 100644 --- a/recipes/haplomap/build.sh +++ b/recipes/haplomap/build.sh @@ -1,15 +1,25 @@ #!/bin/bash +set -xe + # https://bioconda.github.io/troubleshooting.html#zlib-errors -export CFLAGS="-I${PREFIX}/include" -export LDFLAGS="-L${PREFIX}/lib" -export CPATH=${PREFIX}/include -export CPLUS_INCLUDE_PATH=${PREFIX}/include -export C_INCLUDE_PATH=${PREFIX}/include +export CXXFLAGS="${CXXFLAGS} -O3 -I${PREFIX}/include" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export INCLUDES="-I${PREFIX}/include" +export LIBPATH="-L${PREFIX}/lib" + +if [[ `uname` == "Darwin" ]]; then + export CONFIG_ARGS="-DCMAKE_FIND_FRAMEWORK=NEVER -DCMAKE_FIND_APPBUNDLE=NEVER" +else + export CONFIG_ARGS="" +fi # cd to location of Makefile and source -mkdir build +cmake -S . -B build -DCMAKE_INSTALL_PREFIX="${PREFIX}/bin" \ + -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER="${CXX}" \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ + "${CONFIG_ARGS}" + cd build -cmake -DCMAKE_INSTALL_PREFIX=${PREFIX}/bin -DCMAKE_BUILD_TYPE=Release .. -make +make -j"${CPU_COUNT}" make install diff --git a/recipes/haplomap/meta.yaml b/recipes/haplomap/meta.yaml index eed0c6397f6bd..be1a82bb587b5 100644 --- a/recipes/haplomap/meta.yaml +++ b/recipes/haplomap/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.1.0" %} -{% set sha256 = "3c052f339af1163da3013d3c3a0f866583a4f608e6626dadc7e4398880e2f0a1" %} +{% set version = "0.1.2" %} +{% set sha256 = "427f79a2c02a43d397675c1b2b0dc66db67e105d61165bcc6d5a180b55e47bb1" %} package: name: haplomap @@ -10,7 +10,9 @@ source: sha256: '{{sha256}}' build: - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage('haplomap', max_pin='x.x') }} requirements: build: @@ -18,8 +20,6 @@ requirements: - cmake - {{ compiler('c') }} - {{ compiler('cxx') }} - - gsl - host: - gsl run: @@ -32,4 +32,11 @@ test: about: home: https://github.com/zqfang/haplomap license: MIT - summary: Haplotype-based computational genetic mapping + license_family: MIT + summary: "Haplotype-based computational genetic mapping." + dev_url: https://github.com/zqfang/haplomap + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/haplotaglr/meta.yaml b/recipes/haplotaglr/meta.yaml index 2248cea8c0e91..16e231f12c2eb 100644 --- a/recipes/haplotaglr/meta.yaml +++ b/recipes/haplotaglr/meta.yaml @@ -1,5 +1,5 @@ {% set name = "HaplotagLR" %} -{% set version = "1.1.4" %} +{% set version = "1.1.9" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: e15dada6a1ee99080e4f1a1b80a80976a2d528f85d41a4e58ed016dff6f4545d + sha256: e8bdcdf8628583fc3e24f2d53fc316ac8a30c1514c258c62996251523f0a9299 build: number: 0 diff --git a/recipes/hapog/build_failure.osx-64.yaml b/recipes/hapog/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..2d565be3598a8 --- /dev/null +++ b/recipes/hapog/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 0b069e46b59bb258fba72fed3373e4f5a5d2b652ef2c18a538ccdc4e411cb4e9 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + ld64_osx-64: 711-ha20a434_0 conda-forge + libclang-cpp16: 16.0.6-default_h4c8afb6_7 conda-forge + libcurl: 8.8.0-hf9fcc65_0 conda-forge + libcxx: 17.0.6-h88467a6_0 conda-forge + libedit: 3.1.20191231-h0678c8f_2 conda-forge + libev: 4.33-h10d778d_2 conda-forge + libexpat: 2.6.2-h73e2aa4_0 conda-forge + libiconv: 1.17-hd75f5a5_2 conda-forge + libllvm16: 16.0.6-hbedff68_3 conda-forge + libnghttp2: 1.58.0-h64cf6d3_1 conda-forge + libssh2: 1.11.0-hd019ec5_0 conda-forge + libuv: 1.48.0-h67532ce_0 conda-forge + libxml2: 2.12.7-h3e169fe_1 conda-forge + libzlib: 1.3.1-h87427d6_1 conda-forge + llvm-tools: 16.0.6-hbedff68_3 conda-forge + make: 4.3-h22f3db7_1 conda-forge + ncurses: 6.5-h5846eda_0 conda-forge + openssl: 3.3.1-h87427d6_0 conda-forge + rhash: 1.4.4-h0dc2134_0 conda-forge + sigtool: 0.1.3-h88f4db0_0 conda-forge + tapi: 1100.0.11-h9ce4665_0 conda-forge + xz: 5.2.6-h775f41a_0 conda-forge + zstd: 1.5.6-h915ae27_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache + Downloading source to cache: 1.3.8_822f4c7e68.tar.gz + Downloading https://github.com/institut-de-genomique/HAPO-G/archive/refs/tags/1.3.8.tar.gz + Success + /opt/mambaforge/envs/bioconda/conda-bld/hapog_1717692287194/work/setup.py:1: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives + import distutils.command.build + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/conda-bld/hapog_1717692287194/work/setup.py", line 3, in + from setuptools import setup + ModuleNotFoundError: No module named 'setuptools' + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/hapog_1717692287194/work + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/hapog_1717692287194/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol + Traceback (most recent call last): + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/hapog_1717692287194/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/hapog_1717692287194/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/hapog-1.3.8 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/hapog_1717692287194/work/conda_build.sh']' returned non-zero exit status 1. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/hapog-1.3.8 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 +# Last 100 lines of the build log. diff --git a/recipes/hapog/meta.yaml b/recipes/hapog/meta.yaml index 525046c08f7e6..cc373afbe210b 100644 --- a/recipes/hapog/meta.yaml +++ b/recipes/hapog/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.3.7" %} +{% set version = "1.3.8" %} package: name: hapog @@ -6,13 +6,13 @@ package: build: skip: True # [py < 37] - number: 0 + number: 1 run_exports: - {{ pin_subpackage("hapog", max_pin="x") }} source: url: https://github.com/institut-de-genomique/HAPO-G/archive/refs/tags/{{ version }}.tar.gz - sha256: "727ff2a712b046c7787ac2bb599a7e3808f70219d6b7e22ddfc5942ba38c5841" + sha256: "822f4c7e688ae2b3004ac444911b592beaa25db6800b766503c1d41f0290af4b" requirements: build: @@ -22,11 +22,10 @@ requirements: host: - python - htslib - - setuptools + - zlib run: - htslib - python - - setuptools - biopython - bwa - samtools @@ -45,6 +44,8 @@ about: license_family: OTHER license_file: LICENSE.md summary: Haplotype-Aware Polishing of Genomes + doc_url: https://www.genoscope.cns.fr/hapog/ + dev_url: https://github.com/institut-de-genomique/HAPO-G extra: identifiers: diff --git a/recipes/haproh/meta.yaml b/recipes/haproh/meta.yaml index 2188ce7dfd8b7..ced7896ed7ef3 100644 --- a/recipes/haproh/meta.yaml +++ b/recipes/haproh/meta.yaml @@ -10,7 +10,7 @@ build: entry_points: - hapConX = hapsburg.hapCONX:main script: {{ PYTHON }} -m pip install . -vv - number: 1 + number: 2 source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/hapROH-{{ version }}.tar.gz diff --git a/recipes/haptools/meta.yaml b/recipes/haptools/meta.yaml index 17c43e75a5d19..911bfc2028ebd 100644 --- a/recipes/haptools/meta.yaml +++ b/recipes/haptools/meta.yaml @@ -1,5 +1,5 @@ {% set name = "haptools" %} -{% set version = "0.3.0" %} +{% set version = "0.4.2" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/haptools-{{ version }}.tar.gz - sha256: 9ecb9891ce01bb91c460426e1f94d4e939a0465e13529f3ec3d122f9b2c3ee77 + sha256: 8b9be7d787184e0384b9ff96a75fcb48b6bbc4f1d6f521e6d1c27b4dd336327c build: number: 0 @@ -22,21 +22,25 @@ requirements: host: - pip >=19.0.3 - poetry-core >=1.0.0 - - python >=3.7,<3.11 + - python >=3.7,<4.0 run: - click >=8.0.3 - cyvcf2 >=0.30.14 - matplotlib-base >=3.5.1 - numpy >=1.20.0 + - pgenlib >=0.90.1 - pysam >=0.19.0 - - python >=3.7,<3.11 + - python >=3.7,<4.0 test: imports: - haptools - haptools.data commands: + - pip check - haptools --help + requires: + - pip about: home: https://github.com/cast-genomics/haptools diff --git a/recipes/harmony-pytorch/meta.yaml b/recipes/harmony-pytorch/meta.yaml index e29cb986fdae9..ac40e479722ae 100644 --- a/recipes/harmony-pytorch/meta.yaml +++ b/recipes/harmony-pytorch/meta.yaml @@ -1,5 +1,5 @@ {% set name = "harmony-pytorch" %} -{% set version = "0.1.7" %} +{% set version = "0.1.8" %} package: name: "{{ name|lower }}" @@ -7,12 +7,14 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: "90b6d6d7a9ae0a20584840828cff415d503be5449a7328b0c76fc45ed3f8c4df" + sha256: "1b097906d49c6ed9dde6cf234f7d987fb49a3b649b8a1323d99e6ea71b5b7df2" build: - number: 1 + number: 0 noarch: python - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('harmony-pytorch', max_pin="x.x") }} requirements: host: @@ -35,7 +37,8 @@ test: about: home: "https://github.com/lilab-bcb/harmony-pytorch" - license: BSD + license: BSD-3-Clause + license_family: BSD license_file: LICENSE summary: "This is a Pytorch implementation of Harmony algorithm on single-cell sequencing data integration." diff --git a/recipes/harmonypy/meta.yaml b/recipes/harmonypy/meta.yaml index fa2d43585bcc3..d5200816c072c 100644 --- a/recipes/harmonypy/meta.yaml +++ b/recipes/harmonypy/meta.yaml @@ -1,5 +1,5 @@ {% set name = "harmonypy" %} -{% set version = "0.0.9" %} +{% set version = "0.0.10" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: "85bfdd4e6ec6e0fa8816a276639358d3598a40d60ba9f7a5d9dada8706be8c4d" + sha256: "27bd39a6f9ada1708ffa577e46c9b7363d1e2fd62740e477ce11fd61819a54df" build: number: 0 @@ -18,6 +18,7 @@ build: requirements: host: + - hatchling - pip - python >=3.6 run: diff --git a/recipes/harpy/build.sh b/recipes/harpy/build.sh deleted file mode 100644 index 535a622944105..0000000000000 --- a/recipes/harpy/build.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -mkdir -p ${PREFIX}/bin - -# Harpy executable -#cp harpy ${PREFIX}/bin/ - -# build harpy -${PREFIX}/bin/python -m pip install . --ignore-installed --no-deps -vv - -# rules -cp rules/*.smk ${PREFIX}/bin/ - -# associated scripts -chmod +x utilities/* -cp utilities/* ${PREFIX}/bin/ - -# reports -cp reports/*.Rmd ${PREFIX}/bin/ \ No newline at end of file diff --git a/recipes/harpy/meta.yaml b/recipes/harpy/meta.yaml index 616da31c08dfc..7dd9fe1ffeb0c 100644 --- a/recipes/harpy/meta.yaml +++ b/recipes/harpy/meta.yaml @@ -1,75 +1,73 @@ -{% set version = "0.4.0" %} -{% set sha256 = "6062ece4701b6de964d1f25fc6e9e0d6b6525f3b04f9ca22d8b90191c7767928" %} +{% set version = "1.9" %} +{% set sha256 = "9b9b717eea2eff2d35b3096d5867f34813d1d7ca9d8946df10844c0635b98fd8" %} package: name: harpy version: '{{ version }}' source: - url: https://github.com/pdimens/harpy/archive/{{ version }}.tar.gz + url: https://github.com/pdimens/harpy/releases/download/{{ version }}/harpy.{{ version }}.tar.gz sha256: '{{ sha256 }}' build: - skip: True # [osx] - number: 0 + number: 1 + skip: True # [osx or py < 39] + script_env: + - SETUPTOOLS_SCM_PRETEND_VERSION={{ version }} run_exports: - - {{ pin_subpackage('harpy', max_pin="x.x") }} + - {{ pin_subpackage('harpy', max_pin="x") }} + script: | + mkdir -p ${PREFIX}/bin + "${CXX}" harpy/bin/extractReads.cpp -O3 -o ${PREFIX}/bin/extractReads + ${PYTHON} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + chmod 0755 harpy/bin/* + cp -rf harpy/bin/* ${PREFIX}/bin/ + entry_points: + - harpy = harpy.__main__:cli requirements: + build: + - {{ compiler('cxx') }} host: - - python =3.9 + - python + - pip + - setuptools-scm >=3.4 run: - - bcftools - - bioconductor-complexheatmap - - bwa - - fastp - - fastqc - - hapcut2 - - icu - - libzlib - - leviathan - - llvm-openmp - - multiqc - - naibr-plus - - python =3.9 + - apptainer + - bcftools =1.20 + - conda >24.7 + - pandas - pysam - - r-base - - r-circlize - - r-dplyr - - r-dt - - r-ggplot2 - - r-ggridges - - r-knitr - - r-magrittr - - r-plotly - - r-rmarkdown - - r-stitch - - r-tidyr - - r-viridislite + - python - rich-click - - snakemake >=7 - - sambamba - - samtools + - snakemake-minimal >7 + - samtools =1.20 - seqtk - tabix - - xz test: commands: - "snakemake --version" - - "R --version" - "harpy --version" + about: - home: "https://github.com/pdimens/harpy/" - license: MIT + home: "https://github.com/pdimens/harpy" + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE summary: "Process raw haplotagging data, from raw sequences to phased haplotypes." - doc_url: https://pdimens.github.io/harpy/ - dev_url: https://github.com/pdimens/harpy + description: | + Harpy is a command-line tool to easily process haplotag or 10x linked-read data. It uses + Snakemake under the hood to execute different workflows (quality control, trimming, + alignment, variant calling, phasing, etc.), but the user is rarely, if ever, exposed + to Snakemake directly. With an emphasis on user-friendliness, parallelization, transparency, + and reproducibility, Harpy aims to quickly handle data processing so that you can focus more + on analyzing your data. + doc_url: "https://pdimens.github.io/harpy" + dev_url: "https://github.com/pdimens/harpy" extra: - container: - extended-base: True + additional-platforms: + - linux-aarch64 recipe-maintainers: - pdimens - skip-lints: - - should_be_noarch_generic diff --git a/recipes/haslr/meta.yaml b/recipes/haslr/meta.yaml index 79e15a48290c5..c1a274e3888cf 100755 --- a/recipes/haslr/meta.yaml +++ b/recipes/haslr/meta.yaml @@ -10,7 +10,7 @@ source: sha256: {{ sha256 }} build: - number: 4 + number: 5 # minia is not available for osx skip: True # [osx or py27] diff --git a/recipes/hatchet/build.sh b/recipes/hatchet/build.sh index c44c6715da79a..dce0f2fc3250e 100755 --- a/recipes/hatchet/build.sh +++ b/recipes/hatchet/build.sh @@ -1,3 +1,5 @@ +#!/bin/bash + # Compile Gurobi if [[ "$OSTYPE" == "darwin"* ]]; then @@ -18,6 +20,5 @@ else cp $GUROBI_HOME/linux64/lib/libgurobi90.so $PREFIX/lib fi -export CXXFLAGS=-pthread -$PYTHON setup.py install --single-version-externally-managed --record=record.txt - +export CXXFLAGS="-O3 -pthread -I${PREFIX}/include ${LDFLAGS}" +$PYTHON -m pip install . --no-build-isolation --no-deps -vvv diff --git a/recipes/hatchet/meta.yaml b/recipes/hatchet/meta.yaml index 42ac3f6a77603..ea4293e5a40ff 100755 --- a/recipes/hatchet/meta.yaml +++ b/recipes/hatchet/meta.yaml @@ -1,13 +1,13 @@ {% set name = "hatchet" %} -{% set version = "1.1.1" %} +{% set version = "2.0.1" %} package: name: '{{ name|lower }}' version: '{{ version }}' source: - - url: https://github.com/raphael-group/{{ name }}/archive/v{{ version }}.zip - sha256: db30183ffb2bbdfff4753e8ef1c58f7d93b59c65b5737f92b3ac1c5f2f3936a4 + - url: https://github.com/raphael-group/{{ name }}/archive/v{{ version }}.tar.gz + sha256: e8ca462fc4404bacc97b2195e734cd6086eebd40e7941d450c069967d294d988 - url: https://packages.gurobi.com/9.0/gurobi9.0.2_linux64.tar.gz # [not osx] sha256: 6527581aef11c3e425c52993d108861ef53ec13971d9931861bf9c88d9d111f3 # [not osx] @@ -19,42 +19,49 @@ source: build: number: 1 skip: True # [py < 37] + entry_points: + - hatchet = hatchet.__main__:main + run_exports: + - {{ pin_subpackage('hatchet', max_pin="x") }} requirements: - build: + build: - {{ compiler('cxx') }} - - cmake>=3.9 + - cmake >=3.9 - make host: - python - - setuptools + - pip run: - python - - bcftools>=1.9 + - bcftools >=1.9 - biopython - hmmlearn - matplotlib-base - mosdepth - pandas - - picard + - picard-slim - psutil - pyomo - pysam - requests - - samtools>=1.9 - - seaborn + - samtools >=1.9 + - seaborn - scikit-learn - - scipy + - scipy - tabix test: imports: - - hatchet + - hatchet about: home: https://github.com/raphael-group/hatchet - license: BSD-3 - summary: "Holistic Allele-specific Tumor Copy-number Heterogeneity" + license: BSD-3-Clause + license_family: BSD + license_file: LICENSE + summary: "A package to infer allele and clone-specific copy-number aberrations (CNAs)." + doc_url: https://raphael-group.github.io/hatchet/ description: | HATCHet is an algorithm to infer allele and clone-specific copy-number aberrations (CNAs), clone proportions, and whole-genome duplications diff --git a/recipes/haystac/meta.yaml b/recipes/haystac/meta.yaml index dad3655e9430e..3564d22685597 100644 --- a/recipes/haystac/meta.yaml +++ b/recipes/haystac/meta.yaml @@ -1,5 +1,5 @@ {% set name = "haystac" %} -{% set version = "0.4.10" %} +{% set version = "0.4.11" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 8cf707410549ba312001875a1b11ccf6eb40c10c2b0ca09e9b4c669f585fe022 + sha256: 77727ce69b8df4211c43b424a292cd703987946e889a370337ce4afc7b6f0edd build: number: 0 @@ -15,6 +15,8 @@ build: entry_points: - haystac = haystac.cli:Haystac script: "{{ PYTHON }} -m pip install . -vv --ignore-installed --no-deps" + run_exports: + - {{ pin_subpackage("haystac", max_pin="x.x") }} requirements: host: @@ -24,11 +26,10 @@ requirements: - python - setuptools run: - - argparse =1.4.0 - - numpy =1.19.2 - - pandas =1.0.3 + - numpy =2.0.0 + - pandas =2.2.2 - psutil =5.7.2 - - python =3.6.7 + - python =3.9.19 - pyyaml =5.4.1 - requests =2.24.0 - snakemake-minimal =6.3.0 @@ -53,4 +54,3 @@ extra: - antonisdim skip-lints: - uses_setuptools - diff --git a/recipes/hecatomb/meta.yaml b/recipes/hecatomb/meta.yaml index 52fb463a7f9b2..3aa74512cf22e 100644 --- a/recipes/hecatomb/meta.yaml +++ b/recipes/hecatomb/meta.yaml @@ -1,5 +1,5 @@ {% set name = "Hecatomb" %} -{% set version = "1.2.0" %} +{% set version = "1.3.2" %} package: name: "{{ name|lower }}" @@ -7,11 +7,13 @@ package: source: url: "https://github.com/shandley/{{ name|lower }}/archive/refs/tags/v{{ version }}.tar.gz" - sha256: 20da6871131a01222d4374194188f766bfdd3ab164ab4dbdd4307db0b80341a7 + sha256: d1699d80bef234c6815333d468721a6c57c24697a26d6e26ab9e0a3167373ff8 build: number: 0 noarch: python + run_exports: + - {{ pin_subpackage('hecatomb', max_pin='x.x') }} script: "{{ PYTHON }} -m pip install . -vv " requirements: @@ -19,12 +21,13 @@ requirements: - python - pip run: - - python >=3.8,<3.11 - - snakemake >=7.14.0 + - python >=3.9,<=3.12 + - snakemake >=7.14.0,<8 + - pulp <2.8 - pyyaml >=6.0 - click >=8.1.3 - - jinja2 >=3.0.2 - - mamba >=0.15.3 + - metasnek >=0.0.7 + - snaketool-utils >=0.0.4 test: commands: diff --git a/recipes/heliano/LICENSE.txt b/recipes/heliano/LICENSE.txt new file mode 100644 index 0000000000000..f288702d2fa16 --- /dev/null +++ b/recipes/heliano/LICENSE.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/recipes/heliano/build.sh b/recipes/heliano/build.sh new file mode 100644 index 0000000000000..6088c7b3dd2c1 --- /dev/null +++ b/recipes/heliano/build.sh @@ -0,0 +1,38 @@ +#!/bin/bash +#Based on https://github.com/TobyBaril/EarlGrey/blob/main/configure +set -x + +# Define paths +PACKAGE_HOME=${PREFIX}/share/${PKG_NAME}-${PKG_VERSION}-${PKG_BUILDNUM} + +# create directories +mkdir -p ${PREFIX}/bin +mkdir -p ${PACKAGE_HOME} + +# put package in share directory +cp -rf * ${PACKAGE_HOME}/ + +# fix file paths +BCHECK=${PACKAGE_HOME}/heliano_bcheck.R +FISHER=${PACKAGE_HOME}/heliano_fisher.R +HMMmodel=${PACKAGE_HOME}/RepHel.hmm +Headermodel=${PACKAGE_HOME}/tclcv.txt +SPLIT=${PACKAGE_HOME}/SplitJoint.R +SORT=${PACKAGE_HOME}/Sort.sh + +sed -i.bak "s|_INTERPRETERPYTHON_PATH_|/usr/bin/env python|" ${PACKAGE_HOME}/heliano.py +sed -i.bak "s|_HMM_|${HMMmodel}|" ${PACKAGE_HOME}/heliano.py +sed -i.bak "s|_HEADER_|${Headermodel}|" ${PACKAGE_HOME}/heliano.py +sed -i.bak "s|_FISHER_|${FISHER}|" ${PACKAGE_HOME}/heliano.py +sed -i.bak "s|_BOUNDARY_|${BCHECK}|" ${PACKAGE_HOME}/heliano.py +sed -i.bak "s|_SPLIT_JOINT_|${SPLIT}|" ${PACKAGE_HOME}/heliano.py +sed -i.bak "s|_SORTPRO_|${SORT}|" ${PACKAGE_HOME}/heliano.py + +# set permissions to files +chmod +x ${PACKAGE_HOME}/heliano.py +chmod +x ${PACKAGE_HOME}/heliano_cons.py + +# put files in the executable bin +cd ${PREFIX}/bin || exit 1 +ln -sf "${PACKAGE_HOME}/heliano.py" heliano +ln -sf "${PACKAGE_HOME}/heliano_cons.py" heliano_cons diff --git a/recipes/heliano/meta.yaml b/recipes/heliano/meta.yaml new file mode 100644 index 0000000000000..10c9d85b021fe --- /dev/null +++ b/recipes/heliano/meta.yaml @@ -0,0 +1,55 @@ +{% set name = "heliano" %} +{% set version = "1.2.1" %} +{% set sha256 = "9aeb0e90913bc817e388eed8961910d138eeb5a5e54f6edd5c49596015b7a6b3" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/Zhenlisme/heliano/archive/refs/tags/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage('heliano', max_pin='x') }} + +requirements: + run: + - python >=3.9 + - r-base >=4.1 + - biopython + - pybedtools + - r-bedtoolsr + - r-seqinr + - bedtools + - dialign2 + - mafft + - cd-hit + - blast + - emboss + - hmmer + - genometools-genometools + - rnabob + +test: + commands: + - heliano -h + +about: + home: "https://github.com/Zhenlisme/heliano" + dev_url: "https://github.com/Zhenlisme/heliano" + summary: "HELIANO: A fast and accurate tool for detection of Helitron-like elements" + license: GNU General Public License v3.0 + license_file: LICENSE.txt + description: | + Helitron-like elements (HLE1 and HLE2) are DNA transposons. + They have been found in diverse species and seem to play significant roles in the evolution of host genomes. + Although known for over twenty years, Helitron sequences are still challenging to identify. + Here, we propose HELIANO (Helitron-like elements annotator) as an efficient solution for detecting Helitron-like elements. + +extra: + identifiers: + - doi:10.1093/nar/gkae679 diff --git a/recipes/helitronscanner/HelitronScanner.sh b/recipes/helitronscanner/HelitronScanner.sh new file mode 100644 index 0000000000000..1e028d8f50b7e --- /dev/null +++ b/recipes/helitronscanner/HelitronScanner.sh @@ -0,0 +1,64 @@ +#!/bin/bash +# HelitronScanner executable shell script, adapted from bazam shell script +jar_name="HelitronScanner.jar" + +set -eu -o pipefail + +set -o pipefail +export LC_ALL=en_US.UTF-8 + +# Find original directory of bash script, resolving symlinks +# http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in/246128#246128 +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done +DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + +JAR_DIR=$DIR + +java=java + +if [ -n "${JAVA_HOME:=}" ]; then + if [ -e "$JAVA_HOME/bin/java" ]; then + java="$JAVA_HOME/bin/java" + fi +fi + +# extract memory and system property Java arguments from the list of provided arguments +# http://java.dzone.com/articles/better-java-shell-script +default_jvm_mem_opts="-Xms512m -Xmx1g" +jvm_mem_opts="" +jvm_prop_opts="" +pass_args="" +for arg in "$@"; do + case $arg in + '-D'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-XX'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-Xm'*) + jvm_mem_opts="$jvm_mem_opts $arg" + ;; + *) + pass_args="$pass_args $arg" + ;; + esac +done + +if [ "$jvm_mem_opts" == "" ]; then + jvm_mem_opts="$default_jvm_mem_opts" +fi + +pass_arr=($pass_args) +if [[ ${pass_arr[0]:=} == org* ]] +then + eval "$java" $jvm_mem_opts $jvm_prop_opts -cp "$JAR_DIR/$jar_name" $pass_args +else + eval "$java" $jvm_mem_opts $jvm_prop_opts -jar "$JAR_DIR/$jar_name" $pass_args +fi +exit diff --git a/recipes/helitronscanner/build.sh b/recipes/helitronscanner/build.sh new file mode 100644 index 0000000000000..ba789741a2457 --- /dev/null +++ b/recipes/helitronscanner/build.sh @@ -0,0 +1,28 @@ +#!/bin/sh +set -x -e + +HELITRONSCANNER_DIR=${PREFIX}/share/HelitronScanner +HELITRONSCANNER_TRAININGSET_PATH=${HELITRONSCANNER_DIR}/TrainingSet + +mkdir -p ${PREFIX}/bin +mkdir -p ${HELITRONSCANNER_DIR} +mkdir -p ${HELITRONSCANNER_TRAININGSET_PATH} + +cp -r HelitronScanner/* ${HELITRONSCANNER_DIR} +cp -r TrainingSet/* ${HELITRONSCANNER_TRAININGSET_PATH} + +cp ${RECIPE_DIR}/HelitronScanner.sh ${HELITRONSCANNER_DIR}/HelitronScanner +chmod +x ${HELITRONSCANNER_DIR}/HelitronScanner +ln -s ${HELITRONSCANNER_DIR}/HelitronScanner ${PREFIX}/bin + +## Set HelitronScanner variables on env activation for training set access +mkdir -p ${PREFIX}/etc/conda/activate.d ${PREFIX}/etc/conda/deactivate.d +cat <> ${PREFIX}/etc/conda/activate.d/helitronscanner.sh +export HELITRONSCANNER_PATH=${HELITRONSCANNER_DIR} +export HELITRONSCANNER_TRAININGSET_PATH=${HELITRONSCANNER_TRAININGSET_PATH} +EOF + +cat <> ${PREFIX}/etc/conda/deactivate.d/helitronscanner.sh +unset HELITRONSCANNER_PATH +unset HELITRONSCANNER_TRAININGSET_PATH +EOF diff --git a/recipes/helitronscanner/meta.yaml b/recipes/helitronscanner/meta.yaml new file mode 100644 index 0000000000000..015f10c62f4d1 --- /dev/null +++ b/recipes/helitronscanner/meta.yaml @@ -0,0 +1,31 @@ +{% set name = "HelitronScanner" %} +{% set version = "1.0" %} +{% set sha256 = "936accf4a129bc36b38d10472a5b7295dd00f68cc275952e50fff9d9fa685815" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://sourceforge.net/projects/HelitronScanner/files/HelitronScanner_V{{ version }}.zip + sha256: {{ sha256 }} + +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage('helitronscanner', max_pin='x') }} + +requirements: + run: + - openjdk + +test: + commands: + - HelitronScanner scanHead -Xmx2g --help | grep 'Scan for Helitron 5' + - cat "${HELITRONSCANNER_TRAININGSET_PATH}/head.lcvs" | grep 'TCCATAATA' + +about: + home: 'https://sourceforge.net/projects/helitronscanner' + license: GPL-3.0-or-later + summary: HelitronScanner uncovers a large overlooked cache of Helitron transposons in many genomes diff --git a/recipes/hera/build_failure.linux-64.yaml b/recipes/hera/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..95839c9d37f36 --- /dev/null +++ b/recipes/hera/build_failure.linux-64.yaml @@ -0,0 +1,6 @@ +recipe_sha: 7bb000623134e15e9f5f7e93f6d8a92afd1b4440ea743fd4be94c37dbd58c2d2 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +reason: |- + duplicate name in conda-forge +category: |- + conda/mamba bug diff --git a/recipes/hera/meta.yaml b/recipes/hera/meta.yaml index cbb033fac22af..c32435efdb582 100644 --- a/recipes/hera/meta.yaml +++ b/recipes/hera/meta.yaml @@ -15,7 +15,7 @@ source: build: # includes the same math.h headers everywhere, thereby causing LOTS of duplicate function symbols skip: True # [osx] - number: 10 + number: 11 requirements: build: diff --git a/recipes/hhsuite/build.sh b/recipes/hhsuite/build.sh index 7dbbef3e25a4d..42d2304291652 100644 --- a/recipes/hhsuite/build.sh +++ b/recipes/hhsuite/build.sh @@ -1,10 +1,25 @@ #!/bin/bash + +ARCH_BUILD="" +case $(uname -m) in + x86_64) ARCH_BUILD="-DHAVE_SSE4_1=1" ;; + arm64|aarch64) ARCH_BUILD="-DHAVE_ARM8=1" ;; +esac + +if [ -z "${ARCH_BUILD}" ]; then + echo "Invalid architecture" + exit 1 +fi + mkdir -p build && cd build cmake -DCHECK_MPI=0 \ -DHAVE_MPI=0 \ - -DHAVE_SSE2=1 \ + ${ARCH_BUILD} \ -DCMAKE_INSTALL_PREFIX="${PREFIX}" \ .. make -j${CPU_COUNT} ${VERBOSE_CM} make install -j${CPU_COUNT} + +# Move the `reformat.pl` script to ${PREFIX}/bin to ensure it's available in the PATH +mv ${SRC_DIR}/scripts/reformat.pl ${PREFIX}/bin diff --git a/recipes/hhsuite/build_failure.osx-64.yaml b/recipes/hhsuite/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..15bda1eff920e --- /dev/null +++ b/recipes/hhsuite/build_failure.osx-64.yaml @@ -0,0 +1,106 @@ +recipe_sha: a8520adadc6e0abc700caed83e2601f6fa1d3f9b14698f200038c746a58fde55 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + cd $SRC_DIR/build/src && $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang -DOPENMP -I$SRC_DIR/build/generated -I$SRC_DIR/src -I$SRC_DIR/lib/ffindex/src -I$SRC_DIR/lib/simde -I$SRC_DIR/lib/simd -I$SRC_DIR/build/src -I$SRC_DIR/src/cs -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/hhsuite-3.3.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c0x -fsigned-char -msse4.1 -mfpmath=sse -fopenmp=libomp -fno-strict-aliasing -O3 -DNDEBUG -isysroot /Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -mmacosx-version-min=10.13 -DVITERBI_CELLOFF=1 -DVITERBI_SS_SCORE=1 -MD -MT src/CMakeFiles/hhviterbialgorithm_with_celloff_and_ss.dir/hhviterbialgorithm.cpp.o -MF CMakeFiles/hhviterbialgorithm_with_celloff_and_ss.dir/hhviterbialgorithm.cpp.o.d -o CMakeFiles/hhviterbialgorithm_with_celloff_and_ss.dir/hhviterbialgorithm.cpp.o -c $SRC_DIR/src/hhviterbialgorithm.cpp + [ 9%] Linking CXX static library libhhviterbialgorithm_with_celloff.a + /opt/mambaforge/envs/bioconda/conda-bld/hhsuite_1717953464012/work/src/a3m_compress.cpp:504:26: error: no member named 'ptr_fun' in namespace 'std' + std::not1(std::ptr_fun(std::isspace))).base(), s.end()); + ~~~~~^ + /opt/mambaforge/envs/bioconda/conda-bld/hhsuite_1717953464012/work/src/a3m_compress.cpp:504:37: error: expected '(' for function-style cast or type construction + std::not1(std::ptr_fun(std::isspace))).base(), s.end()); + ~~~^ + /opt/mambaforge/envs/bioconda/conda-bld/hhsuite_1717953464012/work/src/a3m_compress.cpp:504:42: error: expected '(' for function-style cast or type construction + std::not1(std::ptr_fun(std::isspace))).base(), s.end()); + ~~~^ + /opt/mambaforge/envs/bioconda/conda-bld/hhsuite_1717953464012/work/src/a3m_compress.cpp:504:16: error: no member named 'not1' in namespace 'std' + std::not1(std::ptr_fun(std::isspace))).base(), s.end()); + ~~~~~^ + 4 errors generated. + make[2]: *** [src/CMakeFiles/A3M_COMPRESS.dir/build.make:76: src/CMakeFiles/A3M_COMPRESS.dir/a3m_compress.cpp.o] Error 1 + make[1]: *** [CMakeFiles/Makefile2:840: src/CMakeFiles/A3M_COMPRESS.dir/all] Error 2 + make[1]: *** Waiting for unfinished jobs.... + make: *** [Makefile:156: all] Error 2 + Traceback (most recent call last): + cd $SRC_DIR/build/src && $BUILD_PREFIX/bin/cmake -P CMakeFiles/hhviterbialgorithm_with_celloff.dir/cmake_clean_target.cmake + cd $SRC_DIR/build/src && $BUILD_PREFIX/bin/cmake -E cmake_link_script CMakeFiles/hhviterbialgorithm_with_celloff.dir/link.txt --verbose=1 + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar qc libhhviterbialgorithm_with_celloff.a CMakeFiles/hhviterbialgorithm_with_celloff.dir/hhviterbialgorithm.cpp.o + $BUILD_PREFIX/bin/llvm-ranlib libhhviterbialgorithm_with_celloff.a + make[2]: Leaving directory '$SRC_DIR/build' + [ 9%] Built target hhviterbialgorithm_with_celloff + make -f src/CMakeFiles/hhviterbialgorithm_and_ss.dir/build.make src/CMakeFiles/hhviterbialgorithm_and_ss.dir/depend + sys.exit(execute()) + make[2]: Entering directory '$SRC_DIR/build' + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + cd $SRC_DIR/build && $BUILD_PREFIX/bin/cmake -E cmake_depends "Unix Makefiles" $SRC_DIR $SRC_DIR/src $SRC_DIR/build $SRC_DIR/build/src $SRC_DIR/build/src/CMakeFiles/hhviterbialgorithm_and_ss.dir/DependInfo.cmake "--color=" + make[2]: Leaving directory '$SRC_DIR/build' + make -f src/CMakeFiles/hhviterbialgorithm_and_ss.dir/build.make src/CMakeFiles/hhviterbialgorithm_and_ss.dir/build + make[2]: Entering directory '$SRC_DIR/build' + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/hhsuite_1717953464012/work/conda_build.sh']' returned non-zero exit status 2. + [ 10%] Building CXX object src/CMakeFiles/hhviterbialgorithm_and_ss.dir/hhviterbialgorithm.cpp.o + cd $SRC_DIR/build/src && $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang -DOPENMP -I$SRC_DIR/build/generated -I$SRC_DIR/src -I$SRC_DIR/lib/ffindex/src -I$SRC_DIR/lib/simde -I$SRC_DIR/lib/simd -I$SRC_DIR/build/src -I$SRC_DIR/src/cs -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/hhsuite-3.3.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c0x -fsigned-char -msse4.1 -mfpmath=sse -fopenmp=libomp -fno-strict-aliasing -O3 -DNDEBUG -isysroot /Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -mmacosx-version-min=10.13 -DVITERBI_SS_SCORE=1 -MD -MT src/CMakeFiles/hhviterbialgorithm_and_ss.dir/hhviterbialgorithm.cpp.o -MF CMakeFiles/hhviterbialgorithm_and_ss.dir/hhviterbialgorithm.cpp.o.d -o CMakeFiles/hhviterbialgorithm_and_ss.dir/hhviterbialgorithm.cpp.o -c $SRC_DIR/src/hhviterbialgorithm.cpp + [ 11%] Linking CXX static library libhhviterbialgorithm_with_celloff_and_ss.a + cd $SRC_DIR/build/src && $BUILD_PREFIX/bin/cmake -P CMakeFiles/hhviterbialgorithm_with_celloff_and_ss.dir/cmake_clean_target.cmake + cd $SRC_DIR/build/src && $BUILD_PREFIX/bin/cmake -E cmake_link_script CMakeFiles/hhviterbialgorithm_with_celloff_and_ss.dir/link.txt --verbose=1 + $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar qc libhhviterbialgorithm_with_celloff_and_ss.a CMakeFiles/hhviterbialgorithm_with_celloff_and_ss.dir/hhviterbialgorithm.cpp.o + $BUILD_PREFIX/bin/llvm-ranlib libhhviterbialgorithm_with_celloff_and_ss.a + make[2]: Leaving directory '$SRC_DIR/build' + [ 11%] Built target hhviterbialgorithm_with_celloff_and_ss + make -f src/cs/CMakeFiles/CS_OBJECTS.dir/build.make src/cs/CMakeFiles/CS_OBJECTS.dir/depend + make[2]: Entering directory '$SRC_DIR/build' + cd $SRC_DIR/build && $BUILD_PREFIX/bin/cmake -E cmake_depends "Unix Makefiles" $SRC_DIR $SRC_DIR/src/cs $SRC_DIR/build $SRC_DIR/build/src/cs $SRC_DIR/build/src/cs/CMakeFiles/CS_OBJECTS.dir/DependInfo.cmake "--color=" + make[2]: Leaving directory '$SRC_DIR/build' + make -f src/cs/CMakeFiles/CS_OBJECTS.dir/build.make src/cs/CMakeFiles/CS_OBJECTS.dir/build + make[2]: Entering directory '$SRC_DIR/build' + [ 12%] Building CXX object src/cs/CMakeFiles/CS_OBJECTS.dir/aa.cc.o + cd $SRC_DIR/build/src/cs && $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang -DOPENMP -I$SRC_DIR/build/generated -I$SRC_DIR/src -I$SRC_DIR/lib/ffindex/src -I$SRC_DIR/lib/simde -I$SRC_DIR/lib/simd -I$SRC_DIR/build/src -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/hhsuite-3.3.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c0x -fsigned-char -msse4.1 -mfpmath=sse -fopenmp=libomp -fno-strict-aliasing -O3 -DNDEBUG -isysroot /Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -mmacosx-version-min=10.13 -MD -MT src/cs/CMakeFiles/CS_OBJECTS.dir/aa.cc.o -MF CMakeFiles/CS_OBJECTS.dir/aa.cc.o.d -o CMakeFiles/CS_OBJECTS.dir/aa.cc.o -c $SRC_DIR/src/cs/aa.cc + [ 13%] Building CXX object src/cs/CMakeFiles/CS_OBJECTS.dir/as.cc.o + cd $SRC_DIR/build/src/cs && $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang -DOPENMP -I$SRC_DIR/build/generated -I$SRC_DIR/src -I$SRC_DIR/lib/ffindex/src -I$SRC_DIR/lib/simde -I$SRC_DIR/lib/simd -I$SRC_DIR/build/src -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/hhsuite-3.3.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c0x -fsigned-char -msse4.1 -mfpmath=sse -fopenmp=libomp -fno-strict-aliasing -O3 -DNDEBUG -isysroot /Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -mmacosx-version-min=10.13 -MD -MT src/cs/CMakeFiles/CS_OBJECTS.dir/as.cc.o -MF CMakeFiles/CS_OBJECTS.dir/as.cc.o.d -o CMakeFiles/CS_OBJECTS.dir/as.cc.o -c $SRC_DIR/src/cs/as.cc + [ 14%] Linking CXX static library libhhviterbialgorithm_and_ss.a + cd $SRC_DIR/build/src && $BUILD_PREFIX/bin/cmake -P CMakeFiles/hhviterbialgorithm_and_ss.dir/cmake_clean_target.cmake + cd $SRC_DIR/build/src && $BUILD_PREFIX/bin/cmake -E cmake_link_script CMakeFiles/hhviterbialgorithm_and_ss.dir/link.txt --verbose=1 + $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar qc libhhviterbialgorithm_and_ss.a CMakeFiles/hhviterbialgorithm_and_ss.dir/hhviterbialgorithm.cpp.o + $BUILD_PREFIX/bin/llvm-ranlib libhhviterbialgorithm_and_ss.a + make[2]: Leaving directory '$SRC_DIR/build' + [ 14%] Built target hhviterbialgorithm_and_ss + make -f src/CMakeFiles/A3M_COMPRESS.dir/build.make src/CMakeFiles/A3M_COMPRESS.dir/depend + make[2]: Entering directory '$SRC_DIR/build' + cd $SRC_DIR/build && $BUILD_PREFIX/bin/cmake -E cmake_depends "Unix Makefiles" $SRC_DIR $SRC_DIR/src $SRC_DIR/build $SRC_DIR/build/src $SRC_DIR/build/src/CMakeFiles/A3M_COMPRESS.dir/DependInfo.cmake "--color=" + make[2]: Leaving directory '$SRC_DIR/build' + make -f src/CMakeFiles/A3M_COMPRESS.dir/build.make src/CMakeFiles/A3M_COMPRESS.dir/build + make[2]: Entering directory '$SRC_DIR/build' + [ 14%] Building CXX object src/CMakeFiles/A3M_COMPRESS.dir/a3m_compress.cpp.o + cd $SRC_DIR/build/src && $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang -DOPENMP -I$SRC_DIR/build/generated -I$SRC_DIR/src -I$SRC_DIR/lib/ffindex/src -I$SRC_DIR/lib/simde -I$SRC_DIR/lib/simd -I$SRC_DIR/build/src -I$SRC_DIR/src/cs -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/hhsuite-3.3.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c0x -fsigned-char -msse4.1 -mfpmath=sse -fopenmp=libomp -fno-strict-aliasing -O3 -DNDEBUG -isysroot /Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -mmacosx-version-min=10.13 -MD -MT src/CMakeFiles/A3M_COMPRESS.dir/a3m_compress.cpp.o -MF CMakeFiles/A3M_COMPRESS.dir/a3m_compress.cpp.o.d -o CMakeFiles/A3M_COMPRESS.dir/a3m_compress.cpp.o -c $SRC_DIR/src/a3m_compress.cpp + [ 15%] Building CXX object src/cs/CMakeFiles/CS_OBJECTS.dir/assert_helpers.cc.o + cd $SRC_DIR/build/src/cs && $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang -DOPENMP -I$SRC_DIR/build/generated -I$SRC_DIR/src -I$SRC_DIR/lib/ffindex/src -I$SRC_DIR/lib/simde -I$SRC_DIR/lib/simd -I$SRC_DIR/build/src -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/hhsuite-3.3.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c0x -fsigned-char -msse4.1 -mfpmath=sse -fopenmp=libomp -fno-strict-aliasing -O3 -DNDEBUG -isysroot /Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -mmacosx-version-min=10.13 -MD -MT src/cs/CMakeFiles/CS_OBJECTS.dir/assert_helpers.cc.o -MF CMakeFiles/CS_OBJECTS.dir/assert_helpers.cc.o.d -o CMakeFiles/CS_OBJECTS.dir/assert_helpers.cc.o -c $SRC_DIR/src/cs/assert_helpers.cc + make[2]: Leaving directory '$SRC_DIR/build' + [ 16%] Building CXX object src/cs/CMakeFiles/CS_OBJECTS.dir/blosum_matrix.cc.o + cd $SRC_DIR/build/src/cs && $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang -DOPENMP -I$SRC_DIR/build/generated -I$SRC_DIR/src -I$SRC_DIR/lib/ffindex/src -I$SRC_DIR/lib/simde -I$SRC_DIR/lib/simd -I$SRC_DIR/build/src -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/hhsuite-3.3.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c0x -fsigned-char -msse4.1 -mfpmath=sse -fopenmp=libomp -fno-strict-aliasing -O3 -DNDEBUG -isysroot /Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -mmacosx-version-min=10.13 -MD -MT src/cs/CMakeFiles/CS_OBJECTS.dir/blosum_matrix.cc.o -MF CMakeFiles/CS_OBJECTS.dir/blosum_matrix.cc.o.d -o CMakeFiles/CS_OBJECTS.dir/blosum_matrix.cc.o -c $SRC_DIR/src/cs/blosum_matrix.cc + [ 17%] Building CXX object src/cs/CMakeFiles/CS_OBJECTS.dir/getopt_pp.cc.o + cd $SRC_DIR/build/src/cs && $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang -DOPENMP -I$SRC_DIR/build/generated -I$SRC_DIR/src -I$SRC_DIR/lib/ffindex/src -I$SRC_DIR/lib/simde -I$SRC_DIR/lib/simd -I$SRC_DIR/build/src -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/hhsuite-3.3.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c0x -fsigned-char -msse4.1 -mfpmath=sse -fopenmp=libomp -fno-strict-aliasing -O3 -DNDEBUG -isysroot /Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -mmacosx-version-min=10.13 -MD -MT src/cs/CMakeFiles/CS_OBJECTS.dir/getopt_pp.cc.o -MF CMakeFiles/CS_OBJECTS.dir/getopt_pp.cc.o.d -o CMakeFiles/CS_OBJECTS.dir/getopt_pp.cc.o -c $SRC_DIR/src/cs/getopt_pp.cc + [ 18%] Building CXX object src/cs/CMakeFiles/CS_OBJECTS.dir/log.cc.o + cd $SRC_DIR/build/src/cs && $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang -DOPENMP -I$SRC_DIR/build/generated -I$SRC_DIR/src -I$SRC_DIR/lib/ffindex/src -I$SRC_DIR/lib/simde -I$SRC_DIR/lib/simd -I$SRC_DIR/build/src -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/hhsuite-3.3.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c0x -fsigned-char -msse4.1 -mfpmath=sse -fopenmp=libomp -fno-strict-aliasing -O3 -DNDEBUG -isysroot /Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -mmacosx-version-min=10.13 -MD -MT src/cs/CMakeFiles/CS_OBJECTS.dir/log.cc.o -MF CMakeFiles/CS_OBJECTS.dir/log.cc.o.d -o CMakeFiles/CS_OBJECTS.dir/log.cc.o -c $SRC_DIR/src/cs/log.cc + [ 19%] Building CXX object src/cs/CMakeFiles/CS_OBJECTS.dir/application.cc.o + cd $SRC_DIR/build/src/cs && $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang -DOPENMP -I$SRC_DIR/build/generated -I$SRC_DIR/src -I$SRC_DIR/lib/ffindex/src -I$SRC_DIR/lib/simde -I$SRC_DIR/lib/simd -I$SRC_DIR/build/src -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/hhsuite-3.3.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c0x -fsigned-char -msse4.1 -mfpmath=sse -fopenmp=libomp -fno-strict-aliasing -O3 -DNDEBUG -isysroot /Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -mmacosx-version-min=10.13 -MD -MT src/cs/CMakeFiles/CS_OBJECTS.dir/application.cc.o -MF CMakeFiles/CS_OBJECTS.dir/application.cc.o.d -o CMakeFiles/CS_OBJECTS.dir/application.cc.o -c $SRC_DIR/src/cs/application.cc + [ 20%] Linking CXX static library libCS_OBJECTS.a + cd $SRC_DIR/build/src/cs && $BUILD_PREFIX/bin/cmake -P CMakeFiles/CS_OBJECTS.dir/cmake_clean_target.cmake + cd $SRC_DIR/build/src/cs && $BUILD_PREFIX/bin/cmake -E cmake_link_script CMakeFiles/CS_OBJECTS.dir/link.txt --verbose=1 + $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar qc libCS_OBJECTS.a CMakeFiles/CS_OBJECTS.dir/aa.cc.o CMakeFiles/CS_OBJECTS.dir/as.cc.o CMakeFiles/CS_OBJECTS.dir/assert_helpers.cc.o CMakeFiles/CS_OBJECTS.dir/blosum_matrix.cc.o CMakeFiles/CS_OBJECTS.dir/getopt_pp.cc.o CMakeFiles/CS_OBJECTS.dir/log.cc.o CMakeFiles/CS_OBJECTS.dir/application.cc.o + $BUILD_PREFIX/bin/llvm-ranlib libCS_OBJECTS.a + make[2]: Leaving directory '$SRC_DIR/build' + [ 20%] Built target CS_OBJECTS + make[1]: Leaving directory '$SRC_DIR/build' +# Last 100 lines of the build log. +category: |- + compiler error diff --git a/recipes/hhsuite/meta.yaml b/recipes/hhsuite/meta.yaml index e1b23092e49fa..3c13879216cec 100644 --- a/recipes/hhsuite/meta.yaml +++ b/recipes/hhsuite/meta.yaml @@ -6,13 +6,16 @@ package: version: {{ version }} build: - number: 9 + number: 13 + run_exports: + - {{ pin_subpackage('hhsuite', max_pin="x") }} source: url: https://github.com/soedinglab/hh-suite/archive/v{{ version }}.tar.gz sha256: {{ sha256 }} patches: - fix_cs219_include.patch + - reformat_pl.patch requirements: build: @@ -34,9 +37,11 @@ test: - hhblits -h > /dev/null - hhsearch -h > /dev/null - hhalign -h > /dev/null + - reformat.pl > /dev/null about: home: https://github.com/soedinglab/hh-suite + doc_url: https://github.com/soedinglab/hh-suite/wiki license: GPLv3 license_file: LICENSE summary: "HH-suite3 for fast remote homology detection and deep protein annotation" @@ -47,3 +52,6 @@ extra: - biotools:hh-suite recipe-maintainers: - milot-mirdita + additional-platforms: + - linux-aarch64 + - osx-arm diff --git a/recipes/hhsuite/reformat_pl.patch b/recipes/hhsuite/reformat_pl.patch new file mode 100644 index 0000000000000..b1046f6c4a7f8 --- /dev/null +++ b/recipes/hhsuite/reformat_pl.patch @@ -0,0 +1,151 @@ +diff --git a/scripts/reformat.pl b/scripts/reformat.pl +index 0c46c66..3b04399 100755 +--- a/scripts/reformat.pl ++++ b/scripts/reformat.pl +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#! /usr/bin/env perl + + # reformat.pl + # Reformat a multiple alignment file +@@ -33,7 +33,7 @@ my $numres=100; # number of residues per line + my $desclen=1000; # maximum number of characters in nameline + my $ARGC=scalar(@ARGV); + if ($ARGC<2) { +- die(" ++ print(" + reformat.pl from HHsuite3 + Read a multiple alignment in one format and write it in another format + Usage: reformat.pl [informat] [outformat] infile outfile [options] +@@ -85,6 +85,7 @@ Examples: reformat.pl 1hjra.a3m 1hjra.a2m + reformat.pl test.a3m test.fas -num -r 90 + reformat.pl fas sto '*.fasta' .stockholm + \n"); ++exit 0; + # clu: clustal format (hmmer output) + # sel: Selex format + # phy: Phylip format +@@ -168,7 +169,7 @@ if ($options=~s/(\S+)\s*$//) { + elsif ($outformat eq "afas") {$outformat="fas";} + elsif ($outformat eq "afasta") {$outformat="fas";} + } else { +- print ("Using FASTA output format: '$options'\n"); $outformat="fas"; ++ print STDERR "Using FASTA output format: '$options'\n"; $outformat="fas"; + } + } + if ($options=~s/(\S+)\s*$//) { +@@ -180,7 +181,7 @@ if ($options=~s/(\S+)\s*$//) { + elsif ($informat eq "fa") {$informat="fas";} + elsif ($informat eq "fasta") {$informat="fas";} + } else { +- print ("Using FASTA input format: '$options'\n"); $informat="fas"; ++ print STDERR "Using FASTA input format: '$options'\n"; $informat = "fas"; + } + } + +@@ -188,7 +189,7 @@ if ($options=~s/(\S+)\s*$//) { + # Warn if unknown options found + if ($options!~/^\s*$/) { + $options=~s/^\s*(.*?)\s*$/$1/g; +- print("\nWARNING: unknown options '$options'\n"); ++ print STDERR "\nWARNING: unknown options '$options'\n"; + } + + # Check if input and output formats are valid +@@ -210,20 +211,20 @@ if ($infile=~/\*/ || $outfile=~/^\./) # if infile contains '*' or outfile is jus + $outfile=~/.*\.(\S*)$/; + my $outext=$1; + my @infiles=glob($infile); +- printf("%i files to reformat\n",scalar(@infiles)); ++ printf STDERR "%i files to reformat\n", scalar(@infiles); + foreach $infile (@infiles) + { + if ($infile!~/(\S+)\.\S+/) {$infile=~/(\S+)/} + $outfile="$1.$outext"; + if ($update && -e $outfile) {next;} +- if ($v>=3) {print("Reformatting $infile from $informat to $outformat ...\n");} ++ if ($v>=3) {print STDERR "Reformatting $infile from $informat to $outformat ...\n";} + &reformat($infile,$outfile); + } + exit 0; + } + else + { +- if ($v>=3) {print("Reformatting $infile from $informat to $outformat ...\n");} ++ if ($v>=3) {print STDERR "Reformatting $infile from $informat to $outformat ...\n";} + &reformat($infile,$outfile); + exit 0; + } +@@ -367,7 +368,7 @@ sub reformat() + } + $name=$1; + $residues=$2; +- print("WARNING: Found no space between name and residues in $infile, line $.: '$line'\n"); ++ print STDERR "WARNING: Found no space between name and residues in $infile, line $.: '$line'\n"; + } else { + if ($noss && ($line=~/^aa_/ || $line=~/^ss_/ || $line=~/^sa_/)) {next;} # do not read in >ss_ and >aa_ sequences + if ($line=~/^aa_/ || $line=~/^sa_/) {next;} # do not read in >ss_ and >aa_ sequences +@@ -388,7 +389,7 @@ sub reformat() + } else { + $seqs[$k].=$residues; + if ($names[$k] ne $name) { +- print("WARNING: name of sequence $k in block 1 ($names[$k]) is not the same as in block $block ($name) in $infile\n"); ++ print STDERR "WARNING: name of sequence $k in block 1 ($names[$k]) is not the same as in block $block ($name) in $infile\n"; + } + } + # printf("%3i %3i %-16.16s %s\n",$block,$k,$names[$k],$seqs[$k]); +@@ -439,7 +440,7 @@ sub reformat() + } else { + $seqs[$k].=$residues; + if ($names[$k] ne $name) { +- print("WARNING: name of sequence $k in block 1 ($names[$k]) is not the same as in block $block ($name) in $infile\n"); ++ print STDERR "WARNING: name of sequence $k in block 1 ($names[$k]) is not the same as in block $block ($name) in $infile\n"; + } + } + # printf("%3i %3i %-16.16s %s\n",$block,$k,$names[$k],$seqs[$k]); +@@ -480,7 +481,7 @@ sub reformat() + # Insertion of '.' only needed for a3m if: NOT -r option OR -M first OR -M option + if ($informat eq "a3m" && (!$remove_inserts || $matchmode)) + { +- print("inserting gaps...\n"); ++ print STDERR "inserting gaps...\n"; + my @len_ins; # $len_ins[$j] will count the maximum number of inserted residues after match state $i. + my $j; # counts match states + my @inserts; # $inserts[$j] contains the insert (in small case) of sequence $i after the $j'th match state +@@ -663,7 +664,7 @@ sub reformat() + my $nin=$n; + for ($k=0; $k<$n; $k++) { + if (($seqs[$k]=~tr/a-zA-Z0-9/a-zA-Z0-9/==0)) { +- if ($v>=2) {print("Sequence contains only gaps and is removed: $names[$k]\n");} ++ if ($v>=2) {print STDERR "Sequence contains only gaps and is removed: $names[$k]\n";} + splice(@seqs,$k,1); + splice(@names,$k,1); + $k--; $n--; +@@ -699,10 +700,10 @@ sub reformat() + my $len=length($seqs[0]); + for($k=1; $k<$n; $k++) { + if (length($seqs[$k])!=$len) { +- printf("\nError: Sequences in $infile do not all have same length, e.g. >%-.20s (len=%i) and >%-.20s (len=%i)\n", +- $names[0],$len,$names[$k],length($seqs[$k])); ++ printf STDERR "\nError: Sequences in $infile do not all have same length, e.g. >%-.20s (len=%i) and >%-.20s (len=%i)\n", ++ $names[0],$len,$names[$k],length($seqs[$k]); + if ($v>=3) { +- printf("%.20s %s\n%.20s %s\n\n",$names[0],$seqs[0],$names[$k],$seqs[$k]); ++ printf STDERR "\nError: Sequences in $infile do not all have same length, e.g. >%-.20s (len=%i) and >%-.20s (len=%i)\n", + } + exit 1; + } +@@ -813,10 +814,10 @@ sub reformat() + + close OUTFILE; + if ($v>=2) { +- if ($nin==1) {print("Reformatted $infile with 1 sequence from $informat to $outformat and written to file $outfile\n");} ++ if ($nin==1) {print STDERR "Reformatted $infile with 1 sequence from $informat to $outformat and written to file $outfile\n";} + else { +- if (!$nin==$n) {printf("Removed %i sequences which contained no residues\n",$nin-$n); } +- print("Reformatted $infile with $n sequences from $informat to $outformat and written to file $outfile\n"); ++ if (!$nin==$n) {printf STDERR "Removed %i sequences which contained no residues\n", $nin - $n;} ++ print STDERR "Reformatted $infile with $n sequences from $informat to $outformat and written to file $outfile\n"; + } + } + diff --git a/recipes/hic-straw/build_failure.osx-64.yaml b/recipes/hic-straw/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..a2722ee2e54af --- /dev/null +++ b/recipes/hic-straw/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 62985f80bc0c5b45fcb7b19401cd9027e52aca4d404ce5c1ce23e7535f2650b2 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/hic-straw_1717515448844/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/hic-straw_1717515448844/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/hic-straw_1717515448844/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/hic-straw-1.3.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/hic-straw_1717515448844/work/conda_build.sh']' returned non-zero exit status 1. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/hic-straw-1.3.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/hic-straw-1.3.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/hic-straw-1.3.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + Using pip 24.0 from $PREFIX/lib/python3.9/site-packages/pip (python 3.9) + Non-user install because user site-packages disabled + Ignoring indexes: https://pypi.org/simple + Created temporary directory: /private/tmp/pip-build-tracker-ylj7gc8f + Initialized build tracking at /private/tmp/pip-build-tracker-ylj7gc8f + Created build tracker: /private/tmp/pip-build-tracker-ylj7gc8f + Entered build tracker: /private/tmp/pip-build-tracker-ylj7gc8f + Created temporary directory: /private/tmp/pip-install-bwo75gax + Created temporary directory: /private/tmp/pip-ephem-wheel-cache-a9wxjigx + Processing $SRC_DIR + Added file://$SRC_DIR to build tracker '/private/tmp/pip-build-tracker-ylj7gc8f' + Running setup.py (path:$SRC_DIR/setup.py) egg_info for package from file://$SRC_DIR + Created temporary directory: /private/tmp/pip-pip-egg-info-40p4kwk1 + Preparing metadata (setup.py): started + Preparing metadata (setup.py): finished with status 'done' + Source in $SRC_DIR has version 1.3.1, which satisfies requirement hic-straw==1.3.1 from file://$SRC_DIR + Removed hic-straw==1.3.1 from file://$SRC_DIR from build tracker '/private/tmp/pip-build-tracker-ylj7gc8f' + Created temporary directory: /private/tmp/pip-unpack-vo2913rt + Building wheels for collected packages: hic-straw + Created temporary directory: /private/tmp/pip-wheel-tyl3bntg + Building wheel for hic-straw (setup.py): started + Destination directory: /private/tmp/pip-wheel-tyl3bntg + Building wheel for hic-straw (setup.py): finished with status 'error' + Running setup.py clean for hic-straw + Failed to build hic-straw + Exception information: + Traceback (most recent call last): + File "$PREFIX/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper + status = run_func(*args) + File "$PREFIX/lib/python3.9/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper + return func(self, options, args) + File "$PREFIX/lib/python3.9/site-packages/pip/_internal/commands/install.py", line 429, in run + raise InstallationError( + pip._internal.exceptions.InstallationError: Could not build wheels for hic-straw, which is required to install pyproject.toml-based projects + Removed build tracker: '/private/tmp/pip-build-tracker-ylj7gc8f' +# Last 100 lines of the build log. diff --git a/recipes/hic-straw/meta.yaml b/recipes/hic-straw/meta.yaml index 010d892629f86..0585eade01a26 100644 --- a/recipes/hic-straw/meta.yaml +++ b/recipes/hic-straw/meta.yaml @@ -12,7 +12,7 @@ source: build: skip: true # [py<36] script: {{ PYTHON }} -m pip install . -vv - number: 3 + number: 4 requirements: build: diff --git a/recipes/hicap/meta.yaml b/recipes/hicap/meta.yaml index 6e28fc9954533..d4a5825b0e5f3 100644 --- a/recipes/hicap/meta.yaml +++ b/recipes/hicap/meta.yaml @@ -1,17 +1,22 @@ -{% set version = "1.0.3" %} +{% set name = "hicap" %} +{% set version = "1.0.4" %} package: - name: hicap + name: {{ name }} version: {{ version }} source: url: https://github.com/scwatts/hicap/archive/v{{ version }}.tar.gz - sha256: 6be5bc97ea4f6bf00d90381a0551760a38dd576f03e5b8e074d08307860091ae + sha256: 053feab67eb38f1b94caf4541054d11d61f705a7fbe579165089f783fc4753d2 build: + number: 1 noarch: python - number: 0 - script: "{{ PYTHON }} -m pip install . --no-deps -vv" + entry_points: + - hicap=hicap.main:main + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('hicap', max_pin="x") }} requirements: host: @@ -19,7 +24,7 @@ requirements: - pip run: - python >=3.6 - - biopython ==1.72 + - biopython >=1.79 - reportlab ==3.4.0 - prodigal >=2.6.1 - blast >=2.2.28 @@ -29,11 +34,13 @@ test: - hicap --help about: - home: https://github.com/scwatts/hicap + home: "https://github.com/scwatts/hicap" summary: 'In silico typing of the H. influenzae capsule locus' - license: GPL-3.0 - license_family: GPL + license: "GPL-3.0-or-later" + license_family: GPL3 + dev_url: "https://github.com/scwatts/hicap" + doc_url: "https://github.com/scwatts/hicap/blob/main/README.md" extra: identifiers: - - doi:10.1128/JCM.00190-19 # J. Clin. Microbiol paper + - doi:10.1128/jcm.00190-19 # J. Clin. Microbiol paper diff --git a/recipes/hicexplorer/meta.yaml b/recipes/hicexplorer/meta.yaml index 4ee9927c54e42..e33d5c5f9ea3b 100644 --- a/recipes/hicexplorer/meta.yaml +++ b/recipes/hicexplorer/meta.yaml @@ -1,19 +1,20 @@ -{% set version = "3.7.3" %} +{% set name = "hicexplorer" %} +{% set version = "3.7.5" %} package: - name: hicexplorer - version: '{{ version }}' + name: {{ name }} + version: {{ version }} source: url: https://github.com/deeptools/HiCExplorer/archive/{{ version }}.tar.gz - sha256: db80bb90772795e603136b781f7dc81659509977e1e86dea7b298490cab73444 + sha256: 5d798d47bc4b4067e9a1446a5745c8146e073b7d9df18390eb1f414a741d2715 build: number: 0 - script: "{{ PYTHON }} -m pip install . --no-deps -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" noarch: python run_exports: - - {{ pin_subpackage('hicexplorer', max_pin="x.x") }} + - {{ pin_subpackage('hicexplorer', max_pin="x") }} requirements: host: @@ -36,7 +37,6 @@ requirements: - future - unidecode - hicmatrix >=17 - - cooler >=0.9.3 - pygenometracks >=3.8 - hic2cool >=0.8.3 - fit_nbinom >=1.2 @@ -46,7 +46,7 @@ requirements: - tqdm >=4.66 - hyperopt >=0.2.7 - python-graphviz >=0.20 - - scikit-learn >=1.3.1 + - scikit-learn >=1.3,<1.4 - imbalanced-learn >=0.11 - cleanlab >=2.5 @@ -95,12 +95,16 @@ test: - hicInterIntraTAD --version - hicTADClassifier --version - hicTrainTADClassifier --version - - + + about: - home: https://github.com/deeptools/HiCExplorer - license: GPL3 + home: "https://github.com/deeptools/HiCExplorer" + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE summary: Set of programs to process, analyze and visualize Hi-C and capture Hi-C data + dev_url: "https://github.com/deeptools/HiCExplorer" + doc_url: "https://hicexplorer.readthedocs.org/" extra: identifiers: @@ -108,3 +112,4 @@ extra: - doi:10.1093/nar/gkaa220 - doi:10.1093/gigascience/giac061 - usegalaxy-eu:hicexplorer_hicplotviewpoint + - biotools:hicexplorer diff --git a/recipes/hicmatrix/build.sh b/recipes/hicmatrix/build.sh deleted file mode 100644 index 3786386a73c83..0000000000000 --- a/recipes/hicmatrix/build.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -$PYTHON setup.py install --single-version-externally-managed --record=record.txt diff --git a/recipes/hicmatrix/meta.yaml b/recipes/hicmatrix/meta.yaml index 7014531be701c..d30f8fa569fc2 100644 --- a/recipes/hicmatrix/meta.yaml +++ b/recipes/hicmatrix/meta.yaml @@ -1,25 +1,25 @@ +{% set name = "hicmatrix" %} +{% set version = "17.2" %} + package: - name: hicmatrix - version: 17 + name: {{ name }} + version: {{ version }} source: - url: https://github.com/deeptools/HiCMatrix/archive/refs/tags/17.tar.gz - sha256: 40d0d0ed670ca8084bd67ec1fe9eb7aff6c180ca0e0fca277f5ad76d25ed97bb + url: https://github.com/deeptools/HiCMatrix/archive/refs/tags/{{ version }}.tar.gz + sha256: a2428676b5aad014e7b1653e3effe94f7ea8a68cc78be83e4b67f2255f6b4fbb build: number: 0 noarch: python + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv + run_exports: + - {{ pin_subpackage('hicmatrix', max_pin="x") }} requirements: host: - python >=3.7 - - setuptools - - numpy >=1.20 - - scipy >=1.2.* - - intervaltree >=3.0.* - - pytables >=3.5.* - - pandas >=0.25.* - - cooler >=0.8.10 + - pip run: - python >=3.7 - numpy >=1.20 @@ -28,6 +28,7 @@ requirements: - pytables >=3.5.* - pandas >=0.25.* - cooler >=0.8.10 + - importlib-metadata # [py < 38] test: imports: @@ -35,5 +36,7 @@ test: about: home: https://github.com/deeptools/HiCMatrix - license: GPL3 + license: GPL-3.0-or-later + license_family: GPL3 summary: Library to manage Hi-C matrices for HiCExplorer and pyGenomeTracks + dev_url: https://github.com/deeptools/HiCMatrix diff --git a/recipes/hicstuff/meta.yaml b/recipes/hicstuff/meta.yaml index e0c50b567fcdf..dc6a57f61a040 100644 --- a/recipes/hicstuff/meta.yaml +++ b/recipes/hicstuff/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "3.2.1" %} +{% set version = "3.2.3" %} package: name: hicstuff @@ -6,7 +6,7 @@ package: source: url: https://pypi.io/packages/source/h/hicstuff/hicstuff-{{ version }}.tar.gz - sha256: cfea38c69d2594168d734f8e292a84b1f4d2135a31dd877fb175fad0aac4bdf4 + sha256: 11a88844a5a75928c7e48b391829b7e0d73aae86cb7c116a0618560d2a16f283 build: number: 0 @@ -38,6 +38,7 @@ requirements: - pyfastx - coreutils - cooler + - pairtools test: imports: diff --git a/recipes/hictk/build.sh b/recipes/hictk/build.sh index 81e494d834d06..dcf141266bc79 100755 --- a/recipes/hictk/build.sh +++ b/recipes/hictk/build.sh @@ -2,7 +2,7 @@ export CONAN_NON_INTERACTIVE=1 -export CMAKE_BUILD_PARALLEL_LEVEL=${CPU_COUNT} +export CMAKE_BUILD_PARALLEL_LEVEL=1 # ${CPU_COUNT} export CTEST_PARALLEL_LEVEL=${CPU_COUNT} if [[ ${DEBUG_C} == yes ]]; then @@ -32,10 +32,10 @@ mkdir -p "$CONAN_HOME/profiles/" ln -s "${RECIPE_DIR}/conan_profiles/$conan_profile" "$CONAN_HOME/profiles/$conan_profile" # Remove unnecessary dependencies from conanfile.txt -patch conanfile.txt < "${RECIPE_DIR}/conanfile.txt.patch" +patch conanfile.py < "${RECIPE_DIR}/conanfile.py.patch" # Install header-only deps -conan install conanfile.txt \ +conan install conanfile.py \ --build="*" \ -pr:b "$conan_profile" \ -pr:h "$conan_profile" \ diff --git a/recipes/hictk/conanfile.py.patch b/recipes/hictk/conanfile.py.patch new file mode 100644 index 0000000000000..78d2295831839 --- /dev/null +++ b/recipes/hictk/conanfile.py.patch @@ -0,0 +1,90 @@ +diff --git a/conanfile.py b/conanfile.py +index 29fc114..93f6940 100644 +--- a/conanfile.py ++++ b/conanfile.py +@@ -36,23 +36,11 @@ class HictkConan(ConanFile): + return 17 + + def requirements(self): +- self.requires("arrow/16.1.0#f484da4c4c27c1eb3ead5d61b70635cd") +- self.requires("boost/1.85.0#d9ae7996a5b917e0cfd4b738aa976dee", force=True) + self.requires("bshoshany-thread-pool/4.1.0#be1802a8768416a6c9b1393cf0ce5e9c") +- self.requires("catch2/3.6.0#819bc5a82c2cb626916fc18ee1dbc45f") +- self.requires("cli11/2.4.2#1b431bda2fb2cd3efed633899abcd8cc") + self.requires("concurrentqueue/1.0.4#1e48e1c712bcfd892087c9c622a51502") +- self.requires("eigen/3.4.0#2e192482a8acff96fe34766adca2b24c") +- self.requires("fast_float/6.1.1#e29acaa3d0543dee343abe3f6815346e") +- self.requires("fmt/10.2.1#9199a7a0611866dea5c8849a77467b25") +- self.requires("hdf5/1.14.3#31ccd8d4de83844f5db48471df1944a1") +- self.requires("highfive/2.9.0#c57477beed8b0110fadeb6da8f48bcc5") +- self.requires("libdeflate/1.20#3bd86e0160becf992346aa68b4938c40") + self.requires("parallel-hashmap/1.3.12#dc7755096d8a1fac7792fdd85760b6ca") + self.requires("readerwriterqueue/1.0.6#aaa5ff6fac60c2aee591e9e51b063b83") + self.requires("span-lite/0.11.0#519fd49fff711674cfed8cd17d4ed422") +- self.requires("spdlog/1.14.1#972bbf70be1da4bc57ea589af0efde03") +- self.requires("zstd/1.5.6#afefe79a309bc2a7b9f56c2093504c8b") + + def validate(self): + if self.settings.get_safe("compiler.cppstd"): +@@ -61,61 +49,3 @@ class HictkConan(ConanFile): + def configure(self): + if self.settings.compiler in ["clang", "gcc"]: + self.settings.compiler.libcxx = "libstdc++11" +- +- self.options["arrow"].compute = True +- self.options["arrow"].parquet = False +- self.options["arrow"].with_boost = True +- self.options["arrow"].with_re2 = True +- self.options["arrow"].with_thrift = False +- self.options["boost"].system_no_deprecated = True +- self.options["boost"].asio_no_deprecated = True +- self.options["boost"].filesystem_no_deprecated = True +- self.options["boost"].filesystem_version = 4 +- self.options["boost"].zlib = False +- self.options["boost"].bzip2 = False +- self.options["boost"].lzma = False +- self.options["boost"].zstd = False +- self.options["boost"].without_atomic = False +- self.options["boost"].without_charconv = True +- self.options["boost"].without_chrono = True +- self.options["boost"].without_container = True +- self.options["boost"].without_context = True +- self.options["boost"].without_contract = True +- self.options["boost"].without_coroutine = True +- self.options["boost"].without_date_time = True +- self.options["boost"].without_exception = True +- self.options["boost"].without_fiber = True +- self.options["boost"].without_filesystem = False +- self.options["boost"].without_graph = True +- self.options["boost"].without_graph_parallel = True +- self.options["boost"].without_iostreams = True +- self.options["boost"].without_json = True +- self.options["boost"].without_locale = True +- self.options["boost"].without_log = True +- self.options["boost"].without_math = True +- self.options["boost"].without_mpi = True +- self.options["boost"].without_nowide = True +- self.options["boost"].without_program_options = True +- self.options["boost"].without_python = True +- self.options["boost"].without_random = True +- self.options["boost"].without_regex = True +- self.options["boost"].without_serialization = True +- self.options["boost"].without_stacktrace = True +- self.options["boost"].without_system = False +- self.options["boost"].without_test = True +- self.options["boost"].without_thread = True +- self.options["boost"].without_timer = True +- self.options["boost"].without_type_erasure = True +- self.options["boost"].without_url = True +- self.options["boost"].without_wave = True +- self.options["fmt"].header_only = True +- self.options["hdf5"].enable_cxx = False +- self.options["hdf5"].hl = False +- self.options["hdf5"].threadsafe = False +- self.options["hdf5"].parallel = False +- self.options["highfive"].with_boost = False +- self.options["highfive"].with_eigen = False +- self.options["highfive"].with_opencv = False +- self.options["highfive"].with_xtensor = False +- self.options["spdlog"].header_only = True +- self.options["zstd"].build_programs = False diff --git a/recipes/hictk/conanfile.txt.patch b/recipes/hictk/conanfile.txt.patch deleted file mode 100644 index 91d076a10b7ac..0000000000000 --- a/recipes/hictk/conanfile.txt.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff --git a/conanfile.txt b/conanfile.txt -index 31d9e7f..669629d 100644 ---- a/conanfile.txt -+++ b/conanfile.txt -@@ -3,74 +3,12 @@ - # SPDX-License-Identifier: MIT - - [requires] --boost/1.83.0#f0c3932db7f65b606ed78357ecbdcbef - bshoshany-thread-pool/3.5.0#3c9fd1e21a688432b7f31b40d2d168ee --cli11/2.3.2#1424b9b1d9e3682a7122f415b078b4d7 --eigen/3.4.0#2e192482a8acff96fe34766adca2b24c --fast_float/5.2.0#9bf1a3fac625789f2b571d43efb8013b --fmt/10.1.0#1fae165cded07416f64960a5b6140317 --hdf5/1.14.1#16047e4faf70ba5488d7525063c5cb2b --highfive/2.7.1#b1e846aa63f7b3ab0368faae2f004fbd --libdeflate/1.19#3ea74a4549efc14d4b1202dc4bfbf602 - parallel-hashmap/1.3.11#719aed501c271a34e2347a7731ab3bfb - readerwriterqueue/1.0.6#aaa5ff6fac60c2aee591e9e51b063b83 - span-lite/0.10.3#1967d71abb32b314387c2ab9c558dd22 --spdlog/1.12.0#248c215bc5f0718402fbf1de126ef847 --xxhash/0.8.2#03fd1c9a839b3f9cdf5ea9742c312187 --zstd/1.5.5#93372fe14bb7883bd4de82914e0a1841 - - [generators] - CMakeDeps - - [options] --boost*:system_no_deprecated=True --boost*:asio_no_deprecated=True --boost*:filesystem_no_deprecated=True --boost*:filesystem_version=4 --boost*:zlib=False --boost*:bzip2=False --boost*:lzma=False --boost*:zstd=False --boost*:without_atomic=False --boost*:without_chrono=True --boost*:without_container=True --boost*:without_context=True --boost*:without_contract=True --boost*:without_coroutine=True --boost*:without_date_time=True --boost*:without_exception=False --boost*:without_fiber=True --boost*:without_filesystem=False --boost*:without_graph=True --boost*:without_graph_parallel=True --boost*:without_iostreams=True --boost*:without_json=True --boost*:without_locale=True --boost*:without_log=True --boost*:without_math=True --boost*:without_mpi=True --boost*:without_nowide=True --boost*:without_program_options=True --boost*:without_python=True --boost*:without_random=True --boost*:without_regex=True --boost*:without_serialization=True --boost*:without_stacktrace=True --boost*:without_system=False --boost*:without_test=True --boost*:without_thread=True --boost*:without_timer=True --boost*:without_type_erasure=True --boost*:without_url=True --boost*:without_wave=True --fmt*:header_only=True --hdf5*:enable_cxx=False --hdf5*:hl=False --hdf5*:threadsafe=False --hdf5*:parallel=False --highfive*:with_boost=False --highfive*:with_eigen=False --highfive*:with_opencv=False --highfive*:with_xtensor=False --spdlog*:header_only=True --xxhash*:utility=False diff --git a/recipes/hictk/meta.yaml b/recipes/hictk/meta.yaml index a36deadc6e1bd..42a5eb4d57b4a 100644 --- a/recipes/hictk/meta.yaml +++ b/recipes/hictk/meta.yaml @@ -1,15 +1,15 @@ {% set name = "hictk" %} -{% set version = "0.0.3" %} -{% set sha256 = "f49657b9ef80ef9fa07f125a0b6f056923235c9ea77e19cee312b004384ea39e" %} +{% set version = "1.0.0" %} +{% set sha256 = "e337f52658a257eb6265e211dd3cef6b73db40bdc5b5a6433b47ce4faa6006fb" %} package: name: {{ name|lower }} version: {{ version }} build: - number: 0 + number: 2 run_exports: - - {{ pin_subpackage('hictk', max_pin='x.x') }} + - {{ pin_subpackage('hictk', max_pin='x') }} source: url: https://github.com/paulsengroup/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz @@ -22,21 +22,23 @@ requirements: - cmake >=3.25 - conan >=2 - make + - catch2 >=3.5 - cli11 >=2.3 - eigen >=3.4 - fast_float >=5 - fmt >=10 - - highfive >=2.7 + - highfive >=2.8 - spdlog >=1.12 + host: - - boost >=1.80 - hdf5 >=1.12 + - libarrow >=16 - libdeflate - - xxhash >=0.8 - zstd >=1.5 + run: - - boost >=1.80 - hdf5 >=1.12 + - libarrow >=16 - libdeflate - zstd >=1.5 @@ -51,13 +53,18 @@ about: test: requires: - curl - - cooler>=0.9.2 - - openjdk>=11 + - cooler>=0.9.3 - perl-digest-sha1 - xz source_files: - cmake/FetchTestDataset.cmake - - test/scripts/hictk_balance.sh + - test/scripts/check_test_files_exist.sh + - test/scripts/compare_matrix_files.sh + - test/scripts/compare_plain_files.sh + - test/scripts/compare_weights.py + - test/scripts/hictk_balance_ice.sh + - test/scripts/hictk_balance_scale.sh + - test/scripts/hictk_balance_vc.sh - test/scripts/hictk_convert_hic2cool.sh - test/scripts/hictk_convert_cool2hic.sh - test/scripts/hictk_dump_cells.sh @@ -71,14 +78,15 @@ test: - test/scripts/hictk_dump_balanced.sh - test/scripts/hictk_fix_mcool.sh - test/scripts/hictk_load_coo.sh - - test/scripts/hictk_load_coo.sh - test/scripts/hictk_load_bg2.sh - - test/scripts/hictk_load_bg2.sh - - test/scripts/hictk_load_4dn.sh - test/scripts/hictk_load_4dn.sh - test/scripts/hictk_merge.sh + - test/scripts/hictk_rename_chromosomes.sh - test/scripts/hictk_validate.sh - test/scripts/hictk_zoomify.sh + - test/scripts/nproc.sh + - test/scripts/readlink.sh + - test/scripts/shuffle.sh commands: - hictk --help - hictk --version @@ -90,3 +98,6 @@ extra: identifiers: - biotools:hictk - doi:10.5281/zenodo.8214221 + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/hictk/run_test.sh b/recipes/hictk/run_test.sh index 0736a37cea981..40324b44eca22 100755 --- a/recipes/hictk/run_test.sh +++ b/recipes/hictk/run_test.sh @@ -16,16 +16,14 @@ shasum -c checksum.sha256 tar -xf hictk_test_dataset.tar.xz -# Download hictools -hictools_url='https://github.com/aidenlab/HiCTools/releases/download/v3.30.00/hic_tools.3.30.00.jar' -hictools_sha256='2b09b0642a826ca5730fde74e022461a708caf62ed292bc5baaa841946721867' -curl -L "$hictools_url" -o hic_tools.jar -echo "$hictools_sha256 hic_tools.jar" | tee checksum.sha256 -shasum -c checksum.sha256 - hictk="$(which hictk)" # Run integration tests + +test/scripts/hictk_balance_ice.sh "$hictk" +test/scripts/hictk_balance_scale.sh "$hictk" +test/scripts/hictk_balance_vc.sh "$hictk" + test/scripts/hictk_dump_chroms.sh "$hictk" test/scripts/hictk_dump_bins.sh "$hictk" test/scripts/hictk_dump_gw.sh "$hictk" @@ -34,17 +32,18 @@ test/scripts/hictk_dump_trans.sh "$hictk" test/scripts/hictk_dump_balanced.sh "$hictk" test/scripts/hictk_convert_hic2cool.sh "$hictk" -test/scripts/hictk_convert_cool2hic.sh "$hictk" hic_tools.jar +test/scripts/hictk_convert_cool2hic.sh "$hictk" test/scripts/hictk_load_coo.sh "$hictk" sorted test/scripts/hictk_load_coo.sh "$hictk" unsorted test/scripts/hictk_load_bg2.sh "$hictk" sorted test/scripts/hictk_load_bg2.sh "$hictk" unsorted -test/scripts/hictk_load_4dn.sh "$hictk" sorted -test/scripts/hictk_load_4dn.sh "$hictk" unsorted +test/scripts/hictk_load_4dn.sh "$hictk" test/scripts/hictk_merge.sh "$hictk" +test/scripts/hictk_rename_chromosomes.sh "$hictk" + test/scripts/hictk_validate.sh "$hictk" test/scripts/hictk_zoomify.sh "$hictk" diff --git a/recipes/hictkpy/CMakeLists.txt.patch b/recipes/hictkpy/CMakeLists.txt.patch new file mode 100644 index 0000000000000..a5c3cb5839689 --- /dev/null +++ b/recipes/hictkpy/CMakeLists.txt.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 01a1413..b0dcdb4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -17,6 +17,8 @@ set(CMAKE_C_STANDARD 11) + # -std=gnu++20 for example when compiling with PCH enabled + set(CMAKE_CXX_EXTENSIONS OFF) + ++set(CMAKE_OSX_DEPLOYMENT_TARGET 10.15) ++ + project( + hictkpy + LANGUAGES C CXX diff --git a/recipes/hictkpy/build.sh b/recipes/hictkpy/build.sh index 98554b96d5ffd..a6d756aa71a09 100755 --- a/recipes/hictkpy/build.sh +++ b/recipes/hictkpy/build.sh @@ -1,6 +1,6 @@ #!/bin/bash -export CMAKE_BUILD_PARALLEL_LEVEL=${CPU_COUNT} +# export CMAKE_BUILD_PARALLEL_LEVEL=${CPU_COUNT} scratch=$(mktemp -d) export CONAN_HOME="$scratch/conan" @@ -22,22 +22,20 @@ fi mkdir -p "$CONAN_HOME/profiles/" ln -s "${RECIPE_DIR}/conan_profiles/$conan_profile" "$CONAN_HOME/profiles/default" +# explicitly set CMAKE_OSX_DEPLOYMENT_TARGET +patch CMakeLists.txt < "${RECIPE_DIR}/CMakeLists.txt.patch" + # Remove unnecessary dependencies from conanfile.txt patch conanfile.txt < "${RECIPE_DIR}/conanfile.txt.patch" -# Install header-only deps -conan install conanfile.txt \ - --build="*" \ - --output-folder=build/ - +# Build hictkpy as a shared library +patch pyproject.toml < "${RECIPE_DIR}/pyproject.toml.patch" -CMAKE_ARGS="-DCMAKE_PREFIX_PATH=$PWD/build" -CMAKE_ARGS+=" ${CMAKE_PLATFORM_FLAGS[*]}" CMAKE_ARGS+=" -DPython_EXECUTABLE=$PYTHON" echo "$CMAKE_ARGS" export CMAKE_ARGS -HICTKPY_SETUP_SKIP_CONAN=1 \ -"$PYTHON" -m pip install . -v +SETUPTOOLS_SCM_PRETEND_VERSION="$PKG_VERSION" \ +"$PYTHON" -m pip install "$SRC_DIR" -vv diff --git a/recipes/hictkpy/conanfile.txt.patch b/recipes/hictkpy/conanfile.txt.patch index 0a0004bc51819..038babbd4c0df 100644 --- a/recipes/hictkpy/conanfile.txt.patch +++ b/recipes/hictkpy/conanfile.txt.patch @@ -1,19 +1,21 @@ diff --git a/conanfile.txt b/conanfile.txt -index bf2df0b..1a50e65 100644 +index cffb547..66cf415 100644 --- a/conanfile.txt +++ b/conanfile.txt -@@ -3,26 +3,9 @@ - # SPDX-License-Identifier: MIT - +@@ -5,30 +5,12 @@ [requires] --fast_float/5.2.0#9bf1a3fac625789f2b571d43efb8013b --fmt/10.1.0#1fae165cded07416f64960a5b6140317 --hdf5/1.14.0#011206975dc4c5ca80dd612d3a34cab3 --highfive/2.7.1#a73bc6937c9add30c9d47a7a70a466eb --libdeflate/1.18#3697b637656a9af04cabcbed50db9a7e - parallel-hashmap/1.3.11#719aed501c271a34e2347a7731ab3bfb --pybind11/2.10.4#dd44c80a5ed6a2ef11194380daae1248 --spdlog/1.12.0#248c215bc5f0718402fbf1de126ef847 + bshoshany-thread-pool/4.1.0#be1802a8768416a6c9b1393cf0ce5e9c + concurrentqueue/1.0.4#1e48e1c712bcfd892087c9c622a51502 +-fast_float/6.1.1#e29acaa3d0543dee343abe3f6815346e +-fmt/10.2.1#9199a7a0611866dea5c8849a77467b25 +-hdf5/1.14.3#31ccd8d4de83844f5db48471df1944a1 +-highfive/2.9.0#c57477beed8b0110fadeb6da8f48bcc5 +-libdeflate/1.19#3ea74a4549efc14d4b1202dc4bfbf602 + parallel-hashmap/1.3.11#1e67f4855a3f7cdeb977cc472113baf7 + readerwriterqueue/1.0.6#aaa5ff6fac60c2aee591e9e51b063b83 + span-lite/0.11.0#519fd49fff711674cfed8cd17d4ed422 +-spdlog/1.13.0#2775cc949e26b339029a852785b6b276 +-zstd/1.5.6#67383dae85d33f43823e7751a6745ea1 [generators] CMakeDeps @@ -29,3 +31,5 @@ index bf2df0b..1a50e65 100644 -highfive*:with_opencv=False -highfive*:with_xtensor=False -spdlog*:header_only=True +-zstd*:build_programs=False + diff --git a/recipes/hictkpy/meta.yaml b/recipes/hictkpy/meta.yaml index f4500292f59e4..084412b76ff50 100644 --- a/recipes/hictkpy/meta.yaml +++ b/recipes/hictkpy/meta.yaml @@ -1,14 +1,14 @@ {% set name = "hictkpy" %} -{% set version = "0.0.2" %} -{% set sha256 = "9e9bf3399d5747c68ced564c5c098aa79567097d4c5c7a7152d62a84ad46ec38" %} +{% set version = "0.0.5" %} +{% set sha256 = "e9576a1a719ce378873da15b76e9f7e699748c0486901607e4d7e87c3f0c6556" %} package: name: {{ name|lower }} version: {{ version }} build: - number: 0 - skip: True # [py < 36] + number: 2 + skip: True # [py < 39] run_exports: - {{ pin_subpackage('hictkpy', max_pin='x.x') }} @@ -23,19 +23,18 @@ requirements: - cmake >=3.25 - conan >=2 - make - - eigen >=3.4 - fast_float >=5 - fmt >=10 - highfive >=2.7 - - pybind11 >=2.11 - spdlog >=1.12 host: - python + - pip - hdf5 >=1.12 - libdeflate - - numpy - - pandas - - scipy + - scikit-build-core + - setuptools_scm + - zstd >=1.5 run: - python @@ -44,6 +43,7 @@ requirements: - numpy - pandas - scipy + - zstd >=1.5 about: home: https://github.com/paulsengroup/{{ name }} @@ -68,3 +68,6 @@ extra: identifiers: - biotools:hictkpy - doi:10.5281/zenodo.8220300 + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/hictkpy/pyproject.toml.patch b/recipes/hictkpy/pyproject.toml.patch new file mode 100644 index 0000000000000..6763068194b11 --- /dev/null +++ b/recipes/hictkpy/pyproject.toml.patch @@ -0,0 +1,13 @@ +diff --git a/pyproject.toml b/pyproject.toml +index 1a03623..36102d0 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -49,7 +49,7 @@ HICTK_BUILD_EXAMPLES = "OFF" + HICTK_BUILD_BENCHMARKS = "OFF" + HICTK_BUILD_TOOLS = "OFF" + HICTK_ENABLE_GIT_VERSION_TRACKING = "OFF" +-BUILD_SHARED_LIBS = "OFF" ++BUILD_SHARED_LIBS = "ON" + CONAN_INSTALL_ARGS = "--settings=compiler.cppstd=17;--build=missing;--update;--options=*/*:shared=False" + + [tool.setuptools_scm] diff --git a/recipes/hiddendomains/build_failure.linux-64.yaml b/recipes/hiddendomains/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..a2a686105e87d --- /dev/null +++ b/recipes/hiddendomains/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 3f9fa27dd01b161c3ba00bb95dcde2d4cb670c070f8a03244c2e2518c2e36b72 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + libdeflate: 1.20-hd590300_0 conda-forge + libedit: 3.1.20191231-he28a2e2_2 conda-forge + libev: 4.33-hd590300_2 conda-forge + libexpat: 2.6.2-h59595ed_0 conda-forge + libffi: 3.4.2-h7f98852_5 conda-forge + libgcc-devel_linux-64: 13.2.0-hceb6213_107 conda-forge + libgcc-ng: 13.2.0-h77fa898_7 conda-forge + libgfortran-ng: 13.2.0-h69a702a_7 conda-forge + libgfortran5: 13.2.0-hca663fb_7 conda-forge + libglib: 2.80.2-hf974151_0 conda-forge + libgomp: 13.2.0-h77fa898_7 conda-forge + libiconv: 1.17-hd590300_2 conda-forge + libjpeg-turbo: 3.0.0-hd590300_1 conda-forge + liblapack: 3.9.0-22_linux64_openblas conda-forge + libnghttp2: 1.58.0-h47da74e_1 conda-forge + libopenblas: 0.3.27-pthreads_h413a1c8_0 conda-forge + libpng: 1.6.43-h2797004_0 conda-forge + libsanitizer: 13.2.0-h6ddb7a1_7 conda-forge + libssh2: 1.11.0-h0841786_0 conda-forge + libstdcxx-devel_linux-64: 13.2.0-hceb6213_107 conda-forge + libstdcxx-ng: 13.2.0-hc0a3c3a_7 conda-forge + libtiff: 4.6.0-h1dd3fc0_3 conda-forge + libuuid: 2.38.1-h0b41bf4_0 conda-forge + libwebp-base: 1.4.0-hd590300_0 conda-forge + libxcb: 1.15-h0b41bf4_0 conda-forge + libxcrypt: 4.4.36-hd590300_1 conda-forge + libzlib: 1.2.13-h4ab18f5_6 conda-forge + make: 4.3-hd18ef5c_1 conda-forge + ncurses: 6.5-h59595ed_0 conda-forge + openssl: 3.3.1-h4ab18f5_0 conda-forge + pango: 1.52.2-ha41ecd1_0 conda-forge + pcre2: 10.43-hcad00b1_0 conda-forge + perl: 5.32.1-7_hd590300_perl5 conda-forge + pixman: 0.43.2-h59595ed_0 conda-forge + pthread-stubs: 0.4-h36c2ea0_1001 conda-forge + r-base: 4.3.3-hf0d99cb_1 conda-forge + r-depmixs4: 1.5_0-r43h57805ef_2 conda-forge + r-hiddenmarkov: 1.8_13-r43h61816a4_2 conda-forge + r-lattice: 0.22_6-r43h57805ef_0 conda-forge + r-mass: 7.3_60-r43h57805ef_1 conda-forge + r-nlme: 3.1_164-r43h61816a4_0 conda-forge + r-nnet: 7.3_19-r43h57805ef_1 conda-forge + r-rsolnp: 1.16-r43ha770c72_1005 conda-forge + r-truncnorm: 1.0_9-r43h57805ef_1 conda-forge + readline: 8.2-h8228510_1 conda-forge + samtools: 1.20-h50ea8bc_0 bioconda + sed: 4.8-he412f7d_0 conda-forge + sysroot_linux-64: 2.12-he073ed8_17 conda-forge + tk: 8.6.13-noxft_h4845f30_101 conda-forge + tktable: 2.10-h0c5db8f_5 conda-forge + xorg-kbproto: 1.0.7-h7f98852_1002 conda-forge + xorg-libice: 1.1.1-hd590300_0 conda-forge + xorg-libsm: 1.2.4-h7391055_0 conda-forge + xorg-libx11: 1.8.9-h8ee46fc_0 conda-forge + xorg-libxau: 1.0.11-hd590300_0 conda-forge + xorg-libxdmcp: 1.1.3-h7f98852_0 conda-forge + xorg-libxext: 1.3.4-h0b41bf4_2 conda-forge + xorg-libxrender: 0.9.11-hd590300_0 conda-forge + xorg-libxt: 1.3.0-hd590300_1 conda-forge + xorg-renderproto: 0.11.1-h7f98852_1002 conda-forge + xorg-xextproto: 7.3.0-h0b41bf4_1003 conda-forge + xorg-xproto: 7.0.31-h7f98852_1007 conda-forge + xz: 5.2.6-h166bdaf_0 conda-forge + zlib: 1.2.13-h4ab18f5_6 conda-forge + zstd: 1.5.6-ha6fb4c9_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Reloading output folder (file:///opt/host-conda-bld): ...working... done + Solving environment (_test_env): ...working... done + Source cache directory is: /opt/conda/conda-bld/src_cache + Downloading source to cache: hiddenDomains.3.1_7c2de1ab3a.tar.gz + Downloading https://sourceforge.net/projects/hiddendomains/files/hiddenDomains.3.1.tar.gz + WARNING: Error: HTTP 502 BAD GATEWAY for url + Elapsed: 00:01.381509 + CF-RAY: 88f8cfa93e2010cc-ORD + + An HTTP error occurred when trying to retrieve this URL. + HTTP errors are often intermittent, and a simple retry will get you on your way. + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2419, in build + try_download(m, no_download_source=False, raise_error=True) + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 762, in try_download + source.provide(metadata) + File "/opt/conda/lib/python3.10/site-packages/conda_build/source.py", line 1035, in provide + unpack( + File "/opt/conda/lib/python3.10/site-packages/conda_build/source.py", line 169, in unpack + src_path, unhashed_fn = download_to_cache( + File "/opt/conda/lib/python3.10/site-packages/conda_build/source.py", line 116, in download_to_cache + raise RuntimeError(f"Could not download {url}") + RuntimeError: Could not download https://sourceforge.net/projects/hiddendomains/files/hiddenDomains.3.1.tar.gz +# Last 100 lines of the build log. diff --git a/recipes/hiddendomains/meta.yaml b/recipes/hiddendomains/meta.yaml index df3fe9d936f3e..9ed3b8724f354 100644 --- a/recipes/hiddendomains/meta.yaml +++ b/recipes/hiddendomains/meta.yaml @@ -13,7 +13,7 @@ source: - path.patch build: - number: 4 + number: 5 noarch: generic requirements: diff --git a/recipes/hifiasm/build.sh b/recipes/hifiasm/build.sh index 9d579b2c893d6..ed1119d4f315b 100644 --- a/recipes/hifiasm/build.sh +++ b/recipes/hifiasm/build.sh @@ -2,6 +2,15 @@ mkdir -p $PREFIX/bin +ARCH_OPTS="" +case $(uname -m) in + x86_64) + ARCH_OPTS="-msse4.2 -mpopcnt" + ;; + *) + ;; +esac + sed -i.bak 's/CXXFLAGS=.*//' Makefile -make INCLUDES="-I$PREFIX/include" CXXFLAGS="-L$PREFIX/lib -g -O3 -msse4.2 -mpopcnt -fomit-frame-pointer -Wall" CC=${CC} CXX=${CXX} +make INCLUDES="-I$PREFIX/include" CXXFLAGS="-L$PREFIX/lib -g -O3 ${ARCH_OPTS} -fomit-frame-pointer -Wall" CC=${CC} CXX=${CXX} cp hifiasm $PREFIX/bin diff --git a/recipes/hifiasm/linux-aarch64-support.patch b/recipes/hifiasm/linux-aarch64-support.patch new file mode 100644 index 0000000000000..f93a6fcd3fa4e --- /dev/null +++ b/recipes/hifiasm/linux-aarch64-support.patch @@ -0,0 +1,9362 @@ +From 98192bf4808ce7ae40dcb9731e6968ffc985e75a Mon Sep 17 00:00:00 2001 +From: Martin Tzvetanov Grigorov +Date: Sat, 27 Apr 2024 10:48:00 +0300 +Subject: [PATCH 1/3] Use sse2neon.h when running on ARM64 + +Signed-off-by: Martin Tzvetanov Grigorov +--- + Levenshtein_distance.h | 4 + + ksw2_extz2_sse.c | 4 + + sse2neon.h | 9284 ++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 9292 insertions(+) + create mode 100644 sse2neon.h + +diff --git a/Levenshtein_distance.h b/Levenshtein_distance.h +index 592f1b5..ddd6df5 100644 +--- a/Levenshtein_distance.h ++++ b/Levenshtein_distance.h +@@ -3,10 +3,14 @@ + + #define __STDC_LIMIT_MACROS + #include ++#ifdef __ARM_NEON ++#include "sse2neon.h" ++#else + #include "emmintrin.h" + #include "nmmintrin.h" + #include "smmintrin.h" + #include ++#endif // ~__ARM_NEON + #include + #include + #include +diff --git a/ksw2_extz2_sse.c b/ksw2_extz2_sse.c +index 02bb4c2..d17f067 100644 +--- a/ksw2_extz2_sse.c ++++ b/ksw2_extz2_sse.c +@@ -3,7 +3,11 @@ + #include "ksw2.h" + + #ifdef __SSE2__ ++#ifdef __ARM_NEON ++#include "sse2neon.h" ++#else + #include ++#endif // ~__ARM_NEON + + #ifdef KSW_SSE2_ONLY + #undef __SSE4_1__ +diff --git a/sse2neon.h b/sse2neon.h +new file mode 100644 +index 0000000..48da95f +--- /dev/null ++++ b/sse2neon.h +@@ -0,0 +1,9284 @@ ++#ifndef SSE2NEON_H ++#define SSE2NEON_H ++ ++/* ++ * sse2neon is freely redistributable under the MIT License. ++ * ++ * Copyright (c) 2015-2024 SSE2NEON Contributors. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to deal ++ * in the Software without restriction, including without limitation the rights ++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++ * copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ * SOFTWARE. ++ */ ++ ++// This header file provides a simple API translation layer ++// between SSE intrinsics to their corresponding Arm/Aarch64 NEON versions ++// ++// Contributors to this work are: ++// John W. Ratcliff ++// Brandon Rowlett ++// Ken Fast ++// Eric van Beurden ++// Alexander Potylitsin ++// Hasindu Gamaarachchi ++// Jim Huang ++// Mark Cheng ++// Malcolm James MacLeod ++// Devin Hussey (easyaspi314) ++// Sebastian Pop ++// Developer Ecosystem Engineering ++// Danila Kutenin ++// François Turban (JishinMaster) ++// Pei-Hsuan Hung ++// Yang-Hao Yuan ++// Syoyo Fujita ++// Brecht Van Lommel ++// Jonathan Hue ++// Cuda Chen ++// Aymen Qader ++// Anthony Roberts ++ ++/* Tunable configurations */ ++ ++/* Enable precise implementation of math operations ++ * This would slow down the computation a bit, but gives consistent result with ++ * x86 SSE. (e.g. would solve a hole or NaN pixel in the rendering result) ++ */ ++/* _mm_min|max_ps|ss|pd|sd */ ++#ifndef SSE2NEON_PRECISE_MINMAX ++#define SSE2NEON_PRECISE_MINMAX (0) ++#endif ++/* _mm_rcp_ps and _mm_div_ps */ ++#ifndef SSE2NEON_PRECISE_DIV ++#define SSE2NEON_PRECISE_DIV (0) ++#endif ++/* _mm_sqrt_ps and _mm_rsqrt_ps */ ++#ifndef SSE2NEON_PRECISE_SQRT ++#define SSE2NEON_PRECISE_SQRT (0) ++#endif ++/* _mm_dp_pd */ ++#ifndef SSE2NEON_PRECISE_DP ++#define SSE2NEON_PRECISE_DP (0) ++#endif ++ ++/* Enable inclusion of windows.h on MSVC platforms ++ * This makes _mm_clflush functional on windows, as there is no builtin. ++ */ ++#ifndef SSE2NEON_INCLUDE_WINDOWS_H ++#define SSE2NEON_INCLUDE_WINDOWS_H (0) ++#endif ++ ++/* compiler specific definitions */ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma push_macro("FORCE_INLINE") ++#pragma push_macro("ALIGN_STRUCT") ++#define FORCE_INLINE static inline __attribute__((always_inline)) ++#define ALIGN_STRUCT(x) __attribute__((aligned(x))) ++#define _sse2neon_likely(x) __builtin_expect(!!(x), 1) ++#define _sse2neon_unlikely(x) __builtin_expect(!!(x), 0) ++#elif defined(_MSC_VER) ++#if _MSVC_TRADITIONAL ++#error Using the traditional MSVC preprocessor is not supported! Use /Zc:preprocessor instead. ++#endif ++#ifndef FORCE_INLINE ++#define FORCE_INLINE static inline ++#endif ++#ifndef ALIGN_STRUCT ++#define ALIGN_STRUCT(x) __declspec(align(x)) ++#endif ++#define _sse2neon_likely(x) (x) ++#define _sse2neon_unlikely(x) (x) ++#else ++#pragma message("Macro name collisions may happen with unsupported compilers.") ++#endif ++ ++#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ < 10 ++#warning "GCC versions earlier than 10 are not supported." ++#endif ++ ++/* C language does not allow initializing a variable with a function call. */ ++#ifdef __cplusplus ++#define _sse2neon_const static const ++#else ++#define _sse2neon_const const ++#endif ++ ++#include ++#include ++ ++#if defined(_WIN32) ++/* Definitions for _mm_{malloc,free} are provided by ++ * from both MinGW-w64 and MSVC. ++ */ ++#define SSE2NEON_ALLOC_DEFINED ++#endif ++ ++/* If using MSVC */ ++#ifdef _MSC_VER ++#include ++#if SSE2NEON_INCLUDE_WINDOWS_H ++#include ++#include ++#endif ++ ++#if !defined(__cplusplus) ++#error SSE2NEON only supports C++ compilation with this compiler ++#endif ++ ++#ifdef SSE2NEON_ALLOC_DEFINED ++#include ++#endif ++ ++#if (defined(_M_AMD64) || defined(__x86_64__)) || \ ++ (defined(_M_ARM64) || defined(__arm64__)) ++#define SSE2NEON_HAS_BITSCAN64 ++#endif ++#endif ++ ++#if defined(__GNUC__) || defined(__clang__) ++#define _sse2neon_define0(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define1(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define2(type, a, b, body) \ ++ __extension__({ \ ++ type _a = (a), _b = (b); \ ++ body \ ++ }) ++#define _sse2neon_return(ret) (ret) ++#else ++#define _sse2neon_define0(type, a, body) [=](type _a) { body }(a) ++#define _sse2neon_define1(type, a, body) [](type _a) { body }(a) ++#define _sse2neon_define2(type, a, b, body) \ ++ [](type _a, type _b) { body }((a), (b)) ++#define _sse2neon_return(ret) return ret ++#endif ++ ++#define _sse2neon_init(...) \ ++ { \ ++ __VA_ARGS__ \ ++ } ++ ++/* Compiler barrier */ ++#if defined(_MSC_VER) ++#define SSE2NEON_BARRIER() _ReadWriteBarrier() ++#else ++#define SSE2NEON_BARRIER() \ ++ do { \ ++ __asm__ __volatile__("" ::: "memory"); \ ++ (void) 0; \ ++ } while (0) ++#endif ++ ++/* Memory barriers ++ * __atomic_thread_fence does not include a compiler barrier; instead, ++ * the barrier is part of __atomic_load/__atomic_store's "volatile-like" ++ * semantics. ++ */ ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) ++#include ++#endif ++ ++FORCE_INLINE void _sse2neon_smp_mb(void) ++{ ++ SSE2NEON_BARRIER(); ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \ ++ !defined(__STDC_NO_ATOMICS__) ++ atomic_thread_fence(memory_order_seq_cst); ++#elif defined(__GNUC__) || defined(__clang__) ++ __atomic_thread_fence(__ATOMIC_SEQ_CST); ++#else /* MSVC */ ++ __dmb(_ARM64_BARRIER_ISH); ++#endif ++} ++ ++/* Architecture-specific build options */ ++/* FIXME: #pragma GCC push_options is only available on GCC */ ++#if defined(__GNUC__) ++#if defined(__arm__) && __ARM_ARCH == 7 ++/* According to ARM C Language Extensions Architecture specification, ++ * __ARM_NEON is defined to a value indicating the Advanced SIMD (NEON) ++ * architecture supported. ++ */ ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error "You must enable NEON instructions (e.g. -mfpu=neon) to use SSE2NEON." ++#endif ++#if !defined(__clang__) ++#pragma GCC push_options ++#pragma GCC target("fpu=neon") ++#endif ++#elif defined(__aarch64__) || defined(_M_ARM64) ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#pragma GCC target("+simd") ++#endif ++#elif __ARM_ARCH == 8 ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error \ ++ "You must enable NEON instructions (e.g. -mfpu=neon-fp-armv8) to use SSE2NEON." ++#endif ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#endif ++#else ++#error \ ++ "Unsupported target. Must be either ARMv7-A+NEON or ARMv8-A \ ++(you could try setting target explicitly with -march or -mcpu)" ++#endif ++#endif ++ ++#include ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) && (__ARM_ARCH == 8) ++#if defined __has_include && __has_include() ++#include ++#endif ++#endif ++ ++/* Apple Silicon cache lines are double of what is commonly used by Intel, AMD ++ * and other Arm microarchitectures use. ++ * From sysctl -a on Apple M1: ++ * hw.cachelinesize: 128 ++ */ ++#if defined(__APPLE__) && (defined(__aarch64__) || defined(__arm64__)) ++#define SSE2NEON_CACHELINE_SIZE 128 ++#else ++#define SSE2NEON_CACHELINE_SIZE 64 ++#endif ++ ++/* Rounding functions require either Aarch64 instructions or libm fallback */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#include ++#endif ++ ++/* On ARMv7, some registers, such as PMUSERENR and PMCCNTR, are read-only ++ * or even not accessible in user mode. ++ * To write or access to these registers in user mode, ++ * we have to perform syscall instead. ++ */ ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) ++#include ++#endif ++ ++/* "__has_builtin" can be used to query support for built-in functions ++ * provided by gcc/clang and other compilers that support it. ++ */ ++#ifndef __has_builtin /* GCC prior to 10 or non-clang compilers */ ++/* Compatibility with gcc <= 9 */ ++#if defined(__GNUC__) && (__GNUC__ <= 9) ++#define __has_builtin(x) HAS##x ++#define HAS__builtin_popcount 1 ++#define HAS__builtin_popcountll 1 ++ ++// __builtin_shuffle introduced in GCC 4.7.0 ++#if (__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) ++#define HAS__builtin_shuffle 1 ++#else ++#define HAS__builtin_shuffle 0 ++#endif ++ ++#define HAS__builtin_shufflevector 0 ++#define HAS__builtin_nontemporal_store 0 ++#else ++#define __has_builtin(x) 0 ++#endif ++#endif ++ ++/** ++ * MACRO for shuffle parameter for _mm_shuffle_ps(). ++ * Argument fp3 is a digit[0123] that represents the fp from argument "b" ++ * of mm_shuffle_ps that will be placed in fp3 of result. fp2 is the same ++ * for fp2 in result. fp1 is a digit[0123] that represents the fp from ++ * argument "a" of mm_shuffle_ps that will be places in fp1 of result. ++ * fp0 is the same for fp0 of result. ++ */ ++#define _MM_SHUFFLE(fp3, fp2, fp1, fp0) \ ++ (((fp3) << 6) | ((fp2) << 4) | ((fp1) << 2) | ((fp0))) ++ ++#if __has_builtin(__builtin_shufflevector) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __builtin_shufflevector(a, b, __VA_ARGS__) ++#elif __has_builtin(__builtin_shuffle) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __extension__({ \ ++ type tmp = {__VA_ARGS__}; \ ++ __builtin_shuffle(a, b, tmp); \ ++ }) ++#endif ++ ++#ifdef _sse2neon_shuffle ++#define vshuffle_s16(a, b, ...) _sse2neon_shuffle(int16x4_t, a, b, __VA_ARGS__) ++#define vshuffleq_s16(a, b, ...) _sse2neon_shuffle(int16x8_t, a, b, __VA_ARGS__) ++#define vshuffle_s32(a, b, ...) _sse2neon_shuffle(int32x2_t, a, b, __VA_ARGS__) ++#define vshuffleq_s32(a, b, ...) _sse2neon_shuffle(int32x4_t, a, b, __VA_ARGS__) ++#define vshuffle_s64(a, b, ...) _sse2neon_shuffle(int64x1_t, a, b, __VA_ARGS__) ++#define vshuffleq_s64(a, b, ...) _sse2neon_shuffle(int64x2_t, a, b, __VA_ARGS__) ++#endif ++ ++/* Rounding mode macros. */ ++#define _MM_FROUND_TO_NEAREST_INT 0x00 ++#define _MM_FROUND_TO_NEG_INF 0x01 ++#define _MM_FROUND_TO_POS_INF 0x02 ++#define _MM_FROUND_TO_ZERO 0x03 ++#define _MM_FROUND_CUR_DIRECTION 0x04 ++#define _MM_FROUND_NO_EXC 0x08 ++#define _MM_FROUND_RAISE_EXC 0x00 ++#define _MM_FROUND_NINT (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_FLOOR (_MM_FROUND_TO_NEG_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_CEIL (_MM_FROUND_TO_POS_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_TRUNC (_MM_FROUND_TO_ZERO | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_RINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_NEARBYINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_NO_EXC) ++#define _MM_ROUND_NEAREST 0x0000 ++#define _MM_ROUND_DOWN 0x2000 ++#define _MM_ROUND_UP 0x4000 ++#define _MM_ROUND_TOWARD_ZERO 0x6000 ++/* Flush zero mode macros. */ ++#define _MM_FLUSH_ZERO_MASK 0x8000 ++#define _MM_FLUSH_ZERO_ON 0x8000 ++#define _MM_FLUSH_ZERO_OFF 0x0000 ++/* Denormals are zeros mode macros. */ ++#define _MM_DENORMALS_ZERO_MASK 0x0040 ++#define _MM_DENORMALS_ZERO_ON 0x0040 ++#define _MM_DENORMALS_ZERO_OFF 0x0000 ++ ++/* indicate immediate constant argument in a given range */ ++#define __constrange(a, b) const ++ ++/* A few intrinsics accept traditional data types like ints or floats, but ++ * most operate on data types that are specific to SSE. ++ * If a vector type ends in d, it contains doubles, and if it does not have ++ * a suffix, it contains floats. An integer vector type can contain any type ++ * of integer, from chars to shorts to unsigned long longs. ++ */ ++typedef int64x1_t __m64; ++typedef float32x4_t __m128; /* 128-bit vector containing 4 floats */ ++// On ARM 32-bit architecture, the float64x2_t is not supported. ++// The data type __m128d should be represented in a different way for related ++// intrinsic conversion. ++#if defined(__aarch64__) || defined(_M_ARM64) ++typedef float64x2_t __m128d; /* 128-bit vector containing 2 doubles */ ++#else ++typedef float32x4_t __m128d; ++#endif ++typedef int64x2_t __m128i; /* 128-bit vector containing integers */ ++ ++// __int64 is defined in the Intrinsics Guide which maps to different datatype ++// in different data model ++#if !(defined(_WIN32) || defined(_WIN64) || defined(__int64)) ++#if (defined(__x86_64__) || defined(__i386__)) ++#define __int64 long long ++#else ++#define __int64 int64_t ++#endif ++#endif ++ ++/* type-safe casting between types */ ++ ++#define vreinterpretq_m128_f16(x) vreinterpretq_f32_f16(x) ++#define vreinterpretq_m128_f32(x) (x) ++#define vreinterpretq_m128_f64(x) vreinterpretq_f32_f64(x) ++ ++#define vreinterpretq_m128_u8(x) vreinterpretq_f32_u8(x) ++#define vreinterpretq_m128_u16(x) vreinterpretq_f32_u16(x) ++#define vreinterpretq_m128_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128_s8(x) vreinterpretq_f32_s8(x) ++#define vreinterpretq_m128_s16(x) vreinterpretq_f32_s16(x) ++#define vreinterpretq_m128_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_f16_m128(x) vreinterpretq_f16_f32(x) ++#define vreinterpretq_f32_m128(x) (x) ++#define vreinterpretq_f64_m128(x) vreinterpretq_f64_f32(x) ++ ++#define vreinterpretq_u8_m128(x) vreinterpretq_u8_f32(x) ++#define vreinterpretq_u16_m128(x) vreinterpretq_u16_f32(x) ++#define vreinterpretq_u32_m128(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_s8_m128(x) vreinterpretq_s8_f32(x) ++#define vreinterpretq_s16_m128(x) vreinterpretq_s16_f32(x) ++#define vreinterpretq_s32_m128(x) vreinterpretq_s32_f32(x) ++#define vreinterpretq_s64_m128(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_m128i_s8(x) vreinterpretq_s64_s8(x) ++#define vreinterpretq_m128i_s16(x) vreinterpretq_s64_s16(x) ++#define vreinterpretq_m128i_s32(x) vreinterpretq_s64_s32(x) ++#define vreinterpretq_m128i_s64(x) (x) ++ ++#define vreinterpretq_m128i_u8(x) vreinterpretq_s64_u8(x) ++#define vreinterpretq_m128i_u16(x) vreinterpretq_s64_u16(x) ++#define vreinterpretq_m128i_u32(x) vreinterpretq_s64_u32(x) ++#define vreinterpretq_m128i_u64(x) vreinterpretq_s64_u64(x) ++ ++#define vreinterpretq_f32_m128i(x) vreinterpretq_f32_s64(x) ++#define vreinterpretq_f64_m128i(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_s8_m128i(x) vreinterpretq_s8_s64(x) ++#define vreinterpretq_s16_m128i(x) vreinterpretq_s16_s64(x) ++#define vreinterpretq_s32_m128i(x) vreinterpretq_s32_s64(x) ++#define vreinterpretq_s64_m128i(x) (x) ++ ++#define vreinterpretq_u8_m128i(x) vreinterpretq_u8_s64(x) ++#define vreinterpretq_u16_m128i(x) vreinterpretq_u16_s64(x) ++#define vreinterpretq_u32_m128i(x) vreinterpretq_u32_s64(x) ++#define vreinterpretq_u64_m128i(x) vreinterpretq_u64_s64(x) ++ ++#define vreinterpret_m64_s8(x) vreinterpret_s64_s8(x) ++#define vreinterpret_m64_s16(x) vreinterpret_s64_s16(x) ++#define vreinterpret_m64_s32(x) vreinterpret_s64_s32(x) ++#define vreinterpret_m64_s64(x) (x) ++ ++#define vreinterpret_m64_u8(x) vreinterpret_s64_u8(x) ++#define vreinterpret_m64_u16(x) vreinterpret_s64_u16(x) ++#define vreinterpret_m64_u32(x) vreinterpret_s64_u32(x) ++#define vreinterpret_m64_u64(x) vreinterpret_s64_u64(x) ++ ++#define vreinterpret_m64_f16(x) vreinterpret_s64_f16(x) ++#define vreinterpret_m64_f32(x) vreinterpret_s64_f32(x) ++#define vreinterpret_m64_f64(x) vreinterpret_s64_f64(x) ++ ++#define vreinterpret_u8_m64(x) vreinterpret_u8_s64(x) ++#define vreinterpret_u16_m64(x) vreinterpret_u16_s64(x) ++#define vreinterpret_u32_m64(x) vreinterpret_u32_s64(x) ++#define vreinterpret_u64_m64(x) vreinterpret_u64_s64(x) ++ ++#define vreinterpret_s8_m64(x) vreinterpret_s8_s64(x) ++#define vreinterpret_s16_m64(x) vreinterpret_s16_s64(x) ++#define vreinterpret_s32_m64(x) vreinterpret_s32_s64(x) ++#define vreinterpret_s64_m64(x) (x) ++ ++#define vreinterpret_f32_m64(x) vreinterpret_f32_s64(x) ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f64_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f64_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) vreinterpretq_f64_f32(x) ++#define vreinterpretq_m128d_f64(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f64(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f64(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f64(x) ++ ++#define vreinterpretq_f64_m128d(x) (x) ++#define vreinterpretq_f32_m128d(x) vreinterpretq_f32_f64(x) ++#else ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_m128d_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_f32_m128d(x) (x) ++#endif ++ ++// A struct is defined in this header file called 'SIMDVec' which can be used ++// by applications which attempt to access the contents of an __m128 struct ++// directly. It is important to note that accessing the __m128 struct directly ++// is bad coding practice by Microsoft: @see: ++// https://learn.microsoft.com/en-us/cpp/cpp/m128 ++// ++// However, some legacy source code may try to access the contents of an __m128 ++// struct directly so the developer can use the SIMDVec as an alias for it. Any ++// casting must be done manually by the developer, as you cannot cast or ++// otherwise alias the base NEON data type for intrinsic operations. ++// ++// union intended to allow direct access to an __m128 variable using the names ++// that the MSVC compiler provides. This union should really only be used when ++// trying to access the members of the vector as integer values. GCC/clang ++// allow native access to the float members through a simple array access ++// operator (in C since 4.6, in C++ since 4.8). ++// ++// Ideally direct accesses to SIMD vectors should not be used since it can cause ++// a performance hit. If it really is needed however, the original __m128 ++// variable can be aliased with a pointer to this union and used to access ++// individual components. The use of this union should be hidden behind a macro ++// that is used throughout the codebase to access the members instead of always ++// declaring this type of variable. ++typedef union ALIGN_STRUCT(16) SIMDVec { ++ float m128_f32[4]; // as floats - DON'T USE. Added for convenience. ++ int8_t m128_i8[16]; // as signed 8-bit integers. ++ int16_t m128_i16[8]; // as signed 16-bit integers. ++ int32_t m128_i32[4]; // as signed 32-bit integers. ++ int64_t m128_i64[2]; // as signed 64-bit integers. ++ uint8_t m128_u8[16]; // as unsigned 8-bit integers. ++ uint16_t m128_u16[8]; // as unsigned 16-bit integers. ++ uint32_t m128_u32[4]; // as unsigned 32-bit integers. ++ uint64_t m128_u64[2]; // as unsigned 64-bit integers. ++} SIMDVec; ++ ++// casting using SIMDVec ++#define vreinterpretq_nth_u64_m128i(x, n) (((SIMDVec *) &x)->m128_u64[n]) ++#define vreinterpretq_nth_u32_m128i(x, n) (((SIMDVec *) &x)->m128_u32[n]) ++#define vreinterpretq_nth_u8_m128i(x, n) (((SIMDVec *) &x)->m128_u8[n]) ++ ++/* SSE macros */ ++#define _MM_GET_FLUSH_ZERO_MODE _sse2neon_mm_get_flush_zero_mode ++#define _MM_SET_FLUSH_ZERO_MODE _sse2neon_mm_set_flush_zero_mode ++#define _MM_GET_DENORMALS_ZERO_MODE _sse2neon_mm_get_denormals_zero_mode ++#define _MM_SET_DENORMALS_ZERO_MODE _sse2neon_mm_set_denormals_zero_mode ++ ++// Function declaration ++// SSE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void); ++FORCE_INLINE __m128 _mm_move_ss(__m128, __m128); ++FORCE_INLINE __m128 _mm_or_ps(__m128, __m128); ++FORCE_INLINE __m128 _mm_set_ps1(float); ++FORCE_INLINE __m128 _mm_setzero_ps(void); ++// SSE2 ++FORCE_INLINE __m128i _mm_and_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_castps_si128(__m128); ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128); ++FORCE_INLINE __m128d _mm_move_sd(__m128d, __m128d); ++FORCE_INLINE __m128i _mm_or_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_set_epi32(int, int, int, int); ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t, int64_t); ++FORCE_INLINE __m128d _mm_set_pd(double, double); ++FORCE_INLINE __m128i _mm_set1_epi32(int); ++FORCE_INLINE __m128i _mm_setzero_si128(void); ++// SSE4.1 ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d); ++FORCE_INLINE __m128 _mm_ceil_ps(__m128); ++FORCE_INLINE __m128d _mm_floor_pd(__m128d); ++FORCE_INLINE __m128 _mm_floor_ps(__m128); ++FORCE_INLINE __m128d _mm_round_pd(__m128d, int); ++FORCE_INLINE __m128 _mm_round_ps(__m128, int); ++// SSE4.2 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t, uint8_t); ++ ++/* Backwards compatibility for compilers with lack of specific type support */ ++ ++// Older gcc does not define vld1q_u8_x4 type ++#if defined(__GNUC__) && !defined(__clang__) && \ ++ ((__GNUC__ <= 13 && defined(__arm__)) || \ ++ (__GNUC__ == 10 && __GNUC_MINOR__ < 3 && defined(__aarch64__)) || \ ++ (__GNUC__ <= 9 && defined(__aarch64__))) ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ uint8x16x4_t ret; ++ ret.val[0] = vld1q_u8(p + 0); ++ ret.val[1] = vld1q_u8(p + 16); ++ ret.val[2] = vld1q_u8(p + 32); ++ ret.val[3] = vld1q_u8(p + 48); ++ return ret; ++} ++#else ++// Wraps vld1q_u8_x4 ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ return vld1q_u8_x4(p); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddv u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ const uint64x1_t v1 = vpaddl_u32(vpaddl_u16(vpaddl_u8(v8))); ++ return vget_lane_u8(vreinterpret_u8_u64(v1), 0); ++} ++#else ++// Wraps vaddv_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ return vaddv_u8(v8); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ uint8x8_t tmp = vpadd_u8(vget_low_u8(a), vget_high_u8(a)); ++ uint8_t res = 0; ++ for (int i = 0; i < 8; ++i) ++ res += tmp[i]; ++ return res; ++} ++#else ++// Wraps vaddvq_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ return vaddvq_u8(a); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u16 variant */ ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ uint32x4_t m = vpaddlq_u16(a); ++ uint64x2_t n = vpaddlq_u32(m); ++ uint64x1_t o = vget_low_u64(n) + vget_high_u64(n); ++ ++ return vget_lane_u32((uint32x2_t) o, 0); ++} ++#else ++// Wraps vaddvq_u16 ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ return vaddvq_u16(a); ++} ++#endif ++ ++/* Function Naming Conventions ++ * The naming convention of SSE intrinsics is straightforward. A generic SSE ++ * intrinsic function is given as follows: ++ * _mm__ ++ * ++ * The parts of this format are given as follows: ++ * 1. describes the operation performed by the intrinsic ++ * 2. identifies the data type of the function's primary arguments ++ * ++ * This last part, , is a little complicated. It identifies the ++ * content of the input values, and can be set to any of the following values: ++ * + ps - vectors contain floats (ps stands for packed single-precision) ++ * + pd - vectors contain doubles (pd stands for packed double-precision) ++ * + epi8/epi16/epi32/epi64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * signed integers ++ * + epu8/epu16/epu32/epu64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * unsigned integers ++ * + si128 - unspecified 128-bit vector or 256-bit vector ++ * + m128/m128i/m128d - identifies input vector types when they are different ++ * than the type of the returned vector ++ * ++ * For example, _mm_setzero_ps. The _mm implies that the function returns ++ * a 128-bit vector. The _ps at the end implies that the argument vectors ++ * contain floats. ++ * ++ * A complete example: Byte Shuffle - pshufb (_mm_shuffle_epi8) ++ * // Set packed 16-bit integers. 128 bits, 8 short, per 16 bits ++ * __m128i v_in = _mm_setr_epi16(1, 2, 3, 4, 5, 6, 7, 8); ++ * // Set packed 8-bit integers ++ * // 128 bits, 16 chars, per 8 bits ++ * __m128i v_perm = _mm_setr_epi8(1, 0, 2, 3, 8, 9, 10, 11, ++ * 4, 5, 12, 13, 6, 7, 14, 15); ++ * // Shuffle packed 8-bit integers ++ * __m128i v_out = _mm_shuffle_epi8(v_in, v_perm); // pshufb ++ */ ++ ++/* Constants for use with _mm_prefetch. */ ++enum _mm_hint { ++ _MM_HINT_NTA = 0, /* load data to L1 and L2 cache, mark it as NTA */ ++ _MM_HINT_T0 = 1, /* load data to L1 and L2 cache */ ++ _MM_HINT_T1 = 2, /* load data to L2 cache only */ ++ _MM_HINT_T2 = 3, /* load data to L2 cache only, mark it as NTA */ ++}; ++ ++// The bit field mapping to the FPCR(floating-point control register) ++typedef struct { ++ uint16_t res0; ++ uint8_t res1 : 6; ++ uint8_t bit22 : 1; ++ uint8_t bit23 : 1; ++ uint8_t bit24 : 1; ++ uint8_t res2 : 7; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32_t res3; ++#endif ++} fpcr_bitfield; ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of b and places it into the high end of the result. ++FORCE_INLINE __m128 _mm_shuffle_ps_1032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in high ++// end of result takes the higher two 32 bit values from b and swaps them and ++// places in low end of result. ++FORCE_INLINE __m128 _mm_shuffle_ps_2301(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b23 = vrev64_f32(vget_high_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b23)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0321(__m128 a, __m128 b) ++{ ++ float32x2_t a21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a21, b03)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2103(__m128 a, __m128 b) ++{ ++ float32x2_t a03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a03, b21)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0101(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b01)); ++} ++ ++// keeps the low 64 bits of b in the low and puts the high 64 bits of a in the ++// high ++FORCE_INLINE __m128 _mm_shuffle_ps_3210(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0011(__m128 a, __m128 b) ++{ ++ float32x2_t a11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a11, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0022(__m128 a, __m128 b) ++{ ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a22, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2200(__m128 a, __m128 b) ++{ ++ float32x2_t a00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a00, b22)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_3202(__m128 a, __m128 b) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t a02 = vset_lane_f32(a0, a22, 1); /* TODO: use vzip ?*/ ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a02, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1133(__m128 a, __m128 b) ++{ ++ float32x2_t a33 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a33, b11)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b20)); ++} ++ ++// For MSVC, we check only if it is ARM64, as every single ARM64 processor ++// supported by WoA has crypto extensions. If this changes in the future, ++// this can be verified via the runtime-only method of: ++// IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE) ++#if (defined(_M_ARM64) && !defined(__clang__)) || \ ++ (defined(__ARM_FEATURE_CRYPTO) && \ ++ (defined(__aarch64__) || __has_builtin(__builtin_arm_crypto_vmullp64))) ++// Wraps vmull_p64 ++FORCE_INLINE uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly64_t a = vget_lane_p64(vreinterpret_p64_u64(_a), 0); ++ poly64_t b = vget_lane_p64(vreinterpret_p64_u64(_b), 0); ++#if defined(_MSC_VER) ++ __n64 a1 = {a}, b1 = {b}; ++ return vreinterpretq_u64_p128(vmull_p64(a1, b1)); ++#else ++ return vreinterpretq_u64_p128(vmull_p64(a, b)); ++#endif ++} ++#else // ARMv7 polyfill ++// ARMv7/some A64 lacks vmull_p64, but it has vmull_p8. ++// ++// vmull_p8 calculates 8 8-bit->16-bit polynomial multiplies, but we need a ++// 64-bit->128-bit polynomial multiply. ++// ++// It needs some work and is somewhat slow, but it is still faster than all ++// known scalar methods. ++// ++// Algorithm adapted to C from ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/, which is adapted ++// from "Fast Software Polynomial Multiplication on ARM Processors Using the ++// NEON Engine" by Danilo Camara, Conrado Gouvea, Julio Lopez and Ricardo Dahab ++// (https://hal.inria.fr/hal-01506572) ++static uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly8x8_t a = vreinterpret_p8_u64(_a); ++ poly8x8_t b = vreinterpret_p8_u64(_b); ++ ++ // Masks ++ uint8x16_t k48_32 = vcombine_u8(vcreate_u8(0x0000ffffffffffff), ++ vcreate_u8(0x00000000ffffffff)); ++ uint8x16_t k16_00 = vcombine_u8(vcreate_u8(0x000000000000ffff), ++ vcreate_u8(0x0000000000000000)); ++ ++ // Do the multiplies, rotating with vext to get all combinations ++ uint8x16_t d = vreinterpretq_u8_p16(vmull_p8(a, b)); // D = A0 * B0 ++ uint8x16_t e = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 1))); // E = A0 * B1 ++ uint8x16_t f = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 1), b)); // F = A1 * B0 ++ uint8x16_t g = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 2))); // G = A0 * B2 ++ uint8x16_t h = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 2), b)); // H = A2 * B0 ++ uint8x16_t i = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 3))); // I = A0 * B3 ++ uint8x16_t j = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 3), b)); // J = A3 * B0 ++ uint8x16_t k = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 4))); // L = A0 * B4 ++ ++ // Add cross products ++ uint8x16_t l = veorq_u8(e, f); // L = E + F ++ uint8x16_t m = veorq_u8(g, h); // M = G + H ++ uint8x16_t n = veorq_u8(i, j); // N = I + J ++ ++ // Interleave. Using vzip1 and vzip2 prevents Clang from emitting TBL ++ // instructions. ++#if defined(__aarch64__) ++ uint8x16_t lm_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t lm_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t nk_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++ uint8x16_t nk_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++#else ++ uint8x16_t lm_p0 = vcombine_u8(vget_low_u8(l), vget_low_u8(m)); ++ uint8x16_t lm_p1 = vcombine_u8(vget_high_u8(l), vget_high_u8(m)); ++ uint8x16_t nk_p0 = vcombine_u8(vget_low_u8(n), vget_low_u8(k)); ++ uint8x16_t nk_p1 = vcombine_u8(vget_high_u8(n), vget_high_u8(k)); ++#endif ++ // t0 = (L) (P0 + P1) << 8 ++ // t1 = (M) (P2 + P3) << 16 ++ uint8x16_t t0t1_tmp = veorq_u8(lm_p0, lm_p1); ++ uint8x16_t t0t1_h = vandq_u8(lm_p1, k48_32); ++ uint8x16_t t0t1_l = veorq_u8(t0t1_tmp, t0t1_h); ++ ++ // t2 = (N) (P4 + P5) << 24 ++ // t3 = (K) (P6 + P7) << 32 ++ uint8x16_t t2t3_tmp = veorq_u8(nk_p0, nk_p1); ++ uint8x16_t t2t3_h = vandq_u8(nk_p1, k16_00); ++ uint8x16_t t2t3_l = veorq_u8(t2t3_tmp, t2t3_h); ++ ++ // De-interleave ++#if defined(__aarch64__) ++ uint8x16_t t0 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t1 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t2 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++ uint8x16_t t3 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++#else ++ uint8x16_t t1 = vcombine_u8(vget_high_u8(t0t1_l), vget_high_u8(t0t1_h)); ++ uint8x16_t t0 = vcombine_u8(vget_low_u8(t0t1_l), vget_low_u8(t0t1_h)); ++ uint8x16_t t3 = vcombine_u8(vget_high_u8(t2t3_l), vget_high_u8(t2t3_h)); ++ uint8x16_t t2 = vcombine_u8(vget_low_u8(t2t3_l), vget_low_u8(t2t3_h)); ++#endif ++ // Shift the cross products ++ uint8x16_t t0_shift = vextq_u8(t0, t0, 15); // t0 << 8 ++ uint8x16_t t1_shift = vextq_u8(t1, t1, 14); // t1 << 16 ++ uint8x16_t t2_shift = vextq_u8(t2, t2, 13); // t2 << 24 ++ uint8x16_t t3_shift = vextq_u8(t3, t3, 12); // t3 << 32 ++ ++ // Accumulate the products ++ uint8x16_t cross1 = veorq_u8(t0_shift, t1_shift); ++ uint8x16_t cross2 = veorq_u8(t2_shift, t3_shift); ++ uint8x16_t mix = veorq_u8(d, cross1); ++ uint8x16_t r = veorq_u8(mix, cross2); ++ return vreinterpretq_u64_u8(r); ++} ++#endif // ARMv7 polyfill ++ ++// C equivalent: ++// __m128i _mm_shuffle_epi32_default(__m128i a, ++// __constrange(0, 255) int imm) { ++// __m128i ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = a[(imm >> 4) & 0x03]; ret[3] = a[(imm >> 6) & 0x03]; ++// return ret; ++// } ++#define _mm_shuffle_epi32_default(a, imm) \ ++ vreinterpretq_m128i_s32(vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), \ ++ ((imm) >> 2) & 0x3), \ ++ vmovq_n_s32(vgetq_lane_s32( \ ++ vreinterpretq_s32_m128i(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of a and places it into the high end of the result. ++FORCE_INLINE __m128i _mm_shuffle_epi_1032(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in low end ++// of result takes the higher two 32 bit values from a and swaps them and places ++// in high end of result. ++FORCE_INLINE __m128i _mm_shuffle_epi_2301(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a23 = vrev64_s32(vget_high_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a23)); ++} ++ ++// rotates the least significant 32 bits into the most significant 32 bits, and ++// shifts the rest down ++FORCE_INLINE __m128i _mm_shuffle_epi_0321(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 1)); ++} ++ ++// rotates the most significant 32 bits into the least significant 32 bits, and ++// shifts the rest up ++FORCE_INLINE __m128i _mm_shuffle_epi_2103(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 3)); ++} ++ ++// gets the lower 64 bits of a, and places it in the upper 64 bits ++// gets the lower 64 bits of a and places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1010(__m128i a) ++{ ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a10, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements, and places it in the ++// lower 64 bits gets the lower 64 bits of a, and places it in the upper 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1001(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements and places it in the ++// upper 64 bits gets the lower 64 bits of a, swaps the 0 and 1 elements, and ++// places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_0101(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_2211(__m128i a) ++{ ++ int32x2_t a11 = vdup_lane_s32(vget_low_s32(vreinterpretq_s32_m128i(a)), 1); ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ return vreinterpretq_m128i_s32(vcombine_s32(a11, a22)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_0122(__m128i a) ++{ ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a22, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_3332(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a33 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 1); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a33)); ++} ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32(vdupq_laneq_s32(vreinterpretq_s32_m128i(a), (imm))) ++#else ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vdupq_n_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)))) ++#endif ++ ++// NEON does not support a general purpose permute intrinsic. ++// Shuffle single-precision (32-bit) floating-point elements in a using the ++// control in imm8, and store the results in dst. ++// ++// C equivalent: ++// __m128 _mm_shuffle_ps_default(__m128 a, __m128 b, ++// __constrange(0, 255) int imm) { ++// __m128 ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = b[(imm >> 4) & 0x03]; ret[3] = b[(imm >> 6) & 0x03]; ++// return ret; ++// } ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_ps ++#define _mm_shuffle_ps_default(a, b, imm) \ ++ vreinterpretq_m128_f32(vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), ((imm) >> 2) & 0x3), \ ++ vmovq_n_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Shuffle 16-bit integers in the low 64 bits of a using the control in imm8. ++// Store the results in the low 64 bits of dst, with the high 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflelo_epi16 ++#define _mm_shufflelo_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t lowBits = vget_low_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, (imm) & (0x3)), ret, 0); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++// Shuffle 16-bit integers in the high 64 bits of a using the control in imm8. ++// Store the results in the high 64 bits of dst, with the low 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflehi_epi16 ++#define _mm_shufflehi_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t highBits = vget_high_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, (imm) & (0x3)), ret, 4); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 2) & 0x3), ret, \ ++ 5); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 4) & 0x3), ret, \ ++ 6); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 6) & 0x3), ret, \ ++ 7); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++/* MMX */ ++ ++//_mm_empty is a no-op on arm ++FORCE_INLINE void _mm_empty(void) {} ++ ++/* SSE */ ++ ++// Add packed single-precision (32-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ps ++FORCE_INLINE __m128 _mm_add_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Add the lower single-precision (32-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ss ++FORCE_INLINE __m128 _mm_add_ss(__m128 a, __m128 b) ++{ ++ float32_t b0 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++ float32x4_t value = vsetq_lane_f32(b0, vdupq_n_f32(0), 0); ++ // the upper values in the result must be the remnants of . ++ return vreinterpretq_m128_f32(vaddq_f32(a, value)); ++} ++ ++// Compute the bitwise AND of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_ps ++FORCE_INLINE __m128 _mm_and_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vandq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Compute the bitwise NOT of packed single-precision (32-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_ps ++FORCE_INLINE __m128 _mm_andnot_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vbicq_s32(vreinterpretq_s32_m128(b), ++ vreinterpretq_s32_m128(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu16 ++FORCE_INLINE __m64 _mm_avg_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16( ++ vrhadd_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu8 ++FORCE_INLINE __m64 _mm_avg_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vrhadd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ps ++FORCE_INLINE __m128 _mm_cmpeq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ss ++FORCE_INLINE __m128 _mm_cmpeq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpeq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ps ++FORCE_INLINE __m128 _mm_cmpge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ss ++FORCE_INLINE __m128 _mm_cmpge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ps ++FORCE_INLINE __m128 _mm_cmpgt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ss ++FORCE_INLINE __m128 _mm_cmpgt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpgt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ps ++FORCE_INLINE __m128 _mm_cmple_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ss ++FORCE_INLINE __m128 _mm_cmple_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmple_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ps ++FORCE_INLINE __m128 _mm_cmplt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ss ++FORCE_INLINE __m128 _mm_cmplt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmplt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ps ++FORCE_INLINE __m128 _mm_cmpneq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ss ++FORCE_INLINE __m128 _mm_cmpneq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpneq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ps ++FORCE_INLINE __m128 _mm_cmpnge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ss ++FORCE_INLINE __m128 _mm_cmpnge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ps ++FORCE_INLINE __m128 _mm_cmpngt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ss ++FORCE_INLINE __m128 _mm_cmpngt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpngt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ps ++FORCE_INLINE __m128 _mm_cmpnle_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ss ++FORCE_INLINE __m128 _mm_cmpnle_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnle_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ps ++FORCE_INLINE __m128 _mm_cmpnlt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ss ++FORCE_INLINE __m128 _mm_cmpnlt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnlt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ps ++// ++// See also: ++// http://stackoverflow.com/questions/8627331/what-does-ordered-unordered-comparison-mean ++// http://stackoverflow.com/questions/29349621/neon-isnanval-intrinsics ++FORCE_INLINE __m128 _mm_cmpord_ps(__m128 a, __m128 b) ++{ ++ // Note: NEON does not have ordered compare builtin ++ // Need to compare a eq a and b eq b to check for NaN ++ // Do AND of results to get final ++ uint32x4_t ceqaa = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t ceqbb = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vandq_u32(ceqaa, ceqbb)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ss ++FORCE_INLINE __m128 _mm_cmpord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpord_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ps ++FORCE_INLINE __m128 _mm_cmpunord_ps(__m128 a, __m128 b) ++{ ++ uint32x4_t f32a = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t f32b = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vmvnq_u32(vandq_u32(f32a, f32b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ss ++FORCE_INLINE __m128 _mm_cmpunord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpunord_ps(a, b)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_ss ++FORCE_INLINE int _mm_comieq_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_eq_b = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_eq_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_ss ++FORCE_INLINE int _mm_comige_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_ge_b = ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_ge_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_ss ++FORCE_INLINE int _mm_comigt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_gt_b = ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_gt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_ss ++FORCE_INLINE int _mm_comile_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_le_b = ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_le_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_ss ++FORCE_INLINE int _mm_comilt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_lt_b = ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_lt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_ss ++FORCE_INLINE int _mm_comineq_ss(__m128 a, __m128 b) ++{ ++ return !_mm_comieq_ss(a, b); ++} ++ ++// Convert packed signed 32-bit integers in b to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, and copy the upper 2 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_pi2ps ++FORCE_INLINE __m128 _mm_cvt_pi2ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ps2pi ++FORCE_INLINE __m64 _mm_cvt_ps2pi(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))))); ++#else ++ return vreinterpret_m64_s32(vcvt_s32_f32(vget_low_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION))))); ++#endif ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_si2ss ++FORCE_INLINE __m128 _mm_cvt_si2ss(__m128 a, int b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ss2si ++FORCE_INLINE int _mm_cvt_ss2si(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vgetq_lane_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))), ++ 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int32_t) data; ++#endif ++} ++ ++// Convert packed 16-bit integers in a to packed single-precision (32-bit) ++// floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi16_ps ++FORCE_INLINE __m128 _mm_cvtpi16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vmovl_s16(vreinterpret_s16_m64(a)))); ++} ++ ++// Convert packed 32-bit integers in b to packed single-precision (32-bit) ++// floating-point elements, store the results in the lower 2 elements of dst, ++// and copy the upper 2 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_ps ++FORCE_INLINE __m128 _mm_cvtpi32_ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, then convert the packed signed 32-bit integers in b to ++// single-precision (32-bit) floating-point element, and store the results in ++// the upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32x2_ps ++FORCE_INLINE __m128 _mm_cvtpi32x2_ps(__m64 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vcombine_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b)))); ++} ++ ++// Convert the lower packed 8-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi8_ps ++FORCE_INLINE __m128 _mm_cvtpi8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vmovl_s16(vget_low_s16(vmovl_s8(vreinterpret_s8_m64(a)))))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 16-bit integers, and store the results in dst. Note: this intrinsic ++// will generate 0x7FFF, rather than 0x8000, for input values between 0x7FFF and ++// 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi16 ++FORCE_INLINE __m64 _mm_cvtps_pi16(__m128 a) ++{ ++ return vreinterpret_m64_s16( ++ vqmovn_s32(vreinterpretq_s32_m128i(_mm_cvtps_epi32(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi32 ++#define _mm_cvtps_pi32(a) _mm_cvt_ps2pi(a) ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 8-bit integers, and store the results in lower 4 elements of dst. ++// Note: this intrinsic will generate 0x7F, rather than 0x80, for input values ++// between 0x7F and 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi8 ++FORCE_INLINE __m64 _mm_cvtps_pi8(__m128 a) ++{ ++ return vreinterpret_m64_s8(vqmovn_s16( ++ vcombine_s16(vreinterpret_s16_m64(_mm_cvtps_pi16(a)), vdup_n_s16(0)))); ++} ++ ++// Convert packed unsigned 16-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu16_ps ++FORCE_INLINE __m128 _mm_cvtpu16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_u32(vmovl_u16(vreinterpret_u16_m64(a)))); ++} ++ ++// Convert the lower packed unsigned 8-bit integers in a to packed ++// single-precision (32-bit) floating-point elements, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu8_ps ++FORCE_INLINE __m128 _mm_cvtpu8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_u32( ++ vmovl_u16(vget_low_u16(vmovl_u8(vreinterpret_u8_m64(a)))))); ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_ss ++#define _mm_cvtsi32_ss(a, b) _mm_cvt_si2ss(a, b) ++ ++// Convert the signed 64-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_ss ++FORCE_INLINE __m128 _mm_cvtsi64_ss(__m128 a, int64_t b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Copy the lower single-precision (32-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_f32 ++FORCE_INLINE float _mm_cvtss_f32(__m128 a) ++{ ++ return vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si32 ++#define _mm_cvtss_si32(a) _mm_cvt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si64 ++FORCE_INLINE int64_t _mm_cvtss_si64(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return (int64_t) vgetq_lane_f32(vrndiq_f32(vreinterpretq_f32_m128(a)), 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int64_t) data; ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ps2pi ++FORCE_INLINE __m64 _mm_cvtt_ps2pi(__m128 a) ++{ ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ss2si ++FORCE_INLINE int _mm_cvtt_ss2si(__m128 a) ++{ ++ return vgetq_lane_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)), 0); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_pi32 ++#define _mm_cvttps_pi32(a) _mm_cvtt_ps2pi(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si32 ++#define _mm_cvttss_si32(a) _mm_cvtt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si64 ++FORCE_INLINE int64_t _mm_cvttss_si64(__m128 a) ++{ ++ return (int64_t) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Divide packed single-precision (32-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise division intrinsic, we implement ++// division by multiplying a by b's reciprocal before using the Newton-Raphson ++// method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ps ++FORCE_INLINE __m128 _mm_div_ps(__m128 a, __m128 b) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) && !SSE2NEON_PRECISE_DIV ++ return vreinterpretq_m128_f32( ++ vdivq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(b)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(a), recip)); ++#endif ++} ++ ++// Divide the lower single-precision (32-bit) floating-point element in a by the ++// lower single-precision (32-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper 3 packed elements from a to ++// the upper elements of dst. ++// Warning: ARMv7-A does not produce the same result compared to Intel and not ++// IEEE-compliant. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ss ++FORCE_INLINE __m128 _mm_div_ss(__m128 a, __m128 b) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_div_ps(a, b)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_pi16 ++#define _mm_extract_pi16(a, imm) \ ++ (int32_t) vget_lane_u16(vreinterpret_u16_m64(a), (imm)) ++ ++// Free aligned memory that was allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_free ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void _mm_free(void *addr) ++{ ++ free(addr); ++} ++#endif ++ ++FORCE_INLINE uint64_t _sse2neon_get_fpcr(void) ++{ ++ uint64_t value; ++#if defined(_MSC_VER) ++ value = _ReadStatusReg(ARM64_FPCR); ++#else ++ __asm__ __volatile__("mrs %0, FPCR" : "=r"(value)); /* read */ ++#endif ++ return value; ++} ++ ++FORCE_INLINE void _sse2neon_set_fpcr(uint64_t value) ++{ ++#if defined(_MSC_VER) ++ _WriteStatusReg(ARM64_FPCR, value); ++#else ++ __asm__ __volatile__("msr FPCR, %0" ::"r"(value)); /* write */ ++#endif ++} ++ ++// Macro: Get the flush zero bits from the MXCSR control and status register. ++// The flush zero may contain any of the following flags: _MM_FLUSH_ZERO_ON or ++// _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_FLUSH_ZERO_MODE ++FORCE_INLINE unsigned int _sse2neon_mm_get_flush_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_FLUSH_ZERO_ON : _MM_FLUSH_ZERO_OFF; ++} ++ ++// Macro: Get the rounding mode bits from the MXCSR control and status register. ++// The rounding mode may contain any of the following flags: _MM_ROUND_NEAREST, ++// _MM_ROUND_DOWN, _MM_ROUND_UP, _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_ROUNDING_MODE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ if (r.field.bit22) { ++ return r.field.bit23 ? _MM_ROUND_TOWARD_ZERO : _MM_ROUND_UP; ++ } else { ++ return r.field.bit23 ? _MM_ROUND_DOWN : _MM_ROUND_NEAREST; ++ } ++} ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_pi16 ++#define _mm_insert_pi16(a, b, imm) \ ++ vreinterpret_m64_s16(vset_lane_s16((b), vreinterpret_s16_m64(a), (imm))) ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps ++FORCE_INLINE __m128 _mm_load_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// ++// dst[31:0] := MEM[mem_addr+31:mem_addr] ++// dst[63:32] := MEM[mem_addr+31:mem_addr] ++// dst[95:64] := MEM[mem_addr+31:mem_addr] ++// dst[127:96] := MEM[mem_addr+31:mem_addr] ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps1 ++#define _mm_load_ps1 _mm_load1_ps ++ ++// Load a single-precision (32-bit) floating-point element from memory into the ++// lower of dst, and zero the upper 3 elements. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ss ++FORCE_INLINE __m128 _mm_load_ss(const float *p) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(*p, vdupq_n_f32(0), 0)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_ps ++FORCE_INLINE __m128 _mm_load1_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_dup_f32(p)); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// upper 2 elements of dst, and copy the lower 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pi ++FORCE_INLINE __m128 _mm_loadh_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vget_low_f32(a), vld1_f32((const float32_t *) p))); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// lower 2 elements of dst, and copy the upper 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pi ++FORCE_INLINE __m128 _mm_loadl_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vld1_f32((const float32_t *) p), vget_high_f32(a))); ++} ++ ++// Load 4 single-precision (32-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_ps ++FORCE_INLINE __m128 _mm_loadr_ps(const float *p) ++{ ++ float32x4_t v = vrev64q_f32(vld1q_f32(p)); ++ return vreinterpretq_m128_f32(vextq_f32(v, v, 2)); ++} ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_ps ++FORCE_INLINE __m128 _mm_loadu_ps(const float *p) ++{ ++ // for neon, alignment doesn't matter, so _mm_load_ps and _mm_loadu_ps are ++ // equivalent for neon ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load unaligned 16-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si16 ++FORCE_INLINE __m128i _mm_loadu_si16(const void *p) ++{ ++ return vreinterpretq_m128i_s16( ++ vsetq_lane_s16(*(const int16_t *) p, vdupq_n_s16(0), 0)); ++} ++ ++// Load unaligned 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si64 ++FORCE_INLINE __m128i _mm_loadu_si64(const void *p) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vld1_s64((const int64_t *) p), vdup_n_s64(0))); ++} ++ ++// Allocate size bytes of memory, aligned to the alignment specified in align, ++// and return a pointer to the allocated memory. _mm_free should be used to free ++// memory that is allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_malloc ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void *_mm_malloc(size_t size, size_t align) ++{ ++ void *ptr; ++ if (align == 1) ++ return malloc(size); ++ if (align == 2 || (sizeof(void *) == 8 && align == 4)) ++ align = sizeof(void *); ++ if (!posix_memalign(&ptr, align, size)) ++ return ptr; ++ return NULL; ++} ++#endif ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmove_si64 ++FORCE_INLINE void _mm_maskmove_si64(__m64 a, __m64 mask, char *mem_addr) ++{ ++ int8x8_t shr_mask = vshr_n_s8(vreinterpret_s8_m64(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x8_t masked = ++ vbsl_s8(vreinterpret_u8_s8(shr_mask), vreinterpret_s8_m64(a), ++ vreinterpret_s8_u64(vget_low_u64(vreinterpretq_u64_m128(b)))); ++ vst1_s8((int8_t *) mem_addr, masked); ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_maskmovq ++#define _m_maskmovq(a, mask, mem_addr) _mm_maskmove_si64(a, mask, mem_addr) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pi16 ++FORCE_INLINE __m64 _mm_max_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmax_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) maximum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ps ++FORCE_INLINE __m128 _mm_max_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcgtq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vmaxq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pu8 ++FORCE_INLINE __m64 _mm_max_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmax_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) maximum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ss ++FORCE_INLINE __m128 _mm_max_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_max_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pi16 ++FORCE_INLINE __m64 _mm_min_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmin_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) minimum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ps ++FORCE_INLINE __m128 _mm_min_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcltq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vminq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pu8 ++FORCE_INLINE __m64 _mm_min_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmin_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) minimum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ss ++FORCE_INLINE __m128 _mm_min_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_min_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the lower single-precision (32-bit) floating-point element from b to the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_ss ++FORCE_INLINE __m128 _mm_move_ss(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(vgetq_lane_f32(vreinterpretq_f32_m128(b), 0), ++ vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the upper 2 single-precision (32-bit) floating-point elements from b to ++// the lower 2 elements of dst, and copy the upper 2 elements from a to the ++// upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehl_ps ++FORCE_INLINE __m128 _mm_movehl_ps(__m128 a, __m128 b) ++{ ++#if defined(aarch64__) ++ return vreinterpretq_m128_u64( ++ vzip2q_u64(vreinterpretq_u64_m128(b), vreinterpretq_u64_m128(a))); ++#else ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(b32, a32)); ++#endif ++} ++ ++// Move the lower 2 single-precision (32-bit) floating-point elements from b to ++// the upper 2 elements of dst, and copy the lower 2 elements from a to the ++// lower 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movelh_ps ++FORCE_INLINE __m128 _mm_movelh_ps(__m128 __A, __m128 __B) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(__A)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(__B)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pi8 ++FORCE_INLINE int _mm_movemask_pi8(__m64 a) ++{ ++ uint8x8_t input = vreinterpret_u8_m64(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int8_t shift[8] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint8x8_t tmp = vshr_n_u8(input, 7); ++ return vaddv_u8(vshl_u8(tmp, vld1_s8(shift))); ++#else ++ // Refer the implementation of `_mm_movemask_epi8` ++ uint16x4_t high_bits = vreinterpret_u16_u8(vshr_n_u8(input, 7)); ++ uint32x2_t paired16 = ++ vreinterpret_u32_u16(vsra_n_u16(high_bits, high_bits, 7)); ++ uint8x8_t paired32 = ++ vreinterpret_u8_u32(vsra_n_u32(paired16, paired16, 14)); ++ return vget_lane_u8(paired32, 0) | ((int) vget_lane_u8(paired32, 4) << 4); ++#endif ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed single-precision (32-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_ps ++FORCE_INLINE int _mm_movemask_ps(__m128 a) ++{ ++ uint32x4_t input = vreinterpretq_u32_m128(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int32_t shift[4] = {0, 1, 2, 3}; ++ uint32x4_t tmp = vshrq_n_u32(input, 31); ++ return vaddvq_u32(vshlq_u32(tmp, vld1q_s32(shift))); ++#else ++ // Uses the exact same method as _mm_movemask_epi8, see that for details. ++ // Shift out everything but the sign bits with a 32-bit unsigned shift ++ // right. ++ uint64x2_t high_bits = vreinterpretq_u64_u32(vshrq_n_u32(input, 31)); ++ // Merge the two pairs together with a 64-bit unsigned shift right + add. ++ uint8x16_t paired = ++ vreinterpretq_u8_u64(vsraq_n_u64(high_bits, high_bits, 31)); ++ // Extract the result. ++ return vgetq_lane_u8(paired, 0) | (vgetq_lane_u8(paired, 8) << 2); ++#endif ++} ++ ++// Multiply packed single-precision (32-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ps ++FORCE_INLINE __m128 _mm_mul_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vmulq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Multiply the lower single-precision (32-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ss ++FORCE_INLINE __m128 _mm_mul_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_mul_ps(a, b)); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_pu16 ++FORCE_INLINE __m64 _mm_mulhi_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16(vshrn_n_u32( ++ vmull_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b)), 16)); ++} ++ ++// Compute the bitwise OR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_ps ++FORCE_INLINE __m128 _mm_or_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vorrq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgb ++#define _m_pavgb(a, b) _mm_avg_pu8(a, b) ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgw ++#define _m_pavgw(a, b) _mm_avg_pu16(a, b) ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pextrw ++#define _m_pextrw(a, imm) _mm_extract_pi16(a, imm) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_pinsrw ++#define _m_pinsrw(a, i, imm) _mm_insert_pi16(a, i, imm) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxsw ++#define _m_pmaxsw(a, b) _mm_max_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxub ++#define _m_pmaxub(a, b) _mm_max_pu8(a, b) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminsw ++#define _m_pminsw(a, b) _mm_min_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminub ++#define _m_pminub(a, b) _mm_min_pu8(a, b) ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmovmskb ++#define _m_pmovmskb(a) _mm_movemask_pi8(a) ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmulhuw ++#define _m_pmulhuw(a, b) _mm_mulhi_pu16(a, b) ++ ++// Fetch the line of data from memory that contains address p to a location in ++// the cache hierarchy specified by the locality hint i. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_prefetch ++FORCE_INLINE void _mm_prefetch(char const *p, int i) ++{ ++ (void) i; ++#if defined(_MSC_VER) ++ switch (i) { ++ case _MM_HINT_NTA: ++ __prefetch2(p, 1); ++ break; ++ case _MM_HINT_T0: ++ __prefetch2(p, 0); ++ break; ++ case _MM_HINT_T1: ++ __prefetch2(p, 2); ++ break; ++ case _MM_HINT_T2: ++ __prefetch2(p, 4); ++ break; ++ } ++#else ++ switch (i) { ++ case _MM_HINT_NTA: ++ __builtin_prefetch(p, 0, 0); ++ break; ++ case _MM_HINT_T0: ++ __builtin_prefetch(p, 0, 3); ++ break; ++ case _MM_HINT_T1: ++ __builtin_prefetch(p, 0, 2); ++ break; ++ case _MM_HINT_T2: ++ __builtin_prefetch(p, 0, 1); ++ break; ++ } ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_psadbw ++#define _m_psadbw(a, b) _mm_sad_pu8(a, b) ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pshufw ++#define _m_pshufw(a, imm) _mm_shuffle_pi16(a, imm) ++ ++// Compute the approximate reciprocal of packed single-precision (32-bit) ++// floating-point elements in a, and store the results in dst. The maximum ++// relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ps ++FORCE_INLINE __m128 _mm_rcp_ps(__m128 in) ++{ ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(in)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#if SSE2NEON_PRECISE_DIV ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#endif ++ return vreinterpretq_m128_f32(recip); ++} ++ ++// Compute the approximate reciprocal of the lower single-precision (32-bit) ++// floating-point element in a, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ss ++FORCE_INLINE __m128 _mm_rcp_ss(__m128 a) ++{ ++ return _mm_move_ss(a, _mm_rcp_ps(a)); ++} ++ ++// Compute the approximate reciprocal square root of packed single-precision ++// (32-bit) floating-point elements in a, and store the results in dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ps ++FORCE_INLINE __m128 _mm_rsqrt_ps(__m128 in) ++{ ++ float32x4_t out = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Generate masks for detecting whether input has any 0.0f/-0.0f ++ // (which becomes positive/negative infinity by IEEE-754 arithmetic rules). ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t neg_inf = vdupq_n_u32(0xFF800000); ++ const uint32x4_t has_pos_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(out)); ++ const uint32x4_t has_neg_zero = ++ vceqq_u32(neg_inf, vreinterpretq_u32_f32(out)); ++ ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#if SSE2NEON_PRECISE_SQRT ++ // Additional Netwon-Raphson iteration for accuracy ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#endif ++ ++ // Set output vector element to infinity/negative-infinity if ++ // the corresponding input vector element is 0.0f/-0.0f. ++ out = vbslq_f32(has_pos_zero, (float32x4_t) pos_inf, out); ++ out = vbslq_f32(has_neg_zero, (float32x4_t) neg_inf, out); ++ ++ return vreinterpretq_m128_f32(out); ++} ++ ++// Compute the approximate reciprocal square root of the lower single-precision ++// (32-bit) floating-point element in a, store the result in the lower element ++// of dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ss ++FORCE_INLINE __m128 _mm_rsqrt_ss(__m128 in) ++{ ++ return vsetq_lane_f32(vgetq_lane_f32(_mm_rsqrt_ps(in), 0), in, 0); ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_pu8 ++FORCE_INLINE __m64 _mm_sad_pu8(__m64 a, __m64 b) ++{ ++ uint64x1_t t = vpaddl_u32(vpaddl_u16( ++ vpaddl_u8(vabd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))))); ++ return vreinterpret_m64_u16( ++ vset_lane_u16((int) vget_lane_u64(t, 0), vdup_n_u16(0), 0)); ++} ++ ++// Macro: Set the flush zero bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The flush zero may contain any of the ++// following flags: _MM_FLUSH_ZERO_ON or _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_FLUSH_ZERO_MODE ++FORCE_INLINE void _sse2neon_mm_set_flush_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_FLUSH_ZERO_MASK) == _MM_FLUSH_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps ++FORCE_INLINE __m128 _mm_set_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {x, y, z, w}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps1 ++FORCE_INLINE __m128 _mm_set_ps1(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Macro: Set the rounding mode bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The rounding mode may contain any of ++// the following flags: _MM_ROUND_NEAREST, _MM_ROUND_DOWN, _MM_ROUND_UP, ++// _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_ROUNDING_MODE ++FORCE_INLINE void _MM_SET_ROUNDING_MODE(int rounding) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ switch (rounding) { ++ case _MM_ROUND_TOWARD_ZERO: ++ r.field.bit22 = 1; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_DOWN: ++ r.field.bit22 = 0; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_UP: ++ r.field.bit22 = 1; ++ r.field.bit23 = 0; ++ break; ++ default: //_MM_ROUND_NEAREST ++ r.field.bit22 = 0; ++ r.field.bit23 = 0; ++ } ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Copy single-precision (32-bit) floating-point element a to the lower element ++// of dst, and zero the upper 3 elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ss ++FORCE_INLINE __m128 _mm_set_ss(float a) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(a, vdupq_n_f32(0), 0)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_ps ++FORCE_INLINE __m128 _mm_set1_ps(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Set the MXCSR control and status register with the value in unsigned 32-bit ++// integer a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setcsr ++// FIXME: _mm_setcsr() implementation supports changing the rounding mode only. ++FORCE_INLINE void _mm_setcsr(unsigned int a) ++{ ++ _MM_SET_ROUNDING_MODE(a); ++} ++ ++// Get the unsigned 32-bit value of the MXCSR control and status register. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_getcsr ++// FIXME: _mm_getcsr() implementation supports reading the rounding mode only. ++FORCE_INLINE unsigned int _mm_getcsr(void) ++{ ++ return _MM_GET_ROUNDING_MODE(); ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_ps ++FORCE_INLINE __m128 _mm_setr_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {w, z, y, x}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Return vector of type __m128 with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_ps ++FORCE_INLINE __m128 _mm_setzero_ps(void) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(0)); ++} ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi16 ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pi16(a, imm) \ ++ vreinterpret_m64_s16(vshuffle_s16( \ ++ vreinterpret_s16_m64(a), vreinterpret_s16_m64(a), (imm & 0x3), \ ++ ((imm >> 2) & 0x3), ((imm >> 4) & 0x3), ((imm >> 6) & 0x3))) ++#else ++#define _mm_shuffle_pi16(a, imm) \ ++ _sse2neon_define1( \ ++ __m64, a, int16x4_t ret; \ ++ ret = vmov_n_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), (imm) & (0x3))); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpret_m64_s16(ret));) ++#endif ++ ++// Perform a serializing operation on all store-to-memory instructions that were ++// issued prior to this instruction. Guarantees that every store instruction ++// that precedes, in program order, is globally visible before any store ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sfence ++FORCE_INLINE void _mm_sfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory and store-to-memory ++// instructions that were issued prior to this instruction. Guarantees that ++// every memory access that precedes, in program order, the memory fence ++// instruction is globally visible before any memory instruction which follows ++// the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mfence ++FORCE_INLINE void _mm_mfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory instructions that ++// were issued prior to this instruction. Guarantees that every load instruction ++// that precedes, in program order, is globally visible before any load ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lfence ++FORCE_INLINE void _mm_lfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// FORCE_INLINE __m128 _mm_shuffle_ps(__m128 a, __m128 b, __constrange(0,255) ++// int imm) ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_ps(a, b, imm) \ ++ __extension__({ \ ++ float32x4_t _input1 = vreinterpretq_f32_m128(a); \ ++ float32x4_t _input2 = vreinterpretq_f32_m128(b); \ ++ float32x4_t _shuf = \ ++ vshuffleq_s32(_input1, _input2, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ (((imm) >> 4) & 0x3) + 4, (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128_f32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_ps(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128, a, b, __m128 ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_1032(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_ps_2301(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_ps_0321(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_ps_2103(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_movelh_ps(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_1001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_ps_0101(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 1, 0): \ ++ ret = _mm_shuffle_ps_3210(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 1, 1): \ ++ ret = _mm_shuffle_ps_0011(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 2, 2): \ ++ ret = _mm_shuffle_ps_0022(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 0, 0): \ ++ ret = _mm_shuffle_ps_2200(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 0, 2): \ ++ ret = _mm_shuffle_ps_3202(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 3, 2): \ ++ ret = _mm_movehl_ps(_b, _a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 3, 3): \ ++ ret = _mm_shuffle_ps_1133(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 1, 0): \ ++ ret = _mm_shuffle_ps_2010(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_2001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_2032(_a, _b); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_ps_default(_a, _b, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Compute the square root of packed single-precision (32-bit) floating-point ++// elements in a, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise square root intrinsic, we implement ++// square root by multiplying input in with its reciprocal square root before ++// using the Newton-Raphson method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ps ++FORCE_INLINE __m128 _mm_sqrt_ps(__m128 in) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) && !SSE2NEON_PRECISE_SQRT ++ return vreinterpretq_m128_f32(vsqrtq_f32(vreinterpretq_f32_m128(in))); ++#else ++ float32x4_t recip = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Test for vrsqrteq_f32(0) -> positive infinity case. ++ // Change to zero, so that s * 1/sqrt(s) result is zero too. ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t div_by_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(recip)); ++ recip = vreinterpretq_f32_u32( ++ vandq_u32(vmvnq_u32(div_by_zero), vreinterpretq_u32_f32(recip))); ++ ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ ++ // sqrt(s) = s * 1/sqrt(s) ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(in), recip)); ++#endif ++} ++ ++// Compute the square root of the lower single-precision (32-bit) floating-point ++// element in a, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ss ++FORCE_INLINE __m128 _mm_sqrt_ss(__m128 in) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_sqrt_ps(in)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(in), 0)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps ++FORCE_INLINE void _mm_store_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps1 ++FORCE_INLINE void _mm_store_ps1(float *p, __m128 a) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ vst1q_f32(p, vdupq_n_f32(a0)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ss ++FORCE_INLINE void _mm_store_ss(float *p, __m128 a) ++{ ++ vst1q_lane_f32(p, vreinterpretq_f32_m128(a), 0); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store1_ps ++#define _mm_store1_ps _mm_store_ps1 ++ ++// Store the upper 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pi ++FORCE_INLINE void _mm_storeh_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_high_f32(a)); ++} ++ ++// Store the lower 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pi ++FORCE_INLINE void _mm_storel_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_low_f32(a)); ++} ++ ++// Store 4 single-precision (32-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_ps ++FORCE_INLINE void _mm_storer_ps(float *p, __m128 a) ++{ ++ float32x4_t tmp = vrev64q_f32(vreinterpretq_f32_m128(a)); ++ float32x4_t rev = vextq_f32(tmp, tmp, 2); ++ vst1q_f32(p, rev); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_ps ++FORCE_INLINE void _mm_storeu_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Stores 16-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si16 ++FORCE_INLINE void _mm_storeu_si16(void *p, __m128i a) ++{ ++ vst1q_lane_s16((int16_t *) p, vreinterpretq_s16_m128i(a), 0); ++} ++ ++// Stores 64-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si64 ++FORCE_INLINE void _mm_storeu_si64(void *p, __m128i a) ++{ ++ vst1q_lane_s64((int64_t *) p, vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Store 64-bits of integer data from a into memory using a non-temporal memory ++// hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pi ++FORCE_INLINE void _mm_stream_pi(__m64 *p, __m64 a) ++{ ++ vst1_s64((int64_t *) p, vreinterpret_s64_m64(a)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating- ++// point elements) from a into memory using a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_ps ++FORCE_INLINE void _mm_stream_ps(float *p, __m128 a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (float32x4_t *) p); ++#else ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++#endif ++} ++ ++// Subtract packed single-precision (32-bit) floating-point elements in b from ++// packed single-precision (32-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ps ++FORCE_INLINE __m128 _mm_sub_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Subtract the lower single-precision (32-bit) floating-point element in b from ++// the lower single-precision (32-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper 3 packed elements from ++// a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ss ++FORCE_INLINE __m128 _mm_sub_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_sub_ps(a, b)); ++} ++ ++// Macro: Transpose the 4x4 matrix formed by the 4 rows of single-precision ++// (32-bit) floating-point elements in row0, row1, row2, and row3, and store the ++// transposed matrix in these vectors (row0 now contains column 0, etc.). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=MM_TRANSPOSE4_PS ++#define _MM_TRANSPOSE4_PS(row0, row1, row2, row3) \ ++ do { \ ++ float32x4x2_t ROW01 = vtrnq_f32(row0, row1); \ ++ float32x4x2_t ROW23 = vtrnq_f32(row2, row3); \ ++ row0 = vcombine_f32(vget_low_f32(ROW01.val[0]), \ ++ vget_low_f32(ROW23.val[0])); \ ++ row1 = vcombine_f32(vget_low_f32(ROW01.val[1]), \ ++ vget_low_f32(ROW23.val[1])); \ ++ row2 = vcombine_f32(vget_high_f32(ROW01.val[0]), \ ++ vget_high_f32(ROW23.val[0])); \ ++ row3 = vcombine_f32(vget_high_f32(ROW01.val[1]), \ ++ vget_high_f32(ROW23.val[1])); \ ++ } while (0) ++ ++// according to the documentation, these intrinsics behave the same as the ++// non-'u' versions. We'll just alias them here. ++#define _mm_ucomieq_ss _mm_comieq_ss ++#define _mm_ucomige_ss _mm_comige_ss ++#define _mm_ucomigt_ss _mm_comigt_ss ++#define _mm_ucomile_ss _mm_comile_ss ++#define _mm_ucomilt_ss _mm_comilt_ss ++#define _mm_ucomineq_ss _mm_comineq_ss ++ ++// Return vector of type __m128i with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_undefined_si128 ++FORCE_INLINE __m128i _mm_undefined_si128(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128i a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_si128(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Return vector of type __m128 with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_ps ++FORCE_INLINE __m128 _mm_undefined_ps(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128 a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_ps(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the high half a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_ps ++FORCE_INLINE __m128 _mm_unpackhi_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_ps ++FORCE_INLINE __m128 _mm_unpacklo_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Compute the bitwise XOR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_ps ++FORCE_INLINE __m128 _mm_xor_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ veorq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++/* SSE2 */ ++ ++// Add packed 16-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi16 ++FORCE_INLINE __m128i _mm_add_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed 32-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi32 ++FORCE_INLINE __m128i _mm_add_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vaddq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Add packed 64-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi64 ++FORCE_INLINE __m128i _mm_add_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vaddq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Add packed 8-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi8 ++FORCE_INLINE __m128i _mm_add_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed double-precision (64-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_pd ++FORCE_INLINE __m128d _mm_add_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1] + db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add the lower double-precision (64-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper element from ++// a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_sd ++FORCE_INLINE __m128d _mm_add_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_add_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add 64-bit integers a and b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_si64 ++FORCE_INLINE __m64 _mm_add_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vadd_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Add packed signed 16-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi16 ++FORCE_INLINE __m128i _mm_adds_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed signed 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi8 ++FORCE_INLINE __m128i _mm_adds_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed unsigned 16-bit integers in a and b using saturation, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu16 ++FORCE_INLINE __m128i _mm_adds_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqaddq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Add packed unsigned 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu8 ++FORCE_INLINE __m128i _mm_adds_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compute the bitwise AND of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_pd ++FORCE_INLINE __m128d _mm_and_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vandq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_si128 ++FORCE_INLINE __m128i _mm_and_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vandq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compute the bitwise NOT of packed double-precision (64-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_pd ++FORCE_INLINE __m128d _mm_andnot_pd(__m128d a, __m128d b) ++{ ++ // *NOTE* argument swap ++ return vreinterpretq_m128d_s64( ++ vbicq_s64(vreinterpretq_s64_m128d(b), vreinterpretq_s64_m128d(a))); ++} ++ ++// Compute the bitwise NOT of 128 bits (representing integer data) in a and then ++// AND with b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_si128 ++FORCE_INLINE __m128i _mm_andnot_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vbicq_s32(vreinterpretq_s32_m128i(b), ++ vreinterpretq_s32_m128i(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu16 ++FORCE_INLINE __m128i _mm_avg_epu16(__m128i a, __m128i b) ++{ ++ return (__m128i) vrhaddq_u16(vreinterpretq_u16_m128i(a), ++ vreinterpretq_u16_m128i(b)); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu8 ++FORCE_INLINE __m128i _mm_avg_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vrhaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bslli_si128 ++#define _mm_bslli_si128(a, imm) _mm_slli_si128(a, imm) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bsrli_si128 ++#define _mm_bsrli_si128(a, imm) _mm_srli_si128(a, imm) ++ ++// Cast vector of type __m128d to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_ps ++FORCE_INLINE __m128 _mm_castpd_ps(__m128d a) ++{ ++ return vreinterpretq_m128_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128d to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_si128 ++FORCE_INLINE __m128i _mm_castpd_si128(__m128d a) ++{ ++ return vreinterpretq_m128i_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128 to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_pd ++FORCE_INLINE __m128d _mm_castps_pd(__m128 a) ++{ ++ return vreinterpretq_m128d_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128 to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_si128 ++FORCE_INLINE __m128i _mm_castps_si128(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128i to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_pd ++FORCE_INLINE __m128d _mm_castsi128_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vreinterpretq_f64_m128i(a)); ++#else ++ return vreinterpretq_m128d_f32(vreinterpretq_f32_m128i(a)); ++#endif ++} ++ ++// Cast vector of type __m128i to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_ps ++FORCE_INLINE __m128 _mm_castsi128_ps(__m128i a) ++{ ++ return vreinterpretq_m128_s32(vreinterpretq_s32_m128i(a)); ++} ++ ++// Invalidate and flush the cache line that contains p from all levels of the ++// cache hierarchy. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clflush ++#if defined(__APPLE__) ++#include ++#endif ++FORCE_INLINE void _mm_clflush(void const *p) ++{ ++ (void) p; ++ ++ /* sys_icache_invalidate is supported since macOS 10.5. ++ * However, it does not work on non-jailbroken iOS devices, although the ++ * compilation is successful. ++ */ ++#if defined(__APPLE__) ++ sys_icache_invalidate((void *) (uintptr_t) p, SSE2NEON_CACHELINE_SIZE); ++#elif defined(__GNUC__) || defined(__clang__) ++ uintptr_t ptr = (uintptr_t) p; ++ __builtin___clear_cache((char *) ptr, ++ (char *) ptr + SSE2NEON_CACHELINE_SIZE); ++#elif (_MSC_VER) && SSE2NEON_INCLUDE_WINDOWS_H ++ FlushInstructionCache(GetCurrentProcess(), p, SSE2NEON_CACHELINE_SIZE); ++#endif ++} ++ ++// Compare packed 16-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi16 ++FORCE_INLINE __m128i _mm_cmpeq_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vceqq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed 32-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi32 ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vceqq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed 8-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi8 ++FORCE_INLINE __m128i _mm_cmpeq_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vceqq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_pd ++FORCE_INLINE __m128d _mm_cmpeq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_sd ++FORCE_INLINE __m128d _mm_cmpeq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpeq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_pd ++FORCE_INLINE __m128d _mm_cmpge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) >= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_sd ++FORCE_INLINE __m128d _mm_cmpge_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpge_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi16 ++FORCE_INLINE __m128i _mm_cmpgt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcgtq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi32 ++FORCE_INLINE __m128i _mm_cmpgt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcgtq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi8 ++FORCE_INLINE __m128i _mm_cmpgt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcgtq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_pd ++FORCE_INLINE __m128d _mm_cmpgt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_sd ++FORCE_INLINE __m128d _mm_cmpgt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpgt_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_pd ++FORCE_INLINE __m128d _mm_cmple_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) <= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_sd ++FORCE_INLINE __m128d _mm_cmple_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmple_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtw instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi16 ++FORCE_INLINE __m128i _mm_cmplt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcltq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtd instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi32 ++FORCE_INLINE __m128i _mm_cmplt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcltq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtb instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi8 ++FORCE_INLINE __m128i _mm_cmplt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcltq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_pd ++FORCE_INLINE __m128d _mm_cmplt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_sd ++FORCE_INLINE __m128d _mm_cmplt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmplt_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_pd ++FORCE_INLINE __m128d _mm_cmpneq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_s32(vmvnq_s32(vreinterpretq_s32_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vmvnq_u32(vandq_u32(cmp, swapped))); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_sd ++FORCE_INLINE __m128d _mm_cmpneq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpneq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_pd ++FORCE_INLINE __m128d _mm_cmpnge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) >= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) >= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_sd ++FORCE_INLINE __m128d _mm_cmpnge_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnge_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_cmpngt_pd ++FORCE_INLINE __m128d _mm_cmpngt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) > (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) > (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_sd ++FORCE_INLINE __m128d _mm_cmpngt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpngt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_pd ++FORCE_INLINE __m128d _mm_cmpnle_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) <= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) <= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_sd ++FORCE_INLINE __m128d _mm_cmpnle_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnle_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_pd ++FORCE_INLINE __m128d _mm_cmpnlt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) < (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) < (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_sd ++FORCE_INLINE __m128d _mm_cmpnlt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnlt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_pd ++FORCE_INLINE __m128d _mm_cmpord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Excluding NaNs, any two floating point numbers can be compared. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_u64(vandq_u64(not_nan_a, not_nan_b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_sd ++FORCE_INLINE __m128d _mm_cmpord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_pd ++FORCE_INLINE __m128d _mm_cmpunord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Two NaNs are not equal in comparison operation. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_s32( ++ vmvnq_s32(vreinterpretq_s32_u64(vandq_u64(not_nan_a, not_nan_b)))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_sd ++FORCE_INLINE __m128d _mm_cmpunord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpunord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_sd ++FORCE_INLINE int _mm_comige_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgeq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 >= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_sd ++FORCE_INLINE int _mm_comigt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgtq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 > *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_sd ++FORCE_INLINE int _mm_comile_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcleq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 <= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_sd ++FORCE_INLINE int _mm_comilt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcltq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 < *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_sd ++FORCE_INLINE int _mm_comieq_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vceqq_f64(a, b), 0) & 0x1; ++#else ++ uint32x4_t a_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(a)); ++ uint32x4_t b_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(b), vreinterpretq_u32_m128d(b)); ++ uint32x4_t a_and_b_not_nan = vandq_u32(a_not_nan, b_not_nan); ++ uint32x4_t a_eq_b = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint64x2_t and_results = vandq_u64(vreinterpretq_u64_u32(a_and_b_not_nan), ++ vreinterpretq_u64_u32(a_eq_b)); ++ return vgetq_lane_u64(and_results, 0) & 0x1; ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_sd ++FORCE_INLINE int _mm_comineq_sd(__m128d a, __m128d b) ++{ ++ return !_mm_comieq_sd(a, b); ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_pd ++FORCE_INLINE __m128d _mm_cvtepi32_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a))))); ++#else ++ double a0 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++ double a1 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_ps ++FORCE_INLINE __m128 _mm_cvtepi32_ps(__m128i a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_epi32 ++FORCE_INLINE __m128i _mm_cvtpd_epi32(__m128d a) ++{ ++// vrnd32xq_f64 not supported on clang ++#if defined(__ARM_FEATURE_FRINT) && !defined(__clang__) ++ float64x2_t rounded = vrnd32xq_f64(vreinterpretq_f64_m128d(a)); ++ int64x2_t integers = vcvtq_s64_f64(rounded); ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vmovn_s64(integers), vdup_n_s32(0))); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) d1, (int32_t) d0); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_pi32 ++FORCE_INLINE __m64 _mm_cvtpd_pi32(__m128d a) ++{ ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) d0, (int32_t) d1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed single-precision (32-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_ps ++FORCE_INLINE __m128 _mm_cvtpd_ps(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float32x2_t tmp = vcvt_f32_f64(vreinterpretq_f64_m128d(a)); ++ return vreinterpretq_m128_f32(vcombine_f32(tmp, vdup_n_f32(0))); ++#else ++ float a0 = (float) ((double *) &a)[0]; ++ float a1 = (float) ((double *) &a)[1]; ++ return _mm_set_ps(0, 0, a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_pd ++FORCE_INLINE __m128d _mm_cvtpi32_pd(__m64 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vreinterpret_s32_m64(a)))); ++#else ++ double a0 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 0); ++ double a1 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_epi32 ++// *NOTE*. The default rounding mode on SSE is 'round to even', which ARMv7-A ++// does not support! It is supported on ARMv8-A however. ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128 a) ++{ ++#if defined(__ARM_FEATURE_FRINT) ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vrnd32xq_f32(a))); ++#elif (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: ++ return vreinterpretq_m128i_s32(vcvtnq_s32_f32(a)); ++ case _MM_ROUND_DOWN: ++ return vreinterpretq_m128i_s32(vcvtmq_s32_f32(a)); ++ case _MM_ROUND_UP: ++ return vreinterpretq_m128i_s32(vcvtpq_s32_f32(a)); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(a)); ++ } ++#else ++ float *f = (float *) &a; ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128i_s32( ++ vbslq_s32(is_delta_half, r_even, r_normal)); ++ } ++ case _MM_ROUND_DOWN: ++ return _mm_set_epi32(floorf(f[3]), floorf(f[2]), floorf(f[1]), ++ floorf(f[0])); ++ case _MM_ROUND_UP: ++ return _mm_set_epi32(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ++ ceilf(f[0])); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return _mm_set_epi32((int32_t) f[3], (int32_t) f[2], (int32_t) f[1], ++ (int32_t) f[0]); ++ } ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed double-precision (64-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pd ++FORCE_INLINE __m128d _mm_cvtps_pd(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvt_f64_f32(vget_low_f32(vreinterpretq_f32_m128(a)))); ++#else ++ double a0 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ double a1 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Copy the lower double-precision (64-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_f64 ++FORCE_INLINE double _mm_cvtsd_f64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (double) vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0); ++#else ++ return ((double *) &a)[0]; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si32 ++FORCE_INLINE int32_t _mm_cvtsd_si32(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int32_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int32_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64 ++FORCE_INLINE int64_t _mm_cvtsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int64_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64x ++#define _mm_cvtsd_si64x _mm_cvtsd_si64 ++ ++// Convert the lower double-precision (64-bit) floating-point element in b to a ++// single-precision (32-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_ss ++FORCE_INLINE __m128 _mm_cvtsd_ss(__m128 a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32(vsetq_lane_f32( ++ vget_lane_f32(vcvt_f32_f64(vreinterpretq_f64_m128d(b)), 0), ++ vreinterpretq_f32_m128(a), 0)); ++#else ++ return vreinterpretq_m128_f32(vsetq_lane_f32((float) ((double *) &b)[0], ++ vreinterpretq_f32_m128(a), 0)); ++#endif ++} ++ ++// Copy the lower 32-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si32 ++FORCE_INLINE int _mm_cvtsi128_si32(__m128i a) ++{ ++ return vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64 ++FORCE_INLINE int64_t _mm_cvtsi128_si64(__m128i a) ++{ ++ return vgetq_lane_s64(vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Convert the signed 32-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_sd ++FORCE_INLINE __m128d _mm_cvtsi32_sd(__m128d a, int32_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Copy 32-bit integer a to the lower elements of dst, and zero the upper ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_si128 ++FORCE_INLINE __m128i _mm_cvtsi32_si128(int a) ++{ ++ return vreinterpretq_m128i_s32(vsetq_lane_s32(a, vdupq_n_s32(0), 0)); ++} ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_sd ++FORCE_INLINE __m128d _mm_cvtsi64_sd(__m128d a, int64_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_si128 ++FORCE_INLINE __m128i _mm_cvtsi64_si128(int64_t a) ++{ ++ return vreinterpretq_m128i_s64(vsetq_lane_s64(a, vdupq_n_s64(0), 0)); ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_si128 ++#define _mm_cvtsi64x_si128(a) _mm_cvtsi64_si128(a) ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_sd ++#define _mm_cvtsi64x_sd(a, b) _mm_cvtsi64_sd(a, b) ++ ++// Convert the lower single-precision (32-bit) floating-point element in b to a ++// double-precision (64-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_sd ++FORCE_INLINE __m128d _mm_cvtss_sd(__m128d a, __m128 b) ++{ ++ double d = (double) vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(d, vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &d, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_epi32 ++FORCE_INLINE __m128i _mm_cvttpd_epi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) a1, (int32_t) a0); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_pi32 ++FORCE_INLINE __m64 _mm_cvttpd_pi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) a0, (int32_t) a1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_epi32 ++FORCE_INLINE __m128i _mm_cvttps_epi32(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a))); ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si32 ++FORCE_INLINE int32_t _mm_cvttsd_si32(__m128d a) ++{ ++ double ret = *((double *) &a); ++ return (int32_t) ret; ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64 ++FORCE_INLINE int64_t _mm_cvttsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_s64(vcvtq_s64_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ double ret = *((double *) &a); ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64x ++#define _mm_cvttsd_si64x(a) _mm_cvttsd_si64(a) ++ ++// Divide packed double-precision (64-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_pd ++FORCE_INLINE __m128d _mm_div_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] / db[0]; ++ c[1] = da[1] / db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Divide the lower double-precision (64-bit) floating-point element in a by the ++// lower double-precision (64-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper element from a to the upper ++// element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_sd ++FORCE_INLINE __m128d _mm_div_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t tmp = ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1), tmp, 1)); ++#else ++ return _mm_move_sd(a, _mm_div_pd(a, b)); ++#endif ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi16 ++// FORCE_INLINE int _mm_extract_epi16(__m128i a, __constrange(0,8) int imm) ++#define _mm_extract_epi16(a, imm) \ ++ vgetq_lane_u16(vreinterpretq_u16_m128i(a), (imm)) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi16 ++// FORCE_INLINE __m128i _mm_insert_epi16(__m128i a, int b, ++// __constrange(0,8) int imm) ++#define _mm_insert_epi16(a, b, imm) \ ++ vreinterpretq_m128i_s16( \ ++ vsetq_lane_s16((b), vreinterpretq_s16_m128i(a), (imm))) ++ ++// Load 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd ++FORCE_INLINE __m128d _mm_load_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64(p)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], fp[2], fp[3]}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd1 ++#define _mm_load_pd1 _mm_load1_pd ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower of dst, and zero the upper element. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_sd ++FORCE_INLINE __m128d _mm_load_sd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(*p, vdupq_n_f64(0), 0)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], 0, 0}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_si128 ++FORCE_INLINE __m128i _mm_load_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const int32_t *) p)); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_pd ++FORCE_INLINE __m128d _mm_load1_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_dup_f64(p)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(const int64_t *) p)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// upper element of dst, and copy the lower element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pd ++FORCE_INLINE __m128d _mm_loadh_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vget_low_f64(vreinterpretq_f64_m128d(a)), vld1_f64(p))); ++#else ++ return vreinterpretq_m128d_f32(vcombine_f32( ++ vget_low_f32(vreinterpretq_f32_m128d(a)), vld1_f32((const float *) p))); ++#endif ++} ++ ++// Load 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_epi64 ++FORCE_INLINE __m128i _mm_loadl_epi64(__m128i const *p) ++{ ++ /* Load the lower 64 bits of the value pointed to by p into the ++ * lower 64 bits of the result, zeroing the upper 64 bits of the result. ++ */ ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vld1_s32((int32_t const *) p), vcreate_s32(0))); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower element of dst, and copy the upper element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pd ++FORCE_INLINE __m128d _mm_loadl_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vld1_f64(p), vget_high_f64(vreinterpretq_f64_m128d(a)))); ++#else ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vld1_f32((const float *) p), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++#endif ++} ++ ++// Load 2 double-precision (64-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_pd ++FORCE_INLINE __m128d _mm_loadr_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t v = vld1q_f64(p); ++ return vreinterpretq_m128d_f64(vextq_f64(v, v, 1)); ++#else ++ int64x2_t v = vld1q_s64((const int64_t *) p); ++ return vreinterpretq_m128d_s64(vextq_s64(v, v, 1)); ++#endif ++} ++ ++// Loads two double-precision from unaligned memory, floating-point values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_pd ++FORCE_INLINE __m128d _mm_loadu_pd(const double *p) ++{ ++ return _mm_load_pd(p); ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si128 ++FORCE_INLINE __m128i _mm_loadu_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const int32_t *) p)); ++} ++ ++// Load unaligned 32-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si32 ++FORCE_INLINE __m128i _mm_loadu_si32(const void *p) ++{ ++ return vreinterpretq_m128i_s32( ++ vsetq_lane_s32(*(const int32_t *) p, vdupq_n_s32(0), 0)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Horizontally add adjacent pairs of intermediate ++// 32-bit integers, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_madd_epi16 ++FORCE_INLINE __m128i _mm_madd_epi16(__m128i a, __m128i b) ++{ ++ int32x4_t low = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t high = ++ vmull_high_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b)); ++ ++ return vreinterpretq_m128i_s32(vpaddq_s32(low, high)); ++#else ++ int32x4_t high = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ int32x2_t low_sum = vpadd_s32(vget_low_s32(low), vget_high_s32(low)); ++ int32x2_t high_sum = vpadd_s32(vget_low_s32(high), vget_high_s32(high)); ++ ++ return vreinterpretq_m128i_s32(vcombine_s32(low_sum, high_sum)); ++#endif ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. mem_addr does not need to be aligned ++// on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmoveu_si128 ++FORCE_INLINE void _mm_maskmoveu_si128(__m128i a, __m128i mask, char *mem_addr) ++{ ++ int8x16_t shr_mask = vshrq_n_s8(vreinterpretq_s8_m128i(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x16_t masked = ++ vbslq_s8(vreinterpretq_u8_s8(shr_mask), vreinterpretq_s8_m128i(a), ++ vreinterpretq_s8_m128(b)); ++ vst1q_s8((int8_t *) mem_addr, masked); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi16 ++FORCE_INLINE __m128i _mm_max_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmaxq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu8 ++FORCE_INLINE __m128i _mm_max_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vmaxq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pd ++FORCE_INLINE __m128d _mm_max_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcgtq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vmaxq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? a1 : b1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_sd ++FORCE_INLINE __m128d _mm_max_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_max_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] > db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi16 ++FORCE_INLINE __m128i _mm_min_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vminq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu8 ++FORCE_INLINE __m128i _mm_min_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vminq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pd ++FORCE_INLINE __m128d _mm_min_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcltq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vminq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? a1 : b1; ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_sd ++FORCE_INLINE __m128d _mm_min_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_min_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] < db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to the lower element of dst, and zero the ++// upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_epi64 ++FORCE_INLINE __m128i _mm_move_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vsetq_lane_s64(0, vreinterpretq_s64_m128i(a), 1)); ++} ++ ++// Move the lower double-precision (64-bit) floating-point element from b to the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_sd ++FORCE_INLINE __m128d _mm_move_sd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vget_low_f32(vreinterpretq_f32_m128d(b)), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_epi8 ++FORCE_INLINE int _mm_movemask_epi8(__m128i a) ++{ ++ // Use increasingly wide shifts+adds to collect the sign bits ++ // together. ++ // Since the widening shifts would be rather confusing to follow in little ++ // endian, everything will be illustrated in big endian order instead. This ++ // has a different result - the bits would actually be reversed on a big ++ // endian machine. ++ ++ // Starting input (only half the elements are shown): ++ // 89 ff 1d c0 00 10 99 33 ++ uint8x16_t input = vreinterpretq_u8_m128i(a); ++ ++ // Shift out everything but the sign bits with an unsigned shift right. ++ // ++ // Bytes of the vector:: ++ // 89 ff 1d c0 00 10 99 33 ++ // \ \ \ \ \ \ \ \ high_bits = (uint16x4_t)(input >> 7) ++ // | | | | | | | | ++ // 01 01 00 01 00 00 01 00 ++ // ++ // Bits of first important lane(s): ++ // 10001001 (89) ++ // \______ ++ // | ++ // 00000001 (01) ++ uint16x8_t high_bits = vreinterpretq_u16_u8(vshrq_n_u8(input, 7)); ++ ++ // Merge the even lanes together with a 16-bit unsigned shift right + add. ++ // 'xx' represents garbage data which will be ignored in the final result. ++ // In the important bytes, the add functions like a binary OR. ++ // ++ // 01 01 00 01 00 00 01 00 ++ // \_ | \_ | \_ | \_ | paired16 = (uint32x4_t)(input + (input >> 7)) ++ // \| \| \| \| ++ // xx 03 xx 01 xx 00 xx 02 ++ // ++ // 00000001 00000001 (01 01) ++ // \_______ | ++ // \| ++ // xxxxxxxx xxxxxx11 (xx 03) ++ uint32x4_t paired16 = ++ vreinterpretq_u32_u16(vsraq_n_u16(high_bits, high_bits, 7)); ++ ++ // Repeat with a wider 32-bit shift + add. ++ // xx 03 xx 01 xx 00 xx 02 ++ // \____ | \____ | paired32 = (uint64x1_t)(paired16 + (paired16 >> ++ // 14)) ++ // \| \| ++ // xx xx xx 0d xx xx xx 02 ++ // ++ // 00000011 00000001 (03 01) ++ // \\_____ || ++ // '----.\|| ++ // xxxxxxxx xxxx1101 (xx 0d) ++ uint64x2_t paired32 = ++ vreinterpretq_u64_u32(vsraq_n_u32(paired16, paired16, 14)); ++ ++ // Last, an even wider 64-bit shift + add to get our result in the low 8 bit ++ // lanes. xx xx xx 0d xx xx xx 02 ++ // \_________ | paired64 = (uint8x8_t)(paired32 + (paired32 >> ++ // 28)) ++ // \| ++ // xx xx xx xx xx xx xx d2 ++ // ++ // 00001101 00000010 (0d 02) ++ // \ \___ | | ++ // '---. \| | ++ // xxxxxxxx 11010010 (xx d2) ++ uint8x16_t paired64 = ++ vreinterpretq_u8_u64(vsraq_n_u64(paired32, paired32, 28)); ++ ++ // Extract the low 8 bits from each 64-bit lane with 2 8-bit extracts. ++ // xx xx xx xx xx xx xx d2 ++ // || return paired64[0] ++ // d2 ++ // Note: Little endian would return the correct value 4b (01001011) instead. ++ return vgetq_lane_u8(paired64, 0) | ((int) vgetq_lane_u8(paired64, 8) << 8); ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed double-precision (64-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pd ++FORCE_INLINE int _mm_movemask_pd(__m128d a) ++{ ++ uint64x2_t input = vreinterpretq_u64_m128d(a); ++ uint64x2_t high_bits = vshrq_n_u64(input, 63); ++ return (int) (vgetq_lane_u64(high_bits, 0) | ++ (vgetq_lane_u64(high_bits, 1) << 1)); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movepi64_pi64 ++FORCE_INLINE __m64 _mm_movepi64_pi64(__m128i a) ++{ ++ return vreinterpret_m64_s64(vget_low_s64(vreinterpretq_s64_m128i(a))); ++} ++ ++// Copy the 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movpi64_epi64 ++FORCE_INLINE __m128i _mm_movpi64_epi64(__m64 a) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vreinterpret_s64_m64(a), vdup_n_s64(0))); ++} ++ ++// Multiply the low unsigned 32-bit integers from each packed 64-bit element in ++// a and b, and store the unsigned 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epu32 ++FORCE_INLINE __m128i _mm_mul_epu32(__m128i a, __m128i b) ++{ ++ // vmull_u32 upcasts instead of masking, so we downcast. ++ uint32x2_t a_lo = vmovn_u64(vreinterpretq_u64_m128i(a)); ++ uint32x2_t b_lo = vmovn_u64(vreinterpretq_u64_m128i(b)); ++ return vreinterpretq_m128i_u64(vmull_u32(a_lo, b_lo)); ++} ++ ++// Multiply packed double-precision (64-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_pd ++FORCE_INLINE __m128d _mm_mul_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vmulq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] * db[0]; ++ c[1] = da[1] * db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Multiply the lower double-precision (64-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper element ++// from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_mul_sd ++FORCE_INLINE __m128d _mm_mul_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_mul_pd(a, b)); ++} ++ ++// Multiply the low unsigned 32-bit integers from a and b, and store the ++// unsigned 64-bit result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_su32 ++FORCE_INLINE __m64 _mm_mul_su32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u64(vget_low_u64( ++ vmull_u32(vreinterpret_u32_m64(a), vreinterpret_u32_m64(b)))); ++} ++ ++// Multiply the packed signed 16-bit integers in a and b, producing intermediate ++// 32-bit integers, and store the high 16 bits of the intermediate integers in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epi16 ++FORCE_INLINE __m128i _mm_mulhi_epi16(__m128i a, __m128i b) ++{ ++ /* FIXME: issue with large values because of result saturation */ ++ // int16x8_t ret = vqdmulhq_s16(vreinterpretq_s16_m128i(a), ++ // vreinterpretq_s16_m128i(b)); /* =2*a*b */ return ++ // vreinterpretq_m128i_s16(vshrq_n_s16(ret, 1)); ++ int16x4_t a3210 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b3210 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab3210 = vmull_s16(a3210, b3210); /* 3333222211110000 */ ++ int16x4_t a7654 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b7654 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab7654 = vmull_s16(a7654, b7654); /* 7777666655554444 */ ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_s32(ab3210), vreinterpretq_u16_s32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epu16 ++FORCE_INLINE __m128i _mm_mulhi_epu16(__m128i a, __m128i b) ++{ ++ uint16x4_t a3210 = vget_low_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b3210 = vget_low_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab3210 = vmull_u16(a3210, b3210); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32x4_t ab7654 = ++ vmull_high_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ uint16x8_t r = vuzp2q_u16(vreinterpretq_u16_u32(ab3210), ++ vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r); ++#else ++ uint16x4_t a7654 = vget_high_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b7654 = vget_high_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab7654 = vmull_u16(a7654, b7654); ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_u32(ab3210), vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++#endif ++} ++ ++// Multiply the packed 16-bit integers in a and b, producing intermediate 32-bit ++// integers, and store the low 16 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi16 ++FORCE_INLINE __m128i _mm_mullo_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmulq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compute the bitwise OR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_or_pd ++FORCE_INLINE __m128d _mm_or_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vorrq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise OR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_si128 ++FORCE_INLINE __m128i _mm_or_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vorrq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi16 ++FORCE_INLINE __m128i _mm_packs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vqmovn_s16(vreinterpretq_s16_m128i(a)), ++ vqmovn_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi32 ++FORCE_INLINE __m128i _mm_packs_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vqmovn_s32(vreinterpretq_s32_m128i(a)), ++ vqmovn_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi16 ++FORCE_INLINE __m128i _mm_packus_epi16(const __m128i a, const __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcombine_u8(vqmovun_s16(vreinterpretq_s16_m128i(a)), ++ vqmovun_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Pause the processor. This is typically used in spin-wait loops and depending ++// on the x86 processor typical values are in the 40-100 cycle range. The ++// 'yield' instruction isn't a good fit because it's effectively a nop on most ++// Arm cores. Experience with several databases has shown has shown an 'isb' is ++// a reasonable approximation. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_pause ++FORCE_INLINE void _mm_pause(void) ++{ ++#if defined(_MSC_VER) ++ __isb(_ARM64_BARRIER_SY); ++#else ++ __asm__ __volatile__("isb\n"); ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce two ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of 64-bit elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_epu8 ++FORCE_INLINE __m128i _mm_sad_epu8(__m128i a, __m128i b) ++{ ++ uint16x8_t t = vpaddlq_u8(vabdq_u8((uint8x16_t) a, (uint8x16_t) b)); ++ return vreinterpretq_m128i_u64(vpaddlq_u32(vpaddlq_u16(t))); ++} ++ ++// Set packed 16-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi16 ++FORCE_INLINE __m128i _mm_set_epi16(short i7, ++ short i6, ++ short i5, ++ short i4, ++ short i3, ++ short i2, ++ short i1, ++ short i0) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {i0, i1, i2, i3, i4, i5, i6, i7}; ++ return vreinterpretq_m128i_s16(vld1q_s16(data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi32 ++FORCE_INLINE __m128i _mm_set_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i0, i1, i2, i3}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64 ++FORCE_INLINE __m128i _mm_set_epi64(__m64 i1, __m64 i2) ++{ ++ return _mm_set_epi64x(vget_lane_s64(i1, 0), vget_lane_s64(i2, 0)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64x ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t i1, int64_t i2) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vcreate_s64(i2), vcreate_s64(i1))); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi8 ++FORCE_INLINE __m128i _mm_set_epi8(signed char b15, ++ signed char b14, ++ signed char b13, ++ signed char b12, ++ signed char b11, ++ signed char b10, ++ signed char b9, ++ signed char b8, ++ signed char b7, ++ signed char b6, ++ signed char b5, ++ signed char b4, ++ signed char b3, ++ signed char b2, ++ signed char b1, ++ signed char b0) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd ++FORCE_INLINE __m128d _mm_set_pd(double e1, double e0) ++{ ++ double ALIGN_STRUCT(16) data[2] = {e0, e1}; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64((float64_t *) data)); ++#else ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) data)); ++#endif ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd1 ++#define _mm_set_pd1 _mm_set1_pd ++ ++// Copy double-precision (64-bit) floating-point element a to the lower element ++// of dst, and zero the upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_sd ++FORCE_INLINE __m128d _mm_set_sd(double a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(a, vdupq_n_f64(0), 0)); ++#else ++ return _mm_set_pd(0, a); ++#endif ++} ++ ++// Broadcast 16-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi16 ++FORCE_INLINE __m128i _mm_set1_epi16(short w) ++{ ++ return vreinterpretq_m128i_s16(vdupq_n_s16(w)); ++} ++ ++// Broadcast 32-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi32 ++FORCE_INLINE __m128i _mm_set1_epi32(int _i) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(_i)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64 ++FORCE_INLINE __m128i _mm_set1_epi64(__m64 _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_lane_s64(_i, 0)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64x ++FORCE_INLINE __m128i _mm_set1_epi64x(int64_t _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_n_s64(_i)); ++} ++ ++// Broadcast 8-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi8 ++FORCE_INLINE __m128i _mm_set1_epi8(signed char w) ++{ ++ return vreinterpretq_m128i_s8(vdupq_n_s8(w)); ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_pd ++FORCE_INLINE __m128d _mm_set1_pd(double d) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(d)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(int64_t *) &d)); ++#endif ++} ++ ++// Set packed 16-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi16 ++FORCE_INLINE __m128i _mm_setr_epi16(short w0, ++ short w1, ++ short w2, ++ short w3, ++ short w4, ++ short w5, ++ short w6, ++ short w7) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {w0, w1, w2, w3, w4, w5, w6, w7}; ++ return vreinterpretq_m128i_s16(vld1q_s16((int16_t *) data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi32 ++FORCE_INLINE __m128i _mm_setr_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i3, i2, i1, i0}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi64 ++FORCE_INLINE __m128i _mm_setr_epi64(__m64 e1, __m64 e0) ++{ ++ return vreinterpretq_m128i_s64(vcombine_s64(e1, e0)); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi8 ++FORCE_INLINE __m128i _mm_setr_epi8(signed char b0, ++ signed char b1, ++ signed char b2, ++ signed char b3, ++ signed char b4, ++ signed char b5, ++ signed char b6, ++ signed char b7, ++ signed char b8, ++ signed char b9, ++ signed char b10, ++ signed char b11, ++ signed char b12, ++ signed char b13, ++ signed char b14, ++ signed char b15) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_pd ++FORCE_INLINE __m128d _mm_setr_pd(double e1, double e0) ++{ ++ return _mm_set_pd(e0, e1); ++} ++ ++// Return vector of type __m128d with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_pd ++FORCE_INLINE __m128d _mm_setzero_pd(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(0)); ++#else ++ return vreinterpretq_m128d_f32(vdupq_n_f32(0)); ++#endif ++} ++ ++// Return vector of type __m128i with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_si128 ++FORCE_INLINE __m128i _mm_setzero_si128(void) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(0)); ++} ++ ++// Shuffle 32-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi32 ++// FORCE_INLINE __m128i _mm_shuffle_epi32(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shuffle_epi32(a, imm) \ ++ __extension__({ \ ++ int32x4_t _input = vreinterpretq_s32_m128i(a); \ ++ int32x4_t _shuf = \ ++ vshuffleq_s32(_input, _input, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ ((imm) >> 4) & 0x3, ((imm) >> 6) & 0x3); \ ++ vreinterpretq_m128i_s32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_epi32(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, __m128i ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_epi_1032(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_epi_2301(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_epi_0321(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_epi_2103(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_shuffle_epi_1010(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_epi_1001(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_epi_0101(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 1, 1): \ ++ ret = _mm_shuffle_epi_2211(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 2, 2): \ ++ ret = _mm_shuffle_epi_0122(_a); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 2): \ ++ ret = _mm_shuffle_epi_3332(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 0, 0): \ ++ ret = _mm_shuffle_epi32_splat(_a, 0); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 1, 1): \ ++ ret = _mm_shuffle_epi32_splat(_a, 1); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 2, 2): \ ++ ret = _mm_shuffle_epi32_splat(_a, 2); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 3): \ ++ ret = _mm_shuffle_epi32_splat(_a, 3); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_epi32_default(_a, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Shuffle double-precision (64-bit) floating-point elements using the control ++// in imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pd ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pd(a, b, imm8) \ ++ vreinterpretq_m128d_s64( \ ++ vshuffleq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b), \ ++ imm8 & 0x1, ((imm8 & 0x2) >> 1) + 2)) ++#else ++#define _mm_shuffle_pd(a, b, imm8) \ ++ _mm_castsi128_pd(_mm_set_epi64x( \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(b), (imm8 & 0x2) >> 1), \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(a), imm8 & 0x1))) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflehi_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflehi_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = \ ++ vshuffleq_s16(_input, _input, 0, 1, 2, 3, ((imm) & (0x3)) + 4, \ ++ (((imm) >> 2) & 0x3) + 4, (((imm) >> 4) & 0x3) + 4, \ ++ (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflehi_epi16(a, imm) _mm_shufflehi_epi16_function((a), (imm)) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflelo_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflelo_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = vshuffleq_s16( \ ++ _input, _input, ((imm) & (0x3)), (((imm) >> 2) & 0x3), \ ++ (((imm) >> 4) & 0x3), (((imm) >> 6) & 0x3), 4, 5, 6, 7); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflelo_epi16(a, imm) _mm_shufflelo_epi16_function((a), (imm)) ++#endif ++ ++// Shift packed 16-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi16 ++FORCE_INLINE __m128i _mm_sll_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16((int16_t) c); ++ return vreinterpretq_m128i_s16(vshlq_s16(vreinterpretq_s16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi32 ++FORCE_INLINE __m128i _mm_sll_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32((int32_t) c); ++ return vreinterpretq_m128i_s32(vshlq_s32(vreinterpretq_s32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi64 ++FORCE_INLINE __m128i _mm_sll_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64((int64_t) c); ++ return vreinterpretq_m128i_s64(vshlq_s64(vreinterpretq_s64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi16 ++FORCE_INLINE __m128i _mm_slli_epi16(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~15)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16(vreinterpretq_s16_m128i(a), vdupq_n_s16(imm))); ++} ++ ++// Shift packed 32-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi32 ++FORCE_INLINE __m128i _mm_slli_epi32(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~31)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32(vreinterpretq_s32_m128i(a), vdupq_n_s32(imm))); ++} ++ ++// Shift packed 64-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi64 ++FORCE_INLINE __m128i _mm_slli_epi64(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~63)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s64( ++ vshlq_s64(vreinterpretq_s64_m128i(a), vdupq_n_s64(imm))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_si128 ++#define _mm_slli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely(imm == 0)) ret = vreinterpretq_s8_m128i(_a); \ ++ else if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vdupq_n_s8(0), vreinterpretq_s8_m128i(_a), \ ++ ((imm <= 0 || imm > 15) ? 0 : (16 - imm))); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Compute the square root of packed double-precision (64-bit) floating-point ++// elements in a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_pd ++FORCE_INLINE __m128d _mm_sqrt_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsqrtq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double a0 = sqrt(((double *) &a)[0]); ++ double a1 = sqrt(((double *) &a)[1]); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Compute the square root of the lower double-precision (64-bit) floating-point ++// element in b, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_sd ++FORCE_INLINE __m128d _mm_sqrt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_sqrt_pd(b)); ++#else ++ return _mm_set_pd(((double *) &a)[1], sqrt(((double *) &b)[0])); ++#endif ++} ++ ++// Shift packed 16-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi16 ++FORCE_INLINE __m128i _mm_sra_epi16(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_cmplt_epi16(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16((int16x8_t) a, vdupq_n_s16((int) -c))); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi32 ++FORCE_INLINE __m128i _mm_sra_epi32(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_cmplt_epi32(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32((int32x4_t) a, vdupq_n_s32((int) -c))); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in sign ++// bits, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi16 ++FORCE_INLINE __m128i _mm_srai_epi16(__m128i a, int imm) ++{ ++ const int count = (imm & ~15) ? 15 : imm; ++ return (__m128i) vshlq_s16((int16x8_t) a, vdupq_n_s16(-count)); ++} ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi32 ++// FORCE_INLINE __m128i _mm_srai_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srai_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) == 0)) { \ ++ ret = _a; \ ++ } else if (_sse2neon_likely(0 < (imm) && (imm) < 32)) { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshlq_s32(vreinterpretq_s32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } else { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshrq_n_s32(vreinterpretq_s32_m128i(_a), 31)); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 16-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi16 ++FORCE_INLINE __m128i _mm_srl_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16(-(int16_t) c); ++ return vreinterpretq_m128i_u16(vshlq_u16(vreinterpretq_u16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi32 ++FORCE_INLINE __m128i _mm_srl_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32(-(int32_t) c); ++ return vreinterpretq_m128i_u32(vshlq_u32(vreinterpretq_u32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi64 ++FORCE_INLINE __m128i _mm_srl_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64(-(int64_t) c); ++ return vreinterpretq_m128i_u64(vshlq_u64(vreinterpretq_u64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi16 ++#define _mm_srli_epi16(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~15)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u16( \ ++ vshlq_u16(vreinterpretq_u16_m128i(_a), vdupq_n_s16(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi32 ++// FORCE_INLINE __m128i _mm_srli_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srli_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~31)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u32( \ ++ vshlq_u32(vreinterpretq_u32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 64-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi64 ++#define _mm_srli_epi64(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~63)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u64( \ ++ vshlq_u64(vreinterpretq_u64_m128i(_a), vdupq_n_s64(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_si128 ++#define _mm_srli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vreinterpretq_s8_m128i(_a), vdupq_n_s8(0), \ ++ (imm > 15 ? 0 : imm)); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd ++FORCE_INLINE void _mm_store_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64((float64_t *) mem_addr, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_f32((float32_t *) mem_addr, vreinterpretq_f32_m128d(a)); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd1 ++FORCE_INLINE void _mm_store_pd1(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x1_t a_low = vget_low_f64(vreinterpretq_f64_m128d(a)); ++ vst1q_f64((float64_t *) mem_addr, ++ vreinterpretq_f64_m128d(vcombine_f64(a_low, a_low))); ++#else ++ float32x2_t a_low = vget_low_f32(vreinterpretq_f32_m128d(a)); ++ vst1q_f32((float32_t *) mem_addr, ++ vreinterpretq_f32_m128d(vcombine_f32(a_low, a_low))); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_store_sd ++FORCE_INLINE void _mm_store_sd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_u64((uint64_t *) mem_addr, vget_low_u64(vreinterpretq_u64_m128d(a))); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_si128 ++FORCE_INLINE void _mm_store_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#expand=9,526,5601&text=_mm_store1_pd ++#define _mm_store1_pd _mm_store_pd1 ++ ++// Store the upper double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pd ++FORCE_INLINE void _mm_storeh_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_high_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_high_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 64-bit integer from the first element of a into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_epi64 ++FORCE_INLINE void _mm_storel_epi64(__m128i *a, __m128i b) ++{ ++ vst1_u64((uint64_t *) a, vget_low_u64(vreinterpretq_u64_m128i(b))); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pd ++FORCE_INLINE void _mm_storel_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_low_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 2 double-precision (64-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_pd ++FORCE_INLINE void _mm_storer_pd(double *mem_addr, __m128d a) ++{ ++ float32x4_t f = vreinterpretq_f32_m128d(a); ++ _mm_store_pd(mem_addr, vreinterpretq_m128d_f32(vextq_f32(f, f, 2))); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_pd ++FORCE_INLINE void _mm_storeu_pd(double *mem_addr, __m128d a) ++{ ++ _mm_store_pd(mem_addr, a); ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si128 ++FORCE_INLINE void _mm_storeu_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store 32-bit integer from the first element of a into memory. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si32 ++FORCE_INLINE void _mm_storeu_si32(void *p, __m128i a) ++{ ++ vst1q_lane_s32((int32_t *) p, vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory using a non-temporal memory hint. mem_addr must ++// be aligned on a 16-byte boundary or a general-protection exception may be ++// generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pd ++FORCE_INLINE void _mm_stream_pd(double *p, __m128d a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (__m128d *) p); ++#elif defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64(p, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128d(a)); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory using a non-temporal memory ++// hint. mem_addr must be aligned on a 16-byte boundary or a general-protection ++// exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si128 ++FORCE_INLINE void _mm_stream_si128(__m128i *p, __m128i a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, p); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128i(a)); ++#endif ++} ++ ++// Store 32-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si32 ++FORCE_INLINE void _mm_stream_si32(int *p, int a) ++{ ++ vst1q_lane_s32((int32_t *) p, vdupq_n_s32(a), 0); ++} ++ ++// Store 64-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si64 ++FORCE_INLINE void _mm_stream_si64(__int64 *p, __int64 a) ++{ ++ vst1_s64((int64_t *) p, vdup_n_s64((int64_t) a)); ++} ++ ++// Subtract packed 16-bit integers in b from packed 16-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi16 ++FORCE_INLINE __m128i _mm_sub_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed 32-bit integers in b from packed 32-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi32 ++FORCE_INLINE __m128i _mm_sub_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Subtract packed 64-bit integers in b from packed 64-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi64 ++FORCE_INLINE __m128i _mm_sub_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vsubq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Subtract packed 8-bit integers in b from packed 8-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi8 ++FORCE_INLINE __m128i _mm_sub_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed double-precision (64-bit) floating-point elements in b from ++// packed double-precision (64-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_sub_pd ++FORCE_INLINE __m128d _mm_sub_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] - db[0]; ++ c[1] = da[1] - db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Subtract the lower double-precision (64-bit) floating-point element in b from ++// the lower double-precision (64-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_sd ++FORCE_INLINE __m128d _mm_sub_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_sub_pd(a, b)); ++} ++ ++// Subtract 64-bit integer b from 64-bit integer a, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_si64 ++FORCE_INLINE __m64 _mm_sub_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vsub_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Subtract packed signed 16-bit integers in b from packed 16-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi16 ++FORCE_INLINE __m128i _mm_subs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed signed 8-bit integers in b from packed 8-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi8 ++FORCE_INLINE __m128i _mm_subs_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed unsigned 16-bit integers in b from packed unsigned 16-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu16 ++FORCE_INLINE __m128i _mm_subs_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqsubq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Subtract packed unsigned 8-bit integers in b from packed unsigned 8-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu8 ++FORCE_INLINE __m128i _mm_subs_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqsubq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++#define _mm_ucomieq_sd _mm_comieq_sd ++#define _mm_ucomige_sd _mm_comige_sd ++#define _mm_ucomigt_sd _mm_comigt_sd ++#define _mm_ucomile_sd _mm_comile_sd ++#define _mm_ucomilt_sd _mm_comilt_sd ++#define _mm_ucomineq_sd _mm_comineq_sd ++ ++// Return vector of type __m128d with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_pd ++FORCE_INLINE __m128d _mm_undefined_pd(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128d a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_pd(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi16 ++FORCE_INLINE __m128i _mm_unpackhi_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip2q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi32 ++FORCE_INLINE __m128i _mm_unpackhi_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip2q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_high_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi64 ++FORCE_INLINE __m128i _mm_unpackhi_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip2q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_h = vget_high_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_h = vget_high_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_h, b_h)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the high half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi8 ++FORCE_INLINE __m128i _mm_unpackhi_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip2q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the high half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_pd ++FORCE_INLINE __m128d _mm_unpackhi_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip2q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_high_s64(vreinterpretq_s64_m128d(a)), ++ vget_high_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi16 ++FORCE_INLINE __m128i _mm_unpacklo_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip1q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi32 ++FORCE_INLINE __m128i _mm_unpacklo_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip1q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_low_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi64 ++FORCE_INLINE __m128i _mm_unpacklo_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip1q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_l = vget_low_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_l = vget_low_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_l, b_l)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi8 ++FORCE_INLINE __m128i _mm_unpacklo_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip1q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_pd ++FORCE_INLINE __m128d _mm_unpacklo_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip1q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_low_s64(vreinterpretq_s64_m128d(a)), ++ vget_low_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Compute the bitwise XOR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_pd ++FORCE_INLINE __m128d _mm_xor_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ veorq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise XOR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_si128 ++FORCE_INLINE __m128i _mm_xor_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ veorq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++/* SSE3 */ ++ ++// Alternatively add and subtract packed double-precision (64-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_addsub_pd ++FORCE_INLINE __m128d _mm_addsub_pd(__m128d a, __m128d b) ++{ ++ _sse2neon_const __m128d mask = _mm_set_pd(1.0f, -1.0f); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vfmaq_f64(vreinterpretq_f64_m128d(a), ++ vreinterpretq_f64_m128d(b), ++ vreinterpretq_f64_m128d(mask))); ++#else ++ return _mm_add_pd(_mm_mul_pd(b, mask), a); ++#endif ++} ++ ++// Alternatively add and subtract packed single-precision (32-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=addsub_ps ++FORCE_INLINE __m128 _mm_addsub_ps(__m128 a, __m128 b) ++{ ++ _sse2neon_const __m128 mask = _mm_setr_ps(-1.0f, 1.0f, -1.0f, 1.0f); ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_FMA) /* VFPv4+ */ ++ return vreinterpretq_m128_f32(vfmaq_f32(vreinterpretq_f32_m128(a), ++ vreinterpretq_f32_m128(mask), ++ vreinterpretq_f32_m128(b))); ++#else ++ return _mm_add_ps(_mm_mul_ps(b, mask), a); ++#endif ++} ++ ++// Horizontally add adjacent pairs of double-precision (64-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pd ++FORCE_INLINE __m128d _mm_hadd_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vpaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[] = {da[0] + da[1], db[0] + db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of single-precision (32-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_ps ++FORCE_INLINE __m128 _mm_hadd_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vpaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vpadd_f32(a10, a32), vpadd_f32(b10, b32))); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of double-precision (64-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pd ++FORCE_INLINE __m128d _mm_hsub_pd(__m128d _a, __m128d _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vuzp1q_f64(a, b), vuzp2q_f64(a, b))); ++#else ++ double *da = (double *) &_a; ++ double *db = (double *) &_b; ++ double c[] = {da[0] - da[1], db[0] - db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of single-precision (32-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_ps ++FORCE_INLINE __m128 _mm_hsub_ps(__m128 _a, __m128 _b) ++{ ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vuzp1q_f32(a, b), vuzp2q_f32(a, b))); ++#else ++ float32x4x2_t c = vuzpq_f32(a, b); ++ return vreinterpretq_m128_f32(vsubq_f32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Load 128-bits of integer data from unaligned memory into dst. This intrinsic ++// may perform better than _mm_loadu_si128 when the data crosses a cache line ++// boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lddqu_si128 ++#define _mm_lddqu_si128 _mm_loadu_si128 ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loaddup_pd ++#define _mm_loaddup_pd _mm_load1_pd ++ ++// Duplicate the low double-precision (64-bit) floating-point element from a, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movedup_pd ++FORCE_INLINE __m128d _mm_movedup_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdupq_laneq_f64(vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_u64( ++ vdupq_n_u64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0))); ++#endif ++} ++ ++// Duplicate odd-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehdup_ps ++FORCE_INLINE __m128 _mm_movehdup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 1, 1, 3, 3)); ++#else ++ float32_t a1 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ float32_t a3 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 3); ++ float ALIGN_STRUCT(16) data[4] = {a1, a1, a3, a3}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Duplicate even-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_moveldup_ps ++FORCE_INLINE __m128 _mm_moveldup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 0, 0, 2, 2)); ++#else ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32_t a2 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 2); ++ float ALIGN_STRUCT(16) data[4] = {a0, a0, a2, a2}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++/* SSSE3 */ ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi16 ++FORCE_INLINE __m128i _mm_abs_epi16(__m128i a) ++{ ++ return vreinterpretq_m128i_s16(vabsq_s16(vreinterpretq_s16_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi32 ++FORCE_INLINE __m128i _mm_abs_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32(vabsq_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi8 ++FORCE_INLINE __m128i _mm_abs_epi8(__m128i a) ++{ ++ return vreinterpretq_m128i_s8(vabsq_s8(vreinterpretq_s8_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi16 ++FORCE_INLINE __m64 _mm_abs_pi16(__m64 a) ++{ ++ return vreinterpret_m64_s16(vabs_s16(vreinterpret_s16_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi32 ++FORCE_INLINE __m64 _mm_abs_pi32(__m64 a) ++{ ++ return vreinterpret_m64_s32(vabs_s32(vreinterpret_s32_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi8 ++FORCE_INLINE __m64 _mm_abs_pi8(__m64 a) ++{ ++ return vreinterpret_m64_s8(vabs_s8(vreinterpret_s8_m64(a))); ++} ++ ++// Concatenate 16-byte blocks in a and b into a 32-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 16 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_epi8 ++#if defined(__GNUC__) && !defined(__clang__) ++#define _mm_alignr_epi8(a, b, imm) \ ++ __extension__({ \ ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); \ ++ uint8x16_t _b = vreinterpretq_u8_m128i(b); \ ++ __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) \ ++ ret = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) \ ++ ret = _mm_srli_si128(a, imm >= 16 ? imm - 16 : 0); \ ++ else \ ++ ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(_b, _a, imm < 16 ? imm : 0)); \ ++ ret; \ ++ }) ++ ++#else ++#define _mm_alignr_epi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, uint8x16_t __a = vreinterpretq_u8_m128i(_a); \ ++ uint8x16_t __b = vreinterpretq_u8_m128i(_b); __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) ret = \ ++ vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) ret = \ ++ _mm_srli_si128(_a, imm >= 16 ? imm - 16 : 0); \ ++ else ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(__b, __a, imm < 16 ? imm : 0)); \ ++ _sse2neon_return(ret);) ++ ++#endif ++ ++// Concatenate 8-byte blocks in a and b into a 16-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 8 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_pi8 ++#define _mm_alignr_pi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m64, a, b, __m64 ret; if (_sse2neon_unlikely((imm) >= 16)) { \ ++ ret = vreinterpret_m64_s8(vdup_n_s8(0)); \ ++ } else { \ ++ uint8x8_t tmp_low; \ ++ uint8x8_t tmp_high; \ ++ if ((imm) >= 8) { \ ++ const int idx = (imm) -8; \ ++ tmp_low = vreinterpret_u8_m64(_a); \ ++ tmp_high = vdup_n_u8(0); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } else { \ ++ const int idx = (imm); \ ++ tmp_low = vreinterpret_u8_m64(_b); \ ++ tmp_high = vreinterpret_u8_m64(_a); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } \ ++ } _sse2neon_return(ret);) ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi16 ++FORCE_INLINE __m128i _mm_hadd_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16(vpaddq_s16(a, b)); ++#else ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(vget_low_s16(a), vget_high_s16(a)), ++ vpadd_s16(vget_low_s16(b), vget_high_s16(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi32 ++FORCE_INLINE __m128i _mm_hadd_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32(vpaddq_s32(a, b)); ++#else ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vpadd_s32(vget_low_s32(a), vget_high_s32(a)), ++ vpadd_s32(vget_low_s32(b), vget_high_s32(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi16 ++FORCE_INLINE __m64 _mm_hadd_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vpadd_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi32 ++FORCE_INLINE __m64 _mm_hadd_pi32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s32( ++ vpadd_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_epi16 ++FORCE_INLINE __m128i _mm_hadds_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ return vreinterpretq_s64_s16( ++ vqaddq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ // Interleave using vshrn/vmovn ++ // [a0|a2|a4|a6|b0|b2|b4|b6] ++ // [a1|a3|a5|a7|b1|b3|b5|b7] ++ int16x8_t ab0246 = vcombine_s16(vmovn_s32(a), vmovn_s32(b)); ++ int16x8_t ab1357 = vcombine_s16(vshrn_n_s32(a, 16), vshrn_n_s32(b, 16)); ++ // Saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(ab0246, ab1357)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_pi16 ++FORCE_INLINE __m64 _mm_hadds_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_s64_s16(vqadd_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t res = vuzp_s16(a, b); ++ return vreinterpret_s64_s16(vqadd_s16(res.val[0], res.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi16 ++FORCE_INLINE __m128i _mm_hsub_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi32 ++FORCE_INLINE __m128i _mm_hsub_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vuzp1q_s32(a, b), vuzp2q_s32(a, b))); ++#else ++ int32x4x2_t c = vuzpq_s32(a, b); ++ return vreinterpretq_m128i_s32(vsubq_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pi16 ++FORCE_INLINE __m64 _mm_hsub_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_hsub_pi32 ++FORCE_INLINE __m64 _mm_hsub_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s32(vsub_s32(vuzp1_s32(a, b), vuzp2_s32(a, b))); ++#else ++ int32x2x2_t c = vuzp_s32(a, b); ++ return vreinterpret_m64_s32(vsub_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_epi16 ++FORCE_INLINE __m128i _mm_hsubs_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vqsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_pi16 ++FORCE_INLINE __m64 _mm_hsubs_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vqsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vqsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, ++// and pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_epi16 ++FORCE_INLINE __m128i _mm_maddubs_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ int16x8_t tl = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_low_u8(a))), ++ vmovl_s8(vget_low_s8(b))); ++ int16x8_t th = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_high_u8(a))), ++ vmovl_s8(vget_high_s8(b))); ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vuzp1q_s16(tl, th), vuzp2q_s16(tl, th))); ++#else ++ // This would be much simpler if x86 would choose to zero extend OR sign ++ // extend, not both. This could probably be optimized better. ++ uint16x8_t a = vreinterpretq_u16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // Zero extend a ++ int16x8_t a_odd = vreinterpretq_s16_u16(vshrq_n_u16(a, 8)); ++ int16x8_t a_even = vreinterpretq_s16_u16(vbicq_u16(a, vdupq_n_u16(0xff00))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x8_t b_even = vshrq_n_s16(vshlq_n_s16(b, 8), 8); ++ int16x8_t b_odd = vshrq_n_s16(b, 8); ++ ++ // multiply ++ int16x8_t prod1 = vmulq_s16(a_even, b_even); ++ int16x8_t prod2 = vmulq_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(prod1, prod2)); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, and ++// pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_pi16 ++FORCE_INLINE __m64 _mm_maddubs_pi16(__m64 _a, __m64 _b) ++{ ++ uint16x4_t a = vreinterpret_u16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // Zero extend a ++ int16x4_t a_odd = vreinterpret_s16_u16(vshr_n_u16(a, 8)); ++ int16x4_t a_even = vreinterpret_s16_u16(vand_u16(a, vdup_n_u16(0xff))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x4_t b_even = vshr_n_s16(vshl_n_s16(b, 8), 8); ++ int16x4_t b_odd = vshr_n_s16(b, 8); ++ ++ // multiply ++ int16x4_t prod1 = vmul_s16(a_even, b_even); ++ int16x4_t prod2 = vmul_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpret_m64_s16(vqadd_s16(prod1, prod2)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Shift right by 15 bits while rounding up, and store ++// the packed 16-bit integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_epi16 ++FORCE_INLINE __m128i _mm_mulhrs_epi16(__m128i a, __m128i b) ++{ ++ // Has issues due to saturation ++ // return vreinterpretq_m128i_s16(vqrdmulhq_s16(a, b)); ++ ++ // Multiply ++ int32x4_t mul_lo = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int32x4_t mul_hi = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ // Rounding narrowing shift right ++ // narrow = (int16_t)((mul + 16384) >> 15); ++ int16x4_t narrow_lo = vrshrn_n_s32(mul_lo, 15); ++ int16x4_t narrow_hi = vrshrn_n_s32(mul_hi, 15); ++ ++ // Join together ++ return vreinterpretq_m128i_s16(vcombine_s16(narrow_lo, narrow_hi)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Truncate each intermediate integer to the 18 most ++// significant bits, round by adding 1, and store bits [16:1] to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_pi16 ++FORCE_INLINE __m64 _mm_mulhrs_pi16(__m64 a, __m64 b) ++{ ++ int32x4_t mul_extend = ++ vmull_s16((vreinterpret_s16_m64(a)), (vreinterpret_s16_m64(b))); ++ ++ // Rounding narrowing shift right ++ return vreinterpret_m64_s16(vrshrn_n_s32(mul_extend, 15)); ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi8 ++FORCE_INLINE __m128i _mm_shuffle_epi8(__m128i a, __m128i b) ++{ ++ int8x16_t tbl = vreinterpretq_s8_m128i(a); // input a ++ uint8x16_t idx = vreinterpretq_u8_m128i(b); // input b ++ uint8x16_t idx_masked = ++ vandq_u8(idx, vdupq_n_u8(0x8F)); // avoid using meaningless bits ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8(vqtbl1q_s8(tbl, idx_masked)); ++#elif defined(__GNUC__) ++ int8x16_t ret; ++ // %e and %f represent the even and odd D registers ++ // respectively. ++ __asm__ __volatile__( ++ "vtbl.8 %e[ret], {%e[tbl], %f[tbl]}, %e[idx]\n" ++ "vtbl.8 %f[ret], {%e[tbl], %f[tbl]}, %f[idx]\n" ++ : [ret] "=&w"(ret) ++ : [tbl] "w"(tbl), [idx] "w"(idx_masked)); ++ return vreinterpretq_m128i_s8(ret); ++#else ++ // use this line if testing on aarch64 ++ int8x8x2_t a_split = {vget_low_s8(tbl), vget_high_s8(tbl)}; ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vtbl2_s8(a_split, vget_low_u8(idx_masked)), ++ vtbl2_s8(a_split, vget_high_u8(idx_masked)))); ++#endif ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi8 ++FORCE_INLINE __m64 _mm_shuffle_pi8(__m64 a, __m64 b) ++{ ++ const int8x8_t controlMask = ++ vand_s8(vreinterpret_s8_m64(b), vdup_n_s8((int8_t) (0x1 << 7 | 0x07))); ++ int8x8_t res = vtbl1_s8(vreinterpret_s8_m64(a), controlMask); ++ return vreinterpret_m64_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed ++// 16-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi16 ++FORCE_INLINE __m128i _mm_sign_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x8_t ltMask = vreinterpretq_u16_s16(vshrq_n_s16(b, 15)); ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqzq_s16(b)); ++#else ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqq_s16(b, vdupq_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s16(a) equals to negative ++ // 'a') based on ltMask ++ int16x8_t masked = vbslq_s16(ltMask, vnegq_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x8_t res = vbicq_s16(masked, zeroMask); ++ return vreinterpretq_m128i_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed ++// 32-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi32 ++FORCE_INLINE __m128i _mm_sign_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x4_t ltMask = vreinterpretq_u32_s32(vshrq_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqzq_s32(b)); ++#else ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqq_s32(b, vdupq_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s32(a) equals to negative ++ // 'a') based on ltMask ++ int32x4_t masked = vbslq_s32(ltMask, vnegq_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x4_t res = vbicq_s32(masked, zeroMask); ++ return vreinterpretq_m128i_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed ++// 8-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi8 ++FORCE_INLINE __m128i _mm_sign_epi8(__m128i _a, __m128i _b) ++{ ++ int8x16_t a = vreinterpretq_s8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x16_t ltMask = vreinterpretq_u8_s8(vshrq_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqzq_s8(b)); ++#else ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqq_s8(b, vdupq_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s8(a) return negative 'a') ++ // based on ltMask ++ int8x16_t masked = vbslq_s8(ltMask, vnegq_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x16_t res = vbicq_s8(masked, zeroMask); ++ ++ return vreinterpretq_m128i_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed 16-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi16 ++FORCE_INLINE __m64 _mm_sign_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x4_t ltMask = vreinterpret_u16_s16(vshr_n_s16(b, 15)); ++ ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceqz_s16(b)); ++#else ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceq_s16(b, vdup_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s16(a) return negative 'a') ++ // based on ltMask ++ int16x4_t masked = vbsl_s16(ltMask, vneg_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x4_t res = vbic_s16(masked, zeroMask); ++ ++ return vreinterpret_m64_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed 32-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi32 ++FORCE_INLINE __m64 _mm_sign_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x2_t ltMask = vreinterpret_u32_s32(vshr_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceqz_s32(b)); ++#else ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceq_s32(b, vdup_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s32(a) return negative 'a') ++ // based on ltMask ++ int32x2_t masked = vbsl_s32(ltMask, vneg_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x2_t res = vbic_s32(masked, zeroMask); ++ ++ return vreinterpret_m64_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed 8-bit integer ++// in b is negative, and store the results in dst. Element in dst are zeroed out ++// when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi8 ++FORCE_INLINE __m64 _mm_sign_pi8(__m64 _a, __m64 _b) ++{ ++ int8x8_t a = vreinterpret_s8_m64(_a); ++ int8x8_t b = vreinterpret_s8_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x8_t ltMask = vreinterpret_u8_s8(vshr_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceqz_s8(b)); ++#else ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceq_s8(b, vdup_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s8(a) return negative 'a') ++ // based on ltMask ++ int8x8_t masked = vbsl_s8(ltMask, vneg_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x8_t res = vbic_s8(masked, zeroMask); ++ ++ return vreinterpret_m64_s8(res); ++} ++ ++/* SSE4.1 */ ++ ++// Blend packed 16-bit integers from a and b using control mask imm8, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_epi16 ++// FORCE_INLINE __m128i _mm_blend_epi16(__m128i a, __m128i b, ++// __constrange(0,255) int imm) ++#define _mm_blend_epi16(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, \ ++ const uint16_t _mask[8] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 1)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 2)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 3)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 4)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 5)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 6)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 7)) ? (uint16_t) -1 : 0x0); \ ++ uint16x8_t _mask_vec = vld1q_u16(_mask); \ ++ uint16x8_t __a = vreinterpretq_u16_m128i(_a); \ ++ uint16x8_t __b = vreinterpretq_u16_m128i(_b); _sse2neon_return( \ ++ vreinterpretq_m128i_u16(vbslq_u16(_mask_vec, __b, __a)));) ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using control mask imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_pd ++#define _mm_blend_pd(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128d, a, b, \ ++ const uint64_t _mask[2] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? ~UINT64_C(0) : UINT64_C(0), \ ++ ((imm) & (1 << 1)) ? ~UINT64_C(0) : UINT64_C(0)); \ ++ uint64x2_t _mask_vec = vld1q_u64(_mask); \ ++ uint64x2_t __a = vreinterpretq_u64_m128d(_a); \ ++ uint64x2_t __b = vreinterpretq_u64_m128d(_b); _sse2neon_return( \ ++ vreinterpretq_m128d_u64(vbslq_u64(_mask_vec, __b, __a)));) ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_ps ++FORCE_INLINE __m128 _mm_blend_ps(__m128 _a, __m128 _b, const char imm8) ++{ ++ const uint32_t ALIGN_STRUCT(16) ++ data[4] = {((imm8) & (1 << 0)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0}; ++ uint32x4_t mask = vld1q_u32(data); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Blend packed 8-bit integers from a and b using mask, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_epi8 ++FORCE_INLINE __m128i _mm_blendv_epi8(__m128i _a, __m128i _b, __m128i _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint8x16_t mask = ++ vreinterpretq_u8_s8(vshrq_n_s8(vreinterpretq_s8_m128i(_mask), 7)); ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ uint8x16_t b = vreinterpretq_u8_m128i(_b); ++ return vreinterpretq_m128i_u8(vbslq_u8(mask, b, a)); ++} ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_pd ++FORCE_INLINE __m128d _mm_blendv_pd(__m128d _a, __m128d _b, __m128d _mask) ++{ ++ uint64x2_t mask = ++ vreinterpretq_u64_s64(vshrq_n_s64(vreinterpretq_s64_m128d(_mask), 63)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64(vbslq_f64(mask, b, a)); ++#else ++ uint64x2_t a = vreinterpretq_u64_m128d(_a); ++ uint64x2_t b = vreinterpretq_u64_m128d(_b); ++ return vreinterpretq_m128d_u64(vbslq_u64(mask, b, a)); ++#endif ++} ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_ps ++FORCE_INLINE __m128 _mm_blendv_ps(__m128 _a, __m128 _b, __m128 _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint32x4_t mask = ++ vreinterpretq_u32_s32(vshrq_n_s32(vreinterpretq_s32_m128(_mask), 31)); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a up ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_pd ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndpq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(ceil(f[1]), ceil(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a up to ++// an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ps ++FORCE_INLINE __m128 _mm_ceil_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndpq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ceilf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b up to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_sd ++FORCE_INLINE __m128d _mm_ceil_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_ceil_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b up to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ss ++FORCE_INLINE __m128 _mm_ceil_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_ceil_ps(b)); ++} ++ ++// Compare packed 64-bit integers in a and b for equality, and store the results ++// in dst ++FORCE_INLINE __m128i _mm_cmpeq_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vceqq_u64(vreinterpretq_u64_m128i(a), vreinterpretq_u64_m128i(b))); ++#else ++ // ARMv7 lacks vceqq_u64 ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128i_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Sign extend packed 16-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi32 ++FORCE_INLINE __m128i _mm_cvtepi16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vmovl_s16(vget_low_s16(vreinterpretq_s16_m128i(a)))); ++} ++ ++// Sign extend packed 16-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi64 ++FORCE_INLINE __m128i _mm_cvtepi16_epi64(__m128i a) ++{ ++ int16x8_t s16x8 = vreinterpretq_s16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Sign extend packed 32-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_epi64 ++FORCE_INLINE __m128i _mm_cvtepi32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a)))); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 16-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi16 ++FORCE_INLINE __m128i _mm_cvtepi8_epi16(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ return vreinterpretq_m128i_s16(s16x8); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi32 ++FORCE_INLINE __m128i _mm_cvtepi8_epi32(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_s32(s32x4); ++} ++ ++// Sign extend packed 8-bit integers in the low 8 bytes of a to packed 64-bit ++// integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi64 ++FORCE_INLINE __m128i _mm_cvtepi8_epi64(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi32 ++FORCE_INLINE __m128i _mm_cvtepu16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_u32( ++ vmovl_u16(vget_low_u16(vreinterpretq_u16_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi64 ++FORCE_INLINE __m128i _mm_cvtepu16_epi64(__m128i a) ++{ ++ uint16x8_t u16x8 = vreinterpretq_u16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Zero extend packed unsigned 32-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu32_epi64 ++FORCE_INLINE __m128i _mm_cvtepu32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_u64( ++ vmovl_u32(vget_low_u32(vreinterpretq_u32_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 16-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi16 ++FORCE_INLINE __m128i _mm_cvtepu8_epi16(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx HGFE DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0H0G 0F0E 0D0C 0B0A */ ++ return vreinterpretq_m128i_u16(u16x8); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi32 ++FORCE_INLINE __m128i _mm_cvtepu8_epi32(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_u32(u32x4); ++} ++ ++// Zero extend packed unsigned 8-bit integers in the low 8 bytes of a to packed ++// 64-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi64 ++FORCE_INLINE __m128i _mm_cvtepu8_epi64(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Conditionally multiply the packed double-precision (64-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, and ++// conditionally store the sum in dst using the low 4 bits of imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_pd ++FORCE_INLINE __m128d _mm_dp_pd(__m128d a, __m128d b, const int imm) ++{ ++ // Generate mask value from constant immediate bit value ++ const int64_t bit0Mask = imm & 0x01 ? UINT64_MAX : 0; ++ const int64_t bit1Mask = imm & 0x02 ? UINT64_MAX : 0; ++#if !SSE2NEON_PRECISE_DP ++ const int64_t bit4Mask = imm & 0x10 ? UINT64_MAX : 0; ++ const int64_t bit5Mask = imm & 0x20 ? UINT64_MAX : 0; ++#endif ++ // Conditional multiplication ++#if !SSE2NEON_PRECISE_DP ++ __m128d mul = _mm_mul_pd(a, b); ++ const __m128d mulMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit5Mask, bit4Mask)); ++ __m128d tmp = _mm_and_pd(mul, mulMask); ++#else ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double d0 = (imm & 0x10) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 0) ++ : 0; ++ double d1 = (imm & 0x20) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 1) ++ : 0; ++#else ++ double d0 = (imm & 0x10) ? ((double *) &a)[0] * ((double *) &b)[0] : 0; ++ double d1 = (imm & 0x20) ? ((double *) &a)[1] * ((double *) &b)[1] : 0; ++#endif ++ __m128d tmp = _mm_set_pd(d1, d0); ++#endif ++ // Sum the products ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double sum = vpaddd_f64(vreinterpretq_f64_m128d(tmp)); ++#else ++ double sum = *((double *) &tmp) + *(((double *) &tmp) + 1); ++#endif ++ // Conditionally store the sum ++ const __m128d sumMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit1Mask, bit0Mask)); ++ __m128d res = _mm_and_pd(_mm_set_pd1(sum), sumMask); ++ return res; ++} ++ ++// Conditionally multiply the packed single-precision (32-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, ++// and conditionally store the sum in dst using the low 4 bits of imm. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_ps ++FORCE_INLINE __m128 _mm_dp_ps(__m128 a, __m128 b, const int imm) ++{ ++ float32x4_t elementwise_prod = _mm_mul_ps(a, b); ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ /* shortcuts */ ++ if (imm == 0xFF) { ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++ ++ if ((imm & 0x0F) == 0x0F) { ++ if (!(imm & (1 << 4))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 0); ++ if (!(imm & (1 << 5))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 1); ++ if (!(imm & (1 << 6))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 2); ++ if (!(imm & (1 << 7))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 3); ++ ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++#endif ++ ++ float s = 0.0f; ++ ++ if (imm & (1 << 4)) ++ s += vgetq_lane_f32(elementwise_prod, 0); ++ if (imm & (1 << 5)) ++ s += vgetq_lane_f32(elementwise_prod, 1); ++ if (imm & (1 << 6)) ++ s += vgetq_lane_f32(elementwise_prod, 2); ++ if (imm & (1 << 7)) ++ s += vgetq_lane_f32(elementwise_prod, 3); ++ ++ const float32_t res[4] = { ++ (imm & 0x1) ? s : 0.0f, ++ (imm & 0x2) ? s : 0.0f, ++ (imm & 0x4) ? s : 0.0f, ++ (imm & 0x8) ? s : 0.0f, ++ }; ++ return vreinterpretq_m128_f32(vld1q_f32(res)); ++} ++ ++// Extract a 32-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi32 ++// FORCE_INLINE int _mm_extract_epi32(__m128i a, __constrange(0,4) int imm) ++#define _mm_extract_epi32(a, imm) \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)) ++ ++// Extract a 64-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi64 ++// FORCE_INLINE __int64 _mm_extract_epi64(__m128i a, __constrange(0,2) int imm) ++#define _mm_extract_epi64(a, imm) \ ++ vgetq_lane_s64(vreinterpretq_s64_m128i(a), (imm)) ++ ++// Extract an 8-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. FORCE_INLINE int _mm_extract_epi8(__m128i a, ++// __constrange(0,16) int imm) ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi8 ++#define _mm_extract_epi8(a, imm) vgetq_lane_u8(vreinterpretq_u8_m128i(a), (imm)) ++ ++// Extracts the selected single-precision (32-bit) floating-point from a. ++// FORCE_INLINE int _mm_extract_ps(__m128 a, __constrange(0,4) int imm) ++#define _mm_extract_ps(a, imm) vgetq_lane_s32(vreinterpretq_s32_m128(a), (imm)) ++ ++// Round the packed double-precision (64-bit) floating-point elements in a down ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_pd ++FORCE_INLINE __m128d _mm_floor_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndmq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(floor(f[1]), floor(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a down ++// to an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ps ++FORCE_INLINE __m128 _mm_floor_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndmq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(floorf(f[3]), floorf(f[2]), floorf(f[1]), floorf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b down to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_sd ++FORCE_INLINE __m128d _mm_floor_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_floor_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b down to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ss ++FORCE_INLINE __m128 _mm_floor_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_floor_ps(b)); ++} ++ ++// Copy a to dst, and insert the 32-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi32 ++// FORCE_INLINE __m128i _mm_insert_epi32(__m128i a, int b, ++// __constrange(0,4) int imm) ++#define _mm_insert_epi32(a, b, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vsetq_lane_s32((b), vreinterpretq_s32_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the 64-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi64 ++// FORCE_INLINE __m128i _mm_insert_epi64(__m128i a, __int64 b, ++// __constrange(0,2) int imm) ++#define _mm_insert_epi64(a, b, imm) \ ++ vreinterpretq_m128i_s64( \ ++ vsetq_lane_s64((b), vreinterpretq_s64_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the lower 8-bit integer from i into dst at the ++// location specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi8 ++// FORCE_INLINE __m128i _mm_insert_epi8(__m128i a, int b, ++// __constrange(0,16) int imm) ++#define _mm_insert_epi8(a, b, imm) \ ++ vreinterpretq_m128i_s8(vsetq_lane_s8((b), vreinterpretq_s8_m128i(a), (imm))) ++ ++// Copy a to tmp, then insert a single-precision (32-bit) floating-point ++// element from b into tmp using the control in imm8. Store tmp to dst using ++// the mask in imm8 (elements are zeroed out when the corresponding bit is set). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=insert_ps ++#define _mm_insert_ps(a, b, imm8) \ ++ _sse2neon_define2( \ ++ __m128, a, b, \ ++ float32x4_t tmp1 = \ ++ vsetq_lane_f32(vgetq_lane_f32(_b, (imm8 >> 6) & 0x3), \ ++ vreinterpretq_f32_m128(_a), 0); \ ++ float32x4_t tmp2 = \ ++ vsetq_lane_f32(vgetq_lane_f32(tmp1, 0), \ ++ vreinterpretq_f32_m128(_a), ((imm8 >> 4) & 0x3)); \ ++ const uint32_t data[4] = \ ++ _sse2neon_init(((imm8) & (1 << 0)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0); \ ++ uint32x4_t mask = vld1q_u32(data); \ ++ float32x4_t all_zeros = vdupq_n_f32(0); \ ++ \ ++ _sse2neon_return(vreinterpretq_m128_f32( \ ++ vbslq_f32(mask, all_zeros, vreinterpretq_f32_m128(tmp2))));) ++ ++// Compare packed signed 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi32 ++FORCE_INLINE __m128i _mm_max_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmaxq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi8 ++FORCE_INLINE __m128i _mm_max_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vmaxq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu16 ++FORCE_INLINE __m128i _mm_max_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vmaxq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_max_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vmaxq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi32 ++FORCE_INLINE __m128i _mm_min_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vminq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi8 ++FORCE_INLINE __m128i _mm_min_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vminq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu16 ++FORCE_INLINE __m128i _mm_min_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vminq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_min_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vminq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Horizontally compute the minimum amongst the packed unsigned 16-bit integers ++// in a, store the minimum and index in dst, and zero the remaining bits in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_minpos_epu16 ++FORCE_INLINE __m128i _mm_minpos_epu16(__m128i a) ++{ ++ __m128i dst; ++ uint16_t min, idx = 0; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Find the minimum value ++ min = vminvq_u16(vreinterpretq_u16_m128i(a)); ++ ++ // Get the index of the minimum value ++ static const uint16_t idxv[] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint16x8_t minv = vdupq_n_u16(min); ++ uint16x8_t cmeq = vceqq_u16(minv, vreinterpretq_u16_m128i(a)); ++ idx = vminvq_u16(vornq_u16(vld1q_u16(idxv), cmeq)); ++#else ++ // Find the minimum value ++ __m64 tmp; ++ tmp = vreinterpret_m64_u16( ++ vmin_u16(vget_low_u16(vreinterpretq_u16_m128i(a)), ++ vget_high_u16(vreinterpretq_u16_m128i(a)))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ min = vget_lane_u16(vreinterpret_u16_m64(tmp), 0); ++ // Get the index of the minimum value ++ int i; ++ for (i = 0; i < 8; i++) { ++ if (min == vgetq_lane_u16(vreinterpretq_u16_m128i(a), 0)) { ++ idx = (uint16_t) i; ++ break; ++ } ++ a = _mm_srli_si128(a, 2); ++ } ++#endif ++ // Generate result ++ dst = _mm_setzero_si128(); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(min, vreinterpretq_u16_m128i(dst), 0)); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(idx, vreinterpretq_u16_m128i(dst), 1)); ++ return dst; ++} ++ ++// Compute the sum of absolute differences (SADs) of quadruplets of unsigned ++// 8-bit integers in a compared to those in b, and store the 16-bit results in ++// dst. Eight SADs are performed using one quadruplet from b and eight ++// quadruplets from a. One quadruplet is selected from b starting at on the ++// offset specified in imm8. Eight quadruplets are formed from sequential 8-bit ++// integers selected from a starting at the offset specified in imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mpsadbw_epu8 ++FORCE_INLINE __m128i _mm_mpsadbw_epu8(__m128i a, __m128i b, const int imm) ++{ ++ uint8x16_t _a, _b; ++ ++ switch (imm & 0x4) { ++ case 0: ++ // do nothing ++ _a = vreinterpretq_u8_m128i(a); ++ break; ++ case 4: ++ _a = vreinterpretq_u8_u32(vextq_u32(vreinterpretq_u32_m128i(a), ++ vreinterpretq_u32_m128i(a), 1)); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ switch (imm & 0x3) { ++ case 0: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 0))); ++ break; ++ case 1: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 1))); ++ break; ++ case 2: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 2))); ++ break; ++ case 3: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 3))); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ int16x8_t c04, c15, c26, c37; ++ uint8x8_t low_b = vget_low_u8(_b); ++ c04 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a), low_b)); ++ uint8x16_t _a_1 = vextq_u8(_a, _a, 1); ++ c15 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_1), low_b)); ++ uint8x16_t _a_2 = vextq_u8(_a, _a, 2); ++ c26 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_2), low_b)); ++ uint8x16_t _a_3 = vextq_u8(_a, _a, 3); ++ c37 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_3), low_b)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // |0|4|2|6| ++ c04 = vpaddq_s16(c04, c26); ++ // |1|5|3|7| ++ c15 = vpaddq_s16(c15, c37); ++ ++ int32x4_t trn1_c = ++ vtrn1q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ int32x4_t trn2_c = ++ vtrn2q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ return vreinterpretq_m128i_s16(vpaddq_s16(vreinterpretq_s16_s32(trn1_c), ++ vreinterpretq_s16_s32(trn2_c))); ++#else ++ int16x4_t c01, c23, c45, c67; ++ c01 = vpadd_s16(vget_low_s16(c04), vget_low_s16(c15)); ++ c23 = vpadd_s16(vget_low_s16(c26), vget_low_s16(c37)); ++ c45 = vpadd_s16(vget_high_s16(c04), vget_high_s16(c15)); ++ c67 = vpadd_s16(vget_high_s16(c26), vget_high_s16(c37)); ++ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(c01, c23), vpadd_s16(c45, c67))); ++#endif ++} ++ ++// Multiply the low signed 32-bit integers from each packed 64-bit element in ++// a and b, and store the signed 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epi32 ++FORCE_INLINE __m128i _mm_mul_epi32(__m128i a, __m128i b) ++{ ++ // vmull_s32 upcasts instead of masking, so we downcast. ++ int32x2_t a_lo = vmovn_s64(vreinterpretq_s64_m128i(a)); ++ int32x2_t b_lo = vmovn_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vmull_s32(a_lo, b_lo)); ++} ++ ++// Multiply the packed 32-bit integers in a and b, producing intermediate 64-bit ++// integers, and store the low 32 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi32 ++FORCE_INLINE __m128i _mm_mullo_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmulq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi32 ++FORCE_INLINE __m128i _mm_packus_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcombine_u16(vqmovun_s32(vreinterpretq_s32_m128i(a)), ++ vqmovun_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_pd ++FORCE_INLINE __m128d _mm_round_pd(__m128d a, int rounding) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndnq_f64(vreinterpretq_f64_m128d(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_pd(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_pd(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndq_f64(vreinterpretq_f64_m128d(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128d_f64(vrndiq_f64(vreinterpretq_f64_m128d(a))); ++ } ++#else ++ double *v_double = (double *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ double res[2], tmp; ++ for (int i = 0; i < 2; i++) { ++ tmp = (v_double[i] < 0) ? -v_double[i] : v_double[i]; ++ double roundDown = floor(tmp); // Round down value ++ double roundUp = ceil(tmp); // Round up value ++ double diffDown = tmp - roundDown; ++ double diffUp = roundUp - tmp; ++ if (diffDown < diffUp) { ++ /* If it's closer to the round down value, then use it */ ++ res[i] = roundDown; ++ } else if (diffDown > diffUp) { ++ /* If it's closer to the round up value, then use it */ ++ res[i] = roundUp; ++ } else { ++ /* If it's equidistant between round up and round down value, ++ * pick the one which is an even number */ ++ double half = roundDown / 2; ++ if (half != floor(half)) { ++ /* If the round down value is odd, return the round up value ++ */ ++ res[i] = roundUp; ++ } else { ++ /* If the round up value is odd, return the round down value ++ */ ++ res[i] = roundDown; ++ } ++ } ++ res[i] = (v_double[i] < 0) ? -res[i] : res[i]; ++ } ++ return _mm_set_pd(res[1], res[0]); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_pd(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_pd(a); ++ } ++ return _mm_set_pd(v_double[1] > 0 ? floor(v_double[1]) : ceil(v_double[1]), ++ v_double[0] > 0 ? floor(v_double[0]) : ceil(v_double[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed single-precision ++// floating-point elements in dst. ++// software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_round_ps ++FORCE_INLINE __m128 _mm_round_ps(__m128 a, int rounding) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndnq_f32(vreinterpretq_f32_m128(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_ps(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_ps(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndq_f32(vreinterpretq_f32_m128(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128_f32(vrndiq_f32(vreinterpretq_f32_m128(a))); ++ } ++#else ++ float *v_float = (float *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vbslq_s32(is_delta_half, r_even, r_normal))); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_ps(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_ps(a); ++ } ++ return _mm_set_ps(v_float[3] > 0 ? floorf(v_float[3]) : ceilf(v_float[3]), ++ v_float[2] > 0 ? floorf(v_float[2]) : ceilf(v_float[2]), ++ v_float[1] > 0 ? floorf(v_float[1]) : ceilf(v_float[1]), ++ v_float[0] > 0 ? floorf(v_float[0]) : ceilf(v_float[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b using ++// the rounding parameter, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_sd ++FORCE_INLINE __m128d _mm_round_sd(__m128d a, __m128d b, int rounding) ++{ ++ return _mm_move_sd(a, _mm_round_pd(b, rounding)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b using ++// the rounding parameter, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. Rounding is done according to the ++// rounding[3:0] parameter, which can be one of: ++// (_MM_FROUND_TO_NEAREST_INT |_MM_FROUND_NO_EXC) // round to nearest, and ++// suppress exceptions ++// (_MM_FROUND_TO_NEG_INF |_MM_FROUND_NO_EXC) // round down, and ++// suppress exceptions ++// (_MM_FROUND_TO_POS_INF |_MM_FROUND_NO_EXC) // round up, and suppress ++// exceptions ++// (_MM_FROUND_TO_ZERO |_MM_FROUND_NO_EXC) // truncate, and suppress ++// exceptions _MM_FROUND_CUR_DIRECTION // use MXCSR.RC; see ++// _MM_SET_ROUNDING_MODE ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_ss ++FORCE_INLINE __m128 _mm_round_ss(__m128 a, __m128 b, int rounding) ++{ ++ return _mm_move_ss(a, _mm_round_ps(b, rounding)); ++} ++ ++// Load 128-bits of integer data from memory into dst using a non-temporal ++// memory hint. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_load_si128 ++FORCE_INLINE __m128i _mm_stream_load_si128(__m128i *p) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ return __builtin_nontemporal_load(p); ++#else ++ return vreinterpretq_m128i_s64(vld1q_s64((int64_t *) p)); ++#endif ++} ++ ++// Compute the bitwise NOT of a and then AND with a 128-bit vector containing ++// all 1's, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_ones ++FORCE_INLINE int _mm_test_all_ones(__m128i a) ++{ ++ return (uint64_t) (vgetq_lane_s64(a, 0) & vgetq_lane_s64(a, 1)) == ++ ~(uint64_t) 0; ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_zeros ++FORCE_INLINE int _mm_test_all_zeros(__m128i a, __m128i mask) ++{ ++ int64x2_t a_and_mask = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(mask)); ++ return !(vgetq_lane_s64(a_and_mask, 0) | vgetq_lane_s64(a_and_mask, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute ++// the bitwise NOT of a and then AND with mask, and set CF to 1 if the result is ++// zero, otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_test_mix_ones_zero ++// Note: Argument names may be wrong in the Intel intrinsics guide. ++FORCE_INLINE int _mm_test_mix_ones_zeros(__m128i a, __m128i mask) ++{ ++ uint64x2_t v = vreinterpretq_u64_m128i(a); ++ uint64x2_t m = vreinterpretq_u64_m128i(mask); ++ ++ // find ones (set-bits) and zeros (clear-bits) under clip mask ++ uint64x2_t ones = vandq_u64(m, v); ++ uint64x2_t zeros = vbicq_u64(m, v); ++ ++ // If both 128-bit variables are populated (non-zero) then return 1. ++ // For comparision purposes, first compact each var down to 32-bits. ++ uint32x2_t reduced = vpmax_u32(vqmovn_u64(ones), vqmovn_u64(zeros)); ++ ++ // if folding minimum is non-zero then both vars must be non-zero ++ return (vget_lane_u32(vpmin_u32(reduced, reduced), 0) != 0); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the CF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testc_si128 ++FORCE_INLINE int _mm_testc_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vbicq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testnzc_si128 ++#define _mm_testnzc_si128(a, b) _mm_test_mix_ones_zeros(a, b) ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the ZF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testz_si128 ++FORCE_INLINE int _mm_testz_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++/* SSE4.2 */ ++ ++static const uint16_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask16b[8] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++static const uint8_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask8b[16] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++ ++/* specify the source data format */ ++#define _SIDD_UBYTE_OPS 0x00 /* unsigned 8-bit characters */ ++#define _SIDD_UWORD_OPS 0x01 /* unsigned 16-bit characters */ ++#define _SIDD_SBYTE_OPS 0x02 /* signed 8-bit characters */ ++#define _SIDD_SWORD_OPS 0x03 /* signed 16-bit characters */ ++ ++/* specify the comparison operation */ ++#define _SIDD_CMP_EQUAL_ANY 0x00 /* compare equal any: strchr */ ++#define _SIDD_CMP_RANGES 0x04 /* compare ranges */ ++#define _SIDD_CMP_EQUAL_EACH 0x08 /* compare equal each: strcmp */ ++#define _SIDD_CMP_EQUAL_ORDERED 0x0C /* compare equal ordered */ ++ ++/* specify the polarity */ ++#define _SIDD_POSITIVE_POLARITY 0x00 ++#define _SIDD_MASKED_POSITIVE_POLARITY 0x20 ++#define _SIDD_NEGATIVE_POLARITY 0x10 /* negate results */ ++#define _SIDD_MASKED_NEGATIVE_POLARITY \ ++ 0x30 /* negate results only before end of string */ ++ ++/* specify the output selection in _mm_cmpXstri */ ++#define _SIDD_LEAST_SIGNIFICANT 0x00 ++#define _SIDD_MOST_SIGNIFICANT 0x40 ++ ++/* specify the output selection in _mm_cmpXstrm */ ++#define _SIDD_BIT_MASK 0x00 ++#define _SIDD_UNIT_MASK 0x40 ++ ++/* Pattern Matching for C macros. ++ * https://github.com/pfultz2/Cloak/wiki/C-Preprocessor-tricks,-tips,-and-idioms ++ */ ++ ++/* catenate */ ++#define SSE2NEON_PRIMITIVE_CAT(a, ...) a##__VA_ARGS__ ++#define SSE2NEON_CAT(a, b) SSE2NEON_PRIMITIVE_CAT(a, b) ++ ++#define SSE2NEON_IIF(c) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_IIF_, c) ++/* run the 2nd parameter */ ++#define SSE2NEON_IIF_0(t, ...) __VA_ARGS__ ++/* run the 1st parameter */ ++#define SSE2NEON_IIF_1(t, ...) t ++ ++#define SSE2NEON_COMPL(b) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_COMPL_, b) ++#define SSE2NEON_COMPL_0 1 ++#define SSE2NEON_COMPL_1 0 ++ ++#define SSE2NEON_DEC(x) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_DEC_, x) ++#define SSE2NEON_DEC_1 0 ++#define SSE2NEON_DEC_2 1 ++#define SSE2NEON_DEC_3 2 ++#define SSE2NEON_DEC_4 3 ++#define SSE2NEON_DEC_5 4 ++#define SSE2NEON_DEC_6 5 ++#define SSE2NEON_DEC_7 6 ++#define SSE2NEON_DEC_8 7 ++#define SSE2NEON_DEC_9 8 ++#define SSE2NEON_DEC_10 9 ++#define SSE2NEON_DEC_11 10 ++#define SSE2NEON_DEC_12 11 ++#define SSE2NEON_DEC_13 12 ++#define SSE2NEON_DEC_14 13 ++#define SSE2NEON_DEC_15 14 ++#define SSE2NEON_DEC_16 15 ++ ++/* detection */ ++#define SSE2NEON_CHECK_N(x, n, ...) n ++#define SSE2NEON_CHECK(...) SSE2NEON_CHECK_N(__VA_ARGS__, 0, ) ++#define SSE2NEON_PROBE(x) x, 1, ++ ++#define SSE2NEON_NOT(x) SSE2NEON_CHECK(SSE2NEON_PRIMITIVE_CAT(SSE2NEON_NOT_, x)) ++#define SSE2NEON_NOT_0 SSE2NEON_PROBE(~) ++ ++#define SSE2NEON_BOOL(x) SSE2NEON_COMPL(SSE2NEON_NOT(x)) ++#define SSE2NEON_IF(c) SSE2NEON_IIF(SSE2NEON_BOOL(c)) ++ ++#define SSE2NEON_EAT(...) ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++#define SSE2NEON_WHEN(c) SSE2NEON_IF(c)(SSE2NEON_EXPAND, SSE2NEON_EAT) ++ ++/* recursion */ ++/* deferred expression */ ++#define SSE2NEON_EMPTY() ++#define SSE2NEON_DEFER(id) id SSE2NEON_EMPTY() ++#define SSE2NEON_OBSTRUCT(...) __VA_ARGS__ SSE2NEON_DEFER(SSE2NEON_EMPTY)() ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++ ++#define SSE2NEON_EVAL(...) \ ++ SSE2NEON_EVAL1(SSE2NEON_EVAL1(SSE2NEON_EVAL1(__VA_ARGS__))) ++#define SSE2NEON_EVAL1(...) \ ++ SSE2NEON_EVAL2(SSE2NEON_EVAL2(SSE2NEON_EVAL2(__VA_ARGS__))) ++#define SSE2NEON_EVAL2(...) \ ++ SSE2NEON_EVAL3(SSE2NEON_EVAL3(SSE2NEON_EVAL3(__VA_ARGS__))) ++#define SSE2NEON_EVAL3(...) __VA_ARGS__ ++ ++#define SSE2NEON_REPEAT(count, macro, ...) \ ++ SSE2NEON_WHEN(count) \ ++ (SSE2NEON_OBSTRUCT(SSE2NEON_REPEAT_INDIRECT)()( \ ++ SSE2NEON_DEC(count), macro, \ ++ __VA_ARGS__) SSE2NEON_OBSTRUCT(macro)(SSE2NEON_DEC(count), \ ++ __VA_ARGS__)) ++#define SSE2NEON_REPEAT_INDIRECT() SSE2NEON_REPEAT ++ ++#define SSE2NEON_SIZE_OF_byte 8 ++#define SSE2NEON_NUMBER_OF_LANES_byte 16 ++#define SSE2NEON_SIZE_OF_word 16 ++#define SSE2NEON_NUMBER_OF_LANES_word 8 ++ ++#define SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE(i, type) \ ++ mtx[i] = vreinterpretq_m128i_##type(vceqq_##type( \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)), \ ++ vreinterpretq_##type##_m128i(a))); ++ ++#define SSE2NEON_FILL_LANE(i, type) \ ++ vec_b[i] = \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)); ++ ++#define PCMPSTR_RANGES(a, b, mtx, data_type_prefix, type_prefix, size, \ ++ number_of_lanes, byte_or_word) \ ++ do { \ ++ SSE2NEON_CAT( \ ++ data_type_prefix, \ ++ SSE2NEON_CAT(size, \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(number_of_lanes, _t)))) \ ++ vec_b[number_of_lanes]; \ ++ __m128i mask = SSE2NEON_IIF(byte_or_word)( \ ++ vreinterpretq_m128i_u16(vdupq_n_u16(0xff)), \ ++ vreinterpretq_m128i_u32(vdupq_n_u32(0xffff))); \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, SSE2NEON_FILL_LANE, \ ++ SSE2NEON_CAT(type_prefix, size))) \ ++ for (int i = 0; i < number_of_lanes; i++) { \ ++ mtx[i] = SSE2NEON_CAT(vreinterpretq_m128i_u, \ ++ size)(SSE2NEON_CAT(vbslq_u, size)( \ ++ SSE2NEON_CAT(vreinterpretq_u, \ ++ SSE2NEON_CAT(size, _m128i))(mask), \ ++ SSE2NEON_CAT(vcgeq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))), \ ++ SSE2NEON_CAT(vcleq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))))); \ ++ } \ ++ } while (0) ++ ++#define PCMPSTR_EQ(a, b, mtx, size, number_of_lanes) \ ++ do { \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, \ ++ SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE, \ ++ SSE2NEON_CAT(u, size))) \ ++ } while (0) ++ ++#define SSE2NEON_CMP_EQUAL_ANY_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_any(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_any_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_RANGES_IMPL(type, data_type, us, byte_or_word) \ ++ static int _sse2neon_cmp_##us##type##_ranges(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_RANGES( \ ++ a, b, mtx, data_type, us, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), byte_or_word); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_ranges_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_EQUAL_ORDERED_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_ordered(__m128i a, int la, \ ++ __m128i b, int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_ordered_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type))))( \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), la, lb, mtx); \ ++ } ++ ++static int _sse2neon_aggregate_equal_any_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ int tmp = _sse2neon_vaddvq_u8(vreinterpretq_u8_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_equal_any_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ int tmp = _sse2neon_vaddvq_u16(vreinterpretq_u16_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ANY(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ANY(SSE2NEON_CMP_EQUAL_ANY_) ++ ++static int _sse2neon_aggregate_ranges_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ __m128i tmp = vreinterpretq_m128i_u32( ++ vshrq_n_u32(vreinterpretq_u32_m128i(mtx[j]), 16)); ++ uint32x4_t vec_res = vandq_u32(vreinterpretq_u32_m128i(mtx[j]), ++ vreinterpretq_u32_m128i(tmp)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int t = vaddvq_u32(vec_res) ? 1 : 0; ++#else ++ uint64x2_t sumh = vpaddlq_u32(vec_res); ++ int t = vgetq_lane_u64(sumh, 0) + vgetq_lane_u64(sumh, 1); ++#endif ++ res |= (t << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_ranges_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ __m128i tmp = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 8)); ++ uint16x8_t vec_res = vandq_u16(vreinterpretq_u16_m128i(mtx[j]), ++ vreinterpretq_u16_m128i(tmp)); ++ int t = _sse2neon_vaddvq_u16(vec_res) ? 1 : 0; ++ res |= (t << j); ++ } ++ return res; ++} ++ ++#define SSE2NEON_CMP_RANGES_IS_BYTE 1 ++#define SSE2NEON_CMP_RANGES_IS_WORD 0 ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_RANGES(prefix) \ ++ prefix##IMPL(byte, uint, u, prefix##IS_BYTE) \ ++ prefix##IMPL(byte, int, s, prefix##IS_BYTE) \ ++ prefix##IMPL(word, uint, u, prefix##IS_WORD) \ ++ prefix##IMPL(word, int, s, prefix##IS_WORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_RANGES(SSE2NEON_CMP_RANGES_) ++ ++#undef SSE2NEON_CMP_RANGES_IS_BYTE ++#undef SSE2NEON_CMP_RANGES_IS_WORD ++ ++static int _sse2neon_cmp_byte_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint8x16_t mtx = ++ vceqq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x10000 - (1 << la); ++ int tb = 0x10000 - (1 << lb); ++ uint8x8_t vec_mask, vec0_lo, vec0_hi, vec1_lo, vec1_hi; ++ uint8x8_t tmp_lo, tmp_hi, res_lo, res_hi; ++ vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ vec0_lo = vtst_u8(vdup_n_u8(m0), vec_mask); ++ vec0_hi = vtst_u8(vdup_n_u8(m0 >> 8), vec_mask); ++ vec1_lo = vtst_u8(vdup_n_u8(m1), vec_mask); ++ vec1_hi = vtst_u8(vdup_n_u8(m1 >> 8), vec_mask); ++ tmp_lo = vtst_u8(vdup_n_u8(tb), vec_mask); ++ tmp_hi = vtst_u8(vdup_n_u8(tb >> 8), vec_mask); ++ ++ res_lo = vbsl_u8(vec0_lo, vdup_n_u8(0), vget_low_u8(mtx)); ++ res_hi = vbsl_u8(vec0_hi, vdup_n_u8(0), vget_high_u8(mtx)); ++ res_lo = vbsl_u8(vec1_lo, tmp_lo, res_lo); ++ res_hi = vbsl_u8(vec1_hi, tmp_hi, res_hi); ++ res_lo = vand_u8(res_lo, vec_mask); ++ res_hi = vand_u8(res_hi, vec_mask); ++ ++ int res = _sse2neon_vaddv_u8(res_lo) + (_sse2neon_vaddv_u8(res_hi) << 8); ++ return res; ++} ++ ++static int _sse2neon_cmp_word_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint16x8_t mtx = ++ vceqq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x100 - (1 << la); ++ int tb = 0x100 - (1 << lb); ++ uint16x8_t vec_mask = vld1q_u16(_sse2neon_cmpestr_mask16b); ++ uint16x8_t vec0 = vtstq_u16(vdupq_n_u16(m0), vec_mask); ++ uint16x8_t vec1 = vtstq_u16(vdupq_n_u16(m1), vec_mask); ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(tb), vec_mask); ++ mtx = vbslq_u16(vec0, vdupq_n_u16(0), mtx); ++ mtx = vbslq_u16(vec1, tmp, mtx); ++ mtx = vandq_u16(mtx, vec_mask); ++ return _sse2neon_vaddvq_u16(mtx); ++} ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE 1 ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD 0 ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IMPL(size, number_of_lanes, data_type) \ ++ static int _sse2neon_aggregate_equal_ordered_##size##x##number_of_lanes( \ ++ int bound, int la, int lb, __m128i mtx[16]) \ ++ { \ ++ int res = 0; \ ++ int m1 = SSE2NEON_IIF(data_type)(0x10000, 0x100) - (1 << la); \ ++ uint##size##x8_t vec_mask = SSE2NEON_IIF(data_type)( \ ++ vld1_u##size(_sse2neon_cmpestr_mask##size##b), \ ++ vld1q_u##size(_sse2neon_cmpestr_mask##size##b)); \ ++ uint##size##x##number_of_lanes##_t vec1 = SSE2NEON_IIF(data_type)( \ ++ vcombine_u##size(vtst_u##size(vdup_n_u##size(m1), vec_mask), \ ++ vtst_u##size(vdup_n_u##size(m1 >> 8), vec_mask)), \ ++ vtstq_u##size(vdupq_n_u##size(m1), vec_mask)); \ ++ uint##size##x##number_of_lanes##_t vec_minusone = vdupq_n_u##size(-1); \ ++ uint##size##x##number_of_lanes##_t vec_zero = vdupq_n_u##size(0); \ ++ for (int j = 0; j < lb; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size(vbslq_u##size( \ ++ vec1, vec_minusone, vreinterpretq_u##size##_m128i(mtx[j]))); \ ++ } \ ++ for (int j = lb; j < bound; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size( \ ++ vbslq_u##size(vec1, vec_minusone, vec_zero)); \ ++ } \ ++ unsigned SSE2NEON_IIF(data_type)(char, short) *ptr = \ ++ (unsigned SSE2NEON_IIF(data_type)(char, short) *) mtx; \ ++ for (int i = 0; i < bound; i++) { \ ++ int val = 1; \ ++ for (int j = 0, k = i; j < bound - i && k < bound; j++, k++) \ ++ val &= ptr[k * bound + j]; \ ++ res += val << i; \ ++ } \ ++ return res; \ ++ } ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(prefix) \ ++ prefix##IMPL(8, 16, prefix##IS_UBYTE) \ ++ prefix##IMPL(16, 8, prefix##IS_UWORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(SSE2NEON_AGGREGATE_EQUAL_ORDER_) ++ ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(SSE2NEON_CMP_EQUAL_ORDERED_) ++ ++#define SSE2NEON_CMPESTR_LIST \ ++ _(CMP_UBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_UWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_SBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_SWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_UBYTE_RANGES, cmp_ubyte_ranges) \ ++ _(CMP_UWORD_RANGES, cmp_uword_ranges) \ ++ _(CMP_SBYTE_RANGES, cmp_sbyte_ranges) \ ++ _(CMP_SWORD_RANGES, cmp_sword_ranges) \ ++ _(CMP_UBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_UWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_SBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_SWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_UBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_UWORD_EQUAL_ORDERED, cmp_word_equal_ordered) \ ++ _(CMP_SBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_SWORD_EQUAL_ORDERED, cmp_word_equal_ordered) ++ ++enum { ++#define _(name, func_suffix) name, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++typedef int (*cmpestr_func_t)(__m128i a, int la, __m128i b, int lb); ++static cmpestr_func_t _sse2neon_cmpfunc_table[] = { ++#define _(name, func_suffix) _sse2neon_##func_suffix, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++ ++FORCE_INLINE int _sse2neon_sido_negative(int res, int lb, int imm8, int bound) ++{ ++ switch (imm8 & 0x30) { ++ case _SIDD_NEGATIVE_POLARITY: ++ res ^= 0xffffffff; ++ break; ++ case _SIDD_MASKED_NEGATIVE_POLARITY: ++ res ^= (1 << lb) - 1; ++ break; ++ default: ++ break; ++ } ++ ++ return res & ((bound == 8) ? 0xFF : 0xFFFF); ++} ++ ++FORCE_INLINE int _sse2neon_clz(unsigned int x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt = 0; ++ if (_BitScanReverse(&cnt, x)) ++ return 31 - cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_clz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctz(unsigned int x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt = 0; ++ if (_BitScanForward(&cnt, x)) ++ return cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_ctz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctzll(unsigned long long x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt; ++#if defined(SSE2NEON_HAS_BITSCAN64) ++ if (_BitScanForward64(&cnt, x)) ++ return (int) (cnt); ++#else ++ if (_BitScanForward(&cnt, (unsigned long) (x))) ++ return (int) cnt; ++ if (_BitScanForward(&cnt, (unsigned long) (x >> 32))) ++ return (int) (cnt + 32); ++#endif /* SSE2NEON_HAS_BITSCAN64 */ ++ return 64; ++#else /* assume GNU compatible compilers */ ++ return x != 0 ? __builtin_ctzll(x) : 64; ++#endif ++} ++ ++#define SSE2NEON_MIN(x, y) (x) < (y) ? (x) : (y) ++ ++#define SSE2NEON_CMPSTR_SET_UPPER(var, imm) \ ++ const int var = (imm & 0x01) ? 8 : 16 ++ ++#define SSE2NEON_CMPESTRX_LEN_PAIR(a, b, la, lb) \ ++ int tmp1 = la ^ (la >> 31); \ ++ la = tmp1 - (la >> 31); \ ++ int tmp2 = lb ^ (lb >> 31); \ ++ lb = tmp2 - (lb >> 31); \ ++ la = SSE2NEON_MIN(la, bound); \ ++ lb = SSE2NEON_MIN(lb, bound) ++ ++// Compare all pairs of character in string a and b, ++// then aggregate the result. ++// As the only difference of PCMPESTR* and PCMPISTR* is the way to calculate the ++// length of string, we use SSE2NEON_CMP{I,E}STRX_GET_LEN to get the length of ++// string a and b. ++#define SSE2NEON_COMP_AGG(a, b, la, lb, imm8, IE) \ ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); \ ++ SSE2NEON_##IE##_LEN_PAIR(a, b, la, lb); \ ++ int r2 = (_sse2neon_cmpfunc_table[imm8 & 0x0f])(a, la, b, lb); \ ++ r2 = _sse2neon_sido_negative(r2, lb, imm8, bound) ++ ++#define SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8) \ ++ return (r2 == 0) ? bound \ ++ : ((imm8 & 0x40) ? (31 - _sse2neon_clz(r2)) \ ++ : _sse2neon_ctz(r2)) ++ ++#define SSE2NEON_CMPSTR_GENERATE_MASK(dst) \ ++ __m128i dst = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ if (imm8 & 0x40) { \ ++ if (bound == 8) { \ ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(r2), \ ++ vld1q_u16(_sse2neon_cmpestr_mask16b)); \ ++ dst = vreinterpretq_m128i_u16(vbslq_u16( \ ++ tmp, vdupq_n_u16(-1), vreinterpretq_u16_m128i(dst))); \ ++ } else { \ ++ uint8x16_t vec_r2 = \ ++ vcombine_u8(vdup_n_u8(r2), vdup_n_u8(r2 >> 8)); \ ++ uint8x16_t tmp = \ ++ vtstq_u8(vec_r2, vld1q_u8(_sse2neon_cmpestr_mask8b)); \ ++ dst = vreinterpretq_m128i_u8( \ ++ vbslq_u8(tmp, vdupq_n_u8(-1), vreinterpretq_u8_m128i(dst))); \ ++ } \ ++ } else { \ ++ if (bound == 16) { \ ++ dst = vreinterpretq_m128i_u16( \ ++ vsetq_lane_u16(r2 & 0xffff, vreinterpretq_u16_m128i(dst), 0)); \ ++ } else { \ ++ dst = vreinterpretq_m128i_u8( \ ++ vsetq_lane_u8(r2 & 0xff, vreinterpretq_u8_m128i(dst), 0)); \ ++ } \ ++ } \ ++ return dst ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and returns 1 if b did not contain a null character and the ++// resulting mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestra ++FORCE_INLINE int _mm_cmpestra(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ int lb_cpy = lb; ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return !r2 & (lb_cpy > bound); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrc ++FORCE_INLINE int _mm_cmpestrc(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestri ++FORCE_INLINE int _mm_cmpestri(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrm ++FORCE_INLINE __m128i ++_mm_cmpestrm(__m128i a, int la, __m128i b, int lb, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestro ++FORCE_INLINE int _mm_cmpestro(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrs ++FORCE_INLINE int _mm_cmpestrs(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) lb; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrz ++FORCE_INLINE int _mm_cmpestrz(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) la; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return lb <= (bound - 1); ++} ++ ++#define SSE2NEON_CMPISTRX_LENGTH(str, len, imm8) \ ++ do { \ ++ if (imm8 & 0x01) { \ ++ uint16x8_t equal_mask_##str = \ ++ vceqq_u16(vreinterpretq_u16_m128i(str), vdupq_n_u16(0)); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 3; \ ++ } else { \ ++ uint16x8_t equal_mask_##str = vreinterpretq_u16_u8( \ ++ vceqq_u8(vreinterpretq_u8_m128i(str), vdupq_n_u8(0))); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 2; \ ++ } \ ++ } while (0) ++ ++#define SSE2NEON_CMPISTRX_LEN_PAIR(a, b, la, lb) \ ++ int la, lb; \ ++ do { \ ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); \ ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); \ ++ } while (0) ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if b did not contain a null character and the resulting ++// mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistra ++FORCE_INLINE int _mm_cmpistra(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return !r2 & (lb >= bound); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrc ++FORCE_INLINE int _mm_cmpistrc(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistri ++FORCE_INLINE int _mm_cmpistri(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrm ++FORCE_INLINE __m128i _mm_cmpistrm(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistro ++FORCE_INLINE int _mm_cmpistro(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrs ++FORCE_INLINE int _mm_cmpistrs(__m128i a, __m128i b, const int imm8) ++{ ++ (void) b; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int la; ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrz ++FORCE_INLINE int _mm_cmpistrz(__m128i a, __m128i b, const int imm8) ++{ ++ (void) a; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int lb; ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); ++ return lb <= (bound - 1); ++} ++ ++// Compares the 2 signed 64-bit integers in a and the 2 signed 64-bit integers ++// in b for greater than. ++FORCE_INLINE __m128i _mm_cmpgt_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vcgtq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ return vreinterpretq_m128i_s64(vshrq_n_s64( ++ vqsubq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)), ++ 63)); ++#endif ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 16-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u16 ++FORCE_INLINE uint32_t _mm_crc32_u16(uint32_t crc, uint16_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32ch %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32ch(crc, v); ++#else ++ crc = _mm_crc32_u8(crc, v & 0xff); ++ crc = _mm_crc32_u8(crc, (v >> 8) & 0xff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 32-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u32 ++FORCE_INLINE uint32_t _mm_crc32_u32(uint32_t crc, uint32_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cw %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cw(crc, v); ++#else ++ crc = _mm_crc32_u16(crc, v & 0xffff); ++ crc = _mm_crc32_u16(crc, (v >> 16) & 0xffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 64-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u64 ++FORCE_INLINE uint64_t _mm_crc32_u64(uint64_t crc, uint64_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cx %w[c], %w[c], %x[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cd((uint32_t) crc, v); ++#else ++ crc = _mm_crc32_u32((uint32_t) (crc), v & 0xffffffff); ++ crc = _mm_crc32_u32((uint32_t) (crc), (v >> 32) & 0xffffffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 8-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u8 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t crc, uint8_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cb %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cb(crc, v); ++#else ++ crc ^= v; ++#if defined(__ARM_FEATURE_CRYPTO) ++ // Adapted from: https://mary.rs/lab/crc32/ ++ // Barrent reduction ++ uint64x2_t orig = ++ vcombine_u64(vcreate_u64((uint64_t) (crc) << 24), vcreate_u64(0x0)); ++ uint64x2_t tmp = orig; ++ ++ // Polynomial P(x) of CRC32C ++ uint64_t p = 0x105EC76F1; ++ // Barrett Reduction (in bit-reflected form) constant mu_{64} = \lfloor ++ // 2^{64} / P(x) \rfloor = 0x11f91caf6 ++ uint64_t mu = 0x1dea713f1; ++ ++ // Multiply by mu_{64} ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(mu)); ++ // Divide by 2^{64} (mask away the unnecessary bits) ++ tmp = ++ vandq_u64(tmp, vcombine_u64(vcreate_u64(0xFFFFFFFF), vcreate_u64(0x0))); ++ // Multiply by P(x) (shifted left by 1 for alignment reasons) ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(p)); ++ // Subtract original from result ++ tmp = veorq_u64(tmp, orig); ++ ++ // Extract the 'lower' (in bit-reflected sense) 32 bits ++ crc = vgetq_lane_u32(vreinterpretq_u32_u64(tmp), 1); ++#else // Fall back to the generic table lookup approach ++ // Adapted from: https://create.stephan-brumme.com/crc32/ ++ // Apply half-byte comparision algorithm for the best ratio between ++ // performance and lookup table. ++ ++ // The lookup table just needs to store every 16th entry ++ // of the standard look-up table. ++ static const uint32_t crc32_half_byte_tbl[] = { ++ 0x00000000, 0x105ec76f, 0x20bd8ede, 0x30e349b1, 0x417b1dbc, 0x5125dad3, ++ 0x61c69362, 0x7198540d, 0x82f63b78, 0x92a8fc17, 0xa24bb5a6, 0xb21572c9, ++ 0xc38d26c4, 0xd3d3e1ab, 0xe330a81a, 0xf36e6f75, ++ }; ++ ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++#endif ++#endif ++ return crc; ++} ++ ++/* AES */ ++ ++#if !defined(__ARM_FEATURE_CRYPTO) && (!defined(_M_ARM64) || defined(__clang__)) ++/* clang-format off */ ++#define SSE2NEON_AES_SBOX(w) \ ++ { \ ++ w(0x63), w(0x7c), w(0x77), w(0x7b), w(0xf2), w(0x6b), w(0x6f), \ ++ w(0xc5), w(0x30), w(0x01), w(0x67), w(0x2b), w(0xfe), w(0xd7), \ ++ w(0xab), w(0x76), w(0xca), w(0x82), w(0xc9), w(0x7d), w(0xfa), \ ++ w(0x59), w(0x47), w(0xf0), w(0xad), w(0xd4), w(0xa2), w(0xaf), \ ++ w(0x9c), w(0xa4), w(0x72), w(0xc0), w(0xb7), w(0xfd), w(0x93), \ ++ w(0x26), w(0x36), w(0x3f), w(0xf7), w(0xcc), w(0x34), w(0xa5), \ ++ w(0xe5), w(0xf1), w(0x71), w(0xd8), w(0x31), w(0x15), w(0x04), \ ++ w(0xc7), w(0x23), w(0xc3), w(0x18), w(0x96), w(0x05), w(0x9a), \ ++ w(0x07), w(0x12), w(0x80), w(0xe2), w(0xeb), w(0x27), w(0xb2), \ ++ w(0x75), w(0x09), w(0x83), w(0x2c), w(0x1a), w(0x1b), w(0x6e), \ ++ w(0x5a), w(0xa0), w(0x52), w(0x3b), w(0xd6), w(0xb3), w(0x29), \ ++ w(0xe3), w(0x2f), w(0x84), w(0x53), w(0xd1), w(0x00), w(0xed), \ ++ w(0x20), w(0xfc), w(0xb1), w(0x5b), w(0x6a), w(0xcb), w(0xbe), \ ++ w(0x39), w(0x4a), w(0x4c), w(0x58), w(0xcf), w(0xd0), w(0xef), \ ++ w(0xaa), w(0xfb), w(0x43), w(0x4d), w(0x33), w(0x85), w(0x45), \ ++ w(0xf9), w(0x02), w(0x7f), w(0x50), w(0x3c), w(0x9f), w(0xa8), \ ++ w(0x51), w(0xa3), w(0x40), w(0x8f), w(0x92), w(0x9d), w(0x38), \ ++ w(0xf5), w(0xbc), w(0xb6), w(0xda), w(0x21), w(0x10), w(0xff), \ ++ w(0xf3), w(0xd2), w(0xcd), w(0x0c), w(0x13), w(0xec), w(0x5f), \ ++ w(0x97), w(0x44), w(0x17), w(0xc4), w(0xa7), w(0x7e), w(0x3d), \ ++ w(0x64), w(0x5d), w(0x19), w(0x73), w(0x60), w(0x81), w(0x4f), \ ++ w(0xdc), w(0x22), w(0x2a), w(0x90), w(0x88), w(0x46), w(0xee), \ ++ w(0xb8), w(0x14), w(0xde), w(0x5e), w(0x0b), w(0xdb), w(0xe0), \ ++ w(0x32), w(0x3a), w(0x0a), w(0x49), w(0x06), w(0x24), w(0x5c), \ ++ w(0xc2), w(0xd3), w(0xac), w(0x62), w(0x91), w(0x95), w(0xe4), \ ++ w(0x79), w(0xe7), w(0xc8), w(0x37), w(0x6d), w(0x8d), w(0xd5), \ ++ w(0x4e), w(0xa9), w(0x6c), w(0x56), w(0xf4), w(0xea), w(0x65), \ ++ w(0x7a), w(0xae), w(0x08), w(0xba), w(0x78), w(0x25), w(0x2e), \ ++ w(0x1c), w(0xa6), w(0xb4), w(0xc6), w(0xe8), w(0xdd), w(0x74), \ ++ w(0x1f), w(0x4b), w(0xbd), w(0x8b), w(0x8a), w(0x70), w(0x3e), \ ++ w(0xb5), w(0x66), w(0x48), w(0x03), w(0xf6), w(0x0e), w(0x61), \ ++ w(0x35), w(0x57), w(0xb9), w(0x86), w(0xc1), w(0x1d), w(0x9e), \ ++ w(0xe1), w(0xf8), w(0x98), w(0x11), w(0x69), w(0xd9), w(0x8e), \ ++ w(0x94), w(0x9b), w(0x1e), w(0x87), w(0xe9), w(0xce), w(0x55), \ ++ w(0x28), w(0xdf), w(0x8c), w(0xa1), w(0x89), w(0x0d), w(0xbf), \ ++ w(0xe6), w(0x42), w(0x68), w(0x41), w(0x99), w(0x2d), w(0x0f), \ ++ w(0xb0), w(0x54), w(0xbb), w(0x16) \ ++ } ++#define SSE2NEON_AES_RSBOX(w) \ ++ { \ ++ w(0x52), w(0x09), w(0x6a), w(0xd5), w(0x30), w(0x36), w(0xa5), \ ++ w(0x38), w(0xbf), w(0x40), w(0xa3), w(0x9e), w(0x81), w(0xf3), \ ++ w(0xd7), w(0xfb), w(0x7c), w(0xe3), w(0x39), w(0x82), w(0x9b), \ ++ w(0x2f), w(0xff), w(0x87), w(0x34), w(0x8e), w(0x43), w(0x44), \ ++ w(0xc4), w(0xde), w(0xe9), w(0xcb), w(0x54), w(0x7b), w(0x94), \ ++ w(0x32), w(0xa6), w(0xc2), w(0x23), w(0x3d), w(0xee), w(0x4c), \ ++ w(0x95), w(0x0b), w(0x42), w(0xfa), w(0xc3), w(0x4e), w(0x08), \ ++ w(0x2e), w(0xa1), w(0x66), w(0x28), w(0xd9), w(0x24), w(0xb2), \ ++ w(0x76), w(0x5b), w(0xa2), w(0x49), w(0x6d), w(0x8b), w(0xd1), \ ++ w(0x25), w(0x72), w(0xf8), w(0xf6), w(0x64), w(0x86), w(0x68), \ ++ w(0x98), w(0x16), w(0xd4), w(0xa4), w(0x5c), w(0xcc), w(0x5d), \ ++ w(0x65), w(0xb6), w(0x92), w(0x6c), w(0x70), w(0x48), w(0x50), \ ++ w(0xfd), w(0xed), w(0xb9), w(0xda), w(0x5e), w(0x15), w(0x46), \ ++ w(0x57), w(0xa7), w(0x8d), w(0x9d), w(0x84), w(0x90), w(0xd8), \ ++ w(0xab), w(0x00), w(0x8c), w(0xbc), w(0xd3), w(0x0a), w(0xf7), \ ++ w(0xe4), w(0x58), w(0x05), w(0xb8), w(0xb3), w(0x45), w(0x06), \ ++ w(0xd0), w(0x2c), w(0x1e), w(0x8f), w(0xca), w(0x3f), w(0x0f), \ ++ w(0x02), w(0xc1), w(0xaf), w(0xbd), w(0x03), w(0x01), w(0x13), \ ++ w(0x8a), w(0x6b), w(0x3a), w(0x91), w(0x11), w(0x41), w(0x4f), \ ++ w(0x67), w(0xdc), w(0xea), w(0x97), w(0xf2), w(0xcf), w(0xce), \ ++ w(0xf0), w(0xb4), w(0xe6), w(0x73), w(0x96), w(0xac), w(0x74), \ ++ w(0x22), w(0xe7), w(0xad), w(0x35), w(0x85), w(0xe2), w(0xf9), \ ++ w(0x37), w(0xe8), w(0x1c), w(0x75), w(0xdf), w(0x6e), w(0x47), \ ++ w(0xf1), w(0x1a), w(0x71), w(0x1d), w(0x29), w(0xc5), w(0x89), \ ++ w(0x6f), w(0xb7), w(0x62), w(0x0e), w(0xaa), w(0x18), w(0xbe), \ ++ w(0x1b), w(0xfc), w(0x56), w(0x3e), w(0x4b), w(0xc6), w(0xd2), \ ++ w(0x79), w(0x20), w(0x9a), w(0xdb), w(0xc0), w(0xfe), w(0x78), \ ++ w(0xcd), w(0x5a), w(0xf4), w(0x1f), w(0xdd), w(0xa8), w(0x33), \ ++ w(0x88), w(0x07), w(0xc7), w(0x31), w(0xb1), w(0x12), w(0x10), \ ++ w(0x59), w(0x27), w(0x80), w(0xec), w(0x5f), w(0x60), w(0x51), \ ++ w(0x7f), w(0xa9), w(0x19), w(0xb5), w(0x4a), w(0x0d), w(0x2d), \ ++ w(0xe5), w(0x7a), w(0x9f), w(0x93), w(0xc9), w(0x9c), w(0xef), \ ++ w(0xa0), w(0xe0), w(0x3b), w(0x4d), w(0xae), w(0x2a), w(0xf5), \ ++ w(0xb0), w(0xc8), w(0xeb), w(0xbb), w(0x3c), w(0x83), w(0x53), \ ++ w(0x99), w(0x61), w(0x17), w(0x2b), w(0x04), w(0x7e), w(0xba), \ ++ w(0x77), w(0xd6), w(0x26), w(0xe1), w(0x69), w(0x14), w(0x63), \ ++ w(0x55), w(0x21), w(0x0c), w(0x7d) \ ++ } ++/* clang-format on */ ++ ++/* X Macro trick. See https://en.wikipedia.org/wiki/X_Macro */ ++#define SSE2NEON_AES_H0(x) (x) ++static const uint8_t _sse2neon_sbox[256] = SSE2NEON_AES_SBOX(SSE2NEON_AES_H0); ++static const uint8_t _sse2neon_rsbox[256] = SSE2NEON_AES_RSBOX(SSE2NEON_AES_H0); ++#undef SSE2NEON_AES_H0 ++ ++/* x_time function and matrix multiply function */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#define SSE2NEON_XT(x) (((x) << 1) ^ ((((x) >> 7) & 1) * 0x1b)) ++#define SSE2NEON_MULTIPLY(x, y) \ ++ (((y & 1) * x) ^ ((y >> 1 & 1) * SSE2NEON_XT(x)) ^ \ ++ ((y >> 2 & 1) * SSE2NEON_XT(SSE2NEON_XT(x))) ^ \ ++ ((y >> 3 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))) ^ \ ++ ((y >> 4 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))))) ++#endif ++ ++// In the absence of crypto extensions, implement aesenc using regular NEON ++// intrinsics instead. See: ++// https://www.workofard.com/2017/01/accelerated-aes-for-the-arm64-linux-kernel/ ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/ and ++// for more information. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ /* shift rows */ ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ /* sub bytes */ ++ // Here, we separate the whole 256-bytes table into 4 64-bytes tables, and ++ // look up each of the table. After each lookup, we load the next table ++ // which locates at the next 64-bytes. In the meantime, the index in the ++ // table would be smaller than it was, so the index parameters of ++ // `vqtbx4q_u8()` need to be added the same constant as the loaded tables. ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ // 'w-0x40' equals to 'vsubq_u8(w, vdupq_n_u8(0x40))' ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ /* mix columns */ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ /* add round key */ ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A implementation for a table-based AES */ ++#define SSE2NEON_AES_B2W(b0, b1, b2, b3) \ ++ (((uint32_t) (b3) << 24) | ((uint32_t) (b2) << 16) | \ ++ ((uint32_t) (b1) << 8) | (uint32_t) (b0)) ++// muliplying 'x' by 2 in GF(2^8) ++#define SSE2NEON_AES_F2(x) ((x << 1) ^ (((x >> 7) & 1) * 0x011b /* WPOLY */)) ++// muliplying 'x' by 3 in GF(2^8) ++#define SSE2NEON_AES_F3(x) (SSE2NEON_AES_F2(x) ^ x) ++#define SSE2NEON_AES_U0(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F2(p), p, p, SSE2NEON_AES_F3(p)) ++#define SSE2NEON_AES_U1(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p, p) ++#define SSE2NEON_AES_U2(p) \ ++ SSE2NEON_AES_B2W(p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p) ++#define SSE2NEON_AES_U3(p) \ ++ SSE2NEON_AES_B2W(p, p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p)) ++ ++ // this generates a table containing every possible permutation of ++ // shift_rows() and sub_bytes() with mix_columns(). ++ static const uint32_t ALIGN_STRUCT(16) aes_table[4][256] = { ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U0), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U1), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U2), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U3), ++ }; ++#undef SSE2NEON_AES_B2W ++#undef SSE2NEON_AES_F2 ++#undef SSE2NEON_AES_F3 ++#undef SSE2NEON_AES_U0 ++#undef SSE2NEON_AES_U1 ++#undef SSE2NEON_AES_U2 ++#undef SSE2NEON_AES_U3 ++ ++ uint32_t x0 = _mm_cvtsi128_si32(a); // get a[31:0] ++ uint32_t x1 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); // get a[63:32] ++ uint32_t x2 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xAA)); // get a[95:64] ++ uint32_t x3 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); // get a[127:96] ++ ++ // finish the modulo addition step in mix_columns() ++ __m128i out = _mm_set_epi32( ++ (aes_table[0][x3 & 0xff] ^ aes_table[1][(x0 >> 8) & 0xff] ^ ++ aes_table[2][(x1 >> 16) & 0xff] ^ aes_table[3][x2 >> 24]), ++ (aes_table[0][x2 & 0xff] ^ aes_table[1][(x3 >> 8) & 0xff] ^ ++ aes_table[2][(x0 >> 16) & 0xff] ^ aes_table[3][x1 >> 24]), ++ (aes_table[0][x1 & 0xff] ^ aes_table[1][(x2 >> 8) & 0xff] ^ ++ aes_table[2][(x3 >> 16) & 0xff] ^ aes_table[3][x0 >> 24]), ++ (aes_table[0][x0 & 0xff] ^ aes_table[1][(x1 >> 8) & 0xff] ^ ++ aes_table[2][(x2 >> 16) & 0xff] ^ aes_table[3][x3 >> 24])); ++ ++ return _mm_xor_si128(out, RoundKey); ++#endif ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // inverse mix columns ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & ++ 0x1b); // muliplying 'v' by 2 in GF(2^8) ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ // inverse mix columns ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ // sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A implementation */ ++ uint8_t v[16] = { ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 0)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 5)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 10)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 15)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 4)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 9)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 14)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 3)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 8)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 13)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 2)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 7)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 12)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 1)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 6)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 11)], ++ }; ++ ++ return vreinterpretq_m128i_u8(vld1q_u8(v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (int i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++#if defined(__aarch64__) ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ uint8x16_t v = vreinterpretq_u8_m128i(a); ++ uint8x16_t w; ++ ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ // multiplying 'v' by 2 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ return vreinterpretq_m128i_u8(w); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ vst1q_u8((uint8_t *) v, vreinterpretq_u8_m128i(a)); ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)); ++#endif ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++// ++// Emits the Advanced Encryption Standard (AES) instruction aeskeygenassist. ++// This instruction generates a round key for AES encryption. See ++// https://kazakov.life/2017/11/01/cryptocurrency-mining-on-ios-devices/ ++// for details. ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++#if defined(__aarch64__) ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); ++ uint8x16_t v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), _a); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), _a - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), _a - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), _a - 0xc0); ++ ++ uint32x4_t v_u32 = vreinterpretq_u32_u8(v); ++ uint32x4_t ror_v = vorrq_u32(vshrq_n_u32(v_u32, 8), vshlq_n_u32(v_u32, 24)); ++ uint32x4_t ror_xor_v = veorq_u32(ror_v, vdupq_n_u32(rcon)); ++ ++ return vreinterpretq_m128i_u32(vtrn2q_u32(v_u32, ror_xor_v)); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint32_t X1 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); ++ uint32_t X3 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); ++ for (int i = 0; i < 4; ++i) { ++ ((uint8_t *) &X1)[i] = _sse2neon_sbox[((uint8_t *) &X1)[i]]; ++ ((uint8_t *) &X3)[i] = _sse2neon_sbox[((uint8_t *) &X3)[i]]; ++ } ++ return _mm_set_epi32(((X3 >> 8) | (X3 << 24)) ^ rcon, X3, ++ ((X1 >> 8) | (X1 << 24)) ^ rcon, X1); ++#endif ++} ++#undef SSE2NEON_AES_SBOX ++#undef SSE2NEON_AES_RSBOX ++ ++#if defined(__aarch64__) ++#undef SSE2NEON_XT ++#undef SSE2NEON_MULTIPLY ++#endif ++ ++#else /* __ARM_FEATURE_CRYPTO */ ++// Implements equivalent of 'aesenc' by combining AESE (with an empty key) and ++// AESMC and then manually applying the real key as an xor operation. This ++// unfortunately means an additional xor op; the compiler should be able to ++// optimize this away for repeated calls however. See ++// https://blog.michaelbrase.com/2018/05/08/emulating-x86-aes-intrinsics-on-armv8-a ++// for more details. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesmcq_u8(vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(b))); ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesimcq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return _mm_xor_si128(vreinterpretq_m128i_u8(vaeseq_u8( ++ vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ RoundKey); ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8( ++ veorq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++ return vreinterpretq_m128i_u8(vaesimcq_u8(vreinterpretq_u8_m128i(a))); ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst." ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++ // AESE does ShiftRows and SubBytes on A ++ uint8x16_t u8 = vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)); ++ ++#ifndef _MSC_VER ++ uint8x16_t dest = { ++ // Undo ShiftRows step from AESE and extract X1 and X3 ++ u8[0x4], u8[0x1], u8[0xE], u8[0xB], // SubBytes(X1) ++ u8[0x1], u8[0xE], u8[0xB], u8[0x4], // ROT(SubBytes(X1)) ++ u8[0xC], u8[0x9], u8[0x6], u8[0x3], // SubBytes(X3) ++ u8[0x9], u8[0x6], u8[0x3], u8[0xC], // ROT(SubBytes(X3)) ++ }; ++ uint32x4_t r = {0, (unsigned) rcon, 0, (unsigned) rcon}; ++ return vreinterpretq_m128i_u8(dest) ^ vreinterpretq_m128i_u32(r); ++#else ++ // We have to do this hack because MSVC is strictly adhering to the CPP ++ // standard, in particular C++03 8.5.1 sub-section 15, which states that ++ // unions must be initialized by their first member type. ++ ++ // As per the Windows ARM64 ABI, it is always little endian, so this works ++ __n128 dest{ ++ ((uint64_t) u8.n128_u8[0x4] << 0) | ((uint64_t) u8.n128_u8[0x1] << 8) | ++ ((uint64_t) u8.n128_u8[0xE] << 16) | ++ ((uint64_t) u8.n128_u8[0xB] << 24) | ++ ((uint64_t) u8.n128_u8[0x1] << 32) | ++ ((uint64_t) u8.n128_u8[0xE] << 40) | ++ ((uint64_t) u8.n128_u8[0xB] << 48) | ++ ((uint64_t) u8.n128_u8[0x4] << 56), ++ ((uint64_t) u8.n128_u8[0xC] << 0) | ((uint64_t) u8.n128_u8[0x9] << 8) | ++ ((uint64_t) u8.n128_u8[0x6] << 16) | ++ ((uint64_t) u8.n128_u8[0x3] << 24) | ++ ((uint64_t) u8.n128_u8[0x9] << 32) | ++ ((uint64_t) u8.n128_u8[0x6] << 40) | ++ ((uint64_t) u8.n128_u8[0x3] << 48) | ++ ((uint64_t) u8.n128_u8[0xC] << 56)}; ++ ++ dest.n128_u32[1] = dest.n128_u32[1] ^ rcon; ++ dest.n128_u32[3] = dest.n128_u32[3] ^ rcon; ++ ++ return dest; ++#endif ++} ++#endif ++ ++/* Others */ ++ ++// Perform a carry-less multiplication of two 64-bit integers, selected from a ++// and b according to imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clmulepi64_si128 ++FORCE_INLINE __m128i _mm_clmulepi64_si128(__m128i _a, __m128i _b, const int imm) ++{ ++ uint64x2_t a = vreinterpretq_u64_m128i(_a); ++ uint64x2_t b = vreinterpretq_u64_m128i(_b); ++ switch (imm & 0x11) { ++ case 0x00: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_low_u64(b))); ++ case 0x01: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_low_u64(b))); ++ case 0x10: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_high_u64(b))); ++ case 0x11: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_high_u64(b))); ++ default: ++ abort(); ++ } ++} ++ ++FORCE_INLINE unsigned int _sse2neon_mm_get_denormals_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_DENORMALS_ZERO_ON : _MM_DENORMALS_ZERO_OFF; ++} ++ ++// Count the number of bits set to 1 in unsigned 32-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u32 ++FORCE_INLINE int _mm_popcnt_u32(unsigned int a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcount) ++ return __builtin_popcount(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits(a); ++#else ++ return (int) vaddlv_u8(vcnt_u8(vcreate_u8((uint64_t) a))); ++#endif ++#else ++ uint32_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ ++ vst1_u32(&count, count32x2_val); ++ return count; ++#endif ++} ++ ++// Count the number of bits set to 1 in unsigned 64-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u64 ++FORCE_INLINE int64_t _mm_popcnt_u64(uint64_t a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcountll) ++ return __builtin_popcountll(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits64(a); ++#else ++ return (int64_t) vaddlv_u8(vcnt_u8(vcreate_u8(a))); ++#endif ++#else ++ uint64_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ uint64x1_t count64x1_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ count64x1_val = vpaddl_u32(count32x2_val); ++ vst1_u64(&count, count64x1_val); ++ return count; ++#endif ++} ++ ++FORCE_INLINE void _sse2neon_mm_set_denormals_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_DENORMALS_ZERO_MASK) == _MM_DENORMALS_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Return the current 64-bit value of the processor's time-stamp counter. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=rdtsc ++FORCE_INLINE uint64_t _rdtsc(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t val; ++ ++ /* According to ARM DDI 0487F.c, from Armv8.0 to Armv8.5 inclusive, the ++ * system counter is at least 56 bits wide; from Armv8.6, the counter ++ * must be 64 bits wide. So the system counter could be less than 64 ++ * bits wide and it is attributed with the flag 'cap_user_time_short' ++ * is true. ++ */ ++#if defined(_MSC_VER) ++ val = _ReadStatusReg(ARM64_SYSREG(3, 3, 14, 0, 2)); ++#else ++ __asm__ __volatile__("mrs %0, cntvct_el0" : "=r"(val)); ++#endif ++ ++ return val; ++#else ++ uint32_t pmccntr, pmuseren, pmcntenset; ++ // Read the user mode Performance Monitoring Unit (PMU) ++ // User Enable Register (PMUSERENR) access permissions. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c14, 0" : "=r"(pmuseren)); ++ if (pmuseren & 1) { // Allows reading PMUSERENR for user mode code. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c12, 1" : "=r"(pmcntenset)); ++ if (pmcntenset & 0x80000000UL) { // Is it counting? ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c13, 0" : "=r"(pmccntr)); ++ // The counter is set up to count every 64th cycle ++ return (uint64_t) (pmccntr) << 6; ++ } ++ } ++ ++ // Fallback to syscall as we can't enable PMUSERENR in user mode. ++ struct timeval tv; ++ gettimeofday(&tv, NULL); ++ return (uint64_t) (tv.tv_sec) * 1000000 + tv.tv_usec; ++#endif ++} ++ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma pop_macro("ALIGN_STRUCT") ++#pragma pop_macro("FORCE_INLINE") ++#endif ++ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma GCC pop_options ++#endif ++ ++#endif + +From 4b4ba1914adf6315c6a0af1f2e0ffe2fb8c0d57d Mon Sep 17 00:00:00 2001 +From: Martin Tzvetanov Grigorov +Date: Sat, 27 Apr 2024 10:50:08 +0300 +Subject: [PATCH 2/3] Extract the arch specific CXXFLAGS + +Signed-off-by: Martin Tzvetanov Grigorov +--- + Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 875d4ba..68c7736 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,6 +1,7 @@ + CXX= g++ + CC= gcc +-CXXFLAGS= -g -O3 -msse4.2 -mpopcnt -fomit-frame-pointer -Wall ++ARCH_FLAGS=-msse4.2 -mpopcnt ++CXXFLAGS= -g -O3 $(ARCH_FLAGS) -fomit-frame-pointer -Wall + CFLAGS= $(CXXFLAGS) + CPPFLAGS= + INCLUDES= diff --git a/recipes/hifiasm/meta.yaml b/recipes/hifiasm/meta.yaml index bccbad7ff9feb..404d3f626204f 100644 --- a/recipes/hifiasm/meta.yaml +++ b/recipes/hifiasm/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.19.8" %} +{% set version = "0.19.9" %} package: name: hifiasm @@ -6,7 +6,9 @@ package: source: url: https://github.com/chhylp123/hifiasm/archive/{{ version }}.tar.gz - sha256: 86cb2275be2a0ed73996f947c80eaef93da92b166bcc18cc57ef426c587cb2e3 + sha256: 8b80c03ad50b65e197d7e633740a135ad1202949ebfe4dfb977f27f2f2ae83ee + patches: + - linux-aarch64-support.patch build: number: 0 @@ -31,3 +33,7 @@ about: license_family: MIT summary: 'Haplotype-resolved assembler for accurate Hifi reads' doc_url: https://hifiasm.readthedocs.io/en/latest/index.html + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/hifiasm_meta/build.sh b/recipes/hifiasm_meta/build.sh index 038578306214d..203ecd2114aef 100644 --- a/recipes/hifiasm_meta/build.sh +++ b/recipes/hifiasm_meta/build.sh @@ -1,6 +1,8 @@ #!/bin/bash +set -xe + mkdir -p $PREFIX/bin -make INCLUDES="-I$PREFIX/include" CXXFLAGS="-L$PREFIX/lib" CC=${CC} CXX=${CXX} +make -j ${CPU_COUNT} INCLUDES="-I$PREFIX/include" CXXFLAGS="-L$PREFIX/lib" CC=${CC} CXX=${CXX} cp hifiasm_meta $PREFIX/bin diff --git a/recipes/hifiasm_meta/hifiasm_meta-aarch64.patch b/recipes/hifiasm_meta/hifiasm_meta-aarch64.patch new file mode 100644 index 0000000000000..ef87b0fb9cb08 --- /dev/null +++ b/recipes/hifiasm_meta/hifiasm_meta-aarch64.patch @@ -0,0 +1,9358 @@ +diff --git c/Levenshtein_distance.h i/Levenshtein_distance.h +index 5e2a7bf..d17bd01 100644 +--- c/Levenshtein_distance.h ++++ i/Levenshtein_distance.h +@@ -1,10 +1,14 @@ + #ifndef __LEVENSHTEIN__ + #define __LEVENSHTEIN__ + #include ++#ifdef __ARM_NEON ++#include "sse2neon.h" ++#else + #include "emmintrin.h" + #include "nmmintrin.h" + #include "smmintrin.h" + #include ++#endif + #include + #include + #include +diff --git c/Makefile i/Makefile +index a31eb89..56ff4cd 100644 +--- c/Makefile ++++ i/Makefile +@@ -1,6 +1,6 @@ + CXX= g++ + CC= gcc +-CXXFLAGS= -g3 -O3 -msse4.2 -mpopcnt -fomit-frame-pointer -Wall -Wno-unused -Wno-sign-compare ++CXXFLAGS= -g3 -O3 -fomit-frame-pointer -Wall -Wno-unused -Wno-sign-compare + CFLAGS= $(CXXFLAGS) + CPPFLAGS= + INCLUDES= +diff --git c/ksw2_extz2_sse.c i/ksw2_extz2_sse.c +index 02bb4c2..5265fdb 100644 +--- c/ksw2_extz2_sse.c ++++ i/ksw2_extz2_sse.c +@@ -2,8 +2,15 @@ + #include + #include "ksw2.h" + ++#ifdef __ARM_NEON ++#include "sse2neon.h" ++#define __SSE2__ ++#endif ++ + #ifdef __SSE2__ ++#ifdef __x86_64__ + #include ++#endif + + #ifdef KSW_SSE2_ONLY + #undef __SSE4_1__ +diff --git c/sse2neon.h i/sse2neon.h +new file mode 100644 +index 0000000..2b12721 +--- /dev/null ++++ i/sse2neon.h +@@ -0,0 +1,9301 @@ ++#ifndef SSE2NEON_H ++#define SSE2NEON_H ++ ++/* ++ * sse2neon is freely redistributable under the MIT License. ++ * ++ * Copyright (c) 2015-2024 SSE2NEON Contributors. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to deal ++ * in the Software without restriction, including without limitation the rights ++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++ * copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ * SOFTWARE. ++ */ ++ ++// This header file provides a simple API translation layer ++// between SSE intrinsics to their corresponding Arm/Aarch64 NEON versions ++// ++// Contributors to this work are: ++// John W. Ratcliff ++// Brandon Rowlett ++// Ken Fast ++// Eric van Beurden ++// Alexander Potylitsin ++// Hasindu Gamaarachchi ++// Jim Huang ++// Mark Cheng ++// Malcolm James MacLeod ++// Devin Hussey (easyaspi314) ++// Sebastian Pop ++// Developer Ecosystem Engineering ++// Danila Kutenin ++// François Turban (JishinMaster) ++// Pei-Hsuan Hung ++// Yang-Hao Yuan ++// Syoyo Fujita ++// Brecht Van Lommel ++// Jonathan Hue ++// Cuda Chen ++// Aymen Qader ++// Anthony Roberts ++ ++/* Tunable configurations */ ++ ++/* Enable precise implementation of math operations ++ * This would slow down the computation a bit, but gives consistent result with ++ * x86 SSE. (e.g. would solve a hole or NaN pixel in the rendering result) ++ */ ++/* _mm_min|max_ps|ss|pd|sd */ ++#ifndef SSE2NEON_PRECISE_MINMAX ++#define SSE2NEON_PRECISE_MINMAX (0) ++#endif ++/* _mm_rcp_ps */ ++#ifndef SSE2NEON_PRECISE_DIV ++#define SSE2NEON_PRECISE_DIV (0) ++#endif ++/* _mm_sqrt_ps and _mm_rsqrt_ps */ ++#ifndef SSE2NEON_PRECISE_SQRT ++#define SSE2NEON_PRECISE_SQRT (0) ++#endif ++/* _mm_dp_pd */ ++#ifndef SSE2NEON_PRECISE_DP ++#define SSE2NEON_PRECISE_DP (0) ++#endif ++ ++/* Enable inclusion of windows.h on MSVC platforms ++ * This makes _mm_clflush functional on windows, as there is no builtin. ++ */ ++#ifndef SSE2NEON_INCLUDE_WINDOWS_H ++#define SSE2NEON_INCLUDE_WINDOWS_H (0) ++#endif ++ ++/* compiler specific definitions */ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma push_macro("FORCE_INLINE") ++#pragma push_macro("ALIGN_STRUCT") ++#define FORCE_INLINE static inline __attribute__((always_inline)) ++#define ALIGN_STRUCT(x) __attribute__((aligned(x))) ++#define _sse2neon_likely(x) __builtin_expect(!!(x), 1) ++#define _sse2neon_unlikely(x) __builtin_expect(!!(x), 0) ++#elif defined(_MSC_VER) ++#if _MSVC_TRADITIONAL ++#error Using the traditional MSVC preprocessor is not supported! Use /Zc:preprocessor instead. ++#endif ++#ifndef FORCE_INLINE ++#define FORCE_INLINE static inline ++#endif ++#ifndef ALIGN_STRUCT ++#define ALIGN_STRUCT(x) __declspec(align(x)) ++#endif ++#define _sse2neon_likely(x) (x) ++#define _sse2neon_unlikely(x) (x) ++#else ++#pragma message("Macro name collisions may happen with unsupported compilers.") ++#endif ++ ++ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma push_macro("FORCE_INLINE_OPTNONE") ++#define FORCE_INLINE_OPTNONE static inline __attribute__((optimize("O0"))) ++#elif defined(__clang__) ++#pragma push_macro("FORCE_INLINE_OPTNONE") ++#define FORCE_INLINE_OPTNONE static inline __attribute__((optnone)) ++#else ++#define FORCE_INLINE_OPTNONE FORCE_INLINE ++#endif ++ ++#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ < 10 ++#warning "GCC versions earlier than 10 are not supported." ++#endif ++ ++/* C language does not allow initializing a variable with a function call. */ ++#ifdef __cplusplus ++#define _sse2neon_const static const ++#else ++#define _sse2neon_const const ++#endif ++ ++#include ++#include ++ ++#if defined(_WIN32) ++/* Definitions for _mm_{malloc,free} are provided by ++ * from both MinGW-w64 and MSVC. ++ */ ++#define SSE2NEON_ALLOC_DEFINED ++#endif ++ ++/* If using MSVC */ ++#ifdef _MSC_VER ++#include ++#if SSE2NEON_INCLUDE_WINDOWS_H ++#include ++#include ++#endif ++ ++#if !defined(__cplusplus) ++#error SSE2NEON only supports C++ compilation with this compiler ++#endif ++ ++#ifdef SSE2NEON_ALLOC_DEFINED ++#include ++#endif ++ ++#if (defined(_M_AMD64) || defined(__x86_64__)) || \ ++ (defined(_M_ARM64) || defined(__arm64__)) ++#define SSE2NEON_HAS_BITSCAN64 ++#endif ++#endif ++ ++#if defined(__GNUC__) || defined(__clang__) ++#define _sse2neon_define0(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define1(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define2(type, a, b, body) \ ++ __extension__({ \ ++ type _a = (a), _b = (b); \ ++ body \ ++ }) ++#define _sse2neon_return(ret) (ret) ++#else ++#define _sse2neon_define0(type, a, body) [=](type _a) { body }(a) ++#define _sse2neon_define1(type, a, body) [](type _a) { body }(a) ++#define _sse2neon_define2(type, a, b, body) \ ++ [](type _a, type _b) { body }((a), (b)) ++#define _sse2neon_return(ret) return ret ++#endif ++ ++#define _sse2neon_init(...) \ ++ { \ ++ __VA_ARGS__ \ ++ } ++ ++/* Compiler barrier */ ++#if defined(_MSC_VER) ++#define SSE2NEON_BARRIER() _ReadWriteBarrier() ++#else ++#define SSE2NEON_BARRIER() \ ++ do { \ ++ __asm__ __volatile__("" ::: "memory"); \ ++ (void) 0; \ ++ } while (0) ++#endif ++ ++/* Memory barriers ++ * __atomic_thread_fence does not include a compiler barrier; instead, ++ * the barrier is part of __atomic_load/__atomic_store's "volatile-like" ++ * semantics. ++ */ ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) ++#include ++#endif ++ ++FORCE_INLINE void _sse2neon_smp_mb(void) ++{ ++ SSE2NEON_BARRIER(); ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \ ++ !defined(__STDC_NO_ATOMICS__) ++ atomic_thread_fence(memory_order_seq_cst); ++#elif defined(__GNUC__) || defined(__clang__) ++ __atomic_thread_fence(__ATOMIC_SEQ_CST); ++#else /* MSVC */ ++ __dmb(_ARM64_BARRIER_ISH); ++#endif ++} ++ ++/* Architecture-specific build options */ ++/* FIXME: #pragma GCC push_options is only available on GCC */ ++#if defined(__GNUC__) ++#if defined(__arm__) && __ARM_ARCH == 7 ++/* According to ARM C Language Extensions Architecture specification, ++ * __ARM_NEON is defined to a value indicating the Advanced SIMD (NEON) ++ * architecture supported. ++ */ ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error "You must enable NEON instructions (e.g. -mfpu=neon) to use SSE2NEON." ++#endif ++#if !defined(__clang__) ++#pragma GCC push_options ++#pragma GCC target("fpu=neon") ++#endif ++#elif defined(__aarch64__) || defined(_M_ARM64) ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#pragma GCC target("+simd") ++#endif ++#elif __ARM_ARCH == 8 ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error \ ++ "You must enable NEON instructions (e.g. -mfpu=neon-fp-armv8) to use SSE2NEON." ++#endif ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#endif ++#else ++#error \ ++ "Unsupported target. Must be either ARMv7-A+NEON or ARMv8-A \ ++(you could try setting target explicitly with -march or -mcpu)" ++#endif ++#endif ++ ++#include ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) && (__ARM_ARCH == 8) ++#if defined __has_include && __has_include() ++#include ++#endif ++#endif ++ ++/* Apple Silicon cache lines are double of what is commonly used by Intel, AMD ++ * and other Arm microarchitectures use. ++ * From sysctl -a on Apple M1: ++ * hw.cachelinesize: 128 ++ */ ++#if defined(__APPLE__) && (defined(__aarch64__) || defined(__arm64__)) ++#define SSE2NEON_CACHELINE_SIZE 128 ++#else ++#define SSE2NEON_CACHELINE_SIZE 64 ++#endif ++ ++/* Rounding functions require either Aarch64 instructions or libm fallback */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#include ++#endif ++ ++/* On ARMv7, some registers, such as PMUSERENR and PMCCNTR, are read-only ++ * or even not accessible in user mode. ++ * To write or access to these registers in user mode, ++ * we have to perform syscall instead. ++ */ ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) ++#include ++#endif ++ ++/* "__has_builtin" can be used to query support for built-in functions ++ * provided by gcc/clang and other compilers that support it. ++ */ ++#ifndef __has_builtin /* GCC prior to 10 or non-clang compilers */ ++/* Compatibility with gcc <= 9 */ ++#if defined(__GNUC__) && (__GNUC__ <= 9) ++#define __has_builtin(x) HAS##x ++#define HAS__builtin_popcount 1 ++#define HAS__builtin_popcountll 1 ++ ++// __builtin_shuffle introduced in GCC 4.7.0 ++#if (__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) ++#define HAS__builtin_shuffle 1 ++#else ++#define HAS__builtin_shuffle 0 ++#endif ++ ++#define HAS__builtin_shufflevector 0 ++#define HAS__builtin_nontemporal_store 0 ++#else ++#define __has_builtin(x) 0 ++#endif ++#endif ++ ++/** ++ * MACRO for shuffle parameter for _mm_shuffle_ps(). ++ * Argument fp3 is a digit[0123] that represents the fp from argument "b" ++ * of mm_shuffle_ps that will be placed in fp3 of result. fp2 is the same ++ * for fp2 in result. fp1 is a digit[0123] that represents the fp from ++ * argument "a" of mm_shuffle_ps that will be places in fp1 of result. ++ * fp0 is the same for fp0 of result. ++ */ ++#define _MM_SHUFFLE(fp3, fp2, fp1, fp0) \ ++ (((fp3) << 6) | ((fp2) << 4) | ((fp1) << 2) | ((fp0))) ++ ++#if __has_builtin(__builtin_shufflevector) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __builtin_shufflevector(a, b, __VA_ARGS__) ++#elif __has_builtin(__builtin_shuffle) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __extension__({ \ ++ type tmp = {__VA_ARGS__}; \ ++ __builtin_shuffle(a, b, tmp); \ ++ }) ++#endif ++ ++#ifdef _sse2neon_shuffle ++#define vshuffle_s16(a, b, ...) _sse2neon_shuffle(int16x4_t, a, b, __VA_ARGS__) ++#define vshuffleq_s16(a, b, ...) _sse2neon_shuffle(int16x8_t, a, b, __VA_ARGS__) ++#define vshuffle_s32(a, b, ...) _sse2neon_shuffle(int32x2_t, a, b, __VA_ARGS__) ++#define vshuffleq_s32(a, b, ...) _sse2neon_shuffle(int32x4_t, a, b, __VA_ARGS__) ++#define vshuffle_s64(a, b, ...) _sse2neon_shuffle(int64x1_t, a, b, __VA_ARGS__) ++#define vshuffleq_s64(a, b, ...) _sse2neon_shuffle(int64x2_t, a, b, __VA_ARGS__) ++#endif ++ ++/* Rounding mode macros. */ ++#define _MM_FROUND_TO_NEAREST_INT 0x00 ++#define _MM_FROUND_TO_NEG_INF 0x01 ++#define _MM_FROUND_TO_POS_INF 0x02 ++#define _MM_FROUND_TO_ZERO 0x03 ++#define _MM_FROUND_CUR_DIRECTION 0x04 ++#define _MM_FROUND_NO_EXC 0x08 ++#define _MM_FROUND_RAISE_EXC 0x00 ++#define _MM_FROUND_NINT (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_FLOOR (_MM_FROUND_TO_NEG_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_CEIL (_MM_FROUND_TO_POS_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_TRUNC (_MM_FROUND_TO_ZERO | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_RINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_NEARBYINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_NO_EXC) ++#define _MM_ROUND_NEAREST 0x0000 ++#define _MM_ROUND_DOWN 0x2000 ++#define _MM_ROUND_UP 0x4000 ++#define _MM_ROUND_TOWARD_ZERO 0x6000 ++/* Flush zero mode macros. */ ++#define _MM_FLUSH_ZERO_MASK 0x8000 ++#define _MM_FLUSH_ZERO_ON 0x8000 ++#define _MM_FLUSH_ZERO_OFF 0x0000 ++/* Denormals are zeros mode macros. */ ++#define _MM_DENORMALS_ZERO_MASK 0x0040 ++#define _MM_DENORMALS_ZERO_ON 0x0040 ++#define _MM_DENORMALS_ZERO_OFF 0x0000 ++ ++/* indicate immediate constant argument in a given range */ ++#define __constrange(a, b) const ++ ++/* A few intrinsics accept traditional data types like ints or floats, but ++ * most operate on data types that are specific to SSE. ++ * If a vector type ends in d, it contains doubles, and if it does not have ++ * a suffix, it contains floats. An integer vector type can contain any type ++ * of integer, from chars to shorts to unsigned long longs. ++ */ ++typedef int64x1_t __m64; ++typedef float32x4_t __m128; /* 128-bit vector containing 4 floats */ ++// On ARM 32-bit architecture, the float64x2_t is not supported. ++// The data type __m128d should be represented in a different way for related ++// intrinsic conversion. ++#if defined(__aarch64__) || defined(_M_ARM64) ++typedef float64x2_t __m128d; /* 128-bit vector containing 2 doubles */ ++#else ++typedef float32x4_t __m128d; ++#endif ++typedef int64x2_t __m128i; /* 128-bit vector containing integers */ ++ ++// Some intrinsics operate on unaligned data types. ++typedef int16_t ALIGN_STRUCT(1) unaligned_int16_t; ++typedef int32_t ALIGN_STRUCT(1) unaligned_int32_t; ++typedef int64_t ALIGN_STRUCT(1) unaligned_int64_t; ++ ++// __int64 is defined in the Intrinsics Guide which maps to different datatype ++// in different data model ++#if !(defined(_WIN32) || defined(_WIN64) || defined(__int64)) ++#if (defined(__x86_64__) || defined(__i386__)) ++#define __int64 long long ++#else ++#define __int64 int64_t ++#endif ++#endif ++ ++/* type-safe casting between types */ ++ ++#define vreinterpretq_m128_f16(x) vreinterpretq_f32_f16(x) ++#define vreinterpretq_m128_f32(x) (x) ++#define vreinterpretq_m128_f64(x) vreinterpretq_f32_f64(x) ++ ++#define vreinterpretq_m128_u8(x) vreinterpretq_f32_u8(x) ++#define vreinterpretq_m128_u16(x) vreinterpretq_f32_u16(x) ++#define vreinterpretq_m128_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128_s8(x) vreinterpretq_f32_s8(x) ++#define vreinterpretq_m128_s16(x) vreinterpretq_f32_s16(x) ++#define vreinterpretq_m128_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_f16_m128(x) vreinterpretq_f16_f32(x) ++#define vreinterpretq_f32_m128(x) (x) ++#define vreinterpretq_f64_m128(x) vreinterpretq_f64_f32(x) ++ ++#define vreinterpretq_u8_m128(x) vreinterpretq_u8_f32(x) ++#define vreinterpretq_u16_m128(x) vreinterpretq_u16_f32(x) ++#define vreinterpretq_u32_m128(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_s8_m128(x) vreinterpretq_s8_f32(x) ++#define vreinterpretq_s16_m128(x) vreinterpretq_s16_f32(x) ++#define vreinterpretq_s32_m128(x) vreinterpretq_s32_f32(x) ++#define vreinterpretq_s64_m128(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_m128i_s8(x) vreinterpretq_s64_s8(x) ++#define vreinterpretq_m128i_s16(x) vreinterpretq_s64_s16(x) ++#define vreinterpretq_m128i_s32(x) vreinterpretq_s64_s32(x) ++#define vreinterpretq_m128i_s64(x) (x) ++ ++#define vreinterpretq_m128i_u8(x) vreinterpretq_s64_u8(x) ++#define vreinterpretq_m128i_u16(x) vreinterpretq_s64_u16(x) ++#define vreinterpretq_m128i_u32(x) vreinterpretq_s64_u32(x) ++#define vreinterpretq_m128i_u64(x) vreinterpretq_s64_u64(x) ++ ++#define vreinterpretq_f32_m128i(x) vreinterpretq_f32_s64(x) ++#define vreinterpretq_f64_m128i(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_s8_m128i(x) vreinterpretq_s8_s64(x) ++#define vreinterpretq_s16_m128i(x) vreinterpretq_s16_s64(x) ++#define vreinterpretq_s32_m128i(x) vreinterpretq_s32_s64(x) ++#define vreinterpretq_s64_m128i(x) (x) ++ ++#define vreinterpretq_u8_m128i(x) vreinterpretq_u8_s64(x) ++#define vreinterpretq_u16_m128i(x) vreinterpretq_u16_s64(x) ++#define vreinterpretq_u32_m128i(x) vreinterpretq_u32_s64(x) ++#define vreinterpretq_u64_m128i(x) vreinterpretq_u64_s64(x) ++ ++#define vreinterpret_m64_s8(x) vreinterpret_s64_s8(x) ++#define vreinterpret_m64_s16(x) vreinterpret_s64_s16(x) ++#define vreinterpret_m64_s32(x) vreinterpret_s64_s32(x) ++#define vreinterpret_m64_s64(x) (x) ++ ++#define vreinterpret_m64_u8(x) vreinterpret_s64_u8(x) ++#define vreinterpret_m64_u16(x) vreinterpret_s64_u16(x) ++#define vreinterpret_m64_u32(x) vreinterpret_s64_u32(x) ++#define vreinterpret_m64_u64(x) vreinterpret_s64_u64(x) ++ ++#define vreinterpret_m64_f16(x) vreinterpret_s64_f16(x) ++#define vreinterpret_m64_f32(x) vreinterpret_s64_f32(x) ++#define vreinterpret_m64_f64(x) vreinterpret_s64_f64(x) ++ ++#define vreinterpret_u8_m64(x) vreinterpret_u8_s64(x) ++#define vreinterpret_u16_m64(x) vreinterpret_u16_s64(x) ++#define vreinterpret_u32_m64(x) vreinterpret_u32_s64(x) ++#define vreinterpret_u64_m64(x) vreinterpret_u64_s64(x) ++ ++#define vreinterpret_s8_m64(x) vreinterpret_s8_s64(x) ++#define vreinterpret_s16_m64(x) vreinterpret_s16_s64(x) ++#define vreinterpret_s32_m64(x) vreinterpret_s32_s64(x) ++#define vreinterpret_s64_m64(x) (x) ++ ++#define vreinterpret_f32_m64(x) vreinterpret_f32_s64(x) ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f64_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f64_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) vreinterpretq_f64_f32(x) ++#define vreinterpretq_m128d_f64(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f64(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f64(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f64(x) ++ ++#define vreinterpretq_f64_m128d(x) (x) ++#define vreinterpretq_f32_m128d(x) vreinterpretq_f32_f64(x) ++#else ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_m128d_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_f32_m128d(x) (x) ++#endif ++ ++// A struct is defined in this header file called 'SIMDVec' which can be used ++// by applications which attempt to access the contents of an __m128 struct ++// directly. It is important to note that accessing the __m128 struct directly ++// is bad coding practice by Microsoft: @see: ++// https://learn.microsoft.com/en-us/cpp/cpp/m128 ++// ++// However, some legacy source code may try to access the contents of an __m128 ++// struct directly so the developer can use the SIMDVec as an alias for it. Any ++// casting must be done manually by the developer, as you cannot cast or ++// otherwise alias the base NEON data type for intrinsic operations. ++// ++// union intended to allow direct access to an __m128 variable using the names ++// that the MSVC compiler provides. This union should really only be used when ++// trying to access the members of the vector as integer values. GCC/clang ++// allow native access to the float members through a simple array access ++// operator (in C since 4.6, in C++ since 4.8). ++// ++// Ideally direct accesses to SIMD vectors should not be used since it can cause ++// a performance hit. If it really is needed however, the original __m128 ++// variable can be aliased with a pointer to this union and used to access ++// individual components. The use of this union should be hidden behind a macro ++// that is used throughout the codebase to access the members instead of always ++// declaring this type of variable. ++typedef union ALIGN_STRUCT(16) SIMDVec { ++ float m128_f32[4]; // as floats - DON'T USE. Added for convenience. ++ int8_t m128_i8[16]; // as signed 8-bit integers. ++ int16_t m128_i16[8]; // as signed 16-bit integers. ++ int32_t m128_i32[4]; // as signed 32-bit integers. ++ int64_t m128_i64[2]; // as signed 64-bit integers. ++ uint8_t m128_u8[16]; // as unsigned 8-bit integers. ++ uint16_t m128_u16[8]; // as unsigned 16-bit integers. ++ uint32_t m128_u32[4]; // as unsigned 32-bit integers. ++ uint64_t m128_u64[2]; // as unsigned 64-bit integers. ++} SIMDVec; ++ ++// casting using SIMDVec ++#define vreinterpretq_nth_u64_m128i(x, n) (((SIMDVec *) &x)->m128_u64[n]) ++#define vreinterpretq_nth_u32_m128i(x, n) (((SIMDVec *) &x)->m128_u32[n]) ++#define vreinterpretq_nth_u8_m128i(x, n) (((SIMDVec *) &x)->m128_u8[n]) ++ ++/* SSE macros */ ++#define _MM_GET_FLUSH_ZERO_MODE _sse2neon_mm_get_flush_zero_mode ++#define _MM_SET_FLUSH_ZERO_MODE _sse2neon_mm_set_flush_zero_mode ++#define _MM_GET_DENORMALS_ZERO_MODE _sse2neon_mm_get_denormals_zero_mode ++#define _MM_SET_DENORMALS_ZERO_MODE _sse2neon_mm_set_denormals_zero_mode ++ ++// Function declaration ++// SSE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void); ++FORCE_INLINE __m128 _mm_move_ss(__m128, __m128); ++FORCE_INLINE __m128 _mm_or_ps(__m128, __m128); ++FORCE_INLINE __m128 _mm_set_ps1(float); ++FORCE_INLINE __m128 _mm_setzero_ps(void); ++// SSE2 ++FORCE_INLINE __m128i _mm_and_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_castps_si128(__m128); ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128); ++FORCE_INLINE __m128d _mm_move_sd(__m128d, __m128d); ++FORCE_INLINE __m128i _mm_or_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_set_epi32(int, int, int, int); ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t, int64_t); ++FORCE_INLINE __m128d _mm_set_pd(double, double); ++FORCE_INLINE __m128i _mm_set1_epi32(int); ++FORCE_INLINE __m128i _mm_setzero_si128(void); ++// SSE4.1 ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d); ++FORCE_INLINE __m128 _mm_ceil_ps(__m128); ++FORCE_INLINE __m128d _mm_floor_pd(__m128d); ++FORCE_INLINE __m128 _mm_floor_ps(__m128); ++FORCE_INLINE_OPTNONE __m128d _mm_round_pd(__m128d, int); ++FORCE_INLINE_OPTNONE __m128 _mm_round_ps(__m128, int); ++// SSE4.2 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t, uint8_t); ++ ++/* Backwards compatibility for compilers with lack of specific type support */ ++ ++// Older gcc does not define vld1q_u8_x4 type ++#if defined(__GNUC__) && !defined(__clang__) && \ ++ ((__GNUC__ <= 13 && defined(__arm__)) || \ ++ (__GNUC__ == 10 && __GNUC_MINOR__ < 3 && defined(__aarch64__)) || \ ++ (__GNUC__ <= 9 && defined(__aarch64__))) ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ uint8x16x4_t ret; ++ ret.val[0] = vld1q_u8(p + 0); ++ ret.val[1] = vld1q_u8(p + 16); ++ ret.val[2] = vld1q_u8(p + 32); ++ ret.val[3] = vld1q_u8(p + 48); ++ return ret; ++} ++#else ++// Wraps vld1q_u8_x4 ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ return vld1q_u8_x4(p); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddv u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ const uint64x1_t v1 = vpaddl_u32(vpaddl_u16(vpaddl_u8(v8))); ++ return vget_lane_u8(vreinterpret_u8_u64(v1), 0); ++} ++#else ++// Wraps vaddv_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ return vaddv_u8(v8); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ uint8x8_t tmp = vpadd_u8(vget_low_u8(a), vget_high_u8(a)); ++ uint8_t res = 0; ++ for (int i = 0; i < 8; ++i) ++ res += tmp[i]; ++ return res; ++} ++#else ++// Wraps vaddvq_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ return vaddvq_u8(a); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u16 variant */ ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ uint32x4_t m = vpaddlq_u16(a); ++ uint64x2_t n = vpaddlq_u32(m); ++ uint64x1_t o = vget_low_u64(n) + vget_high_u64(n); ++ ++ return vget_lane_u32((uint32x2_t) o, 0); ++} ++#else ++// Wraps vaddvq_u16 ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ return vaddvq_u16(a); ++} ++#endif ++ ++/* Function Naming Conventions ++ * The naming convention of SSE intrinsics is straightforward. A generic SSE ++ * intrinsic function is given as follows: ++ * _mm__ ++ * ++ * The parts of this format are given as follows: ++ * 1. describes the operation performed by the intrinsic ++ * 2. identifies the data type of the function's primary arguments ++ * ++ * This last part, , is a little complicated. It identifies the ++ * content of the input values, and can be set to any of the following values: ++ * + ps - vectors contain floats (ps stands for packed single-precision) ++ * + pd - vectors contain doubles (pd stands for packed double-precision) ++ * + epi8/epi16/epi32/epi64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * signed integers ++ * + epu8/epu16/epu32/epu64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * unsigned integers ++ * + si128 - unspecified 128-bit vector or 256-bit vector ++ * + m128/m128i/m128d - identifies input vector types when they are different ++ * than the type of the returned vector ++ * ++ * For example, _mm_setzero_ps. The _mm implies that the function returns ++ * a 128-bit vector. The _ps at the end implies that the argument vectors ++ * contain floats. ++ * ++ * A complete example: Byte Shuffle - pshufb (_mm_shuffle_epi8) ++ * // Set packed 16-bit integers. 128 bits, 8 short, per 16 bits ++ * __m128i v_in = _mm_setr_epi16(1, 2, 3, 4, 5, 6, 7, 8); ++ * // Set packed 8-bit integers ++ * // 128 bits, 16 chars, per 8 bits ++ * __m128i v_perm = _mm_setr_epi8(1, 0, 2, 3, 8, 9, 10, 11, ++ * 4, 5, 12, 13, 6, 7, 14, 15); ++ * // Shuffle packed 8-bit integers ++ * __m128i v_out = _mm_shuffle_epi8(v_in, v_perm); // pshufb ++ */ ++ ++/* Constants for use with _mm_prefetch. */ ++enum _mm_hint { ++ _MM_HINT_NTA = 0, /* load data to L1 and L2 cache, mark it as NTA */ ++ _MM_HINT_T0 = 1, /* load data to L1 and L2 cache */ ++ _MM_HINT_T1 = 2, /* load data to L2 cache only */ ++ _MM_HINT_T2 = 3, /* load data to L2 cache only, mark it as NTA */ ++}; ++ ++// The bit field mapping to the FPCR(floating-point control register) ++typedef struct { ++ uint16_t res0; ++ uint8_t res1 : 6; ++ uint8_t bit22 : 1; ++ uint8_t bit23 : 1; ++ uint8_t bit24 : 1; ++ uint8_t res2 : 7; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32_t res3; ++#endif ++} fpcr_bitfield; ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of b and places it into the high end of the result. ++FORCE_INLINE __m128 _mm_shuffle_ps_1032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in high ++// end of result takes the higher two 32 bit values from b and swaps them and ++// places in low end of result. ++FORCE_INLINE __m128 _mm_shuffle_ps_2301(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b23 = vrev64_f32(vget_high_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b23)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0321(__m128 a, __m128 b) ++{ ++ float32x2_t a21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a21, b03)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2103(__m128 a, __m128 b) ++{ ++ float32x2_t a03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a03, b21)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0101(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b01)); ++} ++ ++// keeps the low 64 bits of b in the low and puts the high 64 bits of a in the ++// high ++FORCE_INLINE __m128 _mm_shuffle_ps_3210(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0011(__m128 a, __m128 b) ++{ ++ float32x2_t a11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a11, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0022(__m128 a, __m128 b) ++{ ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a22, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2200(__m128 a, __m128 b) ++{ ++ float32x2_t a00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a00, b22)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_3202(__m128 a, __m128 b) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t a02 = vset_lane_f32(a0, a22, 1); /* TODO: use vzip ?*/ ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a02, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1133(__m128 a, __m128 b) ++{ ++ float32x2_t a33 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a33, b11)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b20)); ++} ++ ++// For MSVC, we check only if it is ARM64, as every single ARM64 processor ++// supported by WoA has crypto extensions. If this changes in the future, ++// this can be verified via the runtime-only method of: ++// IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE) ++#if (defined(_M_ARM64) && !defined(__clang__)) || \ ++ (defined(__ARM_FEATURE_CRYPTO) && \ ++ (defined(__aarch64__) || __has_builtin(__builtin_arm_crypto_vmullp64))) ++// Wraps vmull_p64 ++FORCE_INLINE uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly64_t a = vget_lane_p64(vreinterpret_p64_u64(_a), 0); ++ poly64_t b = vget_lane_p64(vreinterpret_p64_u64(_b), 0); ++#if defined(_MSC_VER) ++ __n64 a1 = {a}, b1 = {b}; ++ return vreinterpretq_u64_p128(vmull_p64(a1, b1)); ++#else ++ return vreinterpretq_u64_p128(vmull_p64(a, b)); ++#endif ++} ++#else // ARMv7 polyfill ++// ARMv7/some A64 lacks vmull_p64, but it has vmull_p8. ++// ++// vmull_p8 calculates 8 8-bit->16-bit polynomial multiplies, but we need a ++// 64-bit->128-bit polynomial multiply. ++// ++// It needs some work and is somewhat slow, but it is still faster than all ++// known scalar methods. ++// ++// Algorithm adapted to C from ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/, which is adapted ++// from "Fast Software Polynomial Multiplication on ARM Processors Using the ++// NEON Engine" by Danilo Camara, Conrado Gouvea, Julio Lopez and Ricardo Dahab ++// (https://hal.inria.fr/hal-01506572) ++static uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly8x8_t a = vreinterpret_p8_u64(_a); ++ poly8x8_t b = vreinterpret_p8_u64(_b); ++ ++ // Masks ++ uint8x16_t k48_32 = vcombine_u8(vcreate_u8(0x0000ffffffffffff), ++ vcreate_u8(0x00000000ffffffff)); ++ uint8x16_t k16_00 = vcombine_u8(vcreate_u8(0x000000000000ffff), ++ vcreate_u8(0x0000000000000000)); ++ ++ // Do the multiplies, rotating with vext to get all combinations ++ uint8x16_t d = vreinterpretq_u8_p16(vmull_p8(a, b)); // D = A0 * B0 ++ uint8x16_t e = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 1))); // E = A0 * B1 ++ uint8x16_t f = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 1), b)); // F = A1 * B0 ++ uint8x16_t g = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 2))); // G = A0 * B2 ++ uint8x16_t h = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 2), b)); // H = A2 * B0 ++ uint8x16_t i = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 3))); // I = A0 * B3 ++ uint8x16_t j = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 3), b)); // J = A3 * B0 ++ uint8x16_t k = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 4))); // L = A0 * B4 ++ ++ // Add cross products ++ uint8x16_t l = veorq_u8(e, f); // L = E + F ++ uint8x16_t m = veorq_u8(g, h); // M = G + H ++ uint8x16_t n = veorq_u8(i, j); // N = I + J ++ ++ // Interleave. Using vzip1 and vzip2 prevents Clang from emitting TBL ++ // instructions. ++#if defined(__aarch64__) ++ uint8x16_t lm_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t lm_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t nk_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++ uint8x16_t nk_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++#else ++ uint8x16_t lm_p0 = vcombine_u8(vget_low_u8(l), vget_low_u8(m)); ++ uint8x16_t lm_p1 = vcombine_u8(vget_high_u8(l), vget_high_u8(m)); ++ uint8x16_t nk_p0 = vcombine_u8(vget_low_u8(n), vget_low_u8(k)); ++ uint8x16_t nk_p1 = vcombine_u8(vget_high_u8(n), vget_high_u8(k)); ++#endif ++ // t0 = (L) (P0 + P1) << 8 ++ // t1 = (M) (P2 + P3) << 16 ++ uint8x16_t t0t1_tmp = veorq_u8(lm_p0, lm_p1); ++ uint8x16_t t0t1_h = vandq_u8(lm_p1, k48_32); ++ uint8x16_t t0t1_l = veorq_u8(t0t1_tmp, t0t1_h); ++ ++ // t2 = (N) (P4 + P5) << 24 ++ // t3 = (K) (P6 + P7) << 32 ++ uint8x16_t t2t3_tmp = veorq_u8(nk_p0, nk_p1); ++ uint8x16_t t2t3_h = vandq_u8(nk_p1, k16_00); ++ uint8x16_t t2t3_l = veorq_u8(t2t3_tmp, t2t3_h); ++ ++ // De-interleave ++#if defined(__aarch64__) ++ uint8x16_t t0 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t1 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t2 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++ uint8x16_t t3 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++#else ++ uint8x16_t t1 = vcombine_u8(vget_high_u8(t0t1_l), vget_high_u8(t0t1_h)); ++ uint8x16_t t0 = vcombine_u8(vget_low_u8(t0t1_l), vget_low_u8(t0t1_h)); ++ uint8x16_t t3 = vcombine_u8(vget_high_u8(t2t3_l), vget_high_u8(t2t3_h)); ++ uint8x16_t t2 = vcombine_u8(vget_low_u8(t2t3_l), vget_low_u8(t2t3_h)); ++#endif ++ // Shift the cross products ++ uint8x16_t t0_shift = vextq_u8(t0, t0, 15); // t0 << 8 ++ uint8x16_t t1_shift = vextq_u8(t1, t1, 14); // t1 << 16 ++ uint8x16_t t2_shift = vextq_u8(t2, t2, 13); // t2 << 24 ++ uint8x16_t t3_shift = vextq_u8(t3, t3, 12); // t3 << 32 ++ ++ // Accumulate the products ++ uint8x16_t cross1 = veorq_u8(t0_shift, t1_shift); ++ uint8x16_t cross2 = veorq_u8(t2_shift, t3_shift); ++ uint8x16_t mix = veorq_u8(d, cross1); ++ uint8x16_t r = veorq_u8(mix, cross2); ++ return vreinterpretq_u64_u8(r); ++} ++#endif // ARMv7 polyfill ++ ++// C equivalent: ++// __m128i _mm_shuffle_epi32_default(__m128i a, ++// __constrange(0, 255) int imm) { ++// __m128i ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = a[(imm >> 4) & 0x03]; ret[3] = a[(imm >> 6) & 0x03]; ++// return ret; ++// } ++#define _mm_shuffle_epi32_default(a, imm) \ ++ vreinterpretq_m128i_s32(vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), \ ++ ((imm) >> 2) & 0x3), \ ++ vmovq_n_s32(vgetq_lane_s32( \ ++ vreinterpretq_s32_m128i(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of a and places it into the high end of the result. ++FORCE_INLINE __m128i _mm_shuffle_epi_1032(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in low end ++// of result takes the higher two 32 bit values from a and swaps them and places ++// in high end of result. ++FORCE_INLINE __m128i _mm_shuffle_epi_2301(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a23 = vrev64_s32(vget_high_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a23)); ++} ++ ++// rotates the least significant 32 bits into the most significant 32 bits, and ++// shifts the rest down ++FORCE_INLINE __m128i _mm_shuffle_epi_0321(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 1)); ++} ++ ++// rotates the most significant 32 bits into the least significant 32 bits, and ++// shifts the rest up ++FORCE_INLINE __m128i _mm_shuffle_epi_2103(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 3)); ++} ++ ++// gets the lower 64 bits of a, and places it in the upper 64 bits ++// gets the lower 64 bits of a and places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1010(__m128i a) ++{ ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a10, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements, and places it in the ++// lower 64 bits gets the lower 64 bits of a, and places it in the upper 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1001(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements and places it in the ++// upper 64 bits gets the lower 64 bits of a, swaps the 0 and 1 elements, and ++// places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_0101(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_2211(__m128i a) ++{ ++ int32x2_t a11 = vdup_lane_s32(vget_low_s32(vreinterpretq_s32_m128i(a)), 1); ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ return vreinterpretq_m128i_s32(vcombine_s32(a11, a22)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_0122(__m128i a) ++{ ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a22, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_3332(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a33 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 1); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a33)); ++} ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32(vdupq_laneq_s32(vreinterpretq_s32_m128i(a), (imm))) ++#else ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vdupq_n_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)))) ++#endif ++ ++// NEON does not support a general purpose permute intrinsic. ++// Shuffle single-precision (32-bit) floating-point elements in a using the ++// control in imm8, and store the results in dst. ++// ++// C equivalent: ++// __m128 _mm_shuffle_ps_default(__m128 a, __m128 b, ++// __constrange(0, 255) int imm) { ++// __m128 ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = b[(imm >> 4) & 0x03]; ret[3] = b[(imm >> 6) & 0x03]; ++// return ret; ++// } ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_ps ++#define _mm_shuffle_ps_default(a, b, imm) \ ++ vreinterpretq_m128_f32(vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), ((imm) >> 2) & 0x3), \ ++ vmovq_n_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Shuffle 16-bit integers in the low 64 bits of a using the control in imm8. ++// Store the results in the low 64 bits of dst, with the high 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflelo_epi16 ++#define _mm_shufflelo_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t lowBits = vget_low_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, (imm) & (0x3)), ret, 0); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++// Shuffle 16-bit integers in the high 64 bits of a using the control in imm8. ++// Store the results in the high 64 bits of dst, with the low 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflehi_epi16 ++#define _mm_shufflehi_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t highBits = vget_high_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, (imm) & (0x3)), ret, 4); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 2) & 0x3), ret, \ ++ 5); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 4) & 0x3), ret, \ ++ 6); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 6) & 0x3), ret, \ ++ 7); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++/* MMX */ ++ ++//_mm_empty is a no-op on arm ++FORCE_INLINE void _mm_empty(void) {} ++ ++/* SSE */ ++ ++// Add packed single-precision (32-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ps ++FORCE_INLINE __m128 _mm_add_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Add the lower single-precision (32-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ss ++FORCE_INLINE __m128 _mm_add_ss(__m128 a, __m128 b) ++{ ++ float32_t b0 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++ float32x4_t value = vsetq_lane_f32(b0, vdupq_n_f32(0), 0); ++ // the upper values in the result must be the remnants of . ++ return vreinterpretq_m128_f32(vaddq_f32(a, value)); ++} ++ ++// Compute the bitwise AND of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_ps ++FORCE_INLINE __m128 _mm_and_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vandq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Compute the bitwise NOT of packed single-precision (32-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_ps ++FORCE_INLINE __m128 _mm_andnot_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vbicq_s32(vreinterpretq_s32_m128(b), ++ vreinterpretq_s32_m128(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu16 ++FORCE_INLINE __m64 _mm_avg_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16( ++ vrhadd_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu8 ++FORCE_INLINE __m64 _mm_avg_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vrhadd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ps ++FORCE_INLINE __m128 _mm_cmpeq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ss ++FORCE_INLINE __m128 _mm_cmpeq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpeq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ps ++FORCE_INLINE __m128 _mm_cmpge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ss ++FORCE_INLINE __m128 _mm_cmpge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ps ++FORCE_INLINE __m128 _mm_cmpgt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ss ++FORCE_INLINE __m128 _mm_cmpgt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpgt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ps ++FORCE_INLINE __m128 _mm_cmple_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ss ++FORCE_INLINE __m128 _mm_cmple_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmple_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ps ++FORCE_INLINE __m128 _mm_cmplt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ss ++FORCE_INLINE __m128 _mm_cmplt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmplt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ps ++FORCE_INLINE __m128 _mm_cmpneq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ss ++FORCE_INLINE __m128 _mm_cmpneq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpneq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ps ++FORCE_INLINE __m128 _mm_cmpnge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ss ++FORCE_INLINE __m128 _mm_cmpnge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ps ++FORCE_INLINE __m128 _mm_cmpngt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ss ++FORCE_INLINE __m128 _mm_cmpngt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpngt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ps ++FORCE_INLINE __m128 _mm_cmpnle_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ss ++FORCE_INLINE __m128 _mm_cmpnle_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnle_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ps ++FORCE_INLINE __m128 _mm_cmpnlt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ss ++FORCE_INLINE __m128 _mm_cmpnlt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnlt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ps ++// ++// See also: ++// http://stackoverflow.com/questions/8627331/what-does-ordered-unordered-comparison-mean ++// http://stackoverflow.com/questions/29349621/neon-isnanval-intrinsics ++FORCE_INLINE __m128 _mm_cmpord_ps(__m128 a, __m128 b) ++{ ++ // Note: NEON does not have ordered compare builtin ++ // Need to compare a eq a and b eq b to check for NaN ++ // Do AND of results to get final ++ uint32x4_t ceqaa = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t ceqbb = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vandq_u32(ceqaa, ceqbb)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ss ++FORCE_INLINE __m128 _mm_cmpord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpord_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ps ++FORCE_INLINE __m128 _mm_cmpunord_ps(__m128 a, __m128 b) ++{ ++ uint32x4_t f32a = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t f32b = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vmvnq_u32(vandq_u32(f32a, f32b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ss ++FORCE_INLINE __m128 _mm_cmpunord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpunord_ps(a, b)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_ss ++FORCE_INLINE int _mm_comieq_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_eq_b = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_eq_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_ss ++FORCE_INLINE int _mm_comige_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_ge_b = ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_ge_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_ss ++FORCE_INLINE int _mm_comigt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_gt_b = ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_gt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_ss ++FORCE_INLINE int _mm_comile_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_le_b = ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_le_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_ss ++FORCE_INLINE int _mm_comilt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_lt_b = ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_lt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_ss ++FORCE_INLINE int _mm_comineq_ss(__m128 a, __m128 b) ++{ ++ return !_mm_comieq_ss(a, b); ++} ++ ++// Convert packed signed 32-bit integers in b to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, and copy the upper 2 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_pi2ps ++FORCE_INLINE __m128 _mm_cvt_pi2ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ps2pi ++FORCE_INLINE __m64 _mm_cvt_ps2pi(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))))); ++#else ++ return vreinterpret_m64_s32(vcvt_s32_f32(vget_low_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION))))); ++#endif ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_si2ss ++FORCE_INLINE __m128 _mm_cvt_si2ss(__m128 a, int b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ss2si ++FORCE_INLINE int _mm_cvt_ss2si(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vgetq_lane_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))), ++ 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int32_t) data; ++#endif ++} ++ ++// Convert packed 16-bit integers in a to packed single-precision (32-bit) ++// floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi16_ps ++FORCE_INLINE __m128 _mm_cvtpi16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vmovl_s16(vreinterpret_s16_m64(a)))); ++} ++ ++// Convert packed 32-bit integers in b to packed single-precision (32-bit) ++// floating-point elements, store the results in the lower 2 elements of dst, ++// and copy the upper 2 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_ps ++FORCE_INLINE __m128 _mm_cvtpi32_ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, then convert the packed signed 32-bit integers in b to ++// single-precision (32-bit) floating-point element, and store the results in ++// the upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32x2_ps ++FORCE_INLINE __m128 _mm_cvtpi32x2_ps(__m64 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vcombine_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b)))); ++} ++ ++// Convert the lower packed 8-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi8_ps ++FORCE_INLINE __m128 _mm_cvtpi8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vmovl_s16(vget_low_s16(vmovl_s8(vreinterpret_s8_m64(a)))))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 16-bit integers, and store the results in dst. Note: this intrinsic ++// will generate 0x7FFF, rather than 0x8000, for input values between 0x7FFF and ++// 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi16 ++FORCE_INLINE __m64 _mm_cvtps_pi16(__m128 a) ++{ ++ return vreinterpret_m64_s16( ++ vqmovn_s32(vreinterpretq_s32_m128i(_mm_cvtps_epi32(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi32 ++#define _mm_cvtps_pi32(a) _mm_cvt_ps2pi(a) ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 8-bit integers, and store the results in lower 4 elements of dst. ++// Note: this intrinsic will generate 0x7F, rather than 0x80, for input values ++// between 0x7F and 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi8 ++FORCE_INLINE __m64 _mm_cvtps_pi8(__m128 a) ++{ ++ return vreinterpret_m64_s8(vqmovn_s16( ++ vcombine_s16(vreinterpret_s16_m64(_mm_cvtps_pi16(a)), vdup_n_s16(0)))); ++} ++ ++// Convert packed unsigned 16-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu16_ps ++FORCE_INLINE __m128 _mm_cvtpu16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_u32(vmovl_u16(vreinterpret_u16_m64(a)))); ++} ++ ++// Convert the lower packed unsigned 8-bit integers in a to packed ++// single-precision (32-bit) floating-point elements, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu8_ps ++FORCE_INLINE __m128 _mm_cvtpu8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_u32( ++ vmovl_u16(vget_low_u16(vmovl_u8(vreinterpret_u8_m64(a)))))); ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_ss ++#define _mm_cvtsi32_ss(a, b) _mm_cvt_si2ss(a, b) ++ ++// Convert the signed 64-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_ss ++FORCE_INLINE __m128 _mm_cvtsi64_ss(__m128 a, int64_t b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Copy the lower single-precision (32-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_f32 ++FORCE_INLINE float _mm_cvtss_f32(__m128 a) ++{ ++ return vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si32 ++#define _mm_cvtss_si32(a) _mm_cvt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si64 ++FORCE_INLINE int64_t _mm_cvtss_si64(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return (int64_t) vgetq_lane_f32(vrndiq_f32(vreinterpretq_f32_m128(a)), 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int64_t) data; ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ps2pi ++FORCE_INLINE __m64 _mm_cvtt_ps2pi(__m128 a) ++{ ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ss2si ++FORCE_INLINE int _mm_cvtt_ss2si(__m128 a) ++{ ++ return vgetq_lane_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)), 0); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_pi32 ++#define _mm_cvttps_pi32(a) _mm_cvtt_ps2pi(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si32 ++#define _mm_cvttss_si32(a) _mm_cvtt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si64 ++FORCE_INLINE int64_t _mm_cvttss_si64(__m128 a) ++{ ++ return (int64_t) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Divide packed single-precision (32-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise division intrinsic, we implement ++// division by multiplying a by b's reciprocal before using the Newton-Raphson ++// method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ps ++FORCE_INLINE __m128 _mm_div_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vdivq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(b)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(a), recip)); ++#endif ++} ++ ++// Divide the lower single-precision (32-bit) floating-point element in a by the ++// lower single-precision (32-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper 3 packed elements from a to ++// the upper elements of dst. ++// Warning: ARMv7-A does not produce the same result compared to Intel and not ++// IEEE-compliant. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ss ++FORCE_INLINE __m128 _mm_div_ss(__m128 a, __m128 b) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_div_ps(a, b)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_pi16 ++#define _mm_extract_pi16(a, imm) \ ++ (int32_t) vget_lane_u16(vreinterpret_u16_m64(a), (imm)) ++ ++// Free aligned memory that was allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_free ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void _mm_free(void *addr) ++{ ++ free(addr); ++} ++#endif ++ ++FORCE_INLINE uint64_t _sse2neon_get_fpcr(void) ++{ ++ uint64_t value; ++#if defined(_MSC_VER) ++ value = _ReadStatusReg(ARM64_FPCR); ++#else ++ __asm__ __volatile__("mrs %0, FPCR" : "=r"(value)); /* read */ ++#endif ++ return value; ++} ++ ++FORCE_INLINE void _sse2neon_set_fpcr(uint64_t value) ++{ ++#if defined(_MSC_VER) ++ _WriteStatusReg(ARM64_FPCR, value); ++#else ++ __asm__ __volatile__("msr FPCR, %0" ::"r"(value)); /* write */ ++#endif ++} ++ ++// Macro: Get the flush zero bits from the MXCSR control and status register. ++// The flush zero may contain any of the following flags: _MM_FLUSH_ZERO_ON or ++// _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_FLUSH_ZERO_MODE ++FORCE_INLINE unsigned int _sse2neon_mm_get_flush_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_FLUSH_ZERO_ON : _MM_FLUSH_ZERO_OFF; ++} ++ ++// Macro: Get the rounding mode bits from the MXCSR control and status register. ++// The rounding mode may contain any of the following flags: _MM_ROUND_NEAREST, ++// _MM_ROUND_DOWN, _MM_ROUND_UP, _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_ROUNDING_MODE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ if (r.field.bit22) { ++ return r.field.bit23 ? _MM_ROUND_TOWARD_ZERO : _MM_ROUND_UP; ++ } else { ++ return r.field.bit23 ? _MM_ROUND_DOWN : _MM_ROUND_NEAREST; ++ } ++} ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_pi16 ++#define _mm_insert_pi16(a, b, imm) \ ++ vreinterpret_m64_s16(vset_lane_s16((b), vreinterpret_s16_m64(a), (imm))) ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps ++FORCE_INLINE __m128 _mm_load_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// ++// dst[31:0] := MEM[mem_addr+31:mem_addr] ++// dst[63:32] := MEM[mem_addr+31:mem_addr] ++// dst[95:64] := MEM[mem_addr+31:mem_addr] ++// dst[127:96] := MEM[mem_addr+31:mem_addr] ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps1 ++#define _mm_load_ps1 _mm_load1_ps ++ ++// Load a single-precision (32-bit) floating-point element from memory into the ++// lower of dst, and zero the upper 3 elements. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ss ++FORCE_INLINE __m128 _mm_load_ss(const float *p) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(*p, vdupq_n_f32(0), 0)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_ps ++FORCE_INLINE __m128 _mm_load1_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_dup_f32(p)); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// upper 2 elements of dst, and copy the lower 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pi ++FORCE_INLINE __m128 _mm_loadh_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vget_low_f32(a), vld1_f32((const float32_t *) p))); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// lower 2 elements of dst, and copy the upper 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pi ++FORCE_INLINE __m128 _mm_loadl_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vld1_f32((const float32_t *) p), vget_high_f32(a))); ++} ++ ++// Load 4 single-precision (32-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_ps ++FORCE_INLINE __m128 _mm_loadr_ps(const float *p) ++{ ++ float32x4_t v = vrev64q_f32(vld1q_f32(p)); ++ return vreinterpretq_m128_f32(vextq_f32(v, v, 2)); ++} ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_ps ++FORCE_INLINE __m128 _mm_loadu_ps(const float *p) ++{ ++ // for neon, alignment doesn't matter, so _mm_load_ps and _mm_loadu_ps are ++ // equivalent for neon ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load unaligned 16-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si16 ++FORCE_INLINE __m128i _mm_loadu_si16(const void *p) ++{ ++ return vreinterpretq_m128i_s16( ++ vsetq_lane_s16(*(const unaligned_int16_t *) p, vdupq_n_s16(0), 0)); ++} ++ ++// Load unaligned 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si64 ++FORCE_INLINE __m128i _mm_loadu_si64(const void *p) ++{ ++ return vreinterpretq_m128i_s64( ++ vsetq_lane_s64(*(const unaligned_int64_t *) p, vdupq_n_s64(0), 0)); ++} ++ ++// Allocate size bytes of memory, aligned to the alignment specified in align, ++// and return a pointer to the allocated memory. _mm_free should be used to free ++// memory that is allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_malloc ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void *_mm_malloc(size_t size, size_t align) ++{ ++ void *ptr; ++ if (align == 1) ++ return malloc(size); ++ if (align == 2 || (sizeof(void *) == 8 && align == 4)) ++ align = sizeof(void *); ++ if (!posix_memalign(&ptr, align, size)) ++ return ptr; ++ return NULL; ++} ++#endif ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmove_si64 ++FORCE_INLINE void _mm_maskmove_si64(__m64 a, __m64 mask, char *mem_addr) ++{ ++ int8x8_t shr_mask = vshr_n_s8(vreinterpret_s8_m64(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x8_t masked = ++ vbsl_s8(vreinterpret_u8_s8(shr_mask), vreinterpret_s8_m64(a), ++ vreinterpret_s8_u64(vget_low_u64(vreinterpretq_u64_m128(b)))); ++ vst1_s8((int8_t *) mem_addr, masked); ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_maskmovq ++#define _m_maskmovq(a, mask, mem_addr) _mm_maskmove_si64(a, mask, mem_addr) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pi16 ++FORCE_INLINE __m64 _mm_max_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmax_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) maximum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ps ++FORCE_INLINE __m128 _mm_max_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcgtq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vmaxq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pu8 ++FORCE_INLINE __m64 _mm_max_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmax_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) maximum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ss ++FORCE_INLINE __m128 _mm_max_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_max_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pi16 ++FORCE_INLINE __m64 _mm_min_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmin_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) minimum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ps ++FORCE_INLINE __m128 _mm_min_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcltq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vminq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pu8 ++FORCE_INLINE __m64 _mm_min_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmin_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) minimum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ss ++FORCE_INLINE __m128 _mm_min_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_min_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the lower single-precision (32-bit) floating-point element from b to the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_ss ++FORCE_INLINE __m128 _mm_move_ss(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(vgetq_lane_f32(vreinterpretq_f32_m128(b), 0), ++ vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the upper 2 single-precision (32-bit) floating-point elements from b to ++// the lower 2 elements of dst, and copy the upper 2 elements from a to the ++// upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehl_ps ++FORCE_INLINE __m128 _mm_movehl_ps(__m128 a, __m128 b) ++{ ++#if defined(aarch64__) ++ return vreinterpretq_m128_u64( ++ vzip2q_u64(vreinterpretq_u64_m128(b), vreinterpretq_u64_m128(a))); ++#else ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(b32, a32)); ++#endif ++} ++ ++// Move the lower 2 single-precision (32-bit) floating-point elements from b to ++// the upper 2 elements of dst, and copy the lower 2 elements from a to the ++// lower 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movelh_ps ++FORCE_INLINE __m128 _mm_movelh_ps(__m128 __A, __m128 __B) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(__A)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(__B)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pi8 ++FORCE_INLINE int _mm_movemask_pi8(__m64 a) ++{ ++ uint8x8_t input = vreinterpret_u8_m64(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int8_t shift[8] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint8x8_t tmp = vshr_n_u8(input, 7); ++ return vaddv_u8(vshl_u8(tmp, vld1_s8(shift))); ++#else ++ // Refer the implementation of `_mm_movemask_epi8` ++ uint16x4_t high_bits = vreinterpret_u16_u8(vshr_n_u8(input, 7)); ++ uint32x2_t paired16 = ++ vreinterpret_u32_u16(vsra_n_u16(high_bits, high_bits, 7)); ++ uint8x8_t paired32 = ++ vreinterpret_u8_u32(vsra_n_u32(paired16, paired16, 14)); ++ return vget_lane_u8(paired32, 0) | ((int) vget_lane_u8(paired32, 4) << 4); ++#endif ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed single-precision (32-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_ps ++FORCE_INLINE int _mm_movemask_ps(__m128 a) ++{ ++ uint32x4_t input = vreinterpretq_u32_m128(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int32_t shift[4] = {0, 1, 2, 3}; ++ uint32x4_t tmp = vshrq_n_u32(input, 31); ++ return vaddvq_u32(vshlq_u32(tmp, vld1q_s32(shift))); ++#else ++ // Uses the exact same method as _mm_movemask_epi8, see that for details. ++ // Shift out everything but the sign bits with a 32-bit unsigned shift ++ // right. ++ uint64x2_t high_bits = vreinterpretq_u64_u32(vshrq_n_u32(input, 31)); ++ // Merge the two pairs together with a 64-bit unsigned shift right + add. ++ uint8x16_t paired = ++ vreinterpretq_u8_u64(vsraq_n_u64(high_bits, high_bits, 31)); ++ // Extract the result. ++ return vgetq_lane_u8(paired, 0) | (vgetq_lane_u8(paired, 8) << 2); ++#endif ++} ++ ++// Multiply packed single-precision (32-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ps ++FORCE_INLINE_OPTNONE __m128 _mm_mul_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vmulq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Multiply the lower single-precision (32-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ss ++FORCE_INLINE __m128 _mm_mul_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_mul_ps(a, b)); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_pu16 ++FORCE_INLINE __m64 _mm_mulhi_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16(vshrn_n_u32( ++ vmull_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b)), 16)); ++} ++ ++// Compute the bitwise OR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_ps ++FORCE_INLINE __m128 _mm_or_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vorrq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgb ++#define _m_pavgb(a, b) _mm_avg_pu8(a, b) ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgw ++#define _m_pavgw(a, b) _mm_avg_pu16(a, b) ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pextrw ++#define _m_pextrw(a, imm) _mm_extract_pi16(a, imm) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_pinsrw ++#define _m_pinsrw(a, i, imm) _mm_insert_pi16(a, i, imm) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxsw ++#define _m_pmaxsw(a, b) _mm_max_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxub ++#define _m_pmaxub(a, b) _mm_max_pu8(a, b) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminsw ++#define _m_pminsw(a, b) _mm_min_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminub ++#define _m_pminub(a, b) _mm_min_pu8(a, b) ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmovmskb ++#define _m_pmovmskb(a) _mm_movemask_pi8(a) ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmulhuw ++#define _m_pmulhuw(a, b) _mm_mulhi_pu16(a, b) ++ ++// Fetch the line of data from memory that contains address p to a location in ++// the cache hierarchy specified by the locality hint i. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_prefetch ++FORCE_INLINE void _mm_prefetch(char const *p, int i) ++{ ++ (void) i; ++#if defined(_MSC_VER) ++ switch (i) { ++ case _MM_HINT_NTA: ++ __prefetch2(p, 1); ++ break; ++ case _MM_HINT_T0: ++ __prefetch2(p, 0); ++ break; ++ case _MM_HINT_T1: ++ __prefetch2(p, 2); ++ break; ++ case _MM_HINT_T2: ++ __prefetch2(p, 4); ++ break; ++ } ++#else ++ switch (i) { ++ case _MM_HINT_NTA: ++ __builtin_prefetch(p, 0, 0); ++ break; ++ case _MM_HINT_T0: ++ __builtin_prefetch(p, 0, 3); ++ break; ++ case _MM_HINT_T1: ++ __builtin_prefetch(p, 0, 2); ++ break; ++ case _MM_HINT_T2: ++ __builtin_prefetch(p, 0, 1); ++ break; ++ } ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_psadbw ++#define _m_psadbw(a, b) _mm_sad_pu8(a, b) ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pshufw ++#define _m_pshufw(a, imm) _mm_shuffle_pi16(a, imm) ++ ++// Compute the approximate reciprocal of packed single-precision (32-bit) ++// floating-point elements in a, and store the results in dst. The maximum ++// relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ps ++FORCE_INLINE __m128 _mm_rcp_ps(__m128 in) ++{ ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(in)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#if SSE2NEON_PRECISE_DIV ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#endif ++ return vreinterpretq_m128_f32(recip); ++} ++ ++// Compute the approximate reciprocal of the lower single-precision (32-bit) ++// floating-point element in a, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ss ++FORCE_INLINE __m128 _mm_rcp_ss(__m128 a) ++{ ++ return _mm_move_ss(a, _mm_rcp_ps(a)); ++} ++ ++// Compute the approximate reciprocal square root of packed single-precision ++// (32-bit) floating-point elements in a, and store the results in dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ps ++FORCE_INLINE __m128 _mm_rsqrt_ps(__m128 in) ++{ ++ float32x4_t out = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Generate masks for detecting whether input has any 0.0f/-0.0f ++ // (which becomes positive/negative infinity by IEEE-754 arithmetic rules). ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t neg_inf = vdupq_n_u32(0xFF800000); ++ const uint32x4_t has_pos_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(out)); ++ const uint32x4_t has_neg_zero = ++ vceqq_u32(neg_inf, vreinterpretq_u32_f32(out)); ++ ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#if SSE2NEON_PRECISE_SQRT ++ // Additional Netwon-Raphson iteration for accuracy ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#endif ++ ++ // Set output vector element to infinity/negative-infinity if ++ // the corresponding input vector element is 0.0f/-0.0f. ++ out = vbslq_f32(has_pos_zero, (float32x4_t) pos_inf, out); ++ out = vbslq_f32(has_neg_zero, (float32x4_t) neg_inf, out); ++ ++ return vreinterpretq_m128_f32(out); ++} ++ ++// Compute the approximate reciprocal square root of the lower single-precision ++// (32-bit) floating-point element in a, store the result in the lower element ++// of dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ss ++FORCE_INLINE __m128 _mm_rsqrt_ss(__m128 in) ++{ ++ return vsetq_lane_f32(vgetq_lane_f32(_mm_rsqrt_ps(in), 0), in, 0); ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_pu8 ++FORCE_INLINE __m64 _mm_sad_pu8(__m64 a, __m64 b) ++{ ++ uint64x1_t t = vpaddl_u32(vpaddl_u16( ++ vpaddl_u8(vabd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))))); ++ return vreinterpret_m64_u16( ++ vset_lane_u16((int) vget_lane_u64(t, 0), vdup_n_u16(0), 0)); ++} ++ ++// Macro: Set the flush zero bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The flush zero may contain any of the ++// following flags: _MM_FLUSH_ZERO_ON or _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_FLUSH_ZERO_MODE ++FORCE_INLINE void _sse2neon_mm_set_flush_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_FLUSH_ZERO_MASK) == _MM_FLUSH_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps ++FORCE_INLINE __m128 _mm_set_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {x, y, z, w}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps1 ++FORCE_INLINE __m128 _mm_set_ps1(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Macro: Set the rounding mode bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The rounding mode may contain any of ++// the following flags: _MM_ROUND_NEAREST, _MM_ROUND_DOWN, _MM_ROUND_UP, ++// _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_ROUNDING_MODE ++FORCE_INLINE void _MM_SET_ROUNDING_MODE(int rounding) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ switch (rounding) { ++ case _MM_ROUND_TOWARD_ZERO: ++ r.field.bit22 = 1; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_DOWN: ++ r.field.bit22 = 0; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_UP: ++ r.field.bit22 = 1; ++ r.field.bit23 = 0; ++ break; ++ default: //_MM_ROUND_NEAREST ++ r.field.bit22 = 0; ++ r.field.bit23 = 0; ++ } ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Copy single-precision (32-bit) floating-point element a to the lower element ++// of dst, and zero the upper 3 elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ss ++FORCE_INLINE __m128 _mm_set_ss(float a) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(a, vdupq_n_f32(0), 0)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_ps ++FORCE_INLINE __m128 _mm_set1_ps(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Set the MXCSR control and status register with the value in unsigned 32-bit ++// integer a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setcsr ++// FIXME: _mm_setcsr() implementation supports changing the rounding mode only. ++FORCE_INLINE void _mm_setcsr(unsigned int a) ++{ ++ _MM_SET_ROUNDING_MODE(a); ++} ++ ++// Get the unsigned 32-bit value of the MXCSR control and status register. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_getcsr ++// FIXME: _mm_getcsr() implementation supports reading the rounding mode only. ++FORCE_INLINE unsigned int _mm_getcsr(void) ++{ ++ return _MM_GET_ROUNDING_MODE(); ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_ps ++FORCE_INLINE __m128 _mm_setr_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {w, z, y, x}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Return vector of type __m128 with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_ps ++FORCE_INLINE __m128 _mm_setzero_ps(void) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(0)); ++} ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi16 ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pi16(a, imm) \ ++ vreinterpret_m64_s16(vshuffle_s16( \ ++ vreinterpret_s16_m64(a), vreinterpret_s16_m64(a), (imm & 0x3), \ ++ ((imm >> 2) & 0x3), ((imm >> 4) & 0x3), ((imm >> 6) & 0x3))) ++#else ++#define _mm_shuffle_pi16(a, imm) \ ++ _sse2neon_define1( \ ++ __m64, a, int16x4_t ret; \ ++ ret = vmov_n_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), (imm) & (0x3))); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpret_m64_s16(ret));) ++#endif ++ ++// Perform a serializing operation on all store-to-memory instructions that were ++// issued prior to this instruction. Guarantees that every store instruction ++// that precedes, in program order, is globally visible before any store ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sfence ++FORCE_INLINE void _mm_sfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory and store-to-memory ++// instructions that were issued prior to this instruction. Guarantees that ++// every memory access that precedes, in program order, the memory fence ++// instruction is globally visible before any memory instruction which follows ++// the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mfence ++FORCE_INLINE void _mm_mfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory instructions that ++// were issued prior to this instruction. Guarantees that every load instruction ++// that precedes, in program order, is globally visible before any load ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lfence ++FORCE_INLINE void _mm_lfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// FORCE_INLINE __m128 _mm_shuffle_ps(__m128 a, __m128 b, __constrange(0,255) ++// int imm) ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_ps(a, b, imm) \ ++ __extension__({ \ ++ float32x4_t _input1 = vreinterpretq_f32_m128(a); \ ++ float32x4_t _input2 = vreinterpretq_f32_m128(b); \ ++ float32x4_t _shuf = \ ++ vshuffleq_s32(_input1, _input2, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ (((imm) >> 4) & 0x3) + 4, (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128_f32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_ps(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128, a, b, __m128 ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_1032(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_ps_2301(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_ps_0321(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_ps_2103(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_movelh_ps(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_1001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_ps_0101(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 1, 0): \ ++ ret = _mm_shuffle_ps_3210(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 1, 1): \ ++ ret = _mm_shuffle_ps_0011(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 2, 2): \ ++ ret = _mm_shuffle_ps_0022(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 0, 0): \ ++ ret = _mm_shuffle_ps_2200(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 0, 2): \ ++ ret = _mm_shuffle_ps_3202(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 3, 2): \ ++ ret = _mm_movehl_ps(_b, _a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 3, 3): \ ++ ret = _mm_shuffle_ps_1133(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 1, 0): \ ++ ret = _mm_shuffle_ps_2010(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_2001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_2032(_a, _b); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_ps_default(_a, _b, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Compute the square root of packed single-precision (32-bit) floating-point ++// elements in a, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise square root intrinsic, we implement ++// square root by multiplying input in with its reciprocal square root before ++// using the Newton-Raphson method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ps ++FORCE_INLINE __m128 _mm_sqrt_ps(__m128 in) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) && !SSE2NEON_PRECISE_SQRT ++ return vreinterpretq_m128_f32(vsqrtq_f32(vreinterpretq_f32_m128(in))); ++#else ++ float32x4_t recip = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Test for vrsqrteq_f32(0) -> positive infinity case. ++ // Change to zero, so that s * 1/sqrt(s) result is zero too. ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t div_by_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(recip)); ++ recip = vreinterpretq_f32_u32( ++ vandq_u32(vmvnq_u32(div_by_zero), vreinterpretq_u32_f32(recip))); ++ ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ ++ // sqrt(s) = s * 1/sqrt(s) ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(in), recip)); ++#endif ++} ++ ++// Compute the square root of the lower single-precision (32-bit) floating-point ++// element in a, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ss ++FORCE_INLINE __m128 _mm_sqrt_ss(__m128 in) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_sqrt_ps(in)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(in), 0)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps ++FORCE_INLINE void _mm_store_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps1 ++FORCE_INLINE void _mm_store_ps1(float *p, __m128 a) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ vst1q_f32(p, vdupq_n_f32(a0)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ss ++FORCE_INLINE void _mm_store_ss(float *p, __m128 a) ++{ ++ vst1q_lane_f32(p, vreinterpretq_f32_m128(a), 0); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store1_ps ++#define _mm_store1_ps _mm_store_ps1 ++ ++// Store the upper 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pi ++FORCE_INLINE void _mm_storeh_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_high_f32(a)); ++} ++ ++// Store the lower 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pi ++FORCE_INLINE void _mm_storel_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_low_f32(a)); ++} ++ ++// Store 4 single-precision (32-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_ps ++FORCE_INLINE void _mm_storer_ps(float *p, __m128 a) ++{ ++ float32x4_t tmp = vrev64q_f32(vreinterpretq_f32_m128(a)); ++ float32x4_t rev = vextq_f32(tmp, tmp, 2); ++ vst1q_f32(p, rev); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_ps ++FORCE_INLINE void _mm_storeu_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Stores 16-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si16 ++FORCE_INLINE void _mm_storeu_si16(void *p, __m128i a) ++{ ++ vst1q_lane_s16((int16_t *) p, vreinterpretq_s16_m128i(a), 0); ++} ++ ++// Stores 64-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si64 ++FORCE_INLINE void _mm_storeu_si64(void *p, __m128i a) ++{ ++ vst1q_lane_s64((int64_t *) p, vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Store 64-bits of integer data from a into memory using a non-temporal memory ++// hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pi ++FORCE_INLINE void _mm_stream_pi(__m64 *p, __m64 a) ++{ ++ vst1_s64((int64_t *) p, vreinterpret_s64_m64(a)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating- ++// point elements) from a into memory using a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_ps ++FORCE_INLINE void _mm_stream_ps(float *p, __m128 a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (float32x4_t *) p); ++#else ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++#endif ++} ++ ++// Subtract packed single-precision (32-bit) floating-point elements in b from ++// packed single-precision (32-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ps ++FORCE_INLINE __m128 _mm_sub_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Subtract the lower single-precision (32-bit) floating-point element in b from ++// the lower single-precision (32-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper 3 packed elements from ++// a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ss ++FORCE_INLINE __m128 _mm_sub_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_sub_ps(a, b)); ++} ++ ++// Macro: Transpose the 4x4 matrix formed by the 4 rows of single-precision ++// (32-bit) floating-point elements in row0, row1, row2, and row3, and store the ++// transposed matrix in these vectors (row0 now contains column 0, etc.). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=MM_TRANSPOSE4_PS ++#define _MM_TRANSPOSE4_PS(row0, row1, row2, row3) \ ++ do { \ ++ float32x4x2_t ROW01 = vtrnq_f32(row0, row1); \ ++ float32x4x2_t ROW23 = vtrnq_f32(row2, row3); \ ++ row0 = vcombine_f32(vget_low_f32(ROW01.val[0]), \ ++ vget_low_f32(ROW23.val[0])); \ ++ row1 = vcombine_f32(vget_low_f32(ROW01.val[1]), \ ++ vget_low_f32(ROW23.val[1])); \ ++ row2 = vcombine_f32(vget_high_f32(ROW01.val[0]), \ ++ vget_high_f32(ROW23.val[0])); \ ++ row3 = vcombine_f32(vget_high_f32(ROW01.val[1]), \ ++ vget_high_f32(ROW23.val[1])); \ ++ } while (0) ++ ++// according to the documentation, these intrinsics behave the same as the ++// non-'u' versions. We'll just alias them here. ++#define _mm_ucomieq_ss _mm_comieq_ss ++#define _mm_ucomige_ss _mm_comige_ss ++#define _mm_ucomigt_ss _mm_comigt_ss ++#define _mm_ucomile_ss _mm_comile_ss ++#define _mm_ucomilt_ss _mm_comilt_ss ++#define _mm_ucomineq_ss _mm_comineq_ss ++ ++// Return vector of type __m128i with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_undefined_si128 ++FORCE_INLINE __m128i _mm_undefined_si128(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128i a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_si128(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Return vector of type __m128 with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_ps ++FORCE_INLINE __m128 _mm_undefined_ps(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128 a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_ps(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the high half a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_ps ++FORCE_INLINE __m128 _mm_unpackhi_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_ps ++FORCE_INLINE __m128 _mm_unpacklo_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Compute the bitwise XOR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_ps ++FORCE_INLINE __m128 _mm_xor_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ veorq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++/* SSE2 */ ++ ++// Add packed 16-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi16 ++FORCE_INLINE __m128i _mm_add_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed 32-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi32 ++FORCE_INLINE __m128i _mm_add_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vaddq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Add packed 64-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi64 ++FORCE_INLINE __m128i _mm_add_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vaddq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Add packed 8-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi8 ++FORCE_INLINE __m128i _mm_add_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed double-precision (64-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_pd ++FORCE_INLINE __m128d _mm_add_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1] + db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add the lower double-precision (64-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper element from ++// a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_sd ++FORCE_INLINE __m128d _mm_add_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_add_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add 64-bit integers a and b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_si64 ++FORCE_INLINE __m64 _mm_add_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vadd_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Add packed signed 16-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi16 ++FORCE_INLINE __m128i _mm_adds_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed signed 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi8 ++FORCE_INLINE __m128i _mm_adds_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed unsigned 16-bit integers in a and b using saturation, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu16 ++FORCE_INLINE __m128i _mm_adds_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqaddq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Add packed unsigned 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu8 ++FORCE_INLINE __m128i _mm_adds_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compute the bitwise AND of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_pd ++FORCE_INLINE __m128d _mm_and_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vandq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_si128 ++FORCE_INLINE __m128i _mm_and_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vandq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compute the bitwise NOT of packed double-precision (64-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_pd ++FORCE_INLINE __m128d _mm_andnot_pd(__m128d a, __m128d b) ++{ ++ // *NOTE* argument swap ++ return vreinterpretq_m128d_s64( ++ vbicq_s64(vreinterpretq_s64_m128d(b), vreinterpretq_s64_m128d(a))); ++} ++ ++// Compute the bitwise NOT of 128 bits (representing integer data) in a and then ++// AND with b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_si128 ++FORCE_INLINE __m128i _mm_andnot_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vbicq_s32(vreinterpretq_s32_m128i(b), ++ vreinterpretq_s32_m128i(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu16 ++FORCE_INLINE __m128i _mm_avg_epu16(__m128i a, __m128i b) ++{ ++ return (__m128i) vrhaddq_u16(vreinterpretq_u16_m128i(a), ++ vreinterpretq_u16_m128i(b)); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu8 ++FORCE_INLINE __m128i _mm_avg_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vrhaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bslli_si128 ++#define _mm_bslli_si128(a, imm) _mm_slli_si128(a, imm) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bsrli_si128 ++#define _mm_bsrli_si128(a, imm) _mm_srli_si128(a, imm) ++ ++// Cast vector of type __m128d to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_ps ++FORCE_INLINE __m128 _mm_castpd_ps(__m128d a) ++{ ++ return vreinterpretq_m128_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128d to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_si128 ++FORCE_INLINE __m128i _mm_castpd_si128(__m128d a) ++{ ++ return vreinterpretq_m128i_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128 to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_pd ++FORCE_INLINE __m128d _mm_castps_pd(__m128 a) ++{ ++ return vreinterpretq_m128d_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128 to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_si128 ++FORCE_INLINE __m128i _mm_castps_si128(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128i to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_pd ++FORCE_INLINE __m128d _mm_castsi128_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vreinterpretq_f64_m128i(a)); ++#else ++ return vreinterpretq_m128d_f32(vreinterpretq_f32_m128i(a)); ++#endif ++} ++ ++// Cast vector of type __m128i to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_ps ++FORCE_INLINE __m128 _mm_castsi128_ps(__m128i a) ++{ ++ return vreinterpretq_m128_s32(vreinterpretq_s32_m128i(a)); ++} ++ ++// Invalidate and flush the cache line that contains p from all levels of the ++// cache hierarchy. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clflush ++#if defined(__APPLE__) ++#include ++#endif ++FORCE_INLINE void _mm_clflush(void const *p) ++{ ++ (void) p; ++ ++ /* sys_icache_invalidate is supported since macOS 10.5. ++ * However, it does not work on non-jailbroken iOS devices, although the ++ * compilation is successful. ++ */ ++#if defined(__APPLE__) ++ sys_icache_invalidate((void *) (uintptr_t) p, SSE2NEON_CACHELINE_SIZE); ++#elif defined(__GNUC__) || defined(__clang__) ++ uintptr_t ptr = (uintptr_t) p; ++ __builtin___clear_cache((char *) ptr, ++ (char *) ptr + SSE2NEON_CACHELINE_SIZE); ++#elif (_MSC_VER) && SSE2NEON_INCLUDE_WINDOWS_H ++ FlushInstructionCache(GetCurrentProcess(), p, SSE2NEON_CACHELINE_SIZE); ++#endif ++} ++ ++// Compare packed 16-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi16 ++FORCE_INLINE __m128i _mm_cmpeq_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vceqq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed 32-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi32 ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vceqq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed 8-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi8 ++FORCE_INLINE __m128i _mm_cmpeq_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vceqq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_pd ++FORCE_INLINE __m128d _mm_cmpeq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_sd ++FORCE_INLINE __m128d _mm_cmpeq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpeq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_pd ++FORCE_INLINE __m128d _mm_cmpge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) >= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_sd ++FORCE_INLINE __m128d _mm_cmpge_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpge_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi16 ++FORCE_INLINE __m128i _mm_cmpgt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcgtq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi32 ++FORCE_INLINE __m128i _mm_cmpgt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcgtq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi8 ++FORCE_INLINE __m128i _mm_cmpgt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcgtq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_pd ++FORCE_INLINE __m128d _mm_cmpgt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_sd ++FORCE_INLINE __m128d _mm_cmpgt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpgt_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_pd ++FORCE_INLINE __m128d _mm_cmple_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) <= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_sd ++FORCE_INLINE __m128d _mm_cmple_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmple_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtw instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi16 ++FORCE_INLINE __m128i _mm_cmplt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcltq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtd instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi32 ++FORCE_INLINE __m128i _mm_cmplt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcltq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtb instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi8 ++FORCE_INLINE __m128i _mm_cmplt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcltq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_pd ++FORCE_INLINE __m128d _mm_cmplt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_sd ++FORCE_INLINE __m128d _mm_cmplt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmplt_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_pd ++FORCE_INLINE __m128d _mm_cmpneq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_s32(vmvnq_s32(vreinterpretq_s32_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vmvnq_u32(vandq_u32(cmp, swapped))); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_sd ++FORCE_INLINE __m128d _mm_cmpneq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpneq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_pd ++FORCE_INLINE __m128d _mm_cmpnge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) >= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) >= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_sd ++FORCE_INLINE __m128d _mm_cmpnge_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnge_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_cmpngt_pd ++FORCE_INLINE __m128d _mm_cmpngt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) > (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) > (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_sd ++FORCE_INLINE __m128d _mm_cmpngt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpngt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_pd ++FORCE_INLINE __m128d _mm_cmpnle_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) <= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) <= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_sd ++FORCE_INLINE __m128d _mm_cmpnle_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnle_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_pd ++FORCE_INLINE __m128d _mm_cmpnlt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) < (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) < (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_sd ++FORCE_INLINE __m128d _mm_cmpnlt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnlt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_pd ++FORCE_INLINE __m128d _mm_cmpord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Excluding NaNs, any two floating point numbers can be compared. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_u64(vandq_u64(not_nan_a, not_nan_b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_sd ++FORCE_INLINE __m128d _mm_cmpord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_pd ++FORCE_INLINE __m128d _mm_cmpunord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Two NaNs are not equal in comparison operation. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_s32( ++ vmvnq_s32(vreinterpretq_s32_u64(vandq_u64(not_nan_a, not_nan_b)))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_sd ++FORCE_INLINE __m128d _mm_cmpunord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpunord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_sd ++FORCE_INLINE int _mm_comige_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgeq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 >= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_sd ++FORCE_INLINE int _mm_comigt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgtq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 > *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_sd ++FORCE_INLINE int _mm_comile_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcleq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 <= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_sd ++FORCE_INLINE int _mm_comilt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcltq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 < *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_sd ++FORCE_INLINE int _mm_comieq_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vceqq_f64(a, b), 0) & 0x1; ++#else ++ uint32x4_t a_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(a)); ++ uint32x4_t b_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(b), vreinterpretq_u32_m128d(b)); ++ uint32x4_t a_and_b_not_nan = vandq_u32(a_not_nan, b_not_nan); ++ uint32x4_t a_eq_b = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint64x2_t and_results = vandq_u64(vreinterpretq_u64_u32(a_and_b_not_nan), ++ vreinterpretq_u64_u32(a_eq_b)); ++ return vgetq_lane_u64(and_results, 0) & 0x1; ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_sd ++FORCE_INLINE int _mm_comineq_sd(__m128d a, __m128d b) ++{ ++ return !_mm_comieq_sd(a, b); ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_pd ++FORCE_INLINE __m128d _mm_cvtepi32_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a))))); ++#else ++ double a0 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++ double a1 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_ps ++FORCE_INLINE __m128 _mm_cvtepi32_ps(__m128i a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_epi32 ++FORCE_INLINE_OPTNONE __m128i _mm_cvtpd_epi32(__m128d a) ++{ ++// vrnd32xq_f64 not supported on clang ++#if defined(__ARM_FEATURE_FRINT) && !defined(__clang__) ++ float64x2_t rounded = vrnd32xq_f64(vreinterpretq_f64_m128d(a)); ++ int64x2_t integers = vcvtq_s64_f64(rounded); ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vmovn_s64(integers), vdup_n_s32(0))); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) d1, (int32_t) d0); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_pi32 ++FORCE_INLINE_OPTNONE __m64 _mm_cvtpd_pi32(__m128d a) ++{ ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) d0, (int32_t) d1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed single-precision (32-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_ps ++FORCE_INLINE __m128 _mm_cvtpd_ps(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float32x2_t tmp = vcvt_f32_f64(vreinterpretq_f64_m128d(a)); ++ return vreinterpretq_m128_f32(vcombine_f32(tmp, vdup_n_f32(0))); ++#else ++ float a0 = (float) ((double *) &a)[0]; ++ float a1 = (float) ((double *) &a)[1]; ++ return _mm_set_ps(0, 0, a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_pd ++FORCE_INLINE __m128d _mm_cvtpi32_pd(__m64 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vreinterpret_s32_m64(a)))); ++#else ++ double a0 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 0); ++ double a1 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_epi32 ++// *NOTE*. The default rounding mode on SSE is 'round to even', which ARMv7-A ++// does not support! It is supported on ARMv8-A however. ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128 a) ++{ ++#if defined(__ARM_FEATURE_FRINT) ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vrnd32xq_f32(a))); ++#elif (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: ++ return vreinterpretq_m128i_s32(vcvtnq_s32_f32(a)); ++ case _MM_ROUND_DOWN: ++ return vreinterpretq_m128i_s32(vcvtmq_s32_f32(a)); ++ case _MM_ROUND_UP: ++ return vreinterpretq_m128i_s32(vcvtpq_s32_f32(a)); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(a)); ++ } ++#else ++ float *f = (float *) &a; ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128i_s32( ++ vbslq_s32(is_delta_half, r_even, r_normal)); ++ } ++ case _MM_ROUND_DOWN: ++ return _mm_set_epi32(floorf(f[3]), floorf(f[2]), floorf(f[1]), ++ floorf(f[0])); ++ case _MM_ROUND_UP: ++ return _mm_set_epi32(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ++ ceilf(f[0])); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return _mm_set_epi32((int32_t) f[3], (int32_t) f[2], (int32_t) f[1], ++ (int32_t) f[0]); ++ } ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed double-precision (64-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pd ++FORCE_INLINE __m128d _mm_cvtps_pd(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvt_f64_f32(vget_low_f32(vreinterpretq_f32_m128(a)))); ++#else ++ double a0 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ double a1 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Copy the lower double-precision (64-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_f64 ++FORCE_INLINE double _mm_cvtsd_f64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (double) vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0); ++#else ++ return ((double *) &a)[0]; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si32 ++FORCE_INLINE int32_t _mm_cvtsd_si32(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int32_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int32_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64 ++FORCE_INLINE int64_t _mm_cvtsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int64_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64x ++#define _mm_cvtsd_si64x _mm_cvtsd_si64 ++ ++// Convert the lower double-precision (64-bit) floating-point element in b to a ++// single-precision (32-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_ss ++FORCE_INLINE __m128 _mm_cvtsd_ss(__m128 a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32(vsetq_lane_f32( ++ vget_lane_f32(vcvt_f32_f64(vreinterpretq_f64_m128d(b)), 0), ++ vreinterpretq_f32_m128(a), 0)); ++#else ++ return vreinterpretq_m128_f32(vsetq_lane_f32((float) ((double *) &b)[0], ++ vreinterpretq_f32_m128(a), 0)); ++#endif ++} ++ ++// Copy the lower 32-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si32 ++FORCE_INLINE int _mm_cvtsi128_si32(__m128i a) ++{ ++ return vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64 ++FORCE_INLINE int64_t _mm_cvtsi128_si64(__m128i a) ++{ ++ return vgetq_lane_s64(vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Convert the signed 32-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_sd ++FORCE_INLINE __m128d _mm_cvtsi32_sd(__m128d a, int32_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Copy 32-bit integer a to the lower elements of dst, and zero the upper ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_si128 ++FORCE_INLINE __m128i _mm_cvtsi32_si128(int a) ++{ ++ return vreinterpretq_m128i_s32(vsetq_lane_s32(a, vdupq_n_s32(0), 0)); ++} ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_sd ++FORCE_INLINE __m128d _mm_cvtsi64_sd(__m128d a, int64_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_si128 ++FORCE_INLINE __m128i _mm_cvtsi64_si128(int64_t a) ++{ ++ return vreinterpretq_m128i_s64(vsetq_lane_s64(a, vdupq_n_s64(0), 0)); ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_si128 ++#define _mm_cvtsi64x_si128(a) _mm_cvtsi64_si128(a) ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_sd ++#define _mm_cvtsi64x_sd(a, b) _mm_cvtsi64_sd(a, b) ++ ++// Convert the lower single-precision (32-bit) floating-point element in b to a ++// double-precision (64-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_sd ++FORCE_INLINE __m128d _mm_cvtss_sd(__m128d a, __m128 b) ++{ ++ double d = (double) vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(d, vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &d, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_epi32 ++FORCE_INLINE __m128i _mm_cvttpd_epi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) a1, (int32_t) a0); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_pi32 ++FORCE_INLINE __m64 _mm_cvttpd_pi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) a0, (int32_t) a1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_epi32 ++FORCE_INLINE __m128i _mm_cvttps_epi32(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a))); ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si32 ++FORCE_INLINE int32_t _mm_cvttsd_si32(__m128d a) ++{ ++ double ret = *((double *) &a); ++ return (int32_t) ret; ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64 ++FORCE_INLINE int64_t _mm_cvttsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_s64(vcvtq_s64_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ double ret = *((double *) &a); ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64x ++#define _mm_cvttsd_si64x(a) _mm_cvttsd_si64(a) ++ ++// Divide packed double-precision (64-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_pd ++FORCE_INLINE __m128d _mm_div_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] / db[0]; ++ c[1] = da[1] / db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Divide the lower double-precision (64-bit) floating-point element in a by the ++// lower double-precision (64-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper element from a to the upper ++// element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_sd ++FORCE_INLINE __m128d _mm_div_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t tmp = ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1), tmp, 1)); ++#else ++ return _mm_move_sd(a, _mm_div_pd(a, b)); ++#endif ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi16 ++// FORCE_INLINE int _mm_extract_epi16(__m128i a, __constrange(0,8) int imm) ++#define _mm_extract_epi16(a, imm) \ ++ vgetq_lane_u16(vreinterpretq_u16_m128i(a), (imm)) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi16 ++// FORCE_INLINE __m128i _mm_insert_epi16(__m128i a, int b, ++// __constrange(0,8) int imm) ++#define _mm_insert_epi16(a, b, imm) \ ++ vreinterpretq_m128i_s16( \ ++ vsetq_lane_s16((b), vreinterpretq_s16_m128i(a), (imm))) ++ ++// Load 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd ++FORCE_INLINE __m128d _mm_load_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64(p)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], fp[2], fp[3]}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd1 ++#define _mm_load_pd1 _mm_load1_pd ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower of dst, and zero the upper element. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_sd ++FORCE_INLINE __m128d _mm_load_sd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(*p, vdupq_n_f64(0), 0)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], 0, 0}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_si128 ++FORCE_INLINE __m128i _mm_load_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const int32_t *) p)); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_pd ++FORCE_INLINE __m128d _mm_load1_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_dup_f64(p)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(const int64_t *) p)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// upper element of dst, and copy the lower element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pd ++FORCE_INLINE __m128d _mm_loadh_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vget_low_f64(vreinterpretq_f64_m128d(a)), vld1_f64(p))); ++#else ++ return vreinterpretq_m128d_f32(vcombine_f32( ++ vget_low_f32(vreinterpretq_f32_m128d(a)), vld1_f32((const float *) p))); ++#endif ++} ++ ++// Load 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_epi64 ++FORCE_INLINE __m128i _mm_loadl_epi64(__m128i const *p) ++{ ++ /* Load the lower 64 bits of the value pointed to by p into the ++ * lower 64 bits of the result, zeroing the upper 64 bits of the result. ++ */ ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vld1_s32((int32_t const *) p), vcreate_s32(0))); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower element of dst, and copy the upper element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pd ++FORCE_INLINE __m128d _mm_loadl_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vld1_f64(p), vget_high_f64(vreinterpretq_f64_m128d(a)))); ++#else ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vld1_f32((const float *) p), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++#endif ++} ++ ++// Load 2 double-precision (64-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_pd ++FORCE_INLINE __m128d _mm_loadr_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t v = vld1q_f64(p); ++ return vreinterpretq_m128d_f64(vextq_f64(v, v, 1)); ++#else ++ int64x2_t v = vld1q_s64((const int64_t *) p); ++ return vreinterpretq_m128d_s64(vextq_s64(v, v, 1)); ++#endif ++} ++ ++// Loads two double-precision from unaligned memory, floating-point values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_pd ++FORCE_INLINE __m128d _mm_loadu_pd(const double *p) ++{ ++ return _mm_load_pd(p); ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si128 ++FORCE_INLINE __m128i _mm_loadu_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const unaligned_int32_t *) p)); ++} ++ ++// Load unaligned 32-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si32 ++FORCE_INLINE __m128i _mm_loadu_si32(const void *p) ++{ ++ return vreinterpretq_m128i_s32( ++ vsetq_lane_s32(*(const unaligned_int32_t *) p, vdupq_n_s32(0), 0)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Horizontally add adjacent pairs of intermediate ++// 32-bit integers, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_madd_epi16 ++FORCE_INLINE __m128i _mm_madd_epi16(__m128i a, __m128i b) ++{ ++ int32x4_t low = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t high = ++ vmull_high_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b)); ++ ++ return vreinterpretq_m128i_s32(vpaddq_s32(low, high)); ++#else ++ int32x4_t high = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ int32x2_t low_sum = vpadd_s32(vget_low_s32(low), vget_high_s32(low)); ++ int32x2_t high_sum = vpadd_s32(vget_low_s32(high), vget_high_s32(high)); ++ ++ return vreinterpretq_m128i_s32(vcombine_s32(low_sum, high_sum)); ++#endif ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. mem_addr does not need to be aligned ++// on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmoveu_si128 ++FORCE_INLINE void _mm_maskmoveu_si128(__m128i a, __m128i mask, char *mem_addr) ++{ ++ int8x16_t shr_mask = vshrq_n_s8(vreinterpretq_s8_m128i(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x16_t masked = ++ vbslq_s8(vreinterpretq_u8_s8(shr_mask), vreinterpretq_s8_m128i(a), ++ vreinterpretq_s8_m128(b)); ++ vst1q_s8((int8_t *) mem_addr, masked); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi16 ++FORCE_INLINE __m128i _mm_max_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmaxq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu8 ++FORCE_INLINE __m128i _mm_max_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vmaxq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pd ++FORCE_INLINE __m128d _mm_max_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcgtq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vmaxq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? a1 : b1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_sd ++FORCE_INLINE __m128d _mm_max_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_max_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] > db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi16 ++FORCE_INLINE __m128i _mm_min_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vminq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu8 ++FORCE_INLINE __m128i _mm_min_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vminq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pd ++FORCE_INLINE __m128d _mm_min_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcltq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vminq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? a1 : b1; ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_sd ++FORCE_INLINE __m128d _mm_min_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_min_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] < db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to the lower element of dst, and zero the ++// upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_epi64 ++FORCE_INLINE __m128i _mm_move_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vsetq_lane_s64(0, vreinterpretq_s64_m128i(a), 1)); ++} ++ ++// Move the lower double-precision (64-bit) floating-point element from b to the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_sd ++FORCE_INLINE __m128d _mm_move_sd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vget_low_f32(vreinterpretq_f32_m128d(b)), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_epi8 ++FORCE_INLINE int _mm_movemask_epi8(__m128i a) ++{ ++ // Use increasingly wide shifts+adds to collect the sign bits ++ // together. ++ // Since the widening shifts would be rather confusing to follow in little ++ // endian, everything will be illustrated in big endian order instead. This ++ // has a different result - the bits would actually be reversed on a big ++ // endian machine. ++ ++ // Starting input (only half the elements are shown): ++ // 89 ff 1d c0 00 10 99 33 ++ uint8x16_t input = vreinterpretq_u8_m128i(a); ++ ++ // Shift out everything but the sign bits with an unsigned shift right. ++ // ++ // Bytes of the vector:: ++ // 89 ff 1d c0 00 10 99 33 ++ // \ \ \ \ \ \ \ \ high_bits = (uint16x4_t)(input >> 7) ++ // | | | | | | | | ++ // 01 01 00 01 00 00 01 00 ++ // ++ // Bits of first important lane(s): ++ // 10001001 (89) ++ // \______ ++ // | ++ // 00000001 (01) ++ uint16x8_t high_bits = vreinterpretq_u16_u8(vshrq_n_u8(input, 7)); ++ ++ // Merge the even lanes together with a 16-bit unsigned shift right + add. ++ // 'xx' represents garbage data which will be ignored in the final result. ++ // In the important bytes, the add functions like a binary OR. ++ // ++ // 01 01 00 01 00 00 01 00 ++ // \_ | \_ | \_ | \_ | paired16 = (uint32x4_t)(input + (input >> 7)) ++ // \| \| \| \| ++ // xx 03 xx 01 xx 00 xx 02 ++ // ++ // 00000001 00000001 (01 01) ++ // \_______ | ++ // \| ++ // xxxxxxxx xxxxxx11 (xx 03) ++ uint32x4_t paired16 = ++ vreinterpretq_u32_u16(vsraq_n_u16(high_bits, high_bits, 7)); ++ ++ // Repeat with a wider 32-bit shift + add. ++ // xx 03 xx 01 xx 00 xx 02 ++ // \____ | \____ | paired32 = (uint64x1_t)(paired16 + (paired16 >> ++ // 14)) ++ // \| \| ++ // xx xx xx 0d xx xx xx 02 ++ // ++ // 00000011 00000001 (03 01) ++ // \\_____ || ++ // '----.\|| ++ // xxxxxxxx xxxx1101 (xx 0d) ++ uint64x2_t paired32 = ++ vreinterpretq_u64_u32(vsraq_n_u32(paired16, paired16, 14)); ++ ++ // Last, an even wider 64-bit shift + add to get our result in the low 8 bit ++ // lanes. xx xx xx 0d xx xx xx 02 ++ // \_________ | paired64 = (uint8x8_t)(paired32 + (paired32 >> ++ // 28)) ++ // \| ++ // xx xx xx xx xx xx xx d2 ++ // ++ // 00001101 00000010 (0d 02) ++ // \ \___ | | ++ // '---. \| | ++ // xxxxxxxx 11010010 (xx d2) ++ uint8x16_t paired64 = ++ vreinterpretq_u8_u64(vsraq_n_u64(paired32, paired32, 28)); ++ ++ // Extract the low 8 bits from each 64-bit lane with 2 8-bit extracts. ++ // xx xx xx xx xx xx xx d2 ++ // || return paired64[0] ++ // d2 ++ // Note: Little endian would return the correct value 4b (01001011) instead. ++ return vgetq_lane_u8(paired64, 0) | ((int) vgetq_lane_u8(paired64, 8) << 8); ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed double-precision (64-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pd ++FORCE_INLINE int _mm_movemask_pd(__m128d a) ++{ ++ uint64x2_t input = vreinterpretq_u64_m128d(a); ++ uint64x2_t high_bits = vshrq_n_u64(input, 63); ++ return (int) (vgetq_lane_u64(high_bits, 0) | ++ (vgetq_lane_u64(high_bits, 1) << 1)); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movepi64_pi64 ++FORCE_INLINE __m64 _mm_movepi64_pi64(__m128i a) ++{ ++ return vreinterpret_m64_s64(vget_low_s64(vreinterpretq_s64_m128i(a))); ++} ++ ++// Copy the 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movpi64_epi64 ++FORCE_INLINE __m128i _mm_movpi64_epi64(__m64 a) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vreinterpret_s64_m64(a), vdup_n_s64(0))); ++} ++ ++// Multiply the low unsigned 32-bit integers from each packed 64-bit element in ++// a and b, and store the unsigned 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epu32 ++FORCE_INLINE __m128i _mm_mul_epu32(__m128i a, __m128i b) ++{ ++ // vmull_u32 upcasts instead of masking, so we downcast. ++ uint32x2_t a_lo = vmovn_u64(vreinterpretq_u64_m128i(a)); ++ uint32x2_t b_lo = vmovn_u64(vreinterpretq_u64_m128i(b)); ++ return vreinterpretq_m128i_u64(vmull_u32(a_lo, b_lo)); ++} ++ ++// Multiply packed double-precision (64-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_pd ++FORCE_INLINE __m128d _mm_mul_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vmulq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] * db[0]; ++ c[1] = da[1] * db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Multiply the lower double-precision (64-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper element ++// from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_mul_sd ++FORCE_INLINE __m128d _mm_mul_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_mul_pd(a, b)); ++} ++ ++// Multiply the low unsigned 32-bit integers from a and b, and store the ++// unsigned 64-bit result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_su32 ++FORCE_INLINE __m64 _mm_mul_su32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u64(vget_low_u64( ++ vmull_u32(vreinterpret_u32_m64(a), vreinterpret_u32_m64(b)))); ++} ++ ++// Multiply the packed signed 16-bit integers in a and b, producing intermediate ++// 32-bit integers, and store the high 16 bits of the intermediate integers in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epi16 ++FORCE_INLINE __m128i _mm_mulhi_epi16(__m128i a, __m128i b) ++{ ++ /* FIXME: issue with large values because of result saturation */ ++ // int16x8_t ret = vqdmulhq_s16(vreinterpretq_s16_m128i(a), ++ // vreinterpretq_s16_m128i(b)); /* =2*a*b */ return ++ // vreinterpretq_m128i_s16(vshrq_n_s16(ret, 1)); ++ int16x4_t a3210 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b3210 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab3210 = vmull_s16(a3210, b3210); /* 3333222211110000 */ ++ int16x4_t a7654 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b7654 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab7654 = vmull_s16(a7654, b7654); /* 7777666655554444 */ ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_s32(ab3210), vreinterpretq_u16_s32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epu16 ++FORCE_INLINE __m128i _mm_mulhi_epu16(__m128i a, __m128i b) ++{ ++ uint16x4_t a3210 = vget_low_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b3210 = vget_low_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab3210 = vmull_u16(a3210, b3210); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32x4_t ab7654 = ++ vmull_high_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ uint16x8_t r = vuzp2q_u16(vreinterpretq_u16_u32(ab3210), ++ vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r); ++#else ++ uint16x4_t a7654 = vget_high_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b7654 = vget_high_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab7654 = vmull_u16(a7654, b7654); ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_u32(ab3210), vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++#endif ++} ++ ++// Multiply the packed 16-bit integers in a and b, producing intermediate 32-bit ++// integers, and store the low 16 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi16 ++FORCE_INLINE __m128i _mm_mullo_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmulq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compute the bitwise OR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_or_pd ++FORCE_INLINE __m128d _mm_or_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vorrq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise OR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_si128 ++FORCE_INLINE __m128i _mm_or_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vorrq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi16 ++FORCE_INLINE __m128i _mm_packs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vqmovn_s16(vreinterpretq_s16_m128i(a)), ++ vqmovn_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi32 ++FORCE_INLINE __m128i _mm_packs_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vqmovn_s32(vreinterpretq_s32_m128i(a)), ++ vqmovn_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi16 ++FORCE_INLINE __m128i _mm_packus_epi16(const __m128i a, const __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcombine_u8(vqmovun_s16(vreinterpretq_s16_m128i(a)), ++ vqmovun_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Pause the processor. This is typically used in spin-wait loops and depending ++// on the x86 processor typical values are in the 40-100 cycle range. The ++// 'yield' instruction isn't a good fit because it's effectively a nop on most ++// Arm cores. Experience with several databases has shown has shown an 'isb' is ++// a reasonable approximation. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_pause ++FORCE_INLINE void _mm_pause(void) ++{ ++#if defined(_MSC_VER) ++ __isb(_ARM64_BARRIER_SY); ++#else ++ __asm__ __volatile__("isb\n"); ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce two ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of 64-bit elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_epu8 ++FORCE_INLINE __m128i _mm_sad_epu8(__m128i a, __m128i b) ++{ ++ uint16x8_t t = vpaddlq_u8(vabdq_u8((uint8x16_t) a, (uint8x16_t) b)); ++ return vreinterpretq_m128i_u64(vpaddlq_u32(vpaddlq_u16(t))); ++} ++ ++// Set packed 16-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi16 ++FORCE_INLINE __m128i _mm_set_epi16(short i7, ++ short i6, ++ short i5, ++ short i4, ++ short i3, ++ short i2, ++ short i1, ++ short i0) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {i0, i1, i2, i3, i4, i5, i6, i7}; ++ return vreinterpretq_m128i_s16(vld1q_s16(data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi32 ++FORCE_INLINE __m128i _mm_set_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i0, i1, i2, i3}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64 ++FORCE_INLINE __m128i _mm_set_epi64(__m64 i1, __m64 i2) ++{ ++ return _mm_set_epi64x(vget_lane_s64(i1, 0), vget_lane_s64(i2, 0)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64x ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t i1, int64_t i2) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vcreate_s64(i2), vcreate_s64(i1))); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi8 ++FORCE_INLINE __m128i _mm_set_epi8(signed char b15, ++ signed char b14, ++ signed char b13, ++ signed char b12, ++ signed char b11, ++ signed char b10, ++ signed char b9, ++ signed char b8, ++ signed char b7, ++ signed char b6, ++ signed char b5, ++ signed char b4, ++ signed char b3, ++ signed char b2, ++ signed char b1, ++ signed char b0) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd ++FORCE_INLINE __m128d _mm_set_pd(double e1, double e0) ++{ ++ double ALIGN_STRUCT(16) data[2] = {e0, e1}; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64((float64_t *) data)); ++#else ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) data)); ++#endif ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd1 ++#define _mm_set_pd1 _mm_set1_pd ++ ++// Copy double-precision (64-bit) floating-point element a to the lower element ++// of dst, and zero the upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_sd ++FORCE_INLINE __m128d _mm_set_sd(double a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(a, vdupq_n_f64(0), 0)); ++#else ++ return _mm_set_pd(0, a); ++#endif ++} ++ ++// Broadcast 16-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi16 ++FORCE_INLINE __m128i _mm_set1_epi16(short w) ++{ ++ return vreinterpretq_m128i_s16(vdupq_n_s16(w)); ++} ++ ++// Broadcast 32-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi32 ++FORCE_INLINE __m128i _mm_set1_epi32(int _i) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(_i)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64 ++FORCE_INLINE __m128i _mm_set1_epi64(__m64 _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_lane_s64(_i, 0)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64x ++FORCE_INLINE __m128i _mm_set1_epi64x(int64_t _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_n_s64(_i)); ++} ++ ++// Broadcast 8-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi8 ++FORCE_INLINE __m128i _mm_set1_epi8(signed char w) ++{ ++ return vreinterpretq_m128i_s8(vdupq_n_s8(w)); ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_pd ++FORCE_INLINE __m128d _mm_set1_pd(double d) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(d)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(int64_t *) &d)); ++#endif ++} ++ ++// Set packed 16-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi16 ++FORCE_INLINE __m128i _mm_setr_epi16(short w0, ++ short w1, ++ short w2, ++ short w3, ++ short w4, ++ short w5, ++ short w6, ++ short w7) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {w0, w1, w2, w3, w4, w5, w6, w7}; ++ return vreinterpretq_m128i_s16(vld1q_s16((int16_t *) data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi32 ++FORCE_INLINE __m128i _mm_setr_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i3, i2, i1, i0}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi64 ++FORCE_INLINE __m128i _mm_setr_epi64(__m64 e1, __m64 e0) ++{ ++ return vreinterpretq_m128i_s64(vcombine_s64(e1, e0)); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi8 ++FORCE_INLINE __m128i _mm_setr_epi8(signed char b0, ++ signed char b1, ++ signed char b2, ++ signed char b3, ++ signed char b4, ++ signed char b5, ++ signed char b6, ++ signed char b7, ++ signed char b8, ++ signed char b9, ++ signed char b10, ++ signed char b11, ++ signed char b12, ++ signed char b13, ++ signed char b14, ++ signed char b15) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_pd ++FORCE_INLINE __m128d _mm_setr_pd(double e1, double e0) ++{ ++ return _mm_set_pd(e0, e1); ++} ++ ++// Return vector of type __m128d with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_pd ++FORCE_INLINE __m128d _mm_setzero_pd(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(0)); ++#else ++ return vreinterpretq_m128d_f32(vdupq_n_f32(0)); ++#endif ++} ++ ++// Return vector of type __m128i with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_si128 ++FORCE_INLINE __m128i _mm_setzero_si128(void) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(0)); ++} ++ ++// Shuffle 32-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi32 ++// FORCE_INLINE __m128i _mm_shuffle_epi32(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shuffle_epi32(a, imm) \ ++ __extension__({ \ ++ int32x4_t _input = vreinterpretq_s32_m128i(a); \ ++ int32x4_t _shuf = \ ++ vshuffleq_s32(_input, _input, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ ((imm) >> 4) & 0x3, ((imm) >> 6) & 0x3); \ ++ vreinterpretq_m128i_s32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_epi32(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, __m128i ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_epi_1032(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_epi_2301(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_epi_0321(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_epi_2103(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_shuffle_epi_1010(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_epi_1001(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_epi_0101(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 1, 1): \ ++ ret = _mm_shuffle_epi_2211(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 2, 2): \ ++ ret = _mm_shuffle_epi_0122(_a); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 2): \ ++ ret = _mm_shuffle_epi_3332(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 0, 0): \ ++ ret = _mm_shuffle_epi32_splat(_a, 0); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 1, 1): \ ++ ret = _mm_shuffle_epi32_splat(_a, 1); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 2, 2): \ ++ ret = _mm_shuffle_epi32_splat(_a, 2); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 3): \ ++ ret = _mm_shuffle_epi32_splat(_a, 3); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_epi32_default(_a, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Shuffle double-precision (64-bit) floating-point elements using the control ++// in imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pd ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pd(a, b, imm8) \ ++ vreinterpretq_m128d_s64( \ ++ vshuffleq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b), \ ++ imm8 & 0x1, ((imm8 & 0x2) >> 1) + 2)) ++#else ++#define _mm_shuffle_pd(a, b, imm8) \ ++ _mm_castsi128_pd(_mm_set_epi64x( \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(b), (imm8 & 0x2) >> 1), \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(a), imm8 & 0x1))) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflehi_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflehi_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = \ ++ vshuffleq_s16(_input, _input, 0, 1, 2, 3, ((imm) & (0x3)) + 4, \ ++ (((imm) >> 2) & 0x3) + 4, (((imm) >> 4) & 0x3) + 4, \ ++ (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflehi_epi16(a, imm) _mm_shufflehi_epi16_function((a), (imm)) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflelo_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflelo_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = vshuffleq_s16( \ ++ _input, _input, ((imm) & (0x3)), (((imm) >> 2) & 0x3), \ ++ (((imm) >> 4) & 0x3), (((imm) >> 6) & 0x3), 4, 5, 6, 7); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflelo_epi16(a, imm) _mm_shufflelo_epi16_function((a), (imm)) ++#endif ++ ++// Shift packed 16-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi16 ++FORCE_INLINE __m128i _mm_sll_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16((int16_t) c); ++ return vreinterpretq_m128i_s16(vshlq_s16(vreinterpretq_s16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi32 ++FORCE_INLINE __m128i _mm_sll_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32((int32_t) c); ++ return vreinterpretq_m128i_s32(vshlq_s32(vreinterpretq_s32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi64 ++FORCE_INLINE __m128i _mm_sll_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64((int64_t) c); ++ return vreinterpretq_m128i_s64(vshlq_s64(vreinterpretq_s64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi16 ++FORCE_INLINE __m128i _mm_slli_epi16(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~15)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16(vreinterpretq_s16_m128i(a), vdupq_n_s16(imm))); ++} ++ ++// Shift packed 32-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi32 ++FORCE_INLINE __m128i _mm_slli_epi32(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~31)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32(vreinterpretq_s32_m128i(a), vdupq_n_s32(imm))); ++} ++ ++// Shift packed 64-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi64 ++FORCE_INLINE __m128i _mm_slli_epi64(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~63)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s64( ++ vshlq_s64(vreinterpretq_s64_m128i(a), vdupq_n_s64(imm))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_si128 ++#define _mm_slli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely(imm == 0)) ret = vreinterpretq_s8_m128i(_a); \ ++ else if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vdupq_n_s8(0), vreinterpretq_s8_m128i(_a), \ ++ ((imm <= 0 || imm > 15) ? 0 : (16 - imm))); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Compute the square root of packed double-precision (64-bit) floating-point ++// elements in a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_pd ++FORCE_INLINE __m128d _mm_sqrt_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsqrtq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double a0 = sqrt(((double *) &a)[0]); ++ double a1 = sqrt(((double *) &a)[1]); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Compute the square root of the lower double-precision (64-bit) floating-point ++// element in b, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_sd ++FORCE_INLINE __m128d _mm_sqrt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_sqrt_pd(b)); ++#else ++ return _mm_set_pd(((double *) &a)[1], sqrt(((double *) &b)[0])); ++#endif ++} ++ ++// Shift packed 16-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi16 ++FORCE_INLINE __m128i _mm_sra_epi16(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_cmplt_epi16(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16((int16x8_t) a, vdupq_n_s16((int) -c))); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi32 ++FORCE_INLINE __m128i _mm_sra_epi32(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_cmplt_epi32(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32((int32x4_t) a, vdupq_n_s32((int) -c))); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in sign ++// bits, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi16 ++FORCE_INLINE __m128i _mm_srai_epi16(__m128i a, int imm) ++{ ++ const int count = (imm & ~15) ? 15 : imm; ++ return (__m128i) vshlq_s16((int16x8_t) a, vdupq_n_s16(-count)); ++} ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi32 ++// FORCE_INLINE __m128i _mm_srai_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srai_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) == 0)) { \ ++ ret = _a; \ ++ } else if (_sse2neon_likely(0 < (imm) && (imm) < 32)) { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshlq_s32(vreinterpretq_s32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } else { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshrq_n_s32(vreinterpretq_s32_m128i(_a), 31)); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 16-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi16 ++FORCE_INLINE __m128i _mm_srl_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16(-(int16_t) c); ++ return vreinterpretq_m128i_u16(vshlq_u16(vreinterpretq_u16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi32 ++FORCE_INLINE __m128i _mm_srl_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32(-(int32_t) c); ++ return vreinterpretq_m128i_u32(vshlq_u32(vreinterpretq_u32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi64 ++FORCE_INLINE __m128i _mm_srl_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64(-(int64_t) c); ++ return vreinterpretq_m128i_u64(vshlq_u64(vreinterpretq_u64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi16 ++#define _mm_srli_epi16(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~15)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u16( \ ++ vshlq_u16(vreinterpretq_u16_m128i(_a), vdupq_n_s16(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi32 ++// FORCE_INLINE __m128i _mm_srli_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srli_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~31)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u32( \ ++ vshlq_u32(vreinterpretq_u32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 64-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi64 ++#define _mm_srli_epi64(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~63)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u64( \ ++ vshlq_u64(vreinterpretq_u64_m128i(_a), vdupq_n_s64(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_si128 ++#define _mm_srli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vreinterpretq_s8_m128i(_a), vdupq_n_s8(0), \ ++ (imm > 15 ? 0 : imm)); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd ++FORCE_INLINE void _mm_store_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64((float64_t *) mem_addr, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_f32((float32_t *) mem_addr, vreinterpretq_f32_m128d(a)); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd1 ++FORCE_INLINE void _mm_store_pd1(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x1_t a_low = vget_low_f64(vreinterpretq_f64_m128d(a)); ++ vst1q_f64((float64_t *) mem_addr, ++ vreinterpretq_f64_m128d(vcombine_f64(a_low, a_low))); ++#else ++ float32x2_t a_low = vget_low_f32(vreinterpretq_f32_m128d(a)); ++ vst1q_f32((float32_t *) mem_addr, ++ vreinterpretq_f32_m128d(vcombine_f32(a_low, a_low))); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_store_sd ++FORCE_INLINE void _mm_store_sd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_u64((uint64_t *) mem_addr, vget_low_u64(vreinterpretq_u64_m128d(a))); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_si128 ++FORCE_INLINE void _mm_store_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#expand=9,526,5601&text=_mm_store1_pd ++#define _mm_store1_pd _mm_store_pd1 ++ ++// Store the upper double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pd ++FORCE_INLINE void _mm_storeh_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_high_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_high_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 64-bit integer from the first element of a into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_epi64 ++FORCE_INLINE void _mm_storel_epi64(__m128i *a, __m128i b) ++{ ++ vst1_u64((uint64_t *) a, vget_low_u64(vreinterpretq_u64_m128i(b))); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pd ++FORCE_INLINE void _mm_storel_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_low_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 2 double-precision (64-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_pd ++FORCE_INLINE void _mm_storer_pd(double *mem_addr, __m128d a) ++{ ++ float32x4_t f = vreinterpretq_f32_m128d(a); ++ _mm_store_pd(mem_addr, vreinterpretq_m128d_f32(vextq_f32(f, f, 2))); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_pd ++FORCE_INLINE void _mm_storeu_pd(double *mem_addr, __m128d a) ++{ ++ _mm_store_pd(mem_addr, a); ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si128 ++FORCE_INLINE void _mm_storeu_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store 32-bit integer from the first element of a into memory. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si32 ++FORCE_INLINE void _mm_storeu_si32(void *p, __m128i a) ++{ ++ vst1q_lane_s32((int32_t *) p, vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory using a non-temporal memory hint. mem_addr must ++// be aligned on a 16-byte boundary or a general-protection exception may be ++// generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pd ++FORCE_INLINE void _mm_stream_pd(double *p, __m128d a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (__m128d *) p); ++#elif defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64(p, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128d(a)); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory using a non-temporal memory ++// hint. mem_addr must be aligned on a 16-byte boundary or a general-protection ++// exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si128 ++FORCE_INLINE void _mm_stream_si128(__m128i *p, __m128i a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, p); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128i(a)); ++#endif ++} ++ ++// Store 32-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si32 ++FORCE_INLINE void _mm_stream_si32(int *p, int a) ++{ ++ vst1q_lane_s32((int32_t *) p, vdupq_n_s32(a), 0); ++} ++ ++// Store 64-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si64 ++FORCE_INLINE void _mm_stream_si64(__int64 *p, __int64 a) ++{ ++ vst1_s64((int64_t *) p, vdup_n_s64((int64_t) a)); ++} ++ ++// Subtract packed 16-bit integers in b from packed 16-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi16 ++FORCE_INLINE __m128i _mm_sub_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed 32-bit integers in b from packed 32-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi32 ++FORCE_INLINE __m128i _mm_sub_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Subtract packed 64-bit integers in b from packed 64-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi64 ++FORCE_INLINE __m128i _mm_sub_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vsubq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Subtract packed 8-bit integers in b from packed 8-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi8 ++FORCE_INLINE __m128i _mm_sub_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed double-precision (64-bit) floating-point elements in b from ++// packed double-precision (64-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_sub_pd ++FORCE_INLINE __m128d _mm_sub_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] - db[0]; ++ c[1] = da[1] - db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Subtract the lower double-precision (64-bit) floating-point element in b from ++// the lower double-precision (64-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_sd ++FORCE_INLINE __m128d _mm_sub_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_sub_pd(a, b)); ++} ++ ++// Subtract 64-bit integer b from 64-bit integer a, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_si64 ++FORCE_INLINE __m64 _mm_sub_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vsub_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Subtract packed signed 16-bit integers in b from packed 16-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi16 ++FORCE_INLINE __m128i _mm_subs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed signed 8-bit integers in b from packed 8-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi8 ++FORCE_INLINE __m128i _mm_subs_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed unsigned 16-bit integers in b from packed unsigned 16-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu16 ++FORCE_INLINE __m128i _mm_subs_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqsubq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Subtract packed unsigned 8-bit integers in b from packed unsigned 8-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu8 ++FORCE_INLINE __m128i _mm_subs_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqsubq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++#define _mm_ucomieq_sd _mm_comieq_sd ++#define _mm_ucomige_sd _mm_comige_sd ++#define _mm_ucomigt_sd _mm_comigt_sd ++#define _mm_ucomile_sd _mm_comile_sd ++#define _mm_ucomilt_sd _mm_comilt_sd ++#define _mm_ucomineq_sd _mm_comineq_sd ++ ++// Return vector of type __m128d with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_pd ++FORCE_INLINE __m128d _mm_undefined_pd(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128d a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_pd(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi16 ++FORCE_INLINE __m128i _mm_unpackhi_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip2q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi32 ++FORCE_INLINE __m128i _mm_unpackhi_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip2q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_high_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi64 ++FORCE_INLINE __m128i _mm_unpackhi_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip2q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_h = vget_high_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_h = vget_high_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_h, b_h)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the high half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi8 ++FORCE_INLINE __m128i _mm_unpackhi_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip2q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the high half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_pd ++FORCE_INLINE __m128d _mm_unpackhi_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip2q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_high_s64(vreinterpretq_s64_m128d(a)), ++ vget_high_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi16 ++FORCE_INLINE __m128i _mm_unpacklo_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip1q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi32 ++FORCE_INLINE __m128i _mm_unpacklo_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip1q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_low_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi64 ++FORCE_INLINE __m128i _mm_unpacklo_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip1q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_l = vget_low_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_l = vget_low_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_l, b_l)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi8 ++FORCE_INLINE __m128i _mm_unpacklo_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip1q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_pd ++FORCE_INLINE __m128d _mm_unpacklo_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip1q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_low_s64(vreinterpretq_s64_m128d(a)), ++ vget_low_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Compute the bitwise XOR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_pd ++FORCE_INLINE __m128d _mm_xor_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ veorq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise XOR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_si128 ++FORCE_INLINE __m128i _mm_xor_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ veorq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++/* SSE3 */ ++ ++// Alternatively add and subtract packed double-precision (64-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_addsub_pd ++FORCE_INLINE __m128d _mm_addsub_pd(__m128d a, __m128d b) ++{ ++ _sse2neon_const __m128d mask = _mm_set_pd(1.0f, -1.0f); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vfmaq_f64(vreinterpretq_f64_m128d(a), ++ vreinterpretq_f64_m128d(b), ++ vreinterpretq_f64_m128d(mask))); ++#else ++ return _mm_add_pd(_mm_mul_pd(b, mask), a); ++#endif ++} ++ ++// Alternatively add and subtract packed single-precision (32-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=addsub_ps ++FORCE_INLINE __m128 _mm_addsub_ps(__m128 a, __m128 b) ++{ ++ _sse2neon_const __m128 mask = _mm_setr_ps(-1.0f, 1.0f, -1.0f, 1.0f); ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_FMA) /* VFPv4+ */ ++ return vreinterpretq_m128_f32(vfmaq_f32(vreinterpretq_f32_m128(a), ++ vreinterpretq_f32_m128(mask), ++ vreinterpretq_f32_m128(b))); ++#else ++ return _mm_add_ps(_mm_mul_ps(b, mask), a); ++#endif ++} ++ ++// Horizontally add adjacent pairs of double-precision (64-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pd ++FORCE_INLINE __m128d _mm_hadd_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vpaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[] = {da[0] + da[1], db[0] + db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of single-precision (32-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_ps ++FORCE_INLINE __m128 _mm_hadd_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vpaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vpadd_f32(a10, a32), vpadd_f32(b10, b32))); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of double-precision (64-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pd ++FORCE_INLINE __m128d _mm_hsub_pd(__m128d _a, __m128d _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vuzp1q_f64(a, b), vuzp2q_f64(a, b))); ++#else ++ double *da = (double *) &_a; ++ double *db = (double *) &_b; ++ double c[] = {da[0] - da[1], db[0] - db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of single-precision (32-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_ps ++FORCE_INLINE __m128 _mm_hsub_ps(__m128 _a, __m128 _b) ++{ ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vuzp1q_f32(a, b), vuzp2q_f32(a, b))); ++#else ++ float32x4x2_t c = vuzpq_f32(a, b); ++ return vreinterpretq_m128_f32(vsubq_f32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Load 128-bits of integer data from unaligned memory into dst. This intrinsic ++// may perform better than _mm_loadu_si128 when the data crosses a cache line ++// boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lddqu_si128 ++#define _mm_lddqu_si128 _mm_loadu_si128 ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loaddup_pd ++#define _mm_loaddup_pd _mm_load1_pd ++ ++// Duplicate the low double-precision (64-bit) floating-point element from a, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movedup_pd ++FORCE_INLINE __m128d _mm_movedup_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdupq_laneq_f64(vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_u64( ++ vdupq_n_u64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0))); ++#endif ++} ++ ++// Duplicate odd-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehdup_ps ++FORCE_INLINE __m128 _mm_movehdup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 1, 1, 3, 3)); ++#else ++ float32_t a1 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ float32_t a3 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 3); ++ float ALIGN_STRUCT(16) data[4] = {a1, a1, a3, a3}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Duplicate even-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_moveldup_ps ++FORCE_INLINE __m128 _mm_moveldup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 0, 0, 2, 2)); ++#else ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32_t a2 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 2); ++ float ALIGN_STRUCT(16) data[4] = {a0, a0, a2, a2}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++/* SSSE3 */ ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi16 ++FORCE_INLINE __m128i _mm_abs_epi16(__m128i a) ++{ ++ return vreinterpretq_m128i_s16(vabsq_s16(vreinterpretq_s16_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi32 ++FORCE_INLINE __m128i _mm_abs_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32(vabsq_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi8 ++FORCE_INLINE __m128i _mm_abs_epi8(__m128i a) ++{ ++ return vreinterpretq_m128i_s8(vabsq_s8(vreinterpretq_s8_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi16 ++FORCE_INLINE __m64 _mm_abs_pi16(__m64 a) ++{ ++ return vreinterpret_m64_s16(vabs_s16(vreinterpret_s16_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi32 ++FORCE_INLINE __m64 _mm_abs_pi32(__m64 a) ++{ ++ return vreinterpret_m64_s32(vabs_s32(vreinterpret_s32_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi8 ++FORCE_INLINE __m64 _mm_abs_pi8(__m64 a) ++{ ++ return vreinterpret_m64_s8(vabs_s8(vreinterpret_s8_m64(a))); ++} ++ ++// Concatenate 16-byte blocks in a and b into a 32-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 16 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_epi8 ++#if defined(__GNUC__) && !defined(__clang__) ++#define _mm_alignr_epi8(a, b, imm) \ ++ __extension__({ \ ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); \ ++ uint8x16_t _b = vreinterpretq_u8_m128i(b); \ ++ __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) \ ++ ret = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) \ ++ ret = _mm_srli_si128(a, imm >= 16 ? imm - 16 : 0); \ ++ else \ ++ ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(_b, _a, imm < 16 ? imm : 0)); \ ++ ret; \ ++ }) ++ ++#else ++#define _mm_alignr_epi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, uint8x16_t __a = vreinterpretq_u8_m128i(_a); \ ++ uint8x16_t __b = vreinterpretq_u8_m128i(_b); __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) ret = \ ++ vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) ret = \ ++ _mm_srli_si128(_a, imm >= 16 ? imm - 16 : 0); \ ++ else ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(__b, __a, imm < 16 ? imm : 0)); \ ++ _sse2neon_return(ret);) ++ ++#endif ++ ++// Concatenate 8-byte blocks in a and b into a 16-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 8 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_pi8 ++#define _mm_alignr_pi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m64, a, b, __m64 ret; if (_sse2neon_unlikely((imm) >= 16)) { \ ++ ret = vreinterpret_m64_s8(vdup_n_s8(0)); \ ++ } else { \ ++ uint8x8_t tmp_low; \ ++ uint8x8_t tmp_high; \ ++ if ((imm) >= 8) { \ ++ const int idx = (imm) -8; \ ++ tmp_low = vreinterpret_u8_m64(_a); \ ++ tmp_high = vdup_n_u8(0); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } else { \ ++ const int idx = (imm); \ ++ tmp_low = vreinterpret_u8_m64(_b); \ ++ tmp_high = vreinterpret_u8_m64(_a); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } \ ++ } _sse2neon_return(ret);) ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi16 ++FORCE_INLINE __m128i _mm_hadd_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16(vpaddq_s16(a, b)); ++#else ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(vget_low_s16(a), vget_high_s16(a)), ++ vpadd_s16(vget_low_s16(b), vget_high_s16(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi32 ++FORCE_INLINE __m128i _mm_hadd_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32(vpaddq_s32(a, b)); ++#else ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vpadd_s32(vget_low_s32(a), vget_high_s32(a)), ++ vpadd_s32(vget_low_s32(b), vget_high_s32(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi16 ++FORCE_INLINE __m64 _mm_hadd_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vpadd_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi32 ++FORCE_INLINE __m64 _mm_hadd_pi32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s32( ++ vpadd_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_epi16 ++FORCE_INLINE __m128i _mm_hadds_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ return vreinterpretq_s64_s16( ++ vqaddq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ // Interleave using vshrn/vmovn ++ // [a0|a2|a4|a6|b0|b2|b4|b6] ++ // [a1|a3|a5|a7|b1|b3|b5|b7] ++ int16x8_t ab0246 = vcombine_s16(vmovn_s32(a), vmovn_s32(b)); ++ int16x8_t ab1357 = vcombine_s16(vshrn_n_s32(a, 16), vshrn_n_s32(b, 16)); ++ // Saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(ab0246, ab1357)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_pi16 ++FORCE_INLINE __m64 _mm_hadds_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_s64_s16(vqadd_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t res = vuzp_s16(a, b); ++ return vreinterpret_s64_s16(vqadd_s16(res.val[0], res.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi16 ++FORCE_INLINE __m128i _mm_hsub_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi32 ++FORCE_INLINE __m128i _mm_hsub_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vuzp1q_s32(a, b), vuzp2q_s32(a, b))); ++#else ++ int32x4x2_t c = vuzpq_s32(a, b); ++ return vreinterpretq_m128i_s32(vsubq_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pi16 ++FORCE_INLINE __m64 _mm_hsub_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_hsub_pi32 ++FORCE_INLINE __m64 _mm_hsub_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s32(vsub_s32(vuzp1_s32(a, b), vuzp2_s32(a, b))); ++#else ++ int32x2x2_t c = vuzp_s32(a, b); ++ return vreinterpret_m64_s32(vsub_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_epi16 ++FORCE_INLINE __m128i _mm_hsubs_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vqsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_pi16 ++FORCE_INLINE __m64 _mm_hsubs_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vqsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vqsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, ++// and pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_epi16 ++FORCE_INLINE __m128i _mm_maddubs_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ int16x8_t tl = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_low_u8(a))), ++ vmovl_s8(vget_low_s8(b))); ++ int16x8_t th = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_high_u8(a))), ++ vmovl_s8(vget_high_s8(b))); ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vuzp1q_s16(tl, th), vuzp2q_s16(tl, th))); ++#else ++ // This would be much simpler if x86 would choose to zero extend OR sign ++ // extend, not both. This could probably be optimized better. ++ uint16x8_t a = vreinterpretq_u16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // Zero extend a ++ int16x8_t a_odd = vreinterpretq_s16_u16(vshrq_n_u16(a, 8)); ++ int16x8_t a_even = vreinterpretq_s16_u16(vbicq_u16(a, vdupq_n_u16(0xff00))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x8_t b_even = vshrq_n_s16(vshlq_n_s16(b, 8), 8); ++ int16x8_t b_odd = vshrq_n_s16(b, 8); ++ ++ // multiply ++ int16x8_t prod1 = vmulq_s16(a_even, b_even); ++ int16x8_t prod2 = vmulq_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(prod1, prod2)); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, and ++// pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_pi16 ++FORCE_INLINE __m64 _mm_maddubs_pi16(__m64 _a, __m64 _b) ++{ ++ uint16x4_t a = vreinterpret_u16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // Zero extend a ++ int16x4_t a_odd = vreinterpret_s16_u16(vshr_n_u16(a, 8)); ++ int16x4_t a_even = vreinterpret_s16_u16(vand_u16(a, vdup_n_u16(0xff))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x4_t b_even = vshr_n_s16(vshl_n_s16(b, 8), 8); ++ int16x4_t b_odd = vshr_n_s16(b, 8); ++ ++ // multiply ++ int16x4_t prod1 = vmul_s16(a_even, b_even); ++ int16x4_t prod2 = vmul_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpret_m64_s16(vqadd_s16(prod1, prod2)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Shift right by 15 bits while rounding up, and store ++// the packed 16-bit integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_epi16 ++FORCE_INLINE __m128i _mm_mulhrs_epi16(__m128i a, __m128i b) ++{ ++ // Has issues due to saturation ++ // return vreinterpretq_m128i_s16(vqrdmulhq_s16(a, b)); ++ ++ // Multiply ++ int32x4_t mul_lo = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int32x4_t mul_hi = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ // Rounding narrowing shift right ++ // narrow = (int16_t)((mul + 16384) >> 15); ++ int16x4_t narrow_lo = vrshrn_n_s32(mul_lo, 15); ++ int16x4_t narrow_hi = vrshrn_n_s32(mul_hi, 15); ++ ++ // Join together ++ return vreinterpretq_m128i_s16(vcombine_s16(narrow_lo, narrow_hi)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Truncate each intermediate integer to the 18 most ++// significant bits, round by adding 1, and store bits [16:1] to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_pi16 ++FORCE_INLINE __m64 _mm_mulhrs_pi16(__m64 a, __m64 b) ++{ ++ int32x4_t mul_extend = ++ vmull_s16((vreinterpret_s16_m64(a)), (vreinterpret_s16_m64(b))); ++ ++ // Rounding narrowing shift right ++ return vreinterpret_m64_s16(vrshrn_n_s32(mul_extend, 15)); ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi8 ++FORCE_INLINE __m128i _mm_shuffle_epi8(__m128i a, __m128i b) ++{ ++ int8x16_t tbl = vreinterpretq_s8_m128i(a); // input a ++ uint8x16_t idx = vreinterpretq_u8_m128i(b); // input b ++ uint8x16_t idx_masked = ++ vandq_u8(idx, vdupq_n_u8(0x8F)); // avoid using meaningless bits ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8(vqtbl1q_s8(tbl, idx_masked)); ++#elif defined(__GNUC__) ++ int8x16_t ret; ++ // %e and %f represent the even and odd D registers ++ // respectively. ++ __asm__ __volatile__( ++ "vtbl.8 %e[ret], {%e[tbl], %f[tbl]}, %e[idx]\n" ++ "vtbl.8 %f[ret], {%e[tbl], %f[tbl]}, %f[idx]\n" ++ : [ret] "=&w"(ret) ++ : [tbl] "w"(tbl), [idx] "w"(idx_masked)); ++ return vreinterpretq_m128i_s8(ret); ++#else ++ // use this line if testing on aarch64 ++ int8x8x2_t a_split = {vget_low_s8(tbl), vget_high_s8(tbl)}; ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vtbl2_s8(a_split, vget_low_u8(idx_masked)), ++ vtbl2_s8(a_split, vget_high_u8(idx_masked)))); ++#endif ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi8 ++FORCE_INLINE __m64 _mm_shuffle_pi8(__m64 a, __m64 b) ++{ ++ const int8x8_t controlMask = ++ vand_s8(vreinterpret_s8_m64(b), vdup_n_s8((int8_t) (0x1 << 7 | 0x07))); ++ int8x8_t res = vtbl1_s8(vreinterpret_s8_m64(a), controlMask); ++ return vreinterpret_m64_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed ++// 16-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi16 ++FORCE_INLINE __m128i _mm_sign_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x8_t ltMask = vreinterpretq_u16_s16(vshrq_n_s16(b, 15)); ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqzq_s16(b)); ++#else ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqq_s16(b, vdupq_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s16(a) equals to negative ++ // 'a') based on ltMask ++ int16x8_t masked = vbslq_s16(ltMask, vnegq_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x8_t res = vbicq_s16(masked, zeroMask); ++ return vreinterpretq_m128i_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed ++// 32-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi32 ++FORCE_INLINE __m128i _mm_sign_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x4_t ltMask = vreinterpretq_u32_s32(vshrq_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqzq_s32(b)); ++#else ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqq_s32(b, vdupq_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s32(a) equals to negative ++ // 'a') based on ltMask ++ int32x4_t masked = vbslq_s32(ltMask, vnegq_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x4_t res = vbicq_s32(masked, zeroMask); ++ return vreinterpretq_m128i_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed ++// 8-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi8 ++FORCE_INLINE __m128i _mm_sign_epi8(__m128i _a, __m128i _b) ++{ ++ int8x16_t a = vreinterpretq_s8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x16_t ltMask = vreinterpretq_u8_s8(vshrq_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqzq_s8(b)); ++#else ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqq_s8(b, vdupq_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s8(a) return negative 'a') ++ // based on ltMask ++ int8x16_t masked = vbslq_s8(ltMask, vnegq_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x16_t res = vbicq_s8(masked, zeroMask); ++ ++ return vreinterpretq_m128i_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed 16-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi16 ++FORCE_INLINE __m64 _mm_sign_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x4_t ltMask = vreinterpret_u16_s16(vshr_n_s16(b, 15)); ++ ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceqz_s16(b)); ++#else ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceq_s16(b, vdup_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s16(a) return negative 'a') ++ // based on ltMask ++ int16x4_t masked = vbsl_s16(ltMask, vneg_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x4_t res = vbic_s16(masked, zeroMask); ++ ++ return vreinterpret_m64_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed 32-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi32 ++FORCE_INLINE __m64 _mm_sign_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x2_t ltMask = vreinterpret_u32_s32(vshr_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceqz_s32(b)); ++#else ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceq_s32(b, vdup_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s32(a) return negative 'a') ++ // based on ltMask ++ int32x2_t masked = vbsl_s32(ltMask, vneg_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x2_t res = vbic_s32(masked, zeroMask); ++ ++ return vreinterpret_m64_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed 8-bit integer ++// in b is negative, and store the results in dst. Element in dst are zeroed out ++// when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi8 ++FORCE_INLINE __m64 _mm_sign_pi8(__m64 _a, __m64 _b) ++{ ++ int8x8_t a = vreinterpret_s8_m64(_a); ++ int8x8_t b = vreinterpret_s8_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x8_t ltMask = vreinterpret_u8_s8(vshr_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceqz_s8(b)); ++#else ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceq_s8(b, vdup_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s8(a) return negative 'a') ++ // based on ltMask ++ int8x8_t masked = vbsl_s8(ltMask, vneg_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x8_t res = vbic_s8(masked, zeroMask); ++ ++ return vreinterpret_m64_s8(res); ++} ++ ++/* SSE4.1 */ ++ ++// Blend packed 16-bit integers from a and b using control mask imm8, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_epi16 ++// FORCE_INLINE __m128i _mm_blend_epi16(__m128i a, __m128i b, ++// __constrange(0,255) int imm) ++#define _mm_blend_epi16(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, \ ++ const uint16_t _mask[8] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 1)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 2)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 3)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 4)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 5)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 6)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 7)) ? (uint16_t) -1 : 0x0); \ ++ uint16x8_t _mask_vec = vld1q_u16(_mask); \ ++ uint16x8_t __a = vreinterpretq_u16_m128i(_a); \ ++ uint16x8_t __b = vreinterpretq_u16_m128i(_b); _sse2neon_return( \ ++ vreinterpretq_m128i_u16(vbslq_u16(_mask_vec, __b, __a)));) ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using control mask imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_pd ++#define _mm_blend_pd(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128d, a, b, \ ++ const uint64_t _mask[2] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? ~UINT64_C(0) : UINT64_C(0), \ ++ ((imm) & (1 << 1)) ? ~UINT64_C(0) : UINT64_C(0)); \ ++ uint64x2_t _mask_vec = vld1q_u64(_mask); \ ++ uint64x2_t __a = vreinterpretq_u64_m128d(_a); \ ++ uint64x2_t __b = vreinterpretq_u64_m128d(_b); _sse2neon_return( \ ++ vreinterpretq_m128d_u64(vbslq_u64(_mask_vec, __b, __a)));) ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_ps ++FORCE_INLINE __m128 _mm_blend_ps(__m128 _a, __m128 _b, const char imm8) ++{ ++ const uint32_t ALIGN_STRUCT(16) ++ data[4] = {((imm8) & (1 << 0)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0}; ++ uint32x4_t mask = vld1q_u32(data); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Blend packed 8-bit integers from a and b using mask, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_epi8 ++FORCE_INLINE __m128i _mm_blendv_epi8(__m128i _a, __m128i _b, __m128i _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint8x16_t mask = ++ vreinterpretq_u8_s8(vshrq_n_s8(vreinterpretq_s8_m128i(_mask), 7)); ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ uint8x16_t b = vreinterpretq_u8_m128i(_b); ++ return vreinterpretq_m128i_u8(vbslq_u8(mask, b, a)); ++} ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_pd ++FORCE_INLINE __m128d _mm_blendv_pd(__m128d _a, __m128d _b, __m128d _mask) ++{ ++ uint64x2_t mask = ++ vreinterpretq_u64_s64(vshrq_n_s64(vreinterpretq_s64_m128d(_mask), 63)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64(vbslq_f64(mask, b, a)); ++#else ++ uint64x2_t a = vreinterpretq_u64_m128d(_a); ++ uint64x2_t b = vreinterpretq_u64_m128d(_b); ++ return vreinterpretq_m128d_u64(vbslq_u64(mask, b, a)); ++#endif ++} ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_ps ++FORCE_INLINE __m128 _mm_blendv_ps(__m128 _a, __m128 _b, __m128 _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint32x4_t mask = ++ vreinterpretq_u32_s32(vshrq_n_s32(vreinterpretq_s32_m128(_mask), 31)); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a up ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_pd ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndpq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(ceil(f[1]), ceil(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a up to ++// an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ps ++FORCE_INLINE __m128 _mm_ceil_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndpq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ceilf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b up to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_sd ++FORCE_INLINE __m128d _mm_ceil_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_ceil_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b up to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ss ++FORCE_INLINE __m128 _mm_ceil_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_ceil_ps(b)); ++} ++ ++// Compare packed 64-bit integers in a and b for equality, and store the results ++// in dst ++FORCE_INLINE __m128i _mm_cmpeq_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vceqq_u64(vreinterpretq_u64_m128i(a), vreinterpretq_u64_m128i(b))); ++#else ++ // ARMv7 lacks vceqq_u64 ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128i_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Sign extend packed 16-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi32 ++FORCE_INLINE __m128i _mm_cvtepi16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vmovl_s16(vget_low_s16(vreinterpretq_s16_m128i(a)))); ++} ++ ++// Sign extend packed 16-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi64 ++FORCE_INLINE __m128i _mm_cvtepi16_epi64(__m128i a) ++{ ++ int16x8_t s16x8 = vreinterpretq_s16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Sign extend packed 32-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_epi64 ++FORCE_INLINE __m128i _mm_cvtepi32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a)))); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 16-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi16 ++FORCE_INLINE __m128i _mm_cvtepi8_epi16(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ return vreinterpretq_m128i_s16(s16x8); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi32 ++FORCE_INLINE __m128i _mm_cvtepi8_epi32(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_s32(s32x4); ++} ++ ++// Sign extend packed 8-bit integers in the low 8 bytes of a to packed 64-bit ++// integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi64 ++FORCE_INLINE __m128i _mm_cvtepi8_epi64(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi32 ++FORCE_INLINE __m128i _mm_cvtepu16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_u32( ++ vmovl_u16(vget_low_u16(vreinterpretq_u16_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi64 ++FORCE_INLINE __m128i _mm_cvtepu16_epi64(__m128i a) ++{ ++ uint16x8_t u16x8 = vreinterpretq_u16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Zero extend packed unsigned 32-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu32_epi64 ++FORCE_INLINE __m128i _mm_cvtepu32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_u64( ++ vmovl_u32(vget_low_u32(vreinterpretq_u32_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 16-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi16 ++FORCE_INLINE __m128i _mm_cvtepu8_epi16(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx HGFE DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0H0G 0F0E 0D0C 0B0A */ ++ return vreinterpretq_m128i_u16(u16x8); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi32 ++FORCE_INLINE __m128i _mm_cvtepu8_epi32(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_u32(u32x4); ++} ++ ++// Zero extend packed unsigned 8-bit integers in the low 8 bytes of a to packed ++// 64-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi64 ++FORCE_INLINE __m128i _mm_cvtepu8_epi64(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Conditionally multiply the packed double-precision (64-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, and ++// conditionally store the sum in dst using the low 4 bits of imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_pd ++FORCE_INLINE __m128d _mm_dp_pd(__m128d a, __m128d b, const int imm) ++{ ++ // Generate mask value from constant immediate bit value ++ const int64_t bit0Mask = imm & 0x01 ? UINT64_MAX : 0; ++ const int64_t bit1Mask = imm & 0x02 ? UINT64_MAX : 0; ++#if !SSE2NEON_PRECISE_DP ++ const int64_t bit4Mask = imm & 0x10 ? UINT64_MAX : 0; ++ const int64_t bit5Mask = imm & 0x20 ? UINT64_MAX : 0; ++#endif ++ // Conditional multiplication ++#if !SSE2NEON_PRECISE_DP ++ __m128d mul = _mm_mul_pd(a, b); ++ const __m128d mulMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit5Mask, bit4Mask)); ++ __m128d tmp = _mm_and_pd(mul, mulMask); ++#else ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double d0 = (imm & 0x10) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 0) ++ : 0; ++ double d1 = (imm & 0x20) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 1) ++ : 0; ++#else ++ double d0 = (imm & 0x10) ? ((double *) &a)[0] * ((double *) &b)[0] : 0; ++ double d1 = (imm & 0x20) ? ((double *) &a)[1] * ((double *) &b)[1] : 0; ++#endif ++ __m128d tmp = _mm_set_pd(d1, d0); ++#endif ++ // Sum the products ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double sum = vpaddd_f64(vreinterpretq_f64_m128d(tmp)); ++#else ++ double sum = *((double *) &tmp) + *(((double *) &tmp) + 1); ++#endif ++ // Conditionally store the sum ++ const __m128d sumMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit1Mask, bit0Mask)); ++ __m128d res = _mm_and_pd(_mm_set_pd1(sum), sumMask); ++ return res; ++} ++ ++// Conditionally multiply the packed single-precision (32-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, ++// and conditionally store the sum in dst using the low 4 bits of imm. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_ps ++FORCE_INLINE __m128 _mm_dp_ps(__m128 a, __m128 b, const int imm) ++{ ++ float32x4_t elementwise_prod = _mm_mul_ps(a, b); ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ /* shortcuts */ ++ if (imm == 0xFF) { ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++ ++ if ((imm & 0x0F) == 0x0F) { ++ if (!(imm & (1 << 4))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 0); ++ if (!(imm & (1 << 5))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 1); ++ if (!(imm & (1 << 6))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 2); ++ if (!(imm & (1 << 7))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 3); ++ ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++#endif ++ ++ float s = 0.0f; ++ ++ if (imm & (1 << 4)) ++ s += vgetq_lane_f32(elementwise_prod, 0); ++ if (imm & (1 << 5)) ++ s += vgetq_lane_f32(elementwise_prod, 1); ++ if (imm & (1 << 6)) ++ s += vgetq_lane_f32(elementwise_prod, 2); ++ if (imm & (1 << 7)) ++ s += vgetq_lane_f32(elementwise_prod, 3); ++ ++ const float32_t res[4] = { ++ (imm & 0x1) ? s : 0.0f, ++ (imm & 0x2) ? s : 0.0f, ++ (imm & 0x4) ? s : 0.0f, ++ (imm & 0x8) ? s : 0.0f, ++ }; ++ return vreinterpretq_m128_f32(vld1q_f32(res)); ++} ++ ++// Extract a 32-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi32 ++// FORCE_INLINE int _mm_extract_epi32(__m128i a, __constrange(0,4) int imm) ++#define _mm_extract_epi32(a, imm) \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)) ++ ++// Extract a 64-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi64 ++// FORCE_INLINE __int64 _mm_extract_epi64(__m128i a, __constrange(0,2) int imm) ++#define _mm_extract_epi64(a, imm) \ ++ vgetq_lane_s64(vreinterpretq_s64_m128i(a), (imm)) ++ ++// Extract an 8-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. FORCE_INLINE int _mm_extract_epi8(__m128i a, ++// __constrange(0,16) int imm) ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi8 ++#define _mm_extract_epi8(a, imm) vgetq_lane_u8(vreinterpretq_u8_m128i(a), (imm)) ++ ++// Extracts the selected single-precision (32-bit) floating-point from a. ++// FORCE_INLINE int _mm_extract_ps(__m128 a, __constrange(0,4) int imm) ++#define _mm_extract_ps(a, imm) vgetq_lane_s32(vreinterpretq_s32_m128(a), (imm)) ++ ++// Round the packed double-precision (64-bit) floating-point elements in a down ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_pd ++FORCE_INLINE __m128d _mm_floor_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndmq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(floor(f[1]), floor(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a down ++// to an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ps ++FORCE_INLINE __m128 _mm_floor_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndmq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(floorf(f[3]), floorf(f[2]), floorf(f[1]), floorf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b down to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_sd ++FORCE_INLINE __m128d _mm_floor_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_floor_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b down to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ss ++FORCE_INLINE __m128 _mm_floor_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_floor_ps(b)); ++} ++ ++// Copy a to dst, and insert the 32-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi32 ++// FORCE_INLINE __m128i _mm_insert_epi32(__m128i a, int b, ++// __constrange(0,4) int imm) ++#define _mm_insert_epi32(a, b, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vsetq_lane_s32((b), vreinterpretq_s32_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the 64-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi64 ++// FORCE_INLINE __m128i _mm_insert_epi64(__m128i a, __int64 b, ++// __constrange(0,2) int imm) ++#define _mm_insert_epi64(a, b, imm) \ ++ vreinterpretq_m128i_s64( \ ++ vsetq_lane_s64((b), vreinterpretq_s64_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the lower 8-bit integer from i into dst at the ++// location specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi8 ++// FORCE_INLINE __m128i _mm_insert_epi8(__m128i a, int b, ++// __constrange(0,16) int imm) ++#define _mm_insert_epi8(a, b, imm) \ ++ vreinterpretq_m128i_s8(vsetq_lane_s8((b), vreinterpretq_s8_m128i(a), (imm))) ++ ++// Copy a to tmp, then insert a single-precision (32-bit) floating-point ++// element from b into tmp using the control in imm8. Store tmp to dst using ++// the mask in imm8 (elements are zeroed out when the corresponding bit is set). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=insert_ps ++#define _mm_insert_ps(a, b, imm8) \ ++ _sse2neon_define2( \ ++ __m128, a, b, \ ++ float32x4_t tmp1 = \ ++ vsetq_lane_f32(vgetq_lane_f32(_b, (imm8 >> 6) & 0x3), \ ++ vreinterpretq_f32_m128(_a), 0); \ ++ float32x4_t tmp2 = \ ++ vsetq_lane_f32(vgetq_lane_f32(tmp1, 0), \ ++ vreinterpretq_f32_m128(_a), ((imm8 >> 4) & 0x3)); \ ++ const uint32_t data[4] = \ ++ _sse2neon_init(((imm8) & (1 << 0)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0); \ ++ uint32x4_t mask = vld1q_u32(data); \ ++ float32x4_t all_zeros = vdupq_n_f32(0); \ ++ \ ++ _sse2neon_return(vreinterpretq_m128_f32( \ ++ vbslq_f32(mask, all_zeros, vreinterpretq_f32_m128(tmp2))));) ++ ++// Compare packed signed 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi32 ++FORCE_INLINE __m128i _mm_max_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmaxq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi8 ++FORCE_INLINE __m128i _mm_max_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vmaxq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu16 ++FORCE_INLINE __m128i _mm_max_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vmaxq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_max_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vmaxq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi32 ++FORCE_INLINE __m128i _mm_min_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vminq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi8 ++FORCE_INLINE __m128i _mm_min_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vminq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu16 ++FORCE_INLINE __m128i _mm_min_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vminq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_min_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vminq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Horizontally compute the minimum amongst the packed unsigned 16-bit integers ++// in a, store the minimum and index in dst, and zero the remaining bits in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_minpos_epu16 ++FORCE_INLINE __m128i _mm_minpos_epu16(__m128i a) ++{ ++ __m128i dst; ++ uint16_t min, idx = 0; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Find the minimum value ++ min = vminvq_u16(vreinterpretq_u16_m128i(a)); ++ ++ // Get the index of the minimum value ++ static const uint16_t idxv[] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint16x8_t minv = vdupq_n_u16(min); ++ uint16x8_t cmeq = vceqq_u16(minv, vreinterpretq_u16_m128i(a)); ++ idx = vminvq_u16(vornq_u16(vld1q_u16(idxv), cmeq)); ++#else ++ // Find the minimum value ++ __m64 tmp; ++ tmp = vreinterpret_m64_u16( ++ vmin_u16(vget_low_u16(vreinterpretq_u16_m128i(a)), ++ vget_high_u16(vreinterpretq_u16_m128i(a)))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ min = vget_lane_u16(vreinterpret_u16_m64(tmp), 0); ++ // Get the index of the minimum value ++ int i; ++ for (i = 0; i < 8; i++) { ++ if (min == vgetq_lane_u16(vreinterpretq_u16_m128i(a), 0)) { ++ idx = (uint16_t) i; ++ break; ++ } ++ a = _mm_srli_si128(a, 2); ++ } ++#endif ++ // Generate result ++ dst = _mm_setzero_si128(); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(min, vreinterpretq_u16_m128i(dst), 0)); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(idx, vreinterpretq_u16_m128i(dst), 1)); ++ return dst; ++} ++ ++// Compute the sum of absolute differences (SADs) of quadruplets of unsigned ++// 8-bit integers in a compared to those in b, and store the 16-bit results in ++// dst. Eight SADs are performed using one quadruplet from b and eight ++// quadruplets from a. One quadruplet is selected from b starting at on the ++// offset specified in imm8. Eight quadruplets are formed from sequential 8-bit ++// integers selected from a starting at the offset specified in imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mpsadbw_epu8 ++FORCE_INLINE __m128i _mm_mpsadbw_epu8(__m128i a, __m128i b, const int imm) ++{ ++ uint8x16_t _a, _b; ++ ++ switch (imm & 0x4) { ++ case 0: ++ // do nothing ++ _a = vreinterpretq_u8_m128i(a); ++ break; ++ case 4: ++ _a = vreinterpretq_u8_u32(vextq_u32(vreinterpretq_u32_m128i(a), ++ vreinterpretq_u32_m128i(a), 1)); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ switch (imm & 0x3) { ++ case 0: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 0))); ++ break; ++ case 1: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 1))); ++ break; ++ case 2: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 2))); ++ break; ++ case 3: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 3))); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ int16x8_t c04, c15, c26, c37; ++ uint8x8_t low_b = vget_low_u8(_b); ++ c04 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a), low_b)); ++ uint8x16_t _a_1 = vextq_u8(_a, _a, 1); ++ c15 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_1), low_b)); ++ uint8x16_t _a_2 = vextq_u8(_a, _a, 2); ++ c26 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_2), low_b)); ++ uint8x16_t _a_3 = vextq_u8(_a, _a, 3); ++ c37 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_3), low_b)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // |0|4|2|6| ++ c04 = vpaddq_s16(c04, c26); ++ // |1|5|3|7| ++ c15 = vpaddq_s16(c15, c37); ++ ++ int32x4_t trn1_c = ++ vtrn1q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ int32x4_t trn2_c = ++ vtrn2q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ return vreinterpretq_m128i_s16(vpaddq_s16(vreinterpretq_s16_s32(trn1_c), ++ vreinterpretq_s16_s32(trn2_c))); ++#else ++ int16x4_t c01, c23, c45, c67; ++ c01 = vpadd_s16(vget_low_s16(c04), vget_low_s16(c15)); ++ c23 = vpadd_s16(vget_low_s16(c26), vget_low_s16(c37)); ++ c45 = vpadd_s16(vget_high_s16(c04), vget_high_s16(c15)); ++ c67 = vpadd_s16(vget_high_s16(c26), vget_high_s16(c37)); ++ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(c01, c23), vpadd_s16(c45, c67))); ++#endif ++} ++ ++// Multiply the low signed 32-bit integers from each packed 64-bit element in ++// a and b, and store the signed 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epi32 ++FORCE_INLINE __m128i _mm_mul_epi32(__m128i a, __m128i b) ++{ ++ // vmull_s32 upcasts instead of masking, so we downcast. ++ int32x2_t a_lo = vmovn_s64(vreinterpretq_s64_m128i(a)); ++ int32x2_t b_lo = vmovn_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vmull_s32(a_lo, b_lo)); ++} ++ ++// Multiply the packed 32-bit integers in a and b, producing intermediate 64-bit ++// integers, and store the low 32 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi32 ++FORCE_INLINE __m128i _mm_mullo_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmulq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi32 ++FORCE_INLINE __m128i _mm_packus_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcombine_u16(vqmovun_s32(vreinterpretq_s32_m128i(a)), ++ vqmovun_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_pd ++FORCE_INLINE_OPTNONE __m128d _mm_round_pd(__m128d a, int rounding) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndnq_f64(vreinterpretq_f64_m128d(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_pd(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_pd(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndq_f64(vreinterpretq_f64_m128d(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128d_f64(vrndiq_f64(vreinterpretq_f64_m128d(a))); ++ } ++#else ++ double *v_double = (double *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ double res[2], tmp; ++ for (int i = 0; i < 2; i++) { ++ tmp = (v_double[i] < 0) ? -v_double[i] : v_double[i]; ++ double roundDown = floor(tmp); // Round down value ++ double roundUp = ceil(tmp); // Round up value ++ double diffDown = tmp - roundDown; ++ double diffUp = roundUp - tmp; ++ if (diffDown < diffUp) { ++ /* If it's closer to the round down value, then use it */ ++ res[i] = roundDown; ++ } else if (diffDown > diffUp) { ++ /* If it's closer to the round up value, then use it */ ++ res[i] = roundUp; ++ } else { ++ /* If it's equidistant between round up and round down value, ++ * pick the one which is an even number */ ++ double half = roundDown / 2; ++ if (half != floor(half)) { ++ /* If the round down value is odd, return the round up value ++ */ ++ res[i] = roundUp; ++ } else { ++ /* If the round up value is odd, return the round down value ++ */ ++ res[i] = roundDown; ++ } ++ } ++ res[i] = (v_double[i] < 0) ? -res[i] : res[i]; ++ } ++ return _mm_set_pd(res[1], res[0]); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_pd(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_pd(a); ++ } ++ return _mm_set_pd(v_double[1] > 0 ? floor(v_double[1]) : ceil(v_double[1]), ++ v_double[0] > 0 ? floor(v_double[0]) : ceil(v_double[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed single-precision ++// floating-point elements in dst. ++// software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_round_ps ++FORCE_INLINE_OPTNONE __m128 _mm_round_ps(__m128 a, int rounding) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndnq_f32(vreinterpretq_f32_m128(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_ps(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_ps(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndq_f32(vreinterpretq_f32_m128(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128_f32(vrndiq_f32(vreinterpretq_f32_m128(a))); ++ } ++#else ++ float *v_float = (float *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vbslq_s32(is_delta_half, r_even, r_normal))); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_ps(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_ps(a); ++ } ++ return _mm_set_ps(v_float[3] > 0 ? floorf(v_float[3]) : ceilf(v_float[3]), ++ v_float[2] > 0 ? floorf(v_float[2]) : ceilf(v_float[2]), ++ v_float[1] > 0 ? floorf(v_float[1]) : ceilf(v_float[1]), ++ v_float[0] > 0 ? floorf(v_float[0]) : ceilf(v_float[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b using ++// the rounding parameter, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_sd ++FORCE_INLINE __m128d _mm_round_sd(__m128d a, __m128d b, int rounding) ++{ ++ return _mm_move_sd(a, _mm_round_pd(b, rounding)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b using ++// the rounding parameter, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. Rounding is done according to the ++// rounding[3:0] parameter, which can be one of: ++// (_MM_FROUND_TO_NEAREST_INT |_MM_FROUND_NO_EXC) // round to nearest, and ++// suppress exceptions ++// (_MM_FROUND_TO_NEG_INF |_MM_FROUND_NO_EXC) // round down, and ++// suppress exceptions ++// (_MM_FROUND_TO_POS_INF |_MM_FROUND_NO_EXC) // round up, and suppress ++// exceptions ++// (_MM_FROUND_TO_ZERO |_MM_FROUND_NO_EXC) // truncate, and suppress ++// exceptions _MM_FROUND_CUR_DIRECTION // use MXCSR.RC; see ++// _MM_SET_ROUNDING_MODE ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_ss ++FORCE_INLINE __m128 _mm_round_ss(__m128 a, __m128 b, int rounding) ++{ ++ return _mm_move_ss(a, _mm_round_ps(b, rounding)); ++} ++ ++// Load 128-bits of integer data from memory into dst using a non-temporal ++// memory hint. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_load_si128 ++FORCE_INLINE __m128i _mm_stream_load_si128(__m128i *p) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ return __builtin_nontemporal_load(p); ++#else ++ return vreinterpretq_m128i_s64(vld1q_s64((int64_t *) p)); ++#endif ++} ++ ++// Compute the bitwise NOT of a and then AND with a 128-bit vector containing ++// all 1's, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_ones ++FORCE_INLINE int _mm_test_all_ones(__m128i a) ++{ ++ return (uint64_t) (vgetq_lane_s64(a, 0) & vgetq_lane_s64(a, 1)) == ++ ~(uint64_t) 0; ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_zeros ++FORCE_INLINE int _mm_test_all_zeros(__m128i a, __m128i mask) ++{ ++ int64x2_t a_and_mask = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(mask)); ++ return !(vgetq_lane_s64(a_and_mask, 0) | vgetq_lane_s64(a_and_mask, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute ++// the bitwise NOT of a and then AND with mask, and set CF to 1 if the result is ++// zero, otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_test_mix_ones_zero ++// Note: Argument names may be wrong in the Intel intrinsics guide. ++FORCE_INLINE int _mm_test_mix_ones_zeros(__m128i a, __m128i mask) ++{ ++ uint64x2_t v = vreinterpretq_u64_m128i(a); ++ uint64x2_t m = vreinterpretq_u64_m128i(mask); ++ ++ // find ones (set-bits) and zeros (clear-bits) under clip mask ++ uint64x2_t ones = vandq_u64(m, v); ++ uint64x2_t zeros = vbicq_u64(m, v); ++ ++ // If both 128-bit variables are populated (non-zero) then return 1. ++ // For comparison purposes, first compact each var down to 32-bits. ++ uint32x2_t reduced = vpmax_u32(vqmovn_u64(ones), vqmovn_u64(zeros)); ++ ++ // if folding minimum is non-zero then both vars must be non-zero ++ return (vget_lane_u32(vpmin_u32(reduced, reduced), 0) != 0); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the CF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testc_si128 ++FORCE_INLINE int _mm_testc_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vbicq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testnzc_si128 ++#define _mm_testnzc_si128(a, b) _mm_test_mix_ones_zeros(a, b) ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the ZF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testz_si128 ++FORCE_INLINE int _mm_testz_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++/* SSE4.2 */ ++ ++static const uint16_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask16b[8] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++static const uint8_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask8b[16] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++ ++/* specify the source data format */ ++#define _SIDD_UBYTE_OPS 0x00 /* unsigned 8-bit characters */ ++#define _SIDD_UWORD_OPS 0x01 /* unsigned 16-bit characters */ ++#define _SIDD_SBYTE_OPS 0x02 /* signed 8-bit characters */ ++#define _SIDD_SWORD_OPS 0x03 /* signed 16-bit characters */ ++ ++/* specify the comparison operation */ ++#define _SIDD_CMP_EQUAL_ANY 0x00 /* compare equal any: strchr */ ++#define _SIDD_CMP_RANGES 0x04 /* compare ranges */ ++#define _SIDD_CMP_EQUAL_EACH 0x08 /* compare equal each: strcmp */ ++#define _SIDD_CMP_EQUAL_ORDERED 0x0C /* compare equal ordered */ ++ ++/* specify the polarity */ ++#define _SIDD_POSITIVE_POLARITY 0x00 ++#define _SIDD_MASKED_POSITIVE_POLARITY 0x20 ++#define _SIDD_NEGATIVE_POLARITY 0x10 /* negate results */ ++#define _SIDD_MASKED_NEGATIVE_POLARITY \ ++ 0x30 /* negate results only before end of string */ ++ ++/* specify the output selection in _mm_cmpXstri */ ++#define _SIDD_LEAST_SIGNIFICANT 0x00 ++#define _SIDD_MOST_SIGNIFICANT 0x40 ++ ++/* specify the output selection in _mm_cmpXstrm */ ++#define _SIDD_BIT_MASK 0x00 ++#define _SIDD_UNIT_MASK 0x40 ++ ++/* Pattern Matching for C macros. ++ * https://github.com/pfultz2/Cloak/wiki/C-Preprocessor-tricks,-tips,-and-idioms ++ */ ++ ++/* catenate */ ++#define SSE2NEON_PRIMITIVE_CAT(a, ...) a##__VA_ARGS__ ++#define SSE2NEON_CAT(a, b) SSE2NEON_PRIMITIVE_CAT(a, b) ++ ++#define SSE2NEON_IIF(c) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_IIF_, c) ++/* run the 2nd parameter */ ++#define SSE2NEON_IIF_0(t, ...) __VA_ARGS__ ++/* run the 1st parameter */ ++#define SSE2NEON_IIF_1(t, ...) t ++ ++#define SSE2NEON_COMPL(b) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_COMPL_, b) ++#define SSE2NEON_COMPL_0 1 ++#define SSE2NEON_COMPL_1 0 ++ ++#define SSE2NEON_DEC(x) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_DEC_, x) ++#define SSE2NEON_DEC_1 0 ++#define SSE2NEON_DEC_2 1 ++#define SSE2NEON_DEC_3 2 ++#define SSE2NEON_DEC_4 3 ++#define SSE2NEON_DEC_5 4 ++#define SSE2NEON_DEC_6 5 ++#define SSE2NEON_DEC_7 6 ++#define SSE2NEON_DEC_8 7 ++#define SSE2NEON_DEC_9 8 ++#define SSE2NEON_DEC_10 9 ++#define SSE2NEON_DEC_11 10 ++#define SSE2NEON_DEC_12 11 ++#define SSE2NEON_DEC_13 12 ++#define SSE2NEON_DEC_14 13 ++#define SSE2NEON_DEC_15 14 ++#define SSE2NEON_DEC_16 15 ++ ++/* detection */ ++#define SSE2NEON_CHECK_N(x, n, ...) n ++#define SSE2NEON_CHECK(...) SSE2NEON_CHECK_N(__VA_ARGS__, 0, ) ++#define SSE2NEON_PROBE(x) x, 1, ++ ++#define SSE2NEON_NOT(x) SSE2NEON_CHECK(SSE2NEON_PRIMITIVE_CAT(SSE2NEON_NOT_, x)) ++#define SSE2NEON_NOT_0 SSE2NEON_PROBE(~) ++ ++#define SSE2NEON_BOOL(x) SSE2NEON_COMPL(SSE2NEON_NOT(x)) ++#define SSE2NEON_IF(c) SSE2NEON_IIF(SSE2NEON_BOOL(c)) ++ ++#define SSE2NEON_EAT(...) ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++#define SSE2NEON_WHEN(c) SSE2NEON_IF(c)(SSE2NEON_EXPAND, SSE2NEON_EAT) ++ ++/* recursion */ ++/* deferred expression */ ++#define SSE2NEON_EMPTY() ++#define SSE2NEON_DEFER(id) id SSE2NEON_EMPTY() ++#define SSE2NEON_OBSTRUCT(...) __VA_ARGS__ SSE2NEON_DEFER(SSE2NEON_EMPTY)() ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++ ++#define SSE2NEON_EVAL(...) \ ++ SSE2NEON_EVAL1(SSE2NEON_EVAL1(SSE2NEON_EVAL1(__VA_ARGS__))) ++#define SSE2NEON_EVAL1(...) \ ++ SSE2NEON_EVAL2(SSE2NEON_EVAL2(SSE2NEON_EVAL2(__VA_ARGS__))) ++#define SSE2NEON_EVAL2(...) \ ++ SSE2NEON_EVAL3(SSE2NEON_EVAL3(SSE2NEON_EVAL3(__VA_ARGS__))) ++#define SSE2NEON_EVAL3(...) __VA_ARGS__ ++ ++#define SSE2NEON_REPEAT(count, macro, ...) \ ++ SSE2NEON_WHEN(count) \ ++ (SSE2NEON_OBSTRUCT(SSE2NEON_REPEAT_INDIRECT)()( \ ++ SSE2NEON_DEC(count), macro, \ ++ __VA_ARGS__) SSE2NEON_OBSTRUCT(macro)(SSE2NEON_DEC(count), \ ++ __VA_ARGS__)) ++#define SSE2NEON_REPEAT_INDIRECT() SSE2NEON_REPEAT ++ ++#define SSE2NEON_SIZE_OF_byte 8 ++#define SSE2NEON_NUMBER_OF_LANES_byte 16 ++#define SSE2NEON_SIZE_OF_word 16 ++#define SSE2NEON_NUMBER_OF_LANES_word 8 ++ ++#define SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE(i, type) \ ++ mtx[i] = vreinterpretq_m128i_##type(vceqq_##type( \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)), \ ++ vreinterpretq_##type##_m128i(a))); ++ ++#define SSE2NEON_FILL_LANE(i, type) \ ++ vec_b[i] = \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)); ++ ++#define PCMPSTR_RANGES(a, b, mtx, data_type_prefix, type_prefix, size, \ ++ number_of_lanes, byte_or_word) \ ++ do { \ ++ SSE2NEON_CAT( \ ++ data_type_prefix, \ ++ SSE2NEON_CAT(size, \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(number_of_lanes, _t)))) \ ++ vec_b[number_of_lanes]; \ ++ __m128i mask = SSE2NEON_IIF(byte_or_word)( \ ++ vreinterpretq_m128i_u16(vdupq_n_u16(0xff)), \ ++ vreinterpretq_m128i_u32(vdupq_n_u32(0xffff))); \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, SSE2NEON_FILL_LANE, \ ++ SSE2NEON_CAT(type_prefix, size))) \ ++ for (int i = 0; i < number_of_lanes; i++) { \ ++ mtx[i] = SSE2NEON_CAT(vreinterpretq_m128i_u, \ ++ size)(SSE2NEON_CAT(vbslq_u, size)( \ ++ SSE2NEON_CAT(vreinterpretq_u, \ ++ SSE2NEON_CAT(size, _m128i))(mask), \ ++ SSE2NEON_CAT(vcgeq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))), \ ++ SSE2NEON_CAT(vcleq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))))); \ ++ } \ ++ } while (0) ++ ++#define PCMPSTR_EQ(a, b, mtx, size, number_of_lanes) \ ++ do { \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, \ ++ SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE, \ ++ SSE2NEON_CAT(u, size))) \ ++ } while (0) ++ ++#define SSE2NEON_CMP_EQUAL_ANY_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_any(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_any_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_RANGES_IMPL(type, data_type, us, byte_or_word) \ ++ static int _sse2neon_cmp_##us##type##_ranges(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_RANGES( \ ++ a, b, mtx, data_type, us, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), byte_or_word); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_ranges_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_EQUAL_ORDERED_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_ordered(__m128i a, int la, \ ++ __m128i b, int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_ordered_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type))))( \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), la, lb, mtx); \ ++ } ++ ++static int _sse2neon_aggregate_equal_any_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ int tmp = _sse2neon_vaddvq_u8(vreinterpretq_u8_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_equal_any_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ int tmp = _sse2neon_vaddvq_u16(vreinterpretq_u16_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ANY(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ANY(SSE2NEON_CMP_EQUAL_ANY_) ++ ++static int _sse2neon_aggregate_ranges_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ __m128i tmp = vreinterpretq_m128i_u32( ++ vshrq_n_u32(vreinterpretq_u32_m128i(mtx[j]), 16)); ++ uint32x4_t vec_res = vandq_u32(vreinterpretq_u32_m128i(mtx[j]), ++ vreinterpretq_u32_m128i(tmp)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int t = vaddvq_u32(vec_res) ? 1 : 0; ++#else ++ uint64x2_t sumh = vpaddlq_u32(vec_res); ++ int t = vgetq_lane_u64(sumh, 0) + vgetq_lane_u64(sumh, 1); ++#endif ++ res |= (t << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_ranges_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ __m128i tmp = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 8)); ++ uint16x8_t vec_res = vandq_u16(vreinterpretq_u16_m128i(mtx[j]), ++ vreinterpretq_u16_m128i(tmp)); ++ int t = _sse2neon_vaddvq_u16(vec_res) ? 1 : 0; ++ res |= (t << j); ++ } ++ return res; ++} ++ ++#define SSE2NEON_CMP_RANGES_IS_BYTE 1 ++#define SSE2NEON_CMP_RANGES_IS_WORD 0 ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_RANGES(prefix) \ ++ prefix##IMPL(byte, uint, u, prefix##IS_BYTE) \ ++ prefix##IMPL(byte, int, s, prefix##IS_BYTE) \ ++ prefix##IMPL(word, uint, u, prefix##IS_WORD) \ ++ prefix##IMPL(word, int, s, prefix##IS_WORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_RANGES(SSE2NEON_CMP_RANGES_) ++ ++#undef SSE2NEON_CMP_RANGES_IS_BYTE ++#undef SSE2NEON_CMP_RANGES_IS_WORD ++ ++static int _sse2neon_cmp_byte_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint8x16_t mtx = ++ vceqq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x10000 - (1 << la); ++ int tb = 0x10000 - (1 << lb); ++ uint8x8_t vec_mask, vec0_lo, vec0_hi, vec1_lo, vec1_hi; ++ uint8x8_t tmp_lo, tmp_hi, res_lo, res_hi; ++ vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ vec0_lo = vtst_u8(vdup_n_u8(m0), vec_mask); ++ vec0_hi = vtst_u8(vdup_n_u8(m0 >> 8), vec_mask); ++ vec1_lo = vtst_u8(vdup_n_u8(m1), vec_mask); ++ vec1_hi = vtst_u8(vdup_n_u8(m1 >> 8), vec_mask); ++ tmp_lo = vtst_u8(vdup_n_u8(tb), vec_mask); ++ tmp_hi = vtst_u8(vdup_n_u8(tb >> 8), vec_mask); ++ ++ res_lo = vbsl_u8(vec0_lo, vdup_n_u8(0), vget_low_u8(mtx)); ++ res_hi = vbsl_u8(vec0_hi, vdup_n_u8(0), vget_high_u8(mtx)); ++ res_lo = vbsl_u8(vec1_lo, tmp_lo, res_lo); ++ res_hi = vbsl_u8(vec1_hi, tmp_hi, res_hi); ++ res_lo = vand_u8(res_lo, vec_mask); ++ res_hi = vand_u8(res_hi, vec_mask); ++ ++ int res = _sse2neon_vaddv_u8(res_lo) + (_sse2neon_vaddv_u8(res_hi) << 8); ++ return res; ++} ++ ++static int _sse2neon_cmp_word_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint16x8_t mtx = ++ vceqq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x100 - (1 << la); ++ int tb = 0x100 - (1 << lb); ++ uint16x8_t vec_mask = vld1q_u16(_sse2neon_cmpestr_mask16b); ++ uint16x8_t vec0 = vtstq_u16(vdupq_n_u16(m0), vec_mask); ++ uint16x8_t vec1 = vtstq_u16(vdupq_n_u16(m1), vec_mask); ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(tb), vec_mask); ++ mtx = vbslq_u16(vec0, vdupq_n_u16(0), mtx); ++ mtx = vbslq_u16(vec1, tmp, mtx); ++ mtx = vandq_u16(mtx, vec_mask); ++ return _sse2neon_vaddvq_u16(mtx); ++} ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE 1 ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD 0 ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IMPL(size, number_of_lanes, data_type) \ ++ static int _sse2neon_aggregate_equal_ordered_##size##x##number_of_lanes( \ ++ int bound, int la, int lb, __m128i mtx[16]) \ ++ { \ ++ int res = 0; \ ++ int m1 = SSE2NEON_IIF(data_type)(0x10000, 0x100) - (1 << la); \ ++ uint##size##x8_t vec_mask = SSE2NEON_IIF(data_type)( \ ++ vld1_u##size(_sse2neon_cmpestr_mask##size##b), \ ++ vld1q_u##size(_sse2neon_cmpestr_mask##size##b)); \ ++ uint##size##x##number_of_lanes##_t vec1 = SSE2NEON_IIF(data_type)( \ ++ vcombine_u##size(vtst_u##size(vdup_n_u##size(m1), vec_mask), \ ++ vtst_u##size(vdup_n_u##size(m1 >> 8), vec_mask)), \ ++ vtstq_u##size(vdupq_n_u##size(m1), vec_mask)); \ ++ uint##size##x##number_of_lanes##_t vec_minusone = vdupq_n_u##size(-1); \ ++ uint##size##x##number_of_lanes##_t vec_zero = vdupq_n_u##size(0); \ ++ for (int j = 0; j < lb; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size(vbslq_u##size( \ ++ vec1, vec_minusone, vreinterpretq_u##size##_m128i(mtx[j]))); \ ++ } \ ++ for (int j = lb; j < bound; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size( \ ++ vbslq_u##size(vec1, vec_minusone, vec_zero)); \ ++ } \ ++ unsigned SSE2NEON_IIF(data_type)(char, short) *ptr = \ ++ (unsigned SSE2NEON_IIF(data_type)(char, short) *) mtx; \ ++ for (int i = 0; i < bound; i++) { \ ++ int val = 1; \ ++ for (int j = 0, k = i; j < bound - i && k < bound; j++, k++) \ ++ val &= ptr[k * bound + j]; \ ++ res += val << i; \ ++ } \ ++ return res; \ ++ } ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(prefix) \ ++ prefix##IMPL(8, 16, prefix##IS_UBYTE) \ ++ prefix##IMPL(16, 8, prefix##IS_UWORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(SSE2NEON_AGGREGATE_EQUAL_ORDER_) ++ ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(SSE2NEON_CMP_EQUAL_ORDERED_) ++ ++#define SSE2NEON_CMPESTR_LIST \ ++ _(CMP_UBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_UWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_SBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_SWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_UBYTE_RANGES, cmp_ubyte_ranges) \ ++ _(CMP_UWORD_RANGES, cmp_uword_ranges) \ ++ _(CMP_SBYTE_RANGES, cmp_sbyte_ranges) \ ++ _(CMP_SWORD_RANGES, cmp_sword_ranges) \ ++ _(CMP_UBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_UWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_SBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_SWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_UBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_UWORD_EQUAL_ORDERED, cmp_word_equal_ordered) \ ++ _(CMP_SBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_SWORD_EQUAL_ORDERED, cmp_word_equal_ordered) ++ ++enum { ++#define _(name, func_suffix) name, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++typedef int (*cmpestr_func_t)(__m128i a, int la, __m128i b, int lb); ++static cmpestr_func_t _sse2neon_cmpfunc_table[] = { ++#define _(name, func_suffix) _sse2neon_##func_suffix, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++ ++FORCE_INLINE int _sse2neon_sido_negative(int res, int lb, int imm8, int bound) ++{ ++ switch (imm8 & 0x30) { ++ case _SIDD_NEGATIVE_POLARITY: ++ res ^= 0xffffffff; ++ break; ++ case _SIDD_MASKED_NEGATIVE_POLARITY: ++ res ^= (1 << lb) - 1; ++ break; ++ default: ++ break; ++ } ++ ++ return res & ((bound == 8) ? 0xFF : 0xFFFF); ++} ++ ++FORCE_INLINE int _sse2neon_clz(unsigned int x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt = 0; ++ if (_BitScanReverse(&cnt, x)) ++ return 31 - cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_clz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctz(unsigned int x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt = 0; ++ if (_BitScanForward(&cnt, x)) ++ return cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_ctz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctzll(unsigned long long x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt; ++#if defined(SSE2NEON_HAS_BITSCAN64) ++ if (_BitScanForward64(&cnt, x)) ++ return (int) (cnt); ++#else ++ if (_BitScanForward(&cnt, (unsigned long) (x))) ++ return (int) cnt; ++ if (_BitScanForward(&cnt, (unsigned long) (x >> 32))) ++ return (int) (cnt + 32); ++#endif /* SSE2NEON_HAS_BITSCAN64 */ ++ return 64; ++#else /* assume GNU compatible compilers */ ++ return x != 0 ? __builtin_ctzll(x) : 64; ++#endif ++} ++ ++#define SSE2NEON_MIN(x, y) (x) < (y) ? (x) : (y) ++ ++#define SSE2NEON_CMPSTR_SET_UPPER(var, imm) \ ++ const int var = (imm & 0x01) ? 8 : 16 ++ ++#define SSE2NEON_CMPESTRX_LEN_PAIR(a, b, la, lb) \ ++ int tmp1 = la ^ (la >> 31); \ ++ la = tmp1 - (la >> 31); \ ++ int tmp2 = lb ^ (lb >> 31); \ ++ lb = tmp2 - (lb >> 31); \ ++ la = SSE2NEON_MIN(la, bound); \ ++ lb = SSE2NEON_MIN(lb, bound) ++ ++// Compare all pairs of character in string a and b, ++// then aggregate the result. ++// As the only difference of PCMPESTR* and PCMPISTR* is the way to calculate the ++// length of string, we use SSE2NEON_CMP{I,E}STRX_GET_LEN to get the length of ++// string a and b. ++#define SSE2NEON_COMP_AGG(a, b, la, lb, imm8, IE) \ ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); \ ++ SSE2NEON_##IE##_LEN_PAIR(a, b, la, lb); \ ++ int r2 = (_sse2neon_cmpfunc_table[imm8 & 0x0f])(a, la, b, lb); \ ++ r2 = _sse2neon_sido_negative(r2, lb, imm8, bound) ++ ++#define SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8) \ ++ return (r2 == 0) ? bound \ ++ : ((imm8 & 0x40) ? (31 - _sse2neon_clz(r2)) \ ++ : _sse2neon_ctz(r2)) ++ ++#define SSE2NEON_CMPSTR_GENERATE_MASK(dst) \ ++ __m128i dst = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ if (imm8 & 0x40) { \ ++ if (bound == 8) { \ ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(r2), \ ++ vld1q_u16(_sse2neon_cmpestr_mask16b)); \ ++ dst = vreinterpretq_m128i_u16(vbslq_u16( \ ++ tmp, vdupq_n_u16(-1), vreinterpretq_u16_m128i(dst))); \ ++ } else { \ ++ uint8x16_t vec_r2 = \ ++ vcombine_u8(vdup_n_u8(r2), vdup_n_u8(r2 >> 8)); \ ++ uint8x16_t tmp = \ ++ vtstq_u8(vec_r2, vld1q_u8(_sse2neon_cmpestr_mask8b)); \ ++ dst = vreinterpretq_m128i_u8( \ ++ vbslq_u8(tmp, vdupq_n_u8(-1), vreinterpretq_u8_m128i(dst))); \ ++ } \ ++ } else { \ ++ if (bound == 16) { \ ++ dst = vreinterpretq_m128i_u16( \ ++ vsetq_lane_u16(r2 & 0xffff, vreinterpretq_u16_m128i(dst), 0)); \ ++ } else { \ ++ dst = vreinterpretq_m128i_u8( \ ++ vsetq_lane_u8(r2 & 0xff, vreinterpretq_u8_m128i(dst), 0)); \ ++ } \ ++ } \ ++ return dst ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and returns 1 if b did not contain a null character and the ++// resulting mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestra ++FORCE_INLINE int _mm_cmpestra(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ int lb_cpy = lb; ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return !r2 & (lb_cpy > bound); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrc ++FORCE_INLINE int _mm_cmpestrc(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestri ++FORCE_INLINE int _mm_cmpestri(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrm ++FORCE_INLINE __m128i ++_mm_cmpestrm(__m128i a, int la, __m128i b, int lb, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestro ++FORCE_INLINE int _mm_cmpestro(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrs ++FORCE_INLINE int _mm_cmpestrs(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) lb; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrz ++FORCE_INLINE int _mm_cmpestrz(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) la; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return lb <= (bound - 1); ++} ++ ++#define SSE2NEON_CMPISTRX_LENGTH(str, len, imm8) \ ++ do { \ ++ if (imm8 & 0x01) { \ ++ uint16x8_t equal_mask_##str = \ ++ vceqq_u16(vreinterpretq_u16_m128i(str), vdupq_n_u16(0)); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 3; \ ++ } else { \ ++ uint16x8_t equal_mask_##str = vreinterpretq_u16_u8( \ ++ vceqq_u8(vreinterpretq_u8_m128i(str), vdupq_n_u8(0))); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 2; \ ++ } \ ++ } while (0) ++ ++#define SSE2NEON_CMPISTRX_LEN_PAIR(a, b, la, lb) \ ++ int la, lb; \ ++ do { \ ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); \ ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); \ ++ } while (0) ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if b did not contain a null character and the resulting ++// mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistra ++FORCE_INLINE int _mm_cmpistra(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return !r2 & (lb >= bound); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrc ++FORCE_INLINE int _mm_cmpistrc(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistri ++FORCE_INLINE int _mm_cmpistri(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrm ++FORCE_INLINE __m128i _mm_cmpistrm(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistro ++FORCE_INLINE int _mm_cmpistro(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrs ++FORCE_INLINE int _mm_cmpistrs(__m128i a, __m128i b, const int imm8) ++{ ++ (void) b; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int la; ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrz ++FORCE_INLINE int _mm_cmpistrz(__m128i a, __m128i b, const int imm8) ++{ ++ (void) a; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int lb; ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); ++ return lb <= (bound - 1); ++} ++ ++// Compares the 2 signed 64-bit integers in a and the 2 signed 64-bit integers ++// in b for greater than. ++FORCE_INLINE __m128i _mm_cmpgt_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vcgtq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ return vreinterpretq_m128i_s64(vshrq_n_s64( ++ vqsubq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)), ++ 63)); ++#endif ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 16-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u16 ++FORCE_INLINE uint32_t _mm_crc32_u16(uint32_t crc, uint16_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32ch %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32ch(crc, v); ++#else ++ crc = _mm_crc32_u8(crc, v & 0xff); ++ crc = _mm_crc32_u8(crc, (v >> 8) & 0xff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 32-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u32 ++FORCE_INLINE uint32_t _mm_crc32_u32(uint32_t crc, uint32_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cw %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cw(crc, v); ++#else ++ crc = _mm_crc32_u16(crc, v & 0xffff); ++ crc = _mm_crc32_u16(crc, (v >> 16) & 0xffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 64-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u64 ++FORCE_INLINE uint64_t _mm_crc32_u64(uint64_t crc, uint64_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cx %w[c], %w[c], %x[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cd((uint32_t) crc, v); ++#else ++ crc = _mm_crc32_u32((uint32_t) (crc), v & 0xffffffff); ++ crc = _mm_crc32_u32((uint32_t) (crc), (v >> 32) & 0xffffffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 8-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u8 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t crc, uint8_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cb %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cb(crc, v); ++#else ++ crc ^= v; ++#if defined(__ARM_FEATURE_CRYPTO) ++ // Adapted from: https://mary.rs/lab/crc32/ ++ // Barrent reduction ++ uint64x2_t orig = ++ vcombine_u64(vcreate_u64((uint64_t) (crc) << 24), vcreate_u64(0x0)); ++ uint64x2_t tmp = orig; ++ ++ // Polynomial P(x) of CRC32C ++ uint64_t p = 0x105EC76F1; ++ // Barrett Reduction (in bit-reflected form) constant mu_{64} = \lfloor ++ // 2^{64} / P(x) \rfloor = 0x11f91caf6 ++ uint64_t mu = 0x1dea713f1; ++ ++ // Multiply by mu_{64} ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(mu)); ++ // Divide by 2^{64} (mask away the unnecessary bits) ++ tmp = ++ vandq_u64(tmp, vcombine_u64(vcreate_u64(0xFFFFFFFF), vcreate_u64(0x0))); ++ // Multiply by P(x) (shifted left by 1 for alignment reasons) ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(p)); ++ // Subtract original from result ++ tmp = veorq_u64(tmp, orig); ++ ++ // Extract the 'lower' (in bit-reflected sense) 32 bits ++ crc = vgetq_lane_u32(vreinterpretq_u32_u64(tmp), 1); ++#else // Fall back to the generic table lookup approach ++ // Adapted from: https://create.stephan-brumme.com/crc32/ ++ // Apply half-byte comparison algorithm for the best ratio between ++ // performance and lookup table. ++ ++ // The lookup table just needs to store every 16th entry ++ // of the standard look-up table. ++ static const uint32_t crc32_half_byte_tbl[] = { ++ 0x00000000, 0x105ec76f, 0x20bd8ede, 0x30e349b1, 0x417b1dbc, 0x5125dad3, ++ 0x61c69362, 0x7198540d, 0x82f63b78, 0x92a8fc17, 0xa24bb5a6, 0xb21572c9, ++ 0xc38d26c4, 0xd3d3e1ab, 0xe330a81a, 0xf36e6f75, ++ }; ++ ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++#endif ++#endif ++ return crc; ++} ++ ++/* AES */ ++ ++#if !defined(__ARM_FEATURE_CRYPTO) && (!defined(_M_ARM64) || defined(__clang__)) ++/* clang-format off */ ++#define SSE2NEON_AES_SBOX(w) \ ++ { \ ++ w(0x63), w(0x7c), w(0x77), w(0x7b), w(0xf2), w(0x6b), w(0x6f), \ ++ w(0xc5), w(0x30), w(0x01), w(0x67), w(0x2b), w(0xfe), w(0xd7), \ ++ w(0xab), w(0x76), w(0xca), w(0x82), w(0xc9), w(0x7d), w(0xfa), \ ++ w(0x59), w(0x47), w(0xf0), w(0xad), w(0xd4), w(0xa2), w(0xaf), \ ++ w(0x9c), w(0xa4), w(0x72), w(0xc0), w(0xb7), w(0xfd), w(0x93), \ ++ w(0x26), w(0x36), w(0x3f), w(0xf7), w(0xcc), w(0x34), w(0xa5), \ ++ w(0xe5), w(0xf1), w(0x71), w(0xd8), w(0x31), w(0x15), w(0x04), \ ++ w(0xc7), w(0x23), w(0xc3), w(0x18), w(0x96), w(0x05), w(0x9a), \ ++ w(0x07), w(0x12), w(0x80), w(0xe2), w(0xeb), w(0x27), w(0xb2), \ ++ w(0x75), w(0x09), w(0x83), w(0x2c), w(0x1a), w(0x1b), w(0x6e), \ ++ w(0x5a), w(0xa0), w(0x52), w(0x3b), w(0xd6), w(0xb3), w(0x29), \ ++ w(0xe3), w(0x2f), w(0x84), w(0x53), w(0xd1), w(0x00), w(0xed), \ ++ w(0x20), w(0xfc), w(0xb1), w(0x5b), w(0x6a), w(0xcb), w(0xbe), \ ++ w(0x39), w(0x4a), w(0x4c), w(0x58), w(0xcf), w(0xd0), w(0xef), \ ++ w(0xaa), w(0xfb), w(0x43), w(0x4d), w(0x33), w(0x85), w(0x45), \ ++ w(0xf9), w(0x02), w(0x7f), w(0x50), w(0x3c), w(0x9f), w(0xa8), \ ++ w(0x51), w(0xa3), w(0x40), w(0x8f), w(0x92), w(0x9d), w(0x38), \ ++ w(0xf5), w(0xbc), w(0xb6), w(0xda), w(0x21), w(0x10), w(0xff), \ ++ w(0xf3), w(0xd2), w(0xcd), w(0x0c), w(0x13), w(0xec), w(0x5f), \ ++ w(0x97), w(0x44), w(0x17), w(0xc4), w(0xa7), w(0x7e), w(0x3d), \ ++ w(0x64), w(0x5d), w(0x19), w(0x73), w(0x60), w(0x81), w(0x4f), \ ++ w(0xdc), w(0x22), w(0x2a), w(0x90), w(0x88), w(0x46), w(0xee), \ ++ w(0xb8), w(0x14), w(0xde), w(0x5e), w(0x0b), w(0xdb), w(0xe0), \ ++ w(0x32), w(0x3a), w(0x0a), w(0x49), w(0x06), w(0x24), w(0x5c), \ ++ w(0xc2), w(0xd3), w(0xac), w(0x62), w(0x91), w(0x95), w(0xe4), \ ++ w(0x79), w(0xe7), w(0xc8), w(0x37), w(0x6d), w(0x8d), w(0xd5), \ ++ w(0x4e), w(0xa9), w(0x6c), w(0x56), w(0xf4), w(0xea), w(0x65), \ ++ w(0x7a), w(0xae), w(0x08), w(0xba), w(0x78), w(0x25), w(0x2e), \ ++ w(0x1c), w(0xa6), w(0xb4), w(0xc6), w(0xe8), w(0xdd), w(0x74), \ ++ w(0x1f), w(0x4b), w(0xbd), w(0x8b), w(0x8a), w(0x70), w(0x3e), \ ++ w(0xb5), w(0x66), w(0x48), w(0x03), w(0xf6), w(0x0e), w(0x61), \ ++ w(0x35), w(0x57), w(0xb9), w(0x86), w(0xc1), w(0x1d), w(0x9e), \ ++ w(0xe1), w(0xf8), w(0x98), w(0x11), w(0x69), w(0xd9), w(0x8e), \ ++ w(0x94), w(0x9b), w(0x1e), w(0x87), w(0xe9), w(0xce), w(0x55), \ ++ w(0x28), w(0xdf), w(0x8c), w(0xa1), w(0x89), w(0x0d), w(0xbf), \ ++ w(0xe6), w(0x42), w(0x68), w(0x41), w(0x99), w(0x2d), w(0x0f), \ ++ w(0xb0), w(0x54), w(0xbb), w(0x16) \ ++ } ++#define SSE2NEON_AES_RSBOX(w) \ ++ { \ ++ w(0x52), w(0x09), w(0x6a), w(0xd5), w(0x30), w(0x36), w(0xa5), \ ++ w(0x38), w(0xbf), w(0x40), w(0xa3), w(0x9e), w(0x81), w(0xf3), \ ++ w(0xd7), w(0xfb), w(0x7c), w(0xe3), w(0x39), w(0x82), w(0x9b), \ ++ w(0x2f), w(0xff), w(0x87), w(0x34), w(0x8e), w(0x43), w(0x44), \ ++ w(0xc4), w(0xde), w(0xe9), w(0xcb), w(0x54), w(0x7b), w(0x94), \ ++ w(0x32), w(0xa6), w(0xc2), w(0x23), w(0x3d), w(0xee), w(0x4c), \ ++ w(0x95), w(0x0b), w(0x42), w(0xfa), w(0xc3), w(0x4e), w(0x08), \ ++ w(0x2e), w(0xa1), w(0x66), w(0x28), w(0xd9), w(0x24), w(0xb2), \ ++ w(0x76), w(0x5b), w(0xa2), w(0x49), w(0x6d), w(0x8b), w(0xd1), \ ++ w(0x25), w(0x72), w(0xf8), w(0xf6), w(0x64), w(0x86), w(0x68), \ ++ w(0x98), w(0x16), w(0xd4), w(0xa4), w(0x5c), w(0xcc), w(0x5d), \ ++ w(0x65), w(0xb6), w(0x92), w(0x6c), w(0x70), w(0x48), w(0x50), \ ++ w(0xfd), w(0xed), w(0xb9), w(0xda), w(0x5e), w(0x15), w(0x46), \ ++ w(0x57), w(0xa7), w(0x8d), w(0x9d), w(0x84), w(0x90), w(0xd8), \ ++ w(0xab), w(0x00), w(0x8c), w(0xbc), w(0xd3), w(0x0a), w(0xf7), \ ++ w(0xe4), w(0x58), w(0x05), w(0xb8), w(0xb3), w(0x45), w(0x06), \ ++ w(0xd0), w(0x2c), w(0x1e), w(0x8f), w(0xca), w(0x3f), w(0x0f), \ ++ w(0x02), w(0xc1), w(0xaf), w(0xbd), w(0x03), w(0x01), w(0x13), \ ++ w(0x8a), w(0x6b), w(0x3a), w(0x91), w(0x11), w(0x41), w(0x4f), \ ++ w(0x67), w(0xdc), w(0xea), w(0x97), w(0xf2), w(0xcf), w(0xce), \ ++ w(0xf0), w(0xb4), w(0xe6), w(0x73), w(0x96), w(0xac), w(0x74), \ ++ w(0x22), w(0xe7), w(0xad), w(0x35), w(0x85), w(0xe2), w(0xf9), \ ++ w(0x37), w(0xe8), w(0x1c), w(0x75), w(0xdf), w(0x6e), w(0x47), \ ++ w(0xf1), w(0x1a), w(0x71), w(0x1d), w(0x29), w(0xc5), w(0x89), \ ++ w(0x6f), w(0xb7), w(0x62), w(0x0e), w(0xaa), w(0x18), w(0xbe), \ ++ w(0x1b), w(0xfc), w(0x56), w(0x3e), w(0x4b), w(0xc6), w(0xd2), \ ++ w(0x79), w(0x20), w(0x9a), w(0xdb), w(0xc0), w(0xfe), w(0x78), \ ++ w(0xcd), w(0x5a), w(0xf4), w(0x1f), w(0xdd), w(0xa8), w(0x33), \ ++ w(0x88), w(0x07), w(0xc7), w(0x31), w(0xb1), w(0x12), w(0x10), \ ++ w(0x59), w(0x27), w(0x80), w(0xec), w(0x5f), w(0x60), w(0x51), \ ++ w(0x7f), w(0xa9), w(0x19), w(0xb5), w(0x4a), w(0x0d), w(0x2d), \ ++ w(0xe5), w(0x7a), w(0x9f), w(0x93), w(0xc9), w(0x9c), w(0xef), \ ++ w(0xa0), w(0xe0), w(0x3b), w(0x4d), w(0xae), w(0x2a), w(0xf5), \ ++ w(0xb0), w(0xc8), w(0xeb), w(0xbb), w(0x3c), w(0x83), w(0x53), \ ++ w(0x99), w(0x61), w(0x17), w(0x2b), w(0x04), w(0x7e), w(0xba), \ ++ w(0x77), w(0xd6), w(0x26), w(0xe1), w(0x69), w(0x14), w(0x63), \ ++ w(0x55), w(0x21), w(0x0c), w(0x7d) \ ++ } ++/* clang-format on */ ++ ++/* X Macro trick. See https://en.wikipedia.org/wiki/X_Macro */ ++#define SSE2NEON_AES_H0(x) (x) ++static const uint8_t _sse2neon_sbox[256] = SSE2NEON_AES_SBOX(SSE2NEON_AES_H0); ++static const uint8_t _sse2neon_rsbox[256] = SSE2NEON_AES_RSBOX(SSE2NEON_AES_H0); ++#undef SSE2NEON_AES_H0 ++ ++/* x_time function and matrix multiply function */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#define SSE2NEON_XT(x) (((x) << 1) ^ ((((x) >> 7) & 1) * 0x1b)) ++#define SSE2NEON_MULTIPLY(x, y) \ ++ (((y & 1) * x) ^ ((y >> 1 & 1) * SSE2NEON_XT(x)) ^ \ ++ ((y >> 2 & 1) * SSE2NEON_XT(SSE2NEON_XT(x))) ^ \ ++ ((y >> 3 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))) ^ \ ++ ((y >> 4 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))))) ++#endif ++ ++// In the absence of crypto extensions, implement aesenc using regular NEON ++// intrinsics instead. See: ++// https://www.workofard.com/2017/01/accelerated-aes-for-the-arm64-linux-kernel/ ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/ and ++// for more information. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ /* shift rows */ ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ /* sub bytes */ ++ // Here, we separate the whole 256-bytes table into 4 64-bytes tables, and ++ // look up each of the table. After each lookup, we load the next table ++ // which locates at the next 64-bytes. In the meantime, the index in the ++ // table would be smaller than it was, so the index parameters of ++ // `vqtbx4q_u8()` need to be added the same constant as the loaded tables. ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ // 'w-0x40' equals to 'vsubq_u8(w, vdupq_n_u8(0x40))' ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ /* mix columns */ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ /* add round key */ ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A implementation for a table-based AES */ ++#define SSE2NEON_AES_B2W(b0, b1, b2, b3) \ ++ (((uint32_t) (b3) << 24) | ((uint32_t) (b2) << 16) | \ ++ ((uint32_t) (b1) << 8) | (uint32_t) (b0)) ++// multiplying 'x' by 2 in GF(2^8) ++#define SSE2NEON_AES_F2(x) ((x << 1) ^ (((x >> 7) & 1) * 0x011b /* WPOLY */)) ++// multiplying 'x' by 3 in GF(2^8) ++#define SSE2NEON_AES_F3(x) (SSE2NEON_AES_F2(x) ^ x) ++#define SSE2NEON_AES_U0(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F2(p), p, p, SSE2NEON_AES_F3(p)) ++#define SSE2NEON_AES_U1(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p, p) ++#define SSE2NEON_AES_U2(p) \ ++ SSE2NEON_AES_B2W(p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p) ++#define SSE2NEON_AES_U3(p) \ ++ SSE2NEON_AES_B2W(p, p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p)) ++ ++ // this generates a table containing every possible permutation of ++ // shift_rows() and sub_bytes() with mix_columns(). ++ static const uint32_t ALIGN_STRUCT(16) aes_table[4][256] = { ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U0), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U1), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U2), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U3), ++ }; ++#undef SSE2NEON_AES_B2W ++#undef SSE2NEON_AES_F2 ++#undef SSE2NEON_AES_F3 ++#undef SSE2NEON_AES_U0 ++#undef SSE2NEON_AES_U1 ++#undef SSE2NEON_AES_U2 ++#undef SSE2NEON_AES_U3 ++ ++ uint32_t x0 = _mm_cvtsi128_si32(a); // get a[31:0] ++ uint32_t x1 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); // get a[63:32] ++ uint32_t x2 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xAA)); // get a[95:64] ++ uint32_t x3 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); // get a[127:96] ++ ++ // finish the modulo addition step in mix_columns() ++ __m128i out = _mm_set_epi32( ++ (aes_table[0][x3 & 0xff] ^ aes_table[1][(x0 >> 8) & 0xff] ^ ++ aes_table[2][(x1 >> 16) & 0xff] ^ aes_table[3][x2 >> 24]), ++ (aes_table[0][x2 & 0xff] ^ aes_table[1][(x3 >> 8) & 0xff] ^ ++ aes_table[2][(x0 >> 16) & 0xff] ^ aes_table[3][x1 >> 24]), ++ (aes_table[0][x1 & 0xff] ^ aes_table[1][(x2 >> 8) & 0xff] ^ ++ aes_table[2][(x3 >> 16) & 0xff] ^ aes_table[3][x0 >> 24]), ++ (aes_table[0][x0 & 0xff] ^ aes_table[1][(x1 >> 8) & 0xff] ^ ++ aes_table[2][(x2 >> 16) & 0xff] ^ aes_table[3][x3 >> 24])); ++ ++ return _mm_xor_si128(out, RoundKey); ++#endif ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // inverse mix columns ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & ++ 0x1b); // multiplying 'v' by 2 in GF(2^8) ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ // inverse mix columns ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ // sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A implementation */ ++ uint8_t v[16] = { ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 0)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 5)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 10)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 15)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 4)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 9)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 14)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 3)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 8)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 13)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 2)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 7)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 12)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 1)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 6)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 11)], ++ }; ++ ++ return vreinterpretq_m128i_u8(vld1q_u8(v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (int i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++#if defined(__aarch64__) ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ uint8x16_t v = vreinterpretq_u8_m128i(a); ++ uint8x16_t w; ++ ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ // multiplying 'v' by 2 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ return vreinterpretq_m128i_u8(w); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ vst1q_u8((uint8_t *) v, vreinterpretq_u8_m128i(a)); ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)); ++#endif ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++// ++// Emits the Advanced Encryption Standard (AES) instruction aeskeygenassist. ++// This instruction generates a round key for AES encryption. See ++// https://kazakov.life/2017/11/01/cryptocurrency-mining-on-ios-devices/ ++// for details. ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++#if defined(__aarch64__) ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); ++ uint8x16_t v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), _a); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), _a - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), _a - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), _a - 0xc0); ++ ++ uint32x4_t v_u32 = vreinterpretq_u32_u8(v); ++ uint32x4_t ror_v = vorrq_u32(vshrq_n_u32(v_u32, 8), vshlq_n_u32(v_u32, 24)); ++ uint32x4_t ror_xor_v = veorq_u32(ror_v, vdupq_n_u32(rcon)); ++ ++ return vreinterpretq_m128i_u32(vtrn2q_u32(v_u32, ror_xor_v)); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint32_t X1 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); ++ uint32_t X3 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); ++ for (int i = 0; i < 4; ++i) { ++ ((uint8_t *) &X1)[i] = _sse2neon_sbox[((uint8_t *) &X1)[i]]; ++ ((uint8_t *) &X3)[i] = _sse2neon_sbox[((uint8_t *) &X3)[i]]; ++ } ++ return _mm_set_epi32(((X3 >> 8) | (X3 << 24)) ^ rcon, X3, ++ ((X1 >> 8) | (X1 << 24)) ^ rcon, X1); ++#endif ++} ++#undef SSE2NEON_AES_SBOX ++#undef SSE2NEON_AES_RSBOX ++ ++#if defined(__aarch64__) ++#undef SSE2NEON_XT ++#undef SSE2NEON_MULTIPLY ++#endif ++ ++#else /* __ARM_FEATURE_CRYPTO */ ++// Implements equivalent of 'aesenc' by combining AESE (with an empty key) and ++// AESMC and then manually applying the real key as an xor operation. This ++// unfortunately means an additional xor op; the compiler should be able to ++// optimize this away for repeated calls however. See ++// https://blog.michaelbrase.com/2018/05/08/emulating-x86-aes-intrinsics-on-armv8-a ++// for more details. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesmcq_u8(vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(b))); ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesimcq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return _mm_xor_si128(vreinterpretq_m128i_u8(vaeseq_u8( ++ vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ RoundKey); ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8( ++ veorq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++ return vreinterpretq_m128i_u8(vaesimcq_u8(vreinterpretq_u8_m128i(a))); ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst." ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++ // AESE does ShiftRows and SubBytes on A ++ uint8x16_t u8 = vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)); ++ ++#ifndef _MSC_VER ++ uint8x16_t dest = { ++ // Undo ShiftRows step from AESE and extract X1 and X3 ++ u8[0x4], u8[0x1], u8[0xE], u8[0xB], // SubBytes(X1) ++ u8[0x1], u8[0xE], u8[0xB], u8[0x4], // ROT(SubBytes(X1)) ++ u8[0xC], u8[0x9], u8[0x6], u8[0x3], // SubBytes(X3) ++ u8[0x9], u8[0x6], u8[0x3], u8[0xC], // ROT(SubBytes(X3)) ++ }; ++ uint32x4_t r = {0, (unsigned) rcon, 0, (unsigned) rcon}; ++ return vreinterpretq_m128i_u8(dest) ^ vreinterpretq_m128i_u32(r); ++#else ++ // We have to do this hack because MSVC is strictly adhering to the CPP ++ // standard, in particular C++03 8.5.1 sub-section 15, which states that ++ // unions must be initialized by their first member type. ++ ++ // As per the Windows ARM64 ABI, it is always little endian, so this works ++ __n128 dest{ ++ ((uint64_t) u8.n128_u8[0x4] << 0) | ((uint64_t) u8.n128_u8[0x1] << 8) | ++ ((uint64_t) u8.n128_u8[0xE] << 16) | ++ ((uint64_t) u8.n128_u8[0xB] << 24) | ++ ((uint64_t) u8.n128_u8[0x1] << 32) | ++ ((uint64_t) u8.n128_u8[0xE] << 40) | ++ ((uint64_t) u8.n128_u8[0xB] << 48) | ++ ((uint64_t) u8.n128_u8[0x4] << 56), ++ ((uint64_t) u8.n128_u8[0xC] << 0) | ((uint64_t) u8.n128_u8[0x9] << 8) | ++ ((uint64_t) u8.n128_u8[0x6] << 16) | ++ ((uint64_t) u8.n128_u8[0x3] << 24) | ++ ((uint64_t) u8.n128_u8[0x9] << 32) | ++ ((uint64_t) u8.n128_u8[0x6] << 40) | ++ ((uint64_t) u8.n128_u8[0x3] << 48) | ++ ((uint64_t) u8.n128_u8[0xC] << 56)}; ++ ++ dest.n128_u32[1] = dest.n128_u32[1] ^ rcon; ++ dest.n128_u32[3] = dest.n128_u32[3] ^ rcon; ++ ++ return dest; ++#endif ++} ++#endif ++ ++/* Others */ ++ ++// Perform a carry-less multiplication of two 64-bit integers, selected from a ++// and b according to imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clmulepi64_si128 ++FORCE_INLINE __m128i _mm_clmulepi64_si128(__m128i _a, __m128i _b, const int imm) ++{ ++ uint64x2_t a = vreinterpretq_u64_m128i(_a); ++ uint64x2_t b = vreinterpretq_u64_m128i(_b); ++ switch (imm & 0x11) { ++ case 0x00: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_low_u64(b))); ++ case 0x01: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_low_u64(b))); ++ case 0x10: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_high_u64(b))); ++ case 0x11: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_high_u64(b))); ++ default: ++ abort(); ++ } ++} ++ ++FORCE_INLINE unsigned int _sse2neon_mm_get_denormals_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_DENORMALS_ZERO_ON : _MM_DENORMALS_ZERO_OFF; ++} ++ ++// Count the number of bits set to 1 in unsigned 32-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u32 ++FORCE_INLINE int _mm_popcnt_u32(unsigned int a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcount) ++ return __builtin_popcount(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits(a); ++#else ++ return (int) vaddlv_u8(vcnt_u8(vcreate_u8((uint64_t) a))); ++#endif ++#else ++ uint32_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ ++ vst1_u32(&count, count32x2_val); ++ return count; ++#endif ++} ++ ++// Count the number of bits set to 1 in unsigned 64-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u64 ++FORCE_INLINE int64_t _mm_popcnt_u64(uint64_t a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcountll) ++ return __builtin_popcountll(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits64(a); ++#else ++ return (int64_t) vaddlv_u8(vcnt_u8(vcreate_u8(a))); ++#endif ++#else ++ uint64_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ uint64x1_t count64x1_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ count64x1_val = vpaddl_u32(count32x2_val); ++ vst1_u64(&count, count64x1_val); ++ return count; ++#endif ++} ++ ++FORCE_INLINE void _sse2neon_mm_set_denormals_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_DENORMALS_ZERO_MASK) == _MM_DENORMALS_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Return the current 64-bit value of the processor's time-stamp counter. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=rdtsc ++FORCE_INLINE uint64_t _rdtsc(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t val; ++ ++ /* According to ARM DDI 0487F.c, from Armv8.0 to Armv8.5 inclusive, the ++ * system counter is at least 56 bits wide; from Armv8.6, the counter ++ * must be 64 bits wide. So the system counter could be less than 64 ++ * bits wide and it is attributed with the flag 'cap_user_time_short' ++ * is true. ++ */ ++#if defined(_MSC_VER) ++ val = _ReadStatusReg(ARM64_SYSREG(3, 3, 14, 0, 2)); ++#else ++ __asm__ __volatile__("mrs %0, cntvct_el0" : "=r"(val)); ++#endif ++ ++ return val; ++#else ++ uint32_t pmccntr, pmuseren, pmcntenset; ++ // Read the user mode Performance Monitoring Unit (PMU) ++ // User Enable Register (PMUSERENR) access permissions. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c14, 0" : "=r"(pmuseren)); ++ if (pmuseren & 1) { // Allows reading PMUSERENR for user mode code. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c12, 1" : "=r"(pmcntenset)); ++ if (pmcntenset & 0x80000000UL) { // Is it counting? ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c13, 0" : "=r"(pmccntr)); ++ // The counter is set up to count every 64th cycle ++ return (uint64_t) (pmccntr) << 6; ++ } ++ } ++ ++ // Fallback to syscall as we can't enable PMUSERENR in user mode. ++ struct timeval tv; ++ gettimeofday(&tv, NULL); ++ return (uint64_t) (tv.tv_sec) * 1000000 + tv.tv_usec; ++#endif ++} ++ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma pop_macro("ALIGN_STRUCT") ++#pragma pop_macro("FORCE_INLINE") ++#pragma pop_macro("FORCE_INLINE_OPTNONE") ++#endif ++ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma GCC pop_options ++#endif ++ ++#endif diff --git a/recipes/hifiasm_meta/meta.yaml b/recipes/hifiasm_meta/meta.yaml index d60ba6ffffe8d..9fa17cc01bedc 100644 --- a/recipes/hifiasm_meta/meta.yaml +++ b/recipes/hifiasm_meta/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "hamtv0.3.1" %} +{% set version = "hamtv0.3.2" %} package: name: hifiasm_meta @@ -6,10 +6,14 @@ package: source: url: https://github.com/xfengnefx/hifiasm-meta/archive/refs/tags/{{ version }}.tar.gz - sha256: 2da34f01b7ce555ad9038961331ff38786c4e9f10f5aafb3daccc24b3c6f5d4a + sha256: f295998b2dee6ab99ac86ee797bf41f927b12371608ef42da2b3db20e05d2e93 + patches: + - hifiasm_meta-aarch64.patch # [arm64 or aarch64] build: - number: 2 + number: 1 + run_exports: + - {{ pin_subpackage('hifiasm_meta', max_pin="x") }} requirements: build: @@ -30,3 +34,7 @@ about: license: MIT summary: 'Metagenome assembler for Hifi reads, based on hifiasm.' +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/hificnv/meta.yaml b/recipes/hificnv/meta.yaml index b95edc171d3b1..e6d3537158283 100644 --- a/recipes/hificnv/meta.yaml +++ b/recipes/hificnv/meta.yaml @@ -1,6 +1,6 @@ {% set name = "hificnv" %} -{% set version = "0.1.7" %} -{% set sha256 = "db74f665c5aeab59d02bb33b86bfe7f0023f4069af8729920faf1b088e5a0d73" %} +{% set version = "1.0.0" %} +{% set sha256 = "276afe35d34171f17a5f30e7aa35eb156765156536ae7411171376565d63cfe5" %} package: name: {{ name }} diff --git a/recipes/hifihla/build.sh b/recipes/hifihla/build.sh new file mode 100644 index 0000000000000..0f329aac0ed0b --- /dev/null +++ b/recipes/hifihla/build.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +mkdir -p "${PREFIX}"/bin +cp hifihla "${PREFIX}"/bin/ +chmod +x "${PREFIX}"/bin/hifihla diff --git a/recipes/hifihla/meta.yaml b/recipes/hifihla/meta.yaml new file mode 100644 index 0000000000000..76ca74fd77e83 --- /dev/null +++ b/recipes/hifihla/meta.yaml @@ -0,0 +1,30 @@ +{% set name = "hifihla" %} +{% set version = "0.3.1" %} +{% set hifihla_sha256 = "edeeb0208a545a0993df78989367da417b918621a8c76c69c16e86505c643dce" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + - url: https://github.com/PacificBiosciences/hifihla/releases/download/v{{ version }}/hifihla + sha256: {{ hifihla_sha256 }} + +about: + home: https://github.com/PacificBiosciences/hifihla + license: BSD-3-Clause-Clear + summary: An HLA star-calling tool for PacBio HiFi data types + +extra: + recipe-maintainers: + - jrharting + +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage('hifihla', max_pin="x") }} + +test: + commands: + - hifihla -h diff --git a/recipes/hiphase/meta.yaml b/recipes/hiphase/meta.yaml index 448e441c918b4..6bc4d755dcf4b 100644 --- a/recipes/hiphase/meta.yaml +++ b/recipes/hiphase/meta.yaml @@ -1,6 +1,6 @@ {% set name = "hiphase" %} -{% set version = "1.0.0" %} -{% set hiphase_sha256 = "7aee796e83263a8158b0f5b3ed21ca701cf8fc3e7db275fec05f974a859c2510" %} +{% set version = "1.4.5" %} +{% set hiphase_sha256 = "144ed18b56873856073d27bb7daea757ab5cfe857685c033a64e331075107a04" %} package: name: {{ name }} diff --git a/recipes/hisat2-pipeline/meta.yaml b/recipes/hisat2-pipeline/meta.yaml new file mode 100644 index 0000000000000..dfa4a265057f7 --- /dev/null +++ b/recipes/hisat2-pipeline/meta.yaml @@ -0,0 +1,56 @@ +{% set name = "hisat2-pipeline" %} +{% set version = "1.0.7" %} +{% set sha256 = "4c21e62b8cf1e326b398eafb78e09d2b90843c852198bedb164ac5f1cfc7d33f" %} +{% set DOI = "https://doi.org/10.5281/zenodo.10389729" %} + +package: + name: {{ name }} + version: {{ version }} + +build: + number: 0 + noarch: python + script: {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv + run_exports: + - {{ pin_subpackage('hisat2-pipeline', max_pin="x.x") }} + + +source: + url: https://github.com/mcamagna/HISAT2-pipeline/archive/refs/tags/v{{ version }}-bioconda.tar.gz + sha256: {{ sha256 }} + +requirements: + host: + - python >=3 + - pip + run: + - python >=3 + - hisat2 + - stringtie + - samtools >=1.9 + - pandas + - openpyxl + +test: + commands: + - hisat2-pipeline --version + - stringtie --version + - hisat2 --version + - samtools --version + imports: + - pandas + requires: + - stringtie + - hisat2 + - samtools + +about: + home: https://github.com/mcamagna/HISAT2-pipeline + license: GPL-3.0-or-later + license_family: GPL + license_file: LICENSE + summary: 'A pipeline to automatically run an RNA-seq analysis using HISAT2/Stringtie using default settings' + +extra: + identifiers: + - {{ DOI }} diff --git a/recipes/hitac/meta.yaml b/recipes/hitac/meta.yaml index 3a7e214569046..2c881eb7aac3f 100644 --- a/recipes/hitac/meta.yaml +++ b/recipes/hitac/meta.yaml @@ -1,5 +1,5 @@ {% set name = "hitac" %} -{% set version = "2.2.1" %} +{% set version = "2.2.2" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 3015bd17fee7f026ddf08708bf8a935d7a73108bc2cc8e9e9275fdf6b823298c + sha256: 22e69ba328f4d48b6f1dd6c394f37fdc429317a5a810a41c91e8e03454f8db09 build: noarch: python diff --git a/recipes/hits/meta.yaml b/recipes/hits/meta.yaml index d3702f5e0050b..76845592b805c 100644 --- a/recipes/hits/meta.yaml +++ b/recipes/hits/meta.yaml @@ -1,29 +1,32 @@ {% set name = "hits" %} -{% set version = "0.4.0" %} +{% set version = "0.4.3" %} +{% set sha256 = "a100289a2724f48ba1d95c430d56899d382208f6f5d35283488917b9d59b620a" %} package: - name: "{{ name|lower }}" - version: "{{ version }}" + name: {{ name|lower }} + version: {{ version }} source: - url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: "743bfc1b56ab8fcf9fefacfcad4c1f23e9bafec1b42225709dbe097c8e669383" + url: https://github.com/jeffhussmann/hits/archive/refs/tags/v{{ version }}.tar.gz + sha256: {{ sha256 }} build: - number: 1 - skip: True # [py != 38] - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv" + number: 0 + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir --use-pep517 + run_exports: + - {{ pin_subpackage('hits', max_pin="x.x") }} requirements: build: - {{ compiler('c') }} host: - - cython >=0.29.7 - - pip - python + - cython + - pip run: + - python - biopython >=1.72 - - bokeh + - bokeh >=2.4.2 - ipython >=7.8.0 - ipywidgets >=7.4.2 - matplotlib-base >=3.0.2 @@ -31,23 +34,26 @@ requirements: - pandas >=0.23.4 - pillow >=5.3.0 - pysam >=0.15.1 - - python >=3.8 - pyyaml >=3.13 - scipy >=1.2.1 - - seaborn >=0.11.0 + - seaborn-base >=0.11.0 - statsmodels >=0.12.1 test: imports: - hits - - hits.visualize - - hits.visualize.interactive about: - home: "https://github.com/jeffhussmann/hits" - license: GPLv3 - summary: "utilities for processing high-throughput sequencing experiments" + home: https://github.com/jeffhussmann/hits + summary: "Utilities for processing high-throughput sequencing experiments." + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE + dev_url: https://github.com/jeffhussmann/hits extra: recipe-maintainers: - jeffhussmann + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/hla-la/1.0/build_failure.linux-64.yaml b/recipes/hla-la/1.0/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..df504c596e1b8 --- /dev/null +++ b/recipes/hla-la/1.0/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 1679e6ba22e2c8284232e79db6480de5db955cccfe9fd7837c487b7f3db1067a # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/hla-la-1.0.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + DEBUG_CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/hla-la-1.0.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + GXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-g + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all Graph/Edge.cpp -c -o ../obj/Edge.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all Graph/Graph.cpp -c -o ../obj/Graph.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all Graph/GraphAndEdgeIndex.cpp -c -o ../obj/GraphAndEdgeIndex.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all Graph/Node.cpp -c -o ../obj/Node.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all Graph/HaplotypePanel.cpp -c -o ../obj/HaplotypePanel.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all Graph/graphSimulator/simpleGraphSimulator.cpp -c -o ../obj/simpleGraphSimulator.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all Graph/LocusCodeAllocation.cpp -c -o ../obj/LocusCodeAllocation.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all simulator/simulator.cpp -c -o ../obj/simulator.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all simulator/readSimulator.cpp -c -o ../obj/readSimulator.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all simulator/trueReadLevels.cpp -c -o ../obj/trueReadLevels.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all mapper/processBAM.cpp -c -o ../obj/processBAM.o + In file included from /opt/conda/conda-bld/hla-la_1717710114292/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/boost/math/special_functions/detail/round_fwd.hpp:11, + from /opt/conda/conda-bld/hla-la_1717710114292/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/boost/math/special_functions/math_fwd.hpp:29, + from /opt/conda/conda-bld/hla-la_1717710114292/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/boost/math/special_functions/erf.hpp:13, + from /opt/conda/conda-bld/hla-la_1717710114292/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/boost/math/distributions/normal.hpp:19, + from mapper/processBAM.h:30, + from mapper/processBAM.cpp:18: + /opt/conda/conda-bld/hla-la_1717710114292/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/boost/math/tools/config.hpp:26:6: warning: #warning "Boost.Math requires C14" [-Wcpp] + 26 | # warning "Boost.Math requires C14" + | ^~~~~~~ + mapper/processBAM.cpp: In constructor 'mapper::processBAM::processBAM(std::string, unsigned int)': + mapper/processBAM.cpp:123:33: warning: use of an operand of type 'bool' in 'operator' is deprecated [-Wdeprecated] + 123 | haveGapEdge; + | ^~~~~~~~~~~ + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all mapper/reads/protoSeeds.cpp -c -o ../obj/protoSeeds.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all mapper/reads/oneRead.cpp -c -o ../obj/oneRead.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all mapper/reads/oneReadPair.cpp -c -o ../obj/oneReadPair.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all mapper/reads/oneReadPairwithSeedChains.cpp -c -o ../obj/oneReadPairwithSeedChains.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all mapper/aligner/alignerBase.cpp -c -o ../obj/alignerBase.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all mapper/aligner/alignmentContext.cpp -c -o ../obj/alignmentContext.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all mapper/aligner/extensionAligner.cpp -c -o ../obj/extensionAligner.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all mapper/bwa/BWAmapper.cpp -c -o ../obj/BWAmapper.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all mapper/bowtie2/Bowtie2mapper.cpp -c -o ../obj/Bowtie2mapper.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all mapper/aligner/statistics.cpp -c -o ../obj/statistics.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all mapper/aligner/VirtualNWUnique.cpp -c -o ../obj/VirtualNWUnique.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all mapper/reads/PRGContigBAMAlignment.cpp -c -o ../obj/PRGContigBAMAlignment.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all mapper/reads/verboseSeedChain.cpp -c -o ../obj/verboseSeedChain.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all hla/HLATyper.cpp -c -o ../obj/HLATyper.o + In file included from /opt/conda/conda-bld/hla-la_1717710114292/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/boost/math/tools/series.hpp:16, + from /opt/conda/conda-bld/hla-la_1717710114292/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/boost/math/special_functions/gamma.hpp:17, + from /opt/conda/conda-bld/hla-la_1717710114292/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/boost/math/distributions/chi_squared.hpp:13, + from hla/HLATyper.cpp:21: + /opt/conda/conda-bld/hla-la_1717710114292/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/boost/math/tools/config.hpp:26:6: warning: #warning "Boost.Math requires C14" [-Wcpp] + 26 | # warning "Boost.Math requires C14" + | ^~~~~~~ + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all pathFinder.cpp -c -o ../obj/pathFinder.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all linearALTs/linearALTs.cpp -c -o ../obj/linearALTs.o + In file included from /opt/conda/conda-bld/hla-la_1717710114292/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/boost/math/special_functions/detail/round_fwd.hpp:11, + from /opt/conda/conda-bld/hla-la_1717710114292/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/boost/math/special_functions/math_fwd.hpp:29, + from /opt/conda/conda-bld/hla-la_1717710114292/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/boost/math/special_functions/erf.hpp:13, + from /opt/conda/conda-bld/hla-la_1717710114292/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/boost/math/distributions/normal.hpp:19, + from linearALTs/linearALTs.h:17, + from linearALTs/linearALTs.cpp:8: + /opt/conda/conda-bld/hla-la_1717710114292/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/boost/math/tools/config.hpp:26:6: warning: #warning "Boost.Math requires C14" [-Wcpp] + 26 | # warning "Boost.Math requires C14" + | ^~~~~~~ + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all hla/oneExonPosition.cpp -c -o ../obj/oneExonPosition.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all mapper/reads/seedChain.cpp -c -o ../obj/seedChain.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -I$PREFIX/include -I$PREFIX/include/bamtools -I$PREFIX/include -ggdb -O2 -fopenmp -std=gnu0x -fstack-protector-all Utilities.cpp -c -o ../obj/Utilities.o + Utilities.cpp: In static member function 'static void Utilities::deleteFile(std::string)': + Utilities.cpp:107:24: error: 'wpath' is not a member of 'boost::filesystem'; did you mean 'path'? + 107 | boost::filesystem::wpath F(file); + | ^~~~~ + | path + In file included from /opt/conda/conda-bld/hla-la_1717710114292/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/boost/assert.hpp:58, + from /opt/conda/conda-bld/hla-la_1717710114292/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/boost/filesystem/directory.hpp:28, + from /opt/conda/conda-bld/hla-la_1717710114292/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/boost/filesystem.hpp:18, + from Utilities.cpp:22: + Utilities.cpp:108:38: error: 'F' was not declared in this scope + 108 | assert(boost::filesystem::remove(F)); + | ^ + Utilities.cpp: In static member function 'static size_t Utilities::fileLastWrite(std::string)': + Utilities.cpp:114:24: error: 'wpath' is not a member of 'boost::filesystem'; did you mean 'path'? + 114 | boost::filesystem::wpath F(file); + | ^~~~~ + | path + Utilities.cpp:115:28: error: 'F' was not declared in this scope + 115 | return last_write_time(F); + | ^ + make: *** [makefile:112: ../obj/Utilities.o] Error 1 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/hla-la_1717710114292/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. diff --git a/recipes/hla-la/1.0/meta.yaml b/recipes/hla-la/1.0/meta.yaml index e25e52f5ccbbe..cae93b6943d76 100644 --- a/recipes/hla-la/1.0/meta.yaml +++ b/recipes/hla-la/1.0/meta.yaml @@ -5,7 +5,7 @@ package: version: {{ version }} build: - number: 6 + number: 7 skip: true # [osx] source: diff --git a/recipes/hla-la/meta.yaml b/recipes/hla-la/meta.yaml index 4563dc5ca4b9f..0297019c8486e 100644 --- a/recipes/hla-la/meta.yaml +++ b/recipes/hla-la/meta.yaml @@ -1,16 +1,18 @@ -{% set version = "1.0.3" %} +{% set version = "1.0.4" %} package: name: hla-la version: {{ version }} build: - number: 2 + number: 0 skip: true # [osx] + run_exports: + - {{ pin_subpackage('hla-la', max_pin="x") }} source: url: https://github.com/DiltheyLab/HLA-LA/archive/v{{ version }}.tar.gz - sha256: bd2434616597aecfb38ec5b3b0e1e9812fa51c5dbf8fcdb2208d53cf694b9785 + sha256: 6a6c28bbee6256fde1b845d23f5d21589e1b83b1c4c2aceb6309bc65a3284ea7 folder: src requirements: diff --git a/recipes/hlafreq/meta.yaml b/recipes/hlafreq/meta.yaml index ad13a124afa23..3dfbdc5e02169 100644 --- a/recipes/hlafreq/meta.yaml +++ b/recipes/hlafreq/meta.yaml @@ -1,33 +1,35 @@ {% set name = "HLAfreq" %} -{% set version = "0.0.2" %} +{% set version = "0.0.4" %} package: name: "{{ name|lower }}" version: "{{ version }}" source: - url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: e43d70a876a6a245ecc2d6117947c5e1f6bce5824738a4d86dfecbe6c53e07f7 + url: "https://pypi.io/packages/source/{{ name[0]|lower }}/{{ name|lower }}/{{ name|lower }}-{{ version }}.tar.gz" + sha256: 58aa7aaa1d554a3264531f6aaa3bd0a5a29c13b58441dc6564537adf4d096051 build: number: 0 noarch: python - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('hlafreq', max_pin="x.x") }} requirements: host: - - python >=3.8 + - python >=3.10 - pip run: - bs4 - - matplotlib-base - - numpy + - matplotlib-base >=3.6.0 + - numpy >=1.24.0 - pandas - pymc >=3 - arviz - - python >=3.8 + - python >=3.10 - requests - - scipy + - scipy >=1.10.0 test: imports: diff --git a/recipes/hmftools-amber/AMBER.sh b/recipes/hmftools-amber/amber.sh similarity index 100% rename from recipes/hmftools-amber/AMBER.sh rename to recipes/hmftools-amber/amber.sh diff --git a/recipes/hmftools-amber/build.sh b/recipes/hmftools-amber/build.sh index 60125bce3446e..b6c245c28bb8e 100644 --- a/recipes/hmftools-amber/build.sh +++ b/recipes/hmftools-amber/build.sh @@ -7,6 +7,6 @@ TGT="$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM" cd "${SRC_DIR}" mv amber*.jar $TGT/amber.jar -cp $RECIPE_DIR/AMBER.sh $TGT/AMBER -ln -s $TGT/AMBER $PREFIX/bin -chmod 0755 "${PREFIX}/bin/AMBER" +cp $RECIPE_DIR/amber.sh $TGT/amber +ln -s $TGT/amber $PREFIX/bin +chmod 0755 "${PREFIX}/bin/amber" diff --git a/recipes/hmftools-amber/meta.yaml b/recipes/hmftools-amber/meta.yaml index c3defd0a479d2..611231aa4b18e 100644 --- a/recipes/hmftools-amber/meta.yaml +++ b/recipes/hmftools-amber/meta.yaml @@ -1,17 +1,19 @@ -{% set version = "3.9" %} -{% set sha256 = "a1f249d691c1d45f41e4b844d0f9e91dadf3920e340bc8d80c9130c4b7d2522b" %} +{% set version = "4.1_beta" %} +{% set sha256 = "ceef94ee067848bc57751f16e967f0bcc7f2a1fcb33ecfa326b65f6f3db198c6" %} package: name: hmftools-amber version: '{{ version }}' source: - url: https://github.com/hartwigmedical/hmftools/releases/download/amber-v{{ version }}/amber-{{ version }}.jar + url: https://github.com/hartwigmedical/hmftools/releases/download/amber-v{{ version|replace("_beta", "") }}/amber_v{{ version }}.jar sha256: '{{ sha256 }}' build: noarch: generic - number: 1 + number: 0 + run_exports: + - {{ pin_subpackage("hmftools-amber", max_pin="x.x") }} requirements: run: @@ -22,10 +24,10 @@ requirements: test: commands: - - 'AMBER 2>&1 | grep -q "tumor_bam"' + - 'amber -version | grep Amber' about: home: https://github.com/hartwigmedical/hmftools/blob/master/amber/README.md - license: MIT - license_family: MIT - summary: Generates a tumor BAF file for use in PURPLE + license: GPL-3.0-only + license_family: GPL3 + summary: Generates a tumor BAF file for use in PURPLE. diff --git a/recipes/hmftools-bam-tools/bamtools.sh b/recipes/hmftools-bam-tools/bamtools.sh new file mode 100755 index 0000000000000..b62ff17d5670f --- /dev/null +++ b/recipes/hmftools-bam-tools/bamtools.sh @@ -0,0 +1,69 @@ +#!/bin/bash +# hmftools BamTools executable shell script +# https://github.com/hartwigmedical/hmftools/tree/master/bam-tools +set -eu -o pipefail + +export LC_ALL=en_US.UTF-8 + +# Find original directory of bash script, resolving symlinks +# http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in/246128#246128 +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done +DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + +JAR_DIR=$DIR +ENV_PREFIX="$(dirname $(dirname $DIR))" +# Use Java installed with Anaconda to ensure correct version +java="$ENV_PREFIX/bin/java" + +# if JAVA_HOME is set (non-empty), use it. Otherwise keep "java" +if [ -n "${JAVA_HOME:=}" ]; then + if [ -e "$JAVA_HOME/bin/java" ]; then + java="$JAVA_HOME/bin/java" + fi +fi + +# extract memory and system property Java arguments from the list of provided arguments +# http://java.dzone.com/articles/better-java-shell-script +default_jvm_mem_opts="-Xms512m -Xmx1g" +jvm_mem_opts="" +jvm_prop_opts="" +pass_args="" +for arg in "$@"; do + case $arg in + '-D'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-XX'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-Xm'*) + jvm_mem_opts="$jvm_mem_opts $arg" + ;; + *) + if [[ ${pass_args} == '' ]] #needed to avoid preceeding space on first arg e.g. ' MarkDuplicates' + then + pass_args="$arg" + else + pass_args="$pass_args \"$arg\"" #quotes later arguments to avoid problem with ()s in MarkDuplicates regex arg + fi + ;; + esac +done + +if [ "$jvm_mem_opts" == "" ]; then + jvm_mem_opts="$default_jvm_mem_opts" +fi + +pass_arr=($pass_args) +if [[ ${pass_arr[0]:=} == com.hartwig.* ]] +then + eval "$java" $jvm_mem_opts $jvm_prop_opts -cp "$JAR_DIR/bamtools.jar" $pass_args +else + eval "$java" $jvm_mem_opts $jvm_prop_opts -jar "$JAR_DIR/bamtools.jar" $pass_args +fi +exit diff --git a/recipes/hmftools-bam-tools/build.sh b/recipes/hmftools-bam-tools/build.sh new file mode 100644 index 0000000000000..4f02d98736648 --- /dev/null +++ b/recipes/hmftools-bam-tools/build.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +TGT="$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM" +[ -d "$TGT" ] || mkdir -p "$TGT" +[ -d "${PREFIX}/bin" ] || mkdir -p "${PREFIX}/bin" + +cd "${SRC_DIR}" +mv bam-tools*.jar $TGT/bamtools.jar + +cp $RECIPE_DIR/bamtools.sh $TGT/bamtools +ln -s $TGT/bamtools $PREFIX/bin +chmod 0755 "${PREFIX}/bin/bamtools" diff --git a/recipes/hmftools-bam-tools/meta.yaml b/recipes/hmftools-bam-tools/meta.yaml new file mode 100644 index 0000000000000..d100a90546b64 --- /dev/null +++ b/recipes/hmftools-bam-tools/meta.yaml @@ -0,0 +1,30 @@ +{% set version = "1.3_beta" %} +{% set sha256 = "28ae70c74426cad9142f7d96b18a8b8bf287fb1d3099cf03e706970593f56e0a" %} + +package: + name: hmftools-bam-tools + version: '{{ version }}' + +source: + url: https://github.com/hartwigmedical/hmftools/releases/download/bam-tools-v{{ version }}/bam-tools_v{{ version }}.jar + sha256: '{{ sha256 }}' + +build: + noarch: generic + number: 0 + run_exports: + - {{ pin_subpackage("hmftools-bam-tools", max_pin="x.x") }} + +requirements: + run: + - openjdk >=8 + +test: + commands: + - 'bamtools -version | grep BamTools' + +about: + home: https://github.com/hartwigmedical/hmftools/blob/master/bam-tools/README.md + license: GPL-3.0-only + license_family: GPL3 + summary: Rapidly process BAMs for various tasks. diff --git a/recipes/hmftools-chord/LICENSE b/recipes/hmftools-chord/LICENSE new file mode 100644 index 0000000000000..2aa0f78dd40e9 --- /dev/null +++ b/recipes/hmftools-chord/LICENSE @@ -0,0 +1,624 @@ +Copyright (C) 2016-2024 hartwigmedical + +GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + +Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + diff --git a/recipes/hmftools-chord/build.sh b/recipes/hmftools-chord/build.sh new file mode 100644 index 0000000000000..a1a96f8a03b8b --- /dev/null +++ b/recipes/hmftools-chord/build.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +TGT="$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM" +[ -d "$TGT" ] || mkdir -p $TGT +[ -d "${PREFIX}/bin" ] || mkdir -p "${PREFIX}/bin" + +cd "${SRC_DIR}" +mv jar/chord*.jar $TGT/chord.jar +${R} CMD INSTALL --build src/chord/src/main/R/mutSigExtractor +${R} CMD INSTALL --build src/chord/src/main/R/CHORD + +cp $RECIPE_DIR/chord.sh $TGT/chord +ln -s $TGT/chord ${PREFIX}/bin/ diff --git a/recipes/hmftools-chord/chord.sh b/recipes/hmftools-chord/chord.sh new file mode 100755 index 0000000000000..4bfae1df1839a --- /dev/null +++ b/recipes/hmftools-chord/chord.sh @@ -0,0 +1,69 @@ +#!/bin/bash +# hmftools CHORD executable shell script +# https://github.com/hartwigmedical/hmftools/tree/master/chord +set -eu -o pipefail + +export LC_ALL=en_US.UTF-8 + +# Find original directory of bash script, resolving symlinks +# http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in/246128#246128 +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done +DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + +JAR_DIR=$DIR +ENV_PREFIX="$(dirname $(dirname $DIR))" +# Use Java installed with Anaconda to ensure correct version +java="$ENV_PREFIX/bin/java" + +# if JAVA_HOME is set (non-empty), use it. Otherwise keep "java" +if [ -n "${JAVA_HOME:=}" ]; then + if [ -e "$JAVA_HOME/bin/java" ]; then + java="$JAVA_HOME/bin/java" + fi +fi + +# extract memory and system property Java arguments from the list of provided arguments +# http://java.dzone.com/articles/better-java-shell-script +default_jvm_mem_opts="-Xms512m -Xmx1g" +jvm_mem_opts="" +jvm_prop_opts="" +pass_args="" +for arg in "$@"; do + case $arg in + '-D'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-XX'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-Xm'*) + jvm_mem_opts="$jvm_mem_opts $arg" + ;; + *) + if [[ ${pass_args} == '' ]] #needed to avoid preceeding space on first arg e.g. ' MarkDuplicates' + then + pass_args="$arg" + else + pass_args="$pass_args \"$arg\"" #quotes later arguments to avoid problem with ()s in MarkDuplicates regex arg + fi + ;; + esac +done + +if [ "$jvm_mem_opts" == "" ]; then + jvm_mem_opts="$default_jvm_mem_opts" +fi + +pass_arr=($pass_args) +if [[ ${pass_arr[0]:=} == com.hartwig.* ]] +then + eval "$java" $jvm_mem_opts $jvm_prop_opts -cp "$JAR_DIR/chord.jar" $pass_args +else + eval "$java" $jvm_mem_opts $jvm_prop_opts -jar "$JAR_DIR/chord.jar" $pass_args +fi +exit diff --git a/recipes/hmftools-chord/meta.yaml b/recipes/hmftools-chord/meta.yaml new file mode 100644 index 0000000000000..cb5e88a813be6 --- /dev/null +++ b/recipes/hmftools-chord/meta.yaml @@ -0,0 +1,51 @@ +{% set version = "2.1.0_beta" %} +{% set sha256_jar = "26d0a40e20635c4b797d28e0c7819b1653c9f8fa28180b9a556215d22387968c" %} +{% set sha256_src = "ed039e7b405130a1e52df71c3535c6a5ed8aab0f80724bc83df88ae14aeaa257" %} + +package: + name: hmftools-chord + version: '{{ version }}' + +source: + - folder: jar + url: https://github.com/hartwigmedical/hmftools/releases/download/chord-v{{ version }}/chord-{{ version }}.jar + sha256: '{{ sha256_jar }}' + - folder: src + url: https://github.com/hartwigmedical/hmftools/archive/refs/tags/chord-v{{ version }}.tar.gz + sha256: '{{ sha256_src }}' + +build: + noarch: generic + number: 0 + run_exports: + - {{ pin_subpackage("hmftools-chord", max_pin="x.x") }} + +requirements: + host: + - r-base + - r-randomforest + - r-stringr + - bioconductor-bsgenome + - bioconductor-bsgenome.hsapiens.ucsc.hg19 + - bioconductor-bsgenome.hsapiens.ucsc.hg38 + run: + - openjdk >=8 + - r-base + - r-randomforest + - r-stringr + - bioconductor-bsgenome + - bioconductor-bsgenome.hsapiens.ucsc.hg19 + - bioconductor-bsgenome.hsapiens.ucsc.hg38 + +test: + commands: + - $R -e "library('CHORD')" + - $R -e "library('mutSigExtractor')" + - 'chord com.hartwig.hmftools.chord.ChordRunner -version | grep CHORD' + +about: + home: https://github.com/hartwigmedical/hmftools/blob/master/chord/ + license: GPL-3.0-only + license_family: GPL3 + license_file: LICENSE + summary: Predict HRD using somatic mutations contexts diff --git a/recipes/hmftools-cobalt/build.sh b/recipes/hmftools-cobalt/build.sh index 990ea8634c707..092a2525d3136 100644 --- a/recipes/hmftools-cobalt/build.sh +++ b/recipes/hmftools-cobalt/build.sh @@ -5,8 +5,8 @@ TGT="$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM" [ -d "${PREFIX}/bin" ] || mkdir -p "${PREFIX}/bin" cd "${SRC_DIR}" -mv *.jar $TGT/cobalt.jar +mv cobalt*.jar $TGT/cobalt.jar -cp $RECIPE_DIR/COBALT.sh $TGT/COBALT -ln -s $TGT/COBALT $PREFIX/bin -chmod 0755 "${PREFIX}/bin/COBALT" +cp $RECIPE_DIR/cobalt.sh $TGT/cobalt +ln -s $TGT/cobalt $PREFIX/bin +chmod 0755 "${PREFIX}/bin/cobalt" diff --git a/recipes/hmftools-cobalt/COBALT.sh b/recipes/hmftools-cobalt/cobalt.sh similarity index 100% rename from recipes/hmftools-cobalt/COBALT.sh rename to recipes/hmftools-cobalt/cobalt.sh diff --git a/recipes/hmftools-cobalt/meta.yaml b/recipes/hmftools-cobalt/meta.yaml index 9a4418e1c2878..f82c869772fad 100644 --- a/recipes/hmftools-cobalt/meta.yaml +++ b/recipes/hmftools-cobalt/meta.yaml @@ -1,17 +1,19 @@ -{% set version = "1.13" %} -{% set sha256 = "d70a6bc73da518d159525caa5186551a771c88441efe1103a3425befd2445215" %} +{% set version = "2.0_beta" %} +{% set sha256 = "ea00d4322804dfe2ab8d55b43c60289a83e2de1883687a345f86d667a4f7eb7a" %} package: name: hmftools-cobalt version: '{{ version }}' source: - url: https://github.com/hartwigmedical/hmftools/releases/download/cobalt-v{{ version }}/cobalt-{{ version }}.jar + url: https://github.com/hartwigmedical/hmftools/releases/download/cobalt-v{{ version }}/cobalt_v{{ version }}.jar sha256: '{{ sha256 }}' build: noarch: generic - number: 1 + number: 0 + run_exports: + - {{ pin_subpackage("hmftools-cobalt", max_pin="x.x") }} requirements: run: @@ -21,10 +23,10 @@ requirements: test: commands: - - 'COBALT 2>&1 | grep -q "tumor_bam"' + - 'cobalt -version | grep Cobalt' about: home: https://github.com/hartwigmedical/hmftools/blob/master/cobalt/README.md - license: MIT - license_family: MIT - summary: Counts read starts within each 1000 base window to use in PURPLE + license: GPL-3.0-only + license_family: GPL3 + summary: Calculate read-depth counts and GC ratios to use in PURPLE. diff --git a/recipes/hmftools-cuppa/build.sh b/recipes/hmftools-cuppa/build.sh new file mode 100644 index 0000000000000..0cd12bf1a92f0 --- /dev/null +++ b/recipes/hmftools-cuppa/build.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +TGT="$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM" +[ -d "$TGT" ] || mkdir -p $TGT/{,chart/} +[ -d "${PREFIX}/bin" ] || mkdir -p "${PREFIX}/bin" + +cd "${SRC_DIR}" +mv jar/cuppa*.jar $TGT/cuppa.jar +${PYTHON} -m pip install --no-build-isolation --no-deps --no-cache-dir -vvv src/cuppa/src/main/python/pycuppa/ + +cp $RECIPE_DIR/cuppa.sh $TGT/cuppa +ln -s $TGT/cuppa ${PREFIX}/bin/ diff --git a/recipes/hmftools-cuppa/cuppa.sh b/recipes/hmftools-cuppa/cuppa.sh new file mode 100755 index 0000000000000..d3300113ab61b --- /dev/null +++ b/recipes/hmftools-cuppa/cuppa.sh @@ -0,0 +1,69 @@ +#!/bin/bash +# hmftools CUPPA executable shell script +# https://github.com/hartwigmedical/hmftools/tree/master/cuppa +set -eu -o pipefail + +export LC_ALL=en_US.UTF-8 + +# Find original directory of bash script, resolving symlinks +# http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in/246128#246128 +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done +DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + +JAR_DIR=$DIR +ENV_PREFIX="$(dirname $(dirname $DIR))" +# Use Java installed with Anaconda to ensure correct version +java="$ENV_PREFIX/bin/java" + +# if JAVA_HOME is set (non-empty), use it. Otherwise keep "java" +if [ -n "${JAVA_HOME:=}" ]; then + if [ -e "$JAVA_HOME/bin/java" ]; then + java="$JAVA_HOME/bin/java" + fi +fi + +# extract memory and system property Java arguments from the list of provided arguments +# http://java.dzone.com/articles/better-java-shell-script +default_jvm_mem_opts="-Xms512m -Xmx1g" +jvm_mem_opts="" +jvm_prop_opts="" +pass_args="" +for arg in "$@"; do + case $arg in + '-D'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-XX'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-Xm'*) + jvm_mem_opts="$jvm_mem_opts $arg" + ;; + *) + if [[ ${pass_args} == '' ]] #needed to avoid preceeding space on first arg e.g. ' MarkDuplicates' + then + pass_args="$arg" + else + pass_args="$pass_args \"$arg\"" #quotes later arguments to avoid problem with ()s in MarkDuplicates regex arg + fi + ;; + esac +done + +if [ "$jvm_mem_opts" == "" ]; then + jvm_mem_opts="$default_jvm_mem_opts" +fi + +pass_arr=($pass_args) +if [[ ${pass_arr[0]:=} == com.hartwig.* ]] +then + eval "$java" $jvm_mem_opts $jvm_prop_opts -cp "$JAR_DIR/cuppa.jar" $pass_args +else + eval "$java" $jvm_mem_opts $jvm_prop_opts -jar "$JAR_DIR/cuppa.jar" $pass_args +fi +exit diff --git a/recipes/hmftools-cuppa/meta.yaml b/recipes/hmftools-cuppa/meta.yaml new file mode 100644 index 0000000000000..840622e449152 --- /dev/null +++ b/recipes/hmftools-cuppa/meta.yaml @@ -0,0 +1,48 @@ +{% set version = "2.3.0_beta" %} +{% set sha256_jar = "69f94a54f232a2a22927dce165120d1f166d4931bfb8f299515edaa577607c7c" %} +{% set sha256_src = "65a2070e78243fed975b8738d2ce79dfead1a5702c2bc91e26488c806e25d158" %} + +package: + name: hmftools-cuppa + version: '{{ version }}' + +source: + - folder: jar + url: https://github.com/hartwigmedical/hmftools/releases/download/cuppa-v{{ version }}/cuppa-{{ version|replace(".0", "") }}.jar + sha256: '{{ sha256_jar }}' + - folder: src + url: https://github.com/hartwigmedical/hmftools/archive/refs/tags/cuppa-v{{ version }}.tar.gz + sha256: '{{ sha256_src }}' + +build: + noarch: generic + number: 0 + run_exports: + - {{ pin_subpackage("hmftools-cuppa", max_pin="x.x") }} + +requirements: + host: + - python ==3.11 + - r-base >=4.2,<4.3.0a0 + run: + - openjdk >=8 + - python ==3.11 + - numpy >=1.24 + - pandas ==2.0.* + - scikit-learn ==1.3.0 + - r-base >=4.2,<4.3.0a0 + - r-ggh4x >=0.2 + - r-ggplot2 >=3.5 + - r-patchwork >=1.2 + - r-stringr >=1.5 + +test: + commands: + - 'cuppa com.hartwig.hmftools.cup.prep.CuppaDataPrep -version | grep "Cuppa version"' + - 'python -m cuppa.predict 2>&1 | grep "predict.py:"' + +about: + home: https://github.com/hartwigmedical/hmftools/blob/master/cuppa/README.md + license: GPL-3.0-only + license_family: GPL3 + summary: Predict tissue of origin for tumor samples from WGTS data. diff --git a/recipes/hmftools-esvee/build.sh b/recipes/hmftools-esvee/build.sh new file mode 100644 index 0000000000000..1491f63b30010 --- /dev/null +++ b/recipes/hmftools-esvee/build.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +TGT="$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM" +[ -d "$TGT" ] || mkdir -p "$TGT" +[ -d "${PREFIX}/bin" ] || mkdir -p "${PREFIX}/bin" + +cd "${SRC_DIR}" +mv esvee*.jar $TGT/esvee.jar + +cp $RECIPE_DIR/esvee.sh $TGT/esvee +ln -s $TGT/esvee $PREFIX/bin +chmod 0755 "${PREFIX}/bin/esvee" diff --git a/recipes/hmftools-esvee/esvee.sh b/recipes/hmftools-esvee/esvee.sh new file mode 100644 index 0000000000000..d4ff865b8322b --- /dev/null +++ b/recipes/hmftools-esvee/esvee.sh @@ -0,0 +1,69 @@ +#!/bin/bash +# hmftools Esvee executable shell script +# https://github.com/hartwigmedical/hmftools/tree/master/esvee +set -eu -o pipefail + +export LC_ALL=en_US.UTF-8 + +# Find original directory of bash script, resolving symlinks +# http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in/246128#246128 +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done +DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + +JAR_DIR=$DIR +ENV_PREFIX="$(dirname $(dirname $DIR))" +# Use Java installed with Anaconda to ensure correct version +java="$ENV_PREFIX/bin/java" + +# if JAVA_HOME is set (non-empty), use it. Otherwise keep "java" +if [ -n "${JAVA_HOME:=}" ]; then + if [ -e "$JAVA_HOME/bin/java" ]; then + java="$JAVA_HOME/bin/java" + fi +fi + +# extract memory and system property Java arguments from the list of provided arguments +# http://java.dzone.com/articles/better-java-shell-script +default_jvm_mem_opts="-Xms512m -Xmx1g" +jvm_mem_opts="" +jvm_prop_opts="" +pass_args="" +for arg in "$@"; do + case $arg in + '-D'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-XX'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-Xm'*) + jvm_mem_opts="$jvm_mem_opts $arg" + ;; + *) + if [[ ${pass_args} == '' ]] #needed to avoid preceeding space on first arg e.g. ' MarkDuplicates' + then + pass_args="$arg" + else + pass_args="$pass_args \"$arg\"" #quotes later arguments to avoid problem with ()s in MarkDuplicates regex arg + fi + ;; + esac +done + +if [ "$jvm_mem_opts" == "" ]; then + jvm_mem_opts="$default_jvm_mem_opts" +fi + +pass_arr=($pass_args) +if [[ ${pass_arr[0]:=} == com.hartwig.hmftools.* ]] +then + eval "$java" $jvm_mem_opts $jvm_prop_opts -cp "$JAR_DIR/esvee.jar" $pass_args +else + eval "$java" $jvm_mem_opts $jvm_prop_opts -jar "$JAR_DIR/esvee.jar" $pass_args +fi +exit diff --git a/recipes/hmftools-esvee/meta.yaml b/recipes/hmftools-esvee/meta.yaml new file mode 100644 index 0000000000000..96678744d953d --- /dev/null +++ b/recipes/hmftools-esvee/meta.yaml @@ -0,0 +1,31 @@ +{% set version = "1.0_beta" %} +{% set sha256 = "7ee885d48306e73c0cefacd7d59f2aabd213fc6d78d4ca8489a8d6c25e8ce333" %} + +package: + name: hmftools-esvee + version: '{{ version }}' + +source: + url: https://github.com/hartwigmedical/hmftools/releases/download/esvee-v{{ version }}/esvee_v{{ version }}.jar + sha256: '{{ sha256 }}' + +build: + noarch: generic + number: 0 + run_exports: + - {{ pin_subpackage("hmftools-esvee", max_pin="x.x") }} + +requirements: + run: + - openjdk >=8 + - sambamba ==0.6.8 + +test: + commands: + - 'esvee -version | grep Esvee' + +about: + home: https://github.com/hartwigmedical/hmftools/blob/master/esvee/README.md + license: GPL-3.0-only + license_family: GPL3 + summary: Structural variant caller specialised for breakend-breakpoint calling. diff --git a/recipes/hmftools-gripss/gripss.sh b/recipes/hmftools-gripss/gripss.sh index fe4779d219887..4798d83fbba05 100755 --- a/recipes/hmftools-gripss/gripss.sh +++ b/recipes/hmftools-gripss/gripss.sh @@ -1,5 +1,5 @@ #!/bin/bash -# hmftools gripss executable shell script +# hmftools GRIPSS executable shell script # https://github.com/hartwigmedical/hmftools/tree/master/gripss set -eu -o pipefail diff --git a/recipes/hmftools-gripss/meta.yaml b/recipes/hmftools-gripss/meta.yaml index 83ceab912c633..60be672c9e61f 100644 --- a/recipes/hmftools-gripss/meta.yaml +++ b/recipes/hmftools-gripss/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "2.3.2" %} -{% set sha256 = "8d5e17ebe9f065d59782b45e0b8f9da2847fe9ed624da79237318362ef651aa1" %} +{% set version = "2.4" %} +{% set sha256 = "7e8fb3631c8bb410650e9d84d43d40c85322e0f73e537feae4d186d54d412411" %} package: name: hmftools-gripss @@ -12,6 +12,8 @@ source: build: noarch: generic number: 0 + run_exports: + - {{ pin_subpackage('hmftools-gripss', max_pin='x') }} requirements: run: @@ -19,10 +21,10 @@ requirements: test: commands: - - 'gripss 2>&1 | grep -q "loading reference data"' + - 'gripss -version | grep Gripss' about: home: https://github.com/hartwigmedical/hmftools/tree/master/gripss license: GPL-3.0-only license_family: GPL - summary: 'GRIPSS applies a set of filtering and post processing steps on GRIDSS paired tumor-normal output to produce a high confidence set of somatic SV for a tumor sample.' + summary: GRIPSS applies a set of filtering and post processing steps on GRIDSS paired tumor-normal output to produce a high confidence set of somatic SV for a tumor sample. diff --git a/recipes/hmftools-isofox/isofox.sh b/recipes/hmftools-isofox/isofox.sh index 91bb67218a3dc..1c57bf313dfd7 100755 --- a/recipes/hmftools-isofox/isofox.sh +++ b/recipes/hmftools-isofox/isofox.sh @@ -1,5 +1,5 @@ #!/bin/bash -# hmftools isofox executable shell script +# hmftools Isofox executable shell script # https://github.com/hartwigmedical/hmftools/tree/master/isofox set -eu -o pipefail diff --git a/recipes/hmftools-isofox/meta.yaml b/recipes/hmftools-isofox/meta.yaml index 9cc47f9fe3d22..e3cd0ebf68cfd 100644 --- a/recipes/hmftools-isofox/meta.yaml +++ b/recipes/hmftools-isofox/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "1.6.2" %} -{% set sha256 = "b681b48f0a0fc31de30a0721c0094f294b1e8fe1fb567447b7bf153120981cd2" %} +{% set version = "1.7.1" %} +{% set sha256 = "978db2ea04f4b8ba07910ad01c145bb23f57c279608b9bd7f27447403a5e25ae" %} package: name: hmftools-isofox @@ -12,6 +12,8 @@ source: build: noarch: generic number: 0 + run_exports: + - {{ pin_subpackage('hmftools-isofox', max_pin="x.x") }} requirements: run: @@ -19,10 +21,10 @@ requirements: test: commands: - - 'isofox 2>&1 | grep -q "Isofox version"' + - 'isofox -version | grep Isofox' about: home: https://github.com/hartwigmedical/hmftools/tree/master/isofox license: GPL-3.0-only license_family: GPL - summary: 'Isofox is a tool for counting fragment support for identifying and counting gene and transcript features using genome aligned RNASeq data in tumor samples.' + summary: Isofox is a tool for counting fragment support for identifying and counting gene and transcript features using genome aligned RNASeq data in tumor samples. diff --git a/recipes/hmftools-lilac/build.sh b/recipes/hmftools-lilac/build.sh index a90fcee0b3303..a65c6f98505e2 100644 --- a/recipes/hmftools-lilac/build.sh +++ b/recipes/hmftools-lilac/build.sh @@ -7,6 +7,6 @@ TGT="$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM" cd "${SRC_DIR}" mv lilac*.jar $TGT/lilac.jar -cp $RECIPE_DIR/LILAC.sh $TGT/LILAC -ln -s $TGT/LILAC $PREFIX/bin -chmod 0755 "${PREFIX}/bin/LILAC" +cp $RECIPE_DIR/lilac.sh $TGT/lilac +ln -s $TGT/lilac $PREFIX/bin +chmod 0755 "${PREFIX}/bin/lilac" diff --git a/recipes/hmftools-lilac/LILAC.sh b/recipes/hmftools-lilac/lilac.sh similarity index 100% rename from recipes/hmftools-lilac/LILAC.sh rename to recipes/hmftools-lilac/lilac.sh diff --git a/recipes/hmftools-lilac/meta.yaml b/recipes/hmftools-lilac/meta.yaml index 0ca7fb2315494..c444f5345d0a3 100644 --- a/recipes/hmftools-lilac/meta.yaml +++ b/recipes/hmftools-lilac/meta.yaml @@ -1,17 +1,19 @@ -{% set version = "1.4.2" %} -{% set sha256 = "1df4a34f3ea777db8da21cd9eaeca19a30795e5eb0bb44c5b38cd705df5c82fe" %} +{% set version = "1.6" %} +{% set sha256 = "d5f5fc5c2fb047fdbc6292a36dc3a164f5bbf820f87ceebafecf1412c41632f6" %} package: name: hmftools-lilac version: '{{ version }}' source: - url: 'https://github.com/hartwigmedical/hmftools/releases/download/lilac-v{{ version }}/lilac_v{{ version }}.jar' + url: https://github.com/hartwigmedical/hmftools/releases/download/lilac-v{{ version }}/lilac_v{{ version }}.jar sha256: '{{ sha256 }}' build: noarch: generic number: 0 + run_exports: + - {{ pin_subpackage('hmftools-lilac', max_pin="x") }} requirements: run: @@ -20,10 +22,10 @@ requirements: test: commands: - - 'LILAC 2>&1 | grep -q "LilacApplication"' + - 'lilac -version | grep Lilac' about: home: https://github.com/hartwigmedical/hmftools/blob/master/lilac/README.md - license: "GNU General Public v3 (GPLv3)" + license: GPL-3.0-only license_family: GPL3 summary: LILAC is a WGS tool to determine HLA Class I types. diff --git a/recipes/hmftools-linx/linx.sh b/recipes/hmftools-linx/linx.sh index 7fe7ef75a7882..7bc92d4b403cb 100755 --- a/recipes/hmftools-linx/linx.sh +++ b/recipes/hmftools-linx/linx.sh @@ -1,5 +1,5 @@ #!/bin/bash -# hmftools linx executable shell script +# hmftools LINX executable shell script # https://github.com/hartwigmedical/hmftools/tree/master/linx set -eu -o pipefail diff --git a/recipes/hmftools-linx/meta.yaml b/recipes/hmftools-linx/meta.yaml index bf53e28de0d52..b7d512fde85ad 100644 --- a/recipes/hmftools-linx/meta.yaml +++ b/recipes/hmftools-linx/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "1.23.6" %} -{% set sha256 = "6dfeb9c15369d33953193e65db8454e678772c79218643bd122293e59288d297" %} +{% set version = "1.25" %} +{% set sha256 = "2fa9a91801239ded3e82fcd0ee9987e6181d0e400855420ef7f5000f3b4a96da" %} package: name: hmftools-linx @@ -12,6 +12,8 @@ source: build: noarch: generic number: 0 + run_exports: + - {{ pin_subpackage('hmftools-linx', max_pin="x") }} requirements: run: @@ -27,10 +29,10 @@ requirements: test: commands: - - 'linx 2>&1 | grep -q "LINX version"' + - 'linx -version | grep Linx' about: home: https://github.com/hartwigmedical/hmftools/tree/master/linx license: GPL-3.0-only license_family: GPL - summary: Linx is an annotation, interpretation and visualisation tool for structural variants + summary: LINX is an annotation, interpretation and visualisation tool for structural variants. diff --git a/recipes/hmftools-mark-dups/build.sh b/recipes/hmftools-mark-dups/build.sh new file mode 100644 index 0000000000000..55784e8b35b79 --- /dev/null +++ b/recipes/hmftools-mark-dups/build.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +TGT="$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM" +[ -d "$TGT" ] || mkdir -p "$TGT" +[ -d "${PREFIX}/bin" ] || mkdir -p "${PREFIX}/bin" + +cd "${SRC_DIR}" +mv mark-dups*.jar $TGT/markdups.jar + +cp $RECIPE_DIR/markdups.sh $TGT/markdups +ln -s $TGT/markdups $PREFIX/bin +chmod 0755 "${PREFIX}/bin/markdups" diff --git a/recipes/hmftools-mark-dups/markdups.sh b/recipes/hmftools-mark-dups/markdups.sh new file mode 100755 index 0000000000000..c69115b6bee1d --- /dev/null +++ b/recipes/hmftools-mark-dups/markdups.sh @@ -0,0 +1,69 @@ +#!/bin/bash +# hmftools MarkDups executable shell script +# https://github.com/hartwigmedical/hmftools/tree/master/mark-dups +set -eu -o pipefail + +export LC_ALL=en_US.UTF-8 + +# Find original directory of bash script, resolving symlinks +# http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in/246128#246128 +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done +DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + +JAR_DIR=$DIR +ENV_PREFIX="$(dirname $(dirname $DIR))" +# Use Java installed with Anaconda to ensure correct version +java="$ENV_PREFIX/bin/java" + +# if JAVA_HOME is set (non-empty), use it. Otherwise keep "java" +if [ -n "${JAVA_HOME:=}" ]; then + if [ -e "$JAVA_HOME/bin/java" ]; then + java="$JAVA_HOME/bin/java" + fi +fi + +# extract memory and system property Java arguments from the list of provided arguments +# http://java.dzone.com/articles/better-java-shell-script +default_jvm_mem_opts="-Xms512m -Xmx1g" +jvm_mem_opts="" +jvm_prop_opts="" +pass_args="" +for arg in "$@"; do + case $arg in + '-D'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-XX'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-Xm'*) + jvm_mem_opts="$jvm_mem_opts $arg" + ;; + *) + if [[ ${pass_args} == '' ]] #needed to avoid preceeding space on first arg e.g. ' MarkDuplicates' + then + pass_args="$arg" + else + pass_args="$pass_args \"$arg\"" #quotes later arguments to avoid problem with ()s in MarkDuplicates regex arg + fi + ;; + esac +done + +if [ "$jvm_mem_opts" == "" ]; then + jvm_mem_opts="$default_jvm_mem_opts" +fi + +pass_arr=($pass_args) +if [[ ${pass_arr[0]:=} == com.hartwig.* ]] +then + eval "$java" $jvm_mem_opts $jvm_prop_opts -cp "$JAR_DIR/markdups.jar" $pass_args +else + eval "$java" $jvm_mem_opts $jvm_prop_opts -jar "$JAR_DIR/markdups.jar" $pass_args +fi +exit diff --git a/recipes/hmftools-mark-dups/meta.yaml b/recipes/hmftools-mark-dups/meta.yaml new file mode 100644 index 0000000000000..c0cf48a4945db --- /dev/null +++ b/recipes/hmftools-mark-dups/meta.yaml @@ -0,0 +1,32 @@ +{% set version = "1.1.7" %} +{% set sha256 = "382fc3cb533d4887bf1cf53507b77f288fb8021a60aa965c9f1ddef45ae9c4ec" %} + +package: + name: hmftools-mark-dups + version: '{{ version }}' + +source: + url: https://github.com/hartwigmedical/hmftools/releases/download/mark-dups-v{{ version }}/mark-dups_v{{ version }}.jar + sha256: '{{ sha256 }}' + +build: + noarch: generic + number: 0 + run_exports: + - {{ pin_subpackage('hmftools-mark-dups', max_pin="x.x") }} + +requirements: + run: + - openjdk >=8 + - sambamba >=1.0.1 + - samtools >=1.17 + +test: + commands: + - 'markdups -version | grep MarkDups' + +about: + home: https://github.com/hartwigmedical/hmftools/tree/master/mark-dups + license: GPL-3.0-only + license_family: GPL + summary: Mark read duplicates and form consenus sequences diff --git a/recipes/hmftools-neo/meta.yaml b/recipes/hmftools-neo/meta.yaml index 496ee3a1d5a97..c741d52e75d8b 100644 --- a/recipes/hmftools-neo/meta.yaml +++ b/recipes/hmftools-neo/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "1.0.1" %} -{% set sha256 = "292e322050965612c959296d11b45dcf9dba371d3c89d64bc10691116d867d90" %} +{% set version = "1.2_beta" %} +{% set sha256 = "66ebf626f8b937f32e326205c56426b996dfea1e7ac0b52526a25101b3b52d75" %} package: name: hmftools-neo @@ -12,6 +12,8 @@ source: build: noarch: generic number: 0 + run_exports: + - {{ pin_subpackage("hmftools-neo", max_pin="x.x") }} requirements: run: @@ -19,7 +21,7 @@ requirements: test: commands: - - 'neo 2>&1 | grep -q "Neo version"' + - 'neo -version | grep "Neo version"' about: home: https://github.com/hartwigmedical/hmftools/tree/master/neo diff --git a/recipes/hmftools-neo/neo.sh b/recipes/hmftools-neo/neo.sh index 786a7a04f1dc5..1183250e0e8d0 100755 --- a/recipes/hmftools-neo/neo.sh +++ b/recipes/hmftools-neo/neo.sh @@ -1,5 +1,5 @@ #!/bin/bash -# hmftools neo executable shell script +# hmftools Neo executable shell script # https://github.com/hartwigmedical/hmftools/tree/master/neo set -eu -o pipefail @@ -60,7 +60,7 @@ if [ "$jvm_mem_opts" == "" ]; then fi pass_arr=($pass_args) -if [[ ${pass_arr[0]:=} == org\.* ]] || [[ ${pass_arr[0]:=} == com\.* ]] +if [[ ${pass_arr[0]:=} == com.hartwig.hmftools.* ]] then eval "$java" $jvm_mem_opts $jvm_prop_opts -cp "$JAR_DIR/neo.jar" $pass_args else diff --git a/recipes/hmftools-orange/meta.yaml b/recipes/hmftools-orange/meta.yaml index afd2ba038d8f9..6db3361d5da0b 100644 --- a/recipes/hmftools-orange/meta.yaml +++ b/recipes/hmftools-orange/meta.yaml @@ -1,12 +1,12 @@ -{% set version = "3.0.0" %} -{% set sha256 = "ba3887c741501bd0d0815e701b68fe7a51dace01560ebd6e0f0647ff8c385e98" %} +{% set version = "3.7.1_beta" %} +{% set sha256 = "1592dacf6a75c7d82fbb865b85e17cbb5b04d1acda8cdf5fb61c4a5cf9868929" %} package: name: hmftools-orange version: '{{ version }}' source: - url: 'https://github.com/hartwigmedical/hmftools/releases/download/orange-v{{ version }}/orange_v{{ version }}.jar' + url: https://github.com/hartwigmedical/hmftools/releases/download/orange-v{{ version }}/orange_v{{ version }}.jar sha256: '{{ sha256 }}' build: @@ -22,7 +22,7 @@ requirements: test: commands: - - 'orange 2>&1 | grep -q "ORANGE"' + - 'orange -version | grep Orange' about: home: https://github.com/hartwigmedical/hmftools/blob/master/orange/README.md diff --git a/recipes/hmftools-pave/meta.yaml b/recipes/hmftools-pave/meta.yaml index 8bb0808513d02..8d3d58bc78dd7 100644 --- a/recipes/hmftools-pave/meta.yaml +++ b/recipes/hmftools-pave/meta.yaml @@ -1,17 +1,19 @@ -{% set version = "1.4.1" %} -{% set sha256 = "eb6dbf7ff5d2729807e5a33709b256fa1537235eb263c1f0b34fba45e60fc4b3" %} +{% set version = "1.7_beta" %} +{% set sha256 = "b6e67aa0bb96db3b50429afe4a6c6fad168660bf220f61b638e06b0c643969ab" %} package: name: hmftools-pave version: '{{ version }}' source: - url: 'https://github.com/hartwigmedical/hmftools/releases/download/pave-v{{ version }}/pave_v{{ version }}.jar' + url: https://github.com/hartwigmedical/hmftools/releases/download/pave-v{{ version }}/pave_v{{ version }}.jar sha256: '{{ sha256 }}' build: noarch: generic number: 0 + run_exports: + - {{ pin_subpackage('hmftools-pave', max_pin="x.x") }} requirements: run: @@ -20,10 +22,10 @@ requirements: test: commands: - - 'pave 2>&1 | grep -q "Pave version"' + - 'pave -version | grep Pave' about: home: https://github.com/hartwigmedical/hmftools/tree/master/pave license: GPL-3.0-only license_family: GPL - summary: Pave annotates a somatic variant VCF with gene and transcript coding and protein effects. + summary: PAVE annotates SNV/MNV/INDEL calls with consequence on corresponding genes, transcripts, and proteins. diff --git a/recipes/hmftools-pave/pave.sh b/recipes/hmftools-pave/pave.sh index 73ae4b947b422..d3108a6244903 100755 --- a/recipes/hmftools-pave/pave.sh +++ b/recipes/hmftools-pave/pave.sh @@ -1,5 +1,5 @@ #!/bin/bash -# hmftools pave executable shell script +# hmftools PAVE executable shell script # https://github.com/hartwigmedical/hmftools/tree/master/pave set -eu -o pipefail diff --git a/recipes/hmftools-peach/build.sh b/recipes/hmftools-peach/build.sh new file mode 100644 index 0000000000000..1d520e988c639 --- /dev/null +++ b/recipes/hmftools-peach/build.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +TGT="$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM" +[ -d "$TGT" ] || mkdir -p "$TGT" +[ -d "${PREFIX}/bin" ] || mkdir -p "${PREFIX}/bin" + +cd "${SRC_DIR}" +mv peach*.jar $TGT/peach.jar + +cp $RECIPE_DIR/peach.sh $TGT/peach +ln -s $TGT/peach $PREFIX/bin +chmod 0755 "${PREFIX}/bin/peach" diff --git a/recipes/hmftools-peach/meta.yaml b/recipes/hmftools-peach/meta.yaml new file mode 100644 index 0000000000000..63ad9b011a668 --- /dev/null +++ b/recipes/hmftools-peach/meta.yaml @@ -0,0 +1,30 @@ +{% set version = "2.0.0" %} +{% set sha256 = "52ffd5dc9bd6018adc5854cbe10cdb2cc364e99099af2f9c8dbc7fdd80fab83e" %} + +package: + name: hmftools-peach + version: '{{ version }}' + +source: + url: https://github.com/hartwigmedical/hmftools/releases/download/peach-v{{ version }}/peach_v{{ version }}.jar + sha256: '{{ sha256 }}' + +build: + noarch: generic + number: 0 + run_exports: + - {{ pin_subpackage("hmftools-peach", max_pin="x.x") }} + +requirements: + run: + - openjdk >=8 + +test: + commands: + - 'peach -version | grep Peach' + +about: + home: https://github.com/hartwigmedical/hmftools/blob/master/peach/README.md + license: GPL-3.0-only + license_family: GPL3 + summary: Infer haplotypes for interpretation in a pharmacogenomic context diff --git a/recipes/hmftools-peach/peach.sh b/recipes/hmftools-peach/peach.sh new file mode 100755 index 0000000000000..4173740827fef --- /dev/null +++ b/recipes/hmftools-peach/peach.sh @@ -0,0 +1,69 @@ +#!/bin/bash +# hmftools PEACH executable shell script +# https://github.com/hartwigmedical/hmftools/tree/master/peach +set -eu -o pipefail + +export LC_ALL=en_US.UTF-8 + +# Find original directory of bash script, resolving symlinks +# http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in/246128#246128 +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done +DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + +JAR_DIR=$DIR +ENV_PREFIX="$(dirname $(dirname $DIR))" +# Use Java installed with Anaconda to ensure correct version +java="$ENV_PREFIX/bin/java" + +# if JAVA_HOME is set (non-empty), use it. Otherwise keep "java" +if [ -n "${JAVA_HOME:=}" ]; then + if [ -e "$JAVA_HOME/bin/java" ]; then + java="$JAVA_HOME/bin/java" + fi +fi + +# extract memory and system property Java arguments from the list of provided arguments +# http://java.dzone.com/articles/better-java-shell-script +default_jvm_mem_opts="-Xms512m -Xmx1g" +jvm_mem_opts="" +jvm_prop_opts="" +pass_args="" +for arg in "$@"; do + case $arg in + '-D'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-XX'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-Xm'*) + jvm_mem_opts="$jvm_mem_opts $arg" + ;; + *) + if [[ ${pass_args} == '' ]] #needed to avoid preceeding space on first arg e.g. ' MarkDuplicates' + then + pass_args="$arg" + else + pass_args="$pass_args \"$arg\"" #quotes later arguments to avoid problem with ()s in MarkDuplicates regex arg + fi + ;; + esac +done + +if [ "$jvm_mem_opts" == "" ]; then + jvm_mem_opts="$default_jvm_mem_opts" +fi + +pass_arr=($pass_args) +if [[ ${pass_arr[0]:=} == org* ]] +then + eval "$java" $jvm_mem_opts $jvm_prop_opts -cp "$JAR_DIR/peach.jar" $pass_args +else + eval "$java" $jvm_mem_opts $jvm_prop_opts -jar "$JAR_DIR/peach.jar" $pass_args +fi +exit diff --git a/recipes/hmftools-purple/PURPLE.sh b/recipes/hmftools-purple/PURPLE.sh deleted file mode 100755 index 72618b94ab858..0000000000000 --- a/recipes/hmftools-purple/PURPLE.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/bash -# hmftools PURPLE executable shell script -# https://github.com/hartwigmedical/hmftools/tree/master/purity-ploidy-estimator -set -eu -o pipefail - -export LC_ALL=en_US.UTF-8 - -# Find original directory of bash script, resolving symlinks -# http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in/246128#246128 -SOURCE="${BASH_SOURCE[0]}" -while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink - DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" - SOURCE="$(readlink "$SOURCE")" - [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located -done -DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" - -JAR_DIR=$DIR -ENV_PREFIX="$(dirname $(dirname $DIR))" -# Use Java installed with Anaconda to ensure correct version -java="$ENV_PREFIX/bin/java" - -# if JAVA_HOME is set (non-empty), use it. Otherwise keep "java" -if [ -n "${JAVA_HOME:=}" ]; then - if [ -e "$JAVA_HOME/bin/java" ]; then - java="$JAVA_HOME/bin/java" - fi -fi - -# extract memory and system property Java arguments from the list of provided arguments -# http://java.dzone.com/articles/better-java-shell-script -default_jvm_mem_opts="-Xms512m -Xmx1g" -jvm_mem_opts="" -jvm_prop_opts="" -pass_args="" -for arg in "$@"; do - case $arg in - '-D'*) - jvm_prop_opts="$jvm_prop_opts $arg" - ;; - '-XX'*) - jvm_prop_opts="$jvm_prop_opts $arg" - ;; - '-Xm'*) - jvm_mem_opts="$jvm_mem_opts $arg" - ;; - *) - if [[ ${pass_args} == '' ]] #needed to avoid preceeding space on first arg e.g. ' MarkDuplicates' - then - pass_args="$arg" - else - pass_args="$pass_args \"$arg\"" #quotes later arguments to avoid problem with ()s in MarkDuplicates regex arg - fi - ;; - esac -done - -if [ "$jvm_mem_opts" == "" ]; then - jvm_mem_opts="$default_jvm_mem_opts" -fi - -pass_arr=($pass_args) -if [[ ${pass_arr[0]:=} == org\.* ]] || [[ ${pass_arr[0]:=} == com\.* ]] -then - eval "$java" $jvm_mem_opts $jvm_prop_opts -cp "$JAR_DIR/purple.jar" $pass_args -else - eval "$java" $jvm_mem_opts $jvm_prop_opts -jar "$JAR_DIR/purple.jar" $pass_args -fi -exit diff --git a/recipes/hmftools-purple/build.sh b/recipes/hmftools-purple/build.sh index 963fc41560196..05ac0857d05be 100644 --- a/recipes/hmftools-purple/build.sh +++ b/recipes/hmftools-purple/build.sh @@ -7,6 +7,6 @@ TGT="$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM" cd "${SRC_DIR}" mv purple*.jar $TGT/purple.jar -cp $RECIPE_DIR/PURPLE.sh $TGT/PURPLE -ln -s $TGT/PURPLE $PREFIX/bin -chmod 0755 "${PREFIX}/bin/PURPLE" +cp $RECIPE_DIR/purple.sh $TGT/purple +ln -s $TGT/purple $PREFIX/bin +chmod 0755 "${PREFIX}/bin/purple" diff --git a/recipes/hmftools-purple/meta.yaml b/recipes/hmftools-purple/meta.yaml index 929b228c38a8b..ae81543b0e19c 100644 --- a/recipes/hmftools-purple/meta.yaml +++ b/recipes/hmftools-purple/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "3.7.1" %} -{% set sha256 = "23c5fc9832bfd5e3686c8d2ae2285aff4d6c2ac4683021ff17ec59c48d75694c" %} +{% set version = "4.0.2" %} +{% set sha256 = "fb534734b4a0833c8d68591e009caea5b654714211a95f23570c1fca9bfa57a9" %} package: name: hmftools-purple @@ -12,6 +12,8 @@ source: build: noarch: generic number: 0 + run_exports: + - {{ pin_subpackage('hmftools-purple', max_pin="x") }} requirements: run: @@ -28,10 +30,10 @@ requirements: test: commands: - - 'PURPLE -version' + - 'purple -version | grep Purple' about: - home: https://github.com/hartwigmedical/hmftools/tree/master/purity-ploidy-estimator - license: MIT - license_family: MIT - summary: Purity/ploidy estimator. Leverages the read depth and tumor BAF to estimate the purity of a sample and generate a copy number profile + home: https://github.com/hartwigmedical/hmftools/tree/master/purple + license: GPL-3.0-only + license_family: GPL3 + summary: PURPLE is a purity ploidy estimator for tumor samples. diff --git a/recipes/hmftools-purple/purple.sh b/recipes/hmftools-purple/purple.sh new file mode 100755 index 0000000000000..68dfb735ed9b0 --- /dev/null +++ b/recipes/hmftools-purple/purple.sh @@ -0,0 +1,69 @@ +#!/bin/bash +# hmftools PURPLE executable shell script +# https://github.com/hartwigmedical/hmftools/tree/master/purple +set -eu -o pipefail + +export LC_ALL=en_US.UTF-8 + +# Find original directory of bash script, resolving symlinks +# http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in/246128#246128 +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done +DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + +JAR_DIR=$DIR +ENV_PREFIX="$(dirname $(dirname $DIR))" +# Use Java installed with Anaconda to ensure correct version +java="$ENV_PREFIX/bin/java" + +# if JAVA_HOME is set (non-empty), use it. Otherwise keep "java" +if [ -n "${JAVA_HOME:=}" ]; then + if [ -e "$JAVA_HOME/bin/java" ]; then + java="$JAVA_HOME/bin/java" + fi +fi + +# extract memory and system property Java arguments from the list of provided arguments +# http://java.dzone.com/articles/better-java-shell-script +default_jvm_mem_opts="-Xms512m -Xmx1g" +jvm_mem_opts="" +jvm_prop_opts="" +pass_args="" +for arg in "$@"; do + case $arg in + '-D'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-XX'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-Xm'*) + jvm_mem_opts="$jvm_mem_opts $arg" + ;; + *) + if [[ ${pass_args} == '' ]] #needed to avoid preceeding space on first arg e.g. ' MarkDuplicates' + then + pass_args="$arg" + else + pass_args="$pass_args \"$arg\"" #quotes later arguments to avoid problem with ()s in MarkDuplicates regex arg + fi + ;; + esac +done + +if [ "$jvm_mem_opts" == "" ]; then + jvm_mem_opts="$default_jvm_mem_opts" +fi + +pass_arr=($pass_args) +if [[ ${pass_arr[0]:=} == org\.* ]] || [[ ${pass_arr[0]:=} == com\.* ]] +then + eval "$java" $jvm_mem_opts $jvm_prop_opts -cp "$JAR_DIR/purple.jar" $pass_args +else + eval "$java" $jvm_mem_opts $jvm_prop_opts -jar "$JAR_DIR/purple.jar" $pass_args +fi +exit diff --git a/recipes/hmftools-redux/build.sh b/recipes/hmftools-redux/build.sh new file mode 100644 index 0000000000000..f60a91ef79fbf --- /dev/null +++ b/recipes/hmftools-redux/build.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +TGT="$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM" +[ -d "$TGT" ] || mkdir -p "$TGT" +[ -d "${PREFIX}/bin" ] || mkdir -p "${PREFIX}/bin" + +cd "${SRC_DIR}" +mv redux*.jar $TGT/redux.jar + +cp $RECIPE_DIR/redux.sh $TGT/redux +ln -s $TGT/redux $PREFIX/bin +chmod 0755 "${PREFIX}/bin/redux" diff --git a/recipes/hmftools-redux/meta.yaml b/recipes/hmftools-redux/meta.yaml new file mode 100644 index 0000000000000..4cb7214af925a --- /dev/null +++ b/recipes/hmftools-redux/meta.yaml @@ -0,0 +1,31 @@ +{% set version = "1.0_beta" %} +{% set sha256 = "40caa3f1f493a1eb3c0e029f084f3c7d52456dbd9bbc72f118015b525ea9d467" %} + +package: + name: hmftools-redux + version: '{{ version }}' + +source: + url: https://github.com/hartwigmedical/hmftools/releases/download/redux-v{{ version }}/redux_v{{ version }}.jar + sha256: '{{ sha256 }}' + +build: + noarch: generic + number: 0 + run_exports: + - {{ pin_subpackage('hmftools-redux', max_pin="x.x") }} + +requirements: + run: + - openjdk >=8 + - sambamba >=1.0.1 + +test: + commands: + - 'redux -version | grep Redux' + +about: + home: https://github.com/hartwigmedical/hmftools/tree/master/redux + license: GPL-3.0-only + license_family: GPL + summary: Post-processing read alignments to control sequencing errors and biases diff --git a/recipes/hmftools-redux/redux.sh b/recipes/hmftools-redux/redux.sh new file mode 100755 index 0000000000000..14035447632af --- /dev/null +++ b/recipes/hmftools-redux/redux.sh @@ -0,0 +1,69 @@ +#!/bin/bash +# hmftools REDUX executable shell script +# https://github.com/hartwigmedical/hmftools/tree/master/redux +set -eu -o pipefail + +export LC_ALL=en_US.UTF-8 + +# Find original directory of bash script, resolving symlinks +# http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in/246128#246128 +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done +DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + +JAR_DIR=$DIR +ENV_PREFIX="$(dirname $(dirname $DIR))" +# Use Java installed with Anaconda to ensure correct version +java="$ENV_PREFIX/bin/java" + +# if JAVA_HOME is set (non-empty), use it. Otherwise keep "java" +if [ -n "${JAVA_HOME:=}" ]; then + if [ -e "$JAVA_HOME/bin/java" ]; then + java="$JAVA_HOME/bin/java" + fi +fi + +# extract memory and system property Java arguments from the list of provided arguments +# http://java.dzone.com/articles/better-java-shell-script +default_jvm_mem_opts="-Xms512m -Xmx1g" +jvm_mem_opts="" +jvm_prop_opts="" +pass_args="" +for arg in "$@"; do + case $arg in + '-D'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-XX'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-Xm'*) + jvm_mem_opts="$jvm_mem_opts $arg" + ;; + *) + if [[ ${pass_args} == '' ]] #needed to avoid preceeding space on first arg e.g. ' MarkDuplicates' + then + pass_args="$arg" + else + pass_args="$pass_args \"$arg\"" #quotes later arguments to avoid problem with ()s in MarkDuplicates regex arg + fi + ;; + esac +done + +if [ "$jvm_mem_opts" == "" ]; then + jvm_mem_opts="$default_jvm_mem_opts" +fi + +pass_arr=($pass_args) +if [[ ${pass_arr[0]:=} == com.hartwig.* ]] +then + eval "$java" $jvm_mem_opts $jvm_prop_opts -cp "$JAR_DIR/redux.jar" $pass_args +else + eval "$java" $jvm_mem_opts $jvm_prop_opts -jar "$JAR_DIR/redux.jar" $pass_args +fi +exit diff --git a/recipes/hmftools-sage/SAGE.sh b/recipes/hmftools-sage/SAGE.sh deleted file mode 100755 index 5e9159203c37f..0000000000000 --- a/recipes/hmftools-sage/SAGE.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/bash -# hmftools SAGE executable shell script -# https://github.com/hartwigmedical/hmftools/tree/master/SAGE -set -eu -o pipefail - -export LC_ALL=en_US.UTF-8 - -# Find original directory of bash script, resolving symlinks -# http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in/246128#246128 -SOURCE="${BASH_SOURCE[0]}" -while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink - DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" - SOURCE="$(readlink "$SOURCE")" - [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located -done -DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" - -JAR_DIR=$DIR -ENV_PREFIX="$(dirname $(dirname $DIR))" -# Use Java installed with Anaconda to ensure correct version -java="$ENV_PREFIX/bin/java" - -# if JAVA_HOME is set (non-empty), use it. Otherwise keep "java" -if [ -n "${JAVA_HOME:=}" ]; then - if [ -e "$JAVA_HOME/bin/java" ]; then - java="$JAVA_HOME/bin/java" - fi -fi - -# extract memory and system property Java arguments from the list of provided arguments -# http://java.dzone.com/articles/better-java-shell-script -default_jvm_mem_opts="-Xms512m -Xmx1g" -jvm_mem_opts="" -jvm_prop_opts="" -pass_args="" -for arg in "$@"; do - case $arg in - '-D'*) - jvm_prop_opts="$jvm_prop_opts $arg" - ;; - '-XX'*) - jvm_prop_opts="$jvm_prop_opts $arg" - ;; - '-Xm'*) - jvm_mem_opts="$jvm_mem_opts $arg" - ;; - *) - if [[ ${pass_args} == '' ]] #needed to avoid preceeding space on first arg e.g. ' MarkDuplicates' - then - pass_args="$arg" - else - pass_args="$pass_args \"$arg\"" #quotes later arguments to avoid problem with ()s in MarkDuplicates regex arg - fi - ;; - esac -done - -if [ "$jvm_mem_opts" == "" ]; then - jvm_mem_opts="$default_jvm_mem_opts" -fi - -pass_arr=($pass_args) -if [[ ${pass_arr[0]:=} == org* ]] -then - eval "$java" $jvm_mem_opts $jvm_prop_opts -cp "$JAR_DIR/sage.jar" $pass_args -else - eval "$java" $jvm_mem_opts $jvm_prop_opts -jar "$JAR_DIR/sage.jar" $pass_args -fi -exit diff --git a/recipes/hmftools-sage/build.sh b/recipes/hmftools-sage/build.sh index 2763b3328ad10..d7f5400c6ef21 100644 --- a/recipes/hmftools-sage/build.sh +++ b/recipes/hmftools-sage/build.sh @@ -7,6 +7,6 @@ TGT="$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM" cd "${SRC_DIR}" mv sage*.jar $TGT/sage.jar -cp $RECIPE_DIR/SAGE.sh $TGT/SAGE -ln -s $TGT/SAGE $PREFIX/bin -chmod 0755 "${PREFIX}/bin/SAGE" +cp $RECIPE_DIR/sage.sh $TGT/sage +ln -s $TGT/sage $PREFIX/bin +chmod 0755 "${PREFIX}/bin/sage" diff --git a/recipes/hmftools-sage/meta.yaml b/recipes/hmftools-sage/meta.yaml index 04abf8dab70df..14d85d65a3c30 100644 --- a/recipes/hmftools-sage/meta.yaml +++ b/recipes/hmftools-sage/meta.yaml @@ -1,17 +1,20 @@ -{% set version = "3.2.3" %} -{% set sha256 = "a49438afee0f7595ff13f7d44e5ae08edc785dc8f04ef605482d9af59ae940f9" %} +{% set version = "4.0_beta" %} +{% set beta_suffix = ".1" %} +{% set sha256 = "22a3495f4ebe425114af4b9ba472860b3e2fe16395e3223827d0b6eccba27eb3" %} package: name: hmftools-sage version: '{{ version }}' source: - url: 'https://github.com/hartwigmedical/hmftools/releases/download/sage-v{{ version }}/sage_v{{ version }}.jar' + url: https://github.com/hartwigmedical/hmftools/releases/download/sage-v{{ version }}/sage_v{{ version }}{{ beta_suffix }}.jar sha256: '{{ sha256 }}' build: noarch: generic - number: 0 + number: 1 + run_exports: + - {{ pin_subpackage('hmftools-sage', max_pin="x") }} requirements: run: @@ -22,15 +25,16 @@ requirements: - r-dplyr - r-tidyr - r-ggplot2 + - r-patchwork - xorg-libxt - font-ttf-dejavu test: commands: - - 'SAGE 2>&1 | grep -q "Sage version"' + - 'sage -version | grep Sage' about: home: https://github.com/hartwigmedical/hmftools/tree/master/sage license: GPL-3.0-only license_family: GPL - summary: SAGE is a somatic SNV, MNV and small INDEL caller optimised to call narrow regions of the genome with high prior chance of a variant with very high sensitivity. + summary: SAGE is a somatic SNV, MNV and small INDEL caller optimised 100x tumor / 40x normal coverage, but has a flexible set of filters that can be adapted to lower or higher depth coverage. diff --git a/recipes/hmftools-sage/sage.sh b/recipes/hmftools-sage/sage.sh new file mode 100755 index 0000000000000..0164c0f1b3c2c --- /dev/null +++ b/recipes/hmftools-sage/sage.sh @@ -0,0 +1,69 @@ +#!/bin/bash +# hmftools SAGE executable shell script +# https://github.com/hartwigmedical/hmftools/tree/master/sage +set -eu -o pipefail + +export LC_ALL=en_US.UTF-8 + +# Find original directory of bash script, resolving symlinks +# http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in/246128#246128 +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done +DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + +JAR_DIR=$DIR +ENV_PREFIX="$(dirname $(dirname $DIR))" +# Use Java installed with Anaconda to ensure correct version +java="$ENV_PREFIX/bin/java" + +# if JAVA_HOME is set (non-empty), use it. Otherwise keep "java" +if [ -n "${JAVA_HOME:=}" ]; then + if [ -e "$JAVA_HOME/bin/java" ]; then + java="$JAVA_HOME/bin/java" + fi +fi + +# extract memory and system property Java arguments from the list of provided arguments +# http://java.dzone.com/articles/better-java-shell-script +default_jvm_mem_opts="-Xms512m -Xmx1g" +jvm_mem_opts="" +jvm_prop_opts="" +pass_args="" +for arg in "$@"; do + case $arg in + '-D'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-XX'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-Xm'*) + jvm_mem_opts="$jvm_mem_opts $arg" + ;; + *) + if [[ ${pass_args} == '' ]] #needed to avoid preceeding space on first arg e.g. ' MarkDuplicates' + then + pass_args="$arg" + else + pass_args="$pass_args \"$arg\"" #quotes later arguments to avoid problem with ()s in MarkDuplicates regex arg + fi + ;; + esac +done + +if [ "$jvm_mem_opts" == "" ]; then + jvm_mem_opts="$default_jvm_mem_opts" +fi + +pass_arr=($pass_args) +if [[ ${pass_arr[0]:=} == com.hartwig.* ]] +then + eval "$java" $jvm_mem_opts $jvm_prop_opts -cp "$JAR_DIR/sage.jar" $pass_args +else + eval "$java" $jvm_mem_opts $jvm_prop_opts -jar "$JAR_DIR/sage.jar" $pass_args +fi +exit diff --git a/recipes/hmftools-sigs/meta.yaml b/recipes/hmftools-sigs/meta.yaml index 2a510330aeb72..386cadd737c51 100644 --- a/recipes/hmftools-sigs/meta.yaml +++ b/recipes/hmftools-sigs/meta.yaml @@ -1,17 +1,19 @@ -{% set version = "1.1" %} -{% set sha256 = "ef38b1d36e6c326ff06e71f0d690b7503fe38efc91b1e4c4b170277f83093276" %} +{% set version = "1.2.1" %} +{% set sha256 = "b2af1ce3ac401adb145d77b031deb0edcc1d1a5257686cb67a1fc3355a7820e5" %} package: name: hmftools-sigs version: '{{ version }}' source: - url: 'https://github.com/hartwigmedical/hmftools/releases/download/sigs-v{{ version }}/sigs_v{{ version }}.jar' + url: https://github.com/hartwigmedical/hmftools/releases/download/sigs-v{{ version }}/sigs_v{{ version }}.jar sha256: '{{ sha256 }}' build: noarch: generic number: 0 + run_exports: + - {{ pin_subpackage('hmftools-sigs', max_pin='x') }} requirements: run: @@ -20,10 +22,10 @@ requirements: test: commands: - - 'sigs 2>&1 | grep -q "running sample signature fit"' + - 'sigs -version | grep -o Sigs' about: home: https://github.com/hartwigmedical/hmftools/blob/master/sigs/README.md - license: "GNU General Public v3 (GPLv3)" + license: GPL-3.0-only license_family: GPL3 summary: Fits sample SNV counts to trinucleotide signature definitions. diff --git a/recipes/hmftools-sigs/sigs.sh b/recipes/hmftools-sigs/sigs.sh index 85cccef267a09..14bd78f53b009 100755 --- a/recipes/hmftools-sigs/sigs.sh +++ b/recipes/hmftools-sigs/sigs.sh @@ -1,5 +1,5 @@ #!/bin/bash -# hmftools sigs executable shell script +# hmftools Sigs executable shell script # https://github.com/hartwigmedical/hmftools/tree/master/sigs set -eu -o pipefail diff --git a/recipes/hmftools-sv-prep/SvPrep.sh b/recipes/hmftools-sv-prep/SvPrep.sh deleted file mode 100755 index 053fdd8f1f5e2..0000000000000 --- a/recipes/hmftools-sv-prep/SvPrep.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/bash -# hmftools SvPrep executable shell script -# https://github.com/hartwigmedical/hmftools/tree/master/sv-prep -set -eu -o pipefail - -export LC_ALL=en_US.UTF-8 - -# Find original directory of bash script, resolving symlinks -# http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in/246128#246128 -SOURCE="${BASH_SOURCE[0]}" -while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink - DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" - SOURCE="$(readlink "$SOURCE")" - [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located -done -DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" - -JAR_DIR=$DIR -ENV_PREFIX="$(dirname $(dirname $DIR))" -# Use Java installed with Anaconda to ensure correct version -java="$ENV_PREFIX/bin/java" - -# if JAVA_HOME is set (non-empty), use it. Otherwise keep "java" -if [ -n "${JAVA_HOME:=}" ]; then - if [ -e "$JAVA_HOME/bin/java" ]; then - java="$JAVA_HOME/bin/java" - fi -fi - -# extract memory and system property Java arguments from the list of provided arguments -# http://java.dzone.com/articles/better-java-shell-script -default_jvm_mem_opts="-Xms512m -Xmx1g" -jvm_mem_opts="" -jvm_prop_opts="" -pass_args="" -for arg in "$@"; do - case $arg in - '-D'*) - jvm_prop_opts="$jvm_prop_opts $arg" - ;; - '-XX'*) - jvm_prop_opts="$jvm_prop_opts $arg" - ;; - '-Xm'*) - jvm_mem_opts="$jvm_mem_opts $arg" - ;; - *) - if [[ ${pass_args} == '' ]] #needed to avoid preceeding space on first arg e.g. ' MarkDuplicates' - then - pass_args="$arg" - else - pass_args="$pass_args \"$arg\"" #quotes later arguments to avoid problem with ()s in MarkDuplicates regex arg - fi - ;; - esac -done - -if [ "$jvm_mem_opts" == "" ]; then - jvm_mem_opts="$default_jvm_mem_opts" -fi - -pass_arr=($pass_args) -if [[ ${pass_arr[0]:=} == org* ]] -then - eval "$java" $jvm_mem_opts $jvm_prop_opts -cp "$JAR_DIR/sv-prep.jar" $pass_args -else - eval "$java" $jvm_mem_opts $jvm_prop_opts -jar "$JAR_DIR/sv-prep.jar" $pass_args -fi -exit diff --git a/recipes/hmftools-sv-prep/build.sh b/recipes/hmftools-sv-prep/build.sh index 2089a1b4204e8..5b0bbef52c376 100644 --- a/recipes/hmftools-sv-prep/build.sh +++ b/recipes/hmftools-sv-prep/build.sh @@ -7,6 +7,10 @@ TGT="$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM" cd "${SRC_DIR}" mv sv-prep*.jar $TGT/sv-prep.jar -cp $RECIPE_DIR/SvPrep.sh $TGT/SvPrep -ln -s $TGT/SvPrep $PREFIX/bin -chmod 0755 "${PREFIX}/bin/SvPrep" +cp $RECIPE_DIR/svprep.sh $TGT/svprep +cp $RECIPE_DIR/gridss_shell_with_jar_entrypoint $TGT/ +cp $RECIPE_DIR/gridss_svprep.sh $TGT/gridss_svprep + +ln -s $TGT/svprep $PREFIX/bin/ +ln -s $TGT/gridss_shell_with_jar_entrypoint $PREFIX/bin/gridss_svprep +chmod 0755 ${PREFIX}/bin/{gridss_,}svprep diff --git a/recipes/hmftools-sv-prep/gridss_shell_with_jar_entrypoint b/recipes/hmftools-sv-prep/gridss_shell_with_jar_entrypoint new file mode 100644 index 0000000000000..1b8d632b76499 --- /dev/null +++ b/recipes/hmftools-sv-prep/gridss_shell_with_jar_entrypoint @@ -0,0 +1,30 @@ +#!/bin/bash +# Wrapper scripts that sets --jar gridss.jar command line argument +# so users don't need to know the path to the GRIDSS jar + +# Adapted from bioconda-recipes/picard/picard.sh +set -o pipefail + +resolve_source_directory() { + # Find original directory of bash script, resolving symlinks + # http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in/246128#246128 + local SOURCE="${1}" + while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located + done + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + echo $DIR +} + +# Sanity check for GRIDSS dependency +if ! hash gridss 2>/dev/null; then + echo "Could not find 'gridss' in PATH, exiting"; + exit 1; +fi + +SCRIPT_DIR=$(resolve_source_directory ${BASH_SOURCE[0]}) +JAR_DIR=$(resolve_source_directory $(which gridss)) + +$SCRIPT_DIR/$(basename $0) --jar "$JAR_DIR/gridss.jar" "$@" diff --git a/recipes/hmftools-sv-prep/gridss_svprep.sh b/recipes/hmftools-sv-prep/gridss_svprep.sh new file mode 100755 index 0000000000000..9e0f9f0d519a4 --- /dev/null +++ b/recipes/hmftools-sv-prep/gridss_svprep.sh @@ -0,0 +1,832 @@ +#!/bin/bash +# GRIDSS execution script using SvPrep BAMs + +getopt --test +if [[ ${PIPESTATUS[0]} -ne 4 ]]; then + echo 'WARNING: "getopt --test"` failed in this environment.' 1>&2 + echo "WARNING: The version of getopt(1) installed on this system might not be compatible with the GRIDSS driver script." 1>&2 +fi +unset DISPLAY # Prevents errors attempting to connecting to an X server when starting the R plotting device +ulimit -n $(ulimit -Hn 2>/dev/null) 2>/dev/null # Reduce likelihood of running out of open file handles +set -o errexit -o pipefail -o noclobber -o nounset +last_command="" +current_command="" +trap 'last_command=$current_command; current_command=$BASH_COMMAND' DEBUG +trap 'echo "\"${last_command}\" command completed with exit code $?."' EXIT +#253 forcing C locale for everything +export LC_ALL=C + +EX_USAGE=64 +EX_NOINPUT=66 +EX_CANTCREAT=73 +EX_CONFIG=78 + +workingdir="." +reference="" +output_vcf="" +assembly="" +threads=8 +jvmheap="30g" +otherjvmheap="4g" +blacklist="" +metricsrecords=10000000 +maxcoverage=50000 +config_file="" +labels="" +bams="" +filtered_bams="" +full_bams="" +keepTempFiles="false" + +steps="all" +do_preprocess=false +do_assemble=false +do_call=false + +USAGE_MESSAGE=" +Usage: gridss [options] -r -o -a input1.bam [input2.bam [...]] + + -r/--reference: reference genome to use. + -o/--output: output VCF. + -a/--assembly: location of the GRIDSS assembly BAM. This file will be + created by GRIDSS. + -t/--threads: number of threads to use. (Default: $threads) + -j/--jar: location of GRIDSS jar + -w/--workingdir: directory to place GRIDSS intermediate and temporary files + .gridss.working subdirectories will be created. (Default: $workingdir) + -s/--steps: processing steps to run. Defaults to all steps. + Multiple steps are specified using comma separators. Possible steps are: + preprocess, assemble, call, all + -e/--blacklist: BED file containing regions to ignore + -c/--configuration: configuration file use to override default GRIDSS + settings. + -l/--labels: comma separated labels to use in the output VCF for the input + files. Supporting read counts for input files with the same label are + aggregated (useful for multiple sequencing runs of the same sample). + Labels default to input filenames, unless a single read group with a + non-empty sample name exists in which case the read group sample name + is used (which can be disabled by \"useReadGroupSampleNameCategoryLabel=false\" + in the configuration file). If labels are specified, they must be + specified for all input files. + -b/bams: comma separated full-path BAM files + -f/filtered_bams: comma separated full-path filtered BAM files + --jvmheap: size of JVM heap for the high-memory component of assembly and variant calling. (Default: $jvmheap) + --otherjvmheap: size of JVM heap for everything else. Useful to prevent + java out of memory errors when using large (>4Gb) reference genomes. + Note that some parts of assembly and variant calling use this heap + size. (Default: $otherjvmheap) + " + +OPTIONS=r:o:a:t:j:w:e:s:c:l:b:f: +LONGOPTS=reference:,output:,assembly:,threads:,jar:,workingdir:,jvmheap:,otherjvmheap:,blacklist:,steps:,configuration:,labels:,bams:,filtered_bams: +! PARSED=$(getopt --options=$OPTIONS --longoptions=$LONGOPTS --name "$0" -- "$@") +if [[ ${PIPESTATUS[0]} -ne 0 ]]; then + # e.g. return value is 1 + # then getopt has complained about wrong arguments to stdout + echo "$USAGE_MESSAGE" 1>&2 + exit $EX_USAGE +fi +eval set -- "$PARSED" + +POSITIONAL_ARGS=() + +#while true; do +while [[ $# -gt 0 ]]; do + case "$1" in + -r|--reference) + reference="$2" + shift 2 + ;; + -l|--labels) + labels="$2" + shift 2 + ;; + -b|--bams) + bams="$2" + shift 2 + ;; + -f|--filtered_bams) + filtered_bams="$2" + shift 2 + ;; + -s|--steps) + steps="$2" + shift 2 + ;; + -w|--workingdir) + workingdir="$2" + shift 2 + ;; + -o|--output) + output_vcf="$2" + shift 2 + ;; + -a|--assembly) + if [[ "$assembly" == "" ]] ; then + assembly="$2" + else + assembly="$assembly $2" + fi + # TODO: support multiple assembly files + shift 2 + ;; + -e|--blacklist) + blacklist="$2" + shift 2 + ;; + -j|--jar) + GRIDSS_JAR="$2" + shift 2 + ;; + --jvmheap) + jvmheap="$2" + shift 2 + ;; + --otherjvmheap) + otherjvmheap="$2" + shift 2 + ;; + -t|--threads) + printf -v threads '%d\n' "$2" 2>/dev/null + printf -v threads '%d' "$2" 2>/dev/null + shift 2 + ;; + -c|--configuration) + config_file=$2 + shift 2 + ;; + *) + POSITIONAL_ARGS+=("$1") # save positional arg + # echo "Unparsed param" + shift + ;; + esac +done + +##### --workingdir +echo "Using working directory \"$workingdir\"" 1>&2 +if [[ "$workingdir" == "" ]] ; then + echo "$USAGE_MESSAGE" 1>&2 + echo "Working directory must be specified. Specify using the --workingdir command line argument" 1>&2 + exit $EX_USAGE +fi +if [[ "$(tr -d ' \n' <<< "$workingdir")" != "$workingdir" ]] ; then + echo "workingdir cannot contain whitespace" 1>&2 + exit $EX_USAGE + fi +if [[ ! -d $workingdir ]] ; then + mkdir -p $workingdir + if [[ ! -d $workingdir ]] ; then + echo Unable to create working directory $workingdir 1>&2 + exit $EX_CANTCREAT + fi +fi +workingdir=$(dirname $workingdir/placeholder) +timestamp=$(date +%Y%m%d_%H%M%S) +# Logging +logfile=$workingdir/gridss.full.$timestamp.$HOSTNAME.$$.log +# $1 is message to write +write_status() { + echo "$(date): $1" | tee -a $logfile 1>&2 +} +write_status "Full log file is: $logfile" +trap 'echo "\"${last_command}\" command completed with exit code $?. +***** +The underlying error message can be found in $logfile +*****"' EXIT +# Timing instrumentation +timinglogfile=$workingdir/gridss.timing.$timestamp.$HOSTNAME.$$.log +if which /usr/bin/time >/dev/null ; then + timecmd="/usr/bin/time" + write_status "Found /usr/bin/time" +else + timecmd="" + write_status "Not found /usr/bin/time" +fi +if [[ "$timecmd" != "" ]] ; then + timecmd="/usr/bin/time --verbose -a -o $timinglogfile" + if ! $timecmd echo 2>&1 > /dev/null; then + timecmd="/usr/bin/time -a -o $timinglogfile" + fi + if ! $timecmd echo 2>&1 > /dev/null ; then + timecmd="" + write_status "Unexpected /usr/bin/time version. Not logging timing information." + fi + # We don't need timing info of the echo + rm -f $timinglogfile +fi + +### Find the jars +find_jar() { + env_name=$1 + if [[ -f "${!env_name:-}" ]] ; then + echo "${!env_name}" + else + write_status "Unable to find $2 jar. Specify using the environment variant $env_name, or the --jar command line parameter." + exit $EX_NOINPUT + fi +} +gridss_jar=$(find_jar GRIDSS_JAR gridss) +write_status "Using GRIDSS jar $gridss_jar" + +# Check all key inputs: + +if [[ "$labels" == "" ]] ; then + write_status "Labels must be specified" + exit $EX_USAGE +fi + +if [[ "$bams" == "" ]] ; then + write_status "Full BAMs must be specified" + exit $EX_USAGE +fi + +if [[ "$filtered_bams" == "" ]] ; then + write_status "Filtered BAMs must be specified" + exit $EX_USAGE +fi + +##### --reference +if [[ "$reference" == "" ]] ; then + write_status "$USAGE_MESSAGE" + write_status "Reference genome must be specified. Specify using the --reference command line argument" + exit $EX_USAGE +fi + +if [ ! -f $reference ] ; then + write_status "$USAGE_MESSAGE" + write_status "Missing reference genome $reference. Specify reference location using the --reference command line argument" + exit $EX_USAGE +fi +write_status "Using reference genome \"$reference\"" + +##### --output +if [[ $do_call == "true" ]] ; then + if [[ "$output_vcf" == "" ]] ; then + write_status "$USAGE_MESSAGE" + write_status "Output VCF not specified. Use --output to specify output file." + exit $EX_USAGE + fi + mkdir -p $(dirname $output_vcf) + if [[ ! -d $(dirname $output_vcf) ]] ; then + write_status "Unable to create directory for $output_vcf for output VCF." + exit $EX_CANTCREAT + fi + write_status "Using output VCF $output_vcf" +fi + +##### --assembly +if [[ $do_assemble == "true" ]] || [[ $do_call == "true" ]]; then + if [[ "$assembly" == "" ]] ; then + if [[ "$output_vcf" == "" ]] ; then + write_status "Either the assembly output file must explicitly specified with -a, or the output VCF specified with -o" + exit $EX_USAGE + fi + assembly=$output_vcf.assembly.bam + fi + write_status "Using assembly bam $assembly" + if [[ $do_assemble == "true" ]] ; then + mkdir -p $(dirname $assembly) + if [[ ! -d $(dirname $assembly) ]] ; then + write_status "Unable to parent create directory for $assembly" + exit $EX_CANTCREAT + fi + else + if [[ ! -f $assembly ]] ; then + write_status "Missing assembly file $assembly" + write_status "Ensure the GRIDSS assembly step has been run" + exit $EX_NOINPUT + fi + fi +fi + +##### --threads +if [[ "$threads" -lt 1 ]] ; then + write_status "$USAGE_MESSAGE" + write_status "Illegal thread count: $threads. Specify an integer thread count using the --threads command line argument" + exit $EX_USAGE +fi +if [[ "$threads" -gt 8 ]] ; then + write_status "WARNING: GRIDSS scales sub-linearly at high thread count. Up to 8 threads is the recommended level of parallelism." +fi +write_status "Using $threads worker threads." + +if [[ "$blacklist" == "" ]] ; then + blacklist_arg="" + write_status "Using no blacklist bed. The encode DAC blacklist is recommended for hg19." +elif [[ ! -f $blacklist ]] ; then + write_status "$USAGE_MESSAGE" + write_status "Missing blacklist file $blacklist" + exit $EX_NOINPUT +else + blacklist_arg="BLACKLIST=$blacklist" + write_status "Using blacklist $blacklist" + if [[ "$(tr -d ' \n' <<< "$blacklist_arg")" != "$blacklist_arg" ]] ; then + write_status "blacklist cannot contain whitespace" + exit $EX_USAGE + fi +fi + +if [[ "$jvmheap" == "" ]] ; then + if [[ $threads -gt 8 ]] ; then + write_status "Warning: GRIDSS assembly may stall and run out of memory. with $threads and $jvmheap heap size." + fi +fi + +write_status "Using JVM maximum heap size of $jvmheap for assembly and variant calling." + +config_args="" +if [[ "$config_file" != "" ]] ; then + if [[ ! -f $config_file ]] ; then + write_status "Configuration file $config_file does not exist" + exit $EX_NOINPUT + fi + config_args="CONFIGURATION_FILE=$config_file" +fi + +input_args="" +input_filtered_args="" + +# no longer read in the BAM file list from the end of the arguments list + +nows_labels=$(tr -d ' \n' <<< "$labels") +if [[ "$nows_labels" != "$labels" ]] ; then + write_status "input labels cannot contain whitespace" + exit $EX_USAGE +fi +IFS=',' read -ra LABEL_ARRAY <<< "$nows_labels" +label_count=${#LABEL_ARRAY[@]} + +for label in "${LABEL_ARRAY[@]}" ; do + input_args="$input_args INPUT_LABEL=$label" + input_filtered_args="$input_filtered_args INPUT_LABEL=$label" + #write_status "label is $label" +done + +nows_bams=$(tr -d ' \n' <<< "$bams") +if [[ "$nows_bams" != "$bams" ]] ; then + write_status "input filtered BAMs cannot contain whitespace" + exit $EX_USAGE +fi +IFS=',' read -ra BAM_ARRAY <<< "$nows_bams" +for bam_file in "${BAM_ARRAY[@]}" ; do + + if [[ "$(basename $bam_file)" == "$(basename $assembly)" ]] ; then + write_status "assembly and input filtered bam files must have different filenames" + exit $EX_USAGE + fi + + input_args="$input_args INPUT=$bam_file" + # write_status "full bam file is $bam_file" +done + +nows_bams=$(tr -d ' \n' <<< "$filtered_bams") +if [[ "$nows_bams" != "$filtered_bams" ]] ; then + write_status "input filtered BAMs cannot contain whitespace" + exit $EX_USAGE +fi +IFS=',' read -ra FILT_BAM_ARRAY <<< "$nows_bams" +for filtered_bam_file in "${FILT_BAM_ARRAY[@]}" ; do + + if [[ "$(basename $filtered_bam_file)" == "$(basename $assembly)" ]] ; then + write_status "assembly and input filtered bam files must have different filenames" + exit $EX_USAGE + fi + + input_filtered_args="$input_filtered_args INPUT=$filtered_bam_file" + # write_status "filtered bam file is $filtered_bam_file" +done + +for (( i=0; i < $label_count; ++i )) +do + write_status "Label $i: name=${LABEL_ARRAY[$i]} full-bam=${BAM_ARRAY[$i]} filtered-bam=${FILT_BAM_ARRAY[$i]}" +done + +write_status "Full BAM args: $input_args" +write_status "Filtered BAM args: $input_filtered_args" + + +# Validate tools exist on path +for tool in Rscript samtools java bwa ; do #minimap2 + if ! which $tool >/dev/null; then + write_status "Error: unable to find $tool on \$PATH" + exit $EX_CONFIG + fi + write_status "Found $(which $tool)" +done +if $(samtools --version-only >/dev/null) ; then + write_status "samtools version: $(samtools --version-only 2>&1)" +else + write_status "Your samtools version does not support --version-only. Update samtools." + exit $EX_CONFIG +fi +if [[ "$(samtools --version-only)" =~ ^([0-9]+)[.]([0-9]+) ]] ; then + samtools_major_version=${BASH_REMATCH[1]} + samtools_minor_version=${BASH_REMATCH[2]} + if [[ "$samtools_major_version" -le 1 ]] && [[ "$samtools_minor_version" -lt 10 ]] ; then + write_status "samtools 1.13 or later is required." + exit $EX_CONFIG + fi +else + write_status "Unable to determine samtools version" + exit $EX_CONFIG +fi + +# write_status "R version: $(Rscript --version 2>&1)" + +write_status "bwa $(bwa 2>&1 | grep Version || echo -n)" + +if [[ "$timecmd" != "" ]] ; then + if which /usr/bin/time >/dev/null ; then + write_status "time version: $(/usr/bin/time --version 2>&1)" + fi +fi +write_status "bash version: $(/bin/bash --version 2>&1 | head -1)" + +# check java version is ok using the gridss.Echo entry point +if java -cp $gridss_jar gridss.Echo ; then + write_status "java version: $(java -version 2>&1 | tr '\n' '\t')" +else + write_status "Unable to run GRIDSS jar - requires java 1.8 or later" + write_status "java version: $(java -version 2>&1)" + exit $EX_CONFIG +fi + +if ! java -Xms$jvmheap -cp $gridss_jar gridss.Echo ; then + write_status "Failure invoking java with --jvmheap parameter of \"$jvmheap\". Specify a JVM heap size (e.g. \"31g\") that is valid for this machine." + exit 1 +fi + +write_status "Max file handles: $(ulimit -n)" 1>&2 + +steps_message="Running GRIDSS steps:" + +for step in $(echo $steps | tr ',' ' ' ) ; do + if [[ "$step" == "all" ]] ; then + do_preprocess=true + do_assemble=true + do_call=true + steps_message="$steps_message all" + elif [[ "$step" == "preprocess" ]] ; then + do_preprocess=true + steps_message="$steps_message pre-process" + elif [[ "$step" == "assemble" ]] ; then + do_assemble=true + steps_message="$steps_message assembly" + elif [[ "$step" == "call" ]] ; then + do_call=true + steps_message="$steps_message call" + else + write_status "Unknown step \"$step\"" + exit $EX_USAGE + fi +done + +write_status "$steps_message" + +# don't keep files +if [[ $keepTempFiles == "true" ]] ; then + rmcmd="echo rm disabled:" + jvm_args="-Dgridss.keepTempFiles=true" +else + rmcmd="rm" + jvm_args="" +fi + +jvm_args="$jvm_args \ + -XX:ParallelGCThreads=$threads \ + -Dsamjdk.reference_fasta=$reference \ + -Dsamjdk.use_async_io_read_samtools=true \ + -Dsamjdk.use_async_io_write_samtools=true \ + -Dsamjdk.use_async_io_write_tribble=true \ + -Dsamjdk.buffer_size=4194304 \ + -Dsamjdk.async_io_read_threads=$threads" + +aligner_args=' + ALIGNER_COMMAND_LINE=null + ALIGNER_COMMAND_LINE=bwa + ALIGNER_COMMAND_LINE=mem + ALIGNER_COMMAND_LINE=-K + ALIGNER_COMMAND_LINE=10000000 + ALIGNER_COMMAND_LINE=-L + ALIGNER_COMMAND_LINE=0,0 + ALIGNER_COMMAND_LINE=-t + ALIGNER_COMMAND_LINE=%3$d + ALIGNER_COMMAND_LINE=%2$s + ALIGNER_COMMAND_LINE=%1$s' + +samtools_sort="samtools sort --no-PG -@ $threads" + +readpairing_args="READ_PAIR_CONCORDANT_PERCENT=null" + + +# set-up reference has been removed since can assume to exist + +#### +# Pre-process for each filtered BAM file +#### + +if [[ $do_preprocess == true ]] ; then + write_status "*** PRE-PROCESS ***" + + for (( i=0; i < $label_count; ++i )) + do + label=${LABEL_ARRAY[$i]} + bam_file=${FILT_BAM_ARRAY[$i]} + write_status "Processing: sample ${LABEL_ARRAY[$i]}, filtered-bam ${FILT_BAM_ARRAY[$i]}" + + dir=$workingdir/$(basename $bam_file).gridss.working + prefix=$dir/$(basename $bam_file) + write_status "Start pre-processing: $bam_file, working dir: $dir, prefix: $prefix" + + tmp_prefix=$workingdir/$(basename $bam_file).gridss.working/tmp.$(basename $bam_file) + mkdir -p $dir + if [[ ! -d $dir ]] ; then + write_status "Unable to create directory $dir" + exit $EX_CANTCREAT + fi + + name_sorted_bam=$tmp_prefix.namedsorted.bam + write_status "Creating name-sorted BAM from $bam_file, writing to $name_sorted_bam" + + $timecmd $samtools_sort -l 1 -n \ + -T $tmp_prefix.namedsorted-tmp \ + -Obam \ + -o ${name_sorted_bam} \ + ${bam_file} + + write_status "Running ComputeSamTags|samtools: $bam_file" + + rm -f $tmp_prefix.coordinate-tmp* + + { $timecmd java -Xmx$otherjvmheap $jvm_args \ + -cp $gridss_jar gridss.ComputeSamTags \ + TMP_DIR=$dir \ + WORKING_DIR=$workingdir \ + REFERENCE_SEQUENCE=$reference \ + COMPRESSION_LEVEL=0 \ + I=$name_sorted_bam \ + O=/dev/stdout \ + WORKER_THREADS=$threads \ + ASSUME_SORTED=true \ + REMOVE_TAGS=aa \ + MODIFICATION_SUMMARY_FILE=$prefix.computesamtags.changes.tsv \ + | $timecmd $samtools_sort \ + -l 1 \ + -T $tmp_prefix.coordinate-tmp \ + -Obam \ + -o $tmp_prefix.coordinate.bam \ + /dev/stdin \ + ; } 1>&2 2>> $logfile + + write_status "Removing name-sorted bam: $tmp_prefix.namedsorted.bam" + $rmcmd $tmp_prefix.namedsorted.bam + + write_status "Running SoftClipsToSplitReads: sample $label, input: $tmp_prefix.coordinate.bam, output: $tmp_prefix.sc2sr.primary.sv.bam" + rm -f $tmp_prefix.sc2sr.suppsorted.sv-tmp* + { $timecmd java -Xmx$otherjvmheap $jvm_args \ + -Dsamjdk.create_index=false \ + -cp $gridss_jar gridss.SoftClipsToSplitReads \ + TMP_DIR=$workingdir \ + WORKING_DIR=$workingdir \ + REFERENCE_SEQUENCE=$reference \ + I=$tmp_prefix.coordinate.bam \ + O=$tmp_prefix.sc2sr.primary.sv.bam \ + COMPRESSION_LEVEL=1 \ + OUTPUT_UNORDERED_RECORDS=$tmp_prefix.sc2sr.supp.sv.bam \ + WORKER_THREADS=$threads \ + $aligner_args \ + && $rmcmd $tmp_prefix.coordinate.bam \ + && $timecmd $samtools_sort \ + -l 1 \ + -T $tmp_prefix.sc2sr.suppsorted.sv-tmp \ + -Obam \ + -o $tmp_prefix.sc2sr.suppsorted.sv.bam \ + $tmp_prefix.sc2sr.supp.sv.bam \ + && $rmcmd $tmp_prefix.sc2sr.supp.sv.bam \ + && $rmcmd -f $prefix.sv.tmp.bam $prefix.sv.tmp.bam.bai \ + && $timecmd samtools merge \ + -c \ + -p \ + --write-index \ + -@ $threads \ + $prefix.sv.tmp.bam \ + $tmp_prefix.sc2sr.primary.sv.bam \ + $tmp_prefix.sc2sr.suppsorted.sv.bam \ + && $rmcmd $tmp_prefix.sc2sr.primary.sv.bam \ + && $rmcmd $tmp_prefix.sc2sr.suppsorted.sv.bam \ + && mv $prefix.sv.tmp.bam $prefix.sv.bam \ + && mv $prefix.sv.tmp.bam.csi $prefix.sv.bam.csi \ + ; } 1>&2 2>> $logfile + + write_status "Produced SV bam:: $prefix.sv.bam" + + # create metrics on the full BAM and then copy these over the metrics made from the filtered BAMs + full_bam_file=${BAM_ARRAY[$i]} + write_status "Running CollectGridssMetrics on $label full BAM $full_bam_file" + + # test_prefix=$prefix.cp + + { $timecmd java -Xmx$otherjvmheap $jvm_args \ + -cp $gridss_jar gridss.analysis.CollectGridssMetrics \ + REFERENCE_SEQUENCE=$reference \ + TMP_DIR=$dir \ + ASSUME_SORTED=true \ + I=$full_bam_file \ + O=$prefix \ + THRESHOLD_COVERAGE=$maxcoverage \ + FILE_EXTENSION=null \ + GRIDSS_PROGRAM=null \ + GRIDSS_PROGRAM=CollectCigarMetrics \ + GRIDSS_PROGRAM=CollectMapqMetrics \ + GRIDSS_PROGRAM=CollectTagMetrics \ + GRIDSS_PROGRAM=CollectIdsvMetrics \ + PROGRAM=null \ + PROGRAM=CollectInsertSizeMetrics \ + STOP_AFTER=$metricsrecords \ + ; } 1>&2 2>> $logfile + + write_status "Complete pre-processing sample: $label" + done + + write_status "*** PRE-PROCESS COMPLETE ***" +fi + +##### +# ASSEMBLY +#### + +assembly_args="ASSEMBLY=$assembly" + +if [[ $do_assemble == true ]] ; then + + write_status "*** ASSEMBLY ***" + write_status "Running AssembleBreakends: writing output to dir $assembly" + { $timecmd java -Xmx$jvmheap $jvm_args \ + -Dgridss.output_to_temp_file=true \ + -cp $gridss_jar gridss.AssembleBreakends \ + JOB_INDEX=0 \ + JOB_NODES=1 \ + TMP_DIR=$workingdir \ + WORKING_DIR=$workingdir \ + REFERENCE_SEQUENCE=$reference \ + WORKER_THREADS=$threads \ + $input_filtered_args \ + $blacklist_arg \ + $config_args \ + $readpairing_args \ + O=$assembly \ + ; } 1>&2 2>> $logfile + + write_status "AssemblyBreakends complete" + + dir=$workingdir/$(basename $assembly).gridss.working/ + prefix=$dir/$(basename $assembly) + tmp_prefix=$dir/tmp.$(basename $assembly) + + write_status "RunningSoftClipsToSplitReads: running on assembly output dir $assembly" + rm -f $tmp_prefix.sc2sr.suppsorted.sv-tmp* + { $timecmd java -Xmx$otherjvmheap $jvm_args \ + -Dgridss.async.buffersize=16 \ + -Dsamjdk.create_index=false \ + -Dgridss.output_to_temp_file=true \ + -cp $gridss_jar gridss.SoftClipsToSplitReads \ + TMP_DIR=$dir \ + WORKING_DIR=$workingdir \ + REFERENCE_SEQUENCE=$reference \ + WORKER_THREADS=$threads \ + I=$assembly \ + O=$tmp_prefix.sc2sr.primary.sv.bam \ + OUTPUT_UNORDERED_RECORDS=$tmp_prefix.sc2sr.supp.sv.bam \ + REALIGN_ENTIRE_READ=true \ + READJUST_PRIMARY_ALIGNMENT_POSITION=true \ + $aligner_args \ + && $timecmd $samtools_sort \ + -T $tmp_prefix.sc2sr.suppsorted.sv-tmp \ + -Obam \ + -o $tmp_prefix.sc2sr.suppsorted.sv.bam \ + $tmp_prefix.sc2sr.supp.sv.bam \ + && $rmcmd $tmp_prefix.sc2sr.supp.sv.bam \ + && $rmcmd -f $prefix.sv.tmp.bam $prefix.sv.tmp.bam.bai \ + && $timecmd samtools merge \ + -c \ + -p \ + -@ $threads \ + $prefix.sv.tmp.bam \ + $tmp_prefix.sc2sr.primary.sv.bam \ + $tmp_prefix.sc2sr.suppsorted.sv.bam \ + && $timecmd samtools index $prefix.sv.tmp.bam \ + && $rmcmd $tmp_prefix.sc2sr.primary.sv.bam \ + && $rmcmd $tmp_prefix.sc2sr.suppsorted.sv.bam \ + && mv $prefix.sv.tmp.bam $prefix.sv.bam \ + && mv $prefix.sv.tmp.bam.bai $prefix.sv.bam.bai \ + ; } 1>&2 2>> $logfile + + write_status "Produced assembly BAM: $prefix.sv.bam" + + write_status "Complete Assembly" + + # no idea why this is a for loop, could just be: ASSEMBLY=$assembly + #assembly_args="" + #for ass in $assembly ; do + # assembly_args="$assembly_args ASSEMBLY=$ass" + #done + write_status "Assembly args: $assembly_args" + + write_status "*** ASSEMBLY COMPLETE ***" +fi + +#### +# VARIANT CALLING +#### + +if [[ $do_call == true ]] ; then + write_status "*** VARIANT CALLING ***" + + write_status "Creating variant VCF: $output_vcf" + + dir=$workingdir/$(basename $output_vcf).gridss.working + prefix=$dir/$(basename $output_vcf) + mkdir -p $dir + if [[ ! -d $dir ]] ; then + write_status "Unable to create directory $dir" + exit $EX_CANTCREAT + fi + + # create symbolic links to the full BAM as though they were produced by the pre-process step + # eg: ./gridss_02/COLO829R.bam.gridss.working/COLO829R.bam.sv.bam + for (( i=0; i < $label_count; ++i )) + do + bam_file=${BAM_ARRAY[$i]} + bam_dir=$workingdir/$(basename $bam_file).gridss.working + + if [[ ! -d $bam_dir ]] ; then + mkdir -p $bam_dir + fi + + sv_bam_file=$bam_dir/$(basename $bam_file).sv.bam + # write_status "Making soft-link to ${sv_bam_file}" + #ln -sfr ${bam_file} ${sv_bam_file} + #ln -sfr ${bam_file}.bai ${sv_bam_file}.bai + done + + write_status "Running IdentifyVariants" + { $timecmd java -Xmx$jvmheap $jvm_args \ + -Dgridss.output_to_temp_file=true \ + -cp $gridss_jar gridss.IdentifyVariants \ + TMP_DIR=$workingdir \ + WORKING_DIR=$workingdir \ + REFERENCE_SEQUENCE=$reference \ + WORKER_THREADS=$threads \ + $input_filtered_args \ + $blacklist_arg \ + $config_args \ + $assembly_args \ + OUTPUT_VCF=$prefix.unallocated.vcf \ + $readpairing_args \ + ; } 1>&2 2>> $logfile + write_status "IdentifyVariants complete, produced $prefix.unallocated.vcf" + + write_status "Running AnnotateVariants" + { $timecmd java -Xmx$jvmheap $jvm_args \ + -Dgridss.output_to_temp_file=true \ + -Dgridss.async.buffersize=2048 \ + -cp $gridss_jar gridss.AnnotateVariants \ + TMP_DIR=$workingdir \ + WORKING_DIR=$workingdir \ + REFERENCE_SEQUENCE=$reference \ + WORKER_THREADS=$threads \ + $input_filtered_args \ + $blacklist_arg \ + $config_args \ + $assembly_args \ + INPUT_VCF=$prefix.unallocated.vcf \ + OUTPUT_VCF=$prefix.allocated.vcf \ + $readpairing_args \ + ; } 1>&2 2>> $logfile + $rmcmd $prefix.unallocated.vcf + write_status "AnnotateVariants complete, produced $prefix.allocated.vcf" + + write_status "Running AnnotateInsertedSequence" + + { $timecmd java -Xmx$otherjvmheap $jvm_args \ + -Dgridss.output_to_temp_file=true \ + -cp $gridss_jar gridss.AnnotateInsertedSequence \ + TMP_DIR=$workingdir \ + WORKING_DIR=$workingdir \ + REFERENCE_SEQUENCE=$reference \ + WORKER_THREADS=$threads \ + INPUT=$prefix.allocated.vcf \ + OUTPUT=$output_vcf \ + && $rmcmd $prefix.allocated.vcf \ + ; } 1>&2 2>> $logfile + write_status "AnnotateInsertedSequence complete, produced $output_vcf" + + write_status "*** VARIANT CALLING COMPLETE ***" +fi + +if [[ -f $logfile ]] ; then + write_status "Run complete with $(grep WARNING $logfile | wc -l) warnings and $(grep ERROR $logfile | wc -l) errors." +fi +trap - EXIT +exit 0 # success! diff --git a/recipes/hmftools-sv-prep/meta.yaml b/recipes/hmftools-sv-prep/meta.yaml index c81ed9c3f6a43..9f250f66269fc 100644 --- a/recipes/hmftools-sv-prep/meta.yaml +++ b/recipes/hmftools-sv-prep/meta.yaml @@ -1,27 +1,29 @@ -{% set version = "1.1" %} -{% set sha256 = "e7487a16c609ad4d9f3b2d29ebada02b04fbd3bef3dacd26f228bb1928d5606e" %} +{% set version = "1.2.4" %} +{% set sha256 = "c6a49845968802c338cacd3778d3ab1f3eb21be9d7483115fea259db35015c86" %} package: name: hmftools-sv-prep version: '{{ version }}' source: - url: 'https://github.com/hartwigmedical/hmftools/releases/download/sv-prep-v{{ version }}/sv-prep_v{{ version }}.jar' + url: https://github.com/hartwigmedical/hmftools/releases/download/sv-prep-v{{ version }}/sv-prep_v{{ version }}.jar sha256: '{{ sha256 }}' build: noarch: generic - number: 1 + number: 0 + run_exports: + - {{ pin_subpackage('hmftools-sv-prep', max_pin="x") }} requirements: run: - zlib - openjdk >=8 - - samtools + - gridss =2.13.2=h50ea8bc_3 test: commands: - - 'SvPrep 2>&1 | grep -q "SvPrep version"' + - 'svprep -version | grep SvPrep' about: home: https://github.com/hartwigmedical/hmftools/tree/master/sv-prep diff --git a/recipes/hmftools-sv-prep/svprep.sh b/recipes/hmftools-sv-prep/svprep.sh new file mode 100755 index 0000000000000..6cd23a12769db --- /dev/null +++ b/recipes/hmftools-sv-prep/svprep.sh @@ -0,0 +1,69 @@ +#!/bin/bash +# hmftools SvPrep executable shell script +# https://github.com/hartwigmedical/hmftools/tree/master/sv-prep +set -eu -o pipefail + +export LC_ALL=en_US.UTF-8 + +# Find original directory of bash script, resolving symlinks +# http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in/246128#246128 +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done +DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + +JAR_DIR=$DIR +ENV_PREFIX="$(dirname $(dirname $DIR))" +# Use Java installed with Anaconda to ensure correct version +java="$ENV_PREFIX/bin/java" + +# if JAVA_HOME is set (non-empty), use it. Otherwise keep "java" +if [ -n "${JAVA_HOME:=}" ]; then + if [ -e "$JAVA_HOME/bin/java" ]; then + java="$JAVA_HOME/bin/java" + fi +fi + +# extract memory and system property Java arguments from the list of provided arguments +# http://java.dzone.com/articles/better-java-shell-script +default_jvm_mem_opts="-Xms512m -Xmx1g" +jvm_mem_opts="" +jvm_prop_opts="" +pass_args="" +for arg in "$@"; do + case $arg in + '-D'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-XX'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-Xm'*) + jvm_mem_opts="$jvm_mem_opts $arg" + ;; + *) + if [[ ${pass_args} == '' ]] #needed to avoid preceeding space on first arg e.g. ' MarkDuplicates' + then + pass_args="$arg" + else + pass_args="$pass_args \"$arg\"" #quotes later arguments to avoid problem with ()s in MarkDuplicates regex arg + fi + ;; + esac +done + +if [ "$jvm_mem_opts" == "" ]; then + jvm_mem_opts="$default_jvm_mem_opts" +fi + +pass_arr=($pass_args) +if [[ ${pass_arr[0]:=} == com.hartwig.* ]] +then + eval "$java" $jvm_mem_opts $jvm_prop_opts -cp "$JAR_DIR/sv-prep.jar" $pass_args +else + eval "$java" $jvm_mem_opts $jvm_prop_opts -jar "$JAR_DIR/sv-prep.jar" $pass_args +fi +exit diff --git a/recipes/hmftools-virus-interpreter/build.sh b/recipes/hmftools-virus-interpreter/build.sh new file mode 100644 index 0000000000000..9016c03d49166 --- /dev/null +++ b/recipes/hmftools-virus-interpreter/build.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +TGT="$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM" +[ -d "$TGT" ] || mkdir -p "$TGT" +[ -d "${PREFIX}/bin" ] || mkdir -p "${PREFIX}/bin" + +cd "${SRC_DIR}" +mv virus-interpreter*.jar $TGT/virusinterpreter.jar + +cp $RECIPE_DIR/virusinterpreter.sh $TGT/virusinterpreter +ln -s $TGT/virusinterpreter $PREFIX/bin +chmod 0755 "${PREFIX}/bin/virusinterpreter" diff --git a/recipes/hmftools-virus-interpreter/meta.yaml b/recipes/hmftools-virus-interpreter/meta.yaml new file mode 100644 index 0000000000000..8b993183d464c --- /dev/null +++ b/recipes/hmftools-virus-interpreter/meta.yaml @@ -0,0 +1,30 @@ +{% set version = "3.7_beta" %} +{% set sha256 = "a72eec16f2fea85b7f49fb1944427c7e5939d760ec388d324f9078a915875719" %} + +package: + name: hmftools-virus-interpreter + version: '{{ version }}' + +source: + url: https://github.com/hartwigmedical/hmftools/releases/download/virus-interpreter-v{{ version }}/virus-interpreter_v{{ version }}.jar + sha256: '{{ sha256 }}' + +build: + noarch: generic + number: 0 + run_exports: + - {{ pin_subpackage("hmftools-virus-interpreter", max_pin="x.x") }} + +requirements: + run: + - openjdk >=8 + +test: + commands: + - 'virusinterpreter -version | grep VirusInterpreter' + +about: + home: https://github.com/hartwigmedical/hmftools/blob/master/virus-interpreter/README.md + license: GPL-3.0-only + license_family: GPL3 + summary: Post-process VIRUSBreakend summary results. diff --git a/recipes/hmftools-virus-interpreter/virusinterpreter.sh b/recipes/hmftools-virus-interpreter/virusinterpreter.sh new file mode 100755 index 0000000000000..7ee6eced678ff --- /dev/null +++ b/recipes/hmftools-virus-interpreter/virusinterpreter.sh @@ -0,0 +1,69 @@ +#!/bin/bash +# hmftools Virus Interpreter executable shell script +# https://github.com/hartwigmedical/hmftools/tree/master/virus-interpreter +set -eu -o pipefail + +export LC_ALL=en_US.UTF-8 + +# Find original directory of bash script, resolving symlinks +# http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in/246128#246128 +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done +DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + +JAR_DIR=$DIR +ENV_PREFIX="$(dirname $(dirname $DIR))" +# Use Java installed with Anaconda to ensure correct version +java="$ENV_PREFIX/bin/java" + +# if JAVA_HOME is set (non-empty), use it. Otherwise keep "java" +if [ -n "${JAVA_HOME:=}" ]; then + if [ -e "$JAVA_HOME/bin/java" ]; then + java="$JAVA_HOME/bin/java" + fi +fi + +# extract memory and system property Java arguments from the list of provided arguments +# http://java.dzone.com/articles/better-java-shell-script +default_jvm_mem_opts="-Xms512m -Xmx1g" +jvm_mem_opts="" +jvm_prop_opts="" +pass_args="" +for arg in "$@"; do + case $arg in + '-D'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-XX'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-Xm'*) + jvm_mem_opts="$jvm_mem_opts $arg" + ;; + *) + if [[ ${pass_args} == '' ]] #needed to avoid preceeding space on first arg e.g. ' MarkDuplicates' + then + pass_args="$arg" + else + pass_args="$pass_args \"$arg\"" #quotes later arguments to avoid problem with ()s in MarkDuplicates regex arg + fi + ;; + esac +done + +if [ "$jvm_mem_opts" == "" ]; then + jvm_mem_opts="$default_jvm_mem_opts" +fi + +pass_arr=($pass_args) +if [[ ${pass_arr[0]:=} == org* ]] +then + eval "$java" $jvm_mem_opts $jvm_prop_opts -cp "$JAR_DIR/virusinterpreter.jar" $pass_args +else + eval "$java" $jvm_mem_opts $jvm_prop_opts -jar "$JAR_DIR/virusinterpreter.jar" $pass_args +fi +exit diff --git a/recipes/hmmcopy/build.sh b/recipes/hmmcopy/build.sh index 221ea7f18365c..2e2b0710805e5 100644 --- a/recipes/hmmcopy/build.sh +++ b/recipes/hmmcopy/build.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # Source archive contains some macOS junk files, # which prevent hoisting the HMMcopy on Linux only. diff --git a/recipes/hmmcopy/meta.yaml b/recipes/hmmcopy/meta.yaml index 950876a55c956..bf1639367da71 100644 --- a/recipes/hmmcopy/meta.yaml +++ b/recipes/hmmcopy/meta.yaml @@ -7,7 +7,9 @@ source: md5: 205a719e7ac9b9f9ba811cdd7cbdae0a build: - number: 9 + number: 10 + run_exports: + - {{ pin_subpackage("hmmcopy", max_pin="x.x") }} requirements: build: @@ -31,3 +33,7 @@ about: home: http://compbio.bccrc.ca/software/hmmcopy/ license: GPL-3 summary: C++ based programs for analyzing BAM files and preparing read counts -- used with bioconductor-hmmcopy + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/hmmer/build.sh b/recipes/hmmer/build.sh index 9bedf04f9819a..00abe00649fa1 100755 --- a/recipes/hmmer/build.sh +++ b/recipes/hmmer/build.sh @@ -2,6 +2,9 @@ set -e -u -x +# use newer config.guess and config.sub that support osx-arm64 +cp ${RECIPE_DIR}/config.* . + ./configure --prefix=$PREFIX make -j4 make install @@ -11,4 +14,3 @@ make install mkdir -p $PREFIX/share rm -rf ${SRC_DIR}/easel/miniapps cp -r ${SRC_DIR}/easel $PREFIX/share/ - diff --git a/recipes/hmmer/config.guess b/recipes/hmmer/config.guess new file mode 100644 index 0000000000000..1972fda8eb05d --- /dev/null +++ b/recipes/hmmer/config.guess @@ -0,0 +1,1700 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright 1992-2021 Free Software Foundation, Inc. + +timestamp='2021-01-25' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). +# +# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. +# +# You can get the latest version of this script from: +# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess +# +# Please send patches to . + + +me=$(echo "$0" | sed -e 's,.*/,,') + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright 1992-2021 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +tmp= +# shellcheck disable=SC2172 +trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 + +set_cc_for_build() { + # prevent multiple calls if $tmp is already set + test "$tmp" && return 0 + : "${TMPDIR=/tmp}" + # shellcheck disable=SC2039 + { tmp=$( (umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null) && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } + dummy=$tmp/dummy + case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in + ,,) echo "int x;" > "$dummy.c" + for driver in cc gcc c89 c99 ; do + if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then + CC_FOR_BUILD="$driver" + break + fi + done + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; + esac +} + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if test -f /.attbin/uname ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=$( (uname -m) 2>/dev/null) || UNAME_MACHINE=unknown +UNAME_RELEASE=$( (uname -r) 2>/dev/null) || UNAME_RELEASE=unknown +UNAME_SYSTEM=$( (uname -s) 2>/dev/null) || UNAME_SYSTEM=unknown +UNAME_VERSION=$( (uname -v) 2>/dev/null) || UNAME_VERSION=unknown + +case "$UNAME_SYSTEM" in +Linux|GNU|GNU/*) + LIBC=unknown + + set_cc_for_build + cat <<-EOF > "$dummy.c" + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #elif defined(__GLIBC__) + LIBC=gnu + #else + #include + /* First heuristic to detect musl libc. */ + #ifdef __DEFINED_va_list + LIBC=musl + #endif + #endif + EOF + eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g')" + + # Second heuristic to detect musl libc. + if [ "$LIBC" = unknown ] && + command -v ldd >/dev/null && + ldd --version 2>&1 | grep -q ^musl; then + LIBC=musl + fi + + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + if [ "$LIBC" = unknown ]; then + LIBC=gnu + fi + ;; +esac + +# Note: order is significant - the case branches are not exclusive. + +case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + UNAME_MACHINE_ARCH=$( (uname -p 2>/dev/null || \ + /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + echo unknown)) + case "$UNAME_MACHINE_ARCH" in + aarch64eb) machine=aarch64_be-unknown ;; + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + earmv*) + arch=$(echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,') + endian=$(echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p') + machine="${arch}${endian}"-unknown + ;; + *) machine="$UNAME_MACHINE_ARCH"-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently (or will in the future) and ABI. + case "$UNAME_MACHINE_ARCH" in + earm*) + os=netbsdelf + ;; + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ELF__ + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # Determine ABI tags. + case "$UNAME_MACHINE_ARCH" in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' + abi=$(echo "$UNAME_MACHINE_ARCH" | sed -e "$expr") + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "$UNAME_VERSION" in + Debian*) + release='-gnu' + ;; + *) + release=$(echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2) + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "$machine-${os}${release}${abi-}" + exit ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=$(arch | sed 's/Bitrig.//') + echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=$(arch | sed 's/OpenBSD.//') + echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" + exit ;; + *:LibertyBSD:*:*) + UNAME_MACHINE_ARCH=$(arch | sed 's/^.*BSD\.//') + echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" + exit ;; + *:MidnightBSD:*:*) + echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" + exit ;; + *:ekkoBSD:*:*) + echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" + exit ;; + *:SolidBSD:*:*) + echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" + exit ;; + *:OS108:*:*) + echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE" + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd"$UNAME_RELEASE" + exit ;; + *:MirBSD:*:*) + echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" + exit ;; + *:Sortix:*:*) + echo "$UNAME_MACHINE"-unknown-sortix + exit ;; + *:Twizzler:*:*) + echo "$UNAME_MACHINE"-unknown-twizzler + exit ;; + *:Redox:*:*) + echo "$UNAME_MACHINE"-unknown-redox + exit ;; + mips:OSF1:*.*) + echo mips-dec-osf1 + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $3}') + ;; + *5.*) + UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $4}') + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=$(/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1) + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE=alpha ;; + "EV4.5 (21064)") + UNAME_MACHINE=alpha ;; + "LCA4 (21066/21068)") + UNAME_MACHINE=alpha ;; + "EV5 (21164)") + UNAME_MACHINE=alphaev5 ;; + "EV5.6 (21164A)") + UNAME_MACHINE=alphaev56 ;; + "EV5.6 (21164PC)") + UNAME_MACHINE=alphapca56 ;; + "EV5.7 (21164PC)") + UNAME_MACHINE=alphapca57 ;; + "EV6 (21264)") + UNAME_MACHINE=alphaev6 ;; + "EV6.7 (21264A)") + UNAME_MACHINE=alphaev67 ;; + "EV6.8CB (21264C)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8AL (21264B)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8CX (21264D)") + UNAME_MACHINE=alphaev68 ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE=alphaev69 ;; + "EV7 (21364)") + UNAME_MACHINE=alphaev7 ;; + "EV7.9 (21364A)") + UNAME_MACHINE=alphaev79 ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo "$UNAME_MACHINE"-dec-osf"$(echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz)" + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + exitcode=$? + trap '' 0 + exit $exitcode ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo "$UNAME_MACHINE"-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo "$UNAME_MACHINE"-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix"$UNAME_RELEASE" + exit ;; + arm*:riscos:*:*|arm*:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "$( (/bin/universe) 2>/dev/null)" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case $(/usr/bin/uname -p) in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + s390x:SunOS:*:*) + echo "$UNAME_MACHINE"-ibm-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')" + exit ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')" + exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux"$UNAME_RELEASE" + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + set_cc_for_build + SUN_ARCH=i386 + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH=x86_64 + fi + fi + echo "$SUN_ARCH"-pc-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" + exit ;; + sun4*:SunOS:*:*) + case "$(/usr/bin/arch -k)" in + Series*|S4*) + UNAME_RELEASE=$(uname -v) + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/')" + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos"$UNAME_RELEASE" + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=$( (sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null) + test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 + case "$(/bin/arch)" in + sun3) + echo m68k-sun-sunos"$UNAME_RELEASE" + ;; + sun4) + echo sparc-sun-sunos"$UNAME_RELEASE" + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos"$UNAME_RELEASE" + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint"$UNAME_RELEASE" + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint"$UNAME_RELEASE" + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint"$UNAME_RELEASE" + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint"$UNAME_RELEASE" + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint"$UNAME_RELEASE" + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint"$UNAME_RELEASE" + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten"$UNAME_RELEASE" + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten"$UNAME_RELEASE" + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix"$UNAME_RELEASE" + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix"$UNAME_RELEASE" + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix"$UNAME_RELEASE" + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && + dummyarg=$(echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p') && + SYSTEM_NAME=$("$dummy" "$dummyarg") && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos"$UNAME_RELEASE" + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=$(/usr/bin/uname -p) + if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 + then + if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ + test "$TARGET_BINARY_INTERFACE"x = x + then + echo m88k-dg-dgux"$UNAME_RELEASE" + else + echo m88k-dg-dguxbcs"$UNAME_RELEASE" + fi + else + echo i586-dg-dgux"$UNAME_RELEASE" + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/g')" + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'$(uname -s)'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if test -x /usr/bin/oslevel ; then + IBM_REV=$(/usr/bin/oslevel) + else + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" + fi + echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[4567]) + IBM_CPU_ID=$(/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }') + if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if test -x /usr/bin/lslpp ; then + IBM_REV=$(/usr/bin/lslpp -Lqc bos.rte.libc | + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/) + else + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" + fi + echo "$IBM_ARCH"-ibm-aix"$IBM_REV" + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//') + case "$UNAME_MACHINE" in + 9000/31?) HP_ARCH=m68000 ;; + 9000/[34]??) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if test -x /usr/bin/getconf; then + sc_cpu_version=$(/usr/bin/getconf SC_CPU_VERSION 2>/dev/null) + sc_kernel_bits=$(/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null) + case "$sc_cpu_version" in + 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 + 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "$sc_kernel_bits" in + 32) HP_ARCH=hppa2.0n ;; + 64) HP_ARCH=hppa2.0w ;; + '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 + esac ;; + esac + fi + if test "$HP_ARCH" = ""; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=$("$dummy") + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if test "$HP_ARCH" = hppa2.0w + then + set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | + grep -q __LP64__ + then + HP_ARCH=hppa2.0w + else + HP_ARCH=hppa64 + fi + fi + echo "$HP_ARCH"-hp-hpux"$HPUX_REV" + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//') + echo ia64-hp-hpux"$HPUX_REV" + exit ;; + 3050*:HI-UX:*:*) + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if test -x /usr/sbin/sysversion ; then + echo "$UNAME_MACHINE"-unknown-osf1mk + else + echo "$UNAME_MACHINE"-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=$(uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz) + FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///') + FUJITSU_REL=$(echo "$UNAME_RELEASE" | sed -e 's/ /_/') + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///') + FUJITSU_REL=$(echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/') + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi"$UNAME_RELEASE" + exit ;; + *:BSD/OS:*:*) + echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" + exit ;; + arm:FreeBSD:*:*) + UNAME_PROCESSOR=$(uname -p) + set_cc_for_build + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabi + else + echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabihf + fi + exit ;; + *:FreeBSD:*:*) + UNAME_PROCESSOR=$(/usr/bin/uname -p) + case "$UNAME_PROCESSOR" in + amd64) + UNAME_PROCESSOR=x86_64 ;; + i386) + UNAME_PROCESSOR=i586 ;; + esac + echo "$UNAME_PROCESSOR"-unknown-freebsd"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')" + exit ;; + i*:CYGWIN*:*) + echo "$UNAME_MACHINE"-pc-cygwin + exit ;; + *:MINGW64*:*) + echo "$UNAME_MACHINE"-pc-mingw64 + exit ;; + *:MINGW*:*) + echo "$UNAME_MACHINE"-pc-mingw32 + exit ;; + *:MSYS*:*) + echo "$UNAME_MACHINE"-pc-msys + exit ;; + i*:PW*:*) + echo "$UNAME_MACHINE"-pc-pw32 + exit ;; + *:Interix*:*) + case "$UNAME_MACHINE" in + x86) + echo i586-pc-interix"$UNAME_RELEASE" + exit ;; + authenticamd | genuineintel | EM64T) + echo x86_64-unknown-interix"$UNAME_RELEASE" + exit ;; + IA64) + echo ia64-unknown-interix"$UNAME_RELEASE" + exit ;; + esac ;; + i*:UWIN*:*) + echo "$UNAME_MACHINE"-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-pc-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" + exit ;; + *:GNU:*:*) + # the GNU system + echo "$(echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,')-unknown-$LIBC$(echo "$UNAME_RELEASE"|sed -e 's,/.*$,,')" + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo "$UNAME_MACHINE-unknown-$(echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]")$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')-$LIBC" + exit ;; + *:Minix:*:*) + echo "$UNAME_MACHINE"-unknown-minix + exit ;; + aarch64:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + alpha:Linux:*:*) + case $(sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null) in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC=gnulibc1 ; fi + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + arc:Linux:*:* | arceb:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + arm*:Linux:*:*) + set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi + else + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf + fi + fi + exit ;; + avr32*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + cris:Linux:*:*) + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" + exit ;; + crisv32:Linux:*:*) + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" + exit ;; + e2k:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + frv:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + hexagon:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + i*86:Linux:*:*) + echo "$UNAME_MACHINE"-pc-linux-"$LIBC" + exit ;; + ia64:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + k1om:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + m32r*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + m68*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + mips:Linux:*:* | mips64:Linux:*:*) + set_cc_for_build + IS_GLIBC=0 + test x"${LIBC}" = xgnu && IS_GLIBC=1 + sed 's/^ //' << EOF > "$dummy.c" + #undef CPU + #undef mips + #undef mipsel + #undef mips64 + #undef mips64el + #if ${IS_GLIBC} && defined(_ABI64) + LIBCABI=gnuabi64 + #else + #if ${IS_GLIBC} && defined(_ABIN32) + LIBCABI=gnuabin32 + #else + LIBCABI=${LIBC} + #endif + #endif + + #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa64r6 + #else + #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa32r6 + #else + #if defined(__mips64) + CPU=mips64 + #else + CPU=mips + #endif + #endif + #endif + + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + MIPS_ENDIAN=el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + MIPS_ENDIAN= + #else + MIPS_ENDIAN= + #endif + #endif +EOF + eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI')" + test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } + ;; + mips64el:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + openrisc*:Linux:*:*) + echo or1k-unknown-linux-"$LIBC" + exit ;; + or32:Linux:*:* | or1k*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-"$LIBC" + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-"$LIBC" + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case $(grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2) in + PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; + PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; + *) echo hppa-unknown-linux-"$LIBC" ;; + esac + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-"$LIBC" + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-"$LIBC" + exit ;; + ppc64le:Linux:*:*) + echo powerpc64le-unknown-linux-"$LIBC" + exit ;; + ppcle:Linux:*:*) + echo powerpcle-unknown-linux-"$LIBC" + exit ;; + riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" + exit ;; + sh64*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + sh*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + tile*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + vax:Linux:*:*) + echo "$UNAME_MACHINE"-dec-linux-"$LIBC" + exit ;; + x86_64:Linux:*:*) + set_cc_for_build + LIBCABI=$LIBC + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_X32 >/dev/null + then + LIBCABI="$LIBC"x32 + fi + fi + echo "$UNAME_MACHINE"-pc-linux-"$LIBCABI" + exit ;; + xtensa*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo "$UNAME_MACHINE"-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo "$UNAME_MACHINE"-unknown-stop + exit ;; + i*86:atheos:*:*) + echo "$UNAME_MACHINE"-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo "$UNAME_MACHINE"-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + echo i386-unknown-lynxos"$UNAME_RELEASE" + exit ;; + i*86:*DOS:*:*) + echo "$UNAME_MACHINE"-pc-msdosdjgpp + exit ;; + i*86:*:4.*:*) + UNAME_REL=$(echo "$UNAME_RELEASE" | sed 's/\/MP$//') + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" + else + echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case $(/bin/uname -X | grep "^Machine") in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}" + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=$(sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=$( (/bin/uname -X|grep Release|sed -e 's/.*= //')) + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" + else + echo "$UNAME_MACHINE"-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configure will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos"$UNAME_RELEASE" + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos"$UNAME_RELEASE" + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos"$UNAME_RELEASE" + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + echo powerpc-unknown-lynxos"$UNAME_RELEASE" + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv"$UNAME_RELEASE" + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=$( (uname -p) 2>/dev/null) + echo "$UNAME_MACHINE"-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo "$UNAME_MACHINE"-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux"$UNAME_RELEASE" + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if test -d /usr/nec; then + echo mips-nec-sysv"$UNAME_RELEASE" + else + echo mips-unknown-sysv"$UNAME_RELEASE" + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; + x86_64:Haiku:*:*) + echo x86_64-unknown-haiku + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux"$UNAME_RELEASE" + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux"$UNAME_RELEASE" + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux"$UNAME_RELEASE" + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux"$UNAME_RELEASE" + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux"$UNAME_RELEASE" + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux"$UNAME_RELEASE" + exit ;; + SX-ACE:SUPER-UX:*:*) + echo sxace-nec-superux"$UNAME_RELEASE" + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody"$UNAME_RELEASE" + exit ;; + *:Rhapsody:*:*) + echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" + exit ;; + arm64:Darwin:*:*) + echo aarch64-apple-darwin"$UNAME_RELEASE" + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=$(uname -p) + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + if command -v xcode-select > /dev/null 2> /dev/null && \ + ! xcode-select --print-path > /dev/null 2> /dev/null ; then + # Avoid executing cc if there is no toolchain installed as + # cc will be a stub that puts up a graphical alert + # prompting the user to install developer tools. + CC_FOR_BUILD=no_compiler_found + else + set_cc_for_build + fi + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_PPC >/dev/null + then + UNAME_PROCESSOR=powerpc + fi + elif test "$UNAME_PROCESSOR" = i386 ; then + # uname -m returns i386 or x86_64 + UNAME_PROCESSOR=$UNAME_MACHINE + fi + echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=$(uname -p) + if test "$UNAME_PROCESSOR" = x86; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NEO-*:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSE-*:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSR-*:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSV-*:NONSTOP_KERNEL:*:*) + echo nsv-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSX-*:NONSTOP_KERNEL:*:*) + echo nsx-tandem-nsk"$UNAME_RELEASE" + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + # shellcheck disable=SC2154 + if test "$cputype" = 386; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo "$UNAME_MACHINE"-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux"$UNAME_RELEASE" + exit ;; + *:DragonFly:*:*) + echo "$UNAME_MACHINE"-unknown-dragonfly"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')" + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=$( (uname -p) 2>/dev/null) + case "$UNAME_MACHINE" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo "$UNAME_MACHINE"-pc-skyos"$(echo "$UNAME_RELEASE" | sed -e 's/ .*$//')" + exit ;; + i*86:rdos:*:*) + echo "$UNAME_MACHINE"-pc-rdos + exit ;; + *:AROS:*:*) + echo "$UNAME_MACHINE"-unknown-aros + exit ;; + x86_64:VMkernel:*:*) + echo "$UNAME_MACHINE"-unknown-esx + exit ;; + amd64:Isilon\ OneFS:*:*) + echo x86_64-unknown-onefs + exit ;; + *:Unleashed:*:*) + echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE" + exit ;; +esac + +# No uname command or uname output not recognized. +set_cc_for_build +cat > "$dummy.c" < +#include +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#include +#if defined(_SIZE_T_) || defined(SIGLOST) +#include +#endif +#endif +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=$( (hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null); + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); +#endif + +#if defined (vax) +#if !defined (ultrix) +#include +#if defined (BSD) +#if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +#else +#if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#endif +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#else +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname un; + uname (&un); + printf ("vax-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("vax-dec-ultrix\n"); exit (0); +#endif +#endif +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname *un; + uname (&un); + printf ("mips-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("mips-dec-ultrix\n"); exit (0); +#endif +#endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=$($dummy) && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. +test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } + +echo "$0: unable to guess system type" >&2 + +case "$UNAME_MACHINE:$UNAME_SYSTEM" in + mips:Linux | mips64:Linux) + # If we got here on MIPS GNU/Linux, output extra information. + cat >&2 <&2 <&2 </dev/null || echo unknown) +uname -r = $( (uname -r) 2>/dev/null || echo unknown) +uname -s = $( (uname -s) 2>/dev/null || echo unknown) +uname -v = $( (uname -v) 2>/dev/null || echo unknown) + +/usr/bin/uname -p = $( (/usr/bin/uname -p) 2>/dev/null) +/bin/uname -X = $( (/bin/uname -X) 2>/dev/null) + +hostinfo = $( (hostinfo) 2>/dev/null) +/bin/universe = $( (/bin/universe) 2>/dev/null) +/usr/bin/arch -k = $( (/usr/bin/arch -k) 2>/dev/null) +/bin/arch = $( (/bin/arch) 2>/dev/null) +/usr/bin/oslevel = $( (/usr/bin/oslevel) 2>/dev/null) +/usr/convex/getsysinfo = $( (/usr/convex/getsysinfo) 2>/dev/null) + +UNAME_MACHINE = "$UNAME_MACHINE" +UNAME_RELEASE = "$UNAME_RELEASE" +UNAME_SYSTEM = "$UNAME_SYSTEM" +UNAME_VERSION = "$UNAME_VERSION" +EOF +fi + +exit 1 + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/recipes/hmmer/config.sub b/recipes/hmmer/config.sub new file mode 100644 index 0000000000000..38f3d037a785f --- /dev/null +++ b/recipes/hmmer/config.sub @@ -0,0 +1,1885 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright 1992-2021 Free Software Foundation, Inc. + +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2021-10-27' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). + + +# Please send patches to . +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# You can get the latest version of this script from: +# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX. However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS + +Canonicalize a configuration name. + +Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright 1992-2021 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo "$1" + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Split fields of configuration type +# shellcheck disable=SC2162 +saved_IFS=$IFS +IFS="-" read field1 field2 field3 field4 <&2 + exit 1 + ;; + *-*-*-*) + basic_machine=$field1-$field2 + basic_os=$field3-$field4 + ;; + *-*-*) + # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two + # parts + maybe_os=$field2-$field3 + case $maybe_os in + nto-qnx* | linux-* | uclinux-uclibc* \ + | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ + | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ + | storm-chaos* | os2-emx* | rtmk-nova*) + basic_machine=$field1 + basic_os=$maybe_os + ;; + android-linux) + basic_machine=$field1-unknown + basic_os=linux-android + ;; + *) + basic_machine=$field1-$field2 + basic_os=$field3 + ;; + esac + ;; + *-*) + # A lone config we happen to match not fitting any pattern + case $field1-$field2 in + decstation-3100) + basic_machine=mips-dec + basic_os= + ;; + *-*) + # Second component is usually, but not always the OS + case $field2 in + # Prevent following clause from handling this valid os + sun*os*) + basic_machine=$field1 + basic_os=$field2 + ;; + zephyr*) + basic_machine=$field1-unknown + basic_os=$field2 + ;; + # Manufacturers + dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ + | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ + | unicom* | ibm* | next | hp | isi* | apollo | altos* \ + | convergent* | ncr* | news | 32* | 3600* | 3100* \ + | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ + | ultra | tti* | harris | dolphin | highlevel | gould \ + | cbm | ns | masscomp | apple | axis | knuth | cray \ + | microblaze* | sim | cisco \ + | oki | wec | wrs | winbond) + basic_machine=$field1-$field2 + basic_os= + ;; + *) + basic_machine=$field1 + basic_os=$field2 + ;; + esac + ;; + esac + ;; + *) + # Convert single-component short-hands not valid as part of + # multi-component configurations. + case $field1 in + 386bsd) + basic_machine=i386-pc + basic_os=bsd + ;; + a29khif) + basic_machine=a29k-amd + basic_os=udi + ;; + adobe68k) + basic_machine=m68010-adobe + basic_os=scout + ;; + alliant) + basic_machine=fx80-alliant + basic_os= + ;; + altos | altos3068) + basic_machine=m68k-altos + basic_os= + ;; + am29k) + basic_machine=a29k-none + basic_os=bsd + ;; + amdahl) + basic_machine=580-amdahl + basic_os=sysv + ;; + amiga) + basic_machine=m68k-unknown + basic_os= + ;; + amigaos | amigados) + basic_machine=m68k-unknown + basic_os=amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + basic_os=sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + basic_os=sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + basic_os=bsd + ;; + aros) + basic_machine=i386-pc + basic_os=aros + ;; + aux) + basic_machine=m68k-apple + basic_os=aux + ;; + balance) + basic_machine=ns32k-sequent + basic_os=dynix + ;; + blackfin) + basic_machine=bfin-unknown + basic_os=linux + ;; + cegcc) + basic_machine=arm-unknown + basic_os=cegcc + ;; + convex-c1) + basic_machine=c1-convex + basic_os=bsd + ;; + convex-c2) + basic_machine=c2-convex + basic_os=bsd + ;; + convex-c32) + basic_machine=c32-convex + basic_os=bsd + ;; + convex-c34) + basic_machine=c34-convex + basic_os=bsd + ;; + convex-c38) + basic_machine=c38-convex + basic_os=bsd + ;; + cray) + basic_machine=j90-cray + basic_os=unicos + ;; + crds | unos) + basic_machine=m68k-crds + basic_os= + ;; + da30) + basic_machine=m68k-da30 + basic_os= + ;; + decstation | pmax | pmin | dec3100 | decstatn) + basic_machine=mips-dec + basic_os= + ;; + delta88) + basic_machine=m88k-motorola + basic_os=sysv3 + ;; + dicos) + basic_machine=i686-pc + basic_os=dicos + ;; + djgpp) + basic_machine=i586-pc + basic_os=msdosdjgpp + ;; + ebmon29k) + basic_machine=a29k-amd + basic_os=ebmon + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + basic_os=ose + ;; + gmicro) + basic_machine=tron-gmicro + basic_os=sysv + ;; + go32) + basic_machine=i386-pc + basic_os=go32 + ;; + h8300hms) + basic_machine=h8300-hitachi + basic_os=hms + ;; + h8300xray) + basic_machine=h8300-hitachi + basic_os=xray + ;; + h8500hms) + basic_machine=h8500-hitachi + basic_os=hms + ;; + harris) + basic_machine=m88k-harris + basic_os=sysv3 + ;; + hp300 | hp300hpux) + basic_machine=m68k-hp + basic_os=hpux + ;; + hp300bsd) + basic_machine=m68k-hp + basic_os=bsd + ;; + hppaosf) + basic_machine=hppa1.1-hp + basic_os=osf + ;; + hppro) + basic_machine=hppa1.1-hp + basic_os=proelf + ;; + i386mach) + basic_machine=i386-mach + basic_os=mach + ;; + isi68 | isi) + basic_machine=m68k-isi + basic_os=sysv + ;; + m68knommu) + basic_machine=m68k-unknown + basic_os=linux + ;; + magnum | m3230) + basic_machine=mips-mips + basic_os=sysv + ;; + merlin) + basic_machine=ns32k-utek + basic_os=sysv + ;; + mingw64) + basic_machine=x86_64-pc + basic_os=mingw64 + ;; + mingw32) + basic_machine=i686-pc + basic_os=mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + basic_os=mingw32ce + ;; + monitor) + basic_machine=m68k-rom68k + basic_os=coff + ;; + morphos) + basic_machine=powerpc-unknown + basic_os=morphos + ;; + moxiebox) + basic_machine=moxie-unknown + basic_os=moxiebox + ;; + msdos) + basic_machine=i386-pc + basic_os=msdos + ;; + msys) + basic_machine=i686-pc + basic_os=msys + ;; + mvs) + basic_machine=i370-ibm + basic_os=mvs + ;; + nacl) + basic_machine=le32-unknown + basic_os=nacl + ;; + ncr3000) + basic_machine=i486-ncr + basic_os=sysv4 + ;; + netbsd386) + basic_machine=i386-pc + basic_os=netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + basic_os=linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + basic_os=newsos + ;; + news1000) + basic_machine=m68030-sony + basic_os=newsos + ;; + necv70) + basic_machine=v70-nec + basic_os=sysv + ;; + nh3000) + basic_machine=m68k-harris + basic_os=cxux + ;; + nh[45]000) + basic_machine=m88k-harris + basic_os=cxux + ;; + nindy960) + basic_machine=i960-intel + basic_os=nindy + ;; + mon960) + basic_machine=i960-intel + basic_os=mon960 + ;; + nonstopux) + basic_machine=mips-compaq + basic_os=nonstopux + ;; + os400) + basic_machine=powerpc-ibm + basic_os=os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + basic_os=ose + ;; + os68k) + basic_machine=m68k-none + basic_os=os68k + ;; + paragon) + basic_machine=i860-intel + basic_os=osf + ;; + parisc) + basic_machine=hppa-unknown + basic_os=linux + ;; + psp) + basic_machine=mipsallegrexel-sony + basic_os=psp + ;; + pw32) + basic_machine=i586-unknown + basic_os=pw32 + ;; + rdos | rdos64) + basic_machine=x86_64-pc + basic_os=rdos + ;; + rdos32) + basic_machine=i386-pc + basic_os=rdos + ;; + rom68k) + basic_machine=m68k-rom68k + basic_os=coff + ;; + sa29200) + basic_machine=a29k-amd + basic_os=udi + ;; + sei) + basic_machine=mips-sei + basic_os=seiux + ;; + sequent) + basic_machine=i386-sequent + basic_os= + ;; + sps7) + basic_machine=m68k-bull + basic_os=sysv2 + ;; + st2000) + basic_machine=m68k-tandem + basic_os= + ;; + stratus) + basic_machine=i860-stratus + basic_os=sysv4 + ;; + sun2) + basic_machine=m68000-sun + basic_os= + ;; + sun2os3) + basic_machine=m68000-sun + basic_os=sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + basic_os=sunos4 + ;; + sun3) + basic_machine=m68k-sun + basic_os= + ;; + sun3os3) + basic_machine=m68k-sun + basic_os=sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + basic_os=sunos4 + ;; + sun4) + basic_machine=sparc-sun + basic_os= + ;; + sun4os3) + basic_machine=sparc-sun + basic_os=sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + basic_os=sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + basic_os=solaris2 + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + basic_os= + ;; + sv1) + basic_machine=sv1-cray + basic_os=unicos + ;; + symmetry) + basic_machine=i386-sequent + basic_os=dynix + ;; + t3e) + basic_machine=alphaev5-cray + basic_os=unicos + ;; + t90) + basic_machine=t90-cray + basic_os=unicos + ;; + toad1) + basic_machine=pdp10-xkl + basic_os=tops20 + ;; + tpf) + basic_machine=s390x-ibm + basic_os=tpf + ;; + udi29k) + basic_machine=a29k-amd + basic_os=udi + ;; + ultra3) + basic_machine=a29k-nyu + basic_os=sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + basic_os=none + ;; + vaxv) + basic_machine=vax-dec + basic_os=sysv + ;; + vms) + basic_machine=vax-dec + basic_os=vms + ;; + vsta) + basic_machine=i386-pc + basic_os=vsta + ;; + vxworks960) + basic_machine=i960-wrs + basic_os=vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + basic_os=vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + basic_os=vxworks + ;; + xbox) + basic_machine=i686-pc + basic_os=mingw32 + ;; + ymp) + basic_machine=ymp-cray + basic_os=unicos + ;; + *) + basic_machine=$1 + basic_os= + ;; + esac + ;; +esac + +# Decode 1-component or ad-hoc basic machines +case $basic_machine in + # Here we handle the default manufacturer of certain CPU types. It is in + # some cases the only manufacturer, in others, it is the most popular. + w89k) + cpu=hppa1.1 + vendor=winbond + ;; + op50n) + cpu=hppa1.1 + vendor=oki + ;; + op60c) + cpu=hppa1.1 + vendor=oki + ;; + ibm*) + cpu=i370 + vendor=ibm + ;; + orion105) + cpu=clipper + vendor=highlevel + ;; + mac | mpw | mac-mpw) + cpu=m68k + vendor=apple + ;; + pmac | pmac-mpw) + cpu=powerpc + vendor=apple + ;; + + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + cpu=m68000 + vendor=att + ;; + 3b*) + cpu=we32k + vendor=att + ;; + bluegene*) + cpu=powerpc + vendor=ibm + basic_os=cnk + ;; + decsystem10* | dec10*) + cpu=pdp10 + vendor=dec + basic_os=tops10 + ;; + decsystem20* | dec20*) + cpu=pdp10 + vendor=dec + basic_os=tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + cpu=m68k + vendor=motorola + ;; + dpx2*) + cpu=m68k + vendor=bull + basic_os=sysv3 + ;; + encore | umax | mmax) + cpu=ns32k + vendor=encore + ;; + elxsi) + cpu=elxsi + vendor=elxsi + basic_os=${basic_os:-bsd} + ;; + fx2800) + cpu=i860 + vendor=alliant + ;; + genix) + cpu=ns32k + vendor=ns + ;; + h3050r* | hiux*) + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + cpu=m68000 + vendor=hp + ;; + hp9k3[2-9][0-9]) + cpu=m68k + vendor=hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + cpu=hppa1.1 + vendor=hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + i*86v32) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv32 + ;; + i*86v4*) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv4 + ;; + i*86v) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv + ;; + i*86sol2) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=solaris2 + ;; + j90 | j90-cray) + cpu=j90 + vendor=cray + basic_os=${basic_os:-unicos} + ;; + iris | iris4d) + cpu=mips + vendor=sgi + case $basic_os in + irix*) + ;; + *) + basic_os=irix4 + ;; + esac + ;; + miniframe) + cpu=m68000 + vendor=convergent + ;; + *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) + cpu=m68k + vendor=atari + basic_os=mint + ;; + news-3600 | risc-news) + cpu=mips + vendor=sony + basic_os=newsos + ;; + next | m*-next) + cpu=m68k + vendor=next + case $basic_os in + openstep*) + ;; + nextstep*) + ;; + ns2*) + basic_os=nextstep2 + ;; + *) + basic_os=nextstep3 + ;; + esac + ;; + np1) + cpu=np1 + vendor=gould + ;; + op50n-* | op60c-*) + cpu=hppa1.1 + vendor=oki + basic_os=proelf + ;; + pa-hitachi) + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 + ;; + pbd) + cpu=sparc + vendor=tti + ;; + pbb) + cpu=m68k + vendor=tti + ;; + pc532) + cpu=ns32k + vendor=pc532 + ;; + pn) + cpu=pn + vendor=gould + ;; + power) + cpu=power + vendor=ibm + ;; + ps2) + cpu=i386 + vendor=ibm + ;; + rm[46]00) + cpu=mips + vendor=siemens + ;; + rtpc | rtpc-*) + cpu=romp + vendor=ibm + ;; + sde) + cpu=mipsisa32 + vendor=sde + basic_os=${basic_os:-elf} + ;; + simso-wrs) + cpu=sparclite + vendor=wrs + basic_os=vxworks + ;; + tower | tower-32) + cpu=m68k + vendor=ncr + ;; + vpp*|vx|vx-*) + cpu=f301 + vendor=fujitsu + ;; + w65) + cpu=w65 + vendor=wdc + ;; + w89k-*) + cpu=hppa1.1 + vendor=winbond + basic_os=proelf + ;; + none) + cpu=none + vendor=none + ;; + leon|leon[3-9]) + cpu=sparc + vendor=$basic_machine + ;; + leon-*|leon[3-9]-*) + cpu=sparc + vendor=`echo "$basic_machine" | sed 's/-.*//'` + ;; + + *-*) + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read cpu vendor <&2 + exit 1 + ;; + esac + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $vendor in + digital*) + vendor=dec + ;; + commodore*) + vendor=cbm + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if test x$basic_os != x +then + +# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just +# set os. +case $basic_os in + gnu/linux*) + kernel=linux + os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` + ;; + os2-emx) + kernel=os2 + os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` + ;; + nto-qnx*) + kernel=nto + os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` + ;; + *-*) + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read kernel os <&2 + exit 1 + ;; +esac + +# As a final step for OS-related things, validate the OS-kernel combination +# (given a valid OS), if there is a kernel. +case $kernel-$os in + linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ + | linux-musl* | linux-relibc* | linux-uclibc* ) + ;; + uclinux-uclibc* ) + ;; + -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) + # These are just libc implementations, not actual OSes, and thus + # require a kernel. + echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 + exit 1 + ;; + kfreebsd*-gnu* | kopensolaris*-gnu*) + ;; + vxworks-simlinux | vxworks-simwindows | vxworks-spe) + ;; + nto-qnx*) + ;; + os2-emx) + ;; + *-eabi* | *-gnueabi*) + ;; + -*) + # Blank kernel with real OS is always fine. + ;; + *-*) + echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 + exit 1 + ;; +esac + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +case $vendor in + unknown) + case $cpu-$os in + *-riscix*) + vendor=acorn + ;; + *-sunos*) + vendor=sun + ;; + *-cnk* | *-aix*) + vendor=ibm + ;; + *-beos*) + vendor=be + ;; + *-hpux*) + vendor=hp + ;; + *-mpeix*) + vendor=hp + ;; + *-hiux*) + vendor=hitachi + ;; + *-unos*) + vendor=crds + ;; + *-dgux*) + vendor=dg + ;; + *-luna*) + vendor=omron + ;; + *-genix*) + vendor=ns + ;; + *-clix*) + vendor=intergraph + ;; + *-mvs* | *-opened*) + vendor=ibm + ;; + *-os400*) + vendor=ibm + ;; + s390-* | s390x-*) + vendor=ibm + ;; + *-ptx*) + vendor=sequent + ;; + *-tpf*) + vendor=ibm + ;; + *-vxsim* | *-vxworks* | *-windiss*) + vendor=wrs + ;; + *-aux*) + vendor=apple + ;; + *-hms*) + vendor=hitachi + ;; + *-mpw* | *-macos*) + vendor=apple + ;; + *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) + vendor=atari + ;; + *-vos*) + vendor=stratus + ;; + esac + ;; +esac + +echo "$cpu-$vendor-${kernel:+$kernel-}$os" +exit + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/recipes/hmmer/meta.yaml b/recipes/hmmer/meta.yaml index f6561a1f17117..fdd92c051b30e 100644 --- a/recipes/hmmer/meta.yaml +++ b/recipes/hmmer/meta.yaml @@ -7,7 +7,7 @@ source: sha256: ca70d94fd0cf271bd7063423aabb116d42de533117343a9b27a65c17ff06fbf3 build: - number: 0 + number: 2 run_exports: # commands/options have been removed or replaced between minor versions - {{ pin_subpackage('hmmer', max_pin="x.x") }} @@ -43,3 +43,8 @@ about: home: http://hmmer.org/ license: BSD license_file: LICENSE + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/hmnrandomread/meta.yaml b/recipes/hmnrandomread/meta.yaml index 2789797cd9ed0..f572333f454e0 100644 --- a/recipes/hmnrandomread/meta.yaml +++ b/recipes/hmnrandomread/meta.yaml @@ -10,7 +10,7 @@ source: sha256: dc589ef91be1a4c5694aad3e34a4cd0b1818c131b03153e76634f01ed0719854 build: - number: 2 + number: 3 skip: true [osx] requirements: diff --git a/recipes/homer/meta.yaml b/recipes/homer/meta.yaml index a02b6c48e4c32..78bc32e2c14c1 100644 --- a/recipes/homer/meta.yaml +++ b/recipes/homer/meta.yaml @@ -16,10 +16,11 @@ source: - configureHomer.patch build: - number: 8 + number: 9 # Ships pre-built binaries that install_name_tool isn't able to fix. skip: True # [osx] - + run_exports: + - {{ pin_subpackage('homer', max_pin="x") }} # Dependencies according to http://homer.ucsd.edu/homer/introduction/install.html requirements: @@ -52,3 +53,6 @@ about: summary: 'Software for motif discovery and next generation sequencing analysis' maintainer: BioNinja, cokelaer, simonvh, r78v10a07 +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/hopla/meta.yaml b/recipes/hopla/meta.yaml index c628b8c8f198e..4dd3e825901cd 100644 --- a/recipes/hopla/meta.yaml +++ b/recipes/hopla/meta.yaml @@ -10,8 +10,10 @@ source: sha256: {{ hash }} build: - number: 0 + number: 1 noarch: generic + run_exports: + - {{ pin_subpackage("hopla", max_pin="x") }} requirements: run: @@ -26,7 +28,7 @@ requirements: - bioconductor-genomicranges >=1.42.0 - bioconductor-dnacopy >=1.64.0 - merlin 1.1.2.* # [not osx] - - pandoc >=2.* + - pandoc >=3.1.5 test: commands: diff --git a/recipes/hostile/meta.yaml b/recipes/hostile/meta.yaml index 4f8c76370bf62..59824376f57ac 100644 --- a/recipes/hostile/meta.yaml +++ b/recipes/hostile/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.4.0" %} +{% set version = "1.1.0" %} package: name: hostile @@ -6,7 +6,7 @@ package: source: url: https://pypi.io/packages/source/h/hostile/hostile-{{ version }}.tar.gz - sha256: dd003b09a7f17a8fc126bc81c2b402d1ab5946916f1f55dbcffa4c9c3014a56a + sha256: eee390f97ac9f669f10792a3fb487d92b9cec518c0b072338b3654a162965e2e build: noarch: python @@ -25,6 +25,7 @@ requirements: run: - bowtie2 ==2.4.5 - defopt >=6.4.0 + - dnaio >=1.2.0 - gawk >=5.1.0 - httpx >=0.24.1 - minimap2 >=2.26 @@ -50,4 +51,4 @@ about: extra: identifiers: - - doi:10.1101/2023.07.04.547735 + - doi:10.1093/bioinformatics/btad728 diff --git a/recipes/howdesbt/build.sh b/recipes/howdesbt/build.sh index 38f2b57b8bacb..2ad3f28ddfd40 100644 --- a/recipes/howdesbt/build.sh +++ b/recipes/howdesbt/build.sh @@ -1,5 +1,6 @@ #!/bin/bash + mkdir -p ${PREFIX}/bin -make CXXFLAGS="$CXXFLAGS -I$PREFIX/include/jellyfish-2.3.0" LDFLAGS="$LDFLAGS -lroaring -lsdsl -ljellyfish-2.0 -lpthread" -f Makefile_full +make CXXFLAGS="$CXXFLAGS -I$PREFIX/include/jellyfish-2.3.1" LDFLAGS="$LDFLAGS -lroaring -lsdsl -ljellyfish-2.0 -lpthread -L${PREFIX}/lib" -f Makefile_full cp howdesbt ${PREFIX}/bin chmod +x ${PREFIX}/bin/howdesbt diff --git a/recipes/howdesbt/meta.yaml b/recipes/howdesbt/meta.yaml index 72bd5ca6a2bcf..c540da7a790e0 100644 --- a/recipes/howdesbt/meta.yaml +++ b/recipes/howdesbt/meta.yaml @@ -1,6 +1,6 @@ {% set name = "HowDeSBT" %} -{% set version = "2.00.13" %} -{% set sha256 = "ab63a508a11a699272e268472b92adcfc83a10460a3d6dcff697efecf5b7e17b" %} +{% set version = "2.00.15" %} +{% set sha256 = "6a2eb6c49836ae191ad97b1a6bae9c1f6a4f9499429a95d95e4e2fd838e98a16" %} package: name: {{ name|lower }} @@ -11,7 +11,9 @@ source: sha256: {{ sha256 }} build: - number: 1 + number: 0 + run_exports: + - {{ pin_subpackage('howdesbt', max_pin="x") }} requirements: build: @@ -35,4 +37,4 @@ about: license: MIT license_family: MIT license_file: LICENSE - summary: Sequence Bloom Tree, supporting determined/how split filters + summary: "Sequence Bloom Tree, supporting determined/how split filters" diff --git a/recipes/hsdecipher/meta.yaml b/recipes/hsdecipher/meta.yaml new file mode 100644 index 0000000000000..a17618e11af73 --- /dev/null +++ b/recipes/hsdecipher/meta.yaml @@ -0,0 +1,34 @@ +{% set name = "HSDecipher" %} +{% set version = "1.1.2" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/zx0223winner/{{name|lower}}_conda/archive/refs/tags/v{{version}}.tar.gz + sha256: de199452e123255f2a2dd574900593c9ca6d9c91722c6f150b70f633d6a31af5 + +build: + number: 0 + noarch: python + script: bash conda_build_package.sh + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} + +requirements: + run: + - python >=3.7 + - pandas + - seaborn + - matplotlib-base +test: + commands: + - hsdecipher -h +about: + home: https://github.com/zx0223winner/HSDecipher + summary: Pipeline for the downstream analysis of highly similar duplicate genes + description: "Many tools have been developed to measure the degree of similarity between gene duplicates within and between species.Here, we present HSDecipher, a bioinformatics pipeline to assist users in the analysis and visualization of highly similar duplicate genes (HSDs). We describe the steps for analysis of HSDs statistics, expanding HSD gene set, and visualizing the results of comparative genomic analyses. HSDecipher represents a useful tool for researchers exploring the evolution of duplicate genes in select eukaryotic species." + license: GPL-3.0-or-later + license_file: license + diff --git a/recipes/hsdfinder/meta.yaml b/recipes/hsdfinder/meta.yaml new file mode 100644 index 0000000000000..78c91f35e2d72 --- /dev/null +++ b/recipes/hsdfinder/meta.yaml @@ -0,0 +1,32 @@ +{% set name = "HSDFinder" %} +{% set version = "1.1.1" %} +{% set sha256 = "2e578bc3161290ff64dfd3e24c91199b562d117d2d3f2aa45dde47142899478c" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/zx0223winner/hsdfinder_conda/archive/refs/tags/{{ name|lower }}.tar.gz + sha256: {{ sha256 }} + +build: + noarch: python + number: 0 + script: bash conda_build_package.sh + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} + +requirements: + run: + - python >=3.7 + - pandas +test: + commands: + - hsdfinder -h + - hsd_to_kegg -h +about: + home: https://github.com/zx0223winner/HSDFinder + summary: a tool to predict highly similar duplicates (HSDs) in eukaryotes + license: MIT + license_file: LICENSE.md diff --git a/recipes/htsbox/build.sh b/recipes/htsbox/build.sh index 9e8848d2dc477..e54829852c86a 100644 --- a/recipes/htsbox/build.sh +++ b/recipes/htsbox/build.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -xe + #strictly use anaconda build environment export CFLAGS="${CFLAGS} -L${PREFIX}/lib" export C_INCLUDE_PATH=${PREFIX}/include @@ -7,6 +9,6 @@ export LIBRARY_PATH=${PREFIX}/lib mkdir -p $PREFIX/bin -make CC=${CC} CFLAGS="${CFLAGS}" +make -j ${CPU_COUNT} CC=${CC} CFLAGS="${CFLAGS}" mv htsbox $PREFIX/bin diff --git a/recipes/htsbox/meta.yaml b/recipes/htsbox/meta.yaml index dc6e9d426c58d..7b1af21cb9476 100644 --- a/recipes/htsbox/meta.yaml +++ b/recipes/htsbox/meta.yaml @@ -7,7 +7,9 @@ package: version: {{ version }} build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage(name, max_pin=None) }} source: url: https://github.com/lh3/htsbox/archive/6964440d791a60a22ca5ff25dc413a362bdc0abe.tar.gz @@ -30,3 +32,8 @@ about: home: https://github.com/lh3/htsbox license: Unknown summary: HTSbox is a fork of early HTSlib. It is a collection of small experimental tools manipulating HTS-related files. + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/htseq/meta.yaml b/recipes/htseq/meta.yaml index a68cff9aff26b..bd437d80226bc 100644 --- a/recipes/htseq/meta.yaml +++ b/recipes/htseq/meta.yaml @@ -1,17 +1,18 @@ -{% set version = '2.0.4' %} +{% set name = "HTSeq" %} +{% set version = "2.0.5" %} +{% set sha256 = "2519675246dd1639115a76c9aacf19ab5bc5bed2f3598bf89cd97be5c0d066b3" %} package: - name: htseq + name: {{ name|lower }} version: {{ version }} source: - url: https://files.pythonhosted.org/packages/ed/ca/6f1e2f556cb2aad34ea8481f41a5a16dc52bef2e4fa55e7107b0b8e6bfe5/HTSeq-{{ version }}.tar.gz - sha256: 5510d855617d61efff2287af4cdc60a73e94bd735e44c15b57f189ea0634e6e0 + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + sha256: {{ sha256 }} build: - number: 0 - skip: True # [py2k or py == 36] - script: "{{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv" + number: 2 + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation run_exports: - {{ pin_subpackage('htseq', max_pin="x") }} @@ -25,6 +26,7 @@ requirements: - pip - cython - numpy + - wheel - pysam >=0.15.1 - swig >=3.0.8 run: @@ -32,6 +34,8 @@ requirements: - {{ pin_compatible('numpy') }} - matplotlib-base >=1.4 - pysam >=0.15.1 + - scipy >=1.5.0 + - pandas >=1.1.0 test: # Python imports @@ -53,6 +57,8 @@ about: summary: 'HTSeq is a Python library to facilitate processing and analysis of data from high-throughput sequencing (HTS) experiments.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:htseq - usegalaxy-eu:htseq_count diff --git a/recipes/htsinfer/meta.yaml b/recipes/htsinfer/meta.yaml new file mode 100644 index 0000000000000..b853db128b352 --- /dev/null +++ b/recipes/htsinfer/meta.yaml @@ -0,0 +1,57 @@ +{% set name = "HTSinfer" %} +{% set version = "0.11.0" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: https://github.com/zavolanlab/htsinfer/archive/refs/tags/v0.11.0.tar.gz + sha256: f7225290e12bf129bdb654f06f1cb98da577be81d35f7d17844447fcdf058618 + +build: + number: 1 + noarch: python + entry_points: + - htsinfer = htsinfer.cli:main + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x.x") }} + +requirements: + host: + - python >=3.8, <=3.10 + - pip >=20.2.3 + - setuptools-git >=1.2 + - numpy >=1.22, <1.25 + - pandas >=1.3.5, <1.4.0 + - biopython >=1.78 + - pydantic >=2, <3 + - pysam >=0.16.0 + - pyahocorasick >=1.4.0 + run: + - biopython >=1.78 + - cutadapt >=3.5, <=4.2 + - kallisto >=0.46.1, <= 0.48.0 + - numpy >=1.22, <1.25 + - pandas >=1.3.5, <1.4.0 + - pyahocorasick >=1.4.0 + - pydantic >=2, <3 + - pysam >=0.16.0 + - python >=3.8, <=3.10 + - star >=2.7.6 + +test: + commands: + - htsinfer --version + +about: + home: https://github.com/zavolanlab/htsinfer + license: Apache-2.0 + license_family: APACHE + license_file: LICENSE + summary: HTSinfer infers metadata from Illumina high throughput sequencing (HTS) data + +extra: + recipe-maintainers: + - balajtimate diff --git a/recipes/htslib/arm_hwcap.patch b/recipes/htslib/arm_hwcap.patch new file mode 100644 index 0000000000000..1cd80981b78cf --- /dev/null +++ b/recipes/htslib/arm_hwcap.patch @@ -0,0 +1,26 @@ +Conda-forge's build environment on ARM uses sysroot_linux-aarch64 2.17, which +is based on glibc 2.17 so does not define HWCAP_* values on ARM. +Work around this by including the kernel header to get the desired values. + +--- a/simd.c 2024-09-13 07:59:23.644080046 +1200 ++++ b/simd.c 2024-09-13 07:59:47.788059051 +1200 +@@ -44,6 +44,8 @@ + + #if defined __linux__ || defined __FreeBSD__ + #include ++// Ensure ARM HWCAP_* values are defined even on old glibc ++#include + #elif defined __APPLE__ + #include + #include +--- a/htscodecs/htscodecs/rANS_static4x16pr.c 2023-10-10 02:54:16 ++++ b/htscodecs/htscodecs/rANS_static4x16pr.c 2024-03-06 00:01:14 +@@ -1030,6 +1030,8 @@ + + #if defined(__linux__) || defined(__FreeBSD__) + #include ++// Ensure ARM HWCAP_* values are defined even on old glibc ++#include + #elif defined(_WIN32) + #include + #endif diff --git a/recipes/htslib/meta.yaml b/recipes/htslib/meta.yaml index 3890a36b3c80d..cde0c1dcfbca3 100644 --- a/recipes/htslib/meta.yaml +++ b/recipes/htslib/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.18" %} +{% set version = "1.21" %} package: name: htslib @@ -11,7 +11,9 @@ build: source: url: https://github.com/samtools/htslib/releases/download/{{ version }}/htslib-{{ version }}.tar.bz2 - sha256: f1ab53a593a2320a1bfadf4ef915dae784006c5b5c922c8a8174d7530a9af18f + sha256: 84b510e735f4963641f26fd88c8abdee81ff4cb62168310ae716636aac0f1823 + patches: + - arm_hwcap.patch requirements: build: @@ -24,13 +26,6 @@ requirements: - zlib - libdeflate - openssl # [not osx] - run: - - libcurl - - bzip2 - - xz - - zlib - - libdeflate - - openssl # [not osx] test: files: @@ -47,9 +42,15 @@ test: about: home: https://github.com/samtools/htslib license: MIT + license_family: MIT + license_file: LICENSE summary: C library for high-throughput sequencing data formats. + doc_url: http://www.htslib.org/ extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - biotools:HTSlib skip-lints: diff --git a/recipes/htstream/build_failure.osx-64.yaml b/recipes/htstream/build_failure.osx-64.yaml index cd76a4386b10c..400c56a63f8c5 100644 --- a/recipes/htstream/build_failure.osx-64.yaml +++ b/recipes/htstream/build_failure.osx-64.yaml @@ -1,104 +1,105 @@ -recipe_sha: e057a52a7fe7f50964b9a3d32ff6e699c1c954c81c3b6cd73dde5b04d3ba1f15 # The commit at which this recipe failed to build. +recipe_sha: f63c85f1a92190b28ae8a18c503b9179d490949acf6beb8b780ba20b5b2ae2c6 # The hash of the recipe's meta.yaml at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: compiler error log: |- - /opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/ext/googletest/googletest-release-1.10.0/googlemock/include/gmock/gmock-matchers.h:3842:10: note: in implicit move constructor for 'testing::PolymorphicMatcher>' first required here - return MakePolymorphicMatcher( - ^ - /opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/ext/googletest/googletest-release-1.10.0/googlemock/include/gmock/gmock-matchers.h:835:3: error: definition of implicit copy constructor for 'StartsWithMatcher' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy] - GTEST_DISALLOW_ASSIGN_(StartsWithMatcher); - ^ - /opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/ext/googletest/googletest-release-1.10.0/googletest/include/gtest/internal/gtest-port.h:682:8: note: expanded from macro 'GTEST_DISALLOW_ASSIGN_' - void operator=(type const &) = delete - ^ - /opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/ext/googletest/googletest-release-1.10.0/googletest/include/gtest/gtest-matchers.h:454:7: note: in implicit copy constructor for 'testing::internal::StartsWithMatcher' first required here - class PolymorphicMatcher { - ^ - /opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/ext/googletest/googletest-release-1.10.0/googlemock/include/gmock/gmock-matchers.h:3849:10: note: in implicit move constructor for 'testing::PolymorphicMatcher>' first required here - return MakePolymorphicMatcher( - ^ - /opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/ext/googletest/googletest-release-1.10.0/googlemock/include/gmock/gmock-matchers.h:891:3: error: definition of implicit copy constructor for 'EndsWithMatcher' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy] - GTEST_DISALLOW_ASSIGN_(EndsWithMatcher); - ^ - /opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/ext/googletest/googletest-release-1.10.0/googletest/include/gtest/internal/gtest-port.h:682:8: note: expanded from macro 'GTEST_DISALLOW_ASSIGN_' - void operator=(type const &) = delete - ^ - /opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/ext/googletest/googletest-release-1.10.0/googletest/include/gtest/gtest-matchers.h:454:7: note: in implicit copy constructor for 'testing::internal::EndsWithMatcher' first required here - class PolymorphicMatcher { - ^ - /opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/ext/googletest/googletest-release-1.10.0/googlemock/include/gmock/gmock-matchers.h:3856:10: note: in implicit move constructor for 'testing::PolymorphicMatcher>' first required here - return MakePolymorphicMatcher(internal::EndsWithMatcher(suffix)); - ^ - /opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/ext/googletest/googletest-release-1.10.0/googlemock/include/gmock/gmock-matchers.h:721:3: error: definition of implicit copy constructor for 'StrEqualityMatcher' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy] - GTEST_DISALLOW_ASSIGN_(StrEqualityMatcher); - ^ - /opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/ext/googletest/googletest-release-1.10.0/googletest/include/gtest/internal/gtest-port.h:682:8: note: expanded from macro 'GTEST_DISALLOW_ASSIGN_' - void operator=(type const &) = delete - ^ - /opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/ext/googletest/googletest-release-1.10.0/googletest/include/gtest/gtest-matchers.h:454:7: note: in implicit copy constructor for 'testing::internal::StrEqualityMatcher' first required here - class PolymorphicMatcher { - ^ - /opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/ext/googletest/googletest-release-1.10.0/googlemock/include/gmock/gmock-matchers.h:3865:10: note: in implicit move constructor for 'testing::PolymorphicMatcher>' first required here - return MakePolymorphicMatcher( - ^ - /opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/ext/googletest/googletest-release-1.10.0/googlemock/include/gmock/gmock-matchers.h:778:3: error: definition of implicit copy constructor for 'HasSubstrMatcher' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy] - GTEST_DISALLOW_ASSIGN_(HasSubstrMatcher); - ^ - /opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/ext/googletest/googletest-release-1.10.0/googletest/include/gtest/internal/gtest-port.h:682:8: note: expanded from macro 'GTEST_DISALLOW_ASSIGN_' - void operator=(type const &) = delete - ^ - /opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/ext/googletest/googletest-release-1.10.0/googletest/include/gtest/gtest-matchers.h:454:7: note: in implicit copy constructor for 'testing::internal::HasSubstrMatcher' first required here - class PolymorphicMatcher { - ^ - /opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/ext/googletest/googletest-release-1.10.0/googlemock/include/gmock/gmock-matchers.h:3894:10: note: in implicit move constructor for 'testing::PolymorphicMatcher>' first required here - return MakePolymorphicMatcher( - ^ - /opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/ext/googletest/googletest-release-1.10.0/googlemock/include/gmock/gmock-matchers.h:835:3: error: definition of implicit copy constructor for 'StartsWithMatcher' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy] - GTEST_DISALLOW_ASSIGN_(StartsWithMatcher); - ^ - /opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/ext/googletest/googletest-release-1.10.0/googletest/include/gtest/internal/gtest-port.h:682:8: note: expanded from macro 'GTEST_DISALLOW_ASSIGN_' - void operator=(type const &) = delete - ^ - /opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/ext/googletest/googletest-release-1.10.0/googletest/include/gtest/gtest-matchers.h:454:7: note: in implicit copy constructor for 'testing::internal::StartsWithMatcher' first required here - class PolymorphicMatcher { - ^ - /opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/ext/googletest/googletest-release-1.10.0/googlemock/include/gmock/gmock-matchers.h:3901:10: note: in implicit move constructor for 'testing::PolymorphicMatcher>' first required here - return MakePolymorphicMatcher( - ^ - /opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/ext/googletest/googletest-release-1.10.0/googlemock/include/gmock/gmock-matchers.h:891:3: error: definition of implicit copy constructor for 'EndsWithMatcher' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy] - GTEST_DISALLOW_ASSIGN_(EndsWithMatcher); - ^ - /opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/ext/googletest/googletest-release-1.10.0/googletest/include/gtest/internal/gtest-port.h:682:8: note: expanded from macro 'GTEST_DISALLOW_ASSIGN_' - void operator=(type const &) = delete - ^ - /opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/ext/googletest/googletest-release-1.10.0/googletest/include/gtest/gtest-matchers.h:454:7: note: in implicit copy constructor for 'testing::internal::EndsWithMatcher' first required here - class PolymorphicMatcher { - ^ - /opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/ext/googletest/googletest-release-1.10.0/googlemock/include/gmock/gmock-matchers.h:3908:10: note: in implicit move constructor for 'testing::PolymorphicMatcher>' first required here - return MakePolymorphicMatcher( - ^ - 12 errors generated. - make[5]: *** [googlemock/CMakeFiles/gmock.dir/build.make:76: googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o] Error 1 - make[4]: *** [CMakeFiles/Makefile2:119: googlemock/CMakeFiles/gmock.dir/all] Error 2 - make[3]: *** [Makefile:146: all] Error 2 - make[2]: *** [CMakeFiles/googletest.dir/build.make:86: src/googletest-stamp/googletest-build] Error 2 - make[1]: *** [CMakeFiles/Makefile2:326: CMakeFiles/googletest.dir/all] Error 2 - make: *** [Makefile:146: all] Error 2 - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env + CLANG=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/htstream_1685384051284/work/conda_build.sh']' returned non-zero exit status 2. + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/htstream_1718123498186/work/conda_build.sh']' returned non-zero exit status 2. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/htstream-1.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/htstream-1.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/htstream-1.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + -- The C compiler identification is Clang 16.0.6 + -- The CXX compiler identification is Clang 16.0.6 + -- Detecting C compiler ABI info + -- Detecting C compiler ABI info - done + -- Check for working C compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting C compile features + -- Detecting C compile features - done + -- Detecting CXX compiler ABI info + -- Detecting CXX compiler ABI info - done + -- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting CXX compile features + -- Detecting CXX compile features - done + -- tar result: 0 $SRC_DIR/ext/googletest/release-1.10.0.tar.gz + -- Found Boost: $PREFIX/lib/cmake/Boost-1.85.0/BoostConfig.cmake (found suitable version "1.85.0", minimum required is "1.56") found components: system program_options filesystem iostreams + -- Performing Test CMAKE_HAVE_LIBC_PTHREAD + -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success + -- Found Threads: TRUE + -- Found Boost: $PREFIX/lib/cmake/Boost-1.85.0/BoostConfig.cmake (found suitable version "1.85.0", minimum required is "1.56") found components: system program_options iostreams filesystem + -- Configuring done (6.7s) + -- Generating done (0.2s) + -- Build files have been written to: $SRC_DIR/build + [ 1%] Creating directories for 'googletest' + [ 2%] No download step for 'googletest' + [ 4%] No update step for 'googletest' + [ 5%] No patch step for 'googletest' + [ 7%] Performing configure step for 'googletest' + -- The C compiler identification is Clang 16.0.6 + -- The CXX compiler identification is Clang 16.0.6 + -- Detecting C compiler ABI info + -- Detecting C compiler ABI info - done + -- Check for working C compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting C compile features + -- Detecting C compile features - done + -- Detecting CXX compiler ABI info + -- Detecting CXX compiler ABI info - done + -- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting CXX compile features + -- Detecting CXX compile features - done + -- Found PythonInterp: $PREFIX/bin/python (found version "3.12.3") + -- Performing Test CMAKE_HAVE_LIBC_PTHREAD + -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success + -- Found Threads: TRUE + -- Configuring done (2.0s) + -- Generating done (0.0s) + -- Build files have been written to: $SRC_DIR/build/src/googletest-build + [ 8%] Performing build step for 'googletest' + [ 12%] Building CXX object googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o + [ 25%] Linking CXX static library ../lib/libgtest.a + [ 25%] Built target gtest + [ 37%] Building CXX object googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o # Last 100 lines of the build log. diff --git a/recipes/htstream/meta.yaml b/recipes/htstream/meta.yaml index 7ac46da0860a0..5e55ca6df3bf3 100644 --- a/recipes/htstream/meta.yaml +++ b/recipes/htstream/meta.yaml @@ -10,7 +10,7 @@ source: sha256: {{ sha256 }} build: - number: 4 + number: 5 requirements: build: diff --git a/recipes/humann/meta.yaml b/recipes/humann/meta.yaml index f9377f272b547..59b857d938c49 100644 --- a/recipes/humann/meta.yaml +++ b/recipes/humann/meta.yaml @@ -1,5 +1,5 @@ {% set name = "humann" %} -{% set version = "3.8" %} +{% set version = "3.9" %} package: name: "{{ name|lower }}" @@ -7,11 +7,11 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 67586cbf4c31d434cae79b3f6c03d01b10fcdc9abe032e273837921a96992946 + sha256: d018ddbbe45f5e3e11080620b4ae5f1737ba213d2c8cecdc8237859f853b2287 build: number: 0 - noarch: python + noarch: generic entry_points: - humann = humann.humann:main - humann3 = humann.humann:main @@ -24,28 +24,25 @@ build: - humann_renorm_table = humann.tools.renorm_table:main - humann_regroup_table = humann.tools.regroup_table:main - humann_infer_taxonomy = humann.tools.infer_taxonomy:main - - humann_humann1_kegg = humann.tools.humann_humann1_kegg:main - - humann_rna_dna_norm = humann.tools.rna_dna_norm:main - - humann_strain_profiler = humann.tools.strain_profiler:main - humann_reduce_table = humann.tools.reduce_table:main - humann_unpack_pathways = humann.tools.merge_abundance:main - humann_test = humann.tests.humann_test:main - humann_build_custom_database = humann.tools.build_custom_database:main - humann_genefamilies_genus_level = humann.tools.genefamilies_genus_level:main - humann_split_stratified_table = humann.tools.split_stratified_table:main - - humann_associate = humann.tools.humann_associate:main - humann_barplot = humann.tools.humann_barplot:main - humann_benchmark = humann.tools.humann_benchmark:main - # We cannot use pip anymore since the --install-option flag that is advised by humann has been deprecated - # in pip. - script: "{{ PYTHON }} setup.py install --bypass-dependencies-install" + - humann_expand_cluster = humann.tools.expand_cluster:main + script: "{{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir" + run_exports: + - {{ pin_subpackage('humann', max_pin="x") }} requirements: host: - pip - - python + - python >=3 run: - - python + - python >=3 - metaphlan >=4.0 - diamond >=0.9.36 - glpk @@ -69,24 +66,26 @@ test: - humann_rename_table --help - humann_renorm_table --help - humann_regroup_table --help - - humann_humann1_kegg --help - - humann_rna_dna_norm --help - - humann_strain_profiler --help - humann_reduce_table --help - humann_unpack_pathways --help - humann_test --help - humann_build_custom_database --help - humann_genefamilies_genus_level --help - humann_split_stratified_table --help - - humann_associate --help - humann_barplot --help - humann_benchmark --help - humann_test about: - home: "http://huttenhower.sph.harvard.edu/humann" + home: "https://huttenhower.sph.harvard.edu/humann" license: MIT license_family: MIT + license_file: LICENSE summary: "HUMAnN: The HMP Unified Metabolic Analysis Network, version 3" - doc_url: http://huttenhower.sph.harvard.edu/humann - dev_url: https://github.com/biobakery/humann + doc_url: "http://huttenhower.sph.harvard.edu/humann" + dev_url: "https://github.com/biobakery/humann" + +extra: + identifiers: + - doi:10.7554/eLife.65088 + - biotools:humann diff --git a/recipes/humid/meta.yaml b/recipes/humid/meta.yaml index bbc1e7ba47dc4..4bb2f60c72a36 100644 --- a/recipes/humid/meta.yaml +++ b/recipes/humid/meta.yaml @@ -1,4 +1,4 @@ -{% set version="1.0.2" %} +{% set version = "1.0.4" %} package: name: humid @@ -6,10 +6,12 @@ package: source: url: https://github.com/jfjlaros/HUMID/releases/download/v{{ version }}/humid-v{{ version }}.tar.gz - sha256: 3e35f663884cb47b089740629a61537e56536479c0c9b560819e599fd047d34e + sha256: 5da8a2a95514304b7a32a6525bb6047bae16b96e56a9737a57a745470eac7733 build: - number: 2 + number: 1 + run_exports: + - {{ pin_subpackage('humid', max_pin="x") }} requirements: build: @@ -17,7 +19,6 @@ requirements: - {{ compiler('c') }} - {{ compiler('cxx') }} - isa-l - - libdeflate host: - isa-l - libdeflate @@ -32,4 +33,6 @@ test: about: home: https://github.com/jfjlaros/HUMID license: MIT + license_family: MIT summary: HUMID -- High-performance UMI Deduplicator + doc_url: https://humid.readthedocs.io/en/latest/usage.html diff --git a/recipes/hybkit/meta.yaml b/recipes/hybkit/meta.yaml index e350da1a32f29..ccf29b84b5449 100644 --- a/recipes/hybkit/meta.yaml +++ b/recipes/hybkit/meta.yaml @@ -1,5 +1,5 @@ {% set name = "hybkit" %} -{% set version = "0.3.4" %} +{% set version = "0.3.6" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://github.com/RenneLab/hybkit/archive/v{{ version }}.tar.gz - sha256: 6f42b1e116dd668b5fd2847691bc6b78cf641f9c1aae91ca752e6df6d18022cd + sha256: 8b977039da3c6f915215111f9f9c591734f8a18aa447a23c7c3b442caacface8 build: noarch: python diff --git a/recipes/hybpiper/build.sh b/recipes/hybpiper/build.sh deleted file mode 100644 index 9354bfd059e95..0000000000000 --- a/recipes/hybpiper/build.sh +++ /dev/null @@ -1,3 +0,0 @@ -# Install HybPiper -$PYTHON -m pip install --no-deps --ignore-installed . - diff --git a/recipes/hybpiper/build_failure.osx-64.yaml b/recipes/hybpiper/build_failure.osx-64.yaml deleted file mode 100644 index 49cc73ed6a35e..0000000000000 --- a/recipes/hybpiper/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 35ef1b5ef27a3fde696e04cc087c0ade7814653834908273028c6dee9080552e # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - ld64_osx-64: 609-h8ce0179_13 conda-forge - libclang-cpp15: 15.0.7-default_hdb78580_2 conda-forge - libcxx: 16.0.4-hd57cbcb_0 conda-forge - libexpat: 2.5.0-hf0c8a7f_1 conda-forge - libffi: 3.4.2-h0d85af4_5 conda-forge - libiconv: 1.17-hac89ed1_0 conda-forge - libllvm15: 15.0.7-he4b1e75_2 conda-forge - libsqlite: 3.42.0-h58db7d2_0 conda-forge - libxml2: 2.11.4-hd95e348_0 conda-forge - libzlib: 1.2.13-hfd90126_4 conda-forge - llvm-tools: 15.0.7-he4b1e75_2 conda-forge - ncurses: 6.3-h96cf925_1 conda-forge - openssl: 3.1.1-h8a1eda9_1 conda-forge - python: 3.11.3-h99528f9_0_cpython conda-forge - readline: 8.2-h9e318b2_1 conda-forge - setuptools: 67.7.2-pyhd8ed1ab_0 conda-forge - sigtool: 0.1.3-h88f4db0_0 conda-forge - tapi: 1100.0.11-h9ce4665_0 conda-forge - tk: 8.6.12-h5dbffcc_0 conda-forge - tzdata: 2023c-h71feb2d_0 conda-forge - xz: 5.2.6-h775f41a_0 conda-forge - zstd: 1.5.2-hbc0c0cd_6 conda-forge - - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache - INFO:conda_build.source:Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache - INFO:conda_build.source:Downloading source to cache: v2.1.3_677d046ceb.tar.gz - INFO:conda_build.source:Downloading https://github.com/mossmatters/HybPiper/archive/refs/tags/v2.1.3.tar.gz - Downloading source to cache: v2.1.3_677d046ceb.tar.gz - Downloading https://github.com/mossmatters/HybPiper/archive/refs/tags/v2.1.3.tar.gz - Success - INFO:conda_build.source:Success - Extracting download - source tree in: /opt/mambaforge/envs/bioconda/conda-bld/hybpiper_1685527655123/work - export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/hybpiper_1685527655123/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place - export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/hybpiper_1685527655123/_build_env - export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/hybpiper_1685527655123/work - INFO: activate_clang_osx-64.sh made the following environmental changes: - AR=x86_64-apple-darwin13.4.0-ar - AS=x86_64-apple-darwin13.4.0-as - CC=x86_64-apple-darwin13.4.0-clang - CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/hybpiper-2.1.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix - CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms - CLANG=x86_64-apple-darwin13.4.0-clang - CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin - CMAKE_PREFIX_PATH=:$PREFIX - CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 - CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 - CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 - DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/hybpiper-2.1.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix - HOST=x86_64-apple-darwin13.4.0 - INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool - LD=x86_64-apple-darwin13.4.0-ld - LDFLAGS=-Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib - LDFLAGS_LD=-pie -headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib - LIBTOOL=x86_64-apple-darwin13.4.0-libtool - LIPO=x86_64-apple-darwin13.4.0-lipo - MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib - NM=x86_64-apple-darwin13.4.0-nm - NMEDIT=x86_64-apple-darwin13.4.0-nmedit - OBJC=x86_64-apple-darwin13.4.0-clang - OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - OTOOL=x86_64-apple-darwin13.4.0-otool - PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff - RANLIB=x86_64-apple-darwin13.4.0-ranlib - REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding - SDKROOT=/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk - SEGEDIT=x86_64-apple-darwin13.4.0-segedit - SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table - SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack - SIZE=x86_64-apple-darwin13.4.0-size - STRINGS=x86_64-apple-darwin13.4.0-strings - STRIP=x86_64-apple-darwin13.4.0-strip - _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 - ac_cv_func_malloc_0_nonnull=yes - ac_cv_func_realloc_0_nonnull=yes - build_alias=x86_64-apple-darwin13.4.0 - host_alias=x86_64-apple-darwin13.4.0 - /opt/mambaforge/envs/bioconda/conda-bld/hybpiper_1685527655123/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/bin/python: No module named pip - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/hybpiper_1685527655123/work/conda_build.sh']' returned non-zero exit status 1. -# Last 100 lines of the build log. diff --git a/recipes/hybpiper/meta.yaml b/recipes/hybpiper/meta.yaml index af8c4ee099aa5..069d3780b89be 100644 --- a/recipes/hybpiper/meta.yaml +++ b/recipes/hybpiper/meta.yaml @@ -1,5 +1,5 @@ {% set name = "hybpiper" %} -{% set version = "2.1.6" %} +{% set version = "2.3.0" %} package: name: {{ name|lower }} @@ -7,18 +7,21 @@ package: source: url: "https://github.com/mossmatters/HybPiper/archive/refs/tags/v{{ version }}.tar.gz" - sha256: ac175b2b02cd9fcc1d195a4edd68dd1e004c6d2e2bb5658f4cce9b2a4339b4c9 + sha256: 7b9d0af243dbdd24cb299cf8e05e65dafa873afc2c7605e3fae74b455457b491 build: number: 0 + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + entry_points: + - hybpiper = hybpiper.hybpiper_main:main + run_exports: + - {{ pin_subpackage('hybpiper', max_pin="x") }} requirements: - build: - - {{ compiler('c') }} - - setuptools host: - - python >=3.7.0 # [linux] - - python >=3.7.0,<3.10 # [osx] + - python >=3.7 + - pip run: - bbmap >=38.44 - biopython >=1.80 @@ -34,9 +37,9 @@ requirements: - progressbar2 >=3.38.0 - psutil >=5.9.0 - samtools >=1.14 - - seaborn >=0.11.1 - - spades >=3.15.2 # [osx] - - spades >=3.15.4 # [linux] + - seaborn-base >=0.11.1 + - spades >=3.15.2 # [osx] + - spades >=3.15.4 # [linux] - trimmomatic test: @@ -55,10 +58,10 @@ test: - hybpiper.fix_targetfile about: - home: "https://github.com/mossmatters/HybPiper" - license: GPL-3.0-or-later - license_family: GPL - license_file: LICENSE.txt - summary: > - HybPiper is a suite of Python scripts/modules for targeted sequence - capture + home: "https://github.com/mossmatters/HybPiper" + dev_url: "https://github.com/mossmatters/HybPiper" + doc_url: "https://github.com/mossmatters/HybPiper/wiki" + license: "GPL-3.0-or-later" + license_family: GPL3 + license_file: "LICENSE.txt" + summary: "HybPiper is a suite of Python scripts/modules for targeted sequence capture." diff --git a/recipes/hybracter/meta.yaml b/recipes/hybracter/meta.yaml index 4fd336ec8d85d..d4752768e5416 100644 --- a/recipes/hybracter/meta.yaml +++ b/recipes/hybracter/meta.yaml @@ -1,5 +1,5 @@ {% set name = "hybracter" %} -{% set version = "0.4.1" %} +{% set version = "0.9.1" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/hybracter-{{ version }}.tar.gz - sha256: 934eb7cc5024a4aac40e6f239a371cd2f1c987361d0c423f27cb24cc65b39217 + sha256: e5f71934901552d4c26a3be0cae71982001ed866af0c27fe2da8432b08d395ad build: number: 0 diff --git a/recipes/hybran/meta.yaml b/recipes/hybran/meta.yaml index 5b4b6abd05446..4d343203276db 100644 --- a/recipes/hybran/meta.yaml +++ b/recipes/hybran/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.7.1" %} +{% set version = "1.8" %} package: name: hybran @@ -6,12 +6,14 @@ package: source: url: https://gitlab.com/LPCDRP/hybran/-/archive/{{ version }}/hybran-{{ version }}.tar.gz - sha256: 'c256e88009d0a2cc3fffcb021613392f6a71ee6905bfe1a1d806b962b5243017' + sha256: 'cd46ec155109e59ddadf6942a54edcd9c350c6571ae81524eab44d4b695cbbdb' build: noarch: python number: 0 script: python -m pip install --no-deps --ignore-installed . + run_exports: + - {{ pin_subpackage('hybran', max_pin=None) }} requirements: host: @@ -26,8 +28,10 @@ requirements: - eggnog-mapper - emboss - entrez-direct + - intervaltree - mcl - multiprocess + - networkx - prokka >=1.14 - python >=3.9 - ratt @@ -42,4 +46,4 @@ about: dev_url: https://gitlab.com/LPCDRP/hybran license: GPLv3 license_file: LICENSE - summary: Hybrid reference transfer and ab initio prokaryotic genome annotation + summary: Comparative prokaryotic genome annotation diff --git a/recipes/hylight/build.sh b/recipes/hylight/build.sh new file mode 100644 index 0000000000000..72be420c9a094 --- /dev/null +++ b/recipes/hylight/build.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [[ "$(uname)" == "Darwin" ]]; then + ${PYTHON} -m pip install . --no-build-isolation --no-cache-dir --no-deps -vvv +else + ${PYTHON} -m pip install . --no-build-isolation --no-cache-dir --no-deps -vvv + hylight_conda_dir="${PREFIX}/lib/python3.6/site-packages/HyLight" + chmod +x $hylight_conda_dir/script/*py + cd ${SRC_DIR}/HyLight/tools/miniasm + make clean + make CC="${CC}" CPPFLAGS="${CPPFLAGS}" LIBS="${LDFLAGS} -lm -lz -lpthread -L${PREFIX}/lib" -j"${CPU_COUNT}" + cp -rf ${SRC_DIR}/HyLight/tools/miniasm/miniasm $hylight_conda_dir/tools/miniasm + cd ${SRC_DIR}/HyLight/tools/HaploConduct + make clean + make CC="${CXX}" CPPFLAGS="-Wall -fopenmp -std=c++14 -g -O3 -L${PREFIX}/lib -I${PREFIX}/include" -j"${CPU_COUNT}" + cp -rf bin quick-cliques/bin $hylight_conda_dir/tools/HaploConduct -r +fi diff --git a/recipes/hylight/meta.yaml b/recipes/hylight/meta.yaml new file mode 100644 index 0000000000000..afdf463050468 --- /dev/null +++ b/recipes/hylight/meta.yaml @@ -0,0 +1,52 @@ +{% set name = "hylight" %} +{% set version = "1.0.0" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/LuoGroup2023/HyLight/releases/download/v{{ version }}/hylight.tar.gz + sha256: db01d912fef092c68d7a0dbad9c74e6330388f6524fe072f161a2a2c64f84573 + +build: + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + +requirements: + build: + - make + - {{ compiler('c') }} + - {{ compiler('cxx') }} + host: + - python ==3.6.15 + - pip + - zlib + - boost-cpp ==1.82 + run: + - python ==3.6.15 + - scipy ==1.5.3 + - numpy ==1.19.5 + - pandas ==1.1.5 + - minimap2 ==2.26 + - bfc ==r181 + - fmlrc2 ==0.1.7 + - ropebwt2 ==r187 + - racon ==1.5.0 + - boost-cpp ==1.82 + +test: + commands: + - hylight -h + +about: + home: "https://github.com/LuoGroup2023/HyLight" + license: MIT + license_family: MIT + summary: "Strain aware assembly of low coverage metagenomes." + dev_url: "https://github.com/LuoGroup2023/HyLight" + +extra: + skip-lints: + - should_be_noarch_python diff --git a/recipes/hyphy/build.sh b/recipes/hyphy/build.sh index 133335196642c..50ac0f9bd45ef 100644 --- a/recipes/hyphy/build.sh +++ b/recipes/hyphy/build.sh @@ -1,3 +1,14 @@ -cmake -DCMAKE_INSTALL_PREFIX=$PREFIX -DNOAVX=ON . +#!/usr/bin/env bash + +case $(uname -m) in + aarch64) + HYPHY_OPTS="" + ;; + *) + HYPHY_OPTS="-DNOAVX=ON" + ;; +esac + +cmake -DCMAKE_INSTALL_PREFIX=$PREFIX ${HYPHY_OPTS} . make hyphy HYPHYMPI make install diff --git a/recipes/hyphy/meta.yaml b/recipes/hyphy/meta.yaml index a22a1c4664913..b531a053fb8a8 100644 --- a/recipes/hyphy/meta.yaml +++ b/recipes/hyphy/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "2.5.57" %} -{% set sha256 = "5412331ff40b58fa69f34ad67f3431e662e9c2002f5d035f47225f26b8e3533c" %} +{% set version = "2.5.62" %} +{% set sha256 = "8b98ef1d69f1a985026282d644e5df022bd22c1e2614f9d8348377f291e7f9e8" %} package: name: hyphy @@ -10,7 +10,7 @@ source: sha256: '{{ sha256 }}' build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage("hyphy", max_pin="x.x") }} requirements: @@ -23,11 +23,7 @@ requirements: host: - libcurl - openmpi - - openssl - run: - - libcurl - - openmpi - - openssl + - zlib test: commands: @@ -45,5 +41,10 @@ about: dev_url: https://github.com/veg/hyphy extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 container: extended-base: true + identifiers: + - doi:10.1093/molbev/msz197 diff --git a/recipes/iced/build_failure.linux-64.yaml b/recipes/iced/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..f74af48eaf70a --- /dev/null +++ b/recipes/iced/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 400ed2c0710342dc29523fa08cc66e0bbb7567fabf768184c9bb8ce3c8141cf4 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + + [1;35mnote[0m: This error originates from a subprocess, and is likely not a problem with pip. + [1;35mfull command[0m: [34m/opt/conda/conda-bld/iced_1717609030770/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/bin/python /opt/conda/conda-bld/iced_1717609030770/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmpfguomjtm[0m + [1;35mcwd[0m: /opt/conda/conda-bld/iced_1717609030770/work + Preparing metadata (pyproject.toml): finished with status 'error' + [1;31merror[0m: [1mmetadata-generation-failed[0m + + [31m[0m Encountered error while generating package metadata. + [31m>[0m See above for output. + + [1;35mnote[0m: This is an issue with the package mentioned above, not pip. + [1;36mhint[0m: See above for details. + Exception information: + Traceback (most recent call last): + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/operations/build/metadata.py", line 35, in generate_metadata + distinfo_dir = backend.prepare_metadata_for_build_wheel(metadata_dir) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/utils/misc.py", line 766, in prepare_metadata_for_build_wheel + return super().prepare_metadata_for_build_wheel( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 186, in prepare_metadata_for_build_wheel + return self._call_hook('prepare_metadata_for_build_wheel', { + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 311, in _call_hook + self._subprocess_runner( + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/utils/subprocess.py", line 252, in runner + call_subprocess( + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/utils/subprocess.py", line 224, in call_subprocess + raise error + pip._internal.exceptions.InstallationSubprocessError: Preparing metadata (pyproject.toml) exited with 1 + + The above exception was the direct cause of the following exception: + + Traceback (most recent call last): + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper + status = run_func(*args) + ^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper + return func(self, options, args) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/commands/install.py", line 377, in run + requirement_set = resolver.resolve( + ^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 76, in resolve + collected = self.factory.collect_root_requirements(root_reqs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 534, in collect_root_requirements + reqs = list( + ^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 490, in _make_requirements_from_install_req + cand = self._make_base_candidate_from_link( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 228, in _make_base_candidate_from_link + self._link_candidate_cache[link] = LinkCandidate( + ^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 290, in __init__ + super().__init__( + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__ + self.dist = self._prepare() + ^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 222, in _prepare + dist = self._prepare_distribution() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 301, in _prepare_distribution + return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 525, in prepare_linked_requirement + return self._prepare_linked_requirement(req, parallel_builds) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 640, in _prepare_linked_requirement + dist = _get_prepared_distribution( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution + abstract_dist.prepare_distribution_metadata( + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/distributions/sdist.py", line 67, in prepare_distribution_metadata + self.req.prepare_metadata() + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/req/req_install.py", line 579, in prepare_metadata + self.metadata_directory = generate_metadata( + ^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/operations/build/metadata.py", line 37, in generate_metadata + raise MetadataGenerationFailed(package_details=details) from error + pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed + Removed file://$SRC_DIR from build tracker '/tmp/pip-build-tracker-holk0f44' + Removed build tracker: '/tmp/pip-build-tracker-holk0f44' + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/iced_1717609030770/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/iced/build_failure.osx-64.yaml b/recipes/iced/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..ed16711b8c3f8 --- /dev/null +++ b/recipes/iced/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 400ed2c0710342dc29523fa08cc66e0bbb7567fabf768184c9bb8ce3c8141cf4 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/iced-0.5.10 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/iced-0.5.10 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + iced + Processing iced/_filter_.pyx + Processing iced/normalization/_normalization_.pyx + Using pip 24.0 from $PREFIX/lib/python3.12/site-packages/pip (python 3.12) + Non-user install because user site-packages disabled + Ignoring indexes: https://pypi.org/simple + Created temporary directory: /private/tmp/pip-build-tracker-zu5vyi_p + Initialized build tracking at /private/tmp/pip-build-tracker-zu5vyi_p + Created build tracker: /private/tmp/pip-build-tracker-zu5vyi_p + Entered build tracker: /private/tmp/pip-build-tracker-zu5vyi_p + Created temporary directory: /private/tmp/pip-install-usxqfwkz + Created temporary directory: /private/tmp/pip-ephem-wheel-cache-6k98c0ng + Processing $SRC_DIR + Added file://$SRC_DIR to build tracker '/private/tmp/pip-build-tracker-zu5vyi_p' + Created temporary directory: /private/tmp/pip-modern-metadata-8ggb3l2k + Preparing metadata (pyproject.toml): started + Preparing metadata (pyproject.toml): finished with status 'error' + Exception information: + Traceback (most recent call last): + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/operations/build/metadata.py", line 35, in generate_metadata + distinfo_dir = backend.prepare_metadata_for_build_wheel(metadata_dir) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/utils/misc.py", line 766, in prepare_metadata_for_build_wheel + return super().prepare_metadata_for_build_wheel( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 186, in prepare_metadata_for_build_wheel + return self._call_hook('prepare_metadata_for_build_wheel', { + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 311, in _call_hook + self._subprocess_runner( + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/utils/subprocess.py", line 252, in runner + call_subprocess( + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/utils/subprocess.py", line 224, in call_subprocess + raise error + pip._internal.exceptions.InstallationSubprocessError: Preparing metadata (pyproject.toml) exited with 1 + + The above exception was the direct cause of the following exception: + + Traceback (most recent call last): + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper + status = run_func(*args) + ^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper + return func(self, options, args) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/commands/install.py", line 377, in run + requirement_set = resolver.resolve( + ^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 76, in resolve + collected = self.factory.collect_root_requirements(root_reqs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 534, in collect_root_requirements + reqs = list( + ^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 490, in _make_requirements_from_install_req + cand = self._make_base_candidate_from_link( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 228, in _make_base_candidate_from_link + self._link_candidate_cache[link] = LinkCandidate( + ^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 290, in __init__ + super().__init__( + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__ + self.dist = self._prepare() + ^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 222, in _prepare + dist = self._prepare_distribution() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 301, in _prepare_distribution + return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 525, in prepare_linked_requirement + return self._prepare_linked_requirement(req, parallel_builds) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 640, in _prepare_linked_requirement + dist = _get_prepared_distribution( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution + abstract_dist.prepare_distribution_metadata( + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/distributions/sdist.py", line 67, in prepare_distribution_metadata + self.req.prepare_metadata() + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/req/req_install.py", line 579, in prepare_metadata + self.metadata_directory = generate_metadata( + ^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/operations/build/metadata.py", line 37, in generate_metadata + raise MetadataGenerationFailed(package_details=details) from error + pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed + Removed file://$SRC_DIR from build tracker '/private/tmp/pip-build-tracker-zu5vyi_p' + Removed build tracker: '/private/tmp/pip-build-tracker-zu5vyi_p' +# Last 100 lines of the build log. diff --git a/recipes/iced/meta.yaml b/recipes/iced/meta.yaml index e5a03a2d7faba..8468ad67754af 100644 --- a/recipes/iced/meta.yaml +++ b/recipes/iced/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 2 + number: 3 requirements: build: diff --git a/recipes/icescreen/meta.yaml b/recipes/icescreen/meta.yaml index aac6a83ed3f11..10c1c4758505c 100644 --- a/recipes/icescreen/meta.yaml +++ b/recipes/icescreen/meta.yaml @@ -1,5 +1,5 @@ {% set name = "ICEscreen" %} -{% set version = "1.2.0" %} +{% set version = "1.3.2" %} package: name: "{{ name|lower }}" @@ -7,11 +7,13 @@ package: source: url: https://forgemia.inra.fr/ices_imes_analysis/icescreen/-/archive/v{{ version }}/icescreen-v{{ version }}.tar.gz - sha256: 21b163a5dc0f6a745d97aa6185aa94ccc4ecfe14553cc75ed71429ee1da9c122 + sha256: f8d691891bd92e2dc4a72b14a5404645d26f30d3fbe09d407b45c548d37f2ca3 build: - number: 0 + number: 1 noarch: generic + run_exports: + - {{ pin_subpackage('icescreen', max_pin="x") }} requirements: host: @@ -20,12 +22,12 @@ requirements: - hmmer =3.3.2 run: - python - - pandas >=2.0.0 - - snakemake-minimal >=7.25.0 - - biopython >=1.81 - - bcbio-gff >=0.7.0 - - blast =2.12 - - hmmer =3.3.2 + - pandas >=2.1.0 + - snakemake-minimal >=8.4 + - biopython =1.83 + - blast =2.15 + - hmmer =3.4 + - pyarrow test: commands: @@ -35,9 +37,10 @@ about: home: https://forgemia.inra.fr/ices_imes_analysis/icescreen license: AGPL-3.0-or-later license_family: AGPL - summary: "ICEscreen detects and annotates ICEs (Integrative and Conjugative Elements) and IMEs (Integrative and Mobilizable Elements) in Firmicutes genomes." - doc_url: icescreen.migale.inrae.fr + summary: "ICEscreen detects and annotates ICEs (Integrative and Conjugative Elements) and IMEs (Integrative and Mobilizable Elements) in Bacillota genomes." + doc_url: https://icescreen.migale.inrae.fr extra: recipe-maintainers: - thomas-lacroix + diff --git a/recipes/icfree-ml/meta.yaml b/recipes/icfree-ml/meta.yaml new file mode 100644 index 0000000000000..d0e9659d2aa05 --- /dev/null +++ b/recipes/icfree-ml/meta.yaml @@ -0,0 +1,52 @@ +{% set name = "icfree-ml" %} +{% set version = "2.5.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/brsynth/icfree-ml/archive/refs/tags/2.5.0.tar.gz + sha256: 9720880aba7613b582cd519749c5908195679e228a196cbc6ae941814410aef3 + +build: + number: 0 + noarch: python + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + +requirements: + host: + - python >3.8,<3.12 + - pip + run: + - python >3.8,<3.12 + - biopython + - pysbol2 + - blast + - pandas + - pydoe2 + - openpyxl + +test: + source_files: + - tests/ + imports: + - icfree + requires: + - pytest + - pytest-cov + - pytest-mock + +about: + home: https://github.com/brsynth/icfree-ml + summary: Design of experiments (DoE) and machine learning packages for the iCFree project + license: MIT + license_family: MIT + license_file: LICENSE + dev_url: https://github.com/brsynth/icfree-ml + +extra: + recipe-maintainers: + - tduigou diff --git a/recipes/idba/build.sh b/recipes/idba/build.sh index eec410250afc3..54135a339525a 100644 --- a/recipes/idba/build.sh +++ b/recipes/idba/build.sh @@ -1,23 +1,21 @@ # fix automake +set -xe + # fix other python and perl scripts gawk -i inplace '/usr\/bin\//{ gsub(/python/, "env python");}1' script/*.py gawk -i inplace '/usr\/bin\//{ gsub(/perl/, "env perl");}1' script/* -aclocal -autoconf -automake --add-missing +autoreconf -if -export CC=${PREFIX}/bin/gcc -export CXX=${PREFIX}/bin/g++ export INCLUDE_PATH="${PREFIX}/include" export LIBRARY_PATH="${PREFIX}/lib" export DYLD_FALLBACK_LIBRARY_PATH="${PREFIX}/lib" export LD_LIBRARY_PATH="${PREFIX}/lib" +echo "===== CXX: ${CXX}" ./configure -make - +make -j ${CPU_COUNT} CXX=${CXX} mkdir -p ${PREFIX}/bin diff --git a/recipes/idba/meta.yaml b/recipes/idba/meta.yaml index 0984fab029b32..86b72dce3069a 100644 --- a/recipes/idba/meta.yaml +++ b/recipes/idba/meta.yaml @@ -7,7 +7,10 @@ about: summary: 'IDBA is a practical iterative De Bruijn Graph De Novo Assembler for sequence assembly in bioinformatics.' build: - number: 2 + number: 3 + skip: True # [osx] + run_exports: + - {{ pin_subpackage(name, max_pin='x') }} package: name: {{ name }} @@ -19,6 +22,7 @@ requirements: - autoconf - automake - {{ compiler('c') }} + - {{ compiler('cxx') }} host: - gawk - python @@ -35,6 +39,8 @@ test: - idba --help 2>&1 | grep "Iterative de Bruijn Graph Assembler" extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:idba - doi:10.1007/978-3-642-12683-3_28 diff --git a/recipes/idba_subasm/meta.yaml b/recipes/idba_subasm/meta.yaml index 5fdc066c5a510..a671524be98ff 100644 --- a/recipes/idba_subasm/meta.yaml +++ b/recipes/idba_subasm/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 421d097aaafd27e7b0c8b7bd5ae51b17e2f2a899dfd27fa1e9f5df909168f57e build: - number: 7 + number: 8 skip: True # [osx] requirements: diff --git a/recipes/idemuxcpp/build.sh b/recipes/idemuxcpp/build.sh index 7e69267c6d7cc..dae53d55b2803 100644 --- a/recipes/idemuxcpp/build.sh +++ b/recipes/idemuxcpp/build.sh @@ -1,8 +1,10 @@ #!/bin/sh +set -xe + export CXXFLAGS="-I${PREFIX}/include/bamtools ${CXXFLAGS}" export LDFLAGS="-L${PREFIX}/lib/ -lbamtools ${LDFLAGS}" ./configure --enable-tests --prefix="${PREFIX}" -make +make -j ${CPU_COUNT} make install make check diff --git a/recipes/idemuxcpp/meta.yaml b/recipes/idemuxcpp/meta.yaml index 9c260e6708b31..683204c9c9c9f 100644 --- a/recipes/idemuxcpp/meta.yaml +++ b/recipes/idemuxcpp/meta.yaml @@ -1,6 +1,6 @@ {% set name = "idemuxcpp" %} -{% set version = "0.2.0" %} -{% set sha256 = "0e44ed269b57b9577141c70361e6c5871ef3d76b302f9c8a4c0ff2d54f30bf01" %} +{% set version = "0.3.0" %} +{% set sha256 = "0d2099172bbf006dc0eb21c0c0eb720f0681ed5e77d3e7194f13025c66ccd373" %} package: name: {{ name }} @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage('idemuxcpp', max_pin="x") }} @@ -40,5 +40,8 @@ about: summary: "A Lexogen tool for demultiplexing and index error correcting fastq files. Works with Lexogen i7, i5 and i1 barcodes." extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - entzian diff --git a/recipes/idr/build_failure.linux-64.yaml b/recipes/idr/build_failure.linux-64.yaml deleted file mode 100644 index ccbddc0726d10..0000000000000 --- a/recipes/idr/build_failure.linux-64.yaml +++ /dev/null @@ -1,44 +0,0 @@ -recipe_sha: d673d1aa2d259268ebcf56dbe6fa05abb2e0d3f00aecde0de73102a607a8b864 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |- - Unable to find image 'quay.io/bioconda/bioconda-utils-build-env-cos7:2.2.1' locally - 2.2.1: Pulling from bioconda/bioconda-utils-build-env-cos7 - 2d473b07cdd5: Pulling fs layer - dfed59b31747: Pulling fs layer - dd7e9de2ee7e: Pulling fs layer - f0f5de892aa3: Pulling fs layer - f0f5de892aa3: Waiting - dd7e9de2ee7e: Verifying Checksum - dd7e9de2ee7e: Download complete - 2d473b07cdd5: Verifying Checksum - 2d473b07cdd5: Download complete - f0f5de892aa3: Verifying Checksum - f0f5de892aa3: Download complete - 2d473b07cdd5: Pull complete - dfed59b31747: Verifying Checksum - dfed59b31747: Download complete - dfed59b31747: Pull complete - dd7e9de2ee7e: Pull complete - f0f5de892aa3: Pull complete - Digest: sha256:50cc588ce95704560be302322c76e2e83bee36c1a21fab0dd974939143bb2dc3 - Status: Downloaded newer image for quay.io/bioconda/bioconda-utils-build-env-cos7:2.2.1 - /opt/conda/lib/python3.8/site-packages/conda_build/cli/main_build.py:390: UserWarning: RECIPE_PATH received is a file (/opt/recipe/meta.yaml). - It should be a path to a folder. - Forcing conda-build to use the recipe file. - warnings.warn( - Updating build index: /opt/conda/conda-bld - - No numpy version specified in conda_build_config.yaml. Falling back to default numpy value of 1.21 - WARNING:conda_build.metadata:No numpy version specified in conda_build_config.yaml. Falling back to default numpy value of 1.21 - Adding in variants from internal_defaults - INFO:conda_build.variants:Adding in variants from internal_defaults - Adding in variants from /opt/host-conda-bld/conda_build_config_0_-e_conda_build_config.yaml - INFO:conda_build.variants:Adding in variants from /opt/host-conda-bld/conda_build_config_0_-e_conda_build_config.yaml - Adding in variants from /opt/host-conda-bld/conda_build_config_1_-e_bioconda_utils-conda_build_config.yaml - INFO:conda_build.variants:Adding in variants from /opt/host-conda-bld/conda_build_config_1_-e_bioconda_utils-conda_build_config.yaml - Attempting to finalize metadata for idr - INFO:conda_build.metadata:Attempting to finalize metadata for idr - terminate called after throwing an instance of 'std::bad_alloc' - what(): std::bad_alloc - [?25l/opt/build_script.bash: line 23: 54 Aborted (core dumped) conda mambabuild --override-channels --no-anaconda-upload -c conda-forge -c bioconda -c defaults -e /opt/host-conda-bld/conda_build_config_0_-e_conda_build_config.yaml -e /opt/host-conda-bld/conda_build_config_1_-e_bioconda_utils-conda_build_config.yaml /opt/recipe/meta.yaml 2>&1 -# Last 100 lines of the build log. diff --git a/recipes/idr/meta.yaml b/recipes/idr/meta.yaml index 405d1cae7eebc..c047800a3d831 100644 --- a/recipes/idr/meta.yaml +++ b/recipes/idr/meta.yaml @@ -10,8 +10,9 @@ source: sha256: {{ sha256 }} build: - number: 11 - skip: True # [py2k] + number: 12 + run_exports: + - {{ pin_subpackage('idr', max_pin='x') }} requirements: build: @@ -21,12 +22,12 @@ requirements: - setuptools - numpy <1.20 - matplotlib-base - - scipy + - scipy <1.10 run: - python <3.10 - numpy <1.20 - matplotlib-base - - scipy + - scipy <1.10 test: commands: @@ -40,5 +41,7 @@ about: license_file: LICENSE extra: + additional-platforms: + - linux-aarch64 identifiers: - doi:10.1214/11-AOAS466 diff --git a/recipes/igblast-parser/build_failure.linux-64.yaml b/recipes/igblast-parser/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..cee7aafa42d50 --- /dev/null +++ b/recipes/igblast-parser/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 36501d3141b6eadd05d7cea464e322a0de391cc80ec7163ff7755e06829c806a # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + Verifying transaction: ...working... done + Executing transaction: ...working... done + Source cache directory is: /opt/conda/conda-bld/src_cache + Downloading source to cache: v0.0.4_c459f56983.tar.gz + Downloading https://github.com/aerijman/igblast-parser/archive/v0.0.4.tar.gz + Success + Extracting download + source tree in: /opt/conda/conda-bld/igblast-parser_1717538724049/work + export PREFIX=/opt/conda/conda-bld/igblast-parser_1717538724049/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol + export BUILD_PREFIX=/opt/conda/conda-bld/igblast-parser_1717538724049/_build_env + export SRC_DIR=/opt/conda/conda-bld/igblast-parser_1717538724049/work + INFO: activate-binutils_linux-64.sh made the following environmental changes: + ADDR2LINE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-addr2line + AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar + AS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-as + CXXFILT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cfilt + ELFEDIT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-elfedit + GPROF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gprof + LD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld + LD_GOLD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld.gold + NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-nm + OBJCOPY=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objcopy + OBJDUMP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objdump + RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib + READELF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-readelf + SIZE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-size + STRINGS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strings + STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip + INFO: activate-gcc_linux-64.sh made the following environmental changes: + BUILD=x86_64-conda-linux-gnu + CC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/igblast-parser-0.0.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH=$PREFIX;$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=$PREFIX:$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot/usr + CONDA_BUILD_SYSROOT=$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot + CONDA_TOOLCHAIN_BUILD=x86_64-conda-linux-gnu + CONDA_TOOLCHAIN_HOST=x86_64-conda-linux-gnu + CPP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cpp + CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include + DEBUG_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/igblast-parser-0.0.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem $PREFIX/include + GCC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc + GCC_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar + GCC_NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-nm + GCC_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib + HOST=x86_64-conda-linux-gnu + LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_cos6_linux_gnu + build_alias=x86_64-conda-linux-gnu + host_alias=x86_64-conda-linux-gnu + -BUILD=x86_64-conda_cos6-linux-gnu + -CONDA_BUILD_SYSROOT= + running install + /opt/conda/conda-bld/igblast-parser_1717538724049/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.12/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated. + !! + + ******************************************************************************** + Please avoid running setup.py directly. + Instead, use pypa/build, pypa/installer or other + standards-based tools. + + See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. + ******************************************************************************** + + !! + self.initialize_options() + running build + running build_py + creating build + creating build/lib.linux-x86_64-cpython-312 + creating build/lib.linux-x86_64-cpython-312/igblast_parser + copying igblast_parser/__init__.py -> build/lib.linux-x86_64-cpython-312/igblast_parser + running build_ext + building 'igblast_parser.module1' extension + creating build/temp.linux-x86_64-cpython-312 + creating build/temp.linux-x86_64-cpython-312/compiled + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -fno-strict-overflow -DNDEBUG -O2 -Wall -fPIC -O2 -isystem $PREFIX/include -fPIC -O2 -isystem $PREFIX/include -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/igblast-parser-0.0.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -fPIC -I$PREFIX/include/python3.12 -c compiled/module1.c -o build/temp.linux-x86_64-cpython-312/compiled/module1.o + compiled/module1.c:208:12: fatal error: longintrepr.h: No such file or directory + 208 | #include "longintrepr.h" + | ^~~~~~~~~~~~~~~ + compilation terminated. + error: command '/opt/conda/conda-bld/igblast-parser_1717538724049/_build_env/bin/x86_64-conda-linux-gnu-cc' failed with exit code 1 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/igblast-parser_1717538724049/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/igblast-parser/build_failure.osx-64.yaml b/recipes/igblast-parser/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..b962fd176884c --- /dev/null +++ b/recipes/igblast-parser/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 36501d3141b6eadd05d7cea464e322a0de391cc80ec7163ff7755e06829c806a # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache + Downloading source to cache: v0.0.4_c459f56983.tar.gz + Downloading https://github.com/aerijman/igblast-parser/archive/v0.0.4.tar.gz + Success + /opt/mambaforge/envs/bioconda/conda-bld/igblast-parser_1717523570284/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.11/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated. + !! + + ******************************************************************************** + Please avoid running setup.py directly. + Instead, use pypa/build, pypa/installer or other + standards-based tools. + + See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. + ******************************************************************************** + + !! + self.initialize_options() + compiled/module1.c:208:12: fatal error: 'longintrepr.h' file not found + #include "longintrepr.h" + ^~~~~~~~~~~~~~~ + 1 error generated. + error: command '/opt/mambaforge/envs/bioconda/conda-bld/igblast-parser_1717523570284/_build_env/bin/x86_64-apple-darwin13.4.0-clang' failed with exit code 1 + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/igblast-parser_1717523570284/work + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/igblast-parser_1717523570284/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/igblast-parser_1717523570284/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/igblast-parser_1717523570284/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/igblast-parser-0.0.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/igblast-parser_1717523570284/work/conda_build.sh']' returned non-zero exit status 1. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/igblast-parser-0.0.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + running install + running build + running build_py + creating build + creating build/lib.macosx-10.9-x86_64-cpython-311 + creating build/lib.macosx-10.9-x86_64-cpython-311/igblast_parser + copying igblast_parser/__init__.py -> build/lib.macosx-10.9-x86_64-cpython-311/igblast_parser + running build_ext + building 'igblast_parser.module1' extension + creating build/temp.macosx-10.9-x86_64-cpython-311 + creating build/temp.macosx-10.9-x86_64-cpython-311/compiled + x86_64-apple-darwin13.4.0-clang -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem $PREFIX/include -fPIC -O2 -isystem $PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/igblast-parser-0.0.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I$PREFIX/include/python3.11 -c compiled/module1.c -o build/temp.macosx-10.9-x86_64-cpython-311/compiled/module1.o +# Last 100 lines of the build log. diff --git a/recipes/igblast-parser/meta.yaml b/recipes/igblast-parser/meta.yaml index 2de5d0d349595..3f300f06d6af0 100644 --- a/recipes/igblast-parser/meta.yaml +++ b/recipes/igblast-parser/meta.yaml @@ -10,7 +10,7 @@ source: sha256: c459f5698390cad02a936c3a47a427cc4720e65fb82d13384ff925cc64745e32 build: - number: 6 + number: 7 script: $PYTHON setup.py install --single-version-externally-managed --record=record.txt skip: true # [py2k] diff --git a/recipes/igblast/build.sh b/recipes/igblast/build.sh index 8a7cbeb95c655..131eeeb29c598 100644 --- a/recipes/igblast/build.sh +++ b/recipes/igblast/build.sh @@ -13,37 +13,17 @@ mkdir -p $PREFIX/bin mkdir -p $SHARE_DIR/bin if [[ $(uname) == Linux ]]; then - export CPPFLAGS="$CPPFLAGS -I$PREFIX/include/ncbi-vdb" - export CC_FOR_BUILD=$CC export AR="$AR rcs" cd c++ - # IgBLAST is based on the BLAST source code and building it produces - # a similar set of shared libraries if --with-dll is used. To avoid - # conflicts when installing IgBLAST and BLAST simultaneously, - # we link IgBLAST statically. - ./configure.orig \ - --with-static-exe \ - --with-mt \ - --with-openmp \ - --without-autodep \ - --without-makefile-auto-update \ - --with-flat-makefile \ - --with-caution \ - --without-lzo \ - --without-debug \ - --with-strip \ - --with-z=$PREFIX \ - --with-bz2=$PREFIX \ - --with-vdb=$PREFIX \ - --without-krb5 \ - --without-openssl \ - --without-gnutls \ - --without-gcrypt \ - --with-build-root=ReleaseMT \ - --prefix=$PREFIX + ./configure \ + --with-z=$PREFIX \ + --with-bz2=$PREFIX \ + --with-vdb=$PREFIX + make -j2 + # Move one up so it looks like the binary release mv ReleaseMT/bin . mv src/app/igblast/{internal_data,optional_file} $SHARE_DIR diff --git a/recipes/igblast/meta.yaml b/recipes/igblast/meta.yaml index 92909eef6c732..84e4d2745bdd7 100644 --- a/recipes/igblast/meta.yaml +++ b/recipes/igblast/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.21.0" %} +{% set version = "1.22.0" %} package: name: igblast @@ -20,14 +20,16 @@ about: source: url: ftp://ftp.ncbi.nih.gov/blast/executables/igblast/release/{{ version }}/ncbi-igblast-{{ version }}-src.tar.gz # [linux] - sha256: f679a417b170e96103c088a9d1e82bfd40571526080da00fdf62de74aee82d16 # [linux] + sha256: a04eb195087447cf42e673401ae2d9f6ef8414b34f1534724a6953f41224df68 # [linux] url: ftp://ftp.ncbi.nih.gov/blast/executables/igblast/release/{{ version }}/ncbi-igblast-{{ version }}-x64-macosx.tar.gz # [osx] - sha256: 9d8f13a7ab3b2ab42df3565cdf3b480bd9c04fb0ffb1d54834e67fa37d4fc09b # [osx] + sha256: b8a0034642b5dbef7f41c7fcfbb4bc035d2c5877d3e987af43605ea8e3d55c40 # [osx] patches: - shared_vdb.patch # [linux] build: number: 1 + run_exports: + - {{ pin_subpackage('igblast', max_pin="x") }} requirements: build: @@ -41,6 +43,7 @@ requirements: - gnutls # [osx] - libidn11 - lzo # [osx] + - libsqlite >=3 - ncbi-vdb >=2.9.6 run: - ncbi-vdb >=2.9.6 @@ -53,5 +56,7 @@ test: - makeblastdb -h extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:igblast diff --git a/recipes/igblast/shared_vdb.patch b/recipes/igblast/shared_vdb.patch index 8e099e4a7c5a1..1ee0a5e8c12a9 100644 --- a/recipes/igblast/shared_vdb.patch +++ b/recipes/igblast/shared_vdb.patch @@ -1,12 +1,11 @@ -diff -u -ru ncbi-igblast-1.15.0-src/c++/src/app/igblast/Makefile.igblastn.app ncbi-igblast-1.15.0-src-patched/c++/src/app/igblast/Makefile.igblastn.app ---- ncbi-igblast-1.15.0-src/c++/src/app/igblast/Makefile.igblastn.app 2019-08-04 23:12:21.000000000 +0200 -+++ ncbi-igblast-1.15.0-src-patched/c++/src/app/igblast/Makefile.igblastn.app 2020-02-19 14:30:43.571473876 +0100 -@@ -11,7 +11,7 @@ - CXXFLAGS = $(FAST_CXXFLAGS:ppc=i386) +--- ncbi-igblast-1.22.0-src/c++/src/app/igblast/Makefile.igblastn.app 2023-10-06 15:33:05.000000000 -0400 ++++ ncbi-igblast-1.22.0-src-patched/c++/src/app/igblast/Makefile.igblastn.app 2024-01-10 11:35:41.231820985 -0500 +@@ -12,7 +12,7 @@ LDFLAGS = $(FAST_LDFLAGS:ppc=i386) --LIBS = $(GENBANK_THIRD_PARTY_LIBS) $(VDB_STATIC_LIBS) $(CMPRS_LIBS) $(DL_LIBS) $(NETWORK_LIBS) $(BLAST_THIRD_PARTY_LIBS) $(ORIG_LIBS) -+LIBS = $(GENBANK_THIRD_PARTY_LIBS) $(VDB_LIBS) $(CMPRS_LIBS) $(DL_LIBS) $(NETWORK_LIBS) $(BLAST_THIRD_PARTY_LIBS) $(ORIG_LIBS) + LIBS = $(BLAST_THIRD_PARTY_LIBS) $(GENBANK_THIRD_PARTY_LIBS) \ +- $(VDB_STATIC_LIBS) $(CMPRS_LIBS) $(DL_LIBS) $(NETWORK_LIBS) $(ORIG_LIBS) ++ $(VDB_LIBS) $(CMPRS_LIBS) $(DL_LIBS) $(NETWORK_LIBS) $(ORIG_LIBS) REQUIRES = VDB objects -Cygwin diff --git a/recipes/igdiscover/meta.yaml b/recipes/igdiscover/meta.yaml index 8da5d1628aacb..462ca5ddc11bc 100644 --- a/recipes/igdiscover/meta.yaml +++ b/recipes/igdiscover/meta.yaml @@ -9,9 +9,11 @@ source: sha256: 534f0e81b71acabe24577f0989832c61e69b73e0e562eb147b1af38c4c9bf725 build: - number: 1 + number: 2 noarch: python script: python -m pip install --no-deps --ignore-installed . + run_exports: + - {{ pin_subpackage("igdiscover", max_pin="x.x") }} requirements: host: @@ -23,7 +25,7 @@ requirements: - pandas >=1.0 - numpy >=1.17.5 - matplotlib-base >=3.1.0 - - snakemake-minimal 5.9.* + - snakemake-minimal >=5.9 - cutadapt >=3.5 - xopen >=1.2.0 - dnaio >=0.7.1 diff --git a/recipes/igfinder/build.sh b/recipes/igfinder/build.sh new file mode 100644 index 0000000000000..399e98c07b4a2 --- /dev/null +++ b/recipes/igfinder/build.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +set -x -e + +export LIBRARY_PATH="${PREFIX}/lib" +cp igfinder.py ${LIBRARY_PATH} + +export BINARY_HOME="${PREFIX}/bin" +script=${BINARY_HOME}/igfinder + +echo "#!/bin/bash" > $script +echo "python2 ${LIBRARY_PATH}/igfinder.py \$@" >> $script diff --git a/recipes/igfinder/meta.yaml b/recipes/igfinder/meta.yaml new file mode 100644 index 0000000000000..10c40ce484fd1 --- /dev/null +++ b/recipes/igfinder/meta.yaml @@ -0,0 +1,39 @@ +{% set name = "igfinder" %} +{% set version = "1.0" %} +{% set sha256 = "dc5f65e7e6661c4cd424d7e43ef82e00cd335f688bc0a9f076946d117f57349a" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://tx.bioreg.kyushu-u.ac.jp/igfinder/igfinder.py + sha256: {{ sha256 }} + +build: + number: 0 + noarch: python + run_exports: + - {{ pin_subpackage('igfinder', max_pin="x.x") }} + +requirements: + build: + - python =2.7 + - biopython + + host: + - python <3 + + run: + - python =2.7 + - biopython + - numpy + +test: + commands: + - "igfinder -h" + +about: + home: https://tx.bioreg.kyushu-u.ac.jp/igfinder + license: MIT + summary: A tool to extract Igh and Igl/Igk gene sequences from assembled transcripts diff --git a/recipes/igv-reports/meta.yaml b/recipes/igv-reports/meta.yaml index ec27473cd1014..3dad6f0d57606 100644 --- a/recipes/igv-reports/meta.yaml +++ b/recipes/igv-reports/meta.yaml @@ -1,5 +1,5 @@ {% set name = "igv-reports" %} -{% set version = "1.9.1" %} +{% set version = "1.14.1" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: f2f96cf0d16cea1b71a098c1385384a31f054e4e1da72062373c1306ef115f94 + sha256: edc03797c90b91dc0ac35b8352b316b11dc71c380f94ff3802e784baa971b19a build: noarch: python diff --git a/recipes/igv/build.sh b/recipes/igv/build.sh index b156b5aa9d4df..2dcf09d8be126 100644 --- a/recipes/igv/build.sh +++ b/recipes/igv/build.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -eux -o pipefail + mkdir -p ${PREFIX}/lib/igv # Build diff --git a/recipes/igv/meta.yaml b/recipes/igv/meta.yaml index f3a127e2f9d6b..de70d2e597401 100644 --- a/recipes/igv/meta.yaml +++ b/recipes/igv/meta.yaml @@ -1,6 +1,6 @@ {% set name = "IGV" %} -{% set version = "2.16.2" %} -{% set sha256 = "d08e785d9d44f4e3c16dfe22514133fa0a80d067b677c0cc3c64d2e3d2c12d21" %} +{% set version = "2.17.4" %} +{% set sha256 = "1c42fcca6fcb17d6ca6eced4bc27075f45aed62d2f9cc0d6a149e69cc56113c0" %} package: name: {{ name|lower }} @@ -13,12 +13,14 @@ source: build: number: 0 noarch: generic + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} requirements: build: - - openjdk 11 + - openjdk 17 run: - - openjdk 11 + - openjdk 17 test: commands: diff --git a/recipes/igvtools/igvtools.sh b/recipes/igvtools/igvtools.sh index 08f3849b0afa5..a2702832d9ce0 100644 --- a/recipes/igvtools/igvtools.sh +++ b/recipes/igvtools/igvtools.sh @@ -16,13 +16,4 @@ while [[ -h "$SOURCE" ]]; do # resolve $SOURCE until the file is no longer a sym done DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" -# Check whether or not to use the bundled JDK -if [ -d "${DIR}/jdk-11" ]; then - echo echo "Using bundled JDK." - JAVA_HOME="${DIR}/jdk-11" - PATH=$JAVA_HOME/bin:$PATH -else - echo "Using system JDK." -fi - java -Djava.awt.headless=true --module-path="${DIR}/lib" -Xmx1500m --module=org.igv/org.broad.igv.tools.IgvTools "$@" diff --git a/recipes/igvtools/meta.yaml b/recipes/igvtools/meta.yaml index 63dc7743ed394..55cc6343b6e61 100644 --- a/recipes/igvtools/meta.yaml +++ b/recipes/igvtools/meta.yaml @@ -1,22 +1,24 @@ {% set name = "IGVtools" %} -{% set version = "2.16.2" %} -{% set sha256 = "489d34ed4e807a3d32a3720f11248d2ddf1e21d264b06bea44fbe1ccb74b3aa2" %} +{% set version = "2.17.3" %} +{% set sha256 = "58369ad1e156dc27a7cd2861c238049563396be605a2ab1b172a008a69ad7cb4" %} package: name: {{ name|lower }} version: {{ version }} source: - url: http://data.broadinstitute.org/igv/projects/downloads/2.16/IGV_{{ version }}.zip + url: http://data.broadinstitute.org/igv/projects/downloads/2.17/IGV_{{ version }}.zip sha256: {{ sha256 }} build: number: 0 noarch: generic + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} requirements: run: - - openjdk 11 + - openjdk >=17 test: commands: diff --git a/recipes/illumina-interop/build.sh b/recipes/illumina-interop/build.sh index faaf3519bce3b..37efdca568dbf 100644 --- a/recipes/illumina-interop/build.sh +++ b/recipes/illumina-interop/build.sh @@ -1,12 +1,14 @@ #!/bin/bash +set -ex + mkdir -p $PREFIX/interop/bin mkdir -p $PREFIX/bin mkdir -p build cd build cmake -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX/interop .. -make +make -j ${CPU_COUNT} make install for FPATH in $(find $PREFIX/interop/bin -maxdepth 1 -mindepth 1 -type f -or -type l); do ln -sfvn $FPATH $PREFIX/bin/interop_$(basename $FPATH) diff --git a/recipes/illumina-interop/meta.yaml b/recipes/illumina-interop/meta.yaml index 7d469d9e3a067..e2c169cf97e98 100644 --- a/recipes/illumina-interop/meta.yaml +++ b/recipes/illumina-interop/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.3.0" %} +{% set version = "1.3.2" %} {% set sha256 = "0335f20a6d46b3c57a7dd1c337594b156bc1e7558f44cb981f1100f396929baa" %} package: @@ -13,7 +13,7 @@ build: source: url: https://github.com/Illumina/interop/archive/v{{version}}.tar.gz - sha256: 982770eeb271d7111d7215f5102e7c09b198686e84d4f1c7dc256df64bd0a3ca + sha256: 4989480b3d074ac36499f122a1de109840b6edab238cc6482f6025d1021d4564 requirements: build: @@ -47,3 +47,7 @@ about: faster display of a subset of the original data (collapsed quality scores). dev_url: https://github.com/Illumina/interop license_family: GPL + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/illumina-utils/meta.yaml b/recipes/illumina-utils/meta.yaml index 77fca41a9c7e2..1e42b49f2ee70 100644 --- a/recipes/illumina-utils/meta.yaml +++ b/recipes/illumina-utils/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "2.12" %} +{% set version = "2.13" %} package: name: 'illumina-utils' @@ -6,12 +6,14 @@ package: source: url: https://pypi.io/packages/source/i/illumina-utils/illumina-utils-{{ version }}.tar.gz - sha256: '5a4835f8f1ef630e9cc501209202833f3f30f6d8fdb64d7ea1afde23f3052f7d' + sha256: 'e688ca221ea6178614073b72205fce7b4a54695237c7aa96713492ecd99bd56e' build: number: 0 noarch: python - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + run_exports: + - {{ pin_subpackage('illumina-utils', max_pin="x") }} requirements: host: @@ -37,6 +39,6 @@ test: about: home: https://github.com/meren/illumina-utils - license: GNU General Public v3 or later (GPLv3+) + license: GPL-3.0-or-later license_family: GPL3 summary: A library and collection of scripts to work with Illumina paired-end data (for CASAVA 1.8+). diff --git a/recipes/im2deep/meta.yaml b/recipes/im2deep/meta.yaml new file mode 100644 index 0000000000000..8d186c0704c2b --- /dev/null +++ b/recipes/im2deep/meta.yaml @@ -0,0 +1,52 @@ +{% set name = "im2deep" %} +{% set version = "0.2.0" %} +{% set sha256 = "51678cfa2af905af196176e37e694c8629d9d8f2c4a1848185b5794697e0544b" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/im2deep-{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + + number: 0 + entry_points: + - im2deep=im2deep.__main__:main + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + noarch: python + run_exports: + - {{ pin_subpackage('im2deep', max_pin="x.x") }} + +requirements: + host: + - pip + - python >=3.8 + run: + - python >=3.8 + - click + - deeplc + - deeplcretrainer + - psm-utils + - pandas + - numpy + - tensorflow >=2.2,<2.13.0 + +test: + imports: + - im2deep + +about: + home: https://github.com/compomics/im2deep + license: Apache-2.0 + license_file: LICENSE + license_family: APACHE + summary: "Framework for prediction of collisional cross-section of peptides." + dev_url: https://github.com/compomics/im2deep + +extra: + recipe-maintainers: + - compomics + diff --git a/recipes/immuneml/meta.yaml b/recipes/immuneml/meta.yaml index 14e8479833ac0..8c8af88861b5b 100644 --- a/recipes/immuneml/meta.yaml +++ b/recipes/immuneml/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 29dcfdeeaf561a1878631aa235b0d6dcb7205a206bb1cbd981c299fa658d9d99 build: - number: 0 + number: 1 # gensim pinning doesn't work for python >=3.10 skip: true [py2k or py <= 36 or py > 39] entry_points: diff --git a/recipes/impg/build.sh b/recipes/impg/build.sh new file mode 100644 index 0000000000000..0b47a91666337 --- /dev/null +++ b/recipes/impg/build.sh @@ -0,0 +1,7 @@ +#!/bin/bash -euo + +set -xe + +# build statically linked binary with Rust +RUST_BACKTRACE=1 +cargo install --verbose --path . --root ${PREFIX} diff --git a/recipes/impg/meta.yaml b/recipes/impg/meta.yaml new file mode 100644 index 0000000000000..0d323eb9e9ac2 --- /dev/null +++ b/recipes/impg/meta.yaml @@ -0,0 +1,38 @@ +{% set name = "impg" %} +{% set version = "0.2.1" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/pangenome/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: 6b7a8786c1bfcc663c5154b11965d7b5fe31454a6363f6448a07ae935ea8c085 + +build: + number: 1 + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} + +requirements: + build: + - {{ compiler('rust') }} + +test: + commands: + - impg --help + +about: + home: https://github.com/pangenome/{{ name }} + license: MIT + license_family: MIT + license_file: LICENSE + summary: "impg: implicit pangenome graphs" + dev_url: https://github.com/pangenome/{{ name }} + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + recipe-maintainers: + - AndreaGuarracino diff --git a/recipes/infernal/build.sh b/recipes/infernal/build.sh index e81bb592239ce..712789d396a1e 100644 --- a/recipes/infernal/build.sh +++ b/recipes/infernal/build.sh @@ -2,10 +2,27 @@ set -ex +export M4="${BUILD_PREFIX}/bin/m4" +export INCLUDE_PATH="${PREFIX}/include" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" + grep -l -r "/usr/bin/perl" . | xargs sed -i.bak -e 's/usr\/bin\/perl/usr\/bin\/env perl/g' +autoreconf -if + +case $(uname -m) in + "x86_64") + ARCH_OPTS="--enable-sse" + ;; + "aarch64") + # Download newer config.{sub,guess} files that support aarch64-conda-linux-gnu + wget "http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD" -O config.guess + wget "http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD" -O config.sub + ;; + *) + ;; +esac -./configure --prefix=$PREFIX -make -j 2 -make check +./configure --prefix="${PREFIX}" CC="${CC}" CFLAGS="${CFLAGS} -O3 -L${PREFIX}/lib" "${ARCH_OPTS}" +make -j${CPU_COUNT} make install diff --git a/recipes/infernal/meta.yaml b/recipes/infernal/meta.yaml index 67b3bcad6bc71..78a8740143bd8 100644 --- a/recipes/infernal/meta.yaml +++ b/recipes/infernal/meta.yaml @@ -1,29 +1,40 @@ -{% set version = "1.1.4" %} +{% set name = "infernal" %} +{% set version = "1.1.5" %} package: - name: infernal + name: {{ name }} version: {{ version }} source: - url: http://eddylab.org/infernal/infernal-{{ version }}.tar.gz - sha256: f9493c7dee9fbf25f6405706818883d24b9f5e455121a0662c96c8f0307f95fc + url: http://eddylab.org/infernal/{{ name }}-{{ version }}.tar.gz + sha256: ad4ddae02f924ca7c85bc8c4a79c9f875af8df96aeb726702fa985cbe752497f build: - number: 4 + number: 3 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: build: - - make - {{ compiler('c') }} + - make + - autoconf + - automake + - libtool host: - perl + - libgomp # [linux] + - llvm-openmp # [osx] + - wget run: + - libgomp # [linux] + - llvm-openmp # [osx] test: commands: - cmalign -h - cmbuild -h - - cmcalibrate -h + - cmcalibrate -h - cmconvert -h - cmemit -h - cmfetch -h @@ -33,8 +44,19 @@ test: - cmstat -h about: - home: http://eddylab.org/infernal - license: BSD-3-Clause + home: 'http://eddylab.org/infernal' + license: "BSD-3-Clause" + license_family: BSD license_file: LICENSE - summary: Infernal is for searching DNA sequence databases for RNA structure and sequence similarities. - description: Infernal ("INFERence of RNA ALignment") is for searching DNA sequence databases for RNA structure and sequence similarities. + summary: "Infernal is for searching DNA sequence databases for RNA structure and sequence similarities." + description: "Infernal (INFERence of RNA ALignment) is for searching DNA sequence databases for RNA structure and sequence similarities." + doc_url: "http://eddylab.org/infernal/Userguide.pdf" + dev_url: "https://github.com/EddyRivasLab/infernal" + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + identifiers: + - doi:10.1093/bioinformatics/btt509 + - biotools:infernal diff --git a/recipes/influx-si-data-manager/meta.yaml b/recipes/influx-si-data-manager/meta.yaml new file mode 100644 index 0000000000000..c71d4d36d6ad6 --- /dev/null +++ b/recipes/influx-si-data-manager/meta.yaml @@ -0,0 +1,46 @@ +{% set name = "influx-si-data-manager" %} +{% set version = "1.0.3" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/influx_si_data_manager-{{ version }}.tar.gz + sha256: 61a158c9f24944bab776847c909371e448c82142f52af2c91a8e68233360f869 + +build: + entry_points: + - influx_si_data_manager = influx_si_data_manager.main:main + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('influx-si-data-manager', max_pin="x") }} + +requirements: + host: + - python >=3.9,<4.0 + - poetry-core + - pip + run: + - python >=3.9.0,<4.0.0 + - pandas >=2.0.1,<3.0.0 + +test: + imports: + - influx_si_data_manager + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/llegregam/influx_data_manager + summary: Data manager for handling influx_si inputs on Workflow4Metabolomics (usegalaxy.org) + license: GPL-3.0-or-later + license_file: LICENSE + +extra: + recipe-maintainers: + - llegregam diff --git a/recipes/influx_si/meta.yaml b/recipes/influx_si/meta.yaml index 2604d723ff941..ba2e2b894acaf 100644 --- a/recipes/influx_si/meta.yaml +++ b/recipes/influx_si/meta.yaml @@ -1,5 +1,5 @@ {% set name = "influx_si" %} -{% set version = "7.0.1" %} +{% set version = "7.1.0" %} package: name: "{{ name|lower }}" @@ -7,11 +7,11 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: "24756a8c4ae1882244ffb2fd1faf83fe51e0cb6bb0d81756ce2c97c816764f3d" + sha256: "902a60ceca4b904f7d517e58eb981a3a1fcf80b2aad9dbcdc85047ee1d449e57" build: number: 0 - script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" noarch: python entry_points: - ff2ftbl = influx_si.cli:cli @@ -21,8 +21,8 @@ build: - ftbl2netan = influx_si.cli:cli - ftbl2optR = influx_si.cli:cli - ftbl2xgmml = influx_si.cli:cli - - influx_s = influx_si.cli:cli - - influx_i = influx_si.cli:cli + - influx_s = influx_si.influx_s:main + - influx_i = influx_si.influx_i:main - res2ftbl_meas = influx_si.cli:cli - txt2ftbl = influx_si.txt2ftbl:main - ftbl2mtf = influx_si.ftbl2mtf:main @@ -34,10 +34,13 @@ build: requirements: host: - pip - - python >=3 + - python >=3.5 + - setuptools run: - - python >=3 + - python >=3.5 + - setuptools - scipy + - packaging - pandas - python-libsbml - kvh @@ -51,6 +54,7 @@ requirements: - r-nlsic - r-slam - r-kvh + - r-bitops test: imports: @@ -62,12 +66,12 @@ test: - python -c "import shutil; shutil.rmtree('test')" about: - home: "https://metasys.insa-toulouse.fr/software/influx/" + home: "https://github.com/sgsokol/influx/" license: GPL-2.0-or-later license_family: "GPL2" license_file: '{{ environ["RECIPE_DIR"] }}/LICENSE' summary: "Metabolic flux and concentration estimation based on stable isotope labeling" - doc_url: "https://metasys.insa-toulouse.fr/software/influx/doc/" + doc_url: "https://influx-si.readthedocs.io/" dev_url: "https://github.com/sgsokol/influx/" description: | To install this package from bioconda run: diff --git a/recipes/insilicoseq/checksums.md5 b/recipes/insilicoseq/checksums.md5 index 62eea9823d41f..d0cfecf9e2afb 100644 --- a/recipes/insilicoseq/checksums.md5 +++ b/recipes/insilicoseq/checksums.md5 @@ -1,2 +1,2 @@ -80319ebef7bd8f98c3d589c42ba852da bogus-reads_R1.fastq -f883f153efbbc1a1519c21f4829ba8dd bogus-reads_R2.fastq +9aeb0f7da8af96b9ce20270a50b20aec bogus-reads_R1.fastq +638e4fe4e8470feeb40e359995d803db bogus-reads_R2.fastq diff --git a/recipes/insilicoseq/meta.yaml b/recipes/insilicoseq/meta.yaml index 7270ab4cc77fe..9839e23b74ac0 100644 --- a/recipes/insilicoseq/meta.yaml +++ b/recipes/insilicoseq/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "1.6.0" %} -{% set sha256 = "4cbd8e30a17e9591899be42aaa776e0748907709ac56db8133050335f24d35e5" %} +{% set version = "2.0.1" %} +{% set sha256 = "a1b452fbb6781c5c04bad269836893bf8d2103215e8d131c37baa95a74b2cbaa" %} package: name: insilicoseq @@ -13,8 +13,10 @@ build: noarch: python entry_points: - iss = iss.app:main - script: python -m pip install --no-deps --ignore-installed . + script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation . -vvv number: 0 + run_exports: + - {{ pin_subpackage('insilicoseq', max_pin="x") }} requirements: host: @@ -33,6 +35,8 @@ requirements: test: imports: - iss + commands: + - iss --help files: - bogus-genome.fasta.gz - checksums.md5 @@ -41,8 +45,10 @@ about: home: https://github.com/HadrienG/InSilicoSeq license: MIT license_family: MIT + license_file: LICENSE summary: A sequencing simulator. dev_url: https://github.com/HadrienG/InSilicoSeq + doc_url: https://insilicoseq.readthedocs.io/en/latest/ extra: recipe-maintainers: diff --git a/recipes/insilicosv/meta.yaml b/recipes/insilicosv/meta.yaml new file mode 100644 index 0000000000000..2000d8906237d --- /dev/null +++ b/recipes/insilicosv/meta.yaml @@ -0,0 +1,55 @@ +{% set name = "insilicosv" %} +{% set version = "0.0.6" %} +{% set sha256 = "be14fc77d5d53563686328e38657ce84dc34ba46e2e44eb67e4df4e44a4474eb" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: "{{ sha256 }}" + +build: + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + noarch: python + entry_points: + - insilicosv=insilicosv.simulate:run_insilicosv + script: "{{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv" + +requirements: + host: + - pip + - python =>3.8 + run: + - cycler + - kiwisolver + - matplotlib-base + - numpy + - pillow + - pyparsing + - pysam + - python >=3.8 + - python-dateutil + - pyyaml + - six + +test: + imports: + - insilicosv + commands: + - insilicosv --help + +about: + home: "https://github.com/PopicLab/insilicoSV" + license: MIT + license_family: MIT + summary: "Simulator for complex structural variants" + +extra: + recipe-maintainers: + - notestaff + - crohlicek + - viq854 diff --git a/recipes/inspector/meta.yaml b/recipes/inspector/meta.yaml index 25408db41b8b1..81d97fd7ce491 100644 --- a/recipes/inspector/meta.yaml +++ b/recipes/inspector/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.2" %} +{% set version = "1.3.1" %} package: name: inspector @@ -6,20 +6,24 @@ package: source: url: https://github.com/ChongLab/Inspector/archive/refs/tags/inspector-v{{ version }}.tar.gz - sha256: 6d7ca6b22053d06105a549a064cf9a26efaf5c4a2a1a4502f2f36a4eb248ec4a + sha256: 2f1fa14ed4f504909183de09161681ae1a2dcfb3463b15fec09d227b69c51d0f build: - number: 0 + number: 1 noarch: generic + run_exports: + - {{ pin_subpackage('inspector', max_pin="x") }} requirements: run: - python - - minimap2 =2.15 - - pysam =0.16.0.1 - - statsmodels =0.10.1 - - samtools =1.9 - - flye =2.8.3 + - minimap2 >=2.28 + - pysam >=0.22.1 + - statsmodels >=0.14.2 + - numpy >=2.1.0 + - pandas >=2.2.2 + - samtools >=1.20 + - flye >=2.9.5 test: commands: diff --git a/recipes/instrain/meta.yaml b/recipes/instrain/meta.yaml index bb970379926a2..04043ba16bc95 100644 --- a/recipes/instrain/meta.yaml +++ b/recipes/instrain/meta.yaml @@ -1,5 +1,5 @@ {% set name = "inStrain" %} -{% set version = "1.8.0" %} +{% set version = "1.9.0" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: b3d88c885658a9db393be7ce201e89454c3ea593128fdb673521640e5c1ecae4 + sha256: 723c24c3eaff262c703213beedf2da36b9a198ae8ad9f0168a379348c386d7d2 build: noarch: python diff --git a/recipes/insurveyor/INSurVeyor-aarch64.patch b/recipes/insurveyor/INSurVeyor-aarch64.patch new file mode 100644 index 0000000000000..b8fa54aa85460 --- /dev/null +++ b/recipes/insurveyor/INSurVeyor-aarch64.patch @@ -0,0 +1,9360 @@ +diff --git c/libs/ssw.c i/libs/ssw.c +index a45635c..4269776 100644 +--- c/libs/ssw.c ++++ i/libs/ssw.c +@@ -36,7 +36,13 @@ + */ + + //#include ++#ifdef __ARM_NEON ++#include "../sse2neon.h" ++#else + #include ++#endif ++ ++ + #include + #include + #include +diff --git c/libs/ssw.h i/libs/ssw.h +index 510f5f4..c0be73b 100644 +--- c/libs/ssw.h ++++ i/libs/ssw.h +@@ -14,7 +14,13 @@ + #include + #include + #include ++ ++#ifdef __ARM_NEON ++#include "../sse2neon.h" ++#else + #include ++#endif ++ + + #ifdef __cplusplus + extern "C" { +diff --git c/sse2neon.h i/sse2neon.h +new file mode 100644 +index 0000000..2b12721 +--- /dev/null ++++ i/sse2neon.h +@@ -0,0 +1,9301 @@ ++#ifndef SSE2NEON_H ++#define SSE2NEON_H ++ ++/* ++ * sse2neon is freely redistributable under the MIT License. ++ * ++ * Copyright (c) 2015-2024 SSE2NEON Contributors. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to deal ++ * in the Software without restriction, including without limitation the rights ++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++ * copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ * SOFTWARE. ++ */ ++ ++// This header file provides a simple API translation layer ++// between SSE intrinsics to their corresponding Arm/Aarch64 NEON versions ++// ++// Contributors to this work are: ++// John W. Ratcliff ++// Brandon Rowlett ++// Ken Fast ++// Eric van Beurden ++// Alexander Potylitsin ++// Hasindu Gamaarachchi ++// Jim Huang ++// Mark Cheng ++// Malcolm James MacLeod ++// Devin Hussey (easyaspi314) ++// Sebastian Pop ++// Developer Ecosystem Engineering ++// Danila Kutenin ++// François Turban (JishinMaster) ++// Pei-Hsuan Hung ++// Yang-Hao Yuan ++// Syoyo Fujita ++// Brecht Van Lommel ++// Jonathan Hue ++// Cuda Chen ++// Aymen Qader ++// Anthony Roberts ++ ++/* Tunable configurations */ ++ ++/* Enable precise implementation of math operations ++ * This would slow down the computation a bit, but gives consistent result with ++ * x86 SSE. (e.g. would solve a hole or NaN pixel in the rendering result) ++ */ ++/* _mm_min|max_ps|ss|pd|sd */ ++#ifndef SSE2NEON_PRECISE_MINMAX ++#define SSE2NEON_PRECISE_MINMAX (0) ++#endif ++/* _mm_rcp_ps */ ++#ifndef SSE2NEON_PRECISE_DIV ++#define SSE2NEON_PRECISE_DIV (0) ++#endif ++/* _mm_sqrt_ps and _mm_rsqrt_ps */ ++#ifndef SSE2NEON_PRECISE_SQRT ++#define SSE2NEON_PRECISE_SQRT (0) ++#endif ++/* _mm_dp_pd */ ++#ifndef SSE2NEON_PRECISE_DP ++#define SSE2NEON_PRECISE_DP (0) ++#endif ++ ++/* Enable inclusion of windows.h on MSVC platforms ++ * This makes _mm_clflush functional on windows, as there is no builtin. ++ */ ++#ifndef SSE2NEON_INCLUDE_WINDOWS_H ++#define SSE2NEON_INCLUDE_WINDOWS_H (0) ++#endif ++ ++/* compiler specific definitions */ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma push_macro("FORCE_INLINE") ++#pragma push_macro("ALIGN_STRUCT") ++#define FORCE_INLINE static inline __attribute__((always_inline)) ++#define ALIGN_STRUCT(x) __attribute__((aligned(x))) ++#define _sse2neon_likely(x) __builtin_expect(!!(x), 1) ++#define _sse2neon_unlikely(x) __builtin_expect(!!(x), 0) ++#elif defined(_MSC_VER) ++#if _MSVC_TRADITIONAL ++#error Using the traditional MSVC preprocessor is not supported! Use /Zc:preprocessor instead. ++#endif ++#ifndef FORCE_INLINE ++#define FORCE_INLINE static inline ++#endif ++#ifndef ALIGN_STRUCT ++#define ALIGN_STRUCT(x) __declspec(align(x)) ++#endif ++#define _sse2neon_likely(x) (x) ++#define _sse2neon_unlikely(x) (x) ++#else ++#pragma message("Macro name collisions may happen with unsupported compilers.") ++#endif ++ ++ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma push_macro("FORCE_INLINE_OPTNONE") ++#define FORCE_INLINE_OPTNONE static inline __attribute__((optimize("O0"))) ++#elif defined(__clang__) ++#pragma push_macro("FORCE_INLINE_OPTNONE") ++#define FORCE_INLINE_OPTNONE static inline __attribute__((optnone)) ++#else ++#define FORCE_INLINE_OPTNONE FORCE_INLINE ++#endif ++ ++#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ < 10 ++#warning "GCC versions earlier than 10 are not supported." ++#endif ++ ++/* C language does not allow initializing a variable with a function call. */ ++#ifdef __cplusplus ++#define _sse2neon_const static const ++#else ++#define _sse2neon_const const ++#endif ++ ++#include ++#include ++ ++#if defined(_WIN32) ++/* Definitions for _mm_{malloc,free} are provided by ++ * from both MinGW-w64 and MSVC. ++ */ ++#define SSE2NEON_ALLOC_DEFINED ++#endif ++ ++/* If using MSVC */ ++#ifdef _MSC_VER ++#include ++#if SSE2NEON_INCLUDE_WINDOWS_H ++#include ++#include ++#endif ++ ++#if !defined(__cplusplus) ++#error SSE2NEON only supports C++ compilation with this compiler ++#endif ++ ++#ifdef SSE2NEON_ALLOC_DEFINED ++#include ++#endif ++ ++#if (defined(_M_AMD64) || defined(__x86_64__)) || \ ++ (defined(_M_ARM64) || defined(__arm64__)) ++#define SSE2NEON_HAS_BITSCAN64 ++#endif ++#endif ++ ++#if defined(__GNUC__) || defined(__clang__) ++#define _sse2neon_define0(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define1(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define2(type, a, b, body) \ ++ __extension__({ \ ++ type _a = (a), _b = (b); \ ++ body \ ++ }) ++#define _sse2neon_return(ret) (ret) ++#else ++#define _sse2neon_define0(type, a, body) [=](type _a) { body }(a) ++#define _sse2neon_define1(type, a, body) [](type _a) { body }(a) ++#define _sse2neon_define2(type, a, b, body) \ ++ [](type _a, type _b) { body }((a), (b)) ++#define _sse2neon_return(ret) return ret ++#endif ++ ++#define _sse2neon_init(...) \ ++ { \ ++ __VA_ARGS__ \ ++ } ++ ++/* Compiler barrier */ ++#if defined(_MSC_VER) ++#define SSE2NEON_BARRIER() _ReadWriteBarrier() ++#else ++#define SSE2NEON_BARRIER() \ ++ do { \ ++ __asm__ __volatile__("" ::: "memory"); \ ++ (void) 0; \ ++ } while (0) ++#endif ++ ++/* Memory barriers ++ * __atomic_thread_fence does not include a compiler barrier; instead, ++ * the barrier is part of __atomic_load/__atomic_store's "volatile-like" ++ * semantics. ++ */ ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) ++#include ++#endif ++ ++FORCE_INLINE void _sse2neon_smp_mb(void) ++{ ++ SSE2NEON_BARRIER(); ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \ ++ !defined(__STDC_NO_ATOMICS__) ++ atomic_thread_fence(memory_order_seq_cst); ++#elif defined(__GNUC__) || defined(__clang__) ++ __atomic_thread_fence(__ATOMIC_SEQ_CST); ++#else /* MSVC */ ++ __dmb(_ARM64_BARRIER_ISH); ++#endif ++} ++ ++/* Architecture-specific build options */ ++/* FIXME: #pragma GCC push_options is only available on GCC */ ++#if defined(__GNUC__) ++#if defined(__arm__) && __ARM_ARCH == 7 ++/* According to ARM C Language Extensions Architecture specification, ++ * __ARM_NEON is defined to a value indicating the Advanced SIMD (NEON) ++ * architecture supported. ++ */ ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error "You must enable NEON instructions (e.g. -mfpu=neon) to use SSE2NEON." ++#endif ++#if !defined(__clang__) ++#pragma GCC push_options ++#pragma GCC target("fpu=neon") ++#endif ++#elif defined(__aarch64__) || defined(_M_ARM64) ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#pragma GCC target("+simd") ++#endif ++#elif __ARM_ARCH == 8 ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error \ ++ "You must enable NEON instructions (e.g. -mfpu=neon-fp-armv8) to use SSE2NEON." ++#endif ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#endif ++#else ++#error \ ++ "Unsupported target. Must be either ARMv7-A+NEON or ARMv8-A \ ++(you could try setting target explicitly with -march or -mcpu)" ++#endif ++#endif ++ ++#include ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) && (__ARM_ARCH == 8) ++#if defined __has_include && __has_include() ++#include ++#endif ++#endif ++ ++/* Apple Silicon cache lines are double of what is commonly used by Intel, AMD ++ * and other Arm microarchitectures use. ++ * From sysctl -a on Apple M1: ++ * hw.cachelinesize: 128 ++ */ ++#if defined(__APPLE__) && (defined(__aarch64__) || defined(__arm64__)) ++#define SSE2NEON_CACHELINE_SIZE 128 ++#else ++#define SSE2NEON_CACHELINE_SIZE 64 ++#endif ++ ++/* Rounding functions require either Aarch64 instructions or libm fallback */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#include ++#endif ++ ++/* On ARMv7, some registers, such as PMUSERENR and PMCCNTR, are read-only ++ * or even not accessible in user mode. ++ * To write or access to these registers in user mode, ++ * we have to perform syscall instead. ++ */ ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) ++#include ++#endif ++ ++/* "__has_builtin" can be used to query support for built-in functions ++ * provided by gcc/clang and other compilers that support it. ++ */ ++#ifndef __has_builtin /* GCC prior to 10 or non-clang compilers */ ++/* Compatibility with gcc <= 9 */ ++#if defined(__GNUC__) && (__GNUC__ <= 9) ++#define __has_builtin(x) HAS##x ++#define HAS__builtin_popcount 1 ++#define HAS__builtin_popcountll 1 ++ ++// __builtin_shuffle introduced in GCC 4.7.0 ++#if (__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) ++#define HAS__builtin_shuffle 1 ++#else ++#define HAS__builtin_shuffle 0 ++#endif ++ ++#define HAS__builtin_shufflevector 0 ++#define HAS__builtin_nontemporal_store 0 ++#else ++#define __has_builtin(x) 0 ++#endif ++#endif ++ ++/** ++ * MACRO for shuffle parameter for _mm_shuffle_ps(). ++ * Argument fp3 is a digit[0123] that represents the fp from argument "b" ++ * of mm_shuffle_ps that will be placed in fp3 of result. fp2 is the same ++ * for fp2 in result. fp1 is a digit[0123] that represents the fp from ++ * argument "a" of mm_shuffle_ps that will be places in fp1 of result. ++ * fp0 is the same for fp0 of result. ++ */ ++#define _MM_SHUFFLE(fp3, fp2, fp1, fp0) \ ++ (((fp3) << 6) | ((fp2) << 4) | ((fp1) << 2) | ((fp0))) ++ ++#if __has_builtin(__builtin_shufflevector) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __builtin_shufflevector(a, b, __VA_ARGS__) ++#elif __has_builtin(__builtin_shuffle) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __extension__({ \ ++ type tmp = {__VA_ARGS__}; \ ++ __builtin_shuffle(a, b, tmp); \ ++ }) ++#endif ++ ++#ifdef _sse2neon_shuffle ++#define vshuffle_s16(a, b, ...) _sse2neon_shuffle(int16x4_t, a, b, __VA_ARGS__) ++#define vshuffleq_s16(a, b, ...) _sse2neon_shuffle(int16x8_t, a, b, __VA_ARGS__) ++#define vshuffle_s32(a, b, ...) _sse2neon_shuffle(int32x2_t, a, b, __VA_ARGS__) ++#define vshuffleq_s32(a, b, ...) _sse2neon_shuffle(int32x4_t, a, b, __VA_ARGS__) ++#define vshuffle_s64(a, b, ...) _sse2neon_shuffle(int64x1_t, a, b, __VA_ARGS__) ++#define vshuffleq_s64(a, b, ...) _sse2neon_shuffle(int64x2_t, a, b, __VA_ARGS__) ++#endif ++ ++/* Rounding mode macros. */ ++#define _MM_FROUND_TO_NEAREST_INT 0x00 ++#define _MM_FROUND_TO_NEG_INF 0x01 ++#define _MM_FROUND_TO_POS_INF 0x02 ++#define _MM_FROUND_TO_ZERO 0x03 ++#define _MM_FROUND_CUR_DIRECTION 0x04 ++#define _MM_FROUND_NO_EXC 0x08 ++#define _MM_FROUND_RAISE_EXC 0x00 ++#define _MM_FROUND_NINT (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_FLOOR (_MM_FROUND_TO_NEG_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_CEIL (_MM_FROUND_TO_POS_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_TRUNC (_MM_FROUND_TO_ZERO | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_RINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_NEARBYINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_NO_EXC) ++#define _MM_ROUND_NEAREST 0x0000 ++#define _MM_ROUND_DOWN 0x2000 ++#define _MM_ROUND_UP 0x4000 ++#define _MM_ROUND_TOWARD_ZERO 0x6000 ++/* Flush zero mode macros. */ ++#define _MM_FLUSH_ZERO_MASK 0x8000 ++#define _MM_FLUSH_ZERO_ON 0x8000 ++#define _MM_FLUSH_ZERO_OFF 0x0000 ++/* Denormals are zeros mode macros. */ ++#define _MM_DENORMALS_ZERO_MASK 0x0040 ++#define _MM_DENORMALS_ZERO_ON 0x0040 ++#define _MM_DENORMALS_ZERO_OFF 0x0000 ++ ++/* indicate immediate constant argument in a given range */ ++#define __constrange(a, b) const ++ ++/* A few intrinsics accept traditional data types like ints or floats, but ++ * most operate on data types that are specific to SSE. ++ * If a vector type ends in d, it contains doubles, and if it does not have ++ * a suffix, it contains floats. An integer vector type can contain any type ++ * of integer, from chars to shorts to unsigned long longs. ++ */ ++typedef int64x1_t __m64; ++typedef float32x4_t __m128; /* 128-bit vector containing 4 floats */ ++// On ARM 32-bit architecture, the float64x2_t is not supported. ++// The data type __m128d should be represented in a different way for related ++// intrinsic conversion. ++#if defined(__aarch64__) || defined(_M_ARM64) ++typedef float64x2_t __m128d; /* 128-bit vector containing 2 doubles */ ++#else ++typedef float32x4_t __m128d; ++#endif ++typedef int64x2_t __m128i; /* 128-bit vector containing integers */ ++ ++// Some intrinsics operate on unaligned data types. ++typedef int16_t ALIGN_STRUCT(1) unaligned_int16_t; ++typedef int32_t ALIGN_STRUCT(1) unaligned_int32_t; ++typedef int64_t ALIGN_STRUCT(1) unaligned_int64_t; ++ ++// __int64 is defined in the Intrinsics Guide which maps to different datatype ++// in different data model ++#if !(defined(_WIN32) || defined(_WIN64) || defined(__int64)) ++#if (defined(__x86_64__) || defined(__i386__)) ++#define __int64 long long ++#else ++#define __int64 int64_t ++#endif ++#endif ++ ++/* type-safe casting between types */ ++ ++#define vreinterpretq_m128_f16(x) vreinterpretq_f32_f16(x) ++#define vreinterpretq_m128_f32(x) (x) ++#define vreinterpretq_m128_f64(x) vreinterpretq_f32_f64(x) ++ ++#define vreinterpretq_m128_u8(x) vreinterpretq_f32_u8(x) ++#define vreinterpretq_m128_u16(x) vreinterpretq_f32_u16(x) ++#define vreinterpretq_m128_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128_s8(x) vreinterpretq_f32_s8(x) ++#define vreinterpretq_m128_s16(x) vreinterpretq_f32_s16(x) ++#define vreinterpretq_m128_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_f16_m128(x) vreinterpretq_f16_f32(x) ++#define vreinterpretq_f32_m128(x) (x) ++#define vreinterpretq_f64_m128(x) vreinterpretq_f64_f32(x) ++ ++#define vreinterpretq_u8_m128(x) vreinterpretq_u8_f32(x) ++#define vreinterpretq_u16_m128(x) vreinterpretq_u16_f32(x) ++#define vreinterpretq_u32_m128(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_s8_m128(x) vreinterpretq_s8_f32(x) ++#define vreinterpretq_s16_m128(x) vreinterpretq_s16_f32(x) ++#define vreinterpretq_s32_m128(x) vreinterpretq_s32_f32(x) ++#define vreinterpretq_s64_m128(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_m128i_s8(x) vreinterpretq_s64_s8(x) ++#define vreinterpretq_m128i_s16(x) vreinterpretq_s64_s16(x) ++#define vreinterpretq_m128i_s32(x) vreinterpretq_s64_s32(x) ++#define vreinterpretq_m128i_s64(x) (x) ++ ++#define vreinterpretq_m128i_u8(x) vreinterpretq_s64_u8(x) ++#define vreinterpretq_m128i_u16(x) vreinterpretq_s64_u16(x) ++#define vreinterpretq_m128i_u32(x) vreinterpretq_s64_u32(x) ++#define vreinterpretq_m128i_u64(x) vreinterpretq_s64_u64(x) ++ ++#define vreinterpretq_f32_m128i(x) vreinterpretq_f32_s64(x) ++#define vreinterpretq_f64_m128i(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_s8_m128i(x) vreinterpretq_s8_s64(x) ++#define vreinterpretq_s16_m128i(x) vreinterpretq_s16_s64(x) ++#define vreinterpretq_s32_m128i(x) vreinterpretq_s32_s64(x) ++#define vreinterpretq_s64_m128i(x) (x) ++ ++#define vreinterpretq_u8_m128i(x) vreinterpretq_u8_s64(x) ++#define vreinterpretq_u16_m128i(x) vreinterpretq_u16_s64(x) ++#define vreinterpretq_u32_m128i(x) vreinterpretq_u32_s64(x) ++#define vreinterpretq_u64_m128i(x) vreinterpretq_u64_s64(x) ++ ++#define vreinterpret_m64_s8(x) vreinterpret_s64_s8(x) ++#define vreinterpret_m64_s16(x) vreinterpret_s64_s16(x) ++#define vreinterpret_m64_s32(x) vreinterpret_s64_s32(x) ++#define vreinterpret_m64_s64(x) (x) ++ ++#define vreinterpret_m64_u8(x) vreinterpret_s64_u8(x) ++#define vreinterpret_m64_u16(x) vreinterpret_s64_u16(x) ++#define vreinterpret_m64_u32(x) vreinterpret_s64_u32(x) ++#define vreinterpret_m64_u64(x) vreinterpret_s64_u64(x) ++ ++#define vreinterpret_m64_f16(x) vreinterpret_s64_f16(x) ++#define vreinterpret_m64_f32(x) vreinterpret_s64_f32(x) ++#define vreinterpret_m64_f64(x) vreinterpret_s64_f64(x) ++ ++#define vreinterpret_u8_m64(x) vreinterpret_u8_s64(x) ++#define vreinterpret_u16_m64(x) vreinterpret_u16_s64(x) ++#define vreinterpret_u32_m64(x) vreinterpret_u32_s64(x) ++#define vreinterpret_u64_m64(x) vreinterpret_u64_s64(x) ++ ++#define vreinterpret_s8_m64(x) vreinterpret_s8_s64(x) ++#define vreinterpret_s16_m64(x) vreinterpret_s16_s64(x) ++#define vreinterpret_s32_m64(x) vreinterpret_s32_s64(x) ++#define vreinterpret_s64_m64(x) (x) ++ ++#define vreinterpret_f32_m64(x) vreinterpret_f32_s64(x) ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f64_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f64_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) vreinterpretq_f64_f32(x) ++#define vreinterpretq_m128d_f64(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f64(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f64(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f64(x) ++ ++#define vreinterpretq_f64_m128d(x) (x) ++#define vreinterpretq_f32_m128d(x) vreinterpretq_f32_f64(x) ++#else ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_m128d_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_f32_m128d(x) (x) ++#endif ++ ++// A struct is defined in this header file called 'SIMDVec' which can be used ++// by applications which attempt to access the contents of an __m128 struct ++// directly. It is important to note that accessing the __m128 struct directly ++// is bad coding practice by Microsoft: @see: ++// https://learn.microsoft.com/en-us/cpp/cpp/m128 ++// ++// However, some legacy source code may try to access the contents of an __m128 ++// struct directly so the developer can use the SIMDVec as an alias for it. Any ++// casting must be done manually by the developer, as you cannot cast or ++// otherwise alias the base NEON data type for intrinsic operations. ++// ++// union intended to allow direct access to an __m128 variable using the names ++// that the MSVC compiler provides. This union should really only be used when ++// trying to access the members of the vector as integer values. GCC/clang ++// allow native access to the float members through a simple array access ++// operator (in C since 4.6, in C++ since 4.8). ++// ++// Ideally direct accesses to SIMD vectors should not be used since it can cause ++// a performance hit. If it really is needed however, the original __m128 ++// variable can be aliased with a pointer to this union and used to access ++// individual components. The use of this union should be hidden behind a macro ++// that is used throughout the codebase to access the members instead of always ++// declaring this type of variable. ++typedef union ALIGN_STRUCT(16) SIMDVec { ++ float m128_f32[4]; // as floats - DON'T USE. Added for convenience. ++ int8_t m128_i8[16]; // as signed 8-bit integers. ++ int16_t m128_i16[8]; // as signed 16-bit integers. ++ int32_t m128_i32[4]; // as signed 32-bit integers. ++ int64_t m128_i64[2]; // as signed 64-bit integers. ++ uint8_t m128_u8[16]; // as unsigned 8-bit integers. ++ uint16_t m128_u16[8]; // as unsigned 16-bit integers. ++ uint32_t m128_u32[4]; // as unsigned 32-bit integers. ++ uint64_t m128_u64[2]; // as unsigned 64-bit integers. ++} SIMDVec; ++ ++// casting using SIMDVec ++#define vreinterpretq_nth_u64_m128i(x, n) (((SIMDVec *) &x)->m128_u64[n]) ++#define vreinterpretq_nth_u32_m128i(x, n) (((SIMDVec *) &x)->m128_u32[n]) ++#define vreinterpretq_nth_u8_m128i(x, n) (((SIMDVec *) &x)->m128_u8[n]) ++ ++/* SSE macros */ ++#define _MM_GET_FLUSH_ZERO_MODE _sse2neon_mm_get_flush_zero_mode ++#define _MM_SET_FLUSH_ZERO_MODE _sse2neon_mm_set_flush_zero_mode ++#define _MM_GET_DENORMALS_ZERO_MODE _sse2neon_mm_get_denormals_zero_mode ++#define _MM_SET_DENORMALS_ZERO_MODE _sse2neon_mm_set_denormals_zero_mode ++ ++// Function declaration ++// SSE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void); ++FORCE_INLINE __m128 _mm_move_ss(__m128, __m128); ++FORCE_INLINE __m128 _mm_or_ps(__m128, __m128); ++FORCE_INLINE __m128 _mm_set_ps1(float); ++FORCE_INLINE __m128 _mm_setzero_ps(void); ++// SSE2 ++FORCE_INLINE __m128i _mm_and_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_castps_si128(__m128); ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128); ++FORCE_INLINE __m128d _mm_move_sd(__m128d, __m128d); ++FORCE_INLINE __m128i _mm_or_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_set_epi32(int, int, int, int); ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t, int64_t); ++FORCE_INLINE __m128d _mm_set_pd(double, double); ++FORCE_INLINE __m128i _mm_set1_epi32(int); ++FORCE_INLINE __m128i _mm_setzero_si128(void); ++// SSE4.1 ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d); ++FORCE_INLINE __m128 _mm_ceil_ps(__m128); ++FORCE_INLINE __m128d _mm_floor_pd(__m128d); ++FORCE_INLINE __m128 _mm_floor_ps(__m128); ++FORCE_INLINE_OPTNONE __m128d _mm_round_pd(__m128d, int); ++FORCE_INLINE_OPTNONE __m128 _mm_round_ps(__m128, int); ++// SSE4.2 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t, uint8_t); ++ ++/* Backwards compatibility for compilers with lack of specific type support */ ++ ++// Older gcc does not define vld1q_u8_x4 type ++#if defined(__GNUC__) && !defined(__clang__) && \ ++ ((__GNUC__ <= 13 && defined(__arm__)) || \ ++ (__GNUC__ == 10 && __GNUC_MINOR__ < 3 && defined(__aarch64__)) || \ ++ (__GNUC__ <= 9 && defined(__aarch64__))) ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ uint8x16x4_t ret; ++ ret.val[0] = vld1q_u8(p + 0); ++ ret.val[1] = vld1q_u8(p + 16); ++ ret.val[2] = vld1q_u8(p + 32); ++ ret.val[3] = vld1q_u8(p + 48); ++ return ret; ++} ++#else ++// Wraps vld1q_u8_x4 ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ return vld1q_u8_x4(p); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddv u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ const uint64x1_t v1 = vpaddl_u32(vpaddl_u16(vpaddl_u8(v8))); ++ return vget_lane_u8(vreinterpret_u8_u64(v1), 0); ++} ++#else ++// Wraps vaddv_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ return vaddv_u8(v8); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ uint8x8_t tmp = vpadd_u8(vget_low_u8(a), vget_high_u8(a)); ++ uint8_t res = 0; ++ for (int i = 0; i < 8; ++i) ++ res += tmp[i]; ++ return res; ++} ++#else ++// Wraps vaddvq_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ return vaddvq_u8(a); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u16 variant */ ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ uint32x4_t m = vpaddlq_u16(a); ++ uint64x2_t n = vpaddlq_u32(m); ++ uint64x1_t o = vget_low_u64(n) + vget_high_u64(n); ++ ++ return vget_lane_u32((uint32x2_t) o, 0); ++} ++#else ++// Wraps vaddvq_u16 ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ return vaddvq_u16(a); ++} ++#endif ++ ++/* Function Naming Conventions ++ * The naming convention of SSE intrinsics is straightforward. A generic SSE ++ * intrinsic function is given as follows: ++ * _mm__ ++ * ++ * The parts of this format are given as follows: ++ * 1. describes the operation performed by the intrinsic ++ * 2. identifies the data type of the function's primary arguments ++ * ++ * This last part, , is a little complicated. It identifies the ++ * content of the input values, and can be set to any of the following values: ++ * + ps - vectors contain floats (ps stands for packed single-precision) ++ * + pd - vectors contain doubles (pd stands for packed double-precision) ++ * + epi8/epi16/epi32/epi64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * signed integers ++ * + epu8/epu16/epu32/epu64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * unsigned integers ++ * + si128 - unspecified 128-bit vector or 256-bit vector ++ * + m128/m128i/m128d - identifies input vector types when they are different ++ * than the type of the returned vector ++ * ++ * For example, _mm_setzero_ps. The _mm implies that the function returns ++ * a 128-bit vector. The _ps at the end implies that the argument vectors ++ * contain floats. ++ * ++ * A complete example: Byte Shuffle - pshufb (_mm_shuffle_epi8) ++ * // Set packed 16-bit integers. 128 bits, 8 short, per 16 bits ++ * __m128i v_in = _mm_setr_epi16(1, 2, 3, 4, 5, 6, 7, 8); ++ * // Set packed 8-bit integers ++ * // 128 bits, 16 chars, per 8 bits ++ * __m128i v_perm = _mm_setr_epi8(1, 0, 2, 3, 8, 9, 10, 11, ++ * 4, 5, 12, 13, 6, 7, 14, 15); ++ * // Shuffle packed 8-bit integers ++ * __m128i v_out = _mm_shuffle_epi8(v_in, v_perm); // pshufb ++ */ ++ ++/* Constants for use with _mm_prefetch. */ ++enum _mm_hint { ++ _MM_HINT_NTA = 0, /* load data to L1 and L2 cache, mark it as NTA */ ++ _MM_HINT_T0 = 1, /* load data to L1 and L2 cache */ ++ _MM_HINT_T1 = 2, /* load data to L2 cache only */ ++ _MM_HINT_T2 = 3, /* load data to L2 cache only, mark it as NTA */ ++}; ++ ++// The bit field mapping to the FPCR(floating-point control register) ++typedef struct { ++ uint16_t res0; ++ uint8_t res1 : 6; ++ uint8_t bit22 : 1; ++ uint8_t bit23 : 1; ++ uint8_t bit24 : 1; ++ uint8_t res2 : 7; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32_t res3; ++#endif ++} fpcr_bitfield; ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of b and places it into the high end of the result. ++FORCE_INLINE __m128 _mm_shuffle_ps_1032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in high ++// end of result takes the higher two 32 bit values from b and swaps them and ++// places in low end of result. ++FORCE_INLINE __m128 _mm_shuffle_ps_2301(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b23 = vrev64_f32(vget_high_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b23)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0321(__m128 a, __m128 b) ++{ ++ float32x2_t a21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a21, b03)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2103(__m128 a, __m128 b) ++{ ++ float32x2_t a03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a03, b21)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0101(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b01)); ++} ++ ++// keeps the low 64 bits of b in the low and puts the high 64 bits of a in the ++// high ++FORCE_INLINE __m128 _mm_shuffle_ps_3210(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0011(__m128 a, __m128 b) ++{ ++ float32x2_t a11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a11, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0022(__m128 a, __m128 b) ++{ ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a22, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2200(__m128 a, __m128 b) ++{ ++ float32x2_t a00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a00, b22)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_3202(__m128 a, __m128 b) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t a02 = vset_lane_f32(a0, a22, 1); /* TODO: use vzip ?*/ ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a02, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1133(__m128 a, __m128 b) ++{ ++ float32x2_t a33 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a33, b11)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b20)); ++} ++ ++// For MSVC, we check only if it is ARM64, as every single ARM64 processor ++// supported by WoA has crypto extensions. If this changes in the future, ++// this can be verified via the runtime-only method of: ++// IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE) ++#if (defined(_M_ARM64) && !defined(__clang__)) || \ ++ (defined(__ARM_FEATURE_CRYPTO) && \ ++ (defined(__aarch64__) || __has_builtin(__builtin_arm_crypto_vmullp64))) ++// Wraps vmull_p64 ++FORCE_INLINE uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly64_t a = vget_lane_p64(vreinterpret_p64_u64(_a), 0); ++ poly64_t b = vget_lane_p64(vreinterpret_p64_u64(_b), 0); ++#if defined(_MSC_VER) ++ __n64 a1 = {a}, b1 = {b}; ++ return vreinterpretq_u64_p128(vmull_p64(a1, b1)); ++#else ++ return vreinterpretq_u64_p128(vmull_p64(a, b)); ++#endif ++} ++#else // ARMv7 polyfill ++// ARMv7/some A64 lacks vmull_p64, but it has vmull_p8. ++// ++// vmull_p8 calculates 8 8-bit->16-bit polynomial multiplies, but we need a ++// 64-bit->128-bit polynomial multiply. ++// ++// It needs some work and is somewhat slow, but it is still faster than all ++// known scalar methods. ++// ++// Algorithm adapted to C from ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/, which is adapted ++// from "Fast Software Polynomial Multiplication on ARM Processors Using the ++// NEON Engine" by Danilo Camara, Conrado Gouvea, Julio Lopez and Ricardo Dahab ++// (https://hal.inria.fr/hal-01506572) ++static uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly8x8_t a = vreinterpret_p8_u64(_a); ++ poly8x8_t b = vreinterpret_p8_u64(_b); ++ ++ // Masks ++ uint8x16_t k48_32 = vcombine_u8(vcreate_u8(0x0000ffffffffffff), ++ vcreate_u8(0x00000000ffffffff)); ++ uint8x16_t k16_00 = vcombine_u8(vcreate_u8(0x000000000000ffff), ++ vcreate_u8(0x0000000000000000)); ++ ++ // Do the multiplies, rotating with vext to get all combinations ++ uint8x16_t d = vreinterpretq_u8_p16(vmull_p8(a, b)); // D = A0 * B0 ++ uint8x16_t e = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 1))); // E = A0 * B1 ++ uint8x16_t f = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 1), b)); // F = A1 * B0 ++ uint8x16_t g = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 2))); // G = A0 * B2 ++ uint8x16_t h = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 2), b)); // H = A2 * B0 ++ uint8x16_t i = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 3))); // I = A0 * B3 ++ uint8x16_t j = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 3), b)); // J = A3 * B0 ++ uint8x16_t k = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 4))); // L = A0 * B4 ++ ++ // Add cross products ++ uint8x16_t l = veorq_u8(e, f); // L = E + F ++ uint8x16_t m = veorq_u8(g, h); // M = G + H ++ uint8x16_t n = veorq_u8(i, j); // N = I + J ++ ++ // Interleave. Using vzip1 and vzip2 prevents Clang from emitting TBL ++ // instructions. ++#if defined(__aarch64__) ++ uint8x16_t lm_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t lm_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t nk_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++ uint8x16_t nk_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++#else ++ uint8x16_t lm_p0 = vcombine_u8(vget_low_u8(l), vget_low_u8(m)); ++ uint8x16_t lm_p1 = vcombine_u8(vget_high_u8(l), vget_high_u8(m)); ++ uint8x16_t nk_p0 = vcombine_u8(vget_low_u8(n), vget_low_u8(k)); ++ uint8x16_t nk_p1 = vcombine_u8(vget_high_u8(n), vget_high_u8(k)); ++#endif ++ // t0 = (L) (P0 + P1) << 8 ++ // t1 = (M) (P2 + P3) << 16 ++ uint8x16_t t0t1_tmp = veorq_u8(lm_p0, lm_p1); ++ uint8x16_t t0t1_h = vandq_u8(lm_p1, k48_32); ++ uint8x16_t t0t1_l = veorq_u8(t0t1_tmp, t0t1_h); ++ ++ // t2 = (N) (P4 + P5) << 24 ++ // t3 = (K) (P6 + P7) << 32 ++ uint8x16_t t2t3_tmp = veorq_u8(nk_p0, nk_p1); ++ uint8x16_t t2t3_h = vandq_u8(nk_p1, k16_00); ++ uint8x16_t t2t3_l = veorq_u8(t2t3_tmp, t2t3_h); ++ ++ // De-interleave ++#if defined(__aarch64__) ++ uint8x16_t t0 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t1 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t2 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++ uint8x16_t t3 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++#else ++ uint8x16_t t1 = vcombine_u8(vget_high_u8(t0t1_l), vget_high_u8(t0t1_h)); ++ uint8x16_t t0 = vcombine_u8(vget_low_u8(t0t1_l), vget_low_u8(t0t1_h)); ++ uint8x16_t t3 = vcombine_u8(vget_high_u8(t2t3_l), vget_high_u8(t2t3_h)); ++ uint8x16_t t2 = vcombine_u8(vget_low_u8(t2t3_l), vget_low_u8(t2t3_h)); ++#endif ++ // Shift the cross products ++ uint8x16_t t0_shift = vextq_u8(t0, t0, 15); // t0 << 8 ++ uint8x16_t t1_shift = vextq_u8(t1, t1, 14); // t1 << 16 ++ uint8x16_t t2_shift = vextq_u8(t2, t2, 13); // t2 << 24 ++ uint8x16_t t3_shift = vextq_u8(t3, t3, 12); // t3 << 32 ++ ++ // Accumulate the products ++ uint8x16_t cross1 = veorq_u8(t0_shift, t1_shift); ++ uint8x16_t cross2 = veorq_u8(t2_shift, t3_shift); ++ uint8x16_t mix = veorq_u8(d, cross1); ++ uint8x16_t r = veorq_u8(mix, cross2); ++ return vreinterpretq_u64_u8(r); ++} ++#endif // ARMv7 polyfill ++ ++// C equivalent: ++// __m128i _mm_shuffle_epi32_default(__m128i a, ++// __constrange(0, 255) int imm) { ++// __m128i ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = a[(imm >> 4) & 0x03]; ret[3] = a[(imm >> 6) & 0x03]; ++// return ret; ++// } ++#define _mm_shuffle_epi32_default(a, imm) \ ++ vreinterpretq_m128i_s32(vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), \ ++ ((imm) >> 2) & 0x3), \ ++ vmovq_n_s32(vgetq_lane_s32( \ ++ vreinterpretq_s32_m128i(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of a and places it into the high end of the result. ++FORCE_INLINE __m128i _mm_shuffle_epi_1032(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in low end ++// of result takes the higher two 32 bit values from a and swaps them and places ++// in high end of result. ++FORCE_INLINE __m128i _mm_shuffle_epi_2301(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a23 = vrev64_s32(vget_high_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a23)); ++} ++ ++// rotates the least significant 32 bits into the most significant 32 bits, and ++// shifts the rest down ++FORCE_INLINE __m128i _mm_shuffle_epi_0321(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 1)); ++} ++ ++// rotates the most significant 32 bits into the least significant 32 bits, and ++// shifts the rest up ++FORCE_INLINE __m128i _mm_shuffle_epi_2103(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 3)); ++} ++ ++// gets the lower 64 bits of a, and places it in the upper 64 bits ++// gets the lower 64 bits of a and places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1010(__m128i a) ++{ ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a10, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements, and places it in the ++// lower 64 bits gets the lower 64 bits of a, and places it in the upper 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1001(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements and places it in the ++// upper 64 bits gets the lower 64 bits of a, swaps the 0 and 1 elements, and ++// places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_0101(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_2211(__m128i a) ++{ ++ int32x2_t a11 = vdup_lane_s32(vget_low_s32(vreinterpretq_s32_m128i(a)), 1); ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ return vreinterpretq_m128i_s32(vcombine_s32(a11, a22)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_0122(__m128i a) ++{ ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a22, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_3332(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a33 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 1); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a33)); ++} ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32(vdupq_laneq_s32(vreinterpretq_s32_m128i(a), (imm))) ++#else ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vdupq_n_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)))) ++#endif ++ ++// NEON does not support a general purpose permute intrinsic. ++// Shuffle single-precision (32-bit) floating-point elements in a using the ++// control in imm8, and store the results in dst. ++// ++// C equivalent: ++// __m128 _mm_shuffle_ps_default(__m128 a, __m128 b, ++// __constrange(0, 255) int imm) { ++// __m128 ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = b[(imm >> 4) & 0x03]; ret[3] = b[(imm >> 6) & 0x03]; ++// return ret; ++// } ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_ps ++#define _mm_shuffle_ps_default(a, b, imm) \ ++ vreinterpretq_m128_f32(vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), ((imm) >> 2) & 0x3), \ ++ vmovq_n_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Shuffle 16-bit integers in the low 64 bits of a using the control in imm8. ++// Store the results in the low 64 bits of dst, with the high 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflelo_epi16 ++#define _mm_shufflelo_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t lowBits = vget_low_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, (imm) & (0x3)), ret, 0); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++// Shuffle 16-bit integers in the high 64 bits of a using the control in imm8. ++// Store the results in the high 64 bits of dst, with the low 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflehi_epi16 ++#define _mm_shufflehi_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t highBits = vget_high_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, (imm) & (0x3)), ret, 4); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 2) & 0x3), ret, \ ++ 5); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 4) & 0x3), ret, \ ++ 6); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 6) & 0x3), ret, \ ++ 7); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++/* MMX */ ++ ++//_mm_empty is a no-op on arm ++FORCE_INLINE void _mm_empty(void) {} ++ ++/* SSE */ ++ ++// Add packed single-precision (32-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ps ++FORCE_INLINE __m128 _mm_add_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Add the lower single-precision (32-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ss ++FORCE_INLINE __m128 _mm_add_ss(__m128 a, __m128 b) ++{ ++ float32_t b0 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++ float32x4_t value = vsetq_lane_f32(b0, vdupq_n_f32(0), 0); ++ // the upper values in the result must be the remnants of . ++ return vreinterpretq_m128_f32(vaddq_f32(a, value)); ++} ++ ++// Compute the bitwise AND of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_ps ++FORCE_INLINE __m128 _mm_and_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vandq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Compute the bitwise NOT of packed single-precision (32-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_ps ++FORCE_INLINE __m128 _mm_andnot_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vbicq_s32(vreinterpretq_s32_m128(b), ++ vreinterpretq_s32_m128(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu16 ++FORCE_INLINE __m64 _mm_avg_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16( ++ vrhadd_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu8 ++FORCE_INLINE __m64 _mm_avg_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vrhadd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ps ++FORCE_INLINE __m128 _mm_cmpeq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ss ++FORCE_INLINE __m128 _mm_cmpeq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpeq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ps ++FORCE_INLINE __m128 _mm_cmpge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ss ++FORCE_INLINE __m128 _mm_cmpge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ps ++FORCE_INLINE __m128 _mm_cmpgt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ss ++FORCE_INLINE __m128 _mm_cmpgt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpgt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ps ++FORCE_INLINE __m128 _mm_cmple_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ss ++FORCE_INLINE __m128 _mm_cmple_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmple_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ps ++FORCE_INLINE __m128 _mm_cmplt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ss ++FORCE_INLINE __m128 _mm_cmplt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmplt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ps ++FORCE_INLINE __m128 _mm_cmpneq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ss ++FORCE_INLINE __m128 _mm_cmpneq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpneq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ps ++FORCE_INLINE __m128 _mm_cmpnge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ss ++FORCE_INLINE __m128 _mm_cmpnge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ps ++FORCE_INLINE __m128 _mm_cmpngt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ss ++FORCE_INLINE __m128 _mm_cmpngt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpngt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ps ++FORCE_INLINE __m128 _mm_cmpnle_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ss ++FORCE_INLINE __m128 _mm_cmpnle_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnle_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ps ++FORCE_INLINE __m128 _mm_cmpnlt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ss ++FORCE_INLINE __m128 _mm_cmpnlt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnlt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ps ++// ++// See also: ++// http://stackoverflow.com/questions/8627331/what-does-ordered-unordered-comparison-mean ++// http://stackoverflow.com/questions/29349621/neon-isnanval-intrinsics ++FORCE_INLINE __m128 _mm_cmpord_ps(__m128 a, __m128 b) ++{ ++ // Note: NEON does not have ordered compare builtin ++ // Need to compare a eq a and b eq b to check for NaN ++ // Do AND of results to get final ++ uint32x4_t ceqaa = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t ceqbb = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vandq_u32(ceqaa, ceqbb)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ss ++FORCE_INLINE __m128 _mm_cmpord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpord_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ps ++FORCE_INLINE __m128 _mm_cmpunord_ps(__m128 a, __m128 b) ++{ ++ uint32x4_t f32a = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t f32b = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vmvnq_u32(vandq_u32(f32a, f32b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ss ++FORCE_INLINE __m128 _mm_cmpunord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpunord_ps(a, b)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_ss ++FORCE_INLINE int _mm_comieq_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_eq_b = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_eq_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_ss ++FORCE_INLINE int _mm_comige_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_ge_b = ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_ge_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_ss ++FORCE_INLINE int _mm_comigt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_gt_b = ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_gt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_ss ++FORCE_INLINE int _mm_comile_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_le_b = ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_le_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_ss ++FORCE_INLINE int _mm_comilt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_lt_b = ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_lt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_ss ++FORCE_INLINE int _mm_comineq_ss(__m128 a, __m128 b) ++{ ++ return !_mm_comieq_ss(a, b); ++} ++ ++// Convert packed signed 32-bit integers in b to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, and copy the upper 2 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_pi2ps ++FORCE_INLINE __m128 _mm_cvt_pi2ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ps2pi ++FORCE_INLINE __m64 _mm_cvt_ps2pi(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))))); ++#else ++ return vreinterpret_m64_s32(vcvt_s32_f32(vget_low_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION))))); ++#endif ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_si2ss ++FORCE_INLINE __m128 _mm_cvt_si2ss(__m128 a, int b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ss2si ++FORCE_INLINE int _mm_cvt_ss2si(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vgetq_lane_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))), ++ 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int32_t) data; ++#endif ++} ++ ++// Convert packed 16-bit integers in a to packed single-precision (32-bit) ++// floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi16_ps ++FORCE_INLINE __m128 _mm_cvtpi16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vmovl_s16(vreinterpret_s16_m64(a)))); ++} ++ ++// Convert packed 32-bit integers in b to packed single-precision (32-bit) ++// floating-point elements, store the results in the lower 2 elements of dst, ++// and copy the upper 2 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_ps ++FORCE_INLINE __m128 _mm_cvtpi32_ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, then convert the packed signed 32-bit integers in b to ++// single-precision (32-bit) floating-point element, and store the results in ++// the upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32x2_ps ++FORCE_INLINE __m128 _mm_cvtpi32x2_ps(__m64 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vcombine_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b)))); ++} ++ ++// Convert the lower packed 8-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi8_ps ++FORCE_INLINE __m128 _mm_cvtpi8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vmovl_s16(vget_low_s16(vmovl_s8(vreinterpret_s8_m64(a)))))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 16-bit integers, and store the results in dst. Note: this intrinsic ++// will generate 0x7FFF, rather than 0x8000, for input values between 0x7FFF and ++// 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi16 ++FORCE_INLINE __m64 _mm_cvtps_pi16(__m128 a) ++{ ++ return vreinterpret_m64_s16( ++ vqmovn_s32(vreinterpretq_s32_m128i(_mm_cvtps_epi32(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi32 ++#define _mm_cvtps_pi32(a) _mm_cvt_ps2pi(a) ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 8-bit integers, and store the results in lower 4 elements of dst. ++// Note: this intrinsic will generate 0x7F, rather than 0x80, for input values ++// between 0x7F and 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi8 ++FORCE_INLINE __m64 _mm_cvtps_pi8(__m128 a) ++{ ++ return vreinterpret_m64_s8(vqmovn_s16( ++ vcombine_s16(vreinterpret_s16_m64(_mm_cvtps_pi16(a)), vdup_n_s16(0)))); ++} ++ ++// Convert packed unsigned 16-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu16_ps ++FORCE_INLINE __m128 _mm_cvtpu16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_u32(vmovl_u16(vreinterpret_u16_m64(a)))); ++} ++ ++// Convert the lower packed unsigned 8-bit integers in a to packed ++// single-precision (32-bit) floating-point elements, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu8_ps ++FORCE_INLINE __m128 _mm_cvtpu8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_u32( ++ vmovl_u16(vget_low_u16(vmovl_u8(vreinterpret_u8_m64(a)))))); ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_ss ++#define _mm_cvtsi32_ss(a, b) _mm_cvt_si2ss(a, b) ++ ++// Convert the signed 64-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_ss ++FORCE_INLINE __m128 _mm_cvtsi64_ss(__m128 a, int64_t b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Copy the lower single-precision (32-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_f32 ++FORCE_INLINE float _mm_cvtss_f32(__m128 a) ++{ ++ return vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si32 ++#define _mm_cvtss_si32(a) _mm_cvt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si64 ++FORCE_INLINE int64_t _mm_cvtss_si64(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return (int64_t) vgetq_lane_f32(vrndiq_f32(vreinterpretq_f32_m128(a)), 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int64_t) data; ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ps2pi ++FORCE_INLINE __m64 _mm_cvtt_ps2pi(__m128 a) ++{ ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ss2si ++FORCE_INLINE int _mm_cvtt_ss2si(__m128 a) ++{ ++ return vgetq_lane_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)), 0); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_pi32 ++#define _mm_cvttps_pi32(a) _mm_cvtt_ps2pi(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si32 ++#define _mm_cvttss_si32(a) _mm_cvtt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si64 ++FORCE_INLINE int64_t _mm_cvttss_si64(__m128 a) ++{ ++ return (int64_t) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Divide packed single-precision (32-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise division intrinsic, we implement ++// division by multiplying a by b's reciprocal before using the Newton-Raphson ++// method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ps ++FORCE_INLINE __m128 _mm_div_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vdivq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(b)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(a), recip)); ++#endif ++} ++ ++// Divide the lower single-precision (32-bit) floating-point element in a by the ++// lower single-precision (32-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper 3 packed elements from a to ++// the upper elements of dst. ++// Warning: ARMv7-A does not produce the same result compared to Intel and not ++// IEEE-compliant. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ss ++FORCE_INLINE __m128 _mm_div_ss(__m128 a, __m128 b) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_div_ps(a, b)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_pi16 ++#define _mm_extract_pi16(a, imm) \ ++ (int32_t) vget_lane_u16(vreinterpret_u16_m64(a), (imm)) ++ ++// Free aligned memory that was allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_free ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void _mm_free(void *addr) ++{ ++ free(addr); ++} ++#endif ++ ++FORCE_INLINE uint64_t _sse2neon_get_fpcr(void) ++{ ++ uint64_t value; ++#if defined(_MSC_VER) ++ value = _ReadStatusReg(ARM64_FPCR); ++#else ++ __asm__ __volatile__("mrs %0, FPCR" : "=r"(value)); /* read */ ++#endif ++ return value; ++} ++ ++FORCE_INLINE void _sse2neon_set_fpcr(uint64_t value) ++{ ++#if defined(_MSC_VER) ++ _WriteStatusReg(ARM64_FPCR, value); ++#else ++ __asm__ __volatile__("msr FPCR, %0" ::"r"(value)); /* write */ ++#endif ++} ++ ++// Macro: Get the flush zero bits from the MXCSR control and status register. ++// The flush zero may contain any of the following flags: _MM_FLUSH_ZERO_ON or ++// _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_FLUSH_ZERO_MODE ++FORCE_INLINE unsigned int _sse2neon_mm_get_flush_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_FLUSH_ZERO_ON : _MM_FLUSH_ZERO_OFF; ++} ++ ++// Macro: Get the rounding mode bits from the MXCSR control and status register. ++// The rounding mode may contain any of the following flags: _MM_ROUND_NEAREST, ++// _MM_ROUND_DOWN, _MM_ROUND_UP, _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_ROUNDING_MODE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ if (r.field.bit22) { ++ return r.field.bit23 ? _MM_ROUND_TOWARD_ZERO : _MM_ROUND_UP; ++ } else { ++ return r.field.bit23 ? _MM_ROUND_DOWN : _MM_ROUND_NEAREST; ++ } ++} ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_pi16 ++#define _mm_insert_pi16(a, b, imm) \ ++ vreinterpret_m64_s16(vset_lane_s16((b), vreinterpret_s16_m64(a), (imm))) ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps ++FORCE_INLINE __m128 _mm_load_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// ++// dst[31:0] := MEM[mem_addr+31:mem_addr] ++// dst[63:32] := MEM[mem_addr+31:mem_addr] ++// dst[95:64] := MEM[mem_addr+31:mem_addr] ++// dst[127:96] := MEM[mem_addr+31:mem_addr] ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps1 ++#define _mm_load_ps1 _mm_load1_ps ++ ++// Load a single-precision (32-bit) floating-point element from memory into the ++// lower of dst, and zero the upper 3 elements. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ss ++FORCE_INLINE __m128 _mm_load_ss(const float *p) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(*p, vdupq_n_f32(0), 0)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_ps ++FORCE_INLINE __m128 _mm_load1_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_dup_f32(p)); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// upper 2 elements of dst, and copy the lower 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pi ++FORCE_INLINE __m128 _mm_loadh_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vget_low_f32(a), vld1_f32((const float32_t *) p))); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// lower 2 elements of dst, and copy the upper 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pi ++FORCE_INLINE __m128 _mm_loadl_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vld1_f32((const float32_t *) p), vget_high_f32(a))); ++} ++ ++// Load 4 single-precision (32-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_ps ++FORCE_INLINE __m128 _mm_loadr_ps(const float *p) ++{ ++ float32x4_t v = vrev64q_f32(vld1q_f32(p)); ++ return vreinterpretq_m128_f32(vextq_f32(v, v, 2)); ++} ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_ps ++FORCE_INLINE __m128 _mm_loadu_ps(const float *p) ++{ ++ // for neon, alignment doesn't matter, so _mm_load_ps and _mm_loadu_ps are ++ // equivalent for neon ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load unaligned 16-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si16 ++FORCE_INLINE __m128i _mm_loadu_si16(const void *p) ++{ ++ return vreinterpretq_m128i_s16( ++ vsetq_lane_s16(*(const unaligned_int16_t *) p, vdupq_n_s16(0), 0)); ++} ++ ++// Load unaligned 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si64 ++FORCE_INLINE __m128i _mm_loadu_si64(const void *p) ++{ ++ return vreinterpretq_m128i_s64( ++ vsetq_lane_s64(*(const unaligned_int64_t *) p, vdupq_n_s64(0), 0)); ++} ++ ++// Allocate size bytes of memory, aligned to the alignment specified in align, ++// and return a pointer to the allocated memory. _mm_free should be used to free ++// memory that is allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_malloc ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void *_mm_malloc(size_t size, size_t align) ++{ ++ void *ptr; ++ if (align == 1) ++ return malloc(size); ++ if (align == 2 || (sizeof(void *) == 8 && align == 4)) ++ align = sizeof(void *); ++ if (!posix_memalign(&ptr, align, size)) ++ return ptr; ++ return NULL; ++} ++#endif ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmove_si64 ++FORCE_INLINE void _mm_maskmove_si64(__m64 a, __m64 mask, char *mem_addr) ++{ ++ int8x8_t shr_mask = vshr_n_s8(vreinterpret_s8_m64(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x8_t masked = ++ vbsl_s8(vreinterpret_u8_s8(shr_mask), vreinterpret_s8_m64(a), ++ vreinterpret_s8_u64(vget_low_u64(vreinterpretq_u64_m128(b)))); ++ vst1_s8((int8_t *) mem_addr, masked); ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_maskmovq ++#define _m_maskmovq(a, mask, mem_addr) _mm_maskmove_si64(a, mask, mem_addr) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pi16 ++FORCE_INLINE __m64 _mm_max_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmax_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) maximum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ps ++FORCE_INLINE __m128 _mm_max_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcgtq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vmaxq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pu8 ++FORCE_INLINE __m64 _mm_max_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmax_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) maximum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ss ++FORCE_INLINE __m128 _mm_max_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_max_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pi16 ++FORCE_INLINE __m64 _mm_min_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmin_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) minimum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ps ++FORCE_INLINE __m128 _mm_min_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcltq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vminq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pu8 ++FORCE_INLINE __m64 _mm_min_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmin_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) minimum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ss ++FORCE_INLINE __m128 _mm_min_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_min_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the lower single-precision (32-bit) floating-point element from b to the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_ss ++FORCE_INLINE __m128 _mm_move_ss(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(vgetq_lane_f32(vreinterpretq_f32_m128(b), 0), ++ vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the upper 2 single-precision (32-bit) floating-point elements from b to ++// the lower 2 elements of dst, and copy the upper 2 elements from a to the ++// upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehl_ps ++FORCE_INLINE __m128 _mm_movehl_ps(__m128 a, __m128 b) ++{ ++#if defined(aarch64__) ++ return vreinterpretq_m128_u64( ++ vzip2q_u64(vreinterpretq_u64_m128(b), vreinterpretq_u64_m128(a))); ++#else ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(b32, a32)); ++#endif ++} ++ ++// Move the lower 2 single-precision (32-bit) floating-point elements from b to ++// the upper 2 elements of dst, and copy the lower 2 elements from a to the ++// lower 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movelh_ps ++FORCE_INLINE __m128 _mm_movelh_ps(__m128 __A, __m128 __B) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(__A)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(__B)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pi8 ++FORCE_INLINE int _mm_movemask_pi8(__m64 a) ++{ ++ uint8x8_t input = vreinterpret_u8_m64(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int8_t shift[8] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint8x8_t tmp = vshr_n_u8(input, 7); ++ return vaddv_u8(vshl_u8(tmp, vld1_s8(shift))); ++#else ++ // Refer the implementation of `_mm_movemask_epi8` ++ uint16x4_t high_bits = vreinterpret_u16_u8(vshr_n_u8(input, 7)); ++ uint32x2_t paired16 = ++ vreinterpret_u32_u16(vsra_n_u16(high_bits, high_bits, 7)); ++ uint8x8_t paired32 = ++ vreinterpret_u8_u32(vsra_n_u32(paired16, paired16, 14)); ++ return vget_lane_u8(paired32, 0) | ((int) vget_lane_u8(paired32, 4) << 4); ++#endif ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed single-precision (32-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_ps ++FORCE_INLINE int _mm_movemask_ps(__m128 a) ++{ ++ uint32x4_t input = vreinterpretq_u32_m128(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int32_t shift[4] = {0, 1, 2, 3}; ++ uint32x4_t tmp = vshrq_n_u32(input, 31); ++ return vaddvq_u32(vshlq_u32(tmp, vld1q_s32(shift))); ++#else ++ // Uses the exact same method as _mm_movemask_epi8, see that for details. ++ // Shift out everything but the sign bits with a 32-bit unsigned shift ++ // right. ++ uint64x2_t high_bits = vreinterpretq_u64_u32(vshrq_n_u32(input, 31)); ++ // Merge the two pairs together with a 64-bit unsigned shift right + add. ++ uint8x16_t paired = ++ vreinterpretq_u8_u64(vsraq_n_u64(high_bits, high_bits, 31)); ++ // Extract the result. ++ return vgetq_lane_u8(paired, 0) | (vgetq_lane_u8(paired, 8) << 2); ++#endif ++} ++ ++// Multiply packed single-precision (32-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ps ++FORCE_INLINE_OPTNONE __m128 _mm_mul_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vmulq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Multiply the lower single-precision (32-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ss ++FORCE_INLINE __m128 _mm_mul_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_mul_ps(a, b)); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_pu16 ++FORCE_INLINE __m64 _mm_mulhi_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16(vshrn_n_u32( ++ vmull_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b)), 16)); ++} ++ ++// Compute the bitwise OR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_ps ++FORCE_INLINE __m128 _mm_or_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vorrq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgb ++#define _m_pavgb(a, b) _mm_avg_pu8(a, b) ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgw ++#define _m_pavgw(a, b) _mm_avg_pu16(a, b) ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pextrw ++#define _m_pextrw(a, imm) _mm_extract_pi16(a, imm) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_pinsrw ++#define _m_pinsrw(a, i, imm) _mm_insert_pi16(a, i, imm) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxsw ++#define _m_pmaxsw(a, b) _mm_max_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxub ++#define _m_pmaxub(a, b) _mm_max_pu8(a, b) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminsw ++#define _m_pminsw(a, b) _mm_min_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminub ++#define _m_pminub(a, b) _mm_min_pu8(a, b) ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmovmskb ++#define _m_pmovmskb(a) _mm_movemask_pi8(a) ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmulhuw ++#define _m_pmulhuw(a, b) _mm_mulhi_pu16(a, b) ++ ++// Fetch the line of data from memory that contains address p to a location in ++// the cache hierarchy specified by the locality hint i. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_prefetch ++FORCE_INLINE void _mm_prefetch(char const *p, int i) ++{ ++ (void) i; ++#if defined(_MSC_VER) ++ switch (i) { ++ case _MM_HINT_NTA: ++ __prefetch2(p, 1); ++ break; ++ case _MM_HINT_T0: ++ __prefetch2(p, 0); ++ break; ++ case _MM_HINT_T1: ++ __prefetch2(p, 2); ++ break; ++ case _MM_HINT_T2: ++ __prefetch2(p, 4); ++ break; ++ } ++#else ++ switch (i) { ++ case _MM_HINT_NTA: ++ __builtin_prefetch(p, 0, 0); ++ break; ++ case _MM_HINT_T0: ++ __builtin_prefetch(p, 0, 3); ++ break; ++ case _MM_HINT_T1: ++ __builtin_prefetch(p, 0, 2); ++ break; ++ case _MM_HINT_T2: ++ __builtin_prefetch(p, 0, 1); ++ break; ++ } ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_psadbw ++#define _m_psadbw(a, b) _mm_sad_pu8(a, b) ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pshufw ++#define _m_pshufw(a, imm) _mm_shuffle_pi16(a, imm) ++ ++// Compute the approximate reciprocal of packed single-precision (32-bit) ++// floating-point elements in a, and store the results in dst. The maximum ++// relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ps ++FORCE_INLINE __m128 _mm_rcp_ps(__m128 in) ++{ ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(in)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#if SSE2NEON_PRECISE_DIV ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#endif ++ return vreinterpretq_m128_f32(recip); ++} ++ ++// Compute the approximate reciprocal of the lower single-precision (32-bit) ++// floating-point element in a, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ss ++FORCE_INLINE __m128 _mm_rcp_ss(__m128 a) ++{ ++ return _mm_move_ss(a, _mm_rcp_ps(a)); ++} ++ ++// Compute the approximate reciprocal square root of packed single-precision ++// (32-bit) floating-point elements in a, and store the results in dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ps ++FORCE_INLINE __m128 _mm_rsqrt_ps(__m128 in) ++{ ++ float32x4_t out = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Generate masks for detecting whether input has any 0.0f/-0.0f ++ // (which becomes positive/negative infinity by IEEE-754 arithmetic rules). ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t neg_inf = vdupq_n_u32(0xFF800000); ++ const uint32x4_t has_pos_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(out)); ++ const uint32x4_t has_neg_zero = ++ vceqq_u32(neg_inf, vreinterpretq_u32_f32(out)); ++ ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#if SSE2NEON_PRECISE_SQRT ++ // Additional Netwon-Raphson iteration for accuracy ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#endif ++ ++ // Set output vector element to infinity/negative-infinity if ++ // the corresponding input vector element is 0.0f/-0.0f. ++ out = vbslq_f32(has_pos_zero, (float32x4_t) pos_inf, out); ++ out = vbslq_f32(has_neg_zero, (float32x4_t) neg_inf, out); ++ ++ return vreinterpretq_m128_f32(out); ++} ++ ++// Compute the approximate reciprocal square root of the lower single-precision ++// (32-bit) floating-point element in a, store the result in the lower element ++// of dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ss ++FORCE_INLINE __m128 _mm_rsqrt_ss(__m128 in) ++{ ++ return vsetq_lane_f32(vgetq_lane_f32(_mm_rsqrt_ps(in), 0), in, 0); ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_pu8 ++FORCE_INLINE __m64 _mm_sad_pu8(__m64 a, __m64 b) ++{ ++ uint64x1_t t = vpaddl_u32(vpaddl_u16( ++ vpaddl_u8(vabd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))))); ++ return vreinterpret_m64_u16( ++ vset_lane_u16((int) vget_lane_u64(t, 0), vdup_n_u16(0), 0)); ++} ++ ++// Macro: Set the flush zero bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The flush zero may contain any of the ++// following flags: _MM_FLUSH_ZERO_ON or _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_FLUSH_ZERO_MODE ++FORCE_INLINE void _sse2neon_mm_set_flush_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_FLUSH_ZERO_MASK) == _MM_FLUSH_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps ++FORCE_INLINE __m128 _mm_set_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {x, y, z, w}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps1 ++FORCE_INLINE __m128 _mm_set_ps1(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Macro: Set the rounding mode bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The rounding mode may contain any of ++// the following flags: _MM_ROUND_NEAREST, _MM_ROUND_DOWN, _MM_ROUND_UP, ++// _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_ROUNDING_MODE ++FORCE_INLINE void _MM_SET_ROUNDING_MODE(int rounding) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ switch (rounding) { ++ case _MM_ROUND_TOWARD_ZERO: ++ r.field.bit22 = 1; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_DOWN: ++ r.field.bit22 = 0; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_UP: ++ r.field.bit22 = 1; ++ r.field.bit23 = 0; ++ break; ++ default: //_MM_ROUND_NEAREST ++ r.field.bit22 = 0; ++ r.field.bit23 = 0; ++ } ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Copy single-precision (32-bit) floating-point element a to the lower element ++// of dst, and zero the upper 3 elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ss ++FORCE_INLINE __m128 _mm_set_ss(float a) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(a, vdupq_n_f32(0), 0)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_ps ++FORCE_INLINE __m128 _mm_set1_ps(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Set the MXCSR control and status register with the value in unsigned 32-bit ++// integer a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setcsr ++// FIXME: _mm_setcsr() implementation supports changing the rounding mode only. ++FORCE_INLINE void _mm_setcsr(unsigned int a) ++{ ++ _MM_SET_ROUNDING_MODE(a); ++} ++ ++// Get the unsigned 32-bit value of the MXCSR control and status register. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_getcsr ++// FIXME: _mm_getcsr() implementation supports reading the rounding mode only. ++FORCE_INLINE unsigned int _mm_getcsr(void) ++{ ++ return _MM_GET_ROUNDING_MODE(); ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_ps ++FORCE_INLINE __m128 _mm_setr_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {w, z, y, x}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Return vector of type __m128 with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_ps ++FORCE_INLINE __m128 _mm_setzero_ps(void) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(0)); ++} ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi16 ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pi16(a, imm) \ ++ vreinterpret_m64_s16(vshuffle_s16( \ ++ vreinterpret_s16_m64(a), vreinterpret_s16_m64(a), (imm & 0x3), \ ++ ((imm >> 2) & 0x3), ((imm >> 4) & 0x3), ((imm >> 6) & 0x3))) ++#else ++#define _mm_shuffle_pi16(a, imm) \ ++ _sse2neon_define1( \ ++ __m64, a, int16x4_t ret; \ ++ ret = vmov_n_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), (imm) & (0x3))); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpret_m64_s16(ret));) ++#endif ++ ++// Perform a serializing operation on all store-to-memory instructions that were ++// issued prior to this instruction. Guarantees that every store instruction ++// that precedes, in program order, is globally visible before any store ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sfence ++FORCE_INLINE void _mm_sfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory and store-to-memory ++// instructions that were issued prior to this instruction. Guarantees that ++// every memory access that precedes, in program order, the memory fence ++// instruction is globally visible before any memory instruction which follows ++// the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mfence ++FORCE_INLINE void _mm_mfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory instructions that ++// were issued prior to this instruction. Guarantees that every load instruction ++// that precedes, in program order, is globally visible before any load ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lfence ++FORCE_INLINE void _mm_lfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// FORCE_INLINE __m128 _mm_shuffle_ps(__m128 a, __m128 b, __constrange(0,255) ++// int imm) ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_ps(a, b, imm) \ ++ __extension__({ \ ++ float32x4_t _input1 = vreinterpretq_f32_m128(a); \ ++ float32x4_t _input2 = vreinterpretq_f32_m128(b); \ ++ float32x4_t _shuf = \ ++ vshuffleq_s32(_input1, _input2, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ (((imm) >> 4) & 0x3) + 4, (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128_f32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_ps(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128, a, b, __m128 ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_1032(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_ps_2301(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_ps_0321(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_ps_2103(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_movelh_ps(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_1001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_ps_0101(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 1, 0): \ ++ ret = _mm_shuffle_ps_3210(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 1, 1): \ ++ ret = _mm_shuffle_ps_0011(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 2, 2): \ ++ ret = _mm_shuffle_ps_0022(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 0, 0): \ ++ ret = _mm_shuffle_ps_2200(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 0, 2): \ ++ ret = _mm_shuffle_ps_3202(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 3, 2): \ ++ ret = _mm_movehl_ps(_b, _a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 3, 3): \ ++ ret = _mm_shuffle_ps_1133(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 1, 0): \ ++ ret = _mm_shuffle_ps_2010(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_2001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_2032(_a, _b); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_ps_default(_a, _b, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Compute the square root of packed single-precision (32-bit) floating-point ++// elements in a, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise square root intrinsic, we implement ++// square root by multiplying input in with its reciprocal square root before ++// using the Newton-Raphson method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ps ++FORCE_INLINE __m128 _mm_sqrt_ps(__m128 in) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) && !SSE2NEON_PRECISE_SQRT ++ return vreinterpretq_m128_f32(vsqrtq_f32(vreinterpretq_f32_m128(in))); ++#else ++ float32x4_t recip = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Test for vrsqrteq_f32(0) -> positive infinity case. ++ // Change to zero, so that s * 1/sqrt(s) result is zero too. ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t div_by_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(recip)); ++ recip = vreinterpretq_f32_u32( ++ vandq_u32(vmvnq_u32(div_by_zero), vreinterpretq_u32_f32(recip))); ++ ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ ++ // sqrt(s) = s * 1/sqrt(s) ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(in), recip)); ++#endif ++} ++ ++// Compute the square root of the lower single-precision (32-bit) floating-point ++// element in a, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ss ++FORCE_INLINE __m128 _mm_sqrt_ss(__m128 in) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_sqrt_ps(in)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(in), 0)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps ++FORCE_INLINE void _mm_store_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps1 ++FORCE_INLINE void _mm_store_ps1(float *p, __m128 a) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ vst1q_f32(p, vdupq_n_f32(a0)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ss ++FORCE_INLINE void _mm_store_ss(float *p, __m128 a) ++{ ++ vst1q_lane_f32(p, vreinterpretq_f32_m128(a), 0); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store1_ps ++#define _mm_store1_ps _mm_store_ps1 ++ ++// Store the upper 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pi ++FORCE_INLINE void _mm_storeh_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_high_f32(a)); ++} ++ ++// Store the lower 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pi ++FORCE_INLINE void _mm_storel_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_low_f32(a)); ++} ++ ++// Store 4 single-precision (32-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_ps ++FORCE_INLINE void _mm_storer_ps(float *p, __m128 a) ++{ ++ float32x4_t tmp = vrev64q_f32(vreinterpretq_f32_m128(a)); ++ float32x4_t rev = vextq_f32(tmp, tmp, 2); ++ vst1q_f32(p, rev); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_ps ++FORCE_INLINE void _mm_storeu_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Stores 16-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si16 ++FORCE_INLINE void _mm_storeu_si16(void *p, __m128i a) ++{ ++ vst1q_lane_s16((int16_t *) p, vreinterpretq_s16_m128i(a), 0); ++} ++ ++// Stores 64-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si64 ++FORCE_INLINE void _mm_storeu_si64(void *p, __m128i a) ++{ ++ vst1q_lane_s64((int64_t *) p, vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Store 64-bits of integer data from a into memory using a non-temporal memory ++// hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pi ++FORCE_INLINE void _mm_stream_pi(__m64 *p, __m64 a) ++{ ++ vst1_s64((int64_t *) p, vreinterpret_s64_m64(a)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating- ++// point elements) from a into memory using a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_ps ++FORCE_INLINE void _mm_stream_ps(float *p, __m128 a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (float32x4_t *) p); ++#else ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++#endif ++} ++ ++// Subtract packed single-precision (32-bit) floating-point elements in b from ++// packed single-precision (32-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ps ++FORCE_INLINE __m128 _mm_sub_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Subtract the lower single-precision (32-bit) floating-point element in b from ++// the lower single-precision (32-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper 3 packed elements from ++// a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ss ++FORCE_INLINE __m128 _mm_sub_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_sub_ps(a, b)); ++} ++ ++// Macro: Transpose the 4x4 matrix formed by the 4 rows of single-precision ++// (32-bit) floating-point elements in row0, row1, row2, and row3, and store the ++// transposed matrix in these vectors (row0 now contains column 0, etc.). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=MM_TRANSPOSE4_PS ++#define _MM_TRANSPOSE4_PS(row0, row1, row2, row3) \ ++ do { \ ++ float32x4x2_t ROW01 = vtrnq_f32(row0, row1); \ ++ float32x4x2_t ROW23 = vtrnq_f32(row2, row3); \ ++ row0 = vcombine_f32(vget_low_f32(ROW01.val[0]), \ ++ vget_low_f32(ROW23.val[0])); \ ++ row1 = vcombine_f32(vget_low_f32(ROW01.val[1]), \ ++ vget_low_f32(ROW23.val[1])); \ ++ row2 = vcombine_f32(vget_high_f32(ROW01.val[0]), \ ++ vget_high_f32(ROW23.val[0])); \ ++ row3 = vcombine_f32(vget_high_f32(ROW01.val[1]), \ ++ vget_high_f32(ROW23.val[1])); \ ++ } while (0) ++ ++// according to the documentation, these intrinsics behave the same as the ++// non-'u' versions. We'll just alias them here. ++#define _mm_ucomieq_ss _mm_comieq_ss ++#define _mm_ucomige_ss _mm_comige_ss ++#define _mm_ucomigt_ss _mm_comigt_ss ++#define _mm_ucomile_ss _mm_comile_ss ++#define _mm_ucomilt_ss _mm_comilt_ss ++#define _mm_ucomineq_ss _mm_comineq_ss ++ ++// Return vector of type __m128i with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_undefined_si128 ++FORCE_INLINE __m128i _mm_undefined_si128(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128i a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_si128(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Return vector of type __m128 with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_ps ++FORCE_INLINE __m128 _mm_undefined_ps(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128 a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_ps(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the high half a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_ps ++FORCE_INLINE __m128 _mm_unpackhi_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_ps ++FORCE_INLINE __m128 _mm_unpacklo_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Compute the bitwise XOR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_ps ++FORCE_INLINE __m128 _mm_xor_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ veorq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++/* SSE2 */ ++ ++// Add packed 16-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi16 ++FORCE_INLINE __m128i _mm_add_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed 32-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi32 ++FORCE_INLINE __m128i _mm_add_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vaddq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Add packed 64-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi64 ++FORCE_INLINE __m128i _mm_add_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vaddq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Add packed 8-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi8 ++FORCE_INLINE __m128i _mm_add_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed double-precision (64-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_pd ++FORCE_INLINE __m128d _mm_add_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1] + db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add the lower double-precision (64-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper element from ++// a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_sd ++FORCE_INLINE __m128d _mm_add_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_add_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add 64-bit integers a and b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_si64 ++FORCE_INLINE __m64 _mm_add_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vadd_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Add packed signed 16-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi16 ++FORCE_INLINE __m128i _mm_adds_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed signed 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi8 ++FORCE_INLINE __m128i _mm_adds_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed unsigned 16-bit integers in a and b using saturation, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu16 ++FORCE_INLINE __m128i _mm_adds_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqaddq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Add packed unsigned 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu8 ++FORCE_INLINE __m128i _mm_adds_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compute the bitwise AND of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_pd ++FORCE_INLINE __m128d _mm_and_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vandq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_si128 ++FORCE_INLINE __m128i _mm_and_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vandq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compute the bitwise NOT of packed double-precision (64-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_pd ++FORCE_INLINE __m128d _mm_andnot_pd(__m128d a, __m128d b) ++{ ++ // *NOTE* argument swap ++ return vreinterpretq_m128d_s64( ++ vbicq_s64(vreinterpretq_s64_m128d(b), vreinterpretq_s64_m128d(a))); ++} ++ ++// Compute the bitwise NOT of 128 bits (representing integer data) in a and then ++// AND with b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_si128 ++FORCE_INLINE __m128i _mm_andnot_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vbicq_s32(vreinterpretq_s32_m128i(b), ++ vreinterpretq_s32_m128i(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu16 ++FORCE_INLINE __m128i _mm_avg_epu16(__m128i a, __m128i b) ++{ ++ return (__m128i) vrhaddq_u16(vreinterpretq_u16_m128i(a), ++ vreinterpretq_u16_m128i(b)); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu8 ++FORCE_INLINE __m128i _mm_avg_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vrhaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bslli_si128 ++#define _mm_bslli_si128(a, imm) _mm_slli_si128(a, imm) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bsrli_si128 ++#define _mm_bsrli_si128(a, imm) _mm_srli_si128(a, imm) ++ ++// Cast vector of type __m128d to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_ps ++FORCE_INLINE __m128 _mm_castpd_ps(__m128d a) ++{ ++ return vreinterpretq_m128_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128d to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_si128 ++FORCE_INLINE __m128i _mm_castpd_si128(__m128d a) ++{ ++ return vreinterpretq_m128i_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128 to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_pd ++FORCE_INLINE __m128d _mm_castps_pd(__m128 a) ++{ ++ return vreinterpretq_m128d_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128 to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_si128 ++FORCE_INLINE __m128i _mm_castps_si128(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128i to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_pd ++FORCE_INLINE __m128d _mm_castsi128_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vreinterpretq_f64_m128i(a)); ++#else ++ return vreinterpretq_m128d_f32(vreinterpretq_f32_m128i(a)); ++#endif ++} ++ ++// Cast vector of type __m128i to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_ps ++FORCE_INLINE __m128 _mm_castsi128_ps(__m128i a) ++{ ++ return vreinterpretq_m128_s32(vreinterpretq_s32_m128i(a)); ++} ++ ++// Invalidate and flush the cache line that contains p from all levels of the ++// cache hierarchy. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clflush ++#if defined(__APPLE__) ++#include ++#endif ++FORCE_INLINE void _mm_clflush(void const *p) ++{ ++ (void) p; ++ ++ /* sys_icache_invalidate is supported since macOS 10.5. ++ * However, it does not work on non-jailbroken iOS devices, although the ++ * compilation is successful. ++ */ ++#if defined(__APPLE__) ++ sys_icache_invalidate((void *) (uintptr_t) p, SSE2NEON_CACHELINE_SIZE); ++#elif defined(__GNUC__) || defined(__clang__) ++ uintptr_t ptr = (uintptr_t) p; ++ __builtin___clear_cache((char *) ptr, ++ (char *) ptr + SSE2NEON_CACHELINE_SIZE); ++#elif (_MSC_VER) && SSE2NEON_INCLUDE_WINDOWS_H ++ FlushInstructionCache(GetCurrentProcess(), p, SSE2NEON_CACHELINE_SIZE); ++#endif ++} ++ ++// Compare packed 16-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi16 ++FORCE_INLINE __m128i _mm_cmpeq_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vceqq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed 32-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi32 ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vceqq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed 8-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi8 ++FORCE_INLINE __m128i _mm_cmpeq_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vceqq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_pd ++FORCE_INLINE __m128d _mm_cmpeq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_sd ++FORCE_INLINE __m128d _mm_cmpeq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpeq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_pd ++FORCE_INLINE __m128d _mm_cmpge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) >= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_sd ++FORCE_INLINE __m128d _mm_cmpge_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpge_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi16 ++FORCE_INLINE __m128i _mm_cmpgt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcgtq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi32 ++FORCE_INLINE __m128i _mm_cmpgt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcgtq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi8 ++FORCE_INLINE __m128i _mm_cmpgt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcgtq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_pd ++FORCE_INLINE __m128d _mm_cmpgt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_sd ++FORCE_INLINE __m128d _mm_cmpgt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpgt_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_pd ++FORCE_INLINE __m128d _mm_cmple_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) <= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_sd ++FORCE_INLINE __m128d _mm_cmple_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmple_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtw instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi16 ++FORCE_INLINE __m128i _mm_cmplt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcltq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtd instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi32 ++FORCE_INLINE __m128i _mm_cmplt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcltq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtb instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi8 ++FORCE_INLINE __m128i _mm_cmplt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcltq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_pd ++FORCE_INLINE __m128d _mm_cmplt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_sd ++FORCE_INLINE __m128d _mm_cmplt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmplt_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_pd ++FORCE_INLINE __m128d _mm_cmpneq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_s32(vmvnq_s32(vreinterpretq_s32_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vmvnq_u32(vandq_u32(cmp, swapped))); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_sd ++FORCE_INLINE __m128d _mm_cmpneq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpneq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_pd ++FORCE_INLINE __m128d _mm_cmpnge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) >= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) >= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_sd ++FORCE_INLINE __m128d _mm_cmpnge_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnge_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_cmpngt_pd ++FORCE_INLINE __m128d _mm_cmpngt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) > (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) > (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_sd ++FORCE_INLINE __m128d _mm_cmpngt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpngt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_pd ++FORCE_INLINE __m128d _mm_cmpnle_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) <= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) <= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_sd ++FORCE_INLINE __m128d _mm_cmpnle_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnle_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_pd ++FORCE_INLINE __m128d _mm_cmpnlt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) < (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) < (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_sd ++FORCE_INLINE __m128d _mm_cmpnlt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnlt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_pd ++FORCE_INLINE __m128d _mm_cmpord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Excluding NaNs, any two floating point numbers can be compared. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_u64(vandq_u64(not_nan_a, not_nan_b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_sd ++FORCE_INLINE __m128d _mm_cmpord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_pd ++FORCE_INLINE __m128d _mm_cmpunord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Two NaNs are not equal in comparison operation. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_s32( ++ vmvnq_s32(vreinterpretq_s32_u64(vandq_u64(not_nan_a, not_nan_b)))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_sd ++FORCE_INLINE __m128d _mm_cmpunord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpunord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_sd ++FORCE_INLINE int _mm_comige_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgeq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 >= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_sd ++FORCE_INLINE int _mm_comigt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgtq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 > *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_sd ++FORCE_INLINE int _mm_comile_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcleq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 <= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_sd ++FORCE_INLINE int _mm_comilt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcltq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 < *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_sd ++FORCE_INLINE int _mm_comieq_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vceqq_f64(a, b), 0) & 0x1; ++#else ++ uint32x4_t a_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(a)); ++ uint32x4_t b_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(b), vreinterpretq_u32_m128d(b)); ++ uint32x4_t a_and_b_not_nan = vandq_u32(a_not_nan, b_not_nan); ++ uint32x4_t a_eq_b = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint64x2_t and_results = vandq_u64(vreinterpretq_u64_u32(a_and_b_not_nan), ++ vreinterpretq_u64_u32(a_eq_b)); ++ return vgetq_lane_u64(and_results, 0) & 0x1; ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_sd ++FORCE_INLINE int _mm_comineq_sd(__m128d a, __m128d b) ++{ ++ return !_mm_comieq_sd(a, b); ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_pd ++FORCE_INLINE __m128d _mm_cvtepi32_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a))))); ++#else ++ double a0 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++ double a1 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_ps ++FORCE_INLINE __m128 _mm_cvtepi32_ps(__m128i a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_epi32 ++FORCE_INLINE_OPTNONE __m128i _mm_cvtpd_epi32(__m128d a) ++{ ++// vrnd32xq_f64 not supported on clang ++#if defined(__ARM_FEATURE_FRINT) && !defined(__clang__) ++ float64x2_t rounded = vrnd32xq_f64(vreinterpretq_f64_m128d(a)); ++ int64x2_t integers = vcvtq_s64_f64(rounded); ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vmovn_s64(integers), vdup_n_s32(0))); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) d1, (int32_t) d0); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_pi32 ++FORCE_INLINE_OPTNONE __m64 _mm_cvtpd_pi32(__m128d a) ++{ ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) d0, (int32_t) d1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed single-precision (32-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_ps ++FORCE_INLINE __m128 _mm_cvtpd_ps(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float32x2_t tmp = vcvt_f32_f64(vreinterpretq_f64_m128d(a)); ++ return vreinterpretq_m128_f32(vcombine_f32(tmp, vdup_n_f32(0))); ++#else ++ float a0 = (float) ((double *) &a)[0]; ++ float a1 = (float) ((double *) &a)[1]; ++ return _mm_set_ps(0, 0, a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_pd ++FORCE_INLINE __m128d _mm_cvtpi32_pd(__m64 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vreinterpret_s32_m64(a)))); ++#else ++ double a0 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 0); ++ double a1 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_epi32 ++// *NOTE*. The default rounding mode on SSE is 'round to even', which ARMv7-A ++// does not support! It is supported on ARMv8-A however. ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128 a) ++{ ++#if defined(__ARM_FEATURE_FRINT) ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vrnd32xq_f32(a))); ++#elif (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: ++ return vreinterpretq_m128i_s32(vcvtnq_s32_f32(a)); ++ case _MM_ROUND_DOWN: ++ return vreinterpretq_m128i_s32(vcvtmq_s32_f32(a)); ++ case _MM_ROUND_UP: ++ return vreinterpretq_m128i_s32(vcvtpq_s32_f32(a)); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(a)); ++ } ++#else ++ float *f = (float *) &a; ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128i_s32( ++ vbslq_s32(is_delta_half, r_even, r_normal)); ++ } ++ case _MM_ROUND_DOWN: ++ return _mm_set_epi32(floorf(f[3]), floorf(f[2]), floorf(f[1]), ++ floorf(f[0])); ++ case _MM_ROUND_UP: ++ return _mm_set_epi32(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ++ ceilf(f[0])); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return _mm_set_epi32((int32_t) f[3], (int32_t) f[2], (int32_t) f[1], ++ (int32_t) f[0]); ++ } ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed double-precision (64-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pd ++FORCE_INLINE __m128d _mm_cvtps_pd(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvt_f64_f32(vget_low_f32(vreinterpretq_f32_m128(a)))); ++#else ++ double a0 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ double a1 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Copy the lower double-precision (64-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_f64 ++FORCE_INLINE double _mm_cvtsd_f64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (double) vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0); ++#else ++ return ((double *) &a)[0]; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si32 ++FORCE_INLINE int32_t _mm_cvtsd_si32(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int32_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int32_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64 ++FORCE_INLINE int64_t _mm_cvtsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int64_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64x ++#define _mm_cvtsd_si64x _mm_cvtsd_si64 ++ ++// Convert the lower double-precision (64-bit) floating-point element in b to a ++// single-precision (32-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_ss ++FORCE_INLINE __m128 _mm_cvtsd_ss(__m128 a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32(vsetq_lane_f32( ++ vget_lane_f32(vcvt_f32_f64(vreinterpretq_f64_m128d(b)), 0), ++ vreinterpretq_f32_m128(a), 0)); ++#else ++ return vreinterpretq_m128_f32(vsetq_lane_f32((float) ((double *) &b)[0], ++ vreinterpretq_f32_m128(a), 0)); ++#endif ++} ++ ++// Copy the lower 32-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si32 ++FORCE_INLINE int _mm_cvtsi128_si32(__m128i a) ++{ ++ return vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64 ++FORCE_INLINE int64_t _mm_cvtsi128_si64(__m128i a) ++{ ++ return vgetq_lane_s64(vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Convert the signed 32-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_sd ++FORCE_INLINE __m128d _mm_cvtsi32_sd(__m128d a, int32_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Copy 32-bit integer a to the lower elements of dst, and zero the upper ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_si128 ++FORCE_INLINE __m128i _mm_cvtsi32_si128(int a) ++{ ++ return vreinterpretq_m128i_s32(vsetq_lane_s32(a, vdupq_n_s32(0), 0)); ++} ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_sd ++FORCE_INLINE __m128d _mm_cvtsi64_sd(__m128d a, int64_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_si128 ++FORCE_INLINE __m128i _mm_cvtsi64_si128(int64_t a) ++{ ++ return vreinterpretq_m128i_s64(vsetq_lane_s64(a, vdupq_n_s64(0), 0)); ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_si128 ++#define _mm_cvtsi64x_si128(a) _mm_cvtsi64_si128(a) ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_sd ++#define _mm_cvtsi64x_sd(a, b) _mm_cvtsi64_sd(a, b) ++ ++// Convert the lower single-precision (32-bit) floating-point element in b to a ++// double-precision (64-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_sd ++FORCE_INLINE __m128d _mm_cvtss_sd(__m128d a, __m128 b) ++{ ++ double d = (double) vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(d, vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &d, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_epi32 ++FORCE_INLINE __m128i _mm_cvttpd_epi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) a1, (int32_t) a0); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_pi32 ++FORCE_INLINE __m64 _mm_cvttpd_pi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) a0, (int32_t) a1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_epi32 ++FORCE_INLINE __m128i _mm_cvttps_epi32(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a))); ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si32 ++FORCE_INLINE int32_t _mm_cvttsd_si32(__m128d a) ++{ ++ double ret = *((double *) &a); ++ return (int32_t) ret; ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64 ++FORCE_INLINE int64_t _mm_cvttsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_s64(vcvtq_s64_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ double ret = *((double *) &a); ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64x ++#define _mm_cvttsd_si64x(a) _mm_cvttsd_si64(a) ++ ++// Divide packed double-precision (64-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_pd ++FORCE_INLINE __m128d _mm_div_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] / db[0]; ++ c[1] = da[1] / db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Divide the lower double-precision (64-bit) floating-point element in a by the ++// lower double-precision (64-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper element from a to the upper ++// element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_sd ++FORCE_INLINE __m128d _mm_div_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t tmp = ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1), tmp, 1)); ++#else ++ return _mm_move_sd(a, _mm_div_pd(a, b)); ++#endif ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi16 ++// FORCE_INLINE int _mm_extract_epi16(__m128i a, __constrange(0,8) int imm) ++#define _mm_extract_epi16(a, imm) \ ++ vgetq_lane_u16(vreinterpretq_u16_m128i(a), (imm)) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi16 ++// FORCE_INLINE __m128i _mm_insert_epi16(__m128i a, int b, ++// __constrange(0,8) int imm) ++#define _mm_insert_epi16(a, b, imm) \ ++ vreinterpretq_m128i_s16( \ ++ vsetq_lane_s16((b), vreinterpretq_s16_m128i(a), (imm))) ++ ++// Load 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd ++FORCE_INLINE __m128d _mm_load_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64(p)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], fp[2], fp[3]}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd1 ++#define _mm_load_pd1 _mm_load1_pd ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower of dst, and zero the upper element. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_sd ++FORCE_INLINE __m128d _mm_load_sd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(*p, vdupq_n_f64(0), 0)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], 0, 0}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_si128 ++FORCE_INLINE __m128i _mm_load_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const int32_t *) p)); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_pd ++FORCE_INLINE __m128d _mm_load1_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_dup_f64(p)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(const int64_t *) p)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// upper element of dst, and copy the lower element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pd ++FORCE_INLINE __m128d _mm_loadh_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vget_low_f64(vreinterpretq_f64_m128d(a)), vld1_f64(p))); ++#else ++ return vreinterpretq_m128d_f32(vcombine_f32( ++ vget_low_f32(vreinterpretq_f32_m128d(a)), vld1_f32((const float *) p))); ++#endif ++} ++ ++// Load 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_epi64 ++FORCE_INLINE __m128i _mm_loadl_epi64(__m128i const *p) ++{ ++ /* Load the lower 64 bits of the value pointed to by p into the ++ * lower 64 bits of the result, zeroing the upper 64 bits of the result. ++ */ ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vld1_s32((int32_t const *) p), vcreate_s32(0))); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower element of dst, and copy the upper element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pd ++FORCE_INLINE __m128d _mm_loadl_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vld1_f64(p), vget_high_f64(vreinterpretq_f64_m128d(a)))); ++#else ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vld1_f32((const float *) p), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++#endif ++} ++ ++// Load 2 double-precision (64-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_pd ++FORCE_INLINE __m128d _mm_loadr_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t v = vld1q_f64(p); ++ return vreinterpretq_m128d_f64(vextq_f64(v, v, 1)); ++#else ++ int64x2_t v = vld1q_s64((const int64_t *) p); ++ return vreinterpretq_m128d_s64(vextq_s64(v, v, 1)); ++#endif ++} ++ ++// Loads two double-precision from unaligned memory, floating-point values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_pd ++FORCE_INLINE __m128d _mm_loadu_pd(const double *p) ++{ ++ return _mm_load_pd(p); ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si128 ++FORCE_INLINE __m128i _mm_loadu_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const unaligned_int32_t *) p)); ++} ++ ++// Load unaligned 32-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si32 ++FORCE_INLINE __m128i _mm_loadu_si32(const void *p) ++{ ++ return vreinterpretq_m128i_s32( ++ vsetq_lane_s32(*(const unaligned_int32_t *) p, vdupq_n_s32(0), 0)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Horizontally add adjacent pairs of intermediate ++// 32-bit integers, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_madd_epi16 ++FORCE_INLINE __m128i _mm_madd_epi16(__m128i a, __m128i b) ++{ ++ int32x4_t low = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t high = ++ vmull_high_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b)); ++ ++ return vreinterpretq_m128i_s32(vpaddq_s32(low, high)); ++#else ++ int32x4_t high = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ int32x2_t low_sum = vpadd_s32(vget_low_s32(low), vget_high_s32(low)); ++ int32x2_t high_sum = vpadd_s32(vget_low_s32(high), vget_high_s32(high)); ++ ++ return vreinterpretq_m128i_s32(vcombine_s32(low_sum, high_sum)); ++#endif ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. mem_addr does not need to be aligned ++// on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmoveu_si128 ++FORCE_INLINE void _mm_maskmoveu_si128(__m128i a, __m128i mask, char *mem_addr) ++{ ++ int8x16_t shr_mask = vshrq_n_s8(vreinterpretq_s8_m128i(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x16_t masked = ++ vbslq_s8(vreinterpretq_u8_s8(shr_mask), vreinterpretq_s8_m128i(a), ++ vreinterpretq_s8_m128(b)); ++ vst1q_s8((int8_t *) mem_addr, masked); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi16 ++FORCE_INLINE __m128i _mm_max_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmaxq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu8 ++FORCE_INLINE __m128i _mm_max_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vmaxq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pd ++FORCE_INLINE __m128d _mm_max_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcgtq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vmaxq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? a1 : b1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_sd ++FORCE_INLINE __m128d _mm_max_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_max_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] > db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi16 ++FORCE_INLINE __m128i _mm_min_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vminq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu8 ++FORCE_INLINE __m128i _mm_min_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vminq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pd ++FORCE_INLINE __m128d _mm_min_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcltq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vminq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? a1 : b1; ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_sd ++FORCE_INLINE __m128d _mm_min_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_min_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] < db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to the lower element of dst, and zero the ++// upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_epi64 ++FORCE_INLINE __m128i _mm_move_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vsetq_lane_s64(0, vreinterpretq_s64_m128i(a), 1)); ++} ++ ++// Move the lower double-precision (64-bit) floating-point element from b to the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_sd ++FORCE_INLINE __m128d _mm_move_sd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vget_low_f32(vreinterpretq_f32_m128d(b)), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_epi8 ++FORCE_INLINE int _mm_movemask_epi8(__m128i a) ++{ ++ // Use increasingly wide shifts+adds to collect the sign bits ++ // together. ++ // Since the widening shifts would be rather confusing to follow in little ++ // endian, everything will be illustrated in big endian order instead. This ++ // has a different result - the bits would actually be reversed on a big ++ // endian machine. ++ ++ // Starting input (only half the elements are shown): ++ // 89 ff 1d c0 00 10 99 33 ++ uint8x16_t input = vreinterpretq_u8_m128i(a); ++ ++ // Shift out everything but the sign bits with an unsigned shift right. ++ // ++ // Bytes of the vector:: ++ // 89 ff 1d c0 00 10 99 33 ++ // \ \ \ \ \ \ \ \ high_bits = (uint16x4_t)(input >> 7) ++ // | | | | | | | | ++ // 01 01 00 01 00 00 01 00 ++ // ++ // Bits of first important lane(s): ++ // 10001001 (89) ++ // \______ ++ // | ++ // 00000001 (01) ++ uint16x8_t high_bits = vreinterpretq_u16_u8(vshrq_n_u8(input, 7)); ++ ++ // Merge the even lanes together with a 16-bit unsigned shift right + add. ++ // 'xx' represents garbage data which will be ignored in the final result. ++ // In the important bytes, the add functions like a binary OR. ++ // ++ // 01 01 00 01 00 00 01 00 ++ // \_ | \_ | \_ | \_ | paired16 = (uint32x4_t)(input + (input >> 7)) ++ // \| \| \| \| ++ // xx 03 xx 01 xx 00 xx 02 ++ // ++ // 00000001 00000001 (01 01) ++ // \_______ | ++ // \| ++ // xxxxxxxx xxxxxx11 (xx 03) ++ uint32x4_t paired16 = ++ vreinterpretq_u32_u16(vsraq_n_u16(high_bits, high_bits, 7)); ++ ++ // Repeat with a wider 32-bit shift + add. ++ // xx 03 xx 01 xx 00 xx 02 ++ // \____ | \____ | paired32 = (uint64x1_t)(paired16 + (paired16 >> ++ // 14)) ++ // \| \| ++ // xx xx xx 0d xx xx xx 02 ++ // ++ // 00000011 00000001 (03 01) ++ // \\_____ || ++ // '----.\|| ++ // xxxxxxxx xxxx1101 (xx 0d) ++ uint64x2_t paired32 = ++ vreinterpretq_u64_u32(vsraq_n_u32(paired16, paired16, 14)); ++ ++ // Last, an even wider 64-bit shift + add to get our result in the low 8 bit ++ // lanes. xx xx xx 0d xx xx xx 02 ++ // \_________ | paired64 = (uint8x8_t)(paired32 + (paired32 >> ++ // 28)) ++ // \| ++ // xx xx xx xx xx xx xx d2 ++ // ++ // 00001101 00000010 (0d 02) ++ // \ \___ | | ++ // '---. \| | ++ // xxxxxxxx 11010010 (xx d2) ++ uint8x16_t paired64 = ++ vreinterpretq_u8_u64(vsraq_n_u64(paired32, paired32, 28)); ++ ++ // Extract the low 8 bits from each 64-bit lane with 2 8-bit extracts. ++ // xx xx xx xx xx xx xx d2 ++ // || return paired64[0] ++ // d2 ++ // Note: Little endian would return the correct value 4b (01001011) instead. ++ return vgetq_lane_u8(paired64, 0) | ((int) vgetq_lane_u8(paired64, 8) << 8); ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed double-precision (64-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pd ++FORCE_INLINE int _mm_movemask_pd(__m128d a) ++{ ++ uint64x2_t input = vreinterpretq_u64_m128d(a); ++ uint64x2_t high_bits = vshrq_n_u64(input, 63); ++ return (int) (vgetq_lane_u64(high_bits, 0) | ++ (vgetq_lane_u64(high_bits, 1) << 1)); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movepi64_pi64 ++FORCE_INLINE __m64 _mm_movepi64_pi64(__m128i a) ++{ ++ return vreinterpret_m64_s64(vget_low_s64(vreinterpretq_s64_m128i(a))); ++} ++ ++// Copy the 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movpi64_epi64 ++FORCE_INLINE __m128i _mm_movpi64_epi64(__m64 a) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vreinterpret_s64_m64(a), vdup_n_s64(0))); ++} ++ ++// Multiply the low unsigned 32-bit integers from each packed 64-bit element in ++// a and b, and store the unsigned 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epu32 ++FORCE_INLINE __m128i _mm_mul_epu32(__m128i a, __m128i b) ++{ ++ // vmull_u32 upcasts instead of masking, so we downcast. ++ uint32x2_t a_lo = vmovn_u64(vreinterpretq_u64_m128i(a)); ++ uint32x2_t b_lo = vmovn_u64(vreinterpretq_u64_m128i(b)); ++ return vreinterpretq_m128i_u64(vmull_u32(a_lo, b_lo)); ++} ++ ++// Multiply packed double-precision (64-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_pd ++FORCE_INLINE __m128d _mm_mul_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vmulq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] * db[0]; ++ c[1] = da[1] * db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Multiply the lower double-precision (64-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper element ++// from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_mul_sd ++FORCE_INLINE __m128d _mm_mul_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_mul_pd(a, b)); ++} ++ ++// Multiply the low unsigned 32-bit integers from a and b, and store the ++// unsigned 64-bit result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_su32 ++FORCE_INLINE __m64 _mm_mul_su32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u64(vget_low_u64( ++ vmull_u32(vreinterpret_u32_m64(a), vreinterpret_u32_m64(b)))); ++} ++ ++// Multiply the packed signed 16-bit integers in a and b, producing intermediate ++// 32-bit integers, and store the high 16 bits of the intermediate integers in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epi16 ++FORCE_INLINE __m128i _mm_mulhi_epi16(__m128i a, __m128i b) ++{ ++ /* FIXME: issue with large values because of result saturation */ ++ // int16x8_t ret = vqdmulhq_s16(vreinterpretq_s16_m128i(a), ++ // vreinterpretq_s16_m128i(b)); /* =2*a*b */ return ++ // vreinterpretq_m128i_s16(vshrq_n_s16(ret, 1)); ++ int16x4_t a3210 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b3210 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab3210 = vmull_s16(a3210, b3210); /* 3333222211110000 */ ++ int16x4_t a7654 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b7654 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab7654 = vmull_s16(a7654, b7654); /* 7777666655554444 */ ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_s32(ab3210), vreinterpretq_u16_s32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epu16 ++FORCE_INLINE __m128i _mm_mulhi_epu16(__m128i a, __m128i b) ++{ ++ uint16x4_t a3210 = vget_low_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b3210 = vget_low_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab3210 = vmull_u16(a3210, b3210); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32x4_t ab7654 = ++ vmull_high_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ uint16x8_t r = vuzp2q_u16(vreinterpretq_u16_u32(ab3210), ++ vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r); ++#else ++ uint16x4_t a7654 = vget_high_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b7654 = vget_high_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab7654 = vmull_u16(a7654, b7654); ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_u32(ab3210), vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++#endif ++} ++ ++// Multiply the packed 16-bit integers in a and b, producing intermediate 32-bit ++// integers, and store the low 16 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi16 ++FORCE_INLINE __m128i _mm_mullo_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmulq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compute the bitwise OR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_or_pd ++FORCE_INLINE __m128d _mm_or_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vorrq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise OR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_si128 ++FORCE_INLINE __m128i _mm_or_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vorrq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi16 ++FORCE_INLINE __m128i _mm_packs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vqmovn_s16(vreinterpretq_s16_m128i(a)), ++ vqmovn_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi32 ++FORCE_INLINE __m128i _mm_packs_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vqmovn_s32(vreinterpretq_s32_m128i(a)), ++ vqmovn_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi16 ++FORCE_INLINE __m128i _mm_packus_epi16(const __m128i a, const __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcombine_u8(vqmovun_s16(vreinterpretq_s16_m128i(a)), ++ vqmovun_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Pause the processor. This is typically used in spin-wait loops and depending ++// on the x86 processor typical values are in the 40-100 cycle range. The ++// 'yield' instruction isn't a good fit because it's effectively a nop on most ++// Arm cores. Experience with several databases has shown has shown an 'isb' is ++// a reasonable approximation. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_pause ++FORCE_INLINE void _mm_pause(void) ++{ ++#if defined(_MSC_VER) ++ __isb(_ARM64_BARRIER_SY); ++#else ++ __asm__ __volatile__("isb\n"); ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce two ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of 64-bit elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_epu8 ++FORCE_INLINE __m128i _mm_sad_epu8(__m128i a, __m128i b) ++{ ++ uint16x8_t t = vpaddlq_u8(vabdq_u8((uint8x16_t) a, (uint8x16_t) b)); ++ return vreinterpretq_m128i_u64(vpaddlq_u32(vpaddlq_u16(t))); ++} ++ ++// Set packed 16-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi16 ++FORCE_INLINE __m128i _mm_set_epi16(short i7, ++ short i6, ++ short i5, ++ short i4, ++ short i3, ++ short i2, ++ short i1, ++ short i0) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {i0, i1, i2, i3, i4, i5, i6, i7}; ++ return vreinterpretq_m128i_s16(vld1q_s16(data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi32 ++FORCE_INLINE __m128i _mm_set_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i0, i1, i2, i3}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64 ++FORCE_INLINE __m128i _mm_set_epi64(__m64 i1, __m64 i2) ++{ ++ return _mm_set_epi64x(vget_lane_s64(i1, 0), vget_lane_s64(i2, 0)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64x ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t i1, int64_t i2) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vcreate_s64(i2), vcreate_s64(i1))); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi8 ++FORCE_INLINE __m128i _mm_set_epi8(signed char b15, ++ signed char b14, ++ signed char b13, ++ signed char b12, ++ signed char b11, ++ signed char b10, ++ signed char b9, ++ signed char b8, ++ signed char b7, ++ signed char b6, ++ signed char b5, ++ signed char b4, ++ signed char b3, ++ signed char b2, ++ signed char b1, ++ signed char b0) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd ++FORCE_INLINE __m128d _mm_set_pd(double e1, double e0) ++{ ++ double ALIGN_STRUCT(16) data[2] = {e0, e1}; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64((float64_t *) data)); ++#else ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) data)); ++#endif ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd1 ++#define _mm_set_pd1 _mm_set1_pd ++ ++// Copy double-precision (64-bit) floating-point element a to the lower element ++// of dst, and zero the upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_sd ++FORCE_INLINE __m128d _mm_set_sd(double a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(a, vdupq_n_f64(0), 0)); ++#else ++ return _mm_set_pd(0, a); ++#endif ++} ++ ++// Broadcast 16-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi16 ++FORCE_INLINE __m128i _mm_set1_epi16(short w) ++{ ++ return vreinterpretq_m128i_s16(vdupq_n_s16(w)); ++} ++ ++// Broadcast 32-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi32 ++FORCE_INLINE __m128i _mm_set1_epi32(int _i) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(_i)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64 ++FORCE_INLINE __m128i _mm_set1_epi64(__m64 _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_lane_s64(_i, 0)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64x ++FORCE_INLINE __m128i _mm_set1_epi64x(int64_t _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_n_s64(_i)); ++} ++ ++// Broadcast 8-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi8 ++FORCE_INLINE __m128i _mm_set1_epi8(signed char w) ++{ ++ return vreinterpretq_m128i_s8(vdupq_n_s8(w)); ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_pd ++FORCE_INLINE __m128d _mm_set1_pd(double d) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(d)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(int64_t *) &d)); ++#endif ++} ++ ++// Set packed 16-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi16 ++FORCE_INLINE __m128i _mm_setr_epi16(short w0, ++ short w1, ++ short w2, ++ short w3, ++ short w4, ++ short w5, ++ short w6, ++ short w7) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {w0, w1, w2, w3, w4, w5, w6, w7}; ++ return vreinterpretq_m128i_s16(vld1q_s16((int16_t *) data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi32 ++FORCE_INLINE __m128i _mm_setr_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i3, i2, i1, i0}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi64 ++FORCE_INLINE __m128i _mm_setr_epi64(__m64 e1, __m64 e0) ++{ ++ return vreinterpretq_m128i_s64(vcombine_s64(e1, e0)); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi8 ++FORCE_INLINE __m128i _mm_setr_epi8(signed char b0, ++ signed char b1, ++ signed char b2, ++ signed char b3, ++ signed char b4, ++ signed char b5, ++ signed char b6, ++ signed char b7, ++ signed char b8, ++ signed char b9, ++ signed char b10, ++ signed char b11, ++ signed char b12, ++ signed char b13, ++ signed char b14, ++ signed char b15) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_pd ++FORCE_INLINE __m128d _mm_setr_pd(double e1, double e0) ++{ ++ return _mm_set_pd(e0, e1); ++} ++ ++// Return vector of type __m128d with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_pd ++FORCE_INLINE __m128d _mm_setzero_pd(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(0)); ++#else ++ return vreinterpretq_m128d_f32(vdupq_n_f32(0)); ++#endif ++} ++ ++// Return vector of type __m128i with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_si128 ++FORCE_INLINE __m128i _mm_setzero_si128(void) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(0)); ++} ++ ++// Shuffle 32-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi32 ++// FORCE_INLINE __m128i _mm_shuffle_epi32(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shuffle_epi32(a, imm) \ ++ __extension__({ \ ++ int32x4_t _input = vreinterpretq_s32_m128i(a); \ ++ int32x4_t _shuf = \ ++ vshuffleq_s32(_input, _input, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ ((imm) >> 4) & 0x3, ((imm) >> 6) & 0x3); \ ++ vreinterpretq_m128i_s32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_epi32(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, __m128i ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_epi_1032(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_epi_2301(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_epi_0321(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_epi_2103(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_shuffle_epi_1010(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_epi_1001(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_epi_0101(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 1, 1): \ ++ ret = _mm_shuffle_epi_2211(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 2, 2): \ ++ ret = _mm_shuffle_epi_0122(_a); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 2): \ ++ ret = _mm_shuffle_epi_3332(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 0, 0): \ ++ ret = _mm_shuffle_epi32_splat(_a, 0); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 1, 1): \ ++ ret = _mm_shuffle_epi32_splat(_a, 1); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 2, 2): \ ++ ret = _mm_shuffle_epi32_splat(_a, 2); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 3): \ ++ ret = _mm_shuffle_epi32_splat(_a, 3); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_epi32_default(_a, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Shuffle double-precision (64-bit) floating-point elements using the control ++// in imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pd ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pd(a, b, imm8) \ ++ vreinterpretq_m128d_s64( \ ++ vshuffleq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b), \ ++ imm8 & 0x1, ((imm8 & 0x2) >> 1) + 2)) ++#else ++#define _mm_shuffle_pd(a, b, imm8) \ ++ _mm_castsi128_pd(_mm_set_epi64x( \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(b), (imm8 & 0x2) >> 1), \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(a), imm8 & 0x1))) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflehi_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflehi_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = \ ++ vshuffleq_s16(_input, _input, 0, 1, 2, 3, ((imm) & (0x3)) + 4, \ ++ (((imm) >> 2) & 0x3) + 4, (((imm) >> 4) & 0x3) + 4, \ ++ (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflehi_epi16(a, imm) _mm_shufflehi_epi16_function((a), (imm)) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflelo_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflelo_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = vshuffleq_s16( \ ++ _input, _input, ((imm) & (0x3)), (((imm) >> 2) & 0x3), \ ++ (((imm) >> 4) & 0x3), (((imm) >> 6) & 0x3), 4, 5, 6, 7); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflelo_epi16(a, imm) _mm_shufflelo_epi16_function((a), (imm)) ++#endif ++ ++// Shift packed 16-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi16 ++FORCE_INLINE __m128i _mm_sll_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16((int16_t) c); ++ return vreinterpretq_m128i_s16(vshlq_s16(vreinterpretq_s16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi32 ++FORCE_INLINE __m128i _mm_sll_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32((int32_t) c); ++ return vreinterpretq_m128i_s32(vshlq_s32(vreinterpretq_s32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi64 ++FORCE_INLINE __m128i _mm_sll_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64((int64_t) c); ++ return vreinterpretq_m128i_s64(vshlq_s64(vreinterpretq_s64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi16 ++FORCE_INLINE __m128i _mm_slli_epi16(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~15)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16(vreinterpretq_s16_m128i(a), vdupq_n_s16(imm))); ++} ++ ++// Shift packed 32-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi32 ++FORCE_INLINE __m128i _mm_slli_epi32(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~31)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32(vreinterpretq_s32_m128i(a), vdupq_n_s32(imm))); ++} ++ ++// Shift packed 64-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi64 ++FORCE_INLINE __m128i _mm_slli_epi64(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~63)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s64( ++ vshlq_s64(vreinterpretq_s64_m128i(a), vdupq_n_s64(imm))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_si128 ++#define _mm_slli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely(imm == 0)) ret = vreinterpretq_s8_m128i(_a); \ ++ else if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vdupq_n_s8(0), vreinterpretq_s8_m128i(_a), \ ++ ((imm <= 0 || imm > 15) ? 0 : (16 - imm))); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Compute the square root of packed double-precision (64-bit) floating-point ++// elements in a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_pd ++FORCE_INLINE __m128d _mm_sqrt_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsqrtq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double a0 = sqrt(((double *) &a)[0]); ++ double a1 = sqrt(((double *) &a)[1]); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Compute the square root of the lower double-precision (64-bit) floating-point ++// element in b, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_sd ++FORCE_INLINE __m128d _mm_sqrt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_sqrt_pd(b)); ++#else ++ return _mm_set_pd(((double *) &a)[1], sqrt(((double *) &b)[0])); ++#endif ++} ++ ++// Shift packed 16-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi16 ++FORCE_INLINE __m128i _mm_sra_epi16(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_cmplt_epi16(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16((int16x8_t) a, vdupq_n_s16((int) -c))); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi32 ++FORCE_INLINE __m128i _mm_sra_epi32(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_cmplt_epi32(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32((int32x4_t) a, vdupq_n_s32((int) -c))); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in sign ++// bits, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi16 ++FORCE_INLINE __m128i _mm_srai_epi16(__m128i a, int imm) ++{ ++ const int count = (imm & ~15) ? 15 : imm; ++ return (__m128i) vshlq_s16((int16x8_t) a, vdupq_n_s16(-count)); ++} ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi32 ++// FORCE_INLINE __m128i _mm_srai_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srai_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) == 0)) { \ ++ ret = _a; \ ++ } else if (_sse2neon_likely(0 < (imm) && (imm) < 32)) { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshlq_s32(vreinterpretq_s32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } else { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshrq_n_s32(vreinterpretq_s32_m128i(_a), 31)); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 16-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi16 ++FORCE_INLINE __m128i _mm_srl_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16(-(int16_t) c); ++ return vreinterpretq_m128i_u16(vshlq_u16(vreinterpretq_u16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi32 ++FORCE_INLINE __m128i _mm_srl_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32(-(int32_t) c); ++ return vreinterpretq_m128i_u32(vshlq_u32(vreinterpretq_u32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi64 ++FORCE_INLINE __m128i _mm_srl_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64(-(int64_t) c); ++ return vreinterpretq_m128i_u64(vshlq_u64(vreinterpretq_u64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi16 ++#define _mm_srli_epi16(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~15)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u16( \ ++ vshlq_u16(vreinterpretq_u16_m128i(_a), vdupq_n_s16(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi32 ++// FORCE_INLINE __m128i _mm_srli_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srli_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~31)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u32( \ ++ vshlq_u32(vreinterpretq_u32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 64-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi64 ++#define _mm_srli_epi64(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~63)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u64( \ ++ vshlq_u64(vreinterpretq_u64_m128i(_a), vdupq_n_s64(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_si128 ++#define _mm_srli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vreinterpretq_s8_m128i(_a), vdupq_n_s8(0), \ ++ (imm > 15 ? 0 : imm)); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd ++FORCE_INLINE void _mm_store_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64((float64_t *) mem_addr, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_f32((float32_t *) mem_addr, vreinterpretq_f32_m128d(a)); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd1 ++FORCE_INLINE void _mm_store_pd1(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x1_t a_low = vget_low_f64(vreinterpretq_f64_m128d(a)); ++ vst1q_f64((float64_t *) mem_addr, ++ vreinterpretq_f64_m128d(vcombine_f64(a_low, a_low))); ++#else ++ float32x2_t a_low = vget_low_f32(vreinterpretq_f32_m128d(a)); ++ vst1q_f32((float32_t *) mem_addr, ++ vreinterpretq_f32_m128d(vcombine_f32(a_low, a_low))); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_store_sd ++FORCE_INLINE void _mm_store_sd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_u64((uint64_t *) mem_addr, vget_low_u64(vreinterpretq_u64_m128d(a))); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_si128 ++FORCE_INLINE void _mm_store_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#expand=9,526,5601&text=_mm_store1_pd ++#define _mm_store1_pd _mm_store_pd1 ++ ++// Store the upper double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pd ++FORCE_INLINE void _mm_storeh_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_high_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_high_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 64-bit integer from the first element of a into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_epi64 ++FORCE_INLINE void _mm_storel_epi64(__m128i *a, __m128i b) ++{ ++ vst1_u64((uint64_t *) a, vget_low_u64(vreinterpretq_u64_m128i(b))); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pd ++FORCE_INLINE void _mm_storel_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_low_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 2 double-precision (64-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_pd ++FORCE_INLINE void _mm_storer_pd(double *mem_addr, __m128d a) ++{ ++ float32x4_t f = vreinterpretq_f32_m128d(a); ++ _mm_store_pd(mem_addr, vreinterpretq_m128d_f32(vextq_f32(f, f, 2))); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_pd ++FORCE_INLINE void _mm_storeu_pd(double *mem_addr, __m128d a) ++{ ++ _mm_store_pd(mem_addr, a); ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si128 ++FORCE_INLINE void _mm_storeu_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store 32-bit integer from the first element of a into memory. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si32 ++FORCE_INLINE void _mm_storeu_si32(void *p, __m128i a) ++{ ++ vst1q_lane_s32((int32_t *) p, vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory using a non-temporal memory hint. mem_addr must ++// be aligned on a 16-byte boundary or a general-protection exception may be ++// generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pd ++FORCE_INLINE void _mm_stream_pd(double *p, __m128d a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (__m128d *) p); ++#elif defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64(p, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128d(a)); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory using a non-temporal memory ++// hint. mem_addr must be aligned on a 16-byte boundary or a general-protection ++// exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si128 ++FORCE_INLINE void _mm_stream_si128(__m128i *p, __m128i a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, p); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128i(a)); ++#endif ++} ++ ++// Store 32-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si32 ++FORCE_INLINE void _mm_stream_si32(int *p, int a) ++{ ++ vst1q_lane_s32((int32_t *) p, vdupq_n_s32(a), 0); ++} ++ ++// Store 64-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si64 ++FORCE_INLINE void _mm_stream_si64(__int64 *p, __int64 a) ++{ ++ vst1_s64((int64_t *) p, vdup_n_s64((int64_t) a)); ++} ++ ++// Subtract packed 16-bit integers in b from packed 16-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi16 ++FORCE_INLINE __m128i _mm_sub_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed 32-bit integers in b from packed 32-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi32 ++FORCE_INLINE __m128i _mm_sub_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Subtract packed 64-bit integers in b from packed 64-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi64 ++FORCE_INLINE __m128i _mm_sub_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vsubq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Subtract packed 8-bit integers in b from packed 8-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi8 ++FORCE_INLINE __m128i _mm_sub_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed double-precision (64-bit) floating-point elements in b from ++// packed double-precision (64-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_sub_pd ++FORCE_INLINE __m128d _mm_sub_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] - db[0]; ++ c[1] = da[1] - db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Subtract the lower double-precision (64-bit) floating-point element in b from ++// the lower double-precision (64-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_sd ++FORCE_INLINE __m128d _mm_sub_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_sub_pd(a, b)); ++} ++ ++// Subtract 64-bit integer b from 64-bit integer a, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_si64 ++FORCE_INLINE __m64 _mm_sub_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vsub_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Subtract packed signed 16-bit integers in b from packed 16-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi16 ++FORCE_INLINE __m128i _mm_subs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed signed 8-bit integers in b from packed 8-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi8 ++FORCE_INLINE __m128i _mm_subs_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed unsigned 16-bit integers in b from packed unsigned 16-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu16 ++FORCE_INLINE __m128i _mm_subs_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqsubq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Subtract packed unsigned 8-bit integers in b from packed unsigned 8-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu8 ++FORCE_INLINE __m128i _mm_subs_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqsubq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++#define _mm_ucomieq_sd _mm_comieq_sd ++#define _mm_ucomige_sd _mm_comige_sd ++#define _mm_ucomigt_sd _mm_comigt_sd ++#define _mm_ucomile_sd _mm_comile_sd ++#define _mm_ucomilt_sd _mm_comilt_sd ++#define _mm_ucomineq_sd _mm_comineq_sd ++ ++// Return vector of type __m128d with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_pd ++FORCE_INLINE __m128d _mm_undefined_pd(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128d a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_pd(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi16 ++FORCE_INLINE __m128i _mm_unpackhi_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip2q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi32 ++FORCE_INLINE __m128i _mm_unpackhi_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip2q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_high_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi64 ++FORCE_INLINE __m128i _mm_unpackhi_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip2q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_h = vget_high_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_h = vget_high_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_h, b_h)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the high half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi8 ++FORCE_INLINE __m128i _mm_unpackhi_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip2q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the high half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_pd ++FORCE_INLINE __m128d _mm_unpackhi_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip2q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_high_s64(vreinterpretq_s64_m128d(a)), ++ vget_high_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi16 ++FORCE_INLINE __m128i _mm_unpacklo_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip1q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi32 ++FORCE_INLINE __m128i _mm_unpacklo_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip1q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_low_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi64 ++FORCE_INLINE __m128i _mm_unpacklo_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip1q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_l = vget_low_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_l = vget_low_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_l, b_l)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi8 ++FORCE_INLINE __m128i _mm_unpacklo_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip1q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_pd ++FORCE_INLINE __m128d _mm_unpacklo_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip1q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_low_s64(vreinterpretq_s64_m128d(a)), ++ vget_low_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Compute the bitwise XOR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_pd ++FORCE_INLINE __m128d _mm_xor_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ veorq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise XOR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_si128 ++FORCE_INLINE __m128i _mm_xor_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ veorq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++/* SSE3 */ ++ ++// Alternatively add and subtract packed double-precision (64-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_addsub_pd ++FORCE_INLINE __m128d _mm_addsub_pd(__m128d a, __m128d b) ++{ ++ _sse2neon_const __m128d mask = _mm_set_pd(1.0f, -1.0f); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vfmaq_f64(vreinterpretq_f64_m128d(a), ++ vreinterpretq_f64_m128d(b), ++ vreinterpretq_f64_m128d(mask))); ++#else ++ return _mm_add_pd(_mm_mul_pd(b, mask), a); ++#endif ++} ++ ++// Alternatively add and subtract packed single-precision (32-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=addsub_ps ++FORCE_INLINE __m128 _mm_addsub_ps(__m128 a, __m128 b) ++{ ++ _sse2neon_const __m128 mask = _mm_setr_ps(-1.0f, 1.0f, -1.0f, 1.0f); ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_FMA) /* VFPv4+ */ ++ return vreinterpretq_m128_f32(vfmaq_f32(vreinterpretq_f32_m128(a), ++ vreinterpretq_f32_m128(mask), ++ vreinterpretq_f32_m128(b))); ++#else ++ return _mm_add_ps(_mm_mul_ps(b, mask), a); ++#endif ++} ++ ++// Horizontally add adjacent pairs of double-precision (64-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pd ++FORCE_INLINE __m128d _mm_hadd_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vpaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[] = {da[0] + da[1], db[0] + db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of single-precision (32-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_ps ++FORCE_INLINE __m128 _mm_hadd_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vpaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vpadd_f32(a10, a32), vpadd_f32(b10, b32))); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of double-precision (64-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pd ++FORCE_INLINE __m128d _mm_hsub_pd(__m128d _a, __m128d _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vuzp1q_f64(a, b), vuzp2q_f64(a, b))); ++#else ++ double *da = (double *) &_a; ++ double *db = (double *) &_b; ++ double c[] = {da[0] - da[1], db[0] - db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of single-precision (32-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_ps ++FORCE_INLINE __m128 _mm_hsub_ps(__m128 _a, __m128 _b) ++{ ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vuzp1q_f32(a, b), vuzp2q_f32(a, b))); ++#else ++ float32x4x2_t c = vuzpq_f32(a, b); ++ return vreinterpretq_m128_f32(vsubq_f32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Load 128-bits of integer data from unaligned memory into dst. This intrinsic ++// may perform better than _mm_loadu_si128 when the data crosses a cache line ++// boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lddqu_si128 ++#define _mm_lddqu_si128 _mm_loadu_si128 ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loaddup_pd ++#define _mm_loaddup_pd _mm_load1_pd ++ ++// Duplicate the low double-precision (64-bit) floating-point element from a, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movedup_pd ++FORCE_INLINE __m128d _mm_movedup_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdupq_laneq_f64(vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_u64( ++ vdupq_n_u64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0))); ++#endif ++} ++ ++// Duplicate odd-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehdup_ps ++FORCE_INLINE __m128 _mm_movehdup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 1, 1, 3, 3)); ++#else ++ float32_t a1 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ float32_t a3 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 3); ++ float ALIGN_STRUCT(16) data[4] = {a1, a1, a3, a3}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Duplicate even-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_moveldup_ps ++FORCE_INLINE __m128 _mm_moveldup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 0, 0, 2, 2)); ++#else ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32_t a2 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 2); ++ float ALIGN_STRUCT(16) data[4] = {a0, a0, a2, a2}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++/* SSSE3 */ ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi16 ++FORCE_INLINE __m128i _mm_abs_epi16(__m128i a) ++{ ++ return vreinterpretq_m128i_s16(vabsq_s16(vreinterpretq_s16_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi32 ++FORCE_INLINE __m128i _mm_abs_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32(vabsq_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi8 ++FORCE_INLINE __m128i _mm_abs_epi8(__m128i a) ++{ ++ return vreinterpretq_m128i_s8(vabsq_s8(vreinterpretq_s8_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi16 ++FORCE_INLINE __m64 _mm_abs_pi16(__m64 a) ++{ ++ return vreinterpret_m64_s16(vabs_s16(vreinterpret_s16_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi32 ++FORCE_INLINE __m64 _mm_abs_pi32(__m64 a) ++{ ++ return vreinterpret_m64_s32(vabs_s32(vreinterpret_s32_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi8 ++FORCE_INLINE __m64 _mm_abs_pi8(__m64 a) ++{ ++ return vreinterpret_m64_s8(vabs_s8(vreinterpret_s8_m64(a))); ++} ++ ++// Concatenate 16-byte blocks in a and b into a 32-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 16 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_epi8 ++#if defined(__GNUC__) && !defined(__clang__) ++#define _mm_alignr_epi8(a, b, imm) \ ++ __extension__({ \ ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); \ ++ uint8x16_t _b = vreinterpretq_u8_m128i(b); \ ++ __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) \ ++ ret = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) \ ++ ret = _mm_srli_si128(a, imm >= 16 ? imm - 16 : 0); \ ++ else \ ++ ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(_b, _a, imm < 16 ? imm : 0)); \ ++ ret; \ ++ }) ++ ++#else ++#define _mm_alignr_epi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, uint8x16_t __a = vreinterpretq_u8_m128i(_a); \ ++ uint8x16_t __b = vreinterpretq_u8_m128i(_b); __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) ret = \ ++ vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) ret = \ ++ _mm_srli_si128(_a, imm >= 16 ? imm - 16 : 0); \ ++ else ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(__b, __a, imm < 16 ? imm : 0)); \ ++ _sse2neon_return(ret);) ++ ++#endif ++ ++// Concatenate 8-byte blocks in a and b into a 16-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 8 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_pi8 ++#define _mm_alignr_pi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m64, a, b, __m64 ret; if (_sse2neon_unlikely((imm) >= 16)) { \ ++ ret = vreinterpret_m64_s8(vdup_n_s8(0)); \ ++ } else { \ ++ uint8x8_t tmp_low; \ ++ uint8x8_t tmp_high; \ ++ if ((imm) >= 8) { \ ++ const int idx = (imm) -8; \ ++ tmp_low = vreinterpret_u8_m64(_a); \ ++ tmp_high = vdup_n_u8(0); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } else { \ ++ const int idx = (imm); \ ++ tmp_low = vreinterpret_u8_m64(_b); \ ++ tmp_high = vreinterpret_u8_m64(_a); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } \ ++ } _sse2neon_return(ret);) ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi16 ++FORCE_INLINE __m128i _mm_hadd_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16(vpaddq_s16(a, b)); ++#else ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(vget_low_s16(a), vget_high_s16(a)), ++ vpadd_s16(vget_low_s16(b), vget_high_s16(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi32 ++FORCE_INLINE __m128i _mm_hadd_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32(vpaddq_s32(a, b)); ++#else ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vpadd_s32(vget_low_s32(a), vget_high_s32(a)), ++ vpadd_s32(vget_low_s32(b), vget_high_s32(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi16 ++FORCE_INLINE __m64 _mm_hadd_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vpadd_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi32 ++FORCE_INLINE __m64 _mm_hadd_pi32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s32( ++ vpadd_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_epi16 ++FORCE_INLINE __m128i _mm_hadds_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ return vreinterpretq_s64_s16( ++ vqaddq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ // Interleave using vshrn/vmovn ++ // [a0|a2|a4|a6|b0|b2|b4|b6] ++ // [a1|a3|a5|a7|b1|b3|b5|b7] ++ int16x8_t ab0246 = vcombine_s16(vmovn_s32(a), vmovn_s32(b)); ++ int16x8_t ab1357 = vcombine_s16(vshrn_n_s32(a, 16), vshrn_n_s32(b, 16)); ++ // Saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(ab0246, ab1357)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_pi16 ++FORCE_INLINE __m64 _mm_hadds_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_s64_s16(vqadd_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t res = vuzp_s16(a, b); ++ return vreinterpret_s64_s16(vqadd_s16(res.val[0], res.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi16 ++FORCE_INLINE __m128i _mm_hsub_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi32 ++FORCE_INLINE __m128i _mm_hsub_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vuzp1q_s32(a, b), vuzp2q_s32(a, b))); ++#else ++ int32x4x2_t c = vuzpq_s32(a, b); ++ return vreinterpretq_m128i_s32(vsubq_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pi16 ++FORCE_INLINE __m64 _mm_hsub_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_hsub_pi32 ++FORCE_INLINE __m64 _mm_hsub_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s32(vsub_s32(vuzp1_s32(a, b), vuzp2_s32(a, b))); ++#else ++ int32x2x2_t c = vuzp_s32(a, b); ++ return vreinterpret_m64_s32(vsub_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_epi16 ++FORCE_INLINE __m128i _mm_hsubs_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vqsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_pi16 ++FORCE_INLINE __m64 _mm_hsubs_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vqsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vqsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, ++// and pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_epi16 ++FORCE_INLINE __m128i _mm_maddubs_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ int16x8_t tl = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_low_u8(a))), ++ vmovl_s8(vget_low_s8(b))); ++ int16x8_t th = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_high_u8(a))), ++ vmovl_s8(vget_high_s8(b))); ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vuzp1q_s16(tl, th), vuzp2q_s16(tl, th))); ++#else ++ // This would be much simpler if x86 would choose to zero extend OR sign ++ // extend, not both. This could probably be optimized better. ++ uint16x8_t a = vreinterpretq_u16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // Zero extend a ++ int16x8_t a_odd = vreinterpretq_s16_u16(vshrq_n_u16(a, 8)); ++ int16x8_t a_even = vreinterpretq_s16_u16(vbicq_u16(a, vdupq_n_u16(0xff00))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x8_t b_even = vshrq_n_s16(vshlq_n_s16(b, 8), 8); ++ int16x8_t b_odd = vshrq_n_s16(b, 8); ++ ++ // multiply ++ int16x8_t prod1 = vmulq_s16(a_even, b_even); ++ int16x8_t prod2 = vmulq_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(prod1, prod2)); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, and ++// pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_pi16 ++FORCE_INLINE __m64 _mm_maddubs_pi16(__m64 _a, __m64 _b) ++{ ++ uint16x4_t a = vreinterpret_u16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // Zero extend a ++ int16x4_t a_odd = vreinterpret_s16_u16(vshr_n_u16(a, 8)); ++ int16x4_t a_even = vreinterpret_s16_u16(vand_u16(a, vdup_n_u16(0xff))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x4_t b_even = vshr_n_s16(vshl_n_s16(b, 8), 8); ++ int16x4_t b_odd = vshr_n_s16(b, 8); ++ ++ // multiply ++ int16x4_t prod1 = vmul_s16(a_even, b_even); ++ int16x4_t prod2 = vmul_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpret_m64_s16(vqadd_s16(prod1, prod2)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Shift right by 15 bits while rounding up, and store ++// the packed 16-bit integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_epi16 ++FORCE_INLINE __m128i _mm_mulhrs_epi16(__m128i a, __m128i b) ++{ ++ // Has issues due to saturation ++ // return vreinterpretq_m128i_s16(vqrdmulhq_s16(a, b)); ++ ++ // Multiply ++ int32x4_t mul_lo = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int32x4_t mul_hi = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ // Rounding narrowing shift right ++ // narrow = (int16_t)((mul + 16384) >> 15); ++ int16x4_t narrow_lo = vrshrn_n_s32(mul_lo, 15); ++ int16x4_t narrow_hi = vrshrn_n_s32(mul_hi, 15); ++ ++ // Join together ++ return vreinterpretq_m128i_s16(vcombine_s16(narrow_lo, narrow_hi)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Truncate each intermediate integer to the 18 most ++// significant bits, round by adding 1, and store bits [16:1] to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_pi16 ++FORCE_INLINE __m64 _mm_mulhrs_pi16(__m64 a, __m64 b) ++{ ++ int32x4_t mul_extend = ++ vmull_s16((vreinterpret_s16_m64(a)), (vreinterpret_s16_m64(b))); ++ ++ // Rounding narrowing shift right ++ return vreinterpret_m64_s16(vrshrn_n_s32(mul_extend, 15)); ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi8 ++FORCE_INLINE __m128i _mm_shuffle_epi8(__m128i a, __m128i b) ++{ ++ int8x16_t tbl = vreinterpretq_s8_m128i(a); // input a ++ uint8x16_t idx = vreinterpretq_u8_m128i(b); // input b ++ uint8x16_t idx_masked = ++ vandq_u8(idx, vdupq_n_u8(0x8F)); // avoid using meaningless bits ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8(vqtbl1q_s8(tbl, idx_masked)); ++#elif defined(__GNUC__) ++ int8x16_t ret; ++ // %e and %f represent the even and odd D registers ++ // respectively. ++ __asm__ __volatile__( ++ "vtbl.8 %e[ret], {%e[tbl], %f[tbl]}, %e[idx]\n" ++ "vtbl.8 %f[ret], {%e[tbl], %f[tbl]}, %f[idx]\n" ++ : [ret] "=&w"(ret) ++ : [tbl] "w"(tbl), [idx] "w"(idx_masked)); ++ return vreinterpretq_m128i_s8(ret); ++#else ++ // use this line if testing on aarch64 ++ int8x8x2_t a_split = {vget_low_s8(tbl), vget_high_s8(tbl)}; ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vtbl2_s8(a_split, vget_low_u8(idx_masked)), ++ vtbl2_s8(a_split, vget_high_u8(idx_masked)))); ++#endif ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi8 ++FORCE_INLINE __m64 _mm_shuffle_pi8(__m64 a, __m64 b) ++{ ++ const int8x8_t controlMask = ++ vand_s8(vreinterpret_s8_m64(b), vdup_n_s8((int8_t) (0x1 << 7 | 0x07))); ++ int8x8_t res = vtbl1_s8(vreinterpret_s8_m64(a), controlMask); ++ return vreinterpret_m64_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed ++// 16-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi16 ++FORCE_INLINE __m128i _mm_sign_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x8_t ltMask = vreinterpretq_u16_s16(vshrq_n_s16(b, 15)); ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqzq_s16(b)); ++#else ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqq_s16(b, vdupq_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s16(a) equals to negative ++ // 'a') based on ltMask ++ int16x8_t masked = vbslq_s16(ltMask, vnegq_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x8_t res = vbicq_s16(masked, zeroMask); ++ return vreinterpretq_m128i_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed ++// 32-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi32 ++FORCE_INLINE __m128i _mm_sign_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x4_t ltMask = vreinterpretq_u32_s32(vshrq_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqzq_s32(b)); ++#else ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqq_s32(b, vdupq_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s32(a) equals to negative ++ // 'a') based on ltMask ++ int32x4_t masked = vbslq_s32(ltMask, vnegq_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x4_t res = vbicq_s32(masked, zeroMask); ++ return vreinterpretq_m128i_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed ++// 8-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi8 ++FORCE_INLINE __m128i _mm_sign_epi8(__m128i _a, __m128i _b) ++{ ++ int8x16_t a = vreinterpretq_s8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x16_t ltMask = vreinterpretq_u8_s8(vshrq_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqzq_s8(b)); ++#else ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqq_s8(b, vdupq_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s8(a) return negative 'a') ++ // based on ltMask ++ int8x16_t masked = vbslq_s8(ltMask, vnegq_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x16_t res = vbicq_s8(masked, zeroMask); ++ ++ return vreinterpretq_m128i_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed 16-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi16 ++FORCE_INLINE __m64 _mm_sign_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x4_t ltMask = vreinterpret_u16_s16(vshr_n_s16(b, 15)); ++ ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceqz_s16(b)); ++#else ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceq_s16(b, vdup_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s16(a) return negative 'a') ++ // based on ltMask ++ int16x4_t masked = vbsl_s16(ltMask, vneg_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x4_t res = vbic_s16(masked, zeroMask); ++ ++ return vreinterpret_m64_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed 32-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi32 ++FORCE_INLINE __m64 _mm_sign_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x2_t ltMask = vreinterpret_u32_s32(vshr_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceqz_s32(b)); ++#else ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceq_s32(b, vdup_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s32(a) return negative 'a') ++ // based on ltMask ++ int32x2_t masked = vbsl_s32(ltMask, vneg_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x2_t res = vbic_s32(masked, zeroMask); ++ ++ return vreinterpret_m64_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed 8-bit integer ++// in b is negative, and store the results in dst. Element in dst are zeroed out ++// when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi8 ++FORCE_INLINE __m64 _mm_sign_pi8(__m64 _a, __m64 _b) ++{ ++ int8x8_t a = vreinterpret_s8_m64(_a); ++ int8x8_t b = vreinterpret_s8_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x8_t ltMask = vreinterpret_u8_s8(vshr_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceqz_s8(b)); ++#else ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceq_s8(b, vdup_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s8(a) return negative 'a') ++ // based on ltMask ++ int8x8_t masked = vbsl_s8(ltMask, vneg_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x8_t res = vbic_s8(masked, zeroMask); ++ ++ return vreinterpret_m64_s8(res); ++} ++ ++/* SSE4.1 */ ++ ++// Blend packed 16-bit integers from a and b using control mask imm8, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_epi16 ++// FORCE_INLINE __m128i _mm_blend_epi16(__m128i a, __m128i b, ++// __constrange(0,255) int imm) ++#define _mm_blend_epi16(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, \ ++ const uint16_t _mask[8] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 1)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 2)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 3)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 4)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 5)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 6)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 7)) ? (uint16_t) -1 : 0x0); \ ++ uint16x8_t _mask_vec = vld1q_u16(_mask); \ ++ uint16x8_t __a = vreinterpretq_u16_m128i(_a); \ ++ uint16x8_t __b = vreinterpretq_u16_m128i(_b); _sse2neon_return( \ ++ vreinterpretq_m128i_u16(vbslq_u16(_mask_vec, __b, __a)));) ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using control mask imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_pd ++#define _mm_blend_pd(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128d, a, b, \ ++ const uint64_t _mask[2] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? ~UINT64_C(0) : UINT64_C(0), \ ++ ((imm) & (1 << 1)) ? ~UINT64_C(0) : UINT64_C(0)); \ ++ uint64x2_t _mask_vec = vld1q_u64(_mask); \ ++ uint64x2_t __a = vreinterpretq_u64_m128d(_a); \ ++ uint64x2_t __b = vreinterpretq_u64_m128d(_b); _sse2neon_return( \ ++ vreinterpretq_m128d_u64(vbslq_u64(_mask_vec, __b, __a)));) ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_ps ++FORCE_INLINE __m128 _mm_blend_ps(__m128 _a, __m128 _b, const char imm8) ++{ ++ const uint32_t ALIGN_STRUCT(16) ++ data[4] = {((imm8) & (1 << 0)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0}; ++ uint32x4_t mask = vld1q_u32(data); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Blend packed 8-bit integers from a and b using mask, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_epi8 ++FORCE_INLINE __m128i _mm_blendv_epi8(__m128i _a, __m128i _b, __m128i _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint8x16_t mask = ++ vreinterpretq_u8_s8(vshrq_n_s8(vreinterpretq_s8_m128i(_mask), 7)); ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ uint8x16_t b = vreinterpretq_u8_m128i(_b); ++ return vreinterpretq_m128i_u8(vbslq_u8(mask, b, a)); ++} ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_pd ++FORCE_INLINE __m128d _mm_blendv_pd(__m128d _a, __m128d _b, __m128d _mask) ++{ ++ uint64x2_t mask = ++ vreinterpretq_u64_s64(vshrq_n_s64(vreinterpretq_s64_m128d(_mask), 63)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64(vbslq_f64(mask, b, a)); ++#else ++ uint64x2_t a = vreinterpretq_u64_m128d(_a); ++ uint64x2_t b = vreinterpretq_u64_m128d(_b); ++ return vreinterpretq_m128d_u64(vbslq_u64(mask, b, a)); ++#endif ++} ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_ps ++FORCE_INLINE __m128 _mm_blendv_ps(__m128 _a, __m128 _b, __m128 _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint32x4_t mask = ++ vreinterpretq_u32_s32(vshrq_n_s32(vreinterpretq_s32_m128(_mask), 31)); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a up ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_pd ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndpq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(ceil(f[1]), ceil(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a up to ++// an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ps ++FORCE_INLINE __m128 _mm_ceil_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndpq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ceilf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b up to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_sd ++FORCE_INLINE __m128d _mm_ceil_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_ceil_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b up to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ss ++FORCE_INLINE __m128 _mm_ceil_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_ceil_ps(b)); ++} ++ ++// Compare packed 64-bit integers in a and b for equality, and store the results ++// in dst ++FORCE_INLINE __m128i _mm_cmpeq_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vceqq_u64(vreinterpretq_u64_m128i(a), vreinterpretq_u64_m128i(b))); ++#else ++ // ARMv7 lacks vceqq_u64 ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128i_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Sign extend packed 16-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi32 ++FORCE_INLINE __m128i _mm_cvtepi16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vmovl_s16(vget_low_s16(vreinterpretq_s16_m128i(a)))); ++} ++ ++// Sign extend packed 16-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi64 ++FORCE_INLINE __m128i _mm_cvtepi16_epi64(__m128i a) ++{ ++ int16x8_t s16x8 = vreinterpretq_s16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Sign extend packed 32-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_epi64 ++FORCE_INLINE __m128i _mm_cvtepi32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a)))); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 16-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi16 ++FORCE_INLINE __m128i _mm_cvtepi8_epi16(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ return vreinterpretq_m128i_s16(s16x8); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi32 ++FORCE_INLINE __m128i _mm_cvtepi8_epi32(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_s32(s32x4); ++} ++ ++// Sign extend packed 8-bit integers in the low 8 bytes of a to packed 64-bit ++// integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi64 ++FORCE_INLINE __m128i _mm_cvtepi8_epi64(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi32 ++FORCE_INLINE __m128i _mm_cvtepu16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_u32( ++ vmovl_u16(vget_low_u16(vreinterpretq_u16_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi64 ++FORCE_INLINE __m128i _mm_cvtepu16_epi64(__m128i a) ++{ ++ uint16x8_t u16x8 = vreinterpretq_u16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Zero extend packed unsigned 32-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu32_epi64 ++FORCE_INLINE __m128i _mm_cvtepu32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_u64( ++ vmovl_u32(vget_low_u32(vreinterpretq_u32_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 16-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi16 ++FORCE_INLINE __m128i _mm_cvtepu8_epi16(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx HGFE DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0H0G 0F0E 0D0C 0B0A */ ++ return vreinterpretq_m128i_u16(u16x8); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi32 ++FORCE_INLINE __m128i _mm_cvtepu8_epi32(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_u32(u32x4); ++} ++ ++// Zero extend packed unsigned 8-bit integers in the low 8 bytes of a to packed ++// 64-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi64 ++FORCE_INLINE __m128i _mm_cvtepu8_epi64(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Conditionally multiply the packed double-precision (64-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, and ++// conditionally store the sum in dst using the low 4 bits of imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_pd ++FORCE_INLINE __m128d _mm_dp_pd(__m128d a, __m128d b, const int imm) ++{ ++ // Generate mask value from constant immediate bit value ++ const int64_t bit0Mask = imm & 0x01 ? UINT64_MAX : 0; ++ const int64_t bit1Mask = imm & 0x02 ? UINT64_MAX : 0; ++#if !SSE2NEON_PRECISE_DP ++ const int64_t bit4Mask = imm & 0x10 ? UINT64_MAX : 0; ++ const int64_t bit5Mask = imm & 0x20 ? UINT64_MAX : 0; ++#endif ++ // Conditional multiplication ++#if !SSE2NEON_PRECISE_DP ++ __m128d mul = _mm_mul_pd(a, b); ++ const __m128d mulMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit5Mask, bit4Mask)); ++ __m128d tmp = _mm_and_pd(mul, mulMask); ++#else ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double d0 = (imm & 0x10) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 0) ++ : 0; ++ double d1 = (imm & 0x20) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 1) ++ : 0; ++#else ++ double d0 = (imm & 0x10) ? ((double *) &a)[0] * ((double *) &b)[0] : 0; ++ double d1 = (imm & 0x20) ? ((double *) &a)[1] * ((double *) &b)[1] : 0; ++#endif ++ __m128d tmp = _mm_set_pd(d1, d0); ++#endif ++ // Sum the products ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double sum = vpaddd_f64(vreinterpretq_f64_m128d(tmp)); ++#else ++ double sum = *((double *) &tmp) + *(((double *) &tmp) + 1); ++#endif ++ // Conditionally store the sum ++ const __m128d sumMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit1Mask, bit0Mask)); ++ __m128d res = _mm_and_pd(_mm_set_pd1(sum), sumMask); ++ return res; ++} ++ ++// Conditionally multiply the packed single-precision (32-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, ++// and conditionally store the sum in dst using the low 4 bits of imm. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_ps ++FORCE_INLINE __m128 _mm_dp_ps(__m128 a, __m128 b, const int imm) ++{ ++ float32x4_t elementwise_prod = _mm_mul_ps(a, b); ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ /* shortcuts */ ++ if (imm == 0xFF) { ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++ ++ if ((imm & 0x0F) == 0x0F) { ++ if (!(imm & (1 << 4))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 0); ++ if (!(imm & (1 << 5))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 1); ++ if (!(imm & (1 << 6))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 2); ++ if (!(imm & (1 << 7))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 3); ++ ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++#endif ++ ++ float s = 0.0f; ++ ++ if (imm & (1 << 4)) ++ s += vgetq_lane_f32(elementwise_prod, 0); ++ if (imm & (1 << 5)) ++ s += vgetq_lane_f32(elementwise_prod, 1); ++ if (imm & (1 << 6)) ++ s += vgetq_lane_f32(elementwise_prod, 2); ++ if (imm & (1 << 7)) ++ s += vgetq_lane_f32(elementwise_prod, 3); ++ ++ const float32_t res[4] = { ++ (imm & 0x1) ? s : 0.0f, ++ (imm & 0x2) ? s : 0.0f, ++ (imm & 0x4) ? s : 0.0f, ++ (imm & 0x8) ? s : 0.0f, ++ }; ++ return vreinterpretq_m128_f32(vld1q_f32(res)); ++} ++ ++// Extract a 32-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi32 ++// FORCE_INLINE int _mm_extract_epi32(__m128i a, __constrange(0,4) int imm) ++#define _mm_extract_epi32(a, imm) \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)) ++ ++// Extract a 64-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi64 ++// FORCE_INLINE __int64 _mm_extract_epi64(__m128i a, __constrange(0,2) int imm) ++#define _mm_extract_epi64(a, imm) \ ++ vgetq_lane_s64(vreinterpretq_s64_m128i(a), (imm)) ++ ++// Extract an 8-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. FORCE_INLINE int _mm_extract_epi8(__m128i a, ++// __constrange(0,16) int imm) ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi8 ++#define _mm_extract_epi8(a, imm) vgetq_lane_u8(vreinterpretq_u8_m128i(a), (imm)) ++ ++// Extracts the selected single-precision (32-bit) floating-point from a. ++// FORCE_INLINE int _mm_extract_ps(__m128 a, __constrange(0,4) int imm) ++#define _mm_extract_ps(a, imm) vgetq_lane_s32(vreinterpretq_s32_m128(a), (imm)) ++ ++// Round the packed double-precision (64-bit) floating-point elements in a down ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_pd ++FORCE_INLINE __m128d _mm_floor_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndmq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(floor(f[1]), floor(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a down ++// to an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ps ++FORCE_INLINE __m128 _mm_floor_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndmq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(floorf(f[3]), floorf(f[2]), floorf(f[1]), floorf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b down to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_sd ++FORCE_INLINE __m128d _mm_floor_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_floor_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b down to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ss ++FORCE_INLINE __m128 _mm_floor_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_floor_ps(b)); ++} ++ ++// Copy a to dst, and insert the 32-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi32 ++// FORCE_INLINE __m128i _mm_insert_epi32(__m128i a, int b, ++// __constrange(0,4) int imm) ++#define _mm_insert_epi32(a, b, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vsetq_lane_s32((b), vreinterpretq_s32_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the 64-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi64 ++// FORCE_INLINE __m128i _mm_insert_epi64(__m128i a, __int64 b, ++// __constrange(0,2) int imm) ++#define _mm_insert_epi64(a, b, imm) \ ++ vreinterpretq_m128i_s64( \ ++ vsetq_lane_s64((b), vreinterpretq_s64_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the lower 8-bit integer from i into dst at the ++// location specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi8 ++// FORCE_INLINE __m128i _mm_insert_epi8(__m128i a, int b, ++// __constrange(0,16) int imm) ++#define _mm_insert_epi8(a, b, imm) \ ++ vreinterpretq_m128i_s8(vsetq_lane_s8((b), vreinterpretq_s8_m128i(a), (imm))) ++ ++// Copy a to tmp, then insert a single-precision (32-bit) floating-point ++// element from b into tmp using the control in imm8. Store tmp to dst using ++// the mask in imm8 (elements are zeroed out when the corresponding bit is set). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=insert_ps ++#define _mm_insert_ps(a, b, imm8) \ ++ _sse2neon_define2( \ ++ __m128, a, b, \ ++ float32x4_t tmp1 = \ ++ vsetq_lane_f32(vgetq_lane_f32(_b, (imm8 >> 6) & 0x3), \ ++ vreinterpretq_f32_m128(_a), 0); \ ++ float32x4_t tmp2 = \ ++ vsetq_lane_f32(vgetq_lane_f32(tmp1, 0), \ ++ vreinterpretq_f32_m128(_a), ((imm8 >> 4) & 0x3)); \ ++ const uint32_t data[4] = \ ++ _sse2neon_init(((imm8) & (1 << 0)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0); \ ++ uint32x4_t mask = vld1q_u32(data); \ ++ float32x4_t all_zeros = vdupq_n_f32(0); \ ++ \ ++ _sse2neon_return(vreinterpretq_m128_f32( \ ++ vbslq_f32(mask, all_zeros, vreinterpretq_f32_m128(tmp2))));) ++ ++// Compare packed signed 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi32 ++FORCE_INLINE __m128i _mm_max_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmaxq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi8 ++FORCE_INLINE __m128i _mm_max_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vmaxq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu16 ++FORCE_INLINE __m128i _mm_max_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vmaxq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_max_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vmaxq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi32 ++FORCE_INLINE __m128i _mm_min_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vminq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi8 ++FORCE_INLINE __m128i _mm_min_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vminq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu16 ++FORCE_INLINE __m128i _mm_min_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vminq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_min_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vminq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Horizontally compute the minimum amongst the packed unsigned 16-bit integers ++// in a, store the minimum and index in dst, and zero the remaining bits in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_minpos_epu16 ++FORCE_INLINE __m128i _mm_minpos_epu16(__m128i a) ++{ ++ __m128i dst; ++ uint16_t min, idx = 0; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Find the minimum value ++ min = vminvq_u16(vreinterpretq_u16_m128i(a)); ++ ++ // Get the index of the minimum value ++ static const uint16_t idxv[] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint16x8_t minv = vdupq_n_u16(min); ++ uint16x8_t cmeq = vceqq_u16(minv, vreinterpretq_u16_m128i(a)); ++ idx = vminvq_u16(vornq_u16(vld1q_u16(idxv), cmeq)); ++#else ++ // Find the minimum value ++ __m64 tmp; ++ tmp = vreinterpret_m64_u16( ++ vmin_u16(vget_low_u16(vreinterpretq_u16_m128i(a)), ++ vget_high_u16(vreinterpretq_u16_m128i(a)))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ min = vget_lane_u16(vreinterpret_u16_m64(tmp), 0); ++ // Get the index of the minimum value ++ int i; ++ for (i = 0; i < 8; i++) { ++ if (min == vgetq_lane_u16(vreinterpretq_u16_m128i(a), 0)) { ++ idx = (uint16_t) i; ++ break; ++ } ++ a = _mm_srli_si128(a, 2); ++ } ++#endif ++ // Generate result ++ dst = _mm_setzero_si128(); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(min, vreinterpretq_u16_m128i(dst), 0)); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(idx, vreinterpretq_u16_m128i(dst), 1)); ++ return dst; ++} ++ ++// Compute the sum of absolute differences (SADs) of quadruplets of unsigned ++// 8-bit integers in a compared to those in b, and store the 16-bit results in ++// dst. Eight SADs are performed using one quadruplet from b and eight ++// quadruplets from a. One quadruplet is selected from b starting at on the ++// offset specified in imm8. Eight quadruplets are formed from sequential 8-bit ++// integers selected from a starting at the offset specified in imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mpsadbw_epu8 ++FORCE_INLINE __m128i _mm_mpsadbw_epu8(__m128i a, __m128i b, const int imm) ++{ ++ uint8x16_t _a, _b; ++ ++ switch (imm & 0x4) { ++ case 0: ++ // do nothing ++ _a = vreinterpretq_u8_m128i(a); ++ break; ++ case 4: ++ _a = vreinterpretq_u8_u32(vextq_u32(vreinterpretq_u32_m128i(a), ++ vreinterpretq_u32_m128i(a), 1)); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ switch (imm & 0x3) { ++ case 0: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 0))); ++ break; ++ case 1: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 1))); ++ break; ++ case 2: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 2))); ++ break; ++ case 3: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 3))); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ int16x8_t c04, c15, c26, c37; ++ uint8x8_t low_b = vget_low_u8(_b); ++ c04 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a), low_b)); ++ uint8x16_t _a_1 = vextq_u8(_a, _a, 1); ++ c15 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_1), low_b)); ++ uint8x16_t _a_2 = vextq_u8(_a, _a, 2); ++ c26 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_2), low_b)); ++ uint8x16_t _a_3 = vextq_u8(_a, _a, 3); ++ c37 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_3), low_b)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // |0|4|2|6| ++ c04 = vpaddq_s16(c04, c26); ++ // |1|5|3|7| ++ c15 = vpaddq_s16(c15, c37); ++ ++ int32x4_t trn1_c = ++ vtrn1q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ int32x4_t trn2_c = ++ vtrn2q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ return vreinterpretq_m128i_s16(vpaddq_s16(vreinterpretq_s16_s32(trn1_c), ++ vreinterpretq_s16_s32(trn2_c))); ++#else ++ int16x4_t c01, c23, c45, c67; ++ c01 = vpadd_s16(vget_low_s16(c04), vget_low_s16(c15)); ++ c23 = vpadd_s16(vget_low_s16(c26), vget_low_s16(c37)); ++ c45 = vpadd_s16(vget_high_s16(c04), vget_high_s16(c15)); ++ c67 = vpadd_s16(vget_high_s16(c26), vget_high_s16(c37)); ++ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(c01, c23), vpadd_s16(c45, c67))); ++#endif ++} ++ ++// Multiply the low signed 32-bit integers from each packed 64-bit element in ++// a and b, and store the signed 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epi32 ++FORCE_INLINE __m128i _mm_mul_epi32(__m128i a, __m128i b) ++{ ++ // vmull_s32 upcasts instead of masking, so we downcast. ++ int32x2_t a_lo = vmovn_s64(vreinterpretq_s64_m128i(a)); ++ int32x2_t b_lo = vmovn_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vmull_s32(a_lo, b_lo)); ++} ++ ++// Multiply the packed 32-bit integers in a and b, producing intermediate 64-bit ++// integers, and store the low 32 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi32 ++FORCE_INLINE __m128i _mm_mullo_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmulq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi32 ++FORCE_INLINE __m128i _mm_packus_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcombine_u16(vqmovun_s32(vreinterpretq_s32_m128i(a)), ++ vqmovun_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_pd ++FORCE_INLINE_OPTNONE __m128d _mm_round_pd(__m128d a, int rounding) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndnq_f64(vreinterpretq_f64_m128d(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_pd(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_pd(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndq_f64(vreinterpretq_f64_m128d(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128d_f64(vrndiq_f64(vreinterpretq_f64_m128d(a))); ++ } ++#else ++ double *v_double = (double *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ double res[2], tmp; ++ for (int i = 0; i < 2; i++) { ++ tmp = (v_double[i] < 0) ? -v_double[i] : v_double[i]; ++ double roundDown = floor(tmp); // Round down value ++ double roundUp = ceil(tmp); // Round up value ++ double diffDown = tmp - roundDown; ++ double diffUp = roundUp - tmp; ++ if (diffDown < diffUp) { ++ /* If it's closer to the round down value, then use it */ ++ res[i] = roundDown; ++ } else if (diffDown > diffUp) { ++ /* If it's closer to the round up value, then use it */ ++ res[i] = roundUp; ++ } else { ++ /* If it's equidistant between round up and round down value, ++ * pick the one which is an even number */ ++ double half = roundDown / 2; ++ if (half != floor(half)) { ++ /* If the round down value is odd, return the round up value ++ */ ++ res[i] = roundUp; ++ } else { ++ /* If the round up value is odd, return the round down value ++ */ ++ res[i] = roundDown; ++ } ++ } ++ res[i] = (v_double[i] < 0) ? -res[i] : res[i]; ++ } ++ return _mm_set_pd(res[1], res[0]); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_pd(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_pd(a); ++ } ++ return _mm_set_pd(v_double[1] > 0 ? floor(v_double[1]) : ceil(v_double[1]), ++ v_double[0] > 0 ? floor(v_double[0]) : ceil(v_double[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed single-precision ++// floating-point elements in dst. ++// software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_round_ps ++FORCE_INLINE_OPTNONE __m128 _mm_round_ps(__m128 a, int rounding) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndnq_f32(vreinterpretq_f32_m128(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_ps(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_ps(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndq_f32(vreinterpretq_f32_m128(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128_f32(vrndiq_f32(vreinterpretq_f32_m128(a))); ++ } ++#else ++ float *v_float = (float *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vbslq_s32(is_delta_half, r_even, r_normal))); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_ps(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_ps(a); ++ } ++ return _mm_set_ps(v_float[3] > 0 ? floorf(v_float[3]) : ceilf(v_float[3]), ++ v_float[2] > 0 ? floorf(v_float[2]) : ceilf(v_float[2]), ++ v_float[1] > 0 ? floorf(v_float[1]) : ceilf(v_float[1]), ++ v_float[0] > 0 ? floorf(v_float[0]) : ceilf(v_float[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b using ++// the rounding parameter, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_sd ++FORCE_INLINE __m128d _mm_round_sd(__m128d a, __m128d b, int rounding) ++{ ++ return _mm_move_sd(a, _mm_round_pd(b, rounding)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b using ++// the rounding parameter, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. Rounding is done according to the ++// rounding[3:0] parameter, which can be one of: ++// (_MM_FROUND_TO_NEAREST_INT |_MM_FROUND_NO_EXC) // round to nearest, and ++// suppress exceptions ++// (_MM_FROUND_TO_NEG_INF |_MM_FROUND_NO_EXC) // round down, and ++// suppress exceptions ++// (_MM_FROUND_TO_POS_INF |_MM_FROUND_NO_EXC) // round up, and suppress ++// exceptions ++// (_MM_FROUND_TO_ZERO |_MM_FROUND_NO_EXC) // truncate, and suppress ++// exceptions _MM_FROUND_CUR_DIRECTION // use MXCSR.RC; see ++// _MM_SET_ROUNDING_MODE ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_ss ++FORCE_INLINE __m128 _mm_round_ss(__m128 a, __m128 b, int rounding) ++{ ++ return _mm_move_ss(a, _mm_round_ps(b, rounding)); ++} ++ ++// Load 128-bits of integer data from memory into dst using a non-temporal ++// memory hint. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_load_si128 ++FORCE_INLINE __m128i _mm_stream_load_si128(__m128i *p) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ return __builtin_nontemporal_load(p); ++#else ++ return vreinterpretq_m128i_s64(vld1q_s64((int64_t *) p)); ++#endif ++} ++ ++// Compute the bitwise NOT of a and then AND with a 128-bit vector containing ++// all 1's, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_ones ++FORCE_INLINE int _mm_test_all_ones(__m128i a) ++{ ++ return (uint64_t) (vgetq_lane_s64(a, 0) & vgetq_lane_s64(a, 1)) == ++ ~(uint64_t) 0; ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_zeros ++FORCE_INLINE int _mm_test_all_zeros(__m128i a, __m128i mask) ++{ ++ int64x2_t a_and_mask = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(mask)); ++ return !(vgetq_lane_s64(a_and_mask, 0) | vgetq_lane_s64(a_and_mask, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute ++// the bitwise NOT of a and then AND with mask, and set CF to 1 if the result is ++// zero, otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_test_mix_ones_zero ++// Note: Argument names may be wrong in the Intel intrinsics guide. ++FORCE_INLINE int _mm_test_mix_ones_zeros(__m128i a, __m128i mask) ++{ ++ uint64x2_t v = vreinterpretq_u64_m128i(a); ++ uint64x2_t m = vreinterpretq_u64_m128i(mask); ++ ++ // find ones (set-bits) and zeros (clear-bits) under clip mask ++ uint64x2_t ones = vandq_u64(m, v); ++ uint64x2_t zeros = vbicq_u64(m, v); ++ ++ // If both 128-bit variables are populated (non-zero) then return 1. ++ // For comparison purposes, first compact each var down to 32-bits. ++ uint32x2_t reduced = vpmax_u32(vqmovn_u64(ones), vqmovn_u64(zeros)); ++ ++ // if folding minimum is non-zero then both vars must be non-zero ++ return (vget_lane_u32(vpmin_u32(reduced, reduced), 0) != 0); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the CF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testc_si128 ++FORCE_INLINE int _mm_testc_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vbicq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testnzc_si128 ++#define _mm_testnzc_si128(a, b) _mm_test_mix_ones_zeros(a, b) ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the ZF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testz_si128 ++FORCE_INLINE int _mm_testz_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++/* SSE4.2 */ ++ ++static const uint16_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask16b[8] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++static const uint8_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask8b[16] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++ ++/* specify the source data format */ ++#define _SIDD_UBYTE_OPS 0x00 /* unsigned 8-bit characters */ ++#define _SIDD_UWORD_OPS 0x01 /* unsigned 16-bit characters */ ++#define _SIDD_SBYTE_OPS 0x02 /* signed 8-bit characters */ ++#define _SIDD_SWORD_OPS 0x03 /* signed 16-bit characters */ ++ ++/* specify the comparison operation */ ++#define _SIDD_CMP_EQUAL_ANY 0x00 /* compare equal any: strchr */ ++#define _SIDD_CMP_RANGES 0x04 /* compare ranges */ ++#define _SIDD_CMP_EQUAL_EACH 0x08 /* compare equal each: strcmp */ ++#define _SIDD_CMP_EQUAL_ORDERED 0x0C /* compare equal ordered */ ++ ++/* specify the polarity */ ++#define _SIDD_POSITIVE_POLARITY 0x00 ++#define _SIDD_MASKED_POSITIVE_POLARITY 0x20 ++#define _SIDD_NEGATIVE_POLARITY 0x10 /* negate results */ ++#define _SIDD_MASKED_NEGATIVE_POLARITY \ ++ 0x30 /* negate results only before end of string */ ++ ++/* specify the output selection in _mm_cmpXstri */ ++#define _SIDD_LEAST_SIGNIFICANT 0x00 ++#define _SIDD_MOST_SIGNIFICANT 0x40 ++ ++/* specify the output selection in _mm_cmpXstrm */ ++#define _SIDD_BIT_MASK 0x00 ++#define _SIDD_UNIT_MASK 0x40 ++ ++/* Pattern Matching for C macros. ++ * https://github.com/pfultz2/Cloak/wiki/C-Preprocessor-tricks,-tips,-and-idioms ++ */ ++ ++/* catenate */ ++#define SSE2NEON_PRIMITIVE_CAT(a, ...) a##__VA_ARGS__ ++#define SSE2NEON_CAT(a, b) SSE2NEON_PRIMITIVE_CAT(a, b) ++ ++#define SSE2NEON_IIF(c) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_IIF_, c) ++/* run the 2nd parameter */ ++#define SSE2NEON_IIF_0(t, ...) __VA_ARGS__ ++/* run the 1st parameter */ ++#define SSE2NEON_IIF_1(t, ...) t ++ ++#define SSE2NEON_COMPL(b) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_COMPL_, b) ++#define SSE2NEON_COMPL_0 1 ++#define SSE2NEON_COMPL_1 0 ++ ++#define SSE2NEON_DEC(x) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_DEC_, x) ++#define SSE2NEON_DEC_1 0 ++#define SSE2NEON_DEC_2 1 ++#define SSE2NEON_DEC_3 2 ++#define SSE2NEON_DEC_4 3 ++#define SSE2NEON_DEC_5 4 ++#define SSE2NEON_DEC_6 5 ++#define SSE2NEON_DEC_7 6 ++#define SSE2NEON_DEC_8 7 ++#define SSE2NEON_DEC_9 8 ++#define SSE2NEON_DEC_10 9 ++#define SSE2NEON_DEC_11 10 ++#define SSE2NEON_DEC_12 11 ++#define SSE2NEON_DEC_13 12 ++#define SSE2NEON_DEC_14 13 ++#define SSE2NEON_DEC_15 14 ++#define SSE2NEON_DEC_16 15 ++ ++/* detection */ ++#define SSE2NEON_CHECK_N(x, n, ...) n ++#define SSE2NEON_CHECK(...) SSE2NEON_CHECK_N(__VA_ARGS__, 0, ) ++#define SSE2NEON_PROBE(x) x, 1, ++ ++#define SSE2NEON_NOT(x) SSE2NEON_CHECK(SSE2NEON_PRIMITIVE_CAT(SSE2NEON_NOT_, x)) ++#define SSE2NEON_NOT_0 SSE2NEON_PROBE(~) ++ ++#define SSE2NEON_BOOL(x) SSE2NEON_COMPL(SSE2NEON_NOT(x)) ++#define SSE2NEON_IF(c) SSE2NEON_IIF(SSE2NEON_BOOL(c)) ++ ++#define SSE2NEON_EAT(...) ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++#define SSE2NEON_WHEN(c) SSE2NEON_IF(c)(SSE2NEON_EXPAND, SSE2NEON_EAT) ++ ++/* recursion */ ++/* deferred expression */ ++#define SSE2NEON_EMPTY() ++#define SSE2NEON_DEFER(id) id SSE2NEON_EMPTY() ++#define SSE2NEON_OBSTRUCT(...) __VA_ARGS__ SSE2NEON_DEFER(SSE2NEON_EMPTY)() ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++ ++#define SSE2NEON_EVAL(...) \ ++ SSE2NEON_EVAL1(SSE2NEON_EVAL1(SSE2NEON_EVAL1(__VA_ARGS__))) ++#define SSE2NEON_EVAL1(...) \ ++ SSE2NEON_EVAL2(SSE2NEON_EVAL2(SSE2NEON_EVAL2(__VA_ARGS__))) ++#define SSE2NEON_EVAL2(...) \ ++ SSE2NEON_EVAL3(SSE2NEON_EVAL3(SSE2NEON_EVAL3(__VA_ARGS__))) ++#define SSE2NEON_EVAL3(...) __VA_ARGS__ ++ ++#define SSE2NEON_REPEAT(count, macro, ...) \ ++ SSE2NEON_WHEN(count) \ ++ (SSE2NEON_OBSTRUCT(SSE2NEON_REPEAT_INDIRECT)()( \ ++ SSE2NEON_DEC(count), macro, \ ++ __VA_ARGS__) SSE2NEON_OBSTRUCT(macro)(SSE2NEON_DEC(count), \ ++ __VA_ARGS__)) ++#define SSE2NEON_REPEAT_INDIRECT() SSE2NEON_REPEAT ++ ++#define SSE2NEON_SIZE_OF_byte 8 ++#define SSE2NEON_NUMBER_OF_LANES_byte 16 ++#define SSE2NEON_SIZE_OF_word 16 ++#define SSE2NEON_NUMBER_OF_LANES_word 8 ++ ++#define SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE(i, type) \ ++ mtx[i] = vreinterpretq_m128i_##type(vceqq_##type( \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)), \ ++ vreinterpretq_##type##_m128i(a))); ++ ++#define SSE2NEON_FILL_LANE(i, type) \ ++ vec_b[i] = \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)); ++ ++#define PCMPSTR_RANGES(a, b, mtx, data_type_prefix, type_prefix, size, \ ++ number_of_lanes, byte_or_word) \ ++ do { \ ++ SSE2NEON_CAT( \ ++ data_type_prefix, \ ++ SSE2NEON_CAT(size, \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(number_of_lanes, _t)))) \ ++ vec_b[number_of_lanes]; \ ++ __m128i mask = SSE2NEON_IIF(byte_or_word)( \ ++ vreinterpretq_m128i_u16(vdupq_n_u16(0xff)), \ ++ vreinterpretq_m128i_u32(vdupq_n_u32(0xffff))); \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, SSE2NEON_FILL_LANE, \ ++ SSE2NEON_CAT(type_prefix, size))) \ ++ for (int i = 0; i < number_of_lanes; i++) { \ ++ mtx[i] = SSE2NEON_CAT(vreinterpretq_m128i_u, \ ++ size)(SSE2NEON_CAT(vbslq_u, size)( \ ++ SSE2NEON_CAT(vreinterpretq_u, \ ++ SSE2NEON_CAT(size, _m128i))(mask), \ ++ SSE2NEON_CAT(vcgeq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))), \ ++ SSE2NEON_CAT(vcleq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))))); \ ++ } \ ++ } while (0) ++ ++#define PCMPSTR_EQ(a, b, mtx, size, number_of_lanes) \ ++ do { \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, \ ++ SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE, \ ++ SSE2NEON_CAT(u, size))) \ ++ } while (0) ++ ++#define SSE2NEON_CMP_EQUAL_ANY_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_any(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_any_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_RANGES_IMPL(type, data_type, us, byte_or_word) \ ++ static int _sse2neon_cmp_##us##type##_ranges(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_RANGES( \ ++ a, b, mtx, data_type, us, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), byte_or_word); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_ranges_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_EQUAL_ORDERED_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_ordered(__m128i a, int la, \ ++ __m128i b, int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_ordered_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type))))( \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), la, lb, mtx); \ ++ } ++ ++static int _sse2neon_aggregate_equal_any_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ int tmp = _sse2neon_vaddvq_u8(vreinterpretq_u8_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_equal_any_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ int tmp = _sse2neon_vaddvq_u16(vreinterpretq_u16_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ANY(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ANY(SSE2NEON_CMP_EQUAL_ANY_) ++ ++static int _sse2neon_aggregate_ranges_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ __m128i tmp = vreinterpretq_m128i_u32( ++ vshrq_n_u32(vreinterpretq_u32_m128i(mtx[j]), 16)); ++ uint32x4_t vec_res = vandq_u32(vreinterpretq_u32_m128i(mtx[j]), ++ vreinterpretq_u32_m128i(tmp)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int t = vaddvq_u32(vec_res) ? 1 : 0; ++#else ++ uint64x2_t sumh = vpaddlq_u32(vec_res); ++ int t = vgetq_lane_u64(sumh, 0) + vgetq_lane_u64(sumh, 1); ++#endif ++ res |= (t << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_ranges_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ __m128i tmp = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 8)); ++ uint16x8_t vec_res = vandq_u16(vreinterpretq_u16_m128i(mtx[j]), ++ vreinterpretq_u16_m128i(tmp)); ++ int t = _sse2neon_vaddvq_u16(vec_res) ? 1 : 0; ++ res |= (t << j); ++ } ++ return res; ++} ++ ++#define SSE2NEON_CMP_RANGES_IS_BYTE 1 ++#define SSE2NEON_CMP_RANGES_IS_WORD 0 ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_RANGES(prefix) \ ++ prefix##IMPL(byte, uint, u, prefix##IS_BYTE) \ ++ prefix##IMPL(byte, int, s, prefix##IS_BYTE) \ ++ prefix##IMPL(word, uint, u, prefix##IS_WORD) \ ++ prefix##IMPL(word, int, s, prefix##IS_WORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_RANGES(SSE2NEON_CMP_RANGES_) ++ ++#undef SSE2NEON_CMP_RANGES_IS_BYTE ++#undef SSE2NEON_CMP_RANGES_IS_WORD ++ ++static int _sse2neon_cmp_byte_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint8x16_t mtx = ++ vceqq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x10000 - (1 << la); ++ int tb = 0x10000 - (1 << lb); ++ uint8x8_t vec_mask, vec0_lo, vec0_hi, vec1_lo, vec1_hi; ++ uint8x8_t tmp_lo, tmp_hi, res_lo, res_hi; ++ vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ vec0_lo = vtst_u8(vdup_n_u8(m0), vec_mask); ++ vec0_hi = vtst_u8(vdup_n_u8(m0 >> 8), vec_mask); ++ vec1_lo = vtst_u8(vdup_n_u8(m1), vec_mask); ++ vec1_hi = vtst_u8(vdup_n_u8(m1 >> 8), vec_mask); ++ tmp_lo = vtst_u8(vdup_n_u8(tb), vec_mask); ++ tmp_hi = vtst_u8(vdup_n_u8(tb >> 8), vec_mask); ++ ++ res_lo = vbsl_u8(vec0_lo, vdup_n_u8(0), vget_low_u8(mtx)); ++ res_hi = vbsl_u8(vec0_hi, vdup_n_u8(0), vget_high_u8(mtx)); ++ res_lo = vbsl_u8(vec1_lo, tmp_lo, res_lo); ++ res_hi = vbsl_u8(vec1_hi, tmp_hi, res_hi); ++ res_lo = vand_u8(res_lo, vec_mask); ++ res_hi = vand_u8(res_hi, vec_mask); ++ ++ int res = _sse2neon_vaddv_u8(res_lo) + (_sse2neon_vaddv_u8(res_hi) << 8); ++ return res; ++} ++ ++static int _sse2neon_cmp_word_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint16x8_t mtx = ++ vceqq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x100 - (1 << la); ++ int tb = 0x100 - (1 << lb); ++ uint16x8_t vec_mask = vld1q_u16(_sse2neon_cmpestr_mask16b); ++ uint16x8_t vec0 = vtstq_u16(vdupq_n_u16(m0), vec_mask); ++ uint16x8_t vec1 = vtstq_u16(vdupq_n_u16(m1), vec_mask); ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(tb), vec_mask); ++ mtx = vbslq_u16(vec0, vdupq_n_u16(0), mtx); ++ mtx = vbslq_u16(vec1, tmp, mtx); ++ mtx = vandq_u16(mtx, vec_mask); ++ return _sse2neon_vaddvq_u16(mtx); ++} ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE 1 ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD 0 ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IMPL(size, number_of_lanes, data_type) \ ++ static int _sse2neon_aggregate_equal_ordered_##size##x##number_of_lanes( \ ++ int bound, int la, int lb, __m128i mtx[16]) \ ++ { \ ++ int res = 0; \ ++ int m1 = SSE2NEON_IIF(data_type)(0x10000, 0x100) - (1 << la); \ ++ uint##size##x8_t vec_mask = SSE2NEON_IIF(data_type)( \ ++ vld1_u##size(_sse2neon_cmpestr_mask##size##b), \ ++ vld1q_u##size(_sse2neon_cmpestr_mask##size##b)); \ ++ uint##size##x##number_of_lanes##_t vec1 = SSE2NEON_IIF(data_type)( \ ++ vcombine_u##size(vtst_u##size(vdup_n_u##size(m1), vec_mask), \ ++ vtst_u##size(vdup_n_u##size(m1 >> 8), vec_mask)), \ ++ vtstq_u##size(vdupq_n_u##size(m1), vec_mask)); \ ++ uint##size##x##number_of_lanes##_t vec_minusone = vdupq_n_u##size(-1); \ ++ uint##size##x##number_of_lanes##_t vec_zero = vdupq_n_u##size(0); \ ++ for (int j = 0; j < lb; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size(vbslq_u##size( \ ++ vec1, vec_minusone, vreinterpretq_u##size##_m128i(mtx[j]))); \ ++ } \ ++ for (int j = lb; j < bound; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size( \ ++ vbslq_u##size(vec1, vec_minusone, vec_zero)); \ ++ } \ ++ unsigned SSE2NEON_IIF(data_type)(char, short) *ptr = \ ++ (unsigned SSE2NEON_IIF(data_type)(char, short) *) mtx; \ ++ for (int i = 0; i < bound; i++) { \ ++ int val = 1; \ ++ for (int j = 0, k = i; j < bound - i && k < bound; j++, k++) \ ++ val &= ptr[k * bound + j]; \ ++ res += val << i; \ ++ } \ ++ return res; \ ++ } ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(prefix) \ ++ prefix##IMPL(8, 16, prefix##IS_UBYTE) \ ++ prefix##IMPL(16, 8, prefix##IS_UWORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(SSE2NEON_AGGREGATE_EQUAL_ORDER_) ++ ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(SSE2NEON_CMP_EQUAL_ORDERED_) ++ ++#define SSE2NEON_CMPESTR_LIST \ ++ _(CMP_UBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_UWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_SBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_SWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_UBYTE_RANGES, cmp_ubyte_ranges) \ ++ _(CMP_UWORD_RANGES, cmp_uword_ranges) \ ++ _(CMP_SBYTE_RANGES, cmp_sbyte_ranges) \ ++ _(CMP_SWORD_RANGES, cmp_sword_ranges) \ ++ _(CMP_UBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_UWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_SBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_SWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_UBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_UWORD_EQUAL_ORDERED, cmp_word_equal_ordered) \ ++ _(CMP_SBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_SWORD_EQUAL_ORDERED, cmp_word_equal_ordered) ++ ++enum { ++#define _(name, func_suffix) name, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++typedef int (*cmpestr_func_t)(__m128i a, int la, __m128i b, int lb); ++static cmpestr_func_t _sse2neon_cmpfunc_table[] = { ++#define _(name, func_suffix) _sse2neon_##func_suffix, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++ ++FORCE_INLINE int _sse2neon_sido_negative(int res, int lb, int imm8, int bound) ++{ ++ switch (imm8 & 0x30) { ++ case _SIDD_NEGATIVE_POLARITY: ++ res ^= 0xffffffff; ++ break; ++ case _SIDD_MASKED_NEGATIVE_POLARITY: ++ res ^= (1 << lb) - 1; ++ break; ++ default: ++ break; ++ } ++ ++ return res & ((bound == 8) ? 0xFF : 0xFFFF); ++} ++ ++FORCE_INLINE int _sse2neon_clz(unsigned int x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt = 0; ++ if (_BitScanReverse(&cnt, x)) ++ return 31 - cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_clz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctz(unsigned int x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt = 0; ++ if (_BitScanForward(&cnt, x)) ++ return cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_ctz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctzll(unsigned long long x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt; ++#if defined(SSE2NEON_HAS_BITSCAN64) ++ if (_BitScanForward64(&cnt, x)) ++ return (int) (cnt); ++#else ++ if (_BitScanForward(&cnt, (unsigned long) (x))) ++ return (int) cnt; ++ if (_BitScanForward(&cnt, (unsigned long) (x >> 32))) ++ return (int) (cnt + 32); ++#endif /* SSE2NEON_HAS_BITSCAN64 */ ++ return 64; ++#else /* assume GNU compatible compilers */ ++ return x != 0 ? __builtin_ctzll(x) : 64; ++#endif ++} ++ ++#define SSE2NEON_MIN(x, y) (x) < (y) ? (x) : (y) ++ ++#define SSE2NEON_CMPSTR_SET_UPPER(var, imm) \ ++ const int var = (imm & 0x01) ? 8 : 16 ++ ++#define SSE2NEON_CMPESTRX_LEN_PAIR(a, b, la, lb) \ ++ int tmp1 = la ^ (la >> 31); \ ++ la = tmp1 - (la >> 31); \ ++ int tmp2 = lb ^ (lb >> 31); \ ++ lb = tmp2 - (lb >> 31); \ ++ la = SSE2NEON_MIN(la, bound); \ ++ lb = SSE2NEON_MIN(lb, bound) ++ ++// Compare all pairs of character in string a and b, ++// then aggregate the result. ++// As the only difference of PCMPESTR* and PCMPISTR* is the way to calculate the ++// length of string, we use SSE2NEON_CMP{I,E}STRX_GET_LEN to get the length of ++// string a and b. ++#define SSE2NEON_COMP_AGG(a, b, la, lb, imm8, IE) \ ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); \ ++ SSE2NEON_##IE##_LEN_PAIR(a, b, la, lb); \ ++ int r2 = (_sse2neon_cmpfunc_table[imm8 & 0x0f])(a, la, b, lb); \ ++ r2 = _sse2neon_sido_negative(r2, lb, imm8, bound) ++ ++#define SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8) \ ++ return (r2 == 0) ? bound \ ++ : ((imm8 & 0x40) ? (31 - _sse2neon_clz(r2)) \ ++ : _sse2neon_ctz(r2)) ++ ++#define SSE2NEON_CMPSTR_GENERATE_MASK(dst) \ ++ __m128i dst = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ if (imm8 & 0x40) { \ ++ if (bound == 8) { \ ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(r2), \ ++ vld1q_u16(_sse2neon_cmpestr_mask16b)); \ ++ dst = vreinterpretq_m128i_u16(vbslq_u16( \ ++ tmp, vdupq_n_u16(-1), vreinterpretq_u16_m128i(dst))); \ ++ } else { \ ++ uint8x16_t vec_r2 = \ ++ vcombine_u8(vdup_n_u8(r2), vdup_n_u8(r2 >> 8)); \ ++ uint8x16_t tmp = \ ++ vtstq_u8(vec_r2, vld1q_u8(_sse2neon_cmpestr_mask8b)); \ ++ dst = vreinterpretq_m128i_u8( \ ++ vbslq_u8(tmp, vdupq_n_u8(-1), vreinterpretq_u8_m128i(dst))); \ ++ } \ ++ } else { \ ++ if (bound == 16) { \ ++ dst = vreinterpretq_m128i_u16( \ ++ vsetq_lane_u16(r2 & 0xffff, vreinterpretq_u16_m128i(dst), 0)); \ ++ } else { \ ++ dst = vreinterpretq_m128i_u8( \ ++ vsetq_lane_u8(r2 & 0xff, vreinterpretq_u8_m128i(dst), 0)); \ ++ } \ ++ } \ ++ return dst ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and returns 1 if b did not contain a null character and the ++// resulting mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestra ++FORCE_INLINE int _mm_cmpestra(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ int lb_cpy = lb; ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return !r2 & (lb_cpy > bound); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrc ++FORCE_INLINE int _mm_cmpestrc(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestri ++FORCE_INLINE int _mm_cmpestri(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrm ++FORCE_INLINE __m128i ++_mm_cmpestrm(__m128i a, int la, __m128i b, int lb, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestro ++FORCE_INLINE int _mm_cmpestro(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrs ++FORCE_INLINE int _mm_cmpestrs(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) lb; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrz ++FORCE_INLINE int _mm_cmpestrz(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) la; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return lb <= (bound - 1); ++} ++ ++#define SSE2NEON_CMPISTRX_LENGTH(str, len, imm8) \ ++ do { \ ++ if (imm8 & 0x01) { \ ++ uint16x8_t equal_mask_##str = \ ++ vceqq_u16(vreinterpretq_u16_m128i(str), vdupq_n_u16(0)); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 3; \ ++ } else { \ ++ uint16x8_t equal_mask_##str = vreinterpretq_u16_u8( \ ++ vceqq_u8(vreinterpretq_u8_m128i(str), vdupq_n_u8(0))); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 2; \ ++ } \ ++ } while (0) ++ ++#define SSE2NEON_CMPISTRX_LEN_PAIR(a, b, la, lb) \ ++ int la, lb; \ ++ do { \ ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); \ ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); \ ++ } while (0) ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if b did not contain a null character and the resulting ++// mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistra ++FORCE_INLINE int _mm_cmpistra(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return !r2 & (lb >= bound); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrc ++FORCE_INLINE int _mm_cmpistrc(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistri ++FORCE_INLINE int _mm_cmpistri(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrm ++FORCE_INLINE __m128i _mm_cmpistrm(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistro ++FORCE_INLINE int _mm_cmpistro(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrs ++FORCE_INLINE int _mm_cmpistrs(__m128i a, __m128i b, const int imm8) ++{ ++ (void) b; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int la; ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrz ++FORCE_INLINE int _mm_cmpistrz(__m128i a, __m128i b, const int imm8) ++{ ++ (void) a; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int lb; ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); ++ return lb <= (bound - 1); ++} ++ ++// Compares the 2 signed 64-bit integers in a and the 2 signed 64-bit integers ++// in b for greater than. ++FORCE_INLINE __m128i _mm_cmpgt_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vcgtq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ return vreinterpretq_m128i_s64(vshrq_n_s64( ++ vqsubq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)), ++ 63)); ++#endif ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 16-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u16 ++FORCE_INLINE uint32_t _mm_crc32_u16(uint32_t crc, uint16_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32ch %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32ch(crc, v); ++#else ++ crc = _mm_crc32_u8(crc, v & 0xff); ++ crc = _mm_crc32_u8(crc, (v >> 8) & 0xff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 32-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u32 ++FORCE_INLINE uint32_t _mm_crc32_u32(uint32_t crc, uint32_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cw %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cw(crc, v); ++#else ++ crc = _mm_crc32_u16(crc, v & 0xffff); ++ crc = _mm_crc32_u16(crc, (v >> 16) & 0xffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 64-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u64 ++FORCE_INLINE uint64_t _mm_crc32_u64(uint64_t crc, uint64_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cx %w[c], %w[c], %x[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cd((uint32_t) crc, v); ++#else ++ crc = _mm_crc32_u32((uint32_t) (crc), v & 0xffffffff); ++ crc = _mm_crc32_u32((uint32_t) (crc), (v >> 32) & 0xffffffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 8-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u8 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t crc, uint8_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cb %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cb(crc, v); ++#else ++ crc ^= v; ++#if defined(__ARM_FEATURE_CRYPTO) ++ // Adapted from: https://mary.rs/lab/crc32/ ++ // Barrent reduction ++ uint64x2_t orig = ++ vcombine_u64(vcreate_u64((uint64_t) (crc) << 24), vcreate_u64(0x0)); ++ uint64x2_t tmp = orig; ++ ++ // Polynomial P(x) of CRC32C ++ uint64_t p = 0x105EC76F1; ++ // Barrett Reduction (in bit-reflected form) constant mu_{64} = \lfloor ++ // 2^{64} / P(x) \rfloor = 0x11f91caf6 ++ uint64_t mu = 0x1dea713f1; ++ ++ // Multiply by mu_{64} ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(mu)); ++ // Divide by 2^{64} (mask away the unnecessary bits) ++ tmp = ++ vandq_u64(tmp, vcombine_u64(vcreate_u64(0xFFFFFFFF), vcreate_u64(0x0))); ++ // Multiply by P(x) (shifted left by 1 for alignment reasons) ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(p)); ++ // Subtract original from result ++ tmp = veorq_u64(tmp, orig); ++ ++ // Extract the 'lower' (in bit-reflected sense) 32 bits ++ crc = vgetq_lane_u32(vreinterpretq_u32_u64(tmp), 1); ++#else // Fall back to the generic table lookup approach ++ // Adapted from: https://create.stephan-brumme.com/crc32/ ++ // Apply half-byte comparison algorithm for the best ratio between ++ // performance and lookup table. ++ ++ // The lookup table just needs to store every 16th entry ++ // of the standard look-up table. ++ static const uint32_t crc32_half_byte_tbl[] = { ++ 0x00000000, 0x105ec76f, 0x20bd8ede, 0x30e349b1, 0x417b1dbc, 0x5125dad3, ++ 0x61c69362, 0x7198540d, 0x82f63b78, 0x92a8fc17, 0xa24bb5a6, 0xb21572c9, ++ 0xc38d26c4, 0xd3d3e1ab, 0xe330a81a, 0xf36e6f75, ++ }; ++ ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++#endif ++#endif ++ return crc; ++} ++ ++/* AES */ ++ ++#if !defined(__ARM_FEATURE_CRYPTO) && (!defined(_M_ARM64) || defined(__clang__)) ++/* clang-format off */ ++#define SSE2NEON_AES_SBOX(w) \ ++ { \ ++ w(0x63), w(0x7c), w(0x77), w(0x7b), w(0xf2), w(0x6b), w(0x6f), \ ++ w(0xc5), w(0x30), w(0x01), w(0x67), w(0x2b), w(0xfe), w(0xd7), \ ++ w(0xab), w(0x76), w(0xca), w(0x82), w(0xc9), w(0x7d), w(0xfa), \ ++ w(0x59), w(0x47), w(0xf0), w(0xad), w(0xd4), w(0xa2), w(0xaf), \ ++ w(0x9c), w(0xa4), w(0x72), w(0xc0), w(0xb7), w(0xfd), w(0x93), \ ++ w(0x26), w(0x36), w(0x3f), w(0xf7), w(0xcc), w(0x34), w(0xa5), \ ++ w(0xe5), w(0xf1), w(0x71), w(0xd8), w(0x31), w(0x15), w(0x04), \ ++ w(0xc7), w(0x23), w(0xc3), w(0x18), w(0x96), w(0x05), w(0x9a), \ ++ w(0x07), w(0x12), w(0x80), w(0xe2), w(0xeb), w(0x27), w(0xb2), \ ++ w(0x75), w(0x09), w(0x83), w(0x2c), w(0x1a), w(0x1b), w(0x6e), \ ++ w(0x5a), w(0xa0), w(0x52), w(0x3b), w(0xd6), w(0xb3), w(0x29), \ ++ w(0xe3), w(0x2f), w(0x84), w(0x53), w(0xd1), w(0x00), w(0xed), \ ++ w(0x20), w(0xfc), w(0xb1), w(0x5b), w(0x6a), w(0xcb), w(0xbe), \ ++ w(0x39), w(0x4a), w(0x4c), w(0x58), w(0xcf), w(0xd0), w(0xef), \ ++ w(0xaa), w(0xfb), w(0x43), w(0x4d), w(0x33), w(0x85), w(0x45), \ ++ w(0xf9), w(0x02), w(0x7f), w(0x50), w(0x3c), w(0x9f), w(0xa8), \ ++ w(0x51), w(0xa3), w(0x40), w(0x8f), w(0x92), w(0x9d), w(0x38), \ ++ w(0xf5), w(0xbc), w(0xb6), w(0xda), w(0x21), w(0x10), w(0xff), \ ++ w(0xf3), w(0xd2), w(0xcd), w(0x0c), w(0x13), w(0xec), w(0x5f), \ ++ w(0x97), w(0x44), w(0x17), w(0xc4), w(0xa7), w(0x7e), w(0x3d), \ ++ w(0x64), w(0x5d), w(0x19), w(0x73), w(0x60), w(0x81), w(0x4f), \ ++ w(0xdc), w(0x22), w(0x2a), w(0x90), w(0x88), w(0x46), w(0xee), \ ++ w(0xb8), w(0x14), w(0xde), w(0x5e), w(0x0b), w(0xdb), w(0xe0), \ ++ w(0x32), w(0x3a), w(0x0a), w(0x49), w(0x06), w(0x24), w(0x5c), \ ++ w(0xc2), w(0xd3), w(0xac), w(0x62), w(0x91), w(0x95), w(0xe4), \ ++ w(0x79), w(0xe7), w(0xc8), w(0x37), w(0x6d), w(0x8d), w(0xd5), \ ++ w(0x4e), w(0xa9), w(0x6c), w(0x56), w(0xf4), w(0xea), w(0x65), \ ++ w(0x7a), w(0xae), w(0x08), w(0xba), w(0x78), w(0x25), w(0x2e), \ ++ w(0x1c), w(0xa6), w(0xb4), w(0xc6), w(0xe8), w(0xdd), w(0x74), \ ++ w(0x1f), w(0x4b), w(0xbd), w(0x8b), w(0x8a), w(0x70), w(0x3e), \ ++ w(0xb5), w(0x66), w(0x48), w(0x03), w(0xf6), w(0x0e), w(0x61), \ ++ w(0x35), w(0x57), w(0xb9), w(0x86), w(0xc1), w(0x1d), w(0x9e), \ ++ w(0xe1), w(0xf8), w(0x98), w(0x11), w(0x69), w(0xd9), w(0x8e), \ ++ w(0x94), w(0x9b), w(0x1e), w(0x87), w(0xe9), w(0xce), w(0x55), \ ++ w(0x28), w(0xdf), w(0x8c), w(0xa1), w(0x89), w(0x0d), w(0xbf), \ ++ w(0xe6), w(0x42), w(0x68), w(0x41), w(0x99), w(0x2d), w(0x0f), \ ++ w(0xb0), w(0x54), w(0xbb), w(0x16) \ ++ } ++#define SSE2NEON_AES_RSBOX(w) \ ++ { \ ++ w(0x52), w(0x09), w(0x6a), w(0xd5), w(0x30), w(0x36), w(0xa5), \ ++ w(0x38), w(0xbf), w(0x40), w(0xa3), w(0x9e), w(0x81), w(0xf3), \ ++ w(0xd7), w(0xfb), w(0x7c), w(0xe3), w(0x39), w(0x82), w(0x9b), \ ++ w(0x2f), w(0xff), w(0x87), w(0x34), w(0x8e), w(0x43), w(0x44), \ ++ w(0xc4), w(0xde), w(0xe9), w(0xcb), w(0x54), w(0x7b), w(0x94), \ ++ w(0x32), w(0xa6), w(0xc2), w(0x23), w(0x3d), w(0xee), w(0x4c), \ ++ w(0x95), w(0x0b), w(0x42), w(0xfa), w(0xc3), w(0x4e), w(0x08), \ ++ w(0x2e), w(0xa1), w(0x66), w(0x28), w(0xd9), w(0x24), w(0xb2), \ ++ w(0x76), w(0x5b), w(0xa2), w(0x49), w(0x6d), w(0x8b), w(0xd1), \ ++ w(0x25), w(0x72), w(0xf8), w(0xf6), w(0x64), w(0x86), w(0x68), \ ++ w(0x98), w(0x16), w(0xd4), w(0xa4), w(0x5c), w(0xcc), w(0x5d), \ ++ w(0x65), w(0xb6), w(0x92), w(0x6c), w(0x70), w(0x48), w(0x50), \ ++ w(0xfd), w(0xed), w(0xb9), w(0xda), w(0x5e), w(0x15), w(0x46), \ ++ w(0x57), w(0xa7), w(0x8d), w(0x9d), w(0x84), w(0x90), w(0xd8), \ ++ w(0xab), w(0x00), w(0x8c), w(0xbc), w(0xd3), w(0x0a), w(0xf7), \ ++ w(0xe4), w(0x58), w(0x05), w(0xb8), w(0xb3), w(0x45), w(0x06), \ ++ w(0xd0), w(0x2c), w(0x1e), w(0x8f), w(0xca), w(0x3f), w(0x0f), \ ++ w(0x02), w(0xc1), w(0xaf), w(0xbd), w(0x03), w(0x01), w(0x13), \ ++ w(0x8a), w(0x6b), w(0x3a), w(0x91), w(0x11), w(0x41), w(0x4f), \ ++ w(0x67), w(0xdc), w(0xea), w(0x97), w(0xf2), w(0xcf), w(0xce), \ ++ w(0xf0), w(0xb4), w(0xe6), w(0x73), w(0x96), w(0xac), w(0x74), \ ++ w(0x22), w(0xe7), w(0xad), w(0x35), w(0x85), w(0xe2), w(0xf9), \ ++ w(0x37), w(0xe8), w(0x1c), w(0x75), w(0xdf), w(0x6e), w(0x47), \ ++ w(0xf1), w(0x1a), w(0x71), w(0x1d), w(0x29), w(0xc5), w(0x89), \ ++ w(0x6f), w(0xb7), w(0x62), w(0x0e), w(0xaa), w(0x18), w(0xbe), \ ++ w(0x1b), w(0xfc), w(0x56), w(0x3e), w(0x4b), w(0xc6), w(0xd2), \ ++ w(0x79), w(0x20), w(0x9a), w(0xdb), w(0xc0), w(0xfe), w(0x78), \ ++ w(0xcd), w(0x5a), w(0xf4), w(0x1f), w(0xdd), w(0xa8), w(0x33), \ ++ w(0x88), w(0x07), w(0xc7), w(0x31), w(0xb1), w(0x12), w(0x10), \ ++ w(0x59), w(0x27), w(0x80), w(0xec), w(0x5f), w(0x60), w(0x51), \ ++ w(0x7f), w(0xa9), w(0x19), w(0xb5), w(0x4a), w(0x0d), w(0x2d), \ ++ w(0xe5), w(0x7a), w(0x9f), w(0x93), w(0xc9), w(0x9c), w(0xef), \ ++ w(0xa0), w(0xe0), w(0x3b), w(0x4d), w(0xae), w(0x2a), w(0xf5), \ ++ w(0xb0), w(0xc8), w(0xeb), w(0xbb), w(0x3c), w(0x83), w(0x53), \ ++ w(0x99), w(0x61), w(0x17), w(0x2b), w(0x04), w(0x7e), w(0xba), \ ++ w(0x77), w(0xd6), w(0x26), w(0xe1), w(0x69), w(0x14), w(0x63), \ ++ w(0x55), w(0x21), w(0x0c), w(0x7d) \ ++ } ++/* clang-format on */ ++ ++/* X Macro trick. See https://en.wikipedia.org/wiki/X_Macro */ ++#define SSE2NEON_AES_H0(x) (x) ++static const uint8_t _sse2neon_sbox[256] = SSE2NEON_AES_SBOX(SSE2NEON_AES_H0); ++static const uint8_t _sse2neon_rsbox[256] = SSE2NEON_AES_RSBOX(SSE2NEON_AES_H0); ++#undef SSE2NEON_AES_H0 ++ ++/* x_time function and matrix multiply function */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#define SSE2NEON_XT(x) (((x) << 1) ^ ((((x) >> 7) & 1) * 0x1b)) ++#define SSE2NEON_MULTIPLY(x, y) \ ++ (((y & 1) * x) ^ ((y >> 1 & 1) * SSE2NEON_XT(x)) ^ \ ++ ((y >> 2 & 1) * SSE2NEON_XT(SSE2NEON_XT(x))) ^ \ ++ ((y >> 3 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))) ^ \ ++ ((y >> 4 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))))) ++#endif ++ ++// In the absence of crypto extensions, implement aesenc using regular NEON ++// intrinsics instead. See: ++// https://www.workofard.com/2017/01/accelerated-aes-for-the-arm64-linux-kernel/ ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/ and ++// for more information. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ /* shift rows */ ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ /* sub bytes */ ++ // Here, we separate the whole 256-bytes table into 4 64-bytes tables, and ++ // look up each of the table. After each lookup, we load the next table ++ // which locates at the next 64-bytes. In the meantime, the index in the ++ // table would be smaller than it was, so the index parameters of ++ // `vqtbx4q_u8()` need to be added the same constant as the loaded tables. ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ // 'w-0x40' equals to 'vsubq_u8(w, vdupq_n_u8(0x40))' ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ /* mix columns */ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ /* add round key */ ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A implementation for a table-based AES */ ++#define SSE2NEON_AES_B2W(b0, b1, b2, b3) \ ++ (((uint32_t) (b3) << 24) | ((uint32_t) (b2) << 16) | \ ++ ((uint32_t) (b1) << 8) | (uint32_t) (b0)) ++// multiplying 'x' by 2 in GF(2^8) ++#define SSE2NEON_AES_F2(x) ((x << 1) ^ (((x >> 7) & 1) * 0x011b /* WPOLY */)) ++// multiplying 'x' by 3 in GF(2^8) ++#define SSE2NEON_AES_F3(x) (SSE2NEON_AES_F2(x) ^ x) ++#define SSE2NEON_AES_U0(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F2(p), p, p, SSE2NEON_AES_F3(p)) ++#define SSE2NEON_AES_U1(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p, p) ++#define SSE2NEON_AES_U2(p) \ ++ SSE2NEON_AES_B2W(p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p) ++#define SSE2NEON_AES_U3(p) \ ++ SSE2NEON_AES_B2W(p, p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p)) ++ ++ // this generates a table containing every possible permutation of ++ // shift_rows() and sub_bytes() with mix_columns(). ++ static const uint32_t ALIGN_STRUCT(16) aes_table[4][256] = { ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U0), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U1), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U2), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U3), ++ }; ++#undef SSE2NEON_AES_B2W ++#undef SSE2NEON_AES_F2 ++#undef SSE2NEON_AES_F3 ++#undef SSE2NEON_AES_U0 ++#undef SSE2NEON_AES_U1 ++#undef SSE2NEON_AES_U2 ++#undef SSE2NEON_AES_U3 ++ ++ uint32_t x0 = _mm_cvtsi128_si32(a); // get a[31:0] ++ uint32_t x1 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); // get a[63:32] ++ uint32_t x2 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xAA)); // get a[95:64] ++ uint32_t x3 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); // get a[127:96] ++ ++ // finish the modulo addition step in mix_columns() ++ __m128i out = _mm_set_epi32( ++ (aes_table[0][x3 & 0xff] ^ aes_table[1][(x0 >> 8) & 0xff] ^ ++ aes_table[2][(x1 >> 16) & 0xff] ^ aes_table[3][x2 >> 24]), ++ (aes_table[0][x2 & 0xff] ^ aes_table[1][(x3 >> 8) & 0xff] ^ ++ aes_table[2][(x0 >> 16) & 0xff] ^ aes_table[3][x1 >> 24]), ++ (aes_table[0][x1 & 0xff] ^ aes_table[1][(x2 >> 8) & 0xff] ^ ++ aes_table[2][(x3 >> 16) & 0xff] ^ aes_table[3][x0 >> 24]), ++ (aes_table[0][x0 & 0xff] ^ aes_table[1][(x1 >> 8) & 0xff] ^ ++ aes_table[2][(x2 >> 16) & 0xff] ^ aes_table[3][x3 >> 24])); ++ ++ return _mm_xor_si128(out, RoundKey); ++#endif ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // inverse mix columns ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & ++ 0x1b); // multiplying 'v' by 2 in GF(2^8) ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ // inverse mix columns ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ // sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A implementation */ ++ uint8_t v[16] = { ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 0)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 5)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 10)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 15)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 4)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 9)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 14)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 3)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 8)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 13)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 2)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 7)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 12)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 1)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 6)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 11)], ++ }; ++ ++ return vreinterpretq_m128i_u8(vld1q_u8(v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (int i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++#if defined(__aarch64__) ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ uint8x16_t v = vreinterpretq_u8_m128i(a); ++ uint8x16_t w; ++ ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ // multiplying 'v' by 2 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ return vreinterpretq_m128i_u8(w); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ vst1q_u8((uint8_t *) v, vreinterpretq_u8_m128i(a)); ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)); ++#endif ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++// ++// Emits the Advanced Encryption Standard (AES) instruction aeskeygenassist. ++// This instruction generates a round key for AES encryption. See ++// https://kazakov.life/2017/11/01/cryptocurrency-mining-on-ios-devices/ ++// for details. ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++#if defined(__aarch64__) ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); ++ uint8x16_t v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), _a); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), _a - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), _a - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), _a - 0xc0); ++ ++ uint32x4_t v_u32 = vreinterpretq_u32_u8(v); ++ uint32x4_t ror_v = vorrq_u32(vshrq_n_u32(v_u32, 8), vshlq_n_u32(v_u32, 24)); ++ uint32x4_t ror_xor_v = veorq_u32(ror_v, vdupq_n_u32(rcon)); ++ ++ return vreinterpretq_m128i_u32(vtrn2q_u32(v_u32, ror_xor_v)); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint32_t X1 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); ++ uint32_t X3 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); ++ for (int i = 0; i < 4; ++i) { ++ ((uint8_t *) &X1)[i] = _sse2neon_sbox[((uint8_t *) &X1)[i]]; ++ ((uint8_t *) &X3)[i] = _sse2neon_sbox[((uint8_t *) &X3)[i]]; ++ } ++ return _mm_set_epi32(((X3 >> 8) | (X3 << 24)) ^ rcon, X3, ++ ((X1 >> 8) | (X1 << 24)) ^ rcon, X1); ++#endif ++} ++#undef SSE2NEON_AES_SBOX ++#undef SSE2NEON_AES_RSBOX ++ ++#if defined(__aarch64__) ++#undef SSE2NEON_XT ++#undef SSE2NEON_MULTIPLY ++#endif ++ ++#else /* __ARM_FEATURE_CRYPTO */ ++// Implements equivalent of 'aesenc' by combining AESE (with an empty key) and ++// AESMC and then manually applying the real key as an xor operation. This ++// unfortunately means an additional xor op; the compiler should be able to ++// optimize this away for repeated calls however. See ++// https://blog.michaelbrase.com/2018/05/08/emulating-x86-aes-intrinsics-on-armv8-a ++// for more details. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesmcq_u8(vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(b))); ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesimcq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return _mm_xor_si128(vreinterpretq_m128i_u8(vaeseq_u8( ++ vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ RoundKey); ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8( ++ veorq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++ return vreinterpretq_m128i_u8(vaesimcq_u8(vreinterpretq_u8_m128i(a))); ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst." ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++ // AESE does ShiftRows and SubBytes on A ++ uint8x16_t u8 = vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)); ++ ++#ifndef _MSC_VER ++ uint8x16_t dest = { ++ // Undo ShiftRows step from AESE and extract X1 and X3 ++ u8[0x4], u8[0x1], u8[0xE], u8[0xB], // SubBytes(X1) ++ u8[0x1], u8[0xE], u8[0xB], u8[0x4], // ROT(SubBytes(X1)) ++ u8[0xC], u8[0x9], u8[0x6], u8[0x3], // SubBytes(X3) ++ u8[0x9], u8[0x6], u8[0x3], u8[0xC], // ROT(SubBytes(X3)) ++ }; ++ uint32x4_t r = {0, (unsigned) rcon, 0, (unsigned) rcon}; ++ return vreinterpretq_m128i_u8(dest) ^ vreinterpretq_m128i_u32(r); ++#else ++ // We have to do this hack because MSVC is strictly adhering to the CPP ++ // standard, in particular C++03 8.5.1 sub-section 15, which states that ++ // unions must be initialized by their first member type. ++ ++ // As per the Windows ARM64 ABI, it is always little endian, so this works ++ __n128 dest{ ++ ((uint64_t) u8.n128_u8[0x4] << 0) | ((uint64_t) u8.n128_u8[0x1] << 8) | ++ ((uint64_t) u8.n128_u8[0xE] << 16) | ++ ((uint64_t) u8.n128_u8[0xB] << 24) | ++ ((uint64_t) u8.n128_u8[0x1] << 32) | ++ ((uint64_t) u8.n128_u8[0xE] << 40) | ++ ((uint64_t) u8.n128_u8[0xB] << 48) | ++ ((uint64_t) u8.n128_u8[0x4] << 56), ++ ((uint64_t) u8.n128_u8[0xC] << 0) | ((uint64_t) u8.n128_u8[0x9] << 8) | ++ ((uint64_t) u8.n128_u8[0x6] << 16) | ++ ((uint64_t) u8.n128_u8[0x3] << 24) | ++ ((uint64_t) u8.n128_u8[0x9] << 32) | ++ ((uint64_t) u8.n128_u8[0x6] << 40) | ++ ((uint64_t) u8.n128_u8[0x3] << 48) | ++ ((uint64_t) u8.n128_u8[0xC] << 56)}; ++ ++ dest.n128_u32[1] = dest.n128_u32[1] ^ rcon; ++ dest.n128_u32[3] = dest.n128_u32[3] ^ rcon; ++ ++ return dest; ++#endif ++} ++#endif ++ ++/* Others */ ++ ++// Perform a carry-less multiplication of two 64-bit integers, selected from a ++// and b according to imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clmulepi64_si128 ++FORCE_INLINE __m128i _mm_clmulepi64_si128(__m128i _a, __m128i _b, const int imm) ++{ ++ uint64x2_t a = vreinterpretq_u64_m128i(_a); ++ uint64x2_t b = vreinterpretq_u64_m128i(_b); ++ switch (imm & 0x11) { ++ case 0x00: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_low_u64(b))); ++ case 0x01: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_low_u64(b))); ++ case 0x10: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_high_u64(b))); ++ case 0x11: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_high_u64(b))); ++ default: ++ abort(); ++ } ++} ++ ++FORCE_INLINE unsigned int _sse2neon_mm_get_denormals_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_DENORMALS_ZERO_ON : _MM_DENORMALS_ZERO_OFF; ++} ++ ++// Count the number of bits set to 1 in unsigned 32-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u32 ++FORCE_INLINE int _mm_popcnt_u32(unsigned int a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcount) ++ return __builtin_popcount(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits(a); ++#else ++ return (int) vaddlv_u8(vcnt_u8(vcreate_u8((uint64_t) a))); ++#endif ++#else ++ uint32_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ ++ vst1_u32(&count, count32x2_val); ++ return count; ++#endif ++} ++ ++// Count the number of bits set to 1 in unsigned 64-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u64 ++FORCE_INLINE int64_t _mm_popcnt_u64(uint64_t a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcountll) ++ return __builtin_popcountll(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits64(a); ++#else ++ return (int64_t) vaddlv_u8(vcnt_u8(vcreate_u8(a))); ++#endif ++#else ++ uint64_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ uint64x1_t count64x1_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ count64x1_val = vpaddl_u32(count32x2_val); ++ vst1_u64(&count, count64x1_val); ++ return count; ++#endif ++} ++ ++FORCE_INLINE void _sse2neon_mm_set_denormals_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_DENORMALS_ZERO_MASK) == _MM_DENORMALS_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Return the current 64-bit value of the processor's time-stamp counter. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=rdtsc ++FORCE_INLINE uint64_t _rdtsc(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t val; ++ ++ /* According to ARM DDI 0487F.c, from Armv8.0 to Armv8.5 inclusive, the ++ * system counter is at least 56 bits wide; from Armv8.6, the counter ++ * must be 64 bits wide. So the system counter could be less than 64 ++ * bits wide and it is attributed with the flag 'cap_user_time_short' ++ * is true. ++ */ ++#if defined(_MSC_VER) ++ val = _ReadStatusReg(ARM64_SYSREG(3, 3, 14, 0, 2)); ++#else ++ __asm__ __volatile__("mrs %0, cntvct_el0" : "=r"(val)); ++#endif ++ ++ return val; ++#else ++ uint32_t pmccntr, pmuseren, pmcntenset; ++ // Read the user mode Performance Monitoring Unit (PMU) ++ // User Enable Register (PMUSERENR) access permissions. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c14, 0" : "=r"(pmuseren)); ++ if (pmuseren & 1) { // Allows reading PMUSERENR for user mode code. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c12, 1" : "=r"(pmcntenset)); ++ if (pmcntenset & 0x80000000UL) { // Is it counting? ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c13, 0" : "=r"(pmccntr)); ++ // The counter is set up to count every 64th cycle ++ return (uint64_t) (pmccntr) << 6; ++ } ++ } ++ ++ // Fallback to syscall as we can't enable PMUSERENR in user mode. ++ struct timeval tv; ++ gettimeofday(&tv, NULL); ++ return (uint64_t) (tv.tv_sec) * 1000000 + tv.tv_usec; ++#endif ++} ++ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma pop_macro("ALIGN_STRUCT") ++#pragma pop_macro("FORCE_INLINE") ++#pragma pop_macro("FORCE_INLINE_OPTNONE") ++#endif ++ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma GCC pop_options ++#endif ++ ++#endif +diff --git c/utils.h i/utils.h +index a86747e..9449dfa 100644 +--- c/utils.h ++++ i/utils.h +@@ -6,7 +6,12 @@ + #include + #include + #include ++ ++#ifdef __ARM_NEON ++#include "sse2neon.h" ++#else + #include ++#endif + + #include "libs/ssw.h" + #include "libs/ssw_cpp.h" diff --git a/recipes/insurveyor/build.sh b/recipes/insurveyor/build.sh index ad41ce59ba618..8223fd07e1f8f 100644 --- a/recipes/insurveyor/build.sh +++ b/recipes/insurveyor/build.sh @@ -1,4 +1,15 @@ -set -x +#!/bin/bash -ex + +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CXXFLAGS="${CXXFLAGS} -O3 -I${PREFIX}/include ${LDFLAGS}" + +mkdir -p ${PREFIX}/bin + +cmake -S . -B build \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX="${PREFIX}" \ + -DCMAKE_CXX_COMPILER="${CXX}" \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" ${CXX} ${CPPFLAGS} ${CXXFLAGS} ${LDFLAGS} reads_categorizer.cpp -o reads_categorizer -pthread -lhts ${CXX} ${CPPFLAGS} ${CXXFLAGS} ${LDFLAGS} clip_consensus_builder.cpp -o clip_consensus_builder -pthread -lhts @@ -8,13 +19,5 @@ ${CXX} ${CPPFLAGS} ${CXXFLAGS} ${LDFLAGS} add_filtering_info.cpp -o add_filterin ${CXX} ${CPPFLAGS} ${CXXFLAGS} ${LDFLAGS} filter.cpp -o filter -pthread -lhts ${CXX} ${CPPFLAGS} ${CXXFLAGS} ${LDFLAGS} normalise.cpp -o normalise -pthread -lhts -cp reads_categorizer $PREFIX/bin/ -cp clip_consensus_builder $PREFIX/bin/ -cp call_insertions $PREFIX/bin/ -cp dc_remapper $PREFIX/bin/ -cp add_filtering_info $PREFIX/bin/ -cp filter $PREFIX/bin/ -cp normalise $PREFIX/bin/ - -cp insurveyor.py $PREFIX/bin/ -cp random_pos_generator.py $PREFIX/bin/ +cp -rf reads_categorizer clip_consensus_builder call_insertions dc_remapper add_filtering_info \ + filter normalise insurveyor.py random_pos_generator.py ${PREFIX}/bin/ diff --git a/recipes/insurveyor/meta.yaml b/recipes/insurveyor/meta.yaml index e3699705f2464..8db223d4c12d2 100644 --- a/recipes/insurveyor/meta.yaml +++ b/recipes/insurveyor/meta.yaml @@ -1,5 +1,5 @@ {% set name = "insurveyor" %} -{% set version = "1.1.2" %} +{% set version = "1.1.3" %} package: name: {{ name|lower }} @@ -7,19 +7,27 @@ package: source: url: https://github.com/kensung-lab/INSurVeyor/archive/refs/tags/{{ version }}.tar.gz - sha256: ac4d2e16f6f884e6da82a1090af744ba8b63657a1f2719b4f8ff266a26c73549 + sha256: 0099ce859dd1b61b726b87ca26d7b89dabb34cab27afc97a5696780260b27304 + patches: + - INSurVeyor-aarch64.patch # [aarch64 or arm64] build: - number: 0 + number: 1 + run_exports: + - {{ pin_subpackage('insurveyor', max_pin="x") }} requirements: build: - {{ compiler('cxx') }} + - cmake + - make + - autoconf host: - htslib >=1.13 + - zlib run: - - pysam >=0.16.0.1, <0.21 - - pyfaidx >=0.5.9.1, <0.8 + - pysam >=0.16.0.1 + - pyfaidx >=0.5.9.1 - numpy test: @@ -38,8 +46,15 @@ about: description: | INSurVeyor is a fast and accurate SV insertion caller for Illumina paired-end WGS data. license: GPL-3.0-only + license_family: GPL3 license_file: LICENSE + dev_url: https://github.com/kensung-lab/INSurVeyor extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - Mesh89 + identifiers: + - doi:10.1038/s41467-023-38870-2 diff --git a/recipes/intarna/2.x/build_failure.osx-64.yaml b/recipes/intarna/2.x/build_failure.osx-64.yaml index 801189f24c893..ba967a602efa2 100644 --- a/recipes/intarna/2.x/build_failure.osx-64.yaml +++ b/recipes/intarna/2.x/build_failure.osx-64.yaml @@ -1,104 +1,39 @@ -recipe_sha: 28bf805820850f93e5aa6fef042d0174a74787defba60ba820b05856cfa80106 # The commit at which this recipe failed to build. +recipe_sha: 648983cbd9e4c8e3449ae40f49260473c3a4388187e3f657f43f8d4a76beb773 # The hash of the recipe's meta.yaml at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |- - make[3]: Leaving directory '$SRC_DIR/src/IntaRNA' - Making all in bin - make[3]: Entering directory '$SRC_DIR/src/bin' - make[3]: Nothing to be done for 'all'. - make[3]: Leaving directory '$SRC_DIR/src/bin' - make[2]: Leaving directory '$SRC_DIR/src' - make[1]: Leaving directory '$SRC_DIR/src' - Making all in perl - make[1]: Entering directory '$SRC_DIR/perl' - make[1]: Nothing to be done for 'all'. - make[1]: Leaving directory '$SRC_DIR/perl' - Making all in tests - make[1]: Entering directory '$SRC_DIR/tests' - make[1]: Nothing to be done for 'all'. - make[1]: Leaving directory '$SRC_DIR/tests' - Making all in doc - make[1]: Entering directory '$SRC_DIR/doc' - make[1]: Nothing to be done for 'all'. - make[1]: Leaving directory '$SRC_DIR/doc' - Making all in . - make[1]: Entering directory '$SRC_DIR' - make[1]: Nothing to be done for 'all-am'. - make[1]: Leaving directory '$SRC_DIR' - - => compiling and running tests ... will take a while ... - - CXX runApiTests-AccessibilityFromStream_test.o - CXX runApiTests-AccessibilityConstraint_test.o - CXX runApiTests-AccessibilityBasePair_test.o - CXX runApiTests-HelixConstraint_test.o - CXX runApiTests-HelixHandlerStackingOnly_test.o - CXX runApiTests-HelixHandlerStackingOnlyIdxOffset_test.o - CXX runApiTests-HelixHandlerStackingOnlySeed_test.o - CXX runApiTests-HelixHandlerStackingOnlySeedIdxOffset_test.o - CXX runApiTests-HelixHandlerUnpaired_test.o - CXX runApiTests-HelixHandlerUnpairedIdxOffset_test.o - CXX runApiTests-HelixHandlerUnpairedSeed_test.o - CXX runApiTests-HelixHandlerUnpairedSeedIdxOffset_test.o - CXX runApiTests-IndexRange_test.o - CXX runApiTests-IndexRangeList_test.o - CXX runApiTests-Interaction_test.o - CXX runApiTests-InteractionEnergyBasePair_test.o - CXX runApiTests-InteractionRange_test.o - CXX runApiTests-PredictionTrackerProfileMinE_test.o - CXX runApiTests-PredictorMfe2dHelixHeuristic_test.o - CXX runApiTests-PredictorMfe2dHelixHeuristicSeed_test.o - CXX runApiTests-PredictionTrackerSpotProb_test.o - CXX runApiTests-NussinovHandler_test.o - CXX runApiTests-RnaSequence_test.o - CXX runApiTests-OutputHandlerRangeOnly_test.o - CXX runApiTests-OutputHandlerInteractionList_test.o - CXX runApiTests-SeedHandlerExplicit_test.o - CXX runApiTests-SeedHandlerNoBulge_test.o - CXX runApiTests-SeedHandlerMfe_test.o - CXX runApiTests-SeedHandlerIdxOffset_test.o - CXX runApiTests-runTests.o - In file included from runTests.cpp:12: - In file included from ../src/easylogging.h:385: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/intarna_1685395338240/_build_env/bin/../include/c/v1/string:576: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/intarna_1685395338240/_build_env/bin/../include/c/v1/string_view:1025: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/intarna_1685395338240/_build_env/bin/../include/c/v1/algorithm:1848: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/intarna_1685395338240/_build_env/bin/../include/c/v1/__algorithm/ranges_sample.h:13: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/intarna_1685395338240/_build_env/bin/../include/c/v1/__algorithm/sample.h:18: - /opt/mambaforge/envs/bioconda/conda-bld/intarna_1685395338240/_build_env/bin/../include/c/v1/__random/uniform_int_distribution.h:234:5: error: static assertion failed due to requirement '__libcpp_random_is_valid_urng::value': - static_assert(__libcpp_random_is_valid_urng<_URNG>::value, ""); - ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - /opt/mambaforge/envs/bioconda/conda-bld/intarna_1685395338240/_build_env/bin/../include/c/v1/__algorithm/shuffle.h:155:35: note: in instantiation of function template specialization 'std::uniform_int_distribution::operator()' requested here - difference_type __i = __uid(__g, _Pp(0, __d)); - ^ - /opt/mambaforge/envs/bioconda/conda-bld/intarna_1685395338240/_build_env/bin/../include/c/v1/__algorithm/shuffle.h:167:14: note: in instantiation of function template specialization 'std::__shuffle, std::__wrap_iter, Catch::RandomNumberGenerator &>' requested here - (void)std::__shuffle<_ClassicAlgPolicy>( - ^ - ./catch.hpp:6477:18: note: in instantiation of function template specialization 'std::shuffle, Catch::RandomNumberGenerator &>' requested here - std::shuffle( vector.begin(), vector.end(), rng ); - ^ - ./catch.hpp:6495:44: note: in instantiation of function template specialization 'Catch::RandomNumberGenerator::shuffle>' requested here - RandomNumberGenerator::shuffle( sorted ); - ^ - 1 error generated. - make[2]: *** [Makefile:930: runApiTests-runTests.o] Error 1 - make[1]: *** [Makefile:1119: check-am] Error 2 - make: *** [Makefile:878: tests] Error 2 - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/intarna_1685395338240/work/conda_build.sh']' returned non-zero exit status 2. -# Last 100 lines of the build log. +category: compiler error +log: |2- + 16:34:09 BIOCONDA INFO (ERR) In file included from runTests.cpp:12: + 16:34:09 BIOCONDA INFO (ERR) In file included from ../src/easylogging++.h:385: + 16:34:09 BIOCONDA INFO (ERR) In file included from /opt/mambaforge/envs/bioconda/conda-bld/intarna_1718123285885/_build_env/bin/../include/c++/v1/string:622: + 16:34:09 BIOCONDA INFO (ERR) In file included from /opt/mambaforge/envs/bioconda/conda-bld/intarna_1718123285885/_build_env/bin/../include/c++/v1/string_view:1059: + 16:34:09 BIOCONDA INFO (ERR) In file included from /opt/mambaforge/envs/bioconda/conda-bld/intarna_1718123285885/_build_env/bin/../include/c++/v1/algorithm:1893: + 16:34:09 BIOCONDA INFO (ERR) In file included from /opt/mambaforge/envs/bioconda/conda-bld/intarna_1718123285885/_build_env/bin/../include/c++/v1/__algorithm/ranges_sample.h:13: + 16:34:09 BIOCONDA INFO (ERR) In file included from /opt/mambaforge/envs/bioconda/conda-bld/intarna_1718123285885/_build_env/bin/../include/c++/v1/__algorithm/sample.h:18: + 16:34:09 BIOCONDA INFO (ERR) /opt/mambaforge/envs/bioconda/conda-bld/intarna_1718123285885/_build_env/bin/../include/c++/v1/__random/uniform_int_distribution.h:237:5: error: static assertion failed due to requirement '__libcpp_random_is_valid_urng::value': + 16:34:09 BIOCONDA INFO (ERR) static_assert(__libcpp_random_is_valid_urng<_URNG>::value, ""); + 16:34:09 BIOCONDA INFO (ERR) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 16:34:09 BIOCONDA INFO (ERR) /opt/mambaforge/envs/bioconda/conda-bld/intarna_1718123285885/_build_env/bin/../include/c++/v1/__algorithm/shuffle.h:154:35: note: in instantiation of function template specialization 'std::uniform_int_distribution::operator()' requested here + 16:34:09 BIOCONDA INFO (ERR) difference_type __i = __uid(__g, _Pp(0, __d)); + 16:34:09 BIOCONDA INFO (ERR) ^ + 16:34:09 BIOCONDA INFO (ERR) /opt/mambaforge/envs/bioconda/conda-bld/intarna_1718123285885/_build_env/bin/../include/c++/v1/__algorithm/shuffle.h:166:14: note: in instantiation of function template specialization 'std::__shuffle, std::__wrap_iter, Catch::RandomNumberGenerator &>' requested here + 16:34:09 BIOCONDA INFO (ERR) (void)std::__shuffle<_ClassicAlgPolicy>( + 16:34:09 BIOCONDA INFO (ERR) ^ + 16:34:09 BIOCONDA INFO (ERR) ./catch.hpp:6477:18: note: in instantiation of function template specialization 'std::shuffle, Catch::RandomNumberGenerator &>' requested here + 16:34:09 BIOCONDA INFO (ERR) std::shuffle( vector.begin(), vector.end(), rng ); + 16:34:09 BIOCONDA INFO (ERR) ^ + 16:34:09 BIOCONDA INFO (ERR) ./catch.hpp:6495:44: note: in instantiation of function template specialization 'Catch::RandomNumberGenerator::shuffle>' requested here + 16:34:09 BIOCONDA INFO (ERR) RandomNumberGenerator::shuffle( sorted ); + 16:34:09 BIOCONDA INFO (ERR) ^ + 16:34:09 BIOCONDA INFO (ERR) 1 error generated. + 16:34:09 BIOCONDA INFO (ERR) make[2]: *** [Makefile:930: runApiTests-runTests.o] Error 1 + 16:34:09 BIOCONDA INFO (ERR) make[1]: *** [Makefile:1119: check-am] Error 2 + 16:34:09 BIOCONDA INFO (ERR) make: *** [Makefile:878: tests] Error 2 + 16:34:10 BIOCONDA INFO (OUT) Extracting download + 16:34:10 BIOCONDA INFO (ERR) Traceback (most recent call last): + 16:34:10 BIOCONDA INFO (OUT) source tree in: /opt/mambaforge/envs/bioconda/conda-bld/intarna_1718123285885/work + 16:34:10 BIOCONDA INFO (OUT) export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/intarna_1718123285885/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh + 16:34:10 BIOCONDA INFO (OUT) export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/intarna_1718123285885/_build_env + 16:34:10 BIOCONDA INFO (ERR) File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + 16:34:10 BIOCONDA INFO (ERR) sys.exit(execute()) + 16:34:10 BIOCONDA INFO (ERR) File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + 16:34:10 BIOCONDA INFO (ERR) api.build( \ No newline at end of file diff --git a/recipes/intarna/2.x/meta.yaml b/recipes/intarna/2.x/meta.yaml index 81a0da1247153..861d005abb03b 100644 --- a/recipes/intarna/2.x/meta.yaml +++ b/recipes/intarna/2.x/meta.yaml @@ -12,7 +12,7 @@ about: summary: Efficient RNA-RNA interaction prediction incorporating seeding and accessibility of interacting sites build: - number: 3 + number: 4 source: url: "https://github.com/BackofenLab/IntaRNA/releases/download/v{{INTARNA_VERSION}}/intaRNA-{{INTARNA_VERSION}}.tar.gz" diff --git a/recipes/intarna/build.sh b/recipes/intarna/build.sh index fd174c6efa2cd..5e5ab3a2b0308 100644 --- a/recipes/intarna/build.sh +++ b/recipes/intarna/build.sh @@ -34,5 +34,7 @@ export LDFLAGS=${LDFLAGS} make -j ${CPU_COUNT} -make tests -j ${CPU_COUNT} +if [ `uname` != Darwin ] ; then # skip tests for osx to avoid timeout + make tests -j ${CPU_COUNT} +fi make install diff --git a/recipes/intarna/build_failure.osx-64.yaml b/recipes/intarna/build_failure.osx-64.yaml deleted file mode 100644 index aeac4e79f9ce6..0000000000000 --- a/recipes/intarna/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: a38a2950d517482573a5930015c6334d5576802956592700b41dae48c47c7150 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |- - make[1]: Entering directory '$SRC_DIR/tests' - Making all in data - make[2]: Entering directory '$SRC_DIR/tests/data' - make[2]: Nothing to be done for 'all'. - make[2]: Leaving directory '$SRC_DIR/tests/data' - Making all in . - make[2]: Entering directory '$SRC_DIR/tests' - make[2]: Nothing to be done for 'all-am'. - make[2]: Leaving directory '$SRC_DIR/tests' - make[1]: Leaving directory '$SRC_DIR/tests' - Making all in doc - make[1]: Entering directory '$SRC_DIR/doc' - make[1]: Nothing to be done for 'all'. - make[1]: Leaving directory '$SRC_DIR/doc' - Making all in . - make[1]: Entering directory '$SRC_DIR' - make[1]: Nothing to be done for 'all-am'. - make[1]: Leaving directory '$SRC_DIR' - - => compiling and running tests ... will take a while ... - - Making check in data - Making check in . - CXX runApiTests-AccessibilityConstraint_test.o - CXX runApiTests-AccessibilityFromStream_test.o - CXX runApiTests-AccessibilityBasePair_test.o - CXX runApiTests-AccessibilityVrna_test.o - CXX runApiTests-HelixConstraint_test.o - CXX runApiTests-HelixHandlerNoBulgeMax_test.o - CXX runApiTests-HelixHandlerNoBulgeMaxSeed_test.o - CXX runApiTests-HelixHandlerNoBulgeMaxIdxOffset_test.o - CXX runApiTests-HelixHandlerNoBulgeMaxSeedIdxOffset_test.o - CXX runApiTests-HelixHandlerUnpaired_test.o - CXX runApiTests-HelixHandlerUnpairedIdxOffset_test.o - CXX runApiTests-HelixHandlerUnpairedSeed_test.o - CXX runApiTests-HelixHandlerUnpairedSeedIdxOffset_test.o - CXX runApiTests-IndexRange_test.o - CXX runApiTests-IndexRangeList_test.o - CXX runApiTests-Interaction_test.o - CXX runApiTests-InteractionEnergyBasePair_test.o - CXX runApiTests-InteractionRange_test.o - CXX runApiTests-PredictionTrackerProfileMinE_test.o - CXX runApiTests-PredictionTrackerSpotProb_test.o - CXX runApiTests-PredictorMfe2dHelixBlockHeuristic_test.o - CXX runApiTests-PredictorMfe2dHelixBlockHeuristicSeed_test.o - CXX runApiTests-NussinovHandler_test.o - CXX runApiTests-RnaSequence_test.o - CXX runApiTests-OutputStreamHandlerSortedCsv_test.o - CXX runApiTests-OutputHandlerInteractionList_test.o - CXX runApiTests-SeedHandlerExplicit_test.o - CXX runApiTests-SeedHandlerNoBulge_test.o - CXX runApiTests-SeedHandlerMfe_test.o - CXX runApiTests-SeedHandlerIdxOffset_test.o - CXX runApiTests-runApiTests.o - In file included from runApiTests.cpp:12: - In file included from ../src/easylogging.h:385: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/intarna_1685395867724/_build_env/bin/../include/c/v1/string:576: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/intarna_1685395867724/_build_env/bin/../include/c/v1/string_view:1025: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/intarna_1685395867724/_build_env/bin/../include/c/v1/algorithm:1848: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/intarna_1685395867724/_build_env/bin/../include/c/v1/__algorithm/ranges_sample.h:13: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/intarna_1685395867724/_build_env/bin/../include/c/v1/__algorithm/sample.h:18: - /opt/mambaforge/envs/bioconda/conda-bld/intarna_1685395867724/_build_env/bin/../include/c/v1/__random/uniform_int_distribution.h:234:5: error: static assertion failed due to requirement '__libcpp_random_is_valid_urng::value': - static_assert(__libcpp_random_is_valid_urng<_URNG>::value, ""); - ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - /opt/mambaforge/envs/bioconda/conda-bld/intarna_1685395867724/_build_env/bin/../include/c/v1/__algorithm/shuffle.h:155:35: note: in instantiation of function template specialization 'std::uniform_int_distribution::operator()' requested here - difference_type __i = __uid(__g, _Pp(0, __d)); - ^ - /opt/mambaforge/envs/bioconda/conda-bld/intarna_1685395867724/_build_env/bin/../include/c/v1/__algorithm/shuffle.h:167:14: note: in instantiation of function template specialization 'std::__shuffle, std::__wrap_iter, Catch::RandomNumberGenerator &>' requested here - (void)std::__shuffle<_ClassicAlgPolicy>( - ^ - ./catch.hpp:6477:18: note: in instantiation of function template specialization 'std::shuffle, Catch::RandomNumberGenerator &>' requested here - std::shuffle( vector.begin(), vector.end(), rng ); - ^ - ./catch.hpp:6495:44: note: in instantiation of function template specialization 'Catch::RandomNumberGenerator::shuffle>' requested here - RandomNumberGenerator::shuffle( sorted ); - ^ - 1 error generated. - make[3]: *** [Makefile:1239: runApiTests-runApiTests.o] Error 1 - make[2]: *** [Makefile:1573: check-am] Error 2 - make[1]: *** [Makefile:1259: check-recursive] Error 1 - cat: tests/test-suite.log: No such file or directory - make: *** [Makefile:911: tests] Error 1 - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/intarna_1685395867724/work/conda_build.sh']' returned non-zero exit status 2. -# Last 100 lines of the build log. diff --git a/recipes/intarna/meta.yaml b/recipes/intarna/meta.yaml index 26009b219a7b8..534cc11818644 100644 --- a/recipes/intarna/meta.yaml +++ b/recipes/intarna/meta.yaml @@ -1,5 +1,5 @@ -{% set INTARNA_VERSION = "3.3.2" %} -{% set INTARNA_SHA256 = "57d273fa5bb6b62636e316465240b95089273e7e9e34224ea48c9cd747e88ed1" %} +{% set INTARNA_VERSION = "3.4.1" %} +{% set INTARNA_SHA256 = "4fd338a9a7a62f4398a27f41783120abaad9bccdecd39387c436adb0601f0ed8" %} {% set VRNA_VERSION = "2.4.14" %} package: @@ -12,7 +12,9 @@ about: summary: Efficient RNA-RNA interaction prediction incorporating seeding and accessibility of interacting sites build: - number: 1 + number: 0 + run_exports: + - {{ pin_subpackage('intarna', max_pin="x.x") }} source: url: "https://github.com/BackofenLab/IntaRNA/releases/download/v{{INTARNA_VERSION}}/intaRNA-{{INTARNA_VERSION}}.tar.gz" @@ -41,6 +43,8 @@ test: - IntaRNA -t CCCCCCCCGGGGGGGGGGGGGG -q CCCCCCC extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:intarna - doi:10.1093/nar/gkx279 diff --git a/recipes/integron_finder/meta.yaml b/recipes/integron_finder/meta.yaml index ddbeab522060d..b31e14e13942a 100644 --- a/recipes/integron_finder/meta.yaml +++ b/recipes/integron_finder/meta.yaml @@ -1,46 +1,59 @@ -{% set name="integron_finder" %} -{% set version="2.0.2" %} +{% set name = "integron_finder" %} +{% set version = "2.0.5" %} package: - name: {{ name }} + name: {{ name|lower }} version: {{ version }} +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/integron_finder-{{ version }}.tar.gz + sha256: ddfe9ad2a0a27bd2a116e77f578126f59f32c21c7be2dd7fbd56b43bc9dba919 + build: + entry_points: + - integron_finder=integron_finder.scripts.finder:main + - integron_split=integron_finder.scripts.split:main + - integron_merge=integron_finder.scripts.merge:main noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation number: 0 - script: python -m pip install --no-deps --ignore-installed . - -source: - url: https://files.pythonhosted.org/packages/4a/39/816165ed051a41560c9167590bf974a83de34e5a43509e9501f79cdf4ba4/integron_finder-2.0.2.tar.gz - sha256: 62444c43895c2b68289bc7ceaa2da417766c82852b5ecf1c3280e41ba3beaa6f + run_exports: + - {{ pin_subpackage('integron_finder', max_pin="x") }} requirements: host: - - python >=3.7,<=3.10 + - python >=3.10 - pip run: - - python >=3.7,<=3.10 - - biopython ==1.78 - - numpy ==1.19.4 - - matplotlib-base ==3.3.3 - - colorlog <=6.6.0 - - pandas ==1.1.5 + - python >=3.10 + - numpy >=1.26 + - matplotlib-base >=3.8 + - pandas >=2 + - biopython >=1.82 + - colorlog - hmmer >=3.1b2,<=3.3.2 - infernal >=1.1.2,<=1.1.4 - prodigal >=2.6.3 test: + imports: + - integron_finder commands: - - integron_finder --version + - integron_finder --help + - integron_split --help + - integron_merge --help about: - home: https://github.com/gem-pasteur/Integron_Finder - license: 'GPLv3' + home: https://github.com/gem-pasteur/Integron_Finder/ + summary: Integron Finder aims at detecting integrons in DNA sequences + license: GPL-3.0-or-later + license_family: GPL3 license_file: COPYING - summary: 'Finds integrons in DNA sequences' + doc_url: https://integronfinder.readthedocs.io/en/latest/ + dev_url: https://github.com/gem-pasteur/Integron_Finder/ extra: recipe-maintainers: - - thanhleviet - doi: - - 10.1093/nar/gkw319 + - bneron + identifiers: + - doi:10.3390/microorganisms10040700 diff --git a/recipes/ionquant/academic_install.py b/recipes/ionquant/academic_install.py new file mode 100755 index 0000000000000..fb4adafac6868 --- /dev/null +++ b/recipes/ionquant/academic_install.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python3 + +# Automates accepting the academic license agreements in order to download IonQuant. A user of this package is then expected to accept the terms themselves when they download a license key from the IonQuant site, which is enforced by the wrapper script and IonQuant jar file. + +import argparse +import hashlib +import os +import re +import sys +import urllib.request +import urllib.parse + +IONQUANT_URL = 'http://msfragger-upgrader.nesvilab.org/ionquant/upgrade_download.php' +DOWNLOAD_READ_SIZE = 1000000 + +def download_url(url, post_dict, dest): + data = urllib.parse.urlencode(post_dict).encode('ascii') + with open(dest, 'wb') as wh: + size = 0 + m = hashlib.sha256() + with urllib.request.urlopen(url, data) as f: + while True: + seg = f.read(DOWNLOAD_READ_SIZE) + m.update(seg) + bytes_read = len(seg) + if bytes_read < 1: + break + size += bytes_read + wh.write(seg) + + return m.hexdigest() + +def parse_version(version_string): + version_pattern = '([\\d.]+)' + m = re.search(version_pattern, version_string.strip()) + if m: + return m.groups()[0] + return None + +parser = argparse.ArgumentParser( + description="Download IonQuant zip file." +) +parser.add_argument( + '-n', '--name', help='user name' +) +parser.add_argument( + '-e', '--email', help='email' +) +parser.add_argument( + '-o', '--organization', help='institutional organization' +) +parser.add_argument( + '-i', '--ionquant_version', help='IonQuant version', required=True +) +parser.add_argument( + '-p', '--path', default='.', help='path in which to install' +) +parser.add_argument( + '--hash', default='.', help='SHA256 hash of downloaded zip' +) + +args = parser.parse_args() +iq_ver = parse_version(args.ionquant_version) +if iq_ver == None: + print(f'Could not find version: {args.ionquant_version}', file=sys.stderr) + sys.exit(1) + +iq_zip = iq_ver + '$zip' +dest = os.path.join(args.path, 'IonQuant-' + iq_ver + '.zip') +data = {'transfer': 'academic', 'agreement1': 'true', 'name': args.name, 'email' : args.email, 'organization' : args.organization, 'download': iq_zip} + +if download_url(IONQUANT_URL, data, dest) != args.hash: + print('Invalid hash calculated.', file=sys.stderr) + sys.exit(1) diff --git a/recipes/ionquant/build.sh b/recipes/ionquant/build.sh new file mode 100644 index 0000000000000..2d90fc8dea952 --- /dev/null +++ b/recipes/ionquant/build.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +# These values are submitted to the IonQuant site when downloading the application zip. +if [[ -z "$NAME" ]]; then + NAME="${USERNAME:-bioconda}"; +fi +if [[ -z "$EMAIL" ]]; then + EMAIL="${NAME}@${HOSTNAME:-bioconda.org}"; +fi +if [[ -z "$INSTITUTION" ]]; then + INSTITUTION="${HOSTNAME:-bioconda.org}"; +fi + +# Create directories +TARGET="$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM" +mkdir -p "$TARGET" + +# Add wrapper python script and link to unprefixed name. +cp "$RECIPE_DIR/ionquant.py" "$TARGET" +ln -s "$TARGET/ionquant.py" "$PREFIX/bin/ionquant" +chmod 0755 "${PREFIX}/bin/ionquant" + +# This script automates accepting the academic license agreements in order to download the software and build the package. A user of this package is then expected to accept the terms themselves when they download a license key from the IonQuant site, which is enforced by the wrapper script and IonQuant jar file. +"${RECIPE_DIR}/academic_install.py" -n galaxy -e "$EMAIL" -o "$INSTITUTION" -i "$PKG_VERSION" -p "$TARGET" --hash "$SHA256SUM" +if [[ $? -ne 0 ]]; then + echo "Problem downloading jar file." > /dev/stderr + exit 1; +fi + +# Unzip and link jar. +cd "$TARGET" +unzip "IonQuant-$PKG_VERSION.zip" +ln -s "IonQuant-$PKG_VERSION/IonQuant-$PKG_VERSION.jar" "IonQuant.jar" +rm "IonQuant-$PKG_VERSION.zip" diff --git a/recipes/ionquant/ionquant.py b/recipes/ionquant/ionquant.py new file mode 100755 index 0000000000000..a56491cf08d33 --- /dev/null +++ b/recipes/ionquant/ionquant.py @@ -0,0 +1,86 @@ +#!/usr/bin/env python +# +# Wrapper script for Java Conda packages that ensures that the java runtime +# is invoked with the right options. Adapted from the bash script (http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in/246128#246128). +# + +import os +import sys +import subprocess +from os import access, getenv, X_OK + +jar_file = os.path.join(os.path.dirname(os.path.realpath(__file__)), "IonQuant.jar") + +default_jvm_mem_opts = ['-Xms512m', '-Xmx1g'] + +license_agreement_text = ''' +Please provide pass a license key with the --key argument. You may obtain a key by agreeing to the terms at https://msfragger.arsci.com/ionquant/. +''' + +def real_dirname(path): + """Return the symlink-resolved, canonicalized directory-portion of path.""" + return os.path.dirname(os.path.realpath(path)) + + +def java_executable(): + """Return the executable name of the Java interpreter.""" + java_home = getenv('JAVA_HOME') + java_bin = os.path.join('bin', 'java') + + if java_home and access(os.path.join(java_home, java_bin), X_OK): + return os.path.join(java_home, java_bin) + else: + return 'java' + + +def jvm_opts(argv): + """Construct list of Java arguments based on our argument list. + + The argument list passed in argv must not include the script name. + The return value is a 3-tuple lists of strings of the form: + (memory_options, prop_options, passthrough_options) + """ + mem_opts = [] + prop_opts = [] + pass_args = [] + + for arg in argv: + if arg.startswith('-D'): + prop_opts.append(arg) + elif arg.startswith('-XX'): + prop_opts.append(arg) + elif arg.startswith('-Xm'): + mem_opts.append(arg) + else: + pass_args.append(arg) + + # In the original shell script the test coded below read: + # if [ "$jvm_mem_opts" == "" ] && [ -z ${_JAVA_OPTIONS+x} ] + # To reproduce the behaviour of the above shell code fragment + # it is important to explictly check for equality with None + # in the second condition, so a null envar value counts as True! + + if mem_opts == [] and getenv('_JAVA_OPTIONS') == None: + mem_opts = default_jvm_mem_opts + + return (mem_opts, prop_opts, pass_args) + + +def main(): + java = java_executable() + jar_dir = real_dirname(sys.argv[0]) + jar_path = os.path.join(jar_dir, jar_file) + jar_arg = '-jar' + + (mem_opts, prop_opts, pass_args) = jvm_opts(sys.argv[1:]) + + if '--key' not in sys.argv: + print(license_agreement_text) + sys.exit(1) + + java_args = [java] + mem_opts + prop_opts + [jar_arg] + [jar_path] + pass_args + + sys.exit(subprocess.call(java_args)) + +if __name__ == '__main__': + main() diff --git a/recipes/ionquant/meta.yaml b/recipes/ionquant/meta.yaml new file mode 100644 index 0000000000000..aa9cf7e1b9ded --- /dev/null +++ b/recipes/ionquant/meta.yaml @@ -0,0 +1,50 @@ +{% set version = "1.10.12" %} + +# This key was generated ONLY for the testing of this bioconda package. +# Users must generate their own key by agreeing to the terms at https://msfragger.arsci.com/ionquant/IonQuant%20Academic%20Use%20License%2005162022.pdf. +{% set academic_use_only_key = "47cb2953-b4bf7726-2c96f5fe-8f1013aa" %} +{% set sha256sum = "861a633ab815a34ea54e6e26f318e19b510b25cb8955f3daeb83d6d10c6938ea" %} + +package: + name: ionquant + version: {{ version }} + +build: + number: 1 + noarch: generic + run_exports: + - {{ pin_subpackage('ionquant', max_pin="x.x") }} + script_env: + - SHA256SUM={{ sha256sum }} + +requirements: + host: + - python >=3.9 + - unzip + run: + - openjdk >=11 + - python >=3.8 + +test: + commands: + - ionquant --key {{ academic_use_only_key }} -Xms512m -Xmx1g --help | grep 'License key verified' + +about: + home: https://github.com/Nesvilab/IonQuant + license: Academic License (https://msfragger.arsci.com/ionquant/IonQuant%20Academic%20Use%20License%2005162022.pdf) + summary: A label free quantification tool + description: | + IonQuant is a fast and comprehensive tool for MS1 precursor intensity-based quantification for timsTOF PASEF DDA and non-timsTOF (e.g., Orbitrap) data. + It enables label-free quantification with false discovery (FDR) controlled match-between-runs (MBR). + It can also be used for quantification in labelling-based experiments such as those involving SILAC, dimethyl, or similar labelling strategies. + + IonQuant is available freely for academic research and educational purposes only, in accordance with the terms at https://msfragger.arsci.com/ionquant/IonQuant%20Academic%20Use%20License%2005162022.pdf. + +extra: + recipe-maintainers: + - reid-wagner + notes: | + The "ionquant" command runs the IonQuant java program. + identifiers: + - biotools:fragpipe + - doi:10.1074/mcp.TIR120.002048 diff --git a/recipes/iow/meta.yaml b/recipes/iow/meta.yaml index 3e2c487b8cf80..4fd7daed8d33f 100644 --- a/recipes/iow/meta.yaml +++ b/recipes/iow/meta.yaml @@ -10,8 +10,9 @@ source: sha256: 6b3ddb08f7ec1dec265de4a0f6025c7a4c81df5aa613f3ead5633073b0fe2271 build: - number: 3 - skip: True # [py2k] + number: 5 + run_exports: + - {{ pin_subpackage('iow', max_pin='x') }} requirements: build: @@ -50,5 +51,7 @@ about: dev_url: https://github.com/biocore/improved-octo-waddle extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - wasade diff --git a/recipes/ipk/build.sh b/recipes/ipk/build.sh new file mode 100644 index 0000000000000..5886c722ba711 --- /dev/null +++ b/recipes/ipk/build.sh @@ -0,0 +1,29 @@ +#!/bin/bash +set -ex + +export CPLUS_INCLUDE_PATH=${PREFIX}/include +export CPP_INCLUDE_PATH=${PREFIX}/include +export CXX_INCLUDE_PATH=${PREFIX}/include + +#to ensure zlib location +export CFLAGS="$CFLAGS -I$PREFIX/include" +export LDFLAGS="$LDFLAGS -L$PREFIX/lib" + +mkdir -p $PREFIX/bin +mkdir -p $PREFIX/lib + +cmake -B build -DHASH_MAP=USE_TSL_ROBIN_MAP -DCMAKE_CXX_FLAGS="-O3" -DBUILD_SHARED_LIBS=ON --install-prefix=$PREFIX +cmake --build build --target all --target diff-dna --target diff-aa --target dump-dna --target dump-aa -j ${CPU_COUNT} +cmake --install build + +cp build/ipk/ipk-aa $PREFIX/bin +cp build/ipk/ipk-aa-pos $PREFIX/bin +cp build/ipk/ipk-dna $PREFIX/bin +cp build/tools/ipkdiff-dna $PREFIX/bin +cp build/tools/ipkdiff-aa $PREFIX/bin +cp build/tools/ipkdump-dna $PREFIX/bin +cp build/tools/ipkdump-aa $PREFIX/bin + +cp build/i2l/libi2l_aa.a $PREFIX/lib +cp build/i2l/libi2l_aa_pos.a $PREFIX/lib +cp build/i2l/libi2l_dna.a $PREFIX/lib diff --git a/recipes/ipk/meta.yaml b/recipes/ipk/meta.yaml new file mode 100644 index 0000000000000..6aa9bfb9e74c2 --- /dev/null +++ b/recipes/ipk/meta.yaml @@ -0,0 +1,55 @@ +{% set name = "IPK" %} +{% set version = "0.5.1" %} +{% set sha256 = "22efbfe282a37d153b69f44f6a655f39727d6ae955690b60fe1c6c785bbc0535" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/phylo42/{{ name|lower }}/releases/download/v{{ version }}/IPK-v{{ version }}_src_for_bioconda.tar.gz + sha256: {{ sha256 }} + +build: + number: 2 + run_exports: + - {{ pin_subpackage('ipk', max_pin="x.x") }} + +requirements: + build: + - make + - {{ compiler('cxx') }} + - cmake + host: + - boost-cpp =1.85 + - zlib + run: + - boost-cpp =1.85 + - raxml-ng + - phyml + - python + - click + +# git-lfs is absent from the docker image, so test files are not cloned +# unstable workaround it to set wget as a test dependancy +# and download them from github in the run_tests.sh script +test: + requires: + - wget + # because they are not cloned, we cannot copy them from source in the test environment + #source_files: + # - tests/data/neotrop/reference.fasta + # - tests/data/neotrop/tree.rooted.newick + + +about: + home: https://github.com/phylo42/ipk + license: MIT + license_family: MIT + license_file: LICENSE + summary: "IPK is a tool for computing phylo-k-mers for a fixed phylogeny." + description: "IPK is a tool for computing phylo-k-mers for a fixed phylogeny. Please cite: doi.org/10.1093/bioinformatics/btad692" + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/ipk/run_test.sh b/recipes/ipk/run_test.sh new file mode 100644 index 0000000000000..64be368cb924b --- /dev/null +++ b/recipes/ipk/run_test.sh @@ -0,0 +1,67 @@ +#!/usr/bin/env bash + +PASS=true + +# A +echo "test A" +command -v ipk-dna +if [ $? -ne 0 ]; then + echo "failed" + PASS=false +fi + +# B +echo "test B" +command -v ipk-aa +if [ $? -ne 0 ]; then + echo "failed" + PASS=false +fi + +# C +echo "test C" +ipk-dna 2>&1 | grep "the option '--ar-binary' is required" +if [ $? -ne 0 ]; then + echo "failed" + PASS=false +fi + +# D +echo "test D" +ipk.py build --help +if [ $? -ne 0 ]; then + echo "failed" + PASS=false +fi + +# E +# test files cannot be retrieved via meta.yaml (field test:source) +# because git-lfs is not available in the github tarball release +# we need to download them manually +#echo "test E" + +#wget -O reference.fasta https://github.com/phylo42/IPK/raw/main/tests/data/neotrop/reference.fasta +#wget -O tree.rooted.newick https://github.com/phylo42/IPK/raw/main/tests/data/neotrop/tree.rooted.newick +#test -s reference.fasta +#test -s tree.rooted.newick +#mkdir -p tests_output +#ipk.py build -r reference.fasta -t tree.rooted.newick -m GTR -k 7 --omega 2.0 -u 1.0 -b $(which raxml-ng) -w tests_output +#if [ $? -ne 0 ]; then +# echo "failed" +# PASS=false +#fi + +#ls tests_output +#echo $PASS + +# F +#echo "test F" +#if [ ! -s tests_output/DB_k7_o2.0.rps ]; then +# echo "failed" +# PASS=false +#fi + +if [ "$PASS" = false ]; then + echo "At least 1 test failed !" + exit 1 +fi diff --git a/recipes/ipyrad/meta.yaml b/recipes/ipyrad/meta.yaml index 4375514b5f3e1..e03997c92935e 100644 --- a/recipes/ipyrad/meta.yaml +++ b/recipes/ipyrad/meta.yaml @@ -1,21 +1,23 @@ {% set name = "ipyrad" %} -{% set version = "0.9.93" %} -{% set sha256 = "7f42396c0baa284dde0e9896270006f3c7e2211fa93bb149decccd39b4ab557e" %} +{% set version = "0.9.102" %} +{% set sha256 = "2a8dc210d69cdedd34ac92715f23a9c3b7b4593a97b0d16851a566eacf33ef42" %} package: - name: {{name}} - version: {{version}} + name: {{ name }} + version: {{ version }} source: - url: https://github.com/dereneaton/{{name}}/archive/{{version}}.tar.gz - sha256: {{sha256}} + url: https://github.com/dereneaton/{{ name }}/archive/{{ version }}.tar.gz + sha256: {{ sha256 }} build: number: 0 - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " - noarch: python + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vv" + noarch: python entry_points: - ipyrad = ipyrad.__main__:main + run_exports: + - {{ pin_subpackage('ipyrad', max_pin="x.x") }} requirements: host: @@ -36,7 +38,7 @@ requirements: - mpi4py >=3.0 # [ py >= 37 ] - notebook - bedtools - - muscle <5 # Pin muscle < v5 see issue #477 + - muscle <5 # Pin muscle < v5 see issue #477 - vsearch >=2.13 - bwa - samtools @@ -52,5 +54,6 @@ test: about: home: http://github.com/dereneaton/ipyrad license: GPL-3.0-only + license_family: GPL3 license_file: LICENSE.txt summary: Interactive assembly and analysis of RAD-seq data sets. diff --git a/recipes/iqtree/0001-PATCH-macos-10.9.patch b/recipes/iqtree/0001-PATCH-macos-10.9.patch deleted file mode 100644 index fb669f5058460..0000000000000 --- a/recipes/iqtree/0001-PATCH-macos-10.9.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8e7ec080..f1275556 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -146,13 +146,13 @@ if (WIN32) - add_definitions(-DWIN32) - elseif (APPLE) - message("Target OS : Mac OS X") -- # to be compatible back to Mac OS X 10.7 -+ # to be compatible back to Mac OS X 10.9 - if (IQTREE_FLAGS MATCHES "oldmac") - add_definitions("-mmacosx-version-min=10.5") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -mmacosx-version-min=10.5") - else() -- add_definitions("--target=x86_64-apple-macos10.7") -- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --target=x86_64-apple-macos10.7") -+ add_definitions("--target=x86_64-apple-macos10.9") -+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --target=x86_64-apple-macos10.9") - endif() - SET(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES}) - elseif (UNIX) diff --git a/recipes/iqtree/build.sh b/recipes/iqtree/build.sh index 402ef72c00afd..5b02ecc9cb4ac 100644 --- a/recipes/iqtree/build.sh +++ b/recipes/iqtree/build.sh @@ -1,21 +1,59 @@ #!/bin/bash +set -ex + +# AVX might not be supported on all CPUs, in particular Rosetta2 on Apple Silicon +# -march=nocona and -mtune=haswell are the original conda-forge flags +# we're restoring them here by mentioning them explicitly +# .bak is required for sed -i on macOS +sed -i.bak 's/-mavx/-mno-avx -mno-avx2 -march=nocona -mtune=haswell/' cmaple/CMakeLists.txt +rm -rf cmaple/*.bak export INCLUDES="-I${PREFIX}/include" export LIBPATH="-L${PREFIX}/lib" export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" -export CFLAGS="${CFLAGS} -O3" -export CPPFLAGS="${CPPFLAGS} -I${PREFIX}/include" +export CFLAGS="${CFLAGS} -O3 -w" +export CPPFLAGS="${CPPFLAGS} -I${PREFIX}/include -w" +export CXXFLAGS="${CXXFLAGS} -w" if [ "$(uname)" == Darwin ]; then export CMAKE_C_COMPILER="clang" export CMAKE_CXX_COMPILER="clang++" + export CXXFLAGS="${CXXFLAGS} -mmacosx-version-min=11" + # `which` is required, as full paths needed + # see https://github.com/bioconda/bioconda-recipes/pull/49360#discussion_r1686187284 + CC=$(which "$CC") + CXX=$(which "$CXX") + AR=$(which "$AR") + RANLIB=$(which "$RANLIB") + DCMAKE_ARGS=(-DCMAKE_C_COMPILER="${CC}" -DCMAKE_CXX_COMPILER="${CXX}" + -DCMAKE_CXX_COMPILER_AR="${AR}" -DCMAKE_CXX_COMPILER_RANLIB="${RANLIB}") fi -mkdir build -cd build +cmake -S . -B build -DCMAKE_INSTALL_PREFIX="${PREFIX}" -DCMAKE_BUILD_TYPE=Release \ + -GNinja \ + -DUSE_LSD2=ON -DIQTREE_FLAGS=omp -DUSE_CMAPLE=ON \ + -DCMAKE_C_FLAGS="${CFLAGS}" -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ + "${DCMAKE_ARGS[@]}" \ + -DBUILD_GMOCK=OFF -DINSTALL_GTEST=OFF \ + -Wno-dev -Wno-deprecated --no-warn-unused-cli + +# Detect if we are running on CircleCI's arm.medium VM +# If CPU_COUNT is 4, we are on CircleCI's arm.large VM +JOBS=${CPU_COUNT} +if [[ "$(uname -m)" == "aarch64" ]] && [[ "${CPU_COUNT}" -lt 4 ]]; then + JOBS=1 # CircleCI's arm.medium VM runs out of memory with higher values +fi + +VERBOSE=1 cmake --build build --target install -j "${JOBS}" + +chmod 755 "${PREFIX}/bin/iqtree2" -cmake -D CMAKE_INSTALL_PREFIX:PATH="${PREFIX}" -DUSE_LSD2=ON -DIQTREE_FLAGS=omp .. +# Use symlink to not duplicate the binary, saving space +ln -sf "${PREFIX}"/bin/iqtree2 "${PREFIX}"/bin/iqtree -make --jobs "${CPU_COUNT}" -make install -cp "${PREFIX}"/bin/iqtree2 "${PREFIX}"/bin/iqtree +# Remove example data files +for file in "${PREFIX}/example"* "${PREFIX}/models.nex" "${PREFIX}/bin/iqtree2-aa"; do + if [ -f "$file" ]; then + rm "$file" + fi +done diff --git a/recipes/iqtree/meta.yaml b/recipes/iqtree/meta.yaml index f4d9d77c0de13..875325dc79689 100644 --- a/recipes/iqtree/meta.yaml +++ b/recipes/iqtree/meta.yaml @@ -1,6 +1,5 @@ {% set name = "IQTREE" %} -{% set version = "2.2.5" %} -{% set sha256 = "e7b34c1fb73b21a7af337ef05685b96d4791585815faccbccd8221179486ed9b" %} +{% set version = "2.3.6" %} package: name: {{ name|lower }} @@ -12,40 +11,63 @@ build: - {{ pin_subpackage('iqtree', max_pin="x") }} source: - - url: https://github.com/iqtree/iqtree2/archive/refs/tags/v{{ version }}.tar.gz - sha256: {{ sha256 }} - - url: https://github.com/tothuhien/lsd2/archive/refs/tags/v.2.4.1.tar.gz - sha256: 3d0921c96edb8f30498dc8a27878a76d785516043fbede4a72eefd84b5955458 - folder: lsd2 + # using git_url rather than tarball due to use of 2 submodules by iqtree (lsd2, cmaple) + # Previously, the submodules were specified as source tarballs themselves + # But the submodules weren't updated when iqtree was, hence switch to git_url + # see discussion https://github.com/bioconda/bioconda-recipes/pull/49360/files#r1686415630 + git_url: https://github.com/iqtree/iqtree2.git + git_rev: v{{ version }} + sha256: unused + patches: + - "patch" requirements: build: + - {{ compiler('c') }} - {{ compiler('cxx') }} - - make - cmake - - llvm-openmp # [osx] - - ld64 # [osx] + - ninja host: + - libgomp # [linux] + - llvm-openmp # [osx] - boost-cpp - eigen - - zlib test: + source_files: + - cmaple/example/input.fa commands: - iqtree - iqtree2 + # Mulled builds don't work with source_files + - iqtree --pathogen-force -s cmaple/example/input.fa # [osx] + # Test that the CMAPLE submodule is working + - grep -v "not compiled with CMAPLE integrated" cmaple/example/input.fa.log # [osx] about: - home: "http://www.iqtree.org/" + home: "http://www.iqtree.org" dev_url: "https://github.com/iqtree/iqtree2" - license: GPL-2.0-or-later + license: "GPL-2.0-or-later" + license_family: GPL2 license_file: LICENSE summary: "Efficient phylogenomic software by maximum likelihood." + doc_url: "http://www.iqtree.org/doc" extra: + skip-lints: + # uses submodules + - uses_vcs_url + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - biotools:iq-tree - doi:10.1093/molbev/msu300 - doi:10.1038/nmeth.4285 - doi:10.1093/molbev/msx281 + - doi:10.1093/sysbio/syae008 + # cmaple + - doi:10.1093/molbev/msae134 - usegalaxy-eu:{{ name|lower }} + recipe-maintainers: + - corneliusroemer diff --git a/recipes/iqtree/patch b/recipes/iqtree/patch new file mode 100644 index 0000000000000..d93fd391f1781 --- /dev/null +++ b/recipes/iqtree/patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ca5ebac7..f88c4410 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -204,16 +204,16 @@ if (WIN32) + elseif (APPLE) + message("Target OS : Mac OS X") + if(OSX_NATIVE_ARCHITECTURE STREQUAL "arm64") +- add_definitions("--target=arm64-apple-macos10.5") +- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --target=arm64-apple-macos12.0.1") ++ add_definitions("--target=arm64-apple-macos11") ++ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --target=arm64-apple-macos11") + else() + # to be compatible back to Mac OS X 10.7 + if (IQTREE_FLAGS MATCHES "oldmac") + add_definitions("-mmacosx-version-min=10.5") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -mmacosx-version-min=10.5") + else() +- add_definitions("--target=x86_64-apple-macos10.7") +- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --target=x86_64-apple-macos10.7") ++ add_definitions("--target=x86_64-apple-macos10.13") ++ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --target=x86_64-apple-macos10.13") + endif() + endif() + SET(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES}) diff --git a/recipes/irescue/meta.yaml b/recipes/irescue/meta.yaml index d03df028c954e..009fc1d48346a 100644 --- a/recipes/irescue/meta.yaml +++ b/recipes/irescue/meta.yaml @@ -1,25 +1,29 @@ {% set name = "irescue" %} -{% set version = "1.0.3" %} +{% set version = "1.1.2" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/IRescue-{{ version }}.tar.gz - sha256: 9d68f42cd70c1ee9151699201319a3c879a3400b51a1224ccd66191ae5bb16ae + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/irescue-{{ version }}.tar.gz + sha256: 49a47a8859b3435cc94b171625c8c8c3b7bd7026498a0fd616dd48adb511e38c build: noarch: python - script: {{ PYTHON }} -m pip install . -vv - number: 1 + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + number: 0 + entry_points: + - irescue = irescue.main:main + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: host: - - python >=3.7 + - python >=3.8 - pip run: - - python >=3.7 + - python >=3.8 - numpy >=1.20.2 - requests >=2.27.1 - gawk >=5.0.1 @@ -28,6 +32,7 @@ requirements: - pysam >=0.16.0.1 - bedtools >=2.30.0 - samtools >=1.12 + - networkx >=3.1 test: imports: @@ -37,10 +42,15 @@ test: about: home: https://github.com/bodegalab/irescue - summary: A tool to quantify transposable elements expression in scRNA-seq. + summary: "A tool to quantify transposable elements expression in scRNA-seq." license: MIT + license_family: MIT license_file: LICENSE + dev_url: https://github.com/bodegalab/irescue + doc_url: https://pypi.org/project/IRescue extra: recipe-maintainers: - bepoli + identifiers: + - doi:10.1101/2022.09.16.508229 diff --git a/recipes/irfinder/build.sh b/recipes/irfinder/build.sh index 1a87af2d43087..be08c698e0e13 100644 --- a/recipes/irfinder/build.sh +++ b/recipes/irfinder/build.sh @@ -1,8 +1,10 @@ #!/bin/sh -cd $SRC_DIR/src/irfinder && make && mv irfinder $SRC_DIR/bin/util -cd $SRC_DIR/src/trim && make && mv trim $SRC_DIR/bin/util -cd $SRC_DIR/src/winflat && make && mv winflat $SRC_DIR/bin/util +set -xe + +cd $SRC_DIR/src/irfinder && make -j ${CPU_COUNT} && mv irfinder $SRC_DIR/bin/util +cd $SRC_DIR/src/trim && make -j ${CPU_COUNT} && mv trim $SRC_DIR/bin/util +cd $SRC_DIR/src/winflat && make -j ${CPU_COUNT} && mv winflat $SRC_DIR/bin/util irfinder_home=$PREFIX/opt/irfinder-$PKG_VERSION mkdir -p $irfinder_home diff --git a/recipes/irfinder/meta.yaml b/recipes/irfinder/meta.yaml index b041a98420745..7066b218a6a5e 100644 --- a/recipes/irfinder/meta.yaml +++ b/recipes/irfinder/meta.yaml @@ -5,11 +5,13 @@ package: version: '{{ version }}' source: - url: https://github.com/williamritchie/IRFinder/archive/v{{ version }}.tar.gz + url: https://github.com/dgaolab/IRFinder/archive/refs/tags/v{{version}}.tar.gz sha256: 94fee8fdac37a5d51ae459d1b06c8d6ed0107752bf2535f207f787e3246ba8b2 build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage("irfinder", max_pin="x") }} requirements: build: @@ -24,7 +26,14 @@ test: - IRFinder -v about: - home: https://github.com/williamritchie/IRFinder + home: https://github.com/dgaolab/IRFinder license: MIT license_family: MIT summary: Intron Retention Finder + dev_url: https://github.com/dgaolab/IRFinder + doc_url: https://github.com/williamritchie/IRFinder/wiki + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/irissv/meta.yaml b/recipes/irissv/meta.yaml index 88b85d9548522..842485ab0d1d9 100644 --- a/recipes/irissv/meta.yaml +++ b/recipes/irissv/meta.yaml @@ -1,16 +1,19 @@ -{% set version = "1.0.4" %} +{% set name = "irissv" %} +{% set version = "1.0.5" %} package: - name: irissv + name: "{{ name }}" version: {{ version }} source: - url: https://github.com/mkirsche/Iris/archive/{{ version }}.tar.gz - sha256: 1a7b609fa582abf901ef7392dd84fbcdabdca930be28cb0decb9fd7389aff6a2 + url: https://github.com/mkirsche/Iris/archive/refs/tags/v{{ version }}.tar.gz + sha256: a71718d418fb8b1afacbe2b3a6b91fd50cadc9e12c0b532739b955e455913b0b build: noarch: generic - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: run: diff --git a/recipes/isa-rwval/build_failure.linux-64.yaml b/recipes/isa-rwval/build_failure.linux-64.yaml deleted file mode 100644 index 10941d9825482..0000000000000 --- a/recipes/isa-rwval/build_failure.linux-64.yaml +++ /dev/null @@ -1,4 +0,0 @@ -recipe_sha: 79dcca1e40634b62bfd92b5248b30c58c92f2b4885b2602c06367234d043f867 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -reason: |- - build job in CI is killed, probably due to memory issues diff --git a/recipes/isa-rwval/build_failure.osx-64.yaml b/recipes/isa-rwval/build_failure.osx-64.yaml deleted file mode 100644 index 10941d9825482..0000000000000 --- a/recipes/isa-rwval/build_failure.osx-64.yaml +++ /dev/null @@ -1,4 +0,0 @@ -recipe_sha: 79dcca1e40634b62bfd92b5248b30c58c92f2b4885b2602c06367234d043f867 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -reason: |- - build job in CI is killed, probably due to memory issues diff --git a/recipes/isa-rwval/meta.yaml b/recipes/isa-rwval/meta.yaml index c866c3cf7d569..4b2ee4c5047ff 100644 --- a/recipes/isa-rwval/meta.yaml +++ b/recipes/isa-rwval/meta.yaml @@ -1,31 +1,30 @@ -{% set version = "0.10.9" %} -{% set sha256 = "2ac3742b85500b9cbc1f993a249e76fc930cb742f1fe4cc96b8136491b4eab89" %} +{% set name = "isa-rwval" %} +{% set version = "0.10.10" %} +{% set sha256 = "3e9fcf37d5e5ff7e92cf28069ecd95d1e62a4025c2d667519da382e5c2258e51" %} package: - name: isa-rwval + name: {{ name }} version: {{ version }} source: - url: https://files.pythonhosted.org/packages/a4/22/39d1b2ae26ba833c994c4019995a67c10edceec99c27f227f5cdf989ab09/isa-rwval-{{ version }}.tar.gz + url: https://pypi.io/packages/source/i/{{ name }}/{{ name }}-{{ version }}.tar.gz sha256: {{ sha256 }} build: noarch: python number: 0 - script: "{{ PYTHON }} -m pip install . --no-deps -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" requirements: host: - pip - - python >=3.5 - # Depend on galaxy-util during build time to avoid packaging galaxy/__init__.py . + - python >=3.6 run: - networkx - - six - numpy - pandas - matplotlib-base - - python >=3.5 + - python >=3.6 test: imports: diff --git a/recipes/iseq/build.sh b/recipes/iseq/build.sh new file mode 100644 index 0000000000000..bf1bb28ab19e0 --- /dev/null +++ b/recipes/iseq/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +mkdir -p $PREFIX/bin +cp $SRC_DIR/bin/iseq $PREFIX/bin +chmod +x $PREFIX/bin/iseq diff --git a/recipes/iseq/meta.yaml b/recipes/iseq/meta.yaml new file mode 100644 index 0000000000000..193270e7e7cef --- /dev/null +++ b/recipes/iseq/meta.yaml @@ -0,0 +1,39 @@ +{% set name = "iSeq" %} +{% set version = "1.1.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/BioOmics/{{ name }}/releases/download/v{{ version }}/{{ name }}-v{{ version }}.tar.gz + sha256: de0b9f1e06842a14f0a112023b989a38f6d422d860d44b19d3ec717d3c00bc34 + +build: + noarch: generic + number: 0 + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} + +requirements: + build: + - bash + run: + - pigz + - wget + - axel + - aspera-cli + - sra-tools =2.11.0 + +test: + commands: + - iseq --help + +about: + home: https://github.com/BioOmics/iSeq + license: MIT + summary: "iSeq is a Bash script that allows you to download sequencing data and metadata from GSA, SRA, ENA, and DDBJ databases" + +extra: + recipe-maintainers: + - Haoyu Chao diff --git a/recipes/isonform/meta.yaml b/recipes/isonform/meta.yaml new file mode 100644 index 0000000000000..8ae2d4739eed3 --- /dev/null +++ b/recipes/isonform/meta.yaml @@ -0,0 +1,39 @@ +{% set name = "isonform" %} +{% set version = "0.3.4" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/isONform-{{ version }}.tar.gz + sha256: fb96c32e0ce177bf7866b7a19fa6855b1e9fac8f8f164cdccc972e284fbcce47 + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage("isonform", max_pin="x.x") }} + +requirements: + host: + - python + - pip + run: + - python + - recordclass >=0.17.2 + - networkx >=2.7.1 + - parasail-python >=1.3.3 + - edlib >=1.1.2 + - spoa + +test: + commands: + - isONform_parallel --help + +about: + home: https://github.com/aljpetri/isONform + summary: De novo construction of isoforms from long-read data + license: GPL-3.0 + license_file: LICENSE diff --git a/recipes/isoquant/build.sh b/recipes/isoquant/build.sh index 8736b04c39060..47cdaa0e478ac 100644 --- a/recipes/isoquant/build.sh +++ b/recipes/isoquant/build.sh @@ -6,4 +6,4 @@ mkdir -p $PREFIX/bin chmod a+x *.py cp -rp * "$OUTDIR/" cd $PREFIX/bin -ln -s "../${OUTDIR#$PREFIX}"/*.py . +ln -sf "../${OUTDIR#$PREFIX}"/*.py . diff --git a/recipes/isoquant/meta.yaml b/recipes/isoquant/meta.yaml index 9d46f8b5da854..ee3930be3b942 100644 --- a/recipes/isoquant/meta.yaml +++ b/recipes/isoquant/meta.yaml @@ -1,6 +1,6 @@ {% set name = "IsoQuant" %} -{% set version = "3.3.1" %} -{% set sha256 = "1d0f7d4c3f42f48ab6cd30fef8e743a60032a8c36cee15ed0de4df21c847fde2" %} +{% set version = "3.6.1" %} +{% set sha256 = "6d16e47e9ca45f9a0d029940d5b84e03038d9ba3d640945e3a5087acfd7ed56d" %} package: name: {{ name | lower }} @@ -13,20 +13,27 @@ source: build: number: 0 noarch: generic + run_exports: + - {{ pin_subpackage('isoquant', max_pin='x') }} requirements: run: - - python >=3.7 + - python >=3.8 - argcomplete >=1.11.1 - argh >=0.26.2 - biopython >=1.76 - gffutils >=0.10.1 - minimap2 >=2.18 - - pandas >=1.0 + - numpy >=1.18.1 + - packaging + - pandas >=1.0.1 - pybedtools >=0.8.1 - - pyfaidx >=0.5.8 + - pyfaidx >=0.7 - pysam >=0.15 + - pyyaml >=5.4 - samtools >=1.14 + - scipy >=1.4.1 + - seaborn >=0.10.0 - simplejson >=3.17.0 - six >=1.14.0 @@ -38,6 +45,14 @@ test: - rm -rf isoquant_test about: - summary: IsoQuant is a tool for reference-based analysis of long RNA reads, such as gene/transcript quantification and discovery. - home: https://github.com/ablab/IsoQuant - license: GPL2 + summary: "IsoQuant is a tool for reference-based analysis of long RNA reads, such as gene/transcript quantification and discovery." + home: "https://github.com/ablab/IsoQuant" + license: "GPL-2.0-or-later" + license_family: GPL2 + license_file: LICENSE + dev_url: "https://github.com/ablab/IsoQuant" + doc_url: "https://ablab.github.io/IsoQuant" + +extra: + identifiers: + - doi:10.1038/s41587-022-01565-y diff --git a/recipes/isospecpy/build_failure.osx-64.yaml b/recipes/isospecpy/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..14a7001284e66 --- /dev/null +++ b/recipes/isospecpy/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: e22cb32401e01937fc9b01b36eabc64265850c69f2613a0460aed9a06c4825cd # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/isospecpy_1717510144117/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/isospecpy_1717510144117/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/isospecpy_1717510144117/work + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/isospecpy-2.2.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/isospecpy_1717510144117/work/conda_build.sh']' returned non-zero exit status 1. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/isospecpy-2.2.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/isospecpy-2.2.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/isospecpy-2.2.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + Using pip 24.0 from $PREFIX/lib/python3.8/site-packages/pip (python 3.8) + Non-user install because user site-packages disabled + Ignoring indexes: https://pypi.org/simple + Created temporary directory: /private/tmp/pip-build-tracker-jwr7tzd6 + Initialized build tracking at /private/tmp/pip-build-tracker-jwr7tzd6 + Created build tracker: /private/tmp/pip-build-tracker-jwr7tzd6 + Entered build tracker: /private/tmp/pip-build-tracker-jwr7tzd6 + Created temporary directory: /private/tmp/pip-install-v7o3ri7s + Created temporary directory: /private/tmp/pip-ephem-wheel-cache-nmlib6qa + Processing $SRC_DIR + Added file://$SRC_DIR to build tracker '/private/tmp/pip-build-tracker-jwr7tzd6' + Running setup.py (path:$SRC_DIR/setup.py) egg_info for package from file://$SRC_DIR + Created temporary directory: /private/tmp/pip-pip-egg-info-hb_xlbm2 + Preparing metadata (setup.py): started + Preparing metadata (setup.py): finished with status 'done' + Source in $SRC_DIR has version 2.2.2, which satisfies requirement IsoSpecPy==2.2.2 from file://$SRC_DIR + Removed IsoSpecPy==2.2.2 from file://$SRC_DIR from build tracker '/private/tmp/pip-build-tracker-jwr7tzd6' + Created temporary directory: /private/tmp/pip-unpack-2znkqc52 + Building wheels for collected packages: IsoSpecPy + Created temporary directory: /private/tmp/pip-wheel-4twqti9t + Building wheel for IsoSpecPy (setup.py): started + Destination directory: /private/tmp/pip-wheel-4twqti9t + Building wheel for IsoSpecPy (setup.py): finished with status 'error' + Running setup.py clean for IsoSpecPy + Failed to build IsoSpecPy + Exception information: + Traceback (most recent call last): + File "$PREFIX/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper + status = run_func(*args) + File "$PREFIX/lib/python3.8/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper + return func(self, options, args) + File "$PREFIX/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 429, in run + raise InstallationError( + pip._internal.exceptions.InstallationError: Could not build wheels for IsoSpecPy, which is required to install pyproject.toml-based projects + Removed build tracker: '/private/tmp/pip-build-tracker-jwr7tzd6' +# Last 100 lines of the build log. diff --git a/recipes/isospecpy/meta.yaml b/recipes/isospecpy/meta.yaml index a40f7264077e9..aacde7c6a4bd8 100644 --- a/recipes/isospecpy/meta.yaml +++ b/recipes/isospecpy/meta.yaml @@ -1,5 +1,5 @@ {% set name = "isospecpy" %} -{% set version = "2.2.1" %} +{% set version = "2.2.2" %} package: name: {{ name|lower }} @@ -7,11 +7,11 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/IsoSpecPy-{{ version }}.tar.gz - sha256: 5426cd5ff70835b9d6b54de60b8d7b850eb63758c7443378bcb6d84601a69075 + sha256: ca838870d31c4879f7e8d0ff782876858888532b6eb0d501fb9650bf5395578e build: script: {{ PYTHON }} -m pip install . -vv - number: 0 + number: 1 run_exports: - {{ pin_subpackage('isospecpy', max_pin="x.x") }} diff --git a/recipes/itol-config/meta.yaml b/recipes/itol-config/meta.yaml new file mode 100644 index 0000000000000..069a6ee5a623a --- /dev/null +++ b/recipes/itol-config/meta.yaml @@ -0,0 +1,46 @@ +{% set name = "itol-config" %} +{% set version = "0.1.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/jodyphelan/itol-config/archive/v{{ version }}.tar.gz + sha256: e4fb28eb6c434a7a2c823f0d34b86a483c67a7f139e2c18832d564b9b4555bb6 + +build: + number: 0 + noarch: python + entry_points: + - itol-config = itol_config.cli:cli + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation + run_exports: + - {{ pin_subpackage('itol-config', max_pin="x.x") }} + +requirements: + host: + - python >=3.8 + - flit-core >=3.2,<4 + - pip + run: + - python >=3.8 + - tomli + +test: + imports: + - itol_config + commands: + - itol-config --help + +about: + home: https://github.com/jodyphelan/itol-config + license: MIT + license_family: MIT + license_file: LICENSE + doc_url: https://jodyphelan.github.io/itol-config/ + summary: Package to create iTOL config files + +extra: + recipe-maintainers: + - jodyphelan diff --git a/recipes/itolapi/meta.yaml b/recipes/itolapi/meta.yaml index 89d85e715441f..806c0a9213404 100644 --- a/recipes/itolapi/meta.yaml +++ b/recipes/itolapi/meta.yaml @@ -1,5 +1,5 @@ {% set name = "itolapi" %} -{% set version = "4.1.2" %} +{% set version = "4.1.5" %} package: name: '{{ name|lower }}' @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 37a866a117a80d3d72a6eb6b2cba30444751c644cc6bc4242f050750375a8397 + sha256: 8ce2f6c0560b4b3898913a61a821667ea62aca330aad008e4c71fe98ec26c874 build: noarch: python diff --git a/recipes/itsxpress/meta.yaml b/recipes/itsxpress/meta.yaml index 5339657193c68..cbef171ed668d 100644 --- a/recipes/itsxpress/meta.yaml +++ b/recipes/itsxpress/meta.yaml @@ -1,8 +1,8 @@ {% set name = "itsxpress" %} -{% set version = "2.0.1" %} +{% set version = "2.1.2" %} {% set file_ext = "tar.gz" %} {% set hash_type = "sha256" %} -{% set hash_value = "b5797107ee3f21cbaba0b9625aa931741babdee3eeb5a3218a8b8bc9783e2e72" %} +{% set hash_value = "5a19ef9333ac4acacfa1da9c27ff3f713d7521661fbfe7541c58221c2ce2d08f" %} package: name: '{{ name|lower }}' diff --git a/recipes/ivar/build.sh b/recipes/ivar/build.sh index efb9691a31967..ae5ec4a1259df 100644 --- a/recipes/ivar/build.sh +++ b/recipes/ivar/build.sh @@ -4,7 +4,7 @@ export CPATH=${PREFIX}/include ./autogen.sh ./configure --prefix=$PREFIX --with-hts=$PREFIX -make +make -j${CPU_COUNT} # removing this for now as it triggers a build error from -Werror=maybe-uninitialized - pvanheus # make check make install diff --git a/recipes/ivar/meta.yaml b/recipes/ivar/meta.yaml index 9efba2fd8a3f7..1482b668f08ec 100644 --- a/recipes/ivar/meta.yaml +++ b/recipes/ivar/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "1.4.2" %} -{% set sha256 = "fda0ba84447d83b162434f8eb8f6f6d366ef715bdbf1b05179a6ef3d4670830d" %} +{% set version = "1.4.3" %} +{% set sha256 = "b9b7b0301418ddec833ab2d5cc2f2995fabacdc4e45c5c14d53a130e5931ed24" %} package: name: ivar @@ -10,7 +10,9 @@ source: sha256: "{{ sha256 }}" build: - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage('ivar', max_pin='x') }} requirements: build: @@ -23,6 +25,7 @@ requirements: - pkg-config host: - htslib + - zlib run: - htslib - samtools @@ -39,6 +42,8 @@ about: dev_url: https://github.com/andersen-lab/ivar extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:ivar - usegalaxy-eu:ivar_variants diff --git a/recipes/jaeger-bio/meta.yaml b/recipes/jaeger-bio/meta.yaml new file mode 100644 index 0000000000000..388ff7957b63e --- /dev/null +++ b/recipes/jaeger-bio/meta.yaml @@ -0,0 +1,62 @@ +{% set name = "jaeger-bio" %} +{% set version = "1.1.26" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: 7f7d8794cd04185f7787d92a6ccc89fa59bb58acbe0fe929c6bffbee39a90fe4 + +build: + number: 0 + script: "{{ PYTHON }} -m pip install . --no-cache-dir -vvv" + noarch: python + run_exports: + - {{ pin_subpackage('jaeger-bio', max_pin="x.x.x") }} + +requirements: + host: + - python =3 + - pip + run: + - python =3 + - pip + - h5py >=3.8 + - biopython >=1.78 + - kneed >=0.8.5 + - matplotlib-base >=3.7 + - numpy >=1.24 + - pandas >=1.5 + - psutil >=5 + - ruptures >=1.1.9 + - scikit-learn ==1.3.2 + - seaborn >=0.12.2 + - tqdm >=4.64.0 + - tensorflow >=2.15,<2.16 + - parasail-python >=1.3.4 + +test: + imports: + - jaegeraa + - jaegeraa.data + - jaegeraa.nnlib + + commands: + - Jaeger --help + +about: + home: "https://github.com/Yasas1994/Jaeger" + license: MIT + license_family: MIT + license_file: LICENSE + summary: "A quick and precise pipeline for detecting phages in sequence assemblies." + dev_url: https://github.com/Yasas1994/Jaeger + doc_url: https://readthedocs.org/projects/jaeger-docs/ + +extra: + identifiers: + - biotools:jaeger + recipe-maintainers: + - Yasas1994 diff --git a/recipes/jalview/jalview.sh b/recipes/jalview/jalview.sh index 1f35b44d829af..9ac28075bc3ce 100755 --- a/recipes/jalview/jalview.sh +++ b/recipes/jalview/jalview.sh @@ -107,8 +107,14 @@ else fi if [ "${HEADLESS}" = 1 ]; then - # this suppresses the Java icon appearing in the macOS Dock and maybe other things in other OSes - JVMARGS=( "${JVMARGS[@]}" "-Djava.awt.headless=true" ) + # not setting java.awt.headless in java invocation of running jalview due to problem with Jmol + if [ "${HELP}" = 1 ]; then + JVMARGS=( "${JVMARGS[@]}" "-Djava.awt.headless=true" ) + fi + # this suppresses the Java icon appearing in the macOS Dock + if [ "${ISMACOS}" = 1 ]; then + JVMARGS=( "${JVMARGS[@]}" "-Dapple.awt.UIElement=true" ) + fi fi JAVA=java @@ -172,8 +178,22 @@ elif command -v resize 2>&1 >/dev/null; then fi JVMARGS=( "${JVMARGS[@]}" "-DCONSOLEWIDTH=${COLUMNS}" ) +function quotearray() { + QUOTEDVALS="" + for VAL in "${@}"; do + if [ \! "$QUOTEDVALS" = "" ]; then + QUOTEDVALS="${QUOTEDVALS} " + fi + QUOTEDVALS="${QUOTEDVALS}\"${VAL}\"" + done + echo $QUOTEDVALS +} + +JVMARGSSTR=$(quotearray "${JVMARGS[@]}") +ARGSSTR=$(quotearray "${ARGS[@]}") + if [ "${DEBUG}" = 1 ]; then - echo Shell running: \""${JAVA}"\" \""${JVMARGS[@]}"\" -jar \""${JARPATH}"\" "${ARGS[@]}" + echo Shell running: \""${JAVA}"\" ${JVMARGSSTR} -jar \""${JARPATH}"\" ${ARGSSTR} fi "${JAVA}" "${JVMARGS[@]}" -jar "${JARPATH}" "${ARGS[@]}" diff --git a/recipes/jalview/meta.yaml b/recipes/jalview/meta.yaml index 5701dd1f676e1..d6bf758f6eb2f 100644 --- a/recipes/jalview/meta.yaml +++ b/recipes/jalview/meta.yaml @@ -1,5 +1,5 @@ {% set name = "jalview" %} -{% set version = "2.11.3.1" %} +{% set version = "2.11.4.0" %} package: name: {{ name|lower }} @@ -13,7 +13,7 @@ build: source: url: https://www.jalview.org/source/jalview_{{ version|replace(".", "_") }}.tar.gz - sha256: "d70338e1f8f0aca01c26484c1cbc9693067b3858c326c1de360a24a0fe5c7078" + sha256: "a128b70eb51228a02ecd47c93fa74140ffd905fbe5bf184fe405c39e78390a6d" requirements: build: diff --git a/recipes/jass/meta.yaml b/recipes/jass/meta.yaml index 32f687595af23..a9d420781c8d8 100644 --- a/recipes/jass/meta.yaml +++ b/recipes/jass/meta.yaml @@ -1,7 +1,7 @@ {% set name = "jass" %} -{% set version = "2.2" %} +{% set version = "2.3" %} {% set owner = "statistical-genetics" %} -{% set sha256 = "06fa6b4decf210da91f7d6eaa60e436983843203bdeb04bb40581f9464325936" %} +{% set sha256 = "799731c3de8301f610402af17ed0dfda54e6cdd18e59cd8ce16ee26d5a9b9f22" %} package: name: {{ name }} @@ -17,10 +17,12 @@ build: - jass=jass.__main__:main number: 0 script: {{ PYTHON }} -m pip install --no-deps --ignore-installed -vv . + run_exports: + - {{ pin_subpackage('jass', max_pin="x.x") }} requirements: host: - - python >=3 + - python >=3.10 - setuptools - flask-smorest - aiohttp @@ -36,17 +38,82 @@ requirements: - pytest-runner - setuptools run: - - python >=3 - - flask-smorest + - python >=3.10 - aiohttp - - python-dateutil + - aiosignal + - amqp + - anyio + - apispec + - async-timeout + - attrs + - billiard + - blinker + - blosc + - celery + - certifi + - charset-normalizer + - click + - click-didyoumean + - click-plugins + - click-repl + - contourpy + - cycler + - exceptiongroup + - fastapi + - Flask + - Flask-Cors + - flask-smorest + - fonttools + - frozenlist + - h11 + - httpcore + - httptools + - httpx + - idna + - importlib-metadata + - itsdangerous + - Jinja2 + - kiwisolver + - kombu + - MarkupSafe + - marshmallow + - matplotlib-base + - msgpack-python + - multidict + - ndindex + - numexpr - numpy + - packaging - pandas - - pytables - - h5py + - Pillow + - prompt-toolkit + - py-cpuinfo + - pydantic <2.0 + - pyparsing + - python-dateutil + - python-dotenv + - pytz + - PyYAML + - requests - scipy - - matplotlib-base - - celery + - seaborn + - six + - sniffio + - starlette + - tables + - typing_extensions + - tzdata + - urllib3 + - uvicorn + - uvloop + - vine + - watchfiles + - wcwidth + - webargs + - websockets + - Werkzeug + - yarl + - zipp test: commands: diff --git a/recipes/jbrowse2/meta.yaml b/recipes/jbrowse2/meta.yaml index fe00dc6c696ba..821dfee562371 100644 --- a/recipes/jbrowse2/meta.yaml +++ b/recipes/jbrowse2/meta.yaml @@ -1,12 +1,12 @@ # When updating, check the @jbrowse/cli version in build.sh too -{% set version = "2.9.0" %} +{% set version = "2.15.4" %} package: name: jbrowse2 version: {{ version }} source: - sha256: 3557cea0f7a13c479364de9611f584d5f2e51f70a53c949ee1fc023e3c12db86 + sha256: fa0a6163dab65d1705c1968cc41adc0f6b035a8fbc572b7ddff12721b5b58642 url: https://github.com/GMOD/jbrowse-components/releases/download/v{{ version }}/jbrowse-web-v{{ version }}.zip build: diff --git a/recipes/jccirc/build.sh b/recipes/jccirc/build.sh new file mode 100644 index 0000000000000..9f15d23a48316 --- /dev/null +++ b/recipes/jccirc/build.sh @@ -0,0 +1,11 @@ +#!/bin/bash -euo + +mkdir -p $PREFIX/bin + +cp JCcirc.pl CircSimu.pl $PREFIX/bin + +ln -s $PREFIX/bin/JCcirc.pl $PREFIX/bin/JCcirc +chmod a+x $PREFIX/bin/JCcirc.pl + +ln -s $PREFIX/bin/CircSimu.pl $PREFIX/bin/CircSimu +chmod a+x $PREFIX/bin/CircSimu.pl diff --git a/recipes/jccirc/jccirc.patch b/recipes/jccirc/jccirc.patch new file mode 100644 index 0000000000000..b87026d12b5e2 --- /dev/null +++ b/recipes/jccirc/jccirc.patch @@ -0,0 +1,20 @@ +diff --git a/CircSimu.pl b/CircSimu.pl +index 5a86f48..f5651fa 100644 +--- a/CircSimu.pl ++++ b/CircSimu.pl +@@ -1,3 +1,5 @@ ++#!/usr/bin/env perl ++ + use 5.012; + use Getopt::Long; + my ($fq1, $fq2, $out, $gtf, $coverage, $coverage2, $rand_mode, $rand_mode2, $read_length, $seq_err, $insert_length, $insert_length2, $perc_minor, $sigma, $sigma2, $ref_dir, $help, $if_chr, $exon_skipping, $psi, $circ_read); +diff --git a/JCcirc.pl b/JCcirc.pl +index 9c9bfd7..14f8dc4 100644 +--- a/JCcirc.pl ++++ b/JCcirc.pl +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl ++#!/usr/bin/env perl + + =begin SUMMARY + Main steps: diff --git a/recipes/jccirc/meta.yaml b/recipes/jccirc/meta.yaml new file mode 100644 index 0000000000000..e5eb2c9ba5f24 --- /dev/null +++ b/recipes/jccirc/meta.yaml @@ -0,0 +1,42 @@ +{% set name = "jccirc" %} +{% set version = "1.0.0" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/cbbzhang/JCcirc/archive/cc254e930854f868c8382bf0d0055df5157bcd6a.zip + sha256: 3828c78cfcb78e71af9a00ff86d8523f25f7fcf3f6c4d7bf492ea0aca86741ce + patches: jccirc.patch + +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage('jccirc', max_pin="x") }} + +requirements: + run: + - perl + - bwa + +test: + commands: + - type JCcirc + - type CircSimu + +about: + home: "https://github.com/cbbzhang/JCcirc" + summary: "circRNA assembler through integrated junction contigs" + license: unknown + dev_url: "https://github.com/cbbzhang/JCcirc" + doc_url: "https://github.com/cbbzhang/JCcirc/blob/master/README.md" + +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - doi:10.1093/bib/bbae062 + recipe-maintainers: + - nictru diff --git a/recipes/jclusterfunk/build.sh b/recipes/jclusterfunk/build.sh new file mode 100755 index 0000000000000..8750eb03bcab7 --- /dev/null +++ b/recipes/jclusterfunk/build.sh @@ -0,0 +1,11 @@ +#!/bin/bash +set -eu -o pipefail + +outdir=$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM +mkdir -p $outdir +mkdir -p $PREFIX/bin + +cp jclusterfunk jclusterfunk.jar $outdir/ + +ln -s $outdir/jclusterfunk $PREFIX/bin +chmod 0755 "${PREFIX}/bin/jclusterfunk" diff --git a/recipes/jclusterfunk/meta.yaml b/recipes/jclusterfunk/meta.yaml new file mode 100644 index 0000000000000..1e468afe4134c --- /dev/null +++ b/recipes/jclusterfunk/meta.yaml @@ -0,0 +1,33 @@ +{% set version = "0.0.25" %} +{% set name = "jclusterfunk" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/snake-flu/jclusterfunk/releases/download/v{{ version }}/jclusterfunk_v{{ version }}.tgz + sha256: 333029dfcfe5d08ecb96bd31f2fed1b732547d45a1f892b9515ae28b528beee8 + +build: + noarch: generic + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + host: + - openjdk + run: + - openjdk + +test: + commands: + - jclusterfunk --help + +about: + home: https://github.com/snake-flu/jclusterfunk + license: GPL-3.0-only + license_family: GPL3 + license_url: https://github.com/snake-flu/jclusterfunk/blob/master/LICENSE + summary: A command line tool with a bunch of functions for trees diff --git a/recipes/jcvi/build_failure.linux-64.yaml b/recipes/jcvi/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..c3457586df65b --- /dev/null +++ b/recipes/jcvi/build_failure.linux-64.yaml @@ -0,0 +1,5 @@ +recipe_sha: fbf8e1cafe25406af0b1b8bb6f03a61dd421c6bc2369eb24e8388c87db37a654 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +reason: |- + The bulk GitHub Actions runner ran out of disk space. Try in a PR. +category: disk space diff --git a/recipes/jcvi/build_failure.linux-aarch64.yaml b/recipes/jcvi/build_failure.linux-aarch64.yaml new file mode 100644 index 0000000000000..a208965a7c599 --- /dev/null +++ b/recipes/jcvi/build_failure.linux-aarch64.yaml @@ -0,0 +1,34 @@ +recipe_sha: fbf8e1cafe25406af0b1b8bb6f03a61dd421c6bc2369eb24e8388c87db37a654 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: disk space +log: |- + 13:37:19 [32mBIOCONDA INFO [0m (OUT) xorg-xextproto: 7.3.0-h2a766a3_1003 conda-forge [0m + 13:37:19 [32mBIOCONDA INFO [0m (OUT) xorg-xf86vidmodeproto: 2.3.1-hf897c2e_1002 conda-forge [0m + 13:37:19 [32mBIOCONDA INFO [0m (OUT) xorg-xproto: 7.0.31-h3557bc0_1007 conda-forge [0m + 13:37:19 [32mBIOCONDA INFO [0m (OUT) xz: 5.2.6-h9cdd2b7_0 conda-forge [0m + 13:37:19 [32mBIOCONDA INFO [0m (OUT) yaml: 0.2.5-hf897c2e_2 conda-forge [0m + 13:37:19 [32mBIOCONDA INFO [0m (OUT) zeromq: 4.3.5-h28faeed_4 conda-forge [0m + 13:37:19 [32mBIOCONDA INFO [0m (OUT) zipp: 3.19.2-pyhd8ed1ab_0 conda-forge [0m + 13:37:19 [32mBIOCONDA INFO [0m (OUT) zlib: 1.2.13-h68df207_6 conda-forge [0m + 13:37:19 [32mBIOCONDA INFO [0m (OUT) zstd: 1.5.6-h02f22dd_0 conda-forge [0m + 13:37:19 [32mBIOCONDA INFO [0m (OUT) [0m + .13:37:29 [32mBIOCONDA INFO [0m (OUT) Preparing transaction: ...working... done [0m + 13:37:38 [32mBIOCONDA INFO [0m (OUT) Verifying transaction: ...working... [0m + 13:37:38 [32mBIOCONDA INFO [0m (OUT) ClobberWarning: This transaction has incompatible packages due to a shared path. [0m + 13:37:38 [32mBIOCONDA INFO [0m (OUT) packages: conda-forge/linux-aarch64::mysql-connector-c-6.1.11-h8945da3_1008, conda-forge/linux-aarch64::mysql-libs-8.3.0-hf629957_4 [0m + 13:37:38 [32mBIOCONDA INFO [0m (OUT) path: 'lib/libmysqlclient.so' [0m + 13:37:38 [32mBIOCONDA INFO [0m (OUT) [0m + 13:37:38 [32mBIOCONDA INFO [0m (OUT) [0m + 13:37:38 [32mBIOCONDA INFO [0m (OUT) [0m + 13:37:38 [32mBIOCONDA INFO [0m (OUT) done [0m + 13:37:39 [32mBIOCONDA INFO [0m (OUT) Executing transaction: ...working... [0m + 13:37:39 [32mBIOCONDA INFO [0m (OUT) ClobberWarning: Conda was asked to clobber an existing path. [0m + 13:37:39 [32mBIOCONDA INFO [0m (OUT) source path: /opt/conda/pkgs/mysql-libs-8.3.0-hf629957_4/lib/libmysqlclient.so [0m + 13:37:39 [32mBIOCONDA INFO [0m (OUT) target path: /opt/conda/conda-bld/jcvi_1718371630282/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/libmysqlclient.so [0m + 13:37:39 [32mBIOCONDA INFO [0m (OUT) [0m + 13:37:39 [32mBIOCONDA INFO [0m (OUT) [0m + 13:37:39 [32mBIOCONDA INFO [0m (OUT) [0m + 13:37:41 [32mBIOCONDA INFO [0m (OUT) [0m + 13:37:42 [32mBIOCONDA INFO [0m (OUT) [0m + /bin/bash: line 16: 3374 Killed bioconda-utils build recipes config.yml --worker-offset 4 --n-workers 6 --docker --mulled-test --docker-base-image "quay.io/bioconda/bioconda-utils-build-env-cos7-$(arch):${BIOCONDA_UTILS_TAG#v}" --anaconda-upload --record-build-failures --skiplist-leafs + Exited with code exit status 137 diff --git a/recipes/jcvi/meta.yaml b/recipes/jcvi/meta.yaml index d563589238e5b..6410423cc8283 100644 --- a/recipes/jcvi/meta.yaml +++ b/recipes/jcvi/meta.yaml @@ -1,18 +1,20 @@ {% set name = "jcvi" %} -{% set version = "1.3.8" %} +{% set version = "1.4.16" %} package: - name: '{{ name|lower }}' - version: '{{ version }}' + name: {{ name }} + version: {{ version }} source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: f193f93b0a967ab6b6e940645f68e7ab640f2838973d270a0aa8662fe3f774ae + sha256: 78201d911d45d226f1cb6a97076e6f5aac57fa5d5fec5fc5bd2896e6e5c240e7 build: - skip: True # [py2k or osx] - number: 0 - script: {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv + skip: True # [osx] + number: 1 + script_env: + - SETUPTOOLS_SCM_PRETEND_VERSION={{ version }} + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv run_exports: - {{ pin_subpackage(name, max_pin='x') }} @@ -22,8 +24,9 @@ requirements: host: - python - pip - - numpy + - setuptools-scm - cython + - numpy run: - python - biopython @@ -39,20 +42,16 @@ requirements: - matplotlib-base - natsort - networkx - - numpy + - {{ pin_compatible('numpy') }} - pypdf2 - more-itertools - - r-ggplot2 - last + - r-ggplot2 - r-tinytex - #- pytest - #- pytest-benchmark - #- pytest-cov - pyyaml - rich - scipy - seaborn-base - #- texlive-core - ucsc-liftover test: @@ -71,11 +70,18 @@ test: - jcvi.variation #This fails for some unknown reason, even though it's outputting "JCVI utility libraries" #commands: - # - "python -m jcvi.apps 2>&1 | grep 'JCVI utility libraries'" + # - 'python -m jcvi.apps 2>&1 | grep "JCVI utility libraries"' about: - home: http://github.com/tanghaibao/jcvi + home: "https://github.com/tanghaibao/jcvi" license: BSD-2-Clause license_family: BSD - summary: Python utility libraries on genome assembly, annotation and comparative genomics + license_file: LICENSE + summary: "Python utility libraries on genome assembly, annotation, and comparative genomics" description: "JCVI utility libraries" + dev_url: "https://github.com/tanghaibao/jcvi" + doc_url: "https://github.com/tanghaibao/jcvi/wiki" + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/jms-metabolite-services/meta.yaml b/recipes/jms-metabolite-services/meta.yaml index 07ecbf6f80219..06637fea3c542 100644 --- a/recipes/jms-metabolite-services/meta.yaml +++ b/recipes/jms-metabolite-services/meta.yaml @@ -1,20 +1,20 @@ {% set name = "jms-metabolite-services" %} -{% set version = "0.5.7" %} +{% set version = "0.5.8" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/jms-metabolite-services-{{ version }}.tar.gz - sha256: 39cad5a790ebd876ecce7f093769fb7495bbb44e74953c428d81055e5f7feac9 + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/jms_metabolite_services-{{ version }}.tar.gz + sha256: 0067d4804ebf10aed93556be6e2f7113173b9f5a50c36ea81ef6a2d0254772e7 build: noarch: python script: {{ PYTHON }} -m pip install . -vv number: 0 run_exports: - - {{ pin_subpackage('jms-metabolite-services', max_pin="x.x") }} + - {{ pin_subpackage('jms-metabolite-services', max_pin="x.x") }} requirements: diff --git a/recipes/jolytree/meta.yaml b/recipes/jolytree/meta.yaml index 5e7a9410d0d4a..ba38a2d116e19 100644 --- a/recipes/jolytree/meta.yaml +++ b/recipes/jolytree/meta.yaml @@ -1,7 +1,7 @@ {% set name = "JolyTree" %} -{% set version = "1.1b" %} +{% set version = "2.1" %} {% set owner = "GIPhy" %} -{% set sha256 = "e356c18d933f23bca900b6a620d6364bdbf0c39e7aeea2241f63f906fbc015ac" %} +{% set sha256 = "e3af4675c564e7d77bc104ae63f473dd1cdd7be6a82c883db70e7599acfb763b" %} package: name: {{ name|lower }} @@ -13,14 +13,16 @@ source: build: noarch: generic - number: 1 + number: 0 + run_exports: + - {{ pin_subpackage("jolytree", max_pin="x") }} requirements: run: - mash >=1.0.2 - gawk >=4.1.3 - fastme >=2.1.5 - - req >=v1.3.190304ac + - req >=1.2 test: commands: diff --git a/recipes/jronn/build.gradle b/recipes/jronn/build.gradle new file mode 100644 index 0000000000000..a205cea7dbc3d --- /dev/null +++ b/recipes/jronn/build.gradle @@ -0,0 +1,26 @@ +plugins { + id "java" +} + +version = "$System.env.PKG_VERSION" +sourceCompatibility = 11 + +repositories { + mavenCentral() +} + +dependencies { + implementation "org.biojava:biojava-protein-disorder:$System.env.PKG_VERSION" +} + +jar { + manifest { + attributes "Main-Class": "org.biojava.nbio.ronn.ORonn" + } + + archiveBaseName = "jronn" + duplicatesStrategy = DuplicatesStrategy.EXCLUDE + from { + configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } + } +} diff --git a/recipes/jronn/build.sh b/recipes/jronn/build.sh new file mode 100644 index 0000000000000..e91ffbeb416a5 --- /dev/null +++ b/recipes/jronn/build.sh @@ -0,0 +1,12 @@ +#!/bin/bash +set -eu + +OUTDIR=$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM +mkdir -p $OUTDIR +mkdir -p $PREFIX/bin + +PKG_VERSION="$PKG_VERSION" gradle jar +cp build/libs/jronn-$PKG_VERSION.jar $OUTDIR/ +sed "s/{{PKG_VERSION}}/$PKG_VERSION/" $RECIPE_DIR/jronn.sh > $OUTDIR/jronn +ln -s $OUTDIR/jronn $PREFIX/bin/jronn +chmod +x $PREFIX/bin/jronn diff --git a/recipes/jronn/jronn.sh b/recipes/jronn/jronn.sh new file mode 100644 index 0000000000000..e0be794a48630 --- /dev/null +++ b/recipes/jronn/jronn.sh @@ -0,0 +1,11 @@ +#!/bin/bash +set -e + +JAR_NAME="jronn-{{PKG_VERSION}}.jar" + +if [ -x "$JAVA_HOME/bin/java" ]; then + JAVA=$JAVA_HOME/bin/java +else + JAVA=$(which java) +fi +$JAVA -jar "$(dirname $(readlink -f "$0"))/$JAR_NAME" "$@" diff --git a/recipes/jronn/meta.yaml b/recipes/jronn/meta.yaml new file mode 100644 index 0000000000000..3e5f84db816be --- /dev/null +++ b/recipes/jronn/meta.yaml @@ -0,0 +1,54 @@ +# no need to update version anywhere else +{% set version="7.1.0" %} + +package: + name: jronn + version: {{ version }} + +build: + number: 1 + noarch: generic + run_exports: + - {{ pin_subpackage('jronn', max_pin="x.x") }} + +source: + path: "./build.gradle" + sha256: b554e160a0f7b40a528d2c85c2d9a2e943d42150381ea9290a1df4a2ef0efc91 + +requirements: + build: + - gradle =7.4 + host: + - openjdk >=11,<18 + run: + - openjdk >=11 + +test: + commands: + - jronn 2>&1 | grep "JRONN version 3.1" + +about: + home: https://biojava.org/ + dev_url: https://github.com/biojava/biojava/tree/master/biojava-protein-disorder + license: LGPL-2.1 + summary: "JRONN is based on the C implementation of RONN algorithm." + description: >- + JRONN is a Java implementation of RONN. JRONN is based on RONN and uses the + same model data, therefore gives the same predictions. Main motivation + behind JRONN development was providing an implementation of RONN more + suitable to use by the automated analysis pipelines and web services. + + Original version of RONN is described in Yang,Z.R., Thomson,R., + McMeil,P. and Esnouf,R.M. (2005) RONN: the bio-basis function neural network + technique applied to the detection of natively disordered regions in proteins + Bioinformatics 21: 3369-3376 + See also http://www.strubi.ox.ac.uk/RONN + +extra: + notes: + JRONN is a Java program that comes with a custom wrapper shell script. + The shell wrapper is called "jronn" and is present on $PATH by default. + The Java program is executed by jvm pointed to by the $JAVA_HOME variable. + Otherwise, a "java" program from the current environment is used. + identifiers: + - biotools:protein-disorder diff --git a/recipes/jupiterplot/LICENSE b/recipes/jupiterplot/LICENSE new file mode 100644 index 0000000000000..9cecc1d4669ee --- /dev/null +++ b/recipes/jupiterplot/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {one line to give the program's name and a brief idea of what it does.} + Copyright (C) {year} {name of author} + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + {project} Copyright (C) {year} {fullname} + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/recipes/jupiterplot/build.sh b/recipes/jupiterplot/build.sh new file mode 100644 index 0000000000000..9520eb3dd8d84 --- /dev/null +++ b/recipes/jupiterplot/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash -euo + +mkdir -p ${PREFIX}/bin + +cp -rf . ${PREFIX}/bin diff --git a/recipes/jupiterplot/meta.yaml b/recipes/jupiterplot/meta.yaml new file mode 100644 index 0000000000000..e2ae417022470 --- /dev/null +++ b/recipes/jupiterplot/meta.yaml @@ -0,0 +1,43 @@ +{% set name = "jupiterplot" %} +{% set version = "1.1" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/JustinChu/JupiterPlot/releases/download/{{ version }}/{{ name }}-{{ version }}.tar.gz + sha256: cecf14dc4a4afaec5ea91d60277952fa6c7825dcc9157157b2efcd395c6103a9 + +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage('jupiterplot', max_pin="x") }} + +requirements: + run: + - circos + - circos-tools + - minimap2 + - samtools + - make + - perl + - perl-gd + +test: + commands: + - jupiter -h + +about: + home: "https://github.com/JustinChu/JupiterPlot" + summary: "Circos Assembly Consistency (Jupiter) plot" + license: "GPL-3.0-or-later" + license_family: GPL3 + license_file: LICENSE + dev_url: "https://github.com/JustinChu/JupiterPlot" + doc_url: "https://github.com/JustinChu/JupiterPlot/blob/{{ version }}/README.md" + +extra: + identifiers: + - doi:10.5281/zenodo.1241235 diff --git a/recipes/jvarkit/meta.yaml b/recipes/jvarkit/meta.yaml index edd61c75b9c09..e396de5f8c452 100644 --- a/recipes/jvarkit/meta.yaml +++ b/recipes/jvarkit/meta.yaml @@ -1,6 +1,6 @@ {% set name = "jvarkit" %} -{% set version = "2023.09.07" %} -{% set sha256 = "8cd3554d4614a323a6bb1d1b342d2d271f8b896769e595022c20198cf10bd254" %} +{% set version = "2024.08.25" %} +{% set sha256 = "1836eae5f27216a3df84d8dbb9282575955149452883d5f86ba1aebb57b59cbf" %} package: name: {{ name|lower }} @@ -12,7 +12,7 @@ source: build: noarch: generic - number: 0 + number: 1 run_exports: - {{ pin_subpackage(name, max_pin=None) }} # it's date based (yyyy.mm.dd) there's no real semantic pinning, and breaking changes happen (e.g.: tools / libraries being removed) @@ -26,6 +26,8 @@ requirements: - gawk run: - openjdk >=11 + - samtools >=1.20 + - bcftools >=1.20 test: commands: diff --git a/recipes/k8/build.sh b/recipes/k8/build.sh index 9bd4b507a0c92..96edeaf676cde 100644 --- a/recipes/k8/build.sh +++ b/recipes/k8/build.sh @@ -1,4 +1,54 @@ #!/bin/bash +set -x + +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" + +DEFAULT_LINUX_VERSION="cos7" +# * k8 is only compatible with Node.js v18.x, not more recent node versions +# * node-18.19.x can be compiled on CentOS 7, but not on macOS with clang +# * node-18.20.x can be compiled on MacOS but not on CentOS 7 because it +# includes an updated c-ares library which is incompatible with glibc on CentOS 7 +if [[ "$(uname)" == "Darwin" ]]; then + NODE_VERSION="18.20.4" + export LDFLAGS="${LDFLAGS} -Wl,-rpath,${PREFIX}/lib" +else + NODE_VERSION="18.19.1" +fi + +case $(uname -m) in + x86_64) + THREADS="-j2" + ;; + *) + THREADS="-j3" + ;; +esac + +wget -O- https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}.tar.gz | tar -zxf - +pushd node-v${NODE_VERSION} + +# Workaround the following error that happens only on Azure build for Linux x86_64 +# 2024-03-19T13:32:27.9240276Z 13:32:25 BIOCONDA INFO (OUT) ../src/debug_utils.cc:479:11: error: ignoring return value of 'size_t fwrite(const void*, size_t, size_t, FILE*)' declared with attribute 'warn_unused_result' [-Werror=unused-result] +# 2024-03-19T13:32:27.9240731Z 13:32:25 BIOCONDA INFO (OUT) 479 | fwrite(str.data(), str.size(), 1, file); +# 2024-03-19T13:32:27.9241079Z 13:32:25 BIOCONDA INFO (OUT) | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# 2024-03-19T13:32:27.9241412Z 13:32:27 BIOCONDA INFO (OUT) cc1plus: some warnings being treated as errors +patch -p0 < ${RECIPE_DIR}/nodejs-x86_64.patch + +# The provided configure script is a sh/python hybrid which boils down to one line of Python +python -c "import configure" --without-node-snapshot --without-etw --without-npm --without-inspector --without-dtrace +make "${THREADS}" +popd + +# make it possible to set conda build's CXXFLAGS and point to the Node sources +sed -i.bak 's/CXXFLAGS=/CXXFLAGS?=/' Makefile +sed -i.bak 's/NODE_SRC=/NODE_SRC?=/' Makefile +sed -i.bak 's/LIBS=/LIBS?=/' Makefile +rm -rf *.bak + +# Then compile k8 +NODE_SRC="node-v${NODE_VERSION}" CXXFLAGS="${CXXFLAGS} -std=c++17 -g -O3 -Wall" LIBS="${LDFLAGS} -pthread" make + mkdir -p $PREFIX/bin -cp k8-$(uname -s) $PREFIX/bin/k8 +chmod 0755 k8 +cp -f k8 $PREFIX/bin/ diff --git a/recipes/k8/build_failure.linux-aarch64.yaml b/recipes/k8/build_failure.linux-aarch64.yaml new file mode 100644 index 0000000000000..0f24706a1a3cb --- /dev/null +++ b/recipes/k8/build_failure.linux-aarch64.yaml @@ -0,0 +1,4 @@ +recipe_sha: 751a182044682904040e221315daeec2db6609dd34a65b46fd328abc6bd46c37 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: CI unresponsive +reason: CPU at 100% for most of the build and timing out. Try in a separate PR. \ No newline at end of file diff --git a/recipes/k8/build_failure.osx-64.yaml b/recipes/k8/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..29e18e3dfa6d2 --- /dev/null +++ b/recipes/k8/build_failure.osx-64.yaml @@ -0,0 +1,106 @@ +recipe_sha: 751a182044682904040e221315daeec2db6609dd34a65b46fd328abc6bd46c37 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/tzfmt.o ../deps/icu-small/source/i18n/tzfmt.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/tzfmt.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/uregexc.o ../deps/icu-small/source/i18n/uregexc.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/uregexc.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/measfmt.o ../deps/icu-small/source/i18n/measfmt.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/measfmt.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/brktrans.o ../deps/icu-small/source/i18n/brktrans.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/brktrans.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/tmutamt.o ../deps/icu-small/source/i18n/tmutamt.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/tmutamt.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/coptccal.o ../deps/icu-small/source/i18n/coptccal.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/coptccal.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/wintzimpl.o ../deps/icu-small/source/i18n/wintzimpl.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/wintzimpl.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/indiancal.o ../deps/icu-small/source/i18n/indiancal.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/indiancal.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/number_mapper.o ../deps/icu-small/source/i18n/number_mapper.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/number_mapper.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/basictz.o ../deps/icu-small/source/i18n/basictz.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/basictz.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/region.o ../deps/icu-small/source/i18n/region.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/region.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/dayperiodrules.o ../deps/icu-small/source/i18n/dayperiodrules.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/dayperiodrules.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/csrmbcs.o ../deps/icu-small/source/i18n/csrmbcs.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/csrmbcs.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/units_data.o ../deps/icu-small/source/i18n/units_data.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/units_data.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/number_modifiers.o ../deps/icu-small/source/i18n/number_modifiers.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/number_modifiers.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/rbnf.o ../deps/icu-small/source/i18n/rbnf.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/rbnf.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/esctrn.o ../deps/icu-small/source/i18n/esctrn.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/esctrn.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/ucol_res.o ../deps/icu-small/source/i18n/ucol_res.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/ucol_res.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/regexcmp.o ../deps/icu-small/source/i18n/regexcmp.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/regexcmp.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/plurrule.o ../deps/icu-small/source/i18n/plurrule.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/plurrule.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/double-conversion-string-to-double.o ../deps/icu-small/source/i18n/double-conversion-string-to-double.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/double-conversion-string-to-double.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/string_segment.o ../deps/icu-small/source/i18n/string_segment.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/string_segment.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/csmatch.o ../deps/icu-small/source/i18n/csmatch.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/csmatch.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/simpletz.o ../deps/icu-small/source/i18n/simpletz.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/simpletz.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/formattedval_sbimpl.o ../deps/icu-small/source/i18n/formattedval_sbimpl.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/formattedval_sbimpl.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/compactdecimalformat.o ../deps/icu-small/source/i18n/compactdecimalformat.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/compactdecimalformat.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/tznames_impl.o ../deps/icu-small/source/i18n/tznames_impl.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/tznames_impl.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/numparse_currency.o ../deps/icu-small/source/i18n/numparse_currency.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/numparse_currency.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/fpositer.o ../deps/icu-small/source/i18n/fpositer.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/fpositer.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/nfrule.o ../deps/icu-small/source/i18n/nfrule.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/nfrule.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/numparse_compositions.o ../deps/icu-small/source/i18n/numparse_compositions.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/numparse_compositions.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/utmscale.o ../deps/icu-small/source/i18n/utmscale.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/utmscale.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/utrans.o ../deps/icu-small/source/i18n/utrans.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/utrans.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/listformatter.o ../deps/icu-small/source/i18n/listformatter.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/listformatter.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/curramt.o ../deps/icu-small/source/i18n/curramt.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/curramt.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/measunit.o ../deps/icu-small/source/i18n/measunit.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/measunit.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/buddhcal.o ../deps/icu-small/source/i18n/buddhcal.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/buddhcal.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/udateintervalformat.o ../deps/icu-small/source/i18n/udateintervalformat.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/udateintervalformat.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/uspoof_impl.o ../deps/icu-small/source/i18n/uspoof_impl.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/uspoof_impl.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/tzgnames.o ../deps/icu-small/source/i18n/tzgnames.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/tzgnames.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/rematch.o ../deps/icu-small/source/i18n/rematch.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/rematch.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/datefmt.o ../deps/icu-small/source/i18n/datefmt.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/datefmt.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/reldatefmt.o ../deps/icu-small/source/i18n/reldatefmt.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/reldatefmt.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/vtzone.o ../deps/icu-small/source/i18n/vtzone.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/vtzone.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/tztrans.o ../deps/icu-small/source/i18n/tztrans.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/tztrans.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/collationdatabuilder.o ../deps/icu-small/source/i18n/collationdatabuilder.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/collationdatabuilder.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/repattrn.o ../deps/icu-small/source/i18n/repattrn.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/repattrn.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/collationcompare.o ../deps/icu-small/source/i18n/collationcompare.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/collationcompare.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/rbt_data.o ../deps/icu-small/source/i18n/rbt_data.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/rbt_data.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/units_complexconverter.o ../deps/icu-small/source/i18n/units_complexconverter.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/units_complexconverter.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/csrecog.o ../deps/icu-small/source/i18n/csrecog.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/csrecog.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/number_patternstring.o ../deps/icu-small/source/i18n/number_patternstring.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/number_patternstring.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/udat.o ../deps/icu-small/source/i18n/udat.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/udat.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/tolowtrn.o ../deps/icu-small/source/i18n/tolowtrn.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/tolowtrn.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/numparse_impl.o ../deps/icu-small/source/i18n/numparse_impl.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/numparse_impl.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/unum.o ../deps/icu-small/source/i18n/unum.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/unum.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/rbtz.o ../deps/icu-small/source/i18n/rbtz.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/rbtz.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/uni2name.o ../deps/icu-small/source/i18n/uni2name.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/uni2name.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + touch $SRC_DIR/node-v18.19.1/out/Release/obj.target/tools/v8_gypfiles/v8_bigint.stamp + touch $SRC_DIR/node-v18.19.1/out/Release/obj.target/tools/v8_gypfiles/v8_heap_base.stamp + touch $SRC_DIR/node-v18.19.1/out/Release/obj.target/tools/v8_gypfiles/cppgc_base.stamp + touch 7c3e22e70fd7ad60278a99f71782417440fb78d1.intermediate + LD_LIBRARY_PATH=$SRC_DIR/node-v18.19.1/out/Release/lib.host:$SRC_DIR/node-v18.19.1/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../tools/v8_gypfiles; mkdir -p $SRC_DIR/node-v18.19.1/out/Release/obj/gen/inspector-generated-output-root/src/inspector/protocol $SRC_DIR/node-v18.19.1/out/Release/obj/gen/inspector-generated-output-root/include/inspector; /usr/local/bin/python3.11 ../../deps/v8/third_party/inspector_protocol/code_generator.py --jinja_dir ../../deps/v8/third_party --output_base "$SRC_DIR/node-v18.19.1/out/Release/obj/gen/inspector-generated-output-root/src/inspector" --config ../../deps/v8/src/inspector/inspector_protocol_config.json --config_value "protocol.path=../../deps/v8/include/js_protocol.pdl" --inspector_protocol_dir ../../deps/v8/third_party/inspector_protocol + In file included from ../deps/v8/src/libplatform/tracing/trace-writer.cc:14: + ../deps/v8/src/libplatform/tracing/recorder.h:17:10: fatal error: 'os/signpost.h' file not found + #include + ^~~~~~~~~~~~~~~ + 1 error generated. + make[1]: *** [tools/v8_gypfiles/v8_libplatform.target.mk:175: /opt/mambaforge/envs/bioconda/conda-bld/k8_1717953792721/work/node-v18.19.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/tracing/trace-writer.o] Error 1 + make[1]: *** Waiting for unfinished jobs.... + make: *** [Makefile:134: node] Error 2 + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/default-foreground-task-runner.o ../deps/v8/src/libplatform/default-foreground-task-runner.cc '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DV8_TARGET_ARCH_X64' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_MACOS' '-DV8_EMBEDDER_STRING="-node.28"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DV8_SHORT_BUILTIN_CALLS' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_ATOMIC_OBJECT_FIELD_WRITES' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DV8_SHARED_RO_HEAP' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_ENABLE_SYSTEM_INSTRUMENTATION' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_SCRIPTORMODULE_LEGACY_LIFETIME' '-DV8_ADVANCED_BIGINT_ALGORITHMS' -I../deps/v8 -I../deps/v8/include -O3 -gdwarf-2 -fstrict-aliasing -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/default-foreground-task-runner.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/default-job.o ../deps/v8/src/libplatform/default-job.cc '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DV8_TARGET_ARCH_X64' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_MACOS' '-DV8_EMBEDDER_STRING="-node.28"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DV8_SHORT_BUILTIN_CALLS' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_ATOMIC_OBJECT_FIELD_WRITES' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DV8_SHARED_RO_HEAP' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_ENABLE_SYSTEM_INSTRUMENTATION' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_SCRIPTORMODULE_LEGACY_LIFETIME' '-DV8_ADVANCED_BIGINT_ALGORITHMS' -I../deps/v8 -I../deps/v8/include -O3 -gdwarf-2 -fstrict-aliasing -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/default-job.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/default-platform.o ../deps/v8/src/libplatform/default-platform.cc '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DV8_TARGET_ARCH_X64' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_MACOS' '-DV8_EMBEDDER_STRING="-node.28"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DV8_SHORT_BUILTIN_CALLS' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_ATOMIC_OBJECT_FIELD_WRITES' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DV8_SHARED_RO_HEAP' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_ENABLE_SYSTEM_INSTRUMENTATION' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_SCRIPTORMODULE_LEGACY_LIFETIME' '-DV8_ADVANCED_BIGINT_ALGORITHMS' -I../deps/v8 -I../deps/v8/include -O3 -gdwarf-2 -fstrict-aliasing -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/default-platform.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/k8_1717953792721/work/conda_build.sh']' returned non-zero exit status 2. + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/default-worker-threads-task-runner.o ../deps/v8/src/libplatform/default-worker-threads-task-runner.cc '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DV8_TARGET_ARCH_X64' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_MACOS' '-DV8_EMBEDDER_STRING="-node.28"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DV8_SHORT_BUILTIN_CALLS' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_ATOMIC_OBJECT_FIELD_WRITES' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DV8_SHARED_RO_HEAP' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_ENABLE_SYSTEM_INSTRUMENTATION' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_SCRIPTORMODULE_LEGACY_LIFETIME' '-DV8_ADVANCED_BIGINT_ALGORITHMS' -I../deps/v8 -I../deps/v8/include -O3 -gdwarf-2 -fstrict-aliasing -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/default-worker-threads-task-runner.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/delayed-task-queue.o ../deps/v8/src/libplatform/delayed-task-queue.cc '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DV8_TARGET_ARCH_X64' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_MACOS' '-DV8_EMBEDDER_STRING="-node.28"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DV8_SHORT_BUILTIN_CALLS' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_ATOMIC_OBJECT_FIELD_WRITES' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DV8_SHARED_RO_HEAP' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_ENABLE_SYSTEM_INSTRUMENTATION' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_SCRIPTORMODULE_LEGACY_LIFETIME' '-DV8_ADVANCED_BIGINT_ALGORITHMS' -I../deps/v8 -I../deps/v8/include -O3 -gdwarf-2 -fstrict-aliasing -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/delayed-task-queue.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/task-queue.o ../deps/v8/src/libplatform/task-queue.cc '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DV8_TARGET_ARCH_X64' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_MACOS' '-DV8_EMBEDDER_STRING="-node.28"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DV8_SHORT_BUILTIN_CALLS' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_ATOMIC_OBJECT_FIELD_WRITES' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DV8_SHARED_RO_HEAP' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_ENABLE_SYSTEM_INSTRUMENTATION' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_SCRIPTORMODULE_LEGACY_LIFETIME' '-DV8_ADVANCED_BIGINT_ALGORITHMS' -I../deps/v8 -I../deps/v8/include -O3 -gdwarf-2 -fstrict-aliasing -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/task-queue.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/tracing/trace-buffer.o ../deps/v8/src/libplatform/tracing/trace-buffer.cc '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DV8_TARGET_ARCH_X64' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_MACOS' '-DV8_EMBEDDER_STRING="-node.28"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DV8_SHORT_BUILTIN_CALLS' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_ATOMIC_OBJECT_FIELD_WRITES' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DV8_SHARED_RO_HEAP' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_ENABLE_SYSTEM_INSTRUMENTATION' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_SCRIPTORMODULE_LEGACY_LIFETIME' '-DV8_ADVANCED_BIGINT_ALGORITHMS' -I../deps/v8 -I../deps/v8/include -O3 -gdwarf-2 -fstrict-aliasing -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/tracing/trace-buffer.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/tracing/trace-config.o ../deps/v8/src/libplatform/tracing/trace-config.cc '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DV8_TARGET_ARCH_X64' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_MACOS' '-DV8_EMBEDDER_STRING="-node.28"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DV8_SHORT_BUILTIN_CALLS' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_ATOMIC_OBJECT_FIELD_WRITES' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DV8_SHARED_RO_HEAP' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_ENABLE_SYSTEM_INSTRUMENTATION' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_SCRIPTORMODULE_LEGACY_LIFETIME' '-DV8_ADVANCED_BIGINT_ALGORITHMS' -I../deps/v8 -I../deps/v8/include -O3 -gdwarf-2 -fstrict-aliasing -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/tracing/trace-config.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/tracing/trace-object.o ../deps/v8/src/libplatform/tracing/trace-object.cc '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DV8_TARGET_ARCH_X64' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_MACOS' '-DV8_EMBEDDER_STRING="-node.28"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DV8_SHORT_BUILTIN_CALLS' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_ATOMIC_OBJECT_FIELD_WRITES' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DV8_SHARED_RO_HEAP' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_ENABLE_SYSTEM_INSTRUMENTATION' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_SCRIPTORMODULE_LEGACY_LIFETIME' '-DV8_ADVANCED_BIGINT_ALGORITHMS' -I../deps/v8 -I../deps/v8/include -O3 -gdwarf-2 -fstrict-aliasing -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/tracing/trace-object.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/tracing/trace-writer.o ../deps/v8/src/libplatform/tracing/trace-writer.cc '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DV8_TARGET_ARCH_X64' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_MACOS' '-DV8_EMBEDDER_STRING="-node.28"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DV8_SHORT_BUILTIN_CALLS' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_ATOMIC_OBJECT_FIELD_WRITES' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DV8_SHARED_RO_HEAP' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_ENABLE_SYSTEM_INSTRUMENTATION' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_SCRIPTORMODULE_LEGACY_LIFETIME' '-DV8_ADVANCED_BIGINT_ALGORITHMS' -I../deps/v8 -I../deps/v8/include -O3 -gdwarf-2 -fstrict-aliasing -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/tracing/trace-writer.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/tracing/tracing-controller.o ../deps/v8/src/libplatform/tracing/tracing-controller.cc '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DV8_TARGET_ARCH_X64' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_MACOS' '-DV8_EMBEDDER_STRING="-node.28"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DV8_SHORT_BUILTIN_CALLS' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_ATOMIC_OBJECT_FIELD_WRITES' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DV8_SHARED_RO_HEAP' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_ENABLE_SYSTEM_INSTRUMENTATION' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_SCRIPTORMODULE_LEGACY_LIFETIME' '-DV8_ADVANCED_BIGINT_ALGORITHMS' -I../deps/v8 -I../deps/v8/include -O3 -gdwarf-2 -fstrict-aliasing -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/tracing/tracing-controller.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + x86_64-apple-darwin13.4.0-clang -o $SRC_DIR/node-v18.19.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/worker-thread.o ../deps/v8/src/libplatform/worker-thread.cc '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DV8_TARGET_ARCH_X64' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_MACOS' '-DV8_EMBEDDER_STRING="-node.28"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DV8_SHORT_BUILTIN_CALLS' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_ATOMIC_OBJECT_FIELD_WRITES' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DV8_SHARED_RO_HEAP' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_ENABLE_SYSTEM_INSTRUMENTATION' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_SCRIPTORMODULE_LEGACY_LIFETIME' '-DV8_ADVANCED_BIGINT_ALGORITHMS' -I../deps/v8 -I../deps/v8/include -O3 -gdwarf-2 -fstrict-aliasing -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu17 -stdlib=libc -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF $SRC_DIR/node-v18.19.1/out/Release/.deps/$SRC_DIR/node-v18.19.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/worker-thread.o.d.raw -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/k8-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c + rm 7c3e22e70fd7ad60278a99f71782417440fb78d1.intermediate +# Last 100 lines of the build log. +category: |- + compiler error diff --git a/recipes/k8/conda_build_config.yaml b/recipes/k8/conda_build_config.yaml new file mode 100644 index 0000000000000..7fe48bce70acc --- /dev/null +++ b/recipes/k8/conda_build_config.yaml @@ -0,0 +1,3 @@ +c_stdlib_version: # [unix] + - 2.17 # [linux and x86_64] + - 2.17 # [linux and not x86_64] \ No newline at end of file diff --git a/recipes/k8/meta.yaml b/recipes/k8/meta.yaml index 97623689f165e..98f026709acd1 100644 --- a/recipes/k8/meta.yaml +++ b/recipes/k8/meta.yaml @@ -1,28 +1,50 @@ -{% set version = "0.2.5" %} +{% set name = "k8" %} +{% set version = "1.2" %} + package: - name: k8 + name: {{ name }} version: {{ version }} source: - url: https://github.com/attractivechaos/k8/releases/download/{{ version }}/k8-{{ version }}.tar.bz2 - sha256: a937ac44532e042cd89ac743647b592c21cfcf31679e39e5f362e81034d93d18 + url: https://github.com/attractivechaos/k8/archive/refs/tags/v{{ version }}.tar.gz + sha256: 4157aa86066eb0a7874de194893c4544ac772d009cc1148377c9c346f9fc6d07 build: - number: 4 + number: 3 + skip: True # [osx and x86_64] + run_exports: + - {{ pin_subpackage('k8', max_pin="x") }} requirements: build: - {{ compiler('cxx') }} + - make + - sysroot_linux-64 >=2.17 # [linux and x86_64] host: + - python >=3.8 + - setuptools - zlib + - wget + - tar + - sed + - sysroot_linux-64 >=2.17 # [linux and x86_64] run: - - zlib + - sysroot_linux-64 >=2.17 # [linux and x86_64] test: commands: - - k8 -v | grep '^K8' + - k8 -v | grep '^k8' about: - home: https://github.com/attractivechaos/k8 + home: "https://github.com/attractivechaos/k8" license: MIT - summary: "Lightweight JavaScript shell based on Google's V8 JavaScript engine" + license_family: MIT + license_file: "LICENSE.txt" + summary: "Lightweight JavaScript shell based on Google's V8 JavaScript engine." + dev_url: "https://github.com/attractivechaos/k8" + doc_url: "https://github.com/attractivechaos/k8/blob/v{{ version }}/README.md" + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/k8/nodejs-x86_64.patch b/recipes/k8/nodejs-x86_64.patch new file mode 100644 index 0000000000000..ff5a091f47f9f --- /dev/null +++ b/recipes/k8/nodejs-x86_64.patch @@ -0,0 +1,14 @@ +--- src/debug_utils.cc.orig 2024-03-19 15:40:50.492023297 +0200 ++++ src/debug_utils.cc 2024-03-19 15:44:34.032276878 +0200 +@@ -476,7 +476,10 @@ + void FWrite(FILE* file, const std::string& str) { + auto simple_fwrite = [&]() { + // The return value is ignored because there's no good way to handle it. +- fwrite(str.data(), str.size(), 1, file); ++ size_t ret = fwrite(str.data(), str.size(), 1, file); ++ if (ret != str.size()) { ++ fprintf(stderr, "fwrite returned error : %lu\n", ret); ++ } + }; + + if (file != stderr && file != stdout) { diff --git a/recipes/kaiju/build.sh b/recipes/kaiju/build.sh index 18d6b28918644..8ce3705bf9885 100755 --- a/recipes/kaiju/build.sh +++ b/recipes/kaiju/build.sh @@ -11,7 +11,7 @@ mkdir -p $PREFIX/bin cd $SRC_DIR/src/ -make CC=${CC} CXX=${CXX} +make CC=${CC} CXX=${CXX} -j ${CPU_COUNT} cd $SRC_DIR/bin/ cp kaiju* $PREFIX/bin diff --git a/recipes/kaiju/meta.yaml b/recipes/kaiju/meta.yaml index a12694188896f..db305614f3c6f 100644 --- a/recipes/kaiju/meta.yaml +++ b/recipes/kaiju/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.10.0" %} +{% set version = "1.10.1" %} package: name: kaiju @@ -6,10 +6,10 @@ package: source: url: https://github.com/bioinformatics-centre/kaiju/archive/v{{ version }}.tar.gz - sha256: 328c85ee1d5e4eafb18b8dd0bcf26b6ba88ba15ab4f14443ac643cd7e6675267 + sha256: 3cc05533bf6007ffeff2d755c935354952b09a6b903c5e538dff14285b3c86e8 build: - number: 0 + number: 1 no_link: - bin/kaiju-makedb.sh run_exports: @@ -42,6 +42,8 @@ about: dev_url: https://github.com/bioinformatics-centre/kaiju extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:kaiju - doi:10.1038/ncomms11257 diff --git a/recipes/kalamari/build.sh b/recipes/kalamari/build.sh new file mode 100644 index 0000000000000..4c8c7279a4d38 --- /dev/null +++ b/recipes/kalamari/build.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +mkdir -pv $PREFIX/bin +mkdir -pv $PREFIX/src +mkdir -pv $PREFIX/share/${PKG_NAME}-${PKG_VERSION} + +# Add in the correct version for the build +sed -i.bak "s/VERSION=.\+/VERSION=\"${PKG_VERSION}\"/" bin/downloadKalamari.sh + +for i in bin/*.pl bin/*.sh bin/*.py; do + chmod -v 755 $i + cp -vf $i $PREFIX/bin/ +done + +for i in src/*.tsv; do + cp -vf $i $PREFIX/src/ +done +cp -rvf src/taxonomy $PREFIX/src/ diff --git a/recipes/kalamari/meta.yaml b/recipes/kalamari/meta.yaml new file mode 100644 index 0000000000000..86fd246313eeb --- /dev/null +++ b/recipes/kalamari/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "Kalamari" %} +{% set version = "5.7.1" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/lskatz/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: 41a70037424da3658e6c92e3faca335d4cf02301fc74a5b5b27cd2611aef5681 + +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} + +requirements: + host: + - perl + - perl-module-build + - entrez-direct + run: + - perl + - perl-module-build + - entrez-direct + +test: + commands: + - downloadKalamari.pl --help + +about: + home: "https://github.com/lskatz/kalamari" + summary: "A curated database of completed assemblies with taxonomy IDs" + description: | + Kalamari is a curated database of assemblies and taxonomies. + These assemblies are curated mainly for foodborne bacteria but have other taxa + such as SARS-CoV-2 and Crytposporidium. + Taxonomy has been modified from NCBI Taxonomy and has been minimalized to + just what is needed here. + license: "Creative Commons 4.0" + license_family: CC + license_file: "LICENSE.md" + doc_url: "https://github.com/lskatz/Kalamari/blob/master/README.md" + dev_url: "https://github.com/lskatz/Kalamari" + +extra: + recipe-maintainers: + - lskatz + - rpetit3 diff --git a/recipes/kalamari/post-link.sh b/recipes/kalamari/post-link.sh new file mode 100644 index 0000000000000..af81165b3b0ad --- /dev/null +++ b/recipes/kalamari/post-link.sh @@ -0,0 +1,23 @@ +DB_PREFIX="$PREFIX/share/${PKG_NAME}-${PKG_VERSION}" +echo " +=================== +Kalamari installed. + +To download the files, run downloadKalamari.sh +This will load the files into: + +* $DB_PREFIX/kalamari - the genomic files + +The following databases are available: +* buildTaxonomy.sh - builds a modified taxonomy directory at $DB_PREFIX/taxonomy +* filterTaxonomy.sh - filters the taxonomy directory into just taxa that are used in Kalamari into $DB_PREFIX/taxonomy/filtered (requires taxonkit) + +The following depend on a built taxonomy from buildTaxonomy.sh +* buildKraken1.sh - creates a Kraken1 database at $DB_PREFIX/kraken.kalamari (requires filterTaxonomy.sh, Kraken1) +* buildKraken2.sh - creates a Kraken2 database at $DB_PREFIX/kraken2.kalamari (requires filterTaxonomy.sh, Kraken2) + +For more refined options, please start with + downloadKalamari.pl --help +=================== + +" > $PREFIX/.messages.txt diff --git a/recipes/kalign2/meta.yaml b/recipes/kalign2/meta.yaml index 12287cdb17f9d..009cfc0dabbcb 100644 --- a/recipes/kalign2/meta.yaml +++ b/recipes/kalign2/meta.yaml @@ -6,8 +6,9 @@ package: version: {{ version }} build: - number: 5 - skip: True # [osx] + number: 7 + run_exports: + - {{ pin_subpackage('kalign2', max_pin='x') }} source: url: http://msa.sbc.su.se/downloads/kalign/current.tar.gz @@ -31,3 +32,6 @@ about: extra: identifiers: - doi:10.1186/1471-2105-6-298 + additional-platforms: + - linux-aarch64 + - osx-arm64 \ No newline at end of file diff --git a/recipes/kalign3/build.sh b/recipes/kalign3/build.sh index dcc1809fa1c98..57d2c16eae4be 100644 --- a/recipes/kalign3/build.sh +++ b/recipes/kalign3/build.sh @@ -1,8 +1,8 @@ #!/bin/bash -set -eo pipefail +set -xeo pipefail mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=${PREFIX} .. -make +make -j ${CPU_COUNT} make install diff --git a/recipes/kalign3/meta.yaml b/recipes/kalign3/meta.yaml index 56b22956d1687..29793014d4418 100644 --- a/recipes/kalign3/meta.yaml +++ b/recipes/kalign3/meta.yaml @@ -1,18 +1,18 @@ {% set name = "kalign3" %} -{% set version = "3.3.5" %} +{% set version = "3.4.0" %} package: name: {{ name|lower }} version: {{ version }} build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage(name, max_pin='x') }} source: url: https://github.com/TimoLassmann/kalign/archive/refs/tags/v{{ version }}.tar.gz - sha256: 75f3a127d2a9eef1eafd931fb0785736eb3f82826be506e7edd00daf1ba26212 + sha256: 67d1a562d54b3b7622cc3164588c05b9e2bf8f1a5140bb48a4e816c61a87d4a8 requirements: build: @@ -27,10 +27,13 @@ test: about: home: https://github.com/TimoLassmann/kalign - license: GPL3 + license: GPL-3.0-only license_file: COPYING summary: 'Kalign is a fast and accurate multiple sequence alignment algorithm.' extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - doi:10.1093/bioinformatics/btz795 diff --git a/recipes/kallisto/build.sh b/recipes/kallisto/build.sh index b797c382d4071..5f7b7f92b140d 100644 --- a/recipes/kallisto/build.sh +++ b/recipes/kallisto/build.sh @@ -1,12 +1,38 @@ #!/bin/bash +mkdir -p "${PREFIX}/bin" +export M4="${BUILD_PREFIX}/bin/m4" + cd ext/htslib || exit 1 autoreconf --force --install --verbose ./configure cd ../.. || exit 1 -mkdir -p "${PREFIX}/bin" -mkdir -p build -cd build || exit 1 -cmake -DCMAKE_INSTALL_PREFIX:PATH="$PREFIX" .. -DUSE_HDF5=ON -make -make install + +case $(uname -m) in + x86_64) + ARCH_OPTS="-DENABLE_AVX2=OFF -DCOMPILATION_ARCH=OFF" + ;; + aarch64) + ARCH_OPTS="-DCOMPILATION_ARCH=OFF" + ;; + arm64) + ARCH_OPTS="-DENABLE_AVX2=OFF -DCOMPILATION_ARCH=OFF" + ;; + *) + ;; +esac + +if [[ `uname` == "Darwin" ]]; then + export CONFIG_ARGS="-DCMAKE_FIND_FRAMEWORK=NEVER -DCMAKE_FIND_APPBUNDLE=NEVER" +else + export CONFIG_ARGS="" +fi + +cmake -S. -B build -DCMAKE_INSTALL_PREFIX="${PREFIX}" \ + -DUSE_HDF5=ON -DUSE_BAM=ON -DBUILD_FUNCTESTING=ON -DMAX_KMER_SIZE=64 \ + -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER="${CXX}" \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS} -O3 -I${PREFIX}/include" \ + "${ARCH_OPTS}" \ + "${CONFIG_ARGS}" + +cmake --build build --target install -v diff --git a/recipes/kallisto/meta.yaml b/recipes/kallisto/meta.yaml index 88a82fc9c9e7f..49b6ca8115b6e 100644 --- a/recipes/kallisto/meta.yaml +++ b/recipes/kallisto/meta.yaml @@ -1,12 +1,13 @@ -{% set version = "0.50.1" %} +{% set name = "kallisto" %} +{% set version = "0.51.1" %} package: - name: kallisto + name: {{ name }} version: {{ version }} source: - url: https://github.com/pachterlab/kallisto/archive/v{{ version }}.tar.gz - sha256: 030752bab3b0e33cd3f23f6d8feddd74194e5513532ffbf23519e84db2a86d34 + url: https://github.com/pachterlab/kallisto/archive/refs/tags/v{{ version }}.tar.gz + sha256: a8bcc23bca6ac758f15e30bb77e9e169e628beff2da3be2e34a53e1d42253516 build: number: 0 @@ -21,33 +22,34 @@ requirements: - autoconf - automake host: + - libcurl - bzip2 - hdf5 - xz - zlib run: - - bzip2 - hdf5 - - xz - - zlib test: commands: - kallisto cite about: - home: "http://pachterlab.github.io/kallisto" - license: BSD-2-Clause + home: "https://pachterlab.github.io/kallisto" + license: "BSD-2-Clause" license_family: BSD - summary: Quantifying abundances of transcripts from RNA-Seq data, or more generally of target sequences using high-throughput sequencing reads. - dev_url: https://github.com/pachterlab/kallisto + summary: "Quantifying abundances of transcripts from RNA-Seq data, or more generally of target sequences using high-throughput sequencing reads." + dev_url: "https://github.com/pachterlab/kallisto" doc_url: "https://pachterlab.github.io/kallisto/manual.html" extra: identifiers: - biotools:kallisto - doi:10.1038/nbt.3519 + - usegalaxy-eu:kallisto_pseudo + - usegalaxy-eu:kallisto_quant recipe-maintainers: - mjsteinbaugh - skip-lints: - - missing_tests + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/kaptive/build.sh b/recipes/kaptive/build.sh deleted file mode 100644 index 8792b601d75fa..0000000000000 --- a/recipes/kaptive/build.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -mkdir -p $PREFIX/bin -mv kaptive.py $PREFIX/bin -chmod +x $PREFIX/bin/kaptive.py -mkdir -p $PREFIX/opt/kaptive_reference_database -mkdir -p $PREFIX/opt/kaptive_sample_data - -mv $SRC_DIR/reference_database/*.* $PREFIX/opt/kaptive_reference_database/ -mv $SRC_DIR/sample_data/*.* $PREFIX/opt/kaptive_reference_database/ diff --git a/recipes/kaptive/meta.yaml b/recipes/kaptive/meta.yaml index 84ac9c281a046..8d9a87e3e7b3c 100644 --- a/recipes/kaptive/meta.yaml +++ b/recipes/kaptive/meta.yaml @@ -1,30 +1,49 @@ -{% set version = "2.0.6" %} +{% set name = "kaptive" %} +{% set version = "3.0.0b5" %} package: - name: kaptive + name: {{ name|lower }} version: {{ version }} source: - url: https://github.com/katholt/Kaptive/archive/v{{ version }}.tar.gz - sha256: 53a90693c00a05b55e7ebb6f2eb999a89f47f6c279600ac2018f831287119019 + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/kaptive-{{ version }}.tar.gz + sha256: d1462db66b22b6c9f42922df6ba05526cb08a453e311e6da2704603e60cb84c3 build: + entry_points: + - kaptive = kaptive.__main__:main + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir number: 0 - noarch: generic + run_exports: + - {{ pin_subpackage('kaptive', max_pin="x") }} requirements: + host: + - python >=3.9 + - pip run: - - python >=3 - - biopython <1.78 - - numpy - - blast >=2.3.0 + - python >=3.9 + - biopython >=1.83 + - dna_features_viewer + - minimap2 test: + imports: + - kaptive commands: - - kaptive.py -h + - kaptive --help + - minimap2 --help about: - home: https://github.com/katholt/Kaptive - license: GPL3 + home: "https://kaptive.readthedocs.io/en/latest" + dev_url: "https://github.com/klebgenomics/Kaptive" + summary: "Reports information about surface polysaccharide loci for Klebsiella pneumoniae species complex and Acinetobacter baumannii genome assemblies." + license: "GPL-3.0-or-later" + license_family: GPL3 license_file: LICENSE - summary: Reports information about surface polysaccharide loci for Klebsiella and Acinetobacter baumannii genome assemblies + doc_url: "https://kaptive.readthedocs.io/en/latest" + +extra: + recipe-maintainers: + - tomdstanton diff --git a/recipes/kaptive/post-link.sh b/recipes/kaptive/post-link.sh deleted file mode 100644 index 04984ece131ff..0000000000000 --- a/recipes/kaptive/post-link.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -echo "Kaptive is installed with its database at...$PREFIX/opt/kaptive_reference_database. When you run kaptive.py, you can specify -path to one of the databases as the following example: -kaptive.py -fa /path/to/a/file.fasta -k $PREFIX/opt/kaptive_reference_database/Klebsiella_k_locus_primary_reference.gbk -o output -" diff --git a/recipes/kart/build_failure.osx-64.yaml b/recipes/kart/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..2b69210bd38f2 --- /dev/null +++ b/recipes/kart/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 34d5591189ba4b0ec2521b259cd4776a6b46131fe3acb420d156ee4cd35ec170 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + $SRC_DIR/src/BWT_Index $SRC_DIR + x86_64-apple-darwin13.4.0-clang -c -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix utils.c -o utils.o + x86_64-apple-darwin13.4.0-clang -c -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix bwt.c -o bwt.o + x86_64-apple-darwin13.4.0-clang -c -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix bntseq.c -o bntseq.o + x86_64-apple-darwin13.4.0-clang -c -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix QSufSort.c -o QSufSort.o + x86_64-apple-darwin13.4.0-clang -c -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix bwt_gen.c -o bwt_gen.o + x86_64-apple-darwin13.4.0-clang -c -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix bwtindex.c -o bwtindex.o + ar -csru libbwa.a utils.o bwt.o bntseq.o QSufSort.o bwt_gen.o bwtindex.o + x86_64-apple-darwin13.4.0-clang -c -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix main.c -o main.o + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix main.o -o bwt_index -L. -lbwa -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -lm -lz + $SRC_DIR + $SRC_DIR/src/htslib $SRC_DIR + echo '/* Default config.h generated by Makefile */' > config.h + echo '#define HAVE_LIBBZ2 1' >> config.h + echo '#define HAVE_LIBLZMA 1' >> config.h + echo '#define HAVE_FSEEKO 1' >> config.h + echo '#define HAVE_DRAND48 1' >> config.h + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o kfunc.o kfunc.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o knetfile.o knetfile.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o kstring.o kstring.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o bcf_sr_sort.o bcf_sr_sort.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o bgzf.o bgzf.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o errmod.o errmod.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o faidx.o faidx.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o hfile.o hfile.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o hfile_net.o hfile_net.c + echo '#define HTS_VERSION "1.5"' > version.h + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o hts.o hts.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o hts_os.o hts_os.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o md5.o md5.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o multipart.o multipart.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o probaln.o probaln.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o realn.o realn.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o regidx.o regidx.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o sam.o sam.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o synced_bcf_reader.o synced_bcf_reader.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o vcf_sweep.o vcf_sweep.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o tbx.o tbx.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o textutils.o textutils.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o thread_pool.o thread_pool.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o vcf.o vcf.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o vcfutils.o vcfutils.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/cram_codecs.o cram/cram_codecs.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/cram_decode.o cram/cram_decode.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/cram_encode.o cram/cram_encode.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/cram_external.o cram/cram_external.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/cram_index.o cram/cram_index.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/cram_io.o cram/cram_io.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/cram_samtools.o cram/cram_samtools.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/cram_stats.o cram/cram_stats.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/files.o cram/files.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/mFILE.o cram/mFILE.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/open_trace_file.o cram/open_trace_file.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/pooled_alloc.o cram/pooled_alloc.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/rANS_static.o cram/rANS_static.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/sam_header.o cram/sam_header.c + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -I. -c -o cram/string_alloc.o cram/string_alloc.c + ar -rc libhts.a kfunc.o knetfile.o kstring.o bcf_sr_sort.o bgzf.o errmod.o faidx.o hfile.o hfile_net.o hts.o hts_os.o md5.o multipart.o probaln.o realn.o regidx.o sam.o synced_bcf_reader.o vcf_sweep.o tbx.o textutils.o thread_pool.o vcf.o vcfutils.o cram/cram_codecs.o cram/cram_decode.o cram/cram_encode.o cram/cram_external.o cram/cram_index.o cram/cram_io.o cram/cram_samtools.o cram/cram_stats.o cram/files.o cram/mFILE.o cram/open_trace_file.o cram/pooled_alloc.o cram/rANS_static.o cram/sam_header.o cram/string_alloc.o + ranlib libhts.a + $SRC_DIR + $SRC_DIR/src $SRC_DIR + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -D NDEBUG -O3 -m64 -msse4.1 -fPIC -c main.cpp + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kart-2.5.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -D NDEBUG -O3 -m64 -msse4.1 -fPIC -c GetData.cpp +# Last 100 lines of the build log. diff --git a/recipes/kart/meta.yaml b/recipes/kart/meta.yaml index 50baa9b22dc19..e3a2a13cee4e8 100644 --- a/recipes/kart/meta.yaml +++ b/recipes/kart/meta.yaml @@ -9,7 +9,7 @@ source: sha256: 3ec028e0c0bb24e11f1be92b0151e020bcd50b160fdf0f33d120b675f151365a build: - number: 4 + number: 5 requirements: build: diff --git a/recipes/kb-python/config.py.patch b/recipes/kb-python/config.py.patch deleted file mode 100644 index d1bf314ad1f56..0000000000000 --- a/recipes/kb-python/config.py.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/kb_python/config.py -+++ b/kb_python/config.py -@@ -19,6 +19,7 @@ def get_provided_kallisto_path(): - :return: path to the binary, `None` if not found - :rtype: str - """ -+ return "kallisto" - bin_filename = 'kallisto.exe' if PLATFORM == 'windows' else 'kallisto' - path = os.path.join( - PACKAGE_PATH, BINS_DIR, PLATFORM, 'kallisto', bin_filename -@@ -34,6 +35,7 @@ def get_provided_bustools_path(): - :return: path to the binary, `None` if not found - :rtype: str - """ -+ return "bustools" - bin_filename = 'bustools.exe' if PLATFORM == 'windows' else 'bustools' - path = os.path.join( - PACKAGE_PATH, BINS_DIR, PLATFORM, 'bustools', bin_filename - diff --git a/recipes/kb-python/meta.yaml b/recipes/kb-python/meta.yaml index 9cc58afa65d9a..f7bd0adb17bd0 100644 --- a/recipes/kb-python/meta.yaml +++ b/recipes/kb-python/meta.yaml @@ -1,5 +1,5 @@ {% set name = "kb-python" %} -{% set version = "0.28.0" %} +{% set version = "0.28.2" %} package: name: {{ name|lower }} @@ -7,11 +7,10 @@ package: source: url: https://github.com/pachterlab/kb_python/archive/v{{ version }}.tar.gz - sha256: ed3d655f6e60d87be5b5b013ffc54e68a943f2997b70ba4f7b3e8a1c83bd2b8a - patches: config.py.patch + sha256: e8c910865fd5196b1b3163e18a565ef96c8518b2cf34f87f288dfdc85b339078 build: - number: 0 + number: 2 noarch: python script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" entry_points: @@ -21,10 +20,10 @@ build: requirements: host: - - python >=3.7 + - python >=3.7, <3.9 - pip run: - - python >=3.7 + - python >=3.7, <3.9 - anndata >=0.6.22.post1 - h5py >=2.10.0 - jinja2 >2.10.1 @@ -33,13 +32,11 @@ requirements: - nbformat >=4.4.0 - ngs-tools >=1.5.11 - numpy >=1.17.2 - - pandas >=1.0.0 + - pandas >=1.0.0, <2 - plotly >=4.5.0 - scanpy >=1.4.4.post1 - scikit-learn >=0.21.3 - tqdm >=4.39.0 - - kallisto >=0.46.2 - - bustools >=0.40.0 - requests >=2.22.0 - typing-extensions >=3.7.4 diff --git a/recipes/kcounter/build_failure.linux-64.yaml b/recipes/kcounter/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..ca221592c130a --- /dev/null +++ b/recipes/kcounter/build_failure.linux-64.yaml @@ -0,0 +1,106 @@ +recipe_sha: c8a36d9ad38f8fbf901cc9e38a52f8856dd4ee9b582a7c12602214de281ea084 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + Downloaded pyo3 v0.13.2 + Downloaded libc v0.2.155 + Downloaded winapi v0.3.9 + Downloaded safemem v0.3.3 + Downloaded pyo3-macros-backend v0.13.2 + Downloaded pyo3-macros v0.13.2 + Downloaded inventory-impl v0.1.11 + Downloaded inventory v0.1.11 + Downloaded indoc v0.3.6 + Downloaded ghost v0.1.17 + Downloaded unindent v0.1.11 + Downloaded winapi-i686-pc-windows-gnu v0.4.0 + Downloaded unicode-ident v1.0.12 + Downloaded winapi-x86_64-pc-windows-gnu v0.4.0 + Downloaded syn v1.0.109 + Downloaded scopeguard v1.2.0 + Downloaded proc-macro2 v1.0.85 + Downloaded pkg-config v0.3.30 + Downloaded paste-impl v0.1.18 + Downloaded paste v0.1.18 + Downloaded parking_lot_core v0.8.6 + Downloaded parking_lot v0.11.2 + Downloaded needletail v0.4.1 + Downloaded miniz_oxide v0.7.3 + Downloaded memchr v2.7.2 + Downloaded lock_api v0.4.12 + Downloaded instant v0.1.13 + Downloaded flate2 v1.0.30 + Downloaded proc-macro-hack v0.5.20deprecated + Downloaded indoc-impl v0.3.6 + Downloaded crc32fast v1.4.2 + Downloaded bzip2-sys v0.1.111.0.8 + Downloaded bytecount v0.6.8 + Downloaded adler v1.0.2 + Downloaded bzip2 v0.4.4 + Downloaded buf_redux v0.8.4 + Downloaded autocfg v1.3.0 + Found pyo3 bindings + Found CPython 3.10 at /opt/conda/conda-bld/kcounter_1717952336381/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin/python + Compiling proc-macro2 v1.0.85 + Compiling unicode-ident v1.0.12 + Compiling syn v1.0.109 + Compiling libc v0.2.155 + Compiling cc v1.0.99 + error: linking with /opt/conda/conda-bld/kcounter_1717952336381/_build_env/bin/x86_64-conda-linux-gnu-cc failed: exit status: 1 + | + = note: LC_ALL="C" PATH="/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/home/conda/.cargo/bin:/opt/conda/conda-bld/kcounter_1717952336381/_build_env/bin:/opt/conda/conda-bld/kcounter_1717952336381/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin:/opt/conda/condabin:/opt/conda/conda-bld/kcounter_1717952336381/_build_env/bin:/opt/conda/conda-bld/kcounter_1717952336381/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin:/opt/conda/bin:/opt/conda/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/conda/bin" VSLANG="1033" "/opt/conda/conda-bld/kcounter_1717952336381/_build_env/bin/x86_64-conda-linux-gnu-cc" "-m64" "/tmp/rustcHGtoJS/symbols.o" "/opt/conda/conda-bld/kcounter_1717952336381/work/target/release/build/proc-macro2-f24ef631c5c4453c/build_script_build-f24ef631c5c4453c.build_script_build.ac3926a2cabd960f-cgu.0.rcgu.o" "/opt/conda/conda-bld/kcounter_1717952336381/work/target/release/build/proc-macro2-f24ef631c5c4453c/build_script_build-f24ef631c5c4453c.build_script_build.ac3926a2cabd960f-cgu.1.rcgu.o" "/opt/conda/conda-bld/kcounter_1717952336381/work/target/release/build/proc-macro2-f24ef631c5c4453c/build_script_build-f24ef631c5c4453c.974siq1idrtwlzpe4b7fazd69.rcgu.o" "-Wl,--as-needed" "-L" "/opt/conda/conda-bld/kcounter_1717952336381/work/target/release/deps" "-L" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d46578f9a4470f27.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-9ff13545d1688b3c.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-98f5e78f871c5595.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-f3d3451767410a17.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-16717cdb08dfbef5.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-58e3f8995df4edb4.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-2caea079085a58a2.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-314a4689716cb02e.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-5727477b0a78105a.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-7e555563aa211118.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-d9ed943652059c0d.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-ee5b5774583426df.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-c3e1f40644ffc9b8.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-e8bfe52be756260a.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-7b90a2705bcf265b.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-b6892f3c52c68f01.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-f72b956e24d1de70.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-632ae0f28c5e55ff.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-e8b7e96e438f08f6.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-B/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-B/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-B/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/self-contained" "-o" "/opt/conda/conda-bld/kcounter_1717952336381/work/target/release/build/proc-macro2-f24ef631c5c4453c/build_script_build-f24ef631c5c4453c" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,--strip-debug" "-nodefaultlibs" + = note: rust-lld: error: undefined symbol: getauxval + >>> referenced by stack_overflow.rs:237 (library/std/src/sys/pal/unix/stack_overflow.rs:237) + >>> std-d46578f9a4470f27.std.a54bcd08e7411830-cgu.0.rcgu.o:(std::sys::pal::unix::stack_overflow::imp::make_handler::h648b6dd35f16ad81) in archive /home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d46578f9a4470f27.rlib + >>> referenced by stack_overflow.rs:237 (library/std/src/sys/pal/unix/stack_overflow.rs:237) + >>> std-d46578f9a4470f27.std.a54bcd08e7411830-cgu.0.rcgu.o:(std::sys::sync::once::futex::Once::call::h3caf211f3255e91f) in archive /home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d46578f9a4470f27.rlib + collect2: error: ld returned 1 exit status + + + error: linking with /opt/conda/conda-bld/kcounter_1717952336381/_build_env/bin/x86_64-conda-linux-gnu-cc failed: exit status: 1 + | + = note: LC_ALL="C" PATH="/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/home/conda/.cargo/bin:/opt/conda/conda-bld/kcounter_1717952336381/_build_env/bin:/opt/conda/conda-bld/kcounter_1717952336381/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin:/opt/conda/condabin:/opt/conda/conda-bld/kcounter_1717952336381/_build_env/bin:/opt/conda/conda-bld/kcounter_1717952336381/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin:/opt/conda/bin:/opt/conda/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/conda/bin" VSLANG="1033" "/opt/conda/conda-bld/kcounter_1717952336381/_build_env/bin/x86_64-conda-linux-gnu-cc" "-m64" "/tmp/rustc9LDuWe/symbols.o" "/opt/conda/conda-bld/kcounter_1717952336381/work/target/release/build/syn-e93e6735c750467a/build_script_build-e93e6735c750467a.build_script_build.5c22b9c1257522dd-cgu.0.rcgu.o" "/opt/conda/conda-bld/kcounter_1717952336381/work/target/release/build/syn-e93e6735c750467a/build_script_build-e93e6735c750467a.build_script_build.5c22b9c1257522dd-cgu.1.rcgu.o" "/opt/conda/conda-bld/kcounter_1717952336381/work/target/release/build/syn-e93e6735c750467a/build_script_build-e93e6735c750467a.build_script_build.5c22b9c1257522dd-cgu.2.rcgu.o" "/opt/conda/conda-bld/kcounter_1717952336381/work/target/release/build/syn-e93e6735c750467a/build_script_build-e93e6735c750467a.5peiopk4mwf6r9hjpzf6gfaed.rcgu.o" "-Wl,--as-needed" "-L" "/opt/conda/conda-bld/kcounter_1717952336381/work/target/release/deps" "-L" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d46578f9a4470f27.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-9ff13545d1688b3c.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-98f5e78f871c5595.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-f3d3451767410a17.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-16717cdb08dfbef5.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-58e3f8995df4edb4.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-2caea079085a58a2.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-314a4689716cb02e.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-5727477b0a78105a.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-7e555563aa211118.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-d9ed943652059c0d.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-ee5b5774583426df.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-c3e1f40644ffc9b8.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-e8bfe52be756260a.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-7b90a2705bcf265b.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-b6892f3c52c68f01.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-f72b956e24d1de70.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-632ae0f28c5e55ff.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-e8b7e96e438f08f6.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-B/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-B/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-B/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/self-contained" "-o" "/opt/conda/conda-bld/kcounter_1717952336381/work/target/release/build/syn-e93e6735c750467a/build_script_build-e93e6735c750467a" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,--strip-debug" "-nodefaultlibs" + = note: rust-lld: error: undefined symbol: getauxval + >>> referenced by stack_overflow.rs:237 (library/std/src/sys/pal/unix/stack_overflow.rs:237) + >>> std-d46578f9a4470f27.std.a54bcd08e7411830-cgu.0.rcgu.o:(std::sys::pal::unix::stack_overflow::imp::make_handler::h648b6dd35f16ad81) in archive /home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d46578f9a4470f27.rlib + >>> referenced by stack_overflow.rs:237 (library/std/src/sys/pal/unix/stack_overflow.rs:237) + >>> std-d46578f9a4470f27.std.a54bcd08e7411830-cgu.0.rcgu.o:(std::sys::sync::once::futex::Once::call::h3caf211f3255e91f) in archive /home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d46578f9a4470f27.rlib + collect2: error: ld returned 1 exit status + + + error: could not compile proc-macro2 (build script) due to 1 previous error + warning: build failed, waiting for other jobs to finish... + error: could not compile syn (build script) due to 1 previous error + error: linking with /opt/conda/conda-bld/kcounter_1717952336381/_build_env/bin/x86_64-conda-linux-gnu-cc failed: exit status: 1 + | + = note: LC_ALL="C" PATH="/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/home/conda/.cargo/bin:/opt/conda/conda-bld/kcounter_1717952336381/_build_env/bin:/opt/conda/conda-bld/kcounter_1717952336381/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin:/opt/conda/condabin:/opt/conda/conda-bld/kcounter_1717952336381/_build_env/bin:/opt/conda/conda-bld/kcounter_1717952336381/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin:/opt/conda/bin:/opt/conda/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/conda/bin" VSLANG="1033" "/opt/conda/conda-bld/kcounter_1717952336381/_build_env/bin/x86_64-conda-linux-gnu-cc" "-m64" "/tmp/rustcSKCgs9/symbols.o" "/opt/conda/conda-bld/kcounter_1717952336381/work/target/release/build/libc-18a8ba3a588519b1/build_script_build-18a8ba3a588519b1.build_script_build.d1b5672f9cd6361d-cgu.0.rcgu.o" "/opt/conda/conda-bld/kcounter_1717952336381/work/target/release/build/libc-18a8ba3a588519b1/build_script_build-18a8ba3a588519b1.build_script_build.d1b5672f9cd6361d-cgu.1.rcgu.o" "/opt/conda/conda-bld/kcounter_1717952336381/work/target/release/build/libc-18a8ba3a588519b1/build_script_build-18a8ba3a588519b1.build_script_build.d1b5672f9cd6361d-cgu.2.rcgu.o" "/opt/conda/conda-bld/kcounter_1717952336381/work/target/release/build/libc-18a8ba3a588519b1/build_script_build-18a8ba3a588519b1.build_script_build.d1b5672f9cd6361d-cgu.3.rcgu.o" "/opt/conda/conda-bld/kcounter_1717952336381/work/target/release/build/libc-18a8ba3a588519b1/build_script_build-18a8ba3a588519b1.5mkujhylovfp71004z0q46836.rcgu.o" "-Wl,--as-needed" "-L" "/opt/conda/conda-bld/kcounter_1717952336381/work/target/release/deps" "-L" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d46578f9a4470f27.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-9ff13545d1688b3c.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-98f5e78f871c5595.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-f3d3451767410a17.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-16717cdb08dfbef5.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-58e3f8995df4edb4.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-2caea079085a58a2.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-314a4689716cb02e.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-5727477b0a78105a.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-7e555563aa211118.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-d9ed943652059c0d.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-ee5b5774583426df.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-c3e1f40644ffc9b8.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-e8bfe52be756260a.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-7b90a2705bcf265b.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-b6892f3c52c68f01.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-f72b956e24d1de70.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-632ae0f28c5e55ff.rlib" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-e8b7e96e438f08f6.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-B/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-B/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-B/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/self-contained" "-o" "/opt/conda/conda-bld/kcounter_1717952336381/work/target/release/build/libc-18a8ba3a588519b1/build_script_build-18a8ba3a588519b1" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,--strip-debug" "-nodefaultlibs" + = note: rust-lld: error: undefined symbol: getauxval + >>> referenced by stack_overflow.rs:237 (library/std/src/sys/pal/unix/stack_overflow.rs:237) + >>> std-d46578f9a4470f27.std.a54bcd08e7411830-cgu.0.rcgu.o:(std::sys::pal::unix::stack_overflow::imp::make_handler::h648b6dd35f16ad81) in archive /home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d46578f9a4470f27.rlib + >>> referenced by stack_overflow.rs:237 (library/std/src/sys/pal/unix/stack_overflow.rs:237) + >>> std-d46578f9a4470f27.std.a54bcd08e7411830-cgu.0.rcgu.o:(std::sys::sync::once::futex::Once::call::h3caf211f3255e91f) in archive /home/conda/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d46578f9a4470f27.rlib + collect2: error: ld returned 1 exit status + + + error: could not compile libc (build script) due to 1 previous error + maturin failed + Caused by: Failed to build a native library through cargo + Caused by: Cargo build finished with "exit status: 101": env -u CARGO PYO3_ENVIRONMENT_SIGNATURE="cpython-3.10-64bit" PYO3_PYTHON="/opt/conda/conda-bld/kcounter_1717952336381/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin/python" PYTHON_SYS_EXECUTABLE="/opt/conda/conda-bld/kcounter_1717952336381/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin/python" "cargo" "rustc" "--message-format" "json-render-diagnostics" "--manifest-path" "/opt/conda/conda-bld/kcounter_1717952336381/work/Cargo.toml" "--release" "--lib" + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/kcounter_1717952336381/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. +category: |- + compiler error diff --git a/recipes/kcounter/meta.yaml b/recipes/kcounter/meta.yaml index 005dad04c8f96..4f981cb3b477c 100644 --- a/recipes/kcounter/meta.yaml +++ b/recipes/kcounter/meta.yaml @@ -10,8 +10,9 @@ source: sha256: 7c837e29d62d1889379a8b6a3ad634a6aa5f0bc0459d5719597c87e046502528 build: - number: 4 - skip: True # [py27] + number: 5 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: build: diff --git a/recipes/kegalign-full/meta.yaml b/recipes/kegalign-full/meta.yaml new file mode 100644 index 0000000000000..85047fe074c54 --- /dev/null +++ b/recipes/kegalign-full/meta.yaml @@ -0,0 +1,37 @@ +{% set version = "0.1.2.7" %} + +package: + name: kegalign-full + version: {{ version }} + +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_compatible('kegalign-full', max_pin='x.x') }} + +requirements: + run: + - kegalign ={{ version }} + - lastz + - mbuffer + - samtools + - ucsc-fatotwobit + +test: + commands: + - kegalign --help + - lastz --version 2>&1 | grep released + - which faToTwoBit + +about: + home: https://github.com/galaxyproject/KegAlign + summary: 'KegAlign: A Scalable GPU-Based Whole Genome Aligner' + description: | + KegAlign is a Scalable GPU System for Pairwise Whole Genome + Alignments based on LASTZ's seed-filter-extend paradigm. + license: MIT + license_family: MIT + license_url: https://github.com/galaxyproject/KegAlign/blob/main/LICENSE + doc_url: https://github.com/galaxyproject/KegAlign/blob/main/README.md + dev_url: https://github.com/galaxyproject/KegAlign diff --git a/recipes/kegg-pathways-completeness/meta.yaml b/recipes/kegg-pathways-completeness/meta.yaml new file mode 100644 index 0000000000000..c530adfc6bd9d --- /dev/null +++ b/recipes/kegg-pathways-completeness/meta.yaml @@ -0,0 +1,55 @@ +{% set name = "kegg-pathways-completeness" %} +{% set version = "1.0.5" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/kegg_pathways_completeness-{{ version }}.tar.gz + sha256: b7ec0b1ceabd168296a18ab1184a26e40cfa4fdcaf156cd1d75b0e12c51f8aaa + +build: + entry_points: + - give_pathways = kegg_pathways_completeness.bin.give_pathways:main + - plot_completeness_graphs = kegg_pathways_completeness.bin.plot_completeness_graphs:main + - generate_hmmtable = kegg_pathways_completeness.bin.generate_hmmtable.hmmscan_tab:main + - parsing_hmmscan = kegg_pathways_completeness.bin.generate_hmmtable.parsing_hmmscan:main + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('kegg-pathways-completeness', max_pin="x.x") }} + +requirements: + host: + - python >=3.10 + - setuptools >=61.0 + - pip + run: + - python >=3.10 + - biopython ==1.83 + - networkx ==3.3 + - python-graphviz ==0.20.3 + +test: + imports: + - kegg_pathways_completeness + commands: + - pip check + - give_pathways --help + - plot_completeness_graphs --help + - generate_hmmtable --help + - parsing_hmmscan --help + requires: + - pip + +about: + summary: The tool counts completeness of each KEGG pathway for protein sequences. + home: https://github.com/EBI-Metagenomics/kegg-pathways-completeness-tool + license: Apache-2.0 + license_file: LICENSE + +extra: + recipe-maintainers: + - chrisAta diff --git a/recipes/keggcharter/meta.yaml b/recipes/keggcharter/meta.yaml index c93435f02d255..36e89a4a7cab3 100644 --- a/recipes/keggcharter/meta.yaml +++ b/recipes/keggcharter/meta.yaml @@ -1,6 +1,6 @@ {% set name = "keggcharter" %} -{% set version = "0.7.1" %} -{% set sha256 = "bbbe3cb4d371a631cfdca68787af4f4f2b183556de0d71f6350f256e3b11437e" %} +{% set version = "1.1.2" %} +{% set sha256 = "53735598428a7a2eb75c763f2eba04efecd9c8fae3d69ea7a29747ffc60396cd" %} package: name: {{ name|lower }} @@ -16,7 +16,7 @@ build: script: > mkdir -p $PREFIX/bin && mkdir -p $PREFIX/share && - cp *.py resources/KEGGCharter_prokaryotic_maps.txt $PREFIX/share && + cp *.py resources/*.txt resources/*.tsv $PREFIX/share && chmod +x $PREFIX/share/keggcharter.py && ln -s $PREFIX/share/keggcharter.py $PREFIX/bin/keggcharter run_exports: @@ -32,6 +32,8 @@ requirements: - openpyxl - poppler - mscorefonts + - requests + - lxml test: commands: diff --git a/recipes/kfoots/meta.yaml b/recipes/kfoots/meta.yaml index c8eaf790029a8..48487b1f245b0 100644 --- a/recipes/kfoots/meta.yaml +++ b/recipes/kfoots/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 80aabb683626e18239d0294ba534d6f26d9d451fe31c5e7233072fbcd838425a build: - number: 9 + number: 10 rpaths: - lib/R/lib/ - lib/ diff --git a/recipes/khipu-metabolomics/meta.yaml b/recipes/khipu-metabolomics/meta.yaml index 49c0ce79ec582..97660e7d7985f 100644 --- a/recipes/khipu-metabolomics/meta.yaml +++ b/recipes/khipu-metabolomics/meta.yaml @@ -1,22 +1,22 @@ {% set name = "khipu-metabolomics" %} -{% set version = "0.7.5" %} +{% set version = "2.0.2" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/khipu-metabolomics-{{ version }}.tar.gz - sha256: 5c89c28d30fccefb1e468d8fbcb3637bd452f002438291f7eb910a762ceb99f1 + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/khipu_metabolomics-{{ version }}.tar.gz + sha256: c9c5c1febbe7d368aa249819cb14a6633bb14f1ab13ec1192e1ea27546174d47 build: - entry_points: - - khipu=khipu.command_line:main noarch: python script: {{ PYTHON }} -m pip install . -vv number: 0 run_exports: - {{ pin_subpackage('khipu-metabolomics', max_pin="x.x") }} + entry_points: + - khipu=khipu.command_line:main requirements: host: @@ -24,10 +24,16 @@ requirements: - pip run: - python >=3.7 + - intervaltree + - isocor - mass2chem - - treelib + - matplotlib-base + - numpy - networkx - pandas + - requests + - scipy + - treelib test: imports: - khipu diff --git a/recipes/khmer/build_failure.linux-64.yaml b/recipes/khmer/build_failure.linux-64.yaml index 7e810b76361af..9faa1c70a56c4 100644 --- a/recipes/khmer/build_failure.linux-64.yaml +++ b/recipes/khmer/build_failure.linux-64.yaml @@ -1,104 +1,18 @@ -recipe_sha: b3ca0bd5abc48a4a6f9cb09105ae183483ec3bd4b8baadd8ef77b286a1aba900 # The commit at which this recipe failed to build. +recipe_sha: 27b4bbe98422ab7e905e27f1693fcc531b4fe44fc7ec6d8fd817fe958e90da78 # The hash of the recipe's meta.yaml at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. log: |- - [34m # This is -- a caller that pip uses to run setup.py[0m - [34m #[0m - [34m # - It imports setuptools before invoking setup.py, to enable projects that directly[0m - [34m # import from distutils.core to work with newer packaging standards.[0m - [34m # - It provides a clear error message when setuptools is not installed.[0m - [34m # - It sets sys.argv[0] to the underlying setup.py, when invoking setup.py so[0m - [34m # setuptools doesn'"'"'t think the script is -c. This avoids the following warning:[0m - [34m # manifest_maker: standard file '"'"'-c'"'"' not found".[0m - [34m # - It generates a shim setup.py, for handling setup.cfg-only projects.[0m - [34m import os, sys, tokenize[0m - [34m [0m - [34m try:[0m - [34m import setuptools[0m - [34m except ImportError as error:[0m - [34m print([0m - [34m "ERROR: Can not execute setup.py since setuptools is not available in "[0m - [34m "the build environment.",[0m - [34m file=sys.stderr,[0m - [34m )[0m - [34m sys.exit(1)[0m - [34m [0m - [34m __file__ = %r[0m - [34m sys.argv[0] = __file__[0m - [34m [0m - [34m if os.path.exists(__file__):[0m - [34m filename = __file__[0m - [34m with tokenize.open(__file__) as f:[0m - [34m setup_py_code = f.read()[0m - [34m else:[0m - [34m filename = ""[0m - [34m setup_py_code = "from setuptools import setup; setup()"[0m - [34m [0m - [34m exec(compile(setup_py_code, filename, "exec"))[0m - [34m '"'"''"'"''"'"' % ('"'"'/opt/conda/conda-bld/khmer_1685391754054/work/setup.py'"'"',), "", "exec"))' bdist_wheel -d /tmp/pip-wheel-vjdncpwn[0m - [1;35mcwd[0m: /opt/conda/conda-bld/khmer_1685391754054/work/ - Building wheel for khmer (setup.py): finished with status 'error' - [31m ERROR: Failed building wheel for khmer[0m[31m - [0m Running setup.py clean for khmer - Running command python setup.py clean - /opt/conda/conda-bld/khmer_1685391754054/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.8/site-packages/setuptools/dist.py:755: SetuptoolsDeprecationWarning: Invalid dash-separated options - !! - - ******************************************************************************** - Usage of dash-separated 'include-dirs' will not be supported in future - versions. Please use the underscore name 'include_dirs' instead. - - By 2023-Sep-26, you need to update your project and remove deprecated calls - or your builds will no longer be supported. - - See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details. - ******************************************************************************** - - !! - opt = self.warn_dash_deprecation(opt, section) - /opt/conda/conda-bld/khmer_1685391754054/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.8/site-packages/setuptools/__init__.py:84: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. - !! - - ******************************************************************************** - Requirements should be satisfied by a PEP 517 installer. - If you are using pip, you can try pip install --use-pep517. - ******************************************************************************** - - !! - dist.fetch_build_eggs(dist.setup_requires) - running clean - removing 'build/temp.linux-x86_64-cpython-38' (and everything under it) - removing 'build/lib.linux-x86_64-cpython-38' (and everything under it) - 'build/bdist.linux-x86_64' does not exist -- can't clean it - 'build/scripts-3.8' does not exist -- can't clean it - removing 'build' - Failed to build khmer - [31mERROR: Could not build wheels for khmer, which is required to install pyproject.toml-based projects[0m[31m - [0mException information: - Traceback (most recent call last): - File "$PREFIX/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 169, in exc_logging_wrapper - status = run_func(*args) - File "$PREFIX/lib/python3.8/site-packages/pip/_internal/cli/req_command.py", line 248, in wrapper - return func(self, options, args) - File "$PREFIX/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 426, in run - raise InstallationError( - pip._internal.exceptions.InstallationError: Could not build wheels for khmer, which is required to install pyproject.toml-based projects - Removed build tracker: '/tmp/pip-build-tracker-jesaqami' - Traceback (most recent call last): - File "/opt/conda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/khmer_1685391754054/work/conda_build.sh']' returned non-zero exit status 1. -# Last 100 lines of the build log. + 01:00:23 BIOCONDA INFO (OUT) /opt/conda/conda-bld/khmer_1721696148356/_build_env/bin/x86_64-conda-linux-gnu-cc -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/conda/conda-bld/khmer_1721696148356/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include -fPIC -O2 -isystem /opt/conda/conda-bld/khmer_1721696148356/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /opt/conda/conda-bld/khmer_1721696148356/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include -fdebug-prefix-map=/opt/conda/conda-bld/khmer_1721696148356/work=/usr/local/src/conda/khmer-3.0.0a3 -fdebug-prefix-map=/opt/conda/conda-bld/khmer_1721696148356/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho=/usr/local/src/conda-prefix -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /opt/conda/conda-bld/khmer_1721696148356/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include -fPIC -DVERSION=3.0.0a3 -DSEQAN_HAS_BZIP2=1 -DSEQAN_HAS_ZLIB=1 -UNO_UNIQUE_RC -Iinclude -I. -Iinclude -Ithird-party/seqan/core/include -Ithird-party/smhasher -Ithird-party/cqf -Ithird-party/rollinghash -I/opt/conda/conda-bld/khmer_1721696148356/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/python3.11 -c khmer/_oxli/graphs.cpp -o build/temp.linux-x86_64-cpython-311/khmer/_oxli/graphs.o -O3 -std=c++11 -fopenmp + 01:00:23 BIOCONDA INFO (OUT) khmer/_oxli/graphs.cpp:196:12: fatal error: longintrepr.h: No such file or directory + 01:00:23 BIOCONDA INFO (OUT) 196 | #include "longintrepr.h" + 01:00:23 BIOCONDA INFO (OUT) | ^~~~~~~~~~~~~~~ + 01:00:23 BIOCONDA INFO (OUT) compilation terminated. + 01:00:23 BIOCONDA INFO (OUT) error: command '/opt/conda/conda-bld/khmer_1721696148356/_build_env/bin/x86_64-conda-linux-gnu-cc' failed with exit code 1 + 01:00:24 BIOCONDA INFO (OUT) error: subprocess-exited-with-error + 01:00:24 BIOCONDA INFO (OUT) + 01:00:24 BIOCONDA INFO (OUT) python setup.py bdist_wheel did not run successfully. + 01:00:24 BIOCONDA INFO (OUT) │ exit code: 1 + 01:00:24 BIOCONDA INFO (OUT) ╰─> See above for output. +reason: |- + breaks in nightly build +category: |- + compiler error diff --git a/recipes/khmer/meta.yaml b/recipes/khmer/meta.yaml index 77dc9b24006f5..28c79094230cf 100644 --- a/recipes/khmer/meta.yaml +++ b/recipes/khmer/meta.yaml @@ -13,8 +13,10 @@ source: build: number: 4 - skip: True # [py<30 or py>38 or osx] + skip: True # [py<30 or py>=312 or osx] script: {{ PYTHON }} -m pip install . --no-deps -vv + run_exports: + - {{ pin_subpackage('khmer', max_pin="x.x") }} requirements: build: @@ -24,14 +26,14 @@ requirements: - libgomp # [linux] - make host: - - python + - python >=3.6,<3.12 - pip - setuptools >=18.0 - Cython >=0.25.2 - bzip2 - zlib run: - - python + - python >=3.6,<3.12 - screed >=1.0 - bz2file - bzip2 diff --git a/recipes/kin/meta.yaml b/recipes/kin/meta.yaml new file mode 100644 index 0000000000000..c54807c8b0640 --- /dev/null +++ b/recipes/kin/meta.yaml @@ -0,0 +1,56 @@ +{% set name = "KIN" %} +{% set version = "3.1.4" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: https://github.com/DivyaratanPopli/Kinship_Inference/archive/refs/tags/v{{ version }}.tar.gz + sha256: 29dbac786a863561b61d1773f75bbf5f2791c75751c798a327f9106ab20ad839 + +build: + number: 0 + noarch: python + script: + - "mkdir -p ${PREFIX}/bin" + - "{{ PYTHON }} -m pip install ./pypackage/kin -vvv --no-deps --no-build-isolation --no-cache-dir" + - "{{ PYTHON }} -m pip install ./pypackage/kingaroo -vvv --no-deps --no-build-isolation --no-cache-dir" + - "cp -f $(which KINgaroo) ${PREFIX}/bin/kingaroo" + - "cp -f $(which KIN) ${PREFIX}/bin/kin" + - "chmod 755 ${PREFIX}/bin/kingaroo ${PREFIX}/bin/kin" + run_exports: + - {{ pin_subpackage("kin", max_pin="x") }} + +requirements: + host: + - python =3.8 + - pip + run: + - python =3.8 + - scipy >=1.8.0 + - numpy >=1.21.1 + - pandas >=1.3.1 + - numba >=0.55.1 + - pysam >=0.19.0 + - pybedtools >=0.9.0 + - samtools >=1.15 + - bcftools >=1.15 + +test: + commands: + - kin --help + - kingaroo --help + +about: + home: "https://github.com/DivyaratanPopli/Kinship_Inference" + license: "GPL-3.0-only" + license_family: GPL3 + license_file: LICENCE + summary: "A tool to estimate pairwise relatedness from ancient DNA, taking in account contamination, ROH, ascertainment bias." + doc_url: "https://github.com/DivyaratanPopli/Kinship_Inference/blob/main/README.md" + dev_url: "https://github.com/DivyaratanPopli/Kinship_Inference" + +extra: + recipe-maintainers: + - TCLamnidis diff --git a/recipes/kinex/meta.yaml b/recipes/kinex/meta.yaml new file mode 100644 index 0000000000000..80ebad9c3037b --- /dev/null +++ b/recipes/kinex/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "kinex" %} +{% set version = "1.0.2" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://github.com/bedapub/{{ name }}/archive/v{{ version }}.tar.gz" + sha256: ec9809bf7f401a064824d4883ef2877d945e65b7eb1e6f10b160590b515f4553 + +build: + number: 0 + noarch: python + script: + - {{ PYTHON }} -m pip install . --no-deps -vv + run_exports: + - {{ pin_subpackage("kinex", max_pin="x") }} + +requirements: + host: + - pip + - python >=3.8,<=3.11 + run: + - python >=3.8,<=3.11 + - scipy >=1.10.0 + - numpy >=1.19.5 + - nbformat >=4.2.0 + - pandas + - statsmodels + - plotly + - scikit-learn + - umap-learn + - importlib-resources + +test: + imports: + - kinex + +about: + home: "https://github.com/bedapub/kinex" + license: GPL-3.0-only + license_file: LICENSE + summary: "Kinex infers causal kinases from phosphoproteomics data" + doc_url: "https://kinex.readthedocs.io/en/latest/" + dev_url: "https://github.com/bedapub/kinex" + +extra: + identifiers: + - doi:10.1101/2023.11.23.568445 diff --git a/recipes/kingfisher/meta.yaml b/recipes/kingfisher/meta.yaml index 855fa0bd6e4fb..82a4ed31a27c7 100644 --- a/recipes/kingfisher/meta.yaml +++ b/recipes/kingfisher/meta.yaml @@ -1,5 +1,5 @@ {% set name = "kingfisher" %} -{% set version = "0.3.1" %} +{% set version = "0.4.1" %} package: name: {{ name }} @@ -7,12 +7,12 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/kingfisher-{{ version }}.tar.gz - sha256: 2d2dae22f7345a5ad7ba8d64e310a9033667ca09aabdf3bea4ace05a629c388f + sha256: b74510c997db71432b4feb03398b8432b883d873d0d05eb2f0e5a1dafbce42f6 build: noarch: python number: 0 - script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv + script: {{ PYTHON }} -m pip install . --no-build-isolation --no-deps -vvv run_exports: - {{ pin_subpackage('kingfisher', max_pin="x") }} @@ -39,15 +39,13 @@ test: imports: - kingfisher commands: - - pip check - kingfisher --version | grep {{ version }} - requires: - - pip about: home: https://github.com/wwood/kingfisher-download summary: Download/extract biological FASTA/Q read data and metadata license: GPL-3.0-or-later + license_family: GPL3 license_file: LICENCE.txt extra: diff --git a/recipes/kinship-read/build.sh b/recipes/kinship-read/build.sh index 63e164b81fba0..c321a17bce600 100644 --- a/recipes/kinship-read/build.sh +++ b/recipes/kinship-read/build.sh @@ -6,6 +6,5 @@ mkdir -p $outdir mkdir -p $PREFIX/bin cp -R * $outdir/ ls -l $outdir -sed -i.bak '1 s|^.*$|#!/usr/bin/env python|g' $outdir/READ.py -ln -s $outdir/READ.py $PREFIX/bin/kinship-read +ln -s $outdir/READ2.py $PREFIX/bin/kinship-read chmod 0755 ${PREFIX}/bin/kinship-read \ No newline at end of file diff --git a/recipes/kinship-read/meta.yaml b/recipes/kinship-read/meta.yaml index cf6eb33b280b4..b259b95e4482a 100644 --- a/recipes/kinship-read/meta.yaml +++ b/recipes/kinship-read/meta.yaml @@ -1,31 +1,43 @@ -{% set version = "1.0" %} +{% set name = "kinship-read" %} +{% set version = "2.1.1" %} + package: - name: kinship-read - version: {{ version }} + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: https://github.com/GuntherLab/READv2/archive/refs/tags/{{ version }}.tar.gz + sha256: 5432fb3d6f5410d89685ec59749fb3dc4be20ded9fc968b5210c7c37d3ae5667 build: - noarch: generic number: 0 + noarch: python + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} -source: - url: https://bitbucket.org/tguenther/read/get/v{{ version }}.tar.gz - sha256: 4c1f8033eb60a1c22bf0f520d0013a4758a2cb0f1d5245b70917d45f5a276d3b requirements: - run: - - python >=2.7,<3 - - r-base + host: + - pip + - python + run: + - python >=3.7 + - numpy + - pandas + - matplotlib-base + - plinkio test: - commands: - - kinship-read -h + commands: + - kinship-read --help about: - home: https://bitbucket.org/tguenther/read/src/master/ - license: GPL-3.0-only - license_file: LICENSE - summary: "READ is a method to infer the degree of relationship for a pair of low-coverage individuals." + home: https://github.com/GuntherLab/READv2 + license: GPL-3.0-only + license_file: LICENSE + summary: "Relationship Estimation from Ancient DNA version 2 (READv2)" + doc_url: https://github.com/GuntherLab/READv2?tab=readme-ov-file extra: - identifiers: - - doi:10.1371/journal.pone.0195491 + recipe-maintainers: + - SonofLastPanda diff --git a/recipes/kissplice/build.sh b/recipes/kissplice/build.sh index 77c03585743f9..ed2f14773dd51 100644 --- a/recipes/kissplice/build.sh +++ b/recipes/kissplice/build.sh @@ -1,14 +1,5 @@ #!/bin/bash -mkdir -p ${PREFIX}/bin - -export CXXFLAGS="$CXXFLAGS -fcommon -I$PREFIX/include" -export CFLAGS="$CFLAGS -fcommon -I$PREFIX/include" - -# Unfortunately this is not written to pass on appropriate flags -sed -i.bak "s#fopenmp#fopenmp -I$PREFIX/include#g" CMakeLists.txt -cmake -DCMAKE_INSTALL_PREFIX=${PREFIX} -DCMAKE_LIBRARY_PATH=$PREFIX/lib $DCMAKE_INCLUDE_PATH=$PREFIX/include . - -# make commands -make -j1 VERBOSE=1 -make install +cmake -S . -B build/ -DCMAKE_INSTALL_PREFIX=${PREFIX} +cmake --build build/ +cmake --install build/ diff --git a/recipes/kissplice/meta.yaml b/recipes/kissplice/meta.yaml index efa85956ffe0b..68a80f573ed23 100644 --- a/recipes/kissplice/meta.yaml +++ b/recipes/kissplice/meta.yaml @@ -1,27 +1,32 @@ +{% set name = "kissplice" %} +{% set version = "2.6.5" %} + package: - name: kissplice - version: '2.5.5' + name: {{ name|lower }} + version: {{ version }} source: - url: "ftp://pbil.univ-lyon1.fr/pub/logiciel/kissplice/download/kissplice-2.5.5.tar.gz" - sha256: "d75d17393938d94b98811a7ef602e07d7c936d84c4ba2531bfd0830e9bf2a261" + url: "https://gitlab.inria.fr/erable/{{ name }}/-/archive/{{ version }}/{{ name }}-{{ version }}.tar.gz" + sha256: "79fa50c8fdd83d5b1235fe5ac9293cd9aa241bb86b7badb3b524edd96b781380" build: - number: 2 -# skip: True # [py2k] + number: 0 + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} requirements: build: - - make - - {{ compiler('c') }} - {{ compiler('cxx') }} - - cmake + - libgomp # [linux] - llvm-openmp # [osx] - - libgomp # [linux] + - cmake + - make + - bcalm >=2.2.3 host: - zlib run: - - python >=3 + - python >=3.8 + - bcalm >=2.2.3 test: commands: @@ -31,3 +36,8 @@ about: home: http://kissplice.prabi.fr license: CeCILL license summary: A local transcriptome assembler for SNPs, indels and AS events + +extra: + recipe-maintainers: + - MONJEAUD Cyril + - leoisl diff --git a/recipes/kitsune/meta.yaml b/recipes/kitsune/meta.yaml index c663b9fdb6c2a..29d664f6f1a1d 100644 --- a/recipes/kitsune/meta.yaml +++ b/recipes/kitsune/meta.yaml @@ -1,5 +1,5 @@ {% set name = "kitsune" %} -{% set version = "1.3.3" %} +{% set version = "1.3.5" %} package: name: {{ name|lower }} @@ -7,20 +7,21 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 8acdfd3aa73e2e993f0ccd444b4a9f83dc5f1c91a46180391bbd91abd0875eb2 + sha256: 73af096870a02dd6b3774578b4e3d6b86122e99a27877977045330f7a24d2e41 build: number: 0 noarch: python entry_points: - kitsune=kitsune.kitsune:main - script: {{ PYTHON }} -m pip install . -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + run_exports: + - {{ pin_subpackage('kitsune', max_pin="x") }} requirements: host: - python >=3.5 - pip - - setuptools run: - kmer-jellyfish >=2.2 - numpy >=1.22.3 @@ -32,19 +33,17 @@ test: imports: - kitsune commands: - - pip check - kitsune --version - requires: - - pip about: home: https://github.com/natapol/kitsune - license: GPL-3.0-only - license_family: GPL + license: "GPL-3.0-only" + license_family: GPL3 license_file: LICENSE summary: kitsune description: | K-mer-length Iterative Selection for UNbiased Ecophylogenomics + dev_url: https://github.com/natapol/kitsune extra: recipe-maintainers: diff --git a/recipes/kleborate/build.sh b/recipes/kleborate/build.sh deleted file mode 100644 index 2ce65676732d8..0000000000000 --- a/recipes/kleborate/build.sh +++ /dev/null @@ -1,7 +0,0 @@ -#! /bin/bash - -$PYTHON -m pip install . --ignore-installed --no-deps -vv - -# Make blastdbs of Kleborate data -# Allows containters to be usable - $PREFIX/bin/kleborate -a kleborate/data/Klebsiella_pneumoniae.fasta --all diff --git a/recipes/kleborate/fix_get_kaptive_path.patch b/recipes/kleborate/fix_get_kaptive_path.patch deleted file mode 100644 index 4b751f16ef396..0000000000000 --- a/recipes/kleborate/fix_get_kaptive_path.patch +++ /dev/null @@ -1,41 +0,0 @@ -From e897aa05e7981515ce4f34f46f1103c44c97844a Mon Sep 17 00:00:00 2001 -From: "Robert A. Petit III" -Date: Sat, 17 Jul 2021 01:44:51 -0600 -Subject: [PATCH] Update kaptive.py - ---- - kleborate/kaptive.py | 11 +++++------ - 1 file changed, 5 insertions(+), 6 deletions(-) - -diff --git a/kleborate/kaptive.py b/kleborate/kaptive.py -index 53c2fa8..729a84d 100644 ---- a/kleborate/kaptive.py -+++ b/kleborate/kaptive.py -@@ -15,22 +15,21 @@ - import os - import subprocess - import sys -+import shutil - import tempfile - - - def get_kaptive_paths(): -- this_file = os.path.realpath(__file__) -- kaptive_dir = os.path.join(os.path.dirname(os.path.dirname(this_file)), 'kaptive') -+ kaptive_py = shutil.which('kaptive.py') -+ kaptive_dir = os.path.join(os.path.dirname(os.path.dirname(kaptive_py)), 'opt/kaptive_reference_database') - if not os.path.isdir(kaptive_dir): - sys.exit('Error: could not find Kaptive directory. Did you git clone with --recursive?') -- kaptive_py = os.path.join(kaptive_dir, 'kaptive.py') - if not os.path.isfile(kaptive_py): - sys.exit('Error: could not find kaptive.py') -- db_dir = os.path.join(kaptive_dir, 'reference_database') -- kaptive_k_db = os.path.join(db_dir, 'Klebsiella_k_locus_primary_reference.gbk') -+ kaptive_k_db = os.path.join(kaptive_dir, 'Klebsiella_k_locus_primary_reference.gbk') - if not os.path.isfile(kaptive_k_db): - sys.exit('Error: could not find Klebsiella_k_locus_primary_reference.gbk') -- kaptive_o_db = os.path.join(db_dir, 'Klebsiella_o_locus_primary_reference.gbk') -+ kaptive_o_db = os.path.join(kaptive_dir, 'Klebsiella_o_locus_primary_reference.gbk') - if not os.path.isfile(kaptive_o_db): - sys.exit('Error: could not find Klebsiella_o_locus_primary_reference.gbk') - return kaptive_py, kaptive_k_db, kaptive_o_db diff --git a/recipes/kleborate/meta.yaml b/recipes/kleborate/meta.yaml index f245e9ce9cba7..b1c2fad6fee70 100644 --- a/recipes/kleborate/meta.yaml +++ b/recipes/kleborate/meta.yaml @@ -1,47 +1,59 @@ -{% set name = "Kleborate" %} -{% set version = "2.3.2" %} +{% set name = "kleborate" %} +{% set version = "3.1.0" %} package: - name: {{ name|lower }} - version: {{ version }} + name: "{{ name|lower }}" + version: "{{ version }}" source: - url: https://github.com/katholt/{{ name }}/archive/v{{ version }}.tar.gz - sha256: da7cb9a27ddba4e5440063e2d4a0c4a9f9e668a65ae9f019db126dc5b10d7002 - patches: - - fix_get_kaptive_path.patch + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/kleborate-{{ version }}.tar.gz" + sha256: efb249d5b402502ae325d9b189c425464de930a0e455c5060d8aeea35dbbc920 build: - noarch: python number: 0 + noarch: python + entry_points: + - kleborate = kleborate.__main__:main + script: + - {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + run_exports: + - {{ pin_subpackage('kleborate', max_pin='x') }} requirements: host: - - python >=3.7 - - biopython >=1.73,<1.78 - - kaptive - - blast >=2.2.31 - - mash + - pip + - python >=3.9 run: - - python >=3.7 - - biopython >=1.73,<1.78 - - kaptive - - blast >=2.2.31 + - python >=3.9 + - biopython >=1.83 + - numpy >=1.22 + - dna_features_viewer + - minimap2 - mash + - kaptive test: + imports: + - kleborate commands: - - kaptive.py -h - - kleborate -h - - kleborate -a $(which kleborate | sed 's=bin/kleborate=opt/kaptive_reference_database/exact_match.fasta=') + - kaptive --help + - minimap2 --help + - kleborate --help about: - home: https://github.com/katholt/Kleborate - license: GNU General Public License v3 or later (GPLv3+) - license_file: LICENSE - summary: 'Screening Klebsiella genome assemblies for MLST, sub-species, and other Klebsiella related genes of interest' - long_summary: 'A tool to screen Klebsiella genome assembiles for: MLST sequence type, - species (e.g. K. pneumoniae, K. quasipneumoniae, K. variicola, etc.), - ICEKp associated virulence loci: yersiniabactin (ybt), colibactin (clb), virulence plasmid associated loci: salmochelin (iro), aerobactin (iuc), hypermucoidy (rmpA, rmpA2), antimicrobial resistance genes, including quinolone resistance SNPs and colistin resistance truncations, - and K (capsule) and O antigen (LPS) serotype prediction, via wzi alleles and Kaptive.' + home: "https://kleborate.readthedocs.io/" + dev_url: "https://github.com/klebgenomics/Kleborate" + summary: "Kleborate: a tool for typing and screening pathogen genome assemblies" + license: "GPL-3.0-or-later" license_family: GPL3 + license_file: LICENSE + doc_url: "https://kleborate.readthedocs.io/" + +extra: + recipe-maintainers: + - Marysteph + identifiers: + - doi:10.1038/s41467-021-24448-3 + - doi:10.1099/mgen.0.000102 + - biotools:kleborate + - usegalaxy-eu:kleborate diff --git a/recipes/kma/build.sh b/recipes/kma/build.sh index 202febb333a5e..62d5aef475fd3 100755 --- a/recipes/kma/build.sh +++ b/recipes/kma/build.sh @@ -1,7 +1,9 @@ +#!/bin/bash + BINARIES="kma kma_index kma_shm kma_update" -make CFLAGS="-w -O3 -I$PREFIX/include -L$PREFIX/lib" +make CFLAGS="${CFLAGS} -w -O3 -I${PREFIX}/include -L${PREFIX}/lib" -j "${CPU_COUNT}" mkdir -p ${PREFIX}/bin -cp $BINARIES $PREFIX/bin +cp -rf $BINARIES $PREFIX/bin mkdir -p $PREFIX/doc/kma -cp README.md $PREFIX/doc/kma/ +cp -rf README.md $PREFIX/doc/kma/ diff --git a/recipes/kma/meta.yaml b/recipes/kma/meta.yaml index 8cfa498075d15..13fd1af05d5f3 100644 --- a/recipes/kma/meta.yaml +++ b/recipes/kma/meta.yaml @@ -1,6 +1,6 @@ {% set name = "kma" %} -{% set version = "1.4.9" %} -{% set sha256 = "6434e6fcc23420edc29922baf289e4a6d923f31949c34d8efd2331f3bb5e8e8b" %} +{% set version = "1.4.15" %} +{% set sha256 = "d95b1a958879fcbd37f680cfad74b7939879d357e13a073e53b62ea108675885" %} package: name: {{ name|lower }} @@ -11,7 +11,9 @@ source: sha256: {{ sha256 }} build: - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage('kma', max_pin="x") }} requirements: build: @@ -19,9 +21,7 @@ requirements: - {{ compiler('c') }} host: - zlib - run: - - zlib - + test: commands: - kma -h | grep KMA >/dev/null @@ -33,6 +33,11 @@ about: home: https://bitbucket.org/genomicepidemiology/kma summary: 'KMA is mapping a method designed to map raw reads directly against redundant databases, in an ultra-fast manner using seed and extend.' license: Apache-2.0 + license_family: APACHE + extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - doi:10.1186/s12859-018-2336-6 diff --git a/recipes/kmasker/build_failure.linux-64.yaml b/recipes/kmasker/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..c77626a138b16 --- /dev/null +++ b/recipes/kmasker/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 7c1d814e77e5ab3f47a0e47d15c3e3200b47a2390c509eaf5c51f8469ca64d9c # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("jellyfish==2.2.10=h6bb024c_1")} + Encountered problems while solving: + - package jellyfish-2.2.10-h6bb024c_1 is excluded by strict repo priority + + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("jellyfish==2.2.10=h6bb024c_1")} + Encountered problems while solving: + - package jellyfish-2.2.10-h6bb024c_1 is excluded by strict repo priority + + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2308, in build + output_metas = expand_outputs([(m, need_source_download, need_reparse_in_env)]) + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 916, in expand_outputs + for output_dict, m in deepcopy(_m).get_output_metadata_set( + File "/opt/conda/lib/python3.10/site-packages/conda_build/metadata.py", line 2737, in get_output_metadata_set + conda_packages = finalize_outputs_pass( + File "/opt/conda/lib/python3.10/site-packages/conda_build/metadata.py", line 1095, in finalize_outputs_pass + fm = finalize_metadata( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 650, in finalize_metadata + build_unsat, host_unsat = add_upstream_pins( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 491, in add_upstream_pins + host_deps, host_unsat, extra_run_specs_from_host = _read_upstream_pin_files( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 444, in _read_upstream_pin_files + deps, precs, unsat = get_env_dependencies( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 156, in get_env_dependencies + precs = environ.get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("jellyfish==2.2.10=h6bb024c_1")} + Encountered problems while solving: + - package jellyfish-2.2.10-h6bb024c_1 is excluded by strict repo priority +# Last 100 lines of the build log. diff --git a/recipes/kmasker/build_failure.osx-64.yaml b/recipes/kmasker/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..6fe243f4ec3d9 --- /dev/null +++ b/recipes/kmasker/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 7c1d814e77e5ab3f47a0e47d15c3e3200b47a2390c509eaf5c51f8469ca64d9c # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {MatchSpec("jellyfish==2.2.10=h2d50403_0")} + Encountered problems while solving: + - package jellyfish-2.2.10-h2d50403_0 is excluded by strict repo priority + + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {MatchSpec("jellyfish==2.2.10=h2d50403_0")} + Encountered problems while solving: + - package jellyfish-2.2.10-h2d50403_0 is excluded by strict repo priority + + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2308, in build + output_metas = expand_outputs([(m, need_source_download, need_reparse_in_env)]) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 916, in expand_outputs + for output_dict, m in deepcopy(_m).get_output_metadata_set( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/metadata.py", line 2737, in get_output_metadata_set + conda_packages = finalize_outputs_pass( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/metadata.py", line 1095, in finalize_outputs_pass + fm = finalize_metadata( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 650, in finalize_metadata + build_unsat, host_unsat = add_upstream_pins( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 491, in add_upstream_pins + host_deps, host_unsat, extra_run_specs_from_host = _read_upstream_pin_files( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 444, in _read_upstream_pin_files + deps, precs, unsat = get_env_dependencies( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 156, in get_env_dependencies + precs = environ.get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {MatchSpec("jellyfish==2.2.10=h2d50403_0")} + Encountered problems while solving: + - package jellyfish-2.2.10-h2d50403_0 is excluded by strict repo priority +# Last 100 lines of the build log. diff --git a/recipes/kmasker/meta.yaml b/recipes/kmasker/meta.yaml index 650caa7ffeb80..9a808a99a4c2f 100644 --- a/recipes/kmasker/meta.yaml +++ b/recipes/kmasker/meta.yaml @@ -11,7 +11,7 @@ source: build: skip: True # [py27] - number: 6 + number: 7 requirements: build: diff --git a/recipes/kmc/Makefile.patch b/recipes/kmc/Makefile.patch deleted file mode 100644 index fb9711ad7ff95..0000000000000 --- a/recipes/kmc/Makefile.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 4a29584d69d40a41d2569899b03a5660af85f97c Mon Sep 17 00:00:00 2001 -From: marekkokot -Date: Thu, 20 Jan 2022 19:51:36 +0100 -Subject: [PATCH] makefile for bioconda - ---- - Makefile | 27 ++++++++++++++++++--------- - 1 file changed, 18 insertions(+), 9 deletions(-) - -diff --git a/Makefile b/Makefile -index bc07d35..d2784a7 100644 ---- a/Makefile -+++ b/Makefile -@@ -22,8 +22,8 @@ ifeq ($(UNAME_S),Darwin) - else - CC = g++ - -- CFLAGS = -Wall -O3 -m64 -static -Wl,--whole-archive -lpthread -Wl,--no-whole-archive -std=c++14 -- CLINK = -lm -static -O3 -Wl,--whole-archive -lpthread -Wl,--no-whole-archive -std=c++14 -+ CFLAGS = -Wall -O3 -m64 -pthread -std=c++14 -+ CLINK = -lm -O3 -std=c++14 - - PY_KMC_API_CFLAGS = -fPIC -Wall -shared -std=c++14 -O3 - endif -@@ -69,13 +69,9 @@ else - $(KMC_MAIN_DIR)/raduls_avx2.o \ - $(KMC_MAIN_DIR)/raduls_avx.o - -- KMC_LIBS = \ -- $(KMC_MAIN_DIR)/libs/libz.a \ -- $(KMC_MAIN_DIR)/libs/libbz2.a -- -- KMC_TOOLS_LIBS = \ -- $(KMC_TOOLS_DIR)/libs/libz.a \ -- $(KMC_TOOLS_DIR)/libs/libbz2.a -+ KMC_LIBS = -lz -lbz2 -lpthread -+ -+ KMC_TOOLS_LIBS = -lz -lbz2 -lpthread - - LIB_KMC_CORE = $(OUT_BIN_DIR)/libkmc_core.a - endif -@@ -90,6 +86,12 @@ $(KMC_API_DIR)/mmer.o \ - $(KMC_API_DIR)/kmc_file.o \ - $(KMC_API_DIR)/kmer_api.o - -+KMC_API_PICO = \ -+$(KMC_API_DIR)/mmer.pico \ -+$(KMC_API_DIR)/kmc_file.pico \ -+$(KMC_API_DIR)/kmer_api.pico -+ -+ - KMC_API_SRC_FILES = $(wildcard $(KMC_API_DIR)/*.cpp) - PY_KMC_API_OBJS = $(patsubst $(KMC_API_DIR)/%.cpp,$(PY_KMC_API_DIR)/%.o,$(KMC_API_SRC_FILES)) - -@@ -110,6 +112,13 @@ $(KMC_TOOLS_DIR)/kff_info_reader.o - $(KMC_CLI_OBJS) $(KMC_CORE_OBJS) $(KMC_DUMP_OBJS) $(KMC_API_OBJS) $(KFF_OBJS) $(KMC_TOOLS_OBJS): %.o: %.cpp - $(CC) $(CFLAGS) -c $< -o $@ - -+$(KMC_API_PICO): %.pico: %.cpp -+ $(CC) $(CFLAGS) -fpic -c -o $@ $< -+ -+$(OUT_BIN_DIR)/libkmc_api.so: $(KMC_API_PICO) -+ -mkdir -p $(OUT_BIN_DIR) -+ $(CC) -shared $(LDFLAGS) -o $@ $^ -+ - $(KMC_MAIN_DIR)/raduls_sse2.o: $(KMC_MAIN_DIR)/raduls_sse2.cpp - $(CC) $(CFLAGS) -msse2 -c $< -o $@ - $(KMC_MAIN_DIR)/raduls_sse41.o: $(KMC_MAIN_DIR)/raduls_sse41.cpp --- -2.34.1 - diff --git a/recipes/kmc/build.sh b/recipes/kmc/build.sh index 7cb93486302dd..709b8d1dde013 100644 --- a/recipes/kmc/build.sh +++ b/recipes/kmc/build.sh @@ -1,23 +1,17 @@ #!/bin/bash -mkdir -p $PREFIX/bin -mkdir -p $PREFIX/lib -mkdir -p $PREFIX/include +mkdir -p ${PREFIX}/bin +mkdir -p ${PREFIX}/lib +mkdir -p ${PREFIX}/include -if [ "$(uname)" == "Darwin" ]; then +if [[ "$(uname)" == "Darwin" ]]; then mv bin/kmc ${PREFIX}/bin mv bin/kmc_tools ${PREFIX}/bin mv bin/kmc_dump ${PREFIX}/bin else - make CC=${CXX} -j32 all bin/libkmc_api.so - mv bin/kmc $PREFIX/bin - mv bin/kmc_tools $PREFIX/bin - mv bin/kmc_dump $PREFIX/bin - mv bin/libkmc_core.a $PREFIX/lib - mv bin/libkmc_api.so $PREFIX/lib/libkmc.so - mv kmc_api/*.h $PREFIX/include - mv include/kmc_runner.h $PREFIX/include + mv bin/kmc ${PREFIX}/bin + mv bin/kmc_tools ${PREFIX}/bin + mv bin/kmc_dump ${PREFIX}/bin + mv bin/libkmc_core.a ${PREFIX}/lib + mv include/kmc_runner.h ${PREFIX}/include fi - - - diff --git a/recipes/kmc/build_failure.linux-64.yaml b/recipes/kmc/build_failure.linux-64.yaml deleted file mode 100644 index fc88366e0a16b..0000000000000 --- a/recipes/kmc/build_failure.linux-64.yaml +++ /dev/null @@ -1,2 +0,0 @@ -recipe_sha: abc0774a2c2552b5cc367cf53ea0fd7ea3f67f838a2b3ad526a5a43886553235 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. diff --git a/recipes/kmc/meta.yaml b/recipes/kmc/meta.yaml index b58633c5e5856..bd6b7d6c5e889 100644 --- a/recipes/kmc/meta.yaml +++ b/recipes/kmc/meta.yaml @@ -1,36 +1,38 @@ -{% set version = "3.2.1" %} -{% set url = "https://github.com/refresh-bio/KMC/archive/v3.2.1.tar.gz" %} # [linux] -{% set sha256 = "7db333091a754508163a097c41720cf32a80abe160bef60f3fc82c8da1d67896" %} # [linux] -{% set url = "https://github.com/refresh-bio/kmc/releases/download/v3.2.1/kmc3.2.1.mac.tar.gz" %} # [osx] -{% set sha256 = "d4bd30d5e16bcbaac7f979f18e49e7447b0148709fb26f754490be9e3e766e73" %} # [osx] - +{% set name = "kmc" %} +{% set version = "3.2.4" %} +{% set url = "https://github.com/refresh-bio/KMC/releases/download/v3.2.4/KMC3.2.4.linux.x64.tar.gz" %} # [linux and x86_64] +{% set sha256 = "158f2084f8d928b3f33b8aaf7d1220fee4183bf46837787e5e6b16bbdf54d31d" %} # [linux and x86_64] +{% set url = "https://github.com/refresh-bio/KMC/releases/download/v3.2.4/KMC3.2.4.linux.arm64.tar.gz" %} # [linux and aarch64] +{% set sha256 = "3049745a71c4219fb05cf003a53b03a9f434e8afacb79c710488f1aefae0a9c8" %} # [linux and aarch64] +{% set url = "https://github.com/refresh-bio/KMC/releases/download/v3.2.4/KMC3.2.4.mac.x64.tar.gz" %} # [osx and x86_64] +{% set sha256 = "70d66545d5802cf116469e41acb2a04631271feac81ff5c4d1c299e9407ca326" %} # [osx and x86_64] +{% set url = "https://github.com/refresh-bio/KMC/releases/download/v3.2.4/KMC3.2.4.mac.arm64.tar.gz" %} # [osx and arm64] +{% set sha256 = "a84b07bc2097e71ee7d23588a58070d1dc8ae37d1f63d3daf79cb518cc6b66ae" %} # [osx and arm64] package: - name: kmc + name: {{ name }} version: {{ version }} source: url: {{ url }} sha256: {{ sha256 }} - patches: - - Makefile.patch # [linux] build: - number: 3 + number: 2 + run_exports: + - {{ pin_subpackage("kmc", max_pin="x") }} requirements: build: - make - - bzip2 - - zlib - - {{ compiler('c') }} - {{ compiler('cxx') }} host: - zlib - bzip2 - run: - - zlib - - bzip2 + +test: + commands: + - kmc --help # [not aarch64] about: home: https://github.com/refresh-bio/kmc @@ -38,9 +40,15 @@ about: description: | KMC is a utility designed for counting k-mers (sequences of consecutive k symbols) in a set of DNA sequences. KMC tools allow performing various operations on k-mers sets. - license: GPL-3 - license_family: GPL - license_file: gpl-3.0.txt -test: - commands: - - kmc --help + license: "GPL-3.0-or-later" + license_family: GPL3 + license_file: "gpl-3.0.txt" + dev_url: https://github.com/refresh-bio/kmc + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + identifiers: + - biotools:kmc + - doi:10.1093/bioinformatics/btx304 diff --git a/recipes/kmer-db/build.sh b/recipes/kmer-db/build.sh deleted file mode 100644 index 6a8bc644b0283..0000000000000 --- a/recipes/kmer-db/build.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - - -CFLAGS="$CFLAGS -I${PREFIX}/include" -LDFLAGS="$LDFLAGS -L${PREFIX}/lib" - -make CC="${CXX}" -install -d "${PREFIX}/bin" -install kmer-db "${PREFIX}/bin" diff --git a/recipes/kmer-db/meta.yaml b/recipes/kmer-db/meta.yaml index f8fca76dc2efc..96e4c9045fe3d 100644 --- a/recipes/kmer-db/meta.yaml +++ b/recipes/kmer-db/meta.yaml @@ -1,5 +1,14 @@ -{% set version = "1.11.1" %} -{% set sha256 = "63886057a752a890f492bf4ca7ec97435eceebb4ac5ecb5664c69ae2736eaa80" %} +{% set version = "2.2.2" %} + +{% set system = "x64_linux" %} # [linux and x86_64] +{% set system = "x64_mac" %} # [osx and x86_64] +{% set system = "arm64_linux" %} # [linux and aarch64] +{% set system = "arm64_mac" %} # [osx and arm64] + +{% set sha256 = "e4bccee6380b7c0bfb4746285d36af52a9874b1cf66d62a8862e8579097b5e77" %} # [linux and x86_64] +{% set sha256 = "bfb22576eef88293af4695d297b0b6d3cddc726a882e09ef29bd4684a705977f" %} # [osx and x86_64] +{% set sha256 = "62055ecaf81fac76cfc05a8cd64eba958d2c45350312556777dc4db7355a802a" %} # [linux and aarch64] +{% set sha256 = "6ba58753b1141a005e8a97bf581c1eada5cec6713a1f516518167f1da71b820b" %} # [osx and arm64] package: @@ -7,22 +16,18 @@ package: version: {{ version }} build: - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage('kmer-db', max_pin='x') }} + script: | + mkdir -p "${PREFIX}/bin" + cp -v kmer-db "${PREFIX}/bin/" || { echo "Error: Failed to copy kmer-db binary"; exit 1; } + source: - url: https://github.com/refresh-bio/kmer-db/archive/v{{ version }}.tar.gz + url: https://github.com/refresh-bio/kmer-db/releases/download/v{{ version }}/kmer-db-v{{ version }}-{{ system }}.tar.gz sha256: {{ sha256 }} -requirements: - build: - - make - - {{ compiler('cxx') }} - - make - host: - - zlib - run: - - zlib - about: home: https://github.com/refresh-bio/kmer-db summary: "Kmer-db is a fast and memory-efficient tool for estimating evolutionary distances." @@ -33,3 +38,13 @@ about: test: commands: - kmer-db > /dev/null + - kmer-db -help + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + skip-lints: + - should_be_noarch_generic + - should_not_be_noarch_source + diff --git a/recipes/kmer-jellyfish/build.sh b/recipes/kmer-jellyfish/build.sh index c10cb1869a9c5..d80b1f2cbe9b7 100644 --- a/recipes/kmer-jellyfish/build.sh +++ b/recipes/kmer-jellyfish/build.sh @@ -1,6 +1,11 @@ -#!/bin/bash +#!/bin/bash -euo -autoreconf -fi -./configure --prefix=$PREFIX -make +./configure --prefix=${PREFIX} --enable-python-binding --with-sse CXX="${CXX}" \ + CXXFLAGS="${CXXFLAGS} -O3" CPPFLAGS="${CPPFLAGS} -I${PREFIX}/include" \ + LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" + +make -j ${CPU_COUNT} make install +make check -j ${CPU_COUNT} +cd swig/python +pip install . --prefix=$PREFIX diff --git a/recipes/kmer-jellyfish/meta.yaml b/recipes/kmer-jellyfish/meta.yaml index 14cf2981e3866..3c7f76dafe597 100644 --- a/recipes/kmer-jellyfish/meta.yaml +++ b/recipes/kmer-jellyfish/meta.yaml @@ -1,39 +1,44 @@ -{% set version = "2.3.0" %} +{% set name = "kmer-jellyfish" %} +{% set version = "2.3.1" %} package: - name: kmer-jellyfish + name: {{ name }} version: {{ version }} -build: - number: 4 - source: url: https://github.com/gmarcais/Jellyfish/releases/download/v{{ version }}/jellyfish-{{ version }}.tar.gz - sha256: e195b7cf7ba42a90e5e112c0ed27894cd7ac864476dc5fb45ab169f5b930ea5a + sha256: ee032b57257948ca0f0610883099267572c91a635eecbd88ae5d8974c2430fcd + +build: + number: 3 + run_exports: + - {{ pin_subpackage("kmer-jellyfish", max_pin="x") }} requirements: build: - - make - {{ compiler('cxx') }} - - autoconf <2.7 # configure script has a problem with later autoconf - - automake - - gettext - - libtool - - pkg-config - - yaggo >=1.5.8 + - make + host: + - python >=3.8 + run: + - python >=3.8 test: commands: - jellyfish --version 2>&1 > /dev/null + imports: + - dna_jellyfish about: - home: http://www.genome.umd.edu/jellyfish.html - license: GPL-3.0 - license_family: GPL - summary: Jellyfish is a tool for fast, memory-efficient counting of k-mers in DNA. A k-mer is a substring of length k, and counting the occurrences of all such substrings is a central step in many analyses of DNA sequence - dev_url: https://github.com/gmarcais/Jellyfish + home: "https://genome.umd.edu/jellyfish.html" + license: "GPL-3.0-or-later" + license_family: GPL3 + summary: "Jellyfish is a tool for fast, memory-efficient counting of k-mers in DNA. A k-mer is a substring of length k, and counting the occurrences of all such substrings is a central step in many analyses of DNA sequence." + dev_url: "https://github.com/gmarcais/Jellyfish" + doc_url: "https://genome.umd.edu/docs/JellyfishUserGuide.pdf" extra: identifiers: - biotools:jellyfish - doi:10.1093/bioinformatics/btr011 + - usegalaxy-eu:jellyfish diff --git a/recipes/kmercamel/build.sh b/recipes/kmercamel/build.sh new file mode 100644 index 0000000000000..c307c32663a4b --- /dev/null +++ b/recipes/kmercamel/build.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +set -xe + +make -j ${CPU_COUNT} CXX="${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}" +install -d "${PREFIX}/bin" +install kmercamel "${PREFIX}/bin/" diff --git a/recipes/kmercamel/meta.yaml b/recipes/kmercamel/meta.yaml new file mode 100644 index 0000000000000..051d2eae13cd8 --- /dev/null +++ b/recipes/kmercamel/meta.yaml @@ -0,0 +1,42 @@ +{% set version = "1.0.2" %} +{% set sha256 = "b37449ef3f5d1bb6a45e24e4eba8102c40e689aa4e3eccc119d30a998b5790fa" %} + +package: + name: kmercamel + version: {{ version }} + +source: + url: https://github.com/OndrejSladky/kmercamel/archive/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 1 + run_exports: + - {{ pin_subpackage('kmercamel', max_pin="x") }} + + +requirements: + build: + - make + - {{ compiler('cxx') }} + host: + - zlib + - glpk + run: + - zlib + - glpk + +test: + commands: + - kmercamel -h 2>&1 | grep "KmerCamel" + +about: + home: https://github.com/OndrejSladky/kmercamel/ + license: MIT + license_file: LICENSE.txt + summary: KmerCamel🐫 - compressing k-mer sets using masked superstrings + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/kmergenie/meta.yaml b/recipes/kmergenie/meta.yaml index 7a7414fb32fee..6726681de11b8 100644 --- a/recipes/kmergenie/meta.yaml +++ b/recipes/kmergenie/meta.yaml @@ -7,7 +7,7 @@ package: version: {{ version }} build: - number: 7 + number: 8 skip: True # [osx or py2k] source: diff --git a/recipes/kmertools/build.sh b/recipes/kmertools/build.sh new file mode 100644 index 0000000000000..472a714ec66c5 --- /dev/null +++ b/recipes/kmertools/build.sh @@ -0,0 +1,37 @@ +#!/bin/bash -e + +# Build with Rust +cargo build --release + +# Install the binaries +cargo install --verbose --path kmertools --root "${PREFIX}" + +# Check if the system is macOS +if [[ "$(uname)" == "Darwin" ]]; then + # Get the architecture + arch=$(uname -m) + + # Set MACOSX_DEPLOYMENT_TARGET based on architecture + if [[ "$arch" == "x86_64" ]]; then + # For Intel Macs + export MACOSX_DEPLOYMENT_TARGET=10.12 + elif [[ "$arch" == "arm64" ]]; then + # For Apple Silicon Macs + export MACOSX_DEPLOYMENT_TARGET=11.0 + else + echo "Unknown architecture: $arch" + exit 1 + fi + + echo "Set MACOSX_DEPLOYMENT_TARGET to $MACOSX_DEPLOYMENT_TARGET for $arch" +else + echo "Not running on macOS, skipping MACOSX_DEPLOYMENT_TARGET" +fi + +# Build statically linked binary with Rust +RUST_BACKTRACE=1 +# Build with maturin +maturin build -m ./conda/Cargo.toml -b pyo3 --interpreter "${PYTHON}" --release --strip + +# Install the wheel file +${PYTHON} -m pip install ./target/wheels/*.whl --no-deps --no-build-isolation --no-cache-dir -vvv diff --git a/recipes/kmertools/meta.yaml b/recipes/kmertools/meta.yaml new file mode 100644 index 0000000000000..f8b6450da96f0 --- /dev/null +++ b/recipes/kmertools/meta.yaml @@ -0,0 +1,47 @@ +{% set version = "0.1.4" %} +{% set name = "kmertools" %} +{% set sha256 = "457ffdbe2cc34b9faf63d06124d6d68ffc9b8c83825fc800d171899dc3a8b0d9" %} + +package: + name: {{ name }} + version: {{ version }} + +build: + number: 0 + skip: True # [py < 39] + run_exports: + - {{ pin_subpackage('kmertools', max_pin="x.x") }} + +source: + url: https://github.com/anuradhawick/{{ name }}/archive/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +requirements: + build: + - {{ compiler("rust") }} + - python + host: + - maturin >=1.7,<2.0 + - python + - pip + +test: + commands: + - {{ name }} --help + +about: + home: https://github.com/anuradhawick/kmertools + license: GPL-3.0-only + license_family: GPL3 + summary: "kmertools: DNA Vectorisation Tool" + description: "kmertools is a k-mer based feature extraction tool designed to support metagenomics and other bioinformatics analytics." + doc_url: https://github.com/anuradhawick/kmertools/wiki + dev_url: https://github.com/anuradhawick/kmertools + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + recipe-maintainers: + - anuradhawick + - Vini2 diff --git a/recipes/knotinframe/build.sh b/recipes/knotinframe/build.sh index 8f6aa07be8dcb..9113b5bb646bb 100644 --- a/recipes/knotinframe/build.sh +++ b/recipes/knotinframe/build.sh @@ -1,5 +1,8 @@ -#!/bin/sh -make PREFIX=$PREFIX CC=$CC -C Misc/Applications/Knotinframe all -make PREFIX=$PREFIX CC=$CC -C Misc/Applications/Knotinframe install-program -make PREFIX=$PREFIX CC=$CC -C Misc/Applications/lib install -chmod +x $PREFIX/bin/knotinframe* $PREFIX/bin/addRNA* +#!/bin/bash + +set -exuo + +make -j ${CPU_COUNT} PREFIX=$PREFIX CC=$CC -C Misc/Applications/Knotinframe all +make -j ${CPU_COUNT} PREFIX=$PREFIX CC=$CC -C Misc/Applications/Knotinframe install-program +make -j ${CPU_COUNT} PREFIX=$PREFIX CC=$CC -C Misc/Applications/lib install +chmod 755 $PREFIX/bin/knotinframe* $PREFIX/bin/addRNA* diff --git a/recipes/knotinframe/meta.yaml b/recipes/knotinframe/meta.yaml index eadcddf4c285c..0a92ed9f51886 100644 --- a/recipes/knotinframe/meta.yaml +++ b/recipes/knotinframe/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "2.2.14" %} -{% set sha256 = "da7371378e32b2329da226be79a11974fdc4e66fe0b664757b5aafe29e2e12d6" %} +{% set version = "2.3.2" %} +{% set sha256 = "d3e6cc8d2ecd31d4764b41fea589b98c637ff227d7ab3dcfe66f2ad3f24dece5" %} package: name: knotinframe @@ -10,14 +10,15 @@ source: url: https://github.com/jlab/fold-grammars/archive/{{ version }}.tar.gz build: - number: 1 + number: 0 + run_exports: + - {{ pin_subpackage('knotinframe', max_pin="x") }} requirements: build: - make - {{ compiler('cxx') }} host: - - perl - bellmans-gapc >=2020.12.08 run: - perl @@ -29,11 +30,14 @@ test: about: home: https://bibiserv.cebitec.uni-bielefeld.de/knotinframe - license: 'GPLv3+' + license: 'GPL-3.0-or-later' + license_family: GPL3 license_file: LICENSE summary: 'Predicts -1 frameshift sites with simple pseudoknots' extra: + additional-platforms: + - linux-aarch64 identifiers: - doi:10.1093/nar/gkn578 - doi:10.1093/bioinformatics/btu649 diff --git a/recipes/konezumiaid/meta.yaml b/recipes/konezumiaid/meta.yaml new file mode 100644 index 0000000000000..5ead433a9586c --- /dev/null +++ b/recipes/konezumiaid/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "KOnezumiAID" %} +{% set version = "0.3.1" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/konezumiaid-{{ version }}.tar.gz + sha256: 78379cd1c923c5e6ae81fe0c0e84f6624b05ecca0cb87a73381431756e8a3489 + +build: + entry_points: + - konezumiaid = konezumiaid.main:main + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('konezumiaid', max_pin="x.x") }} + +requirements: + host: + - python >=3.9,<4.0 + - poetry-core + - pip + run: + - python >=3.9.0,<4.0.0 + - numpy 1.26.0 + - pandas 2.2.2 + - primer3-py >=2.0.1,<3.0.0 + - bedtools + - bowtie + +test: + imports: + - konezumiaid + commands: + - konezumiaid --help + requires: + - pip + +about: + home: https://github.com/aki2274/KOnezumi-AID + summary: This is used for automatically designing gRNAs for genome editing by Target-AID. + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - aki2274 diff --git a/recipes/koverage/meta.yaml b/recipes/koverage/meta.yaml index 385acafa06329..fb97ab5265ccd 100644 --- a/recipes/koverage/meta.yaml +++ b/recipes/koverage/meta.yaml @@ -1,5 +1,5 @@ {% set name = "koverage" %} -{% set version = "0.1.7" %} +{% set version = "0.1.11" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 75561037d21f1577200b659d097ef72ccb305f2cf5323eabda5d86cee15916ff + sha256: 24d785d654524a59c109f6fb3b3f6fc211b5f7177d643597f144fc6954a74d57 build: noarch: python @@ -18,18 +18,18 @@ build: requirements: host: - - python >=3.8 + - python >=3.10 - pip run: - - python >=3.8 + - python >=3.10 - snaketool-utils >=0.0.4 - metasnek >=0.0.8 - - snakemake >=7.14.0 + - snakemake >=7.14.0,<8 + - pulp <2.8 - pyyaml >=6.0 - Click >=8.1.3 - zstandard >=0.21.0 - numpy >=1.24.3 - - py-spy >=0.3.14 - datapane >=0.16.7 - plotly >=5.15.0 diff --git a/recipes/kpop/build.sh b/recipes/kpop/build.sh new file mode 100644 index 0000000000000..5a56f71b06c0b --- /dev/null +++ b/recipes/kpop/build.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +mkdir -p $PREFIX/bin +cp $SRC_DIR/KPop* $PREFIX/bin + +chmod +x $PREFIX/bin +chmod +x $PREFIX/bin/KPop* diff --git a/recipes/kpop/meta.yaml b/recipes/kpop/meta.yaml new file mode 100644 index 0000000000000..2c715ea857c7e --- /dev/null +++ b/recipes/kpop/meta.yaml @@ -0,0 +1,51 @@ +{% set name = "kpop" %} +{% set version = "1.1.1" %} +{% set sha_linux = "915eb6d4e0b41b4f6409b5fd97188193106b3300734c92131ab8ad0618051e4a" %} +{% set sha_macos = "06c15129e9ecea58092f5e4d5df136a0c227815f011f80f63ad9093d70cc46d3" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + - url: https://github.com/PaoloRibeca/KPop/releases/download/v{{ version }}/KPop-{{ version }}-Linux_x86-64.tar.xz # [linux] + sha256: {{ sha_linux }} # [linux] + - url: https://github.com/PaoloRibeca/KPop/releases/download/v{{ version }}/KPop-{{ version }}-MacOS_x86-64.tar.xz # [osx] + sha256: {{ sha_macos }} # [osx] + +build: + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + number: 1 + +requirements: + run: + - bash >=4.4.20 + - r-data.table + - r-ca + +test: + commands: + - KPopCount -V + - KPopCountDB -V + - KPopTwist_ -V + - KPopTwistDB -V + +about: + home: https://github.com/PaoloRibeca/KPop + license: GPL-3.0-only + license_file: LICENSE + summary: 'An assembly-free and scalable method for the comparative analysis of microbial genomes, based on full k-mer spectra and dataset-specific transformations.' + description: + KPop is an assembly-free and scalable method for the comparative analysis of microbial genomes, + based on full k-mer spectra and dataset-specific transformations. It is built using OCaml and R . + dev_url: https://github.com/PaoloRibeca/KPop + +extra: + skip-lints: + - should_be_noarch_generic + identifiers: + - doi:10.1101/2022.06.22.497172 + recipe-maintainers: + - PaoloRibeca + - ryanmorrison22 diff --git a/recipes/kraken2/Makefile.patch b/recipes/kraken2/Makefile.patch index f45ee538e0ade..8d3b0dddabd5b 100644 --- a/recipes/kraken2/Makefile.patch +++ b/recipes/kraken2/Makefile.patch @@ -1,10 +1,12 @@ -diff --git a/Makefile b/Makefile2 -index 0ffbe01..447f22d 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -1,4 +1,4 @@ +--- kraken2_org/src/Makefile 2024-06-05 16:08:08.900991340 +0200 ++++ kraken2/src/Makefile 2024-06-05 16:14:20.038219436 +0200 +@@ -1,7 +1,7 @@ -CXX = g++ -+#CXX = g++ ++# CXX = g++ KRAKEN2_SKIP_FOPENMP ?= -fopenmp CXXFLAGS = $(KRAKEN2_SKIP_FOPENMP) -Wall -std=c++11 -O3 - CXXFLAGS += -DLINEAR_PROBING +-CXXFLAGS += -DLINEAR_PROBING ++CXXFLAGS += -DLINEAR_PROBING $(LDFLAGS) + + .PHONY: all clean install + diff --git a/recipes/kraken2/build.sh b/recipes/kraken2/build.sh index 69fd862f95dcb..3cb65dd41091f 100644 --- a/recipes/kraken2/build.sh +++ b/recipes/kraken2/build.sh @@ -8,11 +8,20 @@ outdir=${PREFIX}/share/${PKG_NAME}-${PKG_VERSION}-${PKG_BUILDNUM} mkdir -p "${outdir}/libexec" "${PREFIX}/bin" chmod u+x install_kraken2.sh + +#install_name_tool error fix +if [[ "$(uname)" == Darwin ]]; then + export LDFLAGS="$LDFLAGS -headerpad_max_install_names" +fi + ./install_kraken2.sh "${outdir}/libexec" -for bin in kraken2 kraken2-build kraken2-inspect; do +for bin in kraken2 kraken2-build kraken2-inspect k2; do chmod +x "${outdir}/libexec/$bin" ln -s "${outdir}/libexec/$bin" "${PREFIX}/bin/$bin" # Change from double quotes to single in case of special chars - sed -i.bak "s#my \$KRAKEN_DIR = \"${outdir}/libexec\";#my \$KRAKEN_DIR = '${outdir}/libexec';#g" "${outdir}/libexec/${bin}" - rm -rf "${outdir}/libexec/${bin}.bak" + # we don't do the following for the k2 binariy + if [[ $bin != "k2" ]]; then + sed -i.bak "s#my \$KRAKEN_DIR = \"${outdir}/libexec\";#my \$KRAKEN_DIR = '${outdir}/libexec';#g" "${outdir}/libexec/${bin}" + rm -rf "${outdir}/libexec/${bin}.bak" + fi done diff --git a/recipes/kraken2/meta.yaml b/recipes/kraken2/meta.yaml index 3c9711d5529a1..8d2baa946852b 100644 --- a/recipes/kraken2/meta.yaml +++ b/recipes/kraken2/meta.yaml @@ -13,7 +13,9 @@ source: - Makefile.patch build: - number: 0 + number: 2 + run_exports: + - '{{ pin_subpackage(name, max_pin="x.x") }}' requirements: build: @@ -29,12 +31,19 @@ requirements: - zlib run: - blast + - perl + - wget + - tar + - rsync + - zlib + - python test: commands: - kraken2 --version - kraken2-build --version - kraken2-inspect --version + - k2 --help about: home: "https://ccb.jhu.edu/software/kraken2/" diff --git a/recipes/krakenuniq/meta.yaml b/recipes/krakenuniq/meta.yaml index 4b08d4525ee50..579f9c222be81 100644 --- a/recipes/krakenuniq/meta.yaml +++ b/recipes/krakenuniq/meta.yaml @@ -14,7 +14,9 @@ source: build: skip: true # [osx] - number: 1 + number: 2 + run_exports: + - {{ pin_subpackage('krakenuniq', max_pin="x.x") }} requirements: build: @@ -35,6 +37,7 @@ requirements: - perl-libwww-perl - perl-lwp-protocol-https - curl + - bc test: commands: diff --git a/recipes/krbalancing/meta.yaml b/recipes/krbalancing/meta.yaml index 5f1af39246169..d511ecac5eced 100644 --- a/recipes/krbalancing/meta.yaml +++ b/recipes/krbalancing/meta.yaml @@ -9,7 +9,9 @@ source: sha256: 890dee5c98d2037a2d19ba1fc3f700744858e7b22c61b40c714629125e65f464 build: - number: 7 + number: 9 + run_exports: + - {{ pin_subpackage('krbalancing', max_pin="x.x") }} requirements: build: @@ -34,3 +36,7 @@ about: home: 'https://github.com/deeptools/Knight-Ruiz-Matrix-balancing-algorithm' license: GPL3 summary: This is a c++ extension for python which computes K.R. balanced matrices. + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/kseqpp/meta.yaml b/recipes/kseqpp/meta.yaml index 97cc6aefc36aa..595e642475766 100644 --- a/recipes/kseqpp/meta.yaml +++ b/recipes/kseqpp/meta.yaml @@ -1,5 +1,5 @@ {% set name = "kseqpp" %} -{% set version = "1.1.1" %} +{% set version = "1.1.2" %} package: name: {{ name|lower }} @@ -7,10 +7,12 @@ package: source: url: https://github.com/cartoonist/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz - sha256: 7bad18d7b00b74f15503f1961c71455d5dcf751e539287aa8fc74c31a63a513f + sha256: 80d5da09f725517fe27c13bbc3efea55735ef426ffe086fd0544e18e670190be build: - number: 1 + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: host: diff --git a/recipes/ksnp/meta.yaml b/recipes/ksnp/meta.yaml index 9ac3a668035c3..779b2287a50b2 100644 --- a/recipes/ksnp/meta.yaml +++ b/recipes/ksnp/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 78975c007919b12af7a61a27d66347228a43ea223d59e37aad5ce7ae691a0569 build: - number: 0 + number: 1 python: 3.7 run_exports: - {{ pin_subpackage("ksnp", max_pin="x") }} diff --git a/recipes/lamassemble/meta.yaml b/recipes/lamassemble/meta.yaml index bba6f006b581d..dc72a38790941 100644 --- a/recipes/lamassemble/meta.yaml +++ b/recipes/lamassemble/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.6.2" %} +{% set version = "1.7.2" %} package: name: lamassemble @@ -6,7 +6,7 @@ package: source: url: https://gitlab.com/mcfrith/lamassemble/-/archive/{{ version }}/lamassemble-{{ version }}.tar.gz - sha256: 4d578d829f7d65a8e227fe6a4c5bb906d1423a15967ac209423acfcf7d2eed8c + sha256: 786f509c4b4b61521ff4d6bbe589acd7fdd49969bf190db345d501a823a91a75 build: number: 0 diff --git a/recipes/lambda/meta.yaml b/recipes/lambda/meta.yaml index e87ddb3cc388c..882b493ea719d 100644 --- a/recipes/lambda/meta.yaml +++ b/recipes/lambda/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "3.0.0" %} +{% set version = "3.1.0" %} package: name: lambda @@ -6,7 +6,7 @@ package: source: url: https://github.com/seqan/lambda/releases/download/lambda-v{{ version }}/lambda3-{{ version }}-SourceWithSubmodules.tar.xz - sha256: 48b4b72007ffc86c4aad59634721e89a990fb42cb90f2cd17f52edc60d0c6482 + sha256: fb3388e8b5a9f33f7423699803eaef4e6b9838c11017bd5b0d2b07f66491f191 build: number: 0 diff --git a/recipes/last/build.sh b/recipes/last/build.sh new file mode 100644 index 0000000000000..a00115fb43b2e --- /dev/null +++ b/recipes/last/build.sh @@ -0,0 +1,12 @@ +#!/bin/bash -xe + +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" + +ARCH=$(uname -m) +case ${ARCH} in + x86_64) ARCH_FLAGS="-msse4" ;; + *) ARCH_FLAGS="" ;; +esac + +make install CXXFLAGS="${CXXFLAGS} -O3 ${ARCH_FLAGS} -pthread -I${PREFIX}/include ${LDFLAGS}" \ + prefix="${PREFIX}" -j"${CPU_COUNT}" diff --git a/recipes/last/meta.yaml b/recipes/last/meta.yaml index cef8036ec945b..e4ced42950a1a 100644 --- a/recipes/last/meta.yaml +++ b/recipes/last/meta.yaml @@ -1,19 +1,18 @@ {% set name = "LAST" %} -{% set version = "1517" %} +{% set version = "1584" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://gitlab.com/mcfrith/last/-/archive/{{ version }}/last-{{ version }}.zip - sha256: 318e1e3f9e56c906678951f300e559f8765ac29a45ba280b96106e5407a93e63 + url: "https://gitlab.com/mcfrith/last/-/archive/{{ version }}/last-{{ version }}.tar.gz" + sha256: 5ed143d7311a1e2ea1fe2be87a2484612689a1498420e2a454762a6b3ab38ba3 build: number: 0 run_exports: - {{ pin_subpackage('last', max_pin=None) }} - script: make install CXXFLAGS="$CXXFLAGS -msse4 -pthread" prefix=$PREFIX requirements: build: @@ -23,7 +22,6 @@ requirements: host: - zlib run: - - zlib - python - pillow - parallel @@ -51,15 +49,24 @@ test: - parallel-fastq -h about: - home: https://gitlab.com/mcfrith/last - license: GPL-3.0-or-later + home: "https://gitlab.com/mcfrith/last" + license: "GPL-3.0-or-later" license_family: GPL3 - license_file: COPYING.txt + license_file: "COPYING.txt" summary: "LAST finds & aligns related regions of sequences." description: "LAST finds & aligns related regions of sequences. It is designed for moderately large data (e.g. genomes, DNA reads, proteomes). It's especially good at: finding rearrangements and recombinations; finding DNA-versus-protein related regions; unusual data like AT-rich DNA; sensitive DNA-DNA search." + dev_url: "https://gitlab.com/mcfrith/last" + doc_url: "https://gitlab.com/mcfrith/last/-/blob/main/doc/last-cookbook.rst" extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 container: extended-base: True identifiers: - biotools:last + - usegalaxy-eu:last_train + - usegalaxy-eu:last_al + - usegalaxy-eu:last_db + - usegalaxy-eu:last_split diff --git a/recipes/lastz/build.sh b/recipes/lastz/build.sh index 73bb1de4ce1cc..182e1c8acd239 100644 --- a/recipes/lastz/build.sh +++ b/recipes/lastz/build.sh @@ -1,11 +1,13 @@ #!/bin/sh +set -xe + mkdir -p $PREFIX/bin # Build lastz and lastz_D (lastz_D uses floating-point scores -make CC="${CC}" +make -j ${CPU_COUNT} CC="${CC}" # Build lastz_32, which uses 32-bit positions index and can handle genomes larger than 2Gb -make CC="${CC}" lastz_32 +make -j ${CPU_COUNT} CC="${CC}" lastz_32 chmod +x src/lastz chmod +x src/lastz_D diff --git a/recipes/lastz/meta.yaml b/recipes/lastz/meta.yaml index 5068cec65d04c..64807a95534e7 100644 --- a/recipes/lastz/meta.yaml +++ b/recipes/lastz/meta.yaml @@ -6,12 +6,13 @@ package: version: "{{ version }}" build: - number: 0 + number: 1 + run_exports: + - {{ pin_subpackage('lastz', max_pin='x') }} source: url: https://github.com/lastz/lastz/archive/refs/tags/{{ version }}.tar.gz sha256: 4c829603ba4aed7ddf64255b528cd88850e4557382fca29580d3576c25c5054a - patches: - makefile.patch @@ -20,6 +21,7 @@ requirements: - make - {{ compiler('c') }} run: + test: commands: - lastz --version 2>&1 | grep {{ version }} > /dev/null @@ -30,5 +32,8 @@ about: summary: LASTZ is a program for aligning DNA sequences, a pairwise aligner. extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - biotools:lastz diff --git a/recipes/ldhelmet/meta.yaml b/recipes/ldhelmet/meta.yaml index 9c29ba2c2956c..394427b33ca4e 100644 --- a/recipes/ldhelmet/meta.yaml +++ b/recipes/ldhelmet/meta.yaml @@ -3,7 +3,7 @@ package: version: 1.10 build: - number: 6 + number: 7 skip: True # [osx] source: diff --git a/recipes/learnmsa/meta.yaml b/recipes/learnmsa/meta.yaml index dacfbf73ca0a2..393e43a11f17d 100644 --- a/recipes/learnmsa/meta.yaml +++ b/recipes/learnmsa/meta.yaml @@ -1,5 +1,5 @@ {% set name = "learnMSA" %} -{% set version = "1.3.2" %} +{% set version = "2.0.1" %} package: name: "{{ name|lower }}" @@ -7,14 +7,16 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: da7ec9b5f89685098cbeb272918e9c89f2e67bd6698dbbc7bfa49a036d06d73c + sha256: 1f1322d33a83358b989cf26569865cd89235abfecce743aab62c8b8fe3681a51 build: number: 0 entry_points: - learnMSA = learnMSA.run:run_main - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vvv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" noarch: python + run_exports: + - {{ pin_subpackage('learnmsa', max_pin="x") }} requirements: host: @@ -26,9 +28,12 @@ requirements: - seaborn - python >=3.9 - tensorflow >=2.7.0,<2.11 + - tensorflow-probability <=0.18.0 - biopython >=1.69 - pyfamsa - transformers + - imageio + - sentencepiece test: imports: @@ -50,3 +55,6 @@ about: extra: recipe-maintainers: - felbecker + identifiers: + - doi:10.1093/gigascience/giac104 + - biotools:learnMSA diff --git a/recipes/leehom/build_failure.linux-64.yaml b/recipes/leehom/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..066af506a2c8b --- /dev/null +++ b/recipes/leehom/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: f630e2d6b06be86ac058ec3cd9eef400cfee5b57be8c8238ca8a127dc460ed4e # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + _openmp_mutex: 4.5-2_gnu conda-forge + binutils_impl_linux-64: 2.40-ha1999f0_2 conda-forge + binutils_linux-64: 2.40-hdade7a5_3 conda-forge + gcc_impl_linux-64: 12.3.0-h58ffeeb_7 conda-forge + gcc_linux-64: 12.3.0-h6477408_3 conda-forge + gxx_impl_linux-64: 12.3.0-h2a574ab_7 conda-forge + gxx_linux-64: 12.3.0-h4a1b8e8_3 conda-forge + kernel-headers_linux-64: 2.6.32-he073ed8_17 conda-forge + ld_impl_linux-64: 2.40-hf3520f5_2 conda-forge + libgcc-devel_linux-64: 12.3.0-h0223996_107 conda-forge + libgcc-ng: 13.2.0-h77fa898_7 conda-forge + libgomp: 13.2.0-h77fa898_7 conda-forge + libsanitizer: 12.3.0-hb8811af_7 conda-forge + libstdcxx-devel_linux-64: 12.3.0-h0223996_107 conda-forge + libstdcxx-ng: 13.2.0-hc0a3c3a_7 conda-forge + make: 4.3-hd18ef5c_1 conda-forge + sysroot_linux-64: 2.12-he073ed8_17 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Source cache directory is: /opt/conda/conda-bld/src_cache + Downloading source to cache: 1.2.15_29a1aec5c1.tar.gz + Downloading https://github.com/grenaud/leehom/archive/1.2.15.tar.gz + Success + Extracting download + source tree in: /opt/conda/conda-bld/leehom_1717714536306/work + export PREFIX=/opt/conda/conda-bld/leehom_1717714536306/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh + export BUILD_PREFIX=/opt/conda/conda-bld/leehom_1717714536306/_build_env + export SRC_DIR=/opt/conda/conda-bld/leehom_1717714536306/work + INFO: activate-binutils_linux-64.sh made the following environmental changes: + ADDR2LINE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-addr2line + AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar + AS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-as + CXXFILT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cfilt + ELFEDIT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-elfedit + GPROF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gprof + LD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld + LD_GOLD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld.gold + NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-nm + OBJCOPY=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objcopy + OBJDUMP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objdump + RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib + READELF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-readelf + SIZE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-size + STRINGS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strings + STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip + INFO: activate-gcc_linux-64.sh made the following environmental changes: + BUILD=x86_64-conda-linux-gnu + CC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/leehom-1.2.15 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH=$PREFIX;$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=$PREFIX:$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot/usr + CONDA_BUILD_SYSROOT=$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot + CONDA_TOOLCHAIN_BUILD=x86_64-conda-linux-gnu + CONDA_TOOLCHAIN_HOST=x86_64-conda-linux-gnu + CPP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cpp + CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include + DEBUG_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/leehom-1.2.15 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem $PREFIX/include + GCC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc + GCC_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar + GCC_NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-nm + GCC_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib + HOST=x86_64-conda-linux-gnu + LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_cos6_linux_gnu + build_alias=x86_64-conda-linux-gnu + host_alias=x86_64-conda-linux-gnu + -BUILD=x86_64-conda_cos6-linux-gnu + -CONDA_BUILD_SYSROOT= + INFO: activate-gxx_linux-64.sh made the following environmental changes: + CXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/leehom-1.2.15 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + DEBUG_CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/leehom-1.2.15 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + GXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-g + make -C ../libgab + make[1]: *** No targets specified and no makefile found. Stop. + make[1]: Entering directory '$SRC_DIR/libgab' + make[1]: Leaving directory '$SRC_DIR/libgab' + make: *** [Makefile:66: /opt/conda/conda-bld/leehom_1717714536306/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/libgab//libgab.a] Error 2 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/leehom_1717714536306/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. diff --git a/recipes/leehom/meta.yaml b/recipes/leehom/meta.yaml index 1f18366537334..aba85e03221ae 100644 --- a/recipes/leehom/meta.yaml +++ b/recipes/leehom/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 29a1aec5c10d7929057e47b576e6b0c1257594768bd43db214b9f12b87e76873 build: - number: 6 + number: 7 skip: true # [osx] requirements: diff --git a/recipes/lemur/meta.yaml b/recipes/lemur/meta.yaml new file mode 100644 index 0000000000000..1e8ba3fb9aaa2 --- /dev/null +++ b/recipes/lemur/meta.yaml @@ -0,0 +1,35 @@ +{% set name = "lemur" %} +{% set version = "1.0.1" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: 'https://github.com/treangenlab/lemur/archive/refs/tags/v{{version}}.tar.gz' + sha256: 190b6302deabe5d09428bc541e5ab924ab6b727c30fc0c93554c2a131e7fd0d7 + +build: + run_exports: + - {{ pin_subpackage('lemur', max_pin="x") }} + noarch: generic + number: 0 + script: mkdir -p ${PREFIX}/bin && cp lemur ${PREFIX}/bin + +requirements: + run: + - python >=3.7 + - pysam >=0.15 + - numpy >=1.11 + - pandas >=1.1.3 + - minimap2 >=2.22 + +test: + commands: + - lemur --help + +about: + home: https://github.com/treangenlab/lemur + license: MIT + license_file: LICENSE + summary: Lemur is a tool for rapid and accurate taxonomic profiling on long-read metagenomic datasets diff --git a/recipes/leviosam2/build.sh b/recipes/leviosam2/build.sh index 03747c4c0a3e9..a752a5cf3518c 100644 --- a/recipes/leviosam2/build.sh +++ b/recipes/leviosam2/build.sh @@ -1,5 +1,22 @@ -mkdir -p build; -cd build; -cmake -DCMAKE_INSTALL_PREFIX=${PREFIX} ${SRC_DIR} -make; -make install +#!/bin/bash + +export INCLUDES="-I{PREFIX}/include" +export LIBPATH="-L${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CXXFLAGS="${CXXFLAGS} -O3 -I${PREFIX}/include" + +if [[ `uname` == "Darwin" ]]; then + export CONFIG_ARGS="-DCMAKE_FIND_FRAMEWORK=NEVER -DCMAKE_FIND_APPBUNDLE=NEVER" +else + export CONFIG_ARGS="" +fi + +cmake -S . -B build -DCMAKE_INSTALL_PREFIX="${PREFIX}" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_LIBRARY_PATH="${PREFIX}/lib" \ + -DCMAKE_INCLUDE_PATH="${PREFIX}/include" \ + -DCMAKE_CXX_COMPILER="${CXX}" \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ + "${CONFIG_ARGS}" + +cmake --build build --target install -j "${CPU_COUNT}" -v diff --git a/recipes/leviosam2/meta.yaml b/recipes/leviosam2/meta.yaml index b039512101d06..d833f8fd73168 100644 --- a/recipes/leviosam2/meta.yaml +++ b/recipes/leviosam2/meta.yaml @@ -1,12 +1,13 @@ -{% set version = "0.4.2" %} +{% set name = "leviosam2" %} +{% set version = "0.5.0" %} package: - name: leviosam2 + name: {{ name }} version: {{ version }} source: - url: https://github.com/milkschen/leviosam2/archive/refs/tags/v{{ version }}.tar.gz - sha256: c0901f7e78e092058116a0b013286d4c452caeeaee778a24eb13301d08e56e30 + url: https://github.com/milkschen/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: 5829b1565702887aefab78aaba06687724fb229e27e5d7f1244746d9e1744163 build: number: 0 @@ -21,6 +22,7 @@ requirements: host: - htslib >=1.11 - sdsl-lite >=2.1.1 + - zlib >=1.2.11,<1.3.0a0 run: - python >=3.6 - htslib >=1.11 @@ -29,16 +31,20 @@ requirements: test: commands: - - leviosam2 -h + - leviosam2 -h + about: home: "https://github.com/milkschen/leviosam2" license: MIT license_family: MIT license_file: LICENSE - summary: "Fast and accurate coordinate conversion between assemblies" - doc_url: "https://github.com/milkschen/leviosam2/blob/main/workflow/README.md" + summary: "Fast and accurate coordinate conversion between assemblies." + doc_url: "https://github.com/milkschen/leviosam2/blob/v{{ version }}/README.md" + dev_url: "https://github.com/milkschen/leviosam2" extra: identifiers: - doi:10.1093/bioinformatics/btab396 - doi:10.1101/2022.04.27.489683 + additional-platforms: + - linux-aarch64 diff --git a/recipes/lexicmap/build.sh b/recipes/lexicmap/build.sh new file mode 100644 index 0000000000000..fcf25512b98e6 --- /dev/null +++ b/recipes/lexicmap/build.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +mkdir -p $PREFIX/bin +cp lexicmap $PREFIX/bin diff --git a/recipes/lexicmap/meta.yaml b/recipes/lexicmap/meta.yaml new file mode 100644 index 0000000000000..d5488f59fd7f7 --- /dev/null +++ b/recipes/lexicmap/meta.yaml @@ -0,0 +1,40 @@ +{% set version = "0.4.0" %} + +package: + name: lexicmap + version: {{ version }} + +source: + url: https://github.com/shenwei356/LexicMap/releases/download/v{{ version }}/lexicmap_darwin_amd64.tar.gz # [osx] + md5: 631f54c4ddb655522728f7818778d080 # [osx] + + url: https://github.com/shenwei356/LexicMap/releases/download/v{{ version }}/lexicmap_darwin_arm64.tar.gz # [arm64] + md5: 2afe68c7d0f074291dd615d79bc5bc09 # [arm64] + + url: https://github.com/shenwei356/LexicMap/releases/download/v{{ version }}/lexicmap_linux_amd64.tar.gz # [linux] + md5: c2fca1f71e99b8e78d7b043ff82aa4e5 # [linux] + + url: https://github.com/shenwei356/LexicMap/releases/download/v{{ version }}/lexicmap_linux_arm64.tar.gz # [aarch64] + md5: ba006e38889489198fa703a5f7ebb805 # [aarch64] + +build: + number: 0 + run_exports: + - {{ pin_subpackage('lexicmap', max_pin='x.x') }} + +test: + commands: + - lexicmap version --help + +about: + home: https://github.com/shenwei356/LexicMap + summary: efficient sequence alignment against millions of prokaryotic genomes + license: MIT + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + skip-lints: + - should_be_noarch_generic + - should_not_be_noarch_source diff --git a/recipes/lib-pod5/LICENSE.md b/recipes/lib-pod5/LICENSE.md new file mode 100644 index 0000000000000..9f3e082df8e44 --- /dev/null +++ b/recipes/lib-pod5/LICENSE.md @@ -0,0 +1,362 @@ +This Source Code Form is subject to the terms of the Mozilla Public +License, v. 2.0. If a copy of the MPL was not distributed with this +file, You can obtain one at https://mozilla.org/MPL/2.0/. + +©2021 Oxford Nanopore Technologies PLC. + + +Mozilla Public License Version 2.0 +================================== + +### 1. Definitions + +**1.1. “Contributor”** + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +**1.2. “Contributor Version”** + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +**1.3. “Contribution”** + means Covered Software of a particular Contributor. + +**1.4. “Covered Software”** + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +**1.5. “Incompatible With Secondary Licenses”** + means + +* **(a)** that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or +* **(b)** that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +**1.6. “Executable Form”** + means any form of the work other than Source Code Form. + +**1.7. “Larger Work”** + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +**1.8. “License”** + means this document. + +**1.9. “Licensable”** + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +**1.10. “Modifications”** + means any of the following: + +* **(a)** any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or +* **(b)** any new file in Source Code Form that contains any Covered + Software. + +**1.11. “Patent Claims” of a Contributor** + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +**1.12. “Secondary License”** + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +**1.13. “Source Code Form”** + means the form of the work preferred for making modifications. + +**1.14. “You” (or “Your”)** + means an individual or a legal entity exercising rights under this + License. For legal entities, “You” includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, “control” means **(a)** the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or **(b)** ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + + +### 2. License Grants and Conditions + +#### 2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +* **(a)** under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and +* **(b)** under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +#### 2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +#### 2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +* **(a)** for any code that a Contributor has removed from Covered Software; + or +* **(b)** for infringements caused by: **(i)** Your and any other third party's + modifications of Covered Software, or **(ii)** the combination of its + Contributions with other software (except as part of its Contributor + Version); or +* **(c)** under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +#### 2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +#### 2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +#### 2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +#### 2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + + +### 3. Responsibilities + +#### 3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +#### 3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +* **(a)** such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +* **(b)** You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +#### 3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +#### 3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +#### 3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + + +### 4. Inability to Comply Due to Statute or Regulation + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: **(a)** comply with +the terms of this License to the maximum extent possible; and **(b)** +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + + +### 5. Termination + +**5.1.** The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated **(a)** provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and **(b)** on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +**5.2.** If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +**5.3.** In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + + +### 6. Disclaimer of Warranty + +> Covered Software is provided under this License on an “as is” +> basis, without warranty of any kind, either expressed, implied, or +> statutory, including, without limitation, warranties that the +> Covered Software is free of defects, merchantable, fit for a +> particular purpose or non-infringing. The entire risk as to the +> quality and performance of the Covered Software is with You. +> Should any Covered Software prove defective in any respect, You +> (not any Contributor) assume the cost of any necessary servicing, +> repair, or correction. This disclaimer of warranty constitutes an +> essential part of this License. No use of any Covered Software is +> authorized under this License except under this disclaimer. + +### 7. Limitation of Liability + +> Under no circumstances and under no legal theory, whether tort +> (including negligence), contract, or otherwise, shall any +> Contributor, or anyone who distributes Covered Software as +> permitted above, be liable to You for any direct, indirect, +> special, incidental, or consequential damages of any character +> including, without limitation, damages for lost profits, loss of +> goodwill, work stoppage, computer failure or malfunction, or any +> and all other commercial damages or losses, even if such party +> shall have been informed of the possibility of such damages. This +> limitation of liability shall not apply to liability for death or +> personal injury resulting from such party's negligence to the +> extent applicable law prohibits such limitation. Some +> jurisdictions do not allow the exclusion or limitation of +> incidental or consequential damages, so this exclusion and +> limitation may not apply to You. + + +### 8. Litigation + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + + +### 9. Miscellaneous + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + + +### 10. Versions of the License + +#### 10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +#### 10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +#### 10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +#### 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +## Exhibit A - Source Code Form License Notice + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at https://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +## Exhibit B - “Incompatible With Secondary Licenses” Notice + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/recipes/lib-pod5/meta.yaml b/recipes/lib-pod5/meta.yaml new file mode 100644 index 0000000000000..72786148d5074 --- /dev/null +++ b/recipes/lib-pod5/meta.yaml @@ -0,0 +1,58 @@ +{% set name = "lib-pod5" %} +{% set version = "0.3.15" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/nanoporetech/pod5-file-format/releases/download/{{ version }}/pod5-{{ version }}.tar.gz + sha256: 85e3196bfc375b7d6eb36787a312af5276b19829ceded551b55e9e193939e8f4 + +build: + number: 0 + noarch: python + script: + - {{ PYTHON }} -m pip install https://files.pythonhosted.org/packages/9a/34/4ade92cc2e2690a52473a4c8a62c32b8364a81ed803d6096ab43d0fd3dcb/lib_pod5-{{ version }}-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -vvv --no-deps --no-build-isolation --no-cache-dir # [linux and x86_64] + - {{ PYTHON }} -m pip install https://files.pythonhosted.org/packages/fd/e4/e4d33770ecdeff95a1475153b3d0342041a2fc17279bd140c3502073cc16/lib_pod5-{{ version }}-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -vvv --no-deps --no-build-isolation --no-cache-dir # [linux and aarch64] + - {{ PYTHON }} -m pip install https://files.pythonhosted.org/packages/64/af/a549fea23785b064f95da916d4e086fa52a07ba83dae6e3ee9309299bb17/lib_pod5-{{ version }}-cp312-cp312-macosx_10_15_universal2.whl -vvv --no-deps --no-build-isolation --no-cache-dir # [osx and x86_64] + - {{ PYTHON }} -m pip install https://files.pythonhosted.org/packages/ab/8c/5c0ca9d60a26bb02823201853d9214a8e75238c4f08cc54996300f671a16/lib_pod5-{{ version }}-cp312-cp312-macosx_11_0_arm64.whl -vvv --no-deps --no-build-isolation --no-cache-dir # [osx and arm64] + run_exports: + - {{ pin_subpackage('lib-pod5', max_pin="x.x") }} + +requirements: + host: + - python >=3.8 + - pybind11 >=2.10.0 + - pip + run: + - python >=3.8 + - numpy >=1.21.0 + +test: + imports: + - lib_pod5 + +about: + home: https://github.com/nanoporetech/pod5-file-format + summary: "Python bindings for the POD5 file format." + license: "MPL-2.0" + license_family: OTHER + license_file: "LICENSE.md" + dev_url: https://github.com/nanoporetech/pod5-file-format + doc_url: https://pod5-file-format.readthedocs.io/en/latest + description: | + [![Documentation Status](https://readthedocs.org/projects/pod5-file-format/badge/?version=latest)](https://pod5-file-format.readthedocs.io/) + + **Python bindings for the POD5 file format** + + What does this project contain + ------------------------------ + + This project contains the low-level core library (extension modules) for reading and writing POD5 files. + This project forms the basis of the pure-python [pod5 package](https://github.com/nanoporetech/pod5-file-format) which is probably the project you want. + + Documentation + ------------- + + Full documentation is found at https://pod5-file-format.readthedocs.io diff --git a/recipes/libbigwig/build.sh b/recipes/libbigwig/build.sh index c377c852819b3..efb9b6416fa12 100644 --- a/recipes/libbigwig/build.sh +++ b/recipes/libbigwig/build.sh @@ -1,5 +1,6 @@ #!/bin/bash +set -ex export C_INCLUDE_PATH=${PREFIX}/include export LIBRARY_PATH=${PREFIX}/lib @@ -9,7 +10,7 @@ CFLAGS="$CFLAGS -g -Wall -O3 -Wsign-compare -L$PREFIX/lib -I$PREFIX/include" LIBS="$LDFLAGS -L$PREFIX/lib -lcurl -lm -lz" sed -i.bak "s/--suffix=.c/foo/" Makefile -make install prefix=$PREFIX/ CC=$CC CFLAGS="$CFLAGS" LIBS="$LIBS" +make -j ${CPU_COUNT} install prefix=$PREFIX/ CC=$CC CFLAGS="$CFLAGS" LIBS="$LIBS" make test/testLocal CC=$CC CFLAGS="$CFLAGS" LIBS="$LIBS" cp bigWig.h $PREFIX/include cp -r libBigWig.a libBigWig.so $PREFIX/lib diff --git a/recipes/libbigwig/meta.yaml b/recipes/libbigwig/meta.yaml index fdb8293e62c52..1dd557e47859e 100644 --- a/recipes/libbigwig/meta.yaml +++ b/recipes/libbigwig/meta.yaml @@ -6,7 +6,7 @@ package: version: {{ version }} build: - number: 4 + number: 6 run_exports: - {{ pin_subpackage('libbigwig', max_pin='x.x') }} @@ -35,3 +35,8 @@ about: test: commands: - test -f $PREFIX/lib/libBigWig.so + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 \ No newline at end of file diff --git a/recipes/libcifpp/build.sh b/recipes/libcifpp/build.sh index b8317b473a811..62f983f67c85c 100644 --- a/recipes/libcifpp/build.sh +++ b/recipes/libcifpp/build.sh @@ -1,6 +1,15 @@ -mkdir build -cd build -cmake .. -DCMAKE_INSTALL_PREFIX=$PREFIX -cmake --build . --config Release -ctest -C Release -cmake --install . --prefix $PREFIX +#!/bin/bash + +export INCLUDES="-I{PREFIX}/include" +export LIBPATH="-L${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CXXFLAGS="${CXXFLAGS} -O3 -I${PREFIX}/include" + +cmake -S . -B build -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX="${PREFIX}" \ + -DCMAKE_CXX_COMPILER="${CXX}" \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ + -DBUILD_TESTING=OFF -DCIFPP_DOWNLOAD_CCD=OFF \ + -DCIFPP_INSTALL_UPDATE_SCRIPT=OFF + +cmake --build build/ --target install -j "${CPU_COUNT}" -v diff --git a/recipes/libcifpp/conda_build_config.yaml b/recipes/libcifpp/conda_build_config.yaml deleted file mode 100644 index 1271f9dfbd295..0000000000000 --- a/recipes/libcifpp/conda_build_config.yaml +++ /dev/null @@ -1,7 +0,0 @@ -# current version does not build with newer compilers -cxx_compiler_version: - - 10 # [linux] - - 14 # [osx] -c_compiler_version: - - 10 # [linux] - - 14 # [osx] diff --git a/recipes/libcifpp/meta.yaml b/recipes/libcifpp/meta.yaml index 59df774ff3098..e81459934f2a9 100644 --- a/recipes/libcifpp/meta.yaml +++ b/recipes/libcifpp/meta.yaml @@ -1,41 +1,48 @@ -{% set version = "5.0.0" %} +{% set name = "libcifpp" %} +{% set version = "7.0.7" %} +{% set sha256 = "0e88805b4704d4a899aeee6df5aaace1d6b47d8ccb3a3f39b35bc5a3997c09ac" %} package: - name: libcifpp + name: {{ name|lower }} version: {{ version }} source: - git_url: https://github.com/PDB-REDO/libcifpp - git_tag: "v{{ version }}" - sha256: fc1ed30d9bddddc10f32f96bb7fc9cb82430c93d012a7cd17d69678287542dec - -test: - commands: - - test -e $PREFIX/lib/libcifpp.a + url: https://github.com/PDB-REDO/{{ name|lower }}/archive/v{{ version }}.tar.gz + sha256: {{ sha256 }} build: + number: 0 skip: True # [osx] - number: 2 run_exports: - - {{ pin_subpackage('libcifpp', max_pin='x.x') }} + - {{ pin_subpackage(name|lower, max_pin="x") }} requirements: build: - {{ compiler('c') }} - {{ compiler('cxx') }} - - boost-cpp - cmake - make + host: + - zlib + - boost-cpp + run: + - boost-cpp +test: + commands: + - test -e $PREFIX/lib/libcifpp.a + about: - home: https://github.com/PDB-REDO/libcifpp + home: "https://github.com/PDB-REDO/libcifpp" license: BSD-2-Clause license_file: LICENSE license_family: BSD - summary: Library containing code to manipulate mmCIF and PDB files + summary: "Library containing code to manipulate mmCIF and PDB files." + doc_url: "https://pdb-redo.github.io/libcifpp" + dev_url: "https://github.com/PDB-REDO/libcifpp" extra: recipe-maintainers: - multimeric - skip-lints: - - uses_vcs_url + additional-platforms: + - linux-aarch64 diff --git a/recipes/libdivsufsort/build.sh b/recipes/libdivsufsort/build.sh index e718d739a426f..6223bbe07918f 100644 --- a/recipes/libdivsufsort/build.sh +++ b/recipes/libdivsufsort/build.sh @@ -4,5 +4,5 @@ mkdir -p $PREFIX/bin mkdir build cd build cmake -DCMAKE_BUILD_TYPE="Release" -DCMAKE_INSTALL_PREFIX=$PREFIX -DBUILD_DIVSUFSORT64="On" .. -make +make -j ${CPU_COUNT} make install diff --git a/recipes/libdivsufsort/meta.yaml b/recipes/libdivsufsort/meta.yaml index 35dd09fbddfd9..027973b1c178a 100644 --- a/recipes/libdivsufsort/meta.yaml +++ b/recipes/libdivsufsort/meta.yaml @@ -6,7 +6,7 @@ package: version: {{ version }} build: - number: 8 + number: 9 run_exports: - {{ pin_subpackage('libdivsufsort', max_pin='x.x') }} @@ -33,3 +33,6 @@ about: license_file: LICENSE summary: 'A lightweight suffix-sorting library' +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/libgab/meta.yaml b/recipes/libgab/meta.yaml index 0c4a1d7b5c73a..cda514e4fd3d8 100644 --- a/recipes/libgab/meta.yaml +++ b/recipes/libgab/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 04bd27813e3c001f64d06bee4524502e99f0f80e4a0882ffcead8770b7b2a2da build: - number: 13 + number: 14 skip: True # [osx] run_exports: - {{ pin_subpackage('libgab', max_pin='x.x') }} diff --git a/recipes/libgtextutils/build.sh b/recipes/libgtextutils/build.sh index 11dbe2c56199c..c96265be7797c 100755 --- a/recipes/libgtextutils/build.sh +++ b/recipes/libgtextutils/build.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -xe + if [ "$(uname)" == "Darwin" ]; then # building the library requires an implementation of basic_stringbuf # from the c++ standard library @@ -7,6 +9,9 @@ if [ "$(uname)" == "Darwin" ]; then MACOSX_DEPLOYMENT_TARGET=10.9 fi +# use newer config.guess and config.sub that support linux-aarch64 +cp ${RECIPE_DIR}/config.* ./config/ + ./configure --prefix=$PREFIX -make +make -j ${CPU_COUNT} make install diff --git a/recipes/libgtextutils/build_failure.osx-64.yaml b/recipes/libgtextutils/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..cc0830e0314a5 --- /dev/null +++ b/recipes/libgtextutils/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 8b9c4c8d6ccd3d6985a52343529c7bb537f1bf86ed4b7346ceaf38eb39d19990 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + configure: error: in /opt/mambaforge/envs/bioconda/conda-bld/libgtextutils_1717594491933/work': + configure: error: cannot run C compiled programs. + If you meant to cross compile, use --host'. + See config.log' for more details + Extracting download + Traceback (most recent call last): + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/libgtextutils/patch + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/libgtextutils/patch with args: + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + ['-Np0', '-i', '/tmp/tmpoqzoa0ap/patch.native', '--binary'] + Patch analysis gives: + [[ RA--D0LOVE ]] - [[ patch ]] + + Key: + + R :: Reversible A :: Applicable + Y :: Build-prefix patch in use M :: Minimal, non-amalgamated + D :: Dry-runnable N :: Patch level (1 is preferred) + L :: Patch level not-ambiguous O :: Patch applies without offsets + V :: Patch applies without fuzz E :: Patch applies without emitting to stderr + + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/libgtextutils_1717594491933/work + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/libgtextutils_1717594491933/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_ + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/libgtextutils_1717594491933/_build_env + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/libgtextutils_1717594491933/work/conda_build.sh']' returned non-zero exit status 1. + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/libgtextutils_1717594491933/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/libgtextutils-0.7 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/libgtextutils-0.7 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/libgtextutils-0.7 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/libgtextutils-0.7 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + checking for a BSD-compatible install... /usr/bin/install -c + checking whether build environment is sane... yes + checking for a thread-safe mkdir -p... config/install-sh -c -d + checking for gawk... no + checking for mawk... no + checking for nawk... no + checking for awk... awk + checking whether make sets $(MAKE)... yes + checking whether make supports nested variables... yes + checking for x86_64-apple-darwin13.4.0-gcc... x86_64-apple-darwin13.4.0-clang + checking whether the C compiler works... yes + checking for C compiler default output file name... a.out + checking for suffix of executables... +# Last 100 lines of the build log. diff --git a/recipes/libgtextutils/config.guess b/recipes/libgtextutils/config.guess new file mode 100644 index 0000000000000..1972fda8eb05d --- /dev/null +++ b/recipes/libgtextutils/config.guess @@ -0,0 +1,1700 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright 1992-2021 Free Software Foundation, Inc. + +timestamp='2021-01-25' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). +# +# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. +# +# You can get the latest version of this script from: +# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess +# +# Please send patches to . + + +me=$(echo "$0" | sed -e 's,.*/,,') + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright 1992-2021 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +tmp= +# shellcheck disable=SC2172 +trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 + +set_cc_for_build() { + # prevent multiple calls if $tmp is already set + test "$tmp" && return 0 + : "${TMPDIR=/tmp}" + # shellcheck disable=SC2039 + { tmp=$( (umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null) && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } + dummy=$tmp/dummy + case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in + ,,) echo "int x;" > "$dummy.c" + for driver in cc gcc c89 c99 ; do + if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then + CC_FOR_BUILD="$driver" + break + fi + done + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; + esac +} + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if test -f /.attbin/uname ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=$( (uname -m) 2>/dev/null) || UNAME_MACHINE=unknown +UNAME_RELEASE=$( (uname -r) 2>/dev/null) || UNAME_RELEASE=unknown +UNAME_SYSTEM=$( (uname -s) 2>/dev/null) || UNAME_SYSTEM=unknown +UNAME_VERSION=$( (uname -v) 2>/dev/null) || UNAME_VERSION=unknown + +case "$UNAME_SYSTEM" in +Linux|GNU|GNU/*) + LIBC=unknown + + set_cc_for_build + cat <<-EOF > "$dummy.c" + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #elif defined(__GLIBC__) + LIBC=gnu + #else + #include + /* First heuristic to detect musl libc. */ + #ifdef __DEFINED_va_list + LIBC=musl + #endif + #endif + EOF + eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g')" + + # Second heuristic to detect musl libc. + if [ "$LIBC" = unknown ] && + command -v ldd >/dev/null && + ldd --version 2>&1 | grep -q ^musl; then + LIBC=musl + fi + + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + if [ "$LIBC" = unknown ]; then + LIBC=gnu + fi + ;; +esac + +# Note: order is significant - the case branches are not exclusive. + +case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + UNAME_MACHINE_ARCH=$( (uname -p 2>/dev/null || \ + /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + echo unknown)) + case "$UNAME_MACHINE_ARCH" in + aarch64eb) machine=aarch64_be-unknown ;; + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + earmv*) + arch=$(echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,') + endian=$(echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p') + machine="${arch}${endian}"-unknown + ;; + *) machine="$UNAME_MACHINE_ARCH"-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently (or will in the future) and ABI. + case "$UNAME_MACHINE_ARCH" in + earm*) + os=netbsdelf + ;; + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ELF__ + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # Determine ABI tags. + case "$UNAME_MACHINE_ARCH" in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' + abi=$(echo "$UNAME_MACHINE_ARCH" | sed -e "$expr") + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "$UNAME_VERSION" in + Debian*) + release='-gnu' + ;; + *) + release=$(echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2) + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "$machine-${os}${release}${abi-}" + exit ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=$(arch | sed 's/Bitrig.//') + echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=$(arch | sed 's/OpenBSD.//') + echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" + exit ;; + *:LibertyBSD:*:*) + UNAME_MACHINE_ARCH=$(arch | sed 's/^.*BSD\.//') + echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" + exit ;; + *:MidnightBSD:*:*) + echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" + exit ;; + *:ekkoBSD:*:*) + echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" + exit ;; + *:SolidBSD:*:*) + echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" + exit ;; + *:OS108:*:*) + echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE" + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd"$UNAME_RELEASE" + exit ;; + *:MirBSD:*:*) + echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" + exit ;; + *:Sortix:*:*) + echo "$UNAME_MACHINE"-unknown-sortix + exit ;; + *:Twizzler:*:*) + echo "$UNAME_MACHINE"-unknown-twizzler + exit ;; + *:Redox:*:*) + echo "$UNAME_MACHINE"-unknown-redox + exit ;; + mips:OSF1:*.*) + echo mips-dec-osf1 + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $3}') + ;; + *5.*) + UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $4}') + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=$(/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1) + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE=alpha ;; + "EV4.5 (21064)") + UNAME_MACHINE=alpha ;; + "LCA4 (21066/21068)") + UNAME_MACHINE=alpha ;; + "EV5 (21164)") + UNAME_MACHINE=alphaev5 ;; + "EV5.6 (21164A)") + UNAME_MACHINE=alphaev56 ;; + "EV5.6 (21164PC)") + UNAME_MACHINE=alphapca56 ;; + "EV5.7 (21164PC)") + UNAME_MACHINE=alphapca57 ;; + "EV6 (21264)") + UNAME_MACHINE=alphaev6 ;; + "EV6.7 (21264A)") + UNAME_MACHINE=alphaev67 ;; + "EV6.8CB (21264C)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8AL (21264B)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8CX (21264D)") + UNAME_MACHINE=alphaev68 ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE=alphaev69 ;; + "EV7 (21364)") + UNAME_MACHINE=alphaev7 ;; + "EV7.9 (21364A)") + UNAME_MACHINE=alphaev79 ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo "$UNAME_MACHINE"-dec-osf"$(echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz)" + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + exitcode=$? + trap '' 0 + exit $exitcode ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo "$UNAME_MACHINE"-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo "$UNAME_MACHINE"-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix"$UNAME_RELEASE" + exit ;; + arm*:riscos:*:*|arm*:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "$( (/bin/universe) 2>/dev/null)" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case $(/usr/bin/uname -p) in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + s390x:SunOS:*:*) + echo "$UNAME_MACHINE"-ibm-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')" + exit ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')" + exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux"$UNAME_RELEASE" + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + set_cc_for_build + SUN_ARCH=i386 + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH=x86_64 + fi + fi + echo "$SUN_ARCH"-pc-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" + exit ;; + sun4*:SunOS:*:*) + case "$(/usr/bin/arch -k)" in + Series*|S4*) + UNAME_RELEASE=$(uname -v) + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/')" + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos"$UNAME_RELEASE" + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=$( (sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null) + test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 + case "$(/bin/arch)" in + sun3) + echo m68k-sun-sunos"$UNAME_RELEASE" + ;; + sun4) + echo sparc-sun-sunos"$UNAME_RELEASE" + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos"$UNAME_RELEASE" + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint"$UNAME_RELEASE" + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint"$UNAME_RELEASE" + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint"$UNAME_RELEASE" + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint"$UNAME_RELEASE" + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint"$UNAME_RELEASE" + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint"$UNAME_RELEASE" + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten"$UNAME_RELEASE" + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten"$UNAME_RELEASE" + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix"$UNAME_RELEASE" + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix"$UNAME_RELEASE" + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix"$UNAME_RELEASE" + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && + dummyarg=$(echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p') && + SYSTEM_NAME=$("$dummy" "$dummyarg") && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos"$UNAME_RELEASE" + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=$(/usr/bin/uname -p) + if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 + then + if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ + test "$TARGET_BINARY_INTERFACE"x = x + then + echo m88k-dg-dgux"$UNAME_RELEASE" + else + echo m88k-dg-dguxbcs"$UNAME_RELEASE" + fi + else + echo i586-dg-dgux"$UNAME_RELEASE" + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/g')" + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'$(uname -s)'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if test -x /usr/bin/oslevel ; then + IBM_REV=$(/usr/bin/oslevel) + else + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" + fi + echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[4567]) + IBM_CPU_ID=$(/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }') + if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if test -x /usr/bin/lslpp ; then + IBM_REV=$(/usr/bin/lslpp -Lqc bos.rte.libc | + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/) + else + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" + fi + echo "$IBM_ARCH"-ibm-aix"$IBM_REV" + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//') + case "$UNAME_MACHINE" in + 9000/31?) HP_ARCH=m68000 ;; + 9000/[34]??) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if test -x /usr/bin/getconf; then + sc_cpu_version=$(/usr/bin/getconf SC_CPU_VERSION 2>/dev/null) + sc_kernel_bits=$(/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null) + case "$sc_cpu_version" in + 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 + 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "$sc_kernel_bits" in + 32) HP_ARCH=hppa2.0n ;; + 64) HP_ARCH=hppa2.0w ;; + '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 + esac ;; + esac + fi + if test "$HP_ARCH" = ""; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=$("$dummy") + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if test "$HP_ARCH" = hppa2.0w + then + set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | + grep -q __LP64__ + then + HP_ARCH=hppa2.0w + else + HP_ARCH=hppa64 + fi + fi + echo "$HP_ARCH"-hp-hpux"$HPUX_REV" + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//') + echo ia64-hp-hpux"$HPUX_REV" + exit ;; + 3050*:HI-UX:*:*) + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if test -x /usr/sbin/sysversion ; then + echo "$UNAME_MACHINE"-unknown-osf1mk + else + echo "$UNAME_MACHINE"-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=$(uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz) + FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///') + FUJITSU_REL=$(echo "$UNAME_RELEASE" | sed -e 's/ /_/') + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///') + FUJITSU_REL=$(echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/') + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi"$UNAME_RELEASE" + exit ;; + *:BSD/OS:*:*) + echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" + exit ;; + arm:FreeBSD:*:*) + UNAME_PROCESSOR=$(uname -p) + set_cc_for_build + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabi + else + echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabihf + fi + exit ;; + *:FreeBSD:*:*) + UNAME_PROCESSOR=$(/usr/bin/uname -p) + case "$UNAME_PROCESSOR" in + amd64) + UNAME_PROCESSOR=x86_64 ;; + i386) + UNAME_PROCESSOR=i586 ;; + esac + echo "$UNAME_PROCESSOR"-unknown-freebsd"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')" + exit ;; + i*:CYGWIN*:*) + echo "$UNAME_MACHINE"-pc-cygwin + exit ;; + *:MINGW64*:*) + echo "$UNAME_MACHINE"-pc-mingw64 + exit ;; + *:MINGW*:*) + echo "$UNAME_MACHINE"-pc-mingw32 + exit ;; + *:MSYS*:*) + echo "$UNAME_MACHINE"-pc-msys + exit ;; + i*:PW*:*) + echo "$UNAME_MACHINE"-pc-pw32 + exit ;; + *:Interix*:*) + case "$UNAME_MACHINE" in + x86) + echo i586-pc-interix"$UNAME_RELEASE" + exit ;; + authenticamd | genuineintel | EM64T) + echo x86_64-unknown-interix"$UNAME_RELEASE" + exit ;; + IA64) + echo ia64-unknown-interix"$UNAME_RELEASE" + exit ;; + esac ;; + i*:UWIN*:*) + echo "$UNAME_MACHINE"-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-pc-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" + exit ;; + *:GNU:*:*) + # the GNU system + echo "$(echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,')-unknown-$LIBC$(echo "$UNAME_RELEASE"|sed -e 's,/.*$,,')" + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo "$UNAME_MACHINE-unknown-$(echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]")$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')-$LIBC" + exit ;; + *:Minix:*:*) + echo "$UNAME_MACHINE"-unknown-minix + exit ;; + aarch64:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + alpha:Linux:*:*) + case $(sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null) in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC=gnulibc1 ; fi + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + arc:Linux:*:* | arceb:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + arm*:Linux:*:*) + set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi + else + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf + fi + fi + exit ;; + avr32*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + cris:Linux:*:*) + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" + exit ;; + crisv32:Linux:*:*) + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" + exit ;; + e2k:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + frv:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + hexagon:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + i*86:Linux:*:*) + echo "$UNAME_MACHINE"-pc-linux-"$LIBC" + exit ;; + ia64:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + k1om:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + m32r*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + m68*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + mips:Linux:*:* | mips64:Linux:*:*) + set_cc_for_build + IS_GLIBC=0 + test x"${LIBC}" = xgnu && IS_GLIBC=1 + sed 's/^ //' << EOF > "$dummy.c" + #undef CPU + #undef mips + #undef mipsel + #undef mips64 + #undef mips64el + #if ${IS_GLIBC} && defined(_ABI64) + LIBCABI=gnuabi64 + #else + #if ${IS_GLIBC} && defined(_ABIN32) + LIBCABI=gnuabin32 + #else + LIBCABI=${LIBC} + #endif + #endif + + #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa64r6 + #else + #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa32r6 + #else + #if defined(__mips64) + CPU=mips64 + #else + CPU=mips + #endif + #endif + #endif + + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + MIPS_ENDIAN=el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + MIPS_ENDIAN= + #else + MIPS_ENDIAN= + #endif + #endif +EOF + eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI')" + test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } + ;; + mips64el:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + openrisc*:Linux:*:*) + echo or1k-unknown-linux-"$LIBC" + exit ;; + or32:Linux:*:* | or1k*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-"$LIBC" + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-"$LIBC" + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case $(grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2) in + PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; + PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; + *) echo hppa-unknown-linux-"$LIBC" ;; + esac + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-"$LIBC" + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-"$LIBC" + exit ;; + ppc64le:Linux:*:*) + echo powerpc64le-unknown-linux-"$LIBC" + exit ;; + ppcle:Linux:*:*) + echo powerpcle-unknown-linux-"$LIBC" + exit ;; + riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" + exit ;; + sh64*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + sh*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + tile*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + vax:Linux:*:*) + echo "$UNAME_MACHINE"-dec-linux-"$LIBC" + exit ;; + x86_64:Linux:*:*) + set_cc_for_build + LIBCABI=$LIBC + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_X32 >/dev/null + then + LIBCABI="$LIBC"x32 + fi + fi + echo "$UNAME_MACHINE"-pc-linux-"$LIBCABI" + exit ;; + xtensa*:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo "$UNAME_MACHINE"-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo "$UNAME_MACHINE"-unknown-stop + exit ;; + i*86:atheos:*:*) + echo "$UNAME_MACHINE"-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo "$UNAME_MACHINE"-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + echo i386-unknown-lynxos"$UNAME_RELEASE" + exit ;; + i*86:*DOS:*:*) + echo "$UNAME_MACHINE"-pc-msdosdjgpp + exit ;; + i*86:*:4.*:*) + UNAME_REL=$(echo "$UNAME_RELEASE" | sed 's/\/MP$//') + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" + else + echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case $(/bin/uname -X | grep "^Machine") in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}" + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=$(sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=$( (/bin/uname -X|grep Release|sed -e 's/.*= //')) + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" + else + echo "$UNAME_MACHINE"-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configure will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos"$UNAME_RELEASE" + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos"$UNAME_RELEASE" + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos"$UNAME_RELEASE" + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + echo powerpc-unknown-lynxos"$UNAME_RELEASE" + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv"$UNAME_RELEASE" + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=$( (uname -p) 2>/dev/null) + echo "$UNAME_MACHINE"-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo "$UNAME_MACHINE"-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux"$UNAME_RELEASE" + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if test -d /usr/nec; then + echo mips-nec-sysv"$UNAME_RELEASE" + else + echo mips-unknown-sysv"$UNAME_RELEASE" + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; + x86_64:Haiku:*:*) + echo x86_64-unknown-haiku + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux"$UNAME_RELEASE" + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux"$UNAME_RELEASE" + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux"$UNAME_RELEASE" + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux"$UNAME_RELEASE" + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux"$UNAME_RELEASE" + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux"$UNAME_RELEASE" + exit ;; + SX-ACE:SUPER-UX:*:*) + echo sxace-nec-superux"$UNAME_RELEASE" + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody"$UNAME_RELEASE" + exit ;; + *:Rhapsody:*:*) + echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" + exit ;; + arm64:Darwin:*:*) + echo aarch64-apple-darwin"$UNAME_RELEASE" + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=$(uname -p) + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + if command -v xcode-select > /dev/null 2> /dev/null && \ + ! xcode-select --print-path > /dev/null 2> /dev/null ; then + # Avoid executing cc if there is no toolchain installed as + # cc will be a stub that puts up a graphical alert + # prompting the user to install developer tools. + CC_FOR_BUILD=no_compiler_found + else + set_cc_for_build + fi + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_PPC >/dev/null + then + UNAME_PROCESSOR=powerpc + fi + elif test "$UNAME_PROCESSOR" = i386 ; then + # uname -m returns i386 or x86_64 + UNAME_PROCESSOR=$UNAME_MACHINE + fi + echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=$(uname -p) + if test "$UNAME_PROCESSOR" = x86; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NEO-*:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSE-*:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSR-*:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSV-*:NONSTOP_KERNEL:*:*) + echo nsv-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSX-*:NONSTOP_KERNEL:*:*) + echo nsx-tandem-nsk"$UNAME_RELEASE" + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + # shellcheck disable=SC2154 + if test "$cputype" = 386; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo "$UNAME_MACHINE"-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux"$UNAME_RELEASE" + exit ;; + *:DragonFly:*:*) + echo "$UNAME_MACHINE"-unknown-dragonfly"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')" + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=$( (uname -p) 2>/dev/null) + case "$UNAME_MACHINE" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo "$UNAME_MACHINE"-pc-skyos"$(echo "$UNAME_RELEASE" | sed -e 's/ .*$//')" + exit ;; + i*86:rdos:*:*) + echo "$UNAME_MACHINE"-pc-rdos + exit ;; + *:AROS:*:*) + echo "$UNAME_MACHINE"-unknown-aros + exit ;; + x86_64:VMkernel:*:*) + echo "$UNAME_MACHINE"-unknown-esx + exit ;; + amd64:Isilon\ OneFS:*:*) + echo x86_64-unknown-onefs + exit ;; + *:Unleashed:*:*) + echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE" + exit ;; +esac + +# No uname command or uname output not recognized. +set_cc_for_build +cat > "$dummy.c" < +#include +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#include +#if defined(_SIZE_T_) || defined(SIGLOST) +#include +#endif +#endif +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=$( (hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null); + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); +#endif + +#if defined (vax) +#if !defined (ultrix) +#include +#if defined (BSD) +#if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +#else +#if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#endif +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#else +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname un; + uname (&un); + printf ("vax-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("vax-dec-ultrix\n"); exit (0); +#endif +#endif +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname *un; + uname (&un); + printf ("mips-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("mips-dec-ultrix\n"); exit (0); +#endif +#endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=$($dummy) && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. +test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } + +echo "$0: unable to guess system type" >&2 + +case "$UNAME_MACHINE:$UNAME_SYSTEM" in + mips:Linux | mips64:Linux) + # If we got here on MIPS GNU/Linux, output extra information. + cat >&2 <&2 <&2 </dev/null || echo unknown) +uname -r = $( (uname -r) 2>/dev/null || echo unknown) +uname -s = $( (uname -s) 2>/dev/null || echo unknown) +uname -v = $( (uname -v) 2>/dev/null || echo unknown) + +/usr/bin/uname -p = $( (/usr/bin/uname -p) 2>/dev/null) +/bin/uname -X = $( (/bin/uname -X) 2>/dev/null) + +hostinfo = $( (hostinfo) 2>/dev/null) +/bin/universe = $( (/bin/universe) 2>/dev/null) +/usr/bin/arch -k = $( (/usr/bin/arch -k) 2>/dev/null) +/bin/arch = $( (/bin/arch) 2>/dev/null) +/usr/bin/oslevel = $( (/usr/bin/oslevel) 2>/dev/null) +/usr/convex/getsysinfo = $( (/usr/convex/getsysinfo) 2>/dev/null) + +UNAME_MACHINE = "$UNAME_MACHINE" +UNAME_RELEASE = "$UNAME_RELEASE" +UNAME_SYSTEM = "$UNAME_SYSTEM" +UNAME_VERSION = "$UNAME_VERSION" +EOF +fi + +exit 1 + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/recipes/libgtextutils/config.sub b/recipes/libgtextutils/config.sub new file mode 100644 index 0000000000000..38f3d037a785f --- /dev/null +++ b/recipes/libgtextutils/config.sub @@ -0,0 +1,1885 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright 1992-2021 Free Software Foundation, Inc. + +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2021-10-27' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). + + +# Please send patches to . +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# You can get the latest version of this script from: +# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX. However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS + +Canonicalize a configuration name. + +Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright 1992-2021 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo "$1" + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Split fields of configuration type +# shellcheck disable=SC2162 +saved_IFS=$IFS +IFS="-" read field1 field2 field3 field4 <&2 + exit 1 + ;; + *-*-*-*) + basic_machine=$field1-$field2 + basic_os=$field3-$field4 + ;; + *-*-*) + # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two + # parts + maybe_os=$field2-$field3 + case $maybe_os in + nto-qnx* | linux-* | uclinux-uclibc* \ + | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ + | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ + | storm-chaos* | os2-emx* | rtmk-nova*) + basic_machine=$field1 + basic_os=$maybe_os + ;; + android-linux) + basic_machine=$field1-unknown + basic_os=linux-android + ;; + *) + basic_machine=$field1-$field2 + basic_os=$field3 + ;; + esac + ;; + *-*) + # A lone config we happen to match not fitting any pattern + case $field1-$field2 in + decstation-3100) + basic_machine=mips-dec + basic_os= + ;; + *-*) + # Second component is usually, but not always the OS + case $field2 in + # Prevent following clause from handling this valid os + sun*os*) + basic_machine=$field1 + basic_os=$field2 + ;; + zephyr*) + basic_machine=$field1-unknown + basic_os=$field2 + ;; + # Manufacturers + dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ + | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ + | unicom* | ibm* | next | hp | isi* | apollo | altos* \ + | convergent* | ncr* | news | 32* | 3600* | 3100* \ + | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ + | ultra | tti* | harris | dolphin | highlevel | gould \ + | cbm | ns | masscomp | apple | axis | knuth | cray \ + | microblaze* | sim | cisco \ + | oki | wec | wrs | winbond) + basic_machine=$field1-$field2 + basic_os= + ;; + *) + basic_machine=$field1 + basic_os=$field2 + ;; + esac + ;; + esac + ;; + *) + # Convert single-component short-hands not valid as part of + # multi-component configurations. + case $field1 in + 386bsd) + basic_machine=i386-pc + basic_os=bsd + ;; + a29khif) + basic_machine=a29k-amd + basic_os=udi + ;; + adobe68k) + basic_machine=m68010-adobe + basic_os=scout + ;; + alliant) + basic_machine=fx80-alliant + basic_os= + ;; + altos | altos3068) + basic_machine=m68k-altos + basic_os= + ;; + am29k) + basic_machine=a29k-none + basic_os=bsd + ;; + amdahl) + basic_machine=580-amdahl + basic_os=sysv + ;; + amiga) + basic_machine=m68k-unknown + basic_os= + ;; + amigaos | amigados) + basic_machine=m68k-unknown + basic_os=amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + basic_os=sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + basic_os=sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + basic_os=bsd + ;; + aros) + basic_machine=i386-pc + basic_os=aros + ;; + aux) + basic_machine=m68k-apple + basic_os=aux + ;; + balance) + basic_machine=ns32k-sequent + basic_os=dynix + ;; + blackfin) + basic_machine=bfin-unknown + basic_os=linux + ;; + cegcc) + basic_machine=arm-unknown + basic_os=cegcc + ;; + convex-c1) + basic_machine=c1-convex + basic_os=bsd + ;; + convex-c2) + basic_machine=c2-convex + basic_os=bsd + ;; + convex-c32) + basic_machine=c32-convex + basic_os=bsd + ;; + convex-c34) + basic_machine=c34-convex + basic_os=bsd + ;; + convex-c38) + basic_machine=c38-convex + basic_os=bsd + ;; + cray) + basic_machine=j90-cray + basic_os=unicos + ;; + crds | unos) + basic_machine=m68k-crds + basic_os= + ;; + da30) + basic_machine=m68k-da30 + basic_os= + ;; + decstation | pmax | pmin | dec3100 | decstatn) + basic_machine=mips-dec + basic_os= + ;; + delta88) + basic_machine=m88k-motorola + basic_os=sysv3 + ;; + dicos) + basic_machine=i686-pc + basic_os=dicos + ;; + djgpp) + basic_machine=i586-pc + basic_os=msdosdjgpp + ;; + ebmon29k) + basic_machine=a29k-amd + basic_os=ebmon + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + basic_os=ose + ;; + gmicro) + basic_machine=tron-gmicro + basic_os=sysv + ;; + go32) + basic_machine=i386-pc + basic_os=go32 + ;; + h8300hms) + basic_machine=h8300-hitachi + basic_os=hms + ;; + h8300xray) + basic_machine=h8300-hitachi + basic_os=xray + ;; + h8500hms) + basic_machine=h8500-hitachi + basic_os=hms + ;; + harris) + basic_machine=m88k-harris + basic_os=sysv3 + ;; + hp300 | hp300hpux) + basic_machine=m68k-hp + basic_os=hpux + ;; + hp300bsd) + basic_machine=m68k-hp + basic_os=bsd + ;; + hppaosf) + basic_machine=hppa1.1-hp + basic_os=osf + ;; + hppro) + basic_machine=hppa1.1-hp + basic_os=proelf + ;; + i386mach) + basic_machine=i386-mach + basic_os=mach + ;; + isi68 | isi) + basic_machine=m68k-isi + basic_os=sysv + ;; + m68knommu) + basic_machine=m68k-unknown + basic_os=linux + ;; + magnum | m3230) + basic_machine=mips-mips + basic_os=sysv + ;; + merlin) + basic_machine=ns32k-utek + basic_os=sysv + ;; + mingw64) + basic_machine=x86_64-pc + basic_os=mingw64 + ;; + mingw32) + basic_machine=i686-pc + basic_os=mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + basic_os=mingw32ce + ;; + monitor) + basic_machine=m68k-rom68k + basic_os=coff + ;; + morphos) + basic_machine=powerpc-unknown + basic_os=morphos + ;; + moxiebox) + basic_machine=moxie-unknown + basic_os=moxiebox + ;; + msdos) + basic_machine=i386-pc + basic_os=msdos + ;; + msys) + basic_machine=i686-pc + basic_os=msys + ;; + mvs) + basic_machine=i370-ibm + basic_os=mvs + ;; + nacl) + basic_machine=le32-unknown + basic_os=nacl + ;; + ncr3000) + basic_machine=i486-ncr + basic_os=sysv4 + ;; + netbsd386) + basic_machine=i386-pc + basic_os=netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + basic_os=linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + basic_os=newsos + ;; + news1000) + basic_machine=m68030-sony + basic_os=newsos + ;; + necv70) + basic_machine=v70-nec + basic_os=sysv + ;; + nh3000) + basic_machine=m68k-harris + basic_os=cxux + ;; + nh[45]000) + basic_machine=m88k-harris + basic_os=cxux + ;; + nindy960) + basic_machine=i960-intel + basic_os=nindy + ;; + mon960) + basic_machine=i960-intel + basic_os=mon960 + ;; + nonstopux) + basic_machine=mips-compaq + basic_os=nonstopux + ;; + os400) + basic_machine=powerpc-ibm + basic_os=os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + basic_os=ose + ;; + os68k) + basic_machine=m68k-none + basic_os=os68k + ;; + paragon) + basic_machine=i860-intel + basic_os=osf + ;; + parisc) + basic_machine=hppa-unknown + basic_os=linux + ;; + psp) + basic_machine=mipsallegrexel-sony + basic_os=psp + ;; + pw32) + basic_machine=i586-unknown + basic_os=pw32 + ;; + rdos | rdos64) + basic_machine=x86_64-pc + basic_os=rdos + ;; + rdos32) + basic_machine=i386-pc + basic_os=rdos + ;; + rom68k) + basic_machine=m68k-rom68k + basic_os=coff + ;; + sa29200) + basic_machine=a29k-amd + basic_os=udi + ;; + sei) + basic_machine=mips-sei + basic_os=seiux + ;; + sequent) + basic_machine=i386-sequent + basic_os= + ;; + sps7) + basic_machine=m68k-bull + basic_os=sysv2 + ;; + st2000) + basic_machine=m68k-tandem + basic_os= + ;; + stratus) + basic_machine=i860-stratus + basic_os=sysv4 + ;; + sun2) + basic_machine=m68000-sun + basic_os= + ;; + sun2os3) + basic_machine=m68000-sun + basic_os=sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + basic_os=sunos4 + ;; + sun3) + basic_machine=m68k-sun + basic_os= + ;; + sun3os3) + basic_machine=m68k-sun + basic_os=sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + basic_os=sunos4 + ;; + sun4) + basic_machine=sparc-sun + basic_os= + ;; + sun4os3) + basic_machine=sparc-sun + basic_os=sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + basic_os=sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + basic_os=solaris2 + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + basic_os= + ;; + sv1) + basic_machine=sv1-cray + basic_os=unicos + ;; + symmetry) + basic_machine=i386-sequent + basic_os=dynix + ;; + t3e) + basic_machine=alphaev5-cray + basic_os=unicos + ;; + t90) + basic_machine=t90-cray + basic_os=unicos + ;; + toad1) + basic_machine=pdp10-xkl + basic_os=tops20 + ;; + tpf) + basic_machine=s390x-ibm + basic_os=tpf + ;; + udi29k) + basic_machine=a29k-amd + basic_os=udi + ;; + ultra3) + basic_machine=a29k-nyu + basic_os=sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + basic_os=none + ;; + vaxv) + basic_machine=vax-dec + basic_os=sysv + ;; + vms) + basic_machine=vax-dec + basic_os=vms + ;; + vsta) + basic_machine=i386-pc + basic_os=vsta + ;; + vxworks960) + basic_machine=i960-wrs + basic_os=vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + basic_os=vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + basic_os=vxworks + ;; + xbox) + basic_machine=i686-pc + basic_os=mingw32 + ;; + ymp) + basic_machine=ymp-cray + basic_os=unicos + ;; + *) + basic_machine=$1 + basic_os= + ;; + esac + ;; +esac + +# Decode 1-component or ad-hoc basic machines +case $basic_machine in + # Here we handle the default manufacturer of certain CPU types. It is in + # some cases the only manufacturer, in others, it is the most popular. + w89k) + cpu=hppa1.1 + vendor=winbond + ;; + op50n) + cpu=hppa1.1 + vendor=oki + ;; + op60c) + cpu=hppa1.1 + vendor=oki + ;; + ibm*) + cpu=i370 + vendor=ibm + ;; + orion105) + cpu=clipper + vendor=highlevel + ;; + mac | mpw | mac-mpw) + cpu=m68k + vendor=apple + ;; + pmac | pmac-mpw) + cpu=powerpc + vendor=apple + ;; + + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + cpu=m68000 + vendor=att + ;; + 3b*) + cpu=we32k + vendor=att + ;; + bluegene*) + cpu=powerpc + vendor=ibm + basic_os=cnk + ;; + decsystem10* | dec10*) + cpu=pdp10 + vendor=dec + basic_os=tops10 + ;; + decsystem20* | dec20*) + cpu=pdp10 + vendor=dec + basic_os=tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + cpu=m68k + vendor=motorola + ;; + dpx2*) + cpu=m68k + vendor=bull + basic_os=sysv3 + ;; + encore | umax | mmax) + cpu=ns32k + vendor=encore + ;; + elxsi) + cpu=elxsi + vendor=elxsi + basic_os=${basic_os:-bsd} + ;; + fx2800) + cpu=i860 + vendor=alliant + ;; + genix) + cpu=ns32k + vendor=ns + ;; + h3050r* | hiux*) + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + cpu=m68000 + vendor=hp + ;; + hp9k3[2-9][0-9]) + cpu=m68k + vendor=hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + cpu=hppa1.1 + vendor=hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + i*86v32) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv32 + ;; + i*86v4*) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv4 + ;; + i*86v) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv + ;; + i*86sol2) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=solaris2 + ;; + j90 | j90-cray) + cpu=j90 + vendor=cray + basic_os=${basic_os:-unicos} + ;; + iris | iris4d) + cpu=mips + vendor=sgi + case $basic_os in + irix*) + ;; + *) + basic_os=irix4 + ;; + esac + ;; + miniframe) + cpu=m68000 + vendor=convergent + ;; + *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) + cpu=m68k + vendor=atari + basic_os=mint + ;; + news-3600 | risc-news) + cpu=mips + vendor=sony + basic_os=newsos + ;; + next | m*-next) + cpu=m68k + vendor=next + case $basic_os in + openstep*) + ;; + nextstep*) + ;; + ns2*) + basic_os=nextstep2 + ;; + *) + basic_os=nextstep3 + ;; + esac + ;; + np1) + cpu=np1 + vendor=gould + ;; + op50n-* | op60c-*) + cpu=hppa1.1 + vendor=oki + basic_os=proelf + ;; + pa-hitachi) + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 + ;; + pbd) + cpu=sparc + vendor=tti + ;; + pbb) + cpu=m68k + vendor=tti + ;; + pc532) + cpu=ns32k + vendor=pc532 + ;; + pn) + cpu=pn + vendor=gould + ;; + power) + cpu=power + vendor=ibm + ;; + ps2) + cpu=i386 + vendor=ibm + ;; + rm[46]00) + cpu=mips + vendor=siemens + ;; + rtpc | rtpc-*) + cpu=romp + vendor=ibm + ;; + sde) + cpu=mipsisa32 + vendor=sde + basic_os=${basic_os:-elf} + ;; + simso-wrs) + cpu=sparclite + vendor=wrs + basic_os=vxworks + ;; + tower | tower-32) + cpu=m68k + vendor=ncr + ;; + vpp*|vx|vx-*) + cpu=f301 + vendor=fujitsu + ;; + w65) + cpu=w65 + vendor=wdc + ;; + w89k-*) + cpu=hppa1.1 + vendor=winbond + basic_os=proelf + ;; + none) + cpu=none + vendor=none + ;; + leon|leon[3-9]) + cpu=sparc + vendor=$basic_machine + ;; + leon-*|leon[3-9]-*) + cpu=sparc + vendor=`echo "$basic_machine" | sed 's/-.*//'` + ;; + + *-*) + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read cpu vendor <&2 + exit 1 + ;; + esac + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $vendor in + digital*) + vendor=dec + ;; + commodore*) + vendor=cbm + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if test x$basic_os != x +then + +# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just +# set os. +case $basic_os in + gnu/linux*) + kernel=linux + os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` + ;; + os2-emx) + kernel=os2 + os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` + ;; + nto-qnx*) + kernel=nto + os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` + ;; + *-*) + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read kernel os <&2 + exit 1 + ;; +esac + +# As a final step for OS-related things, validate the OS-kernel combination +# (given a valid OS), if there is a kernel. +case $kernel-$os in + linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ + | linux-musl* | linux-relibc* | linux-uclibc* ) + ;; + uclinux-uclibc* ) + ;; + -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) + # These are just libc implementations, not actual OSes, and thus + # require a kernel. + echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 + exit 1 + ;; + kfreebsd*-gnu* | kopensolaris*-gnu*) + ;; + vxworks-simlinux | vxworks-simwindows | vxworks-spe) + ;; + nto-qnx*) + ;; + os2-emx) + ;; + *-eabi* | *-gnueabi*) + ;; + -*) + # Blank kernel with real OS is always fine. + ;; + *-*) + echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 + exit 1 + ;; +esac + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +case $vendor in + unknown) + case $cpu-$os in + *-riscix*) + vendor=acorn + ;; + *-sunos*) + vendor=sun + ;; + *-cnk* | *-aix*) + vendor=ibm + ;; + *-beos*) + vendor=be + ;; + *-hpux*) + vendor=hp + ;; + *-mpeix*) + vendor=hp + ;; + *-hiux*) + vendor=hitachi + ;; + *-unos*) + vendor=crds + ;; + *-dgux*) + vendor=dg + ;; + *-luna*) + vendor=omron + ;; + *-genix*) + vendor=ns + ;; + *-clix*) + vendor=intergraph + ;; + *-mvs* | *-opened*) + vendor=ibm + ;; + *-os400*) + vendor=ibm + ;; + s390-* | s390x-*) + vendor=ibm + ;; + *-ptx*) + vendor=sequent + ;; + *-tpf*) + vendor=ibm + ;; + *-vxsim* | *-vxworks* | *-windiss*) + vendor=wrs + ;; + *-aux*) + vendor=apple + ;; + *-hms*) + vendor=hitachi + ;; + *-mpw* | *-macos*) + vendor=apple + ;; + *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) + vendor=atari + ;; + *-vos*) + vendor=stratus + ;; + esac + ;; +esac + +echo "$cpu-$vendor-${kernel:+$kernel-}$os" +exit + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/recipes/libgtextutils/meta.yaml b/recipes/libgtextutils/meta.yaml index 168fbcbfab060..7305f1c72d85c 100644 --- a/recipes/libgtextutils/meta.yaml +++ b/recipes/libgtextutils/meta.yaml @@ -1,17 +1,20 @@ +{% set name = "libgtextutils" %} +{% set version = "0.7" %} + package: - name: libgtextutils - version: 0.7 + name: {{ name }} + version: {{ version }} source: - url: https://github.com/agordon/libgtextutils/releases/download/0.7/libgtextutils-0.7.tar.gz + url: https://github.com/agordon/{{ name }}/releases/download/{{ version }}/{{ name }}-{{ version }}.tar.gz sha256: 792e0ea3c96ffe3ad65617a104b7dc50684932bc96d2adab501c952fd65c3e4a patches: - patch build: - number: 11 + number: 13 run_exports: - - {{ pin_subpackage('libgtextutils', max_pin='x.x') }} + - {{ pin_subpackage(name, max_pin='x.x') }} requirements: build: @@ -30,3 +33,7 @@ about: license: AGPL summary: Gordon Text utils Library license_file: COPYING + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/libmaus2/build.sh b/recipes/libmaus2/build.sh index 7cead9ea7ceff..cdd58fb79e892 100644 --- a/recipes/libmaus2/build.sh +++ b/recipes/libmaus2/build.sh @@ -6,5 +6,5 @@ export LIBS="-lstdc++fs -lcurl" cat config.log -make +make -j${CPU_COUNT} make install diff --git a/recipes/libmaus2/meta.yaml b/recipes/libmaus2/meta.yaml index defd4a7cbe7c2..3d8c6738d991c 100644 --- a/recipes/libmaus2/meta.yaml +++ b/recipes/libmaus2/meta.yaml @@ -10,7 +10,7 @@ package: build: # There's some issue with clang skip: True # [osx] - number: 4 + number: 6 run_exports: - {{ pin_subpackage('libmaus2', max_pin='x.x') }} @@ -50,3 +50,7 @@ about: test: commands: - echo + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/libmems/build_failure.linux-64.yaml b/recipes/libmems/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..ffca020981be2 --- /dev/null +++ b/recipes/libmems/build_failure.linux-64.yaml @@ -0,0 +1,106 @@ +recipe_sha: 284b65c3f737668433475ad2a25b5f21044babcbbe012767129f59dfce1fa436 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + checking dynamic linker characteristics... GNU/Linux ld.so + checking how to hardcode library paths into programs... immediate + checking whether stripping libraries is possible... yes + checking if libtool supports shared libraries... yes + checking whether to build shared libraries... yes + checking whether to build static libraries... yes + checking how to run the C preprocessor... $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -E + checking for ld used by $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c... $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld + checking if the linker ($BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld) is GNU ld... yes + checking whether the $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c linker ($BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld) supports shared libraries... yes + checking for $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c option to produce PIC... -fPIC -DPIC + checking if $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c PIC flag -fPIC -DPIC works... yes + checking if $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c static flag -static works... yes + checking if $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c supports -c -o file.o... yes + checking if $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c supports -c -o file.o... (cached) yes + checking whether the $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c linker ($BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld) supports shared libraries... yes + checking dynamic linker characteristics... (cached) GNU/Linux ld.so + checking how to hardcode library paths into programs... immediate + checking for special C compiler options needed for large files... no + checking for _FILE_OFFSET_BITS value needed for large files... no + checking for egrep... (cached) /usr/bin/grep -E + checking for Boost headers version >= 1.34.0... yes + checking for Boost's header version... 1_85 + checking whether the compiler implements namespaces... yes + configure: WARNING: could not figure out which toolset name to use for /opt/conda/conda-bld/libmems_1717952897705/_build_env/bin/x86_64-conda-linux-gnu-c + checking for the toolset name used by Boost for $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c... + checking for boost/system/error_code.hpp... yes + checking for the Boost system library... yes + checking for boost/filesystem/path.hpp... yes + checking for the Boost filesystem library... (cached) yes + checking for boost/program_options.hpp... yes + checking for the Boost program_options library... (cached) yes + checking for boost/iostreams/device/file_descriptor.hpp... yes + checking for the Boost iostreams library... (cached) yes + checking for x86_64-conda-linux-gnu-pkg-config... no + checking for pkg-config... /usr/bin/pkg-config + checking pkg-config is at least version 0.9.0... yes + checking for DEPS... yes + checking for sys/types.h... (cached) yes + checking for sys/aio.h... no + checking for aio.h... yes + checking for features.h... yes + checking for pthread_mutex_unlock in -lpthread... yes + checking for aio_write in -lrt... yes + checking for x86_64-conda-linux-gnu-doxygen... no + checking for doxygen... no + configure: WARNING: doxygen not found - will not generate any doxygen documentation + checking for x86_64-conda-linux-gnu-perl... no + checking for perl... $BUILD_PREFIX/bin/perl + checking for an ANSI C-conforming const... yes + checking for inline... inline + checking how to run the C preprocessor... $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cpp + checking whether $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc needs -traditional... no + checking that generated files are newer than configure... done + configure: creating ./config.status + config.status: creating Makefile + config.status: creating libMems/Makefile + config.status: creating libMems-1.6.pc + config.status: creating config.h + config.status: executing depfiles commands + config.status: executing libtool commands + make all-recursive + make[1]: Entering directory '$SRC_DIR/trunk' + Making all in libMems + make[2]: Entering directory '$SRC_DIR/trunk/libMems' + /bin/sh ../libtool --tag=CXX --mode=compile $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -I.. -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -O2 -funroll-loops -fomit-frame-pointer -ftree-vectorize -I$PREFIX/include/libGenome-1.3 -I$PREFIX/include/libMUSCLE-3.7 -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/libmems-1.6.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -MT RepeatHash.lo -MD -MP -MF .deps/RepeatHash.Tpo -c -o RepeatHash.lo RepeatHash.cpp + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -I.. -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -O2 -funroll-loops -fomit-frame-pointer -ftree-vectorize -I$PREFIX/include/libGenome-1.3 -I$PREFIX/include/libMUSCLE-3.7 -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/libmems-1.6.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -MT RepeatHash.lo -MD -MP -MF .deps/RepeatHash.Tpo -c RepeatHash.cpp -fPIC -DPIC -o .libs/RepeatHash.o + In file included from ../libMems/MatchList.h:25, + from ../libMems/MatchFinder.h:18, + from ../libMems/MemHash.h:20, + from ../libMems/RepeatHash.h:16, + from RepeatHash.cpp:13: + ../libMems/Files.h: In function 'std::string CreateTempFileName(const std::string&)': + ../libMems/Files.h:82:20: error: 'class boost::filesystem::path' has no member named 'branch_path' + 82 | dir = path.branch_path().string(); + | ^~~~~~~~~~~ + ../libMems/Files.h:86:21: error: 'class boost::filesystem::path' has no member named 'leaf' + 86 | name = path.leaf().string(); + | ^~~~ + make[2]: *** [Makefile:790: RepeatHash.lo] Error 1 + make[2]: Leaving directory '$SRC_DIR/trunk/libMems' + make[1]: *** [Makefile:549: all-recursive] Error 1 + make[1]: Leaving directory '$SRC_DIR/trunk' + make: *** [Makefile:457: all] Error 2 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/libmems_1717952897705/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. +category: |- + compiler error diff --git a/recipes/libmems/meta.yaml b/recipes/libmems/meta.yaml index 24a44cc7e5128..70a1e4d2e6a84 100644 --- a/recipes/libmems/meta.yaml +++ b/recipes/libmems/meta.yaml @@ -6,7 +6,7 @@ package: build: skip: True # [osx] - number: 6 + number: 7 run_exports: - {{ pin_subpackage('libmems', max_pin='x.x') }} diff --git a/recipes/libsbml/LICENSE.txt b/recipes/libsbml/LICENSE.txt new file mode 100644 index 0000000000000..91d790aa62342 --- /dev/null +++ b/recipes/libsbml/LICENSE.txt @@ -0,0 +1,167 @@ + Licensing and Distribution Terms for libSBML + +The majority of libSBML is copyrighted as follows: + +* Copyright (C) 2013-2018 jointly by the following organizations: + 1. California Institute of Technology, Pasadena, CA, USA + 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK + 3. University of Heidelberg, Heidelberg, Germany + +* Copyright (C) 2009-2013 jointly by the following organizations: + 1. California Institute of Technology, Pasadena, CA, USA + 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK + +* Copyright (C) 2006-2008 by the California Institute of Technology, + Pasadena, CA, USA + +* Copyright (C) 2002-2005 jointly by the following organizations: + 1. California Institute of Technology, Pasadena, CA, USA + 2. Japan Science and Technology Agency, Japan + +Portions of the source code comprising libSBML were copyrighted +and contributed by third parties, and placed under the same LGPL +2.1 license as the rest of libSBML. The following are their +copyright statements: + +* Copyright (C) 2004-2008 by European Media Laboratories Research + gGmbH, Heidelberg, Germany. (For the "SBML Layout" code.) + +LibSBML is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2.1 of +the License, or any later version. + +This software is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. The software +and documentation provided hereunder is on an "as is" basis, and +the copyright holders have no obligations to provide maintenance, +support, updates, enhancements or modifications. In no event +shall the copyright holders be liable to any party for direct, +indirect, special, incidental or consequential damages, including +lost profits, arising out of the use of this software and its +documentation, even if the copyright holders have been advised of +the possibility of such damage. See the GNU Lesser General Public +License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library in the file named "COPYING.txt" +included with the software distribution. A copy is also +available online at the Internet address +http://sbml.org/software/libsbml/COPYING.html for your +convenience. You may also write to obtain a copy from the Free +Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +MA 02110-1301, USA. + + + Third-party software incorporated into both the libSBML + binary and source-code distributions + +LibSBML incorporates an open-source compression library written by +a third party. The following is information about the copyright +and distribution terms of this library: + +* MiniZip 1.01e, copyright (C) 1998-2005 Gilles Vollant, released + under terms compatible with the LGPL. Please see the file + src/sbml/compress/00README.txt for more information about + MiniZip 1.01e and its license terms. + + + Additional third-party software incorporated only + into the libSBML source code distribution + +Additional software is used to produce the documentation of +libSBML. The binary distributions of libSBML do not include this +software; they are only present in the source code distribution +and the libSBML documentation archives. + +* Argparse 1.2.1, copyright (C) 2006-2009 Steven J. Bethard + and distributed under the Python Software + Foundation License version 2. Code downloaded from + http://code.google.com/p/argparse/ on 2012-02-10. + +* Google Code Prettify, distributed under the terms of the + Apache License Version 2.0, January 2004. Code downloaded from + http://code.google.com/p/google-code-prettify/ on 2013-10-16. + +* PrettyTable, copyright (C) 2009-2013 Luke Maurits, distributed + under the following BSD-derivative license: + + Copyright (c) 2009-2013 Luke Maurits + All rights reserved. + With contributions from: + * Chris Clark + * Christoph Robbert + * Klein Stephane + * "maartendb" + + Redistribution and use in source and binary forms, with or + without modification, are permitted provided that the + following conditions are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the + following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the + following disclaimer in the documentation and/or other + materials provided with the distribution. + + * The name of the author may not be used to endorse or + promote products derived from this software without + specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +* ExcludeDoclet, copyright (C) 2004 by Sun Microsystems, Inc., and + distributed under the following open-source terms: + + Copyright 2004 Sun Microsystems, Inc. All Rights Reserved. + + Redistribution and use in source and binary forms, with or + without modification, are permitted provided that the + following conditions are met: + + - Redistribution of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + - Redistribution in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. Neither the name of Sun Microsystems, + Inc. nor the names of contributors may be used to endorse or + promote products derived from this software without specific + prior written permission. + + This software is provided "AS IS," without a warranty of any + kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND + WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE + HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS + LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY + LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS + SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS + LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR + FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR + PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY + OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE + THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY + OF SUCH DAMAGES. + + You acknowledge that this software is not designed, licensed + or intended for use in the design, construction, operation or + maintenance of any nuclear facility. diff --git a/recipes/libsbml/build.sh b/recipes/libsbml/build.sh index 7b3b0d2884b8b..dbb0f2e1daee1 100644 --- a/recipes/libsbml/build.sh +++ b/recipes/libsbml/build.sh @@ -1,21 +1,39 @@ #!/bin/bash + +set -xe + mkdir build cd build + +declare -a CMAKE_LIBXML_LIBRARY +if [[ ${target_platform} == osx-*64 ]]; then + CMAKE_LIBXML_LIBRARY+=(-DLIBXML_LIBRARY="${PREFIX}"/lib/libxml2.dylib) +elif [[ ${target_platform} == linux-*64 ]]; then + CMAKE_LIBXML_LIBRARY+=(-DLIBXML_LIBRARY="${PREFIX}"/lib/libxml2.so) +fi + cmake -DCMAKE_INSTALL_PREFIX=${PREFIX} \ -DCMAKE_INSTALL_LIBDIR=${PREFIX}/lib \ -DCMAKE_CXX_COMPILER=${CXX} \ -DCMAKE_C_COMPILER=${CC} \ + -DCMAKE_CXX_STANDARD_LIBRARIES=-lxml2 \ -DWITH_SWIG=OFF \ - -DLIBSBML_DEPENDENCY_DIR="${PREFIX}" \ + "${CMAKE_LIBXML_LIBRARY[@]}" \ -DLIBXML_INCLUDE_DIR=${PREFIX}/include/libxml2 \ -DENABLE_COMP=ON \ -DENABLE_FBC=ON \ -DENABLE_GROUPS=ON \ - -DENABLE_L3V2EXTENDEDMATH=ON \ -DENABLE_LAYOUT=ON \ -DENABLE_MULTI=ON \ -DENABLE_QUAL=ON \ -DENABLE_RENDER=ON \ + -DENABLE_DISTRIB=ON \ + -DENABLE_ARRAYS=ON \ + -DENABLE_DYN=ON \ + -DENABLE_REQUIREDELEMENTS=ON \ + -DENABLE_SPATIAL=ON \ + -DWITH_CPP_NAMESPACE=ON \ .. + make -j"${CPU_COUNT}" make install diff --git a/recipes/libsbml/conda_build_config.yaml b/recipes/libsbml/conda_build_config.yaml new file mode 100644 index 0000000000000..8c1d84a5c606c --- /dev/null +++ b/recipes/libsbml/conda_build_config.yaml @@ -0,0 +1,7 @@ +libxml2: + - 2.9 # [linux] + - 2.10 + - 2.11 + - 2.12 +pin_run_as_build: + libxml2: x.x diff --git a/recipes/libsbml/meta.yaml b/recipes/libsbml/meta.yaml index 79041e0cf4992..1f1cc5e0af27c 100644 --- a/recipes/libsbml/meta.yaml +++ b/recipes/libsbml/meta.yaml @@ -1,18 +1,17 @@ -{% set version = "5.18.0" %} -{% set sha256 = "6c01be2306ec0c9656b59cb082eb7b90176c39506dd0f912b02e08298a553360" %} +{% set version = "5.20.4" %} +{% set sha256 = "02c225d3513e1f5d6e3c0168456f568e67f006eddaab82f09b4bdf0d53d2050e" %} package: name: libsbml version: {{ version }} build: - number: 10 - skip: True # [osx] + number: 1 run_exports: - {{ pin_subpackage('libsbml', max_pin='x.x') }} source: - url: https://sourceforge.net/projects/sbml/files/libsbml/{{ version }}/stable/libSBML-{{ version }}-core-plus-packages-src.tar.gz + url: https://github.com/sbmlteam/libsbml/archive/refs/tags/v{{ version }}.tar.gz sha256: {{ sha256 }} requirements: @@ -26,16 +25,20 @@ requirements: - libxml2 - zlib run: - - bzip2 - libxml2 - - zlib - + test: commands: - - test -f "${PREFIX}/lib/libsbml${SHLIB_EXT-.so}" + - test -f "${PREFIX}/lib/libsbml${SHLIB_EXT-.so}" # [linux] + - test -f "${PREFIX}/lib/libsbml${SHLIB_EXT-.dylib}" # [osx] about: home: http://sbml.org/Software/libSBML license: LGPL license_file: 'LICENSE.txt' summary: LibSBML is a free, open-source programming library to help you read, write, manipulate, translate, and validate SBML files and data streams. + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/libsequence/build.sh b/recipes/libsequence/build.sh index 546f615603826..c9e45b234c9dc 100644 --- a/recipes/libsequence/build.sh +++ b/recipes/libsequence/build.sh @@ -1,7 +1,7 @@ #!/bin/bash CXXFLAGS="-O3 -DNDEBUG" CPPFLAGS="-I$PREFIX/include $CPPFLAGS" LDFLAGS="-L$PREFIX/lib -Wl,-rpath,$PREFIX/lib $LDFLAGS" ./configure --prefix=$PREFIX -make +make -j ${CPU_COUNT} make check make install diff --git a/recipes/libsequence/fix-build.patch b/recipes/libsequence/fix-build.patch new file mode 100644 index 0000000000000..276eee7bc2f04 --- /dev/null +++ b/recipes/libsequence/fix-build.patch @@ -0,0 +1,11 @@ +diff --git i/src/summstats_deprecated/SummStats.cc w/src/summstats_deprecated/SummStats.cc +index b6df5b46..2b9dbeff 100644 +--- i/src/summstats_deprecated/SummStats.cc ++++ w/src/summstats_deprecated/SummStats.cc +@@ -3,6 +3,7 @@ + #include + #include + #include ++#include + #include + using namespace std; diff --git a/recipes/libsequence/meta.yaml b/recipes/libsequence/meta.yaml index 67c9764c3f9c1..8237c0cdd1ce6 100644 --- a/recipes/libsequence/meta.yaml +++ b/recipes/libsequence/meta.yaml @@ -10,9 +10,10 @@ source: sha256: 16c3ff6490861806292391195a8698fc17f4d5d30cbe3f5e5e1de1a03d1105f8 patches: - patch + - fix-build.patch build: - number: 5 + number: 6 run_exports: - {{ pin_subpackage('libsequence', max_pin='x.x') }} @@ -31,3 +32,7 @@ about: license: GNU Lesser General Public License v3 or later (LGPLv3+) license_file: LICENSE summary: 'A C++ class library for evolutionary genetics.' + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/libshorah/build_failure.linux-64.yaml b/recipes/libshorah/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..82d0b55fc9beb --- /dev/null +++ b/recipes/libshorah/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 1bc6f9e5a2ff865812abcd49c965e3719fb09e5b10a68810cf29a4efc9f02fba # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + source tree in: /opt/conda/conda-bld/libshorah_1717958365326/work + export PREFIX=/opt/conda/conda-bld/libshorah_1717958365326/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla + export BUILD_PREFIX=/opt/conda/conda-bld/libshorah_1717958365326/_build_env + export SRC_DIR=/opt/conda/conda-bld/libshorah_1717958365326/work + INFO: activate-binutils_linux-64.sh made the following environmental changes: + ADDR2LINE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-addr2line + AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar + AS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-as + CXXFILT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cfilt + ELFEDIT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-elfedit + GPROF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gprof + LD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld + LD_GOLD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld.gold + NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-nm + OBJCOPY=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objcopy + OBJDUMP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objdump + RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib + READELF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-readelf + SIZE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-size + STRINGS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strings + STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip + INFO: activate-gcc_linux-64.sh made the following environmental changes: + BUILD=x86_64-conda-linux-gnu + CC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/libshorah-1.99.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH=$PREFIX;$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=$PREFIX:$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot/usr + CONDA_BUILD_SYSROOT=$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot + CONDA_TOOLCHAIN_BUILD=x86_64-conda-linux-gnu + CONDA_TOOLCHAIN_HOST=x86_64-conda-linux-gnu + CPP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cpp + CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include + DEBUG_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/libshorah-1.99.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem $PREFIX/include + GCC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc + GCC_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar + GCC_NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-nm + GCC_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib + HOST=x86_64-conda-linux-gnu + LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_cos6_linux_gnu + build_alias=x86_64-conda-linux-gnu + host_alias=x86_64-conda-linux-gnu + -BUILD=x86_64-conda_cos6-linux-gnu + -CONDA_BUILD_SYSROOT= + INFO: activate-gxx_linux-64.sh made the following environmental changes: + CXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/libshorah-1.99.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + DEBUG_CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/libshorah-1.99.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + GXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-g + -- The C compiler identification is GNU 12.3.0 + -- The CXX compiler identification is GNU 12.3.0 + -- Detecting C compiler ABI info + -- Detecting C compiler ABI info - done + -- Check for working C compiler: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc - skipped + -- Detecting C compile features + -- Detecting C compile features - done + -- Detecting CXX compiler ABI info + -- Detecting CXX compiler ABI info - done + -- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c - skipped + -- Detecting CXX compile features + -- Detecting CXX compile features - done + -- Found Python: $BUILD_PREFIX/bin/python3.10 (found version "3.10.14") found components: Interpreter Development Development.Module Development.Embed + -- Python module destination: lib/python3.10/site-packages + -- Performing Test HAS_FLTO + -- Performing Test HAS_FLTO - Success + -- Found pybind11: $PREFIX/include (found version "2.12.0") + -- Found Boost: $PREFIX/lib/cmake/Boost-1.85.0/BoostConfig.cmake (found version "1.85.0") + HTSlib_INCLUDE_DIR=HTSlib_INCLUDE_DIR-NOTFOUND + HTSlib_LIBRARY=HTSlib_LIBRARY-NOTFOUND + CMake Error at cmake/FindHTSlib.cmake:66 (message): + Required library HTSlib NOT FOUND. + + Install the library (dev version) and try again. If the library is already + installed, use ccmake to set the missing variables manually. + Call Stack (most recent call first): + cmake/FindHTSlib.cmake:141 (libfind_process) + CMakeLists.txt:25 (find_package) + + + -- Configuring incomplete, errors occurred! + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/libshorah_1717958365326/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/libshorah/build_failure.osx-64.yaml b/recipes/libshorah/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..8c63c8af98230 --- /dev/null +++ b/recipes/libshorah/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 1bc6f9e5a2ff865812abcd49c965e3719fb09e5b10a68810cf29a4efc9f02fba # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + CMake Error at cmake/FindHTSlib.cmake:66 (message): + Required library HTSlib NOT FOUND. + + Install the library (dev version) and try again. If the library is already + installed, use ccmake to set the missing variables manually. + Call Stack (most recent call first): + cmake/FindHTSlib.cmake:141 (libfind_process) + CMakeLists.txt:25 (find_package) + + + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/libshorah_1717635720564/work + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/libshorah_1717635720564/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/libshorah_1717635720564/_build_env + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/libshorah_1717635720564/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/libshorah_1717635720564/work/conda_build.sh']' returned non-zero exit status 1. + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/libshorah-1.99.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/libshorah-1.99.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/libshorah-1.99.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/libshorah-1.99.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + -- The C compiler identification is Clang 16.0.6 + -- The CXX compiler identification is Clang 16.0.6 + -- Detecting C compiler ABI info + -- Detecting C compiler ABI info - done + -- Check for working C compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting C compile features + -- Detecting C compile features - done + -- Detecting CXX compiler ABI info + -- Detecting CXX compiler ABI info - done + -- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting CXX compile features + -- Detecting CXX compile features - done + -- Found Python: $BUILD_PREFIX/bin/python3.9 (found version "3.9.19") found components: Interpreter Development Development.Module Development.Embed + -- Python module destination: lib/python3.9/site-packages + -- Performing Test HAS_FLTO_THIN + -- Performing Test HAS_FLTO_THIN - Failed + -- Performing Test HAS_FLTO + -- Performing Test HAS_FLTO - Success + -- Found pybind11: $PREFIX/include (found version "2.12.0") + -- Found Boost: $PREFIX/lib/cmake/Boost-1.85.0/BoostConfig.cmake (found version "1.85.0") + -- Configuring incomplete, errors occurred! +# Last 100 lines of the build log. diff --git a/recipes/libshorah/meta.yaml b/recipes/libshorah/meta.yaml index 6e337ff636296..8e475c744c246 100644 --- a/recipes/libshorah/meta.yaml +++ b/recipes/libshorah/meta.yaml @@ -11,7 +11,7 @@ source: build: skip: True # [py27] - number: 1 + number: 2 script: - mkdir -p build - cd build diff --git a/recipes/liftoff/meta.yaml b/recipes/liftoff/meta.yaml index 96725711fdcc6..3aa620b92eaf0 100644 --- a/recipes/liftoff/meta.yaml +++ b/recipes/liftoff/meta.yaml @@ -14,7 +14,9 @@ build: entry_points: - liftoff = liftoff.run_liftoff:main script: python -m pip install --no-deps --ignore-installed . - number: 0 + number: 1 + run_exports: + - {{ pin_subpackage('liftoff', max_pin='x') }} requirements: host: @@ -29,7 +31,7 @@ requirements: - pysam >=0.16.0.1 - pyfaidx >=0.5.8 - interlap >=0.2.6 - - minimap2 + - minimap2 ==2.24 - ujson >=3.2.0 - parasail-python >=1.2.1 @@ -50,3 +52,4 @@ extra: recipe-maintainers: - agshumate - standage + - gallvp diff --git a/recipes/liftover/meta.yaml b/recipes/liftover/meta.yaml index 8c82c1069fba5..2a39c5f0cbf80 100644 --- a/recipes/liftover/meta.yaml +++ b/recipes/liftover/meta.yaml @@ -1,6 +1,6 @@ {% set name = "liftover" %} -{% set version = "1.1.17" %} -{% set sha256 = "cb06a3843b570ec554fbc0dd871c0b87d3645200e2c65f6cc97cd4b6146efaf9" %} +{% set version = "1.3.1" %} +{% set sha256 = "43173ba201f2ad2ffd84c699b228d3f21da58e4d087d15d8bdcf600697ade10c" %} package: name: {{ name|lower }} @@ -11,8 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 0 - skip: True # [py < 38] + number: 1 script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv run_exports: - {{ pin_subpackage('liftover', max_pin="x") }} @@ -43,5 +42,8 @@ about: dev_url: 'https://pypi.org/project/liftover/' extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - mencian diff --git a/recipes/lighter/build.sh b/recipes/lighter/build.sh index 5cb63338fa2d8..40d3816a1b704 100644 --- a/recipes/lighter/build.sh +++ b/recipes/lighter/build.sh @@ -1,5 +1,17 @@ -#!/bin/sh +#!/bin/bash -mkdir -p $PREFIX/bin -make CXX=${CXX} CXXFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS}" -cp lighter $PREFIX/bin +mkdir -p ${PREFIX}/bin + +case $(uname -m) in + aarch64) + export CXXFLAGS="${CXXFLAGS} -Wno-narrowing" + ;; + *) + export CXXFLAGS="${CXXFLAGS}" + ;; +esac + +make CXX="${CXX}" CXXFLAGS="${CXXFLAGS} -O3 -I${PREFIX}/include" LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" + +chmod 0755 lighter +cp -f lighter ${PREFIX}/bin diff --git a/recipes/lighter/meta.yaml b/recipes/lighter/meta.yaml index 11f471c96217b..d53e24e3298d2 100644 --- a/recipes/lighter/meta.yaml +++ b/recipes/lighter/meta.yaml @@ -1,6 +1,6 @@ {% set name = "Lighter" %} -{% set version = "1.1.2" %} -{% set sha256 = "89abc34137beffc43382fbe53deb25c3c2f5cee7e6ca2b7f669931d70065993a" %} +{% set version = "1.1.3" %} +{% set sha256 = "c8a251c410805f82dad77e40661f0faf14ec82dedb3ff717094ba8ff4ef94465" %} package: name: '{{ name|lower }}' @@ -13,7 +13,9 @@ source: - 0001-makefile.patch build: - number: 6 + number: 1 + run_exports: + - {{ pin_subpackage('lighter', max_pin="x") }} requirements: build: @@ -21,8 +23,6 @@ requirements: - {{ compiler('cxx') }} host: - zlib - run: - - zlib test: commands: @@ -30,11 +30,19 @@ test: - {{ name|lower }} -v | grep '{{ version }}' about: - home: https://github.com/mourisl/Lighter - license: GPLv3 + home: "https://github.com/mourisl/Lighter" + license: "GPL-3.0-or-later" + license_family: GPL3 license_file: LICENSE - summary: Lighter is a kmer-based error correction method for whole genome sequencing data + summary: "Lighter is a kmer-based error correction method for whole genome sequencing data." + dev_url: "https://github.com/mourisl/Lighter" + doc_url: "https://github.com/mourisl/Lighter/blob/v{{ version }}/README.md" extra: identifiers: - biotools:{{ name }} + - doi:10.1186/s13059-014-0509-9 + - usegalaxy-eu:lighter + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/lightstringgraph/meta.yaml b/recipes/lightstringgraph/meta.yaml index 50ea0663a4603..09a8d1446e09d 100644 --- a/recipes/lightstringgraph/meta.yaml +++ b/recipes/lightstringgraph/meta.yaml @@ -3,7 +3,7 @@ package: version: 0.4.0 build: - number: 5 + number: 6 skip: True # [osx] source: diff --git a/recipes/linearfold/0001-FIX-command-broken-with-symbolic-link.patch b/recipes/linearfold/0001-FIX-command-broken-with-symbolic-link.patch index 3709632b08a68..2efbe34655620 100644 --- a/recipes/linearfold/0001-FIX-command-broken-with-symbolic-link.patch +++ b/recipes/linearfold/0001-FIX-command-broken-with-symbolic-link.patch @@ -1,25 +1,13 @@ -From bb95a8f98b874fb9061c5ee1b3178f4d40f96416 Mon Sep 17 00:00:00 2001 -From: Fabien Pertuy -Date: Fri, 21 May 2021 09:23:34 +0000 -Subject: [PATCH] FIX command broken with symbolic link - ---- - linearfold | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - diff --git a/linearfold b/linearfold -index f5541d2..2c86b63 100755 +index fca4a30..7e68544 100755 --- a/linearfold +++ b/linearfold -@@ -28,7 +28,7 @@ def main(): - zuker_subopt = '1' if FLAGS.zuker else '0' - delta = str(FLAGS.delta) +@@ -38,7 +38,7 @@ def main(): + + dangles = str(FLAGS.dangles) - path = os.path.dirname(os.path.abspath(__file__)) + path = os.path.dirname(os.path.realpath(__file__)) - cmd = ["%s/%s" % (path, ('bin/linearfold_v' if use_vienna else 'bin/linearfold_c')), beamsize, is_sharpturn, is_verbose, is_eval, is_constraints, zuker_subopt, delta] + cmd = ["%s/%s" % (path, ('bin/linearfold_v' if use_vienna else 'bin/linearfold_c')), beamsize, is_sharpturn, is_verbose, is_eval, is_constraints, zuker_subopt, delta, shape_file_path, is_fasta, dangles] subprocess.call(cmd, stdin=sys.stdin) --- -2.30.2 - diff --git a/recipes/linearfold/meta.yaml b/recipes/linearfold/meta.yaml index 68bd8d83073a7..62e614174d93e 100644 --- a/recipes/linearfold/meta.yaml +++ b/recipes/linearfold/meta.yaml @@ -1,17 +1,20 @@ {% set name = "LinearFold" %} -{% set version = "1.0" %} -{% set sha256 = "2ae56b5f183472c2de96782e770a91e57f82e0ab511dfc0d9d612aa4e6155f60" %} +{% set git_sha1 = "c3ee9bd80c06c2fc39a7bb7ae5e77b9566227cac" %} +{% set version = "1.0.1.dev20220829" %} +{% set sha256 = "cad8b93ba961820ca3701a1d931944bd307b1d1f92d74e1b02d5bd34d4ffe998" %} package: name: {{ name | lower }} version: {{ version }} build: - number: 3 + number: 0 skip: True # [osx] + run_exports: + - {{ pin_subpackage(name | lower, max_pin="x.x.x") }} source: - url: https://github.com/{{ name }}/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + url: https://github.com/{{ name }}/{{ name }}/archive/{{ git_sha1 }}.tar.gz sha256: {{ sha256 }} patches: - 0001-FIX-command-broken-with-symbolic-link.patch @@ -23,7 +26,7 @@ requirements: run: - python-gflags - - python=2.7 + - python >=3,<4 test: source_files: diff --git a/recipes/linearpartition/0001-FIX-command-broken-with-symbolic-link.patch b/recipes/linearpartition/0001-FIX-command-broken-with-symbolic-link.patch index 95a8be08c0583..53c9c754a9810 100644 --- a/recipes/linearpartition/0001-FIX-command-broken-with-symbolic-link.patch +++ b/recipes/linearpartition/0001-FIX-command-broken-with-symbolic-link.patch @@ -1,25 +1,13 @@ -From 7413bfa18dddf47924be0839df0147045db0d045 Mon Sep 17 00:00:00 2001 -From: Fabien Pertuy -Date: Fri, 21 May 2021 10:39:10 +0000 -Subject: [PATCH] FIX command broken with symbolic link - ---- - linearpartition | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - diff --git a/linearpartition b/linearpartition -index 6c9d877..9d8a5b6 100755 +index f6c2a4e..7b0fe1d 100755 --- a/linearpartition +++ b/linearpartition -@@ -87,7 +87,7 @@ def main(): - # if os.path.exists(ThreshKnot_output): os.remove(ThreshKnot_output) - +@@ -80,7 +80,7 @@ def main(): + print("Exit!\n"); + exit(); - path = os.path.dirname(os.path.abspath(__file__)) + path = os.path.dirname(os.path.realpath(__file__)) - cmd = ["%s/%s" % (path, ('bin/linearpartition_v' if use_vienna else 'bin/linearpartition_c')), beamsize, is_sharpturn, is_verbose, bpp_file, bpp_prefix, pf_only, bpp_cutoff, forest_file, mea, gamma, TK, threshold, ThreshKnot_prefix, MEA_prefix, MEA_bpseq] + cmd = ["%s/%s" % (path, ('bin/linearpartition_v' if use_vienna else 'bin/linearpartition_c')), beamsize, is_sharpturn, is_verbose, bpp_file, bpp_prefix, pf_only, bpp_cutoff, forest_file, mea, gamma, TK, threshold, ThreshKnot_prefix, MEA_prefix, MEA_bpseq, shape_file_path, is_fasta, dangles] subprocess.call(cmd, stdin=sys.stdin) --- -2.30.2 - diff --git a/recipes/linearpartition/meta.yaml b/recipes/linearpartition/meta.yaml index eaa4d137d8ee7..7a42168cc778e 100644 --- a/recipes/linearpartition/meta.yaml +++ b/recipes/linearpartition/meta.yaml @@ -1,17 +1,20 @@ {% set name = "LinearPartition" %} -{% set version = "1.0" %} -{% set sha256 = "4fdea96f7ffbd4804d9308ddb46db5f96d1abc4b7bd737725f9bedcae3c88178" %} +{% set version = "1.0.1.dev20240123" %} +{% set git_sha1 = "fa953f6323274eeadd92cc1f4e5535417f3fb821" %} +{% set sha256 = "e93c6a26c246c2e0927592052516d6fb15e7e1e8a378f74474136ba85746be58" %} package: name: {{ name | lower }} version: {{ version }} build: - number: 3 + number: 0 skip: True # [osx] + run_exports: + - {{ pin_subpackage(name | lower, max_pin="x.x.x") }} source: - url: https://github.com/LinearFold/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + url: https://github.com/LinearFold/{{ name }}/archive/{{ git_sha1 }}.tar.gz sha256: {{ sha256 }} patches: - 0001-FIX-command-broken-with-symbolic-link.patch @@ -25,7 +28,7 @@ requirements: - matplotlib-base - numpy - pandas - - python=2.7 + - python >=3,<4 - python-gflags - seaborn @@ -41,3 +44,4 @@ about: license: custom license_file: LICENSE summary: 'Linear-Time Approximation of RNA Folding Partition Function and Base Pairing Probabilities' + diff --git a/recipes/links/meta.yaml b/recipes/links/meta.yaml index 9474248425e4c..4401e28541db5 100644 --- a/recipes/links/meta.yaml +++ b/recipes/links/meta.yaml @@ -10,7 +10,9 @@ source: sha256: {{ sha256 }} build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage("links", max_pin="x") }} requirements: build: @@ -29,3 +31,7 @@ about: license: GPLv3 license_file: '{{ environ["RECIPE_DIR"] }}/LICENSE' +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 \ No newline at end of file diff --git a/recipes/linkstats/build_failure.linux-64.yaml b/recipes/linkstats/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..01efd21896ae9 --- /dev/null +++ b/recipes/linkstats/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: ce1e0681645b4479744c25dc7f44c5b0e9cd2ee73f36441b3be7058011887f2a # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + Host machine cpu: x86_64 + Run-time dependency threads found: YES + Found pkg-config: YES (/opt/conda/conda-bld/linkstats_1717713135672/_build_env/bin/pkg-config) 0.29.2 + Did not find CMake 'cmake' + Found CMake: NO + Run-time dependency htslib found: NO + + meson.build:51:10: ERROR: Dependency lookup for htslib with method 'pkgconfig' failed: Could not generate cflags for htslib: + Package zlib was not found in the pkg-config search path. + Perhaps you should add the directory containing zlib.pc' + to the PKG_CONFIG_PATH environment variable + Package 'zlib', required by 'htslib', not found + + + A full log can be found at /opt/conda/conda-bld/linkstats_1717713135672/work/_LinkStats_C/builddir/meson-logs/meson-log.txt + Error during meson setup + [1;31merror[0m: [1msubprocess-exited-with-error[0m + + [31m[0m [32mpython setup.py bdist_wheel[0m did not run successfully. + [31m[0m exit code: [1;36m1[0m + [31m>[0m See above for output. + + [1;35mnote[0m: This error originates from a subprocess, and is likely not a problem with pip. + [1;35mfull command[0m: [34m/opt/conda/conda-bld/linkstats_1717713135672/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/bin/python -u -c '[0m + [34m exec(compile('"'"''"'"''"'"'[0m + [34m # This is -- a caller that pip uses to run setup.py[0m + [34m #[0m + [34m # - It imports setuptools before invoking setup.py, to enable projects that directly[0m + [34m # import from distutils.core to work with newer packaging standards.[0m + [34m # - It provides a clear error message when setuptools is not installed.[0m + [34m # - It sets sys.argv[0] to the underlying setup.py, when invoking setup.py so[0m + [34m # setuptools doesn'"'"'t think the script is -c. This avoids the following warning:[0m + [34m # manifest_maker: standard file '"'"'-c'"'"' not found".[0m + [34m # - It generates a shim setup.py, for handling setup.cfg-only projects.[0m + [34m import os, sys, tokenize[0m + [34m [0m + [34m try:[0m + [34m import setuptools[0m + [34m except ImportError as error:[0m + [34m print([0m + [34m "ERROR: Can not execute setup.py since setuptools is not available in "[0m + [34m "the build environment.",[0m + [34m file=sys.stderr,[0m + [34m )[0m + [34m sys.exit(1)[0m + [34m [0m + [34m __file__ = %r[0m + [34m sys.argv[0] = __file__[0m + [34m [0m + [34m if os.path.exists(__file__):[0m + [34m filename = __file__[0m + [34m with tokenize.open(__file__) as f:[0m + [34m setup_py_code = f.read()[0m + [34m else:[0m + [34m filename = ""[0m + [34m setup_py_code = "from setuptools import setup; setup()"[0m + [34m [0m + [34m exec(compile(setup_py_code, filename, "exec"))[0m + [34m '"'"''"'"''"'"' % ('"'"'/opt/conda/conda-bld/linkstats_1717713135672/work/setup.py'"'"',), "", "exec"))' bdist_wheel -d /tmp/pip-wheel-8osq5osl[0m + [1;35mcwd[0m: /opt/conda/conda-bld/linkstats_1717713135672/work/ + Building wheel for LinkStats (setup.py): finished with status 'error' + [31m ERROR: Failed building wheel for LinkStats[0m[31m + [0m Running setup.py clean for LinkStats + Running command python setup.py clean + fatal: not a git repository (or any of the parent directories): .git + running clean + removing 'build/lib' (and everything under it) + 'build/bdist.linux-x86_64' does not exist -- can't clean it + 'build/scripts-3.11' does not exist -- can't clean it + removing 'build' + Failed to build LinkStats + [31mERROR: Could not build wheels for LinkStats, which is required to install pyproject.toml-based projects[0m[31m + [0mException information: + Traceback (most recent call last): + File "$PREFIX/lib/python3.11/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper + status = run_func(*args) + ^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.11/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper + return func(self, options, args) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.11/site-packages/pip/_internal/commands/install.py", line 429, in run + raise InstallationError( + pip._internal.exceptions.InstallationError: Could not build wheels for LinkStats, which is required to install pyproject.toml-based projects + Removed build tracker: '/tmp/pip-build-tracker-t_8hxb39' + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/linkstats_1717713135672/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/linkstats/build_failure.osx-64.yaml b/recipes/linkstats/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..f8832791a6d80 --- /dev/null +++ b/recipes/linkstats/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: ce1e0681645b4479744c25dc7f44c5b0e9cd2ee73f36441b3be7058011887f2a # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/linkstats_1717636681616/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/linkstats_1717636681616/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/linkstats_1717636681616/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/linkstats-0.1.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/linkstats-0.1.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/linkstats_1717636681616/work/conda_build.sh']' returned non-zero exit status 1. + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/linkstats-0.1.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/linkstats-0.1.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + Using pip 24.0 from $PREFIX/lib/python3.8/site-packages/pip (python 3.8) + Non-user install because user site-packages disabled + Ignoring indexes: https://pypi.org/simple + Created temporary directory: /private/tmp/pip-build-tracker-owoocl8p + Initialized build tracking at /private/tmp/pip-build-tracker-owoocl8p + Created build tracker: /private/tmp/pip-build-tracker-owoocl8p + Entered build tracker: /private/tmp/pip-build-tracker-owoocl8p + Created temporary directory: /private/tmp/pip-install-i1tmn8up + Created temporary directory: /private/tmp/pip-ephem-wheel-cache-teoauefj + Processing $SRC_DIR + Added file://$SRC_DIR to build tracker '/private/tmp/pip-build-tracker-owoocl8p' + Running setup.py (path:$SRC_DIR/setup.py) egg_info for package from file://$SRC_DIR + Created temporary directory: /private/tmp/pip-pip-egg-info-cs9cmml2 + Preparing metadata (setup.py): started + Preparing metadata (setup.py): finished with status 'done' + Source in $SRC_DIR has version 0.1.3, which satisfies requirement LinkStats==0.1.3 from file://$SRC_DIR + Removed LinkStats==0.1.3 from file://$SRC_DIR from build tracker '/private/tmp/pip-build-tracker-owoocl8p' + Created temporary directory: /private/tmp/pip-unpack-rfmrnko0 + Building wheels for collected packages: LinkStats + Created temporary directory: /private/tmp/pip-wheel-2d5i0l7k + Building wheel for LinkStats (setup.py): started + Destination directory: /private/tmp/pip-wheel-2d5i0l7k + Building wheel for LinkStats (setup.py): finished with status 'error' + Running setup.py clean for LinkStats + Failed to build LinkStats + Exception information: + Traceback (most recent call last): + File "$PREFIX/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper + status = run_func(*args) + File "$PREFIX/lib/python3.8/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper + return func(self, options, args) + File "$PREFIX/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 429, in run + raise InstallationError( + pip._internal.exceptions.InstallationError: Could not build wheels for LinkStats, which is required to install pyproject.toml-based projects + Removed build tracker: '/private/tmp/pip-build-tracker-owoocl8p' +# Last 100 lines of the build log. diff --git a/recipes/linkstats/meta.yaml b/recipes/linkstats/meta.yaml index 65dd553a55328..8eb7ef5433ba7 100644 --- a/recipes/linkstats/meta.yaml +++ b/recipes/linkstats/meta.yaml @@ -12,7 +12,7 @@ source: build: skip: True # [py < 38] - number: 6 + number: 7 script: "CXX=clang {{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv" requirements: diff --git a/recipes/liqa/meta.yaml b/recipes/liqa/meta.yaml new file mode 100644 index 0000000000000..d7514f6f116c0 --- /dev/null +++ b/recipes/liqa/meta.yaml @@ -0,0 +1,51 @@ +{% set name = "liqa" %} +{% set version = "1.3.4" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/liqa-{{ version }}.tar.gz + sha256: f8b2e6f0226d99f513d17be3758e6b3e2e9b7b40579f840d28737e827358850e + +build: + number: 0 + noarch: python + entry_points: + - liqa=liqa_src.liqa:main + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + run_exports: + - {{ pin_subpackage('liqa', max_pin="x") }} + +requirements: + host: + - python >=3 + - pip + run: + - python >=3 + - lifelines + - numpy + - pysam + - scipy + - r-base + - r-betareg + +test: + imports: + - liqa_src + commands: + - liqa --help + +about: + home: "https://github.com/WGLab/LIQA" + summary: "A statistical tool to quantify isoform-specific expression using long-read RNA-seq." + license: MIT + license_family: MIT + license_file: LICENSE + dev_url: "https://github.com/WGLab/LIQA" + doc_url: "https://github.com/WGLab/LIQA/blob/master/doc/Usage.md" + +extra: + identifiers: + - doi:10.1186/s13059-021-02399-8 diff --git a/recipes/lisa2/meta.yaml b/recipes/lisa2/meta.yaml index 2725f8ee5badf..20859b72ef139 100644 --- a/recipes/lisa2/meta.yaml +++ b/recipes/lisa2/meta.yaml @@ -10,7 +10,7 @@ source: sha256: dc9df3495322c94f93c12372fb8d88d355447f7b8b69ea639394fc6274e9affb build: - number: 0 + number: 1 noarch: python script: {{ PYTHON }} -m pip install . -vv run_exports: @@ -22,10 +22,10 @@ requirements: - python >=3.5 run: - h5py >=2 - - numpy <2,>=1.17 + - numpy >=1.17,<2 - python >=3.5 - - scikit-learn <2,>=0.22 - - scipy <2,>=1.4 + - scikit-learn >=0.22,<2 + - scipy >=1.4,<2 test: imports: diff --git a/recipes/livekraken/meta.yaml b/recipes/livekraken/meta.yaml index f3b3b443c6083..c51290ce4328f 100644 --- a/recipes/livekraken/meta.yaml +++ b/recipes/livekraken/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 9 + number: 10 skip: True # [osx] has_prefix_files: - libexec/livekraken diff --git a/recipes/localhgt/build.sh b/recipes/localhgt/build.sh new file mode 100644 index 0000000000000..a2d8631a97701 --- /dev/null +++ b/recipes/localhgt/build.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +make + +mkdir -p $PREFIX/bin + +cp $SRC_DIR/scripts/*py $PREFIX/bin +cp $SRC_DIR/scripts/*sh $PREFIX/bin +cp $SRC_DIR/scripts/extract_ref $PREFIX/bin diff --git a/recipes/localhgt/meta.yaml b/recipes/localhgt/meta.yaml new file mode 100644 index 0000000000000..94f06028c03df --- /dev/null +++ b/recipes/localhgt/meta.yaml @@ -0,0 +1,53 @@ +{% set version = "1.0.1" %} + +package: + name: localhgt + version: {{ version }} + +build: + number: 2 + run_exports: + - {{ pin_subpackage("localhgt", max_pin="x") }} + entry_points: + - localhgt = localhgt:main + +source: + url: https://github.com/deepomicslab/LocalHGT/archive/refs/tags/v{{ version }}.tar.gz + sha256: 4e1dca6c41f4f8519fd848d1d7fc3d290a62e4565bd12b27172846f1871ac4f8 + +requirements: + build: + - make + - {{ compiler('cxx') }} + host: + run: + - python >=3.7.12 + - scikit-bio >=0.5.6 + - networkx >=2.6.3 + - typing-extensions >=4.11.0 + - pyfaidx + - pysam + - biopython + - scikit-learn + - scipy + - numpy <=1.24 + - pandas + - samtools >=1.11 + - seqkit >=2.6.1 + - bwa >=0.7.17 + - fastp >=0.23.2 + +about: + home: https://github.com/deepomicslab/LocalHGT + license: MIT + summary: An ultrafast horizontal gene transfer detection method from large microbial communities + +test: + commands: + - localhgt --help + +extra: + identifiers: + - biotools:localhgt + recipe-maintainers: + - wshuai294 diff --git a/recipes/locarna/meta.yaml b/recipes/locarna/meta.yaml index 6575d3c121e45..68b1253eb8c61 100644 --- a/recipes/locarna/meta.yaml +++ b/recipes/locarna/meta.yaml @@ -1,5 +1,5 @@ -{% set version="2.0.0" %} -{% set sha256="3be0d2cac7f7451f8b741983e22803b546de2074d837b425fb1b69ccc718ebbc" %} +{% set version="2.0.1" %} +{% set sha256="1f50748d2f8f4bf5888394154d366e0eed8d4e20a3cd0da8b33e200aa1d9edf7" %} {% set vrnaversion="2.5.1" %} package: @@ -13,7 +13,9 @@ about: summary: Multiple alignment of RNAs build: - number: 1 + number: 0 + run_exports: + - {{ pin_subpackage('locarna', max_pin="x.x") }} source: url: "https://github.com/s-will/LocARNA/releases/download/v{{ version }}/locarna-{{ version }}.tar.gz" @@ -27,19 +29,21 @@ requirements: - make - {{ compiler('cxx') }} host: - - viennarna =={{ vrnaversion }} + - viennarna >={{ vrnaversion }},<3 + - perl run: - - viennarna =={{ vrnaversion }} + - viennarna >={{ vrnaversion }},<3 - perl test: commands: - - mlocarna --version - - locarna --version - - locarna_p --version - - sparse --version - - exparna_p --version - - echo -e ">D10744\nGGAAAAUUGAUCAUCGGCAAGAUAAGUUAUUUACUAAAUAAUAGGAUUUAAUAACCUGGUGAGUUCGAAUCUCACAUUUUCCG" | locarna_rnafold_pp --in-loop --stacking --noLP -p0.5 |head -n3 + - "ls -la" + - LC_ALL=en_US.UTF-8 mlocarna --version + - LC_ALL=en_US.UTF-8 locarna --version + - LC_ALL=en_US.UTF-8 locarna_p --version + - LC_ALL=en_US.UTF-8 sparse --version + - LC_ALL=en_US.UTF-8 exparna_p --version + - echo -e ">D10744\nGGAAAAUUGAUCAUCGGCAAGAUAAGUUAUUUACUAAAUAAUAGGAUUUAAUAACCUGGUGAGUUCGAAUCUCACAUUUUCCG" | LC_ALL=en_US.UTF-8 locarna_rnafold_pp --in-loop --stacking --noLP -p0.5 |head -n3 extra: identifiers: diff --git a/recipes/locidex/meta.yaml b/recipes/locidex/meta.yaml new file mode 100644 index 0000000000000..213ecab088d71 --- /dev/null +++ b/recipes/locidex/meta.yaml @@ -0,0 +1,54 @@ +{% set name = "locidex" %} +{% set version = "0.1.2" %} +{% set sha256 = "00134512c81ce4d752ca568e2fc5c3497004be4b8a4458fa38e4195e5cfb72d0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/locidex-{{ version }}.tar.gz + sha256: {{ sha256 }} + + +build: + number: 0 + noarch: python + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + script: {{ PYTHON }} -m pip install . --use-pep517 --no-deps -vvv + entry_points: + - locidex=locidex.main:main + +requirements: + host: + - python >=3.8,<4 + - pip + run: + - python >=3.8,<4 + - {{ pin_compatible('numpy', max_pin="x") }} + - pandas >=2.0.2 + - numba >=0.57.1 + - pytables >=3.8 + - six >=1.16 + - pyrodigal >=3.0 + - biopython >=1.83 + - mafft + - blast >=2.9.0 + +test: + commands: + - locidex -h + - locidex search -h + - locidex extract -h + - locidex report -h + - locidex merge -h + - locidex format -h + - locidex build -h + +about: + home: 'https://pypi.org/project/locidex/' + summary: 'Locidex: Common search engine for similarity based typing applications' + license: Apache-2.0 + dev_url: 'https://github.com/phac-nml/locidex' + diff --git a/recipes/locityper/build.sh b/recipes/locityper/build.sh new file mode 100644 index 0000000000000..0698575530e7c --- /dev/null +++ b/recipes/locityper/build.sh @@ -0,0 +1,15 @@ +#!/bin/bash -euo + +if [ "$(uname)" == "Darwin" ]; then + export HOME="/Users/distiller" + export HOME=`pwd` +fi + +export C_INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" + +git clone https://github.com/smarco/WFA2-lib WFA2 + +# build statically linked binary with Rust +RUST_BACKTRACE=1 +cargo install --no-track --verbose --root "${PREFIX}" --path . diff --git a/recipes/locityper/meta.yaml b/recipes/locityper/meta.yaml new file mode 100644 index 0000000000000..c9c450090f4ed --- /dev/null +++ b/recipes/locityper/meta.yaml @@ -0,0 +1,45 @@ +{% set name = "locityper" %} +{% set version = "0.16.12" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/tprodanov/locityper/archive/refs/tags/v{{ version }}.tar.gz + sha256: 0bd3a82c1df6de921ed477edfca4ffb5017cf194807e358e482b49afba867dd7 + +build: + number: 0 + run_exports: + - {{ pin_subpackage("locityper", max_pin="x.x") }} + +requirements: + build: + - {{ compiler('rust') }} + - {{ compiler('cxx') }} + - cmake + - make + host: + - clangdev + - libgomp # [linux] + - llvm-openmp # [osx] + run: + - python + - samtools >=1.18 + - kmer-jellyfish >=1.0 + - minimap2 >=2.25 + - strobealign >=0.12 + - pysam + +test: + commands: + - locityper version + +about: + summary: "Targeted genotyper for complex polymorphic loci from short and long read WGS." + home: "https://github.com/tprodanov/locityper" + license: MIT + license_family: MIT + license_file: LICENSE + dev_url: "https://github.com/tprodanov/locityper" diff --git a/recipes/lofreq/build.sh b/recipes/lofreq/build.sh index 14aa9cefba636..d349a75b80adb 100644 --- a/recipes/lofreq/build.sh +++ b/recipes/lofreq/build.sh @@ -2,5 +2,5 @@ set -eu -o pipefail ./configure --with-htslib=system --prefix=${PREFIX} -make +make -j ${CPU_COUNT} make install diff --git a/recipes/lofreq/build_failure.osx-64.yaml b/recipes/lofreq/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..f9584cf07d81e --- /dev/null +++ b/recipes/lofreq/build_failure.osx-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: 4cf287f5a7c455a055c0d13140b029f5521f83c577150eb646297dd597f8e2c7 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: test failure +log: |- + running install_egg_info + Writing $PREFIX/lib/python3.9/site-packages/LoFreq_Star-2.1.5-py3.9.egg-info + make[3]: Leaving directory '$SRC_DIR/src/tools' + make[2]: Nothing to be done for 'install-data-am'. + make[2]: Leaving directory '$SRC_DIR/src/tools' + make[1]: Leaving directory '$SRC_DIR/src/tools' + make[1]: Entering directory '$SRC_DIR' + make[2]: Entering directory '$SRC_DIR' + make[2]: Nothing to be done for 'install-exec-am'. + make[2]: Nothing to be done for 'install-data-am'. + make[2]: Leaving directory '$SRC_DIR' + make[1]: Leaving directory '$SRC_DIR' + + Resource usage statistics from building lofreq: + Process count: 8 + CPU time: Sys=0:00:00.3, User=0:00:00.6 + Memory: 99.9M + Disk usage: 8.0K + Time elapsed: 0:00:14.7 + + + Packaging lofreq + Packaging lofreq-2.1.5-py39h8037bd6_12 + + + WARNING: Importing conda-verify failed. Please be sure to test your packages. conda install conda-verify to make this message go away. + compiling .pyc files... + number of files: 10 + INFO: sysroot: '/System/Library/Frameworks/' files: '['vmnet.framework/Versions/Current', 'vmnet.framework/Versions/A/_CodeSignature/CodeResources', 'vmnet.framework/Versions/A/Resources/version.plist', 'vmnet.framework/Versions/A/Resources/InfoPlist.loctable']' + INFO: sysroot: '/usr/lib/' files: '['zsh/5.9/zsh/zselect.so', 'zsh/5.9/zsh/zpty.so', 'zsh/5.9/zsh/zprof.so', 'zsh/5.9/zsh/zleparameter.so']' + INFO: sysroot: '/opt/X11/' files: '[]' + INFO (lofreq,bin/lofreq): Needed DSO lib/libhts.3.dylib found in bioconda/osx-64::htslib==1.20=hec81eee_1 + INFO (lofreq,bin/lofreq): Needed DSO lib/libz.1.dylib found in conda-forge/osx-64::libzlib==1.2.13=h87427d6_6 + INFO (lofreq,bin/lofreq): Needed DSO /System/Library/Frameworks/libSystem.B.dylib found in $SYSROOT + INFO (lofreq): Interpreted package 'lofreq' is interpreted by 'python' + Fixing permissions + INFO :: Time taken to mark (prefix) + 0 replacements in 0 files was 0.04 seconds + Files containing CONDA_PREFIX + ----------------------------- + bin/lofreq2_indel_ovlp.py (text): Patching + bin/lofreq2_vcfplot.py (text): Patching + TEST START: /opt/mambaforge/envs/bioconda/conda-bld/osx-64/lofreq-2.1.5-py39h8037bd6_12.tar.bz2 + Renaming work directory '/opt/mambaforge/envs/bioconda/conda-bld/lofreq_1718124617511/work' to '/opt/mambaforge/envs/bioconda/conda-bld/lofreq_1718124617511/work_moved_lofreq-2.1.5-py39h8037bd6_12_osx-64' + shutil.move(work)=/opt/mambaforge/envs/bioconda/conda-bld/lofreq_1718124617511/work, dest=/opt/mambaforge/envs/bioconda/conda-bld/lofreq_1718124617511/work_moved_lofreq-2.1.5-py39h8037bd6_12_osx-64) + Reloading output folder (local): ...working... done + Solving environment (_test_env): ...working... done + + ## Package Plan ## + + environment location: /opt/mambaforge/envs/bioconda/conda-bld/lofreq_1718124617511/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl + + + The following NEW packages will be INSTALLED: + + bzip2: 1.0.8-h10d778d_5 conda-forge + c-ares: 1.28.1-h10d778d_0 conda-forge + ca-certificates: 2024.6.2-h8857fd0_0 conda-forge + curl: 8.8.0-hea67d85_0 conda-forge + htslib: 1.20-hec81eee_1 bioconda + krb5: 1.21.2-hb884880_0 conda-forge + libcurl: 8.8.0-hf9fcc65_0 conda-forge + libcxx: 17.0.6-h88467a6_0 conda-forge + libdeflate: 1.20-h49d49c5_0 conda-forge + libedit: 3.1.20191231-h0678c8f_2 conda-forge + libev: 4.33-h10d778d_2 conda-forge + libffi: 3.4.2-h0d85af4_5 conda-forge + libnghttp2: 1.58.0-h64cf6d3_1 conda-forge + libsqlite: 3.46.0-h1b8f9f3_0 conda-forge + libssh2: 1.11.0-hd019ec5_0 conda-forge + libzlib: 1.3.1-h87427d6_1 conda-forge + lofreq: 2.1.5-py39h8037bd6_12 local + ncurses: 6.5-h5846eda_0 conda-forge + openssl: 3.3.1-h87427d6_0 conda-forge + python: 3.9.19-h7a9c478_0_cpython conda-forge + python_abi: 3.9-4_cp39 conda-forge + readline: 8.2-h9e318b2_1 conda-forge + samtools: 1.5-1 bioconda + tk: 8.6.13-h1abcd95_1 conda-forge + tzdata: 2024a-h0c530f3_0 conda-forge + xz: 5.2.6-h775f41a_0 conda-forge + zlib: 1.3.1-h87427d6_1 conda-forge + zstd: 1.5.6-h915ae27_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + lofreq version + samtools --help + dyld[51805]: Library not loaded: @rpath/libcrypto.1.0.0.dylib + Referenced from: <8AD915FB-8A79-34FD-9167-D77089463421> /opt/mambaforge/envs/bioconda/conda-bld/lofreq_1718124617511/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/bin/samtools + Reason: tried: '/opt/mambaforge/envs/bioconda/conda-bld/lofreq_1718124617511/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/bin/../lib/libcrypto.1.0.0.dylib' (no such file), '/opt/mambaforge/envs/bioconda/conda-bld/lofreq_1718124617511/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/bin/../lib/libcrypto.1.0.0.dylib' (no such file), '/usr/local/lib/libcrypto.1.0.0.dylib' (no such file), '/usr/lib/libcrypto.1.0.0.dylib' (no such file, not in dyld cache) + /opt/mambaforge/envs/bioconda/conda-bld/lofreq_1718124617511/test_tmp/run_test.sh: line 8: 51805 Abort trap: 6 samtools --help + WARNING: Tests failed for lofreq-2.1.5-py39h8037bd6_12.tar.bz2 - moving package to /opt/mambaforge/envs/bioconda/conda-bld/broken + TESTS FAILED: lofreq-2.1.5-py39h8037bd6_12.tar.bz2 + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/lofreq_1718124617511/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/lofreq_1718124617511/test_tmp + version: 2.1.5 + commit: unknown + build-date: Jun 11 2024 +# Last 100 lines of the build log. diff --git a/recipes/lofreq/meta.yaml b/recipes/lofreq/meta.yaml index 8599a1283fd08..4dc0e346faf57 100644 --- a/recipes/lofreq/meta.yaml +++ b/recipes/lofreq/meta.yaml @@ -9,7 +9,9 @@ source: sha256: 43028af07faa23c7ec0e167855492ae7bd31c4e7f8158114e51ec12aba5fd184 build: - number: 10 + number: 12 + run_exports: + - {{ pin_subpackage('lofreq', max_pin='x') }} requirements: build: @@ -34,5 +36,7 @@ about: summary: A fast and sensitive variant-caller for inferring SNVs and indels from next-generation sequencing data extra: + additional-platforms: + - linux-aarch64 identifiers: - usegalaxy-eu:lofreq_call diff --git a/recipes/lollipop/meta.yaml b/recipes/lollipop/meta.yaml index 89f213a8aeaa8..e9b9385d3ed1b 100644 --- a/recipes/lollipop/meta.yaml +++ b/recipes/lollipop/meta.yaml @@ -1,6 +1,6 @@ {% set name = "LolliPop" %} -{% set version = "0.3.0" %} -{% set sha256 = "15135a929b87c209e84a096c9c345a12b1a4f6b2c00b37ec99ee88e5555acfec" %} +{% set version = "0.5.0" %} +{% set sha256 = "1772506789e75f855bf80640b9bd34b12ac1436c14156a747a281e4fb5edcc18" %} package: name: {{ name|lower }} @@ -13,24 +13,28 @@ source: build: noarch: python number: 0 + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x.x") }} script: - {{ PYTHON }} -m pip install '.[cli]' --ignore-installed --no-deps -v - - mkdir -p ${PREFIX}/share/{{ name }}/presets + - mkdir -p ${PREFIX}/share/{{ name }}/{presets,examples} - cp -vr presets/* ${PREFIX}/share/{{ name }}/presets/ + - cp -vr *preprint*yaml ${PREFIX}/share/{{ name }}/examples/ requirements: host: - - python >=3 + - python >=3.10 - pip - poetry-core >=1.0.8 - poetry-dynamic-versioning run: - - python >=3 + - python >=3.10 - numpy - scipy - pandas - zstandard - - ruamel.yaml + # NOTE: change of API between ruamel.yaml 0.17.x and 0.18 + - ruamel.yaml >=0.18 - strictyaml - tqdm - click diff --git a/recipes/longgf/meta.yaml b/recipes/longgf/meta.yaml index 9c74ad6cb0baa..d8071e50f73fd 100644 --- a/recipes/longgf/meta.yaml +++ b/recipes/longgf/meta.yaml @@ -9,7 +9,7 @@ source: sha256: 4790421de904e809c2ec1b1d3804493b1cd178ccb834066d2485db01b8c466e6 build: - number: 6 + number: 7 requirements: build: diff --git a/recipes/longphase/build.sh b/recipes/longphase/build.sh new file mode 100644 index 0000000000000..64c3a2dbb111b --- /dev/null +++ b/recipes/longphase/build.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +set -xe + +# https://bioconda.github.io/troubleshooting.html#zlib-errors +export CFLAGS="${CFLAGS} -I$PREFIX/include" +export LDFLAGS="${LDFLAGS} -L$PREFIX/lib" +export CPATH=${PREFIX}/include +export M4=${BUILD_PREFIX}/bin/m4 + +autoreconf -i +./configure --prefix=$PREFIX +make CC=$CC CXX=$CXX -j ${CPU_COUNT} +mkdir -p $PREFIX/bin +cp longphase $PREFIX/bin diff --git a/recipes/longphase/meta.yaml b/recipes/longphase/meta.yaml new file mode 100644 index 0000000000000..cf8b762b52c4a --- /dev/null +++ b/recipes/longphase/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "longphase" %} +{% set version = "1.7.3" %} + +package: + name: {{ name }} + version: {{ version }} + +build: + number: 0 + skip: True # [osx] + run_exports: + - {{ pin_subpackage('longphase', max_pin="x") }} + +source: + url: https://github.com/twolinin/longphase/archive/refs/tags/v{{ version }}.tar.gz + sha256: 58829b55ca55d796b836743466bc7b6caf82cfe9b88c25112bff6a0cd0353345 + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - autoconf + - automake + - make + - cmake + - zlib + host: + - zlib + - bzip2 + - xz + run: + - xz + - zlib + - bzip2 + +test: + commands: + - longphase + +about: + home: "https://github.com/twolinin/longphase" + license: GPL-3.0-only + license_family: GPL3 + license_file: LICENSE + summary: "LongPhase is an ultra-fast program for simultaneously co-phasing SNPs, small indels, large SVs, and (5mC) modifications for Nanopore and PacBio platforms." + dev_url: "https://github.com/twolinin/longphase" + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/longreadsum/build_failure.osx-64.yaml b/recipes/longreadsum/build_failure.osx-64.yaml deleted file mode 100644 index 2ce329513390e..0000000000000 --- a/recipes/longreadsum/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: eff7315e25732ae66ce264a92155ddfb54074489a6a7f7f4c75ee15773a15e15 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - libclang-cpp15: 15.0.7-default_hdb78580_2 conda-forge - libcxx: 16.0.6-hd57cbcb_0 conda-forge - libiconv: 1.17-hac89ed1_0 conda-forge - libllvm15: 15.0.7-he4b1e75_2 conda-forge - libxml2: 2.11.4-hd95e348_0 conda-forge - libzlib: 1.2.13-h8a1eda9_5 conda-forge - llvm-tools: 15.0.7-he4b1e75_2 conda-forge - make: 4.3-h22f3db7_1 conda-forge - openssl: 3.1.1-h8a1eda9_1 conda-forge - sigtool: 0.1.3-h88f4db0_0 conda-forge - tapi: 1100.0.11-h9ce4665_0 conda-forge - xz: 5.2.6-h775f41a_0 conda-forge - zstd: 1.5.2-h829000d_7 conda-forge - - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache - INFO:conda_build.source:Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache - Downloading source to cache: v1.3.0_9b1cf814f6.tar.gz - INFO:conda_build.source:Downloading source to cache: v1.3.0_9b1cf814f6.tar.gz - Downloading https://github.com/WGLab/LongReadSum/archive/refs/tags/v1.3.0.tar.gz - INFO:conda_build.source:Downloading https://github.com/WGLab/LongReadSum/archive/refs/tags/v1.3.0.tar.gz - Success - INFO:conda_build.source:Success - Extracting download - source tree in: /opt/mambaforge/envs/bioconda/conda-bld/longreadsum_1688727237612/work - export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/longreadsum_1688727237612/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl - export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/longreadsum_1688727237612/_build_env - export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/longreadsum_1688727237612/work - INFO: activate_clang_osx-64.sh made the following environmental changes: - AR=x86_64-apple-darwin13.4.0-ar - AS=x86_64-apple-darwin13.4.0-as - CC=x86_64-apple-darwin13.4.0-clang - CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/longreadsum-1.3.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix - CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms - CLANG=x86_64-apple-darwin13.4.0-clang - CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin - CMAKE_PREFIX_PATH=:$PREFIX - CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 - CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 - CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 - DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/longreadsum-1.3.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix - HOST=x86_64-apple-darwin13.4.0 - INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool - LD=x86_64-apple-darwin13.4.0-ld - LDFLAGS=-Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib - LDFLAGS_LD=-pie -headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib - LIBTOOL=x86_64-apple-darwin13.4.0-libtool - LIPO=x86_64-apple-darwin13.4.0-lipo - MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib - NM=x86_64-apple-darwin13.4.0-nm - NMEDIT=x86_64-apple-darwin13.4.0-nmedit - OBJC=x86_64-apple-darwin13.4.0-clang - OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - OTOOL=x86_64-apple-darwin13.4.0-otool - PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff - RANLIB=x86_64-apple-darwin13.4.0-ranlib - REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding - SDKROOT=/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk - SEGEDIT=x86_64-apple-darwin13.4.0-segedit - SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table - SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack - SIZE=x86_64-apple-darwin13.4.0-size - STRINGS=x86_64-apple-darwin13.4.0-strings - STRIP=x86_64-apple-darwin13.4.0-strip - _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 - ac_cv_func_malloc_0_nonnull=yes - ac_cv_func_realloc_0_nonnull=yes - build_alias=x86_64-apple-darwin13.4.0 - host_alias=x86_64-apple-darwin13.4.0 - INFO: activate_clangxx_osx-64.sh made the following environmental changes: - CLANGXX=x86_64-apple-darwin13.4.0-clang - CXX=x86_64-apple-darwin13.4.0-clang - CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/longreadsum-1.3.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix - CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/longreadsum-1.3.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/conda-bld/longreadsum_1688727237612/work/setup.py", line 8, in - import setuptools - ModuleNotFoundError: No module named 'setuptools' - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/longreadsum_1688727237612/work/conda_build.sh']' returned non-zero exit status 1. -# Last 100 lines of the build log. diff --git a/recipes/longreadsum/meta.yaml b/recipes/longreadsum/meta.yaml index 904211f5314b5..b8059e7edc4e3 100644 --- a/recipes/longreadsum/meta.yaml +++ b/recipes/longreadsum/meta.yaml @@ -10,8 +10,7 @@ source: sha256: '{{ sha256 }}' build: - number: 0 - skip: true # [py2k] + number: 2 entry_points: - longreadsum = entry_point:main run_exports: @@ -26,6 +25,8 @@ requirements: - swig - hdf5 - htslib + - zlib + - setuptools run: - python - numpy @@ -45,3 +46,8 @@ about: A fast and flexible QC tool for long read sequencing data. dev_url: https://github.com/WGLab/LongReadSum doc_url: https://github.com/WGLab/LongReadSum#readme + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/longshot/build.sh b/recipes/longshot/build.sh index 86b3387a1a49e..c2ec39a96c873 100644 --- a/recipes/longshot/build.sh +++ b/recipes/longshot/build.sh @@ -1,19 +1,7 @@ #!/bin/bash set -ex -# this build script is taken from the rust-bio-tools recipe -# https://github.com/bioconda/bioconda-recipes/blob/master/recipes/rust-bio-tools/build.sh - -# taken from yacrd recipe, see: https://github.com/bioconda/bioconda-recipes/blob/2b02c3db6400499d910bc5f297d23cb20c9db4f8/recipes/yacrd/build.sh -#if [ "$(uname)" == "Darwin" ]; then -# # apparently the HOME variable isn't set correctly, and circle ci output indicates the following as the home directory -# #export HOME="/Users/distiller" -# export HOME="/Users/runner" -# # according to https://github.com/rust-lang/cargo/issues/2422#issuecomment-198458960 removing circle ci default configuration solves cargo trouble downloading crates -# git config --global --unset url.ssh://git@github.com.insteadOf -#fi - # build statically linked binary with Rust -export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="$(pwd)/.cargo" -export LD=$CC -C_INCLUDE_PATH=$PREFIX/include LIBRARY_PATH=$PREFIX/lib cargo install --path . --root $PREFIX +export LD="${CC}" C_INCLUDE_PATH="${PREFIX}/include" LIBRARY_PATH="${PREFIX}/lib" +RUST_BACKTRACE=1 +cargo install --path . --root "${PREFIX}" --verbose diff --git a/recipes/longshot/meta.yaml b/recipes/longshot/meta.yaml index ca77b08ec44aa..b02c830a4eddd 100644 --- a/recipes/longshot/meta.yaml +++ b/recipes/longshot/meta.yaml @@ -1,26 +1,30 @@ -{% set version = "0.4.5" %} +{% set name = "longshot" %} +{% set version = "1.0.0" %} package: - name: longshot - version: {{version}} - -build: - number: 2 - skip: True # [osx] + name: {{ name }} + version: {{ version }} source: url: https://github.com/pjedge/longshot/archive/v{{ version }}.tar.gz - sha256: 7c9f570e17012b2fee386892ae64daf5f104d59adeb59dc7e710b876c1a11cad + sha256: f6981892beb966eef40986c46928301dec1fef38591cc291e00a546f9866c5e2 + patches: + - update-rust-htslib.patch + +build: + number: 2 + run_exports: + - {{ pin_subpackage('longshot', max_pin="x") }} requirements: build: - - rust >=1.4 - - make + - {{ compiler('rust') }} - {{ compiler('c') }} - {{ compiler('cxx') }} - pkg-config # [osx] - clangdev - cmake + - make host: - zlib - xz @@ -34,6 +38,16 @@ test: about: home: https://github.com/pjedge/longshot license: MIT + license_family: MIT license_file: LICENSE - summary: | - Diploid SNV caller for error-prone reads. + summary: "Diploid SNV caller for error-prone reads." + dev_url: https://github.com/pjedge/longshot + doc_url: https://github.com/pjedge/longshot/blob/v(( version }}/README.md + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + identifiers: + - doi:10.1038/s41467-019-12493-y + - biotools:longshot diff --git a/recipes/longshot/update-rust-htslib.patch b/recipes/longshot/update-rust-htslib.patch new file mode 100644 index 0000000000000..80c03a76bc485 --- /dev/null +++ b/recipes/longshot/update-rust-htslib.patch @@ -0,0 +1,23 @@ +From 9457f89b8200c238f4696eb86f7e979d23b3ae2c Mon Sep 17 00:00:00 2001 +From: Martin Grigorov +Date: Thu, 25 Apr 2024 11:05:07 +0300 +Subject: [PATCH] Update rust-htslib to 0.46.0 + +This allows building the project on Linux ARM64! +--- + Cargo.toml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Cargo.toml b/Cargo.toml +index c8592eb..e3a32db 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -5,7 +5,7 @@ authors = ["Peter Edge "] + + [dependencies] + bio = "0.25.0" +-rust-htslib = "0.38.2" ++rust-htslib = "0.47.0" + clap = "2.26.2" + chrono = "0.4" + rand = { version = "0.8", features = ["std_rng"] } diff --git a/recipes/lorax/build_failure.linux-64.yaml b/recipes/lorax/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..eeb27c6dd0dbe --- /dev/null +++ b/recipes/lorax/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 68289bc6e777b3809eb35883aa841d04653b86d7d5ae8ed9d545b7883991fcfc # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + from /opt/conda/conda-bld/lorax_1717712810250/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/iostream:39, + from src/lorax.cpp:3: + /opt/conda/conda-bld/lorax_1717712810250/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/bits/stl_iterator_base_types.h:127:34: note: 'std::iterator' + 127 | struct _GLIBCXX17_DEPRECATED iterator + | ^~~~~~~~ + In file included from /opt/conda/conda-bld/lorax_1717712810250/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/unordered/detail/map.hpp:8, + from /opt/conda/conda-bld/lorax_1717712810250/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/unordered/unordered_map.hpp:18, + from /opt/conda/conda-bld/lorax_1717712810250/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/unordered_map.hpp:17, + from src/util.h:5: + /opt/conda/conda-bld/lorax_1717712810250/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/unordered/detail/implementation.hpp:968:51: note: 'boost::unordered::detail::iterator_detail::iterator' + 968 | template class iterator + | ^~~~~~~~ + src/util.h:128:67: error: 'itr' was not declared in this scope + 128 | for(std::set::iterator itr = c.fwdmotif.begin(); itr != c.fwdmotif.end(); itr) { + | ^~~ + src/util.h: In function 'double lorax::entropy(const std::string&)': + src/util.h:183:10: error: 'set' is not a member of 'std' + 183 | std::set alphabet(stvec.begin(), stvec.end()); + | ^~~ + src/util.h:183:10: note: 'std::set' is defined in header ''; did you forget to '#include '? + src/util.h:183:14: error: expected primary-expression before 'char' + 183 | std::set alphabet(stvec.begin(), stvec.end()); + | ^~~~ + src/util.h:185:14: error: 'set' is not a member of 'std' + 185 | for(std::set::const_iterator c = alphabet.begin(); c != alphabet.end(); c) { + | ^~~ + src/util.h:185:14: note: 'std::set' is defined in header ''; did you forget to '#include '? + src/util.h:185:18: error: expected primary-expression before 'char' + 185 | for(std::set::const_iterator c = alphabet.begin(); c != alphabet.end(); c) { + | ^~~~ + src/util.h:185:62: error: 'c' was not declared in this scope + 185 | for(std::set::const_iterator c = alphabet.begin(); c != alphabet.end(); c) { + | ^ + src/util.h:185:67: error: 'alphabet' was not declared in this scope + 185 | for(std::set::const_iterator c = alphabet.begin(); c != alphabet.end(); c) { + | ^~~~~~~~ + In file included from src/lorax.cpp:14: + src/tithread.h: At global scope: + src/tithread.h:56:40: warning: 'template struct std::binary_function' is deprecated [-Wdeprecated-declarations] + 56 | struct SortBreakpoints : public std::binary_function + | ^~~~~~~~~~~~~~~ + In file included from /opt/conda/conda-bld/lorax_1717712810250/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/string:48: + /opt/conda/conda-bld/lorax_1717712810250/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/bits/stl_function.h:131:12: note: declared here + 131 | struct binary_function + | ^~~~~~~~~~~~~~~ + In file included from src/telomere.h:26, + from src/lorax.cpp:15: + src/junction.h:47:37: warning: 'template struct std::binary_function' is deprecated [-Wdeprecated-declarations] + 47 | struct SortJunction : public std::binary_function + | ^~~~~~~~~~~~~~~ + /opt/conda/conda-bld/lorax_1717712810250/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/bits/stl_function.h:131:12: note: declared here + 131 | struct binary_function + | ^~~~~~~~~~~~~~~ + In file included from src/amplicon.h:26, + from src/lorax.cpp:16: + src/var.h:26:37: warning: 'template struct std::binary_function' is deprecated [-Wdeprecated-declarations] + 26 | struct SortVariants : public std::binary_function { + | ^~~~~~~~~~~~~~~ + /opt/conda/conda-bld/lorax_1717712810250/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/bits/stl_function.h:131:12: note: declared here + 131 | struct binary_function + | ^~~~~~~~~~~~~~~ + In file included from src/lorax.cpp:17: + src/ecc.h:53:38: warning: 'template struct std::binary_function' is deprecated [-Wdeprecated-declarations] + 53 | struct SortReadMatch : public std::binary_function + | ^~~~~~~~~~~~~~~ + /opt/conda/conda-bld/lorax_1717712810250/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/bits/stl_function.h:131:12: note: declared here + 131 | struct binary_function + | ^~~~~~~~~~~~~~~ + In file included from src/pct.h:30, + from src/lorax.cpp:20: + src/gfa.h:43:34: warning: 'template struct std::binary_function' is deprecated [-Wdeprecated-declarations] + 43 | struct SortLinks : public std::binary_function + | ^~~~~~~~~~~~~~~ + /opt/conda/conda-bld/lorax_1717712810250/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/bits/stl_function.h:131:12: note: declared here + 131 | struct binary_function + | ^~~~~~~~~~~~~~~ + In file included from src/pct.h:31: + src/gaf.h:41:40: warning: 'template struct std::binary_function' is deprecated [-Wdeprecated-declarations] + 41 | struct SortAlignRecord : public std::binary_function { + | ^~~~~~~~~~~~~~~ + /opt/conda/conda-bld/lorax_1717712810250/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/bits/stl_function.h:131:12: note: declared here + 131 | struct binary_function + | ^~~~~~~~~~~~~~~ + make: *** [Makefile:53: src/lorax] Error 1 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/lorax_1717712810250/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. diff --git a/recipes/lorax/build_failure.osx-64.yaml b/recipes/lorax/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..d9e755fc6e561 --- /dev/null +++ b/recipes/lorax/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 68289bc6e777b3809eb35883aa841d04653b86d7d5ae8ed9d545b7883991fcfc # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + for(uint32_t j = idx 1; ((j < junctions.size()) && (junctions[j].refidx == junctions[idx].refidx) && (std::abs(junctions[j].refpos - junctions[idx].refpos) < 2 * c.delta)); j) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~ + src/telomere.h:277:5: note: in instantiation of function template specialization 'lorax::outputTelomereSVs>' requested here + outputTelomereSVs(c, junctions, telreads); + ^ + src/telomere.h:342:12: note: in instantiation of function template specialization 'lorax::runTelomere' requested here + return runTelomere(c); + ^ + src/telomere.h:176:133: warning: comparison of integers of different signs: 'int' and 'const uint32_t' (aka 'const unsigned int') [-Wsign-compare] + if ((junctions[i].refidx == junctions[jctidx[compId]].refidx) && (std::abs(junctions[i].refpos - junctions[jctidx[compId]].refpos) < c.delta)) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~ + src/telomere.h:208:135: warning: comparison of integers of different signs: 'int' and 'const uint32_t' (aka 'const unsigned int') [-Wsign-compare] + if ((junctions[i].refidx == junctions[jctidx[compId]].refidx) && (std::abs(junctions[i].refpos - junctions[jctidx[compId]].refpos) < c.delta)) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~ + In file included from src/lorax.cpp:16: + src/amplicon.h:234:70: warning: comparison of integers of different signs: 'int' and 'const uint32_t' (aka 'const unsigned int') [-Wsign-compare] + if (std::abs(gp - (int32_t) scanRegions[refIndex][ri].start) < c.bpuncertain) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~ + src/amplicon.h:458:24: note: in instantiation of function template specialization 'lorax::selectReads>, std::map>>' requested here + int32_t candsize = selectReads(c, scanRegions, candidates, readAmp); + ^ + src/amplicon.h:593:12: note: in instantiation of function template specialization 'lorax::runAmplicon' requested here + return runAmplicon(c); + ^ + src/amplicon.h:240:68: warning: comparison of integers of different signs: 'int' and 'const uint32_t' (aka 'const unsigned int') [-Wsign-compare] + if (std::abs(gp - (int32_t) scanRegions[refIndex][ri].end) < c.bpuncertain) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~ + 13 warnings and 17 errors generated. + make: *** [Makefile:53: src/lorax] Error 1 + Extracting download + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/lorax_1717638680548/work + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/lorax_1717638680548/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/lorax_1717638680548/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/lorax_1717638680548/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/lorax-0.3.9 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/lorax_1717638680548/work/conda_build.sh']' returned non-zero exit status 2. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/lorax-0.3.9 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/lorax-0.3.9 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/lorax-0.3.9 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + if [ -r src/htslib/Makefile ]; then cd src/htslib && autoreconf -i && ./configure --disable-s3 --disable-gcs --disable-libcurl --disable-plugins && make && make lib-static && cd ../../ && touch .htslib; fi + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/lorax-0.3.9 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D__STDC_FORMAT_MACROS -std=c11 -isystem $SRC_DIR/src/htslib/ -pedantic -W -Wall -Wno-unknown-pragmas -D__STDC_LIMIT_MACROS -fno-strict-aliasing -fpermissive -O3 -fno-tree-vectorize -DNDEBUG src/lorax.cpp -o src/lorax -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$SRC_DIR/src/htslib/ -L$SRC_DIR/src/htslib//lib -lboost_iostreams -lboost_filesystem -lboost_system -lboost_program_options -lboost_date_time -lhts -lz -llzma -lbz2 -Wl,-rpath,$SRC_DIR/src/htslib/ +# Last 100 lines of the build log. diff --git a/recipes/lorax/meta.yaml b/recipes/lorax/meta.yaml index 904907ef97879..8b467f82b4f9e 100644 --- a/recipes/lorax/meta.yaml +++ b/recipes/lorax/meta.yaml @@ -10,7 +10,7 @@ source: sha256: '{{ sha256 }}' build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage("lorax", max_pin="x.x") }} diff --git a/recipes/lorikeet-genome/build.sh b/recipes/lorikeet-genome/build.sh index d527f13682240..d7a50654b5c60 100644 --- a/recipes/lorikeet-genome/build.sh +++ b/recipes/lorikeet-genome/build.sh @@ -12,4 +12,4 @@ C_INCLUDE_PATH=$PREFIX/include \ LIBRARY_PATH=$PREFIX/lib \ LIBCLANG_PATH=$PREFIX/lib/libclang.so \ OPENSSL_DIR=$PREFIX \ -cargo install --force --root $PREFIX +cargo install --path ./ --force --root $PREFIX diff --git a/recipes/lorikeet-genome/meta.yaml b/recipes/lorikeet-genome/meta.yaml index cce4b74e27507..74cd2f2cb9905 100644 --- a/recipes/lorikeet-genome/meta.yaml +++ b/recipes/lorikeet-genome/meta.yaml @@ -1,62 +1,57 @@ -{% set version = "0.7.3" %} -{% set name = "lorikeet" %} -{% set sha256 = "663e53c2451e06af3334b612a7518180fa528e2d12ebe869f74f78996e2a82a5" %} +{% set version = "0.8.2" %} +{% set name = "lorikeet-genome" %} +{% set sha256 = "125fb87f7aa586aa92183ed2c11721477d0b2ba2481f80a1e047ab581e3ff50b" %} package: - name: lorikeet-genome + name: {{ name }} version: {{ version }} build: - number: 2 + number: 0 skip: True # [osx] + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} source: - url: https://github.com/rhysnewell/{{ name }}/archive/v{{ version }}.tar.gz + url: https://github.com/rhysnewell/lorikeet/archive/v{{ version }}.tar.gz sha256: {{ sha256 }} requirements: build: - - rust >=1.40 - - python >=3.9 + - rust >=1.70 + - python ==3.10 - {{ compiler('c') }} - {{ compiler('cxx') }} - - perl - pkg-config - make - cmake host: - zlib - - gsl + - blis - libblas + - openblas - openssl - - htslib + - clangdev run: - - python >=3.9 - - htslib - - parallel - - numpy - - matplotlib-base + - samtools >=1.9 + - coreutils + - python ==3.10 - prodigal + - minimap2 >=2.24 + - bwa >=0.7.17 + - bwa-mem2 + - numpy + - scikit-allel >=1.3.6 - svim - - samtools >=1.9 - bcftools - - vt - - zlib - - gsl - - starcode - - bwa >=0.7.17 - - bwa-mem2 >=2.2.1 - - minimap2 - - fastani - - dashing - - ngmlr - - scikit-allel - - polars - - scipy + - pip + - polars >=0.18 + - scipy >=1.11 + - cmake >=3.21 test: commands: - - {{ name }} --version | grep '{{ version }}' + - lorikeet --version | grep '{{ version }}' about: home: https://github.com/rhysnewell/Lorikeet diff --git a/recipes/lotus2/build.sh b/recipes/lotus2/build.sh index bd60e65cb0fa8..5b4edbec842fd 100644 --- a/recipes/lotus2/build.sh +++ b/recipes/lotus2/build.sh @@ -4,10 +4,10 @@ SHARE_DIR=$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM rm -rf bin/installs/ bin/LCA bin/rtk bin/sdm bin/vsearch configs/sdm_src/ # Configure LotuS2 cp configs/LotuS.cfg.def lOTUs.cfg -for binary in blastn clustalo lambda LCA mafft minimap2 rtk sdm swarm vsearch; do +for binary in blastn clustalo lambda3 LCA mafft minimap2 rtk sdm swarm vsearch; do sed -i.bak -e "s|^$binary[[:space:]].*|$binary $PREFIX/bin/$binary|" lOTUs.cfg done -for binary in cd-hit fasttree hmmsearch iqtree itsx lambda_index makeBlastDB RDPjar; do +for binary in cd-hit fasttree hmmsearch iqtree itsx makeBlastDB RDPjar; do sed -i.bak -e "s|^$binary[[:space:]]\(.*\)|$binary $PREFIX/bin/\1|" lOTUs.cfg done # Install diff --git a/recipes/lotus2/meta.yaml b/recipes/lotus2/meta.yaml index ec89fad4686f5..bc46dd5be022e 100644 --- a/recipes/lotus2/meta.yaml +++ b/recipes/lotus2/meta.yaml @@ -1,6 +1,6 @@ {% set name = "lotus2" %} -{% set version = "2.28.1" %} -{% set sha256 = "0e7ed1f816db8d8e6946a101bc22924323e772484e0dc4bde319a36451d22186" %} +{% set version = "2.34.1" %} +{% set sha256 = "fdda62d3ab02e37e160c0b1c36aeee43247838c271c99733be71d0bfbeb77419" %} package: name: {{ name }} @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 1 + number: 0 noarch: generic run_exports: - {{ pin_subpackage(name, max_pin='x') }} @@ -25,21 +25,24 @@ requirements: - cd-hit - clustalo - fasttree + - hmmer >=3.1 - infernal - iqtree - itsx - - lambda <2 + - lambda >=3,<4 - lca >=0.25 - mafft - minimap2 - perl - perl-getopt-long + - pigz - r-dplyr - rdp_classifier - rtk - - sdm ==2.14 + - sdm ==2.18 - swarm - unzip + - usearch >=12.0_beta,<13 - vsearch - wget - zip # workaround for the Galaxy wrapper (mulled conda env creation fails) diff --git a/recipes/lra/meta.yaml b/recipes/lra/meta.yaml index bca72a7514733..f683cad878878 100644 --- a/recipes/lra/meta.yaml +++ b/recipes/lra/meta.yaml @@ -9,7 +9,7 @@ source: sha256: aedf99e7488ddbc679c3e5015704ffab31d3c6e914f23a0b196304f962492ff6 build: - number: 1 + number: 2 skip: True # [osx] requirements: diff --git a/recipes/lrez/meta.yaml b/recipes/lrez/meta.yaml index 1015a80196c0c..e10745ba31ceb 100644 --- a/recipes/lrez/meta.yaml +++ b/recipes/lrez/meta.yaml @@ -10,7 +10,7 @@ source: sha256: {{ sha256 }} build: - number: 2 + number: 3 run_exports: - {{ pin_subpackage('lrez', max_pin='x.x') }} diff --git a/recipes/lrsim/0002-use-CXX-and-CC.patch b/recipes/lrsim/0002-use-CXX-and-CC.patch new file mode 100644 index 0000000000000..9cab56053c9b4 --- /dev/null +++ b/recipes/lrsim/0002-use-CXX-and-CC.patch @@ -0,0 +1,167 @@ +From 406353bf60a7306bc33412a2baa3325ec6a5ef45 Mon Sep 17 00:00:00 2001 +From: Ilya Shlyakhter +Date: Thu, 30 Nov 2023 15:49:26 -0500 +Subject: [PATCH 2/2] use CXX and CC + +--- + DWGSIMSrc/Makefile | 2 -- + DWGSIMSrc/samtools/Makefile | 2 -- + DWGSIMSrc/samtools/bcftools/Makefile | 2 -- + DWGSIMSrc/samtools/misc/Makefile | 4 ---- + SURVIVORSrc/Debug/makefile | 2 +- + SURVIVORSrc/Debug/src/convert/subdir.mk | 2 +- + SURVIVORSrc/Debug/src/merge_vcf/subdir.mk | 2 +- + SURVIVORSrc/Debug/src/simulator/subdir.mk | 2 +- + SURVIVORSrc/Debug/src/subdir.mk | 2 +- + SURVIVORSrc/Debug/src/vcfs/subdir.mk | 2 +- + make.sh | 4 ++-- + 11 files changed, 8 insertions(+), 18 deletions(-) + +diff --git a/DWGSIMSrc/Makefile b/DWGSIMSrc/Makefile +index 0d5b9ec..bbb7047 100644 +--- a/DWGSIMSrc/Makefile ++++ b/DWGSIMSrc/Makefile +@@ -1,6 +1,4 @@ + PACKAGE_VERSION="0.1.11" +-CC= gcc +-CFLAGS= -g -Wall -O3 #-m64 #-arch ppc + DFLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -DPACKAGE_VERSION=\\\"${PACKAGE_VERSION}\\\" + DWGSIM_AOBJS = src/dwgsim_opt.o src/mut.o src/contigs.o src/regions_bed.o \ + src/mut_txt.o src/mut_bed.o src/mut_vcf.o src/mut_input.o src/dwgsim.o +diff --git a/DWGSIMSrc/samtools/Makefile b/DWGSIMSrc/samtools/Makefile +index a584c7a..37d5345 100644 +--- a/DWGSIMSrc/samtools/Makefile ++++ b/DWGSIMSrc/samtools/Makefile +@@ -4,8 +4,6 @@ + # make git-stamp + VERSION= + +-CC= gcc +-CFLAGS= -g -Wall $(VERSION) -O2 + #LDFLAGS= -Wl,-rpath,\$$ORIGIN/../lib + DFLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 + KNETFILE_O= knetfile.o +diff --git a/DWGSIMSrc/samtools/bcftools/Makefile b/DWGSIMSrc/samtools/bcftools/Makefile +index be831de..df67d1d 100644 +--- a/DWGSIMSrc/samtools/bcftools/Makefile ++++ b/DWGSIMSrc/samtools/bcftools/Makefile +@@ -1,5 +1,3 @@ +-CC= gcc +-CFLAGS= -g -Wall -O2 #-m64 #-arch ppc + DFLAGS= -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE + LOBJS= bcf.o vcf.o bcfutils.o prob1.o em.o kfunc.o kmin.o index.o fet.o mut.o bcf2qcall.o + OMISC= .. +diff --git a/DWGSIMSrc/samtools/misc/Makefile b/DWGSIMSrc/samtools/misc/Makefile +index d36e7ac..388bfb7 100644 +--- a/DWGSIMSrc/samtools/misc/Makefile ++++ b/DWGSIMSrc/samtools/misc/Makefile +@@ -1,7 +1,3 @@ +-CC= gcc +-CXX= g++ +-CFLAGS= -g -Wall -O2 #-m64 #-arch ppc +-CXXFLAGS= $(CFLAGS) + DFLAGS= -D_FILE_OFFSET_BITS=64 + OBJS= + PROG= md5sum-lite md5fa maq2sam-short maq2sam-long ace2sam wgsim bamcheck +diff --git a/SURVIVORSrc/Debug/makefile b/SURVIVORSrc/Debug/makefile +index fb44537..e1fdd42 100644 +--- a/SURVIVORSrc/Debug/makefile ++++ b/SURVIVORSrc/Debug/makefile +@@ -48,7 +48,7 @@ all: SURVIVOR + SURVIVOR: $(OBJS) $(USER_OBJS) + @echo 'Building target: $@' + @echo 'Invoking: Cross G++ Linker' +- g++ -o "SURVIVOR" $(OBJS) $(USER_OBJS) $(LIBS) ++ ${CXX} ${CXXFLAGS} -o "SURVIVOR" $(OBJS) $(USER_OBJS) $(LIBS) + @echo 'Finished building target: $@' + @echo ' ' + +diff --git a/SURVIVORSrc/Debug/src/convert/subdir.mk b/SURVIVORSrc/Debug/src/convert/subdir.mk +index b4e47c9..dccb68f 100644 +--- a/SURVIVORSrc/Debug/src/convert/subdir.mk ++++ b/SURVIVORSrc/Debug/src/convert/subdir.mk +@@ -35,7 +35,7 @@ CPP_DEPS += \ + src/convert/%.o: ../src/convert/%.cpp + @echo 'Building file: $<' + @echo 'Invoking: Cross G++ Compiler' +- g++ -O3 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" ++ ${CXX} ${CXXFLAGS} -O3 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" + @echo 'Finished building: $<' + @echo ' ' + +diff --git a/SURVIVORSrc/Debug/src/merge_vcf/subdir.mk b/SURVIVORSrc/Debug/src/merge_vcf/subdir.mk +index f4d793d..fd27596 100644 +--- a/SURVIVORSrc/Debug/src/merge_vcf/subdir.mk ++++ b/SURVIVORSrc/Debug/src/merge_vcf/subdir.mk +@@ -20,7 +20,7 @@ CPP_DEPS += \ + src/merge_vcf/%.o: ../src/merge_vcf/%.cpp + @echo 'Building file: $<' + @echo 'Invoking: Cross G++ Compiler' +- g++ -O3 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" ++ ${CXX} ${CXXFLAGS} -O3 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" + @echo 'Finished building: $<' + @echo ' ' + +diff --git a/SURVIVORSrc/Debug/src/simulator/subdir.mk b/SURVIVORSrc/Debug/src/simulator/subdir.mk +index 8ffd9ec..7f15f88 100644 +--- a/SURVIVORSrc/Debug/src/simulator/subdir.mk ++++ b/SURVIVORSrc/Debug/src/simulator/subdir.mk +@@ -23,7 +23,7 @@ CPP_DEPS += \ + src/simulator/%.o: ../src/simulator/%.cpp + @echo 'Building file: $<' + @echo 'Invoking: Cross G++ Compiler' +- g++ -O3 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" ++ ${CXX} ${CXXFLAGS} -O3 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" + @echo 'Finished building: $<' + @echo ' ' + +diff --git a/SURVIVORSrc/Debug/src/subdir.mk b/SURVIVORSrc/Debug/src/subdir.mk +index 24863c4..5a4bdf2 100644 +--- a/SURVIVORSrc/Debug/src/subdir.mk ++++ b/SURVIVORSrc/Debug/src/subdir.mk +@@ -29,7 +29,7 @@ CPP_DEPS += \ + src/%.o: ../src/%.cpp + @echo 'Building file: $<' + @echo 'Invoking: Cross G++ Compiler' +- g++ -O3 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" ++ ${CXX} ${CXXFLAGS} -O3 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" + @echo 'Finished building: $<' + @echo ' ' + +diff --git a/SURVIVORSrc/Debug/src/vcfs/subdir.mk b/SURVIVORSrc/Debug/src/vcfs/subdir.mk +index 6d434f7..d76422f 100644 +--- a/SURVIVORSrc/Debug/src/vcfs/subdir.mk ++++ b/SURVIVORSrc/Debug/src/vcfs/subdir.mk +@@ -29,7 +29,7 @@ CPP_DEPS += \ + src/vcfs/%.o: ../src/vcfs/%.cpp + @echo 'Building file: $<' + @echo 'Invoking: Cross G++ Compiler' +- g++ -O3 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" ++ ${CXX} -O3 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" + @echo 'Finished building: $<' + @echo ' ' + +diff --git a/make.sh b/make.sh +index eff30bb..186da1f 100755 +--- a/make.sh ++++ b/make.sh +@@ -1,6 +1,6 @@ + set -e + +-g++ extractReads.cpp -O3 -o extractReads ++${CXX} extractReads.cpp -O3 -o extractReads + + cd DWGSIMSrc + make -j +@@ -9,7 +9,7 @@ cp -f ./samtools/samtools ../ + cd ../ + + cd msortSrc +-g++ msort.c sort_funs.c stdhashc.cc -lm -m64 -fpermissive -o msort ++${CXX} msort.c sort_funs.c stdhashc.cc -lm -m64 -fpermissive -o msort + cp -f msort ../ + cd ../ + +-- +2.43.0 + diff --git a/recipes/lrsim/0003-use-ncurses.patch b/recipes/lrsim/0003-use-ncurses.patch new file mode 100644 index 0000000000000..514d891af8edc --- /dev/null +++ b/recipes/lrsim/0003-use-ncurses.patch @@ -0,0 +1,25 @@ +From 76b05cabbfda30cfcc81f07081cc1a091127b393 Mon Sep 17 00:00:00 2001 +From: Ilya Shlyakhter +Date: Thu, 30 Nov 2023 16:34:22 -0500 +Subject: [PATCH 3/3] use ncurses + +--- + DWGSIMSrc/samtools/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/DWGSIMSrc/samtools/Makefile b/DWGSIMSrc/samtools/Makefile +index 37d5345..5143709 100644 +--- a/DWGSIMSrc/samtools/Makefile ++++ b/DWGSIMSrc/samtools/Makefile +@@ -19,7 +19,7 @@ PROG= samtools + INCLUDES= -I. + SUBDIRS= . bcftools misc + LIBPATH= +-LIBCURSES= -lcurses # -lXCurses ++LIBCURSES= -lncurses # -lXCurses + + + .SUFFIXES:.c .o +-- +2.43.0 + diff --git a/recipes/lrsim/0004-add-LDFLAGS.patch b/recipes/lrsim/0004-add-LDFLAGS.patch new file mode 100644 index 0000000000000..557fc7f2ce861 --- /dev/null +++ b/recipes/lrsim/0004-add-LDFLAGS.patch @@ -0,0 +1,29 @@ +From 3de5f1769e5fca938ef0479bf0f7a670ad737540 Mon Sep 17 00:00:00 2001 +From: Ilya Shlyakhter +Date: Thu, 30 Nov 2023 17:16:53 -0500 +Subject: [PATCH 4/4] add LDFLAGS + +--- + DWGSIMSrc/Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/DWGSIMSrc/Makefile b/DWGSIMSrc/Makefile +index bbb7047..3aea51f 100644 +--- a/DWGSIMSrc/Makefile ++++ b/DWGSIMSrc/Makefile +@@ -35,10 +35,10 @@ all:$(PROG) + .PHONY:all-recur lib-recur clean-recur cleanlocal-recur install-recur + + dwgsim:lib-recur $(DWGSIM_AOBJS) +- $(CC) $(CFLAGS) -o $@ $(DWGSIM_AOBJS) -lm -lz -lpthread ++ $(CC) $(CFLAGS) -o $@ $(DWGSIM_AOBJS) $(LDFLAGS) -lm -lz -lpthread + + dwgsim_eval:lib-recur $(DWGSIM_EVAL_AOBJS) +- $(CC) $(CFLAGS) -o $@ $(DWGSIM_EVAL_AOBJS) -Lsamtools -lm -lz -lpthread ++ $(CC) $(CFLAGS) -o $@ $(DWGSIM_EVAL_AOBJS) $(LDFLAGS) -Lsamtools -lm -lz -lpthread + + cleanlocal: + rm -vfr gmon.out *.o a.out *.exe *.dSYM razip bgzip $(PROG) *~ *.a *.so.* *.so *.dylib; \ +-- +2.43.0 + diff --git a/recipes/lrsim/0005-fix-perl-loc.patch b/recipes/lrsim/0005-fix-perl-loc.patch new file mode 100644 index 0000000000000..1450fafc8b8bb --- /dev/null +++ b/recipes/lrsim/0005-fix-perl-loc.patch @@ -0,0 +1,33 @@ +From ba85d6222226cc95ff0bbcc33d29806467e3d774 Mon Sep 17 00:00:00 2001 +From: Ilya Shlyakhter +Date: Thu, 30 Nov 2023 21:28:16 -0500 +Subject: [PATCH 5/5] fix perl loc + +--- + faFilter.pl | 2 +- + simulateLinkedReads.pl | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/faFilter.pl b/faFilter.pl +index d1faa2f..7c11208 100755 +--- a/faFilter.pl ++++ b/faFilter.pl +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl ++#!/usr/bin/env perl + + use strict; + use warnings; +diff --git a/simulateLinkedReads.pl b/simulateLinkedReads.pl +index 302748a..bb8a0c0 100755 +--- a/simulateLinkedReads.pl ++++ b/simulateLinkedReads.pl +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl ++#!/usr/bin/env perl + + # The MIT License (MIT) + # Copyright (c) 2016 Ruibang Luo +-- +2.43.0 + diff --git a/recipes/lrsim/build.sh b/recipes/lrsim/build.sh new file mode 100755 index 0000000000000..9d83fb7218ba2 --- /dev/null +++ b/recipes/lrsim/build.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +set -eux -o pipefail + +rm -f DWGSIMSrc/samtools/bcftools/*.[oa] +bash make.sh + +mkdir -p $PREFIX/share/lrsim +for LRSIM_PROG in simulateLinkedReads.pl dwgsim SURVIVOR msort extractReads samtools faFilter.pl +do + cp ${LRSIM_PROG} $PREFIX/share/lrsim/ + chmod u+x $PREFIX/share/lrsim/${LRSIM_PROG} +done +cp 4M-with-alts-february-2016.txt $PREFIX/share/lrsim/ +#cp simulateLinkedReads.pl_*.so $PREFIX/share/lrsim/ +#cp simulateLinkedReads.pl_*.inl $PREFIX/share/lrsim/ + +mkdir -p $PREFIX/share/lrsim/_Inline +export PERL_INLINE_DIRECTORY=$PREFIX/share/lrsim/_Inline + +mkdir -p $PREFIX/bin +echo "#! /usr/bin/env bash" >> $PREFIX/bin/lrsim +echo "set -eux -o pipefail" >> $PREFIX/bin/lrsim +echo "export PERL_INLINE_DIRECTORY=$PREFIX/share/lrsim/_Inline" +echo "perl $PREFIX/share/lrsim/simulateLinkedReads.pl \"\$@\"" >> $PREFIX/bin/lrsim +chmod +x $PREFIX/bin/lrsim + +cat $PREFIX/bin/lrsim +./lrsim || true + +# Run the test to ensure that perl-inline-c compile the C code +# snippets and stores the compiled results under $PREFIX/share/lrsim/_Inline +pushd test +bash -x test.sh +popd + +chmod -R u+w $PREFIX/share/lrsim/_Inline +bash -x clean.sh diff --git a/recipes/lrsim/meta.yaml b/recipes/lrsim/meta.yaml new file mode 100644 index 0000000000000..eb97739dad760 --- /dev/null +++ b/recipes/lrsim/meta.yaml @@ -0,0 +1,68 @@ +{% set name = "LRSIM" %} +{% set version = "1.0" %} +{% set sha256 = "89623fba2ce624da4e2c8ce8a99b1a46eb3bc03a8c38044c64f4b8a0d0d9721e" %} + +package: + name: {{ name | lower }} + version: {{ version }} + +source: + url: https://github.com/aquaskyline/{{ name }}/archive/refs/tags/{{ version }}.tar.gz + sha256: {{ sha256 }} + patches: + - 0002-use-CXX-and-CC.patch + - 0003-use-ncurses.patch + - 0004-add-LDFLAGS.patch + - 0005-fix-perl-loc.patch + +build: + number: 0 + skip: True # [not linux] + run_exports: + - {{ pin_subpackage(name | lower, max_pin="x") }} + +requirements: + build: + - make + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - autoconf + - automake + - perl + - perl-inline + - perl-inline-c + - perl-math-random + host: + - gsl + - htslib + - ncurses + - perl + - perl-inline + - perl-inline-c + - perl-math-random + - pthread-stubs + - zlib + run: + - perl + - perl-inline + - perl-inline-c + - perl-math-random + +test: + commands: + - "lrsim 2>&1 | grep 'Usage'" + - "lrsim 2>&1 | grep 'simulateLinkedReads.pl'" + +about: + home: https://github.com/aquaskyline/{{ name }} + license: MIT + license_file: LICENSE + summary: "Simulator for 10X Genomics Linked Reads" + +extra: + recipe-maintainers: + - notestaff + - aquaskyline + identifiers: + - doi:10.1016/j.csbj.2017.10.002 + - doi:10.5281/zenodo.808913 diff --git a/recipes/lrzip/build.sh b/recipes/lrzip/build.sh index 25ac29916073a..0f24b56c4d11b 100644 --- a/recipes/lrzip/build.sh +++ b/recipes/lrzip/build.sh @@ -1,9 +1,21 @@ #!/bin/bash -export CFLAGS="-O2 -march=native -fomit-frame-pointer -I$PREFIX/include $CFLAGS" -export CXXFLAGS="-O2 -march=native -fomit-frame-pointer -I$PREFIX/include $CXXFLAGS" +set -xe -./configure --prefix=$PREFIX -make +export CFLAGS="-O2 -fomit-frame-pointer -I$PREFIX/include $CFLAGS" +export CXXFLAGS="-O2 -fomit-frame-pointer -I$PREFIX/include $CXXFLAGS" + +case $(uname) in + Darwin) + CONFIGURE_FLAGS="--disable-asm" # see https://github.com/ckolivas/lrzip/pull/204#issuecomment-874298957 + ;; + *) + CONFIGURE_FLAGS="" + ;; +esac + +./autogen.sh +./configure --prefix=$PREFIX ${CONFIGURE_FLAGS} +make --jobs=${CPU_COUNT} make install diff --git a/recipes/lrzip/meta.yaml b/recipes/lrzip/meta.yaml index ff919ef1f0fc0..df073ed1df8c8 100644 --- a/recipes/lrzip/meta.yaml +++ b/recipes/lrzip/meta.yaml @@ -1,26 +1,37 @@ +{% set name = "lrzip" %} +{% set version = "0.651" %} + package: - name: lrzip - version: "0.621" + name: {{ name }} + version: {{ version }} source: - url: http://ck.kolivas.org/apps/lrzip/lrzip-0.621.tar.bz2 - md5: 53a12cc4d19aa030d0ab7f0a21db2cfe + url: http://ck.kolivas.org/apps/{{ name }}/{{ name }}-{{ version }}.tar.xz + sha256: 48bd8decb097c1596c9b3777959cd3e332819434ed77a2823e65aa436f1602f9 build: - number: 7 + number: 0 + skip: True # [osx] + run_exports: + - {{ pin_subpackage('lrzip', max_pin="x.x") }} requirements: build: + - autoconf + - automake + - libtool - make - {{ compiler('cxx') }} host: - zlib - bzip2 - lzo + - lz4-c run: - bzip2 - zlib - lzo + - lz4-c test: commands: @@ -29,6 +40,7 @@ test: about: home: https://github.com/ckolivas/lrzip license: GPLv2 + license_file: COPYING summary: Long Range ZIP or Lzma RZIP. This is a compression program optimised for large files. The larger the file and the more memory you have, the better the compression advantage this will @@ -36,3 +48,6 @@ about: be chosen to be either size (much smaller than bzip2) or speed (much faster than bzip2). +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/lsabgc/meta.yaml b/recipes/lsabgc/meta.yaml new file mode 100644 index 0000000000000..2f794a8713fad --- /dev/null +++ b/recipes/lsabgc/meta.yaml @@ -0,0 +1,65 @@ +{% set name = "lsabgc" %} +{% set version = "1.1.2" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/Kalan-Lab/lsaBGC-Pan/archive/refs/tags/v{{ version }}.tar.gz + sha256: 04eadeadd7887883d48112624dd23496c19e2a038605e29fb0102c79badab5f4 + +build: + number: 0 + noarch: python + script: "{{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv" + run_exports: + - {{ pin_subpackage("lsabgc", max_pin="x") }} + +requirements: + host: + - python + - setuptools + - pip + run: + - python >=3.10 + - r-base + - axel + - zol >=1.4.12 + - orthofinder =2.5.5 + - pyseer >=1.3 + - gecco =0.9.6 + - prodigal + - pyrodigal + - biopython + - tar + - pandas + - xlsxwriter >=3.0.3 + - scikit-learn + - numpy + - r-ggplot2 + - r-cowplot + - r-phytools + - r-ape + - r-dplyr + - r-gggenes + - bioconductor-ggtree + - r-data.table + - r-plyr + - r-gridextra + +test: + commands: + - lsaBGC-Pan -h + +about: + home: https://github.com/Kalan-Lab/lsaBGC-Pan + license: BSD-3-Clause license + license_file: LICENSE + license_family: BSD + summary: "lsaBGC-Pan - refined workflow for pan-BGC-omic evolutionary investigations." + dev_url: https://github.com/Kalan-Lab/lsaBGC-Pan + +extra: + recipe-maintainers: + - raufs diff --git a/recipes/ltr_finder_parallel/build.sh b/recipes/ltr_finder_parallel/build.sh new file mode 100644 index 0000000000000..5967719b8716f --- /dev/null +++ b/recipes/ltr_finder_parallel/build.sh @@ -0,0 +1,24 @@ +#!/bin/sh +set -x -e + +LTR_FINDER_PARALLEL_DIR=${PREFIX}/share/LTR_FINDER_parallel + +mkdir -p ${PREFIX}/bin +mkdir -p ${LTR_FINDER_PARALLEL_DIR} +cp -r * ${LTR_FINDER_PARALLEL_DIR} + +# LTR_FINDER_parallel creates the path to ltr_finder by using `which ltr_finder` +# `which ltr_finder` returns the path along with a newline character '\n'. +# To replace the newline character, LTR_FINDER_parallel matches regex 'ltr_finder\\n?' +# This regex logic fails in the case of this CONDA recipe because the path to +# ltr_finder includes ltr_finder_parallel which is replaced as _parallel, resulting in +# an invalid path. I have changed the regex so that ltr_finder_parallel is not replaced. +sed -i.bak 's|\$ltr_finder=~s/ltr_finder\\n?//;|\$ltr_finder=~s/\\bltr_finder\\n?\$//m;|' \ + ${LTR_FINDER_PARALLEL_DIR}/LTR_FINDER_parallel + +cat <>${PREFIX}/bin/LTR_FINDER_parallel +#!/bin/bash +perl ${LTR_FINDER_PARALLEL_DIR}/LTR_FINDER_parallel \$@ +END + +chmod a+x ${PREFIX}/bin/LTR_FINDER_parallel diff --git a/recipes/ltr_finder_parallel/meta.yaml b/recipes/ltr_finder_parallel/meta.yaml new file mode 100644 index 0000000000000..90c1ab418a74c --- /dev/null +++ b/recipes/ltr_finder_parallel/meta.yaml @@ -0,0 +1,39 @@ +{% set name = "LTR_FINDER_parallel" %} +{% set version = "1.1" %} +{% set sha256 = "5d1fed2a3a38c0927ccd7fc6cc38ba13ce293c5b1805299c999c5d52d085a1b9" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: https://github.com/oushujun/LTR_FINDER_parallel/archive/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 1 + noarch: generic + run_exports: + - {{ pin_subpackage('ltr_finder_parallel', max_pin='x') }} + +requirements: + run: + - ltr_finder + +test: + commands: + - ltr_finder 2>&1 | grep -i usage + - LTR_FINDER_parallel -check_dependencies > /dev/null + +about: + home: https://github.com/oushujun/LTR_FINDER_parallel + license: MIT + license_family: MIT + license_file: LICENSE + summary: Perl wrapper to parallelize ltr_finder + dev_url: https://github.com/oushujun/LTR_FINDER_parallel + doc_url: https://github.com/oushujun/LTR_FINDER_parallel + +extra: + identifiers: + - doi:10.1186/s13100-019-0193-0 diff --git a/recipes/ltr_harvest_parallel/build.sh b/recipes/ltr_harvest_parallel/build.sh new file mode 100644 index 0000000000000..ebadfe1bb70e0 --- /dev/null +++ b/recipes/ltr_harvest_parallel/build.sh @@ -0,0 +1,15 @@ +#!/bin/sh +set -x -e + +LTR_HARVEST_PARALLEL_DIR=${PREFIX}/share/LTR_HARVEST_parallel + +mkdir -p ${PREFIX}/bin +mkdir -p ${LTR_HARVEST_PARALLEL_DIR} +cp -r bin/LTR_HARVEST_parallel/* ${LTR_HARVEST_PARALLEL_DIR} + +cat <>${PREFIX}/bin/LTR_HARVEST_parallel +#!/bin/bash +perl ${LTR_HARVEST_PARALLEL_DIR}/LTR_HARVEST_parallel \$@ +END + +chmod a+x ${PREFIX}/bin/LTR_HARVEST_parallel diff --git a/recipes/ltr_harvest_parallel/meta.yaml b/recipes/ltr_harvest_parallel/meta.yaml new file mode 100644 index 0000000000000..31bb99212a8ba --- /dev/null +++ b/recipes/ltr_harvest_parallel/meta.yaml @@ -0,0 +1,41 @@ +{% set name = "LTR_HARVEST_parallel" %} +{% set version = "1.1" %} +{% set edta_version = "2.2.0" %} +{% set sha256 = "3515667804437f749f0bb934812ca83b23ec5472c221786f6e5a0d4b613a1a7a" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: https://github.com/oushujun/EDTA/archive/v{{ edta_version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 1 + noarch: generic + run_exports: + - {{ pin_subpackage('ltr_harvest_parallel', max_pin='x') }} + +requirements: + run: + - perl + - genometools-genometools + +test: + commands: + - LTR_HARVEST_parallel -check_dependencies > /dev/null + +about: + home: https://github.com/oushujun/EDTA/tree/8980f498f05ad63dbffa3241842d3d38e939531b/bin/LTR_HARVEST_parallel + license: MIT + license_family: MIT + license_file: LICENSE + summary: Perl wrapper for parallel execution of LTR_harvest + dev_url: https://github.com/oushujun/EDTA/tree/8980f498f05ad63dbffa3241842d3d38e939531b/bin/LTR_HARVEST_parallel + doc_url: https://github.com/oushujun/EDTA/tree/8980f498f05ad63dbffa3241842d3d38e939531b/bin/LTR_HARVEST_parallel + +extra: + identifiers: + - doi:10.1186/s13059-019-1905-y + - doi:10.1101/2022.10.09.511471 diff --git a/recipes/ltr_retriever/meta.yaml b/recipes/ltr_retriever/meta.yaml index 64ee4402ab215..a2e668b82c87b 100644 --- a/recipes/ltr_retriever/meta.yaml +++ b/recipes/ltr_retriever/meta.yaml @@ -1,6 +1,6 @@ {% set name = "LTR_retriever" %} -{% set version = "2.9.5" %} -{% set sha256 = "f50812e6342a1d427a69e11e7ccbf21d7d72acf52c373fbd4ffdbe8a96dd62b7" %} +{% set version = "3.0.1" %} +{% set sha256 = "a3ca3bd8d81f3a8260e1386d03bd7f8a7aa42882f92ccbaa1a4fb1d8120658a8" %} package: name: "{{ name|lower }}" @@ -13,21 +13,17 @@ source: build: number: 0 noarch: generic + run_exports: + - {{ pin_subpackage('ltr_retriever', max_pin="x") }} -channels: - - bioconda - - anaconda - - conda-forge - - defaults - requirements: run: - perl-text-soundex - perl - cd-hit - repeatmasker <4.1.5 - - rmblast <2.11 - - libstdcxx-ng <13 + - rmblast + - libstdcxx-ng - tesorter test: @@ -36,8 +32,13 @@ test: about: home: https://github.com/oushujun/LTR_retriever - license: GPLv3 - license_family: GPL + license: GPL-3.0-or-later + license_family: GPL3 license_file: LICENSE summary: Sensitive and accurate identification of LTR retrotransposons dev_url: https://github.com/oushujun/LTR_retriever + +extra: + identifiers: + - doi:10.1104/pp.17.01310 + - biotools:ltr_retriever diff --git a/recipes/lumpy-sv-minimal/meta.yaml b/recipes/lumpy-sv-minimal/meta.yaml index 7ac66f1cb25c5..e70146c118590 100644 --- a/recipes/lumpy-sv-minimal/meta.yaml +++ b/recipes/lumpy-sv-minimal/meta.yaml @@ -12,7 +12,7 @@ source: - const.patch build: - number: 3 + number: 4 # The packaged bamtools has issues with compilation on OSX skip: True # [osx] diff --git a/recipes/lusstr/meta.yaml b/recipes/lusstr/meta.yaml index a0440cbca5b25..ae7c92a256713 100644 --- a/recipes/lusstr/meta.yaml +++ b/recipes/lusstr/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.7" %} -{% set sha256 = "3a889c33b8c4e39511d761786e1c40842c8732db72e3e6477bca0d77414fca9b" %} +{% set version = "0.10" %} +{% set sha256 = "cd4006c8a54249feefb44d26799557d029a8e10f262bad887de11491cf572844" %} package: name: lusstr @@ -13,7 +13,7 @@ build: noarch: python entry_points: - lusstr = lusSTR.cli:main - script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation . -vvv + script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation --no-cache-dir . -vvv number: 0 run_exports: - {{ pin_subpackage('lusstr', max_pin="x.x") }} @@ -27,9 +27,12 @@ requirements: - pandas >=1.0,<2.0 - xlrd >=1.0,<2.0 - openpyxl >=3.0.6 - - snakemake-minimal >=7.22.0 + - snakemake-minimal >=7.22.0,<8.0 - pyyaml >=6.0 - matplotlib-base >=3.5.3 + - numpy ==1.26.4 + - streamlit >=1.31.0 + - streamlit_option_menu >=0.3.13 test: imports: diff --git a/recipes/lz-ani/meta.yaml b/recipes/lz-ani/meta.yaml new file mode 100644 index 0000000000000..adbcd793326c1 --- /dev/null +++ b/recipes/lz-ani/meta.yaml @@ -0,0 +1,46 @@ +{% set version = "1.2.0" %} + +{% set system = "x64_linux" %} # [linux and x86_64] +{% set system = "x64_mac" %} # [osx and x86_64] +{% set system = "arm64_linux" %} # [linux and aarch64] +{% set system = "arm64_mac" %} # [osx and arm64] + +{% set sha256 = "2d07cf3d06a5b9bc992858f699ef9a0d9a4d12473248e0080e6806ea8e734862" %} # [linux and x86_64] +{% set sha256 = "f6b5a0fe00688181e0486621942bc0adc58454e90c2f40c12e5ec874c7b4051a" %} # [osx and x86_64] +{% set sha256 = "e25fddd286778d0a9da3914858613406a3f5436d4a4a3306f613ea1cd07ad96b" %} # [linux and aarch64] +{% set sha256 = "fe27390f36e1c0719d0774bebd47ec96374f46f04b3bde8ae5be96b698c5a0dc" %} # [osx and arm64] +package: + name: lz-ani + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage('lz-ani', max_pin='x') }} + script: | + mkdir -p "${PREFIX}/bin" + cp -v lz-ani "${PREFIX}/bin/" || { echo "Error: Failed to copy lz-ani binary"; exit 1; } + +source: + url: https://github.com/refresh-bio/lz-ani/releases/download/v{{ version }}/lz-ani-v{{ version }}-{{ system }}.tar.gz + sha256: {{ sha256 }} + + +about: + home: https://github.com/refresh-bio/lz-ani + summary: "Fast and accurate tool for calculating Average Nucleotide Identity (ANI) among virus and bacteria genomes" + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE + +test: + commands: + - lz-ani > /dev/null + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + skip-lints: + - should_be_noarch_generic + - should_not_be_noarch_source \ No newline at end of file diff --git a/recipes/maaslin2/build.sh b/recipes/maaslin2/build.sh deleted file mode 100644 index 8e52142966bad..0000000000000 --- a/recipes/maaslin2/build.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -# R refuses to build packages that mark themselves as Priority: Recommended -mv DESCRIPTION DESCRIPTION.old -grep -v '^Priority: ' DESCRIPTION.old > DESCRIPTION - -$R CMD INSTALL --build . - -# copy additional scripts -chmod +x R/*.R -cp R/*.R ${PREFIX}/bin/ diff --git a/recipes/maaslin2/meta.yaml b/recipes/maaslin2/meta.yaml deleted file mode 100644 index 08fb4ed966786..0000000000000 --- a/recipes/maaslin2/meta.yaml +++ /dev/null @@ -1,77 +0,0 @@ -{% set name = "MaAsLin2" %} -{% set version = "0.99.12" %} -{% set sha256 = "694b79550c59ad1d872bc89d68e516b0682ba5ce4a5fdc9dfe3b29a9e7524849" %} - -package: - name: {{ name|lower }} - version: {{ version }} - -source: - url: https://bitbucket.org/biobakery/maaslin2/get/0.99.12.tar.gz - sha256: {{ sha256 }} - patches: - - rpath.patch - -build: - number: 1 - noarch: generic - # This is required to make R link correctly on Linux. - rpaths: - - lib/R/lib/ - - lib/ - -requirements: - host: - - r-base - - bioconductor-edger - - bioconductor-metagenomeseq - - r-lmertest - - r-pscl - - r-pbapply - - r-car - - r-dplyr - - r-vegan - - r-chemometrics - - r-ggplot2 - - r-pheatmap - - r-logging - - r-data.table - - r-mass - - r-mumin - - r-optparse - - r-hash - - r-cplm - run: - - r-base - - bioconductor-edger - - bioconductor-metagenomeseq - - r-lmertest - - r-pscl - - r-pbapply - - r-car - - r-dplyr - - r-vegan - - r-chemometrics - - r-ggplot2 - - r-pheatmap - - r-logging - - r-data.table - - r-mass - - r-mumin - - r-optparse - - r-hash - - r-cplm - -test: - commands: - - $R -e "library('Maaslin2')" - - Maaslin2.R --help - -about: - home: http://huttenhower.sph.harvard.edu/maaslin2 - license: Custom OSS - summary: "MaAsLin2 is comprehensive R package for efficiently determining multivariable association between microbial meta'omic features and clinical metadata." - -extra: - maintainers: - - npavlovikj diff --git a/recipes/maast/meta.yaml b/recipes/maast/meta.yaml index 180d02ae93ab5..e031ece0da1ce 100644 --- a/recipes/maast/meta.yaml +++ b/recipes/maast/meta.yaml @@ -13,7 +13,7 @@ source: - maast.patch build: - number: 0 + number: 1 requirements: build: diff --git a/recipes/machina/build_failure.linux-64.yaml b/recipes/machina/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..8e4d928bd8ad5 --- /dev/null +++ b/recipes/machina/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 889092094855133eea8ba23144bd57399a705c5c2186231c37ba9fe51ec49e8e # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + cairo: 1.18.0-h3faef2a_0 conda-forge + coin-or-cbc: 2.10.10-h9002f0b_0 conda-forge + coin-or-cgl: 0.60.7-h516709c_0 conda-forge + coin-or-clp: 1.17.8-h1ee7a9c_0 conda-forge + coin-or-osi: 0.108.10-haf5fa05_0 conda-forge + coin-or-utils: 2.11.11-hee58242_0 conda-forge + coincbc: 2.10.10-0_metapackage conda-forge + expat: 2.6.2-h59595ed_0 conda-forge + font-ttf-dejavu-sans-mono: 2.37-hab24e00_0 conda-forge + font-ttf-inconsolata: 3.000-h77eed37_0 conda-forge + font-ttf-source-code-pro: 2.038-h77eed37_0 conda-forge + font-ttf-ubuntu: 0.83-h77eed37_2 conda-forge + fontconfig: 2.14.2-h14ed4e7_0 conda-forge + fonts-conda-ecosystem: 1-0 conda-forge + fonts-conda-forge: 1-0 conda-forge + freetype: 2.12.1-h267a509_2 conda-forge + fribidi: 1.0.10-h36c2ea0_0 conda-forge + gdk-pixbuf: 2.42.12-hb9ae30d_0 conda-forge + giflib: 5.2.2-hd590300_0 conda-forge + glpk: 5.0-h445213a_0 conda-forge + gmp: 6.3.0-h59595ed_1 conda-forge + graphite2: 1.3.13-h59595ed_1003 conda-forge + graphviz: 9.0.0-h78e8752_1 conda-forge + gtk2: 2.24.33-h280cfa0_4 conda-forge + gts: 0.7.6-h977cf35_4 conda-forge + harfbuzz: 8.5.0-hfac3d4d_0 conda-forge + icu: 73.2-h59595ed_0 conda-forge + lemon: 1.3.1-h6169397_8 conda-forge + lerc: 4.0.0-h27087fc_0 conda-forge + libblas: 3.9.0-22_linux64_openblas conda-forge + libboost: 1.85.0-hba137d9_1 conda-forge + libboost-devel: 1.85.0-h00ab1b0_1 conda-forge + libboost-headers: 1.85.0-ha770c72_1 conda-forge + libcblas: 3.9.0-22_linux64_openblas conda-forge + libdeflate: 1.20-hd590300_0 conda-forge + libexpat: 2.6.2-h59595ed_0 conda-forge + libffi: 3.4.2-h7f98852_5 conda-forge + libgcc-ng: 13.2.0-h77fa898_7 conda-forge + libgd: 2.3.3-h119a65a_9 conda-forge + libgfortran-ng: 13.2.0-h69a702a_7 conda-forge + libgfortran5: 13.2.0-hca663fb_7 conda-forge + libglib: 2.80.2-hf974151_0 conda-forge + libgomp: 13.2.0-h77fa898_7 conda-forge + libiconv: 1.17-hd590300_2 conda-forge + libjpeg-turbo: 3.0.0-hd590300_1 conda-forge + liblapack: 3.9.0-22_linux64_openblas conda-forge + liblapacke: 3.9.0-22_linux64_openblas conda-forge + libopenblas: 0.3.27-pthreads_h413a1c8_0 conda-forge + libpng: 1.6.43-h2797004_0 conda-forge + librsvg: 2.58.0-hadf69e7_1 conda-forge + libstdcxx-ng: 13.2.0-hc0a3c3a_7 conda-forge + libtiff: 4.6.0-h1dd3fc0_3 conda-forge + libuuid: 2.38.1-h0b41bf4_0 conda-forge + libwebp: 1.4.0-h2c329e2_0 conda-forge + libwebp-base: 1.4.0-hd590300_0 conda-forge + libxcb: 1.15-h0b41bf4_0 conda-forge + libxml2: 2.12.7-hc051c1a_0 conda-forge + libzlib: 1.3.1-h4ab18f5_1 conda-forge + machina: 1.2-hdcf5f25_8 local + ncurses: 6.5-h59595ed_0 conda-forge + pango: 1.52.2-ha41ecd1_0 conda-forge + pcre2: 10.43-hcad00b1_0 conda-forge + pixman: 0.43.2-h59595ed_0 conda-forge + pthread-stubs: 0.4-h36c2ea0_1001 conda-forge + readline: 8.2-h8228510_1 conda-forge + xorg-kbproto: 1.0.7-h7f98852_1002 conda-forge + xorg-libice: 1.1.1-hd590300_0 conda-forge + xorg-libsm: 1.2.4-h7391055_0 conda-forge + xorg-libx11: 1.8.9-h8ee46fc_0 conda-forge + xorg-libxau: 1.0.11-hd590300_0 conda-forge + xorg-libxdmcp: 1.1.3-h7f98852_0 conda-forge + xorg-libxext: 1.3.4-h0b41bf4_2 conda-forge + xorg-libxrender: 0.9.11-hd590300_0 conda-forge + xorg-renderproto: 0.11.1-h7f98852_1002 conda-forge + xorg-xextproto: 7.3.0-h0b41bf4_1003 conda-forge + xorg-xproto: 7.0.31-h7f98852_1007 conda-forge + xz: 5.2.6-h166bdaf_0 conda-forge + zlib: 1.3.1-h4ab18f5_1 conda-forge + zstd: 1.5.6-ha6fb4c9_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... + SafetyError: The package for graphviz located at /opt/conda/pkgs/graphviz-9.0.0-h78e8752_1 + appears to be corrupted. The path 'bin/cluster' + has an incorrect size. + reported size: 391528 bytes + actual size: 383288 bytes + + + done + Executing transaction: ...working... + + done + export PREFIX=/opt/conda/conda-bld/machina_1717536167834/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_ + export SRC_DIR=/opt/conda/conda-bld/machina_1717536167834/test_tmp + /opt/conda/conda-bld/machina_1717536167834/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/bin/cluster --help + /opt/conda/conda-bld/machina_1717536167834/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/bin/cluster: error while loading shared libraries: libemon.so.1.3.1: cannot open shared object file: No such file or directory + [[ 127 == 1 ]] + WARNING: Tests failed for machina-1.2-hdcf5f25_8.tar.bz2 - moving package to /opt/conda/conda-bld/broken + TESTS FAILED: machina-1.2-hdcf5f25_8.tar.bz2 +# Last 100 lines of the build log. diff --git a/recipes/machina/build_failure.osx-64.yaml b/recipes/machina/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..2d44caba4f3c6 --- /dev/null +++ b/recipes/machina/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 889092094855133eea8ba23144bd57399a705c5c2186231c37ba9fe51ec49e8e # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + Warning: Unrecognized source format. Source file will be copied to the SRC_DIR + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/machina_1717517005334/work + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/machina_1717517005334/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/machina_1717517005334/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/machina_1717517005334/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + CC=x86_64-apple-darwin13.4.0-clang + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/machina-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/machina_1717517005334/work/conda_build.sh']' returned non-zero exit status 2. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/machina-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/machina-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/machina-1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + installer: Package name is Gurobi Optimizer + installer: Installing at base path / + installer: The install was successful. + -- The C compiler identification is Clang 16.0.6 + -- The CXX compiler identification is Clang 16.0.6 + -- Detecting C compiler ABI info + -- Detecting C compiler ABI info - done + -- Check for working C compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting C compile features + -- Detecting C compile features - done + -- Detecting CXX compiler ABI info + -- Detecting CXX compiler ABI info - done + -- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting CXX compile features + -- Detecting CXX compile features - done + -- Found Boost: $PREFIX/lib/cmake/Boost-1.85.0/BoostConfig.cmake (found version "1.85.0") found components: thread system filesystem + -- Configuring done (3.4s) + -- Generating done (0.1s) + -- Build files have been written to: $SRC_DIR/build + [ 1%] Building CXX object CMakeFiles/pmh_sankoff.dir/src/basetree.cpp.o + [ 2%] Building CXX object CMakeFiles/pmh_sankoff.dir/src/utils.cpp.o + [ 2%] Building CXX object CMakeFiles/pmh_sankoff.dir/src/mpbase.cpp.o + [ 3%] Building CXX object CMakeFiles/pmh_sankoff.dir/src/sankoff.cpp.o + [ 3%] Building CXX object CMakeFiles/pmh_sankoff.dir/src/charactertree.cpp.o + [ 4%] Building CXX object CMakeFiles/pmh_sankoff.dir/src/pmh_sankoff.cpp.o + [ 4%] Building CXX object CMakeFiles/pmh_sankoff.dir/src/clonetree.cpp.o + [ 5%] Building CXX object CMakeFiles/pmh_sankoff.dir/src/sankofflabeling.cpp.o + [ 5%] Building CXX object CMakeFiles/pmh_sankoff.dir/src/migrationgraph.cpp.o + [ 7%] Linking CXX executable pmh_sankoff + [ 7%] Built target pmh_sankoff + [ 7%] Building CXX object CMakeFiles/pmh.dir/src/pmh.cpp.o +# Last 100 lines of the build log. diff --git a/recipes/machina/meta.yaml b/recipes/machina/meta.yaml index 1bef3c346bc74..48726cde7007c 100644 --- a/recipes/machina/meta.yaml +++ b/recipes/machina/meta.yaml @@ -17,7 +17,7 @@ source: sha256: 1d58586f9a33ac7035f51f6a04707248218f70bddbec78cb83f11c986ac652cd # [osx] build: - number: 7 + number: 8 requirements: build: diff --git a/recipes/macrel/meta.yaml b/recipes/macrel/meta.yaml index af7a36f07f3a7..7df1b4dc7941c 100644 --- a/recipes/macrel/meta.yaml +++ b/recipes/macrel/meta.yaml @@ -1,6 +1,6 @@ {% set name = "macrel" %} -{% set version = "1.2.0" %} -{% set sha256 = "7d506748a68c163478426c0fa8183b1fec4c31acf47a1cddf677104aca029cd8" %} +{% set version = "1.5.0" %} +{% set sha256 = "d2a4e3ba756af530f0fb66e95530a6e29c0c4074c40c7e55246dec0fc68c5296" %} package: name: {{ name }} @@ -12,7 +12,7 @@ source: build: noarch: python - number: 1 + number: 0 entry_points: - macrel= macrel.main:main script: python -m pip install --disable-pip-version-check --no-cache-dir --ignore-installed --no-deps -vv . @@ -21,10 +21,10 @@ build: requirements: host: - - python <3.11 + - python - pip run: - - python <3.11 + - python - atomicwrites - ngless - megahit @@ -33,7 +33,7 @@ requirements: - scikit-learn <1.3.0 - joblib <1.3.0 - tzlocal - - pyrodigal >=0.7.3,<3.0.0 + - pyrodigal >=0.7.3 test: imports: diff --git a/recipes/macs2/meta.yaml b/recipes/macs2/meta.yaml index 245d57eba79ad..3f6bf8c66c9dc 100644 --- a/recipes/macs2/meta.yaml +++ b/recipes/macs2/meta.yaml @@ -11,9 +11,11 @@ source: sha256: {{ sha256 }} build: - number: 0 - skip: True # [py < 37] + number: 1 script: {{ PYTHON }} -m pip install . --use-pep517 --no-deps --no-cache-dir -vvv + skip: True # [py == 312] + run_exports: + - {{ pin_subpackage('macs2', max_pin="x") }} requirements: build: diff --git a/recipes/macs3/meta.yaml b/recipes/macs3/meta.yaml new file mode 100644 index 0000000000000..7fcee4f154187 --- /dev/null +++ b/recipes/macs3/meta.yaml @@ -0,0 +1,72 @@ +{% set name = "MACS3" %} +{% set version = "3.0.2" %} +{% set sha256 = "1605d11dc2470516c070deab4e32b60e6d06e02d1be93d1e4c40981a404b8f40" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.org/packages/source/{{ name[0] }}/{{ name }}/macs3-{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 1 + skip: True # [py < 39] + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + run_exports: + - {{ pin_subpackage('macs3', max_pin="x") }} + +requirements: + build: + - {{ compiler('c') }} + host: + - python + - zlib + - pip + - numpy >=1.25 + - scipy >=1.12 + - cython >=3.0 + - hmmlearn >=0.3.2 + - scikit-learn >=1.3 + - cykhash >=2.0,<3.0 + run: + - python + - numpy >=1.25 + - scipy >=1.12 + - hmmlearn >=0.3.2 + - scikit-learn >=1.3 + - cykhash >=2.0,<3.0 + +test: + imports: + - MACS3 + commands: + - macs3 -h + +about: + dev_url: "https://github.com/macs3-project/MACS" + doc_url: "https://macs3-project.github.io/MACS" + home: "https://github.com/macs3-project/MACS" + license: BSD-3-Clause + license_family: BSD + license_file: LICENSE + summary: "Model Based Analysis for ChIP-Seq data." + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + identifiers: + - biotools:macs + - doi:10.1186/gb-2008-9-9-r137 + - usegalaxy-eu:peakcalling_macs + - usegalaxy-eu:macs2_bdgbroadcall + - usegalaxy-eu:macs2_bdgcmp + - usegalaxy-eu:macs2_bdgdiff + - usegalaxy-eu:macs2_bdgpeakcall + - usegalaxy-eu:macs2_callpeak + - usegalaxy-eu:macs2_filterdup + - usegalaxy-eu:macs2_predictd + - usegalaxy-eu:macs2_randsample + - usegalaxy-eu:macs2_refinepeak diff --git a/recipes/macsyfinder/meta.yaml b/recipes/macsyfinder/meta.yaml index aeb97eaa783a9..e8304f673014b 100644 --- a/recipes/macsyfinder/meta.yaml +++ b/recipes/macsyfinder/meta.yaml @@ -1,5 +1,5 @@ -{% set name = "MacSyFinder" %} -{% set version = "2.1.2" %} +{% set name = "macsyfinder" %} +{% set version = "2.1.4" %} package: name: "{{ name|lower }}" @@ -7,27 +7,38 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 19369dc15bdf08aac90c8e0bf8dfc51ffa409105738fa9c55131403435fde7c0 + sha256: 93af563a81cc33f7593fa145bb9def76d51e3ef500a073531685d642f77da1a5 build: noarch: python number: 0 - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + entry_points: + - macsyfinder=macsypy.scripts.macsyfinder:main + - macsydata=macsypy.scripts.macsydata:main + - macsyprofile=macsypy.scripts.macsyprofile:main + - macsyconfig=macsypy.scripts.macsyconfig:main + - macsysplit=macsypy.scripts.macsy_gembase_split:main + - macsymerge=macsypy.scripts.macsy_merge_results:main + run_exports: + - {{ pin_subpackage('macsyfinder', max_pin="x") }} requirements: host: - pip - - python + - python >=3.10 run: - - python + - python >=3.10 - colorlog - PyYAML >=5.1.1 - packaging >=18.0 - networkx >=2.4 - - pandas >=1.1.5,<=1.4.3 + - pandas >=1.1.5,<=1.5.1 - colorama >=0.4.4 - certifi - hmmer >=3.1b2,<=3.3.2 + - git >1.7.0 + - gitpython >=3.1.30 test: commands: @@ -47,5 +58,4 @@ extra: - bneron identifiers: - biotools:macsyfinder - - doi:10.1371/journal/pone.0110726 - + - doi:10.24072/pcjournal.250 diff --git a/recipes/maegatk/meta.yaml b/recipes/maegatk/meta.yaml new file mode 100644 index 0000000000000..f0101130ca332 --- /dev/null +++ b/recipes/maegatk/meta.yaml @@ -0,0 +1,68 @@ +{% set name = "maegatk" %} +{% set version = "0.2.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/maegatk-{{ version }}.tar.gz + sha256: fce1ec287914e03ce2b317a4f6a338f1806cd82e5c77f4e4cb1efbd48c87bdda + +build: + number: 2 + noarch: python + entry_points: + - maegatk = maegatk.cli:main + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + run_exports: + - {{ pin_subpackage('maegatk', max_pin="x.x") }} + +requirements: + host: + - python >=3 + - pip + run: + - python >=3 + - click + - pysam + - pytest + - snakemake-minimal <8 + - pulp <2.8 + - biopython + - optparse-pretty + - regex + - ruamel.yaml 0.16.12 + - openjdk + - fgbio-minimal + - bwa + - samtools + - freebayes + - r-base + - r-dplyr + - r-data.table + - r-matrix + - bioconductor-genomicranges + - bioconductor-summarizedexperiment + +test: + imports: + - maegatk + commands: + - maegatk --help + +about: + home: "https://github.com/caleblareau/maegatk" + summary: "Mitochondrial Alteration Enrichment and Genome Analysis Toolkit." + license: MIT + license_family: MIT + license_file: LICENSE.txt + description: Processing and quality control of mitochondrial genome variants from MAESTER data. + dev_url: "https://github.com/caleblareau/maegatk" + doc_url: "https://github.com/caleblareau/maegatk/wiki" + +extra: + recipe-maintainers: + - mencian + identifiers: + - doi:10.1038/s41587-022-01210-8 diff --git a/recipes/mafft/7.310/build.sh b/recipes/mafft/7.310/build.sh deleted file mode 100644 index 4b6aa5d8f2884..0000000000000 --- a/recipes/mafft/7.310/build.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -# cd to location of Makefile and source -cd $SRC_DIR/core - -export PRFX=$PREFIX -make CC="${CC} -fcommon" CXX="${CXX} -fcommon" -make install diff --git a/recipes/mafft/7.310/linux-makefile.patch b/recipes/mafft/7.310/linux-makefile.patch deleted file mode 100644 index 214b12eabf75d..0000000000000 --- a/recipes/mafft/7.310/linux-makefile.patch +++ /dev/null @@ -1,8 +0,0 @@ ---- core/Makefile 2015-10-19 11:46:17.000000000 -0400 -+++ core/linux-makefile 2015-10-19 12:06:49.000000000 -0400 -@@ -1,4 +1,4 @@ --PREFIX = /usr/local -+PREFIX = $(PRFX) - LIBDIR = $(PREFIX)/libexec/mafft - BINDIR = $(PREFIX)/bin - MANDIR = $(PREFIX)/share/man/man1 diff --git a/recipes/mafft/7.310/meta.yaml b/recipes/mafft/7.310/meta.yaml deleted file mode 100644 index 88bd286f36a22..0000000000000 --- a/recipes/mafft/7.310/meta.yaml +++ /dev/null @@ -1,33 +0,0 @@ -package: - name: mafft - version: '7.310' - -source: - md5: fcb68a47d4506b93bb8463ff29b3cbc4 - url: http://mafft.cbrc.jp/alignment/software/mafft-7.310-without-extensions-src.tgz - patches: - - osx-makefile.patch # [osx] - - linux-makefile.patch # [linux] - -build: - number: 7 - skip: True # [osx] - -requirements: - build: - - make - - {{ compiler('c') }} - - {{ compiler('cxx') }} - -test: - commands: - - mafft --version - -about: - home: 'http://mafft.cbrc.jp/alignment/software/' - license: BSD - summary: Multiple alignment program for amino acid or nucleotide sequences based on fast Fourier transform - -extra: - skip-lints: - - should_not_be_noarch_source diff --git a/recipes/mafft/7.310/osx-makefile.patch b/recipes/mafft/7.310/osx-makefile.patch deleted file mode 100644 index 65ef81f93161d..0000000000000 --- a/recipes/mafft/7.310/osx-makefile.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- core/Makefile 2015-10-19 11:46:17.000000000 -0400 -+++ core/osx-makefile 2015-10-19 12:06:49.000000000 -0400 -@@ -1,4 +1,4 @@ --PREFIX = /usr/local -+PREFIX = $(PRFX) - LIBDIR = $(PREFIX)/libexec/mafft - BINDIR = $(PREFIX)/bin - MANDIR = $(PREFIX)/share/man/man1 -@@ -6,7 +6,7 @@ - - #MNO_CYGWIN = -mno-cygwin - --ENABLE_MULTITHREAD = -Denablemultithread -+#ENABLE_MULTITHREAD = -Denablemultithread - # Comment out the above line if your compiler - # does not support TLS (thread-local strage). - diff --git a/recipes/mafft/build.sh b/recipes/mafft/build.sh deleted file mode 100644 index 918d2ffe0c2db..0000000000000 --- a/recipes/mafft/build.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -# cd to location of Makefile and source -cd $SRC_DIR/core - -make CC="$CC" CFLAGS="$CFLAGS" PREFIX="$PREFIX" DASH_CLIENT="dash_client" -make install PREFIX="$PREFIX" DASH_CLIENT="dash_client" diff --git a/recipes/mafft/meta.yaml b/recipes/mafft/meta.yaml deleted file mode 100644 index 132c40b37520a..0000000000000 --- a/recipes/mafft/meta.yaml +++ /dev/null @@ -1,38 +0,0 @@ -{% set name = "mafft" %} -{% set version = "7.520" %} - -package: - name: {{ name|lower }} - version: {{ version }} - -source: -# url: https://mafft.cbrc.jp/alignment/software/mafft-{{ version }}-without-extensions-src.tgz - url: https://gitlab.com/sysimm/mafft/-/archive/v{{ version }}/mafft-v{{ version }}.zip - sha256: "986042f7eb9d5aba237b7b9701974e20b6952cb7d585c66fd979137ed4a34c9b" - -build: - number: 3 - run_exports: - - {{ pin_subpackage(name, max_pin="x") }} - -requirements: - build: - - make - - {{ compiler('c') }} - - {{ compiler('go-cgo') }} - run: - - gawk - -test: - commands: - - mafft --version - -about: - home: 'http://mafft.cbrc.jp/alignment/software/' - license: BSD - summary: Multiple alignment program for amino acid or nucleotide sequences based on fast Fourier transform - -extra: - identifiers: - - doi:10.1093/nar/gkf436 - - usegalaxy-eu:rbc_mafft diff --git a/recipes/mageck/meta.yaml b/recipes/mageck/meta.yaml index 9ed1fab66174c..9ec3288ccc08a 100644 --- a/recipes/mageck/meta.yaml +++ b/recipes/mageck/meta.yaml @@ -7,7 +7,9 @@ source: sha256: b06a18036da63959cd7751911a46727aefe2fb1d8dd79d95043c3e3bdaf1d93a build: - number: 3 + number: 5 + run_exports: + - {{ pin_subpackage('mageck', max_pin="x.x") }} requirements: build: @@ -32,3 +34,7 @@ about: home: http://mageck.sourceforge.net license: BSD License summary: MAGeCK (Model-based Analysis of Genome-wide CRISPR-Cas9 Knockout), an algorithm to process, QC, analyze and visualize CRISPR screening data. + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/magic-impute/LICENSE b/recipes/magic-impute/LICENSE new file mode 100644 index 0000000000000..23cb790338e19 --- /dev/null +++ b/recipes/magic-impute/LICENSE @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {description} + Copyright (C) {year} {fullname} + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + {signature of Ty Coon}, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/recipes/magic-impute/meta.yaml b/recipes/magic-impute/meta.yaml new file mode 100644 index 0000000000000..af8166a8e5aaa --- /dev/null +++ b/recipes/magic-impute/meta.yaml @@ -0,0 +1,47 @@ +{% set name = "magic-impute" %} +{% set version = "3.0.0" %} +{% set sha256 = "0c3f6d17baf586c412c174709a19164f04e693fd1933a8c0399ae5c5bf1cfd7a" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/magic-impute-{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + script: {{ PYTHON }} -m pip install . --no-deps -vvv + run_exports: + - {{ pin_subpackage('magic-impute', max_pin="x.x") }} + noarch: python + +requirements: + host: + - python + - pip + run: + - python + - matplotlib-base + - pandas + - numpy + - scprep + - graphtools + +test: + imports: + - magic + +about: + home: https://github.com/KrishnaswamyLab/MAGIC + summary: "Markov Affinity-based Graph Imputation of Cells" + license: GPL-2.0 + license_family: GPL + license_file: LICENSE + doc_url: https://magic.readthedocs.io/en/stable/ + dev_url: https://github.com/KrishnaswamyLab/MAGIC + +extra: + identifiers: + - doi:10.1016/j.cell.2018.05.061 diff --git a/recipes/magus-msa/meta.yaml b/recipes/magus-msa/meta.yaml index 1693c9e79db90..cde6aeeb6ad37 100644 --- a/recipes/magus-msa/meta.yaml +++ b/recipes/magus-msa/meta.yaml @@ -1,33 +1,28 @@ {% set name = "magus-msa" %} -{% set version = "0.1.2" %} -{% set sha256 = "9ee1156921dba68b55d6d737aab75e68f6f3b29d76ce31a9a30cb3dcb69b2eb8" %} +{% set version = "0.2.0" %} +{% set sha256 = "4152ab0d5cedfe0691dc1a3fce2cd38e3549bcd0883227a346cc47f093570141" %} package: name: {{ name }} version: {{ version }} source: - # url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz url: https://github.com/vlasmirnov/MAGUS/archive/refs/tags/v{{ version }}.tar.gz sha256: {{ sha256 }} build: noarch: python number: 0 - script: python -m pip install --no-deps --ignore-installed . + script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation --no-cache-dir . -vvv + entry_points: + - magus = magus.main:main run_exports: - - {{ pin_subpackage('magus-msa', max_pin="x") }} + - {{ pin_subpackage('magus-msa', max_pin="x.x") }} requirements: host: - python >=3.6 - pip - - setuptools - - mafft - - mcl - - fasttree - - clustalo - - hmmer run: - python >=3.6 - dendropy >=4.5.2 @@ -39,22 +34,30 @@ requirements: test: imports: - - magus_align - - magus_align.decompose - - magus_align.merge - - magus_align.merge.graph_build - - magus_align.merge.graph_cluster - - magus_align.merge.graph_trace - - magus_helpers - - magus_tasks - - magus_tools + - magus + - magus.align + - magus.align.decompose + - magus.align.merge + - magus.align.merge.graph_build + - magus.align.merge.graph_cluster + - magus.align.merge.graph_trace + - magus.helpers + - magus.tasks + - magus.tools commands: - magus --help about: home: "https://github.com/vlasmirnov/MAGUS" license: MIT + license_family: MIT + license_file: LICENSE.txt summary: "Multiple Sequence Alignment using Graph Clustering" doc_url: "https://github.com/vlasmirnov/MAGUS/blob/master/README.md" dev_url: "https://github.com/vlasmirnov/MAGUS" + +extra: + identifiers: + - biotools:magus + - doi:10.1093/bioinformatics/btaa992 diff --git a/recipes/malt/build.sh b/recipes/malt/build.sh index 49b33d38c0310..61ca8fc5e25e0 100755 --- a/recipes/malt/build.sh +++ b/recipes/malt/build.sh @@ -1,9 +1,9 @@ #!/bin/bash # call installer -chmod u+x MALT_unix_0_6_1.sh +chmod u+x MALT_unix_0_6_2.sh MALT="$PREFIX/opt/$PKG_NAME-$PKG_VERSION" -./MALT_unix_0_6_1.sh -q -dir "$MALT" +./MALT_unix_0_6_2.sh -q -dir "$MALT" ln -s "$MALT"/malt-build "$PREFIX"/bin/malt-build ln -s "$MALT"/malt-run "$PREFIX"/bin/malt-run diff --git a/recipes/malt/meta.yaml b/recipes/malt/meta.yaml index 154885195a594..28c4fe7bffb80 100755 --- a/recipes/malt/meta.yaml +++ b/recipes/malt/meta.yaml @@ -1,12 +1,14 @@ package: name: malt - version: 0.61 # Keep without patch release decimal. Versioning style changed in 0.5 causing latest-version sorting problems when installing from bioconda. + version: 0.62 # Keep without patch release decimal. Versioning style changed in 0.5 causing latest-version sorting problems when installing from bioconda. build: noarch: generic number: 0 + run_exports: + - {{ pin_subpackage("malt", max_pin="x.x") }} source: - md5: 41573f8c652fc81f3745729dee2d5e2d - url: https://software-ab.informatik.uni-tuebingen.de/download/malt/MALT_unix_0_6_1.sh + md5: 3e9b7516c722ca959d92722bea209b04 + url: https://maira.cs.uni-tuebingen.de/download/malt/MALT_unix_0_6_2.sh requirements: build: - openjdk diff --git a/recipes/malva/build_failure.linux-64.yaml b/recipes/malva/build_failure.linux-64.yaml deleted file mode 100644 index 414662d68c286..0000000000000 --- a/recipes/malva/build_failure.linux-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: d1651f674064650225149083c22db4ade1849d8d8ac92fd1d03fd7168e972dce # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |- - export PREFIX=/opt/conda/conda-bld/malva_1685353511262/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho - export BUILD_PREFIX=/opt/conda/conda-bld/malva_1685353511262/_build_env - export SRC_DIR=/opt/conda/conda-bld/malva_1685353511262/work - INFO: activate-binutils_linux-64.sh made the following environmental changes: - ADDR2LINE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-addr2line - AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar - AS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-as - CXXFILT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cfilt - ELFEDIT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-elfedit - GPROF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gprof - LD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld - LD_GOLD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld.gold - NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-nm - OBJCOPY=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objcopy - OBJDUMP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objdump - RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib - READELF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-readelf - SIZE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-size - STRINGS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strings - STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip - INFO: activate-gcc_linux-64.sh made the following environmental changes: - BUILD=x86_64-conda-linux-gnu - CC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc - CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc - CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/malva-2.0.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix - CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH=$PREFIX;$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin - CMAKE_PREFIX_PATH=$PREFIX:$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot/usr - CONDA_BUILD_SYSROOT=$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot - CONDA_TOOLCHAIN_BUILD=x86_64-conda-linux-gnu - CONDA_TOOLCHAIN_HOST=x86_64-conda-linux-gnu - CPP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cpp - CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include - DEBUG_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/malva-2.0.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix - DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem $PREFIX/include - GCC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc - GCC_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar - GCC_NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-nm - GCC_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib - HOST=x86_64-conda-linux-gnu - LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib - MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib - _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_cos6_linux_gnu - build_alias=x86_64-conda-linux-gnu - host_alias=x86_64-conda-linux-gnu - -BUILD=x86_64-conda_cos6-linux-gnu - -CONDA_BUILD_SYSROOT= - INFO: activate-gxx_linux-64.sh made the following environmental changes: - CXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c - CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/malva-2.0.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix - CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c - DEBUG_CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/malva-2.0.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix - GXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-g - -- The C compiler identification is GNU 12.2.0 - -- The CXX compiler identification is GNU 12.2.0 - -- Detecting C compiler ABI info - -- Detecting C compiler ABI info - done - -- Check for working C compiler: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc - skipped - -- Detecting C compile features - -- Detecting C compile features - done - -- Detecting CXX compiler ABI info - -- Detecting CXX compiler ABI info - done - -- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c - skipped - -- Detecting CXX compile features - -- Detecting CXX compile features - done - -- SDSL found $BUILD_PREFIX/lib/libsdsl.a - -- KMC includes found $PREFIX/include - -- ZSTD found $BUILD_PREFIX/lib/libzstd.a - -- ZSTD includes found $PREFIX/include - -- Configuring done (0.4s) - -- Generating done (0.0s) - -- Build files have been written to: $SRC_DIR/build - [ 25%] Building CXX object CMakeFiles/malva-geno.dir/zstdstream.cpp.o - [ 50%] Building C object CMakeFiles/malva-geno.dir/xxhash.c.o - [ 75%] Building CXX object CMakeFiles/malva-geno.dir/main.cpp.o - In file included from /opt/conda/conda-bld/malva_1685353511262/work/main.cpp:44: - /opt/conda/conda-bld/malva_1685353511262/work/bloom_filter.hpp:28:10: fatal error: sdsl/bit_vectors.hpp: No such file or directory - 28 | #include - | ^~~~~~~~~~~~~~~~~~~~~~ - compilation terminated. - make[2]: *** [CMakeFiles/malva-geno.dir/build.make:104: CMakeFiles/malva-geno.dir/main.cpp.o] Error 1 - make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/malva-geno.dir/all] Error 2 - make: *** [Makefile:91: all] Error 2 - Traceback (most recent call last): - File "/opt/conda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/malva_1685353511262/work/conda_build.sh']' returned non-zero exit status 2. -# Last 100 lines of the build log. diff --git a/recipes/malva/malva.CMakeList.patch b/recipes/malva/malva.CMakeList.patch index 46fe9a0cedf2c..6f7bc733d2c36 100644 --- a/recipes/malva/malva.CMakeList.patch +++ b/recipes/malva/malva.CMakeList.patch @@ -1,8 +1,22 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5796d8b..9030264 100644 +index 5796d8b..351fd24 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -32,9 +32,17 @@ else () +@@ -18,6 +18,13 @@ else () + message(STATUS "SDSL found ${SDSL}") + endif () + ++find_path(SDSL_INCLUDE_DIR NAMES sdsl/bit_vectors.hpp PATHS ${CMAKE_SYSTEM_PREFIX_PATH}) ++if (NOT SDSL_INCLUDE_DIR) ++ message(FATAL_ERROR "bit_vectors.hpp (part of sdsl-lite) required") ++else () ++ message(STATUS "SDSL includes found ${SDSL_INCLUDE_DIR}") ++endif () ++ + find_path(KMC_INCLUDE_DIR NAMES kmc_file.h PATHS ${CMAKE_SYSTEM_PREFIX_PATH} PATH_SUFFIXES "kmc") + if (NOT KMC_INCLUDE_DIR) + message(FATAL_ERROR "kmc_file.h (part of libkmc-dev) required") +@@ -32,9 +39,18 @@ else () message(STATUS "ZSTD found ${ZSTD}") endif () @@ -16,6 +30,7 @@ index 5796d8b..9030264 100644 target_include_directories(malva-geno PRIVATE ${PROJECT_SOURCE_DIR} PRIVATE ${KMC_INCLUDE_DIR} ++ PRIVATE ${SDSL_INCLUDE_DIR} + PRIVATE ${ZSTD_INCLUDE_DIR} ) diff --git a/recipes/malva/meta.yaml b/recipes/malva/meta.yaml index f82ac08b27bfd..72c392b21a442 100644 --- a/recipes/malva/meta.yaml +++ b/recipes/malva/meta.yaml @@ -13,8 +13,10 @@ source: - malva.CMakeList.patch build: - number: 3 + number: 4 skip: True # [osx] + run_exports: + - {{ pin_subpackage('malva', max_pin="x") }} requirements: build: @@ -27,10 +29,10 @@ requirements: host: - zlib - htslib - - kmc + - kmc =3.1 run: - htslib - - kmc + - kmc =3.1 test: commands: @@ -40,6 +42,7 @@ test: about: home: https://algolab.github.io/malva/ license: GPL-3.0-or-later + license_file: LICENSE summary: genotyping by Mapping-free ALternate-allele detection of known VAriants extra: diff --git a/recipes/manta/meta.yaml b/recipes/manta/meta.yaml index 4ed7dfc6fd319..63dd36d4d8d04 100644 --- a/recipes/manta/meta.yaml +++ b/recipes/manta/meta.yaml @@ -1,19 +1,22 @@ +{% set name = "manta" %} {% set version = "1.6.0" %} package: - name: manta - version: '{{ version }}' + name: {{ name }} + version: {{ version }} source: url: https://github.com/Illumina/manta/releases/download/v{{ version }}/manta-{{ version }}.centos6_x86_64.tar.bz2 sha256: ae19b1b934cf5bb605dfb58b29e8e2b843cb469ec5ff12441ca3d9d39179abf4 build: - number: 2 + number: 3 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: run: - - python <3 + - python >=2.6,<3 test: commands: diff --git a/recipes/mantis_pfa/meta.yaml b/recipes/mantis_pfa/meta.yaml index 8ad4a385c9c0a..b1325154537ba 100644 --- a/recipes/mantis_pfa/meta.yaml +++ b/recipes/mantis_pfa/meta.yaml @@ -12,7 +12,7 @@ source: sha256: a530c281c22221f54aeffa2a6e495a8c20c79c86a7d16c640bec2dd9f5d5e26b build: - number: 2 + number: 3 script: {{ PYTHON }} -m pip install . -vv skip: True # [ py < 37 ] entry_points: diff --git a/recipes/mapad/meta.yaml b/recipes/mapad/meta.yaml index f3a69ee53a0c1..20fdd3b931c85 100644 --- a/recipes/mapad/meta.yaml +++ b/recipes/mapad/meta.yaml @@ -1,15 +1,17 @@ -{% set version = "0.42.1" %} +{% set version = "0.43.0" %} package: name: mapad version: {{ version }} build: - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage('mapad', max_pin="x.x") }} source: url: https://github.com/mpieva/mapAD/archive/refs/tags/v{{ version }}.tar.gz - sha256: fe7bb18cc81f53b9f1a6f896aeffa60042b15de46214b7eb60b9e6d9d3d5f0fd + sha256: e35fbebef35a13d286e90222adfb9a3d7185122b062663c1cb2dc023b88c5cf6 requirements: build: diff --git a/recipes/mapcaller/meta.yaml b/recipes/mapcaller/meta.yaml index d0717487715ce..1aaacd6caf71b 100644 --- a/recipes/mapcaller/meta.yaml +++ b/recipes/mapcaller/meta.yaml @@ -9,7 +9,7 @@ source: sha256: f1630d7c9243e70e33b244e3dfdb3ffa2a9836cea37fd2f8b49044dea029b12f build: - number: 4 + number: 5 requirements: build: diff --git a/recipes/mappy/build.sh b/recipes/mappy/build.sh index b574ab80d53e9..f8457f291b1a6 100644 --- a/recipes/mappy/build.sh +++ b/recipes/mappy/build.sh @@ -3,4 +3,4 @@ export C_INCLUDE_PATH=$PREFIX/include export LIBRARY_PATH=$PREFIX/lib -$PYTHON setup.py install --single-version-externally-managed --record=record.txt +${PYTHON} -m pip install . --no-build-isolation --no-deps -vvv diff --git a/recipes/mappy/build_failure.osx-64.yaml b/recipes/mappy/build_failure.osx-64.yaml deleted file mode 100644 index 8c01d13a166b7..0000000000000 --- a/recipes/mappy/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 624d20276cc122996176684e48e0e6d529dbccfcf7a07d55454e754e178d9d32 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |- - map.c:367:70: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'const int64_t' (aka 'const long long') [-Wsign-compare] - if (kmst.largest > 1U<<28 || (opt->cap_kalloc > 0 && kmst.capacity > opt->cap_kalloc)) { - ~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~ - 1 warning generated. - x86_64-apple-darwin13.4.0-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem $PREFIX/include -fPIC -O2 -isystem $PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mappy-2.26 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I. -I$PREFIX/include/python3.10 -c misc.c -o build/temp.macosx-10.9-x86_64-cpython-310/misc.o -DHAVE_KALLOC -msse4.1 - x86_64-apple-darwin13.4.0-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem $PREFIX/include -fPIC -O2 -isystem $PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mappy-2.26 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I. -I$PREFIX/include/python3.10 -c options.c -o build/temp.macosx-10.9-x86_64-cpython-310/options.o -DHAVE_KALLOC -msse4.1 - x86_64-apple-darwin13.4.0-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem $PREFIX/include -fPIC -O2 -isystem $PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mappy-2.26 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I. -I$PREFIX/include/python3.10 -c pe.c -o build/temp.macosx-10.9-x86_64-cpython-310/pe.o -DHAVE_KALLOC -msse4.1 - x86_64-apple-darwin13.4.0-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem $PREFIX/include -fPIC -O2 -isystem $PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mappy-2.26 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I. -I$PREFIX/include/python3.10 -c python/mappy.c -o build/temp.macosx-10.9-x86_64-cpython-310/python/mappy.o -DHAVE_KALLOC -msse4.1 - python/mappy.c:10830:21: warning: fallthrough annotation in unreachable code [-Wunreachable-code-fallthrough] - CYTHON_FALLTHROUGH; - ^ - python/mappy.c:345:34: note: expanded from macro 'CYTHON_FALLTHROUGH' - #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) - ^ - python/mappy.c:10841:21: warning: fallthrough annotation in unreachable code [-Wunreachable-code-fallthrough] - CYTHON_FALLTHROUGH; - ^ - python/mappy.c:345:34: note: expanded from macro 'CYTHON_FALLTHROUGH' - #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) - ^ - python/mappy.c:10941:21: warning: fallthrough annotation in unreachable code [-Wunreachable-code-fallthrough] - CYTHON_FALLTHROUGH; - ^ - python/mappy.c:345:34: note: expanded from macro 'CYTHON_FALLTHROUGH' - #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) - ^ - python/mappy.c:10952:21: warning: fallthrough annotation in unreachable code [-Wunreachable-code-fallthrough] - CYTHON_FALLTHROUGH; - ^ - python/mappy.c:345:34: note: expanded from macro 'CYTHON_FALLTHROUGH' - #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) - ^ - python/mappy.c:11089:21: warning: fallthrough annotation in unreachable code [-Wunreachable-code-fallthrough] - CYTHON_FALLTHROUGH; - ^ - python/mappy.c:345:34: note: expanded from macro 'CYTHON_FALLTHROUGH' - #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) - ^ - python/mappy.c:11100:21: warning: fallthrough annotation in unreachable code [-Wunreachable-code-fallthrough] - CYTHON_FALLTHROUGH; - ^ - python/mappy.c:345:34: note: expanded from macro 'CYTHON_FALLTHROUGH' - #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) - ^ - 6 warnings generated. - x86_64-apple-darwin13.4.0-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem $PREFIX/include -fPIC -O2 -isystem $PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mappy-2.26 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I. -I$PREFIX/include/python3.10 -c sdust.c -o build/temp.macosx-10.9-x86_64-cpython-310/sdust.o -DHAVE_KALLOC -msse4.1 - x86_64-apple-darwin13.4.0-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem $PREFIX/include -fPIC -O2 -isystem $PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mappy-2.26 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I. -I$PREFIX/include/python3.10 -c seed.c -o build/temp.macosx-10.9-x86_64-cpython-310/seed.o -DHAVE_KALLOC -msse4.1 - seed.c:9:12: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int32_t' (aka 'int') [-Wsign-compare] - if (mv->n <= q_occ_max || q_occ_frac <= 0.0f || q_occ_max <= 0) return; - ~~~~~ ^ ~~~~~~~~~ - seed.c:65:14: warning: comparison of integers of different signs: 'uint32_t' (aka 'unsigned int') and 'int' [-Wsign-compare] - if (a[i].n > max_occ) m; - ~~~~~~ ^ ~~~~~~~ - seed.c:68:24: warning: comparison of integers of different signs: 'uint32_t' (aka 'unsigned int') and 'int' [-Wsign-compare] - if (i == n || a[i].n <= max_occ) { - ~~~~~~ ^ ~~~~~~~ - seed.c:81:18: warning: comparison of integers of different signs: 'uint32_t' (aka 'unsigned int') and 'int32_t' (aka 'int') [-Wsign-compare] - if (a[j].n < (int32_t)(b[0]>>32)) { // then update the heap - ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~ - seed.c:90:17: warning: comparison of integers of different signs: 'uint32_t' (aka 'unsigned int') and 'int' [-Wsign-compare] - if (a[j].n > max_max_occ) - ~~~~~~ ^ ~~~~~~~~~~~ - seed.c:109:17: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int' [-Wsign-compare] - for (i = 0; i < n_m0; i) - ~ ^ ~~~~ - seed.c:110:15: warning: comparison of integers of different signs: 'uint32_t' (aka 'unsigned int') and 'int' [-Wsign-compare] - if (m[i].n > max_occ) - ~~~~~~ ^ ~~~~~~~ - seed.c:113:49: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int' [-Wsign-compare] - for (i = 0, n_m = 0, *rep_len = 0, *n_a = 0; i < n_m0; i) { - ~ ^ ~~~~ - 8 warnings generated. - x86_64-apple-darwin13.4.0-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem $PREFIX/include -fPIC -O2 -isystem $PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mappy-2.26 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I. -I$PREFIX/include/python3.10 -c sketch.c -o build/temp.macosx-10.9-x86_64-cpython-310/sketch.o -DHAVE_KALLOC -msse4.1 - x86_64-apple-darwin13.4.0-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem $PREFIX/include -fPIC -O2 -isystem $PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mappy-2.26 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I. -I$PREFIX/include/python3.10 -c splitidx.c -o build/temp.macosx-10.9-x86_64-cpython-310/splitidx.o -DHAVE_KALLOC -msse4.1 - creating build/lib.macosx-10.9-x86_64-cpython-310 - x86_64-apple-darwin13.4.0-clang -bundle -undefined dynamic_lookup -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mappy-2.26 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 build/temp.macosx-10.9-x86_64-cpython-310/align.o build/temp.macosx-10.9-x86_64-cpython-310/bseq.o build/temp.macosx-10.9-x86_64-cpython-310/esterr.o build/temp.macosx-10.9-x86_64-cpython-310/format.o build/temp.macosx-10.9-x86_64-cpython-310/hit.o build/temp.macosx-10.9-x86_64-cpython-310/index.o build/temp.macosx-10.9-x86_64-cpython-310/kalloc.o build/temp.macosx-10.9-x86_64-cpython-310/ksw2_extd2_sse.o build/temp.macosx-10.9-x86_64-cpython-310/ksw2_exts2_sse.o build/temp.macosx-10.9-x86_64-cpython-310/ksw2_extz2_sse.o build/temp.macosx-10.9-x86_64-cpython-310/ksw2_ll_sse.o build/temp.macosx-10.9-x86_64-cpython-310/kthread.o build/temp.macosx-10.9-x86_64-cpython-310/lchain.o build/temp.macosx-10.9-x86_64-cpython-310/map.o build/temp.macosx-10.9-x86_64-cpython-310/misc.o build/temp.macosx-10.9-x86_64-cpython-310/options.o build/temp.macosx-10.9-x86_64-cpython-310/pe.o build/temp.macosx-10.9-x86_64-cpython-310/python/mappy.o build/temp.macosx-10.9-x86_64-cpython-310/sdust.o build/temp.macosx-10.9-x86_64-cpython-310/seed.o build/temp.macosx-10.9-x86_64-cpython-310/sketch.o build/temp.macosx-10.9-x86_64-cpython-310/splitidx.o -lz -lm -lpthread -o build/lib.macosx-10.9-x86_64-cpython-310/mappy.cpython-310-darwin.so - dyld[21993]: Library not loaded: '@rpath/libtapi.dylib' - Referenced from: '/opt/mambaforge/envs/bioconda/pkgs/ld64_osx-64-609-h8ce0179_13/bin/x86_64-apple-darwin13.4.0-ld' - Reason: tried: '/opt/mambaforge/envs/bioconda/pkgs/ld64_osx-64-609-h8ce0179_13/bin/../lib/libtapi.dylib' (no such file), '/opt/mambaforge/envs/bioconda/pkgs/ld64_osx-64-609-h8ce0179_13/bin/../lib/libtapi.dylib' (no such file), '/usr/local/lib/libtapi.dylib' (no such file), '/usr/lib/libtapi.dylib' (no such file) - clang-15: error: unable to execute command: Abort trap: 6 - clang-15: error: linker command failed due to signal (use -v to see invocation) - error: command '/opt/mambaforge/envs/bioconda/conda-bld/mappy_1686046171677/_build_env/bin/x86_64-apple-darwin13.4.0-clang' failed with exit code 1 - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/mappy_1686046171677/work/conda_build.sh']' returned non-zero exit status 1. -# Last 100 lines of the build log. diff --git a/recipes/mappy/meta.yaml b/recipes/mappy/meta.yaml index 8125b86d3352f..87e127733581f 100644 --- a/recipes/mappy/meta.yaml +++ b/recipes/mappy/meta.yaml @@ -1,15 +1,18 @@ -{% set version = "2.26" %} +{% set name = "mappy" %} +{% set version = "2.28" %} package: - name: mappy + name: {{ name }} version: {{ version }} source: - url: https://pypi.io/packages/source/m/mappy/mappy-{{ version }}.tar.gz - sha256: e53fbe9a3ea8762a64b8103f4f779c9fb16d418eaa0a731f45cebc83867a9b71 + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/mappy-{{ version }}.tar.gz + sha256: 0ebf7a5d62bd668f5456028215e26176e180ca68161ac18d4f7b48045484cebb build: - number: 1 + number: 2 + run_exports: + - {{ pin_subpackage('mappy', max_pin="x") }} requirements: build: @@ -17,11 +20,10 @@ requirements: host: - python - cython - - setuptools + - pip - zlib run: - python - - zlib test: imports: @@ -30,4 +32,11 @@ test: about: home: https://github.com/lh3/minimap2 license: MIT + license_family: MIT + license_file: LICENSE.txt summary: 'Minimap2 Python binding' + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/mapseq/build.sh b/recipes/mapseq/build.sh index f1c15e5062500..f110617578b87 100755 --- a/recipes/mapseq/build.sh +++ b/recipes/mapseq/build.sh @@ -3,7 +3,7 @@ #wget http://www.microbeatlas.org/mapref/mapref-2.2b.tar.gz #tar -Cdata -xvzf mapref-2.2b.tar.gz && mv data/mapref-2.2b/* data/ && rmdir data/mapref-2.2b && touch data/mapref-2.2b.fna -touch data/mapref-2.2b.fna data/mapref-2.2b.fna.mscluster data/mapref-2.2b.fna.ncbitax data/mapref-2.2b.fna.otutax data/mapref-2.2b.gold.fna data/mapref-2.2b.gold.fna.mscluster data/mapref-2.2b.gold.fna.ncbitax data/mapref-2.2b.fna.otutax.97.ncbitax +touch data/mapref-3.0.fna data/mapref-3.0.fna.mscluster data/mapref-3.0.fna.ncbitax data/mapref-3.0.fna.otutax data/mapref-3.0.gold.fna data/mapref-3.0.gold.fna.mscluster data/mapref-3.0.gold.fna.ncbitax data/mapref-3.0.fna.otutax.97.ncbitax data/mapref-3.0.otus.info ./bootstrap ./configure --prefix=$PREFIX CXXFLAGS="-O2 -I$CONDA_PREFIX/include" make diff --git a/recipes/mapseq/meta.yaml b/recipes/mapseq/meta.yaml index bd2db926e983e..46a663ed8d742 100644 --- a/recipes/mapseq/meta.yaml +++ b/recipes/mapseq/meta.yaml @@ -1,16 +1,19 @@ -{% set version = "2.1.1" %} -{% set sha256 = "b66af114f82ed9671e250995d014704b58b8e19b7ec95b1ef05a02eb8c5e8018" %} +{% set version = "2.1.1b" %} +{% set sha256 = "9be4f46cc6d8e7273c4d11f8ac8133a63fe2da39f420100d5d4e1828acaa6d47" %} package: name: mapseq version: '{{ version }}' source: - url: https://github.com/jfmrod/MAPseq/archive/v{{ version }}.tar.gz + url: https://github.com/meringlab/MAPseq/archive/v{{ version }}.tar.gz sha256: '{{ sha256 }}' build: - number: 1 + skip: True # [osx] + number: 0 + run_exports: + - {{ pin_subpackage('mapseq', max_pin="x") }} requirements: build: @@ -20,7 +23,7 @@ requirements: - autoconf - libtool - make - - svn + - subversion host: - zlib - gsl diff --git a/recipes/mapseq/post-link.sh b/recipes/mapseq/post-link.sh index 98c05ea57d5b1..19dcda7593cc4 100644 --- a/recipes/mapseq/post-link.sh +++ b/recipes/mapseq/post-link.sh @@ -2,12 +2,11 @@ # downloading large (4GB) required dataset -FN="mapref-2.2b.tar.gz" +FN="mapref-3.0.full.tar.gz" URLS=( - "http://www.microbeatlas.org/mapref/mapref-2.2b.tar.gz" + "http://www.microbeatlas.org/mapref/mapref-3.0.full.tar.gz" ) -MD5="9ea29a1a4ec9293aa78fc660841121c8" - +MD5="ca1233057fb603eb89cf90fab159d776" STAGING=$PREFIX/share/mapseq #STAGING=$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM @@ -20,39 +19,39 @@ TARBALL=$STAGING/$FN SUCCESS=0 for URL in ${URLS[@]}; do - curl -L $URL > $TARBALL - [[ $? == 0 ]] || continue - - # Platform-specific md5sum checks. - if [[ $(uname -s) == "Linux" ]]; then - if md5sum -c <<<"$MD5 $TARBALL"; then - SUCCESS=1 - break - fi - else if [[ $(uname -s) == "Darwin" ]]; then - if [[ $(md5 $TARBALL | cut -f4 -d " ") == "$MD5" ]]; then - SUCCESS=1 - break - fi - fi -fi + curl -L $URL >$TARBALL + [[ $? == 0 ]] || continue + + # Platform-specific md5sum checks. + if [[ $(uname -s) == "Linux" ]]; then + if md5sum -c <<<"$MD5 $TARBALL"; then + SUCCESS=1 + break + fi + else + if [[ $(uname -s) == "Darwin" ]]; then + if [[ $(md5 $TARBALL | cut -f4 -d " ") == "$MD5" ]]; then + SUCCESS=1 + break + fi + fi + fi done if [[ $SUCCESS != 1 ]]; then - echo "ERROR: post-link.sh was unable to download any of the following URLs with the md5sum $MD5:" - printf '%s\n' "${URLS[@]}" - exit 1 + echo "ERROR: post-link.sh was unable to download any of the following URLs with the md5sum $MD5:" + printf '%s\n' "${URLS[@]}" + exit 1 fi tar -C $STAGING -xvzf $TARBALL # >> $PREFIX/.messages.txt #echo "Staging directory: $STAGING" >> $PREFIX/.messages.txt #ls -lahrt $STAGING >> $PREFIX/.messages.txt #ls -lahrt $STAGING/mapref-2.2b >> $PREFIX/.messages.txt -mv $STAGING/mapref-2.2b/* $STAGING/ -rmdir $STAGING/mapref-2.2b +mv $STAGING/mapseq/* $STAGING/ +rmdir $STAGING/mapseq rm $TARBALL - #echo "Staging directory2: $STAGING" >> $PREFIX/.messages.txt #ls -lahrt $STAGING >> $PREFIX/.messages.txt #echo "mapref:" >> $PREFIX/.messages.txt @@ -61,8 +60,6 @@ rm $TARBALL #strings `which mapseq` | grep 'share/' >> $PREFIX/.messages.txt #ls -lahrt $STAGING/mapref-2.2b.fna >> $PREFIX/.messages.txt - - # WARNING: cannot run test because CircleCI probably has memory/cpu limits # testing to ensure dataset is correctly installed and found by mapseq @@ -72,4 +69,3 @@ rm $TARBALL #echo "Results: $STAGING" >> $PREFIX/.messages.txt #cat $STAGING/test.fna.mseq >> $PREFIX/.messages.txt #rm $STAGING/test.fna.mseq - diff --git a/recipes/marti/meta.yaml b/recipes/marti/meta.yaml index 53848307a0c89..e86203beedb7e 100644 --- a/recipes/marti/meta.yaml +++ b/recipes/marti/meta.yaml @@ -1,5 +1,5 @@ {% set name = "MARTi" %} -{% set version = "0.9.15" %} +{% set version = "0.9.16" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://github.com/richardmleggett/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz - sha256: 8bb5851d382ce91bda51602d6af46ace995b25520635836dcddf1e5de069e6f6 + sha256: 85b06a61df8860d17c6de5282a820a8bd1b66bbb3d1f2351dbf5b54522aa1cb6 build: noarch: generic diff --git a/recipes/mash/meta.yaml b/recipes/mash/meta.yaml index 060fdbae4c06b..a81dfe7d69293 100644 --- a/recipes/mash/meta.yaml +++ b/recipes/mash/meta.yaml @@ -12,7 +12,7 @@ source: build: skip: True # [osx] - number: 6 + number: 7 requirements: build: diff --git a/recipes/mashmap/build.sh b/recipes/mashmap/build.sh index 1be34f0a90f3c..0fbd417425877 100644 --- a/recipes/mashmap/build.sh +++ b/recipes/mashmap/build.sh @@ -1,14 +1,16 @@ #!/bin/bash +set -xe export CFLAGS="-I$PREFIX/include" export LDFLAGS="-L$PREFIX/lib" export LD_LIBRARY_PATH="${PREFIX}/lib" export CPATH=${PREFIX}/include -# if [[ ${HOST} =~ .*darwin.* ]]; then -# export MACOSX_DEPLOYMENT_TARGET=10.15 # Required to use std::filesystem -# fi +if [[ ${HOST} =~ .*darwin.* ]]; then + export MACOSX_DEPLOYMENT_TARGET=10.15 # Required to use std::filesystem + export CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" +fi -cmake -H. -B${PREFIX} -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=1 -DOPTIMIZE_FOR_NATIVE=0 -DUSE_HTSLIB=1 -cmake --build ${PREFIX} +cmake -H. -B${PREFIX} -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=1 -DOPTIMIZE_FOR_NATIVE=0 -DUSE_HTSLIB=1 -DCMAKE_CXX_FLAGS="${CXXFLAGS}" +cmake --build ${PREFIX} -j ${CPU_COUNT} diff --git a/recipes/mashmap/meta.yaml b/recipes/mashmap/meta.yaml index 672f557d6afef..9ecfaf5ecbd42 100644 --- a/recipes/mashmap/meta.yaml +++ b/recipes/mashmap/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "3.1.2" %} +{% set version = "3.1.3" %} {% set github = "https://github.com/marbl/MashMap" %} package: @@ -7,10 +7,10 @@ package: source: url: "{{ github }}/archive/v{{ version }}.tar.gz" - sha256: cf9bb085cc85b0f1b91f4fc45a907cff536099a4a82031f1e112259e24ba5976 + sha256: 7719dd6b3c25e650e16218252eaae7dbf424a10890d717ec3ad0920b102fd05a build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage("mashmap", max_pin="x.x") }} @@ -46,6 +46,8 @@ about: summary: A fast approximate aligner for long DNA sequences. extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - bkille - mjsteinbaugh diff --git a/recipes/mashpit/meta.yaml b/recipes/mashpit/meta.yaml index 59823e05bd435..299fe006c885d 100644 --- a/recipes/mashpit/meta.yaml +++ b/recipes/mashpit/meta.yaml @@ -1,40 +1,49 @@ -{% set version = "0.9.2" %} - -package: - name: mashpit - version: '{{ version }}' - -source: - url: https://github.com/tongzhouxu/mashpit/archive/refs/tags/v{{ version }}.tar.gz - sha256: 8556e02af3d2478bff6cc83f0446690d77c171e7fd6f7d071eec19e70e8ef75b - -build: - noarch: python - script: python -m pip install --no-deps --ignore-installed . - number: 0 - -requirements: - host: - - python >=3.8 - - pip - run: - - biopython =1.78 - - numpy >=1.19.5 - - python >=3.8 - - python-dotenv - - pandas >=1.1.5 - - scipy =1.7.3 - - screed >=1.0.5 - - sourmash >=4.2.2 - - sra-tools >=2.10.8 - -test: - commands: - - mashpit --help - -about: - home: https://github.com/tongzhouxu/mashpit - license: GPL-2 - license_family: GPL - license_file: LICENSE - summary: Sketch-based surveillance platform +{% set version = "0.9.7" %} + +package: + name: mashpit + version: '{{ version }}' + +source: + url: https://github.com/tongzhouxu/mashpit/archive/refs/tags/v{{ version }}.tar.gz + sha256: 4f93e00f8ff5cdb1eb81bc5cf01db824dbb8f54e67dbe9aab910b21fdd38fbed + +build: + noarch: python + script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation --no-cache-dir . -vvv + number: 0 + run_exports: + - {{ pin_subpackage("mashpit", max_pin="x.x") }} + +requirements: + host: + - python >=3.8 + - pip + run: + - biopython =1.78 + - dask >=2024.1 + - flask >=3.0 + - ncbi-datasets-cli >=16.10 + - ncbi-datasets-pylib >=16.6.0 + - numpy >=1.19.5 + - python >=3.8 + - pandas >=1.1.5 + - requests + - scikit-bio + - scipy >=1.0 + - screed >=1.0.5 + - sourmash >=4.6.1 + - tqdm + - phytreeviz + +test: + commands: + - mashpit --help + +about: + home: https://github.com/tongzhouxu/mashpit + license: "GPL-2.0-or-later" + license_family: GPL2 + license_file: LICENSE + summary: Sketch-based surveillance platform + dev_url: https://github.com/tongzhouxu/mashpit diff --git a/recipes/mason/build.sh b/recipes/mason/build.sh index 8806cafa72109..5ab890811502e 100644 --- a/recipes/mason/build.sh +++ b/recipes/mason/build.sh @@ -1,14 +1,5 @@ #!/bin/bash -binaries="\ -mason_frag_sequencing \ -mason_genome \ -mason_materializer \ -mason_methylation \ -mason_simulator \ -mason_splicing \ -mason_variator \ -" -mkdir -p $PREFIX/bin - -for i in $binaries; do cp bin/$i $PREFIX/bin/$i && chmod a+x $PREFIX/bin/$i; done +cmake -S . -B build -DSEQAN_BUILD_SYSTEM=APP:mason2 -DCMAKE_INSTALL_PREFIX=${PREFIX} -DCMAKE_CXX_FLAGS=-D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION +cmake --build build/ -j ${CPU_COUNT} +cmake --install build/ diff --git a/recipes/mason/meta.yaml b/recipes/mason/meta.yaml index 651b696d7300e..af35dcb259990 100644 --- a/recipes/mason/meta.yaml +++ b/recipes/mason/meta.yaml @@ -5,13 +5,25 @@ package: version: {{ version }} source: - - url: http://packages.seqan.de/mason2/mason2-{{ version }}-Mac-x86_64_sse4.zip # [osx] - sha256: d478b07effe6dd2056ead6cd816fa2b196ba1e2ffb9d6d8d98e24ad968834ee9 # [osx] - - url: http://packages.seqan.de/mason2/mason2-{{ version }}-Linux-x86_64_sse4.tar.xz # [linux] - sha256: 3879cdd71c39947d9fc731e820c9b926912e7688d070a8431c75681848eee688 # [linux] + # Note, version numbers for SeqAn and Mason are different. + # SeqAn 2.4.0 contains Mason 2.0.9 + - url: http://packages.seqan.de/seqan-src/seqan-src-2.4.0.tar.gz + sha256: d7084d17729214003e84818e0280a16f223c8f1c6a30eeef040c27e0c0047bd7 build: - number: 1 + number: 3 + run_exports: + - {{ pin_subpackage("mason", max_pin="x.y") }} + +requirements: + build: + - make + - {{ compiler('cxx') }} + - cmake + host: + - zlib + run: + - zlib test: commands: @@ -30,9 +42,8 @@ about: license_file: LICENSE extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:mason - doi:10.1371/journal.pone.0049110 - skip-lints: - - should_be_noarch_generic - - should_not_be_noarch_source diff --git a/recipes/mass2chem/meta.yaml b/recipes/mass2chem/meta.yaml index 7f7f765b95914..c5a5ce11d8bf2 100644 --- a/recipes/mass2chem/meta.yaml +++ b/recipes/mass2chem/meta.yaml @@ -1,5 +1,5 @@ {% set name = "mass2chem" %} -{% set version = "0.4.9" %} +{% set version = "0.5.0" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/mass2chem-{{ version }}.tar.gz - sha256: 5f570440aa217f2f2847f8b2d7cba06c2b46a4088921079db1ed0941b30c1e4b + sha256: 0ef8a49e9ae7e39502edf881249bbdeb445225ae91e6b96da3828a3793f0f8f5 build: noarch: python diff --git a/recipes/massdash/meta.yaml b/recipes/massdash/meta.yaml new file mode 100644 index 0000000000000..09f269a84b383 --- /dev/null +++ b/recipes/massdash/meta.yaml @@ -0,0 +1,56 @@ +{% set name = "massdash" %} +{% set version = "0.0.9" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: 68d90f668312d94ec44f744376c0dad0b671fe78f01906d2e36ce43cc9c85ffa + +build: + number: 0 + noarch: python + script: "{{ PYTHON }} -m pip install . -vv" + run_exports: + - {{ pin_subpackage('massdash', max_pin='x.x') }} + +requirements: + host: + - pip + - python + - flake8 + - flit + - flit-core + - pylint + - snapshottest + run: + - bokeh ==2.4.3 + - click + - joblib + - matplotlib-base + - matplotlib-venn + - upsetplot + - numpy >=1.9.0 + - pandas >=0.17 + - plotly + - psutil + - pyopenms + - scipy + - streamlit + - tqdm + +test: + imports: + - massdash + +about: + home: https://github.com/Roestlab/massdash + license: BSD + license_family: BSD + summary: MassDash is a streamlined DIA mass spec visualization, analysis, optimization, and rapid prototyping. + +extra: + recipe-maintainers: + - singjc diff --git a/recipes/masurca/meta.yaml b/recipes/masurca/meta.yaml index d9b9f6bd806ec..589e24b633076 100644 --- a/recipes/masurca/meta.yaml +++ b/recipes/masurca/meta.yaml @@ -1,5 +1,5 @@ {% set name = "masurca" %} -{% set version = "4.1.0" %} +{% set version = "4.1.1" %} package: name: {{ name }} @@ -7,11 +7,13 @@ package: source: url: https://github.com/alekseyzimin/masurca/releases/download/v{{ version }}/MaSuRCA-{{ version }}.tar.gz - sha256: 15078e24c79fe5aabe42748d64f95d15f3fbd7708e84d88fc07c4b7f2e4b0902 + sha256: 8758f6196bf7f57e24e08bda84abddfff08feb4cea204c0eb5e1cb9fe8198573 build: number: 1 skip: True # [osx] + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} requirements: build: diff --git a/recipes/matchms/meta.yaml b/recipes/matchms/meta.yaml index 20b110efe079c..263f3b2f86013 100644 --- a/recipes/matchms/meta.yaml +++ b/recipes/matchms/meta.yaml @@ -1,5 +1,5 @@ {% set name = "matchms" %} -{% set version = "0.24.0" %} +{% set version = "0.27.0" %} package: name: "{{ name|lower }}" @@ -7,11 +7,11 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: e62b1591782b01c3ef83850245609d85e3d612a7f7c350b4fc2ad067d8bc9d15 + sha256: 96d15fbc006c90ac306e91b9fc609255108c48536094d2a55502f6a2e65fbce8 build: - number: 1 - script: "{{ PYTHON }} -m pip install . --no-deps -vvv" + number: 0 + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" noarch: python run_exports: - {{ pin_subpackage('matchms', max_pin="x") }} @@ -19,7 +19,7 @@ build: requirements: host: - pip - - python >=3.8 + - python >=3.8,<3.12 - poetry-core run: - deprecated @@ -30,18 +30,17 @@ requirements: - numpy <1.25 - pickydict >=0.4.0 - pyteomics >=4.6 - - python >=3.8 + - python >=3.8,<3.12 - pyyaml - rdkit >=2020.03.1 - requests - - scipy >=1.4.0, <1.11 + - scipy >=1.4.0,<1.11 - sparsestack >=0.4.1 - tqdm - pillow =9.5 - pandas - pubchempy - test: imports: - matchms diff --git a/recipes/matchtigs/build.sh b/recipes/matchtigs/build.sh index b6cbf0da5ee0e..fb79714e8ab7f 100755 --- a/recipes/matchtigs/build.sh +++ b/recipes/matchtigs/build.sh @@ -1,9 +1,3 @@ -#!/bin/bash -e - -# TODO: Remove the following export when pinning is updated and we use -# {{ compiler('rust') }} in the recipe. -export \ - CARGO_NET_GIT_FETCH_WITH_CLI=true \ - CARGO_HOME="${BUILD_PREFIX}/.cargo" +#!/bin/bash -ex cargo install --no-track --verbose --root "${PREFIX}" --path . diff --git a/recipes/matchtigs/build_failure.linux-64.yaml b/recipes/matchtigs/build_failure.linux-64.yaml deleted file mode 100644 index 7efc8e897a32f..0000000000000 --- a/recipes/matchtigs/build_failure.linux-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 02efdfc2f9abb5a0a1b47ed3022a17ded394809c39b45eb88ed5f9cb82af9995 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - Running rustc --crate-name time --edition=2021 /opt/conda/conda-bld/matchtigs_1685352493749/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/time-0.3.21/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C debuginfo=2 --cfg 'feature="alloc"' --cfg 'feature="default"' --cfg 'feature="formatting"' --cfg 'feature="local-offset"' --cfg 'feature="macros"' --cfg 'feature="std"' -C metadata=cd91c07161414263 -C extra-filename=-cd91c07161414263 --out-dir /opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps -C linker=/opt/conda/conda-bld/matchtigs_1685352493749/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps --extern itoa=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libitoa-62c89c15c3dfb3bd.rmeta --extern libc=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/liblibc-24109b92b56898e0.rmeta --extern num_threads=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libnum_threads-29052a9a6bdcc9a0.rmeta --extern time_core=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libtime_core-2e91ef91f00946ce.rmeta --extern time_macros=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libtime_macros-9ef2748d38fa3eaa.so --cap-lints allow - Compiling bigraph v2.1.1 - Running rustc --crate-name bigraph --edition=2021 /opt/conda/conda-bld/matchtigs_1685352493749/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/bigraph-2.1.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C debuginfo=2 -C metadata=d48072365ca04b7e -C extra-filename=-d48072365ca04b7e --out-dir /opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps -C linker=/opt/conda/conda-bld/matchtigs_1685352493749/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps --extern bitvector=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libbitvector-86c69f343ae8ebe4.rmeta --extern traitgraph=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libtraitgraph-9d144d98ec7b776d.rmeta --extern traitgraph_algo=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libtraitgraph_algo-0da65161844e678e.rmeta --cap-lints allow - Compiling compact-genome v1.3.1 - Running rustc --crate-name compact_genome --edition=2021 /opt/conda/conda-bld/matchtigs_1685352493749/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/compact-genome-1.3.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C debuginfo=2 -C metadata=f1dacdb0e642ea1d -C extra-filename=-f1dacdb0e642ea1d --out-dir /opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps -C linker=/opt/conda/conda-bld/matchtigs_1685352493749/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps --extern bitvec=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libbitvec-15d630b4c5e43590.rmeta --extern itertools=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libitertools-ef1bbdf2dc7723ca.rmeta --extern lazy_static=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/liblazy_static-fb705ce03f437159.rmeta --extern ref_cast=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libref_cast-42ca62cc9a853eb0.rmeta --extern traitsequence=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libtraitsequence-1a990810ce5d3411.rmeta --cap-lints allow - Running rustc --crate-name error_chain /opt/conda/conda-bld/matchtigs_1685352493749/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/error-chain-0.12.4/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C debuginfo=2 --cfg 'feature="backtrace"' --cfg 'feature="default"' --cfg 'feature="example_generated"' -C metadata=de91467585a0f101 -C extra-filename=-de91467585a0f101 --out-dir /opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps -C linker=/opt/conda/conda-bld/matchtigs_1685352493749/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps --extern backtrace=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libbacktrace-af4cf630bdf33906.rmeta --cap-lints allow --cfg has_error_source --cfg has_error_description_deprecated --cfg 'build="release"' - Running rustc --crate-name crossbeam_queue --edition=2018 /opt/conda/conda-bld/matchtigs_1685352493749/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-queue-0.3.8/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C debuginfo=2 --cfg 'feature="alloc"' --cfg 'feature="std"' -C metadata=a9a20555b2200c9e -C extra-filename=-a9a20555b2200c9e --out-dir /opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps -C linker=/opt/conda/conda-bld/matchtigs_1685352493749/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps --extern cfg_if=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libcfg_if-1f0e8aa877c8070d.rmeta --extern crossbeam_utils=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libcrossbeam_utils-469504b851c5f146.rmeta --cap-lints allow - Compiling crossbeam-deque v0.8.3 - Running rustc --crate-name crossbeam_deque --edition=2018 /opt/conda/conda-bld/matchtigs_1685352493749/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-deque-0.8.3/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C debuginfo=2 --cfg 'feature="crossbeam-epoch"' --cfg 'feature="crossbeam-utils"' --cfg 'feature="std"' -C metadata=09b8b5d6c6489017 -C extra-filename=-09b8b5d6c6489017 --out-dir /opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps -C linker=/opt/conda/conda-bld/matchtigs_1685352493749/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps --extern cfg_if=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libcfg_if-1f0e8aa877c8070d.rmeta --extern crossbeam_epoch=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libcrossbeam_epoch-03a2a8c23802678b.rmeta --extern crossbeam_utils=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libcrossbeam_utils-469504b851c5f146.rmeta --cap-lints allow - Running rustc --crate-name crc32fast /opt/conda/conda-bld/matchtigs_1685352493749/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/crc32fast-1.3.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=1b5dbef380751fbb -C extra-filename=-1b5dbef380751fbb --out-dir /opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps -C linker=/opt/conda/conda-bld/matchtigs_1685352493749/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps --extern cfg_if=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libcfg_if-1f0e8aa877c8070d.rmeta --cap-lints allow --cfg crc32fast_stdarchx86 - Compiling crossbeam-channel v0.5.8 - Running rustc --crate-name crossbeam_channel --edition=2018 /opt/conda/conda-bld/matchtigs_1685352493749/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-channel-0.5.8/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C debuginfo=2 --cfg 'feature="crossbeam-utils"' --cfg 'feature="std"' -C metadata=4ec529cb6862f4cf -C extra-filename=-4ec529cb6862f4cf --out-dir /opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps -C linker=/opt/conda/conda-bld/matchtigs_1685352493749/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps --extern cfg_if=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libcfg_if-1f0e8aa877c8070d.rmeta --extern crossbeam_utils=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libcrossbeam_utils-469504b851c5f146.rmeta --cap-lints allow - Compiling miniz_oxide v0.7.1 - Running rustc --crate-name miniz_oxide --edition=2018 /opt/conda/conda-bld/matchtigs_1685352493749/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/miniz_oxide-0.7.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C debuginfo=2 --cfg 'feature="with-alloc"' -C metadata=d4b698deea0ed15d -C extra-filename=-d4b698deea0ed15d --out-dir /opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps -C linker=/opt/conda/conda-bld/matchtigs_1685352493749/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps --extern adler=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libadler-bc2939b95ebef4b5.rmeta --cap-lints allow - Compiling clap_derive v4.3.0 - Running rustc --crate-name clap_derive --edition=2021 /opt/conda/conda-bld/matchtigs_1685352493749/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/clap_derive-4.3.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' -C metadata=e5c04879dc24b4de -C extra-filename=-e5c04879dc24b4de --out-dir /opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps -C linker=/opt/conda/conda-bld/matchtigs_1685352493749/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps --extern heck=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libheck-ce3c1226d2131855.rlib --extern proc_macro2=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libproc_macro2-28704a5d3a30d148.rlib --extern quote=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libquote-5e1d4707a1044434.rlib --extern syn=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libsyn-6909a0153da8cd82.rlib --extern proc_macro --cap-lints allow - Compiling termcolor v1.1.3 - Running rustc --crate-name termcolor --edition=2018 /opt/conda/conda-bld/matchtigs_1685352493749/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/termcolor-1.1.3/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C debuginfo=2 -C metadata=bda75f15087c6830 -C extra-filename=-bda75f15087c6830 --out-dir /opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps -C linker=/opt/conda/conda-bld/matchtigs_1685352493749/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps --cap-lints allow - Compiling disjoint-sets v0.4.2 - Running rustc --crate-name disjoint_sets /opt/conda/conda-bld/matchtigs_1685352493749/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/disjoint-sets-0.4.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C debuginfo=2 -C metadata=cdef6477d36b0c69 -C extra-filename=-cdef6477d36b0c69 --out-dir /opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps -C linker=/opt/conda/conda-bld/matchtigs_1685352493749/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps --cap-lints allow - Compiling genome-graph v5.2.0 - Running rustc --crate-name genome_graph --edition=2021 /opt/conda/conda-bld/matchtigs_1685352493749/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/genome-graph-5.2.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C debuginfo=2 --cfg 'feature="traitgraph-algo"' -C metadata=f1f9f43eca9c0cbc -C extra-filename=-f1f9f43eca9c0cbc --out-dir /opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps -C linker=/opt/conda/conda-bld/matchtigs_1685352493749/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps --extern anyhow=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libanyhow-970e725c20f36b78.rmeta --extern bigraph=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libbigraph-d48072365ca04b7e.rmeta --extern bio=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libbio-428bb18d1e5e7978.rmeta --extern compact_genome=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libcompact_genome-f1dacdb0e642ea1d.rmeta --extern disjoint_sets=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libdisjoint_sets-cdef6477d36b0c69.rmeta --extern error_chain=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/liberror_chain-de91467585a0f101.rmeta --extern log=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/liblog-222ce67e5627d39a.rmeta --extern num_traits=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libnum_traits-91ac9ff4e716de54.rmeta --extern regex=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libregex-e8f29f1319bd1bf9.rmeta --extern traitgraph_algo=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libtraitgraph_algo-0da65161844e678e.rmeta --cap-lints allow - Compiling clap v4.3.0 - Running rustc --crate-name clap --edition=2021 /opt/conda/conda-bld/matchtigs_1685352493749/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/clap-4.3.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C debuginfo=2 --cfg 'feature="cargo"' --cfg 'feature="color"' --cfg 'feature="default"' --cfg 'feature="derive"' --cfg 'feature="error-context"' --cfg 'feature="help"' --cfg 'feature="std"' --cfg 'feature="suggestions"' --cfg 'feature="usage"' -C metadata=62f315ad00245630 -C extra-filename=-62f315ad00245630 --out-dir /opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps -C linker=/opt/conda/conda-bld/matchtigs_1685352493749/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps --extern clap_builder=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libclap_builder-8be52c6c0fae3a91.rmeta --extern clap_derive=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libclap_derive-e5c04879dc24b4de.so --extern once_cell=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libonce_cell-1af048d720dc90db.rmeta --cap-lints allow - Compiling simplelog v0.12.1 - Running rustc --crate-name simplelog --edition=2018 /opt/conda/conda-bld/matchtigs_1685352493749/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/simplelog-0.12.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="local-offset"' --cfg 'feature="termcolor"' -C metadata=570deb8a8d99c61b -C extra-filename=-570deb8a8d99c61b --out-dir /opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps -C linker=/opt/conda/conda-bld/matchtigs_1685352493749/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps --extern log=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/liblog-222ce67e5627d39a.rmeta --extern termcolor=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libtermcolor-bda75f15087c6830.rmeta --extern time=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libtime-cd91c07161414263.rmeta --cap-lints allow - Compiling flate2 v1.0.26 - Running rustc --crate-name flate2 --edition=2018 /opt/conda/conda-bld/matchtigs_1685352493749/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/flate2-1.0.26/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="miniz_oxide"' --cfg 'feature="rust_backend"' -C metadata=e28aebe213d35db0 -C extra-filename=-e28aebe213d35db0 --out-dir /opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps -C linker=/opt/conda/conda-bld/matchtigs_1685352493749/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps --extern crc32fast=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libcrc32fast-1b5dbef380751fbb.rmeta --extern miniz_oxide=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libminiz_oxide-d4b698deea0ed15d.rmeta --cap-lints allow - Compiling crossbeam v0.8.2 - Running rustc --crate-name crossbeam --edition=2018 /opt/conda/conda-bld/matchtigs_1685352493749/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-0.8.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C debuginfo=2 --cfg 'feature="alloc"' --cfg 'feature="crossbeam-channel"' --cfg 'feature="crossbeam-deque"' --cfg 'feature="crossbeam-epoch"' --cfg 'feature="crossbeam-queue"' --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=e0ba050ad89c9cc4 -C extra-filename=-e0ba050ad89c9cc4 --out-dir /opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps -C linker=/opt/conda/conda-bld/matchtigs_1685352493749/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps --extern cfg_if=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libcfg_if-1f0e8aa877c8070d.rmeta --extern crossbeam_channel=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libcrossbeam_channel-4ec529cb6862f4cf.rmeta --extern crossbeam_deque=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libcrossbeam_deque-09b8b5d6c6489017.rmeta --extern crossbeam_epoch=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libcrossbeam_epoch-03a2a8c23802678b.rmeta --extern crossbeam_queue=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libcrossbeam_queue-a9a20555b2200c9e.rmeta --extern crossbeam_utils=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libcrossbeam_utils-469504b851c5f146.rmeta --cap-lints allow - Compiling memory-stats v1.1.0 - Running rustc --crate-name memory_stats --edition=2021 /opt/conda/conda-bld/matchtigs_1685352493749/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/memory-stats-1.1.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C debuginfo=2 -C metadata=0abaf08295d64751 -C extra-filename=-0abaf08295d64751 --out-dir /opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps -C linker=/opt/conda/conda-bld/matchtigs_1685352493749/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps --extern libc=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/liblibc-24109b92b56898e0.rmeta --cap-lints allow - Compiling permutation v0.4.1 - Running rustc --crate-name permutation /opt/conda/conda-bld/matchtigs_1685352493749/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/permutation-0.4.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C debuginfo=2 -C metadata=cbccced583c33429 -C extra-filename=-cbccced583c33429 --out-dir /opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps -C linker=/opt/conda/conda-bld/matchtigs_1685352493749/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps --cap-lints allow - Compiling atomic-counter v1.0.1 - Running rustc --crate-name atomic_counter /opt/conda/conda-bld/matchtigs_1685352493749/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/atomic-counter-1.0.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C debuginfo=2 -C metadata=83828d0b73047a5b -C extra-filename=-83828d0b73047a5b --out-dir /opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps -C linker=/opt/conda/conda-bld/matchtigs_1685352493749/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps --cap-lints allow - Compiling matchtigs v1.5.5 (/opt/conda/conda-bld/matchtigs_1685352493749/work) - Running rustc --crate-name libmatchtigs --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type rlib --crate-type dylib --emit=dep-info,link -C opt-level=3 -C debuginfo=2 -C metadata=c59794c42c2e5d2c --out-dir /opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps -C linker=/opt/conda/conda-bld/matchtigs_1685352493749/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps --extern atomic_counter=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libatomic_counter-83828d0b73047a5b.rlib --extern clap=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libclap-62f315ad00245630.rlib --extern crossbeam=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libcrossbeam-e0ba050ad89c9cc4.rlib --extern disjoint_sets=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libdisjoint_sets-cdef6477d36b0c69.rlib --extern flate2=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libflate2-e28aebe213d35db0.rlib --extern genome_graph=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libgenome_graph-f1f9f43eca9c0cbc.rlib --extern hashbrown=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libhashbrown-8db72db2c593f85e.rlib --extern itertools=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libitertools-ef1bbdf2dc7723ca.rlib --extern log=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/liblog-222ce67e5627d39a.rlib --extern memory_stats=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libmemory_stats-0abaf08295d64751.rlib --extern permutation=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libpermutation-cbccced583c33429.rlib --extern simplelog=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libsimplelog-570deb8a8d99c61b.rlib --extern traitgraph_algo=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libtraitgraph_algo-0da65161844e678e.rlib - error[E0277]: the trait bound hashbrown::HashMap<_, _>: NodeWeightArray is not satisfied - --> src/implementation/greedytigs/mod.rs:153:17 - | - 153 | hashbrown::HashMap<_, _>, - | ^^^^^^^^^^^^^^^^^^^^^^^^ the trait NodeWeightArray is not implemented for hashbrown::HashMap<_, _> - | - = help: the following other types implement trait NodeWeightArray: - EpochNodeWeightArray - Vec - hashbrown::map::HashMap - note: required by a bound in compute_greedytigs_choose_dijkstra_performance_type - --> src/implementation/greedytigs/mod.rs:171:30 - | - 159 | fn compute_greedytigs_choose_dijkstra_performance_type< - | --------------------------------------------------- required by a bound in this function - ... - 171 | DijkstraNodeWeightArray: NodeWeightArray, - | ^^^^^^^^^^^^^^^^^^^^^^ required by this bound in compute_greedytigs_choose_dijkstra_performance_type - - error[E0277]: the trait bound hashbrown::HashMap<_, _>: NodeWeightArray is not satisfied - --> src/implementation/matchtigs/mod.rs:127:66 - | - 127 | compute_matchtigs::<_, _, _, _, _, DijkstraHeapType, hashbrown::HashMap<_, _>>( - | ^^^^^^^^^^^^^^^^^^^^^^^^ the trait NodeWeightArray is not implemented for hashbrown::HashMap<_, _> - | - = help: the following other types implement trait NodeWeightArray: - EpochNodeWeightArray - Vec - hashbrown::map::HashMap - note: required by a bound in compute_matchtigs - --> src/implementation/matchtigs/mod.rs:152:30 - | - 138 | fn compute_matchtigs< - | ----------------- required by a bound in this function - ... - 152 | DijkstraNodeWeightArray: NodeWeightArray, - | ^^^^^^^^^^^^^^^^^^^^^^ required by this bound in compute_matchtigs - - For more information about this error, try rustc --explain E0277. - error: could not compile matchtigs due to 2 previous errors - - Caused by: - process didn't exit successfully: rustc --crate-name libmatchtigs --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type rlib --crate-type dylib --emit=dep-info,link -C opt-level=3 -C debuginfo=2 -C metadata=c59794c42c2e5d2c --out-dir /opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps -C linker=/opt/conda/conda-bld/matchtigs_1685352493749/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps --extern atomic_counter=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libatomic_counter-83828d0b73047a5b.rlib --extern clap=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libclap-62f315ad00245630.rlib --extern crossbeam=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libcrossbeam-e0ba050ad89c9cc4.rlib --extern disjoint_sets=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libdisjoint_sets-cdef6477d36b0c69.rlib --extern flate2=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libflate2-e28aebe213d35db0.rlib --extern genome_graph=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libgenome_graph-f1f9f43eca9c0cbc.rlib --extern hashbrown=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libhashbrown-8db72db2c593f85e.rlib --extern itertools=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libitertools-ef1bbdf2dc7723ca.rlib --extern log=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/liblog-222ce67e5627d39a.rlib --extern memory_stats=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libmemory_stats-0abaf08295d64751.rlib --extern permutation=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libpermutation-cbccced583c33429.rlib --extern simplelog=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libsimplelog-570deb8a8d99c61b.rlib --extern traitgraph_algo=/opt/conda/conda-bld/matchtigs_1685352493749/work/target/release/deps/libtraitgraph_algo-0da65161844e678e.rlib (exit status: 1) - error: failed to compile matchtigs v1.5.5 (/opt/conda/conda-bld/matchtigs_1685352493749/work), intermediate artifacts can be found at /opt/conda/conda-bld/matchtigs_1685352493749/work/target - Traceback (most recent call last): - File "/opt/conda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/matchtigs_1685352493749/work/conda_build.sh']' returned non-zero exit status 101. -# Last 100 lines of the build log. diff --git a/recipes/matchtigs/build_failure.osx-64.yaml b/recipes/matchtigs/build_failure.osx-64.yaml deleted file mode 100644 index c1ec0d0846ab8..0000000000000 --- a/recipes/matchtigs/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 02efdfc2f9abb5a0a1b47ed3022a17ded394809c39b45eb88ed5f9cb82af9995 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - Running rustc --crate-name time --edition=2021 /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/time-0.3.21/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C split-debuginfo=unpacked -C debuginfo=2 --cfg 'feature="alloc"' --cfg 'feature="default"' --cfg 'feature="formatting"' --cfg 'feature="local-offset"' --cfg 'feature="macros"' --cfg 'feature="std"' -C metadata=cff33a254c499774 -C extra-filename=-cff33a254c499774 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps --extern itoa=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libitoa-b6b1c1e87a00a932.rmeta --extern libc=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/liblibc-5ccb4aa1e1d2bd7b.rmeta --extern num_threads=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libnum_threads-89b9574ec870b2e7.rmeta --extern time_core=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libtime_core-efbc93ef8285afaf.rmeta --extern time_macros=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libtime_macros-bdc1a6b7f4a5cf89.dylib --cap-lints allow - Compiling bigraph v2.1.1 - Running rustc --crate-name bigraph --edition=2021 /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/bigraph-2.1.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C split-debuginfo=unpacked -C debuginfo=2 -C metadata=d2bd8a69f23852a3 -C extra-filename=-d2bd8a69f23852a3 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps --extern bitvector=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libbitvector-62c20adfe03e270b.rmeta --extern traitgraph=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libtraitgraph-bc9e80d37d1ec123.rmeta --extern traitgraph_algo=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libtraitgraph_algo-51afa055a65fcde9.rmeta --cap-lints allow - Compiling compact-genome v1.3.1 - Running rustc --crate-name compact_genome --edition=2021 /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/compact-genome-1.3.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C split-debuginfo=unpacked -C debuginfo=2 -C metadata=e9d7ac380993b77d -C extra-filename=-e9d7ac380993b77d --out-dir /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps --extern bitvec=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libbitvec-14901b094009aee9.rmeta --extern itertools=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libitertools-8b37b4be1693c850.rmeta --extern lazy_static=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/liblazy_static-8edbd0d7e87fd514.rmeta --extern ref_cast=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libref_cast-cc0d3a2bee0d0e12.rmeta --extern traitsequence=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libtraitsequence-a531d7f6a4e1fe1e.rmeta --cap-lints allow - Running rustc --crate-name error_chain /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/error-chain-0.12.4/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C split-debuginfo=unpacked -C debuginfo=2 --cfg 'feature="backtrace"' --cfg 'feature="default"' --cfg 'feature="example_generated"' -C metadata=6c9568dbb57bc607 -C extra-filename=-6c9568dbb57bc607 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps --extern backtrace=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libbacktrace-570fe45a369c67f4.rmeta --cap-lints allow --cfg has_error_source --cfg has_error_description_deprecated --cfg 'build="release"' - Running rustc --crate-name crc32fast /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/crc32fast-1.3.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C split-debuginfo=unpacked -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=7811e7ccc03c41a3 -C extra-filename=-7811e7ccc03c41a3 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps --extern cfg_if=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libcfg_if-339ca62e89c174cb.rmeta --cap-lints allow --cfg crc32fast_stdarchx86 - Compiling crossbeam-deque v0.8.3 - Running rustc --crate-name crossbeam_deque --edition=2018 /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-deque-0.8.3/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C split-debuginfo=unpacked -C debuginfo=2 --cfg 'feature="crossbeam-epoch"' --cfg 'feature="crossbeam-utils"' --cfg 'feature="std"' -C metadata=7865db6c4e96116f -C extra-filename=-7865db6c4e96116f --out-dir /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps --extern cfg_if=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libcfg_if-339ca62e89c174cb.rmeta --extern crossbeam_epoch=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libcrossbeam_epoch-a10e430ec7b298ce.rmeta --extern crossbeam_utils=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libcrossbeam_utils-bf65195b665feb14.rmeta --cap-lints allow - Running rustc --crate-name crossbeam_queue --edition=2018 /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-queue-0.3.8/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C split-debuginfo=unpacked -C debuginfo=2 --cfg 'feature="alloc"' --cfg 'feature="std"' -C metadata=b41cf3aebcf055e5 -C extra-filename=-b41cf3aebcf055e5 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps --extern cfg_if=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libcfg_if-339ca62e89c174cb.rmeta --extern crossbeam_utils=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libcrossbeam_utils-bf65195b665feb14.rmeta --cap-lints allow - Compiling crossbeam-channel v0.5.8 - Running rustc --crate-name crossbeam_channel --edition=2018 /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-channel-0.5.8/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C split-debuginfo=unpacked -C debuginfo=2 --cfg 'feature="crossbeam-utils"' --cfg 'feature="std"' -C metadata=7bd094e4aa0096a2 -C extra-filename=-7bd094e4aa0096a2 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps --extern cfg_if=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libcfg_if-339ca62e89c174cb.rmeta --extern crossbeam_utils=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libcrossbeam_utils-bf65195b665feb14.rmeta --cap-lints allow - Compiling miniz_oxide v0.7.1 - Running rustc --crate-name miniz_oxide --edition=2018 /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/miniz_oxide-0.7.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C split-debuginfo=unpacked -C debuginfo=2 --cfg 'feature="with-alloc"' -C metadata=3da386d2fb157607 -C extra-filename=-3da386d2fb157607 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps --extern adler=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libadler-754d0b764340dbd6.rmeta --cap-lints allow - Compiling clap_derive v4.3.0 - Running rustc --crate-name clap_derive --edition=2021 /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/clap_derive-4.3.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C split-debuginfo=unpacked -C debug-assertions=off --cfg 'feature="default"' -C metadata=0f55988242712f27 -C extra-filename=-0f55988242712f27 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps --extern heck=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libheck-62756755ed2fbfaa.rlib --extern proc_macro2=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libproc_macro2-40d3bbe8601e6cec.rlib --extern quote=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libquote-6701b06942490b47.rlib --extern syn=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libsyn-74574b7852e8dedb.rlib --extern proc_macro --cap-lints allow - Compiling disjoint-sets v0.4.2 - Running rustc --crate-name disjoint_sets /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/disjoint-sets-0.4.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C split-debuginfo=unpacked -C debuginfo=2 -C metadata=d6b88b013a3f602b -C extra-filename=-d6b88b013a3f602b --out-dir /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps --cap-lints allow - Compiling termcolor v1.1.3 - Running rustc --crate-name termcolor --edition=2018 /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/termcolor-1.1.3/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C split-debuginfo=unpacked -C debuginfo=2 -C metadata=a4346f1bb9e6cd9d -C extra-filename=-a4346f1bb9e6cd9d --out-dir /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps --cap-lints allow - Compiling simplelog v0.12.1 - Running rustc --crate-name simplelog --edition=2018 /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/simplelog-0.12.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C split-debuginfo=unpacked -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="local-offset"' --cfg 'feature="termcolor"' -C metadata=049ab829b27b68bc -C extra-filename=-049ab829b27b68bc --out-dir /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps --extern log=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/liblog-9e6b74f49674def0.rmeta --extern termcolor=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libtermcolor-a4346f1bb9e6cd9d.rmeta --extern time=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libtime-cff33a254c499774.rmeta --cap-lints allow - Compiling clap v4.3.0 - Running rustc --crate-name clap --edition=2021 /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/clap-4.3.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C split-debuginfo=unpacked -C debuginfo=2 --cfg 'feature="cargo"' --cfg 'feature="color"' --cfg 'feature="default"' --cfg 'feature="derive"' --cfg 'feature="error-context"' --cfg 'feature="help"' --cfg 'feature="std"' --cfg 'feature="suggestions"' --cfg 'feature="usage"' -C metadata=74d7a9ce665f4d0a -C extra-filename=-74d7a9ce665f4d0a --out-dir /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps --extern clap_builder=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libclap_builder-a116f0451cad590b.rmeta --extern clap_derive=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libclap_derive-0f55988242712f27.dylib --extern once_cell=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libonce_cell-5097ed0257a50681.rmeta --cap-lints allow - Compiling genome-graph v5.2.0 - Running rustc --crate-name genome_graph --edition=2021 /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/genome-graph-5.2.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C split-debuginfo=unpacked -C debuginfo=2 --cfg 'feature="traitgraph-algo"' -C metadata=161e13b62f7e18c3 -C extra-filename=-161e13b62f7e18c3 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps --extern anyhow=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libanyhow-1bd97613d181b76f.rmeta --extern bigraph=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libbigraph-d2bd8a69f23852a3.rmeta --extern bio=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libbio-bc9df6df28031d3a.rmeta --extern compact_genome=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libcompact_genome-e9d7ac380993b77d.rmeta --extern disjoint_sets=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libdisjoint_sets-d6b88b013a3f602b.rmeta --extern error_chain=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/liberror_chain-6c9568dbb57bc607.rmeta --extern log=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/liblog-9e6b74f49674def0.rmeta --extern num_traits=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libnum_traits-268c3fdbd8502ef9.rmeta --extern regex=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libregex-0703bb8ce6a2ee23.rmeta --extern traitgraph_algo=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libtraitgraph_algo-51afa055a65fcde9.rmeta --cap-lints allow - Compiling flate2 v1.0.26 - Running rustc --crate-name flate2 --edition=2018 /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/flate2-1.0.26/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C split-debuginfo=unpacked -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="miniz_oxide"' --cfg 'feature="rust_backend"' -C metadata=e088f03a9f7cc483 -C extra-filename=-e088f03a9f7cc483 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps --extern crc32fast=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libcrc32fast-7811e7ccc03c41a3.rmeta --extern miniz_oxide=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libminiz_oxide-3da386d2fb157607.rmeta --cap-lints allow - Compiling crossbeam v0.8.2 - Running rustc --crate-name crossbeam --edition=2018 /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-0.8.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C split-debuginfo=unpacked -C debuginfo=2 --cfg 'feature="alloc"' --cfg 'feature="crossbeam-channel"' --cfg 'feature="crossbeam-deque"' --cfg 'feature="crossbeam-epoch"' --cfg 'feature="crossbeam-queue"' --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=2b10bb12540e959a -C extra-filename=-2b10bb12540e959a --out-dir /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps --extern cfg_if=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libcfg_if-339ca62e89c174cb.rmeta --extern crossbeam_channel=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libcrossbeam_channel-7bd094e4aa0096a2.rmeta --extern crossbeam_deque=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libcrossbeam_deque-7865db6c4e96116f.rmeta --extern crossbeam_epoch=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libcrossbeam_epoch-a10e430ec7b298ce.rmeta --extern crossbeam_queue=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libcrossbeam_queue-b41cf3aebcf055e5.rmeta --extern crossbeam_utils=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libcrossbeam_utils-bf65195b665feb14.rmeta --cap-lints allow - Compiling memory-stats v1.1.0 - Running rustc --crate-name memory_stats --edition=2021 /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/memory-stats-1.1.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C split-debuginfo=unpacked -C debuginfo=2 -C metadata=c00b1209dafae645 -C extra-filename=-c00b1209dafae645 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps --extern libc=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/liblibc-5ccb4aa1e1d2bd7b.rmeta --cap-lints allow - Compiling permutation v0.4.1 - Running rustc --crate-name permutation /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/permutation-0.4.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C split-debuginfo=unpacked -C debuginfo=2 -C metadata=b54a1338bdf1876c -C extra-filename=-b54a1338bdf1876c --out-dir /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps --cap-lints allow - Compiling atomic-counter v1.0.1 - Running rustc --crate-name atomic_counter /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/atomic-counter-1.0.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C split-debuginfo=unpacked -C debuginfo=2 -C metadata=421a189e98cc8a78 -C extra-filename=-421a189e98cc8a78 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps --cap-lints allow - Compiling matchtigs v1.5.5 (/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work) - Running rustc --crate-name libmatchtigs --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type rlib --crate-type dylib --emit=dep-info,link -C opt-level=3 -C split-debuginfo=unpacked -C debuginfo=2 -C metadata=bd40b947ed26e03b --out-dir /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps --extern atomic_counter=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libatomic_counter-421a189e98cc8a78.rlib --extern clap=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libclap-74d7a9ce665f4d0a.rlib --extern crossbeam=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libcrossbeam-2b10bb12540e959a.rlib --extern disjoint_sets=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libdisjoint_sets-d6b88b013a3f602b.rlib --extern flate2=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libflate2-e088f03a9f7cc483.rlib --extern genome_graph=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libgenome_graph-161e13b62f7e18c3.rlib --extern hashbrown=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libhashbrown-f4ec59303b295fb7.rlib --extern itertools=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libitertools-8b37b4be1693c850.rlib --extern log=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/liblog-9e6b74f49674def0.rlib --extern memory_stats=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libmemory_stats-c00b1209dafae645.rlib --extern permutation=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libpermutation-b54a1338bdf1876c.rlib --extern simplelog=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libsimplelog-049ab829b27b68bc.rlib --extern traitgraph_algo=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libtraitgraph_algo-51afa055a65fcde9.rlib - error[E0277]: the trait bound hashbrown::HashMap<_, _>: NodeWeightArray is not satisfied - --> src/implementation/greedytigs/mod.rs:153:17 - | - 153 | hashbrown::HashMap<_, _>, - | ^^^^^^^^^^^^^^^^^^^^^^^^ the trait NodeWeightArray is not implemented for hashbrown::HashMap<_, _> - | - = help: the following other types implement trait NodeWeightArray: - EpochNodeWeightArray - Vec - hashbrown::map::HashMap - note: required by a bound in compute_greedytigs_choose_dijkstra_performance_type - --> src/implementation/greedytigs/mod.rs:171:30 - | - 159 | fn compute_greedytigs_choose_dijkstra_performance_type< - | --------------------------------------------------- required by a bound in this function - ... - 171 | DijkstraNodeWeightArray: NodeWeightArray, - | ^^^^^^^^^^^^^^^^^^^^^^ required by this bound in compute_greedytigs_choose_dijkstra_performance_type - - error[E0277]: the trait bound hashbrown::HashMap<_, _>: NodeWeightArray is not satisfied - --> src/implementation/matchtigs/mod.rs:127:66 - | - 127 | compute_matchtigs::<_, _, _, _, _, DijkstraHeapType, hashbrown::HashMap<_, _>>( - | ^^^^^^^^^^^^^^^^^^^^^^^^ the trait NodeWeightArray is not implemented for hashbrown::HashMap<_, _> - | - = help: the following other types implement trait NodeWeightArray: - EpochNodeWeightArray - Vec - hashbrown::map::HashMap - note: required by a bound in compute_matchtigs - --> src/implementation/matchtigs/mod.rs:152:30 - | - 138 | fn compute_matchtigs< - | ----------------- required by a bound in this function - ... - 152 | DijkstraNodeWeightArray: NodeWeightArray, - | ^^^^^^^^^^^^^^^^^^^^^^ required by this bound in compute_matchtigs - - For more information about this error, try rustc --explain E0277. - error: could not compile matchtigs due to 2 previous errors - - Caused by: - process didn't exit successfully: rustc --crate-name libmatchtigs --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type rlib --crate-type dylib --emit=dep-info,link -C opt-level=3 -C split-debuginfo=unpacked -C debuginfo=2 -C metadata=bd40b947ed26e03b --out-dir /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps --extern atomic_counter=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libatomic_counter-421a189e98cc8a78.rlib --extern clap=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libclap-74d7a9ce665f4d0a.rlib --extern crossbeam=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libcrossbeam-2b10bb12540e959a.rlib --extern disjoint_sets=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libdisjoint_sets-d6b88b013a3f602b.rlib --extern flate2=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libflate2-e088f03a9f7cc483.rlib --extern genome_graph=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libgenome_graph-161e13b62f7e18c3.rlib --extern hashbrown=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libhashbrown-f4ec59303b295fb7.rlib --extern itertools=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libitertools-8b37b4be1693c850.rlib --extern log=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/liblog-9e6b74f49674def0.rlib --extern memory_stats=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libmemory_stats-c00b1209dafae645.rlib --extern permutation=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libpermutation-b54a1338bdf1876c.rlib --extern simplelog=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libsimplelog-049ab829b27b68bc.rlib --extern traitgraph_algo=/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target/release/deps/libtraitgraph_algo-51afa055a65fcde9.rlib (exit status: 1) - error: failed to compile matchtigs v1.5.5 (/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work), intermediate artifacts can be found at /opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/target - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/matchtigs_1685352902295/work/conda_build.sh']' returned non-zero exit status 101. -# Last 100 lines of the build log. diff --git a/recipes/matchtigs/meta.yaml b/recipes/matchtigs/meta.yaml index 34e9b0af46499..c27476b2c0647 100644 --- a/recipes/matchtigs/meta.yaml +++ b/recipes/matchtigs/meta.yaml @@ -1,19 +1,22 @@ -{% set version = "2.1.5" %} +{% set name = "matchtigs" %} +{% set version = "2.1.7" %} package: - name: matchtigs + name: {{ name }} version: {{ version }} build: - number: 0 + number: 1 + run_exports: + - {{ pin_subpackage('matchtigs', max_pin="x") }} source: - url: https://github.com/algbio/matchtigs/archive/refs/tags/v{{ version }}.tar.gz - sha256: b01f2e3582801eda2f7003a2bf5843c4d4788e71c178eb226e70775aeaf48370 + url: https://github.com/algbio/matchtigs/archive/b809cc85986d4339bd45705e40df9e802816ff80.zip + sha256: 14079f983631b2ba5a41a01f8afd5786e6351722aba3da6b46ccd4cb46c03656 requirements: build: - - rust >=1.65 + - {{ compiler('rust') }} - {{ compiler('c') }} test: @@ -21,10 +24,18 @@ test: - matchtigs --help about: - home: https://github.com/algbio/matchtigs.git + home: "https://github.com/algbio/matchtigs" license: MIT + license_family: MIT summary: | - Different algorithms for computing small and minimum plain text representations of kmer sets. + "Different algorithms for computing small and minimum plain text representations of kmer sets." + dev_url: "https://github.com/algbio/matchtigs" + extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - sebschmi + identifiers: + - doi:10.1186/s13059-023-02968-z diff --git a/recipes/mauvealigner/build_failure.linux-64.yaml b/recipes/mauvealigner/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..6e1fd8a1d5b0e --- /dev/null +++ b/recipes/mauvealigner/build_failure.linux-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: 5d19fabaadfaf7687d740f9e2d47033957403db41a3836624b1d7f73766e540c # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: compiler error +log: |- + checking pkg-config is at least version 0.9.0... yes + checking for DEPS... yes + checking for an ANSI C-conforming const... yes + checking for inline... inline + checking for memset... yes + checking for libintl.h... yes + checking for stdlib.h... (cached) yes + checking for string.h... (cached) yes + checking for strings.h... (cached) yes + checking for unistd.h... (cached) yes + checking for wchar.h... yes + checking for GNU libc compatible malloc... yes + checking for _Bool... yes + checking for stdbool.h that conforms to C99... yes + checking for size_t... yes + checking how to run the C preprocessor... $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cpp + checking whether $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc needs -traditional... no + checking that generated files are newer than configure... done + configure: creating ./config.status + config.status: creating Makefile + config.status: creating src/Makefile + config.status: creating src/config.h + config.status: executing depfiles commands + Making all in src + make[1]: Entering directory '$SRC_DIR/src' + make all-am + make[2]: Entering directory '$SRC_DIR/src' + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -I$PREFIX/include/libMems-1.6 -I$PREFIX/include/libGenome-1.3 -I$PREFIX/include/libMUSCLE-3.7 -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Ofast -DCOMMAND_LINE -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mauvealigner-1.2.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -MT mauveAligner.o -MD -MP -MF .deps/mauveAligner.Tpo -c -o mauveAligner.o mauveAligner.cpp + In file included from /opt/conda/conda-bld/mauvealigner_1718134884435/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/ext/hash_map:60, + from /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMems-1.6/libMems/HomologyHMM/dptables.h:43, + from /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMems-1.6/libMems/HomologyHMM/homology.h:27, + from /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMems-1.6/libMems/Islands.h:25, + from mauveAligner.cpp:29: + /opt/conda/conda-bld/mauvealigner_1718134884435/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header which may be removed without further notice at a future date. Please use a non-deprecated interface with equivalent functionality instead. For a listing of replacement headers and interfaces, consult the file backward_warning.h. To disable this warning use -Wno-deprecated. [-Wcpp] + 32 | #warning \ + | ^~~~~~~ + mauveAligner.cpp:47: warning: "NELEMS" redefined + 47 | #define NELEMS(a) ( sizeof( a ) / sizeof( *a ) ) + | + In file included from /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMems-1.6/libMems/SlotAllocator.h:20, + from /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMems-1.6/libMems/AbstractMatch.h:23, + from /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMems-1.6/libMems/UngappedLocalAlignment.h:18, + from /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMems-1.6/libMems/Match.h:19, + from /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMems-1.6/libMems/MatchFinder.h:17, + from /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMems-1.6/libMems/MemHash.h:20, + from mauveAligner.cpp:21: + /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMUSCLE-3.7/libMUSCLE/threadstorage.h:22: note: this is the location of the previous definition + 22 | #define NELEMS(o) sizeof(o)/sizeof(o[0]) + | + In file included from /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMems-1.6/libMems/MatchList.h:25, + from /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMems-1.6/libMems/MatchFinder.h:18: + /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMems-1.6/libMems/Files.h: In function 'std::string CreateTempFileName(const std::string&)': + /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMems-1.6/libMems/Files.h:82:20: error: 'class boost::filesystem::path' has no member named 'branch_path' + 82 | dir = path.branch_path().string(); + | ^~~~~~~~~~~ + /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMems-1.6/libMems/Files.h:86:21: error: 'class boost::filesystem::path' has no member named 'leaf' + 86 | name = path.leaf().string(); + | ^~~~ + In file included from /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMems-1.6/libMems/HomologyHMM/homology.h:28: + /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMems-1.6/libMems/HomologyHMM/algebras.h: In function 'BFloat double2bfloat(double)': + /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMems-1.6/libMems/HomologyHMM/algebras.h:190:21: warning: ISO C17 does not allow 'register' storage class specifier [-Wregister] + 190 | register BFloat a( 0.0, 0 ); + | ^ + /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMems-1.6/libMems/HomologyHMM/algebras.h: In function 'BFloat bfloat_pr_product(const BFloat&, const BFloat&)': + /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMems-1.6/libMems/HomologyHMM/algebras.h:209:19: warning: ISO C17 does not allow 'register' storage class specifier [-Wregister] + 209 | register BFloat sf(a.f*b.f,a.eb.e); + | ^~ + /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMems-1.6/libMems/HomologyHMM/algebras.h: In function 'BFloat bfloat_pr_double_product(const BFloat&, double)': + /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMems-1.6/libMems/HomologyHMM/algebras.h:216:19: warning: ISO C17 does not allow 'register' storage class specifier [-Wregister] + 216 | register double mantisse = a.f*b; + | ^~~~~~~~ + /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMems-1.6/libMems/HomologyHMM/algebras.h: In function 'void bfloat_pr_double_product_accum(BFloat&, double)': + /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMems-1.6/libMems/HomologyHMM/algebras.h:229:19: warning: ISO C17 does not allow 'register' storage class specifier [-Wregister] + 229 | register double mantisse = a.f*b; + | ^~~~~~~~ + /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMems-1.6/libMems/HomologyHMM/algebras.h: In function 'BFloat bfloat_pr_quotient(const BFloat&, const BFloat&)': + /opt/conda/conda-bld/mauvealigner_1718134884435/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/libMems-1.6/libMems/HomologyHMM/algebras.h:236:19: warning: ISO C17 does not allow 'register' storage class specifier [-Wregister] + 236 | register BFloat sf(a.f/b.f, a.e-b.e); + | ^~ + make[2]: *** [Makefile:1084: mauveAligner.o] Error 1 + make[2]: Leaving directory '$SRC_DIR/src' + make[1]: *** [Makefile:716: all] Error 2 + make[1]: Leaving directory '$SRC_DIR/src' + make: *** [Makefile:392: all-recursive] Error 1 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/mauvealigner_1718134884435/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. diff --git a/recipes/mauvealigner/meta.yaml b/recipes/mauvealigner/meta.yaml index 7e727e0569a56..f081a74462e24 100644 --- a/recipes/mauvealigner/meta.yaml +++ b/recipes/mauvealigner/meta.yaml @@ -7,7 +7,7 @@ package: build: skip: True # [osx] - number: 5 + number: 6 source: url: https://depot.galaxyproject.org/software/mauveAligner/mauveAligner_{{ version }}_src_all.zip diff --git a/recipes/mawk/meta.yaml b/recipes/mawk/meta.yaml index 28545184f83bf..4ee5d4cf677b2 100644 --- a/recipes/mawk/meta.yaml +++ b/recipes/mawk/meta.yaml @@ -4,20 +4,31 @@ package: name: mawk version: "1.3.4" + source: url: https://invisible-mirror.net/archives/mawk/mawk-{{ version }}-{{ date }}.tgz sha256: db17115d1ed18ed1607c8b93291db9ccd4fe5e0f30d2928c3c5d127b23ec9e5b + build: - number: 7 + number: 9 + run_exports: + - {{ pin_subpackage('mawk', max_pin="x") }} + requirements: build: - make - {{ compiler('c') }} run: + test: commands: - mawk -W usage + about: home: http://invisible-island.net/mawk/ license: Copyright (c) 2009-2014,2015 by Thomas E. Dickey summary: mawk is an interpreter for the AWK Programming Language. + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/maxentpy/build_failure.linux-64.yaml b/recipes/maxentpy/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..f3308432324a3 --- /dev/null +++ b/recipes/maxentpy/build_failure.linux-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: 51a33edb249bbe7f0b567e6b5e0d6e6aa27af55c9f3d69af778be26468bb9805 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: compiler error +log: |2- + copying maxentpy/maxent_fast.py -> build/lib.linux-x86_64-cpython-312/maxentpy + creating build/lib.linux-x86_64-cpython-312/maxentpy/data + copying maxentpy/data/score3_matrix.txt -> build/lib.linux-x86_64-cpython-312/maxentpy/data + copying maxentpy/data/matrix5.msg -> build/lib.linux-x86_64-cpython-312/maxentpy/data + copying maxentpy/data/score5_matrix.txt -> build/lib.linux-x86_64-cpython-312/maxentpy/data + copying maxentpy/data/matrix3.msg -> build/lib.linux-x86_64-cpython-312/maxentpy/data + running build_ext + building 'maxentpy._hashseq' extension + creating build/temp.linux-x86_64-cpython-312 + creating build/temp.linux-x86_64-cpython-312/maxentpy + /opt/conda/conda-bld/maxentpy_1718208414735/_build_env/bin/x86_64-conda-linux-gnu-cc -fno-strict-overflow -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/conda/conda-bld/maxentpy_1718208414735/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/include -fPIC -O2 -isystem /opt/conda/conda-bld/maxentpy_1718208414735/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/include -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /opt/conda/conda-bld/maxentpy_1718208414735/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/include -fdebug-prefix-map=/opt/conda/conda-bld/maxentpy_1718208414735/work=/usr/local/src/conda/maxentpy-0.0.3 -fdebug-prefix-map=/opt/conda/conda-bld/maxentpy_1718208414735/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac=/usr/local/src/conda-prefix -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /opt/conda/conda-bld/maxentpy_1718208414735/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/include -fPIC -I/opt/conda/conda-bld/maxentpy_1718208414735/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/include/python3.12 -c maxentpy/_hashseq.c -o build/temp.linux-x86_64-cpython-312/maxentpy/_hashseq.o + maxentpy/_hashseq.c:158:12: fatal error: longintrepr.h: No such file or directory + 158 | #include "longintrepr.h" + | ^~~~~~~~~~~~~~~ + compilation terminated. + error: command '/opt/conda/conda-bld/maxentpy_1718208414735/_build_env/bin/x86_64-conda-linux-gnu-cc' failed with exit code 1 + [1;31merror[0m: [1msubprocess-exited-with-error[0m + + [31m[0m [32mpython setup.py bdist_wheel[0m did not run successfully. + [31m[0m exit code: [1;36m1[0m + [31m>[0m See above for output. + + [1;35mnote[0m: This error originates from a subprocess, and is likely not a problem with pip. + [1;35mfull command[0m: [34m/opt/conda/conda-bld/maxentpy_1718208414735/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin/python -u -c '[0m + [34m exec(compile('"'"''"'"''"'"'[0m + [34m # This is -- a caller that pip uses to run setup.py[0m + [34m #[0m + [34m # - It imports setuptools before invoking setup.py, to enable projects that directly[0m + [34m # import from distutils.core to work with newer packaging standards.[0m + [34m # - It provides a clear error message when setuptools is not installed.[0m + [34m # - It sets sys.argv[0] to the underlying setup.py, when invoking setup.py so[0m + [34m # setuptools doesn'"'"'t think the script is -c. This avoids the following warning:[0m + [34m # manifest_maker: standard file '"'"'-c'"'"' not found".[0m + [34m # - It generates a shim setup.py, for handling setup.cfg-only projects.[0m + [34m import os, sys, tokenize[0m + [34m [0m + [34m try:[0m + [34m import setuptools[0m + [34m except ImportError as error:[0m + [34m print([0m + [34m "ERROR: Can not execute setup.py since setuptools is not available in "[0m + [34m "the build environment.",[0m + [34m file=sys.stderr,[0m + [34m )[0m + [34m sys.exit(1)[0m + [34m [0m + [34m __file__ = %r[0m + [34m sys.argv[0] = __file__[0m + [34m [0m + [34m if os.path.exists(__file__):[0m + [34m filename = __file__[0m + [34m with tokenize.open(__file__) as f:[0m + [34m setup_py_code = f.read()[0m + [34m else:[0m + [34m filename = ""[0m + [34m setup_py_code = "from setuptools import setup; setup()"[0m + [34m [0m + [34m exec(compile(setup_py_code, filename, "exec"))[0m + [34m '"'"''"'"''"'"' % ('"'"'/opt/conda/conda-bld/maxentpy_1718208414735/work/setup.py'"'"',), "", "exec"))' bdist_wheel -d /tmp/pip-wheel-8izlri85[0m + [1;35mcwd[0m: /opt/conda/conda-bld/maxentpy_1718208414735/work/ + Building wheel for maxentpy (setup.py): finished with status 'error' + [31m ERROR: Failed building wheel for maxentpy[0m[31m + [0m Running setup.py clean for maxentpy + Running command python setup.py clean + running clean + removing 'build/temp.linux-x86_64-cpython-312' (and everything under it) + removing 'build/lib.linux-x86_64-cpython-312' (and everything under it) + 'build/bdist.linux-x86_64' does not exist -- can't clean it + 'build/scripts-3.12' does not exist -- can't clean it + removing 'build' + [31mERROR: Could not build wheels for maxentpy, which is required to install pyproject.toml-based projects[0m[31m + [0mFailed to build maxentpy + Exception information: + Traceback (most recent call last): + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper + status = run_func(*args) + ^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper + return func(self, options, args) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/commands/install.py", line 429, in run + raise InstallationError( + pip._internal.exceptions.InstallationError: Could not build wheels for maxentpy, which is required to install pyproject.toml-based projects + Removed build tracker: '/tmp/pip-build-tracker-mlxbh6c4' + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/maxentpy_1718208414735/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/maxentpy/build_failure.osx-64.yaml b/recipes/maxentpy/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..39c50efb578f2 --- /dev/null +++ b/recipes/maxentpy/build_failure.osx-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: 51a33edb249bbe7f0b567e6b5e0d6e6aa27af55c9f3d69af778be26468bb9805 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: compiler error +log: |- + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/maxentpy_1718209249491/work + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/maxentpy_1718209249491/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/maxentpy_1718209249491/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/maxentpy_1718209249491/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + AS=x86_64-apple-darwin13.4.0-as + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/maxentpy_1718209249491/work/conda_build.sh']' returned non-zero exit status 1. + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/maxentpy-0.0.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/maxentpy-0.0.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + Using pip 24.0 from $PREFIX/lib/python3.12/site-packages/pip (python 3.12) + Non-user install because user site-packages disabled + Ignoring indexes: https://pypi.org/simple + Created temporary directory: /private/tmp/pip-build-tracker-8s2t6exr + Initialized build tracking at /private/tmp/pip-build-tracker-8s2t6exr + Created build tracker: /private/tmp/pip-build-tracker-8s2t6exr + Entered build tracker: /private/tmp/pip-build-tracker-8s2t6exr + Created temporary directory: /private/tmp/pip-install-sl7ce4go + Created temporary directory: /private/tmp/pip-ephem-wheel-cache-uyfkcu5k + Processing $SRC_DIR + Added file://$SRC_DIR to build tracker '/private/tmp/pip-build-tracker-8s2t6exr' + Running setup.py (path:$SRC_DIR/setup.py) egg_info for package from file://$SRC_DIR + Created temporary directory: /private/tmp/pip-pip-egg-info-670xeor4 + Preparing metadata (setup.py): started + Preparing metadata (setup.py): finished with status 'done' + Source in $SRC_DIR has version 0.0.3, which satisfies requirement maxentpy==0.0.3 from file://$SRC_DIR + Removed maxentpy==0.0.3 from file://$SRC_DIR from build tracker '/private/tmp/pip-build-tracker-8s2t6exr' + Created temporary directory: /private/tmp/pip-unpack-2a7b86gw + Building wheels for collected packages: maxentpy + Created temporary directory: /private/tmp/pip-wheel-t6fw4vwl + Building wheel for maxentpy (setup.py): started + Destination directory: /private/tmp/pip-wheel-t6fw4vwl + Building wheel for maxentpy (setup.py): finished with status 'error' + Running setup.py clean for maxentpy + Failed to build maxentpy + Exception information: + Traceback (most recent call last): + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper + status = run_func(*args) + ^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper + return func(self, options, args) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/commands/install.py", line 429, in run + raise InstallationError( + pip._internal.exceptions.InstallationError: Could not build wheels for maxentpy, which is required to install pyproject.toml-based projects + Removed build tracker: '/private/tmp/pip-build-tracker-8s2t6exr' +# Last 100 lines of the build log. diff --git a/recipes/maxentpy/meta.yaml b/recipes/maxentpy/meta.yaml index 54a2c4f225618..f519f5cfc4e59 100644 --- a/recipes/maxentpy/meta.yaml +++ b/recipes/maxentpy/meta.yaml @@ -5,7 +5,9 @@ package: version: {{ version }} build: - number: 2 + number: 3 + run_exports: + - {{ pin_subpackage("maxentpy", max_pin="x.x") }} script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv source: diff --git a/recipes/maxit/Makefile.patch b/recipes/maxit/Makefile.patch new file mode 100644 index 0000000000000..33e09e35f883a --- /dev/null +++ b/recipes/maxit/Makefile.patch @@ -0,0 +1,26 @@ +diff --git a/Makefile b/Makefile +index e821782..7282d03 100644 +--- a/Makefile ++++ b/Makefile +@@ -22,9 +22,9 @@ LIBDIRS = common-v4.5 \ + all: compile + + binary: compile +- @sh -c './binary.sh' +- @./bin/DictToSdb -ddlFile ./data/ascii/mmcif_ddl.dic -dictFile ./data/ascii/mmcif_pdbx.dic -dictSdbFile mmcif_pdbx.sdb +- @mv mmcif_pdbx.sdb ./data/binary ++ @sh -c 'if [ `uname -m` = "x86_64" ]; then tar Jxvf ./data-binary_linux-x86_64.tar.xz; fi' ++ @sh -c 'if [ `uname -m` = "aarch64" ]; then tar Jxvf ./data-binary_linux-aarch64.tar.xz; fi' ++ @sh -c 'mv ./binary/* ./data/binary' + @rm -f ./bin/DictToSdb ./bin/cif2bin ./bin/connect_main + @sh -c 'if [ -e ./mmcif_pdbx.dic-parser.log ]; then rm -rf ./mmcif_pdbx.dic-parser.log; fi' + +@@ -48,7 +48,7 @@ debug: + (cd $$libdir && $(MAKE) -f $(MAKEFILE) "OPT=-g" install) || exit 1; \ + done + # +-clean: ++clean: + @for libdir in $(LIBDIRS); do \ + echo cleaning $$libdir; \ + (cd $$libdir && $(MAKE) -f $(MAKEFILE) clean) || exit 1; \ diff --git a/recipes/maxit/binary.csh.patch b/recipes/maxit/binary.csh.patch new file mode 100644 index 0000000000000..b3b5121376543 --- /dev/null +++ b/recipes/maxit/binary.csh.patch @@ -0,0 +1,10 @@ +diff --git a/connect-v3.3/src/binary.csh b/connect-v3.3/src/binary.csh +index 132f735..d5346ae 100755 +--- a/connect-v3.3/src/binary.csh ++++ b/connect-v3.3/src/binary.csh +@@ -1,4 +1,4 @@ +-#!/bin/tcsh -f ++#!/usr/bin/env tcsh -f + # + if ( ! ( -d data ) ) then + ln -s data-stl data diff --git a/recipes/maxit/build.sh b/recipes/maxit/build.sh new file mode 100644 index 0000000000000..45c2fe040e676 --- /dev/null +++ b/recipes/maxit/build.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +set -exo pipefail + +# Disable parallel build +export CPU_COUNT=1 + +ln -s "${CC_FOR_BUILD}" "${BUILD_PREFIX}/bin/gcc" +ln -s "${CXX_FOR_BUILD}" "${BUILD_PREFIX}/bin/g++" + +make binary "-j${CPU_COUNT}" + +unlink "${BUILD_PREFIX}/bin/gcc" +unlink "${BUILD_PREFIX}/bin/g++" + +install -d "${PREFIX}/bin" +install ${SRC_DIR}/bin/* "${PREFIX}/bin" +cp -r "${SRC_DIR}/data" "${PREFIX}/data" + diff --git a/recipes/maxit/data-binary_linux-x86_64.tar.xz b/recipes/maxit/data-binary_linux-x86_64.tar.xz new file mode 100644 index 0000000000000..02fdced44170c Binary files /dev/null and b/recipes/maxit/data-binary_linux-x86_64.tar.xz differ diff --git a/recipes/maxit/generate_assembly_cif_file.C.patch b/recipes/maxit/generate_assembly_cif_file.C.patch new file mode 100644 index 0000000000000..8930a926f2fc5 --- /dev/null +++ b/recipes/maxit/generate_assembly_cif_file.C.patch @@ -0,0 +1,205 @@ +diff --git a/maxit-v10.1/src/generate_assembly_cif_file.C b/maxit-v10.1/src/generate_assembly_cif_file.C +index 46887ee..2802c5a 100644 +--- a/maxit-v10.1/src/generate_assembly_cif_file.C ++++ b/maxit-v10.1/src/generate_assembly_cif_file.C +@@ -30,64 +30,64 @@ not limited to, any and all claims alleging products liability. + /* + RCSB PDB SOFTWARE LICENSE AGREEMENT + +-BY CLICKING THE ACCEPTANCE BUTTON OR INSTALLING OR USING +-THIS "SOFTWARE, THE INDIVIDUAL OR ENTITY LICENSING THE +-SOFTWARE ("LICENSEE") IS CONSENTING TO BE BOUND BY AND IS +-BECOMING A PARTY TO THIS AGREEMENT. IF LICENSEE DOES NOT ++BY CLICKING THE ACCEPTANCE BUTTON OR INSTALLING OR USING ++THIS "SOFTWARE, THE INDIVIDUAL OR ENTITY LICENSING THE ++SOFTWARE ("LICENSEE") IS CONSENTING TO BE BOUND BY AND IS ++BECOMING A PARTY TO THIS AGREEMENT. IF LICENSEE DOES NOT + AGREE TO ALL OF THE TERMS OF THIS AGREEMENT + THE LICENSEE MUST NOT INSTALL OR USE THE SOFTWARE. + + 1. LICENSE AGREEMENT + +-This is a license between you ("Licensee") and the Protein Data Bank (PDB) +-at Rutgers, The State University of New Jersey (hereafter referred to +-as "RUTGERS"). The software is owned by RUTGERS and protected by +-copyright laws, and some elements are protected by laws governing +-trademarks, trade dress and trade secrets, and may be protected by +-patent laws. ++This is a license between you ("Licensee") and the Protein Data Bank (PDB) ++at Rutgers, The State University of New Jersey (hereafter referred to ++as "RUTGERS"). The software is owned by RUTGERS and protected by ++copyright laws, and some elements are protected by laws governing ++trademarks, trade dress and trade secrets, and may be protected by ++patent laws. + + 2. LICENSE GRANT + +-RUTGERS grants you, and you hereby accept, non-exclusive, royalty-free +-perpetual license to install, use, modify, prepare derivative works, +-incorporate into other computer software, and distribute in binary +-and source code format, or any derivative work thereof, together with +-any associated media, printed materials, and on-line or electronic +-documentation (if any) provided by RUTGERS (collectively, the "SOFTWARE"), +-subject to the following terms and conditions: (i) any distribution +-of the SOFTWARE shall bind the receiver to the terms and conditions +-of this Agreement; (ii) any distribution of the SOFTWARE in modified +-form shall clearly state that the SOFTWARE has been modified from +-the version originally obtained from RUTGERS. +- +-2. COPYRIGHT; RETENTION OF RIGHTS. +- +-The above license grant is conditioned on the following: (i) you must +-reproduce all copyright notices and other proprietary notices on any +-copies of the SOFTWARE and you must not remove such notices; (ii) in +-the event you compile the SOFTWARE, you will include the copyright +-notice with the binary in such a manner as to allow it to be easily +-viewable; (iii) if you incorporate the SOFTWARE into other code, you +-must provide notice that the code contains the SOFTWARE and include +-a copy of the copyright notices and other proprietary notices. All +-copies of the SOFTWARE shall be subject to the terms of this Agreement. +- +-3. NO MAINTENANCE OR SUPPORT; TREATMENT OF ENHANCEMENTS +- +-RUTGERS is under no obligation whatsoever to: (i) provide maintenance +-or support for the SOFTWARE; or (ii) to notify you of bug fixes, patches, +-or upgrades to the features, functionality or performance of the +-SOFTWARE ("Enhancements") (if any), whether developed by RUTGERS +-or third parties. If, in its sole discretion, RUTGERS makes an +-Enhancement available to you and RUTGERS does not separately enter +-into a written license agreement with you relating to such bug fix, +-patch or upgrade, then it shall be deemed incorporated into the SOFTWARE +-and subject to this Agreement. You are under no obligation whatsoever +-to provide any Enhancements to RUTGERS or the public that you may +-develop over time; however, if you choose to provide your Enhancements +-to RUTGERS, or if you choose to otherwise publish or distribute your +-Enhancements, in source code form without contemporaneously requiring +-end users or RUTGERS to enter into a separate written license agreement ++RUTGERS grants you, and you hereby accept, non-exclusive, royalty-free ++perpetual license to install, use, modify, prepare derivative works, ++incorporate into other computer software, and distribute in binary ++and source code format, or any derivative work thereof, together with ++any associated media, printed materials, and on-line or electronic ++documentation (if any) provided by RUTGERS (collectively, the "SOFTWARE"), ++subject to the following terms and conditions: (i) any distribution ++of the SOFTWARE shall bind the receiver to the terms and conditions ++of this Agreement; (ii) any distribution of the SOFTWARE in modified ++form shall clearly state that the SOFTWARE has been modified from ++the version originally obtained from RUTGERS. ++ ++2. COPYRIGHT; RETENTION OF RIGHTS. ++ ++The above license grant is conditioned on the following: (i) you must ++reproduce all copyright notices and other proprietary notices on any ++copies of the SOFTWARE and you must not remove such notices; (ii) in ++the event you compile the SOFTWARE, you will include the copyright ++notice with the binary in such a manner as to allow it to be easily ++viewable; (iii) if you incorporate the SOFTWARE into other code, you ++must provide notice that the code contains the SOFTWARE and include ++a copy of the copyright notices and other proprietary notices. All ++copies of the SOFTWARE shall be subject to the terms of this Agreement. ++ ++3. NO MAINTENANCE OR SUPPORT; TREATMENT OF ENHANCEMENTS ++ ++RUTGERS is under no obligation whatsoever to: (i) provide maintenance ++or support for the SOFTWARE; or (ii) to notify you of bug fixes, patches, ++or upgrades to the features, functionality or performance of the ++SOFTWARE ("Enhancements") (if any), whether developed by RUTGERS ++or third parties. If, in its sole discretion, RUTGERS makes an ++Enhancement available to you and RUTGERS does not separately enter ++into a written license agreement with you relating to such bug fix, ++patch or upgrade, then it shall be deemed incorporated into the SOFTWARE ++and subject to this Agreement. You are under no obligation whatsoever ++to provide any Enhancements to RUTGERS or the public that you may ++develop over time; however, if you choose to provide your Enhancements ++to RUTGERS, or if you choose to otherwise publish or distribute your ++Enhancements, in source code form without contemporaneously requiring ++end users or RUTGERS to enter into a separate written license agreement + for such Enhancements, then you hereby grant RUTGERS a non-exclusive, + royalty-free perpetual license to install, use, modify, prepare + derivative works, incorporate into the SOFTWARE or other computer +@@ -105,37 +105,37 @@ and conditions. Upon termination, Licensee shall destroy all + copies of the SOFTWARE. + + 6. PROPRIETARY RIGHTS. Title, ownership rights, and intellectual +-property rights in the Product shall remain with RUTGERS. Licensee +-acknowledges such ownership and intellectual property rights and will +-not take any action to jeopardize, limit or interfere in any manner +-with RUTGERS' ownership of or rights with respect to the SOFTWARE. +-The SOFTWARE is protected by copyright and other intellectual +-property laws and by international treaties. Title and related +-rights in the content accessed through the SOFTWARE is the property +-of the applicable content owner and is protected by applicable law. ++property rights in the Product shall remain with RUTGERS. Licensee ++acknowledges such ownership and intellectual property rights and will ++not take any action to jeopardize, limit or interfere in any manner ++with RUTGERS' ownership of or rights with respect to the SOFTWARE. ++The SOFTWARE is protected by copyright and other intellectual ++property laws and by international treaties. Title and related ++rights in the content accessed through the SOFTWARE is the property ++of the applicable content owner and is protected by applicable law. + The license granted under this Agreement gives Licensee no rights to such + content. + +-7. DISCLAIMER OF WARRANTY. THE SOFTWARE IS PROVIDED FREE OF +-CHARGE, AND, THEREFORE, ON AN "AS IS" BASIS, WITHOUT WARRANTY OF +-ANY KIND, INCLUDING WITHOUT LIMITATION THE WARRANTIES THAT IT +-IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE +-OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND +-PERFORMANCE OF THE SOFTWARE IS BORNE BY LICENSEE. SHOULD THE +-SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, THE LICENSEE AND NOT +-LICENSOR ASSUMES THE ENTIRE COST OF ANY SERVICE AND REPAIR. +-THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF +-THIS AGREEMENT. NO USE OF THE PRODUCT IS AUTHORIZED HEREUNDER ++7. DISCLAIMER OF WARRANTY. THE SOFTWARE IS PROVIDED FREE OF ++CHARGE, AND, THEREFORE, ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ++ANY KIND, INCLUDING WITHOUT LIMITATION THE WARRANTIES THAT IT ++IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE ++OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND ++PERFORMANCE OF THE SOFTWARE IS BORNE BY LICENSEE. SHOULD THE ++SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, THE LICENSEE AND NOT ++LICENSOR ASSUMES THE ENTIRE COST OF ANY SERVICE AND REPAIR. ++THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF ++THIS AGREEMENT. NO USE OF THE PRODUCT IS AUTHORIZED HEREUNDER + EXCEPT UNDER THIS DISCLAIMER. + + 8. LIMITATION OF LIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY +-APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE FOR ANY +-INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +-OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE, INCLUDING, +-WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK +-STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL ++APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE FOR ANY ++INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING ++OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE, INCLUDING, ++WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK ++STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL + OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF ADVISED OF THE +-POSSIBILITY THEREOF. ++POSSIBILITY THEREOF. + */ + #include + #include +@@ -164,11 +164,11 @@ int main(int argc, char **argv) + if (p != std::string::npos) logfile = logfile.substr(p + 1); + LogUtil logutil(logfile); + +- char* rcsbroot = getenv("RCSBROOT"); ++ char* rcsbroot = getenv("CONDA_PREFIX"); + + if (rcsbroot == NULL) { +- logutil.messageWarning("Environment variable 'RCSBROOT' not defined"); +- fprintf(stdout, "Environment variable 'RCSBROOT' not defined\n"); ++ logutil.messageWarning("Environment variable 'CONDA_PREFIX' not defined"); ++ fprintf(stdout, "Environment variable 'CONDA_PREFIX' not defined\n"); + return 0; + } + +@@ -229,7 +229,7 @@ int main(int argc, char **argv) + SgCenter::Read(rcsbroot); + SpaceGroup::Read(logutil, rcsbroot); + CategoryMapping::Read(logutil, rcsbroot); +- ++ + ConnectDic ccDic; + ccDic.setRCSBROOT(rcsbroot); + if (!ccDic.OpenFile()) { diff --git a/recipes/maxit/make.platform.gnu8.patch b/recipes/maxit/make.platform.gnu8.patch new file mode 100644 index 0000000000000..a6d4ea374e07b --- /dev/null +++ b/recipes/maxit/make.platform.gnu8.patch @@ -0,0 +1,66 @@ +diff --git a/etc/make.platform.gnu8 b/etc/make.platform.gnu8 +index 64ed481..72bece3 100644 +--- a/etc/make.platform.gnu8 ++++ b/etc/make.platform.gnu8 +@@ -27,14 +27,14 @@ YACCFLAGS=-d -v -l + ## ABI + ## This part defines an application binary interface to be used with the + ## compiler suite. +-ABI= ++ABI= + + ## Warnings flags + ## This part defines warnings related flags + + # WARNINGS_AS_ERRORS defines flags to instruct all compilers to treat all + # warnings as errors. +-WARNINGS_AS_ERRORS=-Werror ++WARNINGS_AS_ERRORS= + + # ALL_WARNINGS defines flags to instruct all compilers to report all + # warnings. +@@ -54,10 +54,10 @@ WARNINGS=$(WARNINGS_AS_ERRORS) $(ALL_WARNINGS) + # Should be defined only for big endian platforms. Otherwise + # it must be left undefined, which indicates little endian platform. + #ENDIANESS=-DBIG_ENDIAN_PLATFORM +- ++ + # OS indicator. Should be defined only if SunOS is the platform + #PLATFORM_OS=-DSUN_OS +- ++ + # Collect all platform related flags + PLATFORM=$(ENDIANESS) $(PLATFORM_OS) + +@@ -90,11 +90,11 @@ GDEFINES=$(PLATFORM) $(COMPILER) + DEFINES=$(GDEFINES) $(LDEFINES) + + ## Global include directories +-GINCLUDES= ++GINCLUDES= + + # Collect all include directories from global include directories and + # include directories specified in module makefile +-INCLUDES=$(LINCLUDES) $(GINCLUDES) ++INCLUDES=$(LINCLUDES) $(GINCLUDES) + + ## C compiler + ## This part defines C compiler information +@@ -109,7 +109,7 @@ C_WARNINGS=$(WARNINGS) + + # C compiler flags + CFLAGS=$(OPT) $(ABI) $(PIC) $(ANSI_C_FLAG) $(C_WARNINGS) $(DEFINES) $(INCLUDES) +-CFLAGS_NONANSI=$(OPT) $(ABI) $(PIC) $(NON_ANSI_C_FLAG) $(DEFINES) $(INCLUDES) ++CFLAGS_NONANSI=$(OPT) $(ABI) $(PIC) $(NON_ANSI_C_FLAG) $(DEFINES) $(INCLUDES) + + ## C++ compiler + ## This part defines C++ compiler information +@@ -192,7 +192,7 @@ RANLIB=true + #-----Installer----------------------------------------------------------# + + INSTALL=../etc/cifinstall +-INSTALLOPTS=-m 0444 ++INSTALLOPTS=-m 0444 + + #------------------------------------------------------------------------# + diff --git a/recipes/maxit/maxit.C.patch b/recipes/maxit/maxit.C.patch new file mode 100644 index 0000000000000..a5bf4ca59e54d --- /dev/null +++ b/recipes/maxit/maxit.C.patch @@ -0,0 +1,205 @@ +diff --git a/maxit-v10.1/src/maxit.C b/maxit-v10.1/src/maxit.C +index 30bc877..e11cf9a 100644 +--- a/maxit-v10.1/src/maxit.C ++++ b/maxit-v10.1/src/maxit.C +@@ -30,64 +30,64 @@ not limited to, any and all claims alleging products liability. + /* + RCSB PDB SOFTWARE LICENSE AGREEMENT + +-BY CLICKING THE ACCEPTANCE BUTTON OR INSTALLING OR USING +-THIS "SOFTWARE, THE INDIVIDUAL OR ENTITY LICENSING THE +-SOFTWARE ("LICENSEE") IS CONSENTING TO BE BOUND BY AND IS +-BECOMING A PARTY TO THIS AGREEMENT. IF LICENSEE DOES NOT ++BY CLICKING THE ACCEPTANCE BUTTON OR INSTALLING OR USING ++THIS "SOFTWARE, THE INDIVIDUAL OR ENTITY LICENSING THE ++SOFTWARE ("LICENSEE") IS CONSENTING TO BE BOUND BY AND IS ++BECOMING A PARTY TO THIS AGREEMENT. IF LICENSEE DOES NOT + AGREE TO ALL OF THE TERMS OF THIS AGREEMENT + THE LICENSEE MUST NOT INSTALL OR USE THE SOFTWARE. + + 1. LICENSE AGREEMENT + +-This is a license between you ("Licensee") and the Protein Data Bank (PDB) +-at Rutgers, The State University of New Jersey (hereafter referred to +-as "RUTGERS"). The software is owned by RUTGERS and protected by +-copyright laws, and some elements are protected by laws governing +-trademarks, trade dress and trade secrets, and may be protected by +-patent laws. ++This is a license between you ("Licensee") and the Protein Data Bank (PDB) ++at Rutgers, The State University of New Jersey (hereafter referred to ++as "RUTGERS"). The software is owned by RUTGERS and protected by ++copyright laws, and some elements are protected by laws governing ++trademarks, trade dress and trade secrets, and may be protected by ++patent laws. + + 2. LICENSE GRANT + +-RUTGERS grants you, and you hereby accept, non-exclusive, royalty-free +-perpetual license to install, use, modify, prepare derivative works, +-incorporate into other computer software, and distribute in binary +-and source code format, or any derivative work thereof, together with +-any associated media, printed materials, and on-line or electronic +-documentation (if any) provided by RUTGERS (collectively, the "SOFTWARE"), +-subject to the following terms and conditions: (i) any distribution +-of the SOFTWARE shall bind the receiver to the terms and conditions +-of this Agreement; (ii) any distribution of the SOFTWARE in modified +-form shall clearly state that the SOFTWARE has been modified from +-the version originally obtained from RUTGERS. +- +-2. COPYRIGHT; RETENTION OF RIGHTS. +- +-The above license grant is conditioned on the following: (i) you must +-reproduce all copyright notices and other proprietary notices on any +-copies of the SOFTWARE and you must not remove such notices; (ii) in +-the event you compile the SOFTWARE, you will include the copyright +-notice with the binary in such a manner as to allow it to be easily +-viewable; (iii) if you incorporate the SOFTWARE into other code, you +-must provide notice that the code contains the SOFTWARE and include +-a copy of the copyright notices and other proprietary notices. All +-copies of the SOFTWARE shall be subject to the terms of this Agreement. +- +-3. NO MAINTENANCE OR SUPPORT; TREATMENT OF ENHANCEMENTS +- +-RUTGERS is under no obligation whatsoever to: (i) provide maintenance +-or support for the SOFTWARE; or (ii) to notify you of bug fixes, patches, +-or upgrades to the features, functionality or performance of the +-SOFTWARE ("Enhancements") (if any), whether developed by RUTGERS +-or third parties. If, in its sole discretion, RUTGERS makes an +-Enhancement available to you and RUTGERS does not separately enter +-into a written license agreement with you relating to such bug fix, +-patch or upgrade, then it shall be deemed incorporated into the SOFTWARE +-and subject to this Agreement. You are under no obligation whatsoever +-to provide any Enhancements to RUTGERS or the public that you may +-develop over time; however, if you choose to provide your Enhancements +-to RUTGERS, or if you choose to otherwise publish or distribute your +-Enhancements, in source code form without contemporaneously requiring +-end users or RUTGERS to enter into a separate written license agreement ++RUTGERS grants you, and you hereby accept, non-exclusive, royalty-free ++perpetual license to install, use, modify, prepare derivative works, ++incorporate into other computer software, and distribute in binary ++and source code format, or any derivative work thereof, together with ++any associated media, printed materials, and on-line or electronic ++documentation (if any) provided by RUTGERS (collectively, the "SOFTWARE"), ++subject to the following terms and conditions: (i) any distribution ++of the SOFTWARE shall bind the receiver to the terms and conditions ++of this Agreement; (ii) any distribution of the SOFTWARE in modified ++form shall clearly state that the SOFTWARE has been modified from ++the version originally obtained from RUTGERS. ++ ++2. COPYRIGHT; RETENTION OF RIGHTS. ++ ++The above license grant is conditioned on the following: (i) you must ++reproduce all copyright notices and other proprietary notices on any ++copies of the SOFTWARE and you must not remove such notices; (ii) in ++the event you compile the SOFTWARE, you will include the copyright ++notice with the binary in such a manner as to allow it to be easily ++viewable; (iii) if you incorporate the SOFTWARE into other code, you ++must provide notice that the code contains the SOFTWARE and include ++a copy of the copyright notices and other proprietary notices. All ++copies of the SOFTWARE shall be subject to the terms of this Agreement. ++ ++3. NO MAINTENANCE OR SUPPORT; TREATMENT OF ENHANCEMENTS ++ ++RUTGERS is under no obligation whatsoever to: (i) provide maintenance ++or support for the SOFTWARE; or (ii) to notify you of bug fixes, patches, ++or upgrades to the features, functionality or performance of the ++SOFTWARE ("Enhancements") (if any), whether developed by RUTGERS ++or third parties. If, in its sole discretion, RUTGERS makes an ++Enhancement available to you and RUTGERS does not separately enter ++into a written license agreement with you relating to such bug fix, ++patch or upgrade, then it shall be deemed incorporated into the SOFTWARE ++and subject to this Agreement. You are under no obligation whatsoever ++to provide any Enhancements to RUTGERS or the public that you may ++develop over time; however, if you choose to provide your Enhancements ++to RUTGERS, or if you choose to otherwise publish or distribute your ++Enhancements, in source code form without contemporaneously requiring ++end users or RUTGERS to enter into a separate written license agreement + for such Enhancements, then you hereby grant RUTGERS a non-exclusive, + royalty-free perpetual license to install, use, modify, prepare + derivative works, incorporate into the SOFTWARE or other computer +@@ -105,37 +105,37 @@ and conditions. Upon termination, Licensee shall destroy all + copies of the SOFTWARE. + + 6. PROPRIETARY RIGHTS. Title, ownership rights, and intellectual +-property rights in the Product shall remain with RUTGERS. Licensee +-acknowledges such ownership and intellectual property rights and will +-not take any action to jeopardize, limit or interfere in any manner +-with RUTGERS' ownership of or rights with respect to the SOFTWARE. +-The SOFTWARE is protected by copyright and other intellectual +-property laws and by international treaties. Title and related +-rights in the content accessed through the SOFTWARE is the property +-of the applicable content owner and is protected by applicable law. ++property rights in the Product shall remain with RUTGERS. Licensee ++acknowledges such ownership and intellectual property rights and will ++not take any action to jeopardize, limit or interfere in any manner ++with RUTGERS' ownership of or rights with respect to the SOFTWARE. ++The SOFTWARE is protected by copyright and other intellectual ++property laws and by international treaties. Title and related ++rights in the content accessed through the SOFTWARE is the property ++of the applicable content owner and is protected by applicable law. + The license granted under this Agreement gives Licensee no rights to such + content. + +-7. DISCLAIMER OF WARRANTY. THE SOFTWARE IS PROVIDED FREE OF +-CHARGE, AND, THEREFORE, ON AN "AS IS" BASIS, WITHOUT WARRANTY OF +-ANY KIND, INCLUDING WITHOUT LIMITATION THE WARRANTIES THAT IT +-IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE +-OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND +-PERFORMANCE OF THE SOFTWARE IS BORNE BY LICENSEE. SHOULD THE +-SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, THE LICENSEE AND NOT +-LICENSOR ASSUMES THE ENTIRE COST OF ANY SERVICE AND REPAIR. +-THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF +-THIS AGREEMENT. NO USE OF THE PRODUCT IS AUTHORIZED HEREUNDER ++7. DISCLAIMER OF WARRANTY. THE SOFTWARE IS PROVIDED FREE OF ++CHARGE, AND, THEREFORE, ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ++ANY KIND, INCLUDING WITHOUT LIMITATION THE WARRANTIES THAT IT ++IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE ++OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND ++PERFORMANCE OF THE SOFTWARE IS BORNE BY LICENSEE. SHOULD THE ++SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, THE LICENSEE AND NOT ++LICENSOR ASSUMES THE ENTIRE COST OF ANY SERVICE AND REPAIR. ++THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF ++THIS AGREEMENT. NO USE OF THE PRODUCT IS AUTHORIZED HEREUNDER + EXCEPT UNDER THIS DISCLAIMER. + + 8. LIMITATION OF LIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY +-APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE FOR ANY +-INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +-OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE, INCLUDING, +-WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK +-STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL ++APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE FOR ANY ++INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING ++OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE, INCLUDING, ++WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK ++STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL + OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF ADVISED OF THE +-POSSIBILITY THEREOF. ++POSSIBILITY THEREOF. + */ + #include + #include +@@ -172,11 +172,11 @@ int main(int argc, char **argv) + if (p != std::string::npos) logfile = logfile.substr(p + 1); + LogUtil logutil(logfile); + +- char* rcsbroot = getenv("RCSBROOT"); ++ char* rcsbroot = getenv("CONDA_PREFIX"); + + if (rcsbroot == NULL) { +- logutil.messageWarning("Environment variable 'RCSBROOT' not defined"); +- fprintf(stdout, "Environment variable 'RCSBROOT' not defined\n"); ++ logutil.messageWarning("Environment variable 'CONDA_PREFIX' not defined"); ++ fprintf(stdout, "Environment variable 'CONDA_PREFIX' not defined\n"); + return 0; + } + +@@ -250,7 +250,7 @@ int main(int argc, char **argv) + SgCenter::Read(rcsbroot); + SpaceGroup::Read(logutil, rcsbroot); + CategoryMapping::Read(logutil, rcsbroot); +- ++ + ConnectDic ccDic; + ccDic.setRCSBROOT(rcsbroot); + if (!ccDic.OpenFile()) { diff --git a/recipes/maxit/meta.yaml b/recipes/maxit/meta.yaml new file mode 100644 index 0000000000000..69b9d593ddd0d --- /dev/null +++ b/recipes/maxit/meta.yaml @@ -0,0 +1,70 @@ +{% set name = "MAXIT" %} +{% set version = "11.200" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + - url: https://sw-tools.rcsb.org/apps/{{ name }}/{{ name|lower }}-v{{ version }}-prod-src.tar.gz + sha256: 658e236c6310cf7e55218a0500f82050ef86074f5d5b3f61d2a161b04a38cc39 + patches: + - platform.sh.patch + - generate_assembly_cif_file.C.patch + - maxit.C.patch + - process_entry.C.patch + - make.platform.gnu8.patch # [linux] + - binary.csh.patch # [linux] + - system-util.C.patch # [linux] + - Makefile.patch # [linux] + - path: ./data-binary_linux-x86_64.tar.xz # [linux and x86_64] + sha256: 44a626b2f082a91c8dcdf110a0a0779dbb0e9aaa72b128a7dbd523f1456bb0be # [linux and x86_64] + +build: + number: 1 + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - make + - bison + - flex + - coreutils + host: + - tcsh # [linux] + run: + - tcsh # [linux] + +test: + requires: + - wget + commands: + - wget https://files.rcsb.org/view/7KNT.pdb + - maxit -input 7KNT.pdb -output 7KNT.cif -o 1 + - cat maxit.log + - test -f 7KNT.cif + +about: + home: https://sw-tools.rcsb.org/apps/MAXIT + doc_url: https://sw-tools.rcsb.org/apps/MAXIT/README-source + license: "RCSB PDB Software License" + license_family: OTHER + summary: "MAXIT assists in the processing and curation of macromolecular structure data." + description: | + MAXIT assists in the processing and curation of macromolecular structure data. MAXIT can: + - Read and write PDB and mmCIF format files, and translate between file formats. + - Perform consistency checks on coordinates, sequence, and crystal data. + - Automatically construct, transform, and merge information between formats + - Align residue numbering in the coordinates with the sequence + - Reorder and rename atoms in standard and nonstandard residues and ligands according to the Chemical Component Dictionary + - Assign ligands the same chain IDs as the adjacent polymers + - Detect missing or additional atoms + +extra: + recipe-maintainers: + - eunos-1128 + additional-platforms: + - osx-arm64 diff --git a/recipes/maxit/platform.sh.patch b/recipes/maxit/platform.sh.patch new file mode 100644 index 0000000000000..bf6ae0199fd59 --- /dev/null +++ b/recipes/maxit/platform.sh.patch @@ -0,0 +1,82 @@ +diff --git a/etc/platform.sh b/etc/platform.sh +index 1607685..7f18f47 100755 +--- a/etc/platform.sh ++++ b/etc/platform.sh +@@ -6,7 +6,7 @@ + # Copy the platform specific section of the Makefile in + # the current directory to: + # +-# Makefile.platform. ++# Makefile.platform. + # + # + sysid="unknown" +@@ -29,10 +29,10 @@ case $(uname -s) in + + # Check if it is a Mac OS platform + Darwin) +-# First check if it is clang-xxxx +- clang_ver=$(gcc --version | grep -e "clang-") ++# First check if it is clang ++ clang_ver=$(clang --version | grep -e "clang version") + if [ ! -z "$clang_ver" ] +- then ++ then + sysid="darwin4" + else + # Check if it is GCC version 4.x +@@ -61,13 +61,28 @@ case $(uname -s) in + # It is GCC version 4.x + sysid="darwin4" + fi +- fi ++ fi + ;; + + # Check if it is a Linux platform + Linux) ++# Check if it is GCC version 14.x ++ gcc_ver=$(gcc --version | grep -e " 14\.") ++# Check if it is GCC version 13.x ++ if [ -z "$gcc_ver" ] ++ then ++ gcc_ver=$(gcc --version | grep -e " 13\.") ++ fi ++# Check if it is GCC version 12.x ++ if [ -z "$gcc_ver" ] ++ then ++ gcc_ver=$(gcc --version | grep -e " 12\.") ++ fi + # Check if it is GCC version 11.x +- gcc_ver=$(gcc --version | grep -e " 11\.") ++ if [ -z "$gcc_ver" ] ++ then ++ gcc_ver=$(gcc --version | grep -e " 11\.") ++ fi + # Check if it is GCC version 10.x + if [ -z "$gcc_ver" ] + then +@@ -85,11 +100,11 @@ case $(uname -s) in + fi + # + if [ -z "$gcc_ver" ] +- then ++ then + # Check if it is GCC version 5.x + gcc_ver=$(gcc --version | grep -e " 5\.") + if [ -z "$gcc_ver" ] +- then ++ then + # If not GCC version 5.x + gcc_ver=$(gcc --version | grep -e " 4\.") + if [ -z "$gcc_ver" ] +@@ -127,6 +142,9 @@ case $(uname -s) in + sysid="gnu5" + fi + else ++ # GCC 14.x ++ # GCC 13.x ++ # GCC 12.x + # GCC 11.x + # GCC 10.x + # GCC 9.x diff --git a/recipes/maxit/process_entry.C.patch b/recipes/maxit/process_entry.C.patch new file mode 100644 index 0000000000000..060fd126fc5d3 --- /dev/null +++ b/recipes/maxit/process_entry.C.patch @@ -0,0 +1,205 @@ +diff --git a/maxit-v10.1/src/process_entry.C b/maxit-v10.1/src/process_entry.C +index 60ac5f8..ca94c9c 100644 +--- a/maxit-v10.1/src/process_entry.C ++++ b/maxit-v10.1/src/process_entry.C +@@ -30,64 +30,64 @@ not limited to, any and all claims alleging products liability. + /* + RCSB PDB SOFTWARE LICENSE AGREEMENT + +-BY CLICKING THE ACCEPTANCE BUTTON OR INSTALLING OR USING +-THIS "SOFTWARE, THE INDIVIDUAL OR ENTITY LICENSING THE +-SOFTWARE ("LICENSEE") IS CONSENTING TO BE BOUND BY AND IS +-BECOMING A PARTY TO THIS AGREEMENT. IF LICENSEE DOES NOT ++BY CLICKING THE ACCEPTANCE BUTTON OR INSTALLING OR USING ++THIS "SOFTWARE, THE INDIVIDUAL OR ENTITY LICENSING THE ++SOFTWARE ("LICENSEE") IS CONSENTING TO BE BOUND BY AND IS ++BECOMING A PARTY TO THIS AGREEMENT. IF LICENSEE DOES NOT + AGREE TO ALL OF THE TERMS OF THIS AGREEMENT + THE LICENSEE MUST NOT INSTALL OR USE THE SOFTWARE. + + 1. LICENSE AGREEMENT + +-This is a license between you ("Licensee") and the Protein Data Bank (PDB) +-at Rutgers, The State University of New Jersey (hereafter referred to +-as "RUTGERS"). The software is owned by RUTGERS and protected by +-copyright laws, and some elements are protected by laws governing +-trademarks, trade dress and trade secrets, and may be protected by +-patent laws. ++This is a license between you ("Licensee") and the Protein Data Bank (PDB) ++at Rutgers, The State University of New Jersey (hereafter referred to ++as "RUTGERS"). The software is owned by RUTGERS and protected by ++copyright laws, and some elements are protected by laws governing ++trademarks, trade dress and trade secrets, and may be protected by ++patent laws. + + 2. LICENSE GRANT + +-RUTGERS grants you, and you hereby accept, non-exclusive, royalty-free +-perpetual license to install, use, modify, prepare derivative works, +-incorporate into other computer software, and distribute in binary +-and source code format, or any derivative work thereof, together with +-any associated media, printed materials, and on-line or electronic +-documentation (if any) provided by RUTGERS (collectively, the "SOFTWARE"), +-subject to the following terms and conditions: (i) any distribution +-of the SOFTWARE shall bind the receiver to the terms and conditions +-of this Agreement; (ii) any distribution of the SOFTWARE in modified +-form shall clearly state that the SOFTWARE has been modified from +-the version originally obtained from RUTGERS. +- +-2. COPYRIGHT; RETENTION OF RIGHTS. +- +-The above license grant is conditioned on the following: (i) you must +-reproduce all copyright notices and other proprietary notices on any +-copies of the SOFTWARE and you must not remove such notices; (ii) in +-the event you compile the SOFTWARE, you will include the copyright +-notice with the binary in such a manner as to allow it to be easily +-viewable; (iii) if you incorporate the SOFTWARE into other code, you +-must provide notice that the code contains the SOFTWARE and include +-a copy of the copyright notices and other proprietary notices. All +-copies of the SOFTWARE shall be subject to the terms of this Agreement. +- +-3. NO MAINTENANCE OR SUPPORT; TREATMENT OF ENHANCEMENTS +- +-RUTGERS is under no obligation whatsoever to: (i) provide maintenance +-or support for the SOFTWARE; or (ii) to notify you of bug fixes, patches, +-or upgrades to the features, functionality or performance of the +-SOFTWARE ("Enhancements") (if any), whether developed by RUTGERS +-or third parties. If, in its sole discretion, RUTGERS makes an +-Enhancement available to you and RUTGERS does not separately enter +-into a written license agreement with you relating to such bug fix, +-patch or upgrade, then it shall be deemed incorporated into the SOFTWARE +-and subject to this Agreement. You are under no obligation whatsoever +-to provide any Enhancements to RUTGERS or the public that you may +-develop over time; however, if you choose to provide your Enhancements +-to RUTGERS, or if you choose to otherwise publish or distribute your +-Enhancements, in source code form without contemporaneously requiring +-end users or RUTGERS to enter into a separate written license agreement ++RUTGERS grants you, and you hereby accept, non-exclusive, royalty-free ++perpetual license to install, use, modify, prepare derivative works, ++incorporate into other computer software, and distribute in binary ++and source code format, or any derivative work thereof, together with ++any associated media, printed materials, and on-line or electronic ++documentation (if any) provided by RUTGERS (collectively, the "SOFTWARE"), ++subject to the following terms and conditions: (i) any distribution ++of the SOFTWARE shall bind the receiver to the terms and conditions ++of this Agreement; (ii) any distribution of the SOFTWARE in modified ++form shall clearly state that the SOFTWARE has been modified from ++the version originally obtained from RUTGERS. ++ ++2. COPYRIGHT; RETENTION OF RIGHTS. ++ ++The above license grant is conditioned on the following: (i) you must ++reproduce all copyright notices and other proprietary notices on any ++copies of the SOFTWARE and you must not remove such notices; (ii) in ++the event you compile the SOFTWARE, you will include the copyright ++notice with the binary in such a manner as to allow it to be easily ++viewable; (iii) if you incorporate the SOFTWARE into other code, you ++must provide notice that the code contains the SOFTWARE and include ++a copy of the copyright notices and other proprietary notices. All ++copies of the SOFTWARE shall be subject to the terms of this Agreement. ++ ++3. NO MAINTENANCE OR SUPPORT; TREATMENT OF ENHANCEMENTS ++ ++RUTGERS is under no obligation whatsoever to: (i) provide maintenance ++or support for the SOFTWARE; or (ii) to notify you of bug fixes, patches, ++or upgrades to the features, functionality or performance of the ++SOFTWARE ("Enhancements") (if any), whether developed by RUTGERS ++or third parties. If, in its sole discretion, RUTGERS makes an ++Enhancement available to you and RUTGERS does not separately enter ++into a written license agreement with you relating to such bug fix, ++patch or upgrade, then it shall be deemed incorporated into the SOFTWARE ++and subject to this Agreement. You are under no obligation whatsoever ++to provide any Enhancements to RUTGERS or the public that you may ++develop over time; however, if you choose to provide your Enhancements ++to RUTGERS, or if you choose to otherwise publish or distribute your ++Enhancements, in source code form without contemporaneously requiring ++end users or RUTGERS to enter into a separate written license agreement + for such Enhancements, then you hereby grant RUTGERS a non-exclusive, + royalty-free perpetual license to install, use, modify, prepare + derivative works, incorporate into the SOFTWARE or other computer +@@ -105,37 +105,37 @@ and conditions. Upon termination, Licensee shall destroy all + copies of the SOFTWARE. + + 6. PROPRIETARY RIGHTS. Title, ownership rights, and intellectual +-property rights in the Product shall remain with RUTGERS. Licensee +-acknowledges such ownership and intellectual property rights and will +-not take any action to jeopardize, limit or interfere in any manner +-with RUTGERS' ownership of or rights with respect to the SOFTWARE. +-The SOFTWARE is protected by copyright and other intellectual +-property laws and by international treaties. Title and related +-rights in the content accessed through the SOFTWARE is the property +-of the applicable content owner and is protected by applicable law. ++property rights in the Product shall remain with RUTGERS. Licensee ++acknowledges such ownership and intellectual property rights and will ++not take any action to jeopardize, limit or interfere in any manner ++with RUTGERS' ownership of or rights with respect to the SOFTWARE. ++The SOFTWARE is protected by copyright and other intellectual ++property laws and by international treaties. Title and related ++rights in the content accessed through the SOFTWARE is the property ++of the applicable content owner and is protected by applicable law. + The license granted under this Agreement gives Licensee no rights to such + content. + +-7. DISCLAIMER OF WARRANTY. THE SOFTWARE IS PROVIDED FREE OF +-CHARGE, AND, THEREFORE, ON AN "AS IS" BASIS, WITHOUT WARRANTY OF +-ANY KIND, INCLUDING WITHOUT LIMITATION THE WARRANTIES THAT IT +-IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE +-OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND +-PERFORMANCE OF THE SOFTWARE IS BORNE BY LICENSEE. SHOULD THE +-SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, THE LICENSEE AND NOT +-LICENSOR ASSUMES THE ENTIRE COST OF ANY SERVICE AND REPAIR. +-THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF +-THIS AGREEMENT. NO USE OF THE PRODUCT IS AUTHORIZED HEREUNDER ++7. DISCLAIMER OF WARRANTY. THE SOFTWARE IS PROVIDED FREE OF ++CHARGE, AND, THEREFORE, ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ++ANY KIND, INCLUDING WITHOUT LIMITATION THE WARRANTIES THAT IT ++IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE ++OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND ++PERFORMANCE OF THE SOFTWARE IS BORNE BY LICENSEE. SHOULD THE ++SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, THE LICENSEE AND NOT ++LICENSOR ASSUMES THE ENTIRE COST OF ANY SERVICE AND REPAIR. ++THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF ++THIS AGREEMENT. NO USE OF THE PRODUCT IS AUTHORIZED HEREUNDER + EXCEPT UNDER THIS DISCLAIMER. + + 8. LIMITATION OF LIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY +-APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE FOR ANY +-INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +-OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE, INCLUDING, +-WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK +-STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL ++APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE FOR ANY ++INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING ++OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE, INCLUDING, ++WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK ++STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL + OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF ADVISED OF THE +-POSSIBILITY THEREOF. ++POSSIBILITY THEREOF. + */ + #include + #include +@@ -164,11 +164,11 @@ int main(int argc, char **argv) + if (p != std::string::npos) logfile = logfile.substr(p + 1); + LogUtil logutil(logfile); + +- char* rcsbroot = getenv("RCSBROOT"); ++ char* rcsbroot = getenv("CONDA_PREFIX"); + + if (rcsbroot == NULL) { +- logutil.messageWarning("Environment variable 'RCSBROOT' not defined"); +- fprintf(stdout, "Environment variable 'RCSBROOT' not defined\n"); ++ logutil.messageWarning("Environment variable 'CONDA_PREFIX' not defined"); ++ fprintf(stdout, "Environment variable 'CONDA_PREFIX' not defined\n"); + return 0; + } + +@@ -260,7 +260,7 @@ int main(int argc, char **argv) + SgCenter::Read(rcsbroot); + SpaceGroup::Read(logutil, rcsbroot); + CategoryMapping::Read(logutil, rcsbroot); +- ++ + ConnectDic ccDic; + ccDic.setRCSBROOT(rcsbroot); + if (!ccDic.OpenFile()) { diff --git a/recipes/maxit/system-util.C.patch b/recipes/maxit/system-util.C.patch new file mode 100644 index 0000000000000..31cb4566ef712 --- /dev/null +++ b/recipes/maxit/system-util.C.patch @@ -0,0 +1,199 @@ +diff --git a/utillib-v1.1/src/system-util.C b/utillib-v1.1/src/system-util.C +index 920a90d..a2d22db 100644 +--- a/utillib-v1.1/src/system-util.C ++++ b/utillib-v1.1/src/system-util.C +@@ -30,64 +30,64 @@ not limited to, any and all claims alleging products liability. + /* + RCSB PDB SOFTWARE LICENSE AGREEMENT + +-BY CLICKING THE ACCEPTANCE BUTTON OR INSTALLING OR USING +-THIS "SOFTWARE, THE INDIVIDUAL OR ENTITY LICENSING THE +-SOFTWARE ("LICENSEE") IS CONSENTING TO BE BOUND BY AND IS +-BECOMING A PARTY TO THIS AGREEMENT. IF LICENSEE DOES NOT ++BY CLICKING THE ACCEPTANCE BUTTON OR INSTALLING OR USING ++THIS "SOFTWARE, THE INDIVIDUAL OR ENTITY LICENSING THE ++SOFTWARE ("LICENSEE") IS CONSENTING TO BE BOUND BY AND IS ++BECOMING A PARTY TO THIS AGREEMENT. IF LICENSEE DOES NOT + AGREE TO ALL OF THE TERMS OF THIS AGREEMENT + THE LICENSEE MUST NOT INSTALL OR USE THE SOFTWARE. + + 1. LICENSE AGREEMENT + +-This is a license between you ("Licensee") and the Protein Data Bank (PDB) +-at Rutgers, The State University of New Jersey (hereafter referred to +-as "RUTGERS"). The software is owned by RUTGERS and protected by +-copyright laws, and some elements are protected by laws governing +-trademarks, trade dress and trade secrets, and may be protected by +-patent laws. ++This is a license between you ("Licensee") and the Protein Data Bank (PDB) ++at Rutgers, The State University of New Jersey (hereafter referred to ++as "RUTGERS"). The software is owned by RUTGERS and protected by ++copyright laws, and some elements are protected by laws governing ++trademarks, trade dress and trade secrets, and may be protected by ++patent laws. + + 2. LICENSE GRANT + +-RUTGERS grants you, and you hereby accept, non-exclusive, royalty-free +-perpetual license to install, use, modify, prepare derivative works, +-incorporate into other computer software, and distribute in binary +-and source code format, or any derivative work thereof, together with +-any associated media, printed materials, and on-line or electronic +-documentation (if any) provided by RUTGERS (collectively, the "SOFTWARE"), +-subject to the following terms and conditions: (i) any distribution +-of the SOFTWARE shall bind the receiver to the terms and conditions +-of this Agreement; (ii) any distribution of the SOFTWARE in modified +-form shall clearly state that the SOFTWARE has been modified from +-the version originally obtained from RUTGERS. +- +-2. COPYRIGHT; RETENTION OF RIGHTS. +- +-The above license grant is conditioned on the following: (i) you must +-reproduce all copyright notices and other proprietary notices on any +-copies of the SOFTWARE and you must not remove such notices; (ii) in +-the event you compile the SOFTWARE, you will include the copyright +-notice with the binary in such a manner as to allow it to be easily +-viewable; (iii) if you incorporate the SOFTWARE into other code, you +-must provide notice that the code contains the SOFTWARE and include +-a copy of the copyright notices and other proprietary notices. All +-copies of the SOFTWARE shall be subject to the terms of this Agreement. +- +-3. NO MAINTENANCE OR SUPPORT; TREATMENT OF ENHANCEMENTS +- +-RUTGERS is under no obligation whatsoever to: (i) provide maintenance +-or support for the SOFTWARE; or (ii) to notify you of bug fixes, patches, +-or upgrades to the features, functionality or performance of the +-SOFTWARE ("Enhancements") (if any), whether developed by RUTGERS +-or third parties. If, in its sole discretion, RUTGERS makes an +-Enhancement available to you and RUTGERS does not separately enter +-into a written license agreement with you relating to such bug fix, +-patch or upgrade, then it shall be deemed incorporated into the SOFTWARE +-and subject to this Agreement. You are under no obligation whatsoever +-to provide any Enhancements to RUTGERS or the public that you may +-develop over time; however, if you choose to provide your Enhancements +-to RUTGERS, or if you choose to otherwise publish or distribute your +-Enhancements, in source code form without contemporaneously requiring +-end users or RUTGERS to enter into a separate written license agreement ++RUTGERS grants you, and you hereby accept, non-exclusive, royalty-free ++perpetual license to install, use, modify, prepare derivative works, ++incorporate into other computer software, and distribute in binary ++and source code format, or any derivative work thereof, together with ++any associated media, printed materials, and on-line or electronic ++documentation (if any) provided by RUTGERS (collectively, the "SOFTWARE"), ++subject to the following terms and conditions: (i) any distribution ++of the SOFTWARE shall bind the receiver to the terms and conditions ++of this Agreement; (ii) any distribution of the SOFTWARE in modified ++form shall clearly state that the SOFTWARE has been modified from ++the version originally obtained from RUTGERS. ++ ++2. COPYRIGHT; RETENTION OF RIGHTS. ++ ++The above license grant is conditioned on the following: (i) you must ++reproduce all copyright notices and other proprietary notices on any ++copies of the SOFTWARE and you must not remove such notices; (ii) in ++the event you compile the SOFTWARE, you will include the copyright ++notice with the binary in such a manner as to allow it to be easily ++viewable; (iii) if you incorporate the SOFTWARE into other code, you ++must provide notice that the code contains the SOFTWARE and include ++a copy of the copyright notices and other proprietary notices. All ++copies of the SOFTWARE shall be subject to the terms of this Agreement. ++ ++3. NO MAINTENANCE OR SUPPORT; TREATMENT OF ENHANCEMENTS ++ ++RUTGERS is under no obligation whatsoever to: (i) provide maintenance ++or support for the SOFTWARE; or (ii) to notify you of bug fixes, patches, ++or upgrades to the features, functionality or performance of the ++SOFTWARE ("Enhancements") (if any), whether developed by RUTGERS ++or third parties. If, in its sole discretion, RUTGERS makes an ++Enhancement available to you and RUTGERS does not separately enter ++into a written license agreement with you relating to such bug fix, ++patch or upgrade, then it shall be deemed incorporated into the SOFTWARE ++and subject to this Agreement. You are under no obligation whatsoever ++to provide any Enhancements to RUTGERS or the public that you may ++develop over time; however, if you choose to provide your Enhancements ++to RUTGERS, or if you choose to otherwise publish or distribute your ++Enhancements, in source code form without contemporaneously requiring ++end users or RUTGERS to enter into a separate written license agreement + for such Enhancements, then you hereby grant RUTGERS a non-exclusive, + royalty-free perpetual license to install, use, modify, prepare + derivative works, incorporate into the SOFTWARE or other computer +@@ -105,37 +105,37 @@ and conditions. Upon termination, Licensee shall destroy all + copies of the SOFTWARE. + + 6. PROPRIETARY RIGHTS. Title, ownership rights, and intellectual +-property rights in the Product shall remain with RUTGERS. Licensee +-acknowledges such ownership and intellectual property rights and will +-not take any action to jeopardize, limit or interfere in any manner +-with RUTGERS' ownership of or rights with respect to the SOFTWARE. +-The SOFTWARE is protected by copyright and other intellectual +-property laws and by international treaties. Title and related +-rights in the content accessed through the SOFTWARE is the property +-of the applicable content owner and is protected by applicable law. ++property rights in the Product shall remain with RUTGERS. Licensee ++acknowledges such ownership and intellectual property rights and will ++not take any action to jeopardize, limit or interfere in any manner ++with RUTGERS' ownership of or rights with respect to the SOFTWARE. ++The SOFTWARE is protected by copyright and other intellectual ++property laws and by international treaties. Title and related ++rights in the content accessed through the SOFTWARE is the property ++of the applicable content owner and is protected by applicable law. + The license granted under this Agreement gives Licensee no rights to such + content. + +-7. DISCLAIMER OF WARRANTY. THE SOFTWARE IS PROVIDED FREE OF +-CHARGE, AND, THEREFORE, ON AN "AS IS" BASIS, WITHOUT WARRANTY OF +-ANY KIND, INCLUDING WITHOUT LIMITATION THE WARRANTIES THAT IT +-IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE +-OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND +-PERFORMANCE OF THE SOFTWARE IS BORNE BY LICENSEE. SHOULD THE +-SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, THE LICENSEE AND NOT +-LICENSOR ASSUMES THE ENTIRE COST OF ANY SERVICE AND REPAIR. +-THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF +-THIS AGREEMENT. NO USE OF THE PRODUCT IS AUTHORIZED HEREUNDER ++7. DISCLAIMER OF WARRANTY. THE SOFTWARE IS PROVIDED FREE OF ++CHARGE, AND, THEREFORE, ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ++ANY KIND, INCLUDING WITHOUT LIMITATION THE WARRANTIES THAT IT ++IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE ++OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND ++PERFORMANCE OF THE SOFTWARE IS BORNE BY LICENSEE. SHOULD THE ++SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, THE LICENSEE AND NOT ++LICENSOR ASSUMES THE ENTIRE COST OF ANY SERVICE AND REPAIR. ++THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF ++THIS AGREEMENT. NO USE OF THE PRODUCT IS AUTHORIZED HEREUNDER + EXCEPT UNDER THIS DISCLAIMER. + + 8. LIMITATION OF LIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY +-APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE FOR ANY +-INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +-OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE, INCLUDING, +-WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK +-STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL ++APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE FOR ANY ++INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING ++OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE, INCLUDING, ++WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK ++STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL + OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF ADVISED OF THE +-POSSIBILITY THEREOF. ++POSSIBILITY THEREOF. + */ + #include + #include +@@ -168,7 +168,7 @@ int wsystem(const char *cmdstring, const char *path, const int time_limit) + strcat(cmdstr1, "limit filesize unlimited >& /dev/null; "); + strcat(cmdstr1, "limit memoryuse unlimited >& /dev/null; "); + strcat(cmdstr1, "limit vmemoryuse unlimited >& /dev/null; "); +- ++ + strcat(cmdstr1, cmdstring); + + fdout = -1; +@@ -187,7 +187,7 @@ int wsystem(const char *cmdstring, const char *path, const int time_limit) + if (pid == 0) { + if (fderr > 0) dup2(fderr, STDERR_FILENO); + if (fdout > 0) dup2(fdout, STDOUT_FILENO); +- execl("/bin/tcsh", "tcsh", "-c", cmdstr1, (char *) 0); ++ execl("/usr/bin/env", "tcsh", "-c", cmdstr1, (char *) 0); + _exit(1); + } + while (wait(&status) != pid) ; diff --git a/recipes/mbg/.gitattributes b/recipes/mbg/.gitattributes new file mode 100644 index 0000000000000..1d0ccc127c3c3 --- /dev/null +++ b/recipes/mbg/.gitattributes @@ -0,0 +1,2 @@ +# the file contains both CRLF and LF line endings. Tell Git to not touch it +mbg-aarch64.patch binary diff --git a/recipes/mbg/build.sh b/recipes/mbg/build.sh index 4db0b74900822..7b6cab79806d5 100644 --- a/recipes/mbg/build.sh +++ b/recipes/mbg/build.sh @@ -1,6 +1,8 @@ #!/usr/bin/env bash +set -xe + cd $SRC_DIR -make bin/MBG +make -j ${CPU_COUNT} bin/MBG mkdir -p $PREFIX/bin cp bin/MBG $PREFIX/bin diff --git a/recipes/mbg/mbg-aarch64.patch b/recipes/mbg/mbg-aarch64.patch new file mode 100644 index 0000000000000..3cb0d038c4a78 --- /dev/null +++ b/recipes/mbg/mbg-aarch64.patch @@ -0,0 +1,25 @@ +diff --git i/src/RankBitvector.cpp w/src/RankBitvector.cpp +index 2d7c98a..e0adaec 100644 +--- i/src/RankBitvector.cpp ++++ w/src/RankBitvector.cpp +@@ -3,11 +3,20 @@ + + int popcount(uint64_t x) + { ++#ifdef __x86_64__ + //https://gcc.gnu.org/onlinedocs/gcc-4.8.4/gcc/X86-Built-in-Functions.html + // return __builtin_popcountll(x); + //for some reason __builtin_popcount takes 21 instructions so call assembly directly + __asm__("popcnt %0, %0" : "+r" (x)); + return x; ++#else ++ uint64_t count = 0; ++ while (x) { ++ count += x & 1; ++ x >>= 1; ++ } ++ return count; ++#endif + } + + RankBitvector::RankBitvector() : diff --git a/recipes/mbg/meta.yaml b/recipes/mbg/meta.yaml index 0ba6a59d45aed..8b8037f18df43 100644 --- a/recipes/mbg/meta.yaml +++ b/recipes/mbg/meta.yaml @@ -12,9 +12,10 @@ source: patches: - version.patch - osx_availability.patch # [osx] + - mbg-aarch64.patch # [aarch64 or arm64] build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage('mbg', max_pin="x.x") }} @@ -34,3 +35,8 @@ about: license: MIT license_file: LICENSE.md summary: Minimizer based sparse de Bruijn graph constructor + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 \ No newline at end of file diff --git a/recipes/mbgc/asmlib_off.patch b/recipes/mbgc/asmlib_off.patch new file mode 100644 index 0000000000000..5877af25ad840 --- /dev/null +++ b/recipes/mbgc/asmlib_off.patch @@ -0,0 +1,113 @@ +Subject: [PATCH] turned off asmlib for mac to avoid build problems +--- +Index: mbgccoder/MBGC_Encoder.cpp +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/mbgccoder/MBGC_Encoder.cpp b/mbgccoder/MBGC_Encoder.cpp +--- a/mbgccoder/MBGC_Encoder.cpp (revision 3f75674bef8463fbfb38e5c13b2760001c82db2a) ++++ b/mbgccoder/MBGC_Encoder.cpp (date 1728303373036) +@@ -15,7 +15,7 @@ + ( params->checkIfDNAisWellFormed ? (seq->dnaLineLen == DNA_NOT_WELLFORMED ? 0 : seq->dnaLineLen ) \ + : seq->maxLastDnaLineLen ) : 0) + +-#if !defined(__arm__) && !defined(__aarch64__) && !defined(__ARM_ARCH) ++#if false + #include "../libs/asmlib.h" + #endif + #include "../coders/PropsLibrary.h" +Index: matching/SlidingWindowSparseEMMatcher.cpp +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/matching/SlidingWindowSparseEMMatcher.cpp b/matching/SlidingWindowSparseEMMatcher.cpp +--- a/matching/SlidingWindowSparseEMMatcher.cpp (revision 3f75674bef8463fbfb38e5c13b2760001c82db2a) ++++ b/matching/SlidingWindowSparseEMMatcher.cpp (date 1728303373000) +@@ -28,7 +28,7 @@ + * ================================================================= */ + + #include "SlidingWindowSparseEMMatcher.h" +-#if !defined(__arm__) && !defined(__aarch64__) && !defined(__ARM_ARCH) ++#if false + #include "../libs/asmlib.h" + #endif + #include +Index: mbgccoder/MBGC_Decoder.cpp +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/mbgccoder/MBGC_Decoder.cpp b/mbgccoder/MBGC_Decoder.cpp +--- a/mbgccoder/MBGC_Decoder.cpp (revision 3f75674bef8463fbfb38e5c13b2760001c82db2a) ++++ b/mbgccoder/MBGC_Decoder.cpp (date 1728303418036) +@@ -1,7 +1,7 @@ + #include "MBGC_Decoder.h" + + #include "../coders/CodersLib.h" +-#if !defined(__arm__) && !defined(__aarch64__) && !defined(__ARM_ARCH) ++#if false + #include "../libs/asmlib.h" + #endif + #include "../matching/SimpleSequenceMatcher.h" +Index: utils/helper.h +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/utils/helper.h b/utils/helper.h +--- a/utils/helper.h (revision 3f75674bef8463fbfb38e5c13b2760001c82db2a) ++++ b/utils/helper.h (date 1728303373072) +@@ -338,7 +338,7 @@ + + } + +-#if defined(__arm__) || defined(__aarch64__) || defined(__ARM_ARCH) ++#if true + + void A_memcpy(void *dest, const void *src, size_t n); + +Index: utils/helper.cpp +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/utils/helper.cpp b/utils/helper.cpp +--- a/utils/helper.cpp (revision 3f75674bef8463fbfb38e5c13b2760001c82db2a) ++++ b/utils/helper.cpp (date 1728303373058) +@@ -582,7 +582,7 @@ + #endif + } + +-#if defined(__arm__) || defined(__aarch64__) || defined(__ARM_ARCH) ++#if true + + void A_memcpy(void *dest, const void *src, size_t n) { + memcpy(dest, src, n); +Index: CMakeLists.txt +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt (revision 3f75674bef8463fbfb38e5c13b2760001c82db2a) ++++ b/CMakeLists.txt (date 1728303558182) +@@ -99,17 +99,6 @@ + set(CMAKE_BUILD_TYPE Release) + endif() + +-if(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|AMD64)") +- if(CYGWIN OR MINGW) +- set(ASM_LIB ${CMAKE_SOURCE_DIR}/libs/libacof64.lib) +- elseif(UNIX AND NOT APPLE) +- set(ASM_LIB ${CMAKE_SOURCE_DIR}/libs/libaelf64.a) +- elseif(APPLE) +- set(ASM_LIB ${CMAKE_SOURCE_DIR}/libs/libamac64.a) +- endif() +- link_libraries(${ASM_LIB}) +-endif() +- + link_libraries(pthread) + + if(CYGWIN OR MINGW) diff --git a/recipes/mbgc/build.sh b/recipes/mbgc/build.sh index 241cc53ea2f60..a2defe37bec12 100644 --- a/recipes/mbgc/build.sh +++ b/recipes/mbgc/build.sh @@ -1,13 +1,22 @@ -#! /bin/bash +#!/bin/bash mkdir -p $PREFIX/bin -mkdir build -cd build -export CPATH=${BUILD_PREFIX}/include -export CXXPATH=${BUILD_PREFIX}/include -export CFLAGS="$CFLAGS -I$BUILD_PREFIX/include" -export CXXFLAGS="$CFLAGS -I$BUILD_PREFIX/include" -export LDFLAGS="$LDFLAGS -L$BUILD_PREFIX/lib" -cmake .. -make mbgc -cp mbgc $PREFIX/bin + +export INCLUDES="-I${PREFIX}/include" +export LIBPATH="-L${PREFIX}/lib" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" + +if [[ `uname` == "Darwin" ]]; then + export CONFIG_ARGS="-DCMAKE_FIND_FRAMEWORK=NEVER -DCMAKE_FIND_APPBUNDLE=NEVER" +else + export CONFIG_ARGS="" +fi + +cmake -S . -B build -DCMAKE_INSTALL_PREFIX="${PREFIX}" \ + -DCMAKE_BUILD_TYPE=Release \ + "${CONFIG_ARGS}" +cmake --build build --target mbgc -j "${CPU_COUNT}" -v + +chmod 0755 build/mbgc +cp -rf build/mbgc $PREFIX/bin diff --git a/recipes/mbgc/meta.yaml b/recipes/mbgc/meta.yaml index cc8deff5207e3..a84733a119b9f 100644 --- a/recipes/mbgc/meta.yaml +++ b/recipes/mbgc/meta.yaml @@ -1,36 +1,49 @@ -{% set version = "2.0" %} +{% set version = "2.0.1" %} package: name: mbgc version: {{ version }} build: - skip: True # [osx] - number: 0 + number: 1 run_exports: - {{ pin_subpackage('mbgc', max_pin="x") }} source: url: https://github.com/kowallus/mbgc/archive/refs/tags/v{{ version }}.tar.gz - sha256: 58620079cd813cd7bc8c5362af514fb92bf166a71f7f5f978923e36dd5bd655d + sha256: fb422fc89aa95d82dab0b1431b7f220d5f4cdab2dfc1141218e74668461fa530 + patches: + - asmlib_off.patch # [osx and x86_64] requirements: build: - {{ compiler('cxx') }} - cmake >=3.5 - make - + host: + - llvm-openmp # [osx] + - libgomp # [linux] + run: + - llvm-openmp # [osx] + - libgomp # [linux] + test: commands: - mbgc -v 2>&1 | grep -F {{ version }} about: home: https://github.com/kowallus/mbgc - license: GPL3 + license: "GPL-3.0-or-later" license_file: LICENSE - license_family: GPL - summary: A tool for compressing collection of genomes in FASTA format + license_family: GPL3 + summary: "A tool for compressing collection of genomes in FASTA format." + dev_url: https://github.com/kowallus/mbgc extra: - maintainers: + additional-platforms: + - linux-aarch64 + - osx-arm64 + recipe-maintainers: - kowallus + identifiers: + - doi:10.1093/gigascience/giab099 diff --git a/recipes/mcl/build.sh b/recipes/mcl/build.sh index da82f0c1b33d7..e8c845e3701b6 100644 --- a/recipes/mcl/build.sh +++ b/recipes/mcl/build.sh @@ -6,20 +6,23 @@ export INCLUDE_PATH="${PREFIX}/include" export LIBRARY_PATH="${PREFIX}/lib" export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" -export CFLAGS="${CFLAGS} -O3 -fcommon" -export CPPFLAGS="${CPPFLAGS} -I${PREFIX}/include" +export CFLAGS="${CFLAGS} -O3 -L${PREFIX}/lib" +export CPPFLAGS="${CPPFLAGS} -O3 -I${PREFIX}/include" cd cimfomfa +autoupdate +autoreconf -if ./configure --prefix="${PREFIX}" \ CC="${CC}" CFLAGS="${CFLAGS}" \ CPPFLAGS="${CPPFLAGS}" \ LDFLAGS="${LDFLAGS}" \ - --enable-shared + --disable-shared make -j"${CPU_COUNT}" make install make clean cd .. +autoupdate ./configure --prefix="${PREFIX}" \ CC="${CC}" CFLAGS="${CFLAGS}" \ CPPFLAGS="${CPPFLAGS}" \ @@ -28,3 +31,8 @@ cd .. make -j"${CPU_COUNT}" make install make clean + +# Add back in the mcl/blast scripts. +# Remove this once the next release re-incorporates them. +# See https://github.com/micans/mcl/discussions/25 +cp -rf $RECIPE_DIR/scripts/mc* $PREFIX/bin/ diff --git a/recipes/mcl/meta.yaml b/recipes/mcl/meta.yaml index 0471e62c50962..34eb97e7fe060 100644 --- a/recipes/mcl/meta.yaml +++ b/recipes/mcl/meta.yaml @@ -14,17 +14,21 @@ source: folder: cimfomfa build: - number: 0 + number: 2 + run_exports: + - {{ pin_subpackage('mcl', max_pin=None) }} requirements: build: - make - {{ compiler('c') }} + - autoconf + - automake + - libtool host: - perl run: - perl - - blast test: commands: @@ -33,6 +37,7 @@ test: - mcl --help - mcx -h - mcxarray --version + - mcxdeblast -h - mcxdump --version - mcxi -h - mcxload --version @@ -40,13 +45,13 @@ test: - mcxsubs --version about: - home: https://micans.org/mcl/ - license: GPL-3.0-only + home: "https://micans.org/mcl" + license: "GPL-3.0-only" license_family: GPL license_file: LICENSE - summary: MCL - a cluster algorithm for graphs - dev_url: https://github.com/micans/mcl - doc_url: https://micans.org/mcl/man/mcl.html + summary: "MCL - a cluster algorithm for graphs." + dev_url: "https://github.com/micans/mcl" + doc_url: "https://micans.org/mcl/man/mcl.html" extra: identifiers: @@ -54,3 +59,5 @@ extra: - doi:10.1093/nar/30.7.1575 - biotools:mcl - usegalaxy-eu:mcl + additional-platforms: + - linux-aarch64 diff --git a/recipes/mcl/scripts/README b/recipes/mcl/scripts/README new file mode 100644 index 0000000000000..3266fe9c83f0c --- /dev/null +++ b/recipes/mcl/scripts/README @@ -0,0 +1,16 @@ +These scripts downloaded from + + +They should be removed after being re-introduced in the upcoming release. +See https://github.com/micans/mcl/discussions/25 + + +Only the header of mcxdeblast was changed. The change is as follows: + +-#!/usr/local/bin/perl -w ++#!/usr/bin/env perl ++ ++use warnings; + +- Afif Elghraoui / 0xaf1f + 2023-12-25 diff --git a/recipes/mcl/scripts/mclblastline b/recipes/mcl/scripts/mclblastline new file mode 100755 index 0000000000000..2af2d45f41896 --- /dev/null +++ b/recipes/mcl/scripts/mclblastline @@ -0,0 +1,58 @@ +#!/usr/bin/env perl + +# Copyright (C) 2003, 2004, 2005, 2006, 2007 Stijn van Dongen + # +# You can redistribute and/or modify this program under the terms of the GNU +# General Public License; either version 3 of the License or (at your option) +# any later version. + +use strict; + +$" = ' '; + +my $do_help = 0; +my $cline = "mclpipeline --parser=mcxdeblast --parser-tag=blast"; + +unless (grep { $_ =~ /^--ass-r[vei]?=/; } @ARGV) { + $cline .= " --ass-r=max"; +} + +$cline .= " @ARGV"; + +if (grep { $_ =~ /--(help|apropos)/; } @ARGV) { + $do_help = 1; +} +elsif (!@ARGV) { + $do_help = 1; + $cline .= " --help"; +} + +if ($do_help) { + print <<_help_; +mcxblastline wraps around the generic mclpipeline script. It fills in the name +of the BLAST parser (mcxdeblast) and the tag ('blast') used to propagate +mcxdeblast options through the pipeline to mcxdeblast itself. You can freely +use all mclpipeline options other than --parser= and +--parser-tag=. +_help_ +} +if (system $cline) { + print "mcxblastline wrapper: pipeline failed\n"; + print "cline: $cline\n"; + exit(1); +} +if ($do_help) { + print <<_help_; +________________ +The above options are generic pipeline options. You can pass any mcxdeblast +option by inserting the 'blast' tag in front of that particular option. For +example, the mcxdeblast --score=x option (where x is 'b' or 'e') should +be passed to mcxblastline as --blast-score=x. + +The mcxdeblast --xo-dat option is special; it must *not* be prefixed, as it is +shared with mclpipeline, as can be seen from the above listing. The mcxdeblast +--xi-dat option should not be used, as it encapsulated by the mclpipeline --xi +option. +_help_ +} + diff --git a/recipes/mcl/scripts/mcxdeblast b/recipes/mcl/scripts/mcxdeblast new file mode 100755 index 0000000000000..25eea8cc3285d --- /dev/null +++ b/recipes/mcl/scripts/mcxdeblast @@ -0,0 +1,490 @@ +#!/usr/bin/env perl + +use warnings; +use Getopt::Long; + +# (c) Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Stijn van Dongen +# (c) Copyright 2004 Jason Stajich (column output parsing) +# +# Other (C)ontributors; +# Dinakarpandian Deendayal (general comments) +# Abel Ureta-Vidal (general comments) +# Daniel Lundin (regexp tweak, warning) +# +# You can redistribute and/or modify this program under the terms of the GNU +# General Public License; either version 3 of the License or (at your option) +# any later version. + +# +# TODO +# +# - Optionally read from STDIN +# - Require tab file for line-mode={123,packed} +# +# - Infer hsp_len from long output (?) +# - (Perhaps) enable section parsing ala tribe, for finer control. +# - $:: usage is arbitrary and ugly. pipe down. +# - Is the m9/seenlfgt combination correct? +# - Check whether m9 output state is correct if errors occur. + + +$^W = 1; +use strict; + +$::mode_sort = 'o'; # a lphabetical + # o ccurrence + +$::mode_score = 'e'; # e value + # b it + +my $line_mode = ""; # default is raw mode, not line mode +$::name_out = '-'; + +$::bcut = 0; +$::ecut = 0; +$::rcut = 0; + +my $blastfix = ""; +my $addfix = ""; + +my $user_tabfile = ""; + +my %line_modes = qw ( abc 1 123 1); + +my $obase = ""; +my $stdhandler = 0; + +my $help = 0; +my $m9 = 0; +my $abc = 0; + + + +if +(! GetOptions + ( "help" => \$help + , "apropos" => \$help + , "sort=s" => \$::mode_sort + , "ecut=f" => \$::ecut + , "bcut=f" => \$::bcut + , "rcut=f" => \$::rcut + , "score=s" => \$::mode_score + , "m9" => \$m9 + , "tab=s" => \$user_tabfile + , "xo-dat=s" => \$addfix + , "xi-dat=s" => \$blastfix + , "base=s" => \$obase + , "stdhandler" => \$stdhandler + , "line-mode=s" => \$line_mode + , "out=s" => \$::name_out + ) +) + { print STDERR "option processing failed\n"; + exit(1); + } + +help() && exit(0) if $help; + +die "unknown sort mode <$::mode_sort>" + unless $::mode_sort =~ /^[ao]$/; +die "unknown line mode <$line_mode>" + if ($line_mode && !defined($line_modes{$line_mode})); +die "unknown sort mode <$::mode_score>" + unless $::mode_score =~ /^[ebr]$/; + + +my $fname = shift || die "please submit name of blast file\n"; +$obase = $fname unless $obase; + + +if ($blastfix) { + $obase = $fname; + if ($fname =~ /\Q.$blastfix\E$/) { + $obase =~ s/\Q.$blastfix\E$//; + } + else { + $fname .= ".$blastfix"; + } +} +if ($addfix) { + $obase .= ".$addfix"; +} + +my ($gix, $giy); +$::seenlft = {}; +$::seenrgt = {}; +my $tagTocc = {}; +my $me = "[$0] "; +my $lc = 0; +my $fhin = \*STDIN; + +if ($fname ne '-') { + open(F_BLAST, "<$fname") || die "cannot open $fname\n"; + $fhin = \*F_BLAST; +} + +$::TAB_user = {}; + +if ($user_tabfile) { + read_tab($user_tabfile, $::TAB_user); +} + + +$::f_raw = undef; +my $f_err = undef; + +if ($line_mode) { + if (!$::name_out || $::name_out eq '-') { + $::f_raw = \*STDOUT; + } + else { + open(F_RAW, ">$::name_out") || die "cannot open $::name_out"; + $::f_raw = \*F_RAW; + } + $f_err = \*STDERR; + + if ($line_mode eq 'abc') { + # print $::f_raw "#aa# (stream abc cookie)\n"; + } + elsif ($line_mode eq '123') { + # print $::f_raw "#11# (stream abc cookie)\n"; + } +} +else { + if ($stdhandler) { + $::f_raw = \*STDOUT; + $f_err = \*STDERR; + } + else { + open(F_RAW, ">$obase.raw") || die "cannot open $obase.raw\n"; + $::f_raw = \*F_RAW; + open(F_ERR, ">$obase.err") || die "cannot open $obase.err\n"; + $f_err = \*F_ERR; + } +} + +$::ID = 0; + +if ($m9) { + munge_linewise($fhin, $::f_raw, $line_mode); +} +else { + munge_long($fhin, $::f_raw, $line_mode); +} + +close $::f_raw; +$::CT = scalar keys %$::seenrgt; + + +my $alnum = 0; +my $occTmisc = {}; + +if (!$user_tabfile && !$line_mode) { + open(F_HDR, ">$obase.hdr") || die "cannot open $obase.hdr\n"; # header + open(F_MAP, ">$obase.map") || die "cannot open $obase.idx\n"; # map file + open(F_TAB, ">$obase.tab") || die "cannot open $obase.idx\n"; # indices + print F_TAB "# \n"; + if ($::mode_sort eq 'o') { + print F_TAB "# sort mode is by occurrence\n"; + } + elsif ($::mode_sort eq 'a') { + print F_TAB "# sort mode is alphabetical\n"; + } + if ($::mode_sort eq 'a') { + for (sort {$::a cmp $::b; } keys %$tagTocc) { + print F_TAB "$alnum $_\n"; + $occTmisc->{$tagTocc->{$_}} = [ $alnum, $_ ]; + $alnum++; + } + print STDERR "Index [$obase.tab] is sorted by alphabetic order\n"; + } + elsif ($::mode_sort eq 'o' || 1) { + for (sort {$tagTocc->{$::a} <=> $tagTocc->{$::b}; } keys %$tagTocc) { + print F_TAB "$alnum $_\n"; + $occTmisc->{$tagTocc->{$_}} = [ $alnum, $_ ]; + $alnum++; + } + print STDERR "Index [$obase.tab] is sorted by occurrence order\n"; + print STDERR "Primary and secondary occurrences are considered equal\n"; + } + my $ct = keys %$occTmisc; + print F_MAP "(mclheader\nmcltype matrix\ndimensions $ct", 'x', + "$ct\n)\n(mclmatrix\nbegin\n"; + for (sort {$::a <=> $::b; } keys %$occTmisc) { + # print F_MAP "$_ ", $occTmisc->{$_}[0], " ", $occTmisc->{$_}[1], "\n"; + print F_MAP "$_ $occTmisc->{$_}[0] \$\n"; + } + print F_MAP ")\n"; + + print F_HDR "(mclheader\nmcltype matrix\ndimensions "; + print F_HDR $::ID . 'x' . $::ID; + print F_HDR "\n)\n"; + close F_TAB; + close F_HDR; + close F_MAP; +} + + +my $n_err = 0; +for (sort keys %$::seenrgt) { + if (!$::seenlft->{$_}) { + print $f_err "secondary element $_ not seen as primary element\n"; + print $f_err "emergency measure: added the element to the primary list\n"; + $n_err++; + } +} + +if ($n_err) { + print STDERR $me, "$n_err secondary elements not seen as primary element\n"; + print STDERR $me, "I added all of them\n"; + print STDERR $me, "There were $::CT elements in all\n"; +} +else { + print STDERR $me, + "all secondary elements were also seen as primary elements (check ok)\n"; +} + + +sub munge_linewise { + + my ($fh_in, $fh_raw, $line_mode) = @_; + + my $gix_prev = ""; + + while (<$fh_in>) { + + next if /^#/; + chomp; + my $sc_abc = 0; + + my ($gix, $giy, $percent_id, $hsp_len, $mismatches, $gapsm, + $qstart, $qend,$hstart, $hend, $e, $b) + = + split; + + my $s = 0; + + my $idx = getid($gix, 1); + next unless $idx >= 0; + + if ($gix_prev ne $gix) { + if (!$line_mode) { + if ($gix_prev) { + print $fh_raw "\$\n"; + } + if( $idx >= 0 ) { + print $fh_raw "$idx "; + } + } + } + my $idy = getid($giy, 0); + + $s = getscore($e, $b, $hsp_len); + + if ($idy >= 0) { + if (!$line_mode) { + print $fh_raw "$idy:$s "; + } + else { + print $fh_raw "$gix\t$giy\t$s\n"; + } + } + $gix_prev = $gix; + } + + if ($gix_prev) { + print $fh_raw "\$\n" if !$line_mode; + } +} + + +sub munge_long { + + my ($fh_in, $fh_raw, $line_mode) = @_; + + my $need_query = 1; + my $need_hits = 2; + my $need_gi = 3; + + my $state = $need_query; + + while (<$fh_in>) { + $lc++; + chomp; + if (/^Query=\s+gi\|(\d+(_\d+)?)/ || /^Query=\s+(\S+).*$/) { +# warn "STATE query $1\n"; + if ($state != $need_query) { + print STDERR "Unexpected 'Query=' line\n"; + } + $gix = $1; + my $idx = getid($gix, 1); + + if ($idx >= 0) { + print $fh_raw "$idx " if !$line_mode; + } + $state = $need_hits; + } + elsif (/^Query=/) { + print STDERR "Query string not recognized: $_\n"; + } + elsif + ($state == $need_hits && /sequences producing significant alignments/i) { + $state = $need_gi; +# warn "STATE significant\n"; + } + elsif ($state == $need_hits && /no hits found/i) { + print STDERR "no hits found for gi $gix\n"; + print $fh_raw "\$\n" if !$line_mode; + $state = $need_query; + } + elsif + ( $state == $need_gi + && ! /^>/ + && (/^gi\|(\d+(_\d+)?)/ || /^(\S+)\s+.*$/) + ) + { $giy = $1; + my $idy = getid($giy, 0); + my ($s, $b, $e); + + if (/(\S+)\s+(\S+)\s*$/) { + $b = +$1; + $e = +$2; + } + else { + print STDERR "no scores in line $lc [$_]!\n"; + next; + } + + $s = getscore($e, $b, 0); + + if ($idy >= 0) { # fixme, void or explain. + if (!$line_mode) { + print $fh_raw "$idy:$s "; + } + else { + print $fh_raw "$giy\t$gix\t$s\n"; + } + } + } + elsif (/^\s*$/) { + # paragraph skip does not change state, including the $need_gi case. + } + elsif (/(Statistics|Parameters):/) { + $state = $need_query; + # this provides WU-blast compatibility. + } + elsif ($state == $need_gi) { + print $fh_raw "\$\n" if !$line_mode; + $state = $need_query; + } + } + + if ($state == $need_gi) { + print $f_err "run ended while expecting more secondary scores\n"; + print STDERR "run ended while expecting more secondary scores\n"; + print $fh_raw "\$\n" if !$line_mode; + } +} + + + + +sub read_tab { + my $file = shift; + my $tab = shift; + open (U_TAB, "<$file") || die "cannot open $file\n"; + while () { + if (/^\s*#/) { + next; + } + else { + if (/^(\d+)\s+(.*)/) { + $tab->{$2} = $1; + } + else { + print STDERR "___ cannot parse line: $_"; + } + } + } +} + + +sub getscore { + my ($e, $b, $hl) = @_; + my $s = 0; + + if ($::mode_score eq 'e') { + $e = "1$e" if $e =~ /^e/; + $s = $e > 0 ? -log($e)/log(10) : 200; + if ($s > 200) { + $s = 200; + } + $s = $s > $::ecut ? $s : 0; + } + elsif ($::mode_score eq 'b') { + $s = $b > $::bcut ? $b : 0; + } + elsif ($::mode_score eq 'r' && $hl) { + $s = $b / $hl; + $s = $s > $::rcut ? $s : 0; + } + return $s; +} + + +sub getid { + my ($gi, $is_a_query) = @_; + my $id = -1; + + if ($user_tabfile) { + if (defined($::TAB_user->{$gi})) { + $id = $::TAB_user->{$gi}; + } + else { + print STDERR "___ no user tab entry for label <$gi>\n"; + return -1; + } + } + else { + if (!exists($tagTocc->{$gi})) { +# warn "$is_a_query $gi <-> $::ID\n"; + $tagTocc->{$gi} = $::ID++; + } + $id = $tagTocc->{$gi}; + } + + $::seenrgt->{$id}++; + if ($is_a_query) { + $::seenlft->{$id}++; + } + return $id; +} + + +sub help { + print <<_help_; +Usage: mcxdeblast file-name +where file-name is in BLAST NCBI format. +mcxdeblast will create + base.hdr [to be read by mcxassemble] + base.raw [to be read by mcxassemble] + base.map [to be read by mcxassemble] + base.tab [to be read by clmformat] + base.err [error log] +where base is derived from or equal to file-name +Options: + --m9 Expect column (-m 9) input. + --line-mode=abc Output simple ID1 ID2 SCORE format. + --score= Use bit scores, E-values, + or bit scores normalized by hsp-length + --sort= Use alphabetic sorting (default) or occurrence. + --tab= Use user-supplied tab file. + --xi-dat= Strip from file-name to create output base name. + --xo-dat= Add to base name. + --bcut= Ignore hits below bit score + --ecut= Ignore hits below E-value + --rcut= Ignore hits below raw value + --out= Output file name ('-' for STDOUT) +_help_ +} + diff --git a/recipes/me-pcr/build.sh b/recipes/me-pcr/build.sh new file mode 100644 index 0000000000000..eb50a1af2b62b --- /dev/null +++ b/recipes/me-pcr/build.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +make CC=$CC CPP=$CXX -C src/ -f makefile + +mkdir -p $PREFIX/share/me-pcr/ +cp README.txt $PREFIX/share/me-pcr/ + +mkdir -p $PREFIX/bin +chmod +x src/me-PCR +cp src/me-PCR $PREFIX/bin/ diff --git a/recipes/me-pcr/meta.yaml b/recipes/me-pcr/meta.yaml new file mode 100644 index 0000000000000..76450d25ec72c --- /dev/null +++ b/recipes/me-pcr/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "me-pcr" %} +{% set version = "1.0.6" %} +{% set sha256 = "61e84af827ef99de245a7a711746e0b0b905e40f5adaf5e34da936a486c8b0e7" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://web.archive.org/web/20100708193215/http://genome.chop.edu/mePCR/me-PCR-{{ version }}.zip + sha256: {{ sha256 }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + build: + - make + - {{ compiler('c') }} + - {{ compiler('cxx') }} + +test: + commands: + - me-PCR 2>&1 | grep "Multithreaded Electronic PCR" + # - me-PCR test/test.sts test/test.fa + +about: + home: https://web.archive.org/web/20100708193215/http://genome.chop.edu/mePCR/ + license: Public Domain + summary: Multithreaded Electronic PCR (in-silico PCR) based on NCBI e-PCR. + description: | + Multithreaded Electronic PCR (me-PCR) was developed by Kevin Murphy at + Children's Hospital of Philadelphia. It is described in Murphy et al + (2004) https://doi.org/10.1093/bioinformatics/btg466 and was originally + available from http://genome.chop.edu/mePCR (defunct). It was based on the + public domain NCBI tool e-PCR by Gregory D. Schuler, described in Schuler + (1997) https://doi.org/10.1101/gr.7.5.541 which was origially availble + from ftp://ncbi.nlm.nih.gov/pub/schuler/e-PCR/ (defunct). The final + release of me-PCR was v1.0.6 (2008-02-18), and the author wrote that in + general NCBI e-PCR should be used instead having been improved greatly + over the years. The NCBI retired and withdrew the e-PCR webservice and + command line tool on 2017-06-28, suggesting the online-only tool + Primer-BLAST instead. However, this is not suitable for offline high + throughput usage. See also Jim Kent's isPCR (aslo available in BioConda). + +extra: + identifiers: + - biotools:{{ name }} diff --git a/recipes/medaka/LICENSE.md b/recipes/medaka/LICENSE.md deleted file mode 100644 index 56dddbbdb5f2d..0000000000000 --- a/recipes/medaka/LICENSE.md +++ /dev/null @@ -1,364 +0,0 @@ -This Source Code Form is subject to the terms of the Mozilla Public -License, v. 2.0. If a copy of the MPL was not distributed with this -file, You can obtain one at http://mozilla.org/MPL/2.0/. - -(c) 2016 Oxford Nanopore Technologies Ltd. - - -Mozilla Public License Version 2.0 -================================== - -### 1. Definitions - -**1.1. “Contributor”** - means each individual or legal entity that creates, contributes to - the creation of, or owns Covered Software. - -**1.2. “Contributor Version”** - means the combination of the Contributions of others (if any) used - by a Contributor and that particular Contributor's Contribution. - -**1.3. “Contribution”** - means Covered Software of a particular Contributor. - -**1.4. “Covered Software”** - means Source Code Form to which the initial Contributor has attached - the notice in Exhibit A, the Executable Form of such Source Code - Form, and Modifications of such Source Code Form, in each case - including portions thereof. - -**1.5. “Incompatible With Secondary Licenses”** - means - -* **(a)** that the initial Contributor has attached the notice described - in Exhibit B to the Covered Software; or -* **(b)** that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the - terms of a Secondary License. - -**1.6. “Executable Form”** - means any form of the work other than Source Code Form. - -**1.7. “Larger Work”** - means a work that combines Covered Software with other material, in - a separate file or files, that is not Covered Software. - -**1.8. “License”** - means this document. - -**1.9. “Licensable”** - means having the right to grant, to the maximum extent possible, - whether at the time of the initial grant or subsequently, any and - all of the rights conveyed by this License. - -**1.10. “Modifications”** - means any of the following: - -* **(a)** any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered - Software; or -* **(b)** any new file in Source Code Form that contains any Covered - Software. - -**1.11. “Patent Claims” of a Contributor** - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the - License, by the making, using, selling, offering for sale, having - made, import, or transfer of either its Contributions or its - Contributor Version. - -**1.12. “Secondary License”** - means either the GNU General Public License, Version 2.0, the GNU - Lesser General Public License, Version 2.1, the GNU Affero General - Public License, Version 3.0, or any later versions of those - licenses. - -**1.13. “Source Code Form”** - means the form of the work preferred for making modifications. - -**1.14. “You” (or “Your”)** - means an individual or a legal entity exercising rights under this - License. For legal entities, “You” includes any entity that - controls, is controlled by, or is under common control with You. For - purposes of this definition, “control” means **(a)** the power, direct - or indirect, to cause the direction or management of such entity, - whether by contract or otherwise, or **(b)** ownership of more than - fifty percent (50%) of the outstanding shares or beneficial - ownership of such entity. - - -### 2. License Grants and Conditions - -#### 2.1. Grants - -Each Contributor hereby grants You a world-wide, royalty-free, -non-exclusive license: - -* **(a)** under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and -* **(b)** under Patent Claims of such Contributor to make, use, sell, offer - for sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. - -#### 2.2. Effective Date - -The licenses granted in Section 2.1 with respect to any Contribution -become effective for each Contribution on the date the Contributor first -distributes such Contribution. - -#### 2.3. Limitations on Grant Scope - -The licenses granted in this Section 2 are the only rights granted under -this License. No additional rights or licenses will be implied from the -distribution or licensing of Covered Software under this License. -Notwithstanding Section 2.1(b) above, no patent license is granted by a -Contributor: - -* **(a)** for any code that a Contributor has removed from Covered Software; - or -* **(b)** for infringements caused by: **(i)** Your and any other third party's - modifications of Covered Software, or **(ii)** the combination of its - Contributions with other software (except as part of its Contributor - Version); or -* **(c)** under Patent Claims infringed by Covered Software in the absence of - its Contributions. - -This License does not grant any rights in the trademarks, service marks, -or logos of any Contributor (except as may be necessary to comply with -the notice requirements in Section 3.4). - -#### 2.4. Subsequent Licenses - -No Contributor makes additional grants as a result of Your choice to -distribute the Covered Software under a subsequent version of this -License (see Section 10.2) or under the terms of a Secondary License (if -permitted under the terms of Section 3.3). - -#### 2.5. Representation - -Each Contributor represents that the Contributor believes its -Contributions are its original creation(s) or it has sufficient rights -to grant the rights to its Contributions conveyed by this License. - -#### 2.6. Fair Use - -This License is not intended to limit any rights You have under -applicable copyright doctrines of fair use, fair dealing, or other -equivalents. - -#### 2.7. Conditions - -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted -in Section 2.1. - - -### 3. Responsibilities - -#### 3.1. Distribution of Source Form - -All distribution of Covered Software in Source Code Form, including any -Modifications that You create or to which You contribute, must be under -the terms of this License. You must inform recipients that the Source -Code Form of the Covered Software is governed by the terms of this -License, and how they can obtain a copy of this License. You may not -attempt to alter or restrict the recipients' rights in the Source Code -Form. - -#### 3.2. Distribution of Executable Form - -If You distribute Covered Software in Executable Form then: - -* **(a)** such Covered Software must also be made available in Source Code - Form, as described in Section 3.1, and You must inform recipients of - the Executable Form how they can obtain a copy of such Source Code - Form by reasonable means in a timely manner, at a charge no more - than the cost of distribution to the recipient; and - -* **(b)** You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter - the recipients' rights in the Source Code Form under this License. - -#### 3.3. Distribution of a Larger Work - -You may create and distribute a Larger Work under terms of Your choice, -provided that You also comply with the requirements of this License for -the Covered Software. If the Larger Work is a combination of Covered -Software with a work governed by one or more Secondary Licenses, and the -Covered Software is not Incompatible With Secondary Licenses, this -License permits You to additionally distribute such Covered Software -under the terms of such Secondary License(s), so that the recipient of -the Larger Work may, at their option, further distribute the Covered -Software under the terms of either this License or such Secondary -License(s). - -#### 3.4. Notices - -You may not remove or alter the substance of any license notices -(including copyright notices, patent notices, disclaimers of warranty, -or limitations of liability) contained within the Source Code Form of -the Covered Software, except that You may alter any license notices to -the extent required to remedy known factual inaccuracies. - -#### 3.5. Application of Additional Terms - -You may choose to offer, and to charge a fee for, warranty, support, -indemnity or liability obligations to one or more recipients of Covered -Software. However, You may do so only on Your own behalf, and not on -behalf of any Contributor. You must make it absolutely clear that any -such warranty, support, indemnity, or liability obligation is offered by -You alone, and You hereby agree to indemnify every Contributor for any -liability incurred by such Contributor as a result of warranty, support, -indemnity or liability terms You offer. You may include additional -disclaimers of warranty and limitations of liability specific to any -jurisdiction. - - -### 4. Inability to Comply Due to Statute or Regulation - -If it is impossible for You to comply with any of the terms of this -License with respect to some or all of the Covered Software due to -statute, judicial order, or regulation then You must: **(a)** comply with -the terms of this License to the maximum extent possible; and **(b)** -describe the limitations and the code they affect. Such description must -be placed in a text file included with all distributions of the Covered -Software under this License. Except to the extent prohibited by statute -or regulation, such description must be sufficiently detailed for a -recipient of ordinary skill to be able to understand it. - - -### 5. Termination - -**5.1.** The rights granted under this License will terminate automatically -if You fail to comply with any of its terms. However, if You become -compliant, then the rights granted under this License from a particular -Contributor are reinstated **(a)** provisionally, unless and until such -Contributor explicitly and finally terminates Your grants, and **(b)** on an -ongoing basis, if such Contributor fails to notify You of the -non-compliance by some reasonable means prior to 60 days after You have -come back into compliance. Moreover, Your grants from a particular -Contributor are reinstated on an ongoing basis if such Contributor -notifies You of the non-compliance by some reasonable means, this is the -first time You have received notice of non-compliance with this License -from such Contributor, and You become compliant prior to 30 days after -Your receipt of the notice. - -**5.2.** If You initiate litigation against any entity by asserting a patent -infringement claim (excluding declaratory judgment actions, -counter-claims, and cross-claims) alleging that a Contributor Version -directly or indirectly infringes any patent, then the rights granted to -You by any and all Contributors for the Covered Software under Section -2.1 of this License shall terminate. - -**5.3.** In the event of termination under Sections 5.1 or 5.2 above, all -end user license agreements (excluding distributors and resellers) which -have been validly granted by You or Your distributors under this License -prior to termination shall survive termination. - - -### 6. Disclaimer of Warranty - -> Covered Software is provided under this License on an “as is” -> basis, without warranty of any kind, either expressed, implied, or -> statutory, including, without limitation, warranties that the -> Covered Software is free of defects, merchantable, fit for a -> particular purpose or non-infringing. The entire risk as to the -> quality and performance of the Covered Software is with You. -> Should any Covered Software prove defective in any respect, You -> (not any Contributor) assume the cost of any necessary servicing, -> repair, or correction. This disclaimer of warranty constitutes an -> essential part of this License. No use of any Covered Software is -> authorized under this License except under this disclaimer. - -### 7. Limitation of Liability - -> Under no circumstances and under no legal theory, whether tort -> (including negligence), contract, or otherwise, shall any -> Contributor, or anyone who distributes Covered Software as -> permitted above, be liable to You for any direct, indirect, -> special, incidental, or consequential damages of any character -> including, without limitation, damages for lost profits, loss of -> goodwill, work stoppage, computer failure or malfunction, or any -> and all other commercial damages or losses, even if such party -> shall have been informed of the possibility of such damages. This -> limitation of liability shall not apply to liability for death or -> personal injury resulting from such party's negligence to the -> extent applicable law prohibits such limitation. Some -> jurisdictions do not allow the exclusion or limitation of -> incidental or consequential damages, so this exclusion and -> limitation may not apply to You. - - -### 8. Litigation - -Any litigation relating to this License may be brought only in the -courts of a jurisdiction where the defendant maintains its principal -place of business and such litigation shall be governed by laws of that -jurisdiction, without reference to its conflict-of-law provisions. -Nothing in this Section shall prevent a party's ability to bring -cross-claims or counter-claims. - - -### 9. Miscellaneous - -This License represents the complete agreement concerning the subject -matter hereof. If any provision of this License is held to be -unenforceable, such provision shall be reformed only to the extent -necessary to make it enforceable. Any law or regulation which provides -that the language of a contract shall be construed against the drafter -shall not be used to construe this License against a Contributor. - - -### 10. Versions of the License - -#### 10.1. New Versions - -Mozilla Foundation is the license steward. Except as provided in Section -10.3, no one other than the license steward has the right to modify or -publish new versions of this License. Each version will be given a -distinguishing version number. - -#### 10.2. Effect of New Versions - -You may distribute the Covered Software under the terms of the version -of the License under which You originally received the Covered Software, -or under the terms of any subsequent version published by the license -steward. - -#### 10.3. Modified Versions - -If you create software not governed by this License, and you want to -create a new license for such software, you may create and use a -modified version of this License if you rename the license and remove -any references to the name of the license steward (except to note that -such modified license differs from this License). - -#### 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses - -If You choose to distribute Source Code Form that is Incompatible With -Secondary Licenses under the terms of this version of the License, the -notice described in Exhibit B of this License must be attached. - -## Exhibit A - Source Code Form License Notice - - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular -file, then You may include the notice in a location (such as a LICENSE -file in a relevant directory) where a recipient would be likely to look -for such a notice. - -You may add additional accurate notices of copyright ownership. - -## Exhibit B - “Incompatible With Secondary Licenses” Notice - - This Source Code Form is "Incompatible With Secondary Licenses", as - defined by the Mozilla Public License, v. 2.0. - - diff --git a/recipes/medaka/build.sh b/recipes/medaka/build.sh index a17d134c7c243..5dc2e9c7995bd 100644 --- a/recipes/medaka/build.sh +++ b/recipes/medaka/build.sh @@ -1,10 +1,10 @@ -#!/bin/bash +#!/bin/bash -euo export INCLUDE_PATH="${PREFIX}/include" export LIBRARY_PATH="${PREFIX}/lib" export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" -export CFLAGS="-I${PREFIX}/include ${LDFLAGS}" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" # disable Makefile driven build of htslib.a sed -i.bak "s/'build_ext': HTSBuild//" setup.py @@ -13,4 +13,6 @@ sed -i.bak "s/'build_ext': HTSBuild//" setup.py sed -i.bak 's/extra_objects.*//' build.py sed -i.bak 's/^libraries=\[/libraries=\["hts",/' build.py -$PYTHON -m pip install . --no-deps --ignore-installed -vvv +rm -rf *.bak + +${PYTHON} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv diff --git a/recipes/medaka/conda_build_config.yaml b/recipes/medaka/conda_build_config.yaml deleted file mode 100644 index f45b292d8ac64..0000000000000 --- a/recipes/medaka/conda_build_config.yaml +++ /dev/null @@ -1,9 +0,0 @@ -# Required to support Tensorflow v2.10, which is the only version -# supported by Medaka. The pinning of older versions of libcurl and -# openssl will cause installation of outdated packages and likely -# lead solver conflicts in the future. Please review this on future -# releases, especially if support for TensorFlow 2.11+ is added. -libcurl: - - 7 -openssl: - - 1.1.1 diff --git a/recipes/medaka/meta.yaml b/recipes/medaka/meta.yaml index 130e59ae53756..9f2a28e5e98ac 100644 --- a/recipes/medaka/meta.yaml +++ b/recipes/medaka/meta.yaml @@ -1,10 +1,10 @@ -{% set name = "Medaka" %} -{% set version = "1.11.2" %} -{% set sha256 = "8dcb9941ead369b0a8715db80a3375b50a1ad8b58ea12009222b1d70f39cfb07" %} +{% set name = "medaka" %} +{% set version = "2.0.1" %} +{% set sha256 = "7b7a0dc558f19d10fe8eb588f709a179ef5204a53aad5cfdfbd5c57039193a9f" %} # Bot PRs - Always review requirements.txt for new release package: - name: {{ name|lower }} + name: {{ name }} version: {{ version }} source: @@ -15,6 +15,7 @@ source: build: number: 0 + skip: True # [osx or py < 38 or py > 311] entry_points: - medaka = medaka.medaka:main - medaka_counts = medaka.medaka_counts:main @@ -26,11 +27,12 @@ build: requirements: build: - {{ compiler('c') }} - - coreutils + - cmake + - make host: - python - pip - - cffi >=1.15.0 + - cffi - htslib >=1.14 - libcurl - openssl @@ -39,14 +41,12 @@ requirements: - zlib run: - python - - cffi >=1.15.0 + - cffi - grpcio - h5py - intervaltree - # Please review the need for the conda_build_config.yaml - # if a more recent version of Tensorflow is supported. - - tensorflow >=2.10,<2.11 - - numpy >=1.21.6 + - pytorch >=2.3,<2.4 + - numpy >=1.21.0,<2.0.0 - nomkl # [osx] - mappy - ont-fast5-api @@ -60,8 +60,7 @@ requirements: - bcftools >=1.14 - minimap2 >=2.17 - htslib >=1.14 - - libcurl - - openssl + - tqdm - wurlitzer test: @@ -69,19 +68,23 @@ test: - medaka commands: - medaka --help - - medaka consensus --help + - medaka inference --help - medaka_data_path - medaka_version_report about: - home: https://github.com/nanoporetech/medaka - summary: Neural network sequence error correction. - license: MPL-2.0 + home: "https://github.com/nanoporetech/medaka" + summary: "A tool to create consensus sequences and variant calls from nanopore sequencing data using neural networks." + license: "MPL-2.0" license_family: OTHER - license_file: LICENSE.md - dev_url: https://github.com/nanoporetech/medaka + license_file: "LICENSE" + dev_url: "https://github.com/nanoporetech/medaka" + doc_url: "https://github.com/nanoporetech/medaka/blob/v{{ version }}/README.md" extra: identifiers: - usegalaxy-eu:medaka_consensus + - usegalaxy-eu:medaka_consensus_pipeline + - usegalaxy-eu:medaka_variant + - usegalaxy-eu:medaka_variant_pipeline - biotools:medaka diff --git a/recipes/medicc2/meta.yaml b/recipes/medicc2/meta.yaml index b7a8f9ef58207..a994a9c9b558f 100644 --- a/recipes/medicc2/meta.yaml +++ b/recipes/medicc2/meta.yaml @@ -1,6 +1,6 @@ {% set name = "medicc2" %} -{% set version = "1.0.2" %} -{% set hash = "0acfcea5646706ce4ceb787a36eef2e9d7272928442b147e23813c56ecde5987" %} +{% set version = "1.1.2" %} +{% set hash = "13cb58099d5e4b79b4169b8ccc8f2543863b1dab0a43fafb5e146bfd9d9adc97" %} package: @@ -13,8 +13,10 @@ source: build: number: 0 - skip: true # [py < 37] - script: {{ PYTHON }} -m pip install . -vv + skip: True # [py < 38 or py >= 311] + run_exports: + - {{ pin_subpackage("medicc2", max_pin="x") }} + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv requirements: build: @@ -28,31 +30,36 @@ requirements: - openfst ==1.8.2 - setuptools - cython ==0.29.* + - pathlib2 run: - python - - numpy >=1.20.1 + - numpy >=1.20.1,<2.0 - pyyaml >=5.4.1 - {{ pin_compatible('openfst', max_pin='x.x.x') }} - - pandas >=1.2.2 + - pandas >=1.2,<2.1 - joblib >=1.0.1 - biopython >=1.78 - scipy >=1.7 - - matplotlib-base >=3.3 + - matplotlib-base >=3.3.4 - pyranges test: commands: - medicc2 --help -extra: - recipe-maintainers: - - tlkaufmann - about: home: https://bitbucket.org/schwarzlab/medicc2 - license: GPL-3 + license: GPL-3.0-or-later + license_family: GPL3 license_file: LICENSE summary: Whole-genome doubling-aware copy number phylogenies for cancer evolution description: | For more information see the accompanying biorxiv preprint "Kaufmann et al. Whole-genome doubling-aware copy number phylogenies for cancer evolution with MEDICC2." + dev_url: https://bitbucket.org/schwarzlab/medicc2 + +extra: + recipe-maintainers: + - tlkaufmann + identifiers: + - doi:10.1186/s13059-022-02794-9 diff --git a/recipes/megadepth/meta.yaml b/recipes/megadepth/meta.yaml index 002b3552e61f7..44bdcbe3ea800 100644 --- a/recipes/megadepth/meta.yaml +++ b/recipes/megadepth/meta.yaml @@ -8,7 +8,7 @@ package: version: {{ version }} build: - number: 5 + number: 6 source: url: https://github.com/ChristopherWilks/megadepth/archive/{{ version }}.tar.gz diff --git a/recipes/megahit/linux-aarch64-support-pr-368.patch b/recipes/megahit/linux-aarch64-support-pr-368.patch new file mode 100644 index 0000000000000..01b9f2d556f98 --- /dev/null +++ b/recipes/megahit/linux-aarch64-support-pr-368.patch @@ -0,0 +1,74 @@ +From 296ad6b5359ac5072a97fe0b7f72cad08031542f Mon Sep 17 00:00:00 2001 +From: Martin Tzvetanov Grigorov +Date: Wed, 27 Mar 2024 15:07:02 +0200 +Subject: [PATCH 1/5] Add support for non-x86_64 architectures (e.g. Linux + ARM64) + +Fixes https://github.com/voutcn/megahit/issues/320 +Based on: https://github.com/voutcn/megahit/pull/329 + +Preserves the x86_64 specifics when building on x86_64 machine + +Signed-off-by: Martin Tzvetanov Grigorov +--- + CMakeLists.txt | 8 ++++++-- + src/kmlib/kmrns.h | 2 ++ + src/utils/cpu_dispatch.h | 6 ++++++ + 3 files changed, 14 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 172a03d..d21b2d3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -73,8 +73,12 @@ add_executable(megahit_core_popcnt ${OTHER_SOURCE} ${ASMBL_SOURCE} ${IDBA_SOURCE + ${CX1_SOURCE} ${TOOLKIT_SOURCE}) + add_executable(megahit_core_no_hw_accel ${OTHER_SOURCE} ${ASMBL_SOURCE} ${IDBA_SOURCE} ${SDBG_SOURCE} ${LCASM_SOURCE} + ${SEQ_SOURCE} ${CX1_SOURCE} ${TOOLKIT_SOURCE}) +-set_target_properties(megahit_core PROPERTIES COMPILE_FLAGS "-mbmi2 -DUSE_BMI2 -mpopcnt") +-set_target_properties(megahit_core_popcnt PROPERTIES COMPILE_FLAGS "-mpopcnt") ++ ++if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64)|(amd64)|(AMD64)") ++ set_target_properties(megahit_core PROPERTIES COMPILE_FLAGS "-mbmi2 -DUSE_BMI2 -mpopcnt") ++ set_target_properties(megahit_core_popcnt PROPERTIES COMPILE_FLAGS "-mpopcnt") ++endif () ++ + + if (STATIC_BUILD) + # TODO dirty +diff --git a/src/kmlib/kmrns.h b/src/kmlib/kmrns.h +index 9f2e9dd..0352858 100644 +--- a/src/kmlib/kmrns.h ++++ b/src/kmlib/kmrns.h +@@ -8,7 +8,9 @@ + #include + #include + #include ++#if defined(__x86_64__) + #include ++#endif + #include + + namespace kmlib { +diff --git a/src/utils/cpu_dispatch.h b/src/utils/cpu_dispatch.h +index ec01bb6..44ba1e2 100644 +--- a/src/utils/cpu_dispatch.h ++++ b/src/utils/cpu_dispatch.h +@@ -5,6 +5,7 @@ + #ifndef MEGAHIT_CPU_DISPATCH_H + #define MEGAHIT_CPU_DISPATCH_H + ++#if defined(__x86_64__) + inline bool HasPopcnt() { + unsigned eax, ebx, ecx, edx; + #ifdef _MSC_VER +@@ -32,5 +33,10 @@ inline bool HasBmi2() { + #endif + return ebx >> 8U & 1U; + } ++#else ++inline bool HasPopcnt() { return false; } ++inline bool HasBmi2() { return false; } ++#endif ++ + + #endif // MEGAHIT_CPU_DISPATCH_H \ No newline at end of file diff --git a/recipes/megahit/meta.yaml b/recipes/megahit/meta.yaml index cdc6d877dde6a..35673ec2df9ee 100644 --- a/recipes/megahit/meta.yaml +++ b/recipes/megahit/meta.yaml @@ -8,12 +8,16 @@ package: source: sha256: '{{sha256}}' url: https://github.com/voutcn/megahit/archive/v{{version}}.tar.gz + patches: + - linux-aarch64-support-pr-368.patch build: - number: 4 + number: 5 # TODO test fails on osx without visible error. # Feel free to fix and enable again. skip: true # [osx] + run_exports: + - {{ pin_subpackage('megahit', max_pin='x') }} requirements: build: @@ -45,6 +49,8 @@ about: metagenomics assembly via succinct de Bruijn graph extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:megahit - doi:10.1093/bioinformatics/btv033 diff --git a/recipes/megalodon/meta.yaml b/recipes/megalodon/meta.yaml index 9056a14a6a404..a6b6ad8d40cfb 100644 --- a/recipes/megalodon/meta.yaml +++ b/recipes/megalodon/meta.yaml @@ -16,7 +16,7 @@ build: - megalodon = megalodon.__main__:_main - megalodon_extras = megalodon_extras.__main__:_main script: {{ PYTHON }} -m pip install . --no-deps -vv - number: 0 + number: 2 run_exports: - {{ pin_subpackage(name, max_pin="x") }} @@ -60,6 +60,8 @@ about: dev_url: https://github.com/nanoporetech/megalodon extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - marcus1487 - npavlovikj diff --git a/recipes/megan/meta.yaml b/recipes/megan/meta.yaml index b630ebb5fdfad..d3014d47e4e3c 100644 --- a/recipes/megan/meta.yaml +++ b/recipes/megan/meta.yaml @@ -1,13 +1,13 @@ {% set name = "megan" %} -{% set version = "6.24.20" %} +{% set version = "6.25.9" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://software-ab.cs.uni-tuebingen.de/download/megan6/MEGAN_Community_unix_{{ version|replace(".", "_") }}.sh # [linux] - sha256: 4eaf7797b4a2b9cdc2157b2780810504b9b8b539dd81bb6130f4b69e453f009b # [linux] + url: https://maira.cs.uni-tuebingen.de/download/megan6/MEGAN_Community_unix_{{ version|replace(".", "_") }}.sh # [linux] + sha256: 09975351baff29e620d49f14145bde7840ec5d58828ba9ddf187c9ba54e46b4b # [linux] # url: https://software-ab.informatik.uni-tuebingen.de/download/megan6/MEGAN_Community_macos_{{ version|replace(".", "_") }}.dmg # [osx] # sha256: dd843e823f358f496834a2034e1b638e9602ba83251a5f0542f20b0d22d7dc70 # [osx] @@ -15,6 +15,8 @@ build: # detect_binary_files_with_prefix: true number: 0 skip: True # [osx] + run_exports: + - {{ pin_subpackage("megan", max_pin="x.x") }} requirements: host: diff --git a/recipes/megapath/meta.yaml b/recipes/megapath/meta.yaml index 09417f0f6b7a9..ef298cec6be58 100644 --- a/recipes/megapath/meta.yaml +++ b/recipes/megapath/meta.yaml @@ -12,7 +12,7 @@ source: build: skip: True # [not linux] - number: 3 + number: 4 requirements: build: diff --git a/recipes/mehari/build.sh b/recipes/mehari/build.sh index 62fe997e4df96..4bbfddb620755 100644 --- a/recipes/mehari/build.sh +++ b/recipes/mehari/build.sh @@ -1,6 +1,6 @@ -#!/bin/bash -eu +#!/bin/bash -xeuo # Make sure bindgen passes on our compiler flags. export BINDGEN_EXTRA_CLANG_ARGS="${CPPFLAGS} ${CFLAGS} ${LDFLAGS}" -cargo install --no-track --locked --verbose --root "${PREFIX}" --path . +cargo install --no-track --locked --root "${PREFIX}" --path . diff --git a/recipes/mehari/fix-release-profile.patch b/recipes/mehari/fix-release-profile.patch new file mode 100644 index 0000000000000..78f2c5e59cc6d --- /dev/null +++ b/recipes/mehari/fix-release-profile.patch @@ -0,0 +1,14 @@ +diff --git a/Cargo.toml b/Cargo.toml +index 58c9882..c1ac205 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -111,8 +111,7 @@ opt-level = 3 + + [profile.release] + debug = false +-lto = "fat" +-codegen-units = 1 ++codegen-units = 8 + + [profile.dev] + debug = true diff --git a/recipes/mehari/meta.yaml b/recipes/mehari/meta.yaml index c36b6f1c6475a..6584018563bc8 100644 --- a/recipes/mehari/meta.yaml +++ b/recipes/mehari/meta.yaml @@ -1,33 +1,34 @@ -{% set version = "0.21.1" %} -{% set sha256 = "6dcdd453ca44a531e4b4903ebf32921707bebe9d51f389a463dc2df3b3042f12" %} +{% set version = "0.28.1" %} +{% set sha256 = "b1bb238782036c05795b74fbb7e97ff998e234fd89f4501234b052d3f2a0d683" %} package: name: mehari version: {{ version }} +source: + url: https://github.com/varfish-org/mehari/archive/v{{ version }}.tar.gz + sha256: {{ sha256 }} + patches: + - fix-release-profile.patch + build: skip: True # [osx] number: 0 run_exports: - {{ pin_subpackage("mehari", max_pin="x.x") }} -source: - url: https://github.com/bihealth/mehari/archive/v{{ version }}.tar.gz - sha256: {{ sha256 }} - requirements: build: - {{ compiler('c') }} - {{ compiler('cxx') }} - {{ compiler('rust') }} - cmake - - protobuf - make - pkg-config - - rust >=1.64 host: - clangdev - openssl + - protobuf - sqlite - zlib run: @@ -38,6 +39,12 @@ test: - mehari -h about: - home: https://github.com/bihealth/mehari + home: https://github.com/varfish-org/mehari license: MIT + license_family: MIT summary: VEP-like tool for sequence ontology and HGVS annotation of VCF files written in Rust. + dev_url: https://github.com/varfish-org/mehari + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/melon/meta.yaml b/recipes/melon/meta.yaml index ce8a8b5bd87cd..bb85221963f0a 100644 --- a/recipes/melon/meta.yaml +++ b/recipes/melon/meta.yaml @@ -1,5 +1,5 @@ {% set name = "melon" %} -{% set version = "0.1.0" %} +{% set version = "0.2.0" %} package: name: '{{ name|lower }}' @@ -7,7 +7,7 @@ package: source: url: https://github.com/xinehc/melon/archive/refs/tags/v{{ version }}.tar.gz - sha256: 4532d2a618e72adc235fde46945983cc7581f1917c8ceb82a1b65d6c1df9cc70 + sha256: 3020c20f8619aeeb254a52eb8822dab3689956b3e218450cd8506a42f263f7f4 build: noarch: python @@ -27,6 +27,8 @@ requirements: - kraken2 - seqkit - numpy + - scipy + - tqdm test: imports: @@ -38,7 +40,7 @@ about: home: https://github.com/xinehc/melon license: MIT license_family: MIT - summary: 'Melon: metagenomic long-read-based taxonomic identification and quantification using marker genes' + summary: 'Melon: metagenomic long-read-based taxonomic identification and quantification' extra: recipe-maintainers: diff --git a/recipes/meme/build.sh b/recipes/meme/build.sh index 58e05134d1b50..30440594b5d6a 100644 --- a/recipes/meme/build.sh +++ b/recipes/meme/build.sh @@ -1,34 +1,23 @@ -#!/bin/bash -set -e +#!/bin/bash -ex -export MEME_ETC_DIR=${PREFIX}/etc -#HOME=/tmp cpanm CGI::Application -#HOME=/tmp cpanm XML::Parser::Expat --configure-args "EXPATLIBPATH=$PREFIX/lib" --configure-args "EXPATHINCPATH=$PREFIX/include" +export MEME_ETC_DIR="${PREFIX}/etc" +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" -autoconf -autoheader - -perl scripts/dependencies.pl +autoreconf -if ./configure CC="${CC}" \ - CFLAGS="-O3 -I${PREFIX}/include" \ + CFLAGS="${CFLAGS} -O3 -I${PREFIX}/include" \ LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" \ --prefix="${PREFIX}" \ --enable-build-libxml2 \ --enable-build-libxslt -make clean -make AM_CFLAGS='-DNAN="(0.0/0.0)"' -j4 - -# tests will only work inside the build dir, but -# https://github.com/conda/conda-build/issues/1453 -# so you need `conda build --prefix-length 1` -# for it to work properly -# make test - +make AM_CFLAGS='-DNAN="(0.0/0.0)"' -j"${CPU_COUNT}" make install +make clean -ln -s ${PREFIX}/libexec/${PKG_NAME}-${PKG_VERSION}/* ${PREFIX}/bin/ +ln -sf ${PREFIX}/libexec/${PKG_NAME}-${PKG_VERSION}/* ${PREFIX}/bin/ # if building with python3, # modify meme-chip script to use python3 version of DREME @@ -36,6 +25,5 @@ if [ ${PY3K}==1 ]; then sed -i.bak '994s/dreme/dreme-py3/' ${PREFIX}/bin/meme-chip rm ${PREFIX}/bin/meme-chip.bak # Fix for dreme - cp scripts/*py3.py ${PREFIX}/lib/${PKG_NAME}-${PKG_VERSION}/python/ + cp -rf scripts/*py3.py ${PREFIX}/lib/${PKG_NAME}-${PKG_VERSION}/python/ fi - diff --git a/recipes/meme/meta.yaml b/recipes/meme/meta.yaml index 11ef8b60c8a80..b44bef89008de 100644 --- a/recipes/meme/meta.yaml +++ b/recipes/meme/meta.yaml @@ -1,6 +1,6 @@ {% set name = "MEME" %} -{% set version = "5.5.4" %} -{% set sha256 = "cda6011c2b855bf2563c4e7a2c255e11e99b5b6e5e73736ff008942507580153" %} +{% set version = "5.5.7" %} +{% set sha256 = "1dca8d0e6d1d36570c1a88ab8dbe7e4b177733fbbeacaa2e8c4674febf57aaf4" %} package: name: {{ name|lower }} @@ -12,7 +12,6 @@ source: build: number: 0 - detect_binary_files_with_prefix: True run_exports: - {{ pin_subpackage("meme", max_pin="x") }} @@ -21,14 +20,15 @@ requirements: - {{ compiler('c') }} - make - autoconf + - automake + - libtool host: - nodejs >=16.4.1 - - openmpi - - yaml - - icu >=72.1,<73.0a0 + - libgomp # [linux] + - llvm-openmp # [osx] + - icu - ghostscript - zlib - - xz - libxslt - libxml2 - expat @@ -72,15 +72,14 @@ test: - dreme -version about: - home: https://meme-suite.org + home: "https://meme-suite.org" license: Custom license_file: COPYING - summary: Motif-based sequence analysis tools + summary: "Motif-based sequence analysis tools." + doc_url: "https://meme-suite.org/meme/doc/overview.html" extra: - container: - # openmpi needs ssh/rsh - extended-base: true identifiers: - biotools:meme_suite - usegalaxy-eu:meme_dreme + - doi:10.1093/nar/gkv416 diff --git a/recipes/memote/meta.yaml b/recipes/memote/meta.yaml new file mode 100644 index 0000000000000..ee4d6467bc3cd --- /dev/null +++ b/recipes/memote/meta.yaml @@ -0,0 +1,77 @@ +{% set name = "memote" %} +{% set version = "0.17.0" %} +{% set sha256 = "b61b222c6fe7719f0f916f01a5c68679567bad8884ed36eb634311ddbc565f19" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + entry_points: + - memote = memote.suite.cli.runner:cli + script: + - {{ PYTHON }} -m pip install --no-deps -vv . + noarch: python + number: 0 + run_exports: + - {{ pin_subpackage("memote", max_pin="x") }} + +requirements: + host: + - python >=3.9,<=3.11 + - setuptools >=40.6.0 + - versioneer-518 + - wheel + - versioneer + - pip + run: + - click + - click-configfile + - click-log + - cobra >=0.28 + - cookiecutter + - depinfo >=2.2 + - future + - git + - gitpython + - importlib_resources + - jinja2 + - jsonschema + - numpy + - numpydoc + - optlang >=1.8 + - pandas + - pandera + - pygithub <2 + - pylru + - pytest + - python >=3.9,<=3.11 + - requests + - ruamel.yaml + - six + - sqlalchemy + - sympy + +test: + imports: + - memote + commands: + - memote --help + - pip check + requires: + - pip + +about: + home: https://memote.readthedocs.io/ + summary: the genome-scale metabolic model test suite + license: Apache-2.0 + license_file: LICENSE + + +extra: + recipe-maintainers: + - Midnighter diff --git a/recipes/meraculous/meta.yaml b/recipes/meraculous/meta.yaml index 2394a3fac3520..828c811f7e238 100644 --- a/recipes/meraculous/meta.yaml +++ b/recipes/meraculous/meta.yaml @@ -13,7 +13,7 @@ source: build: skip: True # [osx] - number: 6 + number: 7 requirements: build: diff --git a/recipes/mercat2/meta.yaml b/recipes/mercat2/meta.yaml index 1808493425f7d..9de650d4cebc2 100644 --- a/recipes/mercat2/meta.yaml +++ b/recipes/mercat2/meta.yaml @@ -1,5 +1,5 @@ {% set name = "mercat2" %} -{% set version = "1.3" %} +{% set version = "1.4.1" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: edcee22e339bdf15ce4709c3192f85c32f576f07eedfd044bad8d3a396cbe0a9 + sha256: 5a090b19db6beecae8d3a1f2014a239b306fa428e92cc8f02e98e0e4b4a89d31 build: number: 0 diff --git a/recipes/merfishtools/build.sh b/recipes/merfishtools/build.sh index 470e09e235de3..7ce9bedb3cf54 100644 --- a/recipes/merfishtools/build.sh +++ b/recipes/merfishtools/build.sh @@ -1,14 +1,9 @@ -#!/bin/bash -e +#!/bin/bash -# circumvent a bug in conda-build >=2.1.18,<3.0.10 -# https://github.com/conda/conda-build/issues/2255 -# TODO: remove once CI uses conda-build >=3.0.10 -[[ -z $REQUESTS_CA_BUNDLE && ${REQUESTS_CA_BUNDLE+x} ]] && unset REQUESTS_CA_BUNDLE -[[ -z $SSL_CERT_FILE && ${SSL_CERT_FILE+x} ]] && unset SSL_CERT_FILE +set -xe + +# build statically linked binary with Rust and install it to $PREFIX/bin +LIBRARY_PATH=$PREFIX/lib cargo install --root ${PREFIX} --path . -# build statically linked binary with Rust -LIBRARY_PATH=$PREFIX/lib cargo build --release -# install the binary -cp target/release/merfishtools $PREFIX/bin # install the Python package $PYTHON setup.py install diff --git a/recipes/merfishtools/fix-build.patch b/recipes/merfishtools/fix-build.patch new file mode 100644 index 0000000000000..0491f45772770 --- /dev/null +++ b/recipes/merfishtools/fix-build.patch @@ -0,0 +1,99 @@ +diff --git i/Cargo.toml w/Cargo.toml +index 996c2d3..208c16f 100644 +--- i/Cargo.toml ++++ w/Cargo.toml +@@ -8,10 +8,9 @@ bio = "0.14" + regex = "0.1" + bit-set = "0.4" + csv = "1.0" +-nalgebra = "0.5.1" ++nalgebra = "0.32.6" + itertools = "0.5" + num = "0.1" +-rustc-serialize = "0.3" + argparse = "0.2" + log = "0.3" + fern = "0.3" +diff --git i/src/cli.rs w/src/cli.rs +index 0faef3e..e7395e2 100644 +--- i/src/cli.rs ++++ w/src/cli.rs +@@ -176,7 +176,7 @@ impl Expression { + } + if let Some(ref mut stats_writer) = stats_writer { + stats_writer +- .serialize([&cell, &format!("{:.4}", noise_rate)]) ++ .serialize([&cell, &&format!("{:.4}", noise_rate)]) + .unwrap(); + } + }, +diff --git i/src/codebook.rs w/src/codebook.rs +index 77658fe..c3fec80 100644 +--- i/src/codebook.rs ++++ w/src/codebook.rs +@@ -80,7 +80,7 @@ mod tests { + } + + let d = hamming_dist(&a, &b); +- assert!(d >= dist, format!("{} < {}", d, dist)); ++ assert!(d >= dist, "{} < {}", d, dist); + if d == dist { + is_tight = true; + } +diff --git i/src/io/cdf/expression.rs w/src/io/cdf/expression.rs +index e29236c..3ba70e4 100644 +--- i/src/io/cdf/expression.rs ++++ w/src/io/cdf/expression.rs +@@ -97,7 +97,7 @@ impl Reader { + value: NotNaN::new(rec.expression).unwrap(), + prob: rec.prob, + })); +- let mut cdfs = features.entry(feature).or_insert_with(Vec::new); ++ let cdfs = features.entry(feature).or_insert_with(Vec::new); + cdfs.push(cdf); + } + CDFs { inner: features } +diff --git i/src/io/mod.rs w/src/io/mod.rs +index ab14d15..5c95071 100644 +--- i/src/io/mod.rs ++++ w/src/io/mod.rs +@@ -7,8 +7,9 @@ pub mod cdf; + pub mod codebook; + pub mod estimation; + pub mod merfishdata; ++use serde::{Serialize, Deserialize}; + +-#[derive(RustcEncodable, RustcDecodable, PartialEq, Eq, Clone, Copy, Hash)] ++#[derive(Serialize, Deserialize, PartialEq, Eq, Clone, Copy, Hash)] + pub struct Cell { + pub experiment: u32, + pub cell: u32, +diff --git i/src/lib.rs w/src/lib.rs +index d9b2a7b..14c3165 100644 +--- i/src/lib.rs ++++ w/src/lib.rs +@@ -26,7 +26,6 @@ extern crate petgraph; + extern crate rand; + extern crate regex; + extern crate rgsl; +-extern crate rustc_serialize; + extern crate serde; + #[macro_use] + extern crate serde_derive; +diff --git i/src/model/readout/joint_model.rs w/src/model/readout/joint_model.rs +index 4a995e6..b475ca5 100644 +--- i/src/model/readout/joint_model.rs ++++ w/src/model/readout/joint_model.rs +@@ -99,10 +99,10 @@ impl JointModel { + /// + /// * ID of cell that is investigated (for debugging purposes). + pub fn expectation_maximization(&mut self, cell: &str) { +- let mut feature_models: Vec> = self ++ let mut feature_models: Vec> = self + .feature_models + .values() +- .map(|m| Box::new(m as &AbstractFeatureModel)) ++ .map(|m| Box::new(m as &dyn AbstractFeatureModel)) + .collect_vec(); + feature_models.push(Box::new(&self.noise_model)); + diff --git a/recipes/merfishtools/meta.yaml b/recipes/merfishtools/meta.yaml index df5bcbe9e0cbf..414515d22a58b 100644 --- a/recipes/merfishtools/meta.yaml +++ b/recipes/merfishtools/meta.yaml @@ -5,27 +5,31 @@ package: version: {{ version }} build: - number: 1 + number: 2 + run_exports: + - {{ pin_subpackage('merfishtools', max_pin="x") }} skip: True # [not py3k or osx] source: url: https://github.com/merfishtools/merfishtools/archive/v{{version}}.tar.gz sha256: 5ee49804b88b0ff57c6e4e277954b098bd2e6c21d826aa3c416073aec4dcf208 + patches: + - fix-build.patch requirements: build: - - rust >=1.19 - {{ compiler('c') }} + - {{ compiler('rust') }} host: - gsl - python - - matplotlib + - matplotlib-base - numpy - pandas - openblas run: - python - - matplotlib + - matplotlib-base - numpy - pandas - gsl @@ -45,3 +49,7 @@ about: analysis can be performed for two or multiple conditions, including credible intervals for fold change and coefficient of variation, and controlling the expected false discovery rate." + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/merge-gbk-records/meta.yaml b/recipes/merge-gbk-records/meta.yaml new file mode 100644 index 0000000000000..38aaf9585a484 --- /dev/null +++ b/recipes/merge-gbk-records/meta.yaml @@ -0,0 +1,42 @@ +{% set name = "merge-gbk-records" %} +{% set version = "0.2.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + sha256: "4e204552a87787e1fbe3eba629c0e05dbe0cd6bddc81c256cc813066d67b8be4" + +build: + noarch: python + number: 0 + script: "{{ PYTHON }} -m pip install . --no-deps -vv" + run_exports: + - {{ pin_subpackage("merge-gbk-records", max_pin="x.x") }} + +requirements: + host: + - python >=3.8 + - pip + run: + - python >=3.7 + - biopython >=1.79 + +test: + commands: + - merge-gbk-records --help + +about: + home: http://github.com/kblin/{{ name }} + license: Apache-2.0 + license_family: Apache + license_file: LICENSE + summary: 'Turn multiple GenBank records (either in multiple files or a single multi-record file) into a single record' + description: | + A small script to turn multiple GenBank records (either in multiple files or a single multi-record file) into a + single record. + Sequences are merged by concatenating them in order, and putting a spacer sequence between them. + Spacer sequence length can be given in kbp. It is possible to pick an all-N spacer, or using a spacer + consisting of all-frame stop codons. diff --git a/recipes/merqury/meta.yaml b/recipes/merqury/meta.yaml index 9949181ef7d8d..583ae7429b8e1 100644 --- a/recipes/merqury/meta.yaml +++ b/recipes/merqury/meta.yaml @@ -11,8 +11,10 @@ source: sha256: {{ sha256 }} build: - number: 1 + number: 2 noarch: generic + run_exports: + - {{ pin_subpackage("merqury", max_pin='x.x') }} requirements: run: @@ -25,6 +27,8 @@ requirements: - bedtools >=2.29.2 - samtools >=1.10 - mscorefonts + - gawk + - sed test: commands: diff --git a/recipes/merquryfk/meta.yaml b/recipes/merquryfk/meta.yaml index 09f7118cbb63f..b9b8a27e24ca9 100644 --- a/recipes/merquryfk/meta.yaml +++ b/recipes/merquryfk/meta.yaml @@ -1,6 +1,6 @@ {% set name = "MERQURYFK" %} -{% set version = "1.0.0" %} -{% set sha256 = "dac0c8426b491eaf38888ea9bb8abfdbb47702df3fc6b18692eaf55aa02a425f" %} +{% set version = "1.1.0" %} +{% set sha256 = "2af9dd265d10d79dceba495f8ef2469e5f832783b5824ab554e1efcb6ffe660c" %} package: name: {{ name|lower }} @@ -13,7 +13,7 @@ source: - patch build: - number: 1 + number: 0 skip: True # [osx] run_exports: - {{ pin_subpackage("merquryfk", max_pin="x") }} diff --git a/recipes/meryl/build_failure.osx-64.yaml b/recipes/meryl/build_failure.osx-64.yaml deleted file mode 100644 index 37b4e5de4af67..0000000000000 --- a/recipes/meryl/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 734dbf449636d9f4e478ff96788290d11ba5393ad8dec20baac7580c10ec0e34 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |- - In file included from meryl/meryl.H:22: - In file included from meryl/merylInput.H:23: - In file included from utility/src/kmers.H:51: - In file included from utility/src/kmers-v2/kmers-writer.H:27: - utility/src/kmers-v2/kmers-files.H:27:20: warning: nested namespace definition is a C17 extension; define each namespace separately [-Wc17-extensions] - namespace merylutil::inline kmers::v2 { - ^~~~~~~~~~~~~~~~~~ - { inline namespace kmers { namespace v2 - utility/src/kmers-v2/kmers-files.H:27:22: warning: inline nested namespace definition is a C20 extension [-Wc20-extensions] - namespace merylutil::inline kmers::v2 { - ^ - utility/src/kmers-v2/kmers-files.H:143:36: warning: format specifies type 'unsigned long' but the argument has type 'uint64' (aka 'unsigned long long') [-Wformat] - toHex(_blockPrefix), _blockPosition, _numKmers, - ^~~~~~~~~~~~~~ - utility/src/kmers-v2/kmers-files.H:143:52: warning: format specifies type 'unsigned long' but the argument has type 'uint64' (aka 'unsigned long long') [-Wformat] - toHex(_blockPrefix), _blockPosition, _numKmers, - ^~~~~~~~~ - utility/src/kmers-v2/kmers-files.H:144:15: warning: format specifies type 'unsigned long' but the argument has type 'off_t' (aka 'long long') [-Wformat] - merylutil::ftell(F), _numKmers nKmers); - ^~~~~~~~~~~~~~~~~~~ - utility/src/kmers-v2/kmers-files.H:144:36: warning: format specifies type 'unsigned long' but the argument has type 'unsigned long long' [-Wformat] - merylutil::ftell(F), _numKmers nKmers); - ^~~~~~~~~~~~~~~~~~ - In file included from meryl/meryl.C:19: - In file included from meryl/meryl.H:22: - In file included from meryl/merylInput.H:23: - In file included from utility/src/kmers.H:51: - In file included from utility/src/kmers-v2/kmers-writer.H:28: - utility/src/kmers-v2/kmers-writer-block.H:32:20: warning: nested namespace definition is a C17 extension; define each namespace separately [-Wc17-extensions] - namespace merylutil::inline kmers::v2 { - ^~~~~~~~~~~~~~~~~~ - { inline namespace kmers { namespace v2 - utility/src/kmers-v2/kmers-writer-block.H:32:22: warning: inline nested namespace definition is a C20 extension [-Wc20-extensions] - namespace merylutil::inline kmers::v2 { - ^ - In file included from meryl/meryl.C:19: - In file included from meryl/meryl.H:22: - In file included from meryl/merylInput.H:23: - In file included from utility/src/kmers.H:51: - In file included from utility/src/kmers-v2/kmers-writer.H:29: - utility/src/kmers-v2/kmers-writer-stream.H:27:20: warning: nested namespace definition is a C17 extension; define each namespace separately [-Wc17-extensions] - namespace merylutil::inline kmers::v2 { - ^~~~~~~~~~~~~~~~~~ - { inline namespace kmers { namespace v2 - utility/src/kmers-v2/kmers-writer-stream.H:27:22: warning: inline nested namespace definition is a C20 extension [-Wc20-extensions] - namespace merylutil::inline kmers::v2 { - ^ - In file included from meryl/meryl.C:19: - In file included from meryl/meryl.H:22: - In file included from meryl/merylInput.H:23: - In file included from utility/src/kmers.H:51: - utility/src/kmers-v2/kmers-writer.H:31:20: warning: nested namespace definition is a C17 extension; define each namespace separately [-Wc17-extensions] - namespace merylutil::inline kmers::v2 { - ^~~~~~~~~~~~~~~~~~ - { inline namespace kmers { namespace v2 - utility/src/kmers-v2/kmers-writer.H:31:22: warning: inline nested namespace definition is a C20 extension [-Wc20-extensions] - namespace merylutil::inline kmers::v2 { - ^ - In file included from meryl/meryl.C:19: - In file included from meryl/meryl.H:22: - In file included from meryl/merylInput.H:23: - In file included from utility/src/kmers.H:52: - utility/src/kmers-v2/kmers-reader.H:27:20: warning: nested namespace definition is a C17 extension; define each namespace separately [-Wc17-extensions] - namespace merylutil::inline kmers::v2 { - ^~~~~~~~~~~~~~~~~~ - { inline namespace kmers { namespace v2 - utility/src/kmers-v2/kmers-reader.H:27:22: warning: inline nested namespace definition is a C20 extension [-Wc20-extensions] - namespace merylutil::inline kmers::v2 { - ^ - In file included from meryl/meryl.C:19: - In file included from meryl/meryl.H:22: - In file included from meryl/merylInput.H:23: - In file included from utility/src/kmers.H:55: - utility/src/kmers-v2/kmers-lookup.H:30:20: warning: nested namespace definition is a C17 extension; define each namespace separately [-Wc17-extensions] - namespace merylutil::inline kmers::v2 { - ^~~~~~~~~~~~~~~~~~ - { inline namespace kmers { namespace v2 - utility/src/kmers-v2/kmers-lookup.H:30:22: warning: inline nested namespace definition is a C20 extension [-Wc20-extensions] - namespace merylutil::inline kmers::v2 { - ^ - 103 warnings generated. - make: Leaving directory '$SRC_DIR/src' - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/meryl_1689693773712/work/conda_build.sh']' returned non-zero exit status 2. -# Last 100 lines of the build log. diff --git a/recipes/mess/meta.yaml b/recipes/mess/meta.yaml index c442de1ebc1a2..79e6e64a7263c 100644 --- a/recipes/mess/meta.yaml +++ b/recipes/mess/meta.yaml @@ -1,48 +1,60 @@ -{% set version = "0.2.2" %} -{% set sha256 = "84aca7989768a00d6ea0410645c3398d9a459a48b2fabf68552f9b68b0a711c1" %} +{% set name = "MeSS" %} +{% set version = "0.9.0" %} package: - name: mess + name: "{{ name|lower }}" version: {{ version }} source: - url: https://github.com/metagenlab/MeSS/archive/refs/tags/v{{ version }}.tar.gz - sha256: {{ sha256 }} + url: https://github.com/metagenlab/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: a0bb9d8dc81548cfad1cc45d43c82d41b28a399dd8f6bad4c5588a8201196f1a build: number: 0 - entry_points: - - mess=mess.mess:cli noarch: python - script: "python -m pip install --no-deps --ignore-installed ." + entry_points: + - mess=mess.__main__:main + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + run_exports: + - {{ pin_subpackage('mess', max_pin="x.x") }} + requirements: host: - - python>3.6,<3.9 + - python >=3.10 - pip run: - - python>3.6,<3.9 - - snakemake-minimal=6.2.1 - - pandas >1 - - click>=7 + - python >=3.10 + - mamba >=1.5.8 + - snakemake-minimal >=8.0.0 + - snaketool-utils >=0.0.5 + - attrmap >=0.0.7 + - pyyaml >=6.0.1 + - pandas >=2.2.1 + - biopython >=1.83 + - rich-click >=1.7.4 test: - imports: - - mess - commands: - - mess run -h - - mess --version + commands: + - mess -h + - mess -v about: home: https://github.com/metagenlab/MeSS - license: GPL-3.0 + license: MIT + license_family: MIT license_file: LICENSE - summary: The Metagenomic Sequence Simulator (MeSS) is a snakemake workflow used for simulating metagenomic mock communities. + summary: "Snakemake pipeline for simulating shotgun metagenomic samples" + dev_url: https://github.com/metagenlab/MeSS + doc_url: https://metagenlab.github.io/MeSS extra: + container: + extended-base: true recipe-maintainers: - - idfarbanecha + - farchaab + - tpillone + identifiers: + - biotools:mess -container: - extended-base: true diff --git a/recipes/metabat2/arm_hwcap.patch b/recipes/metabat2/arm_hwcap.patch new file mode 100644 index 0000000000000..40733dcc33b1d --- /dev/null +++ b/recipes/metabat2/arm_hwcap.patch @@ -0,0 +1,15 @@ +Conda-forge's build environment on ARM uses sysroot_linux-aarch64 2.17, which +is based on glibc 2.17 so does not define HWCAP_* values on ARM. +Work around this by including the kernel header to get the desired values. + +--- a/htscodecs/htscodecs/rANS_static4x16pr.c 2023-10-10 02:54:16 ++++ b/htscodecs/htscodecs/rANS_static4x16pr.c 2024-03-06 00:01:14 +@@ -1030,6 +1030,8 @@ + + #if defined(__linux__) || defined(__FreeBSD__) + #include ++// Ensure ARM HWCAP_* values are defined even on old glibc ++#include + #elif defined(_WIN32) + #include + #endif diff --git a/recipes/metabat2/build.sh b/recipes/metabat2/build.sh index 15d5987238a74..b1016ed8a8013 100644 --- a/recipes/metabat2/build.sh +++ b/recipes/metabat2/build.sh @@ -1,8 +1,11 @@ #!/bin/bash +set -xe + #sed -i.bak "s/set(Boost_USE_STATIC_LIBS ON)/set(Boost_USE_STATIC_LIBS OFF)/g" src/CMakeLists.txt mkdir build cd build + export CXXFLAGS=-ldeflate cmake .. -DCMAKE_INSTALL_PREFIX=$PREFIX -DBOOST_ROOT=$PREFIX @@ -11,5 +14,5 @@ make check_git_repository sed -i.bak 's/GIT-NOTFOUND/'$PKG_VERSION' (Bioconda)/' ../metabat_version.h # Build & install -make VERBOSE=1 +make VERBOSE=1 -j ${CPU_COUNT} make install diff --git a/recipes/metabat2/cmake-htslib.patch b/recipes/metabat2/cmake-htslib.patch new file mode 100644 index 0000000000000..d58555d741f44 --- /dev/null +++ b/recipes/metabat2/cmake-htslib.patch @@ -0,0 +1,12 @@ +--- a/cmake/htslib.cmake 2024-06-20 08:08:51.668000000 +0000 ++++ b.cmake/htslib.cmake 2024-06-20 08:21:07.352000000 +0000 +@@ -14,7 +14,8 @@ + ExternalProject_Add(htslib + PREFIX ${htslib_PREFIX} + GIT_REPOSITORY "https://github.com/samtools/htslib.git" +- GIT_TAG "1.17" ++ GIT_TAG "1.20" ++ PATCH_COMMAND patch -p1 < $ENV{RECIPE_DIR}/arm_hwcap.patch + UPDATE_COMMAND "" + BUILD_IN_SOURCE 1 + #CONFIGURE_COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/contrib/htslib-prefix/src/htslib/configure" diff --git a/recipes/metabat2/meta.yaml b/recipes/metabat2/meta.yaml index d15c47159b08d..1644f7f07c36d 100644 --- a/recipes/metabat2/meta.yaml +++ b/recipes/metabat2/meta.yaml @@ -1,5 +1,5 @@ {% set name = "metabat2" %} -{% set version = "2.15" %} +{% set version = "2.17" %} package: name: "{{ name|lower }}" @@ -7,12 +7,16 @@ package: source: url: https://bitbucket.org/berkeleylab/metabat/get/v{{ version }}.tar.bz2 - sha256: c6bf3a64bbb4e8a25cd10e115b9f277d768552d0b299ad3b81d7d95762c0bfe4 + sha256: fb46f5c3d3b0c327f62a58fceee04a55b9003276bc768040ba93c9b7913b52e2 patches: - cmake.patch + - cmake-htslib.patch # [linux and aarch64] build: - number: 3 + number: 0 + skip: True # [osx] + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: build: @@ -21,6 +25,8 @@ requirements: - {{ compiler('c') }} - cmake - autoconf + - automake + - libtool - llvm-openmp # [osx] - libgomp # [linux] host: @@ -45,4 +51,6 @@ about: license_file: license.txt summary: "Metagenome binning" - +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/metabinkit/meta.yaml b/recipes/metabinkit/meta.yaml index fd44a330ade6d..8b2c2437ad70d 100644 --- a/recipes/metabinkit/meta.yaml +++ b/recipes/metabinkit/meta.yaml @@ -10,7 +10,7 @@ source: sha256: fba5623f9d769ef672e2663964dd4ea8397759f5b1a17dbd86290874fc8ef9e2 build: - number: 1 + number: 2 skip: true # [osx] requirements: diff --git a/recipes/metabinner/build.sh b/recipes/metabinner/build.sh index 5ea0e225a2eb9..34888d0a58586 100644 --- a/recipes/metabinner/build.sh +++ b/recipes/metabinner/build.sh @@ -6,3 +6,8 @@ chmod a+x run_metabinner.sh cp run_metabinner.sh $PREFIX/bin/ cp -r auxiliary $PREFIX/bin/ cp -r scripts $PREFIX/bin/ + +## Original build by author just placed directories in bin, not scripts themsleves +## To ensure backwards compatibility, we additionally symlink the scripts to the bin directory +ln -s $PREFIX/bin/auxiliary/* $PREFIX/bin/ +ln -s $PREFIX/bin/scripts/* $PREFIX/bin/ diff --git a/recipes/metabinner/meta.yaml b/recipes/metabinner/meta.yaml index e0987b3a72b74..bd2fc3e2824a7 100644 --- a/recipes/metabinner/meta.yaml +++ b/recipes/metabinner/meta.yaml @@ -7,8 +7,10 @@ source: sha256: 087a28aeb8fe218a3a2a6dd53b3bc5cad4cf33353fde3eebb8ee992461a99119 build: - number: 0 + number: 1 noarch: generic + run_exports: + - {{ pin_subpackage("metabinner", max_pin="x") }} requirements: run: @@ -30,10 +32,12 @@ requirements: test: commands: - - which run_metabinner.sh - + - "gen_coverage_file.sh 2> /dev/null | grep 'Usage: bash gen_coverage_file.sh'" + - which gen_kmer.py + - Filter_tooshort.py --help + - "run_metabinner.sh 2> /dev/null | grep 'Usage: bash run_metabinner.sh'" + about: home: "https://github.com/ziyewang/MetaBinner" license: BSD summary: "Ensemble binning method to recover individual genomes from complex microbial communities" - diff --git a/recipes/metabolabpy/meta.yaml b/recipes/metabolabpy/meta.yaml index b6086ae298cd3..1ebc73d558377 100644 --- a/recipes/metabolabpy/meta.yaml +++ b/recipes/metabolabpy/meta.yaml @@ -1,53 +1,57 @@ {% set name = "metabolabpy" %} -{% set version = "0.6.53" %} +{% set version = "0.9.53" %} +{% set sha256 = "33a3b653bc876908948578abb0354d146ab796cb234640a90a7ec1cadee19427" %} package: - name: "{{ name|lower }}" - version: "{{ version }}" + name: {{ name|lower }} + version: {{ version }} source: - url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: "11af2b34db5d6e87dff549d2375fc868dcdebced83cc23ddba100ecc602832bc" + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/metabolabpy-{{ version }}.tar.gz + sha256: {{ sha256 }} build: - noarch: python number: 0 - entry_points: - - metabolabpy = metabolabpy.__main__:main - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + noarch: python + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + run_exports: + - {{ pin_subpackage('metabolabpy', max_pin="x.x") }} requirements: host: - - python >3.7 + - python >=3.9 - pip run: - - python >3.7 + - python >=3.9 - numpy - scipy - matplotlib-base - - pyside2 + - pandas + - numba + - scikit-learn - openpyxl - - pyautogui - - qtmodern - xlsxwriter + - multiprocess + - pybaselines + - darkdetect + - pywavelets + - mat73 +# - pygamma # it is not available neither in conda-forge nor in bioconda channels test: imports: - metabolabpy - - metabolabpy.nmr - commands: - - metabolabpy --help about: - home: https://github.com/ludwigc/metabolabpy - license: GNU General Public v3 (GPLv3) - license_family: GPL3" + home: "https://github.com/ludwigc/metabolabpy" + dev_url: "https://github.com/ludwigc/metabolabpy" + doc_url: "https://ludwigc.github.io/metabolabpy" + summary: "Python package to process 1D and 2D NMR spectroscopic data for metabolomics and tracer-based metabolism analysis." + license: "GPL-3.0-or-later" + license_family: GPL3 license_file: LICENSE - summary: "Python package for data processing of NMR 1D and 2D metabolomics and metabolism tracing data" extra: - container: - extended-base: true recipe-maintainers: - RJMW - ludwigc diff --git a/recipes/metabolights-utils/meta.yaml b/recipes/metabolights-utils/meta.yaml new file mode 100644 index 0000000000000..f12e37a1a9786 --- /dev/null +++ b/recipes/metabolights-utils/meta.yaml @@ -0,0 +1,51 @@ +{% set name = "metabolights-utils" %} +{% set version = "1.1.10" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/metabolights_utils-{{ version }}.tar.gz + sha256: 1e50774a4d4ab15d47e8274773f400fec3c09fc508bddd16dd30fb9c2626716c + +build: + entry_points: + - mtbls = metabolights_utils.commands.cli:cli + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + +requirements: + host: + - python >=3.8,<4.0 + - poetry-core + - pip + run: + - python >=3.8,<4.0 + - pydantic >=2.0.0,<3.0.0 + - pydantic-settings >=2.0.3,<3.0.0 + - unidecode >=1.3.8,<2.0.0 + - jsonschema >=4.22.0,<5.0.0 + - click >=8.1.7,<9.0.0 + - beautifulsoup4 >=4.12.3,<5.0.0 + - jsonpath-ng >=1.6.1,<2.0.0 + - httpx >=0.27.0,<0.28.0 + - python-dateutil >=2.9.0,<3.0.0 + +test: + imports: + - metabolights_utils + commands: + - mtbls --version + - mtbls --help + requires: + - pip + +about: + home: https://github.com/EBI-Metabolights/metabolights-utils + summary: MetaboLights open metabolomics data repository command line interface (CLI), common MetaboLights data models, utility methods and classes. + license: Apache-2.0 + license_file: LICENSE diff --git a/recipes/metabuli/build.sh b/recipes/metabuli/build.sh index dccd8da45922c..b06956020200b 100644 --- a/recipes/metabuli/build.sh +++ b/recipes/metabuli/build.sh @@ -1,7 +1,18 @@ #!/bin/bash +ARCH_BUILD="" +case $(uname -m) in + x86_64) ARCH_BUILD="-DHAVE_SSE4_1=1" ;; + arm64|aarch64) ARCH_BUILD="-DHAVE_ARM8=1" ;; +esac + +if [ -z "${ARCH_BUILD}" ]; then + echo "Invalid architecture" + exit 1 +fi + mkdir build cd build -cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" -DHAVE_TESTS=0 -DHAVE_MPI=0 -DHAVE_SSE4_1=1 -DVERSION_OVERRIDE="${PKG_VERSION}" .. +cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" -DHAVE_TESTS=0 -DHAVE_MPI=0 ${ARCH_BUILD} -DVERSION_OVERRIDE="${PKG_VERSION}" .. make -j${CPU_COUNT} ${VERBOSE_CM} make install diff --git a/recipes/metabuli/meta.yaml b/recipes/metabuli/meta.yaml index 20d813fdcfed8..474fe1ebaeca8 100644 --- a/recipes/metabuli/meta.yaml +++ b/recipes/metabuli/meta.yaml @@ -1,12 +1,14 @@ -{% set version = "1.0.1" %} -{% set sha256 = "544926b73e7e0ed7c34d5f4f76e78e483261e5b13db6a6bb45217551bce1fae0" %} +{% set version = "1.0.8" %} +{% set sha256 = "cc7e496ff82f00b56ef59aa2a04fa572a2025225b0558e0df144f166fade82d4" %} package: name: metabuli - version: {{ version|replace("-", ".") }} + version: {{ version }} build: number: 0 + run_exports: + - {{ pin_subpackage('metabuli', max_pin="x") }} source: url: https://github.com/steineggerlab/metabuli/archive/{{ version }}.tar.gz @@ -43,5 +45,12 @@ about: summary: "Metabuli: specific and sensitive metagenomic classification via joint analysis of DNA and amino acid" extra: + identifiers: + - doi:10.1038/s41592-024-02273-y + - biotools:metabuli recipe-maintainers: - milot-mirdita + - jaebeom-kim + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/metacache/build.sh b/recipes/metacache/build.sh index d598c1db19aeb..148f16909d068 100644 --- a/recipes/metacache/build.sh +++ b/recipes/metacache/build.sh @@ -1,6 +1,6 @@ #!/bin/bash -set -e +set -xe export CPATH=${PREFIX}/include export CXXPATH=${PREFIX}/include @@ -11,7 +11,7 @@ sed -i.bak "s|LDFLAGS = -pthread|LDFLAGS = -pthread -L$PREFIX/lib|" mkdir -p $PREFIX/bin -make +make -j ${CPU_COUNT} chmod +x metacache download-ncbi-genomes download-ncbi-taxmaps download-ncbi-taxonomy metacache-build-refseq metacache-db-info metacache-partition-genomes summarize-results mv metacache $PREFIX/bin mv download-ncbi-genomes $PREFIX/bin diff --git a/recipes/metacache/meta.yaml b/recipes/metacache/meta.yaml index 4712e702cb10f..c2067924f2f8b 100644 --- a/recipes/metacache/meta.yaml +++ b/recipes/metacache/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "2.3.1" %} +{% set version = "2.4.3" %} package: name: metacache @@ -6,11 +6,13 @@ package: source: url: https://github.com/muellan/metacache/archive/refs/tags/v{{ version }}.tar.gz - sha256: bd31f9ab2a1251c0264480ff16b711c2c548648ac3c15fc142309c12aa8e5e7f + sha256: 2b43aa1ac051d6cbaa4d29c3ed7d9593e226e7e2b35cdd0b2e513e465456a7b2 build: - number: 2 + number: 1 skip: True # [osx] + run_exports: + - {{ pin_subpackage('metacache', max_pin="x") }} requirements: build: @@ -22,7 +24,6 @@ requirements: - zlib run: - gawk - - python <3 - wget test: @@ -38,6 +39,10 @@ test: about: home: https://github.com/muellan/metacache - license: GPL-3.0 + license: GPL-3.0-or-later license_file: LICENSE summary: MetaCache is a classification system for mapping genomic sequences (short reads, long reads, contigs, ...) from metagenomic samples to their most likely taxon of origin. + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/metacerberus-lite/meta.yaml b/recipes/metacerberus-lite/meta.yaml new file mode 100644 index 0000000000000..1ac5cf12771ec --- /dev/null +++ b/recipes/metacerberus-lite/meta.yaml @@ -0,0 +1,61 @@ +{% set name = "MetaCerberus-lite" %} +{% set version = "1.4.0" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://github.com/raw-lab/MetaCerberus/archive/refs/tags/v{{version}}.tar.gz" + sha256: 0651000d6b9a3ed4fb8301ccc2508befdd32e39be6bbeb3bb29bdc0142816be3 + +build: + number: 0 + noarch: python + script: "{{ PYTHON }} -m pip install . -vv" + run_exports: + - {{ pin_subpackage('metacerberus-lite', max_pin="x") }} + +requirements: + host: + - pip + - python >=3.8 + - setuptools <70.0.0 + run: + - python >=3.8 + - setuptools <70.0.0 + - pandas + - flash2 + - pyrodigal + - pyrodigal-gv + - pyhmmer + - plotly + - scikit-learn + - dominate + - python-kaleido + - configargparse + - metaomestats + - psutil + - hydrampp + + +test: + imports: + - meta_cerberus + commands: + - metacerberus.py --help + + +about: + home: "https://github.com/raw-lab/metacerberus" + license: BSD-3-Clause + license_family: BSD + license_file: LICENSE.txt + summary: "MetaCerberus with reduced dependencies: Versatile Functional Ontology Assignments for Metagenomes via Hidden Markov Model (HMM) searching with environmental focus of shotgun meta'omics data" + doc_url: + dev_url: + +extra: + recipe-maintainers: + - decrevi + - raw-lab diff --git a/recipes/metacerberus/meta.yaml b/recipes/metacerberus/meta.yaml index 5983b3673b124..10e9b5464d1ae 100644 --- a/recipes/metacerberus/meta.yaml +++ b/recipes/metacerberus/meta.yaml @@ -1,38 +1,40 @@ {% set name = "MetaCerberus" %} -{% set version = "1.1" %} +{% set version = "1.4.0" %} package: name: "{{ name|lower }}" version: "{{ version }}" source: - url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 65610ac32ca00ad7917cb5fa49fc2282db66590fc5310115c32e0090600eff90 + url: "https://github.com/raw-lab/MetaCerberus/archive/refs/tags/v{{version}}.tar.gz" + sha256: 0651000d6b9a3ed4fb8301ccc2508befdd32e39be6bbeb3bb29bdc0142816be3 build: - number: 1 + number: 0 noarch: python script: "{{ PYTHON }} -m pip install . -vv" + run_exports: + - {{ pin_compatible('MetaCerberus', max_pin="x") }} requirements: host: - pip - python >=3.8 - - setuptools + - setuptools <70.0.0 run: - python >=3.8 + - setuptools <70.0.0 + - pandas - fastqc - flash2 - fastp - porechop - bbmap - - prodigal - - hmmer - - ray-default - - ray-core - - ray-tune - - ray-dashboard - - pandas + - pyrodigal + - pyrodigal-gv + - phanotate + - trnascan-se + - pyhmmer - plotly - scikit-learn - dominate @@ -40,7 +42,7 @@ requirements: - configargparse - metaomestats - psutil - - grpcio =1.43 + - hydrampp test: @@ -54,7 +56,7 @@ about: home: "https://github.com/raw-lab/metacerberus" license: BSD-3-Clause license_family: BSD - license_file: + license_file: LICENSE.txt summary: "Versatile Functional Ontology Assignments for Metagenomes via Hidden Markov Model (HMM) searching with environmental focus of shotgun meta'omics data" doc_url: dev_url: diff --git a/recipes/metacoag/meta.yaml b/recipes/metacoag/meta.yaml index 1f17d44b66cce..0ca99928a9650 100644 --- a/recipes/metacoag/meta.yaml +++ b/recipes/metacoag/meta.yaml @@ -1,5 +1,5 @@ {% set name = "MetaCoAG" %} -{% set version = "1.1.4" %} +{% set version = "1.2.2" %} package: name: "{{ name|lower }}" @@ -7,22 +7,25 @@ package: source: url: "https://github.com/metagentools/{{ name }}/archive/v{{ version }}.tar.gz" - sha256: de300e1abfe38b2595e5d7253da26dc29fcd1fd9f7d17ab958d1f75d7582a6ef + sha256: 1a8d91cb02fdad9ba15c636eeaf167e34f118bc4d12f57366e107ebf160781c7 build: number: 0 - noarch: python entry_points: - - combine_cov=metacoag_utils.support.combine_cov:main + - metacoag = metacoag.cli:main + - combine_cov = metacoag.metacoag_utils.support.combine_cov:main script: - - "{{ PYTHON }} -m pip install . -vv" + - "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + run_exports: + - {{ pin_subpackage('metacoag', max_pin="x") }} requirements: host: - pip - - python + - python >=3.9,<3.13 + - flit-core >=3.2 run: - - python + - python >=3.9,<3.13 - click - biopython - cairocffi @@ -42,8 +45,8 @@ test: about: home: "https://github.com/metagentools/MetaCoAG" - license: GPL-3.0 - license_family: GPL + license: GPL-3.0-or-later + license_family: GPL3 license_file: LICENSE summary: "MetaCoAG: Binning Metagenomic Contigs via Composition, Coverage and Assembly Graphs" description: | @@ -52,6 +55,8 @@ about: dev_url: "https://github.com/metagentools/MetaCoAG" extra: + skip-lints: + - should_be_noarch_generic recipe-maintainers: - Vini2 identifiers: diff --git a/recipes/metaeuk/build.sh b/recipes/metaeuk/build.sh index 0d987840efe4b..b06956020200b 100644 --- a/recipes/metaeuk/build.sh +++ b/recipes/metaeuk/build.sh @@ -1,8 +1,18 @@ -#!/bin/bash -e +#!/bin/bash + +ARCH_BUILD="" +case $(uname -m) in + x86_64) ARCH_BUILD="-DHAVE_SSE4_1=1" ;; + arm64|aarch64) ARCH_BUILD="-DHAVE_ARM8=1" ;; +esac + +if [ -z "${ARCH_BUILD}" ]; then + echo "Invalid architecture" + exit 1 +fi mkdir build cd build -cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" -DHAVE_TESTS=0 -DHAVE_MPI=0 -DHAVE_SSE4_1=1 -DVERSION_OVERRIDE="${PKG_VERSION}" .. +cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" -DHAVE_TESTS=0 -DHAVE_MPI=0 ${ARCH_BUILD} -DVERSION_OVERRIDE="${PKG_VERSION}" .. make -j${CPU_COUNT} ${VERBOSE_CM} make install - diff --git a/recipes/metaeuk/meta.yaml b/recipes/metaeuk/meta.yaml index 1123976a0fc78..d4880f6922390 100644 --- a/recipes/metaeuk/meta.yaml +++ b/recipes/metaeuk/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "6-a5d39d9" %} -{% set sha256 = "be19c26f5bdb7dcdd7bc48172105afecf19e5a2e5555edb3ba0c4aa0e4aac126" %} +{% set version = "7-bba0d80" %} +{% set sha256 = "45eff3cb8e15626b1142d4717bf43a6e7a1308bc8a6eb1718c70d33d613898fa" %} package: @@ -7,7 +7,9 @@ package: version: {{ version|replace("-", ".") }} build: - number: 3 + number: 1 + run_exports: + - {{ pin_subpackage('metaeuk', max_pin="x") }} source: url: https://github.com/soedinglab/metaeuk/archive/{{ version }}.tar.gz @@ -50,3 +52,6 @@ extra: recipe-maintainers: - milot-mirdita - elileka + additional-platforms: + - linux-aarch64 + - osx-arm64 \ No newline at end of file diff --git a/recipes/metagenome-atlas/meta.yaml b/recipes/metagenome-atlas/meta.yaml index 7b5d034a1fe9d..0808fdc8b23ca 100644 --- a/recipes/metagenome-atlas/meta.yaml +++ b/recipes/metagenome-atlas/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "2.18.1" %} +{% set version = "2.18.2" %} package: name: metagenome-atlas @@ -6,7 +6,7 @@ package: source: url: https://github.com/metagenome-atlas/atlas/archive/v{{ version }}.tar.gz - sha256: 225a0e34c5c7a34ab053b98c0be5fa3c6281a03144a156454deeda5588e3d774 + sha256: 33a3d4b0a479bb7ed561f316252c7b4e33d098c8445e0567520e55e1cf4cf1e0 build: number: 0 diff --git a/recipes/metagraph/meta.yaml b/recipes/metagraph/meta.yaml index 179d149907058..b4e444aaeb230 100644 --- a/recipes/metagraph/meta.yaml +++ b/recipes/metagraph/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 3 + number: 4 skip: true # [win] requirements: diff --git a/recipes/metamaps/build_failure.linux-64.yaml b/recipes/metamaps/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..da03c4c59754e --- /dev/null +++ b/recipes/metamaps/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 32b1d7ecdc135748db71cb9fc5c63798223901f27601304e38c20a6c45ea2552 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar + AS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-as + CXXFILT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cfilt + ELFEDIT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-elfedit + GPROF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gprof + LD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld + LD_GOLD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld.gold + NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-nm + OBJCOPY=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objcopy + OBJDUMP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objdump + RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib + READELF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-readelf + SIZE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-size + STRINGS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strings + STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip + INFO: activate-gcc_linux-64.sh made the following environmental changes: + BUILD=x86_64-conda-linux-gnu + CC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/metamaps-0.1.633d2e0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH=$PREFIX;$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=$PREFIX:$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot/usr + CONDA_BUILD_SYSROOT=$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot + CONDA_TOOLCHAIN_BUILD=x86_64-conda-linux-gnu + CONDA_TOOLCHAIN_HOST=x86_64-conda-linux-gnu + CPP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cpp + CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include + DEBUG_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/metamaps-0.1.633d2e0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem $PREFIX/include + GCC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc + GCC_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar + GCC_NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-nm + GCC_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib + HOST=x86_64-conda-linux-gnu + LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_cos6_linux_gnu + build_alias=x86_64-conda-linux-gnu + host_alias=x86_64-conda-linux-gnu + -BUILD=x86_64-conda_cos6-linux-gnu + -CONDA_BUILD_SYSROOT= + INFO: activate-gxx_linux-64.sh made the following environmental changes: + CXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/metamaps-0.1.633d2e0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + DEBUG_CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/metamaps-0.1.633d2e0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + GXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-g + checking whether the C compiler works... yes + checking for C compiler default output file name... a.out + checking for suffix of executables... + checking whether we are cross compiling... no + checking for suffix of object files... o + checking whether the compiler supports GNU C... yes + checking whether $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c accepts -g... yes + checking for $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c option to enable C11 features... none needed + checking for stdio.h... yes + checking for stdlib.h... yes + checking for string.h... yes + checking for inttypes.h... yes + checking for stdint.h... yes + checking for strings.h... yes + checking for sys/stat.h... yes + checking for sys/types.h... yes + checking for unistd.h... yes + checking for zlib.h... yes + checking for boost/math/distributions/binomial.hpp... yes + configure: creating ./config.status + config.status: creating Makefile + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -c -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/metamaps-0.1.633d2e0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O2 -ggdb -fopenmp -std=c11 -Isrc -L $PREFIX/lib -I $PREFIX/include -include src/common/memcpyLink.h -Wl,--wrap=memcpy -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -DUSE_BOOST -o src/map/mash_map.o src/map/mash_map.cpp + In file included from /opt/conda/conda-bld/metamaps_1717782855482/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/include/boost/math/special_functions/detail/round_fwd.hpp:11, + from /opt/conda/conda-bld/metamaps_1717782855482/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/include/boost/math/special_functions/math_fwd.hpp:29, + from /opt/conda/conda-bld/metamaps_1717782855482/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/include/boost/math/special_functions/beta.hpp:13, + from /opt/conda/conda-bld/metamaps_1717782855482/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/include/boost/math/distributions/binomial.hpp:83, + from src/map/mapWrap.h:23, + from src/map/mash_map.cpp:19: + /opt/conda/conda-bld/metamaps_1717782855482/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/include/boost/math/tools/config.hpp:26:6: warning: #warning "Boost.Math requires C14" [-Wcpp] + 26 | # warning "Boost.Math requires C14" + | ^~~~~~~ + src/map/mapWrap.h: In member function 'void mapWrap::unifyFiles(std::string, const skch::Parameters&, std::vector >, std::vector >)': + src/map/mapWrap.h:192:44: error: 'wpath' is not a member of 'boost::filesystem'; did you mean 'path'? + 192 | boost::filesystem::wpath F(resultsFile); + | ^~~~~ + | path + make: *** [Makefile:25: src/map/mash_map.o] Error 1 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/metamaps_1717782855482/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. diff --git a/recipes/metamaps/build_failure.osx-64.yaml b/recipes/metamaps/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..8f2f02e77daf9 --- /dev/null +++ b/recipes/metamaps/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 32b1d7ecdc135748db71cb9fc5c63798223901f27601304e38c20a6c45ea2552 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + src/meta/fEM.h:946:16: note: remove extraneous parentheses around the comparison to silence this warning + if((windowI == ((long long)contigData.second.size()-1))) + ~ ^ ~ + src/meta/fEM.h:946:16: note: use '=' to turn this equality comparison into an assignment + if((windowI == ((long long)contigData.second.size()-1))) + ^~ + = + 4 warnings and 5 errors generated. + make: *** [Makefile:25: src/map/mash_map.o] Error 1 + Extracting download + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/metamaps_1717643191760/work + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/metamaps_1717643191760/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/metamaps_1717643191760/_build_env + raise subprocess.CalledProcessError(proc.returncode, _args) + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/metamaps_1717643191760/work + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/metamaps_1717643191760/work/conda_build.sh']' returned non-zero exit status 2. + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/metamaps-0.1.633d2e0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/metamaps-0.1.633d2e0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/metamaps-0.1.633d2e0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/metamaps-0.1.633d2e0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + checking whether the C compiler works... yes + checking for C compiler default output file name... a.out + checking for suffix of executables... + checking whether we are cross compiling... no + checking for suffix of object files... o + checking whether the compiler supports GNU C... yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... yes + checking for x86_64-apple-darwin13.4.0-clang option to enable C11 features... none needed + checking for stdio.h... yes + checking for stdlib.h... yes + checking for string.h... yes + checking for inttypes.h... yes + checking for stdint.h... yes + checking for strings.h... yes + checking for sys/stat.h... yes + checking for sys/types.h... yes + checking for unistd.h... yes + checking for zlib.h... yes + checking for boost/math/distributions/binomial.hpp... yes + configure: creating ./config.status + config.status: creating Makefile + x86_64-apple-darwin13.4.0-clang -c -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/metamaps-0.1.633d2e0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O2 -ggdb -fopenmp -std=c11 -Isrc -L $PREFIX/lib -I $PREFIX/include -mmacosx-version-min=10.7 -stdlib=libc -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -DUSE_BOOST -o src/map/mash_map.o src/map/mash_map.cpp +# Last 100 lines of the build log. diff --git a/recipes/metamaps/meta.yaml b/recipes/metamaps/meta.yaml index 1f2146738044e..46a879cc2cc8c 100644 --- a/recipes/metamaps/meta.yaml +++ b/recipes/metamaps/meta.yaml @@ -1,16 +1,18 @@ -{% set version = "0.1.98102e9" %} -{% set sha256 = "f73d80be084dc73128d4795e9d03abcd35be2ddc7ef81684fcadec154a28b7af" %} +{% set version = "0.1.633d2e0" %} +{% set sha256 = "9740c7882fe2ff39c0df9d44e85a725f73b531117ea265e2b45eeb1661d6a3e7" %} package: name: metamaps version: {{ version }} source: - url: https://github.com/DiltheyLab/MetaMaps/archive/98102e9e684efa6a9903d8abe93600132c101ad0.tar.gz + url: https://github.com/DiltheyLab/MetaMaps/archive/633d2e0ec1ffb4fd9111aca52a54d236ef5ef379.tar.gz sha256: {{ sha256 }} build: - number: 2 + number: 1 + run_exports: + - {{ pin_subpackage("metamaps", max_pin=None) }} requirements: build: diff --git a/recipes/metamate/meta.yaml b/recipes/metamate/meta.yaml new file mode 100644 index 0000000000000..221da4c5f830c --- /dev/null +++ b/recipes/metamate/meta.yaml @@ -0,0 +1,69 @@ +{% set name = "metamate" %} +{% set version = "0.4.3" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/tjcreedy/metamate/archive/v{{ version }}.tar.gz + sha256: e86a26643f770dae3739d8bd70f1db1a0561ad4554113a5d60b007fd0089cfe3 + +build: + noarch: python + entry_points: + - metamate = metamate.metamate:main + - metaMATE = metamate.metamate:main + - filtertranslate = metamate.filtertranslate:main + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + run_exports: {{ pin_subpackage("metamate", max_pin="x") }} + number: 0 + +requirements: + build: + - python + - mafft + - pysam + - bbmap + - r-base + - biopython + - r-getopt + - r-ape + - r-fastcluster + - r-cluster + host: + - python + - bbmap + - pysam + - mafft + - r-base + - r-getopt + - r-ape + - r-fastcluster + - r-cluster + run: + - python >=3.6 + - biopython >=1.76 + - scipy >=1.4.1 + - pysam + - r-base + - bbmap + - mafft +test: + imports: + - metamate + commands: + - metamate --help + - metaMATE --help + - filtertranslate --help + +about: + home: https://github.com/tjcreedy/metamate + license: GPL-3.0 + license_file: LICENSE + summary: 'metaMATE: your metabarcoding friend!' + +extra: + recipe-maintainers: + - tjcreedy + - johnrandallia diff --git a/recipes/metamdbg/0.3/build.sh b/recipes/metamdbg/0.3/build.sh new file mode 100644 index 0000000000000..6ca4ef93a91f9 --- /dev/null +++ b/recipes/metamdbg/0.3/build.sh @@ -0,0 +1,14 @@ +#!/bin/bash + + +mkdir -p $PREFIX/bin + +export CPATH=${PREFIX}/include + +mkdir build +cd build +cmake .. + +make + +cp ./bin/metaMDBG $PREFIX/bin diff --git a/recipes/metamdbg/0.3/meta.yaml b/recipes/metamdbg/0.3/meta.yaml new file mode 100644 index 0000000000000..7316c6c86c897 --- /dev/null +++ b/recipes/metamdbg/0.3/meta.yaml @@ -0,0 +1,41 @@ +{% set version = "0.3" %} + +package: + name: metamdbg + version: {{ version }} + +source: + url: https://github.com/GaetanBenoitDev/metaMDBG/archive/refs/tags/metaMDBG-{{ version }}.tar.gz + sha256: 24b34fcc7416b44081963a470059209c7f0592bd597a25388a94dae5edb2b09d + +build: + skip: True # [osx] + number: 0 + run_exports: + - {{ pin_subpackage('metamdbg', max_pin="x.x") }} + +requirements: + build: + - {{ compiler('cxx') }} + - cmake + - make + host: + - zlib + - openmp + run: + - zlib + - openmp + - wfmash =0.8.2 + - samtools =1.6 + - minimap2 =2.24 + - gsl =2.7 =he838d99_0 + +test: + commands: + - metaMDBG 2>&1 | grep 'Usage' + +about: + home: https://github.com/GaetanBenoitDev/metaMDBG + license: MIT + summary: 'MetaMDBG: a lightweight assembler for long and accurate metagenomics reads.' + diff --git a/recipes/metamdbg/build.sh b/recipes/metamdbg/build.sh index 6ca4ef93a91f9..70ccacb85cb1e 100644 --- a/recipes/metamdbg/build.sh +++ b/recipes/metamdbg/build.sh @@ -1,5 +1,6 @@ #!/bin/bash +set -xe mkdir -p $PREFIX/bin @@ -9,6 +10,6 @@ mkdir build cd build cmake .. -make +make -j ${CPU_COUNT} cp ./bin/metaMDBG $PREFIX/bin diff --git a/recipes/metamdbg/meta.yaml b/recipes/metamdbg/meta.yaml index 7316c6c86c897..1465c0636bde5 100644 --- a/recipes/metamdbg/meta.yaml +++ b/recipes/metamdbg/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.3" %} +{% set version = "1.0" %} package: name: metamdbg @@ -6,11 +6,11 @@ package: source: url: https://github.com/GaetanBenoitDev/metaMDBG/archive/refs/tags/metaMDBG-{{ version }}.tar.gz - sha256: 24b34fcc7416b44081963a470059209c7f0592bd597a25388a94dae5edb2b09d + sha256: 6e759e1bed8977e5c44ad0314eecb328747e11cb0546510d23e8802862fd2d36 build: skip: True # [osx] - number: 0 + number: 1 run_exports: - {{ pin_subpackage('metamdbg', max_pin="x.x") }} @@ -21,14 +21,12 @@ requirements: - make host: - zlib - - openmp + - libgomp run: - zlib - - openmp - - wfmash =0.8.2 - - samtools =1.6 - - minimap2 =2.24 - - gsl =2.7 =he838d99_0 + - libgomp + - minimap2 =2.28 + - time =1.8 test: commands: @@ -39,3 +37,6 @@ about: license: MIT summary: 'MetaMDBG: a lightweight assembler for long and accurate metagenomics reads.' +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/metanovo/meta.yaml b/recipes/metanovo/meta.yaml index c75b3de38e9cf..258582da970a5 100644 --- a/recipes/metanovo/meta.yaml +++ b/recipes/metanovo/meta.yaml @@ -37,7 +37,7 @@ requirements: build: skip: True # [not linux64] - number: 8 + number: 9 missing_dso_whitelist: - /lib64/ld-linux-x86-64.so.2 - /lib64/libbz2.so.1 diff --git a/recipes/metaphlan/meta.yaml b/recipes/metaphlan/meta.yaml index 26ea15ee0a30e..d81a7dbd466bc 100644 --- a/recipes/metaphlan/meta.yaml +++ b/recipes/metaphlan/meta.yaml @@ -1,5 +1,5 @@ {% set name = "metaphlan" %} -{% set version = "4.0.6" %} +{% set version = "4.1.1" %} package: name: {{ name }} @@ -7,38 +7,63 @@ package: source: url: https://github.com/biobakery/MetaPhlAn/archive/{{version}}.tar.gz - sha256: f69e9499056a259829a50f4eb5ab8e62e76f57852df921784d66fb5d7c4379a4 - + sha256: 41529191c93b260842c6362952d46f3a22df1477e127277dab1f9abb09d2d84e build: noarch: python number: 0 - script: {{ PYTHON }} -m pip install -vv --no-deps . + script: {{ PYTHON }} -m pip install -vvv --no-deps --no-build-isolation --no-cache-dir . + entry_points: + - metaphlan = metaphlan.metaphlan:main + - strainphlan = metaphlan.strainphlan:main + - add_metadata_tree.py = metaphlan.utils.add_metadata_tree:main + - extract_markers.py = metaphlan.utils.extract_markers:main + - merge_metaphlan_tables.py = metaphlan.utils.merge_metaphlan_tables:main + - merge_vsc_tables.py = metaphlan.utils.merge_vsc_tables:main + - plot_tree_graphlan.py = metaphlan.utils.plot_tree_graphlan:main + - read_fastx.py = metaphlan.utils.read_fastx:main + - sample2markers.py = metaphlan.utils.sample2markers:main + - strain_transmission.py = metaphlan.utils.strain_transmission:main + - sgb_to_gtdb_profile.py = metaphlan.utils.sgb_to_gtdb_profile:main + - metaphlan2krona.py = metaphlan.utils.metaphlan2krona:main + - run_treeshrink.py = metaphlan.utils.treeshrink.run_treeshrink:main + - treeshrink.py = metaphlan.utils.treeshrink.treeshrink:main + - create_toy_database.py = metaphlan.utils.create_toy_database:main + - fix_relab_mpa4.py = metaphlan.utils.fix_relab_mpa4:main + run_exports: + - {{ pin_subpackage('metaphlan', max_pin='x') }} requirements: host: - python >=3.7 - - setuptools - - numpy - - cython + - pip run: - python >=3.7 - bowtie2 >=2.3.0 - - cmseq - - phylophlan - dendropy - numpy + - phylophlan >=3.1 - biom-format - matplotlib-base - biopython - pandas - scipy - requests + - h5py - blast >=2.6.0 - muscle >=3.8.1551 - pysam - raxml >=8.2.10 - samtools >=1.9 + - r-base >=4 + - r-essentials + - r-optparse + - r-rbiom + - r-ape + - r-compositions + - r-biocmanager + - bioconductor-microbiome + - hclust2 test: commands: @@ -51,13 +76,19 @@ test: - plot_tree_graphlan.py -h - sample2markers.py -h - strain_transmission.py -h + - sgb_to_gtdb_profile.py -h + - metaphlan2krona.py -h + - hclust2.py -h + - run_treeshrink.py -h + - treeshrink.py -h + - create_toy_database.py -h - bowtie2-align-s --help about: - home: https://github.com/biobakery/metaphlan - license: MIT License + home: "https://github.com/biobakery/metaphlan" + license: MIT license_family: MIT - license_file: license.txt + license_file: "license.txt" summary: Metagenomic Phylogenetic Analysis description: | MetaPhlAn is a computational tool for profiling the composition of microbial @@ -66,3 +97,5 @@ about: MetaPhlAn is also able to identify specific strains (in the not-so-frequent cases in which the sample contains a previously sequenced strains) and to track strains across samples for all species. + dev_url: "https://github.com/biobakery/metaphlan" + doc_url: "https://github.com/biobakery/MetaPhlAn/wiki/MetaPhlAn-4" diff --git a/recipes/metaphor/meta.yaml b/recipes/metaphor/meta.yaml index 53267b80f5cc6..71a95ce8a10f9 100644 --- a/recipes/metaphor/meta.yaml +++ b/recipes/metaphor/meta.yaml @@ -1,5 +1,5 @@ {% set name = "metaphor" %} -{% set version = "1.7.9" %} +{% set version = "1.7.13" %} package: name: "{{ name|lower }}" @@ -7,10 +7,10 @@ package: source: url: https://github.com/vinisalazar/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz - sha256: 36c089a427a4fba0ed8768b2bbfc8312bd53d0f51b357b715ab1fe7a2b33dfe1 + sha256: 88f959b4eb30cb7794d361015b386220cc5a0e1c0e09d710a575890febed57d9 build: - number: 1 + number: 0 noarch: python run_exports: - {{ pin_subpackage(name, max_pin="x") }} diff --git a/recipes/metasnv/build.sh b/recipes/metasnv/build.sh index 20d8509a0ddf6..34397169a47c7 100644 --- a/recipes/metasnv/build.sh +++ b/recipes/metasnv/build.sh @@ -1,11 +1,14 @@ #!/bin/bash + +set -xe + export CFLAGS="-I$PREFIX/include" export CPPFLAGS="-I$PREFIX/include" export LDFLAGS="-L$PREFIX/lib" tag=share/metasnv-${PKG_VERSION}/ odir=$PREFIX/$tag -make +make -j ${CPU_COUNT} mkdir -p $odir cp -pr src $odir cp -pr metaSNV.py $odir diff --git a/recipes/metasnv/meta.yaml b/recipes/metasnv/meta.yaml index 9021b82bd1ce1..4e0732276cf00 100644 --- a/recipes/metasnv/meta.yaml +++ b/recipes/metasnv/meta.yaml @@ -12,7 +12,9 @@ source: build: # on macOS, build error from rpath complaining of a too-long path skip: True # [py2k or py36 or osx] - number: 6 + number: 8 + run_exports: + - {{ pin_subpackage( "metasnv", max_pin="x") }} requirements: build: @@ -22,7 +24,7 @@ requirements: - libtool host: - python - - libboost + - boost-cpp - htslib - numpy - pandas @@ -72,6 +74,8 @@ about: summary: SNV calling software extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - AlessioMilanese - LucasPaoli diff --git a/recipes/metav/meta.yaml b/recipes/metav/meta.yaml new file mode 100644 index 0000000000000..5c61f129ddc50 --- /dev/null +++ b/recipes/metav/meta.yaml @@ -0,0 +1,48 @@ +{% set name = "metav" %} +{% set version = "1.0.6" %} + +package: + name: "{{ name }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: 54c59f9d72aff1a2129a7e02c1cb10a1f14196d87242c8fd6ea18de30a771612 + +build: + number: 0 + noarch: python + entry_points: + - metav = metav.main:starts + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + run_exports: + - {{ pin_subpackage('metav', max_pin="x") }} + +requirements: + host: + - python >=3.5 + - pip + run: + - python >=3.5 + - trimmomatic >=0.39 + - bowtie2 >=2.3.0 + - samtools >=1.14 + - salmon >=1.10.0 + - trinity >=2.15.1 + - diamond >=2.0.9 + +test: + commands: + - metav --help + +about: + home: "https://github.com/ZhijianZhou01/metav" + license: "GPL-3.0-or-later" + license_family: "GPL3" + license_file: LICENSE + summary: "Rapid detection and classification of viruses in metagenomics sequencing." + dev_url: "https://github.com/ZhijianZhou01/metav" + +extra: + recipe-maintainers: + - ZhijianZhou01 diff --git a/recipes/metdatamodel/meta.yaml b/recipes/metdatamodel/meta.yaml index bfd1858956799..a36b4b670c13c 100644 --- a/recipes/metdatamodel/meta.yaml +++ b/recipes/metdatamodel/meta.yaml @@ -1,5 +1,5 @@ {% set name = "metdatamodel" %} -{% set version = "0.4.14" %} +{% set version = "0.6.0" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/metDataModel-{{ version }}.tar.gz - sha256: 49583289a596934204f458c4464579d3b58e18765ae97d283b32b58028de0fbc + sha256: 58bdbf5099c059d6e481921b017bc667e73623c1a1ba840d8b3f42d79e15b2cc build: noarch: python diff --git a/recipes/meteor/meta.yaml b/recipes/meteor/meta.yaml new file mode 100644 index 0000000000000..d69075ed31f23 --- /dev/null +++ b/recipes/meteor/meta.yaml @@ -0,0 +1,52 @@ +{% set name = "meteor" %} +{% set version = "2.0.16" %} +{% set sha256 = "ac059e87ac6b66eb15ac9e5826fdbcd1d3b4726736ae02f46508236080d202b0" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/meteor-{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + noarch: python + number: 0 + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + entry_points: + - meteor = meteor.meteor:main + run_exports: + - {{ pin_subpackage('meteor', max_pin="x") }} + +requirements: + host: + - python >=3.10 + - pip + - poetry-core + run: + - python >=3.10 + - bowtie2 >=2.3.5 + - pysam + - pyarrow + - pandas + - ete3 + - packaging + - cogent3 + - py-bgzip + - biom-format + - freebayes >=1.3.6 + +test: + commands: + - "meteor -h" + +about: + home: https://github.com/metagenopolis/meteor + license: GPL-3.0-or-later + license_file: COPYING + summary: 'Meteor is a plateform for quantitative metagenomics profiling of complex ecosystems.' + description: | + Meteor relies on genes catalogue to perform specie level taxonomic assignments, functional and strain diffusion analysis. + license_family: GPL3 + dev_url: https://github.com/metagenopolis/meteor diff --git a/recipes/methbat/build.sh b/recipes/methbat/build.sh new file mode 100644 index 0000000000000..acfd621a41893 --- /dev/null +++ b/recipes/methbat/build.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +mkdir -p "${PREFIX}"/bin +# bioconda auto-extract for us apparently +# tar -xzf methbat-*.tar.gz +md5sum -c methbat.md5 +cp methbat "${PREFIX}"/bin/ diff --git a/recipes/methbat/meta.yaml b/recipes/methbat/meta.yaml new file mode 100644 index 0000000000000..3a568f5b18909 --- /dev/null +++ b/recipes/methbat/meta.yaml @@ -0,0 +1,34 @@ +{% set name = "methbat" %} +{% set version = "0.13.2" %} +{% set sha256 = "3a3a6374170e8b2acdc5e2c160eaabdafe5d613139d0c798438794ea35bff6c5" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/PacificBiosciences/MethBat/releases/download/v{{ version }}/methbat-v{{ version }}-x86_64-unknown-linux-gnu.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + skip: True # [osx] + run_exports: + - {{ pin_subpackage('methbat', max_pin="x.x") }} + +test: + commands: + - methbat --version + +about: + home: https://github.com/PacificBiosciences/MethBat + license: BSD-3-Clause-Clear + summary: A battery of methylation tools for PacBio HiFi reads + +extra: + recipe-maintainers: + - holtjma + - ctsa + skip-lints: + - should_use_compilers + - should_be_noarch_generic diff --git a/recipes/methpipe/build_failure.osx-64.yaml b/recipes/methpipe/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..30a95509a271c --- /dev/null +++ b/recipes/methpipe/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 75ceaf6e80509d4e1b7cfa64e61685e0361dc4103d557386ae8a26816f31990e # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + x86_64-apple-darwin13.4.0-clang -std=c11 -DHAVE_CONFIG_H -I. -I.. -I ../src/common -I ../src/smithlab_cpp -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -O3 -MT src/analysis/methcounts.o -MD -MP -MF $depbase.Tpo -c -o src/analysis/methcounts.o ../src/analysis/methcounts.cpp &&\ + mv -f $depbase.Tpo $depbase.Po + x86_64-apple-darwin13.4.0-clang -std=c11 -O3 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o methcounts src/analysis/methcounts.o libmethpipe.a src/smithlab_cpp/libsmithlab_cpp.a -lgsl -lgslcblas -lz -lhts + depbase=echo src/analysis/bsrate.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + x86_64-apple-darwin13.4.0-clang -std=c11 -DHAVE_CONFIG_H -I. -I.. -I ../src/common -I ../src/smithlab_cpp -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -O3 -MT src/analysis/bsrate.o -MD -MP -MF $depbase.Tpo -c -o src/analysis/bsrate.o ../src/analysis/bsrate.cpp &&\ + mv -f $depbase.Tpo $depbase.Po + x86_64-apple-darwin13.4.0-clang -std=c11 -O3 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o bsrate src/analysis/bsrate.o libmethpipe.a src/smithlab_cpp/libsmithlab_cpp.a -lgsl -lgslcblas -lz -lhts + depbase=echo src/analysis/hmr.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + x86_64-apple-darwin13.4.0-clang -std=c11 -DHAVE_CONFIG_H -I. -I.. -I ../src/common -I ../src/smithlab_cpp -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -O3 -MT src/analysis/hmr.o -MD -MP -MF $depbase.Tpo -c -o src/analysis/hmr.o ../src/analysis/hmr.cpp &&\ + mv -f $depbase.Tpo $depbase.Po + x86_64-apple-darwin13.4.0-clang -std=c11 -O3 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o hmr src/analysis/hmr.o libmethpipe.a src/smithlab_cpp/libsmithlab_cpp.a -lgsl -lgslcblas -lz -lhts + depbase=echo src/analysis/hypermr.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + x86_64-apple-darwin13.4.0-clang -std=c11 -DHAVE_CONFIG_H -I. -I.. -I ../src/common -I ../src/smithlab_cpp -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -O3 -MT src/analysis/hypermr.o -MD -MP -MF $depbase.Tpo -c -o src/analysis/hypermr.o ../src/analysis/hypermr.cpp &&\ + mv -f $depbase.Tpo $depbase.Po + x86_64-apple-darwin13.4.0-clang -std=c11 -O3 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o hypermr src/analysis/hypermr.o libmethpipe.a src/smithlab_cpp/libsmithlab_cpp.a -lgsl -lgslcblas -lz -lhts + depbase=echo src/analysis/levels.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + x86_64-apple-darwin13.4.0-clang -std=c11 -DHAVE_CONFIG_H -I. -I.. -I ../src/common -I ../src/smithlab_cpp -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -O3 -MT src/analysis/levels.o -MD -MP -MF $depbase.Tpo -c -o src/analysis/levels.o ../src/analysis/levels.cpp &&\ + mv -f $depbase.Tpo $depbase.Po + x86_64-apple-darwin13.4.0-clang -std=c11 -O3 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o levels src/analysis/levels.o libmethpipe.a src/smithlab_cpp/libsmithlab_cpp.a -lgsl -lgslcblas -lz -lhts + depbase=echo src/analysis/roimethstat.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + x86_64-apple-darwin13.4.0-clang -std=c11 -DHAVE_CONFIG_H -I. -I.. -I ../src/common -I ../src/smithlab_cpp -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -O3 -MT src/analysis/roimethstat.o -MD -MP -MF $depbase.Tpo -c -o src/analysis/roimethstat.o ../src/analysis/roimethstat.cpp &&\ + mv -f $depbase.Tpo $depbase.Po + x86_64-apple-darwin13.4.0-clang -std=c11 -O3 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o roimethstat src/analysis/roimethstat.o libmethpipe.a src/smithlab_cpp/libsmithlab_cpp.a -lgsl -lgslcblas -lz -lhts + depbase=echo src/analysis/methstates.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + x86_64-apple-darwin13.4.0-clang -std=c11 -DHAVE_CONFIG_H -I. -I.. -I ../src/common -I ../src/smithlab_cpp -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -O3 -MT src/analysis/methstates.o -MD -MP -MF $depbase.Tpo -c -o src/analysis/methstates.o ../src/analysis/methstates.cpp &&\ + mv -f $depbase.Tpo $depbase.Po + x86_64-apple-darwin13.4.0-clang -std=c11 -O3 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o methstates src/analysis/methstates.o libmethpipe.a src/smithlab_cpp/libsmithlab_cpp.a -lgsl -lgslcblas -lz -lhts + depbase=echo src/analysis/methentropy.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + x86_64-apple-darwin13.4.0-clang -std=c11 -DHAVE_CONFIG_H -I. -I.. -I ../src/common -I ../src/smithlab_cpp -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -O3 -MT src/analysis/methentropy.o -MD -MP -MF $depbase.Tpo -c -o src/analysis/methentropy.o ../src/analysis/methentropy.cpp &&\ + mv -f $depbase.Tpo $depbase.Po + x86_64-apple-darwin13.4.0-clang -std=c11 -O3 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o methentropy src/analysis/methentropy.o libmethpipe.a src/smithlab_cpp/libsmithlab_cpp.a -lgsl -lgslcblas -lz -lhts + depbase=echo src/analysis/hmr_rep.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + x86_64-apple-darwin13.4.0-clang -std=c11 -DHAVE_CONFIG_H -I. -I.. -I ../src/common -I ../src/smithlab_cpp -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -O3 -MT src/analysis/hmr_rep.o -MD -MP -MF $depbase.Tpo -c -o src/analysis/hmr_rep.o ../src/analysis/hmr_rep.cpp &&\ + mv -f $depbase.Tpo $depbase.Po + x86_64-apple-darwin13.4.0-clang -std=c11 -O3 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o hmr_rep src/analysis/hmr_rep.o libmethpipe.a src/smithlab_cpp/libsmithlab_cpp.a -lgsl -lgslcblas -lz -lhts + depbase=echo src/analysis/multimethstat.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + x86_64-apple-darwin13.4.0-clang -std=c11 -DHAVE_CONFIG_H -I. -I.. -I ../src/common -I ../src/smithlab_cpp -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -O3 -MT src/analysis/multimethstat.o -MD -MP -MF $depbase.Tpo -c -o src/analysis/multimethstat.o ../src/analysis/multimethstat.cpp &&\ + mv -f $depbase.Tpo $depbase.Po + x86_64-apple-darwin13.4.0-clang -std=c11 -O3 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o multimethstat src/analysis/multimethstat.o libmethpipe.a src/smithlab_cpp/libsmithlab_cpp.a -lgsl -lgslcblas -lz -lhts + depbase=echo src/utils/lc_approx.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + x86_64-apple-darwin13.4.0-clang -std=c11 -DHAVE_CONFIG_H -I. -I.. -I ../src/common -I ../src/smithlab_cpp -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -O3 -MT src/utils/lc_approx.o -MD -MP -MF $depbase.Tpo -c -o src/utils/lc_approx.o ../src/utils/lc_approx.cpp &&\ + mv -f $depbase.Tpo $depbase.Po + x86_64-apple-darwin13.4.0-clang -std=c11 -O3 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o lc_approx src/utils/lc_approx.o libmethpipe.a src/smithlab_cpp/libsmithlab_cpp.a -lgsl -lgslcblas -lz -lhts + depbase=echo src/utils/fast-liftover.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + x86_64-apple-darwin13.4.0-clang -std=c11 -DHAVE_CONFIG_H -I. -I.. -I ../src/common -I ../src/smithlab_cpp -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -O3 -MT src/utils/fast-liftover.o -MD -MP -MF $depbase.Tpo -c -o src/utils/fast-liftover.o ../src/utils/fast-liftover.cpp &&\ + mv -f $depbase.Tpo $depbase.Po + x86_64-apple-darwin13.4.0-clang -std=c11 -O3 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o fast-liftover src/utils/fast-liftover.o libmethpipe.a src/smithlab_cpp/libsmithlab_cpp.a -lgsl -lgslcblas -lz -lhts + depbase=echo src/utils/lift-filter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + x86_64-apple-darwin13.4.0-clang -std=c11 -DHAVE_CONFIG_H -I. -I.. -I ../src/common -I ../src/smithlab_cpp -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -O3 -MT src/utils/lift-filter.o -MD -MP -MF $depbase.Tpo -c -o src/utils/lift-filter.o ../src/utils/lift-filter.cpp &&\ + mv -f $depbase.Tpo $depbase.Po + x86_64-apple-darwin13.4.0-clang -std=c11 -O3 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o lift-filter src/utils/lift-filter.o libmethpipe.a src/smithlab_cpp/libsmithlab_cpp.a -lgsl -lgslcblas -lz -lhts + depbase=echo src/utils/merge-bsrate.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + x86_64-apple-darwin13.4.0-clang -std=c11 -DHAVE_CONFIG_H -I. -I.. -I ../src/common -I ../src/smithlab_cpp -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -O3 -MT src/utils/merge-bsrate.o -MD -MP -MF $depbase.Tpo -c -o src/utils/merge-bsrate.o ../src/utils/merge-bsrate.cpp &&\ + mv -f $depbase.Tpo $depbase.Po + x86_64-apple-darwin13.4.0-clang -std=c11 -O3 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o merge-bsrate src/utils/merge-bsrate.o libmethpipe.a src/smithlab_cpp/libsmithlab_cpp.a -lgsl -lgslcblas -lz -lhts + depbase=echo src/utils/merge-methcounts.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + x86_64-apple-darwin13.4.0-clang -std=c11 -DHAVE_CONFIG_H -I. -I.. -I ../src/common -I ../src/smithlab_cpp -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -O3 -MT src/utils/merge-methcounts.o -MD -MP -MF $depbase.Tpo -c -o src/utils/merge-methcounts.o ../src/utils/merge-methcounts.cpp &&\ + mv -f $depbase.Tpo $depbase.Po + x86_64-apple-darwin13.4.0-clang -std=c11 -O3 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o merge-methcounts src/utils/merge-methcounts.o libmethpipe.a src/smithlab_cpp/libsmithlab_cpp.a -lgsl -lgslcblas -lz -lhts + depbase=echo src/utils/duplicate-remover.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + x86_64-apple-darwin13.4.0-clang -std=c11 -DHAVE_CONFIG_H -I. -I.. -I ../src/common -I ../src/smithlab_cpp -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -O3 -MT src/utils/duplicate-remover.o -MD -MP -MF $depbase.Tpo -c -o src/utils/duplicate-remover.o ../src/utils/duplicate-remover.cpp &&\ + mv -f $depbase.Tpo $depbase.Po + x86_64-apple-darwin13.4.0-clang -std=c11 -O3 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o duplicate-remover src/utils/duplicate-remover.o libmethpipe.a src/smithlab_cpp/libsmithlab_cpp.a -lgsl -lgslcblas -lz -lhts + depbase=echo src/utils/symmetric-cpgs.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + x86_64-apple-darwin13.4.0-clang -std=c11 -DHAVE_CONFIG_H -I. -I.. -I ../src/common -I ../src/smithlab_cpp -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -O3 -MT src/utils/symmetric-cpgs.o -MD -MP -MF $depbase.Tpo -c -o src/utils/symmetric-cpgs.o ../src/utils/symmetric-cpgs.cpp &&\ + mv -f $depbase.Tpo $depbase.Po + x86_64-apple-darwin13.4.0-clang -std=c11 -O3 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o symmetric-cpgs src/utils/symmetric-cpgs.o libmethpipe.a src/smithlab_cpp/libsmithlab_cpp.a -lgsl -lgslcblas -lz -lhts + depbase=echo src/utils/clean-hairpins.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + x86_64-apple-darwin13.4.0-clang -std=c11 -DHAVE_CONFIG_H -I. -I.. -I ../src/common -I ../src/smithlab_cpp -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -O3 -MT src/utils/clean-hairpins.o -MD -MP -MF $depbase.Tpo -c -o src/utils/clean-hairpins.o ../src/utils/clean-hairpins.cpp &&\ + mv -f $depbase.Tpo $depbase.Po + x86_64-apple-darwin13.4.0-clang -std=c11 -O3 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o clean-hairpins src/utils/clean-hairpins.o libmethpipe.a src/smithlab_cpp/libsmithlab_cpp.a -lgsl -lgslcblas -lz -lhts + depbase=echo src/utils/selectsites.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + x86_64-apple-darwin13.4.0-clang -std=c11 -DHAVE_CONFIG_H -I. -I.. -I ../src/common -I ../src/smithlab_cpp -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -O3 -MT src/utils/selectsites.o -MD -MP -MF $depbase.Tpo -c -o src/utils/selectsites.o ../src/utils/selectsites.cpp &&\ + mv -f $depbase.Tpo $depbase.Po + x86_64-apple-darwin13.4.0-clang -std=c11 -O3 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o selectsites src/utils/selectsites.o libmethpipe.a src/smithlab_cpp/libsmithlab_cpp.a -lgsl -lgslcblas -lz -lhts + depbase=echo src/utils/guessprotocol.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + x86_64-apple-darwin13.4.0-clang -std=c11 -DHAVE_CONFIG_H -I. -I.. -I ../src/common -I ../src/smithlab_cpp -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -O3 -MT src/utils/guessprotocol.o -MD -MP -MF $depbase.Tpo -c -o src/utils/guessprotocol.o ../src/utils/guessprotocol.cpp &&\ + mv -f $depbase.Tpo $depbase.Po + x86_64-apple-darwin13.4.0-clang -std=c11 -O3 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o guessprotocol src/utils/guessprotocol.o libmethpipe.a src/smithlab_cpp/libsmithlab_cpp.a -lgsl -lgslcblas -lz -lhts + depbase=echo src/utils/format_reads.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + x86_64-apple-darwin13.4.0-clang -std=c11 -DHAVE_CONFIG_H -I. -I.. -I ../src/common -I ../src/smithlab_cpp -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -O3 -MT src/utils/format_reads.o -MD -MP -MF $depbase.Tpo -c -o src/utils/format_reads.o ../src/utils/format_reads.cpp &&\ + mv -f $depbase.Tpo $depbase.Po + x86_64-apple-darwin13.4.0-clang -std=c11 -O3 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o format_reads src/utils/format_reads.o libmethpipe.a src/smithlab_cpp/libsmithlab_cpp.a -lgsl -lgslcblas -lz -lhts + depbase=echo src/amrfinder/allelicmeth.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + x86_64-apple-darwin13.4.0-clang -std=c11 -DHAVE_CONFIG_H -I. -I.. -I ../src/common -I ../src/smithlab_cpp -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -O3 -MT src/amrfinder/allelicmeth.o -MD -MP -MF $depbase.Tpo -c -o src/amrfinder/allelicmeth.o ../src/amrfinder/allelicmeth.cpp &&\ + mv -f $depbase.Tpo $depbase.Po + x86_64-apple-darwin13.4.0-clang -std=c11 -O3 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o allelicmeth src/amrfinder/allelicmeth.o libmethpipe.a src/smithlab_cpp/libsmithlab_cpp.a -lgsl -lgslcblas -lz -lhts + depbase=echo src/amrfinder/amrfinder.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + x86_64-apple-darwin13.4.0-clang -std=c11 -DHAVE_CONFIG_H -I. -I.. -I ../src/common -I ../src/smithlab_cpp -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -O3 -MT src/amrfinder/amrfinder.o -MD -MP -MF $depbase.Tpo -c -o src/amrfinder/amrfinder.o ../src/amrfinder/amrfinder.cpp &&\ + mv -f $depbase.Tpo $depbase.Po + x86_64-apple-darwin13.4.0-clang -std=c11 -O3 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o amrfinder src/amrfinder/amrfinder.o libmethpipe.a src/smithlab_cpp/libsmithlab_cpp.a -lgsl -lgslcblas -lz -lhts + depbase=echo src/amrfinder/amrtester.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + x86_64-apple-darwin13.4.0-clang -std=c11 -DHAVE_CONFIG_H -I. -I.. -I ../src/common -I ../src/smithlab_cpp -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -O3 -MT src/amrfinder/amrtester.o -MD -MP -MF $depbase.Tpo -c -o src/amrfinder/amrtester.o ../src/amrfinder/amrtester.cpp &&\ + mv -f $depbase.Tpo $depbase.Po + x86_64-apple-darwin13.4.0-clang -std=c11 -O3 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o amrtester src/amrfinder/amrtester.o libmethpipe.a src/smithlab_cpp/libsmithlab_cpp.a -lgsl -lgslcblas -lz -lhts + depbase=echo src/radmeth/radmeth.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + x86_64-apple-darwin13.4.0-clang -std=c11 -DHAVE_CONFIG_H -I. -I.. -I ../src/common -I ../src/smithlab_cpp -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -O3 -MT src/radmeth/radmeth.o -MD -MP -MF $depbase.Tpo -c -o src/radmeth/radmeth.o ../src/radmeth/radmeth.cpp &&\ + mv -f $depbase.Tpo $depbase.Po + make[2]: Leaving directory '$SRC_DIR/build' + make[1]: Leaving directory '$SRC_DIR/build' +# Last 100 lines of the build log. diff --git a/recipes/methpipe/meta.yaml b/recipes/methpipe/meta.yaml index cee9b9ca74ccc..2e533a09822e8 100644 --- a/recipes/methpipe/meta.yaml +++ b/recipes/methpipe/meta.yaml @@ -9,7 +9,7 @@ source: md5: 735bdafc5b25ae6df30e43442127571e build: - number: 3 + number: 4 requirements: build: diff --git a/recipes/methplotlib/meta.yaml b/recipes/methplotlib/meta.yaml index b1197572bd4a2..98d0ac87c7494 100644 --- a/recipes/methplotlib/meta.yaml +++ b/recipes/methplotlib/meta.yaml @@ -1,5 +1,5 @@ {% set name = "methplotlib" %} -{% set version = "0.20.1" %} +{% set version = "0.21.2" %} package: name: "{{ name|lower }}" @@ -7,14 +7,16 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: becc95c6eca9c4b6e1b765d8667741b4ffa772ae147e83b36415051b3638fd3e + sha256: 12f487986c3296efa03c05091c0feeb99337aef7e009f7df747280481b9a8c3f build: number: 0 entry_points: - methplotlib=methplotlib.methplotlib:main - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" noarch: python + run_exports: + - {{ pin_subpackage('methplotlib', max_pin="x.x") }} requirements: host: diff --git a/recipes/methylartist/meta.yaml b/recipes/methylartist/meta.yaml index 1011726558909..f26e3db2fa3b5 100644 --- a/recipes/methylartist/meta.yaml +++ b/recipes/methylartist/meta.yaml @@ -1,5 +1,5 @@ {% set name = "methylartist" %} -{% set version = "1.2.7" %} +{% set version = "1.3.1" %} package: name: "{{ name|lower }}" @@ -7,12 +7,12 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 23005b717a317aa1aea813703f3d7011592d58268b16f111275df2d8694c41a4 + sha256: a720ca9367edcb9e2b7cd7980064f6c814235e41e057f7f78567d27f04d95884 build: noarch: python number: 0 - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" run_exports: - {{ pin_subpackage(name, max_pin="x") }} @@ -23,7 +23,7 @@ test: requirements: host: - pip - - python >=3.8 + - python >=3.7 run: - bx-python >=0.8.11 - matplotlib-base >=3.4.3 @@ -35,11 +35,13 @@ requirements: - scikit-bio >=0.5.6 - scipy >=1.7.1 - seaborn >=0.11.2 + - tqdm about: home: "https://github.com/adamewing/methylartist" license: MIT license_family: MIT + license_file: LICENSE summary: "Tools for parsing and plotting nanopore methylation data" extra: @@ -47,3 +49,5 @@ extra: - adamewing container: extended-base: True + identifiers: + - doi:10.1093/bioinformatics/btac292 diff --git a/recipes/methyldackel/build.sh b/recipes/methyldackel/build.sh index 4c0ae7f95765b..05bf0caa1fffd 100644 --- a/recipes/methyldackel/build.sh +++ b/recipes/methyldackel/build.sh @@ -1,2 +1,2 @@ #!/bin/bash -make install CC=$CC CFLAGS="-O3 -Wall -I$PREFIX/include" LIBS="-L$PREFIX/lib" LIBBIGWIG="$PREFIX/lib/libBigWig.a" prefix=$PREFIX/bin +make -j ${CPU_COUNT} install CC=$CC CFLAGS="-O3 -Wall -I$PREFIX/include" LIBS="-L$PREFIX/lib" LIBBIGWIG="$PREFIX/lib/libBigWig.a" prefix=$PREFIX/bin diff --git a/recipes/methyldackel/meta.yaml b/recipes/methyldackel/meta.yaml index c1b9b7df552a4..190ff19e602b1 100644 --- a/recipes/methyldackel/meta.yaml +++ b/recipes/methyldackel/meta.yaml @@ -5,7 +5,9 @@ package: version: {{ version }} build: - number: 6 + number: 7 + run_exports: + - {{ pin_subpackage("methyldackel", max_pin="x.x") }} source: url: https://github.com/dpryan79/MethylDackel/archive/{{ version }}.tar.gz @@ -29,3 +31,7 @@ about: license: MIT license_file: LICENSE summary: A (mostly) universal methylation extractor for BS-seq experiments. Formerly named PileOMeth. + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/methylmap/meta.yaml b/recipes/methylmap/meta.yaml index 2deb96f13c1c9..8278a62a0e8c6 100644 --- a/recipes/methylmap/meta.yaml +++ b/recipes/methylmap/meta.yaml @@ -1,5 +1,5 @@ {% set name = "methylmap" %} -{% set version = "0.4.6" %} +{% set version = "0.5.4" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: ff94b6d5b75c704af8ced7b0c0187c1a4d8bfb7cf3565bde09ea46d2c9e44963 + sha256: 774fca972d16efbc1cce5b1f7a0b2876cb9526f24c6ba2e886a59f4006b11679 build: number: 0 @@ -29,10 +29,12 @@ requirements: - plotly >=5.4.0 - pyranges >=0.0.77 - tabix -# - modbam2bed ## not available in bioconda, only through epi2me-labs - scipy - dash - + - dash-bootstrap-components + - tqdm + - ont-modkit + test: imports: - methylmap diff --git a/recipes/methylpy/build.sh b/recipes/methylpy/build.sh index 9527695cadb4a..6f124e68e5e57 100644 --- a/recipes/methylpy/build.sh +++ b/recipes/methylpy/build.sh @@ -1,12 +1,12 @@ #!/bin/bash # Install methylpy -python -m pip install . --no-deps --ignore-installed -vv +${PYTHON} -m pip install . --no-deps --no-build-isolation -vvv # Install RMS -export CPATH=${PREFIX}/include +export CPLUS_INCLUDE_PATH=${PREFIX}/include cd methylpy -$CXX -O3 -L${PREFIX}/lib -lgsl -lgslcblas -o run_rms_tests.out rms.cpp +${CXX} -O3 -L${PREFIX}/lib -lgsl -lgslcblas -o run_rms_tests.out rms.cpp # run_rms_tests.out needs to be copied to the directory where methylpy is installed -cp run_rms_tests.out ${PREFIX}/lib/python*/site-packages/methylpy/ +cp run_rms_tests.out ${SP_DIR}/methylpy/ cd .. diff --git a/recipes/methylpy/build_failure.linux-64.yaml b/recipes/methylpy/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..32537da1847e1 --- /dev/null +++ b/recipes/methylpy/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: dc5ba7f15ebfbcced1e202d801a5dcc783f6c5adb1c67ed619f651937e975c36 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2247, in create_build_envs + raise e + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2220, in create_build_envs + environ.get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("pysam==0.15.0=py27hdfb72b2_0"), MatchSpec("bcftools=1.9")} + Encountered problems while solving: + - package pysam-0.15.0-py27hdfb72b2_0 requires bcftools 1.9.*, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + [32mcutadapt >=1.9 [0m is installable with the potential options + [32mcutadapt [1.10|1.11|...|1.9.1][0m would require + [32mpython [2.7* |>=2.7,<2.8.0a0 ][0m, which can be installed; + [32mcutadapt [1.10|1.11|1.12|1.13|1.9.1][0m would require + [32mpython 3.4* [0m, which can be installed; + [32mcutadapt [1.10|1.11|...|1.9.1][0m would require + [32mpython [3.5* |>=3.5,<3.6.0a0 ][0m, which can be installed; + [32mcutadapt [1.13|1.14|1.15|1.16][0m would require + [32mpython 3.6* [0m, which can be installed; + [32mcutadapt [1.16|1.17|...|2.8][0m would require + [32mpython >=3.6,<3.7.0a0 [0m, which can be installed; + [32mcutadapt [1.18|2.0|...|2.8][0m would require + [32mpython >=3.7,<3.8.0a0 [0m, which can be installed; + [32mcutadapt [2.10|2.9|...|3.5][0m would require + [32mpython_abi 3.6.* *_cp36m[0m, which can be installed; + [32mcutadapt [2.10|2.9|...|4.4][0m would require + [32mpython_abi 3.7.* *_cp37m[0m, which can be installed; + [32mcutadapt [2.10|3.0|...|4.8][0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mcutadapt [3.3|3.4|...|4.8][0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [32mcutadapt [4.1|4.2|...|4.8][0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [31mcutadapt 4.8[0m would require + [31mpython >=3.11,<3.12.0a0 [0m, which requires + [31mpython_abi 3.11.* *_cp311[0m, which conflicts with any installable versions previously reported; + [32mcutadapt 4.8[0m would require + [32mpython_abi 3.12.* *_cp312[0m, which can be installed; + [32mgsl >=2.7,<2.8.0a0 [0m is requested and can be installed; + [32mpysam >=0.5.3 [0m is installable with the potential options + [32mpysam 0.7.7[0m would require + [32mpython <3.0.0 [0m, which can be installed; + [32mpysam [0.10.0|0.11.0|...|0.9.1.4][0m would require + [32mpython [2.7* |>=2.7,<2.8.0a0 ][0m, which can be installed; + [32mpysam [0.10.0|0.16.0.1|...|0.9.1][0m would require + [32mpython_abi 2.7.* *_cp27mu[0m, which can be installed; + [32mpysam [0.10.0|0.11.0|...|0.9.1.4][0m would require + [32mpython 3.4* [0m, which can be installed; + [32mpysam [0.10.0|0.11.0|...|0.9.1.4][0m would require + [32mpython [3.5* |>=3.5,<3.6.0a0 ][0m, which can be installed; + [32mpysam [0.10.0|0.11.1|...|0.9.1][0m would require + [32mpython 3.6* [0m, which can be installed; + [32mpysam [0.10.0|0.15.4|...|0.9.1][0m would require + [32mpython_abi 3.6.* *_cp36m[0m, which can be installed; + [32mpysam [0.10.0|0.14.1|...|0.9.1][0m would require + [32mpython >=3.6,<3.7.0a0 [0m, which can be installed; + [31mpysam [0.15.0|0.15.0.1|0.15.2][0m would require + [31mbcftools 1.9.* [0m but there are no viable options + [31mbcftools 1.9[0m would require + [31mlibdeflate >=1.0,<1.1.0a0 [0m, which conflicts with any installable versions previously reported; + [31mbcftools 1.9[0m would require + [31mgsl >=2.5,<2.6.0a0 [0m, which conflicts with any installable versions previously reported; + [31mpysam [0.15.1|0.15.2|0.15.3][0m would require + [31mlibdeflate >=1.0,<1.1.0a0 [0m, which conflicts with any installable versions previously reported; + [32mpysam [0.15.3|0.15.4|0.9.1][0m would require + [32mpython >=3.7,<3.8.0a0 [0m, which can be installed; + [32mpysam [0.15.4|0.16.0|...|0.9.1][0m would require + [32mpython_abi 3.7.* *_cp37m[0m, which can be installed; + [32mpysam [0.16.0.1|0.17.0|...|0.9.1][0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mpysam [0.16.0.1|0.17.0|...|0.9.1][0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [32mpysam [0.19.1|0.20.0|0.21.0|0.22.0|0.22.1][0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [31mpython >=3.11,<3.12.0a0 [0m, which cannot be installed (as previously explained); + [31mpython_abi 3.11.* *_cp311[0m is not installable because it conflicts with any installable versions previously reported. +# Last 100 lines of the build log. diff --git a/recipes/methylpy/build_failure.osx-64.yaml b/recipes/methylpy/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..2debbe2b2e974 --- /dev/null +++ b/recipes/methylpy/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: dc5ba7f15ebfbcced1e202d801a5dcc783f6c5adb1c67ed619f651937e975c36 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + bowtie2 [2.2.5|2.2.7|...|2.3.4.3] would require + python [3.5* |>=3.5,<3.6.0a0 ], which can be installed; + bowtie2 [2.2.5|2.3.0|...|2.3.4.1] would require + python 3.6* , which can be installed; + bowtie2 [2.2.5|2.3.4.1|...|2.3.5.1] would require + python >=3.6,<3.7.0a0 , which can be installed; + bowtie2 [2.2.5|2.3.4.3|2.3.5|2.3.5.1] would require + python >=3.7,<3.8.0a0 , which can be installed; + bowtie2 [2.4.1|2.4.2|...|2.5.1] would require + python_abi 3.6.* *_cp36m, which can be installed; + bowtie2 [2.4.1|2.4.2|...|2.5.1] would require + python_abi 3.7.* *_cp37m, which can be installed; + bowtie2 2.4.1 would require + python >=3.8,<3.9.0a0 , which can be installed; + bowtie2 [2.4.1|2.4.2|...|2.5.3] would require + python_abi 3.8.* *_cp38, which can be installed; + bowtie2 [2.4.2|2.4.3|...|2.5.3] would require + python_abi 3.9.* *_cp39, which can be installed; + bowtie2 [2.4.5|2.5.0|2.5.1|2.5.2|2.5.3] would require + python_abi 3.10.* *_cp310, which can be installed; + cutadapt >=1.9 is installable with the potential options + cutadapt 4.8 would require + dnaio >=1.2.0 with the potential options + dnaio 1.2.0 would require + xopen >=1.4.0 with the potential options + xopen [1.4.0|1.5.0|...|2.0.1] would require + python_abi 3.10.* *_cp310, which can be installed; + xopen [1.4.0|1.5.0|1.6.0] would require + python_abi 3.7 *_pypy37_pp73, which can be installed; + xopen [1.4.0|1.5.0|1.6.0] would require + python_abi 3.7.* *_cp37m, which can be installed; + xopen [1.4.0|1.5.0|...|2.0.1] would require + python_abi 3.8.* *_cp38, which can be installed; + xopen [1.4.0|1.5.0|...|2.0.1] would require + python_abi 3.9.* *_cp39, which can be installed; + xopen [1.6.0|1.7.0|1.8.0|1.9.0|2.0.1] would require + python_abi 3.11.* *_cp311, which can be installed; + xopen [1.7.0|1.8.0|1.9.0|2.0.1] would require + zstandard with the potential options + zstandard [0.10.2|0.11.0|...|0.8.1], which can be installed; + zstandard [0.14.0|0.14.1|0.15.1|0.15.2] would require + python_abi 3.6.* *_cp36m, which can be installed; + zstandard [0.14.0|0.14.1|0.15.1|0.15.2] would require + python_abi 3.6 *_pypy36_pp73, which can be installed; + zstandard [0.14.0|0.14.1|...|0.18.0] would require + python_abi 3.7.* *_cp37m, which can be installed; + zstandard [0.14.0|0.14.1|...|0.22.0] would require + python_abi 3.8.* *_cp38, which can be installed; + zstandard [0.14.0|0.14.1|...|0.22.0] would require + python_abi 3.9.* *_cp39, which can be installed; + zstandard [0.14.1|0.15.1|0.15.2|0.16.0|0.17.0] would require + python_abi 3.7 *_pypy37_pp73, which can be installed; + zstandard [0.16.0|0.17.0|...|0.22.0] would require + python_abi 3.10.* *_cp310, which can be installed; + zstandard [0.17.0|0.18.0|0.19.0] would require + python_abi 3.8 *_pypy38_pp73, which can be installed; + zstandard [0.17.0|0.18.0|0.19.0|0.21.0|0.22.0] would require + python_abi 3.9 *_pypy39_pp73, which can be installed; + zstandard [0.18.0|0.19.0|0.21.0|0.22.0] would require + python_abi 3.11.* *_cp311, which can be installed; + zstandard [0.21.0|0.22.0] would require + zstd >=1.5.5,<1.5.6.0a0 , which conflicts with any installable versions previously reported; + xopen 1.7.0 would require + python_abi 3.8 *_pypy38_pp73, which can be installed; + xopen [1.7.0|1.8.0|1.9.0] would require + python_abi 3.9 *_pypy39_pp73, which can be installed; + dnaio 1.2.0 would require + python_abi 3.10.* *_cp310, which can be installed; + dnaio 1.2.0 would require + python_abi 3.11.* *_cp311, which can be installed; + dnaio 1.2.0 would require + python_abi 3.8.* *_cp38, which can be installed; + dnaio 1.2.0 would require + python_abi 3.9.* *_cp39, which can be installed; + cutadapt [1.10|1.11|...|1.9.1] would require + python [2.7* |>=2.7,<2.8.0a0 ], which can be installed; + cutadapt [1.10|1.11|1.12|1.13|1.9.1] would require + python 3.4* , which can be installed; + cutadapt [1.10|1.11|...|1.9.1] would require + python [3.5* |>=3.5,<3.6.0a0 ], which can be installed; + cutadapt [1.13|1.14|1.15|1.16] would require + python 3.6* , which can be installed; + cutadapt [1.16|1.17|...|2.8] would require + python >=3.6,<3.7.0a0 , which can be installed; + cutadapt [1.18|2.0|...|2.8] would require + python >=3.7,<3.8.0a0 , which can be installed; + cutadapt [2.10|2.9|...|3.5] would require + python_abi 3.6.* *_cp36m, which can be installed; + cutadapt [2.10|2.9|...|4.4] would require + python_abi 3.7.* *_cp37m, which can be installed; + cutadapt [2.10|3.0|...|4.8] would require + python_abi 3.8.* *_cp38, which can be installed; + cutadapt [3.4|3.5|...|4.8] would require + python_abi 3.9.* *_cp39, which can be installed; + cutadapt [4.1|4.2|...|4.8] would require + python_abi 3.10.* *_cp310, which can be installed; + cutadapt 4.8 would require + python_abi 3.11.* *_cp311, which can be installed; + python_abi 3.12.* *_cp312 is not installable because it requires + python 3.12.* *_cpython, which conflicts with any installable versions previously reported. +# Last 100 lines of the build log. diff --git a/recipes/methylpy/meta.yaml b/recipes/methylpy/meta.yaml index 2d3559812ed78..8c9d7f869b432 100644 --- a/recipes/methylpy/meta.yaml +++ b/recipes/methylpy/meta.yaml @@ -1,6 +1,6 @@ {% set name = "methylpy" %} -{% set version = "1.4.3" %} -{% set sha256 = "3ad7ea3093dc3751544936bbbcdc55b16e8b3b39600f86c75219360e2a1437d7" %} +{% set version = "1.4.7" %} +{% set sha256 = "bbd9ab01cd7b6bba9b96b94aed2e1deee5af405d743eef4f031eb8b846ae8156" %} package: name: {{ name|lower }} @@ -12,6 +12,8 @@ source: build: number: 1 + run_exports: + - {{ pin_subpackage('methylpy', max_pin="x") }} requirements: build: @@ -43,10 +45,11 @@ test: about: home: https://github.com/yupenghe/methylpy - license: Apache 2.0 + license: Apache-2.0 license_family: APACHE license_file: LICENSE.txt summary: "Bisulfite sequencing data processing and differential methylation analysis" + doc_url: "https://github.com/yupenghe/methylpy/blob/methylpy/tutorial/tutorial.md" extra: identifiers: diff --git a/recipes/mg-toolkit/meta.yaml b/recipes/mg-toolkit/meta.yaml index 52488ee71a435..f0536f69afb05 100644 --- a/recipes/mg-toolkit/meta.yaml +++ b/recipes/mg-toolkit/meta.yaml @@ -1,5 +1,5 @@ {% set name = "mg-toolkit" %} -{% set version = "0.10.1" %} +{% set version = "0.10.4" %} package: name: "{{ name|lower }}" @@ -7,26 +7,29 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: "19550a3ba8033639822c6f878b799fe6394abc216564012285f84f0a6c19086a" + sha256: "087042ccaac9601fecfdc2e121330b650426ec373ce5353fc32cd5337ef823a9" build: number: 0 entry_points: - mg-toolkit=mg_toolkit.__main__:main noarch: python - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('mg-toolkit', max_pin="x.x") }} requirements: host: - - python >=3.5 + - python >=3.8 - pip - pytest-runner run: - jsonapi-client >=0.9.9 - - pandas >=0.25.3 - - python >=3.5 - - requests >=2.24.0 + - pandas ==2.0.3 + - python >=3.8 + - requests >=2.31.0 - tqdm >=4.49.0 + - urllib3 >=2.2.1 test: imports: @@ -35,8 +38,13 @@ test: - mg-toolkit --help about: - home: "https://github.com/EBI-metagenomics/emg-toolkit" + home: "https://www.ebi.ac.uk/metagenomics" license: Apache-2.0 license_file: LICENSE license_family: "APACHE" summary: "Metagenomics toolkit." + dev_url: "https://github.com/EBI-metagenomics/emg-toolkit" + +extra: + identifiers: + - biotools:MGnify diff --git a/recipes/mgatk/meta.yaml b/recipes/mgatk/meta.yaml new file mode 100644 index 0000000000000..a7f891da24de7 --- /dev/null +++ b/recipes/mgatk/meta.yaml @@ -0,0 +1,67 @@ +{% set name = "mgatk" %} +{% set version = "0.7.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/mgatk-{{ version }}.tar.gz + sha256: f42f5eb8fcfd38dd6ef3db853764071311cb70d841a73ff2f40f0a0c9e9d7de9 + +build: + number: 2 + noarch: python + entry_points: + - mgatk = mgatk.cli:main + - mgatk-del-find = mgatk.deletioncalling.clifind:main + - mgatk-del = mgatk.deletioncalling.clidel:main + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + run_exports: + - {{ pin_subpackage('mgatk', max_pin="x.x") }} + +requirements: + host: + - python >=3 + - pip + run: + - python >=3 + - click + - pysam + - pytest + - snakemake-minimal <8 + - pulp <2.8 + - biopython + - numpy + - pandas + - optparse-pretty + - regex + - ruamel.yaml 0.16.12 + - openjdk + - picard-slim + - r-base + - r-dplyr + - r-data.table + - r-matrix + - bioconductor-genomicranges + - bioconductor-summarizedexperiment + +test: + imports: + - mgatk + commands: + - mgatk --help + - mgatk-del-find --help + - mgatk-del --help + +about: + home: https://github.com/caleblareau/mgatk + summary: Mitochondrial genome analysis toolkit. + license: MIT + license_family: MIT + license_file: LICENSE.txt + doc_url: https://github.com/caleblareau/mgatk/wiki + +extra: + recipe-maintainers: + - mencian diff --git a/recipes/mgems/build.sh b/recipes/mgems/build.sh index 64ccbc461cfff..df3e14ac25675 100644 --- a/recipes/mgems/build.sh +++ b/recipes/mgems/build.sh @@ -1,4 +1,6 @@ -#!/bin/sh +#!/bin/bash + +set -xe mkdir -p $PREFIX/bin @@ -7,4 +9,5 @@ cd build cmake .. make -j${CPU_COUNT} ${VERBOSE_AT} -cp bin/mGEMS $PREFIX/bin +chmod 755 bin/mGEMS +cp -f bin/mGEMS $PREFIX/bin diff --git a/recipes/mgems/meta.yaml b/recipes/mgems/meta.yaml index 3ed678208b720..be00e71ac1a41 100644 --- a/recipes/mgems/meta.yaml +++ b/recipes/mgems/meta.yaml @@ -1,5 +1,5 @@ {% set name = "mGEMS" %} -{% set version = "1.3.1" %} +{% set version = "1.3.3" %} package: name: {{ name|lower }} @@ -7,10 +7,12 @@ package: source: url: https://github.com/PROBIC/{{ name }}/archive/v{{ version }}.tar.gz - sha256: b87d4d5b1d330c7f0f24ce48f08815877465a7cfd9cd2883421bf1e05a627d25 + sha256: c16db45f575d039ca5219b9bc7b7a4dc4bc3ceb3239b2a61085106d3d666b57a build: - number: 0 + number: 1 + run_exports: + - {{ pin_subpackage('mgems', max_pin="x") }} requirements: build: @@ -33,10 +35,15 @@ test: about: home: https://github.com/PROBIC/mGEMS license: MIT + license_family: MIT license_file: LICENSE summary: 'mGEMS - sequencing data binning based on probabilistic classification' + dev_url: https://github.com/PROBIC/mGEMS extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - doi:10.1099/mgen.0.000691 recipe-maintainers: diff --git a/recipes/mgikit/build.sh b/recipes/mgikit/build.sh new file mode 100644 index 0000000000000..4d95671dbe073 --- /dev/null +++ b/recipes/mgikit/build.sh @@ -0,0 +1,4 @@ +#!/bin/bash -e + +RUST_BACKTRACE=1 +cargo install --no-track --verbose --root "${PREFIX}" --path . \ No newline at end of file diff --git a/recipes/mgikit/build_failure.osx-64.yaml b/recipes/mgikit/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..adb0e9a3f949a --- /dev/null +++ b/recipes/mgikit/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: bffa7226da5ba47a6baeeba197aed986c9e517280d39bdfbba65337d2fb1e621 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + Running rustc --crate-name syn --edition=2021 /opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/.cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-2.0.66/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="clone-impls"' --cfg 'feature="default"' --cfg 'feature="derive"' --cfg 'feature="parsing"' --cfg 'feature="printing"' --cfg 'feature="proc-macro"' -C metadata=9458422a6b6a27ee -C extra-filename=-9458422a6b6a27ee --out-dir /opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/target/release/deps -C linker=x86_64-apple-darwin13.4.0-clang -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/target/release/deps --extern proc_macro2=/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/target/release/deps/libproc_macro2-4a4f23b2b4b41ec2.rmeta --extern quote=/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/target/release/deps/libquote-6ad0329045fa9111.rmeta --extern unicode_ident=/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/target/release/deps/libunicode_ident-0f8c807562e934ee.rmeta --cap-lints allow + Compiling crossbeam-deque v0.8.5 + Running rustc --crate-name crossbeam_deque --edition=2021 /opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/.cargo/registry/src/index.crates.io-6f17d22bba15001f/crossbeam-deque-0.8.5/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C panic=abort -C codegen-units=1 --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=3f194d1e9b95e04b -C extra-filename=-3f194d1e9b95e04b --out-dir /opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/target/x86_64-apple-darwin/release/deps --target x86_64-apple-darwin -C linker=x86_64-apple-darwin13.4.0-clang -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/target/x86_64-apple-darwin/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/target/release/deps --extern crossbeam_epoch=/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/target/x86_64-apple-darwin/release/deps/libcrossbeam_epoch-7b8ad32966f9f2ef.rmeta --extern crossbeam_utils=/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/target/x86_64-apple-darwin/release/deps/libcrossbeam_utils-242b3d56cf579aaa.rmeta --cap-lints allow -C link-arg=-Wl,-rpath,/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib -C link-arg=-Wl,-headerpad_max_install_names -C link-arg=-Wl,-dead_strip_dylibs + error: linking with x86_64-apple-darwin13.4.0-clang failed: exit status: 1 + | + = note: env -u IPHONEOS_DEPLOYMENT_TARGET -u TVOS_DEPLOYMENT_TARGET LC_ALL="C" PATH="/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/bin:/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/.cargo/bin:/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/bin:/opt/mambaforge/envs/bioconda/condabin:/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/bin:/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin:/opt/mambaforge/envs/bioconda/bin:/opt/mambaforge/condabin:/opt/mambaforge/bin:/usr/local/lib/ruby/gems/3.0.0/bin:/usr/local/opt/ruby@3.0/bin:/usr/local/opt/pipx_bin:/Users/runner/.cargo/bin:/usr/local/opt/curl/bin:/usr/local/bin:/usr/local/sbin:/Users/runner/bin:/Users/runner/.yarn/bin:/Users/runner/Library/Android/sdk/tools:/Users/runner/Library/Android/sdk/platform-tools:/Library/Frameworks/Python.framework/Versions/Current/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/usr/bin:/bin:/usr/sbin:/sbin:/Users/runner/.dotnet/tools" VSLANG="1033" ZERO_AR_DATE="1" "x86_64-apple-darwin13.4.0-clang" "-arch" "x86_64" "-m64" "/tmp/rustcSPtvLo/symbols.o" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/target/release/build/libz-sys-02ae29bc08faf3d8/build_script_build-02ae29bc08faf3d8.build_script_build.de5941c10eba5054-cgu.0.rcgu.o" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/target/release/build/libz-sys-02ae29bc08faf3d8/build_script_build-02ae29bc08faf3d8.4b1epf52pjihq6yx.rcgu.o" "-L" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/target/release/deps" "-L" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/target/release/deps/libvcpkg-ddd7867e4658c133.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/target/release/deps/libcmake-818d25fd5a22877c.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/target/release/deps/libcc-6d393b2df27c1f92.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/target/release/deps/libpkg_config-b8a6842b1b583327.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libstd-2ad7f97be9e16ca5.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libpanic_unwind-8ce93eee8bf4c86e.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libobject-0e1339b212cc7409.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libmemchr-925e672b3deb429c.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libaddr2line-e92d517a950bccd8.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libgimli-de95e5c2a2ace281.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/librustc_demangle-37f4c48e230f618e.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libstd_detect-dfeb4bb0652b6b8e.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libhashbrown-0e3ea0ec18336be2.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_alloc-39dd3003e36d7872.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libminiz_oxide-5ea1513e08ee15e0.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libadler-2967159221f4860d.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libunwind-b70656709e3eca11.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcfg_if-cc5626b2e0399737.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/liblibc-8378684dba6ab463.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/liballoc-0ff05b9b25b786cc.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_core-9a6da74aeab39c54.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcore-1638dc700d175798.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-7f42af62722c8f43.rlib" "-lSystem" "-lc" "-lm" "-L" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib" "-o" "/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/target/release/build/libz-sys-02ae29bc08faf3d8/build_script_build-02ae29bc08faf3d8" "-Wl,-dead_strip" "-nodefaultlibs" + = note: ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libstd-2ad7f97be9e16ca5.rlib(std-2ad7f97be9e16ca5.std.73125d0ae810e61b-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcore-1638dc700d175798.rlib(core-1638dc700d175798.core.b1c2fc210f4dfff9-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/liballoc-0ff05b9b25b786cc.rlib(alloc-0ff05b9b25b786cc.alloc.9242d371e396bc4c-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/librustc_demangle-37f4c48e230f618e.rlib(rustc_demangle-37f4c48e230f618e.rustc_demangle.9fdffeb2b56169d1-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libgimli-de95e5c2a2ace281.rlib(gimli-de95e5c2a2ace281.gimli.72653df79598dcb2-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libobject-0e1339b212cc7409.rlib(object-0e1339b212cc7409.object.e3756fe3fb577255-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libmemchr-925e672b3deb429c.rlib(memchr-925e672b3deb429c.memchr.4dc4a05d80618598-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libaddr2line-e92d517a950bccd8.rlib(addr2line-e92d517a950bccd8.addr2line.7eb29e6a0a38fefd-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libhashbrown-0e3ea0ec18336be2.rlib(hashbrown-0e3ea0ec18336be2.hashbrown.febebf65344cb99d-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libpanic_unwind-8ce93eee8bf4c86e.rlib(panic_unwind-8ce93eee8bf4c86e.panic_unwind.a3b8ea81b157ee45-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-7f42af62722c8f43.rlib(compiler_builtins-7f42af62722c8f43.compiler_builtins.19fed66cffb9e9f5-cgu.089.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + Undefined symbols for architecture x86_64: + "_getentropy", referenced from: + std::sys::pal::unix::rand::hashmap_random_keys::hcc27ed0e9fd421d6 in libstd-2ad7f97be9e16ca5.rlib(std-2ad7f97be9e16ca5.std.73125d0ae810e61b-cgu.0.rcgu.o) + ld: symbol(s) not found for architecture x86_64 + clang-16: error: linker command failed with exit code 1 (use -v to see invocation) + + + error: could not compile libz-sys (build script) due to 1 previous error + + Caused by: + process didn't exit successfully: rustc --crate-name build_script_build --edition=2018 /opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libz-sys-1.1.18/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="cmake"' --cfg 'feature="libc"' --cfg 'feature="zlib-ng"' -C metadata=02ae29bc08faf3d8 -C extra-filename=-02ae29bc08faf3d8 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/target/release/build/libz-sys-02ae29bc08faf3d8 -C linker=x86_64-apple-darwin13.4.0-clang -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/target/release/deps --extern cc=/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/target/release/deps/libcc-6d393b2df27c1f92.rlib --extern cmake=/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/target/release/deps/libcmake-818d25fd5a22877c.rlib --extern pkg_config=/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/target/release/deps/libpkg_config-b8a6842b1b583327.rlib --extern vcpkg=/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/target/release/deps/libvcpkg-ddd7867e4658c133.rlib --cap-lints allow (exit status: 1) + warning: build failed, waiting for other jobs to finish... + error: failed to compile mgikit v0.1.5 (/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work), intermediate artifacts can be found at /opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/target. + To reuse those artifacts with a future compilation, set the environment variable CARGO_TARGET_DIR to that path. + Extracting download + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mgikit-0.1.5 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/mgikit_1717595220511/work/conda_build.sh']' returned non-zero exit status 101. + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mgikit-0.1.5 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mgikit-0.1.5 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mgikit-0.1.5 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix +# Last 100 lines of the build log. diff --git a/recipes/mgikit/meta.yaml b/recipes/mgikit/meta.yaml new file mode 100644 index 0000000000000..e8ec1141a2616 --- /dev/null +++ b/recipes/mgikit/meta.yaml @@ -0,0 +1,41 @@ +{% set version = "0.1.7" %} + +package: + name: mgikit + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage('mgikit', max_pin="x.x") }} + +source: + url: https://github.com/sagc-bioinformatics/mgikit/archive/refs/tags/v{{ version }}.tar.gz + sha256: d8ad7f468d2fa1004f4499b40e190b6a0b2b5165d66e6400bb8f987770375647 + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - {{ compiler('rust') }} + - clangdev + - pkg-config + - make + - cmake + +test: + commands: + - mgikit --help + +about: + home: https://sagc-bioinformatics.github.io/mgikit/ + license: AFL-3.0 + summary: | + mgikit is a collection of tools used to demultiplex fastq files and generate demultiplexing and quality reports. + dev_url: https://github.com/sagc-bioinformatics/mgikit + +extra: + additional-platforms: + - linux-aarch64 + recipe-maintainers: + - ziadbkh diff --git a/recipes/mgkit/meta.yaml b/recipes/mgkit/meta.yaml index 76ba8088ddf2d..a3645fbd2bf88 100644 --- a/recipes/mgkit/meta.yaml +++ b/recipes/mgkit/meta.yaml @@ -9,7 +9,7 @@ source: sha256: d19b26b20ec628a8d208a28b7df3956ba17799d11ea0b1d1ced8a6c1bded1343 build: - number: 1 + number: 3 skip: True # [py<37 or py > 39] script: rm mgkit/utils/*.c && USE_CYTHON=True {{ PYTHON }} -m pip install . --no-deps -vv entry_points: @@ -27,6 +27,8 @@ build: - sampling-utils = mgkit.workflow.sampling_utils:main - snp_parser = mgkit.workflow.snp_parser:main - taxon-utils = mgkit.workflow.taxon_utils:main + run_exports: + - {{ pin_subpackage('mgkit', max_pin="x") }} requirements: build: @@ -89,9 +91,12 @@ about: home: https://github.com/frubino/mgkit summary: Metagenomics Framework license: GPL-2.0-or-later + licence_file: LICENSE license_family: GPL2 extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:mgkit - doi:10.6084/m9.figshare.1588384 diff --git a/recipes/mgnify-pipelines-toolkit/meta.yaml b/recipes/mgnify-pipelines-toolkit/meta.yaml new file mode 100644 index 0000000000000..eae9441d91acc --- /dev/null +++ b/recipes/mgnify-pipelines-toolkit/meta.yaml @@ -0,0 +1,75 @@ +{% set name = "mgnify-pipelines-toolkit" %} +{% set version = "0.1.7" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/mgnify_pipelines_toolkit-{{ version }}.tar.gz + sha256: 506eb725d226ff33ceaf8001502a0ab97bcaf41ac84ce011f98a2ccb892389ed + +build: + entry_points: + - get_subunits = mgnify_pipelines_toolkit.analysis.shared.get_subunits:main + - get_subunits_coords = mgnify_pipelines_toolkit.analysis.shared.get_subunits_coords:main + - mapseq2biom = mgnify_pipelines_toolkit.analysis.shared.mapseq2biom:main + - are_there_primers = mgnify_pipelines_toolkit.analysis.amplicon.are_there_primers:main + - assess_inflection_point_mcp = mgnify_pipelines_toolkit.analysis.amplicon.assess_inflection_point_mcp:main + - assess_mcp_proportions = mgnify_pipelines_toolkit.analysis.amplicon.assess_mcp_proportions:main + - classify_var_regions = mgnify_pipelines_toolkit.analysis.amplicon.classify_var_regions:main + - find_mcp_inflection_points = mgnify_pipelines_toolkit.analysis.amplicon.find_mcp_inflection_points:main + - make_asv_count_table = mgnify_pipelines_toolkit.analysis.amplicon.make_asv_count_table:main + - remove_ambiguous_reads = mgnify_pipelines_toolkit.analysis.amplicon.remove_ambiguous_reads:main + - rev_comp_se_primers = mgnify_pipelines_toolkit.analysis.amplicon.rev_comp_se_primers:main + - standard_primer_matching = mgnify_pipelines_toolkit.analysis.amplicon.standard_primer_matching:main + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('mgnify-pipelines-toolkit', max_pin="x.x") }} + +requirements: + host: + - python >=3.9 + - setuptools >=61.0 + - pip + run: + - python >=3.9 + - biopython ==1.82 + - numpy ==1.26.0 + - pandas ==2.0.2 + - regex ==2023.12.25 + +test: + imports: + - mgnify_pipelines_toolkit + commands: + - pip check + - get_subunits --help + - get_subunits_coords --help + - mapseq2biom --help + - are_there_primers --help + - assess_inflection_point_mcp --help + - assess_mcp_proportions --help + - classify_var_regions --help + - find_mcp_inflection_points --help + - make_asv_count_table --help + - remove_ambiguous_reads --help + - rev_comp_se_primers --help + - standard_primer_matching --help + requires: + - pip + +about: + home: https://github.com/EBI-Metagenomics/mgnify-pipelines-toolkit + summary: Collection of scripts and tools for MGnify pipelines + description: | + This package contains a collection of scripts used by MGnify + pipelines + license: Apache-2.0 + license_file: LICENSE + +extra: + recipe-maintainers: + - chrisAta diff --git a/recipes/mgs-canopy/meta.yaml b/recipes/mgs-canopy/meta.yaml index 29a1da33a3af3..065bce4da6dbd 100644 --- a/recipes/mgs-canopy/meta.yaml +++ b/recipes/mgs-canopy/meta.yaml @@ -12,7 +12,7 @@ source: md5: {{ md5 }} build: - number: 7 + number: 8 skip: True # [osx] requirements: diff --git a/recipes/mhcflurry/meta.yaml b/recipes/mhcflurry/meta.yaml index b69f1d8f20efe..768e19e92eb7b 100644 --- a/recipes/mhcflurry/meta.yaml +++ b/recipes/mhcflurry/meta.yaml @@ -1,5 +1,5 @@ {% set name = "mhcflurry" %} -{% set version = "2.1.0" %} +{% set version = "2.1.4" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: a4129922db5b662e248e066e73e12be74c3d08c7c0a9f1de4776b7e5aafa42bb + sha256: 5f8a4e743bf6e5a17ad4e6fe79be7755b45a5005d048fbf3d8eb90762236c68e build: number: 0 diff --git a/recipes/micall-lite/meta.yaml b/recipes/micall-lite/meta.yaml index ef60d65e77de2..217ffee25e745 100644 --- a/recipes/micall-lite/meta.yaml +++ b/recipes/micall-lite/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 4 + number: 5 script: {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv skip: True # [py2k or osx] diff --git a/recipes/micom/meta.yaml b/recipes/micom/meta.yaml index 2e740c6af928e..b3ba642623eec 100644 --- a/recipes/micom/meta.yaml +++ b/recipes/micom/meta.yaml @@ -1,5 +1,5 @@ {% set name = "micom" %} -{% set version = "0.33.0" %} +{% set version = "0.37.0" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 489d15dd2b7aa14db6c2c2887069f3ef5588df95c06a2b397bd81bb8b8970604 + sha256: 26539e8243f6b2366f266f8d4af78a3312d70d815fb1a8f00a5cc64be86d5b82 build: number: 0 diff --git a/recipes/microhapulator/meta.yaml b/recipes/microhapulator/meta.yaml index c5727c42c8c84..7b5cff8ef3082 100644 --- a/recipes/microhapulator/meta.yaml +++ b/recipes/microhapulator/meta.yaml @@ -1,56 +1,67 @@ -{% set version = "0.7.2" %} -{% set sha256 = "7fff263a4d469d00695d0a314d9a85b8427b454d6b4dd783f930708a3a796f02" %} +{% set name = "microhapulator" %} +{% set version = "0.8.4" %} +{% set sha256 = "215ddd41c8506a20c076bcf765e49646fd9d759a6f511495cc697e7fc2ad51cb" %} package: - name: microhapulator - version: '{{version}}' + name: {{ name }} + version: {{ version }} source: url: https://github.com/bioforensics/MicroHapulator/archive/{{ version }}.tar.gz - sha256: '{{sha256}}' + sha256: {{ sha256 }} build: noarch: python entry_points: - mhpl8r = microhapulator.cli:main - script: python -m pip install --no-deps --ignore-installed . + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir number: 0 + run_exports: + - {{ pin_subpackage('microhapulator', max_pin="x.x") }} requirements: host: - - python >=3 + - python <3.12 - pip run: - - biopython ==1.78 - - bwa >=0.7.17 + - biopython - fastqc >=0.11.9 - flash >=1.2 - happer >=0.1 - - insilicoseq >=1.5.4 - - jsonschema >=3.1 + - insilicoseq >=1.5.4,<2.0 + - jsonschema >=4.0 - matplotlib-base >=3.0 - - numpy >=1.15.4 - - pandas >=1.0 - - python >=3 + - microhapdb >=0.10.1 + - minimap2 >=2.25 + - multiqc >=1.14 + - nbformat >=5.0,<5.6 + - numpy >=1.19 + - pandas >1.0 + - pulp ==2.3.1 + - python <3.12 - pysam >=0.15.2 - scipy >=1.7 - samtools >=1.12 - - snakemake >=6.0 + - seaborn-base >=0.13.2 + - snakemake-minimal >=7.15.2,<8.0 - termgraph >=0.5 - tqdm >=4.0 test: imports: - microhapulator + commands: + - mhpl8r --help requires: - pytest >=3.10 - pytest-cov >=2.6 about: home: https://github.com/bioforensics/MicroHapulator/ - license: BSD License + license: BSD-3-Clause license_family: BSD - summary: Tools for empirical microhaplotype calling, forensic interpretation, and simulation. + license_file: LICENSE.txt + summary: "Tools for empirical microhaplotype calling, forensic interpretation, and simulation." dev_url: https://github.com/bioforensics/MicroHapulator/ extra: diff --git a/recipes/microview/meta.yaml b/recipes/microview/meta.yaml new file mode 100644 index 0000000000000..57cd612dff820 --- /dev/null +++ b/recipes/microview/meta.yaml @@ -0,0 +1,61 @@ +{% set name = "microview" %} +{% set version = "0.11.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/MicroView-{{ version }}.tar.gz + sha256: c6713e83ee1488ed7baec6828513ffda6d6efa44f15e61821cf62d23e5568149 + +build: + entry_points: + - microview = microview.cli:main + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + build: + - {{ compiler('c') }} + host: + - python >=3.8 + - pip + - cython + run: + - python >=3.8 + - scipy + - cython + - decorator + - scikit-bio + - pandas + - numpy + - plotly + - jinja2 + - rich + - rich-click + - click-option-group + - frictionless >=4.32.0,<5 + +test: + imports: + - microview + commands: + - pip check + - microview --help + requires: + - pip + +about: + home: https://github.com/jvfe/microview + summary: Generate reports from taxonomic classification data + license: BSD-3-Clause + license_file: LICENSE + +extra: + skip-lints: + - cython_must_be_in_host # Cython needs to be in run as well + recipe-maintainers: + - jvfe diff --git a/recipes/midsv/meta.yaml b/recipes/midsv/meta.yaml index 653a9df45db78..7193ae74b64af 100644 --- a/recipes/midsv/meta.yaml +++ b/recipes/midsv/meta.yaml @@ -1,5 +1,5 @@ {% set name = "midsv" %} -{% set version = "0.10.2" %} +{% set version = "0.11.0" %} package: name: {{ name|lower }} @@ -7,12 +7,14 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/midsv-{{ version }}.tar.gz - sha256: 5ead1213b3f34f3a4a676ddb5e88cf7bc63ae2aac1226afe735bc46a7602e559 + sha256: 713a164c4bce68f1caa72d50f7b7eef7a62b869bd65f2aebf8024d33ba6cc5b8 build: noarch: python script: {{ PYTHON }} -m pip install . -vv number: 0 + run_exports: + - {{ pin_subpackage('midsv', max_pin="x") }} requirements: host: diff --git a/recipes/mimsi/meta.yaml b/recipes/mimsi/meta.yaml index ff1db577f609a..afbe48b18ac7d 100755 --- a/recipes/mimsi/meta.yaml +++ b/recipes/mimsi/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.4.4" %} +{% set version = "0.4.5" %} package: @@ -7,10 +7,12 @@ package: source: url: https://github.com/mskcc/mimsi/archive/refs/tags/v{{ version }}.tar.gz - sha256: fcf866629615550f30ce63d065036370141a050ae5643c0bcd3751ae0f5696aa + sha256: 3bbca89b5592911c92f5e18c3d490f85914ccf64101b8dabb35c196668f6e3bd build: number: 0 + run_exports: + - {{ pin_subpackage('mimsi', max_pin='x.x') }} noarch: python script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir " diff --git a/recipes/mini3di/meta.yaml b/recipes/mini3di/meta.yaml new file mode 100644 index 0000000000000..06fc809f1eb9a --- /dev/null +++ b/recipes/mini3di/meta.yaml @@ -0,0 +1,40 @@ +{% set name = "mini3di" %} +{% set version = "0.2.1" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + sha256: dfc4a63aaba175b05e9cc1f260e1bfcd2832ff3235537146a334b6a2179f8a96 + +build: + noarch: python + number: 0 + script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vvv " + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + host: + - python + - pip + - setuptools + run: + - python + - numpy + +test: + imports: + - {{ name }} + +about: + home: https://github.com/althonos/mini3di + license: BSD-3-Clause + license_file: COPYING + summary: "A NumPy port of the foldseek code for encoding protein structures to 3di." + +extra: + recipe-maintainers: + - althonos diff --git a/recipes/miniasm/meta.yaml b/recipes/miniasm/meta.yaml index 2f319afb180cf..1d5f46060d2d0 100644 --- a/recipes/miniasm/meta.yaml +++ b/recipes/miniasm/meta.yaml @@ -5,7 +5,9 @@ package: version: {{ version }} build: - number: 2 + number: 3 + run_exports: + - {{ pin_subpackage('miniasm', max_pin='x.x') }} source: url: https://github.com/lh3/miniasm/archive/refs/tags/v0.3.tar.gz @@ -29,3 +31,7 @@ about: license: MIT license_file: LICENSE.txt summary: Ultrafast de novo assembly for long noisy reads (though having no consensus step) + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/minigraph/build.sh b/recipes/minigraph/build.sh index 5f145077a6afa..4391a7aaca22f 100644 --- a/recipes/minigraph/build.sh +++ b/recipes/minigraph/build.sh @@ -1,8 +1,11 @@ #!/bin/bash +set -xe + mkdir -p $PREFIX/bin -export CPATH=${PREFIX}/include +export C_INCLUDE_PATH="${PREFIX}/include" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" -make CC="${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" CXX="${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}" +make -j ${CPU_COUNT} CC="${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" CXX="${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}" cp minigraph $PREFIX/bin diff --git a/recipes/minigraph/meta.yaml b/recipes/minigraph/meta.yaml index 22b50fddd42fd..456963ae6b205 100644 --- a/recipes/minigraph/meta.yaml +++ b/recipes/minigraph/meta.yaml @@ -1,15 +1,20 @@ -{% set version = "0.20" %} +{% set name = "minigraph" %} +{% set version = "0.21" %} package: - name: minigraph + name: {{ name }} version: {{ version }} source: url: https://github.com/lh3/minigraph/archive/refs/tags/v{{ version }}.tar.gz - sha256: ef695e69d57bbc34478d7d3007e4153422ee2e3534e4f3fcbb8930cfaa5e1dc0 + sha256: 4272447393f0ae1e656376abe144de96cbafc777414d4c496f735dd4a6d3c06a + patches: + - minigraph-aarch64.patch # [aarch64 or arm64] build: - number: 2 + number: 1 + run_exports: + - {{ pin_subpackage('minigraph', max_pin="x.x") }} requirements: build: @@ -25,9 +30,14 @@ test: about: home: https://github.com/lh3/minigraph license: MIT + license_family: MIT license_file: LICENSE.txt summary: Proof-of-concept seq-to-graph mapper and graph generator + doc_url: https://lh3.github.io/minigraph/minigraph.html + dev_url: https://github.com/lh3/minigraph extra: + additional-platforms: + - linux-aarch64 identifiers: - doi:10.1186/s13059-020-02168-z diff --git a/recipes/minigraph/minigraph-aarch64.patch b/recipes/minigraph/minigraph-aarch64.patch new file mode 100644 index 0000000000000..8223b8cc34900 --- /dev/null +++ b/recipes/minigraph/minigraph-aarch64.patch @@ -0,0 +1,11 @@ +diff --git c/Makefile i/Makefile +index 4dd33e6..8c49614 100644 +--- c/Makefile ++++ i/Makefile +@@ -1,5 +1,5 @@ + CC= gcc +-CFLAGS= -g -Wall -Wc++-compat -std=c99 -msse4 -O3 ++CFLAGS= -g -Wall -Wc++-compat -std=c99 -O3 + CPPFLAGS= + INCLUDES= + OBJS= kalloc.o kthread.o algo.o sys.o gfa-base.o gfa-io.o gfa-aug.o gfa-bbl.o gfa-ed.o \ diff --git a/recipes/minimap2/build.sh b/recipes/minimap2/build.sh index 61715a5671d73..8cb728cd50339 100644 --- a/recipes/minimap2/build.sh +++ b/recipes/minimap2/build.sh @@ -1,11 +1,27 @@ #!/bin/bash -mkdir -p $PREFIX/bin $PREFIX/lib $PREFIX/include +set -xe -export CPATH=${PREFIX}/include +mkdir -p ${PREFIX}/bin ${PREFIX}/lib ${PREFIX}/include $PREFIX/share/man/man1 -make INCLUDES="-I$PREFIX/include" CFLAGS="-g -Wall -O2 -Wc++-compat -L$PREFIX/lib" minimap2 sdust -cp minimap2 misc/paftools.js $PREFIX/bin -cp sdust $PREFIX/bin -cp libminimap2.a $PREFIX/lib -cp *.h $PREFIX/include +case $(uname -m) in + aarch64) + ARCH_OPTS="aarch64=1" + ;; + arm64) + ARCH_OPTS="aarch64=1" + ;; + *) + ARCH_OPTS="" + ;; +esac + +make CFLAGS="${CFLAGS} -g -Wall -O3 -Wc++-compat -I${PREFIX}/include -L${PREFIX}/lib" \ + "${ARCH_OPTS}" -j"${CPU_COUNT}" minimap2 sdust + +chmod 755 minimap2 && chmod 755 sdust + +cp -rf minimap2 misc/paftools.js ${PREFIX}/bin +cp -rf sdust ${PREFIX}/bin +cp -rf libminimap2.a ${PREFIX}/lib +cp -rf *.h ${PREFIX}/include diff --git a/recipes/minimap2/meta.yaml b/recipes/minimap2/meta.yaml index ca802bfd9cb0c..bcfd16f66dfac 100644 --- a/recipes/minimap2/meta.yaml +++ b/recipes/minimap2/meta.yaml @@ -1,17 +1,20 @@ -{% set version = "2.26" %} +{% set name = "minimap2" %} +{% set version = "2.28" %} package: - name: minimap2 + name: {{ name }} version: {{ version }} source: - url: https://github.com/lh3/minimap2/archive/v{{ version }}.tar.gz - sha256: f4c8c3459c7b87e9de6cbed7de019b48d9337c2e46b87ba81b9f72d889420b3c + url: https://github.com/lh3/{{ name }}/archive/v{{ version }}.tar.gz + sha256: 5ea6683b4184b5c49f6dbaef2bc5b66155e405888a0790d1b21fd3c93e474278 + patches: + - override-makefile.patch build: - number: 2 + number: 3 run_exports: - - {{ pin_subpackage('minimap2', max_pin="x") }} + - {{ pin_subpackage(name, max_pin="x") }} requirements: build: @@ -21,7 +24,6 @@ requirements: - zlib run: - k8 - - zlib test: commands: @@ -32,7 +34,19 @@ test: - test -e $PREFIX/include/minimap.h about: - home: https://github.com/lh3/minimap2 + home: "https://github.com/lh3/minimap2" license: MIT - license_file: LICENSE.txt + license_family: MIT + license_file: "LICENSE.txt" summary: 'A versatile pairwise aligner for genomic and spliced nucleotide sequences.' + dev_url: "https://github.com/lh3/minimap2" + doc_url: "https://lh3.github.io/minimap2/minimap2.html" + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + identifiers: + - biotools:{{ name| lower }} + - usegalaxy-eu:{{ name| lower }} + - doi:10.1093/bioinformatics/bty191 diff --git a/recipes/minimap2/override-makefile.patch b/recipes/minimap2/override-makefile.patch new file mode 100644 index 0000000000000..154fb53273159 --- /dev/null +++ b/recipes/minimap2/override-makefile.patch @@ -0,0 +1,34 @@ +diff --git i/Makefile w/Makefile +index 17b13b6..f0767c8 100644 +--- i/Makefile ++++ w/Makefile +@@ -20,22 +20,22 @@ else # if sse2only is defined + endif + else # if arm_neon is defined + OBJS+=ksw2_extz2_neon.o ksw2_extd2_neon.o ksw2_exts2_neon.o +- INCLUDES+=-Isse2neon ++ override INCLUDES+=-Isse2neon + ifeq ($(aarch64),) #if aarch64 is not defined +- CFLAGS+=-D_FILE_OFFSET_BITS=64 -mfpu=neon -fsigned-char ++ override CFLAGS+=-D_FILE_OFFSET_BITS=64 -mfpu=neon -fsigned-char + else #if aarch64 is defined +- CFLAGS+=-D_FILE_OFFSET_BITS=64 -fsigned-char ++ override CFLAGS+=-D_FILE_OFFSET_BITS=64 -fsigned-char + endif + endif + + ifneq ($(asan),) +- CFLAGS+=-fsanitize=address +- LIBS+=-fsanitize=address -ldl ++ override CFLAGS+=-fsanitize=address ++ override LIBS+=-fsanitize=address -ldl + endif + + ifneq ($(tsan),) +- CFLAGS+=-fsanitize=thread +- LIBS+=-fsanitize=thread -ldl ++ override CFLAGS+=-fsanitize=thread ++ override LIBS+=-fsanitize=thread -ldl + endif + + .PHONY:all extra clean depend diff --git a/recipes/minimizers/meta.yaml b/recipes/minimizers/meta.yaml new file mode 100644 index 0000000000000..eaba48148df54 --- /dev/null +++ b/recipes/minimizers/meta.yaml @@ -0,0 +1,49 @@ +{% set name = "minimizers" %} +{% set version = "0.1.2" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + sha256: 41757d81ec6a2872f947ec568eb521bdd40170832bee21b748d48b1778f817bf + +build: + number: 0 + noarch: python + entry_points: + - minimizers=minimizers.minimizers:main + run_exports: + - {{ pin_subpackage('minimizers', max_pin="x.x") }} + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + +requirements: + host: + - pip + - python >=3.6 + - bio + run: + - biopython >=1.83 + - python >=3.6 + - bio + +test: + imports: + - minimizers + commands: + - minimizers --version + +about: + home: https://github.com/cumbof/minimizers + license: MIT + license_family: MIT + license_file: LICENSE + summary: "Minimizers extraction from fasta files." + description: | + A Python package for extracting minimizers from fasta files + dev_url: https://github.com/cumbof/minimizers + +extra: + recipe-maintainers: + - cumbof diff --git a/recipes/miniprot-boundary-scorer/build.sh b/recipes/miniprot-boundary-scorer/build.sh new file mode 100644 index 0000000000000..91d45589b3f93 --- /dev/null +++ b/recipes/miniprot-boundary-scorer/build.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +set -xe + +make -j ${CPU_COUNT} CC="${CXX}" LDFLAGS="-L${PREFIX}/lib" + +mkdir -p ${PREFIX}/bin +cp miniprot_boundary_scorer ${PREFIX}/bin \ No newline at end of file diff --git a/recipes/miniprot-boundary-scorer/meta.yaml b/recipes/miniprot-boundary-scorer/meta.yaml new file mode 100644 index 0000000000000..cb7ef5acd15e7 --- /dev/null +++ b/recipes/miniprot-boundary-scorer/meta.yaml @@ -0,0 +1,36 @@ +{% set name = "miniprot-boundary-scorer" %} +{% set version = "1.0.0" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/tomasbruna/miniprot-boundary-scorer/releases/download/v{{ version }}/{{ name }}.tgz + sha256: 9a5f3babd6db07b673589f2bb8de9436fd9a9c844483ce893d27de0d79ed79e8 + +build: + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + + +requirements: + build: + - make + - {{ compiler('cxx') }} + +test: + commands: + - miniprot_boundary_scorer 2>&1 | grep "^Usage:" > /dev/null + +about: + home: https://github.com/tomasbruna/miniprot-boundary-scorer + license: Artistic-1.0 + summary: Miniprot boundary scorer parses introns, starts, stops and exons from miniprot's alignment output and scores them + dev_url: https://github.com/tomasbruna/miniprot-boundary-scorer + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/miniprot/meta.yaml b/recipes/miniprot/meta.yaml index f8142a26a402f..d3ee72d13b2c3 100644 --- a/recipes/miniprot/meta.yaml +++ b/recipes/miniprot/meta.yaml @@ -1,6 +1,6 @@ -{% set version = "0.12" %} +{% set version = "0.13" %} {% set name = "miniprot" %} -{% set sha256 = "869df52d8a3d350e0a5ba6eb0d1685e78bb7087ace9870d196f5fb4761c3a692" %} +{% set sha256 = "be12d98d998beb78e4e06350c03d2f188bcdf3245d6bcaf43e2cc80785a617a4" %} package: name: "{{ name }}" @@ -8,6 +8,8 @@ package: build: number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} source: url: "https://github.com/lh3/miniprot/archive/refs/tags/v{{ version }}.tar.gz" diff --git a/recipes/mintie/meta.yaml b/recipes/mintie/meta.yaml index 823b8c0e7b146..23db67ac42422 100644 --- a/recipes/mintie/meta.yaml +++ b/recipes/mintie/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.4.2" %} +{% set version = "0.4.3" %} package: name: mintie @@ -6,10 +6,12 @@ package: source: url: https://github.com/Oshlack/MINTIE/archive/refs/tags/v{{ version }}.tar.gz - sha256: 3de32e6b6a365f9b9e3469b3c8bfb5d3514c718386f0c32f49cc811547fef409 + sha256: 93dbdc1c6328ad7e768d3031eaa9378102b861f96c97b7b11f0c5199f8c50cec build: number: 0 + run_exports: + - {{ pin_subpackage('mintie', max_pin="x.x") }} noarch: generic requirements: @@ -44,7 +46,7 @@ requirements: test: commands: - mintie -h - - cd /tmp && bpipe --help + # - bpipe --help about: home: https://github.com/Oshlack/MINTIE diff --git a/recipes/minute/meta.yaml b/recipes/minute/meta.yaml index ea573baaaef3b..8ce2b630e521a 100644 --- a/recipes/minute/meta.yaml +++ b/recipes/minute/meta.yaml @@ -1,12 +1,12 @@ -{% set version = "0.4.0" %} +{% set version = "0.9.0" %} package: name: minute version: {{ version }} source: - url: https://github.com/NBISweden/minute/archive/v{{ version }}.tar.gz - sha256: 38156262a2d105774c93f2732ded5af866965a57552969540f29cfe5d03ba62a + url: https://github.com/elsasserlab/minute/archive/refs/tags/v{{ version }}.tar.gz + sha256: bac0252f635ff015d80abd35375407ccf48b12babd947f900889d6475f2cac13 build: number: 0 @@ -18,22 +18,22 @@ build: requirements: host: - pip - - python >=3.7 + - python >=3.8 run: - - python >=3.7 - - importlib-metadata # [py==37] + - python >=3.8 - ruamel.yaml - snakemake-minimal >=7.22.0 - samtools >=1.13 - cutadapt >=3.7 - - bowtie2 >=2.4.4 + - bowtie2 >=2.5.3 + - strobealign >=0.13.0 - je-suite >=2.0.RC - igvtools >=2.5.3 - deeptools >=3.5.0 - picard >=2.26.0 - fastqc >=0.11.9 - bedtools >=2.30.0 - - multiqc =1.13 + - multiqc =1.17 - xopen >=1.2.0 - sra-tools >=2.11.0 - r-base >=4.0.0 @@ -48,7 +48,7 @@ test: - minute --version about: - home: https://github.com/NBISweden/minute/ + home: https://github.com/elsasserlab/minute/ license: MIT summary: MINUTE-ChIP data analysis workflow diff --git a/recipes/mira-moods/build_failure.osx-64.yaml b/recipes/mira-moods/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..1975dce4291ce --- /dev/null +++ b/recipes/mira-moods/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: b57dc98d2f651f1b95d8803759b80ca2c83183448f724cf4c4222a785f97d5dd # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mira-moods-1.9.4.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2711, in build + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + newly_built_packages = bundlers[pkg_type](output_d, m, env, stats) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 1850, in bundle_conda + files = post_process_files(metadata, initial_files) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 1664, in post_process_files + post_build(m, new_files, build_python=python) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/post.py", line 1727, in post_build + post_process_shared_lib(m, f, prefix_files, host_prefix) + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mira-moods-1.9.4.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/post.py", line 1603, in post_process_shared_lib + mk_relative_osx(path, host_prefix, m, files=files, rpaths=rpaths) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/post.py", line 470, in mk_relative_osx + names = macho.otool(path, prefix) + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/os_utils/macho.py", line 221, in otool + lines = check_output([otool, "-l", path], stderr=STDOUT).decode("utf-8") + File "/opt/mambaforge/envs/bioconda/lib/python3.10/subprocess.py", line 421, in check_output + return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, + File "/opt/mambaforge/envs/bioconda/lib/python3.10/subprocess.py", line 526, in run + raise CalledProcessError(retcode, process.args, + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mira-moods-1.9.4.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + Using pip 24.0 from $PREFIX/lib/python3.12/site-packages/pip (python 3.12) + subprocess.CalledProcessError: Command '['/opt/mambaforge/envs/bioconda/conda-bld/mira-moods_1717611232909/_build_env/bin/llvm-otool', '-l', '/opt/mambaforge/envs/bioconda/conda-bld/mira-moods_1717611232909/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/python3.12/site-packages/MOODS/_tools.cpython-312-darwin.so']' died with . + Non-user install because user site-packages disabled + Ignoring indexes: https://pypi.org/simple + Created temporary directory: /private/tmp/pip-build-tracker-cz6pu1q3 + Initialized build tracking at /private/tmp/pip-build-tracker-cz6pu1q3 + Created build tracker: /private/tmp/pip-build-tracker-cz6pu1q3 + Entered build tracker: /private/tmp/pip-build-tracker-cz6pu1q3 + Created temporary directory: /private/tmp/pip-install-alwg1khm + Created temporary directory: /private/tmp/pip-ephem-wheel-cache-tfvawc9t + Processing $SRC_DIR + Added file://$SRC_DIR to build tracker '/private/tmp/pip-build-tracker-cz6pu1q3' + Running setup.py (path:$SRC_DIR/setup.py) egg_info for package from file://$SRC_DIR + Created temporary directory: /private/tmp/pip-pip-egg-info-_04ai9g1 + Preparing metadata (setup.py): started + Preparing metadata (setup.py): finished with status 'done' + Source in $SRC_DIR has version 1.9.4.2, which satisfies requirement mira-moods==1.9.4.2 from file://$SRC_DIR + Removed mira-moods==1.9.4.2 from file://$SRC_DIR from build tracker '/private/tmp/pip-build-tracker-cz6pu1q3' + Created temporary directory: /private/tmp/pip-unpack-y11ehv9b + Building wheels for collected packages: mira-moods + Created temporary directory: /private/tmp/pip-wheel-k72_4yxq + Building wheel for mira-moods (setup.py): started + Destination directory: /private/tmp/pip-wheel-k72_4yxq + Building wheel for mira-moods (setup.py): finished with status 'done' + Created wheel for mira-moods: filename=mira_moods-1.9.4.2-cp312-cp312-macosx_10_9_x86_64.whl size=589618 sha256=1772a60ee896c5b0bf889724d91b8f0c28bcf945f0616fccd849478dd684143f + Stored in directory: /private/tmp/pip-ephem-wheel-cache-tfvawc9t/wheels/a4/ff/16/f51d120cb8b53c8435cb7c2553b2f3fc693287daaceeb58516 + Successfully built mira-moods + Installing collected packages: mira-moods + + Successfully installed mira-moods-1.9.4.2 + Removed build tracker: '/private/tmp/pip-build-tracker-cz6pu1q3' + + Resource usage statistics from building mira-moods: + Process count: 5 + CPU time: Sys=0:00:03.2, User=0:00:38.8 + Memory: 257.0M + Disk usage: 15.6K + Time elapsed: 0:01:05.9 + + + compiling .pyc files... + number of files: 23 +# Last 100 lines of the build log. diff --git a/recipes/mira-moods/meta.yaml b/recipes/mira-moods/meta.yaml index d3c573628ff38..305aac0447f80 100644 --- a/recipes/mira-moods/meta.yaml +++ b/recipes/mira-moods/meta.yaml @@ -11,7 +11,7 @@ source: build: script: {{ PYTHON }} -m pip install . -vv - number: 0 + number: 1 run_exports: - {{ pin_subpackage(name, max_pin="x") }} diff --git a/recipes/mira-multiome/meta.yaml b/recipes/mira-multiome/meta.yaml index d897c3b0eddf6..98ec59647c8a5 100644 --- a/recipes/mira-multiome/meta.yaml +++ b/recipes/mira-multiome/meta.yaml @@ -1,5 +1,5 @@ {% set name = "mira-multiome" %} -{% set version = "2.1.0" %} +{% set version = "2.1.1" %} package: name: {{ name|lower }} @@ -7,42 +7,39 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/mira-multiome-{{ version }}.tar.gz - sha256: c28a8fe8388f35c020815e27ad4d046a796680c4e43400decd53952e0502159d + sha256: f981bc40542097c3892cb02efca0c25766dfa0bbafcbd4e94ea18b3e5e27157b build: noarch: python - script: {{ PYTHON }} -m pip install . -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: host: - - python >=3.7 + - python >=3.7,<3.12 - wheel - pip - - setuptools >=35.0 - setuptools_scm run: - - python >=3.7 - - pytorch <2,>=1.8.0 - - pyro-ppl <2,>=1.5.2 - - networkx <3,>=2.3 - - optuna <3,>=2.8 - - anndata <1,>=0.7.6 + - python >=3.7,<3.12 + - pytorch >=1.8.0,<2 + - pyro-ppl >=1.5.2,<2 + - networkx >=2.3,<3 + - optuna >=2.8,<3 + - anndata >=0.7.6,<1 - moods >=1.9.4.1 - - pyfaidx <1,>=0.5 - - matplotlib-base <4,>=3.4 + - pyfaidx >=0.5,<1 + - matplotlib-base >=3.4,<4 - lisa2 >=2.3.0 - - requests <3,>=2 + - requests >=2,<3 - tqdm - tensorboard test: imports: - mira - commands: - - pip check - requires: - - pip about: home: https://mira-multiome.readthedocs.io/en/latest/ diff --git a/recipes/mirmachine/meta.yaml b/recipes/mirmachine/meta.yaml index 0d9b2844285c3..aeb3d30ca4d51 100644 --- a/recipes/mirmachine/meta.yaml +++ b/recipes/mirmachine/meta.yaml @@ -1,5 +1,5 @@ {% set name = "MirMachine" %} -{% set version = "0.2.12" %} +{% set version = "0.2.13" %} package: name: "{{ name|lower }}" @@ -7,12 +7,14 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 5e55e5d4358d44e5f59f610476f1420a565c1bb916d1de1323d984d02313232c + sha256: 0a2d7d466a391b07a358ee543c34814974f8273cd42ce37f5ccb757169649411 build: noarch: python number: 0 script: "{{ PYTHON }} -m pip install . -vv" + run_exports: + - {{ pin_compatible("MirMachine", max_pin="x.x") }} requirements: host: diff --git a/recipes/mirtop/meta.yaml b/recipes/mirtop/meta.yaml index 560bde94eae09..327cbfd86b4c0 100644 --- a/recipes/mirtop/meta.yaml +++ b/recipes/mirtop/meta.yaml @@ -1,4 +1,4 @@ -{% set version="0.4.25" %} +{% set version = "0.4.28" %} package: name: mirtop @@ -6,24 +6,21 @@ package: source: url: https://github.com/miRTop/mirtop/archive/v{{ version }}.tar.gz - sha256: 309377c432bf3d45c24659d4a9d2cd6ad61b928122bbc1e392e921b29bef3282 + sha256: 1937ee0e90dd8f00071ebd8f4449709367396bdeb8236dc831122141717438d6 build: - script: $PYTHON setup.py install --single-version-externally-managed --record=record.txt + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir number: 0 noarch: python entry_points: - mirtop=mirtop.command_line:main + run_exports: + - {{ pin_subpackage('mirtop', max_pin="x.x") }} requirements: host: - python - - setuptools - - pysam - - pybedtools - - pandas - - biopython - + - pip run: - python - pysam @@ -43,10 +40,13 @@ test: - mirtop --help about: - home: http://github.com/mirtop/mirtop - license: MIT License + home: "https://github.com/mirtop/mirtop" + license: MIT license_family: MIT - summary: 'Small RNA-seq annotation' + license_file: LICENSE + summary: 'Small RNA-seq annotation.' + dev_url: "https://github.com/mirtop/mirtop" + doc_url: "https://mirtop.readthedocs.io/en/latest" extra: identifiers: diff --git a/recipes/mitgard/meta.yaml b/recipes/mitgard/meta.yaml index 2f83790b1ea71..7c3341012ee75 100644 --- a/recipes/mitgard/meta.yaml +++ b/recipes/mitgard/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.0" %} +{% set version = "1.1" %} package: name: mitgard @@ -6,32 +6,36 @@ package: source: url: https://github.com/pedronachtigall/MITGARD/archive/refs/tags/v{{ version }}.tar.gz - sha256: 97bf3299242c573e744ded016f70f7e0d3a07c3f4b62ce88d084b9a2c3a9dabd + sha256: f00bf3d7795e6d320416cb1fb856d8dee936d95055f77b19ac74e1d42e88ed5f build: noarch: generic - number: 1 + number: 0 + run_exports: + - {{ pin_subpackage('mitgard', max_pin="x") }} requirements: - host: - - python>=3.6 - run: - - samtools=1.9 - - bowtie2=2.3 - - minimap2=2.17 - - trinity=2.8.5 - - spades=3.13.1 - - python>=3.6 - - biopython=1.69 + - samtools + - bowtie2 + - minimap2 + - trinity =2.8.5 + - spades =3.13.1 + - python >=3.6 + - biopython + - hifiasm + - canu + - blast test: commands: - "MITGARD.py -h" + - "MITGARD-LR.py -h" about: home: https://github.com/pedronachtigall/MITGARD - license: GPLv3 + license: GPL-3.0-or-later + license_family: GPL3 license_file: LICENSE.txt summary: "Mitochondrial Genome Assembly from RNA-seq Data." doc_url: https://github.com/pedronachtigall/MITGARD diff --git a/recipes/mitofinder/build.sh b/recipes/mitofinder/build.sh index afce669dfc433..4d994a1a4c6d3 100644 --- a/recipes/mitofinder/build.sh +++ b/recipes/mitofinder/build.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/bin/bash ./install.sh diff --git a/recipes/mitofinder/meta.yaml b/recipes/mitofinder/meta.yaml index d7df107b87e67..fed796d0e41aa 100644 --- a/recipes/mitofinder/meta.yaml +++ b/recipes/mitofinder/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.4.1" %} +{% set version = "1.4.2" %} package: name: mitofinder @@ -6,15 +6,21 @@ package: source: url: https://github.com/RemiAllio/MitoFinder/archive/v{{ version }}.tar.gz - sha256: c80a0108c64813dce8c3f653958ed5d6bddc28a0c801fe4d477a173c3a58fe45 + sha256: 2d6d3925fb014777df97f272134143cc518944ae05d000a44ada2862d46ec95a build: - number: 1 - skip: true # [not py2k] + number: 0 + skip: True # [not py2k] + run_exports: + - {{ pin_subpackage('mitofinder', max_pin="x") }} requirements: build: - {{ compiler('c') }} + - make + - autoconf + - automake + - libtool host: - python run: @@ -35,5 +41,7 @@ test: about: home: https://github.com/RemiAllio/MitoFinder license: MIT + license_family: MIT license_file: License/LICENSE summary: Mitofinder is a pipeline to assemble mitochondrial genomes and annotate mitochondrial genes from trimmed read sequencing data. + dev_url: https://github.com/RemiAllio/MitoFinder diff --git a/recipes/mitos/meta.yaml b/recipes/mitos/meta.yaml index 03969c94c83a3..666d07b5d40bf 100644 --- a/recipes/mitos/meta.yaml +++ b/recipes/mitos/meta.yaml @@ -1,5 +1,5 @@ {% set name = "mitos" %} -{% set version = "2.1.3" %} +{% set version = "2.1.9" %} package: name: "{{ name|lower }}" @@ -7,34 +7,36 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 0a5bee0882a957457426baaa36655d968fbd36523e3fb06d96e2401f9f9bd285 + sha256: 88fc8980c815ae8497518ee7ff58ff69e51b1a35c1efe2ae9b0925b7c4f364f5 build: number: 0 script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " noarch: python + run_exports: + - {{ pin_subpackage('mitos', max_pin="x.x") }} requirements: host: - pip - python >=3 run: - - biopython <1.68 + - biopython <1.82 - python >=3 - - blast =2.9 + - blast >=2.9 - hmmer =3.2 - - infernal =1.1 - - viennarna <2 - - r-base >=3 + - infernal >=1.1.5 + - viennarna + - r-base - r-ggplot2 - r-reshape2 - openjdk >8 - # biopython -> reportlab -> pillow + - reportlab # - does not work with newest libtiff # - force to not install it from defaults # xref https://github.com/conda-forge/pillow-feedstock/issues/135 - conda-forge::pillow - - conda-forge::libtiff <4.5 + - conda-forge::libtiff test: imports: @@ -59,6 +61,8 @@ test: - mitos.webserver commands: - runmitos.py -h + - 'R -e "library(''reshape2'')"' + - 'R -e "library(''ggplot2'')"' about: home: http://mitos.bioinf.uni-leipzig.de diff --git a/recipes/mitos/mitos1/meta.yaml b/recipes/mitos/mitos1/meta.yaml index 8fb993e5a0e14..1c0ab5570f7fa 100644 --- a/recipes/mitos/mitos1/meta.yaml +++ b/recipes/mitos/mitos1/meta.yaml @@ -1,5 +1,5 @@ {% set name = "mitos" %} -{% set version = "1.1.1" %} +{% set version = "1.1.7" %} package: name: "{{ name|lower }}" @@ -7,32 +7,34 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: be603dd526d7123e3652e47aecda010e7d3ab7d6af93a9c138f965ca4cf44005 + sha256: 53ad3d1c8fefa1ec8de176905c6f953976a020391d86aa84600ef7244f6ec1ef build: - number: 1 + number: 0 script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " noarch: python + run_exports: + - {{ pin_subpackage('mitos', max_pin="x.x") }} requirements: host: - pip - python >=3 run: - - biopython <1.68 + - biopython <1.82 - python >=3 - blast-legacy =2.2 - infernal =1.0 - - viennarna <2 - - r-base >=4 + - viennarna - r-ggplot2 + - r-reshape2 - openjdk >8 - # biopython -> reportlab -> pillow + - reportlab # - does not work with newest libtiff # - force to not install it from defaults # xref https://github.com/conda-forge/pillow-feedstock/issues/135 - conda-forge::pillow - - conda-forge::libtiff <4.5 + - conda-forge::libtiff test: imports: @@ -58,6 +60,8 @@ test: - mitos.webserver commands: - runmitos.py -h + - 'R -e "library(''reshape2'')"' + - 'R -e "library(''ggplot2'')"' about: home: http://mitos.bioinf.uni-leipzig.de diff --git a/recipes/mkdesigner/meta.yaml b/recipes/mkdesigner/meta.yaml index 45a3fb5756df4..7c89662a1d4a4 100644 --- a/recipes/mkdesigner/meta.yaml +++ b/recipes/mkdesigner/meta.yaml @@ -1,5 +1,5 @@ {% set name = "mkdesigner" %} -{% set version = "0.3.1" %} +{% set version = "0.4.4" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/mkdesigner-{{ version }}.tar.gz - sha256: db3adaf00bbf6cb906c56ecee29ee233445255c7c7759ae42bd1f0e8262bd7f8 + sha256: 29513140681b1f667764081bf981c1a548be3cf877bab4ffe551df96b1efbd9d build: entry_points: @@ -15,7 +15,7 @@ build: - mkprimer = mkdesigner.mkprimer:main - mkselect = mkdesigner.mkselect:main noarch: python - script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv number: 0 run_exports: - {{ pin_subpackage('mkdesigner', max_pin="x") }} @@ -27,12 +27,12 @@ requirements: run: - python >=3.8,<4.0 - pandas >=2.0.2,<3.0.0 - - samtools >=1.6,<2.0 - - bcftools >=1.5,<2.0 - blast >=2.14.0,<3.0.0 - gatk4 >=4.4.0.0,<5.0.0.0 - - picard >=2.18.29,<3.0.0 - - r-base >=4.2.3,<5.0.0 + - picard-slim >=2.18.29,<3.0.0 + - primer3 >=2.6.1,<3.0.0 + - samtools >=1.6,<2.0 + - bcftools >=1.5,<2.0 - matplotlib-base test: diff --git a/recipes/mmlong2-lite/build.sh b/recipes/mmlong2-lite/build.sh new file mode 100644 index 0000000000000..5153d911606e1 --- /dev/null +++ b/recipes/mmlong2-lite/build.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +mkdir -p $PREFIX/bin/ +cp -r src/* $PREFIX/bin +chmod +x $PREFIX/bin/mmlong2-lite diff --git a/recipes/mmlong2-lite/meta.yaml b/recipes/mmlong2-lite/meta.yaml new file mode 100644 index 0000000000000..18eef4a20eef3 --- /dev/null +++ b/recipes/mmlong2-lite/meta.yaml @@ -0,0 +1,42 @@ +{% set name = "mmlong2-lite" %} +{% set version = "1.1.0" %} +{% set sha256 = "66cc1063df513697cafb524698e4125a5cffa2e63f80c209d10ee3e041049601" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/Serka-M/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage('mmlong2-lite', max_pin="x.x") }} + +requirements: + run: + - snakemake 8.2.3 + - singularity 3.8.6 + - zenodo_get 1.6.1 + - pv 1.6.6 + - pigz 2.6 + - tar 1.34 + +test: + commands: + - which mmlong2-lite + +about: + home: "https://github.com/Serka-M/mmlong2-lite" + license: GPL-3.0-only + license_file: LICENSE + summary: "Lightweight workflow for microbial genome recovery using either Nanopore or PacBio HiFi reads" + +extra: + identifiers: + - doi:10.5281/zenodo.11499494 + recipe-maintainers: + - Mantas Sereika diff --git a/recipes/mmlong2/build.sh b/recipes/mmlong2/build.sh new file mode 100644 index 0000000000000..59ac76337b163 --- /dev/null +++ b/recipes/mmlong2/build.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +mkdir -p $PREFIX/bin/ +cp -r src/* $PREFIX/bin +chmod +x $PREFIX/bin/mmlong2 diff --git a/recipes/mmlong2/meta.yaml b/recipes/mmlong2/meta.yaml new file mode 100644 index 0000000000000..55885c1b83f51 --- /dev/null +++ b/recipes/mmlong2/meta.yaml @@ -0,0 +1,44 @@ +{% set name = "mmlong2" %} +{% set version = "1.1.0" %} +{% set sha256 = "61b851bc6957c96f0adf4dead82ba3eb035f1babb91e4225ce6d0d24f2c83344" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/Serka-M/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage('mmlong2', max_pin="x.x") }} + +requirements: + run: + - snakemake 8.2.3 + - singularity 3.8.6 + - ncbi-amrfinderplus + - zenodo_get + - pv + - pigz + - tar + - yq + +test: + commands: + - mmlong2 -h + +about: + home: "https://github.com/Serka-M/mmlong2" + license: GPL-3.0-only + license_file: LICENSE + summary: "An all-in-one genome-centric metagenomics workflow using long reads" + +extra: + identifiers: + - doi:10.5281/zenodo.11563692 + recipe-maintainers: + - Mantas Sereika diff --git a/recipes/mmseqs2-server/build.sh b/recipes/mmseqs2-server/build.sh new file mode 100644 index 0000000000000..b6487ad6ceae8 --- /dev/null +++ b/recipes/mmseqs2-server/build.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +cd backend +go build -o ./mmseqs-server +install -d "${PREFIX}/bin" +install mmseqs-server "${PREFIX}/bin/" diff --git a/recipes/mmseqs2-server/meta.yaml b/recipes/mmseqs2-server/meta.yaml new file mode 100644 index 0000000000000..561f0635f9b18 --- /dev/null +++ b/recipes/mmseqs2-server/meta.yaml @@ -0,0 +1,42 @@ +{% set version = "8-c4b9644" %} +{% set sha256 = "d0adad84518c80b8f47f9c50412540ce64ab17a801df678921130fa5ccfa9202" %} + +package: + name: mmseqs2-server + version: {{ version|replace("-", ".") }} + +build: + number: 1 + run_exports: + - {{ pin_subpackage('mmseqs2-server', max_pin=None) }} + +source: + url: https://github.com/soedinglab/mmseqs2-app/archive/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +requirements: + build: + - {{ compiler('go') }} + run: + - mmseqs2 + - foldseek + +test: + commands: + - which mmseqs-server + +about: + home: https://github.com/soedinglab/MMseqs2-App + license: GPLv3 + license_file: LICENSE + summary: "Server for MMseqs2, Foldseek and ColabFold" + +extra: + identifiers: + - doi:10.1093/bioinformatics/bty1057 + - biotools:mmseqs2 + recipe-maintainers: + - milot-mirdita + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/mmseqs2/meta.yaml b/recipes/mmseqs2/meta.yaml index e7ecac44899cc..c1859689b6d46 100644 --- a/recipes/mmseqs2/meta.yaml +++ b/recipes/mmseqs2/meta.yaml @@ -6,7 +6,7 @@ package: version: {{ version|replace("-", ".") }} build: - number: 0 + number: 3 run_exports: - {{ pin_subpackage('mmseqs2', max_pin=None) }} @@ -52,5 +52,8 @@ extra: - doi:10.1101/2020.11.27.401018 - biotools:mmseqs2 - biotools:linclust + recipe-maintainers: + - milot-mirdita additional-platforms: - linux-aarch64 + - osx-arm64 diff --git a/recipes/mnnpy/build_failure.linux-64.yaml b/recipes/mnnpy/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..effef0eb341c1 --- /dev/null +++ b/recipes/mnnpy/build_failure.linux-64.yaml @@ -0,0 +1,106 @@ +recipe_sha: 7b5d61c423e3b51cf255798ddd53120b59db7f9da6012b9b05632d2f99608a3b # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + [31mscipy [1.3.2|1.3.3|1.4.0|1.4.1][0m would require + [31mpython_abi * *_cp38[0m, which conflicts with any installable versions previously reported; + [31mscipy [1.4.1|1.5.0|1.5.1|1.5.2|1.5.3][0m would require + [31mpython_abi 3.6.* *_cp36m[0m, which conflicts with any installable versions previously reported; + [31mscipy [1.4.1|1.5.0|1.5.1|1.5.2|1.5.3][0m would require + [31mpython_abi 3.6 *_pypy36_pp73[0m, which conflicts with any installable versions previously reported; + [31mscipy [1.4.1|1.5.0|...|1.7.3][0m would require + [31mpython_abi 3.7.* *_cp37m[0m, which conflicts with any installable versions previously reported; + [31mscipy [1.4.1|1.5.0|...|1.8.1][0m would require + [31mpython_abi 3.8.* *_cp38[0m, which conflicts with any installable versions previously reported; + [31mscipy [1.5.2|1.5.3|...|1.8.1][0m would require + [31mpython_abi 3.9.* *_cp39[0m, which conflicts with any installable versions previously reported; + [31mscipy [1.6.0|1.6.1|...|1.7.3][0m would require + [31mpython_abi 3.7 *_pypy37_pp73[0m, which conflicts with any installable versions previously reported; + [31mscipy [1.7.2|1.7.3|1.8.0|1.8.1][0m would require + [31mpython_abi 3.10.* *_cp310[0m, which conflicts with any installable versions previously reported; + [31mscipy 1.8.1[0m would require + [31mpython_abi 3.8 *_pypy38_pp73[0m, which conflicts with any installable versions previously reported; + [31mscipy 1.8.1[0m would require + [31mpython_abi 3.9 *_pypy39_pp73[0m, which conflicts with any installable versions previously reported. + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2409, in build + create_build_envs(top_level_pkg, notest) + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2247, in create_build_envs + raise e + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2220, in create_build_envs + environ.get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("scipy==1.7.2=py310hea5193d_0"), MatchSpec("python_abi=3.10[build=*_cp310]")} + Encountered problems while solving: + - package scipy-1.7.2-py310hea5193d_0 requires python_abi 3.10.* *_cp310, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + [32mpython_abi 3.12.* *_cp312[0m is requested and can be installed; + [31mscipy <1.9.0 [0m is not installable because there are no viable options + [31mscipy [0.17.1|0.18.0|...|1.2.1][0m would require + [31mpython_abi * *_cp27mu[0m, which conflicts with any installable versions previously reported; + [31mscipy [0.17.1|0.18.0|0.18.1|0.19.1][0m would require + [31mpython_abi * *_cp34m[0m, which conflicts with any installable versions previously reported; + [31mscipy [0.17.1|0.18.0|...|1.1.0][0m would require + [31mpython_abi * *_cp35m[0m, which conflicts with any installable versions previously reported; + [31mscipy [0.18.1|0.19.0|...|1.4.1][0m would require + [31mpython_abi * *_cp36m[0m, which conflicts with any installable versions previously reported; + [31mscipy [1.1.0|1.2.0|...|1.4.1][0m would require + [31mpython_abi * *_cp37m[0m, which conflicts with any installable versions previously reported; + [31mscipy [1.3.2|1.3.3|1.4.0|1.4.1][0m would require + [31mpython_abi * *_cp38[0m, which conflicts with any installable versions previously reported; + [31mscipy [1.4.1|1.5.0|1.5.1|1.5.2|1.5.3][0m would require + [31mpython_abi 3.6.* *_cp36m[0m, which conflicts with any installable versions previously reported; + [31mscipy [1.4.1|1.5.0|1.5.1|1.5.2|1.5.3][0m would require + [31mpython_abi 3.6 *_pypy36_pp73[0m, which conflicts with any installable versions previously reported; + [31mscipy [1.4.1|1.5.0|...|1.7.3][0m would require + [31mpython_abi 3.7.* *_cp37m[0m, which conflicts with any installable versions previously reported; + [31mscipy [1.4.1|1.5.0|...|1.8.1][0m would require + [31mpython_abi 3.8.* *_cp38[0m, which conflicts with any installable versions previously reported; + [31mscipy [1.5.2|1.5.3|...|1.8.1][0m would require + [31mpython_abi 3.9.* *_cp39[0m, which conflicts with any installable versions previously reported; + [31mscipy [1.6.0|1.6.1|...|1.7.3][0m would require + [31mpython_abi 3.7 *_pypy37_pp73[0m, which conflicts with any installable versions previously reported; + [31mscipy [1.7.2|1.7.3|1.8.0|1.8.1][0m would require + [31mpython_abi 3.10.* *_cp310[0m, which conflicts with any installable versions previously reported; + [31mscipy 1.8.1[0m would require + [31mpython_abi 3.8 *_pypy38_pp73[0m, which conflicts with any installable versions previously reported; + [31mscipy 1.8.1[0m would require + [31mpython_abi 3.9 *_pypy39_pp73[0m, which conflicts with any installable versions previously reported. +# Last 100 lines of the build log. +category: |- + dependency issue diff --git a/recipes/mnnpy/build_failure.osx-64.yaml b/recipes/mnnpy/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..7df27a87870d8 --- /dev/null +++ b/recipes/mnnpy/build_failure.osx-64.yaml @@ -0,0 +1,106 @@ +recipe_sha: 7b5d61c423e3b51cf255798ddd53120b59db7f9da6012b9b05632d2f99608a3b # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + numpy >=1.22.3,<1.27 , which can be installed; + python_abi 3.9.* *_cp39, which can be installed; + scipy >=1.0 , which can be installed; + numba [0.59.0|0.59.1] would require + python_abi 3.12.* *_cp312, which can be installed; + python >=3.11,<3.12.0a0 is requested and can be installed; + python_abi 3.11.* *_cp311 is not installable because it conflicts with any installable versions previously reported; + scipy <1.9.0 is installable with the potential options + scipy [0.17.1|0.18.0|0.18.1|0.19.0|0.19.1] conflicts with any installable versions previously reported; + scipy [1.0.0|1.0.1|1.1.0|1.2.0|1.2.1] would require + python [2.7* |>=2.7,<2.8.0a0 ], which conflicts with any installable versions previously reported; + scipy [1.0.0|1.0.1|1.1.0] would require + python [3.5* |>=3.5,<3.6.0a0 ], which conflicts with any installable versions previously reported; + scipy [1.0.0|1.0.1] would require + python 3.6* , which conflicts with any installable versions previously reported; + scipy [1.1.0|1.2.0|...|1.4.1] would require + python >=3.6,<3.7.0a0 , which conflicts with any installable versions previously reported; + scipy [1.1.0|1.2.0|...|1.4.1] would require + python >=3.7,<3.8.0a0 , which conflicts with any installable versions previously reported; + scipy [1.3.2|1.3.3|1.4.0|1.4.1] would require + python >=3.8,<3.9.0a0 , which conflicts with any installable versions previously reported; + scipy [1.4.1|1.5.0|1.5.1|1.5.2|1.5.3] would require + python_abi 3.6.* *_cp36m, which can be installed; + scipy [1.4.1|1.5.0|1.5.1|1.5.2|1.5.3] would require + python_abi 3.6 *_pypy36_pp73, which can be installed; + scipy [1.4.1|1.5.0|...|1.7.3] would require + python_abi 3.7.* *_cp37m, which can be installed; + scipy [1.4.1|1.5.0|...|1.8.1] would require + python_abi 3.8.* *_cp38, which can be installed; + scipy [1.5.2|1.5.3|...|1.8.1] would require + python_abi 3.9.* *_cp39, which can be installed; + scipy [1.6.0|1.6.1|...|1.7.3] would require + python_abi 3.7 *_pypy37_pp73, which can be installed; + scipy [1.7.2|1.7.3|1.8.0|1.8.1] would require + python_abi 3.10.* *_cp310, which can be installed; + scipy 1.7.3 would require + numpy [>=1.21.6,<1.23 |>=1.21.6,<2.0a0 ] with the potential options + numpy 1.23.4, which can be installed; + numpy [1.23.4|1.23.5|...|1.24.4], which can be installed (as previously explained); + numpy [1.23.5|1.24.0|...|1.24.4], which can be installed (as previously explained); + numpy [1.23.5|1.24.0|...|1.24.4], which can be installed (as previously explained); + numpy [1.23.5|1.24.0|...|1.24.4], which can be installed (as previously explained); + numpy [1.23.5|1.24.0|...|1.24.4], which can be installed (as previously explained); + numpy [1.23.5|1.24.0|...|1.24.4], which can be installed (as previously explained); + numpy [1.25.0|1.25.1|...|1.26.4], which cannot be installed (as previously explained); + numpy [1.25.0|1.25.1|...|1.26.4], which cannot be installed (as previously explained); + numpy [1.25.0|1.25.1|...|1.26.4], which cannot be installed (as previously explained); + numpy [1.25.0|1.25.1|...|1.26.4], which cannot be installed (as previously explained); + numpy [1.26.0|1.26.2|1.26.3|1.26.4], which can be installed (as previously explained); + numpy [1.18.5|1.19.0|...|1.21.6], which cannot be installed (as previously explained); + numpy [1.18.5|1.19.0|...|1.22.4], which cannot be installed (as previously explained); + numpy [1.19.5|1.20.3|...|1.22.4], which cannot be installed (as previously explained); + numpy [1.19.2|1.19.4|...|1.22.4], which cannot be installed (as previously explained); + numpy [1.19.5|1.20.3|...|1.22.4], which cannot be installed (as previously explained); + numpy [1.21.3|1.21.4|...|1.22.4], which cannot be installed (as previously explained); + numpy [1.23.0|1.23.1|1.23.2|1.23.3], which can be installed; + scipy [1.7.3|1.8.1] would require + numpy [>=1.20.3,<1.23 |>=1.20.3,<2.0a0 ] with the potential options + numpy 1.23.4, which can be installed; + numpy [1.23.4|1.23.5|...|1.24.4], which can be installed (as previously explained); + numpy [1.23.5|1.24.0|...|1.24.4], which can be installed (as previously explained); + numpy [1.23.5|1.24.0|...|1.24.4], which can be installed (as previously explained); + numpy [1.23.5|1.24.0|...|1.24.4], which can be installed (as previously explained); + numpy [1.23.5|1.24.0|...|1.24.4], which can be installed (as previously explained); + numpy [1.23.5|1.24.0|...|1.24.4], which can be installed (as previously explained); + numpy [1.25.0|1.25.1|...|1.26.4], which cannot be installed (as previously explained); + numpy [1.25.0|1.25.1|...|1.26.4], which cannot be installed (as previously explained); + numpy [1.25.0|1.25.1|...|1.26.4], which cannot be installed (as previously explained); + numpy [1.25.0|1.25.1|...|1.26.4], which cannot be installed (as previously explained); + numpy [1.26.0|1.26.2|1.26.3|1.26.4], which can be installed (as previously explained); + numpy [1.19.5|1.20.0|...|1.21.5], which cannot be installed (as previously explained); + numpy [1.18.5|1.19.0|...|1.21.6], which cannot be installed (as previously explained); + numpy [1.18.5|1.19.0|...|1.22.4], which cannot be installed (as previously explained); + numpy [1.19.5|1.20.3|...|1.22.4], which cannot be installed (as previously explained); + numpy [1.19.2|1.19.4|...|1.22.4], which cannot be installed (as previously explained); + numpy [1.19.5|1.20.3|...|1.22.4], which cannot be installed (as previously explained); + numpy [1.21.3|1.21.4|...|1.22.4], which cannot be installed (as previously explained); + numpy [1.23.0|1.23.1|1.23.2|1.23.3], which can be installed; + python_abi [3.8 *_pypy38_pp73|3.8.* *_cp38|3.9 *_pypy39_pp73|3.9.* *_cp39], which can be installed; + scipy 1.8.1 would require + numpy >=1.21.6,<1.25 with the potential options + numpy 1.23.4, which can be installed; + numpy [1.23.4|1.23.5|...|1.24.4], which can be installed (as previously explained); + numpy [1.23.5|1.24.0|...|1.24.4], which can be installed (as previously explained); + numpy [1.23.5|1.24.0|...|1.24.4], which can be installed (as previously explained); + numpy [1.23.5|1.24.0|...|1.24.4], which can be installed (as previously explained); + numpy [1.23.5|1.24.0|...|1.24.4], which can be installed (as previously explained); + numpy [1.23.5|1.24.0|...|1.24.4], which can be installed (as previously explained); + numpy [1.18.5|1.19.0|...|1.21.6], which cannot be installed (as previously explained); + numpy [1.18.5|1.19.0|...|1.22.4], which cannot be installed (as previously explained); + numpy [1.19.5|1.20.3|...|1.22.4], which cannot be installed (as previously explained); + numpy [1.19.2|1.19.4|...|1.22.4], which cannot be installed (as previously explained); + numpy [1.19.5|1.20.3|...|1.22.4], which cannot be installed (as previously explained); + numpy [1.21.3|1.21.4|...|1.22.4], which cannot be installed (as previously explained); + numpy [1.23.0|1.23.1|1.23.2|1.23.3], which can be installed; + python_abi 3.10.* *_cp310, which can be installed; + scipy 1.8.1 would require + python_abi 3.8 *_pypy38_pp73, which can be installed; + scipy 1.8.1 would require + python_abi 3.9 *_pypy39_pp73, which can be installed. +# Last 100 lines of the build log. +category: |- + dependency issue diff --git a/recipes/mnnpy/meta.yaml b/recipes/mnnpy/meta.yaml index 53aba3db2c063..59a89fb9c6980 100644 --- a/recipes/mnnpy/meta.yaml +++ b/recipes/mnnpy/meta.yaml @@ -11,9 +11,9 @@ source: - 0001-Fix-missing-forceobj-for-numba.jit.patch build: - number: 8 - # uses __futures__, which didn't exist until 3.7 - skip: True # [py<37] + number: 9 + run_exports: + - {{ pin_subpackage("mnnpy", max_pin="x.x") }} script: {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv requirements: diff --git a/recipes/moabs/build_failure.linux-64.yaml b/recipes/moabs/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..67871011ab0b9 --- /dev/null +++ b/recipes/moabs/build_failure.linux-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: 49bcfadd754543cd5a9f399a5595620b94e82692bc80c5e1d69ed8f5de38e8e5 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: compiler error +log: |2- + 181 | m_resizer.adjust_size(in, [this](auto&& arg) { return this->resize_impl(std::forward(arg)); }); + | ^~~~ + In file included from /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/adaptive_adams_bashforth_moulton.hpp:19, + from /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint.hpp:54: + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/detail/adaptive_adams_coefficients.hpp: In member function 'void boost::numeric::odeint::detail::adaptive_adams_coefficients::do_step(const deriv_type&, int)': + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/detail/adaptive_adams_coefficients.hpp:135:48: error: use of 'auto' in lambda parameter declaration only available with '-std=c14' or '-std=gnu14' + 135 | m_phi_resizer.adjust_size(dxdt, [this](auto&& arg) { return this->resize_phi_impl(std::forward(arg)); }); + | ^~~~ + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/adaptive_adams_bashforth_moulton.hpp: In member function 'void boost::numeric::odeint::adaptive_adams_bashforth_moulton::do_step(System, state_type&, time_type, time_type)': + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/adaptive_adams_bashforth_moulton.hpp:89:50: error: use of 'auto' in lambda parameter declaration only available with '-std=c14' or '-std=gnu14' + 89 | m_xnew_resizer.adjust_size(inOut, [this](auto&& arg) { return this->resize_xnew_impl(std::forward(arg)); }); + | ^~~~ + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/adaptive_adams_bashforth_moulton.hpp: In member function 'void boost::numeric::odeint::adaptive_adams_bashforth_moulton::do_step(System, state_type&, time_type, time_type, state_type&)': + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/adaptive_adams_bashforth_moulton.hpp:104:50: error: use of 'auto' in lambda parameter declaration only available with '-std=c14' or '-std=gnu14' + 104 | m_xnew_resizer.adjust_size(inOut, [this](auto&& arg) { return this->resize_xnew_impl(std::forward(arg)); }); + | ^~~~ + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/adaptive_adams_bashforth_moulton.hpp: In member function 'void boost::numeric::odeint::adaptive_adams_bashforth_moulton::initialize(ExplicitStepper, System, state_type&, time_type&, time_type)': + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/adaptive_adams_bashforth_moulton.hpp:131:50: error: use of 'auto' in lambda parameter declaration only available with '-std=c14' or '-std=gnu14' + 131 | m_dxdt_resizer.adjust_size(inOut, [this](auto&& arg) { return this->resize_dxdt_impl(std::forward(arg)); }); + | ^~~~ + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/adaptive_adams_bashforth_moulton.hpp: In member function 'void boost::numeric::odeint::adaptive_adams_bashforth_moulton::do_step_impl(System, const state_type&, time_type, state_type&, time_type&, state_type&)': + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/adaptive_adams_bashforth_moulton.hpp:171:47: error: use of 'auto' in lambda parameter declaration only available with '-std=c14' or '-std=gnu14' + 171 | m_xerr_resizer.adjust_size(in, [this](auto&& arg) { return this->resize_xerr_impl(std::forward(arg)); }); + | ^~~~ + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/adaptive_adams_bashforth_moulton.hpp:172:47: error: use of 'auto' in lambda parameter declaration only available with '-std=c14' or '-std=gnu14' + 172 | m_dxdt_resizer.adjust_size(in, [this](auto&& arg) { return this->resize_dxdt_impl(std::forward(arg)); }); + | ^~~~ + In file included from /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint.hpp:55: + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/controlled_adams_bashforth_moulton.hpp: In member function 'void boost::numeric::odeint::controlled_adams_bashforth_moulton::initialize_controlled(ExplicitStepper, System, state_type&, time_type&, time_type&)': + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/controlled_adams_bashforth_moulton.hpp:181:50: error: use of 'auto' in lambda parameter declaration only available with '-std=c14' or '-std=gnu14' + 181 | m_dxdt_resizer.adjust_size(inOut, [this](auto&& arg) { return this->resize_dxdt_impl(std::forward(arg)); }); + | ^~~~ + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/controlled_adams_bashforth_moulton.hpp: In member function 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_adams_bashforth_moulton::try_step(System, state_type&, time_type&, time_type&)': + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/controlled_adams_bashforth_moulton.hpp:209:50: error: use of 'auto' in lambda parameter declaration only available with '-std=c14' or '-std=gnu14' + 209 | m_xnew_resizer.adjust_size(inOut, [this](auto&& arg) { return this->resize_xnew_impl(std::forward(arg)); }); + | ^~~~ + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/controlled_adams_bashforth_moulton.hpp: In member function 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::controlled_adams_bashforth_moulton::try_step(System, const state_type&, time_type&, state_type&, time_type&)': + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/controlled_adams_bashforth_moulton.hpp:224:47: error: use of 'auto' in lambda parameter declaration only available with '-std=c14' or '-std=gnu14' + 224 | m_xerr_resizer.adjust_size(in, [this](auto&& arg) { return this->resize_xerr_impl(std::forward(arg)); }); + | ^~~~ + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/controlled_adams_bashforth_moulton.hpp:225:47: error: use of 'auto' in lambda parameter declaration only available with '-std=c14' or '-std=gnu14' + 225 | m_dxdt_resizer.adjust_size(in, [this](auto&& arg) { return this->resize_dxdt_impl(std::forward(arg)); }); + | ^~~~ + In file included from /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint.hpp:57: + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/implicit_euler.hpp: In member function 'void boost::numeric::odeint::implicit_euler::do_step(System, state_type&, time_type, time_type)': + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/implicit_euler.hpp:83:41: error: use of 'auto' in lambda parameter declaration only available with '-std=c14' or '-std=gnu14' + 83 | m_resizer.adjust_size(x, [this](auto&& arg) { return this->resize_impl(std::forward(arg)); }); + | ^~~~ + In file included from /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint.hpp:58: + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/rosenbrock4.hpp: In member function 'void boost::numeric::odeint::rosenbrock4::do_step(System, const state_type&, time_type, state_type&, time_type, state_type&)': + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/rosenbrock4.hpp:181:41: error: use of 'auto' in lambda parameter declaration only available with '-std=c14' or '-std=gnu14' + 181 | m_resizer.adjust_size(x, [this](auto&& arg) { return this->resize_impl(std::forward(arg)); }); + | ^~~~ + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/rosenbrock4.hpp: In member function 'void boost::numeric::odeint::rosenbrock4::do_step(System, const state_type&, time_type, state_type&, time_type)': + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/rosenbrock4.hpp:252:47: error: use of 'auto' in lambda parameter declaration only available with '-std=c14' or '-std=gnu14' + 252 | m_x_err_resizer.adjust_size(x, [this](auto&& arg) { return this->resize_x_err(std::forward(arg)); }); + | ^~~~ + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/rosenbrock4.hpp: In member function 'void boost::numeric::odeint::rosenbrock4::do_step(System, state_type&, time_type, time_type)': + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/rosenbrock4.hpp:259:47: error: use of 'auto' in lambda parameter declaration only available with '-std=c14' or '-std=gnu14' + 259 | m_x_err_resizer.adjust_size(x, [this](auto&& arg) { return this->resize_x_err(std::forward(arg)); }); + | ^~~~ + In file included from /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint.hpp:59: + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/rosenbrock4_controller.hpp: In member function 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::rosenbrock4_controller::try_step(System, state_type&, time_type&, time_type&)': + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/rosenbrock4_controller.hpp:102:46: error: use of 'auto' in lambda parameter declaration only available with '-std=c14' or '-std=gnu14' + 102 | m_xnew_resizer.adjust_size(x, [this](auto&& arg) { return this->resize_m_xnew(std::forward(arg)); }); + | ^~~~ + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/rosenbrock4_controller.hpp: In member function 'boost::numeric::odeint::controlled_step_result boost::numeric::odeint::rosenbrock4_controller::try_step(System, const state_type&, time_type&, state_type&, time_type&)': + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/rosenbrock4_controller.hpp:130:46: error: use of 'auto' in lambda parameter declaration only available with '-std=c14' or '-std=gnu14' + 130 | m_xerr_resizer.adjust_size(x, [this](auto&& arg) { return this->resize_m_xerr(std::forward(arg)); }); + | ^~~~ + In file included from /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint.hpp:60: + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp: In member function 'void boost::numeric::odeint::rosenbrock4_dense_output::initialize(const StateType&, time_type, time_type)': + /opt/conda/conda-bld/moabs_1718121659934/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp:70:42: error: use of 'auto' in lambda parameter declaration only available with '-std=c14' or '-std=gnu14' + 70 | m_resizer.adjust_size(x0, [this](auto&& arg) { return this->resize_impl(std::forward(arg)); }); + | ^~~~ + At global scope: + cc1plus: note: unrecognized command-line option '-Wno-invalid-partial-specialization' may have been intended to silence earlier diagnostics + make[3]: *** [Makefile:482: mcomp-bbf.o] Error 1 + make[3]: Leaving directory '$SRC_DIR/src/mcomp' + make[2]: *** [Makefile:312: all-recursive] Error 1 + make[2]: Leaving directory '$SRC_DIR/src' + make[1]: *** [Makefile:357: all-recursive] Error 1 + make[1]: Leaving directory '$SRC_DIR' + make: *** [Makefile:298: all] Error 2 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/moabs_1718121659934/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. diff --git a/recipes/moabs/build_failure.osx-64.yaml b/recipes/moabs/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..a7538db8ef42a --- /dev/null +++ b/recipes/moabs/build_failure.osx-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: 49bcfadd754543cd5a9f399a5595620b94e82692bc80c5e1d69ed8f5de38e8e5 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: compiler error +log: |- + checking for uint32_t... yes + checking that generated files are newer than configure... done + configure: creating ./config.status + config.status: creating Makefile + config.status: creating lib/Makefile + config.status: creating src/Makefile + config.status: creating src/bsmap/Makefile + config.status: creating src/ExactNumCI/Makefile + config.status: creating src/mcall/Makefile + config.status: creating src/mcomp/Makefile + config.status: creating src/bseqc2/Makefile + config.status: creating src/pefilter/Makefile + config.status: creating config.h + config.status: executing depfiles commands + make all-recursive + make[1]: Entering directory '$SRC_DIR' + Making all in lib + make[2]: Entering directory '$SRC_DIR/lib' + Making all in gzstream + make[3]: Entering directory '$SRC_DIR/lib/gzstream' + x86_64-apple-darwin13.4.0-clang -I. -O -c -o gzstream.o gzstream.C + ar cr libgzstream.a gzstream.o + make[3]: Leaving directory '$SRC_DIR/lib/gzstream' + Making all in samtools + make[3]: Entering directory '$SRC_DIR/lib/samtools' + make[4]: Entering directory '$SRC_DIR/lib/samtools' + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -DBGZF_CACHE -I. bgzf.c -o bgzf.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. kstring.c -o kstring.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_aux.c -o bam_aux.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam.c -o bam.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_import.c -o bam_import.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. sam.c -o sam.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_index.c -o bam_index.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_pileup.c -o bam_pileup.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_lpileup.c -o bam_lpileup.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_md.c -o bam_md.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. razf.c -o razf.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. faidx.c -o faidx.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bedidx.c -o bedidx.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. knetfile.c -o knetfile.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_sort.c -o bam_sort.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. sam_header.c -o sam_header.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_reheader.c -o bam_reheader.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. kprobaln.c -o kprobaln.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_cat.c -o bam_cat.o + x86_64-apple-darwin13.4.0-ar -csru libbam.a bgzf.o kstring.o bam_aux.o bam.o bam_import.o sam.o bam_index.o bam_pileup.o bam_lpileup.o bam_md.o razf.o faidx.o bedidx.o knetfile.o bam_sort.o sam_header.o bam_reheader.o kprobaln.o bam_cat.o + make[4]: Leaving directory '$SRC_DIR/lib/samtools' + make[4]: Entering directory '$SRC_DIR/lib/samtools/bcftools' + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I.. -I. bcf.c -o bcf.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I.. -I. vcf.c -o vcf.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I.. -I. bcfutils.c -o bcfutils.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I.. -I. prob1.c -o prob1.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I.. -I. em.c -o em.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I.. -I. kfunc.c -o kfunc.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I.. -I. kmin.c -o kmin.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I.. -I. index.c -o index.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I.. -I. fet.c -o fet.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I.. -I. mut.c -o mut.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I.. -I. bcf2qcall.c -o bcf2qcall.o + x86_64-apple-darwin13.4.0-ar -csru libbcf.a bcf.o vcf.o bcfutils.o prob1.o em.o kfunc.o kmin.o index.o fet.o mut.o bcf2qcall.o + make[4]: Leaving directory '$SRC_DIR/lib/samtools/bcftools' + make[4]: Entering directory '$SRC_DIR/lib/samtools/misc' + make[4]: Nothing to be done for 'lib'. + make[4]: Leaving directory '$SRC_DIR/lib/samtools/misc' + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_tview.c -o bam_tview.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_plcmd.c -o bam_plcmd.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. sam_view.c -o sam_view.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_rmdup.c -o bam_rmdup.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_rmdupse.c -o bam_rmdupse.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_mate.c -o bam_mate.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_stat.c -o bam_stat.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_color.c -o bam_color.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bamtk.c -o bamtk.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. kaln.c -o kaln.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam2bcf.c -o bam2bcf.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam2bcf_indel.c -o bam2bcf_indel.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. errmod.c -o errmod.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. sample.c -o sample.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. cut_target.c -o cut_target.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. phase.c -o phase.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam2depth.c -o bam2depth.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. padding.c -o padding.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bedcov.c -o bedcov.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bamshuf.c -o bamshuf.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_tview_curses.c -o bam_tview_curses.o + x86_64-apple-darwin13.4.0-clang -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -I. bam_tview_html.c -o bam_tview_html.o + x86_64-apple-darwin13.4.0-clang -g -Wall -O2 -o samtools bam_tview.o bam_plcmd.o sam_view.o bam_rmdup.o bam_rmdupse.o bam_mate.o bam_stat.o bam_color.o bamtk.o kaln.o bam2bcf.o bam2bcf_indel.o errmod.o sample.o cut_target.o phase.o bam2depth.o padding.o bedcov.o bamshuf.o bam_tview_curses.o bam_tview_html.o -L$PREFIX/lib libbam.a -Lbcftools -lbcf -lncurses -lm -lz -lpthread + make[3]: Leaving directory '$SRC_DIR/lib/samtools' + make[3]: Entering directory '$SRC_DIR/lib' + make[3]: Nothing to be done for 'all-am'. + make[3]: Leaving directory '$SRC_DIR/lib' + make[2]: Leaving directory '$SRC_DIR/lib' + Making all in src + make[2]: Entering directory '$SRC_DIR/src' + Making all in bsmap + make[3]: Entering directory '$SRC_DIR/src/bsmap' + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I../.. -DMAXHITS=1000 -DTHREAD -funroll-loops -I../../lib/gzstream -I../../lib/samtools -Wno-narrowing -I$PREFIX/include -O3 -m64 -MT bsmap-param.o -MD -MP -MF .deps/bsmap-param.Tpo -c -o bsmap-param.o test -f 'param.cpp' || echo './'param.cpp + make[3]: Leaving directory '$SRC_DIR/src/bsmap' + make[2]: Leaving directory '$SRC_DIR/src' + make[1]: Leaving directory '$SRC_DIR' +# Last 100 lines of the build log. diff --git a/recipes/moabs/meta.yaml b/recipes/moabs/meta.yaml index 7e0fe1c488f6e..27ea2805a5cec 100644 --- a/recipes/moabs/meta.yaml +++ b/recipes/moabs/meta.yaml @@ -5,7 +5,9 @@ package: version: {{ version }} build: - number: 6 + number: 7 + run_exports: + - {{ pin_subpackage('moabs', max_pin="x") }} source: url: https://github.com/sunnyisgalaxy/moabs/archive/v{{ version }}.tar.gz diff --git a/recipes/mob_suite/meta.yaml b/recipes/mob_suite/meta.yaml index 56cc01e2c4663..c6cb6e4353aab 100644 --- a/recipes/mob_suite/meta.yaml +++ b/recipes/mob_suite/meta.yaml @@ -1,6 +1,6 @@ {% set name = "mob_suite" %} -{% set version = "3.1.7" %} -{% set sha256 = "1e9e5be166c4d7e2478b4b65f5a42d252f5d476b558e6501ce6feed2da679de4" %} +{% set version = "3.1.9" %} +{% set sha256 = "c5313378d22fb45d684101054eee6153244261e355668f843d2d956209f9fb97" %} package: name: {{ name|lower }} @@ -8,16 +8,14 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/mob_suite-{{ version }}.tar.gz - sha256: {{ sha256 }} - + sha256: {{ sha256 }} build: number: 0 noarch: python run_exports: - - python - - pip - script: {{ PYTHON }} -m pip install . --use-pep517 --no-deps -vvv + - {{ pin_subpackage(name, max_pin="x") }} + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv entry_points: - mob_init=mob_suite.mob_init:main - mob_recon=mob_suite.mob_recon:main @@ -32,12 +30,12 @@ requirements: run: - python >=3.7 - numpy >=1.11.1,<1.23.5 + - pandas >=0.22,<=1.5.3 - pytables - - pandas >=0.22.0,<=1.0.5 - biopython >=1.8,<2 - - pycurl - - scipy - - ete3 + - pycurl >=7.43.0 + - scipy >=1.1.0 + - ete3 >=3.1.3 - six - blast >=2.9.0 - mash >=2.0 @@ -45,17 +43,22 @@ requirements: test: imports: - mob_suite + requires: + - pytest commands: - mob_recon --help - mob_cluster --help - mob_typer --help + - mob_init --help about: home: 'https://pypi.org/project/mob-suite/' summary: 'MOB-suite is a set of tools for finding, typing and reconstruction of plasmids from draft and complete genome assemblies.' - license: Apache-2.0 + license: 'Apache-2.0' + license_family: APACHE license_file: LICENSE dev_url: 'https://github.com/phac-nml/mob-suite' + doc_url: 'https://github.com/phac-nml/mob-suite/blob/master/README.md' extra: identifiers: diff --git a/recipes/mob_suite/run_test.sh b/recipes/mob_suite/run_test.sh new file mode 100644 index 0000000000000..817113f2f503d --- /dev/null +++ b/recipes/mob_suite/run_test.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +pytest --pyargs mob_suite.tests.test_mobrecon::test_mob_recon_typical_run diff --git a/recipes/mockinbird/build_failure.linux-64.yaml b/recipes/mockinbird/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..cbfb155ce2b1c --- /dev/null +++ b/recipes/mockinbird/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: fa97115a6465685e387b86b11bb83fa2635e08e58d91df52e44b7e93a1f6f337 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + [32mpython [3.5* |>=3.5,<3.6.0a0 ][0m, which can be installed; + [32mpysam [0.10.0|0.11.1|...|0.9.1][0m would require + [32mpython 3.6* [0m, which can be installed; + [32mpysam [0.10.0|0.15.2|...|0.9.1][0m would require + [32mpython_abi 3.6.* *_cp36m[0m, which can be installed; + [32mpysam [0.10.0|0.14.1|...|0.9.1][0m would require + [32mpython >=3.6,<3.7.0a0 [0m, which can be installed; + [31mpysam [0.15.1|0.15.2|0.15.3][0m would require + [31mlibdeflate >=1.0,<1.1.0a0 [0m, which conflicts with any installable versions previously reported; + [32mpysam [0.15.2|0.15.4|...|0.9.1][0m would require + [32mpython_abi 3.7.* *_cp37m[0m, which can be installed; + [32mpysam [0.15.2|0.15.3|0.15.4|0.9.1][0m would require + [32mpython >=3.7,<3.8.0a0 [0m, which can be installed; + [32mpysam [0.15.2|0.16.0.1|...|0.9.1][0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mpysam [0.16.0.1|0.17.0|...|0.9.1][0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [32mpysam [0.19.1|0.20.0|0.21.0|0.22.0|0.22.1][0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [31mpython >=3.11,<3.12.0a0 [0m is not installable because it requires + [31mpython_abi 3.11.* *_cp311[0m, which conflicts with any installable versions previously reported. + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2409, in build + create_build_envs(top_level_pkg, notest) + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2247, in create_build_envs + raise e + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2220, in create_build_envs + environ.get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("pysam==0.15.1=py27h0380709_0"), MatchSpec("libdeflate[version='>=1.0,<1.1.0a0']")} + Encountered problems while solving: + - package pysam-0.15.1-py27h0380709_0 requires libdeflate >=1.0,<1.1.0a0, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + [32mpysam[0m is installable with the potential options + [32mpysam 0.7.7[0m would require + [32mpython <3.0.0 [0m, which can be installed; + [32mpysam [0.10.0|0.11.0|...|0.9.1.4][0m would require + [32mpython [2.7* |>=2.7,<2.8.0a0 ][0m, which can be installed; + [32mpysam [0.10.0|0.15.2|...|0.9.1][0m would require + [32mpython_abi 2.7.* *_cp27mu[0m, which can be installed; + [32mpysam [0.10.0|0.11.0|...|0.9.1.4][0m would require + [32mpython 3.4* [0m, which can be installed; + [32mpysam [0.10.0|0.11.0|...|0.9.1.4][0m would require + [32mpython [3.5* |>=3.5,<3.6.0a0 ][0m, which can be installed; + [32mpysam [0.10.0|0.11.1|...|0.9.1][0m would require + [32mpython 3.6* [0m, which can be installed; + [32mpysam [0.10.0|0.15.2|...|0.9.1][0m would require + [32mpython_abi 3.6.* *_cp36m[0m, which can be installed; + [32mpysam [0.10.0|0.14.1|...|0.9.1][0m would require + [32mpython >=3.6,<3.7.0a0 [0m, which can be installed; + [31mpysam [0.15.1|0.15.2|0.15.3][0m would require + [31mlibdeflate >=1.0,<1.1.0a0 [0m, which conflicts with any installable versions previously reported; + [32mpysam [0.15.2|0.15.4|...|0.9.1][0m would require + [32mpython_abi 3.7.* *_cp37m[0m, which can be installed; + [32mpysam [0.15.2|0.15.3|0.15.4|0.9.1][0m would require + [32mpython >=3.7,<3.8.0a0 [0m, which can be installed; + [32mpysam [0.15.2|0.16.0.1|...|0.9.1][0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mpysam [0.16.0.1|0.17.0|...|0.9.1][0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [32mpysam [0.19.1|0.20.0|0.21.0|0.22.0|0.22.1][0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [31mpython >=3.11,<3.12.0a0 [0m is not installable because it requires + [31mpython_abi 3.11.* *_cp311[0m, which conflicts with any installable versions previously reported. +# Last 100 lines of the build log. diff --git a/recipes/mockinbird/build_failure.osx-64.yaml b/recipes/mockinbird/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..9e691db3aa88e --- /dev/null +++ b/recipes/mockinbird/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: fa97115a6465685e387b86b11bb83fa2635e08e58d91df52e44b7e93a1f6f337 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + packages_from_this = build( + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + Using pip 24.0 from $PREFIX/lib/python3.12/site-packages/pip (python 3.12) + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + Non-user install because user site-packages disabled + Ignoring indexes: https://pypi.org/simple + Created temporary directory: /private/tmp/pip-build-tracker-s989kehk + Initialized build tracking at /private/tmp/pip-build-tracker-s989kehk + Created build tracker: /private/tmp/pip-build-tracker-s989kehk + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + Entered build tracker: /private/tmp/pip-build-tracker-s989kehk + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/mockinbird_1717900420818/work/conda_build.sh']' returned non-zero exit status 1. + Created temporary directory: /private/tmp/pip-install-iw4dhjx0 + Created temporary directory: /private/tmp/pip-ephem-wheel-cache-nmy_4ltz + Processing $SRC_DIR + Added file://$SRC_DIR to build tracker '/private/tmp/pip-build-tracker-s989kehk' + Running setup.py (path:$SRC_DIR/setup.py) egg_info for package from file://$SRC_DIR + Created temporary directory: /private/tmp/pip-pip-egg-info-38y4ltr2 + Preparing metadata (setup.py): started + Preparing metadata (setup.py): finished with status 'error' + Exception information: + Traceback (most recent call last): + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/operations/build/metadata_legacy.py", line 64, in generate_metadata + call_subprocess( + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/utils/subprocess.py", line 224, in call_subprocess + raise error + pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 + + The above exception was the direct cause of the following exception: + + Traceback (most recent call last): + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper + status = run_func(*args) + ^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper + return func(self, options, args) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/commands/install.py", line 377, in run + requirement_set = resolver.resolve( + ^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 76, in resolve + collected = self.factory.collect_root_requirements(root_reqs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 534, in collect_root_requirements + reqs = list( + ^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 490, in _make_requirements_from_install_req + cand = self._make_base_candidate_from_link( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 228, in _make_base_candidate_from_link + self._link_candidate_cache[link] = LinkCandidate( + ^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 290, in __init__ + super().__init__( + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__ + self.dist = self._prepare() + ^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 222, in _prepare + dist = self._prepare_distribution() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 301, in _prepare_distribution + return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 525, in prepare_linked_requirement + return self._prepare_linked_requirement(req, parallel_builds) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 640, in _prepare_linked_requirement + dist = _get_prepared_distribution( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution + abstract_dist.prepare_distribution_metadata( + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/distributions/sdist.py", line 67, in prepare_distribution_metadata + self.req.prepare_metadata() + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/req/req_install.py", line 585, in prepare_metadata + self.metadata_directory = generate_metadata_legacy( + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/operations/build/metadata_legacy.py", line 71, in generate_metadata + raise MetadataGenerationFailed(package_details=details) from error + pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed + Removed file://$SRC_DIR from build tracker '/private/tmp/pip-build-tracker-s989kehk' + Removed build tracker: '/private/tmp/pip-build-tracker-s989kehk' +# Last 100 lines of the build log. diff --git a/recipes/mockinbird/meta.yaml b/recipes/mockinbird/meta.yaml index 38c8c3b411066..77ffcdbe88c9a 100644 --- a/recipes/mockinbird/meta.yaml +++ b/recipes/mockinbird/meta.yaml @@ -1,5 +1,5 @@ -{% set version="1.0.0a1" %} -{% set sha256="d006e623f3b962b3a0d06dceab24275fa47468d8dbd690f8dfca5ff8db09b238" %} +{% set version = "1.0.0a1" %} +{% set sha256 = "d006e623f3b962b3a0d06dceab24275fa47468d8dbd690f8dfca5ff8db09b238" %} package: name: mockinbird @@ -10,9 +10,41 @@ source: sha256: {{ sha256 }} build: - script: python -m pip install --no-deps --ignore-installed . - number: 6 - skip: True # [not py3k] + script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation --no-cache-dir . -vvv + number: 8 + entry_points: + - mockinbird = mockinbird.scripts.mockinbird:main + - mb-preprocess = mockinbird.scripts.preprocess:main + - mb-postprocess = mockinbird.scripts.postprocess:main + - mb-extract-sites = mockinbird.scripts.extract_sites:main + - mb-pileup2sites = mockinbird.scripts.pileup2sites:main + - mb-site-merger = mockinbird.scripts.site_merger_full:main + - mb-create-bam-statistics = mockinbird.scripts.estimate_bam_statistics:main + - mb-calculate-posterior = mockinbird.scripts.calculate_posterior:main + - mb-mockinbird2table = mockinbird.scripts.mockinbird2table:main + - mb-learn-mock = mockinbird.scripts.learn_model:main + - mb-remove-duplicates = mockinbird.scripts.removePCRduplicates:run + - mb-adapter-clipper = mockinbird.scripts.clipper53:main + - mb-bam-postprocess = mockinbird.scripts.bam_postprocessing:main + - mb-softclip-analyzer = mockinbird.scripts.clipped_seq:main + - mb-bsfinder = mockinbird.scripts.bsfinder:run + - mb-normalize = mockinbird.scripts.normalize:run + - mb-cap-occupancy = mockinbird.scripts.convert2quantile:run + - mb-table2fasta = mockinbird.utils.table2fasta:main + - mb-upgrade-table = mockinbird.utils.update_table:main + - mb-plot-metagene-nobs = mockinbird.plots.makeCenterBothEnds:run + - mb-plot-metagene = mockinbird.plots.makeCenterBothEnds_bs:main + - mb-plot-kmer-enrichment = mockinbird.plots.makeKmerPerPosition:run + - mb-generate-negative-set = mockinbird.scripts.makeNegSets:run + - mb-plot-kmer-logodds = mockinbird.plots.makeKmerLogOdds:run + - mb-xxmotif = mockinbird.scripts.xxmotif:run + - mb-plot-transition-frequencies = mockinbird.plots.makeNucleotideProbabilities:run + - mb-plot-heatmap = mockinbird.plots.makeHeatMap:run + - mb-plot-heatmap-small = mockinbird.plots.makeHeatMapSmall:run + - mb-filter-sites = mockinbird.scripts.filter_sites:main + - mb-annotate-table = mockinbird.scripts.annotate_table:main + run_exports: + - {{ pin_subpackage("mockinbird", max_pin="x") }} requirements: build: @@ -50,10 +82,10 @@ test: - mockinbird.utils about: - home: https://github.com/soedinglab/mockinbird - license: GPL-3 + home: "https://github.com/soedinglab/mockinbird" + license: "GPL-3.0-or-later" license_family: GPL3 - license_file: LICENSE.txt + license_file: "LICENSE.txt" summary: A fully automatic and reproducible PAR-CLIP analysis pipeline - doc_url: http://wwwuser.gwdg.de/~compbiol/mockinbird/doc/ - dev_url: https://github.com/soedinglab/mockinbird + doc_url: "http://wwwuser.gwdg.de/~compbiol/mockinbird/doc/" + dev_url: "https://github.com/soedinglab/mockinbird" diff --git a/recipes/mofapy2/meta.yaml b/recipes/mofapy2/meta.yaml new file mode 100644 index 0000000000000..0b73846286177 --- /dev/null +++ b/recipes/mofapy2/meta.yaml @@ -0,0 +1,41 @@ +{% set name = "mofapy2" %} +{% set version = "0.7.1" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + sha256: 937c385e07cebcc20039cff4782b7f7d6ebb7b576c4f5a12f5e74364dcec16c3 +build: + noarch: python + number: 0 + script: python -m pip install --no-deps --ignore-installed . + run_exports: + - {{ pin_subpackage('mofapy2', max_pin="x.x") }} + +requirements: + host: + - python + - pip + - poetry-core + run: + - h5py + - numpy + - pandas + - python + - scipy + - scikit-learn + - anndata + +test: + imports: + - mofapy2 + +about: + home: https://github.com/bioFAM/mofapy2 + license: 'LGPL 3.0' + license_family: LGPL + license_file: LICENSE + summary: Multi-Omics Factor Analysis diff --git a/recipes/moments/meta.yaml b/recipes/moments/meta.yaml index bdffeceff7cf4..e35d11ad6c976 100644 --- a/recipes/moments/meta.yaml +++ b/recipes/moments/meta.yaml @@ -10,8 +10,9 @@ source: sha256: 3a131126af9eaf606da123448b6b62a83d2308f052deb3fdcbdf0255fcc9b7fe build: - number: 1 - skip: true # [py2k] + number: 4 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: build: @@ -40,6 +41,8 @@ about: summary: 'Evolutionary inference using SFS and LD statistics.' extra: + additional-platforms: + - linux-aarch64 identifiers: - doi:10.1534/genetics.117.200493 - doi:10.1371/journal.pgen.1008204 diff --git a/recipes/moni/build.sh b/recipes/moni/build.sh new file mode 100644 index 0000000000000..455d5bf7c0861 --- /dev/null +++ b/recipes/moni/build.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +set -xe + +export CPATH=$PREFIX/include:$CPATH +export LIBRARY_PATH=$PREFIX/lib:$LIBRARY_PATH +export LD_LIBRARY_PATH=$PREFIX/lib:$LD_LIBRARY_PATH + +mkdir build +cd build +cmake -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_PREFIX_PATH=$PREFIX \ + -DCMAKE_INCLUDE_PATH=$PREFIX/include \ + -DCMAKE_LIBRARY_PATH=$PREFIX/lib \ + -DZLIB_ROOT=$PREFIX \ + .. +make -j ${CPU_COUNT} VERBOSE=1 +make install diff --git a/recipes/moni/conda_build_config.yaml b/recipes/moni/conda_build_config.yaml new file mode 100644 index 0000000000000..f62708b887406 --- /dev/null +++ b/recipes/moni/conda_build_config.yaml @@ -0,0 +1,5 @@ +c_compiler_version: + - 9.3.0 # [linux] + +cxx_compiler_version: + - 9.3.0 # [linux] diff --git a/recipes/moni/meta.yaml b/recipes/moni/meta.yaml new file mode 100644 index 0000000000000..b5da94ad049f8 --- /dev/null +++ b/recipes/moni/meta.yaml @@ -0,0 +1,54 @@ +{% set name = "moni" %} +{% set version = "0.2.2" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/maxrossi91/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: 638cd590e0c91218a9c7c0bf5aac6289d445a5a1b3ad91aa0cf62d7ff57ce0ce + +build: + skip: True # [osx] + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} + +requirements: + build: + - {{ compiler('cxx') }} + - cmake + - make + - git + host: + - zlib + - python + run: + - zlib + - python + +test: + commands: + - moni -h + - moni build -h + - moni ms -h + - moni mems -h + - moni extend -h + +about: + home: https://github.com/maxrossi91/moni + license: MIT + license_family: MIT + license_file: LICENSE + summary: 'A Pangenomics Index for Finding MEMs' + description: | + MONI (Multi) is a Pangenomics Index for Finding Maximal Exact Matches (MEMs). + It uses the prefix-free parsing of the text to build the Burrows-Wheeler Transform (BWT) + of the reference genomes, the suffix array (SA) samples at the beginning and at the end + of each run of the BWT, and the threshold positions. + +extra: + recipe-maintainers: + - AndreaGuarracino + - maxrossi91 \ No newline at end of file diff --git a/recipes/monopogen/build.sh b/recipes/monopogen/build.sh new file mode 100644 index 0000000000000..77db429cd8ee9 --- /dev/null +++ b/recipes/monopogen/build.sh @@ -0,0 +1,8 @@ +#!/bin/bash -euo + +mkdir -p ${PREFIX}/bin + +${PYTHON} -m pip install . -vvv --no-deps --no-build-isolation + +chmod +rx ${SP_DIR}/Monopogen.py +cp ${SP_DIR}/Monopogen.py ${PREFIX}/bin diff --git a/recipes/monopogen/meta.yaml b/recipes/monopogen/meta.yaml new file mode 100644 index 0000000000000..fee69ee522e3c --- /dev/null +++ b/recipes/monopogen/meta.yaml @@ -0,0 +1,55 @@ +{% set name = "Monopogen" %} +{% set version = "1.6.0" %} +{% set sha256 = "c0783c3296aed13017d337f2d7b9c7e55d72ac7f0397e83ba0d1c14fe38cb91b" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/KChen-lab/Monopogen/archive/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + noarch: python + run_exports: + - {{ pin_subpackage('monopogen', max_pin="x") }} + +requirements: + host: + - python >=3.6 + - pip + run: + - python >=3.6 + - pandas >=1.2.3 + - pysam >=0.16.0.1 + - numpy >=1.19.5 + - scipy >=1.6.3 + - pillow >=8.2.0 + - openjdk + - samtools + - bcftools + - beagle + - tabix + - r-base + - r-data.table + - r-e1071 + - r-ggplot2 + +test: + imports: + - Monopogen + +about: + home: https://github.com/KChen-lab/Monopogen + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE + summary: "Monopogen is an analysis package for SNV calling from single-cell sequencing datasets generated from single cell RNA 10x 5', 10x 3', single ATAC-seq technoloiges, scDNA-seq, etc." + +extra: + recipe-maintainers: + - mencian + identifiers: + - doi:10.1038/s41587-023-01873-x diff --git a/recipes/monsda/meta.yaml b/recipes/monsda/meta.yaml index d923fef7e8211..a0454d15ae606 100644 --- a/recipes/monsda/meta.yaml +++ b/recipes/monsda/meta.yaml @@ -1,13 +1,13 @@ {% set name = "MONSDA" %} -{% set version = "1.2.2" %} -{% set sha256 = "677ce6d6c880f022dfd70b5dddb62d2ffdb21c2816a0930ec2a712e786adc4c3" %} +{% set version = "1.2.8" %} +{% set sha256 = "dcfb363649328568fef304d25bb0278155f94e954b207d8f841a452fdaf67024" %} package: name: "{{ name|lower }}" version: "{{ version }}" source: - url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name|lower }}-{{ version }}.tar.gz sha256: "{{ sha256 }}" build: @@ -22,26 +22,31 @@ build: requirements: host: - - python >=3.11 + - python >=3.12 - pip - pytest-runner - run: - - python >=3.11 - - biopython >=1.78 - - more-itertools >=8.8.0 - - natsort >=7.1.1 - - nextflow >=23.04.1 - - numpy >=1.21.0 - - pandas >=1.4.1 - - perl >=5.32.1 - - scipy >=1.7.0 - - snakemake >=7.32.3 - versioneer >=0.20 - - yaml >=0.2.5 + run: + - python >=3.12 + - biopython >=1.83 - black >=21.5b2 - flake8 >=3.8.3 - - isort >=5.9.2 - - sphinx >=4.1.0 + - natsort >=8.4.0 + - nextflow >=23.10.1 + - numpy >=1.26.4 + - pandas >=2.2.1 + - perl >=5.32.0 + - pyyaml >=6.0.1 + - scipy >=1.12.0 + - snakemake >=8.11.3 + - snakemake-executor-plugin-slurm =0.5.0 + - snakemake-executor-plugin-cluster-generic =1.0.9 + - snakemake-interface-common =1.17.2 + - snakemake-interface-executor-plugins =9.1.1 + - snakemake-interface-report-plugins =1.0.0 + - snakemake-interface-storage-plugins =3.2.2 + - snakemake-storage-plugin-s3 =0.2.11 + - versioneer >=0.20 test: commands: @@ -54,7 +59,7 @@ about: license: GPL-3.0-or-later license_family: GPL3 license_file: LICENSE - summary: MONSDA, Modular Organizer of Nextflow and Snakemake driven hts Data Analysis + summary: MONSDA, Modular Organizer of Nextflow and Snakemake driven HTS Data Analysis doc_url: https://monsda.readthedocs.io/en/latest/ extra: diff --git a/recipes/moods/build.sh b/recipes/moods/build.sh index 9fd7ba71a6699..c2f64e2904e62 100644 --- a/recipes/moods/build.sh +++ b/recipes/moods/build.sh @@ -1,17 +1,17 @@ #!/bin/bash -cat >setup_compile.patch << EOF ---- setup.py 2018-07-18 09:44:45.000000000 -0700 -+++ new_setup.py 2018-07-18 09:46:32.000000000 -0700 -@@ -7,7 +7,7 @@ - from distutils.core import setup, Extension - +cat > setup.py.patch << EOF +--- a/setup.py ++++ b/setup.py +@@ -4,7 +4,7 @@ from setuptools import setup, Extension + from os import path + common_includes = ["core/"] --common_compile_args = ['-march=native', '-O3', '-fPIC', '--std=c++11'] -+common_compile_args = ['-mtune=generic', '-O3', '-fPIC', '--std=c++11'] - - +-common_compile_args = ['-O3', '-fPIC', '--std=c++11'] ++common_compile_args = ['-mtune=generic', '-O3', '-fPIC', '--std=c++14'] + tools_mod = Extension('MOODS._tools', + sources=['core/tools_wrap.cxx', EOF -patch setup.py setup_compile.patch -rm setup_compile.patch -$PYTHON setup.py install --record=record.txt +patch setup.py setup.py.patch +rm setup.py.patch +${PYTHON} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir diff --git a/recipes/moods/build_failure.osx-64.yaml b/recipes/moods/build_failure.osx-64.yaml deleted file mode 100644 index df0004b00581b..0000000000000 --- a/recipes/moods/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 85b12909a78e1bdae24bdf224f6202087b7343518d4e71f8e94bbb76b3837ca1 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - libcxx: 16.0.4-hd57cbcb_0 conda-forge - libiconv: 1.17-hac89ed1_0 conda-forge - libllvm15: 15.0.7-he4b1e75_2 conda-forge - libxml2: 2.11.4-hd95e348_0 conda-forge - libzlib: 1.2.13-hfd90126_4 conda-forge - llvm-tools: 15.0.7-he4b1e75_2 conda-forge - openssl: 3.1.0-h8a1eda9_3 conda-forge - sigtool: 0.1.3-h88f4db0_0 conda-forge - tapi: 1100.0.11-h9ce4665_0 conda-forge - xz: 5.2.6-h775f41a_0 conda-forge - zstd: 1.5.2-hbc0c0cd_6 conda-forge - - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache - INFO:conda_build.source:Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache - Downloading source to cache: MOODS-python-1.9.4.1_7fd4d634bc.tar.gz - Downloading https://github.com/jhkorhonen/MOODS/releases/download/v1.9.4.1/MOODS-python-1.9.4.1.tar.gz - INFO:conda_build.source:Downloading source to cache: MOODS-python-1.9.4.1_7fd4d634bc.tar.gz - INFO:conda_build.source:Downloading https://github.com/jhkorhonen/MOODS/releases/download/v1.9.4.1/MOODS-python-1.9.4.1.tar.gz - Success - INFO:conda_build.source:Success - Extracting download - source tree in: /opt/mambaforge/envs/bioconda/conda-bld/moods_1685353906262/work - export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/moods_1685353906262/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol - export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/moods_1685353906262/_build_env - export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/moods_1685353906262/work - INFO: activate_clang_osx-64.sh made the following environmental changes: - AR=x86_64-apple-darwin13.4.0-ar - AS=x86_64-apple-darwin13.4.0-as - CC=x86_64-apple-darwin13.4.0-clang - CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/moods-1.9.4.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix - CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms - CLANG=x86_64-apple-darwin13.4.0-clang - CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin - CMAKE_PREFIX_PATH=:$PREFIX - CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 - CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 - CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 - DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/moods-1.9.4.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix - HOST=x86_64-apple-darwin13.4.0 - INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool - LD=x86_64-apple-darwin13.4.0-ld - LDFLAGS=-Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib - LDFLAGS_LD=-pie -headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib - LIBTOOL=x86_64-apple-darwin13.4.0-libtool - LIPO=x86_64-apple-darwin13.4.0-lipo - MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib - NM=x86_64-apple-darwin13.4.0-nm - NMEDIT=x86_64-apple-darwin13.4.0-nmedit - OBJC=x86_64-apple-darwin13.4.0-clang - OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - OTOOL=x86_64-apple-darwin13.4.0-otool - PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff - RANLIB=x86_64-apple-darwin13.4.0-ranlib - REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding - SDKROOT=/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk - SEGEDIT=x86_64-apple-darwin13.4.0-segedit - SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table - SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack - SIZE=x86_64-apple-darwin13.4.0-size - STRINGS=x86_64-apple-darwin13.4.0-strings - STRIP=x86_64-apple-darwin13.4.0-strip - _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 - ac_cv_func_malloc_0_nonnull=yes - ac_cv_func_realloc_0_nonnull=yes - build_alias=x86_64-apple-darwin13.4.0 - host_alias=x86_64-apple-darwin13.4.0 - INFO: activate_clangxx_osx-64.sh made the following environmental changes: - CLANGXX=x86_64-apple-darwin13.4.0-clang - CXX=x86_64-apple-darwin13.4.0-clang - CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/moods-1.9.4.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix - CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/moods-1.9.4.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix - patching file setup.py - Hunk #1 succeeded at 8 with fuzz 2 (offset 1 line). - Traceback (most recent call last): - File "setup.py", line 7, in - from setuptools import setup, Extension - ModuleNotFoundError: No module named 'setuptools' - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/moods_1685353906262/work/conda_build.sh']' returned non-zero exit status 1. -# Last 100 lines of the build log. diff --git a/recipes/moods/meta.yaml b/recipes/moods/meta.yaml index d516f94e805d6..36ffbea571da0 100644 --- a/recipes/moods/meta.yaml +++ b/recipes/moods/meta.yaml @@ -1,40 +1,46 @@ -{% set version = "1.9.4.1" %} +{% set name = "moods" %} +{% set version = "1.9.4.2" %} package: - name: moods + name: {{ name|lower }} version: {{ version }} source: - url: https://github.com/jhkorhonen/MOODS/releases/download/v{{ version }}/MOODS-python-{{ version }}.tar.gz - sha256: 7fd4d634bc2258421859d720afb9e38b4015b92d1ffc7aaeeb5422ce8b26d65e + url: https://pypi.io/packages/source/{{ name[0] }}/mira-moods/mira-moods-{{ version }}.tar.gz + sha256: e694e37c7487286801bffcda3e0576157960007919dd5ceb8b5a1626dc2968e1 build: - number: 4 + number: 2 + skip: True # [py < 36] + run_exports: + - {{ pin_subpackage('moods', max_pin="x") }} requirements: build: - - {{ compiler('c') }} - {{ compiler('cxx') }} host: - python - - swig # [py3k] - + - pip run: - python - - swig # [py3k] test: imports: - MOODS.scan about: - home: https://github.com/jhkorhonen/MOODS - license: GPLv3 - license_family: GPL + home: "https://www.cs.helsinki.fi/group/pssmfind" + summary: 'MOODS: Motif Occurrence Detection Suite' + license: "GPL-3.0-or-later" + license_family: GPL3 license_file: COPYING.GPLv3 - summary: MOODS, Motif Occurrence Detection Suite + dev_url: "https://github.com/jhkorhonen/MOODS" + doc_url: "https://github.com/jhkorhonen/MOODS/wiki" extra: identifiers: - biotools:MOODS - doi:10.1109/TCBB.2009.35 + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/morpheus/meta.yaml b/recipes/morpheus/meta.yaml index 258c57cd1367e..c71b01f970812 100644 --- a/recipes/morpheus/meta.yaml +++ b/recipes/morpheus/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "287" %} -{% set sha256 = "26757d63e44f8cd3888145edd4ddd7376e1502599672df768f3a448cbee88b5d" %} +{% set version = "290" %} +{% set sha256 = "ca138b718debdf131d8b48386c5873b4d3c03f8457179991f814cb5278577609" %} package: name: morpheus @@ -10,9 +10,11 @@ source: sha256: '{{ sha256 }}' build: - number: 1 - skip: true # [osx] + number: 0 + skip: True # [osx] script: mkdir -p $PREFIX/bin && cp * $PREFIX/bin && cd $PREFIX/bin && ln -s ./morpheus_mzml_mono_cl.exe ./morpheus && chmod +x $PREFIX/bin/morpheus* + run_exports: + - {{ pin_subpackage('morpheus', max_pin=None) }} requirements: run: @@ -28,9 +30,12 @@ about: license_family: MIT license_file: MIT_License.CommandLine.txt summary: mass spectrometry–based proteomics database search algorithm - + doc_url: https://cwenger.github.io/Morpheus/ + dev_url: https://github.com/cwenger/Morpheus/ + extra: identifiers: - doi:10.1021/pr301024c + - biotools:morpheus skip-lints: - should_be_noarch_generic diff --git a/recipes/mosaicatcher/build_failure.linux-64.yaml b/recipes/mosaicatcher/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..a274357ed82b3 --- /dev/null +++ b/recipes/mosaicatcher/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 6e1097224e9b3431947cc2828fccba9d1fadf0fa8864388e35505d5368b0034d # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + Extracting download + source tree in: /opt/conda/conda-bld/mosaicatcher_1717808306723/work + export PREFIX=/opt/conda/conda-bld/mosaicatcher_1717808306723/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_ + export BUILD_PREFIX=/opt/conda/conda-bld/mosaicatcher_1717808306723/_build_env + export SRC_DIR=/opt/conda/conda-bld/mosaicatcher_1717808306723/work + INFO: activate-binutils_linux-64.sh made the following environmental changes: + ADDR2LINE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-addr2line + AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar + AS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-as + CXXFILT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cfilt + ELFEDIT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-elfedit + GPROF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gprof + LD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld + LD_GOLD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld.gold + NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-nm + OBJCOPY=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objcopy + OBJDUMP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objdump + RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib + READELF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-readelf + SIZE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-size + STRINGS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strings + STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip + INFO: activate-gcc_linux-64.sh made the following environmental changes: + BUILD=x86_64-conda-linux-gnu + CC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mosaicatcher-0.3.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH=$PREFIX;$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=$PREFIX:$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot/usr + CONDA_BUILD_SYSROOT=$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot + CONDA_TOOLCHAIN_BUILD=x86_64-conda-linux-gnu + CONDA_TOOLCHAIN_HOST=x86_64-conda-linux-gnu + CPP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cpp + CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include + DEBUG_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mosaicatcher-0.3.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem $PREFIX/include + GCC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc + GCC_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar + GCC_NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-nm + GCC_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib + HOST=x86_64-conda-linux-gnu + LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_cos6_linux_gnu + build_alias=x86_64-conda-linux-gnu + host_alias=x86_64-conda-linux-gnu + -BUILD=x86_64-conda_cos6-linux-gnu + -CONDA_BUILD_SYSROOT= + INFO: activate-gxx_linux-64.sh made the following environmental changes: + CXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mosaicatcher-0.3.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + DEBUG_CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mosaicatcher-0.3.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + GXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-g + CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): + Compatibility with CMake < 3.5 will be removed from a future version of + CMake. + + Update the VERSION argument value or use a ... suffix to tell + CMake that the project does not need compatibility with older versions. + + + -- The CXX compiler identification is GNU 12.3.0 + -- Detecting CXX compiler ABI info + -- Detecting CXX compiler ABI info - done + -- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c - skipped + -- Detecting CXX compile features + -- Detecting CXX compile features - done + -- Found Boost: $PREFIX/lib/cmake/Boost-1.85.0/BoostConfig.cmake (found suitable version "1.85.0", minimum required is "1.50") found components: system date_time filesystem iostreams program_options + /opt/conda/conda-bld/mosaicatcher_1717808306723/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include + -- Found PkgConfig: $BUILD_PREFIX/bin/pkg-config (found version "0.29.2") + -- Checking for module 'htslib' + -- Package 'zlib', required by 'htslib', not found + CMake Error at /opt/conda/conda-bld/mosaicatcher_1717808306723/_build_env/share/cmake-3.29/Modules/FindPkgConfig.cmake:634 (message): + The following required packages were not found: + + - htslib + + Call Stack (most recent call first): + /opt/conda/conda-bld/mosaicatcher_1717808306723/_build_env/share/cmake-3.29/Modules/FindPkgConfig.cmake:862 (_pkg_check_modules_internal) + CMakeLists.txt:33 (pkg_check_modules) + + + -- Configuring incomplete, errors occurred! + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/mosaicatcher_1717808306723/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/mosaicatcher/build_failure.osx-64.yaml b/recipes/mosaicatcher/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..2ffe2a4cd4c46 --- /dev/null +++ b/recipes/mosaicatcher/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 6e1097224e9b3431947cc2828fccba9d1fadf0fa8864388e35505d5368b0034d # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + Success + CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): + Compatibility with CMake < 3.5 will be removed from a future version of + CMake. + + Update the VERSION argument value or use a ... suffix to tell + CMake that the project does not need compatibility with older versions. + + + /opt/mambaforge/envs/bioconda/conda-bld/mosaicatcher_1717637185920/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/include + CMake Error at /opt/mambaforge/envs/bioconda/conda-bld/mosaicatcher_1717637185920/_build_env/share/cmake-3.29/Modules/FindPkgConfig.cmake:634 (message): + The following required packages were not found: + + - htslib + + Call Stack (most recent call first): + /opt/mambaforge/envs/bioconda/conda-bld/mosaicatcher_1717637185920/_build_env/share/cmake-3.29/Modules/FindPkgConfig.cmake:862 (_pkg_check_modules_internal) + CMakeLists.txt:33 (pkg_check_modules) + + + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/mosaicatcher_1717637185920/work + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/mosaicatcher_1717637185920/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/mosaicatcher_1717637185920/_build_env + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/mosaicatcher_1717637185920/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/mosaicatcher_1717637185920/work/conda_build.sh']' returned non-zero exit status 1. + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mosaicatcher-0.3.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mosaicatcher-0.3.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mosaicatcher-0.3.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/mosaicatcher-0.3.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + -- The CXX compiler identification is Clang 16.0.6 + -- Detecting CXX compiler ABI info + -- Detecting CXX compiler ABI info - done + -- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting CXX compile features + -- Detecting CXX compile features - done + -- Found Boost: $PREFIX/lib/cmake/Boost-1.85.0/BoostConfig.cmake (found suitable version "1.85.0", minimum required is "1.50") found components: system date_time filesystem iostreams program_options + -- Found PkgConfig: $BUILD_PREFIX/bin/pkg-config (found version "0.29.2") + -- Checking for module 'htslib' + -- Package 'zlib', required by 'htslib', not found + -- Configuring incomplete, errors occurred! +# Last 100 lines of the build log. diff --git a/recipes/mosaicatcher/meta.yaml b/recipes/mosaicatcher/meta.yaml index e06504064290e..62571f912d918 100644 --- a/recipes/mosaicatcher/meta.yaml +++ b/recipes/mosaicatcher/meta.yaml @@ -10,7 +10,7 @@ source: sha256: '{{sha256}}' build: - number: 3 + number: 4 requirements: build: diff --git a/recipes/mosca/build.sh b/recipes/mosca/build.sh deleted file mode 100644 index 09ffed14a0a72..0000000000000 --- a/recipes/mosca/build.sh +++ /dev/null @@ -1,5 +0,0 @@ -echo "Storing MOSCA's files in the Conda environment at: ${PREFIX}" -mkdir -p "${PREFIX}/share/MOSCA" "${PREFIX}/bin" -cp -r workflow/* "${PREFIX}/share/MOSCA" -chmod +x "${PREFIX}/share/MOSCA/mosca.py" -ln -s "${PREFIX}/share/MOSCA/mosca.py" "${PREFIX}/bin/mosca" \ No newline at end of file diff --git a/recipes/mosca/meta.yaml b/recipes/mosca/meta.yaml index 11788ab31187e..d5f6fa74f4ac4 100644 --- a/recipes/mosca/meta.yaml +++ b/recipes/mosca/meta.yaml @@ -1,6 +1,6 @@ {% set name = "mosca" %} -{% set version = "2.1.0" %} -{% set sha256 = "823bffe56b298505136d7cbad3ab0cca526736edeba4458bc3dbb0b4450ab132" %} +{% set version = "2.3.0" %} +{% set sha256 = "1eba9c082273dd46badd2d5ff8df56aabdc496214e337331d000f54399893a94" %} package: name: {{ name|lower }} @@ -13,11 +13,19 @@ source: build: noarch: generic number: 0 + run_exports: + - {{ pin_subpackage("mosca", max_pin="x.x") }} + script: > + mkdir -p $PREFIX/share/MOSCA $PREFIX/bin && + cp -r workflow/* resources/*.json resources/*.txt $PREFIX/share/MOSCA && + chmod +x $PREFIX/share/MOSCA/mosca.py && + ln -s $PREFIX/share/MOSCA/mosca.py $PREFIX/bin/mosca requirements: run: - - python >=3.9 - - snakemake + - python >=3.9, <3.12 + - pandas + - snakemake <8 test: commands: @@ -25,7 +33,7 @@ test: about: home: https://github.com/iquasere/MOSCA - license: GNU General Public License v3 (GPL-3.0) + license: GPL-3.0-or-later license_family: GPL license_file: LICENSE summary: 'MOSCA - Meta-Omics Software for Community Analysis' @@ -47,4 +55,4 @@ about: extra: recipe-maintainers: - - iquasere \ No newline at end of file + - iquasere diff --git a/recipes/mosdepth/build.sh b/recipes/mosdepth/build.sh index ae5ff06f5f3cb..8d17d6407e85d 100755 --- a/recipes/mosdepth/build.sh +++ b/recipes/mosdepth/build.sh @@ -1,6 +1,11 @@ #!/bin/sh if [[ ${target_platform} == osx-64 ]] ; then + curl -SL https://github.com/nim-lang/nightlies/releases/download/latest-version-1-6/macosx_x64.tar.xz -o macosx_x64.tar.xz + tar -xzf macosx_x64.tar.xz + cd nim-1.6.* + export PATH="$PWD/bin:$PATH" + cd .. curl -SL https://github.com/brentp/mosdepth/archive/refs/tags/v${PKG_VERSION}.tar.gz -o mosdepth-latest.tar.gz tar -xzf mosdepth-latest.tar.gz cd mosdepth-${PKG_VERSION} diff --git a/recipes/mosdepth/meta.yaml b/recipes/mosdepth/meta.yaml index a4a4b1000eeec..a1a2bd00817be 100755 --- a/recipes/mosdepth/meta.yaml +++ b/recipes/mosdepth/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.3.6" %} +{% set version = "0.3.8" %} package: name: mosdepth @@ -13,9 +13,8 @@ requirements: build: - {{ compiler('c') }} - curl - - nim <=1.6.2 host: - - htslib >=1.10 + - htslib >=1.19.1 run: test: diff --git a/recipes/moss/build_failure.linux-64.yaml b/recipes/moss/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..87b65ba43f5bf --- /dev/null +++ b/recipes/moss/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 79dbb5e792ddb65e87afb6a5e13d9c8312ce128b7d374cbe63fe95926a9b804d # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + patching file test/catch.hpp + Patch analysis gives: + [[ RA-MD1LOVE ]] - [[ patch ]] + + Key: + + R :: Reversible A :: Applicable + Y :: Build-prefix patch in use M :: Minimal, non-amalgamated + D :: Dry-runnable N :: Patch level (1 is preferred) + L :: Patch level not-ambiguous O :: Patch applies without offsets + V :: Patch applies without fuzz E :: Patch applies without emitting to stderr + + source tree in: /opt/conda/conda-bld/moss_1717788077340/work + export PREFIX=/opt/conda/conda-bld/moss_1717788077340/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol + export BUILD_PREFIX=/opt/conda/conda-bld/moss_1717788077340/_build_env + export SRC_DIR=/opt/conda/conda-bld/moss_1717788077340/work + INFO: activate-binutils_linux-64.sh made the following environmental changes: + ADDR2LINE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-addr2line + AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar + AS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-as + CXXFILT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cfilt + ELFEDIT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-elfedit + GPROF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gprof + LD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld + LD_GOLD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld.gold + NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-nm + OBJCOPY=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objcopy + OBJDUMP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objdump + RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib + READELF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-readelf + SIZE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-size + STRINGS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strings + STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip + INFO: activate-gcc_linux-64.sh made the following environmental changes: + BUILD=x86_64-conda-linux-gnu + CC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/moss-0.1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH=$PREFIX;$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=$PREFIX:$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot/usr + CONDA_BUILD_SYSROOT=$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot + CONDA_TOOLCHAIN_BUILD=x86_64-conda-linux-gnu + CONDA_TOOLCHAIN_HOST=x86_64-conda-linux-gnu + CPP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cpp + CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include + DEBUG_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/moss-0.1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem $PREFIX/include + GCC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc + GCC_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar + GCC_NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-nm + GCC_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib + HOST=x86_64-conda-linux-gnu + LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_cos6_linux_gnu + build_alias=x86_64-conda-linux-gnu + host_alias=x86_64-conda-linux-gnu + -BUILD=x86_64-conda_cos6-linux-gnu + -CONDA_BUILD_SYSROOT= + INFO: activate-gxx_linux-64.sh made the following environmental changes: + CXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/moss-0.1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + DEBUG_CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/moss-0.1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + GXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-g + -- The CXX compiler identification is GNU 12.3.0 + -- Detecting CXX compiler ABI info + -- Detecting CXX compiler ABI info - done + -- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c - skipped + -- Detecting CXX compile features + -- Detecting CXX compile features - done + HTSlib_INCLUDE_DIR=HTSlib_INCLUDE_DIR-NOTFOUND + HTSlib_LIBRARY=HTSlib_LIBRARY-NOTFOUND + CMake Error at FindHTSlib.cmake:67 (message): + Required library HTSlib NOT FOUND. + + Install the library (dev version) and try again. If the library is already + installed, use ccmake to set the missing variables manually. + Call Stack (most recent call first): + FindHTSlib.cmake:144 (libfind_process) + CMakeLists.txt:12 (find_package) + + + -- Configuring incomplete, errors occurred! + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/moss_1717788077340/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/moss/meta.yaml b/recipes/moss/meta.yaml index 8a9018a489ad2..485975a369583 100644 --- a/recipes/moss/meta.yaml +++ b/recipes/moss/meta.yaml @@ -11,7 +11,7 @@ source: - patch build: - number: 6 + number: 7 skip: True # [osx] requirements: diff --git a/recipes/motifscan/meta.yaml b/recipes/motifscan/meta.yaml index ce73bd8b20247..65a0282043641 100644 --- a/recipes/motifscan/meta.yaml +++ b/recipes/motifscan/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 8059ab3232dfe7580835c5e953a8edd3f843676d57a6afbc41c5518a8a4dfde2 build: - number: 3 + number: 4 skip: True # [py<36] entry_points: - motifscan=motifscan.cli.main:main diff --git a/recipes/mp-est/meta.yaml b/recipes/mp-est/meta.yaml index 5df420ea79562..86211692cfb7f 100644 --- a/recipes/mp-est/meta.yaml +++ b/recipes/mp-est/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 0 + number: 1 requirements: build: diff --git a/recipes/mpra-data-access-portal/meta.yaml b/recipes/mpra-data-access-portal/meta.yaml index a817b60e07d5f..a823556a22a5f 100644 --- a/recipes/mpra-data-access-portal/meta.yaml +++ b/recipes/mpra-data-access-portal/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.1.8" %} -{% set sha256 = "d505aa70ab9ed1bd60e031d98462b3eb187d4bca881dfec1b265c4d46840d3f1" %} +{% set version = "0.1.9" %} +{% set sha256 = "5ad25bbbe111b3ae96b324da69fa5799893401a7f280462871c18a13509c6164" %} package: name: mpra-data-access-portal @@ -10,7 +10,9 @@ source: sha256: {{ sha256 }} build: - number: 3 + run_exports: + - {{ pin_subpackage('mpra-data-access-portal', max_pin="x.x") }} + number: 0 noarch: generic requirements: @@ -24,7 +26,7 @@ requirements: - r-readr - r-stringr - r-plotly - - r-shinytest + - r-shinyvalidate - r-markdown test: diff --git a/recipes/mquad/meta.yaml b/recipes/mquad/meta.yaml new file mode 100644 index 0000000000000..1e58632d7b083 --- /dev/null +++ b/recipes/mquad/meta.yaml @@ -0,0 +1,58 @@ +{% set name = "mquad" %} +{% set version = "0.1.8b" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + git_url: https://github.com/single-cell-genetics/MQuad.git + git_rev: c2d750c + sha256: unused + +build: + number: 0 + noarch: python + entry_points: + - mquad = mquad.mquad_CLI:main + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + run_exports: + - {{ pin_subpackage('mquad', max_pin="x.x") }} + +requirements: + host: + - python >=3.8 + - pip + run: + - python >=3.8 + - numpy >=1.9.0 + - scipy >=1.4.0 + - matplotlib-base + - bbmix >=0.2.2 + - vireosnp + - kneed + - pandas + - seaborn-base + - scikit-learn + +test: + imports: + - mquad + commands: + - mquad --help + +about: + home: "https://github.com/aaronkwc/MQuad" + summary: "MQuad: Mixture Model for Mitochondrial Mutation detection in single-cell omics data." + license: "Apache-2.0" + license_family: APACHE + license_file: LICENSE + dev_url: "https://github.com/aaronkwc/MQuad" + doc_url: "https://github.com/single-cell-genetics/MQuad/blob/main/README.rst" + +extra: + identifiers: + - doi:10.1038/s41467-022-28845-0 + - biotools:mquad + skip-lints: + - uses_vcs_url diff --git a/recipes/ms-entropy/meta.yaml b/recipes/ms-entropy/meta.yaml index 1acfdcb572439..d8692e0b3c899 100644 --- a/recipes/ms-entropy/meta.yaml +++ b/recipes/ms-entropy/meta.yaml @@ -1,5 +1,5 @@ {% set name = "ms-entropy" %} -{% set version = "1.1.1" %} +{% set version = "1.2.0" %} package: name: {{ name|lower }} @@ -7,12 +7,11 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/ms_entropy-{{ version }}.tar.gz - sha256: ec2df69651049853e0b9d645abb1f0f3f4042e8d79bf8bc8997ba3c52b116525 + sha256: 428b43006b75824d80bd494dea0f80fa2e3c3366b7b31d556055ea6500a568cd build: - skip: true # [py<37] script: {{ PYTHON }} -m pip install . -vv - number: 0 + number: 1 run_exports: - {{ pin_subpackage('ms-entropy', max_pin='x.x') }} diff --git a/recipes/ms2deepscore/LICENCE b/recipes/ms2deepscore/LICENCE deleted file mode 100644 index 261eeb9e9f8b2..0000000000000 --- a/recipes/ms2deepscore/LICENCE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/recipes/ms2deepscore/meta.yaml b/recipes/ms2deepscore/meta.yaml index ee8f51bf196d1..af3102cc3571f 100644 --- a/recipes/ms2deepscore/meta.yaml +++ b/recipes/ms2deepscore/meta.yaml @@ -1,6 +1,6 @@ {% set name = "ms2deepscore" %} -{% set version = "0.5.0" %} -{% set sha256 = "7adcc18260b37291f525a263cb4d46c68b2e326718c36fde78cbb88d7ddd03a7" %} +{% set version = "2.1.0" %} +{% set sha256 = "ba844b923a6e1fb61c8dc24c8ea507ed5e502a81e8f675710ba76574498e5c9c" %} package: name: {{ name|lower }} @@ -13,19 +13,26 @@ source: build: number: 0 noarch: python - script: {{ PYTHON }} -m pip install . + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + run_exports: + - {{ pin_subpackage('ms2deepscore', max_pin="x") }} requirements: host: - - python >=3.8 + - python >=3.9 + - pip run: - - python >=3.8 - - matchms >=0.14 + - python >=3.9 + - matchms >=0.18.0 + - matplotlib-base ==3.7.2 - numba - numpy >=1.20.3 - pandas + - pytorch + - tensorboard + - torchvision + - scikit-learn - tqdm - - tensorflow test: imports: @@ -34,15 +41,19 @@ test: about: home: https://github.com/matchms/ms2deepscore license: Apache-2.0 + license_family: APACHE license_file: LICENSE + dev_url: https://github.com/matchms/ms2deepscore summary: "Deep learning similarity measure for comparing MS/MS spectra with respect to their chemical similarity" description: | ms2deepscore provides a Siamese neural network that is trained to predict molecular structural similarities (Tanimoto scores) from pairs of mass spectrometry spectra. + extra: identifiers: - - doi:https://doi.org/10.1186/s13321-021-00558-4 + - doi:10.1186/s13321-021-00558-4 + - biotools:ms2deepscore recipe-maintainers: - niekdejonge - hechth diff --git a/recipes/ms2pip/build_failure.linux-64.yaml b/recipes/ms2pip/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..e1f0f20921483 --- /dev/null +++ b/recipes/ms2pip/build_failure.linux-64.yaml @@ -0,0 +1,106 @@ +recipe_sha: cd4c86534ca7008c3d495966fb1c51b40807a4137e8ec1f32783f4da9d306ecb # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + pcre2: 10.43-hcad00b1_0 conda-forge + pillow: 10.3.0-py310hf73ecf8_0 conda-forge + pip: 24.0-pyhd8ed1ab_0 conda-forge + pixman: 0.43.2-h59595ed_0 conda-forge + psims: 1.3.3-pyhdfd78af_0 bioconda + psm-utils: 0.9.0-pyhdfd78af_0 bioconda + pthread-stubs: 0.4-h36c2ea0_1001 conda-forge + pulseaudio-client: 17.0-hb77b528_0 conda-forge + py-cpuinfo: 9.0.0-pyhd8ed1ab_0 conda-forge + py-xgboost: 2.0.3-cpu_pyh995e691_4 conda-forge + pyarrow: 16.1.0-py310h17c5347_1 conda-forge + pyarrow-core: 16.1.0-py310h6f79a3a_1_cpu conda-forge + pydantic: 1.10.14-py310h2372a71_0 conda-forge + pygments: 2.18.0-pyhd8ed1ab_0 conda-forge + pyopenms: 3.1.0-py310h9b8898c_0 bioconda + pyparsing: 3.1.2-pyhd8ed1ab_0 conda-forge + pytables: 3.9.2-py310hd76cd5d_2 conda-forge + pyteomics: 4.6.3-pyh7cba7a3_0 bioconda + python: 3.10.14-hd12c33a_0_cpython conda-forge + python-dateutil: 2.9.0-pyhd8ed1ab_0 conda-forge + python-tzdata: 2024.1-pyhd8ed1ab_0 conda-forge + python_abi: 3.10-4_cp310 conda-forge + pytz: 2024.1-pyhd8ed1ab_0 conda-forge + qt-main: 5.15.8-hc9dc06e_21 conda-forge + re2: 2023.09.01-h7f4b329_2 conda-forge + readline: 8.2-h8228510_1 conda-forge + rich: 13.7.1-pyhd8ed1ab_0 conda-forge + s2n: 1.4.15-he19d79f_0 conda-forge + scikit-learn: 1.5.0-py310h981052a_1 conda-forge + scipy: 1.13.1-py310h93e2701_0 conda-forge + setuptools: 70.0.0-pyhd8ed1ab_0 conda-forge + six: 1.16.0-pyh6c4a22f_0 conda-forge + snappy: 1.2.0-hdb0a2a9_1 conda-forge + sqlalchemy: 2.0.30-py310hc51659f_0 conda-forge + sysroot_linux-64: 2.17-h4a8ded7_14 conda-forge + threadpoolctl: 3.5.0-pyhc1e730c_0 conda-forge + tk: 8.6.13-noxft_h4845f30_101 conda-forge + tomlkit: 0.12.5-pyha770c72_0 conda-forge + tqdm: 4.66.4-pyhd8ed1ab_0 conda-forge + typing-extensions: 4.12.2-hd8ed1ab_0 conda-forge + typing_extensions: 4.12.2-pyha770c72_0 conda-forge + tzdata: 2024a-h0c530f3_0 conda-forge + unicodedata2: 15.1.0-py310h2372a71_0 conda-forge + werkzeug: 3.0.3-pyhd8ed1ab_0 conda-forge + wheel: 0.43.0-pyhd8ed1ab_1 conda-forge + xcb-util: 0.4.0-hd590300_1 conda-forge + xcb-util-image: 0.4.0-h8ee46fc_1 conda-forge + xcb-util-keysyms: 0.4.0-h8ee46fc_1 conda-forge + xcb-util-renderutil: 0.3.9-hd590300_1 conda-forge + xcb-util-wm: 0.4.1-h8ee46fc_1 conda-forge + xerces-c: 3.2.5-hac6953d_0 conda-forge + xgboost: 2.0.3-cpu_pyhb8f9a19_4 conda-forge + xkeyboard-config: 2.42-h4ab18f5_0 conda-forge + xorg-kbproto: 1.0.7-h7f98852_1002 conda-forge + xorg-libice: 1.1.1-hd590300_0 conda-forge + xorg-libsm: 1.2.4-h7391055_0 conda-forge + xorg-libx11: 1.8.9-h8ee46fc_0 conda-forge + xorg-libxau: 1.0.11-hd590300_0 conda-forge + xorg-libxdmcp: 1.1.3-h7f98852_0 conda-forge + xorg-libxext: 1.3.4-h0b41bf4_2 conda-forge + xorg-libxrender: 0.9.11-hd590300_0 conda-forge + xorg-renderproto: 0.11.1-h7f98852_1002 conda-forge + xorg-xextproto: 7.3.0-h0b41bf4_1003 conda-forge + xorg-xf86vidmodeproto: 2.3.1-h7f98852_1002 conda-forge + xorg-xproto: 7.0.31-h7f98852_1007 conda-forge + xz: 5.2.6-h166bdaf_0 conda-forge + zlib: 1.2.13-h4ab18f5_6 conda-forge + zlib-ng: 2.0.7-h0b41bf4_0 conda-forge + zstd: 1.5.6-ha6fb4c9_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + export PREFIX=/opt/conda/conda-bld/ms2pip_1717953708615/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p + export SRC_DIR=/opt/conda/conda-bld/ms2pip_1717953708615/test_tmp + Traceback (most recent call last): + File "/opt/conda/conda-bld/ms2pip_1717953708615/test_tmp/run_test.py", line 2, in + import: 'ms2pip' + import ms2pip + File "/opt/conda/conda-bld/ms2pip_1717953708615/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.10/site-packages/ms2pip/__init__.py", line 13, in + from ms2pip.core import ( # noqa: F401 E402 + File "/opt/conda/conda-bld/ms2pip_1717953708615/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.10/site-packages/ms2pip/core.py", line 16, in + from psm_utils import PSM, Peptidoform, PSMList + File "/opt/conda/conda-bld/ms2pip_1717953708615/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.10/site-packages/psm_utils/__init__.py", line 17, in + from psm_utils.psm import PSM # noqa: E402 + File "/opt/conda/conda-bld/ms2pip_1717953708615/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.10/site-packages/psm_utils/psm.py", line 10, in + class PSM(BaseModel): + File "pydantic/main.py", line 197, in pydantic.main.ModelMetaclass.__new__ + File "pydantic/fields.py", line 504, in pydantic.fields.ModelField.infer + File "pydantic/fields.py", line 434, in pydantic.fields.ModelField.__init__ + File "pydantic/fields.py", line 550, in pydantic.fields.ModelField.prepare + File "pydantic/fields.py", line 661, in pydantic.fields.ModelField._type_analysis + File "pydantic/fields.py", line 806, in pydantic.fields.ModelField._create_sub_type + File "pydantic/fields.py", line 434, in pydantic.fields.ModelField.__init__ + File "pydantic/fields.py", line 555, in pydantic.fields.ModelField.prepare + File "pydantic/fields.py", line 829, in pydantic.fields.ModelField.populate_validators + File "pydantic/validators.py", line 765, in find_validators + RuntimeError: no validator found for , see arbitrary_types_allowed in Config + WARNING: Tests failed for ms2pip-4.0.0.dev8-py310hb627759_1.tar.bz2 - moving package to /opt/conda/conda-bld/broken + TESTS FAILED: ms2pip-4.0.0.dev8-py310hb627759_1.tar.bz2 +# Last 100 lines of the build log. +reason: |- + pydantic validator error diff --git a/recipes/ms2pip/build_failure.osx-64.yaml b/recipes/ms2pip/build_failure.osx-64.yaml index 5f923c8d1dd21..6f5a359ff836e 100644 --- a/recipes/ms2pip/build_failure.osx-64.yaml +++ b/recipes/ms2pip/build_failure.osx-64.yaml @@ -1,104 +1,106 @@ -recipe_sha: db896db02039c11466cbaa54182f089283fc9780b03547795aac2880b4decf6c # The commit at which this recipe failed to build. +recipe_sha: cd4c86534ca7008c3d495966fb1c51b40807a4137e8ec1f32783f4da9d306ecb # The hash of the recipe's meta.yaml at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. log: |2- - copying build/lib.macosx-10.9-x86_64-cpython-310/fasta2speclib/fasta2speclib.py -> build/bdist.macosx-10.9-x86_64/wheel/fasta2speclib - running install_egg_info - Copying ms2pip.egg-info to build/bdist.macosx-10.9-x86_64/wheel/ms2pip-3.11.0-py3.10.egg-info - running install_scripts - creating build/bdist.macosx-10.9-x86_64/wheel/ms2pip-3.11.0.dist-info/WHEEL - creating '/private/tmp/pip-wheel-eve94_i1/.tmp-idecnkym/ms2pip-3.11.0-cp310-cp310-macosx_10_9_x86_64.whl' and adding 'build/bdist.macosx-10.9-x86_64/wheel' to it - adding 'fasta2speclib/__init__.py' - adding 'fasta2speclib/fasta2speclib.py' - adding 'ms2pip/__init__.py' - adding 'ms2pip/__main__.py' - adding 'ms2pip/config_parser.py' - adding 'ms2pip/exceptions.py' - adding 'ms2pip/feature_names.py' - adding 'ms2pip/match_spectra.py' - adding 'ms2pip/ms2pipC.py' - adding 'ms2pip/peptides.py' - adding 'ms2pip/predict_xgboost.py' - adding 'ms2pip/retention_time.py' - adding 'ms2pip/single_prediction.py' - adding 'ms2pip/spectrum.py' - adding 'ms2pip/cython_modules/ms2pip_features_c_catboost.c' - adding 'ms2pip/cython_modules/ms2pip_features_c_ce.c' - adding 'ms2pip/cython_modules/ms2pip_features_c_general.c' - adding 'ms2pip/cython_modules/ms2pip_features_c_old.c' - adding 'ms2pip/cython_modules/ms2pip_init_c.c' - adding 'ms2pip/cython_modules/ms2pip_peaks_c.c' - adding 'ms2pip/cython_modules/ms2pip_pyx.cpython-310-darwin.so' - adding 'ms2pip/cython_modules/ms2pip_pyx.pyx' - adding 'ms2pip/models/HCD-2019.h' - adding 'ms2pip/models/TMT.h' - adding 'ms2pip/models/HCD-2019/model_20190107_HCD_train_B.c' - adding 'ms2pip/models/HCD-2019/model_20190107_HCD_train_B2.c' - adding 'ms2pip/models/HCD-2019/model_20190107_HCD_train_Y.c' - adding 'ms2pip/models/HCD-2019/model_20190107_HCD_train_Y2.c' - adding 'ms2pip/models/TMT/model_20190107_TMT_train_B.c' - adding 'ms2pip/models/TMT/model_20190107_TMT_train_Y.c' - adding 'ms2pip/ms2pip_tools/__init__.py' - adding 'ms2pip/ms2pip_tools/calc_correlations.py' - adding 'ms2pip/ms2pip_tools/dlib.py' - adding 'ms2pip/ms2pip_tools/get_elude_predictions.py' - adding 'ms2pip/ms2pip_tools/spectrum_output.py' - adding 'ms2pip-3.11.0.dist-info/LICENSE' - adding 'ms2pip-3.11.0.dist-info/METADATA' - adding 'ms2pip-3.11.0.dist-info/WHEEL' - adding 'ms2pip-3.11.0.dist-info/entry_points.txt' - adding 'ms2pip-3.11.0.dist-info/top_level.txt' - adding 'ms2pip-3.11.0.dist-info/RECORD' - removing build/bdist.macosx-10.9-x86_64/wheel - Building wheel for ms2pip (pyproject.toml): finished with status 'done' - Created wheel for ms2pip: filename=ms2pip-3.11.0-cp310-cp310-macosx_10_9_x86_64.whl size=13990705 sha256=8d11860d5bf731f021664ac7254f4948aab6554967e6a7bd16eaf53c53587a77 - Stored in directory: /private/tmp/pip-ephem-wheel-cache-n2ix8ypb/wheels/c7/bc/d1/fad97acea95d3f9548679cb16a1392ed5d4e4187866d3358db - Successfully built ms2pip - Installing collected packages: ms2pip + libzlib: 1.2.13-h87427d6_6 conda-forge + llvm-openmp: 15.0.7-h61d9ccf_0 conda-forge + lxml: 5.2.2-py310h27134ca_0 conda-forge + lz4-c: 1.9.4-hf0c8a7f_0 conda-forge + markdown-it-py: 3.0.0-pyhd8ed1ab_0 conda-forge + markupsafe: 2.1.5-py310hb372a2b_0 conda-forge + matplotlib-base: 3.8.4-py310h7ea1ff3_2 conda-forge + mdurl: 0.1.2-pyhd8ed1ab_0 conda-forge + ms2pip: 4.0.0.dev8-py310hc6dee1f_1 local + munkres: 1.1.4-pyh9f0ad1d_0 conda-forge + mysql-common: 8.3.0-hfd7a639_4 conda-forge + mysql-libs: 8.3.0-ha9146f8_4 conda-forge + ncurses: 6.5-h5846eda_0 conda-forge + nspr: 4.35-hea0b92c_0 conda-forge + nss: 3.100-h6606ded_0 conda-forge + numexpr: 2.10.0-py310hbf2a7f0_0 conda-forge + numpy: 1.23.5-py310h1b7c290_0 conda-forge + openjpeg: 2.5.2-h7310d3a_0 conda-forge + openssl: 3.3.1-h87427d6_0 conda-forge + orc: 2.0.1-hf43e91b_1 conda-forge + packaging: 24.0-pyhd8ed1ab_0 conda-forge + pandas: 2.2.2-py310hbf2a7f0_1 conda-forge + pcre2: 10.43-h0ad2156_0 conda-forge + pillow: 10.3.0-py310h99295b8_0 conda-forge + psims: 1.3.3-pyhdfd78af_0 bioconda + psm-utils: 0.9.0-pyhdfd78af_0 bioconda + pthread-stubs: 0.4-hc929b4f_1001 conda-forge + py-cpuinfo: 9.0.0-pyhd8ed1ab_0 conda-forge + py-xgboost: 1.7.6-cpu_py310h84be057_2 conda-forge + pyarrow: 16.1.0-py310h1cef2ca_1 conda-forge + pyarrow-core: 16.1.0-py310h907dfef_1_cpu conda-forge + pydantic: 1.10.14-py310hb372a2b_0 conda-forge + pygments: 2.18.0-pyhd8ed1ab_0 conda-forge + pyopenms: 2.9.1-py310hdc5ccfa_3 bioconda + pyparsing: 3.1.2-pyhd8ed1ab_0 conda-forge + pytables: 3.8.0-py310hd1bf580_2 conda-forge + pyteomics: 4.6.3-pyh7cba7a3_0 bioconda + python: 3.10.14-h00d2728_0_cpython conda-forge + python-dateutil: 2.9.0-pyhd8ed1ab_0 conda-forge + python-tzdata: 2024.1-pyhd8ed1ab_0 conda-forge + python_abi: 3.10-4_cp310 conda-forge + pytz: 2024.1-pyhd8ed1ab_0 conda-forge + qt-main: 5.15.8-hecaf5c3_21 conda-forge + re2: 2023.09.01-hb168e87_2 conda-forge + readline: 8.2-h9e318b2_1 conda-forge + rich: 13.7.1-pyhd8ed1ab_0 conda-forge + scikit-learn: 1.3.1-py310h9d3367e_0 conda-forge + scipy: 1.13.1-py310h35d8cac_0 conda-forge + setuptools: 70.0.0-pyhd8ed1ab_0 conda-forge + six: 1.16.0-pyh6c4a22f_0 conda-forge + snappy: 1.2.0-h6dc393e_1 conda-forge + sqlalchemy: 2.0.30-py310h56a41de_0 conda-forge + threadpoolctl: 3.5.0-pyhc1e730c_0 conda-forge + tk: 8.6.13-h1abcd95_1 conda-forge + tomlkit: 0.12.5-pyha770c72_0 conda-forge + tqdm: 4.66.4-pyhd8ed1ab_0 conda-forge + typing-extensions: 4.12.2-hd8ed1ab_0 conda-forge + typing_extensions: 4.12.2-pyha770c72_0 conda-forge + tzdata: 2024a-h0c530f3_0 conda-forge + unicodedata2: 15.1.0-py310h6729b98_0 conda-forge + werkzeug: 3.0.3-pyhd8ed1ab_0 conda-forge + xerces-c: 3.2.5-hbbe9ea5_0 conda-forge + xgboost: 1.7.6-cpu_py310h84be057_2 conda-forge + xorg-libxau: 1.0.11-h0dc2134_0 conda-forge + xorg-libxdmcp: 1.1.3-h35c211d_0 conda-forge + xz: 5.2.6-h775f41a_0 conda-forge + zlib: 1.2.13-h87427d6_6 conda-forge + zlib-ng: 2.0.7-hb7f2c08_0 conda-forge + zstd: 1.5.6-h915ae27_0 conda-forge - changing mode of $PREFIX/bin/fasta2speclib to 755 - changing mode of $PREFIX/bin/ms2pip to 755 - changing mode of $PREFIX/bin/ms2pip-single-prediction to 755 - Successfully installed ms2pip-3.11.0 - Removed build tracker: '/private/tmp/pip-build-tracker-p6mmyl3r' - - Resource usage statistics from building ms2pip: - Process count: 6 - CPU time: Sys=0:00:06.1, User=0:03:52.1 - Memory: 1.2G - Disk usage: 388.1K - Time elapsed: 0:04:26.4 - - - compiling .pyc files... - number of files: 66 + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2358, in build - newly_built_packages = bundlers[pkg_type](output_d, m, env, stats) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 1659, in bundle_conda - files = post_process_files(metadata, initial_files) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 1505, in post_process_files - post_build(m, new_files, build_python=python) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/post.py", line 1318, in post_build - post_process_shared_lib(m, f, prefix_files, host_prefix) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/post.py", line 1266, in post_process_shared_lib - mk_relative_osx(path, host_prefix, m, files=files, rpaths=rpaths) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/post.py", line 397, in mk_relative_osx - names = macho.otool(path, prefix) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/os_utils/macho.py", line 194, in otool - lines = check_output([otool, '-l', path], - File "/opt/mambaforge/envs/bioconda/lib/python3.8/subprocess.py", line 415, in check_output - return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/subprocess.py", line 516, in run - raise CalledProcessError(retcode, process.args, - subprocess.CalledProcessError: Command '['/opt/mambaforge/envs/bioconda/conda-bld/ms2pip_1685617119812/_build_env/bin/llvm-otool', '-l', '/opt/mambaforge/envs/bioconda/conda-bld/ms2pip_1685617119812/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.10/site-packages/ms2pip/cython_modules/ms2pip_pyx.cpython-310-darwin.so']' died with . + File "/opt/mambaforge/envs/bioconda/conda-bld/ms2pip_1717959928228/test_tmp/run_test.py", line 2, in + import ms2pip + File "/opt/mambaforge/envs/bioconda/conda-bld/ms2pip_1717959928228/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib/python3.10/site-packages/ms2pip/__init__.py", line 13, in + from ms2pip.core import ( # noqa: F401 E402 + File "/opt/mambaforge/envs/bioconda/conda-bld/ms2pip_1717959928228/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib/python3.10/site-packages/ms2pip/core.py", line 16, in + from psm_utils import PSM, Peptidoform, PSMList + File "/opt/mambaforge/envs/bioconda/conda-bld/ms2pip_1717959928228/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib/python3.10/site-packages/psm_utils/__init__.py", line 17, in + from psm_utils.psm import PSM # noqa: E402 + File "/opt/mambaforge/envs/bioconda/conda-bld/ms2pip_1717959928228/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib/python3.10/site-packages/psm_utils/psm.py", line 10, in + class PSM(BaseModel): + File "pydantic/main.py", line 197, in pydantic.main.ModelMetaclass.__new__ + File "pydantic/fields.py", line 504, in pydantic.fields.ModelField.infer + File "pydantic/fields.py", line 434, in pydantic.fields.ModelField.__init__ + File "pydantic/fields.py", line 550, in pydantic.fields.ModelField.prepare + File "pydantic/fields.py", line 661, in pydantic.fields.ModelField._type_analysis + File "pydantic/fields.py", line 806, in pydantic.fields.ModelField._create_sub_type + File "pydantic/fields.py", line 434, in pydantic.fields.ModelField.__init__ + File "pydantic/fields.py", line 555, in pydantic.fields.ModelField.prepare + File "pydantic/fields.py", line 829, in pydantic.fields.ModelField.populate_validators + File "pydantic/validators.py", line 765, in find_validators + RuntimeError: no validator found for , see arbitrary_types_allowed in Config + WARNING: Tests failed for ms2pip-4.0.0.dev8-py310hc6dee1f_1.tar.bz2 - moving package to /opt/mambaforge/envs/bioconda/conda-bld/broken + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/ms2pip_1717959928228/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl + TESTS FAILED: ms2pip-4.0.0.dev8-py310hc6dee1f_1.tar.bz2 + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/ms2pip_1717959928228/test_tmp + import: 'ms2pip' # Last 100 lines of the build log. +reason: |- + pydantic validator error diff --git a/recipes/ms2pip/meta.yaml b/recipes/ms2pip/meta.yaml index 975bda9d85d11..df283caa45a97 100644 --- a/recipes/ms2pip/meta.yaml +++ b/recipes/ms2pip/meta.yaml @@ -1,18 +1,18 @@ -{% set version = "4.0.0.dev4" %} +{% set version = "4.0.0" %} {% set name = "ms2pip" %} -{% set sha256 = "3342bca48d5163a2fc833065ef1fc43bd349eb3ea32239fb8b74bc759b98ea3d" %} +{% set sha256 = "b2329700e8c2af5c64d8fa0ef62dbc6ee52c60d7b18e5d860a4d9194c225ec29" %} package: - name: "ms2pip" + name: "{{ name|lower }}" version: "{{ version }}" source: - url: https://pypi.io/packages/source/m/ms2pip/ms2pip-{{ version }}.tar.gz + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" sha256: {{ sha256 }} build: number: 0 - skip: True # [py < 37] + skip: true # [py >= 312] run_exports: - {{ pin_subpackage(name, max_pin="x") }} entry_points: @@ -35,20 +35,22 @@ requirements: run: - python >=3.8 - {{ pin_compatible('numpy') }} - - pandas >=1.0 - - pyteomics >=3.5 + - pandas >=1.0,<2 + - pyteomics >=3.5,<5 - tqdm >=4 - pytables >=3.4 - - tomlkit >=0.5 - - click >=7 - - xgboost >=1.3 + - tomlkit >=0.5,<1 + - click >=7,<9 + - xgboost >=1.3,<2 - matplotlib-base >=3.0 - lxml >=4 - rich >=13 - - pydantic >=1.10,<2 - - psm-utils + - pydantic >=2 + - psm-utils >=0.9 - werkzeug >=2 - pyarrow + - pyopenms + - ms2rescore-rs test: imports: diff --git a/recipes/ms2query/meta.yaml b/recipes/ms2query/meta.yaml index 9c03dfc03553a..36e618ab5adb8 100644 --- a/recipes/ms2query/meta.yaml +++ b/recipes/ms2query/meta.yaml @@ -1,6 +1,6 @@ {% set name = "ms2query" %} -{% set version = "1.2.3" %} -{% set sha256 = "2111d9bb6d6b35144128f396d6141ec151b4f4d14a262de0516e3673bfd9a9f1" %} +{% set version = "1.5.3" %} +{% set sha256 = "d1e79994e2bdee9317d2dc87a8f9360a86ff406a103558024e1f93e0261cd535" %} package: name: {{ name|lower }} @@ -21,23 +21,22 @@ build: requirements: host: - - python >=3.7 + - python >=3.9 run: - - python >=3.7 - - matchms >=0.14.0,<=0.17.0 - - spec2vec >=0.6.0 - - h5py >=3.8.0 - - tensorflow <2.9 - - scikit-learn - - ms2deepscore - - gensim >=4.0.0 - - pandas >=1.2.5,<2.0.0 - - matchmsextras =0.4.1 - - pubchempy - - tqdm + - python >=3.9 + - matchms =0.26.4 + - spec2vec =0.8.0 + - numpy =1.24.4 + - h5py =3.11.0 + - scikit-learn =1.5.0 + - pyarrow =16.1.0 + - ms2deepscore =2.0.0 + - pandas =2.2.2 - matplotlib-base - - skl2onnx - - onnxruntime + - skl2onnx =1.16.0 + - onnxruntime =1.17.0 + - pytest =8.2.2 + - pytest-cov =5.0.0 - rdkit test: @@ -48,7 +47,7 @@ about: home: https://github.com/iomega/ms2query license: Apache-2.0 license_file: LICENSE - summary: "Reliable and fast MS/MS spectral-based analogue search" + summary: "Reliable and fast MS/MS spectral based analogue search" extra: identifiers: diff --git a/recipes/ms2rescore-rs/build.sh b/recipes/ms2rescore-rs/build.sh new file mode 100644 index 0000000000000..89752b0073526 --- /dev/null +++ b/recipes/ms2rescore-rs/build.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +# -e = exit on first error +# -x = print every executed command +set -ex + +# Add workaround for SSH-based Git connections from Rust/cargo. See https://github.com/rust-lang/cargo/issues/2078 for details. +# We set CARGO_HOME because we don't pass on HOME to conda-build, thus rendering the default "${HOME}/.cargo" defunct. +export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="${BUILD_PREFIX}/.cargo" + +# Use a custom temporary directory as home on macOS. +# (not sure why this is useful, but people use it in bioconda recipes) +if [ `uname` == Darwin ]; then + export HOME=`mktemp -d` +fi + +# Build the package using maturin - should produce *.whl files. +maturin build --interpreter $PYTHON --release + +# Install *.whl files using pip +$PYTHON -m pip install target/wheels/*.whl --no-deps --ignore-installed -vv diff --git a/recipes/ms2rescore-rs/meta.yaml b/recipes/ms2rescore-rs/meta.yaml new file mode 100644 index 0000000000000..1a0a2afa568f4 --- /dev/null +++ b/recipes/ms2rescore-rs/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "ms2rescore-rs" %} +{% set version = "0.2.0" %} +{% set sha256 = "561ed92f58fd7ecccc78b3e4b1bc91ffa36d0f2e58d54f7ea317898f3ea55560" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/ms2rescore_rs-{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 1 + skip: True # [py < 37] + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x.x") }} + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('rust') }} + - make + - cmake + host: + - zlib + - python + - maturin >=1.5,<2.0 + - pip + run: + - python + +test: + imports: + - ms2rescore_rs + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/compomics/ms2rescore-rs + summary: "Rust functionality for the MS²Rescore package" + license: Apache-2.0 + license_file: LICENSE + +extra: + recipe-maintainers: + - CompOmics + - RalfG diff --git a/recipes/ms2rescore/meta.yaml b/recipes/ms2rescore/meta.yaml index e6dd1106f161f..47c1ca6c892a4 100644 --- a/recipes/ms2rescore/meta.yaml +++ b/recipes/ms2rescore/meta.yaml @@ -1,5 +1,5 @@ {% set name = "ms2rescore" %} -{% set version = "3.0.0" %} +{% set version = "3.0.3" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/ms2rescore-{{ version }}.tar.gz - sha256: d59b82f3e8543ab6456126f07dd09c0455daf36a6d226042b87e63aa5cc6cee0 + sha256: d2ecbe0dd3c23ce598265b265c83c84e515f50fef849c0deac3963c49ba93c77 build: number: 0 @@ -18,7 +18,7 @@ build: - ms2rescore = ms2rescore.__main__:main - ms2rescore-gui = ms2rescore.gui.__main__:main - ms2rescore-report = ms2rescore.report.__main__:main - script: "{{ PYTHON }} -m pip install . --no-deps -vvv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" requirements: host: @@ -30,44 +30,45 @@ requirements: - numpy >=1.16.0 - pandas >=1.0 - rich >=12 - - pyteomics >=4.1.0 + - pyteomics >=4.1.0,<=4.6.3 - pyopenms - lxml >=4.5 - - ms2pip >=4.0.0-dev4 + - ms2pip >=4.0.0-dev8 + - ms2rescore-rs - click >=7 - cascade-config >=0.4.0 - deeplc >=2.2 - - deeplcretrainer ==0.1.17 + - deeplcretrainer >=0.2 - tomli >=2 # [py<311] - psm-utils >=0.4 - customtkinter >=5,<6 - mokapot >=0.9 - pydantic >=1.8.2,<2 - jinja2 >=3 - - plotly + - plotly >=5 - sqlalchemy <2,>=1.3 - mokapot - statsmodels - matplotlib-base - seaborn + - xgboost <2,>=1.3 # from ms2pip test: imports: - ms2rescore commands: - - pip check - ms2rescore --help # - ms2rescore-gui --help - ms2rescore-report --help - requires: - - pip about: home: https://compomics.github.io/projects/ms2rescore/ summary: 'MS²Rescore: Sensitive PSM rescoring with predicted MS² peak intensities and retention times.' dev_url: https://github.com/compomics/ms2rescore license: Apache-2.0 + license_family: APACHE license_file: LICENSE + doc_url: https://ms2rescore.readthedocs.io/en/stable/ extra: container: diff --git a/recipes/msfragger/academic_install.py b/recipes/msfragger/academic_install.py new file mode 100755 index 0000000000000..2f47dc5e87cfa --- /dev/null +++ b/recipes/msfragger/academic_install.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python3 + +# Automates accepting the academic license agreements in order to download MSFragger. A user of this package is then expected to accept the terms themselves when they download a license key from the MSFragger site, which is enforced by the wrapper script and MSFragger jar file. + +import argparse +import hashlib +import os +import re +import sys +import urllib.request +import urllib.parse + +MSFRAGGER_URL = 'http://msfragger-upgrader.nesvilab.org/upgrader/upgrade_download.php' +DOWNLOAD_READ_SIZE = 1000000 + +def download_url(url, post_dict, dest): + data = urllib.parse.urlencode(post_dict).encode('ascii') + with open(dest, 'wb') as wh: + size = 0 + m = hashlib.sha256() + with urllib.request.urlopen(url, data) as f: + while True: + seg = f.read(DOWNLOAD_READ_SIZE) + m.update(seg) + bytes_read = len(seg) + if bytes_read < 1: + break + size += bytes_read + wh.write(seg) + + return m.hexdigest() + +def parse_version(version_string): + version_pattern = '([\\d.]+)' + m = re.search(version_pattern, version_string.strip()) + if m: + return m.groups()[0] + return None + +parser = argparse.ArgumentParser( + description="Download MSFragger zip file." +) +parser.add_argument( + '-n', '--name', help='user name' +) +parser.add_argument( + '-e', '--email', help='email' +) +parser.add_argument( + '-o', '--organization', help='institutional organization' +) +parser.add_argument( + '-m', '--msfragger_version', help='MSFragger version', required=True +) +parser.add_argument( + '-p', '--path', default='.', help='path in which to install' +) +parser.add_argument( + '--hash', default='.', help='SHA256 hash of downloaded zip' +) + +args = parser.parse_args() +fgr_ver = parse_version(args.msfragger_version) +if fgr_ver is None: + print(f'Could not find version: {args.msfragger_version}', file=sys.stderr) + sys.exit(1) + +fgr_zip = 'Release ' + fgr_ver + '$zip' +dest = os.path.join(args.path, 'MSFragger-' + fgr_ver + '.zip') +data = {'transfer': 'academic', 'agreement1': 'true', 'agreement2': 'true','agreement3': 'true', 'name': args.name, 'email' : args.email, 'organization' : args.organization, 'download': fgr_zip} + +if download_url(MSFRAGGER_URL, data, dest) != args.hash: + print('Invalid hash calculated.', file=sys.stderr) + sys.exit(1) diff --git a/recipes/msfragger/build.sh b/recipes/msfragger/build.sh new file mode 100644 index 0000000000000..c2f43d60481cf --- /dev/null +++ b/recipes/msfragger/build.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +# These values are submitted to the MSFragger site when downloading the application zip. +if [[ -z "$NAME" ]]; then + NAME="${USERNAME:-bioconda}"; +fi +if [[ -z "$EMAIL" ]]; then + EMAIL="${NAME}@${HOSTNAME:-bioconda.org}"; +fi +if [[ -z "$INSTITUTION" ]]; then + INSTITUTION="${HOSTNAME:-bioconda.org}"; +fi + +# Create directories +TARGET="$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM" +mkdir -p "$TARGET" + +# Add wrapper python script and link to unprefixed name. +cp "$RECIPE_DIR/msfragger.py" "$TARGET" +ln -s "$TARGET/msfragger.py" "$PREFIX/bin/msfragger" +chmod 0755 "${PREFIX}/bin/msfragger" + +# This script automates accepting the academic license agreements in order to download MSFragger and build the package. A user of this package is then expected to accept the terms themselves when they download a license key from the MSFragger site, which is enforced by the wrapper script and MSFragger jar file. +"${RECIPE_DIR}/academic_install.py" -n galaxy -e "$EMAIL" -o "$INSTITUTION" -m "$PKG_VERSION" -p "$TARGET" --hash "$SHA256SUM" +if [[ $? -ne 0 ]]; then + echo "Problem downloading jar file." > /dev/stderr + exit 1; +fi + +# Unzip and link jar. +cd "$TARGET" +unzip "MSFragger-$PKG_VERSION.zip" +ln -s "MSFragger-$PKG_VERSION/MSFragger-$PKG_VERSION.jar" "MSFragger.jar" +rm "MSFragger-$PKG_VERSION.zip" diff --git a/recipes/msfragger/meta.yaml b/recipes/msfragger/meta.yaml new file mode 100644 index 0000000000000..5826d1d418714 --- /dev/null +++ b/recipes/msfragger/meta.yaml @@ -0,0 +1,54 @@ +{% set version = "4.0" %} + +# This key was generated ONLY for the testing of this bioconda package. +# Users must generate their own key by agreeing to the terms at https://msfragger.arsci.com/upgrader/MSFragger-LICENSE.pdf. +{% set academic_use_only_key = "f28c4be2-759b0a11-6c1ea652-1240565a" %} +{% set sha256sum = "25bdab705c4ac97729d1da8d7a075e3920d8a447596fa52eff8e564606d1720e" %} + +package: + name: msfragger + version: {{ version }} + +build: + number: 1 + noarch: generic + run_exports: + - {{ pin_subpackage('msfragger', max_pin="x.x") }} + script_env: + - SHA256SUM={{ sha256sum }} + +requirements: + host: + - python >3.9 + - unzip + run: + - openjdk >=11 + - python >=3.9 + - mono >=5, <6 + - zlib >=1.2.13 + +test: + commands: + - msfragger --key {{ academic_use_only_key }} -Xms512m -Xmx1g --help | grep 'License key verified' + +about: + home: https://github.com/Nesvilab/MSFragger + license: Academic License (https://msfragger.arsci.com/upgrader/MSFragger-LICENSE.pdf) + summary: Ultrafast, comprehensive peptide identification for mass spectrometry–based proteomics + description: | + MSFragger is an ultrafast database search tool for peptide identification in mass spectrometry-based proteomics. + It has demonstrated excellent performance across a wide range of datasets and applications. + MSFragger is suitable for standard shotgun proteomics analyses as well as large datasets (including timsTOF PASEF data), + enzyme unconstrained searches (e.g., peptidome), + open database searches (e.g., precursor mass tolerance set to hundreds of Daltons) for identification + of modified peptides, and glycopeptide identification (N-linked and O-linked). + + MSFragger is available freely for academic research and educational purposes only, in accordance with the terms at https://msfragger.arsci.com/upgrader/MSFragger-LICENSE.pdf. + +extra: + notes: | + The "msfragger" command runs the MSFragger java program. + identifiers: + - doi:10.1038/nmeth.4256 + - doi:10.1038/s41467-020-17921-y + - doi:10.1038/s41592-020-0967-9 diff --git a/recipes/msfragger/msfragger.py b/recipes/msfragger/msfragger.py new file mode 100755 index 0000000000000..6484597f30a7e --- /dev/null +++ b/recipes/msfragger/msfragger.py @@ -0,0 +1,86 @@ +#!/usr/bin/env python +# +# Wrapper script for Java Conda packages that ensures that the java runtime +# is invoked with the right options. Adapted from the bash script (http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in/246128#246128). +# + +import os +import sys +import subprocess +from os import access, getenv, X_OK + +jar_file = os.path.join(os.path.dirname(os.path.realpath(__file__)), "MSFragger.jar") + +default_jvm_mem_opts = ['-Xms512m', '-Xmx1g'] + +license_agreement_text = ''' +Please provide pass a license key with the --key argument. You may obtain a key by agreeing to the terms at msfragger-upgrader.nesvilab.org/upgrader/. +''' + +def real_dirname(path): + """Return the symlink-resolved, canonicalized directory-portion of path.""" + return os.path.dirname(os.path.realpath(path)) + + +def java_executable(): + """Return the executable name of the Java interpreter.""" + java_home = getenv('JAVA_HOME') + java_bin = os.path.join('bin', 'java') + + if java_home and access(os.path.join(java_home, java_bin), X_OK): + return os.path.join(java_home, java_bin) + else: + return 'java' + + +def jvm_opts(argv): + """Construct list of Java arguments based on our argument list. + + The argument list passed in argv must not include the script name. + The return value is a 3-tuple lists of strings of the form: + (memory_options, prop_options, passthrough_options) + """ + mem_opts = [] + prop_opts = [] + pass_args = [] + + for arg in argv: + if arg.startswith('-D'): + prop_opts.append(arg) + elif arg.startswith('-XX'): + prop_opts.append(arg) + elif arg.startswith('-Xm'): + mem_opts.append(arg) + else: + pass_args.append(arg) + + # In the original shell script the test coded below read: + # if [ "$jvm_mem_opts" == "" ] && [ -z ${_JAVA_OPTIONS+x} ] + # To reproduce the behaviour of the above shell code fragment + # it is important to explictly check for equality with None + # in the second condition, so a null envar value counts as True! + + if mem_opts == [] and getenv('_JAVA_OPTIONS') == None: + mem_opts = default_jvm_mem_opts + + return (mem_opts, prop_opts, pass_args) + + +def main(): + java = java_executable() + jar_dir = real_dirname(sys.argv[0]) + jar_path = os.path.join(jar_dir, jar_file) + jar_arg = '-jar' + + (mem_opts, prop_opts, pass_args) = jvm_opts(sys.argv[1:]) + + if '--key' not in sys.argv: + print(license_agreement_text) + sys.exit(1) + + java_args = [java] + mem_opts + prop_opts + [jar_arg] + [jar_path] + pass_args + + sys.exit(subprocess.call(java_args)) + +if __name__ == '__main__': + main() diff --git a/recipes/msgf_plus/meta.yaml b/recipes/msgf_plus/meta.yaml index 7bd4fc1fe9d28..228a710889f02 100644 --- a/recipes/msgf_plus/meta.yaml +++ b/recipes/msgf_plus/meta.yaml @@ -1,14 +1,16 @@ package: name: msgf_plus - version: 2023.01.1202 + version: 2024.03.26 build: noarch: generic - number: 1 + number: 0 + run_exports: + - {{ pin_subpackage('msgf_plus', max_pin=None) }} source: - url: https://github.com/MSGFPlus/msgfplus/releases/download/v2023.01.12/MSGFPlus_v20230112.zip - sha256: ae9eb564b119ce54e5182fa9a9cc9b1d1c3e43489e81ed80279a442b55d5607c + url: https://github.com/MSGFPlus/msgfplus/releases/download/v2024.03.26/MSGFPlus_v20240326.zip + sha256: 01bacb4e74077f84c206f6f91eba67a29433d07d649f438b013a77217b0bfaac requirements: host: @@ -33,7 +35,7 @@ about: spectra, different configurations of MS instruments and different experimental protocols). -extra: +extra: identifiers: - biotools:MSGFplus - doi:10.1038/ncomms6277 diff --git a/recipes/msisensor-pro/build.sh b/recipes/msisensor-pro/build.sh index 8c7cabd77d629..1651e36191fd5 100644 --- a/recipes/msisensor-pro/build.sh +++ b/recipes/msisensor-pro/build.sh @@ -1,2 +1,7 @@ -make -C cpp CC=$CC CXX=$CXX -cp cpp/msisensor-pro $PREFIX/bin +#!/bin/bash + +mkdir -p ${PREFIX}/bin + +make -C cpp CC="${CC}" CXX="${CXX}" -j"${CPU_COUNT}" +chmod 0755 cpp/msisensor-pro +mv cpp/msisensor-pro ${PREFIX}/bin diff --git a/recipes/msisensor-pro/buildfixes.patch b/recipes/msisensor-pro/buildfixes.patch index 2bffe10bdc6e3..f72ef3a7c4e7f 100644 --- a/recipes/msisensor-pro/buildfixes.patch +++ b/recipes/msisensor-pro/buildfixes.patch @@ -4,24 +4,31 @@ index 321a56b..dc541fc 100755 +++ b/cpp/bamreader.cpp @@ -27,6 +27,7 @@ unsigned int g_CloseMappedPlus = 0; unsigned int g_CloseMappedMinus = 0; - + //init hash/maps for read pairing on the fly +#define register KSORT_INIT_GENERIC(uint32_t) KHASH_MAP_INIT_STR(read_name, bam1_t *) struct fetch_func_data_SR { diff --git a/cpp/makefile b/cpp/makefile -index 78da629..98daf27 100755 +index 88639e1..c1f6bb6 100644 --- a/cpp/makefile +++ b/cpp/makefile -@@ -6,8 +6,8 @@ HTSLIB=$(realpath ../vendor/htslib-1.11) +@@ -1,13 +1,13 @@ +-CXX=g++ ++CXX=${CXX} + + HTSLIB=$(realpath ../vendor/htslib-1.11) + # HTSLIB_CPPFLAGS=-I$(realpath $(HTSLIB_ROOT)) + # echo $(HTSLIB_CPPFLAGS) # HTSLIB_LDFLAGS=-L/mnt/project/Project_Pindel/pindel_update/pindel/htslib/ -Wl,-rpath CPP_ROOT=cpp - CXXFLAGS+= -O2 -fopenmp +-CXXFLAGS+= -O2 -fopenmp -LDFLAGS+= -L${HTSLIB} -INCLUDES+= -I${HTSLIB} -+LDFLAGS+= -+INCLUDES+= ++CXXFLAGS+= -O3 -fopenmp -I${PREFIX}/include ++LDFLAGS+= -L${PREFIX}/lib ++INCLUDES+= -I${PREFIX}/include LIBS+= -lm -lz -lpthread -lhts LD_LIBRARY_PATH+= -L${HTSLIB} export LD_LIBRARY_PATH=${HTSLIB_ROOT} @@ -30,7 +37,7 @@ index 78da629..98daf27 100755 %.o:%.cpp - $(CXX) -L ${HTSLIB} -std=c++11 $(CXXFLAGS) $(INCLUDES) -c $< -o $@ -+ $(CXX) -std=c++11 $(CXXFLAGS) $(INCLUDES) -c $< -o $@ ++ $(CXX) -std=c++14 $(CXXFLAGS) $(INCLUDES) -c $< -o $@ -all: htsfile msisensor-pro +all: msisensor-pro @@ -40,7 +47,7 @@ index 78da629..98daf27 100755 msisensor-pro: $(OBJS) - $(CXX) -std=c++11 $^ $(CXXFLAGS) $(LDFLAGS) $(LIBS) -Wl,-rpath=${HTSLIB} -o $@ -+ $(CXX) -std=c++11 $^ $(CXXFLAGS) $(LDFLAGS) $(LIBS) -o $@ - # $(CXX) -std=c++11 $^ $(CXXFLAGS) $(INCLUDES) $(LDFLAGS) $(LIBS) -o $@ ++ $(CXX) -std=c++14 $^ $(CXXFLAGS) $(LDFLAGS) $(LIBS) -o $@ + # $(CXX) -std=c++11 $^ $(CXXFLAGS) $(INCLUDES) $(LDFLAGS) $(LIBS) -o $@ clean: diff --git a/recipes/msisensor-pro/meta.yaml b/recipes/msisensor-pro/meta.yaml index 67287d5046e60..fd05528df5614 100644 --- a/recipes/msisensor-pro/meta.yaml +++ b/recipes/msisensor-pro/meta.yaml @@ -1,34 +1,42 @@ -{% set version = "1.2.0" %} +{% set name = "msisensor-pro" %} +{% set version = "1.3.0" %} package: - name: msisensor-pro + name: {{ name }} version: "{{ version }}" -build: - number: 6 - source: - url: https://github.com/xjtu-omics/msisensor-pro/archive/v{{ version }}.tar.gz - sha256: 0b6de043bf7ee7322814a8c805f8abdc19ac746cba9f0dbe0d687b556c473f25 + url: https://github.com/xjtu-omics/{{ name }}/archive/v{{ version }}.tar.gz + sha256: 30d03841abfe12daee57984bb97687222534b18aeaa17ff7f4d1116dc31cc9c1 patches: - buildfixes.patch +build: + number: 0 + run_exports: + - {{ pin_subpackage('msisensor-pro', max_pin="x") }} + requirements: build: - - {{ compiler('c') }} - {{ compiler('cxx') }} - make - - llvm-openmp # [osx] - - libgomp # [linux] host: - htslib + - llvm-openmp # [osx] + - libgomp # [linux] + - libcurl + - bzip2 + - zlib run: - htslib + about: - home: https://github.com/xjtu-omics/msisensor-pro + home: "https://github.com/xjtu-omics/msisensor-pro" license: "Custom Licence" license_file: LICENSE - summary: Microsatellite Instability (MSI) detection using high-throughput sequencing data. + summary: "Microsatellite Instability (MSI) detection using high-throughput sequencing data." + dev_url: "https://github.com/xjtu-omics/msisensor-pro" + doc_url: "https://github.com/xjtu-omics/msisensor-pro/wiki" test: commands: @@ -36,3 +44,11 @@ test: - "msisensor-pro baseline -h 2>&1 | grep Usage" - "msisensor-pro pro -h 2>&1 | grep Usage" - "msisensor-pro msi -h 2>&1 | grep Usage" + +extra: + identifiers: + - biotools:msisensor-pro + - doi:10.1016/j.gpb.2020.02.001 + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/msisensor-rna/meta.yaml b/recipes/msisensor-rna/meta.yaml new file mode 100644 index 0000000000000..015cb396c6e46 --- /dev/null +++ b/recipes/msisensor-rna/meta.yaml @@ -0,0 +1,47 @@ +{% set name = "msisensor-rna" %} +{% set version = "0.1.6" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/xjtu-omics/msisensor-rna/archive/{{ version }}.tar.gz + sha256: 69a420f5850aa412244d252451cc98071a4a410e51ff40e5cf676e7560f89d0c + +build: + number: 0 + noarch: python + entry_points: + - msisensor-rna = msisensor_rna.msisensor_rna:main + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + run_exports: + - {{ pin_subpackage('msisensor-rna', max_pin="x.x") }} + +requirements: + host: + - python >=3.6 + - pip + run: + - python >=3.6 + - pandas >=1.0 + - numpy >=1.16 + - scikit-learn >=0.24 + - imbalanced-learn >=0.8.0 + +test: + imports: + - msisensor_rna + commands: + - msisensor-rna --help + +about: + home: https://github.com/xjtu-omics/msisensor-rna + summary: "MSIsensor-RNA: Microsatellite instability detection using RNA sequencing data." + license: Community-Spec-1.0 + license_file: LICENSE + dev_url: https://github.com/xjtu-omics/msisensor-rna + +extra: + identifiers: + - doi:10.1093/gpbjnl/qzae004 diff --git a/recipes/msmetaenhancer/meta.yaml b/recipes/msmetaenhancer/meta.yaml index f3d1f4ad42681..a241ca1e81132 100644 --- a/recipes/msmetaenhancer/meta.yaml +++ b/recipes/msmetaenhancer/meta.yaml @@ -1,22 +1,25 @@ -{% set name = "MSMetaEnhancer" %} -{% set version = "0.3.0" %} +{% set name = "msmetaenhancer" %} +{% set version = "0.4.0" %} package: name: {{ name|lower }} version: {{ version }} source: - url: "https://github.com/RECETOX/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz" - sha256: 7d889be548db18ec1e34c04947b8f8c7d9660241d8142bdc9842052396475ba8 + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/msmetaenhancer-{{ version }}.tar.gz + sha256: e422a3849a486613b08d04801c873fa369b170361b4e27c06c2531023a47823b build: - number: 1 + number: 0 noarch: python - script: "{{ PYTHON }} -m pip install . " + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('msmetaenhancer', max_pin="x.x") }} requirements: host: - python >=3.9 + - poetry-core - pip run: - python >=3.9 @@ -27,12 +30,13 @@ requirements: - aiohttp - asyncstdlib - frozendict + - twine - tabulate - rdkit - multidict - aiocircuitbreaker - openpyxl - + test: imports: - MSMetaEnhancer @@ -40,6 +44,7 @@ test: about: home: https://github.com/RECETOX/MSMetaEnhancer license: MIT + license_family: MIT license_file: LICENSE summary: "MSMetaEnhancer is a Python tool that adds more annotations (e.g. SMILES, InChI, CAS number) to MSP files." dev_url: "https://github.com/RECETOX/MSMetaEnhancer" @@ -49,3 +54,6 @@ extra: recipe-maintainers: - xtrojak - martenson + identifiers: + - biotools:msmetaenhancer + - doi:10.21105/joss.04494 diff --git a/recipes/msstitch/meta.yaml b/recipes/msstitch/meta.yaml index 671d97d9e7f86..d44110c6617c3 100644 --- a/recipes/msstitch/meta.yaml +++ b/recipes/msstitch/meta.yaml @@ -1,10 +1,10 @@ package: name: msstitch - version: "3.15" + version: "3.16" source: - url: https://files.pythonhosted.org/packages/f1/66/91e1682699ece4f2ed937d627171eba012f721336f7f8425750240791898/msstitch-3.15.tar.gz - sha256: 3e33b84031a5ccb06f497ef5457a17254bd4830f3e5c26661184467ae8701777 + url: https://files.pythonhosted.org/packages/79/40/38b264c211823bd0d158418557b728dd459d8b23e54f0309cc82e85bf883/msstitch-3.16.tar.gz + sha256: a4bad10c46545783e7829590db12c47459a614088bae06c4acd45e0456e402ee build: noarch: python diff --git a/recipes/msweep/meta.yaml b/recipes/msweep/meta.yaml index 911de4007f206..c3f6dfbac8a1b 100644 --- a/recipes/msweep/meta.yaml +++ b/recipes/msweep/meta.yaml @@ -1,6 +1,6 @@ {% set name = "mSWEEP" %} -{% set version = "2.0.0" %} -{% set sha256 = "b0bd02f1a7df6f691c03c4a43eaeea3df5389c77a9e90048136f01b6f16a396d" %} +{% set version = "2.2.0" %} +{% set sha256 = "9f2cbaaa877466a59171a4e74fe26d462657b62ae0e3b464672e44490a6f3d73" %} {% set user = "PROBIC" %} package: @@ -24,9 +24,9 @@ requirements: - git >=2.10.0 - cmake >=3.0.0 - make + host: - llvm-openmp # [osx] - libgomp # [linux] - host: - zlib >=1.2.0 - xz >=5.2.0 - bzip2 >=1.0.6 @@ -42,5 +42,7 @@ about: summary: 'mSWEEP - bacterial community composition estimation from pseudoalignments' extra: + additional-platforms: + - linux-aarch64 identifiers: - doi:10.12688/wellcomeopenres.15639.2 diff --git a/recipes/mtgrasp/build.sh b/recipes/mtgrasp/build.sh new file mode 100644 index 0000000000000..41100de173091 --- /dev/null +++ b/recipes/mtgrasp/build.sh @@ -0,0 +1,7 @@ +#!/bin/bash +set -eu -o pipefail + +mkdir -p ${PREFIX}/bin/ +cp *mtgrasp* ${PREFIX}/bin/ +cp -r data ${PREFIX}/bin/ +cp -r test ${PREFIX}/bin/ diff --git a/recipes/mtgrasp/meta.yaml b/recipes/mtgrasp/meta.yaml new file mode 100644 index 0000000000000..5f957b450f1ba --- /dev/null +++ b/recipes/mtgrasp/meta.yaml @@ -0,0 +1,44 @@ +{% set version = "1.1.6" %} +{% set name = "mtGrasp" %} + +package: + name: {{ name | lower }} + version: {{ version }} + +source: + url: https://github.com/bcgsc/{{ name }}/releases/download/v{{ version }}/{{ name }}-v{{ version }}.tar.gz + sha256: 07c558d607df8d250e181439f08a4d13e2930afc566a060ea5b11b59e18c721a + +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage('mtgrasp', max_pin="x") }} + +requirements: + host: + - python + run: + - python + - snakemake + - blast >=2.9.0 + - biopython + - seqtk + - abyss + - ntjoin + - bwa + - samtools + - pilon + - ntcard + - mitos >=2.1.7 + + +test: + commands: + - mtgrasp.py -h + +about: + home: https://github.com/bcgsc/mtGrasp + license: GPL-3.0 + license_file: LICENSE + summary: 'reference-grade de novo animal mitochondrial genome assembly and standardization' diff --git a/recipes/mtnucratio/LICENSE b/recipes/mtnucratio/LICENSE new file mode 100644 index 0000000000000..9cecc1d4669ee --- /dev/null +++ b/recipes/mtnucratio/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {one line to give the program's name and a brief idea of what it does.} + Copyright (C) {year} {name of author} + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + {project} Copyright (C) {year} {fullname} + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/recipes/mtnucratio/meta.yaml b/recipes/mtnucratio/meta.yaml index 22ffc4a354171..316b6a40e19a0 100644 --- a/recipes/mtnucratio/meta.yaml +++ b/recipes/mtnucratio/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.7" %} +{% set version = "0.7.1" %} package: name: mtnucratio @@ -6,11 +6,13 @@ package: source: url: https://github.com/apeltzer/MTNucRatioCalculator/releases/download/{{ version }}/MTNucRatioCalculator-{{ version }}.jar - sha256: 6e1e648f0de63448ad3b3015417fce4046da15a07338e4f10433e373acdc9bd7 + sha256: 4ba78973ba16a53f2e5197fdd9836c672cf73a6a77238dfa17566d55ff75d80d build: noarch: generic - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage('mtnucratio', max_pin="x") }} requirements: run: @@ -24,4 +26,5 @@ test: about: home: https://github.com/apeltzer/MTNucRatioCalculator license: GPLv3 + license_file: LICENSE summary: "A small tool to determine MT to Nuclear ratios for NGS data." diff --git a/recipes/mtnucratio/mtnucratio.py b/recipes/mtnucratio/mtnucratio.py index 3bd1029be10bc..bed939c5f2653 100755 --- a/recipes/mtnucratio/mtnucratio.py +++ b/recipes/mtnucratio/mtnucratio.py @@ -11,7 +11,7 @@ import sys import subprocess from os import access, getenv, X_OK -jar_file = 'MTNucRatioCalculator-0.7.jar' +jar_file = 'MTNucRatioCalculator-0.7.1.jar' default_jvm_mem_opts = ['-Xms512m', '-Xmx1g'] diff --git a/recipes/mugsy/meta.yaml b/recipes/mugsy/meta.yaml index d2923a91a8e4f..697b022bb83fd 100644 --- a/recipes/mugsy/meta.yaml +++ b/recipes/mugsy/meta.yaml @@ -10,11 +10,14 @@ source: build: noarch: generic - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage('mugsy', max_pin="x") }} requirements: run: - perl + - sed about: home: http://mugsy.sourceforge.net diff --git a/recipes/multiqc/meta.yaml b/recipes/multiqc/meta.yaml index 5bcd8cc95d825..1dea0f11dda30 100644 --- a/recipes/multiqc/meta.yaml +++ b/recipes/multiqc/meta.yaml @@ -1,19 +1,20 @@ -{% set version = "1.18" %} +{% set name = "multiqc" %} +{% set version = "1.25.1" %} package: - name: multiqc + name: {{ name }} version: {{ version }} source: - url: https://github.com/ewels/MultiQC/archive/v{{ version }}.tar.gz - sha256: a6b1409607a05ecac452c2f8cd76167afca5d8f3df0b71f02e88d6f809f82d3c + url: https://github.com/MultiQC/MultiQC/archive/v{{ version }}.tar.gz + sha256: 829a08f44e0183224ef1d8c0ecb163c6acc54f1a1d85445ed62857f5603ee7cb build: number: 0 + noarch: python entry_points: - multiqc=multiqc.__main__:run_multiqc - noarch: python - script: {{ PYTHON }} -m pip install . --no-deps -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv run_exports: - {{ pin_subpackage('multiqc', max_pin="x") }} @@ -23,26 +24,26 @@ requirements: - pip run: - python >=3.8 - - setuptools - click - coloredlogs - - future >0.14.0 - humanize - jinja2 >=3.0.0 - importlib-metadata - - lzstring - markdown - - matplotlib-base >=2.1.1 - - networkx >=2.5.1 + - plotly >=5.18 + - python-kaleido + - pillow >=10.2.0 - numpy - packaging + - pydantic >=2.7.1 - pyaml-env - pyyaml >=4 - requests - rich >=10 - rich-click - - simplejson - spectra >=0.0.10 + - tqdm + - typeguard test: # Python imports @@ -52,29 +53,25 @@ test: - multiqc.plots - multiqc.templates - multiqc.utils - commands: - multiqc --version - multiqc . - - about: - home: http://multiqc.info - license: GNU General Public License v3 (GPLv3) + home: "https://multiqc.info" + license: "GPL-3.0-or-later" license_family: GPL3 license_file: LICENSE - summary: 'Create aggregate bioinformatics analysis reports across many samples and tools' - doc_url: http://multiqc.info/docs/ - dev_url: https://github.com/ewels/MultiQC + summary: 'Create aggregate bioinformatics analysis reports across many samples and tools.' + doc_url: "https://multiqc.info/docs" + dev_url: "https://github.com/ewels/MultiQC" extra: container: # click requires a unicode locale when used with Python 3 # extended-base generates en_US.UTF-8 locale and sets LC_ALL, LANG properly extended-base: true - skip-lints: - - uses_setuptools # uses pkg_resources identifiers: - biotools:multiqc - - doi:https://doi.org/10.1093/bioinformatics/btw354 + - usegalaxy-eu:multiqc + - doi:10.1093/bioinformatics/btw354 diff --git a/recipes/multirnafold/0001-FIX-Makefile.patch b/recipes/multirnafold/0001-FIX-Makefile.patch new file mode 100644 index 0000000000000..ff8e6c124469c --- /dev/null +++ b/recipes/multirnafold/0001-FIX-Makefile.patch @@ -0,0 +1,925 @@ +diff --git a/Makefile b/Makefile +index 6e3f2fe..28bb7e7 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,7 +1,7 @@ + # makefile for the MultiRNAFold package + +-CC = g++ +-CFLAGS = -g -I./include -I./src/common -I./src/simfold -I./src/pairfold -I./src/multifold -w -Wno-deprecated ++CXX = g++ ++CXXFLAGS = -O2 -ggdb -I./include -I./src/common -I./src/simfold -I./src/pairfold -I./src/multifold -Wno-deprecated + # -pg for profiling + #-O3 + # -p is for profiler +@@ -101,7 +101,7 @@ L_C_OBJS = $(L_C_SRCS:.cpp=.o) + L_S_OBJS = $(L_S_SRCS:.cpp=.o) + L_P_OBJS = $(L_P_SRCS:.cpp=.o) + L_M_OBJS = $(L_M_SRCS:.cpp=.o) +- ++ + AR = ar + ARFLAGS = rv + RANLIB = ranlib +@@ -114,78 +114,64 @@ default: $(LIB) $(SIMFOLD) $(SIMFOLD_PF) $(PAIRFOLD) $(PAIRFOLD_WEB) $(MULTIFOL + $(LIB): $(L_C_OBJS) $(L_S_OBJS) $(L_P_OBJS) $(L_M_OBJS) + $(RM) $@ + $(AR) $(ARFLAGS) $@ $(L_C_OBJS) $(L_S_OBJS) $(L_P_OBJS) $(L_M_OBJS) +- $(RANLIB) $@ +- ++ $(RANLIB) $@ ++ + $(SIMFOLD): $(S_OBJS) $(LIB) +- $(CC) -o $@ $@.o $(LFLAGS) +- ++ $(CXX) -o $@ $@.o $(LFLAGS) ++ + $(SIMFOLD_PF): $(S2_OBJS) $(LIB) +- $(CC) -o $@ $@.o $(LFLAGS) +- ++ $(CXX) -o $@ $@.o $(LFLAGS) ++ + $(PAIRFOLD): $(P_OBJS) $(LIB) +- $(CC) -o $@ $@.o $(LFLAGS) +- ++ $(CXX) -o $@ $@.o $(LFLAGS) ++ + $(PAIRFOLD_WEB): $(P2_OBJS) $(LIB) +- $(CC) -o $@ $@.o $(LFLAGS) +- ++ $(CXX) -o $@ $@.o $(LFLAGS) ++ + $(MULTIFOLD): $(M_OBJS) $(LIB) +- $(CC) -o $@ $@.o $(LFLAGS) +- ++ $(CXX) -o $@ $@.o $(LFLAGS) ++ + $(DRIVER): $(D_OBJS) $(LIB) +- $(CC) -o $@ $@.o $(LFLAGS) ++ $(CXX) -o $@ $@.o $(LFLAGS) + + $(PARTITION): $(PARTITION).o $(LIB) +- $(CC) -o $@ $@.o $(LFLAGS) ++ $(CXX) -o $@ $@.o $(LFLAGS) + + $(DRIVER1): $(DRIVER1).o $(LIB) + mpiCC -o $(DRIVER1) $(DRIVER1).o $(LFLAGS) -L$(LAMDIR)/lib + + $(DRIVER1).o: $(DRIVER1).cpp +- mpiCC -c $(DRIVER1).cpp $(CFLAGS) -I$(LAMDIR)/include -o $(DRIVER1).o ++ mpiCC -c $(DRIVER1).cpp $(CXXFLAGS) -I$(LAMDIR)/include -o $(DRIVER1).o + + $(DRIVER2): $(DRIVER2).o $(LIB) +- mpiCC -o $(DRIVER2) $(DRIVER2).o $(LFLAGS) -L$(LAMDIR)/lib ++ mpiCC -o $(DRIVER2) $(DRIVER2).o $(LFLAGS) -L$(LAMDIR)/lib + + $(DRIVER2).o: $(DRIVER2).cpp +- mpiCC -c $(DRIVER2).cpp $(CFLAGS) -I$(LAMDIR)/include -o $(DRIVER2).o ++ mpiCC -c $(DRIVER2).cpp $(CXXFLAGS) -I$(LAMDIR)/include -o $(DRIVER2).o + +- + $(RUNTIMEV): $(RUNTIMEV).o +- $(CC) -o $@ $@.o -L$(VIENNADIR)/lib -lviennapp $(LFLAGS) ++ $(CXX) -o $@ $@.o -L$(VIENNADIR)/lib -lviennapp $(LFLAGS) + + $(RUNTIMEV).o: $(RUNTIMEV).cpp +- $(CC) -c $(RUNTIMEV).cpp -I$(VIENNADIR)/include $(CFLAGS) +- +- ++ $(CXX) -c $(RUNTIMEV).cpp -I$(VIENNADIR)/include $(CXXFLAGS) ++ + .SUFFIXES: .cpp + .cpp.o: +- $(CC) -c $*.cpp $(CFLAGS) -o $*.o ++ $(CXX) -c $*.cpp $(CXXFLAGS) -o $*.o + + clean: + rm -f $(L_C_OBJS) $(L_S_OBJS) $(L_P_OBJS) $(L_M_OBJS) +- rm -f $(S_OBJS) $(S2_OBJS) $(P_OBJS) $(P2_OBJS) $(M_OBJS) $(D_OBJS) ++ rm -f $(S_OBJS) $(S2_OBJS) $(P_OBJS) $(P2_OBJS) $(M_OBJS) $(D_OBJS) + # $(SIMFOLD) $(SIMFOLD_PF) $(PAIRFOLD) $(MULTIFOLD) $(DRIVER) *~ core + rm -f $(SRC_C)/*~ $(SRC_S)/*~ $(SRC_P)/*~ $(SRC_M)/*~ include/*~ *.a *.bak + + depend: +- makedepend -- $(CFLAGS) -- $(L_C_SRCS) $(L_S_SRCS) $(L_P_SRCS) $(L_M_SRCS) $(S_SRCS) $(S2_SRCS) $(P_SRCS) $(M_SRCS) $(D_SRCS) +- +- ++ makedepend -Y $(CXXFLAGS) -- $(L_C_SRCS) $(L_S_SRCS) $(L_P_SRCS) $(L_M_SRCS) $(S_SRCS) $(S2_SRCS) $(P_SRCS) $(M_SRCS) $(D_SRCS) ++ + # end of makefile + + # DO NOT DELETE + +-src/common/common.o: /usr/include/stdio.h /usr/include/features.h +-src/common/common.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h +-src/common/common.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h +-src/common/common.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h +-src/common/common.o: /usr/include/libio.h /usr/include/_G_config.h +-src/common/common.o: /usr/include/wchar.h /usr/include/bits/wchar.h +-src/common/common.o: /usr/include/gconv.h /usr/include/bits/stdio_lim.h +-src/common/common.o: /usr/include/bits/sys_errlist.h /usr/include/stdlib.h +-src/common/common.o: /usr/include/math.h /usr/include/bits/huge_val.h +-src/common/common.o: /usr/include/bits/mathdef.h +-src/common/common.o: /usr/include/bits/mathcalls.h /usr/include/string.h + src/common/common.o: ./include/constants.h ./include/structs.h + src/common/common.o: ./include/externs.h src/common/common.h + src/common/common.o: ./src/simfold/s_partition_function.h +@@ -195,16 +181,6 @@ src/common/common.o: ./src/simfold/s_energy_matrix.h + src/common/common.o: ./src/simfold/s_stacked_pair.h + src/common/common.o: ./src/simfold/s_multi_loop.h + src/common/common.o: ./src/simfold/s_multi_loop_sub.h +-src/common/params.o: /usr/include/stdio.h /usr/include/features.h +-src/common/params.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h +-src/common/params.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h +-src/common/params.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h +-src/common/params.o: /usr/include/libio.h /usr/include/_G_config.h +-src/common/params.o: /usr/include/wchar.h /usr/include/bits/wchar.h +-src/common/params.o: /usr/include/gconv.h /usr/include/bits/stdio_lim.h +-src/common/params.o: /usr/include/bits/sys_errlist.h /usr/include/math.h +-src/common/params.o: /usr/include/bits/huge_val.h /usr/include/bits/mathdef.h +-src/common/params.o: /usr/include/bits/mathcalls.h /usr/include/stdlib.h + src/common/params.o: src/common/params.h ./include/constants.h + src/common/params.o: src/common/common.h ./include/structs.h + src/common/params.o: ./src/simfold/s_partition_function.h +@@ -214,60 +190,20 @@ src/common/params.o: ./src/simfold/s_energy_matrix.h + src/common/params.o: ./src/simfold/s_stacked_pair.h + src/common/params.o: ./src/simfold/s_multi_loop.h + src/common/params.o: ./src/simfold/s_multi_loop_sub.h ./include/externs.h +-src/common/params.o: /usr/include/string.h + src/common/params.o: ./src/simfold/s_specific_functions.h + src/common/params.o: ./src/simfold/s_min_folding.h + src/common/params.o: ./src/simfold/s_sub_folding.h ./include/simfold.h + src/common/params.o: ./include/init.h +-src/common/init.o: /usr/include/stdio.h /usr/include/features.h +-src/common/init.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h +-src/common/init.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h +-src/common/init.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h +-src/common/init.o: /usr/include/libio.h /usr/include/_G_config.h +-src/common/init.o: /usr/include/wchar.h /usr/include/bits/wchar.h +-src/common/init.o: /usr/include/gconv.h /usr/include/bits/stdio_lim.h +-src/common/init.o: /usr/include/bits/sys_errlist.h /usr/include/stdlib.h +-src/common/init.o: /usr/include/string.h /usr/include/math.h +-src/common/init.o: /usr/include/bits/huge_val.h /usr/include/bits/mathdef.h +-src/common/init.o: /usr/include/bits/mathcalls.h ./include/constants.h +-src/common/init.o: ./include/structs.h ./include/globals.h +-src/common/init.o: src/common/common.h ./src/simfold/s_partition_function.h ++src/common/init.o: ./include/constants.h ./include/structs.h ++src/common/init.o: ./include/globals.h src/common/common.h ++src/common/init.o: ./src/simfold/s_partition_function.h + src/common/init.o: ./src/simfold/s_hairpin_loop.h + src/common/init.o: ./src/simfold/s_internal_loop.h + src/common/init.o: ./src/simfold/s_energy_matrix.h + src/common/init.o: ./src/simfold/s_stacked_pair.h + src/common/init.o: ./src/simfold/s_multi_loop.h +-src/common/init.o: ./src/simfold/s_multi_loop_sub.h +-src/common/timer.o: /usr/include/math.h /usr/include/features.h +-src/common/timer.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h +-src/common/timer.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h +-src/common/timer.o: /usr/include/bits/huge_val.h /usr/include/bits/mathdef.h +-src/common/timer.o: /usr/include/bits/mathcalls.h /usr/include/ctype.h +-src/common/timer.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h +-src/common/timer.o: /usr/include/endian.h /usr/include/bits/endian.h +-src/common/timer.o: /usr/include/time.h /usr/include/bits/time.h +-src/common/timer.o: /usr/include/string.h /usr/include/sys/times.h +-src/common/timer.o: /usr/include/limits.h src/common/timer.h +-src/simfold/s_specific_functions.o: /usr/include/stdio.h +-src/simfold/s_specific_functions.o: /usr/include/features.h +-src/simfold/s_specific_functions.o: /usr/include/sys/cdefs.h +-src/simfold/s_specific_functions.o: /usr/include/bits/wordsize.h +-src/simfold/s_specific_functions.o: /usr/include/gnu/stubs.h +-src/simfold/s_specific_functions.o: /usr/include/gnu/stubs-32.h +-src/simfold/s_specific_functions.o: /usr/include/bits/types.h +-src/simfold/s_specific_functions.o: /usr/include/bits/typesizes.h +-src/simfold/s_specific_functions.o: /usr/include/libio.h +-src/simfold/s_specific_functions.o: /usr/include/_G_config.h +-src/simfold/s_specific_functions.o: /usr/include/wchar.h +-src/simfold/s_specific_functions.o: /usr/include/bits/wchar.h +-src/simfold/s_specific_functions.o: /usr/include/gconv.h +-src/simfold/s_specific_functions.o: /usr/include/bits/stdio_lim.h +-src/simfold/s_specific_functions.o: /usr/include/bits/sys_errlist.h +-src/simfold/s_specific_functions.o: /usr/include/stdlib.h /usr/include/math.h +-src/simfold/s_specific_functions.o: /usr/include/bits/huge_val.h +-src/simfold/s_specific_functions.o: /usr/include/bits/mathdef.h +-src/simfold/s_specific_functions.o: /usr/include/bits/mathcalls.h +-src/simfold/s_specific_functions.o: /usr/include/string.h ++src/common/init.o: ./src/simfold/s_multi_loop_sub.h src/common/params.h ++src/common/timer.o: src/common/timer.h + src/simfold/s_specific_functions.o: ./include/constants.h ./include/structs.h + src/simfold/s_specific_functions.o: ./include/externs.h src/common/common.h + src/simfold/s_specific_functions.o: ./src/simfold/s_partition_function.h +@@ -281,22 +217,6 @@ src/simfold/s_specific_functions.o: ./include/simfold.h ./include/init.h + src/simfold/s_specific_functions.o: ./src/simfold/s_specific_functions.h + src/simfold/s_specific_functions.o: ./src/simfold/s_min_folding.h + src/simfold/s_specific_functions.o: ./src/simfold/s_sub_folding.h +-src/simfold/s_specific_functions.o: src/simfold/s_partition_function_complex.h +-src/simfold/s_specific_functions.o: /usr/include/complex.h +-src/simfold/s_specific_functions.o: /usr/include/bits/cmathcalls.h +-src/simfold/s_min_folding.o: /usr/include/stdio.h /usr/include/features.h +-src/simfold/s_min_folding.o: /usr/include/sys/cdefs.h +-src/simfold/s_min_folding.o: /usr/include/bits/wordsize.h +-src/simfold/s_min_folding.o: /usr/include/gnu/stubs.h +-src/simfold/s_min_folding.o: /usr/include/gnu/stubs-32.h +-src/simfold/s_min_folding.o: /usr/include/bits/types.h +-src/simfold/s_min_folding.o: /usr/include/bits/typesizes.h +-src/simfold/s_min_folding.o: /usr/include/libio.h /usr/include/_G_config.h +-src/simfold/s_min_folding.o: /usr/include/wchar.h /usr/include/bits/wchar.h +-src/simfold/s_min_folding.o: /usr/include/gconv.h +-src/simfold/s_min_folding.o: /usr/include/bits/stdio_lim.h +-src/simfold/s_min_folding.o: /usr/include/bits/sys_errlist.h +-src/simfold/s_min_folding.o: /usr/include/string.h /usr/include/stdlib.h + src/simfold/s_min_folding.o: ./include/constants.h ./include/structs.h + src/simfold/s_min_folding.o: ./include/externs.h src/common/common.h + src/simfold/s_min_folding.o: ./src/simfold/s_partition_function.h +@@ -309,22 +229,8 @@ src/simfold/s_min_folding.o: ./src/simfold/s_multi_loop_sub.h + src/simfold/s_min_folding.o: ./include/simfold.h ./include/init.h + src/simfold/s_min_folding.o: ./src/simfold/s_specific_functions.h + src/simfold/s_min_folding.o: ./src/simfold/s_min_folding.h +-src/simfold/s_hairpin_loop.o: /usr/include/string.h /usr/include/features.h +-src/simfold/s_hairpin_loop.o: /usr/include/sys/cdefs.h +-src/simfold/s_hairpin_loop.o: /usr/include/bits/wordsize.h +-src/simfold/s_hairpin_loop.o: /usr/include/gnu/stubs.h +-src/simfold/s_hairpin_loop.o: /usr/include/gnu/stubs-32.h +-src/simfold/s_hairpin_loop.o: /usr/include/ctype.h /usr/include/bits/types.h +-src/simfold/s_hairpin_loop.o: /usr/include/bits/typesizes.h +-src/simfold/s_hairpin_loop.o: /usr/include/endian.h +-src/simfold/s_hairpin_loop.o: /usr/include/bits/endian.h + src/simfold/s_hairpin_loop.o: ./include/constants.h ./include/structs.h + src/simfold/s_hairpin_loop.o: ./include/externs.h src/common/common.h +-src/simfold/s_hairpin_loop.o: /usr/include/stdio.h /usr/include/libio.h +-src/simfold/s_hairpin_loop.o: /usr/include/_G_config.h /usr/include/wchar.h +-src/simfold/s_hairpin_loop.o: /usr/include/bits/wchar.h /usr/include/gconv.h +-src/simfold/s_hairpin_loop.o: /usr/include/bits/stdio_lim.h +-src/simfold/s_hairpin_loop.o: /usr/include/bits/sys_errlist.h + src/simfold/s_hairpin_loop.o: ./src/simfold/s_partition_function.h + src/simfold/s_hairpin_loop.o: ./src/simfold/s_hairpin_loop.h + src/simfold/s_hairpin_loop.o: ./src/simfold/s_internal_loop.h +@@ -334,20 +240,8 @@ src/simfold/s_hairpin_loop.o: ./src/simfold/s_multi_loop.h + src/simfold/s_hairpin_loop.o: ./src/simfold/s_multi_loop_sub.h + src/simfold/s_hairpin_loop.o: ./include/simfold.h ./include/init.h + src/simfold/s_hairpin_loop.o: src/common/params.h +-src/simfold/s_stacked_pair.o: /usr/include/string.h /usr/include/features.h +-src/simfold/s_stacked_pair.o: /usr/include/sys/cdefs.h +-src/simfold/s_stacked_pair.o: /usr/include/bits/wordsize.h +-src/simfold/s_stacked_pair.o: /usr/include/gnu/stubs.h +-src/simfold/s_stacked_pair.o: /usr/include/gnu/stubs-32.h + src/simfold/s_stacked_pair.o: ./include/constants.h ./include/structs.h + src/simfold/s_stacked_pair.o: ./include/externs.h src/common/common.h +-src/simfold/s_stacked_pair.o: /usr/include/stdio.h /usr/include/bits/types.h +-src/simfold/s_stacked_pair.o: /usr/include/bits/typesizes.h +-src/simfold/s_stacked_pair.o: /usr/include/libio.h /usr/include/_G_config.h +-src/simfold/s_stacked_pair.o: /usr/include/wchar.h /usr/include/bits/wchar.h +-src/simfold/s_stacked_pair.o: /usr/include/gconv.h +-src/simfold/s_stacked_pair.o: /usr/include/bits/stdio_lim.h +-src/simfold/s_stacked_pair.o: /usr/include/bits/sys_errlist.h + src/simfold/s_stacked_pair.o: ./src/simfold/s_partition_function.h + src/simfold/s_stacked_pair.o: ./src/simfold/s_hairpin_loop.h + src/simfold/s_stacked_pair.o: ./src/simfold/s_internal_loop.h +@@ -357,22 +251,8 @@ src/simfold/s_stacked_pair.o: ./src/simfold/s_multi_loop.h + src/simfold/s_stacked_pair.o: ./src/simfold/s_multi_loop_sub.h + src/simfold/s_stacked_pair.o: ./include/simfold.h ./include/init.h + src/simfold/s_stacked_pair.o: src/common/params.h +-src/simfold/s_energy_matrix.o: /usr/include/stdio.h /usr/include/features.h +-src/simfold/s_energy_matrix.o: /usr/include/sys/cdefs.h +-src/simfold/s_energy_matrix.o: /usr/include/bits/wordsize.h +-src/simfold/s_energy_matrix.o: /usr/include/gnu/stubs.h +-src/simfold/s_energy_matrix.o: /usr/include/gnu/stubs-32.h +-src/simfold/s_energy_matrix.o: /usr/include/bits/types.h +-src/simfold/s_energy_matrix.o: /usr/include/bits/typesizes.h +-src/simfold/s_energy_matrix.o: /usr/include/libio.h /usr/include/_G_config.h +-src/simfold/s_energy_matrix.o: /usr/include/wchar.h /usr/include/bits/wchar.h +-src/simfold/s_energy_matrix.o: /usr/include/gconv.h +-src/simfold/s_energy_matrix.o: /usr/include/bits/stdio_lim.h +-src/simfold/s_energy_matrix.o: /usr/include/bits/sys_errlist.h +-src/simfold/s_energy_matrix.o: /usr/include/string.h /usr/include/stdlib.h +-src/simfold/s_energy_matrix.o: /usr/include/malloc.h ./include/constants.h +-src/simfold/s_energy_matrix.o: ./include/structs.h ./include/externs.h +-src/simfold/s_energy_matrix.o: src/common/common.h ++src/simfold/s_energy_matrix.o: ./include/constants.h ./include/structs.h ++src/simfold/s_energy_matrix.o: ./include/externs.h src/common/common.h + src/simfold/s_energy_matrix.o: ./src/simfold/s_partition_function.h + src/simfold/s_energy_matrix.o: ./src/simfold/s_hairpin_loop.h + src/simfold/s_energy_matrix.o: ./src/simfold/s_internal_loop.h +@@ -381,19 +261,6 @@ src/simfold/s_energy_matrix.o: ./src/simfold/s_stacked_pair.h + src/simfold/s_energy_matrix.o: ./src/simfold/s_multi_loop.h + src/simfold/s_energy_matrix.o: ./src/simfold/s_multi_loop_sub.h + src/simfold/s_energy_matrix.o: ./include/simfold.h ./include/init.h +-src/simfold/s_internal_loop.o: /usr/include/stdio.h /usr/include/features.h +-src/simfold/s_internal_loop.o: /usr/include/sys/cdefs.h +-src/simfold/s_internal_loop.o: /usr/include/bits/wordsize.h +-src/simfold/s_internal_loop.o: /usr/include/gnu/stubs.h +-src/simfold/s_internal_loop.o: /usr/include/gnu/stubs-32.h +-src/simfold/s_internal_loop.o: /usr/include/bits/types.h +-src/simfold/s_internal_loop.o: /usr/include/bits/typesizes.h +-src/simfold/s_internal_loop.o: /usr/include/libio.h /usr/include/_G_config.h +-src/simfold/s_internal_loop.o: /usr/include/wchar.h /usr/include/bits/wchar.h +-src/simfold/s_internal_loop.o: /usr/include/gconv.h +-src/simfold/s_internal_loop.o: /usr/include/bits/stdio_lim.h +-src/simfold/s_internal_loop.o: /usr/include/bits/sys_errlist.h +-src/simfold/s_internal_loop.o: /usr/include/string.h /usr/include/stdlib.h + src/simfold/s_internal_loop.o: ./src/simfold/s_internal_loop.h + src/simfold/s_internal_loop.o: ./include/constants.h ./include/structs.h + src/simfold/s_internal_loop.o: ./src/simfold/s_energy_matrix.h +@@ -405,21 +272,8 @@ src/simfold/s_internal_loop.o: ./include/externs.h src/common/common.h + src/simfold/s_internal_loop.o: ./src/simfold/s_partition_function.h + src/simfold/s_internal_loop.o: ./include/simfold.h ./include/init.h + src/simfold/s_internal_loop.o: src/common/params.h +-src/simfold/s_multi_loop.o: /usr/include/stdio.h /usr/include/features.h +-src/simfold/s_multi_loop.o: /usr/include/sys/cdefs.h +-src/simfold/s_multi_loop.o: /usr/include/bits/wordsize.h +-src/simfold/s_multi_loop.o: /usr/include/gnu/stubs.h +-src/simfold/s_multi_loop.o: /usr/include/gnu/stubs-32.h +-src/simfold/s_multi_loop.o: /usr/include/bits/types.h +-src/simfold/s_multi_loop.o: /usr/include/bits/typesizes.h +-src/simfold/s_multi_loop.o: /usr/include/libio.h /usr/include/_G_config.h +-src/simfold/s_multi_loop.o: /usr/include/wchar.h /usr/include/bits/wchar.h +-src/simfold/s_multi_loop.o: /usr/include/gconv.h +-src/simfold/s_multi_loop.o: /usr/include/bits/stdio_lim.h +-src/simfold/s_multi_loop.o: /usr/include/bits/sys_errlist.h +-src/simfold/s_multi_loop.o: /usr/include/malloc.h ./include/externs.h +-src/simfold/s_multi_loop.o: ./include/structs.h ./include/constants.h +-src/simfold/s_multi_loop.o: src/common/common.h ++src/simfold/s_multi_loop.o: ./include/externs.h ./include/structs.h ++src/simfold/s_multi_loop.o: ./include/constants.h src/common/common.h + src/simfold/s_multi_loop.o: ./src/simfold/s_partition_function.h + src/simfold/s_multi_loop.o: ./src/simfold/s_hairpin_loop.h + src/simfold/s_multi_loop.o: ./src/simfold/s_internal_loop.h +@@ -428,22 +282,8 @@ src/simfold/s_multi_loop.o: ./src/simfold/s_stacked_pair.h + src/simfold/s_multi_loop.o: ./src/simfold/s_multi_loop.h + src/simfold/s_multi_loop.o: ./src/simfold/s_multi_loop_sub.h + src/simfold/s_multi_loop.o: ./include/simfold.h ./include/init.h +-src/simfold/s_multi_loop_sub.o: /usr/include/stdio.h /usr/include/features.h +-src/simfold/s_multi_loop_sub.o: /usr/include/sys/cdefs.h +-src/simfold/s_multi_loop_sub.o: /usr/include/bits/wordsize.h +-src/simfold/s_multi_loop_sub.o: /usr/include/gnu/stubs.h +-src/simfold/s_multi_loop_sub.o: /usr/include/gnu/stubs-32.h +-src/simfold/s_multi_loop_sub.o: /usr/include/bits/types.h +-src/simfold/s_multi_loop_sub.o: /usr/include/bits/typesizes.h +-src/simfold/s_multi_loop_sub.o: /usr/include/libio.h /usr/include/_G_config.h +-src/simfold/s_multi_loop_sub.o: /usr/include/wchar.h +-src/simfold/s_multi_loop_sub.o: /usr/include/bits/wchar.h +-src/simfold/s_multi_loop_sub.o: /usr/include/gconv.h +-src/simfold/s_multi_loop_sub.o: /usr/include/bits/stdio_lim.h +-src/simfold/s_multi_loop_sub.o: /usr/include/bits/sys_errlist.h +-src/simfold/s_multi_loop_sub.o: /usr/include/malloc.h ./include/externs.h +-src/simfold/s_multi_loop_sub.o: ./include/structs.h ./include/constants.h +-src/simfold/s_multi_loop_sub.o: src/common/common.h ++src/simfold/s_multi_loop_sub.o: ./include/externs.h ./include/structs.h ++src/simfold/s_multi_loop_sub.o: ./include/constants.h src/common/common.h + src/simfold/s_multi_loop_sub.o: ./src/simfold/s_partition_function.h + src/simfold/s_multi_loop_sub.o: ./src/simfold/s_hairpin_loop.h + src/simfold/s_multi_loop_sub.o: ./src/simfold/s_internal_loop.h +@@ -452,20 +292,7 @@ src/simfold/s_multi_loop_sub.o: ./src/simfold/s_stacked_pair.h + src/simfold/s_multi_loop_sub.o: ./src/simfold/s_multi_loop.h + src/simfold/s_multi_loop_sub.o: ./src/simfold/s_multi_loop_sub.h + src/simfold/s_sub_folding.o: ./src/simfold/s_sub_folding.h +-src/simfold/s_sub_folding.o: /usr/include/stdio.h /usr/include/features.h +-src/simfold/s_sub_folding.o: /usr/include/sys/cdefs.h +-src/simfold/s_sub_folding.o: /usr/include/bits/wordsize.h +-src/simfold/s_sub_folding.o: /usr/include/gnu/stubs.h +-src/simfold/s_sub_folding.o: /usr/include/gnu/stubs-32.h +-src/simfold/s_sub_folding.o: /usr/include/bits/types.h +-src/simfold/s_sub_folding.o: /usr/include/bits/typesizes.h +-src/simfold/s_sub_folding.o: /usr/include/libio.h /usr/include/_G_config.h +-src/simfold/s_sub_folding.o: /usr/include/wchar.h /usr/include/bits/wchar.h +-src/simfold/s_sub_folding.o: /usr/include/gconv.h +-src/simfold/s_sub_folding.o: /usr/include/bits/stdio_lim.h +-src/simfold/s_sub_folding.o: /usr/include/bits/sys_errlist.h +-src/simfold/s_sub_folding.o: /usr/include/string.h ./include/structs.h +-src/simfold/s_sub_folding.o: ./include/constants.h ++src/simfold/s_sub_folding.o: ./include/structs.h ./include/constants.h + src/simfold/s_sub_folding.o: ./src/simfold/s_energy_matrix.h + src/simfold/s_sub_folding.o: ./src/simfold/s_stacked_pair.h + src/simfold/s_sub_folding.o: ./src/simfold/s_hairpin_loop.h +@@ -475,30 +302,6 @@ src/simfold/s_sub_folding.o: ./src/simfold/s_multi_loop_sub.h + src/simfold/s_sub_folding.o: ./include/externs.h src/common/common.h + src/simfold/s_sub_folding.o: ./src/simfold/s_partition_function.h + src/simfold/s_sub_folding.o: ./include/simfold.h ./include/init.h +-src/simfold/s_partition_function.o: /usr/include/stdio.h +-src/simfold/s_partition_function.o: /usr/include/features.h +-src/simfold/s_partition_function.o: /usr/include/sys/cdefs.h +-src/simfold/s_partition_function.o: /usr/include/bits/wordsize.h +-src/simfold/s_partition_function.o: /usr/include/gnu/stubs.h +-src/simfold/s_partition_function.o: /usr/include/gnu/stubs-32.h +-src/simfold/s_partition_function.o: /usr/include/bits/types.h +-src/simfold/s_partition_function.o: /usr/include/bits/typesizes.h +-src/simfold/s_partition_function.o: /usr/include/libio.h +-src/simfold/s_partition_function.o: /usr/include/_G_config.h +-src/simfold/s_partition_function.o: /usr/include/wchar.h +-src/simfold/s_partition_function.o: /usr/include/bits/wchar.h +-src/simfold/s_partition_function.o: /usr/include/gconv.h +-src/simfold/s_partition_function.o: /usr/include/bits/stdio_lim.h +-src/simfold/s_partition_function.o: /usr/include/bits/sys_errlist.h +-src/simfold/s_partition_function.o: /usr/include/string.h +-src/simfold/s_partition_function.o: /usr/include/stdlib.h +-src/simfold/s_partition_function.o: /usr/include/malloc.h /usr/include/math.h +-src/simfold/s_partition_function.o: /usr/include/bits/huge_val.h +-src/simfold/s_partition_function.o: /usr/include/bits/mathdef.h +-src/simfold/s_partition_function.o: /usr/include/bits/mathcalls.h +-src/simfold/s_partition_function.o: /usr/include/ctype.h +-src/simfold/s_partition_function.o: /usr/include/endian.h +-src/simfold/s_partition_function.o: /usr/include/bits/endian.h + src/simfold/s_partition_function.o: ./include/constants.h ./include/structs.h + src/simfold/s_partition_function.o: ./include/externs.h src/common/common.h + src/simfold/s_partition_function.o: ./src/simfold/s_partition_function.h +@@ -512,31 +315,6 @@ src/simfold/s_partition_function.o: ./include/simfold.h ./include/init.h + src/simfold/s_partition_function.o: ./src/simfold/s_min_folding.h + src/simfold/s_partition_function.o: ./src/simfold/s_sub_folding.h + src/simfold/s_partition_function.o: src/common/params.h +-src/simfold/s_partition_function_complex.o: /usr/include/stdio.h +-src/simfold/s_partition_function_complex.o: /usr/include/features.h +-src/simfold/s_partition_function_complex.o: /usr/include/sys/cdefs.h +-src/simfold/s_partition_function_complex.o: /usr/include/bits/wordsize.h +-src/simfold/s_partition_function_complex.o: /usr/include/gnu/stubs.h +-src/simfold/s_partition_function_complex.o: /usr/include/gnu/stubs-32.h +-src/simfold/s_partition_function_complex.o: /usr/include/bits/types.h +-src/simfold/s_partition_function_complex.o: /usr/include/bits/typesizes.h +-src/simfold/s_partition_function_complex.o: /usr/include/libio.h +-src/simfold/s_partition_function_complex.o: /usr/include/_G_config.h +-src/simfold/s_partition_function_complex.o: /usr/include/wchar.h +-src/simfold/s_partition_function_complex.o: /usr/include/bits/wchar.h +-src/simfold/s_partition_function_complex.o: /usr/include/gconv.h +-src/simfold/s_partition_function_complex.o: /usr/include/bits/stdio_lim.h +-src/simfold/s_partition_function_complex.o: /usr/include/bits/sys_errlist.h +-src/simfold/s_partition_function_complex.o: /usr/include/string.h +-src/simfold/s_partition_function_complex.o: /usr/include/stdlib.h +-src/simfold/s_partition_function_complex.o: /usr/include/malloc.h +-src/simfold/s_partition_function_complex.o: /usr/include/math.h +-src/simfold/s_partition_function_complex.o: /usr/include/bits/huge_val.h +-src/simfold/s_partition_function_complex.o: /usr/include/bits/mathdef.h +-src/simfold/s_partition_function_complex.o: /usr/include/bits/mathcalls.h +-src/simfold/s_partition_function_complex.o: /usr/include/ctype.h +-src/simfold/s_partition_function_complex.o: /usr/include/endian.h +-src/simfold/s_partition_function_complex.o: /usr/include/bits/endian.h + src/simfold/s_partition_function_complex.o: ./include/constants.h + src/simfold/s_partition_function_complex.o: ./include/structs.h + src/simfold/s_partition_function_complex.o: ./include/externs.h +@@ -551,32 +329,9 @@ src/simfold/s_partition_function_complex.o: ./src/simfold/s_multi_loop_sub.h + src/simfold/s_partition_function_complex.o: ./include/simfold.h + src/simfold/s_partition_function_complex.o: ./include/init.h + src/simfold/s_partition_function_complex.o: src/simfold/s_partition_function_complex.h +-src/simfold/s_partition_function_complex.o: /usr/include/complex.h +-src/simfold/s_partition_function_complex.o: /usr/include/bits/cmathcalls.h + src/simfold/s_partition_function_complex.o: ./src/simfold/s_min_folding.h + src/simfold/s_partition_function_complex.o: ./src/simfold/s_sub_folding.h + src/simfold/s_partition_function_complex.o: src/common/params.h +-src/pairfold/p_specific_functions.o: /usr/include/stdio.h +-src/pairfold/p_specific_functions.o: /usr/include/features.h +-src/pairfold/p_specific_functions.o: /usr/include/sys/cdefs.h +-src/pairfold/p_specific_functions.o: /usr/include/bits/wordsize.h +-src/pairfold/p_specific_functions.o: /usr/include/gnu/stubs.h +-src/pairfold/p_specific_functions.o: /usr/include/gnu/stubs-32.h +-src/pairfold/p_specific_functions.o: /usr/include/bits/types.h +-src/pairfold/p_specific_functions.o: /usr/include/bits/typesizes.h +-src/pairfold/p_specific_functions.o: /usr/include/libio.h +-src/pairfold/p_specific_functions.o: /usr/include/_G_config.h +-src/pairfold/p_specific_functions.o: /usr/include/wchar.h +-src/pairfold/p_specific_functions.o: /usr/include/bits/wchar.h +-src/pairfold/p_specific_functions.o: /usr/include/gconv.h +-src/pairfold/p_specific_functions.o: /usr/include/bits/stdio_lim.h +-src/pairfold/p_specific_functions.o: /usr/include/bits/sys_errlist.h +-src/pairfold/p_specific_functions.o: /usr/include/stdlib.h +-src/pairfold/p_specific_functions.o: /usr/include/math.h +-src/pairfold/p_specific_functions.o: /usr/include/bits/huge_val.h +-src/pairfold/p_specific_functions.o: /usr/include/bits/mathdef.h +-src/pairfold/p_specific_functions.o: /usr/include/bits/mathcalls.h +-src/pairfold/p_specific_functions.o: /usr/include/string.h + src/pairfold/p_specific_functions.o: ./include/constants.h + src/pairfold/p_specific_functions.o: ./include/structs.h ./include/externs.h + src/pairfold/p_specific_functions.o: src/common/common.h +@@ -597,19 +352,6 @@ src/pairfold/p_specific_functions.o: src/pairfold/p_multi_loop.h + src/pairfold/p_specific_functions.o: src/pairfold/p_multi_loop_sub.h + src/pairfold/p_specific_functions.o: src/pairfold/p_sub_folding.h + src/pairfold/p_specific_functions.o: src/pairfold/p_specific_functions.h +-src/pairfold/p_min_folding.o: /usr/include/stdio.h /usr/include/features.h +-src/pairfold/p_min_folding.o: /usr/include/sys/cdefs.h +-src/pairfold/p_min_folding.o: /usr/include/bits/wordsize.h +-src/pairfold/p_min_folding.o: /usr/include/gnu/stubs.h +-src/pairfold/p_min_folding.o: /usr/include/gnu/stubs-32.h +-src/pairfold/p_min_folding.o: /usr/include/bits/types.h +-src/pairfold/p_min_folding.o: /usr/include/bits/typesizes.h +-src/pairfold/p_min_folding.o: /usr/include/libio.h /usr/include/_G_config.h +-src/pairfold/p_min_folding.o: /usr/include/wchar.h /usr/include/bits/wchar.h +-src/pairfold/p_min_folding.o: /usr/include/gconv.h +-src/pairfold/p_min_folding.o: /usr/include/bits/stdio_lim.h +-src/pairfold/p_min_folding.o: /usr/include/bits/sys_errlist.h +-src/pairfold/p_min_folding.o: /usr/include/string.h + src/pairfold/p_min_folding.o: src/pairfold/p_min_folding.h + src/pairfold/p_min_folding.o: ./include/structs.h ./include/constants.h + src/pairfold/p_min_folding.o: src/pairfold/p_energy_matrix.h +@@ -627,20 +369,8 @@ src/pairfold/p_min_folding.o: ./src/simfold/s_stacked_pair.h + src/pairfold/p_min_folding.o: ./src/simfold/s_multi_loop.h + src/pairfold/p_min_folding.o: ./src/simfold/s_multi_loop_sub.h + src/pairfold/p_min_folding.o: ./include/pairfold.h ./include/init.h +-src/pairfold/p_hairpin_loop.o: /usr/include/string.h /usr/include/features.h +-src/pairfold/p_hairpin_loop.o: /usr/include/sys/cdefs.h +-src/pairfold/p_hairpin_loop.o: /usr/include/bits/wordsize.h +-src/pairfold/p_hairpin_loop.o: /usr/include/gnu/stubs.h +-src/pairfold/p_hairpin_loop.o: /usr/include/gnu/stubs-32.h + src/pairfold/p_hairpin_loop.o: ./include/constants.h ./include/structs.h + src/pairfold/p_hairpin_loop.o: ./include/externs.h src/common/common.h +-src/pairfold/p_hairpin_loop.o: /usr/include/stdio.h /usr/include/bits/types.h +-src/pairfold/p_hairpin_loop.o: /usr/include/bits/typesizes.h +-src/pairfold/p_hairpin_loop.o: /usr/include/libio.h /usr/include/_G_config.h +-src/pairfold/p_hairpin_loop.o: /usr/include/wchar.h /usr/include/bits/wchar.h +-src/pairfold/p_hairpin_loop.o: /usr/include/gconv.h +-src/pairfold/p_hairpin_loop.o: /usr/include/bits/stdio_lim.h +-src/pairfold/p_hairpin_loop.o: /usr/include/bits/sys_errlist.h + src/pairfold/p_hairpin_loop.o: ./src/simfold/s_partition_function.h + src/pairfold/p_hairpin_loop.o: ./src/simfold/s_hairpin_loop.h + src/pairfold/p_hairpin_loop.o: ./src/simfold/s_internal_loop.h +@@ -650,20 +380,8 @@ src/pairfold/p_hairpin_loop.o: ./src/simfold/s_multi_loop.h + src/pairfold/p_hairpin_loop.o: ./src/simfold/s_multi_loop_sub.h + src/pairfold/p_hairpin_loop.o: ./include/pairfold.h ./include/init.h + src/pairfold/p_hairpin_loop.o: src/pairfold/p_hairpin_loop.h +-src/pairfold/p_stacked_pair.o: /usr/include/string.h /usr/include/features.h +-src/pairfold/p_stacked_pair.o: /usr/include/sys/cdefs.h +-src/pairfold/p_stacked_pair.o: /usr/include/bits/wordsize.h +-src/pairfold/p_stacked_pair.o: /usr/include/gnu/stubs.h +-src/pairfold/p_stacked_pair.o: /usr/include/gnu/stubs-32.h + src/pairfold/p_stacked_pair.o: ./include/constants.h ./include/structs.h + src/pairfold/p_stacked_pair.o: ./include/externs.h src/common/common.h +-src/pairfold/p_stacked_pair.o: /usr/include/stdio.h /usr/include/bits/types.h +-src/pairfold/p_stacked_pair.o: /usr/include/bits/typesizes.h +-src/pairfold/p_stacked_pair.o: /usr/include/libio.h /usr/include/_G_config.h +-src/pairfold/p_stacked_pair.o: /usr/include/wchar.h /usr/include/bits/wchar.h +-src/pairfold/p_stacked_pair.o: /usr/include/gconv.h +-src/pairfold/p_stacked_pair.o: /usr/include/bits/stdio_lim.h +-src/pairfold/p_stacked_pair.o: /usr/include/bits/sys_errlist.h + src/pairfold/p_stacked_pair.o: ./src/simfold/s_partition_function.h + src/pairfold/p_stacked_pair.o: ./src/simfold/s_hairpin_loop.h + src/pairfold/p_stacked_pair.o: ./src/simfold/s_internal_loop.h +@@ -678,23 +396,8 @@ src/pairfold/p_stacked_pair.o: src/pairfold/p_hairpin_loop.h + src/pairfold/p_stacked_pair.o: src/pairfold/p_internal_loop.h + src/pairfold/p_stacked_pair.o: src/pairfold/p_multi_loop.h + src/pairfold/p_stacked_pair.o: src/pairfold/p_multi_loop_sub.h +-src/pairfold/p_energy_matrix.o: /usr/include/stdio.h /usr/include/features.h +-src/pairfold/p_energy_matrix.o: /usr/include/sys/cdefs.h +-src/pairfold/p_energy_matrix.o: /usr/include/bits/wordsize.h +-src/pairfold/p_energy_matrix.o: /usr/include/gnu/stubs.h +-src/pairfold/p_energy_matrix.o: /usr/include/gnu/stubs-32.h +-src/pairfold/p_energy_matrix.o: /usr/include/bits/types.h +-src/pairfold/p_energy_matrix.o: /usr/include/bits/typesizes.h +-src/pairfold/p_energy_matrix.o: /usr/include/libio.h /usr/include/_G_config.h +-src/pairfold/p_energy_matrix.o: /usr/include/wchar.h +-src/pairfold/p_energy_matrix.o: /usr/include/bits/wchar.h +-src/pairfold/p_energy_matrix.o: /usr/include/gconv.h +-src/pairfold/p_energy_matrix.o: /usr/include/bits/stdio_lim.h +-src/pairfold/p_energy_matrix.o: /usr/include/bits/sys_errlist.h +-src/pairfold/p_energy_matrix.o: /usr/include/string.h /usr/include/stdlib.h +-src/pairfold/p_energy_matrix.o: /usr/include/malloc.h ./include/constants.h +-src/pairfold/p_energy_matrix.o: ./include/structs.h ./include/externs.h +-src/pairfold/p_energy_matrix.o: src/common/common.h ++src/pairfold/p_energy_matrix.o: ./include/constants.h ./include/structs.h ++src/pairfold/p_energy_matrix.o: ./include/externs.h src/common/common.h + src/pairfold/p_energy_matrix.o: ./src/simfold/s_partition_function.h + src/pairfold/p_energy_matrix.o: ./src/simfold/s_hairpin_loop.h + src/pairfold/p_energy_matrix.o: ./src/simfold/s_internal_loop.h +@@ -709,20 +412,6 @@ src/pairfold/p_energy_matrix.o: src/pairfold/p_hairpin_loop.h + src/pairfold/p_energy_matrix.o: src/pairfold/p_internal_loop.h + src/pairfold/p_energy_matrix.o: src/pairfold/p_multi_loop.h + src/pairfold/p_energy_matrix.o: src/pairfold/p_multi_loop_sub.h +-src/pairfold/p_internal_loop.o: /usr/include/stdio.h /usr/include/features.h +-src/pairfold/p_internal_loop.o: /usr/include/sys/cdefs.h +-src/pairfold/p_internal_loop.o: /usr/include/bits/wordsize.h +-src/pairfold/p_internal_loop.o: /usr/include/gnu/stubs.h +-src/pairfold/p_internal_loop.o: /usr/include/gnu/stubs-32.h +-src/pairfold/p_internal_loop.o: /usr/include/bits/types.h +-src/pairfold/p_internal_loop.o: /usr/include/bits/typesizes.h +-src/pairfold/p_internal_loop.o: /usr/include/libio.h /usr/include/_G_config.h +-src/pairfold/p_internal_loop.o: /usr/include/wchar.h +-src/pairfold/p_internal_loop.o: /usr/include/bits/wchar.h +-src/pairfold/p_internal_loop.o: /usr/include/gconv.h +-src/pairfold/p_internal_loop.o: /usr/include/bits/stdio_lim.h +-src/pairfold/p_internal_loop.o: /usr/include/bits/sys_errlist.h +-src/pairfold/p_internal_loop.o: /usr/include/string.h /usr/include/stdlib.h + src/pairfold/p_internal_loop.o: src/pairfold/p_internal_loop.h + src/pairfold/p_internal_loop.o: ./include/constants.h ./include/structs.h + src/pairfold/p_internal_loop.o: src/pairfold/p_energy_matrix.h +@@ -740,21 +429,8 @@ src/pairfold/p_internal_loop.o: ./src/simfold/s_multi_loop.h + src/pairfold/p_internal_loop.o: ./src/simfold/s_multi_loop_sub.h + src/pairfold/p_internal_loop.o: ./include/pairfold.h ./include/init.h + src/pairfold/p_internal_loop.o: src/pairfold/p_specific_functions.h +-src/pairfold/p_multi_loop.o: /usr/include/stdio.h /usr/include/features.h +-src/pairfold/p_multi_loop.o: /usr/include/sys/cdefs.h +-src/pairfold/p_multi_loop.o: /usr/include/bits/wordsize.h +-src/pairfold/p_multi_loop.o: /usr/include/gnu/stubs.h +-src/pairfold/p_multi_loop.o: /usr/include/gnu/stubs-32.h +-src/pairfold/p_multi_loop.o: /usr/include/bits/types.h +-src/pairfold/p_multi_loop.o: /usr/include/bits/typesizes.h +-src/pairfold/p_multi_loop.o: /usr/include/libio.h /usr/include/_G_config.h +-src/pairfold/p_multi_loop.o: /usr/include/wchar.h /usr/include/bits/wchar.h +-src/pairfold/p_multi_loop.o: /usr/include/gconv.h +-src/pairfold/p_multi_loop.o: /usr/include/bits/stdio_lim.h +-src/pairfold/p_multi_loop.o: /usr/include/bits/sys_errlist.h +-src/pairfold/p_multi_loop.o: /usr/include/malloc.h ./include/externs.h +-src/pairfold/p_multi_loop.o: ./include/structs.h ./include/constants.h +-src/pairfold/p_multi_loop.o: src/common/common.h ++src/pairfold/p_multi_loop.o: ./include/externs.h ./include/structs.h ++src/pairfold/p_multi_loop.o: ./include/constants.h src/common/common.h + src/pairfold/p_multi_loop.o: ./src/simfold/s_partition_function.h + src/pairfold/p_multi_loop.o: ./src/simfold/s_hairpin_loop.h + src/pairfold/p_multi_loop.o: ./src/simfold/s_internal_loop.h +@@ -769,23 +445,8 @@ src/pairfold/p_multi_loop.o: src/pairfold/p_hairpin_loop.h + src/pairfold/p_multi_loop.o: src/pairfold/p_internal_loop.h + src/pairfold/p_multi_loop.o: src/pairfold/p_multi_loop_sub.h + src/pairfold/p_multi_loop.o: ./include/pairfold.h ./include/init.h +-src/pairfold/p_multi_loop_sub.o: /usr/include/stdio.h /usr/include/features.h +-src/pairfold/p_multi_loop_sub.o: /usr/include/sys/cdefs.h +-src/pairfold/p_multi_loop_sub.o: /usr/include/bits/wordsize.h +-src/pairfold/p_multi_loop_sub.o: /usr/include/gnu/stubs.h +-src/pairfold/p_multi_loop_sub.o: /usr/include/gnu/stubs-32.h +-src/pairfold/p_multi_loop_sub.o: /usr/include/bits/types.h +-src/pairfold/p_multi_loop_sub.o: /usr/include/bits/typesizes.h +-src/pairfold/p_multi_loop_sub.o: /usr/include/libio.h +-src/pairfold/p_multi_loop_sub.o: /usr/include/_G_config.h +-src/pairfold/p_multi_loop_sub.o: /usr/include/wchar.h +-src/pairfold/p_multi_loop_sub.o: /usr/include/bits/wchar.h +-src/pairfold/p_multi_loop_sub.o: /usr/include/gconv.h +-src/pairfold/p_multi_loop_sub.o: /usr/include/bits/stdio_lim.h +-src/pairfold/p_multi_loop_sub.o: /usr/include/bits/sys_errlist.h +-src/pairfold/p_multi_loop_sub.o: /usr/include/malloc.h ./include/externs.h +-src/pairfold/p_multi_loop_sub.o: ./include/structs.h ./include/constants.h +-src/pairfold/p_multi_loop_sub.o: src/common/common.h ++src/pairfold/p_multi_loop_sub.o: ./include/externs.h ./include/structs.h ++src/pairfold/p_multi_loop_sub.o: ./include/constants.h src/common/common.h + src/pairfold/p_multi_loop_sub.o: ./src/simfold/s_partition_function.h + src/pairfold/p_multi_loop_sub.o: ./src/simfold/s_hairpin_loop.h + src/pairfold/p_multi_loop_sub.o: ./src/simfold/s_internal_loop.h +@@ -801,20 +462,7 @@ src/pairfold/p_multi_loop_sub.o: src/pairfold/p_internal_loop.h + src/pairfold/p_multi_loop_sub.o: src/pairfold/p_multi_loop.h + src/pairfold/p_multi_loop_sub.o: ./include/pairfold.h ./include/init.h + src/pairfold/p_sub_folding.o: src/pairfold/p_sub_folding.h +-src/pairfold/p_sub_folding.o: /usr/include/stdio.h /usr/include/features.h +-src/pairfold/p_sub_folding.o: /usr/include/sys/cdefs.h +-src/pairfold/p_sub_folding.o: /usr/include/bits/wordsize.h +-src/pairfold/p_sub_folding.o: /usr/include/gnu/stubs.h +-src/pairfold/p_sub_folding.o: /usr/include/gnu/stubs-32.h +-src/pairfold/p_sub_folding.o: /usr/include/bits/types.h +-src/pairfold/p_sub_folding.o: /usr/include/bits/typesizes.h +-src/pairfold/p_sub_folding.o: /usr/include/libio.h /usr/include/_G_config.h +-src/pairfold/p_sub_folding.o: /usr/include/wchar.h /usr/include/bits/wchar.h +-src/pairfold/p_sub_folding.o: /usr/include/gconv.h +-src/pairfold/p_sub_folding.o: /usr/include/bits/stdio_lim.h +-src/pairfold/p_sub_folding.o: /usr/include/bits/sys_errlist.h +-src/pairfold/p_sub_folding.o: /usr/include/string.h ./include/structs.h +-src/pairfold/p_sub_folding.o: ./include/constants.h ++src/pairfold/p_sub_folding.o: ./include/structs.h ./include/constants.h + src/pairfold/p_sub_folding.o: src/pairfold/p_energy_matrix.h + src/pairfold/p_sub_folding.o: src/pairfold/p_stacked_pair.h + src/pairfold/p_sub_folding.o: src/pairfold/p_hairpin_loop.h +@@ -830,27 +478,6 @@ src/pairfold/p_sub_folding.o: ./src/simfold/s_stacked_pair.h + src/pairfold/p_sub_folding.o: ./src/simfold/s_multi_loop.h + src/pairfold/p_sub_folding.o: ./src/simfold/s_multi_loop_sub.h + src/pairfold/p_sub_folding.o: ./include/pairfold.h ./include/init.h +-src/multifold/m_specific_functions.o: /usr/include/stdio.h +-src/multifold/m_specific_functions.o: /usr/include/features.h +-src/multifold/m_specific_functions.o: /usr/include/sys/cdefs.h +-src/multifold/m_specific_functions.o: /usr/include/bits/wordsize.h +-src/multifold/m_specific_functions.o: /usr/include/gnu/stubs.h +-src/multifold/m_specific_functions.o: /usr/include/gnu/stubs-32.h +-src/multifold/m_specific_functions.o: /usr/include/bits/types.h +-src/multifold/m_specific_functions.o: /usr/include/bits/typesizes.h +-src/multifold/m_specific_functions.o: /usr/include/libio.h +-src/multifold/m_specific_functions.o: /usr/include/_G_config.h +-src/multifold/m_specific_functions.o: /usr/include/wchar.h +-src/multifold/m_specific_functions.o: /usr/include/bits/wchar.h +-src/multifold/m_specific_functions.o: /usr/include/gconv.h +-src/multifold/m_specific_functions.o: /usr/include/bits/stdio_lim.h +-src/multifold/m_specific_functions.o: /usr/include/bits/sys_errlist.h +-src/multifold/m_specific_functions.o: /usr/include/stdlib.h +-src/multifold/m_specific_functions.o: /usr/include/math.h +-src/multifold/m_specific_functions.o: /usr/include/bits/huge_val.h +-src/multifold/m_specific_functions.o: /usr/include/bits/mathdef.h +-src/multifold/m_specific_functions.o: /usr/include/bits/mathcalls.h +-src/multifold/m_specific_functions.o: /usr/include/string.h + src/multifold/m_specific_functions.o: ./include/constants.h + src/multifold/m_specific_functions.o: ./include/structs.h ./include/externs.h + src/multifold/m_specific_functions.o: src/common/common.h +@@ -869,19 +496,6 @@ src/multifold/m_specific_functions.o: src/multifold/m_hairpin_loop.h + src/multifold/m_specific_functions.o: src/multifold/m_internal_loop.h + src/multifold/m_specific_functions.o: src/multifold/m_multi_loop.h + src/multifold/m_specific_functions.o: src/multifold/m_specific_functions.h +-src/multifold/m_min_folding.o: /usr/include/stdio.h /usr/include/features.h +-src/multifold/m_min_folding.o: /usr/include/sys/cdefs.h +-src/multifold/m_min_folding.o: /usr/include/bits/wordsize.h +-src/multifold/m_min_folding.o: /usr/include/gnu/stubs.h +-src/multifold/m_min_folding.o: /usr/include/gnu/stubs-32.h +-src/multifold/m_min_folding.o: /usr/include/bits/types.h +-src/multifold/m_min_folding.o: /usr/include/bits/typesizes.h +-src/multifold/m_min_folding.o: /usr/include/libio.h /usr/include/_G_config.h +-src/multifold/m_min_folding.o: /usr/include/wchar.h /usr/include/bits/wchar.h +-src/multifold/m_min_folding.o: /usr/include/gconv.h +-src/multifold/m_min_folding.o: /usr/include/bits/stdio_lim.h +-src/multifold/m_min_folding.o: /usr/include/bits/sys_errlist.h +-src/multifold/m_min_folding.o: /usr/include/string.h + src/multifold/m_min_folding.o: src/multifold/m_min_folding.h + src/multifold/m_min_folding.o: ./include/structs.h ./include/constants.h + src/multifold/m_min_folding.o: src/multifold/m_energy_matrix.h +@@ -899,22 +513,8 @@ src/multifold/m_min_folding.o: ./src/simfold/s_multi_loop.h + src/multifold/m_min_folding.o: ./src/simfold/s_multi_loop_sub.h + src/multifold/m_min_folding.o: ./include/multifold.h ./include/init.h + src/multifold/m_min_folding.o: src/multifold/m_specific_functions.h +-src/multifold/m_hairpin_loop.o: /usr/include/string.h /usr/include/features.h +-src/multifold/m_hairpin_loop.o: /usr/include/sys/cdefs.h +-src/multifold/m_hairpin_loop.o: /usr/include/bits/wordsize.h +-src/multifold/m_hairpin_loop.o: /usr/include/gnu/stubs.h +-src/multifold/m_hairpin_loop.o: /usr/include/gnu/stubs-32.h + src/multifold/m_hairpin_loop.o: ./include/constants.h ./include/structs.h + src/multifold/m_hairpin_loop.o: ./include/externs.h src/common/common.h +-src/multifold/m_hairpin_loop.o: /usr/include/stdio.h +-src/multifold/m_hairpin_loop.o: /usr/include/bits/types.h +-src/multifold/m_hairpin_loop.o: /usr/include/bits/typesizes.h +-src/multifold/m_hairpin_loop.o: /usr/include/libio.h /usr/include/_G_config.h +-src/multifold/m_hairpin_loop.o: /usr/include/wchar.h +-src/multifold/m_hairpin_loop.o: /usr/include/bits/wchar.h +-src/multifold/m_hairpin_loop.o: /usr/include/gconv.h +-src/multifold/m_hairpin_loop.o: /usr/include/bits/stdio_lim.h +-src/multifold/m_hairpin_loop.o: /usr/include/bits/sys_errlist.h + src/multifold/m_hairpin_loop.o: ./src/simfold/s_partition_function.h + src/multifold/m_hairpin_loop.o: ./src/simfold/s_hairpin_loop.h + src/multifold/m_hairpin_loop.o: ./src/simfold/s_internal_loop.h +@@ -925,22 +525,8 @@ src/multifold/m_hairpin_loop.o: ./src/simfold/s_multi_loop_sub.h + src/multifold/m_hairpin_loop.o: ./include/multifold.h ./include/init.h + src/multifold/m_hairpin_loop.o: src/multifold/m_hairpin_loop.h + src/multifold/m_hairpin_loop.o: src/multifold/m_specific_functions.h +-src/multifold/m_stacked_pair.o: /usr/include/string.h /usr/include/features.h +-src/multifold/m_stacked_pair.o: /usr/include/sys/cdefs.h +-src/multifold/m_stacked_pair.o: /usr/include/bits/wordsize.h +-src/multifold/m_stacked_pair.o: /usr/include/gnu/stubs.h +-src/multifold/m_stacked_pair.o: /usr/include/gnu/stubs-32.h + src/multifold/m_stacked_pair.o: ./include/constants.h ./include/structs.h + src/multifold/m_stacked_pair.o: ./include/externs.h src/common/common.h +-src/multifold/m_stacked_pair.o: /usr/include/stdio.h +-src/multifold/m_stacked_pair.o: /usr/include/bits/types.h +-src/multifold/m_stacked_pair.o: /usr/include/bits/typesizes.h +-src/multifold/m_stacked_pair.o: /usr/include/libio.h /usr/include/_G_config.h +-src/multifold/m_stacked_pair.o: /usr/include/wchar.h +-src/multifold/m_stacked_pair.o: /usr/include/bits/wchar.h +-src/multifold/m_stacked_pair.o: /usr/include/gconv.h +-src/multifold/m_stacked_pair.o: /usr/include/bits/stdio_lim.h +-src/multifold/m_stacked_pair.o: /usr/include/bits/sys_errlist.h + src/multifold/m_stacked_pair.o: ./src/simfold/s_partition_function.h + src/multifold/m_stacked_pair.o: ./src/simfold/s_hairpin_loop.h + src/multifold/m_stacked_pair.o: ./src/simfold/s_internal_loop.h +@@ -955,24 +541,8 @@ src/multifold/m_stacked_pair.o: src/multifold/m_hairpin_loop.h + src/multifold/m_stacked_pair.o: src/multifold/m_internal_loop.h + src/multifold/m_stacked_pair.o: src/multifold/m_multi_loop.h + src/multifold/m_stacked_pair.o: src/multifold/m_specific_functions.h +-src/multifold/m_energy_matrix.o: /usr/include/stdio.h /usr/include/features.h +-src/multifold/m_energy_matrix.o: /usr/include/sys/cdefs.h +-src/multifold/m_energy_matrix.o: /usr/include/bits/wordsize.h +-src/multifold/m_energy_matrix.o: /usr/include/gnu/stubs.h +-src/multifold/m_energy_matrix.o: /usr/include/gnu/stubs-32.h +-src/multifold/m_energy_matrix.o: /usr/include/bits/types.h +-src/multifold/m_energy_matrix.o: /usr/include/bits/typesizes.h +-src/multifold/m_energy_matrix.o: /usr/include/libio.h +-src/multifold/m_energy_matrix.o: /usr/include/_G_config.h +-src/multifold/m_energy_matrix.o: /usr/include/wchar.h +-src/multifold/m_energy_matrix.o: /usr/include/bits/wchar.h +-src/multifold/m_energy_matrix.o: /usr/include/gconv.h +-src/multifold/m_energy_matrix.o: /usr/include/bits/stdio_lim.h +-src/multifold/m_energy_matrix.o: /usr/include/bits/sys_errlist.h +-src/multifold/m_energy_matrix.o: /usr/include/string.h /usr/include/stdlib.h +-src/multifold/m_energy_matrix.o: /usr/include/malloc.h ./include/constants.h +-src/multifold/m_energy_matrix.o: ./include/structs.h ./include/externs.h +-src/multifold/m_energy_matrix.o: src/common/common.h ++src/multifold/m_energy_matrix.o: ./include/constants.h ./include/structs.h ++src/multifold/m_energy_matrix.o: ./include/externs.h src/common/common.h + src/multifold/m_energy_matrix.o: ./src/simfold/s_partition_function.h + src/multifold/m_energy_matrix.o: ./src/simfold/s_hairpin_loop.h + src/multifold/m_energy_matrix.o: ./src/simfold/s_internal_loop.h +@@ -986,21 +556,6 @@ src/multifold/m_energy_matrix.o: src/multifold/m_stacked_pair.h + src/multifold/m_energy_matrix.o: src/multifold/m_hairpin_loop.h + src/multifold/m_energy_matrix.o: src/multifold/m_internal_loop.h + src/multifold/m_energy_matrix.o: src/multifold/m_multi_loop.h +-src/multifold/m_internal_loop.o: /usr/include/stdio.h /usr/include/features.h +-src/multifold/m_internal_loop.o: /usr/include/sys/cdefs.h +-src/multifold/m_internal_loop.o: /usr/include/bits/wordsize.h +-src/multifold/m_internal_loop.o: /usr/include/gnu/stubs.h +-src/multifold/m_internal_loop.o: /usr/include/gnu/stubs-32.h +-src/multifold/m_internal_loop.o: /usr/include/bits/types.h +-src/multifold/m_internal_loop.o: /usr/include/bits/typesizes.h +-src/multifold/m_internal_loop.o: /usr/include/libio.h +-src/multifold/m_internal_loop.o: /usr/include/_G_config.h +-src/multifold/m_internal_loop.o: /usr/include/wchar.h +-src/multifold/m_internal_loop.o: /usr/include/bits/wchar.h +-src/multifold/m_internal_loop.o: /usr/include/gconv.h +-src/multifold/m_internal_loop.o: /usr/include/bits/stdio_lim.h +-src/multifold/m_internal_loop.o: /usr/include/bits/sys_errlist.h +-src/multifold/m_internal_loop.o: /usr/include/string.h /usr/include/stdlib.h + src/multifold/m_internal_loop.o: src/multifold/m_internal_loop.h + src/multifold/m_internal_loop.o: ./include/constants.h ./include/structs.h + src/multifold/m_internal_loop.o: src/multifold/m_energy_matrix.h +@@ -1017,21 +572,8 @@ src/multifold/m_internal_loop.o: ./src/simfold/s_multi_loop.h + src/multifold/m_internal_loop.o: ./src/simfold/s_multi_loop_sub.h + src/multifold/m_internal_loop.o: ./include/multifold.h ./include/init.h + src/multifold/m_internal_loop.o: src/multifold/m_specific_functions.h +-src/multifold/m_multi_loop.o: /usr/include/stdio.h /usr/include/features.h +-src/multifold/m_multi_loop.o: /usr/include/sys/cdefs.h +-src/multifold/m_multi_loop.o: /usr/include/bits/wordsize.h +-src/multifold/m_multi_loop.o: /usr/include/gnu/stubs.h +-src/multifold/m_multi_loop.o: /usr/include/gnu/stubs-32.h +-src/multifold/m_multi_loop.o: /usr/include/bits/types.h +-src/multifold/m_multi_loop.o: /usr/include/bits/typesizes.h +-src/multifold/m_multi_loop.o: /usr/include/libio.h /usr/include/_G_config.h +-src/multifold/m_multi_loop.o: /usr/include/wchar.h /usr/include/bits/wchar.h +-src/multifold/m_multi_loop.o: /usr/include/gconv.h +-src/multifold/m_multi_loop.o: /usr/include/bits/stdio_lim.h +-src/multifold/m_multi_loop.o: /usr/include/bits/sys_errlist.h +-src/multifold/m_multi_loop.o: /usr/include/malloc.h ./include/externs.h +-src/multifold/m_multi_loop.o: ./include/structs.h ./include/constants.h +-src/multifold/m_multi_loop.o: src/common/common.h ++src/multifold/m_multi_loop.o: ./include/externs.h ./include/structs.h ++src/multifold/m_multi_loop.o: ./include/constants.h src/common/common.h + src/multifold/m_multi_loop.o: ./src/simfold/s_partition_function.h + src/multifold/m_multi_loop.o: ./src/simfold/s_hairpin_loop.h + src/multifold/m_multi_loop.o: ./src/simfold/s_internal_loop.h +@@ -1046,68 +588,31 @@ src/multifold/m_multi_loop.o: src/multifold/m_hairpin_loop.h + src/multifold/m_multi_loop.o: src/multifold/m_internal_loop.h + src/multifold/m_multi_loop.o: ./include/multifold.h ./include/init.h + src/multifold/m_multi_loop.o: src/multifold/m_specific_functions.h +-simfold.o: /usr/include/stdio.h /usr/include/features.h +-simfold.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h +-simfold.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h +-simfold.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h +-simfold.o: /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h +-simfold.o: /usr/include/bits/wchar.h /usr/include/gconv.h +-simfold.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h +-simfold.o: /usr/include/string.h /usr/include/stdlib.h /usr/include/time.h +-simfold.o: /usr/include/bits/time.h /usr/include/unistd.h +-simfold.o: /usr/include/bits/posix_opt.h /usr/include/bits/confname.h + simfold.o: ./include/simfold.h ./include/constants.h ./include/init.h + simfold.o: ./include/externs.h ./include/structs.h src/common/params.h +-simfold_pf.o: /usr/include/stdio.h /usr/include/features.h +-simfold_pf.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h +-simfold_pf.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h +-simfold_pf.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h +-simfold_pf.o: /usr/include/libio.h /usr/include/_G_config.h +-simfold_pf.o: /usr/include/wchar.h /usr/include/bits/wchar.h +-simfold_pf.o: /usr/include/gconv.h /usr/include/bits/stdio_lim.h +-simfold_pf.o: /usr/include/bits/sys_errlist.h /usr/include/string.h +-simfold_pf.o: /usr/include/stdlib.h /usr/include/time.h +-simfold_pf.o: /usr/include/bits/time.h /usr/include/unistd.h +-simfold_pf.o: /usr/include/bits/posix_opt.h /usr/include/bits/confname.h ++simfold.o: ./src/simfold/s_partition_function.h ++simfold.o: ./src/simfold/s_hairpin_loop.h ./src/simfold/s_internal_loop.h ++simfold.o: ./src/simfold/s_energy_matrix.h ./src/simfold/s_stacked_pair.h ++simfold.o: ./src/simfold/s_multi_loop.h ./src/simfold/s_multi_loop_sub.h ++simfold.o: src/common/common.h + simfold_pf.o: ./include/simfold.h ./include/constants.h ./include/init.h + simfold_pf.o: ./include/externs.h ./include/structs.h src/common/params.h + simfold_pf.o: ./src/simfold/s_partition_function.h + simfold_pf.o: ./src/simfold/s_hairpin_loop.h ./src/simfold/s_internal_loop.h + simfold_pf.o: ./src/simfold/s_energy_matrix.h ./src/simfold/s_stacked_pair.h + simfold_pf.o: ./src/simfold/s_multi_loop.h ./src/simfold/s_multi_loop_sub.h +-pairfold.o: /usr/include/stdio.h /usr/include/features.h +-pairfold.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h +-pairfold.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h +-pairfold.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h +-pairfold.o: /usr/include/libio.h /usr/include/_G_config.h +-pairfold.o: /usr/include/wchar.h /usr/include/bits/wchar.h +-pairfold.o: /usr/include/gconv.h /usr/include/bits/stdio_lim.h +-pairfold.o: /usr/include/bits/sys_errlist.h /usr/include/string.h +-pairfold.o: /usr/include/stdlib.h /usr/include/time.h +-pairfold.o: /usr/include/bits/time.h ./include/pairfold.h +-pairfold.o: ./include/constants.h ./include/init.h ./include/externs.h +-pairfold.o: ./include/structs.h src/common/timer.h /usr/include/sys/times.h +-pairfold.o: /usr/include/limits.h +-multifold.o: /usr/include/stdio.h /usr/include/features.h +-multifold.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h +-multifold.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h +-multifold.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h +-multifold.o: /usr/include/libio.h /usr/include/_G_config.h +-multifold.o: /usr/include/wchar.h /usr/include/bits/wchar.h +-multifold.o: /usr/include/gconv.h /usr/include/bits/stdio_lim.h +-multifold.o: /usr/include/bits/sys_errlist.h /usr/include/string.h +-multifold.o: /usr/include/stdlib.h ./include/multifold.h +-multifold.o: ./include/constants.h ./include/init.h ./include/externs.h +-multifold.o: ./include/structs.h +-test_get_counts.o: /usr/include/stdio.h /usr/include/features.h +-test_get_counts.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h +-test_get_counts.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h +-test_get_counts.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h +-test_get_counts.o: /usr/include/libio.h /usr/include/_G_config.h +-test_get_counts.o: /usr/include/wchar.h /usr/include/bits/wchar.h +-test_get_counts.o: /usr/include/gconv.h /usr/include/bits/stdio_lim.h +-test_get_counts.o: /usr/include/bits/sys_errlist.h /usr/include/string.h +-test_get_counts.o: /usr/include/stdlib.h /usr/include/time.h +-test_get_counts.o: /usr/include/bits/time.h ./include/simfold.h +-test_get_counts.o: ./include/constants.h ./include/init.h ./include/externs.h +-test_get_counts.o: ./include/structs.h src/common/params.h ++pairfold.o: ./include/pairfold.h ./include/constants.h ./include/init.h ++pairfold.o: ./include/externs.h ./include/structs.h src/common/timer.h ++multifold.o: ./include/multifold.h ./include/constants.h ./include/init.h ++multifold.o: ./include/externs.h ./include/structs.h ++feature_description.o: ./include/simfold.h ./include/constants.h ++feature_description.o: ./include/init.h ./include/externs.h ++feature_description.o: ./include/structs.h src/common/params.h ++feature_description.o: src/common/common.h ++feature_description.o: ./src/simfold/s_partition_function.h ++feature_description.o: ./src/simfold/s_hairpin_loop.h ++feature_description.o: ./src/simfold/s_internal_loop.h ++feature_description.o: ./src/simfold/s_energy_matrix.h ++feature_description.o: ./src/simfold/s_stacked_pair.h ++feature_description.o: ./src/simfold/s_multi_loop.h ++feature_description.o: ./src/simfold/s_multi_loop_sub.h diff --git a/recipes/multirnafold/0002-FIX-printf-missing-arg.patch b/recipes/multirnafold/0002-FIX-printf-missing-arg.patch new file mode 100644 index 0000000000000..471631385a018 --- /dev/null +++ b/recipes/multirnafold/0002-FIX-printf-missing-arg.patch @@ -0,0 +1,26 @@ +diff --git a/simfold.cpp b/simfold.cpp +index 08cffe2..0ca03e3 100644 +--- a/simfold.cpp ++++ b/simfold.cpp +@@ -64,7 +64,7 @@ void usage (const char *prog) + printf ("Examples:\n"); + printf ("\t%s -s \"GCAACGAUGACAUACAUCGCUAGUCGACGC\" -n 10 \n", prog); + printf ("\t%s -s \"GCAACGAUGACAUACAUCGCUAGUCGACGC\" -n 10 -r \"(____________________________)\"\n", prog); +- printf ("\t%s -s \"GCAACGAUGACAUACAUCGCUAGUCGACGC\" -p params/CG_best_parameters_ISMB2007.txt\n"); ++ printf ("\t%s -s \"GCAACGAUGACAUACAUCGCUAGUCGACGC\" -p params/CG_best_parameters_ISMB2007.txt\n", prog); + exit (0); + } + +diff --git a/simfold_pf.cpp b/simfold_pf.cpp +index e3ba56e..424ee85 100644 +--- a/simfold_pf.cpp ++++ b/simfold_pf.cpp +@@ -35,7 +35,7 @@ void usage (const char *prog) + printf ("Examples:\n"); + printf ("\t%s -s \"GCAACGAUGACAUACAUCGCUAGUCGACGC\"\n", prog); + printf ("\t%s -s \"GCAACGAUGACAUACAUCGCUAGUCGACGC\" -t 0.5\n", prog); +- printf ("\t%s -s \"GCAACGAUGACAUACAUCGCUAGUCGACGC\" -p params/CG_best_parameters_ISMB2007.txt\n"); ++ printf ("\t%s -s \"GCAACGAUGACAUACAUCGCUAGUCGACGC\" -p params/CG_best_parameters_ISMB2007.txt\n", prog); + exit (0); + } + diff --git a/recipes/multirnafold/0003-FIX-remove-unneeded-include.patch b/recipes/multirnafold/0003-FIX-remove-unneeded-include.patch new file mode 100644 index 0000000000000..51509cbcf874a --- /dev/null +++ b/recipes/multirnafold/0003-FIX-remove-unneeded-include.patch @@ -0,0 +1,126 @@ +commit 625122c01dbf740131c2419a5d2bfd65d8d315d8 +Author: Marco Matthies <71844+marcom@users.noreply.github.com> +Date: Thu Feb 8 16:12:41 2024 +0100 + + Remove unneeded include of malloc.h + +diff --git a/src/multifold/m_energy_matrix.cpp b/src/multifold/m_energy_matrix.cpp +index 4d47d90..4030513 100644 +--- a/src/multifold/m_energy_matrix.cpp ++++ b/src/multifold/m_energy_matrix.cpp +@@ -18,7 +18,6 @@ + #include + #include + #include +-#include + + #include "constants.h" + #include "structs.h" +diff --git a/src/multifold/m_multi_loop.cpp b/src/multifold/m_multi_loop.cpp +index a017da8..382d57a 100644 +--- a/src/multifold/m_multi_loop.cpp ++++ b/src/multifold/m_multi_loop.cpp +@@ -16,7 +16,6 @@ + ***************************************************************************/ + + #include +-#include + + #include "externs.h" + #include "common.h" +diff --git a/src/pairfold/p_energy_matrix.cpp b/src/pairfold/p_energy_matrix.cpp +index 42c15c2..dc23e29 100644 +--- a/src/pairfold/p_energy_matrix.cpp ++++ b/src/pairfold/p_energy_matrix.cpp +@@ -18,7 +18,6 @@ + #include + #include + #include +-#include + + #include "constants.h" + #include "structs.h" +diff --git a/src/pairfold/p_multi_loop.cpp b/src/pairfold/p_multi_loop.cpp +index f562ce0..267035a 100644 +--- a/src/pairfold/p_multi_loop.cpp ++++ b/src/pairfold/p_multi_loop.cpp +@@ -16,7 +16,6 @@ + ***************************************************************************/ + + #include +-#include + + #include "externs.h" + #include "common.h" +diff --git a/src/pairfold/p_multi_loop_sub.cpp b/src/pairfold/p_multi_loop_sub.cpp +index 467fb53..a418218 100644 +--- a/src/pairfold/p_multi_loop_sub.cpp ++++ b/src/pairfold/p_multi_loop_sub.cpp +@@ -16,7 +16,6 @@ + ***************************************************************************/ + + #include +-#include + + #include "externs.h" + #include "common.h" +diff --git a/src/simfold/s_energy_matrix.cpp b/src/simfold/s_energy_matrix.cpp +index cafc1d7..ce09162 100644 +--- a/src/simfold/s_energy_matrix.cpp ++++ b/src/simfold/s_energy_matrix.cpp +@@ -20,7 +20,6 @@ + #include + #include + #include +-#include + + #include "constants.h" + #include "structs.h" +diff --git a/src/simfold/s_multi_loop.cpp b/src/simfold/s_multi_loop.cpp +index 6c5998a..de7991e 100644 +--- a/src/simfold/s_multi_loop.cpp ++++ b/src/simfold/s_multi_loop.cpp +@@ -18,7 +18,6 @@ + // The main class for multi-loop related functions, the mfe case + + #include +-#include + + #include "externs.h" + #include "common.h" +diff --git a/src/simfold/s_multi_loop_sub.cpp b/src/simfold/s_multi_loop_sub.cpp +index e8f5219..bbdeb98 100644 +--- a/src/simfold/s_multi_loop_sub.cpp ++++ b/src/simfold/s_multi_loop_sub.cpp +@@ -18,7 +18,6 @@ + // this class represents multi-loops for suboptimal pairfold, it implements the Wuchty complete suboptimal paper + + #include +-#include + + #include "externs.h" + #include "common.h" +diff --git a/src/simfold/s_partition_function.cpp b/src/simfold/s_partition_function.cpp +index c551b6d..c63e8b4 100644 +--- a/src/simfold/s_partition_function.cpp ++++ b/src/simfold/s_partition_function.cpp +@@ -18,7 +18,6 @@ + #include + #include + #include +-#include + #include + #include + +diff --git a/src/simfold/s_partition_function_complex.cpp b/src/simfold/s_partition_function_complex.cpp +index 2654f25..2fb2a00 100644 +--- a/src/simfold/s_partition_function_complex.cpp ++++ b/src/simfold/s_partition_function_complex.cpp +@@ -18,7 +18,6 @@ + #include + #include + #include +-#include + #include + #include + diff --git a/recipes/multirnafold/build.sh b/recipes/multirnafold/build.sh new file mode 100644 index 0000000000000..1a10377f73b68 --- /dev/null +++ b/recipes/multirnafold/build.sh @@ -0,0 +1,13 @@ +# build +make CC="${CC}" CXX="${CXX}" + +# install +mkdir -p "$PREFIX/bin" +mkdir -p "$PREFIX/shared/${PKG_NAME}/params" +mkdir -p "$PREFIX/include" +mkdir -p "$PREFIX/lib" + +cp feature_description multifold pairfold pairfold-web simfold simfold_pf "$PREFIX/bin/" +cp -r params/* "$PREFIX/shared/${PKG_NAME}/params/" +cp -r include/* "$PREFIX/include/" +cp libMultiRNAFold.a "$PREFIX/lib/" diff --git a/recipes/multirnafold/meta.yaml b/recipes/multirnafold/meta.yaml new file mode 100644 index 0000000000000..ad45a1c49cb85 --- /dev/null +++ b/recipes/multirnafold/meta.yaml @@ -0,0 +1,43 @@ +{% set name = "MultiRNAFold" %} +{% set version = "2.1" %} +{% set sha256 = "cb5462e03c70da24caaa9706f493fa329b1e15f697fbffd5bf460cd873243306" %} + +package: + name: {{ name | lower }} + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage(name | lower, max_pin="x.x") }} + +source: + url: http://www.rnasoft.ca/download/MultiRNAFold-{{ version }}.tar.gz + sha256: {{ sha256 }} + patches: + - 0001-FIX-Makefile.patch + - 0002-FIX-printf-missing-arg.patch + - 0003-FIX-remove-unneeded-include.patch + +requirements: + build: + - make + - {{ compiler('cxx') }} + +test: + commands: + - "test -x $PREFIX/bin/feature_description" + - "test -x $PREFIX/bin/multifold" + - "test -x $PREFIX/bin/pairfold" + - "test -x $PREFIX/bin/pairfold-web" + - "test -x $PREFIX/bin/simfold" + - "test -x $PREFIX/bin/simfold_pf" + - "pairfold -h" + - "simfold -h" + - "simfold_pf -h" + - "multifold -h" + +about: + home: http://www.rnasoft.ca/download/README.html + license: GPL-2.0-or-later + summary: 'RNA/DNA secondary structure prediction for one, two, or many interacting strands' diff --git a/recipes/mummer/build.sh b/recipes/mummer/build.sh index 4b86465dad6b2..b6253f4c51f63 100644 --- a/recipes/mummer/build.sh +++ b/recipes/mummer/build.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -xe + BINARY=mummer BINARY_HOME=$PREFIX/bin MUMMER_HOME=$PREFIX/opt/mummer-$PKG_VERSION @@ -47,7 +49,14 @@ for i in exact-tandems dnadiff mapview mummerplot nucmer promer run-mummer1 run- perl -i -pe 's/(envs\/\_\_.*)(\K\@)/\\@/' $i done +# fix hashbang lines to use conda's perl +for i in dnadiff mapview mummerplot nucmer promer; do + sed -i.bak '1 s|^#!/.*/perl -w$|#!/usr/bin/env perl|g' $MUMMER_HOME/$i + rm -rf $MUMMER_HOME/$i.bak +done + for i in $binaries; do + # ensure executable and setup symlink for binary chmod +x $MUMMER_HOME/$i ln -s "$MUMMER_HOME/$i" "$BINARY_HOME/$i" done diff --git a/recipes/mummer/meta.yaml b/recipes/mummer/meta.yaml index 2083f64a19486..231fd29aec1a8 100644 --- a/recipes/mummer/meta.yaml +++ b/recipes/mummer/meta.yaml @@ -11,10 +11,16 @@ source: sha256: {{ sha256 }} patches: - patches/gnuplot_mouse_clipboardformat.patch + - patches/linkloc_explicit.patch + - patches/addleafcount_explicit.patch + - patches/findmumcand_explicit.patch + - patches/findmaxmat_explicit.patch + - patches/procmaxmat_explicit.patch build: - number: 16 - skip: True # [osx] + number: 20 + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} requirements: build: @@ -22,24 +28,24 @@ requirements: - {{ compiler('c') }} - {{ compiler('cxx') }} host: - - perl # [not osx] + - perl run: - - perl # [not osx] + - perl test: commands: - "mummer -h &> /dev/null" - #- "delta-filter -h &> /dev/null" - #- "dnadiff -h &> /dev/null" - #- "mapview -h &> /dev/null" + - "delta-filter -h &> /dev/null" + - "dnadiff -h &> /dev/null" + - "mapview -h &> /dev/null" - "mummerplot -h &> /dev/null" - "nucmer -h &> /dev/null" - "promer -h &> /dev/null" - "show-aligns -h &> /dev/null" - #- "show-coords -h &> /dev/null" - #- "show-diff -h &> /dev/null" - #- "show-snps -h &> /dev/null" - #- "show-tiling -h &> /dev/null" + - "show-coords -h &> /dev/null" + - "show-diff -h &> /dev/null" + - "show-snps -h &> /dev/null" + - "show-tiling -h &> /dev/null" about: home: 'http://mummer.sourceforge.net/' @@ -48,5 +54,9 @@ about: summary: "MUMmer is a system for rapidly aligning entire genomes" extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - biotools:mummer + diff --git a/recipes/mummer/patches/addleafcount_explicit.patch b/recipes/mummer/patches/addleafcount_explicit.patch new file mode 100644 index 0000000000000..c697f885c4361 --- /dev/null +++ b/recipes/mummer/patches/addleafcount_explicit.patch @@ -0,0 +1,19 @@ +--- MUMmer3.23/src/kurtz/streesrc/addleafcount.c.old 2024-08-07 13:34:49 ++++ MUMmer3.23/src/kurtz/streesrc/addleafcount.c 2024-08-07 13:48:50 +@@ -13,6 +13,16 @@ + #include "spacedef.h" + #include "arraydef.h" + ++void getbranchinfostree(Suffixtree *stree,Uint whichinfo, ++ Branchinfo *branchinfo,Bref btptr); ++ ++Sint depthfirststree(Suffixtree *stree,Reference *startnode, ++ Sint (*processleaf)(Uint,Bref,void *), ++ BOOL (*processbranch1)(Bref,void *), ++ Sint (*processbranch2)(Bref,void *), ++ BOOL (*stoptraversal)(void *), ++ void *stopinfo,void *info); ++ + typedef struct + { + Suffixtree *stree; // suffix tree info diff --git a/recipes/mummer/patches/findmaxmat_explicit.patch b/recipes/mummer/patches/findmaxmat_explicit.patch new file mode 100644 index 0000000000000..78ceb0e257981 --- /dev/null +++ b/recipes/mummer/patches/findmaxmat_explicit.patch @@ -0,0 +1,34 @@ +--- MUMmer3.23/src/kurtz/mm3src/findmaxmat.c.old 2024-08-07 13:55:45 ++++ MUMmer3.23/src/kurtz/mm3src/findmaxmat.c 2024-08-07 14:03:39 +@@ -14,7 +14,31 @@ + #include "debugdef.h" + #include "spacedef.h" + #include "maxmatdef.h" ++ ++void linklocstree(Suffixtree *stree,Location *outloc,Location *inloc); ++ ++SYMBOL *scanprefixstree(Suffixtree *stree,Location *outloc, ++ Location *inloc,SYMBOL *left, ++ SYMBOL *right,Uint rescanlength); ++ ++SYMBOL *findprefixpathstree(Suffixtree *stree, ++ ArrayPathinfo *path, ++ Location *outloc, ++ Location *inloc, ++ SYMBOL *left,SYMBOL *right, ++ Uint rescanlength); + ++Sint depthfirststree(Suffixtree *stree,Reference *startnode, ++ Sint (*processleaf)(Uint,Bref,void *), ++ BOOL (*processbranch1)(Bref,void *), ++ Sint (*processbranch2)(Bref,void *), ++ BOOL (*stoptraversal)(void *), ++ void *stopinfo,void *info); ++ ++SYMBOL *scanprefixfromnodestree(Suffixtree *stree,Location *loc, ++ Bref btptr,SYMBOL *left, ++ SYMBOL *right,Uint rescanlength); ++ + //} + + /*EE diff --git a/recipes/mummer/patches/findmumcand_explicit.patch b/recipes/mummer/patches/findmumcand_explicit.patch new file mode 100644 index 0000000000000..141b3164973c4 --- /dev/null +++ b/recipes/mummer/patches/findmumcand_explicit.patch @@ -0,0 +1,19 @@ +--- MUMmer3.23/src/kurtz/mm3src/findmumcand.c.old 2024-08-07 13:42:47 ++++ MUMmer3.23/src/kurtz/mm3src/findmumcand.c 2024-08-07 13:54:04 +@@ -15,6 +15,16 @@ + #include "spacedef.h" + #include "maxmatdef.h" + ++void linklocstree(Suffixtree *stree,Location *outloc,Location *inloc); ++ ++SYMBOL *scanprefixfromnodestree(Suffixtree *stree,Location *loc, ++ Bref btptr,SYMBOL *left, ++ SYMBOL *right,Uint rescanlength); ++ ++SYMBOL *scanprefixstree(Suffixtree *stree,Location *outloc, ++ Location *inloc,SYMBOL *left, ++ SYMBOL *right,Uint rescanlength); ++ + //} + + /*EE diff --git a/recipes/mummer/patches/linkloc_explicit.patch b/recipes/mummer/patches/linkloc_explicit.patch new file mode 100644 index 0000000000000..96ad6ea4cb176 --- /dev/null +++ b/recipes/mummer/patches/linkloc_explicit.patch @@ -0,0 +1,12 @@ +--- MUMmer3.23/src/kurtz/streesrc/linkloc.c.old 2024-08-07 12:45:16 ++++ MUMmer3.23/src/kurtz/streesrc/linkloc.c 2024-08-07 13:48:38 +@@ -11,6 +11,9 @@ + #include "debugdef.h" + #include "streeacc.h" + ++void getbranchinfostree(Suffixtree *stree,Uint whichinfo, ++ Branchinfo *branchinfo,Bref btptr); ++ + void rescanstree(Suffixtree *stree,Location *loc, + Bref btptr,SYMBOL *left,SYMBOL *right) + { diff --git a/recipes/mummer/patches/procmaxmat_explicit.patch b/recipes/mummer/patches/procmaxmat_explicit.patch new file mode 100644 index 0000000000000..87252e37230ba --- /dev/null +++ b/recipes/mummer/patches/procmaxmat_explicit.patch @@ -0,0 +1,19 @@ +--- MUMmer3.23/src/kurtz/mm3src/procmaxmat.c.old 2024-08-07 14:05:17 ++++ MUMmer3.23/src/kurtz/mm3src/procmaxmat.c 2024-08-07 14:07:03 +@@ -19,6 +19,16 @@ + #include "spacedef.h" + #include "streedef.h" + #include "maxmatdef.h" ++ ++Uint getmaxtextlenstree(void); ++ ++Sint constructprogressstree(Suffixtree *stree,SYMBOL *text, ++ Uint textlen, ++ void (*progress)(Uint,void *), ++ void (*finalprogress)(void *), ++ void *info); ++ ++void freestree(Suffixtree *stree); + + //} + diff --git a/recipes/mummer4/build.sh b/recipes/mummer4/build.sh index 94a1d588d5e5c..d55e804e2c424 100644 --- a/recipes/mummer4/build.sh +++ b/recipes/mummer4/build.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -xe + ./configure --prefix=$PREFIX -make +make -j ${CPU_COUNT} make install diff --git a/recipes/mummer4/meta.yaml b/recipes/mummer4/meta.yaml index a79a58dbee0ab..fdfe98e2ce29b 100644 --- a/recipes/mummer4/meta.yaml +++ b/recipes/mummer4/meta.yaml @@ -14,7 +14,9 @@ source: - 0001-sort-mgaps-file-before-postpro.-on-behalf-of-jervied.patch # fixes https://github.com/mummer4/mummer/issues/55 build: - number: 6 + number: 7 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: build: @@ -39,3 +41,7 @@ about: home: 'https://mummer4.github.io/' license: "The Artistic License 2.0" summary: "MUMmer is a system for rapidly aligning entire genomes" + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/mupbwt/meta.yaml b/recipes/mupbwt/meta.yaml index fc1e428fa01af..06d835069998b 100644 --- a/recipes/mupbwt/meta.yaml +++ b/recipes/mupbwt/meta.yaml @@ -12,7 +12,7 @@ source: - cmake.patch build: - number: 2 + number: 3 skip: True # [osx] requirements: diff --git a/recipes/muscle/0001-Replace-zero-macro-with-memset_zero.patch b/recipes/muscle/0001-Replace-zero-macro-with-memset_zero.patch deleted file mode 100644 index 95ba295a88c8d..0000000000000 --- a/recipes/muscle/0001-Replace-zero-macro-with-memset_zero.patch +++ /dev/null @@ -1,94 +0,0 @@ -From e2fc2cc23a2acbee4d9c7d0eeae289024432feec Mon Sep 17 00:00:00 2001 -From: Nicola Soranzo -Date: Thu, 10 Feb 2022 01:31:21 +0000 -Subject: [PATCH 1/2] Replace `zero` macro with `memset_zero` - -The `zero` and `memset_zero` macros defined in `myutils.h` are the same, but -`zero` interferes with LLVM's libcxx when compiling on macOS using Clang: - -In file included from addconfseq.cpp:1: -In file included from ./muscle.h:23: -In file included from ./multisequence.h:4: -In file included from ./sequence.h:6: -In file included from /usr/local/miniconda/envs/bioconda/conda-bld/muscle_1644453677064/_build_env/bin/../include/c++/v1/fstream:184: -In file included from /usr/local/miniconda/envs/bioconda/conda-bld/muscle_1644453677064/_build_env/bin/../include/c++/v1/ostream:137: -In file included from /usr/local/miniconda/envs/bioconda/conda-bld/muscle_1644453677064/_build_env/bin/../include/c++/v1/ios:215: -In file included from /usr/local/miniconda/envs/bioconda/conda-bld/muscle_1644453677064/_build_env/bin/../include/c++/v1/__locale:18: -In file included from /usr/local/miniconda/envs/bioconda/conda-bld/muscle_1644453677064/_build_env/bin/../include/c++/v1/mutex:190: -/usr/local/miniconda/envs/bioconda/conda-bld/muscle_1644453677064/_build_env/bin/../include/c++/v1/__mutex_base:447:25: error: too few arguments provided to function-like macro invocation - if (__d <= __d.zero()) - ^ -./myutils.h:361:9: note: macro 'zero' defined here -> #define zero(a, n) memset((a), 0, (n)*sizeof(a[0])) - ^ -1 error generated. -make: *** [Makefile:53: Darwin/addconfseq.o] Error 1 - -This is the call to `zero` in libcxx: - -https://github.com/llvm/llvm-project/blob/b35be6fe98e30b2373e8fdf024ef8c13a32121d7/libcxx/include/__mutex_base#L444 - -which is supposed to call: - -https://en.cppreference.com/w/cpp/chrono/duration/zero ---- - src/countsort.h | 2 +- - src/ensemble.cpp | 2 +- - src/myutils.cpp | 2 +- - src/myutils.h | 1 - - 4 files changed, 3 insertions(+), 4 deletions(-) - -diff --git a/src/countsort.h b/src/countsort.h -index 3f8d3f7..61b76e6 100644 ---- a/src/countsort.h -+++ b/src/countsort.h -@@ -20,7 +20,7 @@ public: - CountSortMem() - { - m_MaxValueCount = 0; -- zero(m_Vecs, NVEC); -+ memset_zero(m_Vecs, NVEC); - } - - void Free() -diff --git a/src/ensemble.cpp b/src/ensemble.cpp -index 7382db2..331f5f7 100644 ---- a/src/ensemble.cpp -+++ b/src/ensemble.cpp -@@ -41,7 +41,7 @@ void Ensemble::SortMSA(MSA &M) - M.GetLabelToSeqIndex(Labels2, LabelToSeqIndex2); - - char **szSeqsSorted = myalloc(char *, SeqCount); -- zero(szSeqsSorted, SeqCount); -+ memset_zero(szSeqsSorted, SeqCount); - for (uint SeqIndex = 0; SeqIndex < SeqCount; ++SeqIndex) - { - const string &Label = Labels2[SeqIndex]; -diff --git a/src/myutils.cpp b/src/myutils.cpp -index 8eca591..9d7d53c 100644 ---- a/src/myutils.cpp -+++ b/src/myutils.cpp -@@ -807,7 +807,7 @@ static char *GetThreadStr() - { - unsigned NewThreadStrCount = ThreadIndex + 4; - char **NewThreadStrs = myalloc(char *, NewThreadStrCount); -- zero(NewThreadStrs, NewThreadStrCount); -+ memset_zero(NewThreadStrs, NewThreadStrCount); - if (g_ThreadStrCount > 0) - memcpy(NewThreadStrs, g_ThreadStrs, g_ThreadStrCount*sizeof(char *)); - g_ThreadStrs = NewThreadStrs; -diff --git a/src/myutils.h b/src/myutils.h -index d242607..49d28ef 100644 ---- a/src/myutils.h -+++ b/src/myutils.h -@@ -358,7 +358,6 @@ inline bool feq(double x, double y) - #define asserteq(x, y) assert(feq(x, y)) - #define assertaeq(x, y) asserta(feq(x, y)) - --#define zero(a, n) memset((a), 0, (n)*sizeof(a[0])) - #define memset_zero(a, n) memset((a), 0, (n)*sizeof(a[0])) - - void ResetRand(unsigned Seed); --- -2.25.1 - diff --git a/recipes/muscle/0002-Move-va_start-va_end-out-of-critical-section.patch b/recipes/muscle/0002-Move-va_start-va_end-out-of-critical-section.patch deleted file mode 100644 index 5f9236c4b0234..0000000000000 --- a/recipes/muscle/0002-Move-va_start-va_end-out-of-critical-section.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 02f38400c37f54d31b9be31aaa25ee11110cb5f6 Mon Sep 17 00:00:00 2001 -From: Nicola Soranzo -Date: Thu, 10 Feb 2022 03:31:26 +0000 -Subject: [PATCH 2/2] Move va_start/va_end out of critical section - -Fix the following error when compiling with Clang++: - -``` -myutils.cpp:912:2: error: 'va_start' cannot be used in a captured statement - va_start(ArgList, Format); - ^ -1 error generated. -make: *** [Makefile:53: Darwin/myutils.o] Error 1 -``` - -Solution inspired by: - -https://github.com/Ultimaker/CuraEngine/pull/1124 ---- - src/myutils.cpp | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/myutils.cpp b/src/myutils.cpp -index 9d7d53c..ccc4fa3 100644 ---- a/src/myutils.cpp -+++ b/src/myutils.cpp -@@ -898,6 +898,8 @@ void Log(const char *Format, ...) - - void Die_(const char *Format, ...) - { -+ va_list ArgList; -+ va_start(ArgList, Format); - #pragma omp critical - { - static bool InDie = false; -@@ -908,10 +910,7 @@ void Die_(const char *Format, ...) - - if (g_fLog != 0) - setbuf(g_fLog, 0); -- va_list ArgList; -- va_start(ArgList, Format); - myvstrprintf(Msg, Format, ArgList); -- va_end(ArgList); - - fprintf(stderr, "\n\n"); - Log("\n"); -@@ -944,6 +943,7 @@ void Die_(const char *Format, ...) - - exit(1); - } -+ va_end(ArgList); - } - - void Warning_(const char *Format, ...) --- -2.25.1 - diff --git a/recipes/muscle/meta.yaml b/recipes/muscle/meta.yaml index 6d0cee1af6e6d..9953f38bd5c3e 100644 --- a/recipes/muscle/meta.yaml +++ b/recipes/muscle/meta.yaml @@ -1,19 +1,21 @@ {% set name = "muscle" %} -{% set version = "5.1" %} +{% set version = "5.1.0" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://github.com/rcedgar/muscle/archive/refs/tags/v{{ version }}.tar.gz - sha256: 091d9f8733b92ff106c2a8eb274d1e5a57960d397a2068d8638d6002e8880dab + url: https://github.com/rcedgar/muscle/archive/refs/tags/{{ version }}.tar.gz + sha256: 2bba8b06e3ccabf6465fa26f459763b2029d7e7b9596881063e3aaba60d9e87d patches: - - 0001-Replace-zero-macro-with-memset_zero.patch - - 0002-Move-va_start-va_end-out-of-critical-section.patch + - support-linux-aarch64.patch build: - number: 3 + number: 1 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + requirements: build: @@ -31,5 +33,8 @@ about: summary: "MUSCLE: multiple sequence alignment with high accuracy and high throughput" extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - biotools:muscle diff --git a/recipes/muscle/support-linux-aarch64.patch b/recipes/muscle/support-linux-aarch64.patch new file mode 100644 index 0000000000000..9308bf3333e2b --- /dev/null +++ b/recipes/muscle/support-linux-aarch64.patch @@ -0,0 +1,13 @@ +diff --git i/src/myutils.h w/src/myutils.h +index 49d28ef..8e8167e 100644 +--- i/src/myutils.h ++++ w/src/myutils.h +@@ -11,7 +11,7 @@ + #define TRACK_ALLOC 0 + #define ALLOC_TOTALS 0 + +-#if defined(__x86_64__) || defined(_M_X64) || defined(__arm64__) ++#if defined(__x86_64__) || defined(_M_X64) || defined(__arm64__) || defined(__aarch64__) + #define BITS 64 + #else + #define BITS 32 diff --git a/recipes/mutamr/LICENSE b/recipes/mutamr/LICENSE new file mode 100644 index 0000000000000..f288702d2fa16 --- /dev/null +++ b/recipes/mutamr/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/recipes/mutamr/meta.yaml b/recipes/mutamr/meta.yaml new file mode 100644 index 0000000000000..56dc87f5b1c3e --- /dev/null +++ b/recipes/mutamr/meta.yaml @@ -0,0 +1,52 @@ +{% set name = "mutamr" %} +{% set version = "0.0.1" %} +{% set sha256 = "6ab552dc1087bd88b1dcd58c71e52a33f3338e4cf28ffc39d9e096c060075816" %} + +package: + name: "{{ name }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: "{{ sha256 }}" + +build: + noarch: python + number: 0 + entry_points: + - mutamr=mutamr.mutamr:main + run_exports: + - {{ pin_subpackage('mutamr', max_pin="x.x") }} + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + +requirements: + host: + - python >=3.10 + - pip + run: + - python >=3.10 + - bwa =0.7.18 + - delly =1.2.8 + - freebayes =1.3.8 + - bcftools =1.20 + - samtools =1.20 + - samclip =0.4.0 + - snpeff =5.2 + +test: + imports: + - mutamr + commands: + - mutamr --help + +about: + home: "https://github.com/MDU-PHL/mutamr" + license: GPL-3.0-or-later + license_file: LICENSE + license_family: "GPL3" + summary: "Stripped down tool for generation of annotated vcf from paired-end reads in a CPHL." + dev_url: "https://github.com/MDU-PHL/mutamr" + +extra: + recipe-maintainers: + - kristyhoran diff --git a/recipes/mutmap/meta.yaml b/recipes/mutmap/meta.yaml index 6405db4f798fc..4101005f5733b 100644 --- a/recipes/mutmap/meta.yaml +++ b/recipes/mutmap/meta.yaml @@ -1,6 +1,6 @@ {% set name = "mutmap" %} -{% set version = "2.3.4" %} -{% set sha256 = "3e5dcb81bc91a28002e7e2c1eae3079dddcd93c50b98e25db64371b9b9325936" %} +{% set version = "2.3.6" %} +{% set sha256 = "74db0af6b2c3c83767d13509a9098ebb5fbb7170455770b056916ba48876ddb7" %} package: name: {{ name|lower }} diff --git a/recipes/mview/build.sh b/recipes/mview/build.sh new file mode 100644 index 0000000000000..6b9c4344b742e --- /dev/null +++ b/recipes/mview/build.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +set -exuo pipefail + +sed -i.bak \ + -e "s|\$MVIEW_HOME = \"/home/brown/HOME/work/MView/dev\";|\$MVIEW_HOME = \$ENV{'CONDA_PREFIX'} if exists \$ENV{'CONDA_PREFIX'};|" \ + -e 's|$MVIEW_LIB = "$MVIEW_HOME/lib";|$MVIEW_LIB = "$MVIEW_HOME/lib/mview'${PKG_VERSION}'";|' \ + ${SRC_DIR}/bin/mview + +LIB_INSTALL_DIR=${PREFIX}/lib/mview${PKG_VERSION} + +mkdir -p ${LIB_INSTALL_DIR}/Bio +cp -r ${SRC_DIR}/lib/Bio/{MView,Parse,Util} ${LIB_INSTALL_DIR}/Bio/ + +install -D -m 755 ${SRC_DIR}/bin/mview ${PREFIX}/bin/ diff --git a/recipes/mview/meta.yaml b/recipes/mview/meta.yaml new file mode 100644 index 0000000000000..0704c98853b8e --- /dev/null +++ b/recipes/mview/meta.yaml @@ -0,0 +1,57 @@ +{% set name = "MView" %} +{% set version = "1.68" %} +{% set author = "desmid" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/{{ author }}/{{ name|lower }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: 4c3c75ba7f3cead82e641a83f3ad43b38169fef16aa8b9c8414e35f1eb1081c7 + +build: + number: 0 + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} + noarch: generic + + +requirements: + host: + - perl >=5.0,<6.0 + run: + - perl >=5.0,<6.0 + +test: + requires: + - wget + commands: + - wget https://rest.uniprot.org/uniprotkb/Q16602.fasta + - mview -in fasta Q16602.fasta -width 77 + +about: + home: https://{{ author }}.github.io/{{ name|lower }} + doc_url: https://{{ author }}.github.io/{{ name|lower }}/contents.html + dev_url: https://github.com/{{ author }}/{{ name|lower }} + license: GPL-2.0-or-later + license_family: GPL2 + license_file: LICENSE.md + summary: "MView extracts and reformats the results of a sequence database search or multiple alignment." + description: | + MView is a command line utility that extracts and reformats the results of a sequence database search or a multiple alignment, + optionally adding HTML markup for web page layout. It can also be used as a filter to extract and convert searches or alignments to common formats. + + Inputs: + - Sequence database search: BLAST, FASTA suites. + - Multiple sequence alignment: CLUSTAL, HSSP, MSF, FASTA, PIR, MAF. + + Outputs: + - HTML, FASTA, CLUSTAL, MSF, PIR, RDB (tab-separated). + + The tool is used in molecular biology and biomedical research for data analyses and as a component in various bioinformatics web services. + Research papers citing MView are indexed on [Google Scholar](https://scholar.google.com/citations?user=4ughzM0AAAAJ&hl=en). + +extra: + recipe-maintainers: + - eunos-1128 diff --git a/recipes/mvip/LICENSE b/recipes/mvip/LICENSE new file mode 100644 index 0000000000000..bc08fe2e41e33 --- /dev/null +++ b/recipes/mvip/LICENSE @@ -0,0 +1,619 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. diff --git a/recipes/mvip/meta.yaml b/recipes/mvip/meta.yaml new file mode 100644 index 0000000000000..613e0bbbd9bb8 --- /dev/null +++ b/recipes/mvip/meta.yaml @@ -0,0 +1,56 @@ +{% set name = "mvip" %} +{% set version = "1.1.4" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: ca056513e45714c5988aba02572aa179055b17100a0c4192a274324a02e8cc46 + +build: + number: 0 + noarch: python + script: "{{ PYTHON }} -m pip install . --no-deps -vv" + run_exports: + - {{ pin_subpackage("mvip", max_pin="x") }} + +requirements: + host: + - python >=3.7 + - pip + - flit + run: + - python >=3.7 + - tqdm + - importlib_resources + - genomad ==1.7.4 + - pandas + - checkv + - bowtie2 + - minimap2 + - samtools + - seqtk + - scikit-learn ==0.23 + - numpy ==1.23 + - parallel + - coverm + - dos2unix + - mmseqs2 + - mafft + - trimal + - fasttree + - vRhyme + - taxopy + - table2asn + - rpy2 + - flit + +test: + commands: + - mvip -h +about: + home: https://gitlab.com/ccoclet/mvp + license: GNU GENERAL PUBLIC LICENSE + summary: MVP v.1.0, a user-friendly pipeline written in Python and providing a simple framework to perform standard viromics analyses. MVP combines multiple tools to enable viral genome identification, characterization of genome quality, filtering, clustering, taxonomic and functional annotation, genome binning, and comprehensive summaries of results that can be used for downstream ecological analyses. Overall, MVP provides a standardized and reproducible pipeline for both extensive and robust characterization of viruses from large-scale sequencing data including metagenomes, metatranscriptomes, viromes and isolate genomes. diff --git a/recipes/mycotools/meta.yaml b/recipes/mycotools/meta.yaml new file mode 100644 index 0000000000000..e67804eb73353 --- /dev/null +++ b/recipes/mycotools/meta.yaml @@ -0,0 +1,96 @@ +{% set name = "mycotools" %} +{% set version = "0.32.3" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/mycotools-{{ version }}.tar.gz + sha256: 598caafca226eeb485759c88ff9ab3c05c0d9803e900c2cea7c191cb4df7c77e + +build: + number: 0 + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + entry_points: + - mtdb = mycotools.mtdb:main + - acc2fa = mycotools.acc2fa:cli + - acc2gbk = mycotools.acc2gbk:cli + - acc2gff = mycotools.acc2gff:cli + - acc2locus = mycotools.acc2locus:cli + - add2gff = mycotools.add2gff:cli + - annotationStats = mycotools.annotationStats:cli + - assemblyStats = mycotools.assemblyStats:cli + - bioreform = mycotools.bioreform:cli + - coords2fa = mycotools.coords2fa:cli + - crap = mycotools.crap:cli + - db2files = mycotools.db2files:cli + - db2hgs = mycotools.db2hgs:cli + - db2microsyntree = mycotools.db2microsyntree:cli + - db2search = mycotools.db2search:cli + - extract_mtdb = mycotools.extract_mtdb:cli + - fa2clus = mycotools.fa2clus:cli + - fa2hmmer2fa = mycotools.fa2hmmer2fa:cli + - fa2mass = mycotools.fa2mass:cli + - fa2tree = mycotools.fa2tree:cli + - fna2faa = mycotools.fna2faa:cli + - gff2seq = mycotools.gff2seq:cli + - gff2svg = mycotools.gff2svg:cli + - jgiDwnld = mycotools.jgiDwnld:cli + - manage_mtdb = mycotools.manage_mtdb:cli + - ncbiAcc2fa = mycotools.ncbiAcc2fa:cli + - ncbiDwnld = mycotools.ncbiDwnld:cli + - ome2name = mycotools.ome2name:cli + - predb2mtdb = mycotools.predb2mtdb:cli + - s2subs = mycotools.s2subs:cli + - update_mtdb = mycotools.update_mtdb:cli + script_env: + - SETUPTOOLS_SCM_PRETEND_VERSION={{ version }} + run_exports: + - {{ pin_subpackage('mycotools', max_pin="x.x") }} + +requirements: + host: + - python >=3 + - setuptools-scm + - pip + run: + - python >=3 + - biopython + - pandas + - requests + - scipy + - openpyxl + - tqdm + - cryptography + - iqtree + - mafft + - blast + - hmmer + - mmseqs2 + - fasttree + - diamond + - ete3 + - ncbi-datasets-cli + +test: + imports: + - mycotools + commands: + - mtdb --help + - predb2mtdb --help + - update_mtdb --help + +about: + home: "https://github.com/xonq/mycotools" + summary: "Comparative genomics automation and standardization software." + license: "BSD-3-Clause" + license_family: BSD + license_file: LICENSE + dev_url: "https://github.com/xonq/mycotools" + doc_url: "https://github.com/xonq/mycotools/wiki" + +extra: + recipe-maintainers: + - xonq diff --git a/recipes/mykatlas/meta.yaml b/recipes/mykatlas/meta.yaml index 78610d3569b94..be460fd03c13f 100644 --- a/recipes/mykatlas/meta.yaml +++ b/recipes/mykatlas/meta.yaml @@ -13,7 +13,7 @@ build: # includes precompiled Linux binary `mccortex31` # needs pyvcf rebuild for python 3.10 on conda-forge skip: True # [osx or py > 39] - number: 6 + number: 7 script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv entry_points: - atlas = mykatlas.atlas_main:main diff --git a/recipes/mykrobe/build.sh b/recipes/mykrobe/build.sh index 60f5bab416ae8..453489f41176f 100644 --- a/recipes/mykrobe/build.sh +++ b/recipes/mykrobe/build.sh @@ -25,7 +25,11 @@ for make_file in libs/string_buffer/Makefile $(find libs/seq_file -name Makefile sed -i.bak 's/-lz/-lz $(LDFLAGS)/' "$make_file" done -make MAXK=31 +if [ $(arch) != "x86_64" ]; then + sed -i.bak 's/-m64//' Makefile +fi + +make MAXK=31 -j ${CPU_COUNT} cp bin/mccortex31 ../src/mykrobe/cortex/ cd ../ || exit 1 diff --git a/recipes/mykrobe/build_failure.linux-aarch64.yaml b/recipes/mykrobe/build_failure.linux-aarch64.yaml new file mode 100644 index 0000000000000..c55bb7d055e77 --- /dev/null +++ b/recipes/mykrobe/build_failure.linux-aarch64.yaml @@ -0,0 +1,104 @@ +recipe_sha: e7d1ddad4763fea69155d4b1c3da4714c660d3f0706e622663a47bfd0130844b # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + 301 | struct cram_codec *codecs[DS_END]; + | ^~~~~~ + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -fpic -c -o cram/cram_index.pico cram/cram_index.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -fpic -c -o cram/cram_io.pico cram/cram_io.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -fpic -c -o cram/cram_samtools.pico cram/cram_samtools.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -fpic -c -o cram/cram_stats.pico cram/cram_stats.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -fpic -c -o cram/files.pico cram/files.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -fpic -c -o cram/mFILE.pico cram/mFILE.c + cram/cram_io.c: In function 'cram_populate_ref': + cram/cram_io.c:2234:9: warning: '__builtin_strncpy' specified bound 4096 equals destination size [-Wstringop-truncation] + 2234 | strncpy(path, path2, PATH_MAX); + | ^~~~~~~ + cram/cram_io.c:2332:34: warning: '.tmp_' directive writing 5 bytes into a region of size between 1 and 4096 [-Wformat-overflow=] + 2332 | sprintf(path_tmp, "%s.tmp_%d", path, /*getpid(),*/ i); + | ^~~~~ + cram/cram_io.c:2332:31: note: directive argument in the range [0, 2147483647] + 2332 | sprintf(path_tmp, "%s.tmp_%d", path, /*getpid(),*/ i); + | ^~~~~~~~~~~ + cram/cram_io.c:2332:13: note: 'sprintf' output between 7 and 4111 bytes into a destination of size 4096 + 2332 | sprintf(path_tmp, "%s.tmp_%d", path, /*getpid(),*/ i); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -fpic -c -o cram/open_trace_file.pico cram/open_trace_file.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -fpic -c -o cram/pooled_alloc.pico cram/pooled_alloc.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -fpic -c -o cram/rANS_static.pico cram/rANS_static.c + cram/cram_io.c: In function 'cram_write_SAM_hdr': + cram/cram_io.c:3781:13: warning: '__builtin_strncpy' specified bound 4096 equals destination size [-Wstringop-truncation] + 3781 | strncpy(out, in, PATH_MAX); + | ^~~~~~~ + cram/cram_io.c:3773:9: warning: '__builtin_strncpy' specified bound 4096 equals destination size [-Wstringop-truncation] + 3773 | strncpy(out, in, PATH_MAX); + | ^~~~~~~ + cram/cram_io.c: In function 'cram_dopen': + cram/cram_io.c:4156:9: warning: '__builtin_strncpy' specified bound 20 equals destination size [-Wstringop-truncation] + 4156 | strncpy(def->file_id, filename, 20); + | ^~~~~~~ + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -fpic -c -o cram/sam_header.pico cram/sam_header.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -fpic -c -o cram/string_alloc.pico cram/string_alloc.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -fpic -c -o cram/thread_pool.pico cram/thread_pool.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -fpic -c -o cram/vlen.pico cram/vlen.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -fpic -c -o cram/zfio.pico cram/zfio.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -c -o bgzip.o bgzip.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -c -o htsfile.o htsfile.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -c -o tabix.o tabix.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -c -o test/fieldarith.o test/fieldarith.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -c -o test/hfile.o test/hfile.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -c -o test/sam.o test/sam.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -c -o test/test-regidx.o test/test-regidx.c + test/sam.c: In function 'faidx1': + test/sam.c:186:5: warning: 'faidx_fetch_nseq' is deprecated: Please use faidx_nseq instead [-Wdeprecated-declarations] + 186 | n = faidx_fetch_nseq(fai); + | ^ + In file included from test/sam.c:32: + ./htslib/faidx.h:94:9: note: declared here + 94 | int faidx_fetch_nseq(const faidx_t *fai) HTS_DEPRECATED("Please use faidx_nseq instead"); + | ^~~~~~~~~~~~~~~~ + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -c -o test/test_view.o test/test_view.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -c -o test/test-vcf-api.o test/test-vcf-api.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -c -o test/test-vcf-sweep.o test/test-vcf-sweep.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -c -o bgzf.o bgzf.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -c -o faidx.o faidx.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -c -o hfile.o hfile.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -c -o hfile_net.o hfile_net.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -g -Wall -O2 -I. -c -o hts.o hts.c + hts.c: In function 'hts_idx_init': + hts.c:1180:59: warning: overflow in conversion from 'uint32_t' {aka 'unsigned int'} to 'int' changes value from 'idx->z.last_bin = 4294967295' to '-1' [-Woverflow] + 1180 | idx->z.save_bin = idx->z.save_tid = idx->z.last_tid = idx->z.last_bin = 0xffffffffu; + | ^~~ + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -shared -Wl,-soname,libhts.so.1 -pthread -L$PREFIX/lib -o libhts.so kfunc.pico knetfile.pico kstring.pico bgzf.pico faidx.pico hfile.pico hfile_net.pico hts.pico md5.pico regidx.pico sam.pico synced_bcf_reader.pico vcf_sweep.pico tbx.pico vcf.pico vcfutils.pico cram/cram_codecs.pico cram/cram_decode.pico cram/cram_encode.pico cram/cram_external.pico cram/cram_index.pico cram/cram_io.pico cram/cram_samtools.pico cram/cram_stats.pico cram/files.pico cram/mFILE.pico cram/open_trace_file.pico cram/pooled_alloc.pico cram/rANS_static.pico cram/sam_header.pico cram/string_alloc.pico cram/thread_pool.pico cram/vlen.pico cram/zfio.pico -lz -lm + ln -sf libhts.so libhts.so.1 + ar -rc libhts.a kfunc.o knetfile.o kstring.o bgzf.o faidx.o hfile.o hfile_net.o hts.o md5.o regidx.o sam.o synced_bcf_reader.o vcf_sweep.o tbx.o vcf.o vcfutils.o cram/cram_codecs.o cram/cram_decode.o cram/cram_encode.o cram/cram_external.o cram/cram_index.o cram/cram_io.o cram/cram_samtools.o cram/cram_stats.o cram/files.o cram/mFILE.o cram/open_trace_file.o cram/pooled_alloc.o cram/rANS_static.o cram/sam_header.o cram/string_alloc.o cram/thread_pool.o cram/vlen.o cram/zfio.o + ranlib libhts.a + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -pthread -L$PREFIX/lib -o bgzip bgzip.o libhts.a -lz + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -pthread -L$PREFIX/lib -o htsfile htsfile.o libhts.a -lz + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -pthread -L$PREFIX/lib -o tabix tabix.o libhts.a -lz + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -pthread -L$PREFIX/lib -o test/fieldarith test/fieldarith.o libhts.a -lz + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -pthread -L$PREFIX/lib -o test/hfile test/hfile.o libhts.a -lz + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -pthread -L$PREFIX/lib -o test/sam test/sam.o libhts.a -lz + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -pthread -L$PREFIX/lib -o test/test-regidx test/test-regidx.o libhts.a -lz + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -pthread -L$PREFIX/lib -o test/test_view test/test_view.o libhts.a -lz + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -pthread -L$PREFIX/lib -o test/test-vcf-api test/test-vcf-api.o libhts.a -lz + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -fcommon -lstdc -pthread -L$PREFIX/lib -o test/test-vcf-sweep test/test-vcf-sweep.o libhts.a -lz + make[2]: Leaving directory '$SRC_DIR/mccortex/libs/htslib' + make[1]: Leaving directory '$SRC_DIR/mccortex/libs' + make: *** [Makefile:237: libs-core] Error 2 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/mykrobe_1718310118031/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. diff --git a/recipes/mykrobe/meta.yaml b/recipes/mykrobe/meta.yaml index e27a11f3614ac..35c9b0475bbb2 100644 --- a/recipes/mykrobe/meta.yaml +++ b/recipes/mykrobe/meta.yaml @@ -9,8 +9,7 @@ source: sha256: 49662937378a4ff10ffcb3876efcc069be58f0dc183615e9cffb57f51348a45e build: - number: 0 - skip: True # [py<30] + number: 3 entry_points: - mykrobe = mykrobe.cli:main run_exports: @@ -70,6 +69,8 @@ about: description: 'Rapid antibiotic-resistance predictions from genome sequence data for Staphylococcus aureus and Mycobacterium tuberculosis.' extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - mbhall88 - martinghunt diff --git a/recipes/mztosqlite/1.2.0/meta.yaml b/recipes/mztosqlite/1.2.0/meta.yaml index 4bdae4b8dce91..43aeb96bacf1e 100644 --- a/recipes/mztosqlite/1.2.0/meta.yaml +++ b/recipes/mztosqlite/1.2.0/meta.yaml @@ -16,7 +16,7 @@ package: build: noarch: generic - number: 5 + number: 6 source: url: https://github.com/galaxyproteomics/mzToSQLite/releases/download/{{ version }}/{{ name }}-{{ version }}.jar diff --git a/recipes/mztosqlite/meta.yaml b/recipes/mztosqlite/meta.yaml index 570c7236c6ad5..d0bd38a3ed3f2 100644 --- a/recipes/mztosqlite/meta.yaml +++ b/recipes/mztosqlite/meta.yaml @@ -7,7 +7,7 @@ package: build: noarch: generic - number: 1 + number: 2 source: url: https://github.com/galaxyproteomics/mzToSQLite/releases/download/{{ version }}/{{ name }}-{{ version }}.jar diff --git a/recipes/naibr-plus/meta.yaml b/recipes/naibr-plus/meta.yaml index 1fde0ed5de8bc..4a5ea7975e838 100644 --- a/recipes/naibr-plus/meta.yaml +++ b/recipes/naibr-plus/meta.yaml @@ -1,5 +1,5 @@ {% set name = "naibr-plus" %} -{% set version = "0.5.2" %} +{% set version = "0.5.3" %} package: name: "{{ name }}" @@ -7,7 +7,7 @@ package: source: url: https://github.com/pontushojer/NAIBR/releases/download/v{{ version }}/naibr-{{ version }}.tar.gz - sha256: 9e79f808fbd2847f6286ffe8f9c4dbd3b1b9bc2a07c06c32ffc87ab15b2ae899 + sha256: 8f1829171ea1abd1e6c9625aa0e17b430401cbec859527a13197f693f8b42c95 build: number: 0 diff --git a/recipes/nanocaller/meta.yaml b/recipes/nanocaller/meta.yaml index c0060cef2152f..0b20c2fbc6e46 100644 --- a/recipes/nanocaller/meta.yaml +++ b/recipes/nanocaller/meta.yaml @@ -1,5 +1,5 @@ {% set name = "nanocaller" %} -{% set version = "3.4.1" %} +{% set version = "3.6.0" %} package: name: {{ name }} @@ -7,11 +7,13 @@ package: source: url: https://github.com/WGLab/NanoCaller/archive/refs/tags/v{{ version }}.zip - sha256: bce44e9a1c33c929032312e506fab64b3b9186e200be2de58db91913e5728faf + sha256: 63acb2fd97bef760f9fd8a06021dd1a0865e6b9d22b461d3bd58acc4028d9c31 build: - number: 0 + number: 1 noarch: generic + run_exports: + - {{ pin_subpackage('nanocaller', max_pin="x") }} requirements: run: @@ -23,8 +25,8 @@ requirements: - tensorflow >=2.4 - pysam - intervaltree - - muscle >=3.8, <4 - - whatshap >=1.4 + - muscle >=3.8,<4 + - whatshap >=2.2 - parasail-python - tqdm - rtg-tools diff --git a/recipes/nanocount/meta.yaml b/recipes/nanocount/meta.yaml new file mode 100644 index 0000000000000..90fbda93b8280 --- /dev/null +++ b/recipes/nanocount/meta.yaml @@ -0,0 +1,59 @@ +{% set name = "NanoCount" %} +{% set version = "1.0.0.post6" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/NanoCount-{{ version }}.tar.gz + sha256: 0f24e8526ce9a0df9894cacaac957f285c90bf1d2f98507bb183981cb0ea346e + +build: + entry_points: + - NanoCount=NanoCount.__main__:main + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('nanocount', max_pin='x') }} + +requirements: + host: + - python >=3.6 + - pip + run: + - python >=3.6 + - tqdm >=4.51.0 + - numpy >=1.19.4 + - pysam >=0.16.0 + - pandas >=1.1.4 + - colorlog >=4.1.0 + +test: + imports: + - NanoCount + - NanoCount.NanoCount + commands: + - pip check + - NanoCount --help + requires: + - pip + +about: + home: https://github.com/a-slide/NanoCount/ + doc_url: https://a-slide.github.io/NanoCount/ + summary: Transcript abundance estimation from Nanopore *direct-RNA sequencing* datasets + description: NanoCount estimates transcripts abundance from Oxford Nanopore *direct-RNA sequencing* datasets, using an expectation-maximization approach like RSEM, Kallisto, salmon, etc to handle the uncertainty of multi-mapping reads + license: MIT + licence_url: https://mit-license.org/ + license_file: LICENSE + +extra: + recipe-maintainers: + - corneliusroemer + identifiers: + - doi:10.1093/nar/gkab1129 + author: Adrien Leger + author_email: aleg@ebi.ac.uk + author_url: https://adrienleger.com diff --git a/recipes/nanoinsight/LICENSE.txt b/recipes/nanoinsight/LICENSE.txt new file mode 100644 index 0000000000000..f288702d2fa16 --- /dev/null +++ b/recipes/nanoinsight/LICENSE.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/recipes/nanoinsight/meta.yaml b/recipes/nanoinsight/meta.yaml new file mode 100644 index 0000000000000..881ab16d68a82 --- /dev/null +++ b/recipes/nanoinsight/meta.yaml @@ -0,0 +1,44 @@ +{% set name = "nanoinsight" %} +{% set version = "0.0.3" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/nanoinsight-{{ version }}.tar.gz + sha256: a0ca0076fc6cbf11f6460d48ba3a07a97fea01f77282e70da2e992df97afc3c9 + +build: + entry_points: + - nanoinsight=nanoinsight.nanoinsight:main + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('nanoinsight', max_pin="x.x") }} + +requirements: + host: + - python >=3.8 + - pip + run: + - python >=3.8 + - biopython >=1.82 + - scikit-allel >=1.3.7 + - pandas >=1.5.3 + - mafft + - repeatmasker + +test: + imports: + - nanoinsight + commands: + - nanoinsight --help + +about: + home: https://github.com/AsmaaSamyMohamedMahmoud/nanoinsight + summary: Repeat annotation tool for insertions called by NanoVar + license: GPL-3.0-or-later + license_file: LICENSE.txt + diff --git a/recipes/nanomath/meta.yaml b/recipes/nanomath/meta.yaml index f84eba39302c2..928df749beeb7 100644 --- a/recipes/nanomath/meta.yaml +++ b/recipes/nanomath/meta.yaml @@ -1,17 +1,20 @@ -{% set version = "1.3.0" %} +{% set name = "nanomath" %} +{% set version = "1.4.0" %} package: - name: nanomath + name: {{ name }} version: {{ version }} source: url: https://pypi.io/packages/source/n/nanomath/nanomath-{{ version }}.tar.gz - sha256: c35a024b10b34dd8f539cefed1fd69e0a46d18037ca48bed63c7941c67ae028e + sha256: ed7a38fbb156d9a68a95c2570fe3c2035321d0a3e234580496750afca4927ced build: noarch: python number: 0 - script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + run_exports: + - {{ pin_subpackage('nanomath', max_pin="x") }} requirements: host: @@ -29,6 +32,8 @@ test: about: home: https://github.com/wdecoster/nanomath - license: MIT License + license: "GPL-3.0-or-later" summary: 'A few simple math function for other Oxford Nanopore processing scripts' - license_family: MIT + license_family: GPL3 + license_file: LICENSE + dev_url: https://github.com/wdecoster/nanomath diff --git a/recipes/nanometa-live/meta.yaml b/recipes/nanometa-live/meta.yaml index ab801d6964c57..4ccbcf3cfba8b 100644 --- a/recipes/nanometa-live/meta.yaml +++ b/recipes/nanometa-live/meta.yaml @@ -1,5 +1,5 @@ {% set name = "nanometa-live" %} -{% set version = "0.4.1" %} +{% set version = "0.4.3" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: https://github.com/FOI-Bioinformatics/nanometa_live/archive/{{ version }}.tar.gz - sha256: bc241b82277b641df9d419cb014a80a223a5f2db47a596925663589d8dbda5c2 + sha256: 9c8e0cb9eddaf8cfde3a752424717447319afd2af357a815e0ba4d4112e58e5c build: number: 0 diff --git a/recipes/nanomonsv/meta.yaml b/recipes/nanomonsv/meta.yaml index 500567638022b..3e74f39f120a8 100644 --- a/recipes/nanomonsv/meta.yaml +++ b/recipes/nanomonsv/meta.yaml @@ -1,5 +1,5 @@ {% set name = "nanomonsv" %} -{% set version = "0.7.0" %} +{% set version = "0.7.2" %} package: name: {{ name|lower }} @@ -7,13 +7,15 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/nanomonsv-{{ version }}.tar.gz - sha256: bf8cc616e1fb8e04bf900df27c19c3f0580d0e1fb0f4c235820e8f42572c1d2c + sha256: 25aefec185f09e3fad057c98b8f28c03c4997dbb7771f67ff658674ce36ecbb6 build: entry_points: - nanomonsv = nanomonsv:main noarch: python - script: {{ PYTHON }} -m pip install . -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-cache-dir -vvv + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} number: 0 requirements: @@ -22,23 +24,20 @@ requirements: - pip run: - python >=3.6 - - htslib =1.15 - - mafft =7.407 - - racon =1.4.3 - - pysam =0.19.1 - - numpy =1.23.0 - - parasail-python =1.2.4 - - minimap2 =2.24 - - bwa =0.7.17 - - RepeatMasker =4.1.1 - - bedtools =2.30.0 + - htslib + - mafft >=7.407 + - racon >=1.4.3 + - pysam >=0.19.1 + - numpy >=1.23.0 + - parasail-python >=1.2.4 + - minimap2 >=2.24 + - bwa >=0.7.17 + - RepeatMasker >=4.1.1 + - bedtools >=2.30.0 test: commands: - - pip check - nanomonsv --help - requires: - - pip about: home: https://github.com/friend1ws/nanomonsv diff --git a/recipes/nanomotif/meta.yaml b/recipes/nanomotif/meta.yaml new file mode 100644 index 0000000000000..a1aa81d780824 --- /dev/null +++ b/recipes/nanomotif/meta.yaml @@ -0,0 +1,59 @@ +{% set name = "nanomotif" %} +{% set version = "0.4.14" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/nanomotif-{{ version }}.tar.gz + sha256: 87dba57f2c2468c09605eddd9ead58bb0187d36dea67546df2ab52df94fdb75d + +build: + entry_points: + - nanomotif = nanomotif.main:main + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + number: 0 + run_exports: + - {{ pin_subpackage('nanomotif', max_pin="x.x") }} + +requirements: + host: + - python + - pip + - setuptools + run: + - python + - wheel + - bio >=1.6.2 + - requests + - numpy >=1.24.4 + - pandas >=2.0.2 + - polars >=0.19 + - seaborn-base >=0.12.2 + - scipy >=1.10.1 + - networkx >=3.1 + - progressbar2 >=3.53.1 + - biopython >=1.6.2 + - pyarrow >=15.0.2 + - snakemake-minimal >=7.32.4 + +test: + imports: + - nanomotif + commands: + - nanomotif --help + +about: + home: "https://github.com/MicrobialDarkMatter/nanomotif" + summary: "Identifying methlyation motifs in nanopore data" + license: MIT + license_family: MIT + license_file: LICENSE + doc_url: "https://nanomotif.readthedocs.io/en/latest" + dev_url: "https://github.com/MicrobialDarkMatter/nanomotif" + +extra: + recipe-maintainers: + - SorenHeidelbach diff --git a/recipes/nanoplot/meta.yaml b/recipes/nanoplot/meta.yaml index b40260be1a127..af69dc565bfdf 100644 --- a/recipes/nanoplot/meta.yaml +++ b/recipes/nanoplot/meta.yaml @@ -1,17 +1,17 @@ -{% set version = "1.42.0" %} +{% set version = "1.43.0" %} package: name: nanoplot version: {{ version }} source: - url: https://pypi.io/packages/source/n/nanoplot/NanoPlot-{{ version }}.tar.gz - sha256: 0f8fd2cffd33a346b3306716058c6cb4091c931e8ab502f10b17a28749e8b6d9 + url: https://pypi.io/packages/source/n/nanoplot/nanoplot-{{ version }}.tar.gz + sha256: 0f94096d689b552c32fd7246ad87cb6d5e5e2499dad5acc551091e0ff67f48df build: entry_points: - NanoPlot=nanoplot.NanoPlot:main - number: 0 + number: 1 noarch: python run_exports: - {{ pin_subpackage("nanoplot", max_pin="x.x") }} @@ -28,8 +28,7 @@ requirements: - scipy - python-dateutil - libpng - - nanoget >=1.18.1 - - nanomath >=1.0.0 + - nanoget >=1.19.1 - plotly >=5.4.0 - pyarrow - python-kaleido diff --git a/recipes/nanopolish/meta.yaml b/recipes/nanopolish/meta.yaml index b210cb31f961c..8480616316753 100644 --- a/recipes/nanopolish/meta.yaml +++ b/recipes/nanopolish/meta.yaml @@ -6,7 +6,7 @@ package: version: {{ version }} build: - number: 3 + number: 4 source: git_url: https://github.com/jts/nanopolish diff --git a/recipes/nanosim/build.sh b/recipes/nanosim/build.sh index 87b317b6f8ecc..fdeb10cd57daf 100644 --- a/recipes/nanosim/build.sh +++ b/recipes/nanosim/build.sh @@ -2,7 +2,8 @@ set -eu -o pipefail mkdir -p ${PREFIX}/bin -cp src/*.py ${PREFIX}/bin/ +cp -rf src/*.py ${PREFIX}/bin/ +cp -rf src/*lua ${PREFIX}/bin/ chmod 0755 "${PREFIX}/bin/read_analysis.py" chmod 0755 "${PREFIX}/bin/simulator.py" diff --git a/recipes/nanosim/meta.yaml b/recipes/nanosim/meta.yaml index c61ceb870abb8..266bf00b35b28 100644 --- a/recipes/nanosim/meta.yaml +++ b/recipes/nanosim/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "3.1.0" %} -{% set sha256 = "6b994fc545b80f7a30a426837eb023c4c03c3ffb5807f8513b7e176c3dd5f5ba" %} +{% set version = "3.2.2" %} +{% set sha256 = "d307907ca02145c9479be2930efb08a820e22dc41bb84f3d72654fbe17d66bc8" %} package: name: nanosim @@ -12,6 +12,8 @@ source: build: noarch: generic number: 0 + run_exports: + - {{ pin_subpackage('nanosim', max_pin="x") }} requirements: run: @@ -24,10 +26,13 @@ requirements: - pybedtools >=0.7.10 - pysam >=0.13 - htseq >=0.9.1 - - minimap2 + - minimap2 >=2.18 - last - samtools - genometools-genometools + - regex + - piecewise-regression + - sam2pairwise test: commands: @@ -36,11 +41,11 @@ test: about: home: https://github.com/bcgsc/NanoSim - license: GPL-3.0 - license_file: - - COPYRIGHT - - LICENSE + license: "GPL-3.0-only" + license_family: GPL3 + license_file: LICENSE summary: 'NanoSim is a fast and scalable read simulator for Nanopore sequencing data.' + dev_url: https://github.com/bcgsc/NanoSim extra: identifiers: diff --git a/recipes/nanovar/build_failure.linux-64.yaml b/recipes/nanovar/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..2820ae9473980 --- /dev/null +++ b/recipes/nanovar/build_failure.linux-64.yaml @@ -0,0 +1,106 @@ +recipe_sha: f53195d3afaccd0ad9b558a2fa912d58f556a36c8f21b1a269509d93bddd3b7e # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: dependency issue +reason: tensorflow-mkl is only available in default channel +log: |2- + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("tensorflow-mkl[version='>=2.0.0']")} + Encountered problems while solving: + - nothing provides requested tensorflow-mkl >=2.0.0 + + Could not solve for environment specs + The following package could not be installed + [31mtensorflow-mkl >=2.0.0 [0m does not exist (perhaps a typo or a missing channel). + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("tensorflow-mkl[version='>=2.0.0']")} + Encountered problems while solving: + - nothing provides requested tensorflow-mkl >=2.0.0 + + Could not solve for environment specs + The following package could not be installed + [31mtensorflow-mkl >=2.0.0 [0m does not exist (perhaps a typo or a missing channel). + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2409, in build + create_build_envs(top_level_pkg, notest) + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2247, in create_build_envs + raise e + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2220, in create_build_envs + environ.get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("tensorflow-mkl[version='>=2.0.0']")} + Encountered problems while solving: + - nothing provides requested tensorflow-mkl >=2.0.0 + + Could not solve for environment specs + The following package could not be installed + [31mtensorflow-mkl >=2.0.0 [0m does not exist (perhaps a typo or a missing channel). +# Last 100 lines of the build log. diff --git a/recipes/nanovar/meta.yaml b/recipes/nanovar/meta.yaml index d0b873ee9c1ff..1e0dbbfc3bd97 100644 --- a/recipes/nanovar/meta.yaml +++ b/recipes/nanovar/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.5.0" %} +{% set version = "1.8.1" %} package: name: nanovar @@ -6,7 +6,7 @@ package: source: url: https://pypi.io/packages/source/n/nanovar/nanovar-{{ version }}.tar.gz - sha256: cca25fde5da27bd5497e80c3a2bfd5eb6bffa46d348d30682bbe4cca20ed767f + sha256: c75159f86a4043f5ba37c4ea16b9c5953e44d7a1c1dd854de7928464bed83bc9 build: skip: True # [py2k or osx or py > 39] @@ -23,18 +23,18 @@ requirements: - python run: - python - - biopython >=1.78 + - numpy >=1.17.3, <2.0.0 + - scipy >=1.2.1 + - biopython >=1.82 + - pybedtools >=0.8.2 - matplotlib-base >=2.2.3 + - tensorflow-cpu >=2.0.0, <=2.15.1 - natsort >=6.2.0 - - numpy >=1.17.3 - - progress >=1.4 - - pybedtools >=0.8.2 - - scipy >=1.2.1 - - tensorflow-mkl >=2.0.0 + - pysam >=0.15.3 + - bs4 >=0.0.2 - bedtools >=2.26.0 - minimap2 >=2.17 - samtools >=1.3 - - pysam >=0.15.3 test: imports: diff --git a/recipes/narfmap/build.sh b/recipes/narfmap/build.sh new file mode 100644 index 0000000000000..f48b3d6bd2db5 --- /dev/null +++ b/recipes/narfmap/build.sh @@ -0,0 +1,14 @@ +export LD_LIBRARY_PATH="${PREFIX}/lib" +export BOOST_INCLUDE_DIR="${PREFIX}/include" +export BOOST_LIBRARY_DIR="${PREFIX}/lib" + +export HAS_GTEST=0 +export LD_LIBRARY_PATH=${PREFIX}/lib +export STATIC=1 + +# fix build number in config +sed -i.bak 's/VERSION_STRING.*/VERSION_STRING="${PKG_VERSION}"/' config.mk + +make CXX=$CXX CC=$CC CXXFLAGS="$CXXFLAGS" CFLAGS="$CFLAGS" +mkdir -p "${PREFIX}/bin" +mv build/release/dragen-os ${PREFIX}/bin/ diff --git a/recipes/narfmap/meta.yaml b/recipes/narfmap/meta.yaml new file mode 100644 index 0000000000000..5db049e65b13a --- /dev/null +++ b/recipes/narfmap/meta.yaml @@ -0,0 +1,43 @@ +{% set name = "narfmap" %} +{% set version = "1.4.2" %} +{% set sha256 = "ffb2d92c9a953c28ebd433cec055a8368453077e99457c978f05d2ac5b36a9d6" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/bioinformaticsorphanage/NARFMAP/archive/refs/tags/{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 3 + skip: True # [osx] + run_exports: + - {{ pin_subpackage("narfmap", max_pin="x") }} + +requirements: + build: + - make + - {{ compiler('c') }} + - {{ compiler('cxx') }} + host: + - zlib + # Last version of conda-forge::boost that included static files (.a) + - boost >=1.69, <=1.71 + - boost-cpp >=1.69, <=1.71 # last version to have static libs + run: + - zlib + # Last version of conda-forge::boost that included static files (.a) + - boost >=1.69, <=1.71 + - boost-cpp >=1.69, <=1.71 # last version to have static libs + +test: + commands: + - dragen-os -h + +about: + home: https://github.com/bioinformaticsorphanage/NARFMAP + license: GPL-3 + licence_file: COPYRIGHT + summary: "NARFMAP is a fork of the Dragen mapper/aligner Open Source Software." diff --git a/recipes/ncbi-amrfinderplus/meta.yaml b/recipes/ncbi-amrfinderplus/meta.yaml index a1c878034c0f5..1e8066c9c665a 100644 --- a/recipes/ncbi-amrfinderplus/meta.yaml +++ b/recipes/ncbi-amrfinderplus/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "3.11.26" %} -{% set sha256 = "49d98d0f66e121d3ed5a3d9a817089ee69399b0bd06af52f79d796bfe8b2d8b2" %} +{% set version = "3.12.8" %} +{% set sha256 = "a199bc332877bad9033a7620bc5e8e849db1f19a9ba8b7357ec5451a6a283aa0" %} package: name: ncbi-amrfinderplus diff --git a/recipes/ncbi-datasets-pylib/meta.yaml b/recipes/ncbi-datasets-pylib/meta.yaml index 901b20233d3b5..9c5c206587b6f 100644 --- a/recipes/ncbi-datasets-pylib/meta.yaml +++ b/recipes/ncbi-datasets-pylib/meta.yaml @@ -1,6 +1,6 @@ {% set name = "ncbi-datasets-pylib" %} -{% set version = "15.31.1" %} -{% set sha256 = "f39ac05519485fa14ff01e6cc2057726e52b92947adec9496ebc33314498edc8" %} +{% set version = "16.6.1" %} +{% set sha256 = "06ab4409a00ac4c89465dea774558f8e51bc759f869072332399e5dcca0dded8" %} package: name: {{ name|lower }} diff --git a/recipes/ncbi-fcs-gx/0.4.1/build.sh b/recipes/ncbi-fcs-gx/0.4.1/build.sh deleted file mode 100644 index 1597a84f75f1d..0000000000000 --- a/recipes/ncbi-fcs-gx/0.4.1/build.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -e -set -uex - -mkdir -vp ${PREFIX}/bin - -ls -l . - -$GCC --version -$GCC -print-search-dirs - -#cd fcs-gx-0.4.0 -make VERBOSE=1 - -cp $SRC_DIR/build/src/gx ${PREFIX}/bin/ -cp $SRC_DIR/scripts/* ${PREFIX}/bin/ -cp $SRC_DIR/make_gxdb/blast_names_mapping.tsv ${PREFIX}/bin/ -chmod ua+x ${PREFIX}/bin/gx - diff --git a/recipes/ncbi-fcs-gx/0.4.1/meta.yaml b/recipes/ncbi-fcs-gx/0.4.1/meta.yaml deleted file mode 100644 index 03abf4bee3563..0000000000000 --- a/recipes/ncbi-fcs-gx/0.4.1/meta.yaml +++ /dev/null @@ -1,40 +0,0 @@ -package: - name: ncbi-fcs-gx - version: 0.4.1 - -source: - url: https://github.com/ncbi/fcs-gx/archive/refs/tags/v0.4.1.zip - sha256: 7bedb6a43945df4821d3e23fd1c5c4bf117cd70001cb96b310d177f0fd049a6b - - -requirements: - build: - - {{ compiler('cxx') }} - - make - - cmake - - libstdcxx-ng - - libgcc-ng - run: - - python >=3.9 - - aria2 =1.36.0 - - gzip >=1.5 - - pv >=1.4.6 - - rclone =1.61.1 - - grep >=3.4 - -build: - number: 0 - skip: True # [not linux or not x86_64] - run_exports: - - {{ pin_compatible('nxbi-fcs-gx', max_pin="x.x") }} - -test: - commands: - - gx --help - -about: - home: https://github.com/ncbi/fcs - summary: The NCBI Foreign Contamination Screen. Genomic cross-species aligner, for contamination detection. - license: NCBI-PD - license_url: https://github.com/ncbi/fcs/blob/main/LICENSE.txt - diff --git a/recipes/ncbi-fcs-gx/build.sh b/recipes/ncbi-fcs-gx/build.sh index 115d28fa7d971..1f6b00d23102a 100644 --- a/recipes/ncbi-fcs-gx/build.sh +++ b/recipes/ncbi-fcs-gx/build.sh @@ -3,17 +3,11 @@ set -uex mkdir -vp ${PREFIX}/bin -ls -l . - -$GCC --version -$GCC -print-search-dirs - -#cd fcs-gx-0.4.0 -make VERBOSE=1 +make VERBOSE=1 -j ${CPU_COUNT} cp $SRC_DIR/build/src/gx ${PREFIX}/bin/ cp $SRC_DIR/scripts/* ${PREFIX}/bin/ cp $SRC_DIR/make_gxdb/blast_names_mapping.tsv ${PREFIX}/bin/ -echo PREFIX: ${PREFIX} + chmod ua+x ${PREFIX}/bin/gx diff --git a/recipes/ncbi-fcs-gx/meta.yaml b/recipes/ncbi-fcs-gx/meta.yaml index 205112082b9a7..863e298cf163b 100644 --- a/recipes/ncbi-fcs-gx/meta.yaml +++ b/recipes/ncbi-fcs-gx/meta.yaml @@ -1,11 +1,12 @@ package: name: ncbi-fcs-gx - version: 0.5.0 + version: 0.5.4 source: - url: https://github.com/ncbi/fcs-gx/archive/refs/tags/v0.5.0.zip - sha256: 2f6b6099584495e1a9115403a5e4cb5f5dac1ddbbc691da9a3158a75391ffe8a - + url: https://github.com/ncbi/fcs-gx/archive/refs/tags/v0.5.4.zip + sha256: 4398f935f5f5053a9a47d46416e28e8e7df34942bc72f6b5ac266de8ee365cf0 + patches: + - no_static.patch requirements: build: @@ -23,10 +24,10 @@ requirements: - grep >=3.4 build: - number: 0 + number: 1 skip: True # [not linux or not x86_64] run_exports: - - {{ pin_compatible('ncbi-fcs-gx', max_pin="0.5") }} + - {{ pin_compatible('ncbi-fcs-gx', max_pin="x.x") }} test: commands: diff --git a/recipes/ncbi-fcs-gx/no_static.patch b/recipes/ncbi-fcs-gx/no_static.patch new file mode 100644 index 0000000000000..9ec777df07d1e --- /dev/null +++ b/recipes/ncbi-fcs-gx/no_static.patch @@ -0,0 +1,10 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -5,6 +5,6 @@ + set(gx_VERSION_MINOR 0) + + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} -O0 -ggdb3 -DDEBUG") +-set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -static -O2 -DNDEBUG") # TODO: investigate whether can/should enable -march=x86-64-v4 ++set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -O2 -DNDEBUG") # TODO: investigate whether can/should enable -march=x86-64-v4 + + add_subdirectory(src) diff --git a/recipes/ncbi-ngs-sdk/meta.yaml b/recipes/ncbi-ngs-sdk/meta.yaml index 549f2efd81420..5949626193ffd 100644 --- a/recipes/ncbi-ngs-sdk/meta.yaml +++ b/recipes/ncbi-ngs-sdk/meta.yaml @@ -6,7 +6,9 @@ package: version: {{ version }} build: - number: 2 + number: 4 + run_exports: + - {{ pin_subpackage('ncbi-ngs-sdk', max_pin="x") }} source: url: https://github.com/ncbi/ngs/archive/{{ version }}.tar.gz @@ -33,3 +35,7 @@ about: home: https://github.com/ncbi/ngs license: Public Domain summary: NGS is a new, domain-specific API for accessing reads, alignments and pileups produced from Next Generation Sequencing. + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/ncbi-stxtyper/build.sh b/recipes/ncbi-stxtyper/build.sh new file mode 100755 index 0000000000000..34aa84ada3b2d --- /dev/null +++ b/recipes/ncbi-stxtyper/build.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +# fix error because of gnu++17 features. Suggested by https://conda-forge.org/docs/maintainer/knowledge_base.html#newer-c-features-with-old-sdk +# CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" + +echo +echo "Starting build.sh" +echo +echo "SRC_DIR=$SRC_DIR" +echo "pwd -P" +pwd -P +echo "ls -l" +ls -l + +# note that for version 3.7 the make command should be: +make CXX="$CXX $LDFLAGS" CPPFLAGS="$CXXFLAGS" PREFIX="$PREFIX" + +#echo "make CXX=\"$CXX $LDFLAGS\" CPPFLAGS=\"$CXXFLAGS\" PREFIX=\"$PREFIX\" DEFAULT_DB_DIR=\"$PREFIX/share/amrfinderplus/data\"" + +#make CXX="$CXX $LDFLAGS" CPPFLAGS="$CXXFLAGS" PREFIX=$PREFIX DEFAULT_DB_DIR="$PREFIX/share/amrfinderplus/data" +make install bindir=$PREFIX/bin + +echo "build.sh done" diff --git a/recipes/ncbi-stxtyper/meta.yaml b/recipes/ncbi-stxtyper/meta.yaml new file mode 100644 index 0000000000000..22955929e7a18 --- /dev/null +++ b/recipes/ncbi-stxtyper/meta.yaml @@ -0,0 +1,44 @@ +{% set version = "1.0.24" %} +{% set sha256 = "54ddeb7ec1a052c141c32eea402c816f0515f47b7f0a5afeb054e410f9a4576f" %} + +package: + name: ncbi-stxtyper + version: {{ version }} + +source: + url: https://github.com/ncbi/stxtyper/archive/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + run_exports: + - {{ pin_compatible('ncbi-amrfinderplus', max_pin="x.x") }} + +requirements: + build: + - make + - {{ compiler('cxx') }} + host: + - coreutils + run: + - blast >=2.9 + +test: + commands: + - echo "PREFIX=$PREFIX CONDA_PREFIX=$CONDA_PREFIX SRC_DIR=$SRC_DIR" # for debugging + - stxtyper --help + - fasta_check -help + - fasta_extract -help + +about: + home: https://github.com/ncbi/stxtyper + license: Public Domain + license_file: LICENSE + summary: StxTyper identifies and types Stx operons from assembled genomic sequence. + description: | + This software and the included database use a standardized algorithm to accurately type both known and unknown Shiga toxin operons from assembled genomic sequence + doc_url: https://github.com/ncbi/stxtyper + +extra: + recipe-maintainers: + - evolarjun diff --git a/recipes/ncbi-vdb-py/meta.yaml b/recipes/ncbi-vdb-py/meta.yaml index 270c44e2b6586..e354335cbef45 100644 --- a/recipes/ncbi-vdb-py/meta.yaml +++ b/recipes/ncbi-vdb-py/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "3.0.9" %} -{% set sha256 = "26c94e5259b0c7e98fdaa1e93d41201df29ffff56946dd19464c6a0cfb584f92" %} +{% set version = "3.1.1" %} +{% set sha256 = "e9766f259853c696be48e289b08cb5ae6e198d82d7ffee79f09ce7f720487991" %} package: name: ncbi-vdb-py diff --git a/recipes/ncbi-vdb/build.sh b/recipes/ncbi-vdb/build.sh index d8b63767c0d42..f1b45b55eedd6 100644 --- a/recipes/ncbi-vdb/build.sh +++ b/recipes/ncbi-vdb/build.sh @@ -22,15 +22,25 @@ end-of-patch } | patch -p0 -i- -# Execute Make commands from a separate subdirectory. Else: -# ERROR: In source builds are not allowed -BUILD_DIR=./build_vdb -mkdir ${BUILD_DIR} -cd ${BUILD_DIR} +if [[ "$(uname)" == "Darwin" ]]; then + export CONFIG_ARGS="-DCMAKE_FIND_FRAMEWORK=NEVER -DCMAKE_FIND_APPBUNDLE=NEVER" +else + export CONFIG_ARGS="" +fi -export CFLAGS="${CFLAGS} -DH5_USE_110_API" -cmake ../ncbi-vdb/ -DNGS_INCDIR=${PREFIX} \ - -DCMAKE_INSTALL_PREFIX=${PREFIX} \ - -DCMAKE_BUILD_TYPE=Release -cmake --build . -cmake --install . +export INCLUDES="-I{PREFIX}/include" +export LIBPATH="-L${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include -O3 -D_FILE_OFFSET_BITS=64 -DH5_USE_110_API" + +cmake -S ncbi-vdb/ -B build_vdb \ + -DNGS_INCDIR="${PREFIX}" \ + -DCMAKE_INSTALL_PREFIX="${PREFIX}" \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_SHARED_LIBS=ON \ + -DCMAKE_INSTALL_LIBDIR="${PREFIX}/lib" \ + -DCMAKE_CXX_COMPILER="${CXX}" \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ + "${CONFIG_ARGS}" + +cmake --build build_vdb/ --target install -j "${CPU_COUNT}" -v diff --git a/recipes/ncbi-vdb/env.cmake.patch b/recipes/ncbi-vdb/env.cmake.patch new file mode 100644 index 0000000000000..b8d1ba37da297 --- /dev/null +++ b/recipes/ncbi-vdb/env.cmake.patch @@ -0,0 +1,25 @@ +diff --git a/build/env.cmake b/build/env.cmake +index 5fe6f2f..45eb0e8 100644 +--- a/build/env.cmake ++++ b/build/env.cmake +@@ -117,12 +117,17 @@ endif () + if( "bsd" STREQUAL ${OS} ) + add_compile_definitions( BSD UNIX ) + set( LMCHECK "" ) +-elseif ( "mac" STREQUAL ${OS} ) +- add_compile_definitions( MAC BSD UNIX ) ++endif() ++if ( CMAKE_C_COMPILER_ID STREQUAL "AppleClang" ) + set(CMAKE_C_ARCHIVE_CREATE " Scr ") +- set(CMAKE_CXX_ARCHIVE_CREATE " Scr ") + set(CMAKE_C_ARCHIVE_FINISH " -no_warning_for_no_symbols -c ") ++endif() ++if ( CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" ) ++ set(CMAKE_CXX_ARCHIVE_CREATE " Scr ") + set(CMAKE_CXX_ARCHIVE_FINISH " -no_warning_for_no_symbols -c ") ++endif() ++if ( "mac" STREQUAL ${OS} ) ++ add_compile_definitions( MAC BSD UNIX ) + elseif( "linux" STREQUAL ${OS} ) + add_compile_definitions( LINUX UNIX ) + set( LMCHECK -lmcheck ) diff --git a/recipes/ncbi-vdb/meta.yaml b/recipes/ncbi-vdb/meta.yaml index 5a3e7c36fa4c9..68b395345f2bf 100644 --- a/recipes/ncbi-vdb/meta.yaml +++ b/recipes/ncbi-vdb/meta.yaml @@ -1,46 +1,46 @@ -{% set version = "3.0.9" %} +{% set name = "ncbi-vdb" %} +{% set version = "3.1.1" %} package: - name: ncbi-vdb + name: {{ name }} version: {{ version }} build: - number: 0 - skip: True # [osx] + number: 2 run_exports: - {{ pin_subpackage('ncbi-vdb', max_pin='x') }} source: url: https://github.com/ncbi/ncbi-vdb/archive/{{ version }}.tar.gz - sha256: 26c94e5259b0c7e98fdaa1e93d41201df29ffff56946dd19464c6a0cfb584f92 + sha256: e9766f259853c696be48e289b08cb5ae6e198d82d7ffee79f09ce7f720487991 folder: ncbi-vdb + patches: + - env.cmake.patch # [osx] -requirements: +requirements: build: - - {{ compiler('c') }} - {{ compiler('cxx') }} - bison - cmake - flex - make - run: - - ca-certificates - - curl - - ossuuid - - perl - - perl-xml-libxml - - perl-uri about: - home: https://github.com/ncbi/ncbi-vdb + home: "https://github.com/ncbi/ncbi-vdb" license: Public Domain - summary: SRA tools database engine + summary: "SRA tools database engine." description: | - VDB is the database engine that all SRA tools use. It is a columnar database - system with a number of unique features. All SRA objects are stored in VDB. + "VDB is the database engine that all SRA tools use. It is a columnar database + system with a number of unique features. All SRA objects are stored in VDB." + dev_url: "https://github.com/ncbi/ncbi-vdb" + doc_url: "https://github.com/ncbi/ncbi-vdb/wiki" test: commands: - - test -e ${PREFIX}/lib64/libncbi-vdb.so # [not osx] - - test -e ${PREFIX}/lib64/libncbi-vdb.dylib # [osx] + - test -e ${PREFIX}/lib/libncbi-vdb.so # [not osx] + - test -e ${PREFIX}/lib/libncbi-vdb.dylib # [osx] +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/ncls/meta.yaml b/recipes/ncls/meta.yaml index f593d34f8522e..ec199e0d08771 100644 --- a/recipes/ncls/meta.yaml +++ b/recipes/ncls/meta.yaml @@ -10,9 +10,10 @@ source: sha256: 81aaa5abb123bb21797ed2f8ef921e20222db14a3ecbc61ccf447532f2b7ba93 build: - number: 1 - skip: true # [py2k or osx] + number: 4 script: {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv + run_exports: + - {{ pin_subpackage(name, max_pin="x.x.x") }} requirements: build: @@ -37,6 +38,9 @@ about: summary: Fast overlap datastructure. extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - endrebak skip-lints: diff --git a/recipes/nda-tools/meta.yaml b/recipes/nda-tools/meta.yaml index 2aac727631ed9..3ef8411d3c9ad 100644 --- a/recipes/nda-tools/meta.yaml +++ b/recipes/nda-tools/meta.yaml @@ -1,6 +1,6 @@ {% set name = "nda-tools" %} -{% set version = "0.2.25" %} -{% set sha256 = "2b3b5d27a7884124eb990378d1fc9a38cba555ff7b49764f42ae1b97d1cf0580" %} +{% set version = "0.3.0" %} +{% set sha256 = "7315dcf21bf2597485e930f1199c259f1f82c9bc79ebcefb5ef3e8e02aff56f1" %} package: name: {{ name }} @@ -13,29 +13,27 @@ source: build: noarch: python number: 0 - script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv + script: {{ PYTHON }} -m pip install . --no-build-isolation --no-deps -vvv + entry_points: + - vtcmd = NDATools.clientscripts.vtcmd:main + - downloadcmd = NDATools.clientscripts.downloadcmd:main + - unit_tests = tests.run_unit_tests:main + - integration_tests = tests.run_integration_tests:main + run_exports: + - {{ pin_subpackage('nda-tools', max_pin="x.x") }} requirements: host: - python - pip - - keyring - - pyyaml - - packaging - - mock - - requests - - tqdm - - botocore - - boto3 run: - python - - keyring - - pyyaml - - packaging - - mock - - requests - - tqdm - - botocore + - keyring + - pyyaml + - packaging + - mock + - requests + - tqdm - boto3 - pandas diff --git a/recipes/ndex2/meta.yaml b/recipes/ndex2/meta.yaml index de8e93c6e67c0..81605623595b9 100644 --- a/recipes/ndex2/meta.yaml +++ b/recipes/ndex2/meta.yaml @@ -1,5 +1,5 @@ {% set name = "ndex2" %} -{% set version = "3.6.0" %} +{% set version = "3.9.0" %} package: @@ -8,7 +8,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/ndex2-{{ version }}.tar.gz" - sha256: "d6e95ba33747c59ae47d32ebce55837f17d001f776ea811a70b9e716592d2d1e" + sha256: "388b2f110b2eb1ba787298bc4210ca0cea821c462ec71a4ec4cb6eb0e1b74f70" build: noarch: python diff --git a/recipes/neat/meta.yaml b/recipes/neat/meta.yaml new file mode 100644 index 0000000000000..0387300d88ae8 --- /dev/null +++ b/recipes/neat/meta.yaml @@ -0,0 +1,49 @@ +{% set name = "NEAT" %} +{% set version = "4.2.5" %} + +package: + name: '{{ name|lower }}' + version: '{{ version }}' + +source: + url: https://github.com/ncsa/{{ name }}/archive/{{ version }}.tar.gz + sha256: ba3ef6233f236a89fd41af8a52a922e04b48c596d8573675c52da2682aaa4752 + + +build: + run_exports: + - {{ pin_subpackage('neat', max_pin="x") }} + script: "{{ PYTHON }} -m pip install --no-deps --ignore-installed --no-cache-dir -vvv ." + number: 0 + noarch: python + +requirements: + host: + - python >=3.10 + - poetry-core >=1.0.0 + - pip + run: + - python >=3.10 + - biopython =1.79 + - pkginfo + - matplotlib-base + - numpy + - seaborn + - pyyaml + - scipy + - bedtools + - pybedtools >=0.9.0 + - htslib + - pysam + - frozendict + +test: + commands: + - neat -h | grep read-simulator + +about: + home: https://github.com/ncsa/NEAT/ + license: BSD-3-Clause + license_family: BSD + license_file: LICENSE.md + summary: Toolset for generating synthethic FASTQ, VCF and BAM files. diff --git a/recipes/necat/build.sh b/recipes/necat/build.sh index 7b6ab162326f0..8d430300b1ee6 100644 --- a/recipes/necat/build.sh +++ b/recipes/necat/build.sh @@ -1,23 +1,28 @@ #!/bin/bash set -ex -export CFLAGS="$CFLAGS -I$PREFIX/include" -export CXXFLAGS="$CXXFLAGS -I$PREFIX/include" -export LDFLAGS="$LDFLAGS -L$PREFIX/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 -I${PREFIX}/include" +export CXXFLAGS="${CXXFLAGS} -O3 -I${PREFIX}/include" + +BIN_ROOT="Linux-amd64/bin" +case $(uname -m) in + arm64|aarch64) BIN_ROOT="Linux-aarch64/bin" ;; +esac # build -make -C src CFLAGS+="${CFLAGS}" LDFLAGS+="${LDFLAGS}" CXXFLAGS+="${CXXFLAGS}" +make -C src CFLAGS+="${CFLAGS}" LDFLAGS+="${LDFLAGS}" CXXFLAGS+="${CXXFLAGS}" -j"${CPU_COUNT}" # create and populate binary file mkdir -p $PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM/bin/ -cp -r Linux-amd64/bin/* $PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM/bin/ +cp -rf $BIN_ROOT/* $PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM/bin/ # create calling script -mkdir $PREFIX/bin/ +mkdir -p ${PREFIX}/bin/ cat < $PREFIX/bin/necat #!/bin/bash PATH=\$PATH:$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM/bin/ necat.pl "\$@" EOF -chmod +x $PREFIX/bin/necat +chmod 755 ${PREFIX}/bin/necat diff --git a/recipes/necat/meta.yaml b/recipes/necat/meta.yaml index 5b659eee69475..662576b73a10f 100644 --- a/recipes/necat/meta.yaml +++ b/recipes/necat/meta.yaml @@ -1,8 +1,9 @@ +{% set name = "necat" %} {% set version = "0.0.1_update20200803" %} {% set sha256 = "5ddd147b5be6b1fac2f6c10b18c9b587838f2304d2584087c4ed6f628eced06c" %} package: - name: necat + name: {{ name }} version: {{ version }} source: @@ -36,10 +37,11 @@ source: - src_renumber_sequences_main.mk.patch - src_reorder_cns_reads_main.mk.patch - src_ctg_cns_main.mk.patch + - src_ctg_cns_filter_m4.mk.patch + - src_ctg_cns_pm4_main.mk.patch - src_ctgpm_ctgpm.mk.patch - src_ctgpm_fix_can_info.mk.patch - src_ctgpm_split_ctgs.mk.patch - - src_pm4_main.mk.patch - src_preprocess_raw_reads_main.mk.patch - src_reference_mapping_rm_one_vol_main.mk.patch - src_fsa_fsa.mk.patch @@ -52,7 +54,9 @@ source: build: skip: True # [osx] - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage("necat", max_pin="x.x") }} requirements: build: @@ -67,9 +71,19 @@ requirements: test: commands: - - necat | grep Usage + - necat | grep "Usage" about: - home: https://github.com/xiaochuanle/NECAT - license: Unknow - summary: Nanopore data assembler + home: "https://github.com/xiaochuanle/NECAT" + license: Unknown + summary: "NECAT is an error correction and de-novo assembly tool for Nanopore long noisy reads." + dev_url: "https://github.com/xiaochuanle/NECAT" + doc_url: "https://github.com/xiaochuanle/NECAT/blob/master/README.md" + +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - doi:10.1038/s41467-020-20236-7 + - biotools:necat + - usegalaxy-eu:necat diff --git a/recipes/necat/src_ctg_cns_filter_m4.mk.patch b/recipes/necat/src_ctg_cns_filter_m4.mk.patch new file mode 100644 index 0000000000000..2ab69d0e97297 --- /dev/null +++ b/recipes/necat/src_ctg_cns_filter_m4.mk.patch @@ -0,0 +1,13 @@ +diff --git a/src/ctg_cns/filter_m4.mk b/src/ctg_cns/filter_m4.mk +index 822129e..77b441c 100644 +--- a/src/ctg_cns/filter_m4.mk ++++ b/src/ctg_cns/filter_m4.mk +@@ -11,7 +11,7 @@ SOURCES := filter_m4.c pm4.c load_ctg_read_ids.c + SRC_INCDIRS := . + + TGT_LDFLAGS := -L${TARGET_DIR} +-TGT_LDLIBS := -lontcns ++TGT_LDLIBS := -lontcns -lz -lpthread -lstdc++ -lm + TGT_PREREQS := libontcns.a + + SUBMAKEFILES := \ No newline at end of file diff --git a/recipes/necat/src_ctg_cns_pm4_main.mk.patch b/recipes/necat/src_ctg_cns_pm4_main.mk.patch new file mode 100644 index 0000000000000..49e7239b93bc8 --- /dev/null +++ b/recipes/necat/src_ctg_cns_pm4_main.mk.patch @@ -0,0 +1,13 @@ +diff --git a/src/ctg_cns/pm4_main.mk b/src/ctg_cns/pm4_main.mk +index a020fb3..a536385 100644 +--- a/src/ctg_cns/pm4_main.mk ++++ b/src/ctg_cns/pm4_main.mk +@@ -11,7 +11,7 @@ SOURCES := pm4_main.c pm4.c + SRC_INCDIRS := . + + TGT_LDFLAGS := -L${TARGET_DIR} +-TGT_LDLIBS := -lontcns ++TGT_LDLIBS := -lontcns -lz -lpthread -lstdc++ -lm + TGT_PREREQS := libontcns.a + + SUBMAKEFILES := \ No newline at end of file diff --git a/recipes/necat/src_partition_candidates_main.mk.patch b/recipes/necat/src_partition_candidates_main.mk.patch index 87da273e6066d..56f01b1d0b53f 100644 --- a/recipes/necat/src_partition_candidates_main.mk.patch +++ b/recipes/necat/src_partition_candidates_main.mk.patch @@ -7,7 +7,7 @@ index 19c70f0..0581c1f 100644 TGT_LDFLAGS := -L${TARGET_DIR} -TGT_LDLIBS := -lontcns -+TGT_LDLIBS := -lontcns -lpthread ++TGT_LDLIBS := -lontcns -lz -lpthread TGT_PREREQS := libontcns.a SUBMAKEFILES := diff --git a/recipes/necat/src_partition_m4_main.mk.patch b/recipes/necat/src_partition_m4_main.mk.patch index 8487acf4dcacc..01ad339e7b650 100644 --- a/recipes/necat/src_partition_m4_main.mk.patch +++ b/recipes/necat/src_partition_m4_main.mk.patch @@ -7,7 +7,7 @@ index 6265052..805ff27 100644 TGT_LDFLAGS := -L${TARGET_DIR} -TGT_LDLIBS := -lontcns -+TGT_LDLIBS := -lontcns -lpthread ++TGT_LDLIBS := -lontcns lz -lpthread TGT_PREREQS := libontcns.a SUBMAKEFILES := diff --git a/recipes/necat/src_pm4_main.mk.patch b/recipes/necat/src_pm4_main.mk.patch deleted file mode 100644 index 092aca420585d..0000000000000 --- a/recipes/necat/src_pm4_main.mk.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/ctg_cns/pm4_main.mk b/src/ctg_cns/pm4_main.mk -index a020fb3..04c17c5 100644 ---- a/src/ctg_cns/pm4_main.mk -+++ b/src/ctg_cns/pm4_main.mk -@@ -11,7 +11,7 @@ SOURCES := pm4_main.c pm4.c - SRC_INCDIRS := . - - TGT_LDFLAGS := -L${TARGET_DIR} --TGT_LDLIBS := -lontcns -+TGT_LDLIBS := -lontcns -lpthread - TGT_PREREQS := libontcns.a - - SUBMAKEFILES := diff --git a/recipes/necat/src_trim_bases_accurate0_pm4.mk.patch b/recipes/necat/src_trim_bases_accurate0_pm4.mk.patch index 58408c947c58e..a17935c78e2bf 100644 --- a/recipes/necat/src_trim_bases_accurate0_pm4.mk.patch +++ b/recipes/necat/src_trim_bases_accurate0_pm4.mk.patch @@ -7,7 +7,7 @@ index df2e71b..b56e887 100644 TGT_LDFLAGS := -L${TARGET_DIR} -TGT_LDLIBS := -lontcns -+TGT_LDLIBS := -lontcns -lpthread ++TGT_LDLIBS := -lontcns -lz -lpthread TGT_PREREQS := libontcns.a SUBMAKEFILES := diff --git a/recipes/necat/src_trim_bases_accurate_pm4.mk.patch b/recipes/necat/src_trim_bases_accurate_pm4.mk.patch index 986b05ccbfe4a..ad77bb55caa15 100644 --- a/recipes/necat/src_trim_bases_accurate_pm4.mk.patch +++ b/recipes/necat/src_trim_bases_accurate_pm4.mk.patch @@ -1,13 +1,13 @@ -diff --git a/src/trim_bases_accurate/pm4.mk b/src/trim_bases_accurate/pm4.mk -index 0d9d277..dcba7cf 100644 ---- a/src/trim_bases_accurate/pm4.mk -+++ b/src/trim_bases_accurate/pm4.mk -@@ -11,7 +11,7 @@ SOURCES := pm4_aux.c pm4_main.c +diff --git a/src/trim_bases_accurate/pm4.mk b/src/trim_bases_accurate/pm4.mk +index 0d9d277..dcba7cf 100644 +--- a/src/trim_bases_accurate/pm4.mk ++++ b/src/trim_bases_accurate/pm4.mk +@@ -11,7 +11,7 @@ SOURCES := pm4_aux.c pm4_main.c SRC_INCDIRS := . TGT_LDFLAGS := -L${TARGET_DIR} -TGT_LDLIBS := -lontcns -+TGT_LDLIBS := -lontcns -lpthread ++TGT_LDLIBS := -lontcns -lz -lpthread TGT_PREREQS := libontcns.a SUBMAKEFILES := diff --git a/recipes/necat/src_trim_bases_extract_trimmerd_reads.mk.patch b/recipes/necat/src_trim_bases_extract_trimmerd_reads.mk.patch index af03197a3a694..9068fa5a2e0e1 100644 --- a/recipes/necat/src_trim_bases_extract_trimmerd_reads.mk.patch +++ b/recipes/necat/src_trim_bases_extract_trimmerd_reads.mk.patch @@ -6,7 +6,7 @@ index 8f493f1..4d06513 100644 SRC_INCDIRS := . -+TGT_LDLIBS := -lontcns -lz -lpthread ++TGT_LDLIBS := -lontcns -lz -lpthread -lstdc++ -lm TGT_LDFLAGS := -L${TARGET_DIR} -TGT_LDLIBS := -lontcns TGT_PREREQS := libontcns.a diff --git a/recipes/necat/src_trim_bases_largest_cover_range.mk.patch b/recipes/necat/src_trim_bases_largest_cover_range.mk.patch index 04f183ebd8b88..f119a87a2cbd2 100644 --- a/recipes/necat/src_trim_bases_largest_cover_range.mk.patch +++ b/recipes/necat/src_trim_bases_largest_cover_range.mk.patch @@ -7,7 +7,7 @@ index 17134bf..9e89659 100644 TGT_LDFLAGS := -L${TARGET_DIR} -TGT_LDLIBS := -lontcns -+TGT_LDLIBS := -lontcns -lpthread ++TGT_LDLIBS := -lontcns -lz -lpthread -lstdc++ -lm TGT_PREREQS := libontcns.a SUBMAKEFILES := diff --git a/recipes/necat/src_trim_bases_pm4.mk.patch b/recipes/necat/src_trim_bases_pm4.mk.patch index e7746d1e8a211..7ce20fdc1583c 100644 --- a/recipes/necat/src_trim_bases_pm4.mk.patch +++ b/recipes/necat/src_trim_bases_pm4.mk.patch @@ -7,7 +7,7 @@ index d007c96..778a4d2 100644 TGT_LDFLAGS := -L${TARGET_DIR} -TGT_LDLIBS := -lontcns -+TGT_LDLIBS := -lontcns -lpthread ++TGT_LDLIBS := -lontcns -lz -lpthread TGT_PREREQS := libontcns.a SUBMAKEFILES := diff --git a/recipes/nedbit-features-calculator/build.sh b/recipes/nedbit-features-calculator/build.sh new file mode 100644 index 0000000000000..b57e9cfb29d0e --- /dev/null +++ b/recipes/nedbit-features-calculator/build.sh @@ -0,0 +1,8 @@ +#!/bin/bash +mkdir -p ${PREFIX}/bin + +cd src + +$CC -o $PREFIX/bin/nedbit-features-calculator nedbit_features_calculator.c -lm + +chmod u+x ${PREFIX}/bin/nedbit-features-calculator diff --git a/recipes/nedbit-features-calculator/meta.yaml b/recipes/nedbit-features-calculator/meta.yaml new file mode 100644 index 0000000000000..390e2826acadf --- /dev/null +++ b/recipes/nedbit-features-calculator/meta.yaml @@ -0,0 +1,32 @@ +{% set version = "1.2" %} + +package: + name: nedbit-features-calculator + version: {{ version }} + +source: + url: https://github.com/anuprulez/NIAPU/archive/refs/tags/{{ version }}.tar.gz + sha256: 50424bf7df99b51dc71a4121beae89ef69b2bb4eaba559c99643baecb8544806 + +build: + number: 1 + run_exports: + - {{ pin_subpackage('nedbit-features-calculator', max_pin="x.x") }} + +requirements: + build: + - {{ compiler('c') }} + +test: + commands: + - nedbit-features-calculator + +about: + home: https://github.com/AndMastro/NIAPU + license: MIT + summary: Network diffusion and biology-informed topological features + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/neodisambiguate/meta.yaml b/recipes/neodisambiguate/meta.yaml new file mode 100644 index 0000000000000..4c36772865992 --- /dev/null +++ b/recipes/neodisambiguate/meta.yaml @@ -0,0 +1,35 @@ +{% set version="1.1.0" %} + +package: + name: neodisambiguate + version: {{ version }} + +source: + url: https://github.com/clintval/neodisambiguate/releases/download/{{ version }}/neodisambiguate + sha256: 000ca66f52cf18b2d1949749a3d672861480d0831ff86113f3e0e05d54c85e45 + +build: + noarch: generic + number: 0 + run_exports: + - {{ pin_subpackage('neodisambiguate', max_pin="x") }} + script: | + mkdir -p "${PREFIX}/bin" + cp neodisambiguate "${PREFIX}/bin/" + chmod +x "${PREFIX}/bin/neodisambiguate" + +requirements: + run: + - openjdk >=8 + +test: + commands: + - 'neodisambiguate --help 2>&1 | grep "neodisambiguate"' + - 'neodisambiguate --version 2>&1 | grep "neodisambiguate"' + +about: + home: https://github.com/clintval/neodisambiguate + license: MIT + license_family: MIT + summary: Disambiguate reads that were mapped to multiple references. + doc_url: https://github.com/clintval/neodisambiguate diff --git a/recipes/neofox/meta.yaml b/recipes/neofox/meta.yaml index 8851aa1e1e53e..0120691675a02 100644 --- a/recipes/neofox/meta.yaml +++ b/recipes/neofox/meta.yaml @@ -1,5 +1,5 @@ {% set name = "neofox" %} -{% set version = "1.0.2" %} +{% set version = "1.2.2" %} package: name: "{{ name|lower }}" @@ -7,70 +7,56 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: e93ea0c146fe4fbf9e477ecef8d973b0b84121733135702b581a1ff0b565edb8 + sha256: 643689ff289bd689c3bf04382a26c89f7f7642ce9389761811a735727b9c7df1 build: number: 0 noarch: python entry_points: - neofox=neofox.command_line:neofox_cli + - neofox-epitope=neofox.command_line:neofox_epitope_cli - neofox-configure=neofox.command_line:neofox_configure - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('neofox', max_pin="x") }} requirements: host: + - cython >3 - betterproto >=1.2.5,<1.3.0 - - biopython ==1.76 - - dask[complete] >=2021.10.0 - - distributed >=2021.10.0 - - faker >=6.6.2,<7.0.0 + - biopython >1.80 + - dask[complete] >=2024.2.0,<=2024.6.3 + - distributed >=2024.2.0,<=2024.6.3 + - faker >=13.13.0,<13.14.0 - logzero >=1.5.0 - - mock >=4.0.3,<5.0.0 - - numpy >=1.21 - - orjson >=3.5.2,<4.0.0 - - pandas >=1.1.5 + - mock >=4.0.3,<4.1.0 + - numpy >=1.24,<1.27 + - pandas >=2.1,<2.3 - pip - - pysam >=0.19.1,<0.20.0 - - python >=3.7,<=3.8 + - pysam >0.20 + - python ==3.11 - python-dotenv >=0.12.0,<0.13.0 - - scikit-learn >=0.22.1,<0.23.0 - - scipy >=1.5.4 + - scipy >=1.10.0 - xmltodict >=0.12.0,<0.13.0 - - blast ==2.10.1 - - r-base - - r-lattice - - r-ggplot2 - - r-caret - - r-peptides - - r-doparallel - - r-gbm - - bioconductor-biostrings + - blast + - poetry ==1.8.2 run: - betterproto >=1.2.5,<1.3.0 - - biopython ==1.76 - - dask[complete] >=2021.10.0 - - distributed >=2021.10.0 - - faker >=6.6.2,<7.0.0 + - biopython >1.80 + - dask[complete] >=2024.0.0,<=2024.6.3 + - distributed >=2024.0.0,<=2024.6.2 + - faker >=13.13.0,<13.14.0 - logzero >=1.5.0 - - mock >=4.0.3,<5.0.0 - - numpy >=1.21 - - orjson >=3.5.2,<4.0.0 - - pandas >=1.1.5 - - pysam >=0.19.1,<0.20.0 - - python >=3.7,<=3.8 + - mock >=4.0.3,<4.1.0 + - numpy >=1.24,<1.27 + - pandas >=2.1,<2.3 + - pysam >0.20 + - python ==3.11 - python-dotenv >=0.12.0,<0.13.0 - - scikit-learn >=0.22.1,<0.23.0 - - scipy >=1.5.4 + - scipy >=1.10.0 - xmltodict >=0.12.0,<0.13.0 - - blast ==2.10.1 - - r-base - - r-lattice - - r-ggplot2 - - r-caret - - r-peptides - - r-doparallel - - r-gbm - - bioconductor-biostrings + - blast + - poetry ==1.8.2 test: imports: @@ -80,16 +66,15 @@ test: - neofox.MHC_predictors.netmhcpan - neofox.annotation_resources - neofox.annotation_resources.uniprot + - neofox.annotator - neofox.expression_imputation - neofox.helpers - neofox.model - neofox.published_features - - neofox.published_features.Tcell_predictor - neofox.published_features.differential_binding - neofox.published_features.dissimilarity_garnish - neofox.published_features.hex - neofox.published_features.iedb_immunogenicity - - neofox.published_features.neoag - neofox.published_features.neoantigen_fitness - neofox.published_features.self_similarity - neofox.published_features.vaxrank @@ -104,16 +89,19 @@ test: about: home: "https://github.com/tron-bioinformatics/neofox" - license: "GNU General Public v3 (GPLv3)" + license: "GPL-3.0-or-later" license_family: GPL3 license_file: LICENSE summary: "Annotation of mutated peptide sequences (mps) with published or novel potential neo-epitope descriptors" doc_url: "https://neofox.readthedocs.io/" extra: + skip-lints: + - cython_must_be_in_host recipe-maintainers: - priesgo - franla23 + - lkress identifiers: - doi:10.1093/bioinformatics/btab344 notes: 'NeoFox has some required and optional third party dependencies that have a non commercial use license. diff --git a/recipes/nerpa/build_failure.linux-64.yaml b/recipes/nerpa/build_failure.linux-64.yaml index 7cae3386cfd25..56d9816171e9a 100644 --- a/recipes/nerpa/build_failure.linux-64.yaml +++ b/recipes/nerpa/build_failure.linux-64.yaml @@ -1,104 +1,104 @@ -recipe_sha: 648bad9801c79c9d0b01356fb8826e596da24f27f981563fa0dd7e0f792f6894 # The commit at which this recipe failed to build. +recipe_sha: f1bb13bb51bc0b3f95e48a89e68c7305899eb56ba472827ee9c0e026bd91a39b # The hash of the recipe's meta.yaml at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. log: |2- - 146 | for (int i = 0; i < res.size(); i) { - | ~~^~~~~~~~~~~~ - /opt/conda/conda-bld/nerpa_1685350757054/work/src/Aminoacid/Aminoacid.h: In function 'std::ostream& aminoacid::operator<<(std::ostream&, const Aminoacid&)': - /opt/conda/conda-bld/nerpa_1685350757054/work/src/Aminoacid/Aminoacid.h:28:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'long unsigned int'} [-Wsign-compare] - 28 | for (int i = 0; i < a.modifications.size(); i) { - | ~~^~~~~~~~~~~~~~~~~~~~~~~~ - /opt/conda/conda-bld/nerpa_1685350757054/work/src/NRPsPrediction/AAdomainPrediction.h: In constructor 'nrpsprediction::AAdomainPrediction::AAdomainPrediction(int, std::vector, bool, std::vector, aminoacid::Aminoacid::Configuation)': - /opt/conda/conda-bld/nerpa_1685350757054/work/src/NRPsPrediction/AAdomainPrediction.h:24:36: warning: 'nrpsprediction::AAdomainPrediction::aminoacid_prediction' will be initialized after [-Wreorder] - 24 | std::vector aminoacid_prediction; - | ^~~~~~~~~~~~~~~~~~~~ - /opt/conda/conda-bld/nerpa_1685350757054/work/src/NRPsPrediction/AAdomainPrediction.h:22:14: warning: 'bool nrpsprediction::AAdomainPrediction::is_repeatable' [-Wreorder] - 22 | bool is_repeatable=false; - | ^~~~~~~~~~~~~ - /opt/conda/conda-bld/nerpa_1685350757054/work/src/NRPsPrediction/AAdomainPrediction.h:27:9: warning: when initialized here [-Wreorder] - 27 | AAdomainPrediction(int pos, std::vector aminoacid_prediction, bool is_repeatable=false, std::vector mods={}, aminoacid::Aminoacid::Configuation configuation=aminoacid::Aminoacid::NA): pos(pos), - | ^~~~~~~~~~~~~~~~~~ - /opt/conda/conda-bld/nerpa_1685350757054/work/src/NRPsPrediction/AAdomainPrediction.h:32:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'long unsigned int'} [-Wsign-compare] - 32 | for (int i = 0; i < this->modificatins.size(); i) { - | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ - /opt/conda/conda-bld/nerpa_1685350757054/work/src/NRPsPrediction/AAdomainPrediction.h:33:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'long unsigned int'} [-Wsign-compare] - 33 | for (int j = 0; j < this->aminoacid_prediction.size(); j) { - | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - /opt/conda/conda-bld/nerpa_1685350757054/work/src/NRPsPrediction/AAdomainPrediction.h:38:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'long unsigned int'} [-Wsign-compare] - 38 | for (int j = 0; j < this->aminoacid_prediction.size(); j) { - | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - /opt/conda/conda-bld/nerpa_1685350757054/work/src/NRP/NRP.h: In constructor 'nrp::NRP::NRP(std::string, std::vector >, std::vector, std::vector, std::string, std::string)': - /opt/conda/conda-bld/nerpa_1685350757054/work/src/NRP/NRP.h:24:21: warning: 'nrp::NRP::file_name' will be initialized after [-Wreorder] - 24 | std::string file_name; - | ^~~~~~~~~ - /opt/conda/conda-bld/nerpa_1685350757054/work/src/NRP/NRP.h:22:35: warning: 'std::vector > nrp::NRP::strformula' [-Wreorder] - 22 | std::vector strformula; - | ^~~~~~~~~~ - /opt/conda/conda-bld/nerpa_1685350757054/work/src/NRP/NRP.h:31:9: warning: when initialized here [-Wreorder] - 31 | NRP(std::string file_name, std::vector strformula, - | ^~~ - /opt/conda/conda-bld/nerpa_1685350757054/work/src/NRP/NRP.h:22:35: warning: 'nrp::NRP::strformula' will be initialized after [-Wreorder] - 22 | std::vector strformula; - | ^~~~~~~~~~ - /opt/conda/conda-bld/nerpa_1685350757054/work/src/NRP/NRP.h:20:44: warning: 'std::vector nrp::NRP::aminoacids' [-Wreorder] - 20 | std::vector aminoacids; - | ^~~~~~~~~~ - /opt/conda/conda-bld/nerpa_1685350757054/work/src/NRP/NRP.h:31:9: warning: when initialized here [-Wreorder] - 31 | NRP(std::string file_name, std::vector strformula, - | ^~~ - In file included from /opt/conda/conda-bld/nerpa_1685350757054/work/src/Matcher/NRPsMatch.cpp:6: - /opt/conda/conda-bld/nerpa_1685350757054/work/src/Matcher/MatcherBase.h: In constructor 'matcher::MatcherBase::Match::Match(std::shared_ptr, std::vector, double, const matcher::Score*)': - /opt/conda/conda-bld/nerpa_1685350757054/work/src/Matcher/MatcherBase.h:24:56: warning: 'matcher::MatcherBase::Match::nrpParts' will be initialized after [-Wreorder] - 24 | std::vector nrpParts; - | ^~~~~~~~ - /opt/conda/conda-bld/nerpa_1685350757054/work/src/Matcher/MatcherBase.h:23:20: warning: 'double matcher::MatcherBase::Match::scr' [-Wreorder] - 23 | double scr; - | ^~~ - /opt/conda/conda-bld/nerpa_1685350757054/work/src/Matcher/MatcherBase.h:29:13: warning: when initialized here [-Wreorder] - 29 | Match(std::shared_ptr nrp, std::vector nrpParts, double scr, const Score* score): - | ^~~~~ - /opt/conda/conda-bld/nerpa_1685350757054/work/src/Matcher/MatcherBase.h:23:20: warning: 'matcher::MatcherBase::Match::scr' will be initialized after [-Wreorder] - 23 | double scr; - | ^~~ - /opt/conda/conda-bld/nerpa_1685350757054/work/src/Matcher/MatcherBase.h:22:26: warning: 'const matcher::Score* matcher::MatcherBase::Match::scoreFun' [-Wreorder] - 22 | const Score* scoreFun; - | ^~~~~~~~ - /opt/conda/conda-bld/nerpa_1685350757054/work/src/Matcher/MatcherBase.h:29:13: warning: when initialized here [-Wreorder] - 29 | Match(std::shared_ptr nrp, std::vector nrpParts, double scr, const Score* score): - | ^~~~~ - /opt/conda/conda-bld/nerpa_1685350757054/work/src/Matcher/NRPsMatch.cpp: In member function 'void matcher::MatcherBase::Match::print_csv(std::ofstream&)': - /opt/conda/conda-bld/nerpa_1685350757054/work/src/Matcher/NRPsMatch.cpp:144:28: warning: conversion from 'std::vector::size_type' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] - 144 | int len = parts_id.size(); - | ~~~~~~~~~~~~~^~ - /opt/conda/conda-bld/nerpa_1685350757054/work/src/Matcher/NRPsMatch.cpp:146:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'long unsigned int'} [-Wsign-compare] - 146 | for (int i = 0; i < parts_id.size(); i) { - | ~~^~~~~~~~~~~~~~~~~ - /opt/conda/conda-bld/nerpa_1685350757054/work/src/Matcher/NRPsMatch.cpp:149:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string::size_type' {aka 'long unsigned int'} [-Wsign-compare] - 149 | for (int j = 0; j < formula.size(); j) { - | ~~^~~~~~~~~~~~~~~~ - /opt/conda/conda-bld/nerpa_1685350757054/work/src/Matcher/NRPsMatch.cpp: In member function 'int matcher::MatcherBase::Match::getCntMatch()': - /opt/conda/conda-bld/nerpa_1685350757054/work/src/Matcher/NRPsMatch.cpp:171:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'long unsigned int'} [-Wsign-compare] - 171 | for (int i = 0; i < parts_id.size(); i){ - | ~~^~~~~~~~~~~~~~~~~ - [ 38%] Linking CXX static library liblogger_lib.a - [ 38%] Built target logger_lib + | ~~^~~~~~~~~~ + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp:23:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'long unsigned int'} [-Wsign-compare] + 23 | for (int j = 0; j < g[i].size(); j) { + | ~~^~~~~~~~~~~~~ + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp: In static member function 'static void nrp::NRPBuilder::handleLoop(int, std::vector >&, std::vector >&, std::vector >&)': + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp:39:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'long unsigned int'} [-Wsign-compare] + 39 | for (int j = 0; j < g[v].size(); j) { + | ~~^~~~~~~~~~~~~ + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp:46:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'long unsigned int'} [-Wsign-compare] + 46 | for (int j = 0; j < gr[v].size(); j) { + | ~~^~~~~~~~~~~~~~ + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp:53:22: warning: conversion from 'std::vector >::size_type' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] + 53 | int newv = g.size(); + | ~~~~~~^~ + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp:57:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'long unsigned int'} [-Wsign-compare] + 57 | for (int i = 0; i < gr[g[newv][0]].size(); i) { + | ~~^~~~~~~~~~~~~~~~~~~~~~~ + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp: In static member function 'static void nrp::NRPBuilder::handleLoops(std::vector >&, std::vector >&, std::vector >&)': + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp:72:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector >::size_type' {aka 'long unsigned int'} [-Wsign-compare] + 72 | for (int i = 0; i < g.size(); i) { + | ~~^~~~~~~~~~ + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp:73:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'long unsigned int'} [-Wsign-compare] + 73 | for (int j = 0; j < g[i].size(); j) { + | ~~^~~~~~~~~~~~~ + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp: In static member function 'static std::shared_ptr nrp::NRPBuilder::build(std::string, std::string)': + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp:126:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector >::size_type' {aka 'long unsigned int'} [-Wsign-compare] + 126 | for (int i = 0; i < formuls.size(); i) { + | ~~^~~~~~~~~~~~~~~~ + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp:133:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector >::size_type' {aka 'long unsigned int'} [-Wsign-compare] + 133 | for (int i = 0; i < g.size(); i) { + | ~~^~~~~~~~~~ + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp:136:65: warning: conversion from 'std::vector::size_type' {aka 'long unsigned int'} to '__gnu_cxx::__alloc_traits, int>::value_type' {aka 'int'} may change value [-Wconversion] + 136 | tmp_formuls[int(Elem::H)] -= (g[i].size() gr[i].size()); + | ^ + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp:137:49: warning: conversion from 'std::vector::size_type' {aka 'long unsigned int'} to '__gnu_cxx::__alloc_traits, int>::value_type' {aka 'int'} may change value [-Wconversion] + 137 | tmp_formuls[int(Elem::O)] -= gr[i].size(); + | ^ + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp:162:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'long unsigned int'} [-Wsign-compare] + 162 | for (int i = 0; i < pos_cycle.size(); i) { + | ~~^~~~~~~~~~~~~~~~~~ + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp:166:39: warning: conversion from 'std::vector::size_type' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] + 166 | for (int i = pos_cycle.size() - 1; i >= 0; --i) { + | ~~~~~~~~~~~~~~~~~^~~ + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp: In static member function 'static std::vector nrp::NRPBuilder::aminoacids_by_pos(const std::vector&, const std::vector&)': + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp:187:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'long unsigned int'} [-Wsign-compare] + 187 | for (int i = 0; i < pos.size(); i) { + | ~~^~~~~~~~~~~~ + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp: In static member function 'static std::vector nrp::NRPBuilder::parseCycle(std::vector >&, std::vector >&, const std::vector >&)': + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp:268:111: warning: unused parameter 'gr' [-Wunused-parameter] + 268 | std::vector nrp::NRPBuilder::parseCycle(std::vector> &g, std::vector> &gr, + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp: In static member function 'static void nrp::NRPBuilder::parseTail(std::vector >&, std::vector >&, std::vector&, std::vector&, const std::vector >&)': + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp:334:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector >::size_type' {aka 'long unsigned int'} [-Wsign-compare] + 334 | for (int i = 0; i < ocon.size(); i) { + | ~~^~~~~~~~~~~~~ + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp:358:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector >::size_type' {aka 'long unsigned int'} [-Wsign-compare] + 358 | for (int i = 0; i < ocon.size(); i) { + | ~~^~~~~~~~~~~~~ + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp: In static member function 'static std::string nrp::NRPBuilder::to_string(std::vector)': + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp:384:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'long unsigned int'} [-Wsign-compare] + 384 | for (int i = 0; i < formula.size(); i) { + | ~~^~~~~~~~~~~~~~~~ + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp: In static member function 'static std::vector nrp::NRPBuilder::parse_formula(std::string)': + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp:399:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string::size_type' {aka 'long unsigned int'} [-Wsign-compare] + 399 | for (int i = 0; i < formula.size(); i) { + | ~~^~~~~~~~~~~~~~~~ + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp:409:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string::size_type' {aka 'long unsigned int'} [-Wsign-compare] + 409 | if (i 1 < formula.size() && formula[i 1] >= 'a' && formula[i 1] <= 'z') { + | ~~~~~~^~~~~~~~~~~~~~~~ + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp: In static member function 'static bool nrp::NRPBuilder::isConnected(std::vector >&, std::vector >&)': + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp:435:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector >::size_type' {aka 'long unsigned int'} [-Wsign-compare] + 435 | for (int i = 0; i < g.size(); i) { + | ~~^~~~~~~~~~ + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp: In static member function 'static void nrp::NRPBuilder::dfs(int, std::vector&, std::vector >&, std::vector >&)': + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp:447:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'long unsigned int'} [-Wsign-compare] + 447 | for (int i = 0; i < g[v].size(); i) { + | ~~^~~~~~~~~~~~~ + /opt/conda/conda-bld/nerpa_1717623833787/work/src/NRP/NRPBuilder.cpp:454:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'long unsigned int'} [-Wsign-compare] + 454 | for (int i = 0; i < gr[v].size(); i) { + | ~~^~~~~~~~~~~~~~ + [ 41%] Linking CXX static library liblogger_lib.a + [ 41%] Built target logger_lib make[1]: *** [CMakeFiles/Makefile2:119: src/CMakeFiles/nrps_matcher_lib.dir/all] Error 2 make: *** [Makefile:136: all] Error 2 Traceback (most recent call last): - File "/opt/conda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build return build_tree( - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/nerpa_1685350757054/work/conda_build.sh']' returned non-zero exit status 2. + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/nerpa_1717623833787/work/conda_build.sh']' returned non-zero exit status 2. # Last 100 lines of the build log. diff --git a/recipes/nerpa/build_failure.osx-64.yaml b/recipes/nerpa/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..bd3869eff3607 --- /dev/null +++ b/recipes/nerpa/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: f1bb13bb51bc0b3f95e48a89e68c7305899eb56ba472827ee9c0e026bd91a39b # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + 5 warnings generated. + make[1]: *** [CMakeFiles/Makefile2:119: src/CMakeFiles/nrps_matcher_lib.dir/all] Error 2 + make: *** [Makefile:136: all] Error 2 + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/nerpa_1717608828871/work + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/nerpa_1717608828871/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/nerpa_1717608828871/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/nerpa_1717608828871/work + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/nerpa-1.0.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/nerpa_1717608828871/work/conda_build.sh']' returned non-zero exit status 2. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/nerpa-1.0.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/nerpa-1.0.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/nerpa-1.0.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + -- The C compiler identification is Clang 16.0.6 + -- The CXX compiler identification is Clang 16.0.6 + -- Detecting C compiler ABI info + -- Detecting C compiler ABI info - done + -- Check for working C compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting C compile features + -- Detecting C compile features - done + -- Detecting CXX compiler ABI info + -- Detecting CXX compiler ABI info - done + -- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting CXX compile features + -- Detecting CXX compile features - done + -- Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES) + -- Could NOT find OpenMP_CXX (missing: OpenMP_CXX_FLAGS OpenMP_CXX_LIB_NAMES) + -- Could NOT find OpenMP (missing: OpenMP_C_FOUND OpenMP_CXX_FOUND) + -- Configuring done (3.7s) + -- Generating done (0.1s) + -- Build files have been written to: $SRC_DIR/build + [ 3%] Building CXX object src/CMakeFiles/nrps_matcher_lib.dir/utils/config.cpp.o + [ 6%] Building CXX object src/CMakeFiles/nrps_matcher_lib.dir/main.cpp.o + [ 9%] Building CXX object src/Logger/CMakeFiles/logger_lib.dir/logger_impl.cpp.o + [ 12%] Building CXX object src/CMakeFiles/nrps_matcher_lib.dir/Aminoacid/Aminoacid.cpp.o + [ 16%] Building CXX object src/CMakeFiles/nrps_matcher_lib.dir/NRPsPrediction/AAdomainPrediction.cpp.o + [ 19%] Building CXX object src/Logger/CMakeFiles/logger_lib.dir/posix.cc.o + [ 22%] Building CXX object src/Logger/CMakeFiles/logger_lib.dir/format.cc.o + [ 25%] Building CXX object src/CMakeFiles/nrps_matcher_lib.dir/NRPsPrediction/OrfPrediction.cpp.o + [ 29%] Linking CXX static library liblogger_lib.a + [ 29%] Built target logger_lib +# Last 100 lines of the build log. diff --git a/recipes/nerpa/meta.yaml b/recipes/nerpa/meta.yaml index 85d410a8caba5..82b815ed4d375 100644 --- a/recipes/nerpa/meta.yaml +++ b/recipes/nerpa/meta.yaml @@ -12,8 +12,7 @@ source: build: - number: 5 - skip: True # [py < 37] + number: 6 requirements: build: diff --git a/recipes/newick_utils/meta.yaml b/recipes/newick_utils/meta.yaml index ca2e187e8441c..762c33482c161 100644 --- a/recipes/newick_utils/meta.yaml +++ b/recipes/newick_utils/meta.yaml @@ -8,7 +8,7 @@ package: version: {{ version }} build: - number: 7 + number: 8 source: url: https://github.com/tjunier/newick_utils/archive/{{ revision }}.tar.gz diff --git a/recipes/nextalign/meta.yaml b/recipes/nextalign/meta.yaml index f2d7a6d6dc9bf..c7c8fa892989f 100644 --- a/recipes/nextalign/meta.yaml +++ b/recipes/nextalign/meta.yaml @@ -6,16 +6,20 @@ package: version: "{{ version }}" source: - - url: https://github.com/nextstrain/nextclade/releases/download/{{ version }}/{{ name }}-x86_64-unknown-linux-gnu # [linux64] - sha256: 90602c64c89c6921f6713d60f726b890d8892b4c1f4f0334fbd6e4b10fd8db69 # [linux64] + - url: https://github.com/nextstrain/nextclade/releases/download/{{ version }}/{{ name }}-x86_64-unknown-linux-gnu # [linux and x86_64] + sha256: 90602c64c89c6921f6713d60f726b890d8892b4c1f4f0334fbd6e4b10fd8db69 # [linux and x86_64] + - url: https://github.com/nextstrain/nextclade/releases/download/{{ version }}/{{ name }}-aarch64-unknown-linux-gnu # [linux and aarch64] + sha256: b6fddd12cc4767c0316b13ce5f6fe8d6e26097bfb52f5c957615ffc884ce2448 # [linux and aarch64] - url: https://github.com/nextstrain/nextclade/releases/download/{{ version }}/{{ name }}-x86_64-apple-darwin # [osx and x86_64] sha256: 0585a0c4af33ac28a2cb2dd63eb5d5c9b749bf6a1af319b999b8440da9dd35d8 # [osx and x86_64] - - url: https://github.com/nextstrain/nextclade/releases/download/{{ version }}/{{ name }}-aarch64-apple-darwin # [arm64] - sha256: 2d8ec8f379b150c2ac271f3c08ca79ee372b1fb14da3dc8e1b3033a1b65cfc58 # [arm64] + - url: https://github.com/nextstrain/nextclade/releases/download/{{ version }}/{{ name }}-aarch64-apple-darwin # [osx and arm64] + sha256: 2d8ec8f379b150c2ac271f3c08ca79ee372b1fb14da3dc8e1b3033a1b65cfc58 # [osx and arm64] build: - number: 0 + number: 2 binary_relocation: False + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} requirements: @@ -23,7 +27,7 @@ test: files: - test-data commands: - - nextalign --help + - nextalign --help # [not aarch64] about: home: https://github.com/nextstrain/nextclade @@ -34,6 +38,9 @@ about: dev_url: https://github.com/nextstrain/nextclade extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - cjw85 - thanhleviet @@ -43,3 +50,5 @@ extra: skip-lints: # repackaged binary - should_be_noarch_generic + identifiers: + - doi:10.21105/joss.03773 diff --git a/recipes/nextalign/run_test.sh b/recipes/nextalign/run_test.sh index ca4e450ff02c5..d7affe3faa46c 100644 --- a/recipes/nextalign/run_test.sh +++ b/recipes/nextalign/run_test.sh @@ -2,9 +2,14 @@ set -euxo pipefail +# the binary needs GLIBC 2.18+ on Linux ARM64 while 2.17 is available +if [ $(uname -m) != "aarch64" ]; then + nextalign run \ -test-data/sequences.fasta \ ---reference test-data/reference.fasta \ ---genemap test-data/genemap.gff \ ---output-all output/ \ ---output-basename nextalign + test-data/sequences.fasta \ + --reference test-data/reference.fasta \ + --genemap test-data/genemap.gff \ + --output-all output/ \ + --output-basename nextalign + +fi \ No newline at end of file diff --git a/recipes/nextclade/build.sh b/recipes/nextclade/build.sh index 2de4b8e90b81a..8af0b63eb3b7c 100644 --- a/recipes/nextclade/build.sh +++ b/recipes/nextclade/build.sh @@ -4,3 +4,8 @@ ls "${SRC_DIR}" chmod +x "${SRC_DIR}"/nextclade* mkdir -p "${PREFIX}/bin" mv "${SRC_DIR}"/nextclade* "${PREFIX}"/bin/nextclade + +# Allow nextclade to be called as nextclade$MAJOR_VERSION +# $PKG_VERSION is in the form of MAJOR.MINOR.PATCH +MAJOR_VERSION=$(echo "$PKG_VERSION" | cut -d. -f1) +ln -s "${PREFIX}"/bin/nextclade "${PREFIX}"/bin/nextclade"$MAJOR_VERSION" \ No newline at end of file diff --git a/recipes/nextclade/meta.yaml b/recipes/nextclade/meta.yaml index e0240b83896cb..ee8272d6611b5 100644 --- a/recipes/nextclade/meta.yaml +++ b/recipes/nextclade/meta.yaml @@ -1,5 +1,5 @@ {% set name = "nextclade" %} -{% set version = "2.14.0" %} +{% set version = "3.8.2" %} package: name: "{{ name|lower }}" @@ -7,21 +7,26 @@ package: source: - url: https://github.com/nextstrain/nextclade/releases/download/{{ version }}/{{ name }}-x86_64-unknown-linux-gnu # [linux64] - sha256: 1a9a82655830243ffd01937ebb895744ff46ec49f725ef6feff9a3f0e37d90d1 # [linux64] + sha256: 8366d5f7c8f131d8659aa2af1ab014d3ea0d429420dab90f90badbe827a532e6 # [linux64] + - url: https://github.com/nextstrain/nextclade/releases/download/{{ version }}/{{ name }}-aarch64-unknown-linux-gnu # [aarch64] + sha256: 87fce29bbcfd84290073c0fc23f53ed7c7c459df35077bc11b360515e85917bb # [aarch64] - url: https://github.com/nextstrain/nextclade/releases/download/{{ version }}/{{ name }}-x86_64-apple-darwin # [osx and x86_64] - sha256: 432f56d2152edda49b8c4a2c3f81d9a5da7419a6cc7c4a3d5205d17d5f834cf6 # [osx and x86_64] - - url: https://github.com/nextstrain/nextclade/releases/download/{{ version }}/{{ name }}-aarch64-apple-darwin # [arm64] - sha256: aaac669618d953381428eac3674fe6cb22bef66e7c1ae55552f6a1567f3d3030 # [arm64] + sha256: 414a6c0057665f72f598d1d2051ded309cc7aa96c88468d7cf9322ed559c9013 # [osx and x86_64] + - url: https://github.com/nextstrain/nextclade/releases/download/{{ version }}/{{ name }}-aarch64-apple-darwin # [osx and arm64] + sha256: a5fbd37742cce895bbe7a468f136f06e6ca56e8b44a65e7c52ff15d9a126aa00 # [osx and arm64] build: - number: 1 + number: 0 binary_relocation: False + run_exports: + - {{ pin_compatible(name, max_pin='x') }} requirements: +# Disable test for aarch64, as nextclade requires glibc 2.18 not available on aarch64 test: commands: - - nextclade --help + - nextclade --help # [not aarch64] about: home: https://github.com/nextstrain/nextclade @@ -32,6 +37,11 @@ about: dev_url: https://github.com/nextstrain/nextclade extra: + identifiers: + - doi:10.21105/joss.03773 + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - pvanheus - corneliusroemer diff --git a/recipes/nextclade/run_test.sh b/recipes/nextclade/run_test.sh index fab365bd0ad62..fff9dde423c45 100644 --- a/recipes/nextclade/run_test.sh +++ b/recipes/nextclade/run_test.sh @@ -3,11 +3,27 @@ set -x set -e -nextclade dataset get --name 'sars-cov-2' --output-dir 'data/sars-cov-2' - -nextclade run \ ---input-dataset 'data/sars-cov-2' \ -'data/sars-cov-2/sequences.fasta' \ ---output-tsv 'output/nextclade.tsv' \ ---output-tree 'output/tree.json' \ ---output-all 'output/' +MAJOR_VERSION=$(echo "$PKG_VERSION" | cut -d. -f1) + +# Skip if aarch64 on linux +# Because Nextclade requires glibc >= 2.18 not available yet on aarch64 builder +if [[ $target_platform == linux-aarch64 ]]; then + echo "Skipping test on aarch64" + exit 0 +fi + +for BIN in nextclade nextclade$MAJOR_VERSION; do + "$BIN" --version + + "$BIN" dataset get --name 'sars-cov-2' --output-dir 'data/sars-cov-2' + + "$BIN" run \ + --input-dataset 'data/sars-cov-2' \ + 'data/sars-cov-2/sequences.fasta' \ + --output-tsv 'output/nextclade.tsv' \ + --output-tree 'output/tree.json' \ + --output-all 'output/' + + rm -rf data output + +done diff --git a/recipes/nextclade2/build.sh b/recipes/nextclade2/build.sh new file mode 100644 index 0000000000000..53cd234503763 --- /dev/null +++ b/recipes/nextclade2/build.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +ls "${SRC_DIR}" +chmod +x "${SRC_DIR}"/nextclade* +mkdir -p "${PREFIX}/bin" +mv "${SRC_DIR}"/nextclade* "${PREFIX}"/bin/nextclade2 diff --git a/recipes/nextclade2/meta.yaml b/recipes/nextclade2/meta.yaml new file mode 100644 index 0000000000000..1b6e426277903 --- /dev/null +++ b/recipes/nextclade2/meta.yaml @@ -0,0 +1,48 @@ +{% set name = "nextclade2" %} +{% set version = "2.14.0" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + - url: https://github.com/nextstrain/nextclade/releases/download/{{ version }}/nextclade-x86_64-unknown-linux-gnu # [linux64] + sha256: 1a9a82655830243ffd01937ebb895744ff46ec49f725ef6feff9a3f0e37d90d1 # [linux64] + - url: https://github.com/nextstrain/nextclade/releases/download/{{ version }}/nextclade-x86_64-apple-darwin # [osx and x86_64] + sha256: 432f56d2152edda49b8c4a2c3f81d9a5da7419a6cc7c4a3d5205d17d5f834cf6 # [osx and x86_64] + - url: https://github.com/nextstrain/nextclade/releases/download/{{ version }}/nextclade-aarch64-apple-darwin # [arm64] + sha256: aaac669618d953381428eac3674fe6cb22bef66e7c1ae55552f6a1567f3d3030 # [arm64] + - url: https://github.com/nextstrain/nextclade/releases/download/{{ version }}/nextclade-aarch64-unknown-linux-gnu # [aarch64] + sha256: e8bf11ba18c40aaad6b91b1a65bd49b304375f77b9273b1a17e75ba32cffbca8 # [aarch64] + +build: + number: 2 + binary_relocation: False + run_exports: + - {{ pin_compatible(name, max_pin='x') }} + +requirements: + +test: + commands: + - nextclade2 --help + +about: + home: https://github.com/nextstrain/nextclade + license: MIT + license_family: MIT + summary: "Viral genome alignment, mutation calling, clade assignment, quality checks and phylogenetic placement" + doc_url: https://docs.nextstrain.org/projects/nextclade/en/stable/ + dev_url: https://github.com/nextstrain/nextclade + +extra: + identifiers: + - doi:10.21105/joss.03773 + additional-platforms: + - linux-aarch64 + - osx-arm64 + recipe-maintainers: + - corneliusroemer + skip-lints: + # repackaged binary + - should_be_noarch_generic diff --git a/recipes/nextclade2/run_test.sh b/recipes/nextclade2/run_test.sh new file mode 100644 index 0000000000000..baa2c9a2feea6 --- /dev/null +++ b/recipes/nextclade2/run_test.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +set -x +set -e + +# Skip if aarch64 on linux +# Because Nextclade requires glibc >= 2.18 not available yet on aarch64 builder +if [[ $target_platform == linux-aarch64 ]]; then + echo "Skipping test on aarch64" + exit 0 +fi + +nextclade2 --version + +nextclade2 dataset get --name 'sars-cov-2' --output-dir 'data/sars-cov-2' + +nextclade2 run \ +--input-dataset 'data/sars-cov-2' \ +'data/sars-cov-2/sequences.fasta' \ +--output-tsv 'output/nextclade.tsv' \ +--output-tree 'output/tree.json' \ +--output-all 'output/' + +rm -rf data output diff --git a/recipes/nextdenovo/build.sh b/recipes/nextdenovo/build.sh index adf1e0d4cba9b..2bbd1256310bb 100644 --- a/recipes/nextdenovo/build.sh +++ b/recipes/nextdenovo/build.sh @@ -1,10 +1,10 @@ #!/bin/bash -set -x +set -ex + +OUTDIR="${SP_DIR}/nextdenovo" -PYVER=`python -c 'import sys; print(str(sys.version_info[0])+"."+str(sys.version_info[1]))'` -OUTDIR=${PREFIX}/lib/python${PYVER}/site-packages/nextdenovo mkdir -p ${PREFIX}/bin ${OUTDIR} -cp -r ./* ${OUTDIR} -chmod a+x ${OUTDIR}/nextDenovo -ln -s ${OUTDIR}/nextDenovo ${PREFIX}/bin/nextDenovo +cp -rf ${SRC_DIR}/* ${OUTDIR} +chmod 755 ${OUTDIR}/nextDenovo +ln -sf ${OUTDIR}/nextDenovo ${PREFIX}/bin/nextDenovo diff --git a/recipes/nextdenovo/meta.yaml b/recipes/nextdenovo/meta.yaml index 41813d4ac069a..9cd2862116599 100644 --- a/recipes/nextdenovo/meta.yaml +++ b/recipes/nextdenovo/meta.yaml @@ -1,8 +1,9 @@ +{% set name = "nextdenovo" %} {% set version = "2.5.2" %} {% set sha256 = "5c7ca4aa3de234f4e0efd8aaf9eaf60ebd79b5e545ad2878a76162b29d815fe0" %} package: - name: nextdenovo + name: {{ name }} version: {{ version }} source: @@ -11,25 +12,22 @@ source: sha256: {{ sha256 }} build: - number: 3 - # repackages binaries - skip: True # [osx or py < 36] + number: 5 + binary_has_prefix_files: + - nextDenovo + run_exports: + - {{ pin_subpackage('nextdenovo', max_pin="x") }} requirements: + build: + - {{ compiler('c') }} + - make host: - python + - pip + - paralleltask - bzip2 - - ca-certificates - zlib - - ncurses - - openssl - - pip - - readline - - setuptools - - tk - - tzdata - - wheel - - xz run: - python - paralleltask @@ -39,13 +37,20 @@ test: - test_data commands: - 'nextDenovo --help' - #- 'nextDenovo test_data/run.cfg' # Partly success: some jobs are submitted, but others are killed before completion + #- 'nextDenovo test_data/run.cfg + # Partly success: some jobs are submitted, but others are killed before completion about: - home: https://github.com/Nextomics/NextDenovo - license: GNU General Public License v3.0 - summary: String graph-based de novo assembler for long reads (CLR, HiFi and ONT) + home: "https://github.com/Nextomics/NextDenovo" + license: "GPL-3.0-or-later" + license_family: GPL3 + license_file: LICENSE + summary: "String graph-based de novo assembler for long reads (CLR, HiFi and ONT)" + dev_url: "https://github.com/Nextomics/NextDenovo" + doc_url: "https://nextdenovo.readthedocs.io/en/latest" extra: - skip-lints: - - should_be_noarch_generic + identifiers: + - doi:10.1101/2023.03.09.531669 + - biotools:nextdenovo + - usegalaxy-eu:nextdenovo diff --git a/recipes/nextflow/meta.yaml b/recipes/nextflow/meta.yaml index ccb24e6cfbb15..923a54a387c81 100644 --- a/recipes/nextflow/meta.yaml +++ b/recipes/nextflow/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "23.10.0" %} -{% set sha256 = "4b7fba61ecc6d53a6850390bb435455a54ae4d0c3108199f88b16b49e555afdd" %} +{% set version = "24.04.4" %} +{% set sha256 = "03bf3ad5018ce2eac7bf7836140475a1fda529d800503aa39565fc6c77a40bfd" %} package: name: nextflow diff --git a/recipes/nextpolish/build.sh b/recipes/nextpolish/build.sh index a4aee7c2a3417..2950cd00b8fda 100644 --- a/recipes/nextpolish/build.sh +++ b/recipes/nextpolish/build.sh @@ -1,31 +1,35 @@ #!/usr/bin/env bash +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" + # Skip copying of bwa, minimap2, and samtools -sed -i.backup \ +sed -i.bak \ -e "s| bwa samtools minimap2||g" \ Makefile # Use conda's gcc and includes, also skip build of bwa, minimap2, and samtools -sed -i.backup \ +sed -i.bak \ -e "s| bwa_ samtools_ minimap2_||g" \ -e "s|gcc|$CC|g" \ -e "s|-lz|-lz -isystem ${PREFIX}/include|g" \ util/Makefile # Add version info (original required internet connection) -sed -i.backup "s=BIOCONDA_SED_REPLACE=$PKG_VERSION=" lib/kit.py +sed -i.bak "s=BIOCONDA_SED_REPLACE=$PKG_VERSION=" lib/kit.py # Create share directory SHARE_DIR="${PREFIX}/share/${PKG_NAME}-${PKG_VERSION}" mkdir -p ${SHARE_DIR}/ -cp -r ./lib ${SHARE_DIR}/ +cp -rf ./lib ${SHARE_DIR}/ # Build -make +make CC="${CC}" CFLAGS="-O3" LDFLAGS="${LDFLAGS}" -j "${CPU_COUNT}" mkdir -p ${PREFIX}/bin -cp bin/* ${PREFIX}/bin +cp -f bin/* ${PREFIX}/bin # fix hardcoded path -sed -i.backup "s=BIOCONDA_SED_REPLACE=$SHARE_DIR=" nextPolish +sed -i.bak "s=BIOCONDA_SED_REPLACE=$SHARE_DIR=" nextPolish chmod 755 nextPolish -cp nextPolish ${PREFIX}/bin +cp -f nextPolish ${PREFIX}/bin diff --git a/recipes/nextpolish/build_failure.osx-64.yaml b/recipes/nextpolish/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..71e48079f203a --- /dev/null +++ b/recipes/nextpolish/build_failure.osx-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: 00446774e10e402207b5471dce316d7b6277689c33e12899d656bf1895f730fa # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: compiler error +log: |2- + fprintf(stderr, "[STAT] Total used bases:%lu reads count(with N Base):%lu(%lu)\n",total_base, total_read, total_nread); + ~~~ ^~~~~~~~~~ + %llu + seq_split.c:345:108: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat] + fprintf(stderr, "[STAT] Total used bases:%lu reads count(with N Base):%lu(%lu)\n",total_base, total_read, total_nread); + ~~~ ^~~~~~~~~~~ + %llu + 3 warnings generated. + thpool.c:329:2: error: call to undeclared function 'pthread_setname_np'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] + pthread_setname_np(thread_name); + ^ + 1 error generated. + make[1]: *** [Makefile:13: seq_split] Error 1 + make: *** [Makefile:18: all] Error 2 + Extracting download + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/nextpolish/fix_nextpolish_paths.patch + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/nextpolish/fix_nextpolish_paths.patch with args: + ['-Np1', '-i', '/tmp/tmp8zk8i4n4/fix_nextpolish_paths.patch.native', '--binary'] + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/nextpolish/fix_get_version.patch + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/nextpolish/fix_get_version.patch with args: + ['-Np1', '-i', '/tmp/tmp1g2fvfsm/fix_get_version.patch.native', '--binary'] + Patch analysis gives: + [[ RA-MD1LOVE ]] - [[ fix_nextpolish_paths.patch ]] + Traceback (most recent call last): + [[ RA-MD1LOVE ]] - [[ fix_get_version.patch ]] + + Key: + + R :: Reversible A :: Applicable + Y :: Build-prefix patch in use M :: Minimal, non-amalgamated + D :: Dry-runnable N :: Patch level (1 is preferred) + L :: Patch level not-ambiguous O :: Patch applies without offsets + V :: Patch applies without fuzz E :: Patch applies without emitting to stderr + + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/nextpolish_1718144212493/work + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/nextpolish_1718144212493/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/nextpolish_1718144212493/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/nextpolish_1718144212493/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/nextpolish-1.4.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/nextpolish-1.4.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + mkdir $SRC_DIR/bin + make -C util; + make[1]: Entering directory '$SRC_DIR/util' + x86_64-apple-darwin13.4.0-clang -O3 -pthread -o seq_split seq_split.c thpool.c -lz -isystem $PREFIX/include + make[1]: Leaving directory '$SRC_DIR/util' + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/nextpolish_1718144212493/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. diff --git a/recipes/nextpolish/meta.yaml b/recipes/nextpolish/meta.yaml index bee63263c4917..2b2cd7b3873ea 100644 --- a/recipes/nextpolish/meta.yaml +++ b/recipes/nextpolish/meta.yaml @@ -13,20 +13,23 @@ source: - fix_get_version.patch build: - number: 1 + number: 3 + run_exports: + - {{ pin_subpackage('nextpolish', max_pin="x") }} requirements: build: - make - - zlib - {{ compiler('c') }} host: - - zlib + - python + - pip - paralleltask + - bzip2 + - zlib run: - - python >=3.6 + - python - bwa - - bzip2 - minimap2 - paralleltask - samtools @@ -37,16 +40,17 @@ test: - nextPolish --version about: - home: https://github.com/Nextomics/NextPolish - dev_url: https://github.com/Nextomics/NextPolish - doc_url: https://nextpolish.readthedocs.io/en/latest/index.html - summary: Fast and accurately polish the genome generated by long reads - license: GPL-3 - license_family: GPL + home: "https://github.com/Nextomics/NextPolish" + dev_url: "https://github.com/Nextomics/NextPolish" + doc_url: "https://nextpolish.readthedocs.io/en/latest" + summary: "Fast and accurately polish the genome generated by noisy long reads" + license: "GPL-3.0-or-later" + license_family: GPL3 license_file: LICENSE extra: recipe-maintainers: - rpetit3 - container: - extended-base: True + identifiers: + - biotools:NextPolish + - doi:10.1093/bioinformatics/btz891 diff --git a/recipes/nextpolish2/build.sh b/recipes/nextpolish2/build.sh index 3662f6efb60db..4c85d7f615175 100644 --- a/recipes/nextpolish2/build.sh +++ b/recipes/nextpolish2/build.sh @@ -1,8 +1,4 @@ -#!/bin/bash -euo - -# Add workaround for SSH-based Git connections from Rust/cargo. See https://github.com/rust-lang/cargo/issues/2078 for details. -# We set CARGO_HOME because we don't pass on HOME to conda-build, thus rendering the default "${HOME}/.cargo" defunct. -export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="$(pwd)/.cargo" +#!/bin/bash -exuo # build statically linked binary with Rust -RUST_BACKTRACE=1 cargo install --verbose --path . --root $PREFIX +RUST_BACKTRACE=1 cargo install --verbose --path . --root "${PREFIX}" diff --git a/recipes/nextpolish2/meta.yaml b/recipes/nextpolish2/meta.yaml index 06e3cee601ab3..714e5aab5d652 100644 --- a/recipes/nextpolish2/meta.yaml +++ b/recipes/nextpolish2/meta.yaml @@ -1,24 +1,27 @@ -{% set version = "0.2.0" %} +{% set name = "nextpolish2" %} +{% set version = "0.2.1" %} package: - name: nextpolish2 + name: {{ name }} version: {{ version }} source: url: https://github.com/Nextomics/NextPolish2/archive/{{ version }}.tar.gz - sha256: 34fc7c5ce8e4ce2e1e2fd2252624b8f7d6cc81e2d4b2c8a7479053401bb50e04 + sha256: 5f94cfabae5d38397a33c118f572246070707aa23f7b2ab831fd255710f50280 build: - number: 0 + number: 1 + run_exports: + - {{ pin_subpackage('nextpolish2', max_pin="x.x") }} requirements: build: - - rust >=1.64 + - {{ compiler('cxx') }} + - {{ compiler('rust') }} - make - cmake - - zlib - - {{ compiler('cxx') }} host: + - zlib run: - yak >=0.1 @@ -29,12 +32,18 @@ test: - nextPolish2 --help about: - home: https://github.com/Nextomics/NextPolish2 + home: "https://github.com/Nextomics/NextPolish2" license: GBPL license_file: LICENSE - summary: Repeat-aware polishing genomes assembled using HiFi long reads + summary: "Repeat-aware polishing genomes assembled using HiFi long reads." + dev_url: "https://github.com/Nextomics/NextPolish2" + doc_url: "https://github.com/Nextomics/NextPolish2/blob/{{ version }}/README.md" extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - moold - + identifiers: + - doi:10.1093/gpbjnl/qzad009 diff --git a/recipes/nextstrain-cli/meta.yaml b/recipes/nextstrain-cli/meta.yaml index fbd4f02908b8b..88f19b53e3497 100644 --- a/recipes/nextstrain-cli/meta.yaml +++ b/recipes/nextstrain-cli/meta.yaml @@ -1,12 +1,12 @@ -{% set version = "7.4.0" %} +{% set version = "8.5.3" %} package: name: nextstrain-cli version: {{ version }} source: - url: https://pypi.io/packages/source/n/nextstrain-cli/nextstrain-cli-{{ version }}.tar.gz - sha256: bc678d817dac6351466728122dff1ce37d7e8f3f8b8402fd2cef5822287b7de4 + url: https://pypi.io/packages/source/n/nextstrain-cli/nextstrain_cli-{{ version }}.tar.gz + sha256: 5401fd3f1b60479cb3b8c0519917fa5df43fdaddd6007e158888283a5c872428 build: number: 0 @@ -19,15 +19,13 @@ build: requirements: host: - - python >=3.6 + - python >=3.8 - pip run: - - python >=3.6 - - dataclasses # [py<37] + - python >=3.8 - docutils - fasteners - - importlib_metadata # [py<38] - importlib_resources >=5.3.0 # [py<311] - packaging >=3.0.0 - pyjwt >=2.0.0 @@ -73,6 +71,8 @@ extra: recipe-maintainers: - tsibley - corneliusroemer - skip-lints: - # False positive, can be removed once bioconda/bioconda-utils#919 is merged - - version_constraints_missing_whitespace + - genehack + - victorlin + identifiers: + - doi:10.1093/bioinformatics/bty407 + diff --git a/recipes/nextstrain/meta.yaml b/recipes/nextstrain/meta.yaml index 10f48cf9b2b9f..87460a674b790 100644 --- a/recipes/nextstrain/meta.yaml +++ b/recipes/nextstrain/meta.yaml @@ -4,14 +4,14 @@ package: build: noarch: generic - number: 1 + number: 2 requirements: run: # Nextstrain components in Conda - augur - auspice - - nextalign + - nextclade - nextstrain-cli # Necessary for several of our core builds/tutorials @@ -23,7 +23,7 @@ test: commands: - augur --help - auspice --help - - nextalign --help + # - nextclade --help fails on aarch64 due to glibc being too low here - nextstrain --help about: @@ -45,3 +45,6 @@ extra: recipe-maintainers: - tsibley - huddlej + identifiers: + - doi:10.1093/bioinformatics/bty407 + diff --git a/recipes/nf-core/meta.yaml b/recipes/nf-core/meta.yaml index 0e898adb3cc52..b546fdafe2ee0 100644 --- a/recipes/nf-core/meta.yaml +++ b/recipes/nf-core/meta.yaml @@ -1,13 +1,13 @@ {% set name = "nf-core" %} -{% set version = "2.10" %} -{% set sha256 = "5d3b3d51844fd5b2cec73b84aa736980daac54eb548796243db39680ae39980d" %} +{% set version = "3.0.2" %} +{% set sha256 = "d4cd7336ffc8ee4345de3773a5c7b162d8b552fb36cb73823b1aef2fc1420f91" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/nf_core-{{ version }}.tar.gz sha256: '{{ sha256 }}' build: @@ -23,43 +23,56 @@ requirements: host: - python >=3.8 - pip - - twine + - setuptools run: - python >=3.8 - click + - filetype - git - - pyyaml - - requests - - requests-cache - - tabulate - gitpython - - markdown >=3.3 - - jsonschema >=3.0 + - pygithub - jinja2 - - rich >=13.3.1 - - rich-click >=1.6.1 - - pre-commit - - prompt_toolkit >=3.0.3 - - pytest >=7.0.0 - - pytest-workflow >=1.6.0 - - questionary >=1.8.0 + - jsonschema >=4.0 + - markdown >=3.3 - packaging - - galaxy-tool-util + - pillow + #- pdiff + - pre-commit + - prompt_toolkit >=3.0.36 + - pydantic >=2.2.1 + - pyyaml + - questionary >=2.0.1 - refgenie - - filetype + - requests + - requests-cache + - rich >=13.3.1 + - rich-click ==1.8.* + - ruamel.yaml + - tabulate + - textual ==0.71.0 + - trogon + - nextflow >=24.04.4 + - nf-test test: commands: - nf-core --help + - nextflow help + - nf-test version about: - home: http://nf-co.re/ + home: "https://nf-co.re" license: MIT license_family: MIT + license_file: LICENSE summary: 'Python package with helper tools for the nf-core community.' + dev_url: "https://github.com/nf-core/tools" + doc_url: "https://nf-co.re" extra: container: # click requires a unicode locale when used with Python 3 # extended-base generates en_US.UTF-8 locale and sets LC_ALL, LANG properly - extended-base: true + extended-base: True + identifiers: + - doi:10.1038/s41587-020-0439-x diff --git a/recipes/nf-test/meta.yaml b/recipes/nf-test/meta.yaml index 1ad10e7398e1e..13b0e97045e44 100644 --- a/recipes/nf-test/meta.yaml +++ b/recipes/nf-test/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.8.2" %} +{% set version = "0.9.0" %} package: @@ -13,7 +13,7 @@ build: source: url: https://github.com/askimed/nf-test/releases/download/v{{version}}/nf-test-{{version}}.tar.gz - sha256: 5d640cea4339da4de50ce3687e9a61bd10488f2cac342eb1f11743414c6a27cd + sha256: 3e123ceba36b6e890cb12ad4e98792bf4dd2d7e55c36a549b28708df13df0dc7 requirements: host: diff --git a/recipes/ngmlr/.gitattributes b/recipes/ngmlr/.gitattributes new file mode 100644 index 0000000000000..ef2da88c475f0 --- /dev/null +++ b/recipes/ngmlr/.gitattributes @@ -0,0 +1,2 @@ +# the file contains both CRLF and LF line endings. Tell Git to not touch it +ngmlr-aarch64.patch binary diff --git a/recipes/ngmlr/build.sh b/recipes/ngmlr/build.sh index 7b1b11caa974c..6b833b8510788 100644 --- a/recipes/ngmlr/build.sh +++ b/recipes/ngmlr/build.sh @@ -1,9 +1,11 @@ #!/bin/bash +set -xe + mkdir -p build cd build cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=${PREFIX} -DSTATIC=OFF -DCMAKE_EXE_LINKER_FLAGS=-L${PREFIX}/lib .. -make VERBOSE=1 +make VERBOSE=1 -j ${CPU_COUNT} mkdir -p $PREFIX/bin cp ../bin/ngmlr-${PKG_VERSION}/ngmlr $PREFIX/bin/ diff --git a/recipes/ngmlr/meta.yaml b/recipes/ngmlr/meta.yaml index 142627f2ed918..b6c6f43f7c46c 100644 --- a/recipes/ngmlr/meta.yaml +++ b/recipes/ngmlr/meta.yaml @@ -8,9 +8,13 @@ package: source: sha256: '{{sha256}}' url: "https://github.com/philres/ngmlr/archive/v{{ version }}.tar.gz" + patches: + - ngmlr-aarch64.patch # [linux and aarch64] build: - number: 6 + number: 7 + run_exports: + - {{ pin_subpackage('ngmlr', max_pin="x") }} requirements: build: @@ -30,3 +34,7 @@ about: home: "https://github.com/philres/ngmlr" license: MIT summary: "ngmlr is a long-read mapper designed to align PacBio or Oxford Nanopore reads to a reference genome and optimized for structural variation detection" + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/ngmlr/ngmlr-aarch64.patch b/recipes/ngmlr/ngmlr-aarch64.patch new file mode 100644 index 0000000000000..5439733de36af --- /dev/null +++ b/recipes/ngmlr/ngmlr-aarch64.patch @@ -0,0 +1,9378 @@ +diff --git c/lib/Complete-Striped-Smith-Waterman-Library/src/sse2neon.h i/lib/Complete-Striped-Smith-Waterman-Library/src/sse2neon.h +new file mode 100644 +index 0000000..7bbf4e1 +--- /dev/null ++++ i/lib/Complete-Striped-Smith-Waterman-Library/src/sse2neon.h +@@ -0,0 +1,9289 @@ ++#ifndef SSE2NEON_H ++#define SSE2NEON_H ++ ++/* ++ * sse2neon is freely redistributable under the MIT License. ++ * ++ * Copyright (c) 2015-2024 SSE2NEON Contributors. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to deal ++ * in the Software without restriction, including without limitation the rights ++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++ * copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ * SOFTWARE. ++ */ ++ ++// This header file provides a simple API translation layer ++// between SSE intrinsics to their corresponding Arm/Aarch64 NEON versions ++// ++// Contributors to this work are: ++// John W. Ratcliff ++// Brandon Rowlett ++// Ken Fast ++// Eric van Beurden ++// Alexander Potylitsin ++// Hasindu Gamaarachchi ++// Jim Huang ++// Mark Cheng ++// Malcolm James MacLeod ++// Devin Hussey (easyaspi314) ++// Sebastian Pop ++// Developer Ecosystem Engineering ++// Danila Kutenin ++// François Turban (JishinMaster) ++// Pei-Hsuan Hung ++// Yang-Hao Yuan ++// Syoyo Fujita ++// Brecht Van Lommel ++// Jonathan Hue ++// Cuda Chen ++// Aymen Qader ++// Anthony Roberts ++ ++/* Tunable configurations */ ++ ++/* Enable precise implementation of math operations ++ * This would slow down the computation a bit, but gives consistent result with ++ * x86 SSE. (e.g. would solve a hole or NaN pixel in the rendering result) ++ */ ++/* _mm_min|max_ps|ss|pd|sd */ ++#ifndef SSE2NEON_PRECISE_MINMAX ++#define SSE2NEON_PRECISE_MINMAX (0) ++#endif ++/* _mm_rcp_ps */ ++#ifndef SSE2NEON_PRECISE_DIV ++#define SSE2NEON_PRECISE_DIV (0) ++#endif ++/* _mm_sqrt_ps and _mm_rsqrt_ps */ ++#ifndef SSE2NEON_PRECISE_SQRT ++#define SSE2NEON_PRECISE_SQRT (0) ++#endif ++/* _mm_dp_pd */ ++#ifndef SSE2NEON_PRECISE_DP ++#define SSE2NEON_PRECISE_DP (0) ++#endif ++ ++/* Enable inclusion of windows.h on MSVC platforms ++ * This makes _mm_clflush functional on windows, as there is no builtin. ++ */ ++#ifndef SSE2NEON_INCLUDE_WINDOWS_H ++#define SSE2NEON_INCLUDE_WINDOWS_H (0) ++#endif ++ ++/* compiler specific definitions */ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma push_macro("FORCE_INLINE") ++#pragma push_macro("ALIGN_STRUCT") ++#define FORCE_INLINE static inline __attribute__((always_inline)) ++#define ALIGN_STRUCT(x) __attribute__((aligned(x))) ++#define _sse2neon_likely(x) __builtin_expect(!!(x), 1) ++#define _sse2neon_unlikely(x) __builtin_expect(!!(x), 0) ++#elif defined(_MSC_VER) ++#if _MSVC_TRADITIONAL ++#error Using the traditional MSVC preprocessor is not supported! Use /Zc:preprocessor instead. ++#endif ++#ifndef FORCE_INLINE ++#define FORCE_INLINE static inline ++#endif ++#ifndef ALIGN_STRUCT ++#define ALIGN_STRUCT(x) __declspec(align(x)) ++#endif ++#define _sse2neon_likely(x) (x) ++#define _sse2neon_unlikely(x) (x) ++#else ++#pragma message("Macro name collisions may happen with unsupported compilers.") ++#endif ++ ++#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ < 10 ++#warning "GCC versions earlier than 10 are not supported." ++#endif ++ ++/* C language does not allow initializing a variable with a function call. */ ++#ifdef __cplusplus ++#define _sse2neon_const static const ++#else ++#define _sse2neon_const const ++#endif ++ ++#include ++#include ++ ++#if defined(_WIN32) ++/* Definitions for _mm_{malloc,free} are provided by ++ * from both MinGW-w64 and MSVC. ++ */ ++#define SSE2NEON_ALLOC_DEFINED ++#endif ++ ++/* If using MSVC */ ++#ifdef _MSC_VER ++#include ++#if SSE2NEON_INCLUDE_WINDOWS_H ++#include ++#include ++#endif ++ ++#if !defined(__cplusplus) ++#error SSE2NEON only supports C++ compilation with this compiler ++#endif ++ ++#ifdef SSE2NEON_ALLOC_DEFINED ++#include ++#endif ++ ++#if (defined(_M_AMD64) || defined(__x86_64__)) || \ ++ (defined(_M_ARM64) || defined(__arm64__)) ++#define SSE2NEON_HAS_BITSCAN64 ++#endif ++#endif ++ ++#if defined(__GNUC__) || defined(__clang__) ++#define _sse2neon_define0(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define1(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define2(type, a, b, body) \ ++ __extension__({ \ ++ type _a = (a), _b = (b); \ ++ body \ ++ }) ++#define _sse2neon_return(ret) (ret) ++#else ++#define _sse2neon_define0(type, a, body) [=](type _a) { body }(a) ++#define _sse2neon_define1(type, a, body) [](type _a) { body }(a) ++#define _sse2neon_define2(type, a, b, body) \ ++ [](type _a, type _b) { body }((a), (b)) ++#define _sse2neon_return(ret) return ret ++#endif ++ ++#define _sse2neon_init(...) \ ++ { \ ++ __VA_ARGS__ \ ++ } ++ ++/* Compiler barrier */ ++#if defined(_MSC_VER) ++#define SSE2NEON_BARRIER() _ReadWriteBarrier() ++#else ++#define SSE2NEON_BARRIER() \ ++ do { \ ++ __asm__ __volatile__("" ::: "memory"); \ ++ (void) 0; \ ++ } while (0) ++#endif ++ ++/* Memory barriers ++ * __atomic_thread_fence does not include a compiler barrier; instead, ++ * the barrier is part of __atomic_load/__atomic_store's "volatile-like" ++ * semantics. ++ */ ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) ++#include ++#endif ++ ++FORCE_INLINE void _sse2neon_smp_mb(void) ++{ ++ SSE2NEON_BARRIER(); ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \ ++ !defined(__STDC_NO_ATOMICS__) ++ atomic_thread_fence(memory_order_seq_cst); ++#elif defined(__GNUC__) || defined(__clang__) ++ __atomic_thread_fence(__ATOMIC_SEQ_CST); ++#else /* MSVC */ ++ __dmb(_ARM64_BARRIER_ISH); ++#endif ++} ++ ++/* Architecture-specific build options */ ++/* FIXME: #pragma GCC push_options is only available on GCC */ ++#if defined(__GNUC__) ++#if defined(__arm__) && __ARM_ARCH == 7 ++/* According to ARM C Language Extensions Architecture specification, ++ * __ARM_NEON is defined to a value indicating the Advanced SIMD (NEON) ++ * architecture supported. ++ */ ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error "You must enable NEON instructions (e.g. -mfpu=neon) to use SSE2NEON." ++#endif ++#if !defined(__clang__) ++#pragma GCC push_options ++#pragma GCC target("fpu=neon") ++#endif ++#elif defined(__aarch64__) || defined(_M_ARM64) ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#pragma GCC target("+simd") ++#endif ++#elif __ARM_ARCH == 8 ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error \ ++ "You must enable NEON instructions (e.g. -mfpu=neon-fp-armv8) to use SSE2NEON." ++#endif ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#endif ++#else ++#error \ ++ "Unsupported target. Must be either ARMv7-A+NEON or ARMv8-A \ ++(you could try setting target explicitly with -march or -mcpu)" ++#endif ++#endif ++ ++#include ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) && (__ARM_ARCH == 8) ++#if defined __has_include && __has_include() ++#include ++#endif ++#endif ++ ++/* Apple Silicon cache lines are double of what is commonly used by Intel, AMD ++ * and other Arm microarchitectures use. ++ * From sysctl -a on Apple M1: ++ * hw.cachelinesize: 128 ++ */ ++#if defined(__APPLE__) && (defined(__aarch64__) || defined(__arm64__)) ++#define SSE2NEON_CACHELINE_SIZE 128 ++#else ++#define SSE2NEON_CACHELINE_SIZE 64 ++#endif ++ ++/* Rounding functions require either Aarch64 instructions or libm fallback */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#include ++#endif ++ ++/* On ARMv7, some registers, such as PMUSERENR and PMCCNTR, are read-only ++ * or even not accessible in user mode. ++ * To write or access to these registers in user mode, ++ * we have to perform syscall instead. ++ */ ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) ++#include ++#endif ++ ++/* "__has_builtin" can be used to query support for built-in functions ++ * provided by gcc/clang and other compilers that support it. ++ */ ++#ifndef __has_builtin /* GCC prior to 10 or non-clang compilers */ ++/* Compatibility with gcc <= 9 */ ++#if defined(__GNUC__) && (__GNUC__ <= 9) ++#define __has_builtin(x) HAS##x ++#define HAS__builtin_popcount 1 ++#define HAS__builtin_popcountll 1 ++ ++// __builtin_shuffle introduced in GCC 4.7.0 ++#if (__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) ++#define HAS__builtin_shuffle 1 ++#else ++#define HAS__builtin_shuffle 0 ++#endif ++ ++#define HAS__builtin_shufflevector 0 ++#define HAS__builtin_nontemporal_store 0 ++#else ++#define __has_builtin(x) 0 ++#endif ++#endif ++ ++/** ++ * MACRO for shuffle parameter for _mm_shuffle_ps(). ++ * Argument fp3 is a digit[0123] that represents the fp from argument "b" ++ * of mm_shuffle_ps that will be placed in fp3 of result. fp2 is the same ++ * for fp2 in result. fp1 is a digit[0123] that represents the fp from ++ * argument "a" of mm_shuffle_ps that will be places in fp1 of result. ++ * fp0 is the same for fp0 of result. ++ */ ++#define _MM_SHUFFLE(fp3, fp2, fp1, fp0) \ ++ (((fp3) << 6) | ((fp2) << 4) | ((fp1) << 2) | ((fp0))) ++ ++#if __has_builtin(__builtin_shufflevector) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __builtin_shufflevector(a, b, __VA_ARGS__) ++#elif __has_builtin(__builtin_shuffle) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __extension__({ \ ++ type tmp = {__VA_ARGS__}; \ ++ __builtin_shuffle(a, b, tmp); \ ++ }) ++#endif ++ ++#ifdef _sse2neon_shuffle ++#define vshuffle_s16(a, b, ...) _sse2neon_shuffle(int16x4_t, a, b, __VA_ARGS__) ++#define vshuffleq_s16(a, b, ...) _sse2neon_shuffle(int16x8_t, a, b, __VA_ARGS__) ++#define vshuffle_s32(a, b, ...) _sse2neon_shuffle(int32x2_t, a, b, __VA_ARGS__) ++#define vshuffleq_s32(a, b, ...) _sse2neon_shuffle(int32x4_t, a, b, __VA_ARGS__) ++#define vshuffle_s64(a, b, ...) _sse2neon_shuffle(int64x1_t, a, b, __VA_ARGS__) ++#define vshuffleq_s64(a, b, ...) _sse2neon_shuffle(int64x2_t, a, b, __VA_ARGS__) ++#endif ++ ++/* Rounding mode macros. */ ++#define _MM_FROUND_TO_NEAREST_INT 0x00 ++#define _MM_FROUND_TO_NEG_INF 0x01 ++#define _MM_FROUND_TO_POS_INF 0x02 ++#define _MM_FROUND_TO_ZERO 0x03 ++#define _MM_FROUND_CUR_DIRECTION 0x04 ++#define _MM_FROUND_NO_EXC 0x08 ++#define _MM_FROUND_RAISE_EXC 0x00 ++#define _MM_FROUND_NINT (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_FLOOR (_MM_FROUND_TO_NEG_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_CEIL (_MM_FROUND_TO_POS_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_TRUNC (_MM_FROUND_TO_ZERO | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_RINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_NEARBYINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_NO_EXC) ++#define _MM_ROUND_NEAREST 0x0000 ++#define _MM_ROUND_DOWN 0x2000 ++#define _MM_ROUND_UP 0x4000 ++#define _MM_ROUND_TOWARD_ZERO 0x6000 ++/* Flush zero mode macros. */ ++#define _MM_FLUSH_ZERO_MASK 0x8000 ++#define _MM_FLUSH_ZERO_ON 0x8000 ++#define _MM_FLUSH_ZERO_OFF 0x0000 ++/* Denormals are zeros mode macros. */ ++#define _MM_DENORMALS_ZERO_MASK 0x0040 ++#define _MM_DENORMALS_ZERO_ON 0x0040 ++#define _MM_DENORMALS_ZERO_OFF 0x0000 ++ ++/* indicate immediate constant argument in a given range */ ++#define __constrange(a, b) const ++ ++/* A few intrinsics accept traditional data types like ints or floats, but ++ * most operate on data types that are specific to SSE. ++ * If a vector type ends in d, it contains doubles, and if it does not have ++ * a suffix, it contains floats. An integer vector type can contain any type ++ * of integer, from chars to shorts to unsigned long longs. ++ */ ++typedef int64x1_t __m64; ++typedef float32x4_t __m128; /* 128-bit vector containing 4 floats */ ++// On ARM 32-bit architecture, the float64x2_t is not supported. ++// The data type __m128d should be represented in a different way for related ++// intrinsic conversion. ++#if defined(__aarch64__) || defined(_M_ARM64) ++typedef float64x2_t __m128d; /* 128-bit vector containing 2 doubles */ ++#else ++typedef float32x4_t __m128d; ++#endif ++typedef int64x2_t __m128i; /* 128-bit vector containing integers */ ++ ++// Some intrinsics operate on unaligned data types. ++typedef int16_t ALIGN_STRUCT(1) unaligned_int16_t; ++typedef int32_t ALIGN_STRUCT(1) unaligned_int32_t; ++typedef int64_t ALIGN_STRUCT(1) unaligned_int64_t; ++ ++// __int64 is defined in the Intrinsics Guide which maps to different datatype ++// in different data model ++#if !(defined(_WIN32) || defined(_WIN64) || defined(__int64)) ++#if (defined(__x86_64__) || defined(__i386__)) ++#define __int64 long long ++#else ++#define __int64 int64_t ++#endif ++#endif ++ ++/* type-safe casting between types */ ++ ++#define vreinterpretq_m128_f16(x) vreinterpretq_f32_f16(x) ++#define vreinterpretq_m128_f32(x) (x) ++#define vreinterpretq_m128_f64(x) vreinterpretq_f32_f64(x) ++ ++#define vreinterpretq_m128_u8(x) vreinterpretq_f32_u8(x) ++#define vreinterpretq_m128_u16(x) vreinterpretq_f32_u16(x) ++#define vreinterpretq_m128_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128_s8(x) vreinterpretq_f32_s8(x) ++#define vreinterpretq_m128_s16(x) vreinterpretq_f32_s16(x) ++#define vreinterpretq_m128_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_f16_m128(x) vreinterpretq_f16_f32(x) ++#define vreinterpretq_f32_m128(x) (x) ++#define vreinterpretq_f64_m128(x) vreinterpretq_f64_f32(x) ++ ++#define vreinterpretq_u8_m128(x) vreinterpretq_u8_f32(x) ++#define vreinterpretq_u16_m128(x) vreinterpretq_u16_f32(x) ++#define vreinterpretq_u32_m128(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_s8_m128(x) vreinterpretq_s8_f32(x) ++#define vreinterpretq_s16_m128(x) vreinterpretq_s16_f32(x) ++#define vreinterpretq_s32_m128(x) vreinterpretq_s32_f32(x) ++#define vreinterpretq_s64_m128(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_m128i_s8(x) vreinterpretq_s64_s8(x) ++#define vreinterpretq_m128i_s16(x) vreinterpretq_s64_s16(x) ++#define vreinterpretq_m128i_s32(x) vreinterpretq_s64_s32(x) ++#define vreinterpretq_m128i_s64(x) (x) ++ ++#define vreinterpretq_m128i_u8(x) vreinterpretq_s64_u8(x) ++#define vreinterpretq_m128i_u16(x) vreinterpretq_s64_u16(x) ++#define vreinterpretq_m128i_u32(x) vreinterpretq_s64_u32(x) ++#define vreinterpretq_m128i_u64(x) vreinterpretq_s64_u64(x) ++ ++#define vreinterpretq_f32_m128i(x) vreinterpretq_f32_s64(x) ++#define vreinterpretq_f64_m128i(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_s8_m128i(x) vreinterpretq_s8_s64(x) ++#define vreinterpretq_s16_m128i(x) vreinterpretq_s16_s64(x) ++#define vreinterpretq_s32_m128i(x) vreinterpretq_s32_s64(x) ++#define vreinterpretq_s64_m128i(x) (x) ++ ++#define vreinterpretq_u8_m128i(x) vreinterpretq_u8_s64(x) ++#define vreinterpretq_u16_m128i(x) vreinterpretq_u16_s64(x) ++#define vreinterpretq_u32_m128i(x) vreinterpretq_u32_s64(x) ++#define vreinterpretq_u64_m128i(x) vreinterpretq_u64_s64(x) ++ ++#define vreinterpret_m64_s8(x) vreinterpret_s64_s8(x) ++#define vreinterpret_m64_s16(x) vreinterpret_s64_s16(x) ++#define vreinterpret_m64_s32(x) vreinterpret_s64_s32(x) ++#define vreinterpret_m64_s64(x) (x) ++ ++#define vreinterpret_m64_u8(x) vreinterpret_s64_u8(x) ++#define vreinterpret_m64_u16(x) vreinterpret_s64_u16(x) ++#define vreinterpret_m64_u32(x) vreinterpret_s64_u32(x) ++#define vreinterpret_m64_u64(x) vreinterpret_s64_u64(x) ++ ++#define vreinterpret_m64_f16(x) vreinterpret_s64_f16(x) ++#define vreinterpret_m64_f32(x) vreinterpret_s64_f32(x) ++#define vreinterpret_m64_f64(x) vreinterpret_s64_f64(x) ++ ++#define vreinterpret_u8_m64(x) vreinterpret_u8_s64(x) ++#define vreinterpret_u16_m64(x) vreinterpret_u16_s64(x) ++#define vreinterpret_u32_m64(x) vreinterpret_u32_s64(x) ++#define vreinterpret_u64_m64(x) vreinterpret_u64_s64(x) ++ ++#define vreinterpret_s8_m64(x) vreinterpret_s8_s64(x) ++#define vreinterpret_s16_m64(x) vreinterpret_s16_s64(x) ++#define vreinterpret_s32_m64(x) vreinterpret_s32_s64(x) ++#define vreinterpret_s64_m64(x) (x) ++ ++#define vreinterpret_f32_m64(x) vreinterpret_f32_s64(x) ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f64_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f64_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) vreinterpretq_f64_f32(x) ++#define vreinterpretq_m128d_f64(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f64(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f64(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f64(x) ++ ++#define vreinterpretq_f64_m128d(x) (x) ++#define vreinterpretq_f32_m128d(x) vreinterpretq_f32_f64(x) ++#else ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_m128d_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_f32_m128d(x) (x) ++#endif ++ ++// A struct is defined in this header file called 'SIMDVec' which can be used ++// by applications which attempt to access the contents of an __m128 struct ++// directly. It is important to note that accessing the __m128 struct directly ++// is bad coding practice by Microsoft: @see: ++// https://learn.microsoft.com/en-us/cpp/cpp/m128 ++// ++// However, some legacy source code may try to access the contents of an __m128 ++// struct directly so the developer can use the SIMDVec as an alias for it. Any ++// casting must be done manually by the developer, as you cannot cast or ++// otherwise alias the base NEON data type for intrinsic operations. ++// ++// union intended to allow direct access to an __m128 variable using the names ++// that the MSVC compiler provides. This union should really only be used when ++// trying to access the members of the vector as integer values. GCC/clang ++// allow native access to the float members through a simple array access ++// operator (in C since 4.6, in C++ since 4.8). ++// ++// Ideally direct accesses to SIMD vectors should not be used since it can cause ++// a performance hit. If it really is needed however, the original __m128 ++// variable can be aliased with a pointer to this union and used to access ++// individual components. The use of this union should be hidden behind a macro ++// that is used throughout the codebase to access the members instead of always ++// declaring this type of variable. ++typedef union ALIGN_STRUCT(16) SIMDVec { ++ float m128_f32[4]; // as floats - DON'T USE. Added for convenience. ++ int8_t m128_i8[16]; // as signed 8-bit integers. ++ int16_t m128_i16[8]; // as signed 16-bit integers. ++ int32_t m128_i32[4]; // as signed 32-bit integers. ++ int64_t m128_i64[2]; // as signed 64-bit integers. ++ uint8_t m128_u8[16]; // as unsigned 8-bit integers. ++ uint16_t m128_u16[8]; // as unsigned 16-bit integers. ++ uint32_t m128_u32[4]; // as unsigned 32-bit integers. ++ uint64_t m128_u64[2]; // as unsigned 64-bit integers. ++} SIMDVec; ++ ++// casting using SIMDVec ++#define vreinterpretq_nth_u64_m128i(x, n) (((SIMDVec *) &x)->m128_u64[n]) ++#define vreinterpretq_nth_u32_m128i(x, n) (((SIMDVec *) &x)->m128_u32[n]) ++#define vreinterpretq_nth_u8_m128i(x, n) (((SIMDVec *) &x)->m128_u8[n]) ++ ++/* SSE macros */ ++#define _MM_GET_FLUSH_ZERO_MODE _sse2neon_mm_get_flush_zero_mode ++#define _MM_SET_FLUSH_ZERO_MODE _sse2neon_mm_set_flush_zero_mode ++#define _MM_GET_DENORMALS_ZERO_MODE _sse2neon_mm_get_denormals_zero_mode ++#define _MM_SET_DENORMALS_ZERO_MODE _sse2neon_mm_set_denormals_zero_mode ++ ++// Function declaration ++// SSE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void); ++FORCE_INLINE __m128 _mm_move_ss(__m128, __m128); ++FORCE_INLINE __m128 _mm_or_ps(__m128, __m128); ++FORCE_INLINE __m128 _mm_set_ps1(float); ++FORCE_INLINE __m128 _mm_setzero_ps(void); ++// SSE2 ++FORCE_INLINE __m128i _mm_and_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_castps_si128(__m128); ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128); ++FORCE_INLINE __m128d _mm_move_sd(__m128d, __m128d); ++FORCE_INLINE __m128i _mm_or_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_set_epi32(int, int, int, int); ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t, int64_t); ++FORCE_INLINE __m128d _mm_set_pd(double, double); ++FORCE_INLINE __m128i _mm_set1_epi32(int); ++FORCE_INLINE __m128i _mm_setzero_si128(void); ++// SSE4.1 ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d); ++FORCE_INLINE __m128 _mm_ceil_ps(__m128); ++FORCE_INLINE __m128d _mm_floor_pd(__m128d); ++FORCE_INLINE __m128 _mm_floor_ps(__m128); ++FORCE_INLINE __m128d _mm_round_pd(__m128d, int); ++FORCE_INLINE __m128 _mm_round_ps(__m128, int); ++// SSE4.2 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t, uint8_t); ++ ++/* Backwards compatibility for compilers with lack of specific type support */ ++ ++// Older gcc does not define vld1q_u8_x4 type ++#if defined(__GNUC__) && !defined(__clang__) && \ ++ ((__GNUC__ <= 13 && defined(__arm__)) || \ ++ (__GNUC__ == 10 && __GNUC_MINOR__ < 3 && defined(__aarch64__)) || \ ++ (__GNUC__ <= 9 && defined(__aarch64__))) ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ uint8x16x4_t ret; ++ ret.val[0] = vld1q_u8(p + 0); ++ ret.val[1] = vld1q_u8(p + 16); ++ ret.val[2] = vld1q_u8(p + 32); ++ ret.val[3] = vld1q_u8(p + 48); ++ return ret; ++} ++#else ++// Wraps vld1q_u8_x4 ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ return vld1q_u8_x4(p); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddv u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ const uint64x1_t v1 = vpaddl_u32(vpaddl_u16(vpaddl_u8(v8))); ++ return vget_lane_u8(vreinterpret_u8_u64(v1), 0); ++} ++#else ++// Wraps vaddv_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ return vaddv_u8(v8); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ uint8x8_t tmp = vpadd_u8(vget_low_u8(a), vget_high_u8(a)); ++ uint8_t res = 0; ++ for (int i = 0; i < 8; ++i) ++ res += tmp[i]; ++ return res; ++} ++#else ++// Wraps vaddvq_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ return vaddvq_u8(a); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u16 variant */ ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ uint32x4_t m = vpaddlq_u16(a); ++ uint64x2_t n = vpaddlq_u32(m); ++ uint64x1_t o = vget_low_u64(n) + vget_high_u64(n); ++ ++ return vget_lane_u32((uint32x2_t) o, 0); ++} ++#else ++// Wraps vaddvq_u16 ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ return vaddvq_u16(a); ++} ++#endif ++ ++/* Function Naming Conventions ++ * The naming convention of SSE intrinsics is straightforward. A generic SSE ++ * intrinsic function is given as follows: ++ * _mm__ ++ * ++ * The parts of this format are given as follows: ++ * 1. describes the operation performed by the intrinsic ++ * 2. identifies the data type of the function's primary arguments ++ * ++ * This last part, , is a little complicated. It identifies the ++ * content of the input values, and can be set to any of the following values: ++ * + ps - vectors contain floats (ps stands for packed single-precision) ++ * + pd - vectors contain doubles (pd stands for packed double-precision) ++ * + epi8/epi16/epi32/epi64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * signed integers ++ * + epu8/epu16/epu32/epu64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * unsigned integers ++ * + si128 - unspecified 128-bit vector or 256-bit vector ++ * + m128/m128i/m128d - identifies input vector types when they are different ++ * than the type of the returned vector ++ * ++ * For example, _mm_setzero_ps. The _mm implies that the function returns ++ * a 128-bit vector. The _ps at the end implies that the argument vectors ++ * contain floats. ++ * ++ * A complete example: Byte Shuffle - pshufb (_mm_shuffle_epi8) ++ * // Set packed 16-bit integers. 128 bits, 8 short, per 16 bits ++ * __m128i v_in = _mm_setr_epi16(1, 2, 3, 4, 5, 6, 7, 8); ++ * // Set packed 8-bit integers ++ * // 128 bits, 16 chars, per 8 bits ++ * __m128i v_perm = _mm_setr_epi8(1, 0, 2, 3, 8, 9, 10, 11, ++ * 4, 5, 12, 13, 6, 7, 14, 15); ++ * // Shuffle packed 8-bit integers ++ * __m128i v_out = _mm_shuffle_epi8(v_in, v_perm); // pshufb ++ */ ++ ++/* Constants for use with _mm_prefetch. */ ++enum _mm_hint { ++ _MM_HINT_NTA = 0, /* load data to L1 and L2 cache, mark it as NTA */ ++ _MM_HINT_T0 = 1, /* load data to L1 and L2 cache */ ++ _MM_HINT_T1 = 2, /* load data to L2 cache only */ ++ _MM_HINT_T2 = 3, /* load data to L2 cache only, mark it as NTA */ ++}; ++ ++// The bit field mapping to the FPCR(floating-point control register) ++typedef struct { ++ uint16_t res0; ++ uint8_t res1 : 6; ++ uint8_t bit22 : 1; ++ uint8_t bit23 : 1; ++ uint8_t bit24 : 1; ++ uint8_t res2 : 7; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32_t res3; ++#endif ++} fpcr_bitfield; ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of b and places it into the high end of the result. ++FORCE_INLINE __m128 _mm_shuffle_ps_1032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in high ++// end of result takes the higher two 32 bit values from b and swaps them and ++// places in low end of result. ++FORCE_INLINE __m128 _mm_shuffle_ps_2301(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b23 = vrev64_f32(vget_high_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b23)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0321(__m128 a, __m128 b) ++{ ++ float32x2_t a21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a21, b03)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2103(__m128 a, __m128 b) ++{ ++ float32x2_t a03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a03, b21)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0101(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b01)); ++} ++ ++// keeps the low 64 bits of b in the low and puts the high 64 bits of a in the ++// high ++FORCE_INLINE __m128 _mm_shuffle_ps_3210(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0011(__m128 a, __m128 b) ++{ ++ float32x2_t a11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a11, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0022(__m128 a, __m128 b) ++{ ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a22, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2200(__m128 a, __m128 b) ++{ ++ float32x2_t a00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a00, b22)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_3202(__m128 a, __m128 b) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t a02 = vset_lane_f32(a0, a22, 1); /* TODO: use vzip ?*/ ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a02, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1133(__m128 a, __m128 b) ++{ ++ float32x2_t a33 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a33, b11)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b20)); ++} ++ ++// For MSVC, we check only if it is ARM64, as every single ARM64 processor ++// supported by WoA has crypto extensions. If this changes in the future, ++// this can be verified via the runtime-only method of: ++// IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE) ++#if (defined(_M_ARM64) && !defined(__clang__)) || \ ++ (defined(__ARM_FEATURE_CRYPTO) && \ ++ (defined(__aarch64__) || __has_builtin(__builtin_arm_crypto_vmullp64))) ++// Wraps vmull_p64 ++FORCE_INLINE uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly64_t a = vget_lane_p64(vreinterpret_p64_u64(_a), 0); ++ poly64_t b = vget_lane_p64(vreinterpret_p64_u64(_b), 0); ++#if defined(_MSC_VER) ++ __n64 a1 = {a}, b1 = {b}; ++ return vreinterpretq_u64_p128(vmull_p64(a1, b1)); ++#else ++ return vreinterpretq_u64_p128(vmull_p64(a, b)); ++#endif ++} ++#else // ARMv7 polyfill ++// ARMv7/some A64 lacks vmull_p64, but it has vmull_p8. ++// ++// vmull_p8 calculates 8 8-bit->16-bit polynomial multiplies, but we need a ++// 64-bit->128-bit polynomial multiply. ++// ++// It needs some work and is somewhat slow, but it is still faster than all ++// known scalar methods. ++// ++// Algorithm adapted to C from ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/, which is adapted ++// from "Fast Software Polynomial Multiplication on ARM Processors Using the ++// NEON Engine" by Danilo Camara, Conrado Gouvea, Julio Lopez and Ricardo Dahab ++// (https://hal.inria.fr/hal-01506572) ++static uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly8x8_t a = vreinterpret_p8_u64(_a); ++ poly8x8_t b = vreinterpret_p8_u64(_b); ++ ++ // Masks ++ uint8x16_t k48_32 = vcombine_u8(vcreate_u8(0x0000ffffffffffff), ++ vcreate_u8(0x00000000ffffffff)); ++ uint8x16_t k16_00 = vcombine_u8(vcreate_u8(0x000000000000ffff), ++ vcreate_u8(0x0000000000000000)); ++ ++ // Do the multiplies, rotating with vext to get all combinations ++ uint8x16_t d = vreinterpretq_u8_p16(vmull_p8(a, b)); // D = A0 * B0 ++ uint8x16_t e = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 1))); // E = A0 * B1 ++ uint8x16_t f = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 1), b)); // F = A1 * B0 ++ uint8x16_t g = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 2))); // G = A0 * B2 ++ uint8x16_t h = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 2), b)); // H = A2 * B0 ++ uint8x16_t i = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 3))); // I = A0 * B3 ++ uint8x16_t j = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 3), b)); // J = A3 * B0 ++ uint8x16_t k = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 4))); // L = A0 * B4 ++ ++ // Add cross products ++ uint8x16_t l = veorq_u8(e, f); // L = E + F ++ uint8x16_t m = veorq_u8(g, h); // M = G + H ++ uint8x16_t n = veorq_u8(i, j); // N = I + J ++ ++ // Interleave. Using vzip1 and vzip2 prevents Clang from emitting TBL ++ // instructions. ++#if defined(__aarch64__) ++ uint8x16_t lm_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t lm_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t nk_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++ uint8x16_t nk_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++#else ++ uint8x16_t lm_p0 = vcombine_u8(vget_low_u8(l), vget_low_u8(m)); ++ uint8x16_t lm_p1 = vcombine_u8(vget_high_u8(l), vget_high_u8(m)); ++ uint8x16_t nk_p0 = vcombine_u8(vget_low_u8(n), vget_low_u8(k)); ++ uint8x16_t nk_p1 = vcombine_u8(vget_high_u8(n), vget_high_u8(k)); ++#endif ++ // t0 = (L) (P0 + P1) << 8 ++ // t1 = (M) (P2 + P3) << 16 ++ uint8x16_t t0t1_tmp = veorq_u8(lm_p0, lm_p1); ++ uint8x16_t t0t1_h = vandq_u8(lm_p1, k48_32); ++ uint8x16_t t0t1_l = veorq_u8(t0t1_tmp, t0t1_h); ++ ++ // t2 = (N) (P4 + P5) << 24 ++ // t3 = (K) (P6 + P7) << 32 ++ uint8x16_t t2t3_tmp = veorq_u8(nk_p0, nk_p1); ++ uint8x16_t t2t3_h = vandq_u8(nk_p1, k16_00); ++ uint8x16_t t2t3_l = veorq_u8(t2t3_tmp, t2t3_h); ++ ++ // De-interleave ++#if defined(__aarch64__) ++ uint8x16_t t0 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t1 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t2 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++ uint8x16_t t3 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++#else ++ uint8x16_t t1 = vcombine_u8(vget_high_u8(t0t1_l), vget_high_u8(t0t1_h)); ++ uint8x16_t t0 = vcombine_u8(vget_low_u8(t0t1_l), vget_low_u8(t0t1_h)); ++ uint8x16_t t3 = vcombine_u8(vget_high_u8(t2t3_l), vget_high_u8(t2t3_h)); ++ uint8x16_t t2 = vcombine_u8(vget_low_u8(t2t3_l), vget_low_u8(t2t3_h)); ++#endif ++ // Shift the cross products ++ uint8x16_t t0_shift = vextq_u8(t0, t0, 15); // t0 << 8 ++ uint8x16_t t1_shift = vextq_u8(t1, t1, 14); // t1 << 16 ++ uint8x16_t t2_shift = vextq_u8(t2, t2, 13); // t2 << 24 ++ uint8x16_t t3_shift = vextq_u8(t3, t3, 12); // t3 << 32 ++ ++ // Accumulate the products ++ uint8x16_t cross1 = veorq_u8(t0_shift, t1_shift); ++ uint8x16_t cross2 = veorq_u8(t2_shift, t3_shift); ++ uint8x16_t mix = veorq_u8(d, cross1); ++ uint8x16_t r = veorq_u8(mix, cross2); ++ return vreinterpretq_u64_u8(r); ++} ++#endif // ARMv7 polyfill ++ ++// C equivalent: ++// __m128i _mm_shuffle_epi32_default(__m128i a, ++// __constrange(0, 255) int imm) { ++// __m128i ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = a[(imm >> 4) & 0x03]; ret[3] = a[(imm >> 6) & 0x03]; ++// return ret; ++// } ++#define _mm_shuffle_epi32_default(a, imm) \ ++ vreinterpretq_m128i_s32(vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), \ ++ ((imm) >> 2) & 0x3), \ ++ vmovq_n_s32(vgetq_lane_s32( \ ++ vreinterpretq_s32_m128i(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of a and places it into the high end of the result. ++FORCE_INLINE __m128i _mm_shuffle_epi_1032(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in low end ++// of result takes the higher two 32 bit values from a and swaps them and places ++// in high end of result. ++FORCE_INLINE __m128i _mm_shuffle_epi_2301(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a23 = vrev64_s32(vget_high_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a23)); ++} ++ ++// rotates the least significant 32 bits into the most significant 32 bits, and ++// shifts the rest down ++FORCE_INLINE __m128i _mm_shuffle_epi_0321(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 1)); ++} ++ ++// rotates the most significant 32 bits into the least significant 32 bits, and ++// shifts the rest up ++FORCE_INLINE __m128i _mm_shuffle_epi_2103(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 3)); ++} ++ ++// gets the lower 64 bits of a, and places it in the upper 64 bits ++// gets the lower 64 bits of a and places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1010(__m128i a) ++{ ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a10, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements, and places it in the ++// lower 64 bits gets the lower 64 bits of a, and places it in the upper 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1001(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements and places it in the ++// upper 64 bits gets the lower 64 bits of a, swaps the 0 and 1 elements, and ++// places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_0101(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_2211(__m128i a) ++{ ++ int32x2_t a11 = vdup_lane_s32(vget_low_s32(vreinterpretq_s32_m128i(a)), 1); ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ return vreinterpretq_m128i_s32(vcombine_s32(a11, a22)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_0122(__m128i a) ++{ ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a22, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_3332(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a33 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 1); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a33)); ++} ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32(vdupq_laneq_s32(vreinterpretq_s32_m128i(a), (imm))) ++#else ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vdupq_n_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)))) ++#endif ++ ++// NEON does not support a general purpose permute intrinsic. ++// Shuffle single-precision (32-bit) floating-point elements in a using the ++// control in imm8, and store the results in dst. ++// ++// C equivalent: ++// __m128 _mm_shuffle_ps_default(__m128 a, __m128 b, ++// __constrange(0, 255) int imm) { ++// __m128 ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = b[(imm >> 4) & 0x03]; ret[3] = b[(imm >> 6) & 0x03]; ++// return ret; ++// } ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_ps ++#define _mm_shuffle_ps_default(a, b, imm) \ ++ vreinterpretq_m128_f32(vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), ((imm) >> 2) & 0x3), \ ++ vmovq_n_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Shuffle 16-bit integers in the low 64 bits of a using the control in imm8. ++// Store the results in the low 64 bits of dst, with the high 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflelo_epi16 ++#define _mm_shufflelo_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t lowBits = vget_low_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, (imm) & (0x3)), ret, 0); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++// Shuffle 16-bit integers in the high 64 bits of a using the control in imm8. ++// Store the results in the high 64 bits of dst, with the low 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflehi_epi16 ++#define _mm_shufflehi_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t highBits = vget_high_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, (imm) & (0x3)), ret, 4); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 2) & 0x3), ret, \ ++ 5); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 4) & 0x3), ret, \ ++ 6); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 6) & 0x3), ret, \ ++ 7); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++/* MMX */ ++ ++//_mm_empty is a no-op on arm ++FORCE_INLINE void _mm_empty(void) {} ++ ++/* SSE */ ++ ++// Add packed single-precision (32-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ps ++FORCE_INLINE __m128 _mm_add_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Add the lower single-precision (32-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ss ++FORCE_INLINE __m128 _mm_add_ss(__m128 a, __m128 b) ++{ ++ float32_t b0 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++ float32x4_t value = vsetq_lane_f32(b0, vdupq_n_f32(0), 0); ++ // the upper values in the result must be the remnants of . ++ return vreinterpretq_m128_f32(vaddq_f32(a, value)); ++} ++ ++// Compute the bitwise AND of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_ps ++FORCE_INLINE __m128 _mm_and_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vandq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Compute the bitwise NOT of packed single-precision (32-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_ps ++FORCE_INLINE __m128 _mm_andnot_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vbicq_s32(vreinterpretq_s32_m128(b), ++ vreinterpretq_s32_m128(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu16 ++FORCE_INLINE __m64 _mm_avg_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16( ++ vrhadd_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu8 ++FORCE_INLINE __m64 _mm_avg_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vrhadd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ps ++FORCE_INLINE __m128 _mm_cmpeq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ss ++FORCE_INLINE __m128 _mm_cmpeq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpeq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ps ++FORCE_INLINE __m128 _mm_cmpge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ss ++FORCE_INLINE __m128 _mm_cmpge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ps ++FORCE_INLINE __m128 _mm_cmpgt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ss ++FORCE_INLINE __m128 _mm_cmpgt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpgt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ps ++FORCE_INLINE __m128 _mm_cmple_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ss ++FORCE_INLINE __m128 _mm_cmple_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmple_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ps ++FORCE_INLINE __m128 _mm_cmplt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ss ++FORCE_INLINE __m128 _mm_cmplt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmplt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ps ++FORCE_INLINE __m128 _mm_cmpneq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ss ++FORCE_INLINE __m128 _mm_cmpneq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpneq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ps ++FORCE_INLINE __m128 _mm_cmpnge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ss ++FORCE_INLINE __m128 _mm_cmpnge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ps ++FORCE_INLINE __m128 _mm_cmpngt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ss ++FORCE_INLINE __m128 _mm_cmpngt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpngt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ps ++FORCE_INLINE __m128 _mm_cmpnle_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ss ++FORCE_INLINE __m128 _mm_cmpnle_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnle_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ps ++FORCE_INLINE __m128 _mm_cmpnlt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ss ++FORCE_INLINE __m128 _mm_cmpnlt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnlt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ps ++// ++// See also: ++// http://stackoverflow.com/questions/8627331/what-does-ordered-unordered-comparison-mean ++// http://stackoverflow.com/questions/29349621/neon-isnanval-intrinsics ++FORCE_INLINE __m128 _mm_cmpord_ps(__m128 a, __m128 b) ++{ ++ // Note: NEON does not have ordered compare builtin ++ // Need to compare a eq a and b eq b to check for NaN ++ // Do AND of results to get final ++ uint32x4_t ceqaa = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t ceqbb = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vandq_u32(ceqaa, ceqbb)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ss ++FORCE_INLINE __m128 _mm_cmpord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpord_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ps ++FORCE_INLINE __m128 _mm_cmpunord_ps(__m128 a, __m128 b) ++{ ++ uint32x4_t f32a = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t f32b = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vmvnq_u32(vandq_u32(f32a, f32b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ss ++FORCE_INLINE __m128 _mm_cmpunord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpunord_ps(a, b)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_ss ++FORCE_INLINE int _mm_comieq_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_eq_b = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_eq_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_ss ++FORCE_INLINE int _mm_comige_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_ge_b = ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_ge_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_ss ++FORCE_INLINE int _mm_comigt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_gt_b = ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_gt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_ss ++FORCE_INLINE int _mm_comile_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_le_b = ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_le_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_ss ++FORCE_INLINE int _mm_comilt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_lt_b = ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_lt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_ss ++FORCE_INLINE int _mm_comineq_ss(__m128 a, __m128 b) ++{ ++ return !_mm_comieq_ss(a, b); ++} ++ ++// Convert packed signed 32-bit integers in b to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, and copy the upper 2 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_pi2ps ++FORCE_INLINE __m128 _mm_cvt_pi2ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ps2pi ++FORCE_INLINE __m64 _mm_cvt_ps2pi(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))))); ++#else ++ return vreinterpret_m64_s32(vcvt_s32_f32(vget_low_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION))))); ++#endif ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_si2ss ++FORCE_INLINE __m128 _mm_cvt_si2ss(__m128 a, int b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ss2si ++FORCE_INLINE int _mm_cvt_ss2si(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vgetq_lane_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))), ++ 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int32_t) data; ++#endif ++} ++ ++// Convert packed 16-bit integers in a to packed single-precision (32-bit) ++// floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi16_ps ++FORCE_INLINE __m128 _mm_cvtpi16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vmovl_s16(vreinterpret_s16_m64(a)))); ++} ++ ++// Convert packed 32-bit integers in b to packed single-precision (32-bit) ++// floating-point elements, store the results in the lower 2 elements of dst, ++// and copy the upper 2 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_ps ++FORCE_INLINE __m128 _mm_cvtpi32_ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, then convert the packed signed 32-bit integers in b to ++// single-precision (32-bit) floating-point element, and store the results in ++// the upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32x2_ps ++FORCE_INLINE __m128 _mm_cvtpi32x2_ps(__m64 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vcombine_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b)))); ++} ++ ++// Convert the lower packed 8-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi8_ps ++FORCE_INLINE __m128 _mm_cvtpi8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vmovl_s16(vget_low_s16(vmovl_s8(vreinterpret_s8_m64(a)))))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 16-bit integers, and store the results in dst. Note: this intrinsic ++// will generate 0x7FFF, rather than 0x8000, for input values between 0x7FFF and ++// 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi16 ++FORCE_INLINE __m64 _mm_cvtps_pi16(__m128 a) ++{ ++ return vreinterpret_m64_s16( ++ vqmovn_s32(vreinterpretq_s32_m128i(_mm_cvtps_epi32(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi32 ++#define _mm_cvtps_pi32(a) _mm_cvt_ps2pi(a) ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 8-bit integers, and store the results in lower 4 elements of dst. ++// Note: this intrinsic will generate 0x7F, rather than 0x80, for input values ++// between 0x7F and 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi8 ++FORCE_INLINE __m64 _mm_cvtps_pi8(__m128 a) ++{ ++ return vreinterpret_m64_s8(vqmovn_s16( ++ vcombine_s16(vreinterpret_s16_m64(_mm_cvtps_pi16(a)), vdup_n_s16(0)))); ++} ++ ++// Convert packed unsigned 16-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu16_ps ++FORCE_INLINE __m128 _mm_cvtpu16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_u32(vmovl_u16(vreinterpret_u16_m64(a)))); ++} ++ ++// Convert the lower packed unsigned 8-bit integers in a to packed ++// single-precision (32-bit) floating-point elements, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu8_ps ++FORCE_INLINE __m128 _mm_cvtpu8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_u32( ++ vmovl_u16(vget_low_u16(vmovl_u8(vreinterpret_u8_m64(a)))))); ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_ss ++#define _mm_cvtsi32_ss(a, b) _mm_cvt_si2ss(a, b) ++ ++// Convert the signed 64-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_ss ++FORCE_INLINE __m128 _mm_cvtsi64_ss(__m128 a, int64_t b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Copy the lower single-precision (32-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_f32 ++FORCE_INLINE float _mm_cvtss_f32(__m128 a) ++{ ++ return vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si32 ++#define _mm_cvtss_si32(a) _mm_cvt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si64 ++FORCE_INLINE int64_t _mm_cvtss_si64(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return (int64_t) vgetq_lane_f32(vrndiq_f32(vreinterpretq_f32_m128(a)), 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int64_t) data; ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ps2pi ++FORCE_INLINE __m64 _mm_cvtt_ps2pi(__m128 a) ++{ ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ss2si ++FORCE_INLINE int _mm_cvtt_ss2si(__m128 a) ++{ ++ return vgetq_lane_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)), 0); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_pi32 ++#define _mm_cvttps_pi32(a) _mm_cvtt_ps2pi(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si32 ++#define _mm_cvttss_si32(a) _mm_cvtt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si64 ++FORCE_INLINE int64_t _mm_cvttss_si64(__m128 a) ++{ ++ return (int64_t) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Divide packed single-precision (32-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise division intrinsic, we implement ++// division by multiplying a by b's reciprocal before using the Newton-Raphson ++// method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ps ++FORCE_INLINE __m128 _mm_div_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vdivq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(b)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(a), recip)); ++#endif ++} ++ ++// Divide the lower single-precision (32-bit) floating-point element in a by the ++// lower single-precision (32-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper 3 packed elements from a to ++// the upper elements of dst. ++// Warning: ARMv7-A does not produce the same result compared to Intel and not ++// IEEE-compliant. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ss ++FORCE_INLINE __m128 _mm_div_ss(__m128 a, __m128 b) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_div_ps(a, b)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_pi16 ++#define _mm_extract_pi16(a, imm) \ ++ (int32_t) vget_lane_u16(vreinterpret_u16_m64(a), (imm)) ++ ++// Free aligned memory that was allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_free ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void _mm_free(void *addr) ++{ ++ free(addr); ++} ++#endif ++ ++FORCE_INLINE uint64_t _sse2neon_get_fpcr(void) ++{ ++ uint64_t value; ++#if defined(_MSC_VER) ++ value = _ReadStatusReg(ARM64_FPCR); ++#else ++ __asm__ __volatile__("mrs %0, FPCR" : "=r"(value)); /* read */ ++#endif ++ return value; ++} ++ ++FORCE_INLINE void _sse2neon_set_fpcr(uint64_t value) ++{ ++#if defined(_MSC_VER) ++ _WriteStatusReg(ARM64_FPCR, value); ++#else ++ __asm__ __volatile__("msr FPCR, %0" ::"r"(value)); /* write */ ++#endif ++} ++ ++// Macro: Get the flush zero bits from the MXCSR control and status register. ++// The flush zero may contain any of the following flags: _MM_FLUSH_ZERO_ON or ++// _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_FLUSH_ZERO_MODE ++FORCE_INLINE unsigned int _sse2neon_mm_get_flush_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_FLUSH_ZERO_ON : _MM_FLUSH_ZERO_OFF; ++} ++ ++// Macro: Get the rounding mode bits from the MXCSR control and status register. ++// The rounding mode may contain any of the following flags: _MM_ROUND_NEAREST, ++// _MM_ROUND_DOWN, _MM_ROUND_UP, _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_ROUNDING_MODE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ if (r.field.bit22) { ++ return r.field.bit23 ? _MM_ROUND_TOWARD_ZERO : _MM_ROUND_UP; ++ } else { ++ return r.field.bit23 ? _MM_ROUND_DOWN : _MM_ROUND_NEAREST; ++ } ++} ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_pi16 ++#define _mm_insert_pi16(a, b, imm) \ ++ vreinterpret_m64_s16(vset_lane_s16((b), vreinterpret_s16_m64(a), (imm))) ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps ++FORCE_INLINE __m128 _mm_load_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// ++// dst[31:0] := MEM[mem_addr+31:mem_addr] ++// dst[63:32] := MEM[mem_addr+31:mem_addr] ++// dst[95:64] := MEM[mem_addr+31:mem_addr] ++// dst[127:96] := MEM[mem_addr+31:mem_addr] ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps1 ++#define _mm_load_ps1 _mm_load1_ps ++ ++// Load a single-precision (32-bit) floating-point element from memory into the ++// lower of dst, and zero the upper 3 elements. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ss ++FORCE_INLINE __m128 _mm_load_ss(const float *p) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(*p, vdupq_n_f32(0), 0)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_ps ++FORCE_INLINE __m128 _mm_load1_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_dup_f32(p)); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// upper 2 elements of dst, and copy the lower 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pi ++FORCE_INLINE __m128 _mm_loadh_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vget_low_f32(a), vld1_f32((const float32_t *) p))); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// lower 2 elements of dst, and copy the upper 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pi ++FORCE_INLINE __m128 _mm_loadl_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vld1_f32((const float32_t *) p), vget_high_f32(a))); ++} ++ ++// Load 4 single-precision (32-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_ps ++FORCE_INLINE __m128 _mm_loadr_ps(const float *p) ++{ ++ float32x4_t v = vrev64q_f32(vld1q_f32(p)); ++ return vreinterpretq_m128_f32(vextq_f32(v, v, 2)); ++} ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_ps ++FORCE_INLINE __m128 _mm_loadu_ps(const float *p) ++{ ++ // for neon, alignment doesn't matter, so _mm_load_ps and _mm_loadu_ps are ++ // equivalent for neon ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load unaligned 16-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si16 ++FORCE_INLINE __m128i _mm_loadu_si16(const void *p) ++{ ++ return vreinterpretq_m128i_s16( ++ vsetq_lane_s16(*(const unaligned_int16_t *) p, vdupq_n_s16(0), 0)); ++} ++ ++// Load unaligned 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si64 ++FORCE_INLINE __m128i _mm_loadu_si64(const void *p) ++{ ++ return vreinterpretq_m128i_s64( ++ vsetq_lane_s64(*(const unaligned_int64_t *) p, vdupq_n_s64(0), 0)); ++} ++ ++// Allocate size bytes of memory, aligned to the alignment specified in align, ++// and return a pointer to the allocated memory. _mm_free should be used to free ++// memory that is allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_malloc ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void *_mm_malloc(size_t size, size_t align) ++{ ++ void *ptr; ++ if (align == 1) ++ return malloc(size); ++ if (align == 2 || (sizeof(void *) == 8 && align == 4)) ++ align = sizeof(void *); ++ if (!posix_memalign(&ptr, align, size)) ++ return ptr; ++ return NULL; ++} ++#endif ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmove_si64 ++FORCE_INLINE void _mm_maskmove_si64(__m64 a, __m64 mask, char *mem_addr) ++{ ++ int8x8_t shr_mask = vshr_n_s8(vreinterpret_s8_m64(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x8_t masked = ++ vbsl_s8(vreinterpret_u8_s8(shr_mask), vreinterpret_s8_m64(a), ++ vreinterpret_s8_u64(vget_low_u64(vreinterpretq_u64_m128(b)))); ++ vst1_s8((int8_t *) mem_addr, masked); ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_maskmovq ++#define _m_maskmovq(a, mask, mem_addr) _mm_maskmove_si64(a, mask, mem_addr) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pi16 ++FORCE_INLINE __m64 _mm_max_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmax_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) maximum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ps ++FORCE_INLINE __m128 _mm_max_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcgtq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vmaxq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pu8 ++FORCE_INLINE __m64 _mm_max_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmax_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) maximum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ss ++FORCE_INLINE __m128 _mm_max_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_max_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pi16 ++FORCE_INLINE __m64 _mm_min_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmin_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) minimum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ps ++FORCE_INLINE __m128 _mm_min_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcltq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vminq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pu8 ++FORCE_INLINE __m64 _mm_min_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmin_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) minimum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ss ++FORCE_INLINE __m128 _mm_min_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_min_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the lower single-precision (32-bit) floating-point element from b to the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_ss ++FORCE_INLINE __m128 _mm_move_ss(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(vgetq_lane_f32(vreinterpretq_f32_m128(b), 0), ++ vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the upper 2 single-precision (32-bit) floating-point elements from b to ++// the lower 2 elements of dst, and copy the upper 2 elements from a to the ++// upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehl_ps ++FORCE_INLINE __m128 _mm_movehl_ps(__m128 a, __m128 b) ++{ ++#if defined(aarch64__) ++ return vreinterpretq_m128_u64( ++ vzip2q_u64(vreinterpretq_u64_m128(b), vreinterpretq_u64_m128(a))); ++#else ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(b32, a32)); ++#endif ++} ++ ++// Move the lower 2 single-precision (32-bit) floating-point elements from b to ++// the upper 2 elements of dst, and copy the lower 2 elements from a to the ++// lower 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movelh_ps ++FORCE_INLINE __m128 _mm_movelh_ps(__m128 __A, __m128 __B) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(__A)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(__B)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pi8 ++FORCE_INLINE int _mm_movemask_pi8(__m64 a) ++{ ++ uint8x8_t input = vreinterpret_u8_m64(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int8_t shift[8] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint8x8_t tmp = vshr_n_u8(input, 7); ++ return vaddv_u8(vshl_u8(tmp, vld1_s8(shift))); ++#else ++ // Refer the implementation of `_mm_movemask_epi8` ++ uint16x4_t high_bits = vreinterpret_u16_u8(vshr_n_u8(input, 7)); ++ uint32x2_t paired16 = ++ vreinterpret_u32_u16(vsra_n_u16(high_bits, high_bits, 7)); ++ uint8x8_t paired32 = ++ vreinterpret_u8_u32(vsra_n_u32(paired16, paired16, 14)); ++ return vget_lane_u8(paired32, 0) | ((int) vget_lane_u8(paired32, 4) << 4); ++#endif ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed single-precision (32-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_ps ++FORCE_INLINE int _mm_movemask_ps(__m128 a) ++{ ++ uint32x4_t input = vreinterpretq_u32_m128(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int32_t shift[4] = {0, 1, 2, 3}; ++ uint32x4_t tmp = vshrq_n_u32(input, 31); ++ return vaddvq_u32(vshlq_u32(tmp, vld1q_s32(shift))); ++#else ++ // Uses the exact same method as _mm_movemask_epi8, see that for details. ++ // Shift out everything but the sign bits with a 32-bit unsigned shift ++ // right. ++ uint64x2_t high_bits = vreinterpretq_u64_u32(vshrq_n_u32(input, 31)); ++ // Merge the two pairs together with a 64-bit unsigned shift right + add. ++ uint8x16_t paired = ++ vreinterpretq_u8_u64(vsraq_n_u64(high_bits, high_bits, 31)); ++ // Extract the result. ++ return vgetq_lane_u8(paired, 0) | (vgetq_lane_u8(paired, 8) << 2); ++#endif ++} ++ ++// Multiply packed single-precision (32-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ps ++FORCE_INLINE __m128 _mm_mul_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vmulq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Multiply the lower single-precision (32-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ss ++FORCE_INLINE __m128 _mm_mul_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_mul_ps(a, b)); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_pu16 ++FORCE_INLINE __m64 _mm_mulhi_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16(vshrn_n_u32( ++ vmull_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b)), 16)); ++} ++ ++// Compute the bitwise OR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_ps ++FORCE_INLINE __m128 _mm_or_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vorrq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgb ++#define _m_pavgb(a, b) _mm_avg_pu8(a, b) ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgw ++#define _m_pavgw(a, b) _mm_avg_pu16(a, b) ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pextrw ++#define _m_pextrw(a, imm) _mm_extract_pi16(a, imm) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_pinsrw ++#define _m_pinsrw(a, i, imm) _mm_insert_pi16(a, i, imm) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxsw ++#define _m_pmaxsw(a, b) _mm_max_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxub ++#define _m_pmaxub(a, b) _mm_max_pu8(a, b) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminsw ++#define _m_pminsw(a, b) _mm_min_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminub ++#define _m_pminub(a, b) _mm_min_pu8(a, b) ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmovmskb ++#define _m_pmovmskb(a) _mm_movemask_pi8(a) ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmulhuw ++#define _m_pmulhuw(a, b) _mm_mulhi_pu16(a, b) ++ ++// Fetch the line of data from memory that contains address p to a location in ++// the cache hierarchy specified by the locality hint i. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_prefetch ++FORCE_INLINE void _mm_prefetch(char const *p, int i) ++{ ++ (void) i; ++#if defined(_MSC_VER) ++ switch (i) { ++ case _MM_HINT_NTA: ++ __prefetch2(p, 1); ++ break; ++ case _MM_HINT_T0: ++ __prefetch2(p, 0); ++ break; ++ case _MM_HINT_T1: ++ __prefetch2(p, 2); ++ break; ++ case _MM_HINT_T2: ++ __prefetch2(p, 4); ++ break; ++ } ++#else ++ switch (i) { ++ case _MM_HINT_NTA: ++ __builtin_prefetch(p, 0, 0); ++ break; ++ case _MM_HINT_T0: ++ __builtin_prefetch(p, 0, 3); ++ break; ++ case _MM_HINT_T1: ++ __builtin_prefetch(p, 0, 2); ++ break; ++ case _MM_HINT_T2: ++ __builtin_prefetch(p, 0, 1); ++ break; ++ } ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_psadbw ++#define _m_psadbw(a, b) _mm_sad_pu8(a, b) ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pshufw ++#define _m_pshufw(a, imm) _mm_shuffle_pi16(a, imm) ++ ++// Compute the approximate reciprocal of packed single-precision (32-bit) ++// floating-point elements in a, and store the results in dst. The maximum ++// relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ps ++FORCE_INLINE __m128 _mm_rcp_ps(__m128 in) ++{ ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(in)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#if SSE2NEON_PRECISE_DIV ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#endif ++ return vreinterpretq_m128_f32(recip); ++} ++ ++// Compute the approximate reciprocal of the lower single-precision (32-bit) ++// floating-point element in a, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ss ++FORCE_INLINE __m128 _mm_rcp_ss(__m128 a) ++{ ++ return _mm_move_ss(a, _mm_rcp_ps(a)); ++} ++ ++// Compute the approximate reciprocal square root of packed single-precision ++// (32-bit) floating-point elements in a, and store the results in dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ps ++FORCE_INLINE __m128 _mm_rsqrt_ps(__m128 in) ++{ ++ float32x4_t out = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Generate masks for detecting whether input has any 0.0f/-0.0f ++ // (which becomes positive/negative infinity by IEEE-754 arithmetic rules). ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t neg_inf = vdupq_n_u32(0xFF800000); ++ const uint32x4_t has_pos_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(out)); ++ const uint32x4_t has_neg_zero = ++ vceqq_u32(neg_inf, vreinterpretq_u32_f32(out)); ++ ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#if SSE2NEON_PRECISE_SQRT ++ // Additional Netwon-Raphson iteration for accuracy ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#endif ++ ++ // Set output vector element to infinity/negative-infinity if ++ // the corresponding input vector element is 0.0f/-0.0f. ++ out = vbslq_f32(has_pos_zero, (float32x4_t) pos_inf, out); ++ out = vbslq_f32(has_neg_zero, (float32x4_t) neg_inf, out); ++ ++ return vreinterpretq_m128_f32(out); ++} ++ ++// Compute the approximate reciprocal square root of the lower single-precision ++// (32-bit) floating-point element in a, store the result in the lower element ++// of dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ss ++FORCE_INLINE __m128 _mm_rsqrt_ss(__m128 in) ++{ ++ return vsetq_lane_f32(vgetq_lane_f32(_mm_rsqrt_ps(in), 0), in, 0); ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_pu8 ++FORCE_INLINE __m64 _mm_sad_pu8(__m64 a, __m64 b) ++{ ++ uint64x1_t t = vpaddl_u32(vpaddl_u16( ++ vpaddl_u8(vabd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))))); ++ return vreinterpret_m64_u16( ++ vset_lane_u16((int) vget_lane_u64(t, 0), vdup_n_u16(0), 0)); ++} ++ ++// Macro: Set the flush zero bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The flush zero may contain any of the ++// following flags: _MM_FLUSH_ZERO_ON or _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_FLUSH_ZERO_MODE ++FORCE_INLINE void _sse2neon_mm_set_flush_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_FLUSH_ZERO_MASK) == _MM_FLUSH_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps ++FORCE_INLINE __m128 _mm_set_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {x, y, z, w}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps1 ++FORCE_INLINE __m128 _mm_set_ps1(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Macro: Set the rounding mode bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The rounding mode may contain any of ++// the following flags: _MM_ROUND_NEAREST, _MM_ROUND_DOWN, _MM_ROUND_UP, ++// _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_ROUNDING_MODE ++FORCE_INLINE void _MM_SET_ROUNDING_MODE(int rounding) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ switch (rounding) { ++ case _MM_ROUND_TOWARD_ZERO: ++ r.field.bit22 = 1; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_DOWN: ++ r.field.bit22 = 0; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_UP: ++ r.field.bit22 = 1; ++ r.field.bit23 = 0; ++ break; ++ default: //_MM_ROUND_NEAREST ++ r.field.bit22 = 0; ++ r.field.bit23 = 0; ++ } ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Copy single-precision (32-bit) floating-point element a to the lower element ++// of dst, and zero the upper 3 elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ss ++FORCE_INLINE __m128 _mm_set_ss(float a) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(a, vdupq_n_f32(0), 0)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_ps ++FORCE_INLINE __m128 _mm_set1_ps(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Set the MXCSR control and status register with the value in unsigned 32-bit ++// integer a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setcsr ++// FIXME: _mm_setcsr() implementation supports changing the rounding mode only. ++FORCE_INLINE void _mm_setcsr(unsigned int a) ++{ ++ _MM_SET_ROUNDING_MODE(a); ++} ++ ++// Get the unsigned 32-bit value of the MXCSR control and status register. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_getcsr ++// FIXME: _mm_getcsr() implementation supports reading the rounding mode only. ++FORCE_INLINE unsigned int _mm_getcsr(void) ++{ ++ return _MM_GET_ROUNDING_MODE(); ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_ps ++FORCE_INLINE __m128 _mm_setr_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {w, z, y, x}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Return vector of type __m128 with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_ps ++FORCE_INLINE __m128 _mm_setzero_ps(void) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(0)); ++} ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi16 ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pi16(a, imm) \ ++ vreinterpret_m64_s16(vshuffle_s16( \ ++ vreinterpret_s16_m64(a), vreinterpret_s16_m64(a), (imm & 0x3), \ ++ ((imm >> 2) & 0x3), ((imm >> 4) & 0x3), ((imm >> 6) & 0x3))) ++#else ++#define _mm_shuffle_pi16(a, imm) \ ++ _sse2neon_define1( \ ++ __m64, a, int16x4_t ret; \ ++ ret = vmov_n_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), (imm) & (0x3))); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpret_m64_s16(ret));) ++#endif ++ ++// Perform a serializing operation on all store-to-memory instructions that were ++// issued prior to this instruction. Guarantees that every store instruction ++// that precedes, in program order, is globally visible before any store ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sfence ++FORCE_INLINE void _mm_sfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory and store-to-memory ++// instructions that were issued prior to this instruction. Guarantees that ++// every memory access that precedes, in program order, the memory fence ++// instruction is globally visible before any memory instruction which follows ++// the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mfence ++FORCE_INLINE void _mm_mfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory instructions that ++// were issued prior to this instruction. Guarantees that every load instruction ++// that precedes, in program order, is globally visible before any load ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lfence ++FORCE_INLINE void _mm_lfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// FORCE_INLINE __m128 _mm_shuffle_ps(__m128 a, __m128 b, __constrange(0,255) ++// int imm) ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_ps(a, b, imm) \ ++ __extension__({ \ ++ float32x4_t _input1 = vreinterpretq_f32_m128(a); \ ++ float32x4_t _input2 = vreinterpretq_f32_m128(b); \ ++ float32x4_t _shuf = \ ++ vshuffleq_s32(_input1, _input2, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ (((imm) >> 4) & 0x3) + 4, (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128_f32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_ps(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128, a, b, __m128 ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_1032(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_ps_2301(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_ps_0321(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_ps_2103(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_movelh_ps(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_1001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_ps_0101(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 1, 0): \ ++ ret = _mm_shuffle_ps_3210(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 1, 1): \ ++ ret = _mm_shuffle_ps_0011(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 2, 2): \ ++ ret = _mm_shuffle_ps_0022(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 0, 0): \ ++ ret = _mm_shuffle_ps_2200(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 0, 2): \ ++ ret = _mm_shuffle_ps_3202(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 3, 2): \ ++ ret = _mm_movehl_ps(_b, _a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 3, 3): \ ++ ret = _mm_shuffle_ps_1133(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 1, 0): \ ++ ret = _mm_shuffle_ps_2010(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_2001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_2032(_a, _b); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_ps_default(_a, _b, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Compute the square root of packed single-precision (32-bit) floating-point ++// elements in a, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise square root intrinsic, we implement ++// square root by multiplying input in with its reciprocal square root before ++// using the Newton-Raphson method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ps ++FORCE_INLINE __m128 _mm_sqrt_ps(__m128 in) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) && !SSE2NEON_PRECISE_SQRT ++ return vreinterpretq_m128_f32(vsqrtq_f32(vreinterpretq_f32_m128(in))); ++#else ++ float32x4_t recip = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Test for vrsqrteq_f32(0) -> positive infinity case. ++ // Change to zero, so that s * 1/sqrt(s) result is zero too. ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t div_by_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(recip)); ++ recip = vreinterpretq_f32_u32( ++ vandq_u32(vmvnq_u32(div_by_zero), vreinterpretq_u32_f32(recip))); ++ ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ ++ // sqrt(s) = s * 1/sqrt(s) ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(in), recip)); ++#endif ++} ++ ++// Compute the square root of the lower single-precision (32-bit) floating-point ++// element in a, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ss ++FORCE_INLINE __m128 _mm_sqrt_ss(__m128 in) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_sqrt_ps(in)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(in), 0)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps ++FORCE_INLINE void _mm_store_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps1 ++FORCE_INLINE void _mm_store_ps1(float *p, __m128 a) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ vst1q_f32(p, vdupq_n_f32(a0)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ss ++FORCE_INLINE void _mm_store_ss(float *p, __m128 a) ++{ ++ vst1q_lane_f32(p, vreinterpretq_f32_m128(a), 0); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store1_ps ++#define _mm_store1_ps _mm_store_ps1 ++ ++// Store the upper 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pi ++FORCE_INLINE void _mm_storeh_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_high_f32(a)); ++} ++ ++// Store the lower 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pi ++FORCE_INLINE void _mm_storel_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_low_f32(a)); ++} ++ ++// Store 4 single-precision (32-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_ps ++FORCE_INLINE void _mm_storer_ps(float *p, __m128 a) ++{ ++ float32x4_t tmp = vrev64q_f32(vreinterpretq_f32_m128(a)); ++ float32x4_t rev = vextq_f32(tmp, tmp, 2); ++ vst1q_f32(p, rev); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_ps ++FORCE_INLINE void _mm_storeu_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Stores 16-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si16 ++FORCE_INLINE void _mm_storeu_si16(void *p, __m128i a) ++{ ++ vst1q_lane_s16((int16_t *) p, vreinterpretq_s16_m128i(a), 0); ++} ++ ++// Stores 64-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si64 ++FORCE_INLINE void _mm_storeu_si64(void *p, __m128i a) ++{ ++ vst1q_lane_s64((int64_t *) p, vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Store 64-bits of integer data from a into memory using a non-temporal memory ++// hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pi ++FORCE_INLINE void _mm_stream_pi(__m64 *p, __m64 a) ++{ ++ vst1_s64((int64_t *) p, vreinterpret_s64_m64(a)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating- ++// point elements) from a into memory using a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_ps ++FORCE_INLINE void _mm_stream_ps(float *p, __m128 a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (float32x4_t *) p); ++#else ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++#endif ++} ++ ++// Subtract packed single-precision (32-bit) floating-point elements in b from ++// packed single-precision (32-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ps ++FORCE_INLINE __m128 _mm_sub_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Subtract the lower single-precision (32-bit) floating-point element in b from ++// the lower single-precision (32-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper 3 packed elements from ++// a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ss ++FORCE_INLINE __m128 _mm_sub_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_sub_ps(a, b)); ++} ++ ++// Macro: Transpose the 4x4 matrix formed by the 4 rows of single-precision ++// (32-bit) floating-point elements in row0, row1, row2, and row3, and store the ++// transposed matrix in these vectors (row0 now contains column 0, etc.). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=MM_TRANSPOSE4_PS ++#define _MM_TRANSPOSE4_PS(row0, row1, row2, row3) \ ++ do { \ ++ float32x4x2_t ROW01 = vtrnq_f32(row0, row1); \ ++ float32x4x2_t ROW23 = vtrnq_f32(row2, row3); \ ++ row0 = vcombine_f32(vget_low_f32(ROW01.val[0]), \ ++ vget_low_f32(ROW23.val[0])); \ ++ row1 = vcombine_f32(vget_low_f32(ROW01.val[1]), \ ++ vget_low_f32(ROW23.val[1])); \ ++ row2 = vcombine_f32(vget_high_f32(ROW01.val[0]), \ ++ vget_high_f32(ROW23.val[0])); \ ++ row3 = vcombine_f32(vget_high_f32(ROW01.val[1]), \ ++ vget_high_f32(ROW23.val[1])); \ ++ } while (0) ++ ++// according to the documentation, these intrinsics behave the same as the ++// non-'u' versions. We'll just alias them here. ++#define _mm_ucomieq_ss _mm_comieq_ss ++#define _mm_ucomige_ss _mm_comige_ss ++#define _mm_ucomigt_ss _mm_comigt_ss ++#define _mm_ucomile_ss _mm_comile_ss ++#define _mm_ucomilt_ss _mm_comilt_ss ++#define _mm_ucomineq_ss _mm_comineq_ss ++ ++// Return vector of type __m128i with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_undefined_si128 ++FORCE_INLINE __m128i _mm_undefined_si128(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128i a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_si128(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Return vector of type __m128 with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_ps ++FORCE_INLINE __m128 _mm_undefined_ps(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128 a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_ps(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the high half a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_ps ++FORCE_INLINE __m128 _mm_unpackhi_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_ps ++FORCE_INLINE __m128 _mm_unpacklo_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Compute the bitwise XOR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_ps ++FORCE_INLINE __m128 _mm_xor_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ veorq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++/* SSE2 */ ++ ++// Add packed 16-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi16 ++FORCE_INLINE __m128i _mm_add_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed 32-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi32 ++FORCE_INLINE __m128i _mm_add_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vaddq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Add packed 64-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi64 ++FORCE_INLINE __m128i _mm_add_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vaddq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Add packed 8-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi8 ++FORCE_INLINE __m128i _mm_add_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed double-precision (64-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_pd ++FORCE_INLINE __m128d _mm_add_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1] + db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add the lower double-precision (64-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper element from ++// a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_sd ++FORCE_INLINE __m128d _mm_add_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_add_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add 64-bit integers a and b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_si64 ++FORCE_INLINE __m64 _mm_add_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vadd_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Add packed signed 16-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi16 ++FORCE_INLINE __m128i _mm_adds_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed signed 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi8 ++FORCE_INLINE __m128i _mm_adds_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed unsigned 16-bit integers in a and b using saturation, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu16 ++FORCE_INLINE __m128i _mm_adds_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqaddq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Add packed unsigned 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu8 ++FORCE_INLINE __m128i _mm_adds_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compute the bitwise AND of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_pd ++FORCE_INLINE __m128d _mm_and_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vandq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_si128 ++FORCE_INLINE __m128i _mm_and_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vandq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compute the bitwise NOT of packed double-precision (64-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_pd ++FORCE_INLINE __m128d _mm_andnot_pd(__m128d a, __m128d b) ++{ ++ // *NOTE* argument swap ++ return vreinterpretq_m128d_s64( ++ vbicq_s64(vreinterpretq_s64_m128d(b), vreinterpretq_s64_m128d(a))); ++} ++ ++// Compute the bitwise NOT of 128 bits (representing integer data) in a and then ++// AND with b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_si128 ++FORCE_INLINE __m128i _mm_andnot_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vbicq_s32(vreinterpretq_s32_m128i(b), ++ vreinterpretq_s32_m128i(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu16 ++FORCE_INLINE __m128i _mm_avg_epu16(__m128i a, __m128i b) ++{ ++ return (__m128i) vrhaddq_u16(vreinterpretq_u16_m128i(a), ++ vreinterpretq_u16_m128i(b)); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu8 ++FORCE_INLINE __m128i _mm_avg_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vrhaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bslli_si128 ++#define _mm_bslli_si128(a, imm) _mm_slli_si128(a, imm) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bsrli_si128 ++#define _mm_bsrli_si128(a, imm) _mm_srli_si128(a, imm) ++ ++// Cast vector of type __m128d to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_ps ++FORCE_INLINE __m128 _mm_castpd_ps(__m128d a) ++{ ++ return vreinterpretq_m128_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128d to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_si128 ++FORCE_INLINE __m128i _mm_castpd_si128(__m128d a) ++{ ++ return vreinterpretq_m128i_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128 to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_pd ++FORCE_INLINE __m128d _mm_castps_pd(__m128 a) ++{ ++ return vreinterpretq_m128d_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128 to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_si128 ++FORCE_INLINE __m128i _mm_castps_si128(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128i to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_pd ++FORCE_INLINE __m128d _mm_castsi128_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vreinterpretq_f64_m128i(a)); ++#else ++ return vreinterpretq_m128d_f32(vreinterpretq_f32_m128i(a)); ++#endif ++} ++ ++// Cast vector of type __m128i to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_ps ++FORCE_INLINE __m128 _mm_castsi128_ps(__m128i a) ++{ ++ return vreinterpretq_m128_s32(vreinterpretq_s32_m128i(a)); ++} ++ ++// Invalidate and flush the cache line that contains p from all levels of the ++// cache hierarchy. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clflush ++#if defined(__APPLE__) ++#include ++#endif ++FORCE_INLINE void _mm_clflush(void const *p) ++{ ++ (void) p; ++ ++ /* sys_icache_invalidate is supported since macOS 10.5. ++ * However, it does not work on non-jailbroken iOS devices, although the ++ * compilation is successful. ++ */ ++#if defined(__APPLE__) ++ sys_icache_invalidate((void *) (uintptr_t) p, SSE2NEON_CACHELINE_SIZE); ++#elif defined(__GNUC__) || defined(__clang__) ++ uintptr_t ptr = (uintptr_t) p; ++ __builtin___clear_cache((char *) ptr, ++ (char *) ptr + SSE2NEON_CACHELINE_SIZE); ++#elif (_MSC_VER) && SSE2NEON_INCLUDE_WINDOWS_H ++ FlushInstructionCache(GetCurrentProcess(), p, SSE2NEON_CACHELINE_SIZE); ++#endif ++} ++ ++// Compare packed 16-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi16 ++FORCE_INLINE __m128i _mm_cmpeq_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vceqq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed 32-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi32 ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vceqq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed 8-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi8 ++FORCE_INLINE __m128i _mm_cmpeq_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vceqq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_pd ++FORCE_INLINE __m128d _mm_cmpeq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_sd ++FORCE_INLINE __m128d _mm_cmpeq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpeq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_pd ++FORCE_INLINE __m128d _mm_cmpge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) >= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_sd ++FORCE_INLINE __m128d _mm_cmpge_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpge_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi16 ++FORCE_INLINE __m128i _mm_cmpgt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcgtq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi32 ++FORCE_INLINE __m128i _mm_cmpgt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcgtq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi8 ++FORCE_INLINE __m128i _mm_cmpgt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcgtq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_pd ++FORCE_INLINE __m128d _mm_cmpgt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_sd ++FORCE_INLINE __m128d _mm_cmpgt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpgt_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_pd ++FORCE_INLINE __m128d _mm_cmple_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) <= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_sd ++FORCE_INLINE __m128d _mm_cmple_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmple_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtw instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi16 ++FORCE_INLINE __m128i _mm_cmplt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcltq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtd instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi32 ++FORCE_INLINE __m128i _mm_cmplt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcltq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtb instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi8 ++FORCE_INLINE __m128i _mm_cmplt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcltq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_pd ++FORCE_INLINE __m128d _mm_cmplt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_sd ++FORCE_INLINE __m128d _mm_cmplt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmplt_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_pd ++FORCE_INLINE __m128d _mm_cmpneq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_s32(vmvnq_s32(vreinterpretq_s32_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vmvnq_u32(vandq_u32(cmp, swapped))); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_sd ++FORCE_INLINE __m128d _mm_cmpneq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpneq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_pd ++FORCE_INLINE __m128d _mm_cmpnge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) >= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) >= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_sd ++FORCE_INLINE __m128d _mm_cmpnge_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnge_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_cmpngt_pd ++FORCE_INLINE __m128d _mm_cmpngt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) > (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) > (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_sd ++FORCE_INLINE __m128d _mm_cmpngt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpngt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_pd ++FORCE_INLINE __m128d _mm_cmpnle_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) <= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) <= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_sd ++FORCE_INLINE __m128d _mm_cmpnle_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnle_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_pd ++FORCE_INLINE __m128d _mm_cmpnlt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) < (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) < (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_sd ++FORCE_INLINE __m128d _mm_cmpnlt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnlt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_pd ++FORCE_INLINE __m128d _mm_cmpord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Excluding NaNs, any two floating point numbers can be compared. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_u64(vandq_u64(not_nan_a, not_nan_b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_sd ++FORCE_INLINE __m128d _mm_cmpord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_pd ++FORCE_INLINE __m128d _mm_cmpunord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Two NaNs are not equal in comparison operation. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_s32( ++ vmvnq_s32(vreinterpretq_s32_u64(vandq_u64(not_nan_a, not_nan_b)))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_sd ++FORCE_INLINE __m128d _mm_cmpunord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpunord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_sd ++FORCE_INLINE int _mm_comige_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgeq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 >= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_sd ++FORCE_INLINE int _mm_comigt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgtq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 > *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_sd ++FORCE_INLINE int _mm_comile_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcleq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 <= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_sd ++FORCE_INLINE int _mm_comilt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcltq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 < *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_sd ++FORCE_INLINE int _mm_comieq_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vceqq_f64(a, b), 0) & 0x1; ++#else ++ uint32x4_t a_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(a)); ++ uint32x4_t b_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(b), vreinterpretq_u32_m128d(b)); ++ uint32x4_t a_and_b_not_nan = vandq_u32(a_not_nan, b_not_nan); ++ uint32x4_t a_eq_b = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint64x2_t and_results = vandq_u64(vreinterpretq_u64_u32(a_and_b_not_nan), ++ vreinterpretq_u64_u32(a_eq_b)); ++ return vgetq_lane_u64(and_results, 0) & 0x1; ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_sd ++FORCE_INLINE int _mm_comineq_sd(__m128d a, __m128d b) ++{ ++ return !_mm_comieq_sd(a, b); ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_pd ++FORCE_INLINE __m128d _mm_cvtepi32_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a))))); ++#else ++ double a0 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++ double a1 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_ps ++FORCE_INLINE __m128 _mm_cvtepi32_ps(__m128i a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_epi32 ++FORCE_INLINE __m128i _mm_cvtpd_epi32(__m128d a) ++{ ++// vrnd32xq_f64 not supported on clang ++#if defined(__ARM_FEATURE_FRINT) && !defined(__clang__) ++ float64x2_t rounded = vrnd32xq_f64(vreinterpretq_f64_m128d(a)); ++ int64x2_t integers = vcvtq_s64_f64(rounded); ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vmovn_s64(integers), vdup_n_s32(0))); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) d1, (int32_t) d0); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_pi32 ++FORCE_INLINE __m64 _mm_cvtpd_pi32(__m128d a) ++{ ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) d0, (int32_t) d1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed single-precision (32-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_ps ++FORCE_INLINE __m128 _mm_cvtpd_ps(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float32x2_t tmp = vcvt_f32_f64(vreinterpretq_f64_m128d(a)); ++ return vreinterpretq_m128_f32(vcombine_f32(tmp, vdup_n_f32(0))); ++#else ++ float a0 = (float) ((double *) &a)[0]; ++ float a1 = (float) ((double *) &a)[1]; ++ return _mm_set_ps(0, 0, a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_pd ++FORCE_INLINE __m128d _mm_cvtpi32_pd(__m64 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vreinterpret_s32_m64(a)))); ++#else ++ double a0 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 0); ++ double a1 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_epi32 ++// *NOTE*. The default rounding mode on SSE is 'round to even', which ARMv7-A ++// does not support! It is supported on ARMv8-A however. ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128 a) ++{ ++#if defined(__ARM_FEATURE_FRINT) ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vrnd32xq_f32(a))); ++#elif (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: ++ return vreinterpretq_m128i_s32(vcvtnq_s32_f32(a)); ++ case _MM_ROUND_DOWN: ++ return vreinterpretq_m128i_s32(vcvtmq_s32_f32(a)); ++ case _MM_ROUND_UP: ++ return vreinterpretq_m128i_s32(vcvtpq_s32_f32(a)); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(a)); ++ } ++#else ++ float *f = (float *) &a; ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128i_s32( ++ vbslq_s32(is_delta_half, r_even, r_normal)); ++ } ++ case _MM_ROUND_DOWN: ++ return _mm_set_epi32(floorf(f[3]), floorf(f[2]), floorf(f[1]), ++ floorf(f[0])); ++ case _MM_ROUND_UP: ++ return _mm_set_epi32(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ++ ceilf(f[0])); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return _mm_set_epi32((int32_t) f[3], (int32_t) f[2], (int32_t) f[1], ++ (int32_t) f[0]); ++ } ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed double-precision (64-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pd ++FORCE_INLINE __m128d _mm_cvtps_pd(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvt_f64_f32(vget_low_f32(vreinterpretq_f32_m128(a)))); ++#else ++ double a0 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ double a1 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Copy the lower double-precision (64-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_f64 ++FORCE_INLINE double _mm_cvtsd_f64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (double) vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0); ++#else ++ return ((double *) &a)[0]; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si32 ++FORCE_INLINE int32_t _mm_cvtsd_si32(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int32_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int32_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64 ++FORCE_INLINE int64_t _mm_cvtsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int64_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64x ++#define _mm_cvtsd_si64x _mm_cvtsd_si64 ++ ++// Convert the lower double-precision (64-bit) floating-point element in b to a ++// single-precision (32-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_ss ++FORCE_INLINE __m128 _mm_cvtsd_ss(__m128 a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32(vsetq_lane_f32( ++ vget_lane_f32(vcvt_f32_f64(vreinterpretq_f64_m128d(b)), 0), ++ vreinterpretq_f32_m128(a), 0)); ++#else ++ return vreinterpretq_m128_f32(vsetq_lane_f32((float) ((double *) &b)[0], ++ vreinterpretq_f32_m128(a), 0)); ++#endif ++} ++ ++// Copy the lower 32-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si32 ++FORCE_INLINE int _mm_cvtsi128_si32(__m128i a) ++{ ++ return vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64 ++FORCE_INLINE int64_t _mm_cvtsi128_si64(__m128i a) ++{ ++ return vgetq_lane_s64(vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Convert the signed 32-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_sd ++FORCE_INLINE __m128d _mm_cvtsi32_sd(__m128d a, int32_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Copy 32-bit integer a to the lower elements of dst, and zero the upper ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_si128 ++FORCE_INLINE __m128i _mm_cvtsi32_si128(int a) ++{ ++ return vreinterpretq_m128i_s32(vsetq_lane_s32(a, vdupq_n_s32(0), 0)); ++} ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_sd ++FORCE_INLINE __m128d _mm_cvtsi64_sd(__m128d a, int64_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_si128 ++FORCE_INLINE __m128i _mm_cvtsi64_si128(int64_t a) ++{ ++ return vreinterpretq_m128i_s64(vsetq_lane_s64(a, vdupq_n_s64(0), 0)); ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_si128 ++#define _mm_cvtsi64x_si128(a) _mm_cvtsi64_si128(a) ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_sd ++#define _mm_cvtsi64x_sd(a, b) _mm_cvtsi64_sd(a, b) ++ ++// Convert the lower single-precision (32-bit) floating-point element in b to a ++// double-precision (64-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_sd ++FORCE_INLINE __m128d _mm_cvtss_sd(__m128d a, __m128 b) ++{ ++ double d = (double) vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(d, vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &d, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_epi32 ++FORCE_INLINE __m128i _mm_cvttpd_epi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) a1, (int32_t) a0); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_pi32 ++FORCE_INLINE __m64 _mm_cvttpd_pi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) a0, (int32_t) a1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_epi32 ++FORCE_INLINE __m128i _mm_cvttps_epi32(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a))); ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si32 ++FORCE_INLINE int32_t _mm_cvttsd_si32(__m128d a) ++{ ++ double ret = *((double *) &a); ++ return (int32_t) ret; ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64 ++FORCE_INLINE int64_t _mm_cvttsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_s64(vcvtq_s64_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ double ret = *((double *) &a); ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64x ++#define _mm_cvttsd_si64x(a) _mm_cvttsd_si64(a) ++ ++// Divide packed double-precision (64-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_pd ++FORCE_INLINE __m128d _mm_div_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] / db[0]; ++ c[1] = da[1] / db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Divide the lower double-precision (64-bit) floating-point element in a by the ++// lower double-precision (64-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper element from a to the upper ++// element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_sd ++FORCE_INLINE __m128d _mm_div_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t tmp = ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1), tmp, 1)); ++#else ++ return _mm_move_sd(a, _mm_div_pd(a, b)); ++#endif ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi16 ++// FORCE_INLINE int _mm_extract_epi16(__m128i a, __constrange(0,8) int imm) ++#define _mm_extract_epi16(a, imm) \ ++ vgetq_lane_u16(vreinterpretq_u16_m128i(a), (imm)) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi16 ++// FORCE_INLINE __m128i _mm_insert_epi16(__m128i a, int b, ++// __constrange(0,8) int imm) ++#define _mm_insert_epi16(a, b, imm) \ ++ vreinterpretq_m128i_s16( \ ++ vsetq_lane_s16((b), vreinterpretq_s16_m128i(a), (imm))) ++ ++// Load 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd ++FORCE_INLINE __m128d _mm_load_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64(p)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], fp[2], fp[3]}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd1 ++#define _mm_load_pd1 _mm_load1_pd ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower of dst, and zero the upper element. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_sd ++FORCE_INLINE __m128d _mm_load_sd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(*p, vdupq_n_f64(0), 0)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], 0, 0}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_si128 ++FORCE_INLINE __m128i _mm_load_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const int32_t *) p)); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_pd ++FORCE_INLINE __m128d _mm_load1_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_dup_f64(p)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(const int64_t *) p)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// upper element of dst, and copy the lower element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pd ++FORCE_INLINE __m128d _mm_loadh_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vget_low_f64(vreinterpretq_f64_m128d(a)), vld1_f64(p))); ++#else ++ return vreinterpretq_m128d_f32(vcombine_f32( ++ vget_low_f32(vreinterpretq_f32_m128d(a)), vld1_f32((const float *) p))); ++#endif ++} ++ ++// Load 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_epi64 ++FORCE_INLINE __m128i _mm_loadl_epi64(__m128i const *p) ++{ ++ /* Load the lower 64 bits of the value pointed to by p into the ++ * lower 64 bits of the result, zeroing the upper 64 bits of the result. ++ */ ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vld1_s32((int32_t const *) p), vcreate_s32(0))); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower element of dst, and copy the upper element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pd ++FORCE_INLINE __m128d _mm_loadl_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vld1_f64(p), vget_high_f64(vreinterpretq_f64_m128d(a)))); ++#else ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vld1_f32((const float *) p), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++#endif ++} ++ ++// Load 2 double-precision (64-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_pd ++FORCE_INLINE __m128d _mm_loadr_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t v = vld1q_f64(p); ++ return vreinterpretq_m128d_f64(vextq_f64(v, v, 1)); ++#else ++ int64x2_t v = vld1q_s64((const int64_t *) p); ++ return vreinterpretq_m128d_s64(vextq_s64(v, v, 1)); ++#endif ++} ++ ++// Loads two double-precision from unaligned memory, floating-point values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_pd ++FORCE_INLINE __m128d _mm_loadu_pd(const double *p) ++{ ++ return _mm_load_pd(p); ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si128 ++FORCE_INLINE __m128i _mm_loadu_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const unaligned_int32_t *) p)); ++} ++ ++// Load unaligned 32-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si32 ++FORCE_INLINE __m128i _mm_loadu_si32(const void *p) ++{ ++ return vreinterpretq_m128i_s32( ++ vsetq_lane_s32(*(const unaligned_int32_t *) p, vdupq_n_s32(0), 0)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Horizontally add adjacent pairs of intermediate ++// 32-bit integers, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_madd_epi16 ++FORCE_INLINE __m128i _mm_madd_epi16(__m128i a, __m128i b) ++{ ++ int32x4_t low = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t high = ++ vmull_high_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b)); ++ ++ return vreinterpretq_m128i_s32(vpaddq_s32(low, high)); ++#else ++ int32x4_t high = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ int32x2_t low_sum = vpadd_s32(vget_low_s32(low), vget_high_s32(low)); ++ int32x2_t high_sum = vpadd_s32(vget_low_s32(high), vget_high_s32(high)); ++ ++ return vreinterpretq_m128i_s32(vcombine_s32(low_sum, high_sum)); ++#endif ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. mem_addr does not need to be aligned ++// on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmoveu_si128 ++FORCE_INLINE void _mm_maskmoveu_si128(__m128i a, __m128i mask, char *mem_addr) ++{ ++ int8x16_t shr_mask = vshrq_n_s8(vreinterpretq_s8_m128i(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x16_t masked = ++ vbslq_s8(vreinterpretq_u8_s8(shr_mask), vreinterpretq_s8_m128i(a), ++ vreinterpretq_s8_m128(b)); ++ vst1q_s8((int8_t *) mem_addr, masked); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi16 ++FORCE_INLINE __m128i _mm_max_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmaxq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu8 ++FORCE_INLINE __m128i _mm_max_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vmaxq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pd ++FORCE_INLINE __m128d _mm_max_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcgtq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vmaxq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? a1 : b1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_sd ++FORCE_INLINE __m128d _mm_max_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_max_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] > db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi16 ++FORCE_INLINE __m128i _mm_min_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vminq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu8 ++FORCE_INLINE __m128i _mm_min_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vminq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pd ++FORCE_INLINE __m128d _mm_min_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcltq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vminq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? a1 : b1; ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_sd ++FORCE_INLINE __m128d _mm_min_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_min_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] < db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to the lower element of dst, and zero the ++// upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_epi64 ++FORCE_INLINE __m128i _mm_move_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vsetq_lane_s64(0, vreinterpretq_s64_m128i(a), 1)); ++} ++ ++// Move the lower double-precision (64-bit) floating-point element from b to the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_sd ++FORCE_INLINE __m128d _mm_move_sd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vget_low_f32(vreinterpretq_f32_m128d(b)), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_epi8 ++FORCE_INLINE int _mm_movemask_epi8(__m128i a) ++{ ++ // Use increasingly wide shifts+adds to collect the sign bits ++ // together. ++ // Since the widening shifts would be rather confusing to follow in little ++ // endian, everything will be illustrated in big endian order instead. This ++ // has a different result - the bits would actually be reversed on a big ++ // endian machine. ++ ++ // Starting input (only half the elements are shown): ++ // 89 ff 1d c0 00 10 99 33 ++ uint8x16_t input = vreinterpretq_u8_m128i(a); ++ ++ // Shift out everything but the sign bits with an unsigned shift right. ++ // ++ // Bytes of the vector:: ++ // 89 ff 1d c0 00 10 99 33 ++ // \ \ \ \ \ \ \ \ high_bits = (uint16x4_t)(input >> 7) ++ // | | | | | | | | ++ // 01 01 00 01 00 00 01 00 ++ // ++ // Bits of first important lane(s): ++ // 10001001 (89) ++ // \______ ++ // | ++ // 00000001 (01) ++ uint16x8_t high_bits = vreinterpretq_u16_u8(vshrq_n_u8(input, 7)); ++ ++ // Merge the even lanes together with a 16-bit unsigned shift right + add. ++ // 'xx' represents garbage data which will be ignored in the final result. ++ // In the important bytes, the add functions like a binary OR. ++ // ++ // 01 01 00 01 00 00 01 00 ++ // \_ | \_ | \_ | \_ | paired16 = (uint32x4_t)(input + (input >> 7)) ++ // \| \| \| \| ++ // xx 03 xx 01 xx 00 xx 02 ++ // ++ // 00000001 00000001 (01 01) ++ // \_______ | ++ // \| ++ // xxxxxxxx xxxxxx11 (xx 03) ++ uint32x4_t paired16 = ++ vreinterpretq_u32_u16(vsraq_n_u16(high_bits, high_bits, 7)); ++ ++ // Repeat with a wider 32-bit shift + add. ++ // xx 03 xx 01 xx 00 xx 02 ++ // \____ | \____ | paired32 = (uint64x1_t)(paired16 + (paired16 >> ++ // 14)) ++ // \| \| ++ // xx xx xx 0d xx xx xx 02 ++ // ++ // 00000011 00000001 (03 01) ++ // \\_____ || ++ // '----.\|| ++ // xxxxxxxx xxxx1101 (xx 0d) ++ uint64x2_t paired32 = ++ vreinterpretq_u64_u32(vsraq_n_u32(paired16, paired16, 14)); ++ ++ // Last, an even wider 64-bit shift + add to get our result in the low 8 bit ++ // lanes. xx xx xx 0d xx xx xx 02 ++ // \_________ | paired64 = (uint8x8_t)(paired32 + (paired32 >> ++ // 28)) ++ // \| ++ // xx xx xx xx xx xx xx d2 ++ // ++ // 00001101 00000010 (0d 02) ++ // \ \___ | | ++ // '---. \| | ++ // xxxxxxxx 11010010 (xx d2) ++ uint8x16_t paired64 = ++ vreinterpretq_u8_u64(vsraq_n_u64(paired32, paired32, 28)); ++ ++ // Extract the low 8 bits from each 64-bit lane with 2 8-bit extracts. ++ // xx xx xx xx xx xx xx d2 ++ // || return paired64[0] ++ // d2 ++ // Note: Little endian would return the correct value 4b (01001011) instead. ++ return vgetq_lane_u8(paired64, 0) | ((int) vgetq_lane_u8(paired64, 8) << 8); ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed double-precision (64-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pd ++FORCE_INLINE int _mm_movemask_pd(__m128d a) ++{ ++ uint64x2_t input = vreinterpretq_u64_m128d(a); ++ uint64x2_t high_bits = vshrq_n_u64(input, 63); ++ return (int) (vgetq_lane_u64(high_bits, 0) | ++ (vgetq_lane_u64(high_bits, 1) << 1)); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movepi64_pi64 ++FORCE_INLINE __m64 _mm_movepi64_pi64(__m128i a) ++{ ++ return vreinterpret_m64_s64(vget_low_s64(vreinterpretq_s64_m128i(a))); ++} ++ ++// Copy the 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movpi64_epi64 ++FORCE_INLINE __m128i _mm_movpi64_epi64(__m64 a) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vreinterpret_s64_m64(a), vdup_n_s64(0))); ++} ++ ++// Multiply the low unsigned 32-bit integers from each packed 64-bit element in ++// a and b, and store the unsigned 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epu32 ++FORCE_INLINE __m128i _mm_mul_epu32(__m128i a, __m128i b) ++{ ++ // vmull_u32 upcasts instead of masking, so we downcast. ++ uint32x2_t a_lo = vmovn_u64(vreinterpretq_u64_m128i(a)); ++ uint32x2_t b_lo = vmovn_u64(vreinterpretq_u64_m128i(b)); ++ return vreinterpretq_m128i_u64(vmull_u32(a_lo, b_lo)); ++} ++ ++// Multiply packed double-precision (64-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_pd ++FORCE_INLINE __m128d _mm_mul_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vmulq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] * db[0]; ++ c[1] = da[1] * db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Multiply the lower double-precision (64-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper element ++// from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_mul_sd ++FORCE_INLINE __m128d _mm_mul_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_mul_pd(a, b)); ++} ++ ++// Multiply the low unsigned 32-bit integers from a and b, and store the ++// unsigned 64-bit result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_su32 ++FORCE_INLINE __m64 _mm_mul_su32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u64(vget_low_u64( ++ vmull_u32(vreinterpret_u32_m64(a), vreinterpret_u32_m64(b)))); ++} ++ ++// Multiply the packed signed 16-bit integers in a and b, producing intermediate ++// 32-bit integers, and store the high 16 bits of the intermediate integers in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epi16 ++FORCE_INLINE __m128i _mm_mulhi_epi16(__m128i a, __m128i b) ++{ ++ /* FIXME: issue with large values because of result saturation */ ++ // int16x8_t ret = vqdmulhq_s16(vreinterpretq_s16_m128i(a), ++ // vreinterpretq_s16_m128i(b)); /* =2*a*b */ return ++ // vreinterpretq_m128i_s16(vshrq_n_s16(ret, 1)); ++ int16x4_t a3210 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b3210 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab3210 = vmull_s16(a3210, b3210); /* 3333222211110000 */ ++ int16x4_t a7654 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b7654 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab7654 = vmull_s16(a7654, b7654); /* 7777666655554444 */ ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_s32(ab3210), vreinterpretq_u16_s32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epu16 ++FORCE_INLINE __m128i _mm_mulhi_epu16(__m128i a, __m128i b) ++{ ++ uint16x4_t a3210 = vget_low_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b3210 = vget_low_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab3210 = vmull_u16(a3210, b3210); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32x4_t ab7654 = ++ vmull_high_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ uint16x8_t r = vuzp2q_u16(vreinterpretq_u16_u32(ab3210), ++ vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r); ++#else ++ uint16x4_t a7654 = vget_high_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b7654 = vget_high_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab7654 = vmull_u16(a7654, b7654); ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_u32(ab3210), vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++#endif ++} ++ ++// Multiply the packed 16-bit integers in a and b, producing intermediate 32-bit ++// integers, and store the low 16 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi16 ++FORCE_INLINE __m128i _mm_mullo_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmulq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compute the bitwise OR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_or_pd ++FORCE_INLINE __m128d _mm_or_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vorrq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise OR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_si128 ++FORCE_INLINE __m128i _mm_or_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vorrq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi16 ++FORCE_INLINE __m128i _mm_packs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vqmovn_s16(vreinterpretq_s16_m128i(a)), ++ vqmovn_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi32 ++FORCE_INLINE __m128i _mm_packs_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vqmovn_s32(vreinterpretq_s32_m128i(a)), ++ vqmovn_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi16 ++FORCE_INLINE __m128i _mm_packus_epi16(const __m128i a, const __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcombine_u8(vqmovun_s16(vreinterpretq_s16_m128i(a)), ++ vqmovun_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Pause the processor. This is typically used in spin-wait loops and depending ++// on the x86 processor typical values are in the 40-100 cycle range. The ++// 'yield' instruction isn't a good fit because it's effectively a nop on most ++// Arm cores. Experience with several databases has shown has shown an 'isb' is ++// a reasonable approximation. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_pause ++FORCE_INLINE void _mm_pause(void) ++{ ++#if defined(_MSC_VER) ++ __isb(_ARM64_BARRIER_SY); ++#else ++ __asm__ __volatile__("isb\n"); ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce two ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of 64-bit elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_epu8 ++FORCE_INLINE __m128i _mm_sad_epu8(__m128i a, __m128i b) ++{ ++ uint16x8_t t = vpaddlq_u8(vabdq_u8((uint8x16_t) a, (uint8x16_t) b)); ++ return vreinterpretq_m128i_u64(vpaddlq_u32(vpaddlq_u16(t))); ++} ++ ++// Set packed 16-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi16 ++FORCE_INLINE __m128i _mm_set_epi16(short i7, ++ short i6, ++ short i5, ++ short i4, ++ short i3, ++ short i2, ++ short i1, ++ short i0) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {i0, i1, i2, i3, i4, i5, i6, i7}; ++ return vreinterpretq_m128i_s16(vld1q_s16(data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi32 ++FORCE_INLINE __m128i _mm_set_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i0, i1, i2, i3}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64 ++FORCE_INLINE __m128i _mm_set_epi64(__m64 i1, __m64 i2) ++{ ++ return _mm_set_epi64x(vget_lane_s64(i1, 0), vget_lane_s64(i2, 0)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64x ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t i1, int64_t i2) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vcreate_s64(i2), vcreate_s64(i1))); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi8 ++FORCE_INLINE __m128i _mm_set_epi8(signed char b15, ++ signed char b14, ++ signed char b13, ++ signed char b12, ++ signed char b11, ++ signed char b10, ++ signed char b9, ++ signed char b8, ++ signed char b7, ++ signed char b6, ++ signed char b5, ++ signed char b4, ++ signed char b3, ++ signed char b2, ++ signed char b1, ++ signed char b0) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd ++FORCE_INLINE __m128d _mm_set_pd(double e1, double e0) ++{ ++ double ALIGN_STRUCT(16) data[2] = {e0, e1}; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64((float64_t *) data)); ++#else ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) data)); ++#endif ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd1 ++#define _mm_set_pd1 _mm_set1_pd ++ ++// Copy double-precision (64-bit) floating-point element a to the lower element ++// of dst, and zero the upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_sd ++FORCE_INLINE __m128d _mm_set_sd(double a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(a, vdupq_n_f64(0), 0)); ++#else ++ return _mm_set_pd(0, a); ++#endif ++} ++ ++// Broadcast 16-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi16 ++FORCE_INLINE __m128i _mm_set1_epi16(short w) ++{ ++ return vreinterpretq_m128i_s16(vdupq_n_s16(w)); ++} ++ ++// Broadcast 32-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi32 ++FORCE_INLINE __m128i _mm_set1_epi32(int _i) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(_i)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64 ++FORCE_INLINE __m128i _mm_set1_epi64(__m64 _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_lane_s64(_i, 0)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64x ++FORCE_INLINE __m128i _mm_set1_epi64x(int64_t _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_n_s64(_i)); ++} ++ ++// Broadcast 8-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi8 ++FORCE_INLINE __m128i _mm_set1_epi8(signed char w) ++{ ++ return vreinterpretq_m128i_s8(vdupq_n_s8(w)); ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_pd ++FORCE_INLINE __m128d _mm_set1_pd(double d) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(d)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(int64_t *) &d)); ++#endif ++} ++ ++// Set packed 16-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi16 ++FORCE_INLINE __m128i _mm_setr_epi16(short w0, ++ short w1, ++ short w2, ++ short w3, ++ short w4, ++ short w5, ++ short w6, ++ short w7) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {w0, w1, w2, w3, w4, w5, w6, w7}; ++ return vreinterpretq_m128i_s16(vld1q_s16((int16_t *) data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi32 ++FORCE_INLINE __m128i _mm_setr_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i3, i2, i1, i0}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi64 ++FORCE_INLINE __m128i _mm_setr_epi64(__m64 e1, __m64 e0) ++{ ++ return vreinterpretq_m128i_s64(vcombine_s64(e1, e0)); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi8 ++FORCE_INLINE __m128i _mm_setr_epi8(signed char b0, ++ signed char b1, ++ signed char b2, ++ signed char b3, ++ signed char b4, ++ signed char b5, ++ signed char b6, ++ signed char b7, ++ signed char b8, ++ signed char b9, ++ signed char b10, ++ signed char b11, ++ signed char b12, ++ signed char b13, ++ signed char b14, ++ signed char b15) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_pd ++FORCE_INLINE __m128d _mm_setr_pd(double e1, double e0) ++{ ++ return _mm_set_pd(e0, e1); ++} ++ ++// Return vector of type __m128d with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_pd ++FORCE_INLINE __m128d _mm_setzero_pd(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(0)); ++#else ++ return vreinterpretq_m128d_f32(vdupq_n_f32(0)); ++#endif ++} ++ ++// Return vector of type __m128i with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_si128 ++FORCE_INLINE __m128i _mm_setzero_si128(void) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(0)); ++} ++ ++// Shuffle 32-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi32 ++// FORCE_INLINE __m128i _mm_shuffle_epi32(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shuffle_epi32(a, imm) \ ++ __extension__({ \ ++ int32x4_t _input = vreinterpretq_s32_m128i(a); \ ++ int32x4_t _shuf = \ ++ vshuffleq_s32(_input, _input, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ ((imm) >> 4) & 0x3, ((imm) >> 6) & 0x3); \ ++ vreinterpretq_m128i_s32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_epi32(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, __m128i ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_epi_1032(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_epi_2301(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_epi_0321(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_epi_2103(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_shuffle_epi_1010(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_epi_1001(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_epi_0101(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 1, 1): \ ++ ret = _mm_shuffle_epi_2211(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 2, 2): \ ++ ret = _mm_shuffle_epi_0122(_a); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 2): \ ++ ret = _mm_shuffle_epi_3332(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 0, 0): \ ++ ret = _mm_shuffle_epi32_splat(_a, 0); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 1, 1): \ ++ ret = _mm_shuffle_epi32_splat(_a, 1); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 2, 2): \ ++ ret = _mm_shuffle_epi32_splat(_a, 2); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 3): \ ++ ret = _mm_shuffle_epi32_splat(_a, 3); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_epi32_default(_a, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Shuffle double-precision (64-bit) floating-point elements using the control ++// in imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pd ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pd(a, b, imm8) \ ++ vreinterpretq_m128d_s64( \ ++ vshuffleq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b), \ ++ imm8 & 0x1, ((imm8 & 0x2) >> 1) + 2)) ++#else ++#define _mm_shuffle_pd(a, b, imm8) \ ++ _mm_castsi128_pd(_mm_set_epi64x( \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(b), (imm8 & 0x2) >> 1), \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(a), imm8 & 0x1))) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflehi_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflehi_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = \ ++ vshuffleq_s16(_input, _input, 0, 1, 2, 3, ((imm) & (0x3)) + 4, \ ++ (((imm) >> 2) & 0x3) + 4, (((imm) >> 4) & 0x3) + 4, \ ++ (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflehi_epi16(a, imm) _mm_shufflehi_epi16_function((a), (imm)) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflelo_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflelo_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = vshuffleq_s16( \ ++ _input, _input, ((imm) & (0x3)), (((imm) >> 2) & 0x3), \ ++ (((imm) >> 4) & 0x3), (((imm) >> 6) & 0x3), 4, 5, 6, 7); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflelo_epi16(a, imm) _mm_shufflelo_epi16_function((a), (imm)) ++#endif ++ ++// Shift packed 16-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi16 ++FORCE_INLINE __m128i _mm_sll_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16((int16_t) c); ++ return vreinterpretq_m128i_s16(vshlq_s16(vreinterpretq_s16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi32 ++FORCE_INLINE __m128i _mm_sll_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32((int32_t) c); ++ return vreinterpretq_m128i_s32(vshlq_s32(vreinterpretq_s32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi64 ++FORCE_INLINE __m128i _mm_sll_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64((int64_t) c); ++ return vreinterpretq_m128i_s64(vshlq_s64(vreinterpretq_s64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi16 ++FORCE_INLINE __m128i _mm_slli_epi16(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~15)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16(vreinterpretq_s16_m128i(a), vdupq_n_s16(imm))); ++} ++ ++// Shift packed 32-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi32 ++FORCE_INLINE __m128i _mm_slli_epi32(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~31)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32(vreinterpretq_s32_m128i(a), vdupq_n_s32(imm))); ++} ++ ++// Shift packed 64-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi64 ++FORCE_INLINE __m128i _mm_slli_epi64(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~63)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s64( ++ vshlq_s64(vreinterpretq_s64_m128i(a), vdupq_n_s64(imm))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_si128 ++#define _mm_slli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely(imm == 0)) ret = vreinterpretq_s8_m128i(_a); \ ++ else if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vdupq_n_s8(0), vreinterpretq_s8_m128i(_a), \ ++ ((imm <= 0 || imm > 15) ? 0 : (16 - imm))); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Compute the square root of packed double-precision (64-bit) floating-point ++// elements in a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_pd ++FORCE_INLINE __m128d _mm_sqrt_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsqrtq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double a0 = sqrt(((double *) &a)[0]); ++ double a1 = sqrt(((double *) &a)[1]); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Compute the square root of the lower double-precision (64-bit) floating-point ++// element in b, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_sd ++FORCE_INLINE __m128d _mm_sqrt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_sqrt_pd(b)); ++#else ++ return _mm_set_pd(((double *) &a)[1], sqrt(((double *) &b)[0])); ++#endif ++} ++ ++// Shift packed 16-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi16 ++FORCE_INLINE __m128i _mm_sra_epi16(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_cmplt_epi16(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16((int16x8_t) a, vdupq_n_s16((int) -c))); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi32 ++FORCE_INLINE __m128i _mm_sra_epi32(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_cmplt_epi32(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32((int32x4_t) a, vdupq_n_s32((int) -c))); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in sign ++// bits, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi16 ++FORCE_INLINE __m128i _mm_srai_epi16(__m128i a, int imm) ++{ ++ const int count = (imm & ~15) ? 15 : imm; ++ return (__m128i) vshlq_s16((int16x8_t) a, vdupq_n_s16(-count)); ++} ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi32 ++// FORCE_INLINE __m128i _mm_srai_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srai_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) == 0)) { \ ++ ret = _a; \ ++ } else if (_sse2neon_likely(0 < (imm) && (imm) < 32)) { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshlq_s32(vreinterpretq_s32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } else { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshrq_n_s32(vreinterpretq_s32_m128i(_a), 31)); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 16-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi16 ++FORCE_INLINE __m128i _mm_srl_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16(-(int16_t) c); ++ return vreinterpretq_m128i_u16(vshlq_u16(vreinterpretq_u16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi32 ++FORCE_INLINE __m128i _mm_srl_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32(-(int32_t) c); ++ return vreinterpretq_m128i_u32(vshlq_u32(vreinterpretq_u32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi64 ++FORCE_INLINE __m128i _mm_srl_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64(-(int64_t) c); ++ return vreinterpretq_m128i_u64(vshlq_u64(vreinterpretq_u64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi16 ++#define _mm_srli_epi16(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~15)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u16( \ ++ vshlq_u16(vreinterpretq_u16_m128i(_a), vdupq_n_s16(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi32 ++// FORCE_INLINE __m128i _mm_srli_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srli_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~31)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u32( \ ++ vshlq_u32(vreinterpretq_u32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 64-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi64 ++#define _mm_srli_epi64(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~63)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u64( \ ++ vshlq_u64(vreinterpretq_u64_m128i(_a), vdupq_n_s64(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_si128 ++#define _mm_srli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vreinterpretq_s8_m128i(_a), vdupq_n_s8(0), \ ++ (imm > 15 ? 0 : imm)); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd ++FORCE_INLINE void _mm_store_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64((float64_t *) mem_addr, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_f32((float32_t *) mem_addr, vreinterpretq_f32_m128d(a)); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd1 ++FORCE_INLINE void _mm_store_pd1(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x1_t a_low = vget_low_f64(vreinterpretq_f64_m128d(a)); ++ vst1q_f64((float64_t *) mem_addr, ++ vreinterpretq_f64_m128d(vcombine_f64(a_low, a_low))); ++#else ++ float32x2_t a_low = vget_low_f32(vreinterpretq_f32_m128d(a)); ++ vst1q_f32((float32_t *) mem_addr, ++ vreinterpretq_f32_m128d(vcombine_f32(a_low, a_low))); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_store_sd ++FORCE_INLINE void _mm_store_sd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_u64((uint64_t *) mem_addr, vget_low_u64(vreinterpretq_u64_m128d(a))); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_si128 ++FORCE_INLINE void _mm_store_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#expand=9,526,5601&text=_mm_store1_pd ++#define _mm_store1_pd _mm_store_pd1 ++ ++// Store the upper double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pd ++FORCE_INLINE void _mm_storeh_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_high_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_high_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 64-bit integer from the first element of a into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_epi64 ++FORCE_INLINE void _mm_storel_epi64(__m128i *a, __m128i b) ++{ ++ vst1_u64((uint64_t *) a, vget_low_u64(vreinterpretq_u64_m128i(b))); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pd ++FORCE_INLINE void _mm_storel_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_low_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 2 double-precision (64-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_pd ++FORCE_INLINE void _mm_storer_pd(double *mem_addr, __m128d a) ++{ ++ float32x4_t f = vreinterpretq_f32_m128d(a); ++ _mm_store_pd(mem_addr, vreinterpretq_m128d_f32(vextq_f32(f, f, 2))); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_pd ++FORCE_INLINE void _mm_storeu_pd(double *mem_addr, __m128d a) ++{ ++ _mm_store_pd(mem_addr, a); ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si128 ++FORCE_INLINE void _mm_storeu_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store 32-bit integer from the first element of a into memory. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si32 ++FORCE_INLINE void _mm_storeu_si32(void *p, __m128i a) ++{ ++ vst1q_lane_s32((int32_t *) p, vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory using a non-temporal memory hint. mem_addr must ++// be aligned on a 16-byte boundary or a general-protection exception may be ++// generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pd ++FORCE_INLINE void _mm_stream_pd(double *p, __m128d a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (__m128d *) p); ++#elif defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64(p, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128d(a)); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory using a non-temporal memory ++// hint. mem_addr must be aligned on a 16-byte boundary or a general-protection ++// exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si128 ++FORCE_INLINE void _mm_stream_si128(__m128i *p, __m128i a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, p); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128i(a)); ++#endif ++} ++ ++// Store 32-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si32 ++FORCE_INLINE void _mm_stream_si32(int *p, int a) ++{ ++ vst1q_lane_s32((int32_t *) p, vdupq_n_s32(a), 0); ++} ++ ++// Store 64-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si64 ++FORCE_INLINE void _mm_stream_si64(__int64 *p, __int64 a) ++{ ++ vst1_s64((int64_t *) p, vdup_n_s64((int64_t) a)); ++} ++ ++// Subtract packed 16-bit integers in b from packed 16-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi16 ++FORCE_INLINE __m128i _mm_sub_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed 32-bit integers in b from packed 32-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi32 ++FORCE_INLINE __m128i _mm_sub_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Subtract packed 64-bit integers in b from packed 64-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi64 ++FORCE_INLINE __m128i _mm_sub_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vsubq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Subtract packed 8-bit integers in b from packed 8-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi8 ++FORCE_INLINE __m128i _mm_sub_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed double-precision (64-bit) floating-point elements in b from ++// packed double-precision (64-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_sub_pd ++FORCE_INLINE __m128d _mm_sub_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] - db[0]; ++ c[1] = da[1] - db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Subtract the lower double-precision (64-bit) floating-point element in b from ++// the lower double-precision (64-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_sd ++FORCE_INLINE __m128d _mm_sub_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_sub_pd(a, b)); ++} ++ ++// Subtract 64-bit integer b from 64-bit integer a, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_si64 ++FORCE_INLINE __m64 _mm_sub_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vsub_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Subtract packed signed 16-bit integers in b from packed 16-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi16 ++FORCE_INLINE __m128i _mm_subs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed signed 8-bit integers in b from packed 8-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi8 ++FORCE_INLINE __m128i _mm_subs_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed unsigned 16-bit integers in b from packed unsigned 16-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu16 ++FORCE_INLINE __m128i _mm_subs_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqsubq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Subtract packed unsigned 8-bit integers in b from packed unsigned 8-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu8 ++FORCE_INLINE __m128i _mm_subs_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqsubq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++#define _mm_ucomieq_sd _mm_comieq_sd ++#define _mm_ucomige_sd _mm_comige_sd ++#define _mm_ucomigt_sd _mm_comigt_sd ++#define _mm_ucomile_sd _mm_comile_sd ++#define _mm_ucomilt_sd _mm_comilt_sd ++#define _mm_ucomineq_sd _mm_comineq_sd ++ ++// Return vector of type __m128d with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_pd ++FORCE_INLINE __m128d _mm_undefined_pd(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128d a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_pd(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi16 ++FORCE_INLINE __m128i _mm_unpackhi_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip2q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi32 ++FORCE_INLINE __m128i _mm_unpackhi_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip2q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_high_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi64 ++FORCE_INLINE __m128i _mm_unpackhi_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip2q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_h = vget_high_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_h = vget_high_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_h, b_h)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the high half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi8 ++FORCE_INLINE __m128i _mm_unpackhi_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip2q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the high half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_pd ++FORCE_INLINE __m128d _mm_unpackhi_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip2q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_high_s64(vreinterpretq_s64_m128d(a)), ++ vget_high_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi16 ++FORCE_INLINE __m128i _mm_unpacklo_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip1q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi32 ++FORCE_INLINE __m128i _mm_unpacklo_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip1q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_low_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi64 ++FORCE_INLINE __m128i _mm_unpacklo_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip1q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_l = vget_low_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_l = vget_low_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_l, b_l)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi8 ++FORCE_INLINE __m128i _mm_unpacklo_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip1q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_pd ++FORCE_INLINE __m128d _mm_unpacklo_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip1q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_low_s64(vreinterpretq_s64_m128d(a)), ++ vget_low_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Compute the bitwise XOR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_pd ++FORCE_INLINE __m128d _mm_xor_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ veorq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise XOR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_si128 ++FORCE_INLINE __m128i _mm_xor_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ veorq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++/* SSE3 */ ++ ++// Alternatively add and subtract packed double-precision (64-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_addsub_pd ++FORCE_INLINE __m128d _mm_addsub_pd(__m128d a, __m128d b) ++{ ++ _sse2neon_const __m128d mask = _mm_set_pd(1.0f, -1.0f); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vfmaq_f64(vreinterpretq_f64_m128d(a), ++ vreinterpretq_f64_m128d(b), ++ vreinterpretq_f64_m128d(mask))); ++#else ++ return _mm_add_pd(_mm_mul_pd(b, mask), a); ++#endif ++} ++ ++// Alternatively add and subtract packed single-precision (32-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=addsub_ps ++FORCE_INLINE __m128 _mm_addsub_ps(__m128 a, __m128 b) ++{ ++ _sse2neon_const __m128 mask = _mm_setr_ps(-1.0f, 1.0f, -1.0f, 1.0f); ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_FMA) /* VFPv4+ */ ++ return vreinterpretq_m128_f32(vfmaq_f32(vreinterpretq_f32_m128(a), ++ vreinterpretq_f32_m128(mask), ++ vreinterpretq_f32_m128(b))); ++#else ++ return _mm_add_ps(_mm_mul_ps(b, mask), a); ++#endif ++} ++ ++// Horizontally add adjacent pairs of double-precision (64-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pd ++FORCE_INLINE __m128d _mm_hadd_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vpaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[] = {da[0] + da[1], db[0] + db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of single-precision (32-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_ps ++FORCE_INLINE __m128 _mm_hadd_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vpaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vpadd_f32(a10, a32), vpadd_f32(b10, b32))); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of double-precision (64-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pd ++FORCE_INLINE __m128d _mm_hsub_pd(__m128d _a, __m128d _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vuzp1q_f64(a, b), vuzp2q_f64(a, b))); ++#else ++ double *da = (double *) &_a; ++ double *db = (double *) &_b; ++ double c[] = {da[0] - da[1], db[0] - db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of single-precision (32-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_ps ++FORCE_INLINE __m128 _mm_hsub_ps(__m128 _a, __m128 _b) ++{ ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vuzp1q_f32(a, b), vuzp2q_f32(a, b))); ++#else ++ float32x4x2_t c = vuzpq_f32(a, b); ++ return vreinterpretq_m128_f32(vsubq_f32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Load 128-bits of integer data from unaligned memory into dst. This intrinsic ++// may perform better than _mm_loadu_si128 when the data crosses a cache line ++// boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lddqu_si128 ++#define _mm_lddqu_si128 _mm_loadu_si128 ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loaddup_pd ++#define _mm_loaddup_pd _mm_load1_pd ++ ++// Duplicate the low double-precision (64-bit) floating-point element from a, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movedup_pd ++FORCE_INLINE __m128d _mm_movedup_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdupq_laneq_f64(vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_u64( ++ vdupq_n_u64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0))); ++#endif ++} ++ ++// Duplicate odd-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehdup_ps ++FORCE_INLINE __m128 _mm_movehdup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 1, 1, 3, 3)); ++#else ++ float32_t a1 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ float32_t a3 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 3); ++ float ALIGN_STRUCT(16) data[4] = {a1, a1, a3, a3}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Duplicate even-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_moveldup_ps ++FORCE_INLINE __m128 _mm_moveldup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 0, 0, 2, 2)); ++#else ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32_t a2 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 2); ++ float ALIGN_STRUCT(16) data[4] = {a0, a0, a2, a2}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++/* SSSE3 */ ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi16 ++FORCE_INLINE __m128i _mm_abs_epi16(__m128i a) ++{ ++ return vreinterpretq_m128i_s16(vabsq_s16(vreinterpretq_s16_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi32 ++FORCE_INLINE __m128i _mm_abs_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32(vabsq_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi8 ++FORCE_INLINE __m128i _mm_abs_epi8(__m128i a) ++{ ++ return vreinterpretq_m128i_s8(vabsq_s8(vreinterpretq_s8_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi16 ++FORCE_INLINE __m64 _mm_abs_pi16(__m64 a) ++{ ++ return vreinterpret_m64_s16(vabs_s16(vreinterpret_s16_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi32 ++FORCE_INLINE __m64 _mm_abs_pi32(__m64 a) ++{ ++ return vreinterpret_m64_s32(vabs_s32(vreinterpret_s32_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi8 ++FORCE_INLINE __m64 _mm_abs_pi8(__m64 a) ++{ ++ return vreinterpret_m64_s8(vabs_s8(vreinterpret_s8_m64(a))); ++} ++ ++// Concatenate 16-byte blocks in a and b into a 32-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 16 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_epi8 ++#if defined(__GNUC__) && !defined(__clang__) ++#define _mm_alignr_epi8(a, b, imm) \ ++ __extension__({ \ ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); \ ++ uint8x16_t _b = vreinterpretq_u8_m128i(b); \ ++ __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) \ ++ ret = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) \ ++ ret = _mm_srli_si128(a, imm >= 16 ? imm - 16 : 0); \ ++ else \ ++ ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(_b, _a, imm < 16 ? imm : 0)); \ ++ ret; \ ++ }) ++ ++#else ++#define _mm_alignr_epi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, uint8x16_t __a = vreinterpretq_u8_m128i(_a); \ ++ uint8x16_t __b = vreinterpretq_u8_m128i(_b); __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) ret = \ ++ vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) ret = \ ++ _mm_srli_si128(_a, imm >= 16 ? imm - 16 : 0); \ ++ else ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(__b, __a, imm < 16 ? imm : 0)); \ ++ _sse2neon_return(ret);) ++ ++#endif ++ ++// Concatenate 8-byte blocks in a and b into a 16-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 8 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_pi8 ++#define _mm_alignr_pi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m64, a, b, __m64 ret; if (_sse2neon_unlikely((imm) >= 16)) { \ ++ ret = vreinterpret_m64_s8(vdup_n_s8(0)); \ ++ } else { \ ++ uint8x8_t tmp_low; \ ++ uint8x8_t tmp_high; \ ++ if ((imm) >= 8) { \ ++ const int idx = (imm) -8; \ ++ tmp_low = vreinterpret_u8_m64(_a); \ ++ tmp_high = vdup_n_u8(0); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } else { \ ++ const int idx = (imm); \ ++ tmp_low = vreinterpret_u8_m64(_b); \ ++ tmp_high = vreinterpret_u8_m64(_a); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } \ ++ } _sse2neon_return(ret);) ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi16 ++FORCE_INLINE __m128i _mm_hadd_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16(vpaddq_s16(a, b)); ++#else ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(vget_low_s16(a), vget_high_s16(a)), ++ vpadd_s16(vget_low_s16(b), vget_high_s16(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi32 ++FORCE_INLINE __m128i _mm_hadd_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32(vpaddq_s32(a, b)); ++#else ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vpadd_s32(vget_low_s32(a), vget_high_s32(a)), ++ vpadd_s32(vget_low_s32(b), vget_high_s32(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi16 ++FORCE_INLINE __m64 _mm_hadd_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vpadd_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi32 ++FORCE_INLINE __m64 _mm_hadd_pi32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s32( ++ vpadd_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_epi16 ++FORCE_INLINE __m128i _mm_hadds_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ return vreinterpretq_s64_s16( ++ vqaddq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ // Interleave using vshrn/vmovn ++ // [a0|a2|a4|a6|b0|b2|b4|b6] ++ // [a1|a3|a5|a7|b1|b3|b5|b7] ++ int16x8_t ab0246 = vcombine_s16(vmovn_s32(a), vmovn_s32(b)); ++ int16x8_t ab1357 = vcombine_s16(vshrn_n_s32(a, 16), vshrn_n_s32(b, 16)); ++ // Saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(ab0246, ab1357)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_pi16 ++FORCE_INLINE __m64 _mm_hadds_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_s64_s16(vqadd_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t res = vuzp_s16(a, b); ++ return vreinterpret_s64_s16(vqadd_s16(res.val[0], res.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi16 ++FORCE_INLINE __m128i _mm_hsub_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi32 ++FORCE_INLINE __m128i _mm_hsub_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vuzp1q_s32(a, b), vuzp2q_s32(a, b))); ++#else ++ int32x4x2_t c = vuzpq_s32(a, b); ++ return vreinterpretq_m128i_s32(vsubq_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pi16 ++FORCE_INLINE __m64 _mm_hsub_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_hsub_pi32 ++FORCE_INLINE __m64 _mm_hsub_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s32(vsub_s32(vuzp1_s32(a, b), vuzp2_s32(a, b))); ++#else ++ int32x2x2_t c = vuzp_s32(a, b); ++ return vreinterpret_m64_s32(vsub_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_epi16 ++FORCE_INLINE __m128i _mm_hsubs_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vqsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_pi16 ++FORCE_INLINE __m64 _mm_hsubs_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vqsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vqsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, ++// and pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_epi16 ++FORCE_INLINE __m128i _mm_maddubs_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ int16x8_t tl = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_low_u8(a))), ++ vmovl_s8(vget_low_s8(b))); ++ int16x8_t th = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_high_u8(a))), ++ vmovl_s8(vget_high_s8(b))); ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vuzp1q_s16(tl, th), vuzp2q_s16(tl, th))); ++#else ++ // This would be much simpler if x86 would choose to zero extend OR sign ++ // extend, not both. This could probably be optimized better. ++ uint16x8_t a = vreinterpretq_u16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // Zero extend a ++ int16x8_t a_odd = vreinterpretq_s16_u16(vshrq_n_u16(a, 8)); ++ int16x8_t a_even = vreinterpretq_s16_u16(vbicq_u16(a, vdupq_n_u16(0xff00))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x8_t b_even = vshrq_n_s16(vshlq_n_s16(b, 8), 8); ++ int16x8_t b_odd = vshrq_n_s16(b, 8); ++ ++ // multiply ++ int16x8_t prod1 = vmulq_s16(a_even, b_even); ++ int16x8_t prod2 = vmulq_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(prod1, prod2)); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, and ++// pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_pi16 ++FORCE_INLINE __m64 _mm_maddubs_pi16(__m64 _a, __m64 _b) ++{ ++ uint16x4_t a = vreinterpret_u16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // Zero extend a ++ int16x4_t a_odd = vreinterpret_s16_u16(vshr_n_u16(a, 8)); ++ int16x4_t a_even = vreinterpret_s16_u16(vand_u16(a, vdup_n_u16(0xff))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x4_t b_even = vshr_n_s16(vshl_n_s16(b, 8), 8); ++ int16x4_t b_odd = vshr_n_s16(b, 8); ++ ++ // multiply ++ int16x4_t prod1 = vmul_s16(a_even, b_even); ++ int16x4_t prod2 = vmul_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpret_m64_s16(vqadd_s16(prod1, prod2)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Shift right by 15 bits while rounding up, and store ++// the packed 16-bit integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_epi16 ++FORCE_INLINE __m128i _mm_mulhrs_epi16(__m128i a, __m128i b) ++{ ++ // Has issues due to saturation ++ // return vreinterpretq_m128i_s16(vqrdmulhq_s16(a, b)); ++ ++ // Multiply ++ int32x4_t mul_lo = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int32x4_t mul_hi = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ // Rounding narrowing shift right ++ // narrow = (int16_t)((mul + 16384) >> 15); ++ int16x4_t narrow_lo = vrshrn_n_s32(mul_lo, 15); ++ int16x4_t narrow_hi = vrshrn_n_s32(mul_hi, 15); ++ ++ // Join together ++ return vreinterpretq_m128i_s16(vcombine_s16(narrow_lo, narrow_hi)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Truncate each intermediate integer to the 18 most ++// significant bits, round by adding 1, and store bits [16:1] to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_pi16 ++FORCE_INLINE __m64 _mm_mulhrs_pi16(__m64 a, __m64 b) ++{ ++ int32x4_t mul_extend = ++ vmull_s16((vreinterpret_s16_m64(a)), (vreinterpret_s16_m64(b))); ++ ++ // Rounding narrowing shift right ++ return vreinterpret_m64_s16(vrshrn_n_s32(mul_extend, 15)); ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi8 ++FORCE_INLINE __m128i _mm_shuffle_epi8(__m128i a, __m128i b) ++{ ++ int8x16_t tbl = vreinterpretq_s8_m128i(a); // input a ++ uint8x16_t idx = vreinterpretq_u8_m128i(b); // input b ++ uint8x16_t idx_masked = ++ vandq_u8(idx, vdupq_n_u8(0x8F)); // avoid using meaningless bits ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8(vqtbl1q_s8(tbl, idx_masked)); ++#elif defined(__GNUC__) ++ int8x16_t ret; ++ // %e and %f represent the even and odd D registers ++ // respectively. ++ __asm__ __volatile__( ++ "vtbl.8 %e[ret], {%e[tbl], %f[tbl]}, %e[idx]\n" ++ "vtbl.8 %f[ret], {%e[tbl], %f[tbl]}, %f[idx]\n" ++ : [ret] "=&w"(ret) ++ : [tbl] "w"(tbl), [idx] "w"(idx_masked)); ++ return vreinterpretq_m128i_s8(ret); ++#else ++ // use this line if testing on aarch64 ++ int8x8x2_t a_split = {vget_low_s8(tbl), vget_high_s8(tbl)}; ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vtbl2_s8(a_split, vget_low_u8(idx_masked)), ++ vtbl2_s8(a_split, vget_high_u8(idx_masked)))); ++#endif ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi8 ++FORCE_INLINE __m64 _mm_shuffle_pi8(__m64 a, __m64 b) ++{ ++ const int8x8_t controlMask = ++ vand_s8(vreinterpret_s8_m64(b), vdup_n_s8((int8_t) (0x1 << 7 | 0x07))); ++ int8x8_t res = vtbl1_s8(vreinterpret_s8_m64(a), controlMask); ++ return vreinterpret_m64_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed ++// 16-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi16 ++FORCE_INLINE __m128i _mm_sign_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x8_t ltMask = vreinterpretq_u16_s16(vshrq_n_s16(b, 15)); ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqzq_s16(b)); ++#else ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqq_s16(b, vdupq_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s16(a) equals to negative ++ // 'a') based on ltMask ++ int16x8_t masked = vbslq_s16(ltMask, vnegq_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x8_t res = vbicq_s16(masked, zeroMask); ++ return vreinterpretq_m128i_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed ++// 32-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi32 ++FORCE_INLINE __m128i _mm_sign_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x4_t ltMask = vreinterpretq_u32_s32(vshrq_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqzq_s32(b)); ++#else ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqq_s32(b, vdupq_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s32(a) equals to negative ++ // 'a') based on ltMask ++ int32x4_t masked = vbslq_s32(ltMask, vnegq_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x4_t res = vbicq_s32(masked, zeroMask); ++ return vreinterpretq_m128i_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed ++// 8-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi8 ++FORCE_INLINE __m128i _mm_sign_epi8(__m128i _a, __m128i _b) ++{ ++ int8x16_t a = vreinterpretq_s8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x16_t ltMask = vreinterpretq_u8_s8(vshrq_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqzq_s8(b)); ++#else ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqq_s8(b, vdupq_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s8(a) return negative 'a') ++ // based on ltMask ++ int8x16_t masked = vbslq_s8(ltMask, vnegq_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x16_t res = vbicq_s8(masked, zeroMask); ++ ++ return vreinterpretq_m128i_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed 16-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi16 ++FORCE_INLINE __m64 _mm_sign_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x4_t ltMask = vreinterpret_u16_s16(vshr_n_s16(b, 15)); ++ ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceqz_s16(b)); ++#else ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceq_s16(b, vdup_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s16(a) return negative 'a') ++ // based on ltMask ++ int16x4_t masked = vbsl_s16(ltMask, vneg_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x4_t res = vbic_s16(masked, zeroMask); ++ ++ return vreinterpret_m64_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed 32-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi32 ++FORCE_INLINE __m64 _mm_sign_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x2_t ltMask = vreinterpret_u32_s32(vshr_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceqz_s32(b)); ++#else ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceq_s32(b, vdup_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s32(a) return negative 'a') ++ // based on ltMask ++ int32x2_t masked = vbsl_s32(ltMask, vneg_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x2_t res = vbic_s32(masked, zeroMask); ++ ++ return vreinterpret_m64_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed 8-bit integer ++// in b is negative, and store the results in dst. Element in dst are zeroed out ++// when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi8 ++FORCE_INLINE __m64 _mm_sign_pi8(__m64 _a, __m64 _b) ++{ ++ int8x8_t a = vreinterpret_s8_m64(_a); ++ int8x8_t b = vreinterpret_s8_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x8_t ltMask = vreinterpret_u8_s8(vshr_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceqz_s8(b)); ++#else ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceq_s8(b, vdup_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s8(a) return negative 'a') ++ // based on ltMask ++ int8x8_t masked = vbsl_s8(ltMask, vneg_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x8_t res = vbic_s8(masked, zeroMask); ++ ++ return vreinterpret_m64_s8(res); ++} ++ ++/* SSE4.1 */ ++ ++// Blend packed 16-bit integers from a and b using control mask imm8, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_epi16 ++// FORCE_INLINE __m128i _mm_blend_epi16(__m128i a, __m128i b, ++// __constrange(0,255) int imm) ++#define _mm_blend_epi16(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, \ ++ const uint16_t _mask[8] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 1)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 2)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 3)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 4)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 5)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 6)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 7)) ? (uint16_t) -1 : 0x0); \ ++ uint16x8_t _mask_vec = vld1q_u16(_mask); \ ++ uint16x8_t __a = vreinterpretq_u16_m128i(_a); \ ++ uint16x8_t __b = vreinterpretq_u16_m128i(_b); _sse2neon_return( \ ++ vreinterpretq_m128i_u16(vbslq_u16(_mask_vec, __b, __a)));) ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using control mask imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_pd ++#define _mm_blend_pd(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128d, a, b, \ ++ const uint64_t _mask[2] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? ~UINT64_C(0) : UINT64_C(0), \ ++ ((imm) & (1 << 1)) ? ~UINT64_C(0) : UINT64_C(0)); \ ++ uint64x2_t _mask_vec = vld1q_u64(_mask); \ ++ uint64x2_t __a = vreinterpretq_u64_m128d(_a); \ ++ uint64x2_t __b = vreinterpretq_u64_m128d(_b); _sse2neon_return( \ ++ vreinterpretq_m128d_u64(vbslq_u64(_mask_vec, __b, __a)));) ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_ps ++FORCE_INLINE __m128 _mm_blend_ps(__m128 _a, __m128 _b, const char imm8) ++{ ++ const uint32_t ALIGN_STRUCT(16) ++ data[4] = {((imm8) & (1 << 0)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0}; ++ uint32x4_t mask = vld1q_u32(data); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Blend packed 8-bit integers from a and b using mask, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_epi8 ++FORCE_INLINE __m128i _mm_blendv_epi8(__m128i _a, __m128i _b, __m128i _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint8x16_t mask = ++ vreinterpretq_u8_s8(vshrq_n_s8(vreinterpretq_s8_m128i(_mask), 7)); ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ uint8x16_t b = vreinterpretq_u8_m128i(_b); ++ return vreinterpretq_m128i_u8(vbslq_u8(mask, b, a)); ++} ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_pd ++FORCE_INLINE __m128d _mm_blendv_pd(__m128d _a, __m128d _b, __m128d _mask) ++{ ++ uint64x2_t mask = ++ vreinterpretq_u64_s64(vshrq_n_s64(vreinterpretq_s64_m128d(_mask), 63)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64(vbslq_f64(mask, b, a)); ++#else ++ uint64x2_t a = vreinterpretq_u64_m128d(_a); ++ uint64x2_t b = vreinterpretq_u64_m128d(_b); ++ return vreinterpretq_m128d_u64(vbslq_u64(mask, b, a)); ++#endif ++} ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_ps ++FORCE_INLINE __m128 _mm_blendv_ps(__m128 _a, __m128 _b, __m128 _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint32x4_t mask = ++ vreinterpretq_u32_s32(vshrq_n_s32(vreinterpretq_s32_m128(_mask), 31)); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a up ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_pd ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndpq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(ceil(f[1]), ceil(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a up to ++// an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ps ++FORCE_INLINE __m128 _mm_ceil_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndpq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ceilf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b up to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_sd ++FORCE_INLINE __m128d _mm_ceil_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_ceil_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b up to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ss ++FORCE_INLINE __m128 _mm_ceil_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_ceil_ps(b)); ++} ++ ++// Compare packed 64-bit integers in a and b for equality, and store the results ++// in dst ++FORCE_INLINE __m128i _mm_cmpeq_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vceqq_u64(vreinterpretq_u64_m128i(a), vreinterpretq_u64_m128i(b))); ++#else ++ // ARMv7 lacks vceqq_u64 ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128i_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Sign extend packed 16-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi32 ++FORCE_INLINE __m128i _mm_cvtepi16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vmovl_s16(vget_low_s16(vreinterpretq_s16_m128i(a)))); ++} ++ ++// Sign extend packed 16-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi64 ++FORCE_INLINE __m128i _mm_cvtepi16_epi64(__m128i a) ++{ ++ int16x8_t s16x8 = vreinterpretq_s16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Sign extend packed 32-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_epi64 ++FORCE_INLINE __m128i _mm_cvtepi32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a)))); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 16-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi16 ++FORCE_INLINE __m128i _mm_cvtepi8_epi16(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ return vreinterpretq_m128i_s16(s16x8); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi32 ++FORCE_INLINE __m128i _mm_cvtepi8_epi32(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_s32(s32x4); ++} ++ ++// Sign extend packed 8-bit integers in the low 8 bytes of a to packed 64-bit ++// integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi64 ++FORCE_INLINE __m128i _mm_cvtepi8_epi64(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi32 ++FORCE_INLINE __m128i _mm_cvtepu16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_u32( ++ vmovl_u16(vget_low_u16(vreinterpretq_u16_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi64 ++FORCE_INLINE __m128i _mm_cvtepu16_epi64(__m128i a) ++{ ++ uint16x8_t u16x8 = vreinterpretq_u16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Zero extend packed unsigned 32-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu32_epi64 ++FORCE_INLINE __m128i _mm_cvtepu32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_u64( ++ vmovl_u32(vget_low_u32(vreinterpretq_u32_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 16-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi16 ++FORCE_INLINE __m128i _mm_cvtepu8_epi16(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx HGFE DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0H0G 0F0E 0D0C 0B0A */ ++ return vreinterpretq_m128i_u16(u16x8); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi32 ++FORCE_INLINE __m128i _mm_cvtepu8_epi32(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_u32(u32x4); ++} ++ ++// Zero extend packed unsigned 8-bit integers in the low 8 bytes of a to packed ++// 64-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi64 ++FORCE_INLINE __m128i _mm_cvtepu8_epi64(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Conditionally multiply the packed double-precision (64-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, and ++// conditionally store the sum in dst using the low 4 bits of imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_pd ++FORCE_INLINE __m128d _mm_dp_pd(__m128d a, __m128d b, const int imm) ++{ ++ // Generate mask value from constant immediate bit value ++ const int64_t bit0Mask = imm & 0x01 ? UINT64_MAX : 0; ++ const int64_t bit1Mask = imm & 0x02 ? UINT64_MAX : 0; ++#if !SSE2NEON_PRECISE_DP ++ const int64_t bit4Mask = imm & 0x10 ? UINT64_MAX : 0; ++ const int64_t bit5Mask = imm & 0x20 ? UINT64_MAX : 0; ++#endif ++ // Conditional multiplication ++#if !SSE2NEON_PRECISE_DP ++ __m128d mul = _mm_mul_pd(a, b); ++ const __m128d mulMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit5Mask, bit4Mask)); ++ __m128d tmp = _mm_and_pd(mul, mulMask); ++#else ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double d0 = (imm & 0x10) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 0) ++ : 0; ++ double d1 = (imm & 0x20) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 1) ++ : 0; ++#else ++ double d0 = (imm & 0x10) ? ((double *) &a)[0] * ((double *) &b)[0] : 0; ++ double d1 = (imm & 0x20) ? ((double *) &a)[1] * ((double *) &b)[1] : 0; ++#endif ++ __m128d tmp = _mm_set_pd(d1, d0); ++#endif ++ // Sum the products ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double sum = vpaddd_f64(vreinterpretq_f64_m128d(tmp)); ++#else ++ double sum = *((double *) &tmp) + *(((double *) &tmp) + 1); ++#endif ++ // Conditionally store the sum ++ const __m128d sumMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit1Mask, bit0Mask)); ++ __m128d res = _mm_and_pd(_mm_set_pd1(sum), sumMask); ++ return res; ++} ++ ++// Conditionally multiply the packed single-precision (32-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, ++// and conditionally store the sum in dst using the low 4 bits of imm. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_ps ++FORCE_INLINE __m128 _mm_dp_ps(__m128 a, __m128 b, const int imm) ++{ ++ float32x4_t elementwise_prod = _mm_mul_ps(a, b); ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ /* shortcuts */ ++ if (imm == 0xFF) { ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++ ++ if ((imm & 0x0F) == 0x0F) { ++ if (!(imm & (1 << 4))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 0); ++ if (!(imm & (1 << 5))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 1); ++ if (!(imm & (1 << 6))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 2); ++ if (!(imm & (1 << 7))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 3); ++ ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++#endif ++ ++ float s = 0.0f; ++ ++ if (imm & (1 << 4)) ++ s += vgetq_lane_f32(elementwise_prod, 0); ++ if (imm & (1 << 5)) ++ s += vgetq_lane_f32(elementwise_prod, 1); ++ if (imm & (1 << 6)) ++ s += vgetq_lane_f32(elementwise_prod, 2); ++ if (imm & (1 << 7)) ++ s += vgetq_lane_f32(elementwise_prod, 3); ++ ++ const float32_t res[4] = { ++ (imm & 0x1) ? s : 0.0f, ++ (imm & 0x2) ? s : 0.0f, ++ (imm & 0x4) ? s : 0.0f, ++ (imm & 0x8) ? s : 0.0f, ++ }; ++ return vreinterpretq_m128_f32(vld1q_f32(res)); ++} ++ ++// Extract a 32-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi32 ++// FORCE_INLINE int _mm_extract_epi32(__m128i a, __constrange(0,4) int imm) ++#define _mm_extract_epi32(a, imm) \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)) ++ ++// Extract a 64-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi64 ++// FORCE_INLINE __int64 _mm_extract_epi64(__m128i a, __constrange(0,2) int imm) ++#define _mm_extract_epi64(a, imm) \ ++ vgetq_lane_s64(vreinterpretq_s64_m128i(a), (imm)) ++ ++// Extract an 8-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. FORCE_INLINE int _mm_extract_epi8(__m128i a, ++// __constrange(0,16) int imm) ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi8 ++#define _mm_extract_epi8(a, imm) vgetq_lane_u8(vreinterpretq_u8_m128i(a), (imm)) ++ ++// Extracts the selected single-precision (32-bit) floating-point from a. ++// FORCE_INLINE int _mm_extract_ps(__m128 a, __constrange(0,4) int imm) ++#define _mm_extract_ps(a, imm) vgetq_lane_s32(vreinterpretq_s32_m128(a), (imm)) ++ ++// Round the packed double-precision (64-bit) floating-point elements in a down ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_pd ++FORCE_INLINE __m128d _mm_floor_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndmq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(floor(f[1]), floor(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a down ++// to an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ps ++FORCE_INLINE __m128 _mm_floor_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndmq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(floorf(f[3]), floorf(f[2]), floorf(f[1]), floorf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b down to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_sd ++FORCE_INLINE __m128d _mm_floor_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_floor_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b down to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ss ++FORCE_INLINE __m128 _mm_floor_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_floor_ps(b)); ++} ++ ++// Copy a to dst, and insert the 32-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi32 ++// FORCE_INLINE __m128i _mm_insert_epi32(__m128i a, int b, ++// __constrange(0,4) int imm) ++#define _mm_insert_epi32(a, b, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vsetq_lane_s32((b), vreinterpretq_s32_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the 64-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi64 ++// FORCE_INLINE __m128i _mm_insert_epi64(__m128i a, __int64 b, ++// __constrange(0,2) int imm) ++#define _mm_insert_epi64(a, b, imm) \ ++ vreinterpretq_m128i_s64( \ ++ vsetq_lane_s64((b), vreinterpretq_s64_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the lower 8-bit integer from i into dst at the ++// location specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi8 ++// FORCE_INLINE __m128i _mm_insert_epi8(__m128i a, int b, ++// __constrange(0,16) int imm) ++#define _mm_insert_epi8(a, b, imm) \ ++ vreinterpretq_m128i_s8(vsetq_lane_s8((b), vreinterpretq_s8_m128i(a), (imm))) ++ ++// Copy a to tmp, then insert a single-precision (32-bit) floating-point ++// element from b into tmp using the control in imm8. Store tmp to dst using ++// the mask in imm8 (elements are zeroed out when the corresponding bit is set). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=insert_ps ++#define _mm_insert_ps(a, b, imm8) \ ++ _sse2neon_define2( \ ++ __m128, a, b, \ ++ float32x4_t tmp1 = \ ++ vsetq_lane_f32(vgetq_lane_f32(_b, (imm8 >> 6) & 0x3), \ ++ vreinterpretq_f32_m128(_a), 0); \ ++ float32x4_t tmp2 = \ ++ vsetq_lane_f32(vgetq_lane_f32(tmp1, 0), \ ++ vreinterpretq_f32_m128(_a), ((imm8 >> 4) & 0x3)); \ ++ const uint32_t data[4] = \ ++ _sse2neon_init(((imm8) & (1 << 0)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0); \ ++ uint32x4_t mask = vld1q_u32(data); \ ++ float32x4_t all_zeros = vdupq_n_f32(0); \ ++ \ ++ _sse2neon_return(vreinterpretq_m128_f32( \ ++ vbslq_f32(mask, all_zeros, vreinterpretq_f32_m128(tmp2))));) ++ ++// Compare packed signed 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi32 ++FORCE_INLINE __m128i _mm_max_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmaxq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi8 ++FORCE_INLINE __m128i _mm_max_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vmaxq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu16 ++FORCE_INLINE __m128i _mm_max_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vmaxq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_max_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vmaxq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi32 ++FORCE_INLINE __m128i _mm_min_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vminq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi8 ++FORCE_INLINE __m128i _mm_min_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vminq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu16 ++FORCE_INLINE __m128i _mm_min_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vminq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_min_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vminq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Horizontally compute the minimum amongst the packed unsigned 16-bit integers ++// in a, store the minimum and index in dst, and zero the remaining bits in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_minpos_epu16 ++FORCE_INLINE __m128i _mm_minpos_epu16(__m128i a) ++{ ++ __m128i dst; ++ uint16_t min, idx = 0; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Find the minimum value ++ min = vminvq_u16(vreinterpretq_u16_m128i(a)); ++ ++ // Get the index of the minimum value ++ static const uint16_t idxv[] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint16x8_t minv = vdupq_n_u16(min); ++ uint16x8_t cmeq = vceqq_u16(minv, vreinterpretq_u16_m128i(a)); ++ idx = vminvq_u16(vornq_u16(vld1q_u16(idxv), cmeq)); ++#else ++ // Find the minimum value ++ __m64 tmp; ++ tmp = vreinterpret_m64_u16( ++ vmin_u16(vget_low_u16(vreinterpretq_u16_m128i(a)), ++ vget_high_u16(vreinterpretq_u16_m128i(a)))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ min = vget_lane_u16(vreinterpret_u16_m64(tmp), 0); ++ // Get the index of the minimum value ++ int i; ++ for (i = 0; i < 8; i++) { ++ if (min == vgetq_lane_u16(vreinterpretq_u16_m128i(a), 0)) { ++ idx = (uint16_t) i; ++ break; ++ } ++ a = _mm_srli_si128(a, 2); ++ } ++#endif ++ // Generate result ++ dst = _mm_setzero_si128(); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(min, vreinterpretq_u16_m128i(dst), 0)); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(idx, vreinterpretq_u16_m128i(dst), 1)); ++ return dst; ++} ++ ++// Compute the sum of absolute differences (SADs) of quadruplets of unsigned ++// 8-bit integers in a compared to those in b, and store the 16-bit results in ++// dst. Eight SADs are performed using one quadruplet from b and eight ++// quadruplets from a. One quadruplet is selected from b starting at on the ++// offset specified in imm8. Eight quadruplets are formed from sequential 8-bit ++// integers selected from a starting at the offset specified in imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mpsadbw_epu8 ++FORCE_INLINE __m128i _mm_mpsadbw_epu8(__m128i a, __m128i b, const int imm) ++{ ++ uint8x16_t _a, _b; ++ ++ switch (imm & 0x4) { ++ case 0: ++ // do nothing ++ _a = vreinterpretq_u8_m128i(a); ++ break; ++ case 4: ++ _a = vreinterpretq_u8_u32(vextq_u32(vreinterpretq_u32_m128i(a), ++ vreinterpretq_u32_m128i(a), 1)); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ switch (imm & 0x3) { ++ case 0: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 0))); ++ break; ++ case 1: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 1))); ++ break; ++ case 2: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 2))); ++ break; ++ case 3: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 3))); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ int16x8_t c04, c15, c26, c37; ++ uint8x8_t low_b = vget_low_u8(_b); ++ c04 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a), low_b)); ++ uint8x16_t _a_1 = vextq_u8(_a, _a, 1); ++ c15 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_1), low_b)); ++ uint8x16_t _a_2 = vextq_u8(_a, _a, 2); ++ c26 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_2), low_b)); ++ uint8x16_t _a_3 = vextq_u8(_a, _a, 3); ++ c37 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_3), low_b)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // |0|4|2|6| ++ c04 = vpaddq_s16(c04, c26); ++ // |1|5|3|7| ++ c15 = vpaddq_s16(c15, c37); ++ ++ int32x4_t trn1_c = ++ vtrn1q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ int32x4_t trn2_c = ++ vtrn2q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ return vreinterpretq_m128i_s16(vpaddq_s16(vreinterpretq_s16_s32(trn1_c), ++ vreinterpretq_s16_s32(trn2_c))); ++#else ++ int16x4_t c01, c23, c45, c67; ++ c01 = vpadd_s16(vget_low_s16(c04), vget_low_s16(c15)); ++ c23 = vpadd_s16(vget_low_s16(c26), vget_low_s16(c37)); ++ c45 = vpadd_s16(vget_high_s16(c04), vget_high_s16(c15)); ++ c67 = vpadd_s16(vget_high_s16(c26), vget_high_s16(c37)); ++ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(c01, c23), vpadd_s16(c45, c67))); ++#endif ++} ++ ++// Multiply the low signed 32-bit integers from each packed 64-bit element in ++// a and b, and store the signed 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epi32 ++FORCE_INLINE __m128i _mm_mul_epi32(__m128i a, __m128i b) ++{ ++ // vmull_s32 upcasts instead of masking, so we downcast. ++ int32x2_t a_lo = vmovn_s64(vreinterpretq_s64_m128i(a)); ++ int32x2_t b_lo = vmovn_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vmull_s32(a_lo, b_lo)); ++} ++ ++// Multiply the packed 32-bit integers in a and b, producing intermediate 64-bit ++// integers, and store the low 32 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi32 ++FORCE_INLINE __m128i _mm_mullo_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmulq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi32 ++FORCE_INLINE __m128i _mm_packus_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcombine_u16(vqmovun_s32(vreinterpretq_s32_m128i(a)), ++ vqmovun_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_pd ++FORCE_INLINE __m128d _mm_round_pd(__m128d a, int rounding) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndnq_f64(vreinterpretq_f64_m128d(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_pd(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_pd(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndq_f64(vreinterpretq_f64_m128d(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128d_f64(vrndiq_f64(vreinterpretq_f64_m128d(a))); ++ } ++#else ++ double *v_double = (double *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ double res[2], tmp; ++ for (int i = 0; i < 2; i++) { ++ tmp = (v_double[i] < 0) ? -v_double[i] : v_double[i]; ++ double roundDown = floor(tmp); // Round down value ++ double roundUp = ceil(tmp); // Round up value ++ double diffDown = tmp - roundDown; ++ double diffUp = roundUp - tmp; ++ if (diffDown < diffUp) { ++ /* If it's closer to the round down value, then use it */ ++ res[i] = roundDown; ++ } else if (diffDown > diffUp) { ++ /* If it's closer to the round up value, then use it */ ++ res[i] = roundUp; ++ } else { ++ /* If it's equidistant between round up and round down value, ++ * pick the one which is an even number */ ++ double half = roundDown / 2; ++ if (half != floor(half)) { ++ /* If the round down value is odd, return the round up value ++ */ ++ res[i] = roundUp; ++ } else { ++ /* If the round up value is odd, return the round down value ++ */ ++ res[i] = roundDown; ++ } ++ } ++ res[i] = (v_double[i] < 0) ? -res[i] : res[i]; ++ } ++ return _mm_set_pd(res[1], res[0]); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_pd(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_pd(a); ++ } ++ return _mm_set_pd(v_double[1] > 0 ? floor(v_double[1]) : ceil(v_double[1]), ++ v_double[0] > 0 ? floor(v_double[0]) : ceil(v_double[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed single-precision ++// floating-point elements in dst. ++// software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_round_ps ++FORCE_INLINE __m128 _mm_round_ps(__m128 a, int rounding) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndnq_f32(vreinterpretq_f32_m128(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_ps(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_ps(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndq_f32(vreinterpretq_f32_m128(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128_f32(vrndiq_f32(vreinterpretq_f32_m128(a))); ++ } ++#else ++ float *v_float = (float *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vbslq_s32(is_delta_half, r_even, r_normal))); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_ps(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_ps(a); ++ } ++ return _mm_set_ps(v_float[3] > 0 ? floorf(v_float[3]) : ceilf(v_float[3]), ++ v_float[2] > 0 ? floorf(v_float[2]) : ceilf(v_float[2]), ++ v_float[1] > 0 ? floorf(v_float[1]) : ceilf(v_float[1]), ++ v_float[0] > 0 ? floorf(v_float[0]) : ceilf(v_float[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b using ++// the rounding parameter, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_sd ++FORCE_INLINE __m128d _mm_round_sd(__m128d a, __m128d b, int rounding) ++{ ++ return _mm_move_sd(a, _mm_round_pd(b, rounding)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b using ++// the rounding parameter, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. Rounding is done according to the ++// rounding[3:0] parameter, which can be one of: ++// (_MM_FROUND_TO_NEAREST_INT |_MM_FROUND_NO_EXC) // round to nearest, and ++// suppress exceptions ++// (_MM_FROUND_TO_NEG_INF |_MM_FROUND_NO_EXC) // round down, and ++// suppress exceptions ++// (_MM_FROUND_TO_POS_INF |_MM_FROUND_NO_EXC) // round up, and suppress ++// exceptions ++// (_MM_FROUND_TO_ZERO |_MM_FROUND_NO_EXC) // truncate, and suppress ++// exceptions _MM_FROUND_CUR_DIRECTION // use MXCSR.RC; see ++// _MM_SET_ROUNDING_MODE ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_ss ++FORCE_INLINE __m128 _mm_round_ss(__m128 a, __m128 b, int rounding) ++{ ++ return _mm_move_ss(a, _mm_round_ps(b, rounding)); ++} ++ ++// Load 128-bits of integer data from memory into dst using a non-temporal ++// memory hint. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_load_si128 ++FORCE_INLINE __m128i _mm_stream_load_si128(__m128i *p) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ return __builtin_nontemporal_load(p); ++#else ++ return vreinterpretq_m128i_s64(vld1q_s64((int64_t *) p)); ++#endif ++} ++ ++// Compute the bitwise NOT of a and then AND with a 128-bit vector containing ++// all 1's, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_ones ++FORCE_INLINE int _mm_test_all_ones(__m128i a) ++{ ++ return (uint64_t) (vgetq_lane_s64(a, 0) & vgetq_lane_s64(a, 1)) == ++ ~(uint64_t) 0; ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_zeros ++FORCE_INLINE int _mm_test_all_zeros(__m128i a, __m128i mask) ++{ ++ int64x2_t a_and_mask = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(mask)); ++ return !(vgetq_lane_s64(a_and_mask, 0) | vgetq_lane_s64(a_and_mask, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute ++// the bitwise NOT of a and then AND with mask, and set CF to 1 if the result is ++// zero, otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_test_mix_ones_zero ++// Note: Argument names may be wrong in the Intel intrinsics guide. ++FORCE_INLINE int _mm_test_mix_ones_zeros(__m128i a, __m128i mask) ++{ ++ uint64x2_t v = vreinterpretq_u64_m128i(a); ++ uint64x2_t m = vreinterpretq_u64_m128i(mask); ++ ++ // find ones (set-bits) and zeros (clear-bits) under clip mask ++ uint64x2_t ones = vandq_u64(m, v); ++ uint64x2_t zeros = vbicq_u64(m, v); ++ ++ // If both 128-bit variables are populated (non-zero) then return 1. ++ // For comparision purposes, first compact each var down to 32-bits. ++ uint32x2_t reduced = vpmax_u32(vqmovn_u64(ones), vqmovn_u64(zeros)); ++ ++ // if folding minimum is non-zero then both vars must be non-zero ++ return (vget_lane_u32(vpmin_u32(reduced, reduced), 0) != 0); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the CF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testc_si128 ++FORCE_INLINE int _mm_testc_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vbicq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testnzc_si128 ++#define _mm_testnzc_si128(a, b) _mm_test_mix_ones_zeros(a, b) ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the ZF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testz_si128 ++FORCE_INLINE int _mm_testz_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++/* SSE4.2 */ ++ ++static const uint16_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask16b[8] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++static const uint8_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask8b[16] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++ ++/* specify the source data format */ ++#define _SIDD_UBYTE_OPS 0x00 /* unsigned 8-bit characters */ ++#define _SIDD_UWORD_OPS 0x01 /* unsigned 16-bit characters */ ++#define _SIDD_SBYTE_OPS 0x02 /* signed 8-bit characters */ ++#define _SIDD_SWORD_OPS 0x03 /* signed 16-bit characters */ ++ ++/* specify the comparison operation */ ++#define _SIDD_CMP_EQUAL_ANY 0x00 /* compare equal any: strchr */ ++#define _SIDD_CMP_RANGES 0x04 /* compare ranges */ ++#define _SIDD_CMP_EQUAL_EACH 0x08 /* compare equal each: strcmp */ ++#define _SIDD_CMP_EQUAL_ORDERED 0x0C /* compare equal ordered */ ++ ++/* specify the polarity */ ++#define _SIDD_POSITIVE_POLARITY 0x00 ++#define _SIDD_MASKED_POSITIVE_POLARITY 0x20 ++#define _SIDD_NEGATIVE_POLARITY 0x10 /* negate results */ ++#define _SIDD_MASKED_NEGATIVE_POLARITY \ ++ 0x30 /* negate results only before end of string */ ++ ++/* specify the output selection in _mm_cmpXstri */ ++#define _SIDD_LEAST_SIGNIFICANT 0x00 ++#define _SIDD_MOST_SIGNIFICANT 0x40 ++ ++/* specify the output selection in _mm_cmpXstrm */ ++#define _SIDD_BIT_MASK 0x00 ++#define _SIDD_UNIT_MASK 0x40 ++ ++/* Pattern Matching for C macros. ++ * https://github.com/pfultz2/Cloak/wiki/C-Preprocessor-tricks,-tips,-and-idioms ++ */ ++ ++/* catenate */ ++#define SSE2NEON_PRIMITIVE_CAT(a, ...) a##__VA_ARGS__ ++#define SSE2NEON_CAT(a, b) SSE2NEON_PRIMITIVE_CAT(a, b) ++ ++#define SSE2NEON_IIF(c) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_IIF_, c) ++/* run the 2nd parameter */ ++#define SSE2NEON_IIF_0(t, ...) __VA_ARGS__ ++/* run the 1st parameter */ ++#define SSE2NEON_IIF_1(t, ...) t ++ ++#define SSE2NEON_COMPL(b) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_COMPL_, b) ++#define SSE2NEON_COMPL_0 1 ++#define SSE2NEON_COMPL_1 0 ++ ++#define SSE2NEON_DEC(x) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_DEC_, x) ++#define SSE2NEON_DEC_1 0 ++#define SSE2NEON_DEC_2 1 ++#define SSE2NEON_DEC_3 2 ++#define SSE2NEON_DEC_4 3 ++#define SSE2NEON_DEC_5 4 ++#define SSE2NEON_DEC_6 5 ++#define SSE2NEON_DEC_7 6 ++#define SSE2NEON_DEC_8 7 ++#define SSE2NEON_DEC_9 8 ++#define SSE2NEON_DEC_10 9 ++#define SSE2NEON_DEC_11 10 ++#define SSE2NEON_DEC_12 11 ++#define SSE2NEON_DEC_13 12 ++#define SSE2NEON_DEC_14 13 ++#define SSE2NEON_DEC_15 14 ++#define SSE2NEON_DEC_16 15 ++ ++/* detection */ ++#define SSE2NEON_CHECK_N(x, n, ...) n ++#define SSE2NEON_CHECK(...) SSE2NEON_CHECK_N(__VA_ARGS__, 0, ) ++#define SSE2NEON_PROBE(x) x, 1, ++ ++#define SSE2NEON_NOT(x) SSE2NEON_CHECK(SSE2NEON_PRIMITIVE_CAT(SSE2NEON_NOT_, x)) ++#define SSE2NEON_NOT_0 SSE2NEON_PROBE(~) ++ ++#define SSE2NEON_BOOL(x) SSE2NEON_COMPL(SSE2NEON_NOT(x)) ++#define SSE2NEON_IF(c) SSE2NEON_IIF(SSE2NEON_BOOL(c)) ++ ++#define SSE2NEON_EAT(...) ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++#define SSE2NEON_WHEN(c) SSE2NEON_IF(c)(SSE2NEON_EXPAND, SSE2NEON_EAT) ++ ++/* recursion */ ++/* deferred expression */ ++#define SSE2NEON_EMPTY() ++#define SSE2NEON_DEFER(id) id SSE2NEON_EMPTY() ++#define SSE2NEON_OBSTRUCT(...) __VA_ARGS__ SSE2NEON_DEFER(SSE2NEON_EMPTY)() ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++ ++#define SSE2NEON_EVAL(...) \ ++ SSE2NEON_EVAL1(SSE2NEON_EVAL1(SSE2NEON_EVAL1(__VA_ARGS__))) ++#define SSE2NEON_EVAL1(...) \ ++ SSE2NEON_EVAL2(SSE2NEON_EVAL2(SSE2NEON_EVAL2(__VA_ARGS__))) ++#define SSE2NEON_EVAL2(...) \ ++ SSE2NEON_EVAL3(SSE2NEON_EVAL3(SSE2NEON_EVAL3(__VA_ARGS__))) ++#define SSE2NEON_EVAL3(...) __VA_ARGS__ ++ ++#define SSE2NEON_REPEAT(count, macro, ...) \ ++ SSE2NEON_WHEN(count) \ ++ (SSE2NEON_OBSTRUCT(SSE2NEON_REPEAT_INDIRECT)()( \ ++ SSE2NEON_DEC(count), macro, \ ++ __VA_ARGS__) SSE2NEON_OBSTRUCT(macro)(SSE2NEON_DEC(count), \ ++ __VA_ARGS__)) ++#define SSE2NEON_REPEAT_INDIRECT() SSE2NEON_REPEAT ++ ++#define SSE2NEON_SIZE_OF_byte 8 ++#define SSE2NEON_NUMBER_OF_LANES_byte 16 ++#define SSE2NEON_SIZE_OF_word 16 ++#define SSE2NEON_NUMBER_OF_LANES_word 8 ++ ++#define SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE(i, type) \ ++ mtx[i] = vreinterpretq_m128i_##type(vceqq_##type( \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)), \ ++ vreinterpretq_##type##_m128i(a))); ++ ++#define SSE2NEON_FILL_LANE(i, type) \ ++ vec_b[i] = \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)); ++ ++#define PCMPSTR_RANGES(a, b, mtx, data_type_prefix, type_prefix, size, \ ++ number_of_lanes, byte_or_word) \ ++ do { \ ++ SSE2NEON_CAT( \ ++ data_type_prefix, \ ++ SSE2NEON_CAT(size, \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(number_of_lanes, _t)))) \ ++ vec_b[number_of_lanes]; \ ++ __m128i mask = SSE2NEON_IIF(byte_or_word)( \ ++ vreinterpretq_m128i_u16(vdupq_n_u16(0xff)), \ ++ vreinterpretq_m128i_u32(vdupq_n_u32(0xffff))); \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, SSE2NEON_FILL_LANE, \ ++ SSE2NEON_CAT(type_prefix, size))) \ ++ for (int i = 0; i < number_of_lanes; i++) { \ ++ mtx[i] = SSE2NEON_CAT(vreinterpretq_m128i_u, \ ++ size)(SSE2NEON_CAT(vbslq_u, size)( \ ++ SSE2NEON_CAT(vreinterpretq_u, \ ++ SSE2NEON_CAT(size, _m128i))(mask), \ ++ SSE2NEON_CAT(vcgeq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))), \ ++ SSE2NEON_CAT(vcleq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))))); \ ++ } \ ++ } while (0) ++ ++#define PCMPSTR_EQ(a, b, mtx, size, number_of_lanes) \ ++ do { \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, \ ++ SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE, \ ++ SSE2NEON_CAT(u, size))) \ ++ } while (0) ++ ++#define SSE2NEON_CMP_EQUAL_ANY_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_any(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_any_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_RANGES_IMPL(type, data_type, us, byte_or_word) \ ++ static int _sse2neon_cmp_##us##type##_ranges(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_RANGES( \ ++ a, b, mtx, data_type, us, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), byte_or_word); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_ranges_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_EQUAL_ORDERED_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_ordered(__m128i a, int la, \ ++ __m128i b, int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_ordered_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type))))( \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), la, lb, mtx); \ ++ } ++ ++static int _sse2neon_aggregate_equal_any_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ int tmp = _sse2neon_vaddvq_u8(vreinterpretq_u8_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_equal_any_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ int tmp = _sse2neon_vaddvq_u16(vreinterpretq_u16_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ANY(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ANY(SSE2NEON_CMP_EQUAL_ANY_) ++ ++static int _sse2neon_aggregate_ranges_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ __m128i tmp = vreinterpretq_m128i_u32( ++ vshrq_n_u32(vreinterpretq_u32_m128i(mtx[j]), 16)); ++ uint32x4_t vec_res = vandq_u32(vreinterpretq_u32_m128i(mtx[j]), ++ vreinterpretq_u32_m128i(tmp)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int t = vaddvq_u32(vec_res) ? 1 : 0; ++#else ++ uint64x2_t sumh = vpaddlq_u32(vec_res); ++ int t = vgetq_lane_u64(sumh, 0) + vgetq_lane_u64(sumh, 1); ++#endif ++ res |= (t << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_ranges_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ __m128i tmp = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 8)); ++ uint16x8_t vec_res = vandq_u16(vreinterpretq_u16_m128i(mtx[j]), ++ vreinterpretq_u16_m128i(tmp)); ++ int t = _sse2neon_vaddvq_u16(vec_res) ? 1 : 0; ++ res |= (t << j); ++ } ++ return res; ++} ++ ++#define SSE2NEON_CMP_RANGES_IS_BYTE 1 ++#define SSE2NEON_CMP_RANGES_IS_WORD 0 ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_RANGES(prefix) \ ++ prefix##IMPL(byte, uint, u, prefix##IS_BYTE) \ ++ prefix##IMPL(byte, int, s, prefix##IS_BYTE) \ ++ prefix##IMPL(word, uint, u, prefix##IS_WORD) \ ++ prefix##IMPL(word, int, s, prefix##IS_WORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_RANGES(SSE2NEON_CMP_RANGES_) ++ ++#undef SSE2NEON_CMP_RANGES_IS_BYTE ++#undef SSE2NEON_CMP_RANGES_IS_WORD ++ ++static int _sse2neon_cmp_byte_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint8x16_t mtx = ++ vceqq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x10000 - (1 << la); ++ int tb = 0x10000 - (1 << lb); ++ uint8x8_t vec_mask, vec0_lo, vec0_hi, vec1_lo, vec1_hi; ++ uint8x8_t tmp_lo, tmp_hi, res_lo, res_hi; ++ vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ vec0_lo = vtst_u8(vdup_n_u8(m0), vec_mask); ++ vec0_hi = vtst_u8(vdup_n_u8(m0 >> 8), vec_mask); ++ vec1_lo = vtst_u8(vdup_n_u8(m1), vec_mask); ++ vec1_hi = vtst_u8(vdup_n_u8(m1 >> 8), vec_mask); ++ tmp_lo = vtst_u8(vdup_n_u8(tb), vec_mask); ++ tmp_hi = vtst_u8(vdup_n_u8(tb >> 8), vec_mask); ++ ++ res_lo = vbsl_u8(vec0_lo, vdup_n_u8(0), vget_low_u8(mtx)); ++ res_hi = vbsl_u8(vec0_hi, vdup_n_u8(0), vget_high_u8(mtx)); ++ res_lo = vbsl_u8(vec1_lo, tmp_lo, res_lo); ++ res_hi = vbsl_u8(vec1_hi, tmp_hi, res_hi); ++ res_lo = vand_u8(res_lo, vec_mask); ++ res_hi = vand_u8(res_hi, vec_mask); ++ ++ int res = _sse2neon_vaddv_u8(res_lo) + (_sse2neon_vaddv_u8(res_hi) << 8); ++ return res; ++} ++ ++static int _sse2neon_cmp_word_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint16x8_t mtx = ++ vceqq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x100 - (1 << la); ++ int tb = 0x100 - (1 << lb); ++ uint16x8_t vec_mask = vld1q_u16(_sse2neon_cmpestr_mask16b); ++ uint16x8_t vec0 = vtstq_u16(vdupq_n_u16(m0), vec_mask); ++ uint16x8_t vec1 = vtstq_u16(vdupq_n_u16(m1), vec_mask); ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(tb), vec_mask); ++ mtx = vbslq_u16(vec0, vdupq_n_u16(0), mtx); ++ mtx = vbslq_u16(vec1, tmp, mtx); ++ mtx = vandq_u16(mtx, vec_mask); ++ return _sse2neon_vaddvq_u16(mtx); ++} ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE 1 ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD 0 ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IMPL(size, number_of_lanes, data_type) \ ++ static int _sse2neon_aggregate_equal_ordered_##size##x##number_of_lanes( \ ++ int bound, int la, int lb, __m128i mtx[16]) \ ++ { \ ++ int res = 0; \ ++ int m1 = SSE2NEON_IIF(data_type)(0x10000, 0x100) - (1 << la); \ ++ uint##size##x8_t vec_mask = SSE2NEON_IIF(data_type)( \ ++ vld1_u##size(_sse2neon_cmpestr_mask##size##b), \ ++ vld1q_u##size(_sse2neon_cmpestr_mask##size##b)); \ ++ uint##size##x##number_of_lanes##_t vec1 = SSE2NEON_IIF(data_type)( \ ++ vcombine_u##size(vtst_u##size(vdup_n_u##size(m1), vec_mask), \ ++ vtst_u##size(vdup_n_u##size(m1 >> 8), vec_mask)), \ ++ vtstq_u##size(vdupq_n_u##size(m1), vec_mask)); \ ++ uint##size##x##number_of_lanes##_t vec_minusone = vdupq_n_u##size(-1); \ ++ uint##size##x##number_of_lanes##_t vec_zero = vdupq_n_u##size(0); \ ++ for (int j = 0; j < lb; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size(vbslq_u##size( \ ++ vec1, vec_minusone, vreinterpretq_u##size##_m128i(mtx[j]))); \ ++ } \ ++ for (int j = lb; j < bound; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size( \ ++ vbslq_u##size(vec1, vec_minusone, vec_zero)); \ ++ } \ ++ unsigned SSE2NEON_IIF(data_type)(char, short) *ptr = \ ++ (unsigned SSE2NEON_IIF(data_type)(char, short) *) mtx; \ ++ for (int i = 0; i < bound; i++) { \ ++ int val = 1; \ ++ for (int j = 0, k = i; j < bound - i && k < bound; j++, k++) \ ++ val &= ptr[k * bound + j]; \ ++ res += val << i; \ ++ } \ ++ return res; \ ++ } ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(prefix) \ ++ prefix##IMPL(8, 16, prefix##IS_UBYTE) \ ++ prefix##IMPL(16, 8, prefix##IS_UWORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(SSE2NEON_AGGREGATE_EQUAL_ORDER_) ++ ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(SSE2NEON_CMP_EQUAL_ORDERED_) ++ ++#define SSE2NEON_CMPESTR_LIST \ ++ _(CMP_UBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_UWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_SBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_SWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_UBYTE_RANGES, cmp_ubyte_ranges) \ ++ _(CMP_UWORD_RANGES, cmp_uword_ranges) \ ++ _(CMP_SBYTE_RANGES, cmp_sbyte_ranges) \ ++ _(CMP_SWORD_RANGES, cmp_sword_ranges) \ ++ _(CMP_UBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_UWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_SBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_SWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_UBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_UWORD_EQUAL_ORDERED, cmp_word_equal_ordered) \ ++ _(CMP_SBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_SWORD_EQUAL_ORDERED, cmp_word_equal_ordered) ++ ++enum { ++#define _(name, func_suffix) name, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++typedef int (*cmpestr_func_t)(__m128i a, int la, __m128i b, int lb); ++static cmpestr_func_t _sse2neon_cmpfunc_table[] = { ++#define _(name, func_suffix) _sse2neon_##func_suffix, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++ ++FORCE_INLINE int _sse2neon_sido_negative(int res, int lb, int imm8, int bound) ++{ ++ switch (imm8 & 0x30) { ++ case _SIDD_NEGATIVE_POLARITY: ++ res ^= 0xffffffff; ++ break; ++ case _SIDD_MASKED_NEGATIVE_POLARITY: ++ res ^= (1 << lb) - 1; ++ break; ++ default: ++ break; ++ } ++ ++ return res & ((bound == 8) ? 0xFF : 0xFFFF); ++} ++ ++FORCE_INLINE int _sse2neon_clz(unsigned int x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt = 0; ++ if (_BitScanReverse(&cnt, x)) ++ return 31 - cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_clz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctz(unsigned int x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt = 0; ++ if (_BitScanForward(&cnt, x)) ++ return cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_ctz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctzll(unsigned long long x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt; ++#if defined(SSE2NEON_HAS_BITSCAN64) ++ if (_BitScanForward64(&cnt, x)) ++ return (int) (cnt); ++#else ++ if (_BitScanForward(&cnt, (unsigned long) (x))) ++ return (int) cnt; ++ if (_BitScanForward(&cnt, (unsigned long) (x >> 32))) ++ return (int) (cnt + 32); ++#endif /* SSE2NEON_HAS_BITSCAN64 */ ++ return 64; ++#else /* assume GNU compatible compilers */ ++ return x != 0 ? __builtin_ctzll(x) : 64; ++#endif ++} ++ ++#define SSE2NEON_MIN(x, y) (x) < (y) ? (x) : (y) ++ ++#define SSE2NEON_CMPSTR_SET_UPPER(var, imm) \ ++ const int var = (imm & 0x01) ? 8 : 16 ++ ++#define SSE2NEON_CMPESTRX_LEN_PAIR(a, b, la, lb) \ ++ int tmp1 = la ^ (la >> 31); \ ++ la = tmp1 - (la >> 31); \ ++ int tmp2 = lb ^ (lb >> 31); \ ++ lb = tmp2 - (lb >> 31); \ ++ la = SSE2NEON_MIN(la, bound); \ ++ lb = SSE2NEON_MIN(lb, bound) ++ ++// Compare all pairs of character in string a and b, ++// then aggregate the result. ++// As the only difference of PCMPESTR* and PCMPISTR* is the way to calculate the ++// length of string, we use SSE2NEON_CMP{I,E}STRX_GET_LEN to get the length of ++// string a and b. ++#define SSE2NEON_COMP_AGG(a, b, la, lb, imm8, IE) \ ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); \ ++ SSE2NEON_##IE##_LEN_PAIR(a, b, la, lb); \ ++ int r2 = (_sse2neon_cmpfunc_table[imm8 & 0x0f])(a, la, b, lb); \ ++ r2 = _sse2neon_sido_negative(r2, lb, imm8, bound) ++ ++#define SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8) \ ++ return (r2 == 0) ? bound \ ++ : ((imm8 & 0x40) ? (31 - _sse2neon_clz(r2)) \ ++ : _sse2neon_ctz(r2)) ++ ++#define SSE2NEON_CMPSTR_GENERATE_MASK(dst) \ ++ __m128i dst = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ if (imm8 & 0x40) { \ ++ if (bound == 8) { \ ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(r2), \ ++ vld1q_u16(_sse2neon_cmpestr_mask16b)); \ ++ dst = vreinterpretq_m128i_u16(vbslq_u16( \ ++ tmp, vdupq_n_u16(-1), vreinterpretq_u16_m128i(dst))); \ ++ } else { \ ++ uint8x16_t vec_r2 = \ ++ vcombine_u8(vdup_n_u8(r2), vdup_n_u8(r2 >> 8)); \ ++ uint8x16_t tmp = \ ++ vtstq_u8(vec_r2, vld1q_u8(_sse2neon_cmpestr_mask8b)); \ ++ dst = vreinterpretq_m128i_u8( \ ++ vbslq_u8(tmp, vdupq_n_u8(-1), vreinterpretq_u8_m128i(dst))); \ ++ } \ ++ } else { \ ++ if (bound == 16) { \ ++ dst = vreinterpretq_m128i_u16( \ ++ vsetq_lane_u16(r2 & 0xffff, vreinterpretq_u16_m128i(dst), 0)); \ ++ } else { \ ++ dst = vreinterpretq_m128i_u8( \ ++ vsetq_lane_u8(r2 & 0xff, vreinterpretq_u8_m128i(dst), 0)); \ ++ } \ ++ } \ ++ return dst ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and returns 1 if b did not contain a null character and the ++// resulting mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestra ++FORCE_INLINE int _mm_cmpestra(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ int lb_cpy = lb; ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return !r2 & (lb_cpy > bound); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrc ++FORCE_INLINE int _mm_cmpestrc(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestri ++FORCE_INLINE int _mm_cmpestri(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrm ++FORCE_INLINE __m128i ++_mm_cmpestrm(__m128i a, int la, __m128i b, int lb, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestro ++FORCE_INLINE int _mm_cmpestro(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrs ++FORCE_INLINE int _mm_cmpestrs(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) lb; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrz ++FORCE_INLINE int _mm_cmpestrz(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) la; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return lb <= (bound - 1); ++} ++ ++#define SSE2NEON_CMPISTRX_LENGTH(str, len, imm8) \ ++ do { \ ++ if (imm8 & 0x01) { \ ++ uint16x8_t equal_mask_##str = \ ++ vceqq_u16(vreinterpretq_u16_m128i(str), vdupq_n_u16(0)); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 3; \ ++ } else { \ ++ uint16x8_t equal_mask_##str = vreinterpretq_u16_u8( \ ++ vceqq_u8(vreinterpretq_u8_m128i(str), vdupq_n_u8(0))); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 2; \ ++ } \ ++ } while (0) ++ ++#define SSE2NEON_CMPISTRX_LEN_PAIR(a, b, la, lb) \ ++ int la, lb; \ ++ do { \ ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); \ ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); \ ++ } while (0) ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if b did not contain a null character and the resulting ++// mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistra ++FORCE_INLINE int _mm_cmpistra(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return !r2 & (lb >= bound); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrc ++FORCE_INLINE int _mm_cmpistrc(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistri ++FORCE_INLINE int _mm_cmpistri(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrm ++FORCE_INLINE __m128i _mm_cmpistrm(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistro ++FORCE_INLINE int _mm_cmpistro(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrs ++FORCE_INLINE int _mm_cmpistrs(__m128i a, __m128i b, const int imm8) ++{ ++ (void) b; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int la; ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrz ++FORCE_INLINE int _mm_cmpistrz(__m128i a, __m128i b, const int imm8) ++{ ++ (void) a; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int lb; ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); ++ return lb <= (bound - 1); ++} ++ ++// Compares the 2 signed 64-bit integers in a and the 2 signed 64-bit integers ++// in b for greater than. ++FORCE_INLINE __m128i _mm_cmpgt_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vcgtq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ return vreinterpretq_m128i_s64(vshrq_n_s64( ++ vqsubq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)), ++ 63)); ++#endif ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 16-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u16 ++FORCE_INLINE uint32_t _mm_crc32_u16(uint32_t crc, uint16_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32ch %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32ch(crc, v); ++#else ++ crc = _mm_crc32_u8(crc, v & 0xff); ++ crc = _mm_crc32_u8(crc, (v >> 8) & 0xff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 32-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u32 ++FORCE_INLINE uint32_t _mm_crc32_u32(uint32_t crc, uint32_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cw %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cw(crc, v); ++#else ++ crc = _mm_crc32_u16(crc, v & 0xffff); ++ crc = _mm_crc32_u16(crc, (v >> 16) & 0xffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 64-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u64 ++FORCE_INLINE uint64_t _mm_crc32_u64(uint64_t crc, uint64_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cx %w[c], %w[c], %x[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cd((uint32_t) crc, v); ++#else ++ crc = _mm_crc32_u32((uint32_t) (crc), v & 0xffffffff); ++ crc = _mm_crc32_u32((uint32_t) (crc), (v >> 32) & 0xffffffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 8-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u8 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t crc, uint8_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cb %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cb(crc, v); ++#else ++ crc ^= v; ++#if defined(__ARM_FEATURE_CRYPTO) ++ // Adapted from: https://mary.rs/lab/crc32/ ++ // Barrent reduction ++ uint64x2_t orig = ++ vcombine_u64(vcreate_u64((uint64_t) (crc) << 24), vcreate_u64(0x0)); ++ uint64x2_t tmp = orig; ++ ++ // Polynomial P(x) of CRC32C ++ uint64_t p = 0x105EC76F1; ++ // Barrett Reduction (in bit-reflected form) constant mu_{64} = \lfloor ++ // 2^{64} / P(x) \rfloor = 0x11f91caf6 ++ uint64_t mu = 0x1dea713f1; ++ ++ // Multiply by mu_{64} ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(mu)); ++ // Divide by 2^{64} (mask away the unnecessary bits) ++ tmp = ++ vandq_u64(tmp, vcombine_u64(vcreate_u64(0xFFFFFFFF), vcreate_u64(0x0))); ++ // Multiply by P(x) (shifted left by 1 for alignment reasons) ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(p)); ++ // Subtract original from result ++ tmp = veorq_u64(tmp, orig); ++ ++ // Extract the 'lower' (in bit-reflected sense) 32 bits ++ crc = vgetq_lane_u32(vreinterpretq_u32_u64(tmp), 1); ++#else // Fall back to the generic table lookup approach ++ // Adapted from: https://create.stephan-brumme.com/crc32/ ++ // Apply half-byte comparision algorithm for the best ratio between ++ // performance and lookup table. ++ ++ // The lookup table just needs to store every 16th entry ++ // of the standard look-up table. ++ static const uint32_t crc32_half_byte_tbl[] = { ++ 0x00000000, 0x105ec76f, 0x20bd8ede, 0x30e349b1, 0x417b1dbc, 0x5125dad3, ++ 0x61c69362, 0x7198540d, 0x82f63b78, 0x92a8fc17, 0xa24bb5a6, 0xb21572c9, ++ 0xc38d26c4, 0xd3d3e1ab, 0xe330a81a, 0xf36e6f75, ++ }; ++ ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++#endif ++#endif ++ return crc; ++} ++ ++/* AES */ ++ ++#if !defined(__ARM_FEATURE_CRYPTO) && (!defined(_M_ARM64) || defined(__clang__)) ++/* clang-format off */ ++#define SSE2NEON_AES_SBOX(w) \ ++ { \ ++ w(0x63), w(0x7c), w(0x77), w(0x7b), w(0xf2), w(0x6b), w(0x6f), \ ++ w(0xc5), w(0x30), w(0x01), w(0x67), w(0x2b), w(0xfe), w(0xd7), \ ++ w(0xab), w(0x76), w(0xca), w(0x82), w(0xc9), w(0x7d), w(0xfa), \ ++ w(0x59), w(0x47), w(0xf0), w(0xad), w(0xd4), w(0xa2), w(0xaf), \ ++ w(0x9c), w(0xa4), w(0x72), w(0xc0), w(0xb7), w(0xfd), w(0x93), \ ++ w(0x26), w(0x36), w(0x3f), w(0xf7), w(0xcc), w(0x34), w(0xa5), \ ++ w(0xe5), w(0xf1), w(0x71), w(0xd8), w(0x31), w(0x15), w(0x04), \ ++ w(0xc7), w(0x23), w(0xc3), w(0x18), w(0x96), w(0x05), w(0x9a), \ ++ w(0x07), w(0x12), w(0x80), w(0xe2), w(0xeb), w(0x27), w(0xb2), \ ++ w(0x75), w(0x09), w(0x83), w(0x2c), w(0x1a), w(0x1b), w(0x6e), \ ++ w(0x5a), w(0xa0), w(0x52), w(0x3b), w(0xd6), w(0xb3), w(0x29), \ ++ w(0xe3), w(0x2f), w(0x84), w(0x53), w(0xd1), w(0x00), w(0xed), \ ++ w(0x20), w(0xfc), w(0xb1), w(0x5b), w(0x6a), w(0xcb), w(0xbe), \ ++ w(0x39), w(0x4a), w(0x4c), w(0x58), w(0xcf), w(0xd0), w(0xef), \ ++ w(0xaa), w(0xfb), w(0x43), w(0x4d), w(0x33), w(0x85), w(0x45), \ ++ w(0xf9), w(0x02), w(0x7f), w(0x50), w(0x3c), w(0x9f), w(0xa8), \ ++ w(0x51), w(0xa3), w(0x40), w(0x8f), w(0x92), w(0x9d), w(0x38), \ ++ w(0xf5), w(0xbc), w(0xb6), w(0xda), w(0x21), w(0x10), w(0xff), \ ++ w(0xf3), w(0xd2), w(0xcd), w(0x0c), w(0x13), w(0xec), w(0x5f), \ ++ w(0x97), w(0x44), w(0x17), w(0xc4), w(0xa7), w(0x7e), w(0x3d), \ ++ w(0x64), w(0x5d), w(0x19), w(0x73), w(0x60), w(0x81), w(0x4f), \ ++ w(0xdc), w(0x22), w(0x2a), w(0x90), w(0x88), w(0x46), w(0xee), \ ++ w(0xb8), w(0x14), w(0xde), w(0x5e), w(0x0b), w(0xdb), w(0xe0), \ ++ w(0x32), w(0x3a), w(0x0a), w(0x49), w(0x06), w(0x24), w(0x5c), \ ++ w(0xc2), w(0xd3), w(0xac), w(0x62), w(0x91), w(0x95), w(0xe4), \ ++ w(0x79), w(0xe7), w(0xc8), w(0x37), w(0x6d), w(0x8d), w(0xd5), \ ++ w(0x4e), w(0xa9), w(0x6c), w(0x56), w(0xf4), w(0xea), w(0x65), \ ++ w(0x7a), w(0xae), w(0x08), w(0xba), w(0x78), w(0x25), w(0x2e), \ ++ w(0x1c), w(0xa6), w(0xb4), w(0xc6), w(0xe8), w(0xdd), w(0x74), \ ++ w(0x1f), w(0x4b), w(0xbd), w(0x8b), w(0x8a), w(0x70), w(0x3e), \ ++ w(0xb5), w(0x66), w(0x48), w(0x03), w(0xf6), w(0x0e), w(0x61), \ ++ w(0x35), w(0x57), w(0xb9), w(0x86), w(0xc1), w(0x1d), w(0x9e), \ ++ w(0xe1), w(0xf8), w(0x98), w(0x11), w(0x69), w(0xd9), w(0x8e), \ ++ w(0x94), w(0x9b), w(0x1e), w(0x87), w(0xe9), w(0xce), w(0x55), \ ++ w(0x28), w(0xdf), w(0x8c), w(0xa1), w(0x89), w(0x0d), w(0xbf), \ ++ w(0xe6), w(0x42), w(0x68), w(0x41), w(0x99), w(0x2d), w(0x0f), \ ++ w(0xb0), w(0x54), w(0xbb), w(0x16) \ ++ } ++#define SSE2NEON_AES_RSBOX(w) \ ++ { \ ++ w(0x52), w(0x09), w(0x6a), w(0xd5), w(0x30), w(0x36), w(0xa5), \ ++ w(0x38), w(0xbf), w(0x40), w(0xa3), w(0x9e), w(0x81), w(0xf3), \ ++ w(0xd7), w(0xfb), w(0x7c), w(0xe3), w(0x39), w(0x82), w(0x9b), \ ++ w(0x2f), w(0xff), w(0x87), w(0x34), w(0x8e), w(0x43), w(0x44), \ ++ w(0xc4), w(0xde), w(0xe9), w(0xcb), w(0x54), w(0x7b), w(0x94), \ ++ w(0x32), w(0xa6), w(0xc2), w(0x23), w(0x3d), w(0xee), w(0x4c), \ ++ w(0x95), w(0x0b), w(0x42), w(0xfa), w(0xc3), w(0x4e), w(0x08), \ ++ w(0x2e), w(0xa1), w(0x66), w(0x28), w(0xd9), w(0x24), w(0xb2), \ ++ w(0x76), w(0x5b), w(0xa2), w(0x49), w(0x6d), w(0x8b), w(0xd1), \ ++ w(0x25), w(0x72), w(0xf8), w(0xf6), w(0x64), w(0x86), w(0x68), \ ++ w(0x98), w(0x16), w(0xd4), w(0xa4), w(0x5c), w(0xcc), w(0x5d), \ ++ w(0x65), w(0xb6), w(0x92), w(0x6c), w(0x70), w(0x48), w(0x50), \ ++ w(0xfd), w(0xed), w(0xb9), w(0xda), w(0x5e), w(0x15), w(0x46), \ ++ w(0x57), w(0xa7), w(0x8d), w(0x9d), w(0x84), w(0x90), w(0xd8), \ ++ w(0xab), w(0x00), w(0x8c), w(0xbc), w(0xd3), w(0x0a), w(0xf7), \ ++ w(0xe4), w(0x58), w(0x05), w(0xb8), w(0xb3), w(0x45), w(0x06), \ ++ w(0xd0), w(0x2c), w(0x1e), w(0x8f), w(0xca), w(0x3f), w(0x0f), \ ++ w(0x02), w(0xc1), w(0xaf), w(0xbd), w(0x03), w(0x01), w(0x13), \ ++ w(0x8a), w(0x6b), w(0x3a), w(0x91), w(0x11), w(0x41), w(0x4f), \ ++ w(0x67), w(0xdc), w(0xea), w(0x97), w(0xf2), w(0xcf), w(0xce), \ ++ w(0xf0), w(0xb4), w(0xe6), w(0x73), w(0x96), w(0xac), w(0x74), \ ++ w(0x22), w(0xe7), w(0xad), w(0x35), w(0x85), w(0xe2), w(0xf9), \ ++ w(0x37), w(0xe8), w(0x1c), w(0x75), w(0xdf), w(0x6e), w(0x47), \ ++ w(0xf1), w(0x1a), w(0x71), w(0x1d), w(0x29), w(0xc5), w(0x89), \ ++ w(0x6f), w(0xb7), w(0x62), w(0x0e), w(0xaa), w(0x18), w(0xbe), \ ++ w(0x1b), w(0xfc), w(0x56), w(0x3e), w(0x4b), w(0xc6), w(0xd2), \ ++ w(0x79), w(0x20), w(0x9a), w(0xdb), w(0xc0), w(0xfe), w(0x78), \ ++ w(0xcd), w(0x5a), w(0xf4), w(0x1f), w(0xdd), w(0xa8), w(0x33), \ ++ w(0x88), w(0x07), w(0xc7), w(0x31), w(0xb1), w(0x12), w(0x10), \ ++ w(0x59), w(0x27), w(0x80), w(0xec), w(0x5f), w(0x60), w(0x51), \ ++ w(0x7f), w(0xa9), w(0x19), w(0xb5), w(0x4a), w(0x0d), w(0x2d), \ ++ w(0xe5), w(0x7a), w(0x9f), w(0x93), w(0xc9), w(0x9c), w(0xef), \ ++ w(0xa0), w(0xe0), w(0x3b), w(0x4d), w(0xae), w(0x2a), w(0xf5), \ ++ w(0xb0), w(0xc8), w(0xeb), w(0xbb), w(0x3c), w(0x83), w(0x53), \ ++ w(0x99), w(0x61), w(0x17), w(0x2b), w(0x04), w(0x7e), w(0xba), \ ++ w(0x77), w(0xd6), w(0x26), w(0xe1), w(0x69), w(0x14), w(0x63), \ ++ w(0x55), w(0x21), w(0x0c), w(0x7d) \ ++ } ++/* clang-format on */ ++ ++/* X Macro trick. See https://en.wikipedia.org/wiki/X_Macro */ ++#define SSE2NEON_AES_H0(x) (x) ++static const uint8_t _sse2neon_sbox[256] = SSE2NEON_AES_SBOX(SSE2NEON_AES_H0); ++static const uint8_t _sse2neon_rsbox[256] = SSE2NEON_AES_RSBOX(SSE2NEON_AES_H0); ++#undef SSE2NEON_AES_H0 ++ ++/* x_time function and matrix multiply function */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#define SSE2NEON_XT(x) (((x) << 1) ^ ((((x) >> 7) & 1) * 0x1b)) ++#define SSE2NEON_MULTIPLY(x, y) \ ++ (((y & 1) * x) ^ ((y >> 1 & 1) * SSE2NEON_XT(x)) ^ \ ++ ((y >> 2 & 1) * SSE2NEON_XT(SSE2NEON_XT(x))) ^ \ ++ ((y >> 3 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))) ^ \ ++ ((y >> 4 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))))) ++#endif ++ ++// In the absence of crypto extensions, implement aesenc using regular NEON ++// intrinsics instead. See: ++// https://www.workofard.com/2017/01/accelerated-aes-for-the-arm64-linux-kernel/ ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/ and ++// for more information. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ /* shift rows */ ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ /* sub bytes */ ++ // Here, we separate the whole 256-bytes table into 4 64-bytes tables, and ++ // look up each of the table. After each lookup, we load the next table ++ // which locates at the next 64-bytes. In the meantime, the index in the ++ // table would be smaller than it was, so the index parameters of ++ // `vqtbx4q_u8()` need to be added the same constant as the loaded tables. ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ // 'w-0x40' equals to 'vsubq_u8(w, vdupq_n_u8(0x40))' ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ /* mix columns */ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ /* add round key */ ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A implementation for a table-based AES */ ++#define SSE2NEON_AES_B2W(b0, b1, b2, b3) \ ++ (((uint32_t) (b3) << 24) | ((uint32_t) (b2) << 16) | \ ++ ((uint32_t) (b1) << 8) | (uint32_t) (b0)) ++// muliplying 'x' by 2 in GF(2^8) ++#define SSE2NEON_AES_F2(x) ((x << 1) ^ (((x >> 7) & 1) * 0x011b /* WPOLY */)) ++// muliplying 'x' by 3 in GF(2^8) ++#define SSE2NEON_AES_F3(x) (SSE2NEON_AES_F2(x) ^ x) ++#define SSE2NEON_AES_U0(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F2(p), p, p, SSE2NEON_AES_F3(p)) ++#define SSE2NEON_AES_U1(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p, p) ++#define SSE2NEON_AES_U2(p) \ ++ SSE2NEON_AES_B2W(p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p) ++#define SSE2NEON_AES_U3(p) \ ++ SSE2NEON_AES_B2W(p, p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p)) ++ ++ // this generates a table containing every possible permutation of ++ // shift_rows() and sub_bytes() with mix_columns(). ++ static const uint32_t ALIGN_STRUCT(16) aes_table[4][256] = { ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U0), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U1), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U2), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U3), ++ }; ++#undef SSE2NEON_AES_B2W ++#undef SSE2NEON_AES_F2 ++#undef SSE2NEON_AES_F3 ++#undef SSE2NEON_AES_U0 ++#undef SSE2NEON_AES_U1 ++#undef SSE2NEON_AES_U2 ++#undef SSE2NEON_AES_U3 ++ ++ uint32_t x0 = _mm_cvtsi128_si32(a); // get a[31:0] ++ uint32_t x1 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); // get a[63:32] ++ uint32_t x2 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xAA)); // get a[95:64] ++ uint32_t x3 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); // get a[127:96] ++ ++ // finish the modulo addition step in mix_columns() ++ __m128i out = _mm_set_epi32( ++ (aes_table[0][x3 & 0xff] ^ aes_table[1][(x0 >> 8) & 0xff] ^ ++ aes_table[2][(x1 >> 16) & 0xff] ^ aes_table[3][x2 >> 24]), ++ (aes_table[0][x2 & 0xff] ^ aes_table[1][(x3 >> 8) & 0xff] ^ ++ aes_table[2][(x0 >> 16) & 0xff] ^ aes_table[3][x1 >> 24]), ++ (aes_table[0][x1 & 0xff] ^ aes_table[1][(x2 >> 8) & 0xff] ^ ++ aes_table[2][(x3 >> 16) & 0xff] ^ aes_table[3][x0 >> 24]), ++ (aes_table[0][x0 & 0xff] ^ aes_table[1][(x1 >> 8) & 0xff] ^ ++ aes_table[2][(x2 >> 16) & 0xff] ^ aes_table[3][x3 >> 24])); ++ ++ return _mm_xor_si128(out, RoundKey); ++#endif ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // inverse mix columns ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & ++ 0x1b); // muliplying 'v' by 2 in GF(2^8) ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ // inverse mix columns ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ // sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A implementation */ ++ uint8_t v[16] = { ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 0)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 5)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 10)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 15)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 4)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 9)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 14)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 3)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 8)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 13)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 2)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 7)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 12)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 1)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 6)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 11)], ++ }; ++ ++ return vreinterpretq_m128i_u8(vld1q_u8(v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (int i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++#if defined(__aarch64__) ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ uint8x16_t v = vreinterpretq_u8_m128i(a); ++ uint8x16_t w; ++ ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ // multiplying 'v' by 2 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ return vreinterpretq_m128i_u8(w); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ vst1q_u8((uint8_t *) v, vreinterpretq_u8_m128i(a)); ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)); ++#endif ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++// ++// Emits the Advanced Encryption Standard (AES) instruction aeskeygenassist. ++// This instruction generates a round key for AES encryption. See ++// https://kazakov.life/2017/11/01/cryptocurrency-mining-on-ios-devices/ ++// for details. ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++#if defined(__aarch64__) ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); ++ uint8x16_t v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), _a); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), _a - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), _a - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), _a - 0xc0); ++ ++ uint32x4_t v_u32 = vreinterpretq_u32_u8(v); ++ uint32x4_t ror_v = vorrq_u32(vshrq_n_u32(v_u32, 8), vshlq_n_u32(v_u32, 24)); ++ uint32x4_t ror_xor_v = veorq_u32(ror_v, vdupq_n_u32(rcon)); ++ ++ return vreinterpretq_m128i_u32(vtrn2q_u32(v_u32, ror_xor_v)); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint32_t X1 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); ++ uint32_t X3 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); ++ for (int i = 0; i < 4; ++i) { ++ ((uint8_t *) &X1)[i] = _sse2neon_sbox[((uint8_t *) &X1)[i]]; ++ ((uint8_t *) &X3)[i] = _sse2neon_sbox[((uint8_t *) &X3)[i]]; ++ } ++ return _mm_set_epi32(((X3 >> 8) | (X3 << 24)) ^ rcon, X3, ++ ((X1 >> 8) | (X1 << 24)) ^ rcon, X1); ++#endif ++} ++#undef SSE2NEON_AES_SBOX ++#undef SSE2NEON_AES_RSBOX ++ ++#if defined(__aarch64__) ++#undef SSE2NEON_XT ++#undef SSE2NEON_MULTIPLY ++#endif ++ ++#else /* __ARM_FEATURE_CRYPTO */ ++// Implements equivalent of 'aesenc' by combining AESE (with an empty key) and ++// AESMC and then manually applying the real key as an xor operation. This ++// unfortunately means an additional xor op; the compiler should be able to ++// optimize this away for repeated calls however. See ++// https://blog.michaelbrase.com/2018/05/08/emulating-x86-aes-intrinsics-on-armv8-a ++// for more details. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesmcq_u8(vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(b))); ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesimcq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return _mm_xor_si128(vreinterpretq_m128i_u8(vaeseq_u8( ++ vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ RoundKey); ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8( ++ veorq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++ return vreinterpretq_m128i_u8(vaesimcq_u8(vreinterpretq_u8_m128i(a))); ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst." ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++ // AESE does ShiftRows and SubBytes on A ++ uint8x16_t u8 = vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)); ++ ++#ifndef _MSC_VER ++ uint8x16_t dest = { ++ // Undo ShiftRows step from AESE and extract X1 and X3 ++ u8[0x4], u8[0x1], u8[0xE], u8[0xB], // SubBytes(X1) ++ u8[0x1], u8[0xE], u8[0xB], u8[0x4], // ROT(SubBytes(X1)) ++ u8[0xC], u8[0x9], u8[0x6], u8[0x3], // SubBytes(X3) ++ u8[0x9], u8[0x6], u8[0x3], u8[0xC], // ROT(SubBytes(X3)) ++ }; ++ uint32x4_t r = {0, (unsigned) rcon, 0, (unsigned) rcon}; ++ return vreinterpretq_m128i_u8(dest) ^ vreinterpretq_m128i_u32(r); ++#else ++ // We have to do this hack because MSVC is strictly adhering to the CPP ++ // standard, in particular C++03 8.5.1 sub-section 15, which states that ++ // unions must be initialized by their first member type. ++ ++ // As per the Windows ARM64 ABI, it is always little endian, so this works ++ __n128 dest{ ++ ((uint64_t) u8.n128_u8[0x4] << 0) | ((uint64_t) u8.n128_u8[0x1] << 8) | ++ ((uint64_t) u8.n128_u8[0xE] << 16) | ++ ((uint64_t) u8.n128_u8[0xB] << 24) | ++ ((uint64_t) u8.n128_u8[0x1] << 32) | ++ ((uint64_t) u8.n128_u8[0xE] << 40) | ++ ((uint64_t) u8.n128_u8[0xB] << 48) | ++ ((uint64_t) u8.n128_u8[0x4] << 56), ++ ((uint64_t) u8.n128_u8[0xC] << 0) | ((uint64_t) u8.n128_u8[0x9] << 8) | ++ ((uint64_t) u8.n128_u8[0x6] << 16) | ++ ((uint64_t) u8.n128_u8[0x3] << 24) | ++ ((uint64_t) u8.n128_u8[0x9] << 32) | ++ ((uint64_t) u8.n128_u8[0x6] << 40) | ++ ((uint64_t) u8.n128_u8[0x3] << 48) | ++ ((uint64_t) u8.n128_u8[0xC] << 56)}; ++ ++ dest.n128_u32[1] = dest.n128_u32[1] ^ rcon; ++ dest.n128_u32[3] = dest.n128_u32[3] ^ rcon; ++ ++ return dest; ++#endif ++} ++#endif ++ ++/* Others */ ++ ++// Perform a carry-less multiplication of two 64-bit integers, selected from a ++// and b according to imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clmulepi64_si128 ++FORCE_INLINE __m128i _mm_clmulepi64_si128(__m128i _a, __m128i _b, const int imm) ++{ ++ uint64x2_t a = vreinterpretq_u64_m128i(_a); ++ uint64x2_t b = vreinterpretq_u64_m128i(_b); ++ switch (imm & 0x11) { ++ case 0x00: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_low_u64(b))); ++ case 0x01: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_low_u64(b))); ++ case 0x10: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_high_u64(b))); ++ case 0x11: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_high_u64(b))); ++ default: ++ abort(); ++ } ++} ++ ++FORCE_INLINE unsigned int _sse2neon_mm_get_denormals_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_DENORMALS_ZERO_ON : _MM_DENORMALS_ZERO_OFF; ++} ++ ++// Count the number of bits set to 1 in unsigned 32-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u32 ++FORCE_INLINE int _mm_popcnt_u32(unsigned int a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcount) ++ return __builtin_popcount(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits(a); ++#else ++ return (int) vaddlv_u8(vcnt_u8(vcreate_u8((uint64_t) a))); ++#endif ++#else ++ uint32_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ ++ vst1_u32(&count, count32x2_val); ++ return count; ++#endif ++} ++ ++// Count the number of bits set to 1 in unsigned 64-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u64 ++FORCE_INLINE int64_t _mm_popcnt_u64(uint64_t a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcountll) ++ return __builtin_popcountll(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits64(a); ++#else ++ return (int64_t) vaddlv_u8(vcnt_u8(vcreate_u8(a))); ++#endif ++#else ++ uint64_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ uint64x1_t count64x1_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ count64x1_val = vpaddl_u32(count32x2_val); ++ vst1_u64(&count, count64x1_val); ++ return count; ++#endif ++} ++ ++FORCE_INLINE void _sse2neon_mm_set_denormals_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_DENORMALS_ZERO_MASK) == _MM_DENORMALS_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Return the current 64-bit value of the processor's time-stamp counter. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=rdtsc ++FORCE_INLINE uint64_t _rdtsc(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t val; ++ ++ /* According to ARM DDI 0487F.c, from Armv8.0 to Armv8.5 inclusive, the ++ * system counter is at least 56 bits wide; from Armv8.6, the counter ++ * must be 64 bits wide. So the system counter could be less than 64 ++ * bits wide and it is attributed with the flag 'cap_user_time_short' ++ * is true. ++ */ ++#if defined(_MSC_VER) ++ val = _ReadStatusReg(ARM64_SYSREG(3, 3, 14, 0, 2)); ++#else ++ __asm__ __volatile__("mrs %0, cntvct_el0" : "=r"(val)); ++#endif ++ ++ return val; ++#else ++ uint32_t pmccntr, pmuseren, pmcntenset; ++ // Read the user mode Performance Monitoring Unit (PMU) ++ // User Enable Register (PMUSERENR) access permissions. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c14, 0" : "=r"(pmuseren)); ++ if (pmuseren & 1) { // Allows reading PMUSERENR for user mode code. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c12, 1" : "=r"(pmcntenset)); ++ if (pmcntenset & 0x80000000UL) { // Is it counting? ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c13, 0" : "=r"(pmccntr)); ++ // The counter is set up to count every 64th cycle ++ return (uint64_t) (pmccntr) << 6; ++ } ++ } ++ ++ // Fallback to syscall as we can't enable PMUSERENR in user mode. ++ struct timeval tv; ++ gettimeofday(&tv, NULL); ++ return (uint64_t) (tv.tv_sec) * 1000000 + tv.tv_usec; ++#endif ++} ++ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma pop_macro("ALIGN_STRUCT") ++#pragma pop_macro("FORCE_INLINE") ++#endif ++ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma GCC pop_options ++#endif ++ ++#endif +diff --git c/lib/Complete-Striped-Smith-Waterman-Library/src/ssw.c i/lib/Complete-Striped-Smith-Waterman-Library/src/ssw.c +index 4c22bbb..2b17eb0 100644 +--- c/lib/Complete-Striped-Smith-Waterman-Library/src/ssw.c ++++ i/lib/Complete-Striped-Smith-Waterman-Library/src/ssw.c +@@ -35,7 +35,12 @@ + * + */ + ++#ifdef __ARM_NEON ++#include "sse2neon.h" ++#else + #include ++#endif ++ + #include + #include + #include +diff --git c/lib/Complete-Striped-Smith-Waterman-Library/src/ssw.h i/lib/Complete-Striped-Smith-Waterman-Library/src/ssw.h +index 42b1fd1..e1ca7e9 100644 +--- c/lib/Complete-Striped-Smith-Waterman-Library/src/ssw.h ++++ i/lib/Complete-Striped-Smith-Waterman-Library/src/ssw.h +@@ -14,7 +14,11 @@ + #include + #include + #include ++#ifdef __ARM_NEON ++#include "sse2neon.h" ++#else + #include ++#endif + + #ifdef __cplusplus + extern "C" { +diff --git c/src/AlignmentBuffer.cpp i/src/AlignmentBuffer.cpp +index 275a8e6..b030572 100644 +--- c/src/AlignmentBuffer.cpp ++++ i/src/AlignmentBuffer.cpp +@@ -2372,9 +2372,9 @@ void AlignmentBuffer::verbose(int const tabs, bool const newLine, char const * c + va_list args; + + va_start(args, s); +- if (args != 0) +- vfprintf(stderr, s, args); +- else ++// if (args != 0) ++// vfprintf(stderr, s, args); ++// else + fprintf(stderr, "%s", s); + va_end(args); + +diff --git c/src/ConvexAlignFast.cpp i/src/ConvexAlignFast.cpp +index c5be716..124f4b8 100644 +--- c/src/ConvexAlignFast.cpp ++++ i/src/ConvexAlignFast.cpp +@@ -8,7 +8,11 @@ + #include + #include + #include ++#ifdef __ARM_NEON ++#include "sse2neon.h" ++#else + #include ++#endif + + #include "IConfig.h" + +diff --git c/src/Logging.cpp i/src/Logging.cpp +index b3493da..f00c373 100644 +--- c/src/Logging.cpp ++++ i/src/Logging.cpp +@@ -94,9 +94,9 @@ void LogToConsole(bool color, int lvl, char const * const title, char const * co + + if (color) + SetConsoleColor((ConsoleColor) (Message + (lvl * 2))); +- if (args != 0) +- vfprintf(stderr, s, args); +- else ++// if (args != 0) ++// vfprintf(stderr, s, args); ++// else + fprintf(stderr, "%s", s); + if (color) + ResetConsoleColor(); diff --git a/recipes/ngs-bits/build.sh b/recipes/ngs-bits/build.sh index a3c73b67f42a5..57bc3046c8826 100644 --- a/recipes/ngs-bits/build.sh +++ b/recipes/ngs-bits/build.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -xe + #link include and lib folders to allow using htslib ln -s $PREFIX/include htslib/include ln -s $PREFIX/lib htslib/lib @@ -12,7 +14,7 @@ export PATH=$BUILD_PREFIX/bin/:$PATH mkdir build cd build qmake CONFIG-=debug CONFIG+=release DEFINES+=QT_NO_DEBUG_OUTPUT QMAKE_CXX="$CXX" QMAKE_CC="$CC" QMAKE_CFLAGS="$CFLAGS" QMAKE_CXXFLAGS="$CXXFLAGS" QMAKE_LIBDIR+="$PREFIX/lib" QMAKE_RPATHLINKDIR+=${PREFIX}/lib/ ../src/tools.pro -make +make -j ${CPU_COUNT} cd .. #remove test files from bin folder diff --git a/recipes/ngs-bits/meta.yaml b/recipes/ngs-bits/meta.yaml old mode 100755 new mode 100644 index 5fa12dddf0aa1..5a2b865428cdb --- a/recipes/ngs-bits/meta.yaml +++ b/recipes/ngs-bits/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "2023_11" %} +{% set version = "2024_08" %} package: name: ngs-bits @@ -9,37 +9,38 @@ build: run_exports: - {{ pin_subpackage("ngs-bits", max_pin=None) }} + source: url: https://github.com/imgag/ngs-bits/releases/download/{{ version }}/ngs-bits-{{ version }}.tgz - sha256: bb994eb9a74043fa173a3b0ee6b9eafdf3e7b1aeb1ebcc2ba3e73888e1e61fa4 + sha256: 615e61360eafdfdb923336e7c985e7a599c80ad56e534b30bbe97e4b524bc55d +# Note: pinning of sysroot_linux-64 =2.17 enforces cos7 and is currently needed to prevent an memcpy@GLIBC2.14 error requirements: build: + - sysroot_linux-64 =2.17 # [linux] - make - {{ compiler('cxx') }} - - {{ cdt('mesa-libgl-devel') }} - - {{ cdt('mesa-dri-drivers') }} - - {{ cdt('libselinux') }} - - {{ cdt('libxdamage') }} - - {{ cdt('libxxf86vm') }} - - {{ cdt('libxfixes') }} host: + - sysroot_linux-64 =2.17 # [linux] - bzip2 - xz - zlib - - qt + - qt-main - htslib - - xorg-libxfixes # [linux] run: + - sysroot_linux-64 =2.17 # [linux] - bzip2 - xz - zlib - python - matplotlib-base - - qt + - qt-main - htslib +#For libGL dependency docu see: https://conda-forge.org/docs/maintainer/knowledge_base.html#core-dependency-tree-packages-cdt extra: + additional-platforms: + - linux-aarch64 container: extended-base: True @@ -49,4 +50,3 @@ about: license_file: LICENSE summary: Short-read sequencing tools -#For libGL dependency docu see: https://conda-forge.org/docs/maintainer/knowledge_base.html#core-dependency-tree-packages-cdt diff --git a/recipes/ngs-chew/meta.yaml b/recipes/ngs-chew/meta.yaml index bf1055c64d5b6..f6df359de7c2e 100644 --- a/recipes/ngs-chew/meta.yaml +++ b/recipes/ngs-chew/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.8.1" %} -{% set sha256 = "28b27061a6f418ef8dd805ce3135d4f8210521bab8c65a44b5c61092f2a999e8" %} +{% set version = "0.9.4" %} +{% set sha256 = "7ea102e92268d9db07f9361735da6da1ebf433dbd5bff0766f8a9aaf6b93c279" %} package: name: ngs-chew @@ -14,15 +14,18 @@ build: noarch: python entry_points: - ngs-chew = chew.cli:cli - script: python -m pip install . -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv + run_exports: + - {{ pin_subpackage('ngs-chew', max_pin="x.x") }} requirements: host: - - python >=3.7 + - python >=3.8 - pip run: - - python >=3.7 + - python >=3.8 - attrs + - cattrs - click - logzero - numpy @@ -34,6 +37,7 @@ requirements: - vcfpy - bcftools - samtools + - pyarrow test: commands: diff --git a/recipes/ngs-disambiguate/meta.yaml b/recipes/ngs-disambiguate/meta.yaml index 371d9b1bde3d2..707528f6bf094 100644 --- a/recipes/ngs-disambiguate/meta.yaml +++ b/recipes/ngs-disambiguate/meta.yaml @@ -10,8 +10,10 @@ source: sha256: d5b05caec68db7596fc31564f44afdce27c4d5215785f9c97581d58e87d9cc94 build: - number: 7 + number: 9 skip: true # [osx] + run_exports: + - {{ pin_subpackage('ngs-disambiguate', max_pin=None) }} requirements: build: @@ -31,3 +33,7 @@ about: home: https://github.com/AstraZeneca-NGS/disambiguate license: MIT summary: Disambiguation algorithm for reads aligned to human and mouse genomes using Tophat or BWA mem + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/ngs-smap/meta.yaml b/recipes/ngs-smap/meta.yaml index 4cd6109b99861..ab8cde6c3dd78 100644 --- a/recipes/ngs-smap/meta.yaml +++ b/recipes/ngs-smap/meta.yaml @@ -1,5 +1,5 @@ {% set name = "ngs-smap" %} -{% set version = "4.6.5" %} +{% set version = "5.0.1" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: bd6fd5a9fb5be66c5d21410376ed6b13eeb23da040c498d60dad6a8fb45d9d5e + sha256: 713bc0c393ac26fc208d0c316a3141fb1be96fab2a69057c872229ebf56ef3d8 patches: - patch @@ -17,20 +17,35 @@ build: entry_points: - smap = smap.__main__:main ignore_prefix_files: True - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('ngs-smap', max_pin="x") }} requirements: host: - setuptools-scm - setuptools_scm_git_archive - - python >=3.8.1 + - python >=3.8.1,!=3.11 run: + - biopython >=1.8 + - gffpandas 1.2.* - pybedtools >=0.9.0,<0.10 - - pysam >=0.18.0,<0.19 - - pandas >=1.4.0,<1.5 + - pysam >=0.22.0,<0.23.0 + - pandas >=2.0.3,<2.1.0 - matplotlib-base >=3.5.1,<3.6 - colorlog >=6.6.0,<6.7 - - python >=3.8.1 + - cutadapt ==4.4 + - python >=3.8.1,!=3.11 + - natsort ==8.2.0 + - numexpr + - openpyxl >=3.0.9,<3.1.0 + - plotly >=5.5 + - seaborn ==0.12.1 + - typing-extensions >=4.0.0,<4.1.1 + - gffutils + - primer3-py + - tqdm + - scipy test: commands: @@ -38,12 +53,11 @@ test: about: home: "https://gitlab.com/truttink/smap" - license: "CC BY-NC-SA 4.0" - license_family: CC - license_file: + license: "GPL-3.0-or-later" + license_family: GPL3 + license_file: LICENSE summary: "SMAP is an analysis tool for stack-based NGS read mapping" extra: recipe-maintainers: - ieguinoa - diff --git a/recipes/ngs-tools/meta.yaml b/recipes/ngs-tools/meta.yaml index 8bd5ac25b52c8..ce09a4ec7d205 100644 --- a/recipes/ngs-tools/meta.yaml +++ b/recipes/ngs-tools/meta.yaml @@ -1,5 +1,5 @@ {% set name = "ngs-tools" %} -{% set version = "1.8.5" %} +{% set version = "1.8.6" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: "380e236a101c5b1ac3c0fcdbcc908a210179b6ef2a93fbea9f4eb0ec2edc1de0" + sha256: "ffb59cdebb5c9cc6ee39ad52a14930e493e870d48303821c6f97563a50f4bb3c" build: number: 0 diff --git a/recipes/ngsderive/meta.yaml b/recipes/ngsderive/meta.yaml index 4add6145f016a..7a5581911146d 100644 --- a/recipes/ngsderive/meta.yaml +++ b/recipes/ngsderive/meta.yaml @@ -1,5 +1,5 @@ {% set name = "ngsderive" %} -{% set version = "3.3.2" %} +{% set version = "4.0.0" %} package: name: "{{ name|lower }}" @@ -7,12 +7,14 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 46fa9c5f926ab1c35a0ff66325b41546501b2b2868d59305f4071ff7a6a36b9a + sha256: 1e55f7bed3dfe1ecf4b3955636bd6fc7b1c1bd7c5685c539c0e248abfc47bf97 build: number: 0 - script: "{{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv" + script: "{{ PYTHON }} -m pip install . --no-build-isolation --no-deps --no-cache-dir -vvv" noarch: python + entry_points: + - ngsderive = ngsderive.__main__:run run_exports: - {{ pin_subpackage(name, max_pin='x') }} @@ -20,22 +22,22 @@ requirements: host: - pip - python >=3.8 - - poetry >=1.3.2 + - poetry run: - colorlog >=6.6.0 - pysam >=0.21 - pytabix >=0.1 - - python >=3.8, <3.10 + - python >=3.8 - rstr >=3.0.0 - gtfparse >=1.2.1 - sortedcontainers >=2.4.0 - tabix >=1.11 + - pygtrie >=2.5.0 test: imports: - ngsderive - ngsderive.commands - - ngsderive.readers commands: - ngsderive --help diff --git a/recipes/ngshmmalign/0.1.1/build_failure.linux-64.yaml b/recipes/ngshmmalign/0.1.1/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..cae09c5fdc6c6 --- /dev/null +++ b/recipes/ngshmmalign/0.1.1/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 284b2ea1a10802e44701f9bc9f7e576d4fafa0c854f4322303a8684bab8dcbde # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + In file included from src/aligner_impl.hpp:41, + from src/aligner.hpp:236, + from src/main.cpp:33: + /opt/conda/conda-bld/ngshmmalign_1717510895290/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/include/boost/progress.hpp:23:3: error: #error This header is deprecated and will be removed. (You can define BOOST_TIMER_ENABLE_DEPRECATED to suppress this error.) + 23 | # error This header is deprecated and will be removed. (You can define BOOST_TIMER_ENABLE_DEPRECATED to suppress this error.) + | ^~~~~ + In file included from /opt/conda/conda-bld/ngshmmalign_1717510895290/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/include/boost/progress.hpp:29: + /opt/conda/conda-bld/ngshmmalign_1717510895290/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/include/boost/timer.hpp:21:3: error: #error This header is deprecated and will be removed. (You can define BOOST_TIMER_ENABLE_DEPRECATED to suppress this error.) + 21 | # error This header is deprecated and will be removed. (You can define BOOST_TIMER_ENABLE_DEPRECATED to suppress this error.) + | ^~~~~ + In file included from src/reference.hpp:43, + from src/hmmalign.hpp:36, + from src/aligner.hpp:32: + src/utility_functions.hpp: In function 'char {anonymous}::rev_comp_char(char)': + src/utility_functions.hpp:95:25: warning: 'throw' will always call 'terminate' [-Wterminate] + 95 | throw std::invalid_argument(std::string(1, c) std::string(" is an unknown base! Exiting...\n")); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + In file included from /opt/conda/conda-bld/ngshmmalign_1717510895290/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/include/boost/smart_ptr/detail/requires_cxx11.hpp:9, + from /opt/conda/conda-bld/ngshmmalign_1717510895290/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/include/boost/smart_ptr/intrusive_ptr.hpp:16, + from /opt/conda/conda-bld/ngshmmalign_1717510895290/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/include/boost/filesystem/exception.hpp:20, + from /opt/conda/conda-bld/ngshmmalign_1717510895290/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/include/boost/filesystem.hpp:17, + from src/main.cpp:30: + /opt/conda/conda-bld/ngshmmalign_1717510895290/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/include/boost/progress.hpp: At global scope: + /opt/conda/conda-bld/ngshmmalign_1717510895290/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/include/boost/progress.hpp:27:1: note: '#pragma message: This header is deprecated. Use the facilities in or instead.' + 27 | BOOST_HEADER_DEPRECATED( "the facilities in or " ) + | ^~~~~~~~~~~~~~~~~~~~~~~ + /opt/conda/conda-bld/ngshmmalign_1717510895290/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/include/boost/timer.hpp:25:1: note: '#pragma message: This header is deprecated. Use the facilities in instead.' + 25 | BOOST_HEADER_DEPRECATED( "the facilities in " ) + | ^~~~~~~~~~~~~~~~~~~~~~~ + src/aligner_impl.hpp: In member function 'void {anonymous}::single_end_aligner::load_parameters(const std::string&, {anonymous}::background_rates&, bool)': + src/aligner_impl.hpp:334:48: error: 'extension' is not a member of 'boost::filesystem'; did you mean 'boost::fusion::extension'? + 334 | std::string ref_ext(boost::filesystem::extension(input_file)); + | ^~~~~~~~~ + In file included from /opt/conda/conda-bld/ngshmmalign_1717510895290/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/include/boost/fusion/include/next.hpp:11, + from /opt/conda/conda-bld/ngshmmalign_1717510895290/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/include/boost/accumulators/framework/depends_on.hpp:39, + from /opt/conda/conda-bld/ngshmmalign_1717510895290/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/include/boost/accumulators/framework/accumulator_set.hpp:30, + from /opt/conda/conda-bld/ngshmmalign_1717510895290/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/include/boost/accumulators/accumulators.hpp:12, + from src/index_impl.hpp:27, + from src/reference.hpp:286: + /opt/conda/conda-bld/ngshmmalign_1717510895290/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/include/boost/fusion/iterator/next.hpp:21:15: note: 'boost::fusion::extension' declared here + 21 | namespace extension + | ^~~~~~~~~ + In file included from src/hmmalign.hpp:35: + src/dna_array.hpp: In instantiation of 'const {anonymous}::dna_array::value_type& {anonymous}::dna_array::operator[](char) const [with T = double; long unsigned int N = 5; const_reference = const double&]': + src/dna_array.hpp:182:73: required from '{anonymous}::dna_array::value_type& {anonymous}::dna_array::operator[](char) [with T = double; long unsigned int N = 5; reference = double&]' + src/aligner_impl.hpp:618:36: required from here + src/dna_array.hpp:152:41: warning: 'throw' will always call 'terminate' [-Wterminate] + 152 | throw std::invalid_argument(std::string(1, base) std::string(" is an unknown base! Exiting...\n")); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + src/dna_array.hpp:170:41: warning: 'throw' will always call 'terminate' [-Wterminate] + 170 | throw std::invalid_argument(std::string(1, base) std::string(" is an unknown base! Exiting...\n")); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + src/dna_array.hpp: In instantiation of 'const {anonymous}::dna_array::value_type& {anonymous}::dna_array::operator[](char) const [with T = bool; long unsigned int N = 5; const_reference = const bool&]': + src/aligner_impl.hpp:1259:71: required from 'void {anonymous}::single_end_aligner::post_alignment_processing(bool, uint64_t, double, double, bool) [with T = int; uint64_t = long unsigned int]' + src/main.cpp:267:40: required from here + src/dna_array.hpp:152:41: warning: 'throw' will always call 'terminate' [-Wterminate] + 152 | throw std::invalid_argument(std::string(1, base) std::string(" is an unknown base! Exiting...\n")); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + src/dna_array.hpp:170:41: warning: 'throw' will always call 'terminate' [-Wterminate] + 170 | throw std::invalid_argument(std::string(1, base) std::string(" is an unknown base! Exiting...\n")); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + src/dna_array.hpp: In instantiation of 'const {anonymous}::dna_array::value_type& {anonymous}::dna_array::operator[](char) const [with T = int; long unsigned int N = 2; const_reference = const int&]': + src/hmmalign_impl.hpp:292:58: required from 'static T {anonymous}::hmmalign::viterbi(const {anonymous}::reference_genome&, const boost::string_ref&, uint32_t, uint32_t, std::vector<{anonymous}::minimal_alignment>&) [with T = int; boost::string_ref = boost::basic_string_ref >; uint32_t = unsigned int]' + src/aligner_impl.hpp:987:33: required from 'void {anonymous}::single_end_aligner::perform_alignment_impl(bool, bool) [with T = int]' + src/aligner_impl.hpp:790:2: required from 'void {anonymous}::single_end_aligner::estimate_parameters(const std::string&, const std::string&, const {anonymous}::background_rates&, uint64_t, bool, bool, bool) [with T = int; std::string = std::__cxx11::basic_string; uint64_t = long unsigned int]' + src/main.cpp:260:35: required from here + src/dna_array.hpp:152:41: warning: 'throw' will always call 'terminate' [-Wterminate] + 152 | throw std::invalid_argument(std::string(1, base) std::string(" is an unknown base! Exiting...\n")); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + src/dna_array.hpp:170:41: warning: 'throw' will always call 'terminate' [-Wterminate] + 170 | throw std::invalid_argument(std::string(1, base) std::string(" is an unknown base! Exiting...\n")); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + src/dna_array.hpp: In instantiation of 'const {anonymous}::dna_array::value_type& {anonymous}::dna_array::operator[](char) const [with T = int; long unsigned int N = 5; const_reference = const int&]': + src/hmmalign_impl.hpp:309:75: required from 'static T {anonymous}::hmmalign::viterbi(const {anonymous}::reference_genome&, const boost::string_ref&, uint32_t, uint32_t, std::vector<{anonymous}::minimal_alignment>&) [with T = int; boost::string_ref = boost::basic_string_ref >; uint32_t = unsigned int]' + src/aligner_impl.hpp:987:33: required from 'void {anonymous}::single_end_aligner::perform_alignment_impl(bool, bool) [with T = int]' + src/aligner_impl.hpp:790:2: required from 'void {anonymous}::single_end_aligner::estimate_parameters(const std::string&, const std::string&, const {anonymous}::background_rates&, uint64_t, bool, bool, bool) [with T = int; std::string = std::__cxx11::basic_string; uint64_t = long unsigned int]' + src/main.cpp:260:35: required from here + src/dna_array.hpp:152:41: warning: 'throw' will always call 'terminate' [-Wterminate] + 152 | throw std::invalid_argument(std::string(1, base) std::string(" is an unknown base! Exiting...\n")); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + src/dna_array.hpp:170:41: warning: 'throw' will always call 'terminate' [-Wterminate] + 170 | throw std::invalid_argument(std::string(1, base) std::string(" is an unknown base! Exiting...\n")); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + make: *** [Makefile:713: src/main.o] Error 1 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/ngshmmalign_1717510895290/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. diff --git a/recipes/ngshmmalign/0.1.1/build_failure.osx-64.yaml b/recipes/ngshmmalign/0.1.1/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..4f64241948f93 --- /dev/null +++ b/recipes/ngshmmalign/0.1.1/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 284b2ea1a10802e44701f9bc9f7e576d4fafa0c854f4322303a8684bab8dcbde # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ngshmmalign-0.1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ngshmmalign-0.1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + checking whether configure should try to set CXXFLAGS/CPPFLAGS/LDFLAGS... no + checking whether to enable debugging... no + checking build system type... x86_64-apple-darwin13.4.0 + checking host system type... x86_64-apple-darwin13.4.0 + checking whether the C compiler works... yes + checking for C compiler default output file name... a.out + checking for suffix of executables... + checking whether we are cross compiling... no + checking for suffix of object files... o + checking whether we are using the GNU C compiler... yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... yes + checking for C compiler vendor... clang + checking for a sed that does not truncate output... /usr/bin/sed + checking for C compiler version... 16.0.6 + checking for a sed that does not truncate output... (cached) /usr/bin/sed + checking whether we are using the GNU C compiler... (cached) yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... (cached) yes + checking how to run the C preprocessor... x86_64-apple-darwin13.4.0-clang -E + checking for grep that handles long lines and -e... /usr/bin/grep + checking for egrep... /usr/bin/grep -E + checking for ANSI C header files... yes + checking for sys/types.h... yes + checking for sys/stat.h... yes + checking for stdlib.h... yes + checking for string.h... yes + checking for memory.h... yes + checking for strings.h... yes + checking for inttypes.h... yes + checking for stdint.h... yes + checking for unistd.h... yes + checking cstdint usability... yes + checking cstdint presence... yes + checking for cstdint... yes + checking for x86_64-apple-darwin13.4.0-clang option to support OpenMP... -fopenmp + checking whether x86_64-apple-darwin13.4.0-clang supports C11 features by default... yes + checking for boostlib >= 1.59... yes + checking for x86_64-apple-darwin13.4.0-gcc... x86_64-apple-darwin13.4.0-clang + checking whether we are using the GNU C compiler... yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... yes + checking for x86_64-apple-darwin13.4.0-clang option to accept ISO C89... none needed + checking whether x86_64-apple-darwin13.4.0-clang understands -c and -o together... yes + checking whether the Boost::System library is available... yes + checking for exit in -lboost_system... yes + checking whether the Boost::Program_Options library is available... yes + checking for exit in -lboost_program_options... yes + checking whether the Boost::Filesystem library is available... yes + checking for exit in -lboost_filesystem... yes + checking whether the Boost::IOStreams library is available... yes + checking for exit in -lboost_iostreams... yes + checking for a BSD-compatible install... /usr/bin/install -c + checking whether build environment is sane... yes + checking for a thread-safe mkdir -p... ./install-sh -c -d + checking for gawk... no + checking for mawk... no + checking for nawk... no + checking for awk... awk + checking whether make sets $(MAKE)... yes + checking for style of include used by make... GNU + checking whether make supports nested variables... yes + checking dependency style of x86_64-apple-darwin13.4.0-clang... gcc3 + checking dependency style of x86_64-apple-darwin13.4.0-clang... gcc3 + checking that generated files are newer than configure... done + configure: creating ./config.status + config.status: creating Makefile + config.status: executing depfiles commands + + ngshmmalign 0.1.1 + Using clang, 16.0.6 + + CXX: x86_64-apple-darwin13.4.0-clang + CXXFLAGS: -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ngshmmalign-0.1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -stdlib=libc -fopenmp + CPPFLAGS: -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + LDFLAGS: -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + + depbase=echo src/main.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + x86_64-apple-darwin13.4.0-clang -DPACKAGE_NAME=\"ngshmmalign\" -DPACKAGE_TARNAME=\"ngshmmalign\" -DPACKAGE_VERSION=\"0.1.1\" -DPACKAGE_STRING=\"ngshmmalign\ 0.1.1\" -DPACKAGE_BUGREPORT=\"david.seifert@bsse.ethz.ch\" -DPACKAGE_URL=\"https://github.com/cbg-ethz/ngshmmalign\" -DNDEBUG=/\*\*/ -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_CSTDINT=1 -DHAVE_CXX11=1 -DHAVE_BOOST=/\*\*/ -DHAVE_BOOST_SYSTEM=/\*\*/ -DHAVE_BOOST_PROGRAM_OPTIONS=/\*\*/ -DHAVE_BOOST_FILESYSTEM=/\*\*/ -DHAVE_BOOST_IOSTREAMS=/\*\*/ -DPACKAGE=\"ngshmmalign\" -DVERSION=\"0.1.1\" -I. -I./src -I$PREFIX/include -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ngshmmalign-0.1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -stdlib=libc -fopenmp -MT src/main.o -MD -MP -MF $depbase.Tpo -c -o src/main.o src/main.cpp &&\ + mv -f $depbase.Tpo $depbase.Po +# Last 100 lines of the build log. diff --git a/recipes/ngshmmalign/0.1.1/meta.yaml b/recipes/ngshmmalign/0.1.1/meta.yaml index 6dbe466521c68..4407df518fa97 100644 --- a/recipes/ngshmmalign/0.1.1/meta.yaml +++ b/recipes/ngshmmalign/0.1.1/meta.yaml @@ -3,7 +3,7 @@ package: version: "0.1.1" build: - number: 6 + number: 7 source: url: https://github.com/cbg-ethz/ngshmmalign/releases/download/0.1.1/ngshmmalign-0.1.1.tar.bz2 diff --git a/recipes/ngslca/meta.yaml b/recipes/ngslca/meta.yaml index 5e0f9d3fda2be..289201d453874 100644 --- a/recipes/ngslca/meta.yaml +++ b/recipes/ngslca/meta.yaml @@ -10,7 +10,7 @@ source: sha256: {{ sha256 }} build: - number: 2 + number: 3 requirements: build: diff --git a/recipes/ngsngs/meta.yaml b/recipes/ngsngs/meta.yaml index 665ebd620608a..2a6dccd5bee55 100644 --- a/recipes/ngsngs/meta.yaml +++ b/recipes/ngsngs/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 0 + number: 1 skip: false run_exports: - {{ pin_subpackage(name, max_pin="x") }} diff --git a/recipes/niemagraphgen/build.sh b/recipes/niemagraphgen/build.sh new file mode 100644 index 0000000000000..1fd3513e1fa7d --- /dev/null +++ b/recipes/niemagraphgen/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +mkdir -p ${PREFIX}/bin +make CXX="$CXX" INCLUDE="-I${PREFIX}/include" RELEASEFLAGS="-Wall -pedantic -std=c++11 -DOUTFAVITES -DNGG_UINT_32 -O3 $LDFLAGS" +cp ngg_* ${PREFIX}/bin diff --git a/recipes/niemagraphgen/meta.yaml b/recipes/niemagraphgen/meta.yaml new file mode 100644 index 0000000000000..12c498054c879 --- /dev/null +++ b/recipes/niemagraphgen/meta.yaml @@ -0,0 +1,47 @@ +{% set version = "1.0.6" %} + +package: + name: niemagraphgen + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage('niemagraphgen', max_pin="x.x.x") }} + +source: + url: https://github.com/niemasd/NiemaGraphGen/archive/refs/tags/{{ version }}.tar.gz + sha256: 65789a45c126cbeb385e5b36550b3c3ed2588943b2e1ac779d433fd3026974c1 + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - make + +about: + home: https://github.com/niemasd/NiemaGraphGen + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE + summary: Niema's C++ implementations of graph generators + dev_url: https://github.com/niemasd/NiemaGraphGen + +test: + commands: + - ngg_barabasi_albert -h 2>&1 | grep "NiemaGraphGen" + - ngg_barbell -h 2>&1 | grep "NiemaGraphGen" + - ngg_complete -h 2>&1 | grep "NiemaGraphGen" + - ngg_cycle -h 2>&1 | grep "NiemaGraphGen" + - ngg_empty -h 2>&1 | grep "NiemaGraphGen" + - ngg_erdos_renyi -h 2>&1 | grep "NiemaGraphGen" + - ngg_newman_watts_strogatz -h 2>&1 | grep "NiemaGraphGen" + - ngg_path -h 2>&1 | grep "NiemaGraphGen" + - ngg_ring_lattice -h 2>&1 | grep "NiemaGraphGen" + +extra: + identifiers: + - biotools:niemagraphgen + - doi:10.46471/gigabyte.37 + maintainers: + - niemasd diff --git a/recipes/nmrglue/meta.yaml b/recipes/nmrglue/meta.yaml index 95067ffa1f6a0..0dda4c54cb9f6 100644 --- a/recipes/nmrglue/meta.yaml +++ b/recipes/nmrglue/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 0 + number: 1 skip: True # [py2k] script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv diff --git a/recipes/nohuman/build.sh b/recipes/nohuman/build.sh new file mode 100644 index 0000000000000..29a06029e6302 --- /dev/null +++ b/recipes/nohuman/build.sh @@ -0,0 +1,8 @@ +#!/bin/bash +set -ex + +cargo-bundle-licenses --format yaml --output THIRDPARTY.yml + +RUST_BACKTRACE=full cargo install -v --locked --no-track --root "$PREFIX" --path . + +"$STRIP" "$PREFIX/bin/nohuman" \ No newline at end of file diff --git a/recipes/nohuman/meta.yaml b/recipes/nohuman/meta.yaml new file mode 100644 index 0000000000000..faca6ca3f3f18 --- /dev/null +++ b/recipes/nohuman/meta.yaml @@ -0,0 +1,40 @@ +{% set version = "0.3.0" %} +{% set name = "nohuman" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/mbhall88/{{ name }}/archive/{{ version }}.tar.gz + sha256: 3503a0e8b6fcbf92832fe4bfcfb3d5a071536a8ebe3230cac1ee4e053de3cf6a + +build: + number: 0 + run_exports: + - {{ pin_subpackage('nohuman', max_pin="x.x") }} + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('rust') }} + - cargo-bundle-licenses + run: + - kraken2 =2.1 + +test: + commands: + - nohuman --help + - nohuman --check + +about: + home: https://github.com/mbhall88/nohuman + license: MIT + license_file: + - LICENSE + - THIRDPARTY.yml + summary: Remove human reads from a sequencing run + +extra: + recipe-maintainers: + - mbhall88 diff --git a/recipes/nonpareil/meta.yaml b/recipes/nonpareil/meta.yaml index ba8ba7972b42e..b9efb68dcc775 100644 --- a/recipes/nonpareil/meta.yaml +++ b/recipes/nonpareil/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "3.4.1" %} -{% set sha256 = "a6ce050ca263364799c46b3796a0d1a5ed067631ac5944d013ffa7c8651949ee" %} +{% set version = "3.5.5" %} +{% set sha256 = "a1896a3ecf1394cbbc685de8dcb0eef04aa089e5ad6badf51d0eaa89b4b3bf1e" %} package: name: nonpareil @@ -10,25 +10,38 @@ source: sha256: {{ sha256 }} build: - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage('nonpareil', max_pin="x.x") }} script: | - make cpp="${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}" + make -j ${CPU_COUNT} cpp="${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}" nonpareil make prefix="${PREFIX}" install + chmod +x utils/NonpareilCurves.R + cp utils/NonpareilCurves.R ${PREFIX}/bin/NonpareilCurves.R requirements: build: - {{ compiler('cxx') }} host: - r-base + - zlib run: - r-base + - r-optparse + - r-jsonlite + - zlib test: commands: - nonpareil -h 2>&1 | grep "Nonpareil" + - NonpareilCurves.R -h about: home: http://nonpareil.readthedocs.io/ license: Artistic License 2.0 summary: Estimate average coverage and create curves for metagenomic datasets dev_url: https://github.com/lmrodriguezr/nonpareil + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/nordic/build_failure.linux-64.yaml b/recipes/nordic/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..c767f937c76f5 --- /dev/null +++ b/recipes/nordic/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 1f127b6381714b354c6cecbd7f1bb17f9b02552b90d6a442813f7a7d2a866fd0 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + requests: 2.32.3-pyhd8ed1ab_0 conda-forge + scikit-learn: 1.5.0-py312h1fcc3ea_1 conda-forge + scipy: 1.13.1-py312hc2bc53b_0 conda-forge + seaborn: 0.13.2-hd8ed1ab_2 conda-forge + seaborn-base: 0.13.2-pyhd8ed1ab_2 conda-forge + setuptools: 70.0.0-pyhd8ed1ab_0 conda-forge + six: 1.16.0-pyh6c4a22f_0 conda-forge + statsmodels: 0.14.2-py312h085067d_0 conda-forge + threadpoolctl: 3.5.0-pyhc1e730c_0 conda-forge + tk: 8.6.13-noxft_h4845f30_101 conda-forge + tqdm: 4.66.4-pyhd8ed1ab_0 conda-forge + typeguard: 4.3.0-pyhd8ed1ab_0 conda-forge + typing-extensions: 4.12.1-hd8ed1ab_0 conda-forge + typing_extensions: 4.12.1-pyha770c72_0 conda-forge + tzdata: 2024a-h0c530f3_0 conda-forge + urllib3: 2.2.1-pyhd8ed1ab_0 conda-forge + wheel: 0.43.0-pyhd8ed1ab_1 conda-forge + wrapt: 1.16.0-py312h98912ed_0 conda-forge + xorg-kbproto: 1.0.7-h7f98852_1002 conda-forge + xorg-libice: 1.1.1-hd590300_0 conda-forge + xorg-libsm: 1.2.4-h7391055_0 conda-forge + xorg-libx11: 1.8.9-h8ee46fc_0 conda-forge + xorg-libxau: 1.0.11-hd590300_0 conda-forge + xorg-libxdmcp: 1.1.3-h7f98852_0 conda-forge + xorg-libxext: 1.3.4-h0b41bf4_2 conda-forge + xorg-libxrender: 0.9.11-hd590300_0 conda-forge + xorg-renderproto: 0.11.1-h7f98852_1002 conda-forge + xorg-xextproto: 7.3.0-h0b41bf4_1003 conda-forge + xorg-xproto: 7.0.31-h7f98852_1007 conda-forge + xz: 5.2.6-h166bdaf_0 conda-forge + zipp: 3.17.0-pyhd8ed1ab_0 conda-forge + zlib: 1.3.1-h4ab18f5_1 conda-forge + zstd: 1.5.6-ha6fb4c9_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... + + done + Reloading output folder: ...working... done + Solving environment (_build_env): ...working... done + Reloading output folder: ...working... done + Solving environment (_test_env): ...working... done + + ## Package Plan ## + + environment location: /opt/conda/conda-bld/nordic_1717706443742/_build_env + + + The following NEW packages will be INSTALLED: + + _libgcc_mutex: 0.1-conda_forge conda-forge + _openmp_mutex: 4.5-2_gnu conda-forge + binutils_impl_linux-64: 2.40-ha1999f0_2 conda-forge + binutils_linux-64: 2.40-hdade7a5_3 conda-forge + bison: 3.8.2-h59595ed_0 conda-forge + flex: 2.6.4-h58526e2_1004 conda-forge + gcc_impl_linux-64: 12.3.0-h58ffeeb_7 conda-forge + gcc_linux-64: 12.3.0-h6477408_3 conda-forge + gxx_impl_linux-64: 12.3.0-h2a574ab_7 conda-forge + gxx_linux-64: 12.3.0-h4a1b8e8_3 conda-forge + kernel-headers_linux-64: 2.6.32-he073ed8_17 conda-forge + ld_impl_linux-64: 2.40-hf3520f5_2 conda-forge + libgcc-devel_linux-64: 12.3.0-h0223996_107 conda-forge + libgcc-ng: 13.2.0-h77fa898_7 conda-forge + libgomp: 13.2.0-h77fa898_7 conda-forge + libsanitizer: 12.3.0-hb8811af_7 conda-forge + libstdcxx-devel_linux-64: 12.3.0-h0223996_107 conda-forge + libstdcxx-ng: 13.2.0-hc0a3c3a_7 conda-forge + m4: 1.4.18-h516909a_1001 conda-forge + make: 4.3-hd18ef5c_1 conda-forge + sysroot_linux-64: 2.12-he073ed8_17 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Source cache directory is: /opt/conda/conda-bld/src_cache + Downloading source to cache: master_5952813f3c.tar.gz + Downloading https://github.com/sysbio-curie/MaBoSS-env-2.0/archive/refs/heads/master.tar.gz + Success + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2419, in build + try_download(m, no_download_source=False, raise_error=True) + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 762, in try_download + source.provide(metadata) + File "/opt/conda/lib/python3.10/site-packages/conda_build/source.py", line 1035, in provide + unpack( + File "/opt/conda/lib/python3.10/site-packages/conda_build/source.py", line 169, in unpack + src_path, unhashed_fn = download_to_cache( + File "/opt/conda/lib/python3.10/site-packages/conda_build/source.py", line 125, in download_to_cache + raise RuntimeError( + RuntimeError: SHA256 mismatch: '143b7a50119d6d61222e48d58dc74c71ffbd4492c3fdce47106feb9c8b352b3c' != '5952813f3c38e10bbc2f0d4bbb91936bc738c47bcf9941da298cea3bfb753d19' +# Last 100 lines of the build log. diff --git a/recipes/nordic/build_failure.osx-64.yaml b/recipes/nordic/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..46584469b3770 --- /dev/null +++ b/recipes/nordic/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 1f127b6381714b354c6cecbd7f1bb17f9b02552b90d6a442813f7a7d2a866fd0 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + readline: 8.2-h9e318b2_1 conda-forge + requests: 2.32.3-pyhd8ed1ab_0 conda-forge + scikit-learn: 1.5.0-py311h3c3ac6d_1 conda-forge + scipy: 1.13.1-py311h40a1ab3_0 conda-forge + seaborn: 0.13.2-hd8ed1ab_2 conda-forge + seaborn-base: 0.13.2-pyhd8ed1ab_2 conda-forge + setuptools: 70.0.0-pyhd8ed1ab_0 conda-forge + six: 1.16.0-pyh6c4a22f_0 conda-forge + statsmodels: 0.14.2-py311hce3442d_0 conda-forge + threadpoolctl: 3.5.0-pyhc1e730c_0 conda-forge + tk: 8.6.13-h1abcd95_1 conda-forge + tqdm: 4.66.4-pyhd8ed1ab_0 conda-forge + typeguard: 4.3.0-pyhd8ed1ab_0 conda-forge + typing-extensions: 4.12.1-hd8ed1ab_0 conda-forge + typing_extensions: 4.12.1-pyha770c72_0 conda-forge + tzdata: 2024a-h0c530f3_0 conda-forge + urllib3: 2.2.1-pyhd8ed1ab_0 conda-forge + wheel: 0.43.0-pyhd8ed1ab_1 conda-forge + wrapt: 1.16.0-py311he705e18_0 conda-forge + xorg-libxau: 1.0.11-h0dc2134_0 conda-forge + xorg-libxdmcp: 1.1.3-h35c211d_0 conda-forge + xz: 5.2.6-h775f41a_0 conda-forge + zipp: 3.17.0-pyhd8ed1ab_0 conda-forge + zlib: 1.3.1-h87427d6_1 conda-forge + zstd: 1.5.6-h915ae27_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... + + done + Reloading output folder (local): ...working... done + Solving environment (_build_env): ...working... done + Reloading output folder (local): ...working... done + Solving environment (_test_env): ...working... done + + ## Package Plan ## + + environment location: /opt/mambaforge/envs/bioconda/conda-bld/nordic_1717639893010/_build_env + + + The following NEW packages will be INSTALLED: + + bison: 3.8.2-hd7636e7_0 conda-forge + ca-certificates: 2024.6.2-h8857fd0_0 conda-forge + cctools_osx-64: 986-ha1c5b94_0 conda-forge + clang: 16.0.6-hd4457cd_7 conda-forge + clang-16: 16.0.6-default_h4c8afb6_7 conda-forge + clang_impl_osx-64: 16.0.6-h8787910_15 conda-forge + clang_osx-64: 16.0.6-hb91bd55_15 conda-forge + clangxx: 16.0.6-default_ha3b9224_7 conda-forge + clangxx_impl_osx-64: 16.0.6-h6d92fbe_15 conda-forge + clangxx_osx-64: 16.0.6-hb91bd55_15 conda-forge + compiler-rt: 16.0.6-ha38d28d_2 conda-forge + compiler-rt_osx-64: 16.0.6-ha38d28d_2 conda-forge + flex: 2.6.4-hcc69e7b_1004 conda-forge + icu: 73.2-hf5e326d_0 conda-forge + ld64_osx-64: 711-ha20a434_0 conda-forge + libclang-cpp16: 16.0.6-default_h4c8afb6_7 conda-forge + libcxx: 17.0.6-h88467a6_0 conda-forge + libiconv: 1.17-hd75f5a5_2 conda-forge + libllvm16: 16.0.6-hbedff68_3 conda-forge + libxml2: 2.12.7-h3e169fe_1 conda-forge + libzlib: 1.3.1-h87427d6_1 conda-forge + llvm-tools: 16.0.6-hbedff68_3 conda-forge + m4: 1.4.18-haf1e3a3_1001 conda-forge + make: 4.3-h22f3db7_1 conda-forge + openssl: 3.3.1-h87427d6_0 conda-forge + sigtool: 0.1.3-h88f4db0_0 conda-forge + tapi: 1100.0.11-h9ce4665_0 conda-forge + xz: 5.2.6-h775f41a_0 conda-forge + zstd: 1.5.6-h915ae27_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache + Downloading source to cache: master_5952813f3c.tar.gz + Downloading https://github.com/sysbio-curie/MaBoSS-env-2.0/archive/refs/heads/master.tar.gz + Success + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2419, in build + try_download(m, no_download_source=False, raise_error=True) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 762, in try_download + source.provide(metadata) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/source.py", line 1035, in provide + unpack( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/source.py", line 169, in unpack + src_path, unhashed_fn = download_to_cache( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/source.py", line 125, in download_to_cache + raise RuntimeError( + RuntimeError: SHA256 mismatch: '143b7a50119d6d61222e48d58dc74c71ffbd4492c3fdce47106feb9c8b352b3c' != '5952813f3c38e10bbc2f0d4bbb91936bc738c47bcf9941da298cea3bfb753d19' +# Last 100 lines of the build log. diff --git a/recipes/nordic/meta.yaml b/recipes/nordic/meta.yaml index 7fe723c149cf6..92b2c630cb9fb 100644 --- a/recipes/nordic/meta.yaml +++ b/recipes/nordic/meta.yaml @@ -21,7 +21,7 @@ source: folder: "{{ ucname }}-{{ version }}" build: - number: 0 + number: 1 skip: True # [py < 38] run_exports: - {{ pin_subpackage(name, max_pin="x") }} diff --git a/recipes/novoplasty/meta.yaml b/recipes/novoplasty/meta.yaml index dac1892e5cb5e..ded9b844226cf 100644 --- a/recipes/novoplasty/meta.yaml +++ b/recipes/novoplasty/meta.yaml @@ -1,5 +1,5 @@ {% set name = "NOVOPlasty" %} -{% set version = "4.3.3" %} +{% set version = "4.3.5" %} package: name: {{ name|lower }} @@ -7,17 +7,18 @@ package: source: url: https://github.com/ndierckx/NOVOPlasty/archive/NOVOPlasty{{ version }}.tar.gz - sha256: 305759167b63d08f8f8191c1f735aa29c90b0a9de9e8c67cdca9ab43c8c13490 + sha256: b2555f2c10548a882d397a3c18d59d41905c0693ecf417d63aee24d5ac738d36 build: number: 0 noarch: generic + run_exports: + - {{ pin_subpackage('novoplasty', max_pin="x") }} requirements: host: - perl - perl-module-build - run: - perl @@ -30,10 +31,11 @@ test: about: home: https://github.com/ndierckx/NOVOPlasty summary: "The organelle assembler and heteroplasmy caller" - license: other + license: Other license_file: LICENSE description: | NOVOPlasty is a de novo assembler for short circular genomes. + extra: identifiers: - doi:10.1093/nar/gkw955 diff --git a/recipes/npinv/meta.yaml b/recipes/npinv/meta.yaml index 8847eba4693b3..86e45fb991a04 100644 --- a/recipes/npinv/meta.yaml +++ b/recipes/npinv/meta.yaml @@ -11,7 +11,7 @@ source: build: noarch: generic - number: 5 + number: 6 requirements: host: diff --git a/recipes/npstructures/meta.yaml b/recipes/npstructures/meta.yaml index c83ef94138932..42cd68cf78a81 100644 --- a/recipes/npstructures/meta.yaml +++ b/recipes/npstructures/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.2.14" %} +{% set version = "0.2.19" %} {% set name = "npstructures" %} package: name: {{ name }} @@ -6,7 +6,7 @@ package: source: url: https://github.com/bionumpy/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz - sha256: 2b9b8aab8b9209f3a96e783b2c773dd98be70ef171865b53cc0fbb283b11fee6 + sha256: 431790997b501e48d40f167008041041628f85201566de40313b3c2fedbdf998 build: diff --git a/recipes/nrpys/build.sh b/recipes/nrpys/build.sh index c08897288c011..6c41a389a5494 100644 --- a/recipes/nrpys/build.sh +++ b/recipes/nrpys/build.sh @@ -11,4 +11,4 @@ mkdir -p ${PREFIX}/bin # build shared Python module with Rust maturin build --release --strip -f -${PYTHON} -m pip install -vv . +${PYTHON} -m pip install -vvv --no-deps --no-build-isolation . diff --git a/recipes/nrpys/cargo.patch b/recipes/nrpys/cargo.patch new file mode 100644 index 0000000000000..71fb4191700c6 --- /dev/null +++ b/recipes/nrpys/cargo.patch @@ -0,0 +1,9 @@ +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -14,5 +14,5 @@ crate-type = ["cdylib"] + + [dependencies] + nrps-rs = "0.2.1" +-pyo3 = { version = "0.18.0", features = ["extension-module"] } ++pyo3 = { version = "0.19.0", features = ["abi3-py38"] } + thiserror = "1.0.38" diff --git a/recipes/nrpys/meta.yaml b/recipes/nrpys/meta.yaml index 497aba8dd7f46..e1a1b94498112 100644 --- a/recipes/nrpys/meta.yaml +++ b/recipes/nrpys/meta.yaml @@ -7,26 +7,27 @@ package: version: {{ version }} build: - number: 2 - noarch: generic + number: 3 + noarch: python run_exports: - {{ pin_subpackage(name|lower, max_pin="x.x") }} source: url: https://github.com/kblin/nrpys/archive/refs/tags/v{{ version }}.tar.gz sha256: {{ sha256 }} - patch: - - patch + patches: + - cargo.patch + - pyproject.patch requirements: host: - - python >=3.7 + - python >=3.8 - pip - rust - maturin - zlib run: - - python >=3.7 + - python >=3.8 test: imports: @@ -34,6 +35,6 @@ test: about: home: "https://github.com/kblin/nrpys" - license: GPL3 + license: AGPL-3.0-or-later license_file: LICENSE.txt summary: "Python language bindings for nrps-rs substrate specificity predictor." diff --git a/recipes/nrpys/patch b/recipes/nrpys/patch deleted file mode 100644 index 99ab333ca033e..0000000000000 --- a/recipes/nrpys/patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/pyproject.toml -+++ b/pyproject.toml -@@ -1,5 +1,5 @@ - [build-system] --requires = ["maturin>=0.14,<0.15"] -+requires = ["maturin>=1.0,<2.0"] - build-backend = "maturin" - - [project] -@@ -13,3 +13,5 @@ classifiers = [ - - [tool.maturin] - python-source = "python" -+features = ["pyo3/extension-module"] -+cargo-extra-args = "--features extension-module" diff --git a/recipes/nrpys/pyproject.patch b/recipes/nrpys/pyproject.patch new file mode 100644 index 0000000000000..2a8640ef4169d --- /dev/null +++ b/recipes/nrpys/pyproject.patch @@ -0,0 +1,20 @@ +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -1,10 +1,10 @@ + [build-system] +-requires = ["maturin>=0.14,<0.15"] ++requires = ["maturin>=1.0,<2.0"] + build-backend = "maturin" + + [project] + name = "nrpys" +-requires-python = ">=3.7" ++requires-python = ">=3.8" + classifiers = [ + "Programming Language :: Rust", + "Programming Language :: Python :: Implementation :: CPython", +@@ -13,3 +13,4 @@ classifiers = [ + + [tool.maturin] + python-source = "python" ++features = ["pyo3/extension-module"] diff --git a/recipes/ntcard/build.sh b/recipes/ntcard/build.sh index c23c0bf12130c..5f60fef2b0369 100644 --- a/recipes/ntcard/build.sh +++ b/recipes/ntcard/build.sh @@ -3,6 +3,9 @@ export CFLAGS="-I$PREFIX/include" export LDFLAGS="-L$PREFIX/lib" export CPATH=${PREFIX}/include +export CXXFLAGS="$CXXFLAGS -Wno-array-bounds" + +export M4="$BUILD_PREFIX/bin/m4" sh autogen.sh ./configure --prefix=$PREFIX diff --git a/recipes/ntcard/meta.yaml b/recipes/ntcard/meta.yaml index d75ebcdcca625..06daf06500ea3 100644 --- a/recipes/ntcard/meta.yaml +++ b/recipes/ntcard/meta.yaml @@ -6,7 +6,9 @@ package: version: {{ version }} build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage('ntcard', max_pin="x") }} source: url: https://github.com/bcgsc/ntCard/releases/download/{{ version }}/ntcard-{{ version }}.tar.gz @@ -19,12 +21,13 @@ requirements: - automake - autoconf - llvm-openmp # [osx] + - m4 host: - perl - zlib run: - zlib - - llvm-openmp + - llvm-openmp # [osx] test: commands: @@ -35,3 +38,8 @@ about: license: MIT license_file: LICENSE summary: 'Estimating k-mer coverage histogram of genomics data' + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 \ No newline at end of file diff --git a/recipes/ntedit/build.sh b/recipes/ntedit/build.sh index 310cbe6d76b8f..4e5a499abd72a 100644 --- a/recipes/ntedit/build.sh +++ b/recipes/ntedit/build.sh @@ -1,16 +1,9 @@ #!/bin/bash -export CFLAGS="-I$PREFIX/include" -export CPPFLAGS="-I$PREFIX/include" -export CXXFLAGS="-I$PREFIX/include" -export LDFLAGS="-L$PREFIX/lib" -export CPATH=${PREFIX}/include -export C_INCLUDE_PATH=${C_INCLUDE_PATH}:${PREFIX}/include -export LIBRARY_PATH="${PREFIX}/lib" -export LD_LIBRARY_PATH="${PREFIX}/lib" -if [[ "$(uname)" == Darwin ]]; then - export LDFLAGS="$LDFLAGS -headerpad_max_install_names" -fi -make ntedit mkdir -p $PREFIX/bin -mv ntedit $PREFIX/bin + +export CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" + +meson setup build --prefix=$PREFIX --strip +cd build +ninja -v install diff --git a/recipes/ntedit/meta.yaml b/recipes/ntedit/meta.yaml index 0c2d71c26f51a..381a1d7165671 100644 --- a/recipes/ntedit/meta.yaml +++ b/recipes/ntedit/meta.yaml @@ -1,5 +1,5 @@ {% set name = "ntedit" %} -{% set version = "1.4.3" %} +{% set version = "2.0.3" %} package: name: {{ name|lower }} @@ -11,31 +11,51 @@ build: - {{ pin_subpackage(name, max_pin="x") }} source: - url: https://github.com/bcgsc/ntEdit/archive/v{{ version }}.tar.gz - sha256: a584a04eb0d6373c4be68b626444600fea8a0bf97931b34fbc4da47c21d7fd27 + url: https://github.com/bcgsc/ntEdit/releases/download/v{{ version }}/ntEdit-{{ version }}.tar.gz + sha256: fc4ee277a66bd90fd5fce8806c394efc07bb955499acea7591973e60df2399ea requirements: build: - - make - {{ compiler('cxx') }} - - llvm-openmp # [osx] + - cmake + - make - automake - autoconf - - perl - + - meson + - ninja host: + - perl - zlib + - btllib + - llvm-openmp # [osx] + - boost-cpp + - python >=3.9 run: - - llvm-openmp # [osx] - - zlib - - ntHits ==0.0.1 + - llvm-openmp # [osx] + - nthits >=1.0.0 + - ntcard + - btllib + - snakemake-minimal + - boost-cpp test: commands: - ntedit --help + - run-ntedit --help about: home: https://github.com/bcgsc/ntEdit - license: GPL-3.0 + license: GPL-3.0-or-later + license_family: GPL3 license_file: LICENSE - summary: 'ultra fast, scalable genome assembly polishing and snv detection' + summary: 'Ultrafast, lightweight, scalable genome assembly polishing, and SNV detection & annotation' + doc_url: https://github.com/bcgsc/ntEdit/blob/master/README.md + dev_url: https://github.com/bcgsc/ntEdit + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + identifiers: + - doi:10.1093/bioinformatics/btz400 + - biotools:ntEdit diff --git a/recipes/nthits/meta.yaml b/recipes/nthits/meta.yaml index 7418b9891adb4..2e1d256d54b0a 100644 --- a/recipes/nthits/meta.yaml +++ b/recipes/nthits/meta.yaml @@ -1,5 +1,5 @@ {% set name = "nthits" %} -{% set version = "1.0.2" %} +{% set version = "1.0.3" %} package: name: nthits @@ -7,10 +7,10 @@ package: source: url: https://github.com/bcgsc/ntHits/releases/download/v{{ version }}/{{ name|lower }}-{{ version }}.tar.gz - sha256: f7b18c9d9510a44cc24cec2f24f3e87312330ea70805b559a4989ea47d530e64 + sha256: ee50e825f2c99f859031fa7e5bfe4cbbc71357108c32863e31b40b950cc077b2 build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage('nthits', max_pin="x") }} @@ -38,3 +38,8 @@ about: license_family: MIT license_file: LICENSE summary: ntHits is a tool for efficiently counting and filtering k-mers based on their frequencies + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 \ No newline at end of file diff --git a/recipes/ntjoin/meta.yaml b/recipes/ntjoin/meta.yaml index 6d7500b02bc9f..bd29bd4215cb8 100644 --- a/recipes/ntjoin/meta.yaml +++ b/recipes/ntjoin/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.1.3" %} +{% set version = "1.1.5" %} package: name: ntjoin @@ -6,16 +6,15 @@ package: source: url: https://github.com/bcgsc/ntJoin/releases/download/v{{ version }}/ntJoin-{{ version }}.tar.gz - sha256: 5c54522841730f454dbdf2ea2ffee01ba647276022d01ecbe74273a1a705265b + sha256: 808260e3e8c25121f4b7b88a0dd1766c9da0b59d5ebf843a5ec84efb13944009 build: - number: 0 - skip: True # [py<38] - run_exports: {{ pin_subpackage("ntjoin", max_pin="x") }} + number: 1 + noarch: generic + run_exports: + - {{ pin_subpackage("ntjoin", max_pin="x") }} requirements: - build: - - {{ compiler('cxx') }} host: - make - python @@ -33,6 +32,7 @@ requirements: - zlib - make - btllib + - packaging test: commands: diff --git a/recipes/ntlink/build.sh b/recipes/ntlink/build.sh index 2d7d0044c363e..6b4436d0ed2b0 100644 --- a/recipes/ntlink/build.sh +++ b/recipes/ntlink/build.sh @@ -8,6 +8,6 @@ cp ntLink* ${PREFIX}/bin/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM cp bin/*py ${PREFIX}/bin/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM/bin echo "#!/bin/bash" > ${PREFIX}/bin/ntLink -echo "make -f $(command -v ${PREFIX}/bin/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM/ntLink) \$@" >> ${PREFIX}/bin/ntLink +echo "make -f $(command -v ${PREFIX}/bin/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM/ntLink) \"\$@\"" >> ${PREFIX}/bin/ntLink echo "#!/bin/bash" > ${PREFIX}/bin/ntLink_rounds -echo "make -f $(command -v ${PREFIX}/bin/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM/ntLink_rounds) \$@" >> ${PREFIX}/bin/ntLink_rounds +echo "make -f $(command -v ${PREFIX}/bin/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM/ntLink_rounds) \"\$@\"" >> ${PREFIX}/bin/ntLink_rounds diff --git a/recipes/ntlink/meta.yaml b/recipes/ntlink/meta.yaml index 308aee04aaa73..65015d97b04aa 100644 --- a/recipes/ntlink/meta.yaml +++ b/recipes/ntlink/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.3.9" %} +{% set version = "1.3.11" %} package: name: ntlink @@ -6,21 +6,21 @@ package: source: url: https://github.com/bcgsc/ntLink/releases/download/v{{ version }}/ntLink-{{ version }}.tar.gz - sha256: 3a6fe7ca9c7a0226cf51b7e55804e235ac2b959e82a30f9bce55b9caea5bb03b + sha256: ca92bd4eb4cd6f2f81db54faaeaaf4686236f42db4b6f274f552a52a8460b869 build: - number: 1 - skip: True # [py<38 or py > 39] + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage('ntlink', max_pin="x") }} requirements: - build: - - {{ compiler('cxx') }} host: - make - python - pip - zlib - - btllib <=1.4.10 + - btllib >=1.7.1 run: - python - zlib @@ -28,12 +28,13 @@ requirements: - numpy - python-igraph - abyss >=2.3.0 - - btllib + - btllib >=1.7.1 test: commands: - ntLink help + - ntLink_rounds help about: home: https://github.com/bcgsc/ntLink diff --git a/recipes/ntm-profiler/meta.yaml b/recipes/ntm-profiler/meta.yaml index 55ce1e0cf751b..deab8d25ca9f4 100644 --- a/recipes/ntm-profiler/meta.yaml +++ b/recipes/ntm-profiler/meta.yaml @@ -1,6 +1,6 @@ {% set name = "ntm-profiler" %} -{% set version = "0.3.0" %} -{% set sha256 = "1617d07625cce501980ed93146e520d5eea41c6beae5093da69accac48479f07" %} +{% set version = "0.5.0" %} +{% set sha256 = "6dafd31f7a5ccf7b770481c0fffeb09509287a402ca4023ee88e0620d440c85b" %} package: name: {{name}} @@ -28,7 +28,7 @@ requirements: run: - python >=3.7 - mash =2.3 - - pathogen-profiler =3.1.0 + - pathogen-profiler =4.1.0 - jinja2 - sourmash >=4.8.3 diff --git a/recipes/ntroot/build.sh b/recipes/ntroot/build.sh new file mode 100644 index 0000000000000..9c3343b59ea74 --- /dev/null +++ b/recipes/ntroot/build.sh @@ -0,0 +1,8 @@ +#!/bin/bash + + +mkdir -p ${PREFIX}/bin +cp ntroot ${PREFIX}/bin +cp ntRootAncestryPredictor.pl ${PREFIX}/bin +cp ntroot_run_pipeline.smk ${PREFIX}/bin +cp ntroot_cross_reference_vcf.py ${PREFIX}/bin diff --git a/recipes/ntroot/meta.yaml b/recipes/ntroot/meta.yaml new file mode 100644 index 0000000000000..dff33d32ae748 --- /dev/null +++ b/recipes/ntroot/meta.yaml @@ -0,0 +1,38 @@ +{% set name = "ntRoot" %} +{% set version = "1.1.5" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/bcgsc/ntRoot/releases/download/v{{ version }}/{{ name }}-{{ version }}.tar.gz + sha256: 1a6a1ece4ca09a500e24a58c854b6d856a1ced9b753c9adbdd10d59b13a5345d + +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage("ntroot", max_pin="x") }} + +requirements: + host: + - python >=3.9 + - perl + run: + - python >=3.9 + - snakemake + - samtools + - ntedit >=2.0.2 + - perl + - bedtools + +test: + commands: + - ntroot -h + +about: + home: https://github.com/bcgsc/ntroot + license: GPL-3.0 + license_file: LICENSE + summary: 'Ancestry inference from genomic data' diff --git a/recipes/ntsynt/build.sh b/recipes/ntsynt/build.sh new file mode 100644 index 0000000000000..c0ea64c9342bc --- /dev/null +++ b/recipes/ntsynt/build.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +export CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" + +# Build ntSynt +mkdir -p ${PREFIX}/bin +meson setup build --prefix ${PREFIX} +cd build +ninja install diff --git a/recipes/ntsynt/meta.yaml b/recipes/ntsynt/meta.yaml new file mode 100644 index 0000000000000..96b331202d4a4 --- /dev/null +++ b/recipes/ntsynt/meta.yaml @@ -0,0 +1,54 @@ +{% set name = "ntSynt" %} +{% set version = "1.0.2" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/bcgsc/ntSynt/releases/download/v{{ version }}/{{ name }}-{{ version }}.tar.gz + sha256: 6ada92dfe51dec8cd47900a5c41ee3c649cc95777eb81fe860e10748ce04e133 + +build: + number: 0 + run_exports: + - {{ pin_subpackage("ntsynt", max_pin="x") }} + +requirements: + build: + - {{ compiler('cxx') }} + - cmake + host: + - python + - meson + - ninja + - llvm-openmp # [osx] + - libgomp # [linux] + - btllib >=1.7.1 + run: + - python + - btllib >=1.7.1 + - intervaltree + - pybedtools + - ncls + - python-igraph + - snakemake + - samtools + - seqtk + +test: + commands: + - ntSynt -h + imports: + - btllib + +about: + home: https://github.com/bcgsc/ntsynt + license: GPL-3.0 + license_file: LICENSE + summary: 'Detecting multi-genome synteny blocks using minimizer graph mapping' + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/nwalign3/build_failure.linux-64.yaml b/recipes/nwalign3/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..61c30299dbffa --- /dev/null +++ b/recipes/nwalign3/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: dbf9df6c34d006d9f1dd02bf9957d314595c9c369729e51601d1310bcde9c051 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + | ^~~~~~~~~~ + nwalign3/cnwalign.c:8651:13: error: invalid use of incomplete typedef 'PyFrameObject' {aka 'struct _frame'} + 8651 | py_frame->f_lineno = __pyx_lineno; + | ^~ + nwalign3/cnwalign.c: At top level: + nwalign3/cnwalign.c:5716:13: warning: '__pyx_pf_5numpy_7ndarray___releasebuffer__' defined but not used [-Wunused-function] + 5716 | static void __pyx_pf_5numpy_7ndarray___releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info) { + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + nwalign3/cnwalign.c:4911:12: warning: '__pyx_pf_5numpy_7ndarray___getbuffer__' defined but not used [-Wunused-function] + 4911 | static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) { + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + In file included from /opt/conda/conda-bld/nwalign3_1717531771200/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.11/site-packages/numpy/core/include/numpy/ndarrayobject.h:21: + /opt/conda/conda-bld/nwalign3_1717531771200/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.11/site-packages/numpy/core/include/numpy/__multiarray_api.h:1477:1: warning: '_import_array' defined but not used [-Wunused-function] + 1477 | _import_array(void) + | ^~~~~~~~~~~~~ + error: command '/opt/conda/conda-bld/nwalign3_1717531771200/_build_env/bin/x86_64-conda-linux-gnu-cc' failed with exit code 1 + [1;31merror[0m: [1msubprocess-exited-with-error[0m + + [31m[0m [32mpython setup.py bdist_wheel[0m did not run successfully. + [31m[0m exit code: [1;36m1[0m + [31m>[0m See above for output. + + [1;35mnote[0m: This error originates from a subprocess, and is likely not a problem with pip. + [1;35mfull command[0m: [34m/opt/conda/conda-bld/nwalign3_1717531771200/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin/python -u -c '[0m + [34m exec(compile('"'"''"'"''"'"'[0m + [34m # This is -- a caller that pip uses to run setup.py[0m + [34m #[0m + [34m # - It imports setuptools before invoking setup.py, to enable projects that directly[0m + [34m # import from distutils.core to work with newer packaging standards.[0m + [34m # - It provides a clear error message when setuptools is not installed.[0m + [34m # - It sets sys.argv[0] to the underlying setup.py, when invoking setup.py so[0m + [34m # setuptools doesn'"'"'t think the script is -c. This avoids the following warning:[0m + [34m # manifest_maker: standard file '"'"'-c'"'"' not found".[0m + [34m # - It generates a shim setup.py, for handling setup.cfg-only projects.[0m + [34m import os, sys, tokenize[0m + [34m [0m + [34m try:[0m + [34m import setuptools[0m + [34m except ImportError as error:[0m + [34m print([0m + [34m "ERROR: Can not execute setup.py since setuptools is not available in "[0m + [34m "the build environment.",[0m + [34m file=sys.stderr,[0m + [34m )[0m + [34m sys.exit(1)[0m + [34m [0m + [34m __file__ = %r[0m + [34m sys.argv[0] = __file__[0m + [34m [0m + [34m if os.path.exists(__file__):[0m + [34m filename = __file__[0m + [34m with tokenize.open(__file__) as f:[0m + [34m setup_py_code = f.read()[0m + [34m else:[0m + [34m filename = ""[0m + [34m setup_py_code = "from setuptools import setup; setup()"[0m + [34m [0m + [34m exec(compile(setup_py_code, filename, "exec"))[0m + [34m '"'"''"'"''"'"' % ('"'"'/opt/conda/conda-bld/nwalign3_1717531771200/work/setup.py'"'"',), "", "exec"))' bdist_wheel -d /tmp/pip-wheel-_0o4tfsq[0m + [1;35mcwd[0m: /opt/conda/conda-bld/nwalign3_1717531771200/work/ + Building wheel for nwalign3 (setup.py): finished with status 'error' + [31m ERROR: Failed building wheel for nwalign3[0m[31m + [0m Running setup.py clean for nwalign3 + Running command python setup.py clean + running clean + removing 'build/temp.linux-x86_64-cpython-311' (and everything under it) + removing 'build/lib.linux-x86_64-cpython-311' (and everything under it) + 'build/bdist.linux-x86_64' does not exist -- can't clean it + 'build/scripts-3.11' does not exist -- can't clean it + removing 'build' + Failed to build nwalign3 + [31mERROR: Could not build wheels for nwalign3, which is required to install pyproject.toml-based projects[0m[31m + [0mException information: + Traceback (most recent call last): + File "$PREFIX/lib/python3.11/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper + status = run_func(*args) + ^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.11/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper + return func(self, options, args) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.11/site-packages/pip/_internal/commands/install.py", line 429, in run + raise InstallationError( + pip._internal.exceptions.InstallationError: Could not build wheels for nwalign3, which is required to install pyproject.toml-based projects + Removed build tracker: '/tmp/pip-build-tracker-aq9xmljq' + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/nwalign3_1717531771200/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/nwalign3/build_failure.osx-64.yaml b/recipes/nwalign3/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..7bac99b95b646 --- /dev/null +++ b/recipes/nwalign3/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: dbf9df6c34d006d9f1dd02bf9957d314595c9c369729e51601d1310bcde9c051 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/nwalign3_1717520451013/work + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/nwalign3_1717520451013/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/nwalign3_1717520451013/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/nwalign3_1717520451013/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/nwalign3-0.1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/nwalign3_1717520451013/work/conda_build.sh']' returned non-zero exit status 1. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/nwalign3-0.1.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + Using pip 24.0 from $PREFIX/lib/python3.12/site-packages/pip (python 3.12) + Non-user install because user site-packages disabled + Ignoring indexes: https://pypi.org/simple + Created temporary directory: /private/tmp/pip-build-tracker-0tezvuvu + Initialized build tracking at /private/tmp/pip-build-tracker-0tezvuvu + Created build tracker: /private/tmp/pip-build-tracker-0tezvuvu + Entered build tracker: /private/tmp/pip-build-tracker-0tezvuvu + Created temporary directory: /private/tmp/pip-install-6vpcfiwl + Created temporary directory: /private/tmp/pip-ephem-wheel-cache-w5jx5jvm + Processing $SRC_DIR + Added file://$SRC_DIR to build tracker '/private/tmp/pip-build-tracker-0tezvuvu' + Running setup.py (path:$SRC_DIR/setup.py) egg_info for package from file://$SRC_DIR + Created temporary directory: /private/tmp/pip-pip-egg-info-b0asuy5a + Preparing metadata (setup.py): started + Preparing metadata (setup.py): finished with status 'done' + Source in $SRC_DIR has version 0.1.2, which satisfies requirement nwalign3==0.1.2 from file://$SRC_DIR + Removed nwalign3==0.1.2 from file://$SRC_DIR from build tracker '/private/tmp/pip-build-tracker-0tezvuvu' + Created temporary directory: /private/tmp/pip-unpack-hj1h28km + Building wheels for collected packages: nwalign3 + Created temporary directory: /private/tmp/pip-wheel-tivhluca + Building wheel for nwalign3 (setup.py): started + Destination directory: /private/tmp/pip-wheel-tivhluca + Building wheel for nwalign3 (setup.py): finished with status 'error' + Running setup.py clean for nwalign3 + Failed to build nwalign3 + Exception information: + Traceback (most recent call last): + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper + status = run_func(*args) + ^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper + return func(self, options, args) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/commands/install.py", line 429, in run + raise InstallationError( + pip._internal.exceptions.InstallationError: Could not build wheels for nwalign3, which is required to install pyproject.toml-based projects + Removed build tracker: '/private/tmp/pip-build-tracker-0tezvuvu' +# Last 100 lines of the build log. diff --git a/recipes/nwalign3/meta.yaml b/recipes/nwalign3/meta.yaml index df4c711b31a28..753b97b146095 100644 --- a/recipes/nwalign3/meta.yaml +++ b/recipes/nwalign3/meta.yaml @@ -9,7 +9,7 @@ source: sha256: 22e2ffc9c7c181cfbe21e19c1f1348d17cca072ea2ffabe8676ebcab9bb933be build: - number: 3 + number: 4 script: "{{ PYTHON }} -m pip install . --no-deps -vv" skip: True # [py27] diff --git a/recipes/oakvar/LICENSE b/recipes/oakvar/LICENSE deleted file mode 100644 index 3d6f444550029..0000000000000 --- a/recipes/oakvar/LICENSE +++ /dev/null @@ -1,38 +0,0 @@ -OakVar Dual License - -Copyright (c) 2023 Oak Bioinformatics, LLC - -This program is dual licensed under the Affero GPL-3.0 or later for open source -use, and a commercial license, which is available for purchase, for commercial -use. - -For commercial use, please contact Oak Bioinformatics, LLC for obtaining a -commercial license. OakVar commercial license does not impose the Affero GPL -open-source licensing terms, conditions, and limitations. To obtain a -commercial-use license of OakVar, please visit our website at -https://oakbioinformatics.com or contact us at info@oakbioinformatics.com for -more information. - -================ - -MIT License - -Copyright (c) 2021 KarchinLab - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/recipes/oakvar/meta.yaml b/recipes/oakvar/meta.yaml index 5f8944a58a27b..1c79b821bf1a9 100644 --- a/recipes/oakvar/meta.yaml +++ b/recipes/oakvar/meta.yaml @@ -1,6 +1,6 @@ {% set name = "OakVar" %} -{% set version = "2.9.68" %} -{% set sha256 = "df2a1ceead63c001bccfdac097c50209bd1ceca913d792fcc5cc689ecaba452c" %} +{% set version = "2.11.11" %} +{% set sha256 = "16ac185b5e26e422111f7d7e568bd602e972ac2a91feeb4ee61a2193d47cd9a7" %} package: name: {{ name|lower }} @@ -13,7 +13,7 @@ source: build: number: 0 noarch: python - script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv entry_points: - ov=oakvar.__main__:main run_exports: @@ -23,6 +23,7 @@ requirements: host: - python >=3.8 - pip + - setuptools run: - python >=3.8 - requests @@ -49,6 +50,8 @@ requirements: - connectorx - pyarrow - multiprocess + - pysimplegui + - ujson - mpmath - twobitreader - intervaltree @@ -63,7 +66,7 @@ test: about: home: 'https://github.com/rkimoakbioinformatics/oakvar' summary: "OakVar - Genomic Variant Analysis Platform" - dev_url: 'https://pypi.org/project/oakvar/' + dev_url: 'https://github.com/rkimoakbioinformatics/oakvar' license: 'AGPL-3.0-or-later' license_family: AGPL license_file: LICENSE diff --git a/recipes/oarfish/build.sh b/recipes/oarfish/build.sh new file mode 100644 index 0000000000000..580d388d2cf18 --- /dev/null +++ b/recipes/oarfish/build.sh @@ -0,0 +1,6 @@ +#!/bin/bash -euo + +set -xe + +# build statically linked binary with Rust +RUST_BACKTRACE=1 cargo install --verbose --root $PREFIX --path . diff --git a/recipes/oarfish/meta.yaml b/recipes/oarfish/meta.yaml new file mode 100644 index 0000000000000..41e7e84dcf8ce --- /dev/null +++ b/recipes/oarfish/meta.yaml @@ -0,0 +1,39 @@ +{% set version = "0.6.2" %} + +package: + name: oarfish + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage("oarfish", max_pin="x.x") }} + +source: + url: https://github.com/COMBINE-lab/oarfish/archive/v{{ version }}.tar.gz + sha256: 78b523fc459fec5ae3680395925862b4d367bd56d051120f28c689dd387e1758 + +requirements: + build: + - make + - {{ compiler('rust') }} + - {{ compiler('c') }} + host: + - zlib + run: + - zlib + +test: + commands: + - oarfish --help + +about: + home: https://github.com/COMBINE-lab/oarfish + license: BSD-3-Clause + license_file: LICENSE + summary: oarfish is a tool for fast, accurate and versatile transcript quantification from long-read RNA-seq data + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/oatk/build.sh b/recipes/oatk/build.sh new file mode 100644 index 0000000000000..cff258fcdd73d --- /dev/null +++ b/recipes/oatk/build.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +# Use Conda environment variables for the C compiler and flags +make CC=$CC CFLAGS="$CFLAGS $LDFLAGS" +ls -la + +# Copying binaries to the $PREFIX/bin directory for them to be included in the Conda package +mkdir -p $PREFIX/bin + +cp oatk path_to_fasta pathfinder hmm_annotation syncasm $PREFIX/bin/ + diff --git a/recipes/oatk/meta.yaml b/recipes/oatk/meta.yaml new file mode 100644 index 0000000000000..d3b3d028c7c8e --- /dev/null +++ b/recipes/oatk/meta.yaml @@ -0,0 +1,40 @@ +package: + name: oatk + version: 1.0 + +source: + url: https://github.com/c-zhou/oatk/archive/refs/tags/1.0.tar.gz + sha256: 5d1a1f44750dac04b436b99f6877b531b19e2e87a3eab956627fbb5e70af463c + +build: + number: 0 + run_exports: + - {{ pin_subpackage('oatk', max_pin="x") }} + +requirements: + build: + - {{ compiler('c') }} + - make + host: + - zlib + run: + - zlib + - hmmer >=3.4 + +test: + commands: + - oatk 2>&1 | grep 'Usage' + - path_to_fasta 2>&1 | grep 'Usage' + - pathfinder 2>&1 | grep 'Usage' + - hmm_annotation 2>&1 | grep 'Usage' + - syncasm 2>&1 | grep 'Usage' + - nhmmscan 2>&1 | grep 'Usage' + +about: + home: https://github.com/c-zhou/oatk + license: MIT + summary: "Oatk: an organelle genome assembly toolkit" + +extra: + recipe-maintainers: + - LiaOb21 diff --git a/recipes/obonet/meta.yaml b/recipes/obonet/meta.yaml index 36d4c179edb60..89ec46a51d353 100644 --- a/recipes/obonet/meta.yaml +++ b/recipes/obonet/meta.yaml @@ -1,5 +1,5 @@ {% set name = "obonet" %} -{% set version = "1.0.0" %} +{% set version = "1.1.0" %} package: name: "{{ name|lower }}" @@ -7,12 +7,14 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: e96a69e41210b01bab2d9613b287899cd8aa61b6a32e5a2792041f76d4bf2a28 + sha256: abf5d7bc5d30f4e1548dbdd100e63df7343c9a15f2f1ec839d5142c63b8a150d build: number: 0 noarch: python - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + run_exports: + - {{ pin_subpackage('obonet', max_pin="x") }} requirements: host: @@ -29,6 +31,7 @@ test: about: home: "https://github.com/dhimmel/obonet" license: BSD-2-Clause-Patent + license_family: BSD license_file: LICENSE.md summary: "Parse OBO formatted ontologies into networkx" doc_url: "https://github.com/dhimmel/obonet/README.md" diff --git a/recipes/occultercut/build.sh b/recipes/occultercut/build.sh new file mode 100644 index 0000000000000..9e2e9cc3758cf --- /dev/null +++ b/recipes/occultercut/build.sh @@ -0,0 +1,17 @@ +#!/bin/bash +set -eu -o pipefail +# +# CONDA build script variables +# +# $PREFIX The install prefix +# + +mkdir -p "${PREFIX}/bin" + +export CPLUS_INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" + +make CC="${GXX} ${LDFLAGS}" CFLAGS="${CFLAGS}" + +cp OcculterCut "${PREFIX}/bin" diff --git a/recipes/occultercut/meta.yaml b/recipes/occultercut/meta.yaml new file mode 100644 index 0000000000000..9cee221adf90c --- /dev/null +++ b/recipes/occultercut/meta.yaml @@ -0,0 +1,44 @@ +{% set name = "occultercut" %} +{% set version = "1.1" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: "https://downloads.sourceforge.net/project/{{ name }}/OcculterCut_v{{ version }}.tar.gz" + sha256: 34aa8c3ef4c216435b4f722ea25f9dc431ef6937e47cfeb5afa323d451cc06ae + +build: + number: 0 + skip: True # [osx] + run_exports: + - {{ pin_subpackage('occultercut', max_pin="x") }} + +requirements: + build: + - make + - {{ compiler('c') }} + - {{ compiler('cxx') }} + host: + - libgomp # [linux] + - llvm-openmp # [osx] + run: + - gnuplot + +test: + commands: + - OcculterCut | grep "OcculterCut" + +about: + license: GPL-3.0-or-later + license_family: GPL3 + license_file: COPYING + summary: 'A package for measuring the local GC-content bias in genomes and fungal species' + home: https://sourceforge.net/projects/occultercut + +extra: + identifiers: + - doi:10.1093/gbe/evw121 + recipe-maintainers: + - KristinaGagalova diff --git a/recipes/ococo/meta.yaml b/recipes/ococo/meta.yaml index d7c8a5cbc999c..833d6bc60930d 100644 --- a/recipes/ococo/meta.yaml +++ b/recipes/ococo/meta.yaml @@ -7,7 +7,7 @@ package: version: {{ version }} build: - number: 8 + number: 9 source: - url: https://github.com/karel-brinda/ococo/archive/{{ version }}.tar.gz diff --git a/recipes/odgi/meta.yaml b/recipes/odgi/meta.yaml index 43c3c89859e29..f75494a207e1f 100644 --- a/recipes/odgi/meta.yaml +++ b/recipes/odgi/meta.yaml @@ -1,5 +1,5 @@ {% set name = "odgi" %} -{% set version = "0.8.3" %} +{% set version = "0.8.6" %} package: name: "{{ name }}" @@ -7,11 +7,15 @@ package: source: url: https://github.com/pangenome/{{ name }}/releases/download/v{{ version }}/{{ name }}-v{{ version }}.tar.gz - sha256: 13a63b8ada79851fd8ce5e7638dda1a8b75ef0346a5d93552ee2179256eb81bf + sha256: a6db190b782608082b14b42c660389aa18010791de1e2d07e29f7f61d8787754 + patches: + - patch build: skip: True # [osx or py27] - number: 0 + number: 2 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: build: diff --git a/recipes/odgi/patch b/recipes/odgi/patch new file mode 100644 index 0000000000000..f5e417a8ecd37 --- /dev/null +++ b/recipes/odgi/patch @@ -0,0 +1,12 @@ +diff --git a/src/pythonmodule.cpp b/src/pythonmodule.cpp +index 6a7942b..e38b12b 100644 +--- a/src/pythonmodule.cpp ++++ b/src/pythonmodule.cpp +@@ -5,6 +5,7 @@ + #include + #include + #include ++#include + + namespace py = pybind11; + diff --git a/recipes/olga/meta.yaml b/recipes/olga/meta.yaml new file mode 100644 index 0000000000000..db0f8ab2d47a9 --- /dev/null +++ b/recipes/olga/meta.yaml @@ -0,0 +1,48 @@ +{% set name = "olga" %} +{% set version = "1.2.4" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: 66b537a5c53aa840466c27fc51d22c24d57eb0124eeaf2cd2dfb6bbe53b38dda + +build: + number: 0 + noarch: python + entry_points: + - olga-compute_pgen=olga.compute_pgen:main + - olga-generate_sequences=olga.generate_sequences:main + script: "{{ PYTHON }} -m pip install . -vv" + run_exports: + - {{ pin_subpackage('olga', max_pin="x") }} + +requirements: + host: + - pip + - python + run: + - python + - numpy >=1.20 + +test: + imports: + - olga + commands: + - olga-compute_pgen --help + - olga-generate_sequences --help + +about: + home: "https://github.com/zsethna/OLGA" + license: "GPL-3.0-only" + license_family: GPL3 + license_file: LICENSE + summary: "OLGA (Optimized Likelihood estimate of immunoGlobulin Amino-acid sequences) is a python 2.7/3.6 software + developed to compute the generation probability of amino acid and in-frame nucleotide CDR3 sequences from a + generative model of V(D)J recombination." + +extra: + recipe-maintainers: + - pavelvazquez diff --git a/recipes/olivar/meta.yaml b/recipes/olivar/meta.yaml index 312f353f707f4..76c2f242c2d65 100644 --- a/recipes/olivar/meta.yaml +++ b/recipes/olivar/meta.yaml @@ -1,17 +1,18 @@ -{% set version = "1.1.3" %} +{% set name = "olivar" %} +{% set version = "1.2.1" %} package: - name: olivar - version: '{{version}}' + name: {{ name }} + version: {{ version }} source: - url: 'https://github.com/treangenlab/Olivar/archive/refs/tags/v{{version}}.tar.gz' - sha256: f7a04661321a33c8c4142fcb65397e13fdbcc3be2e6f429d2a5056e3f16fb567 + url: https://github.com/treangenlab/Olivar/archive/refs/tags/v{{version}}.tar.gz + sha256: 51940193397a97950fe6d8c0076bfe9cc891fbe048d952fe73ed9cef67d2c03f build: number: 0 noarch: python - script: {{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv && mkdir -p ${PREFIX}/bin && cp olivar ${PREFIX}/bin + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv && mkdir -p ${PREFIX}/bin && cp -f olivar ${PREFIX}/bin" run_exports: - {{ pin_subpackage('olivar', max_pin="x") }} @@ -23,7 +24,7 @@ requirements: - python >=3.8 - blast >=2.12.0 - biopython - - numpy + - numpy <2 - pandas - plotly >=5.13.0 - tqdm @@ -36,7 +37,8 @@ test: about: home: https://github.com/treangenlab/Olivar - license: MIT - license_family: MIT - license_file: LICENSE.txt + license: "GPL-3.0-or-later" + license_family: GPL3 + license_file: LICENSE summary: 'Olivar PCR tiling design' + dev_url: https://github.com/treangenlab/Olivar diff --git a/recipes/omamer/meta.yaml b/recipes/omamer/meta.yaml index d7a0f90833459..2efe270cd63c8 100644 --- a/recipes/omamer/meta.yaml +++ b/recipes/omamer/meta.yaml @@ -1,5 +1,5 @@ {% set name = "omamer" %} -{% set version = "2.0.2" %} +{% set version = "2.0.4" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/omamer-{{ version }}.tar.gz - sha256: 2cd75d7771333c9a611b274285eb662c19ea50c38a2ae0a2748a3b821be67dae + sha256: 292a9bc0534452f0480144620a57135a498b5e54cb252f1ee6f93a816037e3e0 build: entry_points: diff --git a/recipes/oncocnv/meta.yaml b/recipes/oncocnv/meta.yaml index 78b96775b10f3..24e9277704806 100644 --- a/recipes/oncocnv/meta.yaml +++ b/recipes/oncocnv/meta.yaml @@ -11,7 +11,7 @@ source: build: noarch: generic - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ diff --git a/recipes/oncopipe/meta.yaml b/recipes/oncopipe/meta.yaml index f0143b4395607..faf2750244b58 100644 --- a/recipes/oncopipe/meta.yaml +++ b/recipes/oncopipe/meta.yaml @@ -1,6 +1,6 @@ {% set name = "oncopipe" %} -{% set version = "1.0.11" %} -{% set sha256 = "cd2400ae50c86dc12e202f8631e32fb7ee54705404f346cc39c276fe1b710a47" %} +{% set version = "1.0.12" %} +{% set sha256 = "6de420aa7d58e1cc27a60aed163f26c72389c270b1e73218ec18f6e080f0fd1f" %} package: name: {{ name }} @@ -14,6 +14,8 @@ build: script: pushd oncopipe && python -m pip install --no-deps --ignore-installed . noarch: python number: 0 + run_exports: + - {{ pin_subpackage('oncopipe', max_pin="x.x") }} requirements: host: diff --git a/recipes/ont-fast5-api/meta.yaml b/recipes/ont-fast5-api/meta.yaml index da79cfdf31793..61dcfc3873f45 100644 --- a/recipes/ont-fast5-api/meta.yaml +++ b/recipes/ont-fast5-api/meta.yaml @@ -1,5 +1,5 @@ {% set name = "ont-fast5-api" %} -{% set version = "4.1.1" %} +{% set version = "4.1.3" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 71ea44087f310a2792d1a6c2ffbf5bc194367e769ce96a15961787f90ec7707b + sha256: 302d10ed87b439f8f22c2c06d45d68d017e47dd8df9bd48f155cad041f464b68 build: number: 0 @@ -19,6 +19,8 @@ build: - compress_fast5=ont_fast5_api.conversion_tools.compress_fast5:main - check_compression=ont_fast5_api.conversion_tools.check_file_compression:main script: "{{ PYTHON }} -m pip install . -vv" + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: host: diff --git a/recipes/ont-modkit/build.sh b/recipes/ont-modkit/build.sh index 5c4efc2ca83d4..b0f0742fcfb6e 100644 --- a/recipes/ont-modkit/build.sh +++ b/recipes/ont-modkit/build.sh @@ -1,10 +1,7 @@ #!/bin/bash -euo + export CFLAGS="${CFLAGS} -fcommon" export CXXFLAGS="${CFLAGS} -fcommon" -# Add workaround for SSH-based Git connections from Rust/cargo. See https://github.com/rust-lang/cargo/issues/2078 for details. -# We set CARGO_HOME because we don't pass on HOME to conda-build, thus rendering the default "${HOME}/.cargo" defunct. -export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="$(pwd)/.cargo" - # build statically linked binary with Rust -RUST_BACKTRACE=1 cargo install --verbose --root $PREFIX --path . \ No newline at end of file +RUST_BACKTRACE=1 cargo install --verbose --root ${PREFIX} --path . diff --git a/recipes/ont-modkit/meta.yaml b/recipes/ont-modkit/meta.yaml index b9c9b8d249964..f6a36fb5d4699 100644 --- a/recipes/ont-modkit/meta.yaml +++ b/recipes/ont-modkit/meta.yaml @@ -1,8 +1,9 @@ -{% set version = "0.2.2" %} -{% set sha256 = "3271c54a34d2b9a413169079ed357ead056b60c54a3ade1dcac71350899555ac" %} +{% set name = "ont-modkit" %} +{% set version = "0.4.1" %} +{% set sha256 = "45cd7d4ee69092db7412a15f02799c3118bf5fa4e40e193e30e8c65c4f762f79" %} package: - name: ont-modkit + name: {{ name }} version: {{ version }} source: @@ -12,21 +13,18 @@ source: build: number: 0 run_exports: - - {{ pin_subpackage("ont-modkit", max_pin="x") }} + - {{ pin_subpackage("ont-modkit", max_pin="x.x") }} requirements: build: - - rust >=1.40 + - {{ compiler('rust') }} + - {{ compiler('cxx') }} - cmake - make - autoconf - - {{ compiler('cxx') }} - pkg-config - - zlib host: - zlib - run: - test: commands: @@ -34,7 +32,13 @@ test: about: home: https://github.com/nanoporetech/modkit - license: Oxford Nanopore Technologies PLC. Public License Version 1.0 + license: "Oxford Nanopore Technologies PLC. Public License Version 1.0" license_family: PROPRIETARY - license_file: LICENCE.txt - summary: A bioinformatics tool for working with modified bases in Oxford Nanopore sequencing data. + license_file: "LICENCE.txt" + summary: "A bioinformatics tool for working with modified bases in Oxford Nanopore sequencing data." + dev_url: "https://github.com/nanoporetech/modkit" + doc_url: "https://nanoporetech.github.io/modkit/" + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/ont_vbz_hdf_plugin/meta.yaml b/recipes/ont_vbz_hdf_plugin/meta.yaml index cf503a8ce95b4..6bd574d7be07a 100644 --- a/recipes/ont_vbz_hdf_plugin/meta.yaml +++ b/recipes/ont_vbz_hdf_plugin/meta.yaml @@ -9,7 +9,7 @@ source: git_rev: v{{ version }} build: - number: 5 + number: 6 extra: skip-lints: diff --git a/recipes/ontime/meta.yaml b/recipes/ontime/meta.yaml index 84e0131fe612f..b0764d525b178 100644 --- a/recipes/ontime/meta.yaml +++ b/recipes/ontime/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.2.3" %} +{% set version = "0.3.1" %} {% set name = "ontime" %} package: @@ -7,7 +7,7 @@ package: source: url: https://github.com/mbhall88/{{ name }}/archive/{{ version }}.tar.gz - sha256: 6ac4f5e76cb01c16e306661d865a11918604873b5d057afa1a8a37dc4829e682 + sha256: 1caee3197d1032da38c55a47c3b626fe00b07831362e734fb2174747fca17fc4 build: number: 0 diff --git a/recipes/open-cravat/meta.yaml b/recipes/open-cravat/meta.yaml index 18237d9992629..7d59bcaab5edc 100644 --- a/recipes/open-cravat/meta.yaml +++ b/recipes/open-cravat/meta.yaml @@ -1,5 +1,5 @@ {% set name = "open-cravat" %} -{% set version = "2.4.2" %} +{% set version = "2.9.1" %} package: name: "{{ name|lower }}" @@ -7,14 +7,14 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: af069fb71cceb5d687b2dae24cb89c3fd69591a1df9f9aea29ec7c91c581f203 + sha256: 816484cd30196659d85b0e4705815ae06749f13f9524eb48ac07942b3ed92f08 build: number: 0 entry_points: - oc=cravat.oc:main noarch: python - script: {{PYTHON}} -m pip install . -vvv --no-build-isolation --no-deps + script: {{PYTHON}} -m pip install . -vvv --no-build-isolation --no-deps --no-cache-dir run_exports: - {{ pin_subpackage('open-cravat', max_pin="x") }} @@ -23,8 +23,9 @@ requirements: - pip - python >=3.8 run: - - aiohttp + - aiohttp <4.0.0 - aiosqlite + - biopython - chardet >=3.0.4 - intervaltree - markdown @@ -48,7 +49,7 @@ test: - cravat about: - home: "http://www.opencravat.org" + home: "https://www.opencravat.org" license: MIT license_family: MIT license_file: LICENSE diff --git a/recipes/opencontactcli/build_failure.linux-64.yaml b/recipes/opencontactcli/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..822b7bf1e5982 --- /dev/null +++ b/recipes/opencontactcli/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: ac3abd1a55a1beb3e493977b572d7fd362c0d2cb3f835ca37d3ece4c6a6d6696 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar + AS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-as + CXXFILT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cfilt + ELFEDIT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-elfedit + GPROF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gprof + LD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld + LD_GOLD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld.gold + NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-nm + OBJCOPY=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objcopy + OBJDUMP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objdump + RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib + READELF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-readelf + SIZE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-size + STRINGS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strings + STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip + INFO: activate-gcc_linux-64.sh made the following environmental changes: + BUILD=x86_64-conda-linux-gnu + CC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/opencontactcli-1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH=$PREFIX;$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=$PREFIX:$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot/usr + CONDA_BUILD_SYSROOT=$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot + CONDA_TOOLCHAIN_BUILD=x86_64-conda-linux-gnu + CONDA_TOOLCHAIN_HOST=x86_64-conda-linux-gnu + CPP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cpp + CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include + DEBUG_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/opencontactcli-1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem $PREFIX/include + GCC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc + GCC_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar + GCC_NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-nm + GCC_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib + HOST=x86_64-conda-linux-gnu + LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_cos6_linux_gnu + build_alias=x86_64-conda-linux-gnu + host_alias=x86_64-conda-linux-gnu + -BUILD=x86_64-conda_cos6-linux-gnu + -CONDA_BUILD_SYSROOT= + INFO: activate-gfortran_linux-64.sh made the following environmental changes: + DEBUG_FFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/opencontactcli-1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fimplicit-none -fvar-tracking-assignments -ffunction-sections -pipe + DEBUG_FORTRANFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/opencontactcli-1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fimplicit-none -fvar-tracking-assignments -ffunction-sections -pipe + F77=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gfortran + F90=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gfortran + F95=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-f95 + FC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gfortran + FC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gfortran + FFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/opencontactcli-1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + FORTRANFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/opencontactcli-1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + GFORTRAN=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gfortran + Traceback (most recent call last): + File "/opt/conda/conda-bld/opencontactcli_1717624440666/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/bin/f2py", line 10, in + Cannot use distutils backend with Python>=3.12, using meson backend instead. + Using meson backend + Will pass --lower to f2py + See https://numpy.org/doc/stable/f2py/buildtools/meson.html + Reading fortran codes... + Post-processing... + sys.exit(main()) + Applying post-processing hooks... + character_backward_compatibility_hook + ^^^^^^ + File "/opt/conda/conda-bld/opencontactcli_1717624440666/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.12/site-packages/numpy/f2py/f2py2e.py", line 766, in main + Post-processing (stage 2)... + Building modules... + run_compile() + File "/opt/conda/conda-bld/opencontactcli_1717624440666/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.12/site-packages/numpy/f2py/f2py2e.py", line 738, in run_compile + builder.compile() + File "/opt/conda/conda-bld/opencontactcli_1717624440666/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.12/site-packages/numpy/f2py/_backends/_meson.py", line 178, in compile + self.run_meson(self.build_dir) + File "/opt/conda/conda-bld/opencontactcli_1717624440666/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.12/site-packages/numpy/f2py/_backends/_meson.py", line 171, in run_meson + self._run_subprocess_command(setup_command, build_dir) + File "/opt/conda/conda-bld/opencontactcli_1717624440666/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.12/site-packages/numpy/f2py/_backends/_meson.py", line 167, in _run_subprocess_command + subprocess.run(command, cwd=cwd, check=True) + File "/opt/conda/conda-bld/opencontactcli_1717624440666/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.12/subprocess.py", line 548, in run + with Popen(*popenargs, **kwargs) as process: + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/opt/conda/conda-bld/opencontactcli_1717624440666/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.12/subprocess.py", line 1026, in __init__ + self._execute_child(args, executable, preexec_fn, close_fds, + File "/opt/conda/conda-bld/opencontactcli_1717624440666/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.12/subprocess.py", line 1955, in _execute_child + raise child_exception_type(errno_num, err_msg, err_filename) + FileNotFoundError: [Errno 2] No such file or directory: 'meson' + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/opencontactcli_1717624440666/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/opencontactcli/meta.yaml b/recipes/opencontactcli/meta.yaml index 47a1c0441260c..a462a78281b7d 100644 --- a/recipes/opencontactcli/meta.yaml +++ b/recipes/opencontactcli/meta.yaml @@ -7,7 +7,7 @@ source: md5: bd2e2a5aabefd5bed2c987bda2fd3e6b build: - number: 7 + number: 8 # OSX build fails with # ld: could not process llvm bitcode object file, because $BUILD_PREFIX/bin/../lib/llvm/libLTO.so could not be loaded file '/tmp/tmpfqi34dg6/tmp/tmpfqi34dg6/src.macosx-10.9-x86_64-3.7/itmodule.o' skip: True # [osx] diff --git a/recipes/openms-meta/build.sh b/recipes/openms-meta/build.sh index 54dd40136fce4..82f6b8c86d1f9 100644 --- a/recipes/openms-meta/build.sh +++ b/recipes/openms-meta/build.sh @@ -46,6 +46,6 @@ cmake .. \ -DBUILD_EXAMPLES=OFF # limit concurrent build jobs due to memory usage on CI -make -j2 OpenMS TOPP +make -j1 OpenMS TOPP # The subpackages will do the installing of the parts #make install diff --git a/recipes/openms-meta/meta.yaml b/recipes/openms-meta/meta.yaml index e23a028516e73..32c28922e024f 100644 --- a/recipes/openms-meta/meta.yaml +++ b/recipes/openms-meta/meta.yaml @@ -1,5 +1,5 @@ {% set name = "OpenMS" %} -{% set version = "3.1.0" %} # if ends with 'dev' it is considered a development release and pulled from GitHub +{% set version = "3.2.0" %} # if ends with 'dev' it is considered a development release and pulled from GitHub package: name: {{ name|lower }}-meta version: {{ version }} @@ -11,12 +11,12 @@ source: git_depth: 1 # (Defaults to -1/not shallow) {% else %} source: - url: https://github.com/OpenMS/OpenMS/releases/download/Release{{ version }}/OpenMS-{{ version }}-src.tar.gz - md5: 6a60ef1a95c7ce915cc3a02e5bccd593 + url: https://github.com/OpenMS/OpenMS/releases/download/release%2F3.2.0/OpenMS-3.2.tar.gz # since we discarded the trailing 0 during the GHA we have to hard code this, fix it next release + md5: 60ebfe8a45f7e1fb5566d21231b460e8 {% endif %} build: - number: 3 + number: 4 skip: True # [osx] # Try this when building with GUI @@ -46,6 +46,7 @@ requirements: - libsvm - coinmp - sysroot_linux-64 =2.17 # [linux] + - yaml-cpp test: commands: @@ -77,6 +78,8 @@ outputs: - libsvm - coinmp - sysroot_linux-64 =2.17 # [linux] + - yaml-cpp + build: run_exports: - {{ pin_compatible('llvm-openmp', max_pin='x.x') }} # [osx] @@ -118,6 +121,8 @@ outputs: - libsvm - coinmp - sysroot_linux-64 =2.17 # [linux] + - yaml-cpp + run: - {{ pin_subpackage('libopenms', exact=True) }} - {{ pin_compatible('llvm-openmp', max_pin='x.x') }} # [osx] @@ -143,11 +148,11 @@ outputs: requirements: run: - {{ pin_subpackage('openms', exact=True) }} - - comet-ms ==2023010 + - comet-ms ==2023012 - luciphor2 ==2020_04_03 - msgf_plus ==2023.01.1202 - percolator ==3.5 - - conda-forge::sirius-ms ==5.8.2 + - sirius-ms ==5.8.2 - thermorawfileparser ==1.4.3 - xtandem ==15.12.15.2 - sage-proteomics ==0.14.4 diff --git a/recipes/orfanage/build.sh b/recipes/orfanage/build.sh index 0a34af0fb7f2e..c28fb2fe9f67a 100644 --- a/recipes/orfanage/build.sh +++ b/recipes/orfanage/build.sh @@ -1,7 +1,9 @@ #!/bin/bash +set -xe + mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX="${PREFIX}" -DCMAKE_BUILD_TYPE=Release -DORFANAGE_BUILD_LIBBIGWIG=OFF -make +make -j ${CPU_COUNT} make install diff --git a/recipes/orfanage/meta.yaml b/recipes/orfanage/meta.yaml index 93c67654bf938..69e4c32edb1ae 100644 --- a/recipes/orfanage/meta.yaml +++ b/recipes/orfanage/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "1.1.0" %} -{% set sha = "724e82dd5175fd2420582e39a69b8b7d61d1e49871960d2d6d3a325a383719b6" %} +{% set version = "1.2.0" %} +{% set sha = "480646b3d4ce91768004a0b0b36a9766709bf3d99a23e291f37ea353ceb58b5c" %} package: name: "orfanage" @@ -10,7 +10,7 @@ source: sha256: {{ sha }} build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage('orfanage', max_pin="x") }} @@ -37,3 +37,8 @@ about: license: GPL-3.0-or-later license_file: LICENSE summary: 'Ultra-efficient and sensitive method to search for ORFs in spliced genomes guided by reference annotation to maximize protein similarity within genes.' + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/orfipy/meta.yaml b/recipes/orfipy/meta.yaml index 9028db89aef32..233aae1aa59db 100644 --- a/recipes/orfipy/meta.yaml +++ b/recipes/orfipy/meta.yaml @@ -10,7 +10,7 @@ source: sha256: b8736e1ab275a7a611d62a9718162988c6393e46f9a9074c690a75254fdcf760 build: - number: 2 + number: 3 skip: True # [py2k] entry_points: - orfipy = orfipy.__main__:main diff --git a/recipes/orfquant/meta.yaml b/recipes/orfquant/meta.yaml index a3d228565cf87..0023474d85125 100644 --- a/recipes/orfquant/meta.yaml +++ b/recipes/orfquant/meta.yaml @@ -10,7 +10,7 @@ source: build: noarch: generic - number: 4 + number: 5 rpaths: - lib/R/lib/ - lib/ diff --git a/recipes/orientagraph/build_failure.osx-64.yaml b/recipes/orientagraph/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..43e5e41c13ad2 --- /dev/null +++ b/recipes/orientagraph/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: d446dcef765ca05d16a950ff7bea343ccc3c718556126b490882b4d306474d38 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache + Downloading source to cache: 0f81b2604993285a56fbf83384481274f7c89883_d51e21d9e4.zip + Downloading https://github.com/sriramlab/OrientAGraph/archive/0f81b2604993285a56fbf83384481274f7c89883.zip + Success + configure: error: could not find zlib + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/orientagraph_1717521672230/work + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/orientagraph_1717521672230/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/orientagraph_1717521672230/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/orientagraph_1717521672230/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/orientagraph-1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/orientagraph_1717521672230/work/conda_build.sh']' returned non-zero exit status 1. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/orientagraph-1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/orientagraph-1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/orientagraph-1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + checking for C compiler default output file name... a.out + checking whether the C compiler works... yes + checking whether we are cross compiling... no + checking for suffix of executables... + checking for suffix of object files... o + checking whether we are using the GNU C compiler... yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... yes + checking for a BSD-compatible install... /usr/bin/install -c + checking whether build environment is sane... yes + checking for a thread-safe mkdir -p... ./install-sh -c -d + checking for gawk... no + checking for mawk... no + checking for nawk... no + checking for awk... awk + checking whether make sets $(MAKE)... yes + checking for style of include used by make... GNU + checking dependency style of x86_64-apple-darwin13.4.0-clang... gcc3 + checking for x86_64-apple-darwin13.4.0-gcc... x86_64-apple-darwin13.4.0-clang + checking whether we are using the GNU C compiler... yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... yes + checking for x86_64-apple-darwin13.4.0-clang option to accept ISO C89... none needed + checking dependency style of x86_64-apple-darwin13.4.0-clang... gcc3 + checking for gzopen in -lz... no +# Last 100 lines of the build log. diff --git a/recipes/orientagraph/meta.yaml b/recipes/orientagraph/meta.yaml index 89eadd28e5e47..0d0e032a32a5e 100644 --- a/recipes/orientagraph/meta.yaml +++ b/recipes/orientagraph/meta.yaml @@ -7,7 +7,7 @@ source: sha256: d51e21d9e46c8d60bedf83a7a956032f8757bb69947b37b181e867452bb09aac build: - number: 4 + number: 5 requirements: build: diff --git a/recipes/orientationpy/build.sh b/recipes/orientationpy/build.sh new file mode 100644 index 0000000000000..9b117d644a325 --- /dev/null +++ b/recipes/orientationpy/build.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +"${PYTHON}" -m pip install --no-deps --ignore-installed --no-cache-dir -vvv *.whl diff --git a/recipes/orientationpy/meta.yaml b/recipes/orientationpy/meta.yaml new file mode 100644 index 0000000000000..11b7b6ed31b4b --- /dev/null +++ b/recipes/orientationpy/meta.yaml @@ -0,0 +1,44 @@ +{% set name = "orientationpy" %} +{% set version = "0.2.0.4" %} + +package: + name: "{{ name }}" + version: "{{ version }}" + +source: + url: "https://files.pythonhosted.org/packages/0a/f5/ab88217f2b8a14bf10959de073d0fb2ca631c6ca00a953184cefec66a003/orientationpy-{{ version }}-py3-none-any.whl" + sha256: 918654b71c28824c0b19f67d4a9fb20d45f72f41566dc51d63f835076f7cd744 + +build: + number: 0 + noarch: python + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + +requirements: + host: + - python >=3.8 + - pip + run: # see https://gitlab.com/epfl-center-for-imaging/orientationpy/-/blob/main/pyproject.toml?ref_type=heads#L32 + - python >=3.8 + - matplotlib-base >=3.1.3 + - numpy + - scipy + - numba + - numba-progress + +test: + commands: + - python -c "import orientationpy" + +about: + home: "https://pypi.org/project/orientationpy" + license: GNU General Public License v3 (GPL-3.0) + license_family: GPL + summary: "OrientationPy is the pythonic successor to the well-loved OrientationJ Fiji Plugin. It is a library that takes in 2D images or 3D volumes and computes the orientation of the greylevels." + dev_url: "https://gitlab.com/epfl-center-for-imaging/orientationpy" + doc_url: "https://epfl-center-for-imaging.gitlab.io/orientationpy/introduction.html" + +extra: + recipe-maintainers: + - kostrykin diff --git a/recipes/orna/build_failure.osx-64.yaml b/recipes/orna/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..413245ac90f9b --- /dev/null +++ b/recipes/orna/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 89e935cbf0962078a096807e0c214a01be355ad16c3cc5d1e3c82671f3f3efe4 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + [ 23%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FAdbg.c.o + [ 23%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FAdblkpage.c.o + [ 23%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FAdblock.c.o + [ 23%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FAhdr.c.o + [ 23%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FAint.c.o + [ 24%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FAstat.c.o + [ 24%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FAtest.c.o + [ 24%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FD.c.o + [ 24%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FDcore.c.o + [ 25%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FDdirect.c.o + [ 25%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FDfamily.c.o + [ 25%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FDint.c.o + [ 25%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FDlog.c.o + [ 25%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FDmpi.c.o + [ 26%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FDmpio.c.o + [ 26%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FDmulti.c.o + [ 26%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FDsec2.c.o + [ 26%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FDspace.c.o + [ 27%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FDstdio.c.o + [ 27%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FDtest.c.o + [ 27%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FDwindows.c.o + [ 27%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FL.c.o + [ 28%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FO.c.o + [ 28%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FS.c.o + [ 28%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FScache.c.o + [ 28%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FSdbg.c.o + [ 28%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FSint.c.o + [ 29%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FSsection.c.o + [ 29%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FSstat.c.o + [ 29%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5FStest.c.o + [ 29%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5G.c.o + [ 30%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Gbtree2.c.o + [ 30%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Gcache.c.o + [ 30%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Gcompact.c.o + [ 30%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Gdense.c.o + [ 31%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Gdeprec.c.o + [ 31%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Gent.c.o + [ 31%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Gint.c.o + [ 31%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Glink.c.o + [ 31%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Gloc.c.o + [ 32%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Gname.c.o + [ 32%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Gnode.c.o + [ 32%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Gobj.c.o + [ 32%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Goh.c.o + [ 33%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Groot.c.o + [ 33%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Gstab.c.o + [ 33%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Gtest.c.o + [ 33%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Gtraverse.c.o + [ 34%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HF.c.o + [ 34%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HFbtree2.c.o + [ 34%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HFcache.c.o + [ 34%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HFdbg.c.o + [ 34%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HFdblock.c.o + [ 35%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HFdtable.c.o + [ 35%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HFhdr.c.o + [ 35%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HFhuge.c.o + [ 35%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HFiblock.c.o + [ 36%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HFiter.c.o + [ 36%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HFman.c.o + [ 36%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HFsection.c.o + [ 36%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HFspace.c.o + [ 36%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HFstat.c.o + [ 37%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HFtest.c.o + [ 37%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HFtiny.c.o + [ 37%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HG.c.o + [ 37%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HGcache.c.o + [ 38%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HGdbg.c.o + [ 38%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HGquery.c.o + [ 38%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HL.c.o + [ 38%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HLcache.c.o + [ 39%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HLdbg.c.o + [ 39%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HLdblk.c.o + [ 39%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HLint.c.o + [ 39%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HLprfx.c.o + [ 39%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5HP.c.o + [ 40%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5I.c.o + [ 40%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Itest.c.o + [ 40%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5L.c.o + [ 40%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Lexternal.c.o + [ 41%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5MF.c.o + [ 41%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5MFaggr.c.o + [ 41%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5MFdbg.c.o + [ 41%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5MFsection.c.o + [ 42%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5MM.c.o + [ 42%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5MP.c.o + [ 42%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5MPtest.c.o + [ 42%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5O.c.o + [ 42%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Oainfo.c.o + [ 43%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Oalloc.c.o + [ 43%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Oattr.c.o + [ 43%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Oattribute.c.o + [ 43%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Obogus.c.o + [ 44%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Obtreek.c.o + [ 44%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Ocache.c.o + [ 44%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Ocache_image.c.o + [ 44%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Ochunk.c.o + [ 45%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Ocont.c.o + [ 45%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Ocopy.c.o + [ 45%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Odbg.c.o + [ 45%] Building C object ext/gatb-core/thirdparty/hdf5/src/CMakeFiles/hdf5-static.dir/H5Odeprec.c.o +# Last 100 lines of the build log. diff --git a/recipes/orna/meta.yaml b/recipes/orna/meta.yaml index a3c58585a72a8..ad2481b35fa4a 100644 --- a/recipes/orna/meta.yaml +++ b/recipes/orna/meta.yaml @@ -11,7 +11,7 @@ source: sha256: 4be912455a467e89a49ce1e7643b6101f2565a3dc6873d971fad2062566652eb build: - number: 4 + number: 5 requirements: build: diff --git a/recipes/orsum/meta.yaml b/recipes/orsum/meta.yaml index 3591a34be072a..914af7c1fb195 100644 --- a/recipes/orsum/meta.yaml +++ b/recipes/orsum/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "1.6.0" %} -{% set sha256hash = "b44f9d5a68e4983da93c41cf5e4053c77ac550e0482601c1da6a83b039328da9" %} +{% set version = "1.7.0" %} +{% set sha256hash = "ba228a3d1ca6aa6269a624ab109c1a6c41c58dd392abcf46f8edc2e52760c1a8" %} package: name: orsum version: {{ version }} @@ -11,6 +11,8 @@ source: build: noarch: generic number: 0 + run_exports: + - {{ pin_subpackage('orsum', max_pin="x.x") }} requirements: run: diff --git a/recipes/orthanq/build.sh b/recipes/orthanq/build.sh new file mode 100644 index 0000000000000..9dca7213beca0 --- /dev/null +++ b/recipes/orthanq/build.sh @@ -0,0 +1,8 @@ +#!/bin/bash -eu + +# Make sure bindgen passes on our compiler flags. +export BINDGEN_EXTRA_CLANG_ARGS="${CPPFLAGS} ${CFLAGS} ${LDFLAGS}" +export HDF5_DIR=${PREFIX} +export RUSTFLAGS="-C link-args=-Wl,-rpath,$HDF5_DIR/lib" + +cargo install --no-track --locked --verbose --root "${PREFIX}" --path . diff --git a/recipes/orthanq/meta.yaml b/recipes/orthanq/meta.yaml new file mode 100644 index 0000000000000..bf9c98d9a23da --- /dev/null +++ b/recipes/orthanq/meta.yaml @@ -0,0 +1,69 @@ +{% set version = "1.7.9" %} + +package: + name: orthanq + version: {{ version }} + +build: + number: 0 + skip: True # [osx] + run_exports: + - {{ pin_subpackage("orthanq", max_pin="x") }} + +source: + url: https://github.com/orthanq/orthanq/archive/v{{ version }}.tar.gz + sha256: 101f3b82aaae6bd6f50cce04cee14478236384677300e7441c88da08ca975554 + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - {{ compiler('rust') }} + - rust >=1.54 + - pkg-config + - make + - cmake + - perl-findbin + host: + - gsl + - libcblas + - openssl + - zlib + - bzip2 + - xz + - clangdev + - coincbc + - hdf5 =1.10.5 + - fontconfig + - htslib + - varlociraptor =8.4.7 + - samtools =1.19 + - vg =1.56 + - minimap2 + - bwa + run: + - gsl + - libcblas + - openssl + - zlib + - bzip2 + - xz + - clangdev + - coincbc + - hdf5 =1.10.5 + - fontconfig + +test: + commands: + - orthanq -h + +about: + home: https://github.com/orthanq/orthanq + license: MIT + license_family: MIT + license_file: LICENSE + summary: Uncertainty aware HLA typing and general haplotype quantification + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/orthofinder/build.sh b/recipes/orthofinder/build.sh index b82ab906ef423..500e4718f4ff8 100644 --- a/recipes/orthofinder/build.sh +++ b/recipes/orthofinder/build.sh @@ -12,10 +12,17 @@ sed -i.bak 's/raxmlHPC-AVX/raxmlHPC-AVX2/g' scripts_of/config.json cp scripts_of/config.json $PREFIX/bin/scripts_of/config.json cp tools/convert_orthofinder_tree_ids.py $PREFIX/bin/ +cp tools/create_files_for_hogs.py $PREFIX/bin/ cp tools/make_ultrametric.py $PREFIX/bin/ +cp tools/orthogroup_gene_count.py $PREFIX/bin/ cp tools/primary_transcript.py $PREFIX/bin/ chmod a+x $PREFIX/bin/orthofinder chmod a+x $PREFIX/bin/convert_orthofinder_tree_ids.py +chmod a+x $PREFIX/bin/create_files_for_hogs.py chmod a+x $PREFIX/bin/make_ultrametric.py +chmod a+x $PREFIX/bin/orthogroup_gene_count.py chmod a+x $PREFIX/bin/primary_transcript.py + +mkdir -p $PREFIX/share/orthofinder/ +cp -r ExampleData $PREFIX/share/orthofinder/ \ No newline at end of file diff --git a/recipes/orthofinder/meta.yaml b/recipes/orthofinder/meta.yaml index f3613f21558b7..28617f0071f7a 100644 --- a/recipes/orthofinder/meta.yaml +++ b/recipes/orthofinder/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "2.5.5" %} -{% set sha256 = "43d034a66a13adba8872a0d4a76e32c25305a7fae638754adb61c37a3f957bd9" %} +{% set version = "3.0.1b1" %} +{% set sha256 = "0252560f7ee2303ac3400f130e9eb81b3f6419062aa677642a7258659b43a68c" %} package: name: orthofinder @@ -7,7 +7,9 @@ package: build: noarch: generic - number: 1 + number: 0 + run_exports: + - {{ pin_subpackage('orthofinder', max_pin="x") }} source: url: https://github.com/davidemms/OrthoFinder/releases/download/{{ version }}/OrthoFinder_source.tar.gz @@ -15,7 +17,7 @@ source: requirements: run: - - python >=3.7 + - python >=3.7,<3.12 - scipy - blast # https://github.com/davidemms/OrthoFinder/issues/826 https://github.com/bbuchfink/diamond/issues/707 @@ -24,12 +26,15 @@ requirements: - fastme - mafft - fasttree - - muscle + - muscle <5 - raxml - raxml-ng - iqtree - bzip2 - mmseqs2 + - scikit-learn + - biopython + - aster test: commands: @@ -40,3 +45,6 @@ about: summary: Accurate inference of orthogroups, orthologues, gene trees and rooted species tree made easy! license: GPLv3 license_file: License.md + +files: + - ExampleData diff --git a/recipes/orthofisher/meta.yaml b/recipes/orthofisher/meta.yaml index 5c44d64e8a351..2f8f1d7513d6d 100644 --- a/recipes/orthofisher/meta.yaml +++ b/recipes/orthofisher/meta.yaml @@ -1,5 +1,5 @@ {% set name = "orthofisher" %} -{% set version = "1.1.0" %} +{% set version = "1.1.1" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/orthofisher-{{ version }}.tar.gz - sha256: e8600178d630f1978cf8c6657a6ff128c309dc6bc3bb6f6549ffc04ed4e02e29 + sha256: 0a71d21864db9e104eefd636e0185969fb5da25a01770b578966aca75517c046 build: number: 0 diff --git a/recipes/orthoflow/meta.yaml b/recipes/orthoflow/meta.yaml index 8f8d2b203e7d3..be8b066f348c6 100644 --- a/recipes/orthoflow/meta.yaml +++ b/recipes/orthoflow/meta.yaml @@ -1,5 +1,5 @@ {% set name = "orthoflow" %} -{% set version = "0.2.0" %} +{% set version = "0.3.4" %} package: name: {{ name|lower }} @@ -7,25 +7,24 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/orthoflow-{{ version }}.tar.gz - sha256: 60e5c8bf6ba3f5d3b6d2e3fa9953f4196c117b4e656c9e5c709a28a397451d93 + sha256: 063bff7c0f5e4a62e637f472ce27b95a6ccd8709fcf381b8b735bfd7df3a55e6 build: entry_points: - orthoflow = orthoflow.main:app noarch: python - script: {{ PYTHON }} -m pip install . -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv number: 0 run_exports: - - {{ pin_subpackage(name, max_pin="x") }} + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: host: - - python - - setuptools + - python >=3.8,<3.12 - poetry-core >=1.0.0 - pip run: - - python + - python >=3.8,<3.12 - snakemake-minimal >=7.0.0 - pandas >=1.2.5,<2.0.0 - typer >=0.4.1 @@ -36,8 +35,9 @@ requirements: - appdirs >=1.4.4 - joblib >=1.2.0 - toml >=0.10.2 - - phytest >=1.2.0 + - phytest >=1.4.1 - rich >=13.3.3 + - pulp 2.7.0 test: imports: @@ -49,6 +49,7 @@ about: home: https://github.com/rbturnbull/orthoflow summary: Orthoflow is a workflow for phylogenetic inference of genome-scale datasets of protein-coding genes. license: Apache-2.0 + license_family: APACHE license_file: LICENSE dev_url: https://github.com/rbturnbull/orthoflow doc_url: https://rbturnbull.github.io/orthoflow/ diff --git a/recipes/orthologer/build.sh b/recipes/orthologer/build.sh new file mode 100644 index 0000000000000..0741cbebb9195 --- /dev/null +++ b/recipes/orthologer/build.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +# flag installer that no external packages should be installed +# they are all installed by conda dependencies +export SKIP_EXTERNAL=1 + +# install ORTHOLOGER and BRHCLUS +./install_pkg.sh diff --git a/recipes/orthologer/meta.yaml b/recipes/orthologer/meta.yaml new file mode 100644 index 0000000000000..8279dbe399fc0 --- /dev/null +++ b/recipes/orthologer/meta.yaml @@ -0,0 +1,71 @@ +{% set name = "orthologer" %} +{% set version = "3.5.0" %} +{% set sha256 = "76bd68cd73d5989d658a6ba0ecefec84e674f85878b75904c76fa557ce5dd2b5" %} + +package: + name: {{ name }} + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage('orthologer', max_pin="x") }} + +source: + url: https://data.orthodb.org/current/download/software/orthologer_{{ version }}.tgz + sha256: {{ sha256 }} + +requirements: + build: + - {{ compiler('cxx') }} + - {{ compiler('c') }} + - cmake + - make + - bash >=4.1 + host: + - llvm-openmp # [osx] + - libgomp # [linux] + - rsync + - wget + - bash >=4.1 + run: + - bash >=4.1 + - python >=3.4 + - llvm-openmp # [osx] + - libgomp # [linux] + - rsync + - wget + - blast + - mmseqs2 + - cd-hit + - diamond + - biopython + - numpy + - busco >=5.7.0 + +test: + commands: + - ALLOW_RUNAS_ROOT=1 orthologer -h + +about: + home: https://orthologer.ezlab.org + license: GPL3 + license_family: GPL3 + license_file: LICENSE + summary: Establish orthology among fasta files. + description: Map genes to OrthoDB as well as finding orthology among a set of fasta files. + dev_url: https://gitlab.com/ezlab/orthologer_container + doc_url: https://orthologer.ezlab.org/#on-orthodb-data + +extra: + container: + # Necessary to allow Orthologer to download files from the internet when used with Singularity + # and default bind paths (see also https://github.com/bioconda/bioconda-recipes/issues/11583). + # Should be removed again when the base container is fixed. Not yet... + extended-base: True + identifiers: + - biotools:orthologer + - doi:10.1093/nar/gkac996 + - PMID:36350662 + recipe-maintainers: + - ftegenfe diff --git a/recipes/ostir/LICENSE b/recipes/ostir/LICENSE deleted file mode 100644 index 02fefceb563f1..0000000000000 --- a/recipes/ostir/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - OSTIR: Open Source Translation Initiation Rates - Copyright (C) 2021 Cameron Roots, Jeffrey Barrick - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/recipes/ostir/meta.yaml b/recipes/ostir/meta.yaml index d826cf029e5fa..14914da27c56f 100644 --- a/recipes/ostir/meta.yaml +++ b/recipes/ostir/meta.yaml @@ -1,5 +1,5 @@ {% set name = "OSTIR" %} -{% set version = "1.1.0" %} +{% set version = "1.1.2" %} package: name: "{{ name|lower }}" @@ -7,21 +7,23 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 05df18370a371ea1fa5260d1eeeebf015368363b4174ee1005b3047c697489b4 + sha256: 9ca8941245ed0265e87e68c4b09adc599324d8f9e10e19e377262680288c7771 build: number: 0 entry_points: - ostir = ostir.ostir:main - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" noarch: python + run_exports: + - {{ pin_subpackage('ostir', max_pin="x.x.x") }} requirements: host: - pip - - python >=3.7 + - python >=3.8 run: - - python >=3.7 + - python >=3.8 - viennarna >=2.4.18 - numpy >=1.20.1 @@ -34,10 +36,12 @@ test: about: home: "https://github.com/barricklab/ostir" - license: "GNU General Public v3 or later (GPLv3+)" + license: "GPL-3.0-or-later" license_family: GPL3 license_file: "LICENSE" summary: "Open Source Transcription Initiation Rates" + doc_url: "https://github.com/barricklab/ostir/wiki" + dev_url: "https://github.com/barricklab/ostir" extra: recipe-maintainers: diff --git a/recipes/pacu_snp/LICENSE b/recipes/pacu_snp/LICENSE new file mode 100644 index 0000000000000..20d40b6bceca3 --- /dev/null +++ b/recipes/pacu_snp/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. \ No newline at end of file diff --git a/recipes/pacu_snp/meta.yaml b/recipes/pacu_snp/meta.yaml new file mode 100644 index 0000000000000..6798465c0519a --- /dev/null +++ b/recipes/pacu_snp/meta.yaml @@ -0,0 +1,66 @@ +{% set version = "0.0.5" %} + +package: + name: pacu_snp + version: {{ version }} + +source: + url: https://pypi.io/packages/source/p/pacu_snp/pacu_snp-{{ version }}.tar.gz + sha256: 68979d53d8a591351a3de4edcde38bb508a8fcf8a4b1878999c9e63c932ffeb6 + +build: + noarch: python + number: 0 + entry_points: + - PACU=pacu.run_pacu:main + - PACU_map=pacu.map_to_ref:main + - PACU_galaxy=pacu.galaxy:main + run_exports: + - {{ pin_subpackage("pacu_snp", max_pin="x.x") }} + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + +requirements: + host: + - python >=3.9 + - pip + - setuptools + - biopython >=1.84 + - pyyaml >=6.0.1 + run: + - bcftools >=1.17 + - beautifulsoup4 >=4.12.2 + - bedtools >=2.31.0 + - biopython >=1.84 + - bowtie2 >=2.5.1 + - figtree >=1.4.4 + - gubbins >=3.3.1 + - iqtree >=2.2.5 + - matplotlib-base >=3.8.0 + - minimap2 >=2.26 + - pandas >=2.1.0 + - pyvcf3 >=1.0.3 + - pyyaml >=6.0.1 + - samtools >=1.17 + - seqkit >=2.3.1 + - snakemake-minimal ==7.32.4 + - snp-dists >=0.8.2 + - trimmomatic >=0.39 + - upsetplot >=0.8.0 + - yattag >=1.15.1 + +about: + home: https://github.com/BioinformaticsPlatformWIV-ISP/PACU + license: GPL-3.0-or-later + license_family: GPL + license_file: LICENSE + summary: PACU is a workflow for whole genome sequencing based phylogeny of Illumina and ONT R9/R10 data. + dev_url: https://github.com/BioinformaticsPlatformWIV-ISP/PACU + +test: + imports: + - pacu + commands: + - PACU -h + - PACU_map -h + - PACU_galaxy -h + diff --git a/recipes/pairix/build.sh b/recipes/pairix/build.sh index d91603e1fb483..478e63e9afca8 100644 --- a/recipes/pairix/build.sh +++ b/recipes/pairix/build.sh @@ -1,20 +1,27 @@ #!/bin/bash +mkdir -p "${PREFIX}/bin" + # Install both the pairix binaries and the Python extension module -export C_INCLUDE_PATH=${PREFIX}/include -export LIBRARY_PATH=${PREFIX}/lib -make -cp bin/pairix $PREFIX/bin/pairix -cp bin/pairs_merger $PREFIX/bin/pairs_merger -cp bin/streamer_1d $PREFIX/bin/streamer_1d -cp util/column_remover.pl $PREFIX/bin/column_remover.pl -cp util/duplicate_header_remover.pl $PREFIX/bin/duplicate_header_remover.pl -cp util/fragment_4dnpairs.pl $PREFIX/bin/fragment_4dnpairs.pl -cp util/juicer_shortform2pairs.pl $PREFIX/bin/juicer_shortform2pairs.pl -cp util/merge-pairs.sh $PREFIX/bin/merge-pairs.sh -cp util/merged_nodup2pairs.pl $PREFIX/bin/merged_nodup2pairs.pl -cp util/old_merged_nodup2pairs.pl $PREFIX/bin/old_merged_nodup2pairs.pl -cp util/process_merged_nodup.sh $PREFIX/bin/process_merged_nodup.sh -cp util/process_old_merged_nodup.sh $PREFIX/bin/process_old_merged_nodup.sh -cp util/bam2pairs/bam2pairs $PREFIX/bin/bam2pairs -$PYTHON setup.py install --single-version-externally-managed --record=record.txt +export C_INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" + +make CC="${CC}" + +cp ${SRC_DIR}/util/*.pl ${PREFIX}/bin/ +cp ${SRC_DIR}/util/*.sh ${PREFIX}/bin/ +cp ${SRC_DIR}/util/bam2pairs/bam2pairs ${PREFIX}/bin/ + +# Fix perl shebang +sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' $PREFIX/bin/column_remover.pl +sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' $PREFIX/bin/duplicate_header_remover.pl +sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' $PREFIX/bin/fragment_4dnpairs.pl +sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' $PREFIX/bin/juicer_shortform2pairs.pl +sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' $PREFIX/bin/merged_nodup2pairs.pl +sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' $PREFIX/bin/old_merged_nodup2pairs.pl + +cp ${SRC_DIR}/bin/pairix ${PREFIX}/bin/ +cp ${SRC_DIR}/bin/pairs_merger ${PREFIX}/bin/ +cp ${SRC_DIR}/bin/streamer_1d ${PREFIX}/bin/ + +${PYTHON} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir diff --git a/recipes/pairix/build_failure.osx-64.yaml b/recipes/pairix/build_failure.osx-64.yaml deleted file mode 100644 index 919f523e493c3..0000000000000 --- a/recipes/pairix/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 171fe0735fef1a9e10a803aefb6b400f711ced35e2783b546dd36d6aeae21f7f # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - int dim = ti_get_sc2(idx)1==0?1:2; - ^~~ - ./pairix.h:209:36: note: passing argument to parameter 'idx' here - int ti_get_sc2(ti_index_t *idx); - ^ - index.c:1219:17: warning: initializing 'char **' with an expression of type 'const char **' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers] - char **chrpairlist = ti_seqname(t->idx, &n_seqpair_list); - ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - index.c:1236:59: warning: passing 'char **' to parameter of type 'const char **' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers] - sequential_iter_t *siter = ti_querys_2d_multi(t, regions, n_sub_list); - ^~~~~~~ - ./pairix.h:131:73: note: passing argument to parameter 'regs' here - sequential_iter_t *ti_querys_2d_multi(pairix_t *t, const char **regs, int nRegs); - ^ - index.c:1242:23: warning: initializing 'char *' with an expression of type 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] - *sp=0; char *chr1 = reg; - ^ ~~~ - index.c:1246:17: warning: initializing 'char **' with an expression of type 'const char **' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers] - char **chrpairlist = ti_seqname(t->idx, &n_seqpair_list); - ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - index.c:1263:59: warning: passing 'char **' to parameter of type 'const char **' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers] - sequential_iter_t *siter = ti_querys_2d_multi(t, regions, n_sub_list); - ^~~~~~~ - ./pairix.h:131:73: note: passing argument to parameter 'regs' here - sequential_iter_t *ti_querys_2d_multi(pairix_t *t, const char **regs, int nRegs); - ^ - index.c:1417:24: error: incompatible pointer to integer conversion returning 'ti_iter_t' (aka 'struct __ti_iter_t *') from a function with result type 'int' [-Wint-conversion] - if (name == 0) return ti_iter_first(); - ^~~~~~~~~~~~~~~ - index.c:1469:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] - if( miter->iu = calloc(n,sizeof(iter_unit*))) { - ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - index.c:1469:20: note: place parentheses around the assignment to silence this warning - if( miter->iu = calloc(n,sizeof(iter_unit*))) { - ^ - ( ) - index.c:1469:20: note: use '==' to turn this assignment into an equality comparison - if( miter->iu = calloc(n,sizeof(iter_unit*))) { - ^ - == - index.c:1537:19: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] - miu[i]->s = ti_iter_read(miu[i]->t->fp, miu[i]->iter, miu[i]->len, seqonly); - ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - index.c:1543:17: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] - miu[0]->s = ti_iter_read(miu[0]->t->fp, miu[0]->iter, miu[0]->len, seqonly); // get next entry for the flushed iter - ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - index.c:1573:11: warning: initializing 'char *' with an expression of type 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] - char *s = ti_iter_read(siter->t->fp,siter->iter[siter->curr], len, 0); - ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - index.c:1576:9: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] - s = ti_iter_read(siter->t->fp,siter->iter[siter->curr], len, 0); - ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - index.c:1643:22: warning: assigning to 'char **' from 'const char **' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers] - seqnames = ti_seqname(tbs[i]->idx,&len); - ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - index.c:1911:34: warning: passing 'const char *' to parameter of type 'char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] - char *reg2 = flip_region(reg, get_region_split_character(tb)); - ^~~ - index.c:1743:27: note: passing argument to parameter 's' here - char *flip_region ( char* s, char region_split_character) { - ^ - index.c:1971:12: warning: initializing 'char **' with an expression of type 'const char **' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers] - char **seqnames = ti_seqname(idx,&len); - ^ ~~~~~~~~~~~~~~~~~~~~ - index.c:1977:64: warning: passing 'const char *' to parameter of type 'void *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] - if(ti_get_tid(idx, reg2)!=-1) { free(seqnames); free(reg2); return(0); } // not a triangle - ^~~~ - /Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/stdlib.h:143:18: note: passing argument to parameter here - void free(void *); - ^ - index.c:1978:14: warning: passing 'const char *' to parameter of type 'void *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] - free(reg2); - ^~~~ - /Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/stdlib.h:143:18: note: passing argument to parameter here - void free(void *); - ^ - 18 warnings and 1 error generated. - make[2]: *** [Makefile:15: index.o] Error 1 - make[2]: Leaving directory '$SRC_DIR/src' - make[1]: *** [Makefile:18: all-recur] Error 1 - make[1]: Leaving directory '$SRC_DIR/src' - cp: bin/pairix: No such file or directory - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/pairix_1685394139065/work/conda_build.sh']' returned non-zero exit status 1. -# Last 100 lines of the build log. diff --git a/recipes/pairix/conda_build_config.yaml b/recipes/pairix/conda_build_config.yaml new file mode 100644 index 0000000000000..1a582a0844fac --- /dev/null +++ b/recipes/pairix/conda_build_config.yaml @@ -0,0 +1,3 @@ +# current version does not build with newer compilers +c_compiler_version: + - 14 # [osx] diff --git a/recipes/pairix/meta.yaml b/recipes/pairix/meta.yaml index f2d810a4b6cf3..873aa8e04a725 100644 --- a/recipes/pairix/meta.yaml +++ b/recipes/pairix/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.3.7" %} +{% set version = "0.3.8" %} package: name: pairix @@ -6,12 +6,14 @@ package: source: url: https://github.com/4dn-dcic/pairix/archive/{{ version }}.tar.gz - md5: a1f9b3c7b13d904dfe736cf5e66c2385 + sha256: 51e349c034eda3bce21d9f89a8e477471d2db5a3ef4424a39999d1ec316e2726 patches: - src_Makefile.patch build: - number: 5 + number: 3 + run_exports: + - {{ pin_subpackage('pairix', max_pin="x.x") }} requirements: build: @@ -19,21 +21,29 @@ requirements: - {{ compiler('c') }} host: - python - - setuptools + - pip - zlib run: - - htslib - python + - perl + - htslib + - samtools test: - imports: - - pypairix + #imports: + #- pypairix commands: - pairix --help about: home: https://github.com/4dn-dcic/pairix license: MIT + license_family: MIT license_file: "LICENSE.txt" summary: 2D indexing on bgzipped text files of paired genomic coordinates - license_family: MIT + dev_url: https://github.com/4dn-dcic/pairix + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/pairtools/meta.yaml b/recipes/pairtools/meta.yaml index 43d9a7bf44b70..b6fe4692a07d1 100644 --- a/recipes/pairtools/meta.yaml +++ b/recipes/pairtools/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pairtools" %} -{% set version = "1.0.3" %} +{% set version = "1.1.0" %} package: name: {{ name|lower }} @@ -7,11 +7,11 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 12b482f04d66a01b80ababfb4b6d37959f7995c29f4bb1640f1102d8566d478f + sha256: 3f265ebcd50fb07a36199a99c58f6b17810b48bacf2d5f3096453319c89bd522 build: - number: 0 - skip: True # [osx or py<37] + number: 2 + skip: True # [osx] entry_points: - pairtools = pairtools.cli:cli run_exports: @@ -60,6 +60,8 @@ about: dev_url: https://github.com/open2c/pairtools extra: + additional-platforms: + - linux-aarch64 container: # click requires a unicode locale when used with Python 3 # extended-base generates en_US.UTF-8 locale and sets LC_ALL, LANG properly diff --git a/recipes/palantir/meta.yaml b/recipes/palantir/meta.yaml new file mode 100644 index 0000000000000..6bb03200b5f4c --- /dev/null +++ b/recipes/palantir/meta.yaml @@ -0,0 +1,68 @@ +{% set name = "palantir" %} +{% set version = "1.3.3" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: 915bb802e01f282d309fab02062caa4e790535279c14f6c15823cdaa01ba7a56 + +build: + number: 0 + noarch: python + script: "{{ PYTHON }} -m pip install . -vv" + run_exports: + - {{ pin_subpackage('palantir', max_pin="x") }} + +requirements: + host: + - anndata >=0.8.0 + - fcsparser >=0.1.2 + - joblib + - leidenalg >=0.9.1 + - matplotlib-base >=2.2.2 + - mellon >=1.3.0 + - networkx >=2.1 + - numpy >=1.14.2 + - pandas >=0.22.0 + - pip + - pygam + - python + - scanpy >=1.6.0 + - scikit-learn + - scipy >=1.3 + run: + - anndata >=0.8.0 + - fcsparser >=0.1.2 + - joblib + - leidenalg >=0.9.1 + - matplotlib-base >=2.2.2 + - mellon >=1.3.0 + - networkx >=2.1 + - numpy >=1.14.2 + - pandas >=0.22.0 + - pygam + - python + - scanpy >=1.6.0 + - scikit-learn + - scipy >=1.3 + +test: + imports: + - palantir + +about: + home: "https://github.com/dpeerlab/palantir" + license: GPL-2.0-only + license_family: GPL + license_file: LICENSE + summary: "Palantir for modeling continuous cell state and cell fate choices in single cell data" + doc_url: "https://palantir.readthedocs.io" + dev_url: "https://github.com/dpeerlab/palantir" + +extra: + recipe-maintainers: + - ManuSetty + - katosh diff --git a/recipes/palikiss/build.sh b/recipes/palikiss/build.sh new file mode 100644 index 0000000000000..56654134c23f5 --- /dev/null +++ b/recipes/palikiss/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash +make -j ${CPU_COUNT} PREFIX=$PREFIX CC=$CC -C Misc/Applications/pAliKiss all +make PREFIX=$PREFIX CC=$CC -C Misc/Applications/pAliKiss install-program +make PREFIX=$PREFIX CC=$CC -C Misc/Applications/lib install +chmod +x $PREFIX/bin/pAliKiss* \ No newline at end of file diff --git a/recipes/palikiss/meta.yaml b/recipes/palikiss/meta.yaml new file mode 100644 index 0000000000000..556c317057398 --- /dev/null +++ b/recipes/palikiss/meta.yaml @@ -0,0 +1,50 @@ +{% set fold_grammars_version = "2.3.1" %} +{% set palikiss_version = "1.1.0" %} +{% set packagename = "palikiss" %} +{% set sha256 = "0c5b7d91893d0a23189f4af3602e18f110f030eac49a3658f7acede23596fde0" %} + +package: + name: {{ packagename }} + version: {{ palikiss_version }} + +source: + sha256: {{ sha256 }} + # the repository "fold-grammars" contains sources for several programs, i.e. pKiss, RNAshapes, ... + # thus, the version number does not correspond to the {{ packagename }} version number + url: https://github.com/jlab/fold-grammars/archive/{{ fold_grammars_version }}.tar.gz + +build: + number: 1 + run_exports: + - {{ pin_subpackage('palikiss', max_pin="x") }} + +requirements: + build: + - make + - {{ compiler('cxx') }} + - libcxx <17 # [osx] + host: + - perl + - bellmans-gapc >=2024.01.12 + - libopenblas + - libcxx <17 # [osx] + run: + - perl + - bellmans-gapc >=2024.01.12 + - libopenblas + +test: + commands: + - pAliKiss --help + - echo -e "CLUSTAL W (1.83) multiple sequence alignment\ntest CGCAUGCUAGUCGCG" | pAliKiss + +about: + home: https://bibiserv.cebitec.uni-bielefeld.de/{{ packagename }} + license: 'GPL-3.0-or-later' + license_file: LICENSE + summary: "pAliKiss predicts RNA secondary structures for fixed RNA multiple sequence alignments, with special attention for pseudoknotted structures." + +extra: + identifiers: + - doi:10.1007/978-3-642-15294-8_5 + - doi:10.1093/bioinformatics/btu649 diff --git a/recipes/paml/meta.yaml b/recipes/paml/meta.yaml index 1509d22de4f07..e2eeb810e8291 100644 --- a/recipes/paml/meta.yaml +++ b/recipes/paml/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage('paml', max_pin="x.x") }} @@ -37,6 +37,8 @@ about: license_file: LICENSE extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:paml - doi:10.1093/bioinformatics/13.5.555 diff --git a/recipes/panacus/build.sh b/recipes/panacus/build.sh index f2c10555de8f5..76104b6f15c94 100644 --- a/recipes/panacus/build.sh +++ b/recipes/panacus/build.sh @@ -1,7 +1,7 @@ #!/bin/bash -euo -RUST_BACKTRACE=1 CARGO_HOME="${BUILD_PREFIX}/.cargo" cargo build --release - mkdir -p $PREFIX/bin -cp target/release/panacus $PREFIX/bin + +RUST_BACKTRACE=1 cargo install --no-track --verbose --root "${PREFIX}" --path . + cp scripts/panacus-visualize.py $PREFIX/bin/panacus-visualize diff --git a/recipes/panacus/meta.yaml b/recipes/panacus/meta.yaml index d5ada5ff55534..af5bddd58cb9b 100644 --- a/recipes/panacus/meta.yaml +++ b/recipes/panacus/meta.yaml @@ -1,5 +1,5 @@ {% set name = "panacus" %} -{% set version = "0.2.3" %} +{% set version = "0.2.4" %} package: name: {{ name|lower }} @@ -7,17 +7,19 @@ package: source: url: https://github.com/marschall-lab/{{ name }}/archive/refs/tags/{{ version }}.tar.gz - sha256: 969eaed515a9679f5a74632986240f7afd0558b2a2914281dc783ac1fa1b6f9e + sha256: e4709c5e3e4b5c445789406a0ebf06a2052e24bc5fcc3b540cacf8064c2ab478 build: - number: 0 + number: 2 run_exports: - {{ pin_subpackage(name, max_pin="x.x") }} requirements: build: - {{ compiler('c') }} - - rust >=1.68 + - {{ compiler('rust') }} + - cmake + - make run: - python - matplotlib-base @@ -25,7 +27,7 @@ requirements: - pandas - scikit-learn - scipy - - seaborn + - seaborn-base test: commands: @@ -37,8 +39,13 @@ about: license: MIT license_family: MIT license_file: LICENSE - summary: panacus is a tool for computing counting statistics for GFA files + summary: "panacus is a tool for computing counting statistics for GFA files." + dev_url: https://github.com/marschall-lab/{{ name }} extra: + additional-platforms: + - osx-arm64 + - linux-aarch64 recipe-maintainers: - danydoerr + - heringerp diff --git a/recipes/panaroo/meta.yaml b/recipes/panaroo/meta.yaml index 4a3566f47f25b..48717830cfd15 100644 --- a/recipes/panaroo/meta.yaml +++ b/recipes/panaroo/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.3.4" %} +{% set version = "1.5.1" %} {% set name = "panaroo" %} package: @@ -7,7 +7,7 @@ package: source: url: https://github.com/gtonkinhill/{{ name|lower }}/archive/v{{ version }}.tar.gz - sha256: 95d9b166b0f554ca9b6b9326d3a85a065edee468e7d469f77d8b5242d7f82b9b + sha256: 870e09f206e5c2076aff106d19fb3e9183a56be9c9b8bca0bd0ad7a5c43030ca build: number: 0 diff --git a/recipes/panfeed/meta.yaml b/recipes/panfeed/meta.yaml index 6d1fef35edd4a..833ba2d123065 100644 --- a/recipes/panfeed/meta.yaml +++ b/recipes/panfeed/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.5.1" %} +{% set version = "1.6.2" %} {% set name = "panfeed" %} package: @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: b5371a549d315c8f12339e6eeeb72cb0449d84b6a119959b05f689c3847fb203 + sha256: 71e6e97b29784396421b59511dbca27103acfe31a3f392324d4d0419179340be build: entry_points: @@ -16,8 +16,10 @@ build: - panfeed-get-kmers = panfeed.get_kmers:main - panfeed-plot = panfeed.plot:main noarch: python - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" number: 0 + run_exports: + - {{ pin_subpackage('panfeed', max_pin="x") }} requirements: host: @@ -30,7 +32,7 @@ requirements: - pandas - pyfaidx - matplotlib-base - - seaborn + - seaborn-base test: imports: @@ -45,7 +47,9 @@ about: home: https://github.com/microbial-pangenomes-lab/panfeed summary: 'Compute gene-cluster specific k-mers over a pangenome' license: Apache-2.0 + license_family: APACHE license_file: LICENSE + dev_url: https://github.com/microbial-pangenomes-lab/panfeed extra: recipe-maintainers: diff --git a/recipes/pango-collapse/meta.yaml b/recipes/pango-collapse/meta.yaml new file mode 100644 index 0000000000000..f5b8cdbfd43bd --- /dev/null +++ b/recipes/pango-collapse/meta.yaml @@ -0,0 +1,53 @@ +{% set name = "pango-collapse" %} +{% set version = "0.8.2" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name | replace("-","_") }}-{{ version }}.tar.gz + sha256: 8bf215c09cb04732726c7e9064dd7d087faa9d1fc3d4e42b8d5803738247f532 + +build: + run_exports: + - {{ pin_subpackage('pango-collapse', max_pin="x.x") }} + entry_points: + - pango-collapse = pango_collapse.main:app + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + +requirements: + host: + - python >=3.8,<4.0 + - poetry-core >=1.0.0 + - pip + run: + - python >=3.8,<4.0 + - typer >=0.6.1,<0.7.0 + - pango_aliasor >=0.3.0,<0.4.0 + - pandas >=1.3,<=1.5.3 + - numpy >=1.19.5,<1.27.0 + +test: + imports: + - pango_collapse + commands: + - pip check + - pango-collapse --help + requires: + - pip + +about: + home: https://github.com/MDU-PHL/pango-collapse + summary: Collapse Pango sublineages up to user defined parent lineages. + license: GPL-3.0-or-later + license_file: LICENSE + +extra: + recipe-maintainers: + - Wytamma + + + diff --git a/recipes/pango-designation/meta.yaml b/recipes/pango-designation/meta.yaml index 869455a8746fb..8c9f30d0327ae 100644 --- a/recipes/pango-designation/meta.yaml +++ b/recipes/pango-designation/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.23" %} +{% set version = "1.30" %} package: name: pango-designation @@ -6,7 +6,7 @@ package: source: url: https://github.com/cov-lineages/pango-designation/archive/refs/tags/v{{ version }}.tar.gz - sha256: 5692d92d4b7ff902464552e81d71fc25dcafd0ada175af3b143246c14fc6d9c1 + sha256: 835075a7410d4d3a59003105a993358ce20f4ee744231f9728092756a8f2e8d6 build: number: 0 diff --git a/recipes/pangolin-data/meta.yaml b/recipes/pangolin-data/meta.yaml index 99468f431af4a..2e6b8d042674d 100644 --- a/recipes/pangolin-data/meta.yaml +++ b/recipes/pangolin-data/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.23.1" %} +{% set version = "1.30" %} package: name: pangolin-data @@ -6,7 +6,7 @@ package: source: url: https://github.com/cov-lineages/pangolin-data/archive/refs/tags/v{{ version }}.tar.gz - sha256: 3a845838cf31131d8bc7e0c19cb3e78e2c99a5894ac44452bfa5f86a91dca056 + sha256: e289ee774c133238294aa2bfa5d331ed89047ffc67af8e3614c01a51ffd46b43 build: number: 0 diff --git a/recipes/pangu/meta.yaml b/recipes/pangu/meta.yaml index cabad42e5e79a..e20eb3c1897c3 100644 --- a/recipes/pangu/meta.yaml +++ b/recipes/pangu/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.2.2" %} -{% set sha256 = "91133019717eb8becc6f9345257891206bea57c5b3706b18440cfe3c393fd07c" %} +{% set version = "0.2.8" %} +{% set sha256 = "4360539dc2a881c3557d43e4c4322326385a7efa929b18f223aabf2e136fdea9" %} package: name: pangu @@ -14,7 +14,9 @@ build: noarch: python entry_points: - pangu = pangu.__main__:main_cli - script: python -m pip install --no-deps -vv . + script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation -vvv . + run_exports: + - {{ pin_subpackage('pangu', max_pin="x.x") }} requirements: host: diff --git a/recipes/pangwes/build.sh b/recipes/pangwes/build.sh new file mode 100644 index 0000000000000..3491d91feb10f --- /dev/null +++ b/recipes/pangwes/build.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +set -xe + +# build and install PAN-GWES +make -C sw/pangwes -j ${CPU_COUNT} + +mkdir -p ${PREFIX}/bin +cp $SRC_DIR/sw/pangwes/bin/unitig_distance $PREFIX/bin/unitig_distance +cp $SRC_DIR/sw/pangwes/bin/gfa1_parser $PREFIX/bin/gfa1_parser +cp ./sw/pangwes/scripts/gwes_plot.r $PREFIX/bin/gwes_plot.r diff --git a/recipes/pangwes/meta.yaml b/recipes/pangwes/meta.yaml new file mode 100644 index 0000000000000..44874495eafd5 --- /dev/null +++ b/recipes/pangwes/meta.yaml @@ -0,0 +1,39 @@ +{% set name = "pangwes" %} +{% set version = "0.3.0_alpha" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/Sudaraka88/PAN-GWES/archive/refs/tags/v{{ version }}.tar.gz + sha256: d91f01f2a098cb8f7492c2208d0ae143d2b66f0d58b89b9c96dfb17ebca07c8e + +build: + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + build: + - {{ compiler('cxx') }} + - make + run: + - cuttlefish + - spydrpick + - r-base + +test: + commands: + - SpydrPick --version + - cuttlefish version + +about: + home: https://github.com/jurikuronen/PANGWES + license: MIT + license_file: LICENSE + summary: Performing pangenome-spanning epistasis and co-selection analysis via de Bruijn graphs + +extra: + identifiers: + - doi:10.1101/2023.09.07.556769 diff --git a/recipes/panisa/meta.yaml b/recipes/panisa/meta.yaml index c65fdd7f37bab..511cc0e6a3ca8 100644 --- a/recipes/panisa/meta.yaml +++ b/recipes/panisa/meta.yaml @@ -1,5 +1,5 @@ {% set name = "panISa" %} -{% set version = "0.1.6" %} +{% set version = "0.1.7" %} package: name: "{{ name|lower }}" @@ -7,22 +7,22 @@ package: source: url: "https://github.com/bvalot/panISa/archive/refs/tags/{{ version }}.tar.gz" - sha256: 6bb76139cd6e263073f3194ea21712c406e327c273e327c0bb270dcd556cada3 + sha256: 5c9b6c4c30ebe4e43439e2a85ae304b9ed434239165749395232ba06fdbbc44c build: number: 0 noarch: python - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('panisa', max_pin="x.x") }} requirements: host: - pip - - pysam >=0.9 - - python - - requests >=2.12 + - python >=3.7 run: - pysam >=0.9 - - python + - python >=3.7 - requests >=2.12 test: @@ -34,9 +34,11 @@ test: about: home: "https://github.com/bvalot/panISa" - license: "GNU General Public v3 (GPLv3)" + license: "GPL-3.0-or-later" license_family: GPL3 + license_file: LICENSE summary: "panISa is a software to search insertion sequence (IS) on resequencing data (bam file)" + dev_url: "https://github.com/bvalot/panISa" extra: recipe-maintainers: diff --git a/recipes/pantax/build.sh b/recipes/pantax/build.sh new file mode 100644 index 0000000000000..05c8b8d582b46 --- /dev/null +++ b/recipes/pantax/build.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +if [ "$(uname)" == "Darwin" ]; then + cp -rf $SRC_DIR $PREFIX +else + cd ${SRC_DIR}/scripts + chmod +x pantax + chmod +x data_preprocessing + cp ${SRC_DIR}/scripts/pantax ${SRC_DIR}/scripts/data_preprocessing ${PREFIX}/bin + cp ${SRC_DIR}/scripts/*py ${PREFIX}/bin + + cd ${SRC_DIR}/tools/fastix + RUST_BACKTRACE=1 cargo install --verbose --locked --no-track --root ${PREFIX} --path . +fi diff --git a/recipes/pantax/meta.yaml b/recipes/pantax/meta.yaml new file mode 100644 index 0000000000000..d0d4ea45d5a37 --- /dev/null +++ b/recipes/pantax/meta.yaml @@ -0,0 +1,52 @@ +{% set name = "pantax" %} +{% set version = "1.0.2" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + - url: https://github.com/LuoGroup2023/PanTax/releases/download/v{{ version }}/{{ name }}.tar.gz + sha256: 9433f3d6c5ca6870de4aa0d92cfc591973fda5f8620f5a8e9befa01f954b8dfb + +build: + skip: True # [osx] + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + +requirements: + build: + - {{ compiler('rust') }} + host: + - python ==3.10 + - pip + run: + - python =3.10 + - samtools =1.19.2 + - bcftools =1.19 + - htslib =1.19.1 + - pggb =0.6.0 + - vg + - graphaligner =1.0.17 + - h5py =3.10.0 + - pandas =2.2.0 + - tqdm + - numpy =1.26.3 + - networkx =3.2.1 + - pyarrow =14.0.2 + +test: + commands: + - pantax -h + +about: + home: https://github.com/LuoGroup2023/PanTax + license: GPL-3.0-or-later + license_file: LICENSE + license_family: GPL3 + summary: Strain-level taxonomic classification of metagenomic data using pangenome graphs + +extra: + skip-lints: + - should_be_noarch_python diff --git a/recipes/pantools/meta.yaml b/recipes/pantools/meta.yaml index 49c0210b7a1cb..cb74b8616ead8 100644 --- a/recipes/pantools/meta.yaml +++ b/recipes/pantools/meta.yaml @@ -1,6 +1,6 @@ {% set name = "PanTools" %} -{% set version = "4.3.0" %} -{% set sha256 = "8cef87de8aadf2555e97dc78d32bee92cc2ca069bdd4637d4cb7c1b41681cbf1" %} +{% set version = "4.3.1" %} +{% set sha256 = "e9472d7283b1f64e54318f06b8ac6de63cd9338b54ea5153a24e1a081ea930a2" %} package: name: {{ name|lower }} diff --git a/recipes/parafly/build.sh b/recipes/parafly/build.sh index 14413e4aa02ca..11933133c32cf 100644 --- a/recipes/parafly/build.sh +++ b/recipes/parafly/build.sh @@ -1,4 +1,7 @@ #!/bin/bash + +set -xe + ./configure --prefix=$PREFIX -make install +make -j ${CPU_COUNT} CXX="${CXX}" CXXFLAGS="${CXXFLAGS} -pedantic -fopenmp -Wall -Wextra -Wno-long-long -Wno-deprecated" install cp $PREFIX/bin/ParaFly $PREFIX diff --git a/recipes/parafly/meta.yaml b/recipes/parafly/meta.yaml index 8ed8685215b79..bb7fa4c6d6d1b 100644 --- a/recipes/parafly/meta.yaml +++ b/recipes/parafly/meta.yaml @@ -5,15 +5,22 @@ package: source: url: http://downloads.sourceforge.net/project/parafly/parafly-r2013-01-21.tgz sha256: 64cf7ac2d4af0801b78d58f4057a1489d76b2b8ae59c78997f434d1239fa4abe + patches: + - parafly-aarch64.patch # [aarch64 or arm64] build: - number: 2 + skip: True # [osx] + number: 3 + run_exports: + - {{ pin_subpackage("parafly", max_pin=None) }} requirements: build: - make - - {{ compiler('c') }} + - {{ compiler('cxx') }} host: + - llvm-openmp # [osx] + - libgomp # [linux] - zlib run: - zlib @@ -26,3 +33,7 @@ about: home: http://parafly.sourceforge.net/ license: The Broad Institute (own license thingy) summary: Given a file containing a list of unix commands, multithreading is used to process the commands in parallel on a single server. Success/failure is captured, and failed commands are retained and reported. + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/parafly/parafly-aarch64.patch b/recipes/parafly/parafly-aarch64.patch new file mode 100644 index 0000000000000..d6336c05dcde2 --- /dev/null +++ b/recipes/parafly/parafly-aarch64.patch @@ -0,0 +1,11 @@ +--- a/configure 2024-08-06 18:16:49.448814938 +0300 ++++ b/configure 2024-08-06 18:17:03.665713668 +0300 +@@ -3016,7 +3016,7 @@ + + + #AC_OPENMP # requires autoconf >= 2.62 +-AM_CXXFLAGS=-m64 ++AM_CXXFLAGS= + + case $CXX in + g++*) AM_CXXFLAGS="-pedantic -fopenmp -Wall -Wextra -Wno-long-long -Wno-deprecated $AM_CXXFLAGS" diff --git a/recipes/paragone/build.sh b/recipes/paragone/build.sh index 0c97c7d01f619..adf673f894251 100644 --- a/recipes/paragone/build.sh +++ b/recipes/paragone/build.sh @@ -1,9 +1,11 @@ -# Install paragone -$PYTHON -m pip install --no-deps --ignore-installed . +#!/bin/bash -euo -# Install HmmCleaner: -${PREFIX}/bin/perl ${PREFIX}/bin/cpanm Bio::MUST::Core --notest -${PREFIX}/bin/perl ${PREFIX}/bin/cpanm Bio::MUST::Drivers --notest -${PREFIX}/bin/perl ${PREFIX}/bin/cpanm --force Bio::MUST::Apps::HmmCleaner --notest +mkdir -p ${PREFIX}/bin -sed -i 's|#!/opt/miniconda3/miniconda3/bin/env perl|#!/usr/bin/env perl|' ${PREFIX}/bin/HmmCleaner.pl +# Install ParaGone +$PYTHON -m pip install --no-deps --no-build-isolation --no-cache-dir . -vvv + +# Install TAPER: +git clone https://github.com/chaoszhang/TAPER.git +chmod 755 TAPER/correction_multi.jl +cp -f TAPER/correction_multi.jl ${PREFIX}/bin diff --git a/recipes/paragone/meta.yaml b/recipes/paragone/meta.yaml index c35ccddcbb661..b6c95e93e9849 100644 --- a/recipes/paragone/meta.yaml +++ b/recipes/paragone/meta.yaml @@ -1,5 +1,5 @@ {% set name = "paragone" %} -{% set version = "1.0.0" %} +{% set version = "1.1.3" %} package: name: {{ name|lower }} @@ -7,49 +7,64 @@ package: source: url: "https://github.com/chrisjackson-pellicle/ParaGone/archive/refs/tags/v{{ version }}.tar.gz" - sha256: 3434714fed0239afdc8c5bd57cb6ee642563cf651fd668150a34f9f2c23981b2 + sha256: b6bf77b0ed9641f8d5a85ab3870dc24703410b5beb993c77e7c2803174911182 build: number: 0 - skip: True # [win or osx] + skip: True # [win] + entry_points: + - paragone = paragone.paragone_main:main run_exports: - {{ pin_subpackage('paragone', max_pin="x") }} requirements: - build: - - {{ compiler('c') }} - - setuptools host: - - make - - perl >=5.32 - - perl-app-cpanminus - - perl-moose >=2.2202 - - perl-net-ssleay - python <=3.9.16 + - pip run: - - biopython >=1.79 + - python <=3.9.16 + - biopython >=1.79 - clustalo >=1.2.4 - ete3 >=3.1.2 - fasttree + - julia =1.8.5 - hmmer >=3.3.2 - - iqtree >=2.2.0.3 + - iqtree >=2.2.0.3 - mafft >=7.245 - - openmp >=8.0.1 - - perl >=5.32 - - perl-moose >=2.2202 + - llvm-openmp >=14.0.3 # [osx] + - openmp >=8.0.1 # [linux] - r-base >=4.0.3 - - treeshrink + - treeshrink - trimal >=1.4.1 test: - commands: - - paragone -v + imports: + - paragone.paragone_subparsers + - paragone.check_inputs + - paragone.align_and_clean + - paragone.alignment_to_tree + - paragone.trim_trees_treeshrink + - paragone.mask_tree_tips + - paragone.cut_deep_paralogs + - paragone.fasta_from_tree + - paragone.paralogy_report + - paragone.align_selected_and_tree + - paragone.prune_paralogs_mo + - paragone.prune_paralogs_rt + - paragone.prune_paralogs_mi + - paragone.strip_names_and_align + - paragone.utils about: home: "https://github.com/chrisjackson-pellicle/ParaGone" - license: GPL-3.0-or-later - license_family: GPL - license_file: LICENSE.txt - summary: > - Identify ortholog groups from a set of paralog sequences - from multiple taxa. + doc_url: "https://github.com/chrisjackson-pellicle/ParaGone/wiki" + license: "GPL-3.0-or-later" + license_family: GPL3 + license_file: "LICENSE.txt" + summary: "Identify ortholog groups from a set of paralog sequences from multiple taxa." + +extra: + recipe-maintainers: + - chrisjackson-pellicle + skip-lints: + - should_be_noarch_generic # Can not be noarch as selectors are required for llvm-openmp and openmp diff --git a/recipes/paragone/post-link.sh b/recipes/paragone/post-link.sh new file mode 100644 index 0000000000000..f2db9b04598d5 --- /dev/null +++ b/recipes/paragone/post-link.sh @@ -0,0 +1,3 @@ +"${PREFIX}/bin/julia" -e 'using Pkg; Pkg.add("ArgParse")' >> "${PREFIX}/.messages.txt" 2>&1 +"${PREFIX}/bin/julia" -e 'using Pkg; Pkg.instantiate()' >> "${PREFIX}/.messages.txt" 2>&1 + diff --git a/recipes/paragone/pre-unlink.sh b/recipes/paragone/pre-unlink.sh new file mode 100644 index 0000000000000..47e5ca1699104 --- /dev/null +++ b/recipes/paragone/pre-unlink.sh @@ -0,0 +1,2 @@ +"${PREFIX}/bin/julia" -e 'using Pkg; Pkg.rm("ArgParse")' >> "${PREFIX}/.messages.txt" 2>&1 + diff --git a/recipes/paraphase/meta.yaml b/recipes/paraphase/meta.yaml index df5ccd7268957..1c59d226f457e 100644 --- a/recipes/paraphase/meta.yaml +++ b/recipes/paraphase/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "3.0.0" %} -{% set sha256 = "d26599b567e7e57003daedc5645cf19fc92789f1a4e88baff2e092723fbc3085" %} +{% set version = "3.1.1" %} +{% set sha256 = "6f43404f35e158de787926811869eb5027e93e74e08c6c8a9db7993a50d89c3c" %} package: name: paraphase diff --git a/recipes/parasail-python/meta.yaml b/recipes/parasail-python/meta.yaml index 9806e254863e3..b43bb6bfb09cf 100644 --- a/recipes/parasail-python/meta.yaml +++ b/recipes/parasail-python/meta.yaml @@ -13,9 +13,11 @@ source: - darwin-libtool-name.patch build: - number: 0 + number: 2 skip: True # [py < 37] - script: {{ PYTHON }} -m pip install . --use-pep517 -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + run_exports: + - {{ pin_subpackage('parasail-python', max_pin="x") }} requirements: build: @@ -29,7 +31,6 @@ requirements: host: - python - pip - - wheel - zlib run: - python @@ -45,8 +46,10 @@ about: license: BSD-3-Clause license_family: BSD license_file: COPYING - dev_url: https://pypi.org/project/parasail/ + dev_url: https://github.com/jeffdaily/parasail-python extra: identifiers: - doi:10.1186/s12859-016-0930-z + additional-platforms: + - linux-aarch64 diff --git a/recipes/parascopy/build.sh b/recipes/parascopy/build.sh index 4afc56ed9f7d2..c00d709f82cd6 100644 --- a/recipes/parascopy/build.sh +++ b/recipes/parascopy/build.sh @@ -4,11 +4,8 @@ rm -df freebayes git clone --recursive https://github.com/tprodanov/freebayes.git cd freebayes -mkdir build -meson build/ --buildtype release -cd build -ninja -v -cp freebayes "${PREFIX}/bin/_parascopy_freebayes" -cd ../../ +./compile.sh +cp build/freebayes "${PREFIX}/bin/_parascopy_freebayes" +cd ../ $PYTHON -m pip install . --no-build-isolation --no-deps -vvv diff --git a/recipes/parascopy/build_failure.linux-64.yaml b/recipes/parascopy/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..1d06571c199a5 --- /dev/null +++ b/recipes/parascopy/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 8e3479136cbb5821860a11749a2a429e5538586bdb8a323823d8dabca6a4807f # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("python_abi=2.7[build=*_cp27mu]"), MatchSpec("pysam==0.17.0=py27h2b63b3a_1")} + Encountered problems while solving: + - package pysam-0.17.0-py27h2b63b3a_1 requires python_abi 2.7.* *_cp27mu, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + [32mpysam >=0.17 [0m is installable with the potential options + [32mpysam [0.17.0|0.18.0|0.19.0|0.19.1|0.20.0][0m would require + [32mpython_abi 2.7.* *_cp27mu[0m, which can be installed; + [32mpysam [0.17.0|0.18.0|...|0.21.0][0m would require + [32mpython_abi 3.6.* *_cp36m[0m, which can be installed; + [32mpysam [0.17.0|0.18.0|...|0.21.0][0m would require + [32mpython_abi 3.7.* *_cp37m[0m, which can be installed; + [32mpysam [0.17.0|0.18.0|...|0.22.1][0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mpysam [0.17.0|0.18.0|...|0.22.1][0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [32mpysam [0.19.1|0.20.0|0.21.0|0.22.0|0.22.1][0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [31mpython_abi 3.12.* *_cp312[0m is not installable because it conflicts with any installable versions previously reported. + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2409, in build + create_build_envs(top_level_pkg, notest) + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2247, in create_build_envs + raise e + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2220, in create_build_envs + environ.get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("python_abi=2.7[build=*_cp27mu]"), MatchSpec("pysam==0.17.0=py27h2b63b3a_1")} + Encountered problems while solving: + - package pysam-0.17.0-py27h2b63b3a_1 requires python_abi 2.7.* *_cp27mu, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + [32mpysam >=0.17 [0m is installable with the potential options + [32mpysam [0.17.0|0.18.0|0.19.0|0.19.1|0.20.0][0m would require + [32mpython_abi 2.7.* *_cp27mu[0m, which can be installed; + [32mpysam [0.17.0|0.18.0|...|0.21.0][0m would require + [32mpython_abi 3.6.* *_cp36m[0m, which can be installed; + [32mpysam [0.17.0|0.18.0|...|0.21.0][0m would require + [32mpython_abi 3.7.* *_cp37m[0m, which can be installed; + [32mpysam [0.17.0|0.18.0|...|0.22.1][0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mpysam [0.17.0|0.18.0|...|0.22.1][0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [32mpysam [0.19.1|0.20.0|0.21.0|0.22.0|0.22.1][0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [31mpython_abi 3.12.* *_cp312[0m is not installable because it conflicts with any installable versions previously reported. +# Last 100 lines of the build log. diff --git a/recipes/parascopy/meta.yaml b/recipes/parascopy/meta.yaml index f83ef261d7f2e..2befb97a039a4 100644 --- a/recipes/parascopy/meta.yaml +++ b/recipes/parascopy/meta.yaml @@ -1,5 +1,5 @@ {% set name = "parascopy" %} -{% set version = "1.14.1" %} +{% set version = "1.17.1" %} package: name: {{ name|lower }} @@ -7,7 +7,6 @@ package: build: number: 0 - skip: True # [osx or py2k] entry_points: - parascopy=parascopy.entry_point:main run_exports: @@ -15,7 +14,7 @@ build: source: url: https://github.com/tprodanov/{{ name }}/archive/v{{ version }}.tar.gz - sha256: a475086faeea706448db866ca8c504b3c17f3988a67fd8c174f1a334bd4bb4f1 + sha256: 3b6871a198e60b76a0d1f94dd219134c8662547d3a98fb20786443916e964a5b requirements: build: @@ -27,9 +26,12 @@ requirements: host: - python - pip + - setuptools - bzip2 + - zlib - htslib - tabixpp + - clangdev # [osx] run: - python - numpy >=1.15 @@ -65,3 +67,4 @@ about: license_family: MIT license_file: LICENSE summary: Calling paralog-specific copy number and sequence variants in duplicated genes using short-read whole-genome sequencing. + dev_url: https://github.com/tprodanov/parascopy diff --git a/recipes/parebrick/meta.yaml b/recipes/parebrick/meta.yaml index 48a2aafc98026..d7c766ce46019 100644 --- a/recipes/parebrick/meta.yaml +++ b/recipes/parebrick/meta.yaml @@ -1,5 +1,5 @@ {% set name = "PaReBrick" %} -{% set version = "0.5.5" %} +{% set version = "0.5.7" %} package: name: {{ name|lower }} @@ -7,29 +7,31 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/PaReBrick-{{ version }}.tar.gz - sha256: f7d2525dbd96d6bbb633a96e2781e67b1b7c40f2e41da0f2f05d3453e7e9ef45 + sha256: 87aea585e0bc340abad2a4a37d532b5be75872284cabf3c9ad0be83ef372f0e4 build: + run_exports: + - {{ pin_subpackage(name|lower, max_pin='x.x') }} entry_points: - PaReBrick=parebrick.main:main - parebrick=parebrick.main:main - PaReBrick-Charts=parebrick.drawer:main - parebrick-charts=parebrick.drawer:main noarch: python - script: {{ PYTHON }} -m pip install . -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv number: 0 requirements: host: - pip - - python >=3.6,<4.0 + - python >=3.6,<3.9 run: - bg - ete3 - pyqt - - python >=3.6,<4.0 + - python >=3.6,<3.9 - scikit-learn - - seaborn >=0.11.0 + - seaborn-base >=0.11.0 test: imports: @@ -42,10 +44,11 @@ test: about: home: https://github.com/ctlab/parallel-rearrangements - summary: A bioinf tool for finding genome rearrangements in bacterial genomes + summary: "A bioinf tool for finding genome rearrangements in bacterial genomes." license: MIT + license_family: MIT license_file: LICENSE - + dev_url: https://github.com/ctlab/parallel-rearrangements extra: container: diff --git a/recipes/parm/meta.yaml b/recipes/parm/meta.yaml new file mode 100644 index 0000000000000..43aa89fff9051 --- /dev/null +++ b/recipes/parm/meta.yaml @@ -0,0 +1,46 @@ +{% set version = "0.0.6" %} +{% set sha256 = "58853578e42e76ecb9e609cb9b292fa979ae5a999d28126f3c43ac0e986f44a5" %} + +package: + name: parm + version: {{ version }} + +source: + - url: https://github.com/vansteensellab/PARM/archive/refs/tags/v{{ version }}.tar.gz + sha256: {{ sha256 }} +build: + noarch: python + number: 2 + script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv" + run_exports: + - {{ pin_subpackage('parm', max_pin="x.x") }} + +requirements: + host: + - python + - pip + - setuptools + + run: + - python + - pytorch + - biopython + - numpy >=1.26.0 + - pandas + - matplotlib-base + - logomaker + - tqdm + - seaborn + - einops + - optuna + - scikit-learn + - h5py + +test: + commands: + - parm train --help + +about: + home: https://github.com/vansteensellab/PARM + license: https://github.com/vansteensellab/PARM/blob/main/LICENSE + summary: promoter activity regulatory model diff --git a/recipes/parsnp/build.sh b/recipes/parsnp/build.sh index f8fa0b7b71356..8c6ca7f6a253e 100644 --- a/recipes/parsnp/build.sh +++ b/recipes/parsnp/build.sh @@ -34,6 +34,7 @@ rm -R muscle/m4 cp parsnp $PREFIX/bin cp extend.py $PREFIX/bin cp logger.py $PREFIX/bin +cp partition.py $PREFIX/bin cp src/parsnp_core $PREFIX/bin/bin cp template.ini $PREFIX/bin cp -R bin $PREFIX/bin diff --git a/recipes/parsnp/cpu_count.patch b/recipes/parsnp/cpu_count.patch new file mode 100644 index 0000000000000..eac0bdea42d0f --- /dev/null +++ b/recipes/parsnp/cpu_count.patch @@ -0,0 +1,52 @@ +diff --git a/parsnp b/parsnp +index 85fd9c9..9501ab8 100755 +--- a/parsnp ++++ b/parsnp +@@ -8,6 +8,7 @@ + import os, sys, string, random, subprocess, time, operator, math, datetime, numpy #pysam + from collections import defaultdict + import shutil ++import multiprocessing + import shlex + from tempfile import TemporaryDirectory + import re +@@ -1210,8 +1211,13 @@ SETTINGS: + (len(outputDir)+17)*"*")) + + # If we requested more threads than available, give a warning. +- if len(os.sched_getaffinity(0)) < threads: +- logger.warning("You have asked to use more threads than you have available on your machine. This may lead to serious performance degredation with RAxML.") ++ try: ++ if len(os.sched_getaffinity(0)) < threads: ++ logger.warning("You have asked to use more threads than you have available on your machine. This may lead to serious performance degredation with RAxML.") ++ except AttributeError: ++ if multiprocessing.cpu_count() < threads: ++ logger.warning("You have asked to use more threads than you have available on your machine. This may lead to serious performance degredation with RAxML.") ++ + logger.info("<>") + + #1)read fasta files (contigs/scaffolds/finished/DBs/dirs) +@@ -1614,19 +1620,16 @@ SETTINGS: + else: + import partition + +- full_query_list_path = f"{outputDir}/config/input-list.txt" +- with open(full_query_list_path, 'w') as input_list_handle: +- random_seeded.shuffle(finalfiles) +- for qf in finalfiles: +- input_list_handle.write(qf + "\n") +- + if len(finalfiles) % args.partition_size == 1: + logger.warning("Incrementing partition size by 1 to avoid having a remainder partition of size 1") + args.partition_size += 1 + partition_output_dir = f"{outputDir}/partition" + partition_list_dir = f"{partition_output_dir}/input-lists" + os.makedirs(partition_list_dir, exist_ok=True) +- run_command(f"split -l {args.partition_size} -a 5 --additional-suffix '.txt' {full_query_list_path} {partition_list_dir}/{partition.CHUNK_PREFIX}-") ++ for partition_idx in range(math.ceil(len(finalfiles) / args.partition_size)): ++ with open(f"{partition_list_dir}/{partition.CHUNK_PREFIX}-{partition_idx:010}.txt", 'w') as part_out: ++ for qf in finalfiles[partition_idx*args.partition_size : (partition_idx+1)*args.partition_size]: ++ part_out.write(f"{qf}\n") + + chunk_label_parser = re.compile(f'{partition.CHUNK_PREFIX}-(.*).txt') + chunk_labels = [] diff --git a/recipes/parsnp/meta.yaml b/recipes/parsnp/meta.yaml index acc3bfddfea80..893029bbcf967 100644 --- a/recipes/parsnp/meta.yaml +++ b/recipes/parsnp/meta.yaml @@ -1,16 +1,17 @@ -{% set version = "1.7.4" %} +{% set version = "2.0.6" %} package: name: parsnp version: '{{version}}' source: - url: "https://github.com/marbl/parsnp/archive/refs/tags/v{{version}}.tar.gz" - sha256: c24a1b395b1ddb6ab2a1f1c41e7e575b45da2ffed99581225be05fdad761684f + url: "https://github.com/marbl/parsnp/archive/refs/tags/v{{version}}.tar.gz" + sha256: cde5fb488418764e87942afa747002d01d35e80d7c3a44a71bb2d1bd4d69ed0c build: - skip: True # [osx] - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage('parsnp', max_pin="x") }} requirements: build: @@ -19,31 +20,29 @@ requirements: - autoconf - libtool - make - - llvm-openmp # [osx] - - openmp # [linux] host: - zlib - llvm-openmp # [osx] - - openmp # [linux] + - openmp # [linux] run: - python >=3.7 - llvm-openmp # [osx] - - openmp # [linux] - - harvesttools - - fasttree - - phipack + - openmp # [linux] - biopython - - numpy + - numpy - zlib - phipack - raxml - fasttree - - fastani # [linux] - - mash + - fastani + - mash - harvesttools - - mafft + - pyspoa + - tqdm about: home: https://github.com/marbl/parsnp license: "custom; see https://raw.githubusercontent.com/marbl/parsnp/master/LICENSE" summary: Parsnp is a command-line-tool for efficient microbial core genome alignment and SNP detection. + doc_url: "https://harvest.readthedocs.io/en/latest/content/parsnp/tutorial.html" + dev_url: https://github.com/marbl/parsnp diff --git a/recipes/parsnp/run_test.sh b/recipes/parsnp/run_test.sh index d8e2ab432847e..cb5ae8bb2dba1 100644 --- a/recipes/parsnp/run_test.sh +++ b/recipes/parsnp/run_test.sh @@ -9,3 +9,4 @@ parsnp -r ! -d mers_virus/genomes/*.fna -o test2 --verbose parsnp -g mers_virus/ref/England1.gbk -d mers_virus/genomes/*.fna -p 2 -C 1000 -c -o test --verbose --use-fasttree parsnp -r ! -d mers_virus/genomes/*.fna -o test2 --verbose -p 2 parsnp -r ! -d mers_virus/genomes/*.fna -o test3 --verbose -p 2 --extend-lcbs +parsnp -r ! -d mers_virus/genomes/*.fna -o test4 --verbose -p 2 --min-partition-size 10 diff --git a/recipes/pasa/build.sh b/recipes/pasa/build.sh index 726bc8573d514..788c19f7e9fdf 100644 --- a/recipes/pasa/build.sh +++ b/recipes/pasa/build.sh @@ -31,3 +31,5 @@ echo "export PASAHOME=${PASAHOME}" > ${PREFIX}/etc/conda/activate.d/${PKG_NAME}- mkdir -p ${PREFIX}/etc/conda/deactivate.d/ echo "unset PASAHOME" > ${PREFIX}/etc/conda/deactivate.d/${PKG_NAME}-${PKG_VERSION}.sh + +make clean diff --git a/recipes/pasa/meta.yaml b/recipes/pasa/meta.yaml index 2de53fba67c7e..b86f75dd4dd78 100644 --- a/recipes/pasa/meta.yaml +++ b/recipes/pasa/meta.yaml @@ -7,7 +7,9 @@ package: version: {{ version }} build: - number: 0 + number: 1 + run_exports: + - {{ pin_subpackage('pasa', max_pin="x") }} source: url: https://github.com/PASApipeline/PASApipeline/releases/download/pasa-v{{ version }}/PASApipeline.v{{ version }}.FULL.tar.gz @@ -23,7 +25,7 @@ requirements: - cdbtools - slclust - transdecoder - - gmap >=2021.08.25 + - gmap >=2023.10.10 - lighttpd # [linux] - samtools - perl @@ -48,9 +50,11 @@ test: about: home: "https://github.com/PASApipeline/PASApipeline" license: BSD-3-Clause + license_family: BSD license_file: LICENSE summary: "PASA, acronym for Program to Assemble Spliced Alignments (and pronounced 'pass-uh'), is a eukaryotic genome annotation tool that exploits spliced alignments of expressed transcript sequences to automatically model gene structures, and to maintain gene structure annotation consistent with the most recently available experimental sequence data. PASA also identifies and classifies all splicing variations supported by the transcript alignments." doc_url: "https://github.com/PASApipeline/PASApipeline/wiki" + dev_url: "https://github.com/PASApipeline/PASApipeline" extra: identifiers: diff --git a/recipes/pass/LICENSE b/recipes/pass/LICENSE new file mode 100644 index 0000000000000..8f286b96aa63f --- /dev/null +++ b/recipes/pass/LICENSE @@ -0,0 +1,674 @@ +GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + ntEdit: scalable genome sequence polishing + Copyright (C) 2018-2019 BC Cancer + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + ntEdit Copyright (C) 2018-2019 Rene Warren @ BC Cancer + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/recipes/pass/build.sh b/recipes/pass/build.sh new file mode 100755 index 0000000000000..5bf1eeb9bd3a7 --- /dev/null +++ b/recipes/pass/build.sh @@ -0,0 +1,3 @@ +#!/bin/bash +mkdir -p ${PREFIX}/bin +cp PASS ${PREFIX}/bin \ No newline at end of file diff --git a/recipes/pass/meta.yaml b/recipes/pass/meta.yaml new file mode 100644 index 0000000000000..96d7ce28ab436 --- /dev/null +++ b/recipes/pass/meta.yaml @@ -0,0 +1,33 @@ +{% set version = "0.3.1" %} +{% set version_tar = "0-3-1" %} +{% set name = "pass" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/bcgsc/{{ name | upper }}/releases/download/v{{ version }}/pass_v{{ version_tar}}.tar.gz + sha256: 813fab567b1159c6dc32ed8ad537d19c50e70bde347b4e8b1249a4ece1de4383 + +build: + noarch: generic + number: 0 + run_exports: + - {{ pin_subpackage('pass', max_pin="x") }} + +requirements: + run: + - perl + +test: + commands: + - PASS -h | grep "Usage" + +about: + summary: Proteome Assembler with Short Sequence peptides + home: https://github.com/bcgsc/PASS + license: GPL-3.0-only + license_file: LICENSE + doc_url: https://github.com/bcgsc/PASS + diff --git a/recipes/pasta/build.sh b/recipes/pasta/build.sh index 3ef8da204e5fe..ef32e2c5760ad 100644 --- a/recipes/pasta/build.sh +++ b/recipes/pasta/build.sh @@ -2,46 +2,31 @@ set -eu -o pipefail -work_dir=$PREFIX/pasta-build -install_dir=$PREFIX/bin - -mkdir -p $work_dir -mkdir -p $work_dir/pasta - -cp -R ./* $work_dir/pasta -cd $work_dir - +# obtain opal.jar from Siavash's extra repo unamestr=`uname` if [ $unamestr == 'Linux' ]; then - wget --no-check-certificate https://github.com/smirarab/sate-tools-linux/archive/a3e6f56.tar.gz - tar -xzf a3e6f56.tar.gz - mv sate-tools-linux-a3e6f56372599ffacf1bd43adb2d67cf361228e2 sate-tools-linux - cd pasta - $PYTHON setup.py install --single-version-externally-managed --record=/tmp/record.txt - mkdir $install_dir/sate-tools-linux - cp -R $work_dir/sate-tools-linux/* $install_dir/sate-tools-linux/ - # Handle a PASTA bug. - cp $install_dir/sate-tools-linux/hmmalign $install_dir/sate-tools-linux/hmmeralign - cp $install_dir/sate-tools-linux/hmmbuild $install_dir/sate-tools-linux/hmmerbuild - # So tools are available in the bin directory. - ln -s $install_dir/sate-tools-linux/* $install_dir/ + wget --no-check-certificate https://github.com/smirarab/sate-tools-linux/raw/master/opal.jar -O $PREFIX/bin/opal.jar + mkdir -p ../sate-tools-linux/mafftdir/bin ../sate-tools-linux/mafftdir/libexec # fake existens of tool collection elif [ $unamestr == 'Darwin' ]; then - export DYLD_LIBRARY_PATH=$PREFIX/lib - wget --no-check-certificate https://github.com/smirarab/sate-tools-mac/archive/0712214.tar.gz - tar -xzf 0712214.tar.gz - mv sate-tools-mac-0712214e20152b2ec989fc102602afa53d3a7b1a sate-tools-mac - cd pasta - $PYTHON setup.py install --single-version-externally-managed --record=/tmp/record.txt - mkdir $install_dir/sate-tools-mac - cp -R $work_dir/sate-tools-mac/* $install_dir/sate-tools-mac/ - # Handle a PASTA bug. - cp $install_dir/sate-tools-mac/hmmalign $install_dir/sate-tools-mac/hmmeralign - cp $install_dir/sate-tools-mac/hmmbuild $install_dir/sate-tools-mac/hmmerbuild - # So tools are available in the bin directory. - ln -s $install_dir/sate-tools-mac/* $install_dir/ + wget --no-check-certificate https://github.com/smirarab/sate-tools-mac/raw/master/opal.jar -O $PREFIX/bin/opal.jar + mkdir -p ../sate-tools-mac/mafftdir/bin ../sate-tools-mac/mafftdir/libexec # fake existens of tool collection fi -mkdir $install_dir/pasta -cp -R $work_dir/pasta/* $install_dir/pasta/ +# Handle a PASTA bug. +ln -s $PREFIX/bin/hmmalign $PREFIX/bin/hmmeralign +ln -s $PREFIX/bin/hmmbuild $PREFIX/bin/hmmerbuild + +# copy files for tests to shared conda directory +mkdir -p $PREFIX/share/pasta/data/ +cp -v data/small.fasta $PREFIX/share/pasta/data/ + +# install pasta itself +$PYTHON setup.py install --single-version-externally-managed --record=record.txt +cp bin/treeshrink $PREFIX/bin/treeshrink + +# "rename" raxml binaries, after pasta's setup.py did copy bundled raxml versions into bin/ +rm -f -v $PREFIX/bin/raxml $PREFIX/bin/raxmlp +ln -s $PREFIX/bin/raxmlHPC $PREFIX/bin/raxml +ln -s $PREFIX/bin/raxmlHPC-PTHREADS $PREFIX/bin/raxmlp diff --git a/recipes/pasta/build_failure.linux-64.yaml b/recipes/pasta/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..3227c0b4386f7 --- /dev/null +++ b/recipes/pasta/build_failure.linux-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: 65e7d2e1e37f5d09b369b83c2b28d55d132f52dfa10e858233a874f106158aa3 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: test failure +log: |2- + xorg-inputproto: 2.3.2-h7f98852_1002 conda-forge + xorg-kbproto: 1.0.7-h7f98852_1002 conda-forge + xorg-libice: 1.1.1-hd590300_0 conda-forge + xorg-libsm: 1.2.4-h7391055_0 conda-forge + xorg-libx11: 1.8.9-h8ee46fc_0 conda-forge + xorg-libxau: 1.0.11-hd590300_0 conda-forge + xorg-libxdmcp: 1.1.3-h7f98852_0 conda-forge + xorg-libxext: 1.3.4-h0b41bf4_2 conda-forge + xorg-libxfixes: 5.0.3-h7f98852_1004 conda-forge + xorg-libxi: 1.7.10-h7f98852_0 conda-forge + xorg-libxrender: 0.9.11-hd590300_0 conda-forge + xorg-libxt: 1.3.0-hd590300_1 conda-forge + xorg-libxtst: 1.2.3-h7f98852_1002 conda-forge + xorg-recordproto: 1.14.2-h7f98852_1002 conda-forge + xorg-renderproto: 0.11.1-h7f98852_1002 conda-forge + xorg-xextproto: 7.3.0-h0b41bf4_1003 conda-forge + xorg-xproto: 7.0.31-h7f98852_1007 conda-forge + xz: 5.2.6-h166bdaf_0 conda-forge + zlib: 1.3.1-h4ab18f5_1 conda-forge + zstd: 1.5.6-ha6fb4c9_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + export PREFIX=/opt/conda/conda-bld/pasta_1718122849359/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl + export SRC_DIR=/opt/conda/conda-bld/pasta_1718122849359/test_tmp + import: 'pasta' + import: 'pasta' + clustalw2 -help + grep OPTIONS + -OPTIONS :list the command line parameters + hmmalign -h + grep HMMER + # HMMER 3.1b2 (February 2015); http://hmmer.org/ + hmmbuild -h + grep HMMER + # HMMER 3.1b2 (February 2015); http://hmmer.org/ + muscle -version + grep -i MUSCLE + MUSCLE v3.8.1551 by Robert C. Edgar + prank -help + grep prank + prank v.170427. Minimal usage: 'prank sequence_file' + Advanced usage: 'prank [optional parameters] -d=sequence_file [optional parameters]' + raxml -h + grep -i raxml + This is RAxML version 8.2.12 released by Alexandros Stamatakis on May 2018. + Please also consult the RAxML-manual + Please report bugs via the RAxML google group! + raxmlHPC[-SSE3|-AVX|-PTHREADS|-PTHREADS-SSE3|-PTHREADS-AVX|-HYBRID|-HYBRID-SSE3|HYBRID-AVX] + -A Specify one of the secondary structure substitution models implemented in RAxML. + -c Specify number of distinct rate catgories for RAxML when model of rate heterogeneity + "-f c": check if the alignment can be properly read by RAxML + in the two tree files. A file called RAxML_bipartitionFrequencies.outpuFileName + you will need to start RAxML with a non-comprehensive reference tree and an alignment containing all sequences (reference query) + you will need to start RAxML with a non-comprehensive reference tree and an alignment containing all sequences (reference query) + you will need to start RAxML with a non-comprehensive reference tree and an alignment containing all sequences (reference query) + -K Specify one of the multi-state substitution models (max 32 states) implemented in RAxML. + with RAxML using the -f e tree evaluation option. The file name should be: + RAxML_binaryModelParameters.runID + -w FULL (!) path to the directory into which RAxML shall write its output files + CAUTION: unlike in version 7.0.4 RAxML will conduct rapid BS replicates under + RAxML will only do a randomized stepwise addition order parsimony tree reconstruction + -y If you want to only compute a parsimony starting tree with RAxML specify "-y", + --flag-check When using this option, RAxML will only check if all command line flags specifed are available and then exit + RAxML will test all available prot subst. models except for LG4M, LG4X and GTR-based models, with and without empirical base frequencies. + --print-identical-sequences specify that RAxML shall automatically generate a .reduced alignment with all + grep -i raxml + raxmlp -h + This is RAxML version 8.2.12 released by Alexandros Stamatakis on May 2018. + Please also consult the RAxML-manual + Please report bugs via the RAxML google group! + raxmlHPC[-SSE3|-AVX|-PTHREADS|-PTHREADS-SSE3|-PTHREADS-AVX|-HYBRID|-HYBRID-SSE3|HYBRID-AVX] + -A Specify one of the secondary structure substitution models implemented in RAxML. + -c Specify number of distinct rate catgories for RAxML when model of rate heterogeneity + "-f c": check if the alignment can be properly read by RAxML + in the two tree files. A file called RAxML_bipartitionFrequencies.outpuFileName + you will need to start RAxML with a non-comprehensive reference tree and an alignment containing all sequences (reference query) + you will need to start RAxML with a non-comprehensive reference tree and an alignment containing all sequences (reference query) + export PASTA_LOGGING_LEVEL=DEBUG + PASTA_LOGGING_LEVEL=DEBUG + you will need to start RAxML with a non-comprehensive reference tree and an alignment containing all sequences (reference query) + -K Specify one of the multi-state substitution models (max 32 states) implemented in RAxML. + export PASTA_LOGGING_FORMAT=RICH + with RAxML using the -f e tree evaluation option. The file name should be: + PASTA_LOGGING_FORMAT=RICH + RAxML_binaryModelParameters.runID + -w FULL (!) path to the directory into which RAxML shall write its output files + CAUTION: unlike in version 7.0.4 RAxML will conduct rapid BS replicates under + RAxML will only do a randomized stepwise addition order parsimony tree reconstruction + run_pasta.py -i /opt/conda/conda-bld/pasta_1718122849359/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/share/pasta/data/small.fasta + -y If you want to only compute a parsimony starting tree with RAxML specify "-y", + --flag-check When using this option, RAxML will only check if all command line flags specifed are available and then exit + RAxML will test all available prot subst. models except for LG4M, LG4X and GTR-based models, with and without empirical base frequencies. + --print-identical-sequences specify that RAxML shall automatically generate a .reduced alignment with all + PASTA ERROR: PASTA is exiting because of an error: + invalid mode: 'rU' + PASTA INFO: Reading input sequences from '$PREFIX/share/pasta/data/small.fasta'... + WARNING: Tests failed for pasta-1.9.0-py311hfad2c56_1.tar.bz2 - moving package to /opt/conda/conda-bld/broken + TESTS FAILED: pasta-1.9.0-py311hfad2c56_1.tar.bz2 +# Last 100 lines of the build log. diff --git a/recipes/pasta/build_failure.osx-64.yaml b/recipes/pasta/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..9f49c41e872cc --- /dev/null +++ b/recipes/pasta/build_failure.osx-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: 65e7d2e1e37f5d09b369b83c2b28d55d132f52dfa10e858233a874f106158aa3 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: test failure +log: |2- + libzlib: 1.3.1-h87427d6_1 conda-forge + llvm-openmp: 18.1.7-h15ab845_0 conda-forge + mafft: 7.526-hec52a4b_0 conda-forge + mpfr: 4.2.1-h4f6b447_1 conda-forge + muscle: 3.8.1551-hb280591_6 bioconda + ncurses: 6.5-h5846eda_0 conda-forge + openjdk: 22.0.1-h2d185b6_0 conda-forge + openssl: 3.3.1-h87427d6_0 conda-forge + pasta: 1.9.0-py311h29d3010_1 local + pcre: 8.45-he49afe7_0 conda-forge + prank: 170427-h85dcccf_0 bioconda + pymongo: 4.7.3-py311hbafa61a_0 conda-forge + python: 3.11.9-h657bba9_0_cpython conda-forge + python_abi: 3.11-4_cp311 conda-forge + raxml: 8.2.13-h2413b67_1 bioconda + readline: 8.2-h9e318b2_1 conda-forge + sniffio: 1.3.1-pyhd8ed1ab_0 conda-forge + tk: 8.6.13-h1abcd95_1 conda-forge + tzdata: 2024a-h0c530f3_0 conda-forge + xz: 5.2.6-h775f41a_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + clustalw2 -help + grep OPTIONS + hmmalign -h + grep HMMER + hmmbuild -h + grep HMMER + muscle -version + grep -i MUSCLE + prank -help + grep prank + raxml -h + grep -i raxml + raxmlp -h + grep -i raxml + export PASTA_LOGGING_LEVEL=DEBUG + PASTA_LOGGING_LEVEL=DEBUG + export PASTA_LOGGING_FORMAT=RICH + PASTA_LOGGING_FORMAT=RICH + run_pasta.py -i /opt/mambaforge/envs/bioconda/conda-bld/pasta_1718123761694/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/share/pasta/data/small.fasta + PASTA ERROR: PASTA is exiting because of an error: + invalid mode: 'rU' + WARNING: Tests failed for pasta-1.9.0-py311h29d3010_1.tar.bz2 - moving package to /opt/mambaforge/envs/bioconda/conda-bld/broken + TESTS FAILED: pasta-1.9.0-py311h29d3010_1.tar.bz2 + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/pasta_1718123761694/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/pasta_1718123761694/test_tmp + import: 'pasta' + import: 'pasta' + -OPTIONS :list the command line parameters + # HMMER 3.1b2 (February 2015); http://hmmer.org/ + # HMMER 3.1b2 (February 2015); http://hmmer.org/ + MUSCLE v3.8.1551 by Robert C. Edgar + prank v.170427. Minimal usage: 'prank sequence_file' + Advanced usage: 'prank [optional parameters] -d=sequence_file [optional parameters]' + This is RAxML version 8.2.12 released by Alexandros Stamatakis on May 2018. + Please also consult the RAxML-manual + Please report bugs via the RAxML google group! + raxmlHPC[-SSE3|-AVX|-PTHREADS|-PTHREADS-SSE3|-PTHREADS-AVX|-HYBRID|-HYBRID-SSE3|HYBRID-AVX] + -A Specify one of the secondary structure substitution models implemented in RAxML. + -c Specify number of distinct rate catgories for RAxML when model of rate heterogeneity + "-f c": check if the alignment can be properly read by RAxML + in the two tree files. A file called RAxML_bipartitionFrequencies.outpuFileName + you will need to start RAxML with a non-comprehensive reference tree and an alignment containing all sequences (reference query) + you will need to start RAxML with a non-comprehensive reference tree and an alignment containing all sequences (reference query) + you will need to start RAxML with a non-comprehensive reference tree and an alignment containing all sequences (reference query) + -K Specify one of the multi-state substitution models (max 32 states) implemented in RAxML. + with RAxML using the -f e tree evaluation option. The file name should be: + RAxML_binaryModelParameters.runID + -w FULL (!) path to the directory into which RAxML shall write its output files + CAUTION: unlike in version 7.0.4 RAxML will conduct rapid BS replicates under + RAxML will only do a randomized stepwise addition order parsimony tree reconstruction + -y If you want to only compute a parsimony starting tree with RAxML specify "-y", + --flag-check When using this option, RAxML will only check if all command line flags specifed are available and then exit + RAxML will test all available prot subst. models except for LG4M, LG4X and GTR-based models, with and without empirical base frequencies. + --print-identical-sequences specify that RAxML shall automatically generate a .reduced alignment with all + This is RAxML version 8.2.12 released by Alexandros Stamatakis on May 2018. + Please also consult the RAxML-manual + Please report bugs via the RAxML google group! + raxmlHPC[-SSE3|-AVX|-PTHREADS|-PTHREADS-SSE3|-PTHREADS-AVX|-HYBRID|-HYBRID-SSE3|HYBRID-AVX] + -A Specify one of the secondary structure substitution models implemented in RAxML. + -c Specify number of distinct rate catgories for RAxML when model of rate heterogeneity + "-f c": check if the alignment can be properly read by RAxML + in the two tree files. A file called RAxML_bipartitionFrequencies.outpuFileName + you will need to start RAxML with a non-comprehensive reference tree and an alignment containing all sequences (reference query) + you will need to start RAxML with a non-comprehensive reference tree and an alignment containing all sequences (reference query) + you will need to start RAxML with a non-comprehensive reference tree and an alignment containing all sequences (reference query) + -K Specify one of the multi-state substitution models (max 32 states) implemented in RAxML. + with RAxML using the -f e tree evaluation option. The file name should be: + RAxML_binaryModelParameters.runID + -w FULL (!) path to the directory into which RAxML shall write its output files + CAUTION: unlike in version 7.0.4 RAxML will conduct rapid BS replicates under + RAxML will only do a randomized stepwise addition order parsimony tree reconstruction + -y If you want to only compute a parsimony starting tree with RAxML specify "-y", + --flag-check When using this option, RAxML will only check if all command line flags specifed are available and then exit + RAxML will test all available prot subst. models except for LG4M, LG4X and GTR-based models, with and without empirical base frequencies. + --print-identical-sequences specify that RAxML shall automatically generate a .reduced alignment with all + PASTA INFO: Reading input sequences from '$PREFIX/share/pasta/data/small.fasta'... +# Last 100 lines of the build log. diff --git a/recipes/pasta/fix_tooldir.patch b/recipes/pasta/fix_tooldir.patch new file mode 100644 index 0000000000000..8a8d25024fb09 --- /dev/null +++ b/recipes/pasta/fix_tooldir.patch @@ -0,0 +1,28 @@ +--- pasta/__init__.py 2023-12-04 08:02:14.754964843 +0100 ++++ pasta/__init__.condafixed.py 2023-12-04 09:36:40.981661306 +0100 +@@ -20,7 +20,7 @@ + PROGRAM_LONG_DESCRIPTION = """ + PASTA performs iterative realignment and tree inference, similar to SATe, but uses a very different merge algorithm which improves running time, memory usage, and accuracy. The current code is heavily based on SATe, with lots of modifications, many related to algorithmic differences between PASTA and SATe, but also many scalability improvements (parallelization, tree parsing, defaults, etc.) + +-Minimally you must provide a sequence file (with the '--input' option); a starting tree is optional. By default, important algorithmic parameters are set based on automatic rules. ++Minimally you must provide a sequence file (with the '--input' option); a starting tree is optional. By default, important algorithmic parameters are set based on automatic rules. + + The command line allows you to alter the behavior of the algorithm (termination criteria, when the algorithm switches to "Blind" acceptance of new alignments, how the tree is decomposed to find subproblems to be used, and the external tools to use). + +@@ -251,8 +251,9 @@ + if "PASTA_TOOLS_RUNDIR" in os.environ: + bin_path = os.path.expanduser(os.path.expandvars(os.environ["PASTA_TOOLS_RUNDIR"])) + else: +- home_path = pasta_home_dir() +- bin_path = os.path.join(home_path, pasta_tools_deploy_subpath()) ++ bin_path = os.path.join(os.path.abspath(os.environ['CONDA_PREFIX']), 'bin') # injected via conda patching process ++ # home_path = pasta_home_dir() ++ # bin_path = os.path.join(home_path, pasta_tools_deploy_subpath()) + if os.path.exists(bin_path) or not default_to_dev_dir: + return bin_path + try: +@@ -288,4 +289,3 @@ + raise ToolsDirNotFoundError(paths_tried=[bin_path], + env_var_name="PASTA_TOOLS_DEVDIR") + return bin_path +- diff --git a/recipes/pasta/meta.yaml b/recipes/pasta/meta.yaml index d3cedf63e6eb0..03ae3152eaa67 100644 --- a/recipes/pasta/meta.yaml +++ b/recipes/pasta/meta.yaml @@ -1,33 +1,53 @@ +{% set version = "1.9.2" %} +{% set sha256 = "06c20f022765d2c1daab13a916ec2ea2277c5ef43afcf3e54c6a7ade7aed0944" %} + package: name: pasta - version: "1.7.8" + version: '{{version}}' source: - url: https://github.com/smirarab/pasta/archive/43076b8.tar.gz - sha256: 5eecec1710790df642696d1a52ecf723e5f02dd94e971427117344342a7c2a42 + - url: https://github.com/smirarab/pasta/archive/v{{version}}.tar.gz + sha256: '{{sha256}}' + patches: + - fix_tooldir.patch # ensure PASTA "knows" where to find third party tools + - mpstart.patch # issue in OSX py38 (not in Linux nor OSX py37): RuntimeError: An attempt has been made to start a new process before the current process has finished its bootstrapping phase. build: - number: 4 + number: 1 + skip: true # [py == 312] + run_exports: + - {{ pin_subpackage('pasta', max_pin="x") }} requirements: - build: - - {{ compiler('c') }} - host: - python - setuptools - - dendropy >=4.1.0 + - dendropy - wget - openjdk - pcre - pymongo >=3.3.0 + - clustalw + - fasttree + - raxml + - muscle <4 # later versions expects other cmd argument names + - mafft + - hmmer + - prank run: - python - - dendropy >=4.1.0 + - dendropy - openjdk - pcre - pymongo >=3.3.0 + - clustalw + - fasttree + - raxml + - muscle <4 # later versions expects other cmd argument names + - mafft + - hmmer + - prank test: imports: @@ -37,12 +57,22 @@ test: - clustalw2 -help | grep OPTIONS - hmmalign -h | grep HMMER - hmmbuild -h | grep HMMER - - muscle -version | grep MUSCLE + - muscle -version | grep -i MUSCLE - prank -help | grep prank - - raxml -h | grep raxmlHPC - - raxmlp -h | grep raxmlHPC + - raxml -h | grep -i raxml + - raxmlp -h | grep -i raxml + - export PASTA_LOGGING_LEVEL=DEBUG; export PASTA_LOGGING_FORMAT=RICH; run_pasta.py -i $PREFIX/share/pasta/data/small.fasta + # we need support from upstream to fix this special execution for OSX specific - export PASTA_LOGGING_LEVEL=DEBUG; export PASTA_LOGGING_FORMAT=RICH; run_pasta.py -i $PREFIX/share/pasta/data/small.fasta --tree-estimator raxml about: home: https://github.com/smirarab/pasta - license: GNU General Public License v3 or later (GPLv3+) + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE summary: 'An implementation of the PASTA (Practical Alignment using Sate and TrAnsitivity) algorithm' + +extra: + skip-lints: + # necessary, because pasta is NOT platform independent: + # during build time, platform specific binaries for mafft/raxml/muscle/... are copied into the PREFIX/bin dir + - should_be_noarch_generic diff --git a/recipes/pasta/mpstart.patch b/recipes/pasta/mpstart.patch new file mode 100644 index 0000000000000..4766807f0094d --- /dev/null +++ b/recipes/pasta/mpstart.patch @@ -0,0 +1,12 @@ +--- run_pasta.py 2023-12-04 14:25:42.341227081 +0100 ++++ run_pasta.mpstart.py 2023-12-04 14:25:34.944972464 +0100 +@@ -22,6 +22,9 @@ + # Jiaye Yu and Mark Holder, University of Kansas + + if __name__ == "__main__": ++ import multiprocessing as mp ++ mp.set_start_method('fork') # how to create child processes. Does not work with default in OSX py38 ++ + import os + import sys + import pasta diff --git a/recipes/pastml/meta.yaml b/recipes/pastml/meta.yaml index 6a2f5557e6daf..e985066b7448c 100644 --- a/recipes/pastml/meta.yaml +++ b/recipes/pastml/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pastml" %} -{% set version = "1.9.40" %} +{% set version = "1.9.49" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 5334bc8de70a968117240b90d90878ac935be18de6e6e485fb1a8f90cd539fea + sha256: 421f3be11dd0bd09615aeaba0026b8cc749115c7d72b87576c55e652ac943949 build: number: 0 @@ -16,12 +16,14 @@ build: - pastml = pastml.acr:main - geomap = pastml.visualisation.generate_geomap:main - transition_counter = pastml.utilities.transition_counter:main - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation" + run_exports: + - {{ pin_subpackage('pastml', max_pin="x") }} requirements: host: - pip - - python >=3.8 + - python >=3.9 run: - biopython >=1.70 - ete3 >=3.1.1 @@ -29,7 +31,7 @@ requirements: - jinja2 >=2.11.0 - numpy >=1.22 - pandas >=1.0.0 - - python >=3.8 + - python >=3.9 - scipy >=1.5.0 test: @@ -53,8 +55,8 @@ about: node states based on the tip states, with a selection of maximum likelihood and parsimonious methods. The result is then visualised as a zoomable html map. - license: GPL-3.0 - license_family: GPL + license: GPL-3.0-or-later + license_family: GPL3 license_file: LICENSE doc_url: https://pastml.pasteur.fr/help dev_url: https://github.com/evolbioinfo/pastml diff --git a/recipes/pasty/build.sh b/recipes/pasty/build.sh index 6c870165bf734..a64b3f4867aed 100644 --- a/recipes/pasty/build.sh +++ b/recipes/pasty/build.sh @@ -1,11 +1,11 @@ -#! /bin/bash +#!/bin/bash -# Set up defaults -PASTY_SHARE="share/${PKG_NAME}-${PKG_VERSION}" -mkdir -p ${PREFIX}/${PASTY_SHARE} -mkdir -p ${PREFIX}/bin +mkdir -p $PREFIX/bin ${PREFIX}/share/pasty -# Make Bioconda compatible -mv db/OSAdb.fasta ${PREFIX}/${PASTY_SHARE}/ -sed "s=db/OSAdb.fasta=$PASTY_SHARE/OSAdb.fasta=" bin/pasty > ${PREFIX}/bin/pasty -chmod 755 ${PREFIX}/bin/pasty +# Copy wrapper +chmod 755 bin/pasty-bioconda +cp -f bin/pasty-bioconda $PREFIX/bin/pasty + +# Copy schema (~100kb) +cp -f data/pa-osa.fasta ${PREFIX}/share/pasty +cp -f data/pa-osa.yaml ${PREFIX}/share/pasty diff --git a/recipes/pasty/meta.yaml b/recipes/pasty/meta.yaml index 8b2220b2bdfb3..69cec8609056a 100644 --- a/recipes/pasty/meta.yaml +++ b/recipes/pasty/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pasty" %} -{% set version = "1.0.3" %} +{% set version = "2.2.1" %} package: name: {{ name | lower }} @@ -7,18 +7,17 @@ package: source: url: https://github.com/rpetit3/pasty/archive/v{{ version }}.tar.gz - sha256: 96b43053e7411f8e071355d604cdda02fd6bf03ebec199fdbaa85afe251623b6 + sha256: e407107082aadbbbc4d650dfbe965b6b9421c9fd384ee7e2ab380e7eca8991cc build: number: 0 noarch: generic + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} requirements: run: - - blast - - executor - - python >=3.7 - - rich-click + - camlhmp >=1.1.0 test: commands: diff --git a/recipes/patchify/meta.yaml b/recipes/patchify/meta.yaml new file mode 100644 index 0000000000000..6f3d4d0c196f1 --- /dev/null +++ b/recipes/patchify/meta.yaml @@ -0,0 +1,45 @@ +{% set name = "patchify" %} +{% set version = "0.2.3" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.org/packages/source/{{ name[0] }}/{{ name }}/patchify-{{ version }}.tar.gz + sha256: 6cc409124f34ceee672f1931d818923f88f5116f323ac7bb9be7e6c5d0845502 + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('patchify', max_pin="x.x") }} + +requirements: + host: + - python >=3.7,<4.0 + - poetry >=0.12 + - poetry-core + - pip + run: + - python >=3.7.0,<4.0.0 + - numpy >=1.0.0,<2.0.0 + +test: + imports: + - patchify + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/dovahcrow/patchify.py + summary: A library that helps you split image into small, overlappable patches, and merge patches back into the original image. + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - hexylena diff --git a/recipes/pathogen-embed/meta.yaml b/recipes/pathogen-embed/meta.yaml new file mode 100644 index 0000000000000..6686d0251dbaa --- /dev/null +++ b/recipes/pathogen-embed/meta.yaml @@ -0,0 +1,53 @@ +{% set version = "3.1.0" %} +{% set name = "pathogen-embed" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/pathogen_embed-{{ version }}.tar.gz + sha256: 27c4a048c7e3c6bafc753ec297252f214a41d75a2c55ebb02542b8f37b19a897 + +build: + number: 0 + noarch: python + entry_points: + - pathogen-distance = pathogen_embed.__main__:run_distance + - pathogen-embed = pathogen_embed.__main__:run_embed + - pathogen-cluster = pathogen_embed.__main__:run_cluster + script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv" + run_exports: + - {{ pin_subpackage('pathogen-embed', max_pin='x') }} + +requirements: + host: + - python >=3.8 + - pip + run: + - python >=3.8 + - numpy >=1.24.4,<2 + - pandas >=1.2.0,<2 + - biopython >=1.83,<2 + - scikit-learn >=1.3,<1.5 + - umap-learn >=0.5.0,<0.6.0 + - numba <0.59.0 + - matplotlib-base >=3,<4 + - hdbscan >=0.8.36,<0.9.0 + +test: + commands: + - pathogen-distance --help + - pathogen-embed --help + - pathogen-cluster --help + +about: + home: https://github.com/blab/pathogen-embed + license: MIT + summary: 'Create reduced dimension embeddings for pathogen sequences' + license_family: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - huddlej diff --git a/recipes/pathogen-profiler/meta.yaml b/recipes/pathogen-profiler/meta.yaml index a6d852663c109..db629d9a89746 100644 --- a/recipes/pathogen-profiler/meta.yaml +++ b/recipes/pathogen-profiler/meta.yaml @@ -1,6 +1,6 @@ {% set name = "pathogen-profiler" %} -{% set version = "3.1.0" %} -{% set sha256 = "638f27205f20632624b98b4e11e176455f772f5ae35a9d7b09ab79373a324472" %} +{% set version = "4.4.0" %} +{% set sha256 = "42a82777c01f26f1a5c85185960873e173329f9f84e081a1eef0fe66ac940f2e" %} package: name: {{name}} @@ -22,7 +22,7 @@ requirements: - python - pip run: - - python >=3.7 + - python >=3.10 - git - trimmomatic - bwa @@ -31,10 +31,10 @@ requirements: - samtools >=1.12 - bcftools >=1.12 - tqdm - - delly >=0.8.7 + - delly >=1.2.6 - gatk4 - bedtools - - freebayes >=1.3.5,<1.3.7 + - freebayes =1.3.6 - samclip - snpeff >=5.1 - requests @@ -43,10 +43,14 @@ requirements: - openjdk >=11.0.8 - kmc >=3.2.1 - dsk >=2.2 - - cryptography >=39.0.1 - rich-argparse - joblib >=1.3.0 - pysam + - pydantic >=2.6 + - tomli + - itol-config + - seqkit + - sourmash test: imports: diff --git a/recipes/pathphynder/build.sh b/recipes/pathphynder/build.sh new file mode 100644 index 0000000000000..4225b4c2ea035 --- /dev/null +++ b/recipes/pathphynder/build.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +mkdir -p $PREFIX/lib/R/library/pathphynder +cp -r R/ data/ inst/ $PREFIX/lib/R/library/pathphynder +sed -i "s#^packpwd<-.*\+\$#packpwd<-'$PREFIX/lib/R/library/pathphynder/R'#g" pathPhynder.R +sed -i "s#^packpwd<-.*\+\$#packpwd<-'$PREFIX/lib/R/library/pathphynder/R'#g" $PREFIX/lib/R/library/pathphynder/R/{pileup_and_filter,addAncToTree,chooseBestPath,assign_noNA,functions_pathPhynder,pathPhynder_likelihood_runner}.R +cp pathPhynder.R $PREFIX/bin/pathPhynder diff --git a/recipes/pathphynder/meta.yaml b/recipes/pathphynder/meta.yaml new file mode 100644 index 0000000000000..9fac48b8890f8 --- /dev/null +++ b/recipes/pathphynder/meta.yaml @@ -0,0 +1,48 @@ +{% set name = "pathphynder" %} +{% set version = "1.2.3" %} +{% set sha256="2c2acd0c15e9403f5506980121551654c5072fb62edc02846600f7902087e2ca" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/ruidlpm/pathPhynder/archive/refs/tags/v{{ version }}.zip + sha256: {{ sha256 }} + +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage( 'pathphynder', max_pin='x.x') }} + +requirements: + host: + - python >=3 + run: + - r-base + - samtools + - phynder + - r-optparse + - r-scales + - r-phytools + +test: + commands: + - pathPhynder -h + +about: + home: https://github.com/ruidlpm/pathPhynder + license: MIT + license_family: MIT + license_file: LICENSE + summary: A workflow for ancient DNA placement into reference phylogenies. + description: | + Ancient DNA data is characterized by deamination and low-coverage sequencing, which results in a high fraction of missing data and erroneous calls. + These factors affect the estimation of phylogenetic trees with modern and ancient DNA, especially when dealing with many ancient samples sequenced to lower coverage. + Furthermore, most ancient DNA analyses of the Y chromosome, for example, rely on previously known markers, but additional variation will continuously emerge as more data is generated. + This workflow offers a solution for integrating ancient and present-day haploid data, first by identifiying informative markers in a high coverage dataset, second, by calling and filtering these SNPs in ancient samples and lastly, by traversing the tree and evaluate the number of derived and ancestral markers in the ancients to find the most likely branch where it belongs. + +extra: + identifiers: + - doi:10.1093/molbev/msac017 diff --git a/recipes/pb-falcon/meta.yaml b/recipes/pb-falcon/meta.yaml index 5ea3122f61ee8..9963caac76c4d 100644 --- a/recipes/pb-falcon/meta.yaml +++ b/recipes/pb-falcon/meta.yaml @@ -12,8 +12,10 @@ source: folder: pb-falcon build: - number: 4 + number: 6 skip: True # [py27 or py36 or osx] + run_exports: + - {{ pin_subpackage(name, max_pin='x') }} requirements: build: @@ -31,9 +33,9 @@ requirements: - python - networkx >=1.9.1 - future >=0.16.0 - - python-edlib>=1.2.4 + - python-edlib >=1.2.4 - python-intervaltree - - python-msgpack>=0.6.1 + - python-msgpack >=0.6.1 - numpy - pysam @@ -55,3 +57,7 @@ about: - pb-cdunn - isovic - zkronenberg + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/pbbam/meta.yaml b/recipes/pbbam/meta.yaml index 6ddac564b833a..62c86b7cd19b4 100644 --- a/recipes/pbbam/meta.yaml +++ b/recipes/pbbam/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 0 + number: 1 skip: True # [osx] run_exports: - {{ pin_subpackage('pbbam', max_pin='x.x') }} diff --git a/recipes/pbcopper/meta.yaml b/recipes/pbcopper/meta.yaml index dc5edaf7d1ff7..88e34ecffcf75 100644 --- a/recipes/pbcopper/meta.yaml +++ b/recipes/pbcopper/meta.yaml @@ -16,13 +16,15 @@ about: summary: Core C++ library for data structures, algorithms, and utilities extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - pb-dseifert - mhsieh - armintoepfer build: - number: 0 + number: 3 skip: True # [osx] run_exports: - {{ pin_subpackage('pbcopper', max_pin='x.x') }} @@ -38,3 +40,4 @@ requirements: test: commands: - test -f ${PREFIX}/lib/libpbcopper.a + diff --git a/recipes/pbfusion/meta.yaml b/recipes/pbfusion/meta.yaml index 8433b41fcd948..b2a63c19e6a0e 100644 --- a/recipes/pbfusion/meta.yaml +++ b/recipes/pbfusion/meta.yaml @@ -1,6 +1,6 @@ {% set name = "pbfusion" %} -{% set version = "0.4.0" %} -{% set pbfusion_sha256 = "bb6c37188288492dbcf5f1e9ddbc02492e86590e5a4567d6ded0d1ab9deb12ec" %} +{% set version = "0.4.1" %} +{% set pbfusion_sha256 = "c6abde2ee1f88355158bf1c655e5ae754f942708f7addbaef8d626fdebfcfe7a" %} package: name: {{ name }} diff --git a/recipes/pbgzip/build.sh b/recipes/pbgzip/build.sh index 23e9ca4d9a87e..af8355c3b5830 100644 --- a/recipes/pbgzip/build.sh +++ b/recipes/pbgzip/build.sh @@ -4,5 +4,5 @@ sh autogen.sh ./configure --prefix ${PREFIX} --enable-igzip export C_INCLUDE_PATH=${PREFIX}/include export LIBRARY_PATH=${PREFIX}/lib -make +make -j${CPU_COUNT} make install diff --git a/recipes/pbgzip/meta.yaml b/recipes/pbgzip/meta.yaml index 9dd7a7132b0cf..dc3cfeeb5b6d3 100644 --- a/recipes/pbgzip/meta.yaml +++ b/recipes/pbgzip/meta.yaml @@ -7,8 +7,9 @@ source: sha256: 544820be0da38f6af7be18792d00d6d3dd2fe3f7f3b08a67c3aa35fb1bbeaeb1 build: - number: 4 - skip: False + number: 5 + run_exports: + - {{ pin_subpackage('pbgzip', max_pin=None) }} requirements: build: @@ -31,3 +32,7 @@ about: home: https://github.com/nh13/pbgzip summary: Parallel Block GZIP license: MIT/Expat + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/pbmm2/meta.yaml b/recipes/pbmm2/meta.yaml index 1f60756da774d..348e04b135e2e 100644 --- a/recipes/pbmm2/meta.yaml +++ b/recipes/pbmm2/meta.yaml @@ -1,6 +1,6 @@ {% set name = "pbmm2" %} -{% set version = "1.13.1" %} -{% set sha256 = "4e764bbea99a4c712fb74e4d6c82c227562d431c47670628f1d004b2f0e8a8db" %} +{% set version = "1.14.99" %} +{% set sha256 = "5cf873325a39aae70b806b8ede27426b3bad779f808379acc517f2349ad256fb" %} package: name: {{ name }} diff --git a/recipes/pbptyper/build.sh b/recipes/pbptyper/build.sh index 88bd3103facb5..5c332818d61da 100644 --- a/recipes/pbptyper/build.sh +++ b/recipes/pbptyper/build.sh @@ -1,12 +1,12 @@ -#! /bin/bash +#!/bin/bash -# Set up defaults -PBPTYPER_SHARE="share/${PKG_NAME}-${PKG_VERSION}" -mkdir -p ${PREFIX}/${PBPTYPER_SHARE} -mkdir -p ${PREFIX}/bin +mkdir -p $PREFIX/bin ${PREFIX}/share/pbptyper -# Make Bioconda compatible -cp db/*.faa ${PREFIX}/${PBPTYPER_SHARE}/ -cp db/GCF_000006885.fna.gz ${PREFIX}/${PBPTYPER_SHARE}/ -sed "s=\"bin\", \"db\"=\"bin\", \"$PBPTYPER_SHARE\"=" bin/pbptyper > ${PREFIX}/bin/pbptyper -chmod 755 ${PREFIX}/bin/pbptyper +# Copy wrapper +chmod 755 bin/pbptyper bin/pbptyper-bioconda +cp -f bin/pbptyper $PREFIX/bin/pbptyper-main +cp -f bin/pbptyper-bioconda $PREFIX/bin/pbptyper + +# Copy schema (~100kb) +cp -f data/pbptyper.yaml ${PREFIX}/share/pbptyper +cp -f data/pbptyper.fasta ${PREFIX}/share/pbptyper diff --git a/recipes/pbptyper/meta.yaml b/recipes/pbptyper/meta.yaml index 56ec838faad24..76adfdc4e82ae 100644 --- a/recipes/pbptyper/meta.yaml +++ b/recipes/pbptyper/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pbptyper" %} -{% set version = "1.0.4" %} +{% set version = "2.0.0" %} package: name: {{ name | lower }} @@ -7,25 +7,22 @@ package: source: url: https://github.com/rpetit3/pbptyper/archive/v{{ version }}.tar.gz - sha256: d112637db40212d87217ee18e692c4d5d5be6ab10845d658165a1c8fc83b03b3 + sha256: a51de405ff4a64687cba129096b0e67fb8388cb932f66858a1c5745393df0441 build: number: 0 noarch: generic + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} requirements: run: - - blast - - executor - - fastani - - python >=3.7 - - rich-click + - camlhmp >=0.3.1 test: commands: - pbptyper --version - pbptyper --help - - pbptyper --check about: home: "https://github.com/rpetit3/pbptyper" diff --git a/recipes/pbsim3/meta.yaml b/recipes/pbsim3/meta.yaml index 5a166dcaeb058..c9902c70eb6ef 100644 --- a/recipes/pbsim3/meta.yaml +++ b/recipes/pbsim3/meta.yaml @@ -1,6 +1,6 @@ {% set name = "pbsim3" %} -{% set version = "3.0.1" %} -{% set sha256 = "4d2d0cabc1adfd1ade0cde983fb37f7e8af477c0fd7b09ef3e753742b89cc541" %} +{% set version = "3.0.4" %} +{% set sha256 = "d9dd51d7522d9f2f21d3cab6f5f7ff0131702cba73dd1baa0b7d13f813d3854e" %} package: name: {{ name }} diff --git a/recipes/pbstarphase/build.sh b/recipes/pbstarphase/build.sh new file mode 100644 index 0000000000000..9ea2f67d671bb --- /dev/null +++ b/recipes/pbstarphase/build.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +mkdir -p "${PREFIX}"/bin +# bioconda auto-extract for us apparently +# tar -xzf pbstarphase-*.tar.gz +md5sum -c pbstarphase.md5 +cp pbstarphase "${PREFIX}"/bin/ diff --git a/recipes/pbstarphase/meta.yaml b/recipes/pbstarphase/meta.yaml new file mode 100644 index 0000000000000..8d3f1cf875a11 --- /dev/null +++ b/recipes/pbstarphase/meta.yaml @@ -0,0 +1,35 @@ +{% set name = "pbstarphase" %} +{% set version = "0.14.2" %} +{% set sha256 = "c8694b47f164db08074cee118238694d8383c0df526637ec1068ae8e93494b75" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/PacificBiosciences/pb-StarPhase/releases/download/v{{ version }}/pbstarphase-v{{ version }}-x86_64-unknown-linux-gnu.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + skip: True # [osx] + run_exports: + - {{ pin_subpackage('pbstarphase', max_pin="x") }} + +test: + commands: + - pbstarphase --version + +about: + home: https://github.com/PacificBiosciences/pb-StarPhase + license: BSD-3-Clause-Clear + summary: A phase-aware pharmacogenomic diplotyper for PacBio sequencing data + +extra: + recipe-maintainers: + - holtjma + - ctsa + - zeeev + skip-lints: + - should_use_compilers + - should_be_noarch_generic diff --git a/recipes/pbwt/meta.yaml b/recipes/pbwt/meta.yaml index a547aa3277da6..b92f7636c810a 100644 --- a/recipes/pbwt/meta.yaml +++ b/recipes/pbwt/meta.yaml @@ -8,7 +8,7 @@ source: sha256: 57b02f4ec56d236a3f4e6e9789dbefbc505a3157840edcbee2201a831806003e build: - number: 9 + number: 10 requirements: build: diff --git a/recipes/pcaone/meta.yaml b/recipes/pcaone/meta.yaml index 636c605ed4401..fa818eea373d8 100644 --- a/recipes/pcaone/meta.yaml +++ b/recipes/pcaone/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.4.0" %} -{% set sha256 = "b6bf45c20dddcc42811dcc902c7d92c5901d03fb4c69675ee8da39b3c92763a9" %} +{% set version = "0.4.7" %} +{% set sha256 = "b077472ecaefc067d5aa7990453c5e46f09bdd5e07a391eca1077c9c3bc1ed76" %} package: @@ -21,17 +21,16 @@ requirements: - {{ compiler('cxx') }} - make - sysroot_linux-64 2.17 # [linux] - - intel-openmp + - llvm-openmp # [osx] + - libgomp # [linux] host: - mkl - mkl-include - - intel-openmp - zlib run: - mkl - - intel-openmp test: commands: diff --git a/recipes/pcasuite/meta.yaml b/recipes/pcasuite/meta.yaml index c1b3199930fc5..19dd174a2397b 100644 --- a/recipes/pcasuite/meta.yaml +++ b/recipes/pcasuite/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 79d0d94d9e483d516b903970f8d5a9f69bc793fe4e8d81ed25b74af2b1d115e4 build: - number: 3 + number: 4 requirements: build: diff --git a/recipes/pcst-fast/meta.yaml b/recipes/pcst-fast/meta.yaml index bf2fc543c6499..ede0000d553e5 100644 --- a/recipes/pcst-fast/meta.yaml +++ b/recipes/pcst-fast/meta.yaml @@ -1,18 +1,20 @@ {% set name = "pcst-fast" %} -{% set version = "1.0.8" %} +{% set version = "1.0.10" %} package: name: "{{ name }}" version: "{{ version }}" source: - url: https://github.com/fraenkel-lab/pcst_fast/archive/refs/tags/1.0.8.tar.gz - sha256: fea6672830d539ebcf29e8a2f1a7b7771ced332bea6e66b4e1093931e62ce5df + url: https://files.pythonhosted.org/packages/d4/fd/64b51c867bad63e6622ff97cad6230b94b19b5a61e30424cd69c8353091c/pcst_fast-{{ version }}.tar.gz + sha256: 3b5694110ce2e004471f383267d5e4ab7fe1ba9828954e8c42560ac1e42b25e6 build: number: 1 - skip: True # [ py!=36 ] - script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv + skip: True # [py < 38] + script: {{ PYTHON }} -m pip install . --no-build-isolation --no-deps --use-pep517 -vvv + run_exports: + - {{ pin_subpackage('pcst-fast', max_pin="x") }} requirements: build: @@ -21,7 +23,7 @@ requirements: - pip - pybind11 >=2.4 - python - - setuptools + - setuptools_scm run: - pybind11 >=2.4 - python @@ -34,7 +36,8 @@ about: home: https://github.com/fraenkel-lab/pcst_fast license: MIT license_family: MIT - summary: Implementation for PCST + license_file: LICENSE.txt + summary: "A fast implementation of the Goemans-Williamson scheme for the PCST (prize-collecting Steiner tree/forest) problem." extra: recipe-maintainers: diff --git a/recipes/pdbx/build.sh b/recipes/pdbx/build.sh new file mode 100644 index 0000000000000..0ba07c5223114 --- /dev/null +++ b/recipes/pdbx/build.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +mkdir -p build +cd build +cmake ${SRC_DIR} ${CMAKE_ARGS} +make +make install diff --git a/recipes/pdbx/meta.yaml b/recipes/pdbx/meta.yaml new file mode 100644 index 0000000000000..c28ff53effdf5 --- /dev/null +++ b/recipes/pdbx/meta.yaml @@ -0,0 +1,56 @@ +{% set name = "pdbx" %} +{% set org = "soedinglab" %} +{% set version = "1.0.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/eunos-1128/pdbx/archive/refs/tags/v{{ version }}.tar.gz + sha256: 6b2c9e632b9b9ad1ac7a2683f9e3a50c778dda559507072839924ae0b2bea6a3 + +build: + number: 1 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + +requirements: + build: + - make + - cmake + - {{ compiler('c') }} + - {{ compiler('cxx') }} # [linux] + host: + - python >=3.7,<3.12 + run: + - python >=3.7,<3.12 + +test: + imports: + - {{ name }} + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/{{ org }}/{{ name }} + summary: pdbx is a parser module in python for structures of the protein data bank in the mmcif format + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE + description: | + Proper recognition to the [Protein Data Bank](http://mmcif.wwpdb.org/docs/sw-examples/python/html/index.html) + where this library for protein structures in the mmCIF format initially came from. + We modified the original library to support python3. + This fork is used by scripts in the HHsuite [on GitHub](https://github.com/soedinglab/hh-suite). + doc_url: https://github.com/{{ org }}/{{ name }}#readme + dev_url: https://github.com/{{ org }}/{{ name }} + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + recipe-maintainers: + - eunos-1128 diff --git a/recipes/peakachu/meta.yaml b/recipes/peakachu/meta.yaml index 0fa612ab3fc66..6e92341f90311 100644 --- a/recipes/peakachu/meta.yaml +++ b/recipes/peakachu/meta.yaml @@ -10,7 +10,7 @@ source: build: skip: True # [py2k or py > 38] - number: 3 + number: 4 script: {{ PYTHON }} -m pip install . --no-deps -vv requirements: diff --git a/recipes/peakranger/meta.yaml b/recipes/peakranger/meta.yaml index 65d6f0fc4c3c6..316991275986f 100644 --- a/recipes/peakranger/meta.yaml +++ b/recipes/peakranger/meta.yaml @@ -9,7 +9,7 @@ source: - makefile.patch build: - number: 8 + number: 9 skip: True # [osx] requirements: diff --git a/recipes/peaks2utr/meta.yaml b/recipes/peaks2utr/meta.yaml index fde63cc700b3b..dfba7f191c929 100644 --- a/recipes/peaks2utr/meta.yaml +++ b/recipes/peaks2utr/meta.yaml @@ -1,5 +1,5 @@ {% set name = "peaks2utr" %} -{% set version = "1.2.0" %} +{% set version = "1.3.3" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/peaks2utr-{{ version }}.tar.gz - sha256: 9b7058f96455fb00c595759a92ab1c16bbaab4ec81658c89f37977cc1f4bb7c5 + sha256: 5fab611d8039a210936f172ccf6fb90989c91e53fb8ea8b18026cbce8a35d9b7 build: number: 0 diff --git a/recipes/peer/build.sh b/recipes/peer/build.sh new file mode 100644 index 0000000000000..1f1932d3cfc51 --- /dev/null +++ b/recipes/peer/build.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +set -eux + +mkdir build +cd build +cmake ../ -DBUILD_PYTHON_PACKAGE=OFF -DBUILD_PEERTOOL=ON +make -j $CPU_COUNT +mkdir -p "${PREFIX}/bin" +install src/peertool "${PREFIX}/bin" diff --git a/recipes/peer/meta.yaml b/recipes/peer/meta.yaml new file mode 100644 index 0000000000000..b24994dc6127a --- /dev/null +++ b/recipes/peer/meta.yaml @@ -0,0 +1,38 @@ +{% set name = "peer" %} +{% set version = "1.3" %} +# no tags in upstream repository yet +{% set commit = "40bc4b2cd92459ce42f44dfe279717436395f3f6" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/PMBio/peer/archive/{{ commit }}.tar.gz + sha256: 80a549354569ae5ec7d4d92c78e7f8fa72da08fcd11322611f737044c34861ed + patches: + - patches/0001-Comment-out-SWIG-package-search.patch + +build: + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - cmake + - make + +test: + commands: + - peertool --help | grep -q USAGE + +about: + home: https://github.com/PMBio/peer + license: GPL-2.0-or-later + license_file: + - LICENSE + - External/yaml-cpp/license.txt + summary: 'A collection of Bayesian approaches to infer hidden determinants and their effects from gene expression profiles using factor analysis methods' diff --git a/recipes/peer/patches/0001-Comment-out-SWIG-package-search.patch b/recipes/peer/patches/0001-Comment-out-SWIG-package-search.patch new file mode 100644 index 0000000000000..6628b8077e44a --- /dev/null +++ b/recipes/peer/patches/0001-Comment-out-SWIG-package-search.patch @@ -0,0 +1,31 @@ +From a66ffa0d4b5e0aca5a1de1ffad387eadef49447f Mon Sep 17 00:00:00 2001 +From: Travis Wrightsman +Date: Mon, 5 Feb 2024 12:21:17 -0500 +Subject: [PATCH] Comment out SWIG package search + +--- + CMakeLists.txt | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 80455af..0e0c66c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -71,11 +71,11 @@ endif (BUILD_UNIVERSAL) + #for finding external libraries. + #see /usr/local/share/cmake-2.6/Modules/Find*.cmake for more examples + +-find_package(SWIG REQUIRED) +-include(${SWIG_USE_FILE}) ++#find_package(SWIG REQUIRED) ++#include(${SWIG_USE_FILE}) + + include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +-set(CMAKE_SWIG_FLAGS "") ++#set(CMAKE_SWIG_FLAGS "") + + set(CMAKE_MODULE_PATH "${PEER_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) + include_directories(./include) +-- +2.39.2 + diff --git a/recipes/pegasusio/meta.yaml b/recipes/pegasusio/meta.yaml index 046eedbbb6559..2160e3d1d318a 100644 --- a/recipes/pegasusio/meta.yaml +++ b/recipes/pegasusio/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pegasusio" %} -{% set version = "0.8.1" %} +{% set version = "0.9.1" %} package: name: {{ name|lower }} @@ -7,14 +7,15 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: "ea18b963315726a18819740b91df316f43c50b87f248092be601756b30f49d44" + sha256: "bdbcad3652e31cb128d0d4526ae3f50706f75ba05a2efa9f3ed77e2acf37b1ef" build: - number: 0 - skip: True # [py<37] + number: 1 entry_points: - pegasusio = pegasusio.__main__:main - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('pegasusio', max_pin="x.x") }} requirements: build: @@ -56,10 +57,13 @@ about: home: https://github.com/lilab-bcb/pegasusio doc_url: https://pegasusio.readthedocs.io license: BSD-3-Clause + license_family: BSD license_file: LICENSE summary: "PegasusIO is the IO package for Pegasus." extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - yihming - bli25 diff --git a/recipes/pegasuspy/build_failure.linux-64.yaml b/recipes/pegasuspy/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..48bffa8d8dd4c --- /dev/null +++ b/recipes/pegasuspy/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 05082896c9d683a434792cca2bd6d16d300fc5b53d6394f597ea86b8740add13 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("scikit-misc==0.1.4=py310h19f2f35_1"), MatchSpec("python_abi=3.10[build=*_cp310]")} + Encountered problems while solving: + - package scikit-misc-0.1.4-py310h19f2f35_1 requires python_abi 3.10.* *_cp310, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + [32mpython_abi 3.12.* *_cp312[0m is requested and can be installed; + [31mscikit-misc[0m is not installable because there are no viable options + [31mscikit-misc 0.1.3[0m would require + [31mpython_abi 3.6 *_pypy36_pp73[0m, which conflicts with any installable versions previously reported; + [31mscikit-misc 0.1.3[0m would require + [31mpython_abi 3.6.* *_cp36m[0m, which conflicts with any installable versions previously reported; + [31mscikit-misc [0.1.3|0.1.4][0m would require + [31mpython_abi 3.7.* *_cp37m[0m, which conflicts with any installable versions previously reported; + [31mscikit-misc [0.1.3|0.1.4][0m would require + [31mpython_abi 3.7 *_pypy37_pp73[0m, which conflicts with any installable versions previously reported; + [31mscikit-misc [0.1.3|0.1.4][0m would require + [31mpython_abi 3.8.* *_cp38[0m, which conflicts with any installable versions previously reported; + [31mscikit-misc [0.1.3|0.1.4][0m would require + [31mpython_abi 3.9.* *_cp39[0m, which conflicts with any installable versions previously reported; + [31mscikit-misc 0.1.4[0m would require + [31mpython_abi 3.10.* *_cp310[0m, which conflicts with any installable versions previously reported; + [31mscikit-misc 0.1.4[0m would require + [31mpython_abi 3.11.* *_cp311[0m, which conflicts with any installable versions previously reported; + [31mscikit-misc 0.1.4[0m would require + [31mpython_abi 3.8 *_pypy38_pp73[0m, which conflicts with any installable versions previously reported; + [31mscikit-misc 0.1.4[0m would require + [31mpython_abi 3.9 *_pypy39_pp73[0m, which conflicts with any installable versions previously reported. + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2409, in build + create_build_envs(top_level_pkg, notest) + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2247, in create_build_envs + raise e + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2220, in create_build_envs + environ.get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("scikit-misc==0.1.4=py310h19f2f35_1"), MatchSpec("python_abi=3.10[build=*_cp310]")} + Encountered problems while solving: + - package scikit-misc-0.1.4-py310h19f2f35_1 requires python_abi 3.10.* *_cp310, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + [32mpython_abi 3.12.* *_cp312[0m is requested and can be installed; + [31mscikit-misc[0m is not installable because there are no viable options + [31mscikit-misc 0.1.3[0m would require + [31mpython_abi 3.6 *_pypy36_pp73[0m, which conflicts with any installable versions previously reported; + [31mscikit-misc 0.1.3[0m would require + [31mpython_abi 3.6.* *_cp36m[0m, which conflicts with any installable versions previously reported; + [31mscikit-misc [0.1.3|0.1.4][0m would require + [31mpython_abi 3.7.* *_cp37m[0m, which conflicts with any installable versions previously reported; + [31mscikit-misc [0.1.3|0.1.4][0m would require + [31mpython_abi 3.7 *_pypy37_pp73[0m, which conflicts with any installable versions previously reported; + [31mscikit-misc [0.1.3|0.1.4][0m would require + [31mpython_abi 3.8.* *_cp38[0m, which conflicts with any installable versions previously reported; + [31mscikit-misc [0.1.3|0.1.4][0m would require + [31mpython_abi 3.9.* *_cp39[0m, which conflicts with any installable versions previously reported; + [31mscikit-misc 0.1.4[0m would require + [31mpython_abi 3.10.* *_cp310[0m, which conflicts with any installable versions previously reported; + [31mscikit-misc 0.1.4[0m would require + [31mpython_abi 3.11.* *_cp311[0m, which conflicts with any installable versions previously reported; + [31mscikit-misc 0.1.4[0m would require + [31mpython_abi 3.8 *_pypy38_pp73[0m, which conflicts with any installable versions previously reported; + [31mscikit-misc 0.1.4[0m would require + [31mpython_abi 3.9 *_pypy39_pp73[0m, which conflicts with any installable versions previously reported. +# Last 100 lines of the build log. diff --git a/recipes/pegasuspy/build_failure.osx-64.yaml b/recipes/pegasuspy/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..16bd265017802 --- /dev/null +++ b/recipes/pegasuspy/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 05082896c9d683a434792cca2bd6d16d300fc5b53d6394f597ea86b8740add13 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {MatchSpec("python_abi=3.10[build=*_cp310]"), MatchSpec("scikit-misc==0.1.4=py310h50c80d6_2")} + Encountered problems while solving: + - package scikit-misc-0.1.4-py310h50c80d6_2 requires python_abi 3.10.* *_cp310, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + python_abi 3.12.* *_cp312 is requested and can be installed; + scikit-misc is not installable because there are no viable options + scikit-misc 0.1.3 would require + python_abi 3.6 *_pypy36_pp73, which conflicts with any installable versions previously reported; + scikit-misc 0.1.3 would require + python_abi 3.6.* *_cp36m, which conflicts with any installable versions previously reported; + scikit-misc [0.1.3|0.1.4] would require + python_abi 3.7 *_pypy37_pp73, which conflicts with any installable versions previously reported; + scikit-misc [0.1.3|0.1.4] would require + python_abi 3.7.* *_cp37m, which conflicts with any installable versions previously reported; + scikit-misc [0.1.3|0.1.4] would require + python_abi 3.8.* *_cp38, which conflicts with any installable versions previously reported; + scikit-misc [0.1.3|0.1.4] would require + python_abi 3.9.* *_cp39, which conflicts with any installable versions previously reported; + scikit-misc 0.1.4 would require + python_abi 3.10.* *_cp310, which conflicts with any installable versions previously reported; + scikit-misc 0.1.4 would require + python_abi 3.11.* *_cp311, which conflicts with any installable versions previously reported; + scikit-misc 0.1.4 would require + python_abi 3.8 *_pypy38_pp73, which conflicts with any installable versions previously reported; + scikit-misc 0.1.4 would require + python_abi 3.9 *_pypy39_pp73, which conflicts with any installable versions previously reported. + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2409, in build + create_build_envs(top_level_pkg, notest) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2247, in create_build_envs + raise e + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2220, in create_build_envs + environ.get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {MatchSpec("python_abi=3.10[build=*_cp310]"), MatchSpec("scikit-misc==0.1.4=py310h50c80d6_2")} + Encountered problems while solving: + - package scikit-misc-0.1.4-py310h50c80d6_2 requires python_abi 3.10.* *_cp310, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + python_abi 3.12.* *_cp312 is requested and can be installed; + scikit-misc is not installable because there are no viable options + scikit-misc 0.1.3 would require + python_abi 3.6 *_pypy36_pp73, which conflicts with any installable versions previously reported; + scikit-misc 0.1.3 would require + python_abi 3.6.* *_cp36m, which conflicts with any installable versions previously reported; + scikit-misc [0.1.3|0.1.4] would require + python_abi 3.7 *_pypy37_pp73, which conflicts with any installable versions previously reported; + scikit-misc [0.1.3|0.1.4] would require + python_abi 3.7.* *_cp37m, which conflicts with any installable versions previously reported; + scikit-misc [0.1.3|0.1.4] would require + python_abi 3.8.* *_cp38, which conflicts with any installable versions previously reported; + scikit-misc [0.1.3|0.1.4] would require + python_abi 3.9.* *_cp39, which conflicts with any installable versions previously reported; + scikit-misc 0.1.4 would require + python_abi 3.10.* *_cp310, which conflicts with any installable versions previously reported; + scikit-misc 0.1.4 would require + python_abi 3.11.* *_cp311, which conflicts with any installable versions previously reported; + scikit-misc 0.1.4 would require + python_abi 3.8 *_pypy38_pp73, which conflicts with any installable versions previously reported; + scikit-misc 0.1.4 would require + python_abi 3.9 *_pypy39_pp73, which conflicts with any installable versions previously reported. +# Last 100 lines of the build log. diff --git a/recipes/pegasuspy/meta.yaml b/recipes/pegasuspy/meta.yaml index 9b3e42df1b209..ea0692f76604c 100644 --- a/recipes/pegasuspy/meta.yaml +++ b/recipes/pegasuspy/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pegasuspy" %} -{% set version = "1.8.1" %} +{% set version = "1.10.0" %} package: name: {{ name|lower }} @@ -7,17 +7,16 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 3897e1048d6ce3547028c0e4220fea7145573e6f62805918c7f7002f683f4105 + sha256: 1419cdb4da138402190912bceba427f99f5fb9949731ddd8706109924c6ee4c2 build: - number: 0 - skip: True # [py<37] + number: 2 entry_points: - pegasus = pegasus.__main__:main - run_exports: - - {{ pin_subpackage(name, max_pin='x') }} script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv" + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: build: @@ -35,8 +34,7 @@ requirements: - loompy >=3 - docopt - scipy >=1.7 - - importlib_metadata >=0.7 - - pegasusio >=0.5.1 + - pegasusio >=0.9.1 - psutil - threadpoolctl - adjusttext @@ -47,19 +45,20 @@ requirements: - lightgbm >=2.2.1 - louvain >=0.7.0 - leidenalg >=0.8.0 - - matplotlib-base >=2.0.0 + - matplotlib-base >=3.7.0 - natsort - numba - pybind11 - python-igraph >=0.8.0 - scikit-learn >=0.23.2 - scikit-misc - - seaborn + - seaborn >=0.13.0 - statsmodels - pyfit-sne >=1.1.1 - umap-learn >=0.5.2 - xlsxwriter - wordcloud + - forceatlas2-python # brought in by numba, trying to ensure it comes from conda-forge rather than defaults - tbb diff --git a/recipes/pegs/meta.yaml b/recipes/pegs/meta.yaml index 4b6a293b1df68..7aad68b4c5830 100644 --- a/recipes/pegs/meta.yaml +++ b/recipes/pegs/meta.yaml @@ -1,21 +1,23 @@ {% set name = "pegs" %} -{% set version = "0.6.5" %} +{% set version = "0.6.6" %} package: - name: "{{ name|lower }}" + name: "{{ name|lower }}" version: "{{ version }}" source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 33bbb01db501edba4081bb0970297f9abfd130623e5a11e821bb0369ee1f978c + sha256: b19059cb2de25ec3c9cbeafb333ffbac417fcd28ccf64680e7bb42ecacb4d467 build: number: 0 entry_points: - pegs = pegs.cli:pegs - mk_pegs_intervals = pegs.cli:mk_pegs_intervals - script: "{{ PYTHON }} -m pip install . -vv" - noarch: python + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + noarch: python + run_exports: + - {{ pin_subpackage('pegs', max_pin="x.x") }} requirements: host: @@ -42,7 +44,7 @@ test: about: home: "https://github.com/fls-bioinformatics-core/pegs" - license: BSD + license: BSD-3-Clause license_family: BSD license_file: LICENSE summary: "Peak-set Enrichment of Gene-Sets (PEGS)" diff --git a/recipes/peka/meta.yaml b/recipes/peka/meta.yaml index b4b7a6adf5e1f..7e59f23423422 100644 --- a/recipes/peka/meta.yaml +++ b/recipes/peka/meta.yaml @@ -1,5 +1,5 @@ {% set name = "PEKA" %} -{% set version = "1.0.0" %} +{% set version = "1.0.2" %} package: name: "{{ name|lower }}" @@ -7,30 +7,32 @@ package: source: url: "https://github.com/ulelab/peka/archive/refs/tags/v{{ version }}.tar.gz" - sha256: b6e2dffcbb762cc0806025334fbd31f11fa7183aa5896d0630aa08f1c9b7dba5 + sha256: 1742af7941be04b960e5153ef1eccf40781f72bf9d2a9063a97b54f27b76b01f build: number: 0 entry_points: - peka = peka:main - script: "{{ PYTHON }} -m pip install . -vv --ignore-installed --no-deps" + script: "{{ PYTHON }} -m pip install . -vvv --no-build-isolation --no-deps" noarch: python + run_exports: + - {{ pin_subpackage('peka', max_pin="x") }} requirements: host: - pip - - python==3.7 + - python >=3.7 run: - - python==3.7 - - matplotlib-base==3.1.2 - - numpy==1.17.4 - - pybedtools==0.8.0 - - scipy==1.6.2 - - seaborn==0.9.0 - - plumbum==1.6.8 - - scikit-learn==0.21.3 - - pandas==0.24.2 - - textdistance==4.1.3 + - python >=3.7 + - matplotlib-base + - {{ pin_compatible('numpy') }} + - pybedtools + - scipy + - seaborn + - plumbum + - scikit-learn + - pandas + - textdistance test: commands: @@ -38,12 +40,16 @@ test: about: home: "https://github.com/ulelab/peka" - license: GPL-3.0 + license: GPL-3.0-or-later + license_family: GPL3 license_file: LICENSE summary: "Analysis of kmers located around locations of interest" + dev_url: "https://github.com/ulelab/peka" extra: recipe-maintainers: - marc-jones - codeprimate123 - kkuret + identifiers: + - doi:10.1186/s13059-022-02755-2 diff --git a/recipes/pepnovo/.gitattributes b/recipes/pepnovo/.gitattributes new file mode 100644 index 0000000000000..b2514153599d1 --- /dev/null +++ b/recipes/pepnovo/.gitattributes @@ -0,0 +1,2 @@ +# the file contains both CRLF and LF line endings. Tell Git to not touch it +0002-fix-float-positive-infinity.patch binary diff --git a/recipes/pepnovo/0002-fix-float-positive-infinity.patch b/recipes/pepnovo/0002-fix-float-positive-infinity.patch new file mode 100644 index 0000000000000..59818d4d946be --- /dev/null +++ b/recipes/pepnovo/0002-fix-float-positive-infinity.patch @@ -0,0 +1,29 @@ +--- src/CumulativeSeqProb.h.orig 2024-10-07 12:43:16.904000000 +0000 ++++ src/CumulativeSeqProb.h 2024-10-07 12:54:32.420000000 +0000 +@@ -1,21 +1,22 @@ + #ifndef __CUMULATIVESEQPROB_H__ + #define __CUMULATIVESEQPROB_H__ + ++#include + #include "ME_REG.h" + #include "Config.h" + #include "FileManagement.h" + + struct SeqPath; + +-const float qual_levels[] = {0.10,0.25,0.5,0.75,0.9,0.95,0.98,POS_INF}; ++const float qual_levels[] = {0.10,0.25,0.5,0.75,0.9,0.95,0.98,INFINITY}; + const int num_qual_levels = sizeof(qual_levels)/sizeof(float); + const int rank_levels[] = {0,1,2,4,8,16,32,64,128,256,POS_INF}; // at these ranks we fill the + const int num_rank_levels = sizeof(rank_levels)/sizeof(int); +-const float rank_score_levels[] = {-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,POS_INF}; ++const float rank_score_levels[] = {-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,INFINITY}; + const int num_rank_score_levels = sizeof(rank_score_levels)/sizeof(float); +-const float pnv_score_levels[] = {0,10,20,30,40,50,60,70,80,90,100,110,120,130,140,POS_INF}; ++const float pnv_score_levels[] = {0.f,10.f,20.f,30.f,40.f,50.f,60.f,70.f,80.f,90.f,100.f,110.f,120.f,130.f,140.f,INFINITY}; + const int num_pnv_score_levels = sizeof(pnv_score_levels)/sizeof(float); +-const float avg_prob_levels[] = {0.1,0.25,0.5,0.75,0.9,0.95,POS_INF}; ++const float avg_prob_levels[] = {0.1,0.25,0.5,0.75,0.9,0.95,INFINITY}; + const int num_avg_prob_levels = sizeof(avg_prob_levels)/sizeof(float); + const int special_ranks[] = {0,8,128}; // at these ranks we fill the big set of rank score and pnv score features + const int num_special_ranks = sizeof(special_ranks)/sizeof(int); diff --git a/recipes/pepnovo/build.sh b/recipes/pepnovo/build.sh index 39fc153db8187..1988d3f7261e9 100644 --- a/recipes/pepnovo/build.sh +++ b/recipes/pepnovo/build.sh @@ -1,10 +1,12 @@ #!/bin/bash +set -xe + cd src/ # Below we add -Wno-narrowing because of the compilation error: # CumulativeSeqProb.h:10:71: error: narrowing conversion of '999999999' from 'int' to 'float' inside { } [-Wnarrowing] -make CC="${CXX}" CFLAGS="${CXXFLAGS} -Wno-narrowing " LDFLAGS="${LDFLAGS}" +make -j ${CPU_COUNT} CC="${CXX}" CFLAGS="${CXXFLAGS} -Wno-narrowing -Wno-register " LDFLAGS="${LDFLAGS}" mkdir -p ${PREFIX}/bin cp PepNovo_bin ${PREFIX}/bin/pepnovo diff --git a/recipes/pepnovo/meta.yaml b/recipes/pepnovo/meta.yaml index 331467daea156..63618acce1669 100644 --- a/recipes/pepnovo/meta.yaml +++ b/recipes/pepnovo/meta.yaml @@ -7,9 +7,12 @@ source: md5: af2a863487cb53bf0e92f00d395c4f0d patches: - 0001-fix-type-error-in-ReScoreDB.cpp.patch + - 0002-fix-float-positive-infinity.patch build: - number: 3 + number: 4 + run_exports: + - {{ pin_subpackage('pepnovo', max_pin=None) }} requirements: build: @@ -28,5 +31,8 @@ about: summary: PepNovo serves as a high throughput de novo peptide sequencing tool for tandem mass spectrometry data extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - biotools:pepnovo diff --git a/recipes/pepsirf/build_failure.linux-64.yaml b/recipes/pepsirf/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..9bc1d1262b485 --- /dev/null +++ b/recipes/pepsirf/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: c54c6002551c9f3003ca168c7bd8780a7a8f97ff64865428fa65c3eeb08bcbea # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + -- Found ZLIB: $PREFIX/lib/libz.so (found version "1.2.13") + -- Found Boost: $PREFIX/lib/cmake/Boost-1.85.0/BoostConfig.cmake (found version "1.85.0") found components: program_options regex filesystem iostreams + OpenMP enabled + Gzip file manipulation enabled. + -- Configuring done (0.5s) + -- Generating done (0.0s) + -- Build files have been written to: $SRC_DIR/build + [ 1%] Building CXX object CMakeFiles/modules_zscore.dir/src/modules/zscore/module_zscore.cpp.o + [ 2%] Building CXX object CMakeFiles/modules_zscore.dir/src/modules/zscore/options_zscore.cpp.o + [ 3%] Building CXX object CMakeFiles/modules_zscore.dir/src/modules/zscore/options_parser_zscore.cpp.o + [ 5%] Building CXX object CMakeFiles/modules_zscore.dir/src/modules/bin/peptide_bin.cpp.o + [ 6%] Linking CXX static library libmodules_zscore.a + [ 6%] Built target modules_zscore + [ 7%] Building CXX object CMakeFiles/modules_bin.dir/src/modules/bin/module_bin.cpp.o + [ 8%] Building CXX object CMakeFiles/modules_bin.dir/src/modules/bin/options_bin.cpp.o + [ 10%] Building CXX object CMakeFiles/modules_bin.dir/src/modules/bin/options_parser_bin.cpp.o + [ 11%] Building CXX object CMakeFiles/modules_bin.dir/src/modules/bin/peptide_bin.cpp.o + [ 12%] Building CXX object CMakeFiles/modules_bin.dir/src/modules/bin/probe_rank.cpp.o + [ 13%] Linking CXX static library libmodules_bin.a + [ 13%] Built target modules_bin + [ 15%] Building CXX object CMakeFiles/modules_link.dir/src/modules/link/module_link.cpp.o + [ 16%] Building CXX object CMakeFiles/modules_link.dir/src/modules/link/options_link.cpp.o + [ 17%] Building CXX object CMakeFiles/modules_link.dir/src/modules/link/options_parser_link.cpp.o + [ 18%] Building CXX object CMakeFiles/modules_link.dir/src/modules/link/metadata_map.cpp.o + [ 20%] Linking CXX static library libmodules_link.a + [ 20%] Built target modules_link + [ 21%] Building CXX object CMakeFiles/modules_enrich.dir/src/modules/enrich/module_enrich.cpp.o + [ 22%] Building CXX object CMakeFiles/modules_enrich.dir/src/modules/enrich/options_enrich.cpp.o + [ 23%] Building CXX object CMakeFiles/modules_enrich.dir/src/modules/enrich/options_parser_enrich.cpp.o + [ 25%] Building CXX object CMakeFiles/modules_enrich.dir/src/modules/core/predicate.cpp.o + [ 26%] Linking CXX static library libmodules_enrich.a + [ 26%] Built target modules_enrich + [ 27%] Building CXX object CMakeFiles/modules_info.dir/src/modules/info/module_info.cpp.o + [ 28%] Building CXX object CMakeFiles/modules_info.dir/src/modules/info/options_info.cpp.o + [ 30%] Building CXX object CMakeFiles/modules_info.dir/src/modules/info/options_parser_info.cpp.o + [ 31%] Linking CXX static library libmodules_info.a + [ 31%] Built target modules_info + [ 32%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/parsers/options_parser.cpp.o + [ 33%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/options.cpp.o + [ 35%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/sequence.cpp.o + [ 36%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/file_io.cpp.o + [ 37%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/parsers/fastq_parser.cpp.o + [ 38%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/parsers/fasta_parser.cpp.o + [ 40%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/module.cpp.o + [ 41%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/sequence_indexer.cpp.o + [ 42%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/fastq_score.cpp.o + [ 43%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/fs_tools.cpp.o + [ 45%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/peptide.cpp.o + [ 46%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/module_initializer.cpp.o + [ 47%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/cli_validator.cpp.o + [ 48%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/modules.cpp.o + [ 50%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/peptide_scoring.cpp.o + [ 51%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/predicate.cpp.o + [ 52%] Linking CXX static library libpepsirf_common.a + [ 52%] Built target pepsirf_common + [ 53%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/demux/options_demux.cpp.o + [ 55%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/demux/options_parser_demux.cpp.o + [ 56%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/parsers/options_parser.cpp.o + [ 57%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/core/options.cpp.o + [ 58%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/core/file_io.cpp.o + [ 60%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/core/module.cpp.o + [ 61%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/demux/module_demux.cpp.o + [ 62%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/parsers/fasta_parser.cpp.o + [ 63%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/parsers/fastq_parser.cpp.o + [ 65%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/core/sequence.cpp.o + [ 66%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/demux/samplelist_parser.cpp.o + [ 67%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/demux/fif_parser.cpp.o + [ 68%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/demux/translation_map.cpp.o + [ 70%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/core/sequence_indexer.cpp.o + [ 71%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/core/fastq_score.cpp.o + [ 72%] Linking CXX static library libmodules_demux.a + [ 72%] Built target modules_demux + [ 73%] Building CXX object CMakeFiles/modules_deconv.dir/src/modules/deconv/options_deconv.cpp.o + [ 75%] Building CXX object CMakeFiles/modules_deconv.dir/src/modules/deconv/options_parser_deconv.cpp.o + [ 76%] Building CXX object CMakeFiles/modules_deconv.dir/src/modules/core/module.cpp.o + [ 77%] Building CXX object CMakeFiles/modules_deconv.dir/src/modules/deconv/module_deconv.cpp.o + /opt/conda/conda-bld/pepsirf_1717555086856/work/src/modules/deconv/module_deconv.cpp: In member function 'virtual void module_deconv::run(options*)': + /opt/conda/conda-bld/pepsirf_1717555086856/work/src/modules/deconv/module_deconv.cpp:66:42: error: 'directory_iterator' is not a member of 'fs_tools' + 66 | auto in_dir_iter = fs_tools::directory_iterator( input_base ); + | ^~~~~~~~~~~~~~~~~~ + make[3]: *** [CMakeFiles/modules_deconv.dir/build.make:118: CMakeFiles/modules_deconv.dir/src/modules/deconv/module_deconv.cpp.o] Error 1 + make[2]: *** [CMakeFiles/Makefile2:192: CMakeFiles/modules_deconv.dir/all] Error 2 + make[1]: *** [CMakeFiles/Makefile2:121: CMakeFiles/pepsirf.dir/rule] Error 2 + make: *** [Makefile:134: pepsirf] Error 2 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/pepsirf_1717555086856/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. diff --git a/recipes/pepsirf/build_failure.osx-64.yaml b/recipes/pepsirf/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..2daaecada136b --- /dev/null +++ b/recipes/pepsirf/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: c54c6002551c9f3003ca168c7bd8780a7a8f97ff64865428fa65c3eeb08bcbea # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pepsirf-1.6.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/pepsirf_1718294404169/work/conda_build.sh']' returned non-zero exit status 2. + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pepsirf-1.6.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pepsirf-1.6.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + -- The CXX compiler identification is Clang 16.0.6 + -- Detecting CXX compiler ABI info + -- Detecting CXX compiler ABI info - done + -- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting CXX compile features + -- Detecting CXX compile features - done + -- Found OpenMP_CXX: -fopenmp=libomp (found version "5.0") + -- Found OpenMP: TRUE (found version "5.0") + -- Found ZLIB: $PREFIX/lib/libz.dylib (found version "1.2.13") + -- Found Boost: $PREFIX/lib/cmake/Boost-1.85.0/BoostConfig.cmake (found version "1.85.0") found components: program_options regex filesystem iostreams + -- Configuring done (2.2s) + -- Generating done (0.1s) + -- Build files have been written to: $SRC_DIR/build + [ 1%] Building CXX object CMakeFiles/modules_info.dir/src/modules/info/module_info.cpp.o + [ 2%] Building CXX object CMakeFiles/modules_info.dir/src/modules/info/options_info.cpp.o + [ 3%] Building CXX object CMakeFiles/modules_info.dir/src/modules/info/options_parser_info.cpp.o + [ 5%] Linking CXX static library libmodules_info.a + [ 5%] Built target modules_info + [ 6%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/parsers/options_parser.cpp.o + [ 7%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/options.cpp.o + [ 8%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/sequence.cpp.o + [ 10%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/file_io.cpp.o + [ 11%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/parsers/fastq_parser.cpp.o + [ 12%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/parsers/fasta_parser.cpp.o + [ 13%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/module.cpp.o + [ 15%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/sequence_indexer.cpp.o + [ 16%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/fastq_score.cpp.o + [ 17%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/fs_tools.cpp.o + [ 18%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/peptide.cpp.o + [ 20%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/module_initializer.cpp.o + [ 21%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/cli_validator.cpp.o + [ 22%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/modules.cpp.o + [ 23%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/peptide_scoring.cpp.o + [ 25%] Building CXX object CMakeFiles/pepsirf_common.dir/src/modules/core/predicate.cpp.o + [ 26%] Linking CXX static library libpepsirf_common.a + [ 26%] Built target pepsirf_common + [ 27%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/demux/options_demux.cpp.o + [ 28%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/demux/options_parser_demux.cpp.o + [ 30%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/parsers/options_parser.cpp.o + [ 31%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/core/options.cpp.o + [ 32%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/core/file_io.cpp.o + [ 33%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/core/module.cpp.o + [ 35%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/demux/module_demux.cpp.o + [ 36%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/parsers/fasta_parser.cpp.o + [ 37%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/parsers/fastq_parser.cpp.o + [ 38%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/core/sequence.cpp.o + [ 40%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/demux/samplelist_parser.cpp.o + [ 41%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/demux/fif_parser.cpp.o + [ 42%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/demux/translation_map.cpp.o + [ 43%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/core/sequence_indexer.cpp.o + [ 45%] Building CXX object CMakeFiles/modules_demux.dir/src/modules/core/fastq_score.cpp.o + [ 46%] Linking CXX static library libmodules_demux.a + [ 46%] Built target modules_demux + [ 47%] Building CXX object CMakeFiles/modules_deconv.dir/src/modules/deconv/options_deconv.cpp.o + [ 48%] Building CXX object CMakeFiles/modules_deconv.dir/src/modules/deconv/options_parser_deconv.cpp.o + [ 50%] Building CXX object CMakeFiles/modules_deconv.dir/src/modules/core/module.cpp.o + [ 51%] Building CXX object CMakeFiles/modules_deconv.dir/src/modules/deconv/module_deconv.cpp.o +# Last 100 lines of the build log. diff --git a/recipes/pepsirf/meta.yaml b/recipes/pepsirf/meta.yaml index 44daea2b41287..1b31fc0088a59 100644 --- a/recipes/pepsirf/meta.yaml +++ b/recipes/pepsirf/meta.yaml @@ -10,7 +10,7 @@ source: sha256: {{ sha256 }} build: - number: 2 + number: 3 requirements: build: diff --git a/recipes/peptide-shaker/build.sh b/recipes/peptide-shaker/build.sh index 4d2ef3d438b11..411d3b911025a 100644 --- a/recipes/peptide-shaker/build.sh +++ b/recipes/peptide-shaker/build.sh @@ -4,9 +4,9 @@ set -eu -o pipefail outdir=$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM mkdir -p $outdir mkdir -p $PREFIX/bin -cp -R * $outdir/ -cp $RECIPE_DIR/peptide-shaker.py $outdir/peptide-shaker -ln -s $outdir/peptide-shaker $PREFIX/bin +cp -Rf * $outdir/ +cp -f $RECIPE_DIR/peptide-shaker.py $outdir/peptide-shaker +ln -sf $outdir/peptide-shaker $PREFIX/bin chmod 0755 "${PREFIX}/bin/peptide-shaker" ls $outdir/resources chmod -R a+rw $outdir/resources/ diff --git a/recipes/peptide-shaker/meta.yaml b/recipes/peptide-shaker/meta.yaml index 31071e2cc8831..66ede8a61bc99 100644 --- a/recipes/peptide-shaker/meta.yaml +++ b/recipes/peptide-shaker/meta.yaml @@ -1,7 +1,7 @@ # Do not forget to update the version string in the peptide-shaker.py file {% set name = "PeptideShaker" %} -{% set version = "3.0.1" %} -{% set sha256 = "3f3f34c9b3f5640e39dbb5b4fd83549701353d0c2884c6742c5e40b54ba859f3"%} +{% set version = "3.0.11" %} +{% set sha256 = "8893de0b068b3adc0c45b1139374a08ecbd8661e1fa087e5aec950d1091e2dec" %} package: name: peptide-shaker @@ -10,7 +10,7 @@ package: build: number: 0 noarch: generic - # Due to backend changes in v3.0.0, older PeptideShaker projects can not be opened in this new version. + # Due to backend changes in v3.0.0, older PeptideShaker projects can not be opened in newer versions (v3.0.0+). run_exports: - {{ pin_subpackage('peptide-shaker', max_pin="x.x") }} @@ -31,14 +31,15 @@ test: about: home: "https://compomics.github.io/projects/peptide-shaker.html" dev_url: "https://github.com/compomics/peptide-shaker" - license: Apache License 2.0 + license: "Apache-2.0" license_family: APACHE - summary: Independent platform for interpretation of proteomics identification results + summary: "Independent platform for interpretation of proteomics identification results." description: PeptideShaker is a search engine independent platform for interpretation of proteomics identification results from multiple search engines, currently supporting X!Tandem, MS-GF+, Metamorpheus, MS Amanda, OMSSA, MyriMatch, Comet, Tide, Mascot, Andromeda and mzIdentML. By combining the results from multiple search engines, while re-calculating PTM localization scores and redoing the protein inference, PeptideShaker attempts to give you the best possible understanding of your proteomics data! + doc_url: "https://github.com/compomics/peptide-shaker/blob/master/README.md" extra: notes: diff --git a/recipes/peptide-shaker/peptide-shaker.py b/recipes/peptide-shaker/peptide-shaker.py index ddca31961a444..4860d508ad6e0 100755 --- a/recipes/peptide-shaker/peptide-shaker.py +++ b/recipes/peptide-shaker/peptide-shaker.py @@ -14,7 +14,7 @@ from os import getenv from os import X_OK -jar_file = 'PeptideShaker-3.0.1.jar' +jar_file = 'PeptideShaker-3.0.11.jar' default_jvm_mem_opts = ['-Xms2g', '-Xmx4g'] diff --git a/recipes/peptides/meta.yaml b/recipes/peptides/meta.yaml index f9c435c64005c..b07809680fac3 100644 --- a/recipes/peptides/meta.yaml +++ b/recipes/peptides/meta.yaml @@ -1,5 +1,5 @@ {% set name = "peptides" %} -{% set version = "0.3.1" %} +{% set version = "0.3.4" %} package: name: "{{ name }}" @@ -7,18 +7,20 @@ package: source: url: https://pypi.org/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: d813fdfa74cb3d9087420d9e9c12faa35366ad1cd37ab4fb57236da8f7dd1776 + sha256: e4cd95c7aec68a1876d85bd544478d2d0106e1d884b515c861979dbe00e14a39 build: number: 0 noarch: python script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vvv " + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: host: - python - pip - - setuptools >=39.2 + - setuptools >=46.4 - wheel >=0.30 - astor >=0.6 run: diff --git a/recipes/perbase/meta.yaml b/recipes/perbase/meta.yaml index dde88d675f88f..ac6865b1435ff 100644 --- a/recipes/perbase/meta.yaml +++ b/recipes/perbase/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.9.0" %} -{% set sha256 = "8f3c4ef2475241e06636c9e2790da5258aac69722d6fbc8592b33a6bfeb49ddb" %} +{% set version = "0.10.0" %} +{% set sha256 = "357d2b24cf06875e177f9aa5165286709aec91ce84bef13602ae4c26274160f4" %} package: name: perbase @@ -8,16 +8,20 @@ package: source: url: https://github.com/sstadick/perbase/archive/v{{ version }}.tar.gz sha256: {{ sha256 }} + patches: + - perbase-aarch64.patch build: number: 0 + run_exports: + - {{ pin_subpackage('perbase', max_pin="x.x") }} requirements: build: - - rust >=1.42 - clangdev - {{ compiler('c') }} - {{ compiler('cxx') }} + - {{ compiler('rust') }} - pkg-config - make - cmake @@ -45,3 +49,8 @@ about: license_family: MIT license_file: LICENSE summary: Per-base metrics on BAM/CRAM files. + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/perbase/perbase-aarch64.patch b/recipes/perbase/perbase-aarch64.patch new file mode 100644 index 0000000000000..c3caa67347100 --- /dev/null +++ b/recipes/perbase/perbase-aarch64.patch @@ -0,0 +1,13 @@ +diff --git i/Cargo.toml w/Cargo.toml +index fe8a26b..1a9f5c4 100644 +--- i/Cargo.toml ++++ w/Cargo.toml +@@ -39,7 +39,7 @@ lru_time_cache = "0.11.1" + num_cpus = "1.13.0" + rayon = "1.4.0" + #TODO add features = ["libdeflate"] when https://github.com/rust-bio/rust-htslib/pull/341 is merged +-rust-htslib = {version = "0.38"} ++rust-htslib = {version = "0.47.0"} + rust-lapper = "1.0" + serde = { version = "1.0.116", features = ["derive"] } + smartstring = { version = "0.2.4", features = ["serde"] } diff --git a/recipes/percolator/build.sh b/recipes/percolator/build.sh index cd53d08f3084b..433b421c79df6 100644 --- a/recipes/percolator/build.sh +++ b/recipes/percolator/build.sh @@ -1,20 +1,30 @@ #!/bin/bash -mkdir percobuild && cd percobuild -cmake -DTARGET_ARCH=x86_64 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PREFIX -DXML_SUPPORT=ON -DCMAKE_PREFIX_PATH="$PREFIX;$PREFIX/lib" -DCMAKE_CXX_FLAGS="-std=c++14" $SRC_DIR -make && make install -cd .. +export INCLUDES="-I{PREFIX}/include" +export LIBPATH="-L${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" + +cmake -S . -B percobuild \ + -DTARGET_ARCH=x86_64 -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX="$PREFIX" -DXML_SUPPORT=ON \ + -DCMAKE_PREFIX_PATH="$PREFIX;$PREFIX/lib" -DCMAKE_CXX_COMPILER="${CXX}" \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS} -std=c++14 -O3 -I{PREFIX}/include" +cmake --build percobuild/ --target install -j ${CPU_COUNT} -v # First make sure we dont get problems with truncated PREFIX due to null terminators: # see percolator/percolator#251 and conda/conda-build#1674 -sed -i '54s/WRITABLE_DIR/std::string(WRITABLE_DIR).c_str()/' $SRC_DIR/src/Globals.cpp -mkdir converterbuild && cd converterbuild -cmake -DTARGET_ARCH=x86_64 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$PREFIX" -DBOOST_ROOT=$PREFIX -DBOOST_LIBRARYDIR=$PREFIX/lib -DSERIALIZE="Boost" -DCMAKE_CXX_FLAGS="-std=c++11" -DCMAKE_PREFIX_PATH="$PREFIX" $SRC_DIR/src/converters -make install -cd .. +sed -i.bak '54s/WRITABLE_DIR/std::string(WRITABLE_DIR).c_str()/' $SRC_DIR/src/Globals.cpp + +cmake -S ${SRC_DIR}/src/converters -B converterbuild \ + -DTARGET_ARCH=x86_64 -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX="$PREFIX" -DBOOST_ROOT="$PREFIX" \ + -DBOOST_LIBRARYDIR="$PREFIX/lib" -DSERIALIZE="Boost" \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS} -std=c++14 -O3 -I{PREFIX}/include" \ + -DCMAKE_PREFIX_PATH="$PREFIX" -DCMAKE_CXX_COMPILER="${CXX}" +cmake --build converterbuild/ --target install -j ${CPU_COUNT} -v -mkdir $PREFIX/testdata -cp $SRC_DIR/src/converters/data/converters/sqt2pin/target.sqt $PREFIX/testdata/target.sqt -cp $SRC_DIR/src/converters/data/converters/msgf2pin/target.mzid $PREFIX/testdata/target.mzid -cp $SRC_DIR/src/converters/data/converters/tandem2pin/target.t.xml $PREFIX/testdata/target.t.xml -cp $SRC_DIR/data/percolator/tab/percolatorTab $PREFIX/testdata/percolatorTab +mkdir -p $PREFIX/testdata +cp -f $SRC_DIR/src/converters/data/converters/sqt2pin/target.sqt $PREFIX/testdata/target.sqt +cp -f $SRC_DIR/src/converters/data/converters/msgf2pin/target.mzid $PREFIX/testdata/target.mzid +cp -f $SRC_DIR/src/converters/data/converters/tandem2pin/target.t.xml $PREFIX/testdata/target.t.xml +cp -f $SRC_DIR/data/percolator/tab/percolatorTab $PREFIX/testdata/percolatorTab diff --git a/recipes/percolator/meta.yaml b/recipes/percolator/meta.yaml index 20731e041f8b0..263639be02075 100644 --- a/recipes/percolator/meta.yaml +++ b/recipes/percolator/meta.yaml @@ -1,17 +1,19 @@ {% set name = "percolator" %} -{% set version = "3.5" %} +{% set version = "3.7.1" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://github.com/percolator/percolator/archive/rel-3-05.tar.gz - sha256: 5b746bdc0119a40f96bc090e02e27670f91eeb341736911750b170da7e5c06bb + url: https://github.com/percolator/percolator/archive/refs/tags/rel-3-07-01.tar.gz + sha256: f1c9833063cb4e99c51a632efc3f80c6b8f48a43fd440ea3eb0968af5c84b97a build: - number: 2 - skip: True # [osx] + number: 0 + skip: True # [osx] + run_exports: + - {{ pin_subpackage('percolator', max_pin="x") }} requirements: build: @@ -19,7 +21,7 @@ requirements: - {{ compiler('cxx') }} - cmake host: - - boost + - boost-cpp 1.71 # last version to have static libs - sqlite - bzip2 - xerces-c @@ -31,20 +33,24 @@ requirements: test: commands: - - sqt2pin -o testsqt.txt $PREFIX/testdata/target.sqt $PREFIX/testdata/target.sqt - - tandem2pin -o testtandem.txt $PREFIX/testdata/target.t.xml $PREFIX/testdata/target.t.xml - - msgf2pin -o testmzid.txt $PREFIX/testdata/target.mzid $PREFIX/testdata/target.mzid + #- sqt2pin -o testsqt.txt $PREFIX/testdata/target.sqt $PREFIX/testdata/target.sqt + #- tandem2pin -o testtandem.txt $PREFIX/testdata/target.t.xml $PREFIX/testdata/target.t.xml + #- msgf2pin -o testmzid.txt $PREFIX/testdata/target.mzid $PREFIX/testdata/target.mzid - percolator -X test.xml $PREFIX/testdata/percolatorTab about: - home: https://github.com/percolator/percolator - license: Apache 2.0 - license_file: license.txt - summary: Semi-supervised learning for peptide identification from shotgun proteomics datasets + home: "https://github.com/percolator/percolator" + license: Apache-2.0 + license_family: APACHE + license_file: "license.txt" + summary: "Semi-supervised learning for peptide identification from shotgun proteomics datasets." + dev_url: "https://github.com/percolator/percolator" + doc_url: "http://percolator.ms" extra: container: - extended-base: true # Add UTF-8 for percolator converters + extended-base: True # Add UTF-8 for percolator converters identifiers: - biotools:Percolator - doi:10.1007/s13361-016-1460-7 + - usegalaxy-eu:percolator diff --git a/recipes/perl-algorithm-cluster/meta.yaml b/recipes/perl-algorithm-cluster/meta.yaml index 67a3e26b0738d..b774eb2cfaf6f 100644 --- a/recipes/perl-algorithm-cluster/meta.yaml +++ b/recipes/perl-algorithm-cluster/meta.yaml @@ -10,7 +10,9 @@ source: sha256: {{ sha256 }} build: - number: 3 + number: 4 + run_exports: + - {{ pin_subpackage('perl-algorithm-cluster', max_pin="x") }} requirements: build: @@ -34,3 +36,6 @@ about: license: unknown summary: 'Perl interface to the C Clustering Library' +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/perl-atlas-modules/build_failure.linux-64.yaml b/recipes/perl-atlas-modules/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..6a562a0e486a5 --- /dev/null +++ b/recipes/perl-atlas-modules/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: fbbddbc9b5477eea9891e34c0add98b8af971b311e362fdb1764571f62646076 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("perl-xml-sax-expat"), MatchSpec("perl-xml-simple==2.22=0"), MatchSpec("perl-dbi==1.641=pl526_2")} + Encountered problems while solving: + - package perl-dbi-1.641-pl526_2 is excluded by strict repo priority + - package perl-xml-simple-2.22-0 requires perl-xml-sax-expat, but none of the providers can be installed + + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("perl-xml-sax-expat"), MatchSpec("perl-xml-simple==2.22=0"), MatchSpec("perl-dbi==1.641=pl526_2")} + Encountered problems while solving: + - package perl-dbi-1.641-pl526_2 is excluded by strict repo priority + - package perl-xml-simple-2.22-0 requires perl-xml-sax-expat, but none of the providers can be installed + + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2308, in build + output_metas = expand_outputs([(m, need_source_download, need_reparse_in_env)]) + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 916, in expand_outputs + for output_dict, m in deepcopy(_m).get_output_metadata_set( + File "/opt/conda/lib/python3.10/site-packages/conda_build/metadata.py", line 2737, in get_output_metadata_set + conda_packages = finalize_outputs_pass( + File "/opt/conda/lib/python3.10/site-packages/conda_build/metadata.py", line 1095, in finalize_outputs_pass + fm = finalize_metadata( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 650, in finalize_metadata + build_unsat, host_unsat = add_upstream_pins( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 491, in add_upstream_pins + host_deps, host_unsat, extra_run_specs_from_host = _read_upstream_pin_files( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 444, in _read_upstream_pin_files + deps, precs, unsat = get_env_dependencies( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 156, in get_env_dependencies + precs = environ.get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("perl-xml-sax-expat"), MatchSpec("perl-xml-simple==2.22=0"), MatchSpec("perl-dbi==1.641=pl526_2")} + Encountered problems while solving: + - package perl-dbi-1.641-pl526_2 is excluded by strict repo priority + - package perl-xml-simple-2.22-0 requires perl-xml-sax-expat, but none of the providers can be installed +# Last 100 lines of the build log. diff --git a/recipes/perl-atlas-modules/build_failure.osx-64.yaml b/recipes/perl-atlas-modules/build_failure.osx-64.yaml index 5af1e0170200f..ae2b0e0278494 100644 --- a/recipes/perl-atlas-modules/build_failure.osx-64.yaml +++ b/recipes/perl-atlas-modules/build_failure.osx-64.yaml @@ -1,104 +1,104 @@ -recipe_sha: 3239e6199c623198fc1801dd4a291cfec2ded61d224db5a562c3ff831ba844c9 # The commit at which this recipe failed to build. +recipe_sha: fbbddbc9b5477eea9891e34c0add98b8af971b311e362fdb1764571f62646076 # The hash of the recipe's meta.yaml at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |- - Fetching http://www.cpan.org/authors/id/D/DD/DDICK/Test-MockTime-0.17.tar.gz ... OK - Configuring Test-MockTime-0.17 ... OK - Building and testing Test-MockTime-0.17 ... OK - Successfully installed Test-MockTime-0.17 - --> Working on DateTime::Format::Builder - Fetching http://www.cpan.org/authors/id/D/DR/DROLSKY/DateTime-Format-Builder-0.83.tar.gz ... OK - Configuring DateTime-Format-Builder-0.83 ... OK - Building and testing DateTime-Format-Builder-0.83 ... OK - Successfully installed DateTime-Format-Builder-0.83 - Building and testing DateTime-Format-Flexible-0.34 ... OK - Successfully installed DateTime-Format-Flexible-0.34 - Building and testing Bio-MAGETAB-1.31 ... OK - Successfully installed Bio-MAGETAB-1.31 - --> Working on Date::Parse - Fetching http://www.cpan.org/authors/id/A/AT/ATOOMIC/TimeDate-2.33.tar.gz ... OK - Configuring TimeDate-2.33 ... OK - Building and testing TimeDate-2.33 ... OK - Successfully installed TimeDate-2.33 (upgraded from 2.30) - --> Working on Test::MockObject - Fetching http://www.cpan.org/authors/id/C/CH/CHROMATIC/Test-MockObject-1.20200122.tar.gz ... OK - Configuring Test-MockObject-1.20200122 ... OK - ==> Found dependencies: UNIVERSAL::isa, UNIVERSAL::can - --> Working on UNIVERSAL::isa - Fetching http://www.cpan.org/authors/id/E/ET/ETHER/UNIVERSAL-isa-1.20171012.tar.gz ... OK - Configuring UNIVERSAL-isa-1.20171012 ... OK - Building and testing UNIVERSAL-isa-1.20171012 ... OK - Successfully installed UNIVERSAL-isa-1.20171012 - --> Working on UNIVERSAL::can - Fetching http://www.cpan.org/authors/id/C/CH/CHROMATIC/UNIVERSAL-can-1.20140328.tar.gz ... OK - Configuring UNIVERSAL-can-1.20140328 ... OK - Building and testing UNIVERSAL-can-1.20140328 ... OK - Successfully installed UNIVERSAL-can-1.20140328 - Building and testing Test-MockObject-1.20200122 ... OK - Successfully installed Test-MockObject-1.20200122 - --> Working on Text::TabularDisplay - Fetching http://www.cpan.org/authors/id/D/DA/DARREN/Text-TabularDisplay-1.38.tar.gz ... OK - Configuring Text-TabularDisplay-1.38 ... OK - Building and testing Text-TabularDisplay-1.38 ... OK - Successfully installed Text-TabularDisplay-1.38 - --> Working on TIMB/DBI-1.636.tar.gz - Fetching http://www.cpan.org/authors/id/T/TI/TIMB/DBI-1.636.tar.gz ... OK - Configuring DBI-1.636 ... OK - ! Installing TIMB/DBI-1.636.tar.gz failed. See /Users/runner/.cpanm/work/1685549955.12009/build.log for details. Retry with --force to force install it. - Building and testing DBI-1.636 ... FAIL - --> Working on MIYAGAWA/Class-Trigger-0.15.tar.gz - Fetching http://www.cpan.org/authors/id/M/MI/MIYAGAWA/Class-Trigger-0.15.tar.gz ... OK - Configuring Class-Trigger-0.15 ... OK - Building and testing Class-Trigger-0.15 ... OK - Successfully installed Class-Trigger-0.15 - --> Working on TMTM/Class-DBI-v3.0.17.tar.gz - Fetching http://www.cpan.org/authors/id/T/TM/TMTM/Class-DBI-v3.0.17.tar.gz ... OK - Configuring Class-DBI-v3.0.17 ... OK - ==> Found dependencies: Ima::DBI, UNIVERSAL::moniker - --> Working on Ima::DBI - Fetching http://www.cpan.org/authors/id/P/PE/PERRIN/Ima-DBI-0.35.tar.gz ... OK - Configuring Ima-DBI-0.35 ... OK - ==> Found dependencies: DBIx::ContextualFetch - --> Working on DBIx::ContextualFetch - Fetching http://www.cpan.org/authors/id/T/TM/TMTM/DBIx-ContextualFetch-1.03.tar.gz ... OK - Configuring DBIx-ContextualFetch-1.03 ... OK - Building and testing DBIx-ContextualFetch-1.03 ... OK - Successfully installed DBIx-ContextualFetch-1.03 - Building and testing Ima-DBI-0.35 ... OK - Successfully installed Ima-DBI-0.35 - --> Working on UNIVERSAL::moniker - Fetching http://www.cpan.org/authors/id/K/KA/KASEI/UNIVERSAL-moniker-0.08.tar.gz ... OK - Configuring UNIVERSAL-moniker-0.08 ... OK - Building and testing UNIVERSAL-moniker-0.08 ... OK - Successfully installed UNIVERSAL-moniker-0.08 - Building and testing Class-DBI-v3.0.17 ... OK - Successfully installed Class-DBI-v3.0.17 - --> Working on DETI/Proc/Proc-Daemon-0.14.tar.gz - Fetching http://www.cpan.org/authors/id/D/DE/DETI/Proc/Proc-Daemon-0.14.tar.gz ... OK - Configuring Proc-Daemon-0.14 ... OK - Building and testing Proc-Daemon-0.14 ... OK - Successfully installed Proc-Daemon-0.14 - --> Working on Proc::ProcessTable - Fetching http://www.cpan.org/authors/id/J/JW/JWB/Proc-ProcessTable-0.635.tar.gz ... OK - Configuring Proc-ProcessTable-0.635 ... OK - ! Installing Proc::ProcessTable failed. See /Users/runner/.cpanm/work/1685549955.12009/build.log for details. Retry with --force to force install it. - Building and testing Proc-ProcessTable-0.635 ... FAIL - 21 distributions installed +log: |2- + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {MatchSpec("perl-dbi==1.641=pl526_2"), MatchSpec("perl-xml-sax-expat"), MatchSpec("perl-xml-simple==2.22=0")} + Encountered problems while solving: + - package perl-dbi-1.641-pl526_2 is excluded by strict repo priority + - package perl-xml-simple-2.22-0 requires perl-xml-sax-expat, but none of the providers can be installed + + + During handling of the above exception, another exception occurred: + Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {MatchSpec("perl-dbi==1.641=pl526_2"), MatchSpec("perl-xml-sax-expat"), MatchSpec("perl-xml-simple==2.22=0")} + Encountered problems while solving: + - package perl-dbi-1.641-pl526_2 is excluded by strict repo priority + - package perl-xml-simple-2.22-0 requires perl-xml-sax-expat, but none of the providers can be installed + + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/perl-atlas-modules_1685549595549/work/conda_build.sh']' returned non-zero exit status 1. + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2308, in build + output_metas = expand_outputs([(m, need_source_download, need_reparse_in_env)]) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 916, in expand_outputs + for output_dict, m in deepcopy(_m).get_output_metadata_set( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/metadata.py", line 2737, in get_output_metadata_set + conda_packages = finalize_outputs_pass( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/metadata.py", line 1095, in finalize_outputs_pass + fm = finalize_metadata( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 650, in finalize_metadata + build_unsat, host_unsat = add_upstream_pins( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 491, in add_upstream_pins + host_deps, host_unsat, extra_run_specs_from_host = _read_upstream_pin_files( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 444, in _read_upstream_pin_files + deps, precs, unsat = get_env_dependencies( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 156, in get_env_dependencies + precs = environ.get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {MatchSpec("perl-dbi==1.641=pl526_2"), MatchSpec("perl-xml-sax-expat"), MatchSpec("perl-xml-simple==2.22=0")} + Encountered problems while solving: + - package perl-dbi-1.641-pl526_2 is excluded by strict repo priority + - package perl-xml-simple-2.22-0 requires perl-xml-sax-expat, but none of the providers can be installed # Last 100 lines of the build log. diff --git a/recipes/perl-atlas-modules/meta.yaml b/recipes/perl-atlas-modules/meta.yaml index 8927eab131ce0..626bf9dbcd503 100644 --- a/recipes/perl-atlas-modules/meta.yaml +++ b/recipes/perl-atlas-modules/meta.yaml @@ -11,7 +11,7 @@ source: # If this is a new build for the same version, increment the build # number. If you do not include this key, it defaults to 0. build: - number: 5 + number: 6 requirements: build: diff --git a/recipes/perl-bio-db-hts/build_failure.osx-64.yaml b/recipes/perl-bio-db-hts/build_failure.osx-64.yaml deleted file mode 100644 index c89ac2ad803ea..0000000000000 --- a/recipes/perl-bio-db-hts/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 2d283865eaec2775144363a91e6e66304eff6b1ef087cdd548fb929665bea06a # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - icu: 72.1-h7336db1_0 conda-forge - ld64_osx-64: 609-h8ce0179_13 conda-forge - libclang-cpp15: 15.0.7-default_hdb78580_2 conda-forge - libcxx: 16.0.4-hd57cbcb_0 conda-forge - libiconv: 1.17-hac89ed1_0 conda-forge - libllvm15: 15.0.7-he4b1e75_2 conda-forge - libxml2: 2.11.4-hd95e348_0 conda-forge - libzlib: 1.2.13-hfd90126_4 conda-forge - llvm-tools: 15.0.7-he4b1e75_2 conda-forge - openssl: 3.1.1-h8a1eda9_1 conda-forge - sigtool: 0.1.3-h88f4db0_0 conda-forge - tapi: 1100.0.11-h9ce4665_0 conda-forge - xz: 5.2.6-h775f41a_0 conda-forge - zstd: 1.5.2-hbc0c0cd_6 conda-forge - - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache - Downloading source to cache: Bio-DB-HTS-3.01_12a6bc1f57.tar.gz - Downloading https://cpan.metacpan.org/authors/id/A/AV/AVULLO/Bio-DB-HTS-3.01.tar.gz - INFO:conda_build.source:Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache - INFO:conda_build.source:Downloading source to cache: Bio-DB-HTS-3.01_12a6bc1f57.tar.gz - INFO:conda_build.source:Downloading https://cpan.metacpan.org/authors/id/A/AV/AVULLO/Bio-DB-HTS-3.01.tar.gz - Success - INFO:conda_build.source:Success - Extracting download - source tree in: /opt/mambaforge/envs/bioconda/conda-bld/perl-bio-db-hts_1685531289206/work - export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/perl-bio-db-hts_1685531289206/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol - export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/perl-bio-db-hts_1685531289206/_build_env - export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/perl-bio-db-hts_1685531289206/work - INFO: activate_clang_osx-64.sh made the following environmental changes: - AR=x86_64-apple-darwin13.4.0-ar - AS=x86_64-apple-darwin13.4.0-as - CC=x86_64-apple-darwin13.4.0-clang - CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/perl-bio-db-hts-3.01 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix - CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms - CLANG=x86_64-apple-darwin13.4.0-clang - CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin - CMAKE_PREFIX_PATH=:$PREFIX - CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 - CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 - CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 - DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/perl-bio-db-hts-3.01 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix - HOST=x86_64-apple-darwin13.4.0 - INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool - LD=x86_64-apple-darwin13.4.0-ld - LDFLAGS=-Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib - LDFLAGS_LD=-pie -headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib - LIBTOOL=x86_64-apple-darwin13.4.0-libtool - LIPO=x86_64-apple-darwin13.4.0-lipo - MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib - NM=x86_64-apple-darwin13.4.0-nm - NMEDIT=x86_64-apple-darwin13.4.0-nmedit - OBJC=x86_64-apple-darwin13.4.0-clang - OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - OTOOL=x86_64-apple-darwin13.4.0-otool - PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff - RANLIB=x86_64-apple-darwin13.4.0-ranlib - REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding - SDKROOT=/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk - SEGEDIT=x86_64-apple-darwin13.4.0-segedit - SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table - SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack - SIZE=x86_64-apple-darwin13.4.0-size - STRINGS=x86_64-apple-darwin13.4.0-strings - STRIP=x86_64-apple-darwin13.4.0-strip - _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 - ac_cv_func_malloc_0_nonnull=yes - ac_cv_func_realloc_0_nonnull=yes - build_alias=x86_64-apple-darwin13.4.0 - host_alias=x86_64-apple-darwin13.4.0 - ld: library not found for -lSystem - clang-15: error: linker command failed with exit code 1 (use -v to see invocation) - Warning: ExtUtils::CBuilder not installed or no compiler detected - Proceeding with configuration, but compilation may fail during Build - - Created MYMETA.yml and MYMETA.json - Creating new 'Build' script for 'Bio-DB-HTS' version '3.01' - Building Bio-DB-HTS - Error: no compiler detected to compile 'lib/Bio/DB/HTS.c'. Aborting - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/perl-bio-db-hts_1685531289206/work/conda_build.sh']' returned non-zero exit status 255. -# Last 100 lines of the build log. diff --git a/recipes/perl-bio-db-hts/meta.yaml b/recipes/perl-bio-db-hts/meta.yaml index eb10ca5629ea4..c6b1db9d44812 100644 --- a/recipes/perl-bio-db-hts/meta.yaml +++ b/recipes/perl-bio-db-hts/meta.yaml @@ -9,7 +9,9 @@ source: sha256: 12a6bc1f579513cac8b9167cce4e363655cc8eba26b7d9fe1170dfe95e044f42 build: - number: 8 + number: 9 + run_exports: + - {{ pin_subpackage("perl-bio-db-hts", max_pin="x") }} requirements: build: diff --git a/recipes/perl-bio-kmer/LICENSE b/recipes/perl-bio-kmer/LICENSE new file mode 100644 index 0000000000000..85d11a5a1ccef --- /dev/null +++ b/recipes/perl-bio-kmer/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 Lee Katz + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/recipes/perl-bio-kmer/meta.yaml b/recipes/perl-bio-kmer/meta.yaml new file mode 100644 index 0000000000000..d894930b001b2 --- /dev/null +++ b/recipes/perl-bio-kmer/meta.yaml @@ -0,0 +1,58 @@ +{% set version = "0.55" %} +{% set sha256 = "268745e0e4e20aad6462c3dd0958ac6a08b3b7eb43c0f326f9bb61e48f6547a0" %} + +# regex to use for Windows build hack +{% set win_patch = "s|C:\\\\strawberry\\\\c|$ENV{LIBRARY_PREFIX}\\\\mingw-w64|g" %} + +package: + name: perl-bio-kmer + version: {{ version }} + +source: + url: https://cpan.metacpan.org/authors/id/L/LS/LSKATZ/Bio-Kmer-{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage("perl-bio-kmer", max_pin="x.x") }} + # needed for linker to find some m2w64 libs + merge_build_host: True # [win] + script: + - >- + perl Makefile.PL INSTALLDIRS=vendor NO_PERLLOCAL=1 NO_PACKLIST=1 MAKE=make + && (for /r . %%f in (*Makefile) do perl -i -pe "{{ win_patch }}" %%f) # [win] + && make + && make test + && make install VERBINST=1 + +requirements: + build: + - {{ compiler('c') }} # [unix] + - m2w64-gcc # [win] + - make + host: + - perl >=5.26 + - perl-file-which + - perl-bioperl + - kmer-jellyfish >=2 + run: + - perl >=5.26 + - perl-file-which + - perl-bioperl + - kmer-jellyfish >=2 + +test: + imports: + - Bio::Kmer + +about: + home: https://metacpan.org/pod/Bio::Kmer + summary: A perl module for helping with kmer analysis. + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - lskatz + #- conda-forge/perl-packagers diff --git a/recipes/perl-biox-seq/meta.yaml b/recipes/perl-biox-seq/meta.yaml index 8abda5e2b51b4..3f0b26b9a0481 100644 --- a/recipes/perl-biox-seq/meta.yaml +++ b/recipes/perl-biox-seq/meta.yaml @@ -1,6 +1,6 @@ {% set name = "perl-biox-seq" %} -{% set version = "0.008008" %} -{% set sha256 = "a301c51f5d58c02ed4d7b1d5e2914666ebb00cc669073242f8d123a8a771a44a" %} +{% set version = "0.008009" %} +{% set sha256 = "93d45421823619317aed195f7f19c486358248d8fe79d3dea7bd91b1fc49e8f5" %} package: name: {{ name }} @@ -13,6 +13,8 @@ source: build: noarch: generic number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: host: diff --git a/recipes/perl-compress-bgzf/0.005/build.sh b/recipes/perl-compress-bgzf/0.005/build.sh deleted file mode 100644 index 34660971a24c8..0000000000000 --- a/recipes/perl-compress-bgzf/0.005/build.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -# If it has Build.PL use that, otherwise use Makefile.PL -if [ -f Build.PL ]; then - perl Build.PL - perl ./Build - perl ./Build test - # Make sure this goes in site - perl ./Build install --installdirs site -elif [ -f Makefile.PL ]; then - # Make sure this goes in site - perl Makefile.PL INSTALLDIRS=site - make - make test - make install -else - echo 'Unable to find Build.PL or Makefile.PL. You need to modify build.sh.' - exit 1 -fi -# Workaround https://github.com/conda/conda-build/issues/2824 -chmod u+w $PREFIX/bin/bgzip.pl diff --git a/recipes/perl-compress-bgzf/0.005/meta.yaml b/recipes/perl-compress-bgzf/0.005/meta.yaml deleted file mode 100644 index f1cc877c3f17f..0000000000000 --- a/recipes/perl-compress-bgzf/0.005/meta.yaml +++ /dev/null @@ -1,37 +0,0 @@ -{% set name = "perl-compress-bgzf" %} -{% set version = "0.005" %} -{% set sha256 = "1b40284f2ca965ee20ea91707c41005f978127a9bf358a233f637b286adf1f3f" %} - -package: - name: {{ name }} - version: {{ version }} - -source: - url: https://cpan.metacpan.org/authors/id/V/VO/VOLKENING/Compress-BGZF-0.005.tar.gz - sha256: {{ sha256 }} - -build: - noarch: generic - number: 1 - -requirements: - build: - - make - host: - - perl - - perl-extutils-makemaker - - perl-test-more - - run: - - perl - -test: - imports: - - Compress::BGZF - - Compress::BGZF::Reader - - Compress::BGZF::Writer - -about: - home: http://metacpan.org/pod/Compress::BGZF - license: gpl_3 - summary: 'Read/write blocked GZIP (BGZF) files' diff --git a/recipes/perl-convert-binary-c/build.sh b/recipes/perl-convert-binary-c/build.sh index acdfe24e65034..c6548a2e84767 100644 --- a/recipes/perl-convert-binary-c/build.sh +++ b/recipes/perl-convert-binary-c/build.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -xe + # If it has Build.PL use that, otherwise use Makefile.PL if [ -f Build.PL ]; then perl Build.PL @@ -10,7 +12,7 @@ if [ -f Build.PL ]; then elif [ -f Makefile.PL ]; then # Make sure this goes in site perl Makefile.PL INSTALLDIRS=site - make + make -j ${CPU_COUNT} make test make install else diff --git a/recipes/perl-convert-binary-c/build_failure.osx-64.yaml b/recipes/perl-convert-binary-c/build_failure.osx-64.yaml deleted file mode 100644 index 988d5d7e4f623..0000000000000 --- a/recipes/perl-convert-binary-c/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: b029f79f91254b89c13e5479ef25482a5d686dfd473a858727180255bcdcb8e6 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - } STMT_END - ^ - cbc/util.c:655:13: note: ')' token is here - DUMP_INDENT; - ^~~~~~~~~~~ - cbc/util.c:577:11: note: expanded from macro 'DUMP_INDENT' - } STMT_END - ^~~~~~~~ - ./ppport.h:3814:20: note: expanded from macro 'STMT_END' - # define STMT_END ) - ^ - cbc/util.c:670:11: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro] - DUMP_INDENT; - ^~~~~~~~~~~ - cbc/util.c:574:9: note: expanded from macro 'DUMP_INDENT' - STMT_START { \ - ^~~~~~~~~~ - ./ppport.h:3813:28: note: expanded from macro 'STMT_START' - # define STMT_START (void)( /* gcc supports ({ STATEMENTS; })'' */ - ^ - cbc/util.c:670:11: note: '{' token is here - DUMP_INDENT; - ^~~~~~~~~~~ - cbc/util.c:574:20: note: expanded from macro 'DUMP_INDENT' - STMT_START { \ - ^ - cbc/util.c:670:11: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro] - DUMP_INDENT; - ^~~~~~~~~~~ - cbc/util.c:577:9: note: expanded from macro 'DUMP_INDENT' - } STMT_END - ^ - cbc/util.c:670:11: note: ')' token is here - DUMP_INDENT; - ^~~~~~~~~~~ - cbc/util.c:577:11: note: expanded from macro 'DUMP_INDENT' - } STMT_END - ^~~~~~~~ - ./ppport.h:3814:20: note: expanded from macro 'STMT_END' - # define STMT_END ) - ^ - 114 warnings generated. - Compiling [x86_64-apple-darwin13.4.0-clang -O3] ctlib/bitfields.c - Compiling [x86_64-apple-darwin13.4.0-clang -O3] ctlib/byteorder.c - Compiling [x86_64-apple-darwin13.4.0-clang -O3] ctlib/cterror.c - Compiling [x86_64-apple-darwin13.4.0-clang -O3] ctlib/ctparse.c - Compiling [x86_64-apple-darwin13.4.0-clang -O3] ctlib/cttags.c - Compiling [x86_64-apple-darwin13.4.0-clang -O3] ctlib/cttype.c - Compiling [x86_64-apple-darwin13.4.0-clang -O3] ctlib/fileinfo.c - Compiling [x86_64-apple-darwin13.4.0-clang -O3] ctlib/layout.c - Compiling [x86_64-apple-darwin13.4.0-clang -O3] ctlib/y_parser.c - Compiling [x86_64-apple-darwin13.4.0-clang -O3] ctlib/y_pragma.c - Compiling [x86_64-apple-darwin13.4.0-clang -O3] ucpp/assert.c - Compiling [x86_64-apple-darwin13.4.0-clang -O3] ucpp/cpp.c - Compiling [x86_64-apple-darwin13.4.0-clang -O3] ucpp/eval.c - Compiling [x86_64-apple-darwin13.4.0-clang -O3] ucpp/lexer.c - Compiling [x86_64-apple-darwin13.4.0-clang -O3] ucpp/macro.c - Compiling [x86_64-apple-darwin13.4.0-clang -O3] ucpp/mem.c - Compiling [x86_64-apple-darwin13.4.0-clang -O3] ucpp/nhash.c - ucpp/nhash.c:464:11: warning: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype] - action(arg, pnode); - ^ - ucpp/nhash.c:466:11: warning: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype] - action(pnode); - ^ - ucpp/nhash.c:478:10: warning: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype] - action(arg, node); - ^ - ucpp/nhash.c:480:10: warning: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype] - action(node); - ^ - 4 warnings generated. - Compiling [x86_64-apple-darwin13.4.0-clang -O3] util/hash.c - Compiling [x86_64-apple-darwin13.4.0-clang -O3] util/list.c - Compiling [x86_64-apple-darwin13.4.0-clang -O3] util/memalloc.c - rm -f blib/arch/auto/Convert/Binary/C/C.bundle - x86_64-apple-darwin13.4.0-clang -Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -mmacosx-version-min=10.9 -bundle -undefined dynamic_lookup --sysroot=/Applications/Xcode_12.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -fstack-protector-strong C.o cbc/basic.o cbc/dimension.o cbc/hook.o cbc/idl.o cbc/init.o cbc/macros.o cbc/member.o cbc/object.o cbc/option.o cbc/pack.o cbc/sourcify.o cbc/tag.o cbc/type.o cbc/typeinfo.o cbc/util.o ctlib/bitfields.o ctlib/byteorder.o ctlib/cterror.o ctlib/ctparse.o ctlib/cttags.o ctlib/cttype.o ctlib/fileinfo.o ctlib/layout.o ctlib/y_parser.o ctlib/y_pragma.o ucpp/assert.o ucpp/cpp.o ucpp/eval.o ucpp/lexer.o ucpp/macro.o ucpp/mem.o ucpp/nhash.o util/hash.o util/list.o util/memalloc.o -o blib/arch/auto/Convert/Binary/C/C.bundle \ - \ - - ld: library not found for -lSystem - clang-15: error: linker command failed with exit code 1 (use -v to see invocation) - make: *** [Makefile:561: blib/arch/auto/Convert/Binary/C/C.bundle] Error 1 - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/perl-convert-binary-c_1685353575548/work/conda_build.sh']' returned non-zero exit status 2. -# Last 100 lines of the build log. diff --git a/recipes/perl-convert-binary-c/meta.yaml b/recipes/perl-convert-binary-c/meta.yaml index f4812fb74c229..94f4002d4df60 100644 --- a/recipes/perl-convert-binary-c/meta.yaml +++ b/recipes/perl-convert-binary-c/meta.yaml @@ -1,26 +1,26 @@ {% set name = "perl-convert-binary-c" %} -{% set version = "0.84" %} -{% set sha256 = "a99ce7a8e60b8c6fe1cf73f290e423bd206e8721e3588ed125eebf7c39be3fb0" %} +{% set version = "0.85" %} +{% set sha256 = "c4cf42e00ea429ae3db276755b922282b4e8e9419d0eaf094aaa24107abc50e5" %} package: name: {{ name }} version: {{ version }} source: - url: https://cpan.metacpan.org/authors/id/M/MH/MHX/Convert-Binary-C-0.84.tar.gz + url: https://cpan.metacpan.org/authors/id/M/MH/MHX/Convert-Binary-C-0.85.tar.gz sha256: {{ sha256 }} build: - number: 3 + number: 1 + run_exports: + - {{ pin_subpackage('perl-convert-binary-c', max_pin="x.x") }} requirements: build: - make - {{ compiler('cxx') }} - host: - perl - run: - perl @@ -33,3 +33,8 @@ about: home: http://search.cpan.org/~mhx/Convert-Binary-C/ license: perl_5 summary: 'Binary Data Conversion using C Types' + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/perl-datetime-locale/meta.yaml b/recipes/perl-datetime-locale/meta.yaml index 081669f5ecf71..471c43e093dce 100644 --- a/recipes/perl-datetime-locale/meta.yaml +++ b/recipes/perl-datetime-locale/meta.yaml @@ -1,17 +1,20 @@ {% set name = "perl-datetime-locale" %} -{% set version = "1.39" %} -{% set sha256 = "10c145a6c7daf7118864e97482b4ae9f94f93b9414212eee8aa30b16a8135100" %} +{% set version = "1.43" %} +{% set sha256 = "6c859c17cf274749dfc2c6aaf6bf4b492b605fabdddd23712efbbd5caf601de1" %} package: name: {{ name }} version: {{ version }} source: - url: https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/DateTime-Locale-1.39.tar.gz + url: https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/DateTime-Locale-1.43.tar.gz sha256: {{ sha256 }} build: number: 0 + run_exports: + - {{ pin_subpackage("perl-datetime-locale", max_pin="x") }} + requirements: build: - make diff --git a/recipes/perl-dbd-pg/meta.yaml b/recipes/perl-dbd-pg/meta.yaml index e731a8a39d2dc..f56c4c929513b 100644 --- a/recipes/perl-dbd-pg/meta.yaml +++ b/recipes/perl-dbd-pg/meta.yaml @@ -1,17 +1,17 @@ {% set name = "perl-dbd-pg" %} -{% set version = "3.16.0" %} -{% set sha256 = "2c31163d8bdaaf8beaef9c97b8f260432d67a534bc7b69e7265c21cb841432b8" %} +{% set version = "3.18.0" %} +{% set sha256 = "92bbe8a363040f8ce6a3f1963f128132e245861a9b4dc5a84178b42d625a7807" %} package: name: {{ name }} version: {{ version }} source: - url: https://cpan.metacpan.org/authors/id/T/TU/TURNSTEP/DBD-Pg-3.16.0.tar.gz + url: https://cpan.metacpan.org/authors/id/T/TU/TURNSTEP/DBD-Pg-3.18.0.tar.gz sha256: {{ sha256 }} build: - number: 2 + number: 0 run_exports: weak: - {{ name }} ={{ version }} diff --git a/recipes/perl-dbm-deep/meta.yaml b/recipes/perl-dbm-deep/meta.yaml index 20942cefb2d39..ed8fb49d76ffc 100644 --- a/recipes/perl-dbm-deep/meta.yaml +++ b/recipes/perl-dbm-deep/meta.yaml @@ -1,13 +1,13 @@ {% set name = "perl-dbm-deep" %} -{% set version = "2.0016" %} -{% set sha256 = "902a7c7aa0488d8d0a0e8a6cf3da0e96b4093ae471e6b772f0c6d5898e470e4d" %} +{% set version = "2.0019" %} +{% set sha256 = "5d61a5e6b4e4afc16d33e5290d5248b04a4fc4ee4c0a7dfc7fdd625968fba340" %} package: name: {{ name }} version: {{ version }} source: - url: https://cpan.metacpan.org/authors/id/S/SP/SPROUT/DBM-Deep-2.0016.tar.gz + url: https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL/DBM-Deep-2.0019.tar.gz sha256: {{ sha256 }} # If this is a new build for the same version, increment the build diff --git a/recipes/perl-digest-sha1/meta.yaml b/recipes/perl-digest-sha1/meta.yaml index ecd9d4fc4b247..bdf801fadae07 100644 --- a/recipes/perl-digest-sha1/meta.yaml +++ b/recipes/perl-digest-sha1/meta.yaml @@ -11,7 +11,9 @@ source: sha256: {{ sha256 }} build: - number: 5 + number: 7 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: build: @@ -33,3 +35,8 @@ about: home: http://metacpan.org/pod/Digest::SHA1 license: perl_5 summary: 'Perl interface to the SHA-1 algorithm' + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/perl-getopt-long/meta.yaml b/recipes/perl-getopt-long/meta.yaml index 9fe4146835d53..ca3c5a344e05f 100644 --- a/recipes/perl-getopt-long/meta.yaml +++ b/recipes/perl-getopt-long/meta.yaml @@ -1,13 +1,15 @@ package: name: perl-getopt-long - version: "2.54" + version: "2.58" source: - url: https://cpan.metacpan.org/authors/id/J/JV/JV/Getopt-Long-2.54.tar.gz - sha256: 584ba3c99bb2d6b341375212f9b874613f706cfb01cee21b8a2676a98ab985fe + url: https://cpan.metacpan.org/authors/id/J/JV/JV/Getopt-Long-2.58.tar.gz + sha256: 1305ed46ea21f794304e97aa3dcd3a38519059785e9db7415daf2c218506c569 build: noarch: generic + run_exports: + - {{ pin_subpackage('perl-getopt-long', max_pin='x') }} number: 0 requirements: diff --git a/recipes/perl-graph/meta.yaml b/recipes/perl-graph/meta.yaml index ae771f48d77ff..802d75eb81ba1 100644 --- a/recipes/perl-graph/meta.yaml +++ b/recipes/perl-graph/meta.yaml @@ -1,14 +1,16 @@ package: name: perl-graph - version: "0.9727" + version: "0.9732" source: - url: https://cpan.metacpan.org/authors/id/E/ET/ETJ/Graph-0.9727.tar.gz - sha256: 392a8916dc95131abe8c913dfcac7698484bf4866b42af5f7043c0062e742229 + url: https://cpan.metacpan.org/authors/id/E/ET/ETJ/Graph-0.9732.tar.gz + sha256: eafc9e519a04ac0a61a3eb34b6e18709411e5abde4bf1d9019c2e371aedf6c50 build: noarch: generic number: 0 + run_exports: + - {{ pin_subpackage('perl-graph', max_pin="x.x") }} requirements: build: diff --git a/recipes/perl-json-xs/meta.yaml b/recipes/perl-json-xs/meta.yaml index d9c7c94ae2741..871c1c95fef43 100644 --- a/recipes/perl-json-xs/meta.yaml +++ b/recipes/perl-json-xs/meta.yaml @@ -7,11 +7,13 @@ package: version: {{ version }} source: - url: https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN/JSON-XS-4.03.tar.gz + url: https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN/JSON-XS-{{ version }}.tar.gz sha256: {{ sha256 }} build: - number: 2 + number: 3 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: build: @@ -35,6 +37,12 @@ test: - JSON::XS about: - home: http://metacpan.org/pod/JSON::XS - license: unknown + home: https://metacpan.org/pod/JSON::XS + license_file: COPYING + license: GPL-1.0-or-later OR Artistic-1.0-Perl summary: 'JSON serialising/deserialising, done correctly and fast' + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/perl-json/meta.yaml b/recipes/perl-json/meta.yaml index e6a372b79ac77..ac61b30a6bcdd 100644 --- a/recipes/perl-json/meta.yaml +++ b/recipes/perl-json/meta.yaml @@ -1,5 +1,6 @@ {% set name = "perl-json" %} {% set version = "4.10" %} +{% set sha256 = "df8b5143d9a7de99c47b55f1a170bd1f69f711935c186a6dc0ab56dd05758e35" %} package: name: {{ name }} @@ -7,21 +8,23 @@ package: source: url: https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI/JSON-{{ version }}.tar.gz - sha256: df8b5143d9a7de99c47b55f1a170bd1f69f711935c186a6dc0ab56dd05758e35 + sha256: {{ sha256 }} build: noarch: generic - number: 0 + number: 1 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: build: - make host: - perl - - perl-json-xs <3 + - perl-json-xs run: - perl - - perl-json-xs <3 + - perl-json-xs test: # Perl 'use' tests @@ -29,6 +32,7 @@ test: - JSON about: - home: http://metacpan.org/pod/JSON - license: perl_5 + home: https://metacpan.org/pod/JSON + dev_url: https://github.com/makamaka/JSON + license: GPL-1.0-or-later OR Artistic-1.0-Perl summary: 'JSON (JavaScript Object Notation) encoder/decoder' diff --git a/recipes/perl-math-bigint/meta.yaml b/recipes/perl-math-bigint/meta.yaml index f9e6c046f450d..21a8bcd9ebc6b 100644 --- a/recipes/perl-math-bigint/meta.yaml +++ b/recipes/perl-math-bigint/meta.yaml @@ -1,6 +1,6 @@ {% set name = "perl-math-bigint" %} -{% set version = "2.001001" %} -{% set sha256 = "d9ce4697c40ac59f4b6fc3a474a69aa40f9e7ccc35eb7053d8d9aa69ac2fa9ba" %} +{% set version = "2.003003" %} +{% set sha256 = "f24804a58265b7b3d00dc3f71dc575aebcf9e0230a291028b65e7a2c41abcb1c" %} package: name: {{ name }} diff --git a/recipes/perl-mce-shared/meta.yaml b/recipes/perl-mce-shared/meta.yaml index dd8e748f08c31..94bbf9efe458b 100644 --- a/recipes/perl-mce-shared/meta.yaml +++ b/recipes/perl-mce-shared/meta.yaml @@ -1,19 +1,21 @@ {% set name = "perl-mce-shared" %} -{% set version = "1.840" %} -{% set sha256 = "55e60e4ffdc5dd5632537036121c1d18e7e64bf1558b91c50fbf671792fdd47f" %} +{% set version = "1.893" %} +{% set sha256 = "fa4c487adfb0db3c8f2b6aa274d33d8f827fa234c631bb3af3d94fa4a3c9462f" %} package: name: {{ name }} version: {{ version }} source: - url: https://cpan.metacpan.org/authors/id/M/MA/MARIOROY/MCE-Shared-1.840.tar.gz + url: https://cpan.metacpan.org/authors/id/M/MA/MARIOROY/MCE-Shared-1.893.tar.gz sha256: {{ sha256 }} build: + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} noarch: generic - number: 1 + number: 0 requirements: build: @@ -23,23 +25,23 @@ requirements: - perl-socket - perl-constant - perl-storable - - perl-mce >=1.836 + - perl-mce >=1.874 - perl-carp - perl-base - perl-time-hires - perl-extutils-makemaker - perl-test-simple - run: - perl - perl-socket - perl-constant - perl-storable - - perl-mce >=1.836 + - perl-mce >=1.874 - perl-carp - perl-base - perl-time-hires + test: imports: - MCE::Hobo diff --git a/recipes/perl-mce/meta.yaml b/recipes/perl-mce/meta.yaml index cb067c1ad821d..eb7e0cfee892a 100644 --- a/recipes/perl-mce/meta.yaml +++ b/recipes/perl-mce/meta.yaml @@ -1,16 +1,18 @@ {% set name = "perl-mce" %} -{% set version = "1.888" %} -{% set sha256 = "4ae8b9394c938df867c614391d0ece82ad00ddcd274a42b97409ccfd1a923be5" %} +{% set version = "1.900" %} +{% set sha256 = "f83132da7a993a4700464cdbf1665bab8ec8ec120beb86e607cd983d207fc935" %} package: name: {{ name }} version: {{ version }} source: - url: https://cpan.metacpan.org/authors/id/M/MA/MARIOROY/MCE-1.888.tar.gz + url: https://cpan.metacpan.org/authors/id/M/MA/MARIOROY/MCE-1.900.tar.gz sha256: {{ sha256 }} build: + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} noarch: generic number: 0 diff --git a/recipes/perl-minion/meta.yaml b/recipes/perl-minion/meta.yaml index bca6af67b1818..0dc5647826631 100644 --- a/recipes/perl-minion/meta.yaml +++ b/recipes/perl-minion/meta.yaml @@ -1,6 +1,6 @@ {% set name = "perl-minion" %} -{% set version = "10.27" %} -{% set sha256 = "c8c5c64d4b3ac8359ed78227b47992bd6ccc3496110849cef228191f895ceb54" %} +{% set version = "10.31" %} +{% set sha256 = "3068f99033e69df08145b584a91ee224f4e97dc6242e102221e8220a3f28503b" %} package: name: {{ name }} diff --git a/recipes/perl-ms/meta.yaml b/recipes/perl-ms/meta.yaml index 818495bdd9743..8a00985087dc2 100644 --- a/recipes/perl-ms/meta.yaml +++ b/recipes/perl-ms/meta.yaml @@ -1,6 +1,6 @@ {% set name = "perl-ms" %} -{% set version = "0.207002" %} -{% set sha256 = "86676202c44908eee77a7697a8ec73908707f3e5b68ba74932a375196850f1ad" %} +{% set version = "0.207003" %} +{% set sha256 = "29f1eb57200286c9e95b7f7251a3a3c7db9caf63eccdc7450467d8b77362c797" %} package: name: {{ name }} @@ -15,6 +15,8 @@ source: build: number: 0 noarch: generic + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: host: @@ -90,6 +92,6 @@ test: about: home: http://metacpan.org/pod/MS - license: gpl_3 + license: GPL-3.0-or-later license_file: LICENSE summary: 'Namespace for mass spectrometry-related libraries' diff --git a/recipes/perl-number-format/build.sh b/recipes/perl-number-format/build.sh deleted file mode 100644 index 67918fe672fe6..0000000000000 --- a/recipes/perl-number-format/build.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -# If it has Build.PL use that, otherwise use Makefile.PL -if [ -f Build.PL ]; then - perl Build.PL - perl ./Build - perl ./Build test - # Make sure this goes in site - perl ./Build install --installdirs site -elif [ -f Makefile.PL ]; then - # Make sure this goes in site - perl Makefile.PL INSTALLDIRS=site - make - make test - make install -else - echo 'Unable to find Build.PL or Makefile.PL. You need to modify build.sh.' - exit 1 -fi diff --git a/recipes/perl-number-format/meta.yaml b/recipes/perl-number-format/meta.yaml deleted file mode 100644 index 2930befeb4fea..0000000000000 --- a/recipes/perl-number-format/meta.yaml +++ /dev/null @@ -1,36 +0,0 @@ -{% set name = "perl-number-format" %} -{% set version = "1.76" %} -{% set sha256 = "0e0060eb363635a885706c6a26f5fcaafeae759f7b2acae49dda70e195dd44d6" %} - -package: - name: {{ name }} - version: {{ version }} - -source: - url: https://cpan.metacpan.org/authors/id/R/RJ/RJBS/Number-Format-1.76.tar.gz - sha256: {{ sha256 }} - -build: - noarch: generic - number: 0 - -requirements: - build: - - make - host: - - perl - - perl-carp - - perl-extutils-makemaker - - run: - - perl - - perl-carp - -test: - imports: - - Number::Format - -about: - home: http://metacpan.org/pod/Number::Format - license: perl_5 - summary: 'Perl extension for formatting numbers' diff --git a/recipes/perl-parallel-forkmanager/meta.yaml b/recipes/perl-parallel-forkmanager/meta.yaml index 538bd3c4c8a96..bba5e7ed46bfe 100644 --- a/recipes/perl-parallel-forkmanager/meta.yaml +++ b/recipes/perl-parallel-forkmanager/meta.yaml @@ -1,14 +1,16 @@ package: name: perl-parallel-forkmanager - version: "2.02" + version: "2.03" source: - url: https://cpan.metacpan.org/authors/id/Y/YA/YANICK/Parallel-ForkManager-2.02.tar.gz - sha256: c1b2970a8bb666c3de7caac4a8f4dbcc043ab819bbc337692ec7bf27adae4404 + url: https://cpan.metacpan.org/authors/id/Y/YA/YANICK/Parallel-ForkManager-2.03.tar.gz + sha256: c0e0bead458224b9ac5bb32ed2b1fa088963b565521c1bb1a6a3566d522c2e35 build: noarch: generic - number: 1 + number: 0 + run_exports: + - {{ pin_subpackage('perl-parallel-forkmanager', max_pin='x') }} requirements: build: diff --git a/recipes/perl-parallel-loops/meta.yaml b/recipes/perl-parallel-loops/meta.yaml index 99eb9562f6bb9..d87e272c6e1db 100644 --- a/recipes/perl-parallel-loops/meta.yaml +++ b/recipes/perl-parallel-loops/meta.yaml @@ -1,6 +1,6 @@ {% set name = "perl-parallel-loops" %} -{% set version = "0.10" %} -{% set sha256 = "6f967b46e7a363b16871b9991c359e142dc3b2281cfe9b1af39904704c8bd2aa" %} +{% set version = "0.12" %} +{% set sha256 = "b66c8fe2fd519873c8a7b6ad1d1a04df2026912259b5e28a41e51d9c9b154150" %} package: name: {{ name }} @@ -12,7 +12,11 @@ source: build: noarch: generic - number: 1 + number: 0 + run_exports: + weak: + - {{ name }} ={{ version }} + requirements: build: diff --git a/recipes/perl-retroseq/meta.yaml b/recipes/perl-retroseq/meta.yaml index 55a617b6ee3b6..12628a099a06f 100644 --- a/recipes/perl-retroseq/meta.yaml +++ b/recipes/perl-retroseq/meta.yaml @@ -11,22 +11,28 @@ source: build: noarch: generic - number: 1 + number: 2 run_exports: {{ pin_subpackage("perl-retroseq", max_pin="x") }} requirements: - build: + host: - perl - perl-carp - perl-exporter - perl-extutils-makemaker + - zlib + - ncurses + - samtools ==0.1.19 run: - perl - perl-carp - - samtools =0.1.16 - - exonerate + - samtools ==0.1.19 + - exonerate ==2.2.0 + - bcftools - bedtools + - zlib + - ncurses test: imports: diff --git a/recipes/perl-spreadsheet-parseexcel/meta.yaml b/recipes/perl-spreadsheet-parseexcel/meta.yaml index 44ad4db16f62c..314c856aa4f47 100644 --- a/recipes/perl-spreadsheet-parseexcel/meta.yaml +++ b/recipes/perl-spreadsheet-parseexcel/meta.yaml @@ -1,14 +1,16 @@ package: name: perl-spreadsheet-parseexcel - version: "0.65" + version: "0.66" source: - url: http://cpan.metacpan.org/authors/id/D/DO/DOUGW/Spreadsheet-ParseExcel-0.65.tar.gz - md5: 4b8857e3a391d86501c1b742b459ac9e + url: https://cpan.metacpan.org/authors/id/J/JM/JMCNAMARA/Spreadsheet-ParseExcel-0.66.tar.gz + md5: 091aa6a1be43a60f4c81b43f5afafd06 build: noarch: generic - number: 3 + number: 0 + run_exports: + - {{ pin_subpackage("perl-spreadsheet-parseexcel", max_pin="x") }} requirements: build: @@ -17,19 +19,18 @@ requirements: - perl - perl-crypt-rc4 - perl-digest-perl-md5 - - perl-io-stringy - - perl-ole-storage_lite + - perl-io-scalar - perl-jcode + - perl-ole-storage_lite - perl-spreadsheet-writeexcel - perl-unicode-map - run: - perl - perl-crypt-rc4 - perl-digest-perl-md5 - - perl-io-stringy - - perl-ole-storage_lite + - perl-io-scalar - perl-jcode + - perl-ole-storage_lite - perl-spreadsheet-writeexcel - perl-unicode-map diff --git a/recipes/perl-statistics-r/meta.yaml b/recipes/perl-statistics-r/meta.yaml index 07f59d230f869..379b358df0bf1 100644 --- a/recipes/perl-statistics-r/meta.yaml +++ b/recipes/perl-statistics-r/meta.yaml @@ -9,7 +9,7 @@ about: build: noarch: generic - number: 5 + number: 6 source: url: "http://search.cpan.org/CPAN/authors/id/F/FA/FANGLY/Statistics-R-0.34.tar.gz" diff --git a/recipes/perl-term-table/meta.yaml b/recipes/perl-term-table/meta.yaml index f2e5c6f439f5b..90c7601d8941b 100644 --- a/recipes/perl-term-table/meta.yaml +++ b/recipes/perl-term-table/meta.yaml @@ -1,18 +1,20 @@ {% set name = "perl-term-table" %} -{% set version = "0.016" %} -{% set sha256 = "8fb4fbb8e96a2d6c514949eb8cfd7e66319bcb1cbf7cea0ab19af887a72d97bf" %} +{% set version = "0.022" %} +{% set sha256 = "b9dbdacfa7362846e3c4a100081832db9da74b7356828ef9d92869c44642e0b8" %} package: name: {{ name }} version: {{ version }} source: - url: https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Term-Table-0.016.tar.gz + url: https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Term-Table-0.022.tar.gz sha256: {{ sha256 }} build: noarch: generic number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: build: diff --git a/recipes/perl-test2-suite/meta.yaml b/recipes/perl-test2-suite/meta.yaml index 450fd06d6a67b..a475d74ed75ad 100644 --- a/recipes/perl-test2-suite/meta.yaml +++ b/recipes/perl-test2-suite/meta.yaml @@ -1,13 +1,13 @@ {% set name = "perl-test2-suite" %} -{% set version = "0.000145" %} -{% set sha256 = "ed44be739c8879fe178d3107b238f2db960d52797db0058de53be5b84600358b" %} +{% set version = "0.000163" %} +{% set sha256 = "e336c2d92d43c4f0068aa0d67019d56723ab82471e1bd9028300bb6a1602c0a9" %} package: name: {{ name }} version: {{ version }} source: - url: https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Test2-Suite-0.000145.tar.gz + url: https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Test2-Suite-0.000163.tar.gz sha256: {{ sha256 }} # If this is a new build for the same version, increment the build diff --git a/recipes/perl-uri-db/meta.yaml b/recipes/perl-uri-db/meta.yaml index 08e0ce5867582..db450ccaf3c63 100644 --- a/recipes/perl-uri-db/meta.yaml +++ b/recipes/perl-uri-db/meta.yaml @@ -1,6 +1,6 @@ {% set name = "perl-uri-db" %} -{% set version = "0.21" %} -{% set sha256 = "a6433dc1517a907e189912a4c76b5dfc76332e3fd7fc8b38a137e4019c780b34" %} +{% set version = "0.22" %} +{% set sha256 = "1ff437591022b440716676526cca0a729b465f606bdd9e1d0a60561d6fdd458f" %} package: name: {{ name }} diff --git a/recipes/perl-xml-libxslt/meta.yaml b/recipes/perl-xml-libxslt/meta.yaml index 4fc09963c8539..2fa206a0fe02e 100644 --- a/recipes/perl-xml-libxslt/meta.yaml +++ b/recipes/perl-xml-libxslt/meta.yaml @@ -1,5 +1,5 @@ {% set name = "perl-xml-libxslt" %} -{% set version = "2.002001" %} +{% set version = "2.003000" %} package: name: {{ name }} @@ -7,10 +7,12 @@ package: source: url: https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/XML-LibXSLT-{{ version }}.tar.gz - sha256: df8927c4ff1949f62580d1c1e6f00f0cd56b53d3a957ee4b171b59bffa63b2c0 + sha256: 7caa5aee72f53be59d8b84eecb6864a07c612a12ea6b27d5c706960edcd54587 build: - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: build: diff --git a/recipes/pfp/meta.yaml b/recipes/pfp/meta.yaml index 0cea48bc7868f..f9f7408bd65bb 100644 --- a/recipes/pfp/meta.yaml +++ b/recipes/pfp/meta.yaml @@ -9,7 +9,7 @@ source: sha256: 66fc33d79f30d123a0465020e2c9d81b873c95ef8a7fefefc36791f04f82aa08 build: - number: 0 + number: 1 requirements: build: diff --git a/recipes/pftools/meta.yaml b/recipes/pftools/meta.yaml index 80fa3feda6c49..74d61b9b819a1 100644 --- a/recipes/pftools/meta.yaml +++ b/recipes/pftools/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 3 + number: 4 skip: True # [osx] requirements: diff --git a/recipes/pgenlib/meta.yaml b/recipes/pgenlib/meta.yaml index e90bef1332072..a5786127871dc 100644 --- a/recipes/pgenlib/meta.yaml +++ b/recipes/pgenlib/meta.yaml @@ -1,17 +1,19 @@ {% set name = "pgenlib" %} -{% set version = "0.90.1" %} +{% set version = "0.91.0" %} package: name: "{{ name|lower }}" version: "{{ version }}" source: - url: "https://pypi.io/packages/source/P/Pgenlib/Pgenlib-{{ version }}.tar.gz" - sha256: 069db673c1cc5baffcb9b20c2e6e26cc9fdaadd0095f55a188b41502d0511cb9 + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: 32992274214d2e6735b721544abfd0ae0c76906c4193120f7091065b88f68dfa build: number: 0 - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation" + run_exports: + - {{ pin_subpackage('pgenlib', max_pin="x.x") }} requirements: build: @@ -19,14 +21,13 @@ requirements: host: - python - pip - - cython - - numpy - - setuptools + - cython + - numpy >=2.0.0 # [py >= 39] + - numpy # [py < 39] - zlib run: - python - - numpy - - zlib + - numpy >=1.19.0 test: imports: @@ -34,7 +35,7 @@ test: about: home: "https://github.com/chrchang/plink-ng" - license: "GNU Lesser General Public v3 (LGPLv3)" + license: "LGPL-3.0-or-later" license_family: LGPL license_file: LICENSE summary: "Python wrapper for pgenlib's basic reader and writer." @@ -46,3 +47,6 @@ extra: - chrchang identifiers: - doi:10.1186/s13742-015-0047-8 + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/pggb/build.sh b/recipes/pggb/build.sh index e4dcc8ffa6c9f..9fd032f7e0aa0 100644 --- a/recipes/pggb/build.sh +++ b/recipes/pggb/build.sh @@ -1,9 +1,9 @@ #!/bin/bash # Write version in the script -n=$(grep '$show_version == true' ./pggb -n | cut -f 1 -d :) +n=$(grep '"$show_version" == true' ./pggb -n | cut -f 1 -d :) n=$((n-1)) -sed -i ${n}'a\if [ $show_version == true ]; then echo "pggb '$PKG_VERSION'"; exit; fi' pggb +sed -i ${n}'a\if [ "$show_version" == true ]; then echo "pggb '$PKG_VERSION'"; exit; fi' ./pggb mkdir -p $PREFIX/bin diff --git a/recipes/pggb/meta.yaml b/recipes/pggb/meta.yaml index 620a05e34db1f..5b0a82197d30a 100644 --- a/recipes/pggb/meta.yaml +++ b/recipes/pggb/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pggb" %} -{% set version = "0.5.4" %} +{% set version = "0.6.0" %} package: name: "{{ name }}" @@ -7,28 +7,29 @@ package: source: url: https://github.com/pangenome/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz - sha256: 0f45e710e3a59225ae806db3686ecc32c59859671a8f1b7052259525dc6707f3 + sha256: e201410e5b7ca7c598267797a7fa30b065a1b2b76ee5c309341a93fc489704f3 build: noarch: generic - number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} + number: 1 requirements: run: - bc - tabix - - gfaffix ==0.1.4 + - gfaffix ==0.1.5b - gsl 2.7.0 - - idna <3,>=2.5 - - multiqc ==1.14 - - odgi ==0.8.3 + - multiqc ==1.19 + - odgi ==0.8.6 - pigz - bcftools - - seqwish ==0.7.9 - - smoothxg ==0.7.0 + - seqwish ==0.7.10 + - smoothxg ==0.7.4 - time - - vg 1.40.0 - - wfmash ==0.10.3 + - vg 1.59.0 + - wfmash ==0.13.0 - python-igraph ==0.10.4 test: diff --git a/recipes/pgr-tk/meta.yaml b/recipes/pgr-tk/meta.yaml index dfdbc57d98738..335cfd50c4ac0 100644 --- a/recipes/pgr-tk/meta.yaml +++ b/recipes/pgr-tk/meta.yaml @@ -10,7 +10,7 @@ source: sha256: f7252d6ef3640f28ca8c88cb9e469fad63799e467272dcdba24fa40026635864 build: - number: 0 + number: 1 skip: True # [osx or py != 38] run_exports: - {{ pin_subpackage('pgr-tk', max_pin='x.x') }} diff --git a/recipes/pgrc/build.sh b/recipes/pgrc/build.sh new file mode 100644 index 0000000000000..b71b6c3f55249 --- /dev/null +++ b/recipes/pgrc/build.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +mkdir -p $PREFIX/bin + +export INCLUDES="-I${PREFIX}/include" +export LIBPATH="-L${PREFIX}/lib" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" + +if [[ `uname` == "Darwin" ]]; then + export CONFIG_ARGS="-DCMAKE_FIND_FRAMEWORK=NEVER -DCMAKE_FIND_APPBUNDLE=NEVER" +else + export CONFIG_ARGS="" +fi + +cmake -S . -B build -DCMAKE_INSTALL_PREFIX="${PREFIX}" \ + -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER="${CXX}" \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ + "${CONFIG_ARGS}" +cmake --build build --target PgRC -j "${CPU_COUNT}" -v + +chmod 0755 build/PgRC +cp -rf build/PgRC $PREFIX/bin diff --git a/recipes/pgrc/meta.yaml b/recipes/pgrc/meta.yaml new file mode 100644 index 0000000000000..2637fb0c8f6f5 --- /dev/null +++ b/recipes/pgrc/meta.yaml @@ -0,0 +1,49 @@ +{% set version = "2.0.1" %} +{% set date = "2024-10-04" %} +{% set sha256 = "1a963f40c4bd93433c236afb3e2053244ba3b419c313104f881e8d4d947532b9" %} + +package: + name: pgrc + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage('pgrc', max_pin="x") }} + +source: + url: https://github.com/kowallus/PgRC/archive/refs/tags/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +requirements: + build: + - {{ compiler('cxx') }} + - cmake >=3.5 + - make + host: + - llvm-openmp # [osx] + - libgomp # [linux] + run: + - llvm-openmp # [osx] + - libgomp # [linux] + +test: + commands: + - PgRC -v 2>&1 | grep -F {{ date }} + +about: + home: https://github.com/kowallus/PgRC + license: "GPL-3.0-or-later" + license_file: LICENSE + license_family: GPL3 + summary: "A tool for compressing the DNA stream of FASTQ datasets." + dev_url: https://github.com/kowallus/PgRC + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + recipe-maintainers: + - kowallus + identifiers: + - doi:10.1093/bioinformatics/btz919 diff --git a/recipes/pgscatalog-utils/meta.yaml b/recipes/pgscatalog-utils/meta.yaml new file mode 100644 index 0000000000000..9f2ccfa52bfaf --- /dev/null +++ b/recipes/pgscatalog-utils/meta.yaml @@ -0,0 +1,58 @@ +{% set name = "pgscatalog-utils" %} +{% set version = "1.4.1" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/pgscatalog_utils-{{ version }}.tar.gz + sha256: e54e67f9a372e91a7cc640528c66a9989258bc5ae61e7d6972a5b8ef4e1aa2da + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + number: 1 + run_exports: + - {{ pin_subpackage('pgscatalog-utils', max_pin='x.x') }} + +requirements: + host: + - python >=3.10,<4.0 + - poetry-core + - pip + run: + - python >=3.10.0,<4.0.0 + - pgscatalog.calc >=0.3.0,<0.4.0 + - pgscatalog.core >=0.3.1,<0.4.0 + - pgscatalog.match >=0.3.3,<0.4.0 + +test: + imports: + - pgscatalog.match + - pgscatalog.calc + - pgscatalog.core + commands: + - pip check + - pgscatalog-download --help + - pgscatalog-combine --help + - pgscatalog-match --help + - pgscatalog-matchmerge --help + - pgscatalog-relabel --help + - pgscatalog-aggregate --help + - pgscatalog-ancestry-adjust --help + requires: + - pip + +about: + home: https://github.com/PGScatalog/pygscatalog + summary: Utilities for working with PGS Catalog API and scoring files + license: Apache-2.0 + license_family: Apache + doc_url: https://pygscatalog.readthedocs.io/en/latest/ + +extra: + recipe-maintainers: + - nebfield + - smlmbrt + diff --git a/recipes/pgscatalog.calc/meta.yaml b/recipes/pgscatalog.calc/meta.yaml new file mode 100644 index 0000000000000..043cbd85b5704 --- /dev/null +++ b/recipes/pgscatalog.calc/meta.yaml @@ -0,0 +1,53 @@ +{% set name = "pgscatalog.calc" %} +{% set version = "0.3.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/pgscatalog_calc-{{ version }}.tar.gz + sha256: d5821cabb42558698ff862ec9edc5dad79863d5321db95580459f8a08c2c2c92 + +build: + entry_points: + - pgscatalog-aggregate = pgscatalog.calc.cli.aggregate_cli:run_aggregate + - pgscatalog-ancestry-adjust = pgscatalog.calc.cli.ancestry_cli:run_ancestry + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('pgscatalog.calc', max_pin="x.x") }} + +requirements: + host: + - python >=3.10 + - poetry-core + - pip + run: + - python >=3.10 + - pgscatalog.core >=0.3.0,<0.4.0 + - numpy >=1.26.4,<2.0.0 + - pandas >=2.2.0,<3.0.0 + - pyarrow >=15.0.0,<16.0.0 + - scikit-learn >=1.4.0,<2.0.0 + - scipy >=1.12.0,<2.0.0 + +test: + imports: + - pgscatalog.calc + commands: + - pip check + - pgscatalog-aggregate --help + - pgscatalog-ancestry-adjust --help + requires: + - pip + +about: + home: https://github.com/PGScatalog/pygscatalog/ + summary: Libraries and applications for working with calculated polygenic scores + license: Apache-2.0 + +extra: + recipe-maintainers: + - nebfield diff --git a/recipes/cellsnp-lite/LICENSE b/recipes/pgscatalog.core/LICENSE similarity index 100% rename from recipes/cellsnp-lite/LICENSE rename to recipes/pgscatalog.core/LICENSE diff --git a/recipes/pgscatalog.core/meta.yaml b/recipes/pgscatalog.core/meta.yaml new file mode 100644 index 0000000000000..5d51c105d3fcc --- /dev/null +++ b/recipes/pgscatalog.core/meta.yaml @@ -0,0 +1,58 @@ +{% set name = "pgscatalog.core" %} +{% set version = "0.3.1" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/pgscatalog_core-{{ version }}.tar.gz + sha256: 612cc10afc4bea0dc5edfc6b279fc92b76e6833a9152e5bd63a7f98da4a125ad + +build: + entry_points: + - pgscatalog-download = pgscatalog.core.cli.download_cli:run + - pgscatalog-combine = pgscatalog.core.cli.combine_cli:run + - pgscatalog-relabel = pgscatalog.core.cli.relabel_cli:run + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('pgscatalog.core', max_pin="x.x") }} + +requirements: + host: + - python >=3.10 + - poetry-core + - pip + run: + - python >=3.10 + - httpx >=0.26.0,<0.27.0 + - tenacity >=8.2.3,<9.0.0 + - pyliftover >=0.4.1,<0.5.0 + - xopen >=1.8.0,<2.0.0 + - tqdm >=4.66.1,<5.0.0 + - natsort >=8.4.0,<9.0.0 + - pydantic >=2.9.0,<3.0.0 + # for xopen + - python-zlib-ng +test: + imports: + - pgscatalog.core + commands: + - pip check + - pgscatalog-download --help + - pgscatalog-combine --help + - pgscatalog-relabel --help + requires: + - pip + +about: + home: https://github.com/PGScatalog/pygscatalog/ + summary: Core tools for working with polygenic scores (PGS) and the PGS Catalog + license: Apache-2.0 + license_file: LICENSE + +extra: + recipe-maintainers: + - nebfield diff --git a/recipes/pgscatalog.match/meta.yaml b/recipes/pgscatalog.match/meta.yaml new file mode 100644 index 0000000000000..e91c94f3ff030 --- /dev/null +++ b/recipes/pgscatalog.match/meta.yaml @@ -0,0 +1,52 @@ +{% set name = "pgscatalog.match" %} +{% set version = "0.3.3" %} + + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/pgscatalog_match-{{ version }}.tar.gz + sha256: d927fa227917d3e03fb06370dfadc6a5fe4b85f0008f303909f0d7b2d1c48c61 + + +build: + number: 0 + noarch: python + entry_points: + - pgscatalog-match = pgscatalog.match.cli.match_cli:run_match + - pgscatalog-matchmerge = pgscatalog.match.cli.merge_cli:run_merge + - pgscatalog-intersect = pgscatalog.match.cli.intersect_cli:run_intersect + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + run_exports: + - {{ pin_subpackage('pgscatalog.match', max_pin="x.x") }} + +requirements: + host: + - python >=3.10 + - poetry-core + - pip + run: + - python >=3.10 + - polars 0.20.30 + - pyarrow >=15.0.0,<16.0.0 + - pgscatalog.core >=0.3.0,<0.4.0 + +test: + imports: + - pgscatalog.match + commands: + - pip check + - pgscatalog-match --help + - pgscatalog-matchmerge --help + - pgscatalog-intersect --help + requires: + - pip + +about: + home: https://github.com/PGScatalog/pygscatalog + summary: "Tools for matching variants in PGS scoring files and target variant information files." + license: MIT + license_family: MIT + doc_url: https://pygscatalog.readthedocs.io diff --git a/recipes/phables/meta.yaml b/recipes/phables/meta.yaml index 8e5ccfddad8c5..98e5b35acf6a5 100644 --- a/recipes/phables/meta.yaml +++ b/recipes/phables/meta.yaml @@ -1,5 +1,5 @@ {% set name = "phables" %} -{% set version = "1.2.1" %} +{% set version = "1.4.1" %} package: name: "{{ name|lower }}" @@ -7,23 +7,23 @@ package: source: url: "https://github.com/Vini2/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz" - sha256: a533c9d841f3fb3e4eb4d7faf9b734047317806f50ab1d0568291fd60bd2d464 + sha256: f456260bf710073986ecd524975e09083c5cf7d0ad3a0e6808ba48a2b7dc0ee4 build: - number: 0 - noarch: python + number: 1 + noarch: false entry_points: - phables=phables.__main__:main - script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" run_exports: - {{ pin_subpackage('phables', max_pin="x") }} requirements: host: - - python >=3.9 + - python >=3.9,<3.11 - pip run: - - python >=3.9 + - python >=3.9,<3.11 - snakemake-minimal >=7.14.0 - pyyaml >=6.0 - click >=8.1.3 @@ -48,5 +48,10 @@ about: dev_url: "https://github.com/Vini2/phables" extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + skip-lints: + - should_be_noarch_generic recipe-maintainers: - Vini2 diff --git a/recipes/phanotate/meta.yaml b/recipes/phanotate/meta.yaml index 00d8dc1cede86..590f533b90944 100644 --- a/recipes/phanotate/meta.yaml +++ b/recipes/phanotate/meta.yaml @@ -1,5 +1,5 @@ {% set name = "phanotate" %} -{% set version = "1.5.1" %} +{% set version = "1.6.5" %} package: name: "{{ name|lower }}" @@ -7,12 +7,14 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: "1c3b241d59b801f9023946ef3ba1090e4fc32a4ff5bd06ba0144320ae9693de6" + sha256: "4be12306eeace16d018538499299b1e01f3fc5a904af5836ed0172eacdda3483" build: number: 1 - skip: True # [py27] - script: "{{ PYTHON }} -m pip install . --no-deps -vv " + skip: True # [py < 36] + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('phanotate', max_pin="x") }} requirements: build: @@ -21,6 +23,7 @@ requirements: - pip - python run: + - python - fastpath - matplotlib-base - scipy @@ -28,8 +31,9 @@ requirements: - statsmodels - backports.tempfile - textwrap3 - - setuptools - trnascan-se + - genbank + - setuptools # uses pkg_resources test: commands: diff --git a/recipes/phantasm/build.sh b/recipes/phantasm/build.sh new file mode 100644 index 0000000000000..4eddc5cd3108d --- /dev/null +++ b/recipes/phantasm/build.sh @@ -0,0 +1,100 @@ +#!/bin/bash + +# create variables for this build script +export PYVER=$(python3 --version|sed -E "s/^\S+ ([0-9]+\.[0-9]+)\..+$/\1/g") +export TEMP_FN=".tmp" +export BIN_DIR=$PREFIX/bin +export ACTIVATE_DIR=$PREFIX/etc/conda/activate.d +export PHANTASM_EXE=$BIN_DIR/phantasm +export PHANTASM_DIR=$PREFIX/lib/python$PYVER/site-packages/phantasm +export PARAM_FN=$PHANTASM_DIR/param.py + +# move phantasm files to the directory +mkdir -p $PHANTASM_DIR +cp -rf ./ $PHANTASM_DIR + +# define global variables that point at the executables +echo "BLASTPLUS_DIR:str = '$BIN_DIR'" > $TEMP_FN +echo "MUSCLE_EXE:str = '$BIN_DIR/muscle'" >> $TEMP_FN +echo "FASTTREE_EXE:str = '$BIN_DIR/FastTreeMP'" >> $TEMP_FN +echo "IQTREE_EXE:str = '$BIN_DIR/iqtree'" >> $TEMP_FN + +# define global variables that point at phantasm and xenogi directories +echo "PHANTASM_DIR:str = '$PHANTASM_DIR'" >> $TEMP_FN +echo "XENOGI_DIR:str = '$PREFIX/lib/python$PYVER/site-packages/'" >> $TEMP_FN + +# add the last five lines of param.py (LPSN csv files) +tail -n 5 $PARAM_FN >> $TEMP_FN + +# overwrite param.py with the new file +mv $TEMP_FN $PARAM_FN + +# modify PHANTASM_PY variable so it prints the correct usage +sed -E "s/^(PHANTASM_PY = ).+$/\1'phantasm'/g" $PHANTASM_DIR/phantasm.py > $TEMP_FN +mv $TEMP_FN $PHANTASM_DIR/phantasm.py + +# make the phantasm executable +touch $PHANTASM_EXE +chmod a+x $PHANTASM_EXE + +# make an activate script +mkdir -p $ACTIVATE_DIR + +# export variables for the activate script +cat < $ACTIVATE_DIR/phantasm.sh +export BIN_DIR=$BIN_DIR +export LIB_DIR=$PREFIX/lib/python +export PHANTASM_EXE=$PHANTASM_EXE +export BUILD_PYVER=$PYVER +End + +# PYVER and PHANTASM_DIR need to be defined upon activation +cat <<\End >> $ACTIVATE_DIR/phantasm.sh +export PYVER=$(python3 --version|sed -E "s/^\S+ ([0-9]+\.[0-9]+)\..+$/\1/g") +export PHANTASM_DIR=$LIB_DIR$PYVER/site-packages/phantasm +End + +# replace the build pyver with the current pyver +cat <<\End >> $ACTIVATE_DIR/phantasm.sh +cat $PHANTASM_DIR/param.py | sed -E "s/python$BUILD_PYVER/python$PYVER/g" > .tmp +mv .tmp $PHANTASM_DIR/param.py +End + +# start building the python executable +cat <> $ACTIVATE_DIR/phantasm.sh +echo "#!/usr/bin/env python3" > $PHANTASM_EXE +echo "import os, sys, subprocess" >> $PHANTASM_EXE +End + +# $PHANTASM_DIR needs to be evaluated as string literal +cat <<\End >> $ACTIVATE_DIR/phantasm.sh +echo "sys.path.append('$PHANTASM_DIR')" >> $PHANTASM_EXE +End + +# continue building python executable +cat <> $ACTIVATE_DIR/phantasm.sh +echo "if __name__ == '__main__'": >> $PHANTASM_EXE +End + +# PHANTASM_DIR needs to be evalutated as a string literal +cat <<\End >> $ACTIVATE_DIR/phantasm.sh +echo " cmd = ['python3', os.path.join('$PHANTASM_DIR', 'phantasm.py')]" >> $PHANTASM_EXE +End + +# finish building python executable and unset variables +cat <> $ACTIVATE_DIR/phantasm.sh +echo " cmd.extend(sys.argv[1:])" >> $PHANTASM_EXE +echo " try:" >> $PHANTASM_EXE +echo " subprocess.run(cmd, check=True)" >> $PHANTASM_EXE +echo " except subprocess.CalledProcessError as e:" >> $PHANTASM_EXE +echo " raise RuntimeError(e.stderr)" >> $PHANTASM_EXE +unset BIN_DIR +unset LIB_DIR +unset BUILD_PYVER +unset PYVER +unset PHANTASM_DIR +unset PHANTASM_EXE +End + +# make activate script executable +chmod a+x $ACTIVATE_DIR/phantasm.sh diff --git a/recipes/phantasm/meta.yaml b/recipes/phantasm/meta.yaml new file mode 100644 index 0000000000000..eada44f5c7663 --- /dev/null +++ b/recipes/phantasm/meta.yaml @@ -0,0 +1,52 @@ +{% set name = "PHANTASM" %} +{% set version = "1.1.3" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: https://github.com/dr-joe-wirth/{{ name|lower }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: 6aa9e00a325750ba3299ffe61a4937fd5df237d4efa9f2bfd78bc2b2dae31939 + +build: + number: 0 + noarch: python + run_exports: + - {{ pin_subpackage('phantasm', max_pin="x") }} + +requirements: + host: + - python >=3.9 + - pip + run: + - bioconductor-decipher + - biopython + - blast + - fasttree + - iqtree >=1.6.12 + - muscle >=5 + - numpy + - parasail-python + - phantasm-xenogi + - pyani + - python >=3.9 + - r-ape + - r-base + - r-dendextend + - r-gplots + - rpy2 + - scipy + - semver + - textdistance + +test: + commands: + - phantasm check + +about: + home: https://github.com/dr-joe-wirth/{{ name|lower }} + license: MIT + license_family: GPL3 + license_file: LICENSE.md + summary: "PHANTASM: PHylogenomic ANalyses for the TAxonomy and Systematics of Microbes" diff --git a/recipes/pharokka/meta.yaml b/recipes/pharokka/meta.yaml index 329ca37487d77..d7af0ffffce0f 100644 --- a/recipes/pharokka/meta.yaml +++ b/recipes/pharokka/meta.yaml @@ -1,6 +1,6 @@ -{% set version = "1.5.1" %} +{% set version = "1.7.3" %} {% set name = "pharokka" %} -{% set sha256 = "b862e2d44021e6a767dec317d78a12afcf2cd918bab2c0cb629413398923fb28" %} +{% set sha256 = "52b35358babd46ea2b8ed152e2bfd5486f898fef5163b7c206f65de804d77f9b" %} {% set user = "gbouras13" %} package: @@ -25,8 +25,8 @@ requirements: run: - python >=3.5 - bcbio-gff >=0.7.0 - - biopython >=1.78 - - phanotate >=1.5.0 + - biopython >=1.80,<1.82 + - phanotate >=1.5.0,<1.6.4 - mmseqs2 ==13.45111 - trnascan-se >=2.0.9 - minced >=0.4.2 diff --git a/recipes/phava/build.sh b/recipes/phava/build.sh new file mode 100644 index 0000000000000..2364fa6aad2be --- /dev/null +++ b/recipes/phava/build.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +mkdir -p $PREFIX/bin +cp bin/phava $PREFIX/bin +cp -r PhaVa $PREFIX +cp -r tests $PREFIX diff --git a/recipes/phava/meta.yaml b/recipes/phava/meta.yaml new file mode 100644 index 0000000000000..03c499baa7dc2 --- /dev/null +++ b/recipes/phava/meta.yaml @@ -0,0 +1,42 @@ +{% set version = "0.2.3" %} + +package: + name: phava + version: {{ version }} + +source: + url: https://github.com/patrickwest/PhaVa/archive/refs/tags/v{{version}}.tar.gz + sha256: 1860afecf8d2867f105a7fa00540b7d88c6c6ca21e1bbcba89faeda60d0acbcc + +build: + number: 0 + noarch: python + run_exports: + - {{ pin_subpackage('phava', max_pin="x.x") }} + +requirements: + host: + - python >=3.9 + run: + - python >=3.9 + - emboss >=6.5.7 + - minimap2 >=2.17 + - pysam >=0.17.0 + - biopython >=1.81 + - mmseqs2 + - samtools + +test: + commands: + - phava test + +about: + home: https://github.com/patrickwest/PhaVa + dev_url: https://github.com/patrickwest/PhaVa + license: MIT + license_family: MIT + summary: Detection of invertons from long-read sequencing datasets + +extra: + recipe-maintainers: + - patrickwest diff --git a/recipes/pheniqs/build_failure.linux-64.yaml b/recipes/pheniqs/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..65d056b2ae7c1 --- /dev/null +++ b/recipes/pheniqs/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 8522fd9ce2570fc7d03f8f39470f4ca75c46aa7fce9c4fe891b88970cad8eae0 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + CMAKE_PREFIX_PATH=$PREFIX:$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot/usr + CONDA_BUILD_SYSROOT=$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot + CONDA_TOOLCHAIN_BUILD=x86_64-conda-linux-gnu + CONDA_TOOLCHAIN_HOST=x86_64-conda-linux-gnu + CPP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cpp + CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include + DEBUG_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem $PREFIX/include + GCC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc + GCC_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar + GCC_NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-nm + GCC_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib + HOST=x86_64-conda-linux-gnu + LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_cos6_linux_gnu + build_alias=x86_64-conda-linux-gnu + host_alias=x86_64-conda-linux-gnu + -BUILD=x86_64-conda_cos6-linux-gnu + -CONDA_BUILD_SYSROOT= + INFO: activate-gxx_linux-64.sh made the following environmental changes: + CXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + DEBUG_CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + GXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-g + export LD_LIBRARY_PATH=/opt/conda/conda-bld/pheniqs_1717958146768/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib + LD_LIBRARY_PATH=/opt/conda/conda-bld/pheniqs_1717958146768/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib + make all PREFIX=/opt/conda/conda-bld/pheniqs_1717958146768/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place + version.h generated with PHENIQS_VERSION 2.1.0 + generating configuration.h + zsh completion _pheniqs generated + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o json.o json.cpp + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o selector.o selector.cpp + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o atom.o atom.cpp + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o phred.o phred.cpp + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o sequence.o sequence.cpp + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o barcode.o barcode.cpp + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o auxiliary.o auxiliary.cpp + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o url.o url.cpp + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o proxy.o proxy.cpp + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o read.o read.cpp + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o feed.o feed.cpp + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o multiplex.o multiplex.cpp + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o classifier.o classifier.cpp + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o transform.o transform.cpp + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o decoder.o decoder.cpp + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o naive.o naive.cpp + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o mdd.o mdd.cpp + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o pamld.o pamld.cpp + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o interface.o interface.cpp + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o fastq.o fastq.cpp + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o hts.o hts.cpp + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o transcode.o transcode.cpp + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o pipeline.o pipeline.cpp + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o pheniqs.o pheniqs.cpp + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o job.o job.cpp + In file included from include.h:129, + from job.h:25, + from job.cpp:22: + /opt/conda/conda-bld/pheniqs_1717958146768/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/rapidjson/schema.h: In instantiation of 'rapidjson::internal::Schema::Schema(SchemaDocumentType*, const PointerType&, const ValueType&, const ValueType&, AllocatorType*, const UriType&) [with SchemaDocumentType = rapidjson::GenericSchemaDocument > >; PointerType = rapidjson::GenericPointer > >; ValueType = rapidjson::GenericValue >; AllocatorType = rapidjson::CrtAllocator; UriType = rapidjson::GenericUri > >]': + /opt/conda/conda-bld/pheniqs_1717958146768/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/rapidjson/schema.h:1868:9: required from 'rapidjson::GenericSchemaDocument::GenericSchemaDocument(const ValueType&, const Ch*, rapidjson::SizeType, IRemoteSchemaDocumentProviderType*, Allocator*, const PointerType&, const rapidjson::Specification&) [with ValueT = rapidjson::GenericValue >; Allocator = rapidjson::CrtAllocator; ValueType = rapidjson::GenericValue >; Ch = char; rapidjson::SizeType = long unsigned int; IRemoteSchemaDocumentProviderType = rapidjson::IGenericRemoteSchemaDocumentProvider > > >; PointerType = rapidjson::GenericPointer > >]' + job.cpp:233:91: required from here + /opt/conda/conda-bld/pheniqs_1717958146768/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/rapidjson/schema.h:703:82: error: no matching function for call to 'rapidjson::internal::Schema > > >::CreatePattern(const rapidjson::GenericValue >&, rapidjson::GenericSchemaDocument > >*&, rapidjson::internal::Schema > > >::PointerType&)' + 703 | patternProperties_[patternPropertyCount_].pattern = CreatePattern(itr->name, schemaDocument, r); + | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + /opt/conda/conda-bld/pheniqs_1717958146768/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/rapidjson/schema.h:1440:16: note: candidate: 'template rapidjson::internal::Schema::RegexType* rapidjson::internal::Schema::CreatePattern(const ValueType&) [with SchemaDocumentType = rapidjson::GenericSchemaDocument > >]' + 1440 | RegexType* CreatePattern(const ValueType&) { + | ^~~~~~~~~~~~~ + /opt/conda/conda-bld/pheniqs_1717958146768/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/rapidjson/schema.h:1440:16: note: template argument deduction/substitution failed: + /opt/conda/conda-bld/pheniqs_1717958146768/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/rapidjson/schema.h:703:82: note: candidate expects 1 argument, 3 provided + 703 | patternProperties_[patternPropertyCount_].pattern = CreatePattern(itr->name, schemaDocument, r); + | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + /opt/conda/conda-bld/pheniqs_1717958146768/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/rapidjson/schema.h:788:37: error: no matching function for call to 'rapidjson::internal::Schema > > >::CreatePattern(const rapidjson::internal::Schema > > >::ValueType&, rapidjson::GenericSchemaDocument > >*&, rapidjson::GenericPointer > >)' + 788 | pattern_ = CreatePattern(*v, schemaDocument, p.Append(GetPatternString(), allocator_)); + | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + /opt/conda/conda-bld/pheniqs_1717958146768/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/rapidjson/schema.h:1440:16: note: candidate: 'template rapidjson::internal::Schema::RegexType* rapidjson::internal::Schema::CreatePattern(const ValueType&) [with SchemaDocumentType = rapidjson::GenericSchemaDocument > >]' + 1440 | RegexType* CreatePattern(const ValueType&) { + | ^~~~~~~~~~~~~ + /opt/conda/conda-bld/pheniqs_1717958146768/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/rapidjson/schema.h:1440:16: note: template argument deduction/substitution failed: + /opt/conda/conda-bld/pheniqs_1717958146768/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/rapidjson/schema.h:788:37: note: candidate expects 1 argument, 3 provided + 788 | pattern_ = CreatePattern(*v, schemaDocument, p.Append(GetPatternString(), allocator_)); + | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + make: *** [Makefile:192: job.o] Error 1 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/pheniqs_1717958146768/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. diff --git a/recipes/pheniqs/build_failure.osx-64.yaml b/recipes/pheniqs/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..aed18dbba03d8 --- /dev/null +++ b/recipes/pheniqs/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 8522fd9ce2570fc7d03f8f39470f4ca75c46aa7fce9c4fe891b88970cad8eae0 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + ^ + 2 warnings and 11 errors generated. + make: *** [Makefile:192: job.o] Error 1 + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/pheniqs_1717628818521/work + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/pheniqs_1717628818521/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/pheniqs_1717628818521/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/pheniqs_1717628818521/work + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/pheniqs_1717628818521/work/conda_build.sh']' returned non-zero exit status 2. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + version.h generated with PHENIQS_VERSION 2.1.0 + generating configuration.h + zsh completion _pheniqs generated + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o json.o json.cpp + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o selector.o selector.cpp + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o atom.o atom.cpp + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o phred.o phred.cpp + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o sequence.o sequence.cpp + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o barcode.o barcode.cpp + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o auxiliary.o auxiliary.cpp + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o url.o url.cpp + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o proxy.o proxy.cpp + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o read.o read.cpp + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o feed.o feed.cpp + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o multiplex.o multiplex.cpp + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o classifier.o classifier.cpp + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o transform.o transform.cpp + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o decoder.o decoder.cpp + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o naive.o naive.cpp + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o mdd.o mdd.cpp + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o pamld.o pamld.cpp + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o interface.o interface.cpp + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o fastq.o fastq.cpp + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o hts.o hts.cpp + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o transcode.o transcode.cpp + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o pipeline.o pipeline.cpp + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o pheniqs.o pheniqs.cpp + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Wall -Wsign-compare -Wdeprecated -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pheniqs-2.1.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c11 -O3 -c -o job.o job.cpp +# Last 100 lines of the build log. diff --git a/recipes/pheniqs/meta.yaml b/recipes/pheniqs/meta.yaml index c81a5e6af075d..41966f49d717c 100644 --- a/recipes/pheniqs/meta.yaml +++ b/recipes/pheniqs/meta.yaml @@ -7,7 +7,7 @@ package: version: {{ version }} build: - number: 7 + number: 8 source: url: https://github.com/biosails/{{name}}/archive/{{version}}.tar.gz diff --git a/recipes/phigaro/meta.yaml b/recipes/phigaro/meta.yaml index c7575e658cfa7..02183858fef6a 100644 --- a/recipes/phigaro/meta.yaml +++ b/recipes/phigaro/meta.yaml @@ -1,5 +1,5 @@ {% set name = "phigaro" %} -{% set version = "2.3.0" %} +{% set version = "2.4.0" %} package: name: "{{ name|lower }}" @@ -7,36 +7,23 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 758012cabec53841f6c18f90ef5a1dc0819e72c9b765b2c86bc0401afd7c5e8a + sha256: fd764d792a37984bcabaea0da39185dc6c864b8ecfbd8a806553a68ac876d800 build: - number: 1 - noarch: python + number: 0 + noarch: python entry_points: - phigaro = phigaro.cli.batch:main - phigaro-setup = phigaro.cli.helper:main - script: "{{ PYTHON }} -m pip install . -vv; echo https://files.pythonhosted.org/packages/51/d3/0271413b3b9d1ed2a532e2575287bec9481d2183e445ecc0ebc1df8f1ddc/singleton-0.1.0.tar.gz > requirements.txt; {{ PYTHON }} -m pip install -r requirements.txt" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv; echo https://files.pythonhosted.org/packages/51/d3/0271413b3b9d1ed2a532e2575287bec9481d2183e445ecc0ebc1df8f1ddc/singleton-0.1.0.tar.gz > requirements.txt; {{ PYTHON }} -m pip install -r requirements.txt" + run_exports: + - {{ pin_subpackage('phigaro', max_pin="x") }} requirements: host: - - argparse - - beautifulsoup4 >=4.4.0 - - biopython - - bs4 - - future - - lxml - - numpy - - pandas >=0.23.4 - pip - - plotly - - python >=3.6 - - pyyaml >=5.1 - - sh - - six >=1.7.0 - - prodigal - - hmmer + - python >=3.6,<=3.11.7 run: - - argparse - beautifulsoup4 >=4.4.0 - biopython - bs4 @@ -45,7 +32,7 @@ requirements: - numpy - pandas >=0.23.4 - plotly - - python >=3.6 + - python >=3.6,<=3.11.7 - pyyaml >=5.1 - sh - six >=1.7.0 @@ -67,7 +54,8 @@ test: - phigaro-setup --help about: - home: "https://phigaro.readthedocs.io/" + home: https://github.com/bobeobibo/phigaro + doc_url: "https://phigaro.readthedocs.io/" license: MIT license_family: MIT license_file: "LICENSE.md" diff --git a/recipes/phispy/build_failure.osx-64.yaml b/recipes/phispy/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..d88b6d5ee1ba6 --- /dev/null +++ b/recipes/phispy/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: c9c71853172ce7a3e354a56c027483c811957efef56eef911e4b94cbb044a44f # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 1850, in bundle_conda + files = post_process_files(metadata, initial_files) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 1664, in post_process_files + post_build(m, new_files, build_python=python) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/post.py", line 1727, in post_build + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/phispy-4.2.21 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + post_process_shared_lib(m, f, prefix_files, host_prefix) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/post.py", line 1603, in post_process_shared_lib + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + mk_relative_osx(path, host_prefix, m, files=files, rpaths=rpaths) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/post.py", line 470, in mk_relative_osx + names = macho.otool(path, prefix) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/os_utils/macho.py", line 221, in otool + lines = check_output([otool, "-l", path], stderr=STDOUT).decode("utf-8") + File "/opt/mambaforge/envs/bioconda/lib/python3.10/subprocess.py", line 421, in check_output + return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, + File "/opt/mambaforge/envs/bioconda/lib/python3.10/subprocess.py", line 526, in run + raise CalledProcessError(retcode, process.args, + subprocess.CalledProcessError: Command '['/opt/mambaforge/envs/bioconda/conda-bld/phispy_1718318993033/_build_env/bin/llvm-otool', '-l', '/opt/mambaforge/envs/bioconda/conda-bld/phispy_1718318993033/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.11/site-packages/PhiSpyRepeatFinder.cpython-311-darwin.so']' died with . + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/phispy-4.2.21 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/phispy-4.2.21 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + Using pip 24.0 from $PREFIX/lib/python3.11/site-packages/pip (python 3.11) + Non-user install because user site-packages disabled + Ignoring indexes: https://pypi.org/simple + Created temporary directory: /private/tmp/pip-build-tracker-k4rcmtb3 + Initialized build tracking at /private/tmp/pip-build-tracker-k4rcmtb3 + Created build tracker: /private/tmp/pip-build-tracker-k4rcmtb3 + Entered build tracker: /private/tmp/pip-build-tracker-k4rcmtb3 + Created temporary directory: /private/tmp/pip-install-sabiqxhb + Created temporary directory: /private/tmp/pip-ephem-wheel-cache-c27hxbct + Processing $SRC_DIR + Added file://$SRC_DIR to build tracker '/private/tmp/pip-build-tracker-k4rcmtb3' + Running setup.py (path:$SRC_DIR/setup.py) egg_info for package from file://$SRC_DIR + Created temporary directory: /private/tmp/pip-pip-egg-info-0406583g + Preparing metadata (setup.py): started + Preparing metadata (setup.py): finished with status 'done' + Source in $SRC_DIR has version 4.2.21, which satisfies requirement PhiSpy==4.2.21 from file://$SRC_DIR + Removed PhiSpy==4.2.21 from file://$SRC_DIR from build tracker '/private/tmp/pip-build-tracker-k4rcmtb3' + Created temporary directory: /private/tmp/pip-unpack-ftp04rd6 + Building wheels for collected packages: PhiSpy + Created temporary directory: /private/tmp/pip-wheel-eyso9vyq + Building wheel for PhiSpy (setup.py): started + Destination directory: /private/tmp/pip-wheel-eyso9vyq + Building wheel for PhiSpy (setup.py): finished with status 'done' + Created wheel for PhiSpy: filename=PhiSpy-4.2.21-cp311-cp311-macosx_10_13_x86_64.whl size=19193361 sha256=2fd6b7c4708d36120a5a1c24c6e7cf4e0cb826c1bbdfa08be4f396c13a6b33b3 + Stored in directory: /private/tmp/pip-ephem-wheel-cache-c27hxbct/wheels/2a/82/cf/c866a05b78178153fa1ace983db9616900e7be463b1da03fca + Successfully built PhiSpy + Installing collected packages: PhiSpy + + changing mode of $PREFIX/bin/PhiSpy.py to 755 + changing mode of $PREFIX/bin/phispy to 755 + Successfully installed PhiSpy-4.2.21 + Removed build tracker: '/private/tmp/pip-build-tracker-k4rcmtb3' + + Resource usage statistics from building phispy: + Process count: 5 + CPU time: Sys=0:00:00.7, User=0:00:43.2 + Memory: 190.3M + Disk usage: 304.2K + Time elapsed: 0:00:48.4 + + + compiling .pyc files... + number of files: 120 +# Last 100 lines of the build log. diff --git a/recipes/phispy/meta.yaml b/recipes/phispy/meta.yaml index 1c96458f5a46e..a7d707cd0a82f 100644 --- a/recipes/phispy/meta.yaml +++ b/recipes/phispy/meta.yaml @@ -11,9 +11,10 @@ source: sha256: "1dc3ec45c15328577557908517254d8e4ba152416f0e6bbad39e965b86730e28" build: - number: 2 - skip: True # [py27 or py < 37] + number: 6 script: "{{ PYTHON }} -m pip install . --no-deps -vv " + run_exports: + - {{ pin_subpackage('phispy', max_pin="x") }} requirements: build: @@ -22,7 +23,7 @@ requirements: - pip - python run: - - biopython + - biopython <=1.81 - numpy - python - hmmer @@ -44,6 +45,8 @@ about: dev_url: "https://github.com/linsalrob/PhiSpy/" extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - linsalrob identifiers: diff --git a/recipes/phold/meta.yaml b/recipes/phold/meta.yaml new file mode 100644 index 0000000000000..666df73ea1284 --- /dev/null +++ b/recipes/phold/meta.yaml @@ -0,0 +1,63 @@ +{% set name = "phold" %} +{% set version = "0.2.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + sha256: 1e57d55a1a1626bddda07c201d2be0d7816c3df61f069a98acac59176b2c2ad5 + +build: + number: 0 + noarch: python + entry_points: + - phold = phold:main + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('phold', max_pin='x') }} + +requirements: + host: + - python >=3.8,<3.12 + - pip + run: + - foldseek ==9.427df8a + - python >=3.8,<3.12 + - biopython >=1.76 + - alive-progress >=3.0.1 + - datasets >=2.15 + - requests >=2.25 + - pyarrow >=14.0.0 + - pandas >=1.4.2 + - loguru >=0.5.3 + - pyyaml >=6.0 + - click >=8.0.0 + - sentencepiece >=0.1.99 + - transformers >=4.34 + - pyrodigal-gv >=0.3.1 + - pytorch >=2.1.2 + - numpy >=1.20 + - pycirclize >=0.3.1 + - h5py >=3.5 + + + +test: + imports: + - phold + commands: + - phold --help + +about: + home: https://github.com/gbouras13/phold + license: MIT + license_family: MIT + license_file: LICENSE + summary: Phage annotation using protein structures + doc_url: https://phold.readthedocs.io/en/latest/ + +extra: + recipe-maintainers: + - gbouras13 diff --git a/recipes/phykit/meta.yaml b/recipes/phykit/meta.yaml index 0f98b1f2d4dda..23e84b018047c 100644 --- a/recipes/phykit/meta.yaml +++ b/recipes/phykit/meta.yaml @@ -1,5 +1,5 @@ {% set name = "phykit" %} -{% set version = "1.12.0" %} +{% set version = "2.0.0" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 8dfc084780ce4c9a37ee49952ef9d86c617359d8cec5ef97b98ff63b0b95a486 + sha256: 32358dc24e564860ce56fa71772599a00d12dc746b6ca2fb046fbca9f4c1e2c3 build: noarch: python @@ -121,7 +121,7 @@ build: - pk_thread_dna = phykit.phykit:thread_dna - pk_pal2nal = phykit.phykit:thread_dna - pk_p2n = phykit.phykit:thread_dna - script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" run_exports: - {{ pin_subpackage('phykit', max_pin="x") }} @@ -130,10 +130,11 @@ requirements: - pip - python >=3 run: - - biopython >=1.79 - - numpy >=1.18.2 + - biopython >=1.81 + - numpy >=1.24.0 - python >=3 - - scipy >=1.4.1 + - scipy >=1.11.3 + - scikit-learn >=1.4.2 test: imports: @@ -256,11 +257,14 @@ about: home: "https://github.com/jlsteenwyk/phykit" license: MIT license_family: MIT + license_file: "LICENSE.md" summary: "PhyKIT is a UNIX shell toolkit for processing and analyzing phylogenomic data." - doc_url: https://jlsteenwyk.com/PhyKIT/ + doc_url: "https://jlsteenwyk.com/PhyKIT" + dev_url: "https://github.com/jlsteenwyk/phykit" extra: recipe-maintainers: - pauldg identifiers: - doi:10.1093/bioinformatics/btab096 + - biotools:phykit diff --git a/recipes/phyloacc/build.sh b/recipes/phyloacc/build.sh index 4cc5ed20fac25..eb6412c7bc712 100644 --- a/recipes/phyloacc/build.sh +++ b/recipes/phyloacc/build.sh @@ -1,7 +1,13 @@ #!/bin/bash -make install CXX=${CXX} -cp src/PhyloAcc-interface/phyloacc.py ${PREFIX}/bin/. -cp src/PhyloAcc-interface/phyloacc_post.py ${PREFIX}/bin/. +set -xe + +mkdir -p ${PREFIX}/bin mkdir -p ${SP_DIR} -cp -R src/PhyloAcc-interface/phyloacc_lib ${SP_DIR}/. + +make -j ${CPU_COUNT} install CXX=${CXX} + +cp src/PhyloAcc-interface/phyloacc.py ${PREFIX}/bin/ +ln -s ${PREFIX}/bin/phyloacc.py ${PREFIX}/bin/phyloacc +cp src/PhyloAcc-interface/phyloacc_post.py ${PREFIX}/bin/ +cp -R src/PhyloAcc-interface/phyloacc_lib ${SP_DIR}/ \ No newline at end of file diff --git a/recipes/phyloacc/build_failure.osx-64.yaml b/recipes/phyloacc/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..87d350a41d6d6 --- /dev/null +++ b/recipes/phyloacc/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: e081ddfcb312d17f3886fad07d2492cab6b0e0716c61e66c83e271766d9ebfdf # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + In file included from src/PhyloAcc-GT/bpp_c.hpp:27: + /opt/mambaforge/envs/bioconda/conda-bld/phyloacc_1718294848149/_build_env/bin/../include/c/v1/set:741:30: warning: the specified comparator type does not provide a viable const call operator [-Wuser-defined-warnings] + static_assert(sizeof(__diagnose_non_const_comparator<_Key, _Compare>()), ""); + ^ + src/PhyloAcc-GT//genetree.cpp:316:37: note: in instantiation of member function 'std::set, Cmp>::~set' requested here + set, Cmp> tocoal; + ^ + /opt/mambaforge/envs/bioconda/conda-bld/phyloacc_1718294848149/_build_env/bin/../include/c/v1/__tree:994:5: note: from 'diagnose_if' attribute on '__diagnose_non_const_comparator, Cmp>': + _LIBCPP_DIAGNOSE_WARNING(!__invokable<_Compare const&, _Tp const&, _Tp const&>::value, + ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + /opt/mambaforge/envs/bioconda/conda-bld/phyloacc_1718294848149/_build_env/bin/../include/c/v1/__config:1322:58: note: expanded from macro '_LIBCPP_DIAGNOSE_WARNING' + # define _LIBCPP_DIAGNOSE_WARNING(...) __attribute__((__diagnose_if__(__VA_ARGS__, "warning"))) + ^ ~~~~~~~~~~~ + 7 warnings generated. + In file included from src/PhyloAcc-GT//main.cpp:26: + src/PhyloAcc-GT/bpp_c.hpp:223:13: warning: unused variable 'tot' [-Wunused-variable] + int tot = ceil((double)(GG - 15)/GG_block); + ^ + 1 warning generated. + dyld[53487]: Library not loaded: @rpath/libLLVM-16.dylib + Referenced from: <7C18778E-BF33-3AEA-A118-E46B35B5996F> /opt/mambaforge/envs/bioconda/pkgs/llvm-tools-16.0.6-hbedff68_3/bin/dsymutil + Reason: tried: '/opt/mambaforge/envs/bioconda/pkgs/llvm-tools-16.0.6-hbedff68_3/bin/../lib/libLLVM-16.dylib' (no such file), '/opt/mambaforge/envs/bioconda/pkgs/llvm-tools-16.0.6-hbedff68_3/bin/../lib/libLLVM-16.dylib' (no such file), '/opt/mambaforge/envs/bioconda/pkgs/llvm-tools-16.0.6-hbedff68_3/bin/../lib/libLLVM-16.dylib' (no such file), '/opt/mambaforge/envs/bioconda/pkgs/llvm-tools-16.0.6-hbedff68_3/bin/../lib/libLLVM-16.dylib' (no such file), '/usr/local/lib/libLLVM-16.dylib' (no such file), '/usr/lib/libLLVM-16.dylib' (no such file, not in dyld cache) + clang-16: error: unable to execute command: Abort trap: 6 + clang-16: error: dsymutil command failed due to signal (use -v to see invocation) + make: *** [Makefile:49: PhyloAcc-GT] Error 1 + Extracting download + Traceback (most recent call last): + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/phyloacc_1718294848149/work + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/phyloacc_1718294848149/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/phyloacc_1718294848149/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/phyloacc_1718294848149/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/phyloacc-2.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + CLANG=x86_64-apple-darwin13.4.0-clang + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/phyloacc-2.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + packages_from_this = build( + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/phyloacc_1718294848149/work/conda_build.sh']' returned non-zero exit status 2. + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/phyloacc-2.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/phyloacc-2.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + $CXX is [x86_64-apple-darwin13.4.0-clang] + $PREFIX is [$PREFIX] + $GSL_INCLUDE is [$PREFIX/include/] + $GSL_LIB is [$PREFIX/lib/] + x86_64-apple-darwin13.4.0-clang -Wall -g -O2 -std=c11 -I$PREFIX/include/ -L$PREFIX/lib/ src/PhyloAcc-ST//*.cpp -o PhyloAcc-ST -lgsl -lm -lgslcblas -larmadillo -fopenmp + x86_64-apple-darwin13.4.0-clang -Wall -g -O2 -std=c11 -I$PREFIX/include/ -L$PREFIX/lib/ src/PhyloAcc-GT//*.cpp -o PhyloAcc-GT -lgsl -lm -lgslcblas -larmadillo -fopenmp +# Last 100 lines of the build log. diff --git a/recipes/phyloacc/meta.yaml b/recipes/phyloacc/meta.yaml index 23e0d0afae9ca..a000cd11dea91 100644 --- a/recipes/phyloacc/meta.yaml +++ b/recipes/phyloacc/meta.yaml @@ -1,60 +1,61 @@ {% set name = "PhyloAcc" %} -{% set version = "2.2.0" %} -{% set sha256 = "29b13115974545479511bd4074d766c19fd7449412bfa9792721af85f80cbe37" %} +{% set version = "2.4.1" %} +{% set sha256 = "919203dc541c172f9e835b0568f6abd49999a24734957fec020b01161479282c" %} package: name: {{ name|lower }} version: {{ version }} -source: +source: url: https://github.com/phyloacc/PhyloAcc/archive/refs/tags/v{{ version }}.tar.gz sha256: {{ sha256 }} build: number: 2 - skip: True # [py < 38] + skip: True # [py < 311] + run_exports: + - {{ pin_subpackage('phyloacc', max_pin="x") }} requirements: build: - {{ compiler('cxx') }} - make - - libgomp # [linux] - - llvm-openmp # [osx] host: + - python - gsl - openblas - blis - liblapack - armadillo - - python + - libgomp # [linux] + - llvm-openmp # [osx] run: - python - blis - matplotlib-base >=3.5 - biopython >=1.79 - numpy >=1.22 - - snakemake-minimal >=7.3 + - snakemake-minimal >=8.0 + - snakemake-executor-plugin-slurm + - libgomp # [linux] + - llvm-openmp # [osx] test: - commands: - - phyloacc.py --version - - phyloacc.py --depcheck - - phyloacc_post.py -h -# Test commands to run after building and installing + requires: + - wget about: home: https://phyloacc.github.io/ - license: GNU GPLv3 - license_family: GPL + license: GPL-3.0-or-later + license_family: GPL3 license_file: LICENSE.md summary: 'Bayesian estimation of substitution rate shifts in non-coding regions' description: 'Bayesian estimation of substitution rate shifts in non-coding regions' - doc_url: https://phyloacc.github.io/ + doc_url: https://phyloacc.github.io/readme.html dev_url: https://github.com/phyloacc/PhyloAcc -# Package meta info -# URLs just point to the github page until we update the docs extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - gwct -# Extra info diff --git a/recipes/phyloacc/run_test.sh b/recipes/phyloacc/run_test.sh new file mode 100644 index 0000000000000..74e3e9d686ba2 --- /dev/null +++ b/recipes/phyloacc/run_test.sh @@ -0,0 +1,61 @@ +#!/bin/bash +set -e +set -o pipefail +set -x + +# Runs test for PhyloAcc, including on a small simulated dataset that contains a fasta file, mod file, +# bed file, id subset file, and config file. + +TMP=$(mktemp -d) +trap 'rm -rf $TMP' EXIT +export TMPDIR=$TMP +cd $TMP + +echo " ** DOWNLOADING TEST DATA." +files=( + "bioconda-test-cfg.yaml" + "id-subset.txt" + "ratite.mod" + "simu_500_200_diffr_2-1.bed" + "simu_500_200_diffr_2-1.noanc.fa" +) + +for file in "${files[@]}"; do + if ! wget -q "https://github.com/phyloacc/PhyloAcc-test-data/raw/main/bioconda-test-data/$file"; then + echo "Failed to download $file" >&2 + exit 1 + fi +done +echo " ** TEST DATA DOWNLOAD OK." + +echo " ** BEGIN DEPCHECK TEST." +if ! phyloacc --depcheck; then + echo " ** ERROR: Dependency check failed. Please ensure all dependencies are installed." >&2 + exit 1 +fi +echo " ** DEPCHECK TEST OK." + +echo " ** BEGIN PHYLOACC INTERFACE TEST." +if ! phyloacc --config bioconda-test-cfg.yaml --local; then + echo " ** ERROR: PhyloAcc interface test failed. Please check the configuration and installation." >&2 + exit 1 +fi +echo " ** INTERFACE TEST OK." + +echo " ** BEGIN WORKFLOW TEST." +if ! snakemake -p --jobs 1 --cores 1 -s phyloacc-bioconda-test/phyloacc-job-files/snakemake/run_phyloacc.smk --configfile phyloacc-bioconda-test/phyloacc-job-files/snakemake/phyloacc-config.yaml; then + echo " ** ERROR: PhyloAcc workflow test failed. Please check the Snakemake configuration and log files." >&2 + exit 1 +fi +echo " ** WORKFLOW TEST OK." + +echo " ** BEGIN POST-PROCESSING TEST." +if ! phyloacc_post.py -h; then + echo " ** ERROR: Failed to display help message for phyloacc_post.py" >&2 + exit 1 +fi +if ! phyloacc_post.py -i phyloacc-bioconda-test/; then + echo " ** ERROR: Post-processing test failed. Please check the input directory and log files." >&2 + exit 1 +fi +echo " ** POST-PROCESSING TEST OK." \ No newline at end of file diff --git a/recipes/phyloaln/build.sh b/recipes/phyloaln/build.sh new file mode 100644 index 0000000000000..1832c18446a37 --- /dev/null +++ b/recipes/phyloaln/build.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +set -xe + +mkdir -p $PREFIX/bin +cp -rf $SRC_DIR/lib $PREFIX/bin +cp $SRC_DIR/PhyloAln $PREFIX/bin +cp -rf $SRC_DIR/scripts/* $PREFIX/bin diff --git a/recipes/phyloaln/meta.yaml b/recipes/phyloaln/meta.yaml new file mode 100644 index 0000000000000..59022155f358e --- /dev/null +++ b/recipes/phyloaln/meta.yaml @@ -0,0 +1,51 @@ +{% set version = "1.0.0" %} +{% set sha256 = "e10ed2b344bff8b10a4334fd8d1d9d108104f6d1395bb50828edd78b82cdca5b" %} + +package: + name: phyloaln + version: "{{ version }}" +source: + url: https://github.com/huangyh45/PhyloAln/archive/refs/tags/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage('phyloaln', max_pin='x') }} + +requirements: + run: + - biopython >=1.77 + - ete3 >=3.1.2 + - hmmer >=3.1 + - mafft >=7.467 + - perl >=5.26.2 + - perl-bioperl >=1.7.2 + - perl-parallel-forkmanager >=2.02 + - python >=3.7.4 + +test: + commands: + - PhyloAln -h + - hmmbuild -h + - hmmsearch -h + - merge_seqs.py -h + - root_tree.py -h + - select_seqs.py -h + - test_effect.py -h + - trim_matrix.py -h + - perl -MBio::SeqIO -e 1 + - perl -MBio::DB::Fasta -e 1 + - perl -MParallel::ForkManager -e 1 + - mafft --version + +about: + home: https://github.com/huangyh45/PhyloAln + license: MIT + license_file: LICENSE + summary: "PhyloAln: a reference-based multiple sequence alignment tool for phylogeny" + +extra: + identifiers: + - doi:10.1093/molbev/msae150 diff --git a/recipes/phylodeep/meta.yaml b/recipes/phylodeep/meta.yaml new file mode 100644 index 0000000000000..52c3e29e478dd --- /dev/null +++ b/recipes/phylodeep/meta.yaml @@ -0,0 +1,63 @@ +{% set name = "phylodeep" %} +{% set version = "0.9" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: 123365b279c706b9b2c0f4c8b215bc3f9943b8c52a02f76bb0e9a2bc91cf5d47 + +build: + number: 0 + noarch: python + entry_points: + - checkdeep = phylodeep.checkdeep:main + - modeldeep = phylodeep.modeldeep:main + - paramdeep = phylodeep.paramdeep:main + - subtree_picker = phylodeep.tree_utilities:subtree_picker_main + script: "{{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir" + run_exports: + - {{ pin_subpackage('phylodeep', max_pin="x.x") }} + +requirements: + host: + - pip + - python >=3.6 + run: + - python >=3.6 + - scikit-learn >=1.0,<1.3.0 + - tensorflow >=2.0.0 + - ete3 >=3.1.1,<=3.1.3 + - pandas >=1.0.0,<1.4.0 + - matplotlib-base >=3.0.2,<3.7.0 + - keras ==2.2.4 + - phylodeep_data_bd >=0.6 + - phylodeep_data_bdei >=0.4 + - phylodeep_data_bdss >=0.4 + +test: + imports: + - phylodeep + commands: + - checkdeep --help + - modeldeep --help + - paramdeep --help + - subtree_picker --help + +about: + home: "https://github.com/evolbioinfo/phylodeep" + summary: "Deep-learning parameter estimation and model selection from phylogenetic trees." + description: | + PhyloDeep is a python library for parameter estimation and model selection from phylogenetic trees, + based on deep learning. + license: "GPL-3.0-or-later" + license_family: GPL3 + license_file: LICENSE + doc_url: "https://github.com/evolbioinfo/phylodeep/blob/{{ version }}/README.md" + dev_url: "https://github.com/evolbioinfo/phylodeep" + +extra: + recipe-maintainers: + - annazhukova diff --git a/recipes/phylodeep_data_bd/meta.yaml b/recipes/phylodeep_data_bd/meta.yaml new file mode 100644 index 0000000000000..424be8df088a7 --- /dev/null +++ b/recipes/phylodeep_data_bd/meta.yaml @@ -0,0 +1,42 @@ +{% set name = "phylodeep_data_bd" %} +{% set version = "0.6" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: ca0f0b48e743c1600c455596a6d5d11fea9e0a2ea94a3f116f421d753b6f0731 + +build: + number: 0 + noarch: python + script: "{{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation" + run_exports: + - {{ pin_subpackage('phylodeep_data_bd', max_pin="x.x") }} + +requirements: + host: + - pip + - python >=3 + run: + - python >=3 + - pandas >=1.0.0 + +test: + imports: + - phylodeep_data_bd + commands: + - bd_ci_paths --help + +about: + home: "https://github.com/evolbioinfo/phylodeep_data_bd" + summary: "Package containing data for the phylodeep package." + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE + +extra: + recipe-maintainers: + - annazhukova diff --git a/recipes/phylodeep_data_bdei/meta.yaml b/recipes/phylodeep_data_bdei/meta.yaml new file mode 100644 index 0000000000000..1095bf5354102 --- /dev/null +++ b/recipes/phylodeep_data_bdei/meta.yaml @@ -0,0 +1,42 @@ +{% set name = "phylodeep_data_bdei" %} +{% set version = "0.4" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: 59098286f611e21b264ccf0265351c27b3e51d1861f66d4fe9638136fd2828c3 + +build: + number: 0 + noarch: python + script: "{{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation" + run_exports: + - {{ pin_subpackage('phylodeep_data_bdei', max_pin="x.x") }} + +requirements: + host: + - pip + - python >=3 + run: + - python >=3 + - pandas >=1.0.0 + +test: + imports: + - phylodeep_data_bdei + commands: + - bdei_ci_paths --help + +about: + home: "https://github.com/evolbioinfo/phylodeep_data_bdei" + summary: "Package containing data for the phylodeep package." + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE + +extra: + recipe-maintainers: + - annazhukova diff --git a/recipes/phylodeep_data_bdss/meta.yaml b/recipes/phylodeep_data_bdss/meta.yaml new file mode 100644 index 0000000000000..e38d67480cc16 --- /dev/null +++ b/recipes/phylodeep_data_bdss/meta.yaml @@ -0,0 +1,42 @@ +{% set name = "phylodeep_data_bdss" %} +{% set version = "0.4" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: 2b97fb01e3babb969e786ba85074ab6799466903bbd351b3675b7099c3e17277 + +build: + number: 0 + noarch: python + script: "{{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation" + run_exports: + - {{ pin_subpackage('phylodeep_data_bdss', max_pin="x.x") }} + +requirements: + host: + - pip + - python >=3 + run: + - python >=3 + - pandas >=1.0.0 + +test: + imports: + - phylodeep_data_bdss + commands: + - bdss_ci_paths --help + +about: + home: "https://github.com/evolbioinfo/phylodeep_data_bdss" + summary: "Package containing data for the phylodeep package." + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE + +extra: + recipe-maintainers: + - annazhukova diff --git a/recipes/phylodm/build.sh b/recipes/phylodm/build.sh index f63fcdfc20ec9..f7acad9eae3a0 100644 --- a/recipes/phylodm/build.sh +++ b/recipes/phylodm/build.sh @@ -1,7 +1,3 @@ #!/bin/bash -# Add workaround for SSH-based Git connections from Rust/cargo. See https://github.com/rust-lang/cargo/issues/2078 for details. -# We set CARGO_HOME because we don't pass on HOME to conda-build, thus rendering the default "${HOME}/.cargo" defunct. -export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="$(pwd)/.cargo" - -"${PYTHON}" -m pip install . --no-deps --ignore-installed -vv +"${PYTHON}" -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv diff --git a/recipes/phylodm/meta.yaml b/recipes/phylodm/meta.yaml index 1e8eb986f0cd6..1bfd5232396a0 100644 --- a/recipes/phylodm/meta.yaml +++ b/recipes/phylodm/meta.yaml @@ -1,6 +1,6 @@ {% set name = "phylodm" %} -{% set version = "3.0.0" %} -{% set sha256 = "c7e051ba1350a947bd72382181aafd1a75bc3a0faa7019dbe8cd1febf5df6069" %} +{% set version = "3.2.0" %} +{% set sha256 = "ddcf2ddd9de75b3e411cd9d1a8dab622840530a1db520b5016e03c9c45720694" %} package: name: {{ name|lower }} @@ -11,17 +11,18 @@ source: sha256: {{ sha256 }} build: - skip: true # [py2k or py36] number: 0 + skip: True # [py < 38] + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: build: - - rust >=1.65 + - {{ compiler('rust') }} host: - python - pip - - setuptools - - setuptools-rust + - maturin >=1.0,<2.0 run: - python - numpy @@ -34,12 +35,16 @@ test: about: home: https://github.com/aaronmussig/PhyloDM - license: GPL-3.0-only - license_family: GPL + license: "GPL-3.0-only" + license_family: GPL3 license_file: LICENSE - summary: Efficient calculation of phylogenetic distance matrices. + summary: "Efficient calculation of phylogenetic distance matrices." + dev_url: https://github.com/aaronmussig/PhyloDM extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - aaronmussig identifiers: diff --git a/recipes/phylofisher/meta.yaml b/recipes/phylofisher/meta.yaml index 29979d4e64b53..c95b2662fea79 100644 --- a/recipes/phylofisher/meta.yaml +++ b/recipes/phylofisher/meta.yaml @@ -1,5 +1,5 @@ {% set name = "PhyloFisher" %} -{% set version = "1.2.13" %} +{% set version = "1.2.14" %} package: name: "{{ name|lower }}" @@ -7,12 +7,12 @@ package: source: url: "https://github.com/TheBrownLab/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz" - sha256: 0003e1820bbf84453edbf3cba68e01e2bd1c24a12608fe02bc01b1168efb5a1b + sha256: fd2c46cf1a49eb0fb83348dd280292f5f6b3a2541d76dd21f7e377e90be9dde5 build: noarch: python number: 0 - script: "{{ PYTHON }} -m pip install . --ignore-installed --no-deps -vvv" + script: "{{ PYTHON }} -m pip install . --no-build-isolation --no-deps --no-cache-dir -vvv" run_exports: - {{ pin_subpackage('phylofisher', max_pin='x') }} @@ -30,7 +30,7 @@ requirements: - hmmer =3.3 - diamond =2.0.15 - fasttree =2.1.10 - - mafft =7.520 + - mafft =7.525 - trimal =1.4.1 - blast - cd-hit =4.8.1 @@ -47,7 +47,7 @@ about: home: "https://github.com/TheBrownLab/PhyloFisher" license: MIT license_family: MIT - license_file: LICENSE.txt + license_file: "LICENSE.txt" summary: "A package for the creation, analysis, and visualization of eukaryotic phylogenomic datasets." - doc_url: https://thebrownlab.github.io/phylofisher-pages/ - dev_url: https://github.com/TheBrownLab/PhyloFisher + doc_url: "https://thebrownlab.github.io/phylofisher-pages" + dev_url: "https://github.com/TheBrownLab/PhyloFisher" diff --git a/recipes/phylophlan/meta.yaml b/recipes/phylophlan/meta.yaml index e5e40d9312b5b..87c643c292cb0 100644 --- a/recipes/phylophlan/meta.yaml +++ b/recipes/phylophlan/meta.yaml @@ -1,6 +1,6 @@ {% set name = "phylophlan" %} -{% set version = "3.0.3" %} -{% set sha256 = "d8d0082c95d58d7b11a60c1e2214b35c1a23a65675005f1393e7647d76c6a054" %} +{% set version = "3.1.1" %} +{% set sha256 = "67df67b60b5a361ee9354db031608213d3ecfa2f9ec78104cb3e81903a8cc07a" %} package: name: "{{ name|lower }}" @@ -15,6 +15,8 @@ build: noarch: python number: 0 script: "{{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv" + run_exports: + - {{ pin_subpackage('phylophlan', max_pin='x.x') }} requirements: host: @@ -39,13 +41,14 @@ requirements: - raxml >=8.2.10 - iqtree >=1.6.6 - mash + - requests test: commands: - phylophlan --version - phylophlan_draw_metagenomic --version - phylophlan_get_reference --version - - phylophlan_metagenomic --version + - phylophlan_assign_sgbs --version - phylophlan_setup_database --version - phylophlan_strain_finder --version - phylophlan_write_config_file --version diff --git a/recipes/phylornn/meta.yaml b/recipes/phylornn/meta.yaml index fd87847f297f0..a1331f7fd74c9 100644 --- a/recipes/phylornn/meta.yaml +++ b/recipes/phylornn/meta.yaml @@ -1,29 +1,29 @@ -{% set version = "1.0" %} # Remember to also update sha256 below -{% set sha256 = "3c78cff8031dff8f428c4ec2942d03404a9218cbd138cff85b4614020c531d78" %} +{% set version = "1.1" %} # Remember to also update sha256 below +{% set sha256 = "b06e459ca0d525b37d2b64b9922b1a743b126fca4641bf7512ae349325467bbe" %} package: name: phylornn version: {{ version }} source: - url: https://github.com/phyloRNN/phyloRNN/archive/refs/tags/v{{ version }}.tar.gz + url: https://github.com/phyloRNN/phyloRNN/archive/refs/tags/v{{ version }}.tar.gz sha256: {{ sha256 }} build: noarch: python number: 0 - script: {{ PYTHON }} -m pip install . -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv run_exports: - {{ pin_subpackage('phylornn', max_pin="x") }} requirements: host: - python >=3.8 - # - setuptools + - pip run: - python >=3.8 - numpy >=1.23.1,<1.24 - - seaborn >=0.11.2,<0.12 + - seaborn-base >=0.11.2,<0.12 - matplotlib-base >=3.5.2,<3.6 - pandas >=1.4.3,<1.5 - scipy >=1.8.1,<1.9 @@ -33,6 +33,7 @@ requirements: - seq-gen >=1.3.0,<1.4 - phyml >=3.3.0,<3.4 - biopython >=1.81,<2 + - ete3 test: imports: @@ -43,4 +44,3 @@ about: license: LPGL-2.1-only license_family: LGPL summary: PhyloRNN - diff --git a/recipes/phyml/build.sh b/recipes/phyml/build.sh index a8d59034a33fb..c745e54cb28c4 100644 --- a/recipes/phyml/build.sh +++ b/recipes/phyml/build.sh @@ -1,6 +1,5 @@ #!/bin/bash -set -x -set +e +set -xe export INCLUDE_PATH="${PREFIX}/include" export LIBRARY_PATH="${PREFIX}/lib" @@ -20,6 +19,15 @@ autoupdate # - phyml-beagle -- doesn't compile in this release # - phyrex -- crashes with segfault +case $(uname -m) in + x86_64) + ARCH_OPTS="-msse4.1" + ;; + *) + ARCH_OPTS="" + ;; +esac + # Adding -v to make breaks compilation on Microsoft Azure CI for binary in phyml-mpi phyml phytime; do echo ${binary} @@ -28,7 +36,7 @@ for binary in phyml-mpi phyml phytime; do --prefix="${PREFIX}" \ --enable-${binary} \ LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" - make -j"${CPU_COUNT}" CFLAGS="${CFLAGS} -msse4.1" + make -j"${CPU_COUNT}" CFLAGS="${CFLAGS} ${ARCH_OPTS}" make install make clean done diff --git a/recipes/phyml/meta.yaml b/recipes/phyml/meta.yaml index f09bca4f1653d..e09590285ebc7 100644 --- a/recipes/phyml/meta.yaml +++ b/recipes/phyml/meta.yaml @@ -12,9 +12,12 @@ source: patches: - phytime.patch - Makefile.patch + - phyml-aarch64.patch # [linux and aarch64] build: - number: 1 + number: 2 + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} requirements: build: @@ -59,6 +62,8 @@ about: across partition elements. extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:phyml - doi:10.1093/sysbio/syq010 diff --git a/recipes/phyml/phyml-aarch64.patch b/recipes/phyml/phyml-aarch64.patch new file mode 100644 index 0000000000000..bb8219483b6aa --- /dev/null +++ b/recipes/phyml/phyml-aarch64.patch @@ -0,0 +1,9368 @@ +diff --git c/src/sse.c i/src/sse.c +index a1a2ed3..4229139 100644 +--- c/src/sse.c ++++ i/src/sse.c +@@ -12,11 +12,12 @@ the GNU public licence. See http://www.opensource.org for details. + + #include "assert.h" + #include "sse.h" ++#include "sse2neon.h" + + ////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////// + +-#if ((defined(__SSE__) || defined(__SSE2__) || defined(__SSE3__)) && !((defined __AVX__ || defined __AVX2__))) ++#if ((defined(__SSE__) || defined(__SSE2__) || defined(__SSE3__) || defined(__ARM_NEON)) && !((defined __AVX__ || defined __AVX2__))) + + void SSE_Update_Eigen_Lr(t_edge *b, t_tree *tree) + { +diff --git c/src/sse.h i/src/sse.h +index f3e9f37..ff1fad9 100644 +--- c/src/sse.h ++++ i/src/sse.h +@@ -21,8 +21,9 @@ the GNU public licence. See http://www.opensource.org for details. + #include "free.h" + #include "times.h" + #include "mixt.h" ++#include "sse2neon.h" + +-#if (defined(__SSE__) || defined(__SSE2__) || defined(__SSE3__)) ++#if (defined(__SSE__) || defined(__SSE2__) || defined(__SSE3__) || defined(__ARM_NEON)) + + void SSE_Update_Partial_Lk(t_tree *tree,t_edge *b_fcus,t_node *n); + void SSE_Update_Eigen_Lr(t_edge *b, t_tree *tree); +diff --git c/src/sse2neon.h i/src/sse2neon.h +new file mode 100644 +index 0000000..7bbf4e1 +--- /dev/null ++++ i/src/sse2neon.h +@@ -0,0 +1,9289 @@ ++#ifndef SSE2NEON_H ++#define SSE2NEON_H ++ ++/* ++ * sse2neon is freely redistributable under the MIT License. ++ * ++ * Copyright (c) 2015-2024 SSE2NEON Contributors. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to deal ++ * in the Software without restriction, including without limitation the rights ++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++ * copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ * SOFTWARE. ++ */ ++ ++// This header file provides a simple API translation layer ++// between SSE intrinsics to their corresponding Arm/Aarch64 NEON versions ++// ++// Contributors to this work are: ++// John W. Ratcliff ++// Brandon Rowlett ++// Ken Fast ++// Eric van Beurden ++// Alexander Potylitsin ++// Hasindu Gamaarachchi ++// Jim Huang ++// Mark Cheng ++// Malcolm James MacLeod ++// Devin Hussey (easyaspi314) ++// Sebastian Pop ++// Developer Ecosystem Engineering ++// Danila Kutenin ++// François Turban (JishinMaster) ++// Pei-Hsuan Hung ++// Yang-Hao Yuan ++// Syoyo Fujita ++// Brecht Van Lommel ++// Jonathan Hue ++// Cuda Chen ++// Aymen Qader ++// Anthony Roberts ++ ++/* Tunable configurations */ ++ ++/* Enable precise implementation of math operations ++ * This would slow down the computation a bit, but gives consistent result with ++ * x86 SSE. (e.g. would solve a hole or NaN pixel in the rendering result) ++ */ ++/* _mm_min|max_ps|ss|pd|sd */ ++#ifndef SSE2NEON_PRECISE_MINMAX ++#define SSE2NEON_PRECISE_MINMAX (0) ++#endif ++/* _mm_rcp_ps */ ++#ifndef SSE2NEON_PRECISE_DIV ++#define SSE2NEON_PRECISE_DIV (0) ++#endif ++/* _mm_sqrt_ps and _mm_rsqrt_ps */ ++#ifndef SSE2NEON_PRECISE_SQRT ++#define SSE2NEON_PRECISE_SQRT (0) ++#endif ++/* _mm_dp_pd */ ++#ifndef SSE2NEON_PRECISE_DP ++#define SSE2NEON_PRECISE_DP (0) ++#endif ++ ++/* Enable inclusion of windows.h on MSVC platforms ++ * This makes _mm_clflush functional on windows, as there is no builtin. ++ */ ++#ifndef SSE2NEON_INCLUDE_WINDOWS_H ++#define SSE2NEON_INCLUDE_WINDOWS_H (0) ++#endif ++ ++/* compiler specific definitions */ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma push_macro("FORCE_INLINE") ++#pragma push_macro("ALIGN_STRUCT") ++#define FORCE_INLINE static inline __attribute__((always_inline)) ++#define ALIGN_STRUCT(x) __attribute__((aligned(x))) ++#define _sse2neon_likely(x) __builtin_expect(!!(x), 1) ++#define _sse2neon_unlikely(x) __builtin_expect(!!(x), 0) ++#elif defined(_MSC_VER) ++#if _MSVC_TRADITIONAL ++#error Using the traditional MSVC preprocessor is not supported! Use /Zc:preprocessor instead. ++#endif ++#ifndef FORCE_INLINE ++#define FORCE_INLINE static inline ++#endif ++#ifndef ALIGN_STRUCT ++#define ALIGN_STRUCT(x) __declspec(align(x)) ++#endif ++#define _sse2neon_likely(x) (x) ++#define _sse2neon_unlikely(x) (x) ++#else ++#pragma message("Macro name collisions may happen with unsupported compilers.") ++#endif ++ ++#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ < 10 ++#warning "GCC versions earlier than 10 are not supported." ++#endif ++ ++/* C language does not allow initializing a variable with a function call. */ ++#ifdef __cplusplus ++#define _sse2neon_const static const ++#else ++#define _sse2neon_const const ++#endif ++ ++#include ++#include ++ ++#if defined(_WIN32) ++/* Definitions for _mm_{malloc,free} are provided by ++ * from both MinGW-w64 and MSVC. ++ */ ++#define SSE2NEON_ALLOC_DEFINED ++#endif ++ ++/* If using MSVC */ ++#ifdef _MSC_VER ++#include ++#if SSE2NEON_INCLUDE_WINDOWS_H ++#include ++#include ++#endif ++ ++#if !defined(__cplusplus) ++#error SSE2NEON only supports C++ compilation with this compiler ++#endif ++ ++#ifdef SSE2NEON_ALLOC_DEFINED ++#include ++#endif ++ ++#if (defined(_M_AMD64) || defined(__x86_64__)) || \ ++ (defined(_M_ARM64) || defined(__arm64__)) ++#define SSE2NEON_HAS_BITSCAN64 ++#endif ++#endif ++ ++#if defined(__GNUC__) || defined(__clang__) ++#define _sse2neon_define0(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define1(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define2(type, a, b, body) \ ++ __extension__({ \ ++ type _a = (a), _b = (b); \ ++ body \ ++ }) ++#define _sse2neon_return(ret) (ret) ++#else ++#define _sse2neon_define0(type, a, body) [=](type _a) { body }(a) ++#define _sse2neon_define1(type, a, body) [](type _a) { body }(a) ++#define _sse2neon_define2(type, a, b, body) \ ++ [](type _a, type _b) { body }((a), (b)) ++#define _sse2neon_return(ret) return ret ++#endif ++ ++#define _sse2neon_init(...) \ ++ { \ ++ __VA_ARGS__ \ ++ } ++ ++/* Compiler barrier */ ++#if defined(_MSC_VER) ++#define SSE2NEON_BARRIER() _ReadWriteBarrier() ++#else ++#define SSE2NEON_BARRIER() \ ++ do { \ ++ __asm__ __volatile__("" ::: "memory"); \ ++ (void) 0; \ ++ } while (0) ++#endif ++ ++/* Memory barriers ++ * __atomic_thread_fence does not include a compiler barrier; instead, ++ * the barrier is part of __atomic_load/__atomic_store's "volatile-like" ++ * semantics. ++ */ ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) ++#include ++#endif ++ ++FORCE_INLINE void _sse2neon_smp_mb(void) ++{ ++ SSE2NEON_BARRIER(); ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \ ++ !defined(__STDC_NO_ATOMICS__) ++ atomic_thread_fence(memory_order_seq_cst); ++#elif defined(__GNUC__) || defined(__clang__) ++ __atomic_thread_fence(__ATOMIC_SEQ_CST); ++#else /* MSVC */ ++ __dmb(_ARM64_BARRIER_ISH); ++#endif ++} ++ ++/* Architecture-specific build options */ ++/* FIXME: #pragma GCC push_options is only available on GCC */ ++#if defined(__GNUC__) ++#if defined(__arm__) && __ARM_ARCH == 7 ++/* According to ARM C Language Extensions Architecture specification, ++ * __ARM_NEON is defined to a value indicating the Advanced SIMD (NEON) ++ * architecture supported. ++ */ ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error "You must enable NEON instructions (e.g. -mfpu=neon) to use SSE2NEON." ++#endif ++#if !defined(__clang__) ++#pragma GCC push_options ++#pragma GCC target("fpu=neon") ++#endif ++#elif defined(__aarch64__) || defined(_M_ARM64) ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#pragma GCC target("+simd") ++#endif ++#elif __ARM_ARCH == 8 ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error \ ++ "You must enable NEON instructions (e.g. -mfpu=neon-fp-armv8) to use SSE2NEON." ++#endif ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#endif ++#else ++#error \ ++ "Unsupported target. Must be either ARMv7-A+NEON or ARMv8-A \ ++(you could try setting target explicitly with -march or -mcpu)" ++#endif ++#endif ++ ++#include ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) && (__ARM_ARCH == 8) ++#if defined __has_include && __has_include() ++#include ++#endif ++#endif ++ ++/* Apple Silicon cache lines are double of what is commonly used by Intel, AMD ++ * and other Arm microarchitectures use. ++ * From sysctl -a on Apple M1: ++ * hw.cachelinesize: 128 ++ */ ++#if defined(__APPLE__) && (defined(__aarch64__) || defined(__arm64__)) ++#define SSE2NEON_CACHELINE_SIZE 128 ++#else ++#define SSE2NEON_CACHELINE_SIZE 64 ++#endif ++ ++/* Rounding functions require either Aarch64 instructions or libm fallback */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#include ++#endif ++ ++/* On ARMv7, some registers, such as PMUSERENR and PMCCNTR, are read-only ++ * or even not accessible in user mode. ++ * To write or access to these registers in user mode, ++ * we have to perform syscall instead. ++ */ ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) ++#include ++#endif ++ ++/* "__has_builtin" can be used to query support for built-in functions ++ * provided by gcc/clang and other compilers that support it. ++ */ ++#ifndef __has_builtin /* GCC prior to 10 or non-clang compilers */ ++/* Compatibility with gcc <= 9 */ ++#if defined(__GNUC__) && (__GNUC__ <= 9) ++#define __has_builtin(x) HAS##x ++#define HAS__builtin_popcount 1 ++#define HAS__builtin_popcountll 1 ++ ++// __builtin_shuffle introduced in GCC 4.7.0 ++#if (__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) ++#define HAS__builtin_shuffle 1 ++#else ++#define HAS__builtin_shuffle 0 ++#endif ++ ++#define HAS__builtin_shufflevector 0 ++#define HAS__builtin_nontemporal_store 0 ++#else ++#define __has_builtin(x) 0 ++#endif ++#endif ++ ++/** ++ * MACRO for shuffle parameter for _mm_shuffle_ps(). ++ * Argument fp3 is a digit[0123] that represents the fp from argument "b" ++ * of mm_shuffle_ps that will be placed in fp3 of result. fp2 is the same ++ * for fp2 in result. fp1 is a digit[0123] that represents the fp from ++ * argument "a" of mm_shuffle_ps that will be places in fp1 of result. ++ * fp0 is the same for fp0 of result. ++ */ ++#define _MM_SHUFFLE(fp3, fp2, fp1, fp0) \ ++ (((fp3) << 6) | ((fp2) << 4) | ((fp1) << 2) | ((fp0))) ++ ++#if __has_builtin(__builtin_shufflevector) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __builtin_shufflevector(a, b, __VA_ARGS__) ++#elif __has_builtin(__builtin_shuffle) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __extension__({ \ ++ type tmp = {__VA_ARGS__}; \ ++ __builtin_shuffle(a, b, tmp); \ ++ }) ++#endif ++ ++#ifdef _sse2neon_shuffle ++#define vshuffle_s16(a, b, ...) _sse2neon_shuffle(int16x4_t, a, b, __VA_ARGS__) ++#define vshuffleq_s16(a, b, ...) _sse2neon_shuffle(int16x8_t, a, b, __VA_ARGS__) ++#define vshuffle_s32(a, b, ...) _sse2neon_shuffle(int32x2_t, a, b, __VA_ARGS__) ++#define vshuffleq_s32(a, b, ...) _sse2neon_shuffle(int32x4_t, a, b, __VA_ARGS__) ++#define vshuffle_s64(a, b, ...) _sse2neon_shuffle(int64x1_t, a, b, __VA_ARGS__) ++#define vshuffleq_s64(a, b, ...) _sse2neon_shuffle(int64x2_t, a, b, __VA_ARGS__) ++#endif ++ ++/* Rounding mode macros. */ ++#define _MM_FROUND_TO_NEAREST_INT 0x00 ++#define _MM_FROUND_TO_NEG_INF 0x01 ++#define _MM_FROUND_TO_POS_INF 0x02 ++#define _MM_FROUND_TO_ZERO 0x03 ++#define _MM_FROUND_CUR_DIRECTION 0x04 ++#define _MM_FROUND_NO_EXC 0x08 ++#define _MM_FROUND_RAISE_EXC 0x00 ++#define _MM_FROUND_NINT (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_FLOOR (_MM_FROUND_TO_NEG_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_CEIL (_MM_FROUND_TO_POS_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_TRUNC (_MM_FROUND_TO_ZERO | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_RINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_NEARBYINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_NO_EXC) ++#define _MM_ROUND_NEAREST 0x0000 ++#define _MM_ROUND_DOWN 0x2000 ++#define _MM_ROUND_UP 0x4000 ++#define _MM_ROUND_TOWARD_ZERO 0x6000 ++/* Flush zero mode macros. */ ++#define _MM_FLUSH_ZERO_MASK 0x8000 ++#define _MM_FLUSH_ZERO_ON 0x8000 ++#define _MM_FLUSH_ZERO_OFF 0x0000 ++/* Denormals are zeros mode macros. */ ++#define _MM_DENORMALS_ZERO_MASK 0x0040 ++#define _MM_DENORMALS_ZERO_ON 0x0040 ++#define _MM_DENORMALS_ZERO_OFF 0x0000 ++ ++/* indicate immediate constant argument in a given range */ ++#define __constrange(a, b) const ++ ++/* A few intrinsics accept traditional data types like ints or floats, but ++ * most operate on data types that are specific to SSE. ++ * If a vector type ends in d, it contains doubles, and if it does not have ++ * a suffix, it contains floats. An integer vector type can contain any type ++ * of integer, from chars to shorts to unsigned long longs. ++ */ ++typedef int64x1_t __m64; ++typedef float32x4_t __m128; /* 128-bit vector containing 4 floats */ ++// On ARM 32-bit architecture, the float64x2_t is not supported. ++// The data type __m128d should be represented in a different way for related ++// intrinsic conversion. ++#if defined(__aarch64__) || defined(_M_ARM64) ++typedef float64x2_t __m128d; /* 128-bit vector containing 2 doubles */ ++#else ++typedef float32x4_t __m128d; ++#endif ++typedef int64x2_t __m128i; /* 128-bit vector containing integers */ ++ ++// Some intrinsics operate on unaligned data types. ++typedef int16_t ALIGN_STRUCT(1) unaligned_int16_t; ++typedef int32_t ALIGN_STRUCT(1) unaligned_int32_t; ++typedef int64_t ALIGN_STRUCT(1) unaligned_int64_t; ++ ++// __int64 is defined in the Intrinsics Guide which maps to different datatype ++// in different data model ++#if !(defined(_WIN32) || defined(_WIN64) || defined(__int64)) ++#if (defined(__x86_64__) || defined(__i386__)) ++#define __int64 long long ++#else ++#define __int64 int64_t ++#endif ++#endif ++ ++/* type-safe casting between types */ ++ ++#define vreinterpretq_m128_f16(x) vreinterpretq_f32_f16(x) ++#define vreinterpretq_m128_f32(x) (x) ++#define vreinterpretq_m128_f64(x) vreinterpretq_f32_f64(x) ++ ++#define vreinterpretq_m128_u8(x) vreinterpretq_f32_u8(x) ++#define vreinterpretq_m128_u16(x) vreinterpretq_f32_u16(x) ++#define vreinterpretq_m128_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128_s8(x) vreinterpretq_f32_s8(x) ++#define vreinterpretq_m128_s16(x) vreinterpretq_f32_s16(x) ++#define vreinterpretq_m128_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_f16_m128(x) vreinterpretq_f16_f32(x) ++#define vreinterpretq_f32_m128(x) (x) ++#define vreinterpretq_f64_m128(x) vreinterpretq_f64_f32(x) ++ ++#define vreinterpretq_u8_m128(x) vreinterpretq_u8_f32(x) ++#define vreinterpretq_u16_m128(x) vreinterpretq_u16_f32(x) ++#define vreinterpretq_u32_m128(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_s8_m128(x) vreinterpretq_s8_f32(x) ++#define vreinterpretq_s16_m128(x) vreinterpretq_s16_f32(x) ++#define vreinterpretq_s32_m128(x) vreinterpretq_s32_f32(x) ++#define vreinterpretq_s64_m128(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_m128i_s8(x) vreinterpretq_s64_s8(x) ++#define vreinterpretq_m128i_s16(x) vreinterpretq_s64_s16(x) ++#define vreinterpretq_m128i_s32(x) vreinterpretq_s64_s32(x) ++#define vreinterpretq_m128i_s64(x) (x) ++ ++#define vreinterpretq_m128i_u8(x) vreinterpretq_s64_u8(x) ++#define vreinterpretq_m128i_u16(x) vreinterpretq_s64_u16(x) ++#define vreinterpretq_m128i_u32(x) vreinterpretq_s64_u32(x) ++#define vreinterpretq_m128i_u64(x) vreinterpretq_s64_u64(x) ++ ++#define vreinterpretq_f32_m128i(x) vreinterpretq_f32_s64(x) ++#define vreinterpretq_f64_m128i(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_s8_m128i(x) vreinterpretq_s8_s64(x) ++#define vreinterpretq_s16_m128i(x) vreinterpretq_s16_s64(x) ++#define vreinterpretq_s32_m128i(x) vreinterpretq_s32_s64(x) ++#define vreinterpretq_s64_m128i(x) (x) ++ ++#define vreinterpretq_u8_m128i(x) vreinterpretq_u8_s64(x) ++#define vreinterpretq_u16_m128i(x) vreinterpretq_u16_s64(x) ++#define vreinterpretq_u32_m128i(x) vreinterpretq_u32_s64(x) ++#define vreinterpretq_u64_m128i(x) vreinterpretq_u64_s64(x) ++ ++#define vreinterpret_m64_s8(x) vreinterpret_s64_s8(x) ++#define vreinterpret_m64_s16(x) vreinterpret_s64_s16(x) ++#define vreinterpret_m64_s32(x) vreinterpret_s64_s32(x) ++#define vreinterpret_m64_s64(x) (x) ++ ++#define vreinterpret_m64_u8(x) vreinterpret_s64_u8(x) ++#define vreinterpret_m64_u16(x) vreinterpret_s64_u16(x) ++#define vreinterpret_m64_u32(x) vreinterpret_s64_u32(x) ++#define vreinterpret_m64_u64(x) vreinterpret_s64_u64(x) ++ ++#define vreinterpret_m64_f16(x) vreinterpret_s64_f16(x) ++#define vreinterpret_m64_f32(x) vreinterpret_s64_f32(x) ++#define vreinterpret_m64_f64(x) vreinterpret_s64_f64(x) ++ ++#define vreinterpret_u8_m64(x) vreinterpret_u8_s64(x) ++#define vreinterpret_u16_m64(x) vreinterpret_u16_s64(x) ++#define vreinterpret_u32_m64(x) vreinterpret_u32_s64(x) ++#define vreinterpret_u64_m64(x) vreinterpret_u64_s64(x) ++ ++#define vreinterpret_s8_m64(x) vreinterpret_s8_s64(x) ++#define vreinterpret_s16_m64(x) vreinterpret_s16_s64(x) ++#define vreinterpret_s32_m64(x) vreinterpret_s32_s64(x) ++#define vreinterpret_s64_m64(x) (x) ++ ++#define vreinterpret_f32_m64(x) vreinterpret_f32_s64(x) ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f64_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f64_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) vreinterpretq_f64_f32(x) ++#define vreinterpretq_m128d_f64(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f64(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f64(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f64(x) ++ ++#define vreinterpretq_f64_m128d(x) (x) ++#define vreinterpretq_f32_m128d(x) vreinterpretq_f32_f64(x) ++#else ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_m128d_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_f32_m128d(x) (x) ++#endif ++ ++// A struct is defined in this header file called 'SIMDVec' which can be used ++// by applications which attempt to access the contents of an __m128 struct ++// directly. It is important to note that accessing the __m128 struct directly ++// is bad coding practice by Microsoft: @see: ++// https://learn.microsoft.com/en-us/cpp/cpp/m128 ++// ++// However, some legacy source code may try to access the contents of an __m128 ++// struct directly so the developer can use the SIMDVec as an alias for it. Any ++// casting must be done manually by the developer, as you cannot cast or ++// otherwise alias the base NEON data type for intrinsic operations. ++// ++// union intended to allow direct access to an __m128 variable using the names ++// that the MSVC compiler provides. This union should really only be used when ++// trying to access the members of the vector as integer values. GCC/clang ++// allow native access to the float members through a simple array access ++// operator (in C since 4.6, in C++ since 4.8). ++// ++// Ideally direct accesses to SIMD vectors should not be used since it can cause ++// a performance hit. If it really is needed however, the original __m128 ++// variable can be aliased with a pointer to this union and used to access ++// individual components. The use of this union should be hidden behind a macro ++// that is used throughout the codebase to access the members instead of always ++// declaring this type of variable. ++typedef union ALIGN_STRUCT(16) SIMDVec { ++ float m128_f32[4]; // as floats - DON'T USE. Added for convenience. ++ int8_t m128_i8[16]; // as signed 8-bit integers. ++ int16_t m128_i16[8]; // as signed 16-bit integers. ++ int32_t m128_i32[4]; // as signed 32-bit integers. ++ int64_t m128_i64[2]; // as signed 64-bit integers. ++ uint8_t m128_u8[16]; // as unsigned 8-bit integers. ++ uint16_t m128_u16[8]; // as unsigned 16-bit integers. ++ uint32_t m128_u32[4]; // as unsigned 32-bit integers. ++ uint64_t m128_u64[2]; // as unsigned 64-bit integers. ++} SIMDVec; ++ ++// casting using SIMDVec ++#define vreinterpretq_nth_u64_m128i(x, n) (((SIMDVec *) &x)->m128_u64[n]) ++#define vreinterpretq_nth_u32_m128i(x, n) (((SIMDVec *) &x)->m128_u32[n]) ++#define vreinterpretq_nth_u8_m128i(x, n) (((SIMDVec *) &x)->m128_u8[n]) ++ ++/* SSE macros */ ++#define _MM_GET_FLUSH_ZERO_MODE _sse2neon_mm_get_flush_zero_mode ++#define _MM_SET_FLUSH_ZERO_MODE _sse2neon_mm_set_flush_zero_mode ++#define _MM_GET_DENORMALS_ZERO_MODE _sse2neon_mm_get_denormals_zero_mode ++#define _MM_SET_DENORMALS_ZERO_MODE _sse2neon_mm_set_denormals_zero_mode ++ ++// Function declaration ++// SSE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void); ++FORCE_INLINE __m128 _mm_move_ss(__m128, __m128); ++FORCE_INLINE __m128 _mm_or_ps(__m128, __m128); ++FORCE_INLINE __m128 _mm_set_ps1(float); ++FORCE_INLINE __m128 _mm_setzero_ps(void); ++// SSE2 ++FORCE_INLINE __m128i _mm_and_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_castps_si128(__m128); ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128); ++FORCE_INLINE __m128d _mm_move_sd(__m128d, __m128d); ++FORCE_INLINE __m128i _mm_or_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_set_epi32(int, int, int, int); ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t, int64_t); ++FORCE_INLINE __m128d _mm_set_pd(double, double); ++FORCE_INLINE __m128i _mm_set1_epi32(int); ++FORCE_INLINE __m128i _mm_setzero_si128(void); ++// SSE4.1 ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d); ++FORCE_INLINE __m128 _mm_ceil_ps(__m128); ++FORCE_INLINE __m128d _mm_floor_pd(__m128d); ++FORCE_INLINE __m128 _mm_floor_ps(__m128); ++FORCE_INLINE __m128d _mm_round_pd(__m128d, int); ++FORCE_INLINE __m128 _mm_round_ps(__m128, int); ++// SSE4.2 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t, uint8_t); ++ ++/* Backwards compatibility for compilers with lack of specific type support */ ++ ++// Older gcc does not define vld1q_u8_x4 type ++#if defined(__GNUC__) && !defined(__clang__) && \ ++ ((__GNUC__ <= 13 && defined(__arm__)) || \ ++ (__GNUC__ == 10 && __GNUC_MINOR__ < 3 && defined(__aarch64__)) || \ ++ (__GNUC__ <= 9 && defined(__aarch64__))) ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ uint8x16x4_t ret; ++ ret.val[0] = vld1q_u8(p + 0); ++ ret.val[1] = vld1q_u8(p + 16); ++ ret.val[2] = vld1q_u8(p + 32); ++ ret.val[3] = vld1q_u8(p + 48); ++ return ret; ++} ++#else ++// Wraps vld1q_u8_x4 ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ return vld1q_u8_x4(p); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddv u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ const uint64x1_t v1 = vpaddl_u32(vpaddl_u16(vpaddl_u8(v8))); ++ return vget_lane_u8(vreinterpret_u8_u64(v1), 0); ++} ++#else ++// Wraps vaddv_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ return vaddv_u8(v8); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ uint8x8_t tmp = vpadd_u8(vget_low_u8(a), vget_high_u8(a)); ++ uint8_t res = 0; ++ for (int i = 0; i < 8; ++i) ++ res += tmp[i]; ++ return res; ++} ++#else ++// Wraps vaddvq_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ return vaddvq_u8(a); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u16 variant */ ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ uint32x4_t m = vpaddlq_u16(a); ++ uint64x2_t n = vpaddlq_u32(m); ++ uint64x1_t o = vget_low_u64(n) + vget_high_u64(n); ++ ++ return vget_lane_u32((uint32x2_t) o, 0); ++} ++#else ++// Wraps vaddvq_u16 ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ return vaddvq_u16(a); ++} ++#endif ++ ++/* Function Naming Conventions ++ * The naming convention of SSE intrinsics is straightforward. A generic SSE ++ * intrinsic function is given as follows: ++ * _mm__ ++ * ++ * The parts of this format are given as follows: ++ * 1. describes the operation performed by the intrinsic ++ * 2. identifies the data type of the function's primary arguments ++ * ++ * This last part, , is a little complicated. It identifies the ++ * content of the input values, and can be set to any of the following values: ++ * + ps - vectors contain floats (ps stands for packed single-precision) ++ * + pd - vectors contain doubles (pd stands for packed double-precision) ++ * + epi8/epi16/epi32/epi64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * signed integers ++ * + epu8/epu16/epu32/epu64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * unsigned integers ++ * + si128 - unspecified 128-bit vector or 256-bit vector ++ * + m128/m128i/m128d - identifies input vector types when they are different ++ * than the type of the returned vector ++ * ++ * For example, _mm_setzero_ps. The _mm implies that the function returns ++ * a 128-bit vector. The _ps at the end implies that the argument vectors ++ * contain floats. ++ * ++ * A complete example: Byte Shuffle - pshufb (_mm_shuffle_epi8) ++ * // Set packed 16-bit integers. 128 bits, 8 short, per 16 bits ++ * __m128i v_in = _mm_setr_epi16(1, 2, 3, 4, 5, 6, 7, 8); ++ * // Set packed 8-bit integers ++ * // 128 bits, 16 chars, per 8 bits ++ * __m128i v_perm = _mm_setr_epi8(1, 0, 2, 3, 8, 9, 10, 11, ++ * 4, 5, 12, 13, 6, 7, 14, 15); ++ * // Shuffle packed 8-bit integers ++ * __m128i v_out = _mm_shuffle_epi8(v_in, v_perm); // pshufb ++ */ ++ ++/* Constants for use with _mm_prefetch. */ ++enum _mm_hint { ++ _MM_HINT_NTA = 0, /* load data to L1 and L2 cache, mark it as NTA */ ++ _MM_HINT_T0 = 1, /* load data to L1 and L2 cache */ ++ _MM_HINT_T1 = 2, /* load data to L2 cache only */ ++ _MM_HINT_T2 = 3, /* load data to L2 cache only, mark it as NTA */ ++}; ++ ++// The bit field mapping to the FPCR(floating-point control register) ++typedef struct { ++ uint16_t res0; ++ uint8_t res1 : 6; ++ uint8_t bit22 : 1; ++ uint8_t bit23 : 1; ++ uint8_t bit24 : 1; ++ uint8_t res2 : 7; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32_t res3; ++#endif ++} fpcr_bitfield; ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of b and places it into the high end of the result. ++FORCE_INLINE __m128 _mm_shuffle_ps_1032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in high ++// end of result takes the higher two 32 bit values from b and swaps them and ++// places in low end of result. ++FORCE_INLINE __m128 _mm_shuffle_ps_2301(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b23 = vrev64_f32(vget_high_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b23)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0321(__m128 a, __m128 b) ++{ ++ float32x2_t a21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a21, b03)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2103(__m128 a, __m128 b) ++{ ++ float32x2_t a03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a03, b21)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0101(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b01)); ++} ++ ++// keeps the low 64 bits of b in the low and puts the high 64 bits of a in the ++// high ++FORCE_INLINE __m128 _mm_shuffle_ps_3210(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0011(__m128 a, __m128 b) ++{ ++ float32x2_t a11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a11, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0022(__m128 a, __m128 b) ++{ ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a22, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2200(__m128 a, __m128 b) ++{ ++ float32x2_t a00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a00, b22)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_3202(__m128 a, __m128 b) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t a02 = vset_lane_f32(a0, a22, 1); /* TODO: use vzip ?*/ ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a02, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1133(__m128 a, __m128 b) ++{ ++ float32x2_t a33 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a33, b11)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b20)); ++} ++ ++// For MSVC, we check only if it is ARM64, as every single ARM64 processor ++// supported by WoA has crypto extensions. If this changes in the future, ++// this can be verified via the runtime-only method of: ++// IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE) ++#if (defined(_M_ARM64) && !defined(__clang__)) || \ ++ (defined(__ARM_FEATURE_CRYPTO) && \ ++ (defined(__aarch64__) || __has_builtin(__builtin_arm_crypto_vmullp64))) ++// Wraps vmull_p64 ++FORCE_INLINE uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly64_t a = vget_lane_p64(vreinterpret_p64_u64(_a), 0); ++ poly64_t b = vget_lane_p64(vreinterpret_p64_u64(_b), 0); ++#if defined(_MSC_VER) ++ __n64 a1 = {a}, b1 = {b}; ++ return vreinterpretq_u64_p128(vmull_p64(a1, b1)); ++#else ++ return vreinterpretq_u64_p128(vmull_p64(a, b)); ++#endif ++} ++#else // ARMv7 polyfill ++// ARMv7/some A64 lacks vmull_p64, but it has vmull_p8. ++// ++// vmull_p8 calculates 8 8-bit->16-bit polynomial multiplies, but we need a ++// 64-bit->128-bit polynomial multiply. ++// ++// It needs some work and is somewhat slow, but it is still faster than all ++// known scalar methods. ++// ++// Algorithm adapted to C from ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/, which is adapted ++// from "Fast Software Polynomial Multiplication on ARM Processors Using the ++// NEON Engine" by Danilo Camara, Conrado Gouvea, Julio Lopez and Ricardo Dahab ++// (https://hal.inria.fr/hal-01506572) ++static uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly8x8_t a = vreinterpret_p8_u64(_a); ++ poly8x8_t b = vreinterpret_p8_u64(_b); ++ ++ // Masks ++ uint8x16_t k48_32 = vcombine_u8(vcreate_u8(0x0000ffffffffffff), ++ vcreate_u8(0x00000000ffffffff)); ++ uint8x16_t k16_00 = vcombine_u8(vcreate_u8(0x000000000000ffff), ++ vcreate_u8(0x0000000000000000)); ++ ++ // Do the multiplies, rotating with vext to get all combinations ++ uint8x16_t d = vreinterpretq_u8_p16(vmull_p8(a, b)); // D = A0 * B0 ++ uint8x16_t e = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 1))); // E = A0 * B1 ++ uint8x16_t f = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 1), b)); // F = A1 * B0 ++ uint8x16_t g = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 2))); // G = A0 * B2 ++ uint8x16_t h = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 2), b)); // H = A2 * B0 ++ uint8x16_t i = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 3))); // I = A0 * B3 ++ uint8x16_t j = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 3), b)); // J = A3 * B0 ++ uint8x16_t k = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 4))); // L = A0 * B4 ++ ++ // Add cross products ++ uint8x16_t l = veorq_u8(e, f); // L = E + F ++ uint8x16_t m = veorq_u8(g, h); // M = G + H ++ uint8x16_t n = veorq_u8(i, j); // N = I + J ++ ++ // Interleave. Using vzip1 and vzip2 prevents Clang from emitting TBL ++ // instructions. ++#if defined(__aarch64__) ++ uint8x16_t lm_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t lm_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t nk_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++ uint8x16_t nk_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++#else ++ uint8x16_t lm_p0 = vcombine_u8(vget_low_u8(l), vget_low_u8(m)); ++ uint8x16_t lm_p1 = vcombine_u8(vget_high_u8(l), vget_high_u8(m)); ++ uint8x16_t nk_p0 = vcombine_u8(vget_low_u8(n), vget_low_u8(k)); ++ uint8x16_t nk_p1 = vcombine_u8(vget_high_u8(n), vget_high_u8(k)); ++#endif ++ // t0 = (L) (P0 + P1) << 8 ++ // t1 = (M) (P2 + P3) << 16 ++ uint8x16_t t0t1_tmp = veorq_u8(lm_p0, lm_p1); ++ uint8x16_t t0t1_h = vandq_u8(lm_p1, k48_32); ++ uint8x16_t t0t1_l = veorq_u8(t0t1_tmp, t0t1_h); ++ ++ // t2 = (N) (P4 + P5) << 24 ++ // t3 = (K) (P6 + P7) << 32 ++ uint8x16_t t2t3_tmp = veorq_u8(nk_p0, nk_p1); ++ uint8x16_t t2t3_h = vandq_u8(nk_p1, k16_00); ++ uint8x16_t t2t3_l = veorq_u8(t2t3_tmp, t2t3_h); ++ ++ // De-interleave ++#if defined(__aarch64__) ++ uint8x16_t t0 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t1 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t2 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++ uint8x16_t t3 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++#else ++ uint8x16_t t1 = vcombine_u8(vget_high_u8(t0t1_l), vget_high_u8(t0t1_h)); ++ uint8x16_t t0 = vcombine_u8(vget_low_u8(t0t1_l), vget_low_u8(t0t1_h)); ++ uint8x16_t t3 = vcombine_u8(vget_high_u8(t2t3_l), vget_high_u8(t2t3_h)); ++ uint8x16_t t2 = vcombine_u8(vget_low_u8(t2t3_l), vget_low_u8(t2t3_h)); ++#endif ++ // Shift the cross products ++ uint8x16_t t0_shift = vextq_u8(t0, t0, 15); // t0 << 8 ++ uint8x16_t t1_shift = vextq_u8(t1, t1, 14); // t1 << 16 ++ uint8x16_t t2_shift = vextq_u8(t2, t2, 13); // t2 << 24 ++ uint8x16_t t3_shift = vextq_u8(t3, t3, 12); // t3 << 32 ++ ++ // Accumulate the products ++ uint8x16_t cross1 = veorq_u8(t0_shift, t1_shift); ++ uint8x16_t cross2 = veorq_u8(t2_shift, t3_shift); ++ uint8x16_t mix = veorq_u8(d, cross1); ++ uint8x16_t r = veorq_u8(mix, cross2); ++ return vreinterpretq_u64_u8(r); ++} ++#endif // ARMv7 polyfill ++ ++// C equivalent: ++// __m128i _mm_shuffle_epi32_default(__m128i a, ++// __constrange(0, 255) int imm) { ++// __m128i ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = a[(imm >> 4) & 0x03]; ret[3] = a[(imm >> 6) & 0x03]; ++// return ret; ++// } ++#define _mm_shuffle_epi32_default(a, imm) \ ++ vreinterpretq_m128i_s32(vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), \ ++ ((imm) >> 2) & 0x3), \ ++ vmovq_n_s32(vgetq_lane_s32( \ ++ vreinterpretq_s32_m128i(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of a and places it into the high end of the result. ++FORCE_INLINE __m128i _mm_shuffle_epi_1032(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in low end ++// of result takes the higher two 32 bit values from a and swaps them and places ++// in high end of result. ++FORCE_INLINE __m128i _mm_shuffle_epi_2301(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a23 = vrev64_s32(vget_high_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a23)); ++} ++ ++// rotates the least significant 32 bits into the most significant 32 bits, and ++// shifts the rest down ++FORCE_INLINE __m128i _mm_shuffle_epi_0321(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 1)); ++} ++ ++// rotates the most significant 32 bits into the least significant 32 bits, and ++// shifts the rest up ++FORCE_INLINE __m128i _mm_shuffle_epi_2103(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 3)); ++} ++ ++// gets the lower 64 bits of a, and places it in the upper 64 bits ++// gets the lower 64 bits of a and places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1010(__m128i a) ++{ ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a10, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements, and places it in the ++// lower 64 bits gets the lower 64 bits of a, and places it in the upper 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1001(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements and places it in the ++// upper 64 bits gets the lower 64 bits of a, swaps the 0 and 1 elements, and ++// places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_0101(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_2211(__m128i a) ++{ ++ int32x2_t a11 = vdup_lane_s32(vget_low_s32(vreinterpretq_s32_m128i(a)), 1); ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ return vreinterpretq_m128i_s32(vcombine_s32(a11, a22)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_0122(__m128i a) ++{ ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a22, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_3332(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a33 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 1); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a33)); ++} ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32(vdupq_laneq_s32(vreinterpretq_s32_m128i(a), (imm))) ++#else ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vdupq_n_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)))) ++#endif ++ ++// NEON does not support a general purpose permute intrinsic. ++// Shuffle single-precision (32-bit) floating-point elements in a using the ++// control in imm8, and store the results in dst. ++// ++// C equivalent: ++// __m128 _mm_shuffle_ps_default(__m128 a, __m128 b, ++// __constrange(0, 255) int imm) { ++// __m128 ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = b[(imm >> 4) & 0x03]; ret[3] = b[(imm >> 6) & 0x03]; ++// return ret; ++// } ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_ps ++#define _mm_shuffle_ps_default(a, b, imm) \ ++ vreinterpretq_m128_f32(vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), ((imm) >> 2) & 0x3), \ ++ vmovq_n_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Shuffle 16-bit integers in the low 64 bits of a using the control in imm8. ++// Store the results in the low 64 bits of dst, with the high 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflelo_epi16 ++#define _mm_shufflelo_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t lowBits = vget_low_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, (imm) & (0x3)), ret, 0); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++// Shuffle 16-bit integers in the high 64 bits of a using the control in imm8. ++// Store the results in the high 64 bits of dst, with the low 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflehi_epi16 ++#define _mm_shufflehi_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t highBits = vget_high_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, (imm) & (0x3)), ret, 4); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 2) & 0x3), ret, \ ++ 5); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 4) & 0x3), ret, \ ++ 6); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 6) & 0x3), ret, \ ++ 7); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++/* MMX */ ++ ++//_mm_empty is a no-op on arm ++FORCE_INLINE void _mm_empty(void) {} ++ ++/* SSE */ ++ ++// Add packed single-precision (32-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ps ++FORCE_INLINE __m128 _mm_add_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Add the lower single-precision (32-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ss ++FORCE_INLINE __m128 _mm_add_ss(__m128 a, __m128 b) ++{ ++ float32_t b0 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++ float32x4_t value = vsetq_lane_f32(b0, vdupq_n_f32(0), 0); ++ // the upper values in the result must be the remnants of . ++ return vreinterpretq_m128_f32(vaddq_f32(a, value)); ++} ++ ++// Compute the bitwise AND of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_ps ++FORCE_INLINE __m128 _mm_and_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vandq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Compute the bitwise NOT of packed single-precision (32-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_ps ++FORCE_INLINE __m128 _mm_andnot_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vbicq_s32(vreinterpretq_s32_m128(b), ++ vreinterpretq_s32_m128(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu16 ++FORCE_INLINE __m64 _mm_avg_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16( ++ vrhadd_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu8 ++FORCE_INLINE __m64 _mm_avg_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vrhadd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ps ++FORCE_INLINE __m128 _mm_cmpeq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ss ++FORCE_INLINE __m128 _mm_cmpeq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpeq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ps ++FORCE_INLINE __m128 _mm_cmpge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ss ++FORCE_INLINE __m128 _mm_cmpge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ps ++FORCE_INLINE __m128 _mm_cmpgt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ss ++FORCE_INLINE __m128 _mm_cmpgt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpgt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ps ++FORCE_INLINE __m128 _mm_cmple_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ss ++FORCE_INLINE __m128 _mm_cmple_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmple_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ps ++FORCE_INLINE __m128 _mm_cmplt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ss ++FORCE_INLINE __m128 _mm_cmplt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmplt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ps ++FORCE_INLINE __m128 _mm_cmpneq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ss ++FORCE_INLINE __m128 _mm_cmpneq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpneq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ps ++FORCE_INLINE __m128 _mm_cmpnge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ss ++FORCE_INLINE __m128 _mm_cmpnge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ps ++FORCE_INLINE __m128 _mm_cmpngt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ss ++FORCE_INLINE __m128 _mm_cmpngt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpngt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ps ++FORCE_INLINE __m128 _mm_cmpnle_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ss ++FORCE_INLINE __m128 _mm_cmpnle_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnle_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ps ++FORCE_INLINE __m128 _mm_cmpnlt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ss ++FORCE_INLINE __m128 _mm_cmpnlt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnlt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ps ++// ++// See also: ++// http://stackoverflow.com/questions/8627331/what-does-ordered-unordered-comparison-mean ++// http://stackoverflow.com/questions/29349621/neon-isnanval-intrinsics ++FORCE_INLINE __m128 _mm_cmpord_ps(__m128 a, __m128 b) ++{ ++ // Note: NEON does not have ordered compare builtin ++ // Need to compare a eq a and b eq b to check for NaN ++ // Do AND of results to get final ++ uint32x4_t ceqaa = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t ceqbb = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vandq_u32(ceqaa, ceqbb)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ss ++FORCE_INLINE __m128 _mm_cmpord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpord_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ps ++FORCE_INLINE __m128 _mm_cmpunord_ps(__m128 a, __m128 b) ++{ ++ uint32x4_t f32a = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t f32b = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vmvnq_u32(vandq_u32(f32a, f32b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ss ++FORCE_INLINE __m128 _mm_cmpunord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpunord_ps(a, b)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_ss ++FORCE_INLINE int _mm_comieq_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_eq_b = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_eq_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_ss ++FORCE_INLINE int _mm_comige_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_ge_b = ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_ge_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_ss ++FORCE_INLINE int _mm_comigt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_gt_b = ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_gt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_ss ++FORCE_INLINE int _mm_comile_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_le_b = ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_le_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_ss ++FORCE_INLINE int _mm_comilt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_lt_b = ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_lt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_ss ++FORCE_INLINE int _mm_comineq_ss(__m128 a, __m128 b) ++{ ++ return !_mm_comieq_ss(a, b); ++} ++ ++// Convert packed signed 32-bit integers in b to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, and copy the upper 2 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_pi2ps ++FORCE_INLINE __m128 _mm_cvt_pi2ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ps2pi ++FORCE_INLINE __m64 _mm_cvt_ps2pi(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))))); ++#else ++ return vreinterpret_m64_s32(vcvt_s32_f32(vget_low_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION))))); ++#endif ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_si2ss ++FORCE_INLINE __m128 _mm_cvt_si2ss(__m128 a, int b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ss2si ++FORCE_INLINE int _mm_cvt_ss2si(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vgetq_lane_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))), ++ 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int32_t) data; ++#endif ++} ++ ++// Convert packed 16-bit integers in a to packed single-precision (32-bit) ++// floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi16_ps ++FORCE_INLINE __m128 _mm_cvtpi16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vmovl_s16(vreinterpret_s16_m64(a)))); ++} ++ ++// Convert packed 32-bit integers in b to packed single-precision (32-bit) ++// floating-point elements, store the results in the lower 2 elements of dst, ++// and copy the upper 2 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_ps ++FORCE_INLINE __m128 _mm_cvtpi32_ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, then convert the packed signed 32-bit integers in b to ++// single-precision (32-bit) floating-point element, and store the results in ++// the upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32x2_ps ++FORCE_INLINE __m128 _mm_cvtpi32x2_ps(__m64 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vcombine_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b)))); ++} ++ ++// Convert the lower packed 8-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi8_ps ++FORCE_INLINE __m128 _mm_cvtpi8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vmovl_s16(vget_low_s16(vmovl_s8(vreinterpret_s8_m64(a)))))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 16-bit integers, and store the results in dst. Note: this intrinsic ++// will generate 0x7FFF, rather than 0x8000, for input values between 0x7FFF and ++// 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi16 ++FORCE_INLINE __m64 _mm_cvtps_pi16(__m128 a) ++{ ++ return vreinterpret_m64_s16( ++ vqmovn_s32(vreinterpretq_s32_m128i(_mm_cvtps_epi32(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi32 ++#define _mm_cvtps_pi32(a) _mm_cvt_ps2pi(a) ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 8-bit integers, and store the results in lower 4 elements of dst. ++// Note: this intrinsic will generate 0x7F, rather than 0x80, for input values ++// between 0x7F and 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi8 ++FORCE_INLINE __m64 _mm_cvtps_pi8(__m128 a) ++{ ++ return vreinterpret_m64_s8(vqmovn_s16( ++ vcombine_s16(vreinterpret_s16_m64(_mm_cvtps_pi16(a)), vdup_n_s16(0)))); ++} ++ ++// Convert packed unsigned 16-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu16_ps ++FORCE_INLINE __m128 _mm_cvtpu16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_u32(vmovl_u16(vreinterpret_u16_m64(a)))); ++} ++ ++// Convert the lower packed unsigned 8-bit integers in a to packed ++// single-precision (32-bit) floating-point elements, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu8_ps ++FORCE_INLINE __m128 _mm_cvtpu8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_u32( ++ vmovl_u16(vget_low_u16(vmovl_u8(vreinterpret_u8_m64(a)))))); ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_ss ++#define _mm_cvtsi32_ss(a, b) _mm_cvt_si2ss(a, b) ++ ++// Convert the signed 64-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_ss ++FORCE_INLINE __m128 _mm_cvtsi64_ss(__m128 a, int64_t b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Copy the lower single-precision (32-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_f32 ++FORCE_INLINE float _mm_cvtss_f32(__m128 a) ++{ ++ return vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si32 ++#define _mm_cvtss_si32(a) _mm_cvt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si64 ++FORCE_INLINE int64_t _mm_cvtss_si64(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return (int64_t) vgetq_lane_f32(vrndiq_f32(vreinterpretq_f32_m128(a)), 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int64_t) data; ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ps2pi ++FORCE_INLINE __m64 _mm_cvtt_ps2pi(__m128 a) ++{ ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ss2si ++FORCE_INLINE int _mm_cvtt_ss2si(__m128 a) ++{ ++ return vgetq_lane_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)), 0); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_pi32 ++#define _mm_cvttps_pi32(a) _mm_cvtt_ps2pi(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si32 ++#define _mm_cvttss_si32(a) _mm_cvtt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si64 ++FORCE_INLINE int64_t _mm_cvttss_si64(__m128 a) ++{ ++ return (int64_t) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Divide packed single-precision (32-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise division intrinsic, we implement ++// division by multiplying a by b's reciprocal before using the Newton-Raphson ++// method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ps ++FORCE_INLINE __m128 _mm_div_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vdivq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(b)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(a), recip)); ++#endif ++} ++ ++// Divide the lower single-precision (32-bit) floating-point element in a by the ++// lower single-precision (32-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper 3 packed elements from a to ++// the upper elements of dst. ++// Warning: ARMv7-A does not produce the same result compared to Intel and not ++// IEEE-compliant. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ss ++FORCE_INLINE __m128 _mm_div_ss(__m128 a, __m128 b) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_div_ps(a, b)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_pi16 ++#define _mm_extract_pi16(a, imm) \ ++ (int32_t) vget_lane_u16(vreinterpret_u16_m64(a), (imm)) ++ ++// Free aligned memory that was allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_free ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void _mm_free(void *addr) ++{ ++ free(addr); ++} ++#endif ++ ++FORCE_INLINE uint64_t _sse2neon_get_fpcr(void) ++{ ++ uint64_t value; ++#if defined(_MSC_VER) ++ value = _ReadStatusReg(ARM64_FPCR); ++#else ++ __asm__ __volatile__("mrs %0, FPCR" : "=r"(value)); /* read */ ++#endif ++ return value; ++} ++ ++FORCE_INLINE void _sse2neon_set_fpcr(uint64_t value) ++{ ++#if defined(_MSC_VER) ++ _WriteStatusReg(ARM64_FPCR, value); ++#else ++ __asm__ __volatile__("msr FPCR, %0" ::"r"(value)); /* write */ ++#endif ++} ++ ++// Macro: Get the flush zero bits from the MXCSR control and status register. ++// The flush zero may contain any of the following flags: _MM_FLUSH_ZERO_ON or ++// _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_FLUSH_ZERO_MODE ++FORCE_INLINE unsigned int _sse2neon_mm_get_flush_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_FLUSH_ZERO_ON : _MM_FLUSH_ZERO_OFF; ++} ++ ++// Macro: Get the rounding mode bits from the MXCSR control and status register. ++// The rounding mode may contain any of the following flags: _MM_ROUND_NEAREST, ++// _MM_ROUND_DOWN, _MM_ROUND_UP, _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_ROUNDING_MODE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ if (r.field.bit22) { ++ return r.field.bit23 ? _MM_ROUND_TOWARD_ZERO : _MM_ROUND_UP; ++ } else { ++ return r.field.bit23 ? _MM_ROUND_DOWN : _MM_ROUND_NEAREST; ++ } ++} ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_pi16 ++#define _mm_insert_pi16(a, b, imm) \ ++ vreinterpret_m64_s16(vset_lane_s16((b), vreinterpret_s16_m64(a), (imm))) ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps ++FORCE_INLINE __m128 _mm_load_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// ++// dst[31:0] := MEM[mem_addr+31:mem_addr] ++// dst[63:32] := MEM[mem_addr+31:mem_addr] ++// dst[95:64] := MEM[mem_addr+31:mem_addr] ++// dst[127:96] := MEM[mem_addr+31:mem_addr] ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps1 ++#define _mm_load_ps1 _mm_load1_ps ++ ++// Load a single-precision (32-bit) floating-point element from memory into the ++// lower of dst, and zero the upper 3 elements. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ss ++FORCE_INLINE __m128 _mm_load_ss(const float *p) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(*p, vdupq_n_f32(0), 0)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_ps ++FORCE_INLINE __m128 _mm_load1_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_dup_f32(p)); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// upper 2 elements of dst, and copy the lower 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pi ++FORCE_INLINE __m128 _mm_loadh_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vget_low_f32(a), vld1_f32((const float32_t *) p))); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// lower 2 elements of dst, and copy the upper 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pi ++FORCE_INLINE __m128 _mm_loadl_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vld1_f32((const float32_t *) p), vget_high_f32(a))); ++} ++ ++// Load 4 single-precision (32-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_ps ++FORCE_INLINE __m128 _mm_loadr_ps(const float *p) ++{ ++ float32x4_t v = vrev64q_f32(vld1q_f32(p)); ++ return vreinterpretq_m128_f32(vextq_f32(v, v, 2)); ++} ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_ps ++FORCE_INLINE __m128 _mm_loadu_ps(const float *p) ++{ ++ // for neon, alignment doesn't matter, so _mm_load_ps and _mm_loadu_ps are ++ // equivalent for neon ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load unaligned 16-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si16 ++FORCE_INLINE __m128i _mm_loadu_si16(const void *p) ++{ ++ return vreinterpretq_m128i_s16( ++ vsetq_lane_s16(*(const unaligned_int16_t *) p, vdupq_n_s16(0), 0)); ++} ++ ++// Load unaligned 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si64 ++FORCE_INLINE __m128i _mm_loadu_si64(const void *p) ++{ ++ return vreinterpretq_m128i_s64( ++ vsetq_lane_s64(*(const unaligned_int64_t *) p, vdupq_n_s64(0), 0)); ++} ++ ++// Allocate size bytes of memory, aligned to the alignment specified in align, ++// and return a pointer to the allocated memory. _mm_free should be used to free ++// memory that is allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_malloc ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void *_mm_malloc(size_t size, size_t align) ++{ ++ void *ptr; ++ if (align == 1) ++ return malloc(size); ++ if (align == 2 || (sizeof(void *) == 8 && align == 4)) ++ align = sizeof(void *); ++ if (!posix_memalign(&ptr, align, size)) ++ return ptr; ++ return NULL; ++} ++#endif ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmove_si64 ++FORCE_INLINE void _mm_maskmove_si64(__m64 a, __m64 mask, char *mem_addr) ++{ ++ int8x8_t shr_mask = vshr_n_s8(vreinterpret_s8_m64(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x8_t masked = ++ vbsl_s8(vreinterpret_u8_s8(shr_mask), vreinterpret_s8_m64(a), ++ vreinterpret_s8_u64(vget_low_u64(vreinterpretq_u64_m128(b)))); ++ vst1_s8((int8_t *) mem_addr, masked); ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_maskmovq ++#define _m_maskmovq(a, mask, mem_addr) _mm_maskmove_si64(a, mask, mem_addr) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pi16 ++FORCE_INLINE __m64 _mm_max_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmax_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) maximum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ps ++FORCE_INLINE __m128 _mm_max_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcgtq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vmaxq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pu8 ++FORCE_INLINE __m64 _mm_max_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmax_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) maximum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ss ++FORCE_INLINE __m128 _mm_max_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_max_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pi16 ++FORCE_INLINE __m64 _mm_min_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmin_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) minimum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ps ++FORCE_INLINE __m128 _mm_min_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcltq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vminq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pu8 ++FORCE_INLINE __m64 _mm_min_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmin_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) minimum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ss ++FORCE_INLINE __m128 _mm_min_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_min_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the lower single-precision (32-bit) floating-point element from b to the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_ss ++FORCE_INLINE __m128 _mm_move_ss(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(vgetq_lane_f32(vreinterpretq_f32_m128(b), 0), ++ vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the upper 2 single-precision (32-bit) floating-point elements from b to ++// the lower 2 elements of dst, and copy the upper 2 elements from a to the ++// upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehl_ps ++FORCE_INLINE __m128 _mm_movehl_ps(__m128 a, __m128 b) ++{ ++#if defined(aarch64__) ++ return vreinterpretq_m128_u64( ++ vzip2q_u64(vreinterpretq_u64_m128(b), vreinterpretq_u64_m128(a))); ++#else ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(b32, a32)); ++#endif ++} ++ ++// Move the lower 2 single-precision (32-bit) floating-point elements from b to ++// the upper 2 elements of dst, and copy the lower 2 elements from a to the ++// lower 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movelh_ps ++FORCE_INLINE __m128 _mm_movelh_ps(__m128 __A, __m128 __B) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(__A)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(__B)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pi8 ++FORCE_INLINE int _mm_movemask_pi8(__m64 a) ++{ ++ uint8x8_t input = vreinterpret_u8_m64(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int8_t shift[8] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint8x8_t tmp = vshr_n_u8(input, 7); ++ return vaddv_u8(vshl_u8(tmp, vld1_s8(shift))); ++#else ++ // Refer the implementation of `_mm_movemask_epi8` ++ uint16x4_t high_bits = vreinterpret_u16_u8(vshr_n_u8(input, 7)); ++ uint32x2_t paired16 = ++ vreinterpret_u32_u16(vsra_n_u16(high_bits, high_bits, 7)); ++ uint8x8_t paired32 = ++ vreinterpret_u8_u32(vsra_n_u32(paired16, paired16, 14)); ++ return vget_lane_u8(paired32, 0) | ((int) vget_lane_u8(paired32, 4) << 4); ++#endif ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed single-precision (32-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_ps ++FORCE_INLINE int _mm_movemask_ps(__m128 a) ++{ ++ uint32x4_t input = vreinterpretq_u32_m128(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int32_t shift[4] = {0, 1, 2, 3}; ++ uint32x4_t tmp = vshrq_n_u32(input, 31); ++ return vaddvq_u32(vshlq_u32(tmp, vld1q_s32(shift))); ++#else ++ // Uses the exact same method as _mm_movemask_epi8, see that for details. ++ // Shift out everything but the sign bits with a 32-bit unsigned shift ++ // right. ++ uint64x2_t high_bits = vreinterpretq_u64_u32(vshrq_n_u32(input, 31)); ++ // Merge the two pairs together with a 64-bit unsigned shift right + add. ++ uint8x16_t paired = ++ vreinterpretq_u8_u64(vsraq_n_u64(high_bits, high_bits, 31)); ++ // Extract the result. ++ return vgetq_lane_u8(paired, 0) | (vgetq_lane_u8(paired, 8) << 2); ++#endif ++} ++ ++// Multiply packed single-precision (32-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ps ++FORCE_INLINE __m128 _mm_mul_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vmulq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Multiply the lower single-precision (32-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ss ++FORCE_INLINE __m128 _mm_mul_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_mul_ps(a, b)); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_pu16 ++FORCE_INLINE __m64 _mm_mulhi_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16(vshrn_n_u32( ++ vmull_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b)), 16)); ++} ++ ++// Compute the bitwise OR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_ps ++FORCE_INLINE __m128 _mm_or_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vorrq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgb ++#define _m_pavgb(a, b) _mm_avg_pu8(a, b) ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgw ++#define _m_pavgw(a, b) _mm_avg_pu16(a, b) ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pextrw ++#define _m_pextrw(a, imm) _mm_extract_pi16(a, imm) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_pinsrw ++#define _m_pinsrw(a, i, imm) _mm_insert_pi16(a, i, imm) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxsw ++#define _m_pmaxsw(a, b) _mm_max_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxub ++#define _m_pmaxub(a, b) _mm_max_pu8(a, b) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminsw ++#define _m_pminsw(a, b) _mm_min_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminub ++#define _m_pminub(a, b) _mm_min_pu8(a, b) ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmovmskb ++#define _m_pmovmskb(a) _mm_movemask_pi8(a) ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmulhuw ++#define _m_pmulhuw(a, b) _mm_mulhi_pu16(a, b) ++ ++// Fetch the line of data from memory that contains address p to a location in ++// the cache hierarchy specified by the locality hint i. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_prefetch ++FORCE_INLINE void _mm_prefetch(char const *p, int i) ++{ ++ (void) i; ++#if defined(_MSC_VER) ++ switch (i) { ++ case _MM_HINT_NTA: ++ __prefetch2(p, 1); ++ break; ++ case _MM_HINT_T0: ++ __prefetch2(p, 0); ++ break; ++ case _MM_HINT_T1: ++ __prefetch2(p, 2); ++ break; ++ case _MM_HINT_T2: ++ __prefetch2(p, 4); ++ break; ++ } ++#else ++ switch (i) { ++ case _MM_HINT_NTA: ++ __builtin_prefetch(p, 0, 0); ++ break; ++ case _MM_HINT_T0: ++ __builtin_prefetch(p, 0, 3); ++ break; ++ case _MM_HINT_T1: ++ __builtin_prefetch(p, 0, 2); ++ break; ++ case _MM_HINT_T2: ++ __builtin_prefetch(p, 0, 1); ++ break; ++ } ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_psadbw ++#define _m_psadbw(a, b) _mm_sad_pu8(a, b) ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pshufw ++#define _m_pshufw(a, imm) _mm_shuffle_pi16(a, imm) ++ ++// Compute the approximate reciprocal of packed single-precision (32-bit) ++// floating-point elements in a, and store the results in dst. The maximum ++// relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ps ++FORCE_INLINE __m128 _mm_rcp_ps(__m128 in) ++{ ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(in)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#if SSE2NEON_PRECISE_DIV ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#endif ++ return vreinterpretq_m128_f32(recip); ++} ++ ++// Compute the approximate reciprocal of the lower single-precision (32-bit) ++// floating-point element in a, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ss ++FORCE_INLINE __m128 _mm_rcp_ss(__m128 a) ++{ ++ return _mm_move_ss(a, _mm_rcp_ps(a)); ++} ++ ++// Compute the approximate reciprocal square root of packed single-precision ++// (32-bit) floating-point elements in a, and store the results in dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ps ++FORCE_INLINE __m128 _mm_rsqrt_ps(__m128 in) ++{ ++ float32x4_t out = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Generate masks for detecting whether input has any 0.0f/-0.0f ++ // (which becomes positive/negative infinity by IEEE-754 arithmetic rules). ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t neg_inf = vdupq_n_u32(0xFF800000); ++ const uint32x4_t has_pos_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(out)); ++ const uint32x4_t has_neg_zero = ++ vceqq_u32(neg_inf, vreinterpretq_u32_f32(out)); ++ ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#if SSE2NEON_PRECISE_SQRT ++ // Additional Netwon-Raphson iteration for accuracy ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#endif ++ ++ // Set output vector element to infinity/negative-infinity if ++ // the corresponding input vector element is 0.0f/-0.0f. ++ out = vbslq_f32(has_pos_zero, (float32x4_t) pos_inf, out); ++ out = vbslq_f32(has_neg_zero, (float32x4_t) neg_inf, out); ++ ++ return vreinterpretq_m128_f32(out); ++} ++ ++// Compute the approximate reciprocal square root of the lower single-precision ++// (32-bit) floating-point element in a, store the result in the lower element ++// of dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ss ++FORCE_INLINE __m128 _mm_rsqrt_ss(__m128 in) ++{ ++ return vsetq_lane_f32(vgetq_lane_f32(_mm_rsqrt_ps(in), 0), in, 0); ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_pu8 ++FORCE_INLINE __m64 _mm_sad_pu8(__m64 a, __m64 b) ++{ ++ uint64x1_t t = vpaddl_u32(vpaddl_u16( ++ vpaddl_u8(vabd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))))); ++ return vreinterpret_m64_u16( ++ vset_lane_u16((int) vget_lane_u64(t, 0), vdup_n_u16(0), 0)); ++} ++ ++// Macro: Set the flush zero bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The flush zero may contain any of the ++// following flags: _MM_FLUSH_ZERO_ON or _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_FLUSH_ZERO_MODE ++FORCE_INLINE void _sse2neon_mm_set_flush_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_FLUSH_ZERO_MASK) == _MM_FLUSH_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps ++FORCE_INLINE __m128 _mm_set_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {x, y, z, w}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps1 ++FORCE_INLINE __m128 _mm_set_ps1(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Macro: Set the rounding mode bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The rounding mode may contain any of ++// the following flags: _MM_ROUND_NEAREST, _MM_ROUND_DOWN, _MM_ROUND_UP, ++// _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_ROUNDING_MODE ++FORCE_INLINE void _MM_SET_ROUNDING_MODE(int rounding) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ switch (rounding) { ++ case _MM_ROUND_TOWARD_ZERO: ++ r.field.bit22 = 1; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_DOWN: ++ r.field.bit22 = 0; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_UP: ++ r.field.bit22 = 1; ++ r.field.bit23 = 0; ++ break; ++ default: //_MM_ROUND_NEAREST ++ r.field.bit22 = 0; ++ r.field.bit23 = 0; ++ } ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Copy single-precision (32-bit) floating-point element a to the lower element ++// of dst, and zero the upper 3 elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ss ++FORCE_INLINE __m128 _mm_set_ss(float a) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(a, vdupq_n_f32(0), 0)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_ps ++FORCE_INLINE __m128 _mm_set1_ps(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Set the MXCSR control and status register with the value in unsigned 32-bit ++// integer a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setcsr ++// FIXME: _mm_setcsr() implementation supports changing the rounding mode only. ++FORCE_INLINE void _mm_setcsr(unsigned int a) ++{ ++ _MM_SET_ROUNDING_MODE(a); ++} ++ ++// Get the unsigned 32-bit value of the MXCSR control and status register. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_getcsr ++// FIXME: _mm_getcsr() implementation supports reading the rounding mode only. ++FORCE_INLINE unsigned int _mm_getcsr(void) ++{ ++ return _MM_GET_ROUNDING_MODE(); ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_ps ++FORCE_INLINE __m128 _mm_setr_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {w, z, y, x}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Return vector of type __m128 with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_ps ++FORCE_INLINE __m128 _mm_setzero_ps(void) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(0)); ++} ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi16 ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pi16(a, imm) \ ++ vreinterpret_m64_s16(vshuffle_s16( \ ++ vreinterpret_s16_m64(a), vreinterpret_s16_m64(a), (imm & 0x3), \ ++ ((imm >> 2) & 0x3), ((imm >> 4) & 0x3), ((imm >> 6) & 0x3))) ++#else ++#define _mm_shuffle_pi16(a, imm) \ ++ _sse2neon_define1( \ ++ __m64, a, int16x4_t ret; \ ++ ret = vmov_n_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), (imm) & (0x3))); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpret_m64_s16(ret));) ++#endif ++ ++// Perform a serializing operation on all store-to-memory instructions that were ++// issued prior to this instruction. Guarantees that every store instruction ++// that precedes, in program order, is globally visible before any store ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sfence ++FORCE_INLINE void _mm_sfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory and store-to-memory ++// instructions that were issued prior to this instruction. Guarantees that ++// every memory access that precedes, in program order, the memory fence ++// instruction is globally visible before any memory instruction which follows ++// the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mfence ++FORCE_INLINE void _mm_mfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory instructions that ++// were issued prior to this instruction. Guarantees that every load instruction ++// that precedes, in program order, is globally visible before any load ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lfence ++FORCE_INLINE void _mm_lfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// FORCE_INLINE __m128 _mm_shuffle_ps(__m128 a, __m128 b, __constrange(0,255) ++// int imm) ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_ps(a, b, imm) \ ++ __extension__({ \ ++ float32x4_t _input1 = vreinterpretq_f32_m128(a); \ ++ float32x4_t _input2 = vreinterpretq_f32_m128(b); \ ++ float32x4_t _shuf = \ ++ vshuffleq_s32(_input1, _input2, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ (((imm) >> 4) & 0x3) + 4, (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128_f32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_ps(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128, a, b, __m128 ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_1032(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_ps_2301(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_ps_0321(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_ps_2103(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_movelh_ps(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_1001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_ps_0101(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 1, 0): \ ++ ret = _mm_shuffle_ps_3210(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 1, 1): \ ++ ret = _mm_shuffle_ps_0011(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 2, 2): \ ++ ret = _mm_shuffle_ps_0022(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 0, 0): \ ++ ret = _mm_shuffle_ps_2200(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 0, 2): \ ++ ret = _mm_shuffle_ps_3202(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 3, 2): \ ++ ret = _mm_movehl_ps(_b, _a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 3, 3): \ ++ ret = _mm_shuffle_ps_1133(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 1, 0): \ ++ ret = _mm_shuffle_ps_2010(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_2001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_2032(_a, _b); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_ps_default(_a, _b, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Compute the square root of packed single-precision (32-bit) floating-point ++// elements in a, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise square root intrinsic, we implement ++// square root by multiplying input in with its reciprocal square root before ++// using the Newton-Raphson method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ps ++FORCE_INLINE __m128 _mm_sqrt_ps(__m128 in) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) && !SSE2NEON_PRECISE_SQRT ++ return vreinterpretq_m128_f32(vsqrtq_f32(vreinterpretq_f32_m128(in))); ++#else ++ float32x4_t recip = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Test for vrsqrteq_f32(0) -> positive infinity case. ++ // Change to zero, so that s * 1/sqrt(s) result is zero too. ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t div_by_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(recip)); ++ recip = vreinterpretq_f32_u32( ++ vandq_u32(vmvnq_u32(div_by_zero), vreinterpretq_u32_f32(recip))); ++ ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ ++ // sqrt(s) = s * 1/sqrt(s) ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(in), recip)); ++#endif ++} ++ ++// Compute the square root of the lower single-precision (32-bit) floating-point ++// element in a, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ss ++FORCE_INLINE __m128 _mm_sqrt_ss(__m128 in) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_sqrt_ps(in)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(in), 0)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps ++FORCE_INLINE void _mm_store_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps1 ++FORCE_INLINE void _mm_store_ps1(float *p, __m128 a) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ vst1q_f32(p, vdupq_n_f32(a0)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ss ++FORCE_INLINE void _mm_store_ss(float *p, __m128 a) ++{ ++ vst1q_lane_f32(p, vreinterpretq_f32_m128(a), 0); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store1_ps ++#define _mm_store1_ps _mm_store_ps1 ++ ++// Store the upper 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pi ++FORCE_INLINE void _mm_storeh_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_high_f32(a)); ++} ++ ++// Store the lower 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pi ++FORCE_INLINE void _mm_storel_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_low_f32(a)); ++} ++ ++// Store 4 single-precision (32-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_ps ++FORCE_INLINE void _mm_storer_ps(float *p, __m128 a) ++{ ++ float32x4_t tmp = vrev64q_f32(vreinterpretq_f32_m128(a)); ++ float32x4_t rev = vextq_f32(tmp, tmp, 2); ++ vst1q_f32(p, rev); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_ps ++FORCE_INLINE void _mm_storeu_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Stores 16-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si16 ++FORCE_INLINE void _mm_storeu_si16(void *p, __m128i a) ++{ ++ vst1q_lane_s16((int16_t *) p, vreinterpretq_s16_m128i(a), 0); ++} ++ ++// Stores 64-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si64 ++FORCE_INLINE void _mm_storeu_si64(void *p, __m128i a) ++{ ++ vst1q_lane_s64((int64_t *) p, vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Store 64-bits of integer data from a into memory using a non-temporal memory ++// hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pi ++FORCE_INLINE void _mm_stream_pi(__m64 *p, __m64 a) ++{ ++ vst1_s64((int64_t *) p, vreinterpret_s64_m64(a)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating- ++// point elements) from a into memory using a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_ps ++FORCE_INLINE void _mm_stream_ps(float *p, __m128 a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (float32x4_t *) p); ++#else ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++#endif ++} ++ ++// Subtract packed single-precision (32-bit) floating-point elements in b from ++// packed single-precision (32-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ps ++FORCE_INLINE __m128 _mm_sub_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Subtract the lower single-precision (32-bit) floating-point element in b from ++// the lower single-precision (32-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper 3 packed elements from ++// a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ss ++FORCE_INLINE __m128 _mm_sub_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_sub_ps(a, b)); ++} ++ ++// Macro: Transpose the 4x4 matrix formed by the 4 rows of single-precision ++// (32-bit) floating-point elements in row0, row1, row2, and row3, and store the ++// transposed matrix in these vectors (row0 now contains column 0, etc.). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=MM_TRANSPOSE4_PS ++#define _MM_TRANSPOSE4_PS(row0, row1, row2, row3) \ ++ do { \ ++ float32x4x2_t ROW01 = vtrnq_f32(row0, row1); \ ++ float32x4x2_t ROW23 = vtrnq_f32(row2, row3); \ ++ row0 = vcombine_f32(vget_low_f32(ROW01.val[0]), \ ++ vget_low_f32(ROW23.val[0])); \ ++ row1 = vcombine_f32(vget_low_f32(ROW01.val[1]), \ ++ vget_low_f32(ROW23.val[1])); \ ++ row2 = vcombine_f32(vget_high_f32(ROW01.val[0]), \ ++ vget_high_f32(ROW23.val[0])); \ ++ row3 = vcombine_f32(vget_high_f32(ROW01.val[1]), \ ++ vget_high_f32(ROW23.val[1])); \ ++ } while (0) ++ ++// according to the documentation, these intrinsics behave the same as the ++// non-'u' versions. We'll just alias them here. ++#define _mm_ucomieq_ss _mm_comieq_ss ++#define _mm_ucomige_ss _mm_comige_ss ++#define _mm_ucomigt_ss _mm_comigt_ss ++#define _mm_ucomile_ss _mm_comile_ss ++#define _mm_ucomilt_ss _mm_comilt_ss ++#define _mm_ucomineq_ss _mm_comineq_ss ++ ++// Return vector of type __m128i with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_undefined_si128 ++FORCE_INLINE __m128i _mm_undefined_si128(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128i a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_si128(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Return vector of type __m128 with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_ps ++FORCE_INLINE __m128 _mm_undefined_ps(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128 a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_ps(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the high half a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_ps ++FORCE_INLINE __m128 _mm_unpackhi_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_ps ++FORCE_INLINE __m128 _mm_unpacklo_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Compute the bitwise XOR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_ps ++FORCE_INLINE __m128 _mm_xor_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ veorq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++/* SSE2 */ ++ ++// Add packed 16-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi16 ++FORCE_INLINE __m128i _mm_add_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed 32-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi32 ++FORCE_INLINE __m128i _mm_add_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vaddq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Add packed 64-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi64 ++FORCE_INLINE __m128i _mm_add_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vaddq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Add packed 8-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi8 ++FORCE_INLINE __m128i _mm_add_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed double-precision (64-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_pd ++FORCE_INLINE __m128d _mm_add_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1] + db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add the lower double-precision (64-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper element from ++// a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_sd ++FORCE_INLINE __m128d _mm_add_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_add_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add 64-bit integers a and b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_si64 ++FORCE_INLINE __m64 _mm_add_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vadd_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Add packed signed 16-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi16 ++FORCE_INLINE __m128i _mm_adds_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed signed 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi8 ++FORCE_INLINE __m128i _mm_adds_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed unsigned 16-bit integers in a and b using saturation, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu16 ++FORCE_INLINE __m128i _mm_adds_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqaddq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Add packed unsigned 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu8 ++FORCE_INLINE __m128i _mm_adds_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compute the bitwise AND of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_pd ++FORCE_INLINE __m128d _mm_and_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vandq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_si128 ++FORCE_INLINE __m128i _mm_and_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vandq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compute the bitwise NOT of packed double-precision (64-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_pd ++FORCE_INLINE __m128d _mm_andnot_pd(__m128d a, __m128d b) ++{ ++ // *NOTE* argument swap ++ return vreinterpretq_m128d_s64( ++ vbicq_s64(vreinterpretq_s64_m128d(b), vreinterpretq_s64_m128d(a))); ++} ++ ++// Compute the bitwise NOT of 128 bits (representing integer data) in a and then ++// AND with b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_si128 ++FORCE_INLINE __m128i _mm_andnot_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vbicq_s32(vreinterpretq_s32_m128i(b), ++ vreinterpretq_s32_m128i(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu16 ++FORCE_INLINE __m128i _mm_avg_epu16(__m128i a, __m128i b) ++{ ++ return (__m128i) vrhaddq_u16(vreinterpretq_u16_m128i(a), ++ vreinterpretq_u16_m128i(b)); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu8 ++FORCE_INLINE __m128i _mm_avg_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vrhaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bslli_si128 ++#define _mm_bslli_si128(a, imm) _mm_slli_si128(a, imm) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bsrli_si128 ++#define _mm_bsrli_si128(a, imm) _mm_srli_si128(a, imm) ++ ++// Cast vector of type __m128d to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_ps ++FORCE_INLINE __m128 _mm_castpd_ps(__m128d a) ++{ ++ return vreinterpretq_m128_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128d to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_si128 ++FORCE_INLINE __m128i _mm_castpd_si128(__m128d a) ++{ ++ return vreinterpretq_m128i_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128 to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_pd ++FORCE_INLINE __m128d _mm_castps_pd(__m128 a) ++{ ++ return vreinterpretq_m128d_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128 to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_si128 ++FORCE_INLINE __m128i _mm_castps_si128(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128i to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_pd ++FORCE_INLINE __m128d _mm_castsi128_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vreinterpretq_f64_m128i(a)); ++#else ++ return vreinterpretq_m128d_f32(vreinterpretq_f32_m128i(a)); ++#endif ++} ++ ++// Cast vector of type __m128i to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_ps ++FORCE_INLINE __m128 _mm_castsi128_ps(__m128i a) ++{ ++ return vreinterpretq_m128_s32(vreinterpretq_s32_m128i(a)); ++} ++ ++// Invalidate and flush the cache line that contains p from all levels of the ++// cache hierarchy. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clflush ++#if defined(__APPLE__) ++#include ++#endif ++FORCE_INLINE void _mm_clflush(void const *p) ++{ ++ (void) p; ++ ++ /* sys_icache_invalidate is supported since macOS 10.5. ++ * However, it does not work on non-jailbroken iOS devices, although the ++ * compilation is successful. ++ */ ++#if defined(__APPLE__) ++ sys_icache_invalidate((void *) (uintptr_t) p, SSE2NEON_CACHELINE_SIZE); ++#elif defined(__GNUC__) || defined(__clang__) ++ uintptr_t ptr = (uintptr_t) p; ++ __builtin___clear_cache((char *) ptr, ++ (char *) ptr + SSE2NEON_CACHELINE_SIZE); ++#elif (_MSC_VER) && SSE2NEON_INCLUDE_WINDOWS_H ++ FlushInstructionCache(GetCurrentProcess(), p, SSE2NEON_CACHELINE_SIZE); ++#endif ++} ++ ++// Compare packed 16-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi16 ++FORCE_INLINE __m128i _mm_cmpeq_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vceqq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed 32-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi32 ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vceqq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed 8-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi8 ++FORCE_INLINE __m128i _mm_cmpeq_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vceqq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_pd ++FORCE_INLINE __m128d _mm_cmpeq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_sd ++FORCE_INLINE __m128d _mm_cmpeq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpeq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_pd ++FORCE_INLINE __m128d _mm_cmpge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) >= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_sd ++FORCE_INLINE __m128d _mm_cmpge_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpge_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi16 ++FORCE_INLINE __m128i _mm_cmpgt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcgtq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi32 ++FORCE_INLINE __m128i _mm_cmpgt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcgtq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi8 ++FORCE_INLINE __m128i _mm_cmpgt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcgtq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_pd ++FORCE_INLINE __m128d _mm_cmpgt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_sd ++FORCE_INLINE __m128d _mm_cmpgt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpgt_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_pd ++FORCE_INLINE __m128d _mm_cmple_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) <= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_sd ++FORCE_INLINE __m128d _mm_cmple_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmple_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtw instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi16 ++FORCE_INLINE __m128i _mm_cmplt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcltq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtd instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi32 ++FORCE_INLINE __m128i _mm_cmplt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcltq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtb instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi8 ++FORCE_INLINE __m128i _mm_cmplt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcltq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_pd ++FORCE_INLINE __m128d _mm_cmplt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_sd ++FORCE_INLINE __m128d _mm_cmplt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmplt_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_pd ++FORCE_INLINE __m128d _mm_cmpneq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_s32(vmvnq_s32(vreinterpretq_s32_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vmvnq_u32(vandq_u32(cmp, swapped))); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_sd ++FORCE_INLINE __m128d _mm_cmpneq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpneq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_pd ++FORCE_INLINE __m128d _mm_cmpnge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) >= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) >= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_sd ++FORCE_INLINE __m128d _mm_cmpnge_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnge_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_cmpngt_pd ++FORCE_INLINE __m128d _mm_cmpngt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) > (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) > (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_sd ++FORCE_INLINE __m128d _mm_cmpngt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpngt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_pd ++FORCE_INLINE __m128d _mm_cmpnle_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) <= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) <= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_sd ++FORCE_INLINE __m128d _mm_cmpnle_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnle_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_pd ++FORCE_INLINE __m128d _mm_cmpnlt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) < (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) < (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_sd ++FORCE_INLINE __m128d _mm_cmpnlt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnlt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_pd ++FORCE_INLINE __m128d _mm_cmpord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Excluding NaNs, any two floating point numbers can be compared. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_u64(vandq_u64(not_nan_a, not_nan_b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_sd ++FORCE_INLINE __m128d _mm_cmpord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_pd ++FORCE_INLINE __m128d _mm_cmpunord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Two NaNs are not equal in comparison operation. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_s32( ++ vmvnq_s32(vreinterpretq_s32_u64(vandq_u64(not_nan_a, not_nan_b)))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_sd ++FORCE_INLINE __m128d _mm_cmpunord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpunord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_sd ++FORCE_INLINE int _mm_comige_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgeq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 >= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_sd ++FORCE_INLINE int _mm_comigt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgtq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 > *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_sd ++FORCE_INLINE int _mm_comile_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcleq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 <= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_sd ++FORCE_INLINE int _mm_comilt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcltq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 < *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_sd ++FORCE_INLINE int _mm_comieq_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vceqq_f64(a, b), 0) & 0x1; ++#else ++ uint32x4_t a_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(a)); ++ uint32x4_t b_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(b), vreinterpretq_u32_m128d(b)); ++ uint32x4_t a_and_b_not_nan = vandq_u32(a_not_nan, b_not_nan); ++ uint32x4_t a_eq_b = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint64x2_t and_results = vandq_u64(vreinterpretq_u64_u32(a_and_b_not_nan), ++ vreinterpretq_u64_u32(a_eq_b)); ++ return vgetq_lane_u64(and_results, 0) & 0x1; ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_sd ++FORCE_INLINE int _mm_comineq_sd(__m128d a, __m128d b) ++{ ++ return !_mm_comieq_sd(a, b); ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_pd ++FORCE_INLINE __m128d _mm_cvtepi32_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a))))); ++#else ++ double a0 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++ double a1 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_ps ++FORCE_INLINE __m128 _mm_cvtepi32_ps(__m128i a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_epi32 ++FORCE_INLINE __m128i _mm_cvtpd_epi32(__m128d a) ++{ ++// vrnd32xq_f64 not supported on clang ++#if defined(__ARM_FEATURE_FRINT) && !defined(__clang__) ++ float64x2_t rounded = vrnd32xq_f64(vreinterpretq_f64_m128d(a)); ++ int64x2_t integers = vcvtq_s64_f64(rounded); ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vmovn_s64(integers), vdup_n_s32(0))); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) d1, (int32_t) d0); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_pi32 ++FORCE_INLINE __m64 _mm_cvtpd_pi32(__m128d a) ++{ ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) d0, (int32_t) d1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed single-precision (32-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_ps ++FORCE_INLINE __m128 _mm_cvtpd_ps(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float32x2_t tmp = vcvt_f32_f64(vreinterpretq_f64_m128d(a)); ++ return vreinterpretq_m128_f32(vcombine_f32(tmp, vdup_n_f32(0))); ++#else ++ float a0 = (float) ((double *) &a)[0]; ++ float a1 = (float) ((double *) &a)[1]; ++ return _mm_set_ps(0, 0, a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_pd ++FORCE_INLINE __m128d _mm_cvtpi32_pd(__m64 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vreinterpret_s32_m64(a)))); ++#else ++ double a0 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 0); ++ double a1 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_epi32 ++// *NOTE*. The default rounding mode on SSE is 'round to even', which ARMv7-A ++// does not support! It is supported on ARMv8-A however. ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128 a) ++{ ++#if defined(__ARM_FEATURE_FRINT) ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vrnd32xq_f32(a))); ++#elif (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: ++ return vreinterpretq_m128i_s32(vcvtnq_s32_f32(a)); ++ case _MM_ROUND_DOWN: ++ return vreinterpretq_m128i_s32(vcvtmq_s32_f32(a)); ++ case _MM_ROUND_UP: ++ return vreinterpretq_m128i_s32(vcvtpq_s32_f32(a)); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(a)); ++ } ++#else ++ float *f = (float *) &a; ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128i_s32( ++ vbslq_s32(is_delta_half, r_even, r_normal)); ++ } ++ case _MM_ROUND_DOWN: ++ return _mm_set_epi32(floorf(f[3]), floorf(f[2]), floorf(f[1]), ++ floorf(f[0])); ++ case _MM_ROUND_UP: ++ return _mm_set_epi32(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ++ ceilf(f[0])); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return _mm_set_epi32((int32_t) f[3], (int32_t) f[2], (int32_t) f[1], ++ (int32_t) f[0]); ++ } ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed double-precision (64-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pd ++FORCE_INLINE __m128d _mm_cvtps_pd(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvt_f64_f32(vget_low_f32(vreinterpretq_f32_m128(a)))); ++#else ++ double a0 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ double a1 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Copy the lower double-precision (64-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_f64 ++FORCE_INLINE double _mm_cvtsd_f64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (double) vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0); ++#else ++ return ((double *) &a)[0]; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si32 ++FORCE_INLINE int32_t _mm_cvtsd_si32(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int32_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int32_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64 ++FORCE_INLINE int64_t _mm_cvtsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int64_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64x ++#define _mm_cvtsd_si64x _mm_cvtsd_si64 ++ ++// Convert the lower double-precision (64-bit) floating-point element in b to a ++// single-precision (32-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_ss ++FORCE_INLINE __m128 _mm_cvtsd_ss(__m128 a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32(vsetq_lane_f32( ++ vget_lane_f32(vcvt_f32_f64(vreinterpretq_f64_m128d(b)), 0), ++ vreinterpretq_f32_m128(a), 0)); ++#else ++ return vreinterpretq_m128_f32(vsetq_lane_f32((float) ((double *) &b)[0], ++ vreinterpretq_f32_m128(a), 0)); ++#endif ++} ++ ++// Copy the lower 32-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si32 ++FORCE_INLINE int _mm_cvtsi128_si32(__m128i a) ++{ ++ return vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64 ++FORCE_INLINE int64_t _mm_cvtsi128_si64(__m128i a) ++{ ++ return vgetq_lane_s64(vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Convert the signed 32-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_sd ++FORCE_INLINE __m128d _mm_cvtsi32_sd(__m128d a, int32_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Copy 32-bit integer a to the lower elements of dst, and zero the upper ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_si128 ++FORCE_INLINE __m128i _mm_cvtsi32_si128(int a) ++{ ++ return vreinterpretq_m128i_s32(vsetq_lane_s32(a, vdupq_n_s32(0), 0)); ++} ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_sd ++FORCE_INLINE __m128d _mm_cvtsi64_sd(__m128d a, int64_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_si128 ++FORCE_INLINE __m128i _mm_cvtsi64_si128(int64_t a) ++{ ++ return vreinterpretq_m128i_s64(vsetq_lane_s64(a, vdupq_n_s64(0), 0)); ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_si128 ++#define _mm_cvtsi64x_si128(a) _mm_cvtsi64_si128(a) ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_sd ++#define _mm_cvtsi64x_sd(a, b) _mm_cvtsi64_sd(a, b) ++ ++// Convert the lower single-precision (32-bit) floating-point element in b to a ++// double-precision (64-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_sd ++FORCE_INLINE __m128d _mm_cvtss_sd(__m128d a, __m128 b) ++{ ++ double d = (double) vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(d, vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &d, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_epi32 ++FORCE_INLINE __m128i _mm_cvttpd_epi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) a1, (int32_t) a0); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_pi32 ++FORCE_INLINE __m64 _mm_cvttpd_pi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) a0, (int32_t) a1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_epi32 ++FORCE_INLINE __m128i _mm_cvttps_epi32(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a))); ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si32 ++FORCE_INLINE int32_t _mm_cvttsd_si32(__m128d a) ++{ ++ double ret = *((double *) &a); ++ return (int32_t) ret; ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64 ++FORCE_INLINE int64_t _mm_cvttsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_s64(vcvtq_s64_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ double ret = *((double *) &a); ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64x ++#define _mm_cvttsd_si64x(a) _mm_cvttsd_si64(a) ++ ++// Divide packed double-precision (64-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_pd ++FORCE_INLINE __m128d _mm_div_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] / db[0]; ++ c[1] = da[1] / db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Divide the lower double-precision (64-bit) floating-point element in a by the ++// lower double-precision (64-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper element from a to the upper ++// element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_sd ++FORCE_INLINE __m128d _mm_div_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t tmp = ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1), tmp, 1)); ++#else ++ return _mm_move_sd(a, _mm_div_pd(a, b)); ++#endif ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi16 ++// FORCE_INLINE int _mm_extract_epi16(__m128i a, __constrange(0,8) int imm) ++#define _mm_extract_epi16(a, imm) \ ++ vgetq_lane_u16(vreinterpretq_u16_m128i(a), (imm)) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi16 ++// FORCE_INLINE __m128i _mm_insert_epi16(__m128i a, int b, ++// __constrange(0,8) int imm) ++#define _mm_insert_epi16(a, b, imm) \ ++ vreinterpretq_m128i_s16( \ ++ vsetq_lane_s16((b), vreinterpretq_s16_m128i(a), (imm))) ++ ++// Load 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd ++FORCE_INLINE __m128d _mm_load_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64(p)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], fp[2], fp[3]}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd1 ++#define _mm_load_pd1 _mm_load1_pd ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower of dst, and zero the upper element. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_sd ++FORCE_INLINE __m128d _mm_load_sd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(*p, vdupq_n_f64(0), 0)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], 0, 0}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_si128 ++FORCE_INLINE __m128i _mm_load_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const int32_t *) p)); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_pd ++FORCE_INLINE __m128d _mm_load1_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_dup_f64(p)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(const int64_t *) p)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// upper element of dst, and copy the lower element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pd ++FORCE_INLINE __m128d _mm_loadh_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vget_low_f64(vreinterpretq_f64_m128d(a)), vld1_f64(p))); ++#else ++ return vreinterpretq_m128d_f32(vcombine_f32( ++ vget_low_f32(vreinterpretq_f32_m128d(a)), vld1_f32((const float *) p))); ++#endif ++} ++ ++// Load 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_epi64 ++FORCE_INLINE __m128i _mm_loadl_epi64(__m128i const *p) ++{ ++ /* Load the lower 64 bits of the value pointed to by p into the ++ * lower 64 bits of the result, zeroing the upper 64 bits of the result. ++ */ ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vld1_s32((int32_t const *) p), vcreate_s32(0))); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower element of dst, and copy the upper element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pd ++FORCE_INLINE __m128d _mm_loadl_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vld1_f64(p), vget_high_f64(vreinterpretq_f64_m128d(a)))); ++#else ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vld1_f32((const float *) p), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++#endif ++} ++ ++// Load 2 double-precision (64-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_pd ++FORCE_INLINE __m128d _mm_loadr_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t v = vld1q_f64(p); ++ return vreinterpretq_m128d_f64(vextq_f64(v, v, 1)); ++#else ++ int64x2_t v = vld1q_s64((const int64_t *) p); ++ return vreinterpretq_m128d_s64(vextq_s64(v, v, 1)); ++#endif ++} ++ ++// Loads two double-precision from unaligned memory, floating-point values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_pd ++FORCE_INLINE __m128d _mm_loadu_pd(const double *p) ++{ ++ return _mm_load_pd(p); ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si128 ++FORCE_INLINE __m128i _mm_loadu_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const unaligned_int32_t *) p)); ++} ++ ++// Load unaligned 32-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si32 ++FORCE_INLINE __m128i _mm_loadu_si32(const void *p) ++{ ++ return vreinterpretq_m128i_s32( ++ vsetq_lane_s32(*(const unaligned_int32_t *) p, vdupq_n_s32(0), 0)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Horizontally add adjacent pairs of intermediate ++// 32-bit integers, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_madd_epi16 ++FORCE_INLINE __m128i _mm_madd_epi16(__m128i a, __m128i b) ++{ ++ int32x4_t low = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t high = ++ vmull_high_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b)); ++ ++ return vreinterpretq_m128i_s32(vpaddq_s32(low, high)); ++#else ++ int32x4_t high = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ int32x2_t low_sum = vpadd_s32(vget_low_s32(low), vget_high_s32(low)); ++ int32x2_t high_sum = vpadd_s32(vget_low_s32(high), vget_high_s32(high)); ++ ++ return vreinterpretq_m128i_s32(vcombine_s32(low_sum, high_sum)); ++#endif ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. mem_addr does not need to be aligned ++// on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmoveu_si128 ++FORCE_INLINE void _mm_maskmoveu_si128(__m128i a, __m128i mask, char *mem_addr) ++{ ++ int8x16_t shr_mask = vshrq_n_s8(vreinterpretq_s8_m128i(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x16_t masked = ++ vbslq_s8(vreinterpretq_u8_s8(shr_mask), vreinterpretq_s8_m128i(a), ++ vreinterpretq_s8_m128(b)); ++ vst1q_s8((int8_t *) mem_addr, masked); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi16 ++FORCE_INLINE __m128i _mm_max_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmaxq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu8 ++FORCE_INLINE __m128i _mm_max_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vmaxq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pd ++FORCE_INLINE __m128d _mm_max_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcgtq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vmaxq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? a1 : b1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_sd ++FORCE_INLINE __m128d _mm_max_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_max_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] > db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi16 ++FORCE_INLINE __m128i _mm_min_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vminq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu8 ++FORCE_INLINE __m128i _mm_min_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vminq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pd ++FORCE_INLINE __m128d _mm_min_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcltq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vminq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? a1 : b1; ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_sd ++FORCE_INLINE __m128d _mm_min_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_min_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] < db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to the lower element of dst, and zero the ++// upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_epi64 ++FORCE_INLINE __m128i _mm_move_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vsetq_lane_s64(0, vreinterpretq_s64_m128i(a), 1)); ++} ++ ++// Move the lower double-precision (64-bit) floating-point element from b to the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_sd ++FORCE_INLINE __m128d _mm_move_sd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vget_low_f32(vreinterpretq_f32_m128d(b)), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_epi8 ++FORCE_INLINE int _mm_movemask_epi8(__m128i a) ++{ ++ // Use increasingly wide shifts+adds to collect the sign bits ++ // together. ++ // Since the widening shifts would be rather confusing to follow in little ++ // endian, everything will be illustrated in big endian order instead. This ++ // has a different result - the bits would actually be reversed on a big ++ // endian machine. ++ ++ // Starting input (only half the elements are shown): ++ // 89 ff 1d c0 00 10 99 33 ++ uint8x16_t input = vreinterpretq_u8_m128i(a); ++ ++ // Shift out everything but the sign bits with an unsigned shift right. ++ // ++ // Bytes of the vector:: ++ // 89 ff 1d c0 00 10 99 33 ++ // \ \ \ \ \ \ \ \ high_bits = (uint16x4_t)(input >> 7) ++ // | | | | | | | | ++ // 01 01 00 01 00 00 01 00 ++ // ++ // Bits of first important lane(s): ++ // 10001001 (89) ++ // \______ ++ // | ++ // 00000001 (01) ++ uint16x8_t high_bits = vreinterpretq_u16_u8(vshrq_n_u8(input, 7)); ++ ++ // Merge the even lanes together with a 16-bit unsigned shift right + add. ++ // 'xx' represents garbage data which will be ignored in the final result. ++ // In the important bytes, the add functions like a binary OR. ++ // ++ // 01 01 00 01 00 00 01 00 ++ // \_ | \_ | \_ | \_ | paired16 = (uint32x4_t)(input + (input >> 7)) ++ // \| \| \| \| ++ // xx 03 xx 01 xx 00 xx 02 ++ // ++ // 00000001 00000001 (01 01) ++ // \_______ | ++ // \| ++ // xxxxxxxx xxxxxx11 (xx 03) ++ uint32x4_t paired16 = ++ vreinterpretq_u32_u16(vsraq_n_u16(high_bits, high_bits, 7)); ++ ++ // Repeat with a wider 32-bit shift + add. ++ // xx 03 xx 01 xx 00 xx 02 ++ // \____ | \____ | paired32 = (uint64x1_t)(paired16 + (paired16 >> ++ // 14)) ++ // \| \| ++ // xx xx xx 0d xx xx xx 02 ++ // ++ // 00000011 00000001 (03 01) ++ // \\_____ || ++ // '----.\|| ++ // xxxxxxxx xxxx1101 (xx 0d) ++ uint64x2_t paired32 = ++ vreinterpretq_u64_u32(vsraq_n_u32(paired16, paired16, 14)); ++ ++ // Last, an even wider 64-bit shift + add to get our result in the low 8 bit ++ // lanes. xx xx xx 0d xx xx xx 02 ++ // \_________ | paired64 = (uint8x8_t)(paired32 + (paired32 >> ++ // 28)) ++ // \| ++ // xx xx xx xx xx xx xx d2 ++ // ++ // 00001101 00000010 (0d 02) ++ // \ \___ | | ++ // '---. \| | ++ // xxxxxxxx 11010010 (xx d2) ++ uint8x16_t paired64 = ++ vreinterpretq_u8_u64(vsraq_n_u64(paired32, paired32, 28)); ++ ++ // Extract the low 8 bits from each 64-bit lane with 2 8-bit extracts. ++ // xx xx xx xx xx xx xx d2 ++ // || return paired64[0] ++ // d2 ++ // Note: Little endian would return the correct value 4b (01001011) instead. ++ return vgetq_lane_u8(paired64, 0) | ((int) vgetq_lane_u8(paired64, 8) << 8); ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed double-precision (64-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pd ++FORCE_INLINE int _mm_movemask_pd(__m128d a) ++{ ++ uint64x2_t input = vreinterpretq_u64_m128d(a); ++ uint64x2_t high_bits = vshrq_n_u64(input, 63); ++ return (int) (vgetq_lane_u64(high_bits, 0) | ++ (vgetq_lane_u64(high_bits, 1) << 1)); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movepi64_pi64 ++FORCE_INLINE __m64 _mm_movepi64_pi64(__m128i a) ++{ ++ return vreinterpret_m64_s64(vget_low_s64(vreinterpretq_s64_m128i(a))); ++} ++ ++// Copy the 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movpi64_epi64 ++FORCE_INLINE __m128i _mm_movpi64_epi64(__m64 a) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vreinterpret_s64_m64(a), vdup_n_s64(0))); ++} ++ ++// Multiply the low unsigned 32-bit integers from each packed 64-bit element in ++// a and b, and store the unsigned 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epu32 ++FORCE_INLINE __m128i _mm_mul_epu32(__m128i a, __m128i b) ++{ ++ // vmull_u32 upcasts instead of masking, so we downcast. ++ uint32x2_t a_lo = vmovn_u64(vreinterpretq_u64_m128i(a)); ++ uint32x2_t b_lo = vmovn_u64(vreinterpretq_u64_m128i(b)); ++ return vreinterpretq_m128i_u64(vmull_u32(a_lo, b_lo)); ++} ++ ++// Multiply packed double-precision (64-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_pd ++FORCE_INLINE __m128d _mm_mul_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vmulq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] * db[0]; ++ c[1] = da[1] * db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Multiply the lower double-precision (64-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper element ++// from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_mul_sd ++FORCE_INLINE __m128d _mm_mul_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_mul_pd(a, b)); ++} ++ ++// Multiply the low unsigned 32-bit integers from a and b, and store the ++// unsigned 64-bit result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_su32 ++FORCE_INLINE __m64 _mm_mul_su32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u64(vget_low_u64( ++ vmull_u32(vreinterpret_u32_m64(a), vreinterpret_u32_m64(b)))); ++} ++ ++// Multiply the packed signed 16-bit integers in a and b, producing intermediate ++// 32-bit integers, and store the high 16 bits of the intermediate integers in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epi16 ++FORCE_INLINE __m128i _mm_mulhi_epi16(__m128i a, __m128i b) ++{ ++ /* FIXME: issue with large values because of result saturation */ ++ // int16x8_t ret = vqdmulhq_s16(vreinterpretq_s16_m128i(a), ++ // vreinterpretq_s16_m128i(b)); /* =2*a*b */ return ++ // vreinterpretq_m128i_s16(vshrq_n_s16(ret, 1)); ++ int16x4_t a3210 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b3210 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab3210 = vmull_s16(a3210, b3210); /* 3333222211110000 */ ++ int16x4_t a7654 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b7654 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab7654 = vmull_s16(a7654, b7654); /* 7777666655554444 */ ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_s32(ab3210), vreinterpretq_u16_s32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epu16 ++FORCE_INLINE __m128i _mm_mulhi_epu16(__m128i a, __m128i b) ++{ ++ uint16x4_t a3210 = vget_low_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b3210 = vget_low_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab3210 = vmull_u16(a3210, b3210); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32x4_t ab7654 = ++ vmull_high_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ uint16x8_t r = vuzp2q_u16(vreinterpretq_u16_u32(ab3210), ++ vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r); ++#else ++ uint16x4_t a7654 = vget_high_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b7654 = vget_high_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab7654 = vmull_u16(a7654, b7654); ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_u32(ab3210), vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++#endif ++} ++ ++// Multiply the packed 16-bit integers in a and b, producing intermediate 32-bit ++// integers, and store the low 16 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi16 ++FORCE_INLINE __m128i _mm_mullo_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmulq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compute the bitwise OR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_or_pd ++FORCE_INLINE __m128d _mm_or_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vorrq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise OR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_si128 ++FORCE_INLINE __m128i _mm_or_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vorrq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi16 ++FORCE_INLINE __m128i _mm_packs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vqmovn_s16(vreinterpretq_s16_m128i(a)), ++ vqmovn_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi32 ++FORCE_INLINE __m128i _mm_packs_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vqmovn_s32(vreinterpretq_s32_m128i(a)), ++ vqmovn_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi16 ++FORCE_INLINE __m128i _mm_packus_epi16(const __m128i a, const __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcombine_u8(vqmovun_s16(vreinterpretq_s16_m128i(a)), ++ vqmovun_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Pause the processor. This is typically used in spin-wait loops and depending ++// on the x86 processor typical values are in the 40-100 cycle range. The ++// 'yield' instruction isn't a good fit because it's effectively a nop on most ++// Arm cores. Experience with several databases has shown has shown an 'isb' is ++// a reasonable approximation. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_pause ++FORCE_INLINE void _mm_pause(void) ++{ ++#if defined(_MSC_VER) ++ __isb(_ARM64_BARRIER_SY); ++#else ++ __asm__ __volatile__("isb\n"); ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce two ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of 64-bit elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_epu8 ++FORCE_INLINE __m128i _mm_sad_epu8(__m128i a, __m128i b) ++{ ++ uint16x8_t t = vpaddlq_u8(vabdq_u8((uint8x16_t) a, (uint8x16_t) b)); ++ return vreinterpretq_m128i_u64(vpaddlq_u32(vpaddlq_u16(t))); ++} ++ ++// Set packed 16-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi16 ++FORCE_INLINE __m128i _mm_set_epi16(short i7, ++ short i6, ++ short i5, ++ short i4, ++ short i3, ++ short i2, ++ short i1, ++ short i0) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {i0, i1, i2, i3, i4, i5, i6, i7}; ++ return vreinterpretq_m128i_s16(vld1q_s16(data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi32 ++FORCE_INLINE __m128i _mm_set_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i0, i1, i2, i3}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64 ++FORCE_INLINE __m128i _mm_set_epi64(__m64 i1, __m64 i2) ++{ ++ return _mm_set_epi64x(vget_lane_s64(i1, 0), vget_lane_s64(i2, 0)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64x ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t i1, int64_t i2) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vcreate_s64(i2), vcreate_s64(i1))); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi8 ++FORCE_INLINE __m128i _mm_set_epi8(signed char b15, ++ signed char b14, ++ signed char b13, ++ signed char b12, ++ signed char b11, ++ signed char b10, ++ signed char b9, ++ signed char b8, ++ signed char b7, ++ signed char b6, ++ signed char b5, ++ signed char b4, ++ signed char b3, ++ signed char b2, ++ signed char b1, ++ signed char b0) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd ++FORCE_INLINE __m128d _mm_set_pd(double e1, double e0) ++{ ++ double ALIGN_STRUCT(16) data[2] = {e0, e1}; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64((float64_t *) data)); ++#else ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) data)); ++#endif ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd1 ++#define _mm_set_pd1 _mm_set1_pd ++ ++// Copy double-precision (64-bit) floating-point element a to the lower element ++// of dst, and zero the upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_sd ++FORCE_INLINE __m128d _mm_set_sd(double a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(a, vdupq_n_f64(0), 0)); ++#else ++ return _mm_set_pd(0, a); ++#endif ++} ++ ++// Broadcast 16-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi16 ++FORCE_INLINE __m128i _mm_set1_epi16(short w) ++{ ++ return vreinterpretq_m128i_s16(vdupq_n_s16(w)); ++} ++ ++// Broadcast 32-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi32 ++FORCE_INLINE __m128i _mm_set1_epi32(int _i) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(_i)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64 ++FORCE_INLINE __m128i _mm_set1_epi64(__m64 _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_lane_s64(_i, 0)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64x ++FORCE_INLINE __m128i _mm_set1_epi64x(int64_t _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_n_s64(_i)); ++} ++ ++// Broadcast 8-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi8 ++FORCE_INLINE __m128i _mm_set1_epi8(signed char w) ++{ ++ return vreinterpretq_m128i_s8(vdupq_n_s8(w)); ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_pd ++FORCE_INLINE __m128d _mm_set1_pd(double d) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(d)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(int64_t *) &d)); ++#endif ++} ++ ++// Set packed 16-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi16 ++FORCE_INLINE __m128i _mm_setr_epi16(short w0, ++ short w1, ++ short w2, ++ short w3, ++ short w4, ++ short w5, ++ short w6, ++ short w7) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {w0, w1, w2, w3, w4, w5, w6, w7}; ++ return vreinterpretq_m128i_s16(vld1q_s16((int16_t *) data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi32 ++FORCE_INLINE __m128i _mm_setr_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i3, i2, i1, i0}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi64 ++FORCE_INLINE __m128i _mm_setr_epi64(__m64 e1, __m64 e0) ++{ ++ return vreinterpretq_m128i_s64(vcombine_s64(e1, e0)); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi8 ++FORCE_INLINE __m128i _mm_setr_epi8(signed char b0, ++ signed char b1, ++ signed char b2, ++ signed char b3, ++ signed char b4, ++ signed char b5, ++ signed char b6, ++ signed char b7, ++ signed char b8, ++ signed char b9, ++ signed char b10, ++ signed char b11, ++ signed char b12, ++ signed char b13, ++ signed char b14, ++ signed char b15) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_pd ++FORCE_INLINE __m128d _mm_setr_pd(double e1, double e0) ++{ ++ return _mm_set_pd(e0, e1); ++} ++ ++// Return vector of type __m128d with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_pd ++FORCE_INLINE __m128d _mm_setzero_pd(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(0)); ++#else ++ return vreinterpretq_m128d_f32(vdupq_n_f32(0)); ++#endif ++} ++ ++// Return vector of type __m128i with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_si128 ++FORCE_INLINE __m128i _mm_setzero_si128(void) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(0)); ++} ++ ++// Shuffle 32-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi32 ++// FORCE_INLINE __m128i _mm_shuffle_epi32(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shuffle_epi32(a, imm) \ ++ __extension__({ \ ++ int32x4_t _input = vreinterpretq_s32_m128i(a); \ ++ int32x4_t _shuf = \ ++ vshuffleq_s32(_input, _input, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ ((imm) >> 4) & 0x3, ((imm) >> 6) & 0x3); \ ++ vreinterpretq_m128i_s32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_epi32(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, __m128i ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_epi_1032(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_epi_2301(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_epi_0321(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_epi_2103(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_shuffle_epi_1010(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_epi_1001(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_epi_0101(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 1, 1): \ ++ ret = _mm_shuffle_epi_2211(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 2, 2): \ ++ ret = _mm_shuffle_epi_0122(_a); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 2): \ ++ ret = _mm_shuffle_epi_3332(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 0, 0): \ ++ ret = _mm_shuffle_epi32_splat(_a, 0); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 1, 1): \ ++ ret = _mm_shuffle_epi32_splat(_a, 1); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 2, 2): \ ++ ret = _mm_shuffle_epi32_splat(_a, 2); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 3): \ ++ ret = _mm_shuffle_epi32_splat(_a, 3); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_epi32_default(_a, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Shuffle double-precision (64-bit) floating-point elements using the control ++// in imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pd ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pd(a, b, imm8) \ ++ vreinterpretq_m128d_s64( \ ++ vshuffleq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b), \ ++ imm8 & 0x1, ((imm8 & 0x2) >> 1) + 2)) ++#else ++#define _mm_shuffle_pd(a, b, imm8) \ ++ _mm_castsi128_pd(_mm_set_epi64x( \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(b), (imm8 & 0x2) >> 1), \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(a), imm8 & 0x1))) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflehi_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflehi_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = \ ++ vshuffleq_s16(_input, _input, 0, 1, 2, 3, ((imm) & (0x3)) + 4, \ ++ (((imm) >> 2) & 0x3) + 4, (((imm) >> 4) & 0x3) + 4, \ ++ (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflehi_epi16(a, imm) _mm_shufflehi_epi16_function((a), (imm)) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflelo_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflelo_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = vshuffleq_s16( \ ++ _input, _input, ((imm) & (0x3)), (((imm) >> 2) & 0x3), \ ++ (((imm) >> 4) & 0x3), (((imm) >> 6) & 0x3), 4, 5, 6, 7); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflelo_epi16(a, imm) _mm_shufflelo_epi16_function((a), (imm)) ++#endif ++ ++// Shift packed 16-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi16 ++FORCE_INLINE __m128i _mm_sll_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16((int16_t) c); ++ return vreinterpretq_m128i_s16(vshlq_s16(vreinterpretq_s16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi32 ++FORCE_INLINE __m128i _mm_sll_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32((int32_t) c); ++ return vreinterpretq_m128i_s32(vshlq_s32(vreinterpretq_s32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi64 ++FORCE_INLINE __m128i _mm_sll_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64((int64_t) c); ++ return vreinterpretq_m128i_s64(vshlq_s64(vreinterpretq_s64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi16 ++FORCE_INLINE __m128i _mm_slli_epi16(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~15)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16(vreinterpretq_s16_m128i(a), vdupq_n_s16(imm))); ++} ++ ++// Shift packed 32-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi32 ++FORCE_INLINE __m128i _mm_slli_epi32(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~31)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32(vreinterpretq_s32_m128i(a), vdupq_n_s32(imm))); ++} ++ ++// Shift packed 64-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi64 ++FORCE_INLINE __m128i _mm_slli_epi64(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~63)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s64( ++ vshlq_s64(vreinterpretq_s64_m128i(a), vdupq_n_s64(imm))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_si128 ++#define _mm_slli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely(imm == 0)) ret = vreinterpretq_s8_m128i(_a); \ ++ else if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vdupq_n_s8(0), vreinterpretq_s8_m128i(_a), \ ++ ((imm <= 0 || imm > 15) ? 0 : (16 - imm))); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Compute the square root of packed double-precision (64-bit) floating-point ++// elements in a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_pd ++FORCE_INLINE __m128d _mm_sqrt_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsqrtq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double a0 = sqrt(((double *) &a)[0]); ++ double a1 = sqrt(((double *) &a)[1]); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Compute the square root of the lower double-precision (64-bit) floating-point ++// element in b, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_sd ++FORCE_INLINE __m128d _mm_sqrt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_sqrt_pd(b)); ++#else ++ return _mm_set_pd(((double *) &a)[1], sqrt(((double *) &b)[0])); ++#endif ++} ++ ++// Shift packed 16-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi16 ++FORCE_INLINE __m128i _mm_sra_epi16(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_cmplt_epi16(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16((int16x8_t) a, vdupq_n_s16((int) -c))); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi32 ++FORCE_INLINE __m128i _mm_sra_epi32(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_cmplt_epi32(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32((int32x4_t) a, vdupq_n_s32((int) -c))); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in sign ++// bits, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi16 ++FORCE_INLINE __m128i _mm_srai_epi16(__m128i a, int imm) ++{ ++ const int count = (imm & ~15) ? 15 : imm; ++ return (__m128i) vshlq_s16((int16x8_t) a, vdupq_n_s16(-count)); ++} ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi32 ++// FORCE_INLINE __m128i _mm_srai_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srai_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) == 0)) { \ ++ ret = _a; \ ++ } else if (_sse2neon_likely(0 < (imm) && (imm) < 32)) { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshlq_s32(vreinterpretq_s32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } else { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshrq_n_s32(vreinterpretq_s32_m128i(_a), 31)); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 16-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi16 ++FORCE_INLINE __m128i _mm_srl_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16(-(int16_t) c); ++ return vreinterpretq_m128i_u16(vshlq_u16(vreinterpretq_u16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi32 ++FORCE_INLINE __m128i _mm_srl_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32(-(int32_t) c); ++ return vreinterpretq_m128i_u32(vshlq_u32(vreinterpretq_u32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi64 ++FORCE_INLINE __m128i _mm_srl_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64(-(int64_t) c); ++ return vreinterpretq_m128i_u64(vshlq_u64(vreinterpretq_u64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi16 ++#define _mm_srli_epi16(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~15)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u16( \ ++ vshlq_u16(vreinterpretq_u16_m128i(_a), vdupq_n_s16(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi32 ++// FORCE_INLINE __m128i _mm_srli_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srli_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~31)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u32( \ ++ vshlq_u32(vreinterpretq_u32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 64-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi64 ++#define _mm_srli_epi64(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~63)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u64( \ ++ vshlq_u64(vreinterpretq_u64_m128i(_a), vdupq_n_s64(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_si128 ++#define _mm_srli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vreinterpretq_s8_m128i(_a), vdupq_n_s8(0), \ ++ (imm > 15 ? 0 : imm)); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd ++FORCE_INLINE void _mm_store_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64((float64_t *) mem_addr, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_f32((float32_t *) mem_addr, vreinterpretq_f32_m128d(a)); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd1 ++FORCE_INLINE void _mm_store_pd1(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x1_t a_low = vget_low_f64(vreinterpretq_f64_m128d(a)); ++ vst1q_f64((float64_t *) mem_addr, ++ vreinterpretq_f64_m128d(vcombine_f64(a_low, a_low))); ++#else ++ float32x2_t a_low = vget_low_f32(vreinterpretq_f32_m128d(a)); ++ vst1q_f32((float32_t *) mem_addr, ++ vreinterpretq_f32_m128d(vcombine_f32(a_low, a_low))); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_store_sd ++FORCE_INLINE void _mm_store_sd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_u64((uint64_t *) mem_addr, vget_low_u64(vreinterpretq_u64_m128d(a))); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_si128 ++FORCE_INLINE void _mm_store_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#expand=9,526,5601&text=_mm_store1_pd ++#define _mm_store1_pd _mm_store_pd1 ++ ++// Store the upper double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pd ++FORCE_INLINE void _mm_storeh_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_high_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_high_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 64-bit integer from the first element of a into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_epi64 ++FORCE_INLINE void _mm_storel_epi64(__m128i *a, __m128i b) ++{ ++ vst1_u64((uint64_t *) a, vget_low_u64(vreinterpretq_u64_m128i(b))); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pd ++FORCE_INLINE void _mm_storel_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_low_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 2 double-precision (64-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_pd ++FORCE_INLINE void _mm_storer_pd(double *mem_addr, __m128d a) ++{ ++ float32x4_t f = vreinterpretq_f32_m128d(a); ++ _mm_store_pd(mem_addr, vreinterpretq_m128d_f32(vextq_f32(f, f, 2))); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_pd ++FORCE_INLINE void _mm_storeu_pd(double *mem_addr, __m128d a) ++{ ++ _mm_store_pd(mem_addr, a); ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si128 ++FORCE_INLINE void _mm_storeu_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store 32-bit integer from the first element of a into memory. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si32 ++FORCE_INLINE void _mm_storeu_si32(void *p, __m128i a) ++{ ++ vst1q_lane_s32((int32_t *) p, vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory using a non-temporal memory hint. mem_addr must ++// be aligned on a 16-byte boundary or a general-protection exception may be ++// generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pd ++FORCE_INLINE void _mm_stream_pd(double *p, __m128d a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (__m128d *) p); ++#elif defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64(p, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128d(a)); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory using a non-temporal memory ++// hint. mem_addr must be aligned on a 16-byte boundary or a general-protection ++// exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si128 ++FORCE_INLINE void _mm_stream_si128(__m128i *p, __m128i a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, p); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128i(a)); ++#endif ++} ++ ++// Store 32-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si32 ++FORCE_INLINE void _mm_stream_si32(int *p, int a) ++{ ++ vst1q_lane_s32((int32_t *) p, vdupq_n_s32(a), 0); ++} ++ ++// Store 64-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si64 ++FORCE_INLINE void _mm_stream_si64(__int64 *p, __int64 a) ++{ ++ vst1_s64((int64_t *) p, vdup_n_s64((int64_t) a)); ++} ++ ++// Subtract packed 16-bit integers in b from packed 16-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi16 ++FORCE_INLINE __m128i _mm_sub_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed 32-bit integers in b from packed 32-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi32 ++FORCE_INLINE __m128i _mm_sub_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Subtract packed 64-bit integers in b from packed 64-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi64 ++FORCE_INLINE __m128i _mm_sub_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vsubq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Subtract packed 8-bit integers in b from packed 8-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi8 ++FORCE_INLINE __m128i _mm_sub_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed double-precision (64-bit) floating-point elements in b from ++// packed double-precision (64-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_sub_pd ++FORCE_INLINE __m128d _mm_sub_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] - db[0]; ++ c[1] = da[1] - db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Subtract the lower double-precision (64-bit) floating-point element in b from ++// the lower double-precision (64-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_sd ++FORCE_INLINE __m128d _mm_sub_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_sub_pd(a, b)); ++} ++ ++// Subtract 64-bit integer b from 64-bit integer a, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_si64 ++FORCE_INLINE __m64 _mm_sub_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vsub_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Subtract packed signed 16-bit integers in b from packed 16-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi16 ++FORCE_INLINE __m128i _mm_subs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed signed 8-bit integers in b from packed 8-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi8 ++FORCE_INLINE __m128i _mm_subs_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed unsigned 16-bit integers in b from packed unsigned 16-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu16 ++FORCE_INLINE __m128i _mm_subs_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqsubq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Subtract packed unsigned 8-bit integers in b from packed unsigned 8-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu8 ++FORCE_INLINE __m128i _mm_subs_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqsubq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++#define _mm_ucomieq_sd _mm_comieq_sd ++#define _mm_ucomige_sd _mm_comige_sd ++#define _mm_ucomigt_sd _mm_comigt_sd ++#define _mm_ucomile_sd _mm_comile_sd ++#define _mm_ucomilt_sd _mm_comilt_sd ++#define _mm_ucomineq_sd _mm_comineq_sd ++ ++// Return vector of type __m128d with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_pd ++FORCE_INLINE __m128d _mm_undefined_pd(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128d a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_pd(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi16 ++FORCE_INLINE __m128i _mm_unpackhi_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip2q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi32 ++FORCE_INLINE __m128i _mm_unpackhi_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip2q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_high_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi64 ++FORCE_INLINE __m128i _mm_unpackhi_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip2q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_h = vget_high_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_h = vget_high_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_h, b_h)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the high half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi8 ++FORCE_INLINE __m128i _mm_unpackhi_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip2q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the high half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_pd ++FORCE_INLINE __m128d _mm_unpackhi_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip2q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_high_s64(vreinterpretq_s64_m128d(a)), ++ vget_high_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi16 ++FORCE_INLINE __m128i _mm_unpacklo_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip1q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi32 ++FORCE_INLINE __m128i _mm_unpacklo_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip1q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_low_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi64 ++FORCE_INLINE __m128i _mm_unpacklo_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip1q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_l = vget_low_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_l = vget_low_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_l, b_l)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi8 ++FORCE_INLINE __m128i _mm_unpacklo_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip1q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_pd ++FORCE_INLINE __m128d _mm_unpacklo_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip1q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_low_s64(vreinterpretq_s64_m128d(a)), ++ vget_low_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Compute the bitwise XOR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_pd ++FORCE_INLINE __m128d _mm_xor_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ veorq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise XOR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_si128 ++FORCE_INLINE __m128i _mm_xor_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ veorq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++/* SSE3 */ ++ ++// Alternatively add and subtract packed double-precision (64-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_addsub_pd ++FORCE_INLINE __m128d _mm_addsub_pd(__m128d a, __m128d b) ++{ ++ _sse2neon_const __m128d mask = _mm_set_pd(1.0f, -1.0f); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vfmaq_f64(vreinterpretq_f64_m128d(a), ++ vreinterpretq_f64_m128d(b), ++ vreinterpretq_f64_m128d(mask))); ++#else ++ return _mm_add_pd(_mm_mul_pd(b, mask), a); ++#endif ++} ++ ++// Alternatively add and subtract packed single-precision (32-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=addsub_ps ++FORCE_INLINE __m128 _mm_addsub_ps(__m128 a, __m128 b) ++{ ++ _sse2neon_const __m128 mask = _mm_setr_ps(-1.0f, 1.0f, -1.0f, 1.0f); ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_FMA) /* VFPv4+ */ ++ return vreinterpretq_m128_f32(vfmaq_f32(vreinterpretq_f32_m128(a), ++ vreinterpretq_f32_m128(mask), ++ vreinterpretq_f32_m128(b))); ++#else ++ return _mm_add_ps(_mm_mul_ps(b, mask), a); ++#endif ++} ++ ++// Horizontally add adjacent pairs of double-precision (64-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pd ++FORCE_INLINE __m128d _mm_hadd_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vpaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[] = {da[0] + da[1], db[0] + db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of single-precision (32-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_ps ++FORCE_INLINE __m128 _mm_hadd_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vpaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vpadd_f32(a10, a32), vpadd_f32(b10, b32))); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of double-precision (64-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pd ++FORCE_INLINE __m128d _mm_hsub_pd(__m128d _a, __m128d _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vuzp1q_f64(a, b), vuzp2q_f64(a, b))); ++#else ++ double *da = (double *) &_a; ++ double *db = (double *) &_b; ++ double c[] = {da[0] - da[1], db[0] - db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of single-precision (32-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_ps ++FORCE_INLINE __m128 _mm_hsub_ps(__m128 _a, __m128 _b) ++{ ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vuzp1q_f32(a, b), vuzp2q_f32(a, b))); ++#else ++ float32x4x2_t c = vuzpq_f32(a, b); ++ return vreinterpretq_m128_f32(vsubq_f32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Load 128-bits of integer data from unaligned memory into dst. This intrinsic ++// may perform better than _mm_loadu_si128 when the data crosses a cache line ++// boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lddqu_si128 ++#define _mm_lddqu_si128 _mm_loadu_si128 ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loaddup_pd ++#define _mm_loaddup_pd _mm_load1_pd ++ ++// Duplicate the low double-precision (64-bit) floating-point element from a, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movedup_pd ++FORCE_INLINE __m128d _mm_movedup_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdupq_laneq_f64(vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_u64( ++ vdupq_n_u64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0))); ++#endif ++} ++ ++// Duplicate odd-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehdup_ps ++FORCE_INLINE __m128 _mm_movehdup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 1, 1, 3, 3)); ++#else ++ float32_t a1 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ float32_t a3 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 3); ++ float ALIGN_STRUCT(16) data[4] = {a1, a1, a3, a3}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Duplicate even-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_moveldup_ps ++FORCE_INLINE __m128 _mm_moveldup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 0, 0, 2, 2)); ++#else ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32_t a2 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 2); ++ float ALIGN_STRUCT(16) data[4] = {a0, a0, a2, a2}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++/* SSSE3 */ ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi16 ++FORCE_INLINE __m128i _mm_abs_epi16(__m128i a) ++{ ++ return vreinterpretq_m128i_s16(vabsq_s16(vreinterpretq_s16_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi32 ++FORCE_INLINE __m128i _mm_abs_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32(vabsq_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi8 ++FORCE_INLINE __m128i _mm_abs_epi8(__m128i a) ++{ ++ return vreinterpretq_m128i_s8(vabsq_s8(vreinterpretq_s8_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi16 ++FORCE_INLINE __m64 _mm_abs_pi16(__m64 a) ++{ ++ return vreinterpret_m64_s16(vabs_s16(vreinterpret_s16_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi32 ++FORCE_INLINE __m64 _mm_abs_pi32(__m64 a) ++{ ++ return vreinterpret_m64_s32(vabs_s32(vreinterpret_s32_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi8 ++FORCE_INLINE __m64 _mm_abs_pi8(__m64 a) ++{ ++ return vreinterpret_m64_s8(vabs_s8(vreinterpret_s8_m64(a))); ++} ++ ++// Concatenate 16-byte blocks in a and b into a 32-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 16 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_epi8 ++#if defined(__GNUC__) && !defined(__clang__) ++#define _mm_alignr_epi8(a, b, imm) \ ++ __extension__({ \ ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); \ ++ uint8x16_t _b = vreinterpretq_u8_m128i(b); \ ++ __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) \ ++ ret = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) \ ++ ret = _mm_srli_si128(a, imm >= 16 ? imm - 16 : 0); \ ++ else \ ++ ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(_b, _a, imm < 16 ? imm : 0)); \ ++ ret; \ ++ }) ++ ++#else ++#define _mm_alignr_epi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, uint8x16_t __a = vreinterpretq_u8_m128i(_a); \ ++ uint8x16_t __b = vreinterpretq_u8_m128i(_b); __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) ret = \ ++ vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) ret = \ ++ _mm_srli_si128(_a, imm >= 16 ? imm - 16 : 0); \ ++ else ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(__b, __a, imm < 16 ? imm : 0)); \ ++ _sse2neon_return(ret);) ++ ++#endif ++ ++// Concatenate 8-byte blocks in a and b into a 16-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 8 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_pi8 ++#define _mm_alignr_pi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m64, a, b, __m64 ret; if (_sse2neon_unlikely((imm) >= 16)) { \ ++ ret = vreinterpret_m64_s8(vdup_n_s8(0)); \ ++ } else { \ ++ uint8x8_t tmp_low; \ ++ uint8x8_t tmp_high; \ ++ if ((imm) >= 8) { \ ++ const int idx = (imm) -8; \ ++ tmp_low = vreinterpret_u8_m64(_a); \ ++ tmp_high = vdup_n_u8(0); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } else { \ ++ const int idx = (imm); \ ++ tmp_low = vreinterpret_u8_m64(_b); \ ++ tmp_high = vreinterpret_u8_m64(_a); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } \ ++ } _sse2neon_return(ret);) ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi16 ++FORCE_INLINE __m128i _mm_hadd_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16(vpaddq_s16(a, b)); ++#else ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(vget_low_s16(a), vget_high_s16(a)), ++ vpadd_s16(vget_low_s16(b), vget_high_s16(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi32 ++FORCE_INLINE __m128i _mm_hadd_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32(vpaddq_s32(a, b)); ++#else ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vpadd_s32(vget_low_s32(a), vget_high_s32(a)), ++ vpadd_s32(vget_low_s32(b), vget_high_s32(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi16 ++FORCE_INLINE __m64 _mm_hadd_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vpadd_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi32 ++FORCE_INLINE __m64 _mm_hadd_pi32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s32( ++ vpadd_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_epi16 ++FORCE_INLINE __m128i _mm_hadds_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ return vreinterpretq_s64_s16( ++ vqaddq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ // Interleave using vshrn/vmovn ++ // [a0|a2|a4|a6|b0|b2|b4|b6] ++ // [a1|a3|a5|a7|b1|b3|b5|b7] ++ int16x8_t ab0246 = vcombine_s16(vmovn_s32(a), vmovn_s32(b)); ++ int16x8_t ab1357 = vcombine_s16(vshrn_n_s32(a, 16), vshrn_n_s32(b, 16)); ++ // Saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(ab0246, ab1357)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_pi16 ++FORCE_INLINE __m64 _mm_hadds_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_s64_s16(vqadd_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t res = vuzp_s16(a, b); ++ return vreinterpret_s64_s16(vqadd_s16(res.val[0], res.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi16 ++FORCE_INLINE __m128i _mm_hsub_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi32 ++FORCE_INLINE __m128i _mm_hsub_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vuzp1q_s32(a, b), vuzp2q_s32(a, b))); ++#else ++ int32x4x2_t c = vuzpq_s32(a, b); ++ return vreinterpretq_m128i_s32(vsubq_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pi16 ++FORCE_INLINE __m64 _mm_hsub_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_hsub_pi32 ++FORCE_INLINE __m64 _mm_hsub_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s32(vsub_s32(vuzp1_s32(a, b), vuzp2_s32(a, b))); ++#else ++ int32x2x2_t c = vuzp_s32(a, b); ++ return vreinterpret_m64_s32(vsub_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_epi16 ++FORCE_INLINE __m128i _mm_hsubs_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vqsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_pi16 ++FORCE_INLINE __m64 _mm_hsubs_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vqsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vqsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, ++// and pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_epi16 ++FORCE_INLINE __m128i _mm_maddubs_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ int16x8_t tl = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_low_u8(a))), ++ vmovl_s8(vget_low_s8(b))); ++ int16x8_t th = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_high_u8(a))), ++ vmovl_s8(vget_high_s8(b))); ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vuzp1q_s16(tl, th), vuzp2q_s16(tl, th))); ++#else ++ // This would be much simpler if x86 would choose to zero extend OR sign ++ // extend, not both. This could probably be optimized better. ++ uint16x8_t a = vreinterpretq_u16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // Zero extend a ++ int16x8_t a_odd = vreinterpretq_s16_u16(vshrq_n_u16(a, 8)); ++ int16x8_t a_even = vreinterpretq_s16_u16(vbicq_u16(a, vdupq_n_u16(0xff00))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x8_t b_even = vshrq_n_s16(vshlq_n_s16(b, 8), 8); ++ int16x8_t b_odd = vshrq_n_s16(b, 8); ++ ++ // multiply ++ int16x8_t prod1 = vmulq_s16(a_even, b_even); ++ int16x8_t prod2 = vmulq_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(prod1, prod2)); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, and ++// pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_pi16 ++FORCE_INLINE __m64 _mm_maddubs_pi16(__m64 _a, __m64 _b) ++{ ++ uint16x4_t a = vreinterpret_u16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // Zero extend a ++ int16x4_t a_odd = vreinterpret_s16_u16(vshr_n_u16(a, 8)); ++ int16x4_t a_even = vreinterpret_s16_u16(vand_u16(a, vdup_n_u16(0xff))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x4_t b_even = vshr_n_s16(vshl_n_s16(b, 8), 8); ++ int16x4_t b_odd = vshr_n_s16(b, 8); ++ ++ // multiply ++ int16x4_t prod1 = vmul_s16(a_even, b_even); ++ int16x4_t prod2 = vmul_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpret_m64_s16(vqadd_s16(prod1, prod2)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Shift right by 15 bits while rounding up, and store ++// the packed 16-bit integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_epi16 ++FORCE_INLINE __m128i _mm_mulhrs_epi16(__m128i a, __m128i b) ++{ ++ // Has issues due to saturation ++ // return vreinterpretq_m128i_s16(vqrdmulhq_s16(a, b)); ++ ++ // Multiply ++ int32x4_t mul_lo = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int32x4_t mul_hi = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ // Rounding narrowing shift right ++ // narrow = (int16_t)((mul + 16384) >> 15); ++ int16x4_t narrow_lo = vrshrn_n_s32(mul_lo, 15); ++ int16x4_t narrow_hi = vrshrn_n_s32(mul_hi, 15); ++ ++ // Join together ++ return vreinterpretq_m128i_s16(vcombine_s16(narrow_lo, narrow_hi)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Truncate each intermediate integer to the 18 most ++// significant bits, round by adding 1, and store bits [16:1] to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_pi16 ++FORCE_INLINE __m64 _mm_mulhrs_pi16(__m64 a, __m64 b) ++{ ++ int32x4_t mul_extend = ++ vmull_s16((vreinterpret_s16_m64(a)), (vreinterpret_s16_m64(b))); ++ ++ // Rounding narrowing shift right ++ return vreinterpret_m64_s16(vrshrn_n_s32(mul_extend, 15)); ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi8 ++FORCE_INLINE __m128i _mm_shuffle_epi8(__m128i a, __m128i b) ++{ ++ int8x16_t tbl = vreinterpretq_s8_m128i(a); // input a ++ uint8x16_t idx = vreinterpretq_u8_m128i(b); // input b ++ uint8x16_t idx_masked = ++ vandq_u8(idx, vdupq_n_u8(0x8F)); // avoid using meaningless bits ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8(vqtbl1q_s8(tbl, idx_masked)); ++#elif defined(__GNUC__) ++ int8x16_t ret; ++ // %e and %f represent the even and odd D registers ++ // respectively. ++ __asm__ __volatile__( ++ "vtbl.8 %e[ret], {%e[tbl], %f[tbl]}, %e[idx]\n" ++ "vtbl.8 %f[ret], {%e[tbl], %f[tbl]}, %f[idx]\n" ++ : [ret] "=&w"(ret) ++ : [tbl] "w"(tbl), [idx] "w"(idx_masked)); ++ return vreinterpretq_m128i_s8(ret); ++#else ++ // use this line if testing on aarch64 ++ int8x8x2_t a_split = {vget_low_s8(tbl), vget_high_s8(tbl)}; ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vtbl2_s8(a_split, vget_low_u8(idx_masked)), ++ vtbl2_s8(a_split, vget_high_u8(idx_masked)))); ++#endif ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi8 ++FORCE_INLINE __m64 _mm_shuffle_pi8(__m64 a, __m64 b) ++{ ++ const int8x8_t controlMask = ++ vand_s8(vreinterpret_s8_m64(b), vdup_n_s8((int8_t) (0x1 << 7 | 0x07))); ++ int8x8_t res = vtbl1_s8(vreinterpret_s8_m64(a), controlMask); ++ return vreinterpret_m64_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed ++// 16-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi16 ++FORCE_INLINE __m128i _mm_sign_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x8_t ltMask = vreinterpretq_u16_s16(vshrq_n_s16(b, 15)); ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqzq_s16(b)); ++#else ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqq_s16(b, vdupq_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s16(a) equals to negative ++ // 'a') based on ltMask ++ int16x8_t masked = vbslq_s16(ltMask, vnegq_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x8_t res = vbicq_s16(masked, zeroMask); ++ return vreinterpretq_m128i_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed ++// 32-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi32 ++FORCE_INLINE __m128i _mm_sign_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x4_t ltMask = vreinterpretq_u32_s32(vshrq_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqzq_s32(b)); ++#else ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqq_s32(b, vdupq_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s32(a) equals to negative ++ // 'a') based on ltMask ++ int32x4_t masked = vbslq_s32(ltMask, vnegq_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x4_t res = vbicq_s32(masked, zeroMask); ++ return vreinterpretq_m128i_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed ++// 8-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi8 ++FORCE_INLINE __m128i _mm_sign_epi8(__m128i _a, __m128i _b) ++{ ++ int8x16_t a = vreinterpretq_s8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x16_t ltMask = vreinterpretq_u8_s8(vshrq_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqzq_s8(b)); ++#else ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqq_s8(b, vdupq_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s8(a) return negative 'a') ++ // based on ltMask ++ int8x16_t masked = vbslq_s8(ltMask, vnegq_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x16_t res = vbicq_s8(masked, zeroMask); ++ ++ return vreinterpretq_m128i_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed 16-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi16 ++FORCE_INLINE __m64 _mm_sign_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x4_t ltMask = vreinterpret_u16_s16(vshr_n_s16(b, 15)); ++ ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceqz_s16(b)); ++#else ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceq_s16(b, vdup_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s16(a) return negative 'a') ++ // based on ltMask ++ int16x4_t masked = vbsl_s16(ltMask, vneg_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x4_t res = vbic_s16(masked, zeroMask); ++ ++ return vreinterpret_m64_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed 32-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi32 ++FORCE_INLINE __m64 _mm_sign_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x2_t ltMask = vreinterpret_u32_s32(vshr_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceqz_s32(b)); ++#else ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceq_s32(b, vdup_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s32(a) return negative 'a') ++ // based on ltMask ++ int32x2_t masked = vbsl_s32(ltMask, vneg_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x2_t res = vbic_s32(masked, zeroMask); ++ ++ return vreinterpret_m64_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed 8-bit integer ++// in b is negative, and store the results in dst. Element in dst are zeroed out ++// when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi8 ++FORCE_INLINE __m64 _mm_sign_pi8(__m64 _a, __m64 _b) ++{ ++ int8x8_t a = vreinterpret_s8_m64(_a); ++ int8x8_t b = vreinterpret_s8_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x8_t ltMask = vreinterpret_u8_s8(vshr_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceqz_s8(b)); ++#else ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceq_s8(b, vdup_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s8(a) return negative 'a') ++ // based on ltMask ++ int8x8_t masked = vbsl_s8(ltMask, vneg_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x8_t res = vbic_s8(masked, zeroMask); ++ ++ return vreinterpret_m64_s8(res); ++} ++ ++/* SSE4.1 */ ++ ++// Blend packed 16-bit integers from a and b using control mask imm8, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_epi16 ++// FORCE_INLINE __m128i _mm_blend_epi16(__m128i a, __m128i b, ++// __constrange(0,255) int imm) ++#define _mm_blend_epi16(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, \ ++ const uint16_t _mask[8] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 1)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 2)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 3)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 4)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 5)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 6)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 7)) ? (uint16_t) -1 : 0x0); \ ++ uint16x8_t _mask_vec = vld1q_u16(_mask); \ ++ uint16x8_t __a = vreinterpretq_u16_m128i(_a); \ ++ uint16x8_t __b = vreinterpretq_u16_m128i(_b); _sse2neon_return( \ ++ vreinterpretq_m128i_u16(vbslq_u16(_mask_vec, __b, __a)));) ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using control mask imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_pd ++#define _mm_blend_pd(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128d, a, b, \ ++ const uint64_t _mask[2] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? ~UINT64_C(0) : UINT64_C(0), \ ++ ((imm) & (1 << 1)) ? ~UINT64_C(0) : UINT64_C(0)); \ ++ uint64x2_t _mask_vec = vld1q_u64(_mask); \ ++ uint64x2_t __a = vreinterpretq_u64_m128d(_a); \ ++ uint64x2_t __b = vreinterpretq_u64_m128d(_b); _sse2neon_return( \ ++ vreinterpretq_m128d_u64(vbslq_u64(_mask_vec, __b, __a)));) ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_ps ++FORCE_INLINE __m128 _mm_blend_ps(__m128 _a, __m128 _b, const char imm8) ++{ ++ const uint32_t ALIGN_STRUCT(16) ++ data[4] = {((imm8) & (1 << 0)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0}; ++ uint32x4_t mask = vld1q_u32(data); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Blend packed 8-bit integers from a and b using mask, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_epi8 ++FORCE_INLINE __m128i _mm_blendv_epi8(__m128i _a, __m128i _b, __m128i _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint8x16_t mask = ++ vreinterpretq_u8_s8(vshrq_n_s8(vreinterpretq_s8_m128i(_mask), 7)); ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ uint8x16_t b = vreinterpretq_u8_m128i(_b); ++ return vreinterpretq_m128i_u8(vbslq_u8(mask, b, a)); ++} ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_pd ++FORCE_INLINE __m128d _mm_blendv_pd(__m128d _a, __m128d _b, __m128d _mask) ++{ ++ uint64x2_t mask = ++ vreinterpretq_u64_s64(vshrq_n_s64(vreinterpretq_s64_m128d(_mask), 63)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64(vbslq_f64(mask, b, a)); ++#else ++ uint64x2_t a = vreinterpretq_u64_m128d(_a); ++ uint64x2_t b = vreinterpretq_u64_m128d(_b); ++ return vreinterpretq_m128d_u64(vbslq_u64(mask, b, a)); ++#endif ++} ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_ps ++FORCE_INLINE __m128 _mm_blendv_ps(__m128 _a, __m128 _b, __m128 _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint32x4_t mask = ++ vreinterpretq_u32_s32(vshrq_n_s32(vreinterpretq_s32_m128(_mask), 31)); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a up ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_pd ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndpq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(ceil(f[1]), ceil(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a up to ++// an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ps ++FORCE_INLINE __m128 _mm_ceil_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndpq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ceilf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b up to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_sd ++FORCE_INLINE __m128d _mm_ceil_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_ceil_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b up to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ss ++FORCE_INLINE __m128 _mm_ceil_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_ceil_ps(b)); ++} ++ ++// Compare packed 64-bit integers in a and b for equality, and store the results ++// in dst ++FORCE_INLINE __m128i _mm_cmpeq_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vceqq_u64(vreinterpretq_u64_m128i(a), vreinterpretq_u64_m128i(b))); ++#else ++ // ARMv7 lacks vceqq_u64 ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128i_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Sign extend packed 16-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi32 ++FORCE_INLINE __m128i _mm_cvtepi16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vmovl_s16(vget_low_s16(vreinterpretq_s16_m128i(a)))); ++} ++ ++// Sign extend packed 16-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi64 ++FORCE_INLINE __m128i _mm_cvtepi16_epi64(__m128i a) ++{ ++ int16x8_t s16x8 = vreinterpretq_s16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Sign extend packed 32-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_epi64 ++FORCE_INLINE __m128i _mm_cvtepi32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a)))); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 16-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi16 ++FORCE_INLINE __m128i _mm_cvtepi8_epi16(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ return vreinterpretq_m128i_s16(s16x8); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi32 ++FORCE_INLINE __m128i _mm_cvtepi8_epi32(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_s32(s32x4); ++} ++ ++// Sign extend packed 8-bit integers in the low 8 bytes of a to packed 64-bit ++// integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi64 ++FORCE_INLINE __m128i _mm_cvtepi8_epi64(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi32 ++FORCE_INLINE __m128i _mm_cvtepu16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_u32( ++ vmovl_u16(vget_low_u16(vreinterpretq_u16_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi64 ++FORCE_INLINE __m128i _mm_cvtepu16_epi64(__m128i a) ++{ ++ uint16x8_t u16x8 = vreinterpretq_u16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Zero extend packed unsigned 32-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu32_epi64 ++FORCE_INLINE __m128i _mm_cvtepu32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_u64( ++ vmovl_u32(vget_low_u32(vreinterpretq_u32_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 16-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi16 ++FORCE_INLINE __m128i _mm_cvtepu8_epi16(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx HGFE DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0H0G 0F0E 0D0C 0B0A */ ++ return vreinterpretq_m128i_u16(u16x8); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi32 ++FORCE_INLINE __m128i _mm_cvtepu8_epi32(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_u32(u32x4); ++} ++ ++// Zero extend packed unsigned 8-bit integers in the low 8 bytes of a to packed ++// 64-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi64 ++FORCE_INLINE __m128i _mm_cvtepu8_epi64(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Conditionally multiply the packed double-precision (64-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, and ++// conditionally store the sum in dst using the low 4 bits of imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_pd ++FORCE_INLINE __m128d _mm_dp_pd(__m128d a, __m128d b, const int imm) ++{ ++ // Generate mask value from constant immediate bit value ++ const int64_t bit0Mask = imm & 0x01 ? UINT64_MAX : 0; ++ const int64_t bit1Mask = imm & 0x02 ? UINT64_MAX : 0; ++#if !SSE2NEON_PRECISE_DP ++ const int64_t bit4Mask = imm & 0x10 ? UINT64_MAX : 0; ++ const int64_t bit5Mask = imm & 0x20 ? UINT64_MAX : 0; ++#endif ++ // Conditional multiplication ++#if !SSE2NEON_PRECISE_DP ++ __m128d mul = _mm_mul_pd(a, b); ++ const __m128d mulMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit5Mask, bit4Mask)); ++ __m128d tmp = _mm_and_pd(mul, mulMask); ++#else ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double d0 = (imm & 0x10) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 0) ++ : 0; ++ double d1 = (imm & 0x20) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 1) ++ : 0; ++#else ++ double d0 = (imm & 0x10) ? ((double *) &a)[0] * ((double *) &b)[0] : 0; ++ double d1 = (imm & 0x20) ? ((double *) &a)[1] * ((double *) &b)[1] : 0; ++#endif ++ __m128d tmp = _mm_set_pd(d1, d0); ++#endif ++ // Sum the products ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double sum = vpaddd_f64(vreinterpretq_f64_m128d(tmp)); ++#else ++ double sum = *((double *) &tmp) + *(((double *) &tmp) + 1); ++#endif ++ // Conditionally store the sum ++ const __m128d sumMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit1Mask, bit0Mask)); ++ __m128d res = _mm_and_pd(_mm_set_pd1(sum), sumMask); ++ return res; ++} ++ ++// Conditionally multiply the packed single-precision (32-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, ++// and conditionally store the sum in dst using the low 4 bits of imm. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_ps ++FORCE_INLINE __m128 _mm_dp_ps(__m128 a, __m128 b, const int imm) ++{ ++ float32x4_t elementwise_prod = _mm_mul_ps(a, b); ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ /* shortcuts */ ++ if (imm == 0xFF) { ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++ ++ if ((imm & 0x0F) == 0x0F) { ++ if (!(imm & (1 << 4))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 0); ++ if (!(imm & (1 << 5))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 1); ++ if (!(imm & (1 << 6))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 2); ++ if (!(imm & (1 << 7))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 3); ++ ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++#endif ++ ++ float s = 0.0f; ++ ++ if (imm & (1 << 4)) ++ s += vgetq_lane_f32(elementwise_prod, 0); ++ if (imm & (1 << 5)) ++ s += vgetq_lane_f32(elementwise_prod, 1); ++ if (imm & (1 << 6)) ++ s += vgetq_lane_f32(elementwise_prod, 2); ++ if (imm & (1 << 7)) ++ s += vgetq_lane_f32(elementwise_prod, 3); ++ ++ const float32_t res[4] = { ++ (imm & 0x1) ? s : 0.0f, ++ (imm & 0x2) ? s : 0.0f, ++ (imm & 0x4) ? s : 0.0f, ++ (imm & 0x8) ? s : 0.0f, ++ }; ++ return vreinterpretq_m128_f32(vld1q_f32(res)); ++} ++ ++// Extract a 32-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi32 ++// FORCE_INLINE int _mm_extract_epi32(__m128i a, __constrange(0,4) int imm) ++#define _mm_extract_epi32(a, imm) \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)) ++ ++// Extract a 64-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi64 ++// FORCE_INLINE __int64 _mm_extract_epi64(__m128i a, __constrange(0,2) int imm) ++#define _mm_extract_epi64(a, imm) \ ++ vgetq_lane_s64(vreinterpretq_s64_m128i(a), (imm)) ++ ++// Extract an 8-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. FORCE_INLINE int _mm_extract_epi8(__m128i a, ++// __constrange(0,16) int imm) ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi8 ++#define _mm_extract_epi8(a, imm) vgetq_lane_u8(vreinterpretq_u8_m128i(a), (imm)) ++ ++// Extracts the selected single-precision (32-bit) floating-point from a. ++// FORCE_INLINE int _mm_extract_ps(__m128 a, __constrange(0,4) int imm) ++#define _mm_extract_ps(a, imm) vgetq_lane_s32(vreinterpretq_s32_m128(a), (imm)) ++ ++// Round the packed double-precision (64-bit) floating-point elements in a down ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_pd ++FORCE_INLINE __m128d _mm_floor_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndmq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(floor(f[1]), floor(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a down ++// to an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ps ++FORCE_INLINE __m128 _mm_floor_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndmq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(floorf(f[3]), floorf(f[2]), floorf(f[1]), floorf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b down to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_sd ++FORCE_INLINE __m128d _mm_floor_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_floor_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b down to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ss ++FORCE_INLINE __m128 _mm_floor_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_floor_ps(b)); ++} ++ ++// Copy a to dst, and insert the 32-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi32 ++// FORCE_INLINE __m128i _mm_insert_epi32(__m128i a, int b, ++// __constrange(0,4) int imm) ++#define _mm_insert_epi32(a, b, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vsetq_lane_s32((b), vreinterpretq_s32_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the 64-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi64 ++// FORCE_INLINE __m128i _mm_insert_epi64(__m128i a, __int64 b, ++// __constrange(0,2) int imm) ++#define _mm_insert_epi64(a, b, imm) \ ++ vreinterpretq_m128i_s64( \ ++ vsetq_lane_s64((b), vreinterpretq_s64_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the lower 8-bit integer from i into dst at the ++// location specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi8 ++// FORCE_INLINE __m128i _mm_insert_epi8(__m128i a, int b, ++// __constrange(0,16) int imm) ++#define _mm_insert_epi8(a, b, imm) \ ++ vreinterpretq_m128i_s8(vsetq_lane_s8((b), vreinterpretq_s8_m128i(a), (imm))) ++ ++// Copy a to tmp, then insert a single-precision (32-bit) floating-point ++// element from b into tmp using the control in imm8. Store tmp to dst using ++// the mask in imm8 (elements are zeroed out when the corresponding bit is set). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=insert_ps ++#define _mm_insert_ps(a, b, imm8) \ ++ _sse2neon_define2( \ ++ __m128, a, b, \ ++ float32x4_t tmp1 = \ ++ vsetq_lane_f32(vgetq_lane_f32(_b, (imm8 >> 6) & 0x3), \ ++ vreinterpretq_f32_m128(_a), 0); \ ++ float32x4_t tmp2 = \ ++ vsetq_lane_f32(vgetq_lane_f32(tmp1, 0), \ ++ vreinterpretq_f32_m128(_a), ((imm8 >> 4) & 0x3)); \ ++ const uint32_t data[4] = \ ++ _sse2neon_init(((imm8) & (1 << 0)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0); \ ++ uint32x4_t mask = vld1q_u32(data); \ ++ float32x4_t all_zeros = vdupq_n_f32(0); \ ++ \ ++ _sse2neon_return(vreinterpretq_m128_f32( \ ++ vbslq_f32(mask, all_zeros, vreinterpretq_f32_m128(tmp2))));) ++ ++// Compare packed signed 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi32 ++FORCE_INLINE __m128i _mm_max_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmaxq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi8 ++FORCE_INLINE __m128i _mm_max_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vmaxq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu16 ++FORCE_INLINE __m128i _mm_max_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vmaxq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_max_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vmaxq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi32 ++FORCE_INLINE __m128i _mm_min_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vminq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi8 ++FORCE_INLINE __m128i _mm_min_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vminq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu16 ++FORCE_INLINE __m128i _mm_min_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vminq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_min_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vminq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Horizontally compute the minimum amongst the packed unsigned 16-bit integers ++// in a, store the minimum and index in dst, and zero the remaining bits in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_minpos_epu16 ++FORCE_INLINE __m128i _mm_minpos_epu16(__m128i a) ++{ ++ __m128i dst; ++ uint16_t min, idx = 0; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Find the minimum value ++ min = vminvq_u16(vreinterpretq_u16_m128i(a)); ++ ++ // Get the index of the minimum value ++ static const uint16_t idxv[] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint16x8_t minv = vdupq_n_u16(min); ++ uint16x8_t cmeq = vceqq_u16(minv, vreinterpretq_u16_m128i(a)); ++ idx = vminvq_u16(vornq_u16(vld1q_u16(idxv), cmeq)); ++#else ++ // Find the minimum value ++ __m64 tmp; ++ tmp = vreinterpret_m64_u16( ++ vmin_u16(vget_low_u16(vreinterpretq_u16_m128i(a)), ++ vget_high_u16(vreinterpretq_u16_m128i(a)))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ min = vget_lane_u16(vreinterpret_u16_m64(tmp), 0); ++ // Get the index of the minimum value ++ int i; ++ for (i = 0; i < 8; i++) { ++ if (min == vgetq_lane_u16(vreinterpretq_u16_m128i(a), 0)) { ++ idx = (uint16_t) i; ++ break; ++ } ++ a = _mm_srli_si128(a, 2); ++ } ++#endif ++ // Generate result ++ dst = _mm_setzero_si128(); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(min, vreinterpretq_u16_m128i(dst), 0)); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(idx, vreinterpretq_u16_m128i(dst), 1)); ++ return dst; ++} ++ ++// Compute the sum of absolute differences (SADs) of quadruplets of unsigned ++// 8-bit integers in a compared to those in b, and store the 16-bit results in ++// dst. Eight SADs are performed using one quadruplet from b and eight ++// quadruplets from a. One quadruplet is selected from b starting at on the ++// offset specified in imm8. Eight quadruplets are formed from sequential 8-bit ++// integers selected from a starting at the offset specified in imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mpsadbw_epu8 ++FORCE_INLINE __m128i _mm_mpsadbw_epu8(__m128i a, __m128i b, const int imm) ++{ ++ uint8x16_t _a, _b; ++ ++ switch (imm & 0x4) { ++ case 0: ++ // do nothing ++ _a = vreinterpretq_u8_m128i(a); ++ break; ++ case 4: ++ _a = vreinterpretq_u8_u32(vextq_u32(vreinterpretq_u32_m128i(a), ++ vreinterpretq_u32_m128i(a), 1)); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ switch (imm & 0x3) { ++ case 0: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 0))); ++ break; ++ case 1: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 1))); ++ break; ++ case 2: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 2))); ++ break; ++ case 3: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 3))); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ int16x8_t c04, c15, c26, c37; ++ uint8x8_t low_b = vget_low_u8(_b); ++ c04 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a), low_b)); ++ uint8x16_t _a_1 = vextq_u8(_a, _a, 1); ++ c15 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_1), low_b)); ++ uint8x16_t _a_2 = vextq_u8(_a, _a, 2); ++ c26 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_2), low_b)); ++ uint8x16_t _a_3 = vextq_u8(_a, _a, 3); ++ c37 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_3), low_b)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // |0|4|2|6| ++ c04 = vpaddq_s16(c04, c26); ++ // |1|5|3|7| ++ c15 = vpaddq_s16(c15, c37); ++ ++ int32x4_t trn1_c = ++ vtrn1q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ int32x4_t trn2_c = ++ vtrn2q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ return vreinterpretq_m128i_s16(vpaddq_s16(vreinterpretq_s16_s32(trn1_c), ++ vreinterpretq_s16_s32(trn2_c))); ++#else ++ int16x4_t c01, c23, c45, c67; ++ c01 = vpadd_s16(vget_low_s16(c04), vget_low_s16(c15)); ++ c23 = vpadd_s16(vget_low_s16(c26), vget_low_s16(c37)); ++ c45 = vpadd_s16(vget_high_s16(c04), vget_high_s16(c15)); ++ c67 = vpadd_s16(vget_high_s16(c26), vget_high_s16(c37)); ++ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(c01, c23), vpadd_s16(c45, c67))); ++#endif ++} ++ ++// Multiply the low signed 32-bit integers from each packed 64-bit element in ++// a and b, and store the signed 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epi32 ++FORCE_INLINE __m128i _mm_mul_epi32(__m128i a, __m128i b) ++{ ++ // vmull_s32 upcasts instead of masking, so we downcast. ++ int32x2_t a_lo = vmovn_s64(vreinterpretq_s64_m128i(a)); ++ int32x2_t b_lo = vmovn_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vmull_s32(a_lo, b_lo)); ++} ++ ++// Multiply the packed 32-bit integers in a and b, producing intermediate 64-bit ++// integers, and store the low 32 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi32 ++FORCE_INLINE __m128i _mm_mullo_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmulq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi32 ++FORCE_INLINE __m128i _mm_packus_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcombine_u16(vqmovun_s32(vreinterpretq_s32_m128i(a)), ++ vqmovun_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_pd ++FORCE_INLINE __m128d _mm_round_pd(__m128d a, int rounding) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndnq_f64(vreinterpretq_f64_m128d(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_pd(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_pd(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndq_f64(vreinterpretq_f64_m128d(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128d_f64(vrndiq_f64(vreinterpretq_f64_m128d(a))); ++ } ++#else ++ double *v_double = (double *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ double res[2], tmp; ++ for (int i = 0; i < 2; i++) { ++ tmp = (v_double[i] < 0) ? -v_double[i] : v_double[i]; ++ double roundDown = floor(tmp); // Round down value ++ double roundUp = ceil(tmp); // Round up value ++ double diffDown = tmp - roundDown; ++ double diffUp = roundUp - tmp; ++ if (diffDown < diffUp) { ++ /* If it's closer to the round down value, then use it */ ++ res[i] = roundDown; ++ } else if (diffDown > diffUp) { ++ /* If it's closer to the round up value, then use it */ ++ res[i] = roundUp; ++ } else { ++ /* If it's equidistant between round up and round down value, ++ * pick the one which is an even number */ ++ double half = roundDown / 2; ++ if (half != floor(half)) { ++ /* If the round down value is odd, return the round up value ++ */ ++ res[i] = roundUp; ++ } else { ++ /* If the round up value is odd, return the round down value ++ */ ++ res[i] = roundDown; ++ } ++ } ++ res[i] = (v_double[i] < 0) ? -res[i] : res[i]; ++ } ++ return _mm_set_pd(res[1], res[0]); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_pd(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_pd(a); ++ } ++ return _mm_set_pd(v_double[1] > 0 ? floor(v_double[1]) : ceil(v_double[1]), ++ v_double[0] > 0 ? floor(v_double[0]) : ceil(v_double[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed single-precision ++// floating-point elements in dst. ++// software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_round_ps ++FORCE_INLINE __m128 _mm_round_ps(__m128 a, int rounding) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndnq_f32(vreinterpretq_f32_m128(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_ps(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_ps(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndq_f32(vreinterpretq_f32_m128(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128_f32(vrndiq_f32(vreinterpretq_f32_m128(a))); ++ } ++#else ++ float *v_float = (float *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vbslq_s32(is_delta_half, r_even, r_normal))); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_ps(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_ps(a); ++ } ++ return _mm_set_ps(v_float[3] > 0 ? floorf(v_float[3]) : ceilf(v_float[3]), ++ v_float[2] > 0 ? floorf(v_float[2]) : ceilf(v_float[2]), ++ v_float[1] > 0 ? floorf(v_float[1]) : ceilf(v_float[1]), ++ v_float[0] > 0 ? floorf(v_float[0]) : ceilf(v_float[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b using ++// the rounding parameter, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_sd ++FORCE_INLINE __m128d _mm_round_sd(__m128d a, __m128d b, int rounding) ++{ ++ return _mm_move_sd(a, _mm_round_pd(b, rounding)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b using ++// the rounding parameter, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. Rounding is done according to the ++// rounding[3:0] parameter, which can be one of: ++// (_MM_FROUND_TO_NEAREST_INT |_MM_FROUND_NO_EXC) // round to nearest, and ++// suppress exceptions ++// (_MM_FROUND_TO_NEG_INF |_MM_FROUND_NO_EXC) // round down, and ++// suppress exceptions ++// (_MM_FROUND_TO_POS_INF |_MM_FROUND_NO_EXC) // round up, and suppress ++// exceptions ++// (_MM_FROUND_TO_ZERO |_MM_FROUND_NO_EXC) // truncate, and suppress ++// exceptions _MM_FROUND_CUR_DIRECTION // use MXCSR.RC; see ++// _MM_SET_ROUNDING_MODE ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_ss ++FORCE_INLINE __m128 _mm_round_ss(__m128 a, __m128 b, int rounding) ++{ ++ return _mm_move_ss(a, _mm_round_ps(b, rounding)); ++} ++ ++// Load 128-bits of integer data from memory into dst using a non-temporal ++// memory hint. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_load_si128 ++FORCE_INLINE __m128i _mm_stream_load_si128(__m128i *p) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ return __builtin_nontemporal_load(p); ++#else ++ return vreinterpretq_m128i_s64(vld1q_s64((int64_t *) p)); ++#endif ++} ++ ++// Compute the bitwise NOT of a and then AND with a 128-bit vector containing ++// all 1's, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_ones ++FORCE_INLINE int _mm_test_all_ones(__m128i a) ++{ ++ return (uint64_t) (vgetq_lane_s64(a, 0) & vgetq_lane_s64(a, 1)) == ++ ~(uint64_t) 0; ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_zeros ++FORCE_INLINE int _mm_test_all_zeros(__m128i a, __m128i mask) ++{ ++ int64x2_t a_and_mask = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(mask)); ++ return !(vgetq_lane_s64(a_and_mask, 0) | vgetq_lane_s64(a_and_mask, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute ++// the bitwise NOT of a and then AND with mask, and set CF to 1 if the result is ++// zero, otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_test_mix_ones_zero ++// Note: Argument names may be wrong in the Intel intrinsics guide. ++FORCE_INLINE int _mm_test_mix_ones_zeros(__m128i a, __m128i mask) ++{ ++ uint64x2_t v = vreinterpretq_u64_m128i(a); ++ uint64x2_t m = vreinterpretq_u64_m128i(mask); ++ ++ // find ones (set-bits) and zeros (clear-bits) under clip mask ++ uint64x2_t ones = vandq_u64(m, v); ++ uint64x2_t zeros = vbicq_u64(m, v); ++ ++ // If both 128-bit variables are populated (non-zero) then return 1. ++ // For comparision purposes, first compact each var down to 32-bits. ++ uint32x2_t reduced = vpmax_u32(vqmovn_u64(ones), vqmovn_u64(zeros)); ++ ++ // if folding minimum is non-zero then both vars must be non-zero ++ return (vget_lane_u32(vpmin_u32(reduced, reduced), 0) != 0); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the CF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testc_si128 ++FORCE_INLINE int _mm_testc_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vbicq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testnzc_si128 ++#define _mm_testnzc_si128(a, b) _mm_test_mix_ones_zeros(a, b) ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the ZF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testz_si128 ++FORCE_INLINE int _mm_testz_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++/* SSE4.2 */ ++ ++static const uint16_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask16b[8] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++static const uint8_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask8b[16] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++ ++/* specify the source data format */ ++#define _SIDD_UBYTE_OPS 0x00 /* unsigned 8-bit characters */ ++#define _SIDD_UWORD_OPS 0x01 /* unsigned 16-bit characters */ ++#define _SIDD_SBYTE_OPS 0x02 /* signed 8-bit characters */ ++#define _SIDD_SWORD_OPS 0x03 /* signed 16-bit characters */ ++ ++/* specify the comparison operation */ ++#define _SIDD_CMP_EQUAL_ANY 0x00 /* compare equal any: strchr */ ++#define _SIDD_CMP_RANGES 0x04 /* compare ranges */ ++#define _SIDD_CMP_EQUAL_EACH 0x08 /* compare equal each: strcmp */ ++#define _SIDD_CMP_EQUAL_ORDERED 0x0C /* compare equal ordered */ ++ ++/* specify the polarity */ ++#define _SIDD_POSITIVE_POLARITY 0x00 ++#define _SIDD_MASKED_POSITIVE_POLARITY 0x20 ++#define _SIDD_NEGATIVE_POLARITY 0x10 /* negate results */ ++#define _SIDD_MASKED_NEGATIVE_POLARITY \ ++ 0x30 /* negate results only before end of string */ ++ ++/* specify the output selection in _mm_cmpXstri */ ++#define _SIDD_LEAST_SIGNIFICANT 0x00 ++#define _SIDD_MOST_SIGNIFICANT 0x40 ++ ++/* specify the output selection in _mm_cmpXstrm */ ++#define _SIDD_BIT_MASK 0x00 ++#define _SIDD_UNIT_MASK 0x40 ++ ++/* Pattern Matching for C macros. ++ * https://github.com/pfultz2/Cloak/wiki/C-Preprocessor-tricks,-tips,-and-idioms ++ */ ++ ++/* catenate */ ++#define SSE2NEON_PRIMITIVE_CAT(a, ...) a##__VA_ARGS__ ++#define SSE2NEON_CAT(a, b) SSE2NEON_PRIMITIVE_CAT(a, b) ++ ++#define SSE2NEON_IIF(c) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_IIF_, c) ++/* run the 2nd parameter */ ++#define SSE2NEON_IIF_0(t, ...) __VA_ARGS__ ++/* run the 1st parameter */ ++#define SSE2NEON_IIF_1(t, ...) t ++ ++#define SSE2NEON_COMPL(b) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_COMPL_, b) ++#define SSE2NEON_COMPL_0 1 ++#define SSE2NEON_COMPL_1 0 ++ ++#define SSE2NEON_DEC(x) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_DEC_, x) ++#define SSE2NEON_DEC_1 0 ++#define SSE2NEON_DEC_2 1 ++#define SSE2NEON_DEC_3 2 ++#define SSE2NEON_DEC_4 3 ++#define SSE2NEON_DEC_5 4 ++#define SSE2NEON_DEC_6 5 ++#define SSE2NEON_DEC_7 6 ++#define SSE2NEON_DEC_8 7 ++#define SSE2NEON_DEC_9 8 ++#define SSE2NEON_DEC_10 9 ++#define SSE2NEON_DEC_11 10 ++#define SSE2NEON_DEC_12 11 ++#define SSE2NEON_DEC_13 12 ++#define SSE2NEON_DEC_14 13 ++#define SSE2NEON_DEC_15 14 ++#define SSE2NEON_DEC_16 15 ++ ++/* detection */ ++#define SSE2NEON_CHECK_N(x, n, ...) n ++#define SSE2NEON_CHECK(...) SSE2NEON_CHECK_N(__VA_ARGS__, 0, ) ++#define SSE2NEON_PROBE(x) x, 1, ++ ++#define SSE2NEON_NOT(x) SSE2NEON_CHECK(SSE2NEON_PRIMITIVE_CAT(SSE2NEON_NOT_, x)) ++#define SSE2NEON_NOT_0 SSE2NEON_PROBE(~) ++ ++#define SSE2NEON_BOOL(x) SSE2NEON_COMPL(SSE2NEON_NOT(x)) ++#define SSE2NEON_IF(c) SSE2NEON_IIF(SSE2NEON_BOOL(c)) ++ ++#define SSE2NEON_EAT(...) ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++#define SSE2NEON_WHEN(c) SSE2NEON_IF(c)(SSE2NEON_EXPAND, SSE2NEON_EAT) ++ ++/* recursion */ ++/* deferred expression */ ++#define SSE2NEON_EMPTY() ++#define SSE2NEON_DEFER(id) id SSE2NEON_EMPTY() ++#define SSE2NEON_OBSTRUCT(...) __VA_ARGS__ SSE2NEON_DEFER(SSE2NEON_EMPTY)() ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++ ++#define SSE2NEON_EVAL(...) \ ++ SSE2NEON_EVAL1(SSE2NEON_EVAL1(SSE2NEON_EVAL1(__VA_ARGS__))) ++#define SSE2NEON_EVAL1(...) \ ++ SSE2NEON_EVAL2(SSE2NEON_EVAL2(SSE2NEON_EVAL2(__VA_ARGS__))) ++#define SSE2NEON_EVAL2(...) \ ++ SSE2NEON_EVAL3(SSE2NEON_EVAL3(SSE2NEON_EVAL3(__VA_ARGS__))) ++#define SSE2NEON_EVAL3(...) __VA_ARGS__ ++ ++#define SSE2NEON_REPEAT(count, macro, ...) \ ++ SSE2NEON_WHEN(count) \ ++ (SSE2NEON_OBSTRUCT(SSE2NEON_REPEAT_INDIRECT)()( \ ++ SSE2NEON_DEC(count), macro, \ ++ __VA_ARGS__) SSE2NEON_OBSTRUCT(macro)(SSE2NEON_DEC(count), \ ++ __VA_ARGS__)) ++#define SSE2NEON_REPEAT_INDIRECT() SSE2NEON_REPEAT ++ ++#define SSE2NEON_SIZE_OF_byte 8 ++#define SSE2NEON_NUMBER_OF_LANES_byte 16 ++#define SSE2NEON_SIZE_OF_word 16 ++#define SSE2NEON_NUMBER_OF_LANES_word 8 ++ ++#define SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE(i, type) \ ++ mtx[i] = vreinterpretq_m128i_##type(vceqq_##type( \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)), \ ++ vreinterpretq_##type##_m128i(a))); ++ ++#define SSE2NEON_FILL_LANE(i, type) \ ++ vec_b[i] = \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)); ++ ++#define PCMPSTR_RANGES(a, b, mtx, data_type_prefix, type_prefix, size, \ ++ number_of_lanes, byte_or_word) \ ++ do { \ ++ SSE2NEON_CAT( \ ++ data_type_prefix, \ ++ SSE2NEON_CAT(size, \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(number_of_lanes, _t)))) \ ++ vec_b[number_of_lanes]; \ ++ __m128i mask = SSE2NEON_IIF(byte_or_word)( \ ++ vreinterpretq_m128i_u16(vdupq_n_u16(0xff)), \ ++ vreinterpretq_m128i_u32(vdupq_n_u32(0xffff))); \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, SSE2NEON_FILL_LANE, \ ++ SSE2NEON_CAT(type_prefix, size))) \ ++ for (int i = 0; i < number_of_lanes; i++) { \ ++ mtx[i] = SSE2NEON_CAT(vreinterpretq_m128i_u, \ ++ size)(SSE2NEON_CAT(vbslq_u, size)( \ ++ SSE2NEON_CAT(vreinterpretq_u, \ ++ SSE2NEON_CAT(size, _m128i))(mask), \ ++ SSE2NEON_CAT(vcgeq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))), \ ++ SSE2NEON_CAT(vcleq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))))); \ ++ } \ ++ } while (0) ++ ++#define PCMPSTR_EQ(a, b, mtx, size, number_of_lanes) \ ++ do { \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, \ ++ SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE, \ ++ SSE2NEON_CAT(u, size))) \ ++ } while (0) ++ ++#define SSE2NEON_CMP_EQUAL_ANY_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_any(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_any_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_RANGES_IMPL(type, data_type, us, byte_or_word) \ ++ static int _sse2neon_cmp_##us##type##_ranges(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_RANGES( \ ++ a, b, mtx, data_type, us, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), byte_or_word); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_ranges_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_EQUAL_ORDERED_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_ordered(__m128i a, int la, \ ++ __m128i b, int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_ordered_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type))))( \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), la, lb, mtx); \ ++ } ++ ++static int _sse2neon_aggregate_equal_any_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ int tmp = _sse2neon_vaddvq_u8(vreinterpretq_u8_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_equal_any_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ int tmp = _sse2neon_vaddvq_u16(vreinterpretq_u16_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ANY(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ANY(SSE2NEON_CMP_EQUAL_ANY_) ++ ++static int _sse2neon_aggregate_ranges_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ __m128i tmp = vreinterpretq_m128i_u32( ++ vshrq_n_u32(vreinterpretq_u32_m128i(mtx[j]), 16)); ++ uint32x4_t vec_res = vandq_u32(vreinterpretq_u32_m128i(mtx[j]), ++ vreinterpretq_u32_m128i(tmp)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int t = vaddvq_u32(vec_res) ? 1 : 0; ++#else ++ uint64x2_t sumh = vpaddlq_u32(vec_res); ++ int t = vgetq_lane_u64(sumh, 0) + vgetq_lane_u64(sumh, 1); ++#endif ++ res |= (t << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_ranges_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ __m128i tmp = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 8)); ++ uint16x8_t vec_res = vandq_u16(vreinterpretq_u16_m128i(mtx[j]), ++ vreinterpretq_u16_m128i(tmp)); ++ int t = _sse2neon_vaddvq_u16(vec_res) ? 1 : 0; ++ res |= (t << j); ++ } ++ return res; ++} ++ ++#define SSE2NEON_CMP_RANGES_IS_BYTE 1 ++#define SSE2NEON_CMP_RANGES_IS_WORD 0 ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_RANGES(prefix) \ ++ prefix##IMPL(byte, uint, u, prefix##IS_BYTE) \ ++ prefix##IMPL(byte, int, s, prefix##IS_BYTE) \ ++ prefix##IMPL(word, uint, u, prefix##IS_WORD) \ ++ prefix##IMPL(word, int, s, prefix##IS_WORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_RANGES(SSE2NEON_CMP_RANGES_) ++ ++#undef SSE2NEON_CMP_RANGES_IS_BYTE ++#undef SSE2NEON_CMP_RANGES_IS_WORD ++ ++static int _sse2neon_cmp_byte_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint8x16_t mtx = ++ vceqq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x10000 - (1 << la); ++ int tb = 0x10000 - (1 << lb); ++ uint8x8_t vec_mask, vec0_lo, vec0_hi, vec1_lo, vec1_hi; ++ uint8x8_t tmp_lo, tmp_hi, res_lo, res_hi; ++ vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ vec0_lo = vtst_u8(vdup_n_u8(m0), vec_mask); ++ vec0_hi = vtst_u8(vdup_n_u8(m0 >> 8), vec_mask); ++ vec1_lo = vtst_u8(vdup_n_u8(m1), vec_mask); ++ vec1_hi = vtst_u8(vdup_n_u8(m1 >> 8), vec_mask); ++ tmp_lo = vtst_u8(vdup_n_u8(tb), vec_mask); ++ tmp_hi = vtst_u8(vdup_n_u8(tb >> 8), vec_mask); ++ ++ res_lo = vbsl_u8(vec0_lo, vdup_n_u8(0), vget_low_u8(mtx)); ++ res_hi = vbsl_u8(vec0_hi, vdup_n_u8(0), vget_high_u8(mtx)); ++ res_lo = vbsl_u8(vec1_lo, tmp_lo, res_lo); ++ res_hi = vbsl_u8(vec1_hi, tmp_hi, res_hi); ++ res_lo = vand_u8(res_lo, vec_mask); ++ res_hi = vand_u8(res_hi, vec_mask); ++ ++ int res = _sse2neon_vaddv_u8(res_lo) + (_sse2neon_vaddv_u8(res_hi) << 8); ++ return res; ++} ++ ++static int _sse2neon_cmp_word_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint16x8_t mtx = ++ vceqq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x100 - (1 << la); ++ int tb = 0x100 - (1 << lb); ++ uint16x8_t vec_mask = vld1q_u16(_sse2neon_cmpestr_mask16b); ++ uint16x8_t vec0 = vtstq_u16(vdupq_n_u16(m0), vec_mask); ++ uint16x8_t vec1 = vtstq_u16(vdupq_n_u16(m1), vec_mask); ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(tb), vec_mask); ++ mtx = vbslq_u16(vec0, vdupq_n_u16(0), mtx); ++ mtx = vbslq_u16(vec1, tmp, mtx); ++ mtx = vandq_u16(mtx, vec_mask); ++ return _sse2neon_vaddvq_u16(mtx); ++} ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE 1 ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD 0 ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IMPL(size, number_of_lanes, data_type) \ ++ static int _sse2neon_aggregate_equal_ordered_##size##x##number_of_lanes( \ ++ int bound, int la, int lb, __m128i mtx[16]) \ ++ { \ ++ int res = 0; \ ++ int m1 = SSE2NEON_IIF(data_type)(0x10000, 0x100) - (1 << la); \ ++ uint##size##x8_t vec_mask = SSE2NEON_IIF(data_type)( \ ++ vld1_u##size(_sse2neon_cmpestr_mask##size##b), \ ++ vld1q_u##size(_sse2neon_cmpestr_mask##size##b)); \ ++ uint##size##x##number_of_lanes##_t vec1 = SSE2NEON_IIF(data_type)( \ ++ vcombine_u##size(vtst_u##size(vdup_n_u##size(m1), vec_mask), \ ++ vtst_u##size(vdup_n_u##size(m1 >> 8), vec_mask)), \ ++ vtstq_u##size(vdupq_n_u##size(m1), vec_mask)); \ ++ uint##size##x##number_of_lanes##_t vec_minusone = vdupq_n_u##size(-1); \ ++ uint##size##x##number_of_lanes##_t vec_zero = vdupq_n_u##size(0); \ ++ for (int j = 0; j < lb; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size(vbslq_u##size( \ ++ vec1, vec_minusone, vreinterpretq_u##size##_m128i(mtx[j]))); \ ++ } \ ++ for (int j = lb; j < bound; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size( \ ++ vbslq_u##size(vec1, vec_minusone, vec_zero)); \ ++ } \ ++ unsigned SSE2NEON_IIF(data_type)(char, short) *ptr = \ ++ (unsigned SSE2NEON_IIF(data_type)(char, short) *) mtx; \ ++ for (int i = 0; i < bound; i++) { \ ++ int val = 1; \ ++ for (int j = 0, k = i; j < bound - i && k < bound; j++, k++) \ ++ val &= ptr[k * bound + j]; \ ++ res += val << i; \ ++ } \ ++ return res; \ ++ } ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(prefix) \ ++ prefix##IMPL(8, 16, prefix##IS_UBYTE) \ ++ prefix##IMPL(16, 8, prefix##IS_UWORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(SSE2NEON_AGGREGATE_EQUAL_ORDER_) ++ ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(SSE2NEON_CMP_EQUAL_ORDERED_) ++ ++#define SSE2NEON_CMPESTR_LIST \ ++ _(CMP_UBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_UWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_SBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_SWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_UBYTE_RANGES, cmp_ubyte_ranges) \ ++ _(CMP_UWORD_RANGES, cmp_uword_ranges) \ ++ _(CMP_SBYTE_RANGES, cmp_sbyte_ranges) \ ++ _(CMP_SWORD_RANGES, cmp_sword_ranges) \ ++ _(CMP_UBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_UWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_SBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_SWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_UBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_UWORD_EQUAL_ORDERED, cmp_word_equal_ordered) \ ++ _(CMP_SBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_SWORD_EQUAL_ORDERED, cmp_word_equal_ordered) ++ ++enum { ++#define _(name, func_suffix) name, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++typedef int (*cmpestr_func_t)(__m128i a, int la, __m128i b, int lb); ++static cmpestr_func_t _sse2neon_cmpfunc_table[] = { ++#define _(name, func_suffix) _sse2neon_##func_suffix, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++ ++FORCE_INLINE int _sse2neon_sido_negative(int res, int lb, int imm8, int bound) ++{ ++ switch (imm8 & 0x30) { ++ case _SIDD_NEGATIVE_POLARITY: ++ res ^= 0xffffffff; ++ break; ++ case _SIDD_MASKED_NEGATIVE_POLARITY: ++ res ^= (1 << lb) - 1; ++ break; ++ default: ++ break; ++ } ++ ++ return res & ((bound == 8) ? 0xFF : 0xFFFF); ++} ++ ++FORCE_INLINE int _sse2neon_clz(unsigned int x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt = 0; ++ if (_BitScanReverse(&cnt, x)) ++ return 31 - cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_clz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctz(unsigned int x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt = 0; ++ if (_BitScanForward(&cnt, x)) ++ return cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_ctz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctzll(unsigned long long x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt; ++#if defined(SSE2NEON_HAS_BITSCAN64) ++ if (_BitScanForward64(&cnt, x)) ++ return (int) (cnt); ++#else ++ if (_BitScanForward(&cnt, (unsigned long) (x))) ++ return (int) cnt; ++ if (_BitScanForward(&cnt, (unsigned long) (x >> 32))) ++ return (int) (cnt + 32); ++#endif /* SSE2NEON_HAS_BITSCAN64 */ ++ return 64; ++#else /* assume GNU compatible compilers */ ++ return x != 0 ? __builtin_ctzll(x) : 64; ++#endif ++} ++ ++#define SSE2NEON_MIN(x, y) (x) < (y) ? (x) : (y) ++ ++#define SSE2NEON_CMPSTR_SET_UPPER(var, imm) \ ++ const int var = (imm & 0x01) ? 8 : 16 ++ ++#define SSE2NEON_CMPESTRX_LEN_PAIR(a, b, la, lb) \ ++ int tmp1 = la ^ (la >> 31); \ ++ la = tmp1 - (la >> 31); \ ++ int tmp2 = lb ^ (lb >> 31); \ ++ lb = tmp2 - (lb >> 31); \ ++ la = SSE2NEON_MIN(la, bound); \ ++ lb = SSE2NEON_MIN(lb, bound) ++ ++// Compare all pairs of character in string a and b, ++// then aggregate the result. ++// As the only difference of PCMPESTR* and PCMPISTR* is the way to calculate the ++// length of string, we use SSE2NEON_CMP{I,E}STRX_GET_LEN to get the length of ++// string a and b. ++#define SSE2NEON_COMP_AGG(a, b, la, lb, imm8, IE) \ ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); \ ++ SSE2NEON_##IE##_LEN_PAIR(a, b, la, lb); \ ++ int r2 = (_sse2neon_cmpfunc_table[imm8 & 0x0f])(a, la, b, lb); \ ++ r2 = _sse2neon_sido_negative(r2, lb, imm8, bound) ++ ++#define SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8) \ ++ return (r2 == 0) ? bound \ ++ : ((imm8 & 0x40) ? (31 - _sse2neon_clz(r2)) \ ++ : _sse2neon_ctz(r2)) ++ ++#define SSE2NEON_CMPSTR_GENERATE_MASK(dst) \ ++ __m128i dst = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ if (imm8 & 0x40) { \ ++ if (bound == 8) { \ ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(r2), \ ++ vld1q_u16(_sse2neon_cmpestr_mask16b)); \ ++ dst = vreinterpretq_m128i_u16(vbslq_u16( \ ++ tmp, vdupq_n_u16(-1), vreinterpretq_u16_m128i(dst))); \ ++ } else { \ ++ uint8x16_t vec_r2 = \ ++ vcombine_u8(vdup_n_u8(r2), vdup_n_u8(r2 >> 8)); \ ++ uint8x16_t tmp = \ ++ vtstq_u8(vec_r2, vld1q_u8(_sse2neon_cmpestr_mask8b)); \ ++ dst = vreinterpretq_m128i_u8( \ ++ vbslq_u8(tmp, vdupq_n_u8(-1), vreinterpretq_u8_m128i(dst))); \ ++ } \ ++ } else { \ ++ if (bound == 16) { \ ++ dst = vreinterpretq_m128i_u16( \ ++ vsetq_lane_u16(r2 & 0xffff, vreinterpretq_u16_m128i(dst), 0)); \ ++ } else { \ ++ dst = vreinterpretq_m128i_u8( \ ++ vsetq_lane_u8(r2 & 0xff, vreinterpretq_u8_m128i(dst), 0)); \ ++ } \ ++ } \ ++ return dst ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and returns 1 if b did not contain a null character and the ++// resulting mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestra ++FORCE_INLINE int _mm_cmpestra(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ int lb_cpy = lb; ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return !r2 & (lb_cpy > bound); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrc ++FORCE_INLINE int _mm_cmpestrc(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestri ++FORCE_INLINE int _mm_cmpestri(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrm ++FORCE_INLINE __m128i ++_mm_cmpestrm(__m128i a, int la, __m128i b, int lb, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestro ++FORCE_INLINE int _mm_cmpestro(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrs ++FORCE_INLINE int _mm_cmpestrs(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) lb; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrz ++FORCE_INLINE int _mm_cmpestrz(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) la; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return lb <= (bound - 1); ++} ++ ++#define SSE2NEON_CMPISTRX_LENGTH(str, len, imm8) \ ++ do { \ ++ if (imm8 & 0x01) { \ ++ uint16x8_t equal_mask_##str = \ ++ vceqq_u16(vreinterpretq_u16_m128i(str), vdupq_n_u16(0)); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 3; \ ++ } else { \ ++ uint16x8_t equal_mask_##str = vreinterpretq_u16_u8( \ ++ vceqq_u8(vreinterpretq_u8_m128i(str), vdupq_n_u8(0))); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 2; \ ++ } \ ++ } while (0) ++ ++#define SSE2NEON_CMPISTRX_LEN_PAIR(a, b, la, lb) \ ++ int la, lb; \ ++ do { \ ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); \ ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); \ ++ } while (0) ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if b did not contain a null character and the resulting ++// mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistra ++FORCE_INLINE int _mm_cmpistra(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return !r2 & (lb >= bound); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrc ++FORCE_INLINE int _mm_cmpistrc(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistri ++FORCE_INLINE int _mm_cmpistri(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrm ++FORCE_INLINE __m128i _mm_cmpistrm(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistro ++FORCE_INLINE int _mm_cmpistro(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrs ++FORCE_INLINE int _mm_cmpistrs(__m128i a, __m128i b, const int imm8) ++{ ++ (void) b; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int la; ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrz ++FORCE_INLINE int _mm_cmpistrz(__m128i a, __m128i b, const int imm8) ++{ ++ (void) a; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int lb; ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); ++ return lb <= (bound - 1); ++} ++ ++// Compares the 2 signed 64-bit integers in a and the 2 signed 64-bit integers ++// in b for greater than. ++FORCE_INLINE __m128i _mm_cmpgt_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vcgtq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ return vreinterpretq_m128i_s64(vshrq_n_s64( ++ vqsubq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)), ++ 63)); ++#endif ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 16-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u16 ++FORCE_INLINE uint32_t _mm_crc32_u16(uint32_t crc, uint16_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32ch %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32ch(crc, v); ++#else ++ crc = _mm_crc32_u8(crc, v & 0xff); ++ crc = _mm_crc32_u8(crc, (v >> 8) & 0xff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 32-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u32 ++FORCE_INLINE uint32_t _mm_crc32_u32(uint32_t crc, uint32_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cw %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cw(crc, v); ++#else ++ crc = _mm_crc32_u16(crc, v & 0xffff); ++ crc = _mm_crc32_u16(crc, (v >> 16) & 0xffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 64-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u64 ++FORCE_INLINE uint64_t _mm_crc32_u64(uint64_t crc, uint64_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cx %w[c], %w[c], %x[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cd((uint32_t) crc, v); ++#else ++ crc = _mm_crc32_u32((uint32_t) (crc), v & 0xffffffff); ++ crc = _mm_crc32_u32((uint32_t) (crc), (v >> 32) & 0xffffffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 8-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u8 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t crc, uint8_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cb %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cb(crc, v); ++#else ++ crc ^= v; ++#if defined(__ARM_FEATURE_CRYPTO) ++ // Adapted from: https://mary.rs/lab/crc32/ ++ // Barrent reduction ++ uint64x2_t orig = ++ vcombine_u64(vcreate_u64((uint64_t) (crc) << 24), vcreate_u64(0x0)); ++ uint64x2_t tmp = orig; ++ ++ // Polynomial P(x) of CRC32C ++ uint64_t p = 0x105EC76F1; ++ // Barrett Reduction (in bit-reflected form) constant mu_{64} = \lfloor ++ // 2^{64} / P(x) \rfloor = 0x11f91caf6 ++ uint64_t mu = 0x1dea713f1; ++ ++ // Multiply by mu_{64} ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(mu)); ++ // Divide by 2^{64} (mask away the unnecessary bits) ++ tmp = ++ vandq_u64(tmp, vcombine_u64(vcreate_u64(0xFFFFFFFF), vcreate_u64(0x0))); ++ // Multiply by P(x) (shifted left by 1 for alignment reasons) ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(p)); ++ // Subtract original from result ++ tmp = veorq_u64(tmp, orig); ++ ++ // Extract the 'lower' (in bit-reflected sense) 32 bits ++ crc = vgetq_lane_u32(vreinterpretq_u32_u64(tmp), 1); ++#else // Fall back to the generic table lookup approach ++ // Adapted from: https://create.stephan-brumme.com/crc32/ ++ // Apply half-byte comparision algorithm for the best ratio between ++ // performance and lookup table. ++ ++ // The lookup table just needs to store every 16th entry ++ // of the standard look-up table. ++ static const uint32_t crc32_half_byte_tbl[] = { ++ 0x00000000, 0x105ec76f, 0x20bd8ede, 0x30e349b1, 0x417b1dbc, 0x5125dad3, ++ 0x61c69362, 0x7198540d, 0x82f63b78, 0x92a8fc17, 0xa24bb5a6, 0xb21572c9, ++ 0xc38d26c4, 0xd3d3e1ab, 0xe330a81a, 0xf36e6f75, ++ }; ++ ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++#endif ++#endif ++ return crc; ++} ++ ++/* AES */ ++ ++#if !defined(__ARM_FEATURE_CRYPTO) && (!defined(_M_ARM64) || defined(__clang__)) ++/* clang-format off */ ++#define SSE2NEON_AES_SBOX(w) \ ++ { \ ++ w(0x63), w(0x7c), w(0x77), w(0x7b), w(0xf2), w(0x6b), w(0x6f), \ ++ w(0xc5), w(0x30), w(0x01), w(0x67), w(0x2b), w(0xfe), w(0xd7), \ ++ w(0xab), w(0x76), w(0xca), w(0x82), w(0xc9), w(0x7d), w(0xfa), \ ++ w(0x59), w(0x47), w(0xf0), w(0xad), w(0xd4), w(0xa2), w(0xaf), \ ++ w(0x9c), w(0xa4), w(0x72), w(0xc0), w(0xb7), w(0xfd), w(0x93), \ ++ w(0x26), w(0x36), w(0x3f), w(0xf7), w(0xcc), w(0x34), w(0xa5), \ ++ w(0xe5), w(0xf1), w(0x71), w(0xd8), w(0x31), w(0x15), w(0x04), \ ++ w(0xc7), w(0x23), w(0xc3), w(0x18), w(0x96), w(0x05), w(0x9a), \ ++ w(0x07), w(0x12), w(0x80), w(0xe2), w(0xeb), w(0x27), w(0xb2), \ ++ w(0x75), w(0x09), w(0x83), w(0x2c), w(0x1a), w(0x1b), w(0x6e), \ ++ w(0x5a), w(0xa0), w(0x52), w(0x3b), w(0xd6), w(0xb3), w(0x29), \ ++ w(0xe3), w(0x2f), w(0x84), w(0x53), w(0xd1), w(0x00), w(0xed), \ ++ w(0x20), w(0xfc), w(0xb1), w(0x5b), w(0x6a), w(0xcb), w(0xbe), \ ++ w(0x39), w(0x4a), w(0x4c), w(0x58), w(0xcf), w(0xd0), w(0xef), \ ++ w(0xaa), w(0xfb), w(0x43), w(0x4d), w(0x33), w(0x85), w(0x45), \ ++ w(0xf9), w(0x02), w(0x7f), w(0x50), w(0x3c), w(0x9f), w(0xa8), \ ++ w(0x51), w(0xa3), w(0x40), w(0x8f), w(0x92), w(0x9d), w(0x38), \ ++ w(0xf5), w(0xbc), w(0xb6), w(0xda), w(0x21), w(0x10), w(0xff), \ ++ w(0xf3), w(0xd2), w(0xcd), w(0x0c), w(0x13), w(0xec), w(0x5f), \ ++ w(0x97), w(0x44), w(0x17), w(0xc4), w(0xa7), w(0x7e), w(0x3d), \ ++ w(0x64), w(0x5d), w(0x19), w(0x73), w(0x60), w(0x81), w(0x4f), \ ++ w(0xdc), w(0x22), w(0x2a), w(0x90), w(0x88), w(0x46), w(0xee), \ ++ w(0xb8), w(0x14), w(0xde), w(0x5e), w(0x0b), w(0xdb), w(0xe0), \ ++ w(0x32), w(0x3a), w(0x0a), w(0x49), w(0x06), w(0x24), w(0x5c), \ ++ w(0xc2), w(0xd3), w(0xac), w(0x62), w(0x91), w(0x95), w(0xe4), \ ++ w(0x79), w(0xe7), w(0xc8), w(0x37), w(0x6d), w(0x8d), w(0xd5), \ ++ w(0x4e), w(0xa9), w(0x6c), w(0x56), w(0xf4), w(0xea), w(0x65), \ ++ w(0x7a), w(0xae), w(0x08), w(0xba), w(0x78), w(0x25), w(0x2e), \ ++ w(0x1c), w(0xa6), w(0xb4), w(0xc6), w(0xe8), w(0xdd), w(0x74), \ ++ w(0x1f), w(0x4b), w(0xbd), w(0x8b), w(0x8a), w(0x70), w(0x3e), \ ++ w(0xb5), w(0x66), w(0x48), w(0x03), w(0xf6), w(0x0e), w(0x61), \ ++ w(0x35), w(0x57), w(0xb9), w(0x86), w(0xc1), w(0x1d), w(0x9e), \ ++ w(0xe1), w(0xf8), w(0x98), w(0x11), w(0x69), w(0xd9), w(0x8e), \ ++ w(0x94), w(0x9b), w(0x1e), w(0x87), w(0xe9), w(0xce), w(0x55), \ ++ w(0x28), w(0xdf), w(0x8c), w(0xa1), w(0x89), w(0x0d), w(0xbf), \ ++ w(0xe6), w(0x42), w(0x68), w(0x41), w(0x99), w(0x2d), w(0x0f), \ ++ w(0xb0), w(0x54), w(0xbb), w(0x16) \ ++ } ++#define SSE2NEON_AES_RSBOX(w) \ ++ { \ ++ w(0x52), w(0x09), w(0x6a), w(0xd5), w(0x30), w(0x36), w(0xa5), \ ++ w(0x38), w(0xbf), w(0x40), w(0xa3), w(0x9e), w(0x81), w(0xf3), \ ++ w(0xd7), w(0xfb), w(0x7c), w(0xe3), w(0x39), w(0x82), w(0x9b), \ ++ w(0x2f), w(0xff), w(0x87), w(0x34), w(0x8e), w(0x43), w(0x44), \ ++ w(0xc4), w(0xde), w(0xe9), w(0xcb), w(0x54), w(0x7b), w(0x94), \ ++ w(0x32), w(0xa6), w(0xc2), w(0x23), w(0x3d), w(0xee), w(0x4c), \ ++ w(0x95), w(0x0b), w(0x42), w(0xfa), w(0xc3), w(0x4e), w(0x08), \ ++ w(0x2e), w(0xa1), w(0x66), w(0x28), w(0xd9), w(0x24), w(0xb2), \ ++ w(0x76), w(0x5b), w(0xa2), w(0x49), w(0x6d), w(0x8b), w(0xd1), \ ++ w(0x25), w(0x72), w(0xf8), w(0xf6), w(0x64), w(0x86), w(0x68), \ ++ w(0x98), w(0x16), w(0xd4), w(0xa4), w(0x5c), w(0xcc), w(0x5d), \ ++ w(0x65), w(0xb6), w(0x92), w(0x6c), w(0x70), w(0x48), w(0x50), \ ++ w(0xfd), w(0xed), w(0xb9), w(0xda), w(0x5e), w(0x15), w(0x46), \ ++ w(0x57), w(0xa7), w(0x8d), w(0x9d), w(0x84), w(0x90), w(0xd8), \ ++ w(0xab), w(0x00), w(0x8c), w(0xbc), w(0xd3), w(0x0a), w(0xf7), \ ++ w(0xe4), w(0x58), w(0x05), w(0xb8), w(0xb3), w(0x45), w(0x06), \ ++ w(0xd0), w(0x2c), w(0x1e), w(0x8f), w(0xca), w(0x3f), w(0x0f), \ ++ w(0x02), w(0xc1), w(0xaf), w(0xbd), w(0x03), w(0x01), w(0x13), \ ++ w(0x8a), w(0x6b), w(0x3a), w(0x91), w(0x11), w(0x41), w(0x4f), \ ++ w(0x67), w(0xdc), w(0xea), w(0x97), w(0xf2), w(0xcf), w(0xce), \ ++ w(0xf0), w(0xb4), w(0xe6), w(0x73), w(0x96), w(0xac), w(0x74), \ ++ w(0x22), w(0xe7), w(0xad), w(0x35), w(0x85), w(0xe2), w(0xf9), \ ++ w(0x37), w(0xe8), w(0x1c), w(0x75), w(0xdf), w(0x6e), w(0x47), \ ++ w(0xf1), w(0x1a), w(0x71), w(0x1d), w(0x29), w(0xc5), w(0x89), \ ++ w(0x6f), w(0xb7), w(0x62), w(0x0e), w(0xaa), w(0x18), w(0xbe), \ ++ w(0x1b), w(0xfc), w(0x56), w(0x3e), w(0x4b), w(0xc6), w(0xd2), \ ++ w(0x79), w(0x20), w(0x9a), w(0xdb), w(0xc0), w(0xfe), w(0x78), \ ++ w(0xcd), w(0x5a), w(0xf4), w(0x1f), w(0xdd), w(0xa8), w(0x33), \ ++ w(0x88), w(0x07), w(0xc7), w(0x31), w(0xb1), w(0x12), w(0x10), \ ++ w(0x59), w(0x27), w(0x80), w(0xec), w(0x5f), w(0x60), w(0x51), \ ++ w(0x7f), w(0xa9), w(0x19), w(0xb5), w(0x4a), w(0x0d), w(0x2d), \ ++ w(0xe5), w(0x7a), w(0x9f), w(0x93), w(0xc9), w(0x9c), w(0xef), \ ++ w(0xa0), w(0xe0), w(0x3b), w(0x4d), w(0xae), w(0x2a), w(0xf5), \ ++ w(0xb0), w(0xc8), w(0xeb), w(0xbb), w(0x3c), w(0x83), w(0x53), \ ++ w(0x99), w(0x61), w(0x17), w(0x2b), w(0x04), w(0x7e), w(0xba), \ ++ w(0x77), w(0xd6), w(0x26), w(0xe1), w(0x69), w(0x14), w(0x63), \ ++ w(0x55), w(0x21), w(0x0c), w(0x7d) \ ++ } ++/* clang-format on */ ++ ++/* X Macro trick. See https://en.wikipedia.org/wiki/X_Macro */ ++#define SSE2NEON_AES_H0(x) (x) ++static const uint8_t _sse2neon_sbox[256] = SSE2NEON_AES_SBOX(SSE2NEON_AES_H0); ++static const uint8_t _sse2neon_rsbox[256] = SSE2NEON_AES_RSBOX(SSE2NEON_AES_H0); ++#undef SSE2NEON_AES_H0 ++ ++/* x_time function and matrix multiply function */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#define SSE2NEON_XT(x) (((x) << 1) ^ ((((x) >> 7) & 1) * 0x1b)) ++#define SSE2NEON_MULTIPLY(x, y) \ ++ (((y & 1) * x) ^ ((y >> 1 & 1) * SSE2NEON_XT(x)) ^ \ ++ ((y >> 2 & 1) * SSE2NEON_XT(SSE2NEON_XT(x))) ^ \ ++ ((y >> 3 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))) ^ \ ++ ((y >> 4 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))))) ++#endif ++ ++// In the absence of crypto extensions, implement aesenc using regular NEON ++// intrinsics instead. See: ++// https://www.workofard.com/2017/01/accelerated-aes-for-the-arm64-linux-kernel/ ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/ and ++// for more information. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ /* shift rows */ ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ /* sub bytes */ ++ // Here, we separate the whole 256-bytes table into 4 64-bytes tables, and ++ // look up each of the table. After each lookup, we load the next table ++ // which locates at the next 64-bytes. In the meantime, the index in the ++ // table would be smaller than it was, so the index parameters of ++ // `vqtbx4q_u8()` need to be added the same constant as the loaded tables. ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ // 'w-0x40' equals to 'vsubq_u8(w, vdupq_n_u8(0x40))' ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ /* mix columns */ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ /* add round key */ ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A implementation for a table-based AES */ ++#define SSE2NEON_AES_B2W(b0, b1, b2, b3) \ ++ (((uint32_t) (b3) << 24) | ((uint32_t) (b2) << 16) | \ ++ ((uint32_t) (b1) << 8) | (uint32_t) (b0)) ++// muliplying 'x' by 2 in GF(2^8) ++#define SSE2NEON_AES_F2(x) ((x << 1) ^ (((x >> 7) & 1) * 0x011b /* WPOLY */)) ++// muliplying 'x' by 3 in GF(2^8) ++#define SSE2NEON_AES_F3(x) (SSE2NEON_AES_F2(x) ^ x) ++#define SSE2NEON_AES_U0(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F2(p), p, p, SSE2NEON_AES_F3(p)) ++#define SSE2NEON_AES_U1(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p, p) ++#define SSE2NEON_AES_U2(p) \ ++ SSE2NEON_AES_B2W(p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p) ++#define SSE2NEON_AES_U3(p) \ ++ SSE2NEON_AES_B2W(p, p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p)) ++ ++ // this generates a table containing every possible permutation of ++ // shift_rows() and sub_bytes() with mix_columns(). ++ static const uint32_t ALIGN_STRUCT(16) aes_table[4][256] = { ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U0), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U1), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U2), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U3), ++ }; ++#undef SSE2NEON_AES_B2W ++#undef SSE2NEON_AES_F2 ++#undef SSE2NEON_AES_F3 ++#undef SSE2NEON_AES_U0 ++#undef SSE2NEON_AES_U1 ++#undef SSE2NEON_AES_U2 ++#undef SSE2NEON_AES_U3 ++ ++ uint32_t x0 = _mm_cvtsi128_si32(a); // get a[31:0] ++ uint32_t x1 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); // get a[63:32] ++ uint32_t x2 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xAA)); // get a[95:64] ++ uint32_t x3 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); // get a[127:96] ++ ++ // finish the modulo addition step in mix_columns() ++ __m128i out = _mm_set_epi32( ++ (aes_table[0][x3 & 0xff] ^ aes_table[1][(x0 >> 8) & 0xff] ^ ++ aes_table[2][(x1 >> 16) & 0xff] ^ aes_table[3][x2 >> 24]), ++ (aes_table[0][x2 & 0xff] ^ aes_table[1][(x3 >> 8) & 0xff] ^ ++ aes_table[2][(x0 >> 16) & 0xff] ^ aes_table[3][x1 >> 24]), ++ (aes_table[0][x1 & 0xff] ^ aes_table[1][(x2 >> 8) & 0xff] ^ ++ aes_table[2][(x3 >> 16) & 0xff] ^ aes_table[3][x0 >> 24]), ++ (aes_table[0][x0 & 0xff] ^ aes_table[1][(x1 >> 8) & 0xff] ^ ++ aes_table[2][(x2 >> 16) & 0xff] ^ aes_table[3][x3 >> 24])); ++ ++ return _mm_xor_si128(out, RoundKey); ++#endif ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // inverse mix columns ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & ++ 0x1b); // muliplying 'v' by 2 in GF(2^8) ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ // inverse mix columns ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ // sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A implementation */ ++ uint8_t v[16] = { ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 0)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 5)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 10)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 15)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 4)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 9)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 14)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 3)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 8)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 13)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 2)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 7)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 12)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 1)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 6)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 11)], ++ }; ++ ++ return vreinterpretq_m128i_u8(vld1q_u8(v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (int i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++#if defined(__aarch64__) ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ uint8x16_t v = vreinterpretq_u8_m128i(a); ++ uint8x16_t w; ++ ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ // multiplying 'v' by 2 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ return vreinterpretq_m128i_u8(w); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ vst1q_u8((uint8_t *) v, vreinterpretq_u8_m128i(a)); ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)); ++#endif ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++// ++// Emits the Advanced Encryption Standard (AES) instruction aeskeygenassist. ++// This instruction generates a round key for AES encryption. See ++// https://kazakov.life/2017/11/01/cryptocurrency-mining-on-ios-devices/ ++// for details. ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++#if defined(__aarch64__) ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); ++ uint8x16_t v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), _a); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), _a - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), _a - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), _a - 0xc0); ++ ++ uint32x4_t v_u32 = vreinterpretq_u32_u8(v); ++ uint32x4_t ror_v = vorrq_u32(vshrq_n_u32(v_u32, 8), vshlq_n_u32(v_u32, 24)); ++ uint32x4_t ror_xor_v = veorq_u32(ror_v, vdupq_n_u32(rcon)); ++ ++ return vreinterpretq_m128i_u32(vtrn2q_u32(v_u32, ror_xor_v)); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint32_t X1 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); ++ uint32_t X3 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); ++ for (int i = 0; i < 4; ++i) { ++ ((uint8_t *) &X1)[i] = _sse2neon_sbox[((uint8_t *) &X1)[i]]; ++ ((uint8_t *) &X3)[i] = _sse2neon_sbox[((uint8_t *) &X3)[i]]; ++ } ++ return _mm_set_epi32(((X3 >> 8) | (X3 << 24)) ^ rcon, X3, ++ ((X1 >> 8) | (X1 << 24)) ^ rcon, X1); ++#endif ++} ++#undef SSE2NEON_AES_SBOX ++#undef SSE2NEON_AES_RSBOX ++ ++#if defined(__aarch64__) ++#undef SSE2NEON_XT ++#undef SSE2NEON_MULTIPLY ++#endif ++ ++#else /* __ARM_FEATURE_CRYPTO */ ++// Implements equivalent of 'aesenc' by combining AESE (with an empty key) and ++// AESMC and then manually applying the real key as an xor operation. This ++// unfortunately means an additional xor op; the compiler should be able to ++// optimize this away for repeated calls however. See ++// https://blog.michaelbrase.com/2018/05/08/emulating-x86-aes-intrinsics-on-armv8-a ++// for more details. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesmcq_u8(vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(b))); ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesimcq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return _mm_xor_si128(vreinterpretq_m128i_u8(vaeseq_u8( ++ vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ RoundKey); ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8( ++ veorq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++ return vreinterpretq_m128i_u8(vaesimcq_u8(vreinterpretq_u8_m128i(a))); ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst." ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++ // AESE does ShiftRows and SubBytes on A ++ uint8x16_t u8 = vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)); ++ ++#ifndef _MSC_VER ++ uint8x16_t dest = { ++ // Undo ShiftRows step from AESE and extract X1 and X3 ++ u8[0x4], u8[0x1], u8[0xE], u8[0xB], // SubBytes(X1) ++ u8[0x1], u8[0xE], u8[0xB], u8[0x4], // ROT(SubBytes(X1)) ++ u8[0xC], u8[0x9], u8[0x6], u8[0x3], // SubBytes(X3) ++ u8[0x9], u8[0x6], u8[0x3], u8[0xC], // ROT(SubBytes(X3)) ++ }; ++ uint32x4_t r = {0, (unsigned) rcon, 0, (unsigned) rcon}; ++ return vreinterpretq_m128i_u8(dest) ^ vreinterpretq_m128i_u32(r); ++#else ++ // We have to do this hack because MSVC is strictly adhering to the CPP ++ // standard, in particular C++03 8.5.1 sub-section 15, which states that ++ // unions must be initialized by their first member type. ++ ++ // As per the Windows ARM64 ABI, it is always little endian, so this works ++ __n128 dest{ ++ ((uint64_t) u8.n128_u8[0x4] << 0) | ((uint64_t) u8.n128_u8[0x1] << 8) | ++ ((uint64_t) u8.n128_u8[0xE] << 16) | ++ ((uint64_t) u8.n128_u8[0xB] << 24) | ++ ((uint64_t) u8.n128_u8[0x1] << 32) | ++ ((uint64_t) u8.n128_u8[0xE] << 40) | ++ ((uint64_t) u8.n128_u8[0xB] << 48) | ++ ((uint64_t) u8.n128_u8[0x4] << 56), ++ ((uint64_t) u8.n128_u8[0xC] << 0) | ((uint64_t) u8.n128_u8[0x9] << 8) | ++ ((uint64_t) u8.n128_u8[0x6] << 16) | ++ ((uint64_t) u8.n128_u8[0x3] << 24) | ++ ((uint64_t) u8.n128_u8[0x9] << 32) | ++ ((uint64_t) u8.n128_u8[0x6] << 40) | ++ ((uint64_t) u8.n128_u8[0x3] << 48) | ++ ((uint64_t) u8.n128_u8[0xC] << 56)}; ++ ++ dest.n128_u32[1] = dest.n128_u32[1] ^ rcon; ++ dest.n128_u32[3] = dest.n128_u32[3] ^ rcon; ++ ++ return dest; ++#endif ++} ++#endif ++ ++/* Others */ ++ ++// Perform a carry-less multiplication of two 64-bit integers, selected from a ++// and b according to imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clmulepi64_si128 ++FORCE_INLINE __m128i _mm_clmulepi64_si128(__m128i _a, __m128i _b, const int imm) ++{ ++ uint64x2_t a = vreinterpretq_u64_m128i(_a); ++ uint64x2_t b = vreinterpretq_u64_m128i(_b); ++ switch (imm & 0x11) { ++ case 0x00: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_low_u64(b))); ++ case 0x01: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_low_u64(b))); ++ case 0x10: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_high_u64(b))); ++ case 0x11: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_high_u64(b))); ++ default: ++ abort(); ++ } ++} ++ ++FORCE_INLINE unsigned int _sse2neon_mm_get_denormals_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_DENORMALS_ZERO_ON : _MM_DENORMALS_ZERO_OFF; ++} ++ ++// Count the number of bits set to 1 in unsigned 32-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u32 ++FORCE_INLINE int _mm_popcnt_u32(unsigned int a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcount) ++ return __builtin_popcount(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits(a); ++#else ++ return (int) vaddlv_u8(vcnt_u8(vcreate_u8((uint64_t) a))); ++#endif ++#else ++ uint32_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ ++ vst1_u32(&count, count32x2_val); ++ return count; ++#endif ++} ++ ++// Count the number of bits set to 1 in unsigned 64-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u64 ++FORCE_INLINE int64_t _mm_popcnt_u64(uint64_t a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcountll) ++ return __builtin_popcountll(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits64(a); ++#else ++ return (int64_t) vaddlv_u8(vcnt_u8(vcreate_u8(a))); ++#endif ++#else ++ uint64_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ uint64x1_t count64x1_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ count64x1_val = vpaddl_u32(count32x2_val); ++ vst1_u64(&count, count64x1_val); ++ return count; ++#endif ++} ++ ++FORCE_INLINE void _sse2neon_mm_set_denormals_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_DENORMALS_ZERO_MASK) == _MM_DENORMALS_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Return the current 64-bit value of the processor's time-stamp counter. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=rdtsc ++FORCE_INLINE uint64_t _rdtsc(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t val; ++ ++ /* According to ARM DDI 0487F.c, from Armv8.0 to Armv8.5 inclusive, the ++ * system counter is at least 56 bits wide; from Armv8.6, the counter ++ * must be 64 bits wide. So the system counter could be less than 64 ++ * bits wide and it is attributed with the flag 'cap_user_time_short' ++ * is true. ++ */ ++#if defined(_MSC_VER) ++ val = _ReadStatusReg(ARM64_SYSREG(3, 3, 14, 0, 2)); ++#else ++ __asm__ __volatile__("mrs %0, cntvct_el0" : "=r"(val)); ++#endif ++ ++ return val; ++#else ++ uint32_t pmccntr, pmuseren, pmcntenset; ++ // Read the user mode Performance Monitoring Unit (PMU) ++ // User Enable Register (PMUSERENR) access permissions. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c14, 0" : "=r"(pmuseren)); ++ if (pmuseren & 1) { // Allows reading PMUSERENR for user mode code. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c12, 1" : "=r"(pmcntenset)); ++ if (pmcntenset & 0x80000000UL) { // Is it counting? ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c13, 0" : "=r"(pmccntr)); ++ // The counter is set up to count every 64th cycle ++ return (uint64_t) (pmccntr) << 6; ++ } ++ } ++ ++ // Fallback to syscall as we can't enable PMUSERENR in user mode. ++ struct timeval tv; ++ gettimeofday(&tv, NULL); ++ return (uint64_t) (tv.tv_sec) * 1000000 + tv.tv_usec; ++#endif ++} ++ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma pop_macro("ALIGN_STRUCT") ++#pragma pop_macro("FORCE_INLINE") ++#endif ++ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma GCC pop_options ++#endif ++ ++#endif +diff --git c/src/utilities.h i/src/utilities.h +index c578730..38c3d2b 100644 +--- c/src/utilities.h ++++ i/src/utilities.h +@@ -38,6 +38,8 @@ the GNU public licence. See http://www.opensource.org for details. + #include + #include + #include ++#elif defined(__ARM_NEON) ++#include "sse2neon.h" + #elif (defined(__SSE__) || defined(__SSE2__) || defined(__SSE3__)) + #include + #include +@@ -122,7 +124,7 @@ static inline int isinf_ld (long double x) { return isnan (x - x); } + + #if (defined __AVX__ || defined __AVX2__) + #define BYTE_ALIGN 32 +-#elif (defined(__SSE__) || defined(__SSE2__) || defined __SSE3__) ++#elif (defined(__SSE__) || defined(__SSE2__) || defined(__SSE3__) || defined(__ARM_NEON)) + #define BYTE_ALIGN 16 + #else + #define BYTE_ALIGN 1 +@@ -772,7 +774,7 @@ typedef struct __Tree{ + + #if (defined(__AVX__) || defined(__AVX2__)) + __m256d *_tPij1,*_tPij2,*_pmat1plk1,*_pmat2plk2,*_plk0,*_l_ev,*_r_ev,*_prod_left,*_prod_rght; +-#elif (defined(__SSE__) || defined(__SSE2__) || defined(__SSE3__)) ++#elif (defined(__SSE__) || defined(__SSE2__) || defined(__SSE3__) || defined(__ARM_NEON)) + __m128d *_tPij1,*_tPij2,*_pmat1plk1,*_pmat2plk2,*_plk0,*_l_ev,*_r_ev,*_prod_left,*_prod_rght; + #endif + +@@ -2559,7 +2561,7 @@ void Set_Bl_From_Rt(int yesno, t_tree *tree); + + #if (defined(__AVX__) || defined(__AVX2__)) + #include "avx.h" +-#elif (defined(__SSE__) || defined(__SSE2__) || defined(__SSE3__)) ++#elif (defined(__SSE__) || defined(__SSE2__) || defined(__SSE3__) || defined(__ARM_NEON)) + #include "sse.h" + #endif + diff --git a/recipes/phynder/build.sh b/recipes/phynder/build.sh new file mode 100644 index 0000000000000..9f08dea4f5b1c --- /dev/null +++ b/recipes/phynder/build.sh @@ -0,0 +1,38 @@ +#!/bin/bash +set -x +set +e + +mkdir -p $PREFIX/bin + +export CFLAGS="$CFLAGS -I$PREFIX/include" +export LDFLAGS="$LDFLAGS -L$PREFIX/lib" +export C_INCLUDE_PATH="${PREFIX}/include" + +## Static lib required by phynder, thus following instructions +## rather than trying to take from a conda htslib +git clone https://github.com/samtools/htslib.git +cd htslib +git submodule update --init --recursive + +## from https://github.com/pachterlab/kallisto/issues/303#issuecomment-884612169 +sed '/AC_PROG_CC/a \ +AC_CANONICAL_HOST \ +AC_PROG_INSTALL \ +' configure.ac > configure.ac2 +mv configure.ac2 configure.ac +autoreconf -if + +./configure --prefix=${PREFIX} --enable-libcurl --with-libdeflate --enable-plugins --enable-gcs --enable-s3 +make -j "${CPU_COUNT}" lib-static htslib_static.mk +make CC=$CC install + +## Patch phynder Makefile to cloned htslib folder (original assumes alongside, not within) +cd ../ +sed -i.bak 's#HTSDIR=../htslib#HTSDIR=./htslib#g' Makefile +sed -i.bak -e 's#LDLIBS=$(HTSLIB) -lpthread $(HTSLIB_static_LIBS)#LDLIBS=$(HTSLIB) -lpthread $(HTSLIB_static_LIBS) $(LDFLAGS)#g' -e 's#cp phynder ~/bin##g' Makefile + +make CC=$CC CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" -j "${CPU_COUNT}" +make install + +chmod 755 phynder +cp -f phynder $PREFIX/bin/ diff --git a/recipes/phynder/meta.yaml b/recipes/phynder/meta.yaml new file mode 100644 index 0000000000000..a422be287ac0f --- /dev/null +++ b/recipes/phynder/meta.yaml @@ -0,0 +1,54 @@ +{% set name = "phynder" %} +{% set version = "1.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/richarddurbin/{{ name | lower }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: 94d629d0c2e9085bfe9dbbe2c6302021ad81a00b3696696e103aa31db51d849f + +build: + number: 3 + run_exports: + - {{ pin_subpackage('phynder', max_pin="x") }} + +requirements: + build: + - make + - {{ compiler('c') }} + - autoconf + - automake + - libtool + host: + - libcurl + - bzip2 + - xz + - zlib + - libdeflate + - openssl # [not osx] + +test: + commands: + - phynder -h + +about: + home: https://github.com/richarddurbin/phynder + dev_url: https://github.com/richarddurbin/phynder + license: MIT + license_family: MIT + license_file: LICENSE + summary: Efficient likelihood calculations to place samples into a phylogenetic tree. + description: | + Efficient likelihood calculations to place samples into a phylogenetic tree. + In particular, phynder was originally designed for placing male ancient DNA + samples into the Y chromosome phylogeny, when there are arbitrarily high rates + of missing data. It has also been used for assigning ancient samples to whole + mitochondrial genome phylogenies. + +extra: + additional-platforms: + - linux-aarch64 + maintainers: + - jfy133 diff --git a/recipes/phynteny/meta.yaml b/recipes/phynteny/meta.yaml index c5e06d161d10e..695e5ad48931a 100644 --- a/recipes/phynteny/meta.yaml +++ b/recipes/phynteny/meta.yaml @@ -1,13 +1,13 @@ {% set name = "Phynteny" %} -{% set version = "0.1.11" %} +{% set version = "0.1.13" %} package: name: "{{ name|lower }}" version: "{{ version }}" source: - url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 750c7a8dc1be5032beec0524d6312b893513d62dbc4cd51a96affb598e461f16 + url: "https://github.com/susiegriggo/Phynteny/archive/refs/tags/{{ version }}.tar.gz" + sha256: b613950a00ebf60714cf053cf846c5bc84da668b2e87dd2fd83361c7856a8e04 build: number: 0 @@ -18,6 +18,8 @@ build: - compute_confidence=train_phynteny.compute_confidence:main - install_models=phynteny_utils.install_models:main script: "{{ PYTHON }} -m pip install . -vv" + run_exports: + - {{ pin_subpackage('phynteny', max_pin='x') }} requirements: host: @@ -27,10 +29,10 @@ requirements: - biopython >=1.79 - click - joblib + - alive-progress - loguru - numpy - pandas - - pickle5 >=0.0.10 - python <3.11 - scikit-learn <=1.2.2 - tensorflow-cpu ==2.9.1 diff --git a/recipes/physher/build.sh b/recipes/physher/build.sh new file mode 100644 index 0000000000000..fe14d56a4bb4f --- /dev/null +++ b/recipes/physher/build.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +set -xe + +cmake -S . -B build -DBUILD_CPP_WRAPPER=on -DCMAKE_INSTALL_PREFIX=$PREFIX + +cmake --build build/ --target install -j ${CPU_COUNT} \ No newline at end of file diff --git a/recipes/physher/meta.yaml b/recipes/physher/meta.yaml new file mode 100644 index 0000000000000..d049c02266827 --- /dev/null +++ b/recipes/physher/meta.yaml @@ -0,0 +1,46 @@ +{% set name = "physher" %} +{% set version = "2.0.1" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +build: + number: 1 + run_exports: + - {{ pin_subpackage('physher', max_pin="x") }} + +source: + url: https://github.com/4ment/physher/archive/refs/tags/v{{ version }}.tar.gz + sha256: b87a69f49a81401e02cde0c99331f6ddbb10b53c8b4e671419510fb3093796d4 + patches: + - physher-aarch64.patch # [linux and aarch64] + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - cmake + - make + host: + - gsl + +test: + commands: + - physher + +about: + home: https://github.com/4ment/physher + license: GPL-2.0-or-later + license_family: GPL2 + license_file: LICENSE + summary: A multi-algorithmic framework for phylogenetic inference + +extra: + additional-platforms: + - linux-aarch64 + maintainers: + - 4ment + identifiers: + - doi:10.1186/s12862-014-0163-6 + - biotools:physher diff --git a/recipes/physher/physher-aarch64.patch b/recipes/physher/physher-aarch64.patch new file mode 100644 index 0000000000000..0e60282fade6f --- /dev/null +++ b/recipes/physher/physher-aarch64.patch @@ -0,0 +1,27 @@ +diff --git i/CMakeLists.txt w/CMakeLists.txt +index c587912..4b2a2a9 100644 +--- i/CMakeLists.txt ++++ w/CMakeLists.txt +@@ -150,13 +150,8 @@ IF(USE_SSE_SUPPORT) + + add_definitions("-DSSE3_ENABLED") + +- IF(APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64") +- MESSAGE(STATUS "Using sse2neon for arm64 Apple M1") +- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=armv8-a+fp+simd+crypto+crc") +- ELSE() +- MESSAGE(STATUS "Using SSE ${SSE_LEVEL}") +- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m${SSE_LEVEL}") +- ENDIF() ++ MESSAGE(STATUS "Using sse2neon for aarch64") ++ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=native") + + SET(${LIBRARY_NAME}_SSE_ENABLED "1") + SET(${LIBRARY_NAME}_SSE_LEVEL ${SSE_LEVEL}) +@@ -401,4 +396,4 @@ ENDIF (BUILD_TESTING) + + IF (BUILD_BENCHMARKING) + add_subdirectory(examples) +-ENDIF (BUILD_BENCHMARKING) +\ No newline at end of file ++ENDIF (BUILD_BENCHMARKING) diff --git a/recipes/physiofit/meta.yaml b/recipes/physiofit/meta.yaml index 4338f309dcecc..aca103cc86d9f 100644 --- a/recipes/physiofit/meta.yaml +++ b/recipes/physiofit/meta.yaml @@ -1,5 +1,5 @@ {% set name = "physiofit" %} -{% set version = "3.3.1" %} +{% set version = "3.4.0" %} package: name: {{ name|lower }} @@ -7,16 +7,16 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/physiofit-{{ version }}.tar.gz - sha256: dc01bbf300f8dd19fadf5d9ed3032f37533cb28b9057a7ec434740de10e3d392 + sha256: aa62637080ab9af623c6669a9ef912ef4b1b32aa95c4f7e705db9d5bb7cc0a90 build: entry_points: - physiofit = physiofit.__main__:main noarch: python - script: {{ PYTHON }} -m pip install . -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv number: 0 run_exports: - - {{ pin_subpackage('physiofit', max_pin="x") }} + - {{ pin_subpackage('physiofit', max_pin="x") }} requirements: host: @@ -30,23 +30,26 @@ requirements: - scipy >=1.10.1 - streamlit >=1.20.0 - matplotlib-base >=3.7.1 + - pyarrow >=14.0.1,<15.0.0 - pyyaml >=6.0.0 test: imports: - physiofit commands: - - pip check - physiofit --help - requires: - - pip about: home: https://github.com/MetaSys-LISBP/PhysioFit summary: Calculate extracellular fluxes from metabolite concentrations and biomass data license: GPL-3.0-only + license_family: GPL3 license_file: LICENSE + doc_url: https://physiofit.readthedocs.io/en/latest/ + dev_url: https://github.com/MetaSys-LISBP/PhysioFit extra: recipe-maintainers: - llegregam + identifiers: + - doi:10.1101/2023.10.12.561695 diff --git a/recipes/physlr/meta.yaml b/recipes/physlr/meta.yaml index d8d7a39283242..0e895a6db9285 100644 --- a/recipes/physlr/meta.yaml +++ b/recipes/physlr/meta.yaml @@ -6,7 +6,7 @@ package: version: {{ version }} build: - number: 5 + number: 6 source: url: https://github.com/bcgsc/{{ name|lower }}/releases/download/v{{ version }}/{{ name|lower }}-{{ version }}.tar.gz diff --git a/recipes/pia/build.sh b/recipes/pia/build.sh index 028f72640e218..1414b0b5646e7 100644 --- a/recipes/pia/build.sh +++ b/recipes/pia/build.sh @@ -5,6 +5,9 @@ outdir=$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM mkdir -p $outdir mkdir -p $PREFIX/bin cp -R * $outdir/ + +ln -s $outdir/pia-$PKG_VERSION.jar $outdir/pia.jar + cp $RECIPE_DIR/pia.sh $outdir/pia ln -s $outdir/pia $PREFIX/bin chmod 0755 "${PREFIX}/bin/pia" diff --git a/recipes/pia/meta.yaml b/recipes/pia/meta.yaml index 7c280d8360500..039016c4488e9 100644 --- a/recipes/pia/meta.yaml +++ b/recipes/pia/meta.yaml @@ -1,6 +1,6 @@ {% set name = "pia" %} -{% set version = "1.4.8" %} -{% set sha256 = "2eb9b17dc2834ceb1264edbf2825a8d97af0867b057d53751dabf13a5aa302d4" %} +{% set version = "1.5.5" %} +{% set sha256 = "6493f9e4cb579b7943b9a1ddb99d8c21e4abb8eac1b486825bdcce123d3312e9" %} package: name: {{ name|lower }} @@ -8,17 +8,17 @@ package: build: noarch: generic - number: 0 + number: 2 run_exports: - {{ pin_subpackage('pia', max_pin="x") }} source: - url: https://github.com/medbioinf/pia/releases/download/1.4.8/pia-1.4.8.zip + url: https://github.com/medbioinf/pia/releases/download/{{ version }}/pia-{{ version }}.zip sha256: {{ sha256 }} requirements: run: - - openjdk >=17 + - openjdk =21 test: commands: diff --git a/recipes/pia/pia.sh b/recipes/pia/pia.sh index 2adef565a148f..dfee7ec12a982 100644 --- a/recipes/pia/pia.sh +++ b/recipes/pia/pia.sh @@ -2,7 +2,7 @@ # Wraps pia.jar set -o pipefail -jar_file="pia-1.4.8.jar" +jar_file="pia.jar" # Find original directory of bash script, resovling symlinks # http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in/246128#246128 diff --git a/recipes/piawka/build.sh b/recipes/piawka/build.sh new file mode 100644 index 0000000000000..a68b2482730b2 --- /dev/null +++ b/recipes/piawka/build.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +mkdir -p $PREFIX/bin +cp $SRC_DIR/scripts/* $PREFIX/bin/ +chmod +x $PREFIX/bin/* + diff --git a/recipes/piawka/meta.yaml b/recipes/piawka/meta.yaml new file mode 100644 index 0000000000000..d95c3026687f4 --- /dev/null +++ b/recipes/piawka/meta.yaml @@ -0,0 +1,45 @@ +{% set name = "piawka" %} +{% set version = "0.8.5" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/novikovalab/{{ name }}/archive/refs/tags/{{ version }}.tar.gz + sha256: 50384263a2ad8cfd17e67092820e2636bef8f84619a59cd5986c3631cb450ecd + +build: + noarch: generic + number: 0 + run_exports: + - {{ pin_subpackage('piawka', max_pin="x.x") }} + +requirements: + run: + - conda-forge::gawk >=5.0.0 + - bash + - tabix + +test: + commands: + - piawka --help + +about: + home: https://github.com/novikovalab/piawka + license: MIT + license_family: MIT + license_file: LICENSE + summary: 'The powerful AWK script to calculate population statistics in VCF files with support for varying ploidy and missing data' + description: | + The powerful awk script to calculate π, Dxy (or πxy, or Nei's D) + and some more simple stats (Fst, Tajima's D, Ronfort's rho) in VCF files in the command line. + Developed to analyze arbitrary-ploidy groups with substantial amounts of missing data. + Largely inspired by https://github.com/ksamuk/pixy + dev_url: https://github.com/novikovalab/piawka + doc_url: https://github.com/novikovalab/piawka/wiki + doc_source_url: https://github.com/novikovalab/piawka/blob/main/README.md + +extra: + recipe-maintainers: + - taprs diff --git a/recipes/picard-slim/meta.yaml b/recipes/picard-slim/meta.yaml index c8de8e67a58e6..ffbb5ed2e0375 100644 --- a/recipes/picard-slim/meta.yaml +++ b/recipes/picard-slim/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "3.1.1" %} -{% set sha256 = "15c79f51fd0ac001049f9dd7b9bac1dbdf759dcb0230a89c7f6d1f246e8bbab4" %} +{% set version = "3.3.0" %} +{% set sha256 = "58819a7660646b74b34e282f5d4d21c8dbaea22ddeff96e3258755dafa0f86dc" %} package: name: picard-slim diff --git a/recipes/picard/meta.yaml b/recipes/picard/meta.yaml index d8dfd44a2f90e..f641f50970528 100644 --- a/recipes/picard/meta.yaml +++ b/recipes/picard/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "3.1.1" %} -{% set sha256 = "15c79f51fd0ac001049f9dd7b9bac1dbdf759dcb0230a89c7f6d1f246e8bbab4" %} +{% set version = "3.3.0" %} +{% set sha256 = "58819a7660646b74b34e282f5d4d21c8dbaea22ddeff96e3258755dafa0f86dc" %} package: name: picard diff --git a/recipes/picrust2/meta.yaml b/recipes/picrust2/meta.yaml index 0a197f6654f6b..f2b495f7e56f6 100644 --- a/recipes/picrust2/meta.yaml +++ b/recipes/picrust2/meta.yaml @@ -1,15 +1,17 @@ {% set name = "picrust2" %} -{% set version = "2.5.2" %} +{% set version = "2.5.3" %} package: name: "{{ name|lower }}" version: "{{ version | replace('-', '_') }}" source: - url: https://github.com/picrust/picrust2/archive/refs/tags/v2.5.2.tar.gz - sha256: a8c3832bf759233b52b41c56a0ffef72491e431fee347a7c05695596c76a1a4c + url: https://github.com/picrust/picrust2/archive/refs/tags/v2.5.3.tar.gz + sha256: b8dfab3b961d7bafd9ceafaeb3ce95cc66c61d3c5e51325e79574d6e0c2b1e40 build: + run_exports: + - {{ pin_subpackage('picrust2', max_pin="x.x") }} number: 0 noarch: python script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " @@ -18,26 +20,28 @@ requirements: host: - cython - pip - - python >=3.5,<3.9 + - python >=3.5 run: - biom-format >=2.1.10 + - dendropy 4.5.2 - epa-ng 0.3.8 - - gappa 0.8.0 + - gappa >=0.8.0,<=0.8.5 - glpk >=4.65 - h5py >=2.10.0 - hmmer >=3.1b2,<=3.2.1 + - jinja2 >=2.11.3 - joblib >=1.0.1 - numpy >=1.19.5 - pandas >=1.1.5 - - python >=3.5,<3.9 + - python >=3.5 - pytest >=4.4.1 - pytest-cov >=2.6.1 - r-base >=3.5.1 - r-castor >=1.7.2 - scipy >=1.2.1 - - sepp 4.3.10 + - sepp 4.4.0 - wget - + test: commands: - add_descriptions.py -h > /dev/null diff --git a/recipes/picrust2/post-link.sh b/recipes/picrust2/post-link.sh index c84fa20b56125..e7ffd8b392170 100644 --- a/recipes/picrust2/post-link.sh +++ b/recipes/picrust2/post-link.sh @@ -1,9 +1,9 @@ #!/bin/bash -FN="v2.5.2.tar.gz" -TARBALL_DIR="picrust2-2.5.2" -URL="https://github.com/picrust/picrust2/archive/v2.5.2.tar.gz" -SHA256="a8c3832bf759233b52b41c56a0ffef72491e431fee347a7c05695596c76a1a4c" +FN="v2.5.3.tar.gz" +TARBALL_DIR="picrust2-2.5.3" +URL="https://github.com/picrust/picrust2/archive/v2.5.3.tar.gz" +SHA256="b8dfab3b961d7bafd9ceafaeb3ce95cc66c61d3c5e51325e79574d6e0c2b1e40" # Create staging area. STAGING=$PREFIX/staging diff --git a/recipes/pindel/meta.yaml b/recipes/pindel/meta.yaml index 0a5b46a78ad9d..fc5a2aae1e96c 100644 --- a/recipes/pindel/meta.yaml +++ b/recipes/pindel/meta.yaml @@ -6,8 +6,10 @@ package: version: {{ version }} build: - number: 10 + number: 11 skip: True # [osx] + run_exports: + - {{ pin_subpackage('pindel', max_pin='x.x') }} source: url: https://github.com/genome/pindel/archive/{{ revision }}.tar.gz @@ -23,6 +25,7 @@ requirements: - make host: - htslib + - zlib run: - htslib @@ -37,5 +40,7 @@ about: summary: Pindel can detect breakpoints of large deletions, medium sized insertions, inversions, tandem duplications and other structural variants at single-based resolution from next-gen sequence data extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:pindel diff --git a/recipes/piper/meta.yaml b/recipes/piper/meta.yaml index 661aca1d96876..ba86bbdf68bdf 100644 --- a/recipes/piper/meta.yaml +++ b/recipes/piper/meta.yaml @@ -1,5 +1,5 @@ {% set name = "piper" %} -{% set version = "0.13.2" %} +{% set version = "0.14.3" %} package: name: "{{ name|lower }}" @@ -7,12 +7,14 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: "edc68583bf7925a44ed0cf439cd059bec51499cd70b4ff8a81ed67a9b0093867" + sha256: "fec31dd795de95ee88e6019e0c8402aa3a37f8e03213f01f348c8ee50ce8570e" build: number: 0 noarch: python - script: "2to3 . && {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vvv" + script: "2to3 . && {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('piper', max_pin="x.x") }} requirements: host: @@ -24,9 +26,9 @@ requirements: - pandas - psutil - python >=3 - - ubiquerg >=0.4.5 - - yacman - - pipestat >=0.4.0 + - ubiquerg >=0.8.0 + - yacman >=0.9.3 + - pipestat >=0.9.a1 test: imports: diff --git a/recipes/pipits/meta.yaml b/recipes/pipits/meta.yaml index 8cb0fa5c54ccf..0c32e5afba401 100644 --- a/recipes/pipits/meta.yaml +++ b/recipes/pipits/meta.yaml @@ -1,14 +1,16 @@ package: name: pipits - version: "3.0" + version: "3.1" source: - url: https://github.com/hsgweon/pipits/archive/refs/tags/3.0.tar.gz - sha256: ee9f142e473e57b186760d940131610c16bdfe57eefca935df35779fd85377bd + url: https://github.com/hsgweon/pipits/archive/refs/tags/3.1.tar.gz + sha256: a51bdaf4ec22487b9ed6f9111568d370ce0f9732afc010a5d0de0e642af758d7 build: number: 0 noarch: python + run_exports: + - {{ pin_subpackage('pipits', max_pin="x") }} requirements: host: diff --git a/recipes/piranha-polio/meta.yaml b/recipes/piranha-polio/meta.yaml index 9692a7158684e..8e3b1be9c9df3 100644 --- a/recipes/piranha-polio/meta.yaml +++ b/recipes/piranha-polio/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.2.2" %} +{% set version = "1.3.1" %} package: name: piranha-polio @@ -6,7 +6,7 @@ package: source: url: https://github.com/polio-nanopore/piranha/archive/refs/tags/{{ version }}.tar.gz - sha256: 458f9d2e1021a8643a7bf2f2f8f695c36bb025744bfed588c27777f8afe536c7 + sha256: a2786e24459e4d9d5a45cc7c7b76853b433944bc5d17929fa12c0c99e2d89b22 build: number: 0 diff --git a/recipes/piscem-infer/build.sh b/recipes/piscem-infer/build.sh new file mode 100644 index 0000000000000..fd9c0897999fd --- /dev/null +++ b/recipes/piscem-infer/build.sh @@ -0,0 +1,8 @@ +#!/bin/bash -euo +# Add workaround for SSH-based Git connections from Rust/cargo. See https://github.com/rust-lang/cargo/issues/2078 for details. +# We set CARGO_HOME because we don't pass on HOME to conda-build, thus rendering the default "${HOME}/.cargo" defunct. +export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="$(pwd)/.cargo" + +# build statically linked binary with Rust +RUST_BACKTRACE=1 cargo install --verbose --root $PREFIX --path . + diff --git a/recipes/piscem-infer/meta.yaml b/recipes/piscem-infer/meta.yaml new file mode 100644 index 0000000000000..885cbc257f927 --- /dev/null +++ b/recipes/piscem-infer/meta.yaml @@ -0,0 +1,31 @@ +{% set version = "0.6.0" %} + +package: + name: piscem-infer + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage("piscem-infer", max_pin="x.x") }} + +source: + url: https://github.com/COMBINE-lab/piscem-infer/archive/v{{ version }}.tar.gz + sha256: 6ffaaf9d101f42a983d715857504c99ef60c3449ff14505e4c6b6c521e00d928 + +requirements: + build: + - rust >=1.75 + - {{ compiler('rust') }} + host: + run: + +test: + commands: + - piscem-infer --help + +about: + home: https://github.com/COMBINE-lab/piscem-infer + license: BSD-3-Clause + license_file: LICENSE + summary: piscem-infer is a flexible tool to perform target quantification from bulk-sequencing data diff --git a/recipes/piscem/build.sh b/recipes/piscem/build.sh index acd3d77c823be..482a75a82dec1 100644 --- a/recipes/piscem/build.sh +++ b/recipes/piscem/build.sh @@ -19,16 +19,19 @@ fi # We set CARGO_HOME because we don't pass on HOME to conda-build, thus rendering the default "${HOME}/.cargo" defunct. export CARGO_NET_GIT_FETCH_WITH_CLI=true export CARGO_HOME="$(pwd)/.cargo" +export NUM_JOBS=1 +export CARGO_BUILD_JOBS=1 if [ "$unamestr" == 'Darwin' ]; then # build statically linked binary with Rust -RUSTFLAGS="-C link-args=-Wl,-undefined,dynamic_lookup" RUST_BACKTRACE=1 cargo install --verbose --root $PREFIX --path . +CONDA_BUILD=TRUE RUSTFLAGS="-C link-args=-Wl,-undefined,dynamic_lookup" RUST_BACKTRACE=1 cargo install -v -v -j 1 --verbose --root $PREFIX --path . else - +export CFLAGS="${CFLAGS} --param ggc-min-expand=20 --param ggc-min-heapsize=8192" +export CXXFLAGS="${CXXFLAGS} --param ggc-min-expand=20 --param ggc-min-heapsize=8192" # build statically linked binary with Rust -RUST_BACKTRACE=1 cargo install --verbose --root $PREFIX --path . +CONDA_BUILD=TRUE RUSTFLAGS="-L $PREFIX/lib64" RUST_BACKTRACE=1 cargo install -v -v -j 1 --verbose --root $PREFIX --path . fi diff --git a/recipes/piscem/build_failure.osx-64.yaml b/recipes/piscem/build_failure.osx-64.yaml deleted file mode 100644 index 2bf52c5362a5c..0000000000000 --- a/recipes/piscem/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: ec6992505a5cb84510a706c0a0c9ca75751618dbb0fdf9f0d304febb83444c50 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - return ::aligned_alloc(__alignment, __size > __rounded_size ? __size : __rounded_size); - ~~^ - 9 warnings and 6 errors generated. - make[2]: *** [CMakeFiles/pesc_static.dir/build.make:76: CMakeFiles/pesc_static.dir/src/pesc_bulk.cpp.o] Error 1 - make[2]: *** Waiting for unfinished jobs.... - In file included from /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/src/hit_searcher.cpp:1: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/src/../include/hit_searcher.hpp:5: - /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/include/CanonicalKmerIterator.hpp:17:17: warning: 'iterator, int>' is deprecated [-Wdeprecated-declarations] - : public std::iterator, int> { - ^ - /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/_build_env/bin/../include/c/v1/__iterator/iterator.h:24:29: note: 'iterator, int>' has been explicitly marked deprecated here - struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 iterator - ^ - /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/_build_env/bin/../include/c/v1/__config:874:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17' - # define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED - ^ - /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/_build_env/bin/../include/c/v1/__config:847:49: note: expanded from macro '_LIBCPP_DEPRECATED' - # define _LIBCPP_DEPRECATED __attribute__((deprecated)) - ^ - In file included from /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/src/hit_searcher.cpp:1: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/src/../include/hit_searcher.hpp:6: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/include/projected_hits.hpp:4: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/include/util.hpp:8: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/include/../external/pthash/include/pthash.hpp:4: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/include/../external/pthash/include/single_phf.hpp:3: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/include/../external/pthash/include/utils/bucketers.hpp:3: - /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/include/../external/pthash/include/utils/util.hpp:16:71: error: use of undeclared identifier '_SC_PHYS_PAGES' - static const uint64_t available_ram = sysconf(_SC_PAGESIZE) * sysconf(_SC_PHYS_PAGES); - ^ - In file included from /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/src/hit_searcher.cpp:1: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/src/../include/hit_searcher.hpp:6: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/include/projected_hits.hpp:4: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/include/util.hpp:8: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/include/../external/pthash/include/pthash.hpp:4: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/include/../external/pthash/include/single_phf.hpp:3: - /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/include/../external/pthash/include/utils/bucketers.hpp:18:41: warning: implicit conversion from 'unsigned long long' to 'double' changes value from 18446744073709551615 to 18446744073709551616 [-Wimplicit-const-int-float-conversion] - static const uint64_t T = 0.6 * UINT64_MAX; - ~ ^~~~~~~~~~ - /Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/stdint.h:87:27: note: expanded from macro 'UINT64_MAX' - #define UINT64_MAX 18446744073709551615ULL - ^~~~~~~~~~~~~~~~~~~~~~~ - In file included from /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/src/hit_searcher.cpp:1: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/src/../include/hit_searcher.hpp:7: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/include/reference_index.hpp:13: - /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/include/../include/ghc/filesystem.hpp:4626:24: error: use of undeclared identifier 'UTIME_OMIT' - times[0].tv_nsec = UTIME_OMIT; - ^ - /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/include/../include/ghc/filesystem.hpp:4629:11: error: no member named 'utimensat' in the global namespace - if (::utimensat(AT_FDCWD, p.c_str(), times, AT_SYMLINK_NOFOLLOW) != 0) { - ~~^ - /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/include/../include/ghc/filesystem.hpp:4629:21: error: use of undeclared identifier 'AT_FDCWD' - if (::utimensat(AT_FDCWD, p.c_str(), times, AT_SYMLINK_NOFOLLOW) != 0) { - ^ - /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/include/../include/ghc/filesystem.hpp:4629:49: error: use of undeclared identifier 'AT_SYMLINK_NOFOLLOW' - if (::utimensat(AT_FDCWD, p.c_str(), times, AT_SYMLINK_NOFOLLOW) != 0) { - ^ - In file included from /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/src/hit_searcher.cpp:1: - /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/piscem-cpp/src/../include/hit_searcher.hpp:49:8: warning: private field 'isSingleEnd' is not used [-Wunused-private-field] - bool isSingleEnd = false; - ^ - 3 warnings and 6 errors generated. - make[2]: *** [CMakeFiles/pesc_static.dir/build.make:104: CMakeFiles/pesc_static.dir/src/hit_searcher.cpp.o] Error 1 - 10 warnings and 6 errors generated. - make[2]: *** [CMakeFiles/pesc_static.dir/build.make:90: CMakeFiles/pesc_static.dir/src/pesc_sc.cpp.o] Error 1 - make[1]: *** [CMakeFiles/Makefile2:123: CMakeFiles/pesc_static.dir/all] Error 2 - make: *** [Makefile:136: all] Error 2 - thread 'main' panicked at ' - command did not execute successfully, got: exit status: 2 - - build script failed, must exit now', /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/.cargo/registry/src/github.com-1ecc6299db9ec823/cmake-0.1.50/src/lib.rs:1098:5 - stack backtrace: - 0: rust_begin_unwind - at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:579:5 - 1: core::panicking::panic_fmt - at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panicking.rs:64:14 - 2: cmake::fail - 3: cmake::run - 4: cmake::Config::build - 5: build_script_build::main - 6: core::ops::function::FnOnce::call_once - note: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace. - error: failed to compile piscem v0.6.0 (/opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work), intermediate artifacts can be found at /opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/target - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/piscem_1685382270655/work/conda_build.sh']' returned non-zero exit status 101. -# Last 100 lines of the build log. diff --git a/recipes/piscem/build_rs.patch b/recipes/piscem/build_rs.patch new file mode 100644 index 0000000000000..b9cb5fd73dc91 --- /dev/null +++ b/recipes/piscem/build_rs.patch @@ -0,0 +1,21 @@ +diff --git a/build.rs b/build.rs +index 9a5b4c1..7aa001f 100644 +--- a/build.rs ++++ b/build.rs +@@ -67,6 +67,16 @@ fn main() { + dst_piscem_cpp.join("lib").display() + ); + ++ // Arghhh conda! ++ println!( ++ "cargo:rustc-link-search=native={}", ++ dst_cf.join("lib64").display() ++ ); ++ println!( ++ "cargo:rustc-link-search=native={}", ++ dst_piscem_cpp.join("lib64").display() ++ ); ++ + println!("cargo:rustc-link-lib=static=kmc_core"); + //println!("cargo:rustc-link-lib=static=pesc_static"); + //println!("cargo:rustc-link-lib=static=build_static"); diff --git a/recipes/piscem/conda_build_config.yaml b/recipes/piscem/conda_build_config.yaml index 90ff7dab2c6f3..ca927c3a82db0 100644 --- a/recipes/piscem/conda_build_config.yaml +++ b/recipes/piscem/conda_build_config.yaml @@ -2,3 +2,7 @@ MACOSX_DEPLOYMENT_TARGET: # [osx and x86_64] - "10.15" # [osx and x86_64] MACOSX_SDK_VERSION: # [osx and x86_64] - "10.15" # [osx and x86_64] +c_compiler_version: # [linux] + - 11.4 # [linux] +cxx_compiler_version: # [linux] + - 11.4 # [linux] diff --git a/recipes/piscem/meta.yaml b/recipes/piscem/meta.yaml index ded5982191439..0c261497c9b1d 100644 --- a/recipes/piscem/meta.yaml +++ b/recipes/piscem/meta.yaml @@ -1,38 +1,35 @@ -{% set version = "0.6.3" %} -{% set git_commit = "3ed9e23b91d6d21a1d7cb17cc9a8c374a1843dfb" %} -{% set sha256 = "ce2f9a3cc6f3c5c214468f6d3c82759c0272792b41d04c7049101e8fb7fe3a03" %} +{% set version = "0.10.3" %} +{% set name = "piscem" %} +{% set sha256 = "5bb7d856e28f7090456bbc9aa81120169cff76b66c47a642916d8d53e35bec8a" %} package: - name: piscem + name: {{ name }} version: {{ version }} build: number: 0 run_exports: - {{ pin_subpackage("piscem", max_pin="x.x") }} - # skip: True # [linux] - + source: - git_url: https://github.com/COMBINE-lab/piscem - git_rev: "{{ git_commit }}" + url: https://github.com/COMBINE-lab/piscem/releases/download/v{{ version }}/source.tar.gz sha256: {{ sha256 }} requirements: build: - - rust >=1.70 - cmake - autoconf - make - zlib - bzip2 - - jemalloc >=5.1.2 + - jemalloc >=5.2.1 - {{ compiler('rust') }} - {{ compiler('cxx') }} - pkg-config host: - zlib - bzip2 - - jemalloc >=5.1.2 + - jemalloc >=5.2.1 run: - __osx >={{ MACOSX_DEPLOYMENT_TARGET|default("10.9") }} # [osx and x86_64] @@ -47,5 +44,6 @@ about: summary: piscem is a next-generation compacted colored de Bruijn Graph-based indexer and mapper extra: - skip-lints: - - uses_vcs_url + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/pixelator/LICENSE.txt b/recipes/pixelator/LICENSE.txt new file mode 100644 index 0000000000000..b8a6b593ecff8 --- /dev/null +++ b/recipes/pixelator/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright © 2023 Pixelgen Technologies AB + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/recipes/pixelator/meta.yaml b/recipes/pixelator/meta.yaml index d92a24e509c76..72c495e3f1b6a 100644 --- a/recipes/pixelator/meta.yaml +++ b/recipes/pixelator/meta.yaml @@ -1,78 +1,81 @@ {% set name = "pixelator" %} -{% set version = "0.15.2" %} +{% set pypi_name = "pixelgen-pixelator" %} +{% set version = "0.18.2" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://github.com/pixelgentechnologies/{{ name }}/archive/v{{ version }}.tar.gz - sha256: 2b41e14fba232691513e4f16eb215deca8e21694ebb9ad676968d320645212d4 + url: https://pypi.io/packages/source/{{ pypi_name[0] }}/{{ pypi_name }}/pixelgen_pixelator-{{ version }}.tar.gz + sha256: b2ae77b1118f804c47cb71e0af3b64d05657e670a9a0f24d79f57bacb38c2fcb build: + entry_points: + - pixelator = pixelator.cli:main_cli noarch: python - script_env: - - POETRY_DYNAMIC_VERSIONING_BYPASS={{ version }} - script: {{ PYTHON }} -m pip install . -vv + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation number: 0 run_exports: - {{ pin_subpackage('pixelator', max_pin="x.x") }} requirements: host: - - python + - python >=3.10,<3.12 - poetry-core >=1.0.0 - - poetry-dynamic-versioning >=1.1.0 + - poetry-dynamic-versioning >=1.0.1 - pip run: - - python >=3.8,<3.12 - - igraph >=0.10.2,<=0.11.0 - - louvain >=0.8.0,<=0.9.0 + - python >=3.10,<3.12 - click - yapf - cutadapt >=4.2 - - fastp - - umi_tools <=1.1.4 + - umi_tools >=1.1.4,<2.0.0 - pyfastx - yappi - pandas >=2.0.0,<3.0.0 - numpy <1.24.0 - python-annoy <=1.17.0 - - esda - - libpysal - - xopen + # I had to lock xopen < 1.9.0 because zlib-ng which is required by xopen + # does not install as expected + - xopen <1.9.0 - anndata >=0.8.0 - numba >=0.56.4 - scanpy - - leidenalg - lxml - cssselect - typing_extensions - - scipy - - pyarrow >=13.0.0 + - scipy <1.13.0 + - pyarrow >=14,<16 - semver >=3.0.0,<4.0.0 - ruamel.yaml >=0.17.21,<0.18.0 - - pydantic >=1.10.7,<2.0.0 - - polars >=0.17.12,<0.18.0 + - pydantic >=2.0,<2.5 + - polars >=1.1.0,<2.0 - importlib-resources >=5.12.0,<6.0.0 - - fsspec =>2023.9.0 - - fastparquet =>2023.8.0 + - fsspec >=2023.12.2,<2024.0.0 + - fastparquet >=2023.8.0,<2024.0.0 + - graspologic >=3.3.0,<4.0.0 + - fastp + - plotly test: imports: - pixelator commands: + - pip check - pixelator --help - - pixelator --version | grep -E "^pixelator, version {{ version }}$" + requires: + - pip about: home: https://github.com/PixelgenTechnologies/pixelator - summary: | - A commandline tool and library to process and analyze sequencing data from Molecular Pixelation (MPX) assays. - license: GPL-2.0 - license_file: LICENSE - license_family: GPL + summary: A command-line tool and library to process and analyze sequencing data from Molecular Pixelation (MPX) assays. + license: MIT + license_family: MIT + license_file: LICENSE.txt extra: - maintainers: - - fbdtemme \ No newline at end of file + recipe-maintainers: + - johandahlberg + - ambarrio + - fbdtemme diff --git a/recipes/pkiss/build.sh b/recipes/pkiss/build.sh index 781e02b15ec3e..c981876f2b94b 100644 --- a/recipes/pkiss/build.sh +++ b/recipes/pkiss/build.sh @@ -1,5 +1,5 @@ -#!/bin/sh -make PREFIX=$PREFIX CC=$CC -C Misc/Applications/pKiss all +#!/bin/bash +make -j ${CPU_COUNT} PREFIX=$PREFIX CC=$CC -C Misc/Applications/pKiss all make PREFIX=$PREFIX CC=$CC -C Misc/Applications/pKiss install-program make PREFIX=$PREFIX CC=$CC -C Misc/Applications/lib install chmod +x $PREFIX/bin/pKiss* $PREFIX/bin/addRNA* diff --git a/recipes/pkiss/meta.yaml b/recipes/pkiss/meta.yaml index aca19bb29a981..5bef440d7e10c 100644 --- a/recipes/pkiss/meta.yaml +++ b/recipes/pkiss/meta.yaml @@ -1,40 +1,49 @@ -{% set version = "2.2.14" %} -{% set sha256 = "da7371378e32b2329da226be79a11974fdc4e66fe0b664757b5aafe29e2e12d6" %} +{% set fold_grammars_version = "2.3.1" %} +{% set pkiss_version = "2.3.0" %} +{% set packagename = "pkiss" %} +{% set sha256 = "0c5b7d91893d0a23189f4af3602e18f110f030eac49a3658f7acede23596fde0" %} package: - name: pkiss - version: {{ version }} + name: {{ packagename }} + version: {{ pkiss_version }} source: sha256: {{ sha256 }} - url: https://github.com/jlab/fold-grammars/archive/{{ version }}.tar.gz + # the repository "fold-grammars" contains sources for several programs, i.e. pKiss, RNAshapes, ... + # thus, the version number does not correspond to the {{ packagename }} version number + url: https://github.com/jlab/fold-grammars/archive/{{ fold_grammars_version }}.tar.gz build: - number: 3 - skip: False # [osx] + number: 2 + run_exports: + - {{ pin_subpackage('pkiss', max_pin="x") }} requirements: build: - make - {{ compiler('cxx') }} + - libcxx <17 # [osx] host: - perl - - bellmans-gapc >=2020.12.08 + - bellmans-gapc >=2024.01.12 + - libcxx <17 # [osx] run: - perl - - bellmans-gapc >=2020.12.08 + - bellmans-gapc >=2024.01.12 test: commands: - echo "UGGCCGGCAUGGUCCCAGCCUCCUCGCUGGCGCCGGCUGGGCAACAUUCC" | pKiss --mode=probs &> /dev/null about: - home: https://bibiserv.cebitec.uni-bielefeld.de/pkiss - license: 'GPLv3+' + home: https://bibiserv.cebitec.uni-bielefeld.de/{{ packagename }} + license: 'GPL-3.0-or-later' license_file: LICENSE summary: 'RNA secondary structure prediction including K-type and kissing hairpin- pseudoknots.' extra: + additional-platforms: + - linux-aarch64 identifiers: - doi:10.1007/978-3-642-15294-8_5 - doi:10.1093/bioinformatics/btu649 diff --git a/recipes/planemo/meta.yaml b/recipes/planemo/meta.yaml index 1d659535dbf15..ea46961af1b4f 100644 --- a/recipes/planemo/meta.yaml +++ b/recipes/planemo/meta.yaml @@ -1,6 +1,6 @@ {% set name = "planemo" %} -{% set version = "0.75.18" %} -{% set sha256 = "a38c7edef459fd6daaba1f9d63da6ad5b3e39b7a6d62aecd0f71395ae56e6629" %} +{% set version = "0.75.26" %} +{% set sha256 = "3f71b17ef9590de1c82db7ff4e8e2e05ca63fd1f5bfea0b7ee077b378bed7037" %} package: name: {{ name|lower }} @@ -13,11 +13,11 @@ source: build: number: 0 noarch: python - run_exports: - - {{ pin_subpackage('planemo', max_pin='x.x') }} - script: {{ PYTHON }} -m pip install . --no-deps -vvv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv entry_points: - planemo = planemo.cli:planemo + run_exports: + - {{ pin_subpackage('planemo', max_pin='x.x') }} requirements: host: @@ -26,15 +26,12 @@ requirements: run: - python >=3.7 - allure-python-commons - - beautifulsoup4 - bioblend >=1.0.0 - - click + - click !=8.0.2 - cwltool >=1.0.20191225192155 - - docutils - ephemeris >=0.10.3 - - galaxy-containers - - galaxy-tool-util >=23.0,<23.1 - - galaxy-util >=23.0,<23.1 + - galaxy-tool-util >=23.1,!=24.0.0,!=24.0.1,<24.2 + - galaxy-util >=23.1,<24.2 - glob2 - gxformat2 >=0.14.0 - h5py @@ -44,16 +41,16 @@ requirements: - pathvalidate - pyyaml - virtualenv + - stdlib-list # [py < 310] - tabulate - - six >=1.7.0 test: imports: - planemo - planemo.commands - - planemo.cwl + #- planemo.cwl - planemo.database - - planemo.engine + #- planemo.engine - planemo.galaxy - planemo.galaxy.test - planemo.linters @@ -64,10 +61,10 @@ test: - planemo.training - planemo.xml commands: - - planemo --help + #- planemo --help about: - home: 'https://pypi.org/project/planemo/' + home: 'https://github.com/galaxyproject/planemo' summary: 'Command-line utilities to assist in building tools for the Galaxy project (http://galaxyproject.org/).' license: MIT license_family: MIT diff --git a/recipes/plannotate/meta.yaml b/recipes/plannotate/meta.yaml index 37eeb74fca738..ebb56cfdfd40c 100644 --- a/recipes/plannotate/meta.yaml +++ b/recipes/plannotate/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.2.1" %} +{% set version = "1.2.2" %} package: name: plannotate @@ -7,10 +7,12 @@ package: build: number: 0 noarch: python + run_exports: + - {{ pin_subpackage('plannotate', max_pin="x") }} source: - url: https://github.com/mmcguffi/pLannotate/archive/refs/tags/v{{version}}.tar.gz - sha256: 7525ca5fa0309b4a579e46a6f9e167ed86751f7d3d07aba2c9d0468c53bcbaed + sha256: 423ad78a90d2fa13eed538b2ecdd939342388a5137b75de0c5d50c12974be3d6 - url: https://github.com/mmcguffi/pLannotate/releases/download/v1.2.0/BLAST_dbs.tar.gz sha256: 34c7bacb1c73bd75129e16990653f73b3eba7e3cdb3816a55d3989a7601f2137 folder: BLAST_dbs @@ -26,7 +28,7 @@ requirements: - biopython >=1.78 - blast >=2.10.1 - diamond >=2.0.13 - - pandas >=1.3.5 + - pandas >=1.3.5,<2.0.0 - python >=3.9 - ripgrep >=13.0.0 - tabulate >=0.8.9 diff --git a/recipes/plasnet/meta.yaml b/recipes/plasnet/meta.yaml new file mode 100644 index 0000000000000..c210d46bcaf0e --- /dev/null +++ b/recipes/plasnet/meta.yaml @@ -0,0 +1,45 @@ +{% set version = "0.6.0" %} +{% set name = "plasnet" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/leoisl/{{ name|lower }}/archive/v{{ version }}.tar.gz + sha256: 2afc3e7c91265d3605860e70cffcbe366ba36e0dd5da08331b83fd20883af392 + +build: + number: 1 + noarch: python + script: python -m pip install . --no-deps --ignore-installed -vvv + entry_points: + - plasnet = plasnet.plasnet_main:main + run_exports: + - {{ pin_subpackage("plasnet", max_pin="x") }} + +requirements: + host: + - python >=3.9 + - poetry-core >=1.0.0 + - pip + run: + - python >=3.9 + - networkx + - click + - pandas + +test: + imports: + - plasnet + + commands: + - plasnet --help + +about: + home: https://github.com/leoisl/plasnet + license_file: LICENSE + license: MIT + license_family: MIT + summary: 'Clustering, visualising and exploring plasmid networks' + diff --git a/recipes/plass/build.sh b/recipes/plass/build.sh index 78b3b14a704a3..b06956020200b 100644 --- a/recipes/plass/build.sh +++ b/recipes/plass/build.sh @@ -1,10 +1,18 @@ #!/bin/bash -git submodule init -git submodule update +ARCH_BUILD="" +case $(uname -m) in + x86_64) ARCH_BUILD="-DHAVE_SSE4_1=1" ;; + arm64|aarch64) ARCH_BUILD="-DHAVE_ARM8=1" ;; +esac + +if [ -z "${ARCH_BUILD}" ]; then + echo "Invalid architecture" + exit 1 +fi mkdir build cd build -cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" -DHAVE_TESTS=0 -DHAVE_MPI=0 -DHAVE_SSE4_1=1 -DVERSION_OVERRIDE="${PKG_VERSION}" .. -make -j 2 +cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" -DHAVE_TESTS=0 -DHAVE_MPI=0 ${ARCH_BUILD} -DVERSION_OVERRIDE="${PKG_VERSION}" .. +make -j${CPU_COUNT} ${VERBOSE_CM} make install diff --git a/recipes/plass/meta.yaml b/recipes/plass/meta.yaml index 9625027645199..99a820fb0e6d5 100644 --- a/recipes/plass/meta.yaml +++ b/recipes/plass/meta.yaml @@ -1,15 +1,18 @@ -{% set version = "4-687d7" %} +{% set version = "5-cf8933" %} +{% set sha256 = "04f8f695e925fd842667b1839c960afef93deb05131eba478426f622b97ab6a0" %} package: name: plass version: {{ version|replace("-", ".") }} build: - number: 5 + number: 1 + run_exports: + - {{ pin_subpackage('plass', max_pin=None) }} source: - git_url: https://github.com/soedinglab/plass.git - git_rev: {{ version }} + url: https://github.com/soedinglab/plass/archive/{{ version }}.tar.gz + sha256: {{ sha256 }} requirements: build: @@ -32,16 +35,21 @@ requirements: test: commands: - plass > /dev/null + - penguin > /dev/null about: home: https://github.com/soedinglab/plass license: GPLv3 - summary: "Plass (Protein-Level ASSembler) is a software to assemble short read sequencing data on a protein level" + summary: "Plass (Protein-Level ASSembler) and PenguiN (Protein-guided Nucleotide assembler) are methods to assemble short read sequencing data on a protein level to proteins or DNA contigs" extra: - skip-lints: - - uses_vcs_url - - missing_hash identifiers: - doi:10.1038/s41592-019-0437-4 + - doi:10.1101/2024.03.29.587318 - biotools:plass + recipe-maintainers: + - milot-mirdita + - martin-steinegger + additional-platforms: + - linux-aarch64 + - osx-arm64 \ No newline at end of file diff --git a/recipes/plassembler/meta.yaml b/recipes/plassembler/meta.yaml index 85b1484bc031b..7b7683d2378f5 100644 --- a/recipes/plassembler/meta.yaml +++ b/recipes/plassembler/meta.yaml @@ -1,5 +1,5 @@ {% set name = "plassembler" %} -{% set version = "1.5.0" %} +{% set version = "1.6.2" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 35496f09241e9c5eb45e66146e0c24b1e77598c84a61db8bc9fbf0d11c3db5d5 + sha256: 1433253aa9fb9305b8eb55ac3a19b46c4064d01147adbda077bc34da82509e46 build: number: 0 diff --git a/recipes/plek/meta.yaml b/recipes/plek/meta.yaml index 11edcfec311d0..7968a36bb11c0 100644 --- a/recipes/plek/meta.yaml +++ b/recipes/plek/meta.yaml @@ -13,7 +13,7 @@ source: - dos2unix.patch build: - number: 7 + number: 8 skip: True # [osx] requirements: diff --git a/recipes/pling/meta.yaml b/recipes/pling/meta.yaml new file mode 100644 index 0000000000000..61c2193346c7e --- /dev/null +++ b/recipes/pling/meta.yaml @@ -0,0 +1,48 @@ +{% set version = "2.0.0" %} +{% set name = "pling" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/iqbal-lab-org/{{ name|lower }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: 9e00b70239dcefdcfbaf3089757f1d6505428d71e1ef612fa3e3a230b368ce44 + +build: + number: 0 + noarch: python + script: "pip install . --no-deps --ignore-installed --no-cache-dir -vvv" + entry_points: + - pling = pling.run_pling:main + run_exports: + - {{ pin_subpackage("pling", max_pin="x") }} + +requirements: + host: + - python >=3.9,<3.12 + - pip + run: + - python >=3.9,<3.12 + - sourmash >=4.4.0,<5.0.0 + - pandas >=1.5.3 + - numpy >=1.26.0 + - intervaltree >=3.0.2 + - mummer >=3.23 + - glpk >=5.0 + - snakemake >=7.25.4,<8.0.0 + - plasnet >=0.6.0 + - dingII +test: + imports: + - pling + + commands: + - pling --help + +about: + home: https://github.com/iqbal-lab-org/pling + license: LICENSE + license_family: MIT + summary: 'Pling computes the rearrangement distance between plasmids and clusters on their basis ' + diff --git a/recipes/plink2/meta.yaml b/recipes/plink2/meta.yaml index 2283e9b7d4799..7ea74ac5f31fc 100644 --- a/recipes/plink2/meta.yaml +++ b/recipes/plink2/meta.yaml @@ -1,6 +1,6 @@ package: name: plink2 - version: "2.00a5" + version: "2.00a5.12" build: number: 0 @@ -8,10 +8,10 @@ build: - {{ pin_subpackage('plink2', max_pin=None) }} source: - url: https://s3.amazonaws.com/plink2-assets/alpha5/plink2_linux_x86_64_20230923.zip # [linux] - sha256: f0537f5b90315028de0f3c6be3aaa384a2aa7cd74b0d4d5b6f4d2916c262db40 # [linux] - url: https://s3.amazonaws.com/plink2-assets/alpha5/plink2_mac_20230923.zip # [osx] - sha256: 4a4264ff57abe7191a9244617d86069c370336aa726ced9a6369c0d8318e1f7c # [osx] + url: https://s3.amazonaws.com/plink2-assets/alpha5/plink2_linux_x86_64_20240625.zip # [linux] + sha256: 7bf73ad7bbd3256a83cd72ed068bee4175bd6052a7bf30a659dbdb696d9d1d9e # [linux] + url: https://s3.amazonaws.com/plink2-assets/alpha5/plink2_mac_20240625.zip # [osx] + sha256: 08e962c59d7f28b4ecc39d0279b859775cc5d2fbb892b7b350a982f4d7de437d # [osx] requirements: build: @@ -19,7 +19,7 @@ requirements: test: commands: - - plink2 --help | grep "PLINK v2.00a5" + - plink2 --help | grep "PLINK v2.00a5.12" about: home: https://www.cog-genomics.org/plink2 diff --git a/recipes/plinkio/COPYING b/recipes/plinkio/COPYING new file mode 100644 index 0000000000000..d15b0c24134de --- /dev/null +++ b/recipes/plinkio/COPYING @@ -0,0 +1,28 @@ +Copyright (c) 2006, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/recipes/plinkio/copyright b/recipes/plinkio/copyright new file mode 100644 index 0000000000000..8367bab9fac11 --- /dev/null +++ b/recipes/plinkio/copyright @@ -0,0 +1,35 @@ +This package was debianized by Google Inc. on +28 August 2008. + +It was downloaded from http://code.google.com/ + +Upstream Author: opensource@google.com + +Copyright (c) 2006, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/recipes/plinkio/meta.yaml b/recipes/plinkio/meta.yaml new file mode 100644 index 0000000000000..c5dc1227beb95 --- /dev/null +++ b/recipes/plinkio/meta.yaml @@ -0,0 +1,47 @@ +{% set name = "plinkio" %} +{% set version = "0.9.8" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/plinkio-{{ version }}.tar.gz + sha256: 820cd57167ed28158f926ac4b2901b323f8593eb139bec000eeb3b895430011f + +build: + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 1 + run_exports: + {{ pin_subpackage('plinkio', max_pin="x.x") }} + +requirements: + build: + - {{ compiler('c') }} + host: + - python + - pip + - setuptools + run: + - python + +test: + imports: + - plinkio + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/mfranberg/libplinkio + summary: A library for parsing plink genotype files + license: BSD-3-Clause + license_file: + - COPYING + - COPYING + - copyright + +extra: + recipe-maintainers: + - SonofLastPanda diff --git a/recipes/plncpro/meta.yaml b/recipes/plncpro/meta.yaml index 4dcd444085aca..8b2fbd0d87f53 100644 --- a/recipes/plncpro/meta.yaml +++ b/recipes/plncpro/meta.yaml @@ -10,7 +10,7 @@ source: sha256: "78537a49a5b7ec082af8a3c043d9429f063c6197b32903d7f503c6ee3b289400" build: - number: 5 + number: 6 skip: True # [py2k] entry_points: - plncpro = plncpro.__main__:main diff --git a/recipes/pmultiqc/meta.yaml b/recipes/pmultiqc/meta.yaml index bf170ac08f041..6f8e33c2d2bd4 100644 --- a/recipes/pmultiqc/meta.yaml +++ b/recipes/pmultiqc/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pmultiqc" %} -{% set version = "0.0.23" %} +{% set version = "0.0.25" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: fc66361d1a9da0e2812ef2ca4bf328ed95ecf9ba925d25afa0d045765d9446ab + sha256: 463a09960e75a45b8af43c57896be1244fe487e35dcb53071cefcc34612f6e89 build: number: 0 @@ -24,11 +24,12 @@ requirements: - python >=3.6 - pytest - lxml - - multiqc + - multiqc ==1.23 - pandas - - sdrf-pipelines + - sdrf-pipelines >=0.0.28 - pyteomics - pyopenms >2.7 + - numpy >=1.23 test: imports: diff --git a/recipes/pod5/LICENSE.md b/recipes/pod5/LICENSE.md new file mode 100644 index 0000000000000..9f3e082df8e44 --- /dev/null +++ b/recipes/pod5/LICENSE.md @@ -0,0 +1,362 @@ +This Source Code Form is subject to the terms of the Mozilla Public +License, v. 2.0. If a copy of the MPL was not distributed with this +file, You can obtain one at https://mozilla.org/MPL/2.0/. + +©2021 Oxford Nanopore Technologies PLC. + + +Mozilla Public License Version 2.0 +================================== + +### 1. Definitions + +**1.1. “Contributor”** + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +**1.2. “Contributor Version”** + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +**1.3. “Contribution”** + means Covered Software of a particular Contributor. + +**1.4. “Covered Software”** + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +**1.5. “Incompatible With Secondary Licenses”** + means + +* **(a)** that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or +* **(b)** that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +**1.6. “Executable Form”** + means any form of the work other than Source Code Form. + +**1.7. “Larger Work”** + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +**1.8. “License”** + means this document. + +**1.9. “Licensable”** + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +**1.10. “Modifications”** + means any of the following: + +* **(a)** any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or +* **(b)** any new file in Source Code Form that contains any Covered + Software. + +**1.11. “Patent Claims” of a Contributor** + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +**1.12. “Secondary License”** + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +**1.13. “Source Code Form”** + means the form of the work preferred for making modifications. + +**1.14. “You” (or “Your”)** + means an individual or a legal entity exercising rights under this + License. For legal entities, “You” includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, “control” means **(a)** the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or **(b)** ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + + +### 2. License Grants and Conditions + +#### 2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +* **(a)** under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and +* **(b)** under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +#### 2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +#### 2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +* **(a)** for any code that a Contributor has removed from Covered Software; + or +* **(b)** for infringements caused by: **(i)** Your and any other third party's + modifications of Covered Software, or **(ii)** the combination of its + Contributions with other software (except as part of its Contributor + Version); or +* **(c)** under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +#### 2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +#### 2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +#### 2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +#### 2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + + +### 3. Responsibilities + +#### 3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +#### 3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +* **(a)** such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +* **(b)** You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +#### 3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +#### 3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +#### 3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + + +### 4. Inability to Comply Due to Statute or Regulation + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: **(a)** comply with +the terms of this License to the maximum extent possible; and **(b)** +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + + +### 5. Termination + +**5.1.** The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated **(a)** provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and **(b)** on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +**5.2.** If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +**5.3.** In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + + +### 6. Disclaimer of Warranty + +> Covered Software is provided under this License on an “as is” +> basis, without warranty of any kind, either expressed, implied, or +> statutory, including, without limitation, warranties that the +> Covered Software is free of defects, merchantable, fit for a +> particular purpose or non-infringing. The entire risk as to the +> quality and performance of the Covered Software is with You. +> Should any Covered Software prove defective in any respect, You +> (not any Contributor) assume the cost of any necessary servicing, +> repair, or correction. This disclaimer of warranty constitutes an +> essential part of this License. No use of any Covered Software is +> authorized under this License except under this disclaimer. + +### 7. Limitation of Liability + +> Under no circumstances and under no legal theory, whether tort +> (including negligence), contract, or otherwise, shall any +> Contributor, or anyone who distributes Covered Software as +> permitted above, be liable to You for any direct, indirect, +> special, incidental, or consequential damages of any character +> including, without limitation, damages for lost profits, loss of +> goodwill, work stoppage, computer failure or malfunction, or any +> and all other commercial damages or losses, even if such party +> shall have been informed of the possibility of such damages. This +> limitation of liability shall not apply to liability for death or +> personal injury resulting from such party's negligence to the +> extent applicable law prohibits such limitation. Some +> jurisdictions do not allow the exclusion or limitation of +> incidental or consequential damages, so this exclusion and +> limitation may not apply to You. + + +### 8. Litigation + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + + +### 9. Miscellaneous + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + + +### 10. Versions of the License + +#### 10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +#### 10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +#### 10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +#### 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +## Exhibit A - Source Code Form License Notice + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at https://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +## Exhibit B - “Incompatible With Secondary Licenses” Notice + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/recipes/pod5/meta.yaml b/recipes/pod5/meta.yaml new file mode 100644 index 0000000000000..11c50c7d4c37c --- /dev/null +++ b/recipes/pod5/meta.yaml @@ -0,0 +1,73 @@ +{% set name = "pod5" %} +{% set version = "0.3.15" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/nanoporetech/pod5-file-format/releases/download/{{ version }}/{{ name }}-{{ version }}.tar.gz + sha256: 85e3196bfc375b7d6eb36787a312af5276b19829ceded551b55e9e193939e8f4 + +build: + number: 0 + noarch: python + entry_points: + - pod5 = pod5.tools.main:main + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + run_exports: + - {{ pin_subpackage('pod5', max_pin="x.x") }} + +requirements: + host: + - python >=3.8 + - pip + run: + - python >=3.8 + - lib-pod5 =={{ version }} + - iso8601 + - importlib-metadata # [py < 38] + - more-itertools + - numpy >=1.21.0 + - typing-extensions # [py < 310] + - pyarrow >=16.1.0,<16.2.dev0 # [not osx or py < 312] + - pytz + - packaging + - polars >=0.19,<1.dev0 + - h5py >=3.11.0,<3.12.dev0 # [py > 38] + #- vbz_h5py_plugin + - tqdm + +test: + imports: + - pod5 + commands: + - pod5 --help + +about: + summary: "Oxford Nanopore Technologies Pod5 File Format Python API and Tools." + license: "MPL-2.0" + license_family: OTHER + license_file: "LICENSE.md" + home: "https://github.com/nanoporetech/pod5-file-format" + dev_url: "https://github.com/nanoporetech/pod5-file-format" + doc_url: "https://pod5-file-format.readthedocs.io/en/latest" + description: + + POD5 File Format + ---------------- + + POD5 is a file format for storing nanopore dna data in an easily accessible way. + The format is able to be written in a streaming manner which allows a sequencing instrument to directly write the format. + + Data in POD5 is stored using Apache Arrow, allowing users to consume data in many languages using standard tools. + + What does this project contain + ------------------------------ + + This project contains a core library for reading and writing POD5 data, and a toolkit for accessing this data in other languages. + + Documentation + ------------- + + Full documentation is found at https://pod5-file-format.readthedocs.io diff --git a/recipes/polap/LICENSE b/recipes/polap/LICENSE new file mode 100644 index 0000000000000..f288702d2fa16 --- /dev/null +++ b/recipes/polap/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/recipes/polap/build.sh b/recipes/polap/build.sh new file mode 100644 index 0000000000000..343b7d9d0f89f --- /dev/null +++ b/recipes/polap/build.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +mkdir -p $PREFIX/bin + +files=(polap + polap-conda-environment-fmlrc.yaml + polap-conda-environment.yaml + polap-mt.1.c70.3.faa + polap-parsing.sh + polap-pt.2.c70.3.faa + polap.sh + run-polap-genes.R + run-polap-jellyfish.R + run-polap-mtcontig.R + run-polap-ncbitools + run-polap-pairs.R) + +for i in "${files[@]}"; do + cp src/$i $PREFIX/bin +done + +chmod +x $PREFIX/bin/polap +chmod +x $PREFIX/bin/polap.sh +chmod +x $PREFIX/bin/run-polap-* diff --git a/recipes/polap/meta.yaml b/recipes/polap/meta.yaml new file mode 100644 index 0000000000000..eacc9680c84a3 --- /dev/null +++ b/recipes/polap/meta.yaml @@ -0,0 +1,66 @@ +{% set name = "polap" %} +{% set version = "0.2.6" %} +{% set sha256 = "6d9b5ffc26ce6feeaa6119d0dda57e07af9e9def55e5510b0ddf237699b15948" %} + +package: + name: "{{ name }}" + version: "{{ version }}" + +source: + url: https://github.com/goshng/{{ name }}/archive/refs/tags/{{ version }}.tar.gz + sha256: "{{ sha256 }}" + +build: + noarch: generic + number: 0 + run_exports: + - {{ pin_subpackage('polap', max_pin="x.x") }} + +requirements: + run: + - python + - flye >=2.9.2 + - seqkit + - minimap2 >=2.24 + - blast + - bedtools + - seqtk + - bioawk + - entrez-direct + - sra-tools + - csvtk + - gfastats + - kmer-jellyfish + - clustalw + - samtools + - assembly-stats + - orthofinder + - bioconductor-ggtree + - perl-xml-libxml + - icu + - libxml2 + - perl + - r-base + - r-dplyr + - r-readr + - r-optparse + - r-stringr + - r-tidyr + - parallel + +test: + commands: + - polap + +about: + home: https://github.com/goshng/polap + license: GPL-3.0-or-later + license_family: GPL + license_file: LICENSE + summary: "POLAP: plant organelle long-read assembly pipeline" + dev_url: https://github.com/goshng/polap + doc_url: https://goshng.github.io/polap/polap.html + +extra: + recipe-maintainers: + - goshng diff --git a/recipes/poly-qtlseq/build.sh b/recipes/poly-qtlseq/build.sh new file mode 100644 index 0000000000000..249f40c8f7515 --- /dev/null +++ b/recipes/poly-qtlseq/build.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +BINARY_HOME=$PREFIX/bin +PACKAGE_HOME=$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM + +mkdir -p $BINARY_HOME +mkdir -p $PACKAGE_HOME + +cp -r $SRC_DIR/* $PACKAGE_HOME +cp $RECIPE_DIR/polyQtlseq.sh $PACKAGE_HOME/polyQtlseq.sh +chmod +x $PACKAGE_HOME/polyQtlseq.sh +ln -s $PACKAGE_HOME/polyQtlseq.sh $BINARY_HOME/polyQtlseq diff --git a/recipes/poly-qtlseq/meta.yaml b/recipes/poly-qtlseq/meta.yaml new file mode 100644 index 0000000000000..11953504d4dab --- /dev/null +++ b/recipes/poly-qtlseq/meta.yaml @@ -0,0 +1,37 @@ +{% set name = "polyQtlseq" %} +{% set version = "1.0.1" %} +{% set sha256 = "bc6a7c3ddac1191b697084a003336aab06d7530538f4a6963d572cd1a6f679bc" %} + +package: + name: poly-qtlseq + version: {{ version }} + +source: + url: https://github.com/TatsumiMizubayashi/PolyploidQtlSeq/releases/download/v1.0.1/polyQtlseq-1.0.1.zip + sha256: {{ sha256 }} + +build: + noarch: generic + number: 0 + run_exports: + - {{ pin_subpackage('poly-qtlseq', max_pin="x") }} + +requirements: + build: + run: + - dotnet-runtime >=6,<7 + - fastp >=0.23 + - bwa + - bcftools >=1.16 + - samtools >=1.16 + - snpeff + +test: + commands: + - polyQtlseq -h + +about: + home: https://github.com/TatsumiMizubayashi/PolyploidQtlSeq + license: MIT License + summary: PolyploidQtlSeq is a program that extends QTL-seq for polyploid F1 populations. + diff --git a/recipes/poly-qtlseq/polyQtlseq.sh b/recipes/poly-qtlseq/polyQtlseq.sh new file mode 100644 index 0000000000000..0b6d6ada0abdf --- /dev/null +++ b/recipes/poly-qtlseq/polyQtlseq.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +SCRIPT_PATH=$(readlink -f $0) +SCRIPT_DIR=$(dirname $SCRIPT_PATH) + +dotnet $SCRIPT_DIR/PolyploidQtlSeq.dll $@ diff --git a/recipes/polypolish/build.sh b/recipes/polypolish/build.sh index 8a376961d49d2..cc6ea610520c3 100644 --- a/recipes/polypolish/build.sh +++ b/recipes/polypolish/build.sh @@ -1,11 +1,5 @@ #!/bin/bash -euo -# Add workaround for SSH-based Git connections from Rust/cargo. See https://github.com/rust-lang/cargo/issues/2078 for details. -# We set CARGO_HOME because we don't pass on HOME to conda-build, thus rendering the default "${HOME}/.cargo" defunct. -export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="${BUILD_PREFIX}/.cargo" - # build statically linked binary with Rust RUST_BACKTRACE=1 -cargo install --verbose --path . --root $PREFIX -# Copy python scripts into bin dir -cp scripts/*.{py,pxd} $PREFIX/bin +cargo install --verbose --path . --root ${PREFIX} diff --git a/recipes/polypolish/meta.yaml b/recipes/polypolish/meta.yaml index 112816c703f71..f130383f9422d 100644 --- a/recipes/polypolish/meta.yaml +++ b/recipes/polypolish/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.5.0" %} +{% set version = "0.6.0" %} package: name: polypolish @@ -6,16 +6,18 @@ package: source: url: https://github.com/rrwick/Polypolish/archive/refs/tags/v{{ version }}.tar.gz - sha256: 183156093c03094290951f140010b3aef6222a672bf538e9136914178775fb1f + sha256: 99ea799352cecf6723b73fb4c5c64dd2091ff1cdab6eef10309e06c642e56855 build: - number: 4 + number: 1 + run_exports: + - {{ pin_subpackage('polypolish', max_pin="x.x") }} requirements: build: - {{ compiler('c') }} - {{ compiler('cxx') }} - - rust >=1.39 + - {{ compiler('rust') }} - pkg-config - clangdev - make @@ -25,12 +27,22 @@ requirements: test: commands: - - polypolish -h - - polypolish_insert_filter.py --help + - polypolish polish --help + - polypolish filter --help about: home: https://github.com/rrwick/Polypolish - license: GPLv3 - license_family: GPL + license: GPL-3.0-or-later + license_family: GPL3 license_file: LICENSE summary: Polishing genome assemblies with short reads. + doc_url: https://github.com/rrwick/Polypolish/wiki + dev_url: https://github.com/rrwick/Polypolish + +extra: + identifiers: + - doi:10.1371/journal.pcbi.1009802 + - biotools:polypolish + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/pomoxis/meta.yaml b/recipes/pomoxis/meta.yaml index 2b2455b6e48e7..ae831a0fd1025 100644 --- a/recipes/pomoxis/meta.yaml +++ b/recipes/pomoxis/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pomoxis" %} -{% set version = "0.3.13" %} +{% set version = "0.3.15" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 732e3c641b4d6c542b62f6df8bfd0e7b49e1a1cb351f644b3a98c37b4ec026d3 + sha256: e54f7f2960290121676dda992b326341986b093e5da4586203b8b613cc356d2b build: number: 0 @@ -22,14 +22,19 @@ build: - long_fastx = pomoxis.util:extract_long_reads - pomoxis_path = pomoxis:show_prog_path - qscores_from_summary = pomoxis.qscores_from_summary:main + - reverse_bed = pomoxis.util:reverse_bed - split_fastx = pomoxis.util:split_fastx_cmdline - stats_from_bam = pomoxis.stats_from_bam:main - subsample_bam = pomoxis.subsample_bam:main + - filter_bam = pomoxis.filter_bam:main - summary_from_stats = pomoxis.summary_from_stats:main + - tag_bam = pomoxis.util:tag_bam - trim_alignments = pomoxis.trim_alignments:main - ref_seqs_from_bam = pomoxis.ref_seqs_from_bam:main - find_indels = pomoxis.find_indels:main - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vvv " + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('pomoxis', max_pin="x.x") }} requirements: host: @@ -79,12 +84,12 @@ test: about: home: https://github.com/nanoporetech/pomoxis - license: Mozilla Public License 2.0 + license: MPL-2.0 license_family: OTHER license_file: LICENSE.md summary: Assembly, consensensus, and analysis tools by ONT research doc_url: https://nanoporetech.github.io/pomoxis/index.html - dev_url: https://github.com/nanoporetech/pomoxis + dev_url: https://github.com/nanoporetech/pomoxis extra: recipe-maintainers: diff --git a/recipes/poolsnp/build.sh b/recipes/poolsnp/build.sh new file mode 100644 index 0000000000000..1b0171d1264e6 --- /dev/null +++ b/recipes/poolsnp/build.sh @@ -0,0 +1,33 @@ +#! /bin/bash + +set -ex + +BASE_DIR=$(dirname "$0") +SCRIPTS_DIR="${BASE_DIR}/scripts" +TEST_DATA_DIR="${BASE_DIR}/TestData" + +if [ ! -d "${SCRIPTS_DIR}" ]; then + echo "The scripts directory is missing. It should be placed in the same directory as the PoolSNP.sh script." + exit 1 +fi + +if [ ! -d "${TEST_DATA_DIR}" ]; then + echo "The TestData directory is missing. It should be placed in the same directory as the PoolSNP.sh script." + exit 1 +fi + +mkdir -p ${PREFIX}/bin +mkdir -p ${PREFIX}/bin/scripts +mkdir -p ${PREFIX}/share/PoolSNP + +cp PoolSNP.sh ${PREFIX}/bin +chmod +x ${PREFIX}/bin/PoolSNP.sh + +for script in $SCRIPTS_DIR/*; do + cp $script ${PREFIX}/bin/$(basename $script) + cp $script ${PREFIX}/bin/scripts/ + chmod +x ${PREFIX}/bin/$(basename $script) + chmod +x ${PREFIX}/bin/scripts/$(basename $script) +done + +cp -r ${TEST_DATA_DIR} ${PREFIX}/share/PoolSNP/TestData \ No newline at end of file diff --git a/recipes/poolsnp/meta.yaml b/recipes/poolsnp/meta.yaml new file mode 100644 index 0000000000000..b477040292487 --- /dev/null +++ b/recipes/poolsnp/meta.yaml @@ -0,0 +1,40 @@ +{% set name = "poolsnp" %} +{% set version = "1.0.1" %} +{% set github = "https://github.com/capoony/PoolSNP" %} + +package: + name: "{{ name }}" + version: "{{ version }}" + +source: + url: "{{ github }}/archive/refs/tags/v.{{ version }}.tar.gz" + sha256: a98003758e2f93f2c7dc907ad990594e7fa85ca5f3fd5a7b3bcbc6363fbb9571 + +requirements: + host: + - python + - parallel + run: + - python + - parallel + +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage('poolsnp', max_pin='x.x') }} + +test: + source_files: + - TestData/* + - scripts/* + +about: + summary: PoolSNP is a heuristic SNP caller, which uses an MPILEUP file and a reference genome in FASTA format as inputs. + license: Apache-2.0 + license_file: LICENSE + home: https://github.com/capoony/PoolSNP + +extra: + recipe-maintainers: + - abhilesh diff --git a/recipes/poolsnp/run_test.sh b/recipes/poolsnp/run_test.sh new file mode 100644 index 0000000000000..60c03dc8eaf08 --- /dev/null +++ b/recipes/poolsnp/run_test.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +# Ensure the script is executable +test -x ${PREFIX}/bin/PoolSNP.sh + +# Run PoolSNP.sh with a minimal set of parameters to ensure it executes +bash ${PREFIX}/bin/PoolSNP.sh \ + mpileup="${PREFIX}/share/PoolSNP/TestData/test.mpileup" \ + reference="${PREFIX}/share/PoolSNP/TestData/test.fa" \ + names=Sample1,Sample2 \ + max-cov=0.7 \ + min-cov=4 \ + min-count=4 \ + min-freq=0.01 \ + miss-frac=0.5 \ + jobs=4 \ + badsites=1 \ + allsites=1 \ + output=${PREFIX}/share/PoolSNP/TestResult/test + +# Optionally, check the output file to ensure it was created +test -f ${PREFIX}/share/PoolSNP/TestResult/test.vcf.gz \ No newline at end of file diff --git a/recipes/popdel/build.sh b/recipes/popdel/build.sh index 883edc14d8a69..64407b7894404 100644 --- a/recipes/popdel/build.sh +++ b/recipes/popdel/build.sh @@ -1,4 +1,4 @@ #!/bin/sh -make CXX=${CXX} +make CXX=${CXX} -j ${CPU_COUNT} mkdir -p ${PREFIX}/bin cp popdel ${PREFIX}/bin diff --git a/recipes/popdel/meta.yaml b/recipes/popdel/meta.yaml index 31750f441b621..b73c3594094cf 100644 --- a/recipes/popdel/meta.yaml +++ b/recipes/popdel/meta.yaml @@ -7,7 +7,9 @@ source: sha256: c4f9dd1838379a9bcb3545da3a8d2d779f85212528a523215df9d2dc505fe515 build: - number: 6 + number: 7 + run_exports: + - {{ pin_subpackage('popdel', max_pin='x') }} requirements: build: @@ -28,3 +30,7 @@ about: license: GPL-3.0 license_file: LICENSE summary: Fast structural deletion calling on population-scale short read paired-end germline WGS data. + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/popgen-entropy/build_failure.osx-64.yaml b/recipes/popgen-entropy/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..8809fe81648ed --- /dev/null +++ b/recipes/popgen-entropy/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: de4fe897707e7ddcc2b1ec439b277e821fd895de2934641bb5fd2adb8b315794 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/popgen-entropy-2.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/popgen-entropy-2.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + checking for a BSD-compatible install... /usr/bin/install -c + checking whether build environment is sane... yes + checking for a race-free mkdir -p... ./install-sh -c -d + checking for gawk... no + checking for mawk... no + checking for nawk... no + checking for awk... awk + checking whether make sets $(MAKE)... yes + checking whether make supports nested variables... yes + Testing for gsl + checking whether make supports the include directive... yes (GNU style) + checking for x86_64-apple-darwin13.4.0-gcc... x86_64-apple-darwin13.4.0-clang + checking whether the C compiler works... yes + checking for C compiler default output file name... a.out + checking for suffix of executables... + checking whether we are cross compiling... no + checking for suffix of object files... o + checking whether the compiler supports GNU C... yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... yes + checking for x86_64-apple-darwin13.4.0-clang option to enable C11 features... none needed + checking whether x86_64-apple-darwin13.4.0-clang understands -c and -o together... yes + checking dependency style of x86_64-apple-darwin13.4.0-clang... gcc3 + checking for cos in -lm... yes + checking for cblas_dgemm in -lgslcblas... yes + checking for gsl_blas_dgemm in -lgsl... yes + Testing for a C compiler + checking whether the compiler supports GNU C... yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... yes + checking for x86_64-apple-darwin13.4.0-clang option to enable C11 features... none needed + checking dependency style of x86_64-apple-darwin13.4.0-clang... gcc3 + checking whether x86_64-apple-darwin13.4.0-clang understands -c and -o together... yes + checking how to run the C preprocessor... x86_64-apple-darwin13.4.0-clang -E + Setting language to C + Setting CXXFLAGS -DGSL_RANGE_CHECK=0 + Testing for iostream + checking for stdio.h... yes + checking for stdlib.h... yes + checking for string.h... yes + checking for inttypes.h... yes + checking for stdint.h... yes + checking for strings.h... yes + checking for sys/stat.h... yes + checking for sys/types.h... yes + checking for unistd.h... yes + checking for iostream... yes + Testing for iomanip + checking for iomanip... yes + Testing for cmath + checking for cmath... yes + Testing for fstream + checking for fstream... yes + Testing for sstream + checking for sstream... yes + Testing for functions + checking for pow... yes + checking for sqrt... yes + Testing for float.h, sting.h, & unistd.hrm + checking for float.h... yes + checking for string.h... (cached) yes + checking for unistd.h... (cached) yes + Testing for STDBOOL + checking for _Bool... no + checking for stdbool.h that conforms to C99... yes + Testing for TYPE_SIZE_T + checking for size_t... yes + Creating Makefile + Creating config.h, config.h.in, and config.status + checking that generated files are newer than configure... done + configure: creating ./config.status + config.status: creating Makefile + config.status: creating config.h + config.status: executing depfiles commands + make all-am + make[1]: Entering directory '$SRC_DIR' + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/popgen-entropy-2.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -DGSL_RANGE_CHECK=0 -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.C + mv -f .deps/main.Tpo .deps/main.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/popgen-entropy-2.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -DGSL_RANGE_CHECK=0 -MT func.o -MD -MP -MF .deps/func.Tpo -c -o func.o func.C + make[1]: Leaving directory '$SRC_DIR' +# Last 100 lines of the build log. diff --git a/recipes/popgen-entropy/meta.yaml b/recipes/popgen-entropy/meta.yaml index 0806d5fe186fd..45d462a230b86 100755 --- a/recipes/popgen-entropy/meta.yaml +++ b/recipes/popgen-entropy/meta.yaml @@ -9,7 +9,7 @@ source: sha1: d4e4227e5ca89223b3ea09744bd15ffa884906e8 build: - number: 8 + number: 9 requirements: build: diff --git a/recipes/poplddecay/build.sh b/recipes/poplddecay/build.sh new file mode 100644 index 0000000000000..da285f1095326 --- /dev/null +++ b/recipes/poplddecay/build.sh @@ -0,0 +1,20 @@ +#!/bin/bash -euo + +mkdir -p ${PREFIX}/bin + +export M4="${BUILD_PREFIX}/bin/m4" +export INCLUDES="-I${PREFIX}/include" +export LIBPATH="-L${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CXXFLAGS="${CXXFLAGS} -O3 -I${PREFIX}/include" + +autoreconf -if +./configure CXX="${CXX}" \ + CXXFLAGS="${CXXFLAGS}" \ + LDFLAGS="${LDFLAGS}" \ + --prefix="${PREFIX}" + +make -j"${CPU_COUNT}" + +chmod 0755 PopLDdecay +cp -rf PopLDdecay ${PREFIX}/bin diff --git a/recipes/poplddecay/meta.yaml b/recipes/poplddecay/meta.yaml new file mode 100644 index 0000000000000..6c2d6e9728491 --- /dev/null +++ b/recipes/poplddecay/meta.yaml @@ -0,0 +1,47 @@ +{% set name = "PopLDdecay" %} +{% set version = "3.43" %} +{% set sha256 = "ce5b89005ac063e590d02f4a5922da646651fb2086c5708b280feda84c84dd72" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/BGI-shenzhen/PopLDdecay/archive/refs/tags/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 1 + run_exports: + - {{ pin_subpackage('poplddecay', max_pin="x") }} + +requirements: + build: + - make + - {{ compiler('cxx') }} + - autoconf + - automake + - libtool + host: + - zlib + +test: + commands: + - 'PopLDdecay 2>&1 | grep "Usage: PopLDdecay"' + +about: + home: "https://github.com/BGI-shenzhen/PopLDdecay" + license: MIT + license_family: MIT + license_file: LICENSE + summary: "PopLDdecay: a fast and effective tool for linkage disequilibrium decay analysis based on variant call format (VCF) files." + dev_url: "https://github.com/BGI-shenzhen/PopLDdecay" + doc_url: "https://github.com/BGI-shenzhen/PopLDdecay/blob/v{{ version }}/README.md" + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + identifiers: + - doi:10.1093/bioinformatics/bty875 + - biotools:PopLDdecay diff --git a/recipes/popoolation2/build.sh b/recipes/popoolation2/build.sh new file mode 100644 index 0000000000000..0d2faf8de0be4 --- /dev/null +++ b/recipes/popoolation2/build.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +outdir=${PREFIX}/share/${PKG_NAME}-${PKG_VERSION}-${PKG_BUILDNUM} +mkdir -p ${PREFIX}/bin ${outdir} + +chmod +x *.pl export/*.pl indel_filtering/*.pl +cp -R *.pl export Modules indel_filtering ${PREFIX}/bin +cp mpileup2sync.jar ${outdir} +cp ${RECIPE_DIR}/mpileup2sync.py ${outdir}/mpileup2sync + +ln -s ${outdir}/mpileup2sync ${PREFIX}/bin + +for f in cmh2gwas.pl pwc2igv.pl subsample_sync2fasta.pl subsample_sync2GenePop.pl + do + ln -s ${PREFIX}/bin/export/${f} ${PREFIX}/bin +done + +for f in filter-sync-by-gtf.pl identify-indel-regions.pl + do + ln -s ${PREFIX}/bin/indel_filtering/${f} ${PREFIX}/bin +done diff --git a/recipes/popoolation2/meta.yaml b/recipes/popoolation2/meta.yaml new file mode 100644 index 0000000000000..6f33895b378fc --- /dev/null +++ b/recipes/popoolation2/meta.yaml @@ -0,0 +1,55 @@ +{% set name = "popoolation2" %} +{% set version = "1.201" %} +{% set sha256 = "7f45353a211ec88d36fd1beed1d128673f3ff911b731211eb5a39f8602bddd42" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://downloads.sourceforge.net/project/popoolation2/popoolation2_1201.zip + sha256: {{ sha256 }} + +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage('popoolation2', max_pin="x") }} + +requirements: + host: + - perl + run: + - perl + - perl-text-nsp + - r-base + - bwa + - samtools + - igv + - openjdk + - python + +test: + commands: + - page -V 2>&1 | grep page + - snp-frequency-diff.pl --help 2>&1 | grep SNP-frequency-diff.pl + - fst-sliding.pl --help 2>&1 | grep fst-sliding.pl + - fisher-test.pl --help 2>&1 | grep fisher-test.pl + - pwc2igv.pl --help 2>&1 | grep pwc2igv + - cmh2gwas.pl --help 2>&1 | grep cmh2gwas + - identify-indel-regions.pl 2>&1 | grep identify-indel-regions + - filter-sync-by-gtf.pl 2>&1 | grep filter-sync-by-gtf + - mpileup2sync --help 2>&1 | grep mpileup2sync + - subsample_sync2fasta.pl 2>&1 | grep subsample_sync2fasta + - subsample_sync2GenePop.pl 2>&1 | grep subsample_sync2GenePop + - filter-sync-by-gtf.pl 2>&1 | grep filter-sync-by-gtf + +about: + home: "https://sourceforge.net/projects/popoolation2" + summary: "PoPoolation2 allows to compare allele frequencies for SNPs between two or more populations and to identify significant differences." + license: BSD-3 + license_family: BSD + +extra: + identifiers: + - doi:10.1093/bioinformatics/btr589 diff --git a/recipes/popoolation2/mpileup2sync.py b/recipes/popoolation2/mpileup2sync.py new file mode 100644 index 0000000000000..2629cf831876a --- /dev/null +++ b/recipes/popoolation2/mpileup2sync.py @@ -0,0 +1,123 @@ +#! /usr/bin/env python +# +# Wrapper script for Java Conda packages that ensures that the java runtime +# is invoked with the right options. Adapted from the bash script (http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in/246128#246128). + +# +# Program Parameters +# +import os +import subprocess +import sys +import shutil +from os import access +from os import getenv +from os import X_OK + +jar_file = 'mpileup2sync.jar' + + +default_jvm_mem_opts = ['-Xms2g', '-Xmx7g'] + +# !!! End of parameter section. No user-serviceable code below this line !!! + + +def real_dirname(path): + """Return the symlink-resolved, canonicalized directory-portion of path.""" + return os.path.dirname(os.path.realpath(path)) + + +def java_executable(): + """Return the executable name of the Java interpreter.""" + java_home = getenv('JAVA_HOME') + java_bin = os.path.join('bin', 'java') + + if java_home and access(os.path.join(java_home, java_bin), X_OK): + return os.path.join(java_home, java_bin) + else: + return 'java' + + +def jvm_opts(argv): + """Construct list of Java arguments based on our argument list. + + The argument list passed in argv must not include the script name. + The return value is a 3-tuple lists of strings of the form: + (memory_options, prop_options, passthrough_options) + """ + mem_opts = [] + prop_opts = [] + pass_args = [] + exec_dir = None + + for arg in argv: + if arg.startswith('-D'): + prop_opts.append(arg) + elif arg.startswith('-XX'): + prop_opts.append(arg) + elif arg.startswith('-Xm'): + mem_opts.append(arg) + elif arg.startswith('--exec_dir='): + exec_dir = arg.split('=')[1].strip('"').strip("'") + if not os.path.exists(exec_dir): + shutil.copytree(real_dirname(sys.argv[0]), exec_dir, symlinks=False, ignore=None) + else: + pass_args.append(arg) + + # In the original shell script the test coded below read: + # if [ "$jvm_mem_opts" == "" ] && [ -z ${_JAVA_OPTIONS+x} ] + # To reproduce the behaviour of the above shell code fragment + # it is important to explictly check for equality with None + # in the second condition, so a null envar value counts as True! + + if mem_opts == [] and getenv('_JAVA_OPTIONS') is None: + mem_opts = default_jvm_mem_opts + + return (mem_opts, prop_opts, pass_args, exec_dir) + + +def def_temp_log_opts(args): + """ + Establish default temporary and log folders. + """ + TEMP = os.getenv("TEMP") + + if TEMP is not None: + if '-log' not in args: + args.append('-log') + args.append(TEMP+'/logs') + + if '-temp_folder' not in args : + args.append('-temp_folder') + args.append(TEMP) + + return args + + +def main(): + java = java_executable() + """ + PeptideShaker updates files relative to the path of the jar file. + In a multiuser setting, the option --exec_dir="exec_dir" + can be used as the location for the peptide-shaker distribution. + If the exec_dir dies not exist, + we copy the jar file, lib, and resources to the exec_dir directory. + """ + (mem_opts, prop_opts, pass_args, exec_dir) = jvm_opts(sys.argv[1:]) + pass_args = def_temp_log_opts(pass_args) + jar_dir = exec_dir if exec_dir else real_dirname(sys.argv[0]) + + if pass_args != [] and pass_args[0].startswith('eu'): + jar_arg = '-cp' + else: + jar_arg = '-jar' + + jar_path = os.path.join(jar_dir, jar_file) + + java_args = [java] + mem_opts + prop_opts + [jar_arg] + [jar_path] + pass_args + + sys.exit(subprocess.call(java_args)) + + +if __name__ == '__main__': + main() diff --git a/recipes/poppunk/meta.yaml b/recipes/poppunk/meta.yaml index 09f1470304214..802e0ca68a124 100644 --- a/recipes/poppunk/meta.yaml +++ b/recipes/poppunk/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "2.6.2" %} +{% set version = "2.7.0" %} {% set name = "PopPUNK" %} package: @@ -7,7 +7,7 @@ package: source: url: https://github.com/bacpop/{{ name|lower }}/archive/v{{ version }}.tar.gz - sha256: c554fbc8b322836771acd6b2c0d13bb516227cf96dd8d85680b619472897082f + sha256: bba7cb9fad5027abc78fd6761755169ae999d3d86a96bdfbfe577a360f907067 build: number: 0 @@ -89,9 +89,10 @@ test: - poppunk_references --help - poppunk_mandrake --help - poppunk_info --help + - poppunk_lineages_from_strains --help about: - home: https://www.poppunk.net + home: https://poppunk.bacpop.org/ license: Apache-2.0 license_family: APACHE summary: 'PopPUNK (POPulation Partitioning Using Nucleotide Kmers)' @@ -99,3 +100,8 @@ about: extra: identifiers: - doi:10.1101/gr.241455.118 + # enabling this would require arm64 packages for: mandrake, pp-sketchlib, + # rapidnj + # additional-platforms: + # - linux-aarch64 + # - osx-arm64 diff --git a/recipes/porechop/meta.yaml b/recipes/porechop/meta.yaml index 63fb7d0a684cf..09a59721d8130 100644 --- a/recipes/porechop/meta.yaml +++ b/recipes/porechop/meta.yaml @@ -9,8 +9,9 @@ source: sha256: 44b499157d933be43f702cec198d1d693dcb9276e3c545669be63c2612493299 build: - number: 6 - skip: True # [py27] + number: 8 + run_exports: + - {{ pin_subpackage("porechop", max_pin="x.x") }} entry_points: - porechop = porechop.porechop:main @@ -30,6 +31,13 @@ test: about: home: https://github.com/rrwick/Porechop - license: GPL3 + license: GPL-3.0-only license_file: LICENSE + license_family: GPL3 summary: Adapter removal and demultiplexing of Oxford Nanopore reads + dev_url: https://github.com/rrwick/Porechop + doc_url: https://github.com/rrwick/Porechop?tab=readme-ov-file#how-it-works + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/porechop_abi/build_failure.osx-64.yaml b/recipes/porechop_abi/build_failure.osx-64.yaml index 557a2b900871f..4fde06acbf4ed 100644 --- a/recipes/porechop_abi/build_failure.osx-64.yaml +++ b/recipes/porechop_abi/build_failure.osx-64.yaml @@ -1,104 +1,104 @@ -recipe_sha: 15ee7a7efb68d4c55cfb23d792f3e458ff1599e54ed802268dbd6dbe8f13b580 # The commit at which this recipe failed to build. +recipe_sha: 073726cff6842c0b9a5f40952bce9a0c41e3b02572a0e9910866971a5cd36abe # The hash of the recipe's meta.yaml at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. log: |2- - - __file__ = %r - sys.argv[0] = __file__ - - if os.path.exists(__file__): - filename = __file__ - with tokenize.open(__file__) as f: - setup_py_code = f.read() - else: - filename = "" - setup_py_code = "from setuptools import setup; setup()" - - exec(compile(setup_py_code, filename, "exec")) - '"'"''"'"''"'"' % ('"'"'/opt/mambaforge/envs/bioconda/conda-bld/porechop_abi_1685393517776/work/setup.py'"'"',), "", "exec"))' bdist_wheel -d /private/tmp/pip-wheel-xaac9u1n - cwd: /opt/mambaforge/envs/bioconda/conda-bld/porechop_abi_1685393517776/work/ - ERROR: Failed building wheel for Porechop-ABI - Running command python setup.py clean - Building wheel for Porechop-ABI (setup.py): finished with status 'error' - Running setup.py clean for Porechop-ABI - usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] - or: setup.py --help [cmd1 cmd2 ...] - or: setup.py --help-commands - or: setup.py cmd --help - - error: option --all not recognized - error: subprocess-exited-with-error - - python setup.py clean did not run successfully. - exit code: 1 - > See above for output. - - note: This error originates from a subprocess, and is likely not a problem with pip. - full command: /opt/mambaforge/envs/bioconda/conda-bld/porechop_abi_1685393517776/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/bin/python -u -c ' - exec(compile('"'"''"'"''"'"' - # This is -- a caller that pip uses to run setup.py - # - # - It imports setuptools before invoking setup.py, to enable projects that directly - # import from distutils.core to work with newer packaging standards. - # - It provides a clear error message when setuptools is not installed. - # - It sets sys.argv[0] to the underlying setup.py, when invoking setup.py so - # setuptools doesn'"'"'t think the script is -c. This avoids the following warning: - # manifest_maker: standard file '"'"'-c'"'"' not found". - # - It generates a shim setup.py, for handling setup.cfg-only projects. - import os, sys, tokenize - - try: - import setuptools - except ImportError as error: - print( - Failed to build Porechop-ABI - "ERROR: Can not execute setup.py since setuptools is not available in " - "the build environment.", - file=sys.stderr, - ) - sys.exit(1) - - __file__ = %r - sys.argv[0] = __file__ - - if os.path.exists(__file__): - filename = __file__ - with tokenize.open(__file__) as f: - setup_py_code = f.read() - else: - filename = "" - setup_py_code = "from setuptools import setup; setup()" - - exec(compile(setup_py_code, filename, "exec")) - '"'"''"'"''"'"' % ('"'"'/opt/mambaforge/envs/bioconda/conda-bld/porechop_abi_1685393517776/work/setup.py'"'"',), "", "exec"))' clean --all - cwd: /opt/mambaforge/envs/bioconda/conda-bld/porechop_abi_1685393517776/work - ERROR: Failed cleaning build dir for Porechop-ABI - ERROR: Could not build wheels for Porechop-ABI, which is required to install pyproject.toml-based projects + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/porechop_abi_1717520240785/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/porechop_abi_1717520240785/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/porechop_abi_1717520240785/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/porechop_abi-0.5.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/porechop_abi_1717520240785/work/conda_build.sh']' returned non-zero exit status 1. + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/porechop_abi-0.5.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/porechop_abi-0.5.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/porechop_abi-0.5.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + Using pip 24.0 from $PREFIX/lib/python3.11/site-packages/pip (python 3.11) + Non-user install because user site-packages disabled + Ignoring indexes: https://pypi.org/simple + Created temporary directory: /private/tmp/pip-build-tracker-1pl8dy66 + Initialized build tracking at /private/tmp/pip-build-tracker-1pl8dy66 + Created build tracker: /private/tmp/pip-build-tracker-1pl8dy66 + Entered build tracker: /private/tmp/pip-build-tracker-1pl8dy66 + Created temporary directory: /private/tmp/pip-install-qlg4jful + Created temporary directory: /private/tmp/pip-ephem-wheel-cache-2judixeb + Processing $SRC_DIR + Added file://$SRC_DIR to build tracker '/private/tmp/pip-build-tracker-1pl8dy66' + Running setup.py (path:$SRC_DIR/setup.py) egg_info for package from file://$SRC_DIR + Created temporary directory: /private/tmp/pip-pip-egg-info-vx9saxas + Preparing metadata (setup.py): started + Preparing metadata (setup.py): finished with status 'done' + Source in $SRC_DIR has version 0.5.0, which satisfies requirement Porechop_ABI==0.5.0 from file://$SRC_DIR + Removed Porechop_ABI==0.5.0 from file://$SRC_DIR from build tracker '/private/tmp/pip-build-tracker-1pl8dy66' + Created temporary directory: /private/tmp/pip-unpack-04191cw_ + Building wheels for collected packages: Porechop_ABI + Created temporary directory: /private/tmp/pip-wheel-vn1qtfkb + Building wheel for Porechop_ABI (setup.py): started + Destination directory: /private/tmp/pip-wheel-vn1qtfkb + Building wheel for Porechop_ABI (setup.py): finished with status 'error' + Running setup.py clean for Porechop_ABI + Failed to build Porechop_ABI Exception information: Traceback (most recent call last): - File "$PREFIX/lib/python3.10/site-packages/pip/_internal/cli/base_command.py", line 169, in exc_logging_wrapper + File "$PREFIX/lib/python3.11/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper status = run_func(*args) - File "$PREFIX/lib/python3.10/site-packages/pip/_internal/cli/req_command.py", line 248, in wrapper + ^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.11/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper return func(self, options, args) - File "$PREFIX/lib/python3.10/site-packages/pip/_internal/commands/install.py", line 426, in run + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.11/site-packages/pip/_internal/commands/install.py", line 429, in run raise InstallationError( - pip._internal.exceptions.InstallationError: Could not build wheels for Porechop-ABI, which is required to install pyproject.toml-based projects - Removed build tracker: '/private/tmp/pip-build-tracker-v27hypz0' - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/porechop_abi_1685393517776/work/conda_build.sh']' returned non-zero exit status 1. + pip._internal.exceptions.InstallationError: Could not build wheels for Porechop_ABI, which is required to install pyproject.toml-based projects + Removed build tracker: '/private/tmp/pip-build-tracker-1pl8dy66' # Last 100 lines of the build log. diff --git a/recipes/porechop_abi/meta.yaml b/recipes/porechop_abi/meta.yaml index 3f20ec56866c6..cc54939097ef1 100644 --- a/recipes/porechop_abi/meta.yaml +++ b/recipes/porechop_abi/meta.yaml @@ -9,7 +9,7 @@ source: sha256: b5252b8fc26f750a6625353fe02fdf44c9a58bc9439933921f177735eac07ca3 build: - number: 2 + number: 3 skip: True # [py < 37] script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv entry_points: diff --git a/recipes/portcullis/build_failure.linux-64.yaml b/recipes/portcullis/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..775586c1a4271 --- /dev/null +++ b/recipes/portcullis/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: d0aaa30ccc60f2562527112879403c0e6814363d9d6268da699dd6635a12b072 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/DataChar.cpp -o src/libranger_la-DataChar.o >/dev/null 2>&1 + /bin/sh ./libtool --tag=CXX --mode=compile $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c -o src/libranger_la-Data.lo test -f 'src/Data.cpp' || echo './'src/Data.cpp + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/Data.cpp -fPIC -DPIC -o src/.libs/libranger_la-Data.o + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/Data.cpp -o src/libranger_la-Data.o >/dev/null 2>&1 + /bin/sh ./libtool --tag=CXX --mode=compile $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c -o src/libranger_la-DataDouble.lo test -f 'src/DataDouble.cpp' || echo './'src/DataDouble.cpp + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/DataDouble.cpp -fPIC -DPIC -o src/.libs/libranger_la-DataDouble.o + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/DataDouble.cpp -o src/libranger_la-DataDouble.o >/dev/null 2>&1 + /bin/sh ./libtool --tag=CXX --mode=compile $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c -o src/libranger_la-DataFloat.lo test -f 'src/DataFloat.cpp' || echo './'src/DataFloat.cpp + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/DataFloat.cpp -fPIC -DPIC -o src/.libs/libranger_la-DataFloat.o + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/DataFloat.cpp -o src/libranger_la-DataFloat.o >/dev/null 2>&1 + /bin/sh ./libtool --tag=CXX --mode=compile $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c -o src/libranger_la-ForestClassification.lo test -f 'src/ForestClassification.cpp' || echo './'src/ForestClassification.cpp + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/ForestClassification.cpp -fPIC -DPIC -o src/.libs/libranger_la-ForestClassification.o + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/ForestClassification.cpp -o src/libranger_la-ForestClassification.o >/dev/null 2>&1 + /bin/sh ./libtool --tag=CXX --mode=compile $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c -o src/libranger_la-Forest.lo test -f 'src/Forest.cpp' || echo './'src/Forest.cpp + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/Forest.cpp -fPIC -DPIC -o src/.libs/libranger_la-Forest.o + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/Forest.cpp -o src/libranger_la-Forest.o >/dev/null 2>&1 + /bin/sh ./libtool --tag=CXX --mode=compile $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c -o src/libranger_la-ForestProbability.lo test -f 'src/ForestProbability.cpp' || echo './'src/ForestProbability.cpp + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/ForestProbability.cpp -fPIC -DPIC -o src/.libs/libranger_la-ForestProbability.o + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/ForestProbability.cpp -o src/libranger_la-ForestProbability.o >/dev/null 2>&1 + /bin/sh ./libtool --tag=CXX --mode=compile $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c -o src/libranger_la-ForestRegression.lo test -f 'src/ForestRegression.cpp' || echo './'src/ForestRegression.cpp + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/ForestRegression.cpp -fPIC -DPIC -o src/.libs/libranger_la-ForestRegression.o + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/ForestRegression.cpp -o src/libranger_la-ForestRegression.o >/dev/null 2>&1 + /bin/sh ./libtool --tag=CXX --mode=compile $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c -o src/libranger_la-ForestSurvival.lo test -f 'src/ForestSurvival.cpp' || echo './'src/ForestSurvival.cpp + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/ForestSurvival.cpp -fPIC -DPIC -o src/.libs/libranger_la-ForestSurvival.o + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/ForestSurvival.cpp -o src/libranger_la-ForestSurvival.o >/dev/null 2>&1 + /bin/sh ./libtool --tag=CXX --mode=compile $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c -o src/libranger_la-TreeClassification.lo test -f 'src/TreeClassification.cpp' || echo './'src/TreeClassification.cpp + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/TreeClassification.cpp -fPIC -DPIC -o src/.libs/libranger_la-TreeClassification.o + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/TreeClassification.cpp -o src/libranger_la-TreeClassification.o >/dev/null 2>&1 + /bin/sh ./libtool --tag=CXX --mode=compile $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c -o src/libranger_la-Tree.lo test -f 'src/Tree.cpp' || echo './'src/Tree.cpp + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/Tree.cpp -fPIC -DPIC -o src/.libs/libranger_la-Tree.o + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/Tree.cpp -o src/libranger_la-Tree.o >/dev/null 2>&1 + /bin/sh ./libtool --tag=CXX --mode=compile $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c -o src/libranger_la-TreeProbability.lo test -f 'src/TreeProbability.cpp' || echo './'src/TreeProbability.cpp + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/TreeProbability.cpp -fPIC -DPIC -o src/.libs/libranger_la-TreeProbability.o + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/TreeProbability.cpp -o src/libranger_la-TreeProbability.o >/dev/null 2>&1 + /bin/sh ./libtool --tag=CXX --mode=compile $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c -o src/libranger_la-TreeRegression.lo test -f 'src/TreeRegression.cpp' || echo './'src/TreeRegression.cpp + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/TreeRegression.cpp -fPIC -DPIC -o src/.libs/libranger_la-TreeRegression.o + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/TreeRegression.cpp -o src/libranger_la-TreeRegression.o >/dev/null 2>&1 + /bin/sh ./libtool --tag=CXX --mode=compile $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c -o src/libranger_la-TreeSurvival.lo test -f 'src/TreeSurvival.cpp' || echo './'src/TreeSurvival.cpp + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/TreeSurvival.cpp -fPIC -DPIC -o src/.libs/libranger_la-TreeSurvival.o + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/TreeSurvival.cpp -o src/libranger_la-TreeSurvival.o >/dev/null 2>&1 + /bin/sh ./libtool --tag=CXX --mode=compile $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c -o src/libranger_la-utility.lo test -f 'src/utility.cpp' || echo './'src/utility.cpp + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/utility.cpp -fPIC -DPIC -o src/.libs/libranger_la-utility.o + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -isystem ./include -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c src/utility.cpp -o src/libranger_la-utility.o >/dev/null 2>&1 + /bin/sh ./libtool --tag=CXX --mode=link $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -Wall -Wextra -Wno-unused-parameter -g -g3 -gdwarf-4 -I$PREFIX/include -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/portcullis-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -version-info 3:0:3 -L$PREFIX/lib -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -o libranger.la -rpath $PREFIX/lib src/libranger_la-DataChar.lo src/libranger_la-Data.lo src/libranger_la-DataDouble.lo src/libranger_la-DataFloat.lo src/libranger_la-ForestClassification.lo src/libranger_la-Forest.lo src/libranger_la-ForestProbability.lo src/libranger_la-ForestRegression.lo src/libranger_la-ForestSurvival.lo src/libranger_la-TreeClassification.lo src/libranger_la-Tree.lo src/libranger_la-TreeProbability.lo src/libranger_la-TreeRegression.lo src/libranger_la-TreeSurvival.lo src/libranger_la-utility.lo -lm $PREFIX/lib/libz.a + + *** Warning: Linking the shared library libranger.la against the + *** static library $PREFIX/lib/libz.a is not portable! + libtool: link: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -fPIC -DPIC -shared -nostdlib $BUILD_PREFIX/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib/../lib/crti.o $BUILD_PREFIX/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/crtbeginS.o -Wl,--as-needed src/.libs/libranger_la-DataChar.o src/.libs/libranger_la-Data.o src/.libs/libranger_la-DataDouble.o src/.libs/libranger_la-DataFloat.o src/.libs/libranger_la-ForestClassification.o src/.libs/libranger_la-Forest.o src/.libs/libranger_la-ForestProbability.o src/.libs/libranger_la-ForestRegression.o src/.libs/libranger_la-ForestSurvival.o src/.libs/libranger_la-TreeClassification.o src/.libs/libranger_la-Tree.o src/.libs/libranger_la-TreeProbability.o src/.libs/libranger_la-TreeRegression.o src/.libs/libranger_la-TreeSurvival.o src/.libs/libranger_la-utility.o -L$PREFIX/lib $PREFIX/lib/libz.a -L$BUILD_PREFIX/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0 -L$BUILD_PREFIX/bin/../lib/gcc -L$BUILD_PREFIX/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/lib/../lib -L$BUILD_PREFIX/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../lib -L$BUILD_PREFIX/bin/../x86_64-conda-linux-gnu/sysroot/lib/../lib -L$BUILD_PREFIX/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib/../lib -L$BUILD_PREFIX/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/lib -L$BUILD_PREFIX/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../.. -L$BUILD_PREFIX/bin/../x86_64-conda-linux-gnu/sysroot/lib -L$BUILD_PREFIX/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib -lstdc -lm -lc -lgcc_s $BUILD_PREFIX/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/crtendS.o $BUILD_PREFIX/bin/../x86_64-conda-linux-gnu/sysroot/usr/lib/../lib/crtn.o -g -g3 -gdwarf-4 -march=nocona -mtune=haswell -fstack-protector-strong -O2 -Wl,-O2 -Wl,--sort-common -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath -Wl,$PREFIX/lib -Wl,-rpath-link -Wl,$PREFIX/lib -Wl,-soname -Wl,libranger.so.0 -o .libs/libranger.so.0.3.0 + libtool: link: (cd ".libs" && rm -f "libranger.so.0" && ln -s "libranger.so.0.3.0" "libranger.so.0") + libtool: link: (cd ".libs" && rm -f "libranger.so" && ln -s "libranger.so.0.3.0" "libranger.so") + libtool: link: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar cr .libs/libranger.a $PREFIX/lib/libz.a src/libranger_la-DataChar.o src/libranger_la-Data.o src/libranger_la-DataDouble.o src/libranger_la-DataFloat.o src/libranger_la-ForestClassification.o src/libranger_la-Forest.o src/libranger_la-ForestProbability.o src/libranger_la-ForestRegression.o src/libranger_la-ForestSurvival.o src/libranger_la-TreeClassification.o src/libranger_la-Tree.o src/libranger_la-TreeProbability.o src/libranger_la-TreeRegression.o src/libranger_la-TreeSurvival.o src/libranger_la-utility.o + libtool: link: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib .libs/libranger.a + libtool: link: ( cd ".libs" && rm -f "libranger.la" && ln -s "../libranger.la" "libranger.la" ) + make[3]: Leaving directory '$SRC_DIR/deps/ranger-0.3.8' + make[2]: Leaving directory '$SRC_DIR/deps/ranger-0.3.8' + Making all in lib + make[2]: Entering directory '$SRC_DIR/lib' + /bin/sh ../libtool --tag=CXX --mode=compile $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -I.. -I../deps/htslib-1.3 -I../deps/ranger-0.3.8/include -I../lib/include -DDATADIR=\"$PREFIX/share\" -I$PREFIX/include/python3.9 -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -m64 -Wno-unused-function -Wno-unused-variable -Wno-ignored-qualifiers -Wall -fPIC -g -O2 -std=c11 -c -o src/libportcullis_la-bam_master.lo test -f 'src/bam_master.cc' || echo './'src/bam_master.cc + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -I.. -I../deps/htslib-1.3 -I../deps/ranger-0.3.8/include -I../lib/include -DDATADIR=\"$PREFIX/share\" -I$PREFIX/include/python3.9 -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -m64 -Wno-unused-function -Wno-unused-variable -Wno-ignored-qualifiers -Wall -fPIC -g -O2 -std=c11 -c src/bam_master.cc -fPIC -DPIC -o src/.libs/libportcullis_la-bam_master.o + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -I.. -I../deps/htslib-1.3 -I../deps/ranger-0.3.8/include -I../lib/include -DDATADIR=\"$PREFIX/share\" -I$PREFIX/include/python3.9 -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -m64 -Wno-unused-function -Wno-unused-variable -Wno-ignored-qualifiers -Wall -fPIC -g -O2 -std=c11 -c src/bam_master.cc -o src/libportcullis_la-bam_master.o >/dev/null 2>&1 + /bin/sh ../libtool --tag=CXX --mode=compile $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -I.. -I../deps/htslib-1.3 -I../deps/ranger-0.3.8/include -I../lib/include -DDATADIR=\"$PREFIX/share\" -I$PREFIX/include/python3.9 -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -m64 -Wno-unused-function -Wno-unused-variable -Wno-ignored-qualifiers -Wall -fPIC -g -O2 -std=c11 -c -o src/libportcullis_la-bam_alignment.lo test -f 'src/bam_alignment.cc' || echo './'src/bam_alignment.cc + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -I.. -I../deps/htslib-1.3 -I../deps/ranger-0.3.8/include -I../lib/include -DDATADIR=\"$PREFIX/share\" -I$PREFIX/include/python3.9 -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -m64 -Wno-unused-function -Wno-unused-variable -Wno-ignored-qualifiers -Wall -fPIC -g -O2 -std=c11 -c src/bam_alignment.cc -fPIC -DPIC -o src/.libs/libportcullis_la-bam_alignment.o + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -I.. -I../deps/htslib-1.3 -I../deps/ranger-0.3.8/include -I../lib/include -DDATADIR=\"$PREFIX/share\" -I$PREFIX/include/python3.9 -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -m64 -Wno-unused-function -Wno-unused-variable -Wno-ignored-qualifiers -Wall -fPIC -g -O2 -std=c11 -c src/bam_alignment.cc -o src/libportcullis_la-bam_alignment.o >/dev/null 2>&1 + /bin/sh ../libtool --tag=CXX --mode=compile $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -I.. -I../deps/htslib-1.3 -I../deps/ranger-0.3.8/include -I../lib/include -DDATADIR=\"$PREFIX/share\" -I$PREFIX/include/python3.9 -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -m64 -Wno-unused-function -Wno-unused-variable -Wno-ignored-qualifiers -Wall -fPIC -g -O2 -std=c11 -c -o src/libportcullis_la-bam_reader.lo test -f 'src/bam_reader.cc' || echo './'src/bam_reader.cc + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -I.. -I../deps/htslib-1.3 -I../deps/ranger-0.3.8/include -I../lib/include -DDATADIR=\"$PREFIX/share\" -I$PREFIX/include/python3.9 -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -m64 -Wno-unused-function -Wno-unused-variable -Wno-ignored-qualifiers -Wall -fPIC -g -O2 -std=c11 -c src/bam_reader.cc -fPIC -DPIC -o src/.libs/libportcullis_la-bam_reader.o + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -I.. -I../deps/htslib-1.3 -I../deps/ranger-0.3.8/include -I../lib/include -DDATADIR=\"$PREFIX/share\" -I$PREFIX/include/python3.9 -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -m64 -Wno-unused-function -Wno-unused-variable -Wno-ignored-qualifiers -Wall -fPIC -g -O2 -std=c11 -c src/bam_reader.cc -o src/libportcullis_la-bam_reader.o >/dev/null 2>&1 + /bin/sh ../libtool --tag=CXX --mode=compile $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -I.. -I../deps/htslib-1.3 -I../deps/ranger-0.3.8/include -I../lib/include -DDATADIR=\"$PREFIX/share\" -I$PREFIX/include/python3.9 -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -m64 -Wno-unused-function -Wno-unused-variable -Wno-ignored-qualifiers -Wall -fPIC -g -O2 -std=c11 -c -o src/libportcullis_la-bam_writer.lo test -f 'src/bam_writer.cc' || echo './'src/bam_writer.cc + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -I.. -I../deps/htslib-1.3 -I../deps/ranger-0.3.8/include -I../lib/include -DDATADIR=\"$PREFIX/share\" -I$PREFIX/include/python3.9 -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -m64 -Wno-unused-function -Wno-unused-variable -Wno-ignored-qualifiers -Wall -fPIC -g -O2 -std=c11 -c src/bam_writer.cc -fPIC -DPIC -o src/.libs/libportcullis_la-bam_writer.o + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -I.. -I../deps/htslib-1.3 -I../deps/ranger-0.3.8/include -I../lib/include -DDATADIR=\"$PREFIX/share\" -I$PREFIX/include/python3.9 -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -m64 -Wno-unused-function -Wno-unused-variable -Wno-ignored-qualifiers -Wall -fPIC -g -O2 -std=c11 -c src/bam_writer.cc -o src/libportcullis_la-bam_writer.o >/dev/null 2>&1 + /bin/sh ../libtool --tag=CXX --mode=compile $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -I.. -I../deps/htslib-1.3 -I../deps/ranger-0.3.8/include -I../lib/include -DDATADIR=\"$PREFIX/share\" -I$PREFIX/include/python3.9 -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -m64 -Wno-unused-function -Wno-unused-variable -Wno-ignored-qualifiers -Wall -fPIC -g -O2 -std=c11 -c -o src/libportcullis_la-depth_parser.lo test -f 'src/depth_parser.cc' || echo './'src/depth_parser.cc + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -I.. -I../deps/htslib-1.3 -I../deps/ranger-0.3.8/include -I../lib/include -DDATADIR=\"$PREFIX/share\" -I$PREFIX/include/python3.9 -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -m64 -Wno-unused-function -Wno-unused-variable -Wno-ignored-qualifiers -Wall -fPIC -g -O2 -std=c11 -c src/depth_parser.cc -fPIC -DPIC -o src/.libs/libportcullis_la-depth_parser.o + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -I.. -I../deps/htslib-1.3 -I../deps/ranger-0.3.8/include -I../lib/include -DDATADIR=\"$PREFIX/share\" -I$PREFIX/include/python3.9 -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -m64 -Wno-unused-function -Wno-unused-variable -Wno-ignored-qualifiers -Wall -fPIC -g -O2 -std=c11 -c src/depth_parser.cc -o src/libportcullis_la-depth_parser.o >/dev/null 2>&1 + /bin/sh ../libtool --tag=CXX --mode=compile $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -I.. -I../deps/htslib-1.3 -I../deps/ranger-0.3.8/include -I../lib/include -DDATADIR=\"$PREFIX/share\" -I$PREFIX/include/python3.9 -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -m64 -Wno-unused-function -Wno-unused-variable -Wno-ignored-qualifiers -Wall -fPIC -g -O2 -std=c11 -c -o src/libportcullis_la-genome_mapper.lo test -f 'src/genome_mapper.cc' || echo './'src/genome_mapper.cc + libtool: compile: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DHAVE_CONFIG_H -I. -I.. -I../deps/htslib-1.3 -I../deps/ranger-0.3.8/include -I../lib/include -DDATADIR=\"$PREFIX/share\" -I$PREFIX/include/python3.9 -I$PREFIX/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -m64 -Wno-unused-function -Wno-unused-variable -Wno-ignored-qualifiers -Wall -fPIC -g -O2 -std=c11 -c src/genome_mapper.cc -fPIC -DPIC -o src/.libs/libportcullis_la-genome_mapper.o + In file included from src/genome_mapper.cc:39: + ../lib/include/portcullis/bam/genome_mapper.hpp: In member function 'boost::filesystem::path portcullis::bam::GenomeMapper::getFastaIndexFile() const': + ../lib/include/portcullis/bam/genome_mapper.hpp:82:74: error: 'const class boost::filesystem::path' has no member named 'leaf' + 82 | return path(genomeFile.parent_path()) /= path(genomeFile.leaf().string() ".fai"); + | ^~~~ + make[2]: *** [Makefile:692: src/libportcullis_la-genome_mapper.lo] Error 1 + make[2]: Leaving directory '$SRC_DIR/lib' + make[1]: *** [Makefile:619: all-recursive] Error 1 + make[1]: Leaving directory '$SRC_DIR' + make: *** [Makefile:478: all] Error 2 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/portcullis_1717848438558/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. diff --git a/recipes/portcullis/meta.yaml b/recipes/portcullis/meta.yaml index a6915e678b738..a716dec5892ff 100644 --- a/recipes/portcullis/meta.yaml +++ b/recipes/portcullis/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 9183c4e8108af1e813dbc35e537e16e5d0e13f53ed4c0a36b182c3f8bfcea438 build: - number: 1 + number: 2 skip: True # [osx or py27 or py == 310] requirements: diff --git a/recipes/poseidon-trident/meta.yaml b/recipes/poseidon-trident/meta.yaml index e800846aebcf0..12b4892d889dc 100644 --- a/recipes/poseidon-trident/meta.yaml +++ b/recipes/poseidon-trident/meta.yaml @@ -1,13 +1,17 @@ -{% set version = "1.3.0.4" %} +{% set version = "1.5.4.0" %} package: name: poseidon-trident version: {{ version }} +# documentation of preprocessing selectors: +# https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#preprocessing-selectors source: - url: https://github.com/poseidon-framework/poseidon-hs/releases/download/v{{ version }}/trident-conda-linux # [linux] - md5: 1d1d64e3cf84c3b8d51f5e84401006fa # [linux] - - url: https://github.com/poseidon-framework/poseidon-hs/releases/download/v{{ version }}/trident-macOS # [osx] - md5: e81fd58708cf617955e16b398a245303 # [osx] + md5: 626dc6fde74f532e505bdded4742886f # [linux] + - url: https://github.com/poseidon-framework/poseidon-hs/releases/download/v{{ version }}/trident-macOS-X64 # [osx and x86_64] + md5: 88fc51b50a17cf3c05e66f0a4e701d03 # [osx and x86_64] + - url: https://github.com/poseidon-framework/poseidon-hs/releases/download/v{{ version }}/trident-macOS-ARM64 # [osx and arm64] + md5: 0cc0186736b8a3d380e23bfa242f9a98 # [osx and arm64] build: number: 0 @@ -37,3 +41,7 @@ about: home: https://www.poseidon-adna.org/#/ license: MIT summary: "A tool (trident) to work with modular genotype databases formatted using Poseidon." + +extra: + additional-platforms: + - osx-arm64 diff --git a/recipes/poseidon-xerxes/meta.yaml b/recipes/poseidon-xerxes/meta.yaml index f5211ec3ba3fa..efb89c986c028 100644 --- a/recipes/poseidon-xerxes/meta.yaml +++ b/recipes/poseidon-xerxes/meta.yaml @@ -1,13 +1,13 @@ -{% set version = "1.0.0.2" %} +{% set version = "1.0.1.1" %} package: name: poseidon-xerxes version: {{ version }} source: - - url: https://github.com/poseidon-framework/poseidon-analysis-hs/releases/download/v{{ version }}/xerxes-Linux # [linux] - md5: 4fd78ba70641fa521425cb2b8f30be0b # [linux] - - url: https://github.com/poseidon-framework/poseidon-analysis-hs/releases/download/v{{ version }}/xerxes-macOS # [osx] - md5: 44899bc8bd82d9cb81903de9b3bbb914 # [osx] + - url: https://github.com/poseidon-framework/poseidon-analysis-hs/releases/download/v{{ version }}/xerxes-conda-linux # [linux] + md5: c1165839313a768ac12d1c8dbe7b2f0a # [linux] + - url: https://github.com/poseidon-framework/poseidon-analysis-hs/releases/download/v{{ version }}/xerxes-macOS-X64 # [osx] + md5: f101c7d0448b486b86edc259c7838a92 # [osx] build: number: 0 @@ -34,6 +34,6 @@ test: - xerxes --version about: - home: https://github.com/poseidon-framework/poseidon-analysis-hs + home: https://www.poseidon-adna.org/#/ license: MIT summary: "A tool (xerxes) to analyse genotype databases formatted using Poseidon." diff --git a/recipes/pourrna/meta.yaml b/recipes/pourrna/meta.yaml index 993b810c88dc6..4313accff6e9c 100644 --- a/recipes/pourrna/meta.yaml +++ b/recipes/pourrna/meta.yaml @@ -11,7 +11,9 @@ source: sha256: {{ sha256 }} build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage( name, max_pin="x.x") }} requirements: build: diff --git a/recipes/ppanggolin/build_failure.osx-64.yaml b/recipes/ppanggolin/build_failure.osx-64.yaml deleted file mode 100644 index 20d757b107b46..0000000000000 --- a/recipes/ppanggolin/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 74092adcf87b13ab535378c5bc564efc75087fb2758fc115517175e5e32015f0 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~ - ppanggolin/nem/NEM/nem_exe.c:1165:18: error: incompatible pointer to integer conversion assigning to 'int' from 'void *' [-Wint-conversion] - ErrinfoP->Kr = NULL ; - ^ ~~~~ - 8 warnings and 1 error generated. - error: command '/opt/mambaforge/envs/bioconda/conda-bld/ppanggolin_1685395858204/_build_env/bin/x86_64-apple-darwin13.4.0-clang' failed with exit code 1 - error: subprocess-exited-with-error - - python setup.py bdist_wheel did not run successfully. - exit code: 1 - > See above for output. - - note: This error originates from a subprocess, and is likely not a problem with pip. - full command: /opt/mambaforge/envs/bioconda/conda-bld/ppanggolin_1685395858204/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/bin/python -u -c ' - exec(compile('"'"''"'"''"'"' - # This is -- a caller that pip uses to run setup.py - # - # - It imports setuptools before invoking setup.py, to enable projects that directly - # import from distutils.core to work with newer packaging standards. - # - It provides a clear error message when setuptools is not installed. - # - It sets sys.argv[0] to the underlying setup.py, when invoking setup.py so - # setuptools doesn'"'"'t think the script is -c. This avoids the following warning: - Building wheel for ppanggolin (setup.py): finished with status 'error' - Running setup.py clean for ppanggolin - # manifest_maker: standard file '"'"'-c'"'"' not found". - # - It generates a shim setup.py, for handling setup.cfg-only projects. - import os, sys, tokenize - - try: - import setuptools - except ImportError as error: - print( - "ERROR: Can not execute setup.py since setuptools is not available in " - "the build environment.", - file=sys.stderr, - ) - sys.exit(1) - - __file__ = %r - sys.argv[0] = __file__ - - if os.path.exists(__file__): - filename = __file__ - with tokenize.open(__file__) as f: - setup_py_code = f.read() - else: - filename = "" - setup_py_code = "from setuptools import setup; setup()" - - exec(compile(setup_py_code, filename, "exec")) - '"'"''"'"''"'"' % ('"'"'/opt/mambaforge/envs/bioconda/conda-bld/ppanggolin_1685395858204/work/setup.py'"'"',), "", "exec"))' bdist_wheel -d /private/tmp/pip-wheel-fwjzgj1p - cwd: /opt/mambaforge/envs/bioconda/conda-bld/ppanggolin_1685395858204/work/ - ERROR: Failed building wheel for ppanggolin - Running command python setup.py clean - /opt/mambaforge/envs/bioconda/conda-bld/ppanggolin_1685395858204/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/python3.9/site-packages/setuptools/__init__.py:84: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. - !! - - ******************************************************************************** - Requirements should be satisfied by a PEP 517 installer. - If you are using pip, you can try pip install --use-pep517. - ******************************************************************************** - - !! - dist.fetch_build_eggs(dist.setup_requires) - running clean - removing 'build/temp.macosx-10.9-x86_64-cpython-39' (and everything under it) - removing 'build/lib.macosx-10.9-x86_64-cpython-39' (and everything under it) - 'build/bdist.macosx-10.9-x86_64' does not exist -- can't clean it - 'build/scripts-3.9' does not exist -- can't clean it - removing 'build' - Failed to build ppanggolin - ERROR: Could not build wheels for ppanggolin, which is required to install pyproject.toml-based projects - Exception information: - Traceback (most recent call last): - File "$PREFIX/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 169, in exc_logging_wrapper - status = run_func(*args) - File "$PREFIX/lib/python3.9/site-packages/pip/_internal/cli/req_command.py", line 248, in wrapper - return func(self, options, args) - File "$PREFIX/lib/python3.9/site-packages/pip/_internal/commands/install.py", line 426, in run - raise InstallationError( - pip._internal.exceptions.InstallationError: Could not build wheels for ppanggolin, which is required to install pyproject.toml-based projects - Removed build tracker: '/private/tmp/pip-build-tracker-2ptecnpn' - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/ppanggolin_1685395858204/work/conda_build.sh']' returned non-zero exit status 1. -# Last 100 lines of the build log. diff --git a/recipes/ppanggolin/meta.yaml b/recipes/ppanggolin/meta.yaml index 4e0712795ef53..0f5d28be758ff 100644 --- a/recipes/ppanggolin/meta.yaml +++ b/recipes/ppanggolin/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.2.105" %} +{% set version = "2.1.2" %} package: name: ppanggolin @@ -6,36 +6,38 @@ package: source: url: https://github.com/labgem/PPanGGOLiN/archive/{{ version }}.tar.gz - sha256: 410a51029302d9aae534846fc5dde9c01c17aa63ae91c9d48db47e399d2d2a47 + sha256: ecb5cc4bc4db3a1e842a4085d6aec3a25a12513215523797723e325f96d1158d build: number: 1 - skip: True # [py<37] + run_exports: + - {{ pin_subpackage("ppanggolin", max_pin="x") }} requirements: build: - {{ compiler('c') }} + host: - python - pip - - cython + - cython <3 run: - - python + - python >=3.8,<=3.12 - tqdm =4 - pytables =3 - - prodigal =2.6 + - pyrodigal =3 - aragorn =1.2 - infernal =1.1 - mmseqs2 - - networkx =2 + - networkx =3 - scipy =1 - - plotly =4 + - plotly =5 - gmpy2 =2 - numpy =1 - - pandas =1 + - pandas =2 - colorlover =0.3 - mafft - - bokeh =2 + - bokeh =3 test: commands: @@ -48,9 +50,13 @@ test: about: license: CeCiLL 2.1 home: https://github.com/labgem/PPanGGOLiN + doc_url: https://ppanggolin.readthedocs.io summary: "PPanGGOLiN: Depicting microbial species diversity via a Partitioned PanGenome Graph" extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - axbazin - jpjarnoux + - JeanMainguy diff --git a/recipes/ppx/meta.yaml b/recipes/ppx/meta.yaml index 645d249430539..468bdacc12df0 100644 --- a/recipes/ppx/meta.yaml +++ b/recipes/ppx/meta.yaml @@ -1,5 +1,5 @@ {% set name = "ppx" %} -{% set version = "1.3.0" %} +{% set version = "1.4.4" %} package: name: "{{ name|lower }}" @@ -7,22 +7,24 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: a94f94071fca29e98fc13e4a306fc0c4c1deee2306dea9680e8a292a5c8b4376 + sha256: 97eacbc9272faf98ab2fa16f0949eb55bd0eab5cecf9e8381321e754808e2cd8 build: number: 0 noarch: python entry_points: - ppx = ppx.ppx:main - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('ppx', max_pin="x") }} requirements: host: - pip - - python >=3.7 + - python >=3.10 - setuptools_scm >=6.4.2 run: - - python >=3.7 + - python >=3.10 - requests >=2.23.0 - tqdm >=4.60.0 - cloudpathlib >=0.7.1 @@ -36,6 +38,7 @@ test: about: home: "https://github.com/wfondrie/ppx" license: MIT + license_family: MIT license_file: LICENSE summary: "A Python interface to proteomics data repositories" doc_url: "https://ppx.readthedocs.io" diff --git a/recipes/prank/LICENSE.md b/recipes/prank/LICENSE.md new file mode 100644 index 0000000000000..51bbbe9e109b1 --- /dev/null +++ b/recipes/prank/LICENSE.md @@ -0,0 +1,619 @@ +### GNU GENERAL PUBLIC LICENSE + +Version 3, 29 June 2007 + +Copyright (C) 2007 Free Software Foundation, Inc. + + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. + +### Preamble + +The GNU General Public License is a free, copyleft license for +software and other kinds of works. + +The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom +to share and change all versions of a program--to make sure it remains +free software for all its users. We, the Free Software Foundation, use +the GNU General Public License for most of our software; it applies +also to any other work released this way by its authors. You can apply +it to your programs, too. + +When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + +To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you +have certain responsibilities if you distribute copies of the +software, or if you modify it: responsibilities to respect the freedom +of others. + +For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + +Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + +For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + +Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the +manufacturer can do so. This is fundamentally incompatible with the +aim of protecting users' freedom to change the software. The +systematic pattern of such abuse occurs in the area of products for +individuals to use, which is precisely where it is most unacceptable. +Therefore, we have designed this version of the GPL to prohibit the +practice for those products. If such problems arise substantially in +other domains, we stand ready to extend this provision to those +domains in future versions of the GPL, as needed to protect the +freedom of users. + +Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish +to avoid the special danger that patents applied to a free program +could make it effectively proprietary. To prevent this, the GPL +assures that patents cannot be used to render the program non-free. + +The precise terms and conditions for copying, distribution and +modification follow. + +### TERMS AND CONDITIONS + +#### 0. Definitions. + +"This License" refers to version 3 of the GNU General Public License. + +"Copyright" also means copyright-like laws that apply to other kinds +of works, such as semiconductor masks. + +"The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + +To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of +an exact copy. The resulting work is called a "modified version" of +the earlier work or a work "based on" the earlier work. + +A "covered work" means either the unmodified Program or a work based +on the Program. + +To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + +To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user +through a computer network, with no transfer of a copy, is not +conveying. + +An interactive user interface displays "Appropriate Legal Notices" to +the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + +#### 1. Source Code. + +The "source code" for a work means the preferred form of the work for +making modifications to it. "Object code" means any non-source form of +a work. + +A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + +The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + +The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + +The Corresponding Source need not include anything that users can +regenerate automatically from other parts of the Corresponding Source. + +The Corresponding Source for a work in source code form is that same +work. + +#### 2. Basic Permissions. + +All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + +You may make, run and propagate covered works that you do not convey, +without conditions so long as your license otherwise remains in force. +You may convey covered works to others for the sole purpose of having +them make modifications exclusively for you, or provide you with +facilities for running those works, provided that you comply with the +terms of this License in conveying all material for which you do not +control copyright. Those thus making or running the covered works for +you must do so exclusively on your behalf, under your direction and +control, on terms that prohibit them from making any copies of your +copyrighted material outside their relationship with you. + +Conveying under any other circumstances is permitted solely under the +conditions stated below. Sublicensing is not allowed; section 10 makes +it unnecessary. + +#### 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + +No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + +When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such +circumvention is effected by exercising rights under this License with +respect to the covered work, and you disclaim any intention to limit +operation or modification of the work as a means of enforcing, against +the work's users, your or third parties' legal rights to forbid +circumvention of technological measures. + +#### 4. Conveying Verbatim Copies. + +You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + +You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + +#### 5. Conveying Modified Source Versions. + +You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these +conditions: + +- a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. +- b) The work must carry prominent notices stating that it is + released under this License and any conditions added under + section 7. This requirement modifies the requirement in section 4 + to "keep intact all notices". +- c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. +- d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + +A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + +#### 6. Conveying Non-Source Forms. + +You may convey a covered work in object code form under the terms of +sections 4 and 5, provided that you also convey the machine-readable +Corresponding Source under the terms of this License, in one of these +ways: + +- a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. +- b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the Corresponding + Source from a network server at no charge. +- c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. +- d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. +- e) Convey the object code using peer-to-peer transmission, + provided you inform other peers where the object code and + Corresponding Source of the work are being offered to the general + public at no charge under subsection 6d. + +A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + +A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, +family, or household purposes, or (2) anything designed or sold for +incorporation into a dwelling. In determining whether a product is a +consumer product, doubtful cases shall be resolved in favor of +coverage. For a particular product received by a particular user, +"normally used" refers to a typical or common use of that class of +product, regardless of the status of the particular user or of the way +in which the particular user actually uses, or expects or is expected +to use, the product. A product is a consumer product regardless of +whether the product has substantial commercial, industrial or +non-consumer uses, unless such uses represent the only significant +mode of use of the product. + +"Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to +install and execute modified versions of a covered work in that User +Product from a modified version of its Corresponding Source. The +information must suffice to ensure that the continued functioning of +the modified object code is in no case prevented or interfered with +solely because modification has been made. + +If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + +The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or +updates for a work that has been modified or installed by the +recipient, or for the User Product in which it has been modified or +installed. Access to a network may be denied when the modification +itself materially and adversely affects the operation of the network +or violates the rules and protocols for communication across the +network. + +Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + +#### 7. Additional Terms. + +"Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + +When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + +Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders +of that material) supplement the terms of this License with terms: + +- a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or +- b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or +- c) Prohibiting misrepresentation of the origin of that material, + or requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or +- d) Limiting the use for publicity purposes of names of licensors + or authors of the material; or +- e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or +- f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions + of it) with contractual assumptions of liability to the recipient, + for any liability that these contractual assumptions directly + impose on those licensors and authors. + +All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + +If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + +Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; the +above requirements apply either way. + +#### 8. Termination. + +You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + +However, if you cease all violation of this License, then your license +from a particular copyright holder is reinstated (a) provisionally, +unless and until the copyright holder explicitly and finally +terminates your license, and (b) permanently, if the copyright holder +fails to notify you of the violation by some reasonable means prior to +60 days after the cessation. + +Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + +Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + +#### 9. Acceptance Not Required for Having Copies. + +You are not required to accept this License in order to receive or run +a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + +#### 10. Automatic Licensing of Downstream Recipients. + +Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + +An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + +You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + +#### 11. Patents. + +A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + +A contributor's "essential patent claims" are all patent claims owned +or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + +Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + +In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + +If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + +If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + +A patent license is "discriminatory" if it does not include within the +scope of its coverage, prohibits the exercise of, or is conditioned on +the non-exercise of one or more of the rights that are specifically +granted under this License. You may not convey a covered work if you +are a party to an arrangement with a third party that is in the +business of distributing software, under which you make payment to the +third party based on the extent of your activity of conveying the +work, and under which the third party grants, to any of the parties +who would receive the covered work from you, a discriminatory patent +license (a) in connection with copies of the covered work conveyed by +you (or copies made from those copies), or (b) primarily for and in +connection with specific products or compilations that contain the +covered work, unless you entered into that arrangement, or that patent +license was granted, prior to 28 March 2007. + +Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + +#### 12. No Surrender of Others' Freedom. + +If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under +this License and any other pertinent obligations, then as a +consequence you may not convey it at all. For example, if you agree to +terms that obligate you to collect a royalty for further conveying +from those to whom you convey the Program, the only way you could +satisfy both those terms and this License would be to refrain entirely +from conveying the Program. + +#### 13. Use with the GNU Affero General Public License. + +Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + +#### 14. Revised Versions of this License. + +The Free Software Foundation may publish revised and/or new versions +of the GNU General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in +detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies that a certain numbered version of the GNU General Public +License "or any later version" applies to it, you have the option of +following the terms and conditions either of that numbered version or +of any later version published by the Free Software Foundation. If the +Program does not specify a version number of the GNU General Public +License, you may choose any version ever published by the Free +Software Foundation. + +If the Program specifies that a proxy can decide which future versions +of the GNU General Public License can be used, that proxy's public +statement of acceptance of a version permanently authorizes you to +choose that version for the Program. + +Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + +#### 15. Disclaimer of Warranty. + +THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT +WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND +PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE +DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR +CORRECTION. + +#### 16. Limitation of Liability. + +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR +CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT +NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR +LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM +TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER +PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +#### 17. Interpretation of Sections 15 and 16. + +If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + +END OF TERMS AND CONDITIONS diff --git a/recipes/prank/meta.yaml b/recipes/prank/meta.yaml index 5960392c08e83..9e752eaedf3f2 100644 --- a/recipes/prank/meta.yaml +++ b/recipes/prank/meta.yaml @@ -1,19 +1,20 @@ package: name: prank - version: "v.170427" + version: "170427" source: url: http://wasabiapp.org/download/prank/prank.source.170427.tgz sha256: 623eb5e9b5cb0be1f49c3bf715e5fabceb1059b21168437264bdcd5c587a8859 build: - number: 7 + number: 0 + run_exports: + - {{ pin_subpackage('prank', max_pin="x.x") }} requirements: build: - make - {{ compiler('cxx') }} - run: test: commands: @@ -21,10 +22,14 @@ test: about: home: http://wasabiapp.org/software/prank/ - license: GPL-3 + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE.md summary: PRANK is a probabilistic multiple alignment program for DNA, codon and amino-acid sequences. extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:prank - doi:10.1007/978-1-62703-646-7_10 diff --git a/recipes/prequal/meta.yaml b/recipes/prequal/meta.yaml index 043f0dd9ef8cc..e9fc9dfc88731 100644 --- a/recipes/prequal/meta.yaml +++ b/recipes/prequal/meta.yaml @@ -9,7 +9,7 @@ source: sha256: a46bb03fe6831ac8435e32cbfd108b6f5761357a555b44ca91266f0d4f5422f3 build: - number: 5 + number: 6 requirements: build: diff --git a/recipes/preseq/meta.yaml b/recipes/preseq/meta.yaml index b6726b24549a3..462b966c1500e 100644 --- a/recipes/preseq/meta.yaml +++ b/recipes/preseq/meta.yaml @@ -5,7 +5,9 @@ package: version: {{ version }} build: - number: 5 + number: 6 + run_exports: + - {{ pin_subpackage("preseq", max_pin="x.x") }} source: url: https://github.com/smithlabcode/preseq/releases/download/v{{ version }}/preseq-{{ version }}.tar.gz @@ -38,5 +40,7 @@ test: - to-mr extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - andrewdavidsmith diff --git a/recipes/presto/build.sh b/recipes/presto/build.sh deleted file mode 100755 index 4899c226c8dd0..0000000000000 --- a/recipes/presto/build.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -$PYTHON setup.py install --single-version-externally-managed --record=record.txt - -# Add more build steps here, if they are necessary. - -# See -# http://docs.continuum.io/conda/build.html -# for a list of environment variables that are set during the build process. diff --git a/recipes/presto/meta.yaml b/recipes/presto/meta.yaml index 8db5c41676eea..e3fdd0365f366 100644 --- a/recipes/presto/meta.yaml +++ b/recipes/presto/meta.yaml @@ -1,19 +1,26 @@ +{% set name = "presto" %} +{% set version = "0.7.2" %} +{% set sha256 = "b4f4b34413af4207eb2052316d31d7bc2067b864286498476d89013ad5423dd9" %} + package: - name: presto - version: "0.7.1" + name: {{ name }} + version: {{ version }} source: - url: https://files.pythonhosted.org/packages/ca/12/09123b431758827082924054e03277207067853c6af19803f67d1ad1dea9/presto-0.7.1.tar.gz - sha256: 8b5787b3a3206fda5e5cd0fd1804a6c0ecb8821f9de2b78d9a5e5a5a31ba43e9 + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/presto-{{ version }}.tar.gz + sha256: {{ sha256 }} build: number: 0 noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation + run_exports: + - {{ pin_subpackage('presto', max_pin="x.x") }} requirements: host: - python >=3 - - setuptools + - pip run: - python >=3 - numpy >=1.8 @@ -23,6 +30,7 @@ requirements: - blast >=2.5 - muscle >=3.8 - vsearch >=2.3.2 + - packaging test: commands: @@ -41,7 +49,12 @@ test: - SplitSeq.py --version about: - home: https://presto.readthedocs.io - license: AGPL-3.0 + home: https://bitbucket.org/kleinstein/presto + license: AGPL-3.0-or-later summary: 'A bioinformatics toolkit for processing high-throughput lymphocyte receptor sequencing data.' license_family: AGPL + doc_url: https://presto.readthedocs.io + +extra: + identifier: + - doi:10.1093/bioinformatics/btu138 diff --git a/recipes/primer3-py/build.sh b/recipes/primer3-py/build.sh index 4a58171466a07..b1f1ebe131016 100755 --- a/recipes/primer3-py/build.sh +++ b/recipes/primer3-py/build.sh @@ -1,4 +1,4 @@ #!/bin/bash sed -i.bak '/^CC /d' primer3/src/libprimer3/Makefile -$PYTHON -m pip install . --use-pep517 --no-deps -vvv +$PYTHON -m pip install . --use-pep517 --no-deps --no-build-isolation -vvv diff --git a/recipes/primer3-py/meta.yaml b/recipes/primer3-py/meta.yaml index c791ccfc63b4f..6e59d2ae15ff7 100644 --- a/recipes/primer3-py/meta.yaml +++ b/recipes/primer3-py/meta.yaml @@ -1,5 +1,5 @@ {% set name = "primer3-py" %} -{% set version = "2.0.1" %} +{% set version = "2.0.3" %} package: name: {{ name|lower }} @@ -7,10 +7,10 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/primer3-py-{{ version }}.tar.gz - sha256: 30b549c568ae5712e3e6cde6c1f5b243f328247ec8d6ec89d4b705873a44e772 + sha256: 1ec6ce99ea149b1c82361c654a0eab824e698ce32d5f9ed2dd8f8f37564b3f5f build: - number: 0 + number: 3 run_exports: - {{ pin_subpackage('primer3-py', max_pin="x") }} @@ -18,13 +18,14 @@ requirements: build: - {{ compiler('c') }} - make + - llvm-openmp # [osx] host: - - python >=3.8 + - python - cython - setuptools >=65.6.3 - pip run: - - python >=3.8 + - python test: imports: @@ -34,10 +35,15 @@ about: home: https://github.com/libnano/primer3-py summary: Python bindings for Primer3 license: GPL-2.0-only - license_family: GPL + license_family: GPL2 license_file: LICENSE doc_url: https://libnano.github.io/primer3-py/ + extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - bgruening + - akikuno diff --git a/recipes/primer3/build.sh b/recipes/primer3/build.sh index dd888f060ecd4..690390f0d5b4c 100644 --- a/recipes/primer3/build.sh +++ b/recipes/primer3/build.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -xe + export CFLAGS="-I$PREFIX/include" export LDFLAGS="-L$PREFIX/lib" export CPATH=${PREFIX}/include @@ -7,5 +9,5 @@ export CPATH=${PREFIX}/include mkdir -p $PREFIX/bin mkdir -p $PREFIX/share cd src -make CC=$CC CXX=$CXX +make -j ${CPU_COUNT} CC=$CC CXX=$CXX make PREFIX=${PREFIX} CC=$CC CXX=$CXX install diff --git a/recipes/primer3/meta.yaml b/recipes/primer3/meta.yaml index 07fa58ad0ce4d..fab1baf1e1cce 100644 --- a/recipes/primer3/meta.yaml +++ b/recipes/primer3/meta.yaml @@ -6,7 +6,9 @@ package: version: {{ version }} build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} source: url: https://github.com/primer3-org/primer3/archive/v{{ version }}.tar.gz @@ -33,6 +35,8 @@ about: summary: 'Design PCR primers from DNA sequence. From mispriming libraries to sequence quality data to the generation of internal oligos, primer3 does it.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:primer3 - doi:10.1093/nar/gks596 diff --git a/recipes/primerforge/meta.yaml b/recipes/primerforge/meta.yaml new file mode 100644 index 0000000000000..ee7e23d85787f --- /dev/null +++ b/recipes/primerforge/meta.yaml @@ -0,0 +1,46 @@ +{% set name = "primerForge" %} +{% set version = "1.1.1" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: https://github.com/dr-joe-wirth/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: b13a26e006f7790f80937178a311cfbb95a9f69ee8ab97a0d21139bd197fec13 + +build: + number: 0 + noarch: python + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + entry_points: + - primerForge=bin.main:main + run_exports: + - {{ pin_subpackage('primerforge', max_pin="x.x") }} + +requirements: + host: + - python >=3.11 + - pip + run: + - python >=3.11 + - biopython ==1.81 + - numpy + - primer3-py >=2.0 + - scipy >=1.10 + +test: + commands: + - primerForge --help + - primerForge --check_install + +about: + home: https://github.com/dr-joe-wirth/{{ name }} + license: Apache-2.0 + license_family: Apache + license_file: LICENSE + summary: "primerForge: software to identify primers that can be used to distinguish genomes" + +extra: + recipe-maintainers: + - dr-joe-wirth diff --git a/recipes/primers/0001-directly-write-requirements-in-setup.py.patch b/recipes/primers/0001-directly-write-requirements-in-setup.py.patch new file mode 100644 index 0000000000000..bdbba3ec8a854 --- /dev/null +++ b/recipes/primers/0001-directly-write-requirements-in-setup.py.patch @@ -0,0 +1,26 @@ +From d1878dbc60b3e4db625f2b3b320c031fe8bfabb6 Mon Sep 17 00:00:00 2001 +From: tpob +Date: Mon, 8 Apr 2024 19:39:30 +0800 +Subject: [PATCH] directly write requirements in setup.py + +--- + setup.py | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/setup.py b/setup.py +index 2750b76..94ac0bf 100644 +--- a/setup.py ++++ b/setup.py +@@ -7,8 +7,7 @@ from setuptools import setup, find_packages + with open("README.md", "r") as fh: + long_description = fh.read() + +-with open("requirements.txt") as f: +- requirements = f.read().splitlines() ++requirements = ["seqfold>=0.7.3"] + + try: + require("setuptools>=38.3") +-- +2.31.1 + diff --git a/recipes/primers/meta.yaml b/recipes/primers/meta.yaml new file mode 100644 index 0000000000000..1eec7202a9635 --- /dev/null +++ b/recipes/primers/meta.yaml @@ -0,0 +1,40 @@ +{% set name = "primers" %} +{% set version = "0.5.10" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: 3ff2cd4c27a47326faeb8e54f36649752e6905109fdd3b22b90c2c167233f060 + patches: + - 0001-directly-write-requirements-in-setup.py.patch + +build: + number: 0 + noarch: python + script: "{{ PYTHON }} -m pip install . -vv" + run_exports: + - {{ pin_subpackage('primers', max_pin="x.x") }} + +requirements: + host: + - pip + - python =3 + - setuptools + + run: + - python =3 + - seqfold >=0.7.3 + +test: + imports: + - primers + +about: + home: "https://github.com/Lattice-Automation/primers" + license: MIT + license_file: LICENSE + summary: "This is a small, straightforward tool for creating PCR primers. Its target use-case is DNA assembly." + doc_url: "https://github.com/Lattice-Automation/primers" diff --git a/recipes/prinseq-plus-plus/build_failure.osx-64.yaml b/recipes/prinseq-plus-plus/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..b97154672bd28 --- /dev/null +++ b/recipes/prinseq-plus-plus/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 2090336535d2a66c3424d552d85f258d260d4d60b64855f38ee4238515d91532 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/prinseq-plus-plus-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/prinseq-plus-plus-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + checking whether the C compiler works... yes + checking for C compiler default output file name... a.out + checking for suffix of executables... + checking whether we are cross compiling... no + checking for suffix of object files... o + checking whether the compiler supports GNU C... yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... yes + checking for x86_64-apple-darwin13.4.0-clang option to enable C11 features... none needed + checking whether x86_64-apple-darwin13.4.0-clang supports C11 features by default... yes + checking whether the compiler supports GNU C... (cached) yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... (cached) yes + checking for x86_64-apple-darwin13.4.0-clang option to enable C11 features... (cached) none needed + checking for a BSD-compatible install... /usr/bin/install -c + checking build system type... x86_64-apple-darwin13.4.0 + checking host system type... x86_64-apple-darwin13.4.0 + checking for boostlib >= 1.41 (104100) includes in "$PREFIX/include"... yes + checking for boostlib >= 1.41 (104100) lib path in "$PREFIX/lib/x86_64-darwin13.4.0"... no + checking for boostlib >= 1.41 (104100) lib path in "$PREFIX/lib64"... no + checking for boostlib >= 1.41 (104100) lib path in "$PREFIX/libx32"... no + checking for boostlib >= 1.41 (104100) lib path in "$PREFIX/lib"... yes + checking for boostlib >= 1.41 (104100)... yes + checking for x86_64-apple-darwin13.4.0-gcc... x86_64-apple-darwin13.4.0-clang + checking whether the compiler supports GNU C... yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... yes + checking for x86_64-apple-darwin13.4.0-clang option to enable C11 features... none needed + checking whether the Boost::System library is available... yes + checking for exit in -lboost_system... yes + checking whether the Boost::Filesystem library is available... yes + checking for exit in -lboost_filesystem... yes + checking whether the Boost::IOStreams library is available... yes + checking for exit in -lboost_iostreams... yes + checking for stdio.h... yes + checking for stdlib.h... yes + checking for string.h... yes + checking for inttypes.h... yes + checking for stdint.h... yes + checking for strings.h... yes + checking for sys/stat.h... yes + checking for sys/types.h... yes + checking for unistd.h... yes + checking if zlib is wanted... yes + checking for inflateEnd in -lz... yes + checking for zlib.h... yes + checking for a sed that does not truncate output... /usr/bin/sed + checking how to run the C preprocessor... x86_64-apple-darwin13.4.0-clang -E + checking for grep that handles long lines and -e... /usr/bin/grep + checking for egrep... /usr/bin/grep -E + checking whether x86_64-apple-darwin13.4.0-clang is Clang... yes + checking whether Clang needs flag to prevent "argument unused" warning when linking with -pthread... no + checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE + checking whether more special flags are required for pthreads... no + checking for PTHREAD_PRIO_INHERIT... yes + checking for stdlib.h... (cached) yes + checking for unistd.h... (cached) yes + checking for _Bool... no + checking for stdbool.h that conforms to C99... yes + configure: creating ./config.status + config.status: creating Makefile + config.status: creating src/Makefile + config.status: creating README.md + config.status: creating config.h + cd src && make all + make[1]: Entering directory '$SRC_DIR/src' + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/prinseq-plus-plus-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -pthread -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -c -o main.o main.cpp + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/prinseq-plus-plus-1.2.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -pthread -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -c -o reads.o reads.cpp + make[1]: Leaving directory '$SRC_DIR/src' + cd src && make install + make[1]: Entering directory '$SRC_DIR/src' + install -d $PREFIX/bin + install -m 0775 prinseq $PREFIX/bin + make[1]: Leaving directory '$SRC_DIR/src' +# Last 100 lines of the build log. diff --git a/recipes/prinseq-plus-plus/meta.yaml b/recipes/prinseq-plus-plus/meta.yaml index eb70080fe2d7b..00785a0089dcb 100644 --- a/recipes/prinseq-plus-plus/meta.yaml +++ b/recipes/prinseq-plus-plus/meta.yaml @@ -10,7 +10,7 @@ source: sha256: {{ sha256 }} build: - number: 4 + number: 5 requirements: build: diff --git a/recipes/probeit/meta.yaml b/recipes/probeit/meta.yaml index 74a714a056acc..d58fd58c535d6 100644 --- a/recipes/probeit/meta.yaml +++ b/recipes/probeit/meta.yaml @@ -7,7 +7,7 @@ package: build: skip: true # [py2k] - number: 2 + number: 3 source: url: "https://github.com/steineggerlab/probeit/archive/refs/tags/v{{ version }}.tar.gz" diff --git a/recipes/prodigal/meta.yaml b/recipes/prodigal/meta.yaml index f8c5bcbcff963..054aa0a7d3ba8 100644 --- a/recipes/prodigal/meta.yaml +++ b/recipes/prodigal/meta.yaml @@ -5,16 +5,23 @@ package: source: url: https://github.com/hyattpd/Prodigal/archive/v2.6.3.zip sha256: 4f73f64ea09be8421e08afabdc641db7775632210f5ef896f5fab4604c9dfcd9 + patches: + # accepted PR https://github.com/hyattpd/Prodigal/pull/88 + - score_nodes.patch + # accepted PR https://github.com/hyattpd/Prodigal/pull/100 + - sd_motif_A.patch + - sd_motif_B.patch build: - number: 6 + number: 9 + run_exports: + - {{ pin_subpackage('prodigal', max_pin=None) }} requirements: build: - make - {{ compiler('c') }} - unzip - run: test: commands: @@ -22,5 +29,10 @@ test: about: home: http://prodigal.ornl.gov/ + dev_url: https://github.com/hyattpd/Prodigal license: GPL v3 summary: Prodigal (Prokaryotic Dynamic Programming Genefinding Algorithm) is a microbial (bacterial and archaeal) gene finding program + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/prodigal/score_nodes.patch b/recipes/prodigal/score_nodes.patch new file mode 100644 index 0000000000000..890a7ef773286 --- /dev/null +++ b/recipes/prodigal/score_nodes.patch @@ -0,0 +1,32 @@ +From b34b63b17f712aedb371a70eccf6660c3e524808 Mon Sep 17 00:00:00 2001 +From: Martin Larralde +Date: Sun, 12 Sep 2021 14:30:12 +0200 +Subject: [PATCH] Fix typo in `score_nodes` function of `node.c` +URL: https://github.com/hyattpd/Prodigal/pull/88 + +--- + node.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/node.c b/node.c +index 5f7ccc4..7438dfb 100644 +--- a/node.c ++++ b/node.c +@@ -487,7 +487,7 @@ void score_nodes(unsigned char *seq, unsigned char *rseq, int slen, + /* genes are also penalized. */ + /**************************************************************/ + if(is_meta == 1 && slen < 3000 && edge_gene == 0 && +- (nod[i].cscore < 5.0 || abs(nod[i].ndx-nod[i].stop_val < 120))) { ++ (nod[i].cscore < 5.0 || abs(nod[i].ndx-nod[i].stop_val) < 120)) { + nod[i].cscore -= META_PEN*dmax(0, (3000-slen)/2700.0); + } + +@@ -515,7 +515,7 @@ void score_nodes(unsigned char *seq, unsigned char *rseq, int slen, + else nod[i].sscore -= 0.5; + } + else if(nod[i].cscore < 5.0 && is_meta == 1 && abs(nod[i].ndx- +- nod[i].stop_val < 120) && nod[i].sscore < 0.0) ++ nod[i].stop_val) < 120 && nod[i].sscore < 0.0) + nod[i].sscore -= tinf->st_wt; + } + } diff --git a/recipes/prodigal/sd_motif_A.patch b/recipes/prodigal/sd_motif_A.patch new file mode 100644 index 0000000000000..972921686fcc4 --- /dev/null +++ b/recipes/prodigal/sd_motif_A.patch @@ -0,0 +1,32 @@ +From 7b8614dced6b431d872b6e8c8d5d62566caa0214 Mon Sep 17 00:00:00 2001 +From: Martin Larralde +Date: Fri, 27 Jan 2023 17:54:59 +0100 +Subject: [PATCH] Fix buffer initialization in SD motif detection code +URL: https://github.com/hyattpd/Prodigal/pull/100 + +--- + sequence.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/sequence.c b/sequence.c +index d5c8436..b2be997 100644 +--- a/sequence.c ++++ b/sequence.c +@@ -663,7 +663,7 @@ int shine_dalgarno_exact(unsigned char *seq, int pos, int start, double *rwt) { + double match[6], cur_ctr, dis_flag; + + limit = imin(6, start-4-pos); +- for(i = limit; i < 6; i++) match[i] = -10.0; ++ for(i = 0; i < 6; i++) match[i] = -10.0; + + /* Compare the 6-base region to AGGAGG */ + for(i = 0; i < limit; i++) { +@@ -739,7 +739,7 @@ int shine_dalgarno_mm(unsigned char *seq, int pos, int start, double *rwt) { + double match[6], cur_ctr, dis_flag; + + limit = imin(6, start-4-pos); +- for(i = limit; i < 6; i++) match[i] = -10.0; ++ for(i = 0; i < 6; i++) match[i] = -10.0; + + /* Compare the 6-base region to AGGAGG */ + for(i = 0; i < limit; i++) { diff --git a/recipes/prodigal/sd_motif_B.patch b/recipes/prodigal/sd_motif_B.patch new file mode 100644 index 0000000000000..91d2e519519aa --- /dev/null +++ b/recipes/prodigal/sd_motif_B.patch @@ -0,0 +1,54 @@ +From 7cb28c92f50e910d3cc14fc92bf6b9c197c8c6bf Mon Sep 17 00:00:00 2001 +From: Martin Larralde +Date: Fri, 27 Jan 2023 20:52:51 +0100 +Subject: [PATCH] Slightly refactor comparison code in `shine_dalgarno` + functions +URL: https://github.com/hyattpd/Prodigal/pull/100 + +--- + sequence.c | 25 +++++++++++++------------ + 1 file changed, 13 insertions(+), 12 deletions(-) + +diff --git a/sequence.c b/sequence.c +index b2be997..515c8b1 100644 +--- a/sequence.c ++++ b/sequence.c +@@ -667,10 +667,10 @@ int shine_dalgarno_exact(unsigned char *seq, int pos, int start, double *rwt) { + + /* Compare the 6-base region to AGGAGG */ + for(i = 0; i < limit; i++) { +- if(pos+i < 0) continue; +- if(i%3 == 0 && is_a(seq, pos+i) == 1) match[i] = 2.0; +- else if(i%3 != 0 && is_g(seq, pos+i) == 1) match[i] = 3.0; +- else match[i] = -10.0; ++ if(pos + i >= 0) { ++ if(i%3 == 0 && is_a(seq, pos+i) == 1) match[i] = 2.0; ++ else if(i%3 != 0 && is_g(seq, pos+i) == 1) match[i] = 3.0; ++ } + } + + /* Find the maximally scoring motif */ +@@ -743,14 +743,15 @@ int shine_dalgarno_mm(unsigned char *seq, int pos, int start, double *rwt) { + + /* Compare the 6-base region to AGGAGG */ + for(i = 0; i < limit; i++) { +- if(pos+i < 0) continue; +- if(i % 3 == 0) { +- if(is_a(seq, pos+i) == 1) match[i] = 2.0; +- else match[i] = -3.0; +- } +- else { +- if(is_g(seq, pos+i) == 1) match[i] = 3.0; +- else match[i] = -2.0; ++ if(pos+i >= 0) { ++ if(i % 3 == 0) { ++ if(is_a(seq, pos+i) == 1) match[i] = 2.0; ++ else match[i] = -3.0; ++ } ++ else { ++ if(is_g(seq, pos+i) == 1) match[i] = 3.0; ++ else match[i] = -2.0; ++ } + } + } + diff --git a/recipes/profile_dists/meta.yaml b/recipes/profile_dists/meta.yaml index c3ad6afafffa7..9d72ac0a11bcf 100644 --- a/recipes/profile_dists/meta.yaml +++ b/recipes/profile_dists/meta.yaml @@ -1,6 +1,6 @@ {% set name = "profile_dists" %} -{% set version = "1.0.0" %} -{% set sha256 = "e0ebef9c8ee13eba957320209113a6e85ecae7ba59113d186a543b4ca0463d60" %} +{% set version = "1.0.1" %} +{% set sha256 = "440622e653aa201f1892f905973a808cfee78459cc3d7e4a68336177b978132a" %} package: name: {{ name|lower }} @@ -9,11 +9,11 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/profile_dists-{{ version }}.tar.gz sha256: {{ sha256 }} - build: - number: 0 + number: 1 noarch: python + skip: true # [ py == 312 ] run_exports: - {{ pin_subpackage("profile_dists", max_pin="x.x") }} script: {{ PYTHON }} -m pip install . --use-pep517 --no-deps -vvv @@ -26,7 +26,7 @@ requirements: - pip - pytest-runner run: - - python >=3.8,<4 + - python >=3.8,<3.12 - {{ pin_compatible('numpy') }} - pyarrow >=12.0.0 - fastparquet >=2023.4.0 @@ -48,5 +48,3 @@ about: license: Apache-2.0 license_file: LICENSE dev_url: 'https://github.com/phac-nml/profile_dists/' - - diff --git a/recipes/prokbert/meta.yaml b/recipes/prokbert/meta.yaml new file mode 100644 index 0000000000000..6fd3153cb17c7 --- /dev/null +++ b/recipes/prokbert/meta.yaml @@ -0,0 +1,52 @@ +{% set name = "prokbert" %} +{% set version = "0.0.44" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/prokbert-{{ version }}.tar.gz + sha256: 19a6c9890c7689d795a8898061d48e7023b64226388c1c67f2f68a91c42a5012 + +build: + number: 0 + noarch: python + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('prokbert', max_pin="x.x") }} + +requirements: + host: + - python >=3.10 + - pip + run: + - python >=3.10 + - pytorch + - torchvision + - biopython + - pandas >=2.0.0 + - datasets >=2.0.1 + - scikit-learn >=1.2.2 + - scipy >=1.10.0 + - transformers >=4.23 + - tables >=3.8.0 + - h5py >=3.7.0 + +test: + imports: + - prokbert + +about: + home: https://github.com/nbrg-ppcu/prokbert + license: MIT + license_family: MIT + license_file: LICENSE + summary: 'ProkBERT is a genomic language model specifically designed for microbiome applications. It leverages the power of machine learning to decipher complex microbial interactions, predict functionalities, and uncover novel patterns in extensive datasets. The ProkBERT model family, built on transfer learning and self-supervised methodologies, capitalizes on the abundant genomic data available.' + doc_url: https://prokbert.readthedocs.io/en/latest/ + +extra: + recipe-maintainers: + - obalasz + identifiers: + - doi:10.1101/2023.11.09.566411 diff --git a/recipes/promotercalculator/meta.yaml b/recipes/promotercalculator/meta.yaml new file mode 100644 index 0000000000000..ef929a32415d8 --- /dev/null +++ b/recipes/promotercalculator/meta.yaml @@ -0,0 +1,48 @@ +{% set name = "promotercalculator" %} +{% set version = "1.2.4" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/promotercalculator-{{ version }}.tar.gz + sha256: 8ab36fa50266b5e1fa958a7e331e6c352a68d09d255931dfa9c319fc3e856b49 + +build: + entry_points: + - promoter-calculator = promoter_calculator.cli:main + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + number: 0 + run_exports: + - {{ pin_subpackage("promotercalculator", max_pin="x") }} + +requirements: + host: + - python + - pip + run: + - python + - biopython + - numpy + - scikit-learn + - scipy + +test: + imports: + - promoter_calculator + commands: + - promoter-calculator --help + +about: + home: https://github.com/barricklab/promoter-calculator + summary: "Promoter-Calculator (Barrick Lab Fork)" + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE + dev_url: https://github.com/barricklab/promoter-calculator + +extra: + recipe-maintainers: + - croots diff --git a/recipes/pronto/meta.yaml b/recipes/pronto/meta.yaml index ed42fc4d9781c..2c29479c7acce 100644 --- a/recipes/pronto/meta.yaml +++ b/recipes/pronto/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pronto" %} -{% set version = "2.5.5" %} +{% set version = "2.5.8" %} package: name: "{{ name }}" @@ -7,12 +7,14 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 8f9a0917156248b2cce05d238c5d76a7b49ee07619f2bce3c73796bff82d5b4f + sha256: 5283ec5b35ddc12d34f2e50098b9900bb7b80172b7f769ccc93f5d82b7022799 build: noarch: python number: 0 - script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv + script: {{ PYTHON }} -m pip install . --no-build-isolation --no-deps -vvv + run_exports: + - {{ pin_subpackage('pronto', max_pin="x") }} requirements: host: @@ -35,10 +37,13 @@ test: - pronto.serializers about: - home: http://github.com/althonos/pronto + home: https://github.com/althonos/pronto license: MIT summary: 'Python frontend to ontologies' license_family: MIT + license_file: COPYING + doc_url: https://pronto.readthedocs.io/en/stable/ + dev_url: https://github.com/althonos/pronto extra: recipe-maintainers: diff --git a/recipes/proovframe/meta.yaml b/recipes/proovframe/meta.yaml index 049b39ce3d5e0..d625a9037982e 100644 --- a/recipes/proovframe/meta.yaml +++ b/recipes/proovframe/meta.yaml @@ -12,8 +12,10 @@ source: sha256: '{{ sha256 }}' build: - number: 0 + number: 1 noarch: generic + run_exports: + - {{ pin_subpackage('proovframe', max_pin='x') }} requirements: run: @@ -41,6 +43,10 @@ about: license_family: MIT license_file: LICENSE summary: frame-shift correction for long read (meta)genomics + description: | + Gene prediction on long reads, aka PacBio and Nanopore, is often impaired by indels causing frameshift. + Proovframe detects and corrects frameshifts in coding sequences from raw long reads or long-read derived assemblies. + dev_url: https://github.com/{{ user }}/{{ name }} maintainers: - thanhleviet diff --git a/recipes/prophyle/build.sh b/recipes/prophyle/build.sh index 41f8796a90ca0..4d7f6a581740e 100755 --- a/recipes/prophyle/build.sh +++ b/recipes/prophyle/build.sh @@ -1,8 +1,8 @@ #! /usr/bin/env bash -set -e +set -ex set -o pipefail export C_INCLUDE_PATH=${PREFIX}/include export CPLUS_INCLUDE_PATH=${PREFIX}/include -make -C prophyle CC="$CC -fcommon -L$PREFIX/lib" CXX="$CXX -L$PREFIX/lib" # hacky, but the nesting of Makefiles makes it annoying otherwise +make -j${CPU_COUNT} -C prophyle CC="$CC -fcommon -L$PREFIX/lib" CXX="$CXX -L$PREFIX/lib" # hacky, but the nesting of Makefiles makes it annoying otherwise PROPHYLE_PACKBIN=1 python -m pip install --no-deps --ignore-installed . diff --git a/recipes/prophyle/meta.yaml b/recipes/prophyle/meta.yaml index 982f843ee47bc..1a06445a421e8 100644 --- a/recipes/prophyle/meta.yaml +++ b/recipes/prophyle/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.3.3.1" %} -{% set sha256 = "7007f4858020f4ee2926b8ebe6089a886119d07358f645adfc869b444c52d32c" %} +{% set version = "0.3.3.2" %} +{% set sha256 = "b9476c617bcbc3eea229a1becd7f70133d3d3c59869e90284dfaf4b915757366" %} package: name: prophyle @@ -10,7 +10,7 @@ source: sha256: {{ sha256 }} build: - number: 0 + number: 2 skip: True # [py27] run_exports: - {{ pin_subpackage("prophyle", max_pin="x.x") }} @@ -78,3 +78,6 @@ about: license_file: LICENSE.txt summary: ProPhyle is an accurate, resource-frugal and deterministic phylogeny-based metagenomic classifier. +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/prosampler/build.sh b/recipes/prosampler/build.sh index 2a751024f5a0b..294eb68008e78 100644 --- a/recipes/prosampler/build.sh +++ b/recipes/prosampler/build.sh @@ -1,4 +1,4 @@ #!/bin/bash -$CXX -o ProSampler ProSampler.cc +$CXX -o ProSampler ProSampler_v1.5.cc mkdir -p $PREFIX/bin cp ProSampler $PREFIX/bin diff --git a/recipes/prosampler/meta.yaml b/recipes/prosampler/meta.yaml index 24f5bee0cd1e9..4433e38f225ef 100644 --- a/recipes/prosampler/meta.yaml +++ b/recipes/prosampler/meta.yaml @@ -1,16 +1,18 @@ -{% set version = "1.0" %} -{% set sha256 = "570671cd5effd50c015515b80e0fdafeb0a353cecb626a050a92bb6658a4b69b" %} +{% set version = "1.5" %} +{% set sha256 = "ae75dad4133a5f2d6da487118a3e8e5bcbfc361821edb72c7c36b966419d6187" %} package: name: prosampler version: {{ version }} source: - url: https://github.com/zhengchangsulab/ProSampler/raw/master/PROSAMPLER_01_22_2019.tar.gz + url: https://github.com/zhengchangsulab/ProSampler/raw/master/PROSMPLER_v1.5.tar.gz sha256: {{ sha256 }} build: - number: 1 + number: 0 + run_exports: + - {{ pin_subpackage('prosampler', max_pin=None) }} requirements: build: @@ -26,5 +28,7 @@ about: summary: An ultra-fast motif finding program in large ChIP-seq datasets. extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:prosampler diff --git a/recipes/prot-scriber/build.sh b/recipes/prot-scriber/build.sh index 3662f6efb60db..0609d45584d5d 100644 --- a/recipes/prot-scriber/build.sh +++ b/recipes/prot-scriber/build.sh @@ -1,8 +1,6 @@ -#!/bin/bash -euo +#!/bin/bash -# Add workaround for SSH-based Git connections from Rust/cargo. See https://github.com/rust-lang/cargo/issues/2078 for details. -# We set CARGO_HOME because we don't pass on HOME to conda-build, thus rendering the default "${HOME}/.cargo" defunct. -export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="$(pwd)/.cargo" +set -xeuo # build statically linked binary with Rust RUST_BACKTRACE=1 cargo install --verbose --path . --root $PREFIX diff --git a/recipes/prot-scriber/meta.yaml b/recipes/prot-scriber/meta.yaml index 2c77e9eecee10..b32921251aa5a 100644 --- a/recipes/prot-scriber/meta.yaml +++ b/recipes/prot-scriber/meta.yaml @@ -1,12 +1,14 @@ -{% set version = "0.1.4" %} -{% set sha256 = "fe15fe6d11a2466af3169f33e61ba532333563d0b50a07054481c2e0c11a013f" %} +{% set version = "0.1.6" %} +{% set sha256 = "f79722ec7338b354df855b94f250f509e7742cd8cc4762a21c96905fc162f92f" %} package: name: prot-scriber version: {{ version }} build: - number: 2 + number: 1 + run_exports: + - {{ pin_subpackage("prot-scriber", max_pin="x") }} source: url: https://github.com/usadellab/prot-scriber/archive/v{{ version }}.tar.gz @@ -14,8 +16,8 @@ source: requirements: build: - - rust - {{ compiler('c') }} + - {{ compiler('rust') }} test: commands: @@ -23,5 +25,10 @@ test: about: home: https://github.com/usadellab/prot-scriber - license: GPL-3 + license: GPL-3.0-only summary: "Assigns short human readable descriptions (HRD) to query biological sequences using reference candidate descriptions." + license_file: LICENSE + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/proteinortho/meta.yaml b/recipes/proteinortho/meta.yaml index af04c4ecd31fe..0d1fa24143b21 100755 --- a/recipes/proteinortho/meta.yaml +++ b/recipes/proteinortho/meta.yaml @@ -1,6 +1,6 @@ {% set name = "proteinortho" %} -{% set version = "6.3.0" %} -{% set sha256 = "9b0142d29d22a35732b17be2ce125ccbc7d711edc4bb8caf1ffc808eb16975f1" %} +{% set version = "6.3.2" %} +{% set sha256 = "3b3c58e814ca10f77a25954b0bcddc479b9f61682f3dc5c93d85b07f109342a4" %} package: name: {{ name }} @@ -12,6 +12,9 @@ source: build: number: 0 + run_exports: + - {{ pin_subpackage('proteinortho', max_pin="x.x.x") }} + requirements: build: @@ -44,3 +47,8 @@ about: license_family: GPL license_file: LICENSE summary: "Proteinortho is a tool to detect orthologous genes within different species." + +extra: + identifiers: + - biotools:proteinortho + - doi:10.3389/fbinf.2023.1322477 diff --git a/recipes/protgraph/meta.yaml b/recipes/protgraph/meta.yaml index 1837064bfc1d0..7827facd90682 100644 --- a/recipes/protgraph/meta.yaml +++ b/recipes/protgraph/meta.yaml @@ -1,5 +1,5 @@ {% set name = "protgraph" %} -{% set version = "0.3.9" %} +{% set version = "0.3.11" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: a1e69aed7dc57c8dcde2a70605a7ed0b39e36bcb03800f0dfecad476cbce143d + sha256: 83154a2d60b53bfd6f850780a17b8f8b1cf00a911d77d76fa60c2d5ba5fff177 build: number: 0 @@ -15,6 +15,8 @@ build: script: {{ PYTHON }} -m pip install . -vv entry_points: - protgraph=protgraph.protgraph:main + run_exports: + - {{ pin_subpackage('protgraph', max_pin="x.x") }} requirements: host: diff --git a/recipes/protmapper/meta.yaml b/recipes/protmapper/meta.yaml index a7fa1af749531..fe4ac6f625278 100644 --- a/recipes/protmapper/meta.yaml +++ b/recipes/protmapper/meta.yaml @@ -1,6 +1,6 @@ {% set name = "protmapper" %} -{% set version = "0.0.28" %} -{% set sha256 = "0cd18592dc6ae67e2ec723395c6adfe5221f8ce73e7185c3ac85348639c29a1e" %} +{% set version = "0.0.29" %} +{% set sha256 = "d0d10198fb000401d03ba6c271869970caf8e1c8b46db686d2eed153fa8c2257" %} package: name: {{ name|lower }} diff --git a/recipes/prymer/meta.yaml b/recipes/prymer/meta.yaml new file mode 100644 index 0000000000000..5302549095ed6 --- /dev/null +++ b/recipes/prymer/meta.yaml @@ -0,0 +1,48 @@ +{% set name = "prymer" %} +{% set version = "2.2.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/fulcrumgenomics/{{ name }}/archive/refs/tags/{{ version }}.tar.gz + sha256: e11a09a58e9310b2ff1b89b9e36913f47c08e0b22e1d3d9ce9321e4013fb3c2e + +build: + noarch: python + number: 0 + script: {{ PYTHON }} -m pip install . -vvv --no-build-isolation --no-deps + run_exports: + - {{ pin_subpackage('prymer', max_pin="x.x") }} + +requirements: + host: + - pip + - python >=3.11 + - poetry + run: + - bwa-aln-interactive >=0.7.18 + - python >=3.11 + - pysam >=0.22.0 + - primer3 >=2.6.1 + +test: + imports: + - prymer + +about: + home: https://pypi.org/project/prymer/ + summary: Python Primer Design Library + license: MIT + license_family: MIT + license_file: LICENSE + dev_url: https://github.com/fulcrumgenomics/prymer + doc_url: https://prymer.readthedocs.io/en/latest/ + +extra: + recipe-maintainers: + - emmcauley + - geoffjentry + - nh13 + - tfenne diff --git a/recipes/psdm/meta.yaml b/recipes/psdm/meta.yaml index b96f7599db70f..96753b338e84b 100644 --- a/recipes/psdm/meta.yaml +++ b/recipes/psdm/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.2.0" %} +{% set version = "0.3.0" %} {% set name = "psdm" %} package: @@ -7,14 +7,16 @@ package: source: url: https://github.com/mbhall88/{{ name }}/archive/{{ version }}.tar.gz - sha256: 6e1842426ef27dd7ea81384049284253b5130a3cdb7e29b6a73dce6cfae8d05c + sha256: 0414b2fde2e6c43a7d9bfd7a53da67f8e084cc4ec350ad7c498cc1937b9a15cc build: - number: 3 + number: 1 + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} requirements: build: - - rust >=1.55 + - {{ compiler('rust') }} - {{ compiler('c') }} # [not win] test: @@ -28,5 +30,8 @@ about: license_file: LICENSE extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - mbhall88 diff --git a/recipes/psims/meta.yaml b/recipes/psims/meta.yaml index b3012cb90ed31..64e6ca723d030 100644 --- a/recipes/psims/meta.yaml +++ b/recipes/psims/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "1.3.1" %} -{% set sha256 = "a6da07168737bdae3fdf0ee9e422be86990e004081c27027d50acecb3be8c248" %} +{% set version = "1.3.4" %} +{% set sha256 = "4cac9368616118186fe12dc137adcd12d934df5013956816615b5eaa95cb0573" %} package: name: "psims" diff --git a/recipes/psirc/build.sh b/recipes/psirc/build.sh new file mode 100644 index 0000000000000..afcee0f9b58a1 --- /dev/null +++ b/recipes/psirc/build.sh @@ -0,0 +1,15 @@ +#!/bin/bash -euo + +mkdir -p $PREFIX/bin +cp psirc_v1.0.pl create_custom_transcriptome_fa.pl $PREFIX/bin +ln -s $PREFIX/bin/psirc_v1.0.pl $PREFIX/bin/psirc +chmod a+x $PREFIX/bin/psirc_v1.0.pl +chmod a+x $PREFIX/bin/create_custom_transcriptome_fa.pl + +cd psirc-quant + +mkdir release +cd release +cmake .. -DCMAKE_INSTALL_PREFIX=$PREFIX +make psirc-quant +make install diff --git a/recipes/psirc/meta.yaml b/recipes/psirc/meta.yaml new file mode 100644 index 0000000000000..cd19440ace3ce --- /dev/null +++ b/recipes/psirc/meta.yaml @@ -0,0 +1,51 @@ +{% set name = "psirc" %} +{% set version = "1.0.0" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/nictru/psirc/archive/0c4e49d7636c0e9120d9119e098bb515a17dc9b6.zip + sha256: 7acff956ceb8e24b43aa14ad35bbce8f2e646884d83aec45e9e6326d9a1a5a26 + +build: + number: 0 + run_exports: + - {{ pin_subpackage('psirc', max_pin="x") }} + +requirements: + build: + - {{ compiler('cxx') }} + - cmake + - make + host: + - htslib + - hdf5 + - zlib + run: + - perl + +test: + commands: + - psirc-quant cite + - psirc-quant version + - type psirc + - type create_custom_transcriptome_fa.pl + +about: + home: "https://github.com/nictru/psirc" + license: "MIT" + license_family: MIT + license_file: LICENSE + summary: "Full-length linear and circular transcript isoform reconstruction and quantification." + dev_url: "https://github.com/nictru/psirc" + doc_url: "https://github.com/nictru/psirc/blob/master/README.md" + +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - doi:10.1101/gr.275348.121 + recipe-maintainers: + - nictru diff --git a/recipes/psm-utils/meta.yaml b/recipes/psm-utils/meta.yaml index e2767e8637fc8..02b60ab80be76 100644 --- a/recipes/psm-utils/meta.yaml +++ b/recipes/psm-utils/meta.yaml @@ -1,6 +1,6 @@ {% set name = "psm-utils" %} -{% set version = "0.7.2" %} -{% set sha256 = "a6b892f3ca6dfb8c2b298e0788c79965d754e84e7049c560b52263b096b82a17" %} +{% set version = "1.1.1" %} +{% set sha256 = "8926d8f5e2e05ac38d54d6ae5c89461568085b60d23414a907c820bc674a4a2b" %} package: name: {{ name|lower }} @@ -13,7 +13,7 @@ source: build: number: 0 entry_points: - - psm-utils=psm-utils.__main__:main + - psm_utils=psm_utils.__main__:main script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" noarch: python run_exports: @@ -23,10 +23,9 @@ requirements: host: - pip - python >=3.7 - - flit-core run: - python >=3.7 - - pyteomics >=4 + - pyteomics >=4,<4.7 - pyopenms - lxml - psims diff --git a/recipes/pstrain/build.sh b/recipes/pstrain/build.sh new file mode 100644 index 0000000000000..792771b573bf4 --- /dev/null +++ b/recipes/pstrain/build.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +mkdir -p $PREFIX/bin + +cp $SRC_DIR/scripts/*.py $PREFIX/bin +cp $SRC_DIR/scripts/*.sh $PREFIX/bin +cp $SRC_DIR/scripts/*.jar $PREFIX/bin + diff --git a/recipes/pstrain/meta.yaml b/recipes/pstrain/meta.yaml new file mode 100644 index 0000000000000..039b168857727 --- /dev/null +++ b/recipes/pstrain/meta.yaml @@ -0,0 +1,48 @@ +{% set version = "1.0.3" %} + +package: + name: pstrain + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage("pstrain", max_pin="x") }} + entry_points: + - pstrain = PStrain:main + +source: + url: https://github.com/wshuai294/PStrain/archive/refs/tags/v{{ version }}.tar.gz + sha256: a78315a87048335045d0e1ec3123f33f75327d627a03b17aaa003990d2375214 + +requirements: + build: +# noarch: generic + host: + run: + - python >=3.7 + - metaphlan ==4 + - pysam + - numpy + - pulp + - samtools + - bowtie2 + - openjdk + + +about: + home: https://github.com/wshuai294/PStrain + license: MIT + summary: An Iterative Microbial Strains Profiling Algorithm for Shotgun Metagenomic Sequencing Data + +test: + commands: + - pstrain --help + +extra: + skip-lints: + - should_be_noarch_generic + identifiers: + - biotools:pstrain + recipe-maintainers: + - wshuai294 diff --git a/recipes/ptrimmer/build.sh b/recipes/ptrimmer/build.sh index 577fb6a332cd0..f08bf5f89c00d 100644 --- a/recipes/ptrimmer/build.sh +++ b/recipes/ptrimmer/build.sh @@ -1,5 +1,13 @@ -#!/bin/sh +#!/bin/bash -euo -make CC=$CC LIBDIR=-L$PREFIX/lib INCLUDE=-I$PREFIX/include -mkdir -p $PREFIX/bin -mv pTrimmer-* $PREFIX/bin/ptrimmer \ No newline at end of file +mkdir -p ${PREFIX}/bin + +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" + +make CC="${CC} ${LDFLAGS}" CFLAGS="${CFLAGS} -O3" LIBDIR="-L${PREFIX}/lib" \ + INCLUDE="-I${PREFIX}/include" -j"${CPU_COUNT}" + +chmod 755 pTrimmer +mv pTrimmer ${PREFIX}/bin/ptrimmer diff --git a/recipes/ptrimmer/meta.yaml b/recipes/ptrimmer/meta.yaml index d38555097e3dd..113702231d46c 100644 --- a/recipes/ptrimmer/meta.yaml +++ b/recipes/ptrimmer/meta.yaml @@ -1,15 +1,18 @@ -{% set version = "1.3.3" %} +{% set name = "ptrimmer" %} +{% set version = "1.4.0" %} package: - name: ptrimmer + name: {{ name }} version: {{ version }} -build: - number: 5 - source: url: https://github.com/DMU-lilab/pTrimmer/archive/V{{ version }}.tar.gz - sha256: cd0b18b00246e23e1a3ac4e9150e986caead9cca5e4d1593c6ec1aac1c47fb7e + sha256: dbc332ec8a3b8aba529eca6fcd29008ede28a52e7f84dd2a9f397b2870e8c5fe + +build: + number: 0 + run_exports: + - {{ pin_subpackage('ptrimmer', max_pin="x") }} requirements: build: @@ -20,15 +23,19 @@ requirements: - zlib run: - ncurses - - zlib - -about: - home: https://github.com/DMU-lilab/pTrimmer - license: GNU General Public License v3 (GPL-3.0) - license_family: GPL - license_file: LICENSE - summary: Used to trim off the primer sequence from mutiplex amplicon sequencing test: commands: - ptrimmer --help 2>&1 >/dev/null | grep "Usage" + +about: + home: "https://github.com/DMU-lilab/pTrimmer" + license: "GPL-3.0-or-later" + license_family: GPL3 + license_file: LICENSE + summary: "Used to trim off the primer sequence from mutiplex amplicon sequencing" + dev_url: "https://github.com/DMU-lilab/pTrimmer" + +extra: + identifiers: + - doi:10.1186/s12859-019-2854-x diff --git a/recipes/purge_haplotigs/meta.yaml b/recipes/purge_haplotigs/meta.yaml index c8cde29e6dec1..583dc731bed0f 100644 --- a/recipes/purge_haplotigs/meta.yaml +++ b/recipes/purge_haplotigs/meta.yaml @@ -1,15 +1,18 @@ -{% set version = "1.1.2" %} +{% set name = "purge_haplotigs" %} +{% set version = "1.1.3" %} package: - name: purge_haplotigs - version: '{{ version }}' + name: {{ name }} + version: {{ version }} source: - url: https://bitbucket.org/mroachawri/purge_haplotigs/get/v{{ version }}.tar.gz - sha256: 14daf0454606232c5adbc5ca42cd873a0c4eb8b7f52d22edd434027d5e8fdca0 + url: https://bitbucket.org/mroachawri/{{ name }}/get/v{{ version }}.tar.gz + sha256: 68d9bc8464f6d53281127576eab67068fbc1c45d37a60dffdc344b2c0be4ff84 build: number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} noarch: generic requirements: @@ -40,3 +43,7 @@ about: license_family: MIT license_file: LICENSE summary: Pipeline to help with curating heterozygous diploid genome assemblies. + +extra: + recipe-maintainers: + - beardymcjohnface diff --git a/recipes/pxblat/build_failure.linux-64.yaml b/recipes/pxblat/build_failure.linux-64.yaml index 5b942524e2cd1..e7b37a7b731e4 100644 --- a/recipes/pxblat/build_failure.linux-64.yaml +++ b/recipes/pxblat/build_failure.linux-64.yaml @@ -1,104 +1,104 @@ -recipe_sha: 9910e8828c844b7213ab38c0600f3caa04cc87acd4497a3b3fbd44a337aefad8 # The commit at which this recipe failed to build. +recipe_sha: 4af3647b9bfd656d9bd240430c97beda5ef5bb1a2af01a13f2518974f451e4b8 # The hash of the recipe's meta.yaml at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - File "/opt/conda/conda-bld/pxblat_1688740629379/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/pip/_internal/cli/base_command.py", line 169, in exc_logging_wrapper +log: |- + SIZE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-size + STRINGS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strings + STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip + INFO: activate-gcc_linux-64.sh made the following environmental changes: + BUILD=x86_64-conda-linux-gnu + CC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pxblat-1.2.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH=$PREFIX;$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=$PREFIX:$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot/usr + CONDA_BUILD_SYSROOT=$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot + CONDA_TOOLCHAIN_BUILD=x86_64-conda-linux-gnu + CONDA_TOOLCHAIN_HOST=x86_64-conda-linux-gnu + CPP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cpp + CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include + DEBUG_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pxblat-1.2.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem $PREFIX/include + GCC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc + GCC_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar + GCC_NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-nm + GCC_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib + HOST=x86_64-conda-linux-gnu + LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_cos6_linux_gnu + build_alias=x86_64-conda-linux-gnu + host_alias=x86_64-conda-linux-gnu + -BUILD=x86_64-conda_cos6-linux-gnu + -CONDA_BUILD_SYSROOT= + INFO: activate-gxx_linux-64.sh made the following environmental changes: + CXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pxblat-1.2.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + DEBUG_CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pxblat-1.2.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + GXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-g + Using pip 24.0 from $PREFIX/lib/python3.12/site-packages/pip (python 3.12) + Non-user install because user site-packages disabled + Ignoring indexes: https://pypi.org/simple + Created temporary directory: /tmp/pip-build-tracker-wnlce67n + Initialized build tracking at /tmp/pip-build-tracker-wnlce67n + Created build tracker: /tmp/pip-build-tracker-wnlce67n + Entered build tracker: /tmp/pip-build-tracker-wnlce67n + Created temporary directory: /tmp/pip-install-jujpp588 + Created temporary directory: /tmp/pip-ephem-wheel-cache-s12l4w7q + Processing $SRC_DIR + Added file://$SRC_DIR to build tracker '/tmp/pip-build-tracker-wnlce67n' + Created temporary directory: /tmp/pip-modern-metadata-83qnmnky + Preparing metadata (pyproject.toml): started + Running command Preparing metadata (pyproject.toml) + Preparing metadata (pyproject.toml): finished with status 'done' + Source in $SRC_DIR has version 1.2.1, which satisfies requirement pxblat==1.2.1 from file://$SRC_DIR + Removed pxblat==1.2.1 from file://$SRC_DIR from build tracker '/tmp/pip-build-tracker-wnlce67n' + INFO: pip is looking at multiple versions of pxblat to determine which version is compatible with other requirements. This could take a while. + Will try a different candidate, due to conflict: + pxblat 1.2.1 depends on Python <3.12,>=3.9 + [31mERROR: Package 'pxblat' requires a different Python: 3.12.3 not in '<3.12,>=3.9'[0m[31m + [0mException information: + Traceback (most recent call last): + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 95, in resolve + result = self._result = resolver.resolve( + ^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers.py", line 546, in resolve + state = resolution.resolve(requirements, max_rounds=max_rounds) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers.py", line 439, in resolve + raise ResolutionImpossible(self.state.backtrack_causes) + pip._vendor.resolvelib.resolvers.ResolutionImpossible: [RequirementInformation(requirement=RequiresPythonRequirement('<3.12,>=3.9'), parent=LinkCandidate('file://$SRC_DIR'))] + + The above exception was the direct cause of the following exception: + + Traceback (most recent call last): + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper status = run_func(*args) ^^^^^^^^^^^^^^^ - File "/opt/conda/conda-bld/pxblat_1688740629379/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/pip/_internal/cli/req_command.py", line 248, in wrapper + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper return func(self, options, args) ^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/opt/conda/conda-bld/pxblat_1688740629379/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/pip/_internal/commands/install.py", line 377, in run + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/commands/install.py", line 377, in run requirement_set = resolver.resolve( ^^^^^^^^^^^^^^^^^ - File "/opt/conda/conda-bld/pxblat_1688740629379/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 73, in resolve - collected = self.factory.collect_root_requirements(root_reqs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/opt/conda/conda-bld/pxblat_1688740629379/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 491, in collect_root_requirements - req = self._make_requirement_from_install_req( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/opt/conda/conda-bld/pxblat_1688740629379/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 453, in _make_requirement_from_install_req - cand = self._make_candidate_from_link( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/opt/conda/conda-bld/pxblat_1688740629379/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 206, in _make_candidate_from_link - self._link_candidate_cache[link] = LinkCandidate( - ^^^^^^^^^^^^^^ - File "/opt/conda/conda-bld/pxblat_1688740629379/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 293, in __init__ - super().__init__( - File "/opt/conda/conda-bld/pxblat_1688740629379/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__ - self.dist = self._prepare() - ^^^^^^^^^^^^^^^ - File "/opt/conda/conda-bld/pxblat_1688740629379/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 225, in _prepare - dist = self._prepare_distribution() - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/opt/conda/conda-bld/pxblat_1688740629379/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 304, in _prepare_distribution - return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/opt/conda/conda-bld/pxblat_1688740629379/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 516, in prepare_linked_requirement - return self._prepare_linked_requirement(req, parallel_builds) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/opt/conda/conda-bld/pxblat_1688740629379/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 631, in _prepare_linked_requirement - dist = _get_prepared_distribution( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/opt/conda/conda-bld/pxblat_1688740629379/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 69, in _get_prepared_distribution - abstract_dist.prepare_distribution_metadata( - File "/opt/conda/conda-bld/pxblat_1688740629379/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/pip/_internal/distributions/sdist.py", line 61, in prepare_distribution_metadata - self.req.prepare_metadata() - File "/opt/conda/conda-bld/pxblat_1688740629379/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/pip/_internal/req/req_install.py", line 555, in prepare_metadata - self.metadata_directory = generate_metadata( - ^^^^^^^^^^^^^^^^^^ - File "/opt/conda/conda-bld/pxblat_1688740629379/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/pip/_internal/operations/build/metadata.py", line 35, in generate_metadata - distinfo_dir = backend.prepare_metadata_for_build_wheel(metadata_dir) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/opt/conda/conda-bld/pxblat_1688740629379/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/pip/_internal/utils/misc.py", line 713, in prepare_metadata_for_build_wheel - return super().prepare_metadata_for_build_wheel( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/opt/conda/conda-bld/pxblat_1688740629379/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 186, in prepare_metadata_for_build_wheel - return self._call_hook('prepare_metadata_for_build_wheel', { - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/opt/conda/conda-bld/pxblat_1688740629379/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 321, in _call_hook - raise BackendUnavailable(data.get('traceback', '')) - pip._vendor.pyproject_hooks._impl.BackendUnavailable: Traceback (most recent call last): - File "/opt/conda/conda-bld/pxblat_1688740629379/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 77, in _build_backend - obj = import_module(mod_path) - ^^^^^^^^^^^^^^^^^^^^^^^ - File "/opt/conda/conda-bld/pxblat_1688740629379/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/importlib/__init__.py", line 126, in import_module - return _bootstrap._gcd_import(name[level:], package, level) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 1204, in _gcd_import - File "", line 1176, in _find_and_load - File "", line 1126, in _find_and_load_unlocked - File "", line 241, in _call_with_frames_removed - File "", line 1204, in _gcd_import - File "", line 1176, in _find_and_load - File "", line 1126, in _find_and_load_unlocked - File "", line 241, in _call_with_frames_removed - File "", line 1204, in _gcd_import - File "", line 1176, in _find_and_load - File "", line 1126, in _find_and_load_unlocked - File "", line 241, in _call_with_frames_removed - File "", line 1204, in _gcd_import - File "", line 1176, in _find_and_load - File "", line 1140, in _find_and_load_unlocked - ModuleNotFoundError: No module named 'poetry' - [0m[31m - [0mRemoved file://$SRC_DIR from build tracker '/tmp/pip-build-tracker-jl36fbnx' - Removed build tracker: '/tmp/pip-build-tracker-jl36fbnx' + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 104, in resolve + raise error from e + pip._internal.exceptions.UnsupportedPythonVersion: Package 'pxblat' requires a different Python: 3.12.3 not in '<3.12,>=3.9' + Removed build tracker: '/tmp/pip-build-tracker-wnlce67n' Traceback (most recent call last): - File "/opt/conda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build return build_tree( - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/pxblat_1688740629379/work/conda_build.sh']' returned non-zero exit status 2. + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/pxblat_1717553732618/work/conda_build.sh']' returned non-zero exit status 1. # Last 100 lines of the build log. diff --git a/recipes/pxblat/build_failure.osx-64.yaml b/recipes/pxblat/build_failure.osx-64.yaml index 7cf5a245e3926..bd99c92d9d5a5 100644 --- a/recipes/pxblat/build_failure.osx-64.yaml +++ b/recipes/pxblat/build_failure.osx-64.yaml @@ -1,104 +1,104 @@ -recipe_sha: 9910e8828c844b7213ab38c0600f3caa04cc87acd4497a3b3fbd44a337aefad8 # The commit at which this recipe failed to build. +recipe_sha: 4af3647b9bfd656d9bd240430c97beda5ef5bb1a2af01a13f2518974f451e4b8 # The hash of the recipe's meta.yaml at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - File "/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1688740225962/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.11/site-packages/pip/_internal/cli/base_command.py", line 169, in exc_logging_wrapper - status = run_func(*args) - ^^^^^^^^^^^^^^^ - File "/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1688740225962/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.11/site-packages/pip/_internal/cli/req_command.py", line 248, in wrapper - return func(self, options, args) - ^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1688740225962/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.11/site-packages/pip/_internal/commands/install.py", line 377, in run - requirement_set = resolver.resolve( - ^^^^^^^^^^^^^^^^^ - File "/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1688740225962/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 73, in resolve - collected = self.factory.collect_root_requirements(root_reqs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1688740225962/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 491, in collect_root_requirements - req = self._make_requirement_from_install_req( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1688740225962/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 453, in _make_requirement_from_install_req - cand = self._make_candidate_from_link( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1688740225962/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 206, in _make_candidate_from_link - self._link_candidate_cache[link] = LinkCandidate( - ^^^^^^^^^^^^^^ - File "/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1688740225962/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 293, in __init__ - super().__init__( - File "/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1688740225962/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__ - self.dist = self._prepare() - ^^^^^^^^^^^^^^^ - File "/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1688740225962/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 225, in _prepare - dist = self._prepare_distribution() - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1688740225962/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 304, in _prepare_distribution - return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1688740225962/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 516, in prepare_linked_requirement - return self._prepare_linked_requirement(req, parallel_builds) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1688740225962/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 631, in _prepare_linked_requirement - dist = _get_prepared_distribution( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1688740225962/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 69, in _get_prepared_distribution - abstract_dist.prepare_distribution_metadata( - File "/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1688740225962/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.11/site-packages/pip/_internal/distributions/sdist.py", line 61, in prepare_distribution_metadata - self.req.prepare_metadata() - File "/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1688740225962/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.11/site-packages/pip/_internal/req/req_install.py", line 555, in prepare_metadata - self.metadata_directory = generate_metadata( - ^^^^^^^^^^^^^^^^^^ - File "/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1688740225962/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.11/site-packages/pip/_internal/operations/build/metadata.py", line 35, in generate_metadata - distinfo_dir = backend.prepare_metadata_for_build_wheel(metadata_dir) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1688740225962/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.11/site-packages/pip/_internal/utils/misc.py", line 713, in prepare_metadata_for_build_wheel - return super().prepare_metadata_for_build_wheel( - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1688740225962/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 186, in prepare_metadata_for_build_wheel - return self._call_hook('prepare_metadata_for_build_wheel', { - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1688740225962/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 321, in _call_hook - raise BackendUnavailable(data.get('traceback', '')) - pip._vendor.pyproject_hooks._impl.BackendUnavailable: Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1688740225962/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 77, in _build_backend - obj = import_module(mod_path) - ^^^^^^^^^^^^^^^^^^^^^^^ - File "/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1688740225962/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.11/importlib/__init__.py", line 126, in import_module - return _bootstrap._gcd_import(name[level:], package, level) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 1204, in _gcd_import - File "", line 1176, in _find_and_load - File "", line 1126, in _find_and_load_unlocked - File "", line 241, in _call_with_frames_removed - File "", line 1204, in _gcd_import - File "", line 1176, in _find_and_load - File "", line 1126, in _find_and_load_unlocked - File "", line 241, in _call_with_frames_removed - File "", line 1204, in _gcd_import - File "", line 1176, in _find_and_load - File "", line 1126, in _find_and_load_unlocked - File "", line 241, in _call_with_frames_removed - File "", line 1204, in _gcd_import - File "", line 1176, in _find_and_load - File "", line 1140, in _find_and_load_unlocked - ModuleNotFoundError: No module named 'poetry' - - Removed file://$SRC_DIR from build tracker '/private/tmp/pip-build-tracker-m00ixlfd' - Removed build tracker: '/private/tmp/pip-build-tracker-m00ixlfd' +log: |- + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1717527808058/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1717527808058/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1717527808058/work Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pxblat-1.2.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pxblat-1.2.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pxblat-1.2.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pxblat-1.2.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + Using pip 24.0 from $PREFIX/lib/python3.9/site-packages/pip (python 3.9) + Non-user install because user site-packages disabled + Ignoring indexes: https://pypi.org/simple + Created temporary directory: /private/tmp/pip-build-tracker-qoucc5ov + Initialized build tracking at /private/tmp/pip-build-tracker-qoucc5ov + Created build tracker: /private/tmp/pip-build-tracker-qoucc5ov + Entered build tracker: /private/tmp/pip-build-tracker-qoucc5ov + Created temporary directory: /private/tmp/pip-install-tj7o4pi6 + Created temporary directory: /private/tmp/pip-ephem-wheel-cache-8r3zol2g + Processing $SRC_DIR + Added file://$SRC_DIR to build tracker '/private/tmp/pip-build-tracker-qoucc5ov' + Created temporary directory: /private/tmp/pip-modern-metadata-j60vuf7f + Preparing metadata (pyproject.toml): started + Preparing metadata (pyproject.toml): finished with status 'done' + Source in $SRC_DIR has version 1.2.1, which satisfies requirement pxblat==1.2.1 from file://$SRC_DIR + Removed pxblat==1.2.1 from file://$SRC_DIR from build tracker '/private/tmp/pip-build-tracker-qoucc5ov' + Created temporary directory: /private/tmp/pip-unpack-ha9y5yl6 + Building wheels for collected packages: pxblat + Created temporary directory: /private/tmp/pip-wheel-_z5zbrg7 + Destination directory: /private/tmp/pip-wheel-_z5zbrg7 + Building wheel for pxblat (pyproject.toml): started + Building wheel for pxblat (pyproject.toml): finished with status 'error' + Failed to build pxblat + Exception information: + Traceback (most recent call last): + File "$PREFIX/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper + status = run_func(*args) + File "$PREFIX/lib/python3.9/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper + return func(self, options, args) + File "$PREFIX/lib/python3.9/site-packages/pip/_internal/commands/install.py", line 429, in run + raise InstallationError( + pip._internal.exceptions.InstallationError: Could not build wheels for pxblat, which is required to install pyproject.toml-based projects + Removed build tracker: '/private/tmp/pip-build-tracker-qoucc5ov' + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1688740225962/work/conda_build.sh']' returned non-zero exit status 2. + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/pxblat_1717527808058/work/conda_build.sh']' returned non-zero exit status 1. # Last 100 lines of the build log. diff --git a/recipes/pxblat/meta.yaml b/recipes/pxblat/meta.yaml index 2a0c29693aa1f..c9fb773e49dfb 100644 --- a/recipes/pxblat/meta.yaml +++ b/recipes/pxblat/meta.yaml @@ -1,6 +1,6 @@ {% set name = "PxBLAT" %} -{% set version = "1.1.10" %} -{% set sha256 = "d20b48ac4c761ad26c680cd1a10e7fb22f581212d5221cbfc2bc7f522a6b81d2" %} +{% set version = "1.2.1" %} +{% set sha256 = "b61337bde541be6fc933059d42c51364490775071d96de53a60cefeb0ac16e1a" %} package: name: {{ name|lower }} @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 0 + number: 1 skip: True # [py < 39] script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv entry_points: diff --git a/recipes/py2bit/meta.yaml b/recipes/py2bit/meta.yaml index d77824737670b..810b068f6474a 100644 --- a/recipes/py2bit/meta.yaml +++ b/recipes/py2bit/meta.yaml @@ -3,7 +3,9 @@ package: version: "0.3.0" build: - number: 8 + number: 10 + run_exports: + - {{ pin_subpackage('py2bit', max_pin='x.x') }} source: url: https://files.pythonhosted.org/packages/53/bb/547a927bed736ead3dc909e1e552d57c9034bb9493eff80544c0cf6e4828/py2bit-0.3.0.tar.gz @@ -27,3 +29,7 @@ about: home: https://github.com/deeptools/py2bit license: 'MIT' summary: 'A package for accessing 2bit files using lib2bit' + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/py_fasta_validator/meta.yaml b/recipes/py_fasta_validator/meta.yaml index 032e1d71d0605..d5cea65e8a4c2 100644 --- a/recipes/py_fasta_validator/meta.yaml +++ b/recipes/py_fasta_validator/meta.yaml @@ -10,7 +10,7 @@ source: sha256: "ca29c20e1be31ef190f923b62ddb7fccda8c1c3ba9cf699a6ccaccce10ea011a" build: - number: 3 + number: 4 skip: True # [py < 37] script: "{{ PYTHON }} -m pip install --ignore-installed --no-cache-dir -vvv ." diff --git a/recipes/pyabpoa/meta.yaml b/recipes/pyabpoa/meta.yaml index 373ebc270b2c3..78b8f0a130346 100644 --- a/recipes/pyabpoa/meta.yaml +++ b/recipes/pyabpoa/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pyabpoa" %} -{% set version = "1.4.1" %} +{% set version = "1.5.3" %} package: name: {{ name|lower }} @@ -7,11 +7,13 @@ package: source: url: https://github.com/yangao07/abPOA/releases/download/v{{ version }}/abPOA-v{{ version }}.tar.gz - sha256: 54b1f5cfd94fb5894e189d9e099f8158051411bcbcc9ba2d77478cfb9221dde1 + sha256: bb97de2dbdec014f2fb24beb0c85fa0b2073f717f3b68639e1edd89239729e6c build: number: 0 - script: {{ PYTHON }} -m pip install . -vvv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir --use-pep517 -vvv + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: build: @@ -34,6 +36,7 @@ about: license: MIT license_family: MIT license_file: LICENSE + dev_url: https://github.com/yangao07/abPOA extra: recipe-maintainers: @@ -41,3 +44,6 @@ extra: identifiers: - doi:10.1093/bioinformatics/btaa963 - biotools:abpoa + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/pyani/meta.yaml b/recipes/pyani/meta.yaml index b615cc7c9b19b..36b375deb00aa 100644 --- a/recipes/pyani/meta.yaml +++ b/recipes/pyani/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pyani" %} -{% set version = "0.2.12" %} +{% set version = "0.2.13.1" %} package: name: {{ name|lower }} @@ -7,29 +7,35 @@ package: source: url: https://github.com/widdowquinn/{{ name|lower }}/archive/v{{ version }}.tar.gz - sha256: 31bac50843d3af54cf273a4388f4f87bffb0688082e4e3179ea1640aa208626d + sha256: 98c2bb205eb286bd53b27d0deacd01ad25f00dd2483a91ba19765203af03d9ef build: number: 0 noarch: python - script: "{{ PYTHON }} -m pip install . --no-deps -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + run_exports: + - {{ pin_subpackage('pyani', max_pin="x.x") }} requirements: host: - - python >3 - - setuptools - + - python >=3.7 + - pip run: - - python >3 + - python >=3.7 - biopython + - blast + - blast-legacy # [not osx] + - intervaltree - matplotlib-base + - mummer + - namedlist + - networkx + - numpy - pandas - - seaborn - scipy - - numpy - - mummer - - blast - - blast-legacy # [not osx] + - seaborn-base + - sqlalchemy + - tqdm test: imports: @@ -39,8 +45,15 @@ test: - genbank_get_genomes_by_taxon.py -h about: - home: http://widdowquinn.github.io/pyani/ + home: "https://github.com/widdowquinn/pyani" license: MIT license_file: LICENSE summary: 'pyani provides a package and script for calculation of genome-scale average nucleotide identity.' license_family: MIT + dev_url: "https://github.com/widdowquinn/pyani" + doc_url: "https://widdowquinn.github.io/pyani" + +extra: + identifiers: + - doi:10.1039/C5AY02550H + - biotools:pyani diff --git a/recipes/pybarrnap/meta.yaml b/recipes/pybarrnap/meta.yaml new file mode 100644 index 0000000000000..1e2657be3e50e --- /dev/null +++ b/recipes/pybarrnap/meta.yaml @@ -0,0 +1,46 @@ +{% set name = "pybarrnap" %} +{% set version = "0.5.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/pybarrnap-{{ version }}.tar.gz + sha256: 9578c1677c60dfe7f12bccfd1613048918068289b0dc04b3d0396e699fd09073 + +build: + number: 0 + noarch: python + entry_points: + - pybarrnap = pybarrnap.scripts.pybarrnap:main + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation + run_exports: + - {{ pin_subpackage('pybarrnap', max_pin="x.x") }} + +requirements: + host: + - python >=3.8 + - poetry-core >=1.0.0 + - pip + run: + - python >=3.8 + - biopython >=1.79 + - pyhmmer >=0.10.8 + +test: + imports: + - pybarrnap + commands: + - pybarrnap --help + +about: + home: https://github.com/moshi4/pybarrnap/ + summary: "Python implementation of barrnap (Bacterial ribosomal RNA predictor)" + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE + +extra: + recipe-maintainers: + - moshi4 diff --git a/recipes/pybbi/meta.yaml b/recipes/pybbi/meta.yaml index 67a1777cbac11..b7f67a6ef39f1 100644 --- a/recipes/pybbi/meta.yaml +++ b/recipes/pybbi/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pybbi" %} -{% set version = "0.3.5" %} +{% set version = "0.4.0" %} package: name: "{{ name|lower }}" @@ -7,11 +7,11 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: "75b6888ff95bb99811321068213d9ce5618daaea2438cb3c370265186249257a" + sha256: "afafbc23f16f789344a454fce619af5556a67a2e11b7c36de8fc6f091e2478fc" build: - number: 0 - skip: True # [py2k or osx] + number: 1 + skip: True # [osx] run_exports: - {{ pin_subpackage(name, max_pin='x.x') }} diff --git a/recipes/pybdei/meta.yaml b/recipes/pybdei/meta.yaml new file mode 100644 index 0000000000000..8b263e9ba7d22 --- /dev/null +++ b/recipes/pybdei/meta.yaml @@ -0,0 +1,68 @@ +{% set name = "pybdei" %} +{% set version = "0.13" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/pybdei-{{ version }}.tar.gz + sha256: 4fcd3950aa60a25538bb8716a88ed5d5b24f63b1deebf1828e2e0ea9ac45441f + +build: + script_env: + - CC=$CXX + entry_points: + - bdei_infer = pybdei.inference:main + - bdei_loglikelihood = pybdei.loglikelihood:main + - bdei_u = pybdei.u_calculator:main + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation --no-binary=pybdei + number: 0 + run_exports: + - {{ pin_subpackage('pybdei', max_pin="x.x") }} + +requirements: + build: + - {{ compiler('cxx') }} + host: + - python >=3.9 + - setuptools + - numpy >=1.24.0 + - pip + - nlopt + run: + - python >=3.9 + - ete3 >=3.1.3 + - scipy >=1.11.1 + - six >=1.16.0 + - treesimulator >=0.1.22 + - {{ pin_compatible('numpy >=1.24.0') }} + +test: + imports: + - pybdei + commands: + - pip check + - bdei_infer --help + - bdei_loglikelihood --help + - bdei_u --help + requires: + - pip + +about: + home: "https://github.com/evolbioinfo/bdei" + summary: "Maximum likelihood estimation of Birth-Death Exposed-Infectious (BDEI) epidemiological model parameters from phylogenetic trees." + description: | + PyBDEI provides tools for fast and accurate maximum likelihood estimation + of Birth-Death Exposed-Infectious (BDEI) epidemiological model parameters + from phylogenetic trees. + license: LGPL-2.1 + license_file: LICENSE + license_family: GPL2 + dev_url: https://github.com/evolbioinfo/bdei + +extra: + recipe-maintainers: + - annazhukova + identifiers: + - doi:10.1093/sysbio/syad059 \ No newline at end of file diff --git a/recipes/pybedgraph/meta.yaml b/recipes/pybedgraph/meta.yaml index fe35c90092602..8fb405cf00569 100644 --- a/recipes/pybedgraph/meta.yaml +++ b/recipes/pybedgraph/meta.yaml @@ -10,7 +10,7 @@ source: sha256: b3064790c4b47439846ad2d121ba6f9b1b0c2b4810f5aaa7fff8138fe13c86a9 build: - number: 4 + number: 5 skip: True # [py27] script: "rm pyBedGraph/*.c; {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv" diff --git a/recipes/pybedlite/meta.yaml b/recipes/pybedlite/meta.yaml index 038cc5c8a7dea..711845645471b 100644 --- a/recipes/pybedlite/meta.yaml +++ b/recipes/pybedlite/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pybedlite" %} -{% set version = "0.0.4" %} +{% set version = "1.0.0" %} package: name: {{ name|lower }} @@ -7,11 +7,10 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/pybedlite-{{ version }}.tar.gz - sha256: 7f2d0ffbf3084d5e73b2062c0ff7b041cb823aab5e608a6875db631b9d759ece + sha256: c87a246a673f69b929103176b744b6ad6978b63fae45f1ca6becc315a72d671c build: - skip: True # [py < 38] - number: 0 + number: 1 script: {{ PYTHON }} -m pip install . -vvv --no-deps run_exports: - {{ pin_subpackage('pybedlite', max_pin="x") }} @@ -45,6 +44,9 @@ about: doc_url: https://pybedlite.readthedocs.io/en/latest/ extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - NatPRoach - nh13 diff --git a/recipes/pybedtools/build.sh b/recipes/pybedtools/build.sh index 9eea3edc58935..c767c7e1d7310 100644 --- a/recipes/pybedtools/build.sh +++ b/recipes/pybedtools/build.sh @@ -1,6 +1,9 @@ #!/bin/bash -export CPATH=${PREFIX}/include -$PYTHON setup.py install --single-version-externally-managed --record=rec.txt + +export C_INCLUDE_PATH="${PREFIX}/include" +export LIBPATH="-L${PREFIX}/lib" + +${PYTHON} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv # Add more build steps here, if they are necessary. diff --git a/recipes/pybedtools/meta.yaml b/recipes/pybedtools/meta.yaml index 49e64af7bf5c7..1470932f51d10 100644 --- a/recipes/pybedtools/meta.yaml +++ b/recipes/pybedtools/meta.yaml @@ -1,31 +1,32 @@ +{% set name = "pybedtools" %} +{% set version = "0.10.0" %} + package: - name: pybedtools - version: '0.9.1' + name: {{ name }} + version: {{ version }} source: - url: https://files.pythonhosted.org/packages/38/00/f07c17e25f9cc8e2d22b30aace73733e275b1804196f744f0178012a0d16/pybedtools-0.9.1.tar.gz - sha256: 586a626895b1b7215aef877e985c03fd8a908fd6c636e5b9ff8a1a1d09a1d514 + url: https://files.pythonhosted.org/packages/cc/90/cea4197772a029e925bd5d414108b5438d621dfbb1b0cc2627529d1ec524/pybedtools-0.10.0.tar.gz + sha256: 1a6fbaad23b013becc741d7d5922a2df03e391bc44ff92772ffb7dd456711161 build: - skip: True # [py2k] - number: 0 + number: 2 + run_exports: + - {{ pin_subpackage("pybedtools", max_pin="x.x") }} requirements: build: - {{ compiler('cxx') }} host: - python - - six - #- pysam >=0.16 - - setuptools - #- pandas + - pip + - cython - zlib run: - python - bedtools - - six - - pysam >=0.16 - - pandas + - numpy + - pysam test: imports: @@ -36,8 +37,15 @@ test: about: home: https://github.com/daler/pybedtools license: MIT + license_family: MIT + license_file: LICENSE.txt summary: Wraps BEDTools for use in Python and adds many additional features. + dev_url: https://github.com/daler/pybedtools + doc_url: https://daler.github.io/pybedtools extra: identifiers: - biotools:pybedtools + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/pybigtools/build.sh b/recipes/pybigtools/build.sh new file mode 100644 index 0000000000000..9f7a317e6924c --- /dev/null +++ b/recipes/pybigtools/build.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +# -e = exit on first error +# -x = print every executed command +set -ex + +# Add workaround for SSH-based Git connections from Rust/cargo. See https://github.com/rust-lang/cargo/issues/2078 for details. +# We set CARGO_HOME because we don't pass on HOME to conda-build, thus rendering the default "${HOME}/.cargo" defunct. +export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="${BUILD_PREFIX}/.cargo" + +# There is some issue here building with Python 3.8 on macOS >= 11 +# See https://github.com/pypa/cibuildwheel/issues/1410 +export MACOSX_DEPLOYMENT_TARGET=12.7 +export MACOS_DEPLOYMENT_TARGET=12.7 +export SYSTEM_VERSION_COMPAT=0 + +# See https://github.com/conda/conda-build/issues/4392#issuecomment-1370281802 +if [[ $target_platform == osx-* ]]; then + for toolname in "otool" "install_name_tool"; do + tool=$(find "${BUILD_PREFIX}/bin/" -name "*apple*-$toolname") + mv "${tool}" "${tool}.bak" + ln -s "/Library/Developer/CommandLineTools/usr/bin/${toolname}" "$tool" + done +fi + +# Use a custom temporary directory as home on macOS. +# (not sure why this is useful, but people use it in bioconda recipes) +if [ `uname` == Darwin ]; then + export HOME=`mktemp -d` +fi + +# Build statically linked binary with Rust +# Note: This sdist is a bit wonky because it was generated from a monorepo by running maturin sdist +RUST_BACKTRACE=1 + +# Creating the sdist from the monorepo placed pyproject.toml one level above Cargo.toml. +# The wheels don't seem to install as expected unless pyproject.toml is moved back into the source dir. +mv pyproject.toml pybigtools/ + +# Run maturin build to produce *.whl files. +maturin build -m pybigtools/Cargo.toml -b pyo3 --interpreter "${PYTHON}" --release --strip + +# Install *.whl files using pip +${PYTHON} -m pip install pybigtools/target/wheels/*.whl --no-deps --no-build-isolation --no-cache-dir -vvv + +# Move the LICENSE file to the root dir +mv pybigtools/LICENSE . \ No newline at end of file diff --git a/recipes/pybigtools/meta.yaml b/recipes/pybigtools/meta.yaml new file mode 100644 index 0000000000000..ccc184ca0c425 --- /dev/null +++ b/recipes/pybigtools/meta.yaml @@ -0,0 +1,47 @@ +{% set name = "pybigtools" %} +{% set version = "0.2.0" %} +{% set sha256 = "7c5d1676c5042b92f3f11bae3166cda92f5b33eb1a0a8c3411eb4c54ed94dd12" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: {{ sha256 }} + +build: + number: 1 + run_exports: + - {{ pin_subpackage('pybigtools', max_pin="x.x") }} + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('rust') }} + host: + - pip + - python + - maturin + run: + - python + - numpy + +test: + imports: + - pybigtools + +about: + home: https://github.com/jackh726/bigtools/ + license: MIT + summary: 'pybigtools: Python bindings to the Bigtools Rust library for high-performance BigWig and BigBed I/O' + license_family: MIT + license_file: LICENSE + doc_url: https://bigtools.readthedocs.io + dev_url: https://github.com/jackh726/bigtools/ + +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - doi:10.5281/zenodo.10606493 diff --git a/recipes/pybigwig/build.sh b/recipes/pybigwig/build.sh index 24412f55aa1c3..241c28a9c0951 100644 --- a/recipes/pybigwig/build.sh +++ b/recipes/pybigwig/build.sh @@ -1,4 +1,4 @@ #!/bin/bash export C_INCLUDE_PATH=$PREFIX/include -$PYTHON setup.py install --single-version-externally-managed --record=record.txt +$PYTHON -m pip install --no-deps --no-build-isolation . -vvv diff --git a/recipes/pybigwig/meta.yaml b/recipes/pybigwig/meta.yaml index 426ae16d1509d..a5a9f03b5552f 100644 --- a/recipes/pybigwig/meta.yaml +++ b/recipes/pybigwig/meta.yaml @@ -9,15 +9,16 @@ source: sha256: 5d4426f754bd7b7f6dc21d6c3f93b58a96a65b6eb2e578ae03b31a71272d2243 build: - skip: true # [py2k] - number: 1 + number: 3 + run_exports: + - {{ pin_subpackage('pybigwig', max_pin="x.x") }} requirements: build: - {{ compiler('c') }} host: - python - - setuptools + - pip - curl - libcurl - zlib @@ -37,5 +38,11 @@ test: about: home: https://github.com/dpryan79/pyBigWig license: MIT + license_family: MIT license_file: LICENSE.txt summary: A python extension written in C for quick access to bigWig files. + dev_url: https://github.com/dpryan79/pyBigWig + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/pybiolib/meta.yaml b/recipes/pybiolib/meta.yaml index 23d11edf7c44b..beafd6b9e4426 100644 --- a/recipes/pybiolib/meta.yaml +++ b/recipes/pybiolib/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pybiolib" %} -{% set version = "1.1.1566" %} +{% set version = "1.2.188" %} package: name: {{ name|lower }} @@ -7,25 +7,27 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/pybiolib-{{ version }}.tar.gz - sha256: d7ffb727f4b33a997fce3ca8be6bb5701b662110b3385756a6b17b2b68a07d7f + sha256: 7c0ecd9edbbd94b5aaddf7d412d42d5e24de9d705bbf70422175e9bae6a35bae build: - noarch: python - script: {{ PYTHON }} -m pip install . -vv number: 0 + noarch: python + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + entry_points: + - biolib = biolib:call_cli run_exports: - - {{ pin_subpackage('pybiolib', max_pin="x.x") }} + - {{ pin_subpackage('pybiolib', max_pin="x") }} requirements: host: - - python >=3.6,<4.0 - - poetry >=0.12 + - python >=3.6,<3.13 + - poetry >=1.8.0 - poetry-core - pip run: - - python >=3.6,<4.0 + - python >=3.6,<3.13 - appdirs >=1.4.3 - - click >=8.0.0,<8.1.0 + - click >=8.0.0 - docker-py >=5.0.3 - flask >=2.0.1 - flask-cors >=3.0.10 @@ -35,24 +37,23 @@ requirements: - pyjwt >=2.3.0 - pyyaml >=5.3.1 - requests >=2.25.1,<2.30.0 - - rich >=12.4.4,<13.0.0 - - typing_extensions >=3.10.0 # [py<38] - - typing_inspect >=0.5.0,<0.6.0 # [py<38] + - rich >=12.4.4 + - typing_extensions >=3.10.0 # [py < 38] + - typing_inspect >=0.5.0,<0.6.0 # [py < 38] test: imports: - biolib commands: - - pip check - biolib -h - requires: - - pip about: home: https://github.com/biolib - summary: BioLib Python Client + summary: "BioLib Python Client" license: MIT + license_family: MIT license_file: LICENSE + dev_url: https://github.com/biolib extra: recipe-maintainers: diff --git a/recipes/pybmtools/build_failure.linux-64.yaml b/recipes/pybmtools/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..5170b97649143 --- /dev/null +++ b/recipes/pybmtools/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 4aac5815007c2a7ff67c50af7e72b07ccb7b1a78f6b6909f2110dd80a243c642 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + reading manifest file 'pybmtools.egg-info/SOURCES.txt' + reading manifest template 'MANIFEST.in' + adding license file 'LICENSE.txt' + writing manifest file 'pybmtools.egg-info/SOURCES.txt' + Copying pybmtools.egg-info to $PREFIX/lib/python3.12/site-packages/pybmtools-0.1.1-py3.12.egg-info + running install_scripts + writing list of installed files to 'record.txt' + + Resource usage statistics from building pybmtools: + Process count: 6 + CPU time: Sys=0:00:00.1, User=0:00:00.8 + Memory: 110.4M + Disk usage: 768B + Time elapsed: 0:00:04.0 + + + number of files: 6 + Warning: rpath /opt/conda/conda-bld/pybmtools_1717605226209/_build_env/lib is outside prefix /opt/conda/conda-bld/pybmtools_1717605226209/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla (removing it) + INFO: sysroot: '/opt/conda/conda-bld/pybmtools_1717605226209/_build_env/x86_64-conda-linux-gnu/sysroot/' files: '['usr/share/zoneinfo/zone.tab', 'usr/share/zoneinfo/tzdata.zi', 'usr/share/zoneinfo/right/Zulu', 'usr/share/zoneinfo/right/WET']' + INFO (pybmtools,lib/python3.12/site-packages/pybmtools.cpython-312-x86_64-linux-gnu.so): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libm.so.6 found in CDT/compiler package conda-forge/noarch::sysroot_linux-64==2.12=he073ed8_17 + INFO (pybmtools,lib/python3.12/site-packages/pybmtools.cpython-312-x86_64-linux-gnu.so): Needed DSO lib/libz.so.1 found in conda-forge/linux-64::libzlib==1.2.13=h4ab18f5_6 + INFO (pybmtools,lib/python3.12/site-packages/pybmtools.cpython-312-x86_64-linux-gnu.so): Needed DSO lib/libcurl.so.4 found in conda-forge/linux-64::libcurl==8.8.0=hca28451_0 + INFO (pybmtools,lib/python3.12/site-packages/pybmtools.cpython-312-x86_64-linux-gnu.so): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libc.so.6 found in CDT/compiler package conda-forge/noarch::sysroot_linux-64==2.12=he073ed8_17 + WARNING (pybmtools): run-exports library package conda-forge/linux-64::numpy==1.26.4=py312heda63a1_0 in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to build/ignore_run_exports) + WARNING (pybmtools): interpreter (Python) package conda-forge/linux-64::python==3.12.3=hab00c5b_0_cpython in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to build/ignore_run_exports) + WARNING (pybmtools): run-exports library package conda-forge/linux-64::zlib==1.2.13=h4ab18f5_6 in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to build/ignore_run_exports) + Fixing permissions + INFO :: Time taken to mark (prefix) + 0 replacements in 0 files was 0.01 seconds + TEST START: /opt/conda/conda-bld/linux-64/pybmtools-0.1.3-py312hfa7e9eb_2.tar.bz2 + Renaming work directory '/opt/conda/conda-bld/pybmtools_1717605226209/work' to '/opt/conda/conda-bld/pybmtools_1717605226209/work_moved_pybmtools-0.1.3-py312hfa7e9eb_2_linux-64' + shutil.move(work)=/opt/conda/conda-bld/pybmtools_1717605226209/work, dest=/opt/conda/conda-bld/pybmtools_1717605226209/work_moved_pybmtools-0.1.3-py312hfa7e9eb_2_linux-64) + Reloading output folder (local): ...working... done + Solving environment (_test_env): ...working... done + + ## Package Plan ## + + environment location: /opt/conda/conda-bld/pybmtools_1717605226209/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol + + + The following NEW packages will be INSTALLED: + + _libgcc_mutex: 0.1-conda_forge conda-forge + _openmp_mutex: 4.5-2_gnu conda-forge + bzip2: 1.0.8-hd590300_5 conda-forge + c-ares: 1.28.1-hd590300_0 conda-forge + ca-certificates: 2024.6.2-hbcca054_0 conda-forge + keyutils: 1.6.1-h166bdaf_0 conda-forge + krb5: 1.21.2-h659d440_0 conda-forge + ld_impl_linux-64: 2.40-hf3520f5_2 conda-forge + libblas: 3.9.0-22_linux64_openblas conda-forge + libcblas: 3.9.0-22_linux64_openblas conda-forge + libcurl: 8.8.0-hca28451_0 conda-forge + libedit: 3.1.20191231-he28a2e2_2 conda-forge + libev: 4.33-hd590300_2 conda-forge + libexpat: 2.6.2-h59595ed_0 conda-forge + libffi: 3.4.2-h7f98852_5 conda-forge + libgcc-ng: 13.2.0-h77fa898_7 conda-forge + libgfortran-ng: 13.2.0-h69a702a_7 conda-forge + libgfortran5: 13.2.0-hca663fb_7 conda-forge + libgomp: 13.2.0-h77fa898_7 conda-forge + liblapack: 3.9.0-22_linux64_openblas conda-forge + libnghttp2: 1.58.0-h47da74e_1 conda-forge + libnsl: 2.0.1-hd590300_0 conda-forge + libopenblas: 0.3.27-pthreads_h413a1c8_0 conda-forge + libsqlite: 3.45.3-h2797004_0 conda-forge + libssh2: 1.11.0-h0841786_0 conda-forge + libstdcxx-ng: 13.2.0-hc0a3c3a_7 conda-forge + libuuid: 2.38.1-h0b41bf4_0 conda-forge + libxcrypt: 4.4.36-hd590300_1 conda-forge + libzlib: 1.3.1-h4ab18f5_1 conda-forge + ncurses: 6.5-h59595ed_0 conda-forge + numpy: 1.26.4-py312heda63a1_0 conda-forge + openssl: 3.3.1-h4ab18f5_0 conda-forge + pip: 24.0-pyhd8ed1ab_0 conda-forge + pybmtools: 0.1.3-py312hfa7e9eb_2 local + python: 3.12.3-hab00c5b_0_cpython conda-forge + python_abi: 3.12-4_cp312 conda-forge + readline: 8.2-h8228510_1 conda-forge + setuptools: 70.0.0-pyhd8ed1ab_0 conda-forge + tk: 8.6.13-noxft_h4845f30_101 conda-forge + tzdata: 2024a-h0c530f3_0 conda-forge + wheel: 0.43.0-pyhd8ed1ab_1 conda-forge + xz: 5.2.6-h166bdaf_0 conda-forge + zlib: 1.3.1-h4ab18f5_1 conda-forge + zstd: 1.5.6-ha6fb4c9_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + export PREFIX=/opt/conda/conda-bld/pybmtools_1717605226209/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol + export SRC_DIR=/opt/conda/conda-bld/pybmtools_1717605226209/test_tmp + import: 'pybmtools' + import: 'pybmtools' + python3 -c 'import pybmtools as pybm; assert(pybm.numpy == 1); assert(pybm.remote == 1)' + Traceback (most recent call last): + File "", line 1, in + AssertionError + WARNING: Tests failed for pybmtools-0.1.3-py312hfa7e9eb_2.tar.bz2 - moving package to /opt/conda/conda-bld/broken + TESTS FAILED: pybmtools-0.1.3-py312hfa7e9eb_2.tar.bz2 +# Last 100 lines of the build log. diff --git a/recipes/pybmtools/build_failure.osx-64.yaml b/recipes/pybmtools/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..502e7656f276c --- /dev/null +++ b/recipes/pybmtools/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 4aac5815007c2a7ff67c50af7e72b07ccb7b1a78f6b6909f2110dd80a243c642 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + x86_64-apple-darwin13.4.0-clang -bundle -undefined dynamic_lookup -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pybmtools-0.1.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 build/temp.macosx-10.9-x86_64-cpython-312/libbm/bmRead.o build/temp.macosx-10.9-x86_64-cpython-312/libbm/bmStats.o build/temp.macosx-10.9-x86_64-cpython-312/libbm/bmValues.o build/temp.macosx-10.9-x86_64-cpython-312/libbm/bmWrite.o build/temp.macosx-10.9-x86_64-cpython-312/libbm/io.o build/temp.macosx-10.9-x86_64-cpython-312/pybmtools.o -L$PREFIX/lib -L$PREFIX/lib/python3.12/config-3.12-darwin -L$PREFIX/lib -lm -lz -lcurl -o build/lib.macosx-10.9-x86_64-cpython-312/pybmtools.cpython-312-darwin.so + running install_lib + copying build/lib.macosx-10.9-x86_64-cpython-312/pybmtools.cpython-312-darwin.so -> $PREFIX/lib/python3.12/site-packages + running install_egg_info + running egg_info + creating pybmtools.egg-info + writing pybmtools.egg-info/PKG-INFO + writing dependency_links to pybmtools.egg-info/dependency_links.txt + writing requirements to pybmtools.egg-info/requires.txt + writing top-level names to pybmtools.egg-info/top_level.txt + writing manifest file 'pybmtools.egg-info/SOURCES.txt' + reading manifest file 'pybmtools.egg-info/SOURCES.txt' + reading manifest template 'MANIFEST.in' + adding license file 'LICENSE.txt' + writing manifest file 'pybmtools.egg-info/SOURCES.txt' + Copying pybmtools.egg-info to $PREFIX/lib/python3.12/site-packages/pybmtools-0.1.1-py3.12.egg-info + running install_scripts + writing list of installed files to 'record.txt' + + Resource usage statistics from building pybmtools: + Process count: 4 + CPU time: Sys=0:00:00.2, User=0:00:00.4 + Memory: 53.4M + Disk usage: 1.3K + Time elapsed: 0:00:04.5 + + + number of files: 6 + INFO: sysroot: '/System/Library/Frameworks/' files: '['vmnet.framework/Versions/Current', 'vmnet.framework/Versions/A/_CodeSignature/CodeResources', 'vmnet.framework/Versions/A/Resources/version.plist', 'vmnet.framework/Versions/A/Resources/InfoPlist.loctable']' + INFO: sysroot: '/usr/lib/' files: '['zsh/5.9/zsh/zselect.so', 'zsh/5.9/zsh/zpty.so', 'zsh/5.9/zsh/zprof.so', 'zsh/5.9/zsh/zleparameter.so']' + INFO: sysroot: '/opt/X11/' files: '[]' + INFO (pybmtools,lib/python3.12/site-packages/pybmtools.cpython-312-darwin.so): Needed DSO /System/Library/Frameworks/libSystem.B.dylib found in $SYSROOT + INFO (pybmtools,lib/python3.12/site-packages/pybmtools.cpython-312-darwin.so): Needed DSO lib/libz.1.dylib found in conda-forge/osx-64::libzlib==1.2.13=h87427d6_6 + INFO (pybmtools,lib/python3.12/site-packages/pybmtools.cpython-312-darwin.so): Needed DSO lib/libcurl.4.dylib found in conda-forge/osx-64::libcurl==8.8.0=hf9fcc65_0 + WARNING (pybmtools): run-exports library package conda-forge/osx-64::zlib==1.2.13=h87427d6_6 in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to build/ignore_run_exports) + WARNING (pybmtools): run-exports library package conda-forge/osx-64::numpy==1.26.4=py312he3a82b2_0 in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to build/ignore_run_exports) + WARNING (pybmtools): interpreter (Python) package conda-forge/osx-64::python==3.12.3=h1411813_0_cpython in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to build/ignore_run_exports) + Fixing permissions + INFO :: Time taken to mark (prefix) + 0 replacements in 0 files was 0.07 seconds + TEST START: /opt/mambaforge/envs/bioconda/conda-bld/osx-64/pybmtools-0.1.3-py312h6161d9f_2.tar.bz2 + Renaming work directory '/opt/mambaforge/envs/bioconda/conda-bld/pybmtools_1717607277366/work' to '/opt/mambaforge/envs/bioconda/conda-bld/pybmtools_1717607277366/work_moved_pybmtools-0.1.3-py312h6161d9f_2_osx-64' + shutil.move(work)=/opt/mambaforge/envs/bioconda/conda-bld/pybmtools_1717607277366/work, dest=/opt/mambaforge/envs/bioconda/conda-bld/pybmtools_1717607277366/work_moved_pybmtools-0.1.3-py312h6161d9f_2_osx-64) + Reloading output folder (local): ...working... done + Solving environment (_test_env): ...working... done + + ## Package Plan ## + + environment location: /opt/mambaforge/envs/bioconda/conda-bld/pybmtools_1717607277366/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold + + + The following NEW packages will be INSTALLED: + + bzip2: 1.0.8-h10d778d_5 conda-forge + c-ares: 1.28.1-h10d778d_0 conda-forge + ca-certificates: 2024.6.2-h8857fd0_0 conda-forge + krb5: 1.21.2-hb884880_0 conda-forge + libblas: 3.9.0-22_osx64_openblas conda-forge + libcblas: 3.9.0-22_osx64_openblas conda-forge + libcurl: 8.8.0-hf9fcc65_0 conda-forge + libcxx: 17.0.6-h88467a6_0 conda-forge + libedit: 3.1.20191231-h0678c8f_2 conda-forge + libev: 4.33-h10d778d_2 conda-forge + libexpat: 2.6.2-h73e2aa4_0 conda-forge + libffi: 3.4.2-h0d85af4_5 conda-forge + libgfortran: 5.0.0-13_2_0_h97931a8_3 conda-forge + libgfortran5: 13.2.0-h2873a65_3 conda-forge + liblapack: 3.9.0-22_osx64_openblas conda-forge + libnghttp2: 1.58.0-h64cf6d3_1 conda-forge + libopenblas: 0.3.27-openmp_hfef2a42_0 conda-forge + libsqlite: 3.45.3-h92b6c6a_0 conda-forge + libssh2: 1.11.0-hd019ec5_0 conda-forge + libzlib: 1.3.1-h87427d6_1 conda-forge + llvm-openmp: 18.1.6-h15ab845_0 conda-forge + ncurses: 6.5-h5846eda_0 conda-forge + numpy: 1.26.4-py312he3a82b2_0 conda-forge + openssl: 3.3.1-h87427d6_0 conda-forge + pybmtools: 0.1.3-py312h6161d9f_2 local + python: 3.12.3-h1411813_0_cpython conda-forge + python_abi: 3.12-4_cp312 conda-forge + readline: 8.2-h9e318b2_1 conda-forge + tk: 8.6.13-h1abcd95_1 conda-forge + tzdata: 2024a-h0c530f3_0 conda-forge + xz: 5.2.6-h775f41a_0 conda-forge + zlib: 1.3.1-h87427d6_1 conda-forge + zstd: 1.5.6-h915ae27_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + python3 -c 'import pybmtools as pybm; assert(pybm.numpy == 1); assert(pybm.remote == 1)' + Traceback (most recent call last): + File "", line 1, in + AssertionError + WARNING: Tests failed for pybmtools-0.1.3-py312h6161d9f_2.tar.bz2 - moving package to /opt/mambaforge/envs/bioconda/conda-bld/broken + TESTS FAILED: pybmtools-0.1.3-py312h6161d9f_2.tar.bz2 + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/pybmtools_1717607277366/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/pybmtools_1717607277366/test_tmp + import: 'pybmtools' + import: 'pybmtools' +# Last 100 lines of the build log. diff --git a/recipes/pybmtools/meta.yaml b/recipes/pybmtools/meta.yaml index e0e1d43259ce5..f55d7d4476461 100644 --- a/recipes/pybmtools/meta.yaml +++ b/recipes/pybmtools/meta.yaml @@ -10,8 +10,7 @@ source: sha256: 1708fec1134cca044395ca7c2d8ff8f7689e3f8f6f2d83ab16e36e747cc7b63a build: - skip: True # [py2k or py36] - number: 1 + number: 2 requirements: build: diff --git a/recipes/pychopper/meta.yaml b/recipes/pychopper/meta.yaml index 107b6f615ed90..197ddbe202370 100644 --- a/recipes/pychopper/meta.yaml +++ b/recipes/pychopper/meta.yaml @@ -1,18 +1,20 @@ {% set name = "pychopper" %} -{% set version = "2.5.0" %} +{% set version = "2.7.10" %} package: name: "{{ name|lower }}" version: "{{ version }}" source: - url: https://github.com/nanoporetech/pychopper/archive/v{{ version }}.tar.gz - sha256: 1800a2c5e19f2a025da579608e87ec1a802cf5196fc9e8fed936cb09e2e5e465 + url: https://github.com/epi2me-labs/pychopper/archive/v{{ version }}.tar.gz + sha256: 99be3fd0f3e051868b7fcfa1dd88a12470e2ed0c54c326af95eba83311966595 build: noarch: python number: 0 script: {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv + run_exports: + - {{ pin_subpackage('pychopper', max_pin="x") }} requirements: host: @@ -28,13 +30,15 @@ requirements: - seaborn - six - pandas + - numpy + - pysam test: commands: - - cdna_classifier.py --help + - pychopper --help about: - home: https://github.com/nanoporetech/pychopper - license: MPL2 + home: https://github.com/epi2me-labs/pychopper + license: Mozilla Public License 2.0 summary: A tool to identify, orient and rescue full length cDNA reads from nanopore data. license_file: LICENSE.md diff --git a/recipes/pyclone-vi/meta.yaml b/recipes/pyclone-vi/meta.yaml index cbbafa0d83645..86e3312658866 100644 --- a/recipes/pyclone-vi/meta.yaml +++ b/recipes/pyclone-vi/meta.yaml @@ -1,29 +1,27 @@ -{% set version = "0.1.3" %} +{% set name = "pyclone-vi" %} +{% set version = "0.1.6" %} package: - name: pyclone-vi - version: '{{ version }}' + name: {{ name }} + version: {{ version }} source: url: https://github.com/Roth-Lab/pyclone-vi/archive/{{ version }}.tar.gz - sha256: 747887041252ecf7ef830f23ab0238a50215a853a154c8f76119bb995d543219 + sha256: 883ac95dd7903a9fb0418314e38a4bb5d028b5569942ab02135427201cef4f1f build: number: 0 noarch: python - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv " + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + entry_points: + - pyclone-vi= pyclone_vi.cli:main + run_exports: + - {{ pin_subpackage('pyclone-vi', max_pin="x.x") }} requirements: host: - python >=3.7 - pip - - click - - h5py - - numba - - numpy - - pandas - - scipy - run: - python >=3.7 - click @@ -41,15 +39,14 @@ test: about: home: https://github.com/Roth-Lab/pyclone-vi - license: GPLv3 - license_file: LICENSE.txt + license: "GPL-3.0-or-later" + license_file: "LICENSE.txt" summary: 'A fast method for inferring clonal population structure' license_family: GPL3 + dev_url: https://github.com/Roth-Lab/pyclone-vi extra: - maintainers: - - aroth85 + recipe-maintainers: + - aroth85 identifiers: - - doi:10.1186/s12859-020-03919-2 - container: - extended-base: true + - doi:10.1186/s12859-020-03919-2 diff --git a/recipes/pycluster/meta.yaml b/recipes/pycluster/meta.yaml index 57fe591abc8d3..13b39a816cc9f 100644 --- a/recipes/pycluster/meta.yaml +++ b/recipes/pycluster/meta.yaml @@ -7,7 +7,7 @@ source: md5: 9ae5425af709724e289546619d1838c8 build: - number: 7 + number: 8 script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv requirements: diff --git a/recipes/pycomo/meta.yaml b/recipes/pycomo/meta.yaml new file mode 100644 index 0000000000000..af10fd414d0aa --- /dev/null +++ b/recipes/pycomo/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "pycomo" %} +{% set version = "0.2.2" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/pycomo-{{ version }}.tar.gz + sha256: 242973127addd422bcfabc8db79caaaa88c3a1e87f86b735a4de5449abe99331 + +build: + entry_points: + - pycomo = pycomo.pycomo_models:main + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('pycomo', max_pin="x.x") }} + +requirements: + host: + - python >=3.9 + - setuptools + - pip + run: + - python >=3.9 + - cobra >=0.23.0 + - pandas >=1.5.3 + - python-libsbml >=5.20.1 + - numpy >=1.22.4 + +test: + imports: + - pycomo + commands: + - pip check + - pycomo --help + requires: + - pip + +about: + home: https://github.com/univieCUBE/PyCoMo + summary: PyCoMo is a software package for generating and analysing compartmentalized community metabolic models + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - mpredl diff --git a/recipes/pycov3/meta.yaml b/recipes/pycov3/meta.yaml new file mode 100644 index 0000000000000..f5ac7f49a1a19 --- /dev/null +++ b/recipes/pycov3/meta.yaml @@ -0,0 +1,45 @@ +{% set name = "pycov3" %} +{% set version = "2.1.0" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: 7fcd34f840fb93b0e951eca51f23b4df7548412577d9bc4a6e1fbf855b97329a + +build: + number: 0 + noarch: python + entry_points: + - pycov3 = pycov3.cli:main + script: "{{ PYTHON }} -m pip install . -vv" + run_exports: + - {{ pin_subpackage('pycov3', max_pin="x") }} + +requirements: + host: + - pip + - python + run: + - python + +test: + imports: + - pycov3 + commands: + - pycov3 --help + +about: + home: https://github.com/Ulthran/pycov3 + license: MIT + license_family: MIT + license_file: + summary: "Generate cov3 files used in DEMIC" + doc_url: + dev_url: https://github.com/Ulthran/pycov3 + +extra: + recipe-maintainers: + - Ulthran diff --git a/recipes/pydamage/meta.yaml b/recipes/pydamage/meta.yaml index 10d38b9c95b16..f192b2ad8e663 100644 --- a/recipes/pydamage/meta.yaml +++ b/recipes/pydamage/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pydamage" %} -{% set version = "0.72" %} +{% set version = "0.80" %} package: @@ -8,7 +8,7 @@ package: source: url: https://github.com/maxibor/{{ name }}/archive/refs/tags/{{ version }}.tar.gz - sha256: a386cf89df86ea811660d93936d8153dad05ec79b1d2984dc86b14420e5ae139 + sha256: b51682e513aa3a22fcac46e22fd404a1c8b3484c2e9e0b8aeedcabaf1fddd720 build: number: 0 @@ -22,7 +22,7 @@ build: requirements: host: - pip - - python >=3.6 + - python >=3.10 run: - biopython - click @@ -31,10 +31,11 @@ requirements: - numpy - pandas - pysam >=0.13.0 - - python >=3.6 + - python >=3.10 - scipy - statsmodels - tqdm + - numba test: imports: diff --git a/recipes/pydbsnp/meta.yaml b/recipes/pydbsnp/meta.yaml new file mode 100644 index 0000000000000..aaf56010068e2 --- /dev/null +++ b/recipes/pydbsnp/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "pydbsnp" %} +{% set version = "2.0.2" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/pydbsnp-{{ version }}.tar.gz + sha256: 07259a3bd1412e72664c908f364dccb7f6a5ae28e44a012620fd8959a4aa296b + +build: + entry_points: + - pydbsnp-download=pydbsnp.download:main + - pydbsnp-index=pydbsnp.index:main + - pydbsnp-query=pydbsnp.query:main + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_compatible(name, max_pin="x") }} + +requirements: + host: + - python + - pip + run: + - python + - pysam + +test: + imports: + - pydbsnp + commands: + - pip check + - pydbsnp-download --help + - pydbsnp-index --help + - pydbsnp-query --help + requires: + - pip + +about: + home: https://gitlab.com/aaylward/pydbsnp + summary: Interface with dbSNP VCF data + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - JohannesGawron diff --git a/recipes/pydeseq2/meta.yaml b/recipes/pydeseq2/meta.yaml index a15262ff69be7..466847c774fb9 100644 --- a/recipes/pydeseq2/meta.yaml +++ b/recipes/pydeseq2/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pydeseq2" %} -{% set version = "0.4.3" %} +{% set version = "0.4.11" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/pydeseq2-{{ version }}.tar.gz - sha256: 694f4fa1d390304488cd55b317204b21cb1d724a60ebb167a6973138d0f05faf + sha256: 3eb9ae8fd586c04c03e0fa49f274c2db65d0fad19c91803dda09dccb7aaf598c build: noarch: python @@ -18,18 +18,17 @@ build: requirements: host: - - python >=3.8 + - python >=3.9 - pip run: - - python >=3.8 + - python >=3.9 - anndata >=0.8.0 - jupyter - ipython - numpy >=1.23.0 - pandas >=1.4.0 - scikit-learn >=1.1.0 - - scipy >=1.8.0 - - statsmodels + - scipy >=1.11.0 - matplotlib-base >=3.6.2 test: diff --git a/recipes/pydmtools/build_failure.linux-64.yaml b/recipes/pydmtools/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..abf6a3d8b46a3 --- /dev/null +++ b/recipes/pydmtools/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 8f10b05186e148a79623596e12e53edcb2c6b717a006b7f0428a546e4daeb6fe # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + byte-compiling $PREFIX/lib/python3.12/site-packages/pydmtest/__init__.py to __init__.cpython-312.pyc + byte-compiling $PREFIX/lib/python3.12/site-packages/pydmtest/test.py to test.cpython-312.pyc + running install_egg_info + Copying pydmtools.egg-info to $PREFIX/lib/python3.12/site-packages/pydmtools-0.1.1-py3.12.egg-info + running install_scripts + writing list of installed files to 'record.txt' + + Resource usage statistics from building pydmtools: + Process count: 6 + CPU time: Sys=0:00:00.1, User=0:00:00.7 + Memory: 110.1M + Disk usage: 812B + Time elapsed: 0:00:04.0 + + + compiling .pyc files... + number of files: 12 + Warning: rpath /opt/conda/conda-bld/pydmtools_1717606541532/_build_env/lib is outside prefix /opt/conda/conda-bld/pydmtools_1717606541532/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla (removing it) + INFO: sysroot: '/opt/conda/conda-bld/pydmtools_1717606541532/_build_env/x86_64-conda-linux-gnu/sysroot/' files: '['usr/share/zoneinfo/zone.tab', 'usr/share/zoneinfo/tzdata.zi', 'usr/share/zoneinfo/right/Zulu', 'usr/share/zoneinfo/right/WET']' + INFO (pydmtools,lib/python3.12/site-packages/pydmtools.cpython-312-x86_64-linux-gnu.so): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libm.so.6 found in CDT/compiler package conda-forge/noarch::sysroot_linux-64==2.12=he073ed8_17 + INFO (pydmtools,lib/python3.12/site-packages/pydmtools.cpython-312-x86_64-linux-gnu.so): Needed DSO lib/libz.so.1 found in conda-forge/linux-64::libzlib==1.2.13=h4ab18f5_6 + INFO (pydmtools,lib/python3.12/site-packages/pydmtools.cpython-312-x86_64-linux-gnu.so): Needed DSO lib/libcurl.so.4 found in conda-forge/linux-64::libcurl==8.8.0=hca28451_0 + INFO (pydmtools,lib/python3.12/site-packages/pydmtools.cpython-312-x86_64-linux-gnu.so): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libc.so.6 found in CDT/compiler package conda-forge/noarch::sysroot_linux-64==2.12=he073ed8_17 + WARNING (pydmtools): interpreter (Python) package conda-forge/linux-64::python==3.12.3=hab00c5b_0_cpython in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to build/ignore_run_exports) + WARNING (pydmtools): run-exports library package conda-forge/linux-64::zlib==1.2.13=h4ab18f5_6 in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to build/ignore_run_exports) + WARNING (pydmtools): run-exports library package conda-forge/linux-64::numpy==1.26.4=py312heda63a1_0 in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to build/ignore_run_exports) + Fixing permissions + INFO :: Time taken to mark (prefix) + 0 replacements in 0 files was 0.01 seconds + TEST START: /opt/conda/conda-bld/linux-64/pydmtools-0.1.1-py312hfa7e9eb_2.tar.bz2 + Renaming work directory '/opt/conda/conda-bld/pydmtools_1717606541532/work' to '/opt/conda/conda-bld/pydmtools_1717606541532/work_moved_pydmtools-0.1.1-py312hfa7e9eb_2_linux-64' + shutil.move(work)=/opt/conda/conda-bld/pydmtools_1717606541532/work, dest=/opt/conda/conda-bld/pydmtools_1717606541532/work_moved_pydmtools-0.1.1-py312hfa7e9eb_2_linux-64) + Reloading output folder (local, file:///opt/host-conda-bld): ...working... done + Solving environment (_test_env): ...working... done + + ## Package Plan ## + + environment location: /opt/conda/conda-bld/pydmtools_1717606541532/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol + + + The following NEW packages will be INSTALLED: + + _libgcc_mutex: 0.1-conda_forge conda-forge + _openmp_mutex: 4.5-2_gnu conda-forge + bzip2: 1.0.8-hd590300_5 conda-forge + c-ares: 1.28.1-hd590300_0 conda-forge + ca-certificates: 2024.6.2-hbcca054_0 conda-forge + keyutils: 1.6.1-h166bdaf_0 conda-forge + krb5: 1.21.2-h659d440_0 conda-forge + ld_impl_linux-64: 2.40-hf3520f5_2 conda-forge + libblas: 3.9.0-22_linux64_openblas conda-forge + libcblas: 3.9.0-22_linux64_openblas conda-forge + libcurl: 8.8.0-hca28451_0 conda-forge + libedit: 3.1.20191231-he28a2e2_2 conda-forge + libev: 4.33-hd590300_2 conda-forge + libexpat: 2.6.2-h59595ed_0 conda-forge + libffi: 3.4.2-h7f98852_5 conda-forge + libgcc-ng: 13.2.0-h77fa898_7 conda-forge + libgfortran-ng: 13.2.0-h69a702a_7 conda-forge + libgfortran5: 13.2.0-hca663fb_7 conda-forge + libgomp: 13.2.0-h77fa898_7 conda-forge + liblapack: 3.9.0-22_linux64_openblas conda-forge + libnghttp2: 1.58.0-h47da74e_1 conda-forge + libnsl: 2.0.1-hd590300_0 conda-forge + libopenblas: 0.3.27-pthreads_h413a1c8_0 conda-forge + libsqlite: 3.45.3-h2797004_0 conda-forge + libssh2: 1.11.0-h0841786_0 conda-forge + libstdcxx-ng: 13.2.0-hc0a3c3a_7 conda-forge + libuuid: 2.38.1-h0b41bf4_0 conda-forge + libxcrypt: 4.4.36-hd590300_1 conda-forge + libzlib: 1.3.1-h4ab18f5_1 conda-forge + ncurses: 6.5-h59595ed_0 conda-forge + numpy: 1.26.4-py312heda63a1_0 conda-forge + openssl: 3.3.1-h4ab18f5_0 conda-forge + pip: 24.0-pyhd8ed1ab_0 conda-forge + pydmtools: 0.1.1-py312hfa7e9eb_2 local + python: 3.12.3-hab00c5b_0_cpython conda-forge + python_abi: 3.12-4_cp312 conda-forge + readline: 8.2-h8228510_1 conda-forge + setuptools: 70.0.0-pyhd8ed1ab_0 conda-forge + tk: 8.6.13-noxft_h4845f30_101 conda-forge + tzdata: 2024a-h0c530f3_0 conda-forge + wheel: 0.43.0-pyhd8ed1ab_1 conda-forge + xz: 5.2.6-h166bdaf_0 conda-forge + zlib: 1.3.1-h4ab18f5_1 conda-forge + zstd: 1.5.6-ha6fb4c9_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + export PREFIX=/opt/conda/conda-bld/pydmtools_1717606541532/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol + export SRC_DIR=/opt/conda/conda-bld/pydmtools_1717606541532/test_tmp + import: 'pydmtools' + import: 'pydmtools' + python3 -c 'import pydmtools as pydm; assert(pydm.numpy == 1); assert(pydm.remote == 1)' + Traceback (most recent call last): + File "", line 1, in + AssertionError + WARNING: Tests failed for pydmtools-0.1.1-py312hfa7e9eb_2.tar.bz2 - moving package to /opt/conda/conda-bld/broken + TESTS FAILED: pydmtools-0.1.1-py312hfa7e9eb_2.tar.bz2 +# Last 100 lines of the build log. diff --git a/recipes/pydmtools/build_failure.osx-64.yaml b/recipes/pydmtools/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..6fde2201083aa --- /dev/null +++ b/recipes/pydmtools/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 8f10b05186e148a79623596e12e53edcb2c6b717a006b7f0428a546e4daeb6fe # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + x86_64-apple-darwin13.4.0-clang -fno-strict-overflow -DNDEBUG -O2 -Wall -fPIC -O2 -isystem $PREFIX/include -fPIC -O2 -isystem $PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pydmtools-0.1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Ilibdm -I$PREFIX/include/python3.12 -I$PREFIX/include/python3.12 -c libdm/bmWrite.c -o build/temp.macosx-10.9-x86_64-cpython-312/libdm/bmWrite.o + x86_64-apple-darwin13.4.0-clang -fno-strict-overflow -DNDEBUG -O2 -Wall -fPIC -O2 -isystem $PREFIX/include -fPIC -O2 -isystem $PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pydmtools-0.1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Ilibdm -I$PREFIX/include/python3.12 -I$PREFIX/include/python3.12 -c libdm/io.c -o build/temp.macosx-10.9-x86_64-cpython-312/libdm/io.o + x86_64-apple-darwin13.4.0-clang -fno-strict-overflow -DNDEBUG -O2 -Wall -fPIC -O2 -isystem $PREFIX/include -fPIC -O2 -isystem $PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pydmtools-0.1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -Ilibdm -I$PREFIX/include/python3.12 -I$PREFIX/include/python3.12 -c pydmtools.c -o build/temp.macosx-10.9-x86_64-cpython-312/pydmtools.o + x86_64-apple-darwin13.4.0-clang -bundle -undefined dynamic_lookup -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pydmtools-0.1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 build/temp.macosx-10.9-x86_64-cpython-312/libdm/bmRead.o build/temp.macosx-10.9-x86_64-cpython-312/libdm/bmStats.o build/temp.macosx-10.9-x86_64-cpython-312/libdm/bmValues.o build/temp.macosx-10.9-x86_64-cpython-312/libdm/bmWrite.o build/temp.macosx-10.9-x86_64-cpython-312/libdm/io.o build/temp.macosx-10.9-x86_64-cpython-312/pydmtools.o -L$PREFIX/lib -L$PREFIX/lib/python3.12/config-3.12-darwin -L$PREFIX/lib -lm -lz -lcurl -o build/lib.macosx-10.9-x86_64-cpython-312/pydmtools.cpython-312-darwin.so + running install_lib + copying build/lib.macosx-10.9-x86_64-cpython-312/pydmtools.cpython-312-darwin.so -> $PREFIX/lib/python3.12/site-packages + creating $PREFIX/lib/python3.12/site-packages/pydmtest + copying build/lib.macosx-10.9-x86_64-cpython-312/pydmtest/__init__.py -> $PREFIX/lib/python3.12/site-packages/pydmtest + copying build/lib.macosx-10.9-x86_64-cpython-312/pydmtest/test.py -> $PREFIX/lib/python3.12/site-packages/pydmtest + copying build/lib.macosx-10.9-x86_64-cpython-312/pydmtest/testnp.dm -> $PREFIX/lib/python3.12/site-packages/pydmtest + copying build/lib.macosx-10.9-x86_64-cpython-312/pydmtest/test.dm -> $PREFIX/lib/python3.12/site-packages/pydmtest + byte-compiling $PREFIX/lib/python3.12/site-packages/pydmtest/__init__.py to __init__.cpython-312.pyc + byte-compiling $PREFIX/lib/python3.12/site-packages/pydmtest/test.py to test.cpython-312.pyc + running install_egg_info + Copying pydmtools.egg-info to $PREFIX/lib/python3.12/site-packages/pydmtools-0.1.1-py3.12.egg-info + running install_scripts + writing list of installed files to 'record.txt' + + Resource usage statistics from building pydmtools: + Process count: 4 + CPU time: Sys=0:00:00.2, User=0:00:00.5 + Memory: 88.0M + Disk usage: 1.3K + Time elapsed: 0:00:04.5 + + + compiling .pyc files... + number of files: 12 + INFO: sysroot: '/System/Library/Frameworks/' files: '['vmnet.framework/Versions/Current', 'vmnet.framework/Versions/A/_CodeSignature/CodeResources', 'vmnet.framework/Versions/A/Resources/version.plist', 'vmnet.framework/Versions/A/Resources/InfoPlist.loctable']' + INFO: sysroot: '/usr/lib/' files: '['zsh/5.9/zsh/zselect.so', 'zsh/5.9/zsh/zpty.so', 'zsh/5.9/zsh/zprof.so', 'zsh/5.9/zsh/zleparameter.so']' + INFO: sysroot: '/opt/X11/' files: '[]' + INFO (pydmtools,lib/python3.12/site-packages/pydmtools.cpython-312-darwin.so): Needed DSO /System/Library/Frameworks/libSystem.B.dylib found in $SYSROOT + INFO (pydmtools,lib/python3.12/site-packages/pydmtools.cpython-312-darwin.so): Needed DSO lib/libz.1.dylib found in conda-forge/osx-64::libzlib==1.2.13=h87427d6_6 + INFO (pydmtools,lib/python3.12/site-packages/pydmtools.cpython-312-darwin.so): Needed DSO lib/libcurl.4.dylib found in conda-forge/osx-64::libcurl==8.8.0=hf9fcc65_0 + WARNING (pydmtools): run-exports library package conda-forge/osx-64::numpy==1.26.4=py312he3a82b2_0 in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to build/ignore_run_exports) + WARNING (pydmtools): run-exports library package conda-forge/osx-64::zlib==1.2.13=h87427d6_6 in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to build/ignore_run_exports) + WARNING (pydmtools): interpreter (Python) package conda-forge/osx-64::python==3.12.3=h1411813_0_cpython in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to build/ignore_run_exports) + Fixing permissions + INFO :: Time taken to mark (prefix) + 0 replacements in 0 files was 0.07 seconds + TEST START: /opt/mambaforge/envs/bioconda/conda-bld/osx-64/pydmtools-0.1.1-py312h6161d9f_2.tar.bz2 + Renaming work directory '/opt/mambaforge/envs/bioconda/conda-bld/pydmtools_1717607914466/work' to '/opt/mambaforge/envs/bioconda/conda-bld/pydmtools_1717607914466/work_moved_pydmtools-0.1.1-py312h6161d9f_2_osx-64' + shutil.move(work)=/opt/mambaforge/envs/bioconda/conda-bld/pydmtools_1717607914466/work, dest=/opt/mambaforge/envs/bioconda/conda-bld/pydmtools_1717607914466/work_moved_pydmtools-0.1.1-py312h6161d9f_2_osx-64) + Reloading output folder (local): ...working... done + Solving environment (_test_env): ...working... done + + ## Package Plan ## + + environment location: /opt/mambaforge/envs/bioconda/conda-bld/pydmtools_1717607914466/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold + + + The following NEW packages will be INSTALLED: + + bzip2: 1.0.8-h10d778d_5 conda-forge + c-ares: 1.28.1-h10d778d_0 conda-forge + ca-certificates: 2024.6.2-h8857fd0_0 conda-forge + krb5: 1.21.2-hb884880_0 conda-forge + libblas: 3.9.0-22_osx64_openblas conda-forge + libcblas: 3.9.0-22_osx64_openblas conda-forge + libcurl: 8.8.0-hf9fcc65_0 conda-forge + libcxx: 17.0.6-h88467a6_0 conda-forge + libedit: 3.1.20191231-h0678c8f_2 conda-forge + libev: 4.33-h10d778d_2 conda-forge + libexpat: 2.6.2-h73e2aa4_0 conda-forge + libffi: 3.4.2-h0d85af4_5 conda-forge + libgfortran: 5.0.0-13_2_0_h97931a8_3 conda-forge + libgfortran5: 13.2.0-h2873a65_3 conda-forge + liblapack: 3.9.0-22_osx64_openblas conda-forge + libnghttp2: 1.58.0-h64cf6d3_1 conda-forge + libopenblas: 0.3.27-openmp_hfef2a42_0 conda-forge + libsqlite: 3.45.3-h92b6c6a_0 conda-forge + libssh2: 1.11.0-hd019ec5_0 conda-forge + libzlib: 1.3.1-h87427d6_1 conda-forge + llvm-openmp: 18.1.6-h15ab845_0 conda-forge + ncurses: 6.5-h5846eda_0 conda-forge + numpy: 1.26.4-py312he3a82b2_0 conda-forge + openssl: 3.3.1-h87427d6_0 conda-forge + pydmtools: 0.1.1-py312h6161d9f_2 local + python: 3.12.3-h1411813_0_cpython conda-forge + python_abi: 3.12-4_cp312 conda-forge + readline: 8.2-h9e318b2_1 conda-forge + tk: 8.6.13-h1abcd95_1 conda-forge + tzdata: 2024a-h0c530f3_0 conda-forge + xz: 5.2.6-h775f41a_0 conda-forge + zlib: 1.3.1-h87427d6_1 conda-forge + zstd: 1.5.6-h915ae27_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + python3 -c 'import pydmtools as pydm; assert(pydm.numpy == 1); assert(pydm.remote == 1)' + Traceback (most recent call last): + File "", line 1, in + AssertionError + WARNING: Tests failed for pydmtools-0.1.1-py312h6161d9f_2.tar.bz2 - moving package to /opt/mambaforge/envs/bioconda/conda-bld/broken + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/pydmtools_1717607914466/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/pydmtools_1717607914466/test_tmp + import: 'pydmtools' + import: 'pydmtools' + TESTS FAILED: pydmtools-0.1.1-py312h6161d9f_2.tar.bz2 +# Last 100 lines of the build log. diff --git a/recipes/pydmtools/meta.yaml b/recipes/pydmtools/meta.yaml index de50a7bfe9039..c472ca68d1c3d 100644 --- a/recipes/pydmtools/meta.yaml +++ b/recipes/pydmtools/meta.yaml @@ -10,8 +10,7 @@ source: sha256: 5f24ea5d41431509adeed1c834c4efd88c5bb01ec969fb00b30d5f6841de83a9 build: - skip: True # [py2k or py36] - number: 1 + number: 2 requirements: build: diff --git a/recipes/pydna/meta.yaml b/recipes/pydna/meta.yaml index d55993eb39537..9015c821a1756 100644 --- a/recipes/pydna/meta.yaml +++ b/recipes/pydna/meta.yaml @@ -1,6 +1,6 @@ {% set name = "pydna" %} -{% set version = "3.1.0" %} -{% set hash = "99ed63c845e666b328f728a555ab622d42826cfa515c393d635c22be48727a7b" %} +{% set version = "5.2.0" %} +{% set hash = "24e89cc71c77c727c3681da8fe889fb65f243766db63fb17f67a8a6280fde313" %} package: name: {{ name|lower }} @@ -10,25 +10,33 @@ build: number: 0 noarch: python script: {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv + script_env: + # Workaround for poetry-dynamic-versioning generating incorrect version due + # to missing Git metadata. + - POETRY_DYNAMIC_VERSIONING_BYPASS={{ version }} + run_exports: + - {{ pin_subpackage('pydna', max_pin='x.x') }} source: - url: https://github.com/BjornFJohansson/{{ name|lower }}/archive/{{ version }}.tar.gz + url: https://github.com/BjornFJohansson/{{ name|lower }}/archive/v{{ version }}.tar.gz sha256: {{ hash }} requirements: host: - - python >=3 + - python >=3.8 - pip - - pytest-runner + - poetry + - poetry-dynamic-versioning run: - - python >=3 - - biopython >=1.65 - - networkx >=1.8.1 - - appdirs >=1.3.0 - - prettytable >=0.7.2 - - ordered-set >=2.0.1 - - pyparsing >=2.1.10 - - requests >=2.12 + - python >=3.8 + - appdirs >=1.4.4 + - biopython >=1.80 + - networkx >=2.8.8 + - prettytable >=3.5.0 + - pyperclip >=1.8.2 + - pyfiglet >=0.8.post1 + - pyparsing >=2.4.7 + - requests >=2.26.0 test: imports: @@ -39,4 +47,4 @@ about: license: BSD-3-Clause license_family: BSD license_file: LICENSE.txt - summary: 'Representing double stranded DNA and simulating cloning, homologous recombination, Gibson assembly, Gel electrophoresis etc.' + summary: 'Representing double stranded DNA and functions for simulating cloning and homologous recombination between DNA molecules.' diff --git a/recipes/pydna_repeatfinder/meta.yaml b/recipes/pydna_repeatfinder/meta.yaml new file mode 100644 index 0000000000000..23c9b137b3fbf --- /dev/null +++ b/recipes/pydna_repeatfinder/meta.yaml @@ -0,0 +1,53 @@ +{% set name = "pydna_repeatfinder" %} +{% set version = "0.2.9" %} +{% set pypiname = "pydnarepeatfinder" %} +{% set sha256 = "2f88be25392e2fbb3f0d524b527725b4c9b2578a1ece0949a8dd0f72d1b137a6" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: "https://pypi.io/packages/source/{{ pypiname[0] }}/{{ pypiname }}/{{ pypiname }}-{{ version }}.tar.gz" + sha256: {{ sha256 }} + +build: + number: 1 + script: "{{ PYTHON }} -m pip install --no-deps --no-build-isolation --no-cache-dir . -vvv" + entry_points: + - pydna_repeatfinder = pydna_repeatfinder.cli:run + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + build: + - {{ compiler('cxx') }} + - make + - cmake >=3.15 + host: + - python + - pip + - scikit-build-core + run: + - python + +test: + imports: + - PyRepeatFinder + commands: + - pydna_repeatfinder --version + +about: + home: "https://github.com/linsalrob/repeatfinder" + license: MIT + license_family: MIT + license_file: LICENSE + summary: "Search for direct and inverted repeats in DNA sequences." + doc_url: "https://github.com/linsalrob/repeatfinder" + dev_url: "https://github.com/linsalrob/repeatfinder" + +extra: + recipe-maintainers: + - linsalrob + identifiers: + - doi:10.5281/zenodo.5006657 diff --git a/recipes/pydnase/build_failure.linux-64.yaml b/recipes/pydnase/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..e0c2bffe86dc4 --- /dev/null +++ b/recipes/pydnase/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 88fd8bc835682f62fa91454e563f504f3f4a98d0ef926d459bc495729b64c202 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + Verifying transaction: ...working... done + Executing transaction: ...working... done + Reloading output folder (local, file:///opt/host-conda-bld): ...working... done + Solving environment (_test_env): ...working... done + + ## Package Plan ## + + environment location: /opt/conda/conda-bld/pydnase_1718210159482/_build_env + + + The following NEW packages will be INSTALLED: + + _libgcc_mutex: 0.1-conda_forge conda-forge + _openmp_mutex: 4.5-2_gnu conda-forge + binutils_impl_linux-64: 2.40-ha1999f0_3 conda-forge + binutils_linux-64: 2.40-hb3c18ed_6 conda-forge + gcc_impl_linux-64: 12.3.0-h58ffeeb_7 conda-forge + gcc_linux-64: 12.3.0-h6b3dd4b_6 conda-forge + kernel-headers_linux-64: 2.6.32-he073ed8_17 conda-forge + ld_impl_linux-64: 2.40-hf3520f5_3 conda-forge + libgcc-devel_linux-64: 12.3.0-h0223996_107 conda-forge + libgcc-ng: 13.2.0-h77fa898_7 conda-forge + libgomp: 13.2.0-h77fa898_7 conda-forge + libsanitizer: 12.3.0-hb8811af_7 conda-forge + libstdcxx-ng: 13.2.0-hc0a3c3a_7 conda-forge + sysroot_linux-64: 2.12-he073ed8_17 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Found source in cache: pyDNase-0.3.0_dba03cadca.tar.gz + Extracting download + source tree in: /opt/conda/conda-bld/pydnase_1718210159482/work + export PREFIX=/opt/conda/conda-bld/pydnase_1718210159482/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place + export BUILD_PREFIX=/opt/conda/conda-bld/pydnase_1718210159482/_build_env + export SRC_DIR=/opt/conda/conda-bld/pydnase_1718210159482/work + INFO: activate-binutils_linux-64.sh made the following environmental changes: + ADDR2LINE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-addr2line + AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar + AS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-as + CXXFILT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cfilt + DWP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-dwp + ELFEDIT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-elfedit + GPROF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gprof + LD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld + LD_GOLD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld.gold + NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-nm + OBJCOPY=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objcopy + OBJDUMP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objdump + RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib + READELF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-readelf + SIZE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-size + STRINGS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strings + STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip + INFO: activate-gcc_linux-64.sh made the following environmental changes: + BUILD=x86_64-conda-linux-gnu + CC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pydnase-0.3.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH=$PREFIX;$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=$PREFIX:$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot/usr + CONDA_BUILD_SYSROOT=$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot + CONDA_TOOLCHAIN_BUILD=x86_64-conda-linux-gnu + CONDA_TOOLCHAIN_HOST=x86_64-conda-linux-gnu + CPP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cpp + CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include + DEBUG_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pydnase-0.3.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem $PREFIX/include + GCC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc + GCC_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar + GCC_NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-nm + GCC_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib + HOST=x86_64-conda-linux-gnu + LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_cos6_linux_gnu + build_alias=x86_64-conda-linux-gnu + host_alias=x86_64-conda-linux-gnu + -BUILD=x86_64-conda_cos6-linux-gnu + -CONDA_BUILD_SYSROOT= + Traceback (most recent call last): + File "/opt/conda/conda-bld/pydnase_1718210159482/work/setup.py", line 3, in + import imp + ModuleNotFoundError: No module named 'imp' + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/pydnase_1718210159482/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/pydnase/build_failure.osx-64.yaml b/recipes/pydnase/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..0f9c9f9ef2bc5 --- /dev/null +++ b/recipes/pydnase/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 88fd8bc835682f62fa91454e563f504f3f4a98d0ef926d459bc495729b64c202 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + The following NEW packages will be INSTALLED: + + ca-certificates: 2024.6.2-h8857fd0_0 conda-forge + cctools_osx-64: 986-ha1c5b94_0 conda-forge + clang: 16.0.6-default_ha3b9224_8 conda-forge + clang-16: 16.0.6-default_h4c8afb6_8 conda-forge + clang_impl_osx-64: 16.0.6-h8787910_16 conda-forge + clang_osx-64: 16.0.6-hb91bd55_16 conda-forge + clangxx: 16.0.6-default_ha3b9224_8 conda-forge + compiler-rt: 16.0.6-ha38d28d_2 conda-forge + compiler-rt_osx-64: 16.0.6-ha38d28d_2 conda-forge + icu: 73.2-hf5e326d_0 conda-forge + ld64_osx-64: 711-ha20a434_0 conda-forge + libclang-cpp16: 16.0.6-default_h4c8afb6_8 conda-forge + libcxx: 17.0.6-h88467a6_0 conda-forge + libiconv: 1.17-hd75f5a5_2 conda-forge + libllvm16: 16.0.6-hbedff68_3 conda-forge + libxml2: 2.12.7-h3e169fe_1 conda-forge + libzlib: 1.3.1-h87427d6_1 conda-forge + llvm-tools: 16.0.6-hbedff68_3 conda-forge + openssl: 3.3.1-h87427d6_0 conda-forge + sigtool: 0.1.3-h88f4db0_0 conda-forge + tapi: 1100.0.11-h9ce4665_0 conda-forge + xz: 5.2.6-h775f41a_0 conda-forge + zstd: 1.5.6-h915ae27_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache + Downloading source to cache: pyDNase-0.3.0_dba03cadca.tar.gz + Downloading https://pypi.io/packages/source/p/pyDNase/pyDNase-0.3.0.tar.gz + Success + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/conda-bld/pydnase_1718128258116/work/setup.py", line 3, in + import imp + ModuleNotFoundError: No module named 'imp' + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/pydnase_1718128258116/work + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/pydnase_1718128258116/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/pydnase_1718128258116/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/pydnase_1718128258116/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + raise subprocess.CalledProcessError(proc.returncode, _args) + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pydnase-0.3.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/pydnase_1718128258116/work/conda_build.sh']' returned non-zero exit status 1. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pydnase-0.3.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 +# Last 100 lines of the build log. diff --git a/recipes/pydnase/meta.yaml b/recipes/pydnase/meta.yaml index 05ddc3c862cce..048e6f61da7c6 100644 --- a/recipes/pydnase/meta.yaml +++ b/recipes/pydnase/meta.yaml @@ -9,7 +9,7 @@ source: sha256: dba03cadca37929a1cc41545e962136f29efc41f8e3c6de042c51c47ee04d558 build: - number: 5 + number: 6 skip: True # [py<30] requirements: diff --git a/recipes/pydustmasker/build.sh b/recipes/pydustmasker/build.sh new file mode 100644 index 0000000000000..6a81c03470ead --- /dev/null +++ b/recipes/pydustmasker/build.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +set -ex + +if [ `uname` == Darwin ]; then + export HOME=`mktemp -d` +fi + +curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain nightly --profile=minimal -y + +export PATH="$HOME/.cargo/bin:$PATH" + +export CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER="$CC" +export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER="$CC" + +maturin build --interpreter python --release + +$PYTHON -m pip install target/wheels/*.whl --no-deps --ignore-installed -vv diff --git a/recipes/pydustmasker/meta.yaml b/recipes/pydustmasker/meta.yaml new file mode 100644 index 0000000000000..9ba1605e6cfb3 --- /dev/null +++ b/recipes/pydustmasker/meta.yaml @@ -0,0 +1,40 @@ +{% set name = "pydustmasker" %} +{% set version = "1.0.0" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + sha256: 03f875b3cdb595394eabed823d80d4da50d687f3ade4a017ff0159ce277ae331 + +build: + number: 1 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + build: + - {{ compiler('c') }} + host: + - pip + - maturin + - python + run: + - python + +test: + imports: + - pydustmasker + +about: + home: https://github.com/apcamargo/pydustmasker + license: MIT + license_family: MIT + license_file: LICENSE + summary: "Python library for identification and masking of low-complexity regions in nucleotide sequences." + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/pyega3/meta.yaml b/recipes/pyega3/meta.yaml index b2560c1d2c903..5e8ff430248aa 100644 --- a/recipes/pyega3/meta.yaml +++ b/recipes/pyega3/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pyega3" %} -{% set version = "5.1.0" %} +{% set version = "5.2.0" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: f8ffa8558da52ad17b83bda2c94a289cd51f24e86e3230b8eff3aaba3f7db3ce + sha256: 95539b8e153f2311d89a6905723598013fd12a9d0784a911ed1b550a4094bad1 build: number: 0 diff --git a/recipes/pyensembl/meta.yaml b/recipes/pyensembl/meta.yaml index 7a0be0abda1ae..fedc72c441759 100644 --- a/recipes/pyensembl/meta.yaml +++ b/recipes/pyensembl/meta.yaml @@ -1,6 +1,6 @@ {% set name = "PyEnsembl" %} -{% set version = "2.2.9" %} -{% set sha256 = "f570073181130855be0bfd813c605546cbd97aa3017aa82998ddbc0595ddf24d" %} +{% set version = "2.3.13" %} +{% set sha256 = "c70ce760f68fe2a6be871db44e53ce1d4d1227f2ce0578c6b291d5a89f5d1832" %} package: name: {{ name|lower }} diff --git a/recipes/pyfaidx/meta.yaml b/recipes/pyfaidx/meta.yaml index d39bacf8ec44f..c651e2a86f1c6 100644 --- a/recipes/pyfaidx/meta.yaml +++ b/recipes/pyfaidx/meta.yaml @@ -1,12 +1,12 @@ -{% set version = "0.7.2.2" %} +{% set version = "0.8.1.3" %} package: name: pyfaidx version: {{ version }} source: - url: https://files.pythonhosted.org/packages/19/ec/929a2ab2247105210ccc6ea61ab1af0bd9316eb6b3412123cfbd88a0bc60/pyfaidx-0.7.2.2.tar.gz - sha256: 3b7693c052c82691000fe4a92475db82ffc3b5a721a12b10dfbc87119c4b4d30 + url: https://files.pythonhosted.org/packages/d5/38/c674c28f3bf862d26d8e6a48f5b4102652dbdc2bce308e240aa18e9259d8/pyfaidx-0.8.1.3.tar.gz + sha256: feb599f8dfd192cf68bdb24969a5fd8f46772a7bd75d059e764bfd86b888e9b2 build: number: 0 diff --git a/recipes/pyfamsa/meta.yaml b/recipes/pyfamsa/meta.yaml index bfd3445e2a511..5cb5faa479d92 100644 --- a/recipes/pyfamsa/meta.yaml +++ b/recipes/pyfamsa/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pyfamsa" %} -{% set version = "0.3.0" %} +{% set version = "0.5.2" %} package: name: "{{ name|lower }}" @@ -7,12 +7,13 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: b00e6fdf87975d9e256ef493cc82880308bd66b4fd29b5185b5337f0709cd28f + sha256: 5715eccfaf0ac38f9eba951285de900086e10007b0e2508e3735879d7e4e5fce build: number: 0 - skip: True #[py2k] - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vvv " + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir --use-pep517 -vvv" + run_exports: + - {{ pin_subpackage('pyfamsa', max_pin="x.x") }} requirements: build: @@ -22,11 +23,11 @@ requirements: - python - pip - cython - - setuptools - semantic_version + - scoring-matrices >=0.2 run: - python - - setuptools + - scoring-matrices >=0.2 test: imports: @@ -36,12 +37,16 @@ test: about: home: https://github.com/althonos/pyfamsa - license: GPL-3 - license_family: GPL + license: GPL-3.0-or-later + license_family: GPL3 license_file: COPYING - summary: Cython bindings and Python interface to FAMSA, an algorithm for ultra-scale multiple sequence alignments. - doc_url: https://pyfamsa.readthedocs.org/ + summary: "Cython bindings and Python interface to FAMSA, an algorithm for ultra-scale multiple sequence alignments." + doc_url: https://pyfamsa.readthedocs.org + dev_url: https://github.com/althonos/pyfamsa extra: recipe-maintainers: - althonos + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/pyfastani/meta.yaml b/recipes/pyfastani/meta.yaml index 7f8c1496bd166..d3da1db4f2b3b 100644 --- a/recipes/pyfastani/meta.yaml +++ b/recipes/pyfastani/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pyfastani" %} -{% set version = "0.4.1" %} +{% set version = "0.5.1" %} package: name: "{{ name|lower }}" @@ -7,12 +7,14 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 44d86cbe8581d4891748ebe9851ae0a0c27489bb9f77728131415ed6b90cc35a + sha256: ad6c28303290a2389c29ed20db8266bbc4bf89a5b1bf64a7514d1bc9c6ba2d92 build: - number: 3 + number: 1 skip: True #[py2k] script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vvv " + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: build: diff --git a/recipes/pyfastx/meta.yaml b/recipes/pyfastx/meta.yaml index 9006bae819474..fda43be7f5a97 100644 --- a/recipes/pyfastx/meta.yaml +++ b/recipes/pyfastx/meta.yaml @@ -1,6 +1,6 @@ {% set name = "pyfastx" %} -{% set version = "2.0.2" %} -{% set sha256 = "763bb59f58d7884cad8a15ff8b0f0bbc5e29f867a4260d1e5ed9ecb2035ac70b" %} +{% set version = "2.1.0" %} +{% set sha256 = "a3458bba4fa19a637d9ec8bdf9bfdd6e7321a916aeca674d02aa0fe5aeee1c95" %} package: name: {{ name|lower }} @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 0 + number: 3 script: {{ PYTHON }} -m pip install . --no-deps -vvv skip: True # [py < 36] entry_points: @@ -44,3 +44,8 @@ about: pyfastx is a python module for fast random access to sequences from plain and gzipped FASTA/Q file + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/pyfba/build_failure.linux-64.yaml b/recipes/pyfba/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..6e83520a4a079 --- /dev/null +++ b/recipes/pyfba/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 22daaae9a7592ff986e1ec74540f0449e12bbf9b73a4166dc22affadda3c0096 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + [32mglpk 5.0.* [0m is requested and can be installed; + [32mpyglpk[0m is installable with the potential options + [32mpyglpk 0.4.6[0m would require + [32mpython_abi 3.8 *_pypy38_pp73[0m, which can be installed; + [31mpyglpk 0.4.6[0m would require + [31mglpk >=4.65,<4.66.0a0 [0m, which conflicts with any installable versions previously reported; + [32mpyglpk [0.4.6|0.4.7][0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [32mpyglpk [0.4.6|0.4.7][0m would require + [32mpython_abi 3.11.* *_cp311[0m, which can be installed; + [32mpyglpk [0.4.6|0.4.7][0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mpyglpk [0.4.6|0.4.7][0m would require + [32mpython_abi 3.9 *_pypy39_pp73[0m, which can be installed; + [32mpyglpk [0.4.6|0.4.7][0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [31mpython 3.12.* *_cpython[0m is not installable because there are no viable options + [31mpython [3.12.0|3.12.1|3.12.2|3.12.3][0m would require + [31mpython_abi 3.12.* *_cp312[0m, which conflicts with any installable versions previously reported; + [31mpython 3.12.0rc3[0m would require + [31m_python_rc[0m, which does not exist (perhaps a missing channel). + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2308, in build + output_metas = expand_outputs([(m, need_source_download, need_reparse_in_env)]) + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 916, in expand_outputs + for output_dict, m in deepcopy(_m).get_output_metadata_set( + File "/opt/conda/lib/python3.10/site-packages/conda_build/metadata.py", line 2737, in get_output_metadata_set + conda_packages = finalize_outputs_pass( + File "/opt/conda/lib/python3.10/site-packages/conda_build/metadata.py", line 1095, in finalize_outputs_pass + fm = finalize_metadata( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 650, in finalize_metadata + build_unsat, host_unsat = add_upstream_pins( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 491, in add_upstream_pins + host_deps, host_unsat, extra_run_specs_from_host = _read_upstream_pin_files( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 444, in _read_upstream_pin_files + deps, precs, unsat = get_env_dependencies( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 156, in get_env_dependencies + precs = environ.get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("_python_rc"), MatchSpec("python==3.12.0rc3=rc3_hab00c5b_1_cpython")} + Encountered problems while solving: + - nothing provides _python_rc needed by python-3.12.0rc3-rc3_hab00c5b_1_cpython + + Could not solve for environment specs + The following packages are incompatible + [32mglpk 5.0.* [0m is requested and can be installed; + [32mpyglpk[0m is installable with the potential options + [32mpyglpk 0.4.6[0m would require + [32mpython_abi 3.8 *_pypy38_pp73[0m, which can be installed; + [31mpyglpk 0.4.6[0m would require + [31mglpk >=4.65,<4.66.0a0 [0m, which conflicts with any installable versions previously reported; + [32mpyglpk [0.4.6|0.4.7][0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [32mpyglpk [0.4.6|0.4.7][0m would require + [32mpython_abi 3.11.* *_cp311[0m, which can be installed; + [32mpyglpk [0.4.6|0.4.7][0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mpyglpk [0.4.6|0.4.7][0m would require + [32mpython_abi 3.9 *_pypy39_pp73[0m, which can be installed; + [32mpyglpk [0.4.6|0.4.7][0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [31mpython 3.12.* *_cpython[0m is not installable because there are no viable options + [31mpython [3.12.0|3.12.1|3.12.2|3.12.3][0m would require + [31mpython_abi 3.12.* *_cp312[0m, which conflicts with any installable versions previously reported; + [31mpython 3.12.0rc3[0m would require + [31m_python_rc[0m, which does not exist (perhaps a missing channel). +# Last 100 lines of the build log. diff --git a/recipes/pyfba/build_failure.osx-64.yaml b/recipes/pyfba/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..6dd29856bc02f --- /dev/null +++ b/recipes/pyfba/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 22daaae9a7592ff986e1ec74540f0449e12bbf9b73a4166dc22affadda3c0096 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + glpk 5.0.* is requested and can be installed; + pyglpk is installable with the potential options + pyglpk 0.4.6 would require + python_abi 3.8 *_pypy38_pp73, which can be installed; + pyglpk 0.4.6 would require + glpk >=4.65,<4.66.0a0 , which conflicts with any installable versions previously reported; + pyglpk [0.4.6|0.4.7] would require + python_abi 3.10.* *_cp310, which can be installed; + pyglpk [0.4.6|0.4.7] would require + python_abi 3.11.* *_cp311, which can be installed; + pyglpk [0.4.6|0.4.7] would require + python_abi 3.8.* *_cp38, which can be installed; + pyglpk [0.4.6|0.4.7] would require + python_abi 3.9.* *_cp39, which can be installed; + pyglpk [0.4.6|0.4.7] would require + python_abi 3.9 *_pypy39_pp73, which can be installed; + python 3.12.* *_cpython is not installable because there are no viable options + python [3.12.0|3.12.1|3.12.2|3.12.3] would require + python_abi 3.12.* *_cp312, which conflicts with any installable versions previously reported; + python 3.12.0rc3 would require + _python_rc, which does not exist (perhaps a missing channel). + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2308, in build + output_metas = expand_outputs([(m, need_source_download, need_reparse_in_env)]) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 916, in expand_outputs + for output_dict, m in deepcopy(_m).get_output_metadata_set( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/metadata.py", line 2737, in get_output_metadata_set + conda_packages = finalize_outputs_pass( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/metadata.py", line 1095, in finalize_outputs_pass + fm = finalize_metadata( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 650, in finalize_metadata + build_unsat, host_unsat = add_upstream_pins( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 491, in add_upstream_pins + host_deps, host_unsat, extra_run_specs_from_host = _read_upstream_pin_files( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 444, in _read_upstream_pin_files + deps, precs, unsat = get_env_dependencies( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 156, in get_env_dependencies + precs = environ.get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {MatchSpec("_python_rc"), MatchSpec("python==3.12.0rc3=rc3_h30d4d87_1_cpython")} + Encountered problems while solving: + - nothing provides _python_rc needed by python-3.12.0rc3-rc3_h30d4d87_1_cpython + + Could not solve for environment specs + The following packages are incompatible + glpk 5.0.* is requested and can be installed; + pyglpk is installable with the potential options + pyglpk 0.4.6 would require + python_abi 3.8 *_pypy38_pp73, which can be installed; + pyglpk 0.4.6 would require + glpk >=4.65,<4.66.0a0 , which conflicts with any installable versions previously reported; + pyglpk [0.4.6|0.4.7] would require + python_abi 3.10.* *_cp310, which can be installed; + pyglpk [0.4.6|0.4.7] would require + python_abi 3.11.* *_cp311, which can be installed; + pyglpk [0.4.6|0.4.7] would require + python_abi 3.8.* *_cp38, which can be installed; + pyglpk [0.4.6|0.4.7] would require + python_abi 3.9.* *_cp39, which can be installed; + pyglpk [0.4.6|0.4.7] would require + python_abi 3.9 *_pypy39_pp73, which can be installed; + python 3.12.* *_cpython is not installable because there are no viable options + python [3.12.0|3.12.1|3.12.2|3.12.3] would require + python_abi 3.12.* *_cp312, which conflicts with any installable versions previously reported; + python 3.12.0rc3 would require + _python_rc, which does not exist (perhaps a missing channel). +# Last 100 lines of the build log. diff --git a/recipes/pyfba/meta.yaml b/recipes/pyfba/meta.yaml index a43d6175a18f0..738f2847cbac4 100644 --- a/recipes/pyfba/meta.yaml +++ b/recipes/pyfba/meta.yaml @@ -11,7 +11,7 @@ source: sha256: "3f9a7c47cceb15b90eee1f8b572250919e416c2b8ee44a073a81de74342df96a" build: - number: 5 + number: 6 skip: True # [py < 38] script: "{{ PYTHON }} -m pip install --ignore-installed --no-cache-dir -vvv ." diff --git a/recipes/pygcap/LICENSE b/recipes/pygcap/LICENSE new file mode 100644 index 0000000000000..2c1f938e1bed9 --- /dev/null +++ b/recipes/pygcap/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 KU_CSBL + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/recipes/pygcap/meta.yaml b/recipes/pygcap/meta.yaml new file mode 100644 index 0000000000000..37b05921420ad --- /dev/null +++ b/recipes/pygcap/meta.yaml @@ -0,0 +1,49 @@ +{% set name = "pygcap" %} +{% set version = "1.2.6" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/pygcap-{{ version }}.tar.gz + sha256: 172aa62ec82bab05713f573e7920e65bd38ace3341f4ea4b6f8f000733c3d170 + +build: + number: 0 + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + entry_points: + - pygcap=pygcap.cli:main + run_exports: + - {{ pin_subpackage('pygcap', max_pin="x") }} + +requirements: + build: + - python >=3.6 + - pip + run: + - python >=3.6 + - pandas + - matplotlib-base + - requests + - ruamel.yaml 0.16.12 + +test: + imports: + - pygcap + commands: + - pygcap --help + +about: + home: "https://github.com/jrim42/pyGCAP" + license: MIT + license_family: MIT + license_file: LICENSE + summary: "Python package for probe-based gene cluster finding in large microbial genome database." + description: "Python package for probe-based gene cluster finding in large microbial genome database." + dev_url: "https://github.com/jrim42/pyGCAP" + +extra: + recipe-maintainers: + - jsrim diff --git a/recipes/pygenetic_code/meta.yaml b/recipes/pygenetic_code/meta.yaml new file mode 100644 index 0000000000000..f09a44c1ff4fb --- /dev/null +++ b/recipes/pygenetic_code/meta.yaml @@ -0,0 +1,49 @@ +{% set name = "pygenetic_code" %} +{% set version = "0.20.0" %} +{% set sha256 = "2d4773e4e8a8b994e604b986ce831b12bbf68b41780e24377bfc14639e017423" %} + +package: + name: "{{ name|lower }}" + version: '{{ version }}' + +source: + url: "https://files.pythonhosted.org/packages/b6/6f/034dc48dd7768cb5aecabb4c2b68e5ff48d7fea6ee3fc51fed7a068e7c11/{{ name }}-{{ version }}.tar.gz" + sha256: '{{ sha256 }}' + +build: + number: 0 + script: "{{ PYTHON }} -m pip install . --no-deps -vv " + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + +requirements: + build: + - {{ compiler('c') }} + - make + - cmake >=3.15 + host: + - python >=3 + - pip + - scikit-build-core + - zlib + run: + - python >=3 + +test: + commands: + - pygenetic_code --help + - pygenetic_code --version + +about: + home: https://github.com/linsalrob/genetic_codes + license: MIT + license_family: MIT + summary: 'Python code for translating sequences using different NCBI translation tables and genetic codes' + dev_url: https://github.com/linsalrob/genetic_codes + +extra: + recipe-maintainers: + - linsalrob + identifiers: + - doi:10.5281/zenodo.10450718 + diff --git a/recipes/pygenometracks/meta.yaml b/recipes/pygenometracks/meta.yaml index 4740ac13a2783..1e01c905fb456 100644 --- a/recipes/pygenometracks/meta.yaml +++ b/recipes/pygenometracks/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pyGenomeTracks" %} -{% set version = "3.8" %} +{% set version = "3.9" %} package: name: {{ name | lower }} @@ -7,21 +7,23 @@ package: source: url: https://github.com/deeptools/pyGenomeTracks/archive/{{ version }}.tar.gz - sha256: 16ea187b97a4ee5358cccc095e4b277aa11a626a7b3824710f9dcf0ef6ce98be + sha256: 4318cb642422ee16d83675d571f4cd49b14784d7ee135ab53d8946fc7ad663f6 build: number: 0 - script: "{{ PYTHON }} -m pip install . --no-deps -vv" noarch: python + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv + run_exports: + - {{ pin_subpackage('pygenometracks', max_pin="x") }} requirements: host: - - python >=3.7 + - python >=3.8 - pip run: - - python >=3.7 + - python >=3.8 - numpy >=1.20 - - matplotlib-base >=3.1.1,<=3.6.2 + - matplotlib-base >=3.1.1,<3.9 - intervaltree >=2.1.0 - pybigwig >=0.3.16 - future >=0.17.0 diff --git a/recipes/pygtftk/meta.yaml b/recipes/pygtftk/meta.yaml index cf5bd31cc00f3..c471dc44301ef 100644 --- a/recipes/pygtftk/meta.yaml +++ b/recipes/pygtftk/meta.yaml @@ -9,9 +9,11 @@ source: sha256: e31b1db156a2d20427c03b6ad868ef2e90a9a834a8842feb7fa284c9eb0690b7 build: - number: 1 + number: 3 skip: True # [py != 39] script: {{ PYTHON }} -m pip install . --no-deps -vv + run_exports: + - {{ pin_subpackage('pygtftk', max_pin='x.x') }} requirements: build: @@ -21,7 +23,7 @@ requirements: - python - pip - numpy >=1.15.3 - - cython + - cython <1 - setuptools - zlib run: @@ -42,7 +44,7 @@ requirements: - matplotlib-base >=2.0.2 - plotnine >=0.4.0 - mpmath >=1.1.0 - - scikit-learn >=0.21.2 + - scikit-learn >=0.21.2,<1 - python-graphviz - seaborn - future @@ -63,3 +65,7 @@ about: home: http://github.com/dputhier/pygtftk license: MIT summary: 'The gtftk suite providing facilities to manipulate genomic annotations in gtf format.' + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/pyhmmer/meta.yaml b/recipes/pyhmmer/meta.yaml index 65622ccd0e60d..16152427e6b13 100644 --- a/recipes/pyhmmer/meta.yaml +++ b/recipes/pyhmmer/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pyhmmer" %} -{% set version = "0.10.4" %} +{% set version = "0.10.15" %} package: name: "{{ name|lower }}" @@ -7,14 +7,14 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 08bc02aadf0f113df2b2912478bb02be9daf5d322df9c72bcd07fa01fe53a87b + sha256: bf8e97ce8da6fb5850298f3074640f3e998d5a655877f865c1592eb057dc7921 build: number: 0 - skip: True #[py2k or win] - script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --use-pep517 -vvv" + skip: True # [py2k or win] + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir --use-pep517 -vvv" run_exports: - - {{ pin_subpackage('pyhmmer', max_pin="x") }} + - {{ pin_subpackage('pyhmmer', max_pin="x.x") }} requirements: build: @@ -23,26 +23,33 @@ requirements: - python - pip - cython - - setuptools >=46.4 - - psutil >=5.8 run: - python - psutil >=5.8 test: + requires: + - importlib_resources #[py36 or py37 or py38] imports: - {{ name }} + commands: + - python -m unittest -vv {{ name }}.tests about: - home: https://github.com/althonos/pyhmmer + home: "https://github.com/althonos/pyhmmer" license: MIT license_family: MIT license_file: COPYING - summary: Cython bindings and Python interface to HMMER3. - doc_url: https://pyhmmer.readthedocs.io + summary: "Cython bindings and Python interface to HMMER3." + doc_url: "https://pyhmmer.readthedocs.io" + dev_url: "https://github.com/althonos/pyhmmer" extra: recipe-maintainers: - althonos identifiers: - - DOI:10.1093/bioinformatics/btad214 + - doi:10.1093/bioinformatics/btad214 + - biotools:pyhmmer + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/pylibseq/meta.yaml b/recipes/pylibseq/meta.yaml index 8168cfda3102b..1ef9f36e89e2e 100644 --- a/recipes/pylibseq/meta.yaml +++ b/recipes/pylibseq/meta.yaml @@ -12,7 +12,7 @@ source: - patch build: - number: 6 + number: 7 skip: True # [py<30 or osx] script: {{ PYTHON }} -m pip install . --no-deps -vv diff --git a/recipes/pyliftover/meta.yaml b/recipes/pyliftover/meta.yaml index d1c27463e1dff..27a2c19b10230 100644 --- a/recipes/pyliftover/meta.yaml +++ b/recipes/pyliftover/meta.yaml @@ -1,23 +1,25 @@ {% set name = "PyLiftover" %} -{% set version = "0.4" %} -{% set sha256 = "72bcfb7de907569b0eb75e86c817840365297d63ba43a961da394187e399da41" %} +{% set version = "0.4.1" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://files.pythonhosted.org/packages/c0/20/4386926f08410d472ed81c1f14f25069dac3d62d21e2c1c366eff7b8a035/{{ name|lower }}-{{ version }}.tar.gz - sha256: {{ sha256 }} + url: https://pypi.org/packages/source/{{ name[0] }}/{{ name }}/pyliftover-{{ version }}.tar.gz + sha256: 33ad187e35d1b6662ba446432f4dd1a808ac2914ce1645eef37598fa5a3860cd build: - number: 0 noarch: python - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv" + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('pyliftover', max_pin="x.x") }} requirements: host: - python + - pytest - pip run: - python @@ -25,10 +27,17 @@ requirements: test: imports: - pyliftover + commands: + - pip check + requires: + - pip about: home: https://github.com/konstantint/pyliftover + summary: Pure-python implementation of UCSC ``liftOver`` genome coordinate conversion. license: MIT - license_family: MIT - license_file: '{{ environ["RECIPE_DIR"] }}/LICENSE' - summary: "Pure-python implementation of UCSC ``liftOver`` genome coordinate conversion." + license_file: LICENSE + +extra: + recipe-maintainers: + - nebfield diff --git a/recipes/pymlst/meta.yaml b/recipes/pymlst/meta.yaml index e4ecec72d61bb..8f481b91a588a 100644 --- a/recipes/pymlst/meta.yaml +++ b/recipes/pymlst/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pymlst" %} -{% set version = "2.1.5" %} +{% set version = "2.1.6" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://github.com/bvalot/pyMLST/archive/refs/tags/{{ version }}.tar.gz" - sha256: 505a0a0e79645f385e13e33e8ecd054fa436cb60e6bbec6f25a513e21903faf6 + sha256: 4387893638d2bcee02d91ca82fee3875f81247a4db6b8bdf86b98f445b8a4d61 build: noarch: python diff --git a/recipes/pymochi/meta.yaml b/recipes/pymochi/meta.yaml index 6d20abd0c7781..35f5f7f435f61 100644 --- a/recipes/pymochi/meta.yaml +++ b/recipes/pymochi/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.9" %} +{% set version = "1.1" %} {% set github = "https://github.com/lehner-lab/MoCHI" %} package: @@ -7,7 +7,7 @@ package: source: url: {{ github }}/archive/v{{ version }}.tar.gz - sha256: cec741cc8cda6affc9f4c2fd470afd28ee7c5ec9282bd59a4d4102a6e3afe005 + sha256: d021a858a3929858c8e8d0a6d5173680aa6097d90a8f05858f9ae08cb6902c17 build: noarch: python diff --git a/recipes/pymsaviz/meta.yaml b/recipes/pymsaviz/meta.yaml index 822721aa7ffd6..55217812030cc 100644 --- a/recipes/pymsaviz/meta.yaml +++ b/recipes/pymsaviz/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pymsaviz" %} -{% set version = "0.4.2" %} +{% set version = "0.5.0" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/pymsaviz-{{ version }}.tar.gz - sha256: a6506c75b52e8e0c9f28c13f0cca2d2c5cd642c8136dbb42426ab5f19e5ff6f7 + sha256: 644a5bacfc0aa75b7c5d2c2e2b666020ac4f72e18b54a142b56d4638cfbe6764 build: entry_points: @@ -20,22 +20,19 @@ build: requirements: host: - - python >=3.8 - - poetry-core >=1.0.0 + - python >=3.9 + - hatchling - pip run: - - python >=3.8 + - python >=3.9 - biopython >=1.79 - matplotlib-base >=3.5.2 - - pytest test: imports: - pymsaviz commands: - pymsaviz --help - source_files: - - tests/ about: home: https://moshi4.github.io/pyMSAviz/ diff --git a/recipes/pymsaviz/run_test.sh b/recipes/pymsaviz/run_test.sh deleted file mode 100644 index 0afa92db35c77..0000000000000 --- a/recipes/pymsaviz/run_test.sh +++ /dev/null @@ -1 +0,0 @@ -pytest tests diff --git a/recipes/pymvpa/build_failure.linux-64.yaml b/recipes/pymvpa/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..3910a1f20ded4 --- /dev/null +++ b/recipes/pymvpa/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: ee2804e76593aadb2efc6659b5201dbf6940bd3c4e68c2618bb384d62f47b8ed # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + + + The following NEW packages will be INSTALLED: + + _libgcc_mutex: 0.1-conda_forge conda-forge + _openmp_mutex: 4.5-2_gnu conda-forge + binutils_impl_linux-64: 2.40-ha1999f0_2 conda-forge + binutils_linux-64: 2.40-hdade7a5_3 conda-forge + gcc_impl_linux-64: 12.3.0-h58ffeeb_7 conda-forge + gcc_linux-64: 12.3.0-h6477408_3 conda-forge + gxx_impl_linux-64: 12.3.0-h2a574ab_7 conda-forge + gxx_linux-64: 12.3.0-h4a1b8e8_3 conda-forge + kernel-headers_linux-64: 2.6.32-he073ed8_17 conda-forge + ld_impl_linux-64: 2.40-hf3520f5_2 conda-forge + libgcc-devel_linux-64: 12.3.0-h0223996_107 conda-forge + libgcc-ng: 13.2.0-h77fa898_7 conda-forge + libgomp: 13.2.0-h77fa898_7 conda-forge + libsanitizer: 12.3.0-hb8811af_7 conda-forge + libstdcxx-devel_linux-64: 12.3.0-h0223996_107 conda-forge + libstdcxx-ng: 13.2.0-hc0a3c3a_7 conda-forge + sysroot_linux-64: 2.12-he073ed8_17 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Found source in cache: 2.6.5_ea0f4c4f81.tar.gz + Extracting download + source tree in: /opt/conda/conda-bld/pymvpa_1717536574942/work + export PREFIX=/opt/conda/conda-bld/pymvpa_1717536574942/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh + export BUILD_PREFIX=/opt/conda/conda-bld/pymvpa_1717536574942/_build_env + export SRC_DIR=/opt/conda/conda-bld/pymvpa_1717536574942/work + INFO: activate-binutils_linux-64.sh made the following environmental changes: + ADDR2LINE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-addr2line + AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar + AS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-as + CXXFILT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cfilt + ELFEDIT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-elfedit + GPROF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gprof + LD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld + LD_GOLD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld.gold + NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-nm + OBJCOPY=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objcopy + OBJDUMP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objdump + RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib + READELF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-readelf + SIZE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-size + STRINGS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strings + STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip + INFO: activate-gcc_linux-64.sh made the following environmental changes: + BUILD=x86_64-conda-linux-gnu + CC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pymvpa-2.6.5 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH=$PREFIX;$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=$PREFIX:$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot/usr + CONDA_BUILD_SYSROOT=$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot + CONDA_TOOLCHAIN_BUILD=x86_64-conda-linux-gnu + CONDA_TOOLCHAIN_HOST=x86_64-conda-linux-gnu + CPP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cpp + CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include + DEBUG_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pymvpa-2.6.5 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem $PREFIX/include + GCC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc + GCC_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar + GCC_NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-nm + GCC_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib + HOST=x86_64-conda-linux-gnu + LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_cos6_linux_gnu + build_alias=x86_64-conda-linux-gnu + host_alias=x86_64-conda-linux-gnu + -BUILD=x86_64-conda_cos6-linux-gnu + -CONDA_BUILD_SYSROOT= + INFO: activate-gxx_linux-64.sh made the following environmental changes: + CXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pymvpa-2.6.5 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + DEBUG_CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pymvpa-2.6.5 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + GXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-g + Traceback (most recent call last): + File "/opt/conda/conda-bld/pymvpa_1717536574942/work/setup.py", line 12, in + from numpy.distutils.core import setup, Extension + ModuleNotFoundError: No module named 'numpy.distutils' + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/pymvpa_1717536574942/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/pymvpa/build_failure.osx-64.yaml b/recipes/pymvpa/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..9eb239e68743e --- /dev/null +++ b/recipes/pymvpa/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: ee2804e76593aadb2efc6659b5201dbf6940bd3c4e68c2618bb384d62f47b8ed # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + clang: 16.0.6-hd4457cd_7 conda-forge + clang-16: 16.0.6-default_h4c8afb6_7 conda-forge + clang_impl_osx-64: 16.0.6-h8787910_15 conda-forge + clang_osx-64: 16.0.6-hb91bd55_15 conda-forge + clangxx: 16.0.6-default_ha3b9224_7 conda-forge + clangxx_impl_osx-64: 16.0.6-h6d92fbe_15 conda-forge + clangxx_osx-64: 16.0.6-hb91bd55_15 conda-forge + compiler-rt: 16.0.6-ha38d28d_2 conda-forge + compiler-rt_osx-64: 16.0.6-ha38d28d_2 conda-forge + icu: 73.2-hf5e326d_0 conda-forge + ld64_osx-64: 711-ha20a434_0 conda-forge + libclang-cpp16: 16.0.6-default_h4c8afb6_7 conda-forge + libcxx: 17.0.6-h88467a6_0 conda-forge + libiconv: 1.17-hd75f5a5_2 conda-forge + libllvm16: 16.0.6-hbedff68_3 conda-forge + libxml2: 2.12.7-hfa5d230_0 conda-forge + libzlib: 1.3.1-h87427d6_1 conda-forge + llvm-tools: 16.0.6-hbedff68_3 conda-forge + openssl: 3.3.0-h87427d6_3 conda-forge + sigtool: 0.1.3-h88f4db0_0 conda-forge + tapi: 1100.0.11-h9ce4665_0 conda-forge + xz: 5.2.6-h775f41a_0 conda-forge + zstd: 1.5.6-h915ae27_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/conda-bld/pymvpa_1717526300423/work/setup.py", line 12, in + from numpy.distutils.core import setup, Extension + ModuleNotFoundError: No module named 'numpy.distutils' + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/pymvpa_1717526300423/work + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/pymvpa_1717526300423/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/pymvpa_1717526300423/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/pymvpa_1717526300423/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + Traceback (most recent call last): + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pymvpa-2.6.5 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pymvpa-2.6.5 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/pymvpa_1717526300423/work/conda_build.sh']' returned non-zero exit status 1. + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pymvpa-2.6.5 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pymvpa-2.6.5 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix +# Last 100 lines of the build log. diff --git a/recipes/pymvpa/meta.yaml b/recipes/pymvpa/meta.yaml index bf2a1c6560bc0..bf29f92798d59 100644 --- a/recipes/pymvpa/meta.yaml +++ b/recipes/pymvpa/meta.yaml @@ -10,7 +10,7 @@ source: sha256: '{{sha256}}' build: - number: 8 + number: 9 requirements: build: diff --git a/recipes/pymzml/meta.yaml b/recipes/pymzml/meta.yaml index a0256bea1be73..63e3f837a8fa5 100644 --- a/recipes/pymzml/meta.yaml +++ b/recipes/pymzml/meta.yaml @@ -1,10 +1,10 @@ package: name: pymzml - version: "2.5.3" + version: "2.5.10" source: - url: https://github.com/pymzml/pymzML/archive/refs/tags/v2.5.3.tar.gz - sha256: 3578da1962670ef90027cb2944ad64dc39a4457cd93a637bbd2655a7f074a2ee + url: https://github.com/pymzml/pymzML/archive/refs/tags/v2.5.10.tar.gz + sha256: 539b1a08645514e7020646c8887f1c42bef0c9105f30a58c56bd91830bd4c728 build: number: 0 diff --git a/recipes/pyopal/build_failure.osx-64.yaml b/recipes/pyopal/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..2d7f45a8d11c0 --- /dev/null +++ b/recipes/pyopal/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 97120fb97215d81e614d54e48a5765c4bb1401d5962f33775f32d47c962fab3d # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pyopal-0.6.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pyopal-0.6.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + Using pip 24.0 from $PREFIX/lib/python3.10/site-packages/pip (python 3.10) + Non-user install because user site-packages disabled + Ignoring indexes: https://pypi.org/simple + Created temporary directory: /private/tmp/pip-build-tracker-tis4zq2n + Initialized build tracking at /private/tmp/pip-build-tracker-tis4zq2n + Created build tracker: /private/tmp/pip-build-tracker-tis4zq2n + Entered build tracker: /private/tmp/pip-build-tracker-tis4zq2n + Created temporary directory: /private/tmp/pip-install-_gf39vkr + Created temporary directory: /private/tmp/pip-ephem-wheel-cache-8_pk_ilh + Processing $SRC_DIR + Added file://$SRC_DIR to build tracker '/private/tmp/pip-build-tracker-tis4zq2n' + Created temporary directory: /private/tmp/pip-modern-metadata-8ma8_ihc + Preparing metadata (pyproject.toml): started + Preparing metadata (pyproject.toml): finished with status 'done' + Source in $SRC_DIR has version 0.6.1, which satisfies requirement pyopal==0.6.1 from file://$SRC_DIR + Removed pyopal==0.6.1 from file://$SRC_DIR from build tracker '/private/tmp/pip-build-tracker-tis4zq2n' + Created temporary directory: /private/tmp/pip-unpack-fzs6hzuk + Building wheels for collected packages: pyopal + Created temporary directory: /private/tmp/pip-wheel-njzbb_zu + Destination directory: /private/tmp/pip-wheel-njzbb_zu + Building wheel for pyopal (pyproject.toml): started + Building wheel for pyopal (pyproject.toml): finished with status 'done' + Created wheel for pyopal: filename=pyopal-0.6.1-cp310-cp310-macosx_10_13_x86_64.whl size=515862 sha256=a38f136881522e429a78dbe17e4c6cc8f971793618ddbac5d30b23cffff24a7d + Stored in directory: /private/tmp/pip-ephem-wheel-cache-8_pk_ilh/wheels/b1/80/41/acf0f7026053655891e76f1f15adb5e2a74199a76839144c8d + Successfully built pyopal + Installing collected packages: pyopal + + Successfully installed pyopal-0.6.1 + Removed build tracker: '/private/tmp/pip-build-tracker-tis4zq2n' + + Resource usage statistics from building pyopal: + Process count: 5 + CPU time: Sys=0:00:01.5, User=0:00:24.7 + Memory: 434.8M + Disk usage: 17.2K + Time elapsed: 0:00:40.0 + + + Packaging pyopal + Packaging pyopal-0.6.1-py310h04ad86b_1 + compiling .pyc files... + number of files: 40 + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2711, in build + newly_built_packages = bundlers[pkg_type](output_d, m, env, stats) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 1850, in bundle_conda + files = post_process_files(metadata, initial_files) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 1664, in post_process_files + post_build(m, new_files, build_python=python) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/post.py", line 1727, in post_build + post_process_shared_lib(m, f, prefix_files, host_prefix) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/post.py", line 1603, in post_process_shared_lib + mk_relative_osx(path, host_prefix, m, files=files, rpaths=rpaths) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/post.py", line 481, in mk_relative_osx + existing_rpaths = macho.get_rpaths(path, build_prefix=prefix) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/os_utils/macho.py", line 252, in get_rpaths + dylib_loads = otool(path, build_prefix, is_rpath) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/os_utils/macho.py", line 221, in otool + lines = check_output([otool, "-l", path], stderr=STDOUT).decode("utf-8") + File "/opt/mambaforge/envs/bioconda/lib/python3.10/subprocess.py", line 421, in check_output + return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, + File "/opt/mambaforge/envs/bioconda/lib/python3.10/subprocess.py", line 526, in run + raise CalledProcessError(retcode, process.args, + subprocess.CalledProcessError: Command '['/opt/mambaforge/envs/bioconda/conda-bld/pyopal_1718320809916/_build_env/bin/llvm-otool', '-l', '/opt/mambaforge/envs/bioconda/conda-bld/pyopal_1718320809916/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.10/site-packages/pyopal/platform/sse2.cpython-310-darwin.so']' died with . +# Last 100 lines of the build log. diff --git a/recipes/pyopal/meta.yaml b/recipes/pyopal/meta.yaml index 300e327a6f612..e7a82782a5ad7 100644 --- a/recipes/pyopal/meta.yaml +++ b/recipes/pyopal/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pyopal" %} -{% set version = "0.4.1" %} +{% set version = "0.6.1" %} package: name: "{{ name|lower }}" @@ -7,10 +7,10 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: abfc3cb741eaaaf0185af6efb44b56f458f54fe7b1d4d5b9c54bf60da73e245a + sha256: 039487f2ffeae29962e1ed38db401fbe2c295f894461f1dd9af09e94e1feccb0 build: - number: 0 + number: 1 skip: True #[py2k] run_exports: - {{ pin_subpackage(name, max_pin="x.x") }} @@ -25,10 +25,12 @@ requirements: - pip - cython - setuptools + - scoring-matrices >=0.2 run: - python - setuptools - archspec + - scoring-matrices >=0.2 test: imports: @@ -46,3 +48,5 @@ about: extra: recipe-maintainers: - althonos + additional-platforms: + - linux-aarch64 diff --git a/recipes/pypgatk/meta.yaml b/recipes/pypgatk/meta.yaml index 870dcf9978182..d116777b91bb4 100644 --- a/recipes/pypgatk/meta.yaml +++ b/recipes/pypgatk/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pypgatk" %} -{% set version = "0.0.23" %} +{% set version = "0.0.24" %} package: name: "{{ name|lower }}" @@ -7,11 +7,13 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: "b99906a05cacb9c4bd5c58ba65b9ef71c4582bc788fd7684002d12832f280c2d" + sha256: "4505e80adf38fb27b80fa0c8ccdc956dcd72a58c839d7d93c42c1b73c9ca8b45" build: number: 0 noarch: python + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " requirements: @@ -35,6 +37,9 @@ requirements: - pandas # should be removed as soon as we patch the other packages - pysam >=0.16 + - pyahocorasick + - tqdm + - pathos test: imports: diff --git a/recipes/pypgx/meta.yaml b/recipes/pypgx/meta.yaml index f288b340e2fb8..93729f9d84e34 100644 --- a/recipes/pypgx/meta.yaml +++ b/recipes/pypgx/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pypgx" %} -{% set version = "0.21.0" %} +{% set version = "0.25.0" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 9152f9a6c9e90cc98aad94cd89bc4371fa833583bd40d3b82182329b5ab969ea + sha256: 4395ffdd7e9a30033b76eb6e0afe98e4c2fd2b131eab1a0de47cc404b5122fd2 build: number: 0 diff --git a/recipes/pypints/meta.yaml b/recipes/pypints/meta.yaml index b32637aeeaf6e..28dc17c5eb35c 100644 --- a/recipes/pypints/meta.yaml +++ b/recipes/pypints/meta.yaml @@ -1,13 +1,13 @@ {% set name = "pyPINTS" %} -{% set version = "1.1.10" %} +{% set version = "1.1.14" %} package: name: "{{ name|lower }}" version: "{{ version }}" source: - url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 91e4e6e8a308ad4e4e829068b96282385a0285512a2351cedd9793c50e8a7f63 + url: "https://files.pythonhosted.org/packages/24/ec/8606d80f38c842c7d869c65e3bba4bb87f8a0555cfc5b4a7181c8cecdb86/pypints-1.1.14.tar.gz" + sha256: 6f5d40ba9a24a3bd610b9a6af746fe357053ad75757d2e0f376662917b98dc7e build: number: 0 diff --git a/recipes/pyplink/LICENSE.txt b/recipes/pyplink/LICENSE.txt new file mode 100644 index 0000000000000..e2a20ac009569 --- /dev/null +++ b/recipes/pyplink/LICENSE.txt @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015 Beaulieu-Saucier Pharmacogenomics Centre + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/recipes/pyplink/meta.yaml b/recipes/pyplink/meta.yaml new file mode 100644 index 0000000000000..9e3cc1e6c92b1 --- /dev/null +++ b/recipes/pyplink/meta.yaml @@ -0,0 +1,46 @@ +{% set name = "pyplink" %} +{% set version = "1.3.7" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/pyplink-{{ version }}.tar.gz + sha256: ca44decfccc5a45f974b013c59f202de927848b0f9ea6ad0ada5d37c0bdc5652 + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('pyplink', max_pin="x.x") }} + +requirements: + host: + - python + - pip + run: + - python >=3.8 + - numpy >=1.8.2 + - pandas >=0.17.1 + - six >=1.9.0 + +test: + imports: + - pyplink + commands: + - pip check + - python -m pyplink.tests + requires: + - pip + +about: + home: https://github.com/lemieuxl/pyplink + summary: Python module to read binary Plink files. + license: MIT + license_file: LICENSE.txt + +extra: + recipe-maintainers: + - nebfield diff --git a/recipes/pypolca/meta.yaml b/recipes/pypolca/meta.yaml index 40f4fefedf5c0..05b761f65d25c 100644 --- a/recipes/pypolca/meta.yaml +++ b/recipes/pypolca/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pypolca" %} -{% set version = "0.2.0" %} +{% set version = "0.3.1" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 5534fb54316931a664a6e5eb0bb020d432b39687fd5d932b00cd1d5e6dea5ef8 + sha256: bb48e81a8a3a11979a3edc8091dbfac4b14ec3a57f0952075ae44c8638bac620 build: number: 0 diff --git a/recipes/pyprophet/meta.yaml b/recipes/pyprophet/meta.yaml index bac4805e69c32..530f132015959 100644 --- a/recipes/pyprophet/meta.yaml +++ b/recipes/pyprophet/meta.yaml @@ -12,8 +12,9 @@ source: '{{ hash_type }}': '{{ hash_value }}' build: - number: 1 - skip: True # [py27] + number: 3 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} entry_points: - pyprophet=pyprophet.main:cli script: python -m pip install --no-deps --ignore-installed . @@ -24,7 +25,7 @@ requirements: host: - python - pip - - cython + - cython <1 - numpy >=1.9 - pypdf2 run: @@ -43,6 +44,7 @@ requirements: - click - dataclasses - pypdf2 + - typing-extensions test: imports: @@ -56,6 +58,8 @@ about: license_family: BSD summary: Python reimplementation of mProphet peak scoring extra: + additional-platforms: + - linux-aarch64 container: # Click requires the extended container extended-base: true diff --git a/recipes/pyranges/LICENSE b/recipes/pyranges/LICENSE deleted file mode 100644 index ee8f1d5ef1d0a..0000000000000 --- a/recipes/pyranges/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2019 Endre Bakken Stovner - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/recipes/pyranges/meta.yaml b/recipes/pyranges/meta.yaml index ed56b54e43f5b..35fbadb898ac4 100644 --- a/recipes/pyranges/meta.yaml +++ b/recipes/pyranges/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pyranges" %} -{% set version = "0.0.129" %} +{% set version = "0.1.2" %} package: name: '{{ name|lower }}' @@ -7,24 +7,28 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: bee83b4fad0062be9586668c6b0fc4270d5e761951975e018202993680071fb3 + sha256: 14d715ddfb196691ffe53bd8ee538c1fd33e77d31f293b04a83c5237b9dc6621 build: - number: 0 + number: 1 noarch: python - script: {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + script_env: + - SETUPTOOLS_SCM_PRETEND_VERSION={{ version }} + run_exports: + - {{ pin_subpackage('pyranges', max_pin="x.x") }} requirements: host: - - python + - python >=3 + - setuptools-scm - pip run: - - python + - python >=3 - pandas - ncls >=0.0.63 - tabulate - sorted_nearest >=0.0.33 - - pyrle - natsort test: @@ -32,8 +36,15 @@ test: - pyranges about: - home: http://github.com/endrebak/pyranges + home: "https://github.com/endrebak/pyranges" license: MIT license_family: MIT - summary: GenomicRanges for Python. + summary: "Performant Pythonic GenomicRanges" license_file: LICENSE + dev_url: "https://github.com/endrebak/pyranges" + doc_url: "https://pyranges.readthedocs.io" + +extra: + identifiers: + - biotools:PyRanges + - doi:10.1093/bioinformatics/btz615 diff --git a/recipes/pyrle/meta.yaml b/recipes/pyrle/meta.yaml index ac19aa6fb49b8..e8ddb549361da 100644 --- a/recipes/pyrle/meta.yaml +++ b/recipes/pyrle/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pyrle" %} -{% set version = "0.0.38" %} +{% set version = "0.0.40" %} package: name: '{{ name|lower }}' @@ -7,12 +7,14 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 8b382947a18c73eb4aeaa9e731cb89d0b755f85f75ccb49fc7e121ae3fb984be + sha256: 32ccdbbe594377c7b6a2e04b11fedd7886b330468f6fa378a5e06e070763f4ba build: - number: 3 + number: 1 skip: True # [py2k] script: python setup.py install --single-version-externally-managed --record=record.txt + run_exports: + - {{ pin_subpackage('pyrle', max_pin="x.x") }} requirements: build: @@ -36,9 +38,12 @@ test: about: home: https://github.com/endrebak/pyrle license: MIT + license_family: MIT license_file: LICENSE summary: Genomic Rle-objects for Python extra: + additional-platforms: + - linux-aarch64 skip-lints: - uses_setuptools diff --git a/recipes/pyrodigal-gv/meta.yaml b/recipes/pyrodigal-gv/meta.yaml index 34996ec3ebe2b..fa9ca0b00d6c0 100644 --- a/recipes/pyrodigal-gv/meta.yaml +++ b/recipes/pyrodigal-gv/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pyrodigal-gv" %} -{% set version = "0.3.1" %} +{% set version = "0.3.2" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/pyrodigal_gv-{{ version }}.tar.gz - sha256: 287f0507fad25f8c148a1d93a030e1a64b0434beba62f45354526b0eeef4ca97 + sha256: aeeff43daec2c4aec7830ae2400799aa90bf273bcca86656ef239bee8d7e5ea5 build: script: {{ PYTHON }} -m pip install . --ignore-installed --use-pep517 --no-deps -vvv diff --git a/recipes/pyrodigal/build_failure.osx-64.yaml b/recipes/pyrodigal/build_failure.osx-64.yaml deleted file mode 100644 index 4f9f326f71367..0000000000000 --- a/recipes/pyrodigal/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: a0eea3e712441dfcfc57db816b9d49d5e2eb5ea661ee696199d496549d6919c2 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |- - {} is not a Mach-O file - Can't parse the binary at the index #1 - {} is not a Mach-O file - Can't parse the binary at the index #0 - {} is not a Mach-O file - Can't parse the binary at the index #1 - {} is not a Mach-O file - Can't parse the binary at the index #0 - {} is not a Mach-O file - Can't parse the binary at the index #1 - {} is not a Mach-O file - Can't parse the binary at the index #0 - {} is not a Mach-O file - Can't parse the binary at the index #1 - {} is not a Mach-O file - Can't parse the binary at the index #0 - {} is not a Mach-O file - Can't parse the binary at the index #1 - {} is not a Mach-O file - Can't parse the binary at the index #0 - {} is not a Mach-O file - Can't parse the binary at the index #1 - {} is not a Mach-O file - Can't parse the binary at the index #2 - {} is not a Mach-O file - Can't parse the binary at the index #3 - {} is not a Mach-O file - Can't parse the binary at the index #4 - {} is not a Mach-O file - Can't parse the binary at the index #0 - {} is not a Mach-O file - Can't parse the binary at the index #1 - {} is not a Mach-O file - Can't parse the binary at the index #2 - {} is not a Mach-O file - Can't parse the binary at the index #3 - {} is not a Mach-O file - Can't parse the binary at the index #4 - {} is not a Mach-O file - Can't parse the binary at the index #0 - {} is not a Mach-O file - Can't parse the binary at the index #1 - INFO: sysroot: '/System/Library/Frameworks/' files: '['vmnet.framework/Versions/A/_CodeSignature/CodeResources', 'vmnet.framework/Versions/A/Resources/version.plist', 'vmnet.framework/Versions/A/Resources/en.lproj/InfoPlist.strings', 'vmnet.framework/Versions/A/Resources/Info.plist']' - INFO: sysroot: '/usr/lib/' files: '['zsh/5.8.1/zsh/zselect.so', 'zsh/5.8.1/zsh/zpty.so', 'zsh/5.8.1/zsh/zprof.so', 'zsh/5.8.1/zsh/zleparameter.so']' - INFO: sysroot: '/opt/X11/' files: '[]' - INFO (pyrodigal,lib/python3.10/site-packages/pyrodigal/_pyrodigal.cpython-310-darwin.so): Needed DSO /System/Library/Frameworks/libSystem.B.dylib found in $SYSROOT - WARNING (pyrodigal): interpreter (Python) package conda-forge::python-3.10.11-he7542f4_0_cpython in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to build/ignore_run_exports) - WARNING (pyrodigal): interpreted library (Python) package conda-forge::setuptools-67.7.2-pyhd8ed1ab_0 in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to build/ignore_run_exports) - Fixing permissions - Packaged license file/s. - INFO :: Time taken to mark (prefix) - 0 replacements in 0 files was 0.10 seconds - Files containing CONDA_PREFIX - ----------------------------- - bin/pyrodigal (text): Patching - TEST START: /opt/mambaforge/envs/bioconda/conda-bld/osx-64/pyrodigal-2.1.0-py310he07d9a1_3.tar.bz2 - Renaming work directory '/opt/mambaforge/envs/bioconda/conda-bld/pyrodigal_1685394321921/work' to '/opt/mambaforge/envs/bioconda/conda-bld/pyrodigal_1685394321921/work_moved_pyrodigal-2.1.0-py310he07d9a1_3_osx-64' - shutil.move(work)=/opt/mambaforge/envs/bioconda/conda-bld/pyrodigal_1685394321921/work, dest=/opt/mambaforge/envs/bioconda/conda-bld/pyrodigal_1685394321921/work_moved_pyrodigal-2.1.0-py310he07d9a1_3_osx-64) - INFO:conda_build.utils:Renaming work directory '/opt/mambaforge/envs/bioconda/conda-bld/pyrodigal_1685394321921/work' to '/opt/mambaforge/envs/bioconda/conda-bld/pyrodigal_1685394321921/work_moved_pyrodigal-2.1.0-py310he07d9a1_3_osx-64' - INFO:conda_build.utils:shutil.move(work)=/opt/mambaforge/envs/bioconda/conda-bld/pyrodigal_1685394321921/work, dest=/opt/mambaforge/envs/bioconda/conda-bld/pyrodigal_1685394321921/work_moved_pyrodigal-2.1.0-py310he07d9a1_3_osx-64) - Reloading output folder: /opt/mambaforge/envs/bioconda/conda-bld - - ## Package Plan ## - - environment location: /opt/mambaforge/envs/bioconda/conda-bld/pyrodigal_1685394321921/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold - - - The following NEW packages will be INSTALLED: - - bzip2: 1.0.8-h0d85af4_4 conda-forge - ca-certificates: 2023.5.7-h8857fd0_0 conda-forge - libffi: 3.4.2-h0d85af4_5 conda-forge - libsqlite: 3.42.0-h58db7d2_0 conda-forge - libzlib: 1.2.13-hfd90126_4 conda-forge - ncurses: 6.3-h96cf925_1 conda-forge - openssl: 3.1.0-h8a1eda9_3 conda-forge - pyrodigal: 2.1.0-py310he07d9a1_3 local - python: 3.10.11-he7542f4_0_cpython conda-forge - python_abi: 3.10-3_cp310 conda-forge - readline: 8.2-h9e318b2_1 conda-forge - setuptools: 67.7.2-pyhd8ed1ab_0 conda-forge - tk: 8.6.12-h5dbffcc_0 conda-forge - tzdata: 2023c-h71feb2d_0 conda-forge - xz: 5.2.6-h775f41a_0 conda-forge - - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/pyrodigal_1685394321921/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold - export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/pyrodigal_1685394321921/test_tmp - import: 'pyrodigal' - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/conda-bld/pyrodigal_1685394321921/test_tmp/run_test.py", line 2, in - import pyrodigal - File "/opt/mambaforge/envs/bioconda/conda-bld/pyrodigal_1685394321921/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.10/site-packages/pyrodigal/__init__.py", line 8, in - from . import _pyrodigal - ImportError: dlopen(/opt/mambaforge/envs/bioconda/conda-bld/pyrodigal_1685394321921/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.10/site-packages/pyrodigal/_pyrodigal.cpython-310-darwin.so, 0x0002): symbol not found in flat namespace (_GetX86Info) - Tests failed for pyrodigal-2.1.0-py310he07d9a1_3.tar.bz2 - moving package to /opt/mambaforge/envs/bioconda/conda-bld/broken - WARNING:conda_build.build:Tests failed for pyrodigal-2.1.0-py310he07d9a1_3.tar.bz2 - moving package to /opt/mambaforge/envs/bioconda/conda-bld/broken - TESTS FAILED: pyrodigal-2.1.0-py310he07d9a1_3.tar.bz2 -# Last 100 lines of the build log. diff --git a/recipes/pyrodigal/meta.yaml b/recipes/pyrodigal/meta.yaml index 79aae4b1a1021..76cfdde6e5ea3 100644 --- a/recipes/pyrodigal/meta.yaml +++ b/recipes/pyrodigal/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pyrodigal" %} -{% set version = "3.2.1" %} +{% set version = "3.5.2" %} package: name: "{{ name|lower }}" @@ -7,16 +7,15 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 7c0bb83eafa888bdc5d931fb3a1f6abc35247f96abc3f9e557a0109e85cbdd35 + sha256: 2a40eb6113e720ada51c326958b295944cdc33ecee9f25d5bad4e9a8e6e6f7f5 build: number: 0 - skip: True # [py < 36] - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --use-pep517 -vvv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir --use-pep517 -vvv" entry_points: - pyrodigal = pyrodigal.cli:main run_exports: - - {{ pin_subpackage("pyrodigal", max_pin="x.x") }} + - {{ pin_subpackage("pyrodigal", max_pin="x") }} requirements: build: @@ -25,7 +24,6 @@ requirements: - python - pip - cython - - setuptools run: - python - archspec >=0.2.0 @@ -38,15 +36,19 @@ test: - python -m unittest -vv {{ name }}.tests about: - home: https://github.com/althonos/pyrodigal - license: GPL-3 - license_family: GPL + home: "https://github.com/althonos/pyrodigal" + license: "GPL-3.0-or-later" + license_family: GPL3 license_file: COPYING - summary: Python bindings to Prodigal, an ORF finder for microbial sequences. - doc_url: https://pyrodigal.readthedocs.org/ + summary: "Python bindings to Prodigal, an ORF finder for microbial sequences." + doc_url: "https://pyrodigal.readthedocs.org" + dev_url: "https://github.com/althonos/pyrodigal" extra: recipe-maintainers: - althonos identifiers: - doi:10.21105/joss.04296 # JOSS paper + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/pysais/meta.yaml b/recipes/pysais/meta.yaml index b6fe70a385acb..08fa728a516a3 100644 --- a/recipes/pysais/meta.yaml +++ b/recipes/pysais/meta.yaml @@ -11,7 +11,7 @@ source: build: script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation - number: 0 + number: 1 run_exports: - {{ pin_subpackage(name, max_pin="x.x") }} diff --git a/recipes/pysam/arm_hwcap.patch b/recipes/pysam/arm_hwcap.patch new file mode 100644 index 0000000000000..d7f908ab3d6b4 --- /dev/null +++ b/recipes/pysam/arm_hwcap.patch @@ -0,0 +1,15 @@ +Conda-forge's build environment on ARM uses sysroot_linux-aarch64 2.17, which +is based on glibc 2.17 so does not define HWCAP_* values on ARM. +Work around this by including the kernel header to get the desired values. + +--- a/htslib/htscodecs/htscodecs/rANS_static4x16pr.c 2023-10-10 02:54:16 ++++ b/htslib/htscodecs/htscodecs/rANS_static4x16pr.c 2024-03-06 00:01:14 +@@ -1011,6 +1011,8 @@ + + #if defined(__linux__) || defined(__FreeBSD__) + #include ++// Ensure ARM HWCAP_* values are defined even on old glibc ++#include + #elif defined(_WIN32) + #include + #endif diff --git a/recipes/pysam/meta.yaml b/recipes/pysam/meta.yaml index cb8678b99147c..3240440cf1aab 100644 --- a/recipes/pysam/meta.yaml +++ b/recipes/pysam/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.22.0" %} +{% set version = "0.22.1" %} package: name: pysam @@ -6,10 +6,12 @@ package: source: url: https://github.com/pysam-developers/pysam/archive/v{{ version }}.tar.gz - sha256: 61b3377c5f889ddc6f6979912c3bb960d7e08407dada9cb38f13955564ea036f + sha256: e4981524d7627c53fa0d3f8cbec2bd65c2ea7520092f25e1029af12cb7b82ff6 + patches: + - arm_hwcap.patch build: - number: 0 + number: 2 skip: True # [py2k] binary_relocation: False # [linux] run_exports: @@ -31,12 +33,6 @@ requirements: - openssl # [not osx] run: - python - - zlib - - xz - - bzip2 - - libdeflate - - libcurl - - openssl # [not osx] about: home: https://github.com/pysam-developers/pysam @@ -44,6 +40,9 @@ about: summary: "Pysam is a Python module for reading and manipulating SAM/BAM/VCF/BCF files. It's a lightweight wrapper of the htslib C-API, the same one that powers samtools, bcftools, and tabix." extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - biotools:pysam - doi:10.1093/bioinformatics/btp352 diff --git a/recipes/pysamstats/meta.yaml b/recipes/pysamstats/meta.yaml index f6f765ba811b1..632958c1c7358 100644 --- a/recipes/pysamstats/meta.yaml +++ b/recipes/pysamstats/meta.yaml @@ -7,7 +7,9 @@ source: md5: 050294fe9fe99aae3b07ea28f6cbe449 build: - number: 10 + number: 12 + run_exports: + - {{ pin_subpackage('pysamstats', max_pin="x") }} requirements: build: @@ -41,5 +43,7 @@ about: on sequence alignments from a SAM, BAM or CRAM file. extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:pysamstats diff --git a/recipes/pyseer/meta.yaml b/recipes/pyseer/meta.yaml index 1b761f3f07687..de56804f70d60 100644 --- a/recipes/pyseer/meta.yaml +++ b/recipes/pyseer/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.3.11" %} +{% set version = "1.3.12" %} package: name: pyseer @@ -6,10 +6,12 @@ package: source: url: https://github.com/mgalardini/pyseer/releases/download/{{ version }}/pyseer-{{ version }}.tar.gz - sha256: 384313a3a14b92f873eaad53f77a319d90b584b9253785a7ca1dfc7d9220c91e + sha256: 31a9a528f0cc6409ddb1556b533dd9631c805b1b83bce0fcc6ad85f1126c9fbe build: + run_exports: + - {{ pin_subpackage('pyseer', max_pin="x") }} number: 0 noarch: python script: python -m pip install --no-deps --ignore-installed . diff --git a/recipes/pyseq-align/meta.yaml b/recipes/pyseq-align/meta.yaml index 6cead85ee11dd..e5e77e8dde581 100644 --- a/recipes/pyseq-align/meta.yaml +++ b/recipes/pyseq-align/meta.yaml @@ -10,7 +10,7 @@ source: sha256: "d9d450269d492c9a83ea9b795b14347140f12153ea93e2e5ed409606c5ac9e4d" build: - number: 3 + number: 4 skip: True # [py2k] script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " diff --git a/recipes/pyslow5/build.sh b/recipes/pyslow5/build.sh index b574ab80d53e9..edb6f1b7efee2 100644 --- a/recipes/pyslow5/build.sh +++ b/recipes/pyslow5/build.sh @@ -3,4 +3,4 @@ export C_INCLUDE_PATH=$PREFIX/include export LIBRARY_PATH=$PREFIX/lib -$PYTHON setup.py install --single-version-externally-managed --record=record.txt +${PYTHON} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir diff --git a/recipes/pyslow5/meta.yaml b/recipes/pyslow5/meta.yaml index 2d384bb8d3dbc..087931ecc29c0 100644 --- a/recipes/pyslow5/meta.yaml +++ b/recipes/pyslow5/meta.yaml @@ -1,29 +1,33 @@ -{% set version = "1.1.0" %} +{% set name = "pyslow5" %} +{% set sha256 = "2fdf091beb7e1f685d9fca70b69e406bb359d801e032d8567daf39a8833abd5a" %} +{% set version = "1.3.0" %} package: - name: pyslow5 + name: {{ name }} version: {{ version }} source: - url: https://files.pythonhosted.org/packages/96/80/ef430871b57cb97e2ab2449140fd00deec6cd9e8c71249676d561a45862a/pyslow5-1.1.0.tar.gz - sha256: 2926e13dbf8b1360e7628c32ebf1ad71133ed5bece548f3837b08cd5b7d79811 + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/pyslow5-{{ version }}.tar.gz + sha256: {{ sha256 }} build: - number: 0 + number: 1 + run_exports: + - {{ pin_subpackage('pyslow5', max_pin="x") }} requirements: build: - {{ compiler('c') }} host: - python + - pip - cython - setuptools - zlib - numpy run: - python - - zlib - - numpy + - {{ pin_compatible('numpy') }} test: imports: @@ -31,5 +35,13 @@ test: about: home: https://github.com/hasindu2008/slow5lib - license: MIT + license: Apache-2.0 + license_family: APACHE + license_file: thirdparty/streamvbyte/LICENSE summary: 'slow5lib Python binding' + dev_url: https://github.com/hasindu2008/slow5lib + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/pyspoa/meta.yaml b/recipes/pyspoa/meta.yaml index 94deab4fe5d7f..a8d2bdcf48d67 100644 --- a/recipes/pyspoa/meta.yaml +++ b/recipes/pyspoa/meta.yaml @@ -11,11 +11,11 @@ source: sha256: {{ sha256 }} build: - number: 0 + number: 3 skip: True # [py < 38] - script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir run_exports: - - {{ pin_subpackage('pyspoa', max_pin="x") }} + - {{ pin_subpackage('pyspoa', max_pin="x.x") }} requirements: build: @@ -25,8 +25,6 @@ requirements: host: - python - pip - - setuptools - - wheel - pybind11 - scikit-build - zlib @@ -50,3 +48,6 @@ extra: recipe-maintainers: - cjw85 - iiSeymour + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/pysradb/meta.yaml b/recipes/pysradb/meta.yaml index 2fb096f1026c1..d88fc69d038de 100644 --- a/recipes/pysradb/meta.yaml +++ b/recipes/pysradb/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pysradb" %} -{% set version = "2.2.0" %} +{% set version = "2.2.2" %} package: name: '{{ name|lower }}' @@ -7,14 +7,14 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: be7c451b590045683cb8b10786fedcd622f5da76e74284e70a4b2ee65faf43e9 + sha256: 0ae451361dfcc6c19c240285942aa761f6f89de9a6022215040329c021638f70 build: number: 0 noarch: python entry_points: - pysradb=pysradb.cli:parse_args - script: {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv run_exports: - {{ pin_subpackage('pysradb', max_pin="x") }} @@ -22,12 +22,7 @@ requirements: host: - python >=3.7 - pip - - lxml >=4.6.3 - - pandas >=1.3.2 - - requests >=2.26.0 - - requests-ftp >=0.3.1 - - tqdm >=4.62.1 - - xmltodict >=0.12.0 + - hatchling run: - python >=3.7 - lxml >=4.6.3 @@ -52,6 +47,7 @@ about: summary: 'Python package for retrieving metadata and downloading datasets from SRA/ENA/GEO' description: 'Python package for retrieving metadata and downloading datasets from SRA/ENA/GEO' doc_url: 'https://saketkc.github.io/pysradb' + dev_url: https://github.com/saketkc/pysradb extra: recipe-maintainers: diff --git a/recipes/pytabix/meta.yaml b/recipes/pytabix/meta.yaml index b1261eec08bf5..827d74ce191af 100644 --- a/recipes/pytabix/meta.yaml +++ b/recipes/pytabix/meta.yaml @@ -6,8 +6,10 @@ package: version: {{ version }} build: - number: 4 + number: 6 script: '{{ PYTHON }} -m pip install . --no-deps -vv' + run_exports: + - {{ pin_subpackage('pytabix', max_pin='x.x') }} source: url: https://pypi.io/packages/source/p/pytabix/pytabix-{{ version }}.tar.gz @@ -35,3 +37,7 @@ about: license: MIT license_file: LICENSE summary: Fast random access to sorted files compressed with bgzip and indexed by tabix. + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/pytaxonkit/meta.yaml b/recipes/pytaxonkit/meta.yaml index 2f82b3f837c92..b2e49cc2dd84e 100644 --- a/recipes/pytaxonkit/meta.yaml +++ b/recipes/pytaxonkit/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.8" %} -{% set sha256 = "414793a8ddc40c03c8c63512114c613153b31ff4c7da1feb015c2f3191f4d8d0" %} +{% set version = "0.9.1" %} +{% set sha256 = "68d004622a506cc65c634b57c0b27adec475b0532fbf3a6075a0ecdad3ff5f85" %} package: name: pytaxonkit @@ -10,19 +10,21 @@ source: sha256: '{{sha256}}' build: + run_exports: + - {{ pin_subpackage("pytaxonkit", max_pin="x.x") }} noarch: python - script: python -m pip install --no-deps --ignore-installed . - number: 0 + script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation . -vvv + number: 1 requirements: host: - - python >=3 + - python >=3,<3.12 - pip run: - - python >=3 + - python >=3,<3.12 - pandas >=1.0 - pytest >=5.4 - - taxonkit >=0.8 + - taxonkit >=0.17 test: imports: @@ -33,11 +35,13 @@ test: about: home: https://github.com/bioforensics/pytaxonkit/ - license: BSD License + license: BSD-3-Clause license_family: BSD + license_file: LICENSE summary: Python bindings for the TaxonKit library. dev_url: https://github.com/bioforensics/pytaxonkit/ extra: recipe-maintainers: - standage + - RyanBerger98 diff --git a/recipes/pyteomics/meta.yaml b/recipes/pyteomics/meta.yaml index 1f42dfe14a83d..8a197411ebe35 100644 --- a/recipes/pyteomics/meta.yaml +++ b/recipes/pyteomics/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "4.6.3" %} +{% set version = "4.7.4" %} package: name: pyteomics @@ -6,7 +6,7 @@ package: source: url: https://pypi.io/packages/source/p/pyteomics/pyteomics-{{ version }}.tar.gz - sha256: e3bb11e57da3e52ca768d94fed12c9f66d7300fd58bccbc6736dfc0707fd9546 + sha256: cd8a9b48ea3a3075bbbc3085880b5a4f76eb7359e3c71ee3948d9bb2aa48883b build: noarch: python diff --git a/recipes/python-bioext/build.sh b/recipes/python-bioext/build.sh index 1975a26f3cea8..9ae5bff3807f0 100644 --- a/recipes/python-bioext/build.sh +++ b/recipes/python-bioext/build.sh @@ -22,7 +22,7 @@ TARGET=$PREFIX/share/$PKG_NAME/reference_data # Symlink reference data to /usr/local/share/$TARGET, since the site-packages # path may vary depending on the python version mkdir -p "$TARGET" -ln -s "$SP_DIR/BioExt/data/references" "$TARGET" +ln -sf "$SP_DIR/BioExt/data/references" "$TARGET" echo "export BEALIGN_REFERENCE_DIR=$TARGET" > "${PREFIX}/etc/conda/activate.d/${PKG_NAME}_activate.sh" echo "unset BEALIGN_REFERENCE_DIR" > "${PREFIX}/etc/conda/deactivate.d/${PKG_NAME}_deactivate.sh" diff --git a/recipes/python-bioext/build_failure.linux-64.yaml b/recipes/python-bioext/build_failure.linux-64.yaml deleted file mode 100644 index 316cd5501e2f0..0000000000000 --- a/recipes/python-bioext/build_failure.linux-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 7d5acc4e24406ece2915a9b9293f2f8f8ef6e0f5e1f000a11899c0bd5e936e8c # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |- - [?25l[2K[0G[] 0.0s - opt/conda/conda-bl.. 100%[2K[1A[2K[0Gopt/conda/conda-bld/linux-64 - opt/conda/conda-bld/noarch 127.0 B @ 3.7MB/s 0.0s - [?25h - ## Package Plan ## - - environment location: /opt/conda/conda-bld/python-bioext_1685558379294/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac - - - The following NEW packages will be INSTALLED: - - _libgcc_mutex: 0.1-conda_forge conda-forge - _openmp_mutex: 4.5-2_gnu conda-forge - biopython: 1.81-py310h1fa729e_0 conda-forge - brotli: 1.0.9-h166bdaf_8 conda-forge - brotli-bin: 1.0.9-h166bdaf_8 conda-forge - bzip2: 1.0.8-h7f98852_4 conda-forge - c-ares: 1.19.1-hd590300_0 conda-forge - ca-certificates: 2023.5.7-hbcca054_0 conda-forge - certifi: 2023.5.7-pyhd8ed1ab_0 conda-forge - charset-normalizer: 3.1.0-pyhd8ed1ab_0 conda-forge - freetype: 2.12.1-hca18f0e_1 conda-forge - idna: 3.4-pyhd8ed1ab_0 conda-forge - joblib: 1.2.0-pyhd8ed1ab_0 conda-forge - keyutils: 1.6.1-h166bdaf_0 conda-forge - krb5: 1.20.1-h81ceb04_0 conda-forge - ld_impl_linux-64: 2.40-h41732ed_0 conda-forge - libblas: 3.9.0-16_linux64_openblas conda-forge - libbrotlicommon: 1.0.9-h166bdaf_8 conda-forge - libbrotlidec: 1.0.9-h166bdaf_8 conda-forge - libbrotlienc: 1.0.9-h166bdaf_8 conda-forge - libcblas: 3.9.0-16_linux64_openblas conda-forge - libcurl: 8.1.2-h409715c_0 conda-forge - libdeflate: 1.18-h0b41bf4_0 conda-forge - libedit: 3.1.20191231-he28a2e2_2 conda-forge - libev: 4.33-h516909a_1 conda-forge - libffi: 3.4.2-h7f98852_5 conda-forge - libgcc-ng: 12.2.0-h65d4601_19 conda-forge - libgfortran-ng: 12.2.0-h69a702a_19 conda-forge - libgfortran5: 12.2.0-h337968e_19 conda-forge - libgomp: 12.2.0-h65d4601_19 conda-forge - liblapack: 3.9.0-16_linux64_openblas conda-forge - libnghttp2: 1.52.0-h61bc06f_0 conda-forge - libnsl: 2.0.0-h7f98852_0 conda-forge - libopenblas: 0.3.21-pthreads_h78a6416_3 conda-forge - libpng: 1.6.39-h753d276_0 conda-forge - libsqlite: 3.42.0-h2797004_0 conda-forge - libssh2: 1.10.0-hf14f497_3 conda-forge - libstdcxx-ng: 12.2.0-h46fd767_19 conda-forge - libuuid: 2.38.1-h0b41bf4_0 conda-forge - libzlib: 1.2.13-h166bdaf_4 conda-forge - ncurses: 6.3-h27087fc_1 conda-forge - numpy: 1.24.3-py310ha4c1d20_0 conda-forge - openssl: 3.1.1-hd590300_1 conda-forge - packaging: 23.1-pyhd8ed1ab_0 conda-forge - pip: 23.1.2-pyhd8ed1ab_0 conda-forge - platformdirs: 3.5.1-pyhd8ed1ab_0 conda-forge - pooch: 1.7.0-pyha770c72_3 conda-forge - pysam: 0.21.0-py310h41dec4a_1 bioconda - pysocks: 1.7.1-pyha2e5f31_6 conda-forge - python: 3.10.11-he550d4f_0_cpython conda-forge - python-bioext: 0.20.4-py310h748d2df_4 local - python_abi: 3.10-3_cp310 conda-forge - readline: 8.2-h8228510_1 conda-forge - requests: 2.31.0-pyhd8ed1ab_0 conda-forge - scipy: 1.10.1-py310ha4c1d20_3 conda-forge - setuptools: 67.7.2-pyhd8ed1ab_0 conda-forge - six: 1.16.0-pyh6c4a22f_0 conda-forge - tk: 8.6.12-h27826a3_0 conda-forge - typing-extensions: 4.6.2-hd8ed1ab_0 conda-forge - typing_extensions: 4.6.2-pyha770c72_0 conda-forge - tzdata: 2023c-h71feb2d_0 conda-forge - urllib3: 2.0.2-pyhd8ed1ab_0 conda-forge - wheel: 0.40.0-pyhd8ed1ab_0 conda-forge - xz: 5.2.6-h166bdaf_0 conda-forge - zlib: 1.2.13-h166bdaf_4 conda-forge - zstd: 1.5.2-h3eb15da_6 conda-forge - - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - export PREFIX=/opt/conda/conda-bld/python-bioext_1685558379294/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac - export SRC_DIR=/opt/conda/conda-bld/python-bioext_1685558379294/test_tmp - Traceback (most recent call last): - File "/opt/conda/conda-bld/python-bioext_1685558379294/test_tmp/run_test.py", line 5, in - import: 'BioExt' - import: 'BioExt.align' - import BioExt.align - File "/opt/conda/conda-bld/python-bioext_1685558379294/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.10/site-packages/BioExt/align/__init__.py", line 14, in - from BioExt.align._align import _align, _compute_codon_matrices - File "BioExt/align/_align.pyx", line 12, in init BioExt.align._align - File "/opt/conda/conda-bld/python-bioext_1685558379294/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.10/site-packages/numpy/__init__.py", line 305, in __getattr__ - raise AttributeError(__former_attrs__[attr]) - AttributeError: module 'numpy' has no attribute 'int'. - np.int was a deprecated alias for the builtin int. To avoid this error in existing code, use int by itself. Doing this will not modify any behavior and is safe. When replacing np.int, you may wish to use e.g. np.int64 or np.int32 to specify the precision. If you wish to review your current use, check the release note link for additional information. - The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at: - https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations - Tests failed for python-bioext-0.20.4-py310h748d2df_4.tar.bz2 - moving package to /opt/conda/conda-bld/broken - WARNING:conda_build.build:Tests failed for python-bioext-0.20.4-py310h748d2df_4.tar.bz2 - moving package to /opt/conda/conda-bld/broken - TESTS FAILED: python-bioext-0.20.4-py310h748d2df_4.tar.bz2 -# Last 100 lines of the build log. diff --git a/recipes/python-bioext/build_failure.osx-64.yaml b/recipes/python-bioext/build_failure.osx-64.yaml deleted file mode 100644 index 515bcc424a6f4..0000000000000 --- a/recipes/python-bioext/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 7d5acc4e24406ece2915a9b9293f2f8f8ef6e0f5e1f000a11899c0bd5e936e8c # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |- - bin/clipedge (text): Patching - bin/consensus (text): Patching - bin/msa2bam (text): Patching - bin/seqmerge (text): Patching - bin/translate (text): Patching - etc/conda/activate.d/python-bioext_activate.sh (text): Patching - TEST START: /opt/mambaforge/envs/bioconda/conda-bld/osx-64/python-bioext-0.20.4-py310hde71c8b_4.tar.bz2 - INFO:conda_build.utils:Renaming work directory '/opt/mambaforge/envs/bioconda/conda-bld/python-bioext_1685553363523/work' to '/opt/mambaforge/envs/bioconda/conda-bld/python-bioext_1685553363523/work_moved_python-bioext-0.20.4-py310hde71c8b_4_osx-64' - Renaming work directory '/opt/mambaforge/envs/bioconda/conda-bld/python-bioext_1685553363523/work' to '/opt/mambaforge/envs/bioconda/conda-bld/python-bioext_1685553363523/work_moved_python-bioext-0.20.4-py310hde71c8b_4_osx-64' - shutil.move(work)=/opt/mambaforge/envs/bioconda/conda-bld/python-bioext_1685553363523/work, dest=/opt/mambaforge/envs/bioconda/conda-bld/python-bioext_1685553363523/work_moved_python-bioext-0.20.4-py310hde71c8b_4_osx-64) - INFO:conda_build.utils:shutil.move(work)=/opt/mambaforge/envs/bioconda/conda-bld/python-bioext_1685553363523/work, dest=/opt/mambaforge/envs/bioconda/conda-bld/python-bioext_1685553363523/work_moved_python-bioext-0.20.4-py310hde71c8b_4_osx-64) - Reloading output folder: /opt/mambaforge/envs/bioconda/conda-bld - - ## Package Plan ## - - environment location: /opt/mambaforge/envs/bioconda/conda-bld/python-bioext_1685553363523/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place - - - The following NEW packages will be INSTALLED: - - biopython: 1.81-py310h90acd4f_0 conda-forge - brotli: 1.0.9-hb7f2c08_8 conda-forge - brotli-bin: 1.0.9-hb7f2c08_8 conda-forge - bzip2: 1.0.8-h0d85af4_4 conda-forge - c-ares: 1.19.1-h0dc2134_0 conda-forge - ca-certificates: 2023.5.7-h8857fd0_0 conda-forge - certifi: 2023.5.7-pyhd8ed1ab_0 conda-forge - charset-normalizer: 3.1.0-pyhd8ed1ab_0 conda-forge - freetype: 2.12.1-h3f81eb7_1 conda-forge - idna: 3.4-pyhd8ed1ab_0 conda-forge - joblib: 1.2.0-pyhd8ed1ab_0 conda-forge - krb5: 1.20.1-h049b76e_0 conda-forge - libblas: 3.9.0-16_osx64_openblas conda-forge - libbrotlicommon: 1.0.9-hb7f2c08_8 conda-forge - libbrotlidec: 1.0.9-hb7f2c08_8 conda-forge - libbrotlienc: 1.0.9-hb7f2c08_8 conda-forge - libcblas: 3.9.0-16_osx64_openblas conda-forge - libcurl: 8.1.2-hbee3ae8_0 conda-forge - libcxx: 16.0.4-hd57cbcb_0 conda-forge - libdeflate: 1.18-hac1461d_0 conda-forge - libedit: 3.1.20191231-h0678c8f_2 conda-forge - libev: 4.33-haf1e3a3_1 conda-forge - libffi: 3.4.2-h0d85af4_5 conda-forge - libgfortran: 5.0.0-11_3_0_h97931a8_31 conda-forge - libgfortran5: 12.2.0-he409387_31 conda-forge - liblapack: 3.9.0-16_osx64_openblas conda-forge - libnghttp2: 1.52.0-he2ab024_0 conda-forge - libopenblas: 0.3.21-openmp_h429af6e_3 conda-forge - libpng: 1.6.39-ha978bb4_0 conda-forge - libsqlite: 3.42.0-h58db7d2_0 conda-forge - libssh2: 1.10.0-h47af595_3 conda-forge - libzlib: 1.2.13-hfd90126_4 conda-forge - llvm-openmp: 16.0.4-hff08bdf_0 conda-forge - ncurses: 6.3-h96cf925_1 conda-forge - numpy: 1.24.3-py310h7451ae0_0 conda-forge - openssl: 3.1.1-h8a1eda9_1 conda-forge - packaging: 23.1-pyhd8ed1ab_0 conda-forge - platformdirs: 3.5.1-pyhd8ed1ab_0 conda-forge - pooch: 1.7.0-pyha770c72_3 conda-forge - pysam: 0.21.0-py310h2f18660_1 bioconda - pysocks: 1.7.1-pyha2e5f31_6 conda-forge - python: 3.10.11-he7542f4_0_cpython conda-forge - python-bioext: 0.20.4-py310hde71c8b_4 local - python_abi: 3.10-3_cp310 conda-forge - readline: 8.2-h9e318b2_1 conda-forge - requests: 2.31.0-pyhd8ed1ab_0 conda-forge - scipy: 1.10.1-py310h3900cf1_3 conda-forge - setuptools: 67.7.2-pyhd8ed1ab_0 conda-forge - six: 1.16.0-pyh6c4a22f_0 conda-forge - tk: 8.6.12-h5dbffcc_0 conda-forge - typing-extensions: 4.6.2-hd8ed1ab_0 conda-forge - typing_extensions: 4.6.2-pyha770c72_0 conda-forge - tzdata: 2023c-h71feb2d_0 conda-forge - urllib3: 2.0.2-pyhd8ed1ab_0 conda-forge - xz: 5.2.6-h775f41a_0 conda-forge - zlib: 1.2.13-hfd90126_4 conda-forge - zstd: 1.5.2-hbc0c0cd_6 conda-forge - - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/python-bioext_1685553363523/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place - export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/python-bioext_1685553363523/test_tmp - import: 'BioExt' - import: 'BioExt.align' - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/conda-bld/python-bioext_1685553363523/test_tmp/run_test.py", line 5, in - import BioExt.align - File "/opt/mambaforge/envs/bioconda/conda-bld/python-bioext_1685553363523/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/python3.10/site-packages/BioExt/align/__init__.py", line 14, in - from BioExt.align._align import _align, _compute_codon_matrices - File "BioExt/align/_align.pyx", line 12, in init BioExt.align._align - File "/opt/mambaforge/envs/bioconda/conda-bld/python-bioext_1685553363523/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/python3.10/site-packages/numpy/__init__.py", line 305, in __getattr__ - raise AttributeError(__former_attrs__[attr]) - AttributeError: module 'numpy' has no attribute 'int'. - np.int was a deprecated alias for the builtin int. To avoid this error in existing code, use int by itself. Doing this will not modify any behavior and is safe. When replacing np.int, you may wish to use e.g. np.int64 or np.int32 to specify the precision. If you wish to review your current use, check the release note link for additional information. - The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at: - https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations - Tests failed for python-bioext-0.20.4-py310hde71c8b_4.tar.bz2 - moving package to /opt/mambaforge/envs/bioconda/conda-bld/broken - WARNING:conda_build.build:Tests failed for python-bioext-0.20.4-py310hde71c8b_4.tar.bz2 - moving package to /opt/mambaforge/envs/bioconda/conda-bld/broken - TESTS FAILED: python-bioext-0.20.4-py310hde71c8b_4.tar.bz2 -# Last 100 lines of the build log. diff --git a/recipes/python-bioext/cythonize.patch b/recipes/python-bioext/cythonize.patch index 9bb023793fe88..239d3cf2f602c 100644 --- a/recipes/python-bioext/cythonize.patch +++ b/recipes/python-bioext/cythonize.patch @@ -1,6 +1,6 @@ ---- setup.py.orig 2022-09-09 17:31:39.180256060 +0100 -+++ setup.py 2022-09-09 17:49:24.335610213 +0100 -@@ -21,11 +21,11 @@ +--- a/setup.py ++++ b/setup.py +@@ -24,11 +24,11 @@ tn93_extension = cythonize([ sources=sourcefiles )]) @@ -14,7 +14,7 @@ os.path.join('BioExt', 'align', 'alignment.c') ], include_dirs=np_inc, -@@ -35,7 +35,7 @@ +@@ -38,7 +38,7 @@ ext_modules = [ Extension( 'BioExt.merge._merge', sources=[ @@ -23,7 +23,7 @@ os.path.join('BioExt', 'merge', 'merge.cpp') ], extra_compile_args=['-O3', '-I.'] -@@ -43,13 +43,13 @@ +@@ -46,12 +46,13 @@ ext_modules = [ Extension( 'BioExt.rateclass._rateclass', sources=[ @@ -31,12 +31,11 @@ + os.path.join('BioExt', 'rateclass', '_rateclass.pyx'), os.path.join('BioExt', 'rateclass', 'rateclass.cpp') ], -+ language="c++", ++ language="c++", extra_compile_args=['-O3', '-I.'] ) - ] + tn93_extension -- + ]) + tn93_extension - setup( - name='bioext', + _refdir = join( + split( diff --git a/recipes/python-bioext/meta.yaml b/recipes/python-bioext/meta.yaml index 84edecf3c34ce..0ea3844b07ae1 100644 --- a/recipes/python-bioext/meta.yaml +++ b/recipes/python-bioext/meta.yaml @@ -1,6 +1,6 @@ {% set name = "BioExt" %} -{% set version = "0.21.2" %} -{% set sha256 = "bd3ae29e1dfc4e543b6b6acdd26d073157365233c690a31793d2924055999568" %} +{% set version = "0.21.9" %} +{% set sha256 = "21bf30eac79c5bc553f0870a119688adaab5a040ff72f9e8fdac46fec978130f" %} package: name: python-{{ name|lower }} @@ -11,11 +11,10 @@ source: sha256: {{ sha256 }} patches: - cythonize.patch - - osx-freetype.patch # [osx] + - osx-freetype.patch # [osx] build: number: 0 - skip: True # [py2k] run_exports: - {{ pin_subpackage("python-bioext", max_pin="x.x") }} @@ -24,19 +23,15 @@ requirements: - {{ compiler('c') }} - {{ compiler('cxx') }} host: - - freetype - python - - cython >=0.28 - - setuptools - - biopython >=1.58 - - numpy >1.20.3 - - scipy - - pysam + - pip + - cython + - numpy run: - freetype - python - - biopython >=1.58 - - numpy >1.20.3 + - biopython >=1.78 + - {{ pin_compatible('numpy') }} - scipy - pysam - joblib @@ -79,6 +74,11 @@ test: about: home: https://github.com/veg/BioExt.git - license: GPL-3 + license: GPL-3.0-only license_family: GPL3 summary: 'A few handy bioinformatics tools not already in BioPython' + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/python-crypt4gh/build.sh b/recipes/python-crypt4gh/build.sh deleted file mode 100644 index 112ff62f41095..0000000000000 --- a/recipes/python-crypt4gh/build.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -pip install . --no-deps --ignore-installed --no-cache-dir \ No newline at end of file diff --git a/recipes/python-crypt4gh/meta.yaml b/recipes/python-crypt4gh/meta.yaml index 663c219b00c12..df088ad3afcf4 100644 --- a/recipes/python-crypt4gh/meta.yaml +++ b/recipes/python-crypt4gh/meta.yaml @@ -1,6 +1,6 @@ {% set name = "crypt4gh" %} -{% set version = "1.6" %} -{% set sha256_any = "8754f23182ee7dd5119ab0eb4999b3c8ffaa8bb8f8dbf2cdbaff790ac5b4f3a7" %} +{% set version = "1.7" %} +{% set sha256_any = "88785a298a9c47d900f179f69d9768052df58bd6904b5c7cbdc62cb21d475ef1" %} package: name: python-{{ name }} @@ -13,13 +13,19 @@ source: build: number: 0 noarch: python + entry_points: + - crypt4gh=crypt4gh.__main__:main + - crypt4gh-keygen=crypt4gh.keys.__init__:main + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + run_exports: + - {{ pin_subpackage('python-crypt4gh', max_pin="x") }} requirements: host: - - python >=3 + - python >=3.6 - pip run: - - python >=3 + - python >=3.6 - pyyaml - docopt - cryptography @@ -44,8 +50,10 @@ test: - diff testfile-help.txt message.bob.received about: - home: https://github.com/EGA-archive/crypt4gh - license: Apache-2.0 + home: "https://github.com/EGA-archive/crypt4gh" + license: "Apache-2.0" license_family: APACHE license_file: LICENSE - summary: GA4GH cryptographic tools + summary: "GA4GH cryptographic tools" + dev_url: "https://github.com/EGA-archive/crypt4gh" + doc_url: "http://crypt4gh.readthedocs.io" diff --git a/recipes/python-edlib/LICENSE b/recipes/python-edlib/LICENSE new file mode 100644 index 0000000000000..d8f3fefba092a --- /dev/null +++ b/recipes/python-edlib/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2014 Martin Šošić + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/recipes/python-edlib/build.sh b/recipes/python-edlib/build.sh deleted file mode 100644 index 3786386a73c83..0000000000000 --- a/recipes/python-edlib/build.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -$PYTHON setup.py install --single-version-externally-managed --record=record.txt diff --git a/recipes/python-edlib/meta.yaml b/recipes/python-edlib/meta.yaml index 620f2a4a05d0f..468f2b9a27044 100644 --- a/recipes/python-edlib/meta.yaml +++ b/recipes/python-edlib/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.3.9" %} +{% set version = "1.3.9.post1" %} package: name: python-edlib @@ -6,17 +6,21 @@ package: source: url: https://pypi.io/packages/source/e/edlib/edlib-{{ version }}.tar.gz - sha256: 64c3dfab3ebe3e759565a0cc71eb4df23cf3ce1713fd558af3c473dddc2a3766 + sha256: b0fb6e85882cab02208ccd6daa46f80cb9ff1d05764e91bf22920a01d7a6fbfa build: - number: 4 + number: 0 + script: "EDLIB_USE_CYTHON=1 {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + run_exports: + - {{ pin_subpackage("python-edlib", max_pin="x") }} requirements: build: - {{ compiler('cxx') }} host: - python - - setuptools + - pip + - cython run: - python @@ -25,7 +29,17 @@ test: - edlib about: - home: https://github.com/Martinsos/edlib - license: MIT License + home: "https://github.com/Martinsos/edlib" + license: MIT summary: 'Lightweight, super fast C/C++ (& Python) library for sequence alignment using edit (Levenshtein) distance.' license_family: MIT + license_file: LICENSE + dev_url: "https://github.com/Martinsos/edlib" + doc_url: "https://martinsos.github.io/edlib" + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + identifiers: + - doi:10.1093/bioinformatics/btw753 diff --git a/recipes/python-hivclustering/meta.yaml b/recipes/python-hivclustering/meta.yaml index e6836779451a5..978c7db69b88c 100644 --- a/recipes/python-hivclustering/meta.yaml +++ b/recipes/python-hivclustering/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.6.8" %} +{% set version = "1.8.0" %} {% set name = "hivclustering" %} package: @@ -7,7 +7,7 @@ package: source: url: https://github.com/veg/{{ name }}/archive/{{ version }}.tar.gz - sha256: 63ff148ee265a273156c51b4727f5f00a07f9c3306d17f122c4c6c6ab9d41ecb + sha256: f331d44e4998149de1aa612539b15dd20c1318b411fa0a3581406a59a211adba build: noarch: python diff --git a/recipes/python-hppy/build_failure.osx-64.yaml b/recipes/python-hppy/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..2206f06c5a1d3 --- /dev/null +++ b/recipes/python-hppy/build_failure.osx-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: e93d9813de6c2fbff2b946a68f91bba2c6d0684a3eeaecaf363fba1deaa7d198 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: dependency issue +log: |- + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {MatchSpec("python-hyphy-python==0.1.9=py27h8c18e5c_0"), MatchSpec("python[version='>=2.7,<2.8.0a0']")} + Encountered problems while solving: + - package python-hyphy-python-0.1.9-py27h8c18e5c_0 requires python >=2.7,<2.8.0a0, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + python-hyphy-python >=0.1.8 is installable with the potential options + python-hyphy-python 0.1.9 would require + python >=2.7,<2.8.0a0 , which can be installed; + python-hyphy-python [0.1.10|0.1.9] would require + python_abi 2.7.* *_cp27m, which can be installed; + python-hyphy-python [0.1.10|0.1.11|0.1.12] would require + python_abi 3.10.* *_cp310, which can be installed; + python-hyphy-python [0.1.10|0.1.11|0.1.9] would require + python_abi 3.6.* *_cp36m, which can be installed; + python-hyphy-python [0.1.10|0.1.11|0.1.9] would require + python_abi 3.7.* *_cp37m, which can be installed; + python-hyphy-python [0.1.10|0.1.11|0.1.12|0.1.9] would require + python_abi 3.8.* *_cp38, which can be installed; + python-hyphy-python [0.1.10|0.1.11|0.1.12] would require + python_abi 3.9.* *_cp39, which can be installed; + python-hyphy-python 0.1.9 would require + python >=3.5,<3.6.0a0 , which can be installed; + python-hyphy-python 0.1.9 would require + python >=3.6,<3.7.0a0 , which can be installed; + python-hyphy-python 0.1.9 would require + python >=3.7,<3.8.0a0 , which can be installed; + python >=3.11,<3.12.0a0 is not installable because it requires + python_abi 3.11.* *_cp311, which conflicts with any installable versions previously reported. + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2409, in build + create_build_envs(top_level_pkg, notest) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2247, in create_build_envs + raise e + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2220, in create_build_envs + environ.get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {MatchSpec("python-hyphy-python==0.1.9=py27h8c18e5c_0"), MatchSpec("python[version='>=2.7,<2.8.0a0']")} + Encountered problems while solving: + - package python-hyphy-python-0.1.9-py27h8c18e5c_0 requires python >=2.7,<2.8.0a0, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + python-hyphy-python >=0.1.8 is installable with the potential options + python-hyphy-python 0.1.9 would require + python >=2.7,<2.8.0a0 , which can be installed; + python-hyphy-python [0.1.10|0.1.9] would require + python_abi 2.7.* *_cp27m, which can be installed; + python-hyphy-python [0.1.10|0.1.11|0.1.12] would require + python_abi 3.10.* *_cp310, which can be installed; + python-hyphy-python [0.1.10|0.1.11|0.1.9] would require + python_abi 3.6.* *_cp36m, which can be installed; + python-hyphy-python [0.1.10|0.1.11|0.1.9] would require + python_abi 3.7.* *_cp37m, which can be installed; + python-hyphy-python [0.1.10|0.1.11|0.1.12|0.1.9] would require + python_abi 3.8.* *_cp38, which can be installed; + python-hyphy-python [0.1.10|0.1.11|0.1.12] would require + python_abi 3.9.* *_cp39, which can be installed; + python-hyphy-python 0.1.9 would require + python >=3.5,<3.6.0a0 , which can be installed; + python-hyphy-python 0.1.9 would require + python >=3.6,<3.7.0a0 , which can be installed; + python-hyphy-python 0.1.9 would require + python >=3.7,<3.8.0a0 , which can be installed; + python >=3.11,<3.12.0a0 is not installable because it requires + python_abi 3.11.* *_cp311, which conflicts with any installable versions previously reported. +# Last 100 lines of the build log. diff --git a/recipes/python-hppy/meta.yaml b/recipes/python-hppy/meta.yaml index 5b8be794a48af..25d0459cfe20c 100644 --- a/recipes/python-hppy/meta.yaml +++ b/recipes/python-hppy/meta.yaml @@ -11,7 +11,7 @@ source: build: script: {{ PYTHON }} -m pip install . -vv - number: 0 + number: 1 requirements: build: diff --git a/recipes/python-hyphy-python/0001-importlib.patch b/recipes/python-hyphy-python/0001-importlib.patch new file mode 100644 index 0000000000000..33994a6d68d88 --- /dev/null +++ b/recipes/python-hyphy-python/0001-importlib.patch @@ -0,0 +1,13 @@ +diff --git a/HyPhy/__init__.py b/HyPhy/__init__.py +index 0b0a5c8..1fd1ea3 100644 +--- a/HyPhy/__init__.py ++++ b/HyPhy/__init__.py +@@ -10,7 +10,7 @@ from sys import version_info + if version_info >= (2,6,0): + def swig_import_helper(): + from os.path import dirname +- import importlib ++ import importlib.util + module_spec = None + try: + module_spec = importlib.util.find_spec('_HyPhy', [dirname(__file__)]) diff --git a/recipes/python-hyphy-python/0002-C++17-fixes.patch b/recipes/python-hyphy-python/0002-C++17-fixes.patch deleted file mode 100644 index cd6ca528638d0..0000000000000 --- a/recipes/python-hyphy-python/0002-C++17-fixes.patch +++ /dev/null @@ -1,41 +0,0 @@ ---- hyphy-src/src/core/regex.cpp -+++ hyphy-src/src/core/regex.cpp -@@ -2999,3 +2999,3 @@ - regs->num_regs = 0; -- regs->start = regs->end = (regoff_t) 0; -+ regs->start = regs->end = (regoff_t*) nullptr; - } ---- SWIGWrappers/THyPhy_py3.cpp -+++ SWIGWrappers/THyPhy_py3.cpp -@@ -5619 +5619 @@ -- (size_t)(((char*)&((SwigPyObject *) 64L)->dict) - (char*) 64L), /* tp_dictoffset */ -+ (Py_ssize_t)(((char*)&((SwigPyObject *) 64L)->dict) - (char*) 64L), /* tp_dictoffset */ -@@ -5824 +5824 @@ -- (size_t)(((char*)&((SwigPyObject *) 64L)->dict) - (char*) 64L), /* tp_dictoffset */ -+ (Py_ssize_t)(((char*)&((SwigPyObject *) 64L)->dict) - (char*) 64L), /* tp_dictoffset */ -@@ -6026 +6026 @@ -- (size_t)(((char*)&((SwigPyObject *) 64L)->dict) - (char*) 64L), /* tp_dictoffset */ -+ (Py_ssize_t)(((char*)&((SwigPyObject *) 64L)->dict) - (char*) 64L), /* tp_dictoffset */ -@@ -6235 +6235 @@ -- (size_t)(((char*)&((SwigPyObject *) 64L)->dict) - (char*) 64L), /* tp_dictoffset */ -+ (Py_ssize_t)(((char*)&((SwigPyObject *) 64L)->dict) - (char*) 64L), /* tp_dictoffset */ -@@ -6448 +6448 @@ -- (size_t)(((char*)&((SwigPyObject *) 64L)->dict) - (char*) 64L), /* tp_dictoffset */ -+ (Py_ssize_t)(((char*)&((SwigPyObject *) 64L)->dict) - (char*) 64L), /* tp_dictoffset */ ---- SWIGWrappers/THyPhy_python.cpp -+++ SWIGWrappers/THyPhy_python.cpp -@@ -5619 +5619 @@ -- (size_t)(((char*)&((SwigPyObject *) 64L)->dict) - (char*) 64L), /* tp_dictoffset */ -+ (Py_ssize_t)(((char*)&((SwigPyObject *) 64L)->dict) - (char*) 64L), /* tp_dictoffset */ -@@ -5817 +5817 @@ -- (size_t)(((char*)&((SwigPyObject *) 64L)->dict) - (char*) 64L), /* tp_dictoffset */ -+ (Py_ssize_t)(((char*)&((SwigPyObject *) 64L)->dict) - (char*) 64L), /* tp_dictoffset */ -@@ -6012 +6012 @@ -- (size_t)(((char*)&((SwigPyObject *) 64L)->dict) - (char*) 64L), /* tp_dictoffset */ -+ (Py_ssize_t)(((char*)&((SwigPyObject *) 64L)->dict) - (char*) 64L), /* tp_dictoffset */ -@@ -6214 +6214 @@ -- (size_t)(((char*)&((SwigPyObject *) 64L)->dict) - (char*) 64L), /* tp_dictoffset */ -+ (Py_ssize_t)(((char*)&((SwigPyObject *) 64L)->dict) - (char*) 64L), /* tp_dictoffset */ -@@ -6420 +6420 @@ -- (size_t)(((char*)&((SwigPyObject *) 64L)->dict) - (char*) 64L), /* tp_dictoffset */ -+ (Py_ssize_t)(((char*)&((SwigPyObject *) 64L)->dict) - (char*) 64L), /* tp_dictoffset */ diff --git a/recipes/python-hyphy-python/build.sh b/recipes/python-hyphy-python/build.sh index 388d0c13f7545..b94675ce4307c 100644 --- a/recipes/python-hyphy-python/build.sh +++ b/recipes/python-hyphy-python/build.sh @@ -1,4 +1,13 @@ #!/bin/bash +if [[ `uname` == "Darwin" ]]; then + export CFLAGS="${CFLAGS} -O3 -Wno-register ${LDFLAGS} -L${PREFIX}/lib" + export CXXFLAGS="${CXXFLAGS} -O3 -Wno-register -I${PREFIX}/include" +else + export CFLAGS="${CFLAGS} -O3 ${LDFLAGS} -L${PREFIX}/lib" + export CXXFLAGS="${CXXFLAGS} -O3 -I${PREFIX}/include" +fi + sed -i.bak "s#\['cc',#\['${CC}',#" setup.py -$PYTHON -m pip install --no-deps --ignore-installed . +rm -rf *.bak +${PYTHON} -m pip install --no-deps --no-build-isolation --no-cache-dir . -vvv diff --git a/recipes/python-hyphy-python/build_failure.osx-64.yaml b/recipes/python-hyphy-python/build_failure.osx-64.yaml deleted file mode 100644 index d5effcc76e294..0000000000000 --- a/recipes/python-hyphy-python/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 70c95280b87a85c906ec5297fc0af758627134eef80d8bf3832e1a5c987fd61d # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |- - CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 - CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 - CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 - DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/python-hyphy-python-0.1.11 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix - HOST=x86_64-apple-darwin13.4.0 - INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool - LD=x86_64-apple-darwin13.4.0-ld - LDFLAGS=-Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib - LDFLAGS_LD=-pie -headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib - LIBTOOL=x86_64-apple-darwin13.4.0-libtool - LIPO=x86_64-apple-darwin13.4.0-lipo - MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib - NM=x86_64-apple-darwin13.4.0-nm - NMEDIT=x86_64-apple-darwin13.4.0-nmedit - OBJC=x86_64-apple-darwin13.4.0-clang - OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - OTOOL=x86_64-apple-darwin13.4.0-otool - PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff - RANLIB=x86_64-apple-darwin13.4.0-ranlib - REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding - SDKROOT=/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk - SEGEDIT=x86_64-apple-darwin13.4.0-segedit - SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table - SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack - SIZE=x86_64-apple-darwin13.4.0-size - STRINGS=x86_64-apple-darwin13.4.0-strings - STRIP=x86_64-apple-darwin13.4.0-strip - _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 - ac_cv_func_malloc_0_nonnull=yes - ac_cv_func_realloc_0_nonnull=yes - build_alias=x86_64-apple-darwin13.4.0 - host_alias=x86_64-apple-darwin13.4.0 - INFO: activate_clangxx_osx-64.sh made the following environmental changes: - CLANGXX=x86_64-apple-darwin13.4.0-clang - CXX=x86_64-apple-darwin13.4.0-clang - CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/python-hyphy-python-0.1.11 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix - CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/python-hyphy-python-0.1.11 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix - Processing $SRC_DIR - Preparing metadata (setup.py): started - Preparing metadata (setup.py): finished with status 'done' - Building wheels for collected packages: hyphy-python - Building wheel for hyphy-python (setup.py): started - Building wheel for hyphy-python (setup.py): still running... - Building wheel for hyphy-python (setup.py): finished with status 'done' - Created wheel for hyphy-python: filename=hyphy_python-0.1.11-cp39-cp39-macosx_10_9_x86_64.whl size=1537556 sha256=a849de9d3d49dfec305e64b9d28cd26c55bbcd6e2b954d6e1494e21923d95be0 - Stored in directory: /private/tmp/pip-ephem-wheel-cache-jioguk98/wheels/2c/08/b1/eaae359458181a7c55cd8697fb47da77378d34341ce80965ee - Successfully built hyphy-python - Installing collected packages: hyphy-python - Successfully installed hyphy-python-0.1.11 - - Resource usage statistics from building python-hyphy-python: - Process count: 5 - CPU time: Sys=0:00:02.3, User=0:01:00.6 - Memory: 231.5M - Disk usage: 101.4K - Time elapsed: 0:01:39.6 - - - compiling .pyc files... - number of files: 11 - - - - - - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2358, in build - newly_built_packages = bundlers[pkg_type](output_d, m, env, stats) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 1659, in bundle_conda - files = post_process_files(metadata, initial_files) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 1505, in post_process_files - post_build(m, new_files, build_python=python) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/post.py", line 1318, in post_build - post_process_shared_lib(m, f, prefix_files, host_prefix) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/post.py", line 1266, in post_process_shared_lib - mk_relative_osx(path, host_prefix, m, files=files, rpaths=rpaths) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/post.py", line 428, in mk_relative_osx - assert_relative_osx(path, host_prefix, build_prefix) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/post.py", line 560, in assert_relative_osx - for name in macho.get_dylibs(path, tools_prefix): - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/os_utils/macho.py", line 208, in get_dylibs - dylib_loads = otool(path, build_prefix, is_load_dylib) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/os_utils/macho.py", line 194, in otool - lines = check_output([otool, '-l', path], - File "/opt/mambaforge/envs/bioconda/lib/python3.8/subprocess.py", line 415, in check_output - return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/subprocess.py", line 516, in run - raise CalledProcessError(retcode, process.args, - subprocess.CalledProcessError: Command '['/opt/mambaforge/envs/bioconda/conda-bld/python-hyphy-python_1686046523923/_build_env/bin/llvm-otool', '-l', '/opt/mambaforge/envs/bioconda/conda-bld/python-hyphy-python_1686046523923/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.9/site-packages/_HyPhy.cpython-39-darwin.so']' died with . -# Last 100 lines of the build log. diff --git a/recipes/python-hyphy-python/meta.yaml b/recipes/python-hyphy-python/meta.yaml index 74a98bb187c8e..6d17c7fcfe6e9 100644 --- a/recipes/python-hyphy-python/meta.yaml +++ b/recipes/python-hyphy-python/meta.yaml @@ -1,40 +1,51 @@ -{% set version = "0.1.11" %} +{% set name = "python-hyphy-python" %} +{% set version = "0.1.12" %} package: - name: python-hyphy-python + name: {{ name }} version: {{ version }} source: url: https://github.com/veg/hyphy-python/archive/{{ version }}.tar.gz - sha256: 2e428350af443c9692fab879be62338e11203004e8b8935d7cca9ec5df714412 -# patches: -# - 0002-C++17-fixes.patch + sha256: cfdcc2b82ba1304a7f9ec782bd209bd370a4e80af9cfff219ee5f73a1efa42af + patches: + - 0001-importlib.patch build: - skip: true # [py2k] - number: 1 + number: 2 + run_exports: + - {{ pin_subpackage('python-hyphy-python', max_pin="x.x") }} requirements: build: - {{ compiler('c') }} - {{ compiler('cxx') }} - - llvm-openmp # [osx] - - libgomp # [linux] host: - pip - python + - llvm-openmp # [osx] + - libgomp # [linux] - libcurl run: - python - - libcurl + - llvm-openmp # [osx] + - libgomp # [linux] test: - # Python imports imports: - HyPhy about: - home: https://github.com/veg/hyphy-python + home: "https://github.com/veg/hyphy-python" license: MIT + license_family: MIT license_file: LICENSE summary: 'HyPhy package interface library' + dev_url: "https://github.com/veg/hyphy-python" + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + identifiers: + - biotools:HyPhy diff --git a/recipes/python-libsbml/LICENSE.txt b/recipes/python-libsbml/LICENSE.txt deleted file mode 100644 index ec363e7a82a1f..0000000000000 --- a/recipes/python-libsbml/LICENSE.txt +++ /dev/null @@ -1,167 +0,0 @@ - Licensing and Distribution Terms for libSBML - -The majority of libSBML is copyrighted as follows: - -* Copyright (C) 2013-2017 jointly by the following organizations: - 1. California Institute of Technology, Pasadena, CA, USA - 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK - 3. University of Heidelberg, Heidelberg, Germany - -* Copyright (C) 2009-2013 jointly by the following organizations: - 1. California Institute of Technology, Pasadena, CA, USA - 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK - -* Copyright (C) 2006-2008 by the California Institute of Technology, - Pasadena, CA, USA - -* Copyright (C) 2002-2005 jointly by the following organizations: - 1. California Institute of Technology, Pasadena, CA, USA - 2. Japan Science and Technology Agency, Japan - -Portions of the source code comprising libSBML were copyrighted -and contributed by third parties, and placed under the same LGPL -2.1 license as the rest of libSBML. The following are their -copyright statements: - -* Copyright (C) 2004-2008 by European Media Laboratories Research - gGmbH, Heidelberg, Germany. (For the "SBML Layout" code.) - -LibSBML is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as -published by the Free Software Foundation; either version 2.1 of -the License, or any later version. - -This software is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF -MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. The software -and documentation provided hereunder is on an "as is" basis, and -the copyright holders have no obligations to provide maintenance, -support, updates, enhancements or modifications. In no event -shall the copyright holders be liable to any party for direct, -indirect, special, incidental or consequential damages, including -lost profits, arising out of the use of this software and its -documentation, even if the copyright holders have been advised of -the possibility of such damage. See the GNU Lesser General Public -License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with this library in the file named "COPYING.txt" -included with the software distribution. A copy is also -available online at the Internet address -http://sbml.org/software/libsbml/COPYING.html for your -convenience. You may also write to obtain a copy from the Free -Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -MA 02110-1301, USA. - - - Third-party software incorporated into both the libSBML - binary and source-code distributions - -LibSBML incorporates an open-source compression library written by -a third party. The following is information about the copyright -and distribution terms of this library: - -* MiniZip 1.01e, copyright (C) 1998-2005 Gilles Vollant, released - under terms compatible with the LGPL. Please see the file - src/sbml/compress/00README.txt for more information about - MiniZip 1.01e and its license terms. - - - Additional third-party software incorporated only - into the libSBML source code distribution - -Additional software is used to produce the documentation of -libSBML. The binary distributions of libSBML do not include this -software; they are only present in the source code distribution -and the libSBML documentation archives. - -* Argparse 1.2.1, copyright (C) 2006-2009 Steven J. Bethard - and distributed under the Python Software - Foundation License version 2. Code downloaded from - http://code.google.com/p/argparse/ on 2012-02-10. - -* Google Code Prettify, distributed under the terms of the - Apache License Version 2.0, January 2004. Code downloaded from - http://code.google.com/p/google-code-prettify/ on 2013-10-16. - -* PrettyTable, copyright (C) 2009-2013 Luke Maurits, distributed - under the following BSD-derivative license: - - Copyright (c) 2009-2013 Luke Maurits - All rights reserved. - With contributions from: - * Chris Clark - * Christoph Robbert - * Klein Stephane - * "maartendb" - - Redistribution and use in source and binary forms, with or - without modification, are permitted provided that the - following conditions are met: - - * Redistributions of source code must retain the above - copyright notice, this list of conditions and the - following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the - following disclaimer in the documentation and/or other - materials provided with the distribution. - - * The name of the author may not be used to endorse or - promote products derived from this software without - specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* ExcludeDoclet, copyright (C) 2004 by Sun Microsystems, Inc., and - distributed under the following open-source terms: - - Copyright 2004 Sun Microsystems, Inc. All Rights Reserved. - - Redistribution and use in source and binary forms, with or - without modification, are permitted provided that the - following conditions are met: - - - Redistribution of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - - - Redistribution in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. Neither the name of Sun Microsystems, - Inc. nor the names of contributors may be used to endorse or - promote products derived from this software without specific - prior written permission. - - This software is provided "AS IS," without a warranty of any - kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE - HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS - LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY - LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS - SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS - LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR - FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR - PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY - OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE - THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY - OF SUCH DAMAGES. - - You acknowledge that this software is not designed, licensed - or intended for use in the design, construction, operation or - maintenance of any nuclear facility. diff --git a/recipes/python-libsbml/meta.yaml b/recipes/python-libsbml/meta.yaml deleted file mode 100644 index 6b837cefb8de5..0000000000000 --- a/recipes/python-libsbml/meta.yaml +++ /dev/null @@ -1,40 +0,0 @@ -{% set version = "5.18.0" %} - -package: - name: python-libsbml - version: {{ version }} - -source: - url: https://pypi.io/packages/source/p/python-libsbml/python-libsbml-{{ version }}.tar.gz - sha256: 58e36e83c3763887f56a6e51fe9ba3bb5ad903d7bc1be028b57bc147c1ab5ea1 - -build: - number: 6 - script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv - -requirements: - build: - - {{ compiler('c') }} - - {{ compiler('cxx') }} - host: - - python - - pip - - libxml2 - - bzip2 - run: - - python - - bzip2 - - libxml2 - -test: - imports: - - libsbml - -about: - home: http://sbml.org - license: LGPL - license_file: LICENSE.txt - summary: 'LibSBML Python API.' - description: | - LibSBML is a library for reading, writing and manipulating - the Systems Biology Markup Language (SBML). diff --git a/recipes/python-msgpack/meta.yaml b/recipes/python-msgpack/meta.yaml index 7813176a17dcd..ed09391704528 100644 --- a/recipes/python-msgpack/meta.yaml +++ b/recipes/python-msgpack/meta.yaml @@ -7,7 +7,9 @@ source: url: https://files.pythonhosted.org/packages/81/9c/0036c66234482044070836cc622266839e2412f8108849ab0bfdeaab8578/msgpack-{{ version }}.tar.gz sha256: 4008c72f5ef2b7936447dcb83db41d97e9791c83221be13d5e19db0796df1972 build: - number: 8 + number: 10 + run_exports: + - {{ pin_subpackage('python-msgpack', max_pin='x.x') }} requirements: build: - {{ compiler('cxx') }} @@ -24,4 +26,6 @@ about: license: Apache 2.0 summary: "It's like JSON. But fast and small." extra: + additional-platforms: + - linux-aarch64 web: http://msgpack.org/ diff --git a/recipes/pytransaln/meta.yaml b/recipes/pytransaln/meta.yaml new file mode 100644 index 0000000000000..d3c02cd1a111b --- /dev/null +++ b/recipes/pytransaln/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "pytransaln" %} +{% set version = "0.2.1" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/pytransaln-{{ version }}.tar.gz + sha256: 280a035573dc2e709d226b628fbee41d1ee6afcff5f7a7185aac05135314a2e2 + +build: + entry_points: + - pytransaln = pytransaln.pytransaln:main + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('pytransaln', max_pin="x.x") }} + +requirements: + host: + - python + - setuptools >=61.0.0 + - pip + run: + - python + - biopython >=1.80,<2 + - pandas >=1.3,<3 + - matplotlib-base >=3.6,<4 + - pyhmmer ==0.10 + +test: + imports: + - pytransaln + commands: + - pip check + - pytransaln --help + requires: + - pip + +about: + home: https://github.com/monagrland/pytransaln + summary: Translation-guided nucleotide alignment for coding sequences + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - kbseah diff --git a/recipes/pytrf/meta.yaml b/recipes/pytrf/meta.yaml index 14cbbf40ed6d3..eb36fafc0aa87 100644 --- a/recipes/pytrf/meta.yaml +++ b/recipes/pytrf/meta.yaml @@ -1,6 +1,6 @@ {% set name = "pytrf" %} -{% set version = "1.2.1" %} -{% set sha256 = "47d201d0cb2dad705f9a4e6030d374878c4b6e30762eefd08f159c28db7402df" %} +{% set version = "1.3.3" %} +{% set sha256 = "f635dc817e0431d1f29dfda9ea2f2f901c89890443e15cd1f207975d6f84002f" %} package: name: "{{ name|lower }}" @@ -11,8 +11,7 @@ source: sha256: "{{ sha256 }}" build: - number: 1 - skip: True # [py < 36] + number: 0 script: "{{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv" run_exports: - {{ pin_subpackage("pytrf", max_pin="x.x") }} @@ -36,3 +35,8 @@ about: license_family: MIT license_file: LICENSE summary: "a fast Python package for finding tandem repeat sequences" + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/pytriangle/meta.yaml b/recipes/pytriangle/meta.yaml index 5a6acbe13a347..97e7e6f92071c 100644 --- a/recipes/pytriangle/meta.yaml +++ b/recipes/pytriangle/meta.yaml @@ -7,7 +7,7 @@ source: git_rev: f87b411 build: - number: 8 + number: 9 script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv test: diff --git a/recipes/pytrimal/build_failure.osx-64.yaml b/recipes/pytrimal/build_failure.osx-64.yaml deleted file mode 100644 index 3e17f43f9ea65..0000000000000 --- a/recipes/pytrimal/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 2b2448d5612a48c088b23e9e3cf84e65dbbc457f63882f0474cc0b2f61c50bf3 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |- - Can't parse the binary at the index #0 - {} is not a Mach-O file - Can't parse the binary at the index #1 - {} is not a Mach-O file - Can't parse the binary at the index #0 - {} is not a Mach-O file - Can't parse the binary at the index #1 - {} is not a Mach-O file - Can't parse the binary at the index #0 - {} is not a Mach-O file - Can't parse the binary at the index #1 - {} is not a Mach-O file - Can't parse the binary at the index #0 - {} is not a Mach-O file - Can't parse the binary at the index #1 - {} is not a Mach-O file - Can't parse the binary at the index #0 - {} is not a Mach-O file - Can't parse the binary at the index #1 - {} is not a Mach-O file - Can't parse the binary at the index #0 - {} is not a Mach-O file - Can't parse the binary at the index #1 - {} is not a Mach-O file - Can't parse the binary at the index #2 - {} is not a Mach-O file - Can't parse the binary at the index #3 - {} is not a Mach-O file - Can't parse the binary at the index #4 - {} is not a Mach-O file - Can't parse the binary at the index #0 - {} is not a Mach-O file - Can't parse the binary at the index #1 - {} is not a Mach-O file - Can't parse the binary at the index #2 - {} is not a Mach-O file - Can't parse the binary at the index #3 - {} is not a Mach-O file - Can't parse the binary at the index #4 - {} is not a Mach-O file - Can't parse the binary at the index #0 - {} is not a Mach-O file - Can't parse the binary at the index #1 - INFO: sysroot: '/System/Library/Frameworks/' files: '['vmnet.framework/Versions/A/_CodeSignature/CodeResources', 'vmnet.framework/Versions/A/Resources/version.plist', 'vmnet.framework/Versions/A/Resources/en.lproj/InfoPlist.strings', 'vmnet.framework/Versions/A/Resources/Info.plist']' - INFO: sysroot: '/usr/lib/' files: '['zsh/5.8.1/zsh/zselect.so', 'zsh/5.8.1/zsh/zpty.so', 'zsh/5.8.1/zsh/zprof.so', 'zsh/5.8.1/zsh/zleparameter.so']' - INFO: sysroot: '/opt/X11/' files: '[]' - INFO (pytrimal,lib/python3.9/site-packages/pytrimal/_trimal.cpython-39-darwin.so): Needed DSO lib/libc.1.dylib found in conda-forge::libcxx-16.0.4-hd57cbcb_0 - INFO (pytrimal,lib/python3.9/site-packages/pytrimal/_trimal.cpython-39-darwin.so): Needed DSO /System/Library/Frameworks/libSystem.B.dylib found in $SYSROOT - WARNING (pytrimal): interpreted library (Python) package conda-forge::setuptools-67.7.2-pyhd8ed1ab_0 in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to build/ignore_run_exports) - WARNING (pytrimal): interpreter (Python) package conda-forge::python-3.9.16-h709bd14_0_cpython in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to build/ignore_run_exports) - Fixing permissions - Packaged license file/s. - INFO :: Time taken to mark (prefix) - 0 replacements in 0 files was 0.19 seconds - TEST START: /opt/mambaforge/envs/bioconda/conda-bld/osx-64/pytrimal-0.5.5-py39had7a9fe_2.tar.bz2 - Renaming work directory '/opt/mambaforge/envs/bioconda/conda-bld/pytrimal_1685352621956/work' to '/opt/mambaforge/envs/bioconda/conda-bld/pytrimal_1685352621956/work_moved_pytrimal-0.5.5-py39had7a9fe_2_osx-64' - INFO:conda_build.utils:Renaming work directory '/opt/mambaforge/envs/bioconda/conda-bld/pytrimal_1685352621956/work' to '/opt/mambaforge/envs/bioconda/conda-bld/pytrimal_1685352621956/work_moved_pytrimal-0.5.5-py39had7a9fe_2_osx-64' - INFO:conda_build.utils:shutil.move(work)=/opt/mambaforge/envs/bioconda/conda-bld/pytrimal_1685352621956/work, dest=/opt/mambaforge/envs/bioconda/conda-bld/pytrimal_1685352621956/work_moved_pytrimal-0.5.5-py39had7a9fe_2_osx-64) - shutil.move(work)=/opt/mambaforge/envs/bioconda/conda-bld/pytrimal_1685352621956/work, dest=/opt/mambaforge/envs/bioconda/conda-bld/pytrimal_1685352621956/work_moved_pytrimal-0.5.5-py39had7a9fe_2_osx-64) - Reloading output folder: /opt/mambaforge/envs/bioconda/conda-bld - - ## Package Plan ## - - environment location: /opt/mambaforge/envs/bioconda/conda-bld/pytrimal_1685352621956/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_ - - - The following NEW packages will be INSTALLED: - - bzip2: 1.0.8-h0d85af4_4 conda-forge - ca-certificates: 2023.5.7-h8857fd0_0 conda-forge - libcxx: 16.0.4-hd57cbcb_0 conda-forge - libffi: 3.4.2-h0d85af4_5 conda-forge - libsqlite: 3.42.0-h58db7d2_0 conda-forge - libzlib: 1.2.13-hfd90126_4 conda-forge - ncurses: 6.3-h96cf925_1 conda-forge - openssl: 3.1.0-h8a1eda9_3 conda-forge - python: 3.9.16-h709bd14_0_cpython conda-forge - python_abi: 3.9-3_cp39 conda-forge - pytrimal: 0.5.5-py39had7a9fe_2 local - readline: 8.2-h9e318b2_1 conda-forge - setuptools: 67.7.2-pyhd8ed1ab_0 conda-forge - tk: 8.6.12-h5dbffcc_0 conda-forge - tzdata: 2023c-h71feb2d_0 conda-forge - xz: 5.2.6-h775f41a_0 conda-forge - - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/pytrimal_1685352621956/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_ - export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/pytrimal_1685352621956/test_tmp - import: 'pytrimal' - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/conda-bld/pytrimal_1685352621956/test_tmp/run_test.py", line 2, in - import pytrimal - File "/opt/mambaforge/envs/bioconda/conda-bld/pytrimal_1685352621956/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.9/site-packages/pytrimal/__init__.py", line 4, in - from . import _trimal - ImportError: dlopen(/opt/mambaforge/envs/bioconda/conda-bld/pytrimal_1685352621956/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.9/site-packages/pytrimal/_trimal.cpython-39-darwin.so, 0x0002): symbol not found in flat namespace (_GetX86Info) - Tests failed for pytrimal-0.5.5-py39had7a9fe_2.tar.bz2 - moving package to /opt/mambaforge/envs/bioconda/conda-bld/broken - WARNING:conda_build.build:Tests failed for pytrimal-0.5.5-py39had7a9fe_2.tar.bz2 - moving package to /opt/mambaforge/envs/bioconda/conda-bld/broken - TESTS FAILED: pytrimal-0.5.5-py39had7a9fe_2.tar.bz2 -# Last 100 lines of the build log. diff --git a/recipes/pytrimal/meta.yaml b/recipes/pytrimal/meta.yaml index 4b3fffa40641f..a1d08ae93515a 100644 --- a/recipes/pytrimal/meta.yaml +++ b/recipes/pytrimal/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pytrimal" %} -{% set version = "0.7.0" %} +{% set version = "0.8.0" %} package: name: "{{ name|lower }}" @@ -7,13 +7,13 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: e80df938e83a95bf81d620f5909580f3f07b661f25b8613e67037134785b91b4 + sha256: 2331e67a74f3144d82373b6a79f42198f6632bd1b5025ab01cdd3eb527ef88cf build: - number: 0 - - skip: True #[py2k] - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vvv " + number: 1 + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir --use-pep517 -vvv" + run_exports: + - {{ pin_subpackage('pytrimal', max_pin="x.x") }} requirements: build: @@ -23,11 +23,10 @@ requirements: - python - pip - cython - - setuptools + - scoring-matrices >=0.2.0 run: - python - - setuptools - - archspec + - scoring-matrices >=0.2.0 test: imports: @@ -37,12 +36,15 @@ test: about: home: https://github.com/althonos/pytrimal - license: GPL-3 + license: GPL-3.0-or-later license_family: GPL license_file: COPYING - summary: Cython bindings and Python interface to trimAl, a tool for automated alignment trimming. - doc_url: https://pytrimal.readthedocs.org/ + summary: "Cython bindings and Python interface to trimAl, a tool for automated alignment trimming." + doc_url: https://pytrimal.readthedocs.org + dev_url: https://github.com/althonos/pytrimal extra: recipe-maintainers: - althonos + additional-platforms: + - linux-aarch64 diff --git a/recipes/pytximport/meta.yaml b/recipes/pytximport/meta.yaml new file mode 100644 index 0000000000000..a0bc051dd2be7 --- /dev/null +++ b/recipes/pytximport/meta.yaml @@ -0,0 +1,58 @@ +{% set name = "pytximport" %} +{% set version = "0.10.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/pytximport-{{ version }}.tar.gz + sha256: b882a8c86c0b80250908244e7ea2e4d84af9744a90b1143414ab4e40a43b9156 + +build: + noarch: python + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv + number: 0 + entry_points: + - pytximport=pytximport._cli:cli + run_exports: + - {{ pin_subpackage('pytximport', max_pin="x.x") }} + +requirements: + host: + - flit-core >=3.2,<4 + - python >=3.9 + - pip + run: + - python >=3.9 + - anndata >=0.8.0 + - click >=8.1.7 + - dask >=2024.7.0 + - flox >=0.9.8 + - h5py >=3.11.0 + - numpy >=1.23.0 + - pandas >=1.4.0 + - pybiomart >=0.2.0 + - tqdm >=4.66.4 + - xarray >=2024.6.0 + +test: + imports: + - pytximport + commands: + - pytximport --help + +about: + home: https://pytximport.readthedocs.io/en/latest/start.html + dev_url: https://github.com/complextissue/pytximport + doc_url: https://pytximport.readthedocs.io + summary: pytximport - gene count estimation from alignment-free quantification + description: | + pytximport is a Python port of tximport that allows users to import transcript counts from tools such as kallisto and Salmon, correct them for differential isoform usage, and summarize them at the gene level. + license: GPL-3.0-only + license_family: GPL + license_file: LICENSE + +extra: + recipe-maintainers: + - maltekuehl diff --git a/recipes/pywfa/build_failure.linux-64.yaml b/recipes/pywfa/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..b3f2db886eaeb --- /dev/null +++ b/recipes/pywfa/build_failure.linux-64.yaml @@ -0,0 +1,106 @@ +recipe_sha: 95c8dd202b5002f712ebb93b42c0a841958c188267059bc46cf5b75dd60613e7 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + Reloading output folder: ...working... done + Getting pinned dependencies: ...working... done + Reloading output folder: ...working... done + Getting pinned dependencies: ...working... done + BUILD START: ['pywfa-0.5.1-py39hff71179_3.tar.bz2'] + Reloading output folder: ...working... done + Solving environment (_h_env): ...working... done + + ## Package Plan ## + + environment location: /opt/conda/conda-bld/pywfa_1717953203444/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho + + + The following NEW packages will be INSTALLED: + + _libgcc_mutex: 0.1-conda_forge conda-forge + _openmp_mutex: 4.5-2_gnu conda-forge + bzip2: 1.0.8-hd590300_5 conda-forge + ca-certificates: 2024.6.2-hbcca054_0 conda-forge + cython: 3.0.10-py39h3d6467e_0 conda-forge + ld_impl_linux-64: 2.40-hf3520f5_2 conda-forge + libffi: 3.4.2-h7f98852_5 conda-forge + libgcc-ng: 13.2.0-h77fa898_7 conda-forge + libgomp: 13.2.0-h77fa898_7 conda-forge + libnsl: 2.0.1-hd590300_0 conda-forge + libsqlite: 3.45.3-h2797004_0 conda-forge + libstdcxx-ng: 13.2.0-hc0a3c3a_7 conda-forge + libuuid: 2.38.1-h0b41bf4_0 conda-forge + libxcrypt: 4.4.36-hd590300_1 conda-forge + libzlib: 1.3.1-h4ab18f5_1 conda-forge + ncurses: 6.5-h59595ed_0 conda-forge + openssl: 3.3.1-h4ab18f5_0 conda-forge + pip: 24.0-pyhd8ed1ab_0 conda-forge + python: 3.9.19-h0755675_0_cpython conda-forge + python_abi: 3.9-4_cp39 conda-forge + readline: 8.2-h8228510_1 conda-forge + setuptools: 70.0.0-pyhd8ed1ab_0 conda-forge + tk: 8.6.13-noxft_h4845f30_101 conda-forge + tzdata: 2024a-h0c530f3_0 conda-forge + wheel: 0.43.0-pyhd8ed1ab_1 conda-forge + xz: 5.2.6-h166bdaf_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Reloading output folder: ...working... done + Solving environment (_build_env): ...working... done + Reloading output folder: ...working... done + Solving environment (_test_env): ...working... done + + ## Package Plan ## + + environment location: /opt/conda/conda-bld/pywfa_1717953203444/_build_env + + + The following NEW packages will be INSTALLED: + + _libgcc_mutex: 0.1-conda_forge conda-forge + _openmp_mutex: 4.5-2_gnu conda-forge + binutils_impl_linux-64: 2.40-ha1999f0_2 conda-forge + binutils_linux-64: 2.40-hdade7a5_3 conda-forge + gcc_impl_linux-64: 12.3.0-h58ffeeb_7 conda-forge + gcc_linux-64: 12.3.0-h6477408_3 conda-forge + kernel-headers_linux-64: 2.6.32-he073ed8_17 conda-forge + ld_impl_linux-64: 2.40-hf3520f5_2 conda-forge + libgcc-devel_linux-64: 12.3.0-h0223996_107 conda-forge + libgcc-ng: 13.2.0-h77fa898_7 conda-forge + libgomp: 13.2.0-h77fa898_7 conda-forge + libsanitizer: 12.3.0-hb8811af_7 conda-forge + libstdcxx-ng: 13.2.0-hc0a3c3a_7 conda-forge + make: 4.3-hd18ef5c_1 conda-forge + sysroot_linux-64: 2.12-he073ed8_17 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Source cache directory is: /opt/conda/conda-bld/src_cache + Downloading source to cache: v0.5.1_cdfa67af3e.tar.gz + Downloading https://github.com/kcleal/pywfa/archive/v0.5.1.tar.gz + Success + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2419, in build + try_download(m, no_download_source=False, raise_error=True) + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 762, in try_download + source.provide(metadata) + File "/opt/conda/lib/python3.10/site-packages/conda_build/source.py", line 1035, in provide + unpack( + File "/opt/conda/lib/python3.10/site-packages/conda_build/source.py", line 169, in unpack + src_path, unhashed_fn = download_to_cache( + File "/opt/conda/lib/python3.10/site-packages/conda_build/source.py", line 125, in download_to_cache + raise RuntimeError( + RuntimeError: SHA256 mismatch: '455e8308dc9c61f690fab5067894bf40763b5c6dc7d209bcd475086f85a9b6bc' != 'cdfa67af3e0572a85302ef473ce49dce54d5e41b19b482f4682c1064013db8c0' +# Last 100 lines of the build log. +reason: |- + sha256 mismatch diff --git a/recipes/pywfa/build_failure.osx-64.yaml b/recipes/pywfa/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..791a4a1322747 --- /dev/null +++ b/recipes/pywfa/build_failure.osx-64.yaml @@ -0,0 +1,106 @@ +recipe_sha: 95c8dd202b5002f712ebb93b42c0a841958c188267059bc46cf5b75dd60613e7 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + Reloading output folder (local): ...working... done + Getting pinned dependencies: ...working... done + Reloading output folder (local): ...working... done + Getting pinned dependencies: ...working... done + BUILD START: ['pywfa-0.5.1-py38h51c4a30_3.tar.bz2'] + Reloading output folder (local): ...working... done + Solving environment (_h_env): ...working... done + + ## Package Plan ## + + environment location: /opt/mambaforge/envs/bioconda/conda-bld/pywfa_1717954355582/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol + + + The following NEW packages will be INSTALLED: + + bzip2: 1.0.8-h10d778d_5 conda-forge + ca-certificates: 2024.6.2-h8857fd0_0 conda-forge + cython: 3.0.10-py38h1f5f77c_0 conda-forge + libcxx: 17.0.6-h88467a6_0 conda-forge + libffi: 3.4.2-h0d85af4_5 conda-forge + libsqlite: 3.45.3-h92b6c6a_0 conda-forge + libzlib: 1.3.1-h87427d6_1 conda-forge + ncurses: 6.5-h5846eda_0 conda-forge + openssl: 3.3.1-h87427d6_0 conda-forge + pip: 24.0-pyhd8ed1ab_0 conda-forge + python: 3.8.19-h5ba8234_0_cpython conda-forge + python_abi: 3.8-4_cp38 conda-forge + readline: 8.2-h9e318b2_1 conda-forge + setuptools: 70.0.0-pyhd8ed1ab_0 conda-forge + tk: 8.6.13-h1abcd95_1 conda-forge + wheel: 0.43.0-pyhd8ed1ab_1 conda-forge + xz: 5.2.6-h775f41a_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Reloading output folder (local): ...working... done + Solving environment (_build_env): ...working... done + Reloading output folder (local): ...working... done + Solving environment (_test_env): ...working... done + + ## Package Plan ## + + environment location: /opt/mambaforge/envs/bioconda/conda-bld/pywfa_1717954355582/_build_env + + + The following NEW packages will be INSTALLED: + + ca-certificates: 2024.6.2-h8857fd0_0 conda-forge + cctools_osx-64: 986-ha1c5b94_0 conda-forge + clang: 16.0.6-hd4457cd_7 conda-forge + clang-16: 16.0.6-default_h4c8afb6_7 conda-forge + clang_impl_osx-64: 16.0.6-h8787910_16 conda-forge + clang_osx-64: 16.0.6-hb91bd55_16 conda-forge + clangxx: 16.0.6-default_ha3b9224_7 conda-forge + compiler-rt: 16.0.6-ha38d28d_2 conda-forge + compiler-rt_osx-64: 16.0.6-ha38d28d_2 conda-forge + icu: 73.2-hf5e326d_0 conda-forge + ld64_osx-64: 711-ha20a434_0 conda-forge + libclang-cpp16: 16.0.6-default_h4c8afb6_7 conda-forge + libcxx: 17.0.6-h88467a6_0 conda-forge + libiconv: 1.17-hd75f5a5_2 conda-forge + libllvm16: 16.0.6-hbedff68_3 conda-forge + libxml2: 2.12.7-h3e169fe_1 conda-forge + libzlib: 1.3.1-h87427d6_1 conda-forge + llvm-tools: 16.0.6-hbedff68_3 conda-forge + make: 4.3-h22f3db7_1 conda-forge + openssl: 3.3.1-h87427d6_0 conda-forge + sigtool: 0.1.3-h88f4db0_0 conda-forge + tapi: 1100.0.11-h9ce4665_0 conda-forge + xz: 5.2.6-h775f41a_0 conda-forge + zstd: 1.5.6-h915ae27_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache + Downloading source to cache: v0.5.1_cdfa67af3e.tar.gz + Downloading https://github.com/kcleal/pywfa/archive/v0.5.1.tar.gz + Success + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2419, in build + try_download(m, no_download_source=False, raise_error=True) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 762, in try_download + source.provide(metadata) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/source.py", line 1035, in provide + unpack( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/source.py", line 169, in unpack + src_path, unhashed_fn = download_to_cache( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/source.py", line 125, in download_to_cache + raise RuntimeError( + RuntimeError: SHA256 mismatch: '455e8308dc9c61f690fab5067894bf40763b5c6dc7d209bcd475086f85a9b6bc' != 'cdfa67af3e0572a85302ef473ce49dce54d5e41b19b482f4682c1064013db8c0' +# Last 100 lines of the build log. +category: |- + checksum mismatch diff --git a/recipes/pywfa/meta.yaml b/recipes/pywfa/meta.yaml index 3302c0942e5a9..19cbae7add344 100644 --- a/recipes/pywfa/meta.yaml +++ b/recipes/pywfa/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256hash }} build: - number: 2 + number: 3 skip: True # [py < 37 or py > 39] run_exports: - {{ pin_subpackage(name, max_pin="x.x") }} diff --git a/recipes/pywgsim/build_failure.linux-64.yaml b/recipes/pywgsim/build_failure.linux-64.yaml index bb35561e71e73..2db726c5cbc65 100644 --- a/recipes/pywgsim/build_failure.linux-64.yaml +++ b/recipes/pywgsim/build_failure.linux-64.yaml @@ -1,7 +1,27 @@ -recipe_sha: 1e71f053caf6591572e579b0498d21a6b75b2282eac0d34ead5ceb4c5407d8de # The commit at which this recipe failed to build. +recipe_sha: 8d9e5e59c6ea28dd0859351ab4bad2461cbb730265c8d7c93e8d94a561080586 # The hash of the recipe's meta.yaml at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: compiler error log: |2- - /opt/conda/conda-bld/pywgsim_1685450236902/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/python3.10/site-packages/setuptools/command/build_py.py:201: _Warning: Package 'pywgsim.src' is absent from the packages configuration. + reading manifest template 'MANIFEST.in' + writing manifest file 'pywgsim.egg-info/SOURCES.txt' + copying pywgsim/wgsim_lib.c -> build/lib.linux-x86_64-cpython-38/pywgsim + copying pywgsim/wgsim_lib.pyx -> build/lib.linux-x86_64-cpython-38/pywgsim + creating build/lib.linux-x86_64-cpython-38/pywgsim/src + copying pywgsim/src/Makefile -> build/lib.linux-x86_64-cpython-38/pywgsim/src + copying pywgsim/src/kseq.h -> build/lib.linux-x86_64-cpython-38/pywgsim/src + copying pywgsim/src/wgsim_mod.c -> build/lib.linux-x86_64-cpython-38/pywgsim/src + copying pywgsim/src/wgsim_mod.h -> build/lib.linux-x86_64-cpython-38/pywgsim/src + running build_ext + building 'pywgsim.wgsim' extension + creating build/temp.linux-x86_64-cpython-38 + creating build/temp.linux-x86_64-cpython-38/pywgsim + creating build/temp.linux-x86_64-cpython-38/pywgsim/src + /opt/conda/conda-bld/pywgsim_1718134883721/_build_env/bin/x86_64-conda-linux-gnu-cc -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/conda/conda-bld/pywgsim_1718134883721/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include -fPIC -O2 -isystem /opt/conda/conda-bld/pywgsim_1718134883721/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /opt/conda/conda-bld/pywgsim_1718134883721/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include -fdebug-prefix-map=/opt/conda/conda-bld/pywgsim_1718134883721/work=/usr/local/src/conda/pywgsim-0.5.2 -fdebug-prefix-map=/opt/conda/conda-bld/pywgsim_1718134883721/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place=/usr/local/src/conda-prefix -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /opt/conda/conda-bld/pywgsim_1718134883721/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include -fPIC -Ipywgsim/src -I/opt/conda/conda-bld/pywgsim_1718134883721/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/python3.8 -c pywgsim/src/wgsim_mod.c -o build/temp.linux-x86_64-cpython-38/pywgsim/src/wgsim_mod.o + pywgsim/src/wgsim_mod.c:39:10: fatal error: zlib.h: No such file or directory + 39 | #include + | ^~~~~~~~ + compilation terminated. + /opt/conda/conda-bld/pywgsim_1718134883721/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/python3.8/site-packages/setuptools/command/build_py.py:207: _Warning: Package 'pywgsim.src' is absent from the packages configuration. !! ******************************************************************************** @@ -42,24 +62,7 @@ log: |2- !! check.warn(importable) - copying pywgsim/wgsim_lib.c -> build/lib.linux-x86_64-cpython-310/pywgsim - copying pywgsim/wgsim_lib.pyx -> build/lib.linux-x86_64-cpython-310/pywgsim - creating build/lib.linux-x86_64-cpython-310/pywgsim/src - copying pywgsim/src/Makefile -> build/lib.linux-x86_64-cpython-310/pywgsim/src - copying pywgsim/src/kseq.h -> build/lib.linux-x86_64-cpython-310/pywgsim/src - copying pywgsim/src/wgsim_mod.c -> build/lib.linux-x86_64-cpython-310/pywgsim/src - copying pywgsim/src/wgsim_mod.h -> build/lib.linux-x86_64-cpython-310/pywgsim/src - running build_ext - building 'pywgsim.wgsim' extension - creating build/temp.linux-x86_64-cpython-310 - creating build/temp.linux-x86_64-cpython-310/pywgsim - creating build/temp.linux-x86_64-cpython-310/pywgsim/src - /opt/conda/conda-bld/pywgsim_1685450236902/_build_env/bin/x86_64-conda-linux-gnu-cc -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/conda/conda-bld/pywgsim_1685450236902/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include -fPIC -O2 -isystem /opt/conda/conda-bld/pywgsim_1685450236902/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /opt/conda/conda-bld/pywgsim_1685450236902/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include -fdebug-prefix-map=/opt/conda/conda-bld/pywgsim_1685450236902/work=/usr/local/src/conda/pywgsim-0.5.2 -fdebug-prefix-map=/opt/conda/conda-bld/pywgsim_1685450236902/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place=/usr/local/src/conda-prefix -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /opt/conda/conda-bld/pywgsim_1685450236902/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include -fPIC -Ipywgsim/src -I/opt/conda/conda-bld/pywgsim_1685450236902/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/python3.10 -c pywgsim/src/wgsim_mod.c -o build/temp.linux-x86_64-cpython-310/pywgsim/src/wgsim_mod.o - pywgsim/src/wgsim_mod.c:39:10: fatal error: zlib.h: No such file or directory - 39 | #include - | ^~~~~~~~ - compilation terminated. - error: command '/opt/conda/conda-bld/pywgsim_1685450236902/_build_env/bin/x86_64-conda-linux-gnu-cc' failed with exit code 1 + error: command '/opt/conda/conda-bld/pywgsim_1718134883721/_build_env/bin/x86_64-conda-linux-gnu-cc' failed with exit code 1 [1;31merror[0m: [1msubprocess-exited-with-error[0m [31m[0m [32mBuilding wheel for pywgsim [0m[1;32m([0m[32mpyproject.toml[0m[1;32m)[0m did not run successfully. @@ -67,38 +70,36 @@ log: |2- [31m>[0m See above for output. [1;35mnote[0m: This error originates from a subprocess, and is likely not a problem with pip. - [1;35mfull command[0m: [34m/opt/conda/conda-bld/pywgsim_1685450236902/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/bin/python /opt/conda/conda-bld/pywgsim_1685450236902/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py build_wheel /tmp/tmpvt2fqpe7[0m - [1;35mcwd[0m: /opt/conda/conda-bld/pywgsim_1685450236902/work + [1;35mfull command[0m: [34m/opt/conda/conda-bld/pywgsim_1718134883721/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/bin/python /opt/conda/conda-bld/pywgsim_1718134883721/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py build_wheel /tmp/tmpdpqqbkrp[0m + [1;35mcwd[0m: /opt/conda/conda-bld/pywgsim_1718134883721/work Building wheel for pywgsim (pyproject.toml): finished with status 'error' [31m ERROR: Failed building wheel for pywgsim[0m[31m [0mFailed to build pywgsim [31mERROR: Could not build wheels for pywgsim, which is required to install pyproject.toml-based projects[0m[31m [0mException information: Traceback (most recent call last): - File "$PREFIX/lib/python3.10/site-packages/pip/_internal/cli/base_command.py", line 169, in exc_logging_wrapper + File "$PREFIX/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper status = run_func(*args) - File "$PREFIX/lib/python3.10/site-packages/pip/_internal/cli/req_command.py", line 248, in wrapper + File "$PREFIX/lib/python3.8/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper return func(self, options, args) - File "$PREFIX/lib/python3.10/site-packages/pip/_internal/commands/install.py", line 426, in run + File "$PREFIX/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 429, in run raise InstallationError( pip._internal.exceptions.InstallationError: Could not build wheels for pywgsim, which is required to install pyproject.toml-based projects - Removed build tracker: '/tmp/pip-build-tracker-sczao82h' + Removed build tracker: '/tmp/pip-build-tracker-nmdku6cp' Traceback (most recent call last): - File "/opt/conda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build return build_tree( - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/pywgsim_1685450236902/work/conda_build.sh']' returned non-zero exit status 1. + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/pywgsim_1718134883721/work/conda_build.sh']' returned non-zero exit status 1. # Last 100 lines of the build log. diff --git a/recipes/pywgsim/meta.yaml b/recipes/pywgsim/meta.yaml index f84f552d75c1c..423f649062f80 100644 --- a/recipes/pywgsim/meta.yaml +++ b/recipes/pywgsim/meta.yaml @@ -6,11 +6,10 @@ package: version: {{ version }} build: - skip: true # [py2k] entry_points: - pywgsim=pywgsim.main:run script: {{ PYTHON }} -m pip install . -vv - number: 1 + number: 2 source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/pywgsim-{{ version }}.tar.gz diff --git a/recipes/qtlseq/meta.yaml b/recipes/qtlseq/meta.yaml index 9e3efa1cb9d99..c652240449426 100644 --- a/recipes/qtlseq/meta.yaml +++ b/recipes/qtlseq/meta.yaml @@ -1,6 +1,6 @@ {% set name = "qtlseq" %} -{% set version = "2.2.4" %} -{% set sha256 = "af19375c3d5685f24412e6dfad513d8abea5998d938b9675b1091424f243fdb6" %} +{% set version = "2.2.6" %} +{% set sha256 = "dd21dc8a7c75e330d3333356a113373e342e298882511e15f7da801035957e4f" %} package: name: {{ name|lower }} diff --git a/recipes/quantms-utils/meta.yaml b/recipes/quantms-utils/meta.yaml new file mode 100644 index 0000000000000..0c0457e61496a --- /dev/null +++ b/recipes/quantms-utils/meta.yaml @@ -0,0 +1,58 @@ +{% set name = "quantms-utils" %} +{% set version = "0.0.11" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/quantms_utils-{{ version }}.tar.gz + sha256: f1205db7526f09d36606288782363b352546a100b4763c16d988d7cdb45bf26f + +build: + entry_points: + - quantmsutilsc=quantmsutils.quantmsutilsc:main + noarch: python + run_exports: + - {{ pin_subpackage('quantms-utils', max_pin="x.x") }} + script: "{{ PYTHON }} -m pip install . --no-deps -vvv" + number: 0 + +requirements: + host: + - python >=3.8,<4.0 + - pip + run: + - python >=3.7.0,<4.0.0 + - click >=7.0 + - pydantic >=1.10,<2 + - sdrf-pipelines >=0.0.29 + - pyopenms >=2.9.1 + - ms2rescore ==3.0.3 + - psm-utils ==0.8.2 + - ms2pip ==4.0.0.dev8 + - deeplc ==2.2.38 + - pandas >=1.0.0 + - numpy + - scipy ==1.13.1 + - scikit-learn + - deeplcretrainer + +test: + imports: + - quantmsutils + commands: + - quantmsutilsc --help + requires: + - pip + +about: + home: https://www.github.com/bigbio/quantms-utils + summary: Python package with scripts and helpers for the quantms workflow + license: MIT + license_file: LICENSE + dev_url: https://www.github.com/bigbio/quantms-utils + +extra: + recipe-maintainers: + - ypriverol diff --git a/recipes/quast/build_failure.osx-64.yaml b/recipes/quast/build_failure.osx-64.yaml deleted file mode 100644 index a7c6bce3f464b..0000000000000 --- a/recipes/quast/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 8237e906909f841e6f9591915ec9d3c10a947f897db59de841e5405f1d688b92 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - adding 'quast_libs/minimap2/python/cmappy.h' - INFO adding 'quast_libs/minimap2/python/cmappy.pxd' - adding 'quast_libs/minimap2/python/cmappy.pxd' - INFO adding 'quast_libs/minimap2/python/mappy.pyx' - adding 'quast_libs/minimap2/python/mappy.pyx' - INFO adding 'quast_libs/minimap2/python/minimap2.py' - adding 'quast_libs/minimap2/python/minimap2.py' - INFO adding 'quast_libs/minimap2/sse2neon/emmintrin.h' - adding 'quast_libs/minimap2/sse2neon/emmintrin.h' - INFO adding 'quast_libs/ra_utils/__init__.py' - adding 'quast_libs/ra_utils/__init__.py' - INFO adding 'quast_libs/ra_utils/argparse.py' - adding 'quast_libs/ra_utils/argparse.py' - INFO adding 'quast_libs/ra_utils/misc.py' - adding 'quast_libs/ra_utils/misc.py' - INFO adding 'quast_libs/ra_utils/vcfToBedpe.py' - adding 'quast_libs/ra_utils/vcfToBedpe.py' - INFO adding 'quast_libs/sambamba/sambamba_linux' - adding 'quast_libs/sambamba/sambamba_linux' - INFO adding 'quast_libs/sambamba/sambamba_osx' - adding 'quast_libs/sambamba/sambamba_osx' - INFO adding 'quast_libs/site_packages/__init__.py' - adding 'quast_libs/site_packages/__init__.py' - INFO adding 'quast_libs/site_packages/_bz2.py' - adding 'quast_libs/site_packages/_bz2.py' - INFO adding 'quast_libs/site_packages/_compression.py' - adding 'quast_libs/site_packages/_compression.py' - INFO adding 'quast_libs/site_packages/bz2.py' - adding 'quast_libs/site_packages/bz2.py' - INFO adding 'quast_libs/site_packages/ordered_dict.py' - adding 'quast_libs/site_packages/ordered_dict.py' - INFO adding 'quast_libs/site_packages/jsontemplate/__init__.py' - adding 'quast_libs/site_packages/jsontemplate/__init__.py' - INFO adding 'quast_libs/site_packages/jsontemplate/jsontemplate.py' - adding 'quast_libs/site_packages/jsontemplate/jsontemplate.py' - INFO adding 'quast-5.2.0.dist-info/LICENSE.txt' - adding 'quast-5.2.0.dist-info/LICENSE.txt' - INFO adding 'quast-5.2.0.dist-info/METADATA' - adding 'quast-5.2.0.dist-info/METADATA' - INFO adding 'quast-5.2.0.dist-info/WHEEL' - adding 'quast-5.2.0.dist-info/WHEEL' - INFO adding 'quast-5.2.0.dist-info/top_level.txt' - adding 'quast-5.2.0.dist-info/top_level.txt' - INFO adding 'quast-5.2.0.dist-info/RECORD' - adding 'quast-5.2.0.dist-info/RECORD' - INFO removing build/bdist.macosx-10.9-x86_64/wheel - removing build/bdist.macosx-10.9-x86_64/wheel - Building wheel for quast (setup.py): finished with status 'done' - Created wheel for quast: filename=quast-5.2.0-py3-none-any.whl size=12996553 sha256=95ee42f38e8b80a8659a77f57f83ff38db5e44342ae493a3b085160b7df6396f - Stored in directory: /private/tmp/pip-ephem-wheel-cache-2t0etpfr/wheels/5f/48/0f/e9fc35a974c2af5e84beac3740c829770b288236193c061309 - Successfully built quast - Installing collected packages: quast - - Successfully installed quast-5.2.0 - Removed build tracker: '/private/tmp/pip-build-tracker-gi2wl7cm' - tail: /opt/mambaforge/envs/bioconda/conda-bld/quast_1685395312261/work/quast_libs/*/make.*: No such file or directory - - Resource usage statistics from building quast: - Process count: 4 - CPU time: Sys=0:00:02.5, User=0:00:05.3 - Memory: 97.0M - Disk usage: 452.0K - Time elapsed: 0:00:17.0 - - - compiling .pyc files... - number of files: 929 - Making absolute symlink relative (bin/quast -> /opt/mambaforge/envs/bioconda/conda-bld/quast_1685395312261/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/opt/quast-5.2.0/quast.py :-> ../opt/quast-5.2.0/quast.py) - Making absolute symlink relative (bin/metaquast -> /opt/mambaforge/envs/bioconda/conda-bld/quast_1685395312261/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/opt/quast-5.2.0/metaquast.py :-> ../opt/quast-5.2.0/metaquast.py) - Making absolute symlink relative (opt/quast-5.2.0/quast_libs -> /opt/mambaforge/envs/bioconda/conda-bld/quast_1685395312261/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.8/site-packages/quast_libs :-> ../../lib/python3.8/site-packages/quast_libs) - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2358, in build - newly_built_packages = bundlers[pkg_type](output_d, m, env, stats) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 1659, in bundle_conda - files = post_process_files(metadata, initial_files) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 1505, in post_process_files - post_build(m, new_files, build_python=python) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/post.py", line 1318, in post_build - post_process_shared_lib(m, f, prefix_files, host_prefix) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/post.py", line 1266, in post_process_shared_lib - mk_relative_osx(path, host_prefix, m, files=files, rpaths=rpaths) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/post.py", line 397, in mk_relative_osx - names = macho.otool(path, prefix) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/os_utils/macho.py", line 194, in otool - lines = check_output([otool, '-l', path], - File "/opt/mambaforge/envs/bioconda/lib/python3.8/subprocess.py", line 415, in check_output - return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/subprocess.py", line 516, in run - raise CalledProcessError(retcode, process.args, - subprocess.CalledProcessError: Command '['/opt/mambaforge/envs/bioconda/conda-bld/quast_1685395312261/_build_env/bin/llvm-otool', '-l', '/opt/mambaforge/envs/bioconda/conda-bld/quast_1685395312261/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.8/site-packages/quast_libs/sambamba/sambamba_osx']' died with . -# Last 100 lines of the build log. diff --git a/recipes/quast/meta.yaml b/recipes/quast/meta.yaml index 3557b639a865b..4b9f0a96c8548 100644 --- a/recipes/quast/meta.yaml +++ b/recipes/quast/meta.yaml @@ -6,7 +6,7 @@ package: version: {{ version }} build: - number: 3 + number: 4 source: url: diff --git a/recipes/quatradis/meta.yaml b/recipes/quatradis/meta.yaml index 3696f0501a2d7..d06896d5b8edc 100644 --- a/recipes/quatradis/meta.yaml +++ b/recipes/quatradis/meta.yaml @@ -1,4 +1,4 @@ -{% set version="1.1.0" %} +{% set version = "1.3.1" %} package: name: quatradis @@ -6,33 +6,32 @@ package: source: url: https://github.com/quadram-institute-bioscience/QuaTradis/archive/refs/tags/{{ version }}.tar.gz - sha256: 10a49ec364f8ca9d86fd882f6186679fc9ce5932b4552381cc6d5a8a9b525be2 + sha256: 0c05f40e14391b5044aa014cce345e43238ff01d06edfc72258f8608d3796590 build: number: 0 - script: python -m pip install -v --no-deps --ignore-installed . + script: {{ PYTHON }} -m pip install -vvv --no-deps --no-build-isolation --no-cache-dir . run_exports: - - {{ pin_subpackage('quatradis', max_pin="x.x") }} + - {{ pin_subpackage('quatradis', max_pin="x") }} requirements: build: - {{ compiler('c') }} host: - - python =3.10 - - cython >=0.20.1 + - python + - cython - pip run: - - python =3.10 - - cython + - python - setuptools # for pkg_resources + - cython - biopython - pysam >=0.18.0 - matplotlib-base - numpy - scipy - - dendropy - - seaborn - - graphviz + - dendropy ==4.6 + - seaborn-base - python-graphviz - pandas - htslib @@ -43,7 +42,7 @@ requirements: - bwa - samtools - minimap2 - - snakemake + - snakemake-minimal - snakeviz test: @@ -56,6 +55,7 @@ about: license_family: GPL3 license_file: LICENSE summary: 'A set of tools to analyse the output from TraDIS analyses' + dev_url: https://github.com/quadram-institute-bioscience/QuaTradis extra: skip-lints: @@ -66,5 +66,5 @@ extra: - sbastkowski - maplesond - thanhleviet - doi: - - 10.1093/bioinformatics/btw022 + identifiers: + - doi:10.1093/bioinformatics/btw022 diff --git a/recipes/query_phenomizer/meta.yaml b/recipes/query_phenomizer/meta.yaml index a0d364e9a2741..b547aaff23c4b 100644 --- a/recipes/query_phenomizer/meta.yaml +++ b/recipes/query_phenomizer/meta.yaml @@ -1,25 +1,23 @@ package: name: query_phenomizer - version: "1.2" + version: "1.2.1" source: - url: https://files.pythonhosted.org/packages/f8/a7/af989c9a672e267ef38009c32206f53c752cc7bac13b29b586c0b93a3da8/query_phenomizer-1.2.tar.gz - sha256: ae6f85331bfa7947fd0edf245780559581a7c728e563093d4b4dc44415517cc7 + url: https://files.pythonhosted.org/packages/02/21/0e62f38dcf337727a4d3b7d18dc55b090296f43ac95a070c2dbe3e5ef24f/query_phenomizer-1.2.1.tar.gz + sha256: fe673970e435bf49fd4d7f14283d8f4e11546fca597a39abf8ca87158da9ca20 build: number: 0 noarch: python entry_points: - query_phenomizer = query_phenomizer.__main__:cli - + run_exports: + - {{ pin_subpackage('query_phenomizer', max_pin="x") }} requirements: host: - python - - setuptools - - click - - requests - - pytest + - pip run: - python - click @@ -30,14 +28,15 @@ test: # Python imports imports: - query_phenomizer - commands: # click requires a unicode locale - query_phenomizer --help about: home: https://www.github.com/moonso/query_phenomizer - license: MIT License + license: MIT + license_family: MIT + license_file: LICENSE summary: 'Tool for query and parsing the phenomizer tool' extra: diff --git a/recipes/querynator/meta.yaml b/recipes/querynator/meta.yaml index fdbddc2f8f2f8..d97969cfcbbeb 100644 --- a/recipes/querynator/meta.yaml +++ b/recipes/querynator/meta.yaml @@ -1,5 +1,5 @@ {% set name = "querynator" %} -{% set version = "0.4.1" %} +{% set version = "0.6.0" %} package: name: "{{ name|lower }}" @@ -7,35 +7,38 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 394a48c700ce6c8940cf134ffe0cf1f58f2418fcc8fffef4509a9a08567bda1c + sha256: 24f86d53028420e6e621aa36bd7396bde52aebb272ea6217e052a852b7233ed7 build: number: 0 noarch: python + run_exports: + - {{ pin_subpackage('querynator', max_pin="x") }} entry_points: - querynator=querynator.__main__:run_querynator - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" requirements: host: - pip - - python + - python >=3.8,<3.11 run: - - civicpy =3.0.0 + - civicpy >=3.0.0 - click >=8.1.3 - httplib2 - - matplotlib-base =3.6.1 - - numpy =1.24.3 - - pandas =1.5.1 - - pretty_html_table =0.9.16 + - matplotlib-base >=3.6.1 + - numpy ==1.24.4 + - pandas ==1.5.3 + - pretty_html_table >=0.9.16 - pytest >=6.2.4 - - python + - python >=3.8,<3.11 - pyvcf3 >=1.0.3 - requests - requests-cache - sphinx >=5.3.0 - sphinx-rtd-theme - - upsetplot =0.8.0 + - upsetplot >=0.8.0 + - urllib3 <2 test: imports: diff --git a/recipes/quickbam/build_failure.linux-64.yaml b/recipes/quickbam/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..21212b271aea4 --- /dev/null +++ b/recipes/quickbam/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: b3da34dd128c62efdea363b2e91af4d63179530bdc48890193e2ccab9aa6e8bc # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + Forcing conda-build to use the recipe file. + warnings.warn( + WARNING: No numpy version specified in conda_build_config.yaml. Falling back to default numpy value of 1.22 + Adding in variants from internal_defaults + Adding in variants from /opt/host-conda-bld/conda_build_config_0_-e_conda_build_config.yaml + Adding in variants from /opt/host-conda-bld/conda_build_config_1_-e_bioconda_utils-conda_build_config.yaml + Attempting to finalize metadata for quickbam + Reloading output folder (file:///opt/host-conda-bld): ...working... done + Getting pinned dependencies: ...working... done + Reloading output folder (file:///opt/host-conda-bld): ...working... done + Getting pinned dependencies: ...working... done + Reloading output folder (file:///opt/host-conda-bld): ...working... done + Getting pinned dependencies: ...working... done + BUILD START: ['quickbam-1.0.0-ha7dfff3_2.tar.bz2'] + Reloading output folder (file:///opt/host-conda-bld): ...working... done + Solving environment (_h_env): ...working... done + + ## Package Plan ## + + environment location: /opt/conda/conda-bld/quickbam_1717512051188/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac + + + The following NEW packages will be INSTALLED: + + _libgcc_mutex: 0.1-conda_forge conda-forge + _openmp_mutex: 4.5-2_gnu conda-forge + icu: 73.2-h59595ed_0 conda-forge + libdeflate: 1.20-hd590300_0 conda-forge + libgcc-ng: 13.2.0-h77fa898_7 conda-forge + libgomp: 13.2.0-h77fa898_7 conda-forge + libhwloc: 2.10.0-default_h5622ce7_1001 conda-forge + libiconv: 1.17-hd590300_2 conda-forge + libstdcxx-ng: 13.2.0-hc0a3c3a_7 conda-forge + libxml2: 2.12.7-hc051c1a_0 conda-forge + libzlib: 1.3.1-h4ab18f5_1 conda-forge + tbb: 2021.12.0-h297d8ca_1 conda-forge + tbb-devel: 2021.12.0-h7c56ddd_1 conda-forge + xz: 5.2.6-h166bdaf_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Reloading output folder (file:///opt/host-conda-bld): ...working... done + Solving environment (_build_env): ...working... done + Reloading output folder (file:///opt/host-conda-bld): ...working... done + Solving environment (_test_env): ...working... done + + ## Package Plan ## + + environment location: /opt/conda/conda-bld/quickbam_1717512051188/_build_env + + + The following NEW packages will be INSTALLED: + + _libgcc_mutex: 0.1-conda_forge conda-forge + _openmp_mutex: 4.5-2_gnu conda-forge + binutils_impl_linux-64: 2.40-ha1999f0_1 conda-forge + binutils_linux-64: 2.40-hdade7a5_3 conda-forge + gcc_impl_linux-64: 12.3.0-h58ffeeb_7 conda-forge + gcc_linux-64: 12.3.0-h6477408_3 conda-forge + gxx_impl_linux-64: 12.3.0-h2a574ab_7 conda-forge + gxx_linux-64: 12.3.0-h4a1b8e8_3 conda-forge + kernel-headers_linux-64: 2.6.32-he073ed8_17 conda-forge + ld_impl_linux-64: 2.40-hf3520f5_1 conda-forge + libgcc-devel_linux-64: 12.3.0-h0223996_107 conda-forge + libgcc-ng: 13.2.0-h77fa898_7 conda-forge + libgomp: 13.2.0-h77fa898_7 conda-forge + libsanitizer: 12.3.0-hb8811af_7 conda-forge + libstdcxx-devel_linux-64: 12.3.0-h0223996_107 conda-forge + libstdcxx-ng: 13.2.0-hc0a3c3a_7 conda-forge + make: 4.3-hd18ef5c_1 conda-forge + sysroot_linux-64: 2.12-he073ed8_17 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Source cache directory is: /opt/conda/conda-bld/src_cache + Downloading source to cache: quickbam-v1.0.0_fed3a9a8e3.tar.gz + Downloading https://gitlab.com/api/v4/projects/30176255/packages/generic/quickbam/v1.0.0/quickbam-v1.0.0.tar.gz + Success + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2419, in build + try_download(m, no_download_source=False, raise_error=True) + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 762, in try_download + source.provide(metadata) + File "/opt/conda/lib/python3.10/site-packages/conda_build/source.py", line 1035, in provide + unpack( + File "/opt/conda/lib/python3.10/site-packages/conda_build/source.py", line 169, in unpack + src_path, unhashed_fn = download_to_cache( + File "/opt/conda/lib/python3.10/site-packages/conda_build/source.py", line 125, in download_to_cache + raise RuntimeError( + RuntimeError: SHA256 mismatch: '3a55af5335076a78ae80b64ad330d9953c96d2a8a5614bafa472ad5094b4550f' != 'fed3a9a8e3f11bc59131ecd4abd2d9b1a4addd0bc1b96a50462b4873ee6fa21b' +# Last 100 lines of the build log. diff --git a/recipes/quickbam/meta.yaml b/recipes/quickbam/meta.yaml index 7a82a15ddc244..cce87c56583e5 100644 --- a/recipes/quickbam/meta.yaml +++ b/recipes/quickbam/meta.yaml @@ -5,7 +5,7 @@ package: version: {{ version }} build: - number: 1 + number: 2 skip: true # [osx] source: diff --git a/recipes/quicksect/meta.yaml b/recipes/quicksect/meta.yaml index 1f51629608baf..d697f65359be5 100644 --- a/recipes/quicksect/meta.yaml +++ b/recipes/quicksect/meta.yaml @@ -10,8 +10,10 @@ source: sha256: "d3e65b55b7f48e6105b11b1e1d6f37ccbf8caecfc7d7db7aba73dfaf6d732a9c" build: - number: 8 + number: 10 script: rm -f src/*.c ; {{ PYTHON }} -m pip install --no-deps --ignore-installed . + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: build: @@ -35,3 +37,7 @@ about: license_file: LICENSE summary: "A cythonized, extended version of the interval search tree in bx" +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 \ No newline at end of file diff --git a/recipes/quicktree/build.sh b/recipes/quicktree/build.sh index 6796b7efd05b6..7d776e66d9e68 100644 --- a/recipes/quicktree/build.sh +++ b/recipes/quicktree/build.sh @@ -1,5 +1,12 @@ #!/bin/bash -mkdir -p $PREFIX/bin +set -eux + +mkdir -p "$PREFIX"/{bin,lib,include/quicktree} + make CC=$CC + cp quicktree $PREFIX/bin +cp libquicktree.so "${PREFIX}/lib/" +# some header files are named generic enough to warrant namespacing +cp include/*.h "${PREFIX}/include/quicktree/" diff --git a/recipes/quicktree/meta.yaml b/recipes/quicktree/meta.yaml index b663ce6822c58..8e9fe92a91c7a 100644 --- a/recipes/quicktree/meta.yaml +++ b/recipes/quicktree/meta.yaml @@ -1,21 +1,26 @@ +{% set name = "quicktree" %} {% set version = "2.5" %} package: - name: quicktree + name: {{ name }} version: {{ version }} source: url: https://github.com/khowe/quicktree/archive/v{{ version }}.tar.gz sha256: 731aa845ce3f1f0645bd0df2b54df75f78fce065d6a3ddc47fedf4bdcb11c248 + patches: + - patches/0001-Add-rule-to-build-shared-library.patch + - patches/0002-Fix-segfault-in-sonLib-phylogeny-tests.patch build: - number: 4 + number: 6 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: build: - make - {{ compiler('c') }} - run: test: commands: diff --git a/recipes/quicktree/patches/0001-Add-rule-to-build-shared-library.patch b/recipes/quicktree/patches/0001-Add-rule-to-build-shared-library.patch new file mode 100644 index 0000000000000..37c17acd29c9b --- /dev/null +++ b/recipes/quicktree/patches/0001-Add-rule-to-build-shared-library.patch @@ -0,0 +1,43 @@ +From 6c92fb5efd973d1fa6a7ae05515ba54302be95c5 Mon Sep 17 00:00:00 2001 +From: Travis Wrightsman +Date: Tue, 23 Jan 2024 23:01:04 -0500 +Subject: [PATCH] Add rule to build shared library + +--- + Makefile | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index 14e42a4..7fe8385 100644 +--- a/Makefile ++++ b/Makefile +@@ -15,15 +15,18 @@ QUICKTREEOBJ = $(COMMON) $(OBJ)/quicktree.o $(OBJ)/buildtree.o $(OBJ)/tree.o + + + CC = gcc +-CFLAGS = -c -I$(INC) -O2 -Wunused-result ++CFLAGS = -c -I$(INC) -O2 -Wunused-result -fPIC + + LFLAGS = -g + +-all: quicktree ++all: quicktree libquicktree.so + + quicktree : $(QUICKTREEOBJ) + $(CC) $(LFLAGS) -o $@ $(QUICKTREEOBJ) -lm + ++libquicktree.so: $(QUICKTREEOBJ) ++ $(CC) -shared $(LFLAGS) -o $@ $(QUICKTREEOBJ) -lm ++ + $(OBJ)/quicktree.o : $(SRC)/quicktree.c $(INC)/version.h + $(CC) $(CFLAGS) -o $(OBJ)/quicktree.o $(SRC)/quicktree.c + +@@ -52,4 +55,4 @@ $(OBJ)/options.o : $(SRC)/options.c $(INC)/options.h + $(CC) $(CFLAGS) -o $(OBJ)/options.o $(SRC)/options.c + + clean: +- rm $(OBJ)/*.o quicktree ++ rm $(OBJ)/*.o quicktree libquicktree.so +-- +2.39.2 + diff --git a/recipes/quicktree/patches/0002-Fix-segfault-in-sonLib-phylogeny-tests.patch b/recipes/quicktree/patches/0002-Fix-segfault-in-sonLib-phylogeny-tests.patch new file mode 100644 index 0000000000000..0e3f87c7aac7e --- /dev/null +++ b/recipes/quicktree/patches/0002-Fix-segfault-in-sonLib-phylogeny-tests.patch @@ -0,0 +1,34 @@ +From c4470daeed25f720de4376a5f43820ba32c2cf61 Mon Sep 17 00:00:00 2001 +From: Travis Wrightsman +Date: Tue, 23 Jan 2024 23:02:51 -0500 +Subject: [PATCH] Fix segfault in sonLib phylogeny tests + +--- + src/tree.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/tree.c b/src/tree.c +index 5b5187f..3bd8626 100644 +--- a/src/tree.c ++++ b/src/tree.c +@@ -60,7 +60,7 @@ struct Tnode *clone_Tnode( struct Tnode *source) { + struct Tnode *dest = NULL; + + if (source != NULL) { +- dest = (struct Tnode *) malloc_util( sizeof( struct Tnode ) ); ++ dest = (struct Tnode *) calloc_util(1, sizeof( struct Tnode ) ); + + dest->distance = source->distance; + dest->nodenumber = source->nodenumber; +@@ -334,7 +334,7 @@ struct Tree *get_root_Tnode( struct Tree *source ) { + struct Tnode *new_interior_Tnode( unsigned int label ) { + struct Tnode *newNode; + +- newNode = (struct Tnode *) malloc_util(sizeof(struct Tnode)); ++ newNode = (struct Tnode *) calloc_util(1, sizeof(struct Tnode)); + newNode->left = NULL; + newNode->right = NULL; + newNode->parent = NULL; +-- +2.39.2 + diff --git a/recipes/quota_anchor/build.sh b/recipes/quota_anchor/build.sh new file mode 100644 index 0000000000000..71922513c1169 --- /dev/null +++ b/recipes/quota_anchor/build.sh @@ -0,0 +1,12 @@ +#!/bin/bash +$PYTHON -m pip install --no-deps --ignore-installed . -vv +echo "[software] +gffread = ${PREFIX}/bin/gffread +AnchorWave = ${PREFIX}/bin/anchorwave +diamond = ${PREFIX}/bin/diamond +blastp = ${PREFIX}/bin/blastp +makeblastdb = ${PREFIX}/bin/makeblastdb +muscle = ${PREFIX}/bin/muscle +mafft = ${PREFIX}/bin/mafft +yn00 = ${PREFIX}/bin/yn00 +pal2nal = ${PREFIX}/bin/pal2nal.pl " > ${SP_DIR}/quota_anchor/config_file/software_path.ini diff --git a/recipes/quota_anchor/meta.yaml b/recipes/quota_anchor/meta.yaml new file mode 100644 index 0000000000000..bd563736d46b1 --- /dev/null +++ b/recipes/quota_anchor/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "quota_anchor" %} +{% set version = "0.0.1a0" %} +{% set sha256 = "01d8520825fee67f8c73803d3bbe7855291592c064cd2d5712d02e104a71a8fa" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/baoxingsong/quota_Anchor/archive/refs/tags/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + noarch: python + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} + +requirements: + host: + - python >=3 + - pip + run: + - python >=3 + - gffread + - biopython + - blast + - diamond + - AnchorWave + - muscle + - mafft + - matplotlib-base + - pal2nal + - paml + - plotnine + - seaborn + - pandas + - numpy + + +test: + commands: + - 'quota_Anchor 2>&1 | grep "usage: quota_Anchor"' + +about: + home: https://github.com/baoxingsong/quota_Anchor + license: MIT + summary: 'Strand and WGD aware syntenic gene identification' + description: "Strand and WGD aware syntenic gene identification for comparative genomics" + dev_url: https://github.com/baoxingsong/quota_Anchor diff --git a/recipes/r-acidbase/meta.yaml b/recipes/r-acidbase/meta.yaml index 765410441081f..bd6a6b423c173 100644 --- a/recipes/r-acidbase/meta.yaml +++ b/recipes/r-acidbase/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.7.2" %} +{% set version = "0.7.3" %} {% set github = "https://github.com/acidgenomics/r-acidbase" %} package: @@ -7,7 +7,7 @@ package: source: url: "{{ github }}/archive/v{{ version }}.tar.gz" - sha256: 0e599ea7bcb5bc2f36f5f1a5a88f4b69c25120210ea69a48e92005d6ec2cd194 + sha256: 104b8c7907375ef5943217aa1565ef8fd01ac8bed4e4d9addc2aa489195b172d build: number: 1 @@ -20,28 +20,28 @@ requirements: # Depends: - r-base # Imports: - - bioconductor-biocgenerics >=0.46.0 - - bioconductor-s4vectors >=0.38.0 - - r-acidgenerics >=0.7.0 - - r-goalie >=0.7.0 + - bioconductor-biocgenerics >=0.48.0 + - bioconductor-s4vectors >=0.40.0 + - r-acidgenerics >=0.7.6 + - r-goalie >=0.7.7 # Suggests: - - r-acidcli >=0.2.8 + - r-acidcli >=0.3.0 - r-memuse >=4.2.3 - - r-processx >=3.8.2 - - r-withr >=2.5.1 + - r-processx >=3.8.3 + - r-withr >=2.5.2 run: # Depends: - r-base # Imports: - - bioconductor-biocgenerics >=0.46.0 - - bioconductor-s4vectors >=0.38.0 - - r-acidgenerics >=0.7.0 - - r-goalie >=0.7.0 + - bioconductor-biocgenerics >=0.48.0 + - bioconductor-s4vectors >=0.40.0 + - r-acidgenerics >=0.7.6 + - r-goalie >=0.7.7 # Suggests: - - r-acidcli >=0.2.8 + - r-acidcli >=0.3.0 - r-memuse >=4.2.3 - - r-processx >=3.8.2 - - r-withr >=2.5.1 + - r-processx >=3.8.3 + - r-withr >=2.5.2 test: commands: diff --git a/recipes/r-acidexperiment/meta.yaml b/recipes/r-acidexperiment/meta.yaml index 91b75662280e9..7b252486f45e8 100644 --- a/recipes/r-acidexperiment/meta.yaml +++ b/recipes/r-acidexperiment/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.5.3" %} +{% set version = "0.5.4" %} {% set github = "https://github.com/acidgenomics/r-acidexperiment" %} package: @@ -7,7 +7,7 @@ package: source: url: "{{ github }}/archive/v{{ version }}.tar.gz" - sha256: 9124f900518566cd1555ec439411b7b3f4c59736f92ed0a3d784583697f661b1 + sha256: 4b8d093269e15d11a7565e4144d17caeac59e0491043bb3639713a9b769b5918 build: number: 0 diff --git a/recipes/r-acidgenerics/meta.yaml b/recipes/r-acidgenerics/meta.yaml index 014d98f16539e..e3a427c3792d3 100644 --- a/recipes/r-acidgenerics/meta.yaml +++ b/recipes/r-acidgenerics/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.7.4" %} +{% set version = "0.7.8" %} {% set github = "https://github.com/acidgenomics/r-acidgenerics" %} package: @@ -7,7 +7,7 @@ package: source: url: "{{ github }}/archive/v{{ version }}.tar.gz" - sha256: 495f04e3077d2bc1001d1ba1a1537936f57875791320d4d076b8e571a601a08a + sha256: baa0346b8cd0ebcdbef2d15028eb2d0c425731acfea718f057c6faef1606ff3b build: number: 0 diff --git a/recipes/r-acidgenomes/meta.yaml b/recipes/r-acidgenomes/meta.yaml index c3c299fe4266e..ef00b8d102371 100644 --- a/recipes/r-acidgenomes/meta.yaml +++ b/recipes/r-acidgenomes/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.6.1" %} +{% set version = "0.7.2" %} {% set github = "https://github.com/acidgenomics/r-acidgenomes" %} package: @@ -7,7 +7,7 @@ package: source: url: "{{ github }}/archive/v{{ version }}.tar.gz" - sha256: c69cd608fcab47ef5360bc2dd5a87b09eae5aa0a38e1689a21ae97f03958f32d + sha256: 7305aeaadbb0507c49b59f3b12971fd6d0f3504473f196f68ac20f59e751d131 build: number: 0 diff --git a/recipes/r-acidplots/meta.yaml b/recipes/r-acidplots/meta.yaml index a4217ce91b0fa..491f5b79bb3d1 100644 --- a/recipes/r-acidplots/meta.yaml +++ b/recipes/r-acidplots/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.7.1" %} +{% set version = "0.7.3" %} {% set github = "https://github.com/acidgenomics/r-acidplots" %} package: @@ -7,7 +7,7 @@ package: source: url: "{{ github }}/archive/v{{ version }}.tar.gz" - sha256: bda01fadcb22b2978d4aa7965e246de94e9f51b5673fdd6e5e59fe5a2a76c87f + sha256: d329072ba00d062ccef15a510aac73fc918b6f9db2d47dbfd5ffd82afc70c548 build: noarch: generic diff --git a/recipes/r-acidplyr/meta.yaml b/recipes/r-acidplyr/meta.yaml index 52af371705552..e3ef97b68da93 100644 --- a/recipes/r-acidplyr/meta.yaml +++ b/recipes/r-acidplyr/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.5.1" %} +{% set version = "0.5.4" %} {% set github = "https://github.com/acidgenomics/r-acidplyr" %} package: @@ -7,8 +7,8 @@ package: source: url: "{{ github }}/archive/v{{ version }}.tar.gz" - sha256: 80c9722f0c254fd7619989b8cfe06aff11e545b6598de3e73f0255c7252b04ec - + sha256: 6fd487f33b1ed9ccc1c2580003c8ea9907efd0fcf2b3875f27efa3ccf7d62e45 + build: number: 0 noarch: generic @@ -21,17 +21,19 @@ requirements: - r-base # Imports: - bioconductor-biocgenerics >=0.46.0 + - bioconductor-iranges >=2.34.0 - bioconductor-s4vectors >=0.38.0 - - r-acidgenerics >=0.7.0 - - r-goalie >=0.7.0 + - r-acidgenerics >=0.7.4 + - r-goalie >=0.7.6 run: # Depends: - r-base # Imports: - bioconductor-biocgenerics >=0.46.0 + - bioconductor-iranges >=2.34.0 - bioconductor-s4vectors >=0.38.0 - - r-acidgenerics >=0.7.0 - - r-goalie >=0.7.0 + - r-acidgenerics >=0.7.4 + - r-goalie >=0.7.6 test: commands: diff --git a/recipes/r-acidsinglecell/meta.yaml b/recipes/r-acidsinglecell/meta.yaml index ad35a25f806b7..962ac75f917b7 100644 --- a/recipes/r-acidsinglecell/meta.yaml +++ b/recipes/r-acidsinglecell/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.4.1" %} +{% set version = "0.4.2" %} {% set github = "https://github.com/acidgenomics/r-acidsinglecell" %} package: @@ -7,7 +7,7 @@ package: source: url: "{{ github }}/archive/v{{ version }}.tar.gz" - sha256: 69b81a103280720ac91f05056b81c8a485e5a70cc5802cfb39a23db7ebdc2487 + sha256: cc3068a1653e99a218607a9a994d8ee13490ebe162c403a6a7805ba10bfc50b0 build: number: 0 diff --git a/recipes/r-ampvis2/meta.yaml b/recipes/r-ampvis2/meta.yaml index fc5c07195db77..cb179f12c271e 100644 --- a/recipes/r-ampvis2/meta.yaml +++ b/recipes/r-ampvis2/meta.yaml @@ -1,20 +1,22 @@ {% set name = "r-ampvis2" %} -{% set version = "2.7.32" %} +{% set version = "2.8.9" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://github.com/MadsAlbertsen/ampvis2/archive/refs/tags/v{{ version }}.tar.gz - sha256: b75f2e92e3d8999e47b8004824b7d1e0a9bb7b0c5fb116296e11a0d87ec0ac4a + url: https://github.com/KasperSkytte/ampvis2/archive/refs/tags/v{{ version }}.tar.gz + sha256: 0e94062ab2a366ed7a0dec0881fdfbaf7d650e153e3249bb73992766352a5a80 build: - number: 2 + number: 0 noarch: generic rpaths: - lib/R/lib/ - lib/ + run_exports: + - {{ pin_subpackage('r-ampvis2', max_pin="x.x") }} requirements: host: diff --git a/recipes/r-anndata/meta.yaml b/recipes/r-anndata/meta.yaml index ce8403f580d3d..0d2095fcfb869 100644 --- a/recipes/r-anndata/meta.yaml +++ b/recipes/r-anndata/meta.yaml @@ -1,20 +1,22 @@ -{% set version = "0.7.5.4" %} +{% set version = "0.7.5.6" %} package: name: r-anndata version: {{ version }} source: - url: - - https://github.com/dynverse/anndata/archive/refs/tags/{{ version }}.tar.gz - sha256: 35561748978b82739eb75b64e0532919b122eccebf8cc765c964e549884a56cd + url: https://github.com/dynverse/anndata/archive/refs/tags/{{ version }}.tar.gz + sha256: 1a4dc28c5a99a1d816d0b6cf7eabc6388a61af03b53b38297cfce304ae6c8bcb build: - number: 2 + number: 0 noarch: generic rpaths: - lib/R/lib/ - lib/ + script: ${R} CMD INSTALL --build . ${R_ARGS} + run_exports: + - {{ pin_subpackage('r-anndata', max_pin="x.x") }} requirements: host: @@ -41,6 +43,7 @@ about: summary: "A 'reticulate' wrapper for the Python package 'anndata'. Provides a scalable way of keeping track of data and learned annotations. Used to read from and write to the h5ad file format." license_family: MIT license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/MIT' + dev_url: https://github.com/dynverse/anndata extra: recipe-maintainers: diff --git a/recipes/r-aroma.affymetrix/meta.yaml b/recipes/r-aroma.affymetrix/meta.yaml index b28a7de9263f0..c8237d9eb4f99 100644 --- a/recipes/r-aroma.affymetrix/meta.yaml +++ b/recipes/r-aroma.affymetrix/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '3.2.1' %} +{% set version = '3.2.2' %} package: name: r-aroma.affymetrix @@ -8,14 +8,16 @@ source: url: - {{ cran_mirror }}/src/contrib/aroma.affymetrix_{{ version }}.tar.gz - {{ cran_mirror }}/src/contrib/Archive/aroma.affymetrix/aroma.affymetrix_{{ version }}.tar.gz - sha256: 7aefbbddf94f6fc0ee2dec261f0caa6ca28d5f36aa7f7534ffb5f4e10ec4f5fb + sha256: 18e1c9479e3e41bdfff06769d0ff2d85fcae16042cfd0eefa4dbcd0c4f3c9c40 build: noarch: generic - number: 3 + number: 0 rpaths: - lib/R/lib/ - lib/ + run_exports: + - {{ pin_subpackage('r-aroma.affymetrix', max_pin="x.x") }} requirements: host: @@ -60,3 +62,5 @@ about: Aroma Framework has successfully been used in studies to process tens of thousands of arrays. This package has actively been used since 2006. license_family: LGPL + license_file: + - '{{ environ["PREFIX"] }}/lib/R/share/licenses/LGPL-2.1' diff --git a/recipes/r-aroma.core/meta.yaml b/recipes/r-aroma.core/meta.yaml index c2ec781553729..5d9c36cd653b2 100644 --- a/recipes/r-aroma.core/meta.yaml +++ b/recipes/r-aroma.core/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '3.3.0' %} +{% set version = '3.3.1' %} package: name: r-aroma.core @@ -8,14 +8,16 @@ source: url: - {{ cran_mirror }}/src/contrib/aroma.core_{{ version }}.tar.gz - {{ cran_mirror }}/src/contrib/Archive/aroma.core/aroma.core_{{ version }}.tar.gz - sha256: 7b6ab7cc6079f6783b0eaa2c10a29492e53cfb3f05b7a298588491b35a472188 + sha256: fa26bca509750eb44e85cae2d78b03870c003d4f7e0360977e924a7838805e44 build: noarch: generic - number: 1 + number: 0 rpaths: - lib/R/lib/ - lib/ + run_exports: + - {{ pin_subpackage('r-aroma.core', max_pin="x") }} requirements: host: @@ -54,10 +56,11 @@ test: - $R -e "library('aroma.core')" about: - home: https://github.com/HenrikBengtsson/aroma.core, http://www.aroma-project.org/ + home: https://www.aroma-project.org/ license: LGPL-2.1-or-later summary: Core methods and classes used by higher-level 'aroma.*' packages part of the Aroma Project, e.g. 'aroma.affymetrix' and 'aroma.cn'. + dev_url: https://github.com/HenrikBengtsson/aroma.core license_family: LGPL license_file: - '{{ environ["PREFIX"] }}/lib/R/share/licenses/LGPL-2.1' diff --git a/recipes/r-azimuth/meta.yaml b/recipes/r-azimuth/meta.yaml new file mode 100644 index 0000000000000..ece8b017733ac --- /dev/null +++ b/recipes/r-azimuth/meta.yaml @@ -0,0 +1,100 @@ +{% set version = '0.5.0' %} + +package: + name: r-azimuth + version: {{ version|replace("-", "_") }} + +source: + url: https://github.com/satijalab/azimuth/archive/refs/tags/v{{ version }}.tar.gz + sha256: 0001e425d48a6f4ed71b99239d414285a09d06a138c393ad2227e186ef34c38f + +build: + script: $R CMD INSTALL --build . + run_exports: + - {{ pin_subpackage("r-azimuth", max_pin="x.x.x") }} + number: 0 + rpaths: + - lib/R/lib/ + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + host: + - r-base + - 'bioconductor-bsgenome.hsapiens.ucsc.hg38 >=1.4.0,<1.5.0' + - 'r-dt >=0.15' + - 'bioconductor-ensdb.hsapiens.v86' + - 'r-matrix >=1.2.18' + - 'r-rcpp >=1.0.7' + - 'r-seurat >=5.0.0' + - 'r-seurat-data ==0.2.1' + - 'r-seurat-disk ==0.0.0.9021' + - 'r-seuratobject >=5.0.0' + - 'r-future >=1.19.1' + - 'r-ggplot2 >=3.3.2' + - 'bioconductor-glmgampoi >=1.0.0' + - 'r-googlesheets4 >=0.2.0' + - 'r-hdf5r >=1.3.2' + - 'r-htmltools >=0.5.0' + - 'r-httr >=1.4.2' + - 'bioconductor-jaspar2020' + - 'r-jsonlite >=1.7.0' + - 'r-patchwork >=1.0.1' + - 'r-plotly' + - 'r-presto ==1.0.0' + - 'r-rlang >=0.4.8' + - 'r-scales >=1.1.1' + - 'r-shiny >=1.5.0' + - 'r-shinybs >=0.61' + - 'r-shinydashboard >=0.7.1' + - 'r-shinyjs >=2.0.0' + - 'r-signac >=1.12.0' + - 'r-stringr >=1.4.0' + - 'bioconductor-tfbstools' + - 'r-withr >=2.3.0' + run: + - r-base + - 'r-dt >=0.15' + - 'bioconductor-ensdb.hsapiens.v86' + - 'r-matrix >=1.2.18' + - 'r-rcpp >=1.0.7' + - 'r-seurat >=5.0.0' + - 'r-seurat-data ==0.2.1' + - 'r-seurat-disk ==0.0.0.9021' + - 'r-seuratobject >=5.0.0' + - 'r-future >=1.19.1' + - 'r-ggplot2 >=3.3.2' + - 'bioconductor-glmgampoi >=1.0.0' + - 'r-googlesheets4 >=0.2.0' + - 'r-hdf5r >=1.3.2' + - 'r-htmltools >=0.5.0' + - 'r-httr >=1.4.2' + - 'bioconductor-jaspar2020' + - 'r-jsonlite >=1.7.0' + - 'r-patchwork >=1.0.1' + - 'r-plotly' + - 'r-presto ==1.0.0' + - 'r-rlang >=0.4.8' + - 'r-scales >=1.1.1' + - 'r-shiny >=1.5.0' + - 'r-shinybs >=0.61' + - 'r-shinydashboard >=0.7.1' + - 'r-shinyjs >=2.0.0' + - 'r-signac >=1.12.0' + - 'r-stringr >=1.4.0' + - 'bioconductor-tfbstools' + - 'r-withr >=2.3.0' + +test: + commands: + - '$R -e "library(''Azimuth'')"' + +about: + home: https://github.com/satijalab/azimuth + license: GPL-3.0-only + summary: Azimuth is a Shiny app demonstrating a query-reference mapping algorithm for single-cell data. + license_family: GPL3 + license_file: + - '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' + - LICENSE diff --git a/recipes/r-bcbiornaseq/meta.yaml b/recipes/r-bcbiornaseq/meta.yaml index 24cd7740aadd0..5438c656df52d 100644 --- a/recipes/r-bcbiornaseq/meta.yaml +++ b/recipes/r-bcbiornaseq/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.6.0" %} +{% set version = "0.6.2" %} {% set github = "https://github.com/hbc/bcbioRNASeq" %} package: @@ -7,7 +7,7 @@ package: source: url: "{{ github }}/archive/v{{ version }}.tar.gz" - sha256: 317f907519a0242892f461eb10d4cd3cd5421eedc765ffddb6435cd2186e5541 + sha256: 01c7848a13e5eb5bb043725fbdcec2de9e545dd37c2995bcbbfde73a8632ede8 build: number: 0 diff --git a/recipes/r-bcbiosinglecell/meta.yaml b/recipes/r-bcbiosinglecell/meta.yaml index 822cb5d07aea9..f0d67d0cfeb51 100644 --- a/recipes/r-bcbiosinglecell/meta.yaml +++ b/recipes/r-bcbiosinglecell/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.7.0" %} +{% set version = "0.7.1" %} {% set github = "https://github.com/hbc/bcbioSingleCell" %} package: @@ -7,7 +7,7 @@ package: source: url: "{{ github }}/archive/v{{ version }}.tar.gz" - sha256: 60e4aaf76db0b307d0fec376db7d533faffce465c14e20fbbbeb981603ae8603 + sha256: 42a7272709a65cda9b45b79aa172226839342578049a9841b73ee92a5e76e3f5 build: number: 0 diff --git a/recipes/r-biodb/meta.yaml b/recipes/r-biodb/meta.yaml index 3625bba7d5baa..1f5bd0438fbb8 100644 --- a/recipes/r-biodb/meta.yaml +++ b/recipes/r-biodb/meta.yaml @@ -9,7 +9,9 @@ source: sha256: abc4c533a2824e98bb6b4e94b5288bf89c6cf2ba5e62804d0e8dc75147eecb88 build: - number: 8 + number: 9 + run_exports: + - {{ pin_subpackage('r-biodb', max_pin="x") }} rpaths: - lib/R/lib/ - lib/ @@ -49,7 +51,10 @@ about: license: AGPL-3.0 summary: 'An R package for connecting to chemical and biological databases.' home: https://github.com/pkrog/biodb + extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - MathiasHaudgaard - FrodePedersen diff --git a/recipes/r-biomartr/meta.yaml b/recipes/r-biomartr/meta.yaml index 749089d1a9cbf..a4fbd52da4fc5 100644 --- a/recipes/r-biomartr/meta.yaml +++ b/recipes/r-biomartr/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '1.0.6' %} +{% set version = '1.0.7' %} package: name: r-biomartr @@ -8,7 +8,7 @@ source: url: - {{ cran_mirror }}/src/contrib/biomartr_{{ version }}.tar.gz - {{ cran_mirror }}/src/contrib/Archive/biomartr/biomartr_{{ version }}.tar.gz - sha256: 35fe0d6090a71c68df989932cb98cffd321f0f73e880966e47856bcd84468d1b + sha256: 9d1d5c51b61ee67ce7ca18afdb0a136ef5709d92d077d80163f9d52ee6c28645 build: noarch: generic diff --git a/recipes/r-buencolors/build.sh b/recipes/r-buencolors/build.sh new file mode 100644 index 0000000000000..b8d2635525637 --- /dev/null +++ b/recipes/r-buencolors/build.sh @@ -0,0 +1,3 @@ +#!/bin/bash +export DISABLE_AUTOBREW=1 +${R} CMD INSTALL --build . ${R_ARGS} diff --git a/recipes/r-buencolors/meta.yaml b/recipes/r-buencolors/meta.yaml new file mode 100644 index 0000000000000..51fca6e5f9c0a --- /dev/null +++ b/recipes/r-buencolors/meta.yaml @@ -0,0 +1,48 @@ +{% set version = "0.5.6" %} +{% set github = "https://github.com/caleblareau/BuenColors" %} +{% set commit = "f1bc8e640d129ef319a0db49b169a64b00026e00" %} + +package: + name: r-buencolors + version: "{{ version }}" + +source: + url: "{{ github }}/archive/{{ commit }}.zip" + sha256: 6caa14acafd81c9619d795e5dd56ef9fa7a37280d35fe9afe9b4bd9ff3cd776f + +build: + noarch: generic + number: 0 + rpaths: + - lib/R/lib/ + - lib/ + run_exports: + - {{ pin_subpackage("r-buencolors", max_pin="x.x") }} + +requirements: + host: + - r-base + - r-ggplot2 + - r-mass + run: + - r-base + - r-ggplot2 + - r-mass + +test: + commands: + - $R -e "library(BuenColors)" + +about: + home: {{ github }} + dev_url: {{ github }} + license: MIT + license_family: MIT + license_file: + - {{ environ["PREFIX"] }}/lib/R/share/licenses/MIT + - LICENSE + summary: R utility package for color mapping and plot aesthetics. + +extra: + recipe-maintainers: + - mfansler diff --git a/recipes/r-ccube/meta.yaml b/recipes/r-ccube/meta.yaml index 9c8de99da6ff9..cc55304fb863c 100644 --- a/recipes/r-ccube/meta.yaml +++ b/recipes/r-ccube/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 5 + number: 6 script: R CMD INSTALL --build . rpaths: - lib/R/lib/ diff --git a/recipes/r-cellosaurus/meta.yaml b/recipes/r-cellosaurus/meta.yaml index 0a6c31bd625d5..303e14d510275 100644 --- a/recipes/r-cellosaurus/meta.yaml +++ b/recipes/r-cellosaurus/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.8.1" %} +{% set version = "0.8.2" %} {% set github = "https://github.com/acidgenomics/r-cellosaurus" %} package: @@ -7,7 +7,7 @@ package: source: url: "{{ github }}/archive/v{{ version }}.tar.gz" - sha256: c18ed889a603e15332afdc71cd7fb1ab13701fe892e5247c55ba6fbb630c2677 + sha256: 83d730b19dfe21ca7447d8eaf674b991010300918bb17dad70f25458617b33a3 build: noarch: generic diff --git a/recipes/r-chord/build.sh b/recipes/r-chord/build.sh new file mode 100644 index 0000000000000..af6547bf3c22e --- /dev/null +++ b/recipes/r-chord/build.sh @@ -0,0 +1,2 @@ +#!/bin/bash +$R CMD INSTALL --build . diff --git a/recipes/r-chord/meta.yaml b/recipes/r-chord/meta.yaml new file mode 100644 index 0000000000000..112ef12290bf6 --- /dev/null +++ b/recipes/r-chord/meta.yaml @@ -0,0 +1,42 @@ +{% set version = "2.03" %} +{% set sha256 = "def578e8e3764231d0711d0fb2542862c064fe9e355fbc6c5b61da153f50e7bc" %} + +package: + name: r-chord + version: '{{ version }}' + +source: + url: https://github.com/UMCUGenetics/CHORD/archive/refs/tags/{{ version }}.tar.gz + sha256: '{{ sha256 }}' + +build: + noarch: generic + number: 0 + run_exports: + - {{ pin_subpackage("r-chord", max_pin="x.x") }} + +requirements: + host: + - r-base + - r-mutsigextractor ==1.14 + - r-randomforest + - bioconductor-bsgenome + - bioconductor-bsgenome.hsapiens.ucsc.hg19 + - bioconductor-bsgenome.hsapiens.ucsc.hg38 + run: + - r-base + - r-mutsigextractor ==1.14 + - r-randomforest + - bioconductor-bsgenome + - bioconductor-bsgenome.hsapiens.ucsc.hg19 + - bioconductor-bsgenome.hsapiens.ucsc.hg38 + +test: + commands: + - $R -e "library('CHORD')" + +about: + home: https://github.com/UMCUGenetics/CHORD + license: GPL-3.0-only + license_family: GPL3 + summary: Predict HRD using somatic mutations contexts diff --git a/recipes/r-anndata/build.sh b/recipes/r-circrnafull/build.sh similarity index 100% rename from recipes/r-anndata/build.sh rename to recipes/r-circrnafull/build.sh diff --git a/recipes/r-circrnafull/meta.yaml b/recipes/r-circrnafull/meta.yaml new file mode 100644 index 0000000000000..eff04362d5797 --- /dev/null +++ b/recipes/r-circrnafull/meta.yaml @@ -0,0 +1,46 @@ +package: + name: r-circrnafull + version: 1.0.0 + +source: + url: https://github.com/tofazzalh/circRNAFull/archive/85dd5479cd24ef6464c601048d68718eecad1c8c.zip + sha256: d5d7ab6c83d65d23dda52f339d42b27232480516f9ac14a9dd43a78012fe7032 + +build: + number: 0 + noarch: generic + run_exports: '{{ pin_compatible("r-circrnafull", max_pin="x") }}' + rpaths: + - lib/R/lib + - lib + +requirements: + host: + - r-base + - r-seqinr + - r-stringi + - bioconductor-biostrings + - bioconductor-rsamtools + run: + - r-base + - r-seqinr + - r-stringi + - bioconductor-biostrings + - bioconductor-rsamtools + +test: + commands: + - $R -e "library(circRNAFull)" + +about: + home: https://github.com/tofazzalh/circRNAFull + license: unknown + summary: An R package for reconstruction of full length circRNA sequence using chimeric alignment information + +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - doi:10.3390/ijms23126776 + recipe-maintainers: + - nictru diff --git a/recipes/r-classdiscovery/meta.yaml b/recipes/r-classdiscovery/meta.yaml index 4993bba3a183f..031a2df080c26 100644 --- a/recipes/r-classdiscovery/meta.yaml +++ b/recipes/r-classdiscovery/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '3.4.0' %} +{% set version = '3.4.5' %} package: name: r-classdiscovery @@ -8,16 +8,17 @@ source: url: - {{ cran_mirror }}/src/contrib/ClassDiscovery_{{ version }}.tar.gz - {{ cran_mirror }}/src/contrib/Archive/ClassDiscovery/ClassDiscovery_{{ version }}.tar.gz - sha256: 5a18e607ba5753bb8026a27ff73df6ad9f77ff186a82050b90d1fac6ee96871a + sha256: 61bcee1d18cb213f4fbe4ca5f6e3051192823a9e919c4010efd5f74aedd1e04c build: noarch: generic - number: 2 + number: 0 rpaths: - lib/R/lib/ - lib/ + run_exports: + - {{ pin_subpackage("r-classdiscovery", max_pin="x") }} -# Suggests: xtable requirements: host: - r-base @@ -36,39 +37,12 @@ requirements: test: commands: - # You can put additional test commands to be run here. - - $R -e "library('ClassDiscovery')" # [not win] - - "\"%R%\" -e \"library('ClassDiscovery')\"" # [win] + - $R -e "library('ClassDiscovery')" about: home: http://oompa.r-forge.r-project.org/ - license: Apache (== 2.0) + license: Apache-2.0 summary: 'Defines the classes used for "class discovery" problems in the OOMPA project (). Class discovery primarily consists of unsupervised clustering methods with attempts to assess their statistical significance. ' license_family: APACHE - -# The original CRAN metadata for this package was: - -# Package: ClassDiscovery -# Version: 3.3.9 -# Date: 2018-09-27 -# Title: Classes and Methods for "Class Discovery" with Microarrays or Proteomics -# Author: Kevin R. Coombes -# Maintainer: Kevin R. Coombes -# Depends: R (>= 3.0), cluster, oompaBase (>= 3.0.1) -# Imports: methods, stats, graphics, grDevices, mclust, oompaData, Biobase -# Suggests: xtable -# Description: Defines the classes used for "class discovery" problems in the OOMPA project (). Class discovery primarily consists of unsupervised clustering methods with attempts to assess their statistical significance. -# License: Apache License (== 2.0) -# LazyLoad: yes -# biocViews: Microarray, Clustering -# URL: http://oompa.r-forge.r-project.org/ -# NeedsCompilation: no -# Packaged: 2018-10-03 11:25:11 UTC; Kevin -# Repository: CRAN -# Date/Publication: 2018-10-03 22:02:55 UTC - -# See -# http://docs.continuum.io/conda/build.html for -# more information about meta.yaml diff --git a/recipes/r-cleangeostreamr/curate_chemical_data b/recipes/r-cleangeostreamr/curate_chemical_data new file mode 100755 index 0000000000000..6006c6d169cf2 --- /dev/null +++ b/recipes/r-cleangeostreamr/curate_chemical_data @@ -0,0 +1,4 @@ +#!/bin/bash + +# forward the command line parameters to the main curate chemical data function +Rscript -e "library('CleanGeoStreamR'); CleanGeoStreamR::main_read_curate_chemical_data()" $@ diff --git a/recipes/r-cleangeostreamr/curate_spatial_data b/recipes/r-cleangeostreamr/curate_spatial_data new file mode 100644 index 0000000000000..7f97c6ca4094f --- /dev/null +++ b/recipes/r-cleangeostreamr/curate_spatial_data @@ -0,0 +1,4 @@ +#!/bin/bash + +# forward the command line parameters to the main curate spatial data function +Rscript -e "library('CleanGeoStreamR'); CleanGeoStreamR::main_read_curate_spatial_data()" $@ diff --git a/recipes/r-cleangeostreamr/meta.yaml b/recipes/r-cleangeostreamr/meta.yaml new file mode 100644 index 0000000000000..397cf3281f8cd --- /dev/null +++ b/recipes/r-cleangeostreamr/meta.yaml @@ -0,0 +1,91 @@ +{% set name = "cleangeostreamr" %} +{% set version = "1.0.0" %} + +package: + name: r-{{ name }} + version: {{ version }} + +source: + url: "https://codebase.helmholtz.cloud/department-computational-biology/software/{{ name }}/-/archive/v{{ version }}/{{ name }}-v{{ version }}.tar.gz" + sha256: 8d9b345d47e0739d9664119162c5aff1e3ca91c99c76be2a09baf7bd82c63258 + +build: + number: 0 + noarch: generic + rpaths: + - lib/R/lib/ + - lib/ + run_exports: + - {{ pin_subpackage("r-cleangeostreamr", max_pin="x.x") }} + script: | + cp $RECIPE_DIR/curate_chemical_data $PREFIX/bin/ + cp $RECIPE_DIR/curate_spatial_data $PREFIX/bin/ + R CMD INSTALL --build . + +requirements: + host: + - r-base + - r-devtools + - r-dt + - r-tidyverse + - r-optparse + - r-lubridate + - r-tidygeocoder + - r-readr + - r-r.utils + - r-rnaturalearth + - r-rnaturalearthdata + - r-sf + - r-sp + - r-leaflet + - r-jsonlite + - r-magrittr + - r-stringi + - r-dplyr + - r-ggplot2 + - r-stringr + - r-tibble + - r-tidyr + run: + - r-base + - r-devtools + - r-dt + - r-tidyverse + - r-optparse + - r-lubridate + - r-tidygeocoder + - r-readr + - r-r.utils + - r-rnaturalearth + - r-rnaturalearthdata + - r-sf + - r-sp + - r-leaflet + - r-jsonlite + - r-magrittr + - r-stringi + - r-dplyr + - r-ggplot2 + - r-stringr + - r-tibble + - r-tidyr + +test: + commands: + - $R -e "library('CleanGeoStreamR')" + - curate_chemical_data --help + - curate_spatial_data --help +about: + home: https://codebase.helmholtz.cloud/department-computational-biology/software/cleangeostreamr + license: GPL-3.0 + license_file: LICENSE.md + summary: Automatic curation of spatially annotated data. + description: | + CleanGeoStreamR package is designed to automate the curation of spatially annotated data which frequently present challenges due to inconsistencies, errors, and missing information. CleanGeoStreamR tackles these issues by providing a range of tools for preprocessing, curating, and finalizing spatial data, ensuring its accuracy and integrity. + +extra: + identifiers: + - biotools:cleangeostreamr + recipe-maintainers: + - ilhan-mutlu + diff --git a/recipes/r-cobrar/meta.yaml b/recipes/r-cobrar/meta.yaml new file mode 100644 index 0000000000000..78121f95e2bfa --- /dev/null +++ b/recipes/r-cobrar/meta.yaml @@ -0,0 +1,63 @@ +{% set name = "cobrar" %} +{% set version = '0.1.1' %} +{% set github = "https://github.com/Waschina/cobrar" %} +{% set sha256 = '0b22d09dde91ee01f735074a8bfb3a7129a799fabf3aa21dcb77d5842f119be4' %} + +package: + name: r-{{ name }} + version: {{ version|replace("-", "_") }} + +source: + url: + - {{ github }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 1 + script: R CMD INSTALL --build . + rpaths: + - lib/R/lib/ + - lib/ + run_exports: + - {{ pin_subpackage("r-cobrar", max_pin="x") }} + +requirements: + build: + - {{ compiler('cxx') }} + - make + host: + - glpk >=4.65 + - libsbml >=5.18.0 + - r-base + - r-rcpp + - r-rcpparmadillo + - r-matrix + run: + - glpk >=4.65 + - libsbml >=5.18.0 + - r-base + - r-rcpp + - r-rcpparmadillo + - r-matrix + +test: + commands: + - $R -e "library('cobrar')" + +about: + home: https://github.com/Waschina/cobrar + license: GPL-3.0-or-later + summary: COnstraint-based Reconstruction and Analysis (COBRA) of metabolic networks in R + license_family: GPL3 + license_file: + - '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' + doc_url: https://waschina.github.io/cobrar/ + dev_url: https://github.com/Waschina/cobrar + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + recipe-maintainers: + - Waschina + diff --git a/recipes/r-codedepends/meta.yaml b/recipes/r-codedepends/meta.yaml index f19f17e98709a..321e8713df784 100644 --- a/recipes/r-codedepends/meta.yaml +++ b/recipes/r-codedepends/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '0.6.5' %} +{% set version = '0.6.6' %} {% set posix = 'm2-' if win else '' %} {% set native = 'm2w64-' if win else '' %} @@ -10,15 +10,17 @@ source: url: - {{ cran_mirror }}/src/contrib/CodeDepends_{{ version }}.tar.gz - {{ cran_mirror }}/src/contrib/Archive/CodeDepends/CodeDepends_{{ version }}.tar.gz - sha256: 18067d49d67c3f8f0cca1f3890680dcee9ffc90a0469561c7da074aec68ef350 + sha256: 7f815b03abe573b95ac9ed2e20caa7c5b5370aff710767e897575c2cf52c5857 build: merge_build_host: True # [win] - number: 4 + number: 0 noarch: generic rpaths: - lib/R/lib/ - lib/ + run_exports: + - {{ pin_subpackage('r-codedepends', max_pin="x.x") }} requirements: build: diff --git a/recipes/r-conos/meta.yaml b/recipes/r-conos/meta.yaml index 78c4f6043b388..764a6f992dd1a 100644 --- a/recipes/r-conos/meta.yaml +++ b/recipes/r-conos/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '1.5.0' %} +{% set version = '1.5.2' %} package: name: r-conos @@ -8,13 +8,15 @@ source: url: - {{ cran_mirror }}/src/contrib/conos_{{ version }}.tar.gz - {{ cran_mirror }}/src/contrib/Archive/conos/conos_{{ version }}.tar.gz - sha256: dcf4afbbf3c744e8e4f1bd4472bb4c8f18a1d18d9f2bf854372d12d8e558b0f1 + sha256: 736a00a2574fd39d063d70038ae1ff738cfcb6de61827aaf765f7004c67ac65c build: - number: 3 + number: 0 rpaths: - lib/R/lib/ - lib/ + run_exports: + - {{ pin_subpackage('r-conos', max_pin="x") }} requirements: build: diff --git a/recipes/r-corncob/meta.yaml b/recipes/r-corncob/meta.yaml index ae07dcf364081..59804c6fc189d 100644 --- a/recipes/r-corncob/meta.yaml +++ b/recipes/r-corncob/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '0.3.2' %} +{% set version = '0.4.1' %} {% set posix = 'm2-' if win else '' %} {% set native = 'm2w64-' if win else '' %} @@ -10,7 +10,7 @@ source: url: - {{ cran_mirror }}/src/contrib/corncob_{{ version }}.tar.gz - {{ cran_mirror }}/src/contrib/Archive/corncob/corncob_{{ version }}.tar.gz - sha256: fa0e1df242f88b2f8c88cc46b673271b8ade1b0ae32089fb0b71539e59d2ec46 + sha256: 9658ee516843ed7e229e24e77df3f7c0e361c428f1700818209c21e3d24f5089 build: merge_build_host: True # [win] @@ -34,8 +34,7 @@ requirements: - r-ggplot2 - r-magrittr - r-numderiv - - r-optimr - - bioconductor-phyloseq + - r-rlang - r-scales - r-trust run: @@ -46,8 +45,7 @@ requirements: - r-ggplot2 - r-magrittr - r-numderiv - - r-optimr - - bioconductor-phyloseq + - r-rlang - r-scales - r-trust diff --git a/recipes/r-crbhits/meta.yaml b/recipes/r-crbhits/meta.yaml index 4afc84a3c4e5e..290bc8fe95bf1 100644 --- a/recipes/r-crbhits/meta.yaml +++ b/recipes/r-crbhits/meta.yaml @@ -1,5 +1,5 @@ {% set name = "r-crbhits" %} -{% set version = "0.0.4" %} +{% set version = "0.0.5" %} package: name: "{{ name }}" @@ -7,22 +7,21 @@ package: source: url: https://github.com/kullrich/CRBHits/archive/refs/tags/v{{ version }}.tar.gz - sha256: a44ae1f6f16bf321adf9a0342e3f577ea8322e0f49e507908254f2229c55cc00 + sha256: 2b16cebb11acb1460c7c99c3455f7570cd2b1e485e986bb02a609a956849a43f build: - number: 1 + number: 0 rpaths: - lib/R/lib/ - lib/ + run_exports: + - {{ pin_subpackage('r-crbhits', max_pin="x.x") }} requirements: build: - {{ compiler('c') }} - {{ compiler('cxx') }} - make - - last - - kakscalculator2 - - dagchainer host: - r-base - bioconductor-biostrings @@ -45,6 +44,9 @@ requirements: - r-stringi - r-testthat - r-tibble + - last + - kakscalculator2 + - dagchainer run: - r-base - bioconductor-biostrings @@ -52,7 +54,7 @@ requirements: - r-curl - r-doParallel - r-dplyr - - r-foreach + - r-foreach - r-ggplot2 - r-gridExtra - r-readr @@ -79,6 +81,7 @@ about: summary: "CRBHits: From Conditional Reciprocal Best Hits to Codon Alignments and Ka/Ks in R." description: "CRBHits is a reimplementation of the Conditional Reciprocal Best Hit (CRBH) algorithm crb-blast in R. It covers all necessary steps from CRBHit pair calculation to Codon Alignments and Ka/Ks. (see [Ullrich (2020) ])" license_family: MIT + extra: identifiers: - doi:10.21105/joss.02424 diff --git a/recipes/r-cssam/meta.yaml b/recipes/r-cssam/meta.yaml index 6fc71c9619016..304039fe27b53 100644 --- a/recipes/r-cssam/meta.yaml +++ b/recipes/r-cssam/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 722838845a8d3637b4c45b6a9316e70aaeccec0f68fa764ec311c24aaf915fc9 build: - number: 6 + number: 7 rpaths: - lib/R/lib/ - lib/ diff --git a/recipes/r-deconcell/build.sh b/recipes/r-deconcell/build.sh new file mode 100644 index 0000000000000..6d23e7f876394 --- /dev/null +++ b/recipes/r-deconcell/build.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +pushd Decon2/DeconCell +$R CMD INSTALL --build . diff --git a/recipes/r-deconcell/meta.yaml b/recipes/r-deconcell/meta.yaml new file mode 100644 index 0000000000000..211669e1ffeda --- /dev/null +++ b/recipes/r-deconcell/meta.yaml @@ -0,0 +1,53 @@ +{% set name = "r-deconcell" %} +{% set version = "0.1.0" %} +{% set vcommit = "335bf320df9c7dd15f636cff2c089d89ba6b786e" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/molgenis/systemsgenetics/archive/{{ vcommit }}.tar.gz + sha256: 9dadbe65cdbe72ca6f7bb6869770f40dc4fcea45945fbfb76ace61e41feb5b14 + + +build: + number: 0 + noarch: generic + rpaths: + - lib/R/lib/ + - lib/ + run_exports: + - {{ pin_subpackage('r-deconcell', max_pin="x") }} + +requirements: + host: + - bioconductor-deconrnaseq + - bioconductor-edger + - r-base + - r-data.table + - r-devtools + - r-glmnet + run: + - bioconductor-deconrnaseq + - bioconductor-edger + - r-base + - r-data.table + - r-glmnet + +test: + commands: + - $R -e "library(\"DeconCell\")" + +about: + home: https://github.com/molgenis/systemsgenetics/tree/master/Decon2/DeconCell + license: GPL-3.0-or-later + license_family: GPL3 + summary: DeconCell is an statitsical framework for generating cell proportions predictive models using bulk expresion data. It currently has pre-calculated models + description: | + DeconCell is an statitsical framework for generating cell proportions predictive models using bulk expresion data. It currently has pre-calculated models + dev_url: https://github.com/molgenis/systemsgenetics/tree/master/Decon2/DeconCell + +extra: + recipe-maintainers: + - pettyalex diff --git a/recipes/r-deseqanalysis/meta.yaml b/recipes/r-deseqanalysis/meta.yaml index 4f0912b12277e..c946b43612c5b 100644 --- a/recipes/r-deseqanalysis/meta.yaml +++ b/recipes/r-deseqanalysis/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.7.0" %} +{% set version = "0.7.1" %} {% set github = "https://github.com/acidgenomics/r-deseqanalysis" %} package: @@ -7,7 +7,7 @@ package: source: url: "{{ github }}/archive/v{{ version }}.tar.gz" - sha256: cf5b1cae6fa44e0db16cba3aab8de0d738ab26af7326f9ff24ee42ffb05574d6 + sha256: b5e77ddd1d2109069c6ad5ed01f073c904e5cf164c1c5a418853c554263b0e97 build: noarch: generic diff --git a/recipes/r-diffcorr/meta.yaml b/recipes/r-diffcorr/meta.yaml index 75a7764de28b5..71a4ef28bc8e3 100644 --- a/recipes/r-diffcorr/meta.yaml +++ b/recipes/r-diffcorr/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '0.4.3' %} +{% set version = '0.4.4' %} package: name: r-diffcorr @@ -8,7 +8,7 @@ source: url: - {{ cran_mirror }}/src/contrib/DiffCorr_{{ version }}.tar.gz - {{ cran_mirror }}/src/contrib/Archive/DiffCorr/DiffCorr_{{ version }}.tar.gz - sha256: b0d811cbd78eb69484fb184522cc358d9ad56235b85ee56bef22fc3c1d2df3f3 + sha256: c729fe399aceaf3afb975777ff3483e5d557d9b55b33fe5803bdb8949ff33b17 build: number: 0 diff --git a/recipes/r-dimsum/meta.yaml b/recipes/r-dimsum/meta.yaml index 561f9c65df523..e31cf6dc73e8e 100644 --- a/recipes/r-dimsum/meta.yaml +++ b/recipes/r-dimsum/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '1.3' %} +{% set version = '1.3.1' %} {% set github = "https://github.com/lehner-lab/DiMSum" %} package: @@ -7,22 +7,24 @@ package: source: url: "{{ github }}/archive/v{{ version }}.tar.gz" - sha256: 5f4181a8f4790f7a995db3f1d19408ebeb0fe00ed0cf520d28b1e37dc53a01ea + sha256: 068b490a8a38601298ea98f32b1e81ba98ecfaa8102e312d8c419d8ef7d3c9de build: - number: 2 + number: 0 noarch: generic rpaths: - lib/R/lib/ - lib/ + run_exports: + - {{ pin_subpackage('r-dimsum', max_pin="x") }} requirements: build: - r-base host: - - r-base + - r-base =4.0 - pandoc >=1.17.2 - - fastqc >=0.11.3 + - fastqc =0.11 - cutadapt =2.4 - vsearch >=2.17 - starcode >=1.3 @@ -43,9 +45,9 @@ requirements: - r-seqinr - r-stringr run: - - r-base + - r-base =4.0 - pandoc >=1.17.2 - - fastqc >=0.11.3 + - fastqc =0.11 - cutadapt =2.4 - vsearch >=2.17 - starcode >=1.3 diff --git a/recipes/r-dsb/build.sh b/recipes/r-dsb/build.sh new file mode 100644 index 0000000000000..df943f40e3e3d --- /dev/null +++ b/recipes/r-dsb/build.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +# 'Autobrew' is being used by more and more packages these days +# to grab static libraries from Homebrew bottles. These bottles +# are fetched via Homebrew's --force-bottle option which grabs +# a bottle for the build machine which may not be macOS 10.9. +# Also, we want to use conda packages (and shared libraries) for +# these 'system' dependencies. See: +# https://github.com/jeroen/autobrew/issues/3 +export DISABLE_AUTOBREW=1 + +# R refuses to build packages that mark themselves as Priority: Recommended +mv DESCRIPTION DESCRIPTION.old +grep -va '^Priority: ' DESCRIPTION.old > DESCRIPTION +# shellcheck disable=SC2086 +${R} CMD INSTALL --build . ${R_ARGS} + +# Add more build steps here, if they are necessary. + +# See +# https://docs.conda.io/projects/conda-build +# for a list of environment variables that are set during the build process. diff --git a/recipes/r-dsb/meta.yaml b/recipes/r-dsb/meta.yaml new file mode 100644 index 0000000000000..de253ca893b77 --- /dev/null +++ b/recipes/r-dsb/meta.yaml @@ -0,0 +1,110 @@ +{% set version = '1.0.4' %} + +{% set posix = 'm2-' if win else '' %} +{% set native = 'm2w64-' if win else '' %} + +package: + name: r-dsb + version: {{ version|replace("-", "_") }} + +source: + url: + - {{ cran_mirror }}/src/contrib/dsb_{{ version }}.tar.gz + - {{ cran_mirror }}/src/contrib/Archive/dsb/dsb_{{ version }}.tar.gz + sha256: c1406a3db6adde2dfa63001bdfef71d7e7284309b6b801b28611a157eda0c09b + +build: + merge_build_host: True # [win] + # If this is a new build for the same version, increment the build number. + number: 0 + # no skip + noarch: generic + # This is required to make R link correctly on Linux. + rpaths: + - lib/R/lib/ + - lib/ + run_exports: + - {{ pin_subpackage('r-dsb', max_pin="x") }} + +# Suggests: testthat, knitr, rmarkdown, ggplot2, cowplot, spelling +requirements: + build: + - {{ posix }}zip # [win] + + host: + - r-base + - bioconductor-limma + - r-magrittr + - r-mclust + + run: + - r-base + - bioconductor-limma + - r-magrittr + - r-mclust + +test: + commands: + # You can put additional test commands to be run here. + - $R -e "library('dsb')" # [not win] + - "\"%R%\" -e \"library('dsb')\"" # [win] + + # You can also put a file called run_test.py, run_test.sh, or run_test.bat + # in the recipe that will be run at test time. + + # requires: + # Put any additional test requirements here. + +about: + home: https://github.com/niaid/dsb + license: CC0 | file LICENSE + summary: "Normalizing and denoising protein expression data from droplet-based single cell profiling" + description: "This lightweight R package provides a method for normalizing and denoising protein + expression data from droplet based single cell experiments. Raw protein Unique Molecular + Index (UMI) counts from sequencing DNA-conjugated antibody derived tags (ADT) in + droplets (e.g. 'CITE-seq') have substantial measurement noise. Our experiments and + computational modeling revealed two major components of this noise: 1) protein-specific + noise originating from ambient, unbound antibody encapsulated in droplets that can + be accurately inferred via the expected protein counts detected in empty droplets, + and 2) droplet/cell-specific noise revealed via the shared variance component associated + with isotype antibody controls and background protein counts in each cell. This + package normalizes and removes both of these sources of noise from raw protein data + derived from methods such as 'CITE-seq', 'REAP-seq', 'ASAP-seq', 'TEA-seq', 'proteogenomic' + data from the Mission Bio platform, etc. See the vignette for tutorials on how to + integrate dsb with 'Seurat' and 'Bioconductor' and how to use dsb in 'Python'. Please + see our paper Mul\xE8 M.P., Martins A.J., and Tsang J.S. Nature Communications 2022 + for more details on the method." + license_family: CC + license_file: + - LICENSE + +# The original CRAN metadata for this package was: + +# Package: dsb +# Type: Package +# Title: Normalize & Denoise Droplet Single Cell Protein Data (CITE-Seq) +# Version: 1.0.3 +# Authors@R: c(person(given = "Matthew", family = "Mule", role = c("aut", "cre"), email = "mattmule@gmail.com", comment = c(ORCID = "0000-0001-8457-2716")), person(given = "Andrew", family = "Martins", role = "aut", email = "andrew.martins@nih.gov", comment = c(ORCID = "0000-0002-1832-1924")), person(given = "John", family = "Tsang", role = "pdr", email = "john.tsang@nih.gov", comment = c(ORCID = "0000-0003-3186-3047"))) +# Description: This lightweight R package provides a method for normalizing and denoising protein expression data from droplet based single cell experiments. Raw protein Unique Molecular Index (UMI) counts from sequencing DNA-conjugated antibody derived tags (ADT) in droplets (e.g. 'CITE-seq') have substantial measurement noise. Our experiments and computational modeling revealed two major components of this noise: 1) protein-specific noise originating from ambient, unbound antibody encapsulated in droplets that can be accurately inferred via the expected protein counts detected in empty droplets, and 2) droplet/cell-specific noise revealed via the shared variance component associated with isotype antibody controls and background protein counts in each cell. This package normalizes and removes both of these sources of noise from raw protein data derived from methods such as 'CITE-seq', 'REAP-seq', 'ASAP-seq', 'TEA-seq', 'proteogenomic' data from the Mission Bio platform, etc. See the vignette for tutorials on how to integrate dsb with 'Seurat' and 'Bioconductor' and how to use dsb in 'Python'. Please see our paper Mule M.P., Martins A.J., and Tsang J.S. Nature Communications 2022 for more details on the method. +# License: CC0 | file LICENSE +# Encoding: UTF-8 +# LazyData: true +# RoxygenNote: 7.1.1 +# Depends: R (>= 2.10) +# biocViews: +# Imports: magrittr, limma, mclust, stats +# Suggests: testthat, knitr, rmarkdown, ggplot2, cowplot, spelling +# URL: https://github.com/niaid/dsb +# BugReports: https://github.com/niaid/dsb/issues +# VignetteBuilder: knitr, rmarkdown +# Language: en-US +# NeedsCompilation: no +# Packaged: 2023-03-17 16:55:52 UTC; matthewmule +# Author: Matthew Mule [aut, cre] (), Andrew Martins [aut] (), John Tsang [pdr] () +# Maintainer: Matthew Mule +# Repository: CRAN +# Date/Publication: 2023-03-17 23:20:02 UTC + +# See +# https://docs.conda.io/projects/conda-build for +# more information about meta.yaml diff --git a/recipes/r-easydifferentialgenecoexpression/meta.yaml b/recipes/r-easydifferentialgenecoexpression/meta.yaml index 3ca98180e3570..da710a321155f 100644 --- a/recipes/r-easydifferentialgenecoexpression/meta.yaml +++ b/recipes/r-easydifferentialgenecoexpression/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '1.0' %} +{% set version = '1.4' %} package: name: r-easydifferentialgenecoexpression @@ -8,41 +8,39 @@ source: url: - {{ cran_mirror }}/src/contrib/easyDifferentialGeneCoexpression_{{ version }}.tar.gz - {{ cran_mirror }}/src/contrib/Archive/easyDifferentialGeneCoexpression/easyDifferentialGeneCoexpression_{{ version }}.tar.gz - sha256: 19156037a2fa498dc28d8db8d53797d74007135c43e53bc5f20d61a66100f5b7 + sha256: d0e1653a311d5e5834ef4b9c333ae3fe5aee8333c1201517ee5f6cb556b054c7 build: - number: 2 + number: 0 noarch: generic rpaths: - lib/R/lib/ - lib/ + run_exports: + - {{ pin_subpackage('r-easydifferentialgenecoexpression', max_pin='x') }} requirements: host: - r-base - bioconductor-biobase - bioconductor-geoquery - - r-r.utils - bioconductor-annotate - bioconductor-diffcoexp - r-geneexpressionfromgeo - r-jetset - bioconductor-limma - r-magrittr - - r-stringi - r-xml2 run: - r-base - bioconductor-biobase - bioconductor-geoquery - - r-r.utils - bioconductor-annotate - bioconductor-diffcoexp - r-geneexpressionfromgeo - r-jetset - bioconductor-limma - r-magrittr - - r-stringi - r-xml2 test: diff --git a/recipes/r-easylift/build.sh b/recipes/r-easylift/build.sh new file mode 100644 index 0000000000000..b8d2635525637 --- /dev/null +++ b/recipes/r-easylift/build.sh @@ -0,0 +1,3 @@ +#!/bin/bash +export DISABLE_AUTOBREW=1 +${R} CMD INSTALL --build . ${R_ARGS} diff --git a/recipes/r-easylift/meta.yaml b/recipes/r-easylift/meta.yaml new file mode 100644 index 0000000000000..266299908bd36 --- /dev/null +++ b/recipes/r-easylift/meta.yaml @@ -0,0 +1,50 @@ +{% set version = "0.2.1" %} +{% set github = "https://github.com/caleblareau/easyLift" %} +{% set commit = "43590e059828027e6f1fa057484b239b028da5fd" %} + +package: + name: r-easylift + version: "{{ version }}" + +source: + url: "{{ github }}/archive/{{ commit }}.zip" + sha256: a259440b5911586235828fbe4c0329fa5c514ac342b24641210af35527e3a680 + +build: + noarch: generic + number: 0 + rpaths: + - lib/R/lib/ + - lib/ + run_exports: + - {{ pin_subpackage("r-easylift", max_pin="x.x") }} + +requirements: + host: + - r-base + - bioconductor-genomicranges + - bioconductor-iranges + - bioconductor-rtracklayer + run: + - r-base + - bioconductor-genomicranges + - bioconductor-iranges + - bioconductor-rtracklayer + +test: + commands: + - $R -e "library(easyLift)" + +about: + home: {{ github }} + dev_url: {{ github }} + license: MIT + license_file: + - LICENSE + - {{ environ["PREFIX"] }}/lib/R/share/licenses/MIT + license_family: MIT + summary: A convenience package for converting between popular mouse & human builds. + +extra: + recipe-maintainers: + - mfansler diff --git a/recipes/r-epitrace/build.sh b/recipes/r-epitrace/build.sh new file mode 100644 index 0000000000000..b8d2635525637 --- /dev/null +++ b/recipes/r-epitrace/build.sh @@ -0,0 +1,3 @@ +#!/bin/bash +export DISABLE_AUTOBREW=1 +${R} CMD INSTALL --build . ${R_ARGS} diff --git a/recipes/r-epitrace/meta.yaml b/recipes/r-epitrace/meta.yaml new file mode 100644 index 0000000000000..23ae72ef2b744 --- /dev/null +++ b/recipes/r-epitrace/meta.yaml @@ -0,0 +1,80 @@ +{% set version = "0.0.1.3" %} +{% set github = "https://github.com/MagpiePKU/EpiTrace" %} +{% set commit = "300ec2137d8da651ba3829c92922841f4eef1b2f" %} + +package: + name: r-epitrace + version: "{{ version }}" + +source: + url: "{{ github }}/archive/{{ commit }}.zip" + sha256: 6d7bea517925436a363da66991fed7a160f9aa117ea8bf2a90e7f075d717dd00 + +build: + noarch: generic + number: 0 + rpaths: + - lib/R/lib/ + - lib/ + run_exports: + - {{ pin_subpackage("r-epitrace", max_pin="x.x.x") }} + +requirements: + host: + - r-base + - r-ape + - r-dplyr + - r-easylift + - r-ggplot2 + - r-ggpubr + - r-matrix + - r-matrixstats + - r-nnls + - r-rcolorbrewer + - r-seurat >=4.0 + - r-seuratobject + - r-signac >=1.5.0 + - r-stringr + - r-tidyr + - r-wgcna >=1.7 + - bioconductor-ggtree + - bioconductor-genomicranges + - bioconductor-plyranges + - bioconductor-sparsematrixstats + run: + - r-ape + - r-ape + - r-dplyr + - r-easylift + - r-ggplot2 + - r-ggpubr + - r-matrix + - r-matrixstats + - r-nnls + - r-rcolorbrewer + - r-seurat >=4.0 + - r-seuratobject + - r-signac >=1.5.0 + - r-stringr + - r-tidyr + - r-wgcna >=1.7 + - bioconductor-ggtree + - bioconductor-genomicranges + - bioconductor-plyranges + - bioconductor-sparsematrixstats + +test: + commands: + - $R -e "library(EpiTrace)" + +about: + home: https://epitrace.readthedocs.io + dev_url: {{ github }} + license: GPL-3.0-or-later + license_file: LICENSE + license_family: GPL + summary: Inference of cell age and phylogeny from single cell ATAC data. + +extra: + recipe-maintainers: + - mfansler diff --git a/recipes/r-erah/meta.yaml b/recipes/r-erah/meta.yaml index a16096f928c5f..78d36cf3c8adc 100644 --- a/recipes/r-erah/meta.yaml +++ b/recipes/r-erah/meta.yaml @@ -1,62 +1,65 @@ {% set name = "erah" %} -{% set posix = "m2-" if win else "" %} -{% set version = "1.1.2" %} +{% set version = "2.0.1" %} package: name: r-{{ name }} version: '{{ version }}' source: - url: https://cran.r-project.org/src/contrib/erah_{{ version }}.tar.gz - sha256: db34880f99cd0338e3154462a1145c4dd09254083686a023fa2985a2a458d237 + url: + - {{ cran_mirror }}/src/contrib/erah_{{ version }}.tar.gz + - {{ cran_mirror }}/src/contrib/Archive/erah/erah_{{ version }}.tar.gz + sha256: bd7f89d671ff90f70228ed59c8c1554ca6b3ffab721d50e4ac873daf1e80dc8c build: number: 0 merge_build_host: false script: R CMD INSTALL --build . run_exports: + - {{ pin_subpackage('r-erah', max_pin="x") }} rpaths: - lib/R/lib/ - lib/ requirements: build: - - cross-r-base {{ r_base }} # [build_platform != target_platform] - - autoconf # [unix] - - "{{ compiler('c') }}" # [unix] - - "{{ compiler('m2w64_c') }}" # [win] - - "{{ compiler('cxx') }}" # [unix] - - "{{ compiler('m2w64_cxx') }}" # [win] - - posix # [win] + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - cross-r-base {{ r_base }} # [build_platform != target_platform] host: - - r-XML - r-base + - r-hiclimr + - r-furrr + - r-future - r-igraph - - r-r.methodss3 - - r-ncdf4 - - r-nnls + - r-osd + - r-progress - r-quantreg - r-signal + - r-tibble run: - - r-XML - r-base + - r-hiclimr + - r-furrr + - r-future - r-igraph - - r-r.methodss3 - - r-ncdf4 - - r-nnls + - r-osd + - r-progress - r-quantreg - r-signal + - r-tibble test: commands: - - $R -e "library('erah')" # [not win] - - "\"%R%\" -e \"library('erah')\"" # [win] + - $R -e "library('erah')" about: home: https://CRAN.R-project.org/package=erah summary: Automated compound deconvolution, alignment across samples, and identification of metabolites by spectral library matching in Gas Chromatography - Mass spectrometry (GC-MS) untargeted metabolomics. description: Outputs a table with compound names, matching scores and the integrated area of the compound for each sample. Package implementation is described in Domingo-Almenara et al. (2016) . - license: 'GPL-2 | GPL-3' + license: GPL-2.0-or-later + license_file: + - {{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-2 extra: recipe-maintainers: diff --git a/recipes/r-facets/meta.yaml b/recipes/r-facets/meta.yaml index 6cd13c2138670..4bbd9aa678bdd 100644 --- a/recipes/r-facets/meta.yaml +++ b/recipes/r-facets/meta.yaml @@ -7,7 +7,9 @@ source: sha256: aa671d4fc66e10ce2fe4c8b2cbac4946da8a1564627240ea916db6cd8ec2a6c5 build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage("r-facets", max_pin="x") }} rpaths: - lib/R/lib/ - lib/ @@ -35,5 +37,7 @@ about: license_family: GPL3 extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:facets diff --git a/recipes/r-gchromvar/build.sh b/recipes/r-gchromvar/build.sh new file mode 100644 index 0000000000000..b8d2635525637 --- /dev/null +++ b/recipes/r-gchromvar/build.sh @@ -0,0 +1,3 @@ +#!/bin/bash +export DISABLE_AUTOBREW=1 +${R} CMD INSTALL --build . ${R_ARGS} diff --git a/recipes/r-gchromvar/meta.yaml b/recipes/r-gchromvar/meta.yaml new file mode 100644 index 0000000000000..5d3b2466a581a --- /dev/null +++ b/recipes/r-gchromvar/meta.yaml @@ -0,0 +1,56 @@ +{% set version = "0.3.2" %} +{% set github = "https://github.com/caleblareau/gchromVAR" %} +{% set commit = "e4f33cad4115160ee4bdf16fd625c2fcd0bf3910" %} + +package: + name: r-gchromvar + version: "{{ version }}" + +source: + url: "{{ github }}/archive/{{ commit }}.zip" + sha256: dcb7b686c34155febbf20c17e28aceee7c5301efb817999b3366693da8e75b47 + +build: + noarch: generic + number: 0 + rpaths: + - lib/R/lib/ + - lib/ + run_exports: + - {{ pin_subpackage("r-gchromvar", max_pin="x.x") }} + +requirements: + host: + - r-base + - r-matrix + - bioconductor-biocparallel + - bioconductor-chromvar + - bioconductor-genomicranges + - bioconductor-s4vectors + - bioconductor-summarizedexperiment + run: + - r-base + - r-matrix + - bioconductor-biocparallel + - bioconductor-chromvar + - bioconductor-genomicranges + - bioconductor-s4vectors + - bioconductor-summarizedexperiment + +test: + commands: + - $R -e "library(gchromVAR)" + +about: + home: https://caleblareau.github.io/gchromVAR/ + dev_url: {{ github }} + license: MIT + license_file: + - LICENSE + - {{ environ["PREFIX"] }}/lib/R/share/licenses/MIT + license_family: MIT + summary: R package for computing cell-type specific GWAS enrichments from Finemapping data and quantitative epigenomic data. + +extra: + recipe-maintainers: + - mfansler diff --git a/recipes/r-goalie/meta.yaml b/recipes/r-goalie/meta.yaml index dce7aa1c71055..166ff214cc367 100644 --- a/recipes/r-goalie/meta.yaml +++ b/recipes/r-goalie/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.7.6" %} +{% set version = "0.7.7" %} {% set github = "https://github.com/acidgenomics/r-goalie" %} package: @@ -7,7 +7,7 @@ package: source: url: "{{ github }}/archive/v{{ version }}.tar.gz" - sha256: c2894758e58c994813deaa3767916bdd4ca0ffac111fc88159cc766f54cd4a1b + sha256: 58e751134e5b0431a3a8fee58eefdef2b169e782f1a6eea623c6c9e7fadcd937 build: number: 1 diff --git a/recipes/r-grain/meta.yaml b/recipes/r-grain/meta.yaml index 18c6cd5efde07..6efa5b0ac1291 100644 --- a/recipes/r-grain/meta.yaml +++ b/recipes/r-grain/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '1.4.1' %} +{% set version = '1.4.4' %} package: name: r-grain @@ -8,7 +8,7 @@ source: url: - {{ cran_mirror }}/src/contrib/gRain_{{ version }}.tar.gz - {{ cran_mirror }}/src/contrib/Archive/gRain/gRain_{{ version }}.tar.gz - sha256: d9f926aa876270ab4ae156a70703ec8ccd384cc6a7bfe5de4d1de3ef9e056485 + sha256: 4a94f9f6efad7e6c9304f67f8b60e378539e31ed1a45d425df21ce4b8f3a4eae build: number: 0 @@ -57,3 +57,7 @@ about: license_family: GPL3 license_file: - {{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-2 + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/r-grbase/meta.yaml b/recipes/r-grbase/meta.yaml index f00657d4a41c5..fd80555d344a1 100644 --- a/recipes/r-grbase/meta.yaml +++ b/recipes/r-grbase/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '2.0.1' %} +{% set version = '2.0.2' %} package: name: r-grbase @@ -8,7 +8,7 @@ source: url: - {{ cran_mirror }}/src/contrib/gRbase_{{ version }}.tar.gz - {{ cran_mirror }}/src/contrib/Archive/gRbase/gRbase_{{ version }}.tar.gz - sha256: 1ee49352854954b469bd23eeb1b044b54fe622c4f214d8291f57bc1444c781a9 + sha256: 36720e49b82e360166386c9b3bf17838aeb6d9b921e7e01d48f8a115f9a02e97 build: number: 0 @@ -64,3 +64,7 @@ about: license_family: GPL2 license_file: - '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-2' + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/r-harmony/build.sh b/recipes/r-harmony/build.sh deleted file mode 100644 index 5bf492ab9fc06..0000000000000 --- a/recipes/r-harmony/build.sh +++ /dev/null @@ -1 +0,0 @@ -$R CMD INSTALL --build . diff --git a/recipes/r-harmony/meta.yaml b/recipes/r-harmony/meta.yaml deleted file mode 100644 index 2fde7c768fbde..0000000000000 --- a/recipes/r-harmony/meta.yaml +++ /dev/null @@ -1,59 +0,0 @@ -{% set version = '0.1' %} - -package: - name: r-harmony - version: {{ version }} - -source: - url: https://github.com/immunogenomics/harmony/archive/{{ version }}.tar.gz - sha256: 1243bec2c9cd96d32ee48cafc74795bf18c3b50789e388ef8d80e4440940ae2b - -build: - # https://github.com/immunogenomics/harmony/issues/180 - skip: True # [osx] - number: 6 - rpaths: - - lib/R/lib/ - - lib/ - -requirements: - build: - - {{ compiler('cxx') }} - host: - - r-base - - r-rcpp - - r-dplyr - - r-cowplot - - r-tidyr - - r-ggplot2 - - r-irlba - - r-matrix - - r-tibble - - bioconductor-singlecellexperiment - - r-rlang - - r-rcpparmadillo - - r-rcppprogress - run: - - r-base - - r-dplyr - - r-cowplot - - r-tidyr - - r-ggplot2 - - r-irlba - - r-matrix - - r-tibble - - bioconductor-singlecellexperiment - - r-rlang - - r-rcpparmadillo - - r-rcppprogress - -test: - commands: - - $R -e "library('harmony')" - -about: - home: https://github.com/immunogenomics/harmony - dev_url: https://github.com/immunogenomics/harmony - license: GPL-3.0-only - license_file: LICENSE - summary: Fast, sensitive and accurate integration of single-cell data with Harmony diff --git a/recipes/r-hemdag/meta.yaml b/recipes/r-hemdag/meta.yaml index 04cb8f1a139b4..7981395d2be28 100644 --- a/recipes/r-hemdag/meta.yaml +++ b/recipes/r-hemdag/meta.yaml @@ -11,7 +11,9 @@ source: sha256: bb51b308659f431482211c1ae914cfec6e983e1a110c721a59b24abb56f1aeb6 build: - number: 6 + number: 7 + run_exports: + - {{ pin_subpackage('r-hemdag', max_pin="x") }} rpaths: - lib/R/lib/ - lib/ @@ -54,6 +56,8 @@ about: dev_url: https://github.com/marconotaro/hemdag extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - marconotaro - visze diff --git a/recipes/r-hgvsparser/meta.yaml b/recipes/r-hgvsparser/meta.yaml new file mode 100644 index 0000000000000..2486c3ba91064 --- /dev/null +++ b/recipes/r-hgvsparser/meta.yaml @@ -0,0 +1,40 @@ +{% set version = "0.1.0" %} +{% set name = "hgvsParseR" %} +{% set sha256 = "a540ae0ec48e892f0e31d50a2c33d5b6d477cdf9b1d03612361acb2da4fcd5ab" %} + +package: + name: r-hgvsparser + version: '{{ version }}' + +source: + url: https://github.com/VariantEffect/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: '{{ sha256 }}' + +build: + number: 0 + noarch: generic + script: '$R CMD INSTALL --build .' + run_exports: + - {{ pin_subpackage("r-hgvsparser", max_pin="x.x.x") }} + +requirements: + host: + - r-base + - r-devtools + + run: + - r-base + - r-devtools + +test: + commands: + - $R -e "library('{{ name }}')" + +about: + home: https://github.com/VariantEffect/hgvsParseR + license: GPL-3.0-only + license_family: GPL + license_file: COPYING + summary: {{ name }} + doc_url: https://github.com/VariantEffect/hgvsParseR + dev_url: https://github.com/VariantEffect/hgvsParseR \ No newline at end of file diff --git a/recipes/r-ic10/build.sh b/recipes/r-ic10/build.sh deleted file mode 100644 index 5bf492ab9fc06..0000000000000 --- a/recipes/r-ic10/build.sh +++ /dev/null @@ -1 +0,0 @@ -$R CMD INSTALL --build . diff --git a/recipes/r-ic10/meta.yaml b/recipes/r-ic10/meta.yaml index a2c4c3c934ccb..82853f886728a 100644 --- a/recipes/r-ic10/meta.yaml +++ b/recipes/r-ic10/meta.yaml @@ -1,21 +1,25 @@ -{% set version = '1.5' %} +{% set name = "r-ic10" %} +{% set version = '2.0.2' %} package: - name: r-ic10 + name: {{ name }} version: {{ version|replace("-", "_") }} source: url: - {{ cran_mirror }}/src/contrib/iC10_{{ version }}.tar.gz - {{ cran_mirror }}/src/contrib/Archive/iC10/iC10_{{ version }}.tar.gz - sha256: b471088158320778bac7b145233eeaaf9480061e2a5ac12c58ad7381caee06f7 + sha256: 8c417097765b74576aad6a4dfa30917910dc06a05e858f6a6080574c109c1b32 build: - number: 6 + number: 0 noarch: generic + script: ${R} CMD INSTALL --build . ${R_ARGS} rpaths: - lib/R/lib/ - lib/ + run_exports: + - {{ pin_subpackage('r-ic10', max_pin="x") }} requirements: host: @@ -31,12 +35,11 @@ requirements: test: commands: - - $R -e "library('iC10')" about: home: https://CRAN.R-project.org/package=iC10 - license: GPL-3 + license: GPL-3.0-or-later license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' summary: Implementation of the classifier described in the paper 'Genome-driven integrated classification of breast cancer validated in over 7,500 samples' (Ali HR et al., diff --git a/recipes/r-ichorcna/build.sh b/recipes/r-ichorcna/build.sh index 37756d8b9c8e1..4bc8e1853b492 100644 --- a/recipes/r-ichorcna/build.sh +++ b/recipes/r-ichorcna/build.sh @@ -1,17 +1,3 @@ -$R CMD INSTALL --build . - -outdir=$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM -mkdir -p $outdir/scripts -mkdir -p $outdir/extdata -mkdir -p $PREFIX/bin - -perl -pi -e 'print "#!/opt/anaconda1anaconda2anaconda3/bin/Rscript\n" if $. == 1' scripts/runIchorCNA.R -perl -pi -e 'print "#!/opt/anaconda1anaconda2anaconda3/bin/Rscript\n" if $. == 1' scripts/createPanelOfNormals.R +#!/bin/bash -cp ./R/*.R $outdir/scripts/ - -chmod a+x $outdir/scripts/*.R -ln -s $outdir/scripts/runIchorCNA.R $PREFIX/bin -ln -s $outdir/scripts/createPanelOfNormals.R $PREFIX/bin - -cp inst/extdata/* $outdir/extdata +$R CMD INSTALL --build . diff --git a/recipes/r-ichorcna/meta.yaml b/recipes/r-ichorcna/meta.yaml index 2b36285104717..b7012aa8c3965 100644 --- a/recipes/r-ichorcna/meta.yaml +++ b/recipes/r-ichorcna/meta.yaml @@ -1,4 +1,4 @@ -{% set version="0.5.0" %} +{% set version="0.5.1" %} {% set name="ichorCNA" %} {% set org="GavinHaLab" %} @@ -9,43 +9,44 @@ package: source: url: https://github.com/{{ org|lower }}/{{ name|lower }}/archive/refs/tags/v{{ version }}.zip - sha256: c046af1978bd38b42b9fc71febfb20ff2657795ab0548ed2c60fe97244f3f207 + sha256: 9c28f86efaee172d80390091edcaf8414ec3ca23c4272300284a4c3fac3ac683 build: - number: 1 + number: 0 noarch: generic rpaths: - lib/R/lib/ - lib/ + run_exports: + - {{ pin_subpackage('r-ichorcna', max_pin="x.x") }} requirements: host: - - r-base - - 'r-foreach >=1.5.0' - - 'r-ggplot2 >=3.3.5' - - 'r-stringr >=1.4.0' - - 'r-domc >=1.3.6' - - perl # for adding in correct path references to scripts + - 'r-base >=4.2' - 'bioconductor-bsgenome.hsapiens.ucsc.hg19 >=1.4.3,<1.5.0' - - 'bioconductor-bsgenome.hsapiens.ucsc.hg38 >=1.4.4,<1.5.0' - - 'bioconductor-genomeinfodb >=1.26.7' - - 'bioconductor-hmmcopy >=1.32.0' - - 'bioconductor-genomicranges >=1.42.0' - - r-optparse - - r-plyr + - 'bioconductor-bsgenome.hsapiens.ucsc.hg38 >=1.4.5,<1.5.0' + - 'bioconductor-genomeinfodb >=1.34.9' + - 'bioconductor-genomicranges >=1.50.2' + - 'bioconductor-hmmcopy >=1.40' + - 'r-data.table >=1.14' + - 'r-domc >=1.3.8' + - 'r-foreach >=1.5.2' + - 'r-ggplot2 >=3.4.3' + - 'r-plyr >=1.8' + - 'r-stringr >=1.5.0' run: - - r-base - - 'r-foreach >=1.5.0' - - 'r-ggplot2 >=3.3.5' - - 'r-stringr >=1.4.0' - - 'r-domc >=1.3.6' + - 'r-base >=4.2' - 'bioconductor-bsgenome.hsapiens.ucsc.hg19 >=1.4.3,<1.5.0' - - 'bioconductor-bsgenome.hsapiens.ucsc.hg38 >=1.4.4,<1.5.0' - - 'bioconductor-genomeinfodb >=1.26.7' - - 'bioconductor-hmmcopy >=1.32.0' - - 'bioconductor-genomicranges >=1.42.0' - - r-optparse - - r-plyr + - 'bioconductor-bsgenome.hsapiens.ucsc.hg38 >=1.4.5,<1.5.0' + - 'bioconductor-genomeinfodb >=1.34.9' + - 'bioconductor-genomicranges >=1.50.2' + - 'bioconductor-hmmcopy >=1.40' + - 'r-data.table >=1.14' + - 'r-domc >=1.3.8' + - 'r-foreach >=1.5.2' + - 'r-ggplot2 >=3.4.3' + - 'r-plyr >=1.8' + - 'r-stringr >=1.5.0' test: commands: diff --git a/recipes/r-jackstraw/meta.yaml b/recipes/r-jackstraw/meta.yaml index 5bb00456a1c3e..87c8d069725c3 100644 --- a/recipes/r-jackstraw/meta.yaml +++ b/recipes/r-jackstraw/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '1.3.8' %} +{% set version = '1.3.9' %} package: name: r-jackstraw @@ -8,14 +8,16 @@ source: url: - {{ cran_mirror }}/src/contrib/jackstraw_{{ version }}.tar.gz - {{ cran_mirror }}/src/contrib/Archive/jackstraw/jackstraw_{{ version }}.tar.gz - sha256: 897146888be7f7962a038939fa88005de729f4fcbf4291f6577d59f456cca011 + sha256: 6a599ec3803c64884973eeab44aaf5a78ec44406ef4f536993406e4b6c90f871 build: - number: 1 + number: 0 noarch: generic rpaths: - lib/R/lib/ - lib/ + run_exports: + - {{ pin_subpackage('r-jackstraw', max_pin="x") }} requirements: host: diff --git a/recipes/r-ldweaver/meta.yaml b/recipes/r-ldweaver/meta.yaml index f5c10cbc6684e..8ae0114fc3966 100644 --- a/recipes/r-ldweaver/meta.yaml +++ b/recipes/r-ldweaver/meta.yaml @@ -1,6 +1,6 @@ {% set name = "r-ldweaver" %} -{% set version = "1.3.1" %} -{% set sha256 = "a926d946b4fea6abdc2e7fdcc3ac8a55865da0403d45180eeb60cda0b92d3de0" %} +{% set version = "1.5.1" %} +{% set sha256 = "baa8d5f07f76fa72a57b5b54cf09bd45152a2ee444a2f5a5abbc62fadbe756a1" %} package: name: {{ name }} @@ -23,10 +23,10 @@ requirements: build: - {{ compiler('c') }} # [not win] - {{ compiler('cxx') }} # [not win] - host: - r-base 4.* - bioconductor-genomicranges + - bioconductor-genbankr - r-matrix - r-matrixextra - r-rcolorbrewer @@ -37,7 +37,6 @@ requirements: - r-data.table - r-dplyr - r-fitdistrplus - - bioconductor-genbankr - r-ggnewscale - r-ggplot2 - r-ggraph @@ -47,12 +46,12 @@ requirements: - r-igraph - r-phytools - r-plyr - - r-stringi + - r-stringi - openjdk - run: - r-base 4.* - bioconductor-genomicranges + - bioconductor-genbankr - r-matrix - r-matrixextra - r-rcolorbrewer @@ -63,7 +62,6 @@ requirements: - r-data.table - r-dplyr - r-fitdistrplus - - bioconductor-genbankr - r-ggnewscale - r-ggplot2 - r-ggraph @@ -73,7 +71,7 @@ requirements: - r-igraph - r-phytools - r-plyr - - r-stringi + - r-stringi - openjdk test: @@ -86,5 +84,4 @@ about: license: GPL-3.0-or-later summary: Perform genomewide epistasis analysis by evaluating the LD structure in bacteria. license_family: GPL3 - license_file: - - LICENSE + license_file: LICENSE diff --git a/recipes/r-leidenbase/meta.yaml b/recipes/r-leidenbase/meta.yaml index 0894c430ee0cf..c98059bb3464d 100644 --- a/recipes/r-leidenbase/meta.yaml +++ b/recipes/r-leidenbase/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.1.18" %} +{% set version = "0.1.27" %} package: name: r-leidenbase @@ -6,10 +6,10 @@ package: source: url: https://cran.rstudio.com/src/contrib/leidenbase_{{ version }}.tar.gz - sha256: b56fa823bce97c98e886896111041d50b12c1d1aad4ec01a829851a537d0dbfd + sha256: c3168a68828aacfcf78c6c39415b4771f084c5b5c3c9b2e226dcb8cf909d7b27 build: - number: 0 + number: 2 rpaths: - lib/R/lib/ - lib/ @@ -38,5 +38,9 @@ test: about: home: https://cole-trapnell-lab.github.io/leidenbase/ - license: GPL2, GPL3, BSD + license: GPL-2.0-only, GPL-3.0-only, BSD summary: An R to C interface that runs the Leiden community detection algorithm to find a basic partition + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/r-liger/meta.yaml b/recipes/r-liger/meta.yaml index 47619e1464082..bef57845d132b 100644 --- a/recipes/r-liger/meta.yaml +++ b/recipes/r-liger/meta.yaml @@ -1,14 +1,15 @@ -{% set version = '1.0.1' %} +{% set name = "liger" %} +{% set version = '2.0.1' %} package: - name: r-liger + name: r-{{ name }} version: {{ version|replace("-", "_") }} source: url: - {{ cran_mirror }}/src/contrib/rliger_{{ version }}.tar.gz - {{ cran_mirror }}/src/contrib/Archive/rliger/rliger_{{ version }}.tar.gz - sha256: 5a48c8c18c66c3b692d99ff7eb1595acd4659595cc633c09c55e3f4f44094b74 + sha256: e1163722608ba2c2424e87f44b4d62c36dacca429dfb4fee41eb9a0da99703a4 build: number: 0 @@ -17,7 +18,7 @@ build: - lib/R/lib/ - lib/ run_exports: - - {{ pin_subpackage("r-liger", max_pin="x.x") }} + - {{ pin_subpackage("r-liger", max_pin="x") }} requirements: build: @@ -25,71 +26,65 @@ requirements: - make host: - r-base - - r-fnn - - r-hmisc - - r-rann.l1 - r-rcpp >=0.12.10 - r-rcpparmadillo - r-rcppprogress - r-rtsne - r-cowplot - - r-dosnow - r-dplyr - - r-foreach - r-ggplot2 - - r-ggrepel - r-ica - r-irlba - r-mclust - - r-patchwork - - r-doparallel - r-uwot - r-hdf5r - - r-plyr - - r-snow - - r-psych - - r-rcppeigen - r-rann - - r-scattermore >=0.7 + - r-circlize + - bioconductor-complexheatmap + - r-leidenalg >=1.1.1 + - bioconductor-s4vectors + - r-cli + - r-rlang + - r-matrix + - r-lifecycle + - r-magrittr + - r-scales + - r-rcolorbrewer + - r-viridis run: - r-base - - r-fnn - - r-hmisc - - r-rann.l1 - r-rcpp >=0.12.10 - r-rcpparmadillo - r-rcppprogress - r-rtsne - r-cowplot - - r-doparallel - - r-uwot - - r-hdf5r - - r-dosnow - r-dplyr - - r-foreach - r-ggplot2 - - r-ggrepel - r-ica - r-irlba - r-mclust - - r-patchwork - - r-plyr - - r-snow - - r-psych - - r-rcppeigen + - r-uwot + - r-hdf5r - r-rann - - r-reticulate - - r-scattermore >=0.7 - - openjdk >=6 - - umap-learn - + - r-circlize + - bioconductor-complexheatmap + - r-leidenalg >=1.1.1 + - bioconductor-s4vectors + - r-cli + - r-rlang + - r-matrix + - r-lifecycle + - r-magrittr + - r-scales + - r-rcolorbrewer + - r-viridis test: commands: - $R -e "library('rliger')" about: home: https://github.com/MacoskoLab/liger - license: GPL-3 + license: GPL-3.0-or-later summary: Uses an extension of nonnegative matrix factorization to identify shared and dataset-specific factors. See Welch J, Kozareva V, et al (2019) , and Liu J, Gao C, Sodicoff J, et al (2020) for more @@ -97,7 +92,12 @@ about: license_family: GPL3 license_file: - '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' + doc_url: https://welch-lab.github.io/liger/index.html + dev_url: https://github.com/MacoskoLab/liger extra: recipe-maintainers: + - theAeon - raivivek + identifiers: + - doi:10.1016/j.cell.2019.05.006 diff --git a/recipes/r-linxreport/build.sh b/recipes/r-linxreport/build.sh new file mode 100644 index 0000000000000..6fd1541af9a34 --- /dev/null +++ b/recipes/r-linxreport/build.sh @@ -0,0 +1,6 @@ +#!/bin/bash +$R CMD INSTALL --build . + +mkdir -p ${PREFIX}/bin +cp ${SRC_DIR}/inst/cli/linxreport.R ${PREFIX}/bin +chmod +x ${PREFIX}/bin/linxreport.R diff --git a/recipes/r-linxreport/meta.yaml b/recipes/r-linxreport/meta.yaml new file mode 100644 index 0000000000000..a7ac9a43641e4 --- /dev/null +++ b/recipes/r-linxreport/meta.yaml @@ -0,0 +1,56 @@ +{% set version = "1.0.0" %} +{% set sha256 = "447658b9ac5974f696c6b2c0fce59fc846d7419da8fc79aa81109630701cef55" %} + +package: + name: r-linxreport + version: '{{ version }}' + +source: + url: https://github.com/umccr/linxreport/archive/refs/tags/v{{ version }}.tar.gz + sha256: '{{ sha256 }}' + +build: + noarch: generic + number: 0 + run_exports: + - {{ pin_subpackage("r-linxreport", max_pin="x.x") }} + +requirements: + host: + - r-base >=4 + - r-assertthat + - r-details + - r-dplyr + - r-dt + - r-fs + - r-gtools + - r-optparse + - r-readr + - r-rlang + - r-rmarkdown + - r-sessioninfo + - r-stringr + run: + - r-base >=4 + - r-assertthat + - r-details + - r-dplyr + - r-dt + - r-fs + - r-gtools + - r-optparse + - r-readr + - r-rlang + - r-rmarkdown + - r-sessioninfo + - r-stringr + +test: + commands: + - $R -e "library('linxreport')" + +about: + home: https://github.com/umccr/linxreport + license: MIT + file LICENSE + license_family: MIT + summary: LINX Result Reporter diff --git a/recipes/r-mams/meta.yaml b/recipes/r-mams/meta.yaml new file mode 100644 index 0000000000000..673fe63a605e3 --- /dev/null +++ b/recipes/r-mams/meta.yaml @@ -0,0 +1,66 @@ +{% set version = "1.0.1" %} +{% set sha256 = "90b4658c20f8420d3e158522d5e94ada026ff8bc9a71f644f6bd5c78c9539bfd" %} + +package: + name: r-mams + version: '{{ version }}' + +source: + url: https://github.com/single-cell-mams/rmams/archive/refs/tags/{{ version }}.tar.gz + sha256: '{{ sha256 }}' + +build: + noarch: generic + number: 0 + script: ${R} CMD INSTALL --build . ${R_ARGS} + rpaths: + - lib/R/lib/ + - lib/ + run_exports: + - {{ pin_subpackage("r-mams", max_pin="x") }} + +requirements: + host: + - r-base + - r-seurat + - r-jsonlite + - r-rmdformats + - r-r.methodss3 + - r-anndata + - bioconductor-scran + - bioconductor-scater + - bioconductor-singlecellexperiment + - bioconductor-dropletutils + - bioconductor-annotationdbi + - bioconductor-org.hs.eg.db + run: + - r-base + - r-seurat + - r-jsonlite + - r-rmdformats + - r-r.methodss3 + - r-anndata + - bioconductor-scran + - bioconductor-scater + - bioconductor-singlecellexperiment + - bioconductor-dropletutils + - bioconductor-annotationdbi + - bioconductor-org.hs.eg.db + +test: + commands: + - $R -e "library('rmams')" + +about: + home: "https://github.com/single-cell-mams/rmams" + license: MIT + license_family: MIT + license_file: LICENSE + summary: "R package for Matrix and Analysis Metadata Standards." + dev_url: "https://github.com/single-cell-mams/rmams" + doc_url: "https://single-cell-mams.github.io/rmams" + +extra: + recipe-maintainers: + - pmb59 + - irzamsarfraz diff --git a/recipes/r-metacoder/meta.yaml b/recipes/r-metacoder/meta.yaml index d4dcb0e8b2ae0..82b9450e80aaf 100644 --- a/recipes/r-metacoder/meta.yaml +++ b/recipes/r-metacoder/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '0.3.6' %} +{% set version = '0.3.7' %} package: name: r-metacoder @@ -8,10 +8,12 @@ source: url: - {{ cran_mirror }}/src/contrib/metacoder_{{ version }}.tar.gz - {{ cran_mirror }}/src/contrib/Archive/metacoder/metacoder_{{ version }}.tar.gz - sha256: a2ab9675e1b08f4bf7027a74c4e7a1777e71850420e0a901784da0ddbdc5f896 + sha256: a48bf05b526cc3125605fcb221e96f55c74fd18d535c1a0e55982e3cbf3ffe38 build: - number: 3 + number: 0 + run_exports: + - {{ pin_subpackage('r-metacoder', max_pin="x.x") }} rpaths: - lib/R/lib/ - lib/ @@ -73,7 +75,8 @@ test: - $R -e "library('metacoder')" about: - home: https://grunwaldlab.github.io/metacoder_documentation/ + home: https://github.com/grunwaldlab/metacoder + doc_url: https://grunwaldlab.github.io/metacoder_documentation/ license: GPL-2 | GPL-3 summary: A set of tools for parsing, manipulating, and graphing data classified by a hierarchy (e.g. a taxonomy). diff --git a/recipes/r-mfassignr/meta.yaml b/recipes/r-mfassignr/meta.yaml new file mode 100644 index 0000000000000..421e7b81ce8ea --- /dev/null +++ b/recipes/r-mfassignr/meta.yaml @@ -0,0 +1,58 @@ +{% set name = "mfassignr" %} +{% set version = "1.1.1" %} +{% set github = "https://github.com/RECETOX" %} + +package: + name: "r-{{ name|lower }}" + version: "{{ version }}" + +source: + url: "{{ github }}/MFAssignR/archive/refs/tags/v{{ version }}.tar.gz" + sha256: 11d0c871871e52010978df0273221f95ccd21e950585e19a63d8b40ea23aebcb + +build: + number: 0 + noarch: generic + rpaths: + - lib/R/lib/ + - lib/ + script: R CMD INSTALL --build . + run_exports: + - {{ pin_subpackage("r-mfassignr", max_pin="x.x") }} + +requirements: + host: + - r-base >=3.4.1 + - r-dplyr >=0.7.6 + - r-tidyr >=0.8.1 + - r-ggplot2 >=3.0.0 + - r-colorRamps >=2.3 + - r-gtools >=3.9.5 + run: + - r-base >=3.4.1 + - r-dplyr >=0.7.6 + - r-tidyr >=0.8.1 + - r-ggplot2 >=3.0.0 + - r-colorRamps >=2.3 + - r-gtools >=3.9.5 + +test: + commands: + - $R -e "library('MFAssignR')" + +about: + home: "{{ github }}/MFAssignR" + license: GPL-3.0-or-later + license_file: LICENSE.md + summary: | + The MFAssignR package was designed for multi-element molecular formula (MF) + assignment of ultrahigh resolution mass spectrometry measurements. + A number of tools for internal mass recalibration, MF assignment, signal-to-noise evaluation, + and unambiguous formula selections are provided. + +extra: + recipe-maintainers: + - hechth + - KristinaGomoryova + container: + extended-base: True diff --git a/recipes/r-misha/3.7.0/build.sh b/recipes/r-misha/3.7.0/build.sh new file mode 100644 index 0000000000000..937ed18ca8d4d --- /dev/null +++ b/recipes/r-misha/3.7.0/build.sh @@ -0,0 +1,2 @@ +sed -i 's/CC=g++/CC=\$(CXX)/' src/Makefile +$R CMD INSTALL --build . diff --git a/recipes/r-misha/3.7.0/meta.yaml b/recipes/r-misha/3.7.0/meta.yaml new file mode 100644 index 0000000000000..29c2d9b973b1c --- /dev/null +++ b/recipes/r-misha/3.7.0/meta.yaml @@ -0,0 +1,45 @@ +{% set version = "3.7.0" %} +{% set name = "r-misha" %} +{% set commit = "fb45473ac27833154724bac04136c601e7b2a6f0" %} + +package: + name: "{{ name|lower }}" + version: '{{ version }}' + +source: + url: 'https://github.com/tanaylab/misha/archive/{{ commit }}.zip' + sha256: a27885729422368972734cf7a657a0a4f8abada8aa5728cb9a4ac745f3184d5a + +build: + # https://github.com/tanaylab/misha/issues/9 + skip: True # [osx] + number: 0 + rpaths: + - lib/R/lib + - lib/ + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - sed + host: + - r-base + - r-devtools + run: + - r-base + +test: + commands: + - '$R -e "library(misha)"' + +about: + home: 'https://tanaylab.github.io/misha/index.html' + license: GPL-2 + summary: 'Toolkit for analysis of genomic data' + +extra: + maintainers: + - Misha Hoichman diff --git a/recipes/r-misha/3.7.1/build.sh b/recipes/r-misha/3.7.1/build.sh new file mode 100644 index 0000000000000..937ed18ca8d4d --- /dev/null +++ b/recipes/r-misha/3.7.1/build.sh @@ -0,0 +1,2 @@ +sed -i 's/CC=g++/CC=\$(CXX)/' src/Makefile +$R CMD INSTALL --build . diff --git a/recipes/r-misha/3.7.1/meta.yaml b/recipes/r-misha/3.7.1/meta.yaml new file mode 100644 index 0000000000000..1a4b49c1cc2ec --- /dev/null +++ b/recipes/r-misha/3.7.1/meta.yaml @@ -0,0 +1,45 @@ +{% set version = "3.7.1" %} +{% set name = "r-misha" %} +{% set commit = "eaf2e6122166f95b176c2c9746ef1505791683ef" %} + +package: + name: "{{ name|lower }}" + version: '{{ version }}' + +source: + url: 'https://github.com/tanaylab/misha/archive/{{ commit }}.zip' + sha256: 443b9ab461c36ff4da0f75868f7ac362ce3fff786574516d131ac6ddc671c4f1 + +build: + # https://github.com/tanaylab/misha/issues/9 + skip: True # [osx] + number: 0 + rpaths: + - lib/R/lib + - lib/ + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - sed + host: + - r-base + - r-devtools + run: + - r-base + +test: + commands: + - '$R -e "library(misha)"' + +about: + home: 'https://tanaylab.github.io/misha/index.html' + license: GPL-2 + summary: 'Toolkit for analysis of genomic data' + +extra: + maintainers: + - Misha Hoichman diff --git a/recipes/r-mspbwt/LICENSE b/recipes/r-mspbwt/LICENSE new file mode 100644 index 0000000000000..94a9ed024d385 --- /dev/null +++ b/recipes/r-mspbwt/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/recipes/r-mspbwt/build.sh b/recipes/r-mspbwt/build.sh new file mode 100644 index 0000000000000..461b46a617216 --- /dev/null +++ b/recipes/r-mspbwt/build.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +export LC_ALL=C.UTF-8 +export LANG=C.UTF-8 + + +$R CMD INSTALL --build --install-tests mspbwt + diff --git a/recipes/r-mspbwt/meta.yaml b/recipes/r-mspbwt/meta.yaml new file mode 100644 index 0000000000000..c4e12068526ed --- /dev/null +++ b/recipes/r-mspbwt/meta.yaml @@ -0,0 +1,52 @@ +{% set version = "0.1.0" %} +{% set sha256 = "384330b4deb7b8f1f83ec705c48a099f7ef890beb14a6dd97e117beb4ae92888" %} + +package: + name: r-mspbwt + version: '{{ version }}' + +source: + - url: https://github.com/rwdavies/mspbwt/archive/refs/tags/{{ version }}.tar.gz + sha256: '{{ sha256 }}' + +build: + number: 1 + run_exports: + - {{ pin_subpackage('r-mspbwt', max_pin="x.x") }} + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + host: + - r-base + - r-rcpp <=1.0.12 + - r-data.table >=1.11.8 + - r-rrbgen >=0.0.6 + - r-stitch >=1.7.0 + run: + - r-base + - r-rcpp <=1.0.12 + - r-data.table >=1.11.8 + - r-rrbgen >=0.0.6 + - r-stitch >=1.7.0 + +test: + commands: + - $R -e "library('mspbwt');" + +about: + home: https://github.com/rwdavies/mspbwt + license: GPL-3.0-only + license_family: GPL3 + license_file: LICENSE + summary: Multi Symbol Positional Burrows Wheeler Transform + doc_url: https://github.com/rwdavies/mspbwt + dev_url: https://github.com/rwdavies/mspbwt + +extra: + additional-platforms: + - linux-aarch64 + recipe-maintainers: + - Zilong-Li + - rwdavies diff --git a/recipes/r-mutsigextractor/build.sh b/recipes/r-mutsigextractor/build.sh new file mode 100644 index 0000000000000..af6547bf3c22e --- /dev/null +++ b/recipes/r-mutsigextractor/build.sh @@ -0,0 +1,2 @@ +#!/bin/bash +$R CMD INSTALL --build . diff --git a/recipes/r-mutsigextractor/meta.yaml b/recipes/r-mutsigextractor/meta.yaml new file mode 100644 index 0000000000000..f37f235e466e4 --- /dev/null +++ b/recipes/r-mutsigextractor/meta.yaml @@ -0,0 +1,40 @@ +{% set version = "1.29" %} +{% set sha256 = "7edea78713d59166c8a03c374288e3f72ddcb9b69b0ce06def7c76f27ce49f45" %} + +package: + name: r-mutsigextractor + version: '{{ version }}' + +source: + url: https://github.com/UMCUGenetics/mutSigExtractor/archive/refs/tags/{{ version }}.tar.gz + sha256: '{{ sha256 }}' + +build: + noarch: generic + number: 0 + run_exports: + - {{ pin_subpackage("r-mutsigextractor", max_pin="x.x") }} + +requirements: + host: + - r-base + - bioconductor-genomeinfodb + - bioconductor-bsgenome + - bioconductor-bsgenome.hsapiens.ucsc.hg19 + - bioconductor-bsgenome.hsapiens.ucsc.hg38 + run: + - r-base + - bioconductor-genomeinfodb + - bioconductor-bsgenome + - bioconductor-bsgenome.hsapiens.ucsc.hg19 + - bioconductor-bsgenome.hsapiens.ucsc.hg38 + +test: + commands: + - $R -e "library('mutSigExtractor')" + +about: + home: https://github.com/UMCUGenetics/mutSigExtractor + license: GPL-3.0-only + license_family: GPL3 + summary: Extract mutational signatures from VCF files diff --git a/recipes/r-oncopharmadb/meta.yaml b/recipes/r-oncopharmadb/meta.yaml index 58e8fc471ae38..999f9600bc26a 100644 --- a/recipes/r-oncopharmadb/meta.yaml +++ b/recipes/r-oncopharmadb/meta.yaml @@ -1,5 +1,5 @@ {% set name = "r-oncopharmadb" %} -{% set version = "1.4.6" %} +{% set version = "1.7.0" %} {% set github = "https://github.com/sigven/oncoPharmaDB" %} package: @@ -8,7 +8,7 @@ package: source: url: https://github.com/sigven/pharmOncoX/archive/refs/tags/{{ version }}.tar.gz - sha256: 5c0c708828cc91f032018e5ff2c42a391a9f98bb411038b1fa431ef6992d3095 + sha256: 001e9b133028b00df90fa7081ad315fcb28be671ac7477cf6b689f0e0ca539fb build: number: 0 @@ -24,6 +24,7 @@ requirements: - r-stringr - r-lgr - r-tidyr + - r-ggplot2 - r-googledrive - r-rlang - r-assertthat @@ -35,6 +36,7 @@ requirements: - r-stringr - r-lgr - r-tidyr + - r-ggplot2 - r-googledrive - r-rlang - r-assertthat diff --git a/recipes/r-ontologyplot/meta.yaml b/recipes/r-ontologyplot/meta.yaml index 8b6b1b81d83ed..94c88333bac20 100644 --- a/recipes/r-ontologyplot/meta.yaml +++ b/recipes/r-ontologyplot/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '1.6' %} +{% set version = '1.7' %} package: name: r-ontologyplot @@ -8,14 +8,16 @@ source: url: - {{ cran_mirror }}/src/contrib/ontologyPlot_{{ version }}.tar.gz - {{ cran_mirror }}/src/contrib/Archive/ontologyPlot/ontologyPlot_{{ version }}.tar.gz - sha256: 41a601e2201f32673c6830adc770a877be1ba4003b7352d4c09c8c50a3e8a158 + sha256: d508b861cfd596555f1b7bea681de71c9674fa7b708bb00b7a55744fb2cfd61b build: - number: 4 + number: 0 noarch: generic rpaths: - lib/R/lib/ - lib/ + run_exports: + - {{ pin_subpackage('r-ontologyplot', max_pin="x") }} requirements: host: @@ -35,7 +37,8 @@ test: about: home: https://CRAN.R-project.org/package=ontologyPlot - license: GPL (>= 2) + license: GPL-2.0-or-later summary: Functions for visualising sets of ontological terms using the 'graphviz' layout system. license_family: GPL3 - license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-2' + license_file: + - '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-2' diff --git a/recipes/r-pathfindr/build.sh b/recipes/r-pathfindr/build.sh index dadf215407d10..e19c0e9e0c900 100644 --- a/recipes/r-pathfindr/build.sh +++ b/recipes/r-pathfindr/build.sh @@ -1,6 +1,6 @@ #!/bin/bash +export LC_ALL=en_US.UTF-8 export DISABLE_AUTOBREW=1 ${R} CMD INSTALL --build . ${R_ARGS} - diff --git a/recipes/r-pathfindr/meta.yaml b/recipes/r-pathfindr/meta.yaml index 7b75c815daaee..bb794fe4d84d6 100644 --- a/recipes/r-pathfindr/meta.yaml +++ b/recipes/r-pathfindr/meta.yaml @@ -1,22 +1,20 @@ -{% set version = '2.3.0' %} - -{% set posix = 'm2-' if win else '' %} -{% set native = 'm2w64-' if win else '' %} +{% set name = "r-pathfindr" %} +{% set version = "2.4.1" %} package: - name: r-pathfindr - version: {{ version|replace("-", "_") }} + name: {{ name }} + version: {{ version }} source: url: - {{ cran_mirror }}/src/contrib/pathfindR_{{ version }}.tar.gz - {{ cran_mirror }}/src/contrib/Archive/pathfindR/pathfindR_{{ version }}.tar.gz - sha256: e7fc4f10859890af5ab17cc7870efac64614f234059f5734ddd7af705f67281b + sha256: 031f5dad32ba32bc3084bd63d0c8326c04e82ffb07689546f4e2e33c0db79253 build: - merge_build_host: True # [win] number: 0 noarch: generic + merge_build_host: True # [win] rpaths: - lib/R/lib/ - lib/ @@ -24,11 +22,6 @@ build: - {{ pin_subpackage("r-pathfindr", max_pin="x") }} requirements: - build: - - {{ posix }}zip # [win] - - cross-r-base {{ r_base }} # [build_platform != target_platform] - - openjdk 8.* - host: - r-base - openjdk 8.* @@ -36,6 +29,8 @@ requirements: - r-dbi - bioconductor-keggrest - bioconductor-kegggraph + - bioconductor-ggkegg + - r-httr - r-r.utils - r-doparallel - r-foreach @@ -50,7 +45,6 @@ requirements: - bioconductor-org.hs.eg.db - r-pathfindr.data >=2.0 - r-rmarkdown - run: - r-base - openjdk 8.* @@ -58,6 +52,8 @@ requirements: - r-dbi - bioconductor-keggrest - bioconductor-kegggraph + - bioconductor-ggkegg + - r-httr - r-r.utils - r-doparallel - r-foreach @@ -75,11 +71,10 @@ requirements: test: commands: - - $R -e "library('pathfindR')" # [not win] - - "\"%R%\" -e \"library('pathfindR')\"" # [win] + - $R -e "library('pathfindR')" about: - home: https://egeulgen.github.io/pathfindR/, https://github.com/egeulgen/pathfindR + home: "https://github.com/egeulgen/pathfindR" license: MIT summary: 'Enrichment analysis enables researchers to uncover mechanisms underlying a phenotype. However, conventional methods for enrichment analysis do not take into account protein-protein @@ -99,6 +94,9 @@ about: license_file: - '{{ environ["PREFIX"] }}/lib/R/share/licenses/MIT' - LICENSE + doc_url: "https://egeulgen.github.io/pathfindR/" + dev_url: "https://github.com/egeulgen/pathfindR" + extra: recipe-maintainers: - egeulgen diff --git a/recipes/r-pipette/meta.yaml b/recipes/r-pipette/meta.yaml index da42059692a35..3c673788c57bd 100644 --- a/recipes/r-pipette/meta.yaml +++ b/recipes/r-pipette/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.15.0" %} +{% set version = "0.15.2" %} {% set github = "https://github.com/acidgenomics/r-pipette" %} package: @@ -7,7 +7,7 @@ package: source: url: "{{ github }}/archive/v{{ version }}.tar.gz" - sha256: 9948eb9d6cee54f4b72a6dd6bf2496816a9a0746cd73488c27ee360e9b33eb0b + sha256: 80298775063372e1275191ff800ec00b7feb9cc33fdb9afb453826499e3b54c0 build: number: 1 @@ -27,20 +27,21 @@ requirements: - bioconductor-genomicranges >=1.52.0 - bioconductor-iranges >=2.34.0 - bioconductor-s4vectors >=0.38.0 - - r-acidbase >=0.7.0 + - r-acidbase >=0.7.2 - r-acidcli >=0.3.0 - - r-acidgenerics >=0.6.13 - - r-goalie >=0.7.0 - - r-jsonlite >=1.8.7 - - r-matrix >=1.6.1 - - r-syntactic >=0.7.0 - - r-yaml >=2.3.7 + - r-acidgenerics >=0.7.5 + - r-goalie >=0.7.7 + - r-jsonlite >=1.8.8 + - r-matrix >=1.6.4 + - r-syntactic >=0.7.1 + - r-yaml >=2.3.8 # Suggests: - bioconductor-biocfilecache >=2.8.0 - bioconductor-biostrings >=2.68.0 - bioconductor-maftools >=2.16.0 - bioconductor-rsamtools >=2.16.0 - bioconductor-rtracklayer >=1.60.0 + - r-baseset >=0.9.0 - r-data.table >=1.14.8 - r-digest >=0.6.33 - r-httr2 >=0.2.3 @@ -58,20 +59,21 @@ requirements: - bioconductor-genomicranges >=1.52.0 - bioconductor-iranges >=2.34.0 - bioconductor-s4vectors >=0.38.0 - - r-acidbase >=0.7.0 + - r-acidbase >=0.7.2 - r-acidcli >=0.3.0 - - r-acidgenerics >=0.6.13 - - r-goalie >=0.7.0 - - r-jsonlite >=1.8.7 - - r-matrix >=1.6.1 - - r-syntactic >=0.7.0 - - r-yaml >=2.3.7 + - r-acidgenerics >=0.7.5 + - r-goalie >=0.7.7 + - r-jsonlite >=1.8.8 + - r-matrix >=1.6.4 + - r-syntactic >=0.7.1 + - r-yaml >=2.3.8 # Suggests: - bioconductor-biocfilecache >=2.8.0 - bioconductor-biostrings >=2.68.0 - bioconductor-maftools >=2.16.0 - bioconductor-rsamtools >=2.16.0 - bioconductor-rtracklayer >=1.60.0 + - r-baseset >=0.9.0 - r-data.table >=1.14.8 - r-digest >=0.6.33 - r-httr2 >=0.2.3 diff --git a/recipes/r-presto/meta.yaml b/recipes/r-presto/meta.yaml new file mode 100644 index 0000000000000..5cf1e0652e250 --- /dev/null +++ b/recipes/r-presto/meta.yaml @@ -0,0 +1,54 @@ +{% set version = '1.0.0' %} +package: + name: r-presto + version: {{ version|replace("-", "_") }} +source: + url: https://github.com/immunogenomics/presto/archive/31dc97fed5e2e7fc323ae4af62f72181cc51d9a3.tar.gz + sha256: 720ef58aba219af03344e0ae0408fc48feda50e6b7f7f4af2251eb24ce1bfb88 +build: + script: $R CMD INSTALL --build . + run_exports: + - {{ pin_subpackage("r-presto", max_pin="x.x.x") }} + number: 0 + rpaths: + - lib/R/lib/ + - lib/ +# Suggests: knitr, rmarkdown, testthat, Seurat, SingleCellExperiment, SummarizedExperiment, broom, BiocStyle, DESeq2 +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + host: + - r-base + - r-matrix + - r-rcpp + - r-rcpparmadillo + - r-data.table + - r-dplyr + - r-purrr + - r-rlang + - r-tibble + - r-tidyr + run: + - r-base + - r-matrix + - r-rcpp + - r-rcpparmadillo + - r-data.table + - r-dplyr + - r-purrr + - r-rlang + - r-tibble + - r-tidyr +test: + commands: + - $R -e "library('presto')" +about: + home: https://github.com/immunogenomics/presto + license: GPL-3.0-only + summary: Scalable implementation of the Wilcoxon rank sum test and auROC statistic. Interfaces + to dense and sparse matrices, as well as genomics analysis frameworks Seurat and + SingleCellExperiment. + license_family: GPL3 + license_file: + - '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' diff --git a/recipes/r-pscbs/meta.yaml b/recipes/r-pscbs/meta.yaml index dba0c9851e2ea..6b9486d7121bf 100644 --- a/recipes/r-pscbs/meta.yaml +++ b/recipes/r-pscbs/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '0.66.0' %} +{% set version = '0.67.0' %} package: name: r-pscbs @@ -8,48 +8,51 @@ source: url: - {{ cran_mirror }}/src/contrib/PSCBS_{{ version }}.tar.gz - {{ cran_mirror }}/src/contrib/Archive/PSCBS/PSCBS_{{ version }}.tar.gz - sha256: 58805636e55e0fd3f57bd4a0e296a8bb3d57a7bdd0fdd5868a73ddc83d173a93 + sha256: 2695d18d197a3bd729cca0940248ddc1880e4f54da95b9ecc5eda002a715cdbe build: noarch: generic - number: 2 + number: 0 rpaths: - lib/R/lib/ - lib/ + run_exports: + - {{ pin_subpackage('r-pscbs', max_pin="x") }} requirements: host: - r-base - - bioconductor-dnacopy - - r-r.cache >=0.13.0 - - r-r.methodss3 >=1.7.1 - - r-r.oo >=1.22.0 - - r-r.utils >=2.8.0 - - bioconductor-aroma.light - - r-future >=1.12.0 - - r-listenv >=0.7.0 - - r-matrixstats >=0.54.0 + - bioconductor-dnacopy >=1.42.0 + - r-r.cache >=0.16.0 + - r-r.methodss3 >=1.8.2 + - r-r.oo >=1.25.0 + - r-r.utils >=2.12.0 + - bioconductor-aroma.light >=2.4.0 + - r-future >=1.28.0 + - r-listenv >=0.8.0 + - r-matrixstats >=0.62.0 run: - r-base - - bioconductor-dnacopy - - r-r.cache >=0.13.0 - - r-r.methodss3 >=1.7.1 - - r-r.oo >=1.22.0 - - r-r.utils >=2.8.0 - - bioconductor-aroma.light - - r-future >=1.12.0 - - r-listenv >=0.7.0 - - r-matrixstats >=0.54.0 + - bioconductor-dnacopy >=1.42.0 + - r-r.cache >=0.16.0 + - r-r.methodss3 >=1.8.2 + - r-r.oo >=1.25.0 + - r-r.utils >=2.12.0 + - bioconductor-aroma.light >=2.4.0 + - r-future >=1.28.0 + - r-listenv >=0.8.0 + - r-matrixstats >=0.62.0 test: commands: - - $R -e "library('PSCBS')" # [not win] - - "\"%R%\" -e \"library('PSCBS')\"" # [win] + - $R -e "library('PSCBS')" about: home: https://github.com/HenrikBengtsson/PSCBS - license: GPL (>= 2) + license: GPL-2.0-or-later summary: Segmentation of allele-specific DNA copy number data and detection of regions with abnormal copy number within each parental chromosome. Both tumor-normal paired and tumor-only analyses are supported. license_family: GPL3 + license_file: + - '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-2' diff --git a/recipes/r-quilt/build.sh b/recipes/r-quilt/build.sh index b0bb175fa394d..b40cab9ea78ae 100644 --- a/recipes/r-quilt/build.sh +++ b/recipes/r-quilt/build.sh @@ -1,10 +1,17 @@ #!/bin/bash +set -xe + +mkdir -p $PREFIX/bin + export LC_ALL=C.UTF-8 export LANG=C.UTF-8 -cp $SRC_DIR/QUILT.R $PREFIX/bin/ -cd $SRC_DIR/QUILT - -$R CMD INSTALL --build --install-tests . +cp -rf $SRC_DIR/QUILT.R $PREFIX/bin/ +cp -rf $SRC_DIR/QUILT_prepare_reference.R $PREFIX/bin/ +cp -rf $SRC_DIR/QUILT_HLA_prepare_reference.R $PREFIX/bin/ +cp -rf $SRC_DIR/QUILT2.R $PREFIX/bin/ +cp -rf $SRC_DIR/QUILT2_prepare_reference.R $PREFIX/bin/ +cd $SRC_DIR/QUILT +${R} CMD INSTALL --build --install-tests . ${R_ARGS} diff --git a/recipes/r-quilt/meta.yaml b/recipes/r-quilt/meta.yaml index 75db7688a7028..b18e2ef0e20cd 100644 --- a/recipes/r-quilt/meta.yaml +++ b/recipes/r-quilt/meta.yaml @@ -1,8 +1,9 @@ -{% set version = "1.0.5" %} -{% set sha256 = "88f46a0c0f54260b8df9f150b0cf9bdedba6f9408bb7da36318055f2a9036266" %} +{% set name = "r-quilt" %} +{% set version = "2.0.0" %} +{% set sha256 = "723c52371fd8c495a54165b168db70d8c4ce001cd4dc902e63db0240318e8a6e" %} package: - name: r-quilt + name: '{{ name }}' version: '{{ version }}' source: @@ -10,9 +11,9 @@ source: sha256: '{{ sha256 }}' build: - number: 0 + number: 2 run_exports: - - {{ pin_subpackage('r-quilt', max_pin="1") }} + - {{ pin_subpackage('r-quilt', max_pin="x") }} requirements: build: @@ -20,48 +21,37 @@ requirements: - {{ compiler('cxx') }} host: - r-base - - r-rcpp >=0.12.18 - - r-rcpparmadillo >=0.8.600.0.0 - - r-data.table >=1.11.8 + - r-rcpp <=1.0.12 + - r-rcppeigen - r-rrbgen >=0.0.6 - - r-stitch >=1.6.6 - - xz - - gmp - - mpfr - - mpc >=1.1.0 - - libblas - - zlib + - r-stitch >=1.7.0 + - r-mspbwt >=0.1.0 run: - r-base - - r-rcpp >=0.12.18 - - r-rcpparmadillo >=0.8.600.0.0 - - r-data.table >=1.11.8 + - r-rcpp <=1.0.12 + - r-rcppeigen - r-rrbgen >=0.0.6 - - r-stitch >=1.6.6 - - r-optparse - - xz - - gmp - - mpfr - - mpc >=1.1.0 - - r-testthat >=2.0.0 - - htslib >=1.4 - - samtools >=1.4 - - rsync - - zlib + - r-stitch >=1.7.0 + - r-mspbwt >=0.1.0 + - r-optparse test: commands: - $R -e "library('QUILT'); testthat::test_package('QUILT', stop_on_failure = TRUE, stop_on_warning = TRUE, filter = 'acceptance-one', reporter = 'summary')" - 'QUILT.R --help' + about: home: https://github.com/rwdavies/quilt - license: GPL-3.0-only + license: "GPL-3.0-only" license_family: GPL3 license_file: LICENSE - summary: Read aware low coverage whole genome sequence imputation from a reference panel + summary: "Rapid and accurate genotype imputation from low coverage short read, long read, and cell free DNA sequence." doc_url: https://github.com/rwdavies/quilt dev_url: https://github.com/rwdavies/quilt extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: + - Zilong-Li - rwdavies diff --git a/recipes/r-recetox-aplcms/meta.yaml b/recipes/r-recetox-aplcms/meta.yaml index b28a820e83e71..f47239d4c8f56 100644 --- a/recipes/r-recetox-aplcms/meta.yaml +++ b/recipes/r-recetox-aplcms/meta.yaml @@ -1,64 +1,62 @@ {% set name = "recetox-aplcms" %} -{% set version = "0.12.0" %} -{% set github = "https://github.com/RECETOX" %} +{% set version = "0.13.3" %} +{% set github = "https://github.com/RECETOX/recetox-aplcms" %} package: name: "r-{{ name|lower }}" version: "{{ version }}" source: - url: "{{ github }}/recetox-aplcms/archive/refs/tags/v{{ version }}.tar.gz" - sha256: c76715e50a442b45f46f79120af6f382965f9a8de63bf0f624eb132478b6ed2c + url: "https://github.com/RECETOX/recetox-aplcms/archive/refs/tags/v{{ version }}.tar.gz" + sha256: 3b37e51e959cba7cab6691f66dd2bb8279c4112fc5155576e0efef4ded2ad10b build: - number: 1 + number: 0 noarch: generic rpaths: - lib/R/lib/ - lib/ script_env: - - RGL_USE_NULL=TRUE # avoid warning at test-time - script: R CMD INSTALL --build . - + - RGL_USE_NULL=TRUE # avoid warning at test-time + script: ${R} CMD INSTALL --build . ${R_ARGS} + run_exports: + - {{ pin_subpackage('r-recetox-aplcms', max_pin="x.x") }} + requirements: host: - - r-base =4.2 + - r-base - r-mass - - bioconductor-mzr + - bioconductor-mzr ==2.36.0 - r-splines2 - r-doparallel - r-foreach - r-iterators - r-snow - r-rcpp - - r-arrow >=7.0.0,<10.0.0 + - r-arrow - r-dplyr - r-tidyr - r-stringr - # TODO work around bug in conda mambabuild that takes this from defaults instead of conda-forge - # can be removed once conda mambabuild properly respects strict priorities. - # See https://github.com/mamba-org/boa/issues/115 - - r-stringi >=1.7.12 + - r-stringi - r-tibble + - r-plyr run: - - r-base =4.2 + - r-base - r-mass - - bioconductor-mzr + - bioconductor-mzr ==2.36.0 - r-splines2 - r-doparallel - r-foreach - r-iterators - r-snow - r-rcpp - - r-arrow >=7.0.0,<10.0.0 + - r-arrow - r-dplyr - r-tidyr - r-stringr - # TODO work around bug in conda mambabuild that takes this from defaults instead of conda-forge - # can be removed once conda mambabuild properly respects strict priorities. - # See https://github.com/mamba-org/boa/issues/115 - - r-stringi >=1.7.12 + - r-stringi - r-tibble + - r-plyr test: commands: @@ -66,9 +64,11 @@ test: about: home: "{{ github }}" - license: GPL-2.0 + license: "GPL-2.0-or-later" license_file: LICENSE - summary: apLCMS is a software which generates a feature table from a batch of LC/MS spectra. A modified fork of the original apLCMS by Tianwei Yu. + summary: "apLCMS is a software which generates a feature table from a batch of LC/MS spectra. A modified fork of the original apLCMS by Tianwei Yu." + dev_url: "{{ github }}" + doc_url: "https://mypage.cuhk.edu.cn/academics/yutianwei/apLCMS" extra: recipe-maintainers: diff --git a/recipes/r-redeemr/meta.yaml b/recipes/r-redeemr/meta.yaml new file mode 100644 index 0000000000000..d9ac70e68cddc --- /dev/null +++ b/recipes/r-redeemr/meta.yaml @@ -0,0 +1,94 @@ +{% set name = "r-redeemr" %} +{% set version = '1.0.0' %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/chenweng1991/redeemR/archive/refs/tags/v{{ version }}.tar.gz + sha256: 2837bee4a5a6130de08e31f543b11bfbd19eef30d351868b74c42681f45bb6e9 + +build: + number: 0 + script: ${R} CMD INSTALL --build . ${R_ARGS} + rpaths: + - lib/R/lib/ + - lib/ + run_exports: + - {{ pin_subpackage('r-redeemr', max_pin="x") }} + +requirements: + build: + - {{ compiler('c') }} + host: + - r-base + - r-ape + - r-domc + - r-doparallel + - r-dplyr + - r-foreach + - r-ggextra + - r-ggnewscale + - r-ggplot2 + - bioconductor-ggtree + - bioconductor-ggtreeextra + - r-gridextra + - r-igraph + - r-matrix + - r-phangorn + - r-phytools + - r-pryr + - bioconductor-qvalue + - r-rcolorbrewer + - r-reshape2 + - r-scavenge + - r-seurat + - r-matrixstats + - r-tibble + - bioconductor-treeio + - r-tidytree + run: + - r-base + - r-ape + - r-domc + - r-doparallel + - r-dplyr + - r-foreach + - r-ggextra + - r-ggnewscale + - r-ggplot2 + - bioconductor-ggtree + - bioconductor-ggtreeextra + - r-gridextra + - r-igraph + - r-matrix + - r-phangorn + - r-phytools + - r-pryr + - bioconductor-qvalue + - r-rcolorbrewer + - r-reshape2 + - r-scavenge + - r-seurat + - r-matrixstats + - r-tibble + - bioconductor-treeio + - r-tidytree + +test: + commands: + - $R -e "library('redeemR')" + +about: + home: https://github.com/chenweng1991/redeemR + dev_url: https://github.com/chenweng1991/redeemR + license: MIT + license_file: LICENSE + summary: "R package for Regulatory multi-omics with Deep Mitochondrial mutation profiling." + description: "Introduce a new approach for single-cell Regulatory multi-omics (transcriptomics and + chromatin accessibility) with Deep Mitochondrial mutation profiling (~10-fold increase in detection rate), + or ReDeeM. redeemR is the R package that facilitates mutation refining, lineage tracing, as well + multiomics integration analysis." + license_family: MIT + doc_url: https://chenweng1991.github.io/redeemR diff --git a/recipes/r-restfulr/meta.yaml b/recipes/r-restfulr/meta.yaml index 8ecdcc080f58a..8ff3b6baf8689 100644 --- a/recipes/r-restfulr/meta.yaml +++ b/recipes/r-restfulr/meta.yaml @@ -11,10 +11,12 @@ source: sha256: 40ff8f1fb2987af2223e1a855bb1680c5ce2143fbce7ebc42f1edb291f80e692 build: - number: 3 + number: 4 rpaths: - lib/R/lib/ - lib/ + run_exports: + - {{ pin_subpackage("r-restfulr", max_pin="x.x") }} requirements: build: @@ -38,6 +40,9 @@ test: commands: - $R -e "library('restfulr')" +extra: + additional-platforms: + - linux-aarch64 about: home: https://CRAN.R-project.org/package=restfulr license: Artistic-2.0 diff --git a/recipes/r-rrbgen/meta.yaml b/recipes/r-rrbgen/meta.yaml index ffb219c6dfbaa..ca175e16d940b 100644 --- a/recipes/r-rrbgen/meta.yaml +++ b/recipes/r-rrbgen/meta.yaml @@ -10,8 +10,10 @@ source: sha256: '{{ sha256 }}' build: - number: 10 + number: 11 script: '$R CMD INSTALL --build --install-tests .' + run_exports: + - {{ pin_subpackage('r-rrbgen', max_pin="x.x") }} requirements: build: @@ -42,5 +44,8 @@ about: dev_url: https://github.com/rwdavies/rrbgen extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - rwdavies diff --git a/recipes/r-saige/meta.yaml b/recipes/r-saige/meta.yaml index bfeb27810aad6..ba8176474a80c 100644 --- a/recipes/r-saige/meta.yaml +++ b/recipes/r-saige/meta.yaml @@ -13,7 +13,7 @@ source: - patches/0001-use-shared-libs-in-makevars.patch build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ diff --git a/recipes/r-scavenge/build.sh b/recipes/r-scavenge/build.sh new file mode 100644 index 0000000000000..b8d2635525637 --- /dev/null +++ b/recipes/r-scavenge/build.sh @@ -0,0 +1,3 @@ +#!/bin/bash +export DISABLE_AUTOBREW=1 +${R} CMD INSTALL --build . ${R_ARGS} diff --git a/recipes/r-scavenge/meta.yaml b/recipes/r-scavenge/meta.yaml new file mode 100644 index 0000000000000..ae09624aa011a --- /dev/null +++ b/recipes/r-scavenge/meta.yaml @@ -0,0 +1,57 @@ +{% set version = "1.0.2" %} +{% set github = "https://github.com/sankaranlab/SCAVENGE" %} +{% set commit = "8ee8b173d965009a696b2a590d5b17b28b7cf851" %} + +package: + name: r-scavenge + version: "{{ version }}" + +source: + url: "{{ github }}/archive/{{ commit }}.zip" + sha256: b3b57a259f54582be219b6cea90c54016e05e0b5bae07ce964f308786e9a53b7 + +build: + noarch: generic + number: 0 + rpaths: + - lib/R/lib/ + - lib/ + run_exports: + - {{ pin_subpackage("r-scavenge", max_pin="x.x") }} + +requirements: + host: + - r-base + - r-gchromvar + - r-igraph + - r-irlba + - r-matrix + - r-rann + - bioconductor-summarizedexperiment + run: + - r-base + - r-gchromvar + - r-igraph + - r-irlba + - r-matrix + - r-rann + - bioconductor-summarizedexperiment + +test: + commands: + - $R -e "library(SCAVENGE)" + +about: + home: {{ github }} + dev_url: {{ github }} + license: GPL-2.0-or-later + license_file: + - LICENSE + - {{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-2 + - {{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3 + license_family: GPL + summary: SCAVENGE (Single Cell Analysis of Variant Enrichment through Network propagation of GEnomic data) optimizes the inference of functional and genetic associations to specific cells at single-cell resolution. + +extra: + recipe-maintainers: + - mfansler diff --git a/recipes/r-scdc/meta.yaml b/recipes/r-scdc/meta.yaml index a8831b36a6368..0900193d29762 100644 --- a/recipes/r-scdc/meta.yaml +++ b/recipes/r-scdc/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 1362d6303b0ab8aabce25a907b9053a74d00c3508371ba497ac12880a770dc43 build: - number: 8 + number: 9 rpaths: - lib/R/lib/ - lib/ diff --git a/recipes/r-scevan/build.sh b/recipes/r-scevan/build.sh new file mode 100644 index 0000000000000..c3ea0d7102a89 --- /dev/null +++ b/recipes/r-scevan/build.sh @@ -0,0 +1,4 @@ +#!/bin/bash +R -e "library(devtools)" +R -e "devtools::install_github('miccec/yaGST')" +R CMD INSTALL --build . diff --git a/recipes/r-scevan/meta.yaml b/recipes/r-scevan/meta.yaml new file mode 100644 index 0000000000000..bb1703e201397 --- /dev/null +++ b/recipes/r-scevan/meta.yaml @@ -0,0 +1,64 @@ +package: + name: r-scevan + version: 1.0.1 + +source: + url: https://github.com/AntonioDeFalco/SCEVAN/archive/refs/tags/v1.0.1.tar.gz + sha256: 7558d31282c36418db3960b3edb9cb9815db14b0a48d8882287e11f752dfeab1 + +build: + number: 0 + noarch: generic # Specify that the package is noarch + run_exports: '{{ pin_compatible("r-scevan", max_pin="x.x") }}' + rpaths: + - lib/R/lib + - lib + +requirements: + host: + - r-base + - r-remotes + - r-devtools + - r-rcpp + - r-paralleldist + - r-pheatmap + - r-forcats + - r-dplyr + - bioconductor-fgsea + - r-cluster + - r-ggplot2 + - r-Rtsne + - bioconductor-scran + - r-ape + - bioconductor-ggtree + - r-tidytree + - r-ggrepel + - r-optparse + run: + - r-base + - r-devtools + - r-paralleldist + - r-pheatmap + - r-forcats + - r-dplyr + - bioconductor-fgsea + - r-cluster + - r-ggplot2 + - r-Rtsne + - bioconductor-scran + - r-ape + - bioconductor-ggtree + - r-tidytree + - r-ggrepel + - r-optparse + +test: + commands: + - $R -e "library(SCEVAN)" + +about: + home: https://github.com/AntonioDeFalco/SCEVAN/ + license: GPL-3.0-only + license_family: GPL3 + license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' + summary: Single CEll Variational Aneuploidy aNalysis diff --git a/recipes/r-seqmagick/meta.yaml b/recipes/r-seqmagick/meta.yaml index dd1ab5449d137..72e09c9aa4e16 100644 --- a/recipes/r-seqmagick/meta.yaml +++ b/recipes/r-seqmagick/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '0.1.6' %} +{% set version = '0.1.7' %} package: name: r-seqmagick @@ -8,24 +8,28 @@ source: url: - {{ cran_mirror }}/src/contrib/seqmagick_{{ version }}.tar.gz - {{ cran_mirror }}/src/contrib/Archive/seqmagick/seqmagick_{{ version }}.tar.gz - sha256: 4f872c7b3f39e5b21a5820478102e0b39ecf5d7e2a12dfba263568ab250ab1f5 + sha256: 95cf80c9c0a266e07cf7b124de105818c58f8f843f70ab25e0877a910211b8e5 build: - number: 1 + number: 0 noarch: generic rpaths: - lib/R/lib/ - lib/ + run_exports: + - {{ pin_subpackage('r-seqmagick', max_pin="x.x") }} requirements: host: - r-base - bioconductor-biostrings - r-magrittr + - r-yulab.utils >0.1.1 run: - r-base - bioconductor-biostrings - r-magrittr + - r-yulab.utils >0.1.1 test: commands: diff --git a/recipes/r-seurat-data/meta.yaml b/recipes/r-seurat-data/meta.yaml new file mode 100644 index 0000000000000..da945540fea2a --- /dev/null +++ b/recipes/r-seurat-data/meta.yaml @@ -0,0 +1,42 @@ +{% set version = '0.2.1' %} +package: + name: r-seurat-data + version: {{ version|replace("-", "_") }} +source: + url: https://github.com/satijalab/seurat-data/archive/refs/tags/v{{ version }}.tar.gz + sha256: 134b0dbc113e3533494461646c8362189b2bdf8940050de3561bcd488d905438 +build: + script: $R CMD INSTALL --build . + run_exports: + - {{ pin_subpackage("r-seurat-data", max_pin="x.x.x") }} + number: 0 + rpaths: + - lib/R/lib/ + - lib/ +requirements: + build: + host: + - r-base + - r-cli + - r-crayon + - r-rappdirs + run: + - r-base + - r-cli + - r-crayon + - r-rappdirs +test: + commands: + - $R -e "library('SeuratData')" +about: + home: http://www.satijalab.org/seurat + dev_url: https://github.com/satijalab/seurat-data + license: GPL-3.0-only + summary: Single cell RNA sequencing datasets can be large, consisting of matrices that contain + expression data for several thousand features across several thousand cells. This + package is designed to easily install, manage, and learn about various single-cell + datasets, provided Seurat objects and distributed as independent packages. + license_family: GPL3 + license_file: + - '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' + - LICENSE diff --git a/recipes/r-seurat-disk/meta.yaml b/recipes/r-seurat-disk/meta.yaml new file mode 100644 index 0000000000000..6cda8484ac46d --- /dev/null +++ b/recipes/r-seurat-disk/meta.yaml @@ -0,0 +1,59 @@ +{% set version = '0.0.0.9021' %} +package: + name: r-seurat-disk + version: {{ version|replace("-", "_") }} +source: + url: https://github.com/mojaveazure/seurat-disk/archive/877d4e18ab38c686f5db54f8cd290274ccdbe295.tar.gz + sha256: d2d6b6604e8a1f6de90956d0401d34b51b07b30671a445d0e06876f2dec999ac +build: + script: $R CMD INSTALL --build . + run_exports: + - {{ pin_subpackage("r-seurat-disk", max_pin="x.x.x.x") }} + number: 0 + rpaths: + - lib/R/lib/ + - lib/ +requirements: + build: + host: + - r-base + - r-matrix >=1.2.18 + - r-r6 >=2.4.1 + - r-seurat >=3.2.0 + - r-seuratobject >=4.0.0 + - r-cli >=2.0.1 + - r-crayon >=1.3.4 + - r-hdf5r >=1.3.0 + - r-rlang >=0.4.4 + - r-stringi >=1.4.6 + - r-withr >=2.1.2 + run: + - r-base + - r-matrix >=1.2.18 + - r-r6 >=2.4.1 + - r-seurat >=3.2.0 + - r-seuratobject >=4.0.0 + - r-cli >=2.0.1 + - r-crayon >=1.3.4 + - r-hdf5r >=1.3.0 + - r-rlang >=0.4.4 + - r-stringi >=1.4.6 + - r-withr >=2.1.2 +test: + commands: + - '$R -e "library(''SeuratDisk'')"' +about: + home: https://mojaveazure.github.io/seurat-disk/ + dev_url: https://github.com/mojaveazure/seurat-disk + license: GPL-3.0-only + summary: The h5Seurat file format is specifically designed for the storage and analysis of + multi-modal single-cell and spatially-resolved expression experiments, for example, + from CITE-seq or 10X Visium technologies. It holds all molecular information and + associated metadata, including (for example) nearest-neighbor graphs, dimensional + reduction information, spatial coordinates and image data, and cluster labels. We + also support rapid and on-disk conversion between h5Seurat and AnnData objects, + with the goal of enhancing interoperability between Seurat and Scanpy. + license_family: GPL3 + license_file: + - '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' + - LICENSE diff --git a/recipes/r-shinyngs/meta.yaml b/recipes/r-shinyngs/meta.yaml index 1f77aa4ab7e77..abf9a23891e2b 100644 --- a/recipes/r-shinyngs/meta.yaml +++ b/recipes/r-shinyngs/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '1.8.4' %} +{% set version = '2.0.0' %} {% set d3heatmap_version = '0.6.1.2' %} package: @@ -7,7 +7,7 @@ package: source: - url: https://github.com/pinin4fjords/shinyngs/archive/refs/tags/v{{ version }}.tar.gz - sha256: "b30a615b38b4804d580695130ee28dedc823aca7fc957ab8f073e1454f090c10" + sha256: "ed93c7e98212de219d1af8e668b5554306374dbe3d7f0d5b9f58a67f3ff9b2e1" folder: shinyngs - url: https://github.com/cran/d3heatmap/archive/refs/tags/{{ d3heatmap_version }}.tar.gz sha256: "bda213c4d335b199c38a48cb8e60027c929a8ba8ef6e14dc7de692967777c25a" diff --git a/recipes/r-sigminer/meta.yaml b/recipes/r-sigminer/meta.yaml index ac8f8bd265d54..b892cc923d1bd 100644 --- a/recipes/r-sigminer/meta.yaml +++ b/recipes/r-sigminer/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '2.2.2' %} +{% set version = '2.3.1' %} package: name: r-sigminer @@ -8,13 +8,15 @@ source: url: - {{ cran_mirror }}/src/contrib/sigminer_{{ version }}.tar.gz - {{ cran_mirror }}/src/contrib/Archive/sigminer/sigminer_{{ version }}.tar.gz - sha256: 57c75c7ad5991b10ee95b2b1b51ef952e6d6cfdfa05e4f8115fc3d19eb2e89ac + sha256: b2836c76a52f7c7add8756afb09dc50ab31d736b4640b803bee57b6caec1953b build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ + run_exports: + - {{ pin_subpackage('r-sigminer', max_pin="x") }} requirements: build: @@ -74,3 +76,7 @@ about: license_file: - {{ environ["PREFIX"] }}/lib/R/share/licenses/MIT - LICENSE + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/r-signac/build.sh b/recipes/r-signac/build.sh index fa2264035f2b0..d1df318472b53 100644 --- a/recipes/r-signac/build.sh +++ b/recipes/r-signac/build.sh @@ -6,7 +6,7 @@ if [[ ${target_platform} =~ linux.* ]] || [[ ${target_platform} == win-32 ]] || export DISABLE_AUTOBREW=1 mv DESCRIPTION DESCRIPTION.old grep -va '^Priority: ' DESCRIPTION.old > DESCRIPTION - ${R} CMD INSTALL --build . + ${R} CMD INSTALL --build . ${R_ARGS} else mkdir -p "${PREFIX}"/lib/R/library/Signac mv ./* "${PREFIX}"/lib/R/library/Signac diff --git a/recipes/r-signac/meta.yaml b/recipes/r-signac/meta.yaml index a3a41ca45a8f0..6bc0eb3d6e0cb 100644 --- a/recipes/r-signac/meta.yaml +++ b/recipes/r-signac/meta.yaml @@ -1,14 +1,15 @@ -{% set version = '1.12.0' %} +{% set name = "r-signac" %} +{% set version = '1.14.0' %} package: - name: r-signac + name: {{ name }} version: {{ version|replace("-", "_") }} source: url: - {{ cran_mirror }}/src/contrib/Signac_{{ version }}.tar.gz - {{ cran_mirror }}/src/contrib/Archive/Signac/Signac_{{ version }}.tar.gz - sha256: 0a4f1e53bcb6c3ba1e3a8e0800d6c4e65983560ff1147a643b7109452374c937 + sha256: e0aad9e2c27c148fdd376081c2de1e3db46b1835eac83ef41fe562e08363c59e build: number: 0 @@ -34,7 +35,7 @@ requirements: - r-rcpproll - bioconductor-rsamtools - bioconductor-s4vectors - - r-seuratobject >=4.0.0 + - r-seuratobject >=5.0.2 - r-data.table - r-dplyr >=1.0.0 - r-fastmatch @@ -61,7 +62,7 @@ requirements: - r-rcpproll - bioconductor-rsamtools - bioconductor-s4vectors - - r-seuratobject >=4.0.0 + - r-seuratobject >=5.0.2 - r-data.table - r-dplyr >=1.0.0 - r-fastmatch @@ -83,7 +84,7 @@ test: - $R -e "library('Signac')" about: - home: https://github.com/timoast/signac, https://satijalab.org/signac + home: "https://github.com/timoast/signac" license: MIT summary: 'A framework for the analysis and exploration of single-cell chromatin data. The ''Signac'' package contains functions for quantifying single-cell chromatin data, computing @@ -93,3 +94,5 @@ about: license_file: - {{ environ["PREFIX"] }}/lib/R/share/licenses/MIT - LICENSE + doc_url: "https://satijalab.org/signac" + dev_url: "https://github.com/timoast/signac" diff --git a/recipes/r-sigqc/meta.yaml b/recipes/r-sigqc/meta.yaml index 282817c329e6d..1b32c8487d739 100644 --- a/recipes/r-sigqc/meta.yaml +++ b/recipes/r-sigqc/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '0.1.23' %} +{% set version = '0.1.24' %} package: name: r-sigqc @@ -8,14 +8,16 @@ source: url: - {{ cran_mirror }}/src/contrib/sigQC_{{ version }}.tar.gz - {{ cran_mirror }}/src/contrib/Archive/sigQC/sigQC_{{ version }}.tar.gz - sha256: a883ad4b9d0fe3605d73d575030e45e6a89ad1a895bf78303e041808a889ec3a + sha256: a27a567d2c13aaf110b86f4fd6b15cc8949d5bd28fe0e44b92a65b163544e27c build: noarch: generic - number: 1 + number: 0 rpaths: - lib/R/lib/ - lib/ + run_exports: + - {{ pin_subpackage('r-sigqc', max_pin="x.x") }} requirements: host: diff --git a/recipes/r-spacexr/build.sh b/recipes/r-spacexr/build.sh new file mode 100644 index 0000000000000..e496d517a47ef --- /dev/null +++ b/recipes/r-spacexr/build.sh @@ -0,0 +1,6 @@ +#!/bin/bash +export TAR='/bin/tar' +R -e "library(devtools)" +R -e "options(timeout = 600000000) ### set this to avoid timeout error" +R -e "devtools::install_github('dmcable/spacexr', ref = '0a0861e3d1e16014a20e9b743d0e19d3b42231f3', build_vignettes = FALSE)" +R CMD INSTALL --build . \ No newline at end of file diff --git a/recipes/r-spacexr/meta.yaml b/recipes/r-spacexr/meta.yaml new file mode 100644 index 0000000000000..241ba913d5238 --- /dev/null +++ b/recipes/r-spacexr/meta.yaml @@ -0,0 +1,78 @@ +package: + name: r-spacexr + version: 2.2.1 + +source: + url: https://github.com/dmcable/spacexr/archive/0a0861e3d1e16014a20e9b743d0e19d3b42231f3.zip + sha256: 7d980ecea377a0e2131a87c3ff2b66f512ac69ecc96c2e2b8c1dd4d4f02403f8 + +build: + number: 0 + noarch: generic # Specify that the package is noarch + run_exports: '{{ pin_compatible("r-spacexr", max_pin="x.x") }}' + rpaths: + - lib/R/lib + - lib + +requirements: + host: + - r-base + - r-remotes + - r-devtools + - r-readr + - r-ggplot2 + - r-pals + - r-matrix + - r-doParallel + - r-foreach + - r-quadprog + - r-tibble + - r-dplyr + - r-reshape2 + - r-knitr + - r-rmarkdown + - r-fields + - r-mgcv + - r-compquadform + - r-rfast + - r-locfdr + - r-metafor + - r-data.table + - r-scales + - r-lifecycle + - r-evaluate + run: + - r-base + - r-remotes + - r-readr + - r-ggplot2 + - r-pals + - r-Matrix + - r-doParallel + - r-foreach + - r-quadprog + - r-tibble + - r-dplyr + - r-reshape2 + - r-knitr + - r-rmarkdown + - r-fields + - r-mgcv + - r-compquadform + - r-rfast + - r-locfdr + - r-metafor + - r-data.table + - r-scales + - r-lifecycle + - r-evaluate +test: + commands: + - $R -e "library(spacexr)" + +about: + home: https://github.com/dmcable/spacexr + license: GPL-3.0-only + license_family: GPL3 + license_file: '{{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-3' + summary: Cell type identification and cell type-specific differential expression in spatial transcriptomics \ No newline at end of file diff --git a/recipes/r-spp/meta.yaml b/recipes/r-spp/meta.yaml index eaffa058b66a9..f75be8dc297b9 100644 --- a/recipes/r-spp/meta.yaml +++ b/recipes/r-spp/meta.yaml @@ -11,7 +11,9 @@ source: sha256: 3c890f3c414183167f9643b556621dcdc14ce6a1b54a04d618c74070fdebfd23 build: - number: 9 + number: 10 + run_exports: + - {{ pin_subpackage("r-spp", max_pin="x") }} rpaths: - lib/R/lib/ - lib/ @@ -43,10 +45,13 @@ test: about: home: https://CRAN.R-project.org/package=spp - license: GPL-2 + license: GPL-2.0-only summary: Analysis of ChIP-seq and other functional sequencing data [Kharchenko PV (2008) ]. + license_file: DESCRIPTION license_family: GPL2 extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:spp - doi:10.1038/nbt.1508 diff --git a/recipes/r-stitch/build.sh b/recipes/r-stitch/build.sh new file mode 100644 index 0000000000000..3a36f7dff68f8 --- /dev/null +++ b/recipes/r-stitch/build.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +set -xe + +export LC_ALL=C.UTF-8 +export LANG=C.UTF-8 + +mkdir -p $PREFIX/bin +cp -rf STITCH.R $PREFIX/bin + +cd $SRC_DIR/STITCH +${R} CMD INSTALL --build --install-tests . ${R_ARGS} diff --git a/recipes/r-stitch/conda_build_config.yaml b/recipes/r-stitch/conda_build_config.yaml deleted file mode 100644 index 05918073c06fa..0000000000000 --- a/recipes/r-stitch/conda_build_config.yaml +++ /dev/null @@ -1,4 +0,0 @@ -c_compiler_version: - - 12 -cxx_compiler_version: - - 12 diff --git a/recipes/r-stitch/meta.yaml b/recipes/r-stitch/meta.yaml index 292b74ce3960c..7cea5b5efce68 100644 --- a/recipes/r-stitch/meta.yaml +++ b/recipes/r-stitch/meta.yaml @@ -1,22 +1,18 @@ -{% set version = "1.6.10" %} -{% set sha256_package = "1e432655e299bb5941104c2645ed3a6b3c2c4a44b583c5aaa2b20d2538875f9e" %} -{% set sha256_script = "0c61d79cf519e5c5ae33807725577da3d1599bcc89413c3a6bce3fb7c99090c7" %} +{% set version = "1.7.1" %} +{% set sha256 = "e4ff3eb406dd5bb52d3311cfe59b7b8508b14df874d5a5f6bd970abd02de3428" %} package: name: r-stitch version: '{{ version }}' source: - - url: https://github.com/rwdavies/stitch/releases/download/{{ version }}/STITCH_{{ version }}.tar.gz - sha256: '{{ sha256_package }}' - - url: https://raw.githubusercontent.com/rwdavies/STITCH/{{ version }}/STITCH.R - sha256: '{{ sha256_script }}' + - url: https://github.com/rwdavies/stitch/archive/refs/tags/{{ version }}.tar.gz + sha256: '{{ sha256 }}' build: number: 0 - script: - - 'mkdir -p $PREFIX/bin && cp STITCH.R $PREFIX/bin' - - '$R CMD INSTALL --build --install-tests .' + run_exports: + - {{ pin_subpackage('r-stitch', max_pin="x") }} requirements: build: @@ -26,9 +22,10 @@ requirements: - automake - pkg-config - make + - libcxx >=16 # [osx] host: - r-base - - r-rcpp >=0.12.18 + - r-rcpp <=1.0.12 - r-rcpparmadillo >=0.8.600.0.0 - r-data.table >=1.11.8 - r-rrbgen >=0.0.6 @@ -38,6 +35,7 @@ requirements: - mpc >=1.1.0 - libblas - zlib + - libcxx >=16 # [osx] run: - r-base - r-rcpp >=0.12.18 @@ -45,15 +43,10 @@ requirements: - r-data.table >=1.11.8 - r-rrbgen >=0.0.6 - r-optparse - - xz - - gmp - - mpfr - - mpc >=1.1.0 - r-testthat >=2.0.0 - htslib >=1.4 - samtools >=1.4 - rsync - - zlib test: commands: @@ -62,13 +55,16 @@ test: about: home: https://github.com/rwdavies/stitch - license: GPL3 + license: GPL-3.0-only license_family: GPL3 license_file: LICENSE - summary: STITCH - Sequencing To Imputation Through Constructing Haplotypes + summary: "STITCH - Sequencing To Imputation Through Constructing Haplotypes." doc_url: https://github.com/rwdavies/stitch dev_url: https://github.com/rwdavies/stitch extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: + - Zilong-Li - rwdavies diff --git a/recipes/r-tinyarray/meta.yaml b/recipes/r-tinyarray/meta.yaml index 1a61d8ba0282c..3743a1d3ad480 100644 --- a/recipes/r-tinyarray/meta.yaml +++ b/recipes/r-tinyarray/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '2.3.1' %} +{% set version = '2.4.2' %} package: name: r-tinyarray @@ -8,7 +8,7 @@ source: url: - {{ cran_mirror }}/src/contrib/tinyarray_{{ version }}.tar.gz - {{ cran_mirror }}/src/contrib/Archive/tinyarray/tinyarray_{{ version }}.tar.gz - sha256: 68ea15eb8d726368919faa54c89e2d18806b94e73e21fdee365c350b7ee79eb3 + sha256: 4cd2da08a9f96843ff703cb3280e3af4514bf510c31fde06f71299e551611fa1 build: number: 1 @@ -16,6 +16,8 @@ build: rpaths: - lib/R/lib/ - lib/ + run_exports: + - {{ pin_subpackage('r-tinyarray', max_pin="x") }} requirements: host: @@ -24,6 +26,7 @@ requirements: - bioconductor-clusterprofiler - r-dplyr - r-ggplot2 + - r-hmisc - bioconductor-limma - r-patchwork - r-pheatmap @@ -37,6 +40,7 @@ requirements: - bioconductor-clusterprofiler - r-dplyr - r-ggplot2 + - r-hmisc - bioconductor-limma - r-patchwork - r-pheatmap diff --git a/recipes/r-velocyto.r/build_failure.osx-64.yaml b/recipes/r-velocyto.r/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..2052e04cf3188 --- /dev/null +++ b/recipes/r-velocyto.r/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 684e911525b5157a20979381a54332c71c824890bd5ad8633058f6d09ff19e31 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + In file included from /opt/mambaforge/envs/bioconda/conda-bld/r-velocyto.r_1717694390164/_build_env/bin/../include/c/v1/locale:202: + /opt/mambaforge/envs/bioconda/conda-bld/r-velocyto.r_1717694390164/_build_env/bin/../include/c/v1/__locale:1309:15: error: expected ';' at end of declaration list + int length(state_type& __st, const extern_type* __frm, const extern_type* __end, size_t __mx) const + ^ + 12 errors generated. + make: *** [/opt/mambaforge/envs/bioconda/conda-bld/r-velocyto.r_1717694390164/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/R/etc/Makeconf:200: points_within.o] Error 1 + ERROR: compilation failed for package velocyto.R + * removing /opt/mambaforge/envs/bioconda/conda-bld/r-velocyto.r_1717694390164/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/R/library/velocyto.R + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/r-velocyto.r_1717694390164/work + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/r-velocyto.r_1717694390164/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/r-velocyto.r_1717694390164/_build_env + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/r-velocyto.r_1717694390164/work + INFO: activate-gfortran_osx-64.sh made the following environmental changes: + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + DEBUG_FFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/r-velocyto.r-0.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fimplicit-none -fvar-tracking-assignments + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/r-velocyto.r_1717694390164/work/conda_build.sh']' returned non-zero exit status 1. + DEBUG_FORTRANFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/r-velocyto.r-0.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fimplicit-none -fvar-tracking-assignments + F77=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + F90=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + F95=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + FC=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + FC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + FFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/r-velocyto.r-0.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + FORTRANFLAGS=-march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/r-velocyto.r-0.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + GFORTRAN=$PREFIX/bin/x86_64-apple-darwin13.4.0-gfortran + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/r-velocyto.r-0.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/r-velocyto.r-0.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/r-velocyto.r-0.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/r-velocyto.r-0.6 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + INFO: activate_clang_osx-64.sh made the following environmental changes: + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + -CC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + -CMAKE_ARGS=-DCMAKE_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + -OBJC_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + -CXX_FOR_BUILD=$PREFIX/bin/x86_64-apple-darwin13.4.0-clang + x86_64-apple-darwin13.4.0-clang -std=gnu11 -I"$PREFIX/lib/R/include" -DNDEBUG -I'$PREFIX/lib/R/library/Rcpp/include' -I'$PREFIX/lib/R/library/RcppArmadillo/include' -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I$PREFIX/include -fopenmp -fPIC -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=/Users/runner/miniforge3/conda-bld/r-base-split_1714471796105/work=/usr/local/src/conda/r-base-4.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c RcppExports.cpp -o RcppExports.o + x86_64-apple-darwin13.4.0-clang -std=gnu11 -I"$PREFIX/lib/R/include" -DNDEBUG -I'$PREFIX/lib/R/library/Rcpp/include' -I'$PREFIX/lib/R/library/RcppArmadillo/include' -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I$PREFIX/include -fopenmp -fPIC -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=/Users/runner/miniforge3/conda-bld/r-base-split_1714471796105/work=/usr/local/src/conda/r-base-4.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -c points_within.cpp -o points_within.o +# Last 100 lines of the build log. diff --git a/recipes/r-velocyto.r/meta.yaml b/recipes/r-velocyto.r/meta.yaml index f911f772a1030..cb8389f9e51b0 100644 --- a/recipes/r-velocyto.r/meta.yaml +++ b/recipes/r-velocyto.r/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 7 + number: 8 script: R CMD INSTALL --build . rpaths: - lib/R/lib/ diff --git a/recipes/r-wgcna/meta.yaml b/recipes/r-wgcna/meta.yaml index e42fdd1ff5b44..36f76edf48f76 100644 --- a/recipes/r-wgcna/meta.yaml +++ b/recipes/r-wgcna/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '1.71' %} +{% set version = '1.73' %} package: name: r-wgcna @@ -8,10 +8,12 @@ source: url: - {{ cran_mirror }}/src/contrib/WGCNA_{{ version }}.tar.gz - {{ cran_mirror }}/src/contrib/Archive/WGCNA/WGCNA_{{ version }}.tar.gz - sha256: 21f5349e888ea76241912600ee5c35a0d2fd50180568b9b08b2b597f099bf708 + sha256: e8a0a367a93190dd9f738578a82d31856e004b9de46d2775e4ed0f44a95063ce build: - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage("r-wgcna", max_pin="x") }} rpaths: - lib/R/lib/ - lib/ @@ -59,7 +61,7 @@ test: about: home: http://horvath.genetics.ucla.edu/html/CoexpressionNetwork/Rpackages/WGCNA/ - license: GPL (>= 2) + license: GPL-3.0-or-later summary: Functions necessary to perform Weighted Correlation Network Analysis on high-dimensional data as originally described in Horvath and Zhang (2005) and Langfelder and Horvath (2008) . Includes functions @@ -68,6 +70,8 @@ about: a number of utility functions for data manipulation and visualization. license_family: GPL3 extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:wgcna - doi:10.1186/1471-2105-9-559 diff --git a/recipes/r-workflowscriptscommon/build.sh b/recipes/r-workflowscriptscommon/build.sh deleted file mode 100644 index 5bf492ab9fc06..0000000000000 --- a/recipes/r-workflowscriptscommon/build.sh +++ /dev/null @@ -1 +0,0 @@ -$R CMD INSTALL --build . diff --git a/recipes/r-workflowscriptscommon/meta.yaml b/recipes/r-workflowscriptscommon/meta.yaml index ba57f6c6510d5..9ef3a8f478dcf 100644 --- a/recipes/r-workflowscriptscommon/meta.yaml +++ b/recipes/r-workflowscriptscommon/meta.yaml @@ -1,19 +1,23 @@ -{% set version = '0.0.8' %} +{% set name = "r-workflowscriptscommon" %} +{% set version = "0.0.8" %} package: - name: r-workflowscriptscommon + name: {{ name }} version: {{ version }} source: - url: https://github.com/ebi-gene-expression-group/workflowscriptscommon/archive/v{{ version }}.tar.gz - sha256: 6a5685d2c754f7d639a11e0dfcc203ce3bab16c0ba0886a3a5b993811964e7a3 + url: https://github.com/ebi-gene-expression-group/workflowscriptscommon/archive/v{{ version }}.tar.gz + sha256: 6a5685d2c754f7d639a11e0dfcc203ce3bab16c0ba0886a3a5b993811964e7a3 build: - number: 4 + number: 5 noarch: generic + script: ${R} CMD INSTALL --build . ${R_ARGS} rpaths: - lib/R/lib/ - lib/ + run_exports: + - {{ pin_subpackage("r-workflowscriptscommon", max_pin="x.x") }} requirements: host: @@ -27,11 +31,11 @@ test: - $R -e "library('workflowscriptscommon')" about: - home: https://github.com/ebi-gene-expression-group/workflowscriptscommon - dev_url: https://github.com/ebi-gene-expression-group/workflowscriptscommon - license: GPL-3 + home: "https://github.com/ebi-gene-expression-group/workflowscriptscommon" + dev_url: "https://github.com/ebi-gene-expression-group/workflowscriptscommon" + license: "GPL-3.0-or-later" summary: Common functions for making R function wapper scripts. Functions in R packages are hard to call when building workflows outside of R, so this package is used by other packages (e.g. r-seurat-scripts) to add sets of simple wrappers with robust argument parsing. - license_family: GPL + license_family: GPL3 diff --git a/recipes/rabbitqcplus/build.sh b/recipes/rabbitqcplus/build.sh new file mode 100644 index 0000000000000..008b8deee4fb0 --- /dev/null +++ b/recipes/rabbitqcplus/build.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +export CC=${CC:-gcc} +export CXX=${CXX:-g++} + +export LIBRARY_DIRS="$LIBRARY_DIRS $PREFIX/lib" + +make BIOCONDA=1 +make install + diff --git a/recipes/rabbitqcplus/meta.yaml b/recipes/rabbitqcplus/meta.yaml new file mode 100644 index 0000000000000..d85b61e5b355c --- /dev/null +++ b/recipes/rabbitqcplus/meta.yaml @@ -0,0 +1,35 @@ +{% set version = "2.2.9" %} + +package: + name: rabbitqcplus + version: {{ version }} + +source: + url: https://github.com/RabbitBio/RabbitQCPlus/archive/refs/tags/{{ version }}.tar.gz + sha256: 076cb1e11046d5a41464f74d7df363e2ea337e2cf3ad8e8b0712c5c7df746466 + +build: + number: 1 + skip: True # [osx] + run_exports: + - {{ pin_subpackage("rabbitqcplus", max_pin="x.x") }} + +requirements: + build: + - {{ compiler('cxx') }} + - {{ compiler('c') }} + - make + host: + - zlib + run: + - zlib + +test: + commands: + - rabbitqcplus --help + +about: + home: https://github.com/RabbitBio/RabbitQCPlus + license: MIT + license_file: LICENSE + summary: RabbitQCPlus is an efficient quality control tool for sequencing data diff --git a/recipes/rabbittclust/build.sh b/recipes/rabbittclust/build.sh new file mode 100644 index 0000000000000..53df4213b3f69 --- /dev/null +++ b/recipes/rabbittclust/build.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +export CC=${CC:-gcc} +export CXX=${CXX:-g++} + +#./install.sh +cd RabbitSketch && +mkdir -p build && cd build && +cmake -DCXXAPI=ON -DCMAKE_INSTALL_PREFIX=. .. && +make -j ${CPU_COUNT} && make install && +cd ../../ && + +#make rabbitFX library +cd RabbitFX && +mkdir -p build && cd build && +cmake -DCMAKE_INSTALL_PREFIX=. .. && +make -j ${CPU_COUNT} && make install && +cd ../../ && + +#compile the clust-greedy +mkdir -p build && cd build && +cmake -DUSE_RABBITFX=ON -DUSE_GREEDY=ON .. && +make -j ${CPU_COUNT} && make install && +cd ../ && + +#compile the clust-mst +cd build && +cmake -DUSE_RABBITFX=ON -DUSE_GREEDY=OFF .. && +make -j ${CPU_COUNT} && make install && +cd ../ + +mkdir -p $PREFIX/bin +cp clust-mst $PREFIX/bin/ +cp clust-greedy $PREFIX/bin/ + +#export LIBRARY_DIRS="$LIBRARY_DIRS $PREFIX/lib" + +#make BIOCONDA=1 +#make install + diff --git a/recipes/rabbittclust/meta.yaml b/recipes/rabbittclust/meta.yaml new file mode 100644 index 0000000000000..10eb7fb0f5e1a --- /dev/null +++ b/recipes/rabbittclust/meta.yaml @@ -0,0 +1,41 @@ +{% set version = "2.3.0" %} + +package: + name: rabbittclust + version: {{ version }} + +source: + url: https://github.com/RabbitBio/RabbitTClust/releases/download/v.2.3.0/RabbitTClust_avx2_v.2.3.0.tar.gz + sha256: f427b55c46fc4121dec33c2069a0515729bbfd08c8b787e3ef8a0ea2ced9ed4b + + +build: + number: 0 + skip: True # [osx] + run_exports: + - {{ pin_subpackage('rabbittclust', max_pin='x.x') }} + # script: build.sh + # run_exports: + # - {{ pin_subpackage("clust-mst", max_pin="x.x") }} + # - {{ pin_subpackage("clust-greedy", max_pin="x.x") }} + +requirements: + build: + - {{ compiler('cxx') }} + - {{ compiler('c') }} + - cmake + - make + host: + - zlib + run: + +test: + commands: + - clust-mst --help + - clust-greedy --help + +about: + home: https://github.com/RabbitBio/RabbitTClust + license: https://github.com/RabbitBio/RabbitTClust/blob/main/LICENSE.txt + license_file: LICENSE.txt + summary: RabbitTClust enables fast clustering analysis of millions bacteria genomes with MinHash sketches diff --git a/recipes/racon/build.sh b/recipes/racon/build.sh index 468703346513e..5bca68065ae90 100644 --- a/recipes/racon/build.sh +++ b/recipes/racon/build.sh @@ -1,9 +1,20 @@ #!/bin/bash +case $(uname -m) in + x86_64) + SPOA_OPTS="-Dspoa_optimize_for_portability=ON" + ;; + aarch64) + SPOA_OPTS="-Dspoa_use_simde=ON -Dspoa_use_simde_nonvec=ON -Dspoa_use_simde_openmp=ON -DBUILD_TESTING=OFF" + ;; + *) + ;; +esac + mkdir -p $PREFIX/bin mkdir build cd build -cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${PREFIX} -Dracon_build_wrapper=ON -Dspoa_optimize_for_portability=ON .. +cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${PREFIX} -Dracon_build_wrapper=ON ${SPOA_OPTS} .. make chmod +w bin/racon_wrapper make install diff --git a/recipes/racon/meta.yaml b/recipes/racon/meta.yaml index 3a6b3fb266c94..c3070387cb5d0 100644 --- a/recipes/racon/meta.yaml +++ b/recipes/racon/meta.yaml @@ -6,7 +6,9 @@ package: version: {{ version }} build: - number: 2 + number: 4 + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} source: url: https://github.com/lbcb-sci/racon/archive/refs/tags/{{ version }}.tar.gz @@ -37,3 +39,7 @@ about: license: MIT license_file: LICENSE summary: Ultrafast consensus module for raw de novo genome assembly of long uncorrected reads. + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/radiant/build.sh b/recipes/radiant/build.sh new file mode 100644 index 0000000000000..9223f1a6f8a8a --- /dev/null +++ b/recipes/radiant/build.sh @@ -0,0 +1,6 @@ + +export CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" +cmake -DCMAKE_INSTALL_PREFIX=$PREFIX -S . -B build +cmake --build build +cmake --install build + diff --git a/recipes/radiant/meta.yaml b/recipes/radiant/meta.yaml new file mode 100644 index 0000000000000..d79fe4d62761d --- /dev/null +++ b/recipes/radiant/meta.yaml @@ -0,0 +1,44 @@ +{% set name = "radiant" %} +{% set version = "1.1.5" %} +{% set sha256 = "e3c37d15cdaf227f88ebd23e7ed55eee6d12c549a3521212f5e0d2655aa4dcad" %} + + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://zivgitlab.uni-muenster.de/domain-world/RADIANT/-/archive/{{ version }}/RADIANT-{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage('radiant', max_pin="x") }} + +requirements: + build: + - cmake >=3.15 + - make + - {{ compiler('cxx') }} + host: + - sqlite + - bzip2 + - zlib + - openmp + - boost-cpp >=1.77 + run: + - sqlite + - openmp + - boost-cpp >=1.77 +test: + commands: + - radiant -h + +about: + home: https://domainworld.uni-muenster.de/data/radiant-db/index.html + license: GPL-3.0-or-later + license_file: LICENSE + summary: Annotate proteomes with protein domains + description: | + This program rapidly annotates protein sequences with Pfam domains diff --git a/recipes/radtk/build.sh b/recipes/radtk/build.sh new file mode 100644 index 0000000000000..ec42da7d92de0 --- /dev/null +++ b/recipes/radtk/build.sh @@ -0,0 +1,2 @@ +# build statically linked binary with Rust +RUST_BACKTRACE=1 cargo install --locked --verbose --root $PREFIX --path . diff --git a/recipes/radtk/meta.yaml b/recipes/radtk/meta.yaml new file mode 100644 index 0000000000000..b3355c9314349 --- /dev/null +++ b/recipes/radtk/meta.yaml @@ -0,0 +1,39 @@ +{% set version = "0.2.0" %} + +package: + name: radtk + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage("radtk", max_pin="x.x") }} + +source: + url: https://github.com/COMBINE-lab/radtk/archive/v{{ version }}.tar.gz + sha256: 116c9b05576de3e9708d2d7817d7b4f4858f9edf44d2a9bb0548159f0ccff6fb + +requirements: + build: + - autoconf + - make + - {{ compiler('cxx') }} + - {{ compiler('rust') }} + - pkg-config + host: + run: + +test: + commands: + - radtk --help || test $? -eq 1 + +about: + home: https://github.com/COMBINE-lab/radtk + license: BSD-3-Clause + license_file: LICENSE + summary: A collection of tools for working with RAD files. + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/ragout/build_failure.osx-64.yaml b/recipes/ragout/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..d2b6bb9508ca5 --- /dev/null +++ b/recipes/ragout/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 29d0da4ec534ab1bb22cd54ae0e9717543925684dc6389a310402b3186f24bf3 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ragout-2.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ragout-2.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + running build + running build_py + creating build + creating build/lib + creating build/lib/ragout + copying ragout/__init__.py -> build/lib/ragout + copying ragout/__version__.py -> build/lib/ragout + copying ragout/six.py -> build/lib/ragout + copying ragout/main.py -> build/lib/ragout + creating build/lib/ragout/assembly_graph + copying ragout/assembly_graph/__init__.py -> build/lib/ragout/assembly_graph + copying ragout/assembly_graph/assembly_refine.py -> build/lib/ragout/assembly_graph + creating build/lib/ragout/breakpoint_graph + copying ragout/breakpoint_graph/repeat_resolver.py -> build/lib/ragout/breakpoint_graph + copying ragout/breakpoint_graph/chimera_detector.py -> build/lib/ragout/breakpoint_graph + copying ragout/breakpoint_graph/breakpoint_graph.py -> build/lib/ragout/breakpoint_graph + copying ragout/breakpoint_graph/__init__.py -> build/lib/ragout/breakpoint_graph + copying ragout/breakpoint_graph/permutation.py -> build/lib/ragout/breakpoint_graph + copying ragout/breakpoint_graph/inferer.py -> build/lib/ragout/breakpoint_graph + creating build/lib/ragout/maf2synteny + copying ragout/maf2synteny/maf2synteny.py -> build/lib/ragout/maf2synteny + copying ragout/maf2synteny/__init__.py -> build/lib/ragout/maf2synteny + creating build/lib/ragout/overlap + copying ragout/overlap/__init__.py -> build/lib/ragout/overlap + copying ragout/overlap/overlap.py -> build/lib/ragout/overlap + creating build/lib/ragout/parsers + copying ragout/parsers/recipe_parser.py -> build/lib/ragout/parsers + copying ragout/parsers/phylogeny_parser.py -> build/lib/ragout/parsers + copying ragout/parsers/fasta_parser.py -> build/lib/ragout/parsers + copying ragout/parsers/__init__.py -> build/lib/ragout/parsers + creating build/lib/ragout/phylogeny + copying ragout/phylogeny/__init__.py -> build/lib/ragout/phylogeny + copying ragout/phylogeny/phylogeny.py -> build/lib/ragout/phylogeny + copying ragout/phylogeny/inferer.py -> build/lib/ragout/phylogeny + creating build/lib/ragout/scaffolder + copying ragout/scaffolder/__init__.py -> build/lib/ragout/scaffolder + copying ragout/scaffolder/scaffolder.py -> build/lib/ragout/scaffolder + copying ragout/scaffolder/output_generator.py -> build/lib/ragout/scaffolder + copying ragout/scaffolder/merge_iters.py -> build/lib/ragout/scaffolder + creating build/lib/ragout/shared + copying ragout/shared/config.py -> build/lib/ragout/shared + copying ragout/shared/__init__.py -> build/lib/ragout/shared + copying ragout/shared/datatypes.py -> build/lib/ragout/shared + copying ragout/shared/utils.py -> build/lib/ragout/shared + copying ragout/shared/debug.py -> build/lib/ragout/shared + creating build/lib/ragout/synteny_backend + copying ragout/synteny_backend/hal.py -> build/lib/ragout/synteny_backend + copying ragout/synteny_backend/sibelia.py -> build/lib/ragout/synteny_backend + copying ragout/synteny_backend/__init__.py -> build/lib/ragout/synteny_backend + copying ragout/synteny_backend/synteny_backend.py -> build/lib/ragout/synteny_backend + copying ragout/synteny_backend/cactus.py -> build/lib/ragout/synteny_backend + copying ragout/synteny_backend/maf.py -> build/lib/ragout/synteny_backend + creating build/lib/ragout/newick + copying ragout/newick/tree.py -> build/lib/ragout/newick + copying ragout/newick/__init__.py -> build/lib/ragout/newick + copying ragout/newick/tokens.py -> build/lib/ragout/newick + copying ragout/newick/parser.py -> build/lib/ragout/newick + copying ragout/newick/lexer.py -> build/lib/ragout/newick + creating build/lib/ragout/tests + copying ragout/tests/__init__.py -> build/lib/ragout/tests + copying ragout/tests/test_toy.py -> build/lib/ragout/tests + creating build/lib/ragout/tests/data + copying ragout/tests/data/mg1655.coords -> build/lib/ragout/tests/data + copying ragout/tests/data/ecoli.rcp -> build/lib/ragout/tests/data + copying ragout/tests/data/DH1.fasta -> build/lib/ragout/tests/data + copying ragout/tests/data/mg1655_contigs.fasta -> build/lib/ragout/tests/data + make -C ragout/overlap/cpp_impl all + make[1]: Entering directory '$SRC_DIR/ragout/overlap/cpp_impl' + x86_64-apple-darwin13.4.0-clang -c -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ragout-2.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c0x -stdlib=libc -Wall -O2 -DNDEBUG build_graph.cpp -o build_graph.o + x86_64-apple-darwin13.4.0-clang -c -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ragout-2.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -std=c0x -stdlib=libc -Wall -O2 -DNDEBUG fasta.cpp -o fasta.o + make[1]: Leaving directory '$SRC_DIR/ragout/overlap/cpp_impl' +# Last 100 lines of the build log. diff --git a/recipes/ragout/meta.yaml b/recipes/ragout/meta.yaml index f4f6894ba46bb..085d814b11fb0 100644 --- a/recipes/ragout/meta.yaml +++ b/recipes/ragout/meta.yaml @@ -10,7 +10,7 @@ source: build: skip: True # [py > 38] - number: 6 + number: 7 requirements: build: diff --git a/recipes/raiss/meta.yaml b/recipes/raiss/meta.yaml index 07f2b3b1215de..6ba190e766b4d 100644 --- a/recipes/raiss/meta.yaml +++ b/recipes/raiss/meta.yaml @@ -1,5 +1,6 @@ {% set name = "raiss" %} -{% set version = "4.0" %} + +{% set version = "4.0.1" %} package: name: {{ name }} @@ -7,7 +8,8 @@ package: source: url: https://gitlab.pasteur.fr/statistical-genetics/{{ name }}/-/archive/{{ version }}/{{ name }}-{{ version }}.tar.gz - sha256: 771a4ec126967daa367daa599178909cd182ed5d564c169b64e0491f1bb19714 + sha256: eb5cc6b67b395fbf5c2678a253dd7fd2c30c5f62a7358253778b1c6c1161a89f + build: noarch: python @@ -29,7 +31,7 @@ requirements: - pandas - python-dateutil - pytz - - scipy + - scipy >=1.7.0 - six - tzdata diff --git a/recipes/rapidnj/build.sh b/recipes/rapidnj/build.sh index 9ff3b44dfe4df..8381fefdb8c22 100755 --- a/recipes/rapidnj/build.sh +++ b/recipes/rapidnj/build.sh @@ -1,5 +1,7 @@ #!/bin/sh -make CC="${CXX}" LINK="${CXX}" SWITCHES="${CPPFLAGS} ${CXXFLAGS} -std=c++14 ${LDFLAGS}" +set -xe + +make -j ${CPU_COUNT} CC="${CXX}" LINK="${CXX}" SWITCHES="${CPPFLAGS} ${CXXFLAGS} -std=c++14 ${LDFLAGS}" install -d "${PREFIX}/bin" install bin/rapidnj "${PREFIX}/bin/" diff --git a/recipes/rapidnj/meta.yaml b/recipes/rapidnj/meta.yaml index 150a9f9f9673a..885e496afe478 100644 --- a/recipes/rapidnj/meta.yaml +++ b/recipes/rapidnj/meta.yaml @@ -7,9 +7,13 @@ package: source: url: https://github.com/johnlees/rapidnj/archive/v{{ version }}.tar.gz sha256: 7b81dc84cb1d4ac6e24d15e18ae50460b496bc3476a0bc0935553dff085480dd + patches: + - rapidnj-aarch64.patch # [aarch64 or arm64] build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage('rapidnj', max_pin="x") }} requirements: build: @@ -23,14 +27,18 @@ test: about: home: http://birc.au.dk/software/rapidnj/ - license: GPL-2 + license: GPL-2-only license_family: GPL license_file: LICENSE summary: RapidNJ is an algorithmic engineered implementation of canonical neighbour-joining. It uses an efficient search heuristic to speed-up the core computations of the neighbour-joining method that enables RapidNJ to outperform other state-of-the-art neighbour-joining implementations. + dev_url: https://github.com/johnlees/rapidnj extra: - identifiers: - - doi:10.1007/978-3-540-87361-7_10 + additional-platforms: + - linux-aarch64 + - osx-arm64 + identifiers: + - doi:10.1007/978-3-540-87361-7_10 diff --git a/recipes/rapidnj/rapidnj-aarch64.patch b/recipes/rapidnj/rapidnj-aarch64.patch new file mode 100644 index 0000000000000..9f33d3de82e07 --- /dev/null +++ b/recipes/rapidnj/rapidnj-aarch64.patch @@ -0,0 +1,9485 @@ +diff --git c/Makefile i/Makefile +index d8087e2..fc63986 100644 +--- c/Makefile ++++ i/Makefile +@@ -14,7 +14,7 @@ INCLUDES= -Isrc/distanceCalculation -Isrc/ -Ilib/includes + else + CC = g++ + LINK = g++ +-OPTIMIZATION_LEVEL=-O3 -msse2 ++OPTIMIZATION_LEVEL=-O3 + DEBUG= -Wall #-g #-pg + OBJECTFLAG =-o + COMPILEFLAG =-c +diff --git c/src/distanceCalculation/bitDistanceProtein.cpp i/src/distanceCalculation/bitDistanceProtein.cpp +index 8a53811..d21fa7f 100755 +--- c/src/distanceCalculation/bitDistanceProtein.cpp ++++ i/src/distanceCalculation/bitDistanceProtein.cpp +@@ -1,5 +1,10 @@ + #include "bitDistanceProtein.hpp" ++ ++#ifdef __ARM_NEON ++#include "sse2neon.h" ++#else + #include ++#endif + + v4ui bitDistanceProtein::mask1of8 = _mm_set_epi32(0x01010101,0x01010101,0x01010101,0x01010101); + v4ui bitDistanceProtein::mask8 = _mm_set_epi32(0x00ff00ff,0x00ff00ff,0x00ff00ff,0x00ff00ff); +diff --git c/src/sse2neon.h i/src/sse2neon.h +new file mode 100644 +index 0000000..50f5646 +--- /dev/null ++++ i/src/sse2neon.h +@@ -0,0 +1,9429 @@ ++#ifndef SSE2NEON_H ++#define SSE2NEON_H ++ ++/* ++ * sse2neon is freely redistributable under the MIT License. ++ * ++ * Copyright (c) 2015-2024 SSE2NEON Contributors. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to deal ++ * in the Software without restriction, including without limitation the rights ++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++ * copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ * SOFTWARE. ++ */ ++ ++// This header file provides a simple API translation layer ++// between SSE intrinsics to their corresponding Arm/Aarch64 NEON versions ++// ++// Contributors to this work are: ++// John W. Ratcliff ++// Brandon Rowlett ++// Ken Fast ++// Eric van Beurden ++// Alexander Potylitsin ++// Hasindu Gamaarachchi ++// Jim Huang ++// Mark Cheng ++// Malcolm James MacLeod ++// Devin Hussey (easyaspi314) ++// Sebastian Pop ++// Developer Ecosystem Engineering ++// Danila Kutenin ++// François Turban (JishinMaster) ++// Pei-Hsuan Hung ++// Yang-Hao Yuan ++// Syoyo Fujita ++// Brecht Van Lommel ++// Jonathan Hue ++// Cuda Chen ++// Aymen Qader ++// Anthony Roberts ++ ++/* Tunable configurations */ ++ ++/* Enable precise implementation of math operations ++ * This would slow down the computation a bit, but gives consistent result with ++ * x86 SSE. (e.g. would solve a hole or NaN pixel in the rendering result) ++ */ ++/* _mm_min|max_ps|ss|pd|sd */ ++#ifndef SSE2NEON_PRECISE_MINMAX ++#define SSE2NEON_PRECISE_MINMAX (0) ++#endif ++/* _mm_rcp_ps */ ++#ifndef SSE2NEON_PRECISE_DIV ++#define SSE2NEON_PRECISE_DIV (0) ++#endif ++/* _mm_sqrt_ps and _mm_rsqrt_ps */ ++#ifndef SSE2NEON_PRECISE_SQRT ++#define SSE2NEON_PRECISE_SQRT (0) ++#endif ++/* _mm_dp_pd */ ++#ifndef SSE2NEON_PRECISE_DP ++#define SSE2NEON_PRECISE_DP (0) ++#endif ++ ++/* Enable inclusion of windows.h on MSVC platforms ++ * This makes _mm_clflush functional on windows, as there is no builtin. ++ */ ++#ifndef SSE2NEON_INCLUDE_WINDOWS_H ++#define SSE2NEON_INCLUDE_WINDOWS_H (0) ++#endif ++ ++/* compiler specific definitions */ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma push_macro("FORCE_INLINE") ++#pragma push_macro("ALIGN_STRUCT") ++#define FORCE_INLINE static inline __attribute__((always_inline)) ++#define ALIGN_STRUCT(x) __attribute__((aligned(x))) ++#define _sse2neon_likely(x) __builtin_expect(!!(x), 1) ++#define _sse2neon_unlikely(x) __builtin_expect(!!(x), 0) ++#elif defined(_MSC_VER) ++#if _MSVC_TRADITIONAL ++#error Using the traditional MSVC preprocessor is not supported! Use /Zc:preprocessor instead. ++#endif ++#ifndef FORCE_INLINE ++#define FORCE_INLINE static inline ++#endif ++#ifndef ALIGN_STRUCT ++#define ALIGN_STRUCT(x) __declspec(align(x)) ++#endif ++#define _sse2neon_likely(x) (x) ++#define _sse2neon_unlikely(x) (x) ++#else ++#pragma message("Macro name collisions may happen with unsupported compilers.") ++#endif ++ ++ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma push_macro("FORCE_INLINE_OPTNONE") ++#define FORCE_INLINE_OPTNONE static inline __attribute__((optimize("O0"))) ++#elif defined(__clang__) ++#pragma push_macro("FORCE_INLINE_OPTNONE") ++#define FORCE_INLINE_OPTNONE static inline __attribute__((optnone)) ++#else ++#define FORCE_INLINE_OPTNONE FORCE_INLINE ++#endif ++ ++#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ < 10 ++#warning "GCC versions earlier than 10 are not supported." ++#endif ++ ++/* C language does not allow initializing a variable with a function call. */ ++#ifdef __cplusplus ++#define _sse2neon_const static const ++#else ++#define _sse2neon_const const ++#endif ++ ++#include ++#include ++#include ++ ++FORCE_INLINE double sse2neon_recast_u64_f64(uint64_t u64) ++{ ++ double f64; ++ memcpy(&f64, &u64, sizeof(uint64_t)); ++ return f64; ++} ++FORCE_INLINE int64_t sse2neon_recast_f64_s64(double f64) ++{ ++ int64_t i64; ++ memcpy(&i64, &f64, sizeof(uint64_t)); ++ return i64; ++} ++ ++#if defined(_WIN32) ++/* Definitions for _mm_{malloc,free} are provided by ++ * from both MinGW-w64 and MSVC. ++ */ ++#define SSE2NEON_ALLOC_DEFINED ++#endif ++ ++/* If using MSVC */ ++#ifdef _MSC_VER ++#include ++#if SSE2NEON_INCLUDE_WINDOWS_H ++#include ++#include ++#endif ++ ++#if !defined(__cplusplus) ++#error SSE2NEON only supports C++ compilation with this compiler ++#endif ++ ++#ifdef SSE2NEON_ALLOC_DEFINED ++#include ++#endif ++ ++#if (defined(_M_AMD64) || defined(__x86_64__)) || \ ++ (defined(_M_ARM64) || defined(__arm64__)) ++#define SSE2NEON_HAS_BITSCAN64 ++#endif ++#endif ++ ++#if defined(__GNUC__) || defined(__clang__) ++#define _sse2neon_define0(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define1(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define2(type, a, b, body) \ ++ __extension__({ \ ++ type _a = (a), _b = (b); \ ++ body \ ++ }) ++#define _sse2neon_return(ret) (ret) ++#else ++#define _sse2neon_define0(type, a, body) [=](type _a) { body }(a) ++#define _sse2neon_define1(type, a, body) [](type _a) { body }(a) ++#define _sse2neon_define2(type, a, b, body) \ ++ [](type _a, type _b) { body }((a), (b)) ++#define _sse2neon_return(ret) return ret ++#endif ++ ++#define _sse2neon_init(...) \ ++ { \ ++ __VA_ARGS__ \ ++ } ++ ++/* Compiler barrier */ ++#if defined(_MSC_VER) && !defined(__clang__) ++#define SSE2NEON_BARRIER() _ReadWriteBarrier() ++#else ++#define SSE2NEON_BARRIER() \ ++ do { \ ++ __asm__ __volatile__("" ::: "memory"); \ ++ (void) 0; \ ++ } while (0) ++#endif ++ ++/* Memory barriers ++ * __atomic_thread_fence does not include a compiler barrier; instead, ++ * the barrier is part of __atomic_load/__atomic_store's "volatile-like" ++ * semantics. ++ */ ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) ++#include ++#endif ++ ++FORCE_INLINE void _sse2neon_smp_mb(void) ++{ ++ SSE2NEON_BARRIER(); ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \ ++ !defined(__STDC_NO_ATOMICS__) ++ atomic_thread_fence(memory_order_seq_cst); ++#elif defined(__GNUC__) || defined(__clang__) ++ __atomic_thread_fence(__ATOMIC_SEQ_CST); ++#else /* MSVC */ ++ __dmb(_ARM64_BARRIER_ISH); ++#endif ++} ++ ++/* Architecture-specific build options */ ++/* FIXME: #pragma GCC push_options is only available on GCC */ ++#if defined(__GNUC__) ++#if defined(__arm__) && __ARM_ARCH == 7 ++/* According to ARM C Language Extensions Architecture specification, ++ * __ARM_NEON is defined to a value indicating the Advanced SIMD (NEON) ++ * architecture supported. ++ */ ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error "You must enable NEON instructions (e.g. -mfpu=neon) to use SSE2NEON." ++#endif ++#if !defined(__clang__) ++#pragma GCC push_options ++#pragma GCC target("fpu=neon") ++#endif ++#elif defined(__aarch64__) || defined(_M_ARM64) ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#pragma GCC target("+simd") ++#endif ++#elif __ARM_ARCH == 8 ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error \ ++ "You must enable NEON instructions (e.g. -mfpu=neon-fp-armv8) to use SSE2NEON." ++#endif ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#endif ++#else ++#error \ ++ "Unsupported target. Must be either ARMv7-A+NEON or ARMv8-A \ ++(you could try setting target explicitly with -march or -mcpu)" ++#endif ++#endif ++ ++#include ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) && (__ARM_ARCH == 8) ++#if defined __has_include && __has_include() ++#include ++#endif ++#endif ++ ++/* Apple Silicon cache lines are double of what is commonly used by Intel, AMD ++ * and other Arm microarchitectures use. ++ * From sysctl -a on Apple M1: ++ * hw.cachelinesize: 128 ++ */ ++#if defined(__APPLE__) && (defined(__aarch64__) || defined(__arm64__)) ++#define SSE2NEON_CACHELINE_SIZE 128 ++#else ++#define SSE2NEON_CACHELINE_SIZE 64 ++#endif ++ ++/* Rounding functions require either Aarch64 instructions or libm fallback */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#include ++#endif ++ ++/* On ARMv7, some registers, such as PMUSERENR and PMCCNTR, are read-only ++ * or even not accessible in user mode. ++ * To write or access to these registers in user mode, ++ * we have to perform syscall instead. ++ */ ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) ++#include ++#endif ++ ++/* "__has_builtin" can be used to query support for built-in functions ++ * provided by gcc/clang and other compilers that support it. ++ */ ++#ifndef __has_builtin /* GCC prior to 10 or non-clang compilers */ ++/* Compatibility with gcc <= 9 */ ++#if defined(__GNUC__) && (__GNUC__ <= 9) ++#define __has_builtin(x) HAS##x ++#define HAS__builtin_popcount 1 ++#define HAS__builtin_popcountll 1 ++ ++// __builtin_shuffle introduced in GCC 4.7.0 ++#if (__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) ++#define HAS__builtin_shuffle 1 ++#else ++#define HAS__builtin_shuffle 0 ++#endif ++ ++#define HAS__builtin_shufflevector 0 ++#define HAS__builtin_nontemporal_store 0 ++#else ++#define __has_builtin(x) 0 ++#endif ++#endif ++ ++/** ++ * MACRO for shuffle parameter for _mm_shuffle_ps(). ++ * Argument fp3 is a digit[0123] that represents the fp from argument "b" ++ * of mm_shuffle_ps that will be placed in fp3 of result. fp2 is the same ++ * for fp2 in result. fp1 is a digit[0123] that represents the fp from ++ * argument "a" of mm_shuffle_ps that will be places in fp1 of result. ++ * fp0 is the same for fp0 of result. ++ */ ++#define _MM_SHUFFLE(fp3, fp2, fp1, fp0) \ ++ (((fp3) << 6) | ((fp2) << 4) | ((fp1) << 2) | ((fp0))) ++ ++#if __has_builtin(__builtin_shufflevector) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __builtin_shufflevector(a, b, __VA_ARGS__) ++#elif __has_builtin(__builtin_shuffle) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __extension__({ \ ++ type tmp = {__VA_ARGS__}; \ ++ __builtin_shuffle(a, b, tmp); \ ++ }) ++#endif ++ ++#ifdef _sse2neon_shuffle ++#define vshuffle_s16(a, b, ...) _sse2neon_shuffle(int16x4_t, a, b, __VA_ARGS__) ++#define vshuffleq_s16(a, b, ...) _sse2neon_shuffle(int16x8_t, a, b, __VA_ARGS__) ++#define vshuffle_s32(a, b, ...) _sse2neon_shuffle(int32x2_t, a, b, __VA_ARGS__) ++#define vshuffleq_s32(a, b, ...) _sse2neon_shuffle(int32x4_t, a, b, __VA_ARGS__) ++#define vshuffle_s64(a, b, ...) _sse2neon_shuffle(int64x1_t, a, b, __VA_ARGS__) ++#define vshuffleq_s64(a, b, ...) _sse2neon_shuffle(int64x2_t, a, b, __VA_ARGS__) ++#endif ++ ++/* Rounding mode macros. */ ++#define _MM_FROUND_TO_NEAREST_INT 0x00 ++#define _MM_FROUND_TO_NEG_INF 0x01 ++#define _MM_FROUND_TO_POS_INF 0x02 ++#define _MM_FROUND_TO_ZERO 0x03 ++#define _MM_FROUND_CUR_DIRECTION 0x04 ++#define _MM_FROUND_NO_EXC 0x08 ++#define _MM_FROUND_RAISE_EXC 0x00 ++#define _MM_FROUND_NINT (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_FLOOR (_MM_FROUND_TO_NEG_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_CEIL (_MM_FROUND_TO_POS_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_TRUNC (_MM_FROUND_TO_ZERO | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_RINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_NEARBYINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_NO_EXC) ++#define _MM_ROUND_NEAREST 0x0000 ++#define _MM_ROUND_DOWN 0x2000 ++#define _MM_ROUND_UP 0x4000 ++#define _MM_ROUND_TOWARD_ZERO 0x6000 ++/* Flush zero mode macros. */ ++#define _MM_FLUSH_ZERO_MASK 0x8000 ++#define _MM_FLUSH_ZERO_ON 0x8000 ++#define _MM_FLUSH_ZERO_OFF 0x0000 ++/* Denormals are zeros mode macros. */ ++#define _MM_DENORMALS_ZERO_MASK 0x0040 ++#define _MM_DENORMALS_ZERO_ON 0x0040 ++#define _MM_DENORMALS_ZERO_OFF 0x0000 ++ ++/* indicate immediate constant argument in a given range */ ++#define __constrange(a, b) const ++ ++/* A few intrinsics accept traditional data types like ints or floats, but ++ * most operate on data types that are specific to SSE. ++ * If a vector type ends in d, it contains doubles, and if it does not have ++ * a suffix, it contains floats. An integer vector type can contain any type ++ * of integer, from chars to shorts to unsigned long longs. ++ */ ++typedef int64x1_t __m64; ++typedef float32x4_t __m128; /* 128-bit vector containing 4 floats */ ++// On ARM 32-bit architecture, the float64x2_t is not supported. ++// The data type __m128d should be represented in a different way for related ++// intrinsic conversion. ++#if defined(__aarch64__) || defined(_M_ARM64) ++typedef float64x2_t __m128d; /* 128-bit vector containing 2 doubles */ ++#else ++typedef float32x4_t __m128d; ++#endif ++typedef int64x2_t __m128i; /* 128-bit vector containing integers */ ++ ++// Some intrinsics operate on unaligned data types. ++typedef int16_t ALIGN_STRUCT(1) unaligned_int16_t; ++typedef int32_t ALIGN_STRUCT(1) unaligned_int32_t; ++typedef int64_t ALIGN_STRUCT(1) unaligned_int64_t; ++ ++// __int64 is defined in the Intrinsics Guide which maps to different datatype ++// in different data model ++#if !(defined(_WIN32) || defined(_WIN64) || defined(__int64)) ++#if (defined(__x86_64__) || defined(__i386__)) ++#define __int64 long long ++#else ++#define __int64 int64_t ++#endif ++#endif ++ ++/* type-safe casting between types */ ++ ++#define vreinterpretq_m128_f16(x) vreinterpretq_f32_f16(x) ++#define vreinterpretq_m128_f32(x) (x) ++#define vreinterpretq_m128_f64(x) vreinterpretq_f32_f64(x) ++ ++#define vreinterpretq_m128_u8(x) vreinterpretq_f32_u8(x) ++#define vreinterpretq_m128_u16(x) vreinterpretq_f32_u16(x) ++#define vreinterpretq_m128_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128_s8(x) vreinterpretq_f32_s8(x) ++#define vreinterpretq_m128_s16(x) vreinterpretq_f32_s16(x) ++#define vreinterpretq_m128_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_f16_m128(x) vreinterpretq_f16_f32(x) ++#define vreinterpretq_f32_m128(x) (x) ++#define vreinterpretq_f64_m128(x) vreinterpretq_f64_f32(x) ++ ++#define vreinterpretq_u8_m128(x) vreinterpretq_u8_f32(x) ++#define vreinterpretq_u16_m128(x) vreinterpretq_u16_f32(x) ++#define vreinterpretq_u32_m128(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_s8_m128(x) vreinterpretq_s8_f32(x) ++#define vreinterpretq_s16_m128(x) vreinterpretq_s16_f32(x) ++#define vreinterpretq_s32_m128(x) vreinterpretq_s32_f32(x) ++#define vreinterpretq_s64_m128(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_m128i_s8(x) vreinterpretq_s64_s8(x) ++#define vreinterpretq_m128i_s16(x) vreinterpretq_s64_s16(x) ++#define vreinterpretq_m128i_s32(x) vreinterpretq_s64_s32(x) ++#define vreinterpretq_m128i_s64(x) (x) ++ ++#define vreinterpretq_m128i_u8(x) vreinterpretq_s64_u8(x) ++#define vreinterpretq_m128i_u16(x) vreinterpretq_s64_u16(x) ++#define vreinterpretq_m128i_u32(x) vreinterpretq_s64_u32(x) ++#define vreinterpretq_m128i_u64(x) vreinterpretq_s64_u64(x) ++ ++#define vreinterpretq_f32_m128i(x) vreinterpretq_f32_s64(x) ++#define vreinterpretq_f64_m128i(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_s8_m128i(x) vreinterpretq_s8_s64(x) ++#define vreinterpretq_s16_m128i(x) vreinterpretq_s16_s64(x) ++#define vreinterpretq_s32_m128i(x) vreinterpretq_s32_s64(x) ++#define vreinterpretq_s64_m128i(x) (x) ++ ++#define vreinterpretq_u8_m128i(x) vreinterpretq_u8_s64(x) ++#define vreinterpretq_u16_m128i(x) vreinterpretq_u16_s64(x) ++#define vreinterpretq_u32_m128i(x) vreinterpretq_u32_s64(x) ++#define vreinterpretq_u64_m128i(x) vreinterpretq_u64_s64(x) ++ ++#define vreinterpret_m64_s8(x) vreinterpret_s64_s8(x) ++#define vreinterpret_m64_s16(x) vreinterpret_s64_s16(x) ++#define vreinterpret_m64_s32(x) vreinterpret_s64_s32(x) ++#define vreinterpret_m64_s64(x) (x) ++ ++#define vreinterpret_m64_u8(x) vreinterpret_s64_u8(x) ++#define vreinterpret_m64_u16(x) vreinterpret_s64_u16(x) ++#define vreinterpret_m64_u32(x) vreinterpret_s64_u32(x) ++#define vreinterpret_m64_u64(x) vreinterpret_s64_u64(x) ++ ++#define vreinterpret_m64_f16(x) vreinterpret_s64_f16(x) ++#define vreinterpret_m64_f32(x) vreinterpret_s64_f32(x) ++#define vreinterpret_m64_f64(x) vreinterpret_s64_f64(x) ++ ++#define vreinterpret_u8_m64(x) vreinterpret_u8_s64(x) ++#define vreinterpret_u16_m64(x) vreinterpret_u16_s64(x) ++#define vreinterpret_u32_m64(x) vreinterpret_u32_s64(x) ++#define vreinterpret_u64_m64(x) vreinterpret_u64_s64(x) ++ ++#define vreinterpret_s8_m64(x) vreinterpret_s8_s64(x) ++#define vreinterpret_s16_m64(x) vreinterpret_s16_s64(x) ++#define vreinterpret_s32_m64(x) vreinterpret_s32_s64(x) ++#define vreinterpret_s64_m64(x) (x) ++ ++#define vreinterpret_f32_m64(x) vreinterpret_f32_s64(x) ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f64_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f64_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) vreinterpretq_f64_f32(x) ++#define vreinterpretq_m128d_f64(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f64(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f64(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f64(x) ++ ++#define vreinterpretq_f64_m128d(x) (x) ++#define vreinterpretq_f32_m128d(x) vreinterpretq_f32_f64(x) ++#else ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_m128d_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_f32_m128d(x) (x) ++#endif ++ ++// A struct is defined in this header file called 'SIMDVec' which can be used ++// by applications which attempt to access the contents of an __m128 struct ++// directly. It is important to note that accessing the __m128 struct directly ++// is bad coding practice by Microsoft: @see: ++// https://learn.microsoft.com/en-us/cpp/cpp/m128 ++// ++// However, some legacy source code may try to access the contents of an __m128 ++// struct directly so the developer can use the SIMDVec as an alias for it. Any ++// casting must be done manually by the developer, as you cannot cast or ++// otherwise alias the base NEON data type for intrinsic operations. ++// ++// union intended to allow direct access to an __m128 variable using the names ++// that the MSVC compiler provides. This union should really only be used when ++// trying to access the members of the vector as integer values. GCC/clang ++// allow native access to the float members through a simple array access ++// operator (in C since 4.6, in C++ since 4.8). ++// ++// Ideally direct accesses to SIMD vectors should not be used since it can cause ++// a performance hit. If it really is needed however, the original __m128 ++// variable can be aliased with a pointer to this union and used to access ++// individual components. The use of this union should be hidden behind a macro ++// that is used throughout the codebase to access the members instead of always ++// declaring this type of variable. ++typedef union ALIGN_STRUCT(16) SIMDVec { ++ float m128_f32[4]; // as floats - DON'T USE. Added for convenience. ++ int8_t m128_i8[16]; // as signed 8-bit integers. ++ int16_t m128_i16[8]; // as signed 16-bit integers. ++ int32_t m128_i32[4]; // as signed 32-bit integers. ++ int64_t m128_i64[2]; // as signed 64-bit integers. ++ uint8_t m128_u8[16]; // as unsigned 8-bit integers. ++ uint16_t m128_u16[8]; // as unsigned 16-bit integers. ++ uint32_t m128_u32[4]; // as unsigned 32-bit integers. ++ uint64_t m128_u64[2]; // as unsigned 64-bit integers. ++} SIMDVec; ++ ++// casting using SIMDVec ++#define vreinterpretq_nth_u64_m128i(x, n) (((SIMDVec *) &x)->m128_u64[n]) ++#define vreinterpretq_nth_u32_m128i(x, n) (((SIMDVec *) &x)->m128_u32[n]) ++#define vreinterpretq_nth_u8_m128i(x, n) (((SIMDVec *) &x)->m128_u8[n]) ++ ++/* SSE macros */ ++#define _MM_GET_FLUSH_ZERO_MODE _sse2neon_mm_get_flush_zero_mode ++#define _MM_SET_FLUSH_ZERO_MODE _sse2neon_mm_set_flush_zero_mode ++#define _MM_GET_DENORMALS_ZERO_MODE _sse2neon_mm_get_denormals_zero_mode ++#define _MM_SET_DENORMALS_ZERO_MODE _sse2neon_mm_set_denormals_zero_mode ++ ++// Function declaration ++// SSE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void); ++FORCE_INLINE __m128 _mm_move_ss(__m128, __m128); ++FORCE_INLINE __m128 _mm_or_ps(__m128, __m128); ++FORCE_INLINE __m128 _mm_set_ps1(float); ++FORCE_INLINE __m128 _mm_setzero_ps(void); ++// SSE2 ++FORCE_INLINE __m128i _mm_and_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_castps_si128(__m128); ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128); ++FORCE_INLINE __m128d _mm_move_sd(__m128d, __m128d); ++FORCE_INLINE __m128i _mm_or_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_set_epi32(int, int, int, int); ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t, int64_t); ++FORCE_INLINE __m128d _mm_set_pd(double, double); ++FORCE_INLINE __m128i _mm_set1_epi32(int); ++FORCE_INLINE __m128i _mm_setzero_si128(void); ++// SSE4.1 ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d); ++FORCE_INLINE __m128 _mm_ceil_ps(__m128); ++FORCE_INLINE __m128d _mm_floor_pd(__m128d); ++FORCE_INLINE __m128 _mm_floor_ps(__m128); ++FORCE_INLINE_OPTNONE __m128d _mm_round_pd(__m128d, int); ++FORCE_INLINE_OPTNONE __m128 _mm_round_ps(__m128, int); ++// SSE4.2 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t, uint8_t); ++ ++/* Backwards compatibility for compilers with lack of specific type support */ ++ ++// Older gcc does not define vld1q_u8_x4 type ++#if defined(__GNUC__) && !defined(__clang__) && \ ++ ((__GNUC__ <= 13 && defined(__arm__)) || \ ++ (__GNUC__ == 10 && __GNUC_MINOR__ < 3 && defined(__aarch64__)) || \ ++ (__GNUC__ <= 9 && defined(__aarch64__))) ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ uint8x16x4_t ret; ++ ret.val[0] = vld1q_u8(p + 0); ++ ret.val[1] = vld1q_u8(p + 16); ++ ret.val[2] = vld1q_u8(p + 32); ++ ret.val[3] = vld1q_u8(p + 48); ++ return ret; ++} ++#else ++// Wraps vld1q_u8_x4 ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ return vld1q_u8_x4(p); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddv u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ const uint64x1_t v1 = vpaddl_u32(vpaddl_u16(vpaddl_u8(v8))); ++ return vget_lane_u8(vreinterpret_u8_u64(v1), 0); ++} ++#else ++// Wraps vaddv_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ return vaddv_u8(v8); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ uint8x8_t tmp = vpadd_u8(vget_low_u8(a), vget_high_u8(a)); ++ uint8_t res = 0; ++ for (int i = 0; i < 8; ++i) ++ res += tmp[i]; ++ return res; ++} ++#else ++// Wraps vaddvq_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ return vaddvq_u8(a); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u16 variant */ ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ uint32x4_t m = vpaddlq_u16(a); ++ uint64x2_t n = vpaddlq_u32(m); ++ uint64x1_t o = vget_low_u64(n) + vget_high_u64(n); ++ ++ return vget_lane_u32((uint32x2_t) o, 0); ++} ++#else ++// Wraps vaddvq_u16 ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ return vaddvq_u16(a); ++} ++#endif ++ ++/* Function Naming Conventions ++ * The naming convention of SSE intrinsics is straightforward. A generic SSE ++ * intrinsic function is given as follows: ++ * _mm__ ++ * ++ * The parts of this format are given as follows: ++ * 1. describes the operation performed by the intrinsic ++ * 2. identifies the data type of the function's primary arguments ++ * ++ * This last part, , is a little complicated. It identifies the ++ * content of the input values, and can be set to any of the following values: ++ * + ps - vectors contain floats (ps stands for packed single-precision) ++ * + pd - vectors contain doubles (pd stands for packed double-precision) ++ * + epi8/epi16/epi32/epi64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * signed integers ++ * + epu8/epu16/epu32/epu64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * unsigned integers ++ * + si128 - unspecified 128-bit vector or 256-bit vector ++ * + m128/m128i/m128d - identifies input vector types when they are different ++ * than the type of the returned vector ++ * ++ * For example, _mm_setzero_ps. The _mm implies that the function returns ++ * a 128-bit vector. The _ps at the end implies that the argument vectors ++ * contain floats. ++ * ++ * A complete example: Byte Shuffle - pshufb (_mm_shuffle_epi8) ++ * // Set packed 16-bit integers. 128 bits, 8 short, per 16 bits ++ * __m128i v_in = _mm_setr_epi16(1, 2, 3, 4, 5, 6, 7, 8); ++ * // Set packed 8-bit integers ++ * // 128 bits, 16 chars, per 8 bits ++ * __m128i v_perm = _mm_setr_epi8(1, 0, 2, 3, 8, 9, 10, 11, ++ * 4, 5, 12, 13, 6, 7, 14, 15); ++ * // Shuffle packed 8-bit integers ++ * __m128i v_out = _mm_shuffle_epi8(v_in, v_perm); // pshufb ++ */ ++ ++/* Constants for use with _mm_prefetch. */ ++enum _mm_hint { ++ _MM_HINT_NTA = 0, /* load data to L1 and L2 cache, mark it as NTA */ ++ _MM_HINT_T0 = 1, /* load data to L1 and L2 cache */ ++ _MM_HINT_T1 = 2, /* load data to L2 cache only */ ++ _MM_HINT_T2 = 3, /* load data to L2 cache only, mark it as NTA */ ++}; ++ ++// The bit field mapping to the FPCR(floating-point control register) ++typedef struct { ++ uint16_t res0; ++ uint8_t res1 : 6; ++ uint8_t bit22 : 1; ++ uint8_t bit23 : 1; ++ uint8_t bit24 : 1; ++ uint8_t res2 : 7; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32_t res3; ++#endif ++} fpcr_bitfield; ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of b and places it into the high end of the result. ++FORCE_INLINE __m128 _mm_shuffle_ps_1032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in high ++// end of result takes the higher two 32 bit values from b and swaps them and ++// places in low end of result. ++FORCE_INLINE __m128 _mm_shuffle_ps_2301(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b23 = vrev64_f32(vget_high_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b23)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0321(__m128 a, __m128 b) ++{ ++ float32x2_t a21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a21, b03)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2103(__m128 a, __m128 b) ++{ ++ float32x2_t a03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a03, b21)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0101(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b01)); ++} ++ ++// keeps the low 64 bits of b in the low and puts the high 64 bits of a in the ++// high ++FORCE_INLINE __m128 _mm_shuffle_ps_3210(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0011(__m128 a, __m128 b) ++{ ++ float32x2_t a11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a11, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0022(__m128 a, __m128 b) ++{ ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a22, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2200(__m128 a, __m128 b) ++{ ++ float32x2_t a00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a00, b22)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_3202(__m128 a, __m128 b) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t a02 = vset_lane_f32(a0, a22, 1); /* TODO: use vzip ?*/ ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a02, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1133(__m128 a, __m128 b) ++{ ++ float32x2_t a33 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a33, b11)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b20)); ++} ++ ++// For MSVC, we check only if it is ARM64, as every single ARM64 processor ++// supported by WoA has crypto extensions. If this changes in the future, ++// this can be verified via the runtime-only method of: ++// IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE) ++#if (defined(_M_ARM64) && !defined(__clang__)) || \ ++ (defined(__ARM_FEATURE_CRYPTO) && \ ++ (defined(__aarch64__) || __has_builtin(__builtin_arm_crypto_vmullp64))) ++// Wraps vmull_p64 ++FORCE_INLINE uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly64_t a = vget_lane_p64(vreinterpret_p64_u64(_a), 0); ++ poly64_t b = vget_lane_p64(vreinterpret_p64_u64(_b), 0); ++#if defined(_MSC_VER) && !defined(__clang__) ++ __n64 a1 = {a}, b1 = {b}; ++ return vreinterpretq_u64_p128(vmull_p64(a1, b1)); ++#else ++ return vreinterpretq_u64_p128(vmull_p64(a, b)); ++#endif ++} ++#else // ARMv7 polyfill ++// ARMv7/some A64 lacks vmull_p64, but it has vmull_p8. ++// ++// vmull_p8 calculates 8 8-bit->16-bit polynomial multiplies, but we need a ++// 64-bit->128-bit polynomial multiply. ++// ++// It needs some work and is somewhat slow, but it is still faster than all ++// known scalar methods. ++// ++// Algorithm adapted to C from ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/, which is adapted ++// from "Fast Software Polynomial Multiplication on ARM Processors Using the ++// NEON Engine" by Danilo Camara, Conrado Gouvea, Julio Lopez and Ricardo Dahab ++// (https://hal.inria.fr/hal-01506572) ++static uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly8x8_t a = vreinterpret_p8_u64(_a); ++ poly8x8_t b = vreinterpret_p8_u64(_b); ++ ++ // Masks ++ uint8x16_t k48_32 = vcombine_u8(vcreate_u8(0x0000ffffffffffff), ++ vcreate_u8(0x00000000ffffffff)); ++ uint8x16_t k16_00 = vcombine_u8(vcreate_u8(0x000000000000ffff), ++ vcreate_u8(0x0000000000000000)); ++ ++ // Do the multiplies, rotating with vext to get all combinations ++ uint8x16_t d = vreinterpretq_u8_p16(vmull_p8(a, b)); // D = A0 * B0 ++ uint8x16_t e = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 1))); // E = A0 * B1 ++ uint8x16_t f = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 1), b)); // F = A1 * B0 ++ uint8x16_t g = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 2))); // G = A0 * B2 ++ uint8x16_t h = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 2), b)); // H = A2 * B0 ++ uint8x16_t i = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 3))); // I = A0 * B3 ++ uint8x16_t j = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 3), b)); // J = A3 * B0 ++ uint8x16_t k = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 4))); // L = A0 * B4 ++ ++ // Add cross products ++ uint8x16_t l = veorq_u8(e, f); // L = E + F ++ uint8x16_t m = veorq_u8(g, h); // M = G + H ++ uint8x16_t n = veorq_u8(i, j); // N = I + J ++ ++ // Interleave. Using vzip1 and vzip2 prevents Clang from emitting TBL ++ // instructions. ++#if defined(__aarch64__) ++ uint8x16_t lm_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t lm_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t nk_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++ uint8x16_t nk_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++#else ++ uint8x16_t lm_p0 = vcombine_u8(vget_low_u8(l), vget_low_u8(m)); ++ uint8x16_t lm_p1 = vcombine_u8(vget_high_u8(l), vget_high_u8(m)); ++ uint8x16_t nk_p0 = vcombine_u8(vget_low_u8(n), vget_low_u8(k)); ++ uint8x16_t nk_p1 = vcombine_u8(vget_high_u8(n), vget_high_u8(k)); ++#endif ++ // t0 = (L) (P0 + P1) << 8 ++ // t1 = (M) (P2 + P3) << 16 ++ uint8x16_t t0t1_tmp = veorq_u8(lm_p0, lm_p1); ++ uint8x16_t t0t1_h = vandq_u8(lm_p1, k48_32); ++ uint8x16_t t0t1_l = veorq_u8(t0t1_tmp, t0t1_h); ++ ++ // t2 = (N) (P4 + P5) << 24 ++ // t3 = (K) (P6 + P7) << 32 ++ uint8x16_t t2t3_tmp = veorq_u8(nk_p0, nk_p1); ++ uint8x16_t t2t3_h = vandq_u8(nk_p1, k16_00); ++ uint8x16_t t2t3_l = veorq_u8(t2t3_tmp, t2t3_h); ++ ++ // De-interleave ++#if defined(__aarch64__) ++ uint8x16_t t0 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t1 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t2 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++ uint8x16_t t3 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++#else ++ uint8x16_t t1 = vcombine_u8(vget_high_u8(t0t1_l), vget_high_u8(t0t1_h)); ++ uint8x16_t t0 = vcombine_u8(vget_low_u8(t0t1_l), vget_low_u8(t0t1_h)); ++ uint8x16_t t3 = vcombine_u8(vget_high_u8(t2t3_l), vget_high_u8(t2t3_h)); ++ uint8x16_t t2 = vcombine_u8(vget_low_u8(t2t3_l), vget_low_u8(t2t3_h)); ++#endif ++ // Shift the cross products ++ uint8x16_t t0_shift = vextq_u8(t0, t0, 15); // t0 << 8 ++ uint8x16_t t1_shift = vextq_u8(t1, t1, 14); // t1 << 16 ++ uint8x16_t t2_shift = vextq_u8(t2, t2, 13); // t2 << 24 ++ uint8x16_t t3_shift = vextq_u8(t3, t3, 12); // t3 << 32 ++ ++ // Accumulate the products ++ uint8x16_t cross1 = veorq_u8(t0_shift, t1_shift); ++ uint8x16_t cross2 = veorq_u8(t2_shift, t3_shift); ++ uint8x16_t mix = veorq_u8(d, cross1); ++ uint8x16_t r = veorq_u8(mix, cross2); ++ return vreinterpretq_u64_u8(r); ++} ++#endif // ARMv7 polyfill ++ ++// C equivalent: ++// __m128i _mm_shuffle_epi32_default(__m128i a, ++// __constrange(0, 255) int imm) { ++// __m128i ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = a[(imm >> 4) & 0x03]; ret[3] = a[(imm >> 6) & 0x03]; ++// return ret; ++// } ++#define _mm_shuffle_epi32_default(a, imm) \ ++ vreinterpretq_m128i_s32(vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), \ ++ ((imm) >> 2) & 0x3), \ ++ vmovq_n_s32(vgetq_lane_s32( \ ++ vreinterpretq_s32_m128i(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of a and places it into the high end of the result. ++FORCE_INLINE __m128i _mm_shuffle_epi_1032(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in low end ++// of result takes the higher two 32 bit values from a and swaps them and places ++// in high end of result. ++FORCE_INLINE __m128i _mm_shuffle_epi_2301(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a23 = vrev64_s32(vget_high_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a23)); ++} ++ ++// rotates the least significant 32 bits into the most significant 32 bits, and ++// shifts the rest down ++FORCE_INLINE __m128i _mm_shuffle_epi_0321(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 1)); ++} ++ ++// rotates the most significant 32 bits into the least significant 32 bits, and ++// shifts the rest up ++FORCE_INLINE __m128i _mm_shuffle_epi_2103(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 3)); ++} ++ ++// gets the lower 64 bits of a, and places it in the upper 64 bits ++// gets the lower 64 bits of a and places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1010(__m128i a) ++{ ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a10, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements, and places it in the ++// lower 64 bits gets the lower 64 bits of a, and places it in the upper 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1001(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements and places it in the ++// upper 64 bits gets the lower 64 bits of a, swaps the 0 and 1 elements, and ++// places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_0101(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_2211(__m128i a) ++{ ++ int32x2_t a11 = vdup_lane_s32(vget_low_s32(vreinterpretq_s32_m128i(a)), 1); ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ return vreinterpretq_m128i_s32(vcombine_s32(a11, a22)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_0122(__m128i a) ++{ ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a22, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_3332(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a33 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 1); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a33)); ++} ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32(vdupq_laneq_s32(vreinterpretq_s32_m128i(a), (imm))) ++#else ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vdupq_n_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)))) ++#endif ++ ++// NEON does not support a general purpose permute intrinsic. ++// Shuffle single-precision (32-bit) floating-point elements in a using the ++// control in imm8, and store the results in dst. ++// ++// C equivalent: ++// __m128 _mm_shuffle_ps_default(__m128 a, __m128 b, ++// __constrange(0, 255) int imm) { ++// __m128 ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = b[(imm >> 4) & 0x03]; ret[3] = b[(imm >> 6) & 0x03]; ++// return ret; ++// } ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_ps ++#define _mm_shuffle_ps_default(a, b, imm) \ ++ vreinterpretq_m128_f32(vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), ((imm) >> 2) & 0x3), \ ++ vmovq_n_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Shuffle 16-bit integers in the low 64 bits of a using the control in imm8. ++// Store the results in the low 64 bits of dst, with the high 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflelo_epi16 ++#define _mm_shufflelo_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t lowBits = vget_low_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, (imm) & (0x3)), ret, 0); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++// Shuffle 16-bit integers in the high 64 bits of a using the control in imm8. ++// Store the results in the high 64 bits of dst, with the low 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflehi_epi16 ++#define _mm_shufflehi_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t highBits = vget_high_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, (imm) & (0x3)), ret, 4); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 2) & 0x3), ret, \ ++ 5); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 4) & 0x3), ret, \ ++ 6); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 6) & 0x3), ret, \ ++ 7); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++/* MMX */ ++ ++//_mm_empty is a no-op on arm ++FORCE_INLINE void _mm_empty(void) {} ++ ++/* SSE */ ++ ++// Add packed single-precision (32-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ps ++FORCE_INLINE __m128 _mm_add_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Add the lower single-precision (32-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ss ++FORCE_INLINE __m128 _mm_add_ss(__m128 a, __m128 b) ++{ ++ float32_t b0 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++ float32x4_t value = vsetq_lane_f32(b0, vdupq_n_f32(0), 0); ++ // the upper values in the result must be the remnants of . ++ return vreinterpretq_m128_f32(vaddq_f32(a, value)); ++} ++ ++// Compute the bitwise AND of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_ps ++FORCE_INLINE __m128 _mm_and_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vandq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Compute the bitwise NOT of packed single-precision (32-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_ps ++FORCE_INLINE __m128 _mm_andnot_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vbicq_s32(vreinterpretq_s32_m128(b), ++ vreinterpretq_s32_m128(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu16 ++FORCE_INLINE __m64 _mm_avg_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16( ++ vrhadd_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu8 ++FORCE_INLINE __m64 _mm_avg_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vrhadd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ps ++FORCE_INLINE __m128 _mm_cmpeq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ss ++FORCE_INLINE __m128 _mm_cmpeq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpeq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ps ++FORCE_INLINE __m128 _mm_cmpge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ss ++FORCE_INLINE __m128 _mm_cmpge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ps ++FORCE_INLINE __m128 _mm_cmpgt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ss ++FORCE_INLINE __m128 _mm_cmpgt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpgt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ps ++FORCE_INLINE __m128 _mm_cmple_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ss ++FORCE_INLINE __m128 _mm_cmple_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmple_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ps ++FORCE_INLINE __m128 _mm_cmplt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ss ++FORCE_INLINE __m128 _mm_cmplt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmplt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ps ++FORCE_INLINE __m128 _mm_cmpneq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ss ++FORCE_INLINE __m128 _mm_cmpneq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpneq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ps ++FORCE_INLINE __m128 _mm_cmpnge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ss ++FORCE_INLINE __m128 _mm_cmpnge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ps ++FORCE_INLINE __m128 _mm_cmpngt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ss ++FORCE_INLINE __m128 _mm_cmpngt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpngt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ps ++FORCE_INLINE __m128 _mm_cmpnle_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ss ++FORCE_INLINE __m128 _mm_cmpnle_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnle_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ps ++FORCE_INLINE __m128 _mm_cmpnlt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ss ++FORCE_INLINE __m128 _mm_cmpnlt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnlt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ps ++// ++// See also: ++// http://stackoverflow.com/questions/8627331/what-does-ordered-unordered-comparison-mean ++// http://stackoverflow.com/questions/29349621/neon-isnanval-intrinsics ++FORCE_INLINE __m128 _mm_cmpord_ps(__m128 a, __m128 b) ++{ ++ // Note: NEON does not have ordered compare builtin ++ // Need to compare a eq a and b eq b to check for NaN ++ // Do AND of results to get final ++ uint32x4_t ceqaa = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t ceqbb = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vandq_u32(ceqaa, ceqbb)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ss ++FORCE_INLINE __m128 _mm_cmpord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpord_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ps ++FORCE_INLINE __m128 _mm_cmpunord_ps(__m128 a, __m128 b) ++{ ++ uint32x4_t f32a = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t f32b = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vmvnq_u32(vandq_u32(f32a, f32b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ss ++FORCE_INLINE __m128 _mm_cmpunord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpunord_ps(a, b)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_ss ++FORCE_INLINE int _mm_comieq_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_eq_b = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_eq_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_ss ++FORCE_INLINE int _mm_comige_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_ge_b = ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_ge_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_ss ++FORCE_INLINE int _mm_comigt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_gt_b = ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_gt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_ss ++FORCE_INLINE int _mm_comile_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_le_b = ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_le_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_ss ++FORCE_INLINE int _mm_comilt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_lt_b = ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_lt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_ss ++FORCE_INLINE int _mm_comineq_ss(__m128 a, __m128 b) ++{ ++ return !_mm_comieq_ss(a, b); ++} ++ ++// Convert packed signed 32-bit integers in b to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, and copy the upper 2 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_pi2ps ++FORCE_INLINE __m128 _mm_cvt_pi2ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ps2pi ++FORCE_INLINE __m64 _mm_cvt_ps2pi(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))))); ++#else ++ return vreinterpret_m64_s32(vcvt_s32_f32(vget_low_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION))))); ++#endif ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_si2ss ++FORCE_INLINE __m128 _mm_cvt_si2ss(__m128 a, int b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ss2si ++FORCE_INLINE int _mm_cvt_ss2si(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vgetq_lane_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))), ++ 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int32_t) data; ++#endif ++} ++ ++// Convert packed 16-bit integers in a to packed single-precision (32-bit) ++// floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi16_ps ++FORCE_INLINE __m128 _mm_cvtpi16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vmovl_s16(vreinterpret_s16_m64(a)))); ++} ++ ++// Convert packed 32-bit integers in b to packed single-precision (32-bit) ++// floating-point elements, store the results in the lower 2 elements of dst, ++// and copy the upper 2 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_ps ++FORCE_INLINE __m128 _mm_cvtpi32_ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, then convert the packed signed 32-bit integers in b to ++// single-precision (32-bit) floating-point element, and store the results in ++// the upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32x2_ps ++FORCE_INLINE __m128 _mm_cvtpi32x2_ps(__m64 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vcombine_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b)))); ++} ++ ++// Convert the lower packed 8-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi8_ps ++FORCE_INLINE __m128 _mm_cvtpi8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vmovl_s16(vget_low_s16(vmovl_s8(vreinterpret_s8_m64(a)))))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 16-bit integers, and store the results in dst. Note: this intrinsic ++// will generate 0x7FFF, rather than 0x8000, for input values between 0x7FFF and ++// 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi16 ++FORCE_INLINE __m64 _mm_cvtps_pi16(__m128 a) ++{ ++ return vreinterpret_m64_s16( ++ vqmovn_s32(vreinterpretq_s32_m128i(_mm_cvtps_epi32(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi32 ++#define _mm_cvtps_pi32(a) _mm_cvt_ps2pi(a) ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 8-bit integers, and store the results in lower 4 elements of dst. ++// Note: this intrinsic will generate 0x7F, rather than 0x80, for input values ++// between 0x7F and 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi8 ++FORCE_INLINE __m64 _mm_cvtps_pi8(__m128 a) ++{ ++ return vreinterpret_m64_s8(vqmovn_s16( ++ vcombine_s16(vreinterpret_s16_m64(_mm_cvtps_pi16(a)), vdup_n_s16(0)))); ++} ++ ++// Convert packed unsigned 16-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu16_ps ++FORCE_INLINE __m128 _mm_cvtpu16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_u32(vmovl_u16(vreinterpret_u16_m64(a)))); ++} ++ ++// Convert the lower packed unsigned 8-bit integers in a to packed ++// single-precision (32-bit) floating-point elements, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu8_ps ++FORCE_INLINE __m128 _mm_cvtpu8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_u32( ++ vmovl_u16(vget_low_u16(vmovl_u8(vreinterpret_u8_m64(a)))))); ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_ss ++#define _mm_cvtsi32_ss(a, b) _mm_cvt_si2ss(a, b) ++ ++// Convert the signed 64-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_ss ++FORCE_INLINE __m128 _mm_cvtsi64_ss(__m128 a, int64_t b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Copy the lower single-precision (32-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_f32 ++FORCE_INLINE float _mm_cvtss_f32(__m128 a) ++{ ++ return vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si32 ++#define _mm_cvtss_si32(a) _mm_cvt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si64 ++FORCE_INLINE int64_t _mm_cvtss_si64(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return (int64_t) vgetq_lane_f32(vrndiq_f32(vreinterpretq_f32_m128(a)), 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int64_t) data; ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ps2pi ++FORCE_INLINE __m64 _mm_cvtt_ps2pi(__m128 a) ++{ ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ss2si ++FORCE_INLINE int _mm_cvtt_ss2si(__m128 a) ++{ ++ return vgetq_lane_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)), 0); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_pi32 ++#define _mm_cvttps_pi32(a) _mm_cvtt_ps2pi(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si32 ++#define _mm_cvttss_si32(a) _mm_cvtt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si64 ++FORCE_INLINE int64_t _mm_cvttss_si64(__m128 a) ++{ ++ return (int64_t) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Divide packed single-precision (32-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise division intrinsic, we implement ++// division by multiplying a by b's reciprocal before using the Newton-Raphson ++// method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ps ++FORCE_INLINE __m128 _mm_div_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vdivq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(b)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(a), recip)); ++#endif ++} ++ ++// Divide the lower single-precision (32-bit) floating-point element in a by the ++// lower single-precision (32-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper 3 packed elements from a to ++// the upper elements of dst. ++// Warning: ARMv7-A does not produce the same result compared to Intel and not ++// IEEE-compliant. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ss ++FORCE_INLINE __m128 _mm_div_ss(__m128 a, __m128 b) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_div_ps(a, b)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_pi16 ++#define _mm_extract_pi16(a, imm) \ ++ (int32_t) vget_lane_u16(vreinterpret_u16_m64(a), (imm)) ++ ++// Free aligned memory that was allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_free ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void _mm_free(void *addr) ++{ ++ free(addr); ++} ++#endif ++ ++FORCE_INLINE uint64_t _sse2neon_get_fpcr(void) ++{ ++ uint64_t value; ++#if defined(_MSC_VER) && !defined(__clang__) ++ value = _ReadStatusReg(ARM64_FPCR); ++#else ++ __asm__ __volatile__("mrs %0, FPCR" : "=r"(value)); /* read */ ++#endif ++ return value; ++} ++ ++FORCE_INLINE void _sse2neon_set_fpcr(uint64_t value) ++{ ++#if defined(_MSC_VER) && !defined(__clang__) ++ _WriteStatusReg(ARM64_FPCR, value); ++#else ++ __asm__ __volatile__("msr FPCR, %0" ::"r"(value)); /* write */ ++#endif ++} ++ ++// Macro: Get the flush zero bits from the MXCSR control and status register. ++// The flush zero may contain any of the following flags: _MM_FLUSH_ZERO_ON or ++// _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_FLUSH_ZERO_MODE ++FORCE_INLINE unsigned int _sse2neon_mm_get_flush_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_FLUSH_ZERO_ON : _MM_FLUSH_ZERO_OFF; ++} ++ ++// Macro: Get the rounding mode bits from the MXCSR control and status register. ++// The rounding mode may contain any of the following flags: _MM_ROUND_NEAREST, ++// _MM_ROUND_DOWN, _MM_ROUND_UP, _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_ROUNDING_MODE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ if (r.field.bit22) { ++ return r.field.bit23 ? _MM_ROUND_TOWARD_ZERO : _MM_ROUND_UP; ++ } else { ++ return r.field.bit23 ? _MM_ROUND_DOWN : _MM_ROUND_NEAREST; ++ } ++} ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_pi16 ++#define _mm_insert_pi16(a, b, imm) \ ++ vreinterpret_m64_s16(vset_lane_s16((b), vreinterpret_s16_m64(a), (imm))) ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps ++FORCE_INLINE __m128 _mm_load_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// ++// dst[31:0] := MEM[mem_addr+31:mem_addr] ++// dst[63:32] := MEM[mem_addr+31:mem_addr] ++// dst[95:64] := MEM[mem_addr+31:mem_addr] ++// dst[127:96] := MEM[mem_addr+31:mem_addr] ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps1 ++#define _mm_load_ps1 _mm_load1_ps ++ ++// Load a single-precision (32-bit) floating-point element from memory into the ++// lower of dst, and zero the upper 3 elements. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ss ++FORCE_INLINE __m128 _mm_load_ss(const float *p) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(*p, vdupq_n_f32(0), 0)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_ps ++FORCE_INLINE __m128 _mm_load1_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_dup_f32(p)); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// upper 2 elements of dst, and copy the lower 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pi ++FORCE_INLINE __m128 _mm_loadh_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vget_low_f32(a), vld1_f32((const float32_t *) p))); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// lower 2 elements of dst, and copy the upper 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pi ++FORCE_INLINE __m128 _mm_loadl_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vld1_f32((const float32_t *) p), vget_high_f32(a))); ++} ++ ++// Load 4 single-precision (32-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_ps ++FORCE_INLINE __m128 _mm_loadr_ps(const float *p) ++{ ++ float32x4_t v = vrev64q_f32(vld1q_f32(p)); ++ return vreinterpretq_m128_f32(vextq_f32(v, v, 2)); ++} ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_ps ++FORCE_INLINE __m128 _mm_loadu_ps(const float *p) ++{ ++ // for neon, alignment doesn't matter, so _mm_load_ps and _mm_loadu_ps are ++ // equivalent for neon ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load unaligned 16-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si16 ++FORCE_INLINE __m128i _mm_loadu_si16(const void *p) ++{ ++ return vreinterpretq_m128i_s16( ++ vsetq_lane_s16(*(const unaligned_int16_t *) p, vdupq_n_s16(0), 0)); ++} ++ ++// Load unaligned 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si64 ++FORCE_INLINE __m128i _mm_loadu_si64(const void *p) ++{ ++ return vreinterpretq_m128i_s64( ++ vsetq_lane_s64(*(const unaligned_int64_t *) p, vdupq_n_s64(0), 0)); ++} ++ ++// Allocate size bytes of memory, aligned to the alignment specified in align, ++// and return a pointer to the allocated memory. _mm_free should be used to free ++// memory that is allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_malloc ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void *_mm_malloc(size_t size, size_t align) ++{ ++ void *ptr; ++ if (align == 1) ++ return malloc(size); ++ if (align == 2 || (sizeof(void *) == 8 && align == 4)) ++ align = sizeof(void *); ++ if (!posix_memalign(&ptr, align, size)) ++ return ptr; ++ return NULL; ++} ++#endif ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmove_si64 ++FORCE_INLINE void _mm_maskmove_si64(__m64 a, __m64 mask, char *mem_addr) ++{ ++ int8x8_t shr_mask = vshr_n_s8(vreinterpret_s8_m64(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x8_t masked = ++ vbsl_s8(vreinterpret_u8_s8(shr_mask), vreinterpret_s8_m64(a), ++ vreinterpret_s8_u64(vget_low_u64(vreinterpretq_u64_m128(b)))); ++ vst1_s8((int8_t *) mem_addr, masked); ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_maskmovq ++#define _m_maskmovq(a, mask, mem_addr) _mm_maskmove_si64(a, mask, mem_addr) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pi16 ++FORCE_INLINE __m64 _mm_max_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmax_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) maximum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ps ++FORCE_INLINE __m128 _mm_max_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcgtq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vmaxq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pu8 ++FORCE_INLINE __m64 _mm_max_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmax_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) maximum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ss ++FORCE_INLINE __m128 _mm_max_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_max_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pi16 ++FORCE_INLINE __m64 _mm_min_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmin_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) minimum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ps ++FORCE_INLINE __m128 _mm_min_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcltq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vminq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pu8 ++FORCE_INLINE __m64 _mm_min_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmin_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) minimum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ss ++FORCE_INLINE __m128 _mm_min_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_min_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the lower single-precision (32-bit) floating-point element from b to the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_ss ++FORCE_INLINE __m128 _mm_move_ss(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(vgetq_lane_f32(vreinterpretq_f32_m128(b), 0), ++ vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the upper 2 single-precision (32-bit) floating-point elements from b to ++// the lower 2 elements of dst, and copy the upper 2 elements from a to the ++// upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehl_ps ++FORCE_INLINE __m128 _mm_movehl_ps(__m128 a, __m128 b) ++{ ++#if defined(aarch64__) ++ return vreinterpretq_m128_u64( ++ vzip2q_u64(vreinterpretq_u64_m128(b), vreinterpretq_u64_m128(a))); ++#else ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(b32, a32)); ++#endif ++} ++ ++// Move the lower 2 single-precision (32-bit) floating-point elements from b to ++// the upper 2 elements of dst, and copy the lower 2 elements from a to the ++// lower 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movelh_ps ++FORCE_INLINE __m128 _mm_movelh_ps(__m128 __A, __m128 __B) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(__A)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(__B)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pi8 ++FORCE_INLINE int _mm_movemask_pi8(__m64 a) ++{ ++ uint8x8_t input = vreinterpret_u8_m64(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int8_t shift[8] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint8x8_t tmp = vshr_n_u8(input, 7); ++ return vaddv_u8(vshl_u8(tmp, vld1_s8(shift))); ++#else ++ // Refer the implementation of `_mm_movemask_epi8` ++ uint16x4_t high_bits = vreinterpret_u16_u8(vshr_n_u8(input, 7)); ++ uint32x2_t paired16 = ++ vreinterpret_u32_u16(vsra_n_u16(high_bits, high_bits, 7)); ++ uint8x8_t paired32 = ++ vreinterpret_u8_u32(vsra_n_u32(paired16, paired16, 14)); ++ return vget_lane_u8(paired32, 0) | ((int) vget_lane_u8(paired32, 4) << 4); ++#endif ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed single-precision (32-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_ps ++FORCE_INLINE int _mm_movemask_ps(__m128 a) ++{ ++ uint32x4_t input = vreinterpretq_u32_m128(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int32_t shift[4] = {0, 1, 2, 3}; ++ uint32x4_t tmp = vshrq_n_u32(input, 31); ++ return vaddvq_u32(vshlq_u32(tmp, vld1q_s32(shift))); ++#else ++ // Uses the exact same method as _mm_movemask_epi8, see that for details. ++ // Shift out everything but the sign bits with a 32-bit unsigned shift ++ // right. ++ uint64x2_t high_bits = vreinterpretq_u64_u32(vshrq_n_u32(input, 31)); ++ // Merge the two pairs together with a 64-bit unsigned shift right + add. ++ uint8x16_t paired = ++ vreinterpretq_u8_u64(vsraq_n_u64(high_bits, high_bits, 31)); ++ // Extract the result. ++ return vgetq_lane_u8(paired, 0) | (vgetq_lane_u8(paired, 8) << 2); ++#endif ++} ++ ++// Multiply packed single-precision (32-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ps ++FORCE_INLINE_OPTNONE __m128 _mm_mul_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vmulq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Multiply the lower single-precision (32-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ss ++FORCE_INLINE __m128 _mm_mul_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_mul_ps(a, b)); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_pu16 ++FORCE_INLINE __m64 _mm_mulhi_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16(vshrn_n_u32( ++ vmull_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b)), 16)); ++} ++ ++// Compute the bitwise OR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_ps ++FORCE_INLINE __m128 _mm_or_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vorrq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgb ++#define _m_pavgb(a, b) _mm_avg_pu8(a, b) ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgw ++#define _m_pavgw(a, b) _mm_avg_pu16(a, b) ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pextrw ++#define _m_pextrw(a, imm) _mm_extract_pi16(a, imm) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_pinsrw ++#define _m_pinsrw(a, i, imm) _mm_insert_pi16(a, i, imm) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxsw ++#define _m_pmaxsw(a, b) _mm_max_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxub ++#define _m_pmaxub(a, b) _mm_max_pu8(a, b) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminsw ++#define _m_pminsw(a, b) _mm_min_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminub ++#define _m_pminub(a, b) _mm_min_pu8(a, b) ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmovmskb ++#define _m_pmovmskb(a) _mm_movemask_pi8(a) ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmulhuw ++#define _m_pmulhuw(a, b) _mm_mulhi_pu16(a, b) ++ ++// Fetch the line of data from memory that contains address p to a location in ++// the cache hierarchy specified by the locality hint i. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_prefetch ++FORCE_INLINE void _mm_prefetch(char const *p, int i) ++{ ++ (void) i; ++#if defined(_MSC_VER) && !defined(__clang__) ++ switch (i) { ++ case _MM_HINT_NTA: ++ __prefetch2(p, 1); ++ break; ++ case _MM_HINT_T0: ++ __prefetch2(p, 0); ++ break; ++ case _MM_HINT_T1: ++ __prefetch2(p, 2); ++ break; ++ case _MM_HINT_T2: ++ __prefetch2(p, 4); ++ break; ++ } ++#else ++ switch (i) { ++ case _MM_HINT_NTA: ++ __builtin_prefetch(p, 0, 0); ++ break; ++ case _MM_HINT_T0: ++ __builtin_prefetch(p, 0, 3); ++ break; ++ case _MM_HINT_T1: ++ __builtin_prefetch(p, 0, 2); ++ break; ++ case _MM_HINT_T2: ++ __builtin_prefetch(p, 0, 1); ++ break; ++ } ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_psadbw ++#define _m_psadbw(a, b) _mm_sad_pu8(a, b) ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pshufw ++#define _m_pshufw(a, imm) _mm_shuffle_pi16(a, imm) ++ ++// Compute the approximate reciprocal of packed single-precision (32-bit) ++// floating-point elements in a, and store the results in dst. The maximum ++// relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ps ++FORCE_INLINE __m128 _mm_rcp_ps(__m128 in) ++{ ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(in)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#if SSE2NEON_PRECISE_DIV ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#endif ++ return vreinterpretq_m128_f32(recip); ++} ++ ++// Compute the approximate reciprocal of the lower single-precision (32-bit) ++// floating-point element in a, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ss ++FORCE_INLINE __m128 _mm_rcp_ss(__m128 a) ++{ ++ return _mm_move_ss(a, _mm_rcp_ps(a)); ++} ++ ++// Compute the approximate reciprocal square root of packed single-precision ++// (32-bit) floating-point elements in a, and store the results in dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ps ++FORCE_INLINE __m128 _mm_rsqrt_ps(__m128 in) ++{ ++ float32x4_t out = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Generate masks for detecting whether input has any 0.0f/-0.0f ++ // (which becomes positive/negative infinity by IEEE-754 arithmetic rules). ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t neg_inf = vdupq_n_u32(0xFF800000); ++ const uint32x4_t has_pos_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(out)); ++ const uint32x4_t has_neg_zero = ++ vceqq_u32(neg_inf, vreinterpretq_u32_f32(out)); ++ ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#if SSE2NEON_PRECISE_SQRT ++ // Additional Netwon-Raphson iteration for accuracy ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#endif ++ ++ // Set output vector element to infinity/negative-infinity if ++ // the corresponding input vector element is 0.0f/-0.0f. ++ out = vbslq_f32(has_pos_zero, (float32x4_t) pos_inf, out); ++ out = vbslq_f32(has_neg_zero, (float32x4_t) neg_inf, out); ++ ++ return vreinterpretq_m128_f32(out); ++} ++ ++// Compute the approximate reciprocal square root of the lower single-precision ++// (32-bit) floating-point element in a, store the result in the lower element ++// of dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ss ++FORCE_INLINE __m128 _mm_rsqrt_ss(__m128 in) ++{ ++ return vsetq_lane_f32(vgetq_lane_f32(_mm_rsqrt_ps(in), 0), in, 0); ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_pu8 ++FORCE_INLINE __m64 _mm_sad_pu8(__m64 a, __m64 b) ++{ ++ uint64x1_t t = vpaddl_u32(vpaddl_u16( ++ vpaddl_u8(vabd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))))); ++ return vreinterpret_m64_u16( ++ vset_lane_u16((int) vget_lane_u64(t, 0), vdup_n_u16(0), 0)); ++} ++ ++// Macro: Set the flush zero bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The flush zero may contain any of the ++// following flags: _MM_FLUSH_ZERO_ON or _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_FLUSH_ZERO_MODE ++FORCE_INLINE void _sse2neon_mm_set_flush_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_FLUSH_ZERO_MASK) == _MM_FLUSH_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps ++FORCE_INLINE __m128 _mm_set_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {x, y, z, w}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps1 ++FORCE_INLINE __m128 _mm_set_ps1(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Macro: Set the rounding mode bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The rounding mode may contain any of ++// the following flags: _MM_ROUND_NEAREST, _MM_ROUND_DOWN, _MM_ROUND_UP, ++// _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_ROUNDING_MODE ++FORCE_INLINE_OPTNONE void _MM_SET_ROUNDING_MODE(int rounding) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ switch (rounding) { ++ case _MM_ROUND_TOWARD_ZERO: ++ r.field.bit22 = 1; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_DOWN: ++ r.field.bit22 = 0; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_UP: ++ r.field.bit22 = 1; ++ r.field.bit23 = 0; ++ break; ++ default: //_MM_ROUND_NEAREST ++ r.field.bit22 = 0; ++ r.field.bit23 = 0; ++ } ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Copy single-precision (32-bit) floating-point element a to the lower element ++// of dst, and zero the upper 3 elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ss ++FORCE_INLINE __m128 _mm_set_ss(float a) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(a, vdupq_n_f32(0), 0)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_ps ++FORCE_INLINE __m128 _mm_set1_ps(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Set the MXCSR control and status register with the value in unsigned 32-bit ++// integer a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setcsr ++// FIXME: _mm_setcsr() implementation supports changing the rounding mode only. ++FORCE_INLINE void _mm_setcsr(unsigned int a) ++{ ++ _MM_SET_ROUNDING_MODE(a); ++} ++ ++// Get the unsigned 32-bit value of the MXCSR control and status register. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_getcsr ++// FIXME: _mm_getcsr() implementation supports reading the rounding mode only. ++FORCE_INLINE unsigned int _mm_getcsr(void) ++{ ++ return _MM_GET_ROUNDING_MODE(); ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_ps ++FORCE_INLINE __m128 _mm_setr_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {w, z, y, x}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Return vector of type __m128 with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_ps ++FORCE_INLINE __m128 _mm_setzero_ps(void) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(0)); ++} ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi16 ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pi16(a, imm) \ ++ vreinterpret_m64_s16(vshuffle_s16( \ ++ vreinterpret_s16_m64(a), vreinterpret_s16_m64(a), (imm & 0x3), \ ++ ((imm >> 2) & 0x3), ((imm >> 4) & 0x3), ((imm >> 6) & 0x3))) ++#else ++#define _mm_shuffle_pi16(a, imm) \ ++ _sse2neon_define1( \ ++ __m64, a, int16x4_t ret; \ ++ ret = vmov_n_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), (imm) & (0x3))); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpret_m64_s16(ret));) ++#endif ++ ++// Perform a serializing operation on all store-to-memory instructions that were ++// issued prior to this instruction. Guarantees that every store instruction ++// that precedes, in program order, is globally visible before any store ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sfence ++FORCE_INLINE void _mm_sfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory and store-to-memory ++// instructions that were issued prior to this instruction. Guarantees that ++// every memory access that precedes, in program order, the memory fence ++// instruction is globally visible before any memory instruction which follows ++// the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mfence ++FORCE_INLINE void _mm_mfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory instructions that ++// were issued prior to this instruction. Guarantees that every load instruction ++// that precedes, in program order, is globally visible before any load ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lfence ++FORCE_INLINE void _mm_lfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// FORCE_INLINE __m128 _mm_shuffle_ps(__m128 a, __m128 b, __constrange(0,255) ++// int imm) ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_ps(a, b, imm) \ ++ __extension__({ \ ++ float32x4_t _input1 = vreinterpretq_f32_m128(a); \ ++ float32x4_t _input2 = vreinterpretq_f32_m128(b); \ ++ float32x4_t _shuf = \ ++ vshuffleq_s32(_input1, _input2, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ (((imm) >> 4) & 0x3) + 4, (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128_f32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_ps(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128, a, b, __m128 ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_1032(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_ps_2301(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_ps_0321(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_ps_2103(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_movelh_ps(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_1001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_ps_0101(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 1, 0): \ ++ ret = _mm_shuffle_ps_3210(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 1, 1): \ ++ ret = _mm_shuffle_ps_0011(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 2, 2): \ ++ ret = _mm_shuffle_ps_0022(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 0, 0): \ ++ ret = _mm_shuffle_ps_2200(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 0, 2): \ ++ ret = _mm_shuffle_ps_3202(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 3, 2): \ ++ ret = _mm_movehl_ps(_b, _a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 3, 3): \ ++ ret = _mm_shuffle_ps_1133(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 1, 0): \ ++ ret = _mm_shuffle_ps_2010(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_2001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_2032(_a, _b); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_ps_default(_a, _b, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Compute the square root of packed single-precision (32-bit) floating-point ++// elements in a, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise square root intrinsic, we implement ++// square root by multiplying input in with its reciprocal square root before ++// using the Newton-Raphson method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ps ++FORCE_INLINE __m128 _mm_sqrt_ps(__m128 in) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) && !SSE2NEON_PRECISE_SQRT ++ return vreinterpretq_m128_f32(vsqrtq_f32(vreinterpretq_f32_m128(in))); ++#else ++ float32x4_t recip = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Test for vrsqrteq_f32(0) -> positive infinity case. ++ // Change to zero, so that s * 1/sqrt(s) result is zero too. ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t div_by_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(recip)); ++ recip = vreinterpretq_f32_u32( ++ vandq_u32(vmvnq_u32(div_by_zero), vreinterpretq_u32_f32(recip))); ++ ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ ++ // sqrt(s) = s * 1/sqrt(s) ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(in), recip)); ++#endif ++} ++ ++// Compute the square root of the lower single-precision (32-bit) floating-point ++// element in a, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ss ++FORCE_INLINE __m128 _mm_sqrt_ss(__m128 in) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_sqrt_ps(in)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(in), 0)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps ++FORCE_INLINE void _mm_store_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps1 ++FORCE_INLINE void _mm_store_ps1(float *p, __m128 a) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ vst1q_f32(p, vdupq_n_f32(a0)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ss ++FORCE_INLINE void _mm_store_ss(float *p, __m128 a) ++{ ++ vst1q_lane_f32(p, vreinterpretq_f32_m128(a), 0); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store1_ps ++#define _mm_store1_ps _mm_store_ps1 ++ ++// Store the upper 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pi ++FORCE_INLINE void _mm_storeh_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_high_f32(a)); ++} ++ ++// Store the lower 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pi ++FORCE_INLINE void _mm_storel_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_low_f32(a)); ++} ++ ++// Store 4 single-precision (32-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_ps ++FORCE_INLINE void _mm_storer_ps(float *p, __m128 a) ++{ ++ float32x4_t tmp = vrev64q_f32(vreinterpretq_f32_m128(a)); ++ float32x4_t rev = vextq_f32(tmp, tmp, 2); ++ vst1q_f32(p, rev); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_ps ++FORCE_INLINE void _mm_storeu_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Stores 16-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si16 ++FORCE_INLINE void _mm_storeu_si16(void *p, __m128i a) ++{ ++ vst1q_lane_s16((int16_t *) p, vreinterpretq_s16_m128i(a), 0); ++} ++ ++// Stores 64-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si64 ++FORCE_INLINE void _mm_storeu_si64(void *p, __m128i a) ++{ ++ vst1q_lane_s64((int64_t *) p, vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Store 64-bits of integer data from a into memory using a non-temporal memory ++// hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pi ++FORCE_INLINE void _mm_stream_pi(__m64 *p, __m64 a) ++{ ++ vst1_s64((int64_t *) p, vreinterpret_s64_m64(a)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating- ++// point elements) from a into memory using a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_ps ++FORCE_INLINE void _mm_stream_ps(float *p, __m128 a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (float32x4_t *) p); ++#else ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++#endif ++} ++ ++// Subtract packed single-precision (32-bit) floating-point elements in b from ++// packed single-precision (32-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ps ++FORCE_INLINE __m128 _mm_sub_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Subtract the lower single-precision (32-bit) floating-point element in b from ++// the lower single-precision (32-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper 3 packed elements from ++// a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ss ++FORCE_INLINE __m128 _mm_sub_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_sub_ps(a, b)); ++} ++ ++// Macro: Transpose the 4x4 matrix formed by the 4 rows of single-precision ++// (32-bit) floating-point elements in row0, row1, row2, and row3, and store the ++// transposed matrix in these vectors (row0 now contains column 0, etc.). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=MM_TRANSPOSE4_PS ++#define _MM_TRANSPOSE4_PS(row0, row1, row2, row3) \ ++ do { \ ++ float32x4x2_t ROW01 = vtrnq_f32(row0, row1); \ ++ float32x4x2_t ROW23 = vtrnq_f32(row2, row3); \ ++ row0 = vcombine_f32(vget_low_f32(ROW01.val[0]), \ ++ vget_low_f32(ROW23.val[0])); \ ++ row1 = vcombine_f32(vget_low_f32(ROW01.val[1]), \ ++ vget_low_f32(ROW23.val[1])); \ ++ row2 = vcombine_f32(vget_high_f32(ROW01.val[0]), \ ++ vget_high_f32(ROW23.val[0])); \ ++ row3 = vcombine_f32(vget_high_f32(ROW01.val[1]), \ ++ vget_high_f32(ROW23.val[1])); \ ++ } while (0) ++ ++// according to the documentation, these intrinsics behave the same as the ++// non-'u' versions. We'll just alias them here. ++#define _mm_ucomieq_ss _mm_comieq_ss ++#define _mm_ucomige_ss _mm_comige_ss ++#define _mm_ucomigt_ss _mm_comigt_ss ++#define _mm_ucomile_ss _mm_comile_ss ++#define _mm_ucomilt_ss _mm_comilt_ss ++#define _mm_ucomineq_ss _mm_comineq_ss ++ ++// Return vector of type __m128i with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_undefined_si128 ++FORCE_INLINE __m128i _mm_undefined_si128(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128i a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_si128(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Return vector of type __m128 with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_ps ++FORCE_INLINE __m128 _mm_undefined_ps(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128 a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_ps(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the high half a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_ps ++FORCE_INLINE __m128 _mm_unpackhi_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_ps ++FORCE_INLINE __m128 _mm_unpacklo_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Compute the bitwise XOR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_ps ++FORCE_INLINE __m128 _mm_xor_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ veorq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++/* SSE2 */ ++ ++// Add packed 16-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi16 ++FORCE_INLINE __m128i _mm_add_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed 32-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi32 ++FORCE_INLINE __m128i _mm_add_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vaddq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Add packed 64-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi64 ++FORCE_INLINE __m128i _mm_add_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vaddq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Add packed 8-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi8 ++FORCE_INLINE __m128i _mm_add_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed double-precision (64-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_pd ++FORCE_INLINE __m128d _mm_add_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double a0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ double a1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ double b0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ double b1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 1)); ++ double c[2]; ++ c[0] = a0 + b0; ++ c[1] = a1 + b1; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add the lower double-precision (64-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper element from ++// a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_sd ++FORCE_INLINE __m128d _mm_add_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_add_pd(a, b)); ++#else ++ double a0, a1, b0; ++ a0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ a1 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ b0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ double c[2]; ++ c[0] = a0 + b0; ++ c[1] = a1; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add 64-bit integers a and b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_si64 ++FORCE_INLINE __m64 _mm_add_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vadd_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Add packed signed 16-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi16 ++FORCE_INLINE __m128i _mm_adds_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed signed 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi8 ++FORCE_INLINE __m128i _mm_adds_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed unsigned 16-bit integers in a and b using saturation, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu16 ++FORCE_INLINE __m128i _mm_adds_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqaddq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Add packed unsigned 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu8 ++FORCE_INLINE __m128i _mm_adds_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compute the bitwise AND of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_pd ++FORCE_INLINE __m128d _mm_and_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vandq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_si128 ++FORCE_INLINE __m128i _mm_and_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vandq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compute the bitwise NOT of packed double-precision (64-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_pd ++FORCE_INLINE __m128d _mm_andnot_pd(__m128d a, __m128d b) ++{ ++ // *NOTE* argument swap ++ return vreinterpretq_m128d_s64( ++ vbicq_s64(vreinterpretq_s64_m128d(b), vreinterpretq_s64_m128d(a))); ++} ++ ++// Compute the bitwise NOT of 128 bits (representing integer data) in a and then ++// AND with b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_si128 ++FORCE_INLINE __m128i _mm_andnot_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vbicq_s32(vreinterpretq_s32_m128i(b), ++ vreinterpretq_s32_m128i(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu16 ++FORCE_INLINE __m128i _mm_avg_epu16(__m128i a, __m128i b) ++{ ++ return (__m128i) vrhaddq_u16(vreinterpretq_u16_m128i(a), ++ vreinterpretq_u16_m128i(b)); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu8 ++FORCE_INLINE __m128i _mm_avg_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vrhaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bslli_si128 ++#define _mm_bslli_si128(a, imm) _mm_slli_si128(a, imm) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bsrli_si128 ++#define _mm_bsrli_si128(a, imm) _mm_srli_si128(a, imm) ++ ++// Cast vector of type __m128d to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_ps ++FORCE_INLINE __m128 _mm_castpd_ps(__m128d a) ++{ ++ return vreinterpretq_m128_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128d to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_si128 ++FORCE_INLINE __m128i _mm_castpd_si128(__m128d a) ++{ ++ return vreinterpretq_m128i_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128 to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_pd ++FORCE_INLINE __m128d _mm_castps_pd(__m128 a) ++{ ++ return vreinterpretq_m128d_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128 to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_si128 ++FORCE_INLINE __m128i _mm_castps_si128(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128i to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_pd ++FORCE_INLINE __m128d _mm_castsi128_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vreinterpretq_f64_m128i(a)); ++#else ++ return vreinterpretq_m128d_f32(vreinterpretq_f32_m128i(a)); ++#endif ++} ++ ++// Cast vector of type __m128i to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_ps ++FORCE_INLINE __m128 _mm_castsi128_ps(__m128i a) ++{ ++ return vreinterpretq_m128_s32(vreinterpretq_s32_m128i(a)); ++} ++ ++// Invalidate and flush the cache line that contains p from all levels of the ++// cache hierarchy. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clflush ++#if defined(__APPLE__) ++#include ++#endif ++FORCE_INLINE void _mm_clflush(void const *p) ++{ ++ (void) p; ++ ++ /* sys_icache_invalidate is supported since macOS 10.5. ++ * However, it does not work on non-jailbroken iOS devices, although the ++ * compilation is successful. ++ */ ++#if defined(__APPLE__) ++ sys_icache_invalidate((void *) (uintptr_t) p, SSE2NEON_CACHELINE_SIZE); ++#elif defined(__GNUC__) || defined(__clang__) ++ uintptr_t ptr = (uintptr_t) p; ++ __builtin___clear_cache((char *) ptr, ++ (char *) ptr + SSE2NEON_CACHELINE_SIZE); ++#elif (_MSC_VER) && SSE2NEON_INCLUDE_WINDOWS_H ++ FlushInstructionCache(GetCurrentProcess(), p, SSE2NEON_CACHELINE_SIZE); ++#endif ++} ++ ++// Compare packed 16-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi16 ++FORCE_INLINE __m128i _mm_cmpeq_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vceqq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed 32-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi32 ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vceqq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed 8-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi8 ++FORCE_INLINE __m128i _mm_cmpeq_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vceqq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_pd ++FORCE_INLINE __m128d _mm_cmpeq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_sd ++FORCE_INLINE __m128d _mm_cmpeq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpeq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_pd ++FORCE_INLINE __m128d _mm_cmpge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double a0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ double a1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ double b0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ double b1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 1)); ++ uint64_t d[2]; ++ d[0] = a0 >= b0 ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1 >= b1 ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_sd ++FORCE_INLINE __m128d _mm_cmpge_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpge_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ double a0, b0; ++ a0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ uint64_t a1 = vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1); ++ b0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ uint64_t d[2]; ++ d[0] = a0 >= b0 ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi16 ++FORCE_INLINE __m128i _mm_cmpgt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcgtq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi32 ++FORCE_INLINE __m128i _mm_cmpgt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcgtq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi8 ++FORCE_INLINE __m128i _mm_cmpgt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcgtq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_pd ++FORCE_INLINE __m128d _mm_cmpgt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double a0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ double a1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ double b0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ double b1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 1)); ++ uint64_t d[2]; ++ d[0] = a0 > b0 ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1 > b1 ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_sd ++FORCE_INLINE __m128d _mm_cmpgt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpgt_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ double a0, b0; ++ a0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ uint64_t a1 = vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1); ++ b0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ uint64_t d[2]; ++ d[0] = a0 > b0 ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_pd ++FORCE_INLINE __m128d _mm_cmple_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double a0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ double a1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ double b0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ double b1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 1)); ++ uint64_t d[2]; ++ d[0] = a0 <= b0 ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1 <= b1 ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_sd ++FORCE_INLINE __m128d _mm_cmple_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmple_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ double a0, b0; ++ a0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ uint64_t a1 = vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1); ++ b0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ uint64_t d[2]; ++ d[0] = a0 <= b0 ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtw instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi16 ++FORCE_INLINE __m128i _mm_cmplt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcltq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtd instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi32 ++FORCE_INLINE __m128i _mm_cmplt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcltq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtb instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi8 ++FORCE_INLINE __m128i _mm_cmplt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcltq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_pd ++FORCE_INLINE __m128d _mm_cmplt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double a0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ double a1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ double b0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ double b1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 1)); ++ uint64_t d[2]; ++ d[0] = a0 < b0 ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1 < b1 ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_sd ++FORCE_INLINE __m128d _mm_cmplt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmplt_pd(a, b)); ++#else ++ double a0, b0; ++ a0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ uint64_t a1 = vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1); ++ b0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ uint64_t d[2]; ++ d[0] = a0 < b0 ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_pd ++FORCE_INLINE __m128d _mm_cmpneq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_s32(vmvnq_s32(vreinterpretq_s32_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vmvnq_u32(vandq_u32(cmp, swapped))); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_sd ++FORCE_INLINE __m128d _mm_cmpneq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpneq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_pd ++FORCE_INLINE __m128d _mm_cmpnge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ double a0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ double a1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ double b0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ double b1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 1)); ++ uint64_t d[2]; ++ d[0] = !(a0 >= b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = !(a1 >= b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_sd ++FORCE_INLINE __m128d _mm_cmpnge_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnge_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_cmpngt_pd ++FORCE_INLINE __m128d _mm_cmpngt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ double a0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ double a1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ double b0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ double b1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 1)); ++ uint64_t d[2]; ++ d[0] = !(a0 > b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = !(a1 > b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_sd ++FORCE_INLINE __m128d _mm_cmpngt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpngt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_pd ++FORCE_INLINE __m128d _mm_cmpnle_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ double a0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ double a1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ double b0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ double b1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 1)); ++ uint64_t d[2]; ++ d[0] = !(a0 <= b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = !(a1 <= b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_sd ++FORCE_INLINE __m128d _mm_cmpnle_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnle_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_pd ++FORCE_INLINE __m128d _mm_cmpnlt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ double a0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ double a1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ double b0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ double b1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 1)); ++ uint64_t d[2]; ++ d[0] = !(a0 < b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = !(a1 < b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_sd ++FORCE_INLINE __m128d _mm_cmpnlt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnlt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_pd ++FORCE_INLINE __m128d _mm_cmpord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Excluding NaNs, any two floating point numbers can be compared. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_u64(vandq_u64(not_nan_a, not_nan_b)); ++#else ++ double a0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ double a1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ double b0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ double b1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 1)); ++ uint64_t d[2]; ++ d[0] = (a0 == a0 && b0 == b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (a1 == a1 && b1 == b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_sd ++FORCE_INLINE __m128d _mm_cmpord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpord_pd(a, b)); ++#else ++ double a0, b0; ++ a0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ uint64_t a1 = vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1); ++ b0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ uint64_t d[2]; ++ d[0] = (a0 == a0 && b0 == b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_pd ++FORCE_INLINE __m128d _mm_cmpunord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Two NaNs are not equal in comparison operation. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_s32( ++ vmvnq_s32(vreinterpretq_s32_u64(vandq_u64(not_nan_a, not_nan_b)))); ++#else ++ double a0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ double a1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ double b0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ double b1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 1)); ++ uint64_t d[2]; ++ d[0] = (a0 == a0 && b0 == b0) ? UINT64_C(0) : ~UINT64_C(0); ++ d[1] = (a1 == a1 && b1 == b1) ? UINT64_C(0) : ~UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_sd ++FORCE_INLINE __m128d _mm_cmpunord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpunord_pd(a, b)); ++#else ++ double a0, b0; ++ a0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ uint64_t a1 = vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1); ++ b0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ uint64_t d[2]; ++ d[0] = (a0 == a0 && b0 == b0) ? UINT64_C(0) : ~UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_sd ++FORCE_INLINE int _mm_comige_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgeq_f64(a, b), 0) & 0x1; ++#else ++ double a0, b0; ++ a0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ b0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ return a0 >= b0; ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_sd ++FORCE_INLINE int _mm_comigt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgtq_f64(a, b), 0) & 0x1; ++#else ++ double a0, b0; ++ a0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ b0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ ++ return a0 > b0; ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_sd ++FORCE_INLINE int _mm_comile_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcleq_f64(a, b), 0) & 0x1; ++#else ++ double a0, b0; ++ a0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ b0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ ++ return a0 <= b0; ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_sd ++FORCE_INLINE int _mm_comilt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcltq_f64(a, b), 0) & 0x1; ++#else ++ double a0, b0; ++ a0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ b0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ ++ return a0 < b0; ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_sd ++FORCE_INLINE int _mm_comieq_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vceqq_f64(a, b), 0) & 0x1; ++#else ++ uint32x4_t a_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(a)); ++ uint32x4_t b_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(b), vreinterpretq_u32_m128d(b)); ++ uint32x4_t a_and_b_not_nan = vandq_u32(a_not_nan, b_not_nan); ++ uint32x4_t a_eq_b = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint64x2_t and_results = vandq_u64(vreinterpretq_u64_u32(a_and_b_not_nan), ++ vreinterpretq_u64_u32(a_eq_b)); ++ return vgetq_lane_u64(and_results, 0) & 0x1; ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_sd ++FORCE_INLINE int _mm_comineq_sd(__m128d a, __m128d b) ++{ ++ return !_mm_comieq_sd(a, b); ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_pd ++FORCE_INLINE __m128d _mm_cvtepi32_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a))))); ++#else ++ double a0 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++ double a1 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_ps ++FORCE_INLINE __m128 _mm_cvtepi32_ps(__m128i a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_epi32 ++FORCE_INLINE_OPTNONE __m128i _mm_cvtpd_epi32(__m128d a) ++{ ++// vrnd32xq_f64 not supported on clang ++#if defined(__ARM_FEATURE_FRINT) && !defined(__clang__) ++ float64x2_t rounded = vrnd32xq_f64(vreinterpretq_f64_m128d(a)); ++ int64x2_t integers = vcvtq_s64_f64(rounded); ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vmovn_s64(integers), vdup_n_s32(0))); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0, d1; ++ d0 = sse2neon_recast_u64_f64( ++ vgetq_lane_u64(vreinterpretq_u64_m128d(rnd), 0)); ++ d1 = sse2neon_recast_u64_f64( ++ vgetq_lane_u64(vreinterpretq_u64_m128d(rnd), 1)); ++ return _mm_set_epi32(0, 0, (int32_t) d1, (int32_t) d0); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_pi32 ++FORCE_INLINE_OPTNONE __m64 _mm_cvtpd_pi32(__m128d a) ++{ ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0, d1; ++ d0 = sse2neon_recast_u64_f64( ++ vgetq_lane_u64(vreinterpretq_u64_m128d(rnd), 0)); ++ d1 = sse2neon_recast_u64_f64( ++ vgetq_lane_u64(vreinterpretq_u64_m128d(rnd), 1)); ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) d0, (int32_t) d1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed single-precision (32-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_ps ++FORCE_INLINE __m128 _mm_cvtpd_ps(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float32x2_t tmp = vcvt_f32_f64(vreinterpretq_f64_m128d(a)); ++ return vreinterpretq_m128_f32(vcombine_f32(tmp, vdup_n_f32(0))); ++#else ++ double a0, a1; ++ a0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ a1 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ return _mm_set_ps(0, 0, (float) a1, (float) a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_pd ++FORCE_INLINE __m128d _mm_cvtpi32_pd(__m64 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vreinterpret_s32_m64(a)))); ++#else ++ double a0 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 0); ++ double a1 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_epi32 ++// *NOTE*. The default rounding mode on SSE is 'round to even', which ARMv7-A ++// does not support! It is supported on ARMv8-A however. ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128 a) ++{ ++#if defined(__ARM_FEATURE_FRINT) ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vrnd32xq_f32(a))); ++#elif (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: ++ return vreinterpretq_m128i_s32(vcvtnq_s32_f32(a)); ++ case _MM_ROUND_DOWN: ++ return vreinterpretq_m128i_s32(vcvtmq_s32_f32(a)); ++ case _MM_ROUND_UP: ++ return vreinterpretq_m128i_s32(vcvtpq_s32_f32(a)); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(a)); ++ } ++#else ++ float *f = (float *) &a; ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128i_s32( ++ vbslq_s32(is_delta_half, r_even, r_normal)); ++ } ++ case _MM_ROUND_DOWN: ++ return _mm_set_epi32(floorf(f[3]), floorf(f[2]), floorf(f[1]), ++ floorf(f[0])); ++ case _MM_ROUND_UP: ++ return _mm_set_epi32(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ++ ceilf(f[0])); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return _mm_set_epi32((int32_t) f[3], (int32_t) f[2], (int32_t) f[1], ++ (int32_t) f[0]); ++ } ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed double-precision (64-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pd ++FORCE_INLINE __m128d _mm_cvtps_pd(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvt_f64_f32(vget_low_f32(vreinterpretq_f32_m128(a)))); ++#else ++ double a0 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ double a1 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Copy the lower double-precision (64-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_f64 ++FORCE_INLINE double _mm_cvtsd_f64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (double) vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0); ++#else ++ double _a = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ return _a; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si32 ++FORCE_INLINE int32_t _mm_cvtsd_si32(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int32_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = sse2neon_recast_u64_f64( ++ vgetq_lane_u64(vreinterpretq_u64_m128d(rnd), 0)); ++ return (int32_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64 ++FORCE_INLINE int64_t _mm_cvtsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int64_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = sse2neon_recast_u64_f64( ++ vgetq_lane_u64(vreinterpretq_u64_m128d(rnd), 0)); ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64x ++#define _mm_cvtsd_si64x _mm_cvtsd_si64 ++ ++// Convert the lower double-precision (64-bit) floating-point element in b to a ++// single-precision (32-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_ss ++FORCE_INLINE __m128 _mm_cvtsd_ss(__m128 a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32(vsetq_lane_f32( ++ vget_lane_f32(vcvt_f32_f64(vreinterpretq_f64_m128d(b)), 0), ++ vreinterpretq_f32_m128(a), 0)); ++#else ++ double b0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b0, vreinterpretq_f32_m128(a), 0)); ++#endif ++} ++ ++// Copy the lower 32-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si32 ++FORCE_INLINE int _mm_cvtsi128_si32(__m128i a) ++{ ++ return vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64 ++FORCE_INLINE int64_t _mm_cvtsi128_si64(__m128i a) ++{ ++ return vgetq_lane_s64(vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Convert the signed 32-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_sd ++FORCE_INLINE __m128d _mm_cvtsi32_sd(__m128d a, int32_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ int64_t _b = sse2neon_recast_f64_s64((double) b); ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(_b, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Copy 32-bit integer a to the lower elements of dst, and zero the upper ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_si128 ++FORCE_INLINE __m128i _mm_cvtsi32_si128(int a) ++{ ++ return vreinterpretq_m128i_s32(vsetq_lane_s32(a, vdupq_n_s32(0), 0)); ++} ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_sd ++FORCE_INLINE __m128d _mm_cvtsi64_sd(__m128d a, int64_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ int64_t _b = sse2neon_recast_f64_s64((double) b); ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(_b, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_si128 ++FORCE_INLINE __m128i _mm_cvtsi64_si128(int64_t a) ++{ ++ return vreinterpretq_m128i_s64(vsetq_lane_s64(a, vdupq_n_s64(0), 0)); ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_si128 ++#define _mm_cvtsi64x_si128(a) _mm_cvtsi64_si128(a) ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_sd ++#define _mm_cvtsi64x_sd(a, b) _mm_cvtsi64_sd(a, b) ++ ++// Convert the lower single-precision (32-bit) floating-point element in b to a ++// double-precision (64-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_sd ++FORCE_INLINE __m128d _mm_cvtss_sd(__m128d a, __m128 b) ++{ ++ double d = (double) vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(d, vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_s64(vsetq_lane_s64( ++ sse2neon_recast_f64_s64(d), vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_epi32 ++FORCE_INLINE __m128i _mm_cvttpd_epi32(__m128d a) ++{ ++ double a0, a1; ++ a0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ a1 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ return _mm_set_epi32(0, 0, (int32_t) a1, (int32_t) a0); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_pi32 ++FORCE_INLINE_OPTNONE __m64 _mm_cvttpd_pi32(__m128d a) ++{ ++ double a0, a1; ++ a0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ a1 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) a0, (int32_t) a1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_epi32 ++FORCE_INLINE __m128i _mm_cvttps_epi32(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a))); ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si32 ++FORCE_INLINE int32_t _mm_cvttsd_si32(__m128d a) ++{ ++ double _a = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ return (int32_t) _a; ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64 ++FORCE_INLINE int64_t _mm_cvttsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_s64(vcvtq_s64_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ double _a = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ return (int64_t) _a; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64x ++#define _mm_cvttsd_si64x(a) _mm_cvttsd_si64(a) ++ ++// Divide packed double-precision (64-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_pd ++FORCE_INLINE __m128d _mm_div_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double a0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ double a1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ double b0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ double b1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 1)); ++ double c[2]; ++ c[0] = a0 / b0; ++ c[1] = a1 / b1; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Divide the lower double-precision (64-bit) floating-point element in a by the ++// lower double-precision (64-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper element from a to the upper ++// element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_sd ++FORCE_INLINE __m128d _mm_div_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t tmp = ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1), tmp, 1)); ++#else ++ return _mm_move_sd(a, _mm_div_pd(a, b)); ++#endif ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi16 ++// FORCE_INLINE int _mm_extract_epi16(__m128i a, __constrange(0,8) int imm) ++#define _mm_extract_epi16(a, imm) \ ++ vgetq_lane_u16(vreinterpretq_u16_m128i(a), (imm)) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi16 ++// FORCE_INLINE __m128i _mm_insert_epi16(__m128i a, int b, ++// __constrange(0,8) int imm) ++#define _mm_insert_epi16(a, b, imm) \ ++ vreinterpretq_m128i_s16( \ ++ vsetq_lane_s16((b), vreinterpretq_s16_m128i(a), (imm))) ++ ++// Load 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd ++FORCE_INLINE __m128d _mm_load_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64(p)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], fp[2], fp[3]}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd1 ++#define _mm_load_pd1 _mm_load1_pd ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower of dst, and zero the upper element. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_sd ++FORCE_INLINE __m128d _mm_load_sd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(*p, vdupq_n_f64(0), 0)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], 0, 0}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_si128 ++FORCE_INLINE __m128i _mm_load_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const int32_t *) p)); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_pd ++FORCE_INLINE __m128d _mm_load1_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_dup_f64(p)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(const int64_t *) p)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// upper element of dst, and copy the lower element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pd ++FORCE_INLINE __m128d _mm_loadh_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vget_low_f64(vreinterpretq_f64_m128d(a)), vld1_f64(p))); ++#else ++ return vreinterpretq_m128d_f32(vcombine_f32( ++ vget_low_f32(vreinterpretq_f32_m128d(a)), vld1_f32((const float *) p))); ++#endif ++} ++ ++// Load 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_epi64 ++FORCE_INLINE __m128i _mm_loadl_epi64(__m128i const *p) ++{ ++ /* Load the lower 64 bits of the value pointed to by p into the ++ * lower 64 bits of the result, zeroing the upper 64 bits of the result. ++ */ ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vld1_s32((int32_t const *) p), vcreate_s32(0))); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower element of dst, and copy the upper element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pd ++FORCE_INLINE __m128d _mm_loadl_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vld1_f64(p), vget_high_f64(vreinterpretq_f64_m128d(a)))); ++#else ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vld1_f32((const float *) p), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++#endif ++} ++ ++// Load 2 double-precision (64-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_pd ++FORCE_INLINE __m128d _mm_loadr_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t v = vld1q_f64(p); ++ return vreinterpretq_m128d_f64(vextq_f64(v, v, 1)); ++#else ++ int64x2_t v = vld1q_s64((const int64_t *) p); ++ return vreinterpretq_m128d_s64(vextq_s64(v, v, 1)); ++#endif ++} ++ ++// Loads two double-precision from unaligned memory, floating-point values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_pd ++FORCE_INLINE __m128d _mm_loadu_pd(const double *p) ++{ ++ return _mm_load_pd(p); ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si128 ++FORCE_INLINE __m128i _mm_loadu_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const unaligned_int32_t *) p)); ++} ++ ++// Load unaligned 32-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si32 ++FORCE_INLINE __m128i _mm_loadu_si32(const void *p) ++{ ++ return vreinterpretq_m128i_s32( ++ vsetq_lane_s32(*(const unaligned_int32_t *) p, vdupq_n_s32(0), 0)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Horizontally add adjacent pairs of intermediate ++// 32-bit integers, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_madd_epi16 ++FORCE_INLINE __m128i _mm_madd_epi16(__m128i a, __m128i b) ++{ ++ int32x4_t low = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t high = ++ vmull_high_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b)); ++ ++ return vreinterpretq_m128i_s32(vpaddq_s32(low, high)); ++#else ++ int32x4_t high = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ int32x2_t low_sum = vpadd_s32(vget_low_s32(low), vget_high_s32(low)); ++ int32x2_t high_sum = vpadd_s32(vget_low_s32(high), vget_high_s32(high)); ++ ++ return vreinterpretq_m128i_s32(vcombine_s32(low_sum, high_sum)); ++#endif ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. mem_addr does not need to be aligned ++// on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmoveu_si128 ++FORCE_INLINE void _mm_maskmoveu_si128(__m128i a, __m128i mask, char *mem_addr) ++{ ++ int8x16_t shr_mask = vshrq_n_s8(vreinterpretq_s8_m128i(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x16_t masked = ++ vbslq_s8(vreinterpretq_u8_s8(shr_mask), vreinterpretq_s8_m128i(a), ++ vreinterpretq_s8_m128(b)); ++ vst1q_s8((int8_t *) mem_addr, masked); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi16 ++FORCE_INLINE __m128i _mm_max_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmaxq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu8 ++FORCE_INLINE __m128i _mm_max_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vmaxq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pd ++FORCE_INLINE __m128d _mm_max_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcgtq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vmaxq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ double a0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ double a1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ double b0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ double b1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 1)); ++ int64_t d[2]; ++ d[0] = a0 > b0 ? sse2neon_recast_f64_s64(a0) : sse2neon_recast_f64_s64(b0); ++ d[1] = a1 > b1 ? sse2neon_recast_f64_s64(a1) : sse2neon_recast_f64_s64(b1); ++ ++ return vreinterpretq_m128d_s64(vld1q_s64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_sd ++FORCE_INLINE __m128d _mm_max_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_max_pd(a, b)); ++#else ++ double a0, a1, b0; ++ a0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ a1 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ b0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ double c[2] = {a0 > b0 ? a0 : b0, a1}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi16 ++FORCE_INLINE __m128i _mm_min_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vminq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu8 ++FORCE_INLINE __m128i _mm_min_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vminq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pd ++FORCE_INLINE __m128d _mm_min_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcltq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vminq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ double a0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ double a1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ double b0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ double b1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 1)); ++ int64_t d[2]; ++ d[0] = a0 < b0 ? sse2neon_recast_f64_s64(a0) : sse2neon_recast_f64_s64(b0); ++ d[1] = a1 < b1 ? sse2neon_recast_f64_s64(a1) : sse2neon_recast_f64_s64(b1); ++ return vreinterpretq_m128d_s64(vld1q_s64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_sd ++FORCE_INLINE __m128d _mm_min_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_min_pd(a, b)); ++#else ++ double a0, a1, b0; ++ a0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ a1 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ b0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ double c[2] = {a0 < b0 ? a0 : b0, a1}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to the lower element of dst, and zero the ++// upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_epi64 ++FORCE_INLINE __m128i _mm_move_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vsetq_lane_s64(0, vreinterpretq_s64_m128i(a), 1)); ++} ++ ++// Move the lower double-precision (64-bit) floating-point element from b to the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_sd ++FORCE_INLINE __m128d _mm_move_sd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vget_low_f32(vreinterpretq_f32_m128d(b)), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_epi8 ++FORCE_INLINE int _mm_movemask_epi8(__m128i a) ++{ ++ // Use increasingly wide shifts+adds to collect the sign bits ++ // together. ++ // Since the widening shifts would be rather confusing to follow in little ++ // endian, everything will be illustrated in big endian order instead. This ++ // has a different result - the bits would actually be reversed on a big ++ // endian machine. ++ ++ // Starting input (only half the elements are shown): ++ // 89 ff 1d c0 00 10 99 33 ++ uint8x16_t input = vreinterpretq_u8_m128i(a); ++ ++ // Shift out everything but the sign bits with an unsigned shift right. ++ // ++ // Bytes of the vector:: ++ // 89 ff 1d c0 00 10 99 33 ++ // \ \ \ \ \ \ \ \ high_bits = (uint16x4_t)(input >> 7) ++ // | | | | | | | | ++ // 01 01 00 01 00 00 01 00 ++ // ++ // Bits of first important lane(s): ++ // 10001001 (89) ++ // \______ ++ // | ++ // 00000001 (01) ++ uint16x8_t high_bits = vreinterpretq_u16_u8(vshrq_n_u8(input, 7)); ++ ++ // Merge the even lanes together with a 16-bit unsigned shift right + add. ++ // 'xx' represents garbage data which will be ignored in the final result. ++ // In the important bytes, the add functions like a binary OR. ++ // ++ // 01 01 00 01 00 00 01 00 ++ // \_ | \_ | \_ | \_ | paired16 = (uint32x4_t)(input + (input >> 7)) ++ // \| \| \| \| ++ // xx 03 xx 01 xx 00 xx 02 ++ // ++ // 00000001 00000001 (01 01) ++ // \_______ | ++ // \| ++ // xxxxxxxx xxxxxx11 (xx 03) ++ uint32x4_t paired16 = ++ vreinterpretq_u32_u16(vsraq_n_u16(high_bits, high_bits, 7)); ++ ++ // Repeat with a wider 32-bit shift + add. ++ // xx 03 xx 01 xx 00 xx 02 ++ // \____ | \____ | paired32 = (uint64x1_t)(paired16 + (paired16 >> ++ // 14)) ++ // \| \| ++ // xx xx xx 0d xx xx xx 02 ++ // ++ // 00000011 00000001 (03 01) ++ // \\_____ || ++ // '----.\|| ++ // xxxxxxxx xxxx1101 (xx 0d) ++ uint64x2_t paired32 = ++ vreinterpretq_u64_u32(vsraq_n_u32(paired16, paired16, 14)); ++ ++ // Last, an even wider 64-bit shift + add to get our result in the low 8 bit ++ // lanes. xx xx xx 0d xx xx xx 02 ++ // \_________ | paired64 = (uint8x8_t)(paired32 + (paired32 >> ++ // 28)) ++ // \| ++ // xx xx xx xx xx xx xx d2 ++ // ++ // 00001101 00000010 (0d 02) ++ // \ \___ | | ++ // '---. \| | ++ // xxxxxxxx 11010010 (xx d2) ++ uint8x16_t paired64 = ++ vreinterpretq_u8_u64(vsraq_n_u64(paired32, paired32, 28)); ++ ++ // Extract the low 8 bits from each 64-bit lane with 2 8-bit extracts. ++ // xx xx xx xx xx xx xx d2 ++ // || return paired64[0] ++ // d2 ++ // Note: Little endian would return the correct value 4b (01001011) instead. ++ return vgetq_lane_u8(paired64, 0) | ((int) vgetq_lane_u8(paired64, 8) << 8); ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed double-precision (64-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pd ++FORCE_INLINE int _mm_movemask_pd(__m128d a) ++{ ++ uint64x2_t input = vreinterpretq_u64_m128d(a); ++ uint64x2_t high_bits = vshrq_n_u64(input, 63); ++ return (int) (vgetq_lane_u64(high_bits, 0) | ++ (vgetq_lane_u64(high_bits, 1) << 1)); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movepi64_pi64 ++FORCE_INLINE __m64 _mm_movepi64_pi64(__m128i a) ++{ ++ return vreinterpret_m64_s64(vget_low_s64(vreinterpretq_s64_m128i(a))); ++} ++ ++// Copy the 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movpi64_epi64 ++FORCE_INLINE __m128i _mm_movpi64_epi64(__m64 a) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vreinterpret_s64_m64(a), vdup_n_s64(0))); ++} ++ ++// Multiply the low unsigned 32-bit integers from each packed 64-bit element in ++// a and b, and store the unsigned 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epu32 ++FORCE_INLINE __m128i _mm_mul_epu32(__m128i a, __m128i b) ++{ ++ // vmull_u32 upcasts instead of masking, so we downcast. ++ uint32x2_t a_lo = vmovn_u64(vreinterpretq_u64_m128i(a)); ++ uint32x2_t b_lo = vmovn_u64(vreinterpretq_u64_m128i(b)); ++ return vreinterpretq_m128i_u64(vmull_u32(a_lo, b_lo)); ++} ++ ++// Multiply packed double-precision (64-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_pd ++FORCE_INLINE __m128d _mm_mul_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vmulq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double a0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ double a1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ double b0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ double b1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 1)); ++ double c[2]; ++ c[0] = a0 * b0; ++ c[1] = a1 * b1; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Multiply the lower double-precision (64-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper element ++// from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_mul_sd ++FORCE_INLINE __m128d _mm_mul_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_mul_pd(a, b)); ++} ++ ++// Multiply the low unsigned 32-bit integers from a and b, and store the ++// unsigned 64-bit result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_su32 ++FORCE_INLINE __m64 _mm_mul_su32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u64(vget_low_u64( ++ vmull_u32(vreinterpret_u32_m64(a), vreinterpret_u32_m64(b)))); ++} ++ ++// Multiply the packed signed 16-bit integers in a and b, producing intermediate ++// 32-bit integers, and store the high 16 bits of the intermediate integers in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epi16 ++FORCE_INLINE __m128i _mm_mulhi_epi16(__m128i a, __m128i b) ++{ ++ /* FIXME: issue with large values because of result saturation */ ++ // int16x8_t ret = vqdmulhq_s16(vreinterpretq_s16_m128i(a), ++ // vreinterpretq_s16_m128i(b)); /* =2*a*b */ return ++ // vreinterpretq_m128i_s16(vshrq_n_s16(ret, 1)); ++ int16x4_t a3210 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b3210 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab3210 = vmull_s16(a3210, b3210); /* 3333222211110000 */ ++ int16x4_t a7654 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b7654 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab7654 = vmull_s16(a7654, b7654); /* 7777666655554444 */ ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_s32(ab3210), vreinterpretq_u16_s32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epu16 ++FORCE_INLINE __m128i _mm_mulhi_epu16(__m128i a, __m128i b) ++{ ++ uint16x4_t a3210 = vget_low_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b3210 = vget_low_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab3210 = vmull_u16(a3210, b3210); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32x4_t ab7654 = ++ vmull_high_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ uint16x8_t r = vuzp2q_u16(vreinterpretq_u16_u32(ab3210), ++ vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r); ++#else ++ uint16x4_t a7654 = vget_high_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b7654 = vget_high_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab7654 = vmull_u16(a7654, b7654); ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_u32(ab3210), vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++#endif ++} ++ ++// Multiply the packed 16-bit integers in a and b, producing intermediate 32-bit ++// integers, and store the low 16 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi16 ++FORCE_INLINE __m128i _mm_mullo_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmulq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compute the bitwise OR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_or_pd ++FORCE_INLINE __m128d _mm_or_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vorrq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise OR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_si128 ++FORCE_INLINE __m128i _mm_or_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vorrq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi16 ++FORCE_INLINE __m128i _mm_packs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vqmovn_s16(vreinterpretq_s16_m128i(a)), ++ vqmovn_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi32 ++FORCE_INLINE __m128i _mm_packs_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vqmovn_s32(vreinterpretq_s32_m128i(a)), ++ vqmovn_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi16 ++FORCE_INLINE __m128i _mm_packus_epi16(const __m128i a, const __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcombine_u8(vqmovun_s16(vreinterpretq_s16_m128i(a)), ++ vqmovun_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Pause the processor. This is typically used in spin-wait loops and depending ++// on the x86 processor typical values are in the 40-100 cycle range. The ++// 'yield' instruction isn't a good fit because it's effectively a nop on most ++// Arm cores. Experience with several databases has shown has shown an 'isb' is ++// a reasonable approximation. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_pause ++FORCE_INLINE void _mm_pause(void) ++{ ++#if defined(_MSC_VER) && !defined(__clang__) ++ __isb(_ARM64_BARRIER_SY); ++#else ++ __asm__ __volatile__("isb\n"); ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce two ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of 64-bit elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_epu8 ++FORCE_INLINE __m128i _mm_sad_epu8(__m128i a, __m128i b) ++{ ++ uint16x8_t t = vpaddlq_u8(vabdq_u8((uint8x16_t) a, (uint8x16_t) b)); ++ return vreinterpretq_m128i_u64(vpaddlq_u32(vpaddlq_u16(t))); ++} ++ ++// Set packed 16-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi16 ++FORCE_INLINE __m128i _mm_set_epi16(short i7, ++ short i6, ++ short i5, ++ short i4, ++ short i3, ++ short i2, ++ short i1, ++ short i0) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {i0, i1, i2, i3, i4, i5, i6, i7}; ++ return vreinterpretq_m128i_s16(vld1q_s16(data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi32 ++FORCE_INLINE __m128i _mm_set_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i0, i1, i2, i3}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64 ++FORCE_INLINE __m128i _mm_set_epi64(__m64 i1, __m64 i2) ++{ ++ return _mm_set_epi64x(vget_lane_s64(i1, 0), vget_lane_s64(i2, 0)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64x ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t i1, int64_t i2) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vcreate_s64(i2), vcreate_s64(i1))); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi8 ++FORCE_INLINE __m128i _mm_set_epi8(signed char b15, ++ signed char b14, ++ signed char b13, ++ signed char b12, ++ signed char b11, ++ signed char b10, ++ signed char b9, ++ signed char b8, ++ signed char b7, ++ signed char b6, ++ signed char b5, ++ signed char b4, ++ signed char b3, ++ signed char b2, ++ signed char b1, ++ signed char b0) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd ++FORCE_INLINE __m128d _mm_set_pd(double e1, double e0) ++{ ++ double ALIGN_STRUCT(16) data[2] = {e0, e1}; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64((float64_t *) data)); ++#else ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) data)); ++#endif ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd1 ++#define _mm_set_pd1 _mm_set1_pd ++ ++// Copy double-precision (64-bit) floating-point element a to the lower element ++// of dst, and zero the upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_sd ++FORCE_INLINE __m128d _mm_set_sd(double a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(a, vdupq_n_f64(0), 0)); ++#else ++ return _mm_set_pd(0, a); ++#endif ++} ++ ++// Broadcast 16-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi16 ++FORCE_INLINE __m128i _mm_set1_epi16(short w) ++{ ++ return vreinterpretq_m128i_s16(vdupq_n_s16(w)); ++} ++ ++// Broadcast 32-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi32 ++FORCE_INLINE __m128i _mm_set1_epi32(int _i) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(_i)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64 ++FORCE_INLINE __m128i _mm_set1_epi64(__m64 _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_lane_s64(_i, 0)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64x ++FORCE_INLINE __m128i _mm_set1_epi64x(int64_t _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_n_s64(_i)); ++} ++ ++// Broadcast 8-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi8 ++FORCE_INLINE __m128i _mm_set1_epi8(signed char w) ++{ ++ return vreinterpretq_m128i_s8(vdupq_n_s8(w)); ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_pd ++FORCE_INLINE __m128d _mm_set1_pd(double d) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(d)); ++#else ++ int64_t _d = sse2neon_recast_f64_s64(d); ++ return vreinterpretq_m128d_s64(vdupq_n_s64(_d)); ++#endif ++} ++ ++// Set packed 16-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi16 ++FORCE_INLINE __m128i _mm_setr_epi16(short w0, ++ short w1, ++ short w2, ++ short w3, ++ short w4, ++ short w5, ++ short w6, ++ short w7) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {w0, w1, w2, w3, w4, w5, w6, w7}; ++ return vreinterpretq_m128i_s16(vld1q_s16((int16_t *) data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi32 ++FORCE_INLINE __m128i _mm_setr_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i3, i2, i1, i0}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi64 ++FORCE_INLINE __m128i _mm_setr_epi64(__m64 e1, __m64 e0) ++{ ++ return vreinterpretq_m128i_s64(vcombine_s64(e1, e0)); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi8 ++FORCE_INLINE __m128i _mm_setr_epi8(signed char b0, ++ signed char b1, ++ signed char b2, ++ signed char b3, ++ signed char b4, ++ signed char b5, ++ signed char b6, ++ signed char b7, ++ signed char b8, ++ signed char b9, ++ signed char b10, ++ signed char b11, ++ signed char b12, ++ signed char b13, ++ signed char b14, ++ signed char b15) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_pd ++FORCE_INLINE __m128d _mm_setr_pd(double e1, double e0) ++{ ++ return _mm_set_pd(e0, e1); ++} ++ ++// Return vector of type __m128d with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_pd ++FORCE_INLINE __m128d _mm_setzero_pd(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(0)); ++#else ++ return vreinterpretq_m128d_f32(vdupq_n_f32(0)); ++#endif ++} ++ ++// Return vector of type __m128i with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_si128 ++FORCE_INLINE __m128i _mm_setzero_si128(void) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(0)); ++} ++ ++// Shuffle 32-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi32 ++// FORCE_INLINE __m128i _mm_shuffle_epi32(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shuffle_epi32(a, imm) \ ++ __extension__({ \ ++ int32x4_t _input = vreinterpretq_s32_m128i(a); \ ++ int32x4_t _shuf = \ ++ vshuffleq_s32(_input, _input, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ ((imm) >> 4) & 0x3, ((imm) >> 6) & 0x3); \ ++ vreinterpretq_m128i_s32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_epi32(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, __m128i ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_epi_1032(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_epi_2301(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_epi_0321(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_epi_2103(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_shuffle_epi_1010(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_epi_1001(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_epi_0101(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 1, 1): \ ++ ret = _mm_shuffle_epi_2211(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 2, 2): \ ++ ret = _mm_shuffle_epi_0122(_a); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 2): \ ++ ret = _mm_shuffle_epi_3332(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 0, 0): \ ++ ret = _mm_shuffle_epi32_splat(_a, 0); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 1, 1): \ ++ ret = _mm_shuffle_epi32_splat(_a, 1); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 2, 2): \ ++ ret = _mm_shuffle_epi32_splat(_a, 2); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 3): \ ++ ret = _mm_shuffle_epi32_splat(_a, 3); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_epi32_default(_a, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Shuffle double-precision (64-bit) floating-point elements using the control ++// in imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pd ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pd(a, b, imm8) \ ++ vreinterpretq_m128d_s64( \ ++ vshuffleq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b), \ ++ imm8 & 0x1, ((imm8 & 0x2) >> 1) + 2)) ++#else ++#define _mm_shuffle_pd(a, b, imm8) \ ++ _mm_castsi128_pd(_mm_set_epi64x( \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(b), (imm8 & 0x2) >> 1), \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(a), imm8 & 0x1))) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflehi_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflehi_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = \ ++ vshuffleq_s16(_input, _input, 0, 1, 2, 3, ((imm) & (0x3)) + 4, \ ++ (((imm) >> 2) & 0x3) + 4, (((imm) >> 4) & 0x3) + 4, \ ++ (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflehi_epi16(a, imm) _mm_shufflehi_epi16_function((a), (imm)) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflelo_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflelo_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = vshuffleq_s16( \ ++ _input, _input, ((imm) & (0x3)), (((imm) >> 2) & 0x3), \ ++ (((imm) >> 4) & 0x3), (((imm) >> 6) & 0x3), 4, 5, 6, 7); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflelo_epi16(a, imm) _mm_shufflelo_epi16_function((a), (imm)) ++#endif ++ ++// Shift packed 16-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi16 ++FORCE_INLINE __m128i _mm_sll_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16((int16_t) c); ++ return vreinterpretq_m128i_s16(vshlq_s16(vreinterpretq_s16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi32 ++FORCE_INLINE __m128i _mm_sll_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32((int32_t) c); ++ return vreinterpretq_m128i_s32(vshlq_s32(vreinterpretq_s32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi64 ++FORCE_INLINE __m128i _mm_sll_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64((int64_t) c); ++ return vreinterpretq_m128i_s64(vshlq_s64(vreinterpretq_s64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi16 ++FORCE_INLINE __m128i _mm_slli_epi16(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~15)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16(vreinterpretq_s16_m128i(a), vdupq_n_s16(imm))); ++} ++ ++// Shift packed 32-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi32 ++FORCE_INLINE __m128i _mm_slli_epi32(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~31)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32(vreinterpretq_s32_m128i(a), vdupq_n_s32(imm))); ++} ++ ++// Shift packed 64-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi64 ++FORCE_INLINE __m128i _mm_slli_epi64(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~63)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s64( ++ vshlq_s64(vreinterpretq_s64_m128i(a), vdupq_n_s64(imm))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_si128 ++#define _mm_slli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely(imm == 0)) ret = vreinterpretq_s8_m128i(_a); \ ++ else if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vdupq_n_s8(0), vreinterpretq_s8_m128i(_a), \ ++ ((imm <= 0 || imm > 15) ? 0 : (16 - imm))); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Compute the square root of packed double-precision (64-bit) floating-point ++// elements in a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_pd ++FORCE_INLINE __m128d _mm_sqrt_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsqrtq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double a0, a1; ++ a0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ a1 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ double _a0 = sqrt(a0); ++ double _a1 = sqrt(a1); ++ return _mm_set_pd(_a1, _a0); ++#endif ++} ++ ++// Compute the square root of the lower double-precision (64-bit) floating-point ++// element in b, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_sd ++FORCE_INLINE __m128d _mm_sqrt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_sqrt_pd(b)); ++#else ++ double _a, _b; ++ _a = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ _b = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ return _mm_set_pd(_a, sqrt(_b)); ++#endif ++} ++ ++// Shift packed 16-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi16 ++FORCE_INLINE __m128i _mm_sra_epi16(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_cmplt_epi16(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16((int16x8_t) a, vdupq_n_s16((int) -c))); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi32 ++FORCE_INLINE __m128i _mm_sra_epi32(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_cmplt_epi32(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32((int32x4_t) a, vdupq_n_s32((int) -c))); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in sign ++// bits, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi16 ++FORCE_INLINE __m128i _mm_srai_epi16(__m128i a, int imm) ++{ ++ const int count = (imm & ~15) ? 15 : imm; ++ return (__m128i) vshlq_s16((int16x8_t) a, vdupq_n_s16(-count)); ++} ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi32 ++// FORCE_INLINE __m128i _mm_srai_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srai_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) == 0)) { \ ++ ret = _a; \ ++ } else if (_sse2neon_likely(0 < (imm) && (imm) < 32)) { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshlq_s32(vreinterpretq_s32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } else { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshrq_n_s32(vreinterpretq_s32_m128i(_a), 31)); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 16-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi16 ++FORCE_INLINE __m128i _mm_srl_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16(-(int16_t) c); ++ return vreinterpretq_m128i_u16(vshlq_u16(vreinterpretq_u16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi32 ++FORCE_INLINE __m128i _mm_srl_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32(-(int32_t) c); ++ return vreinterpretq_m128i_u32(vshlq_u32(vreinterpretq_u32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi64 ++FORCE_INLINE __m128i _mm_srl_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64(-(int64_t) c); ++ return vreinterpretq_m128i_u64(vshlq_u64(vreinterpretq_u64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi16 ++#define _mm_srli_epi16(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~15)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u16( \ ++ vshlq_u16(vreinterpretq_u16_m128i(_a), vdupq_n_s16(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi32 ++// FORCE_INLINE __m128i _mm_srli_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srli_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~31)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u32( \ ++ vshlq_u32(vreinterpretq_u32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 64-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi64 ++#define _mm_srli_epi64(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~63)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u64( \ ++ vshlq_u64(vreinterpretq_u64_m128i(_a), vdupq_n_s64(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_si128 ++#define _mm_srli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vreinterpretq_s8_m128i(_a), vdupq_n_s8(0), \ ++ (imm > 15 ? 0 : imm)); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd ++FORCE_INLINE void _mm_store_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64((float64_t *) mem_addr, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_f32((float32_t *) mem_addr, vreinterpretq_f32_m128d(a)); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd1 ++FORCE_INLINE void _mm_store_pd1(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x1_t a_low = vget_low_f64(vreinterpretq_f64_m128d(a)); ++ vst1q_f64((float64_t *) mem_addr, ++ vreinterpretq_f64_m128d(vcombine_f64(a_low, a_low))); ++#else ++ float32x2_t a_low = vget_low_f32(vreinterpretq_f32_m128d(a)); ++ vst1q_f32((float32_t *) mem_addr, ++ vreinterpretq_f32_m128d(vcombine_f32(a_low, a_low))); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_store_sd ++FORCE_INLINE void _mm_store_sd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_u64((uint64_t *) mem_addr, vget_low_u64(vreinterpretq_u64_m128d(a))); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_si128 ++FORCE_INLINE void _mm_store_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#expand=9,526,5601&text=_mm_store1_pd ++#define _mm_store1_pd _mm_store_pd1 ++ ++// Store the upper double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pd ++FORCE_INLINE void _mm_storeh_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_high_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_high_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 64-bit integer from the first element of a into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_epi64 ++FORCE_INLINE void _mm_storel_epi64(__m128i *a, __m128i b) ++{ ++ vst1_u64((uint64_t *) a, vget_low_u64(vreinterpretq_u64_m128i(b))); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pd ++FORCE_INLINE void _mm_storel_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_low_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 2 double-precision (64-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_pd ++FORCE_INLINE void _mm_storer_pd(double *mem_addr, __m128d a) ++{ ++ float32x4_t f = vreinterpretq_f32_m128d(a); ++ _mm_store_pd(mem_addr, vreinterpretq_m128d_f32(vextq_f32(f, f, 2))); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_pd ++FORCE_INLINE void _mm_storeu_pd(double *mem_addr, __m128d a) ++{ ++ _mm_store_pd(mem_addr, a); ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si128 ++FORCE_INLINE void _mm_storeu_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store 32-bit integer from the first element of a into memory. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si32 ++FORCE_INLINE void _mm_storeu_si32(void *p, __m128i a) ++{ ++ vst1q_lane_s32((int32_t *) p, vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory using a non-temporal memory hint. mem_addr must ++// be aligned on a 16-byte boundary or a general-protection exception may be ++// generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pd ++FORCE_INLINE void _mm_stream_pd(double *p, __m128d a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (__m128d *) p); ++#elif defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64(p, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128d(a)); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory using a non-temporal memory ++// hint. mem_addr must be aligned on a 16-byte boundary or a general-protection ++// exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si128 ++FORCE_INLINE void _mm_stream_si128(__m128i *p, __m128i a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, p); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128i(a)); ++#endif ++} ++ ++// Store 32-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si32 ++FORCE_INLINE void _mm_stream_si32(int *p, int a) ++{ ++ vst1q_lane_s32((int32_t *) p, vdupq_n_s32(a), 0); ++} ++ ++// Store 64-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si64 ++FORCE_INLINE void _mm_stream_si64(__int64 *p, __int64 a) ++{ ++ vst1_s64((int64_t *) p, vdup_n_s64((int64_t) a)); ++} ++ ++// Subtract packed 16-bit integers in b from packed 16-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi16 ++FORCE_INLINE __m128i _mm_sub_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed 32-bit integers in b from packed 32-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi32 ++FORCE_INLINE __m128i _mm_sub_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Subtract packed 64-bit integers in b from packed 64-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi64 ++FORCE_INLINE __m128i _mm_sub_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vsubq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Subtract packed 8-bit integers in b from packed 8-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi8 ++FORCE_INLINE __m128i _mm_sub_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed double-precision (64-bit) floating-point elements in b from ++// packed double-precision (64-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_sub_pd ++FORCE_INLINE __m128d _mm_sub_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double a0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ double a1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ double b0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ double b1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 1)); ++ double c[2]; ++ c[0] = a0 - b0; ++ c[1] = a1 - b1; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Subtract the lower double-precision (64-bit) floating-point element in b from ++// the lower double-precision (64-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_sd ++FORCE_INLINE __m128d _mm_sub_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_sub_pd(a, b)); ++} ++ ++// Subtract 64-bit integer b from 64-bit integer a, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_si64 ++FORCE_INLINE __m64 _mm_sub_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vsub_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Subtract packed signed 16-bit integers in b from packed 16-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi16 ++FORCE_INLINE __m128i _mm_subs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed signed 8-bit integers in b from packed 8-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi8 ++FORCE_INLINE __m128i _mm_subs_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed unsigned 16-bit integers in b from packed unsigned 16-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu16 ++FORCE_INLINE __m128i _mm_subs_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqsubq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Subtract packed unsigned 8-bit integers in b from packed unsigned 8-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu8 ++FORCE_INLINE __m128i _mm_subs_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqsubq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++#define _mm_ucomieq_sd _mm_comieq_sd ++#define _mm_ucomige_sd _mm_comige_sd ++#define _mm_ucomigt_sd _mm_comigt_sd ++#define _mm_ucomile_sd _mm_comile_sd ++#define _mm_ucomilt_sd _mm_comilt_sd ++#define _mm_ucomineq_sd _mm_comineq_sd ++ ++// Return vector of type __m128d with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_pd ++FORCE_INLINE __m128d _mm_undefined_pd(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128d a; ++#if defined(_MSC_VER) && !defined(__clang__) ++ a = _mm_setzero_pd(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi16 ++FORCE_INLINE __m128i _mm_unpackhi_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip2q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi32 ++FORCE_INLINE __m128i _mm_unpackhi_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip2q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_high_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi64 ++FORCE_INLINE __m128i _mm_unpackhi_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip2q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_h = vget_high_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_h = vget_high_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_h, b_h)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the high half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi8 ++FORCE_INLINE __m128i _mm_unpackhi_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip2q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the high half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_pd ++FORCE_INLINE __m128d _mm_unpackhi_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip2q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_high_s64(vreinterpretq_s64_m128d(a)), ++ vget_high_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi16 ++FORCE_INLINE __m128i _mm_unpacklo_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip1q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi32 ++FORCE_INLINE __m128i _mm_unpacklo_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip1q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_low_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi64 ++FORCE_INLINE __m128i _mm_unpacklo_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip1q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_l = vget_low_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_l = vget_low_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_l, b_l)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi8 ++FORCE_INLINE __m128i _mm_unpacklo_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip1q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_pd ++FORCE_INLINE __m128d _mm_unpacklo_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip1q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_low_s64(vreinterpretq_s64_m128d(a)), ++ vget_low_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Compute the bitwise XOR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_pd ++FORCE_INLINE __m128d _mm_xor_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ veorq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise XOR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_si128 ++FORCE_INLINE __m128i _mm_xor_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ veorq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++/* SSE3 */ ++ ++// Alternatively add and subtract packed double-precision (64-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_addsub_pd ++FORCE_INLINE __m128d _mm_addsub_pd(__m128d a, __m128d b) ++{ ++ _sse2neon_const __m128d mask = _mm_set_pd(1.0f, -1.0f); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vfmaq_f64(vreinterpretq_f64_m128d(a), ++ vreinterpretq_f64_m128d(b), ++ vreinterpretq_f64_m128d(mask))); ++#else ++ return _mm_add_pd(_mm_mul_pd(b, mask), a); ++#endif ++} ++ ++// Alternatively add and subtract packed single-precision (32-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=addsub_ps ++FORCE_INLINE __m128 _mm_addsub_ps(__m128 a, __m128 b) ++{ ++ _sse2neon_const __m128 mask = _mm_setr_ps(-1.0f, 1.0f, -1.0f, 1.0f); ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_FMA) /* VFPv4+ */ ++ return vreinterpretq_m128_f32(vfmaq_f32(vreinterpretq_f32_m128(a), ++ vreinterpretq_f32_m128(mask), ++ vreinterpretq_f32_m128(b))); ++#else ++ return _mm_add_ps(_mm_mul_ps(b, mask), a); ++#endif ++} ++ ++// Horizontally add adjacent pairs of double-precision (64-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pd ++FORCE_INLINE __m128d _mm_hadd_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vpaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double a0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ double a1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ double b0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ double b1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 1)); ++ double c[] = {a0 + a1, b0 + b1}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of single-precision (32-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_ps ++FORCE_INLINE __m128 _mm_hadd_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vpaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vpadd_f32(a10, a32), vpadd_f32(b10, b32))); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of double-precision (64-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pd ++FORCE_INLINE __m128d _mm_hsub_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vuzp1q_f64(_a, _b), vuzp2q_f64(_a, _b))); ++#else ++ double a0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ double a1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ double b0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ double b1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 1)); ++ double c[] = {a0 - a1, b0 - b1}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of single-precision (32-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_ps ++FORCE_INLINE __m128 _mm_hsub_ps(__m128 _a, __m128 _b) ++{ ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vuzp1q_f32(a, b), vuzp2q_f32(a, b))); ++#else ++ float32x4x2_t c = vuzpq_f32(a, b); ++ return vreinterpretq_m128_f32(vsubq_f32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Load 128-bits of integer data from unaligned memory into dst. This intrinsic ++// may perform better than _mm_loadu_si128 when the data crosses a cache line ++// boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lddqu_si128 ++#define _mm_lddqu_si128 _mm_loadu_si128 ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loaddup_pd ++#define _mm_loaddup_pd _mm_load1_pd ++ ++// Duplicate the low double-precision (64-bit) floating-point element from a, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movedup_pd ++FORCE_INLINE __m128d _mm_movedup_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdupq_laneq_f64(vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_u64( ++ vdupq_n_u64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0))); ++#endif ++} ++ ++// Duplicate odd-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehdup_ps ++FORCE_INLINE __m128 _mm_movehdup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 1, 1, 3, 3)); ++#else ++ float32_t a1 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ float32_t a3 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 3); ++ float ALIGN_STRUCT(16) data[4] = {a1, a1, a3, a3}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Duplicate even-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_moveldup_ps ++FORCE_INLINE __m128 _mm_moveldup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 0, 0, 2, 2)); ++#else ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32_t a2 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 2); ++ float ALIGN_STRUCT(16) data[4] = {a0, a0, a2, a2}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++/* SSSE3 */ ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi16 ++FORCE_INLINE __m128i _mm_abs_epi16(__m128i a) ++{ ++ return vreinterpretq_m128i_s16(vabsq_s16(vreinterpretq_s16_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi32 ++FORCE_INLINE __m128i _mm_abs_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32(vabsq_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi8 ++FORCE_INLINE __m128i _mm_abs_epi8(__m128i a) ++{ ++ return vreinterpretq_m128i_s8(vabsq_s8(vreinterpretq_s8_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi16 ++FORCE_INLINE __m64 _mm_abs_pi16(__m64 a) ++{ ++ return vreinterpret_m64_s16(vabs_s16(vreinterpret_s16_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi32 ++FORCE_INLINE __m64 _mm_abs_pi32(__m64 a) ++{ ++ return vreinterpret_m64_s32(vabs_s32(vreinterpret_s32_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi8 ++FORCE_INLINE __m64 _mm_abs_pi8(__m64 a) ++{ ++ return vreinterpret_m64_s8(vabs_s8(vreinterpret_s8_m64(a))); ++} ++ ++// Concatenate 16-byte blocks in a and b into a 32-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 16 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_epi8 ++#if defined(__GNUC__) && !defined(__clang__) ++#define _mm_alignr_epi8(a, b, imm) \ ++ __extension__({ \ ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); \ ++ uint8x16_t _b = vreinterpretq_u8_m128i(b); \ ++ __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) \ ++ ret = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) \ ++ ret = _mm_srli_si128(a, imm >= 16 ? imm - 16 : 0); \ ++ else \ ++ ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(_b, _a, imm < 16 ? imm : 0)); \ ++ ret; \ ++ }) ++ ++#else ++#define _mm_alignr_epi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, uint8x16_t __a = vreinterpretq_u8_m128i(_a); \ ++ uint8x16_t __b = vreinterpretq_u8_m128i(_b); __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) ret = \ ++ vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) ret = \ ++ _mm_srli_si128(_a, imm >= 16 ? imm - 16 : 0); \ ++ else ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(__b, __a, imm < 16 ? imm : 0)); \ ++ _sse2neon_return(ret);) ++ ++#endif ++ ++// Concatenate 8-byte blocks in a and b into a 16-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 8 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_pi8 ++#define _mm_alignr_pi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m64, a, b, __m64 ret; if (_sse2neon_unlikely((imm) >= 16)) { \ ++ ret = vreinterpret_m64_s8(vdup_n_s8(0)); \ ++ } else { \ ++ uint8x8_t tmp_low; \ ++ uint8x8_t tmp_high; \ ++ if ((imm) >= 8) { \ ++ const int idx = (imm) -8; \ ++ tmp_low = vreinterpret_u8_m64(_a); \ ++ tmp_high = vdup_n_u8(0); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } else { \ ++ const int idx = (imm); \ ++ tmp_low = vreinterpret_u8_m64(_b); \ ++ tmp_high = vreinterpret_u8_m64(_a); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } \ ++ } _sse2neon_return(ret);) ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi16 ++FORCE_INLINE __m128i _mm_hadd_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16(vpaddq_s16(a, b)); ++#else ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(vget_low_s16(a), vget_high_s16(a)), ++ vpadd_s16(vget_low_s16(b), vget_high_s16(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi32 ++FORCE_INLINE __m128i _mm_hadd_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32(vpaddq_s32(a, b)); ++#else ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vpadd_s32(vget_low_s32(a), vget_high_s32(a)), ++ vpadd_s32(vget_low_s32(b), vget_high_s32(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi16 ++FORCE_INLINE __m64 _mm_hadd_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vpadd_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi32 ++FORCE_INLINE __m64 _mm_hadd_pi32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s32( ++ vpadd_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_epi16 ++FORCE_INLINE __m128i _mm_hadds_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ return vreinterpretq_s64_s16( ++ vqaddq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ // Interleave using vshrn/vmovn ++ // [a0|a2|a4|a6|b0|b2|b4|b6] ++ // [a1|a3|a5|a7|b1|b3|b5|b7] ++ int16x8_t ab0246 = vcombine_s16(vmovn_s32(a), vmovn_s32(b)); ++ int16x8_t ab1357 = vcombine_s16(vshrn_n_s32(a, 16), vshrn_n_s32(b, 16)); ++ // Saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(ab0246, ab1357)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_pi16 ++FORCE_INLINE __m64 _mm_hadds_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_s64_s16(vqadd_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t res = vuzp_s16(a, b); ++ return vreinterpret_s64_s16(vqadd_s16(res.val[0], res.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi16 ++FORCE_INLINE __m128i _mm_hsub_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi32 ++FORCE_INLINE __m128i _mm_hsub_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vuzp1q_s32(a, b), vuzp2q_s32(a, b))); ++#else ++ int32x4x2_t c = vuzpq_s32(a, b); ++ return vreinterpretq_m128i_s32(vsubq_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pi16 ++FORCE_INLINE __m64 _mm_hsub_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_hsub_pi32 ++FORCE_INLINE __m64 _mm_hsub_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s32(vsub_s32(vuzp1_s32(a, b), vuzp2_s32(a, b))); ++#else ++ int32x2x2_t c = vuzp_s32(a, b); ++ return vreinterpret_m64_s32(vsub_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_epi16 ++FORCE_INLINE __m128i _mm_hsubs_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vqsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_pi16 ++FORCE_INLINE __m64 _mm_hsubs_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vqsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vqsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, ++// and pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_epi16 ++FORCE_INLINE __m128i _mm_maddubs_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ int16x8_t tl = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_low_u8(a))), ++ vmovl_s8(vget_low_s8(b))); ++ int16x8_t th = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_high_u8(a))), ++ vmovl_s8(vget_high_s8(b))); ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vuzp1q_s16(tl, th), vuzp2q_s16(tl, th))); ++#else ++ // This would be much simpler if x86 would choose to zero extend OR sign ++ // extend, not both. This could probably be optimized better. ++ uint16x8_t a = vreinterpretq_u16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // Zero extend a ++ int16x8_t a_odd = vreinterpretq_s16_u16(vshrq_n_u16(a, 8)); ++ int16x8_t a_even = vreinterpretq_s16_u16(vbicq_u16(a, vdupq_n_u16(0xff00))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x8_t b_even = vshrq_n_s16(vshlq_n_s16(b, 8), 8); ++ int16x8_t b_odd = vshrq_n_s16(b, 8); ++ ++ // multiply ++ int16x8_t prod1 = vmulq_s16(a_even, b_even); ++ int16x8_t prod2 = vmulq_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(prod1, prod2)); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, and ++// pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_pi16 ++FORCE_INLINE __m64 _mm_maddubs_pi16(__m64 _a, __m64 _b) ++{ ++ uint16x4_t a = vreinterpret_u16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // Zero extend a ++ int16x4_t a_odd = vreinterpret_s16_u16(vshr_n_u16(a, 8)); ++ int16x4_t a_even = vreinterpret_s16_u16(vand_u16(a, vdup_n_u16(0xff))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x4_t b_even = vshr_n_s16(vshl_n_s16(b, 8), 8); ++ int16x4_t b_odd = vshr_n_s16(b, 8); ++ ++ // multiply ++ int16x4_t prod1 = vmul_s16(a_even, b_even); ++ int16x4_t prod2 = vmul_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpret_m64_s16(vqadd_s16(prod1, prod2)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Shift right by 15 bits while rounding up, and store ++// the packed 16-bit integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_epi16 ++FORCE_INLINE __m128i _mm_mulhrs_epi16(__m128i a, __m128i b) ++{ ++ // Has issues due to saturation ++ // return vreinterpretq_m128i_s16(vqrdmulhq_s16(a, b)); ++ ++ // Multiply ++ int32x4_t mul_lo = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int32x4_t mul_hi = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ // Rounding narrowing shift right ++ // narrow = (int16_t)((mul + 16384) >> 15); ++ int16x4_t narrow_lo = vrshrn_n_s32(mul_lo, 15); ++ int16x4_t narrow_hi = vrshrn_n_s32(mul_hi, 15); ++ ++ // Join together ++ return vreinterpretq_m128i_s16(vcombine_s16(narrow_lo, narrow_hi)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Truncate each intermediate integer to the 18 most ++// significant bits, round by adding 1, and store bits [16:1] to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_pi16 ++FORCE_INLINE __m64 _mm_mulhrs_pi16(__m64 a, __m64 b) ++{ ++ int32x4_t mul_extend = ++ vmull_s16((vreinterpret_s16_m64(a)), (vreinterpret_s16_m64(b))); ++ ++ // Rounding narrowing shift right ++ return vreinterpret_m64_s16(vrshrn_n_s32(mul_extend, 15)); ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi8 ++FORCE_INLINE __m128i _mm_shuffle_epi8(__m128i a, __m128i b) ++{ ++ int8x16_t tbl = vreinterpretq_s8_m128i(a); // input a ++ uint8x16_t idx = vreinterpretq_u8_m128i(b); // input b ++ uint8x16_t idx_masked = ++ vandq_u8(idx, vdupq_n_u8(0x8F)); // avoid using meaningless bits ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8(vqtbl1q_s8(tbl, idx_masked)); ++#elif defined(__GNUC__) ++ int8x16_t ret; ++ // %e and %f represent the even and odd D registers ++ // respectively. ++ __asm__ __volatile__( ++ "vtbl.8 %e[ret], {%e[tbl], %f[tbl]}, %e[idx]\n" ++ "vtbl.8 %f[ret], {%e[tbl], %f[tbl]}, %f[idx]\n" ++ : [ret] "=&w"(ret) ++ : [tbl] "w"(tbl), [idx] "w"(idx_masked)); ++ return vreinterpretq_m128i_s8(ret); ++#else ++ // use this line if testing on aarch64 ++ int8x8x2_t a_split = {vget_low_s8(tbl), vget_high_s8(tbl)}; ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vtbl2_s8(a_split, vget_low_u8(idx_masked)), ++ vtbl2_s8(a_split, vget_high_u8(idx_masked)))); ++#endif ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi8 ++FORCE_INLINE __m64 _mm_shuffle_pi8(__m64 a, __m64 b) ++{ ++ const int8x8_t controlMask = ++ vand_s8(vreinterpret_s8_m64(b), vdup_n_s8((int8_t) (0x1 << 7 | 0x07))); ++ int8x8_t res = vtbl1_s8(vreinterpret_s8_m64(a), controlMask); ++ return vreinterpret_m64_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed ++// 16-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi16 ++FORCE_INLINE __m128i _mm_sign_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x8_t ltMask = vreinterpretq_u16_s16(vshrq_n_s16(b, 15)); ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqzq_s16(b)); ++#else ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqq_s16(b, vdupq_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s16(a) equals to negative ++ // 'a') based on ltMask ++ int16x8_t masked = vbslq_s16(ltMask, vnegq_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x8_t res = vbicq_s16(masked, zeroMask); ++ return vreinterpretq_m128i_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed ++// 32-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi32 ++FORCE_INLINE __m128i _mm_sign_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x4_t ltMask = vreinterpretq_u32_s32(vshrq_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqzq_s32(b)); ++#else ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqq_s32(b, vdupq_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s32(a) equals to negative ++ // 'a') based on ltMask ++ int32x4_t masked = vbslq_s32(ltMask, vnegq_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x4_t res = vbicq_s32(masked, zeroMask); ++ return vreinterpretq_m128i_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed ++// 8-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi8 ++FORCE_INLINE __m128i _mm_sign_epi8(__m128i _a, __m128i _b) ++{ ++ int8x16_t a = vreinterpretq_s8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x16_t ltMask = vreinterpretq_u8_s8(vshrq_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqzq_s8(b)); ++#else ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqq_s8(b, vdupq_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s8(a) return negative 'a') ++ // based on ltMask ++ int8x16_t masked = vbslq_s8(ltMask, vnegq_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x16_t res = vbicq_s8(masked, zeroMask); ++ ++ return vreinterpretq_m128i_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed 16-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi16 ++FORCE_INLINE __m64 _mm_sign_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x4_t ltMask = vreinterpret_u16_s16(vshr_n_s16(b, 15)); ++ ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceqz_s16(b)); ++#else ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceq_s16(b, vdup_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s16(a) return negative 'a') ++ // based on ltMask ++ int16x4_t masked = vbsl_s16(ltMask, vneg_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x4_t res = vbic_s16(masked, zeroMask); ++ ++ return vreinterpret_m64_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed 32-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi32 ++FORCE_INLINE __m64 _mm_sign_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x2_t ltMask = vreinterpret_u32_s32(vshr_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceqz_s32(b)); ++#else ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceq_s32(b, vdup_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s32(a) return negative 'a') ++ // based on ltMask ++ int32x2_t masked = vbsl_s32(ltMask, vneg_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x2_t res = vbic_s32(masked, zeroMask); ++ ++ return vreinterpret_m64_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed 8-bit integer ++// in b is negative, and store the results in dst. Element in dst are zeroed out ++// when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi8 ++FORCE_INLINE __m64 _mm_sign_pi8(__m64 _a, __m64 _b) ++{ ++ int8x8_t a = vreinterpret_s8_m64(_a); ++ int8x8_t b = vreinterpret_s8_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x8_t ltMask = vreinterpret_u8_s8(vshr_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceqz_s8(b)); ++#else ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceq_s8(b, vdup_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s8(a) return negative 'a') ++ // based on ltMask ++ int8x8_t masked = vbsl_s8(ltMask, vneg_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x8_t res = vbic_s8(masked, zeroMask); ++ ++ return vreinterpret_m64_s8(res); ++} ++ ++/* SSE4.1 */ ++ ++// Blend packed 16-bit integers from a and b using control mask imm8, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_epi16 ++// FORCE_INLINE __m128i _mm_blend_epi16(__m128i a, __m128i b, ++// __constrange(0,255) int imm) ++#define _mm_blend_epi16(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, \ ++ const uint16_t _mask[8] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 1)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 2)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 3)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 4)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 5)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 6)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 7)) ? (uint16_t) -1 : 0x0); \ ++ uint16x8_t _mask_vec = vld1q_u16(_mask); \ ++ uint16x8_t __a = vreinterpretq_u16_m128i(_a); \ ++ uint16x8_t __b = vreinterpretq_u16_m128i(_b); _sse2neon_return( \ ++ vreinterpretq_m128i_u16(vbslq_u16(_mask_vec, __b, __a)));) ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using control mask imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_pd ++#define _mm_blend_pd(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128d, a, b, \ ++ const uint64_t _mask[2] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? ~UINT64_C(0) : UINT64_C(0), \ ++ ((imm) & (1 << 1)) ? ~UINT64_C(0) : UINT64_C(0)); \ ++ uint64x2_t _mask_vec = vld1q_u64(_mask); \ ++ uint64x2_t __a = vreinterpretq_u64_m128d(_a); \ ++ uint64x2_t __b = vreinterpretq_u64_m128d(_b); _sse2neon_return( \ ++ vreinterpretq_m128d_u64(vbslq_u64(_mask_vec, __b, __a)));) ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_ps ++FORCE_INLINE __m128 _mm_blend_ps(__m128 _a, __m128 _b, const char imm8) ++{ ++ const uint32_t ALIGN_STRUCT(16) ++ data[4] = {((imm8) & (1 << 0)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0}; ++ uint32x4_t mask = vld1q_u32(data); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Blend packed 8-bit integers from a and b using mask, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_epi8 ++FORCE_INLINE __m128i _mm_blendv_epi8(__m128i _a, __m128i _b, __m128i _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint8x16_t mask = ++ vreinterpretq_u8_s8(vshrq_n_s8(vreinterpretq_s8_m128i(_mask), 7)); ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ uint8x16_t b = vreinterpretq_u8_m128i(_b); ++ return vreinterpretq_m128i_u8(vbslq_u8(mask, b, a)); ++} ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_pd ++FORCE_INLINE __m128d _mm_blendv_pd(__m128d _a, __m128d _b, __m128d _mask) ++{ ++ uint64x2_t mask = ++ vreinterpretq_u64_s64(vshrq_n_s64(vreinterpretq_s64_m128d(_mask), 63)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64(vbslq_f64(mask, b, a)); ++#else ++ uint64x2_t a = vreinterpretq_u64_m128d(_a); ++ uint64x2_t b = vreinterpretq_u64_m128d(_b); ++ return vreinterpretq_m128d_u64(vbslq_u64(mask, b, a)); ++#endif ++} ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_ps ++FORCE_INLINE __m128 _mm_blendv_ps(__m128 _a, __m128 _b, __m128 _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint32x4_t mask = ++ vreinterpretq_u32_s32(vshrq_n_s32(vreinterpretq_s32_m128(_mask), 31)); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a up ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_pd ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndpq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double a0, a1; ++ a0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ a1 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ return _mm_set_pd(ceil(a1), ceil(a0)); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a up to ++// an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ps ++FORCE_INLINE __m128 _mm_ceil_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndpq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ceilf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b up to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_sd ++FORCE_INLINE __m128d _mm_ceil_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_ceil_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b up to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ss ++FORCE_INLINE __m128 _mm_ceil_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_ceil_ps(b)); ++} ++ ++// Compare packed 64-bit integers in a and b for equality, and store the results ++// in dst ++FORCE_INLINE __m128i _mm_cmpeq_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vceqq_u64(vreinterpretq_u64_m128i(a), vreinterpretq_u64_m128i(b))); ++#else ++ // ARMv7 lacks vceqq_u64 ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128i_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Sign extend packed 16-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi32 ++FORCE_INLINE __m128i _mm_cvtepi16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vmovl_s16(vget_low_s16(vreinterpretq_s16_m128i(a)))); ++} ++ ++// Sign extend packed 16-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi64 ++FORCE_INLINE __m128i _mm_cvtepi16_epi64(__m128i a) ++{ ++ int16x8_t s16x8 = vreinterpretq_s16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Sign extend packed 32-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_epi64 ++FORCE_INLINE __m128i _mm_cvtepi32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a)))); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 16-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi16 ++FORCE_INLINE __m128i _mm_cvtepi8_epi16(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ return vreinterpretq_m128i_s16(s16x8); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi32 ++FORCE_INLINE __m128i _mm_cvtepi8_epi32(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_s32(s32x4); ++} ++ ++// Sign extend packed 8-bit integers in the low 8 bytes of a to packed 64-bit ++// integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi64 ++FORCE_INLINE __m128i _mm_cvtepi8_epi64(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi32 ++FORCE_INLINE __m128i _mm_cvtepu16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_u32( ++ vmovl_u16(vget_low_u16(vreinterpretq_u16_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi64 ++FORCE_INLINE __m128i _mm_cvtepu16_epi64(__m128i a) ++{ ++ uint16x8_t u16x8 = vreinterpretq_u16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Zero extend packed unsigned 32-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu32_epi64 ++FORCE_INLINE __m128i _mm_cvtepu32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_u64( ++ vmovl_u32(vget_low_u32(vreinterpretq_u32_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 16-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi16 ++FORCE_INLINE __m128i _mm_cvtepu8_epi16(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx HGFE DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0H0G 0F0E 0D0C 0B0A */ ++ return vreinterpretq_m128i_u16(u16x8); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi32 ++FORCE_INLINE __m128i _mm_cvtepu8_epi32(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_u32(u32x4); ++} ++ ++// Zero extend packed unsigned 8-bit integers in the low 8 bytes of a to packed ++// 64-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi64 ++FORCE_INLINE __m128i _mm_cvtepu8_epi64(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Conditionally multiply the packed double-precision (64-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, and ++// conditionally store the sum in dst using the low 4 bits of imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_pd ++FORCE_INLINE __m128d _mm_dp_pd(__m128d a, __m128d b, const int imm) ++{ ++ // Generate mask value from constant immediate bit value ++ const int64_t bit0Mask = imm & 0x01 ? UINT64_MAX : 0; ++ const int64_t bit1Mask = imm & 0x02 ? UINT64_MAX : 0; ++#if !SSE2NEON_PRECISE_DP ++ const int64_t bit4Mask = imm & 0x10 ? UINT64_MAX : 0; ++ const int64_t bit5Mask = imm & 0x20 ? UINT64_MAX : 0; ++#endif ++ // Conditional multiplication ++#if !SSE2NEON_PRECISE_DP ++ __m128d mul = _mm_mul_pd(a, b); ++ const __m128d mulMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit5Mask, bit4Mask)); ++ __m128d tmp = _mm_and_pd(mul, mulMask); ++#else ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double d0 = (imm & 0x10) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 0) ++ : 0; ++ double d1 = (imm & 0x20) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 1) ++ : 0; ++#else ++ double a0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ double a1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ double b0 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 0)); ++ double b1 = ++ sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(b), 1)); ++ double d0 = (imm & 0x10) ? a0 * b0 : 0; ++ double d1 = (imm & 0x20) ? a1 * b1 : 0; ++#endif ++ __m128d tmp = _mm_set_pd(d1, d0); ++#endif ++ // Sum the products ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double sum = vpaddd_f64(vreinterpretq_f64_m128d(tmp)); ++#else ++ double _tmp0 = sse2neon_recast_u64_f64( ++ vgetq_lane_u64(vreinterpretq_u64_m128d(tmp), 0)); ++ double _tmp1 = sse2neon_recast_u64_f64( ++ vgetq_lane_u64(vreinterpretq_u64_m128d(tmp), 1)); ++ double sum = _tmp0 + _tmp1; ++#endif ++ // Conditionally store the sum ++ const __m128d sumMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit1Mask, bit0Mask)); ++ __m128d res = _mm_and_pd(_mm_set_pd1(sum), sumMask); ++ return res; ++} ++ ++// Conditionally multiply the packed single-precision (32-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, ++// and conditionally store the sum in dst using the low 4 bits of imm. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_ps ++FORCE_INLINE __m128 _mm_dp_ps(__m128 a, __m128 b, const int imm) ++{ ++ float32x4_t elementwise_prod = _mm_mul_ps(a, b); ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ /* shortcuts */ ++ if (imm == 0xFF) { ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++ ++ if ((imm & 0x0F) == 0x0F) { ++ if (!(imm & (1 << 4))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 0); ++ if (!(imm & (1 << 5))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 1); ++ if (!(imm & (1 << 6))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 2); ++ if (!(imm & (1 << 7))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 3); ++ ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++#endif ++ ++ float s = 0.0f; ++ ++ if (imm & (1 << 4)) ++ s += vgetq_lane_f32(elementwise_prod, 0); ++ if (imm & (1 << 5)) ++ s += vgetq_lane_f32(elementwise_prod, 1); ++ if (imm & (1 << 6)) ++ s += vgetq_lane_f32(elementwise_prod, 2); ++ if (imm & (1 << 7)) ++ s += vgetq_lane_f32(elementwise_prod, 3); ++ ++ const float32_t res[4] = { ++ (imm & 0x1) ? s : 0.0f, ++ (imm & 0x2) ? s : 0.0f, ++ (imm & 0x4) ? s : 0.0f, ++ (imm & 0x8) ? s : 0.0f, ++ }; ++ return vreinterpretq_m128_f32(vld1q_f32(res)); ++} ++ ++// Extract a 32-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi32 ++// FORCE_INLINE int _mm_extract_epi32(__m128i a, __constrange(0,4) int imm) ++#define _mm_extract_epi32(a, imm) \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)) ++ ++// Extract a 64-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi64 ++// FORCE_INLINE __int64 _mm_extract_epi64(__m128i a, __constrange(0,2) int imm) ++#define _mm_extract_epi64(a, imm) \ ++ vgetq_lane_s64(vreinterpretq_s64_m128i(a), (imm)) ++ ++// Extract an 8-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. FORCE_INLINE int _mm_extract_epi8(__m128i a, ++// __constrange(0,16) int imm) ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi8 ++#define _mm_extract_epi8(a, imm) vgetq_lane_u8(vreinterpretq_u8_m128i(a), (imm)) ++ ++// Extracts the selected single-precision (32-bit) floating-point from a. ++// FORCE_INLINE int _mm_extract_ps(__m128 a, __constrange(0,4) int imm) ++#define _mm_extract_ps(a, imm) vgetq_lane_s32(vreinterpretq_s32_m128(a), (imm)) ++ ++// Round the packed double-precision (64-bit) floating-point elements in a down ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_pd ++FORCE_INLINE __m128d _mm_floor_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndmq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double a0, a1; ++ a0 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0)); ++ a1 = sse2neon_recast_u64_f64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 1)); ++ return _mm_set_pd(floor(a1), floor(a0)); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a down ++// to an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ps ++FORCE_INLINE __m128 _mm_floor_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndmq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(floorf(f[3]), floorf(f[2]), floorf(f[1]), floorf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b down to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_sd ++FORCE_INLINE __m128d _mm_floor_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_floor_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b down to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ss ++FORCE_INLINE __m128 _mm_floor_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_floor_ps(b)); ++} ++ ++// Copy a to dst, and insert the 32-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi32 ++// FORCE_INLINE __m128i _mm_insert_epi32(__m128i a, int b, ++// __constrange(0,4) int imm) ++#define _mm_insert_epi32(a, b, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vsetq_lane_s32((b), vreinterpretq_s32_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the 64-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi64 ++// FORCE_INLINE __m128i _mm_insert_epi64(__m128i a, __int64 b, ++// __constrange(0,2) int imm) ++#define _mm_insert_epi64(a, b, imm) \ ++ vreinterpretq_m128i_s64( \ ++ vsetq_lane_s64((b), vreinterpretq_s64_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the lower 8-bit integer from i into dst at the ++// location specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi8 ++// FORCE_INLINE __m128i _mm_insert_epi8(__m128i a, int b, ++// __constrange(0,16) int imm) ++#define _mm_insert_epi8(a, b, imm) \ ++ vreinterpretq_m128i_s8(vsetq_lane_s8((b), vreinterpretq_s8_m128i(a), (imm))) ++ ++// Copy a to tmp, then insert a single-precision (32-bit) floating-point ++// element from b into tmp using the control in imm8. Store tmp to dst using ++// the mask in imm8 (elements are zeroed out when the corresponding bit is set). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=insert_ps ++#define _mm_insert_ps(a, b, imm8) \ ++ _sse2neon_define2( \ ++ __m128, a, b, \ ++ float32x4_t tmp1 = \ ++ vsetq_lane_f32(vgetq_lane_f32(_b, (imm8 >> 6) & 0x3), \ ++ vreinterpretq_f32_m128(_a), 0); \ ++ float32x4_t tmp2 = \ ++ vsetq_lane_f32(vgetq_lane_f32(tmp1, 0), \ ++ vreinterpretq_f32_m128(_a), ((imm8 >> 4) & 0x3)); \ ++ const uint32_t data[4] = \ ++ _sse2neon_init(((imm8) & (1 << 0)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0); \ ++ uint32x4_t mask = vld1q_u32(data); \ ++ float32x4_t all_zeros = vdupq_n_f32(0); \ ++ \ ++ _sse2neon_return(vreinterpretq_m128_f32( \ ++ vbslq_f32(mask, all_zeros, vreinterpretq_f32_m128(tmp2))));) ++ ++// Compare packed signed 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi32 ++FORCE_INLINE __m128i _mm_max_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmaxq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi8 ++FORCE_INLINE __m128i _mm_max_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vmaxq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu16 ++FORCE_INLINE __m128i _mm_max_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vmaxq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_max_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vmaxq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi32 ++FORCE_INLINE __m128i _mm_min_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vminq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi8 ++FORCE_INLINE __m128i _mm_min_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vminq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu16 ++FORCE_INLINE __m128i _mm_min_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vminq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_min_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vminq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Horizontally compute the minimum amongst the packed unsigned 16-bit integers ++// in a, store the minimum and index in dst, and zero the remaining bits in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_minpos_epu16 ++FORCE_INLINE __m128i _mm_minpos_epu16(__m128i a) ++{ ++ __m128i dst; ++ uint16_t min, idx = 0; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Find the minimum value ++ min = vminvq_u16(vreinterpretq_u16_m128i(a)); ++ ++ // Get the index of the minimum value ++ static const uint16_t idxv[] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint16x8_t minv = vdupq_n_u16(min); ++ uint16x8_t cmeq = vceqq_u16(minv, vreinterpretq_u16_m128i(a)); ++ idx = vminvq_u16(vornq_u16(vld1q_u16(idxv), cmeq)); ++#else ++ // Find the minimum value ++ __m64 tmp; ++ tmp = vreinterpret_m64_u16( ++ vmin_u16(vget_low_u16(vreinterpretq_u16_m128i(a)), ++ vget_high_u16(vreinterpretq_u16_m128i(a)))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ min = vget_lane_u16(vreinterpret_u16_m64(tmp), 0); ++ // Get the index of the minimum value ++ int i; ++ for (i = 0; i < 8; i++) { ++ if (min == vgetq_lane_u16(vreinterpretq_u16_m128i(a), 0)) { ++ idx = (uint16_t) i; ++ break; ++ } ++ a = _mm_srli_si128(a, 2); ++ } ++#endif ++ // Generate result ++ dst = _mm_setzero_si128(); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(min, vreinterpretq_u16_m128i(dst), 0)); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(idx, vreinterpretq_u16_m128i(dst), 1)); ++ return dst; ++} ++ ++// Compute the sum of absolute differences (SADs) of quadruplets of unsigned ++// 8-bit integers in a compared to those in b, and store the 16-bit results in ++// dst. Eight SADs are performed using one quadruplet from b and eight ++// quadruplets from a. One quadruplet is selected from b starting at on the ++// offset specified in imm8. Eight quadruplets are formed from sequential 8-bit ++// integers selected from a starting at the offset specified in imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mpsadbw_epu8 ++FORCE_INLINE __m128i _mm_mpsadbw_epu8(__m128i a, __m128i b, const int imm) ++{ ++ uint8x16_t _a, _b; ++ ++ switch (imm & 0x4) { ++ case 0: ++ // do nothing ++ _a = vreinterpretq_u8_m128i(a); ++ break; ++ case 4: ++ _a = vreinterpretq_u8_u32(vextq_u32(vreinterpretq_u32_m128i(a), ++ vreinterpretq_u32_m128i(a), 1)); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ switch (imm & 0x3) { ++ case 0: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 0))); ++ break; ++ case 1: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 1))); ++ break; ++ case 2: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 2))); ++ break; ++ case 3: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 3))); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ int16x8_t c04, c15, c26, c37; ++ uint8x8_t low_b = vget_low_u8(_b); ++ c04 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a), low_b)); ++ uint8x16_t _a_1 = vextq_u8(_a, _a, 1); ++ c15 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_1), low_b)); ++ uint8x16_t _a_2 = vextq_u8(_a, _a, 2); ++ c26 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_2), low_b)); ++ uint8x16_t _a_3 = vextq_u8(_a, _a, 3); ++ c37 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_3), low_b)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // |0|4|2|6| ++ c04 = vpaddq_s16(c04, c26); ++ // |1|5|3|7| ++ c15 = vpaddq_s16(c15, c37); ++ ++ int32x4_t trn1_c = ++ vtrn1q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ int32x4_t trn2_c = ++ vtrn2q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ return vreinterpretq_m128i_s16(vpaddq_s16(vreinterpretq_s16_s32(trn1_c), ++ vreinterpretq_s16_s32(trn2_c))); ++#else ++ int16x4_t c01, c23, c45, c67; ++ c01 = vpadd_s16(vget_low_s16(c04), vget_low_s16(c15)); ++ c23 = vpadd_s16(vget_low_s16(c26), vget_low_s16(c37)); ++ c45 = vpadd_s16(vget_high_s16(c04), vget_high_s16(c15)); ++ c67 = vpadd_s16(vget_high_s16(c26), vget_high_s16(c37)); ++ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(c01, c23), vpadd_s16(c45, c67))); ++#endif ++} ++ ++// Multiply the low signed 32-bit integers from each packed 64-bit element in ++// a and b, and store the signed 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epi32 ++FORCE_INLINE __m128i _mm_mul_epi32(__m128i a, __m128i b) ++{ ++ // vmull_s32 upcasts instead of masking, so we downcast. ++ int32x2_t a_lo = vmovn_s64(vreinterpretq_s64_m128i(a)); ++ int32x2_t b_lo = vmovn_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vmull_s32(a_lo, b_lo)); ++} ++ ++// Multiply the packed 32-bit integers in a and b, producing intermediate 64-bit ++// integers, and store the low 32 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi32 ++FORCE_INLINE __m128i _mm_mullo_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmulq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi32 ++FORCE_INLINE __m128i _mm_packus_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcombine_u16(vqmovun_s32(vreinterpretq_s32_m128i(a)), ++ vqmovun_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_pd ++FORCE_INLINE_OPTNONE __m128d _mm_round_pd(__m128d a, int rounding) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndnq_f64(vreinterpretq_f64_m128d(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_pd(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_pd(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndq_f64(vreinterpretq_f64_m128d(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128d_f64(vrndiq_f64(vreinterpretq_f64_m128d(a))); ++ } ++#else ++ double *v_double = (double *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ double res[2], tmp; ++ for (int i = 0; i < 2; i++) { ++ tmp = (v_double[i] < 0) ? -v_double[i] : v_double[i]; ++ double roundDown = floor(tmp); // Round down value ++ double roundUp = ceil(tmp); // Round up value ++ double diffDown = tmp - roundDown; ++ double diffUp = roundUp - tmp; ++ if (diffDown < diffUp) { ++ /* If it's closer to the round down value, then use it */ ++ res[i] = roundDown; ++ } else if (diffDown > diffUp) { ++ /* If it's closer to the round up value, then use it */ ++ res[i] = roundUp; ++ } else { ++ /* If it's equidistant between round up and round down value, ++ * pick the one which is an even number */ ++ double half = roundDown / 2; ++ if (half != floor(half)) { ++ /* If the round down value is odd, return the round up value ++ */ ++ res[i] = roundUp; ++ } else { ++ /* If the round up value is odd, return the round down value ++ */ ++ res[i] = roundDown; ++ } ++ } ++ res[i] = (v_double[i] < 0) ? -res[i] : res[i]; ++ } ++ return _mm_set_pd(res[1], res[0]); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_pd(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_pd(a); ++ } ++ return _mm_set_pd(v_double[1] > 0 ? floor(v_double[1]) : ceil(v_double[1]), ++ v_double[0] > 0 ? floor(v_double[0]) : ceil(v_double[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed single-precision ++// floating-point elements in dst. ++// software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_round_ps ++FORCE_INLINE_OPTNONE __m128 _mm_round_ps(__m128 a, int rounding) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndnq_f32(vreinterpretq_f32_m128(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_ps(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_ps(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndq_f32(vreinterpretq_f32_m128(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128_f32(vrndiq_f32(vreinterpretq_f32_m128(a))); ++ } ++#else ++ float *v_float = (float *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vbslq_s32(is_delta_half, r_even, r_normal))); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_ps(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_ps(a); ++ } ++ return _mm_set_ps(v_float[3] > 0 ? floorf(v_float[3]) : ceilf(v_float[3]), ++ v_float[2] > 0 ? floorf(v_float[2]) : ceilf(v_float[2]), ++ v_float[1] > 0 ? floorf(v_float[1]) : ceilf(v_float[1]), ++ v_float[0] > 0 ? floorf(v_float[0]) : ceilf(v_float[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b using ++// the rounding parameter, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_sd ++FORCE_INLINE __m128d _mm_round_sd(__m128d a, __m128d b, int rounding) ++{ ++ return _mm_move_sd(a, _mm_round_pd(b, rounding)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b using ++// the rounding parameter, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. Rounding is done according to the ++// rounding[3:0] parameter, which can be one of: ++// (_MM_FROUND_TO_NEAREST_INT |_MM_FROUND_NO_EXC) // round to nearest, and ++// suppress exceptions ++// (_MM_FROUND_TO_NEG_INF |_MM_FROUND_NO_EXC) // round down, and ++// suppress exceptions ++// (_MM_FROUND_TO_POS_INF |_MM_FROUND_NO_EXC) // round up, and suppress ++// exceptions ++// (_MM_FROUND_TO_ZERO |_MM_FROUND_NO_EXC) // truncate, and suppress ++// exceptions _MM_FROUND_CUR_DIRECTION // use MXCSR.RC; see ++// _MM_SET_ROUNDING_MODE ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_ss ++FORCE_INLINE __m128 _mm_round_ss(__m128 a, __m128 b, int rounding) ++{ ++ return _mm_move_ss(a, _mm_round_ps(b, rounding)); ++} ++ ++// Load 128-bits of integer data from memory into dst using a non-temporal ++// memory hint. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_load_si128 ++FORCE_INLINE __m128i _mm_stream_load_si128(__m128i *p) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ return __builtin_nontemporal_load(p); ++#else ++ return vreinterpretq_m128i_s64(vld1q_s64((int64_t *) p)); ++#endif ++} ++ ++// Compute the bitwise NOT of a and then AND with a 128-bit vector containing ++// all 1's, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_ones ++FORCE_INLINE int _mm_test_all_ones(__m128i a) ++{ ++ return (uint64_t) (vgetq_lane_s64(a, 0) & vgetq_lane_s64(a, 1)) == ++ ~(uint64_t) 0; ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_zeros ++FORCE_INLINE int _mm_test_all_zeros(__m128i a, __m128i mask) ++{ ++ int64x2_t a_and_mask = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(mask)); ++ return !(vgetq_lane_s64(a_and_mask, 0) | vgetq_lane_s64(a_and_mask, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute ++// the bitwise NOT of a and then AND with mask, and set CF to 1 if the result is ++// zero, otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_test_mix_ones_zero ++// Note: Argument names may be wrong in the Intel intrinsics guide. ++FORCE_INLINE int _mm_test_mix_ones_zeros(__m128i a, __m128i mask) ++{ ++ uint64x2_t v = vreinterpretq_u64_m128i(a); ++ uint64x2_t m = vreinterpretq_u64_m128i(mask); ++ ++ // find ones (set-bits) and zeros (clear-bits) under clip mask ++ uint64x2_t ones = vandq_u64(m, v); ++ uint64x2_t zeros = vbicq_u64(m, v); ++ ++ // If both 128-bit variables are populated (non-zero) then return 1. ++ // For comparison purposes, first compact each var down to 32-bits. ++ uint32x2_t reduced = vpmax_u32(vqmovn_u64(ones), vqmovn_u64(zeros)); ++ ++ // if folding minimum is non-zero then both vars must be non-zero ++ return (vget_lane_u32(vpmin_u32(reduced, reduced), 0) != 0); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the CF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testc_si128 ++FORCE_INLINE int _mm_testc_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vbicq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testnzc_si128 ++#define _mm_testnzc_si128(a, b) _mm_test_mix_ones_zeros(a, b) ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the ZF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testz_si128 ++FORCE_INLINE int _mm_testz_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++/* SSE4.2 */ ++ ++static const uint16_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask16b[8] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++static const uint8_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask8b[16] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++ ++/* specify the source data format */ ++#define _SIDD_UBYTE_OPS 0x00 /* unsigned 8-bit characters */ ++#define _SIDD_UWORD_OPS 0x01 /* unsigned 16-bit characters */ ++#define _SIDD_SBYTE_OPS 0x02 /* signed 8-bit characters */ ++#define _SIDD_SWORD_OPS 0x03 /* signed 16-bit characters */ ++ ++/* specify the comparison operation */ ++#define _SIDD_CMP_EQUAL_ANY 0x00 /* compare equal any: strchr */ ++#define _SIDD_CMP_RANGES 0x04 /* compare ranges */ ++#define _SIDD_CMP_EQUAL_EACH 0x08 /* compare equal each: strcmp */ ++#define _SIDD_CMP_EQUAL_ORDERED 0x0C /* compare equal ordered */ ++ ++/* specify the polarity */ ++#define _SIDD_POSITIVE_POLARITY 0x00 ++#define _SIDD_MASKED_POSITIVE_POLARITY 0x20 ++#define _SIDD_NEGATIVE_POLARITY 0x10 /* negate results */ ++#define _SIDD_MASKED_NEGATIVE_POLARITY \ ++ 0x30 /* negate results only before end of string */ ++ ++/* specify the output selection in _mm_cmpXstri */ ++#define _SIDD_LEAST_SIGNIFICANT 0x00 ++#define _SIDD_MOST_SIGNIFICANT 0x40 ++ ++/* specify the output selection in _mm_cmpXstrm */ ++#define _SIDD_BIT_MASK 0x00 ++#define _SIDD_UNIT_MASK 0x40 ++ ++/* Pattern Matching for C macros. ++ * https://github.com/pfultz2/Cloak/wiki/C-Preprocessor-tricks,-tips,-and-idioms ++ */ ++ ++/* catenate */ ++#define SSE2NEON_PRIMITIVE_CAT(a, ...) a##__VA_ARGS__ ++#define SSE2NEON_CAT(a, b) SSE2NEON_PRIMITIVE_CAT(a, b) ++ ++#define SSE2NEON_IIF(c) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_IIF_, c) ++/* run the 2nd parameter */ ++#define SSE2NEON_IIF_0(t, ...) __VA_ARGS__ ++/* run the 1st parameter */ ++#define SSE2NEON_IIF_1(t, ...) t ++ ++#define SSE2NEON_COMPL(b) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_COMPL_, b) ++#define SSE2NEON_COMPL_0 1 ++#define SSE2NEON_COMPL_1 0 ++ ++#define SSE2NEON_DEC(x) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_DEC_, x) ++#define SSE2NEON_DEC_1 0 ++#define SSE2NEON_DEC_2 1 ++#define SSE2NEON_DEC_3 2 ++#define SSE2NEON_DEC_4 3 ++#define SSE2NEON_DEC_5 4 ++#define SSE2NEON_DEC_6 5 ++#define SSE2NEON_DEC_7 6 ++#define SSE2NEON_DEC_8 7 ++#define SSE2NEON_DEC_9 8 ++#define SSE2NEON_DEC_10 9 ++#define SSE2NEON_DEC_11 10 ++#define SSE2NEON_DEC_12 11 ++#define SSE2NEON_DEC_13 12 ++#define SSE2NEON_DEC_14 13 ++#define SSE2NEON_DEC_15 14 ++#define SSE2NEON_DEC_16 15 ++ ++/* detection */ ++#define SSE2NEON_CHECK_N(x, n, ...) n ++#define SSE2NEON_CHECK(...) SSE2NEON_CHECK_N(__VA_ARGS__, 0, ) ++#define SSE2NEON_PROBE(x) x, 1, ++ ++#define SSE2NEON_NOT(x) SSE2NEON_CHECK(SSE2NEON_PRIMITIVE_CAT(SSE2NEON_NOT_, x)) ++#define SSE2NEON_NOT_0 SSE2NEON_PROBE(~) ++ ++#define SSE2NEON_BOOL(x) SSE2NEON_COMPL(SSE2NEON_NOT(x)) ++#define SSE2NEON_IF(c) SSE2NEON_IIF(SSE2NEON_BOOL(c)) ++ ++#define SSE2NEON_EAT(...) ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++#define SSE2NEON_WHEN(c) SSE2NEON_IF(c)(SSE2NEON_EXPAND, SSE2NEON_EAT) ++ ++/* recursion */ ++/* deferred expression */ ++#define SSE2NEON_EMPTY() ++#define SSE2NEON_DEFER(id) id SSE2NEON_EMPTY() ++#define SSE2NEON_OBSTRUCT(...) __VA_ARGS__ SSE2NEON_DEFER(SSE2NEON_EMPTY)() ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++ ++#define SSE2NEON_EVAL(...) \ ++ SSE2NEON_EVAL1(SSE2NEON_EVAL1(SSE2NEON_EVAL1(__VA_ARGS__))) ++#define SSE2NEON_EVAL1(...) \ ++ SSE2NEON_EVAL2(SSE2NEON_EVAL2(SSE2NEON_EVAL2(__VA_ARGS__))) ++#define SSE2NEON_EVAL2(...) \ ++ SSE2NEON_EVAL3(SSE2NEON_EVAL3(SSE2NEON_EVAL3(__VA_ARGS__))) ++#define SSE2NEON_EVAL3(...) __VA_ARGS__ ++ ++#define SSE2NEON_REPEAT(count, macro, ...) \ ++ SSE2NEON_WHEN(count) \ ++ (SSE2NEON_OBSTRUCT(SSE2NEON_REPEAT_INDIRECT)()( \ ++ SSE2NEON_DEC(count), macro, \ ++ __VA_ARGS__) SSE2NEON_OBSTRUCT(macro)(SSE2NEON_DEC(count), \ ++ __VA_ARGS__)) ++#define SSE2NEON_REPEAT_INDIRECT() SSE2NEON_REPEAT ++ ++#define SSE2NEON_SIZE_OF_byte 8 ++#define SSE2NEON_NUMBER_OF_LANES_byte 16 ++#define SSE2NEON_SIZE_OF_word 16 ++#define SSE2NEON_NUMBER_OF_LANES_word 8 ++ ++#define SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE(i, type) \ ++ mtx[i] = vreinterpretq_m128i_##type(vceqq_##type( \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)), \ ++ vreinterpretq_##type##_m128i(a))); ++ ++#define SSE2NEON_FILL_LANE(i, type) \ ++ vec_b[i] = \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)); ++ ++#define PCMPSTR_RANGES(a, b, mtx, data_type_prefix, type_prefix, size, \ ++ number_of_lanes, byte_or_word) \ ++ do { \ ++ SSE2NEON_CAT( \ ++ data_type_prefix, \ ++ SSE2NEON_CAT(size, \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(number_of_lanes, _t)))) \ ++ vec_b[number_of_lanes]; \ ++ __m128i mask = SSE2NEON_IIF(byte_or_word)( \ ++ vreinterpretq_m128i_u16(vdupq_n_u16(0xff)), \ ++ vreinterpretq_m128i_u32(vdupq_n_u32(0xffff))); \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, SSE2NEON_FILL_LANE, \ ++ SSE2NEON_CAT(type_prefix, size))) \ ++ for (int i = 0; i < number_of_lanes; i++) { \ ++ mtx[i] = SSE2NEON_CAT(vreinterpretq_m128i_u, \ ++ size)(SSE2NEON_CAT(vbslq_u, size)( \ ++ SSE2NEON_CAT(vreinterpretq_u, \ ++ SSE2NEON_CAT(size, _m128i))(mask), \ ++ SSE2NEON_CAT(vcgeq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))), \ ++ SSE2NEON_CAT(vcleq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))))); \ ++ } \ ++ } while (0) ++ ++#define PCMPSTR_EQ(a, b, mtx, size, number_of_lanes) \ ++ do { \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, \ ++ SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE, \ ++ SSE2NEON_CAT(u, size))) \ ++ } while (0) ++ ++#define SSE2NEON_CMP_EQUAL_ANY_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_any(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_any_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_RANGES_IMPL(type, data_type, us, byte_or_word) \ ++ static int _sse2neon_cmp_##us##type##_ranges(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_RANGES( \ ++ a, b, mtx, data_type, us, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), byte_or_word); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_ranges_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_EQUAL_ORDERED_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_ordered(__m128i a, int la, \ ++ __m128i b, int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_ordered_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type))))( \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), la, lb, mtx); \ ++ } ++ ++static int _sse2neon_aggregate_equal_any_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ int tmp = _sse2neon_vaddvq_u8(vreinterpretq_u8_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_equal_any_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ int tmp = _sse2neon_vaddvq_u16(vreinterpretq_u16_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ANY(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ANY(SSE2NEON_CMP_EQUAL_ANY_) ++ ++static int _sse2neon_aggregate_ranges_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ __m128i tmp = vreinterpretq_m128i_u32( ++ vshrq_n_u32(vreinterpretq_u32_m128i(mtx[j]), 16)); ++ uint32x4_t vec_res = vandq_u32(vreinterpretq_u32_m128i(mtx[j]), ++ vreinterpretq_u32_m128i(tmp)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int t = vaddvq_u32(vec_res) ? 1 : 0; ++#else ++ uint64x2_t sumh = vpaddlq_u32(vec_res); ++ int t = vgetq_lane_u64(sumh, 0) + vgetq_lane_u64(sumh, 1); ++#endif ++ res |= (t << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_ranges_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ __m128i tmp = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 8)); ++ uint16x8_t vec_res = vandq_u16(vreinterpretq_u16_m128i(mtx[j]), ++ vreinterpretq_u16_m128i(tmp)); ++ int t = _sse2neon_vaddvq_u16(vec_res) ? 1 : 0; ++ res |= (t << j); ++ } ++ return res; ++} ++ ++#define SSE2NEON_CMP_RANGES_IS_BYTE 1 ++#define SSE2NEON_CMP_RANGES_IS_WORD 0 ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_RANGES(prefix) \ ++ prefix##IMPL(byte, uint, u, prefix##IS_BYTE) \ ++ prefix##IMPL(byte, int, s, prefix##IS_BYTE) \ ++ prefix##IMPL(word, uint, u, prefix##IS_WORD) \ ++ prefix##IMPL(word, int, s, prefix##IS_WORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_RANGES(SSE2NEON_CMP_RANGES_) ++ ++#undef SSE2NEON_CMP_RANGES_IS_BYTE ++#undef SSE2NEON_CMP_RANGES_IS_WORD ++ ++static int _sse2neon_cmp_byte_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint8x16_t mtx = ++ vceqq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x10000 - (1 << la); ++ int tb = 0x10000 - (1 << lb); ++ uint8x8_t vec_mask, vec0_lo, vec0_hi, vec1_lo, vec1_hi; ++ uint8x8_t tmp_lo, tmp_hi, res_lo, res_hi; ++ vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ vec0_lo = vtst_u8(vdup_n_u8(m0), vec_mask); ++ vec0_hi = vtst_u8(vdup_n_u8(m0 >> 8), vec_mask); ++ vec1_lo = vtst_u8(vdup_n_u8(m1), vec_mask); ++ vec1_hi = vtst_u8(vdup_n_u8(m1 >> 8), vec_mask); ++ tmp_lo = vtst_u8(vdup_n_u8(tb), vec_mask); ++ tmp_hi = vtst_u8(vdup_n_u8(tb >> 8), vec_mask); ++ ++ res_lo = vbsl_u8(vec0_lo, vdup_n_u8(0), vget_low_u8(mtx)); ++ res_hi = vbsl_u8(vec0_hi, vdup_n_u8(0), vget_high_u8(mtx)); ++ res_lo = vbsl_u8(vec1_lo, tmp_lo, res_lo); ++ res_hi = vbsl_u8(vec1_hi, tmp_hi, res_hi); ++ res_lo = vand_u8(res_lo, vec_mask); ++ res_hi = vand_u8(res_hi, vec_mask); ++ ++ int res = _sse2neon_vaddv_u8(res_lo) + (_sse2neon_vaddv_u8(res_hi) << 8); ++ return res; ++} ++ ++static int _sse2neon_cmp_word_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint16x8_t mtx = ++ vceqq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x100 - (1 << la); ++ int tb = 0x100 - (1 << lb); ++ uint16x8_t vec_mask = vld1q_u16(_sse2neon_cmpestr_mask16b); ++ uint16x8_t vec0 = vtstq_u16(vdupq_n_u16(m0), vec_mask); ++ uint16x8_t vec1 = vtstq_u16(vdupq_n_u16(m1), vec_mask); ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(tb), vec_mask); ++ mtx = vbslq_u16(vec0, vdupq_n_u16(0), mtx); ++ mtx = vbslq_u16(vec1, tmp, mtx); ++ mtx = vandq_u16(mtx, vec_mask); ++ return _sse2neon_vaddvq_u16(mtx); ++} ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE 1 ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD 0 ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IMPL(size, number_of_lanes, data_type) \ ++ static int _sse2neon_aggregate_equal_ordered_##size##x##number_of_lanes( \ ++ int bound, int la, int lb, __m128i mtx[16]) \ ++ { \ ++ int res = 0; \ ++ int m1 = SSE2NEON_IIF(data_type)(0x10000, 0x100) - (1 << la); \ ++ uint##size##x8_t vec_mask = SSE2NEON_IIF(data_type)( \ ++ vld1_u##size(_sse2neon_cmpestr_mask##size##b), \ ++ vld1q_u##size(_sse2neon_cmpestr_mask##size##b)); \ ++ uint##size##x##number_of_lanes##_t vec1 = SSE2NEON_IIF(data_type)( \ ++ vcombine_u##size(vtst_u##size(vdup_n_u##size(m1), vec_mask), \ ++ vtst_u##size(vdup_n_u##size(m1 >> 8), vec_mask)), \ ++ vtstq_u##size(vdupq_n_u##size(m1), vec_mask)); \ ++ uint##size##x##number_of_lanes##_t vec_minusone = vdupq_n_u##size(-1); \ ++ uint##size##x##number_of_lanes##_t vec_zero = vdupq_n_u##size(0); \ ++ for (int j = 0; j < lb; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size(vbslq_u##size( \ ++ vec1, vec_minusone, vreinterpretq_u##size##_m128i(mtx[j]))); \ ++ } \ ++ for (int j = lb; j < bound; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size( \ ++ vbslq_u##size(vec1, vec_minusone, vec_zero)); \ ++ } \ ++ unsigned SSE2NEON_IIF(data_type)(char, short) *ptr = \ ++ (unsigned SSE2NEON_IIF(data_type)(char, short) *) mtx; \ ++ for (int i = 0; i < bound; i++) { \ ++ int val = 1; \ ++ for (int j = 0, k = i; j < bound - i && k < bound; j++, k++) \ ++ val &= ptr[k * bound + j]; \ ++ res += val << i; \ ++ } \ ++ return res; \ ++ } ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(prefix) \ ++ prefix##IMPL(8, 16, prefix##IS_UBYTE) \ ++ prefix##IMPL(16, 8, prefix##IS_UWORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(SSE2NEON_AGGREGATE_EQUAL_ORDER_) ++ ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(SSE2NEON_CMP_EQUAL_ORDERED_) ++ ++#define SSE2NEON_CMPESTR_LIST \ ++ _(CMP_UBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_UWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_SBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_SWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_UBYTE_RANGES, cmp_ubyte_ranges) \ ++ _(CMP_UWORD_RANGES, cmp_uword_ranges) \ ++ _(CMP_SBYTE_RANGES, cmp_sbyte_ranges) \ ++ _(CMP_SWORD_RANGES, cmp_sword_ranges) \ ++ _(CMP_UBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_UWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_SBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_SWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_UBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_UWORD_EQUAL_ORDERED, cmp_word_equal_ordered) \ ++ _(CMP_SBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_SWORD_EQUAL_ORDERED, cmp_word_equal_ordered) ++ ++enum { ++#define _(name, func_suffix) name, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++typedef int (*cmpestr_func_t)(__m128i a, int la, __m128i b, int lb); ++static cmpestr_func_t _sse2neon_cmpfunc_table[] = { ++#define _(name, func_suffix) _sse2neon_##func_suffix, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++ ++FORCE_INLINE int _sse2neon_sido_negative(int res, int lb, int imm8, int bound) ++{ ++ switch (imm8 & 0x30) { ++ case _SIDD_NEGATIVE_POLARITY: ++ res ^= 0xffffffff; ++ break; ++ case _SIDD_MASKED_NEGATIVE_POLARITY: ++ res ^= (1 << lb) - 1; ++ break; ++ default: ++ break; ++ } ++ ++ return res & ((bound == 8) ? 0xFF : 0xFFFF); ++} ++ ++FORCE_INLINE int _sse2neon_clz(unsigned int x) ++{ ++#if defined(_MSC_VER) && !defined(__clang__) ++ unsigned long cnt = 0; ++ if (_BitScanReverse(&cnt, x)) ++ return 31 - cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_clz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctz(unsigned int x) ++{ ++#if defined(_MSC_VER) && !defined(__clang__) ++ unsigned long cnt = 0; ++ if (_BitScanForward(&cnt, x)) ++ return cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_ctz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctzll(unsigned long long x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt; ++#if defined(SSE2NEON_HAS_BITSCAN64) ++ if (_BitScanForward64(&cnt, x)) ++ return (int) (cnt); ++#else ++ if (_BitScanForward(&cnt, (unsigned long) (x))) ++ return (int) cnt; ++ if (_BitScanForward(&cnt, (unsigned long) (x >> 32))) ++ return (int) (cnt + 32); ++#endif /* SSE2NEON_HAS_BITSCAN64 */ ++ return 64; ++#else /* assume GNU compatible compilers */ ++ return x != 0 ? __builtin_ctzll(x) : 64; ++#endif ++} ++ ++#define SSE2NEON_MIN(x, y) (x) < (y) ? (x) : (y) ++ ++#define SSE2NEON_CMPSTR_SET_UPPER(var, imm) \ ++ const int var = (imm & 0x01) ? 8 : 16 ++ ++#define SSE2NEON_CMPESTRX_LEN_PAIR(a, b, la, lb) \ ++ int tmp1 = la ^ (la >> 31); \ ++ la = tmp1 - (la >> 31); \ ++ int tmp2 = lb ^ (lb >> 31); \ ++ lb = tmp2 - (lb >> 31); \ ++ la = SSE2NEON_MIN(la, bound); \ ++ lb = SSE2NEON_MIN(lb, bound) ++ ++// Compare all pairs of character in string a and b, ++// then aggregate the result. ++// As the only difference of PCMPESTR* and PCMPISTR* is the way to calculate the ++// length of string, we use SSE2NEON_CMP{I,E}STRX_GET_LEN to get the length of ++// string a and b. ++#define SSE2NEON_COMP_AGG(a, b, la, lb, imm8, IE) \ ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); \ ++ SSE2NEON_##IE##_LEN_PAIR(a, b, la, lb); \ ++ int r2 = (_sse2neon_cmpfunc_table[imm8 & 0x0f])(a, la, b, lb); \ ++ r2 = _sse2neon_sido_negative(r2, lb, imm8, bound) ++ ++#define SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8) \ ++ return (r2 == 0) ? bound \ ++ : ((imm8 & 0x40) ? (31 - _sse2neon_clz(r2)) \ ++ : _sse2neon_ctz(r2)) ++ ++#define SSE2NEON_CMPSTR_GENERATE_MASK(dst) \ ++ __m128i dst = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ if (imm8 & 0x40) { \ ++ if (bound == 8) { \ ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(r2), \ ++ vld1q_u16(_sse2neon_cmpestr_mask16b)); \ ++ dst = vreinterpretq_m128i_u16(vbslq_u16( \ ++ tmp, vdupq_n_u16(-1), vreinterpretq_u16_m128i(dst))); \ ++ } else { \ ++ uint8x16_t vec_r2 = \ ++ vcombine_u8(vdup_n_u8(r2), vdup_n_u8(r2 >> 8)); \ ++ uint8x16_t tmp = \ ++ vtstq_u8(vec_r2, vld1q_u8(_sse2neon_cmpestr_mask8b)); \ ++ dst = vreinterpretq_m128i_u8( \ ++ vbslq_u8(tmp, vdupq_n_u8(-1), vreinterpretq_u8_m128i(dst))); \ ++ } \ ++ } else { \ ++ if (bound == 16) { \ ++ dst = vreinterpretq_m128i_u16( \ ++ vsetq_lane_u16(r2 & 0xffff, vreinterpretq_u16_m128i(dst), 0)); \ ++ } else { \ ++ dst = vreinterpretq_m128i_u8( \ ++ vsetq_lane_u8(r2 & 0xff, vreinterpretq_u8_m128i(dst), 0)); \ ++ } \ ++ } \ ++ return dst ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and returns 1 if b did not contain a null character and the ++// resulting mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestra ++FORCE_INLINE int _mm_cmpestra(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ int lb_cpy = lb; ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return !r2 & (lb_cpy > bound); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrc ++FORCE_INLINE int _mm_cmpestrc(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestri ++FORCE_INLINE int _mm_cmpestri(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrm ++FORCE_INLINE __m128i ++_mm_cmpestrm(__m128i a, int la, __m128i b, int lb, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestro ++FORCE_INLINE int _mm_cmpestro(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrs ++FORCE_INLINE int _mm_cmpestrs(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) lb; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrz ++FORCE_INLINE int _mm_cmpestrz(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) la; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return lb <= (bound - 1); ++} ++ ++#define SSE2NEON_CMPISTRX_LENGTH(str, len, imm8) \ ++ do { \ ++ if (imm8 & 0x01) { \ ++ uint16x8_t equal_mask_##str = \ ++ vceqq_u16(vreinterpretq_u16_m128i(str), vdupq_n_u16(0)); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 3; \ ++ } else { \ ++ uint16x8_t equal_mask_##str = vreinterpretq_u16_u8( \ ++ vceqq_u8(vreinterpretq_u8_m128i(str), vdupq_n_u8(0))); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 2; \ ++ } \ ++ } while (0) ++ ++#define SSE2NEON_CMPISTRX_LEN_PAIR(a, b, la, lb) \ ++ int la, lb; \ ++ do { \ ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); \ ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); \ ++ } while (0) ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if b did not contain a null character and the resulting ++// mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistra ++FORCE_INLINE int _mm_cmpistra(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return !r2 & (lb >= bound); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrc ++FORCE_INLINE int _mm_cmpistrc(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistri ++FORCE_INLINE int _mm_cmpistri(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrm ++FORCE_INLINE __m128i _mm_cmpistrm(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistro ++FORCE_INLINE int _mm_cmpistro(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrs ++FORCE_INLINE int _mm_cmpistrs(__m128i a, __m128i b, const int imm8) ++{ ++ (void) b; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int la; ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrz ++FORCE_INLINE int _mm_cmpistrz(__m128i a, __m128i b, const int imm8) ++{ ++ (void) a; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int lb; ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); ++ return lb <= (bound - 1); ++} ++ ++// Compares the 2 signed 64-bit integers in a and the 2 signed 64-bit integers ++// in b for greater than. ++FORCE_INLINE __m128i _mm_cmpgt_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vcgtq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ return vreinterpretq_m128i_s64(vshrq_n_s64( ++ vqsubq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)), ++ 63)); ++#endif ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 16-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u16 ++FORCE_INLINE uint32_t _mm_crc32_u16(uint32_t crc, uint16_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32ch %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32ch(crc, v); ++#else ++ crc = _mm_crc32_u8(crc, v & 0xff); ++ crc = _mm_crc32_u8(crc, (v >> 8) & 0xff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 32-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u32 ++FORCE_INLINE uint32_t _mm_crc32_u32(uint32_t crc, uint32_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cw %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cw(crc, v); ++#else ++ crc = _mm_crc32_u16(crc, v & 0xffff); ++ crc = _mm_crc32_u16(crc, (v >> 16) & 0xffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 64-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u64 ++FORCE_INLINE uint64_t _mm_crc32_u64(uint64_t crc, uint64_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cx %w[c], %w[c], %x[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cd((uint32_t) crc, v); ++#else ++ crc = _mm_crc32_u32((uint32_t) (crc), v & 0xffffffff); ++ crc = _mm_crc32_u32((uint32_t) (crc), (v >> 32) & 0xffffffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 8-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u8 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t crc, uint8_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cb %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cb(crc, v); ++#else ++ crc ^= v; ++#if defined(__ARM_FEATURE_CRYPTO) ++ // Adapted from: https://mary.rs/lab/crc32/ ++ // Barrent reduction ++ uint64x2_t orig = ++ vcombine_u64(vcreate_u64((uint64_t) (crc) << 24), vcreate_u64(0x0)); ++ uint64x2_t tmp = orig; ++ ++ // Polynomial P(x) of CRC32C ++ uint64_t p = 0x105EC76F1; ++ // Barrett Reduction (in bit-reflected form) constant mu_{64} = \lfloor ++ // 2^{64} / P(x) \rfloor = 0x11f91caf6 ++ uint64_t mu = 0x1dea713f1; ++ ++ // Multiply by mu_{64} ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(mu)); ++ // Divide by 2^{64} (mask away the unnecessary bits) ++ tmp = ++ vandq_u64(tmp, vcombine_u64(vcreate_u64(0xFFFFFFFF), vcreate_u64(0x0))); ++ // Multiply by P(x) (shifted left by 1 for alignment reasons) ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(p)); ++ // Subtract original from result ++ tmp = veorq_u64(tmp, orig); ++ ++ // Extract the 'lower' (in bit-reflected sense) 32 bits ++ crc = vgetq_lane_u32(vreinterpretq_u32_u64(tmp), 1); ++#else // Fall back to the generic table lookup approach ++ // Adapted from: https://create.stephan-brumme.com/crc32/ ++ // Apply half-byte comparison algorithm for the best ratio between ++ // performance and lookup table. ++ ++ // The lookup table just needs to store every 16th entry ++ // of the standard look-up table. ++ static const uint32_t crc32_half_byte_tbl[] = { ++ 0x00000000, 0x105ec76f, 0x20bd8ede, 0x30e349b1, 0x417b1dbc, 0x5125dad3, ++ 0x61c69362, 0x7198540d, 0x82f63b78, 0x92a8fc17, 0xa24bb5a6, 0xb21572c9, ++ 0xc38d26c4, 0xd3d3e1ab, 0xe330a81a, 0xf36e6f75, ++ }; ++ ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++#endif ++#endif ++ return crc; ++} ++ ++/* AES */ ++ ++#if !defined(__ARM_FEATURE_CRYPTO) && (!defined(_M_ARM64) || defined(__clang__)) ++/* clang-format off */ ++#define SSE2NEON_AES_SBOX(w) \ ++ { \ ++ w(0x63), w(0x7c), w(0x77), w(0x7b), w(0xf2), w(0x6b), w(0x6f), \ ++ w(0xc5), w(0x30), w(0x01), w(0x67), w(0x2b), w(0xfe), w(0xd7), \ ++ w(0xab), w(0x76), w(0xca), w(0x82), w(0xc9), w(0x7d), w(0xfa), \ ++ w(0x59), w(0x47), w(0xf0), w(0xad), w(0xd4), w(0xa2), w(0xaf), \ ++ w(0x9c), w(0xa4), w(0x72), w(0xc0), w(0xb7), w(0xfd), w(0x93), \ ++ w(0x26), w(0x36), w(0x3f), w(0xf7), w(0xcc), w(0x34), w(0xa5), \ ++ w(0xe5), w(0xf1), w(0x71), w(0xd8), w(0x31), w(0x15), w(0x04), \ ++ w(0xc7), w(0x23), w(0xc3), w(0x18), w(0x96), w(0x05), w(0x9a), \ ++ w(0x07), w(0x12), w(0x80), w(0xe2), w(0xeb), w(0x27), w(0xb2), \ ++ w(0x75), w(0x09), w(0x83), w(0x2c), w(0x1a), w(0x1b), w(0x6e), \ ++ w(0x5a), w(0xa0), w(0x52), w(0x3b), w(0xd6), w(0xb3), w(0x29), \ ++ w(0xe3), w(0x2f), w(0x84), w(0x53), w(0xd1), w(0x00), w(0xed), \ ++ w(0x20), w(0xfc), w(0xb1), w(0x5b), w(0x6a), w(0xcb), w(0xbe), \ ++ w(0x39), w(0x4a), w(0x4c), w(0x58), w(0xcf), w(0xd0), w(0xef), \ ++ w(0xaa), w(0xfb), w(0x43), w(0x4d), w(0x33), w(0x85), w(0x45), \ ++ w(0xf9), w(0x02), w(0x7f), w(0x50), w(0x3c), w(0x9f), w(0xa8), \ ++ w(0x51), w(0xa3), w(0x40), w(0x8f), w(0x92), w(0x9d), w(0x38), \ ++ w(0xf5), w(0xbc), w(0xb6), w(0xda), w(0x21), w(0x10), w(0xff), \ ++ w(0xf3), w(0xd2), w(0xcd), w(0x0c), w(0x13), w(0xec), w(0x5f), \ ++ w(0x97), w(0x44), w(0x17), w(0xc4), w(0xa7), w(0x7e), w(0x3d), \ ++ w(0x64), w(0x5d), w(0x19), w(0x73), w(0x60), w(0x81), w(0x4f), \ ++ w(0xdc), w(0x22), w(0x2a), w(0x90), w(0x88), w(0x46), w(0xee), \ ++ w(0xb8), w(0x14), w(0xde), w(0x5e), w(0x0b), w(0xdb), w(0xe0), \ ++ w(0x32), w(0x3a), w(0x0a), w(0x49), w(0x06), w(0x24), w(0x5c), \ ++ w(0xc2), w(0xd3), w(0xac), w(0x62), w(0x91), w(0x95), w(0xe4), \ ++ w(0x79), w(0xe7), w(0xc8), w(0x37), w(0x6d), w(0x8d), w(0xd5), \ ++ w(0x4e), w(0xa9), w(0x6c), w(0x56), w(0xf4), w(0xea), w(0x65), \ ++ w(0x7a), w(0xae), w(0x08), w(0xba), w(0x78), w(0x25), w(0x2e), \ ++ w(0x1c), w(0xa6), w(0xb4), w(0xc6), w(0xe8), w(0xdd), w(0x74), \ ++ w(0x1f), w(0x4b), w(0xbd), w(0x8b), w(0x8a), w(0x70), w(0x3e), \ ++ w(0xb5), w(0x66), w(0x48), w(0x03), w(0xf6), w(0x0e), w(0x61), \ ++ w(0x35), w(0x57), w(0xb9), w(0x86), w(0xc1), w(0x1d), w(0x9e), \ ++ w(0xe1), w(0xf8), w(0x98), w(0x11), w(0x69), w(0xd9), w(0x8e), \ ++ w(0x94), w(0x9b), w(0x1e), w(0x87), w(0xe9), w(0xce), w(0x55), \ ++ w(0x28), w(0xdf), w(0x8c), w(0xa1), w(0x89), w(0x0d), w(0xbf), \ ++ w(0xe6), w(0x42), w(0x68), w(0x41), w(0x99), w(0x2d), w(0x0f), \ ++ w(0xb0), w(0x54), w(0xbb), w(0x16) \ ++ } ++#define SSE2NEON_AES_RSBOX(w) \ ++ { \ ++ w(0x52), w(0x09), w(0x6a), w(0xd5), w(0x30), w(0x36), w(0xa5), \ ++ w(0x38), w(0xbf), w(0x40), w(0xa3), w(0x9e), w(0x81), w(0xf3), \ ++ w(0xd7), w(0xfb), w(0x7c), w(0xe3), w(0x39), w(0x82), w(0x9b), \ ++ w(0x2f), w(0xff), w(0x87), w(0x34), w(0x8e), w(0x43), w(0x44), \ ++ w(0xc4), w(0xde), w(0xe9), w(0xcb), w(0x54), w(0x7b), w(0x94), \ ++ w(0x32), w(0xa6), w(0xc2), w(0x23), w(0x3d), w(0xee), w(0x4c), \ ++ w(0x95), w(0x0b), w(0x42), w(0xfa), w(0xc3), w(0x4e), w(0x08), \ ++ w(0x2e), w(0xa1), w(0x66), w(0x28), w(0xd9), w(0x24), w(0xb2), \ ++ w(0x76), w(0x5b), w(0xa2), w(0x49), w(0x6d), w(0x8b), w(0xd1), \ ++ w(0x25), w(0x72), w(0xf8), w(0xf6), w(0x64), w(0x86), w(0x68), \ ++ w(0x98), w(0x16), w(0xd4), w(0xa4), w(0x5c), w(0xcc), w(0x5d), \ ++ w(0x65), w(0xb6), w(0x92), w(0x6c), w(0x70), w(0x48), w(0x50), \ ++ w(0xfd), w(0xed), w(0xb9), w(0xda), w(0x5e), w(0x15), w(0x46), \ ++ w(0x57), w(0xa7), w(0x8d), w(0x9d), w(0x84), w(0x90), w(0xd8), \ ++ w(0xab), w(0x00), w(0x8c), w(0xbc), w(0xd3), w(0x0a), w(0xf7), \ ++ w(0xe4), w(0x58), w(0x05), w(0xb8), w(0xb3), w(0x45), w(0x06), \ ++ w(0xd0), w(0x2c), w(0x1e), w(0x8f), w(0xca), w(0x3f), w(0x0f), \ ++ w(0x02), w(0xc1), w(0xaf), w(0xbd), w(0x03), w(0x01), w(0x13), \ ++ w(0x8a), w(0x6b), w(0x3a), w(0x91), w(0x11), w(0x41), w(0x4f), \ ++ w(0x67), w(0xdc), w(0xea), w(0x97), w(0xf2), w(0xcf), w(0xce), \ ++ w(0xf0), w(0xb4), w(0xe6), w(0x73), w(0x96), w(0xac), w(0x74), \ ++ w(0x22), w(0xe7), w(0xad), w(0x35), w(0x85), w(0xe2), w(0xf9), \ ++ w(0x37), w(0xe8), w(0x1c), w(0x75), w(0xdf), w(0x6e), w(0x47), \ ++ w(0xf1), w(0x1a), w(0x71), w(0x1d), w(0x29), w(0xc5), w(0x89), \ ++ w(0x6f), w(0xb7), w(0x62), w(0x0e), w(0xaa), w(0x18), w(0xbe), \ ++ w(0x1b), w(0xfc), w(0x56), w(0x3e), w(0x4b), w(0xc6), w(0xd2), \ ++ w(0x79), w(0x20), w(0x9a), w(0xdb), w(0xc0), w(0xfe), w(0x78), \ ++ w(0xcd), w(0x5a), w(0xf4), w(0x1f), w(0xdd), w(0xa8), w(0x33), \ ++ w(0x88), w(0x07), w(0xc7), w(0x31), w(0xb1), w(0x12), w(0x10), \ ++ w(0x59), w(0x27), w(0x80), w(0xec), w(0x5f), w(0x60), w(0x51), \ ++ w(0x7f), w(0xa9), w(0x19), w(0xb5), w(0x4a), w(0x0d), w(0x2d), \ ++ w(0xe5), w(0x7a), w(0x9f), w(0x93), w(0xc9), w(0x9c), w(0xef), \ ++ w(0xa0), w(0xe0), w(0x3b), w(0x4d), w(0xae), w(0x2a), w(0xf5), \ ++ w(0xb0), w(0xc8), w(0xeb), w(0xbb), w(0x3c), w(0x83), w(0x53), \ ++ w(0x99), w(0x61), w(0x17), w(0x2b), w(0x04), w(0x7e), w(0xba), \ ++ w(0x77), w(0xd6), w(0x26), w(0xe1), w(0x69), w(0x14), w(0x63), \ ++ w(0x55), w(0x21), w(0x0c), w(0x7d) \ ++ } ++/* clang-format on */ ++ ++/* X Macro trick. See https://en.wikipedia.org/wiki/X_Macro */ ++#define SSE2NEON_AES_H0(x) (x) ++static const uint8_t _sse2neon_sbox[256] = SSE2NEON_AES_SBOX(SSE2NEON_AES_H0); ++static const uint8_t _sse2neon_rsbox[256] = SSE2NEON_AES_RSBOX(SSE2NEON_AES_H0); ++#undef SSE2NEON_AES_H0 ++ ++/* x_time function and matrix multiply function */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#define SSE2NEON_XT(x) (((x) << 1) ^ ((((x) >> 7) & 1) * 0x1b)) ++#define SSE2NEON_MULTIPLY(x, y) \ ++ (((y & 1) * x) ^ ((y >> 1 & 1) * SSE2NEON_XT(x)) ^ \ ++ ((y >> 2 & 1) * SSE2NEON_XT(SSE2NEON_XT(x))) ^ \ ++ ((y >> 3 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))) ^ \ ++ ((y >> 4 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))))) ++#endif ++ ++// In the absence of crypto extensions, implement aesenc using regular NEON ++// intrinsics instead. See: ++// https://www.workofard.com/2017/01/accelerated-aes-for-the-arm64-linux-kernel/ ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/ and ++// for more information. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ /* shift rows */ ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ /* sub bytes */ ++ // Here, we separate the whole 256-bytes table into 4 64-bytes tables, and ++ // look up each of the table. After each lookup, we load the next table ++ // which locates at the next 64-bytes. In the meantime, the index in the ++ // table would be smaller than it was, so the index parameters of ++ // `vqtbx4q_u8()` need to be added the same constant as the loaded tables. ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ // 'w-0x40' equals to 'vsubq_u8(w, vdupq_n_u8(0x40))' ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ /* mix columns */ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ /* add round key */ ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A implementation for a table-based AES */ ++#define SSE2NEON_AES_B2W(b0, b1, b2, b3) \ ++ (((uint32_t) (b3) << 24) | ((uint32_t) (b2) << 16) | \ ++ ((uint32_t) (b1) << 8) | (uint32_t) (b0)) ++// multiplying 'x' by 2 in GF(2^8) ++#define SSE2NEON_AES_F2(x) ((x << 1) ^ (((x >> 7) & 1) * 0x011b /* WPOLY */)) ++// multiplying 'x' by 3 in GF(2^8) ++#define SSE2NEON_AES_F3(x) (SSE2NEON_AES_F2(x) ^ x) ++#define SSE2NEON_AES_U0(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F2(p), p, p, SSE2NEON_AES_F3(p)) ++#define SSE2NEON_AES_U1(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p, p) ++#define SSE2NEON_AES_U2(p) \ ++ SSE2NEON_AES_B2W(p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p) ++#define SSE2NEON_AES_U3(p) \ ++ SSE2NEON_AES_B2W(p, p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p)) ++ ++ // this generates a table containing every possible permutation of ++ // shift_rows() and sub_bytes() with mix_columns(). ++ static const uint32_t ALIGN_STRUCT(16) aes_table[4][256] = { ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U0), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U1), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U2), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U3), ++ }; ++#undef SSE2NEON_AES_B2W ++#undef SSE2NEON_AES_F2 ++#undef SSE2NEON_AES_F3 ++#undef SSE2NEON_AES_U0 ++#undef SSE2NEON_AES_U1 ++#undef SSE2NEON_AES_U2 ++#undef SSE2NEON_AES_U3 ++ ++ uint32_t x0 = _mm_cvtsi128_si32(a); // get a[31:0] ++ uint32_t x1 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); // get a[63:32] ++ uint32_t x2 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xAA)); // get a[95:64] ++ uint32_t x3 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); // get a[127:96] ++ ++ // finish the modulo addition step in mix_columns() ++ __m128i out = _mm_set_epi32( ++ (aes_table[0][x3 & 0xff] ^ aes_table[1][(x0 >> 8) & 0xff] ^ ++ aes_table[2][(x1 >> 16) & 0xff] ^ aes_table[3][x2 >> 24]), ++ (aes_table[0][x2 & 0xff] ^ aes_table[1][(x3 >> 8) & 0xff] ^ ++ aes_table[2][(x0 >> 16) & 0xff] ^ aes_table[3][x1 >> 24]), ++ (aes_table[0][x1 & 0xff] ^ aes_table[1][(x2 >> 8) & 0xff] ^ ++ aes_table[2][(x3 >> 16) & 0xff] ^ aes_table[3][x0 >> 24]), ++ (aes_table[0][x0 & 0xff] ^ aes_table[1][(x1 >> 8) & 0xff] ^ ++ aes_table[2][(x2 >> 16) & 0xff] ^ aes_table[3][x3 >> 24])); ++ ++ return _mm_xor_si128(out, RoundKey); ++#endif ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // inverse mix columns ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & ++ 0x1b); // multiplying 'v' by 2 in GF(2^8) ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ // inverse mix columns ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ // sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A implementation */ ++ uint8_t v[16] = { ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 0)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 5)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 10)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 15)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 4)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 9)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 14)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 3)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 8)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 13)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 2)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 7)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 12)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 1)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 6)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 11)], ++ }; ++ ++ return vreinterpretq_m128i_u8(vld1q_u8(v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (int i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++#if defined(__aarch64__) ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ uint8x16_t v = vreinterpretq_u8_m128i(a); ++ uint8x16_t w; ++ ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ // multiplying 'v' by 2 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ return vreinterpretq_m128i_u8(w); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ vst1q_u8((uint8_t *) v, vreinterpretq_u8_m128i(a)); ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)); ++#endif ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++// ++// Emits the Advanced Encryption Standard (AES) instruction aeskeygenassist. ++// This instruction generates a round key for AES encryption. See ++// https://kazakov.life/2017/11/01/cryptocurrency-mining-on-ios-devices/ ++// for details. ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++#if defined(__aarch64__) ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); ++ uint8x16_t v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), _a); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), _a - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), _a - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), _a - 0xc0); ++ ++ uint32x4_t v_u32 = vreinterpretq_u32_u8(v); ++ uint32x4_t ror_v = vorrq_u32(vshrq_n_u32(v_u32, 8), vshlq_n_u32(v_u32, 24)); ++ uint32x4_t ror_xor_v = veorq_u32(ror_v, vdupq_n_u32(rcon)); ++ ++ return vreinterpretq_m128i_u32(vtrn2q_u32(v_u32, ror_xor_v)); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint32_t X1 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); ++ uint32_t X3 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); ++ for (int i = 0; i < 4; ++i) { ++ ((uint8_t *) &X1)[i] = _sse2neon_sbox[((uint8_t *) &X1)[i]]; ++ ((uint8_t *) &X3)[i] = _sse2neon_sbox[((uint8_t *) &X3)[i]]; ++ } ++ return _mm_set_epi32(((X3 >> 8) | (X3 << 24)) ^ rcon, X3, ++ ((X1 >> 8) | (X1 << 24)) ^ rcon, X1); ++#endif ++} ++#undef SSE2NEON_AES_SBOX ++#undef SSE2NEON_AES_RSBOX ++ ++#if defined(__aarch64__) ++#undef SSE2NEON_XT ++#undef SSE2NEON_MULTIPLY ++#endif ++ ++#else /* __ARM_FEATURE_CRYPTO */ ++// Implements equivalent of 'aesenc' by combining AESE (with an empty key) and ++// AESMC and then manually applying the real key as an xor operation. This ++// unfortunately means an additional xor op; the compiler should be able to ++// optimize this away for repeated calls however. See ++// https://blog.michaelbrase.com/2018/05/08/emulating-x86-aes-intrinsics-on-armv8-a ++// for more details. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesmcq_u8(vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(b))); ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesimcq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return _mm_xor_si128(vreinterpretq_m128i_u8(vaeseq_u8( ++ vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ RoundKey); ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8( ++ veorq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++ return vreinterpretq_m128i_u8(vaesimcq_u8(vreinterpretq_u8_m128i(a))); ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst." ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++ // AESE does ShiftRows and SubBytes on A ++ uint8x16_t u8 = vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)); ++ ++#if !defined(_MSC_VER) || defined(__clang__) ++ uint8x16_t dest = { ++ // Undo ShiftRows step from AESE and extract X1 and X3 ++ u8[0x4], u8[0x1], u8[0xE], u8[0xB], // SubBytes(X1) ++ u8[0x1], u8[0xE], u8[0xB], u8[0x4], // ROT(SubBytes(X1)) ++ u8[0xC], u8[0x9], u8[0x6], u8[0x3], // SubBytes(X3) ++ u8[0x9], u8[0x6], u8[0x3], u8[0xC], // ROT(SubBytes(X3)) ++ }; ++ uint32x4_t r = {0, (unsigned) rcon, 0, (unsigned) rcon}; ++ return vreinterpretq_m128i_u8(dest) ^ vreinterpretq_m128i_u32(r); ++#else ++ // We have to do this hack because MSVC is strictly adhering to the CPP ++ // standard, in particular C++03 8.5.1 sub-section 15, which states that ++ // unions must be initialized by their first member type. ++ ++ // As per the Windows ARM64 ABI, it is always little endian, so this works ++ __n128 dest{ ++ ((uint64_t) u8.n128_u8[0x4] << 0) | ((uint64_t) u8.n128_u8[0x1] << 8) | ++ ((uint64_t) u8.n128_u8[0xE] << 16) | ++ ((uint64_t) u8.n128_u8[0xB] << 24) | ++ ((uint64_t) u8.n128_u8[0x1] << 32) | ++ ((uint64_t) u8.n128_u8[0xE] << 40) | ++ ((uint64_t) u8.n128_u8[0xB] << 48) | ++ ((uint64_t) u8.n128_u8[0x4] << 56), ++ ((uint64_t) u8.n128_u8[0xC] << 0) | ((uint64_t) u8.n128_u8[0x9] << 8) | ++ ((uint64_t) u8.n128_u8[0x6] << 16) | ++ ((uint64_t) u8.n128_u8[0x3] << 24) | ++ ((uint64_t) u8.n128_u8[0x9] << 32) | ++ ((uint64_t) u8.n128_u8[0x6] << 40) | ++ ((uint64_t) u8.n128_u8[0x3] << 48) | ++ ((uint64_t) u8.n128_u8[0xC] << 56)}; ++ ++ dest.n128_u32[1] = dest.n128_u32[1] ^ rcon; ++ dest.n128_u32[3] = dest.n128_u32[3] ^ rcon; ++ ++ return dest; ++#endif ++} ++#endif ++ ++/* Others */ ++ ++// Perform a carry-less multiplication of two 64-bit integers, selected from a ++// and b according to imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clmulepi64_si128 ++FORCE_INLINE __m128i _mm_clmulepi64_si128(__m128i _a, __m128i _b, const int imm) ++{ ++ uint64x2_t a = vreinterpretq_u64_m128i(_a); ++ uint64x2_t b = vreinterpretq_u64_m128i(_b); ++ switch (imm & 0x11) { ++ case 0x00: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_low_u64(b))); ++ case 0x01: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_low_u64(b))); ++ case 0x10: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_high_u64(b))); ++ case 0x11: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_high_u64(b))); ++ default: ++ abort(); ++ } ++} ++ ++FORCE_INLINE unsigned int _sse2neon_mm_get_denormals_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_DENORMALS_ZERO_ON : _MM_DENORMALS_ZERO_OFF; ++} ++ ++// Count the number of bits set to 1 in unsigned 32-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u32 ++FORCE_INLINE int _mm_popcnt_u32(unsigned int a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcount) ++ return __builtin_popcount(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits(a); ++#else ++ return (int) vaddlv_u8(vcnt_u8(vcreate_u8((uint64_t) a))); ++#endif ++#else ++ uint32_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ ++ vst1_u32(&count, count32x2_val); ++ return count; ++#endif ++} ++ ++// Count the number of bits set to 1 in unsigned 64-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u64 ++FORCE_INLINE int64_t _mm_popcnt_u64(uint64_t a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcountll) ++ return __builtin_popcountll(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits64(a); ++#else ++ return (int64_t) vaddlv_u8(vcnt_u8(vcreate_u8(a))); ++#endif ++#else ++ uint64_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ uint64x1_t count64x1_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ count64x1_val = vpaddl_u32(count32x2_val); ++ vst1_u64(&count, count64x1_val); ++ return count; ++#endif ++} ++ ++FORCE_INLINE_OPTNONE void _sse2neon_mm_set_denormals_zero_mode( ++ unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_DENORMALS_ZERO_MASK) == _MM_DENORMALS_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Return the current 64-bit value of the processor's time-stamp counter. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=rdtsc ++FORCE_INLINE uint64_t _rdtsc(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t val; ++ ++ /* According to ARM DDI 0487F.c, from Armv8.0 to Armv8.5 inclusive, the ++ * system counter is at least 56 bits wide; from Armv8.6, the counter ++ * must be 64 bits wide. So the system counter could be less than 64 ++ * bits wide and it is attributed with the flag 'cap_user_time_short' ++ * is true. ++ */ ++#if defined(_MSC_VER) && !defined(__clang__) ++ val = _ReadStatusReg(ARM64_SYSREG(3, 3, 14, 0, 2)); ++#else ++ __asm__ __volatile__("mrs %0, cntvct_el0" : "=r"(val)); ++#endif ++ ++ return val; ++#else ++ uint32_t pmccntr, pmuseren, pmcntenset; ++ // Read the user mode Performance Monitoring Unit (PMU) ++ // User Enable Register (PMUSERENR) access permissions. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c14, 0" : "=r"(pmuseren)); ++ if (pmuseren & 1) { // Allows reading PMUSERENR for user mode code. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c12, 1" : "=r"(pmcntenset)); ++ if (pmcntenset & 0x80000000UL) { // Is it counting? ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c13, 0" : "=r"(pmccntr)); ++ // The counter is set up to count every 64th cycle ++ return (uint64_t) (pmccntr) << 6; ++ } ++ } ++ ++ // Fallback to syscall as we can't enable PMUSERENR in user mode. ++ struct timeval tv; ++ gettimeofday(&tv, NULL); ++ return (uint64_t) (tv.tv_sec) * 1000000 + tv.tv_usec; ++#endif ++} ++ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma pop_macro("ALIGN_STRUCT") ++#pragma pop_macro("FORCE_INLINE") ++#pragma pop_macro("FORCE_INLINE_OPTNONE") ++#endif ++ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma GCC pop_options ++#endif ++ ++#endif +diff --git c/src/stdinclude.h i/src/stdinclude.h +index 2b8f6d3..7802321 100644 +--- c/src/stdinclude.h ++++ i/src/stdinclude.h +@@ -6,11 +6,16 @@ + #include + #include + #include +-#include + #include + #include "pthread.h" + #include "ProgressBar.hpp" + ++#ifdef __ARM_NEON ++#include "sse2neon.h" ++#else ++#include ++#endif ++ + #if defined _WIN32 || defined _WIN64 + #else + #include diff --git a/recipes/rapidshapes/build.sh b/recipes/rapidshapes/build.sh new file mode 100644 index 0000000000000..641712a964c6a --- /dev/null +++ b/recipes/rapidshapes/build.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +make -j ${CPU_COUNT} PREFIX=$PREFIX CC=$CC -C Misc/Applications/RapidShapes all +make PREFIX=$PREFIX CC=$CC -C Misc/Applications/RapidShapes install-program +make PREFIX=$PREFIX CC=$CC -C Misc/Applications/lib install +chmod 755 $PREFIX/bin/RapidShapes* + diff --git a/recipes/rapidshapes/meta.yaml b/recipes/rapidshapes/meta.yaml new file mode 100644 index 0000000000000..4d47e3bf59d6d --- /dev/null +++ b/recipes/rapidshapes/meta.yaml @@ -0,0 +1,53 @@ +{% set fold_grammars_version = "2.3.2" %} +{% set rapidshapes_version = "2.1.0" %} +{% set packagename = "rapidshapes" %} +{% set sha256 = "d3e6cc8d2ecd31d4764b41fea589b98c637ff227d7ab3dcfe66f2ad3f24dece5" %} + +package: + name: {{ packagename }} + version: {{ rapidshapes_version }} + +source: + sha256: {{ sha256 }} + # the repository "fold-grammars" contains sources for several programs, i.e. pKiss, RNAshapes, ... + # thus, the version number does not correspond to the {{ packagename }} version number + #url: https://github.com/jlab/fold-grammars/archive/{{ version }}.tar.gz + url: https://github.com/jlab/fold-grammars/archive/refs/tags/{{ fold_grammars_version }}.tar.gz + +build: + number: 1 + run_exports: + - {{ pin_subpackage('rapidshapes', max_pin="x") }} + +requirements: + build: + - make + - {{ compiler('cxx') }} + - libcxx <17 # [osx] + - rsync + host: + - perl + - bellmans-gapc >=2024.01.12 + - libcxx <17 # [osx] + - rsync + run: + - perl + - bellmans-gapc >=2024.01.12 + - libcxx <17 # [osx] + - gxx_linux-64 # [linux] + - clangxx_osx-64 # [osx] + +test: + commands: + - RapidShapes ccaaagg + +about: + home: https://bibiserv.cebitec.uni-bielefeld.de/{{ packagename }} + license: 'GPL-3.0-or-later' + license_file: LICENSE + summary: 'RapidShapes computes a thermodynamic matcher (TDM), using a runtime heuristic for probabilistic shape analysis.' + +extra: + identifiers: + - doi:10.1093/bioinformatics/btq014 + - doi:10.1093/bioinformatics/btu649 diff --git a/recipes/rapifilt/meta.yaml b/recipes/rapifilt/meta.yaml index 6cf5a8cce9e9c..29e5d7fe32456 100644 --- a/recipes/rapifilt/meta.yaml +++ b/recipes/rapifilt/meta.yaml @@ -9,7 +9,7 @@ source: sha256: f25f93c278bbbed666351c403e37ee49d67399b0b490adb90546e325c198da3f build: - number: 5 + number: 6 skip: True # [osx] requirements: diff --git a/recipes/rappas/meta.yaml b/recipes/rappas/meta.yaml index 36073809e86af..d0b213969ed33 100644 --- a/recipes/rappas/meta.yaml +++ b/recipes/rappas/meta.yaml @@ -1,18 +1,20 @@ package: name: rappas - version: '1.21' + version: '1.22' source: - url: https://github.com/blinard-BIOINFO/RAPPAS/archive/v1.21.tar.gz - sha256: d9eb91fc0412b6517278a19f0f35a69de5da193aac25376180af74819165274d + url: https://github.com/blinard-BIOINFO/RAPPAS/archive/v1.22.tar.gz + sha256: 52c5023f1fae57fad2cf0d0f8ecb1ae9f8dda99fa79de405ccc58288ba4cc09d build: - number: 1 + number: 0 noarch: generic + run_exports: + - {{ pin_subpackage('rappas', max_pin="x.x") }} requirements: host: - - ant 1.10.0 + - ant >=1.10.0 - openjdk >=8.0.144 run: - openjdk >=8.0.144 diff --git a/recipes/rapsearch/build_failure.linux-64.yaml b/recipes/rapsearch/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..f61e034332fca --- /dev/null +++ b/recipes/rapsearch/build_failure.linux-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: 45b114e0405c9baae0f3a16295220bc9cddb586c23172703b26964a23a03884e # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: compiler error +log: |- + HashSearch.cpp:3051:30: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3051 | PrintXmlLine("Hsp_hit-from", c.nDSt); + | ^~~~~~~~~~~~~~ + HashSearch.cpp:3052:30: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3052 | PrintXmlLine("Hsp_hit-to", c.nDEd); + | ^~~~~~~~~~~~ + HashSearch.cpp:3053:30: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3053 | PrintXmlLine("Hsp_query-frame", c.nFrame); + | ^~~~~~~~~~~~~~~~~ + HashSearch.cpp:3067:30: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3067 | PrintXmlLine("Hsp_identity", nIdt); + | ^~~~~~~~~~~~~~ + HashSearch.cpp:3068:30: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3068 | PrintXmlLine("Hsp_positive", nPos); + | ^~~~~~~~~~~~~~ + HashSearch.cpp:3069:30: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3069 | PrintXmlLine("Hsp_align-len", c.nAlnLen); + | ^~~~~~~~~~~~~~~ + HashSearch.cpp:3072:30: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3072 | PrintXmlLine("Hsp_qseq", c.sQ.substr(n1, n2-n11)); + | ^~~~~~~~~~ + HashSearch.cpp:3075:30: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3075 | PrintXmlLine("Hsp_hseq", c.sD.substr(n1, n2-n11)); + | ^~~~~~~~~~ + HashSearch.cpp:3078:30: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3078 | PrintXmlLine("Hsp_midline", c.sInfo.substr(n1, n2-n11)); + | ^~~~~~~~~~~~~ + HashSearch.cpp:3079:30: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3079 | PrintXmlTagR("Hsp"); + | ^~~~~ + HashSearch.cpp:3080:30: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3080 | PrintXmlTagR("Hit_hsps"); + | ^~~~~~~~~~ + HashSearch.cpp:3081:30: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3081 | PrintXmlTagR("Hit"); + | ^~~~~ + HashSearch.cpp:3084:22: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3084 | PrintXmlTagR("Iteration_hits"); + | ^~~~~~~~~~~~~~~~ + HashSearch.cpp:3086:21: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3086 | PrintXmlTag("Iteration_stat"); + | ^~~~~~~~~~~~~~~~ + HashSearch.cpp:3087:21: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3087 | PrintXmlTag("Statistics"); + | ^~~~~~~~~~~~ + HashSearch.cpp:3088:22: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3088 | PrintXmlLine("Statistics_db-num", m_lnSeqNum); + | ^~~~~~~~~~~~~~~~~~~ + HashSearch.cpp:3089:22: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3089 | PrintXmlLine("Statistics_db-len", m_lnTotalAa); + | ^~~~~~~~~~~~~~~~~~~ + HashSearch.cpp:3090:22: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3090 | PrintXmlLine("Statistics_hsp-len", 0); + | ^~~~~~~~~~~~~~~~~~~~ + HashSearch.cpp:3091:22: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3091 | PrintXmlLine("Statistics_eff-space", 0); + | ^~~~~~~~~~~~~~~~~~~~~~ + HashSearch.cpp:3092:22: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3092 | PrintXmlLine("Statistics_kappa", 0.041); + | ^~~~~~~~~~~~~~~~~~ + HashSearch.cpp:3093:22: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3093 | PrintXmlLine("Statistics_lambda", 0.267); + | ^~~~~~~~~~~~~~~~~~~ + HashSearch.cpp:3094:22: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3094 | PrintXmlLine("Statistics_entropy", 0.14); + | ^~~~~~~~~~~~~~~~~~~~ + HashSearch.cpp:3095:22: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3095 | PrintXmlTagR("Statistics"); + | ^~~~~~~~~~~~ + HashSearch.cpp:3096:22: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3096 | PrintXmlTagR("Iteration_stat"); + | ^~~~~~~~~~~~~~~~ + HashSearch.cpp:3098:22: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3098 | PrintXmlTagR("Iteration"); + | ^~~~~~~~~~~ + HashSearch.cpp: In member function 'void CHashSearch::PrintXmlEnd()': + HashSearch.cpp:3104:22: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3104 | PrintXmlTagR("Output_iterations"); + | ^~~~~~~~~~~~~~~~~~~ + HashSearch.cpp:3105:22: warning: ISO C forbids converting a string constant to 'char*' [-Wwrite-strings] + 3105 | PrintXmlTagR("Output"); + | ^~~~~~~~ + make: *** [Makefile:39: HashSearch.o] Error 1 + make: Leaving directory '$SRC_DIR/Src' + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/rapsearch_1718134443387/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. diff --git a/recipes/rapsearch/meta.yaml b/recipes/rapsearch/meta.yaml index 9a0f1fcb29b60..f8e638d5d7bc4 100644 --- a/recipes/rapsearch/meta.yaml +++ b/recipes/rapsearch/meta.yaml @@ -4,7 +4,9 @@ package: build: skip: True #[osx] - number: 7 + number: 8 + run_exports: + - {{ pin_subpackage("rapsearch", max_pin="x") }} source: url: diff --git a/recipes/raptor/build.sh b/recipes/raptor/build.sh index ae27ae77a6465..ea27c80c990bb 100644 --- a/recipes/raptor/build.sh +++ b/recipes/raptor/build.sh @@ -1,7 +1,44 @@ #!/bin/bash -mkdir -p build -cd build -cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-mavx2 -D__STDC_FORMAT_MACROS" -DRAPTOR_NATIVE_BUILD=OFF -DCMAKE_INSTALL_PREFIX="${PREFIX}" -make -j"${CPU_COUNT}" -make install +set -eux + +get_instruction_set_flags() { + local instruction_set="$1" + case "${instruction_set}" in + none) + echo "" + ;; + sse2) + echo "-msse2" + ;; + sse4.2) + echo "-msse4.2" + ;; + avx2) + echo "-mavx2" + ;; + avx512) + echo "-mavx512f -mavx512bw" + ;; + *) + echo "Unknown instruction set: ${instruction_set}" >&2 + exit 1 + ;; + esac +} + +for INSTRUCTION_SET in "none" "sse2" "sse4.2" "avx2" "avx512"; do + mkdir -p build/${INSTRUCTION_SET} + cd build/${INSTRUCTION_SET} + cmake ../.. -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_FLAGS="$(get_instruction_set_flags ${INSTRUCTION_SET}) -Wno-interference-size -D__STDC_FORMAT_MACROS" \ + -DRAPTOR_NATIVE_BUILD=OFF \ + -DCMAKE_INSTALL_PREFIX="${PREFIX}" + make -j"${CPU_COUNT}" + make install + mv "${PREFIX}/bin/raptor" "${PREFIX}/bin/raptor_${INSTRUCTION_SET}" + cd ../.. +done + +cp "${RECIPE_DIR}/raptor" "${PREFIX}/bin/raptor" +chmod +x "${PREFIX}/bin/raptor" diff --git a/recipes/raptor/meta.yaml b/recipes/raptor/meta.yaml index 60599432442f1..cf815b6a65db9 100644 --- a/recipes/raptor/meta.yaml +++ b/recipes/raptor/meta.yaml @@ -10,7 +10,7 @@ source: sha256: be44e7b2635e110c940cf40ff132956200551a2e25765d9f057e844f7a3ccebb build: - number: 0 + number: 2 skip: True # [osx] run_exports: - {{ pin_subpackage(name, max_pin='x') }} diff --git a/recipes/raptor/raptor b/recipes/raptor/raptor new file mode 100644 index 0000000000000..107b82cc749f2 --- /dev/null +++ b/recipes/raptor/raptor @@ -0,0 +1,31 @@ +#!/bin/bash + +set -eu + +# -c : return count +# -m 1 : stop after first match, i.e. count is either 0 or 1 +# -E : use extended regular expressions +# \b : matches any non alphanumeric character, i.e. space, tab, newline, etc. +# || true: ignore `grep -c` returning a non-zero exit code (behavior depends on OS) +HAS_SSE2=$(grep -c -m 1 -E '\bsse2\b' /proc/cpuinfo || true) +HAS_SSE4_2=$(grep -c -m 1 -E '\bsse4_2\b' /proc/cpuinfo || true) +HAS_AVX2=$(grep -c -m 1 -E '\bavx2\b' /proc/cpuinfo || true) +HAS_AVX512F=$(grep -c -m 1 -E '\bavx512f\b' /proc/cpuinfo || true) +HAS_AVX512BW=$(grep -c -m 1 -E '\bavx512bw\b' /proc/cpuinfo || true) +if [ ${HAS_AVX512F} -eq 1 ] && [ ${HAS_AVX512BW} -eq 1 ]; then + HAS_AVX512=1 +else + HAS_AVX512=0 +fi + +if [ ${HAS_AVX512} -eq 1 ]; then + raptor_avx512 "$@" +elif [ ${HAS_AVX2} -eq 1 ]; then + raptor_avx2 "$@" +elif [ ${HAS_SSE4_2} -eq 1 ]; then + raptor_sse4.2 "$@" +elif [ ${HAS_SSE2} -eq 1 ]; then + raptor_sse2 "$@" +else + raptor_none "$@" +fi diff --git a/recipes/rasusa/meta.yaml b/recipes/rasusa/meta.yaml index 0bd1e57489918..33a3a87765c19 100644 --- a/recipes/rasusa/meta.yaml +++ b/recipes/rasusa/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.7.1" %} +{% set version = "2.1.0" %} {% set name = "rasusa" %} package: @@ -7,26 +7,34 @@ package: source: url: https://github.com/mbhall88/{{ name }}/archive/{{ version }}.tar.gz - sha256: 7a7e3f2f2038b3fd3ce112fa7264ef8cbd91c2aa14fe60d8be1be1bb13416a56 + sha256: 6d6d97f381bea5a4d070ef7bc132224f3c5c97bc366109261182aa9bc5736d69 build: - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage('rasusa', max_pin="x.x") }} requirements: build: - - rust >=1.53 + - {{ compiler('rust') }} - {{ compiler('c') }} # [not win] test: commands: - rasusa --help + - rasusa reads --help + - rasusa aln --help + - rasusa cite about: home: https://github.com/mbhall88/rasusa license: MIT - summary: Randomly subsample sequencing reads to a specified coverage + summary: Randomly subsample sequencing reads or alignments license_file: LICENSE extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - mbhall88 diff --git a/recipes/ratatosk/build.sh b/recipes/ratatosk/build.sh index de6321ef19764..b9db46d931856 100644 --- a/recipes/ratatosk/build.sh +++ b/recipes/ratatosk/build.sh @@ -1,27 +1,25 @@ -#!/bin/bash -set -x +#!/bin/bash -ex -export INCLUDE_PATH="${PREFIX}/include" -export LIBRARY_PATH="${PREFIX}/lib" +mkdir -p "${PREFIX}/bin" + +export INCLUDES="-I${PREFIX}/include" +export LIBPATH="-L${PREFIX}/lib" export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" -export CXXFLAGS="${CXXFLAGS} -O3 -D_FILE_OFFSET_BITS=64" +export CXXFLAGS="${CXXFLAGS} -O3 -D_FILE_OFFSET_BITS=64 -I${PREFIX}/include" -if [ `uname` == Darwin ]; then - # See https://conda-forge.org/docs/maintainer/knowledge_base.html#newer-c-features-with-old-sdk for -D_LIBCPP_DISABLE_AVAILABILITY - export CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" - export CONFIG_ARGS="-DCMAKE_INSTALL_PREFIX=${PREFIX} -DCMAKE_FIND_FRAMEWORK=NEVER -DCMAKE_FIND_APPBUNDLE=NEVER" - else - export CONFIG_ARGS="-DCMAKE_INSTALL_PREFIX=${PREFIX}" +if [[ `uname` == Darwin ]]; then + export CONFIG_ARGS="-DCMAKE_FIND_FRAMEWORK=NEVER -DCMAKE_FIND_APPBUNDLE=NEVER" + export LDFLAGS="${LDFLAGS} -Wl,-rpath,${PREFIX}/lib" +else + export CONFIG_ARGS="" fi -mkdir -p "${PREFIX}/bin" - cmake -S . -B build \ - "${CONFIG_ARGS}" \ + -DCMAKE_INSTALL_PREFIX="${PREFIX}" \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_C_COMPILER="${CC}" \ -DCMAKE_CXX_COMPILER="${CXX}" \ - -DCMAKE_CXX_FLAGS="${CXXFLAGS}" + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ + "${CONFIG_ARGS}" -cmake --build build/ --target install -j "${CPU_COUNT}" +cmake --build build/ --target install -j "${CPU_COUNT}" -v diff --git a/recipes/ratatosk/meta.yaml b/recipes/ratatosk/meta.yaml index bb8c9634d72bd..1a89715c74931 100644 --- a/recipes/ratatosk/meta.yaml +++ b/recipes/ratatosk/meta.yaml @@ -11,13 +11,15 @@ source: sha256: {{ sha256 }} patches: - cmakelists.patch -- url: https://github.com/pmelsted/bifrost/archive/refs/tags/v1.2.1.tar.gz - sha256: fe93080ef3ea71ff009fc206b5c17dd40fbfd18293000621a83d7d947dfedf1a +- url: https://github.com/pmelsted/bifrost/archive/refs/tags/v1.3.5.tar.gz + sha256: e1b2491328b0cc1a32e433a8a9780f05547fa4b8d674b58abdda9ac8809f5341 folder: Bifrost build: - number: 0 + number: 1 skip: True # [osx] + run_exports: + - {{ pin_subpackage('ratatosk', max_pin="x.x") }} requirements: build: @@ -34,12 +36,17 @@ test: - 'Ratatosk index --help' about: - home: https://github.com/DecodeGenetics/Ratatosk - license: BSD-2-Clause + home: "https://github.com/DecodeGenetics/Ratatosk" + license: "BSD-2-Clause" + license_family: BSD license_file: LICENSE - summary: "Hybrid error correction of long reads using colored de Bruijn graphs" + summary: "Hybrid error correction of long reads using colored de Bruijn graphs." + dev_url: "https://github.com/DecodeGenetics/Ratatosk" + doc_url: "https://github.com/DecodeGenetics/Ratatosk/blob/v{{ version }}/README.md" extra: identifiers: - biotools:ratatosk - doi:10.1186/s13059-020-02244-4 + additional-platforms: + - linux-aarch64 diff --git a/recipes/raven-assembler/build.sh b/recipes/raven-assembler/build.sh index 58d793204e0f0..a137c14a65d82 100644 --- a/recipes/raven-assembler/build.sh +++ b/recipes/raven-assembler/build.sh @@ -1,9 +1,20 @@ #!/bin/bash +case $(uname -m) in + x86_64) + SPOA_OPTS="-Dspoa_optimize_for_portability=ON" + ;; + aarch64) + SPOA_OPTS="-Dspoa_use_simde=ON -Dspoa_use_simde_nonvec=ON -Dspoa_use_simde_openmp=ON" + ;; + *) + ;; +esac + mkdir -p $PREFIX/bin rm -rf build mkdir build cd build -cmake -DCMAKE_BUILD_TYPE=Release -DRAVEN_BUILD_EXE=ON -DCMAKE_INSTALL_PREFIX=$PREFIX -Dspoa_optimize_for_portability=ON .. -make +cmake -DCMAKE_BUILD_TYPE=Release -DRAVEN_BUILD_EXE=ON -DCMAKE_INSTALL_PREFIX=$PREFIX ${SPOA_OPTS} .. +make -j ${CPU_COUNT} cp bin/raven $PREFIX/bin diff --git a/recipes/raven-assembler/meta.yaml b/recipes/raven-assembler/meta.yaml index ef8bb9b387381..3e128de7c38a4 100644 --- a/recipes/raven-assembler/meta.yaml +++ b/recipes/raven-assembler/meta.yaml @@ -6,7 +6,7 @@ package: version: {{ version }} build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage(name, max_pin='x') }} @@ -36,5 +36,7 @@ about: summary: "Raven is an assembler for raw reads generated by the third generation sequencing." extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - thanhleviet diff --git a/recipes/raxml-ng/build.sh b/recipes/raxml-ng/build.sh index 6209021d02b11..1ad4779811365 100644 --- a/recipes/raxml-ng/build.sh +++ b/recipes/raxml-ng/build.sh @@ -4,7 +4,7 @@ mkdir build_pthreads pushd build_pthreads cmake .. - make + make -j ${CPU_COUNT} install -d ${PREFIX}/bin install ../bin/raxml-ng ${PREFIX}/bin popd @@ -15,7 +15,7 @@ then mkdir build_mpi pushd build_mpi CXX=mpicxx cmake -DUSE_MPI=ON .. - make + make -j ${CPU_COUNT} install -d ${PREFIX}/bin install ../bin/raxml-ng-mpi ${PREFIX}/bin popd diff --git a/recipes/raxml-ng/meta.yaml b/recipes/raxml-ng/meta.yaml index 8a71b9c015b1d..f86629d2e50cf 100644 --- a/recipes/raxml-ng/meta.yaml +++ b/recipes/raxml-ng/meta.yaml @@ -1,5 +1,5 @@ {% set name = "raxml-ng" %} -{% set version = "1.2.0" %} +{% set version = "1.2.2" %} package: name: {{ name|lower }} @@ -7,10 +7,12 @@ package: source: url: https://github.com/amkozlov/raxml-ng/releases/download/{{ version }}/{{ name }}_v{{ version }}_source.zip - sha256: 1dc1940e2fbd0d701142c8bfa0c0007c5b39642493a60adb6a4cfa2d10e27ac8 + sha256: ad22a51c74f4dbfdbf99c06f652d6dad824f7d072c82782db07587140a7bef82 build: - number: 1 + number: 0 + run_exports: + - {{ pin_subpackage('raxml-ng', max_pin="x") }} requirements: build: @@ -38,8 +40,10 @@ about: summary: "RAxML Next Generation: faster, easier-to-use and more flexible" extra: - container: - # openmpi needs ssh client - extended-base: true - identifiers: - - doi:10.1093/bioinformatics/btz305 + additional-platforms: + - linux-aarch64 + container: + # openmpi needs ssh client + extended-base: true + identifiers: + - doi:10.1093/bioinformatics/btz305 diff --git a/recipes/raxml/build.sh b/recipes/raxml/build.sh index 7a51b016595ca..92f87d162d35e 100644 --- a/recipes/raxml/build.sh +++ b/recipes/raxml/build.sh @@ -1,15 +1,31 @@ #!/bin/bash -case `uname` in -Darwin) SUF=.mac;; -Linux) SUF=.gcc;; -*) echo "Unknown architecture"; exit 1;; +set -exo pipefail + +case $(uname) in +Darwin) SUF=.mac ;; +Linux) SUF=.gcc ;; +*) + echo "Unknown architecture" + exit 1 + ;; esac -mkdir -p $PREFIX/bin +ARCH=$(uname -m) + +mkdir -p "$PREFIX"/bin for PTHREADS in "" .PTHREADS; do for OPT in "" .SSE3 .AVX2; do + + if [[ "${ARCH}" == "aarch64" && "${OPT}" == ".AVX2" ]]; then + continue + fi + + if [[ ${ARCH} == "arm64" && ("${OPT}" == ".AVX2" || "${OPT}" == ".SSE3" || "${PTHREADS}" == ".PTHREADS") ]]; then + continue + fi + echo "######## Building Flags opt=$OPT pthread=$PTHREADS os=$SUF ######" MAKEFILE=Makefile${OPT}${PTHREADS} if [ -e ${MAKEFILE}${SUF} ]; then @@ -18,7 +34,7 @@ for PTHREADS in "" .PTHREADS; do MAKEFILE=${MAKEFILE}.gcc fi make -f ${MAKEFILE} CC=$CC - mv raxmlHPC* $PREFIX/bin + mv raxmlHPC* "$PREFIX"/bin make -f ${MAKEFILE} clean done done diff --git a/recipes/raxml/meta.yaml b/recipes/raxml/meta.yaml index 87550af90f582..b7e8de64fbd89 100644 --- a/recipes/raxml/meta.yaml +++ b/recipes/raxml/meta.yaml @@ -3,7 +3,7 @@ package: version: "8.2.13" build: - number: 0 + number: 2 run_exports: - {{ pin_subpackage('raxml', max_pin="x") }} @@ -19,11 +19,11 @@ requirements: test: commands: - raxmlHPC -h > /dev/null - - raxmlHPC-PTHREADS -h > /dev/null - - raxmlHPC-SSE3 -h > /dev/null - - raxmlHPC-PTHREADS-SSE3 -h > /dev/null - - raxmlHPC-AVX2 -h > /dev/null - - raxmlHPC-PTHREADS-AVX2 -h > /dev/null + - raxmlHPC-PTHREADS -h > /dev/null # [not arm64] + - raxmlHPC-SSE3 -h > /dev/null # [not arm64] + - raxmlHPC-PTHREADS-SSE3 -h > /dev/null # [not arm64] + - 'raxmlHPC-AVX2 -h > /dev/null' # [not (aarch64 or arm64)] + - 'raxmlHPC-PTHREADS-AVX2 -h > /dev/null' # [not (aarch64 or arm64)] about: home: http://sco.h-its.org/exelixis/web/software/raxml/index.html @@ -31,6 +31,9 @@ about: summary: Phylogenetics - Randomized Axelerated Maximum Likelihood. extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - biotools:raxml - doi:10.1093/bioinformatics/btu033 diff --git a/recipes/razers3/build.sh b/recipes/razers3/build.sh index a817bfcc2cc65..fc113ea18ff5f 100644 --- a/recipes/razers3/build.sh +++ b/recipes/razers3/build.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -xe + if [ "$(uname)" = 'Darwin' ] ; then export MACOSX_DEPLOYMENT_TARGET=10.13 fi @@ -8,5 +10,5 @@ mkdir -p $PREFIX/bin mkdir -p build cd build cmake .. -DCMAKE_BUILD_TYPE=Release -make razers3 +make -j ${CPU_COUNT} razers3 cp bin/razers3 $PREFIX/bin diff --git a/recipes/razers3/meta.yaml b/recipes/razers3/meta.yaml index e9989cea6db3a..8ad0eed646ccc 100644 --- a/recipes/razers3/meta.yaml +++ b/recipes/razers3/meta.yaml @@ -10,7 +10,9 @@ source: sha256: d7084d17729214003e84818e0280a16f223c8f1c6a30eeef040c27e0c0047bd7 build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage('razers3', max_pin="x") }} requirements: build: @@ -32,5 +34,12 @@ test: about: home: http://www.seqan.de/projects/razers/ - license: GPLv3 + license: GPL-3.0-only + license_file: LICENSE + license_family: GPL summary: RazerS 3 - Faster, fully sensitive read mapping + dev_url: https://github.com/seqan/seqan/tree/main/apps/razers3 + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/rbpbench/meta.yaml b/recipes/rbpbench/meta.yaml index 7f1e4b8fdb0e6..aabaddcf9f40e 100644 --- a/recipes/rbpbench/meta.yaml +++ b/recipes/rbpbench/meta.yaml @@ -1,6 +1,6 @@ {% set name = "RBPBench" %} -{% set version = "0.6" %} -{% set sha256 = "67f9c8f0bfa53e4602d9083c43beab1edb63e6b0e8619a0ac3cde8c01b29cb0d" %} +{% set version = "1.0" %} +{% set sha256 = "04d94acb727cadf096adf7f023e629361fb6340ef47d47de8977a0d6b76f64aa" %} package: name: {{ name|lower }} @@ -11,7 +11,7 @@ source: sha256: "{{ sha256 }}" build: - number: 1 + number: 0 noarch: python script: $PYTHON -m pip install . --ignore-installed --no-deps -vv run_exports: @@ -33,8 +33,10 @@ requirements: - matplotlib-venn - infernal - bedtools - - upsetplot + - upsetplot >=0.9 - packaging + - scikit-learn + - goatools test: commands: diff --git a/recipes/rcorrector/build.sh b/recipes/rcorrector/build.sh index aca8c80b5e330..d856a68c52db5 100644 --- a/recipes/rcorrector/build.sh +++ b/recipes/rcorrector/build.sh @@ -2,7 +2,7 @@ export C_INCLUDE_PATH=$PREFIX/include export OBJC_INCLUDE_PATH=$PREFIX/include -export CPLUS_INCLUDE_PATH=$PREFIX/include +export CPLUS_INCLUDE_PATH=$PREFIX/include export LD_LIBRARY_PATH=$PATH/lib:$LD_LIBRARY_PATH export CFLAGS="-I$PREFIX/include" export CXXFLAGS="-Wall -O3 -std=c++0x -L$PREFIX/lib" diff --git a/recipes/rcorrector/meta.yaml b/recipes/rcorrector/meta.yaml index 9d532152a0e8e..5d667d2952db5 100644 --- a/recipes/rcorrector/meta.yaml +++ b/recipes/rcorrector/meta.yaml @@ -1,5 +1,5 @@ {% set name = "rcorrector" %} -{% set version = "1.0.6" %} +{% set version = "1.0.7" %} package: name: {{ name }} @@ -7,10 +7,12 @@ package: source: url: https://github.com/mourisl/Rcorrector/archive/refs/tags/v{{ version }}.tar.gz - sha256: 581a7028c68cca20ee045084adabde9f3f896485427c1b7f1c6253fb198cf38a + sha256: cc1a9e82056bdc717b7ac40729c90573caad371899f9a1c61c25b50f019fbedb build: number: 0 + run_exports: + - {{ pin_subpackage('rcorrector', max_pin="x") }} requirements: build: @@ -33,6 +35,11 @@ test: about: home: https://github.com/mourisl/Rcorrector/ license: GPL-3.0-only - license_family: GPL + license_family: GPL3 license_file: LICENSE summary: Rcorrector (RNA-seq error CORRECTOR) is a kmer-based error correction method for RNA-seq data. Rcorrector can also be applied to other type of sequencing data where the read coverage is non-uniform, such as single-cell sequencing. + +extra: + identifiers: + - doi:10.1186/s13742-015-0089-y + - biotools:rcorrector diff --git a/recipes/rcx-tk/meta.yaml b/recipes/rcx-tk/meta.yaml new file mode 100644 index 0000000000000..e185552856d94 --- /dev/null +++ b/recipes/rcx-tk/meta.yaml @@ -0,0 +1,52 @@ +{% set name = "rcx-tk" %} +{% set version = "0.1.0" %} + +package: + name: rcx-tk + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/rcx_tk-{{ version }}.tar.gz + sha256: 78eb18c1b90289b9e39d2451cb444ded39134fa9e56744cf692839e7835ddb04 + +build: + entry_points: + - rcx_tk = rcx_tk.__main__:main + run_exports: + - {{ pin_subpackage("rcx-tk", max_pin="x.x") }} + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + +requirements: + host: + - python >=3.11,<4.0 + - poetry-core + - pip + run: + - python >=3.11.0,<4.0.0 + - pandas >=2.2.2,<3.0.0 + - pyxlsx >=1.1.3,<2.0.0 + - pandas-stubs >=2.2.2,<3.0.0 + - mypy >=1.10.1,<2.0.0 + - click >=8.1.7,<9.0.0 + +test: + imports: + - rcx_tk + commands: + - pip check + - rcx_tk --help + requires: + - pip + +about: + home: https://github.com/RECETOX/rcx-tk + summary: This package adjusts and cleans the metadata file provided by a user. + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - KristinaGomoryova + - hechth diff --git a/recipes/rdp_classifier/meta.yaml b/recipes/rdp_classifier/meta.yaml index 2f1fc33e086f3..5341085f3b312 100644 --- a/recipes/rdp_classifier/meta.yaml +++ b/recipes/rdp_classifier/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "2.13" %} +{% set version = "2.14" %} package: name: rdp_classifier @@ -6,11 +6,13 @@ package: source: url: https://sourceforge.net/projects/rdp-classifier/files/rdp-classifier/rdp_classifier_{{ version }}.zip - sha256: d2eb9a989d7e31ff824de6876bc1d8ab70d97112ece167afe8d87a3cd412086a + sha256: 2aac7ba2bf602eb025e1791f356c0c437200486ece6905f93219d51395504b2b build: noarch: generic - number: 1 + number: 0 + run_exports: + - {{ pin_subpackage('rdp_classifier', max_pin='x.x') }} requirements: run: @@ -21,6 +23,6 @@ test: - rdp_classifier about: - home: 'http://rdp.cme.msu.edu/classifier/' + home: 'https://sourceforge.net/projects/rdp-classifier/' license: GPL-2.0-only summary: "Naive Bayesian classifier that can rapidly and accurately provide taxonomic assignments from domain to genus" diff --git a/recipes/rdp_classifier/rdp_classifier.sh b/recipes/rdp_classifier/rdp_classifier.sh index 1bbc9b3f9e0bb..1596d5df830e7 100644 --- a/recipes/rdp_classifier/rdp_classifier.sh +++ b/recipes/rdp_classifier/rdp_classifier.sh @@ -36,10 +36,10 @@ for arg in "$@"; do '-XX'*) jvm_prop_opts="$jvm_prop_opts $arg" ;; - '-Xm'*) + '-Xm'*) jvm_mem_opts="$jvm_mem_opts $arg" ;; - *) + *) pass_args="$pass_args $arg" ;; esac diff --git a/recipes/reads2graph/build.sh b/recipes/reads2graph/build.sh new file mode 100644 index 0000000000000..dc8a4ff15050f --- /dev/null +++ b/recipes/reads2graph/build.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash +set -ex + +# Add the Conda environment's bin directory to the PATH +export PATH="${PREFIX}/bin:${PATH}" + +# Create build directory +mkdir -p build +cd build + +# Configure the build +cmake -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=${PREFIX} \ + -DCMAKE_MAKE_PROGRAM=make \ + -DCMAKE_CXX_COMPILER=${CXX} \ + -DCMAKE_TOOLCHAIN_FILE="${RECIPE_DIR}/cross-linux.cmake" \ + -DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS} -std=gnu++20 -fopenmp -static-libgcc -static-libstdc++ -isystem ${PREFIX}/include -isystem ${PREFIX}/include/seqan3/submodules/sdsl-lite/include -isystem ${PREFIX}/include/seqan3/submodules/cereal/include -fconcepts -g -Wall -lyaml-cpp -Wno-interference-size -Wno-maybe-uninitialized" \ + .. + +make +cp ../bin/reads2graph $PREFIX/bin/reads2graph \ No newline at end of file diff --git a/recipes/reads2graph/cross-linux.cmake b/recipes/reads2graph/cross-linux.cmake new file mode 100644 index 0000000000000..54bec70894000 --- /dev/null +++ b/recipes/reads2graph/cross-linux.cmake @@ -0,0 +1,21 @@ +# this one is important +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_PLATFORM Linux) +#this one not so much +set(CMAKE_SYSTEM_VERSION 1) + +# specify the cross compiler +set(CMAKE_CXX_COMPILER $ENV{CXX}) +set(CMAKE_C_COMPILER $ENV{CC}) + +# where is the target environment +set(CMAKE_FIND_ROOT_PATH $ENV{PREFIX} $ENV{BUILD_PREFIX}/$ENV{HOST}/sysroot) + +# search for programs in the build host directories +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +# for libraries and headers in the target directories +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) + +# god-awful hack because it seems to not run correct tests to determine this: +set(__CHAR_UNSIGNED___EXITCODE 1) \ No newline at end of file diff --git a/recipes/reads2graph/meta.yaml b/recipes/reads2graph/meta.yaml new file mode 100644 index 0000000000000..2bc392ca9fd41 --- /dev/null +++ b/recipes/reads2graph/meta.yaml @@ -0,0 +1,57 @@ +{% set name = "reads2graph" %} +{% set version = "1.0.0" %} +{% set sha256 = "1c054034fe139c60d521f349c824885594f30f04695c669d66072002fd1306e4" %} + +package: + name: {{ name}} + version: {{ version }} + +source: + url: "https://github.com/Jappy0/reads2graph/archive/refs/tags/{{name}}-v{{version}}.tar.gz" + sha256: {{ sha256 }} + +build: + number: 0 + skip: True # [osx] + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - gxx >=12.0 + - cmake >=3.21 + - make + - seqan3 ==3.3.0 + - sharg ==1.1.1 + - boost ==1.82.0 + - openmp ==8.0.1 + host: + - seqan3 ==3.3.0 + - sharg ==1.1.1 + - boost ==1.82.0 + - openmp ==8.0.1 + run: + - seqan3 ==3.3.0 + - sharg ==1.1.1 + - boost ==1.82.0 + - openmp ==8.0.1 + +test: + commands: + - reads2graph --help + - reads2graph --version + +about: + home: https://github.com/Jappy0/reads2graph + license: BSD-3-Clause + license_family: BSD + license_file: LICENSE + summary: reads2graph is an efficient tool for constructing edit-distance-based read graph from short-read sequencing data. + +extra: + identifiers: + - biotools:reads2graph + recipe-maintainers: + - Jappy0 \ No newline at end of file diff --git a/recipes/rebar/LICENSE b/recipes/rebar/LICENSE new file mode 100644 index 0000000000000..56b1b473c89f8 --- /dev/null +++ b/recipes/rebar/LICENSE @@ -0,0 +1,201 @@ +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2023 Public Health Agency of Canada + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/recipes/rebar/build.sh b/recipes/rebar/build.sh new file mode 100644 index 0000000000000..2136c1ec32aa2 --- /dev/null +++ b/recipes/rebar/build.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +ls "${SRC_DIR}" +chmod +x "${SRC_DIR}"/rebar* +mkdir -p "${PREFIX}/bin" +mv "${SRC_DIR}"/rebar* "${PREFIX}"/bin/rebar diff --git a/recipes/rebar/meta.yaml b/recipes/rebar/meta.yaml new file mode 100644 index 0000000000000..1606b78768607 --- /dev/null +++ b/recipes/rebar/meta.yaml @@ -0,0 +1,40 @@ +{% set name = "rebar" %} +{% set version = "0.2.1" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + - url: https://github.com/phac-nml/rebar/releases/download/v{{ version }}/{{ name }}-x86_64-unknown-linux-musl # [linux64] + sha256: f89184240277130a539e71994690eb3ec6ec4b2c45a851097dc261891e5a9f11 # [linux64] + - url: https://github.com/phac-nml/rebar/releases/download/v{{ version }}/{{ name }}-x86_64-apple-darwin # [osx and x86_64] + sha256: 86b3df61488f3d9576c62ea13e13bac480d9531a142a3fc8f2ed72689ceff833 # [osx and x86_64] + +build: + binary_relocation: False + number: 0 + # If the software version starts with a 0 (e.g. 0.3.2) semantic versioning allows breaking changes in minor releases. + # https://bioconda.github.io/contributor/linting.html#missing-run-exports + run_exports: + - {{ pin_compatible(name, max_pin="x.x") }} + +test: + commands: + - rebar --help + +about: + home: https://github.com/phac-nml/rebar + license: Apache-2.0 + license_family: APACHE + license_file: LICENSE + summary: "Genomic recombination detection using mutational barcodes." + +extra: + maintainers: + - ktmeaton + recipe-maintainers: + - ktmeaton + skip-lints: + - should_be_noarch_generic + diff --git a/recipes/rebar/run_test.sh b/recipes/rebar/run_test.sh new file mode 100644 index 0000000000000..8fab8c1320d57 --- /dev/null +++ b/recipes/rebar/run_test.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +set -x +set -e + +rebar --version + +# Dataset: Toy1 +rebar dataset download --name toy1 --tag custom --output-dir dataset/toy1 +rebar run --dataset-dir dataset/toy1 --populations "*" --mask 0,0 --min-length 3 --output-dir output/toy1 +rebar plot --run-dir output/toy1 --annotations dataset/toy1/annotations.tsv + +# Dataset: SARS-CoV-2 +rebar dataset download --name sars-cov-2 --tag 2023-11-30 --output-dir dataset/sars-cov-2/2023-11-30 +rebar run --dataset-dir dataset/sars-cov-2/2023-11-30 --populations "AY.4.2*,BA.5.2,XBC.1.6*,XBB.1.5.1,XBL" --output-dir output/sars-cov-2 +rebar plot --run-dir output/sars-cov-2 --annotations dataset/sars-cov-2/2023-11-30/annotations.tsv diff --git a/recipes/recentrifuge/meta.yaml b/recipes/recentrifuge/meta.yaml index d5b01399af34f..fd82baed37726 100644 --- a/recipes/recentrifuge/meta.yaml +++ b/recipes/recentrifuge/meta.yaml @@ -1,5 +1,5 @@ -{% set name="recentrifuge" %} -{% set version="1.12.1" %} +{% set name = "recentrifuge" %} +{% set version = "1.15.0" %} package: name: {{ name }} @@ -8,18 +8,20 @@ package: build: noarch: python number: 0 - script: python -m pip install --no-deps --ignore-installed . + script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation . -vvv + run_exports: + - {{ pin_subpackage('recentrifuge', max_pin="x") }} source: url: https://github.com/khyox/{{ name }}/archive/v{{ version }}.tar.gz - sha256: 076dedf54f5d465580e6c2792335c4b0a42853c1eabb891c362479c21ba7e491 + sha256: adacf412188433f4bf54477872218d27340475eb4876af710f2d9b7294d05496 requirements: host: - - python >=3 + - python >=3.6 - pip run: - - python >=3 + - python >=3.6 - biopython 1.79 - numpy >=1.19.5 - matplotlib-base >=3.3.4 @@ -32,9 +34,11 @@ test: about: home: https://github.com/khyox/recentrifuge - license: 'AGPLv3' + license: 'AGPL-3.0-or-later' + license_family: AGPL license_file: LICENSE.txt summary: 'Robust comparative analysis and contamination removal for metagenomics' + doc_url: https://github.com/khyox/recentrifuge/wiki extra: recipe-maintainers: diff --git a/recipes/recgraph/build.sh b/recipes/recgraph/build.sh new file mode 100644 index 0000000000000..049babcc91015 --- /dev/null +++ b/recipes/recgraph/build.sh @@ -0,0 +1,6 @@ +#!/bin/bash -euo + +RUST_BACKTRACE=1 CARGO_HOME="${BUILD_PREFIX}/.cargo" cargo build --release + +mkdir -p $PREFIX/bin +cp target/release/recgraph $PREFIX/bin diff --git a/recipes/recgraph/meta.yaml b/recipes/recgraph/meta.yaml new file mode 100644 index 0000000000000..227ff06ebd53e --- /dev/null +++ b/recipes/recgraph/meta.yaml @@ -0,0 +1,37 @@ +{% set name = "RecGraph" %} +{% set version = "1.0.0" %} +{% set sha256 = "a68a49ecc457f4070604244a21abde60c76b12dba03e8d4136c3fe20abae7ffc" %} + + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/AlgoLab/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} + +requirements: + build: + - make + - {{ compiler('c') }} + - rust =1.74 + +test: + commands: + - recgraph --help + +about: + home: https://github.com/AlgoLab/{{ name }} + license: MIT + license_file: LICENSE + summary: Optimal sequence-to-graph alignment with recombinations + +extra: + recipe-maintainers: + - yp diff --git a/recipes/recognizer/build.sh b/recipes/recognizer/build.sh deleted file mode 100644 index 96dd646713b92..0000000000000 --- a/recipes/recognizer/build.sh +++ /dev/null @@ -1,7 +0,0 @@ -dir="${PREFIX}/share" -mkdir -p "${dir}" -mkdir -p "${PREFIX}/bin" -cp recognizer.py "${dir}" -cp -r resources/* "${dir}" -chmod +x "${dir}/recognizer.py" -ln -s "${dir}/recognizer.py" "${PREFIX}/bin/recognizer" diff --git a/recipes/recognizer/meta.yaml b/recipes/recognizer/meta.yaml index e894c66dab43d..8d3f66805adc2 100644 --- a/recipes/recognizer/meta.yaml +++ b/recipes/recognizer/meta.yaml @@ -1,6 +1,6 @@ {% set name = "recognizer" %} -{% set version = "1.9.4" %} -{% set sha256 = "36c3f08fff9c5eff6bf45491b3332eee44507d08f9839766b4fe81eeb8715630" %} +{% set version = "1.11.1" %} +{% set sha256 = "e385fb307fd64892629bcdad35d43d29ab0ea3703d20b0090e78b5cdaa83ea98" %} package: name: {{ name|lower }} @@ -15,6 +15,12 @@ build: number: 0 run_exports: - {{ pin_subpackage(name, max_pin="x") }} + script: > + mkdir -p $PREFIX/bin && + mkdir -p $PREFIX/share && + cp recognizer.py resources/*.tsv $PREFIX/share && + chmod +x $PREFIX/share/recognizer.py && + ln -s $PREFIX/share/recognizer.py $PREFIX/bin/recognizer requirements: run: diff --git a/recipes/recon/build.sh b/recipes/recon/build.sh index 5a165f6accd42..b3086e96e2f7a 100644 --- a/recipes/recon/build.sh +++ b/recipes/recon/build.sh @@ -4,7 +4,10 @@ set -x -e mkdir -p ${PREFIX}/bin cd src/ -make CC=$CC +make CC=$CC -j ${CPU_COUNT} make install cd .. cp bin/* ${PREFIX}/bin + +# add read permissions to LICENSE +chmod a+r LICENSE \ No newline at end of file diff --git a/recipes/recon/meta.yaml b/recipes/recon/meta.yaml index 948d88827c76b..2c77d6a9ba408 100644 --- a/recipes/recon/meta.yaml +++ b/recipes/recon/meta.yaml @@ -9,7 +9,9 @@ source: sha256: 699765fa49d18dbfac9f7a82ecd054464b468cb7521abe9c2bd8caccf08ee7d8 build: - number: 6 + number: 7 + run_exports: + - {{ pin_subpackage('recon', max_pin="x") }} requirements: build: @@ -25,3 +27,7 @@ about: license: GPL2 license_file: LICENSE summary: 'The RECON package performs de novo identification and classification of repeat sequence families from genomic sequences.' + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/reduce/build.sh b/recipes/reduce/build.sh new file mode 100644 index 0000000000000..7dc7f938e30cb --- /dev/null +++ b/recipes/reduce/build.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +mkdir -p build +cd build +cmake ${SRC_DIR} ${CMAKE_ARGS} +make +make install diff --git a/recipes/reduce/meta.yaml b/recipes/reduce/meta.yaml new file mode 100644 index 0000000000000..f7b252312ff77 --- /dev/null +++ b/recipes/reduce/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "reduce" %} +{% set version = "4.14" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/rlabduke/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: 62e61cce221fff76b5834031302d91fe703a19945a42e16620d4fb860604daf4 + +build: + number: 2 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + +requirements: + build: + - make + - cmake + - {{ compiler('c') }} + - {{ compiler('cxx') }} # [linux] + host: + - python + run: + - python + +test: + commands: + - reduce -version || if [ $? -eq 2 ]; then exit 0; else exit 1; fi + +about: + home: https://github.com/rlabduke/reduce + summary: Reduce - tool for adding and correcting hydrogens in PDB files + license: BSD-4-Clause-UC + license_family: BSD + license_file: LICENSE.txt + description: | + Reduce is a tool for adding and correcting hydrogens in PDB files. + It is often used in computational biology and molecular modeling to + prepare protein structures for further analysis or simulations. + doc_url: https://github.com/rlabduke/reduce#readme + dev_url: https://github.com/rlabduke/reduce + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + recipe-maintainers: + - eunos-1128 \ No newline at end of file diff --git a/recipes/reframed/LICENSE.txt b/recipes/reframed/LICENSE.txt new file mode 100644 index 0000000000000..ea167eefc7532 --- /dev/null +++ b/recipes/reframed/LICENSE.txt @@ -0,0 +1,15 @@ +Apache Software License 2.0 + +Copyright (c) 2019, Daniel Machado + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/recipes/reframed/meta.yaml b/recipes/reframed/meta.yaml index 5bc8f8eec8325..cbcb3673cd42a 100644 --- a/recipes/reframed/meta.yaml +++ b/recipes/reframed/meta.yaml @@ -1,5 +1,5 @@ {% set name = "reframed" %} -{% set version = "1.5.0" %} +{% set version = "1.5.3" %} package: name: {{ name|lower }} @@ -7,11 +7,11 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/reframed-{{ version }}.tar.gz - sha256: 2f40e631080be7aa8f2ea1c1f4b1ffa5cf52e87e4279978b6c72c7bb690dc1c1 + sha256: e84a73a94a2ec1cdbe5a56dad796260b38dbaa662fecc12c4d6092ef223334d9 build: noarch: python - script: {{ PYTHON }} -m pip install . -vv + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir number: 0 run_exports: - {{ pin_subpackage('reframed', max_pin="x") }} @@ -26,23 +26,25 @@ requirements: - scipy - sympy - python-libsbml + - pyscipopt + - scip test: imports: - reframed - commands: - - pip check - requires: - - pip about: home: https://github.com/cdanielmachado/reframed - summary: metabolic modeling package + summary: "Metabolic modeling package." license: Apache-2.0 + license_family: APACHE license_file: LICENSE + dev_url: https://github.com/cdanielmachado/reframed extra: recipe-maintainers: + - lhtxa + - cdanielmachado - acaprez identifiers: - biotools:reframed diff --git a/recipes/regenie/meta.yaml b/recipes/regenie/meta.yaml index bb864e50ed545..ef14c2e5919c7 100644 --- a/recipes/regenie/meta.yaml +++ b/recipes/regenie/meta.yaml @@ -1,6 +1,6 @@ {% set name = "regenie" %} -{% set version = "3.3" %} -{% set sha256 = "ee5ccffa89c5ae37b4d89c367da0d0d47d808f1e157152d4d60bcbe1ab3e5f53" %} +{% set version = "3.5" %} +{% set sha256 = "48dfe8efa7b8acb6771452e3b53008f97d4a5c1241d5dbc3380d994b70a07a8c" %} package: name: {{ name|lower }} @@ -21,7 +21,10 @@ source: # - patches/0008-fix-cmakelist-file-for-osx-eigen4.patch # - patches/0009-update-cmake-file-for-conda.patch # - patches/0010-update-cmakelist-file-for-v3.2.7.patch - - patches/0011-update-cmakelist-file-for-v3.2.9.patch + # - patches/0011-update-cmakelist-file-for-v3.2.9.patch + # - patches/0012-update-cmakelist-file-for-v3.4.patch + # - patches/0013-update-cmakelist-file-for-v3.4.1.patch + - patches/0014-update-cmakelist.txt-for-v3.5.patch build: number: 0 @@ -40,14 +43,14 @@ requirements: - libgomp # [linux] host: - bgenix >=1.1.7 - - boost-cpp >=1.7 + - boost-cpp 1.74 - liblapack * *mkl - mkl >=2020.4 - mkl-include - zlib - zstd run: - - boost-cpp >=1.7 + - boost-cpp 1.74 - mkl >=2020.4 - sqlite - zlib diff --git a/recipes/regenie/patches/0012-update-cmakelist-file-for-v3.4.patch b/recipes/regenie/patches/0012-update-cmakelist-file-for-v3.4.patch new file mode 100644 index 0000000000000..0e6278d726201 --- /dev/null +++ b/recipes/regenie/patches/0012-update-cmakelist-file-for-v3.4.patch @@ -0,0 +1,348 @@ +From 918db42f41961bd4556662ade1edc6ca3378da7f Mon Sep 17 00:00:00 2001 +From: Joelle Mbatchou +Date: Thu, 14 Dec 2023 17:33:24 -0500 +Subject: [PATCH] pdate cmakelist file for v3.4 + +--- + CMakeLists.txt | 243 +++++++++++++++++++------------------------------ + 1 file changed, 94 insertions(+), 149 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5bb60d3..3609ab4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,11 +1,3 @@ +-# For Intel MKL, set MKLROOT= when running cmake +-# e.g. MKLROOT=/opt/mkl/ cmake -S regenie_dir/ -B regenie_dir/build/ +-# For OpenBLAS, set OPENBLAS_ROOT= when running cmake +-# note: it also requires lapacke library +-# For static compilation on Linux systems, set STATIC=1 when running cmake +-# -> this excludes GLIBC +- +- + cmake_minimum_required(VERSION 3.13) + + # detect OS architecture +@@ -33,57 +25,16 @@ set(CMAKE_CXX_EXTENSIONS OFF) # Ensures -std=c++11 + ###################################### + ######## check input variables + +-# check BGEN_PATH +-if("$ENV{BGEN_PATH}" STREQUAL "") +- message( FATAL_ERROR "Must specify path to BGEN library in 'BGEN_PATH'") +-else() +- set(BGEN_PATH "$ENV{BGEN_PATH}" CACHE INTERNAL "Set BGEN library path") +- if (NOT EXISTS ${BGEN_PATH}) +- message( FATAL_ERROR "Specified BGEN library directory '${BGEN_PATH}' does not exist") +- endif() +-endif() +- + # check for static compilation +-if($ENV{STATIC}) ++if(BUILD_SHARED_LIBS) ++ set(BUILD_STATIC OFF CACHE INTERNAL "Dynamic compilation") ++ set(Boost_USE_STATIC_LIBS OFF) ++else() + set(BUILD_STATIC ON CACHE INTERNAL "Static compilation") ++ set(Boost_USE_STATIC_LIBS ON) + message( STATUS "Static compilation mode") + endif() + +-# check Boost IOStreams +-if($ENV{HAS_BOOST_IOSTREAM}) +- set(HAS_BOOST_IOSTREAM 1 CACHE INTERNAL "Add Boost IO") +- set(RG_VERSION "${RG_VERSION}.gz" CACHE INTERNAL "Update version") +-else() +- set(HAS_BOOST_IOSTREAM 0 CACHE INTERNAL "Skip Boost IO") +-endif() +- +-# check MKL +-if(NOT "$ENV{MKLROOT}" STREQUAL "") +- set(MKLROOT "$ENV{MKLROOT}" CACHE INTERNAL "Set MKL library path") +- if (NOT EXISTS ${MKLROOT}) +- message( FATAL_ERROR "Specified MKL library directory '${MKLROOT}' does not exist") +- endif() +- message( STATUS "Will compile with Intel MKL library") +-endif() +- +-# check HTSlib +-if(NOT "$ENV{HTSLIB_PATH}" STREQUAL "") +- set(HTSLIB_PATH "$ENV{HTSLIB_PATH}" CACHE INTERNAL "Set HTSlib library path") +- if (NOT EXISTS ${HTSLIB_PATH}) +- message( FATAL_ERROR "Specified HTSlib library directory '${HTSLIB_PATH}' does not exist") +- endif() +- message( STATUS "Will compile with HTSlib") +-endif() +- +-# check OpenBLAS +-if(NOT "$ENV{OPENBLAS_ROOT}" STREQUAL "") +- set(OPENBLAS_ROOT "$ENV{OPENBLAS_ROOT}" CACHE INTERNAL "Set OpenBLAS library path") +- if (NOT EXISTS ${OPENBLAS_ROOT}) +- message( FATAL_ERROR "Specified OpenBLAS library directory '${OPENBLAS_ROOT}' does not exist") +- endif() +- message( STATUS "Will compile with OpenBLAS library") +-endif() +- + ###################################### + ######## set flags and required libraries + +@@ -92,9 +43,10 @@ set(Boost_USE_STATIC_LIBS ${BUILD_STATIC}) + set(Boost_USE_DEBUG_LIBS OFF) + set(Boost_USE_MULTITHREADED ON) + set(Boost_USE_STATIC_RUNTIME OFF) ++set(MKLROOT "${CMAKE_PREFIX_PATH}") + +-# list each file specifically +-add_executable(regenie ++# list each file specifically ++add_executable(regenie + ${CMAKE_SOURCE_DIR}/src/Data.cpp + ${CMAKE_SOURCE_DIR}/src/Files.cpp + ${CMAKE_SOURCE_DIR}/src/Geno.cpp +@@ -112,32 +64,54 @@ add_executable(regenie + ${CMAKE_SOURCE_DIR}/src/MCC.cpp + ${CMAKE_SOURCE_DIR}/src/Ordinal.cpp + ) +-target_include_directories(regenie PRIVATE ${CMAKE_SOURCE_DIR}/src) ++target_include_directories(regenie PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_PREFIX_PATH}/include) + + set(CMAKE_CXX_FLAGS "-O3 -Wall -pedantic -ffast-math -Wno-unused-local-typedefs -Wno-deprecated-declarations -Wno-long-long -Wno-c11-extensions -fPIC") +-add_definitions(-DVERSION_NUMBER="${RG_VERSION}") + ++find_package(OpenMP REQUIRED) ++target_link_libraries(regenie OpenMP::OpenMP_CXX) + if("${UNAME_S}" STREQUAL "Linux") +- find_package(OpenMP REQUIRED) +- target_link_libraries(regenie PRIVATE OpenMP::OpenMP_CXX) + if(${BUILD_STATIC}) +- target_link_options(regenie BEFORE PRIVATE -static-libgcc PRIVATE -static-libstdc++) ++ target_link_options(regenie BEFORE -static-libgcc -static-libstdc++) + endif() + elseif("${UNAME_S}" STREQUAL "Darwin") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") + endif() + +-set(EXTERN_LIBS_PATH "${CMAKE_SOURCE_DIR}/external_libs") +-target_include_directories(regenie PRIVATE ${EXTERN_LIBS_PATH}/) ++set(EXTERN_LIBS_PATH "${CMAKE_CURRENT_SOURCE_DIR}/external_libs") ++target_include_directories(regenie PUBLIC ${EXTERN_LIBS_PATH}/) ++ ++# for BGEN (choose static if present first) ++find_library(ZSTD_LIBRARY zstd REQUIRED) ++find_library(DB_LIBRARY ++ NAMES libdb.a db ++ REQUIRED ++ ) ++find_library(SQLITE3_LIBRARY sqlite3 REQUIRED) ++find_package(Boost ++ REQUIRED COMPONENTS system filesystem thread ++ OPTIONAL_COMPONENTS iostreams ++ ) ++find_library(BGEN_LIBRARY ++ NAMES libbgen.a ++ REQUIRED ++ ) ++target_link_libraries(regenie ${ZSTD_LIBRARY} ${BGEN_LIBRARY} ${DB_LIBRARY} ${SQLITE3_LIBRARY} ${Boost_LIBRARIES}) ++target_include_directories(regenie ++ PUBLIC ++ $ ++ $ ++ $ ++ $ ++ ) ++add_definitions(${Boost_DEFINITIONS}) + +-# BGEN library and its dependencies +-find_library(ZSTD_LIBRARY libzstd.a HINTS "${BGEN_PATH}/build/3rd_party/zstd-1.1.0" REQUIRED) +-find_library(DB_LIBRARY libdb.a HINTS "${BGEN_PATH}/build/db" REQUIRED) +-find_library(SQLITE3_LIBRARY libsqlite3.a HINTS "${BGEN_PATH}/build/3rd_party/sqlite3" REQUIRED) +-find_library(Boost_LIBRARY libboost.a HINTS "${BGEN_PATH}/build/3rd_party/boost_1_55_0" REQUIRED) +-find_library(BGEN_LIBRARY libbgen.a HINTS "${BGEN_PATH}/build" REQUIRED) +-target_link_libraries(regenie PRIVATE ${ZSTD_LIBRARY} ${BGEN_LIBRARY} ${DB_LIBRARY} ${SQLITE3_LIBRARY} ${Boost_LIBRARY}) +-target_include_directories(regenie PRIVATE ${BGEN_PATH} ${BGEN_PATH}/genfile/include/ ${BGEN_PATH}/3rd_party/boost_1_55_0/ ${BGEN_PATH}/3rd_party/zstd-1.1.0/lib ${BGEN_PATH}/db/include/ ${BGEN_PATH}/3rd_party/sqlite3) ++# Boost IO ++if(Boost_iostreams_FOUND) ++ add_definitions(-DHAS_BOOST_IOSTREAM) ++ set(RG_VERSION "${RG_VERSION}.gz" CACHE INTERNAL "Update version") ++ message( STATUS "Will compile with Boost Iostreams library") ++endif() + + # MVTNorm library + set(MVTN_PATH "${EXTERN_LIBS_PATH}/mvtnorm") +@@ -146,7 +120,7 @@ add_custom_target( + COMMAND make + WORKING_DIRECTORY ${MVTN_PATH} + ) +-target_link_libraries(regenie PRIVATE ${MVTN_PATH}/libMvtnorm.a) ++target_link_libraries(regenie ${MVTN_PATH}/libMvtnorm.a) + add_dependencies(regenie libMvtnorm) + + # QF library +@@ -156,7 +130,7 @@ add_custom_target( + COMMAND make + WORKING_DIRECTORY ${QF_PATH} + ) +-target_link_libraries(regenie PRIVATE ${QF_PATH}/qf.a) ++target_link_libraries(regenie ${QF_PATH}/qf.a) + add_dependencies(regenie libqf) + + # Quadpack library +@@ -166,7 +140,7 @@ add_custom_target( + COMMAND make + WORKING_DIRECTORY ${QUAD_PATH} + ) +-target_link_libraries(regenie PRIVATE ${QUAD_PATH}/libquad.a) ++target_link_libraries(regenie ${QUAD_PATH}/libquad.a) + add_dependencies(regenie libquad) + + # PGEN library +@@ -176,100 +150,71 @@ add_custom_target( + COMMAND make + WORKING_DIRECTORY ${PGEN_PATH} + ) +-target_link_libraries(regenie PRIVATE ${PGEN_PATH}/pgenlib.a) +-target_include_directories(regenie PRIVATE ${PGEN_PATH} ${PGEN_PATH}/simde/ ${PGEN_PATH}/include/) ++target_link_libraries(regenie ${PGEN_PATH}/pgenlib.a) ++target_include_directories(regenie PUBLIC ${PGEN_PATH} ${PGEN_PATH}/simde/ ${PGEN_PATH}/include/) + add_dependencies(regenie pgenlib) + +-# REMETA library +-if(EXISTS ${HTSLIB_PATH}) +- set(REMETA_PATH "${EXTERN_LIBS_PATH}/remeta") +- add_custom_target( +- remeta +- COMMAND make HTSLIB_PATH=${HTSLIB_PATH} +- WORKING_DIRECTORY ${REMETA_PATH} +- ) +- target_link_libraries(regenie PUBLIC ${REMETA_PATH}/remeta.a) +- target_include_directories(regenie PUBLIC ${REMETA_PATH}) +- add_dependencies(regenie remeta) +- +- add_definitions(-DWITH_HTSLIB) +- find_library(HTSLIB libhts.a HINTS ${HTSLIB_PATH}) +- target_link_libraries(regenie PUBLIC ${HTSLIB}) +-endif() +- + # Intel MKL +-if(EXISTS ${MKLROOT}) ++if(DEFINED MKLROOT) + add_definitions(-DWITH_MKL -DEIGEN_USE_BLAS -DEIGEN_USE_LAPACKE) +- target_include_directories(regenie PRIVATE ${MKLROOT}/include/) +- if(${BUILD_STATIC}) # specify static libs +- find_library(MKL_LP64_LIB libmkl_intel_lp64.a HINTS "${MKLROOT}/lib/intel64" REQUIRED) +- find_library(MKL_THREAD_LIB libmkl_gnu_thread.a HINTS "${MKLROOT}/lib/intel64" REQUIRED) +- find_library(MKL_CORE_LIB libmkl_core.a HINTS "${MKLROOT}/lib/intel64" REQUIRED) +- target_link_libraries(regenie PRIVATE "-Wl,--start-group" ${MKL_LP64_LIB} ${MKL_THREAD_LIB} ${MKL_CORE_LIB} "-Wl,--end-group" -lgomp) ++ target_include_directories(regenie PUBLIC ${MKLROOT}/include/) ++ find_library(MKL_LP64_LIB mkl_intel_lp64 ++ HINTS "${MKLROOT}/lib/" ++ REQUIRED ++ ) ++ if("${UNAME_S}" STREQUAL "Linux") ++ find_library(MKL_THREAD_LIB mkl_gnu_thread ++ HINTS "${MKLROOT}/lib/" ++ REQUIRED ++ ) ++ elseif("${UNAME_S}" STREQUAL "Darwin") ++ find_library(MKL_THREAD_LIB mkl_intel_thread ++ HINTS "${MKLROOT}/lib/" ++ REQUIRED ++ ) ++ endif() ++ find_library(MKL_CORE_LIB mkl_core ++ HINTS "${MKLROOT}/lib/" ++ REQUIRED ++ ) ++ if("${UNAME_S}" STREQUAL "Darwin") ++ target_link_libraries(regenie ${MKL_LP64_LIB} ${MKL_THREAD_LIB} ${MKL_CORE_LIB}) ++ elseif(${BUILD_STATIC}) ++ target_link_libraries(regenie "-Wl,--start-group" ${MKL_LP64_LIB} ${MKL_THREAD_LIB} ${MKL_CORE_LIB} "-Wl,--end-group" -lgomp) + else() # use dynamic libs +- find_library(MKL_LP64_LIB mkl_intel_lp64 PATHS "${MKLROOT}/lib/intel64" REQUIRED) +- find_library(MKL_THREAD_LIB mkl_gnu_thread PATHS "${MKLROOT}/lib/intel64" REQUIRED) +- find_library(MKL_CORE_LIB mkl_core PATHS "${MKLROOT}/lib/intel64" REQUIRED) +- target_link_libraries(regenie PRIVATE "-Wl,--no-as-needed" ${MKL_LP64_LIB} ${MKL_THREAD_LIB} ${MKL_CORE_LIB} -lgomp) ++ target_link_libraries(regenie "-Wl,--no-as-needed" ${MKL_LP64_LIB} ${MKL_THREAD_LIB} ${MKL_CORE_LIB} -lgomp) + endif() +-elseif(EXISTS ${OPENBLAS_ROOT}) # OpenBLAS +- add_definitions(-DWITH_OPENBLAS -DEIGEN_USE_BLAS -DEIGEN_USE_LAPACKE) +- target_include_directories(regenie PRIVATE ${OPENBLAS_ROOT}/include/) +- find_library(LAPACK_LIB lapack REQUIRED) +- find_library(BLAS_LIB openblas HINTS "${OPENBLAS_ROOT}/lib/" REQUIRED) +- target_link_libraries(regenie PRIVATE ${LAPACK_LIB} -llapacke ${BLAS_LIB}) ++ message( STATUS "Will compile with Intel MKL library") + endif() + + # cxxopts (header-only) +-target_include_directories(regenie PRIVATE ${EXTERN_LIBS_PATH}/cxxopts/include/) ++target_include_directories(regenie PUBLIC ${CMAKE_SOURCE_DIR}/external_libs/cxxopts/include/) + + # LBFGS (header-only) +-target_include_directories(regenie PRIVATE ${EXTERN_LIBS_PATH}/LBFGSpp/include/) ++target_include_directories(regenie PUBLIC ${CMAKE_SOURCE_DIR}/external_libs/LBFGSpp/include/) + + # Eigen (header-only) +-target_include_directories(regenie PRIVATE ${EXTERN_LIBS_PATH}/eigen-3.4.0/) +- +-# Boost IO +-if(${HAS_BOOST_IOSTREAM}) +- if("${UNAME_S}" STREQUAL "Darwin") +- find_library(BOOST_LIB_IO libboost_iostreams libboost_iostreams.a REQUIRED) +- target_link_libraries(regenie PRIVATE ${BOOST_LIB_IO}) +- elseif(${BUILD_STATIC}) +- find_library(BOOST_LIB_IO libboost_iostreams.a REQUIRED) +- target_link_libraries(regenie PRIVATE ${BOOST_LIB_IO}) +- else() +- target_link_libraries(regenie PRIVATE -lboost_iostreams) +- endif() +- add_definitions(-DHAS_BOOST_IOSTREAM) +- message( STATUS "Will compile with Boost Iostreams library") +-endif() ++target_include_directories(regenie PUBLIC ${CMAKE_SOURCE_DIR}/external_libs/eigen-3.4.0/) + + # Other libraries +-find_library(ZLIB_LIBRARY libz.a z REQUIRED) +-find_library(M_LIB m REQUIRED) +-find_library(DL_LIB dl REQUIRED) +-find_library(BZ2_LIB libbz2.so) +-find_library(LZMA_LIB liblzma.so) +-find_library(CURL_LIB libcurl.so) +-find_library(CRYPTO_LIB libcrypto.so) ++find_library(ZLIB_LIBRARY z REQUIRED) ++find_library(M_LIB m REQUIRED) ++find_library(DL_LIB dl REQUIRED) + if("${UNAME_S}" STREQUAL "Linux") + set(GFORTRAN_LIBRARY "-lgfortran") + elseif("${UNAME_S}" STREQUAL "Darwin") + find_library(GFORTRAN_LIBRARY gfortran REQUIRED) + endif() +-target_link_libraries( +- regenie PRIVATE +- ${ZLIB_LIBRARY} ${M_LIB} ${DL_LIB} ${PTHREAD_LIB} +- ${BZ2_LIB} ${LZMA_LIB} +- ${CURL_LIB} ${CRYPTO_LIB} ${GFORTRAN_LIBRARY} +-) ++target_link_libraries(regenie ${ZLIB_LIBRARY} ${M_LIB} ${DL_LIB} ${PTHREAD_LIB} ${GFORTRAN_LIBRARY}) + +-install(TARGETS regenie RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ++add_definitions(-DVERSION_NUMBER="${RG_VERSION}") ++install(TARGETS regenie RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} OPTIONAL) + message( STATUS "REGENIE v" ${RG_VERSION}) + +-add_custom_target(full-clean +- COMMAND cd "${MVTN_PATH}" && make clean +- COMMAND cd "${QF_PATH}" && make clean +- COMMAND cd "${QUAD_PATH}" && make clean +- COMMAND cd "${PGEN_PATH}" && make clean +- ) ++write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake COMPATIBILITY SameMajorVersion) ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake DESTINATION share/${PROJECT_NAME}) ++ ++set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) ++set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR}) ++set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH}) ++include(CPack) +-- +2.34.1 + diff --git a/recipes/regenie/patches/0013-update-cmakelist-file-for-v3.4.1.patch b/recipes/regenie/patches/0013-update-cmakelist-file-for-v3.4.1.patch new file mode 100644 index 0000000000000..a3072766dad91 --- /dev/null +++ b/recipes/regenie/patches/0013-update-cmakelist-file-for-v3.4.1.patch @@ -0,0 +1,343 @@ +From 40a095edbac9478fe818b43ae49c0d5e958d632f Mon Sep 17 00:00:00 2001 +From: Joelle Mbatchou +Date: Thu, 1 Feb 2024 17:14:05 -0500 +Subject: [PATCH] update cmakelist file for v3.4.1 + +--- + CMakeLists.txt | 228 +++++++++++++++++++++---------------------------- + 1 file changed, 95 insertions(+), 133 deletions(-) + mode change 100755 => 100644 CMakeLists.txt + +diff --git a/CMakeLists.txt b/CMakeLists.txt +old mode 100755 +new mode 100644 +index 4368ce0..2dc15fd +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,11 +1,3 @@ +-# For Intel MKL, set MKLROOT= when running cmake +-# e.g. MKLROOT=/opt/mkl/ cmake -S regenie_dir/ -B regenie_dir/build/ +-# For OpenBLAS, set OPENBLAS_ROOT= when running cmake +-# note: it also requires lapacke library +-# For static compilation on Linux systems, set STATIC=1 when running cmake +-# -> this excludes GLIBC +- +- + cmake_minimum_required(VERSION 3.13) + + # detect OS architecture +@@ -33,57 +25,16 @@ set(CMAKE_CXX_EXTENSIONS OFF) # Ensures -std=c++11 + ###################################### + ######## check input variables + +-# check BGEN_PATH +-if("$ENV{BGEN_PATH}" STREQUAL "") +- message( FATAL_ERROR "Must specify path to BGEN library in 'BGEN_PATH'") +-else() +- set(BGEN_PATH "$ENV{BGEN_PATH}" CACHE INTERNAL "Set BGEN library path") +- if (NOT EXISTS ${BGEN_PATH}) +- message( FATAL_ERROR "Specified BGEN library directory '${BGEN_PATH}' does not exist") +- endif() +-endif() +- + # check for static compilation +-if($ENV{STATIC}) ++if(BUILD_SHARED_LIBS) ++ set(BUILD_STATIC OFF CACHE INTERNAL "Dynamic compilation") ++ set(Boost_USE_STATIC_LIBS OFF) ++else() + set(BUILD_STATIC ON CACHE INTERNAL "Static compilation") ++ set(Boost_USE_STATIC_LIBS ON) + message( STATUS "Static compilation mode") + endif() + +-# check Boost IOStreams +-if($ENV{HAS_BOOST_IOSTREAM}) +- set(HAS_BOOST_IOSTREAM 1 CACHE INTERNAL "Add Boost IO") +- set(RG_VERSION "${RG_VERSION}.gz" CACHE INTERNAL "Update version") +-else() +- set(HAS_BOOST_IOSTREAM 0 CACHE INTERNAL "Skip Boost IO") +-endif() +- +-# check MKL +-if(NOT "$ENV{MKLROOT}" STREQUAL "") +- set(MKLROOT "$ENV{MKLROOT}" CACHE INTERNAL "Set MKL library path") +- if (NOT EXISTS ${MKLROOT}) +- message( FATAL_ERROR "Specified MKL library directory '${MKLROOT}' does not exist") +- endif() +- message( STATUS "Will compile with Intel MKL library") +-endif() +- +-# check HTSlib +-if(NOT "$ENV{HTSLIB_PATH}" STREQUAL "") +- set(HTSLIB_PATH "$ENV{HTSLIB_PATH}" CACHE INTERNAL "Set HTSlib library path") +- if (NOT EXISTS ${HTSLIB_PATH}) +- message( FATAL_ERROR "Specified HTSlib library directory '${HTSLIB_PATH}' does not exist") +- endif() +- message( STATUS "Will compile with HTSlib") +-endif() +- +-# check OpenBLAS +-if(NOT "$ENV{OPENBLAS_ROOT}" STREQUAL "") +- set(OPENBLAS_ROOT "$ENV{OPENBLAS_ROOT}" CACHE INTERNAL "Set OpenBLAS library path") +- if (NOT EXISTS ${OPENBLAS_ROOT}) +- message( FATAL_ERROR "Specified OpenBLAS library directory '${OPENBLAS_ROOT}' does not exist") +- endif() +- message( STATUS "Will compile with OpenBLAS library") +-endif() +- + ###################################### + ######## set flags and required libraries + +@@ -92,9 +43,10 @@ set(Boost_USE_STATIC_LIBS ${BUILD_STATIC}) + set(Boost_USE_DEBUG_LIBS OFF) + set(Boost_USE_MULTITHREADED ON) + set(Boost_USE_STATIC_RUNTIME OFF) ++set(MKLROOT "${CMAKE_PREFIX_PATH}") + +-# list each file specifically +-add_executable(regenie ++# list each file specifically ++add_executable(regenie + ${CMAKE_SOURCE_DIR}/src/Data.cpp + ${CMAKE_SOURCE_DIR}/src/Files.cpp + ${CMAKE_SOURCE_DIR}/src/Geno.cpp +@@ -112,32 +64,54 @@ add_executable(regenie + ${CMAKE_SOURCE_DIR}/src/MCC.cpp + ${CMAKE_SOURCE_DIR}/src/Ordinal.cpp + ) +-target_include_directories(regenie PRIVATE ${CMAKE_SOURCE_DIR}/src) ++target_include_directories(regenie PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_PREFIX_PATH}/include) + + set(CMAKE_CXX_FLAGS "-O3 -Wall -pedantic -ffast-math -Wno-unused-local-typedefs -Wno-deprecated-declarations -Wno-long-long -Wno-c11-extensions -fPIC") +-add_definitions(-DVERSION_NUMBER="${RG_VERSION}") + ++find_package(OpenMP REQUIRED) ++target_link_libraries(regenie OpenMP::OpenMP_CXX) + if("${UNAME_S}" STREQUAL "Linux") +- find_package(OpenMP REQUIRED) +- target_link_libraries(regenie PRIVATE OpenMP::OpenMP_CXX) + if(${BUILD_STATIC}) +- target_link_options(regenie BEFORE PRIVATE -static-libgcc PRIVATE -static-libstdc++) ++ target_link_options(regenie BEFORE -static-libgcc -static-libstdc++) + endif() + elseif("${UNAME_S}" STREQUAL "Darwin") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") + endif() + +-set(EXTERN_LIBS_PATH "${CMAKE_SOURCE_DIR}/external_libs") +-target_include_directories(regenie PRIVATE ${EXTERN_LIBS_PATH}/) ++set(EXTERN_LIBS_PATH "${CMAKE_CURRENT_SOURCE_DIR}/external_libs") ++target_include_directories(regenie PUBLIC ${EXTERN_LIBS_PATH}/) ++ ++# for BGEN (choose static if present first) ++find_library(ZSTD_LIBRARY zstd REQUIRED) ++find_library(DB_LIBRARY ++ NAMES libdb.a db ++ REQUIRED ++ ) ++find_library(SQLITE3_LIBRARY sqlite3 REQUIRED) ++find_package(Boost ++ REQUIRED COMPONENTS system filesystem thread ++ OPTIONAL_COMPONENTS iostreams ++ ) ++find_library(BGEN_LIBRARY ++ NAMES libbgen.a ++ REQUIRED ++ ) ++target_link_libraries(regenie ${ZSTD_LIBRARY} ${BGEN_LIBRARY} ${DB_LIBRARY} ${SQLITE3_LIBRARY} ${Boost_LIBRARIES}) ++target_include_directories(regenie ++ PUBLIC ++ $ ++ $ ++ $ ++ $ ++ ) ++add_definitions(${Boost_DEFINITIONS}) + +-# BGEN library and its dependencies +-find_library(ZSTD_LIBRARY libzstd.a HINTS "${BGEN_PATH}/build/3rd_party/zstd-1.1.0" REQUIRED) +-find_library(DB_LIBRARY libdb.a HINTS "${BGEN_PATH}/build/db" REQUIRED) +-find_library(SQLITE3_LIBRARY libsqlite3.a HINTS "${BGEN_PATH}/build/3rd_party/sqlite3" REQUIRED) +-find_library(Boost_LIBRARY libboost.a HINTS "${BGEN_PATH}/build/3rd_party/boost_1_55_0" REQUIRED) +-find_library(BGEN_LIBRARY libbgen.a HINTS "${BGEN_PATH}/build" REQUIRED) +-target_link_libraries(regenie PRIVATE ${ZSTD_LIBRARY} ${BGEN_LIBRARY} ${DB_LIBRARY} ${SQLITE3_LIBRARY} ${Boost_LIBRARY}) +-target_include_directories(regenie PRIVATE ${BGEN_PATH} ${BGEN_PATH}/genfile/include/ ${BGEN_PATH}/3rd_party/boost_1_55_0/ ${BGEN_PATH}/3rd_party/zstd-1.1.0/lib ${BGEN_PATH}/db/include/ ${BGEN_PATH}/3rd_party/sqlite3) ++# Boost IO ++if(Boost_iostreams_FOUND) ++ add_definitions(-DHAS_BOOST_IOSTREAM) ++ set(RG_VERSION "${RG_VERSION}.gz" CACHE INTERNAL "Update version") ++ message( STATUS "Will compile with Boost Iostreams library") ++endif() + + # MVTNorm library + set(MVTN_PATH "${EXTERN_LIBS_PATH}/mvtnorm") +@@ -146,7 +120,7 @@ add_custom_target( + COMMAND make + WORKING_DIRECTORY ${MVTN_PATH} + ) +-target_link_libraries(regenie PRIVATE ${MVTN_PATH}/libMvtnorm.a) ++target_link_libraries(regenie ${MVTN_PATH}/libMvtnorm.a) + add_dependencies(regenie libMvtnorm) + + # QF library +@@ -156,7 +130,7 @@ add_custom_target( + COMMAND make + WORKING_DIRECTORY ${QF_PATH} + ) +-target_link_libraries(regenie PRIVATE ${QF_PATH}/qf.a) ++target_link_libraries(regenie ${QF_PATH}/qf.a) + add_dependencies(regenie libqf) + + # Quadpack library +@@ -166,7 +140,7 @@ add_custom_target( + COMMAND make + WORKING_DIRECTORY ${QUAD_PATH} + ) +-target_link_libraries(regenie PRIVATE ${QUAD_PATH}/libquad.a) ++target_link_libraries(regenie ${QUAD_PATH}/libquad.a) + add_dependencies(regenie libquad) + + # PGEN library +@@ -176,12 +150,12 @@ add_custom_target( + COMMAND make + WORKING_DIRECTORY ${PGEN_PATH} + ) +-target_link_libraries(regenie PRIVATE ${PGEN_PATH}/pgenlib.a) +-target_include_directories(regenie PRIVATE ${PGEN_PATH} ${PGEN_PATH}/simde/ ${PGEN_PATH}/include/) ++target_link_libraries(regenie ${PGEN_PATH}/pgenlib.a) ++target_include_directories(regenie PUBLIC ${PGEN_PATH} ${PGEN_PATH}/simde/ ${PGEN_PATH}/include/) + add_dependencies(regenie pgenlib) + + # REMETA library +-if(EXISTS ${HTSLIB_PATH}) ++if(DEFINED HTSLIB_PATH) + set(REMETA_PATH "${EXTERN_LIBS_PATH}/remeta") + add_custom_target( + remeta +@@ -198,78 +172,66 @@ if(EXISTS ${HTSLIB_PATH}) + endif() + + # Intel MKL +-if(EXISTS ${MKLROOT}) ++if(DEFINED MKLROOT) + add_definitions(-DWITH_MKL -DEIGEN_USE_BLAS -DEIGEN_USE_LAPACKE) +- target_include_directories(regenie PRIVATE ${MKLROOT}/include/) +- if(${BUILD_STATIC}) # specify static libs +- find_library(MKL_LP64_LIB libmkl_intel_lp64.a HINTS "${MKLROOT}/lib/intel64" REQUIRED) +- find_library(MKL_THREAD_LIB libmkl_gnu_thread.a HINTS "${MKLROOT}/lib/intel64" REQUIRED) +- find_library(MKL_CORE_LIB libmkl_core.a HINTS "${MKLROOT}/lib/intel64" REQUIRED) +- target_link_libraries(regenie PRIVATE "-Wl,--start-group" ${MKL_LP64_LIB} ${MKL_THREAD_LIB} ${MKL_CORE_LIB} "-Wl,--end-group" -lgomp) ++ target_include_directories(regenie PUBLIC ${MKLROOT}/include/) ++ find_library(MKL_LP64_LIB mkl_intel_lp64 ++ HINTS "${MKLROOT}/lib/" ++ REQUIRED ++ ) ++ if("${UNAME_S}" STREQUAL "Linux") ++ find_library(MKL_THREAD_LIB mkl_gnu_thread ++ HINTS "${MKLROOT}/lib/" ++ REQUIRED ++ ) ++ elseif("${UNAME_S}" STREQUAL "Darwin") ++ find_library(MKL_THREAD_LIB mkl_intel_thread ++ HINTS "${MKLROOT}/lib/" ++ REQUIRED ++ ) ++ endif() ++ find_library(MKL_CORE_LIB mkl_core ++ HINTS "${MKLROOT}/lib/" ++ REQUIRED ++ ) ++ if("${UNAME_S}" STREQUAL "Darwin") ++ target_link_libraries(regenie ${MKL_LP64_LIB} ${MKL_THREAD_LIB} ${MKL_CORE_LIB}) ++ elseif(${BUILD_STATIC}) ++ target_link_libraries(regenie "-Wl,--start-group" ${MKL_LP64_LIB} ${MKL_THREAD_LIB} ${MKL_CORE_LIB} "-Wl,--end-group" -lgomp) + else() # use dynamic libs +- find_library(MKL_LP64_LIB mkl_intel_lp64 PATHS "${MKLROOT}/lib/intel64" REQUIRED) +- find_library(MKL_THREAD_LIB mkl_gnu_thread PATHS "${MKLROOT}/lib/intel64" REQUIRED) +- find_library(MKL_CORE_LIB mkl_core PATHS "${MKLROOT}/lib/intel64" REQUIRED) +- target_link_libraries(regenie PRIVATE "-Wl,--no-as-needed" ${MKL_LP64_LIB} ${MKL_THREAD_LIB} ${MKL_CORE_LIB} -lgomp) ++ target_link_libraries(regenie "-Wl,--no-as-needed" ${MKL_LP64_LIB} ${MKL_THREAD_LIB} ${MKL_CORE_LIB} -lgomp) + endif() +-elseif(EXISTS ${OPENBLAS_ROOT}) # OpenBLAS +- add_definitions(-DWITH_OPENBLAS -DEIGEN_USE_BLAS -DEIGEN_USE_LAPACKE) +- target_include_directories(regenie PRIVATE ${OPENBLAS_ROOT}/include/) +- find_library(LAPACK_LIB lapack REQUIRED) +- find_library(BLAS_LIB openblas HINTS "${OPENBLAS_ROOT}/lib/" REQUIRED) +- target_link_libraries(regenie PRIVATE ${LAPACK_LIB} -llapacke ${BLAS_LIB}) ++ message( STATUS "Will compile with Intel MKL library") + endif() + + # cxxopts (header-only) +-target_include_directories(regenie PRIVATE ${EXTERN_LIBS_PATH}/cxxopts/include/) ++target_include_directories(regenie PUBLIC ${CMAKE_SOURCE_DIR}/external_libs/cxxopts/include/) + + # LBFGS (header-only) +-target_include_directories(regenie PRIVATE ${EXTERN_LIBS_PATH}/LBFGSpp/include/) ++target_include_directories(regenie PUBLIC ${CMAKE_SOURCE_DIR}/external_libs/LBFGSpp/include/) + + # Eigen (header-only) +-target_include_directories(regenie PRIVATE ${EXTERN_LIBS_PATH}/eigen-3.4.0/) +- +-# Boost IO +-if(${HAS_BOOST_IOSTREAM}) +- if("${UNAME_S}" STREQUAL "Darwin") +- find_library(BOOST_LIB_IO libboost_iostreams libboost_iostreams.a REQUIRED) +- target_link_libraries(regenie PRIVATE ${BOOST_LIB_IO}) +- elseif(${BUILD_STATIC}) +- find_library(BOOST_LIB_IO libboost_iostreams.a REQUIRED) +- target_link_libraries(regenie PRIVATE ${BOOST_LIB_IO}) +- else() +- target_link_libraries(regenie PRIVATE -lboost_iostreams) +- endif() +- add_definitions(-DHAS_BOOST_IOSTREAM) +- message( STATUS "Will compile with Boost Iostreams library") +-endif() ++target_include_directories(regenie PUBLIC ${CMAKE_SOURCE_DIR}/external_libs/eigen-3.4.0/) + + # Other libraries +-find_library(ZLIB_LIBRARY libz.a z REQUIRED) +-find_library(M_LIB m REQUIRED) +-find_library(DL_LIB dl REQUIRED) +-find_library(BZ2_LIB bz2) +-find_library(LZMA_LIB lzma) +-find_library(CURL_LIB curl) +-find_library(CRYPTO_LIB crypto) ++find_library(ZLIB_LIBRARY z REQUIRED) ++find_library(M_LIB m REQUIRED) ++find_library(DL_LIB dl REQUIRED) + if("${UNAME_S}" STREQUAL "Linux") + set(GFORTRAN_LIBRARY "-lgfortran") + elseif("${UNAME_S}" STREQUAL "Darwin") + find_library(GFORTRAN_LIBRARY gfortran REQUIRED) + endif() +-target_link_libraries( +- regenie PRIVATE +- ${ZLIB_LIBRARY} ${M_LIB} ${DL_LIB} ${PTHREAD_LIB} +- ${BZ2_LIB} ${LZMA_LIB} +- ${CURL_LIB} ${CRYPTO_LIB} ${GFORTRAN_LIBRARY} +-) ++target_link_libraries(regenie ${ZLIB_LIBRARY} ${M_LIB} ${DL_LIB} ${PTHREAD_LIB} ${GFORTRAN_LIBRARY}) + +-install(TARGETS regenie RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ++add_definitions(-DVERSION_NUMBER="${RG_VERSION}") ++install(TARGETS regenie RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} OPTIONAL) + message( STATUS "REGENIE v" ${RG_VERSION}) + +-add_custom_target(full-clean +- COMMAND cd "${MVTN_PATH}" && make clean +- COMMAND cd "${QF_PATH}" && make clean +- COMMAND cd "${QUAD_PATH}" && make clean +- COMMAND cd "${PGEN_PATH}" && make clean +- ) ++write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake COMPATIBILITY SameMajorVersion) ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake DESTINATION share/${PROJECT_NAME}) ++ ++set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) ++set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR}) ++set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH}) ++include(CPack) +-- +2.34.1 + diff --git a/recipes/regenie/patches/0014-update-cmakelist.txt-for-v3.5.patch b/recipes/regenie/patches/0014-update-cmakelist.txt-for-v3.5.patch new file mode 100644 index 0000000000000..0637586f8c9c0 --- /dev/null +++ b/recipes/regenie/patches/0014-update-cmakelist.txt-for-v3.5.patch @@ -0,0 +1,355 @@ +From 70b5249cb7a454d7eeaa94c262050adee124aea6 Mon Sep 17 00:00:00 2001 +From: Joelle Mbatchou +Date: Wed, 3 Jul 2024 16:15:46 -0400 +Subject: [PATCH] update cmakelist.txt for v3.5 + +--- + CMakeLists.txt | 241 ++++++++++++++++++++----------------------------- + 1 file changed, 97 insertions(+), 144 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b955d8e..02bdbbb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,11 +1,3 @@ +-# For Intel MKL, set MKLROOT= when running cmake +-# e.g. MKLROOT=/opt/mkl/ cmake -S regenie_dir/ -B regenie_dir/build/ +-# For OpenBLAS, set OPENBLAS_ROOT= when running cmake +-# note: it also requires lapacke library +-# For static compilation on Linux systems, set STATIC=1 when running cmake +-# -> this excludes GLIBC +- +- + cmake_minimum_required(VERSION 3.13) + + # detect OS architecture +@@ -33,57 +25,16 @@ set(CMAKE_CXX_EXTENSIONS OFF) # Ensures -std=c++11 + ###################################### + ######## check input variables + +-# check BGEN_PATH +-if("$ENV{BGEN_PATH}" STREQUAL "") +- message( FATAL_ERROR "Must specify path to BGEN library in 'BGEN_PATH'") +-else() +- set(BGEN_PATH "$ENV{BGEN_PATH}" CACHE INTERNAL "Set BGEN library path") +- if (NOT EXISTS ${BGEN_PATH}) +- message( FATAL_ERROR "Specified BGEN library directory '${BGEN_PATH}' does not exist") +- endif() +-endif() +- + # check for static compilation +-if($ENV{STATIC}) ++if(BUILD_SHARED_LIBS) ++ set(BUILD_STATIC OFF CACHE INTERNAL "Dynamic compilation") ++ set(Boost_USE_STATIC_LIBS OFF) ++else() + set(BUILD_STATIC ON CACHE INTERNAL "Static compilation") ++ set(Boost_USE_STATIC_LIBS ON) + message( STATUS "Static compilation mode") + endif() + +-# check Boost IOStreams +-if($ENV{HAS_BOOST_IOSTREAM}) +- set(HAS_BOOST_IOSTREAM 1 CACHE INTERNAL "Add Boost IO") +- set(RG_VERSION "${RG_VERSION}.gz" CACHE INTERNAL "Update version") +-else() +- set(HAS_BOOST_IOSTREAM 0 CACHE INTERNAL "Skip Boost IO") +-endif() +- +-# check MKL +-if(NOT "$ENV{MKLROOT}" STREQUAL "") +- set(MKLROOT "$ENV{MKLROOT}" CACHE INTERNAL "Set MKL library path") +- if (NOT EXISTS ${MKLROOT}) +- message( FATAL_ERROR "Specified MKL library directory '${MKLROOT}' does not exist") +- endif() +- message( STATUS "Will compile with Intel MKL library") +-endif() +- +-# check HTSlib +-if(NOT "$ENV{HTSLIB_PATH}" STREQUAL "") +- set(HTSLIB_PATH "$ENV{HTSLIB_PATH}" CACHE INTERNAL "Set HTSlib library path") +- if (NOT EXISTS ${HTSLIB_PATH}) +- message( FATAL_ERROR "Specified HTSlib library directory '${HTSLIB_PATH}' does not exist") +- endif() +- message( STATUS "Will compile with HTSlib") +-endif() +- +-# check OpenBLAS +-if(NOT "$ENV{OPENBLAS_ROOT}" STREQUAL "") +- set(OPENBLAS_ROOT "$ENV{OPENBLAS_ROOT}" CACHE INTERNAL "Set OpenBLAS library path") +- if (NOT EXISTS ${OPENBLAS_ROOT}) +- message( FATAL_ERROR "Specified OpenBLAS library directory '${OPENBLAS_ROOT}' does not exist") +- endif() +- message( STATUS "Will compile with OpenBLAS library") +-endif() +- + ###################################### + ######## set flags and required libraries + +@@ -92,9 +43,10 @@ set(Boost_USE_STATIC_LIBS ${BUILD_STATIC}) + set(Boost_USE_DEBUG_LIBS OFF) + set(Boost_USE_MULTITHREADED ON) + set(Boost_USE_STATIC_RUNTIME OFF) ++set(MKLROOT "${CMAKE_PREFIX_PATH}") + +-# list each file specifically +-add_executable(regenie ++# list each file specifically ++add_executable(regenie + ${CMAKE_SOURCE_DIR}/src/Data.cpp + ${CMAKE_SOURCE_DIR}/src/Files.cpp + ${CMAKE_SOURCE_DIR}/src/Geno.cpp +@@ -112,32 +64,54 @@ add_executable(regenie + ${CMAKE_SOURCE_DIR}/src/MCC.cpp + ${CMAKE_SOURCE_DIR}/src/Ordinal.cpp + ) +-target_include_directories(regenie PRIVATE ${CMAKE_SOURCE_DIR}/src) ++target_include_directories(regenie PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_PREFIX_PATH}/include) + + set(CMAKE_CXX_FLAGS "-O3 -Wall -pedantic -ffast-math -Wno-unused-local-typedefs -Wno-deprecated-declarations -Wno-long-long -Wno-c11-extensions -fPIC") +-add_definitions(-DVERSION_NUMBER="${RG_VERSION}") + ++find_package(OpenMP REQUIRED) ++target_link_libraries(regenie OpenMP::OpenMP_CXX) + if("${UNAME_S}" STREQUAL "Linux") +- find_package(OpenMP REQUIRED) +- target_link_libraries(regenie PRIVATE OpenMP::OpenMP_CXX) + if(${BUILD_STATIC}) +- target_link_options(regenie BEFORE PRIVATE -static-libgcc PRIVATE -static-libstdc++) ++ target_link_options(regenie BEFORE -static-libgcc -static-libstdc++) + endif() + elseif("${UNAME_S}" STREQUAL "Darwin") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") + endif() + +-set(EXTERN_LIBS_PATH "${CMAKE_SOURCE_DIR}/external_libs") +-target_include_directories(regenie PRIVATE ${EXTERN_LIBS_PATH}/) ++set(EXTERN_LIBS_PATH "${CMAKE_CURRENT_SOURCE_DIR}/external_libs") ++target_include_directories(regenie PUBLIC ${EXTERN_LIBS_PATH}/) ++ ++# for BGEN (choose static if present first) ++find_library(ZSTD_LIBRARY zstd REQUIRED) ++find_library(DB_LIBRARY ++ NAMES libdb.a db ++ REQUIRED ++ ) ++find_library(SQLITE3_LIBRARY sqlite3 REQUIRED) ++find_package(Boost ++ REQUIRED COMPONENTS system filesystem thread ++ OPTIONAL_COMPONENTS iostreams ++ ) ++find_library(BGEN_LIBRARY ++ NAMES libbgen.a ++ REQUIRED ++ ) ++target_link_libraries(regenie ${ZSTD_LIBRARY} ${BGEN_LIBRARY} ${DB_LIBRARY} ${SQLITE3_LIBRARY} ${Boost_LIBRARIES}) ++target_include_directories(regenie ++ PUBLIC ++ $ ++ $ ++ $ ++ $ ++ ) ++add_definitions(${Boost_DEFINITIONS}) + +-# BGEN library and its dependencies +-find_library(ZSTD_LIBRARY libzstd.a HINTS "${BGEN_PATH}/build/3rd_party/zstd-1.1.0" REQUIRED) +-find_library(DB_LIBRARY libdb.a HINTS "${BGEN_PATH}/build/db" REQUIRED) +-find_library(SQLITE3_LIBRARY libsqlite3.a HINTS "${BGEN_PATH}/build/3rd_party/sqlite3" REQUIRED) +-find_library(Boost_LIBRARY libboost.a HINTS "${BGEN_PATH}/build/3rd_party/boost_1_55_0" REQUIRED) +-find_library(BGEN_LIBRARY libbgen.a HINTS "${BGEN_PATH}/build" REQUIRED) +-target_link_libraries(regenie PRIVATE ${ZSTD_LIBRARY} ${BGEN_LIBRARY} ${DB_LIBRARY} ${SQLITE3_LIBRARY} ${Boost_LIBRARY}) +-target_include_directories(regenie PRIVATE ${BGEN_PATH} ${BGEN_PATH}/genfile/include/ ${BGEN_PATH}/3rd_party/boost_1_55_0/ ${BGEN_PATH}/3rd_party/zstd-1.1.0/lib ${BGEN_PATH}/db/include/ ${BGEN_PATH}/3rd_party/sqlite3) ++# Boost IO ++if(Boost_iostreams_FOUND) ++ add_definitions(-DHAS_BOOST_IOSTREAM) ++ set(RG_VERSION "${RG_VERSION}.gz" CACHE INTERNAL "Update version") ++ message( STATUS "Will compile with Boost Iostreams library") ++endif() + + # MVTNorm library + set(MVTN_PATH "${EXTERN_LIBS_PATH}/mvtnorm") +@@ -146,7 +120,7 @@ add_custom_target( + COMMAND make + WORKING_DIRECTORY ${MVTN_PATH} + ) +-target_link_libraries(regenie PRIVATE ${MVTN_PATH}/libMvtnorm.a) ++target_link_libraries(regenie ${MVTN_PATH}/libMvtnorm.a) + add_dependencies(regenie libMvtnorm) + + # QF library +@@ -156,7 +130,7 @@ add_custom_target( + COMMAND make + WORKING_DIRECTORY ${QF_PATH} + ) +-target_link_libraries(regenie PRIVATE ${QF_PATH}/qf.a) ++target_link_libraries(regenie ${QF_PATH}/qf.a) + add_dependencies(regenie libqf) + + # Quadpack library +@@ -166,7 +140,7 @@ add_custom_target( + COMMAND make + WORKING_DIRECTORY ${QUAD_PATH} + ) +-target_link_libraries(regenie PRIVATE ${QUAD_PATH}/libquad.a) ++target_link_libraries(regenie ${QUAD_PATH}/libquad.a) + add_dependencies(regenie libquad) + + # PGEN library +@@ -176,12 +150,12 @@ add_custom_target( + COMMAND make + WORKING_DIRECTORY ${PGEN_PATH} + ) +-target_link_libraries(regenie PRIVATE ${PGEN_PATH}/pgenlib.a) +-target_include_directories(regenie PRIVATE ${PGEN_PATH} ${PGEN_PATH}/simde/ ${PGEN_PATH}/include/) ++target_link_libraries(regenie ${PGEN_PATH}/pgenlib.a) ++target_include_directories(regenie PUBLIC ${PGEN_PATH} ${PGEN_PATH}/simde/ ${PGEN_PATH}/include/) + add_dependencies(regenie pgenlib) + + # REMETA library +-if(EXISTS ${HTSLIB_PATH}) ++if(DEFINED HTSLIB_PATH) + set(REMETA_PATH "${EXTERN_LIBS_PATH}/remeta") + add_custom_target( + remeta +@@ -205,91 +179,70 @@ if(EXISTS ${HTSLIB_PATH}) + endif() + + # Intel MKL +-if(EXISTS ${MKLROOT}) ++if(DEFINED MKLROOT) + add_definitions(-DWITH_MKL -DEIGEN_USE_BLAS -DEIGEN_USE_LAPACKE) +- target_include_directories(regenie PRIVATE ${MKLROOT}/include/) +- if(${BUILD_STATIC}) # specify static libs +- find_library(MKL_LP64_LIB libmkl_intel_lp64.a +- HINTS "${MKLROOT}/lib/intel64" +- "${MKLROOT}/lib" +- REQUIRED) +- find_library(MKL_THREAD_LIB libmkl_gnu_thread.a +- HINTS "${MKLROOT}/lib/intel64" +- "${MKLROOT}/lib" +- REQUIRED) +- find_library(MKL_CORE_LIB libmkl_core.a +- HINTS "${MKLROOT}/lib/intel64" +- "${MKLROOT}/lib" +- REQUIRED) +- target_link_libraries(regenie PRIVATE "-Wl,--start-group" ${MKL_LP64_LIB} ${MKL_THREAD_LIB} ${MKL_CORE_LIB} "-Wl,--end-group" -lgomp) +- else() # use dynamic libs +- find_library(MKL_LP64_LIB mkl_intel_lp64 +- PATHS "${MKLROOT}/lib/intel64" +- "${MKLROOT}/lib" +- REQUIRED) ++ target_include_directories(regenie PUBLIC ${MKLROOT}/include/) ++ find_library(MKL_LP64_LIB mkl_intel_lp64 ++ HINTS "${MKLROOT}/lib/intel64" ++ "${MKLROOT}/lib" ++ REQUIRED ++ ) ++ if("${UNAME_S}" STREQUAL "Linux") + find_library(MKL_THREAD_LIB mkl_gnu_thread +- PATHS "${MKLROOT}/lib/intel64" ++ HINTS "${MKLROOT}/lib/intel64" + "${MKLROOT}/lib" +- REQUIRED) +- find_library(MKL_CORE_LIB mkl_core +- PATHS "${MKLROOT}/lib/intel64" ++ REQUIRED ++ ) ++ elseif("${UNAME_S}" STREQUAL "Darwin") ++ find_library(MKL_THREAD_LIB mkl_intel_thread ++ HINTS "${MKLROOT}/lib/intel64" + "${MKLROOT}/lib" +- REQUIRED) +- target_link_libraries(regenie PRIVATE "-Wl,--no-as-needed" ${MKL_LP64_LIB} ${MKL_THREAD_LIB} ${MKL_CORE_LIB} -lgomp) ++ REQUIRED ++ ) ++ endif() ++ find_library(MKL_CORE_LIB mkl_core ++ HINTS "${MKLROOT}/lib/intel64" ++ "${MKLROOT}/lib" ++ REQUIRED ++ ) ++ if("${UNAME_S}" STREQUAL "Darwin") ++ target_link_libraries(regenie ${MKL_LP64_LIB} ${MKL_THREAD_LIB} ${MKL_CORE_LIB}) ++ elseif(${BUILD_STATIC}) ++ target_link_libraries(regenie "-Wl,--start-group" ${MKL_LP64_LIB} ${MKL_THREAD_LIB} ${MKL_CORE_LIB} "-Wl,--end-group" -lgomp) ++ else() # use dynamic libs ++ target_link_libraries(regenie "-Wl,--no-as-needed" ${MKL_LP64_LIB} ${MKL_THREAD_LIB} ${MKL_CORE_LIB} -lgomp) + endif() +-elseif(EXISTS ${OPENBLAS_ROOT}) # OpenBLAS +- add_definitions(-DWITH_OPENBLAS -DEIGEN_USE_BLAS -DEIGEN_USE_LAPACKE) +- target_include_directories(regenie PRIVATE ${OPENBLAS_ROOT}/include/) +- find_library(LAPACK_LIB lapack REQUIRED) +- find_library(BLAS_LIB openblas HINTS "${OPENBLAS_ROOT}/lib/" REQUIRED) +- target_link_libraries(regenie PRIVATE ${LAPACK_LIB} -llapacke ${BLAS_LIB}) ++ message( STATUS "Will compile with Intel MKL library") + endif() + + # cxxopts (header-only) +-target_include_directories(regenie PRIVATE ${EXTERN_LIBS_PATH}/cxxopts/include/) ++target_include_directories(regenie PUBLIC ${CMAKE_SOURCE_DIR}/external_libs/cxxopts/include/) + + # LBFGS (header-only) +-target_include_directories(regenie PRIVATE ${EXTERN_LIBS_PATH}/LBFGSpp/include/) ++target_include_directories(regenie PUBLIC ${CMAKE_SOURCE_DIR}/external_libs/LBFGSpp/include/) + + # Eigen (header-only) +-target_include_directories(regenie PRIVATE ${EXTERN_LIBS_PATH}/eigen-3.4.0/) +- +-# Boost IO +-if(${HAS_BOOST_IOSTREAM}) +- if("${UNAME_S}" STREQUAL "Darwin") +- find_library(BOOST_LIB_IO libboost_iostreams libboost_iostreams.a REQUIRED) +- target_link_libraries(regenie PRIVATE ${BOOST_LIB_IO}) +- elseif(${BUILD_STATIC}) +- find_library(BOOST_LIB_IO libboost_iostreams.a REQUIRED) +- target_link_libraries(regenie PRIVATE ${BOOST_LIB_IO}) +- else() +- target_link_libraries(regenie PRIVATE -lboost_iostreams) +- endif() +- add_definitions(-DHAS_BOOST_IOSTREAM) +- message( STATUS "Will compile with Boost Iostreams library") +-endif() ++target_include_directories(regenie PUBLIC ${CMAKE_SOURCE_DIR}/external_libs/eigen-3.4.0/) + + # Other libraries +-find_library(ZLIB_LIBRARY libz.a z REQUIRED) +-find_library(M_LIB m REQUIRED) +-find_library(DL_LIB dl REQUIRED) ++find_library(ZLIB_LIBRARY z REQUIRED) ++find_library(M_LIB m REQUIRED) ++find_library(DL_LIB dl REQUIRED) + if("${UNAME_S}" STREQUAL "Linux") + set(GFORTRAN_LIBRARY "-lgfortran") + elseif("${UNAME_S}" STREQUAL "Darwin") + find_library(GFORTRAN_LIBRARY gfortran REQUIRED) + endif() +-target_link_libraries( +- regenie PRIVATE +- ${ZLIB_LIBRARY} ${M_LIB} ${DL_LIB} ${PTHREAD_LIB} +- ${GFORTRAN_LIBRARY} +-) ++target_link_libraries(regenie ${ZLIB_LIBRARY} ${M_LIB} ${DL_LIB} ${PTHREAD_LIB} ${GFORTRAN_LIBRARY}) + +-install(TARGETS regenie RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ++add_definitions(-DVERSION_NUMBER="${RG_VERSION}") ++install(TARGETS regenie RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} OPTIONAL) + message( STATUS "REGENIE v" ${RG_VERSION}) + +-add_custom_target(full-clean +- COMMAND cd "${MVTN_PATH}" && make clean +- COMMAND cd "${QF_PATH}" && make clean +- COMMAND cd "${QUAD_PATH}" && make clean +- COMMAND cd "${PGEN_PATH}" && make clean +- ) ++write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake COMPATIBILITY SameMajorVersion) ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake DESTINATION share/${PROJECT_NAME}) ++ ++set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) ++set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR}) ++set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH}) ++include(CPack) +-- +2.34.1 + diff --git a/recipes/relion/build_failure.osx-64.yaml b/recipes/relion/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..332dcf6cf4df1 --- /dev/null +++ b/recipes/relion/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 51ccadfb0c6d9ab47a5361ff0dc66e90aa6b8b881a440b1157820acb6d8f25d2 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + -- Looking for shmat + -- Looking for shmat - found + -- Found FFTW + -- FFTW_PATH: $PREFIX/include + -- FFTW_INCLUDES: $PREFIX/include + -- FFTW_LIBRARIES: $PREFIX/lib/libfftw3f.dylib;$PREFIX/lib/libfftw3.dylib + -- Looking for sincos + -- Looking for sincos - not found + -- Looking for __sincos + -- Looking for __sincos - found + -- Found TIFF: $PREFIX/lib/libtiff.dylib (found version "4.0.9") + -- Found ZLIB: $PREFIX/lib/libz.dylib (found version "1.3.1") + -- Found PNG: $PREFIX/lib/libpng.dylib (found version "1.4.12") + -- Checking class ranker model file... + -- -------------------------------------------------------- + -- --------- FOUND NO LOCAL COPY OF TORCH MODELS. --------- + -- ------- WILL BE DOWNLOADED DURING COMPILE-TIME. -------- + -- -------------------------------------------------------- + -- ---- A WORKING INTERNET CONNECTION WILL BE REQUIRED. --- + -- -- TO SKIP, RECONFIGURE WITH -DFETCH_TORCH_MODELS=OFF -- + -- -------------------------------------------------------- + -- Building static libs (larger build size and binaries) + -- CMAKE_BINARY_DIR:$SRC_DIR/build + -- Found JPEG: $PREFIX/lib/libjpeg.dylib (found version "80") + -- Found OpenMP_C: -fopenmp=libomp (found version "5.0") + -- Found OpenMP_CXX: -fopenmp=libomp (found version "5.0") + -- Found OpenMP: TRUE (found version "5.0") + -- Configuring done (10.9s) + -- Generating done (1.0s) + -- Build files have been written to: $SRC_DIR/build + [ 0%] Creating directories for 'class_ranker_model_file' + [ 0%] Performing download step (download, verify and extract) for 'class_ranker_model_file' + -- Downloading... + dst='$SRC_DIR/external/torch_models/class_ranker_0.1.3_torch_1.0.1.pt.tar.gz' + timeout='none' + inactivity timeout='none' + -- Using src='ftp://ftp.mrc-lmb.cam.ac.uk/pub/dari/class_ranker_0.1.3_torch_1.0.1.pt.tar.gz' + -- [download 0% complete] + -- [download 1% complete] + -- [download 2% complete] + -- [download 5% complete] + -- [download 6% complete] + -- [download 7% complete] + -- [download 8% complete] + -- [download 9% complete] + -- [download 10% complete] + -- [download 14% complete] + -- [download 15% complete] + -- [download 16% complete] + -- [download 17% complete] + -- [download 18% complete] + -- [download 19% complete] + -- [download 22% complete] + -- [download 30% complete] + -- [download 38% complete] + -- [download 40% complete] + -- [download 48% complete] + -- [download 56% complete] + -- [download 64% complete] + -- [download 73% complete] + -- [download 74% complete] + -- [download 81% complete] + -- [download 89% complete] + -- [download 98% complete] + -- [download 100% complete] + -- verifying file... + file='$SRC_DIR/external/torch_models/class_ranker_0.1.3_torch_1.0.1.pt.tar.gz' + -- Downloading... done + -- extracting... + src='$SRC_DIR/external/torch_models/class_ranker_0.1.3_torch_1.0.1.pt.tar.gz' + dst='$SRC_DIR/external/torch_models/class_ranker' + -- extracting... [tar xfz] + -- extracting... [analysis] + -- extracting... [rename] + -- extracting... [clean up] + -- extracting... done + [ 0%] No update step for 'class_ranker_model_file' + [ 1%] No patch step for 'class_ranker_model_file' + [ 2%] No configure step for 'class_ranker_model_file' + [ 2%] No build step for 'class_ranker_model_file' + [ 2%] No install step for 'class_ranker_model_file' + [ 2%] Completed 'class_ranker_model_file' + [ 2%] Built target class_ranker_model_file + [ 2%] Built target copy_scripts + [ 3%] Building CXX object src/apps/CMakeFiles/relion_lib.dir/__/__/macros.cpp.o + [ 3%] Building CXX object src/apps/CMakeFiles/relion_lib.dir/__/CPlot2D.cpp.o + [ 3%] Building CXX object src/apps/CMakeFiles/relion_lib.dir/__/args.cpp.o + [ 3%] Building CXX object src/apps/CMakeFiles/relion_lib.dir/__/assembly.cpp.o + [ 3%] Building CXX object src/apps/CMakeFiles/relion_lib.dir/__/autopicker.cpp.o + [ 4%] Building CXX object src/apps/CMakeFiles/relion_lib.dir/__/autopicker_mpi.cpp.o + [ 4%] Building CXX object src/apps/CMakeFiles/relion_lib.dir/__/backprojector.cpp.o + [ 4%] Building CXX object src/apps/CMakeFiles/relion_lib.dir/__/batchrunner.cpp.o + [ 4%] Building CXX object src/apps/CMakeFiles/relion_lib.dir/__/batchrunner_mpi.cpp.o + [ 5%] Building CXX object src/apps/CMakeFiles/relion_lib.dir/__/class_ranker.cpp.o + [ 5%] Building CXX object src/apps/CMakeFiles/relion_lib.dir/__/complex.cpp.o + [ 5%] Building CXX object src/apps/CMakeFiles/relion_lib.dir/__/ctf.cpp.o + [ 5%] Building CXX object src/apps/CMakeFiles/relion_lib.dir/__/ctffind_runner.cpp.o + [ 5%] Building CXX object src/apps/CMakeFiles/relion_lib.dir/__/ctffind_runner_mpi.cpp.o + [ 6%] Building CXX object src/apps/CMakeFiles/relion_lib.dir/__/error.cpp.o + [ 6%] Building CXX object src/apps/CMakeFiles/relion_lib.dir/__/euler.cpp.o +# Last 100 lines of the build log. diff --git a/recipes/relion/meta.yaml b/recipes/relion/meta.yaml index ded049a524837..dd09e484e2da1 100644 --- a/recipes/relion/meta.yaml +++ b/recipes/relion/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "4.0.1" %} +{% set version = "4.0.2" %} package: name: relion @@ -6,10 +6,12 @@ package: source: url: https://github.com/3dem/relion/archive/refs/tags/{{ version }}.tar.gz - sha256: 0ebbd94ad922d7f457e3f3b81f5660e2691a845d9a53f0f1c9fbeb4e54cd5c17 + sha256: 7ccc941a6a885bd850efa8867ea908254d8dc260cf72cc24c375bb9f1d56bf91 build: - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage('relion', max_pin='x') }} requirements: build: diff --git a/recipes/reneo/meta.yaml b/recipes/reneo/meta.yaml index 78b5f9f67c1bf..1a5aa03f47493 100644 --- a/recipes/reneo/meta.yaml +++ b/recipes/reneo/meta.yaml @@ -1,5 +1,5 @@ {% set name = "reneo" %} -{% set version = "0.2.0" %} +{% set version = "0.5.0" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://github.com/Vini2/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz" - sha256: 69a19c0043e722453da1a0c7fe280998707f30d05c555afcbdff0174115e574b + sha256: dff9242ae7f70050b2d0a52dc48f6a1252ed0346bef2488e79a9fc4954c25804 build: number: 0 diff --git a/recipes/repdenovo/build_failure.osx-64.yaml b/recipes/repdenovo/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..b5bb78763b965 --- /dev/null +++ b/recipes/repdenovo/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 6b5663fb1507b00dd43bb94c83abab5d45e81696799bada8c2fe933065f90c6d # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + ^ + ./algorithms/local_alignment.cpp:71:26: warning: ISO C11 does not allow conversion from string literal to 'char *' [-Wwritable-strings] + char *aln_aa_rev_table = "ARNDCQEGHILKMFPSTWYV*X-"; + ^ + ./algorithms/local_alignment.cpp:81:33: warning: ISO C11 does not allow conversion from string literal to 'char *' [-Wwritable-strings] + char *aln_trans_table_eu_char = "KKNNRRSSTTTTIMIIEEDDGGGGAAAAVVVVQQHHRRRRPPPPLLLL**YY*WCCSSSSLLFFX"; + ^ + ./algorithms/local_alignment.cpp:331:2: error: ISO C17 does not allow 'register' storage class specifier [-Wregister] + register int i, j; + ^~~~~~~~~ + ./algorithms/local_alignment.cpp:331:2: error: ISO C17 does not allow 'register' storage class specifier [-Wregister] + register int i, j; + ^~~~~~~~~ + ./algorithms/local_alignment.cpp:515:2: error: ISO C17 does not allow 'register' storage class specifier [-Wregister] + register NT_LOCAL_SCORE *s; + ^~~~~~~~~ + ./algorithms/local_alignment.cpp:516:2: error: ISO C17 does not allow 'register' storage class specifier [-Wregister] + register int i; + ^~~~~~~~~ + ./algorithms/local_alignment.cpp:528:25: warning: variable 'b' set but not used [-Wunused-but-set-variable] + int gap_open, gap_ext, b; + ^ + ./algorithms/local_alignment.cpp:836:23: warning: variable 'tmp_len' set but not used [-Wunused-but-set-variable] + int q, r, qr, tmp_len; + ^ + 6 warnings and 4 errors generated. + make: *** [Makefile:22: local_alignment.o] Error 1 + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + Extracting download + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/repdenovo_1717630797899/work + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/repdenovo_1717630797899/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/repdenovo_1717630797899/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/repdenovo_1717630797899/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/repdenovo-0.0.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/repdenovo_1717630797899/work/conda_build.sh']' returned non-zero exit status 2. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/repdenovo-0.0.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/repdenovo-0.0.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/repdenovo-0.0.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + $SRC_DIR/TERefiner $SRC_DIR + x86_64-apple-darwin13.4.0-clang -O3 -Wall -I$PREFIX/include/bamtools -L$PREFIX/lib -Wl,-rpath,$PREFIX/lib -c public_func.cpp + x86_64-apple-darwin13.4.0-clang -O3 -Wall -I$PREFIX/include/bamtools -L$PREFIX/lib -Wl,-rpath,$PREFIX/lib -c StrOperation.cpp + x86_64-apple-darwin13.4.0-clang -O3 -Wall -I$PREFIX/include/bamtools -L$PREFIX/lib -Wl,-rpath,$PREFIX/lib -c ./algorithms/local_alignment.cpp +# Last 100 lines of the build log. diff --git a/recipes/repdenovo/meta.yaml b/recipes/repdenovo/meta.yaml index d6e7e1db7740e..6736d649752ef 100644 --- a/recipes/repdenovo/meta.yaml +++ b/recipes/repdenovo/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 3 + number: 4 requirements: build: diff --git a/recipes/repeatmasker/build.sh b/recipes/repeatmasker/build.sh index f35333fbfed79..a5bd9e199974f 100644 --- a/recipes/repeatmasker/build.sh +++ b/recipes/repeatmasker/build.sh @@ -1,9 +1,9 @@ #!/bin/bash -RM_DIR=${PREFIX}/share/RepeatMasker +RM_DIR="${PREFIX}/share/RepeatMasker" mkdir -p ${PREFIX}/bin mkdir -p ${RM_DIR} -cp -r * ${RM_DIR} +mv * ${RM_DIR} export LANGUAGE=en_US.UTF-8 export LANG=en_US.UTF-8 @@ -11,7 +11,10 @@ export LC_ALL=en_US.UTF-8 # configure cd ${RM_DIR} -perl ./configure -libdir ${RM_DIR}/Libraries -trf_prgm ${PREFIX}/bin/trf -rmblast_dir ${PREFIX}/bin/ -hmmer_dir ${PREFIX}/bin -abblast_dir ${PREFIX}/bin -crossmatch_dir ${PREFIX}/bin -default_search_engine rmblast +perl ./configure -libdir "${RM_DIR}/Libraries" -trf_prgm "${PREFIX}/bin/trf" \ + -rmblast_dir "${PREFIX}/bin" -hmmer_dir "${PREFIX}/bin" \ + -abblast_dir "${PREFIX}/bin" -crossmatch_dir "${PREFIX}/bin" \ + -default_search_engine rmblast # Delete huge Dfam file, will be downloaded by post-link.sh # Do it now only, because configure needs the full version @@ -20,15 +23,28 @@ echo "Placeholder file, should be replaced on Conda package installation." > ${R # ----- add tools within the bin ------ # add RepeatMasker -ln -s ${RM_DIR}/RepeatMasker ${PREFIX}/bin/RepeatMasker +chmod 0755 ${RM_DIR}/RepeatMasker ${RM_DIR}/DupMasker ${RM_DIR}/ProcessRepeats ${RM_DIR}/RepeatProteinMask +ln -sf ${RM_DIR}/RepeatMasker ${PREFIX}/bin/RepeatMasker # add other tools RM_OTHER_PROGRAMS="DupMasker ProcessRepeats RepeatProteinMask" for name in ${RM_OTHER_PROGRAMS} ; do - ln -s ${RM_DIR}/${name} ${PREFIX}/bin/${name} + ln -sf ${RM_DIR}/${name} ${PREFIX}/bin/${name} done # add all utils for name in ${RM_DIR}/util/* ; do - ln -s $name ${PREFIX}/bin/$(basename $name) + ln -sf $name ${PREFIX}/bin/$(basename $name) done + +# Fix perl shebang +sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' ${RM_DIR}/RepeatMasker +sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' ${RM_DIR}/DupMasker +sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' ${RM_DIR}/ProcessRepeats +sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' ${RM_DIR}/RepeatProteinMask +sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' ${RM_DIR}/util/*.pl +sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' ${RM_DIR}/*.pm +sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' ${RM_DIR}/*.pl + +rm -rf ${RM_DIR}/util/*.bak +rm -rf ${RM_DIR}/*.bak diff --git a/recipes/repeatmasker/meta.yaml b/recipes/repeatmasker/meta.yaml index c837404507fa1..0fdf342d65868 100644 --- a/recipes/repeatmasker/meta.yaml +++ b/recipes/repeatmasker/meta.yaml @@ -1,20 +1,20 @@ {% set name = "repeatmasker" %} -{% set version = "4.1.5" %} -{% set sha256 = "16e07f9efd99adf15f4492b0e334df5ad4ea6ca38ddf62bdd180d257f2f4753f" %} +{% set version = "4.1.7p1" %} +{% set sha256 = "15222b39178f19c116282437190b64c5ba68f62b0f2044b3bbcbda5e02748993" %} package: name: {{ name }} version: {{ version }} source: - url: https://www.repeatmasker.org/RepeatMasker/RepeatMasker-{{ version }}.tar.gz + url: https://www.repeatmasker.org/RepeatMasker/RepeatMasker-4.1.7-p1.tar.gz sha256: {{ sha256 }} build: number: 1 noarch: generic run_exports: - - {{ pin_subpackage('repeatmasker', max_pin='x.x.x') }} + - {{ pin_subpackage('repeatmasker', max_pin='x') }} requirements: host: @@ -27,24 +27,21 @@ requirements: - trf - perl - h5py + - gzip # [osx] - wget test: -# pvanheus - disable file based tests for -# now - they don't work with Dockerized -# containers - 13/1/2017 -# files: -# - rm_input1.fasta -# - sample_repeats.fasta -# - test_md5.txt commands: - RepeatMasker | grep "RepeatMasker - Mask repetitive DNA" > /dev/null about: - home: https://www.repeatmasker.org - license: Open Software License v2.1 - summary: RepeatMasker is a program that screens DNA sequences for interspersed repeats and low complexity DNA sequences. + home: "https://www.repeatmasker.org/RepeatMasker" + license: "Open Software License v2.1" + summary: "RepeatMasker is a program that screens DNA sequences for interspersed repeats and low complexity DNA sequences." + dev_url: "https://github.com/Dfam-consortium/RepeatMasker" + doc_url: "https://www.repeatmasker.org/RepeatMasker" extra: identifiers: - - biotools:RepeatMasker + - biotools:repeatmasker + - usegalaxy-eu:repeatmasker_wrapper diff --git a/recipes/repeatmasker/post-link.sh b/recipes/repeatmasker/post-link.sh old mode 100755 new mode 100644 index ac28ed8558b30..0034f2fb10a0f --- a/recipes/repeatmasker/post-link.sh +++ b/recipes/repeatmasker/post-link.sh @@ -1,17 +1,17 @@ #!/bin/bash -if [ -f /.dockerenv ]; then +if [[ -f /.dockerenv ]]; then cat >> "$PREFIX/.messages.txt" < ${PREFIX}/share/RepeatMasker/Libraries/Dfam.h5 -rm Dfam_curatedonly.h5.gz +wget -O Dfam-RepeatMasker.lib.gz https://www.dfam.org/releases/Dfam_3.8/families/Dfam-RepeatMasker.lib.gz +gunzip -c Dfam-RepeatMasker.lib.gz > ${PREFIX}/share/RepeatMasker/Libraries/RepeatMasker.lib +rm -rf Dfam-RepeatMasker.lib.gz EOF else - echo "Downloading Dfam_curatedonly.h5.gz from www.dfam.org" - wget -O Dfam_curatedonly.h5.gz https://www.dfam.org/releases/Dfam_3.7/families/Dfam_curatedonly.h5.gz - gunzip -c Dfam_curatedonly.h5.gz > ${PREFIX}/share/RepeatMasker/Libraries/Dfam.h5 - rm Dfam_curatedonly.h5.gz + echo "Dfam-RepeatMasker.lib.gz from www.dfam.org" + wget -O Dfam-RepeatMasker.lib.gz https://www.dfam.org/releases/Dfam_3.8/families/Dfam-RepeatMasker.lib.gz + gunzip -c Dfam-RepeatMasker.lib.gz > ${PREFIX}/share/RepeatMasker/Libraries/RepeatMasker.lib + rm -rf Dfam-RepeatMasker.lib.gz fi diff --git a/recipes/repeatmasker/rm_input1.fasta b/recipes/repeatmasker/rm_input1.fasta deleted file mode 100644 index db351cab3a5aa..0000000000000 --- a/recipes/repeatmasker/rm_input1.fasta +++ /dev/null @@ -1,30 +0,0 @@ ->scaffold_1 -TGCTTTTCTGAGATTTATGTCAGCTCCCCATTGGGAGATACAGGAGAATCCAATATATTC -CTGTCTCGCTTCTTTTATATTTATCCTTTCTACACCTGACATCCTCAGTGATTGAAGTGA -CAAAAAGTGGAGCGCACGCAGTGGTCATTACCCTCCAATGGTACTTCTAATTAAGGAAAG -ATTTTTTGCATTCACTGAGCAAAACACTTATTTGCATGAATGGAAAATCATAAATGAGGG -GTCCATTAAACAAATTTCCTAATTGTTTGCTTTTTTTTCTTCCTACTTCACCATCCCTCT -AAAGCTATTACTCTCTATTCTACCCCATTATCGAGTGCACAAACACCAGCCCCAAATTGT -CTTATCTCTGCTTTGATAAATGATATTTTTTTCTCTTATAATTGTGTTTCTCTCTAGATG -TGCGGTGTCCATCAAGACACTGGATGTCACGTGGTCACTCCTGTGAAGAGCGAACTGTGT -GGAACCCGAAGTACTGTGTGGTTGCTGACTGTCAGATGCTGCTTCTGAATGAGGAGGAGG -TGGTGAGAGCAGACAGCACAATCTCTTGTCTGGCATGTTCCTCTGTGTCACCATTGTCTC -TCTCATCTGCTCGTGTGTGTGTGTGTGTGTGTCCTTGTCAATGTCATTACACAATTTATG -TTGGTGCACTGCATGTCAGAGTCTGAACTTTGTTGGACATCTACTTTCTGTCACCTGATA -CCTCATACTTTACACTCTAATCCCTTTTTCCTTTCTAACTGCTGCTGTGTTAAGCTGTCA -TATTAATATACTAAATAATGATAATATTAATTCTAATAATGATAGTGAATGGAGATTCAC -AATGAAGAAACACAAGGTCCAGACTGAACCCCTGTGCTGTGTGAAGAGTTCACTCTACAT -TTACATTCATCCCACATCAGAGACCAGCAATAGCCAGGTTAAGCAGAGCAAGGCTGAGTC -TGGCTCTTTGCCTCTGTTGTTTTGATTAGTGTCACACTGGATTATGCTAGTTTGTGTGAG -ATTAGAGGTCCTGTTGTTACGAGCAAATCAGCAGTCAGCAGGGTAATCTAAATTACATTG -TTCTGTCGGCAATATCCTCTCCTCGCTCAACAGCTTTGTGTGAGCTCATATTTAAAGCCC -CCACAGTAGTGCAGTGCATAAAATCATGCAGATACAGATCAGAAGCTTCAGGTAATGTTT -ACATCAAACATCAGGGGGAAAATGTGATCTCAGTGCCTCTGACCGTGGTGTGATTGTTGG -TGCCGGACAGGCTGGTTTGAGTATTTCTAAAACTGCTGATCTCCTGGGATTTTCACACAC -GGCATTCTCTAGAGTTTACTCAGAACGGTGTGGAAAGCAAAAAAACATCCCGCGAGCTGC -AATCCTGCGGATGGAAACACCTTGTTGATGGGATATGTCAGAGGAATGGCCAGGCTGGAT -CAATCTGACAGAAAGGCGGTAACTCAGATAAGCACTCTCTACAACTGTGGTGAGCAGAAA -AGCGTTCTCAGAATGCACAACACGTTCAACCTTGAGGAAGATGTTGCTACAGCAGCAGAT -GAAGACCACGTCTGGTTCCACTCCTGTCAGCCAAGAACATCTCAGACTGCACAGGACACC -AAAACAAAAACACATCCTGTTTTCTACTGGTGGTAGAGTCACAATTTGGCAATAAGATAA -ATCCATGGACCCAACTTGCCTTGTGTCAATAGACCAAGCTGCTGGTGGTCTTGGGGAATG diff --git a/recipes/repeatmasker/sample_repeats.fasta b/recipes/repeatmasker/sample_repeats.fasta deleted file mode 100644 index 9f096d40313d6..0000000000000 --- a/recipes/repeatmasker/sample_repeats.fasta +++ /dev/null @@ -1,64 +0,0 @@ ->Asian_seabass_ONSAT_SB_Concensus_Lenght_170_bp -CGAAAAATTTAATAATTTAGGGGTCTTGAGCATGGGCGTGGTAAAATGCCCTCGGTAGCG -CCACCTACATTTTTAAACGGAACAGCCCCTCAAGCCCGTTGCGCCTAAAAATCTGAAAAT -CTGCACACATATGTAACATCCCATGACGCACCAAAAAGTCTCTTGGAGCCA ->Asian_seabass_MOSAT_SB_T_34a_satellite_DNA -TTTGTGACATCACTACATAGTTTGTTGAAAACGTAC ->Asian_seabass_MOSAT_SB_T_34b_satellite_DNA -TTTGTGACATCACACATAGTTGTGGGTCAGTAC  ->Sat_38 -AAAAAATGTCATAGTATAGTATGGCGTCAAAAAACATG ->Asian_seabass_Sat_217_Consensus_Length_217_bp -AGTAAACAAGCATTATGGTTGAAACCATAATTTCCTGTCGGGAGAGCCTTTCCCTCTTTT -GTGCACTGTATGCAATCCCAGAGTGTGAATAAGCGCTTTTCCAGCGTTTTGAGGCTTATT -CAGCTCAGAATGGCTTAATACTGCACTATCTGACCAGGACAAAGACAAACTAAGAACTCA -GCCACACGGACATGAAAGTTGTTTTACTTACAATATT ->Asian_seabass_Sat_217_Consensus_Length_427_bp -CCAGCGTTTTGAGGCTTATTCAGCTCAGAATGGCTTAATACTGCACTATCTGACCAGGAC -AAGACAAACTAAGAACTCAACACACTGACATGAAAGTTTCTATATTTCTATTAAAATAAA -CAAACATTATGGTTGAAACCATAATTTCATTTCGGGAGAGCCTTTCCCTCTTTGTGGCAC -TGTATGTAATCTGAAGTGTGAATAACGCTTTTCCCGCGTTTGAGGCTTATTCAGCTCAGA -ATGGCTTAATACTGCACTATCTGACCAGGACAAGACAAACTAAGAACTCAGCCACACGGA -CATGAAAGTTGTTTACTTTACAATATTAGTAAACAAGCATTATGGTTGAAACCATAATTT -CCTGTCGGGAAGAGCTTCCCTCTTTTTGTGCACTGTATGCAATCCCAGAGTGTGAATAAG -CGCTTTT ->Asian_seabass_Sat_LM_Consensus_Length_453_bp -CCCAACAAAATAGCACTTACTGCTTTCCAAATTCAAGTCTGTGCCTGTGTTAGGGTAATG -TTGGTGATAAATTGATGTACTTAGCTTATCCTGTGAAAATGGTGTAAAATGGCAGTCTCC -ATGTTTGTTGAAGAAACTCACAACCAAGACAACCCCAAAGAGAAGCACTTATGAAGACAG -AAATCATGAGTGGCTCTTATTGAAGTGATCAGAGTTGGACTCCATTAAGAAAATGGCTTT -CAATGTAGTCAGTTGCTTTGTCACTTAAAACTGCCCCAACAAGTAGCACTTACTGCAATT -TGGTAGTCAAAGTCAATGCTCAAGTTAAGGGTAATAGTAGTGACATAATAGAAAAATCTC -TAAATATATTTGCTGGCAGCTTTAATATACAGAATGAGTGCCATGATGAATTCTTGATAC -AGAACAGGGACTTCCAAAATCAGCCAACACTAA ->Asian_seabass_Sat_LM_Consensus_Length_218_bp -CCCAACAAAATAGCACTTACTGCTTTCCAAATTCAAGTCTGTGCCTGTGTTAGGGTAATG -TTGGTGATAAATTGATGTACTTAGCTTATCCTGTGAAAATGGTGTAAAATGGCAGTCTCC -TGTTTGTTGAAGAAACTCACAACCAAGACAACCCCAAAGAGAAGCACTTATGAAGACAGA -AATCATGAGTGGCTCTTATTGAAGTGATCAGAGTTGG ->Asian_seabass_Sat_LM Consensus_Length_150_bp -CTCACAACCAAGACAACCCCAAAGAGAAGCACTTATGAAGACAGAAATCATGAGTGGCTC -TTATTGAAGTGATCAGAGTTGGACTCCATTAAGAAAATGGCTTTCAATGTAGTCAGTTGC -TTTGTCACTTAAAACTGCCCCAACAAGTAGCA ->Asian_seabass_Sat_Unk_Consensus_Length_341_bp -GTTTGGGTAAAAATATTGTCTATTTACGAGCTATCCTCTATATATTTTTGATCTGATTAA -TAAATACCTCTAGCCCACAAACTGTGGTATTTTGCTATGTGGCAGTTCACCCGAAAGTCC -AGTAGCATTTATCGCATTTTCTAAAGATAGTCAGTGCCTGAAAGTTTGAGGCAGATAAAC -AAATTGTTCAAGTAAGAACTATATCTTTCTTATGATTTTACCGCAATCATACAGGTTGTT -TCTTGTGGTCTGCTGGGCATTGTATCCCTTTGTTGTATGGATTTTTCCTTTCTTTAATGA -TCTCCTCCCTGGAGTTTGTAATCCCTGTTTGTAGTGGAATT ->Asian_seabass_Sat_Unk_Consensus_Length_789_bp -CAAAAAAATGGAAAAAAAAAAAGTGGCTCATTTGAAGTGAATCAGAGTTGGGTAACATTG -TCCTTAATTACAGCTATGCTTATATACTTGATCTGATAATAATACTCTAGCCACAATCTG -TGGGTATTCTGCTATTTGCAGTCCACCCAAAGTCATAGCATTTAATCCATTCTAGGAAGA -TACGTCAGTGCTGAGTTGAGCCAATAACACCAAATTGTCATAAGAACTATTATTTTCTTT -ATGATTTTTACGCATCAGTACAGGTGTTTTCTTGTGGTTTCTGCTGCATGTATCCCTGTT -GTAAGTGGATTCTCCTTTGCTTATGATCTCCTCCGCTGCGTTGTATCCTGTTTGTAGTGG -ATTTCCTTGCACTGATTCTGCCCGCTCTTAATACTGAATGAACGCCCTCCCACCAGTAGT -ACTGCCACCTTTGTTTTTTCACAAAGTGTTCAATGGCCTTGATAATGACTTGGTAACTAC -ATCACCACTTTTTTGTACGTAATCAACAGACAATCACCCATTAAATTCATGCGGCCATTA -GGCAGCTTGATGAGCTGGACATTTGACCTCCCCAATGAATCTTTGCTGATGGGAAACTTA -TTGCCACCATAAAGTGAACCAGCATTGCTATGTCCATGCTGTAATTTGAAAACCCAATAC -AAAGAAGCCCTGCATATATACCTCCCAAATTGGCTTCTGAGACCCGGGCGTAATCACTGC -ATGGCCATAGATAAACATTGAAATCTTCTGTTGCAGTCAGTTTGCTTTTTGTCAACTTTA -AAAACTGCC diff --git a/recipes/repeatmasker/test_md5.txt b/recipes/repeatmasker/test_md5.txt deleted file mode 100644 index 889b949ed65b5..0000000000000 --- a/recipes/repeatmasker/test_md5.txt +++ /dev/null @@ -1 +0,0 @@ -4a505faa3613b2000873516c9977d3db rm_input1.fasta.masked diff --git a/recipes/repic/meta.yaml b/recipes/repic/meta.yaml index 9e6b03404fbc2..364d4afc0ca19 100644 --- a/recipes/repic/meta.yaml +++ b/recipes/repic/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.2.1" %} +{% set version = "1.0.0" %} package: name: repic @@ -6,7 +6,7 @@ package: source: url: https://github.com/ccameron/REPIC/archive/v{{ version }}.zip - sha256: fd77f660bf6e1fe10138c145d2aa67b69fd4ff30f249047ee49460a185407633 + sha256: 27bc27cea61e012742dba0f7c7a3451f0d29633b5eef3d59b194cfae55194ee0 requirements: host: diff --git a/recipes/rerconverge/meta.yaml b/recipes/rerconverge/meta.yaml index 49f08a1e63277..0af09357051c5 100644 --- a/recipes/rerconverge/meta.yaml +++ b/recipes/rerconverge/meta.yaml @@ -5,7 +5,7 @@ source: url: 'https://github.com/nclark-lab/RERconverge/archive/refs/tags/v0.3.0.tar.gz' sha256: 636e1baf64321c8bd1cd5e0c7a22b86180532d7e323e2b4d636b0059288e01bf build: - number: 1 + number: 2 rpaths: - lib/R/lib/ - lib/ diff --git a/recipes/reseq/meta.yaml b/recipes/reseq/meta.yaml index 7d29f91c534ef..194aa32bf31f2 100644 --- a/recipes/reseq/meta.yaml +++ b/recipes/reseq/meta.yaml @@ -7,7 +7,7 @@ source: sha256: 4ba3f87d0b6481a23f4af733919a071c1c9684c169f63b68f121b48be0a6c599 build: - number: 3 + number: 4 skip: True # [osx or py2k] requirements: diff --git a/recipes/resfinder/build.sh b/recipes/resfinder/build.sh index 9cecba2f5985c..db6efb53eddcb 100644 --- a/recipes/resfinder/build.sh +++ b/recipes/resfinder/build.sh @@ -1,10 +1,8 @@ -#!/bin/bash +#!/bin/bash -ex mkdir -p ${PREFIX}/bin -cp *.py ${PREFIX}/bin -chmod +x ${PREFIX}/bin/*.py -cp -r cge/ ${PREFIX}/bin/ +${PYTHON} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir # create folder for database download target=${PREFIX}/share/${PKG_NAME}-${PKG_VERSION} @@ -12,8 +10,8 @@ mkdir -p ${target}/db/ touch ${target}/db/.empty # copy script to download database -cp ${RECIPE_DIR}/download-db.sh ${PREFIX}/bin -chmod +x ${PREFIX}/bin/download-db.sh +cp -rf ${RECIPE_DIR}/download-db.sh ${PREFIX}/bin +chmod 0755 ${PREFIX}/bin/download-db.sh # set RESFINDER_DB variable on env activation mkdir -p ${PREFIX}/etc/conda/activate.d ${PREFIX}/etc/conda/deactivate.d @@ -24,3 +22,6 @@ EOF cat <> ${PREFIX}/etc/conda/deactivate.d/resfinder.sh unset RESFINDER_DB EOF + +chmod 0755 ${SP_DIR}/resfinder/run_resfinder.py +cp -rf ${SP_DIR}/resfinder/run_resfinder.py ${PREFIX}/bin/ diff --git a/recipes/resfinder/meta.yaml b/recipes/resfinder/meta.yaml index a4795a5d6cf2c..b05f847f72c98 100644 --- a/recipes/resfinder/meta.yaml +++ b/recipes/resfinder/meta.yaml @@ -1,47 +1,55 @@ -{% set name = "ResFinder" %} -{% set version = "4.1.11" %} -{% set sha256 = "e312ff8dc23f329baf8b0a4dc3c41f0006778772e8f736086cf12d03bc76c9c8" %} +{% set name = "resfinder" %} +{% set version = "4.6.0" %} package: - name: '{{ name|lower }}' - version: '{{ version }}' + name: {{ name|lower }} + version: {{ version }} source: - url: https://bitbucket.org/genomicepidemiology/{{ name|lower }}/get/{{ version }}.tar.gz - sha256: '{{ sha256 }}' + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/resfinder-{{ version }}.tar.gz + sha256: ca682ad8760c9cfbb1163235ce5bdb7c018d5b910937ac8f747d605309ce3c40 patches: - python_path.patch - - remove_version_git_tag.patch build: number: 0 - noarch: generic + noarch: python + run_exports: + - {{ pin_subpackage('resfinder', max_pin="x") }} requirements: host: - - git - - kma + - python >=3.9 + - pip + - pdm-backend run: - - python >=3 + - python >=3.9 + - cgelib >=0.7.3 + - cgecore ==1.5.6 + - tabulate >=0.8.9 + - pandas >=1.4.2 + - biopython >=1.79 + - python-dateutil - kma - - biopython - blast >=2.8.1 - - cgecore 1.5.5 - - tabulate 0.7.7 - - gitpython - - python-dateutil - git test: + imports: + - resfinder commands: - - run_resfinder.py --help + - "run_resfinder.py --help" about: - home: https://bitbucket.org/genomicepidemiology/resfinder - license: APACHE-2.0 + home: "https://bitbucket.org/genomicepidemiology/resfinder" + summary: "ResFinder identifies acquired antimicrobial resistance genes in total or partial sequenced isolates of bacteria." + license: Apache-2.0 license_family: APACHE - license_file: LICENSE-2.0.txt - summary: ResFinder identifies acquired antimicrobial resistance genes in total or partial sequenced isolates of bacteria. + license_file: LICENSE + dev_url: "https://bitbucket.org/genomicepidemiology/resfinder" + doc_url: "https://bitbucket.org/genomicepidemiology/resfinder/src/master/README.md" extra: notes: "ResFinder requires databases that can be downloaded with download-db.sh." + identifiers: + - doi:10.1093/jac/dkaa345 diff --git a/recipes/resfinder/python_path.patch b/recipes/resfinder/python_path.patch index a6b2bea47370b..59543ff0ea533 100644 --- a/recipes/resfinder/python_path.patch +++ b/recipes/resfinder/python_path.patch @@ -1,8 +1,8 @@ ---- run_resfinder.py.old 2022-03-24 02:00:31.990686268 -0500 -+++ run_resfinder.py 2022-03-24 02:01:00.924797159 -0500 +--- a/src/resfinder/run_resfinder.py ++++ b/src/resfinder/run_resfinder.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python3 +#!/opt/anaconda1anaconda2anaconda3/bin/python + import io import sys import os - import re diff --git a/recipes/resfinder/remove_version_git_tag.patch b/recipes/resfinder/remove_version_git_tag.patch deleted file mode 100644 index f1b80390791fe..0000000000000 --- a/recipes/resfinder/remove_version_git_tag.patch +++ /dev/null @@ -1,36 +0,0 @@ ---- run_resfinder.py.old 2022-03-24 02:18:37.191844209 -0500 -+++ run_resfinder.py 2022-03-24 02:19:40.497086660 -0500 -@@ -27,24 +27,6 @@ - # ######### FUNCTIONS ######### # - # ########################################################################### # - --def get_git_tag(): -- git_folders_path = os.path.dirname(os.path.realpath(__file__)) -- try: -- git_tag = str( -- subprocess.check_output( -- ['git', 'describe', '--tags', '--abbrev=0'], -- stderr=subprocess.STDOUT, cwd=git_folders_path, -- )).strip('\'b\\n') -- except subprocess.CalledProcessError as exc_info: -- match = re.search( -- 'fatal: no tag exactly matches \'(?P[a-z0-9]+)\'', str(exc_info.output)) -- if match: -- raise Exception( -- 'Bailing: there is no git tag for the current commit, {commit}'.format( -- commit=match.group('commit'))) -- raise Exception(str(exc_info.output)) -- return git_tag -- - def eprint(*args, **kwargs): - print(*args, file=sys.stderr, **kwargs) - -@@ -178,7 +160,7 @@ - ResFinder will be used.", - type=float, - default=None) --parser.add_argument("-v", "--version", action="version", version=get_git_tag(), -+parser.add_argument("-v", "--version", action="version", version="4.1.11", - help="Show program's version number and exit") - # Temporary option only available temporary - parser.add_argument("--pickle", diff --git a/recipes/resistify/meta.yaml b/recipes/resistify/meta.yaml new file mode 100644 index 0000000000000..36d96e8d1b98d --- /dev/null +++ b/recipes/resistify/meta.yaml @@ -0,0 +1,44 @@ +{% set name = "resistify" %} +{% set version = "0.3.0" %} + +package: + name: "{{ name }}" + version: "{{ version }}" + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + sha256: 3a8f4ccedf38fb1a7cdb3522ad6497d054bd72164155bcdc03aa23133b030623 + +build: + noarch: python + number: 0 + entry_points: + - resistify = resistify.main:main + script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + host: + - pip + - python >=3.9 + - hatchling + run: + - python >=3.9 + - scikit-learn ==0.24.2 + - biopython + - numpy + - rich + - rich-argparse + - hmmer + +test: + imports: + - resistify + commands: + - resistify --help + +about: + home: https://github.com/swiftseal/resistify + license: MIT + summary: A resistance gene annotation tool diff --git a/recipes/resmico/build_failure.linux-64.yaml b/recipes/resmico/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..0cc1c17af72f5 --- /dev/null +++ b/recipes/resmico/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: bcd8e130b25d04ce8908e9bb33744acea1fe142d57a221dfa6ac65e7d1832114 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + [31mtensorflow [2.10.0|2.11.0|...|2.9.1][0m would require + [31mpython_abi 3.8.* *_cp38[0m, which conflicts with any installable versions previously reported; + [31mtensorflow [2.10.0|2.11.0|...|2.9.1][0m would require + [31mpython_abi 3.9.* *_cp39[0m, which conflicts with any installable versions previously reported; + [31mtensorflow [2.10.0|2.11.0|...|2.9.1][0m would require + [31m__cuda[0m, which is missing on the system; + [31mtensorflow [2.12.1|2.13.1|2.14.0|2.15.0|2.16.1][0m would require + [31mpython_abi 3.11.* *_cp311[0m, which conflicts with any installable versions previously reported. + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2409, in build + create_build_envs(top_level_pkg, notest) + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2247, in create_build_envs + raise e + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2220, in create_build_envs + environ.get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("tensorflow==2.10.0=cuda112py310he87a039_0"), MatchSpec("__cuda")} + Encountered problems while solving: + - nothing provides __cuda needed by tensorflow-2.10.0-cuda112py310he87a039_0 + + Could not solve for environment specs + The following packages are incompatible + [32mpython_abi 3.12.* *_cp312[0m is installable and it requires + [32mpython 3.12.* *_cpython[0m, which can be installed; + [31mtensorboard <2.9.0 [0m is not installable because there are no viable options + [31mtensorboard [0.4.0rc3|1.10.0|...|2.4.1][0m conflicts with any installable versions previously reported; + [31mtensorboard [2.5.0|2.6.0|2.8.0][0m would require + [31mtensorboard-data-server >=0.6.0,<0.7.0 [0m but there are no viable options + [31mtensorboard-data-server [0.6.0|0.6.1][0m would require + [31mpython_abi 3.10.* *_cp310[0m, which conflicts with any installable versions previously reported; + [31mtensorboard-data-server [0.6.0|0.6.1][0m would require + [31mpython_abi 3.11.* *_cp311[0m, which conflicts with any installable versions previously reported; + [31mtensorboard-data-server 0.6.0[0m would require + [31mpython_abi 3.6.* *_cp36m[0m, which conflicts with any installable versions previously reported; + [31mtensorboard-data-server 0.6.0[0m would require + [31mpython_abi 3.6 *_pypy36_pp73[0m, which conflicts with any installable versions previously reported; + [31mtensorboard-data-server 0.6.0[0m would require + [31mpython_abi 3.7 *_pypy37_pp73[0m, which conflicts with any installable versions previously reported; + [31mtensorboard-data-server 0.6.0[0m would require + [31mpython_abi 3.7.* *_cp37m[0m, which conflicts with any installable versions previously reported; + [31mtensorboard-data-server [0.6.0|0.6.1][0m would require + [31mpython_abi 3.8.* *_cp38[0m, which conflicts with any installable versions previously reported; + [31mtensorboard-data-server [0.6.0|0.6.1][0m would require + [31mpython_abi 3.8 *_pypy38_pp73[0m, which conflicts with any installable versions previously reported; + [31mtensorboard-data-server [0.6.0|0.6.1][0m would require + [31mpython_abi 3.9.* *_cp39[0m, which conflicts with any installable versions previously reported; + [31mtensorboard-data-server [0.6.0|0.6.1][0m would require + [31mpython_abi 3.9 *_pypy39_pp73[0m, which conflicts with any installable versions previously reported; + [31mtensorboard [2.7.0|2.8.0][0m would require + [31mpython >=3.2,<3.10 [0m, which conflicts with any installable versions previously reported; + [32mtensorflow >=2.8.1 [0m is installable with the potential options + [32mtensorflow 2.16.1[0m would require + [32mtensorflow-base 2.16.1 cpu_py312hc526dda_0[0m, which requires + [32mtensorboard >=2.16,<2.17 [0m, which can be installed; + [31mtensorflow [2.10.0|2.11.0|...|2.9.1][0m would require + [31mpython_abi 3.10.* *_cp310[0m, which conflicts with any installable versions previously reported; + [31mtensorflow [2.10.0|2.8.1|2.9.1][0m would require + [31mpython_abi 3.7.* *_cp37m[0m, which conflicts with any installable versions previously reported; + [31mtensorflow [2.10.0|2.11.0|...|2.9.1][0m would require + [31mpython_abi 3.8.* *_cp38[0m, which conflicts with any installable versions previously reported; + [31mtensorflow [2.10.0|2.11.0|...|2.9.1][0m would require + [31mpython_abi 3.9.* *_cp39[0m, which conflicts with any installable versions previously reported; + [31mtensorflow [2.10.0|2.11.0|...|2.9.1][0m would require + [31m__cuda[0m, which is missing on the system; + [31mtensorflow [2.12.1|2.13.1|2.14.0|2.15.0|2.16.1][0m would require + [31mpython_abi 3.11.* *_cp311[0m, which conflicts with any installable versions previously reported. +# Last 100 lines of the build log. diff --git a/recipes/resmico/build_failure.osx-64.yaml b/recipes/resmico/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..537e0470c8253 --- /dev/null +++ b/recipes/resmico/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: bcd8e130b25d04ce8908e9bb33744acea1fe142d57a221dfa6ac65e7d1832114 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + python [2.7.15|3.5.5|...|3.9.7], which cannot be installed (as previously explained); + python [3.7.10|3.7.12] conflicts with any installable versions previously reported; + tensorboard [1.14.0|1.15.0] would require + python >=3.8,<3.9.0a0 but there are no viable options + python [2.7.15|3.5.5|...|3.9.7], which cannot be installed (as previously explained); + python [3.8.12|3.8.13|...|3.8.19] conflicts with any installable versions previously reported; + tensorboard [2.7.0|2.8.0] would require + python >=3.2,<3.10 but there are no viable options + python [2.7.12|2.7.13|...|3.6.2], which cannot be installed (as previously explained); + python [2.7.14|3.6.3], which cannot be installed (as previously explained); + python [2.7.14|2.7.15|...|3.6.5], which cannot be installed (as previously explained); + python [2.7.15|3.5.5|...|3.9.7], which cannot be installed (as previously explained); + python [3.5.1|3.5.2], which cannot be installed (as previously explained); + python 3.6.15 conflicts with any installable versions previously reported; + python [3.7.10|3.7.12] conflicts with any installable versions previously reported; + python [3.8.12|3.8.13|...|3.8.19] conflicts with any installable versions previously reported; + python [3.9.10|3.9.12|...|3.9.9] conflicts with any installable versions previously reported; + tensorflow >=2.8.1 is installable with the potential options + tensorflow [2.10.0|2.11.0|2.11.1|2.12.1|2.9.1] would require + python_abi 3.10.* *_cp310, which can be installed; + tensorflow [2.10.0|2.9.1] would require + python_abi 3.7.* *_cp37m, which can be installed; + tensorflow [2.10.0|2.11.0|2.11.1|2.12.1|2.9.1] would require + python_abi 3.8.* *_cp38, which can be installed; + tensorflow [2.10.0|2.11.0|2.11.1|2.12.1|2.9.1] would require + python_abi 3.9.* *_cp39, which can be installed; + tensorflow 2.8.1 would require + python_abi 3.10.* *_cp310, which can be installed; + tensorflow-base 2.8.1 cpu_py310h196d2ec_0, which requires + grpcio 1.45.* , which requires + zlib >=1.2.11,<1.3.0a0 but there are no viable options + zlib 1.2.11 conflicts with any installable versions previously reported; + zlib [1.2.12|1.2.13] conflicts with any installable versions previously reported; + zlib 1.2.13, which cannot be installed (as previously explained); + zlib 1.2.13, which cannot be installed (as previously explained); + tensorflow 2.8.1 would require + python_abi 3.7.* *_cp37m, which can be installed; + tensorflow-base 2.8.1 cpu_py37hde0f349_0, which cannot be installed (as previously explained); + tensorflow 2.8.1 would require + python_abi 3.8.* *_cp38, which can be installed; + tensorflow-base 2.8.1 cpu_py38h89fe887_0, which cannot be installed (as previously explained); + tensorflow 2.8.1 would require + python_abi 3.9.* *_cp39, which can be installed; + tensorflow-base 2.8.1 cpu_py39h69e9f8f_0, which cannot be installed (as previously explained); + tensorflow 2.12.1 would require + tensorflow-base [2.12.1 cpu_py311h0cd1a8d_1|2.12.1 cpu_py311h682096a_0], which requires + tensorboard >=2.12,<2.13 , which conflicts with any installable versions previously reported; + tensorflow 2.13.1 would require + python_abi 3.10.* *_cp310, which can be installed; + tensorflow-base 2.13.1 cpu_py310h35b30e2_1, which requires + keras >=2.13,<2.14 , which requires + tensorflow 2.13.* , which conflicts with any installable versions previously reported; + tensorflow 2.13.1 would require + tensorflow-base 2.13.1 cpu_py311h3619e24_1, which requires + keras >=2.13,<2.14 , which cannot be installed (as previously explained); + tensorboard >=2.13,<2.14 , which conflicts with any installable versions previously reported; + tensorflow 2.13.1 would require + python_abi 3.8.* *_cp38, which can be installed; + tensorflow-base 2.13.1 cpu_py38h09536c9_1, which cannot be installed (as previously explained); + tensorflow 2.13.1 would require + python_abi 3.9.* *_cp39, which can be installed; + tensorflow-base 2.13.1 cpu_py39h8cf451b_1, which cannot be installed (as previously explained); + tensorflow 2.14.0 would require + python_abi 3.10.* *_cp310, which can be installed; + tensorflow-base 2.14.0 cpu_py310h577850d_0, which requires + keras >=2.14,<2.15 , which requires + tensorflow 2.14.* , which conflicts with any installable versions previously reported; + tensorflow 2.14.0 would require + tensorflow-base 2.14.0 cpu_py311h3619e24_0, which requires + keras >=2.14,<2.15 , which cannot be installed (as previously explained); + tensorboard >=2.14,<2.15 , which conflicts with any installable versions previously reported; + tensorflow 2.14.0 would require + python_abi 3.9.* *_cp39, which can be installed; + tensorflow-base 2.14.0 cpu_py39h8cf451b_0, which cannot be installed (as previously explained); + tensorflow 2.15.0 would require + python_abi 3.10.* *_cp310, which can be installed; + tensorflow-base [2.15.0 cpu_py310h35b30e2_0|2.15.0 cpu_py310hc0a61e3_1|2.15.0 cpu_py310hc0a61e3_2], which requires + keras >=2.15,<2.16 , which requires + tensorflow 2.15.* , which conflicts with any installable versions previously reported; + tensorflow 2.15.0 would require + tensorflow-base [2.15.0 cpu_py311h3619e24_0|2.15.0 cpu_py311hbca55e7_1|2.15.0 cpu_py311hbca55e7_2], which requires + keras >=2.15,<2.16 , which cannot be installed (as previously explained); + tensorboard >=2.15,<2.16 , which conflicts with any installable versions previously reported; + tensorflow 2.15.0 would require + python_abi 3.9.* *_cp39, which can be installed; + tensorflow-base [2.15.0 cpu_py39h1d1916d_1|2.15.0 cpu_py39h1d1916d_2|2.15.0 cpu_py39h8cf451b_0], which cannot be installed (as previously explained); + tensorflow 2.16.1 would require + python_abi 3.10.* *_cp310, which can be installed; + tensorflow-base 2.16.1 cpu_py310h3690a3c_0, which requires + keras >=3.0 , which requires + tensorflow >=2.15.0,<2.17.0a , which conflicts with any installable versions previously reported; + tensorflow 2.16.1 would require + tensorflow-base 2.16.1 cpu_py311h1dba402_0, which requires + keras >=3.0 , which cannot be installed (as previously explained); + tensorboard >=2.16,<2.17 , which conflicts with any installable versions previously reported; + tensorflow 2.16.1 would require + python_abi 3.12.* *_cp312, which can be installed; + tensorflow 2.16.1 would require + python_abi 3.9.* *_cp39, which can be installed; + tensorflow-base 2.16.1 cpu_py39h7e3563a_0, which cannot be installed (as previously explained). +# Last 100 lines of the build log. diff --git a/recipes/resmico/meta.yaml b/recipes/resmico/meta.yaml index 8733a3f71f7f3..8dd19e24d8998 100644 --- a/recipes/resmico/meta.yaml +++ b/recipes/resmico/meta.yaml @@ -11,7 +11,7 @@ source: build: skip: true # [py < 38] - number: 1 + number: 2 script: "{{ PYTHON }} -m pip install . -vv" requirements: diff --git a/recipes/reviewer/LICENSE.txt b/recipes/reviewer/LICENSE.txt new file mode 100644 index 0000000000000..f288702d2fa16 --- /dev/null +++ b/recipes/reviewer/LICENSE.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/recipes/reviewer/build.sh b/recipes/reviewer/build.sh new file mode 100644 index 0000000000000..bddd1b6140eae --- /dev/null +++ b/recipes/reviewer/build.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +mkdir build +cd build +cmake -DCMAKE_INSTALL_PREFIX="$PREFIX" -DCMAKE_BUILD_TYPE=Release .. +cmake --build . +mkdir -p $PREFIX/bin +install -m 755 install/bin/REViewer $PREFIX/bin diff --git a/recipes/reviewer/cpp-fixes.patch b/recipes/reviewer/cpp-fixes.patch new file mode 100644 index 0000000000000..db3341103708e --- /dev/null +++ b/recipes/reviewer/cpp-fixes.patch @@ -0,0 +1,25 @@ +diff --git a/reviewer/app/Workflow.cpp b/reviewer/app/Workflow.cpp +index 3954aca71..badd1b2e8 100644 +--- a/reviewer/app/Workflow.cpp ++++ b/reviewer/app/Workflow.cpp +@@ -21,6 +21,7 @@ + #include "Workflow.hh" + + #include ++#include + + #include + +diff --git a/reviewer/thirdparty/graph-tools/src/graphcore/GraphCoordinates.cpp b/reviewer/thirdparty/graph-tools/src/graphcore/GraphCoordinates.cpp +index 2550eda8b..622243c4e 100644 +--- a/reviewer/thirdparty/graph-tools/src/graphcore/GraphCoordinates.cpp ++++ b/reviewer/thirdparty/graph-tools/src/graphcore/GraphCoordinates.cpp +@@ -22,6 +22,8 @@ + #include "graphutils/PairHashing.hh" + + #include ++#include ++#include + + namespace graphtools + { diff --git a/recipes/reviewer/external-libs.patch b/recipes/reviewer/external-libs.patch new file mode 100644 index 0000000000000..bfd12a58d692a --- /dev/null +++ b/recipes/reviewer/external-libs.patch @@ -0,0 +1,115 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 022aa4d90..a2da3de32 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -5,67 +5,12 @@ set(CMAKE_CXX_STANDARD 11) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + + # Check for required packages: +-find_package(ZLIB REQUIRED) +-find_package(BZip2 REQUIRED) +-find_package(LibLZMA REQUIRED) + + include(ExternalProject) + + set(installDir ${CMAKE_CURRENT_BINARY_DIR}/install) + + +-ExternalProject_Add(htslib +- BUILD_IN_SOURCE YES +- URL https://github.com/samtools/htslib/releases/download/1.10.2/htslib-1.10.2.tar.bz2 +- CONFIGURE_COMMAND ./configure --prefix=${installDir} --disable-libcurl +- BUILD_COMMAND $(MAKE) lib-static +-) +- +- +-# Setup boost user config so that it uses the same c++ compiler as other components: +-if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") +- set (BOOST_COMPILER_TAG "gcc") +-elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") +- set (BOOST_COMPILER_TAG "clang") +- set(B2_OPTIONS ${B2_OPTIONS} "toolset=clang") +-elseif(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") +- set (BOOST_COMPILER_TAG "darwin") +- set(B2_OPTIONS ${B2_OPTIONS} "toolset=clang") +-endif() +- +-if (BOOST_COMPILER_TAG) +- set(BOOST_UCONFIG "${CMAKE_BINARY_DIR}/user-config.jam") +- file(WRITE "${BOOST_UCONFIG}" "using ${BOOST_COMPILER_TAG} : : \"${CMAKE_CXX_COMPILER}\" ;\n") +- set(BOOST_PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${BOOST_UCONFIG} tools/build/src/user-config.jam) +-endif() +- +-ExternalProject_Add(Boost +- BUILD_IN_SOURCE YES +- URL https://boostorg.jfrog.io/artifactory/main/release/1.73.0/source/boost_1_73_0.tar.bz2 +- PATCH_COMMAND ${BOOST_PATCH_COMMAND} +- CONFIGURE_COMMAND ./bootstrap.sh --prefix=${installDir} +- BUILD_COMMAND ./b2 install -j8 --with-filesystem --with-system --with-program_options link=static ${B2_OPTIONS} +- INSTALL_COMMAND "" +-) +- +- +-ExternalProject_Add(spdlog +- URL https://github.com/gabime/spdlog/archive/refs/tags/v1.6.1.tar.gz +- CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${installDir} +- -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} +- -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} +-) +- +- +-ExternalProject_Add(catch2 +- URL https://github.com/catchorg/Catch2/archive/refs/tags/v2.12.4.tar.gz +- CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${installDir} +- -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} +- -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} +- -DBUILD_TESTING=OFF +-) +- +- + ExternalProject_Add(reviewer + SOURCE_DIR ${CMAKE_SOURCE_DIR}/reviewer + BUILD_ALWAYS YES +@@ -78,5 +23,5 @@ ExternalProject_Add(reviewer + + + ExternalProject_Add_StepDependencies(reviewer configure +- Boost spdlog htslib catch2) ++ ) + +diff --git a/reviewer/CMakeLists.txt b/reviewer/CMakeLists.txt +index c7602afa0..b7fa22539 100644 +--- a/reviewer/CMakeLists.txt ++++ b/reviewer/CMakeLists.txt +@@ -10,16 +10,12 @@ if (NOT CMAKE_BUILD_TYPE) + "Choose the type of build (default: ${DEFAULT_CMAKE_BUILD_TYPE})" FORCE) + endif () + +-set(Boost_USE_STATIC_LIBS ON) + find_package(Boost 1.73 REQUIRED COMPONENTS program_options filesystem system) + + find_package(spdlog REQUIRED) +-find_package(ZLIB REQUIRED) +-find_package(BZip2 REQUIRED) +-find_package(LibLZMA REQUIRED) +-find_package(CURL REQUIRED) + find_package(Catch2 REQUIRED) + find_package(Threads REQUIRED) ++find_package(fmt) + find_library(htslib libhts.a) + find_library(htslib hts) + +@@ -82,11 +78,8 @@ target_link_libraries(REViewer PUBLIC + Core + Metrics + ${STATIC_FLAGS} +- ${htslib} +- ${LIBLZMA_LIBRARIES} +- ${CURL_LIBRARIES} +- ZLIB::ZLIB +- BZip2::BZip2 ++ hts ++ fmt::fmt + Threads::Threads) + + diff --git a/recipes/reviewer/meta.yaml b/recipes/reviewer/meta.yaml new file mode 100644 index 0000000000000..52ae1ed20bb7f --- /dev/null +++ b/recipes/reviewer/meta.yaml @@ -0,0 +1,51 @@ +{% set version = "0.2.7" %} +{% set sha256 = "8411c40028907b0294b1899cd20af6934325796da160511b649044ecf9a5169f" %} + +package: + name: reviewer + version: '{{ version }}' + +source: + url: https://github.com/Illumina/REViewer/archive/refs/tags/v{{ version }}.tar.gz + sha256: '{{ sha256 }}' + patches: + - cpp-fixes.patch + - external-libs.patch + +build: + number: 0 + run_exports: + - {{ pin_compatible('reviewer', max_pin="x.x") }} + ignore_run_exports: + - spdlog # This library is header-only + +requirements: + build: + - {{ compiler('cxx') }} + - make + - cmake + host: + - boost-cpp + - catch2 <3 + - fmt + - htslib + - spdlog + run: + - boost-cpp + +test: + commands: + - REViewer --help + +about: + home: https://github.com/Illumina/REViewer + license: GPL-3.0 + license_family: GPL + license_file: LICENSE.txt + summary: A tool for visualizing alignments of reads in regions containing tandem repeats + +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - doi:10.1186/s13073-022-01085-z diff --git a/recipes/revoluzer/build.sh b/recipes/revoluzer/build.sh new file mode 100644 index 0000000000000..175ed562969c8 --- /dev/null +++ b/recipes/revoluzer/build.sh @@ -0,0 +1,9 @@ +#!/bin/bash +CXXFLAGS="-I${BUILD_PREFIX}/include $CXXFLAGS" + + +cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -H. -Bbuild -DCMAKE_BUILD_TYPE=Generic -DEXTRA_FLAGS='-march=sandybridge -Ofast' +cmake --build build +mkdir -p $PREFIX/bin +echo "installing: $(find build/src -type f -executable)" +mv $(find build/src -type f -executable) $PREFIX/bin diff --git a/recipes/revoluzer/meta.yaml b/recipes/revoluzer/meta.yaml new file mode 100644 index 0000000000000..0938d952509e1 --- /dev/null +++ b/recipes/revoluzer/meta.yaml @@ -0,0 +1,44 @@ +{% set name = "revoluzer" %} +{% set version = "0.1.6" %} + +package: + name: "{{ name }}" + version: "{{ version }}" + +source: + url: https://gitlab.com/Bernt/{{ name }}/-/archive/{{ version }}/{{ name }}-{{ version }}.tar.gz + sha256: a3c73aa21c1f1d63e40939568bd963690a0df24ccfe7ba6df28ca7ef49dd3b94 + +build: + number: 1 + skip: True # [osx] + run_exports: + - {{ pin_subpackage('revoluzer', max_pin="x") }} + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - cmake + - make + - boost-cpp + - glpk + host: + run: + - boost-cpp + - glpk + +test: + commands: + - crex --help + - trex -h + +about: + home: https://gitlab.com/Bernt/revoluzer/ + license: GPL-3.0-or-later + license_file: LICENSE + summary: Genome rearrangement analysis tools + +extra: + recipe-maintainers: + - bernt-matthias diff --git a/recipes/rgccacmd/meta.yaml b/recipes/rgccacmd/meta.yaml index 00a4704c9c42d..24fcdf390ba47 100644 --- a/recipes/rgccacmd/meta.yaml +++ b/recipes/rgccacmd/meta.yaml @@ -11,7 +11,7 @@ source: build: noarch: generic - number: 0 + number: 1 rpaths: - lib/ - lib/R/lib/ diff --git a/recipes/rgi/meta.yaml b/recipes/rgi/meta.yaml index 8bf0c27c66e61..abfe223b51225 100644 --- a/recipes/rgi/meta.yaml +++ b/recipes/rgi/meta.yaml @@ -16,7 +16,7 @@ source: build: noarch: python - number: 0 + number: 1 run_exports: - {{ pin_subpackage(name, max_pin="x.x") }} @@ -50,7 +50,8 @@ requirements: - lxml ==4.6.5 - wget - dask - - pyrodigal >=2.0.0 + # pyrodigal v3 renamed OrfFinder to GeneFinder, please review on future RGI releases + - pyrodigal >=2.0.0,<3 run: # RGI requires these exact versions of blast prodigal and diamond, or else --alignment_mode DIAMOND fails # - python >=3.5,<3.7 @@ -80,7 +81,8 @@ requirements: - lxml ==4.6.5 - wget - dask - - pyrodigal >=2.0.0 + # pyrodigal v3 renamed OrfFinder to GeneFinder, please review on future RGI releases + - pyrodigal >=2.0.0,<3 test: commands: diff --git a/recipes/rhocall/meta.yaml b/recipes/rhocall/meta.yaml index ced94a6ea344f..0e4786d16e3a8 100644 --- a/recipes/rhocall/meta.yaml +++ b/recipes/rhocall/meta.yaml @@ -9,7 +9,7 @@ source: sha256: 4d2535c90e14a2a800fa1ddcd32dc252a13e4532edba948ca61b241238bee761 build: - number: 2 + number: 3 script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed" diff --git a/recipes/rhotermpredict/meta.yaml b/recipes/rhotermpredict/meta.yaml new file mode 100644 index 0000000000000..3a12f2a870cd3 --- /dev/null +++ b/recipes/rhotermpredict/meta.yaml @@ -0,0 +1,46 @@ +{% set name = "rhotermpredict" %} +{% set version = "3.4" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/rhotermpredict-{{ version }}.tar.gz + sha256: 15a45581595e647e0f9dca31df45a5820144d2d5a5097bb61102bc57134acc36 + +build: + entry_points: + - rhotermpredict = rhotermpredict.algorithm:main + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + number: 0 + run_exports: + - {{ pin_subpackage("rhotermpredict", max_pin="x") }} + +requirements: + host: + - python + - pip + run: + - python + - numpy >=1.15.4 + - biopython >=0.1.0 + +test: + imports: + - rhotermpredict + commands: + - rhotermpredict --help + +about: + home: https://github.com/barricklab/RhoTermPredict + summary: "RhoTermPredict (Barrick Lab Fork)" + license: AGPL-3.0-or-later + license_family: AGPL + license_file: LICENSE + dev_url: https://github.com/barricklab/RhoTermPredict + +extra: + recipe-maintainers: + - croots diff --git a/recipes/riassigner/meta.yaml b/recipes/riassigner/meta.yaml index ee61afd653b1c..deaa6d07bf1c6 100644 --- a/recipes/riassigner/meta.yaml +++ b/recipes/riassigner/meta.yaml @@ -1,32 +1,35 @@ -{% set version = "0.3.4" %} +{% set name = "riassigner" %} +{% set version = "0.4.1" %} package: - name: riassigner - version: "{{ version }}" + name: {{ name }} + version: {{ version }} source: - url: "https://github.com/RECETOX/RIAssigner/archive/refs/tags/v{{ version }}.tar.gz" - sha256: 7a8977603e659b76e87a558add2ae7960eb7e352365c289a7a193d4d8f68da3a + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/riassigner-{{ version }}.tar.gz + sha256: 316bc4399f0de586a8ba31e3d38b834307277bf84b7dcc2b51dfe2cead807299 build: noarch: python - preserve_egg_dir: True - number: 4 - script: {{ PYTHON }} -m pip install --no-deps --ignore-installed . -vv + number: 0 + script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation . -vvv + run_exports: + - {{ pin_subpackage('riassigner', max_pin="x.x") }} requirements: host: - - python >=3.7,<3.9 + - python >=3.10,<3.13 - pip - - pytest-runner - - setuptools + - poetry-core run: - - numpy <=1.23 - - matchms >=0.14.0,<0.18.0 - - pint >=0.17,<0.20 + - numpy + - matchms >=0.24.1,<0.25.0 + - pint >=0.23.0,<0.24.0 - pandas - - python >=3.7,<3.9 + - python >=3.10,<3.13 - scipy + - urllib3 1.26.15 + - fastparquet >=2023.10.1,<2024.0.0 test: imports: @@ -35,6 +38,7 @@ test: about: home: https://github.com/RECETOX/RIAssigner license: MIT + license_family: MIT license_file: LICENSE summary: 'GC-MS retention index calculation' description: | diff --git a/recipes/ribodetector/meta.yaml b/recipes/ribodetector/meta.yaml index 18cd605993a9c..98111d9b655b4 100644 --- a/recipes/ribodetector/meta.yaml +++ b/recipes/ribodetector/meta.yaml @@ -1,12 +1,12 @@ -{% set version = "0.2.8" %} +{% set version = "0.3.1" %} package: name: ribodetector version: {{ version }} source: - url: https://files.pythonhosted.org/packages/88/e7/4b7bb1a97093600cf0ca66399b91262dcdbe77eeafa06ef07e9f3eb04e53/ribodetector-0.2.8.tar.gz - sha256: 9da4b60b09321e0261cb97f51d209bda21573e810820290ecc39d70690a57aff + url: https://files.pythonhosted.org/packages/7a/83/da07dc151cea39c3f6edb55ac41581f5d6eb248464ac8fcdedc70b52cf5f/ribodetector-0.3.1.tar.gz + sha256: a520a411879a193f813ba5f7ad530e57aed31c0519c622de47490bb5144f0595 build: number: 0 diff --git a/recipes/ribotaper/LICENSE b/recipes/ribotaper/LICENSE new file mode 100644 index 0000000000000..fc0e482aaad2e --- /dev/null +++ b/recipes/ribotaper/LICENSE @@ -0,0 +1,641 @@ +RiboTaper is a method for defining traslated ORFs using +Ribosome Profiling data. + +Copyright (C) 2015 Lorenzo Calviello + +RiboTaper is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +RiboTaper is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with RiboTaper. If not, see . + +Contact: Lorenzo.Calviello@mdc-berlin.de + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + +Copyright (C) 2007 Free Software Foundation, Inc. +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + + Preamble + +The GNU General Public License is a free, copyleft license for +software and other kinds of works. + +The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + +To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + +For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + +Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + +For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + +Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + +Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + +The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + +0. Definitions. + +"This License" refers to version 3 of the GNU General Public License. + +"Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + +"The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + +To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + +A "covered work" means either the unmodified Program or a work based +on the Program. + +To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + +To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + +An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + +1. Source Code. + +The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + +A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + +The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + +The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + +The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + +The Corresponding Source for a work in source code form is that +same work. + +2. Basic Permissions. + +All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + +You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + +Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + +3. Protecting Users' Legal Rights From Anti-Circumvention Law. + +No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + +When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + +4. Conveying Verbatim Copies. + +You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + +You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + +5. Conveying Modified Source Versions. + +You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + +A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + +6. Conveying Non-Source Forms. + +You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + +A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + +A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + +"Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + +If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + +The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + +Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + +7. Additional Terms. + +"Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + +When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + +Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + +All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + +If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + +Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + +8. Termination. + +You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + +However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + +Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + +Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + +9. Acceptance Not Required for Having Copies. + +You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + +10. Automatic Licensing of Downstream Recipients. + +Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + +An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + +You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + +11. Patents. + +A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + +A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + +Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + +In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + +If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + +If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + +A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + +Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + +12. No Surrender of Others' Freedom. + +If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + +13. Use with the GNU Affero General Public License. + +Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + +14. Revised Versions of this License. + +The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + +If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + +Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + +15. Disclaimer of Warranty. + +THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +16. Limitation of Liability. + +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + +17. Interpretation of Sections 15 and 16. + +If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS diff --git a/recipes/ribotaper/meta.yaml b/recipes/ribotaper/meta.yaml index 0c54ba619072e..719b76d9d487e 100644 --- a/recipes/ribotaper/meta.yaml +++ b/recipes/ribotaper/meta.yaml @@ -8,12 +8,14 @@ source: build: skip: True # [not linux] - number: 6 + number: 8 + run_exports: + - {{ pin_subpackage('ribotaper', max_pin='x') }} requirements: build: - - make - {{ compiler('c') }} + - make host: - bedtools ==2.17.0 - samtools @@ -26,6 +28,7 @@ requirements: - r-xnomial run: - bedtools ==2.17.0 + - coreutils - samtools - r-iterators - r-foreach @@ -43,7 +46,8 @@ test: about: home: https://ohlerlab.mdc-berlin.de/software/RiboTaper_126/ - license: GPL + license: GPL-3.0-or-later + license_file: LICENSE summary: 'RiboTaper is a new analysis pipeline for Ribosome Profiling (Ribo-seq) experiments, which exploits the triplet periodicity of diff --git a/recipes/ribotin/build.sh b/recipes/ribotin/build.sh index 21514ab5ec912..19adc930d88f8 100644 --- a/recipes/ribotin/build.sh +++ b/recipes/ribotin/build.sh @@ -4,8 +4,11 @@ cd $SRC_DIR make all cp bin/ribotin-ref $PREFIX/bin cp bin/ribotin-verkko $PREFIX/bin +cp bin/ribotin-hifiasm $PREFIX/bin mkdir -p $PREFIX/share/${PKG_NAME}-${PKG_VERSION} cp template_seqs/rDNA_one_unit.fasta $PREFIX/share/${PKG_NAME}-${PKG_VERSION}/rDNA_one_unit.fasta +cp template_seqs/rDNA_one_unit.fasta.fai $PREFIX/share/${PKG_NAME}-${PKG_VERSION}/rDNA_one_unit.fasta.fai cp template_seqs/chm13_rDNAs.fa $PREFIX/share/${PKG_NAME}-${PKG_VERSION}/chm13_rDNAs.fa cp template_seqs/rDNA_annotation.gff3 $PREFIX/share/${PKG_NAME}-${PKG_VERSION}/rDNA_annotation.gff3 +cp template_seqs/rDNA_annotation.gff3_db $PREFIX/share/${PKG_NAME}-${PKG_VERSION}/rDNA_annotation.gff3_db diff --git a/recipes/ribotin/makefile.patch b/recipes/ribotin/makefile.patch index c01ea1f0fbf7d..8f9192ef79578 100644 --- a/recipes/ribotin/makefile.patch +++ b/recipes/ribotin/makefile.patch @@ -1,5 +1,5 @@ diff --git a/makefile b/makefile -index 40a23f7..b35510c 100644 +index 5166dd0..83ff306 100644 --- a/makefile +++ b/makefile @@ -15,8 +15,8 @@ OBJ = $(patsubst %, $(ODIR)/%, $(_OBJ)) @@ -13,11 +13,15 @@ index 40a23f7..b35510c 100644 $(shell mkdir -p bin) $(shell mkdir -p obj) -@@ -30,10 +30,10 @@ $(BINDIR)/ribotin-ref: $(OBJ) $(ODIR)/ribotin-ref.o +@@ -33,13 +33,13 @@ $(BINDIR)/ribotin-ref: $(OBJ) $(ODIR)/ribotin-ref.o $(GPP) -o $@ $^ $(LINKFLAGS) $(ODIR)/ribotin-verkko.o: $(SRCDIR)/ribotin-verkko.cpp $(DEPS) $(OBJ) - $(GPP) -c -o $@ $< $(CPPFLAGS) -DVERSION="\"$(VERSION)\"" -DRIBOTIN_TEMPLATE_PATH="\"$(TEMPLATEPATH)\"" ++ $(GPP) -c -o $@ $< $(CPPFLAGS) -DVERSION="\"$(VERSION)\"" -DRIBOTIN_TEMPLATE_PATH="$(TEMPLATEPATH)" + + $(ODIR)/ribotin-hifiasm.o: $(SRCDIR)/ribotin-hifiasm.cpp $(DEPS) $(OBJ) +- $(GPP) -c -o $@ $< $(CPPFLAGS) -DVERSION="\"$(VERSION)\"" -DRIBOTIN_TEMPLATE_PATH="\"$(TEMPLATEPATH)\"" + $(GPP) -c -o $@ $< $(CPPFLAGS) -DVERSION="\"$(VERSION)\"" -DRIBOTIN_TEMPLATE_PATH="$(TEMPLATEPATH)" $(ODIR)/ribotin-ref.o: $(SRCDIR)/ribotin-ref.cpp $(DEPS) $(OBJ) diff --git a/recipes/ribotin/meta.yaml b/recipes/ribotin/meta.yaml index 360feb7cd003d..1acdf0e771f91 100644 --- a/recipes/ribotin/meta.yaml +++ b/recipes/ribotin/meta.yaml @@ -1,13 +1,13 @@ {% set name = "ribotin" %} -{% set version = "1.2" %} +{% set version = "1.3" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://github.com/maickrau/{{ name }}/files/13435950/{{ name }}.tar.gz - sha256: 88d7be40dc641b96ef6f36cd2e464e8d65395ab50158efa1d2d49203b42ffa79 + url: https://github.com/maickrau/{{ name }}/files/14571457/{{ name }}.tar.gz + sha256: 7eda750e4fd1064eedf3016f5a49d6b6994e336619fc3b5e4afe4655b2873b70 patches: - makefile.patch @@ -27,7 +27,7 @@ requirements: run: - graphaligner - mbg - - liftoff + - liftoff =1.6.3 # Use a specific version to make sure the annotation index files are compatible test: commands: diff --git a/recipes/ribotools/meta.yaml b/recipes/ribotools/meta.yaml new file mode 100644 index 0000000000000..c1f71e3bceeb1 --- /dev/null +++ b/recipes/ribotools/meta.yaml @@ -0,0 +1,73 @@ +{% set name = "ribotools" %} +{% set version = "1.0.4" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/ribotools-{{ version }}.tar.gz + sha256: b40767cc80894566708025d5223c2c0dff475ef7d9a4332dc852b4c04388fea4 + +build: + script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vvv" + noarch: python + number: 0 + entry_points: + - get-all-bam-periodic = ribotools.pgrms.get_all_bam_periodic:main + - get-gtf-from-predictions = ribotools.pgrms.get_gtf_from_predictions:main + - run-htseq-workflow = ribotools.htseq_wf.run_htseq_workflow:main + - alignment-workflow = ribotools.htseq_wf.alignment_workflow:main + - get-ribo-periodic = ribotools.htseq_wf.get_ribo_periodic:main + - keep-ribo-periodic = ribotools.htseq_wf.keep_ribo_periodic:main + - call-htseq-count = ribotools.htseq_wf.call_htseq_count:main + - get-sample-table = ribotools.scripts.__main__:get_sample_table + - run-tea = ribotools.scripts.__main__:run_tea + - run-dea = ribotools.scripts.__main__:run_dea + run_exports: + - {{ pin_subpackage('ribotools', max_pin='x') }} + +requirements: + host: + - python >=3.7,<3.11 + - pip + run: + - python >=3.7,<3.11 + - rpbp >=3.0.1 + - htseq >=2.0.2 + - r-base >=4.2.3 + - r-r.utils + - r-devtools + - r-tidyverse + - r-openxlsx + - r-yaml + - r-ashr + - bioconductor-ihw + - bioconductor-apeglm + - bioconductor-deseq2 + +test: + imports: + - ribotools + - ribotools.utils + - ribotools.htseq_wf + - ribotools.pgrms + commands: + - get-all-bam-periodic --help + - get-gtf-from-predictions --help + - run-htseq-workflow --help + - alignment-workflow --help + - get-ribo-periodic --help + - keep-ribo-periodic --help + - call-htseq-count --help + +about: + home: https://github.com/eboileau/ribotools + summary: Ribo-seq analysis tools associated with the Rp-Bp package and more + doc_url: https://ribotools.readthedocs.io/en/latest/ + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - eboileau diff --git a/recipes/ribotricer/meta.yaml b/recipes/ribotricer/meta.yaml index 5c4100c7a633f..d3195bd2c29fe 100644 --- a/recipes/ribotricer/meta.yaml +++ b/recipes/ribotricer/meta.yaml @@ -1,5 +1,5 @@ {% set name = "ribotricer" %} -{% set version = "1.3.3" %} +{% set version = "1.4.0" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 0724fd0acea601a15078e8e3b51e2df5f6b735c276dd978b139619a159f51f75 + sha256: f0f612796f65460f58639cafe297afb1350d6fe7f50d06ea38f372447bdbc63b build: number: 0 @@ -15,6 +15,9 @@ build: entry_points: - ribotricer=ribotricer.cli:cli script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + run_exports: + - {{ pin_subpackage('ribotricer', max_pin="x.x") }} + requirements: host: diff --git a/recipes/ribowaltz/meta.yaml b/recipes/ribowaltz/meta.yaml index 1d3b50dd02917..1725593a487e9 100755 --- a/recipes/ribowaltz/meta.yaml +++ b/recipes/ribowaltz/meta.yaml @@ -1,21 +1,23 @@ {% set name = "riboWaltz" %} -{% set version = "1.2.0" %} -{% set sha256 = "1a915eccd23fd122eca470320b8f17762687350fdeb642aef01fb7990e98938b" %} +{% set version = "2.0" %} +{% set sha256 = "55f2f4e44709f1b41f788351b64cce4615194062775f5e0dc714320e01d6f65c" %} package: - name: {{ name|lower }} - version: {{ version }} + name: {{ name|lower }} + version: {{ version }} source: - url: https://github.com/LabTranslationalArchitectomics/{{ name }}/archive/v{{ version }}.tar.gz - sha256: {{ sha256 }} + url: https://github.com/LabTranslationalArchitectomics/{{ name }}/archive/v{{ version }}.tar.gz + sha256: {{ sha256 }} build: - number: 1 + number: 0 noarch: generic rpaths: - lib/R/lib/ - lib/ + run_exports: + - {{ pin_subpackage('ribowaltz', max_pin="x") }} requirements: host: @@ -47,5 +49,6 @@ test: about: home: https://github.com/LabTranslationalArchitectomics/riboWaltz license: MIT + license_family: MIT license_file: LICENSE summary: Calculation of optimal P-site offsets, diagnostic analysis and visual inspection of ribosome profiling data. diff --git a/recipes/ripcal/LICENSE b/recipes/ripcal/LICENSE new file mode 100644 index 0000000000000..f288702d2fa16 --- /dev/null +++ b/recipes/ripcal/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/recipes/ripcal/build.sh b/recipes/ripcal/build.sh new file mode 100644 index 0000000000000..b1d42ef3349f2 --- /dev/null +++ b/recipes/ripcal/build.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +export LANGUAGE=en_US.UTF-8 +export LC_ALL=en_US.UTF-8 + +# Creating necessary directories +mkdir -p "${PREFIX}/bin" + +# Copying executable files to bin directory +cp "${SRC_DIR}/perl/"* "${PREFIX}/bin/" + +# Fixing permissions +chmod +x "${PREFIX}/bin/deripcal" +chmod +x "${PREFIX}/bin/ripcal" +chmod +x "${PREFIX}/bin/ripcal_summarise" + +sed -i "s:/usr/bin/perl:/usr/bin/env perl:" "${PREFIX}/bin/ripcal" +sed -i "s/use Bio::Perl;/use BioPerl;/" "${PREFIX}/bin/ripcal" + +sed -i "s:/usr/bin/perl:/usr/bin/env perl:" "${PREFIX}/bin/deripcal" +sed -i "s:/usr/bin/perl:/usr/bin/env perl:" "${PREFIX}/bin/ripcal_summarise" + +export "PERL5LIB=${PREFIX}/lib/perl5/site_perl/5.32.1/:${PERL5LIB}" + +sed -i.bak '/^use Tk/ s/^/# /' "${PREFIX}/bin/ripcal" + diff --git a/recipes/ripcal/meta.yaml b/recipes/ripcal/meta.yaml new file mode 100644 index 0000000000000..47583a3f8627d --- /dev/null +++ b/recipes/ripcal/meta.yaml @@ -0,0 +1,45 @@ +{% set name = "ripcal" %} +{% set version = "2.0" %} +{% set sha256 = "6f18af1c6fedde17430e023e3a5c1ab56f14910694d83ba90ee738d8d48188bd" %} + +package: + name: '{{ name }}' + version: '{{ version }}' + +source: + url: "https://sourceforge.net/projects/ripcal/files/RIPCAL/RIPCAL_{{ version }}/{{ name }}2_install.zip" + sha256: '{{ sha256 }}' + +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage('ripcal', max_pin="x") }} + +requirements: + run: + - perl >=5.32.1 + - perl-math-round + - perl-bioperl >=1.7.2 + - perl-bioperl-core >=1.7.2 + - perl-getopt-long + - perl-mime-base64 + - perl-gd + +test: + commands: + - 'ripcal --help' + - 'deripcal --help' + +about: + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE + summary: 'RIPCAL is used for the bioinformatic analysis of repeat-induced point mutation (RIP) in fungal genome sequences' + home: https://sourceforge.net/projects/ripcal + +extra: + identifiers: + - https://doi.org/10.1186/1471-2105-9-478 + recipe-maintainers: + - KristinaGagalova diff --git a/recipes/rlpipes/meta.yaml b/recipes/rlpipes/meta.yaml index 871aa699bf877..7fe7d93e9376f 100644 --- a/recipes/rlpipes/meta.yaml +++ b/recipes/rlpipes/meta.yaml @@ -1,5 +1,5 @@ {% set name = "rlpipes" %} -{% set version = "0.9.3" %} +{% set version = "0.9.4" %} package: name: "{{ name|lower }}" @@ -7,14 +7,16 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: a7d56566060f0fdce4428e8159407fd57b363ebd7249925e3b8b67bc80576702 + sha256: 3844395f1d11c1742e4de18e44f54f56fdc032d3e6f935e2cadb5b1419d45a3c build: number: 0 entry_points: - RLPipes = rlpipes.cli:cli - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" noarch: python + run_exports: + - {{ pin_subpackage('rlpipes', max_pin="x.x") }} requirements: host: diff --git a/recipes/rmath4/meta.yaml b/recipes/rmath4/meta.yaml index 4a32e38ee15a5..ba2b6e894fa63 100644 --- a/recipes/rmath4/meta.yaml +++ b/recipes/rmath4/meta.yaml @@ -11,7 +11,7 @@ source: build: script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation - number: 0 + number: 1 run_exports: - {{ pin_subpackage(name, max_pin="x") }} diff --git a/recipes/rmats/build.sh b/recipes/rmats/build.sh index 95408039e33d0..db8a503c1c03c 100644 --- a/recipes/rmats/build.sh +++ b/recipes/rmats/build.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -xe + mkdir $PREFIX/rMATS GSL_LDFLAGS="$(gsl-config --libs)" @@ -8,7 +10,15 @@ export GSL_LDFLAGS export GSL_CFLAGS export LD_LIBRARY_PATH=${PREFIX}/lib -make +case $(uname -m) in + aarch64) + sed -i.bak -e "s/-msse2//" rMATS_C/Makefile + ;; + *) + ;; +esac + +make -j ${CPU_COUNT} cp rmats.py $PREFIX/rMATS cp cp_with_prefix.py $PREFIX/rMATS diff --git a/recipes/rmats/build_failure.osx-64.yaml b/recipes/rmats/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..758d8e8d7dee2 --- /dev/null +++ b/recipes/rmats/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: eb225f3a61251bb54e69e31c1b3d4ffe1b70c2f7cc8c20ac6a9433238022c11d # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + [ 3%] Building CXX object src/api/CMakeFiles/BamTools.dir/BamWriter.cpp.o + [ 4%] Building CXX object src/api/CMakeFiles/BamTools.dir/SamHeader.cpp.o + [ 5%] Building CXX object src/api/CMakeFiles/BamTools.dir/SamProgram.cpp.o + [ 6%] Building CXX object src/api/CMakeFiles/BamTools.dir/SamProgramChain.cpp.o + [ 7%] Building CXX object src/api/CMakeFiles/BamTools.dir/SamReadGroup.cpp.o + [ 8%] Building CXX object src/api/CMakeFiles/BamTools.dir/SamReadGroupDictionary.cpp.o + [ 9%] Building CXX object src/api/CMakeFiles/BamTools.dir/SamSequence.cpp.o + [ 10%] Building CXX object src/api/CMakeFiles/BamTools.dir/SamSequenceDictionary.cpp.o + [ 11%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/bam/BamHeader_p.cpp.o + [ 12%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/bam/BamMultiReader_p.cpp.o + [ 13%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/bam/BamRandomAccessController_p.cpp.o + [ 14%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/bam/BamReader_p.cpp.o + [ 15%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/bam/BamWriter_p.cpp.o + [ 16%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/index/BamIndexFactory_p.cpp.o + [ 17%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/index/BamStandardIndex_p.cpp.o + [ 18%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/index/BamToolsIndex_p.cpp.o + [ 19%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/BamDeviceFactory_p.cpp.o + [ 20%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/BamFile_p.cpp.o + [ 21%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/BamFtp_p.cpp.o + [ 22%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/BamHttp_p.cpp.o + [ 23%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/BamPipe_p.cpp.o + [ 24%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/BgzfStream_p.cpp.o + [ 25%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/ByteArray_p.cpp.o + [ 26%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/HostAddress_p.cpp.o + [ 27%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/HostInfo_p.cpp.o + [ 28%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/HttpHeader_p.cpp.o + [ 29%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/ILocalIODevice_p.cpp.o + [ 30%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/RollingBuffer_p.cpp.o + [ 31%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/TcpSocket_p.cpp.o + [ 32%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/TcpSocketEngine_p.cpp.o + [ 33%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/TcpSocketEngine_unix_p.cpp.o + [ 34%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/sam/SamFormatParser_p.cpp.o + [ 35%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/sam/SamFormatPrinter_p.cpp.o + [ 36%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/sam/SamHeaderValidator_p.cpp.o + [ 37%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/utils/BamException_p.cpp.o + [ 38%] Linking CXX shared library $SRC_DIR/bamtools/lib/libbamtools.dylib + make[3]: Leaving directory '$SRC_DIR/bamtools/build' + [ 38%] Built target BamTools + make[3]: Entering directory '$SRC_DIR/bamtools/build' + make[3]: Leaving directory '$SRC_DIR/bamtools/build' + make[3]: Entering directory '$SRC_DIR/bamtools/build' + [ 39%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/BamAlignment.cpp.o + [ 40%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/BamMultiReader.cpp.o + [ 41%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/BamReader.cpp.o + [ 42%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/BamWriter.cpp.o + [ 43%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/SamHeader.cpp.o + [ 44%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/SamProgram.cpp.o + [ 45%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/SamProgramChain.cpp.o + [ 46%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/SamReadGroup.cpp.o + [ 47%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/SamReadGroupDictionary.cpp.o + [ 48%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/SamSequence.cpp.o + [ 49%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/SamSequenceDictionary.cpp.o + [ 50%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/bam/BamHeader_p.cpp.o + [ 50%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/bam/BamMultiReader_p.cpp.o + [ 51%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/bam/BamRandomAccessController_p.cpp.o + [ 52%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/bam/BamReader_p.cpp.o + [ 53%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/bam/BamWriter_p.cpp.o + [ 54%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/index/BamIndexFactory_p.cpp.o + [ 55%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/index/BamStandardIndex_p.cpp.o + [ 56%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/index/BamToolsIndex_p.cpp.o + [ 57%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/BamDeviceFactory_p.cpp.o + [ 58%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/BamFile_p.cpp.o + [ 59%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/BamFtp_p.cpp.o + [ 60%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/BamHttp_p.cpp.o + [ 61%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/BamPipe_p.cpp.o + [ 62%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/BgzfStream_p.cpp.o + [ 63%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/ByteArray_p.cpp.o + [ 64%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/HostAddress_p.cpp.o + [ 65%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/HostInfo_p.cpp.o + [ 66%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/HttpHeader_p.cpp.o + [ 67%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/ILocalIODevice_p.cpp.o + [ 68%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/RollingBuffer_p.cpp.o + [ 69%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/TcpSocket_p.cpp.o + [ 70%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/TcpSocketEngine_p.cpp.o + [ 71%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/TcpSocketEngine_unix_p.cpp.o + [ 72%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/sam/SamFormatParser_p.cpp.o + [ 73%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/sam/SamFormatPrinter_p.cpp.o + [ 74%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/sam/SamHeaderValidator_p.cpp.o + [ 75%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/utils/BamException_p.cpp.o + [ 76%] Linking CXX static library $SRC_DIR/bamtools/lib/libbamtools.a + make[3]: Leaving directory '$SRC_DIR/bamtools/build' + [ 76%] Built target BamTools-static + make[3]: Entering directory '$SRC_DIR/bamtools/build' + make[3]: Leaving directory '$SRC_DIR/bamtools/build' + make[3]: Entering directory '$SRC_DIR/bamtools/build' + make[3]: Leaving directory '$SRC_DIR/bamtools/build' + [ 76%] Built target APIHeaders + make[3]: Entering directory '$SRC_DIR/bamtools/build' + make[3]: Leaving directory '$SRC_DIR/bamtools/build' + make[3]: Entering directory '$SRC_DIR/bamtools/build' + make[3]: Leaving directory '$SRC_DIR/bamtools/build' + [ 76%] Built target AlgorithmsHeaders + make[3]: Entering directory '$SRC_DIR/bamtools/build' + make[3]: Leaving directory '$SRC_DIR/bamtools/build' + make[3]: Entering directory '$SRC_DIR/bamtools/build' + [ 77%] Building CXX object src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/json_reader.cpp.o + [ 78%] Building CXX object src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/json_value.cpp.o + make[3]: Leaving directory '$SRC_DIR/bamtools/build' + make[2]: Leaving directory '$SRC_DIR/bamtools/build' + make[1]: Leaving directory '$SRC_DIR/bamtools/build' +# Last 100 lines of the build log. diff --git a/recipes/rmats/meta.yaml b/recipes/rmats/meta.yaml index fb7233b0e8977..4ae4f2d4d6aa7 100644 --- a/recipes/rmats/meta.yaml +++ b/recipes/rmats/meta.yaml @@ -1,16 +1,16 @@ {% set name = "rmats" %} -{% set version = "4.2.0" %} +{% set version = "4.3.0" %} package: name: {{ name }} version: {{ version }} source: - sha256: 7d5b56623e684c460a33b1709e0e2dc3ad13288d7db2be6c55c61f4fef880444 + sha256: c78e6411b7c6634cc31511b69d37a6a3da2e2e076e87609679818debd513aa7a url: https://github.com/Xinglab/rmats-turbo/releases/download/v{{ version }}/rmats_turbo_v{{ version|replace(".","_") }}.tar.gz build: - number: 0 + number: 2 run_exports: - {{ pin_subpackage(name, max_pin="x") }} @@ -47,3 +47,7 @@ about: license: Free for non-commercial use, see LICENSE file summary: MATS is a computational tool to detect differential alternative splicing events from RNA-Seq data. license_file: LICENSE + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/rmats2sashimiplot/build_failure.linux-64.yaml b/recipes/rmats2sashimiplot/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..a1e1d2e9d247a --- /dev/null +++ b/recipes/rmats2sashimiplot/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: b220de3cd5b023b01e8cbd642ea06cecec2f1f41d179f532b63c91e21cd84dd0 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + [32mpysam 0.7.7[0m would require + [32mpython <3.0.0 [0m, which can be installed; + [31mpython >=3.11,<3.12.0a0 [0m is not installable because it requires + [31mpython_abi 3.11.* *_cp311[0m, which conflicts with any installable versions previously reported; + [31mxz [>=5.2.6,<5.3.0a0 |>=5.2.6,<6.0a0 ][0m, which conflicts with any installable versions previously reported. + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2409, in build + create_build_envs(top_level_pkg, notest) + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2247, in create_build_envs + raise e + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2220, in create_build_envs + environ.get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("python==3.11.0=h582c2e5_0_cpython"), MatchSpec("xz[version='>=5.2.6,<5.3.0a0']")} + Encountered problems while solving: + - package python-3.11.0-h582c2e5_0_cpython requires xz >=5.2.6,<5.3.0a0, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + [32mpysam[0m is installable with the potential options + [32mpysam [0.10.0|0.11.0|...|0.9.1.4][0m would require + [32mpython [2.7* |>=2.7,<2.8.0a0 ][0m, which can be installed; + [32mpysam [0.10.0|0.15.2|...|0.9.1][0m would require + [32mpython_abi 2.7.* *_cp27mu[0m, which can be installed; + [32mpysam [0.10.0|0.11.0|...|0.9.1.4][0m would require + [32mpython 3.4* [0m, which can be installed; + [32mpysam [0.10.0|0.11.0|...|0.9.1.4][0m would require + [32mpython [3.5* |>=3.5,<3.6.0a0 ][0m with the potential options + [32mpython [3.5.1|3.5.2][0m would require + [32mxz 5.0.* [0m, which can be installed; + [32mpython [3.5.2|3.5.3|3.5.4|3.5.5][0m, which can be installed; + [32mpysam [0.10.0|0.11.1|...|0.9.1][0m would require + [32mpython 3.6* [0m, which can be installed; + [32mpysam [0.10.0|0.15.2|...|0.9.1][0m would require + [32mpython_abi 3.6.* *_cp36m[0m, which can be installed; + [32mpysam [0.10.0|0.14.1|...|0.9.1][0m would require + [32mpython >=3.6,<3.7.0a0 [0m, which can be installed; + [31mpysam [0.15.1|0.15.2|0.15.3][0m would require + [31mlibdeflate >=1.0,<1.1.0a0 [0m, which conflicts with any installable versions previously reported; + [32mpysam [0.15.2|0.15.4|...|0.9.1][0m would require + [32mpython_abi 3.7.* *_cp37m[0m with the potential options + [32mpython_abi 3.7[0m, which can be installed; + [32mpython_abi 3.7[0m would require + [32mpython 3.7.* *_cpython[0m, which can be installed; + [32mpysam [0.15.2|0.15.3|0.15.4|0.9.1][0m would require + [32mpython >=3.7,<3.8.0a0 [0m, which can be installed; + [32mpysam [0.15.2|0.16.0.1|...|0.9.1][0m would require + [32mpython_abi 3.8.* *_cp38[0m with the potential options + [32mpython_abi 3.8[0m, which can be installed; + [32mpython_abi 3.8[0m would require + [32mpython 3.8.* *_cpython[0m, which can be installed; + [32mpysam [0.16.0.1|0.17.0|...|0.9.1][0m would require + [32mpython_abi 3.9.* *_cp39[0m with the potential options + [32mpython_abi 3.9[0m, which can be installed; + [32mpython_abi 3.9[0m would require + [32mpython 3.9.* *_cpython[0m, which can be installed; + [32mpysam [0.19.1|0.20.0|0.21.0|0.22.0|0.22.1][0m would require + [32mpython_abi 3.10.* *_cp310[0m with the potential options + [32mpython_abi 3.10[0m, which can be installed; + [32mpython_abi 3.10[0m would require + [32mpython 3.10.* *_cpython[0m, which can be installed; + [32mpysam 0.7.7[0m would require + [32mpython <3.0.0 [0m, which can be installed; + [31mpython >=3.11,<3.12.0a0 [0m is not installable because it requires + [31mpython_abi 3.11.* *_cp311[0m, which conflicts with any installable versions previously reported; + [31mxz [>=5.2.6,<5.3.0a0 |>=5.2.6,<6.0a0 ][0m, which conflicts with any installable versions previously reported. +# Last 100 lines of the build log. diff --git a/recipes/rmats2sashimiplot/meta.yaml b/recipes/rmats2sashimiplot/meta.yaml index 372775d61638b..a98be80a8bb22 100644 --- a/recipes/rmats2sashimiplot/meta.yaml +++ b/recipes/rmats2sashimiplot/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 5d8e0fa3e7c5db2e595dc08e4cdb652385c18d7f2b70468d81a0fb3d957d03ce build: - number: 0 + number: 1 entry_points: - rmats2sashimiplot=rmats2sashimiplot.rmats2sashimiplot:main - index_gff=MISO.misopy.index_gff:main diff --git a/recipes/rna-seqc/build.sh b/recipes/rna-seqc/build.sh index 7afd75451acd7..926e8a8e5a0bd 100644 --- a/recipes/rna-seqc/build.sh +++ b/recipes/rna-seqc/build.sh @@ -1,9 +1,10 @@ #!/bin/bash set -eu -o pipefail -cd ./travis/build/broadinstitute/rnaseqc -export CFLAGS="${CFLAGS} -fcommon" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 -fcommon" +cd rnaseqc pushd SeqLib/bwa sed -i.bak '/^DFLAGS=/s/$/ $(LDFLAGS)/' Makefile make CC="$CC" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" @@ -19,7 +20,7 @@ popd make \ CC="$CXX" \ - CPPFLAGS="-I$PREFIX/include -fcommon" \ + CPPFLAGS="${CPPFLAGS} -O3 -I$PREFIX/include -fcommon" \ SeqLib/lib/libseqlib.a make \ @@ -28,5 +29,5 @@ make \ LIBRARY_PATHS="-L$PREFIX/lib -Wl,-rpath $PREFIX/lib" mkdir -p $PREFIX/bin +chmod 0755 rnaseqc cp rnaseqc $PREFIX/bin - diff --git a/recipes/rna-seqc/meta.yaml b/recipes/rna-seqc/meta.yaml index a823ac1fd4294..cc91a8ea6f068 100644 --- a/recipes/rna-seqc/meta.yaml +++ b/recipes/rna-seqc/meta.yaml @@ -1,16 +1,18 @@ -{% set version = "2.3.5" %} -{% set sha256sum = "44e81f01f2b661a7621f34e3b645f5727bc7143841f1df053723e23ba298d2c6" %} +{% set version = "2.4.2" %} +{% set sha256sum = "b214151408696430aead56921b255e2b09efe5f6087a68446deae399227a1303" %} package: - name: rna-seqc - version: '{{ version }}' + name: "rna-seqc" + version: {{ version }} source: url: 'https://github.com/broadinstitute/rnaseqc/releases/download/v{{ version }}/rnaseqc.v{{ version }}.full_source.tar.gz' - sha256: '{{ sha256sum }}' + sha256: {{ sha256sum }} build: - number: 5 + number: 0 + run_exports: + - {{ pin_subpackage("rna-seqc", max_pin="x") }} requirements: build: @@ -25,19 +27,23 @@ requirements: - zlib run: - curl - - bzip2 - boost-cpp - - xz - - zlib + test: commands: - rnaseqc --version about: - home: https://github.com/broadinstitute/rnaseqc + home: "https://github.com/broadinstitute/rnaseqc" license_url: https://raw.githubusercontent.com/broadinstitute/rnaseqc/master/LICENSE - # license_file: LICENSE # not distributed :-/ - license: BSD 3-clause + license_file: rnaseqc/LICENSE + license: "BSD-3-Clause" license_family: BSD - summary: Fast, efficient RNA-Seq metrics for quality control and process optimization + summary: "Fast, efficient RNA-Seq metrics for quality control and process optimization." + dev_url: "https://github.com/broadinstitute/rnaseqc" + doc_url: "https://github.com/getzlab/rnaseqc/blob/v{{ version }}/README.md" +extra: + identifiers: + - biotools:rna-seqc + - doi:10.1093/bioinformatics/btab135 diff --git a/recipes/rnaalishapes/build.sh b/recipes/rnaalishapes/build.sh new file mode 100644 index 0000000000000..747a892974727 --- /dev/null +++ b/recipes/rnaalishapes/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash +make -j ${CPU_COUNT} PREFIX=$PREFIX CC=$CC -C Misc/Applications/RNAalishapes all +make PREFIX=$PREFIX CC=$CC -C Misc/Applications/RNAalishapes install-program +make PREFIX=$PREFIX CC=$CC -C Misc/Applications/lib install +chmod +x $PREFIX/bin/RNAali* diff --git a/recipes/rnaalishapes/meta.yaml b/recipes/rnaalishapes/meta.yaml new file mode 100644 index 0000000000000..17ef0ed23173e --- /dev/null +++ b/recipes/rnaalishapes/meta.yaml @@ -0,0 +1,49 @@ +{% set fold_grammars_version = "2.3.1" %} +{% set rnaalishapes_version = "2.5.0" %} +{% set packagename = "rnaalishapes" %} +{% set sha256 = "0c5b7d91893d0a23189f4af3602e18f110f030eac49a3658f7acede23596fde0" %} + +package: + name: {{ packagename }} + version: {{ rnaalishapes_version }} + +source: + sha256: {{ sha256 }} + # the repository "fold-grammars" contains sources for several programs, i.e. pKiss, RNAshapes, ... + # thus, the version number does not correspond to the {{ packagename }} version number + url: https://github.com/jlab/fold-grammars/archive/{{ fold_grammars_version }}.tar.gz + +build: + number: 1 + run_exports: + - {{ pin_subpackage('rnaalishapes', max_pin="x") }} + +requirements: + build: + - make + - {{ compiler('cxx') }} + - libcxx <17 # [osx] + host: + - perl + - bellmans-gapc >=2024.01.12 + - libopenblas + - libcxx <17 # [osx] + run: + - perl + - bellmans-gapc >=2024.01.12 + - libopenblas + +test: + commands: + - RNAalishapes -h + - echo -e "CLUSTAL W (1.83) multiple sequence alignment\ntest CGCAUGCUAGUCGCG" | RNAalishapes + +about: + home: https://bibiserv.cebitec.uni-bielefeld.de/{{ packagename }} + license: 'GPL-3.0-or-later' + license_file: LICENSE + summary: "RNAalishapes is a tool for secondary structure prediction, using shape abstraction. Input is a multiple sequence alignment. Pseudoknots are not considered at all." + +extra: + identifiers: + - doi:10.1093/bioinformatics/btu649 diff --git a/recipes/rnablueprint/build_failure.linux-64.yaml b/recipes/rnablueprint/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..929735ac9d073 --- /dev/null +++ b/recipes/rnablueprint/build_failure.linux-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: 5c52cfa37bf2c5768a217cc5926ff9c75e916f7658a4a241edc0b089fcfda664 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: compiler error +log: |2- + | ~~~~~~~~~~~~^~ + | set_sequence + dependency_graph.cc: In instantiation of 'design::SolutionSizeType design::detail::DependencyGraph::sample_local_global(int, int, int) [with R = std::mersenne_twister_engine; design::SolutionSizeType = double]': + dependency_graph.cc:808:24: required from here + dependency_graph.cc:459:60: error: 'get_sequence' was not declared in this scope; did you mean 'set_sequence'? + 459 | if (*last_histentry != get_sequence()) { + | ~~~~~~~~~~~~^~ + | set_sequence + dependency_graph.cc: In instantiation of 'design::SolutionSizeType design::detail::DependencyGraph::sample_clocal(int) [with R = std::mersenne_twister_engine; design::SolutionSizeType = double]': + dependency_graph.cc:808:24: required from here + dependency_graph.cc:485:60: error: 'get_sequence' was not declared in this scope; did you mean 'set_sequence'? + 485 | if (*last_histentry != get_sequence()) { + | ~~~~~~~~~~~~^~ + | set_sequence + dependency_graph.cc: In instantiation of 'design::SolutionSizeType design::detail::DependencyGraph::sample(int) [with R = std::mersenne_twister_engine; design::SolutionSizeType = double]': + dependency_graph.cc:808:24: required from here + dependency_graph.cc:568:52: error: 'get_sequence' was not declared in this scope; did you mean 'set_sequence'? + 568 | if (*last_histentry != get_sequence()) { + | ~~~~~~~~~~~~^~ + | set_sequence + dependency_graph.cc: In instantiation of 'design::SolutionSizeType design::detail::DependencyGraph::sample(int, int) [with R = std::mersenne_twister_engine; design::SolutionSizeType = double]': + dependency_graph.cc:808:24: required from here + dependency_graph.cc:598:52: error: 'get_sequence' was not declared in this scope; did you mean 'set_sequence'? + 598 | if (*last_histentry != get_sequence()) { + | ~~~~~~~~~~~~^~ + | set_sequence + dependency_graph.cc: In instantiation of 'std::vector > design::detail::DependencyGraph::get_history() [with R = std::mersenne_twister_engine]': + dependency_graph.cc:808:24: required from here + dependency_graph.cc:802:13: error: 'begin' was not declared in this scope + 802 | for (auto& h : history) { + | ^~~ + dependency_graph.cc:802:13: note: suggested alternatives: + /opt/conda/conda-bld/rnablueprint_1718134566580/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/bits/range_access.h:114:37: note: 'std::begin' + 114 | template const _Tp* begin(const valarray<_Tp>&) noexcept; + | ^~~~~ + /opt/conda/conda-bld/rnablueprint_1718134566580/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/boost/mpl/begin_end_fwd.hpp:22:38: note: 'boost::mpl::begin' + 22 | template< typename Sequence > struct begin; + | ^~~~~ + In file included from /opt/conda/conda-bld/rnablueprint_1718134566580/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/boost/range/functions.hpp:18: + /opt/conda/conda-bld/rnablueprint_1718134566580/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/boost/range/begin.hpp:110:61: note: 'boost::range_adl_barrier::begin' + 110 | inline BOOST_DEDUCED_TYPENAME range_iterator::type begin( const T& r ) + | ^~~~~ + /opt/conda/conda-bld/rnablueprint_1718134566580/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/boost/fusion/sequence/intrinsic/begin.hpp:92:5: note: 'boost::fusion::begin' + 92 | begin(Sequence const& seq) + | ^~~~~ + /opt/conda/conda-bld/rnablueprint_1718134566580/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/boost/foreach.hpp:696:1: note: 'boost::foreach_detail_::begin' + 696 | begin(auto_any_t col, type2type *, boost::mpl::true_ *) // null-terminated C-style strings + | ^~~~~ + /opt/conda/conda-bld/rnablueprint_1718134566580/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/boost/fusion/sequence/intrinsic_fwd.hpp:62:16: note: 'boost::fusion::result_of::begin' + 62 | struct begin; + | ^~~~~ + dependency_graph.cc:802:13: error: 'end' was not declared in this scope + 802 | for (auto& h : history) { + | ^~~ + dependency_graph.cc:802:13: note: suggested alternatives: + /opt/conda/conda-bld/rnablueprint_1718134566580/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/bits/range_access.h:116:37: note: 'std::end' + 116 | template const _Tp* end(const valarray<_Tp>&) noexcept; + | ^~~ + /opt/conda/conda-bld/rnablueprint_1718134566580/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/boost/mpl/begin_end_fwd.hpp:23:38: note: 'boost::mpl::end' + 23 | template< typename Sequence > struct end; + | ^~~ + /opt/conda/conda-bld/rnablueprint_1718134566580/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/boost/range/end.hpp:104:61: note: 'boost::range_adl_barrier::end' + 104 | inline BOOST_DEDUCED_TYPENAME range_iterator::type end( const T& r ) + | ^~~ + /opt/conda/conda-bld/rnablueprint_1718134566580/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/boost/fusion/sequence/intrinsic/end.hpp:92:5: note: 'boost::fusion::end' + 92 | end(Sequence const& seq) + | ^~~ + /opt/conda/conda-bld/rnablueprint_1718134566580/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/boost/foreach.hpp:736:1: note: 'boost::foreach_detail_::end' + 736 | end(auto_any_t, type2type *, boost::mpl::true_ *) // null-terminated C-style strings + | ^~~ + /opt/conda/conda-bld/rnablueprint_1718134566580/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/boost/fusion/sequence/intrinsic_fwd.hpp:68:16: note: 'boost::fusion::result_of::end' + 68 | struct end; + | ^~~ + make[1]: *** [Makefile:631: printgraph.lo] Error 1 + make[1]: *** [Makefile:631: pathcoloring.lo] Error 1 + dependency_graph.cc: In member function 'bool design::detail::DependencyGraph::revert_sequence(unsigned int) [with R = std::mersenne_twister_engine]': + dependency_graph.cc:771:9: warning: control reaches end of non-void function [-Wreturn-type] + 771 | } + | ^ + make[1]: *** [Makefile:631: RNAblueprint.lo] Error 1 + make[1]: *** [Makefile:631: dependency_graph.lo] Error 1 + make[1]: *** [Makefile:631: decompose.lo] Error 1 + make[1]: Leaving directory '$SRC_DIR/lib' + make: *** [Makefile:707: all-recursive] Error 1 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/rnablueprint_1718134566580/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. diff --git a/recipes/rnablueprint/build_failure.osx-64.yaml b/recipes/rnablueprint/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..952cb70d036d5 --- /dev/null +++ b/recipes/rnablueprint/build_failure.osx-64.yaml @@ -0,0 +1,106 @@ +recipe_sha: 5c52cfa37bf2c5768a217cc5926ff9c75e916f7658a4a241edc0b089fcfda664 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + checking for iterator... yes + checking for limits... yes + checking for list... yes + checking for random... yes + checking for set... yes + checking for sstream... yes + checking for string... yes + checking for unordered_map... yes + checking for unordered_set... yes + checking for utility... yes + checking for vector... yes + checking for boost/config.hpp... yes + checking for boost/functional/hash.hpp... yes + checking for boost/lexical_cast.hpp... yes + checking for boost/property_map/property_map.hpp... yes + checking for boost/property_map/shared_array_property_map.hpp... yes + checking for boost/property_map/vector_property_map.hpp... yes + checking for size_t... yes + checking for swig... $BUILD_PREFIX/bin/swig + checking SWIG version... 4.2.1 + checking for SWIG library... $BUILD_PREFIX/share/swig/4.2.1 + configure: Building with Python 2.x bindings + checking for python2... no + checking for python2.7... no + checking for python2.6... no + configure: Building with Python 3.x bindings + checking for python3... $PREFIX/bin/python3 + checking for Python3 include path... $PREFIX/include/python3.10 + checking for $PREFIX/include/python3.10/Python.h... yes + checking for Python3 ldflags... -bundle -undefined dynamic_lookup + checking for Python3 extension linker... clang -bundle -undefined dynamic_lookup -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + checking for directory to install Python3 scripts in... ${prefix}/lib/python3.10/site-packages + checking for directory to install architecture dependent python3 things in... ${exec_prefix}/lib/python3.10/site-packages + checking for Python3 module extension... .cpython-310-darwin.so + checking for Python3 tag for cached compiled scripts... cpython-310 + checking for Python3 extension of cached and optimized bytecode... cpython-310.opt-1.pyc + configure: Building with Perl bindings + checking for $PREFIX/bin/perl... $PREFIX/bin/perl + checking for Perl prefix... .../.. + checking for Perl siteprefix... .../.. + checking for Perl vendorprefix... $PREFIX + checking for Perl extension include path... $PREFIX/lib/perl5/5.32/core_perl/CORE + checking for Perl extension target directory... .../../lib/perl5/5.32/site_perl + checking for architecture dependent Perl extension site target directory... .../../lib/perl5/5.32/site_perl + checking for architecture dependent Perl extension vendor target directory... .../../lib/perl5/5.32/vendor_perl + checking for architecture independent Perl extension site target directory... .../../lib/perl5/site_perl + checking for architecture independent Perl extension vendor target directory... .../../lib/perl5/vendor_perl + checking for Perl extensions C preprocessor flags... -no-cpp-precomp -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=/Users/runner/miniforge3/conda-bld/perl_1703310145184/work=/usr/local/src/conda/perl-5.32.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_DARWIN_FEATURE_CLOCK_GETTIME=0 -fno-common -DPERL_DARWIN -no-cpp-precomp -Werror=partial-availability -D_DARWIN_FEATURE_CLOCK_GETTIME=0 -fno-strict-aliasing -pipe -fstack-protector-strong -DPERL_USE_SAFE_PUTENV -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + checking for Perl extensions linker flags... -Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -mmacosx-version-min=10.9 -bundle -undefined dynamic_lookup -fstack-protector-strong + checking for Perl dynamic library extension... .bundle + checking that generated files are newer than configure... done + configure: creating ./config.status + config.status: creating interfaces/Python3/Makefile + config.status: creating interfaces/Python3/version.i + config.status: creating interfaces/Perl/Makefile + config.status: creating interfaces/Perl/version.i + config.status: creating doxygen.cfg + config.status: creating Makefile + config.status: creating lib/Makefile + config.status: creating src/Makefile + config.status: creating tests/Makefile + config.status: creating interfaces/Makefile + config.status: executing depfiles commands + config.status: executing libtool commands + configure: + ------------------------------------------------ + Configure successful with the following options: + + Options: + Prefix path: $PREFIX + Custom BOOST path: $PREFIX + RNAblueprint program: yes + Debug information: no + Use GMP integers: no + + SWIG enabled: yes + Perl interface: yes + Python2 interface: yes + Python3 interface: yes + + Documentation enabled: no + (HTML): no + (PDF): no + (MAN): no + (PS): no + + Unit Tests enabled: yes + + Making all in lib + make[1]: Entering directory '$SRC_DIR/lib' + CXX RNAblueprint.lo + CXX common.lo + CXX printgraph.lo + CXX decompose.lo + CXX parsestruct.lo + CXX pathcoloring.lo + CXX pairing_matrix.lo + CXX dependency_graph.lo + CXX probability_matrix.lo + make[1]: Leaving directory '$SRC_DIR/lib' +# Last 100 lines of the build log. +category: |- + compiler error diff --git a/recipes/rnablueprint/meta.yaml b/recipes/rnablueprint/meta.yaml index 0e0cce95d5bb5..b123602f9c996 100644 --- a/recipes/rnablueprint/meta.yaml +++ b/recipes/rnablueprint/meta.yaml @@ -10,7 +10,7 @@ source: sha256: {{ sha256 }} build: - number: 6 + number: 7 run_exports: - {{ pin_subpackage('rnablueprint', max_pin='x.x') }} diff --git a/recipes/rnabridge-align/meta.yaml b/recipes/rnabridge-align/meta.yaml index d6819fb49aef7..82d9d77756a3b 100644 --- a/recipes/rnabridge-align/meta.yaml +++ b/recipes/rnabridge-align/meta.yaml @@ -10,7 +10,7 @@ source: sha256: "85e93e89a06dd27834dd4b3cb46f0b281df163d83259dbc1715d0819de6f98a8" build: - number: 6 + number: 7 requirements: build: diff --git a/recipes/rnachipintegrator/meta.yaml b/recipes/rnachipintegrator/meta.yaml index b6907f8bef2de..4c0073646a6dc 100644 --- a/recipes/rnachipintegrator/meta.yaml +++ b/recipes/rnachipintegrator/meta.yaml @@ -1,5 +1,5 @@ {% set name = "rnachipintegrator" %} -{% set version = "2.0.0" %} +{% set version = "3.0.0" %} package: name: '{{ name|lower }}' @@ -7,14 +7,16 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/RnaChipIntegrator-{{ version }}.tar.gz - sha256: 97adf6e8a71bfdef7661472540d661f0965ed6c2140f1d268f57a5e5bbd873b0 + sha256: bdb5cd278a2d93bc7c0e3a7980609db5f24ffa0199b8857818ec8481c59ea0ed build: - number: 1 + number: 0 entry_points: - RnaChipIntegrator = rnachipintegrator.cli:main script: python -m pip install --no-deps --ignore-installed . noarch: python + run_exports: + - {{ pin_subpackage('rnachipintegrator', max_pin="x") }} requirements: host: diff --git a/recipes/rnamining/meta.yaml b/recipes/rnamining/meta.yaml new file mode 100644 index 0000000000000..75d6dbef536c0 --- /dev/null +++ b/recipes/rnamining/meta.yaml @@ -0,0 +1,47 @@ +{% set name = "rnamining" %} +{% set version = "1.0.4" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/rnamining-{{ version }}.tar.gz + sha256: 03339dd81c1b163b966006559b50fbdca21481d3d82b14f52849b331d105012f + +build: + entry_points: + - rnamining = rnamining.rnamining:main + noarch: python + script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + number: 0 + run_exports: + - {{ pin_subpackage('rnamining',max_pin="x") }} + +requirements: + host: + - python >=3.8 + - pip + run: + - python >=3.8 + - scipy + - biopython >=1.78 + - scikit-learn >=0.21.3 + - pandas >=0.23.3 + - xgboost ==1.2.0 + +test: + imports: + - rnamining + commands: + - rnamining -h + +about: + home: https://github.com/lfreitasl/RNAmining/tree/pypackage + summary: Package to predict potential coding of RNA sequences provided in fasta format + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - lfreitasl diff --git a/recipes/rnanorm/meta.yaml b/recipes/rnanorm/meta.yaml new file mode 100644 index 0000000000000..ee38e16598b55 --- /dev/null +++ b/recipes/rnanorm/meta.yaml @@ -0,0 +1,52 @@ +{% set name = "rnanorm" %} +{% set version = "2.1.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/rnanorm-{{ version }}.tar.gz + sha256: 651bce77059548b907a4719615646898b6b51fe6915ba713686d2e6aa42d687f + +build: + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + entry_points: + - rnanorm = rnanorm.cli:main + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + +requirements: + host: + - python >=3.8,<3.13 + - setuptools >=64.0.0 + - setuptools-scm >=6.4.0 + - pip + run: + - python >=3.8,<3.13 + - click + - numpy >=1.0.0 + - pandas >=1.0.0 + - scikit-learn >=1.0.0 + - pandera + +test: + imports: + - rnanorm + commands: + - pip check + - rnanorm --help + requires: + - pip + +about: + summary: Common RNA-seq normalization methods + license: Apache-2.0 + license_file: LICENSE + home: https://github.com/genialis/RNAnorm + +extra: + recipe-maintainers: + - VinzentRisch diff --git a/recipes/rnaquast/build.sh b/recipes/rnaquast/build.sh index 8736b04c39060..1c7fbb282c0aa 100644 --- a/recipes/rnaquast/build.sh +++ b/recipes/rnaquast/build.sh @@ -1,9 +1,9 @@ -#!/bin/bash +#!/bin/bash -euo -OUTDIR=$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM +OUTDIR="$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM" mkdir -p $OUTDIR mkdir -p $PREFIX/bin chmod a+x *.py cp -rp * "$OUTDIR/" cd $PREFIX/bin -ln -s "../${OUTDIR#$PREFIX}"/*.py . +ln -sf "../${OUTDIR#$PREFIX}"/*.py . diff --git a/recipes/rnaquast/meta.yaml b/recipes/rnaquast/meta.yaml index 91022da280e25..330e6ffac2846 100644 --- a/recipes/rnaquast/meta.yaml +++ b/recipes/rnaquast/meta.yaml @@ -1,9 +1,9 @@ {% set name = "rnaQUAST" %} -{% set version = "2.2.3" %} -{% set sha256 = "581f2632e76d61c168a0b60aac14fd5ce9b26518ec410e17ff876d9c85c42066" %} +{% set version = "2.3.0" %} +{% set sha256 = "71290a5067d69f3157137771bf5ff151e1918ad0c241d916fab88a2eb3409889" %} package: - name: {{ name | lower }} + name: {{ name|lower }} version: {{ version }} source: @@ -12,16 +12,17 @@ source: build: number: 0 - skip: True # [osx] + run_exports: + - {{ pin_subpackage('rnaquast', max_pin="x") }} requirements: run: - python - blast - - blat + - ucsc-blat - busco >=5 - emboss - - gmap <2021.02.22, >=2020.03.12 + - gmap >=2020.03.12 - gffutils - joblib - matplotlib-base @@ -31,16 +32,19 @@ requirements: test: commands: - - rnaQUAST.py --test - - makeblastdb -help - # test fa_coords from gmap - - ": | fa_coords | grep 'Error: No contigs were read in.'" + - rnaQUAST.py --help about: - summary: rnaQUAST is a tool for evaluating RNA-Seq assemblies using reference genome and gene database. In addition, rnaQUAST is also capable of estimating gene database coverage by raw reads and de novo quality assessment using third-party software. - home: http://cab.spbu.ru/software/rnaquast/ - license: GPLv2 + summary: "rnaQUAST is a tool for evaluating RNA-Seq assemblies using reference genome and gene database. In addition, rnaQUAST is also capable of estimating gene database coverage by raw reads and de novo quality assessment using third-party software." + home: https://github.com/ablab/rnaquast + license: GPL-2.0-or-later + license_family: GPL + dev_url: https://github.com/ablab/rnaquast extra: skip-lints: - should_be_noarch_generic + identifiers: + - doi:10.1093/bioinformatics/btw218 + - biotools:rnaQUAST + - usegalaxy-eu:rna_quast diff --git a/recipes/rnashapes/build.sh b/recipes/rnashapes/build.sh index f56990dd3f74e..493ed0cc387a1 100644 --- a/recipes/rnashapes/build.sh +++ b/recipes/rnashapes/build.sh @@ -1,5 +1,5 @@ -#!/bin/sh -make PREFIX=$PREFIX CC=$CC -C Misc/Applications/RNAshapes all +#!/bin/bash +make -j ${CPU_COUNT} PREFIX=$PREFIX CC=$CC -C Misc/Applications/RNAshapes all make PREFIX=$PREFIX CC=$CC -C Misc/Applications/RNAshapes install-program make PREFIX=$PREFIX CC=$CC -C Misc/Applications/lib install chmod +x $PREFIX/bin/RNA* diff --git a/recipes/rnashapes/meta.yaml b/recipes/rnashapes/meta.yaml index 59e8e9b425b5b..0ba59f74cfb57 100644 --- a/recipes/rnashapes/meta.yaml +++ b/recipes/rnashapes/meta.yaml @@ -1,32 +1,36 @@ -{% set version = "3.3.2" %} -{% set sha256 = "da7371378e32b2329da226be79a11974fdc4e66fe0b664757b5aafe29e2e12d6" %} +{% set fold_grammars_version = "2.3.1" %} +{% set rnashapes_version = "3.4.0" %} +{% set packagename = "rnashapes" %} +{% set sha256 = "0c5b7d91893d0a23189f4af3602e18f110f030eac49a3658f7acede23596fde0" %} package: - name: rnashapes - version: 3.3.2 + name: {{ packagename }} + version: {{ rnashapes_version }} source: sha256: {{ sha256 }} # the repository "fold-grammars" contains sources for several programs, i.e. pKiss, RNAshapes, ... - # thus, the version number does not correspond to the RNAshapes version number - url: https://github.com/jlab/fold-grammars/archive/2.2.14.tar.gz + # thus, the version number does not correspond to the {{ packagename }} version number + url: https://github.com/jlab/fold-grammars/archive/{{ fold_grammars_version }}.tar.gz build: - number: 3 - skip: False # [osx] + number: 1 + run_exports: + - {{ pin_subpackage('rnashapes', max_pin="x") }} requirements: build: - make - {{ compiler('cxx') }} + - libcxx <17 # [osx] host: - perl - - bellmans-gapc >=2021.04.28 + - bellmans-gapc >=2024.01.12 - libopenblas + - libcxx <17 # [osx] run: - - {{ compiler('cxx') }} - perl - - bellmans-gapc >=2021.04.28 + - bellmans-gapc >=2024.01.12 - libopenblas test: @@ -35,8 +39,8 @@ test: - RNAshapes CGCAUGCUAGUCGCG about: - home: https://bibiserv.cebitec.uni-bielefeld.de/rnashapes - license: 'GPLv3+' + home: https://bibiserv.cebitec.uni-bielefeld.de/{{ packagename }} + license: 'GPL-3.0-or-later' license_file: LICENSE summary: "RNAshape abstraction maps structures to a tree-like domain of shapes, retaining adjacency and nesting of structural features, but disregarding helix @@ -46,5 +50,7 @@ about: account of properties of the molecule's folding space." extra: + additional-platforms: + - linux-aarch64 identifiers: - doi:10.1093/bioinformatics/btu649 diff --git a/recipes/rnastructure/meta.yaml b/recipes/rnastructure/meta.yaml index d994092a66833..10976d6e6a4e0 100644 --- a/recipes/rnastructure/meta.yaml +++ b/recipes/rnastructure/meta.yaml @@ -1,13 +1,19 @@ +{% set name = "RNAstructure" %} +{% set version = "6.4" %} +{% set sha256 = "e2a372a739153293185eeffee3d3265f9f50dc6976053a1d013ccf086b06d975" %} + package: - name: rnastructure - version: '6.3' + name: {{ name | lower }} + version: {{ version }} source: - sha256: e922591ceaa99e0db8ab4572a8716ff625fc0109906650415e92d099d927b310 - url: http://rna.urmc.rochester.edu/Releases/6.3/RNAstructureSource.tgz + sha256: {{ sha256 }} + url: http://rna.urmc.rochester.edu/Releases/{{ version }}/RNAstructureSource.tgz build: - number: 3 + number: 0 + run_exports: + - {{ pin_subpackage(name | lower, max_pin="x.x") }} requirements: build: diff --git a/recipes/rnavirhost/meta.yaml b/recipes/rnavirhost/meta.yaml new file mode 100644 index 0000000000000..d0b9a19a495f6 --- /dev/null +++ b/recipes/rnavirhost/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "rnavirhost" %} +{% set version = "1.0.5" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: 09b903653fd85eba8479be866d4f4c3b29e37b6920c2581864a278acc35fb2e6 + +build: + number: 0 + noarch: python + entry_points: + - rnavirhost = rnavirhost.rnavirhost:main + script: "{{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation" + run_exports: + - {{ pin_subpackage('rnavirhost', max_pin="x") }} + +requirements: + host: + - pip + - python + run: + - biopython >=1.83 + - numpy >=1.23.5 + - pandas >=2.0.3 + - python + - scikit-learn >=1.1.3 + - xgboost >=1.7.4 + - prodigal >=2.6.3 + - blast >=2.12.0 + +test: + imports: + - rnavirhost + - rnavirhost.modules + commands: + - rnavirhost --help + +about: + home: "https://github.com/GreyGuoweiChen/VirHost.git" + license: MIT + license_family: MIT + summary: "RNAVirHost: a machine learning-based method for predicting hosts of RNA viruses through viral genomes" + +extra: + recipe-maintainers: + - GreyGuoweiChen diff --git a/recipes/roadies/build.sh b/recipes/roadies/build.sh new file mode 100644 index 0000000000000..201708dac381b --- /dev/null +++ b/recipes/roadies/build.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +# Debugging: Print current directory and list its contents +echo "Current directory: $(pwd)" +echo "Contents:" +ls -al + +mkdir -p $PREFIX/ROADIES + +# Download and setup ASTER repository if not already done +if [ ! -d "ASTER-Linux" ]; then + wget -q https://github.com/chaoszhang/ASTER/archive/refs/heads/Linux.zip -O Linux.zip + unzip -q Linux.zip + cd ASTER-Linux + $CXX -D CASTLES -std=gnu++11 -march=native -Ofast -pthread src/astral-pro.cpp -o bin/astral-pro2 + cd .. +fi + +# Build sampling code +if [ ! -d "workflow/scripts/sampling/build" ]; then + cd workflow/scripts/sampling + mkdir -p build + cd build + cmake .. -DCMAKE_INSTALL_PREFIX=$PREFIX + make + cd ../../../.. +fi + +mkdir -p pasta + + +# Debugging: Print current directory and list its contents before copying +echo "Current directory before copying ROADIES: $(pwd)" +echo "Contents before copying ROADIES:" +ls -al + +# Copy the entire ROADIES directory to the PREFIX directory +cp -r . $PREFIX/ROADIES + +# Debugging: Verify the contents of the PREFIX directory +echo "Contents of PREFIX:" +ls -al $PREFIX \ No newline at end of file diff --git a/recipes/roadies/meta.yaml b/recipes/roadies/meta.yaml new file mode 100644 index 0000000000000..731f2471a53d3 --- /dev/null +++ b/recipes/roadies/meta.yaml @@ -0,0 +1,70 @@ +{% set version = "0.1.4" %} + +package: + name: roadies + version: {{ version }} + +source: + url: https://github.com/TurakhiaLab/ROADIES/archive/v{{ version }}.tar.gz + sha256: e3b4b89f247824c4b61e790f094320624bde47e295e2158a9ad83c05dfa83d54 + +build: + number: 0 + run_exports: + - {{ pin_subpackage("roadies", max_pin=None) }} + +requirements: + build: + - {{ compiler('cxx') }} + - cmake + - make + - wget + - unzip + - openjdk >=1.7 + + host: + - python ==3.9 + - pip + - libboost-devel + - zlib + run: + - python ==3.9 + - biopython + - numpy + - libboost-devel + - pip + - matplotlib-base + - seaborn + - ete3 + - pyyaml + - raxml-ng + - snakemake + - pasta >=1.9.0 + - mashtree + - treeswift >=1.1.28 + - fasttree >=2.1.11 + - alive-progress + +test: + commands: + - python $PREFIX/ROADIES/run_roadies.py --help + +about: + home: "https://github.com/TurakhiaLab/ROADIES" + license: MIT + license_family: MIT + license_file: LICENSE + doc_url: "https://turakhia.ucsd.edu/ROADIES/" + summary: "Reference-free Orthology-free Alignment-free DIscordance aware Estimation of Species tree (ROADIES)" + description: | + ROADIES is an end-to-end pipeline designed for phylogenetic tree inference of the species directly from their raw genomic assemblies. ROADIES offers a fully automated, easy-to-use, scalable solution, eliminating any error-prone manual steps and providing unique flexibility in adjusting the tradeoff between accuracy and runtime. + +extra: + recipe-maintainers: + - ang037 + identifiers: + - doi:10.1101/2024.05.27.596098 + edam: + topic: Phylogenetics + operation: Species tree estimation + \ No newline at end of file diff --git a/recipes/robust-bias-aware/meta.yaml b/recipes/robust-bias-aware/meta.yaml new file mode 100644 index 0000000000000..acc4799297c89 --- /dev/null +++ b/recipes/robust-bias-aware/meta.yaml @@ -0,0 +1,49 @@ +{% set name = "robust-bias-aware" %} +{% set version = "0.0.1" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://github.com/lspindler2509/robust_bias_aware_pip_package/archive/refs/tags/v{{ version }}-xi.tar.gz" + sha256: 182c413b2f39b34d89fec657afdcf350a1c1a7b9f75b799746a3c0a18ce40744 + +build: + number: 1 + script: + - "{{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation" + - mkdir -p $PREFIX/site-packages + - cp -r $SRC_DIR/robust_bias_aware/* $PREFIX/site-packages + noarch: python + run_exports: + - {{ pin_subpackage('robust-bias-aware', max_pin="x.x") }} + +requirements: + build: + - python + - setuptools + host: + - pip >=3.7 + - python + + run: + - numpy >=1.26.4 + - matplotlib-base >=3.2.2 + - pandas >=1.3.5 + - networkx >=2.6.3 + - pcst-fast + - python >=3.7 + + +test: + commands: + - robust-bias-aware --help + + +about: + home: https://github.com/bionetslab/robust_bias_aware_pip_package + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE + summary: "Robust bias aware." diff --git a/recipes/ropebwt2/build.sh b/recipes/ropebwt2/build.sh index 130aa7c8d4c6e..d995933f9df74 100644 --- a/recipes/ropebwt2/build.sh +++ b/recipes/ropebwt2/build.sh @@ -1,6 +1,8 @@ #!/bin/bash -make \ +set -xe + +make -j ${CPU_COUNT} \ CC="${CC}" \ CFLAGS="${CFLAGS} -fcommon -g -Wall -O2" \ LIBS="${LDFLAGS} -lz -lpthread" diff --git a/recipes/ropebwt2/meta.yaml b/recipes/ropebwt2/meta.yaml index 40701fefa403b..c8b6fc409490d 100644 --- a/recipes/ropebwt2/meta.yaml +++ b/recipes/ropebwt2/meta.yaml @@ -3,7 +3,9 @@ package: version: "r187" build: - number: 8 + number: 9 + run_exports: + - {{ pin_subpackage('ropebwt2', max_pin="x.x.x") }} source: url: https://github.com/lh3/ropebwt2/archive/e23a7df263571c02aa0c0434e623108482097e3d.tar.gz @@ -28,3 +30,7 @@ about: license: MIT license_file: LICENSE.txt summary: Incremental construction of FM-index for DNA sequences + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/ropebwt3/build.sh b/recipes/ropebwt3/build.sh new file mode 100644 index 0000000000000..5937aa9f2776c --- /dev/null +++ b/recipes/ropebwt3/build.sh @@ -0,0 +1,10 @@ +#!/bin/bash -xe + +make -j ${CPU_COUNT} \ + CC="${CC}" \ + CFLAGS="${CFLAGS} -fcommon -g -Wall -Wc++-compat -O3" \ + LIBS="${LDFLAGS} -lz -lpthread -lm -fopenmp" + +mkdir -p "${PREFIX}/bin" +chmod 0755 ropebwt3 +mv ropebwt3 "${PREFIX}/bin/" diff --git a/recipes/ropebwt3/meta.yaml b/recipes/ropebwt3/meta.yaml new file mode 100644 index 0000000000000..8128c0239fb51 --- /dev/null +++ b/recipes/ropebwt3/meta.yaml @@ -0,0 +1,42 @@ +{% set name = "ropebwt3" %} +{% set version = "3.7" %} + +package: + name: {{ name }} + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage('ropebwt3', max_pin="x") }} + +source: + url: https://github.com/lh3/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: 10a8f2974b5117a62bb490c231bd2539826cedea458798acd3273dc7b6baf9b8 + +requirements: + build: + - make + - {{ compiler('c') }} + host: + - zlib + - libgomp # [linux] + - llvm-openmp # [osx] + +test: + commands: + - "ropebwt3 version /dev/null 2>&1" + +about: + home: "https://github.com/lh3/ropebwt3" + license: MIT + license_family: MIT + license_file: "LICENSE.txt" + summary: "Constructs the FM-index of a large DNA sequence set and searches for matches against the FM-index." + dev_url: "https://github.com/lh3/ropebwt3" + doc_url: "https://github.com/lh3/ropebwt3/blob/v{{ version }}/README.md" + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/rosella/meta.yaml b/recipes/rosella/meta.yaml index 792250cabb4fe..e6db3e56acfad 100644 --- a/recipes/rosella/meta.yaml +++ b/recipes/rosella/meta.yaml @@ -1,6 +1,6 @@ -{% set version = "0.5.1" %} +{% set version = "0.5.4" %} {% set name = "rosella" %} -{% set hash = "6fa50c3c82a0e792ad9e44abb814992753732d169e99f74b228a834d822f1a8c" %} +{% set hash = "6e398c335bf23ae55c1ea472d234c706fa7095769e87eb28f213c4950de08cb3" %} package: name: rosella diff --git a/recipes/rpbp/meta.yaml b/recipes/rpbp/meta.yaml index cedf941c1abde..d4c9bab5756d3 100644 --- a/recipes/rpbp/meta.yaml +++ b/recipes/rpbp/meta.yaml @@ -1,17 +1,19 @@ -{% set version = "3.0.2" %} +{% set name = "rpbp" %} +{% set version = "3.0.4" %} +{% set sha256 = "f449f130383f0f82c728ac47ca8bfd3d4bcf4e4d7fbc256a7be922fbcf4be473" %} package: - name: rpbp - version: '{{version}}' + name: {{ name }} + version: {{ version }} source: - url: https://github.com/dieterich-lab/rp-bp/archive/{{version}}.tar.gz - sha256: dbc72c8dba6f33478089ec9ac7ca9b29092887c3d196af4bd3565491851da7a2 + url: https://github.com/dieterich-lab/rp-bp/archive/{{ version }}.tar.gz + sha256: {{ sha256 }} build: - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vvv && compile-rpbp-models" number: 1 - skip: True # [py27 or py36] + skip: True # [py >= 311 ] + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv && compile-rpbp-models" entry_points: - extract-orf-coordinates = rpbp.reference_preprocessing.extract_orf_coordinates:main - label-orfs = rpbp.reference_preprocessing.label_orfs:main @@ -41,14 +43,16 @@ build: - compile-rpbp-models = rpbp.ribo_utils.compile_rpbp_models:main - create-read-length-orf-profiles = rpbp.analysis.profile_construction.create_read_length_orf_profiles:main - collect-read-length-orf-profiles = rpbp.analysis.profile_construction.collect_read_length_orf_profiles:main + run_exports: + - {{ pin_subpackage('rpbp', max_pin='x') }} requirements: build: - {{ compiler('cxx') }} host: - python - - cmdstanpy >=1.0.0 - pip + - cmdstanpy >=1.0.0 run: - python - biopython @@ -62,7 +66,7 @@ requirements: - joblib - numpy - pandas - - pbiotools >=4.0.1 + - pbiotools >=4.0.2 - pyyaml - samtools - scipy @@ -109,8 +113,14 @@ test: - collect-read-length-orf-profiles --help about: - home: https://github.com/dieterich-lab/rp-bp + home: "https://github.com/dieterich-lab/rp-bp" license: MIT license_family: MIT license_file: LICENSE - summary: Ribosome profiling with Bayesian predictions (Rp-Bp) + summary: "Ribosome profiling with Bayesian predictions (Rp-Bp)" + dev_url: "https://github.com/dieterich-lab/rp-bp" + doc_url: "https://rp-bp.readthedocs.io/en/latest" + +extra: + identifiers: + - doi:10.1093/nar/gkw1350 diff --git a/recipes/rpsbproc/LICENSE b/recipes/rpsbproc/LICENSE new file mode 100644 index 0000000000000..f31cbe98a9f46 --- /dev/null +++ b/recipes/rpsbproc/LICENSE @@ -0,0 +1,19 @@ + PUBLIC DOMAIN NOTICE + National Center for Biotechnology Information + +This software/database is a "United States Government Work" under the +terms of the United States Copyright Act. It was written as part of +the author's official duties as a United States Government employee and +thus cannot be copyrighted. This software/database is freely available +to the public for use. The National Library of Medicine and the U.S. +Government have not placed any restriction on its use or reproduction. + +Although all reasonable efforts have been taken to ensure the accuracy +and reliability of the software and data, the NLM and the U.S. +Government do not and cannot warrant the performance or results that +may be obtained by using this software or data. The NLM and the U.S. +Government disclaim all warranties, express or implied, including +warranties of performance, merchantability or fitness for any particular +purpose. + +Please cite the author in any work or product based on this material. diff --git a/recipes/rpsbproc/build.sh b/recipes/rpsbproc/build.sh new file mode 100755 index 0000000000000..dbaea1d1ac5e7 --- /dev/null +++ b/recipes/rpsbproc/build.sh @@ -0,0 +1,165 @@ +#!/bin/bash + +set -o xtrace +set -o errexit +set -o nounset +set -o pipefail + + +# For debugging ./configure +cat << EOF >&2 +ENVIRONMENT +----------- +uname -a $(uname -a) + KERNEL +uname -s $(uname -s) +uname -r $(uname -r) +uname -v $(uname -v) + ARCHITECTURE +uname -m $(uname -m) +EOF + + +# Source paths +NCBI_CXX_TOOLKIT="$SRC_DIR/ncbi_cxx/c++" +RPSBPROC_SRC="$SRC_DIR/rpsbproc" +# Work directory +RESULT_PATH="$NCBI_CXX_TOOLKIT/Release" + + +# C/C++ preprocessor header includes paths +export CPPFLAGS="$CPPFLAGS -I$PREFIX/include" +# Linker library paths +export LDFLAGS="$LDFLAGS -L$PREFIX/lib" +# C++ compiler flags +if [[ "$(uname)" = "Darwin" ]]; then + # See https://conda-forge.org/docs/maintainer/knowledge_base.html#newer-c-features-with-old-sdk for -D_LIBCPP_DISABLE_AVAILABILITY + export CXXFLAGS="$CXXFLAGS -D_LIBCPP_DISABLE_AVAILABILITY" +fi + + +# Embed RpsbProc into the NCBI C++ toolkit source tree +mkdir "$NCBI_CXX_TOOLKIT/src/app/RpsbProc" +cp -rf "$RPSBPROC_SRC/src/"* "$NCBI_CXX_TOOLKIT/src/app/RpsbProc/" + + +# Configuration synopsis: +# https://ncbi.github.io/cxx-toolkit/pages/ch_config.html#ch_config.ch_configget_synopsi +# Run `./configure --help` for all flags. +CONFIGURE_FLAGS="--with-build-root=$RESULT_PATH" + +# Platform-independent flags +## BUILD CHAIN OPTIONS +# --with(out)-bin-release: +# Build executables suitable for public release +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --with-bin-release" +# --with(out)-debug: +# Build non-debug versions of libs and apps. +# Strips -D_DEBUG and -g, engage -DNDEBUG and -O. +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-debug" +# --with(out)-strip: +# Strip binaries at build time (remove debugging symbols) +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --with-strip" +# --with-experimental={ChaosMonkey,Int4GI,Int8GI,StrictGI,PSGLoader,BM64,C++20,C2X}: +# Enable named experimental feature (comma-separated list): +# - ChaosMonkey Enable "ChaosMonkey" failure testing. +# - Int4GI Use a simple 32-bit type for GI numbers. +# - Int8GI Use a simple 64-bit type for GI numbers. +# - StrictGI Use a strict 64-bit type for GI numbers. +# - PSGLoader Let the GenBank date loader use PubSeq Gateway (PSG). +# - BM64 Use 64-bit bitset indices. +# - C++20 Use '-std=gnu++20' compiler flag. +# - C2X Use '-std=gnu2x' compiler flag. +# See c++/src/build-system/configure.ac lines 1020:1068 for the named options. +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --with-experimental=Int4GI" +# --with(out)-mt: +# Compile in a multi-threading safe manner. +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --with-mt" +# --with(out)-autodep: +# Do not automatically generate dependencies (one time build). +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-autodep" +# --with(out)-makefile-auto-update: +# Do not auto-update generated makefiles (one time build). +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-makefile-auto-update" +# --with(out)-flat-makefile: +# Generate an all-encompassing flat makefile. +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --with-flat-makefile" +# --with(out)-caution: +# Proceed configuration without asking when in doubt. +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-caution" +# --with(out)-sse42 +# Disable SSE 4.2 when optimizing. +# Old CPU's (read: 10+ years) don't have this instruction set. +# We can consider removing this. +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-sse42" + +## LIBRARIES +# --with(out)-lzo: +# Do not add lzo support (compression lib, req. lzo >2.x). +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-lzo" +# --with(out)-z: +# Set zlib path (compression lib). +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --with-z=$PREFIX" +# --with(out)-bz2: +# Set bzlib path (compression lib). +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --with-bz2=$PREFIX" +# --with(out)-sqlite3: +# Set sqlite3 path (local database lib). +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --with-sqlite3=$PREFIX" +# --with(out)-krb5: +# Do not use Kerberos 5 (needed on OSX). +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-krb5" +# --with(out)-gnutls: +# Do not use gnutls. +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-gnutls" +# --with(out)-boost: +# Do not use Boost. +# It tries to search for it and prints some warnings, so might as well tell it beforehand. +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-boost" +# --with(out)-pcre: +# Do not use pcre (Perl regex). +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-pcre" +# Static linking of libraries +CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-dll --with-static-exe" + +# Platform-specific flags +if [[ "$(uname)" = "Linux" ]]; then + # --with(out)-64: + # Compile in 64-bit mode instead of 32-bit. + # Flag not available for osx build. + CONFIGURE_FLAGS="$CONFIGURE_FLAGS --with-64" + # --with(out)-openmp: + # Enable OpenMP extensions for all projects. + # Does not work without hacks for OSX + CONFIGURE_FLAGS="$CONFIGURE_FLAGS --with-openmp" +else + # --with(out)-openmp: + # Disable OpenMP extensions for all projects. + CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-openmp" + # --with(out)-gcrypt: + # Do not use gcrypt (needed on OSX). + CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-gcrypt" + # --with(out)-zstd: + # Do not use Zstandard. + CONFIGURE_FLAGS="$CONFIGURE_FLAGS --without-zstd" +fi + +# Fixes building on unix (linux and osx) +export AR="${AR} rcs" + +# Run configure script +cd "$NCBI_CXX_TOOLKIT" +./configure.orig $CONFIGURE_FLAGS >&2 + +# Run GNU Make +cd "$RESULT_PATH/build" +echo "RUNNING MAKE" >&2 +make -j1 -f Makefile.flat rpsbproc.exe >&2 + +# Copy compiled binaries to the Conda $PREFIX +mkdir -p "$PREFIX/bin" +chmod +x "$RESULT_PATH/bin/"* +cp "$RESULT_PATH/bin/rpsbproc"* "$PREFIX/bin/" + +# Extra log to check results +ls -lhAF "$PREFIX/bin/" diff --git a/recipes/rpsbproc/configurellvm.patch b/recipes/rpsbproc/configurellvm.patch new file mode 100644 index 0000000000000..83a44bc1372b2 --- /dev/null +++ b/recipes/rpsbproc/configurellvm.patch @@ -0,0 +1,37 @@ +# fix OSX build issue +# see issue #20874 for more info +diff -ruN c++/src/build-system/configure c++/src/build-system/configure +--- c++/src/build-system/configure 2023-05-03 08:56:44.398601956 +0200 ++++ c++/src/build-system/configure 2023-05-03 09:34:41.470127549 +0200 +@@ -9573,10 +9573,12 @@ + CONF_loadable_ext=".dylib" + fi + if test "$compiler" = AppleClang \ +- || ("$compiler" = GCC && $CXX -v 2>&1 | grep -q Apple) ; then ++ || test "$compiler" = LLVMClang \ ++ || (test "$compiler" = GCC && $CXX -v 2>&1 | grep -i -q Apple) ; then + CFLAGS="-fpascal-strings $CFLAGS" + CXXFLAGS="-fpascal-strings $CXXFLAGS" +- if test "$compiler" = AppleClang; then ++ if test "$compiler" = AppleClang \ ++ || test "$compiler" = LLVMClang; then + try_old_sdks=no + else + try_old_sdks=$with_ncbi_public +@@ -9983,7 +9985,7 @@ + else + ac_cv_header_stdc=no + fi +-rm -f conftest* ++rm -rf conftest* + + fi + +@@ -10000,7 +10002,7 @@ + else + ac_cv_header_stdc=no + fi +-rm -f conftest* ++rm -rf conftest* + + fi diff --git a/recipes/rpsbproc/meta.yaml b/recipes/rpsbproc/meta.yaml new file mode 100644 index 0000000000000..e6f28433383b3 --- /dev/null +++ b/recipes/rpsbproc/meta.yaml @@ -0,0 +1,83 @@ +{% set name = "rpsbproc" %} +{% set version = "0.5.0" %} +{% set sha256 = "8b29f7e7d0a0654d10943e362557ed2d8df9a16218a4c8441c4dea4e7dc9154f" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + - url: https://ftp.ncbi.nih.gov/pub/mmdb/cdd/rpsbproc/RpsbProc-src.tar.gz + sha256: {{ sha256 }} + folder: rpsbproc + patches: + - normbase.patch + + # Get the last supported BLAST version (contains a subset of the NCBI-CXX toolchain), + # required for building. + - url: https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.15.0/ncbi-blast-2.15.0+-src.tar.gz + sha256: 6918c370524c8d44e028bf491e8f245a895e07c66c77b261ce3b38d6058216e0 + folder: ncbi_cxx + patches: + - configurellvm.patch + - phonehome.patch + - update_configsub.patch + +build: + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + build: + - make + - {{ compiler('c') }} + - {{ compiler('cxx') }} + host: + - zlib + - bzip2 + # required as of blast-2.15.0 + - sqlite >=3.6.6 + # no runtime dependencies as it's statically linked (except standard libs) + run: + + +test: + commands: + - rpsbproc -version-full + +about: + home: https://ftp.ncbi.nih.gov/pub/mmdb/cdd/rpsbproc/README + license: Public Domain + license_file: LICENSE + summary: RpsbProc, the post-RPSBLAST Processing Utility. + description: | + The rpsbproc command line utility is an addition to the standalone version of + Reverse Position-Specific BLAST (RPS-BLAST), also known as CD-Search (Conserved + Domain Search). + + It post-processes the results of local RPS-BLAST searches in order to provide a + non-redundant view of the search results, and to provide additional annotation + on query sequences, such as domain superfamilies and functional sites, similar to + the annotation provided by the corresponding web services (e.g., the NCBI Batch + CD-Search web service at + http://www.ncbi.nlm.nih.gov/Structure/bwrpsb/bwrpsb.cgi). + + Specifically, the rpsbproc utility reads the output of rpsblast/rpstblastn, + fills in domain superfamily and functional site information for each region of + the sequence, re-sorts the hits by a different standard, and calculates a + set of non-redundent representative hits. In this way, it turns the + raw alignments into domain/site annotations on the query sequence at different + redundancy level, basically produce the same data as web-based Batch CD-Search + service does. The annotation data is presented in tab-delimited tables to be processed + either programatically or manually with a spreadsheet (see details below). + + See the CDD and CD-Search help document for additional details about + superfamilies, conserved sites, and more: + + http://www.ncbi.nlm.nih.gov/Structure/cdd/cdd_help.shtml + + +extra: + identifiers: + - doi:10.1002/cpbi.90 diff --git a/recipes/blast/normbase.patch b/recipes/rpsbproc/normbase.patch similarity index 100% rename from recipes/blast/normbase.patch rename to recipes/rpsbproc/normbase.patch diff --git a/recipes/rpsbproc/phonehome.patch b/recipes/rpsbproc/phonehome.patch new file mode 100644 index 0000000000000..a02e55a0ad186 --- /dev/null +++ b/recipes/rpsbproc/phonehome.patch @@ -0,0 +1,11 @@ +--- c++/include/connect/ncbi_usage_report.hpp 2020-09-25 19:21:05 +0200 ++++ c++/include/connect/ncbi_usage_report.hpp 2022-07-18 23:39:42 +0200 +@@ -39,7 +39,7 @@ + // API is available for MT builds only, + // for single thread builds all API is available but disabled. + #if defined(NCBI_THREADS) +-# define NCBI_USAGE_REPORT_SUPPORTED 1 ++// # define NCBI_USAGE_REPORT_SUPPORTED 1 + #endif + + #if defined(NCBI_USAGE_REPORT_SUPPORTED) diff --git a/recipes/rpsbproc/update_configsub.patch b/recipes/rpsbproc/update_configsub.patch new file mode 100644 index 0000000000000..d4dfa0bd35e7d --- /dev/null +++ b/recipes/rpsbproc/update_configsub.patch @@ -0,0 +1,3207 @@ +# Update config.sub to a modern version that recognises osx-arm64 +--- c++/src/build-system/config.sub ++++ c++/src/build-system/config.sub +@@ -1,12 +1,14 @@ + #! /bin/sh + # Configuration validation subroutine script. +-# Copyright 1992-2013 Free Software Foundation, Inc. ++# Copyright 1992-2024 Free Software Foundation, Inc. + +-timestamp='2013-02-12' ++# shellcheck disable=SC2006,SC2268 # see below for rationale ++ ++timestamp='2024-01-01' + + # This file is free software; you can redistribute it and/or modify it + # under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 3 of the License, or ++# the Free Software Foundation, either version 3 of the License, or + # (at your option) any later version. + # + # This program is distributed in the hope that it will be useful, but +@@ -15,7 +17,7 @@ timestamp='2013-02-12' + # General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, see . ++# along with this program; if not, see . + # + # As a special exception to the GNU General Public License, if you + # distribute this file as part of a program that contains a +@@ -25,7 +27,7 @@ timestamp='2013-02-12' + # of the GNU General Public License, version 3 ("GPLv3"). + + +-# Please send patches with a ChangeLog entry to config-patches@gnu.org. ++# Please send patches to . + # + # Configuration subroutine to validate and canonicalize a configuration type. + # Supply the specified configuration type as an argument. +@@ -33,7 +35,7 @@ timestamp='2013-02-12' + # Otherwise, we print the canonical config type on stdout and succeed. + + # You can get the latest version of this script from: +-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD ++# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub + + # This file is supposed to be the same for all GNU packages + # and recognize all the CPU types, system types and aliases +@@ -50,15 +52,21 @@ timestamp='2013-02-12' + # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM + # It is wrong to echo any other type of specification. + ++# The "shellcheck disable" line above the timestamp inhibits complaints ++# about features and limitations of the classic Bourne shell that were ++# superseded or lifted in POSIX. However, this script identifies a wide ++# variety of pre-POSIX systems that do not have POSIX shells at all, and ++# even some reasonably current systems (Solaris 10 as case-in-point) still ++# have a pre-POSIX /bin/sh. ++ + me=`echo "$0" | sed -e 's,.*/,,'` + + usage="\ +-Usage: $0 [OPTION] CPU-MFR-OPSYS +- $0 [OPTION] ALIAS ++Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS + + Canonicalize a configuration name. + +-Operation modes: ++Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit +@@ -68,13 +76,13 @@ Report bugs and patches to ." + version="\ + GNU config.sub ($timestamp) + +-Copyright 1992-2013 Free Software Foundation, Inc. ++Copyright 1992-2024 Free Software Foundation, Inc. + + This is free software; see the source for copying conditions. There is NO + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + + help=" +-Try \`$me --help' for more information." ++Try '$me --help' for more information." + + # Parse command line + while test $# -gt 0 ; do +@@ -90,12 +98,12 @@ while test $# -gt 0 ; do + - ) # Use stdin as input. + break ;; + -* ) +- echo "$me: invalid option $1$help" ++ echo "$me: invalid option $1$help" >&2 + exit 1 ;; + + *local*) + # First pass through any local machine types. +- echo $1 ++ echo "$1" + exit ;; + + * ) +@@ -111,1209 +119,1167 @@ case $# in + exit 1;; + esac + +-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +-# Here we must recognize all the valid KERNEL-OS combinations. +-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +-case $maybe_os in +- nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ +- linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ +- knetbsd*-gnu* | netbsd*-gnu* | \ +- kopensolaris*-gnu* | \ +- storm-chaos* | os2-emx* | rtmk-nova*) +- os=-$maybe_os +- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` +- ;; +- android-linux) +- os=-linux-android +- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown +- ;; +- *) +- basic_machine=`echo $1 | sed 's/-[^-]*$//'` +- if [ $basic_machine != $1 ] +- then os=`echo $1 | sed 's/.*-/-/'` +- else os=; fi +- ;; +-esac ++# Split fields of configuration type ++# shellcheck disable=SC2162 ++saved_IFS=$IFS ++IFS="-" read field1 field2 field3 field4 <&2 ++ exit 1 + ;; +- -ptx*) +- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ++ *-*-*-*) ++ basic_machine=$field1-$field2 ++ basic_os=$field3-$field4 + ;; +- -windowsnt*) +- os=`echo $os | sed -e 's/windowsnt/winnt/'` ++ *-*-*) ++ # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two ++ # parts ++ maybe_os=$field2-$field3 ++ case $maybe_os in ++ nto-qnx* | linux-* | uclinux-uclibc* \ ++ | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ ++ | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ ++ | storm-chaos* | os2-emx* | rtmk-nova* | managarm-* \ ++ | windows-* ) ++ basic_machine=$field1 ++ basic_os=$maybe_os ++ ;; ++ android-linux) ++ basic_machine=$field1-unknown ++ basic_os=linux-android ++ ;; ++ *) ++ basic_machine=$field1-$field2 ++ basic_os=$field3 ++ ;; ++ esac + ;; +- -psos*) +- os=-psos ++ *-*) ++ # A lone config we happen to match not fitting any pattern ++ case $field1-$field2 in ++ decstation-3100) ++ basic_machine=mips-dec ++ basic_os= ++ ;; ++ *-*) ++ # Second component is usually, but not always the OS ++ case $field2 in ++ # Prevent following clause from handling this valid os ++ sun*os*) ++ basic_machine=$field1 ++ basic_os=$field2 ++ ;; ++ zephyr*) ++ basic_machine=$field1-unknown ++ basic_os=$field2 ++ ;; ++ # Manufacturers ++ dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ ++ | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ ++ | unicom* | ibm* | next | hp | isi* | apollo | altos* \ ++ | convergent* | ncr* | news | 32* | 3600* | 3100* \ ++ | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ ++ | ultra | tti* | harris | dolphin | highlevel | gould \ ++ | cbm | ns | masscomp | apple | axis | knuth | cray \ ++ | microblaze* | sim | cisco \ ++ | oki | wec | wrs | winbond) ++ basic_machine=$field1-$field2 ++ basic_os= ++ ;; ++ *) ++ basic_machine=$field1 ++ basic_os=$field2 ++ ;; ++ esac ++ ;; ++ esac + ;; +- -mint | -mint[0-9]*) +- basic_machine=m68k-atari +- os=-mint ++ *) ++ # Convert single-component short-hands not valid as part of ++ # multi-component configurations. ++ case $field1 in ++ 386bsd) ++ basic_machine=i386-pc ++ basic_os=bsd ++ ;; ++ a29khif) ++ basic_machine=a29k-amd ++ basic_os=udi ++ ;; ++ adobe68k) ++ basic_machine=m68010-adobe ++ basic_os=scout ++ ;; ++ alliant) ++ basic_machine=fx80-alliant ++ basic_os= ++ ;; ++ altos | altos3068) ++ basic_machine=m68k-altos ++ basic_os= ++ ;; ++ am29k) ++ basic_machine=a29k-none ++ basic_os=bsd ++ ;; ++ amdahl) ++ basic_machine=580-amdahl ++ basic_os=sysv ++ ;; ++ amiga) ++ basic_machine=m68k-unknown ++ basic_os= ++ ;; ++ amigaos | amigados) ++ basic_machine=m68k-unknown ++ basic_os=amigaos ++ ;; ++ amigaunix | amix) ++ basic_machine=m68k-unknown ++ basic_os=sysv4 ++ ;; ++ apollo68) ++ basic_machine=m68k-apollo ++ basic_os=sysv ++ ;; ++ apollo68bsd) ++ basic_machine=m68k-apollo ++ basic_os=bsd ++ ;; ++ aros) ++ basic_machine=i386-pc ++ basic_os=aros ++ ;; ++ aux) ++ basic_machine=m68k-apple ++ basic_os=aux ++ ;; ++ balance) ++ basic_machine=ns32k-sequent ++ basic_os=dynix ++ ;; ++ blackfin) ++ basic_machine=bfin-unknown ++ basic_os=linux ++ ;; ++ cegcc) ++ basic_machine=arm-unknown ++ basic_os=cegcc ++ ;; ++ convex-c1) ++ basic_machine=c1-convex ++ basic_os=bsd ++ ;; ++ convex-c2) ++ basic_machine=c2-convex ++ basic_os=bsd ++ ;; ++ convex-c32) ++ basic_machine=c32-convex ++ basic_os=bsd ++ ;; ++ convex-c34) ++ basic_machine=c34-convex ++ basic_os=bsd ++ ;; ++ convex-c38) ++ basic_machine=c38-convex ++ basic_os=bsd ++ ;; ++ cray) ++ basic_machine=j90-cray ++ basic_os=unicos ++ ;; ++ crds | unos) ++ basic_machine=m68k-crds ++ basic_os= ++ ;; ++ da30) ++ basic_machine=m68k-da30 ++ basic_os= ++ ;; ++ decstation | pmax | pmin | dec3100 | decstatn) ++ basic_machine=mips-dec ++ basic_os= ++ ;; ++ delta88) ++ basic_machine=m88k-motorola ++ basic_os=sysv3 ++ ;; ++ dicos) ++ basic_machine=i686-pc ++ basic_os=dicos ++ ;; ++ djgpp) ++ basic_machine=i586-pc ++ basic_os=msdosdjgpp ++ ;; ++ ebmon29k) ++ basic_machine=a29k-amd ++ basic_os=ebmon ++ ;; ++ es1800 | OSE68k | ose68k | ose | OSE) ++ basic_machine=m68k-ericsson ++ basic_os=ose ++ ;; ++ gmicro) ++ basic_machine=tron-gmicro ++ basic_os=sysv ++ ;; ++ go32) ++ basic_machine=i386-pc ++ basic_os=go32 ++ ;; ++ h8300hms) ++ basic_machine=h8300-hitachi ++ basic_os=hms ++ ;; ++ h8300xray) ++ basic_machine=h8300-hitachi ++ basic_os=xray ++ ;; ++ h8500hms) ++ basic_machine=h8500-hitachi ++ basic_os=hms ++ ;; ++ harris) ++ basic_machine=m88k-harris ++ basic_os=sysv3 ++ ;; ++ hp300 | hp300hpux) ++ basic_machine=m68k-hp ++ basic_os=hpux ++ ;; ++ hp300bsd) ++ basic_machine=m68k-hp ++ basic_os=bsd ++ ;; ++ hppaosf) ++ basic_machine=hppa1.1-hp ++ basic_os=osf ++ ;; ++ hppro) ++ basic_machine=hppa1.1-hp ++ basic_os=proelf ++ ;; ++ i386mach) ++ basic_machine=i386-mach ++ basic_os=mach ++ ;; ++ isi68 | isi) ++ basic_machine=m68k-isi ++ basic_os=sysv ++ ;; ++ m68knommu) ++ basic_machine=m68k-unknown ++ basic_os=linux ++ ;; ++ magnum | m3230) ++ basic_machine=mips-mips ++ basic_os=sysv ++ ;; ++ merlin) ++ basic_machine=ns32k-utek ++ basic_os=sysv ++ ;; ++ mingw64) ++ basic_machine=x86_64-pc ++ basic_os=mingw64 ++ ;; ++ mingw32) ++ basic_machine=i686-pc ++ basic_os=mingw32 ++ ;; ++ mingw32ce) ++ basic_machine=arm-unknown ++ basic_os=mingw32ce ++ ;; ++ monitor) ++ basic_machine=m68k-rom68k ++ basic_os=coff ++ ;; ++ morphos) ++ basic_machine=powerpc-unknown ++ basic_os=morphos ++ ;; ++ moxiebox) ++ basic_machine=moxie-unknown ++ basic_os=moxiebox ++ ;; ++ msdos) ++ basic_machine=i386-pc ++ basic_os=msdos ++ ;; ++ msys) ++ basic_machine=i686-pc ++ basic_os=msys ++ ;; ++ mvs) ++ basic_machine=i370-ibm ++ basic_os=mvs ++ ;; ++ nacl) ++ basic_machine=le32-unknown ++ basic_os=nacl ++ ;; ++ ncr3000) ++ basic_machine=i486-ncr ++ basic_os=sysv4 ++ ;; ++ netbsd386) ++ basic_machine=i386-pc ++ basic_os=netbsd ++ ;; ++ netwinder) ++ basic_machine=armv4l-rebel ++ basic_os=linux ++ ;; ++ news | news700 | news800 | news900) ++ basic_machine=m68k-sony ++ basic_os=newsos ++ ;; ++ news1000) ++ basic_machine=m68030-sony ++ basic_os=newsos ++ ;; ++ necv70) ++ basic_machine=v70-nec ++ basic_os=sysv ++ ;; ++ nh3000) ++ basic_machine=m68k-harris ++ basic_os=cxux ++ ;; ++ nh[45]000) ++ basic_machine=m88k-harris ++ basic_os=cxux ++ ;; ++ nindy960) ++ basic_machine=i960-intel ++ basic_os=nindy ++ ;; ++ mon960) ++ basic_machine=i960-intel ++ basic_os=mon960 ++ ;; ++ nonstopux) ++ basic_machine=mips-compaq ++ basic_os=nonstopux ++ ;; ++ os400) ++ basic_machine=powerpc-ibm ++ basic_os=os400 ++ ;; ++ OSE68000 | ose68000) ++ basic_machine=m68000-ericsson ++ basic_os=ose ++ ;; ++ os68k) ++ basic_machine=m68k-none ++ basic_os=os68k ++ ;; ++ paragon) ++ basic_machine=i860-intel ++ basic_os=osf ++ ;; ++ parisc) ++ basic_machine=hppa-unknown ++ basic_os=linux ++ ;; ++ psp) ++ basic_machine=mipsallegrexel-sony ++ basic_os=psp ++ ;; ++ pw32) ++ basic_machine=i586-unknown ++ basic_os=pw32 ++ ;; ++ rdos | rdos64) ++ basic_machine=x86_64-pc ++ basic_os=rdos ++ ;; ++ rdos32) ++ basic_machine=i386-pc ++ basic_os=rdos ++ ;; ++ rom68k) ++ basic_machine=m68k-rom68k ++ basic_os=coff ++ ;; ++ sa29200) ++ basic_machine=a29k-amd ++ basic_os=udi ++ ;; ++ sei) ++ basic_machine=mips-sei ++ basic_os=seiux ++ ;; ++ sequent) ++ basic_machine=i386-sequent ++ basic_os= ++ ;; ++ sps7) ++ basic_machine=m68k-bull ++ basic_os=sysv2 ++ ;; ++ st2000) ++ basic_machine=m68k-tandem ++ basic_os= ++ ;; ++ stratus) ++ basic_machine=i860-stratus ++ basic_os=sysv4 ++ ;; ++ sun2) ++ basic_machine=m68000-sun ++ basic_os= ++ ;; ++ sun2os3) ++ basic_machine=m68000-sun ++ basic_os=sunos3 ++ ;; ++ sun2os4) ++ basic_machine=m68000-sun ++ basic_os=sunos4 ++ ;; ++ sun3) ++ basic_machine=m68k-sun ++ basic_os= ++ ;; ++ sun3os3) ++ basic_machine=m68k-sun ++ basic_os=sunos3 ++ ;; ++ sun3os4) ++ basic_machine=m68k-sun ++ basic_os=sunos4 ++ ;; ++ sun4) ++ basic_machine=sparc-sun ++ basic_os= ++ ;; ++ sun4os3) ++ basic_machine=sparc-sun ++ basic_os=sunos3 ++ ;; ++ sun4os4) ++ basic_machine=sparc-sun ++ basic_os=sunos4 ++ ;; ++ sun4sol2) ++ basic_machine=sparc-sun ++ basic_os=solaris2 ++ ;; ++ sun386 | sun386i | roadrunner) ++ basic_machine=i386-sun ++ basic_os= ++ ;; ++ sv1) ++ basic_machine=sv1-cray ++ basic_os=unicos ++ ;; ++ symmetry) ++ basic_machine=i386-sequent ++ basic_os=dynix ++ ;; ++ t3e) ++ basic_machine=alphaev5-cray ++ basic_os=unicos ++ ;; ++ t90) ++ basic_machine=t90-cray ++ basic_os=unicos ++ ;; ++ toad1) ++ basic_machine=pdp10-xkl ++ basic_os=tops20 ++ ;; ++ tpf) ++ basic_machine=s390x-ibm ++ basic_os=tpf ++ ;; ++ udi29k) ++ basic_machine=a29k-amd ++ basic_os=udi ++ ;; ++ ultra3) ++ basic_machine=a29k-nyu ++ basic_os=sym1 ++ ;; ++ v810 | necv810) ++ basic_machine=v810-nec ++ basic_os=none ++ ;; ++ vaxv) ++ basic_machine=vax-dec ++ basic_os=sysv ++ ;; ++ vms) ++ basic_machine=vax-dec ++ basic_os=vms ++ ;; ++ vsta) ++ basic_machine=i386-pc ++ basic_os=vsta ++ ;; ++ vxworks960) ++ basic_machine=i960-wrs ++ basic_os=vxworks ++ ;; ++ vxworks68) ++ basic_machine=m68k-wrs ++ basic_os=vxworks ++ ;; ++ vxworks29k) ++ basic_machine=a29k-wrs ++ basic_os=vxworks ++ ;; ++ xbox) ++ basic_machine=i686-pc ++ basic_os=mingw32 ++ ;; ++ ymp) ++ basic_machine=ymp-cray ++ basic_os=unicos ++ ;; ++ *) ++ basic_machine=$1 ++ basic_os= ++ ;; ++ esac + ;; + esac + +-# Decode aliases for certain CPU-COMPANY combinations. ++# Decode 1-component or ad-hoc basic machines + case $basic_machine in +- # Recognize the basic CPU types without company name. +- # Some are omitted here because they have special meanings below. +- 1750a | 580 \ +- | a29k \ +- | aarch64 | aarch64_be \ +- | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ +- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ +- | am33_2.0 \ +- | arc \ +- | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ +- | avr | avr32 \ +- | be32 | be64 \ +- | bfin \ +- | c4x | clipper \ +- | d10v | d30v | dlx | dsp16xx \ +- | epiphany \ +- | fido | fr30 | frv \ +- | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ +- | hexagon \ +- | i370 | i860 | i960 | ia64 \ +- | ip2k | iq2000 \ +- | le32 | le64 \ +- | lm32 \ +- | m32c | m32r | m32rle | m68000 | m68k | m88k \ +- | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ +- | mips | mipsbe | mipseb | mipsel | mipsle \ +- | mips16 \ +- | mips64 | mips64el \ +- | mips64octeon | mips64octeonel \ +- | mips64orion | mips64orionel \ +- | mips64r5900 | mips64r5900el \ +- | mips64vr | mips64vrel \ +- | mips64vr4100 | mips64vr4100el \ +- | mips64vr4300 | mips64vr4300el \ +- | mips64vr5000 | mips64vr5000el \ +- | mips64vr5900 | mips64vr5900el \ +- | mipsisa32 | mipsisa32el \ +- | mipsisa32r2 | mipsisa32r2el \ +- | mipsisa64 | mipsisa64el \ +- | mipsisa64r2 | mipsisa64r2el \ +- | mipsisa64sb1 | mipsisa64sb1el \ +- | mipsisa64sr71k | mipsisa64sr71kel \ +- | mipsr5900 | mipsr5900el \ +- | mipstx39 | mipstx39el \ +- | mn10200 | mn10300 \ +- | moxie \ +- | mt \ +- | msp430 \ +- | nds32 | nds32le | nds32be \ +- | nios | nios2 | nios2eb | nios2el \ +- | ns16k | ns32k \ +- | open8 \ +- | or1k | or32 \ +- | pdp10 | pdp11 | pj | pjl \ +- | powerpc | powerpc64 | powerpc64le | powerpcle \ +- | pyramid \ +- | rl78 | rx \ +- | score \ +- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ +- | sh64 | sh64le \ +- | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ +- | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ +- | spu \ +- | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ +- | ubicom32 \ +- | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ +- | we32k \ +- | x86 | xc16x | xstormy16 | xtensa \ +- | z8k | z80) +- basic_machine=$basic_machine-unknown +- ;; +- c54x) +- basic_machine=tic54x-unknown +- ;; +- c55x) +- basic_machine=tic55x-unknown +- ;; +- c6x) +- basic_machine=tic6x-unknown +- ;; +- m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) +- basic_machine=$basic_machine-unknown +- os=-none +- ;; +- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) +- ;; +- ms1) +- basic_machine=mt-unknown ++ # Here we handle the default manufacturer of certain CPU types. It is in ++ # some cases the only manufacturer, in others, it is the most popular. ++ w89k) ++ cpu=hppa1.1 ++ vendor=winbond + ;; +- +- strongarm | thumb | xscale) +- basic_machine=arm-unknown ++ op50n) ++ cpu=hppa1.1 ++ vendor=oki + ;; +- xgate) +- basic_machine=$basic_machine-unknown +- os=-none ++ op60c) ++ cpu=hppa1.1 ++ vendor=oki + ;; +- xscaleeb) +- basic_machine=armeb-unknown ++ ibm*) ++ cpu=i370 ++ vendor=ibm + ;; +- +- xscaleel) +- basic_machine=armel-unknown ++ orion105) ++ cpu=clipper ++ vendor=highlevel + ;; +- +- # We use `pc' rather than `unknown' +- # because (1) that's what they normally are, and +- # (2) the word "unknown" tends to confuse beginning users. +- i*86 | x86_64) +- basic_machine=$basic_machine-pc +- ;; +- # Object if more than one company name word. +- *-*-*) +- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 +- exit 1 ++ mac | mpw | mac-mpw) ++ cpu=m68k ++ vendor=apple + ;; +- # Recognize the basic CPU types with company name. +- 580-* \ +- | a29k-* \ +- | aarch64-* | aarch64_be-* \ +- | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ +- | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ +- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ +- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ +- | avr-* | avr32-* \ +- | be32-* | be64-* \ +- | bfin-* | bs2000-* \ +- | c[123]* | c30-* | [cjt]90-* | c4x-* \ +- | clipper-* | craynv-* | cydra-* \ +- | d10v-* | d30v-* | dlx-* \ +- | elxsi-* \ +- | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ +- | h8300-* | h8500-* \ +- | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ +- | hexagon-* \ +- | i*86-* | i860-* | i960-* | ia64-* \ +- | ip2k-* | iq2000-* \ +- | le32-* | le64-* \ +- | lm32-* \ +- | m32c-* | m32r-* | m32rle-* \ +- | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ +- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ +- | microblaze-* | microblazeel-* \ +- | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ +- | mips16-* \ +- | mips64-* | mips64el-* \ +- | mips64octeon-* | mips64octeonel-* \ +- | mips64orion-* | mips64orionel-* \ +- | mips64r5900-* | mips64r5900el-* \ +- | mips64vr-* | mips64vrel-* \ +- | mips64vr4100-* | mips64vr4100el-* \ +- | mips64vr4300-* | mips64vr4300el-* \ +- | mips64vr5000-* | mips64vr5000el-* \ +- | mips64vr5900-* | mips64vr5900el-* \ +- | mipsisa32-* | mipsisa32el-* \ +- | mipsisa32r2-* | mipsisa32r2el-* \ +- | mipsisa64-* | mipsisa64el-* \ +- | mipsisa64r2-* | mipsisa64r2el-* \ +- | mipsisa64sb1-* | mipsisa64sb1el-* \ +- | mipsisa64sr71k-* | mipsisa64sr71kel-* \ +- | mipsr5900-* | mipsr5900el-* \ +- | mipstx39-* | mipstx39el-* \ +- | mmix-* \ +- | mt-* \ +- | msp430-* \ +- | nds32-* | nds32le-* | nds32be-* \ +- | nios-* | nios2-* | nios2eb-* | nios2el-* \ +- | none-* | np1-* | ns16k-* | ns32k-* \ +- | open8-* \ +- | orion-* \ +- | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ +- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ +- | pyramid-* \ +- | rl78-* | romp-* | rs6000-* | rx-* \ +- | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ +- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ +- | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ +- | sparclite-* \ +- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ +- | tahoe-* \ +- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ +- | tile*-* \ +- | tron-* \ +- | ubicom32-* \ +- | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ +- | vax-* \ +- | we32k-* \ +- | x86-* | x86_64-* | xc16x-* | xps100-* \ +- | xstormy16-* | xtensa*-* \ +- | ymp-* \ +- | z8k-* | z80-*) +- ;; +- # Recognize the basic CPU types without company name, with glob match. +- xtensa*) +- basic_machine=$basic_machine-unknown ++ pmac | pmac-mpw) ++ cpu=powerpc ++ vendor=apple + ;; ++ + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. +- 386bsd) +- basic_machine=i386-unknown +- os=-bsd +- ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) +- basic_machine=m68000-att ++ cpu=m68000 ++ vendor=att + ;; + 3b*) +- basic_machine=we32k-att +- ;; +- a29khif) +- basic_machine=a29k-amd +- os=-udi +- ;; +- abacus) +- basic_machine=abacus-unknown +- ;; +- adobe68k) +- basic_machine=m68010-adobe +- os=-scout +- ;; +- alliant | fx80) +- basic_machine=fx80-alliant +- ;; +- altos | altos3068) +- basic_machine=m68k-altos +- ;; +- am29k) +- basic_machine=a29k-none +- os=-bsd +- ;; +- amd64) +- basic_machine=x86_64-pc +- ;; +- amd64-*) +- basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- amdahl) +- basic_machine=580-amdahl +- os=-sysv +- ;; +- amiga | amiga-*) +- basic_machine=m68k-unknown +- ;; +- amigaos | amigados) +- basic_machine=m68k-unknown +- os=-amigaos +- ;; +- amigaunix | amix) +- basic_machine=m68k-unknown +- os=-sysv4 +- ;; +- apollo68) +- basic_machine=m68k-apollo +- os=-sysv +- ;; +- apollo68bsd) +- basic_machine=m68k-apollo +- os=-bsd +- ;; +- aros) +- basic_machine=i386-pc +- os=-aros +- ;; +- aux) +- basic_machine=m68k-apple +- os=-aux +- ;; +- balance) +- basic_machine=ns32k-sequent +- os=-dynix +- ;; +- blackfin) +- basic_machine=bfin-unknown +- os=-linux +- ;; +- blackfin-*) +- basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` +- os=-linux ++ cpu=we32k ++ vendor=att + ;; + bluegene*) +- basic_machine=powerpc-ibm +- os=-cnk +- ;; +- c54x-*) +- basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- c55x-*) +- basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- c6x-*) +- basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- c90) +- basic_machine=c90-cray +- os=-unicos +- ;; +- cegcc) +- basic_machine=arm-unknown +- os=-cegcc +- ;; +- convex-c1) +- basic_machine=c1-convex +- os=-bsd +- ;; +- convex-c2) +- basic_machine=c2-convex +- os=-bsd +- ;; +- convex-c32) +- basic_machine=c32-convex +- os=-bsd +- ;; +- convex-c34) +- basic_machine=c34-convex +- os=-bsd +- ;; +- convex-c38) +- basic_machine=c38-convex +- os=-bsd +- ;; +- cray | j90) +- basic_machine=j90-cray +- os=-unicos +- ;; +- craynv) +- basic_machine=craynv-cray +- os=-unicosmp +- ;; +- cr16 | cr16-*) +- basic_machine=cr16-unknown +- os=-elf +- ;; +- crds | unos) +- basic_machine=m68k-crds +- ;; +- crisv32 | crisv32-* | etraxfs*) +- basic_machine=crisv32-axis +- ;; +- cris | cris-* | etrax*) +- basic_machine=cris-axis +- ;; +- crx) +- basic_machine=crx-unknown +- os=-elf +- ;; +- da30 | da30-*) +- basic_machine=m68k-da30 +- ;; +- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) +- basic_machine=mips-dec ++ cpu=powerpc ++ vendor=ibm ++ basic_os=cnk + ;; + decsystem10* | dec10*) +- basic_machine=pdp10-dec +- os=-tops10 ++ cpu=pdp10 ++ vendor=dec ++ basic_os=tops10 + ;; + decsystem20* | dec20*) +- basic_machine=pdp10-dec +- os=-tops20 ++ cpu=pdp10 ++ vendor=dec ++ basic_os=tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) +- basic_machine=m68k-motorola +- ;; +- delta88) +- basic_machine=m88k-motorola +- os=-sysv3 ++ cpu=m68k ++ vendor=motorola + ;; +- dicos) +- basic_machine=i686-pc +- os=-dicos +- ;; +- djgpp) +- basic_machine=i586-pc +- os=-msdosdjgpp +- ;; +- dpx20 | dpx20-*) +- basic_machine=rs6000-bull +- os=-bosx +- ;; +- dpx2* | dpx2*-bull) +- basic_machine=m68k-bull +- os=-sysv3 +- ;; +- ebmon29k) +- basic_machine=a29k-amd +- os=-ebmon +- ;; +- elxsi) +- basic_machine=elxsi-elxsi +- os=-bsd ++ dpx2*) ++ cpu=m68k ++ vendor=bull ++ basic_os=sysv3 + ;; + encore | umax | mmax) +- basic_machine=ns32k-encore ++ cpu=ns32k ++ vendor=encore + ;; +- es1800 | OSE68k | ose68k | ose | OSE) +- basic_machine=m68k-ericsson +- os=-ose ++ elxsi) ++ cpu=elxsi ++ vendor=elxsi ++ basic_os=${basic_os:-bsd} + ;; + fx2800) +- basic_machine=i860-alliant ++ cpu=i860 ++ vendor=alliant + ;; + genix) +- basic_machine=ns32k-ns +- ;; +- gmicro) +- basic_machine=tron-gmicro +- os=-sysv +- ;; +- go32) +- basic_machine=i386-pc +- os=-go32 ++ cpu=ns32k ++ vendor=ns + ;; + h3050r* | hiux*) +- basic_machine=hppa1.1-hitachi +- os=-hiuxwe2 +- ;; +- h8300hms) +- basic_machine=h8300-hitachi +- os=-hms +- ;; +- h8300xray) +- basic_machine=h8300-hitachi +- os=-xray +- ;; +- h8500hms) +- basic_machine=h8500-hitachi +- os=-hms +- ;; +- harris) +- basic_machine=m88k-harris +- os=-sysv3 +- ;; +- hp300-*) +- basic_machine=m68k-hp +- ;; +- hp300bsd) +- basic_machine=m68k-hp +- os=-bsd +- ;; +- hp300hpux) +- basic_machine=m68k-hp +- os=-hpux ++ cpu=hppa1.1 ++ vendor=hitachi ++ basic_os=hiuxwe2 + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) +- basic_machine=hppa1.0-hp ++ cpu=hppa1.0 ++ vendor=hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) +- basic_machine=m68000-hp ++ cpu=m68000 ++ vendor=hp + ;; + hp9k3[2-9][0-9]) +- basic_machine=m68k-hp ++ cpu=m68k ++ vendor=hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) +- basic_machine=hppa1.0-hp ++ cpu=hppa1.0 ++ vendor=hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) +- basic_machine=hppa1.1-hp ++ cpu=hppa1.1 ++ vendor=hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp +- basic_machine=hppa1.1-hp ++ cpu=hppa1.1 ++ vendor=hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp +- basic_machine=hppa1.1-hp ++ cpu=hppa1.1 ++ vendor=hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) +- basic_machine=hppa1.1-hp ++ cpu=hppa1.1 ++ vendor=hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) +- basic_machine=hppa1.0-hp +- ;; +- hppa-next) +- os=-nextstep3 +- ;; +- hppaosf) +- basic_machine=hppa1.1-hp +- os=-osf +- ;; +- hppro) +- basic_machine=hppa1.1-hp +- os=-proelf +- ;; +- i370-ibm* | ibm*) +- basic_machine=i370-ibm ++ cpu=hppa1.0 ++ vendor=hp + ;; + i*86v32) +- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` +- os=-sysv32 ++ cpu=`echo "$1" | sed -e 's/86.*/86/'` ++ vendor=pc ++ basic_os=sysv32 + ;; + i*86v4*) +- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` +- os=-sysv4 ++ cpu=`echo "$1" | sed -e 's/86.*/86/'` ++ vendor=pc ++ basic_os=sysv4 + ;; + i*86v) +- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` +- os=-sysv ++ cpu=`echo "$1" | sed -e 's/86.*/86/'` ++ vendor=pc ++ basic_os=sysv + ;; + i*86sol2) +- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` +- os=-solaris2 +- ;; +- i386mach) +- basic_machine=i386-mach +- os=-mach ++ cpu=`echo "$1" | sed -e 's/86.*/86/'` ++ vendor=pc ++ basic_os=solaris2 + ;; +- i386-vsta | vsta) +- basic_machine=i386-unknown +- os=-vsta ++ j90 | j90-cray) ++ cpu=j90 ++ vendor=cray ++ basic_os=${basic_os:-unicos} + ;; + iris | iris4d) +- basic_machine=mips-sgi +- case $os in +- -irix*) ++ cpu=mips ++ vendor=sgi ++ case $basic_os in ++ irix*) + ;; + *) +- os=-irix4 ++ basic_os=irix4 + ;; + esac + ;; +- isi68 | isi) +- basic_machine=m68k-isi +- os=-sysv +- ;; +- m68knommu) +- basic_machine=m68k-unknown +- os=-linux +- ;; +- m68knommu-*) +- basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` +- os=-linux +- ;; +- m88k-omron*) +- basic_machine=m88k-omron +- ;; +- magnum | m3230) +- basic_machine=mips-mips +- os=-sysv +- ;; +- merlin) +- basic_machine=ns32k-utek +- os=-sysv +- ;; +- microblaze*) +- basic_machine=microblaze-xilinx +- ;; +- mingw64) +- basic_machine=x86_64-pc +- os=-mingw64 +- ;; +- mingw32) +- basic_machine=i386-pc +- os=-mingw32 +- ;; +- mingw32ce) +- basic_machine=arm-unknown +- os=-mingw32ce +- ;; + miniframe) +- basic_machine=m68000-convergent +- ;; +- *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) +- basic_machine=m68k-atari +- os=-mint +- ;; +- mips3*-*) +- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` +- ;; +- mips3*) +- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown +- ;; +- monitor) +- basic_machine=m68k-rom68k +- os=-coff +- ;; +- morphos) +- basic_machine=powerpc-unknown +- os=-morphos +- ;; +- msdos) +- basic_machine=i386-pc +- os=-msdos +- ;; +- ms1-*) +- basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` +- ;; +- msys) +- basic_machine=i386-pc +- os=-msys +- ;; +- mvs) +- basic_machine=i370-ibm +- os=-mvs +- ;; +- nacl) +- basic_machine=le32-unknown +- os=-nacl +- ;; +- ncr3000) +- basic_machine=i486-ncr +- os=-sysv4 ++ cpu=m68000 ++ vendor=convergent + ;; +- netbsd386) +- basic_machine=i386-unknown +- os=-netbsd +- ;; +- netwinder) +- basic_machine=armv4l-rebel +- os=-linux +- ;; +- news | news700 | news800 | news900) +- basic_machine=m68k-sony +- os=-newsos +- ;; +- news1000) +- basic_machine=m68030-sony +- os=-newsos ++ *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) ++ cpu=m68k ++ vendor=atari ++ basic_os=mint + ;; + news-3600 | risc-news) +- basic_machine=mips-sony +- os=-newsos +- ;; +- necv70) +- basic_machine=v70-nec +- os=-sysv +- ;; +- next | m*-next ) +- basic_machine=m68k-next +- case $os in +- -nextstep* ) ++ cpu=mips ++ vendor=sony ++ basic_os=newsos ++ ;; ++ next | m*-next) ++ cpu=m68k ++ vendor=next ++ case $basic_os in ++ openstep*) ++ ;; ++ nextstep*) + ;; +- -ns2*) +- os=-nextstep2 ++ ns2*) ++ basic_os=nextstep2 + ;; + *) +- os=-nextstep3 ++ basic_os=nextstep3 + ;; + esac + ;; +- nh3000) +- basic_machine=m68k-harris +- os=-cxux +- ;; +- nh[45]000) +- basic_machine=m88k-harris +- os=-cxux +- ;; +- nindy960) +- basic_machine=i960-intel +- os=-nindy +- ;; +- mon960) +- basic_machine=i960-intel +- os=-mon960 +- ;; +- nonstopux) +- basic_machine=mips-compaq +- os=-nonstopux +- ;; + np1) +- basic_machine=np1-gould +- ;; +- neo-tandem) +- basic_machine=neo-tandem +- ;; +- nse-tandem) +- basic_machine=nse-tandem +- ;; +- nsr-tandem) +- basic_machine=nsr-tandem ++ cpu=np1 ++ vendor=gould + ;; + op50n-* | op60c-*) +- basic_machine=hppa1.1-oki +- os=-proelf +- ;; +- openrisc | openrisc-*) +- basic_machine=or32-unknown +- ;; +- os400) +- basic_machine=powerpc-ibm +- os=-os400 +- ;; +- OSE68000 | ose68000) +- basic_machine=m68000-ericsson +- os=-ose +- ;; +- os68k) +- basic_machine=m68k-none +- os=-os68k ++ cpu=hppa1.1 ++ vendor=oki ++ basic_os=proelf + ;; + pa-hitachi) +- basic_machine=hppa1.1-hitachi +- os=-hiuxwe2 +- ;; +- paragon) +- basic_machine=i860-intel +- os=-osf +- ;; +- parisc) +- basic_machine=hppa-unknown +- os=-linux +- ;; +- parisc-*) +- basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` +- os=-linux ++ cpu=hppa1.1 ++ vendor=hitachi ++ basic_os=hiuxwe2 + ;; + pbd) +- basic_machine=sparc-tti ++ cpu=sparc ++ vendor=tti + ;; + pbb) +- basic_machine=m68k-tti +- ;; +- pc532 | pc532-*) +- basic_machine=ns32k-pc532 +- ;; +- pc98) +- basic_machine=i386-pc +- ;; +- pc98-*) +- basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- pentium | p5 | k5 | k6 | nexgen | viac3) +- basic_machine=i586-pc ++ cpu=m68k ++ vendor=tti + ;; +- pentiumpro | p6 | 6x86 | athlon | athlon_*) +- basic_machine=i686-pc +- ;; +- pentiumii | pentium2 | pentiumiii | pentium3) +- basic_machine=i686-pc +- ;; +- pentium4) +- basic_machine=i786-pc +- ;; +- pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) +- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- pentiumpro-* | p6-* | 6x86-* | athlon-*) +- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) +- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- pentium4-*) +- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ++ pc532) ++ cpu=ns32k ++ vendor=pc532 + ;; + pn) +- basic_machine=pn-gould +- ;; +- power) basic_machine=power-ibm +- ;; +- ppc | ppcbe) basic_machine=powerpc-unknown +- ;; +- ppc-* | ppcbe-*) +- basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- ppcle | powerpclittle | ppc-le | powerpc-little) +- basic_machine=powerpcle-unknown +- ;; +- ppcle-* | powerpclittle-*) +- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- ppc64) basic_machine=powerpc64-unknown +- ;; +- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` +- ;; +- ppc64le | powerpc64little | ppc64-le | powerpc64-little) +- basic_machine=powerpc64le-unknown ++ cpu=pn ++ vendor=gould + ;; +- ppc64le-* | powerpc64little-*) +- basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ++ power) ++ cpu=power ++ vendor=ibm + ;; + ps2) +- basic_machine=i386-ibm +- ;; +- pw32) +- basic_machine=i586-unknown +- os=-pw32 +- ;; +- rdos | rdos64) +- basic_machine=x86_64-pc +- os=-rdos +- ;; +- rdos32) +- basic_machine=i386-pc +- os=-rdos +- ;; +- rom68k) +- basic_machine=m68k-rom68k +- os=-coff ++ cpu=i386 ++ vendor=ibm + ;; + rm[46]00) +- basic_machine=mips-siemens ++ cpu=mips ++ vendor=siemens + ;; + rtpc | rtpc-*) +- basic_machine=romp-ibm +- ;; +- s390 | s390-*) +- basic_machine=s390-ibm +- ;; +- s390x | s390x-*) +- basic_machine=s390x-ibm +- ;; +- sa29200) +- basic_machine=a29k-amd +- os=-udi ++ cpu=romp ++ vendor=ibm + ;; +- sb1) +- basic_machine=mipsisa64sb1-unknown ++ sde) ++ cpu=mipsisa32 ++ vendor=sde ++ basic_os=${basic_os:-elf} + ;; +- sb1el) +- basic_machine=mipsisa64sb1el-unknown ++ simso-wrs) ++ cpu=sparclite ++ vendor=wrs ++ basic_os=vxworks + ;; +- sde) +- basic_machine=mipsisa32-sde +- os=-elf ++ tower | tower-32) ++ cpu=m68k ++ vendor=ncr + ;; +- sei) +- basic_machine=mips-sei +- os=-seiux ++ vpp*|vx|vx-*) ++ cpu=f301 ++ vendor=fujitsu + ;; +- sequent) +- basic_machine=i386-sequent ++ w65) ++ cpu=w65 ++ vendor=wdc + ;; +- sh) +- basic_machine=sh-hitachi +- os=-hms ++ w89k-*) ++ cpu=hppa1.1 ++ vendor=winbond ++ basic_os=proelf + ;; +- sh5el) +- basic_machine=sh5le-unknown ++ none) ++ cpu=none ++ vendor=none + ;; +- sh64) +- basic_machine=sh64-unknown ++ leon|leon[3-9]) ++ cpu=sparc ++ vendor=$basic_machine + ;; +- sparclite-wrs | simso-wrs) +- basic_machine=sparclite-wrs +- os=-vxworks ++ leon-*|leon[3-9]-*) ++ cpu=sparc ++ vendor=`echo "$basic_machine" | sed 's/-.*//'` + ;; +- sps7) +- basic_machine=m68k-bull +- os=-sysv2 ++ ++ *-*) ++ # shellcheck disable=SC2162 ++ saved_IFS=$IFS ++ IFS="-" read cpu vendor <&2 +- exit 1 ++ # Recognize the canonical CPU types that are allowed with any ++ # company name. ++ case $cpu in ++ 1750a | 580 \ ++ | a29k \ ++ | aarch64 | aarch64_be | aarch64c | arm64ec \ ++ | abacus \ ++ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \ ++ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \ ++ | alphapca5[67] | alpha64pca5[67] \ ++ | am33_2.0 \ ++ | amdgcn \ ++ | arc | arceb | arc32 | arc64 \ ++ | arm | arm[lb]e | arme[lb] | armv* \ ++ | avr | avr32 \ ++ | asmjs \ ++ | ba \ ++ | be32 | be64 \ ++ | bfin | bpf | bs2000 \ ++ | c[123]* | c30 | [cjt]90 | c4x \ ++ | c8051 | clipper | craynv | csky | cydra \ ++ | d10v | d30v | dlx | dsp16xx \ ++ | e2k | elxsi | epiphany \ ++ | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \ ++ | javascript \ ++ | h8300 | h8500 \ ++ | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ ++ | hexagon \ ++ | i370 | i*86 | i860 | i960 | ia16 | ia64 \ ++ | ip2k | iq2000 \ ++ | k1om \ ++ | kvx \ ++ | le32 | le64 \ ++ | lm32 \ ++ | loongarch32 | loongarch64 \ ++ | m32c | m32r | m32rle \ ++ | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \ ++ | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \ ++ | m88110 | m88k | maxq | mb | mcore | mep | metag \ ++ | microblaze | microblazeel \ ++ | mips* \ ++ | mmix \ ++ | mn10200 | mn10300 \ ++ | moxie \ ++ | mt \ ++ | msp430 \ ++ | nanomips* \ ++ | nds32 | nds32le | nds32be \ ++ | nfp \ ++ | nios | nios2 | nios2eb | nios2el \ ++ | none | np1 | ns16k | ns32k | nvptx \ ++ | open8 \ ++ | or1k* \ ++ | or32 \ ++ | orion \ ++ | picochip \ ++ | pdp10 | pdp11 | pj | pjl | pn | power \ ++ | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ ++ | pru \ ++ | pyramid \ ++ | riscv | riscv32 | riscv32be | riscv64 | riscv64be \ ++ | rl78 | romp | rs6000 | rx \ ++ | s390 | s390x \ ++ | score \ ++ | sh | shl \ ++ | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \ ++ | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \ ++ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \ ++ | sparclite \ ++ | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \ ++ | spu \ ++ | tahoe \ ++ | thumbv7* \ ++ | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \ ++ | tron \ ++ | ubicom32 \ ++ | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \ ++ | vax \ ++ | vc4 \ ++ | visium \ ++ | w65 \ ++ | wasm32 | wasm64 \ ++ | we32k \ ++ | x86 | x86_64 | xc16x | xgate | xps100 \ ++ | xstormy16 | xtensa* \ ++ | ymp \ ++ | z8k | z80) ++ ;; ++ ++ *) ++ echo "Invalid configuration '$1': machine '$cpu-$vendor' not recognized" 1>&2 ++ exit 1 ++ ;; ++ esac + ;; + esac + + # Here we canonicalize certain aliases for manufacturers. +-case $basic_machine in +- *-digital*) +- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ++case $vendor in ++ digital*) ++ vendor=dec + ;; +- *-commodore*) +- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ++ commodore*) ++ vendor=cbm + ;; + *) + ;; +@@ -1321,200 +1287,226 @@ esac + + # Decode manufacturer-specific aliases for certain operating systems. + +-if [ x"$os" != x"" ] ++if test x"$basic_os" != x + then ++ ++# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just ++# set os. ++obj= ++case $basic_os in ++ gnu/linux*) ++ kernel=linux ++ os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` ++ ;; ++ os2-emx) ++ kernel=os2 ++ os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` ++ ;; ++ nto-qnx*) ++ kernel=nto ++ os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` ++ ;; ++ *-*) ++ # shellcheck disable=SC2162 ++ saved_IFS=$IFS ++ IFS="-" read kernel os <&2 +- exit 1 ++ # No normalization, but not necessarily accepted, that comes below. + ;; + esac ++ + else + + # Here we handle the default operating systems that come with various machines. +@@ -1527,261 +1519,452 @@ else + # will signal an error saying that MANUFACTURER isn't an operating + # system, and we'll never get to this point. + +-case $basic_machine in ++kernel= ++obj= ++case $cpu-$vendor in + score-*) +- os=-elf ++ os= ++ obj=elf + ;; + spu-*) +- os=-elf ++ os= ++ obj=elf + ;; + *-acorn) +- os=-riscix1.2 ++ os=riscix1.2 + ;; + arm*-rebel) +- os=-linux ++ kernel=linux ++ os=gnu + ;; + arm*-semi) +- os=-aout ++ os= ++ obj=aout + ;; + c4x-* | tic4x-*) +- os=-coff ++ os= ++ obj=coff ++ ;; ++ c8051-*) ++ os= ++ obj=elf ++ ;; ++ clipper-intergraph) ++ os=clix + ;; + hexagon-*) +- os=-elf ++ os= ++ obj=elf + ;; + tic54x-*) +- os=-coff ++ os= ++ obj=coff + ;; + tic55x-*) +- os=-coff ++ os= ++ obj=coff + ;; + tic6x-*) +- os=-coff ++ os= ++ obj=coff + ;; + # This must come before the *-dec entry. + pdp10-*) +- os=-tops20 ++ os=tops20 + ;; + pdp11-*) +- os=-none ++ os=none + ;; + *-dec | vax-*) +- os=-ultrix4.2 ++ os=ultrix4.2 + ;; + m68*-apollo) +- os=-domain ++ os=domain + ;; + i386-sun) +- os=-sunos4.0.2 ++ os=sunos4.0.2 + ;; + m68000-sun) +- os=-sunos3 ++ os=sunos3 + ;; + m68*-cisco) +- os=-aout ++ os= ++ obj=aout + ;; + mep-*) +- os=-elf ++ os= ++ obj=elf + ;; + mips*-cisco) +- os=-elf +- ;; +- mips*-*) +- os=-elf ++ os= ++ obj=elf + ;; +- or1k-*) +- os=-elf ++ mips*-*|nanomips*-*) ++ os= ++ obj=elf + ;; + or32-*) +- os=-coff ++ os= ++ obj=coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. +- os=-sysv3 ++ os=sysv3 + ;; + sparc-* | *-sun) +- os=-sunos4.1.1 ++ os=sunos4.1.1 + ;; +- *-be) +- os=-beos ++ pru-*) ++ os= ++ obj=elf + ;; +- *-haiku) +- os=-haiku ++ *-be) ++ os=beos + ;; + *-ibm) +- os=-aix ++ os=aix + ;; + *-knuth) +- os=-mmixware ++ os=mmixware + ;; + *-wec) +- os=-proelf ++ os=proelf + ;; + *-winbond) +- os=-proelf ++ os=proelf + ;; + *-oki) +- os=-proelf ++ os=proelf + ;; + *-hp) +- os=-hpux ++ os=hpux + ;; + *-hitachi) +- os=-hiux ++ os=hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) +- os=-sysv ++ os=sysv + ;; + *-cbm) +- os=-amigaos ++ os=amigaos + ;; + *-dg) +- os=-dgux ++ os=dgux + ;; + *-dolphin) +- os=-sysv3 ++ os=sysv3 + ;; + m68k-ccur) +- os=-rtu ++ os=rtu + ;; + m88k-omron*) +- os=-luna ++ os=luna + ;; +- *-next ) +- os=-nextstep ++ *-next) ++ os=nextstep + ;; + *-sequent) +- os=-ptx ++ os=ptx + ;; + *-crds) +- os=-unos ++ os=unos + ;; + *-ns) +- os=-genix ++ os=genix + ;; + i370-*) +- os=-mvs +- ;; +- *-next) +- os=-nextstep3 ++ os=mvs + ;; + *-gould) +- os=-sysv ++ os=sysv + ;; + *-highlevel) +- os=-bsd ++ os=bsd + ;; + *-encore) +- os=-bsd ++ os=bsd + ;; + *-sgi) +- os=-irix ++ os=irix + ;; + *-siemens) +- os=-sysv4 ++ os=sysv4 + ;; + *-masscomp) +- os=-rtu ++ os=rtu + ;; + f30[01]-fujitsu | f700-fujitsu) +- os=-uxpv ++ os=uxpv + ;; + *-rom68k) +- os=-coff ++ os= ++ obj=coff + ;; + *-*bug) +- os=-coff ++ os= ++ obj=coff + ;; + *-apple) +- os=-macos ++ os=macos + ;; + *-atari*) +- os=-mint ++ os=mint ++ ;; ++ *-wrs) ++ os=vxworks + ;; + *) +- os=-none ++ os=none + ;; + esac ++ + fi + ++# Now, validate our (potentially fixed-up) individual pieces (OS, OBJ). ++ ++case $os in ++ # Sometimes we do "kernel-libc", so those need to count as OSes. ++ llvm* | musl* | newlib* | relibc* | uclibc*) ++ ;; ++ # Likewise for "kernel-abi" ++ eabi* | gnueabi*) ++ ;; ++ # VxWorks passes extra cpu info in the 4th filed. ++ simlinux | simwindows | spe) ++ ;; ++ # See `case $cpu-$os` validation below ++ ghcjs) ++ ;; ++ # Now accept the basic system types. ++ # The portable systems comes first. ++ # Each alternative MUST end in a * to match a version number. ++ gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ ++ | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \ ++ | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ ++ | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \ ++ | hiux* | abug | nacl* | netware* | windows* \ ++ | os9* | macos* | osx* | ios* | tvos* | watchos* \ ++ | mpw* | magic* | mmixware* | mon960* | lnews* \ ++ | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ ++ | aos* | aros* | cloudabi* | sortix* | twizzler* \ ++ | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ ++ | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ ++ | mirbsd* | netbsd* | dicos* | openedition* | ose* \ ++ | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \ ++ | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \ ++ | bosx* | nextstep* | cxux* | oabi* \ ++ | ptx* | ecoff* | winnt* | domain* | vsta* \ ++ | udi* | lites* | ieee* | go32* | aux* | hcos* \ ++ | chorusrdb* | cegcc* | glidix* | serenity* \ ++ | cygwin* | msys* | moss* | proelf* | rtems* \ ++ | midipix* | mingw32* | mingw64* | mint* \ ++ | uxpv* | beos* | mpeix* | udk* | moxiebox* \ ++ | interix* | uwin* | mks* | rhapsody* | darwin* \ ++ | openstep* | oskit* | conix* | pw32* | nonstopux* \ ++ | storm-chaos* | tops10* | tenex* | tops20* | its* \ ++ | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \ ++ | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \ ++ | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ ++ | skyos* | haiku* | rdos* | toppers* | drops* | es* \ ++ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ ++ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ ++ | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \ ++ | fiwix* | mlibc* | cos* | mbr* | ironclad* ) ++ ;; ++ # This one is extra strict with allowed versions ++ sco3.2v2 | sco3.2v[4-9]* | sco5v6*) ++ # Don't forget version if it is 3.2v4 or newer. ++ ;; ++ # This refers to builds using the UEFI calling convention ++ # (which depends on the architecture) and PE file format. ++ # Note that this is both a different calling convention and ++ # different file format than that of GNU-EFI ++ # (x86_64-w64-mingw32). ++ uefi) ++ ;; ++ none) ++ ;; ++ kernel* | msvc* ) ++ # Restricted further below ++ ;; ++ '') ++ if test x"$obj" = x ++ then ++ echo "Invalid configuration '$1': Blank OS only allowed with explicit machine code file format" 1>&2 ++ fi ++ ;; ++ *) ++ echo "Invalid configuration '$1': OS '$os' not recognized" 1>&2 ++ exit 1 ++ ;; ++esac ++ ++case $obj in ++ aout* | coff* | elf* | pe*) ++ ;; ++ '') ++ # empty is fine ++ ;; ++ *) ++ echo "Invalid configuration '$1': Machine code format '$obj' not recognized" 1>&2 ++ exit 1 ++ ;; ++esac ++ ++# Here we handle the constraint that a (synthetic) cpu and os are ++# valid only in combination with each other and nowhere else. ++case $cpu-$os in ++ # The "javascript-unknown-ghcjs" triple is used by GHC; we ++ # accept it here in order to tolerate that, but reject any ++ # variations. ++ javascript-ghcjs) ++ ;; ++ javascript-* | *-ghcjs) ++ echo "Invalid configuration '$1': cpu '$cpu' is not valid with os '$os$obj'" 1>&2 ++ exit 1 ++ ;; ++esac ++ ++# As a final step for OS-related things, validate the OS-kernel combination ++# (given a valid OS), if there is a kernel. ++case $kernel-$os-$obj in ++ linux-gnu*- | linux-android*- | linux-dietlibc*- | linux-llvm*- \ ++ | linux-mlibc*- | linux-musl*- | linux-newlib*- \ ++ | linux-relibc*- | linux-uclibc*- ) ++ ;; ++ uclinux-uclibc*- ) ++ ;; ++ managarm-mlibc*- | managarm-kernel*- ) ++ ;; ++ windows*-msvc*-) ++ ;; ++ -dietlibc*- | -llvm*- | -mlibc*- | -musl*- | -newlib*- | -relibc*- \ ++ | -uclibc*- ) ++ # These are just libc implementations, not actual OSes, and thus ++ # require a kernel. ++ echo "Invalid configuration '$1': libc '$os' needs explicit kernel." 1>&2 ++ exit 1 ++ ;; ++ -kernel*- ) ++ echo "Invalid configuration '$1': '$os' needs explicit kernel." 1>&2 ++ exit 1 ++ ;; ++ *-kernel*- ) ++ echo "Invalid configuration '$1': '$kernel' does not support '$os'." 1>&2 ++ exit 1 ++ ;; ++ *-msvc*- ) ++ echo "Invalid configuration '$1': '$os' needs 'windows'." 1>&2 ++ exit 1 ++ ;; ++ kfreebsd*-gnu*- | kopensolaris*-gnu*-) ++ ;; ++ vxworks-simlinux- | vxworks-simwindows- | vxworks-spe-) ++ ;; ++ nto-qnx*-) ++ ;; ++ os2-emx-) ++ ;; ++ *-eabi*- | *-gnueabi*-) ++ ;; ++ none--*) ++ # None (no kernel, i.e. freestanding / bare metal), ++ # can be paired with an machine code file format ++ ;; ++ -*-) ++ # Blank kernel with real OS is always fine. ++ ;; ++ --*) ++ # Blank kernel and OS with real machine code file format is always fine. ++ ;; ++ *-*-*) ++ echo "Invalid configuration '$1': Kernel '$kernel' not known to work with OS '$os'." 1>&2 ++ exit 1 ++ ;; ++esac ++ + # Here we handle the case where we know the os, and the CPU type, but not the + # manufacturer. We pick the logical manufacturer. +-vendor=unknown +-case $basic_machine in +- *-unknown) +- case $os in +- -riscix*) ++case $vendor in ++ unknown) ++ case $cpu-$os in ++ *-riscix*) + vendor=acorn + ;; +- -sunos*) ++ *-sunos*) + vendor=sun + ;; +- -cnk*|-aix*) ++ *-cnk* | *-aix*) + vendor=ibm + ;; +- -beos*) ++ *-beos*) + vendor=be + ;; +- -hpux*) ++ *-hpux*) + vendor=hp + ;; +- -mpeix*) ++ *-mpeix*) + vendor=hp + ;; +- -hiux*) ++ *-hiux*) + vendor=hitachi + ;; +- -unos*) ++ *-unos*) + vendor=crds + ;; +- -dgux*) ++ *-dgux*) + vendor=dg + ;; +- -luna*) ++ *-luna*) + vendor=omron + ;; +- -genix*) ++ *-genix*) + vendor=ns + ;; +- -mvs* | -opened*) ++ *-clix*) ++ vendor=intergraph ++ ;; ++ *-mvs* | *-opened*) ++ vendor=ibm ++ ;; ++ *-os400*) + vendor=ibm + ;; +- -os400*) ++ s390-* | s390x-*) + vendor=ibm + ;; +- -ptx*) ++ *-ptx*) + vendor=sequent + ;; +- -tpf*) ++ *-tpf*) + vendor=ibm + ;; +- -vxsim* | -vxworks* | -windiss*) ++ *-vxsim* | *-vxworks* | *-windiss*) + vendor=wrs + ;; +- -aux*) ++ *-aux*) + vendor=apple + ;; +- -hms*) ++ *-hms*) + vendor=hitachi + ;; +- -mpw* | -macos*) ++ *-mpw* | *-macos*) + vendor=apple + ;; +- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) ++ *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) + vendor=atari + ;; +- -vos*) ++ *-vos*) + vendor=stratus + ;; + esac +- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; + esac + +-echo $basic_machine$os ++echo "$cpu-$vendor${kernel:+-$kernel}${os:+-$os}${obj:+-$obj}" + exit + + # Local variables: +-# eval: (add-hook 'write-file-hooks 'time-stamp) ++# eval: (add-hook 'before-save-hook 'time-stamp) + # time-stamp-start: "timestamp='" + # time-stamp-format: "%:y-%02m-%02d" + # time-stamp-end: "'" diff --git a/recipes/rrikindp/build.sh b/recipes/rrikindp/build.sh new file mode 100644 index 0000000000000..f76fe49b36083 --- /dev/null +++ b/recipes/rrikindp/build.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +$PYTHON -m pip install . --no-deps --ignore-installed -vv + +cd src/rrikindp + +make -j ${CPU_COUNT} CXXFLAGS+="-I${CONDA_PREFIX}/include" +install RRIkinDP "${PREFIX}/bin" diff --git a/recipes/rrikindp/build_failure.osx-64.yaml b/recipes/rrikindp/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..17f0d029fab2a --- /dev/null +++ b/recipes/rrikindp/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 0e067df3076e62a0e6fa72ecf0654c81ddd7442b0463d16a8d755a789705b475 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {MatchSpec("python_abi=3.10[build=*_cp310]"), MatchSpec("viennarna==2.6.2=py310pl5321hb5a725e_0")} + Encountered problems while solving: + - package viennarna-2.6.2-py310pl5321hb5a725e_0 requires python_abi 3.10.* *_cp310, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + python 3.11.* *_cpython is installable and it requires + python_abi 3.11.* *_cp311, which can be installed; + viennarna >=2.6.0 is not installable because there are no viable options + viennarna [2.6.2|2.6.3|2.6.4] would require + python_abi 3.10.* *_cp310, which conflicts with any installable versions previously reported; + viennarna [2.6.2|2.6.3|2.6.4] would require + python_abi 3.8.* *_cp38, which conflicts with any installable versions previously reported; + viennarna [2.6.2|2.6.3|2.6.4] would require + python_abi 3.9.* *_cp39, which conflicts with any installable versions previously reported. + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2308, in build + output_metas = expand_outputs([(m, need_source_download, need_reparse_in_env)]) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 916, in expand_outputs + for output_dict, m in deepcopy(_m).get_output_metadata_set( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/metadata.py", line 2737, in get_output_metadata_set + conda_packages = finalize_outputs_pass( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/metadata.py", line 1095, in finalize_outputs_pass + fm = finalize_metadata( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 650, in finalize_metadata + build_unsat, host_unsat = add_upstream_pins( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 491, in add_upstream_pins + host_deps, host_unsat, extra_run_specs_from_host = _read_upstream_pin_files( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 444, in _read_upstream_pin_files + deps, precs, unsat = get_env_dependencies( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 156, in get_env_dependencies + precs = environ.get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {MatchSpec("python_abi=3.10[build=*_cp310]"), MatchSpec("viennarna==2.6.2=py310pl5321hb5a725e_0")} + Encountered problems while solving: + - package viennarna-2.6.2-py310pl5321hb5a725e_0 requires python_abi 3.10.* *_cp310, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + python 3.11.* *_cpython is installable and it requires + python_abi 3.11.* *_cp311, which can be installed; + viennarna >=2.6.0 is not installable because there are no viable options + viennarna [2.6.2|2.6.3|2.6.4] would require + python_abi 3.10.* *_cp310, which conflicts with any installable versions previously reported; + viennarna [2.6.2|2.6.3|2.6.4] would require + python_abi 3.8.* *_cp38, which conflicts with any installable versions previously reported; + viennarna [2.6.2|2.6.3|2.6.4] would require + python_abi 3.9.* *_cp39, which conflicts with any installable versions previously reported. +# Last 100 lines of the build log. diff --git a/recipes/rrikindp/meta.yaml b/recipes/rrikindp/meta.yaml new file mode 100644 index 0000000000000..426d6c21432a2 --- /dev/null +++ b/recipes/rrikindp/meta.yaml @@ -0,0 +1,66 @@ + +{% set name = "RRIkinDP" %} +{% set version = "0.0.2" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/mwaldl/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: 3bdaa7657224b90945d864d0238010cf3337975f58c41106ab60427dd52bc93f + +build: + number: 1 + run_exports: + - {{ pin_subpackage('rrikindp', max_pin="x.x,x") }} + +requirements: + build: + - python + - pip + - make + - pybind11 + - {{ compiler('cxx') }} + host: + - pybind11 + - python + - boost-cpp + - viennarna >=2.6.0 + - intarna + - llvm-openmp + run: + - boost-cpp + - llvm-openmp + - python >=3.6 + - intarna + - viennarna >=2.6.0 + - matplotlib-base >=3.7.0 + - seaborn >=0.12.0 + - pandas >=2.0.0 + +test: + commands: + - RRIkinDP --version + imports: + - rrikindp + +about: + home: "https://github.com/mwaldl/RRIkinDP" + license: "GPL-3.0-only" + license_family: GPL + license_file: COPYING + summary: 'Evaluation of thermodynamic and kinetic features of RNA-RNA interactions.' + description: | + RRIkinDP evaluated thermodynamic and kinetic features of RNA-RNA interactions. As input, two RNA + sequences as well as their interaction structure is provided. The tool generates the state space of + all intermediate interactions from single base pair interactions to the full input interaction. + On top of this state space it computes the barrier energy for the best direct path from a given + start interaction to the full input interaction. + doc_url: https://doi.org/10.1101/2023.07.28.548983 + dev_url: https://github.com/mwaldl/RRIkinDP + +extra: + recipe-maintainers: + - mwaldl + - s-will diff --git a/recipes/rsem/build_failure.linux-64.yaml b/recipes/rsem/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..ae01beb6fa0db --- /dev/null +++ b/recipes/rsem/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 7daeb20e9af19165bd6db84bfdf8fbed465c24a6206e85df2cd65b129f61263c # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + ./boost/numeric/conversion/detail/converter.hpp:453:47: warning: 'template struct std::unary_function' is deprecated [-Wdeprecated-declarations] + 453 | struct trivial_converter_impl : public std::unary_function< BOOST_DEDUCED_TYPENAME Traits::argument_type + | ^~~~~~~~~~~~~~ + /opt/conda/conda-bld/rsem_1717690589748/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/bits/stl_function.h:117:12: note: declared here + 117 | struct unary_function + | ^~~~~~~~~~~~~~ + ./boost/numeric/conversion/detail/converter.hpp:474:43: warning: 'template struct std::unary_function' is deprecated [-Wdeprecated-declarations] + 474 | struct rounding_converter : public std::unary_function< BOOST_DEDUCED_TYPENAME Traits::argument_type + | ^~~~~~~~~~~~~~ + /opt/conda/conda-bld/rsem_1717690589748/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/bits/stl_function.h:117:12: note: declared here + 117 | struct unary_function + | ^~~~~~~~~~~~~~ + ./boost/numeric/conversion/detail/converter.hpp:504:47: warning: 'template struct std::unary_function' is deprecated [-Wdeprecated-declarations] + 504 | struct non_rounding_converter : public std::unary_function< BOOST_DEDUCED_TYPENAME Traits::argument_type + | ^~~~~~~~~~~~~~ + /opt/conda/conda-bld/rsem_1717690589748/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/bits/stl_function.h:117:12: note: declared here + 117 | struct unary_function + | ^~~~~~~~~~~~~~ + In file included from ./boost/iterator/iterator_facade.hpp:10, + from ./boost/range/iterator_range_core.hpp:23, + from ./boost/lexical_cast.hpp:169: + ./boost/iterator.hpp:42:32: warning: 'template struct std::iterator' is deprecated [-Wdeprecated-declarations] + 42 | struct iterator_base : std::iterator {}; + | ^~~~~~~~ + In file included from /opt/conda/conda-bld/rsem_1717690589748/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/bits/stl_algobase.h:65, + from /opt/conda/conda-bld/rsem_1717690589748/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/bits/specfun.h:45, + from /opt/conda/conda-bld/rsem_1717690589748/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/cmath:1935, + from simulation.cpp:1: + /opt/conda/conda-bld/rsem_1717690589748/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/bits/stl_iterator_base_types.h:127:34: note: declared here + 127 | struct _GLIBCXX17_DEPRECATED iterator + | ^~~~~~~~ + In file included from ./boost/math/special_functions/lanczos.hpp:1288, + from ./boost/math/special_functions/gamma.hpp:28: + ./boost/math/special_functions/detail/lanczos_sse2.hpp: In static member function 'static T boost::math::lanczos::lanczos13m53::lanczos_sum(const T&) [with T = double]': + ./boost/math/special_functions/detail/lanczos_sse2.hpp:54:21: warning: ISO C17 does not allow 'register' storage class specifier [-Wregister] + 54 | register __m128d vx = _mm_load1_pd(&x); + | ^~ + ./boost/math/special_functions/detail/lanczos_sse2.hpp:55:21: warning: ISO C17 does not allow 'register' storage class specifier [-Wregister] + 55 | register __m128d sum_even = _mm_load_pd(coeff); + | ^~~~~~~~ + ./boost/math/special_functions/detail/lanczos_sse2.hpp:56:21: warning: ISO C17 does not allow 'register' storage class specifier [-Wregister] + 56 | register __m128d sum_odd = _mm_load_pd(coeff2); + | ^~~~~~~ + ./boost/math/special_functions/detail/lanczos_sse2.hpp:57:21: warning: ISO C17 does not allow 'register' storage class specifier [-Wregister] + 57 | register __m128d nc_odd, nc_even; + | ^~~~~~ + ./boost/math/special_functions/detail/lanczos_sse2.hpp:57:29: warning: ISO C17 does not allow 'register' storage class specifier [-Wregister] + 57 | register __m128d nc_odd, nc_even; + | ^~~~~~~ + ./boost/math/special_functions/detail/lanczos_sse2.hpp:58:21: warning: ISO C17 does not allow 'register' storage class specifier [-Wregister] + 58 | register __m128d vx2 = _mm_mul_pd(vx, vx); + | ^~~ + ./boost/math/special_functions/detail/lanczos_sse2.hpp: In static member function 'static T boost::math::lanczos::lanczos13m53::lanczos_sum_expG_scaled(const T&) [with T = double]': + ./boost/math/special_functions/detail/lanczos_sse2.hpp:139:21: warning: ISO C17 does not allow 'register' storage class specifier [-Wregister] + 139 | register __m128d vx = _mm_load1_pd(&x); + | ^~ + ./boost/math/special_functions/detail/lanczos_sse2.hpp:140:21: warning: ISO C17 does not allow 'register' storage class specifier [-Wregister] + 140 | register __m128d sum_even = _mm_load_pd(coeff); + | ^~~~~~~~ + ./boost/math/special_functions/detail/lanczos_sse2.hpp:141:21: warning: ISO C17 does not allow 'register' storage class specifier [-Wregister] + 141 | register __m128d sum_odd = _mm_load_pd(coeff2); + | ^~~~~~~ + ./boost/math/special_functions/detail/lanczos_sse2.hpp:142:21: warning: ISO C17 does not allow 'register' storage class specifier [-Wregister] + 142 | register __m128d nc_odd, nc_even; + | ^~~~~~ + ./boost/math/special_functions/detail/lanczos_sse2.hpp:142:29: warning: ISO C17 does not allow 'register' storage class specifier [-Wregister] + 142 | register __m128d nc_odd, nc_even; + | ^~~~~~~ + ./boost/math/special_functions/detail/lanczos_sse2.hpp:143:21: warning: ISO C17 does not allow 'register' storage class specifier [-Wregister] + 143 | register __m128d vx2 = _mm_mul_pd(vx, vx); + | ^~~ + In file included from Refs.h:15, + from RSPD.h:10, + from SingleModel.h:18: + PolyARules.h: In member function 'int PolyARules::getLenAt(const std::string&)': + PolyARules.h:50:17: warning: control reaches end of non-void function [-Wreturn-type] + 50 | default : assert(false); + | ^~~~~~~ + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o rsem-simulate-reads simulation.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/rsem-1.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -I$PREFIX/include -I. -O2 -c -o parseIt.o parseIt.cpp + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -pthread -o rsem-parse-alignments parseIt.o $PREFIX/lib/libhts.so -lz + /opt/conda/conda-bld/rsem_1717690589748/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: cannot find -lz: No such file or directory + collect2: error: ld returned 1 exit status + make: *** [Makefile:79: rsem-parse-alignments] Error 1 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/rsem_1717690589748/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. diff --git a/recipes/rsem/build_failure.osx-64.yaml b/recipes/rsem/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..87cc138e46c27 --- /dev/null +++ b/recipes/rsem/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 7daeb20e9af19165bd6db84bfdf8fbed465c24a6206e85df2cd65b129f61263c # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + ^~~~~~~~~ + fatal error: too many errors emitted, stopping now [-ferror-limit=] + 4 warnings and 20 errors generated. + make: *** [Makefile:71: simulation.o] Error 1 + Extracting download + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/rsem/01_fix_cxx_11.patch + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/rsem/01_fix_cxx_11.patch with args: + ['-Np1', '-i', '/tmp/tmpuan6jr1c/01_fix_cxx_11.patch.native', '--binary'] + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/rsem/02_fix_makefile.patch + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/rsem/02_fix_makefile.patch with args: + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + ['-Np1', '-i', '/tmp/tmpsyis2uhu/02_fix_makefile.patch.native', '--binary'] + Patch analysis gives: + [[ RA-MD1LOVE ]] - [[ 01_fix_cxx_11.patch ]] + [[ RA-MD1LOVE ]] - [[ 02_fix_makefile.patch ]] + + Key: + + R :: Reversible A :: Applicable + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + Y :: Build-prefix patch in use M :: Minimal, non-amalgamated + D :: Dry-runnable N :: Patch level (1 is preferred) + L :: Patch level not-ambiguous O :: Patch applies without offsets + V :: Patch applies without fuzz E :: Patch applies without emitting to stderr + + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/rsem_1717693924788/work + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/rsem_1717693924788/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/rsem_1717693924788/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/rsem_1717693924788/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/rsem-1.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/rsem_1717693924788/work/conda_build.sh']' returned non-zero exit status 2. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/rsem-1.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/rsem-1.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/rsem-1.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/rsem-1.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I$PREFIX/include -I. -O3 -c -o extractRef.o extractRef.cpp + x86_64-apple-darwin13.4.0-clang -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o rsem-extract-reference-transcripts extractRef.o + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/rsem-1.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I$PREFIX/include -I. -O3 -c -o synthesisRef.o synthesisRef.cpp + x86_64-apple-darwin13.4.0-clang -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o rsem-synthesis-reference-transcripts synthesisRef.o + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/rsem-1.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I$PREFIX/include -I. -O3 -c -o preRef.o preRef.cpp + x86_64-apple-darwin13.4.0-clang -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o rsem-preref preRef.o + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/rsem-1.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I$PREFIX/include -I. -O3 -c -o buildReadIndex.o buildReadIndex.cpp + x86_64-apple-darwin13.4.0-clang -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -o rsem-build-read-index buildReadIndex.o + x86_64-apple-darwin13.4.0-clang -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/rsem-1.3.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I$PREFIX/include -I. -O3 -ffast-math -c -o simulation.o simulation.cpp +# Last 100 lines of the build log. diff --git a/recipes/rsem/meta.yaml b/recipes/rsem/meta.yaml index fe8775beda6ed..243aea3aa47aa 100644 --- a/recipes/rsem/meta.yaml +++ b/recipes/rsem/meta.yaml @@ -15,7 +15,7 @@ build: rpaths: - lib/R/lib/ - lib/ - number: 7 + number: 8 requirements: build: diff --git a/recipes/rseqc/meta.yaml b/recipes/rseqc/meta.yaml index 3249e84a80c2e..063aa6d4133ec 100644 --- a/recipes/rseqc/meta.yaml +++ b/recipes/rseqc/meta.yaml @@ -10,11 +10,11 @@ source: sha256: 869f542e08f50c8874280d58e4f5565857b0aebac66a8eceef3f23016175061e build: - number: 0 + number: 3 skip: True # [py2k] - script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --use-pep517 -vvv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir --use-pep517 -vvv" run_exports: - - {{ pin_subpackage('rseqc', max_pin="x") }} + - {{ pin_subpackage(name|lower, max_pin="x") }} requirements: build: @@ -27,11 +27,11 @@ requirements: run: - bx-python - numpy - - pip - pybigwig - pysam - python - r-base + - pandas test: imports: @@ -48,6 +48,8 @@ about: license_family: GPL2 extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:rseqc - doi:10.1093/bioinformatics/bts356 diff --git a/recipes/rsv-typer/meta.yaml b/recipes/rsv-typer/meta.yaml index a022aa258f893..59e0754aa7636 100644 --- a/recipes/rsv-typer/meta.yaml +++ b/recipes/rsv-typer/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.2.0" %} +{% set version = "0.4.0" %} package: name: rsv-typer @@ -6,25 +6,27 @@ package: source: url: https://github.com/DiltheyLab/RSVTyper/archive/refs/tags/v{{ version }}.tar.gz - sha256: ca302df7eb22f4d8cb0e5e6b9eb78b0e236714f95ab136c35d2afd05552d1229 + sha256: 63e267926adc9f3867a5977848ce2bef247ece0b943f8ace8e907417c3dee638 build: - number: 0 + number: 1 noarch: python script: python -m pip install . entry_points: - rsv-typer = rsv_typer.process_RSV_sample:main + run_exports: + - {{ pin_subpackage("rsv-typer", max_pin="x.x") }} requirements: host: - python run: - python >=3 - - artic =1.2.1 - - nextclade =2.14.0 + - artic =1.2.4 + - nextclade =3.7.0 - samtools >=1.10 - minimap2 >=2.17 - muscle =3.8 - - pyvcf =0.6.8=py36h9f0ad1d_1002 + - gsl =2.7=he838d99_0 test: commands: - rsv-typer -h diff --git a/recipes/rtk2/build.sh b/recipes/rtk2/build.sh new file mode 100644 index 0000000000000..0b901b830f550 --- /dev/null +++ b/recipes/rtk2/build.sh @@ -0,0 +1,16 @@ +#!/bin/bash +set -euxo pipefail + +mkdir -p "$PREFIX"/bin + +echo "Setting environment variables" +# Fix zlib +export CFLAGS="$CFLAGS -O3 -I$PREFIX/include" +export LDFLAGS="$LDFLAGS -L$PREFIX/lib" +export C_INCLUDE_PATH=${PREFIX}/include + +echo "RUN MAKE" +make test + +chmod 755 rtk2 +mv rtk2 "$PREFIX"/bin/ diff --git a/recipes/rtk2/meta.yaml b/recipes/rtk2/meta.yaml new file mode 100644 index 0000000000000..028a06a5a239b --- /dev/null +++ b/recipes/rtk2/meta.yaml @@ -0,0 +1,35 @@ +{% set version = "2.11.2" %} +{% set name = "rtk2" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/hildebra/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: ea32bf15f8dfd3245ed82fae8cd3330d1487b506de13c689764161c791a31dcc + +build: + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + +requirements: + build: + - make + - {{ compiler('cxx') }} + host: + - zlib + +test: + commands: + - '{{ name }} -h' + #- '{{ name }} --version | grep -w "{{ version }}"' + +about: + home: https://github.com/hildebra/rtk2/ + license: 'GPL-2.0-or-later' + license_family: GPL + license_file: LICENSE + summary: 'rtk2 - a CLI rarefaction toolkit for OTU tables' + dev_url: https://github.com/hildebra/rtk2/ diff --git a/recipes/rukki/build.sh b/recipes/rukki/build.sh new file mode 100644 index 0000000000000..b231ffe52e75f --- /dev/null +++ b/recipes/rukki/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash -euo + +# build statically linked binary with Rust +RUST_BACKTRACE=1 +cargo install --verbose --path . --root "${PREFIX}" diff --git a/recipes/rukki/meta.yaml b/recipes/rukki/meta.yaml new file mode 100644 index 0000000000000..e4784932e3704 --- /dev/null +++ b/recipes/rukki/meta.yaml @@ -0,0 +1,38 @@ +{% set name = "rukki" %} +{% set version = "0.3.0" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/marbl/rukki/archive/refs/tags/v{{ version }}.tar.gz + sha256: 036360e6287dc2b7e28bfc7b49db4ca79e792417e75f4bcc926c02d4161625b6 + +build: + number: 0 + run_exports: + - {{ pin_subpackage('rukki', max_pin="x.x") }} + +requirements: + build: + - {{ compiler('cxx') }} + - {{ compiler('rust') }} + - make + +test: + commands: + - rukki --help + +about: + home: "https://github.com/marbl/rukki" + license: "Public Domain" + license_file: "README.licenses" + summary: "Extracting paths from assembly graphs." + doc_url: "https://github.com/marbl/rukki/blob/v{{ version }}/README.md" + dev_url: "https://github.com/marbl/rukki" + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/rust-bio-tools/build.sh b/recipes/rust-bio-tools/build.sh index 403679dd60ea7..c5cc18c7f9bc5 100644 --- a/recipes/rust-bio-tools/build.sh +++ b/recipes/rust-bio-tools/build.sh @@ -1,11 +1,6 @@ #!/bin/bash -e -# TODO: Remove the following export when pinning is updated and we use -# {{ compiler('rust') }} in the recipe. -export \ - CARGO_NET_GIT_FETCH_WITH_CLI=true \ - CARGO_HOME="${BUILD_PREFIX}/.cargo" - export BINDGEN_EXTRA_CLANG_ARGS="${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" +RUST_BACKTRACE=1 cargo install --no-track --verbose --root "${PREFIX}" --path . diff --git a/recipes/rust-bio-tools/build_failure.linux-64.yaml b/recipes/rust-bio-tools/build_failure.linux-64.yaml deleted file mode 100644 index 26ac40babfcbc..0000000000000 --- a/recipes/rust-bio-tools/build_failure.linux-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 37fa4d78a2ee8b18065a0bd0f594ad1e9587bb4ac7edf1b4629a9f10fa45d0a5 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - Compiling linear-map v1.2.0 - Running rustc --crate-name linear_map /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/linear-map-1.2.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C metadata=49dea80bcdb65bf0 -C extra-filename=-49dea80bcdb65bf0 --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --cap-lints allow - Compiling ieee754 v0.2.6 - Running rustc --crate-name ieee754 /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/ieee754-0.2.6/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C metadata=3d851bc61679c0fc -C extra-filename=-3d851bc61679c0fc --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --cap-lints allow - Compiling strum v0.23.0 - Running rustc --crate-name strum --edition=2018 /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/strum-0.23.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=bd8b155d4a3212cb -C extra-filename=-bd8b155d4a3212cb --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --cap-lints allow - Compiling bio v0.39.2 - Running rustc --crate-name bio --edition=2018 /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/bio-0.39.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C metadata=bfcb0c8ea87843f8 -C extra-filename=-bfcb0c8ea87843f8 --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --extern anyhow=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libanyhow-8a64e709a9ea7090.rmeta --extern approx=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libapprox-796d96a1d4a24564.rmeta --extern bio_types=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libbio_types-8f2580fc26dc2a4c.rmeta --extern bit_set=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libbit_set-5f69a9e374261aee.rmeta --extern bv=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libbv-c65acac672bf1382.rmeta --extern bytecount=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libbytecount-49ce67f909ab9836.rmeta --extern csv=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libcsv-0a2495576c650dd0.rmeta --extern custom_derive=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libcustom_derive-a31ad87d2c35141e.rmeta --extern enum_map=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libenum_map-e623b86d6eda7738.rmeta --extern fxhash=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libfxhash-b9c70ea26a93b20f.rmeta --extern getset=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libgetset-4a8df41f803195c1.so --extern itertools=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libitertools-f77dc74df281f0e9.rmeta --extern itertools_num=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libitertools_num-2f4a9790e16745e6.rmeta --extern lazy_static=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/liblazy_static-aef73a8347dc17b1.rmeta --extern multimap=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libmultimap-b0e538eda3526cdf.rmeta --extern ndarray=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libndarray-ef7993ff5859fb97.rmeta --extern newtype_derive=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libnewtype_derive-a5908103a51871d4.rmeta --extern num_integer=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libnum_integer-b03516cba3dc07e2.rmeta --extern num_traits=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libnum_traits-d20b06288d507dcf.rmeta --extern ordered_float=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libordered_float-a04622cb02bc5a6f.rmeta --extern petgraph=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libpetgraph-f249a594137b7f6e.rmeta --extern rand=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/librand-776acd9a3185d913.rmeta --extern regex=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libregex-88299f7761f9c60d.rmeta --extern serde=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libserde-7d6c4f20cee1b377.rmeta --extern serde_derive=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libserde_derive-c1fd716d558cc7fa.so --extern statrs=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libstatrs-9170518eab8196ec.rmeta --extern strum=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libstrum-bd8b155d4a3212cb.rmeta --extern strum_macros=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libstrum_macros-5d4b4ce44430108b.so --extern thiserror=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libthiserror-1d405cc10f35d668.rmeta --extern triple_accel=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libtriple_accel-744d8b0eeecdf446.rmeta --extern vec_map=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libvec_map-daef5ce73b6a7510.rmeta --cap-lints allow - Compiling tempfile v3.5.0 - Running rustc --crate-name tempfile --edition=2018 /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/tempfile-3.5.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C metadata=984bbc1631ac0d4a -C extra-filename=-984bbc1631ac0d4a --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --extern cfg_if=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libcfg_if-1cc625933ee68d00.rmeta --extern fastrand=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libfastrand-ee1f69f245bfe81a.rmeta --extern rustix=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/librustix-e70d1125d1402ad4.rmeta --cap-lints allow - Running rustc --crate-name rgsl /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/GSL-1.1.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type dylib --crate-type rlib --emit=dep-info,link -C prefer-dynamic -C opt-level=3 -C embed-bitcode=no --cfg 'feature="v2"' -C metadata=f9a0167cc0ea59a9 -C extra-filename=-f9a0167cc0ea59a9 --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --extern c_vec=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libc_vec-d24918881fb43fb1.so --extern c_vec=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libc_vec-d24918881fb43fb1.rlib --extern libc=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/liblibc-0731363918231ed5.rlib --cap-lints allow -L native=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib -l gsl -l gslcblas -l m -l cblas -l m --cfg 'feature="v2"' - Compiling reqwest v0.9.24 - Running rustc --crate-name reqwest /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/reqwest-0.9.24/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="default-tls"' --cfg 'feature="hyper-tls"' --cfg 'feature="native-tls"' --cfg 'feature="tls"' -C metadata=e5874b3f83f03ba1 -C extra-filename=-e5874b3f83f03ba1 --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --extern base64=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libbase64-a19d784f86588919.rmeta --extern bytes=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libbytes-3e7ae724b77406fb.rmeta --extern cookie=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libcookie-58754e0f73623939.rmeta --extern cookie_store=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libcookie_store-a04b026bdb49d687.rmeta --extern encoding_rs=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libencoding_rs-7b87e74193d0c407.rmeta --extern flate2=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libflate2-70dc71a48c006913.rmeta --extern futures=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libfutures-82cdf9f97ecdab5c.rmeta --extern http=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libhttp-7f8b83c7faa5bad9.rmeta --extern hyper=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libhyper-7943bea2a0ceffab.rmeta --extern hyper_tls=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libhyper_tls-7f8fbc2858a55a76.rmeta --extern log=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/liblog-6684351ec618d44f.rmeta --extern mime=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libmime-a05a37379b161b05.rmeta --extern mime_guess=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libmime_guess-1b2487e823506fa3.rmeta --extern native_tls=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libnative_tls-e50dec9310c1d4f2.rmeta --extern serde=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libserde-7d6c4f20cee1b377.rmeta --extern serde_json=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libserde_json-89fb4aba726d8fd2.rmeta --extern serde_urlencoded=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libserde_urlencoded-34e063fcff545fb3.rmeta --extern time=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libtime-14a856f0f5513dee.rmeta --extern tokio=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libtokio-7cf2810afdd496d2.rmeta --extern tokio_executor=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libtokio_executor-99a3d933a3bde1bc.rmeta --extern tokio_io=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libtokio_io-7dc5a2eeaf6caba3.rmeta --extern tokio_threadpool=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libtokio_threadpool-2737f5c5fb2b0b23.rmeta --extern tokio_timer=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libtokio_timer-18df72f395af0a55.rmeta --extern url=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/liburl-796aa9590a4d4722.rmeta --extern uuid=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libuuid-4f90eabc1e5c34d1.rmeta --cap-lints allow -L native=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/build/openssl-sys-ee91e98132c0c133/out/openssl-build/install/lib - Compiling tera v1.18.1 - Running rustc --crate-name tera --edition=2018 /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/tera-1.18.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="builtins"' --cfg 'feature="chrono"' --cfg 'feature="chrono-tz"' --cfg 'feature="default"' --cfg 'feature="humansize"' --cfg 'feature="percent-encoding"' --cfg 'feature="rand"' --cfg 'feature="slug"' --cfg 'feature="urlencode"' -C metadata=966d160b89ea163c -C extra-filename=-966d160b89ea163c --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --extern chrono=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libchrono-89a888186eb22b5d.rmeta --extern chrono_tz=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libchrono_tz-b753c3237e3c7fbf.rmeta --extern globwalk=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libglobwalk-61174e9b3ae5e9d7.rmeta --extern humansize=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libhumansize-be7ba658b667f616.rmeta --extern lazy_static=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/liblazy_static-aef73a8347dc17b1.rmeta --extern percent_encoding=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libpercent_encoding-72cf279d7fef5fd6.rmeta --extern pest=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libpest-438ddbb2964fe264.rmeta --extern pest_derive=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libpest_derive-34cee7d48c31178c.so --extern rand=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/librand-776acd9a3185d913.rmeta --extern regex=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libregex-88299f7761f9c60d.rmeta --extern serde=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libserde-7d6c4f20cee1b377.rmeta --extern serde_json=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libserde_json-89fb4aba726d8fd2.rmeta --extern slug=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libslug-76fec5f36d416b3e.rmeta --extern thread_local=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libthread_local-b464f97d53aac3cd.rmeta --extern unic_segment=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libunic_segment-99bae7b6ba5ce771.rmeta --cap-lints allow - Compiling indicatif v0.11.0 - Running rustc --crate-name indicatif /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/indicatif-0.11.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C metadata=06ccea25cd3ff8c1 -C extra-filename=-06ccea25cd3ff8c1 --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --extern console=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libconsole-1d6c5204c86792bd.rmeta --extern lazy_static=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/liblazy_static-aef73a8347dc17b1.rmeta --extern number_prefix=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libnumber_prefix-539ed0474b8cb3ca.rmeta --extern parking_lot=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libparking_lot-1cf157db8cfd6e1c.rmeta --extern regex=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libregex-88299f7761f9c60d.rmeta --cap-lints allow - Compiling ordered-float v0.5.2 - Running rustc --crate-name ordered_float /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/ordered-float-0.5.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C metadata=1ebef4224276407e -C extra-filename=-1ebef4224276407e --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --extern num_traits=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libnum_traits-6aa76da748f47036.rmeta --extern unreachable=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libunreachable-94a8b606b3e4d516.rmeta --cap-lints allow - Compiling structopt v0.3.26 - Running rustc --crate-name structopt --edition=2018 /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/structopt-0.3.26/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' -C metadata=1710fde95804ad58 -C extra-filename=-1710fde95804ad58 --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --extern clap=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libclap-3d4bf005a1c7cfcf.rmeta --extern lazy_static=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/liblazy_static-aef73a8347dc17b1.rmeta --extern structopt_derive=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libstructopt_derive-f7376ff427964336.so --cap-lints allow - Compiling rand v0.7.3 - Running rustc --crate-name rand --edition=2018 /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/rand-0.7.3/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="alloc"' --cfg 'feature="default"' --cfg 'feature="getrandom"' --cfg 'feature="getrandom_package"' --cfg 'feature="libc"' --cfg 'feature="std"' -C metadata=3fa9641229006373 -C extra-filename=-3fa9641229006373 --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --extern getrandom_package=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libgetrandom-1fcfb9b16db7f095.rmeta --extern libc=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/liblibc-0731363918231ed5.rmeta --extern rand_chacha=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/librand_chacha-cc23ecaa15cfa639.rmeta --extern rand_core=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/librand_core-a96d615a8c0dca75.rmeta --cap-lints allow - Compiling rayon v1.7.0 - Running rustc --crate-name rayon --edition=2021 /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-1.7.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C metadata=fa12cbfdd336486c -C extra-filename=-fa12cbfdd336486c --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --extern either=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libeither-22dbb8c1509ff59b.rmeta --extern rayon_core=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/librayon_core-f52a9815ab27f729.rmeta --cap-lints allow - Compiling fern v0.5.9 - Running rustc --crate-name fern --edition=2018 /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/fern-0.5.9/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C metadata=b34cbfb0b0bdbf78 -C extra-filename=-b34cbfb0b0bdbf78 --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --extern chrono=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libchrono-89a888186eb22b5d.rmeta --extern log=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/liblog-6684351ec618d44f.rmeta --cap-lints allow - Compiling jsonm v0.1.4 - Running rustc --crate-name jsonm /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/jsonm-0.1.4/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C metadata=b04562a7e837d49d -C extra-filename=-b04562a7e837d49d --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --extern regex=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libregex-88299f7761f9c60d.rmeta --extern serde=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libserde-7d6c4f20cee1b377.rmeta --extern serde_json=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libserde_json-89fb4aba726d8fd2.rmeta --cap-lints allow - Compiling itertools v0.9.0 - Running rustc --crate-name itertools --edition=2018 /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/itertools-0.9.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="use_std"' -C metadata=98d11c369e8eac7e -C extra-filename=-98d11c369e8eac7e --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --extern either=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libeither-22dbb8c1509ff59b.rmeta --cap-lints allow - Compiling streaming-stats v0.2.3 - Running rustc --crate-name stats /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/streaming-stats-0.2.3/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C metadata=841e89977bc962ef -C extra-filename=-841e89977bc962ef --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --extern num_traits=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libnum_traits-d20b06288d507dcf.rmeta --cap-lints allow - Compiling approx v0.4.0 - Running rustc --crate-name approx /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/approx-0.4.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=cb99626e744706fd -C extra-filename=-cb99626e744706fd --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --extern num_traits=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libnum_traits-d20b06288d507dcf.rmeta --cap-lints allow - Compiling rustc-serialize v0.3.24 - Running rustc --crate-name rustc_serialize /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-serialize-0.3.24/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C metadata=04bf5da549563244 -C extra-filename=-04bf5da549563244 --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --cap-lints allow - Compiling lz-str v0.1.0 - Running rustc --crate-name lz_str --edition=2018 /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/lz-str-0.1.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type cdylib --crate-type rlib --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no -C metadata=fa57445c11776e7e -C extra-filename=-fa57445c11776e7e --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --cap-lints allow - Running rustc --crate-name bzip2_sys /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/bzip2-sys-0.1.111.0.8/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="static"' -C metadata=36eb47ca640e666e -C extra-filename=-36eb47ca640e666e --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --extern libc=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/liblibc-0731363918231ed5.rmeta --cap-lints allow -L native=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/build/bzip2-sys-c7eb3073c8ac667e/out/lib -l static=bz2 - Running rustc --crate-name zstd_sys --edition=2018 /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/zstd-sys-2.0.8zstd.1.5.5/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="legacy"' --cfg 'feature="zdict_builder"' -C metadata=0384f761716dfc01 -C extra-filename=-0384f761716dfc01 --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --extern libc=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/liblibc-0731363918231ed5.rmeta --cap-lints allow -L native=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/build/zstd-sys-ea5ebf1b5416cf7d/out -l static=zstd - Running /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/build/librocksdb-sys-f2c64cbc0e46c402/build-script-build - Running rustc --crate-name curl_sys --edition=2018 /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/curl-sys-0.4.62curl-8.1.0/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="openssl-sys"' --cfg 'feature="protocol-ftp"' --cfg 'feature="ssl"' --cfg 'feature="static-curl"' --cfg 'feature="static-ssl"' -C metadata=1c22fe32ec4c58ae -C extra-filename=-1c22fe32ec4c58ae --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --extern libc=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/liblibc-0731363918231ed5.rmeta --extern libz_sys=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/liblibz_sys-f37bec32b21ef27e.rmeta --extern openssl_sys=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/libopenssl_sys-e014ce30be3b6ca5.rmeta --cap-lints allow -L native=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/build/curl-sys-1684153d67f93086/out/build -l static=curl -L native=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/build/libz-sys-5d58d7855283952d/out/lib -L native=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/build/openssl-sys-ee91e98132c0c133/out/openssl-build/install/lib --cfg libcurl_vendored --cfg link_libz --cfg link_openssl - Running rustc --crate-name libxlsxwriter_sys --edition=2018 /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/libxlsxwriter-sys-1.1.5/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="no-md5"' --cfg 'feature="use-openssl-md5"' -C metadata=4957ba847f8189c2 -C extra-filename=-4957ba847f8189c2 --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --cap-lints allow -L native=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/build/libxlsxwriter-sys-f910310a21b7ae2e/out -l static=xlsxwriter - Compiling xlsxwriter v0.3.5 - Running rustc --crate-name xlsxwriter --edition=2018 /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/xlsxwriter-0.3.5/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="no-md5"' --cfg 'feature="use-openssl-md5"' -C metadata=cb61c42d9cf38f2c -C extra-filename=-cb61c42d9cf38f2c --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --extern libxlsxwriter_sys=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/liblibxlsxwriter_sys-4957ba847f8189c2.rmeta --cap-lints allow -L native=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/build/libxlsxwriter-sys-f910310a21b7ae2e/out - error[E0412]: cannot find type size_t in crate libxlsxwriter_sys - --> /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/xlsxwriter-0.3.5/src/worksheet.rs:1126:52 - | - 1126 | buffer.len() as libxlsxwriter_sys::size_t, - | ^^^^^^ help: a type alias with a similar name exists: time_t - | - ::: /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/build/libxlsxwriter-sys-f910310a21b7ae2e/out/bindings.rs:398:1 - | - 398 | pub type time_t = __time_t; - | --------------- similarly named type alias time_t defined here - - error[E0412]: cannot find type size_t in crate libxlsxwriter_sys - --> /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/xlsxwriter-0.3.5/src/worksheet.rs:1150:52 - | - 1150 | buffer.len() as libxlsxwriter_sys::size_t, - | ^^^^^^ help: a type alias with a similar name exists: time_t - | - ::: /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/build/libxlsxwriter-sys-f910310a21b7ae2e/out/bindings.rs:398:1 - | - 398 | pub type time_t = __time_t; - | --------------- similarly named type alias time_t defined here - - error[E0063]: missing fields output_buffer and output_buffer_size in initializer of lxw_workbook_options - --> /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/xlsxwriter-0.3.5/src/workbook.rs:90:40 - | - 90 | let mut workbook_options = libxlsxwriter_sys::lxw_workbook_options { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing output_buffer and output_buffer_size - - Some errors have detailed explanations: E0063, E0412. - For more information about an error, try rustc --explain E0063. - error: could not compile xlsxwriter due to 3 previous errors - - Caused by: - process didn't exit successfully: rustc --crate-name xlsxwriter --edition=2018 /opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/.cargo/registry/src/github.com-1ecc6299db9ec823/xlsxwriter-0.3.5/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="no-md5"' --cfg 'feature="use-openssl-md5"' -C metadata=cb61c42d9cf38f2c -C extra-filename=-cb61c42d9cf38f2c --out-dir /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps -C linker=/opt/conda/conda-bld/rust-bio-tools_1685451378291/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps --extern libxlsxwriter_sys=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/deps/liblibxlsxwriter_sys-4957ba847f8189c2.rmeta --cap-lints allow -L native=/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target/release/build/libxlsxwriter-sys-f910310a21b7ae2e/out (exit status: 1) - warning: build failed, waiting for other jobs to finish... - error: failed to compile rust-bio-tools v0.42.0 (/opt/conda/conda-bld/rust-bio-tools_1685451378291/work), intermediate artifacts can be found at /opt/conda/conda-bld/rust-bio-tools_1685451378291/work/target - Traceback (most recent call last): - File "/opt/conda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/rust-bio-tools_1685451378291/work/conda_build.sh']' returned non-zero exit status 101. -# Last 100 lines of the build log. diff --git a/recipes/rust-bio-tools/meta.yaml b/recipes/rust-bio-tools/meta.yaml index 7e0e2da27e5b6..4df8383242ee8 100644 --- a/recipes/rust-bio-tools/meta.yaml +++ b/recipes/rust-bio-tools/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.42.0" %} +{% set version = "0.42.2" %} package: name: rust-bio-tools @@ -7,16 +7,18 @@ package: build: number: 1 skip: True # [osx] + run_exports: + - {{ pin_subpackage('rust-bio-tools', max_pin="x.x") }} source: url: https://github.com/rust-bio/rust-bio-tools/archive/v{{ version }}.tar.gz - sha256: 93642d7ebd4b85da8a043fd394a0c2d3ca112d0d8ecc0620cb8400ae703148ca + sha256: 860b29bb917f2d9ca1479d416b43856791c2ca726a0c22df30354bb5c44191c6 requirements: build: - {{ compiler('c') }} - {{ compiler('cxx') }} - - rust >=1.30 + - {{ compiler('rust') }} - clangdev - pkg-config - make @@ -35,11 +37,15 @@ test: about: home: https://github.com/rust-bio/rust-bio-tools license: MIT + license_family: MIT summary: | A growing collection of fast and secure command line utilities for dealing with NGS data implemented on top of Rust-Bio. + dev_url: https://github.com/rust-bio/rust-bio-tools extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - fxwiegand - felixmoelder diff --git a/recipes/rust-ncbitaxonomy/build.sh b/recipes/rust-ncbitaxonomy/build.sh index bfdd53f18dd16..07f397dca273a 100755 --- a/recipes/rust-ncbitaxonomy/build.sh +++ b/recipes/rust-ncbitaxonomy/build.sh @@ -1,4 +1,6 @@ -#!/bin/bash -euo +#!/bin/bash + +set -xeuo if [ "$(uname)" == "Darwin" ]; then # Apparently the Home variable isn't set correctly diff --git a/recipes/rust-ncbitaxonomy/meta.yaml b/recipes/rust-ncbitaxonomy/meta.yaml index 7d66502eb9824..103f0d6352d75 100644 --- a/recipes/rust-ncbitaxonomy/meta.yaml +++ b/recipes/rust-ncbitaxonomy/meta.yaml @@ -7,7 +7,9 @@ package: version: "{{ version }}" build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} source: url: "https://github.com/pvanheus/ncbitaxonomy/archive/{{ version }}.tar.gz" @@ -16,7 +18,7 @@ source: requirements: build: - {{ compiler('c') }} - - rust >=1.43 + - {{ compiler('rust') }} host: - sqlite run: @@ -32,5 +34,11 @@ about: home: https://github.com/pvanheus/ncbitaxonomy doc_url: "https://docs.rs/crate/ncbitaxonomy/{{ version }}" license: MIT + license_file: LICENSE summary: | A Rust crate for working with a local copy of the NCBI Taxonomy database, which provides utilities for taxonomic filtering. + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 \ No newline at end of file diff --git a/recipes/rustybam/build_failure.osx-64.yaml b/recipes/rustybam/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..be685e4efb964 --- /dev/null +++ b/recipes/rustybam/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 2888bb7310f298605a52471e1df6b4d045e02b863a07716f06e26d3b93cb96ca # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + = note: env -u IPHONEOS_DEPLOYMENT_TARGET -u TVOS_DEPLOYMENT_TARGET LC_ALL="C" PATH="/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/bin:/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/bin:/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/bin:/opt/mambaforge/envs/bioconda/condabin:/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/bin:/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/bin:/opt/mambaforge/envs/bioconda/bin:/opt/mambaforge/condabin:/opt/mambaforge/bin:/usr/local/lib/ruby/gems/3.0.0/bin:/usr/local/opt/ruby@3.0/bin:/usr/local/opt/pipx_bin:/Users/runner/.cargo/bin:/usr/local/opt/curl/bin:/usr/local/bin:/usr/local/sbin:/Users/runner/bin:/Users/runner/.yarn/bin:/Users/runner/Library/Android/sdk/tools:/Users/runner/Library/Android/sdk/platform-tools:/Library/Frameworks/Python.framework/Versions/Current/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/usr/bin:/bin:/usr/sbin:/sbin:/Users/runner/.dotnet/tools" VSLANG="1033" ZERO_AR_DATE="1" "cc" "-arch" "x86_64" "-m64" "/tmp/rustcIyea18/symbols.o" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/work/target/release/build/syn-83534d4a7b485fa6/build_script_build-83534d4a7b485fa6.build_script_build.9a6b01f912fb026e-cgu.0.rcgu.o" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/work/target/release/build/syn-83534d4a7b485fa6/build_script_build-83534d4a7b485fa6.build_script_build.9a6b01f912fb026e-cgu.1.rcgu.o" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/work/target/release/build/syn-83534d4a7b485fa6/build_script_build-83534d4a7b485fa6.build_script_build.9a6b01f912fb026e-cgu.2.rcgu.o" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/work/target/release/build/syn-83534d4a7b485fa6/build_script_build-83534d4a7b485fa6.7b4qwoeamwdunay.rcgu.o" "-L" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/work/target/release/deps" "-L" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libstd-2ad7f97be9e16ca5.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libpanic_unwind-8ce93eee8bf4c86e.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libobject-0e1339b212cc7409.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libmemchr-925e672b3deb429c.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libaddr2line-e92d517a950bccd8.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libgimli-de95e5c2a2ace281.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/librustc_demangle-37f4c48e230f618e.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libstd_detect-dfeb4bb0652b6b8e.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libhashbrown-0e3ea0ec18336be2.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_alloc-39dd3003e36d7872.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libminiz_oxide-5ea1513e08ee15e0.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libadler-2967159221f4860d.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libunwind-b70656709e3eca11.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcfg_if-cc5626b2e0399737.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/liblibc-8378684dba6ab463.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/liballoc-0ff05b9b25b786cc.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_core-9a6da74aeab39c54.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcore-1638dc700d175798.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-7f42af62722c8f43.rlib" "-lSystem" "-lc" "-lm" "-L" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib" "-o" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/work/target/release/build/syn-83534d4a7b485fa6/build_script_build-83534d4a7b485fa6" "-Wl,-dead_strip" "-nodefaultlibs" "-undefined" "dynamic_lookup" + = note: ld: multiple errors: unsupported mach-o filetype (only MH_OBJECT and MH_DYLIB can be linked) in '/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib/libSystem.B.dylib'; unsupported mach-o filetype (only MH_OBJECT and MH_DYLIB can be linked) in '/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib/libSystem.B.dylib'; unsupported mach-o filetype (only MH_OBJECT and MH_DYLIB can be linked) in '/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib/libSystem.B.dylib' + clang: error: linker command failed with exit code 1 (use -v to see invocation) + + + error: could not compile proc-macro2 (build script) due to 1 previous error + + Caused by: + process didn't exit successfully: rustc --crate-name build_script_build --edition=2021 /opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/.cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.85/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="proc-macro"' -C metadata=acbd332dc98100aa -C extra-filename=-acbd332dc98100aa --out-dir /opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/work/target/release/build/proc-macro2-acbd332dc98100aa -C strip=debuginfo -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/work/target/release/deps --cap-lints allow -C link-arg=-undefined -C link-arg=dynamic_lookup (exit status: 1) + warning: build failed, waiting for other jobs to finish... + error: could not compile syn (build script) due to 1 previous error + + Caused by: + process didn't exit successfully: rustc --crate-name build_script_build --edition=2018 /opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/.cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.109/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="clone-impls"' --cfg 'feature="default"' --cfg 'feature="derive"' --cfg 'feature="full"' --cfg 'feature="parsing"' --cfg 'feature="printing"' --cfg 'feature="proc-macro"' --cfg 'feature="quote"' -C metadata=83534d4a7b485fa6 -C extra-filename=-83534d4a7b485fa6 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/work/target/release/build/syn-83534d4a7b485fa6 -C strip=debuginfo -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/work/target/release/deps --cap-lints allow -C link-arg=-undefined -C link-arg=dynamic_lookup (exit status: 1) + error: could not compile libc (build script) due to 1 previous error + + Caused by: + process didn't exit successfully: rustc --crate-name build_script_build /opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.155/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=312897ad65048e13 -C extra-filename=-312897ad65048e13 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/work/target/release/build/libc-312897ad65048e13 -C strip=debuginfo -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/work/target/release/deps --cap-lints allow -C link-arg=-undefined -C link-arg=dynamic_lookup (exit status: 1) + error: linking with cc failed: exit status: 1 + | + = note: env -u IPHONEOS_DEPLOYMENT_TARGET -u TVOS_DEPLOYMENT_TARGET LC_ALL="C" PATH="/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/bin:/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/bin:/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/bin:/opt/mambaforge/envs/bioconda/condabin:/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/bin:/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/bin:/opt/mambaforge/envs/bioconda/bin:/opt/mambaforge/condabin:/opt/mambaforge/bin:/usr/local/lib/ruby/gems/3.0.0/bin:/usr/local/opt/ruby@3.0/bin:/usr/local/opt/pipx_bin:/Users/runner/.cargo/bin:/usr/local/opt/curl/bin:/usr/local/bin:/usr/local/sbin:/Users/runner/bin:/Users/runner/.yarn/bin:/Users/runner/Library/Android/sdk/tools:/Users/runner/Library/Android/sdk/platform-tools:/Library/Frameworks/Python.framework/Versions/Current/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/usr/bin:/bin:/usr/sbin:/sbin:/Users/runner/.dotnet/tools" VSLANG="1033" ZERO_AR_DATE="1" "cc" "-arch" "x86_64" "-m64" "/tmp/rustcvqN5BT/symbols.o" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/work/target/release/build/libm-0e90bdf3746d668a/build_script_build-0e90bdf3746d668a.build_script_build.c50687bd71c14a46-cgu.0.rcgu.o" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/work/target/release/build/libm-0e90bdf3746d668a/build_script_build-0e90bdf3746d668a.4um6vnkueq6nlagc.rcgu.o" "-L" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/work/target/release/deps" "-L" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libstd-2ad7f97be9e16ca5.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libpanic_unwind-8ce93eee8bf4c86e.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libobject-0e1339b212cc7409.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libmemchr-925e672b3deb429c.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libaddr2line-e92d517a950bccd8.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libgimli-de95e5c2a2ace281.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/librustc_demangle-37f4c48e230f618e.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libstd_detect-dfeb4bb0652b6b8e.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libhashbrown-0e3ea0ec18336be2.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_alloc-39dd3003e36d7872.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libminiz_oxide-5ea1513e08ee15e0.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libadler-2967159221f4860d.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libunwind-b70656709e3eca11.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcfg_if-cc5626b2e0399737.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/liblibc-8378684dba6ab463.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/liballoc-0ff05b9b25b786cc.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_core-9a6da74aeab39c54.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcore-1638dc700d175798.rlib" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-7f42af62722c8f43.rlib" "-lSystem" "-lc" "-lm" "-L" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/lib/rustlib/x86_64-apple-darwin/lib" "-o" "/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/work/target/release/build/libm-0e90bdf3746d668a/build_script_build-0e90bdf3746d668a" "-Wl,-dead_strip" "-nodefaultlibs" "-undefined" "dynamic_lookup" + = note: ld: multiple errors: unsupported mach-o filetype (only MH_OBJECT and MH_DYLIB can be linked) in '/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib/libSystem.B.dylib'; unsupported mach-o filetype (only MH_OBJECT and MH_DYLIB can be linked) in '/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib/libSystem.B.dylib'; unsupported mach-o filetype (only MH_OBJECT and MH_DYLIB can be linked) in '/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib/libSystem.B.dylib' + clang: error: linker command failed with exit code 1 (use -v to see invocation) + + + error: could not compile libm (build script) due to 1 previous error + + Caused by: + process didn't exit successfully: rustc --crate-name build_script_build --edition=2018 /opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libm-0.2.8/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' -C metadata=0e90bdf3746d668a -C extra-filename=-0e90bdf3746d668a --out-dir /opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/work/target/release/build/libm-0e90bdf3746d668a -C strip=debuginfo -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/work/target/release/deps --cap-lints allow -C link-arg=-undefined -C link-arg=dynamic_lookup (exit status: 1) + error: failed to compile rustybam v0.1.33 (/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/work), intermediate artifacts can be found at /opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/work/target. + To reuse those artifacts with a future compilation, set the environment variable CARGO_TARGET_DIR to that path. + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/work + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/rustybam-0.1.33 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/rustybam_1717516737486/work/conda_build.sh']' returned non-zero exit status 101. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/rustybam-0.1.33 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/rustybam-0.1.33 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/rustybam-0.1.33 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix +# Last 100 lines of the build log. diff --git a/recipes/rustybam/meta.yaml b/recipes/rustybam/meta.yaml index 50a07db88c904..dd6ef05dae2cf 100644 --- a/recipes/rustybam/meta.yaml +++ b/recipes/rustybam/meta.yaml @@ -5,7 +5,7 @@ package: version: {{ version }} build: - number: 0 + number: 1 source: url: https://github.com/mrvollger/rustybam/archive/v{{ version }}.tar.gz diff --git a/recipes/ryuto/build_failure.linux-64.yaml b/recipes/ryuto/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..7d44c1af724e4 --- /dev/null +++ b/recipes/ryuto/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: f50f2dade23e19224d9f122e2886fe32b677124889408b6acc119e097348bbbe # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + 26 | logger& operator=(logger const&){}; + | ^ + | return *this; + depbase=echo Graph/flow_manager/mincost_flow_square_hcost.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DPACKAGE_NAME=\"ttrans\" -DPACKAGE_TARNAME=\"ttrans\" -DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"ttrans\ 1.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"ttrans\" -DVERSION=\"1.0\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_LIBZ=1 -DHAVE_BOOST=/\*\*/ -DHAVE_BOOST_PROGRAM_OPTIONS=/\*\*/ -I. -I$PREFIX/include/htslib/ -I$PREFIX/include -I$SRC_DIR/extern/libs/include/ -fopenmp -I$SRC_DIR/extern/libs/include/ -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -L/usr/lib -Wl,-rpath,/usr/lib/ -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ryuto-1.6.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -std=c14 -MT Graph/flow_manager/mincost_flow_square_hcost.o -MD -MP -MF $depbase.Tpo -c -o Graph/flow_manager/mincost_flow_square_hcost.o Graph/flow_manager/mincost_flow_square_hcost.cc &&\ + mv -f $depbase.Tpo $depbase.Po + In file included from Graph/flow_manager/../overlap_graph/range_helper.h:14, + from Graph/flow_manager/../overlap_graph/overlap_node.h:12, + from Graph/flow_manager/base_manager.h:19, + from Graph/flow_manager/mincost_flow_base.h:11, + from Graph/flow_manager/mincost_flow_square_hcost.h:11, + from Graph/flow_manager/mincost_flow_square_hcost.cc:8: + Graph/flow_manager/../overlap_graph/../../Logger/logger.h: In member function 'logger& logger::operator=(const logger&)': + Graph/flow_manager/../overlap_graph/../../Logger/logger.h:26:38: warning: no return statement in function returning non-void [-Wreturn-type] + 26 | logger& operator=(logger const&){}; + | ^ + | return *this; + In file included from Graph/flow_manager/base_manager.h:37: + Graph/flow_manager/../../Options/options.h: In member function 'options& options::operator=(const options&)': + Graph/flow_manager/../../Options/options.h:24:40: warning: no return statement in function returning non-void [-Wreturn-type] + 24 | options& operator=(options const&){}; // assignment operator is private + | ^ + | return *this; + depbase=echo Graph/flow_manager/path_finder/path_finder.o | sed 's|[^/]*$|.deps/&|;s|\.o$||';\ + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DPACKAGE_NAME=\"ttrans\" -DPACKAGE_TARNAME=\"ttrans\" -DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"ttrans\ 1.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"ttrans\" -DVERSION=\"1.0\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_LIBZ=1 -DHAVE_BOOST=/\*\*/ -DHAVE_BOOST_PROGRAM_OPTIONS=/\*\*/ -I. -I$PREFIX/include/htslib/ -I$PREFIX/include -I$SRC_DIR/extern/libs/include/ -fopenmp -I$SRC_DIR/extern/libs/include/ -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -L/usr/lib -Wl,-rpath,/usr/lib/ -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ryuto-1.6.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -std=c14 -MT Graph/flow_manager/path_finder/path_finder.o -MD -MP -MF $depbase.Tpo -c -o Graph/flow_manager/path_finder/path_finder.o Graph/flow_manager/path_finder/path_finder.cc &&\ + mv -f $depbase.Tpo $depbase.Po + In file included from Graph/flow_manager/path_finder/../../output/../flow_graph/../pre_graph/exon_meta.h:12, + from Graph/flow_manager/path_finder/../../output/../flow_graph/exon_edge.h:16, + from Graph/flow_manager/path_finder/../../output/transcript.h:13, + from Graph/flow_manager/path_finder/../../output/alternative_transcript_collection.h:11, + from Graph/flow_manager/path_finder/path_finder.h:14, + from Graph/flow_manager/path_finder/path_finder.cc:8: + Graph/flow_manager/path_finder/../../output/../flow_graph/../pre_graph/../../Logger/logger.h: In member function 'logger& logger::operator=(const logger&)': + Graph/flow_manager/path_finder/../../output/../flow_graph/../pre_graph/../../Logger/logger.h:26:38: warning: no return statement in function returning non-void [-Wreturn-type] + 26 | logger& operator=(logger const&){}; + | ^ + | return *this; + Graph/flow_manager/path_finder/../../output/transcript.h: At global scope: + Graph/flow_manager/path_finder/../../output/transcript.h:24:122: error: 'std::set' has not been declared + 24 | void print_count_matrix_entry(std::ostream &os, std::string &gene_id, unsigned int trans_id, int main_input_id, std::set &ids); + | ^~~ + Graph/flow_manager/path_finder/../../output/transcript.h:24:125: error: expected ',' or '...' before '<' token + 24 | void print_count_matrix_entry(std::ostream &os, std::string &gene_id, unsigned int trans_id, int main_input_id, std::set &ids); + | ^ + Graph/flow_manager/path_finder/../../output/alternative_transcript_collection.h:52:74: error: 'std::set' has not been declared + 52 | void print_count_matrix(std::ostream &os, std::string &gene_id, std::set &ids); + | ^~~ + Graph/flow_manager/path_finder/../../output/alternative_transcript_collection.h:52:77: error: expected ',' or '...' before '<' token + 52 | void print_count_matrix(std::ostream &os, std::string &gene_id, std::set &ids); + | ^ + Graph/flow_manager/path_finder/../../output/alternative_transcript_collection.h:53:74: error: 'std::set' has not been declared + 53 | void print_error_matrix(std::ostream &os, std::string &gene_id, std::set &ids); + | ^~~ + Graph/flow_manager/path_finder/../../output/alternative_transcript_collection.h:53:77: error: expected ',' or '...' before '<' token + 53 | void print_error_matrix(std::ostream &os, std::string &gene_id, std::set &ids); + | ^ + Graph/flow_manager/path_finder/../../output/alternative_transcript_collection.h:57:34: error: 'std::set' has not been declared + 57 | void filter_transcripts(std::set &ids); + | ^~~ + Graph/flow_manager/path_finder/../../output/alternative_transcript_collection.h:57:37: error: expected ',' or '...' before '<' token + 57 | void filter_transcripts(std::set &ids); + | ^ + Graph/flow_manager/path_finder/../../output/alternative_transcript_collection.h:57:10: error: 'void alternative_transcript_collection::filter_transcripts(int)' cannot be overloaded with 'void alternative_transcript_collection::filter_transcripts(int)' + 57 | void filter_transcripts(std::set &ids); + | ^~~~~~~~~~~~~~~~~~ + Graph/flow_manager/path_finder/../../output/alternative_transcript_collection.h:56:10: note: previous declaration 'void alternative_transcript_collection::filter_transcripts(int)' + 56 | void filter_transcripts(int id); + | ^~~~~~~~~~~~~~~~~~ + Graph/flow_manager/path_finder/../../output/alternative_transcript_collection.h:69:26: error: 'std::set' has not been declared + 69 | void multi_vote(std::set &ids, graph_list > &keep, std::list > ®ions); + | ^~~ + Graph/flow_manager/path_finder/../../output/alternative_transcript_collection.h:69:29: error: expected ',' or '...' before '<' token + 69 | void multi_vote(std::set &ids, graph_list > &keep, std::list > ®ions); + | ^ + In file included from Graph/flow_manager/path_finder/../base_manager.h:37, + from Graph/flow_manager/path_finder/path_finder.cc:12: + Graph/flow_manager/path_finder/../../../Options/options.h: In member function 'options& options::operator=(const options&)': + Graph/flow_manager/path_finder/../../../Options/options.h:24:40: warning: no return statement in function returning non-void [-Wreturn-type] + 24 | options& operator=(options const&){}; // assignment operator is private + | ^ + | return *this; + make[1]: *** [Makefile:808: Graph/flow_manager/path_finder/path_finder.o] Error 1 + make[1]: Leaving directory '$SRC_DIR/src' + make: *** [Makefile:367: all-recursive] Error 1 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/ryuto_1717808266359/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. diff --git a/recipes/ryuto/build_failure.osx-64.yaml b/recipes/ryuto/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..d55420be510e5 --- /dev/null +++ b/recipes/ryuto/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: f50f2dade23e19224d9f122e2886fe32b677124889408b6acc119e097348bbbe # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + gzip -d -c bandm.mps.gz > bandm.mps + gzip -d -c beaconfd.mps.gz > beaconfd.mps + gzip -d -c blend.mps.gz > blend.mps + gzip -d -c bnl1.mps.gz > bnl1.mps + gzip -d -c bnl2.mps.gz > bnl2.mps + gzip -d -c boeing1.mps.gz > boeing1.mps + gzip -d -c boeing2.mps.gz > boeing2.mps + gzip -d -c bore3d.mps.gz > bore3d.mps + gzip -d -c brandy.mps.gz > brandy.mps + gzip -d -c capri.mps.gz > capri.mps + gzip -d -c cycle.mps.gz > cycle.mps + gzip -d -c czprob.mps.gz > czprob.mps + gzip -d -c d2q06c.mps.gz > d2q06c.mps + gzip -d -c d6cube.mps.gz > d6cube.mps + gzip -d -c degen2.mps.gz > degen2.mps + gzip -d -c degen3.mps.gz > degen3.mps + gzip -d -c dfl001.mps.gz > dfl001.mps + gzip -d -c e226.mps.gz > e226.mps + gzip -d -c etamacro.mps.gz > etamacro.mps + gzip -d -c fffff800.mps.gz > fffff800.mps + gzip -d -c finnis.mps.gz > finnis.mps + gzip -d -c fit1d.mps.gz > fit1d.mps + gzip -d -c fit1p.mps.gz > fit1p.mps + gzip -d -c fit2d.mps.gz > fit2d.mps + gzip -d -c fit2p.mps.gz > fit2p.mps + gzip -d -c forplan.mps.gz > forplan.mps + gzip -d -c ganges.mps.gz > ganges.mps + gzip -d -c gfrd-pnc.mps.gz > gfrd-pnc.mps + gzip -d -c greenbea.mps.gz > greenbea.mps + gzip -d -c greenbeb.mps.gz > greenbeb.mps + gzip -d -c grow15.mps.gz > grow15.mps + gzip -d -c grow22.mps.gz > grow22.mps + gzip -d -c grow7.mps.gz > grow7.mps + gzip -d -c israel.mps.gz > israel.mps + gzip -d -c kb2.mps.gz > kb2.mps + gzip -d -c lotfi.mps.gz > lotfi.mps + gzip -d -c maros-r7.mps.gz > maros-r7.mps + gzip -d -c maros.mps.gz > maros.mps + gzip -d -c modszk1.mps.gz > modszk1.mps + gzip -d -c nesm.mps.gz > nesm.mps + gzip -d -c perold.mps.gz > perold.mps + gzip -d -c pilot.mps.gz > pilot.mps + gzip -d -c pilot4.mps.gz > pilot4.mps + gzip -d -c pilot87.mps.gz > pilot87.mps + gzip -d -c pilotnov.mps.gz > pilotnov.mps + gzip -d -c recipe.mps.gz > recipe.mps + gzip -d -c sc105.mps.gz > sc105.mps + gzip -d -c sc205.mps.gz > sc205.mps + gzip -d -c sc50a.mps.gz > sc50a.mps + gzip -d -c sc50b.mps.gz > sc50b.mps + gzip -d -c scagr25.mps.gz > scagr25.mps + gzip -d -c scagr7.mps.gz > scagr7.mps + gzip -d -c scfxm1.mps.gz > scfxm1.mps + gzip -d -c scfxm2.mps.gz > scfxm2.mps + gzip -d -c scfxm3.mps.gz > scfxm3.mps + gzip -d -c scorpion.mps.gz > scorpion.mps + gzip -d -c scrs8.mps.gz > scrs8.mps + gzip -d -c scsd1.mps.gz > scsd1.mps + gzip -d -c scsd6.mps.gz > scsd6.mps + gzip -d -c scsd8.mps.gz > scsd8.mps + gzip -d -c sctap1.mps.gz > sctap1.mps + gzip -d -c sctap2.mps.gz > sctap2.mps + gzip -d -c sctap3.mps.gz > sctap3.mps + gzip -d -c seba.mps.gz > seba.mps + gzip -d -c share1b.mps.gz > share1b.mps + gzip -d -c share2b.mps.gz > share2b.mps + gzip -d -c shell.mps.gz > shell.mps + gzip -d -c ship04l.mps.gz > ship04l.mps + gzip -d -c ship04s.mps.gz > ship04s.mps + gzip -d -c ship08l.mps.gz > ship08l.mps + gzip -d -c ship08s.mps.gz > ship08s.mps + gzip -d -c ship12l.mps.gz > ship12l.mps + gzip -d -c ship12s.mps.gz > ship12s.mps + gzip -d -c sierra.mps.gz > sierra.mps + gzip -d -c stair.mps.gz > stair.mps + gzip -d -c standata.mps.gz > standata.mps + gzip -d -c standgub.mps.gz > standgub.mps + gzip -d -c standmps.mps.gz > standmps.mps + gzip -d -c stocfor1.mps.gz > stocfor1.mps + gzip -d -c stocfor2.mps.gz > stocfor2.mps + gzip -d -c tuff.mps.gz > tuff.mps + gzip -d -c vtpbase.mps.gz > vtpbase.mps + gzip -d -c wood1p.mps.gz > wood1p.mps + gzip -d -c woodw.mps.gz > woodw.mps + make[1]: Leaving directory '$SRC_DIR/extern/clp_mod/Data/Netlib' + Making all in CoinUtils + make[1]: Entering directory '$SRC_DIR/extern/clp_mod/CoinUtils' + Making all in src + make[2]: Entering directory '$SRC_DIR/extern/clp_mod/CoinUtils/src' + make all-am + make[3]: Entering directory '$SRC_DIR/extern/clp_mod/CoinUtils/src' + if /bin/sh ../../libtool --tag=CXX --mode=compile x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -Iecho . -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ryuto-1.6.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -DCOINUTILS_BUILD -MT CoinAlloc.lo -MD -MP -MF ".deps/CoinAlloc.Tpo" -c -o CoinAlloc.lo CoinAlloc.cpp; \ + then mv -f ".deps/CoinAlloc.Tpo" ".deps/CoinAlloc.Plo"; else rm -f ".deps/CoinAlloc.Tpo"; exit 1; fi + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I. -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ryuto-1.6.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -DCOINUTILS_BUILD -MT CoinAlloc.lo -MD -MP -MF .deps/CoinAlloc.Tpo -c CoinAlloc.cpp -o CoinAlloc.o + if /bin/sh ../../libtool --tag=CXX --mode=compile x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -Iecho . -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ryuto-1.6.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -DCOINUTILS_BUILD -MT CoinBuild.lo -MD -MP -MF ".deps/CoinBuild.Tpo" -c -o CoinBuild.lo CoinBuild.cpp; \ + then mv -f ".deps/CoinBuild.Tpo" ".deps/CoinBuild.Plo"; else rm -f ".deps/CoinBuild.Tpo"; exit 1; fi + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I. -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ryuto-1.6.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -DCOINUTILS_BUILD -MT CoinBuild.lo -MD -MP -MF .deps/CoinBuild.Tpo -c CoinBuild.cpp -o CoinBuild.o + make[3]: Leaving directory '$SRC_DIR/extern/clp_mod/CoinUtils/src' + make[2]: Leaving directory '$SRC_DIR/extern/clp_mod/CoinUtils/src' + make[1]: Leaving directory '$SRC_DIR/extern/clp_mod/CoinUtils' +# Last 100 lines of the build log. diff --git a/recipes/ryuto/meta.yaml b/recipes/ryuto/meta.yaml index 9d830ccaf67c3..85dfe2e933b32 100644 --- a/recipes/ryuto/meta.yaml +++ b/recipes/ryuto/meta.yaml @@ -5,7 +5,7 @@ package: version: {{ version }} build: - number: 2 + number: 3 source: url: https://github.com/studla/RYUTO/archive/{{ version }}.tar.gz diff --git a/recipes/saccharis/meta.yaml b/recipes/saccharis/meta.yaml index e6ebf9c22151a..9fc2b851b8369 100644 --- a/recipes/saccharis/meta.yaml +++ b/recipes/saccharis/meta.yaml @@ -1,7 +1,6 @@ {% set name = "SACCHARIS" %} - {% set version = "2.0.0.dev21" %} - {% set build_no = 2 %} - {% set hash = "BA68CAB1070A11D5D4F2335CB770E1603ED54E1FB4B52A31DB4CA9A6CBBD6F7E" %} +{% set version = "2.0.1.dev21" %} +{% set hash = "327FCE45E7B50BF0C52064DA883CC4A21BCE183EBACF4C4A827FE2C5BE934CB3" %} package: @@ -9,14 +8,15 @@ package: version: "{{ version }}" source: - url: https://github.com/saccharis/SACCHARIS_2/releases/download/v{{ version }}/saccharis-{{ version }}.tar.gz + # url: https://github.com/saccharis/SACCHARIS_2/releases/download/v{{ version }}/saccharis-{{ version }}.tar.gz + url: https://github.com/saccharis/SACCHARIS_2/releases/download/v2.0.1.dev21/saccharis-2.0.1.dev21_2.tar.gz sha256: {{ hash|lower }} build: noarch: python - number: {{ build_no }} + number: 2 script: {{ PYTHON }} setup.py install --single-version-externally-managed --record=record.txt - preserve_egg_dir: True # added because the entry points below seem to be causing a build error + preserve_egg_dir: True # added because the entry points below seem to be causing a build error entry_points: - saccharis = saccharis.CLI:cli_main - saccharis.make_family_files = saccharis.utils.FamilyCategories:cli_main @@ -24,11 +24,10 @@ build: - saccharis.rename_user_file = saccharis.utils.UserFastaRename:cli_main - saccharis.prune_seqs = saccharis.ExtractAndPruneCAZymes:cli_prune_seqs - saccharis.screen_cazome = saccharis.ScreenUserFile:cli_cazome - - saccharis.show_family_categories = saccharis.utils.FamilyCategories:show_categories + - saccharis.show_family_categories = saccharis.utils.FamilyCategories:cli_show_categories - saccharis-gui = saccharis.gui.PipelineGUI:main - saccharis.config = saccharis.utils.AdvancedConfig:cli_config - - saccharis.update_db = saccharis.ExtractAndPruneCAZymes:update_hmms - + - saccharis.update_db = saccharis.utils.DatabaseDownload:cli_update_hmms run_exports: - {{ pin_subpackage("saccharis", max_pin="x.x") }} @@ -38,11 +37,13 @@ requirements: - setuptools host: - python >=3.6 + - setuptools + - pip run: - beautifulsoup4 >=4.11.1 - biopython >=1.79 - blast >=2.* - - dbcan >=3.0.6, < 4 + - dbcan <4 - diamond >=2.0.15 # [not win] - fasttree >=2.1.11 # [not win] - hmmer >=3.3 # [not win] @@ -74,14 +75,21 @@ test: commands: # pipe test output to null for these tests, per https://bioconda.github.io/contributor/guidelines.html#tests - saccharis -v > /dev/null - - saccharis.show_family_categories > /dev/null -# below tests need to be commented out for successful build on bioconda because there is no file write permission -# - saccharis.make_family_files + - saccharis.show_family_categories --help > /dev/null + - saccharis.make_family_files --help > /dev/null + - saccharis.add_family_category --help > /dev/null + - saccharis.rename_user_file --help > /dev/null + - saccharis.prune_seqs --help > /dev/null + - saccharis.screen_cazome --help > /dev/null + - saccharis.config --help > /dev/null + - saccharis.update_db --help > /dev/null about: home: https://github.com/saccharis/SACCHARIS_2 dev_url: https://github.com/saccharis/SACCHARIS_2 - description: Bioinformatics pipeline to automate phylogenetic analysis of CAZyme families in FASTA sequences via creation of phylogenetic trees. - license: GPL v3 + description: Bioinformatics pipeline to automate phylogenetic analysis of CAZyme families in FASTA sequences via + creation of phylogenetic trees. + license: GPL-3.0-or-later + license_family: GPL3 license_file: LICENSE summary: A CAZyme discovery tool. Easily create phylogenetic trees from FASTA files and CAZyme families. diff --git a/recipes/safesim/meta.yaml b/recipes/safesim/meta.yaml index 428dba7169d7a..9bacc7ac6062a 100644 --- a/recipes/safesim/meta.yaml +++ b/recipes/safesim/meta.yaml @@ -10,7 +10,7 @@ source: sha256: ed291fed1bd1b74dd953b7a4d9c7cf3e291572a08daf90b53544eed13fb38466 build: - number: 2 + number: 3 requirements: build: diff --git a/recipes/sage-proteomics/build.sh b/recipes/sage-proteomics/build.sh index 0d6a1d40a3126..7e288ae106038 100644 --- a/recipes/sage-proteomics/build.sh +++ b/recipes/sage-proteomics/build.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -xe + export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" export CFLAGS="${CFLAGS} -O3 -fcommon -I${PREFIX}/include ${LDFLAGS}" @@ -8,4 +10,4 @@ export CXXFLAGS="${CXXFLAGS} -O3 -fcommon -I${PREFIX}/include ${LDFLAGS}" export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="$(pwd)/.cargo" # build statically linked binary with sage -RUST_BACKTRACE=1 cargo install --verbose -j 4 --root ${PREFIX} --path crates/sage-cli +RUST_BACKTRACE=1 cargo install --verbose -j ${CPU_COUNT} --root ${PREFIX} --path crates/sage-cli diff --git a/recipes/sage-proteomics/meta.yaml b/recipes/sage-proteomics/meta.yaml index 75e03453a0b0e..185875e7a26e2 100644 --- a/recipes/sage-proteomics/meta.yaml +++ b/recipes/sage-proteomics/meta.yaml @@ -1,13 +1,13 @@ {% set name = "sage-proteomics" %} -{% set version = "0.14.5" %} -{% set sha256 = "a85b91c6651dfd028d5807163bdb62aa4a8eb222cac03348bd607323af1238c9" %} +{% set version = "0.14.7" %} +{% set sha256 = "894b59429a67dc22592fc65fca547ee6d67f8bada71d09f7c1a81524b65fe6da" %} package: name: {{ name }} version: {{ version }} build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage('sage-proteomics', max_pin="x") }} @@ -18,8 +18,8 @@ source: requirements: build: - {{ compiler('c') }} + - {{ compiler('rust') }} host: - - rust >=1.70.0 test: commands: @@ -35,6 +35,9 @@ about: summary: "Proteomics searching so fast it feels like magic." extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - ypriverol - lazear diff --git a/recipes/sainsc/meta.yaml b/recipes/sainsc/meta.yaml new file mode 100644 index 0000000000000..d426091bed58c --- /dev/null +++ b/recipes/sainsc/meta.yaml @@ -0,0 +1,62 @@ +{% set name = "sainsc" %} +{% set version = "0.1.1" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/sainsc-{{ version }}.tar.gz + sha256: 43afd7d2c9f1b8b891893cfe730175d0e01d5443b7f17981a233109df4cbb228 + +build: + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 2 + skip: True # [(osx and not arm64) or py<310] + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + build: + - {{ compiler('rust') }} + host: + - python + - setuptools >=61.0.0 + - setuptools-scm >=6.2 + - setuptools-rust >=1.7 + - pip + run: + - python + - anndata >=0.9 + - matplotlib-base + - matplotlib-scalebar + - numba >=0.44 + - numpy >=1.21 + - pandas + - polars >=1 + - scikit-image >=0.18 + - scipy >=1.9 + - seaborn >=0.11 + +test: + imports: + - sainsc + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/HiDiHlabs/sainsc + summary: Segmentation-free Analysis of In Situ Capture data + license: MIT + license_family: MIT + license_file: LICENSE + doc_url: https://sainsc.readthedocs.io/ + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + recipe-maintainers: + - niklasmueboe diff --git a/recipes/salmon/build.sh b/recipes/salmon/build.sh index 027cadd4c97e5..0c04aede78b3b 100644 --- a/recipes/salmon/build.sh +++ b/recipes/salmon/build.sh @@ -4,22 +4,17 @@ set -eu -o pipefail mkdir -p $PREFIX/bin mkdir -p $PREFIX/lib -mkdir -p build -cd build -cmake -DCMAKE_BUILD_TYPE=RELEASE \ - -DCONDA_BUILD=TRUE \ - -DBoost_NO_BOOST_CMAKE=ON \ - -DCMAKE_OSX_DEPLOYMENT_TARGET=10.11 \ - -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX \ - -DBoost_NO_SYSTEM_PATHS=ON \ - -DNO_IPO=TRUE \ - .. -make VERBOSE=1 -echo "unit test executable" -./src/unitTests -echo "installing" -make install CFLAGS="-L${PREFIX}/lib -I${PREFIX}/include" -../tests/unitTests -echo "cmake-powered unit test" -CTEST_OUTPUT_ON_FAILURE=1 make test +export CFLAGS="${CFLAGS} -O3 -L${PREFIX}/lib -I${PREFIX}/include" +cmake -S . -B build \ + -DCMAKE_INSTALL_PREFIX:PATH="${PREFIX}" \ + -DCMAKE_BUILD_TYPE=RELEASE \ + -DCMAKE_C_FLAGS="${CFLAGS}" \ + -DCONDA_BUILD=TRUE \ + -DLIBSTADEN_LDFLAGS="-L${PREFIX}/lib" \ + -DBoost_NO_BOOST_CMAKE=ON \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=10.11 \ + -DBoost_NO_SYSTEM_PATHS=ON \ + -DNO_IPO=TRUE + +cmake --build build/ --target install -v diff --git a/recipes/salmon/meta.yaml b/recipes/salmon/meta.yaml index f5f3ede9e394b..b2dcbcab2bfcc 100644 --- a/recipes/salmon/meta.yaml +++ b/recipes/salmon/meta.yaml @@ -1,35 +1,38 @@ -{% set version="1.10.2" %} +{% set name = "salmon" %} +{% set version = "1.10.3" %} +{% set sha256 = "a053fba63598efc4ade3684aa2c8e8e2294186927d4fcdf1041c36edc2aa0871" %} package: - name: salmon + name: {{ name }} version: {{ version }} -build: - number: 0 - source: url: https://github.com/COMBINE-lab/salmon/archive/v{{ version }}.tar.gz - sha256: 976989182160fef3afb4429ee8b85d8dd39ed6ca212bb14d6a65cde0e985fb98 + sha256: {{ sha256 }} +build: + number: 2 + run_exports: + - {{ pin_subpackage("salmon", max_pin="x") }} requirements: build: + - {{ compiler('cxx') }} - autoconf + - automake + - libtool - cmake - make - - {{ compiler('cxx') }} - - {{ compiler('c') }} host: - boost-cpp - - icu + - jemalloc >=5.1.0 + - tbb-devel >=2021.4.0 - zlib - bzip2 - unzip - - jemalloc >=5.1.0 - - tbb-devel >=2021.4.0 run: - boost-cpp - - tbb >=2021.4.0 + - icu test: source_files: @@ -38,12 +41,17 @@ test: - salmon --help about: - home: https://github.com/COMBINE-lab/salmon - license: GPLv3 + home: "https://github.com/COMBINE-lab/salmon" + license: "GPL-3.0-or-later" + license_family: GPL3 license_file: LICENSE - summary: Highly-accurate & wicked fast transcript-level quantification from RNA-seq reads using selective alignment + summary: "Highly-accurate & wicked fast transcript-level quantification from RNA-seq reads using selective alignment." + dev_url: "https://github.com/COMBINE-lab/salmon" + doc_url: "https://combine-lab.github.io/salmon" extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - rob-p - k3yavi diff --git a/recipes/salty/meta.yaml b/recipes/salty/meta.yaml index baee1a01d7b94..1b9e8d2ffcbfa 100644 --- a/recipes/salty/meta.yaml +++ b/recipes/salty/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.0.5" %} +{% set version = "1.0.6" %} {% set name = "salty" %} package: @@ -7,12 +7,14 @@ package: source: url: https://github.com/LanLab/{{ name }}/archive/v{{ version }}.tar.gz - sha256: 85cc90e93fdce30685a9c0c2fecc0d3079c0d7903c02eba9096a1b73e2c4fbd6 + sha256: 85c7fd21665606e9e31807c36a6e6edf5dd77a41a3929eb10c94291cede6ff4b build: noarch: python - number: 1 + number: 0 script: {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: host: @@ -21,7 +23,7 @@ requirements: run: - python >=3.7 - kma >=1.4.9 - - pandas >=1.5.0 + - pandas >=2.0 - mlst >=2.23.0 test: diff --git a/recipes/sam2lca/meta.yaml b/recipes/sam2lca/meta.yaml index 721c30ad9f321..1a23c3b4a533d 100644 --- a/recipes/sam2lca/meta.yaml +++ b/recipes/sam2lca/meta.yaml @@ -1,5 +1,5 @@ {% set name = "sam2lca" %} -{% set version = "1.1.3" %} +{% set version = "1.1.4" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/sam2lca-{{ version }}.tar.gz - sha256: d1789f06a0ea15949e45b9cb61ad32249663481750d5082d523d615b5d0e8c5f + sha256: c1d26f67458c2ad3ff8541b4ecf672c97c81fd65c91092beefab10cdea6f945b build: entry_points: @@ -15,6 +15,8 @@ build: noarch: python script: {{ PYTHON }} -m pip install . -vv number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: host: diff --git a/recipes/sam2pairwise/build.sh b/recipes/sam2pairwise/build.sh new file mode 100644 index 0000000000000..4d70a6638a306 --- /dev/null +++ b/recipes/sam2pairwise/build.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +mkdir -p $PREFIX/bin + +cd src +make CC=$CXX CXX=$CXX +cp sam2pairwise $PREFIX/bin diff --git a/recipes/sam2pairwise/meta.yaml b/recipes/sam2pairwise/meta.yaml new file mode 100644 index 0000000000000..fd0995c223f9b --- /dev/null +++ b/recipes/sam2pairwise/meta.yaml @@ -0,0 +1,39 @@ +{% set name = "sam2pairwise" %} +{% set version = "1.0.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + +source: + url: https://github.com/mlafave/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: 899d3db071cc248870bbedbdb39784de4c54c9a7888bc408022e809ace47ec0e + patches: + - patch.txt + +requirements: + build: + - {{ compiler('cxx') }} + - make + +test: + commands: + - sam2pairwise --version + +about: + home: https://github.com/mlafave/sam2pairwise + license: MIT + license_file: LICENSE + summary: 'sam2pairwise takes a SAM file and uses the CIGAR and MD tag to reconstruct the pairwise alignment of each read' + doc_url: https://github.com/mlafave/sam2pairwise/blob/master/README.md + dev_url: https://github.com/mlafave/sam2pairwise + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/sam2pairwise/patch.txt b/recipes/sam2pairwise/patch.txt new file mode 100644 index 0000000000000..35031e34c8af2 --- /dev/null +++ b/recipes/sam2pairwise/patch.txt @@ -0,0 +1,10 @@ +--- src/Makefile 2014-08-22 13:02:24.000000000 -0700 ++++ src/Makefile_new 2024-09-11 10:27:50.000000000 -0700 +@@ -1,5 +1,5 @@ +-CXX = g++ +-CC = g++ ++CXX ?= g++ ++CC ?= g++ + + sam2pairwise: sam2pairwise.o isolate_md.o shift_cigar.o shift_md.o translate_cigar.o translate_md.o + diff --git a/recipes/sambamba/0001-fix-osx-compile.patch b/recipes/sambamba/0001-fix-osx-compile.patch new file mode 100644 index 0000000000000..51886baa1f14b --- /dev/null +++ b/recipes/sambamba/0001-fix-osx-compile.patch @@ -0,0 +1,24 @@ +--- a/Makefile ++++ b/Makefile +@@ -32,16 +32,18 @@ + D_COMPILER=ldc2 + CC=gcc + ++BIOD_PATH=./BioD:./BioD/contrib/msgpack-d/src ++DFLAGS = -wi -I. -I$(BIOD_PATH) -g -J. ++LDFLAGS = ++ + UNAME_S := $(shell uname -s) + ifeq ($(UNAME_S),Darwin) + SYS = OSX + else + SYS = LINUX ++ LDFLAGS += -L=-flto=full + endif + +-BIOD_PATH=./BioD:./BioD/contrib/msgpack-d/src +-DFLAGS = -wi -I. -I$(BIOD_PATH) -g -J. +-LDFLAGS = -L=-flto=full + + # DLIBS = $(LIBRARY_PATH)/libphobos2-ldc.a $(LIBRARY_PATH)/libdruntime-ldc.a + # DLIBS_DEBUG = $(LIBRARY_PATH)/libphobos2-ldc-debug.a $(LIBRARY_PATH)/libdruntime-ldc-debug.a diff --git a/recipes/sambamba/build.sh b/recipes/sambamba/build.sh index af31e1ce534cb..d05576daff9c5 100644 --- a/recipes/sambamba/build.sh +++ b/recipes/sambamba/build.sh @@ -1,17 +1,15 @@ #!/bin/bash -set -eux + +set -xe export C_INCLUDE_PATH=${PREFIX}/include export LIBRARY_PATH=${PREFIX}/lib -if [ $(uname) == "Darwin" ]; then - export LDFLAGS="-headerpad_max_install_names ${LDFLAGS}" -fi +# Running `make check` recompiles as an unoptimised binary so must be done prior to release compile +make -j ${CPU_COUNT} check CC=${CC} -sed -e "/^CC=/d" Makefile > Makefile.new -mv Makefile.new Makefile -make CC=${CC} LIBRARY_PATH=${PREFIX}/lib prefix=${PREFIX} -make test CC=${CC} +make -j ${CPU_COUNT} release CC=${CC} LIBRARY_PATH=${PREFIX}/lib make install prefix=${PREFIX} + # The binaries are versioned for some reason mv ${PREFIX}/bin/sambamba-* ${PREFIX}/bin/sambamba diff --git a/recipes/sambamba/meta.yaml b/recipes/sambamba/meta.yaml index ef2f075db101e..4f6491692d307 100644 --- a/recipes/sambamba/meta.yaml +++ b/recipes/sambamba/meta.yaml @@ -1,6 +1,6 @@ {% set name = "sambamba" %} -{% set version = "1.0" %} -{% set sha256 = "4181ae6bcd2852d7264cc8858efa9fe66d0cd29e90b9a28102d29b526ee056bc" %} +{% set version = "1.0.1" %} +{% set sha256 = "955a51a00be9122aa9b0c27796874bfdda85de58aa0181148ef63548ea5192b0" %} package: name: {{ name }} version: {{ version }} @@ -8,23 +8,28 @@ package: source: url: https://github.com/biod/sambamba/archive/refs/tags/v{{ version }}.tar.gz sha256: {{ sha256 }} + patches: + - 0001-fix-osx-compile.patch build: - number: 0 + number: 2 + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} + ignore_run_exports: + - bzip2 + - xz requirements: build: - - make - {{ compiler('c') }} - - python >=3 + - make + - python host: - - ldc >=1.17.0 - bzip2 - - zlib - - xz + - ldc >=1.17.0 - lz4-c - run: - - {{ pin_compatible('ldc', max_pin='x.x') }} + - xz + - zlib test: commands: @@ -34,12 +39,14 @@ about: home: "https://github.com/biod/sambamba" doc_url: "https://lomereiter.github.io/sambamba/docs/sambamba-view.html" dev_url: "https://github.com/biod/sambamba" - license: GPL2 + license: GPL-2.0-only license_family: GPL2 license_file: LICENSE summary: "Tools for working with SAM/BAM data" extra: + additional-platforms: + - linux-aarch64 identifiers: - doi:10.1093/bioinformatics/btv098 recipe-maintainers: diff --git a/recipes/samblaster/build.sh b/recipes/samblaster/build.sh index 6c134704ab89c..e583b50b8c314 100644 --- a/recipes/samblaster/build.sh +++ b/recipes/samblaster/build.sh @@ -3,5 +3,5 @@ BIN=$PREFIX/bin mkdir -p $BIN sed -i.bak 's/CPPFLAGS = /CPPFLAGS = $(CXXFLAGS) /' Makefile -make CPP=$CXX +make CPP=$CXX -j${CPU_COUNT} cp samblaster $BIN diff --git a/recipes/samblaster/meta.yaml b/recipes/samblaster/meta.yaml index 25b42d4cf8568..016234e899fb5 100644 --- a/recipes/samblaster/meta.yaml +++ b/recipes/samblaster/meta.yaml @@ -1,5 +1,7 @@ build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage('samblaster', max_pin='x.x') }} # Started based on: https://anaconda.org/Judowill/samblaster @@ -25,3 +27,7 @@ about: home: https://github.com/GregoryFaust/samblaster license: MIT summary: Mark duplicates in and extract discordant and split reads from SAM files. + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/samestr/meta.yaml b/recipes/samestr/meta.yaml index 36690b13adb95..54a00dc7df83f 100644 --- a/recipes/samestr/meta.yaml +++ b/recipes/samestr/meta.yaml @@ -1,5 +1,5 @@ {% set name = "samestr" %} -{% set version = "1.2023.4" %} +{% set version = "1.2024.8" %} package: name: "{{ name|lower }}" @@ -7,12 +7,14 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 268b26ea7e7225373ea35ff75f30e4f0f8840946a92469b6bf51a7433d0b7d2c + sha256: e729a58652f019d5384f121565b2ca4faba19bee144af4d3bc88e6dfabc29a14 build: number: 0 - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" noarch: python + run_exports: + - {{ pin_subpackage('samestr', max_pin=None) }} requirements: host: @@ -27,7 +29,7 @@ requirements: - scipy ==1.10.0 - blast >=2.6.0 - muscle ==3.8.1551 - - mafft ==7.515 + - mafft ==7.525 - samtools ==0.1.19 test: @@ -47,7 +49,7 @@ test: about: home: "https://github.com/danielpodlesny/samestr/" - license: "GNU Affero General Public License v3" + license: "AGPL-3.0-or-later" license_family: AGPL license_file: LICENSE summary: "SameStr identifies shared strains between pairs of metagenomic samples based on the similarity of SNV profiles." diff --git a/recipes/samshee/meta.yaml b/recipes/samshee/meta.yaml new file mode 100644 index 0000000000000..103a21643be3f --- /dev/null +++ b/recipes/samshee/meta.yaml @@ -0,0 +1,46 @@ +{% set name = "samshee" %} +{% set version = "0.2.1" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://files.pythonhosted.org/packages/82/fa/895448adfc9be87b7af0a46b5c84eeae752d685966eba02d572e5c670f08/samshee-0.2.1.tar.gz + sha256: e85d9363de533dab91e3190c52eda9034cbaf1e53c03f0b33f4f9b433e800b76 + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('samshee', max_pin="x.x.x") }} + +requirements: + host: + - python >=3.9 + - setuptools >=61.0 + - pip + run: + - python >=3.9 + - jsonschema >=4.19 + - requests >=2.31.0 + +test: + imports: + - samshee + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/lit-regensburg/samshee + summary: A schema-agnostic parser and writer for illumina sample sheets v2. + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - j4cko + - nschcolnicov diff --git a/recipes/samsum/meta.yaml b/recipes/samsum/meta.yaml index 6988988dd4f66..44e818532e543 100644 --- a/recipes/samsum/meta.yaml +++ b/recipes/samsum/meta.yaml @@ -10,11 +10,12 @@ source: sha256: 36b1fc0eaa4da1b7a70d2791357c7547612c9653e4e0ea7db39ba96cdd03ffc5 build: - number: 3 - skip: True # [py2k] + number: 5 entry_points: - samsum = samsum.__main__:main script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: build: @@ -45,5 +46,7 @@ about: summary: A light-weight python package for summarizing sequence coverage from SAM and BAM files extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - cmorganl diff --git a/recipes/samtools/meta.yaml b/recipes/samtools/meta.yaml index 80c070b43d5c7..e0a4803383159 100644 --- a/recipes/samtools/meta.yaml +++ b/recipes/samtools/meta.yaml @@ -1,17 +1,17 @@ -{% set version = "1.18" %} +{% set version = "1.21" %} package: name: samtools version: {{ version }} build: - number: 1 + number: 0 run_exports: - {{ pin_subpackage("samtools", max_pin="x") }} source: url: https://github.com/samtools/samtools/releases/download/{{ version }}/samtools-{{ version }}.tar.bz2 - sha256: d686ffa621023ba61822a2a50b70e85d0b18e79371de5adb07828519d3fc06e1 + sha256: 05724b083a6b6f0305fcae5243a056cc36cf826309c3cb9347a6b89ee3fc5ada requirements: build: @@ -35,6 +35,9 @@ test: - samtools view 'https://example.com' 2>&1 | grep 'fail to read the header' -q extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - biotools:samtools - usegalaxy-eu:samtools_flagstat diff --git a/recipes/samwell/build_failure.linux-64.yaml b/recipes/samwell/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..7f0351414c774 --- /dev/null +++ b/recipes/samwell/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 689d625fb6b06367acb3535444209289a914e0a9f6dc6501a50e1fe04f6b4558 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + [31mpysam [0.15.3|0.15.4][0m would require + [31mpython >=3.7,<3.8.0a0 [0m, which conflicts with any installable versions previously reported; + [32mpysam [0.15.4|0.16.0|...|0.21.0][0m would require + [32mpython_abi 3.6.* *_cp36m[0m, which can be installed; + [32mpysam [0.15.4|0.16.0|...|0.21.0][0m would require + [32mpython_abi 3.7.* *_cp37m[0m, which can be installed; + [32mpysam [0.16.0.1|0.17.0|...|0.20.0][0m would require + [32mpython_abi 2.7.* *_cp27mu[0m, which can be installed; + [32mpysam [0.16.0.1|0.17.0|...|0.22.1][0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mpysam [0.16.0.1|0.17.0|...|0.22.1][0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [32mpysam [0.19.1|0.20.0|0.21.0|0.22.0|0.22.1][0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [31mpython >=3.11,<3.12.0a0 [0m, which cannot be installed (as previously explained); + [31mpython_abi 3.11.* *_cp311[0m is not installable because it conflicts with any installable versions previously reported. + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2409, in build + create_build_envs(top_level_pkg, notest) + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2247, in create_build_envs + raise e + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2220, in create_build_envs + environ.get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("libdeflate[version='>=1.0,<1.1.0a0']"), MatchSpec("pysam==0.15.3=py27h5ad169c_0")} + Encountered problems while solving: + - package pysam-0.15.3-py27h5ad169c_0 requires libdeflate >=1.0,<1.1.0a0, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + [32mpybedlite >=0.0.1 [0m is installable with the potential options + [31mpybedlite [0.0.1|0.0.2|0.0.3|0.0.4|0.1.0][0m conflicts with any installable versions previously reported; + [32mpybedlite 0.1.0[0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [31mpybedlite 0.1.0[0m would require + [31mpython >=3.11,<3.12.0a0 [0m, which requires + [31mpython_abi 3.11.* *_cp311[0m, which conflicts with any installable versions previously reported; + [32mpybedlite 0.1.0[0m would require + [32mpython_abi 3.12.* *_cp312[0m, which can be installed; + [32mpybedlite 0.1.0[0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mpybedlite 0.1.0[0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [32mpysam >=0.15.3 [0m is installable with the potential options + [31mpysam [0.15.3|0.15.4][0m would require + [31mpython >=2.7,<2.8.0a0 [0m, which conflicts with any installable versions previously reported; + [31mpysam 0.15.3[0m would require + [31mlibdeflate >=1.0,<1.1.0a0 [0m, which conflicts with any installable versions previously reported; + [31mpysam [0.15.3|0.15.4][0m would require + [31mpython >=3.6,<3.7.0a0 [0m, which conflicts with any installable versions previously reported; + [31mpysam [0.15.3|0.15.4][0m would require + [31mpython >=3.7,<3.8.0a0 [0m, which conflicts with any installable versions previously reported; + [32mpysam [0.15.4|0.16.0|...|0.21.0][0m would require + [32mpython_abi 3.6.* *_cp36m[0m, which can be installed; + [32mpysam [0.15.4|0.16.0|...|0.21.0][0m would require + [32mpython_abi 3.7.* *_cp37m[0m, which can be installed; + [32mpysam [0.16.0.1|0.17.0|...|0.20.0][0m would require + [32mpython_abi 2.7.* *_cp27mu[0m, which can be installed; + [32mpysam [0.16.0.1|0.17.0|...|0.22.1][0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mpysam [0.16.0.1|0.17.0|...|0.22.1][0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [32mpysam [0.19.1|0.20.0|0.21.0|0.22.0|0.22.1][0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [31mpython >=3.11,<3.12.0a0 [0m, which cannot be installed (as previously explained); + [31mpython_abi 3.11.* *_cp311[0m is not installable because it conflicts with any installable versions previously reported. +# Last 100 lines of the build log. diff --git a/recipes/samwell/build_failure.osx-64.yaml b/recipes/samwell/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..e9c72dcb9cbae --- /dev/null +++ b/recipes/samwell/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 689d625fb6b06367acb3535444209289a914e0a9f6dc6501a50e1fe04f6b4558 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {MatchSpec("python[version='>=2.7,<2.8.0a0']"), MatchSpec("pysam==0.15.3=py27h4ace0ce_3")} + Encountered problems while solving: + - package pysam-0.15.3-py27h4ace0ce_3 requires python >=2.7,<2.8.0a0, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + pysam >=0.15.3 is installable with the potential options + pysam 0.15.3 would require + libdeflate >=1.0,<1.1.0a0 , which conflicts with any installable versions previously reported; + pysam [0.15.3|0.15.4] would require + python >=2.7,<2.8.0a0 , which can be installed; + pysam [0.15.3|0.15.4] would require + python >=3.6,<3.7.0a0 , which can be installed; + pysam [0.15.3|0.15.4] would require + python >=3.7,<3.8.0a0 , which can be installed; + pysam [0.15.4|0.16.0|...|0.21.0] would require + python_abi 3.6.* *_cp36m, which can be installed; + pysam [0.15.4|0.16.0|...|0.21.0] would require + python_abi 3.7.* *_cp37m, which can be installed; + pysam [0.16.0.1|0.17.0|...|0.20.0] would require + python_abi 2.7.* *_cp27m, which can be installed; + pysam [0.16.0.1|0.17.0|...|0.22.1] would require + python_abi 3.8.* *_cp38, which can be installed; + pysam [0.16.0.1|0.17.0|...|0.22.1] would require + python_abi 3.9.* *_cp39, which can be installed; + pysam [0.19.1|0.20.0|0.21.0|0.22.0|0.22.1] would require + python_abi 3.10.* *_cp310, which can be installed; + python_abi 3.12.* *_cp312 is not installable because it requires + python 3.12.* *_cpython, which conflicts with any installable versions previously reported. + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2409, in build + create_build_envs(top_level_pkg, notest) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2247, in create_build_envs + raise e + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2220, in create_build_envs + environ.get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {MatchSpec("python[version='>=2.7,<2.8.0a0']"), MatchSpec("pysam==0.15.3=py27h4ace0ce_3")} + Encountered problems while solving: + - package pysam-0.15.3-py27h4ace0ce_3 requires python >=2.7,<2.8.0a0, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + pysam >=0.15.3 is installable with the potential options + pysam 0.15.3 would require + libdeflate >=1.0,<1.1.0a0 , which conflicts with any installable versions previously reported; + pysam [0.15.3|0.15.4] would require + python >=2.7,<2.8.0a0 , which can be installed; + pysam [0.15.3|0.15.4] would require + python >=3.6,<3.7.0a0 , which can be installed; + pysam [0.15.3|0.15.4] would require + python >=3.7,<3.8.0a0 , which can be installed; + pysam [0.15.4|0.16.0|...|0.21.0] would require + python_abi 3.6.* *_cp36m, which can be installed; + pysam [0.15.4|0.16.0|...|0.21.0] would require + python_abi 3.7.* *_cp37m, which can be installed; + pysam [0.16.0.1|0.17.0|...|0.20.0] would require + python_abi 2.7.* *_cp27m, which can be installed; + pysam [0.16.0.1|0.17.0|...|0.22.1] would require + python_abi 3.8.* *_cp38, which can be installed; + pysam [0.16.0.1|0.17.0|...|0.22.1] would require + python_abi 3.9.* *_cp39, which can be installed; + pysam [0.19.1|0.20.0|0.21.0|0.22.0|0.22.1] would require + python_abi 3.10.* *_cp310, which can be installed; + python_abi 3.12.* *_cp312 is not installable because it requires + python 3.12.* *_cpython, which conflicts with any installable versions previously reported. +# Last 100 lines of the build log. diff --git a/recipes/samwell/meta.yaml b/recipes/samwell/meta.yaml index 70dcccc0a9880..7a8b8e69dda01 100644 --- a/recipes/samwell/meta.yaml +++ b/recipes/samwell/meta.yaml @@ -13,7 +13,7 @@ source: - do_not_require_cython.patch build: - number: 2 + number: 3 skip: true # [py2k] script: {{ PYTHON }} -m pip install . -vv diff --git a/recipes/sankoff/meta.yaml b/recipes/sankoff/meta.yaml index e2e37c4e8fa7d..1756c57184eae 100644 --- a/recipes/sankoff/meta.yaml +++ b/recipes/sankoff/meta.yaml @@ -10,7 +10,7 @@ source: sha256: '4e0f5308b8b2030a1643c4185ba68a8d99836b87c5cf2bfb6d3a3263b0c1b2e4' build: - number: 3 + number: 4 requirements: build: diff --git a/recipes/sanntis/meta.yaml b/recipes/sanntis/meta.yaml index 8924ab66247f5..b6732c54e0ef3 100644 --- a/recipes/sanntis/meta.yaml +++ b/recipes/sanntis/meta.yaml @@ -1,6 +1,6 @@ {% set name = "sanntis" %} -{% set version = "0.9.3.4" %} -{% set sha256 = "a5b1fad410981e330827949699f29dd9a521bafbbef0ea2859ae33bd3add024e" %} +{% set version = "0.9.3.5" %} +{% set sha256 = "6e6753afb557fd4c1a5bb63059bfe9ce68bcdaf64a41162494cb5ebbef16ab18" %} package: name: {{ name }} @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 0 + number: 1 noarch: python entry_points: - sanntis = sanntis._cli:main @@ -25,6 +25,7 @@ requirements: - pip run: - python >=3.9 + - scipy >=1.7.3,<1.8.0 - perl >=5 - biopython - numpy >=1.16,<1.20 diff --git a/recipes/sansa/build.sh b/recipes/sansa/build.sh index a3f3b721a6495..89d206cac27f5 100644 --- a/recipes/sansa/build.sh +++ b/recipes/sansa/build.sh @@ -1,5 +1,3 @@ #!/bin/sh -make all CXX=$CXX CXXFLAGS="-D__STDC_FORMAT_MACROS -I${PREFIX}/include -L${PREFIX}/lib" -mkdir -p $PREFIX/bin -cp src/sansa $PREFIX/bin +CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS" make -j${CPU_COUNT} CXX="${CXX}" prefix="${PREFIX}" install diff --git a/recipes/sansa/meta.yaml b/recipes/sansa/meta.yaml index 0cab341eedf48..67c87723a5111 100644 --- a/recipes/sansa/meta.yaml +++ b/recipes/sansa/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.0.8" %} -{% set sha256 = "124abc76cd65d13dbc3f1bc701af266d55e3d58be618f01b772d6d9dd6b185ee" %} +{% set version = "0.2.2" %} +{% set sha256 = "2bec3df6918a8dda9d0f5f766c5314137c18956e83601b93606ff2037f2662d4" %} package: name: sansa @@ -10,16 +10,24 @@ source: sha256: '{{ sha256 }}' build: - number: 6 + number: 1 + run_exports: + - {{ pin_subpackage('sansa', max_pin="x.x") }} requirements: build: - make - {{ compiler('cxx') }} host: + - zlib + - bzip2 + - libdeflate - boost-cpp - htslib run: + - zlib + - bzip2 + - libdeflate - boost-cpp - htslib @@ -29,7 +37,12 @@ test: about: home: https://github.com/dellytools/sansa - license: BSD License + license: BSD-3-Clause license_family: BSD license_file: LICENSE summary: Structural variant annotation + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/sativa/build.sh b/recipes/sativa/build.sh index 4c880d868a6ea..9f821444e5974 100644 --- a/recipes/sativa/build.sh +++ b/recipes/sativa/build.sh @@ -3,30 +3,9 @@ export USE_AVX=yes export USE_AVX2=yes -case `uname` in -Darwin) export DARWIN=1;; -Linux) export DARWIN=0;; -*) echo "Unknown architecture"; exit 1;; -esac - -make -C ./raxml CC="$CC" - -install -d ${PREFIX}/tmp -install -d ${PREFIX}/bin - -if [ $DARWIN -eq 1 ]; then - install sativa.cfg *.py ${PREFIX} -else - install -t ${PREFIX} *.py sativa.cfg -fi - -# Place a symlink to sativa.py in bin/ -( cd ${PREFIX}/bin; ln -s ../sativa.py . ) - -mkdir ${PREFIX}/raxml -cp ./raxml/raxmlHPC8* ./raxml/*.sh ${PREFIX}/raxml - -cp -r ./epac ${PREFIX} -cp -r ./tests ${PREFIX} -cp -r ./example ${PREFIX} +make -C raxml +cp -r raxml ${PREFIX}/bin +cp -r epac ${PREFIX}/bin +cp *.py ${PREFIX}/bin +cp sativa.cfg ${PREFIX}/bin diff --git a/recipes/sativa/gpl_license b/recipes/sativa/gpl_license new file mode 100644 index 0000000000000..818433ecc0e09 --- /dev/null +++ b/recipes/sativa/gpl_license @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/recipes/sativa/meta.yaml b/recipes/sativa/meta.yaml index 600f238ce24c5..7fa6e1aee16b4 100644 --- a/recipes/sativa/meta.yaml +++ b/recipes/sativa/meta.yaml @@ -1,5 +1,5 @@ {% set name = "sativa" %} -{% set version = "0.9.1" %} +{% set version = "0.9.3" %} package: name: {{ name|lower }} @@ -7,10 +7,13 @@ package: source: url: https://github.com/amkozlov/sativa/archive/refs/tags/v{{ version }}.zip - sha256: 14b772c7e1bc242655e1876e7492fd8d50d363058236bdf513aa5afca7d94841 + sha256: 0d0ae82f0f9608f51301ecadc367f85653fe9954855d9ebbbef8f889eef586b8 build: - number: 1 + number: 0 + skip: true # [osx] + run_exports: + - {{ pin_subpackage('sativa', max_pin="x.x") }} requirements: build: @@ -23,16 +26,17 @@ requirements: - python >=3.0.0 test: - imports: - - unittest + files: + - sequences.alnfna + - taxonomy.tsv commands: -# - python sativa.py -h - - python -m unittest discover -v + - sativa.py -s sequences.alnfna -t taxonomy.tsv -x bac -debug about: home: https://github.com/amkozlov/sativa license: GPL-3 license_family: GPL + license_file: gpl_license summary: "SATIVA Semi-Automatic Taxonomy Improvement and Validation Algorithm" extra: diff --git a/recipes/sativa/sequences.alnfna b/recipes/sativa/sequences.alnfna new file mode 100644 index 0000000000000..7e0aa83c9190c --- /dev/null +++ b/recipes/sativa/sequences.alnfna @@ -0,0 +1,230 @@ +>RS_GCF_000019605.1~NC_010482.1 +---GGTTGATCCTGCCGGAGGGAAC-----CCCTATCGGGCTCGCACTAAGCCATGCGAG +TCTGCTGGGGG------------------------------------------------- +------------------------------------CCCCTGCCCCTGGCGGCGCACGGC +TCCGTAATACACGGTCAACCTGTCCTGGGGACCGGGATAA-------------------- +CCTCGGGAAACTGAGGTTAAT---ACCGGATAGGGGTGGATTCCTGGAATGGGTCCACCC +CTAAAGTAGGCGGGGGGACG-GCC-----CCGCTGAGGCCCCAGGGTGGGACCGTGGCCT +AT-CAGG----TAGTAGGTGGGGTA---------ACGGCCCACCTAGCCTAAGACGGGTA +CGGG------CTCTGAGAG-GAGG-AGCCCGGAGATGGGCACTGAGACAAGGGCCCAGGC +C-CTACGGGGCGCAGCAG--------GCGGGAAACTTCCCCAATG-----CGCGCAAGCG +TGAGGGAGTGAGCCCGAGTGCCGCCCGCTGAGGG------CGGCTGTTCCCCTGTGTAA- +--------A-AAG-------CAGGGGGTAGGAAG-GGGAG-------GGTAAGGCTGGTG +------------------------------------------------------------ +------------------------------------------------------------ +------------------------------------------------------------ +------------------------------------------------------------ +------------------------------------------------------------ +------------------------------------------------------------ +------------------CCAGCCGCCGCGGTAAAACCAGC---------TCC-CCGA-- +-GGG--GTTCCCACGCATACTGGGCCTAAAGCGTCCGTAGCCGGCCCCGTAAGTCCTCGG +TT---AAATCCGC--CTGAAGACAGG--CGGACCGCCGAGGAT------A--CTGCGGGG +C-TAGGGAGC--GGGAGGGGCCGAGGGTATTCCGGGGGGAGCGGTAAAATGCGT------ +------------------------------------------AGATCCCCGGAGGACC-- +-ACCAGTGGCGAAGGCGCTCGGCTGGAACGCGTCCGACGGTGAGGG--------ACGAAA +GCTGGG-GGAG------------------CAAACCGGATTAGATACCCGGGTAGTCCCAG +CCGTAAACGATGCCGG---CTAGGTGCCG---GCTGAGG---------TTTCGGCCTCAG +CCGGTGTCGA---------------------AGCGAAGGCATTAAGCCGGCCGC-CTGAG +GAGTACAGCCGCAAGGCCGAAA----------CTTAAAGGAATTG-ACGGGGGGGC---- +------------------------------------------------------------ +--------------------------ACCACAAGGGGTGAATGCCTGCGGCTCAATTGGA +CTCAACGCCGGGAATC-TTACCGGGGGCGACAGCAGGATGAAGGTCAGG----------- +------------------------------------------------------------ +--------------------------------------CTG-------AA---------- +-------GACCTTACCTGAC----GCGCTGAG--GG-GTGGTGCATGGC---------CG +TCGCCAGCTCGTGCCGTGAGGTGT--CCTGTTAAGTCAGGC-------AACGAGCGAGAC +-CCCCGCCCTC-AGTTGCCAGCGGGGCCTT-ACGGCTGG-C-CG-GGCAAACTGGGGGGA +CTGCCGGCGAAGA---GCCGGAGGAAGGAGGGGGCTACGGCAGGTCAGTATGCCCCTAAT +C---CCCCGGGCCGCACGCGGGCTGCAATGGGCGGGACA---GCGG---------G-ATG +CGAC-CCCGAGAGGGGGAGCAAATCCCTGAAACCCGCCCGT-G--GTTGGGATCGAGGGT +TGCAACTCGCCCTCGTGA-ACCCGGAATCCCTAGTAACCGCGGTTCTCC-ATAC------ +----------------------------CGCGGTGAATACGTCCCTGCCCCTTGTACACA +CCGCCCGTCAACCCACCCGAGTGGACTTGGGGCGAGGCCCAGCTCAA------------- +-------------------TGGCTGGGTCGAGCTTTGGGTCCGCGAGGGGGGGTAAGTCG +TAACAAGGTAGCCGTAG---GGGAACCTGCGGCTGGATCACCTCCC-------------- +------------------------------------------------------------ +------------------- +>RS_GCF_000092465.1~NC_014205.1 +------------------------------------------------------------ +------------------------------------------------------------ +----------------------AGGTGATCCA----GCCGCAGGTTCCCCTACGGCTACC +TTGTTACGACTTCTCCCCCCTTGGGAGGGGGGAGTTCGACCTGGCCCCC----CGGGTTT +CCCCGGGAGACCAGGCCTCAC---TCCCCCCTCCCTCGGGTGGAGCGACGGGCGGTGTGT +GCAAGGAGCAGGGA--CG---TATTC--ACCGC-GCGATGATGACGCGCGGTTACTAGGG +ATTCCACGTTCACGAGGG-CGAGTT------------------GCAGCCCTCGATCCCAA +CTGCGGCGGGGTTTGAGGGATTGCCTCCCCCTTAC-GGGGTCGGATCCCGCTGTCCCCGC +CATTGTAGCCC---------------GCGTGTAGCCCGGGGGATT-----CGGGGCATGC +TGAC-------------------------------------------------------- +---------------------------------------------CTGCCGTGGCCCCCT +CCTTCCTCCGCCTTATACGGCGGCAGTCCCCCTAGTGTG-CCCC-GG--AGCCGGAGCTC +CGGGTAGCAACTAGGGGCGGGGGT-CTCGCTCGTTGC------------CGGACTTAACC +GGACACCTCACGG----CACGAGCTGGCGACGGCCATGCACCTCCTCTCAGCGCG----- +-TCGGGCAA--------------------------------------------------- +------------------------------------------------------------ +---------------------------GGCCGTTAGCCTGGCCGTCATC-CTGCTG---- +------------------------------------------------------------ +------------------------------------------------------------ +--------------------------TCGCCCCCGGTGAGG------------TTCCCGG +CGTTGACTCCAATTAAACCG--CAGGCTCCACC---CCTTGTGGTGCTCCCCCGC----- +-------------------CAATTCCTTTAAGTTTCAGCCTTGCGGCCGTACTCCCCAG- +-GCGGCGGGCTTAACGGCTTCCCTGCGGCACTGGGCGGGCTCT-AA-G-CCCGCCCAACA +CCTAGCCCGCATCGT---------------TTACAGCCGGGACTACCCGGGTATCTAATC +CGGTTCGCTCCCCC------------------GGCTTTCGCCCCTCACCGTCG------- +----------------GGCGCGTTCCAGCCGAGCGCCTTCGCCACTGGTGGTCCTCCCGG +GATTATAGGATTTCGCCCCTAC-----------C------------------CCGGGAGT +ACCCTCGGCCTCTCCCGCCCCCTAGCCTGGCAGTTTCCCCTCCAGTC-C-CCGGGTTGAG +CCCGGGGATTTAGGAGGGGACTTG-CCAGGCCGGCTACGG------GCGCTTTAGGCCCA +ATAATCGTCCCGA----CCACTCGCGGGGCTGGTATTACCGCGGCGGCTGACACCAGTCT +TGCCCCCCGCTTATTCCCCC---------------------------------------- +------------------------------------------------------------ +-----GCCTTCTTACAGCGG-GGAAAAGCCCC------CT-AATTAGGGGGCACTCGGGG +TGACCCCGTCACGGTTGCCCGCAT--TGCGGAGGTTTCGCGCCTGGTGCACCCCGTAGGG +CCTGGGCCCTTGTCT--CAGTGCCCATCTG----GGGGC-----TCCCGCTCTCA-CGGC +CCCTACCCGTTATCGGCTTGGCGGGCCGTTACCCCGCCAACTACCTG-ATGGGCCGCAGC +CCCATCCTCGGGCTGCGCGGCGGCGATAACCCCCGCCGCA--CCC--TTTCGGGGAGGAA +CCCTTCCAGGCGTCCT---CCCCTATGG-GGGATTAGCACC-A--GTTTCCC---GG-TG +TTATCCCCCTCCCGAGGGTAGGTTAGCCACGTGTTACTCAGCCGTCCGCCACGCTCCGCA +GCGG----------CGGAGCGTACGACTCCCATGGCTTAGCCCCACCCCGATAGCGGTCG +GGTCCGGCAGGATCAACCGGAGTT------------------------------------ +------------------------------------------------------------ +------------------------------------------------------------ +------------------------------------------------------------ +------------------- +>RS_GCF_000970205.1~NZ_CP009512.1-#2 +------------------------------------------------------------ +------------------------------------------------------------ +---------------------GAGGTGATCCA----GCCGCAGATTCCCCTACGGCTACC +TTGTTACGACTTAACCCCCCTTGCAAAGCACAGGTTCGAACACGGCAC-G---------- +----A-AGTCCGTGCCCTCAC---CCATACCTCACTCGGGTGGTTTGACGGGCGGTGTGT +GCAAGGAGCAGGGA--CG---TATTC--ACCGC-GCTATATTGAAACGCGATTACTACGG +ATTCCAGCTTCACGA-GGGCGAGTT------------------ACAGCCCTCGATCCGAA +CTACGAATGGGTTTGTGAGATTAC-CAGCCCTTTTCAGGGGAGGGACCCATTGTCCCATC +CATTGTAGCCC---------------GCGTGTAGCCCGGGAGATT-----CGGGGCATAC +TGAC-------------------------------------------------------- +---------------------------------------------CTACCGTGGCCCGCA +CCTTCCTCCGATTTAACATCGGCGGTCCCCACAGAGTACCCATCGTCCC----GGAGGAC +ATGCTGGTAACAGTGGGCACGGGT-CTCGCTCGTTGC------------CTGACTTAACA +GGATGCTTCACAG----TACGAACTGGCGACGGCCATGCACCTCCTCTCAGCGAT----- +-TCAGGCAA--------------------------------------------------- +------------------------------------------------------------ +---------------------------AGTCTTCAGCTTGGCCTACATA-TTGCTG---- +------------------------------------------------------------ +------------------------------------------------------------ +--------------------------TCGCCCCCGGTGAGT------------TGTCCGG +CGTTGAGTCCAATTAAACCG--CAGGCTCCACC---CGTTGTTGTGCTCCCCCGC----- +-------------------CAATTCCTTTAAGTTTCAGCCTTGCGGCCGTACTTCCCAG- +-GTGGCTCGCTTCACGGCTTCCCTGCGGCACCAGACACGGTCG-CG-C-CATGCCTGACA +CCTAGCGAGCATCGT---------------TTACGGCTGGGACTACCCGGGTATCTAATC +CGGTTCGTGCCCCC------------------AGCTTTCGTCCCTCACCGTCG------- +----------------AACCCGTTCTGGTAAGACGCCTTCGCCACAGGTGGTCCCACAGG +GATTACAAGATTTCACTCCTAC-----------C------------------CCTGTAGT +ACCTCTTACCTCTCCCGGTTCCAAGTCTGGCAGTATCCCCCGAAAGCCT-AATAGTTGAG +CTATCAGATTTCCCGGAGGACTGA-CCAAACCGGCTACGG------ACCCTTTAGACCCA +ATAATCACGATCA----CCACTCGGGCCGCCGGTGTTACCGCGGCGGCTGGCACCGGTCT +TGCCCGGCCCTTGCTAACGG---------------------------------------- +------------------------------------------------------------ +-----ATGTATTTTACACATCCGGACAGCCA------GCATATGATGCTGGCACTCGGTG +TCCCCTTATCACGGTTTCCCGCAT--TGTAAAGTTTTCGCGCCTGCTGCGCCCCGTAGGG +CCTGGATTCATGTCT--CAGAATCCATCTC----CGGGC-----TCTTGCTCTCA-CAAC +CCGTACCCGTCGCTGGCTAGTAGGTACATTACACCCACTACTAC-CTGATAGGCCGCAGA +CCCATCCTTGGGCAGACGAATCCTT-------------------T--T--GACGCATAAA +GCATTCCAGCAAATAT---GCGTTATCC-GGAATTATCCCC-A--GTTTCCC---GG-GG +TTATGCCGGTCCCAAGGGCAGGTTATCCACGTGTTACTGAGCAGTACGCCATGTATT--- +---------------GCTACATATGACTCGCATGGCTTAGGCGAACACCGATAGCAGTAA +CCTCTGGCAGGATCAACCAGAATT------------------------------------ +------------------------------------------------------------ +------------------------------------------------------------ +------------------------------------------------------------ +------------------- +>RS_GCF_000302455.1~NZ_AMPO01000020.1 +-CCGTTTGATCCTGGCGGAGGCCAC-----TGCTATTGGGTTTCGATTAAGCCATGCAAG +TCGTACGATCCT------------------------------------------------ +-----------------------------------TTC----GGGGTCGTGGCATACGGC +TCAGTAACACGTGGATAACCTACCCTTAGGACTGGGATAA-------------------- +CCCCGGGAAACTGGGGACAAT---ACCGGATATGTAGAGTTGCCTGGAATTGGTACTCTA +TTGAAA-------------------T-GTATTCGTGCGCCTAAGGATGGATCTGCGGCAG +AT-TAGG----TAGTTGGCGGGGTA---------AATGCCCACCAAGCCAGTAATCTGTA +CGGG------TTGTGAGAG-CAAG-AGCCCGGAGATGGAACCTGAGACAAGGTTCCAGGC +C-CTACGGGGCGCAGCAG--------GCGCGAAACCTCCGCAATG-----CACGAAAGTG +CGACGGGGGAAACCCAAGTGCCACTCTTAACG--GG----GTGGCTTTTCTTAAGTGTA- +--------AAAAG-------CTTTTGGAATAAGA-GCTGG-------GC-AAGACCGGTG +C----------------------------------------------------------- +------------------------------------------------------------ +------------------------------------------------------------ +------------------------------------------------------------ +------------------------------------------------------------ +------------------------------------------------------------ +-------------------CAGCCGCCGCGGTAACACCGGC---------AGC-TCAA-- +-GTG--GTGGCCATTTTTATTGGGCCTAAAGCGTTCGTAGCCGGTTTGATAAGTCTCTGG +TG---AAATCTCA--CGGCTTAACCGTGAGAATTGCTGGAGAT------A--CTATTAGG +C-TTGAGGCC--GGGAGAGGTTAGCGGTACTCCCAGGGTAGGGGTGAAATCCTA------ +------------------------------------------TAATCCTGGGAGGACC-- +-ACCTGTGGCGAAGGCGGCTAACTGGAACGGACCTGACGGTGAGTA--------ACGAAA +GCCAGG-GGCG------------------CGAACCGGATTAGATACCCGGGTAGTCCTGG +CCGTAAACGATGTGGA---CTTGGTGTTG---GGATGGC--------------------- +------------------------------------------------------------ +---------------------------------TCCGAGCTGCCC-CAGTGCCGAAGGGA +AGCTGTTAAGTCCACC-------GCCTGGGAAGTACG-GTCGCAAGACTGAAACTTAAAG +G------AATTGGCGGGGGAG----CACCACAACGCGTGGAGCCT-GCGGTTTAATTGGA +TTCAACGCCGGACATC-TCACCAGGGGCGACAGCAGAATGATAGCCAGG----------- +------------------------------------------------------------ +--------------------------------------TTG-------AT---------- +-------GACCTTGCTTGAC----AAGCTGAG--AG-GAGGTGCATGGC---------CG +CCGTCAGCTCGTACCGTGAGGCGT--CCTGTTAAGTCAGGC-------AACGAGCGAGAC +-CCACGCCCTT-AGTTACCAGCGGATCCTT-T--GGGAT-G-CCGGGCACACTAAGGGGA +CCGCCAGTGATAA---ACTGGAGGAAGGAGTGGACGACGGTAGGTCCGTATGCCCCGAAT +C---CCCTGGGCTACACGCGGGCTACAATGGCTAGGACA---ATGG---------G-TTC +CGACACTGAA-AAGTGAAGGTAATCTCCTAAACCTAGCCTT-A--GTTCGGATTGAGGGC +TGTAACTCGCCCTCATGA-AGCTGGAATGCGTAGTAATCGCGTGTCATA-ACCG------ +----------------------------CGCGGTGAATACGTCCCTGCTCCTTGCACACA +CCGCCCGTCACGCCACCCAAAAAGGGTTTGGATGAGGCCATAGTCTTT------------ +--G--------------TTGGTTATGGTCGAATCTGGGTTCTTTGAGGAGGGCGAAGTCG +TAACAAGGTAGCCGTAG---GGGAACCTGCGGCTGGATCACCTCCTT------------- +------------------------------------------------------------ +------------------- +>RS_GCF_000993805.1~NZ_CP009961.1 +TCCGGTTGATCCTGCCGGACCCGAC-----TGCTATCAGGGTGGGGCTAACCCATGGAAG +TCTAGGAGCCGGG----------------------------------------------- +---------------------------------GC--TACGGCCGGCTCCGGCGGACGGC +TCAGTAGCACGTGGCTAACCTACCCTCGGGAGGGGGATAA-------------------- +CCCCGGGAAACTGGGGCTAAT---CCCCCATAGGCGCAGACTCCTGGAATGGGTCCGCGC +CGAAAAGGCTGCAACGCCAT-GCCCG---TTGCAGCCGCCCGAGGATGGGGCTGCGCCCC +AT-CAGG----TAGTTGGCGGGGTA---------ACGGCCCGCCAAGCCGATAACGGGTG +GGGG------CCGTGAGAG-CGGG-AGCCCCGAGATGGGCACTGAGACAAGGGCCCAGGC +C-CTACGGGGCGCACCAG--------GGGCGAAACTTCCGCAATG-----CGGGAAACCG +TGACGGAGCCACCCTGAGTGCCACCCGATGAGGG------TGGCTTTTGCCCGGTCTAA- +--------A-AAG-------CCGGGCGAATAAGC-GGGG--------GGCAAGCCTGGTG +------------------------------------------------------------ +------------------------------------------------------------ +------------------------------------------------------------ +------------------------------------------------------------ +------------------------------------------------------------ +------------------------------------------------------------ +------------------TCAGCCGCCGCGGTAATACCAGC---------CCC-GCGA-- +-GTG--GTCGGGACGATTATTGGGCCTAAAGCGTCCGTAGCCGGCCCGGCAAGTCCCCCT +TT---AAAGCCCA--CGGCTCAACCG--TGGGAGCGGGGGGAT------A--CTGTCGGG +C-TAGGGGGC--GGGAGAGGCCGGGGGTACTCCTGGGGTAGGGGCGAAATCCTA------ +------------------------------------------TAATCCCAGGAGGACC-- +-ACCAGTGGCGAAGGCGCCCGGCTGGAACGCGCCCGACGGTGAGGG--------ACGAAA +GCTGGG-GGAG------------------CAAAGGGGATTAGATACCCCCGTAGTCCCAG +CTGTAAACGATGCGGG---CTAGGTGTTG---GGTGGG----------CCTCGAGCCCGC +CCAGTGTCGT---------------------AGGGAAGCCGTTAAGCCCGCCGC-CTGGG +GAGTACGGCCGCAAGGCTGAAA----------CTTAAAGGAATTG-GCGGGGGAGC---- +------------------------------------------------------------ +--------------------------ACCACAAGGGGTGAAGCTT-GCGGTTTAATTGGA +GTCAACGCCGGAAACC-TCACCGGGGGCGACAGCAGGATGAAGGCCAGG----------- +------------------------------------------------------------ +--------------------------------------CTA-------AC---------- +-------GACCTTGCCAGAC----GAGCTGAG--AG-GAGGTGCATGGC---------CG +TCGCCGGCTCGTGCCGTGAGGTGT--CCTGTTAAGTCAGGG-------AACGAGCGAGAC +-CCCCGCCCCT-AGTTGCAACCCAGCCTTT-CGGGGCTG-G-GG--CACTCTAGGGGGAC +TGCCGGCGA-TAA---GCCGGAGGAAGGTGGGGGCTACGGCAGGTCAGTATGCCCCGAAA +C---CCCCGGGCTACACGCGAGCTGCAATGGCGGGGACA---GCGG---------G-CTC +CG-ACCCCGAAAGGGGAAGGAAATCCCGTAAACCCCGCCTC-A--GTAGGAATCGAGGGC +TGCAACTCGCCCTCGTGA-ACGTGGAATCCCTAGTAACCGCGTGTCACC-AACG------ +----------------------------CGCGGTGAATACGTCCCTGCTCCTTGCACACA +CCGCCCGTCGCTCCACCCGAGGGAGGCCCAGGTGAGGCCTCTCGCCGAAAG--------- +-------------------GTGGGAGGTCGAATCTGGGCCTCCCAAGGGGGGAGAAGTCG +TAACAAGGTGGCCGTAG---GGGAACCTGCGGCCGGATCACCTCCTT------------- +------------------------------------------------------------ +------------------- diff --git a/recipes/sativa/taxonomy.tsv b/recipes/sativa/taxonomy.tsv new file mode 100644 index 0000000000000..349a7c83c9d8d --- /dev/null +++ b/recipes/sativa/taxonomy.tsv @@ -0,0 +1,5 @@ +RS_GCF_000019605.1~NC_010482.1 d__Archaea;p__Crenarchaeota;c__Korarchaeia;o__Korarchaeales;f__Korarchaeaceae;g__Korarchaeum;s__Korarchaeum +RS_GCF_000092465.1~NC_014205.1 d__Archaea;p__Crenarchaeota;c__Thermoprotei;o__Desulfurococcales;f__Desulfurococcaceae;g__Staphylothermus;s__Staphylothermus +RS_GCF_000970205.1~NZ_CP009512.1-#2 d__Archaea;p__Halobacterota;c__Methanosarcinia;o__Methanosarcinales;f__Methanosarcinaceae;g__Methanosarcina;s__Methanosarcina +RS_GCF_000302455.1~NZ_AMPO01000020.1 d__Archaea;p__Euryarchaeota;c__Methanobacteria;o__Methanobacteriales;f__Methanobacteriaceae;g__Methanobacterium;s__Methanobacterium +RS_GCF_000993805.1~NZ_CP009961.1 d__Archaea;p__Crenarchaeota;c__Thermoprotei;o__Thermofilales;f__Thermofilaceae;g__Thermofilum_A;s__Thermofilum_A diff --git a/recipes/savana/meta.yaml b/recipes/savana/meta.yaml index 1e02c7e699603..53a05b2658cd2 100644 --- a/recipes/savana/meta.yaml +++ b/recipes/savana/meta.yaml @@ -1,5 +1,5 @@ {% set name = "savana" %} -{% set version = "1.0.4" %} +{% set version = "1.2.2" %} package: name: "{{ name }}" @@ -7,7 +7,7 @@ package: source: url: "https://github.com/cortes-ciriano-lab/{{ name }}/archive/{{ version }}.tar.gz" - sha256: f870ec9d36b20c1caf7849a4bff7af8cc984cd076b2f4d39153661e15776c644 + sha256: c4a72c13d712930e8bc8e0865767c00708062edf4eec6f1bc951877c58f08380 build: number: 0 @@ -27,7 +27,7 @@ requirements: - pybedtools >=0.9.0 - pysam >=0.20.0 - cyvcf2 >=0.30.16 - - scikit-learn >=1.2.2,<1.3.0 + - scikit-learn 1.2.2 - pandas >=2.0.0 - matplotlib-base >=3.7.1 @@ -39,9 +39,10 @@ test: - savana classify --help - savana evaluate --help - savana train --help + - savana cna --help about: home: "https://github.com/cortes-ciriano-lab/{{ name }}" - license: Free for Academic Use + license: Apache-2.0 license_file: LICENSE.txt summary: "SAVANA: a somatic structural variant caller for long-read data" diff --git a/recipes/sawfish/build.sh b/recipes/sawfish/build.sh new file mode 100644 index 0000000000000..f427f2b39fda7 --- /dev/null +++ b/recipes/sawfish/build.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +# Sawfish already auto-extracts to bin directory, so just need to move it to PREFIX +cp -r bin "${PREFIX}"/ + diff --git a/recipes/sawfish/meta.yaml b/recipes/sawfish/meta.yaml new file mode 100644 index 0000000000000..a56f80957f6ca --- /dev/null +++ b/recipes/sawfish/meta.yaml @@ -0,0 +1,32 @@ +{% set name = "sawfish" %} +{% set version = "0.12.4" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/PacificBiosciences/sawfish/releases/download/v{{ version }}/sawfish-v{{ version }}-x86_64-unknown-linux-gnu.tar.gz + sha256: e42064108c70b66e208a24fcec77d66a85331025d09ac30f2c9bea0de3842c0f + +build: + number: 0 + skip: True # [osx] + run_exports: + - {{ pin_subpackage('sawfish', max_pin="x.x") }} + +test: + commands: + - sawfish --version + +about: + home: https://github.com/PacificBiosciences/sawfish + license: Pacific Biosciences Software License Agreement + summary: Structural variant discovery and genotyping from mapped PacBio HiFi data + +extra: + recipe-maintainers: + - ctsa + skip-lints: + - should_use_compilers + - should_be_noarch_generic diff --git a/recipes/scallop-lr/meta.yaml b/recipes/scallop-lr/meta.yaml index 59b084a930c14..d9d679e72e026 100644 --- a/recipes/scallop-lr/meta.yaml +++ b/recipes/scallop-lr/meta.yaml @@ -10,7 +10,7 @@ source: sha256: "6a073587cf82da9fb5c22e11629943293d97bf71e05b0728c6e245d99ef980d5" build: - number: 8 + number: 9 requirements: build: diff --git a/recipes/scallop/meta.yaml b/recipes/scallop/meta.yaml index 5c6063d5ddff6..ae7ec818089d5 100644 --- a/recipes/scallop/meta.yaml +++ b/recipes/scallop/meta.yaml @@ -10,7 +10,7 @@ source: sha256: "b09e3c61f1b3b1da2a96d9d8429d80326a3bb14f5fe6af9b5e87570d4b86937a" build: - number: 6 + number: 7 requirements: build: diff --git a/recipes/scallop2/meta.yaml b/recipes/scallop2/meta.yaml index 518768f6956e4..5b32155b3dad9 100644 --- a/recipes/scallop2/meta.yaml +++ b/recipes/scallop2/meta.yaml @@ -10,7 +10,7 @@ source: sha256: "1edfd369f6c8a6ea979eaf5bc4313137236338c5c98aae4648aac55b802e5fea" build: - number: 5 + number: 6 requirements: build: diff --git a/recipes/scalpel/build.sh b/recipes/scalpel/build.sh index 1c52ccd2002fb..4c1f37cad4b23 100644 --- a/recipes/scalpel/build.sh +++ b/recipes/scalpel/build.sh @@ -26,8 +26,8 @@ chmod 0755 FindVariants.pl chmod 0755 FindSomatic.pl ls -lh $BUILD_PREFIX/include/bamtools -make INCLUDES="-I$BUILD_PREFIX/include/bamtools -L $BUILD_PREFIX/lib" Microassembler -make INCLUDES="-I$BUILD_PREFIX/include/bamtools -L $BUILD_PREFIX/lib" +make INCLUDES="-I$BUILD_PREFIX/include/bamtools -L $BUILD_PREFIX/lib" -j ${CPU_COUNT} Microassembler +make INCLUDES="-I$BUILD_PREFIX/include/bamtools -L $BUILD_PREFIX/lib" -j ${CPU_COUNT} outdir=$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM mkdir -p $outdir diff --git a/recipes/scalpel/conda_build_config.yaml b/recipes/scalpel/conda_build_config.yaml new file mode 100644 index 0000000000000..e8d152f33c433 --- /dev/null +++ b/recipes/scalpel/conda_build_config.yaml @@ -0,0 +1,2 @@ +bamtools: + - "2.5.2" # [linux and aarch64] \ No newline at end of file diff --git a/recipes/scalpel/meta.yaml b/recipes/scalpel/meta.yaml index 2cf4fd755e78c..8c5bcf4b08822 100644 --- a/recipes/scalpel/meta.yaml +++ b/recipes/scalpel/meta.yaml @@ -1,14 +1,19 @@ +{% set name = "scalpel" %} +{% set version = "0.5.4" %} + package: - name: scalpel - version: '0.5.4' + name: {{ name }} + version: {{ version }} source: - url: http://downloads.sourceforge.net/project/scalpel/scalpel-0.5.4.tar.gz + url: http://downloads.sourceforge.net/project/{{ name }}/{{ name }}-{{ version }}.tar.gz sha256: 506f731b3886def158c15fd8b74fa98390f304a507d2040972e6b09ddefac8f0 build: - number: 5 + number: 7 skip: True # [osx] + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: build: @@ -30,3 +35,7 @@ about: home: http://scalpel.sourceforge.net/ license: MIT summary: Sensitive detection of INDELs (INsertions and DELetions) + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/scanpy-scripts/meta.yaml b/recipes/scanpy-scripts/meta.yaml index 5428c9ec3c8ab..990206e2e559f 100644 --- a/recipes/scanpy-scripts/meta.yaml +++ b/recipes/scanpy-scripts/meta.yaml @@ -1,5 +1,5 @@ {% set name = "scanpy-scripts" %} -{% set version = "1.1.6" %} +{% set version = "1.9.301" %} package: name: "{{ name|lower }}" @@ -7,17 +7,13 @@ package: source: - url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 1701e35f93f5370ab451760b3892caf01b46d2898c3dd149e1dcba602e45eea1 + sha256: c681d9cf5670d8b771b7327684f19d52f9661ee31e685241af4d960220a5d63b folder: scanpy-scripts - - url: https://pypi.io/packages/source/s/scanpy/scanpy-1.8.1.tar.gz - sha256: 1b8603a868d783bd6c18c8db763a450153feefc8daed862c440749790d47c654 - folder: scanpy - patches: - - scrublet.patch build: number: 0 noarch: python + run_exports: '{{ pin_compatible("scanpy-scripts", max_pin="x.x") }}' entry_points: - scanpy-cli=scanpy_scripts.cli:cli - scanpy-read-10x=scanpy_scripts.cmds:READ_CMD @@ -36,37 +32,57 @@ build: - scanpy-integrate=scanpy_scripts.cli:integrate - scanpy-multiplet=scanpy_scripts.cli:multiplet script: - - "{{ PYTHON }} -m pip install {{ SRC_DIR }}/scanpy --no-deps --ignore-installed -vv" - "{{ PYTHON }} -m pip install {{ SRC_DIR }}/scanpy-scripts --no-deps --ignore-installed -vv" requirements: host: - - python >=3.7 + - python <3.10 - pip + - scanpy =1.9.3 + - louvain + - igraph + - leidenalg + - loompy + - Click <8 + - harmonypy >=0.0.5 + - bbknn >=1.5.0,<1.6.0 + - mnnpy >=0.1.9.5 + - scipy <1.9.0 + - scikit-learn <1.3.0 + - scrublet + - fa2 + # for testing + - bats + - black + - pytest - flit-core - setuptools_scm - pytoml - packaging run: - - anndata - - bbknn>=1.5.0 - - click<8 - - fa2 - - h5py<3.0.0 - - harmonypy>=0.0.5 + - python <3.10 + - scanpy =1.9.3 - leidenalg - loompy - louvain - - matplotlib-base - - mnnpy>=0.1.9.5 - - packaging - - pandas - - python>=3.6 - - scanpy=1.8.1 - - scikit-misc - - scipy + - igraph + - Click <8 + - harmonypy >=0.0.5 + - bbknn >=1.5.0,<1.6.0 + - mnnpy >=0.1.9.5 + # for mnnpy using n_jobs + - scipy <1.9.0 + - scikit-learn <1.3.0 - scrublet - - umap-learn + - fa2 + # for testing + - bats + - black + - pytest + - flit-core + - setuptools_scm + - pytoml + - packaging test: imports: @@ -104,3 +120,4 @@ extra: recipe-maintainers: - nh3 - pinin4fjords + - pcm32 diff --git a/recipes/scar/meta.yaml b/recipes/scar/meta.yaml index 1b2787234f5de..18d5c9ca181d9 100644 --- a/recipes/scar/meta.yaml +++ b/recipes/scar/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.5.2" %} -{% set sha256 = "67f015be316ca11f679102d8d959bbefd9e92ad35f52af9ddba3bb5cd7210af7" %} +{% set version = "0.7.0" %} +{% set sha256 = "e3d75d2ee20fa5acce2db7456c00f9ad806e2355e2936dc7db2dcfff6038a3cb" %} package: name: scar @@ -13,26 +13,25 @@ build: noarch: python number: 0 script: "{{ PYTHON }} -m pip install . -vv --no-deps" + run_exports: + - {{pin_subpackage("scar", max_pin="x.x")}} + requirements: host: - - python >=3.8.6 + - python >=3.10 - pip run: - - python >=3.8.6 - - setuptools <=59.5.0 - - cudatoolkit >=11.1 + - python >=3.10 + - setuptools >=68.1.2 - pytorch >=1.10.0 - torchvision >=0.9.0 - tqdm >=4.62.3 - - pandas >=1.3.4 - seaborn >=0.11.2 - tensorboard >=2.2.1 - scikit-learn >=1.0.1 - - anndata - scanpy - pyro-ppl >=1.8.0 - - numpy <=1.21 test: commands: @@ -42,4 +41,4 @@ about: home: https://github.com/Novartis/scar license: MIT license_file: docs/License.rst - summary: 'scAR (single cell Ambient Remover) is a package for denoising multiple single cell omics data.' + summary: 'scAR (single-cell Ambient Remover) is a deep learning model for ambient signal removal in droplet-based single cell omicsis.' diff --git a/recipes/scarches/meta.yaml b/recipes/scarches/meta.yaml new file mode 100644 index 0000000000000..f044a26e18a03 --- /dev/null +++ b/recipes/scarches/meta.yaml @@ -0,0 +1,60 @@ +{% set name = "scarches" %} +{% set version = "0.6.1" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/scArches-{{ version }}.tar.gz + sha256: 187463c25781d5c5586c129ad137d96327a9f8604d530a696d5f568a9225d77c + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('scarches', max_pin="x.x") }} + +requirements: + host: + - python + - pip + run: + - python + - scanpy >=1.6.0 + - anndata >=0.7.4 + - schpl >=1.0.0 + - h5py >=2.10.0 + - pytorch >=1.8.0 + - numpy >=1.19.2 + - scipy >=1.5.2 + - scikit-learn >=0.23.2 + - matplotlib-base >=3.3.1 + - pandas >=1.1.2 + - scvi-tools >=0.12.1 + - tqdm >=4.56.0 + - requests + - gdown + - leidenalg + - muon + +test: + imports: + - scarches + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/theislab/scarches + summary: Transfer learning with Architecture Surgery on Single-cell data + license: BSD-3-Clause + license_file: LICENSE + +extra: + identifiers: + - doi:10.1038/s41587-021-01001-7 + recipe-maintainers: + - jdblischak diff --git a/recipes/sccmec/build.sh b/recipes/sccmec/build.sh new file mode 100644 index 0000000000000..5ca6a640acbd0 --- /dev/null +++ b/recipes/sccmec/build.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +mkdir -p $PREFIX/bin ${PREFIX}/share/sccmec + +# Copy wrapper +chmod 755 bin/sccmec-targets-bioconda +cp -f bin/sccmec-targets-bioconda $PREFIX/bin/sccmec-targets + +chmod 755 bin/sccmec-regions-bioconda +cp -f bin/sccmec-regions-bioconda $PREFIX/bin/sccmec-regions + +chmod 755 bin/sccmec bin/sccmec-bioconda +cp -f bin/sccmec $PREFIX/bin/sccmec-main +cp -f bin/sccmec-bioconda $PREFIX/bin/sccmec + +# Copy schema (~100kb) +cp -f data/sccmec-targets.yaml ${PREFIX}/share/sccmec +cp -f data/sccmec-targets.fasta ${PREFIX}/share/sccmec +cp -f data/sccmec-regions.yaml ${PREFIX}/share/sccmec +cp -f data/sccmec-regions.fasta ${PREFIX}/share/sccmec diff --git a/recipes/sccmec/meta.yaml b/recipes/sccmec/meta.yaml new file mode 100644 index 0000000000000..02c1875f8ecb1 --- /dev/null +++ b/recipes/sccmec/meta.yaml @@ -0,0 +1,40 @@ +{% set name="sccmec" %} +{% set version = "1.2.0" %} +{% set sha256 = "b8ff1fb5f6d5d4c2bbfd3a5b95711ecd152638417558ecc98dc5e22724f06d8f" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/rpetit3/sccmec/archive/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} + +requirements: + run: + - camlhmp >=1.1.0 + +test: + commands: + - sccmec --version + - sccmec --help + - sccmec-targets --version + - sccmec-targets --help + - sccmec-regions --version + - sccmec-regions --help + +about: + home: https://github.com/rpetit3/sccmec + license: MIT + license_file: LICENSE + summary: A tool for typing SCCmec cassettes in assemblies + +extra: + recipe-maintainers: + - rpetit3 diff --git a/recipes/scelestial/meta.yaml b/recipes/scelestial/meta.yaml index 9f1e1a9316b28..2f367c64e9274 100644 --- a/recipes/scelestial/meta.yaml +++ b/recipes/scelestial/meta.yaml @@ -10,7 +10,9 @@ source: sha256: '5c5d51a3d908c92f361219b3a5abe64bc1a0dc5e14d0736fd0e64e1c6df26680' build: - number: 2 + number: 3 + run_exports: + - {{ pin_subpackage("scelestial", max_pin="x") }} requirements: build: diff --git a/recipes/schpl/meta.yaml b/recipes/schpl/meta.yaml new file mode 100644 index 0000000000000..11814e500091c --- /dev/null +++ b/recipes/schpl/meta.yaml @@ -0,0 +1,54 @@ +{% set name = "schpl" %} +{% set version = "1.0.5" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/scHPL-{{ version }}.tar.gz + sha256: 3eb62b2e65b1faba04b7bcb86f7bf6967a6301866a605551211b8f14fd27eced + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('schpl', max_pin="x") }} + +requirements: + host: + - python >=3.6 + - pip + run: + - python >=3.6 + - numpy >=1.19.2 + - scipy >=1.5.2 + - scikit-learn >=0.23.2 + - pandas >=1.1.2,<2 + - python-newick >=1.0.0,<1.1.dev0 + - anndata >=0.7.4 + - matplotlib-base >=3.3.1 + - seaborn >=0.11.1 + +test: + imports: + - scHPL + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/lcmmichielsen/scHPL + summary: Hierarchical progressive learning pipeline for single-cell RNA-sequencing datasets + license: MIT + license_file: LICENSE + +extra: + identifiers: + - doi:10.1038/s41467-021-23196-8 + recipe-maintainers: + - jdblischak + - nictru + - lcmmichielsen diff --git a/recipes/scib/meta.yaml b/recipes/scib/meta.yaml new file mode 100644 index 0000000000000..cc1321602adfd --- /dev/null +++ b/recipes/scib/meta.yaml @@ -0,0 +1,61 @@ +{% set name = "scib" %} +{% set version = "1.1.5" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +build: + number: 1 + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + skip: True # [ py < 38 or py > 311] + run_exports: + - {{ pin_subpackage(name, max_pin='x') }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/scib-{{ version }}.tar.gz + sha256: 7ab3183065f2d861b64f88823a55cec767327a37ad6d0eaccce7b43c996293ad + patches: + - setup_compiler.patch + +requirements: + build: + - {{ compiler('cxx') }} + host: + - python + - pip + run: + - anndata >=0.7.2 + - deprecated + - h5py + - igraph >=0.10 + - leidenalg + - llvmlite + - matplotlib-base + - numpy + - pandas <2 + - pydot + - python + - scanpy >=1.5, <1.10 + - scikit-learn + - scikit-misc + - scipy + - seaborn + - umap-learn + +test: + imports: + - scib + +about: + home: https://github.com/theislab/scib + license: MIT + license_family: MIT + license_file: LICENSE.txt + summary: "Evaluating single-cell data integration methods" + doc_url: https://scib.readthedocs.io/en/latest/ + dev_url: https://github.com/theislab/scib + +extra: + identifiers: + - doi:10.1038/s41592-021-01336-8 diff --git a/recipes/scib/setup_compiler.patch b/recipes/scib/setup_compiler.patch new file mode 100644 index 0000000000000..5aedf1a1a7886 --- /dev/null +++ b/recipes/scib/setup_compiler.patch @@ -0,0 +1,21 @@ +diff --git a/setup.py b/setup.py +index 45677ce..ba1276c 100644 +--- a/setup.py ++++ b/setup.py +@@ -1,11 +1,15 @@ + import subprocess + import sys ++import os + + from setuptools import setup + ++# get compiler path ++gxx = os.environ.get("CXX", "g++") ++ + try: + cmd = ( +- "g++ -std=c++11 -O3 scib/knn_graph/knn_graph.cpp -o scib/knn_graph/knn_graph.o" ++ f"{gxx} -std=c++11 -O3 scib/knn_graph/knn_graph.cpp -o scib/knn_graph/knn_graph.o" + ) + sys.stdout.write("Compile knn_graph C++ code for LISI metric...\n") + sys.stdout.flush() diff --git a/recipes/sciphi/meta.yaml b/recipes/sciphi/meta.yaml index 9c31047b74c10..b810932d715b7 100644 --- a/recipes/sciphi/meta.yaml +++ b/recipes/sciphi/meta.yaml @@ -7,7 +7,7 @@ source: url: https://github.com/cbg-ethz/SCIPhI/releases/download/v{{ version }}/SCIPhI-{{ version }}.tar.bz2 build: - number: 4 + number: 5 skip: True # [osx] package: diff --git a/recipes/sciphin/meta.yaml b/recipes/sciphin/meta.yaml index 5ab1f20cf45c1..8fe756259b851 100644 --- a/recipes/sciphin/meta.yaml +++ b/recipes/sciphin/meta.yaml @@ -7,7 +7,7 @@ source: url: https://github.com/cbg-ethz/SCIPhIN/releases/download/v{{ version }}/SCIPhIN-{{ version }}.tar.bz2 build: - number: 2 + number: 3 skip: True # [osx] package: diff --git a/recipes/scirpy/meta.yaml b/recipes/scirpy/meta.yaml index 1d42f7a62616a..8fe28e48762f4 100644 --- a/recipes/scirpy/meta.yaml +++ b/recipes/scirpy/meta.yaml @@ -1,5 +1,5 @@ {% set name = "scirpy" %} -{% set version = "0.14.0" %} +{% set version = "0.18.0" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 26a5a5374503925c1db16595ef67b1814a6389a4932edc2aa48607a47a00bf43 + sha256: 7d8f5deb2f6d83aa6f719b051c2d7c8cd1fb27589b64796be4b1a64ec76a708e folder: "{{ name }}-{{ version }}" build: @@ -21,19 +21,18 @@ build: requirements: host: - - python >=3.9 + - python >=3.10 - hatchling - hatch-vcs run: - - python >=3.9 - - anndata >=0.9 + - python >=3.10 + - anndata >=0.9,<0.10.9 - awkward >=2.1.0 - mudata >=0.2.3 - scanpy >=1.9.3 - pandas >=1.5 - numpy >=1.17.0 - scipy - - parasail-python - scikit-learn - python-levenshtein - python-igraph >0.10.1|<0.10.0 @@ -45,6 +44,7 @@ requirements: - numba >=0.41.0 - pooch >=1.7.0 - pycairo >=1.20 # [win] + - joblib >=1.3.1 test: imports: diff --git a/recipes/scitrack/LICENSE b/recipes/scitrack/LICENSE new file mode 100644 index 0000000000000..e3ebf90ff2271 --- /dev/null +++ b/recipes/scitrack/LICENSE @@ -0,0 +1,11 @@ +Copyright 2019-2020 Gavin Huttley + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/recipes/scitrack/meta.yaml b/recipes/scitrack/meta.yaml index 2ec9bcce823ac..956ba89388c16 100644 --- a/recipes/scitrack/meta.yaml +++ b/recipes/scitrack/meta.yaml @@ -1,5 +1,5 @@ {% set name = "scitrack" %} -{% set version = "2021.5.3" %} +{% set version = "2024.10.8" %} package: name: {{ name|lower }} @@ -7,31 +7,31 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/scitrack-{{ version }}.tar.gz - sha256: 9b938a8c844f7e3fc850c9599e9a2f52d9b054095e466e556f9007cc8120fbea + sha256: 2694a67212c075006324ef1371291868500a21cbe8e6c92402f0b2ac1a7bc7e0 build: noarch: python - script: {{ PYTHON }} -m pip install . -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv number: 0 + run_exports: + - {{ pin_subpackage('scitrack', max_pin=None) }} requirements: host: - - python >=3.6 + - python >=3.9 - pip - flit-core run: - - python >=3.6 + - python >=3.9 test: imports: - scitrack - commands: - - pip check - requires: - - pip about: home: https://github.com/HuttleyLab/scitrack - summary: SciTrack provides basic logging capabilities to track scientific computations. + summary: "SciTrack provides basic logging capabilities to track scientific computations." license: BSD-3-Clause + license_family: BSD license_file: LICENSE + dev_url: https://github.com/HuttleyLab/scitrack diff --git a/recipes/scmidas/meta.yaml b/recipes/scmidas/meta.yaml new file mode 100644 index 0000000000000..2ddf1bb026882 --- /dev/null +++ b/recipes/scmidas/meta.yaml @@ -0,0 +1,56 @@ +{% set name = "scmidas" %} +{% set version = "0.0.18" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/scmidas-{{ version }}.tar.gz + sha256: 62c953d679a7298a25882930098cda8c6f3055ec37b89e5306eb471edec10b3f + +build: + number: 0 + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + run_exports: + - {{ pin_subpackage('scmidas', max_pin="x.x") }} + +requirements: + host: + - python >=3.9 + - pip + run: + - python >=3.9 + - toml + - tqdm + - numpy + - pytorch >1.12 + - matplotlib-base + - pandas + - scikit-learn + - scanpy + - louvain + - rpy2 + - anndata2ri + - ipykernel + - jupyter + +test: + imports: + - scmidas + +about: + home: https://github.com/labomics/midas + summary: "A torch-based integration method for single-cell multi-omic data." + license: MIT + license_family: MIT + license_file: LICENSE + dev_url: https://github.com/labomics/midas + doc_url: https://scmidas.readthedocs.io/en/latest/ + +extra: + recipe-maintainers: + - mencian + identifiers: + - doi:10.1038/s41587-023-02040-y diff --git a/recipes/scnic/build.sh b/recipes/scnic/build.sh deleted file mode 100644 index 601dac5b69ee5..0000000000000 --- a/recipes/scnic/build.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -$PYTHON setup.py install --single-version-externally-managed --record=/tmp/record.txt diff --git a/recipes/scnic/meta.yaml b/recipes/scnic/meta.yaml index 0694dc9b3d05e..29ce63c9daa93 100644 --- a/recipes/scnic/meta.yaml +++ b/recipes/scnic/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.6.3" %} +{% set version = "0.6.6" %} package: name: scnic @@ -6,45 +6,50 @@ package: source: url: https://github.com/lozuponelab/SCNIC/archive/{{ version }}.tar.gz - sha256: b0b6f9a1ba83e94d599e2ae5ca262acba2ad632512f6b179740e98d71a01236e + sha256: 754490880a31b067434a94c0bd4cbee6f067010511e5d7760b9ccbcbbddf0353 build: number: 0 noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + run_exports: + - {{ pin_subpackage('scnic', max_pin="x.x") }} requirements: host: - python >=3 - - setuptools + - pip - pytest-runner run: - python >=3 - numpy - - scipy - - pandas + - scipy >=1.9.0,<=1.10.1 + - pandas >=1 - statsmodels - h5py - biom-format - - networkx >2 + - networkx >=2 - scikit-bio - fastspar - tqdm - matplotlib-base - - seaborn + - seaborn-base test: + imports: + - SCNIC command: - SCNIC_analysis.py --help - fastspar --help # verify fastspar working correctly about: home: https://github.com/lozuponelab/SCNIC - license: BSD + license: "BSD-3-Clause" + license_family: BSD license_file: LICENSE summary: "SCNIC: Sparse Cooccurence Network Investigation for Compositional data" + dev_url: https://github.com/lozuponelab/SCNIC extra: recipe-maintainers: - lozuponelab - skip-lints: - - missing_tests diff --git a/recipes/scoring-matrices/meta.yaml b/recipes/scoring-matrices/meta.yaml new file mode 100644 index 0000000000000..b97fea1eea695 --- /dev/null +++ b/recipes/scoring-matrices/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "scoring-matrices" %} +{% set module = "scoring_matrices" %} +{% set version = "0.2.2" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: 2192df3f5f8ecd144071858cc287c958d2a842cdc8cc082c13755dfefe2f66b8 + +build: + number: 1 + skip: True # [py < 36] + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir --use-pep517 -vvv" + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + build: + - {{ compiler('c') }} + host: + - python + - pip + - cython + run: + - python + +test: + imports: + - {{ module }} + commands: + - python -m unittest -vv {{ module }}.tests + +about: + home: https://github.com/althonos/scoring-matrices + license: MIT + license_family: MIT + license_file: COPYING + summary: "Dependency free, Cython-compatible scoring matrices to use with biological sequences." + doc_url: https://scoring-matrices.readthedocs.org + dev_url: https://github.com/althonos/scoring-matrices + +extra: + recipe-maintainers: + - althonos + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/scrappie/meta.yaml b/recipes/scrappie/meta.yaml index 91623e612806f..1a58b66f92eb0 100644 --- a/recipes/scrappie/meta.yaml +++ b/recipes/scrappie/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 160f3e462a6e079e55da4de8d3bd232243ff988530cfe649038feccc9bb79797 build: - number: 5 + number: 6 skip: True # [py2k or osx] requirements: diff --git a/recipes/screadcounts/meta.yaml b/recipes/screadcounts/meta.yaml index c9e32396235b3..3780536d73673 100644 --- a/recipes/screadcounts/meta.yaml +++ b/recipes/screadcounts/meta.yaml @@ -1,6 +1,6 @@ {% set name = "screadcounts" %} -{% set version = "1.3.2" %} -{% set sha256 = "d7dde05a80227ac5207b0495323fc9154202f2d4d082296964a1d5f16468870d" %} +{% set version = "1.4.0" %} +{% set sha256 = "61856534dc5c578e9d12bcb397dc696747685b33ef056c49d1ff766960676c30" %} package: name: {{ name }} @@ -13,6 +13,8 @@ source: build: noarch: generic number: 0 + run_exports: + - {{ pin_subpackage('screadcounts', max_pin="x.x") }} extra: skip-lints: diff --git a/recipes/scrubby/build.sh b/recipes/scrubby/build.sh new file mode 100644 index 0000000000000..42c7a115fff25 --- /dev/null +++ b/recipes/scrubby/build.sh @@ -0,0 +1,20 @@ +#!/bin/bash +set -ex + +# adopted from: https://github.com/bioconda/bioconda-recipes/blob/master/recipes/rasusa/build.sh + +RUST_BACKTRACE=full + +if [ "$(uname)" == "Darwin" ]; then + # apparently the HOME variable isn't set correctly, and circle ci + # output indicates the following as the home directory + export HOME="/Users/distiller" + export HOME=`pwd` + echo "HOME is $HOME" + + # according to https://github.com/rust-lang/cargo/issues/2422#issuecomment-198458960 + # removing circle ci default configuration solves cargo trouble downloading crates + # git config --global --unset url.ssh://git@github.com.insteadOf +fi + +cargo install -v --locked --root "$PREFIX" --path . diff --git a/recipes/scrubby/meta.yaml b/recipes/scrubby/meta.yaml new file mode 100644 index 0000000000000..9e5b36b11e7b1 --- /dev/null +++ b/recipes/scrubby/meta.yaml @@ -0,0 +1,43 @@ +{% set version = "0.2.1" %} +{% set name = "scrubby" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/esteinig/{{ name }}/archive/{{ version }}.tar.gz + sha256: 88aaf4420393501b1387f45c9291a373a3a01c034c1d1d72555cccb05fea92a2 + +build: + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('rust') }} + - make + - cmake + - clang # [osx] + run: + - minimap2 =2.24 + - kraken2 =2.1.2 + - strobealign =0.8.0 + +test: + commands: + - scrubby -h + +about: + home: https://github.com/esteinig/scrubby + license: MIT + license_family: MIT + summary: Read depletion/extraction and database cleaning using k-mer and alignment methods + license_file: LICENSE + dev_url: https://github.com/esteinig/scrubby + +extra: + recipe-maintainers: + - esteinig diff --git a/recipes/scspectra/meta.yaml b/recipes/scspectra/meta.yaml new file mode 100644 index 0000000000000..89469914bc995 --- /dev/null +++ b/recipes/scspectra/meta.yaml @@ -0,0 +1,47 @@ +{% set name = "scspectra" %} +{% set version = "0.2.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/scspectra-{{ version }}.tar.gz + sha256: dd0d2ae2f0cef68d41a10ba2174e6e4e89e9d185958ef6f60a1798f27970206f + +build: + number: 0 + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + run_exports: + - {{ pin_subpackage('scspectra', max_pin="x.x") }} + +requirements: + host: + - python >=3.8 + - poetry-core >=1.0.0 + - pip + run: + - python >=3.8 + - numpy >=1.20.3 + - scipy >=1.7.3 + - scanpy >=1.8.2 + - pytorch >=1.10.1,<2.0.0 + - opt-einsum >=3.3.0 + - pandas >=1.3.5,<2.0.0 + - tqdm >=4.62.3 + - pyvis >=0.1.9,<0.2.0 + +test: + #imports: + #- scspectra + commands: + - pip check + +about: + home: https://github.com/dpeerlab/spectra + summary: "Supervised discovery of interpretable gene programs from single-cell data." + license: MIT + license_family: MIT + license_file: LICENSE.md + dev_url: https://github.com/dpeerlab/spectra diff --git a/recipes/scsplit/meta.yaml b/recipes/scsplit/meta.yaml new file mode 100644 index 0000000000000..eabd6ab147f87 --- /dev/null +++ b/recipes/scsplit/meta.yaml @@ -0,0 +1,39 @@ +{% set name = "scSplit" %} +{% set version = "1.0.8.2" %} + +package: + name: "{{ name|lower }}" + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/scSplit-{{ version }}.tar.gz + sha256: e39e2e840ec34bec289619817d7ccee70165e79a361041b1b38e53beac1b7fa3 + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('scsplit', max_pin="x.x.x") }} + +requirements: + host: + - python + - pip + run: + - python + +test: + imports: + - scSplit + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/jon-xu/scSplit + summary: Genotype-free demultiplexing of pooled single-cell RNA-Seq + license: MIT + + diff --git a/recipes/sctriangulate/LICENSE b/recipes/sctriangulate/LICENSE new file mode 100644 index 0000000000000..f8836ff0edea6 --- /dev/null +++ b/recipes/sctriangulate/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Guangyuan(Frank) Li + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/recipes/sctriangulate/meta.yaml b/recipes/sctriangulate/meta.yaml new file mode 100644 index 0000000000000..9d3d2eb7a402a --- /dev/null +++ b/recipes/sctriangulate/meta.yaml @@ -0,0 +1,41 @@ +{% set name = "sctriangulate" %} +{% set version = "0.13.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/sctriangulate-{{ version }}.tar.gz + sha256: dc24a47c912c15d06465ea6ec87599e5bcdf06d18955d964f96eebce445a7bc2 + +build: + number: 0 + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation + run_exports: + - {{ pin_subpackage('sctriangulate', max_pin="x.x") }} + +requirements: + host: + - python >=3.7 + - pip + run: + - python >=3.7 + - squidpy + - gseapy ==0.10.4 + - scrublet ==0.2.3 + - yattag + - anytree + - mygene ==3.2.2 + +test: + imports: + - sctriangulate + +about: + home: https://github.com/frankligy/scTriangulate + summary: A Python package to mix-and-match conflicting clustering results in single cell analysis, and generate reconciled clustering solutions. + license: MIT + license_family: MIT + license_file: LICENSE diff --git a/recipes/sdeper/LICENSE b/recipes/sdeper/LICENSE deleted file mode 100755 index 5a026b2d7d3bb..0000000000000 --- a/recipes/sdeper/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2023 az7jh2 - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/recipes/sdeper/meta.yaml b/recipes/sdeper/meta.yaml index 4c96919459ae1..864ce86a9107a 100755 --- a/recipes/sdeper/meta.yaml +++ b/recipes/sdeper/meta.yaml @@ -1,7 +1,7 @@ # This is the recipe file to publish SDePER to Bioconda {% set name = "sdeper" %} -{% set version = "1.0.0" %} +{% set version = "1.6.2" %} package: name: "{{ name|lower }}" @@ -9,7 +9,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 9790a1d6e9534f2354e6257cfc9e82fd5fe3b4ee88ee07296308289dcabcb964 + sha256: 271371a6cdd717244c96ce7ba0c6e282f9cd85112048aac3a0ab40975724a1e4 build: number: 0 @@ -18,28 +18,33 @@ build: - runImputation = imputation:main script: "{{ PYTHON }} -m pip install . -vv" noarch: python + run_exports: + - {{ pin_subpackage('sdeper', max_pin="x.x") }} requirements: host: - - python >=3.9.12 + - python >=3.9,<=3.10 - pip run: - distinctipy ==1.2.2 - matplotlib-base ==3.5.2 - networkx ==2.8.4 - - numba ==0.55.2 - - numpy ==1.22.4 + - numba ==0.59.1 + - numpy ==1.26.4 - openpyxl ==3.0.10 - pandas ==1.4.3 - - python >=3.9.12 - - reportlab ==3.6.12 + - python >=3.9,<=3.10 + - reportlab ==4.1.0 - scanpy ==1.9.1 - scikit-learn ==1.1.1 - scikit-misc ==0.1.4 - - scipy ==1.8.1 - - seaborn ==0.11.2 - - tensorflow ==2.9.1 + - scipy ==1.11.4 + - seaborn ==0.13.2 + - tensorflow-base 2.15.0 cpu_* # explicitly specify to use cpu version out from cpu_, cuda, eigen_, gpu_, or mkl_ in conda packages - umap-learn ==0.5.3 + - libopencv ==4.9.0 headless_* # install opencv in conda requires installing these 3 packages, headless version is used + - opencv ==4.9.0 + - py-opencv ==4.9.0 test: commands: @@ -54,6 +59,7 @@ about: summary: "Spatial Deconvolution method with Platform Effect Removal" doc_url: "https://sdeper.readthedocs.io/en/latest/" dev_url: "https://github.com/az7jh2/SDePER" + description: "SDePER (Spatial Deconvolution method with Platform Effect Removal) is a hybrid machine learning and regression method to deconvolve Spatial barcoding-based transcriptomic data using reference single-cell RNA sequencing data, considering platform effects removal, sparsity of cell types per capture spot and across-spots spatial correlation in cell type compositions. SDePER is also able to impute cell type compositions and gene expression at unmeasured locations in a tissue map with enhanced resolution." extra: recipe-maintainers: diff --git a/recipes/sdm/build.sh b/recipes/sdm/build.sh index f0c4fc567099c..d59a7b7dd98c0 100644 --- a/recipes/sdm/build.sh +++ b/recipes/sdm/build.sh @@ -1,10 +1,12 @@ #!/bin/bash +set -xe + # https://bioconda.github.io/contributor/troubleshooting.html#zlib-errors export CFLAGS="$CFLAGS -I$PREFIX/include" export LDFLAGS="$LDFLAGS -L$PREFIX/lib" sed -i.bak -e 's/ -static//' Makefile -make +make -j ${CPU_COUNT} mkdir -p "${PREFIX}/bin" mv sdm "${PREFIX}/bin/" diff --git a/recipes/sdm/meta.yaml b/recipes/sdm/meta.yaml index 5045bdd0bd67c..53a9f3e6b6a51 100644 --- a/recipes/sdm/meta.yaml +++ b/recipes/sdm/meta.yaml @@ -1,5 +1,5 @@ {% set name = "sdm" %} -{% set version = "2.14" %} +{% set version = "2.18" %} package: name: {{ name }} @@ -7,7 +7,7 @@ package: source: url: https://github.com/hildebra/{{ name }}/archive/v{{ version }}.tar.gz - sha256: 08bbfecf0cff39511198405774fe845c339b6e684df5ff2e50e4aa76ce7d4399 + sha256: 4ae8d1b2be6c3571e9c2db964421e5065255dff209f8e060d43b843be0f04e82 patches: - sdm_1.83.patch @@ -35,3 +35,7 @@ about: license_family: GPL3 license_file: LICENSE summary: 'sdm - simple demultiplex tool for FASTQ demultiplexing and dereplication' + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/sdrf-pipelines/meta.yaml b/recipes/sdrf-pipelines/meta.yaml index 781f33c8be3ae..86219f9021c8a 100644 --- a/recipes/sdrf-pipelines/meta.yaml +++ b/recipes/sdrf-pipelines/meta.yaml @@ -1,22 +1,23 @@ {% set name = "sdrf-pipelines" %} -{% set version = "0.0.24" %} +{% set pypi_name = "sdrf_pipelines" %} +{% set version = "0.0.30" %} package: name: "{{ name|lower }}" version: "{{ version }}" source: - url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: a52441d8b4be0b597c64973d45a4ad2dc2b91560cf7fbee956080efd9a306dbd + url: "https://pypi.io/packages/source/{{ pypi_name[0] }}/{{ pypi_name }}/{{ pypi_name }}-{{ version }}.tar.gz" + sha256: 3959102db85398afceac2175c6c96eebc7241d4a17f215fcae6ec2d854c37a3c build: number: 0 noarch: python run_exports: - - {{ pin_subpackage(name, max_pin="x") }} + - {{ pin_subpackage(name, max_pin="x.x") }} entry_points: - parse_sdrf = sdrf_pipelines.parse_sdrf:main - script: "{{ PYTHON }} -m pip install . --no-deps -vvv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" requirements: host: @@ -31,6 +32,9 @@ requirements: - pyaml - defusedxml - pytest + - duckdb + - rdflib + - pyarrow test: imports: @@ -38,13 +42,14 @@ test: - sdrf_pipelines.openms - sdrf_pipelines.sdrf - sdrf_pipelines.utils - - sdrf_pipelines.zooma + - sdrf_pipelines.ols commands: - parse_sdrf --help about: home: "https://github.com/bigbio/sdrf-pipelines" - license: Apache 2 + license: "Apache-2.0" + license_family: APACHE ##license_file: LICENSE ## patch is applied upstream, next version will have it summary: "Translate, convert SDRF to configuration pipelines" doc_url: "https://github.com/bigbio/sdrf-pipelines" diff --git a/recipes/sdust/build.sh b/recipes/sdust/build.sh new file mode 100644 index 0000000000000..c495ad0379c1a --- /dev/null +++ b/recipes/sdust/build.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +set -x -e + +mkdir -p "${PREFIX}/bin" + +make -j ${CPU_COUNT} CC="$CC" CFLAGS="${CFLAGS} -I${PREFIX}/include -L${PREFIX}/lib" + +chmod 0755 sdust + +cp -rf sdust "${PREFIX}/bin" diff --git a/recipes/sdust/meta.yaml b/recipes/sdust/meta.yaml new file mode 100644 index 0000000000000..f26962300d506 --- /dev/null +++ b/recipes/sdust/meta.yaml @@ -0,0 +1,39 @@ +{% set version = "0.1" %} +{% set name = "sdust" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/lh3/sdust/archive/refs/tags/v{{ version }}.tar.gz + sha256: 0825a760fae884e65b2b024cc4f511e32e6c1698571c147daf5a61ba0dcac589 + +build: + number: 1 + run_exports: + - {{ pin_subpackage("sdust", max_pin="x.x") }} + +requirements: + build: + - make + - {{ compiler('cxx') }} + host: + - zlib + +test: + commands: + - "sdust 2>&1 | grep 'Usage: sdust'" + +about: + home: "https://github.com/lh3/sdust" + dev_url: "https://github.com/lh3/sdust" + license: Unknown + summary: "Symmetric DUST for finding low-complexity regions in DNA sequences." + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + recipe-maintainers: + - smeds diff --git a/recipes/seacells/meta.yaml b/recipes/seacells/meta.yaml new file mode 100644 index 0000000000000..c2a088b21dd0e --- /dev/null +++ b/recipes/seacells/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "seacells" %} +{% set version = "0.3.3" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/SEACells-{{ version }}.tar.gz + sha256: 0f75d1970ab148732796d2d7afbd1001f779c00959af3212002434780254fc15 + +build: + number: 0 + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + run_exports: + - {{ pin_subpackage('seacells', max_pin="x.x") }} + +requirements: + host: + - python >=3.8 + - pip + run: + - python >=3.8 + - numpy + - pandas + - palantir + - scanpy >1.8 + - anndata + - numba >=0.51.2 + - scipy >=1.5 + - pyranges + +test: + imports: + - SEACells + +about: + home: https://github.com/dpeerlab/SEACells + summary: "SEACells algorithm for Inference of transcriptional and epigenomic cellular states from single-cell genomics data." + license: GPL-2.0-or-later + license_family: GPL + license_file: LICENSE.txt + dev_url: https://github.com/dpeerlab/SEACells + +extra: + recipe-maintainers: + - mencian + identifiers: + - doi:10.1038/s41587-023-01716-9 diff --git a/recipes/searchgui/build.sh b/recipes/searchgui/build.sh index c16005eb8e9e8..9327692b5210d 100644 --- a/recipes/searchgui/build.sh +++ b/recipes/searchgui/build.sh @@ -1,13 +1,13 @@ -#!/bin/sh +#!/bin/bash set -eu -o pipefail outdir=$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM mkdir -p $outdir mkdir -p $PREFIX/bin -cp -R * $outdir/ -cp $RECIPE_DIR/searchgui.py $outdir/searchgui +cp -Rf * $outdir/ +cp -f $RECIPE_DIR/searchgui.py $outdir/searchgui ls -l $outdir -ln -s $outdir/searchgui $PREFIX/bin +ln -sf $outdir/searchgui $PREFIX/bin chmod 0755 "${PREFIX}/bin/searchgui" # removing xtandem prebuilt binaries and replacing them by xtandem package ones diff --git a/recipes/searchgui/meta.yaml b/recipes/searchgui/meta.yaml index 3b30556a6c98f..37ae4625b6021 100644 --- a/recipes/searchgui/meta.yaml +++ b/recipes/searchgui/meta.yaml @@ -1,7 +1,7 @@ # Do not forget to update the version string in the searchgui.py file {% set name = "SearchGUI" %} -{% set version = "4.3.1" %} -{% set sha256 = "ef21ea768d5f67f4c4c6c1d592bfc68f2aa62ce1f0f69f7966918a2442918c18" %} +{% set version = "4.3.11" %} +{% set sha256 = "5d1de05115e30f9d6a395c6990442efb37b497ecfff04873ff2af7849e11957f" %} {% set build = "0" %} package: @@ -23,13 +23,13 @@ source: requirements: host: - xtandem ==15.12.15.2 - - metamorpheus ==1.0.2 + - metamorpheus ==1.0.6 - blast >=2.14.0 run: - python - openjdk >=17 - xtandem ==15.12.15.2 - - metamorpheus ==1.0.2 + - metamorpheus ==1.0.6 - mono >=6.0.0 - fontconfig - fonts-conda-ecosystem @@ -46,12 +46,14 @@ test: - searchgui eu.isas.searchgui.cmd.SearchCLI -id_params "Identification_Parameters_default.par" -fasta_file "fastacli_searchgui_tinydb1_concatenated_target_decoy.fasta" -spectrum_files "searchgui_tinyspectra1.mgf" -xtandem 1 -output_folder "." -output_option 0 -output_data 1 about: - home: https://github.com/compomics/searchgui - license: Apache License 2.0 + home: "https://github.com/compomics/searchgui" + license: "Apache-2.0" license_family: APACHE - summary: User-friendly graphical tool for using proteomics identification search engines + summary: "User-friendly graphical tool for using proteomics identification search engines." description: SearchGUI is a user-friendly open-source graphical user interface for configuring and running proteomics identification search engines, currently supporting X!Tandem, MS-GF+, MetaMorpheus, MS Amanda, MyriMatch, Comet, Tide, Andromeda and OMSSA. + dev_url: "https://github.com/compomics/searchgui" + doc_url: "https://github.com/compomics/searchgui/blob/master/README.md" extra: notes: @@ -65,4 +67,4 @@ extra: - biotools:searchgui - usegalaxy-eu:search_gui - doi:10.1002/pmic.201000595 - extended-base: true ## precompiled packages + extended-base: True ## precompiled packages diff --git a/recipes/searchgui/searchgui.py b/recipes/searchgui/searchgui.py index 7c365e0a1105d..911e0ab4542f6 100755 --- a/recipes/searchgui/searchgui.py +++ b/recipes/searchgui/searchgui.py @@ -14,7 +14,7 @@ from os import getenv from os import X_OK -jar_file = 'SearchGUI-4.3.1.jar' +jar_file = 'SearchGUI-4.3.11.jar' default_jvm_mem_opts = ['-Xms2g', '-Xmx4g'] diff --git a/recipes/segalign-full/meta.yaml b/recipes/segalign-full/meta.yaml new file mode 100644 index 0000000000000..9116ff7dd08a4 --- /dev/null +++ b/recipes/segalign-full/meta.yaml @@ -0,0 +1,41 @@ +{% set version = "0.1.2.7" %} + +package: + name: segalign-full + version: {{ version }} + +build: + number: 1 + noarch: generic + run_exports: + - {{ pin_compatible('segalign-full', max_pin='x.x') }} + +requirements: + run: + - segalign ={{ version }} + - lastz + - ucsc-fatotwobit + +test: + commands: + - segalign --help + - segalign_repeat_masker --help + - lastz --version 2>&1 | grep released + - which faToTwoBit + +about: + home: https://github.com/galaxyproject/SegAlign + summary: 'SegAlign: A Scalable GPU-Based Whole Genome Aligner' + description: | + SegAlign is a Scalable GPU System for Pairwise Whole Genome + Alignments based on LASTZ's seed-filter-extend paradigm. + license: MIT + license_family: MIT + license_url: https://github.com/galaxyproject/SegAlign/blob/main/LICENSE + doc_url: https://github.com/galaxyproject/SegAlign/blob/main/README.md + dev_url: https://github.com/galaxyproject/SegAlign + +extra: + identifiers: + - doi:10.1109/SC41405.2020.00043 + - doi:10.5281/zenodo.3880947 diff --git a/recipes/segalign-galaxy/meta.yaml b/recipes/segalign-galaxy/meta.yaml new file mode 100644 index 0000000000000..0912fc87c1272 --- /dev/null +++ b/recipes/segalign-galaxy/meta.yaml @@ -0,0 +1,42 @@ +{% set version = "0.1.2.7" %} + +package: + name: segalign-galaxy + version: {{ version }} + +build: + number: 2 + noarch: generic + run_exports: + - {{ pin_compatible('segalign-galaxy', max_pin='x.x') }} + +requirements: + run: + - segalign-full ={{ version }} + - bashlex + - gzip + - python =3.12 + +test: + commands: + - segalign --help + - segalign_repeat_masker --help + - lastz --version 2>&1 | grep released + - which faToTwoBit + +about: + home: https://github.com/galaxyproject/SegAlign + summary: 'SegAlign: A Scalable GPU-Based Whole Genome Aligner' + description: | + SegAlign is a Scalable GPU System for Pairwise Whole Genome + Alignments based on LASTZ's seed-filter-extend paradigm. + license: MIT + license_family: MIT + license_url: https://github.com/galaxyproject/SegAlign/blob/main/LICENSE + doc_url: https://github.com/galaxyproject/SegAlign/blob/main/README.md + dev_url: https://github.com/galaxyproject/SegAlign + +extra: + identifiers: + - doi:10.1109/SC41405.2020.00043 + - doi:10.5281/zenodo.3880947 diff --git a/recipes/segemehl/0.3.1/meta.yaml b/recipes/segemehl/0.3.1/meta.yaml index 73c1714935263..0dbf86f9da19a 100644 --- a/recipes/segemehl/0.3.1/meta.yaml +++ b/recipes/segemehl/0.3.1/meta.yaml @@ -6,7 +6,7 @@ package: version: {{ version }} build: - number: 8 + number: 9 skip: True # [osx] source: diff --git a/recipes/segemehl/meta.yaml b/recipes/segemehl/meta.yaml index 9387c685d0b97..65de611f3a520 100644 --- a/recipes/segemehl/meta.yaml +++ b/recipes/segemehl/meta.yaml @@ -6,7 +6,7 @@ package: version: {{ version }} build: - number: 9 + number: 10 skip: True # [osx] source: diff --git a/recipes/segmetrics/meta.yaml b/recipes/segmetrics/meta.yaml index 73bb5a142078f..bc1fdeceb7031 100644 --- a/recipes/segmetrics/meta.yaml +++ b/recipes/segmetrics/meta.yaml @@ -1,20 +1,20 @@ {% set name = "segmetrics" %} -{% set version = "1.4" %} -{% set repo_url = "https://github.com/BMCV/segmetrics.py" %} -{% set docs_url = "https://segmetrics.readthedocs.io" %} +{% set version = "1.5" %} package: name: "{{ name }}" version: "{{ version }}" source: - url: "{{ repo_url }}/archive/refs/tags/{{ version }}.zip" - sha256: 65fce3cd45c4f1fa0f83013a3f7c245e8ea2698ed94a75454b5f5dc833c97ad5 + url: "https://github.com/BMCV/segmetrics/archive/refs/tags/{{ version }}.zip" + sha256: 3169055e6d7fdc269d7ce0d32c1f5871752001a0e03f13a25de67d52a1b4e386 build: number: 0 noarch: python script: "{{ PYTHON }} -m pip install --no-deps --ignore-installed . -vv " + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: host: @@ -39,11 +39,11 @@ test: - python -m segmetrics.cli --help about: - home: "{{ repo_url }}" + home: "https://github.com/BMCV/segmetrics" license: MIT summary: "A Python package implementing image segmentation and object detection performance measures, for biomedical image analysis and beyond." - dev_url: "{{ repo_url }}" - doc_url: "{{ docs_url }}" + dev_url: "https://github.com/BMCV/segmetrics" + doc_url: "https://segmetrics.readthedocs.io" extra: recipe-maintainers: diff --git a/recipes/segul/build.sh b/recipes/segul/build.sh new file mode 100644 index 0000000000000..cfda5a2313ece --- /dev/null +++ b/recipes/segul/build.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +RUST_BACKTRACE=1 +cargo install --no-track --verbose --root "${PREFIX}" --path . \ No newline at end of file diff --git a/recipes/segul/meta.yaml b/recipes/segul/meta.yaml new file mode 100644 index 0000000000000..98e5f7721f857 --- /dev/null +++ b/recipes/segul/meta.yaml @@ -0,0 +1,36 @@ +{% set version = "0.22.1" %} + +package: + name: segul + version: '{{ version }}' + +source: + url: https://github.com/hhandika/segul/archive/refs/tags/v{{ version }}.tar.gz + sha256: 5d33058149e00551f219e6d92a9156d89643551c47fac18ed688aec022b8afdd + +build: + number: 0 + run_exports: + - {{ pin_subpackage('segul', max_pin="x.x") }} + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('rust') }} + +test: + commands: + - segul --help + +about: + home: https://github.com/hhandika/segul + license: MIT + license_family: MIT + summary: An ultrafast and memory efficient tool for phylogenomics + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + recipe-maintainers: + - hhandika diff --git a/recipes/segzoo/meta.yaml b/recipes/segzoo/meta.yaml index 40c193fa5d709..9d650119df3f1 100644 --- a/recipes/segzoo/meta.yaml +++ b/recipes/segzoo/meta.yaml @@ -1,5 +1,5 @@ {% set name = "segzoo" %} -{% set version = "1.0.11" %} +{% set version = "1.0.13" %} package: name: "{{ name|lower }}" @@ -7,26 +7,29 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 3422fc3e29320253e15bafef22d378470ed1d0d88b8364ecb553b756bb9a9d53 + sha256: 03903414891982e4d296f253119cf404a525844abdc84b02285923866926a708 build: noarch: python number: 0 entry_points: - segzoo=segzoo.main:main - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation" + run_exports: + - {{ pin_subpackage('segzoo', max_pin="x") }} requirements: host: - - python >=3.8 + - python >=3.7 - pip run: - - python >=3.8 + - python >=3.7 - seaborn - segtools - ggd - - snakemake + - snakemake-minimal - pybedtools + test: imports: - segzoo @@ -35,7 +38,7 @@ test: about: home: "https://github.com/hoffmangroup/segzoo" - license: "GNU General Public v2 (GPLv2)" + license: "GPL-2.0-or-later" license_family: GPL2 license_file: LICENSE.txt summary: "System for turnkey analysis of semi-automated genome annotations" diff --git a/recipes/seismic-rna/build.sh b/recipes/seismic-rna/build.sh new file mode 100644 index 0000000000000..9b50c3a0078a9 --- /dev/null +++ b/recipes/seismic-rna/build.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +# DO NOT RUN THIS SCRIPT YOURSELF! +# It should only be run by conda build. + +set -euxo pipefail + +$PYTHON -m pip install --no-dependencies $PWD \ No newline at end of file diff --git a/recipes/seismic-rna/meta.yaml b/recipes/seismic-rna/meta.yaml new file mode 100644 index 0000000000000..50b488e1e2409 --- /dev/null +++ b/recipes/seismic-rna/meta.yaml @@ -0,0 +1,51 @@ +--- + +package: + name: seismic-rna + version: 0.21.0 + +about: + home: https://github.com/rouskinlab/seismic-rna + license: GPL-3.0-only + license_family: GPL3 + license_file: LICENSE + license_url: https://www.gnu.org/licenses/gpl-3.0.html + summary: SEISMIC-RNA software by the Rouskin Lab + +source: + url: https://github.com/rouskinlab/seismic-rna/archive/refs/tags/v0.21.0.tar.gz + sha256: f97f445ed8cee7bcdbb04476ac194ca7666efa131ab31723f1d1fe0682145e4d + +build: + noarch: python + number: 0 + run_exports: + - {{ pin_subpackage("seismic-rna", max_pin="x.x") }} + +requirements: + build: + - python >=3.10 + - pip + - hatch >=1.12 + run: + - python >=3.10 + - bowtie2 >=2.5.4 + - fastqc >=0.12.1 + - rnastructure >=6.4 + - samtools >=1.20 + - matplotlib-base >=3.9 + - brotli-python >=1.0 + - python-kaleido >=0.2.1 + - click >=8.1 + - cutadapt >=4.8 + - fastqsplitter >=1.2 + - numpy >=1.26,<1.27 + - numba >=0.60 + - pandas >=2.2 + - plotly >=5.23 + - pyyaml >=6.0 + - scipy >=1.13 + +test: + imports: + - seismicrna diff --git a/recipes/selam/meta.yaml b/recipes/selam/meta.yaml index 8a34616bd07a0..befd25c006cac 100644 --- a/recipes/selam/meta.yaml +++ b/recipes/selam/meta.yaml @@ -11,7 +11,9 @@ source: sha256: {{sha256}} build: - number: 2 + number: 3 + run_exports: + - {{ pin_subpackage("selam", max_pin="x.x.x") }} requirements: build: @@ -45,3 +47,5 @@ about: extra: identifiers: - doi:10.1093/bioinformatics/btw365 # Paper in Bioinformatics + additional-platforms: + - linux-aarch64 diff --git a/recipes/selene-sdk/meta.yaml b/recipes/selene-sdk/meta.yaml index 527b0b8b880a1..663dafc365e8b 100644 --- a/recipes/selene-sdk/meta.yaml +++ b/recipes/selene-sdk/meta.yaml @@ -1,16 +1,18 @@ +{% set version = "0.5.3" %} + package: name: selene-sdk - version: 0.5.0 + version: {{ version }} source: - url: https://github.com/FunctionLab/selene/archive/refs/tags/0.5.0.tar.gz - sha256: daa7969fc99f6ffa00dda2f7657442f4a1d84771b7a83c8b3464db0221ca8b32 + url: https://github.com/FunctionLab/selene/archive/refs/tags/{{ version }}.tar.gz + sha256: 2b895b29e7be9fee47d2ae21cb5a82e5cfb32e56a32a7367ec0ce0020051ddf7 build: - number: 2 - # torchvision py3.8 builds not available through conda-forge. - skip: True # [py<30 or py>=38 or osx] + number: 0 script: python setup.py install --single-version-externally-managed --record=record.txt + run_exports: + - {{ pin_subpackage("selene-sdk", max_pin="x.x") }} requirements: build: @@ -18,7 +20,7 @@ requirements: host: - python - setuptools - - cython>=0.29.3 + - cython >=0.29.3 - numpy run: - python @@ -30,7 +32,7 @@ requirements: - plotly - pyfaidx - pytabix - - pyyaml>=5.1 + - pyyaml >=5.1 - scikit-learn - scipy - seaborn @@ -50,5 +52,7 @@ about: license_file: LICENSE extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - kathyxchen diff --git a/recipes/semibin/meta.yaml b/recipes/semibin/meta.yaml index bdc98bc800525..3904aca49cebb 100644 --- a/recipes/semibin/meta.yaml +++ b/recipes/semibin/meta.yaml @@ -1,5 +1,5 @@ {% set name = "SemiBin" %} -{% set version = "2.0.2" %} +{% set version = "2.1.0" %} package: name: "{{ name|lower }}" @@ -7,13 +7,14 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: b428a68fa9a16e6c713001f8f5afb0b19ae1997a10b66c54076a72d75b1ad8d8 + sha256: 5345982bbc38e283043867d361ca8db727fec34a4c40b3a70e01914154d39bd5 build: noarch: python number: 0 entry_points: - - SemiBin=SemiBin.main:main1 + - SemiBin=SemiBin.main:main_no_version + - SemiBin1=SemiBin.main:main1 - SemiBin2=SemiBin.main:main2 script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation . -vvv run_exports: @@ -37,7 +38,6 @@ requirements: - mmseqs2 13.45111 - bedtools - hmmer - - fraggenescan - numexpr - prodigal - samtools diff --git a/recipes/sentieon/meta.yaml b/recipes/sentieon/meta.yaml index 2660842aebff9..be624c6675928 100644 --- a/recipes/sentieon/meta.yaml +++ b/recipes/sentieon/meta.yaml @@ -1,11 +1,11 @@ -{% set version="202308.01" %} +{% set version="202308.03" %} package: name: sentieon version: {{ version }} source: - url: https://s3.amazonaws.com/sentieon-release/software/sentieon-genomics-{{ version }}.tar.gz # [linux64] - sha256: 047899a2b4247adaace82032a6fe269a57f70b1c9ecbc84d77914f902a714d50 # [linux64] + sha256: d51d1a192aa9fd3108f4baa5e1d0784ea80af6734fcc1a27a57e15779f43fcf1 # [linux64] patches: # [linux64] # Fix driver scripts so they resolves location including symlinks - sentieon_symlinks.patch # [linux64] diff --git a/recipes/sentieon/sentieon_symlinks.patch b/recipes/sentieon/sentieon_symlinks.patch index 41c95cc0c9b16..7278200c99ff8 100644 --- a/recipes/sentieon/sentieon_symlinks.patch +++ b/recipes/sentieon/sentieon_symlinks.patch @@ -4,7 +4,7 @@ index 52f51aaefd..e27fea8c2b 100755 +++ b/bin/sentieon @@ -1,13 +1,17 @@ #!/bin/sh - # Copyright (c) 2014-2023 Sentieon Inc. All rights reserved + # Copyright (c) 2014-2024 Sentieon Inc. All rights reserved -case "$0" in -/*) bin_dir=$(dirname "$0");; -*) bin_dir=$(dirname "$(pwd)/$0");; diff --git a/recipes/sepp/4.3.10/build.sh b/recipes/sepp/4.3.10/build.sh new file mode 100644 index 0000000000000..a21681feb1e3a --- /dev/null +++ b/recipes/sepp/4.3.10/build.sh @@ -0,0 +1,42 @@ +#!/bin/bash +set -ex +python setup.py config -c +python setup.py upp -c + +# ensure SEPP's configuration file is at the correct location ... +echo "${PREFIX}/share/sepp/sepp" > home.path +# ensure directory is created ... ($SP_DIR = Python's site-packages location, see https://docs.conda.io/projects/conda-build/en/stable/user-guide/environment-variables.html#environment-variables-set-during-the-build-process) +mkdir -p $SP_DIR/ +# ... before we copy content into it +cp -rv home.path $SP_DIR/ +mkdir -p $PREFIX/share/sepp/sepp +# ... and holds correct path names +mv -v sepp-package/sepp/default.main.config $PREFIX/share/sepp/sepp/main.config +# copy upp config, as it's still needed +cp ./.sepp/upp.config $PREFIX/share/sepp/sepp/upp.config +# replace $PREFIX with /opt/anaconda1anaconda2anaconda3 for later replacement of concrete build PREFIX +# note: can't apply a patch here, as upp.config is not part of upstream but gets generated during python setup +if [ $unamestr == 'Linux' ]; +then + sed -i 's@'"$PREFIX"'@/opt/anaconda1anaconda2anaconda3@g' $PREFIX/share/sepp/sepp/upp.config +elif [ $unamestr == 'Darwin' ]; +then + gsed -i 's@'"$PREFIX"'@/opt/anaconda1anaconda2anaconda3@g' $PREFIX/share/sepp/sepp/upp.config +fi + +$PYTHON -m pip install . --ignore-installed --no-deps -vv + +# copy bundled binaries, but hmmer which should be provided by conda, into $PREFIX/bin/ +mkdir -p $PREFIX/bin/ +cp `cat $SRC_DIR/.sepp/main.config | grep "^path" -m 1 | grep -v "hmm" | cut -d "=" -f 2 | xargs dirname`/* $PREFIX/bin/ +cp `cat $SRC_DIR/.sepp/upp.config | grep "^path" -m 1 | grep -v "hmm" | cut -d "=" -f 2 | xargs dirname`/* $PREFIX/bin/ + +# configure run-sepp.sh for qiime2 fragment-insertion +mv -v sepp-package/run-sepp.sh $PREFIX/bin/run-sepp.sh + +# copy files for tests to shared conda directory +mkdir -p $PREFIX/share/sepp/ref/ +cp -v test/unittest/data/q2-fragment-insertion/input_fragments.fasta $PREFIX/share/sepp/ref/ +cp -v test/unittest/data/q2-fragment-insertion/reference_alignment_tiny.fasta $PREFIX/share/sepp/ref/ +cp -v test/unittest/data/q2-fragment-insertion/reference_phylogeny_tiny.nwk $PREFIX/share/sepp/ref/ +cp -v test/unittest/data/q2-fragment-insertion/RAxML_info-reference-gg-raxml-bl.info $PREFIX/share/sepp/ref/ diff --git a/recipes/sepp/4.3.10/meta.yaml b/recipes/sepp/4.3.10/meta.yaml new file mode 100644 index 0000000000000..74c5177ff7068 --- /dev/null +++ b/recipes/sepp/4.3.10/meta.yaml @@ -0,0 +1,63 @@ +{% set version = "4.3.10" %} +{% set sha256 = "24d8d410138563017e6f2f1263d5e34427f5bbddb875b72a036f7c879cef203b" %} +package: + name: sepp + version: '{{version}}' + +source: + - url: https://github.com/smirarab/sepp/archive/{{version}}.tar.gz + sha256: '{{sha256}}' + patches: + - relocate.run-sepp.sh.patch + - relocate.sepp.config.patch + # prevent python's setup to search for dendropy dependency via pip. + # Instead use dendropy provided by conda: + - nodeps.setup.py.patch + +build: + number: 3 + run_exports: + - {{ pin_subpackage('sepp', max_pin="x") }} + +# upstream is not (yet) compatible with python >=3.10 +requirements: + host: + - python <=3.9 + - setuptools + - pip + - dendropy 4.4.0 + - openjdk + - hmmer ==3.1b2 + + run: + - python <=3.9 + - dendropy 4.4.0 + - openjdk + - hmmer ==3.1b2 + - pasta + # TODO: source bundled binaries as conda packages. + # But pplacer / guppy are not available for OSX. + # - pplacer + +test: + commands: + - run_sepp.py --help + - run-sepp.sh $PREFIX/share/sepp/ref/input_fragments.fasta testrun_tiny -a $PREFIX/share/sepp/ref/reference_alignment_tiny.fasta -t $PREFIX/share/sepp/ref/reference_phylogeny_tiny.nwk -r $PREFIX/share/sepp/ref/RAxML_info-reference-gg-raxml-bl.info -x 1 -b 1 + - grep "f__Halomonadaceae" testrun_tiny_placement.tog.relabelled.tre + - grep "testseqd" testrun_tiny_placement.tog.relabelled.tre + - run_upp.py --help + +about: + home: https://github.com/smirarab/sepp + license: GPLv3 + license_family: GPL3 + license_file: LICENSE + summary: SATe-enabled phylogenetic placement + +extra: + identifiers: + - biotools:sepp + skip-lints: + # necessary, because sepp is NOT platform independent: + # during build time, platform specific binaries for pplacer / guppy are copied into the PREFIX/bin dir + - should_be_noarch_generic diff --git a/recipes/sepp/4.3.10/nodeps.setup.py.patch b/recipes/sepp/4.3.10/nodeps.setup.py.patch new file mode 100644 index 0000000000000..f93b859cf421e --- /dev/null +++ b/recipes/sepp/4.3.10/nodeps.setup.py.patch @@ -0,0 +1,11 @@ +--- setup.py 2019-03-31 07:43:25.000000000 +0200 ++++ setup.py 2019-04-03 12:12:30.701516881 +0200 +@@ -219,7 +219,7 @@ + author_email="smirarab@gmail.com, namphuon@cs.utah.edu", + + license="General Public License (GPL)", +- install_requires=["dendropy >= 4.0.0"], ++ install_requires=[], + provides=["sepp"], + scripts=["run_sepp.py", 'run_tipp.py', 'run_upp.py', 'run_abundance.py', + "split_sequences.py", "run_tipp_tool.py"], diff --git a/recipes/sepp/4.3.10/relocate.run-sepp.sh.patch b/recipes/sepp/4.3.10/relocate.run-sepp.sh.patch new file mode 100644 index 0000000000000..89839cb66476f --- /dev/null +++ b/recipes/sepp/4.3.10/relocate.run-sepp.sh.patch @@ -0,0 +1,36 @@ +--- sepp/sepp-package/run-sepp.sh 2019-03-19 16:33:17.267182143 +0100 ++++ sepp-package/run-sepp.sh 2019-03-19 20:23:08.591954892 +0100 +@@ -111,7 +111,7 @@ + done + + +-DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) ++DIR=/opt/anaconda1anaconda2anaconda3/share/sepp/ + + # Reference tree + if [ -z $t ]; then +@@ -134,7 +134,7 @@ + if [ ! -z "$printDebug" ]; then + export SEPP_DEBUG=True + fi; +-python $DIR/sepp/run_sepp.py -P $p -A $a -t $t -a $alg -r $rxi -f $f -o $name $opts -d $tmp/ -p $tmpssd 1>sepp-$name-out.log 2>sepp-$name-err.log ++run_sepp.py -P $p -A $a -t $t -a $alg -r $rxi -f $f -o $name $opts -d $tmp/ -p $tmpssd 1>sepp-$name-out.log 2>sepp-$name-err.log + + tail sepp-$name-* + +@@ -146,13 +146,11 @@ + # we might want to split computation in two parts: a) obtaining placements and b) creation of an insertion tree. + # If -n set to something, we stop after a) and leave it to the user to compute b) afterwards. + if [ -z ${noTree+x} ]; then +- gbin=$( dirname `grep -A1 "pplacer" $DIR/sepp/.sepp/main.config |grep path|sed -e "s/^path=//g"` ) +- +- $gbin/guppy tog ${name}_placement.json ++ guppy tog ${name}_placement.json + + cat ${name}_placement.tog.tre | python ${name}_rename-json.py > ${name}_placement.tog.relabelled.tre + +- $gbin/guppy tog --xml ${name}_placement.json ++ guppy tog --xml ${name}_placement.json + + cat ${name}_placement.tog.xml | python ${name}_rename-json.py > ${name}_placement.tog.relabelled.xml + else diff --git a/recipes/sepp/4.3.10/relocate.sepp.config.patch b/recipes/sepp/4.3.10/relocate.sepp.config.patch new file mode 100644 index 0000000000000..cb5f917265157 --- /dev/null +++ b/recipes/sepp/4.3.10/relocate.sepp.config.patch @@ -0,0 +1,28 @@ +--- sepp-package/sepp/default.main.config 2019-03-18 10:14:42.363446570 +0100 ++++ sepp-package/sepp/default.main.config 2019-04-04 10:10:22.171485197 +0200 +@@ -1,20 +1,20 @@ + [pplacer] +-path=~/pplacer ++path=/opt/anaconda1anaconda2anaconda3/bin/pplacer + + [hmmalign] +-path=~/hmmalign ++path=/opt/anaconda1anaconda2anaconda3/bin/hmmalign + + [hmmsearch] +-path=~/hmmsearch ++path=/opt/anaconda1anaconda2anaconda3/bin/hmmsearch + piped=False + elim=10000 + filters=True + + [hmmbuild] +-path=~/hmmbuild ++path=/opt/anaconda1anaconda2anaconda3/bin/hmmbuild + + [jsonmerger] +-path=~/seppJsonMerger.jar ++path=/opt/anaconda1anaconda2anaconda3/bin/seppJsonMerger.jar + + [exhaustive] + strategy = centroid diff --git a/recipes/sepp/build.sh b/recipes/sepp/build.sh index 679123229a05e..925564b6363c6 100644 --- a/recipes/sepp/build.sh +++ b/recipes/sepp/build.sh @@ -5,13 +5,26 @@ python setup.py upp -c # ensure SEPP's configuration file is at the correct location ... echo "${PREFIX}/share/sepp/sepp" > home.path -cp home.path ${PREFIX}/lib/python*/site-packages/ +# ensure directory is created ... ($SP_DIR = Python's site-packages location, see https://docs.conda.io/projects/conda-build/en/stable/user-guide/environment-variables.html#environment-variables-set-during-the-build-process) +mkdir -p $SP_DIR/ +# ... before we copy content into it +cp -rv home.path $SP_DIR/ mkdir -p $PREFIX/share/sepp/sepp # ... and holds correct path names mv -v sepp-package/sepp/default.main.config $PREFIX/share/sepp/sepp/main.config # copy upp config, as it's still needed cp ./.sepp/upp.config $PREFIX/share/sepp/sepp/upp.config +# replace $PREFIX with /opt/anaconda1anaconda2anaconda3 for later replacement of concrete build PREFIX +# note: can't apply a patch here, as upp.config is not part of upstream but gets generated during python setup +if [ $unamestr == 'Linux' ]; +then + sed -i 's@'"$PREFIX"'@/opt/anaconda1anaconda2anaconda3@g' $PREFIX/share/sepp/sepp/upp.config +elif [ $unamestr == 'Darwin' ]; +then + gsed -i 's@'"$PREFIX"'@/opt/anaconda1anaconda2anaconda3@g' $PREFIX/share/sepp/sepp/upp.config +fi + $PYTHON -m pip install . --ignore-installed --no-deps -vv # copy bundled binaries, but hmmer which should be provided by conda, into $PREFIX/bin/ diff --git a/recipes/sepp/meta.yaml b/recipes/sepp/meta.yaml index 731db6eeaceb8..9b675d94ae3f2 100644 --- a/recipes/sepp/meta.yaml +++ b/recipes/sepp/meta.yaml @@ -1,38 +1,35 @@ -{% set version = "4.5.1" %} -{% set sha256 = "51e052569ae89f586a1a94c804f09fe1b7910a3ffff7664e2005f18c7d3f717b" %} +{% set version = "4.5.5" %} +{% set sha256 = "af6b985bc16c96cd7c57bf78b3decce448f976aea612b3fad07b91697e4e1cfd" %} package: name: sepp version: '{{version}}' source: - - url: https://github.com/smirarab/sepp/archive/{{version}}.tar.gz + - url: https://github.com/smirarab/sepp/archive/v{{version}}.tar.gz sha256: '{{sha256}}' patches: - relocate.run-sepp.sh.patch - relocate.sepp.config.patch - # prevent python's setup to search for dendropy dependency via pip. - # Instead use dendropy provided by conda: - - nodeps.setup.py.patch build: - number: 3 + number: 0 run_exports: - {{ pin_subpackage('sepp', max_pin="x") }} requirements: host: - - python 3.7 + - python <=3.10 - setuptools - pip - - dendropy <=4.5.1 + - dendropy - openjdk - - hmmer ==3.1b2 + - hmmer run: - - python 3.7 - - dendropy <=4.5.1 + - python <=3.10 + - dendropy - openjdk - - hmmer ==3.1b2 + - hmmer - pasta # TODO: source bundled binaries as conda packages. # But pplacer / guppy are not available for OSX. diff --git a/recipes/sepp/nodeps.setup.py.patch b/recipes/sepp/nodeps.setup.py.patch index f93b859cf421e..f63161a7cd5d0 100644 --- a/recipes/sepp/nodeps.setup.py.patch +++ b/recipes/sepp/nodeps.setup.py.patch @@ -4,8 +4,8 @@ author_email="smirarab@gmail.com, namphuon@cs.utah.edu", license="General Public License (GPL)", -- install_requires=["dendropy >= 4.0.0"], +- install_requires=["dendropy >= 4.6.0"], + install_requires=[], provides=["sepp"], - scripts=["run_sepp.py", 'run_tipp.py', 'run_upp.py', 'run_abundance.py', - "split_sequences.py", "run_tipp_tool.py"], + scripts=["run_sepp.py", 'run_upp.py', "split_sequences.py"], + cmdclass={"config": ConfigSepp, "upp": ConfigUPP}, diff --git a/recipes/seq-hasher/build.sh b/recipes/seq-hasher/build.sh new file mode 100644 index 0000000000000..e5cb5faa26a8b --- /dev/null +++ b/recipes/seq-hasher/build.sh @@ -0,0 +1,7 @@ +#!/bin/bash -euo + +set -xe + +# build statically linked binary with Rust +cargo-bundle-licenses --format yaml --output THIRDPARTY.yml +RUST_BACKTRACE=1 cargo install --verbose --locked --no-track --root $PREFIX --path . \ No newline at end of file diff --git a/recipes/seq-hasher/meta.yaml b/recipes/seq-hasher/meta.yaml new file mode 100644 index 0000000000000..17be5a1eeac6e --- /dev/null +++ b/recipes/seq-hasher/meta.yaml @@ -0,0 +1,41 @@ +{% set version = "0.1.0" %} + +package: + name: seq-hasher + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage("seq-hasher", max_pin="x") }} + +source: + url: https://github.com/apcamargo/seq-hasher/archive/v{{ version }}.tar.gz + sha256: a017be3eae1a278bd38339cc4c53f406b7536a3f3d75adcc82e75c1e1daa8253 + +requirements: + build: + - {{ compiler('rust') }} + - cargo-bundle-licenses + host: + run: + +test: + commands: + - seq-hasher --help + +about: + home: https://github.com/apcamargo/seq-hasher + license: MIT + license_file: + - LICENSE + - THIRDPARTY.yml + + summary: > + Compute hash digests for DNA sequences in a FASTA file, with support for + circular permutations + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 \ No newline at end of file diff --git a/recipes/seq2science/meta.yaml b/recipes/seq2science/meta.yaml index dd78a09be0e26..87aeaebd5f332 100644 --- a/recipes/seq2science/meta.yaml +++ b/recipes/seq2science/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.2.1" %} +{% set version = "1.2.2" %} package: name: seq2science @@ -6,7 +6,7 @@ package: source: url: https://github.com/vanheeringen-lab/seq2science/archive/v{{ version }}.tar.gz - sha256: f4543413118f9bdf69e1143f14708f4debf2f1089952569d55a1ca539d676bff + sha256: 5adbaf1689e8f302ec2d5c98f85a206b51f17d0e70e3fc0f16d872ae2099fdc5 build: noarch: python diff --git a/recipes/seqan3/fix_glibcxx_debug.patch b/recipes/seqan3/fix_glibcxx_debug.patch new file mode 100644 index 0000000000000..529cc94d0f3f9 --- /dev/null +++ b/recipes/seqan3/fix_glibcxx_debug.patch @@ -0,0 +1,25 @@ +From 47b77ef92911ff1667f4487edb3961f0c28f407b Mon Sep 17 00:00:00 2001 +From: Simon Gene Gottlieb +Date: Wed, 17 Jan 2024 12:09:11 +0100 +Subject: [PATCH] [FIX] Do not use constexpr vector with _GLIBCXX_DEBUG + +--- + include/seqan3/core/platform.hpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/seqan3/core/platform.hpp b/include/seqan3/core/platform.hpp +index 1fd92faa7..e0c7687fe 100644 +--- a/include/seqan3/core/platform.hpp ++++ b/include/seqan3/core/platform.hpp +@@ -252,7 +252,7 @@ static_assert(sdsl::sdsl_version_major == 3, "Only version 3 of the SDSL is supp + #endif + + //!\brief Our char literals returning std::vector should be constexpr if constexpr std::vector is supported. +-#if defined(__cpp_lib_constexpr_vector) && __cpp_lib_constexpr_vector >= 201907L ++#if __cpp_lib_constexpr_vector >= 201907L && !defined(_GLIBCXX_DEBUG) + # define SEQAN3_WORKAROUND_LITERAL constexpr + #else + # define SEQAN3_WORKAROUND_LITERAL inline +-- +2.43.0 + diff --git a/recipes/seqan3/meta.yaml b/recipes/seqan3/meta.yaml index c5f14a78f7ae3..abb3a201426e9 100644 --- a/recipes/seqan3/meta.yaml +++ b/recipes/seqan3/meta.yaml @@ -8,10 +8,12 @@ package: source: url: https://github.com/seqan/{{ name|lower }}/releases/download/{{ version }}/seqan3-{{ version }}-Source.tar.xz sha256: da2fb621268ebc52b9cc26087e96f4a94109db1f4f28d363d19c7c9cdbd788b1 + patches: + - fix_glibcxx_debug.patch # Fix will be included in 3.4.0 build: noarch: generic - number: 0 + number: 1 run_exports: - {{ pin_subpackage('seqan3', max_pin="x") }} diff --git a/recipes/seqchromloader/meta.yaml b/recipes/seqchromloader/meta.yaml index cdc9f86de6604..a89e6961ea4a4 100644 --- a/recipes/seqchromloader/meta.yaml +++ b/recipes/seqchromloader/meta.yaml @@ -1,5 +1,5 @@ {% set name = "seqchromloader" %} -{% set version = "0.7.3" %} +{% set version = "0.7.8" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 8d9f666f3dddf4929349c8bd80586cdc2a3aac722f2cb1d2c8a1175a857f8d63 + sha256: 7b94212a2eb5d722fa13bf52c6aa8b3dc945e78806be01af025f8d33d9fc04cd build: number: 0 diff --git a/recipes/seqerakit/meta.yaml b/recipes/seqerakit/meta.yaml index 097bb053c1fe8..115b311960b83 100644 --- a/recipes/seqerakit/meta.yaml +++ b/recipes/seqerakit/meta.yaml @@ -1,5 +1,5 @@ {% set name = "seqerakit" %} -{% set version = "0.4.4" %} +{% set version = "0.4.9" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/seqerakit-{{ version }}.tar.gz - sha256: 04e4f7b930efd3b3581c56e7774696db00625124893ebb9969aaa7fd3cd7959f + sha256: ecca8afc49498226a8c9ad81723a609ae324993e4352fd9561dd2ab657eff378 build: entry_points: diff --git a/recipes/seqfu/build.sh b/recipes/seqfu/build.sh index 41e15120f4793..0b5b964b47460 100644 --- a/recipes/seqfu/build.sh +++ b/recipes/seqfu/build.sh @@ -14,19 +14,25 @@ export CFLAGS="$CFLAGS -I$PREFIX/include" export LDFLAGS="$LDFLAGS -L$PREFIX/lib" export CPATH=${PREFIX}/include -echo "GXX: $GXX" -echo "GCC: $GCC" +echo "GXX: ${GXX:-'not set'}" +echo "GCC: ${GCC:-'not set'}" echo "----------" -echo "Patching makefile" -# Trying to fix build when gcc or g++ are required -sed -i 's/gcc/$(GCC)/g' Makefile -sed -i 's/g++/$(GXX)/g' Makefile -sed -i '1iGCC ?= gcc' Makefile -sed -i '1iGXX ?= g++' Makefile + + if [[ $OSTYPE == "darwin"* ]]; then + echo "OSX" export HOME="/Users/distiller" export HOME=`pwd` +else + # Trying to fix build when gcc or g++ are required + echo "LINUX: Patching makefile" + sed -i 's/gcc/gcc $(LDFLAGS)/g' Makefile + sed -i 's/g++/g++ $(LDFLAGS)/g' Makefile + sed -i 's/gcc/$(GCC)/g' Makefile + sed -i 's/g++/$(GXX)/g' Makefile + sed -i '1iGCC ?= gcc' Makefile + sed -i '1iGXX ?= g++' Makefile fi mkdir -p "$PREFIX"/bin diff --git a/recipes/seqfu/build_failure.osx-64.yaml b/recipes/seqfu/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..c5f5d5bff4d23 --- /dev/null +++ b/recipes/seqfu/build_failure.osx-64.yaml @@ -0,0 +1,39 @@ +recipe_sha: 184967c871fce4a0fd9ae83e451862b416eda8d7124bf15f3c862398b46c3783 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: compiler error +log: |2- + 16:20:36 BIOCONDA INFO (ERR) 75706 lines; 4.905s; 167.559MiB peakmem; proj: /opt/mambaforge/envs/bioconda/conda-bld/seqfu_1718122533360/work/src/fu_tabcheck.nim; out: /opt/mambaforge/envs/bioconda/conda-bld/seqfu_1718122533360/work/bin/fu-tabcheck [SuccessX] + 16:20:43 BIOCONDA INFO (ERR) test/byte/count.cpp:1:10: fatal error: 'iostream' file not found + 16:20:43 BIOCONDA INFO (ERR) #include + 16:20:43 BIOCONDA INFO (ERR) ^~~~~~~~~~ + 16:20:43 BIOCONDA INFO (ERR) 1 error generated. + 16:20:44 BIOCONDA INFO (ERR) make: *** [Makefile:35: bin/SeqCountHelper] Error 1 + 16:20:45 BIOCONDA INFO (OUT) Extracting download + 16:20:45 BIOCONDA INFO (ERR) Traceback (most recent call last): + 16:20:45 BIOCONDA INFO (ERR) File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + 16:20:45 BIOCONDA INFO (ERR) sys.exit(execute()) + 16:20:45 BIOCONDA INFO (OUT) source tree in: /opt/mambaforge/envs/bioconda/conda-bld/seqfu_1718122533360/work + 16:20:45 BIOCONDA INFO (ERR) File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + 16:20:45 BIOCONDA INFO (ERR) api.build( + 16:20:45 BIOCONDA INFO (OUT) export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/seqfu_1718122533360/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol + 16:20:45 BIOCONDA INFO (ERR) File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + 16:20:45 BIOCONDA INFO (ERR) return build_tree( + 16:20:45 BIOCONDA INFO (OUT) export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/seqfu_1718122533360/_build_env + 16:20:45 BIOCONDA INFO (ERR) File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + 16:20:45 BIOCONDA INFO (ERR) packages_from_this = build( + 16:20:45 BIOCONDA INFO (OUT) export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/seqfu_1718122533360/work + 16:20:45 BIOCONDA INFO (OUT) INFO: activate_clang_osx-64.sh made the following environmental changes: + 16:20:45 BIOCONDA INFO (OUT) +AR=x86_64-apple-darwin13.4.0-ar + 16:20:45 BIOCONDA INFO (OUT) +AS=x86_64-apple-darwin13.4.0-as + 16:20:45 BIOCONDA INFO (OUT) +CC=x86_64-apple-darwin13.4.0-clang + 16:20:45 BIOCONDA INFO (OUT) +CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + 16:20:45 BIOCONDA INFO (ERR) File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + 16:20:45 BIOCONDA INFO (ERR) utils.check_call_env( + 16:20:45 BIOCONDA INFO (ERR) File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + 16:20:45 BIOCONDA INFO (ERR) return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + 16:20:45 BIOCONDA INFO (OUT) +CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/seqfu-1.20.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + 16:20:45 BIOCONDA INFO (OUT) +CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + 16:20:45 BIOCONDA INFO (OUT) +CLANG=x86_64-apple-darwin13.4.0-clang + 16:20:45 BIOCONDA INFO (ERR) File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + 16:20:45 BIOCONDA INFO (ERR) raise subprocess.CalledProcessError(proc.returncode, _args) + 16:20:45 BIOCONDA INFO (ERR) subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/seqfu_1718122533360/work/conda_build.sh']' returned non-zero exit status 2. \ No newline at end of file diff --git a/recipes/seqfu/meta.yaml b/recipes/seqfu/meta.yaml index c0f03f2958763..9dfcd4bb28b7f 100644 --- a/recipes/seqfu/meta.yaml +++ b/recipes/seqfu/meta.yaml @@ -1,6 +1,6 @@ {% set name = "seqfu" %} -{% set version = "1.20.2" %} -{% set sha256 = "a7e5f2bdf0810d4b4d4a00a7f25522e8e3df7d5acf96742d2b63fb93da04ac8e" %} +{% set version = "1.22.2" %} +{% set sha256 = "0b66405ca98a80be614874fd1c1f651ecb410d953ac5070a0e93c77d2dbe1919" %} package: name: {{ name }} @@ -12,7 +12,6 @@ source: build: number: 0 - skip: True # Let's skip MacOS until we find out more run_exports: - {{ pin_subpackage(name, max_pin="x.x") }} @@ -49,6 +48,8 @@ about: Tools to interleave and deinterleave, to calculate stats, and extract portions of sequence datasets. extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - telatin identifiers: diff --git a/recipes/seqhax/meta.yaml b/recipes/seqhax/meta.yaml index 17216739a90fd..a6addef9c10bf 100644 --- a/recipes/seqhax/meta.yaml +++ b/recipes/seqhax/meta.yaml @@ -10,7 +10,7 @@ source: sha256: {{ sha256 }} build: - number: 0 + number: 1 skip: true # [not linux] run_exports: - {{ pin_subpackage('seqhax', max_pin="x") }} diff --git a/recipes/seqkit/meta.yaml b/recipes/seqkit/meta.yaml index 845a461c51f7a..538a6f2093241 100644 --- a/recipes/seqkit/meta.yaml +++ b/recipes/seqkit/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "2.6.1" %} +{% set version = "2.8.2" %} package: name: seqkit @@ -6,13 +6,19 @@ package: source: url: https://github.com/shenwei356/seqkit/releases/download/v{{ version }}/seqkit_darwin_amd64.tar.gz # [osx] - md5: c3596d65d5fa973a7c65485a97d735ac # [osx] + md5: 03b13956b7e3ef1678db591a79eb68ed # [osx] + + url: https://github.com/shenwei356/seqkit/releases/download/v{{ version }}/seqkit_darwin_arm64.tar.gz # [arm64] + md5: 0b2716f39c3974a5c3e310bcbd4076eb # [arm64] url: https://github.com/shenwei356/seqkit/releases/download/v{{ version }}/seqkit_linux_amd64.tar.gz # [linux] - md5: c48e7806a03cb9e3f2c1a091c9113908 # [linux] + md5: 67220b508f3f81c2c8697e6534eed440 # [linux] + + url: https://github.com/shenwei356/seqkit/releases/download/v{{ version }}/seqkit_linux_arm64.tar.gz # [aarch64] + md5: b83b021850c9447cfc8e0d5751b7be99 # [aarch64] build: - number: 0 + number: 1 skip: False run_exports: - {{ pin_subpackage("seqkit", max_pin="x.x") }} @@ -26,6 +32,12 @@ about: license: MIT extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 skip-lints: - should_be_noarch_generic - should_not_be_noarch_source + identifiers: + - biotools:seqkit + - doi:10.1371/journal.pone.0163962 diff --git a/recipes/seqlogo/meta.yaml b/recipes/seqlogo/meta.yaml index 9e2af80d8b307..b23fe0d1fe1bc 100755 --- a/recipes/seqlogo/meta.yaml +++ b/recipes/seqlogo/meta.yaml @@ -1,7 +1,5 @@ {% set name = "seqlogo" %} - -{% set version = "5.29.8" %} - +{% set version = "5.29.9" %} package: name: "{{ name }}" @@ -9,18 +7,20 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 22f3107aa6ae1097d11f39d70a85f6a8371fe99c2e93feb0243c3aa6c1edd4bc - + sha256: c521f83ccb54bfa031d0ea96d12133913f8b96c0874637d9bc55cb6b24c3187c build: noarch: python number: 0 - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + run_exports: + - {{ pin_subpackage('seqlogo', max_pin="x") }} requirements: host: - pip - python >=3 + - pytest run: - numpy - pandas @@ -33,11 +33,12 @@ test: - seqlogo about: - home: https://github.com/betteridiot/seqlogo - license: BSD + home: "https://github.com/betteridiot/seqlogo" + license: "BSD-3-Clause" license_family: BSD license_file: LICENSE summary: "Python port of the R Bioconductor `seqlogo` package" + dev_url: "https://github.com/betteridiot/seqlogo" extra: recipe-maintainers: diff --git a/recipes/seqnado/meta.yaml b/recipes/seqnado/meta.yaml new file mode 100644 index 0000000000000..1a30cf4a2b5bf --- /dev/null +++ b/recipes/seqnado/meta.yaml @@ -0,0 +1,67 @@ +{% set name = "seqnado" %} +{% set version = "0.5.4" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/seqnado-{{ version }}.tar.gz + sha256: d0b281f06d2c8d2c55d99529c785549fe7aaed00f487b10fd609cef2baec76f8 + + +build: + number: 0 + noarch: python + script_env: + - SETUPTOOLS_SCM_PRETEND_VERSION={{ version }} + script: {{ PYTHON }} -m pip install . --no-deps -vvv + entry_points: + - seqnado = seqnado.cli:cli_pipeline + - seqnado-design = seqnado.cli:cli_design + - seqnado-config = seqnado.cli:cli_config + run_exports: + - {{ pin_subpackage('seqnado', max_pin="x.x") }} + +requirements: + host: + - python >=3.10 + - setuptools >=61.0 + - wheel + - setuptools-scm >=6.2 + - pip + run: + - click + - cookiecutter + - drmaa + - pandas + - pulp <=2.7.0 + - pydantic + - python >=3.10 + - pyyaml + - seaborn + - setuptools-scm + - singularity + - snakemake >=8, <9 + - snakemake-wrapper-utils + - tracknado + - wget + +test: + imports: + - seqnado + commands: + - seqnado --help + - seqnado-design --help + - seqnado-config --help + +about: + home: https://alsmith151.github.io/SeqNado/ + summary: Pipelines for genomics analysis + license: GPL-3.0-or-later + license_file: LICENSE + +extra: + recipe-maintainers: + - alsmith151 + - CChahrour diff --git a/recipes/seqsero2/meta.yaml b/recipes/seqsero2/meta.yaml index 2ee2a03b296e5..577b4e289f04a 100644 --- a/recipes/seqsero2/meta.yaml +++ b/recipes/seqsero2/meta.yaml @@ -1,6 +1,6 @@ {% set name = "SeqSero2" %} -{% set version = "1.2.1" %} -{% set sha256 = "911b3f31ed35b7ac421001ab739782895c479f1e3a733ad17210069c8b7011ff" %} +{% set version = "1.3.1" %} +{% set sha256 = "5fa2a0957d053f36061fa76f5a4de6ea3d33b5307f4c122dc4cdf807d1c3514d" %} package: name: '{{ name | lower }}' @@ -11,9 +11,11 @@ source: sha256: '{{ sha256 }}' build: - number: 0 + number: 1 noarch: python - script: python -m pip install --no-deps --ignore-installed . + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation + run_exports: + - {{ pin_subpackage('seqsero2', max_pin="x") }} requirements: host: @@ -26,10 +28,11 @@ requirements: - samtools >=1.8 - bedtools =2.17.0 - sra-tools >=2.8.0 - - spades >=3.9.0 + - spades >=3.15.5 - sra-tools >=2.8.0 - salmid =0.1.23 - bwa >=0.7.12 + - seqtk >=1.3 test: commands: - SeqSero2_package.py -h @@ -38,7 +41,7 @@ test: about: home: https://github.com/denglab/{{ name }} - license: GPLv2 + license: GPL-2.0-or-later license_family: GPL license_file: 'LICENSE' summary: Salmonella serotype prediction from genome sequencing data diff --git a/recipes/seqsizzle/LICENSE.md b/recipes/seqsizzle/LICENSE.md new file mode 100644 index 0000000000000..fe6b9036ba181 --- /dev/null +++ b/recipes/seqsizzle/LICENSE.md @@ -0,0 +1,662 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. + diff --git a/recipes/seqsizzle/build.sh b/recipes/seqsizzle/build.sh new file mode 100644 index 0000000000000..397f07f5695be --- /dev/null +++ b/recipes/seqsizzle/build.sh @@ -0,0 +1,7 @@ +#!/bin/bash -euo + +# Add workaround for SSH-based Git connections from Rust/cargo. See https://github.com/rust-lang/cargo/issues/2078 for details. +# We set CARGO_HOME because we don't pass on HOME to conda-build, thus rendering the default "${HOME}/.cargo" defunct. +export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="$(pwd)/.cargo" + +RUST_BACKTRACE=1 cargo install --verbose --path . --root $PREFIX diff --git a/recipes/seqsizzle/meta.yaml b/recipes/seqsizzle/meta.yaml new file mode 100644 index 0000000000000..04e45be842289 --- /dev/null +++ b/recipes/seqsizzle/meta.yaml @@ -0,0 +1,40 @@ +{% set version = "0.1.4" %} +{% set sha256 = "8c8fd6ff9c3752676fa6673fe3cdab32220033c0b5790828740430f8890f20e3" %} + +package: + name: seqsizzle + version: {{ version }} + +source: + url: https://github.com/ChangqingW/SeqSizzle/archive/v{{version}}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage('seqsizzle', max_pin="x") }} + +requirements: + build: + - {{ compiler("c") }} + - rust + - pkg-config + host: + - xz + - zlib + - bzip2 + run: + - xz + - zlib + - bzip2 + +test: + commands: + - seqsizzle -h + +about: + home: https://github.com/ChangqingW/SeqSizzle + license: AGPL-3.0-or-later + licence_family: AGPL + license_file: LICENSE.md + summary: A pager for viewing FASTQ files with fuzzy adaptor matching and coloring. diff --git a/recipes/seqtk/meta.yaml b/recipes/seqtk/meta.yaml index df6b2e5bb7c06..6425b4714964d 100644 --- a/recipes/seqtk/meta.yaml +++ b/recipes/seqtk/meta.yaml @@ -12,7 +12,9 @@ source: - 0001-makefile.patch build: - number: 1 + number: 2 + run_exports: + - {{ pin_subpackage('seqtk', max_pin="x.x") }} requirements: build: @@ -33,5 +35,7 @@ about: summary: Seqtk is a fast and lightweight tool for processing sequences in the FASTA or FASTQ format extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:seqtk diff --git a/recipes/sequali/meta.yaml b/recipes/sequali/meta.yaml index 425992252db9a..24533e6037816 100644 --- a/recipes/sequali/meta.yaml +++ b/recipes/sequali/meta.yaml @@ -1,5 +1,5 @@ {% set name = "sequali" %} -{% set version = "0.4.0" %} +{% set version = "0.12.0" %} package: name: "{{ name|lower }}" @@ -7,31 +7,31 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: dc4dd32f652250ff4d2c783f0eb6f99072b9ed14df669e319fa2fa6ab12a558b + sha256: 14ddcfbe91ab4e941c4e20f0e93e3ad83fba80aca40a3c3c499acd19ac0b9f3c build: number: 0 entry_points: - sequali=sequali.__main__:main - sequali-report=sequali.__main__:sequali_report + script_env: + - SETUPTOOLS_SCM_PRETEND_VERSION={{ version }} run_exports: - {{ pin_subpackage('sequali', max_pin="x.x") }} - script: "{{ PYTHON }} -m pip install . -vv" - script_env: - - "CFLAGS=-mssse3" # [linux] - + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" requirements: build: - "{{ compiler('c') }}" - - pip host: - python + - pip + - setuptools-scm >=8.0 run: - - pygal >=3.0.0 + - pygal >=3.0.4 - python - tqdm - - xopen >=1.8.0 + - xopen >=2.0.0 test: imports: @@ -42,14 +42,18 @@ test: about: home: "https://github.com/rhpvorderman/sequali" - license: "GNU Affero General Public v3 or later (AGPLv3+)" + license: "AGPL-3.0-or-later" license_family: AGPL license_file: LICENSE summary: "Fast sequencing quality metrics" - doc_url: "https://github.com/rhpvorderman/sequali" + doc_url: "sequali.readthedocs.io" dev_url: "https://github.com/rhpvorderman/sequali" extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - rhpvorderman - + identifiers: + - doi:10.5281/zenodo.10854010 diff --git a/recipes/sequana/meta.yaml b/recipes/sequana/meta.yaml index 7e25a04a05c6a..8d67e0ad64f7a 100644 --- a/recipes/sequana/meta.yaml +++ b/recipes/sequana/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.16.1" %} -{% set sha256 = "5a519ca7156109c044cce41b6414e750dd5a257c11f78fc443abf8c2f6652b48" %} +{% set version = "0.16.4" %} +{% set sha256 = "d2624dd09dd04a7d27a38bbfb90e8ae5bf554bdc2e0b1e6a9484ab979a56e1ea" %} {% set name = "sequana" %} package: diff --git a/recipes/sequencetools/meta.yaml b/recipes/sequencetools/meta.yaml index bc3b6d6b88426..11d801d5246c7 100644 --- a/recipes/sequencetools/meta.yaml +++ b/recipes/sequencetools/meta.yaml @@ -1,28 +1,23 @@ -{% set version = "1.5.3.2" %} +{% set version = "1.5.4.0" %} package: name: sequencetools version: {{ version }} source: - - url: https://github.com/stschiff/sequenceTools/releases/download/v{{ version }}/genoStats-linux # [linux] - md5: 50fd1595be89c375e0c0d86353b68aab # [linux] - - url: https://github.com/stschiff/sequenceTools/releases/download/v{{ version }}/pileupCaller-linux # [linux] - md5: 7e9e44f223f3b23283b2e846ae3eff92 # [linux] - - url: https://github.com/stschiff/sequenceTools/releases/download/v{{ version }}/vcf2eigenstrat-linux # [linux] - md5: 88fe4a59b5a2df97794f67d7a4274e45 # [linux] - - url: https://github.com/stschiff/sequenceTools/releases/download/v{{ version }}/genoStats-macOS # [osx] - md5: d4ad978d5956b02ffac9d91aa7779cf8 # [osx] - - url: https://github.com/stschiff/sequenceTools/releases/download/v{{ version }}/pileupCaller-macOS # [osx] - md5: d1e10117bb7ef10c7f9bd43bd90c86af # [osx] - - url: https://github.com/stschiff/sequenceTools/releases/download/v{{ version }}/vcf2eigenstrat-macOS # [osx] - md5: 015ce6ca8b99405f626665d4e9246ae1 # [osx] - + - url: https://github.com/stschiff/sequenceTools/releases/download/v{{ version }}_more_binaries/pileupCaller-conda-linux # [linux] + md5: 559b74c033df69f179e405e8d65325df # [linux] + - url: https://github.com/stschiff/sequenceTools/releases/download/v{{ version }}_more_binaries/pileupCaller-macOS-X64 # [osx and x86_64] + md5: c99feed2be9f85bdc69da931673eacf0 # [osx and x86_64] + - url: https://github.com/stschiff/sequenceTools/releases/download/v{{ version }}_more_binaries/pileupCaller-macOS-ARM64 # [osx and arm64] + md5: 4f41008d654e683b7860fc0912376d4e # [osx and arm64] + build: number: 0 script: - "mkdir -p $PREFIX/bin" - - "for TOOL in genoStats pileupCaller vcf2eigenstrat; do mv $TOOL-* $PREFIX/bin/$TOOL; chmod u+x $PREFIX/bin/$TOOL; done" + - "mv pileupCaller* $PREFIX/bin/pileupCaller" + - "chmod u+x $PREFIX/bin/pileupCaller" run_exports: - {{ pin_subpackage("sequencetools", max_pin=None) }} @@ -31,20 +26,23 @@ requirements: build: # Precompiled binaries still link against libgcc - {{ compiler('c') }} + host: + - zlib + - gmp run: - zlib - - xz - gmp - samtools test: commands: - pileupCaller --version - - genoStats --version - - vcf2eigenstrat --version about: home: https://github.com/stschiff/sequenceTools license: MIT summary: Tools for population genetics on sequencing data +extra: + additional-platforms: + - osx-arm64 diff --git a/recipes/sequenoscope/meta.yaml b/recipes/sequenoscope/meta.yaml index 2d9184f285845..59a8abbf2222c 100644 --- a/recipes/sequenoscope/meta.yaml +++ b/recipes/sequenoscope/meta.yaml @@ -9,7 +9,7 @@ source: sha256: aac98d2ab286da78c9c4b621e52cac2a16fd6ea3d1200b05861bf82e3fb49701 build: - number: 0 + number: 1 noarch: python run_exports: - {{ pin_subpackage("sequenoscope", max_pin="x.x") }} @@ -26,7 +26,7 @@ requirements: - pysam >=0.16.0 - minimap2 >=2.26 - mash >=2.3 - - fastp >=0.22.0 + - fastp >=0.22.0,<=0.23.2 - seqtk >=1.4 - plotly >=5.16.1 - biopython >=1.7 diff --git a/recipes/sequenza-utils/build_failure.osx-64.yaml b/recipes/sequenza-utils/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..c23418fdf5dd0 --- /dev/null +++ b/recipes/sequenza-utils/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: ad01f59bb54fb38b29ef4aeb09c87479685de7020296fce1894dc1cbded9a745 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + Destination directory: /private/tmp/pip-wheel-68a19nc9 + Building wheel for sequenza-utils (setup.py): finished with status 'done' + Created wheel for sequenza-utils: filename=sequenza_utils-3.0.0-cp312-cp312-macosx_10_9_x86_64.whl size=29834 sha256=d937fc6d0ae086acd628fc477b489f38aa978c18e6ee541083cd2953a39a64e7 + Stored in directory: /private/tmp/pip-ephem-wheel-cache-bw95prpo/wheels/ff/a3/eb/ec11dd857897d354eab45aed2e67ffbc0a64b1f49cda5a0739 + Successfully built sequenza-utils + Installing collected packages: sequenza-utils + + changing mode of $PREFIX/bin/sequenza-utils to 755 + Successfully installed sequenza-utils-3.0.0 + Removed build tracker: '/private/tmp/pip-build-tracker-p25sh0bd' + + Resource usage statistics from building sequenza-utils: + Process count: 5 + CPU time: Sys=0:00:00.9, User=0:00:00.9 + Memory: 92.0M + Disk usage: 704B + Time elapsed: 0:00:06.7 + + + compiling .pyc files... + number of files: 50 + INFO: sysroot: '/System/Library/Frameworks/' files: '['vmnet.framework/Versions/Current', 'vmnet.framework/Versions/A/_CodeSignature/CodeResources', 'vmnet.framework/Versions/A/Resources/version.plist', 'vmnet.framework/Versions/A/Resources/InfoPlist.loctable']' + INFO: sysroot: '/usr/lib/' files: '['zsh/5.9/zsh/zselect.so', 'zsh/5.9/zsh/zpty.so', 'zsh/5.9/zsh/zprof.so', 'zsh/5.9/zsh/zleparameter.so']' + INFO: sysroot: '/opt/X11/' files: '[]' + INFO (sequenza-utils,lib/python3.12/site-packages/sequenza/c_pileup.cpython-312-darwin.so): Needed DSO /System/Library/Frameworks/libSystem.B.dylib found in $SYSROOT + WARNING (sequenza-utils): interpreter (Python) package conda-forge/osx-64::python==3.12.3=h1411813_0_cpython in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to build/ignore_run_exports) + WARNING (sequenza-utils): dso library package conda-forge/osx-64::libcxx==17.0.6=h88467a6_0 in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to build/ignore_run_exports) + Fixing permissions + INFO :: Time taken to mark (prefix) + 0 replacements in 0 files was 0.09 seconds + Files containing CONDA_PREFIX + ----------------------------- + bin/sequenza-utils (text): Patching + TEST START: /opt/mambaforge/envs/bioconda/conda-bld/osx-64/sequenza-utils-3.0.0-py312h82554b9_7.tar.bz2 + Renaming work directory '/opt/mambaforge/envs/bioconda/conda-bld/sequenza-utils_1717692686269/work' to '/opt/mambaforge/envs/bioconda/conda-bld/sequenza-utils_1717692686269/work_moved_sequenza-utils-3.0.0-py312h82554b9_7_osx-64' + shutil.move(work)=/opt/mambaforge/envs/bioconda/conda-bld/sequenza-utils_1717692686269/work, dest=/opt/mambaforge/envs/bioconda/conda-bld/sequenza-utils_1717692686269/work_moved_sequenza-utils-3.0.0-py312h82554b9_7_osx-64) + Reloading output folder (local): ...working... done + Solving environment (_test_env): ...working... done + + ## Package Plan ## + + environment location: /opt/mambaforge/envs/bioconda/conda-bld/sequenza-utils_1717692686269/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac + + + The following NEW packages will be INSTALLED: + + bzip2: 1.0.8-h10d778d_5 conda-forge + c-ares: 1.28.1-h10d778d_0 conda-forge + ca-certificates: 2024.6.2-h8857fd0_0 conda-forge + htslib: 1.20-hec81eee_1 bioconda + krb5: 1.21.2-hb884880_0 conda-forge + libcurl: 8.8.0-hf9fcc65_0 conda-forge + libcxx: 17.0.6-h88467a6_0 conda-forge + libdeflate: 1.20-h49d49c5_0 conda-forge + libedit: 3.1.20191231-h0678c8f_2 conda-forge + libev: 4.33-h10d778d_2 conda-forge + libexpat: 2.6.2-h73e2aa4_0 conda-forge + libffi: 3.4.2-h0d85af4_5 conda-forge + libnghttp2: 1.58.0-h64cf6d3_1 conda-forge + libsqlite: 3.45.3-h92b6c6a_0 conda-forge + libssh2: 1.11.0-hd019ec5_0 conda-forge + libzlib: 1.2.13-h87427d6_6 conda-forge + ncurses: 6.5-h5846eda_0 conda-forge + openssl: 3.3.1-h87427d6_0 conda-forge + python: 3.12.3-h1411813_0_cpython conda-forge + python_abi: 3.12-4_cp312 conda-forge + readline: 8.2-h9e318b2_1 conda-forge + samtools: 1.20-hd510865_0 bioconda + sequenza-utils: 3.0.0-py312h82554b9_7 local + tk: 8.6.13-h1abcd95_1 conda-forge + tzdata: 2024a-h0c530f3_0 conda-forge + xz: 5.2.6-h775f41a_0 conda-forge + zstd: 1.5.6-h915ae27_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + sequenza-utils --help + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/conda-bld/sequenza-utils_1717692686269/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin/sequenza-utils", line 11, in + sys.exit(main()) + ^^^^^^ + File "/opt/mambaforge/envs/bioconda/conda-bld/sequenza-utils_1717692686269/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.12/site-packages/sequenza/commands.py", line 30, in main + modules = get_modules(sequenza.programs, subparsers, {}) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/opt/mambaforge/envs/bioconda/conda-bld/sequenza-utils_1717692686269/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.12/site-packages/sequenza/misc.py", line 73, in get_modules + __import__(mod) + File "/opt/mambaforge/envs/bioconda/conda-bld/sequenza-utils_1717692686269/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.12/site-packages/sequenza/programs/bam2seqz.py", line 5, in + from sequenza.samtools import bam_mpileup, indexed_pileup, tabix_seqz + File "/opt/mambaforge/envs/bioconda/conda-bld/sequenza-utils_1717692686269/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.12/site-packages/sequenza/samtools.py", line 6, in + from distutils.spawn import find_executable + ModuleNotFoundError: No module named 'distutils' + WARNING: Tests failed for sequenza-utils-3.0.0-py312h82554b9_7.tar.bz2 - moving package to /opt/mambaforge/envs/bioconda/conda-bld/broken + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/sequenza-utils_1717692686269/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/sequenza-utils_1717692686269/test_tmp + import: 'sequenza' + import: 'sequenza.programs' + import: 'sequenza' + TESTS FAILED: sequenza-utils-3.0.0-py312h82554b9_7.tar.bz2 + import: 'sequenza.programs' +# Last 100 lines of the build log. diff --git a/recipes/sequenza-utils/meta.yaml b/recipes/sequenza-utils/meta.yaml index 35a0cdc72e3f8..4721d77e69dbd 100644 --- a/recipes/sequenza-utils/meta.yaml +++ b/recipes/sequenza-utils/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 0640f3d73e7c320b5234b86f1b94d6315b3248e1b2715c01fe44fbd23ffb2370 build: - number: 6 + number: 7 entry_points: - sequenza-utils = sequenza.commands:main script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " diff --git a/recipes/seqverify/build.sh b/recipes/seqverify/build.sh index 7b4d20d3e9b98..d264f97e6ebe0 100644 --- a/recipes/seqverify/build.sh +++ b/recipes/seqverify/build.sh @@ -6,5 +6,6 @@ cp seqverify $PREFIX/bin cp seqver_functions.py $PREFIX/bin cp seqver_plots.py $PREFIX/bin cp seqver_lofFinder.py $PREFIX/bin +cp seqver_gtf.py $PREFIX/bin cp seqver_genomeupdate.py $PREFIX/bin diff --git a/recipes/seqverify/meta.yaml b/recipes/seqverify/meta.yaml index f43ed2d87bda8..c0ce83872301b 100644 --- a/recipes/seqverify/meta.yaml +++ b/recipes/seqverify/meta.yaml @@ -1,12 +1,12 @@ -{% set version = "1.1.0" %} +{% set version = "1.3.0" %} package: name: seqverify version: {{ version }} source: - url: https://github.com/mpiersonsmela/SeqVerify/archive/refs/tags/v1.1.0.tar.gz - sha256: d6d9b1fc56bc7f7263d99d3e4f13e12a0e5ed0894c1ba70397805c46b5d34ec2 + url: https://github.com/mpiersonsmela/SeqVerify/archive/refs/tags/v1.3.0.tar.gz + sha256: 9641b1e5f69aef270e81a82f636c413cec2bd7767c482e534e27206bf2213a03 build: noarch: generic @@ -18,11 +18,13 @@ requirements: run: - bcftools - blast + - bracken - bwa - cnvpytor - htslib - idna - igv =2.13.2 + - igv-reports - kraken2 - matplotlib-base - numpy diff --git a/recipes/seqwish/build.sh b/recipes/seqwish/build.sh index 0b621bb26f65d..699332a22fd00 100644 --- a/recipes/seqwish/build.sh +++ b/recipes/seqwish/build.sh @@ -1,4 +1,7 @@ #!/bin/bash + +set -xe + export LIBRARY_PATH=${PREFIX}/lib export LD_LIBRARY_PATH=${PREFIX}/lib export CPATH=${PREFIX}/include @@ -6,7 +9,17 @@ export C_INCLUDE_PATH=${PREFIX}/include export CPLUS_INCLUDE_PATH=${PREFIX}/include export CPP_INCLUDE_PATH=${PREFIX}/include export CXX_INCLUDE_PATH=${PREFIX}/include -cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Generic -DEXTRA_FLAGS='-march=sandybridge -Ofast' -cmake --build build + +EXTRA_FLAGS="-Ofast" + +case $(uname -m) in + x86_64) + EXTRA_FLAGS="${EXTRA_FLAGS} -march=sandybridge" + ;; + *) ;; +esac + +cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Generic -DEXTRA_FLAGS="${EXTRA_FLAGS}" +cmake --build build -j ${CPU_COUNT} mkdir -p $PREFIX/bin mv bin/* $PREFIX/bin diff --git a/recipes/seqwish/meta.yaml b/recipes/seqwish/meta.yaml index 14eeca808d85c..04cdcf32616b4 100644 --- a/recipes/seqwish/meta.yaml +++ b/recipes/seqwish/meta.yaml @@ -1,5 +1,5 @@ {% set name = "seqwish" %} -{% set version = "0.7.9" %} +{% set version = "0.7.10" %} package: name: "{{ name }}" @@ -7,11 +7,13 @@ package: source: url: https://github.com/ekg/{{ name }}/releases/download/v{{ version }}/{{ name }}-v{{ version }}.tar.gz - sha256: 1ca7ebf02a35ad147c8a2b81f087aaba2deb878fec7acb4deb9f14e932e89d36 + sha256: 133b32c9c99caf44eba955b74bae338681da78300e4b21269e07475f88c88b29 build: skip: True # [osx] - number: 2 + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} + number: 1 requirements: build: @@ -38,6 +40,8 @@ about: summary: Alignment to variation graph inducer extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - AndreaGuarracino skip-lints: diff --git a/recipes/sercol/meta.yaml b/recipes/sercol/meta.yaml index 47cefcfa8bf95..cedf8663759d9 100644 --- a/recipes/sercol/meta.yaml +++ b/recipes/sercol/meta.yaml @@ -1,5 +1,5 @@ {% set name = "sercol" %} -{% set version = "0.1.4" %} +{% set version = "1.0.0" %} package: name: "{{ name|lower }}" @@ -7,12 +7,14 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: eab962cf60bccb3c500b0eac7f51e865efefc4203d0323da3c4d5414e0b4e577 + sha256: 6507f5efcee4596eb77c45f1580ff562533ef5d115918a6a28bc4eac09ec191c build: number: 0 noarch: python - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('sercol', max_pin="x") }} requirements: host: @@ -30,7 +32,8 @@ test: about: home: "https://github.com/openvax/sercol" - license: Apache Software + license: Apache-2.0 + license_file: LICENSE license_family: APACHE summary: "Rich collection class with grouping and filtering helpers" diff --git a/recipes/serotypefinder/build.sh b/recipes/serotypefinder/build.sh index f86371d384563..bdcf3a4a8221e 100644 --- a/recipes/serotypefinder/build.sh +++ b/recipes/serotypefinder/build.sh @@ -5,32 +5,23 @@ mkdir -p ${PREFIX}/bin chmod +x serotypefinder.py cp serotypefinder.py ${PREFIX}/bin/serotypefinder +# create folder for database download +target=${PREFIX}/share/${PKG_NAME}-${PKG_VERSION} +mkdir -p ${target}/db/ +touch ${target}/db/.empty + +# copy script to download database +cp ${RECIPE_DIR}/download-db.sh ${PREFIX}/bin +chmod +x ${PREFIX}/bin/download-db.sh + # copy script to download database chmod +x ${RECIPE_DIR}/update-serotypefinder-db.sh cp ${RECIPE_DIR}/update-serotypefinder-db.sh ${PREFIX}/bin/update-serotypefinder-db -# Grab latest database -# The SerotypeFinder database is not tagged and versioned, but it's also not updated -# very often (~7 commits in 5 years). 25ddd141d245db6382ca5876f7c7ddd0288aeb30 is the -# latest commit as of 2021/07/22. A script is provided to allow users to update in the -# event an update is made. -mkdir database/ -git clone https://bitbucket.org/genomicepidemiology/serotypefinder_db.git database/ -cd database/ -git checkout 25ddd141d245db6382ca5876f7c7ddd0288aeb30 -python3 INSTALL.py -echo "25ddd141d245db6382ca5876f7c7ddd0288aeb30" > serotypefinder-db-commit.txt -cd .. - -# Path for database -outdir=${PREFIX}/share/${PKG_NAME}-${PKG_VERSION}-${PKG_BUILDNUM} -mkdir -p ${outdir}/ -mv ./database/ ${outdir}/ - # set SEROTYPEFINDER_DB variable on env activation mkdir -p ${PREFIX}/etc/conda/activate.d ${PREFIX}/etc/conda/deactivate.d cat <> ${PREFIX}/etc/conda/activate.d/serotypefinder.sh -export SEROTYPEFINDER_DB=${outdir}/database/ +export SEROTYPEFINDER_DB=${target}/db/ EOF cat <> ${PREFIX}/etc/conda/deactivate.d/serotypefinder.sh diff --git a/recipes/serotypefinder/download-db.sh b/recipes/serotypefinder/download-db.sh new file mode 100644 index 0000000000000..74296aca0dcd7 --- /dev/null +++ b/recipes/serotypefinder/download-db.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +echo "Downloading SerotypeFinder database to ${SEROTYPEFINDER_DB}..." + +# Grab latest database +# The SerotypeFinder database is not tagged and versioned, but it's also not updated +# very often (~7 commits in 5 years). ada62c62a7fa74032448bb2273d1f7045c59fdda is the +# latest commit as of 2022/05/16. A script is provided to allow users to update in the +# event an update is made. + +cd ${SEROTYPEFINDER_DB} +# download SerotypeFinder database +git clone https://bitbucket.org/genomicepidemiology/serotypefinder_db.git db_serotypefinder +cd db_serotypefinder +python3 INSTALL.py +git rev-parse HEAD > serotypefinder-db-commit.txt +cd .. + +echo "SerotypeFinder database is downloaded." + +exit 0 diff --git a/recipes/serotypefinder/meta.yaml b/recipes/serotypefinder/meta.yaml index ae555ddfebb03..9bbaafbbaa65d 100644 --- a/recipes/serotypefinder/meta.yaml +++ b/recipes/serotypefinder/meta.yaml @@ -1,5 +1,5 @@ {% set name = "SerotypeFinder" %} -{% set version = "2.0.1" %} +{% set version = "2.0.2" %} package: name: "{{ name|lower }}" @@ -7,23 +7,27 @@ package: source: url: https://bitbucket.org/genomicepidemiology/{{ name|lower }}/get/{{ version }}.tar.gz - sha256: b937c0d85085f77f750665f28181656e5fb689e0d19a920ff7064f2ab4463783 + sha256: c6e13a3ef91c2f137bad99925a6b64e31330b768a4d8214bb767a51b3ea11446 patches: - - database_path.patch + - database_path.patch build: - number: 0 + number: 1 noarch: generic + run_exports: + - {{ pin_subpackage('serotypefinder', max_pin="x") }} requirements: + host: + - python >=3.8 run: - - biopython =1.73 + - biopython >=1.79 - blast >=2.8.1 - cgecore >=1.5.5 - kma - - python >=3 - - tabulate >=0.7.7 - + - python >=3.8 + - tabulate >=0.8.9 + - git test: commands: diff --git a/recipes/seurat-scripts/conda_build_config.yaml b/recipes/seurat-scripts/conda_build_config.yaml index 3eedcdc17af61..04b83d74f6c26 100644 --- a/recipes/seurat-scripts/conda_build_config.yaml +++ b/recipes/seurat-scripts/conda_build_config.yaml @@ -1,2 +1,2 @@ r_base: - - 4.0 + - 4.0.5 diff --git a/recipes/seurat-scripts/meta.yaml b/recipes/seurat-scripts/meta.yaml index 55cba16fa5424..15da9b60e8023 100644 --- a/recipes/seurat-scripts/meta.yaml +++ b/recipes/seurat-scripts/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "4.0.0" %} +{% set version = "4.4.0" %} package: name: seurat-scripts @@ -6,11 +6,13 @@ package: source: url: https://github.com/ebi-gene-expression-group/r-seurat-scripts/archive/{{ version }}.tar.gz - sha256: 2ee6f3bf471809efe8455131af763dfa17b84d0134a57cc9d33d7c347898dc29 + sha256: 907d30d3c2326565654af170670fc09b6bbda5fbfa356b17486a239ebf022bfb build: number: 0 noarch: generic + run_exports: + - {{ pin_subpackage('seurat-scripts', max_pin="x.x") }} requirements: host: @@ -19,16 +21,17 @@ requirements: - r-optparse - libpng - r-cairo - - r-seurat =4.0.0 - - r-uwot <0.1.11 - r-workflowscriptscommon >=0.0.8 + - r-seurat <=4.4 - r-loom - r-svglite - bioconductor-scater - r-seuratdisk + - r-remotes - bioconductor-multtest - r-metap - pandoc + - bioconductor-limma - mscorefonts test: diff --git a/recipes/sevenbridges-python/meta.yaml b/recipes/sevenbridges-python/meta.yaml index ad3d7aadb8e07..43ffddea1b422 100644 --- a/recipes/sevenbridges-python/meta.yaml +++ b/recipes/sevenbridges-python/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "2.9.2" %} -{% set sha256 = "716c7d883a3aee9b45d5c668a37fc886a3871c316e0ad82559aad15e836fcb41" %} +{% set version = "2.11.0" %} +{% set sha256 = "0a20b2f75cc9110adad747c0cfe7b7389b1c978008a77fae942ab66614f32534" %} package: name: sevenbridges-python @@ -12,7 +12,9 @@ source: build: noarch: python number: 0 - script: touch requirements.txt && {{PYTHON}} -m pip install --no-deps --ignore-installed --no-cache-dir . + script: touch requirements.txt && {{ PYTHON }} -m pip install --no-deps --no-build-isolation --no-cache-dir . -vvv + run_exports: + - {{ pin_subpackage('sevenbridges-python', max_pin="x") }} requirements: host: @@ -45,7 +47,7 @@ test: about: home: https://github.com/sbg/sevenbridges-python license: Apache-2.0 - license_family: Apache + license_family: APACHE license_file: LICENSE summary: SBG API python client bindings description: sevenbridges-python is a Python library that provides an interface for the Seven Bridges Platform the Cancer diff --git a/recipes/severus/meta.yaml b/recipes/severus/meta.yaml index 51de9dbeecbb8..a8692261e10e3 100644 --- a/recipes/severus/meta.yaml +++ b/recipes/severus/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.1.1" %} +{% set version = "1.2" %} package: name: severus @@ -6,13 +6,13 @@ package: source: url: https://github.com/KolmogorovLab/Severus/archive/refs/tags/{{ version }}.tar.gz - sha256: aa9cf7bfc78234b770e5b67a38e6ee98ee94c1e45e11d61429d8e02df8793570 + sha256: 087566e5fb6f9156323771e46b9fe8d5f90aefb5bbb442cf1ed246dcb4f85847 build: number: 0 noarch: python run_exports: - - {{ pin_subpackage('severus', max_pin='x.x') }} + - {{ pin_subpackage('severus', max_pin='x') }} requirements: host: @@ -31,6 +31,7 @@ requirements: - biopython - numpy - pysam + - plotly extra: skip-lints: diff --git a/recipes/sfold/LICENSE b/recipes/sfold/LICENSE new file mode 100644 index 0000000000000..6ba2e1226cc34 --- /dev/null +++ b/recipes/sfold/LICENSE @@ -0,0 +1,82 @@ +SFOLD ACADEMIC NON-COMMERCIAL SOFTWARE LICENSE + +FOR COMMERCIAL USE/LICENSE ? PLEASE CONTACT HEALTH RESEARCH INC TECHNOLOGY TRANSFER OFFICE AT (518) 431-1208, (518) 431-1213 or (518)-431-1200,OR by email at OTT@healthresearch.org +THE TERMS AND CONDITIONS CONTAINED HEREIN CONSTITUTE A LEGAL AGREEMENT.THIS AGREEMENT CONTAINS THE ENTIRE AGREEMENT BETWEEN YOU (?YOU? OR ?YOUR?), A NOT-FOR-PROFIT COLLEGE OR UNIVERSITY, AND HEALTH RESEARCH INCORPORATED (HEALTH RESEARCH INC.), A NONPROFIT CORPORATION ORGANIZED UNDER THE NEW YORK STATE NONPROFIT CORPORATION LAW WITH RESPECT TO THE TERMS AND CONDITIONS DESCRIBED HEREIN. + +READ THIS AGREEMENT CAREFULLY BEFORE YOU CLICK THE ?I AGREE TO THE LICENSE TERMS? BUTTON. BY CLICKING ON THE ?I AGREE TO THE LICENSE TERMS? BUTTON, THE PERSON ACCEPTING THIS AGREEMENT ACKNOWLEDGES THAT (1) HE OR SHE IS AUTHORIZED TO ENTER INTO THIS AGREEMENT FOR AND ON BEHALF OF YOU, AND IS DOING SO, AND (2) HE OR SHE HAS READ, UNDERSTANDS AND AGREES THAT YOU SHALL BE BOUND BY THESE TERMS AND CONDITIONS AND ALL MODIFICATIONS AND ADDITIONS PROVIDED FOR. IF YOU DO NOT AGREE WITH THESE TERMS AND CONDITIONS, CLICK ON THE ?RETURN? BUTTON AND INSTALLATION WILL TERMINATE. IF YOU ARE NOT AUTHORIZED TO ENTER INTO AND BIND YOUR INSTITUTION TO THIS AGREEMENT, CLICK ON THE ?I AM NOT THE AUTHORIZED SIGNATORY? BUTTON. + +You and Health Research Inc. are sometimes referred to in this Agreement as a ?Party? and collectively, as the ?Parties.? Dr. Ye Ding is the primary developer of the Sfold software package. All intellectual property rights in the Software, including, without limitation, all copyright, patent rights and trademark rights, are owned by Health Research Inc. Except for the limited license rights to use the Software expressly granted in this Agreement, Health Research Inc. reserves all other rights to itself. In consideration of the premises and mutual covenants set forth below, the Parties hereby agree as follows: + +1. Definitions +As used in this Agreement, the following terms shall have the meanings set forth in this Section: +1.1 ?Effective Date? means the date You enter into this Agreement with Health Research Inc. by clicking the ?I Agree to the License Terms? button. +1.2 ?Modify? or Modifications? means any changes or extensions introduced into the Software or otherwise based on or derived from the Software source statements. Modifications may include, but are not limited to, corrections of program errors, translations and stylistic restructuring of the Software, addition or deletion of functions or enhancement of existing functions of the Software, changes or additions required to integrate the Software into other applications or to allow the Software to run under alternative operating systems or computer hardware configurations, and other adaptations of the Software. +1.3 ?Site? means Your single street address listed on your application for this Software License at which You will maintain the computers onto which You load the Software and make it available for use by Authorized Users. +1.4 ?Software? means the Sfold collection of programs, in version 3.x (current release is 3.9) in machine readable object code, source code, if licensed, or binaries, to run in Linux (32 bit or 64 bit) or Mac architectures, and subsequent error corrections and updates of version 3.9 that may be supplied to You by Health Research Inc., if any. + +2. Your Representations and Warranties, Grant of Rights +2.1 You hereby represent and warrant to Health Research Inc. as follows: +2.1.1 You are a not-for-profit college or university organized and existing under the laws of the jurisdiction of your formation; +2.1.2 The person entering into this Agreement on Your behalf is duly authorized to do so; and +2.1.3 Your acceptance and performance of this Agreement (i) have been authorized by all necessary corporate action of You and (ii) do not conflict with any agreement or instrument to which You are a party or are otherwise bound. +2.2 In reliance on the foregoing representations and warranties, and subject to payment of the License Fee (defined below) in accordance with Section 2.3 of this Agreement, Health Research Inc. hereby grants to You a limited, non-exclusive, non-transferable license to install and use the Software, including the source code therefor, and to compile the Software, at the Site for internal research purposes only (the ?Purposes?), without the right to sublicense, and to make such copies of the Software as are necessary for use at the Site, subject to the limitations, terms and conditions of this Agreement. You are not permitted to use the Software in any manner not expressly authorized by this Agreement. This grant is limited to use on no more than five (5) computers located at the Site by no more than five (5) concurrent users, all of whom shall be employees of You (?Authorized Users?). It does not authorize Software use by third parties at the Site or by anyone not located at the Site via the Internet or any other means. You may not make the Software available to anyone but Authorized Users. No sublicensing rights whatsoever are granted. You may make Modifications of the Software as are necessary +(a) to further the Purposes, (b) to fix minor Software errors, (c) to enable proper Software installation on Your authorized computers, and (d) to enable access to the Software by other computer programs used by You. Health Research Inc. shall not be required to fix any errors or bugs or make any Modifications. +You may also make other Modifications or derivative works of the software with written consent by either the primary developer or the copyright holder. All modifications and derivatives are components of Sfold and remain the property of Health Research Inc. The header line of any newly derived stand-alone code shall include ?? 2003-2017 Health Research Inc. All rights reserved.?, with current year updated. +2.3 You shall pay Health Research Inc. a non-refundable license fee in the amount of zero Dollars ($0) (the ?License Fee?) prior to downloading the Software. +2.4 You acknowledge that the Software is the exclusive property of Health Research Inc. and that Health Research Inc. has and shall retain at all times all ownership rights, including all trademarks, patent rights, if any, and copyrights in, and to the Software, and all subsequent releases and copies thereof regardless of the form or media. Upon ten (10) days written notice, Health Research Inc. or its designee may audit your use of the Software. You agree to cooperate with Health Research Inc.?s audit and provide reasonable assistance and access to information. Any such audit shall not unreasonably interfere with your normal operations. You shall pay to Health Research Inc. for Your use of the Software in excess of your license rights, as liquidated damages, within thirty (30) days of written notification a non-refundable amount of Nine Thousand Dollars ($9,000). Notwithstanding such payment, if You wish to continue to use the Software in a manner that exceeds Your rights under this License, Health Research Inc. may also require You to purchase a commercial license for the Software subject to Health Research Inc.?s standard terms and conditions therefor. If you do not pay the liquidated damages, then in addition to such other legal and equitable remedies available to it, Health Research Inc. may terminate Your license to the Software and/or this Agreement. Health Research Inc. shall not be responsible for any of Your costs incurred in cooperating with the audit. +2.5 You may not (a) distribute, publish, or otherwise transfer or allow to be transferred to third parties, the Software or copies thereof, in whole or in part, or (b) perform services for any third parties using the Software, including, without limitation, on a service bureau basis or with an online hosted service. +2.6 The license granted hereunder shall not include the right to use any other intellectual property or proprietary information or material of Health Research Inc. +2.7 Health Research Inc. and its affiliates and their employees have no obligation to assist You in the use, correction, modification, or enhancement of the Software or to provide any Software error corrections, bug fixes, updates, upgrades, new versions, maintenance or support of any kind under this Agreement. +2.8 In partial consideration of the royalty-free license rights granted hereunder, Licensee shall cite the following publications in any abstract, paper, or presentation referencing +Sfold software: +Ding, Y., Chan, C.Y. and Lawrence, C.E. (2005) RNA secondary structure prediction by centroids in a Boltzmann weighted ensemble. RNA 11, 1157-1166. +Ding, Y. and Lawrence, C.E. (2003) A statistical sampling algorithm for RNA secondary structure prediction. Nucleic Acids Res. 31, 7280-7301. + +3. Protection of Software +3.1 You shall respect and not remove, obliterate, or cancel from view any copyright, trademark, confidentiality or other proprietary notice, mark, or legend appearing on any of the Software or output generated by the Software, and shall reproduce and include same on each copy of the Software. You shall secure and protect all Software to the extent that You protect Your own software but shall use no less than reasonable effort to protect Health Research Inc.?s proprietary rights therein. +3.2 You shall maintain and place on any copy of the Software that you reproduce in accordance with the limitations in this Agreement, the following notice, or such other reasonable notice as Health Research Inc. shall from time to time require, on each copy of the Software. Such notice shall be loaded in the computer memory for use, display, or reproduction and shall be embedded in program source code and object code, in the video screen display, and on the physical medium embodying the Software copy: +? 2003-2017 Health Research Inc. All rights reserved. + +4. Warranties; Limitation of Liability +4.1 THIS SOFTWARE IS DELIVERED ?AS IS.? NEITHER HEALTH RESEARCH INC NOR THE STATE OF NEW YORK MAKES ANY WARRANTIES CONCERNING THE SOFTWARE COVERED BY THIS AGREEMENT, INCLUDING, WITHOUT LIMITATION, ANY EXPRESS OR IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. HEALTH RESEARCH INC. MAKES NO WARRANTY OR REPRESENTATION AS TO THE VALIDITY OR SCOPE OF THE SOFTWARE OR ANY INTELLECTUAL PROPERTY RIGHT CONTAINED THEREIN, THAT THE SOFTWARE WILL BE ERROR FREE, FREE FROM AN INFRINGEMENT ON PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY RIGHTS OF THIRD PARTIES, OR THAT NO THIRD PARTIES ARE INFRINGING PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHTS COVERED BY THIS AGREEMENT. NO AGENT OF HEALTH RESEARCH INC IS AUTHORIZED TO ALTER OR EXCEED THE WARRANTY OBLIGATIONS OF HEALTH RESEARCH INC SET FORTH IN THIS AGREEMENT. + +4.2 EXCEPT TO THE EXTENT PROHIBITED BY LAW, YOU ASSUME ALL LIABILITY FOR DAMAGES THAT MAY ARISE FROM THE USE OF THE SOFTWARE. NEITHER HEALTH RESEARCH INC NOR THE STATE OF NEW YORK WILL BE LIABLE TO YOU FOR ANY LOSS, CLAIM OR DEMAND MADE BY YOU OR MADE AGAINST YOU BY ANY THIRD PARTY DUE TO OR ARISING FROM YOUR USE OF THE SOFTWARE. THE MAXIMUM LIABILITY OF HEALTH RESEARCH INC AND THE STATE OF NEW YORK TO ANY PERSON, FIRM OR CORPORATION WHATSOEVER ARISING OUT OF, OR IN CONNECTION WITH YOUR USE OF THE SOFTWARE SHALL IN NO CASE EXCEED ONE THOUSAND U.S. DOLLARS ($1,000 U.S.). + +5. Indemnification +5.1 You shall at all times during the term of this Agreement and thereafter indemnify, defend, and hold Health Research Inc., New York State and their respective trustees, directors, officers, employees and affiliates, harmless against all claims, proceedings, demands and liabilities of any kind whatsoever, including legal expenses and reasonable attorney fees, with regard to claims arising out of (a) the death of, or injury to, any person or persons; (b) any damage to property arising out of Your use of the Software; and (c) or resulting from, the exercise or practice of the license granted to You hereunder. + +6. Confidential Information +6.1 Confidential Information Defined. The term ?Confidential Information? means (a) the Software, (b) any documentation, instruction and training manuals, diagrams, flow charts, and business processes, and (c) all other information disclosed by Health Research Inc. to You; provided, however, that to be considered Confidential Information under this Agreement, information disclosed in writing or in electronic or other tangible form must bear a ?secret,? ?confidential,? or other similar designation, or if communicated orally, be followed with a written memorandum delivered to You within thirty (30) days of the disclosure describing the information disclosed and the circumstances of disclosure and asserting a claim of confidentiality with respect thereto. You acknowledge that the Confidential Information is the sole and exclusive property of Health Research Inc. and that the Confidential Information contains the valuable property and trade secrets of Health Research Inc. You shall not disclose any of Your or any third party?s confidential or proprietary information to Health Research Inc. in connection with this Agreement. + +6.2 Duty of Security. You shall maintain the Confidential Information in a safe, secure place to which only Your authorized employees with a need to know the Confidential Information to fulfill the Purposes are permitted access. You shall maintain the Confidential Information in confidence, employing measures of security reasonable under the circumstances, but in no event less stringent than the measures You employ to protect your own most valuable trade secrets and not use the Confidential Information except to fulfill the Purposes. The Confidential Information may be disclosed only to those employees of You who have a reasonable need to know to fulfill the Purposes, in light of their duties as employees and only if such employees are warned of the confidential nature of the Confidential Information. You will be responsible for the consequences of any injury resulting from disclosure of the Confidential Information by You or third parties to whom You allow access to the Confidential Information. +6.3 Exclusions. The obligations of Article 6 shall not apply to information that: +6.3.1 is, at the time of disclosure, in the public domain or that, after disclosure, falls into the public domain through no fault or neglect of You; +6.3.2 is lawfully disclosed to You by a third party who is under no obligation of secrecy or confidentiality with respect to the information; and +6.3.3 information that You can demonstrate, through written contemporaneously dated documents in Your files, was either in Your possession or independently developed by You by persons without access to the Confidential Information prior to the Effective Date. + +7. Termination +7.1 Health Research Inc. may also terminate this Agreement upon written notice to You if You are in material breach of this Agreement and fail to cure such breach within five (5) days of a written demand for performance. +7.2 Upon termination of this Agreement: +7.2.1 You shall discontinue all use of the Software; +7.2.2 You shall immediately remove the Software from all computers at the Site and from all hard drives and media in Your possession; +7.2.3 You shall certify in writing to Health Research Inc. within thirty (30) days from the termination or expiration of this Agreement that You have complied with this Section; and +7.2.4 You shall return to Health Research Inc. within thirty (30) days from the termination or expiration of this Agreement upon written notice all Confidential Information, including, without limitation, materials, samples, documents, notes and other materials that embody or disclose Confidential Information, including all copies of any of the foregoing You made or permitted others to make. + +8. Export Controls +8.1 You understand and acknowledge that the transfer of certain commodities and technical data is subject to United States laws and regulations controlling the export of certain commodities and technical data, including, without limitation, all Export Administration Regulations of the United States Department of Commerce. These laws and regulations, among other things, prohibit or require a license for the export of certain types of technical data to certain specified countries. You hereby agree and give Health Research Inc. written assurance that You will comply with all United States laws and regulations controlling the export of commodities and technical data, that You will be solely responsible for any violation of such by You, and that You will defend, indemnify and hold Health Research Inc. and its employees, officers and agents harmless in the event of any legal action of any nature occasioned by such violation. + +9. Notices +9.1 Except as otherwise expressly provided in this Agreement, all notices and other communications in connection with this Agreement shall be in writing and shall be sent by postage prepaid certified mail return receipt requested, overnight delivery service or fax to Health Research Inc. at the address set forth below, and to You, at the email address you provided to Health Research Inc. with Your application for this license, or to such other addresses as may be designated by either Party by like notice: +To Health Research Inc. at 150 Broadway Suite 560, Menands, New York 12204 + +10. General Provisions +10.1 This Agreement shall be governed by, construed and enforced exclusively in accordance with the laws of New York State without reference to any of its conflict of laws rules. Any action brought regarding or arising out of this Agreement shall be in the United States District Court, Northern District of New York (Albany), or New York State Supreme Court, Health Research Inc. or Albany County. +10.2 If any formal acts of registration or recordation of this Agreement are required under the laws of any governmental authority to which You are subject, or if You are required by any such law to take any other action as a result of this Agreement, You shall take all necessary steps to immediately undertake and fully comply with same and promptly furnish to Health Research Inc. proof of registration, recordation and/or compliance therewith. +10.3 Neither Party, absent written approval of the other, shall have any right to use any name, trade name, or trademark of the other. +10.4 Neither Party, absent written approval of the other, shall assign any rights under this Agreement to any third party. +10.5 Nothing contained in this Agreement shall require or permit Health Research Inc. or You to do any act inconsistent with the requirements of any United States law, regulation or executive order as the same may be in effect from time to time. +10.6 The following Sections and Articles shall survive the termination of this Agreement: 2.4; 2.5; 4.2; 5.1; 6; 7.2; 8; and 10. +10.7 This Agreement (a) contains the entire understanding between you and Health Research Inc. and supersedes all prior agreements with respect to the subject matter hereof, and (b) may only be amended by another writing expressly referring to this Agreement signed by both You and Health Research Inc. This Agreement shall be binding upon and inure to the benefit of You and Health Research Inc. and their respective successors and permitted assigns. +Updated May 25, 2017 + + diff --git a/recipes/sfold/build.sh b/recipes/sfold/build.sh new file mode 100755 index 0000000000000..0584640650b30 --- /dev/null +++ b/recipes/sfold/build.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +# configure +./configure + +# copy the source code to the build directory +SFOLD_DIR=${PREFIX} +mkdir -p ${SFOLD_DIR} +cp -r bin ${SFOLD_DIR} +cp -r lib ${SFOLD_DIR} +cp -r param ${SFOLD_DIR} +cp -r STarMir ${SFOLD_DIR} + +# modify the sfoldenv file +cp sfoldenv ${SFOLD_DIR}/sfoldenv +sed -i "s|SFOLDDIR=.*|SFOLDDIR=${SFOLD_DIR}|g" ${SFOLD_DIR}/sfoldenv \ No newline at end of file diff --git a/recipes/sfold/meta.yaml b/recipes/sfold/meta.yaml new file mode 100644 index 0000000000000..6cc46554e3948 --- /dev/null +++ b/recipes/sfold/meta.yaml @@ -0,0 +1,36 @@ +package: + name: sfold + version: 2.2 + +source: + url: https://github.com/Ding-RNA-Lab/Sfold/archive/df189e0fa5b4e64c0d16d4a7c40b3f95a15352cc.zip + sha256: c25e4d8cf055e13c523ef59f68c8847b66584e36359ce4fb9dc675a97f1a2939 + +build: + number: 0 + skip: True # [osx] + run_exports: + - {{ pin_subpackage('sfold', max_pin='x') }} + +requirements: + build: + - {{ compiler('c') }} + host: + - r-base + - perl + - unzip + run: + - r-base + - perl + - gawk + - grep +test: + commands: + - sfold -h # Check if sfold command runs successfully + +about: + home: https://github.com/Ding-RNA-Lab/Sfold + license: OTHER + license_file: ./LICENSE + summary: Software for Statistical Folding of Nucleic Acids + diff --git a/recipes/sga/build_failure.osx-64.yaml b/recipes/sga/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..c274b38b8755b --- /dev/null +++ b/recipes/sga/build_failure.osx-64.yaml @@ -0,0 +1,106 @@ +recipe_sha: 5eea4bb110cc9e71d687892aaf69b4c4905565f4be1072f268a508f0853d54f2 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + /opt/mambaforge/envs/bioconda/conda-bld/sga_1717957120831/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include/bamtools/api/algorithms/Sort.h:64:18: error: no template named 'binary_function' in namespace 'std'; did you mean '__binary_function'? + typedef std::binary_function AlignmentSortBase; + ~~~~~^~~~~~~~~~~~~~~ + __binary_function + /opt/mambaforge/envs/bioconda/conda-bld/sga_1717957120831/_build_env/bin/../include/c/v1/__functional/binary_function.h:49:1: note: '__binary_function' declared here + using __binary_function = __binary_function_keep_layout_base<_Arg1, _Arg2, _Result>; + ^ + 1 error generated. + make[2]: *** [Makefile:924: sga-rewrite-evidence-bam.o] Error 1 + make[1]: *** [Makefile:358: all-recursive] Error 1 + make: *** [Makefile:299: all] Error 2 + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Bigraph -I../Util -I../StringGraph -I../SQG -I../SuffixTools -I../Thirdparty -I../Algorithm -I../Concurrency -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT libgraphdiff_a-GraphCompare.o -MD -MP -MF .deps/libgraphdiff_a-GraphCompare.Tpo -c -o libgraphdiff_a-GraphCompare.o test -f 'GraphCompare.cpp' || echo './'GraphCompare.cpp + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + mv -f .deps/libgraphdiff_a-GraphCompare.Tpo .deps/libgraphdiff_a-GraphCompare.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Bigraph -I../Util -I../StringGraph -I../SQG -I../SuffixTools -I../Thirdparty -I../Algorithm -I../Concurrency -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT libgraphdiff_a-OverlapExtractorWithCorrection.o -MD -MP -MF .deps/libgraphdiff_a-OverlapExtractorWithCorrection.Tpo -c -o libgraphdiff_a-OverlapExtractorWithCorrection.o test -f 'OverlapExtractorWithCorrection.cpp' || echo './'OverlapExtractorWithCorrection.cpp + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + mv -f .deps/libgraphdiff_a-OverlapExtractorWithCorrection.Tpo .deps/libgraphdiff_a-OverlapExtractorWithCorrection.Po + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Bigraph -I../Util -I../StringGraph -I../SQG -I../SuffixTools -I../Thirdparty -I../Algorithm -I../Concurrency -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT libgraphdiff_a-DBGPathGuide.o -MD -MP -MF .deps/libgraphdiff_a-DBGPathGuide.Tpo -c -o libgraphdiff_a-DBGPathGuide.o test -f 'DBGPathGuide.cpp' || echo './'DBGPathGuide.cpp + mv -f .deps/libgraphdiff_a-DBGPathGuide.Tpo .deps/libgraphdiff_a-DBGPathGuide.Po + rm -f libgraphdiff.a + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/sga_1717957120831/work/conda_build.sh']' returned non-zero exit status 2. + ar cru libgraphdiff.a libgraphdiff_a-DindelUtil.o libgraphdiff_a-DindelRealignWindow.o libgraphdiff_a-DindelHMM.o libgraphdiff_a-OverlapHaplotypeBuilder.o libgraphdiff_a-StringHaplotypeBuilder.o libgraphdiff_a-DeBruijnHaplotypeBuilder.o libgraphdiff_a-PairedDeBruijnHaplotypeBuilder.o libgraphdiff_a-HapgenUtil.o libgraphdiff_a-VCFTester.o libgraphdiff_a-GraphCompare.o libgraphdiff_a-OverlapExtractorWithCorrection.o libgraphdiff_a-DBGPathGuide.o + x86_64-apple-darwin13.4.0-ranlib libgraphdiff.a + make[2]: Leaving directory '$SRC_DIR/src/GraphDiff' + Making all in SGA + make[2]: Entering directory '$SRC_DIR/src/SGA' + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-sga.o -MD -MP -MF .deps/sga-sga.Tpo -c -o sga-sga.o test -f 'sga.cpp' || echo './'sga.cpp + mv -f .deps/sga-sga.Tpo .deps/sga-sga.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-index.o -MD -MP -MF .deps/sga-index.Tpo -c -o sga-index.o test -f 'index.cpp' || echo './'index.cpp + mv -f .deps/sga-index.Tpo .deps/sga-index.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-overlap.o -MD -MP -MF .deps/sga-overlap.Tpo -c -o sga-overlap.o test -f 'overlap.cpp' || echo './'overlap.cpp + mv -f .deps/sga-overlap.Tpo .deps/sga-overlap.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-assemble.o -MD -MP -MF .deps/sga-assemble.Tpo -c -o sga-assemble.o test -f 'assemble.cpp' || echo './'assemble.cpp + mv -f .deps/sga-assemble.Tpo .deps/sga-assemble.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-correct.o -MD -MP -MF .deps/sga-correct.Tpo -c -o sga-correct.o test -f 'correct.cpp' || echo './'correct.cpp + mv -f .deps/sga-correct.Tpo .deps/sga-correct.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-oview.o -MD -MP -MF .deps/sga-oview.Tpo -c -o sga-oview.o test -f 'oview.cpp' || echo './'oview.cpp + mv -f .deps/sga-oview.Tpo .deps/sga-oview.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-preprocess.o -MD -MP -MF .deps/sga-preprocess.Tpo -c -o sga-preprocess.o test -f 'preprocess.cpp' || echo './'preprocess.cpp + mv -f .deps/sga-preprocess.Tpo .deps/sga-preprocess.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-rmdup.o -MD -MP -MF .deps/sga-rmdup.Tpo -c -o sga-rmdup.o test -f 'rmdup.cpp' || echo './'rmdup.cpp + mv -f .deps/sga-rmdup.Tpo .deps/sga-rmdup.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-merge.o -MD -MP -MF .deps/sga-merge.Tpo -c -o sga-merge.o test -f 'merge.cpp' || echo './'merge.cpp + mv -f .deps/sga-merge.Tpo .deps/sga-merge.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-subgraph.o -MD -MP -MF .deps/sga-subgraph.Tpo -c -o sga-subgraph.o test -f 'subgraph.cpp' || echo './'subgraph.cpp + mv -f .deps/sga-subgraph.Tpo .deps/sga-subgraph.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-scaffold.o -MD -MP -MF .deps/sga-scaffold.Tpo -c -o sga-scaffold.o test -f 'scaffold.cpp' || echo './'scaffold.cpp + mv -f .deps/sga-scaffold.Tpo .deps/sga-scaffold.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-scaffold2fasta.o -MD -MP -MF .deps/sga-scaffold2fasta.Tpo -c -o sga-scaffold2fasta.o test -f 'scaffold2fasta.cpp' || echo './'scaffold2fasta.cpp + mv -f .deps/sga-scaffold2fasta.Tpo .deps/sga-scaffold2fasta.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-connect.o -MD -MP -MF .deps/sga-connect.Tpo -c -o sga-connect.o test -f 'connect.cpp' || echo './'connect.cpp + mv -f .deps/sga-connect.Tpo .deps/sga-connect.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-walk.o -MD -MP -MF .deps/sga-walk.Tpo -c -o sga-walk.o test -f 'walk.cpp' || echo './'walk.cpp + mv -f .deps/sga-walk.Tpo .deps/sga-walk.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-filter.o -MD -MP -MF .deps/sga-filter.Tpo -c -o sga-filter.o test -f 'filter.cpp' || echo './'filter.cpp + mv -f .deps/sga-filter.Tpo .deps/sga-filter.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-kmer-count.o -MD -MP -MF .deps/sga-kmer-count.Tpo -c -o sga-kmer-count.o test -f 'kmer-count.cpp' || echo './'kmer-count.cpp + mv -f .deps/sga-kmer-count.Tpo .deps/sga-kmer-count.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-stats.o -MD -MP -MF .deps/sga-stats.Tpo -c -o sga-stats.o test -f 'stats.cpp' || echo './'stats.cpp + mv -f .deps/sga-stats.Tpo .deps/sga-stats.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-fm-merge.o -MD -MP -MF .deps/sga-fm-merge.Tpo -c -o sga-fm-merge.o test -f 'fm-merge.cpp' || echo './'fm-merge.cpp + mv -f .deps/sga-fm-merge.Tpo .deps/sga-fm-merge.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-gmap.o -MD -MP -MF .deps/sga-gmap.Tpo -c -o sga-gmap.o test -f 'gmap.cpp' || echo './'gmap.cpp + mv -f .deps/sga-gmap.Tpo .deps/sga-gmap.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-filterBAM.o -MD -MP -MF .deps/sga-filterBAM.Tpo -c -o sga-filterBAM.o test -f 'filterBAM.cpp' || echo './'filterBAM.cpp + mv -f .deps/sga-filterBAM.Tpo .deps/sga-filterBAM.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-cluster.o -MD -MP -MF .deps/sga-cluster.Tpo -c -o sga-cluster.o test -f 'cluster.cpp' || echo './'cluster.cpp + mv -f .deps/sga-cluster.Tpo .deps/sga-cluster.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-gen-ssa.o -MD -MP -MF .deps/sga-gen-ssa.Tpo -c -o sga-gen-ssa.o test -f 'gen-ssa.cpp' || echo './'gen-ssa.cpp + mv -f .deps/sga-gen-ssa.Tpo .deps/sga-gen-ssa.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-bwt2fa.o -MD -MP -MF .deps/sga-bwt2fa.Tpo -c -o sga-bwt2fa.o test -f 'bwt2fa.cpp' || echo './'bwt2fa.cpp + mv -f .deps/sga-bwt2fa.Tpo .deps/sga-bwt2fa.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-graph-diff.o -MD -MP -MF .deps/sga-graph-diff.Tpo -c -o sga-graph-diff.o test -f 'graph-diff.cpp' || echo './'graph-diff.cpp + mv -f .deps/sga-graph-diff.Tpo .deps/sga-graph-diff.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-graph-concordance.o -MD -MP -MF .deps/sga-graph-concordance.Tpo -c -o sga-graph-concordance.o test -f 'graph-concordance.cpp' || echo './'graph-concordance.cpp + mv -f .deps/sga-graph-concordance.Tpo .deps/sga-graph-concordance.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-gapfill.o -MD -MP -MF .deps/sga-gapfill.Tpo -c -o sga-gapfill.o test -f 'gapfill.cpp' || echo './'gapfill.cpp + mv -f .deps/sga-gapfill.Tpo .deps/sga-gapfill.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-preqc.o -MD -MP -MF .deps/sga-preqc.Tpo -c -o sga-preqc.o test -f 'preqc.cpp' || echo './'preqc.cpp + mv -f .deps/sga-preqc.Tpo .deps/sga-preqc.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-overlap-long.o -MD -MP -MF .deps/sga-overlap-long.Tpo -c -o sga-overlap-long.o test -f 'overlap-long.cpp' || echo './'overlap-long.cpp + mv -f .deps/sga-overlap-long.Tpo .deps/sga-overlap-long.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-variant-detectability.o -MD -MP -MF .deps/sga-variant-detectability.Tpo -c -o sga-variant-detectability.o test -f 'variant-detectability.cpp' || echo './'variant-detectability.cpp + mv -f .deps/sga-variant-detectability.Tpo .deps/sga-variant-detectability.Po + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -I../Util -I../Bigraph -I../SuffixTools -I../StringGraph -I../Concurrency -I../Algorithm -I../SQG -I../Scaffold -I../GraphDiff -I../Thirdparty -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -I$PREFIX/include -O3 -MT sga-rewrite-evidence-bam.o -MD -MP -MF .deps/sga-rewrite-evidence-bam.Tpo -c -o sga-rewrite-evidence-bam.o test -f 'rewrite-evidence-bam.cpp' || echo './'rewrite-evidence-bam.cpp + make[2]: Leaving directory '$SRC_DIR/src/SGA' + make[1]: Leaving directory '$SRC_DIR/src' +# Last 100 lines of the build log. +category: |- + compiler error diff --git a/recipes/sga/meta.yaml b/recipes/sga/meta.yaml index c2a1d55d62299..df98ff6102abb 100644 --- a/recipes/sga/meta.yaml +++ b/recipes/sga/meta.yaml @@ -14,7 +14,7 @@ source: - configure.patch build: - number: 8 + number: 9 requirements: build: diff --git a/recipes/shapeit4/meta.yaml b/recipes/shapeit4/meta.yaml index 2ff743e8565fe..32fb68ad82fb9 100644 --- a/recipes/shapeit4/meta.yaml +++ b/recipes/shapeit4/meta.yaml @@ -10,7 +10,7 @@ source: build: skip: True # [osx] - number: 3 + number: 4 requirements: build: diff --git a/recipes/shapeit5/build_failure.linux-64.yaml b/recipes/shapeit5/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..3a21c46c2bca5 --- /dev/null +++ b/recipes/shapeit5/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: c4e658052b91f89073b083715c202ece7eabc102ceb17983abd3710712482e01 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + source tree in: /opt/conda/conda-bld/shapeit5_1717782784593/work + export PREFIX=/opt/conda/conda-bld/shapeit5_1717782784593/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac + export BUILD_PREFIX=/opt/conda/conda-bld/shapeit5_1717782784593/_build_env + export SRC_DIR=/opt/conda/conda-bld/shapeit5_1717782784593/work + INFO: activate-binutils_linux-64.sh made the following environmental changes: + ADDR2LINE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-addr2line + AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar + AS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-as + CXXFILT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cfilt + ELFEDIT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-elfedit + GPROF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gprof + LD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld + LD_GOLD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld.gold + NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-nm + OBJCOPY=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objcopy + OBJDUMP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objdump + RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib + READELF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-readelf + SIZE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-size + STRINGS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strings + STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip + INFO: activate-gcc_linux-64.sh made the following environmental changes: + BUILD=x86_64-conda-linux-gnu + CC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/shapeit5-5.1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH=$PREFIX;$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=$PREFIX:$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot/usr + CONDA_BUILD_SYSROOT=$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot + CONDA_TOOLCHAIN_BUILD=x86_64-conda-linux-gnu + CONDA_TOOLCHAIN_HOST=x86_64-conda-linux-gnu + CPP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cpp + CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include + DEBUG_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/shapeit5-5.1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem $PREFIX/include + GCC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc + GCC_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar + GCC_NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-nm + GCC_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib + HOST=x86_64-conda-linux-gnu + LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_cos6_linux_gnu + build_alias=x86_64-conda-linux-gnu + host_alias=x86_64-conda-linux-gnu + -BUILD=x86_64-conda_cos6-linux-gnu + -CONDA_BUILD_SYSROOT= + INFO: activate-gxx_linux-64.sh made the following environmental changes: + CXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/shapeit5-5.1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + DEBUG_CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/shapeit5-5.1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + GXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-g + Cloning into 'xcftools'... + remote: Enumerating objects: 496, done. + remote: Counting objects: 0% (1/140) remote: Counting objects: 1% (2/140) remote: Counting objects: 2% (3/140) remote: Counting objects: 3% (5/140) remote: Counting objects: 4% (6/140) remote: Counting objects: 5% (7/140) remote: Counting objects: 6% (9/140) remote: Counting objects: 7% (10/140) remote: Counting objects: 8% (12/140) remote: Counting objects: 9% (13/140) remote: Counting objects: 10% (14/140) remote: Counting objects: 11% (16/140) remote: Counting objects: 12% (17/140) remote: Counting objects: 13% (19/140) remote: Counting objects: 14% (20/140) remote: Counting objects: 15% (21/140) remote: Counting objects: 16% (23/140) remote: Counting objects: 17% (24/140) remote: Counting objects: 18% (26/140) remote: Counting objects: 19% (27/140) remote: Counting objects: 20% (28/140) remote: Counting objects: 21% (30/140) remote: Counting objects: 22% (31/140) remote: Counting objects: 23% (33/140) remote: Counting objects: 24% (34/140) remote: Counting objects: 25% (35/140) remote: Counting objects: 26% (37/140) remote: Counting objects: 27% (38/140) remote: Counting objects: 28% (40/140) remote: Counting objects: 29% (41/140) remote: Counting objects: 30% (42/140) remote: Counting objects: 31% (44/140) remote: Counting objects: 32% (45/140) remote: Counting objects: 33% (47/140) remote: Counting objects: 34% (48/140) remote: Counting objects: 35% (49/140) remote: Counting objects: 36% (51/140) remote: Counting objects: 37% (52/140) remote: Counting objects: 38% (54/140) remote: Counting objects: 39% (55/140) remote: Counting objects: 40% (56/140) remote: Counting objects: 41% (58/140) remote: Counting objects: 42% (59/140) remote: Counting objects: 43% (61/140) remote: Counting objects: 44% (62/140) remote: Counting objects: 45% (63/140) remote: Counting objects: 46% (65/140) remote: Counting objects: 47% (66/140) remote: Counting objects: 48% (68/140) remote: Counting objects: 49% (69/140) remote: Counting objects: 50% (70/140) remote: Counting objects: 51% (72/140) remote: Counting objects: 52% (73/140) remote: Counting objects: 53% (75/140) remote: Counting objects: 54% (76/140) remote: Counting objects: 55% (77/140) remote: Counting objects: 56% (79/140) remote: Counting objects: 57% (80/140) remote: Counting objects: 58% (82/140) remote: Counting objects: 59% (83/140) remote: Counting objects: 60% (84/140) remote: Counting objects: 61% (86/140) remote: Counting objects: 62% (87/140) remote: Counting objects: 63% (89/140) remote: Counting objects: 64% (90/140) remote: Counting objects: 65% (91/140) remote: Counting objects: 66% (93/140) remote: Counting objects: 67% (94/140) remote: Counting objects: 68% (96/140) remote: Counting objects: 69% (97/140) remote: Counting objects: 70% (98/140) remote: Counting objects: 71% (100/140) remote: Counting objects: 72% (101/140) remote: Counting objects: 73% (103/140) remote: Counting objects: 74% (104/140) remote: Counting objects: 75% (105/140) remote: Counting objects: 76% (107/140) remote: Counting objects: 77% (108/140) remote: Counting objects: 78% (110/140) remote: Counting objects: 79% (111/140) remote: Counting objects: 80% (112/140) remote: Counting objects: 81% (114/140) remote: Counting objects: 82% (115/140) remote: Counting objects: 83% (117/140) remote: Counting objects: 84% (118/140) remote: Counting objects: 85% (119/140) remote: Counting objects: 86% (121/140) remote: Counting objects: 87% (122/140) remote: Counting objects: 88% (124/140) remote: Counting objects: 89% (125/140) remote: Counting objects: 90% (126/140) remote: Counting objects: 91% (128/140) remote: Counting objects: 92% (129/140) remote: Counting objects: 93% (131/140) remote: Counting objects: 94% (132/140) remote: Counting objects: 95% (133/140) remote: Counting objects: 96% (135/140) remote: Counting objects: 97% (136/140) remote: Counting objects: 98% (138/140) remote: Counting objects: 99% (139/140) remote: Counting objects: 100% (140/140) remote: Counting objects: 100% (140/140), done. + remote: Compressing objects: 1% (1/90) remote: Compressing objects: 2% (2/90) remote: Compressing objects: 3% (3/90) remote: Compressing objects: 4% (4/90) remote: Compressing objects: 5% (5/90) remote: Compressing objects: 6% (6/90) remote: Compressing objects: 7% (7/90) remote: Compressing objects: 8% (8/90) remote: Compressing objects: 10% (9/90) remote: Compressing objects: 11% (10/90) remote: Compressing objects: 12% (11/90) remote: Compressing objects: 13% (12/90) remote: Compressing objects: 14% (13/90) remote: Compressing objects: 15% (14/90) remote: Compressing objects: 16% (15/90) remote: Compressing objects: 17% (16/90) remote: Compressing objects: 18% (17/90) remote: Compressing objects: 20% (18/90) remote: Compressing objects: 21% (19/90) remote: Compressing objects: 22% (20/90) remote: Compressing objects: 23% (21/90) remote: Compressing objects: 24% (22/90) remote: Compressing objects: 25% (23/90) remote: Compressing objects: 26% (24/90) remote: Compressing objects: 27% (25/90) remote: Compressing objects: 28% (26/90) remote: Compressing objects: 30% (27/90) remote: Compressing objects: 31% (28/90) remote: Compressing objects: 32% (29/90) remote: Compressing objects: 33% (30/90) remote: Compressing objects: 34% (31/90) remote: Compressing objects: 35% (32/90) remote: Compressing objects: 36% (33/90) remote: Compressing objects: 37% (34/90) remote: Compressing objects: 38% (35/90) remote: Compressing objects: 40% (36/90) remote: Compressing objects: 41% (37/90) remote: Compressing objects: 42% (38/90) remote: Compressing objects: 43% (39/90) remote: Compressing objects: 44% (40/90) remote: Compressing objects: 45% (41/90) remote: Compressing objects: 46% (42/90) remote: Compressing objects: 47% (43/90) remote: Compressing objects: 48% (44/90) remote: Compressing objects: 50% (45/90) remote: Compressing objects: 51% (46/90) remote: Compressing objects: 52% (47/90) remote: Compressing objects: 53% (48/90) remote: Compressing objects: 54% (49/90) remote: Compressing objects: 55% (50/90) remote: Compressing objects: 56% (51/90) remote: Compressing objects: 57% (52/90) remote: Compressing objects: 58% (53/90) remote: Compressing objects: 60% (54/90) remote: Compressing objects: 61% (55/90) remote: Compressing objects: 62% (56/90) remote: Compressing objects: 63% (57/90) remote: Compressing objects: 64% (58/90) remote: Compressing objects: 65% (59/90) remote: Compressing objects: 66% (60/90) remote: Compressing objects: 67% (61/90) remote: Compressing objects: 68% (62/90) remote: Compressing objects: 70% (63/90) remote: Compressing objects: 71% (64/90) remote: Compressing objects: 72% (65/90) remote: Compressing objects: 73% (66/90) remote: Compressing objects: 74% (67/90) remote: Compressing objects: 75% (68/90) remote: Compressing objects: 76% (69/90) remote: Compressing objects: 77% (70/90) remote: Compressing objects: 78% (71/90) remote: Compressing objects: 80% (72/90) remote: Compressing objects: 81% (73/90) remote: Compressing objects: 82% (74/90) remote: Compressing objects: 83% (75/90) remote: Compressing objects: 84% (76/90) remote: Compressing objects: 85% (77/90) remote: Compressing objects: 86% (78/90) remote: Compressing objects: 87% (79/90) remote: Compressing objects: 88% (80/90) remote: Compressing objects: 90% (81/90) remote: Compressing objects: 91% (82/90) remote: Compressing objects: 92% (83/90) remote: Compressing objects: 93% (84/90) remote: Compressing objects: 94% (85/90) remote: Compressing objects: 95% (86/90) remote: Compressing objects: 96% (87/90) remote: Compressing objects: 97% (88/90) remote: Compressing objects: 98% (89/90) remote: Compressing objects: 100% (90/90) remote: Compressing objects: 100% (90/90), done. + Receiving objects: 0% (1/496)Receiving objects: 1% (5/496)Receiving objects: 2% (10/496)Receiving objects: 3% (15/496)Receiving objects: 4% (20/496)Receiving objects: 5% (25/496)Receiving objects: 6% (30/496)Receiving objects: 7% (35/496)Receiving objects: 8% (40/496)Receiving objects: 9% (45/496)Receiving objects: 10% (50/496)Receiving objects: 11% (55/496)Receiving objects: 12% (60/496)Receiving objects: 13% (65/496)Receiving objects: 14% (70/496)Receiving objects: 15% (75/496)Receiving objects: 16% (80/496)Receiving objects: 17% (85/496)Receiving objects: 18% (90/496)Receiving objects: 19% (95/496)Receiving objects: 20% (100/496)Receiving objects: 21% (105/496)Receiving objects: 22% (110/496)Receiving objects: 23% (115/496)Receiving objects: 24% (120/496)Receiving objects: 25% (124/496)Receiving objects: 26% (129/496)Receiving objects: 27% (134/496)Receiving objects: 28% (139/496)Receiving objects: 29% (144/496)Receiving objects: 30% (149/496)Receiving objects: 31% (154/496)Receiving objects: 32% (159/496)Receiving objects: 33% (164/496)Receiving objects: 34% (169/496)Receiving objects: 35% (174/496)Receiving objects: 36% (179/496)Receiving objects: 37% (184/496)Receiving objects: 38% (189/496)Receiving objects: 39% (194/496)Receiving objects: 40% (199/496)Receiving objects: 41% (204/496)Receiving objects: 42% (209/496)Receiving objects: 43% (214/496)Receiving objects: 44% (219/496)Receiving objects: 45% (224/496)Receiving objects: 46% (229/496)Receiving objects: 47% (234/496)Receiving objects: 48% (239/496)Receiving objects: 49% (244/496)Receiving objects: 50% (248/496)Receiving objects: 51% (253/496)Receiving objects: 52% (258/496)Receiving objects: 53% (263/496)Receiving objects: 54% (268/496)Receiving objects: 55% (273/496)Receiving objects: 56% (278/496)Receiving objects: 57% (283/496)Receiving objects: 58% (288/496)Receiving objects: 59% (293/496)Receiving objects: 60% (298/496)Receiving objects: 61% (303/496)Receiving objects: 62% (308/496)Receiving objects: 63% (313/496)Receiving objects: 64% (318/496)Receiving objects: 65% (323/496)Receiving objects: 66% (328/496)Receiving objects: 67% (333/496)Receiving objects: 68% (338/496)Receiving objects: 69% (343/496)Receiving objects: 70% (348/496)Receiving objects: 71% (353/496)Receiving objects: 72% (358/496)Receiving objects: 73% (363/496)Receiving objects: 74% (368/496)Receiving objects: 75% (372/496)Receiving objects: 76% (377/496)Receiving objects: 77% (382/496)Receiving objects: 78% (387/496)Receiving objects: 79% (392/496)Receiving objects: 80% (397/496)Receiving objects: 81% (402/496)Receiving objects: 82% (407/496)Receiving objects: 83% (412/496)Receiving objects: 84% (417/496)Receiving objects: 85% (422/496)Receiving objects: 86% (427/496)Receiving objects: 87% (432/496)remote: Total 496 (delta 73), reused 91 (delta 38), pack-reused 356 + Receiving objects: 88% (437/496)Receiving objects: 89% (442/496)Receiving objects: 90% (447/496)Receiving objects: 91% (452/496)Receiving objects: 92% (457/496)Receiving objects: 93% (462/496)Receiving objects: 94% (467/496)Receiving objects: 95% (472/496)Receiving objects: 96% (477/496)Receiving objects: 97% (482/496)Receiving objects: 98% (487/496)Receiving objects: 99% (492/496)Receiving objects: 100% (496/496)Receiving objects: 100% (496/496), 461.02 KiB | 9.60 MiB/s, done. + Resolving deltas: 0% (0/283)Resolving deltas: 1% (3/283)Resolving deltas: 2% (6/283)Resolving deltas: 3% (9/283)Resolving deltas: 4% (12/283)Resolving deltas: 5% (15/283)Resolving deltas: 6% (17/283)Resolving deltas: 7% (20/283)Resolving deltas: 8% (23/283)Resolving deltas: 9% (26/283)Resolving deltas: 10% (29/283)Resolving deltas: 11% (32/283)Resolving deltas: 12% (34/283)Resolving deltas: 13% (37/283)Resolving deltas: 14% (40/283)Resolving deltas: 15% (43/283)Resolving deltas: 16% (46/283)Resolving deltas: 17% (49/283)Resolving deltas: 18% (51/283)Resolving deltas: 19% (54/283)Resolving deltas: 20% (57/283)Resolving deltas: 21% (60/283)Resolving deltas: 22% (63/283)Resolving deltas: 23% (66/283)Resolving deltas: 24% (68/283)Resolving deltas: 25% (71/283)Resolving deltas: 26% (74/283)Resolving deltas: 27% (77/283)Resolving deltas: 28% (80/283)Resolving deltas: 29% (83/283)Resolving deltas: 30% (85/283)Resolving deltas: 31% (88/283)Resolving deltas: 32% (91/283)Resolving deltas: 33% (95/283)Resolving deltas: 34% (97/283)Resolving deltas: 35% (100/283)Resolving deltas: 36% (102/283)Resolving deltas: 37% (105/283)Resolving deltas: 38% (108/283)Resolving deltas: 39% (111/283)Resolving deltas: 40% (114/283)Resolving deltas: 41% (117/283)Resolving deltas: 42% (119/283)Resolving deltas: 43% (122/283)Resolving deltas: 44% (125/283)Resolving deltas: 45% (128/283)Resolving deltas: 46% (131/283)Resolving deltas: 47% (134/283)Resolving deltas: 48% (136/283)Resolving deltas: 49% (139/283)Resolving deltas: 50% (142/283)Resolving deltas: 51% (145/283)Resolving deltas: 52% (148/283)Resolving deltas: 53% (150/283)Resolving deltas: 54% (153/283)Resolving deltas: 55% (156/283)Resolving deltas: 56% (159/283)Resolving deltas: 57% (162/283)Resolving deltas: 58% (165/283)Resolving deltas: 59% (167/283)Resolving deltas: 60% (170/283)Resolving deltas: 61% (173/283)Resolving deltas: 62% (176/283)Resolving deltas: 63% (180/283)Resolving deltas: 64% (182/283)Resolving deltas: 65% (184/283)Resolving deltas: 66% (187/283)Resolving deltas: 67% (190/283)Resolving deltas: 68% (193/283)Resolving deltas: 69% (196/283)Resolving deltas: 70% (199/283)Resolving deltas: 71% (201/283)Resolving deltas: 72% (204/283)Resolving deltas: 73% (207/283)Resolving deltas: 74% (210/283)Resolving deltas: 75% (213/283)Resolving deltas: 76% (216/283)Resolving deltas: 77% (218/283)Resolving deltas: 78% (221/283)Resolving deltas: 79% (224/283)Resolving deltas: 80% (227/283)Resolving deltas: 81% (230/283)Resolving deltas: 82% (233/283)Resolving deltas: 83% (235/283)Resolving deltas: 84% (238/283)Resolving deltas: 85% (241/283)Resolving deltas: 86% (244/283)Resolving deltas: 87% (247/283)Resolving deltas: 88% (250/283)Resolving deltas: 89% (252/283)Resolving deltas: 90% (255/283)Resolving deltas: 91% (258/283)Resolving deltas: 92% (261/283)Resolving deltas: 93% (264/283)Resolving deltas: 94% (267/283)Resolving deltas: 95% (269/283)Resolving deltas: 96% (273/283)Resolving deltas: 97% (275/283)Resolving deltas: 98% (278/283)Resolving deltas: 99% (281/283)Resolving deltas: 100% (283/283)Resolving deltas: 100% (283/283), done. + LICENSE + README.md + archive + build_env_setup.sh + common + conda_build.sh + docker + docs + ligate + makefile + metadata_conda_debug.yaml + phase_common + phase_rare + resources + scripts + simulate + static_bins + switch + tasks + test + versions + xcftools + $SRC_DIR/phase_common $SRC_DIR + make: *** No rule to make target 'src/containers/bitvector.h', needed by 'obj/hmm_parameters.o'. Stop. + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/shapeit5_1717782784593/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. diff --git a/recipes/shapeit5/meta.yaml b/recipes/shapeit5/meta.yaml index 67dba1f38c537..542fbec7dbb87 100644 --- a/recipes/shapeit5/meta.yaml +++ b/recipes/shapeit5/meta.yaml @@ -8,7 +8,7 @@ package: version: {{ version }} build: - number: 0 + number: 1 # TODO Fail to build on [osx] due to # error: no template named 'unary_function' in namespace 'std' skip: true #[osx] diff --git a/recipes/shasta/meta.yaml b/recipes/shasta/meta.yaml index 83b59c3499f0f..1cfc6b35d6b1e 100644 --- a/recipes/shasta/meta.yaml +++ b/recipes/shasta/meta.yaml @@ -1,6 +1,6 @@ {% set name = "shasta" %} -{% set version = "0.11.1" %} -{% set sha256 = "b7770d88738a00733f3d0de0e0f015fa997ad7d0ac5a3061093c1f4faaaa1b46" %} +{% set version = "0.13.0" %} +{% set sha256 = "0f7c25579a7600d10f0ad92aaed2e3ed8d9f3450c53cba2293c3e6d8bceb02ca" %} package: name: "{{ name|lower }}" @@ -13,9 +13,11 @@ source: sha256: {{ sha256 }} # [linux] build: - number: 2 + number: 0 # As announced with the release of Shasta 0.10.0, macOS versions of Shasta are no longer provided. skip: True # [osx] + run_exports: + - {{ pin_subpackage('shasta', max_pin="x") }} # https://chanzuckerberg.github.io/shasta/Prerequisites.html requirements: diff --git a/recipes/sherpas/build_failure.osx-64.yaml b/recipes/sherpas/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..63f24e877b930 --- /dev/null +++ b/recipes/sherpas/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 907b6b2ddd7284dea8ef850273c030b75e9184a3f0c59429f0cb37574450168e # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + [[ RA-MD1LOVE ]] - [[ patch ]] + + Key: + + R :: Reversible A :: Applicable + Y :: Build-prefix patch in use M :: Minimal, non-amalgamated + D :: Dry-runnable N :: Patch level (1 is preferred) + L :: Patch level not-ambiguous O :: Patch applies without offsets + V :: Patch applies without fuzz E :: Patch applies without emitting to stderr + + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/sherpas_1717513246162/work + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/sherpas_1717513246162/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/sherpas_1717513246162/_build_env + raise subprocess.CalledProcessError(proc.returncode, _args) + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/sherpas_1717513246162/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/sherpas_1717513246162/work/conda_build.sh']' returned non-zero exit status 2. + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sherpas-1.0.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sherpas-1.0.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sherpas-1.0.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sherpas-1.0.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + -- The CXX compiler identification is Clang 16.0.6 + -- Detecting CXX compiler ABI info + -- Detecting CXX compiler ABI info - done + -- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting CXX compile features + -- Detecting CXX compile features - done + -- Hash map option: USE_TSL_HOPSCOTCH_MAP + -- The C compiler identification is Clang 16.0.6 + -- Detecting C compiler ABI info + -- Detecting C compiler ABI info - done + -- Check for working C compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting C compile features + -- Detecting C compile features - done + -- Found Boost: $PREFIX/lib/cmake/Boost-1.85.0/BoostConfig.cmake (found version "1.85.0") found components: serialization iostreams + -- Found Boost: $PREFIX/lib/cmake/Boost-1.85.0/BoostConfig.cmake (found version "1.85.0") found components: filesystem + -- Found Boost: $PREFIX/lib/cmake/Boost-1.85.0/BoostConfig.cmake (found version "1.85.0") found components: filesystem iostreams + -- Found Boost: $PREFIX/lib/cmake/Boost-1.85.0/BoostConfig.cmake (found version "1.85.0") found components: iostreams + -- Found Boost: $PREFIX/lib/cmake/Boost-1.85.0/BoostConfig.cmake (found version "1.85.0") found components: filesystem iostreams + -- Configuring done (2.3s) + -- Generating done (0.3s) + -- Build files have been written to: $SRC_DIR + $SRC_DIR/release-build $SRC_DIR + [ 6%] Building CXX object lib/xpas/utils/CMakeFiles/utils.dir/src/utils/io/file_io.cpp.o + [ 12%] Building CXX object lib/xpas/utils/CMakeFiles/utils.dir/src/utils/io/fasta.cpp.o +# Last 100 lines of the build log. diff --git a/recipes/sherpas/meta.yaml b/recipes/sherpas/meta.yaml index 4e60b394556ed..a309c2bb9dff1 100644 --- a/recipes/sherpas/meta.yaml +++ b/recipes/sherpas/meta.yaml @@ -13,7 +13,7 @@ source: - patch build: - number: 4 + number: 5 requirements: build: diff --git a/recipes/shigapass/build.sh b/recipes/shigapass/build.sh new file mode 100644 index 0000000000000..99ea9ae526cf4 --- /dev/null +++ b/recipes/shigapass/build.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +# Copy shell script to bin +mkdir -p $PREFIX/bin +cp SCRIPT/ShigaPass.sh $PREFIX/bin + +# Create folder to copy database to +target=${PREFIX}/share/${PKG_NAME}-${PKG_VERSION} +mkdir -p ${target}/db +touch ${target}/db/.empty + +# Unzip test files +gunzip Example/Input/*.fasta.gz + +# Build index +bash SCRIPT/ShigaPass.sh -l Example/Input/ShigaPass_test.txt -o Example/ShigaPass_Results -p SCRIPT/ShigaPass_DataBases -u -k + +# Copy ShigaPass db to target +cp -r SCRIPT/ShigaPass_DataBases/* ${target}/db + +# Set ShigaPass DB PATH variable on env activation +mkdir -p ${PREFIX}/etc/conda/activate.d ${PREFIX}/etc/conda/deactivate.d +cat <> ${PREFIX}/etc/conda/activate.d/shigapass.sh +export SP_DB_PATH=${target}/db/ +EOF + +cat <> ${PREFIX}/etc/conda/deactivate.d/shigapass.sh +unset SP_DB_PATH +EOF diff --git a/recipes/shigapass/meta.yaml b/recipes/shigapass/meta.yaml new file mode 100644 index 0000000000000..ede06da50a27a --- /dev/null +++ b/recipes/shigapass/meta.yaml @@ -0,0 +1,34 @@ +{% set name = "ShigaPass" %} +{% set version = "1.5.0" %} + +package: + name: "{{ name|lower }}" + version: {{ version }} + +source: + url: https://github.com/imanyass/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: b07299943cd7bbe1f778b57152b6cd7e92cc8640ffd7192fde91dd1efcc99ead + +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage('shigapass', max_pin="x") }} + +requirements: + build: + - blast + run: + - blast + +test: + commands: + - blastn -h + - makeblastdb -h + - bash ShigaPass.sh -h + +about: + home: https://github.com/imanyass/ShigaPass/ + license: GPL3 + summary: 'ShigaPass: An in silico tool to predict Shigella serotypes' + license_file: LICENSE diff --git a/recipes/shiver/build.sh b/recipes/shiver/build.sh index 54b89dbf3429e..9ec97bacf120e 100644 --- a/recipes/shiver/build.sh +++ b/recipes/shiver/build.sh @@ -1,16 +1,16 @@ #!/bin/bash mkdir $PREFIX/bin -mkdir $PREFIX/bin/tools -install ${SRC_DIR}/shiver_align_contigs.sh -t $PREFIX/bin -install ${SRC_DIR}/shiver_full_auto.sh -t $PREFIX/bin -install ${SRC_DIR}/shiver_funcs.sh -t $PREFIX/bin -install ${SRC_DIR}/shiver_init.sh -t $PREFIX/bin -install ${SRC_DIR}/shiver_map_reads.sh -t $PREFIX/bin - -install ${SRC_DIR}/tools/*.py -t $PREFIX/bin/tools/ -install ${SRC_DIR}/tools/*.R -t $PREFIX/bin/tools/ -install ${SRC_DIR}/tools/*.sh -t $PREFIX/bin/tools/ - - +mkdir $PREFIX/bin/tools +mkdir $PREFIX/data +mkdir $PREFIX/data/external +install ${SRC_DIR}/bin/shiver_align_contigs.sh -t $PREFIX/bin +install ${SRC_DIR}/bin/shiver_funcs.sh -t $PREFIX/bin +install ${SRC_DIR}/bin/shiver_init.sh -t $PREFIX/bin +install ${SRC_DIR}/bin/shiver_map_reads.sh -t $PREFIX/bin +install ${SRC_DIR}/bin/config.sh -t $PREFIX/bin +install ${SRC_DIR}/bin/tools/*.py -t $PREFIX/bin/tools/ +install ${SRC_DIR}/bin/tools/*.R -t $PREFIX/bin/tools/ +install ${SRC_DIR}/bin/tools/*.sh -t $PREFIX/bin/tools/ +install ${SRC_DIR}/data/external/B.FR.83.HXB2_LAI_IIIB_BRU.K03455.fasta -t $PREFIX/data/external diff --git a/recipes/shiver/meta.yaml b/recipes/shiver/meta.yaml index 267510208db68..0838950193b3e 100644 --- a/recipes/shiver/meta.yaml +++ b/recipes/shiver/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.5.7" %} # put in correct version here +{% set version = "1.7.3" %} # put in correct version here {% set name = "shiver" %} package: @@ -6,11 +6,12 @@ package: version: {{ version }} source: url: https://github.com/ChrisHIV/{{ name|lower }}/archive/v{{ version }}.tar.gz - sha256: 64973462bfc10c725ef5f21e85532ef8dd58d26795b2cee326a77f690d31ebf0 - patches: - - python2-python3.patch + sha256: 4d373bf4d257e52ea1cc548c492bfe654dc677c65df1d07402f898f73c9f1c65 build: - number: 1 + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage('shiver', max_pin="x") }} requirements: @@ -21,16 +22,18 @@ requirements: - samtools - biopython - mafft - - picard - blast >=2.2.28 - pyfastaq + - six + - pandas + - bc test: commands: - - shiver_init.sh 2>&1 | grep "Arguments" - - shiver_full_auto.sh 2>&1 | grep "Arguments" - - shiver_align_contigs.sh 2>&1 | grep "Arguments" - - shiver_map_reads.sh 2>&1 | grep "Arguments" + - shiver_init.sh --test $PREFIX/bin/config.sh + - shiver_align_contigs.sh --test $PREFIX/bin/config.sh + - shiver_map_reads.sh --test $PREFIX/bin/config.sh paired + - $PREFIX/bin/tools/TestPythonModulesInstalled.py about: home: https://github.com/ChrisHIV/shiver @@ -43,3 +46,4 @@ extra: recipe-maintainers: - notestaff - gtonkinhill + - chrishiv diff --git a/recipes/shorah/1.1.3/build_failure.linux-64.yaml b/recipes/shorah/1.1.3/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..93c3d18b84143 --- /dev/null +++ b/recipes/shorah/1.1.3/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 467d67564f83dc4b2eaf8caa71b366442289d259ea5fdf29b1ff11f15737e1bc # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + -r REF, --ref REF reference file (default: None) + -b BAM, --bam BAM sorted bam format alignment file (default: None) + amplian.py -h + usage: amplian.py [-h] -b BAM -f REF [-r chrm:start-stop] [-d] [-m FLOAT] + [-a FLOAT] [-x INT] [-s FLOAT] + + Local haplotype reconstruction - amplicon mode + + options: + -h, --help show this help message and exit + + Input files: + Required input + + -b BAM, --bam BAM file with aligned reads in .bam format (default: None) + -f REF, --fasta REF reference genome in fasta format (default: None) + + Type of run: + You can specify a region, or look for the highest diversity region + + -r chrm:start-stop, --region chrm:start-stop + region in format 'chrm:start-stop' e.g. + 'ch3:1000-1300' (default: ) + -d, --diversity if set, automatically detects the highest entropy + region and runs there (default: False) + + Run options: + Fine tuning + + -m FLOAT, --min_overlap FLOAT + fraction of read overlap to be included (default: + 0.95) + -a FLOAT, --alpha FLOAT + alpha in dpm sampling (default: 0.5) + + More options: + Do you really want to change this? + + -x INT, --maxcov INT approximate max coverage allowed (default: 50000) + -s FLOAT, --sigma FLOAT + sigma value to use when calling SNVs (default: 0.01) + fas2read.pl -h + perl: warning: Setting locale failed. + perl: warning: Please check that your locale settings: + LANGUAGE = (unset), + LC_ALL = (unset), + LANG = "C.UTF-8" + are supported and installed on your system. + perl: warning: Falling back to the standard locale ("C"). + usage: $PREFIX/bin/fas2read.pl -f file.fas [ -h -v -o] + reads from file.fas, outputs to file.read + contain -h + Usage: contain -f basename + Expects basename.read, outputs basename.rest + b2w -h + + Usage: b2w [options] region + + Options: + -w: window length (INT) + -i: increment (INT) + -m: minimum overlap (INT) + -x: max reads starting at a position (INT) + -h: show this help + + diri_sampler -h + diri_sampler [options] + + files + -i + parameters + -j + -a + -K not compat. with -k + -k not compat. with -K + -t + -R + ----------------------------------------------------- + -h this help! + freqEst -h + Usage: freqEst -f basename [-p precision -i maxiter -r runs -h -k kill -?] + Expects basename.read and basename.geno + Outputs to basename.popl + [[ -d examples/amplicon_test/ ]] + cp -r examples/amplicon_test ./ + cd amplicon_test/ + amplian.py -f reference.fasta -b ampli_sorted.bam + /opt/conda/conda-bld/shorah_1717849150096/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/bin/amplian.py:116: UserWarning: 58.3 % of untouched objects + warnings.warn(unt_msg) + Traceback (most recent call last): + File "/opt/conda/conda-bld/shorah_1717849150096/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/bin/amplian.py", line 428, in + main(args.in_bam, args.in_fasta, args.min_overlap, args.max_coverage, args.alpha, + File "/opt/conda/conda-bld/shorah_1717849150096/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/bin/amplian.py", line 357, in main + shorah_snv.main(reference=in_fasta, bam_file=in_bam, sigma=s, increment=1) + File "/opt/conda/conda-bld/shorah_1717849150096/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.11/site-packages/shorah_snv.py", line 362, in main + snvlog.info(str(inspect.getargspec(main))) + ^^^^^^^^^^^^^^^^^^ + AttributeError: module 'inspect' has no attribute 'getargspec'. Did you mean: 'getargs'? + WARNING: Tests failed for shorah-1.1.3-py311hc19386c_12.tar.bz2 - moving package to /opt/conda/conda-bld/broken + TESTS FAILED: shorah-1.1.3-py311hc19386c_12.tar.bz2 +# Last 100 lines of the build log. diff --git a/recipes/shorah/1.1.3/build_failure.osx-64.yaml b/recipes/shorah/1.1.3/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..ef1ce0c146307 --- /dev/null +++ b/recipes/shorah/1.1.3/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 467d67564f83dc4b2eaf8caa71b366442289d259ea5fdf29b1ff11f15737e1bc # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + positional arguments: + filename Input file containing starting position and sequences + for each of the reads + + options: + -h, --help show this help message and exit + -m INT, --maxhaplo INT + keep searching until we find at least MAXGENO + haplotypes (default: 10000) + -i INT, --maxiter INT + but only look up to MAXITER rounds (default: 50) + -l INT, --length INT minimum overlap to include in graph (default: 1) + -o, --one search one path only (default: True) + -a, --all extend search to many paths (default: False) + -g, --graph output a graph? (default: False) + usage: snv.py [-h] -r REF -b BAM [-s FLOAT] [-i INT] [-x INT] + + Single nucleotide variant calling + + options: + -h, --help show this help message and exit + -s FLOAT, --sigma FLOAT + value of sigma to use when calling SNVs (default: + 0.01) + -i INT, --increment INT + value of increment to use when calling SNVs (1 used by + amplian.py) (default: 1) + -x INT, --maxcov INT Maximum coverage allowed (default: 100000) + + required named arguments: + -r REF, --ref REF reference file (default: None) + -b BAM, --bam BAM sorted bam format alignment file (default: None) + usage: amplian.py [-h] -b BAM -f REF [-r chrm:start-stop] [-d] [-m FLOAT] + [-a FLOAT] [-x INT] [-s FLOAT] + + Local haplotype reconstruction - amplicon mode + + options: + -h, --help show this help message and exit + + Input files: + Required input + + -b BAM, --bam BAM file with aligned reads in .bam format (default: None) + -f REF, --fasta REF reference genome in fasta format (default: None) + + Type of run: + You can specify a region, or look for the highest diversity region + + -r chrm:start-stop, --region chrm:start-stop + region in format 'chrm:start-stop' e.g. + 'ch3:1000-1300' (default: ) + -d, --diversity if set, automatically detects the highest entropy + region and runs there (default: False) + + Run options: + Fine tuning + + -m FLOAT, --min_overlap FLOAT + fraction of read overlap to be included (default: + 0.95) + -a FLOAT, --alpha FLOAT + alpha in dpm sampling (default: 0.5) + + More options: + Do you really want to change this? + + -x INT, --maxcov INT approximate max coverage allowed (default: 50000) + -s FLOAT, --sigma FLOAT + sigma value to use when calling SNVs (default: 0.01) + usage: $PREFIX/bin/fas2read.pl -f file.fas [ -h -v -o] + reads from file.fas, outputs to file.read + Usage: contain -f basename + Expects basename.read, outputs basename.rest + + Usage: b2w [options] region + + Options: + -w: window length (INT) + -i: increment (INT) + -m: minimum overlap (INT) + -x: max reads starting at a position (INT) + -h: show this help + + diri_sampler [options] + + files + -i + parameters + -j + -a + -K not compat. with -k + -k not compat. with -K + -t + -R + ----------------------------------------------------- + -h this help! + Usage: freqEst -f basename [-p precision -i maxiter -r runs -h -k kill -?] + Expects basename.read and basename.geno + Outputs to basename.popl +# Last 100 lines of the build log. diff --git a/recipes/shorah/1.1.3/meta.yaml b/recipes/shorah/1.1.3/meta.yaml index ad93e227c40b4..6fdff319f975b 100644 --- a/recipes/shorah/1.1.3/meta.yaml +++ b/recipes/shorah/1.1.3/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 11 + number: 12 script: - ./configure --prefix="${PREFIX}" PYTHON="${PYTHON}" PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfigs - make install diff --git a/recipes/shorah/1.99.0/build_failure.linux-64.yaml b/recipes/shorah/1.99.0/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..cea6e942c86a9 --- /dev/null +++ b/recipes/shorah/1.99.0/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: f091fe275a70e208b785573adc65c48ec855e762dab729852b99642c39eda36f # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + checking whether make supports nested variables... (cached) yes + checking whether $PREFIX/bin/python version is >= 3.5... yes + checking for $PREFIX/bin/python version... 3.1 + checking for $PREFIX/bin/python platform... linux + checking for $PREFIX/bin/python script directory... ${prefix}/lib/python3.12/site-packages + checking for $PREFIX/bin/python extension module directory... ${exec_prefix}/lib/python3.12/site-packages + checking that generated files are newer than configure... done + configure: creating ./config.status + config.status: creating Makefile + config.status: executing depfiles commands + + shorah 1.99.0 + + CXX : ..................... $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c (, ) + CXXFLAGS : ................ -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/shorah-1.99.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -mpopcnt + + CPPFLAGS : ................ -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include + LDFLAGS : ................. -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib + + Boost_CPPFLAGS : .......... + + HTSlib_CFLAGS : ........... -I$PREFIX/include + HTSlib_LIBS : ............. -L$PREFIX/lib -lhts + + PYTHON : .................. $PREFIX/bin/python + Python version : .......... 3.1 + + make install-am + make[1]: Entering directory '$SRC_DIR' + CXX src/cpp/diri_sampler-dpm_sampler.o + : warning: "NDEBUG" redefined + : note: this is the location of the previous definition + src/cpp/dpm_sampler.cpp: In function 'void read_data(char*, std::ofstream&)': + src/cpp/dpm_sampler.cpp:619:91: warning: 'std::pair<_Tp*, long int> std::get_temporary_buffer(ptrdiff_t) [with _Tp = map<__cxx11::basic_string, int>; ptrdiff_t = long int]' is deprecated [-Wdeprecated-declarations] + 619 | std::pair read2hap_pair = std::get_temporary_buffer(n); + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ + In file included from /opt/conda/conda-bld/shorah_1717850009762/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/bits/stl_algo.h:61, + from /opt/conda/conda-bld/shorah_1717850009762/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/algorithm:61, + from src/cpp/dpm_sampler.cpp:27: + /opt/conda/conda-bld/shorah_1717850009762/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/bits/stl_tempbuf.h:101:5: note: declared here + 101 | get_temporary_buffer(ptrdiff_t __len) _GLIBCXX_NOEXCEPT + | ^~~~~~~~~~~~~~~~~~~~ + src/cpp/dpm_sampler.cpp: In function 'int main(int, char**)': + src/cpp/dpm_sampler.cpp:358:19: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result] + 358 | fscanf(alphafile, "%f", &alpha2); + | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ + src/cpp/dpm_sampler.cpp:366:19: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result] + 366 | fscanf(iterfile, "%ui", &iter2); + | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ + CXXLD diri_sampler + CXX src/cpp/b2w-b2w.o + : warning: "NDEBUG" redefined + : note: this is the location of the previous definition + src/cpp/b2w.cpp: In lambda function: + src/cpp/b2w.cpp:260:21: warning: ignoring return value of 'int asprintf(char**, const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result] + 260 | asprintf(&filename, "w-%s-%u-%u.reads.fas", // read window filename + | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 261 | header->target_name[tid], win_b 1, win_e 1); + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CXXLD b2w + CXX src/cpp/fil-fil.o + : warning: "NDEBUG" redefined + : note: this is the location of the previous definition + CXXLD fil + /usr/bin/sed 's,#!/usr/bin/env python3,#!/usr/bin/env $PREFIX/bin/python,g' ./src/shorah/__main__.py > shorah + make[2]: Entering directory '$SRC_DIR' + /usr/bin/mkdir -p '$PREFIX/bin' + /usr/bin/install -c diri_sampler b2w fil '$PREFIX/bin' + /usr/bin/mkdir -p '$PREFIX/bin' + /usr/bin/install -c shorah '$PREFIX/bin' + /usr/bin/mkdir -p '$PREFIX/share/shorah/amplicon_test' + /usr/bin/install -c -m 644 examples/amplicon_test/README.md examples/amplicon_test/ampli_sorted.bam examples/amplicon_test/amplicon_reads.fastq examples/amplicon_test/reference.fasta '$PREFIX/share/shorah/amplicon_test' + /usr/bin/mkdir -p '$PREFIX/share/shorah' + /usr/bin/install -c -m 644 examples/ref_genome.fasta examples/sample_454.fasta '$PREFIX/share/shorah' + /usr/bin/mkdir -p '$PREFIX/lib/python3.12/site-packages/shorah' + /usr/bin/install -c -m 644 src/shorah/__main__.py src/shorah/amplicon.py src/shorah/cli.py src/shorah/shorah_snv.py src/shorah/shotgun.py '$PREFIX/lib/python3.12/site-packages/shorah' + Traceback (most recent call last): + File "", line 2, in + ModuleNotFoundError: No module named 'imp' + make[2]: *** [Makefile:669: install-dist_pkgpythonPYTHON] Error 1 + make[2]: Leaving directory '$SRC_DIR' + make[1]: *** [Makefile:1038: install-am] Error 2 + make[1]: Leaving directory '$SRC_DIR' + make: *** [Makefile:1032: install] Error 2 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/shorah_1717850009762/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. diff --git a/recipes/shorah/1.99.0/build_failure.osx-64.yaml b/recipes/shorah/1.99.0/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..c8412d85e626c --- /dev/null +++ b/recipes/shorah/1.99.0/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: f091fe275a70e208b785573adc65c48ec855e762dab729852b99642c39eda36f # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + checking whether configure should try to set CXXFLAGS/CPPFLAGS/LDFLAGS... no + checking whether to enable debugging... no + checking build system type... x86_64-apple-darwin13.4.0 + checking host system type... x86_64-apple-darwin13.4.0 + checking for a sed that does not truncate output... /usr/bin/sed + checking whether the C compiler works... yes + checking for C compiler default output file name... a.out + checking for suffix of executables... + checking whether we are cross compiling... no + checking for suffix of object files... o + checking whether we are using the GNU C compiler... yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... yes + checking for x86_64-apple-darwin13.4.0-ranlib... x86_64-apple-darwin13.4.0-ranlib + checking for x86_64-apple-darwin13.4.0-gcc... x86_64-apple-darwin13.4.0-clang + checking whether we are using the GNU C compiler... yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... yes + checking for x86_64-apple-darwin13.4.0-clang option to accept ISO C89... none needed + checking whether x86_64-apple-darwin13.4.0-clang understands -c and -o together... yes + checking for x86_64-apple-darwin13.4.0-ar... x86_64-apple-darwin13.4.0-ar + checking the archiver (x86_64-apple-darwin13.4.0-ar) interface... ar + checking for C compiler vendor... clang + checking for C compiler version... 16.0.6 + checking how to run the C preprocessor... x86_64-apple-darwin13.4.0-clang -E + checking for grep that handles long lines and -e... /usr/bin/grep + checking for egrep... /usr/bin/grep -E + checking whether x86_64-apple-darwin13.4.0-clang is Clang... yes + checking whether Clang needs flag to prevent "argument unused" warning when linking with -pthread... no + checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE + checking whether more special flags are required for pthreads... no + checking for PTHREAD_PRIO_INHERIT... yes + checking whether C compiler accepts -mpopcnt... yes + checking whether configure can enable POPCNT for Hamming distances... no + checking whether x86_64-apple-darwin13.4.0-clang supports C11 features by default... yes + checking for x86_64-apple-darwin13.4.0-pkg-config... $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-pkg-config + checking pkg-config is at least version 0.9.0... yes + checking for ZLIB... yes + checking for GSL... yes + checking for HTSLIB... yes + checking for boostlib >= 1.56 (105600)... yes + checking for a BSD-compatible install... /usr/bin/install -c + checking whether build environment is sane... yes + checking for a thread-safe mkdir -p... ./install-sh -c -d + checking for gawk... no + checking for mawk... no + checking for nawk... no + checking for awk... awk + checking whether make sets $(MAKE)... yes + checking whether make supports the include directive... yes (GNU style) + checking whether make supports nested variables... yes + checking dependency style of x86_64-apple-darwin13.4.0-clang... gcc3 + checking dependency style of x86_64-apple-darwin13.4.0-clang... gcc3 + checking whether make supports nested variables... (cached) yes + checking whether $PREFIX/bin/python version is >= 3.5... yes + checking for $PREFIX/bin/python version... 3.1 + checking for $PREFIX/bin/python platform... darwin + checking for $PREFIX/bin/python script directory... ${prefix}/lib/python3.12/site-packages + checking for $PREFIX/bin/python extension module directory... ${exec_prefix}/lib/python3.12/site-packages + checking that generated files are newer than configure... done + configure: creating ./config.status + config.status: creating Makefile + config.status: executing depfiles commands + + shorah 1.99.0 + + CXX : ..................... x86_64-apple-darwin13.4.0-clang (, ) + CXXFLAGS : ................ -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/shorah-1.99.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -mpopcnt + + CPPFLAGS : ................ -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + LDFLAGS : ................. -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + + Boost_CPPFLAGS : .......... + + HTSlib_CFLAGS : ........... -I$PREFIX/include + HTSlib_LIBS : ............. -L$PREFIX/lib -lhts + + PYTHON : .................. $PREFIX/bin/python + Python version : .......... 3.1 + + make install-am + make[1]: Entering directory '$SRC_DIR' + CXX src/cpp/diri_sampler-dpm_sampler.o + CXXLD diri_sampler + CXX src/cpp/b2w-b2w.o + CXXLD b2w + CXX src/cpp/fil-fil.o + CXXLD fil + /usr/bin/sed 's,#!/usr/bin/env python3,#!/usr/bin/env $PREFIX/bin/python,g' ./src/shorah/__main__.py > shorah + make[2]: Entering directory '$SRC_DIR' + ./install-sh -c -d '$PREFIX/bin' + /usr/bin/install -c diri_sampler b2w fil '$PREFIX/bin' + ./install-sh -c -d '$PREFIX/bin' + /usr/bin/install -c shorah '$PREFIX/bin' + ./install-sh -c -d '$PREFIX/share/shorah/amplicon_test' + /usr/bin/install -c -m 644 examples/amplicon_test/README.md examples/amplicon_test/ampli_sorted.bam examples/amplicon_test/amplicon_reads.fastq examples/amplicon_test/reference.fasta '$PREFIX/share/shorah/amplicon_test' + ./install-sh -c -d '$PREFIX/share/shorah' + /usr/bin/install -c -m 644 examples/ref_genome.fasta examples/sample_454.fasta '$PREFIX/share/shorah' + ./install-sh -c -d '$PREFIX/lib/python3.12/site-packages/shorah' + /usr/bin/install -c -m 644 src/shorah/__main__.py src/shorah/amplicon.py src/shorah/cli.py src/shorah/shorah_snv.py src/shorah/shotgun.py '$PREFIX/lib/python3.12/site-packages/shorah' + make[2]: Leaving directory '$SRC_DIR' + make[1]: Leaving directory '$SRC_DIR' +# Last 100 lines of the build log. diff --git a/recipes/shorah/1.99.0/meta.yaml b/recipes/shorah/1.99.0/meta.yaml index 0922b6be06621..20f78fb102ed9 100644 --- a/recipes/shorah/1.99.0/meta.yaml +++ b/recipes/shorah/1.99.0/meta.yaml @@ -12,7 +12,7 @@ source: build: skip: True # [py27] - number: 8 + number: 9 script: - ./configure --prefix="${PREFIX}" PYTHON="${PYTHON}" PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig - make install diff --git a/recipes/shorah/1.99.2/build_failure.linux-64.yaml b/recipes/shorah/1.99.2/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..6b1815d947efc --- /dev/null +++ b/recipes/shorah/1.99.2/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 9ff3f4ed803104fba80ee257c50c5b914effee7ad14c21a5729c55febbdfdeba # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + checking whether make supports nested variables... (cached) yes + checking whether $PREFIX/bin/python version is >= 3.5... yes + checking for $PREFIX/bin/python version... 3.1 + checking for $PREFIX/bin/python platform... linux + checking for $PREFIX/bin/python script directory... ${prefix}/lib/python3.12/site-packages + checking for $PREFIX/bin/python extension module directory... ${exec_prefix}/lib/python3.12/site-packages + checking that generated files are newer than configure... done + configure: creating ./config.status + config.status: creating Makefile + config.status: executing depfiles commands + + shorah 1.99.2 + + CXX : ..................... $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c (, ) + CXXFLAGS : ................ -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/shorah-1.99.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -mpopcnt + + CPPFLAGS : ................ -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include + LDFLAGS : ................. -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib + + Boost_CPPFLAGS : .......... + + HTSlib_CFLAGS : ........... -I$PREFIX/include + HTSlib_LIBS : ............. -L$PREFIX/lib -lhts + + PYTHON : .................. $PREFIX/bin/python + Python version : .......... 3.1 + + make install-am + make[1]: Entering directory '$SRC_DIR' + CXX src/cpp/diri_sampler-dpm_sampler.o + : warning: "NDEBUG" redefined + : note: this is the location of the previous definition + src/cpp/dpm_sampler.cpp: In function 'void read_data(char*, std::ofstream&)': + src/cpp/dpm_sampler.cpp:624:91: warning: 'std::pair<_Tp*, long int> std::get_temporary_buffer(ptrdiff_t) [with _Tp = map<__cxx11::basic_string, int>; ptrdiff_t = long int]' is deprecated [-Wdeprecated-declarations] + 624 | std::pair read2hap_pair = std::get_temporary_buffer(n); + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ + In file included from /opt/conda/conda-bld/shorah_1717849579459/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/bits/stl_algo.h:61, + from /opt/conda/conda-bld/shorah_1717849579459/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/algorithm:61, + from src/cpp/dpm_sampler.cpp:27: + /opt/conda/conda-bld/shorah_1717849579459/_build_env/x86_64-conda-linux-gnu/include/c/12.3.0/bits/stl_tempbuf.h:101:5: note: declared here + 101 | get_temporary_buffer(ptrdiff_t __len) _GLIBCXX_NOEXCEPT + | ^~~~~~~~~~~~~~~~~~~~ + src/cpp/dpm_sampler.cpp: In function 'int main(int, char**)': + src/cpp/dpm_sampler.cpp:361:19: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result] + 361 | fscanf(alphafile, "%f", &alpha2); + | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ + src/cpp/dpm_sampler.cpp:369:19: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result] + 369 | fscanf(iterfile, "%ui", &iter2); + | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ + CXXLD diri_sampler + CXX src/cpp/b2w-b2w.o + : warning: "NDEBUG" redefined + : note: this is the location of the previous definition + src/cpp/b2w.cpp: In lambda function: + src/cpp/b2w.cpp:263:21: warning: ignoring return value of 'int asprintf(char**, const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result] + 263 | asprintf(&filename, "w-%s-%u-%u.reads.fas", // read window filename + | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 264 | header->target_name[tid], win_b 1, win_e 1); + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CXXLD b2w + CXX src/cpp/fil-fil.o + : warning: "NDEBUG" redefined + : note: this is the location of the previous definition + CXXLD fil + /usr/bin/sed 's,#!/usr/bin/env python3,#!/usr/bin/env $PREFIX/bin/python,g' ./src/shorah/__main__.py > shorah + make[2]: Entering directory '$SRC_DIR' + /usr/bin/mkdir -p '$PREFIX/bin' + /usr/bin/install -c diri_sampler b2w fil '$PREFIX/bin' + /usr/bin/mkdir -p '$PREFIX/bin' + /usr/bin/install -c shorah '$PREFIX/bin' + /usr/bin/mkdir -p '$PREFIX/share/shorah/amplicon_test' + /usr/bin/install -c -m 644 examples/amplicon_test/README.md examples/amplicon_test/ampli_sorted.bam examples/amplicon_test/amplicon_reads.fastq examples/amplicon_test/reference.fasta examples/amplicon_test/amplicon_test '$PREFIX/share/shorah/amplicon_test' + /usr/bin/mkdir -p '$PREFIX/share/shorah' + /usr/bin/install -c -m 644 examples/ref_genome.fasta examples/sample_454.fasta '$PREFIX/share/shorah' + /usr/bin/mkdir -p '$PREFIX/lib/python3.12/site-packages/shorah' + /usr/bin/install -c -m 644 src/shorah/__main__.py src/shorah/amplicon.py src/shorah/cli.py src/shorah/shorah_snv.py src/shorah/shotgun.py '$PREFIX/lib/python3.12/site-packages/shorah' + Traceback (most recent call last): + File "", line 2, in + ModuleNotFoundError: No module named 'imp' + make[2]: *** [Makefile:875: install-dist_pkgpythonPYTHON] Error 1 + make[2]: Leaving directory '$SRC_DIR' + make[1]: *** [Makefile:1437: install-am] Error 2 + make[1]: Leaving directory '$SRC_DIR' + make: *** [Makefile:1431: install] Error 2 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/shorah_1717849579459/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. diff --git a/recipes/shorah/1.99.2/build_failure.osx-64.yaml b/recipes/shorah/1.99.2/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..2fe66487ee14c --- /dev/null +++ b/recipes/shorah/1.99.2/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 9ff3f4ed803104fba80ee257c50c5b914effee7ad14c21a5729c55febbdfdeba # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/shorah-1.99.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + checking whether configure should try to set CXXFLAGS/CPPFLAGS/LDFLAGS... no + checking whether to enable debugging... no + checking build system type... x86_64-apple-darwin13.4.0 + checking host system type... x86_64-apple-darwin13.4.0 + checking for a sed that does not truncate output... /usr/bin/sed + checking whether the C compiler works... yes + checking for C compiler default output file name... a.out + checking for suffix of executables... + checking whether we are cross compiling... no + checking for suffix of object files... o + checking whether we are using the GNU C compiler... yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... yes + checking for x86_64-apple-darwin13.4.0-ranlib... x86_64-apple-darwin13.4.0-ranlib + checking for x86_64-apple-darwin13.4.0-gcc... x86_64-apple-darwin13.4.0-clang + checking whether we are using the GNU C compiler... yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... yes + checking for x86_64-apple-darwin13.4.0-clang option to accept ISO C89... none needed + checking whether x86_64-apple-darwin13.4.0-clang understands -c and -o together... yes + checking for x86_64-apple-darwin13.4.0-ar... x86_64-apple-darwin13.4.0-ar + checking the archiver (x86_64-apple-darwin13.4.0-ar) interface... ar + checking for C compiler vendor... clang + checking for C compiler version... 16.0.6 + checking how to run the C preprocessor... x86_64-apple-darwin13.4.0-clang -E + checking for grep that handles long lines and -e... /usr/bin/grep + checking for egrep... /usr/bin/grep -E + checking whether x86_64-apple-darwin13.4.0-clang is Clang... yes + checking whether Clang needs flag to prevent "argument unused" warning when linking with -pthread... no + checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE + checking whether more special flags are required for pthreads... no + checking for PTHREAD_PRIO_INHERIT... yes + checking whether C compiler accepts -mpopcnt... yes + checking whether configure can enable POPCNT for Hamming distances... yes + checking whether x86_64-apple-darwin13.4.0-clang supports C11 features by default... yes + checking for x86_64-apple-darwin13.4.0-pkg-config... $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-pkg-config + checking pkg-config is at least version 0.9.0... yes + checking for ZLIB... yes + checking for HTSLIB... yes + checking for boostlib >= 1.56 (105600)... yes + checking for a BSD-compatible install... /usr/bin/install -c + checking whether build environment is sane... yes + checking for a thread-safe mkdir -p... ./install-sh -c -d + checking for gawk... no + checking for mawk... no + checking for nawk... no + checking for awk... awk + checking whether make sets $(MAKE)... yes + checking whether make supports the include directive... yes (GNU style) + checking whether make supports nested variables... yes + checking dependency style of x86_64-apple-darwin13.4.0-clang... gcc3 + checking dependency style of x86_64-apple-darwin13.4.0-clang... gcc3 + checking whether make supports nested variables... (cached) yes + checking whether $PREFIX/bin/python version is >= 3.5... yes + checking for $PREFIX/bin/python version... 3.1 + checking for $PREFIX/bin/python platform... darwin + checking for $PREFIX/bin/python script directory... ${prefix}/lib/python3.12/site-packages + checking for $PREFIX/bin/python extension module directory... ${exec_prefix}/lib/python3.12/site-packages + checking that generated files are newer than configure... done + configure: creating ./config.status + config.status: creating Makefile + config.status: executing depfiles commands + + shorah 1.99.2 + + CXX : ..................... x86_64-apple-darwin13.4.0-clang (, ) + CXXFLAGS : ................ -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/shorah-1.99.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -mpopcnt + + CPPFLAGS : ................ -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + LDFLAGS : ................. -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + + Boost_CPPFLAGS : .......... + + HTSlib_CFLAGS : ........... -I$PREFIX/include + HTSlib_LIBS : ............. -L$PREFIX/lib -lhts + + PYTHON : .................. $PREFIX/bin/python + Python version : .......... 3.1 + + make install-am + make[1]: Entering directory '$SRC_DIR' + CXX src/cpp/diri_sampler-dpm_sampler.o + CXXLD diri_sampler + CXX src/cpp/b2w-b2w.o + CXXLD b2w + CXX src/cpp/fil-fil.o + CXXLD fil + /usr/bin/sed 's,#!/usr/bin/env python3,#!/usr/bin/env $PREFIX/bin/python,g' ./src/shorah/__main__.py > shorah + make[2]: Entering directory '$SRC_DIR' + ./install-sh -c -d '$PREFIX/bin' + /usr/bin/install -c diri_sampler b2w fil '$PREFIX/bin' + ./install-sh -c -d '$PREFIX/bin' + /usr/bin/install -c shorah '$PREFIX/bin' + ./install-sh -c -d '$PREFIX/share/shorah/amplicon_test' + /usr/bin/install -c -m 644 examples/amplicon_test/README.md examples/amplicon_test/ampli_sorted.bam examples/amplicon_test/amplicon_reads.fastq examples/amplicon_test/reference.fasta examples/amplicon_test/amplicon_test '$PREFIX/share/shorah/amplicon_test' + ./install-sh -c -d '$PREFIX/share/shorah' + /usr/bin/install -c -m 644 examples/ref_genome.fasta examples/sample_454.fasta '$PREFIX/share/shorah' + ./install-sh -c -d '$PREFIX/lib/python3.12/site-packages/shorah' + /usr/bin/install -c -m 644 src/shorah/__main__.py src/shorah/amplicon.py src/shorah/cli.py src/shorah/shorah_snv.py src/shorah/shotgun.py '$PREFIX/lib/python3.12/site-packages/shorah' + make[2]: Leaving directory '$SRC_DIR' + make[1]: Leaving directory '$SRC_DIR' +# Last 100 lines of the build log. diff --git a/recipes/shorah/1.99.2/meta.yaml b/recipes/shorah/1.99.2/meta.yaml index 856fbc4a70643..f530a45f0f8f4 100644 --- a/recipes/shorah/1.99.2/meta.yaml +++ b/recipes/shorah/1.99.2/meta.yaml @@ -12,7 +12,7 @@ source: build: skip: True # [py27] - number: 8 + number: 9 script: - ./configure --prefix="${PREFIX}" PYTHON="${PYTHON}" PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig - make install diff --git a/recipes/short-read-connector/meta.yaml b/recipes/short-read-connector/meta.yaml index b20e32de5f24b..cd9c0537505c8 100644 --- a/recipes/short-read-connector/meta.yaml +++ b/recipes/short-read-connector/meta.yaml @@ -7,8 +7,10 @@ source: md5: "2b7a3c9bdb5a3d3e2d3c9fdd9b496323" build: - number: 0 + number: 1 skip: True # [osx] + run_exports: + - {{ pin_subpackage('short-read-connector', max_pin="x") }} requirements: build: @@ -35,3 +37,7 @@ about: license_family: AGPL license_file: LICENSE summary: Short read connector enables the comparisons of two read sets + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/shortseq/build_failure.linux-64.yaml b/recipes/shortseq/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..3d3e334958edc --- /dev/null +++ b/recipes/shortseq/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: e75d137d9f1696aec2555e59599a4e8fa0cf1179788cbc9def01e522fbd3a35f # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + + environment location: /opt/conda/conda-bld/shortseq_1717533826680/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac + + + The following NEW packages will be INSTALLED: + + _libgcc_mutex: 0.1-conda_forge conda-forge + _openmp_mutex: 4.5-2_gnu conda-forge + bzip2: 1.0.8-hd590300_5 conda-forge + ca-certificates: 2024.6.2-hbcca054_0 conda-forge + cython: 3.0.10-py310hc6cd4ac_0 conda-forge + ld_impl_linux-64: 2.40-hf3520f5_2 conda-forge + libblas: 3.9.0-22_linux64_openblas conda-forge + libcblas: 3.9.0-22_linux64_openblas conda-forge + libffi: 3.4.2-h7f98852_5 conda-forge + libgcc-ng: 13.2.0-h77fa898_7 conda-forge + libgfortran-ng: 13.2.0-h69a702a_7 conda-forge + libgfortran5: 13.2.0-hca663fb_7 conda-forge + libgomp: 13.2.0-h77fa898_7 conda-forge + liblapack: 3.9.0-22_linux64_openblas conda-forge + libnsl: 2.0.1-hd590300_0 conda-forge + libopenblas: 0.3.27-pthreads_h413a1c8_0 conda-forge + libsqlite: 3.45.3-h2797004_0 conda-forge + libstdcxx-ng: 13.2.0-hc0a3c3a_7 conda-forge + libuuid: 2.38.1-h0b41bf4_0 conda-forge + libxcrypt: 4.4.36-hd590300_1 conda-forge + libzlib: 1.3.1-h4ab18f5_1 conda-forge + ncurses: 6.5-h59595ed_0 conda-forge + numpy: 1.22.4-py310h4ef5377_0 conda-forge + openssl: 3.3.0-h4ab18f5_3 conda-forge + pip: 24.0-pyhd8ed1ab_0 conda-forge + python: 3.10.14-hd12c33a_0_cpython conda-forge + python_abi: 3.10-4_cp310 conda-forge + readline: 8.2-h8228510_1 conda-forge + setuptools: 70.0.0-pyhd8ed1ab_0 conda-forge + tk: 8.6.13-noxft_h4845f30_101 conda-forge + tzdata: 2024a-h0c530f3_0 conda-forge + wheel: 0.43.0-pyhd8ed1ab_1 conda-forge + xz: 5.2.6-h166bdaf_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Reloading output folder (file:///opt/host-conda-bld): ...working... done + Solving environment (_build_env): ...working... done + Reloading output folder (file:///opt/host-conda-bld): ...working... done + Solving environment (_test_env): ...working... done + + ## Package Plan ## + + environment location: /opt/conda/conda-bld/shortseq_1717533826680/_build_env + + + The following NEW packages will be INSTALLED: + + _libgcc_mutex: 0.1-conda_forge conda-forge + _openmp_mutex: 4.5-2_gnu conda-forge + binutils_impl_linux-64: 2.40-ha1999f0_2 conda-forge + binutils_linux-64: 2.40-hdade7a5_3 conda-forge + gcc_impl_linux-64: 12.3.0-h58ffeeb_7 conda-forge + gcc_linux-64: 12.3.0-h6477408_3 conda-forge + gxx_impl_linux-64: 12.3.0-h2a574ab_7 conda-forge + gxx_linux-64: 12.3.0-h4a1b8e8_3 conda-forge + kernel-headers_linux-64: 2.6.32-he073ed8_17 conda-forge + ld_impl_linux-64: 2.40-hf3520f5_2 conda-forge + libgcc-devel_linux-64: 12.3.0-h0223996_107 conda-forge + libgcc-ng: 13.2.0-h77fa898_7 conda-forge + libgomp: 13.2.0-h77fa898_7 conda-forge + libsanitizer: 12.3.0-hb8811af_7 conda-forge + libstdcxx-devel_linux-64: 12.3.0-h0223996_107 conda-forge + libstdcxx-ng: 13.2.0-hc0a3c3a_7 conda-forge + sysroot_linux-64: 2.12-he073ed8_17 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Source cache directory is: /opt/conda/conda-bld/src_cache + Downloading source to cache: 0.0.1_99fa125603.tar.gz + Downloading https://github.com/AlexTate/ShortSeq/archive/0.0.1.tar.gz + Success + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2419, in build + try_download(m, no_download_source=False, raise_error=True) + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 762, in try_download + source.provide(metadata) + File "/opt/conda/lib/python3.10/site-packages/conda_build/source.py", line 1035, in provide + unpack( + File "/opt/conda/lib/python3.10/site-packages/conda_build/source.py", line 169, in unpack + src_path, unhashed_fn = download_to_cache( + File "/opt/conda/lib/python3.10/site-packages/conda_build/source.py", line 125, in download_to_cache + raise RuntimeError( + RuntimeError: SHA256 mismatch: 'fe29c789b987d300500bc23dc4f7264a904a15d66feb54cfe7986712dfcdc13c' != '99fa125603dbf5f55d80c0e42430e6a79b535ec40de51905b4b4117897022dd4' +# Last 100 lines of the build log. diff --git a/recipes/shortseq/build_failure.osx-64.yaml b/recipes/shortseq/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..c269904655899 --- /dev/null +++ b/recipes/shortseq/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: e75d137d9f1696aec2555e59599a4e8fa0cf1179788cbc9def01e522fbd3a35f # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + ## Package Plan ## + + environment location: /opt/mambaforge/envs/bioconda/conda-bld/shortseq_1717521784067/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place + + + The following NEW packages will be INSTALLED: + + bzip2: 1.0.8-h10d778d_5 conda-forge + ca-certificates: 2024.6.2-h8857fd0_0 conda-forge + cython: 3.0.10-py310h5daac23_0 conda-forge + libblas: 3.9.0-22_osx64_openblas conda-forge + libcblas: 3.9.0-22_osx64_openblas conda-forge + libcxx: 17.0.6-h88467a6_0 conda-forge + libffi: 3.4.2-h0d85af4_5 conda-forge + libgfortran: 5.0.0-13_2_0_h97931a8_3 conda-forge + libgfortran5: 13.2.0-h2873a65_3 conda-forge + liblapack: 3.9.0-22_osx64_openblas conda-forge + libopenblas: 0.3.27-openmp_hfef2a42_0 conda-forge + libsqlite: 3.45.3-h92b6c6a_0 conda-forge + libzlib: 1.3.1-h87427d6_1 conda-forge + llvm-openmp: 18.1.6-h15ab845_0 conda-forge + ncurses: 6.5-h5846eda_0 conda-forge + numpy: 1.22.4-py310hed37afb_0 conda-forge + openssl: 3.3.0-h87427d6_3 conda-forge + python: 3.10.14-h00d2728_0_cpython conda-forge + python_abi: 3.10-4_cp310 conda-forge + readline: 8.2-h9e318b2_1 conda-forge + setuptools: 70.0.0-pyhd8ed1ab_0 conda-forge + tk: 8.6.13-h1abcd95_1 conda-forge + tzdata: 2024a-h0c530f3_0 conda-forge + xz: 5.2.6-h775f41a_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Reloading output folder (local): ...working... done + Solving environment (_build_env): ...working... done + Reloading output folder (local): ...working... done + Solving environment (_test_env): ...working... done + + ## Package Plan ## + + environment location: /opt/mambaforge/envs/bioconda/conda-bld/shortseq_1717521784067/_build_env + + + The following NEW packages will be INSTALLED: + + ca-certificates: 2024.6.2-h8857fd0_0 conda-forge + cctools_osx-64: 986-ha1c5b94_0 conda-forge + clang: 16.0.6-hd4457cd_7 conda-forge + clang-16: 16.0.6-default_h4c8afb6_7 conda-forge + clang_impl_osx-64: 16.0.6-h8787910_15 conda-forge + clang_osx-64: 16.0.6-hb91bd55_15 conda-forge + clangxx: 16.0.6-default_ha3b9224_7 conda-forge + clangxx_impl_osx-64: 16.0.6-h6d92fbe_15 conda-forge + clangxx_osx-64: 16.0.6-hb91bd55_15 conda-forge + compiler-rt: 16.0.6-ha38d28d_2 conda-forge + compiler-rt_osx-64: 16.0.6-ha38d28d_2 conda-forge + icu: 73.2-hf5e326d_0 conda-forge + ld64_osx-64: 711-ha20a434_0 conda-forge + libclang-cpp16: 16.0.6-default_h4c8afb6_7 conda-forge + libcxx: 17.0.6-h88467a6_0 conda-forge + libiconv: 1.17-hd75f5a5_2 conda-forge + libllvm16: 16.0.6-hbedff68_3 conda-forge + libxml2: 2.12.7-hfa5d230_0 conda-forge + libzlib: 1.3.1-h87427d6_1 conda-forge + llvm-tools: 16.0.6-hbedff68_3 conda-forge + openssl: 3.3.0-h87427d6_3 conda-forge + sigtool: 0.1.3-h88f4db0_0 conda-forge + tapi: 1100.0.11-h9ce4665_0 conda-forge + xz: 5.2.6-h775f41a_0 conda-forge + zstd: 1.5.6-h915ae27_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache + Downloading source to cache: 0.0.1_99fa125603.tar.gz + Downloading https://github.com/AlexTate/ShortSeq/archive/0.0.1.tar.gz + Success + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2419, in build + try_download(m, no_download_source=False, raise_error=True) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 762, in try_download + source.provide(metadata) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/source.py", line 1035, in provide + unpack( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/source.py", line 169, in unpack + src_path, unhashed_fn = download_to_cache( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/source.py", line 125, in download_to_cache + raise RuntimeError( + RuntimeError: SHA256 mismatch: 'fe29c789b987d300500bc23dc4f7264a904a15d66feb54cfe7986712dfcdc13c' != '99fa125603dbf5f55d80c0e42430e6a79b535ec40de51905b4b4117897022dd4' +# Last 100 lines of the build log. diff --git a/recipes/shortseq/meta.yaml b/recipes/shortseq/meta.yaml new file mode 100644 index 0000000000000..23ce623d83a09 --- /dev/null +++ b/recipes/shortseq/meta.yaml @@ -0,0 +1,44 @@ +{% set version = "0.0.1" %} +{% set sha256 = "99fa125603dbf5f55d80c0e42430e6a79b535ec40de51905b4b4117897022dd4" %} + +package: + name: shortseq + version: {{ version }} + +source: + url: https://github.com/AlexTate/ShortSeq/archive/{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + skip: True # [not unix] + number: 1 + script: "{{ PYTHON }} -m pip install . -vv" + run_exports: + - {{ pin_subpackage('shortseq', max_pin="x.x") }} + +requirements: + build: + - {{ compiler('cxx') }} + host: + - python 3.10.* + - setuptools + - cython + - numpy + run: + - python 3.10.* + +test: + imports: + - ShortSeq + - numpy + commands: + - python -m unittest ShortSeq.tests.unit_tests_main + +about: + home: https://github.com/AlexTate/ShortSeq + license: MIT + summary: \ + ShortSeqs are compact and efficient Python objects that hold short sequences + while using up to 73% less memory compared to built-in types. They have a + pre-computed hash value, can be compared for equality, and are + easily converted back to the original sequence string. diff --git a/recipes/shortstack/meta.yaml b/recipes/shortstack/meta.yaml index b676bb43042fa..f473cd67cc6e1 100644 --- a/recipes/shortstack/meta.yaml +++ b/recipes/shortstack/meta.yaml @@ -1,6 +1,6 @@ {% set name = "ShortStack" %} -{% set version = "4.0.3" %} -{% set sha256 = "d9990910f4359b881f5fe417ac7ab365ee2599d4bfa22844172d4e22a5ff9489" %} +{% set version = "4.1.0" %} +{% set sha256 = "f138672d1f564cdd9dffe384bc84ca01bbd67b8e76a9d9f030b47a0e478f3fe1" %} package: name: {{ name|lower }} @@ -18,15 +18,15 @@ build: requirements: run: - - python >=3.10.8 - - samtools >=1.16 + - python >=3.12.3 + - samtools >=1.20 - bowtie >=1.3.1 - viennarna 2.* - tqdm - numpy - biopython - - strucvis - - shorttracks + - strucvis >=0.9 + - shorttracks >=1.2 - bedtools - cutadapt diff --git a/recipes/shorttracks/meta.yaml b/recipes/shorttracks/meta.yaml index 197302af4a89e..75081b308d1cb 100644 --- a/recipes/shorttracks/meta.yaml +++ b/recipes/shorttracks/meta.yaml @@ -1,6 +1,6 @@ {% set name = "ShortTracks" %} -{% set version = "1.1" %} -{% set sha256 = "3cdc1f74c417f88d53c5d097f19dc341a6038b13190b7966f1e6be8624f66f0e" %} +{% set version = "1.2" %} +{% set sha256 = "e29ab660736a2da98eb7161e97636cf16d0c0b3161ed4e2e0d1b0914bddeccc6" %} package: name: {{ name|lower }} @@ -13,6 +13,8 @@ source: build: noarch: generic number: 0 + run_exports: + - {{ pin_subpackage('shorttracks', max_pin="x") }} requirements: run: @@ -31,4 +33,4 @@ about: license_family: MIT license_file: LICENSE summary: 'ShortTracks : Useful length- and strand-based coverage files (bigwig) from small RNA-seq alignments (BAM)' - + dev_url: https://github.com/MikeAxtell/ShortTracks diff --git a/recipes/sicer2/build_failure.linux-64.yaml b/recipes/sicer2/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..3a92aead35dcd --- /dev/null +++ b/recipes/sicer2/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 3a8e0c339a3fa2d10aab65a73f2169a9b2f103eecf53e48e7e22776ed11be020 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + GCC_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar + GCC_NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-nm + GCC_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib + HOST=x86_64-conda-linux-gnu + LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_cos6_linux_gnu + build_alias=x86_64-conda-linux-gnu + host_alias=x86_64-conda-linux-gnu + -BUILD=x86_64-conda_cos6-linux-gnu + -CONDA_BUILD_SYSROOT= + Processing $SRC_DIR + Preparing metadata (setup.py): started + Preparing metadata (setup.py): finished with status 'done' + Building wheels for collected packages: SICER2 + Building wheel for SICER2 (setup.py): started + Building wheel for SICER2 (setup.py): finished with status 'error' + [1;31merror[0m: [1msubprocess-exited-with-error[0m + + [31m[0m [32mpython setup.py bdist_wheel[0m did not run successfully. + [31m[0m exit code: [1;36m1[0m + [31m>[0m [31m[55 lines of output][0m + [31m [0m /opt/conda/conda-bld/sicer2_1717606269799/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/setuptools/__init__.py:80: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. + [31m [0m !! + [31m [0m + [31m [0m ******************************************************************************** + [31m [0m Requirements should be satisfied by a PEP 517 installer. + [31m [0m If you are using pip, you can try pip install --use-pep517. + [31m [0m ******************************************************************************** + [31m [0m + [31m [0m !! + [31m [0m dist.fetch_build_eggs(dist.setup_requires) + [31m [0m running bdist_wheel + [31m [0m running build + [31m [0m running build_py + [31m [0m creating build + [31m [0m creating build/lib.linux-x86_64-cpython-311 + [31m [0m creating build/lib.linux-x86_64-cpython-311/sicer + [31m [0m copying sicer/__init__.py -> build/lib.linux-x86_64-cpython-311/sicer + [31m [0m creating build/lib.linux-x86_64-cpython-311/sicer/lib + [31m [0m copying sicer/lib/__init__.py -> build/lib.linux-x86_64-cpython-311/sicer/lib + [31m [0m copying sicer/lib/Background_island_probscore_statistics.py -> build/lib.linux-x86_64-cpython-311/sicer/lib + [31m [0m copying sicer/lib/GenomeData.py -> build/lib.linux-x86_64-cpython-311/sicer/lib + [31m [0m copying sicer/lib/Utility.py -> build/lib.linux-x86_64-cpython-311/sicer/lib + [31m [0m copying sicer/lib/associate_tags_with_regions.py -> build/lib.linux-x86_64-cpython-311/sicer/lib + [31m [0m creating build/lib.linux-x86_64-cpython-311/sicer/utility + [31m [0m copying sicer/utility/__init__.py -> build/lib.linux-x86_64-cpython-311/sicer/utility + [31m [0m copying sicer/utility/calculate_cross_correlation_long_range.py -> build/lib.linux-x86_64-cpython-311/sicer/utility + [31m [0m copying sicer/utility/make_graph_file.py -> build/lib.linux-x86_64-cpython-311/sicer/utility + [31m [0m creating build/lib.linux-x86_64-cpython-311/sicer/src + [31m [0m copying sicer/src/compare_two_libraries_on_islands.py -> build/lib.linux-x86_64-cpython-311/sicer/src + [31m [0m copying sicer/src/filter_raw_tags_by_islands.py -> build/lib.linux-x86_64-cpython-311/sicer/src + [31m [0m copying sicer/src/__init__.py -> build/lib.linux-x86_64-cpython-311/sicer/src + [31m [0m copying sicer/src/find_islands_in_pr.py -> build/lib.linux-x86_64-cpython-311/sicer/src + [31m [0m copying sicer/src/find_union_islands.py -> build/lib.linux-x86_64-cpython-311/sicer/src + [31m [0m copying sicer/src/filter_islands_by_significance.py -> build/lib.linux-x86_64-cpython-311/sicer/src + [31m [0m copying sicer/src/remove_redundant_reads.py -> build/lib.linux-x86_64-cpython-311/sicer/src + [31m [0m copying sicer/src/make_normalized_wig.py -> build/lib.linux-x86_64-cpython-311/sicer/src + [31m [0m copying sicer/src/associate_tags_with_chip_and_control_w_fc_q.py -> build/lib.linux-x86_64-cpython-311/sicer/src + [31m [0m copying sicer/src/run_make_graph_file_by_chrom.py -> build/lib.linux-x86_64-cpython-311/sicer/src + [31m [0m creating build/lib.linux-x86_64-cpython-311/sicer/main + [31m [0m copying sicer/main/__init__.py -> build/lib.linux-x86_64-cpython-311/sicer/main + [31m [0m copying sicer/main/run_SICER.py -> build/lib.linux-x86_64-cpython-311/sicer/main + [31m [0m copying sicer/main/run_RECOGNICER_df.py -> build/lib.linux-x86_64-cpython-311/sicer/main + [31m [0m copying sicer/main/run_SICER_df.py -> build/lib.linux-x86_64-cpython-311/sicer/main + [31m [0m copying sicer/main/run_RECOGNICER.py -> build/lib.linux-x86_64-cpython-311/sicer/main + [31m [0m running build_ext + [31m [0m building 'sicer.src.coarsegraining' extension + [31m [0m creating build/temp.linux-x86_64-cpython-311 + [31m [0m creating build/temp.linux-x86_64-cpython-311/sicer + [31m [0m creating build/temp.linux-x86_64-cpython-311/sicer/src + [31m [0m /opt/conda/conda-bld/sicer2_1717606269799/_build_env/bin/x86_64-conda-linux-gnu-cc -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/conda/conda-bld/sicer2_1717606269799/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include -fPIC -O2 -isystem /opt/conda/conda-bld/sicer2_1717606269799/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /opt/conda/conda-bld/sicer2_1717606269799/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include -fdebug-prefix-map=/opt/conda/conda-bld/sicer2_1717606269799/work=/usr/local/src/conda/sicer2-1.0.3 -fdebug-prefix-map=/opt/conda/conda-bld/sicer2_1717606269799/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh=/usr/local/src/conda-prefix -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /opt/conda/conda-bld/sicer2_1717606269799/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include -fPIC -I/opt/conda/conda-bld/sicer2_1717606269799/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/python3.11 -c sicer/src/coarsegraining.c -o build/temp.linux-x86_64-cpython-311/sicer/src/coarsegraining.o -w -O3 -ffast-math + [31m [0m sicer/src/coarsegraining.c:196:12: fatal error: longintrepr.h: No such file or directory + [31m [0m 196 | #include "longintrepr.h" + [31m [0m | ^~~~~~~~~~~~~~~ + [31m [0m compilation terminated. + [31m [0m error: command '/opt/conda/conda-bld/sicer2_1717606269799/_build_env/bin/x86_64-conda-linux-gnu-cc' failed with exit code 1 + [31m [0m [31m[end of output][0m + + [1;35mnote[0m: This error originates from a subprocess, and is likely not a problem with pip. + [31m ERROR: Failed building wheel for SICER2[0m[31m + [0m Running setup.py clean for SICER2 + [31mERROR: Could not build wheels for SICER2, which is required to install pyproject.toml-based projects[0m[31m + [0mFailed to build SICER2 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/sicer2_1717606269799/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/sicer2/build_failure.osx-64.yaml b/recipes/sicer2/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..1e4ba17c0f9cb --- /dev/null +++ b/recipes/sicer2/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 3a8e0c339a3fa2d10aab65a73f2169a9b2f103eecf53e48e7e22776ed11be020 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + copying sicer/utility/__init__.py -> build/lib.macosx-10.9-x86_64-cpython-312/sicer/utility + copying sicer/utility/calculate_cross_correlation_long_range.py -> build/lib.macosx-10.9-x86_64-cpython-312/sicer/utility + creating build/lib.macosx-10.9-x86_64-cpython-312/sicer/src + copying sicer/src/find_union_islands.py -> build/lib.macosx-10.9-x86_64-cpython-312/sicer/src + copying sicer/src/filter_raw_tags_by_islands.py -> build/lib.macosx-10.9-x86_64-cpython-312/sicer/src + copying sicer/src/associate_tags_with_chip_and_control_w_fc_q.py -> build/lib.macosx-10.9-x86_64-cpython-312/sicer/src + copying sicer/src/make_normalized_wig.py -> build/lib.macosx-10.9-x86_64-cpython-312/sicer/src + copying sicer/src/__init__.py -> build/lib.macosx-10.9-x86_64-cpython-312/sicer/src + copying sicer/src/run_make_graph_file_by_chrom.py -> build/lib.macosx-10.9-x86_64-cpython-312/sicer/src + copying sicer/src/filter_islands_by_significance.py -> build/lib.macosx-10.9-x86_64-cpython-312/sicer/src + copying sicer/src/find_islands_in_pr.py -> build/lib.macosx-10.9-x86_64-cpython-312/sicer/src + copying sicer/src/remove_redundant_reads.py -> build/lib.macosx-10.9-x86_64-cpython-312/sicer/src + copying sicer/src/compare_two_libraries_on_islands.py -> build/lib.macosx-10.9-x86_64-cpython-312/sicer/src + running build_ext + building 'sicer.src.coarsegraining' extension + creating build/temp.macosx-10.9-x86_64-cpython-312 + creating build/temp.macosx-10.9-x86_64-cpython-312/sicer + creating build/temp.macosx-10.9-x86_64-cpython-312/sicer/src + x86_64-apple-darwin13.4.0-clang -fno-strict-overflow -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/mambaforge/envs/bioconda/conda-bld/sicer2_1717609011572/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include -fPIC -O2 -isystem /opt/mambaforge/envs/bioconda/conda-bld/sicer2_1717609011572/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem /opt/mambaforge/envs/bioconda/conda-bld/sicer2_1717609011572/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include -fdebug-prefix-map=/opt/mambaforge/envs/bioconda/conda-bld/sicer2_1717609011572/work=/usr/local/src/conda/sicer2-1.0.3 -fdebug-prefix-map=/opt/mambaforge/envs/bioconda/conda-bld/sicer2_1717609011572/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem /opt/mambaforge/envs/bioconda/conda-bld/sicer2_1717609011572/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include -mmacosx-version-min=10.9 -I/opt/mambaforge/envs/bioconda/conda-bld/sicer2_1717609011572/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/python3.12 -c sicer/src/coarsegraining.c -o build/temp.macosx-10.9-x86_64-cpython-312/sicer/src/coarsegraining.o -w -O3 -ffast-math + sicer/src/coarsegraining.c:196:12: fatal error: 'longintrepr.h' file not found + #include "longintrepr.h" + ^~~~~~~~~~~~~~~ + 1 error generated. + error: command '/opt/mambaforge/envs/bioconda/conda-bld/sicer2_1717609011572/_build_env/bin/x86_64-apple-darwin13.4.0-clang' failed with exit code 1 + [end of output] + + note: This error originates from a subprocess, and is likely not a problem with pip. + ERROR: Failed building wheel for SICER2 + ERROR: Could not build wheels for SICER2, which is required to install pyproject.toml-based projects + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/sicer2_1717609011572/work + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/sicer2_1717609011572/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/sicer2_1717609011572/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/sicer2_1717609011572/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sicer2-1.0.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/sicer2_1717609011572/work/conda_build.sh']' returned non-zero exit status 1. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sicer2-1.0.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + Processing $SRC_DIR + Preparing metadata (setup.py): started + Preparing metadata (setup.py): finished with status 'done' + Building wheels for collected packages: SICER2 + Building wheel for SICER2 (setup.py): started + Building wheel for SICER2 (setup.py): finished with status 'error' + Running setup.py clean for SICER2 + Failed to build SICER2 +# Last 100 lines of the build log. diff --git a/recipes/sicer2/meta.yaml b/recipes/sicer2/meta.yaml index 6866d26b209f7..ea0d8644568f5 100644 --- a/recipes/sicer2/meta.yaml +++ b/recipes/sicer2/meta.yaml @@ -10,8 +10,7 @@ source: sha256: 003e0f46fb45717fa6b1c94b2c21416161f5b3a4896fbb335cf2024daf2560dd build: - number: 3 - skip: True # [py2k] + number: 4 script: "{{ PYTHON }} -m pip install --ignore-installed --no-deps ." requirements: diff --git a/recipes/sickle-trim/build.sh b/recipes/sickle-trim/build.sh index 46403c59d26b2..a9ab6ed6899b0 100644 --- a/recipes/sickle-trim/build.sh +++ b/recipes/sickle-trim/build.sh @@ -1,8 +1,11 @@ #!/bin/bash +set -xe + LDFLAGS="$LDFLAGS -L$PREFIX/lib" CFLAGS="$CFLAGS -Wall -pedantic -I$PREFIX/include -DVERSION=$PKG_VERSION" -make CC=$CC CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" -j$CPU_COUNT +make CC=$CC CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" -j${CPU_COUNT} mkdir -p $PREFIX/bin cp sickle $PREFIX/bin +chmod 0755 $PREFIX/bin/sickle \ No newline at end of file diff --git a/recipes/sickle-trim/meta.yaml b/recipes/sickle-trim/meta.yaml index 1af0a3e4bfab7..4543169dc404e 100644 --- a/recipes/sickle-trim/meta.yaml +++ b/recipes/sickle-trim/meta.yaml @@ -10,7 +10,9 @@ source: sha256: {{ sha256 }} build: - number: 9 + number: 10 + run_exports: + - {{ pin_subpackage('sickle-trim', max_pin="x") }} requirements: build: @@ -29,3 +31,7 @@ about: home: https://github.com/najoshi/sickle license: MIT summary: Windowed Adaptive Trimming for fastq files using quality + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/sigprofilerassignment/meta.yaml b/recipes/sigprofilerassignment/meta.yaml new file mode 100644 index 0000000000000..d67c7198b9b00 --- /dev/null +++ b/recipes/sigprofilerassignment/meta.yaml @@ -0,0 +1,47 @@ +{% set name = "SigProfilerAssignment" %} +{% set version = "0.1.8" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/SigProfilerAssignment-{{ version }}.tar.gz + sha256: dc0deaf3d37570ed5557f829a2708d93c0c0d2feef99ae680c4222bb9e491f5f + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x.x") }} + +requirements: + host: + - python >=3.8 + - pip + run: + - python >=3.8 + - scipy >=1.6 + - numpy >=1.21 + - pandas >=1.2,<2.0 + - sigprofilermatrixgenerator >=1.2 + - sigprofilerplotting >=1.3 + - statsmodels >=0.9 + - scikit-learn >=0.24 + - psutil >=5.6.1 + - reportlab >=3.5 + - pypdf >=3.0 + - alive-progress >=2.4 + - pdf2image >=1.16 + - pymupdf >=1.21 + +test: + imports: + - SigProfilerAssignment + +about: + home: https://github.com/AlexandrovLab/SigProfilerAssignment.git + summary: SigProfilerAssignment - Assignment of known mutational signatures to individual samples and individual somatic mutations + license: BSD-2-Clause + license_file: LICENSE.txt diff --git a/recipes/sigprofilermatrixgenerator/meta.yaml b/recipes/sigprofilermatrixgenerator/meta.yaml new file mode 100644 index 0000000000000..a1960b918d439 --- /dev/null +++ b/recipes/sigprofilermatrixgenerator/meta.yaml @@ -0,0 +1,47 @@ +{% set name = "SigProfilerMatrixGenerator" %} +{% set version = "1.2.30" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/SigProfilerMatrixGenerator-{{ version }}.tar.gz + sha256: 55453304c565acacc62bce77592f8c44a14bca367df33585825f06893e315280 + +build: + entry_points: + - SigProfilerMatrixGenerator=SigProfilerMatrixGenerator.scripts.SigProfilerMatrixGenerator_CLI:main_function + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + number: 0 + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} + +requirements: + host: + - python >=3.8 + - pip + - setuptools + run: + - python >=3.8 + - matplotlib-base >=2.2.2 + - sigprofilerplotting >=1.3.16 + - statsmodels >=0.9.0 + - scipy >=1.1.0 + - numpy >=1.18.5 + - pandas >=0.23.4,<2.0.0 + +test: + imports: + - SigProfilerMatrixGenerator + commands: + - SigProfilerMatrixGenerator install --help + +about: + home: https://github.com/AlexandrovLab/SigProfilerMatrixGenerator + summary: "SigProfiler matrix generator tool." + license: BSD-2-Clause + license_family: BSD + license_file: LICENSE + dev_url: https://github.com/AlexandrovLab/SigProfilerMatrixGenerator diff --git a/recipes/sigprofilerplotting/meta.yaml b/recipes/sigprofilerplotting/meta.yaml new file mode 100644 index 0000000000000..efe1357184a46 --- /dev/null +++ b/recipes/sigprofilerplotting/meta.yaml @@ -0,0 +1,45 @@ +{% set name = "sigProfilerPlotting" %} +{% set version = "1.3.24" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/sigprofilerplotting-{{ version }}.tar.gz + sha256: 99be52760ff9cac55d075035580d256a28e99e8dbd5a7c67f45f1451d4d8ffcd + +build: + entry_points: + - SigProfilerPlotting=sigProfilerPlotting.sigProfilerPlotting_CLI:main_function + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + number: 0 + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} + +requirements: + host: + - python >=3.7 + - pip + run: + - python >=3.7 + - matplotlib-base >=3.4.3 + - pandas >=1.2.4,<2.0.0 + - scikit-learn >=1.1.3 + - pillow >=10.0.0 + +test: + imports: + - sigProfilerPlotting + commands: + - SigProfilerPlotting plotSBS --help + +about: + home: https://github.com/alexandrovlab/SigProfilerPlotting + summary: "SigProfiler plotting tool." + license: BSD-2-Clause + license_family: BSD + license_file: LICENSE + dev_url: https://github.com/alexandrovlab/SigProfilerPlotting + doc_url: https://osf.io/2aj6t/wiki/home diff --git a/recipes/simba_pbg/meta.yaml b/recipes/simba_pbg/meta.yaml index 4d04ebb090412..7bcb5313f8ca2 100644 --- a/recipes/simba_pbg/meta.yaml +++ b/recipes/simba_pbg/meta.yaml @@ -10,7 +10,7 @@ source: sha256: df97d748956f3136ace4cd899bb4362b531e568e0ccbe90e5aad3e50666fb316 build: - number: 2 + number: 3 skip: True # [py2k] script: "{{ PYTHON }} -m pip install . --ignore-installed -vv" diff --git a/recipes/simlord/build_failure.linux-64.yaml b/recipes/simlord/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..8a04c7fb0a30f --- /dev/null +++ b/recipes/simlord/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 231643e4137f1ea54da1960fde70610dac7481c5b7d8fc0c478ccb3d3ca0c4b3 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("python=3.4"), MatchSpec("dinopy==1.2.0=py34_0")} + Encountered problems while solving: + - package dinopy-1.2.0-py34_0 requires python 3.4*, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + [32mdinopy[0m is installable with the potential options + [32mdinopy [1.2.0|1.2.1|2.0.0][0m would require + [32mpython 3.4* [0m, which can be installed; + [32mdinopy [1.2.0|1.2.1|2.0.0|2.0.1][0m would require + [32mpython [3.5* |>=3.5,<3.6.0a0 ][0m, which can be installed; + [32mdinopy 2.0.0[0m would require + [32mpython 3.6* [0m, which can be installed; + [32mdinopy [2.0.0|2.0.1|2.0.2|2.0.3][0m would require + [32mpython >=3.6,<3.7.0a0 [0m, which can be installed; + [32mdinopy [2.0.1|2.0.2|2.0.3][0m would require + [32mpython >=3.7,<3.8.0a0 [0m, which can be installed; + [32mdinopy [2.1.0|2.2.0|2.2.1][0m would require + [32mpython_abi 3.6.* *_cp36m[0m, which can be installed; + [32mdinopy [2.1.0|2.2.0|2.2.1][0m would require + [32mpython_abi 3.7.* *_cp37m[0m, which can be installed; + [32mdinopy [2.2.0|2.2.1|3.0.0][0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mdinopy [2.2.0|2.2.1|3.0.0][0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [32mdinopy [2.2.1|3.0.0][0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [31mpython_abi 3.12.* *_cp312[0m is not installable because it requires + [31mpython 3.12.* *_cpython[0m, which conflicts with any installable versions previously reported. + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2409, in build + create_build_envs(top_level_pkg, notest) + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2247, in create_build_envs + raise e + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2220, in create_build_envs + environ.get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("python=3.4"), MatchSpec("dinopy==1.2.0=py34_0")} + Encountered problems while solving: + - package dinopy-1.2.0-py34_0 requires python 3.4*, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + [32mdinopy[0m is installable with the potential options + [32mdinopy [1.2.0|1.2.1|2.0.0][0m would require + [32mpython 3.4* [0m, which can be installed; + [32mdinopy [1.2.0|1.2.1|2.0.0|2.0.1][0m would require + [32mpython [3.5* |>=3.5,<3.6.0a0 ][0m, which can be installed; + [32mdinopy 2.0.0[0m would require + [32mpython 3.6* [0m, which can be installed; + [32mdinopy [2.0.0|2.0.1|2.0.2|2.0.3][0m would require + [32mpython >=3.6,<3.7.0a0 [0m, which can be installed; + [32mdinopy [2.0.1|2.0.2|2.0.3][0m would require + [32mpython >=3.7,<3.8.0a0 [0m, which can be installed; + [32mdinopy [2.1.0|2.2.0|2.2.1][0m would require + [32mpython_abi 3.6.* *_cp36m[0m, which can be installed; + [32mdinopy [2.1.0|2.2.0|2.2.1][0m would require + [32mpython_abi 3.7.* *_cp37m[0m, which can be installed; + [32mdinopy [2.2.0|2.2.1|3.0.0][0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mdinopy [2.2.0|2.2.1|3.0.0][0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [32mdinopy [2.2.1|3.0.0][0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [31mpython_abi 3.12.* *_cp312[0m is not installable because it requires + [31mpython 3.12.* *_cpython[0m, which conflicts with any installable versions previously reported. +# Last 100 lines of the build log. diff --git a/recipes/simlord/build_failure.osx-64.yaml b/recipes/simlord/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..3352a290b2588 --- /dev/null +++ b/recipes/simlord/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 231643e4137f1ea54da1960fde70610dac7481c5b7d8fc0c478ccb3d3ca0c4b3 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {MatchSpec("dinopy==1.2.0=py34_0"), MatchSpec("python=3.4")} + Encountered problems while solving: + - package dinopy-1.2.0-py34_0 requires python 3.4*, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + dinopy is installable with the potential options + dinopy [1.2.0|1.2.1|2.0.0] would require + python 3.4* , which can be installed; + dinopy [1.2.0|1.2.1|2.0.0|2.0.1] would require + python [3.5* |>=3.5,<3.6.0a0 ], which can be installed; + dinopy 2.0.0 would require + python 3.6* , which can be installed; + dinopy [2.0.0|2.0.1|2.0.2|2.0.3] would require + python >=3.6,<3.7.0a0 , which can be installed; + dinopy [2.0.1|2.0.2|2.0.3] would require + python >=3.7,<3.8.0a0 , which can be installed; + dinopy [2.1.0|2.2.0|2.2.1] would require + python_abi 3.6.* *_cp36m, which can be installed; + dinopy [2.1.0|2.2.0|2.2.1] would require + python_abi 3.7.* *_cp37m, which can be installed; + dinopy [2.2.0|2.2.1|3.0.0] would require + python_abi 3.8.* *_cp38, which can be installed; + dinopy [2.2.0|2.2.1|3.0.0] would require + python_abi 3.9.* *_cp39, which can be installed; + dinopy [2.2.1|3.0.0] would require + python_abi 3.10.* *_cp310, which can be installed; + python >=3.11,<3.12.0a0 is not installable because it requires + python_abi 3.11.* *_cp311, which conflicts with any installable versions previously reported. + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2409, in build + create_build_envs(top_level_pkg, notest) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2247, in create_build_envs + raise e + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2220, in create_build_envs + environ.get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {MatchSpec("dinopy==1.2.0=py34_0"), MatchSpec("python=3.4")} + Encountered problems while solving: + - package dinopy-1.2.0-py34_0 requires python 3.4*, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + dinopy is installable with the potential options + dinopy [1.2.0|1.2.1|2.0.0] would require + python 3.4* , which can be installed; + dinopy [1.2.0|1.2.1|2.0.0|2.0.1] would require + python [3.5* |>=3.5,<3.6.0a0 ], which can be installed; + dinopy 2.0.0 would require + python 3.6* , which can be installed; + dinopy [2.0.0|2.0.1|2.0.2|2.0.3] would require + python >=3.6,<3.7.0a0 , which can be installed; + dinopy [2.0.1|2.0.2|2.0.3] would require + python >=3.7,<3.8.0a0 , which can be installed; + dinopy [2.1.0|2.2.0|2.2.1] would require + python_abi 3.6.* *_cp36m, which can be installed; + dinopy [2.1.0|2.2.0|2.2.1] would require + python_abi 3.7.* *_cp37m, which can be installed; + dinopy [2.2.0|2.2.1|3.0.0] would require + python_abi 3.8.* *_cp38, which can be installed; + dinopy [2.2.0|2.2.1|3.0.0] would require + python_abi 3.9.* *_cp39, which can be installed; + dinopy [2.2.1|3.0.0] would require + python_abi 3.10.* *_cp310, which can be installed; + python >=3.11,<3.12.0a0 is not installable because it requires + python_abi 3.11.* *_cp311, which conflicts with any installable versions previously reported. +# Last 100 lines of the build log. diff --git a/recipes/simlord/meta.yaml b/recipes/simlord/meta.yaml index e5e642ac5c1dd..1da662c285efb 100644 --- a/recipes/simlord/meta.yaml +++ b/recipes/simlord/meta.yaml @@ -7,7 +7,7 @@ source: sha256: 8f3f018da10b91ad865c602eb3926513dcdbfd3b0108f5d5006aee4bca4a74b6 build: - number: 3 + number: 4 skip: True # [py2k] script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv entry_points: diff --git a/recipes/simpleaf/build_failure.linux-64.yaml b/recipes/simpleaf/build_failure.linux-64.yaml deleted file mode 100644 index f7241c00952d4..0000000000000 --- a/recipes/simpleaf/build_failure.linux-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: fc9e5f6ccb23b5ce477989885aad22c550fc4997bb62461438f4887faaba8cb4 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - Running rustc --crate-name phf_shared --edition=2021 /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/registry/src/github.com-1ecc6299db9ec823/phf_shared-0.11.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto --cfg 'feature="std"' -C metadata=55830bec45f75c14 -C extra-filename=-55830bec45f75c14 --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --extern siphasher=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libsiphasher-36cf79d95e7c288b.rmeta --cap-lints allow - Compiling nix v0.26.2 - Running rustc --crate-name nix --edition=2018 /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/registry/src/github.com-1ecc6299db9ec823/nix-0.26.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto --cfg 'feature="acct"' --cfg 'feature="aio"' --cfg 'feature="default"' --cfg 'feature="dir"' --cfg 'feature="env"' --cfg 'feature="event"' --cfg 'feature="feature"' --cfg 'feature="fs"' --cfg 'feature="hostname"' --cfg 'feature="inotify"' --cfg 'feature="ioctl"' --cfg 'feature="kmod"' --cfg 'feature="memoffset"' --cfg 'feature="mman"' --cfg 'feature="mount"' --cfg 'feature="mqueue"' --cfg 'feature="net"' --cfg 'feature="personality"' --cfg 'feature="pin-utils"' --cfg 'feature="poll"' --cfg 'feature="process"' --cfg 'feature="pthread"' --cfg 'feature="ptrace"' --cfg 'feature="quota"' --cfg 'feature="reboot"' --cfg 'feature="resource"' --cfg 'feature="sched"' --cfg 'feature="signal"' --cfg 'feature="socket"' --cfg 'feature="term"' --cfg 'feature="time"' --cfg 'feature="ucontext"' --cfg 'feature="uio"' --cfg 'feature="user"' --cfg 'feature="zerocopy"' -C metadata=2722793fe78cdba8 -C extra-filename=-2722793fe78cdba8 --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --extern bitflags=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libbitflags-f63ed375a8247fc1.rmeta --extern cfg_if=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libcfg_if-e30bb64288f055a5.rmeta --extern libc=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/liblibc-b67c909beeb06a35.rmeta --extern memoffset=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libmemoffset-ed6a68cc066745ca.rmeta --extern pin_utils=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libpin_utils-21afeaae78b837f7.rmeta --extern static_assertions=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libstatic_assertions-e585bd5f691dbb90.rmeta --cap-lints allow - Compiling papergrid v0.8.2 - Running rustc --crate-name papergrid --edition=2018 /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/registry/src/github.com-1ecc6299db9ec823/papergrid-0.8.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto --cfg 'feature="std"' -C metadata=c9987ae8f991124d -C extra-filename=-c9987ae8f991124d --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --extern bytecount=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libbytecount-0acee41dc88e4e72.rmeta --extern fnv=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libfnv-07150e3bdfd17a92.rmeta --extern unicode_width=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libunicode_width-9116f259e4e998f4.rmeta --cap-lints allow - Compiling tracing-subscriber v0.3.17 - Running rustc --crate-name tracing_subscriber --edition=2018 /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-subscriber-0.3.17/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto --cfg 'feature="alloc"' --cfg 'feature="ansi"' --cfg 'feature="default"' --cfg 'feature="env-filter"' --cfg 'feature="fmt"' --cfg 'feature="matchers"' --cfg 'feature="nu-ansi-term"' --cfg 'feature="once_cell"' --cfg 'feature="regex"' --cfg 'feature="registry"' --cfg 'feature="sharded-slab"' --cfg 'feature="smallvec"' --cfg 'feature="std"' --cfg 'feature="thread_local"' --cfg 'feature="tracing"' --cfg 'feature="tracing-log"' -C metadata=7c9273dde5a33dbf -C extra-filename=-7c9273dde5a33dbf --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --extern matchers=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libmatchers-ee6f50ab11e6bcc1.rmeta --extern nu_ansi_term=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libnu_ansi_term-c73453d09fa402e0.rmeta --extern once_cell=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libonce_cell-4222a1721ff08b9c.rmeta --extern regex=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libregex-c1138367945b7bab.rmeta --extern sharded_slab=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libsharded_slab-931a04761a6a08eb.rmeta --extern smallvec=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libsmallvec-ebc1587b63429e1e.rmeta --extern thread_local=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libthread_local-7de605d2f86a876a.rmeta --extern tracing=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libtracing-5beba820ab0c10d7.rmeta --extern tracing_core=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libtracing_core-5aa6203a60784f10.rmeta --extern tracing_log=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libtracing_log-d0b16f7fc3d8713d.rmeta --cap-lints allow - Compiling seq_geom_parser v0.3.0 (https://github.com/COMBINE-lab/seq_geom_parser?branch=dev#f5f3f9f7) - Running rustc --crate-name seq_geom_parser --edition=2021 /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/git/checkouts/seq_geom_parser-828dba3bab9b7afe/f5f3f9f/src/lib/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=2e4aab5dafc15174 -C extra-filename=-2e4aab5dafc15174 --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --extern anyhow=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libanyhow-caab6b502aba6c94.rmeta --extern pest=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libpest-1241ff5a1307c205.rmeta --extern pest_derive=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libpest_derive-07f390c64e57469f.so --cap-lints allow - Running rustc --crate-name num_integer /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/registry/src/github.com-1ecc6299db9ec823/num-integer-0.1.45/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=b49dccab28c28c7b -C extra-filename=-b49dccab28c28c7b --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --extern num_traits=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libnum_traits-b51f8527a098198c.rmeta --cap-lints allow --cfg has_i128 - Compiling phf_macros v0.11.1 - Running rustc --crate-name phf_macros --edition=2021 /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/registry/src/github.com-1ecc6299db9ec823/phf_macros-0.11.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off -C metadata=9a6d176f935126d3 -C extra-filename=-9a6d176f935126d3 --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --extern phf_generator=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libphf_generator-3a9e807069b2416d.rlib --extern phf_shared=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libphf_shared-e5849a6857dc5a1d.rlib --extern proc_macro2=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libproc_macro2-090712d1aa35a6d6.rlib --extern quote=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libquote-068068936dd8d8a3.rlib --extern syn=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libsyn-ed153e362cdac877.rlib --extern proc_macro --cap-lints allow - Compiling needletail v0.5.1 - Running rustc --crate-name needletail --edition=2021 /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/registry/src/github.com-1ecc6299db9ec823/needletail-0.5.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type cdylib --crate-type rlib --emit=dep-info,link -C opt-level=3 --cfg 'feature="bzip2"' --cfg 'feature="compression"' --cfg 'feature="default"' --cfg 'feature="flate2"' --cfg 'feature="xz2"' -C metadata=896f2ff7feaf0eeb -C extra-filename=-896f2ff7feaf0eeb --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --extern buffer_redux=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libbuffer_redux-fce80a929ba088b3.rlib --extern bytecount=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libbytecount-0acee41dc88e4e72.rlib --extern bzip2=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libbzip2-18797058f7bb73bb.rlib --extern flate2=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libflate2-7d4c45aec80b043c.rlib --extern memchr=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libmemchr-6325122094cc2039.rlib --extern xz2=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libxz2-0b3e73abd6b32ce1.rlib --cap-lints allow -L native=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/build/bzip2-sys-12e3ca26969e3f4d/out/lib -L native=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/build/lzma-sys-505d9198e0987d26/out - Compiling tabled_derive v0.6.0 - Running rustc --crate-name tabled_derive --edition=2018 /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/registry/src/github.com-1ecc6299db9ec823/tabled_derive-0.6.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off -C metadata=d4596a1ad85edb9b -C extra-filename=-d4596a1ad85edb9b --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --extern heck=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libheck-ef45e9ada66517fc.rlib --extern proc_macro_error=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libproc_macro_error-4c8d51c259682028.rlib --extern proc_macro2=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libproc_macro2-090712d1aa35a6d6.rlib --extern quote=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libquote-068068936dd8d8a3.rlib --extern syn=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libsyn-ed153e362cdac877.rlib --extern proc_macro --cap-lints allow - Compiling cmd_lib_macros v1.3.0 - Running rustc --crate-name cmd_lib_macros --edition=2018 /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/registry/src/github.com-1ecc6299db9ec823/cmd_lib_macros-1.3.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off -C metadata=f7f4fca7b9cc4e58 -C extra-filename=-f7f4fca7b9cc4e58 --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --extern proc_macro_error=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libproc_macro_error-4c8d51c259682028.rlib --extern proc_macro2=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libproc_macro2-090712d1aa35a6d6.rlib --extern quote=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libquote-068068936dd8d8a3.rlib --extern syn=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libsyn-ed153e362cdac877.rlib --extern proc_macro --cap-lints allow - Compiling faccess v0.2.4 - Running rustc --crate-name faccess --edition=2018 /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/registry/src/github.com-1ecc6299db9ec823/faccess-0.2.4/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=86362437400bde4c -C extra-filename=-86362437400bde4c --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --extern bitflags=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libbitflags-f63ed375a8247fc1.rmeta --extern libc=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/liblibc-b67c909beeb06a35.rmeta --cap-lints allow - Compiling time v0.1.45 - Running rustc --crate-name time /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/registry/src/github.com-1ecc6299db9ec823/time-0.1.45/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=1c1c70c62a7b1af2 -C extra-filename=-1c1c70c62a7b1af2 --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --extern libc=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/liblibc-b67c909beeb06a35.rmeta --cap-lints allow - Compiling os_pipe v0.9.2 - Running rustc --crate-name os_pipe --edition=2018 /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/registry/src/github.com-1ecc6299db9ec823/os_pipe-0.9.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=66dbc1e8d2e7a189 -C extra-filename=-66dbc1e8d2e7a189 --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --extern libc=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/liblibc-b67c909beeb06a35.rmeta --cap-lints allow - Compiling iana-time-zone v0.1.56 - Running rustc --crate-name iana_time_zone --edition=2018 /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/registry/src/github.com-1ecc6299db9ec823/iana-time-zone-0.1.56/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto --cfg 'feature="fallback"' -C metadata=606472333f754996 -C extra-filename=-606472333f754996 --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --cap-lints allow - Compiling thousands v0.2.0 - Running rustc --crate-name thousands /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/registry/src/github.com-1ecc6299db9ec823/thousands-0.2.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=8ebc164f7888b4bb -C extra-filename=-8ebc164f7888b4bb --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --cap-lints allow - Compiling either v1.8.1 - Running rustc --crate-name either --edition=2018 /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/registry/src/github.com-1ecc6299db9ec823/either-1.8.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto --cfg 'feature="default"' --cfg 'feature="use_std"' -C metadata=a95983fef6555c26 -C extra-filename=-a95983fef6555c26 --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --cap-lints allow - Running rustc --crate-name time_core --edition=2021 /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/registry/src/github.com-1ecc6299db9ec823/time-core-0.1.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=d668f969e457fa46 -C extra-filename=-d668f969e457fa46 --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --cap-lints allow - Compiling time v0.3.21 - Running rustc --crate-name time --edition=2021 /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/registry/src/github.com-1ecc6299db9ec823/time-0.3.21/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto --cfg 'feature="alloc"' --cfg 'feature="default"' --cfg 'feature="formatting"' --cfg 'feature="macros"' --cfg 'feature="parsing"' --cfg 'feature="serde"' --cfg 'feature="serde-human-readable"' --cfg 'feature="std"' -C metadata=5ab5fad82ee181d6 -C extra-filename=-5ab5fad82ee181d6 --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --extern itoa=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libitoa-c812248f2497cf5d.rmeta --extern serde=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libserde-d732564bfe21410f.rmeta --extern time_core=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libtime_core-d668f969e457fa46.rmeta --extern time_macros=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libtime_macros-bbb52bf06b87b22a.so --cap-lints allow - Compiling which v4.4.0 - Running rustc --crate-name which --edition=2018 /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/registry/src/github.com-1ecc6299db9ec823/which-4.4.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=2a48af3c0d85b680 -C extra-filename=-2a48af3c0d85b680 --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --extern either=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libeither-a95983fef6555c26.rmeta --extern libc=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/liblibc-b67c909beeb06a35.rmeta --cap-lints allow - Compiling seq_geom_xform v0.4.0 (https://github.com/COMBINE-lab/seq_geom_xform?branch=dev#445dab71) - Running rustc --crate-name seq_geom_xform --edition=2021 /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/git/checkouts/seq_geom_xform-a23507250fdb4dc9/445dab7/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=b6e07d2e55cd3dcc -C extra-filename=-b6e07d2e55cd3dcc --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --extern anyhow=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libanyhow-caab6b502aba6c94.rmeta --extern clap=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libclap-cf7e573feb26e85c.rmeta --extern needletail=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libneedletail-896f2ff7feaf0eeb.rlib --extern nix=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libnix-2722793fe78cdba8.rmeta --extern regex=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libregex-c1138367945b7bab.rmeta --extern seq_geom_parser=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libseq_geom_parser-2e4aab5dafc15174.rmeta --extern tempfile=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libtempfile-3744176247edafd7.rmeta --extern thousands=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libthousands-8ebc164f7888b4bb.rmeta --extern tracing=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libtracing-5beba820ab0c10d7.rmeta --extern tracing_subscriber=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libtracing_subscriber-7c9273dde5a33dbf.rmeta --cap-lints allow -L native=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/build/bzip2-sys-12e3ca26969e3f4d/out/lib -L native=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/build/lzma-sys-505d9198e0987d26/out - Compiling chrono v0.4.24 - Running rustc --crate-name chrono --edition=2018 /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/registry/src/github.com-1ecc6299db9ec823/chrono-0.4.24/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto --cfg 'feature="clock"' --cfg 'feature="default"' --cfg 'feature="iana-time-zone"' --cfg 'feature="js-sys"' --cfg 'feature="oldtime"' --cfg 'feature="std"' --cfg 'feature="time"' --cfg 'feature="wasm-bindgen"' --cfg 'feature="wasmbind"' --cfg 'feature="winapi"' -C metadata=a7190f141a17e8ac -C extra-filename=-a7190f141a17e8ac --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --extern iana_time_zone=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libiana_time_zone-606472333f754996.rmeta --extern num_integer=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libnum_integer-b49dccab28c28c7b.rmeta --extern num_traits=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libnum_traits-b51f8527a098198c.rmeta --extern time=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libtime-1c1c70c62a7b1af2.rmeta --cap-lints allow - Compiling cmd_lib v1.3.0 - Running rustc --crate-name cmd_lib --edition=2018 /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/registry/src/github.com-1ecc6299db9ec823/cmd_lib-1.3.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=b2db1000401d3615 -C extra-filename=-b2db1000401d3615 --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --extern cmd_lib_macros=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libcmd_lib_macros-f7f4fca7b9cc4e58.so --extern faccess=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libfaccess-86362437400bde4c.rmeta --extern lazy_static=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/liblazy_static-54f40fc0627688f4.rmeta --extern log=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/liblog-029eff22a745bf9a.rmeta --extern os_pipe=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libos_pipe-66dbc1e8d2e7a189.rmeta --cap-lints allow - Compiling tabled v0.11.1 - Running rustc --crate-name tabled --edition=2018 /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/registry/src/github.com-1ecc6299db9ec823/tabled-0.11.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto --cfg 'feature="default"' --cfg 'feature="derive"' --cfg 'feature="macros"' --cfg 'feature="std"' --cfg 'feature="tabled_derive"' -C metadata=e4359bc48b861bc8 -C extra-filename=-e4359bc48b861bc8 --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --extern papergrid=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libpapergrid-c9987ae8f991124d.rmeta --extern tabled_derive=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libtabled_derive-d4596a1ad85edb9b.so --extern unicode_width=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libunicode_width-9116f259e4e998f4.rmeta --cap-lints allow - Compiling phf v0.11.1 - Running rustc --crate-name phf --edition=2021 /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/registry/src/github.com-1ecc6299db9ec823/phf-0.11.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto --cfg 'feature="default"' --cfg 'feature="macros"' --cfg 'feature="phf_macros"' --cfg 'feature="std"' -C metadata=8569b1746874b2df -C extra-filename=-8569b1746874b2df --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --extern phf_macros=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libphf_macros-9a6d176f935126d3.so --extern phf_shared=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libphf_shared-55830bec45f75c14.rmeta --cap-lints allow - Compiling jrsonnet-cli v0.5.0-pre9 - Running rustc --crate-name jrsonnet_cli --edition=2021 /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/registry/src/github.com-1ecc6299db9ec823/jrsonnet-cli-0.5.0-pre9/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=660f0f393deb8909 -C extra-filename=-660f0f393deb8909 --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --extern clap=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libclap-cf7e573feb26e85c.rmeta --extern jrsonnet_evaluator=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libjrsonnet_evaluator-49af99412539f67c.rmeta --extern jrsonnet_gcmodule=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libjrsonnet_gcmodule-52316dd04c19e76e.rmeta --extern jrsonnet_parser=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libjrsonnet_parser-02235bdb3e68d16f.rmeta --extern jrsonnet_stdlib=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libjrsonnet_stdlib-904de553303f4322.rmeta --cap-lints allow - Running rustc --crate-name semver --edition=2018 /opt/conda/conda-bld/simpleaf_1685351446930/work/.cargo/registry/src/github.com-1ecc6299db9ec823/semver-1.0.17/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=c68837e4f494233c -C extra-filename=-c68837e4f494233c --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --cap-lints allow - Compiling simpleaf v0.13.0 (/opt/conda/conda-bld/simpleaf_1685351446930/work) - Running rustc --crate-name simpleaf --edition=2021 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C opt-level=3 -C lto=thin -C metadata=65549e517ca9f4ea -C extra-filename=-65549e517ca9f4ea --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --extern anyhow=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libanyhow-caab6b502aba6c94.rlib --extern chrono=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libchrono-a7190f141a17e8ac.rlib --extern clap=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libclap-cf7e573feb26e85c.rlib --extern cmd_lib=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libcmd_lib-b2db1000401d3615.rlib --extern jrsonnet_cli=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libjrsonnet_cli-660f0f393deb8909.rlib --extern jrsonnet_evaluator=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libjrsonnet_evaluator-49af99412539f67c.rlib --extern jrsonnet_parser=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libjrsonnet_parser-02235bdb3e68d16f.rlib --extern phf=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libphf-8569b1746874b2df.rlib --extern semver=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libsemver-c68837e4f494233c.rlib --extern seq_geom_parser=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libseq_geom_parser-2e4aab5dafc15174.rlib --extern seq_geom_xform=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libseq_geom_xform-b6e07d2e55cd3dcc.rlib --extern serde=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libserde-d732564bfe21410f.rlib --extern serde_json=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libserde_json-6d60fee60c54363d.rlib --extern tabled=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libtabled-e4359bc48b861bc8.rlib --extern thiserror=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libthiserror-cf668e5af5c707b8.rlib --extern time=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libtime-5ab5fad82ee181d6.rlib --extern tracing=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libtracing-5beba820ab0c10d7.rlib --extern tracing_subscriber=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libtracing_subscriber-7c9273dde5a33dbf.rlib --extern which=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libwhich-2a48af3c0d85b680.rlib -L native=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/build/bzip2-sys-12e3ca26969e3f4d/out/lib -L native=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/build/lzma-sys-505d9198e0987d26/out - error[E0432]: unresolved imports jrsonnet_cli::ConfigureState, jrsonnet_cli::GeneralOpts - --> src/utils/jrsonnet_main.rs:6:20 - | - 6 | use jrsonnet_cli::{ConfigureState, GeneralOpts, ManifestOpts, OutputOpts, TraceOpts}; - | ^^^^^^^^^^^^^^ ^^^^^^^^^^^ no GeneralOpts in the root - | | - | no ConfigureState in the root - - error[E0599]: no method named configure found for struct TraceOpts in the current scope - --> src/utils/jrsonnet_main.rs:161:10 - | - 159 | let trace = opts - | _________________- - 160 | | .trace - 161 | | .configure(&s) - | | -^^^^^^^^^ method not found in TraceOpts - | |_________| - | - - error[E0599]: no method named configure found for struct ManifestOpts in the current scope - --> src/utils/jrsonnet_main.rs:183:41 - | - 183 | let manifest_format = opts.manifest.configure(s)?; - | ^^^^^^^^^ method not found in ManifestOpts - - Some errors have detailed explanations: E0432, E0599. - For more information about an error, try rustc --explain E0432. - error: could not compile simpleaf due to 3 previous errors - - Caused by: - process didn't exit successfully: rustc --crate-name simpleaf --edition=2021 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C opt-level=3 -C lto=thin -C metadata=65549e517ca9f4ea -C extra-filename=-65549e517ca9f4ea --out-dir /opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps -C linker=/opt/conda/conda-bld/simpleaf_1685351446930/_build_env/bin/x86_64-conda-linux-gnu-cc -L dependency=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps --extern anyhow=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libanyhow-caab6b502aba6c94.rlib --extern chrono=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libchrono-a7190f141a17e8ac.rlib --extern clap=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libclap-cf7e573feb26e85c.rlib --extern cmd_lib=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libcmd_lib-b2db1000401d3615.rlib --extern jrsonnet_cli=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libjrsonnet_cli-660f0f393deb8909.rlib --extern jrsonnet_evaluator=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libjrsonnet_evaluator-49af99412539f67c.rlib --extern jrsonnet_parser=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libjrsonnet_parser-02235bdb3e68d16f.rlib --extern phf=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libphf-8569b1746874b2df.rlib --extern semver=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libsemver-c68837e4f494233c.rlib --extern seq_geom_parser=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libseq_geom_parser-2e4aab5dafc15174.rlib --extern seq_geom_xform=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libseq_geom_xform-b6e07d2e55cd3dcc.rlib --extern serde=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libserde-d732564bfe21410f.rlib --extern serde_json=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libserde_json-6d60fee60c54363d.rlib --extern tabled=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libtabled-e4359bc48b861bc8.rlib --extern thiserror=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libthiserror-cf668e5af5c707b8.rlib --extern time=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libtime-5ab5fad82ee181d6.rlib --extern tracing=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libtracing-5beba820ab0c10d7.rlib --extern tracing_subscriber=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libtracing_subscriber-7c9273dde5a33dbf.rlib --extern which=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/deps/libwhich-2a48af3c0d85b680.rlib -L native=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/build/bzip2-sys-12e3ca26969e3f4d/out/lib -L native=/opt/conda/conda-bld/simpleaf_1685351446930/work/target/release/build/lzma-sys-505d9198e0987d26/out (exit status: 1) - error: failed to compile simpleaf v0.13.0 (/opt/conda/conda-bld/simpleaf_1685351446930/work), intermediate artifacts can be found at /opt/conda/conda-bld/simpleaf_1685351446930/work/target - Traceback (most recent call last): - File "/opt/conda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/simpleaf_1685351446930/work/conda_build.sh']' returned non-zero exit status 101. -# Last 100 lines of the build log. diff --git a/recipes/simpleaf/build_failure.osx-64.yaml b/recipes/simpleaf/build_failure.osx-64.yaml deleted file mode 100644 index db87de2b20443..0000000000000 --- a/recipes/simpleaf/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: fc9e5f6ccb23b5ce477989885aad22c550fc4997bb62461438f4887faaba8cb4 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - Compiling papergrid v0.8.2 - Running rustc --crate-name papergrid --edition=2018 /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/.cargo/registry/src/github.com-1ecc6299db9ec823/papergrid-0.8.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto --cfg 'feature="std"' -C metadata=1db6cb3ddb430e4e -C extra-filename=-1db6cb3ddb430e4e --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --extern bytecount=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libbytecount-868b87dade1a0fcf.rmeta --extern fnv=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libfnv-ce714d716e87bbb1.rmeta --extern unicode_width=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libunicode_width-9d6c71b14d08b56a.rmeta --cap-lints allow - Running /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/build/semver-c34caa4188444a7c/build-script-build - Compiling nix v0.26.2 - Running rustc --crate-name nix --edition=2018 /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/.cargo/registry/src/github.com-1ecc6299db9ec823/nix-0.26.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto --cfg 'feature="acct"' --cfg 'feature="aio"' --cfg 'feature="default"' --cfg 'feature="dir"' --cfg 'feature="env"' --cfg 'feature="event"' --cfg 'feature="feature"' --cfg 'feature="fs"' --cfg 'feature="hostname"' --cfg 'feature="inotify"' --cfg 'feature="ioctl"' --cfg 'feature="kmod"' --cfg 'feature="memoffset"' --cfg 'feature="mman"' --cfg 'feature="mount"' --cfg 'feature="mqueue"' --cfg 'feature="net"' --cfg 'feature="personality"' --cfg 'feature="pin-utils"' --cfg 'feature="poll"' --cfg 'feature="process"' --cfg 'feature="pthread"' --cfg 'feature="ptrace"' --cfg 'feature="quota"' --cfg 'feature="reboot"' --cfg 'feature="resource"' --cfg 'feature="sched"' --cfg 'feature="signal"' --cfg 'feature="socket"' --cfg 'feature="term"' --cfg 'feature="time"' --cfg 'feature="ucontext"' --cfg 'feature="uio"' --cfg 'feature="user"' --cfg 'feature="zerocopy"' -C metadata=dfc8415d599dc92b -C extra-filename=-dfc8415d599dc92b --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --extern bitflags=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libbitflags-b35bb543d22c0689.rmeta --extern cfg_if=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libcfg_if-7edd500440d32e4e.rmeta --extern libc=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/liblibc-3d718bdb769ad7d7.rmeta --extern memoffset=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libmemoffset-6a33c7855872ce8b.rmeta --extern pin_utils=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libpin_utils-bcb58eaf5026e26e.rmeta --extern static_assertions=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libstatic_assertions-9662bcb71d6e1757.rmeta --cap-lints allow - Compiling time-macros v0.2.9 - Running rustc --crate-name time_macros --edition=2021 /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/.cargo/registry/src/github.com-1ecc6299db9ec823/time-macros-0.2.9/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="formatting"' --cfg 'feature="parsing"' --cfg 'feature="serde"' -C metadata=47212a2dabf9c651 -C extra-filename=-47212a2dabf9c651 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --extern time_core=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libtime_core-df0666df9bdd2840.rlib --extern proc_macro --cap-lints allow - Compiling iana-time-zone v0.1.56 - Running rustc --crate-name iana_time_zone --edition=2018 /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/.cargo/registry/src/github.com-1ecc6299db9ec823/iana-time-zone-0.1.56/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto --cfg 'feature="fallback"' -C metadata=8f91552d2d9f513d -C extra-filename=-8f91552d2d9f513d --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --extern core_foundation_sys=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libcore_foundation_sys-725c7c566a525751.rmeta --cap-lints allow - Compiling phf_macros v0.11.1 - Running rustc --crate-name phf_macros --edition=2021 /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/.cargo/registry/src/github.com-1ecc6299db9ec823/phf_macros-0.11.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off -C metadata=dd593841c499c4e8 -C extra-filename=-dd593841c499c4e8 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --extern phf_generator=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libphf_generator-475948d72bcff59e.rlib --extern phf_shared=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libphf_shared-4f2653f829fdeb7f.rlib --extern proc_macro2=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libproc_macro2-93b69be28cdcbdcc.rlib --extern quote=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libquote-18c15777a4069f56.rlib --extern syn=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libsyn-8d51e3da2ab7ab42.rlib --extern proc_macro --cap-lints allow - Compiling needletail v0.5.1 - Running rustc --crate-name needletail --edition=2021 /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/.cargo/registry/src/github.com-1ecc6299db9ec823/needletail-0.5.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type cdylib --crate-type rlib --emit=dep-info,link -C opt-level=3 --cfg 'feature="bzip2"' --cfg 'feature="compression"' --cfg 'feature="default"' --cfg 'feature="flate2"' --cfg 'feature="xz2"' -C metadata=ea9623fd2e390f62 -C extra-filename=-ea9623fd2e390f62 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --extern buffer_redux=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libbuffer_redux-4871f2f6d832d8ca.rlib --extern bytecount=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libbytecount-868b87dade1a0fcf.rlib --extern bzip2=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libbzip2-5b7c3214c5add5d9.rlib --extern flate2=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libflate2-38b1718354e1e35b.rlib --extern memchr=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libmemchr-ae1e20517f079a90.rlib --extern xz2=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libxz2-8eddd196638bc94b.rlib --cap-lints allow -L native=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/build/bzip2-sys-8b21c5785fa8f903/out/lib -L native=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/build/lzma-sys-6bdcec93cfc8c508/out - Compiling seq_geom_parser v0.3.0 (https://github.com/COMBINE-lab/seq_geom_parser?branch=dev#f5f3f9f7) - Running rustc --crate-name seq_geom_parser --edition=2021 /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/.cargo/git/checkouts/seq_geom_parser-828dba3bab9b7afe/f5f3f9f/src/lib/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=0442010df99b3d87 -C extra-filename=-0442010df99b3d87 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --extern anyhow=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libanyhow-b80a85593aeefba3.rmeta --extern pest=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libpest-098946f0754789db.rmeta --extern pest_derive=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libpest_derive-6dac551992e03b48.dylib --cap-lints allow - Running rustc --crate-name num_traits /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/.cargo/registry/src/github.com-1ecc6299db9ec823/num-traits-0.2.15/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=a300c41cddd17c36 -C extra-filename=-a300c41cddd17c36 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --cap-lints allow --cfg has_i128 --cfg has_to_int_unchecked --cfg has_reverse_bits --cfg has_leading_trailing_ones --cfg has_int_assignop_ref --cfg has_div_euclid - Compiling tabled_derive v0.6.0 - Running rustc --crate-name tabled_derive --edition=2018 /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/.cargo/registry/src/github.com-1ecc6299db9ec823/tabled_derive-0.6.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off -C metadata=3d54dca5e6a7f001 -C extra-filename=-3d54dca5e6a7f001 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --extern heck=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libheck-6ab390209e8badea.rlib --extern proc_macro_error=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libproc_macro_error-c6c0c2a6878bed17.rlib --extern proc_macro2=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libproc_macro2-93b69be28cdcbdcc.rlib --extern quote=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libquote-18c15777a4069f56.rlib --extern syn=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libsyn-8d51e3da2ab7ab42.rlib --extern proc_macro --cap-lints allow - Compiling cmd_lib_macros v1.3.0 - Running rustc --crate-name cmd_lib_macros --edition=2018 /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/.cargo/registry/src/github.com-1ecc6299db9ec823/cmd_lib_macros-1.3.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off -C metadata=ab47f886b740473e -C extra-filename=-ab47f886b740473e --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --extern proc_macro_error=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libproc_macro_error-c6c0c2a6878bed17.rlib --extern proc_macro2=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libproc_macro2-93b69be28cdcbdcc.rlib --extern quote=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libquote-18c15777a4069f56.rlib --extern syn=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libsyn-8d51e3da2ab7ab42.rlib --extern proc_macro --cap-lints allow - Compiling faccess v0.2.4 - Running rustc --crate-name faccess --edition=2018 /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/.cargo/registry/src/github.com-1ecc6299db9ec823/faccess-0.2.4/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=ecfb70f7f62e22e9 -C extra-filename=-ecfb70f7f62e22e9 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --extern bitflags=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libbitflags-b35bb543d22c0689.rmeta --extern libc=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/liblibc-3d718bdb769ad7d7.rmeta --cap-lints allow - Compiling time v0.1.45 - Running rustc --crate-name time /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/.cargo/registry/src/github.com-1ecc6299db9ec823/time-0.1.45/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=cbbf3f3cd7914776 -C extra-filename=-cbbf3f3cd7914776 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --extern libc=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/liblibc-3d718bdb769ad7d7.rmeta --cap-lints allow - Compiling os_pipe v0.9.2 - Running rustc --crate-name os_pipe --edition=2018 /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/.cargo/registry/src/github.com-1ecc6299db9ec823/os_pipe-0.9.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=22d69789ea35ef32 -C extra-filename=-22d69789ea35ef32 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --extern libc=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/liblibc-3d718bdb769ad7d7.rmeta --cap-lints allow - Compiling either v1.8.1 - Running rustc --crate-name either --edition=2018 /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/.cargo/registry/src/github.com-1ecc6299db9ec823/either-1.8.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto --cfg 'feature="default"' --cfg 'feature="use_std"' -C metadata=e37cf1d8e72e00cc -C extra-filename=-e37cf1d8e72e00cc --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --cap-lints allow - Running rustc --crate-name time_core --edition=2021 /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/.cargo/registry/src/github.com-1ecc6299db9ec823/time-core-0.1.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=d34914af90726fc1 -C extra-filename=-d34914af90726fc1 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --cap-lints allow - Compiling thousands v0.2.0 - Running rustc --crate-name thousands /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/.cargo/registry/src/github.com-1ecc6299db9ec823/thousands-0.2.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=37a716a6121926f0 -C extra-filename=-37a716a6121926f0 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --cap-lints allow - Compiling cmd_lib v1.3.0 - Running rustc --crate-name cmd_lib --edition=2018 /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/.cargo/registry/src/github.com-1ecc6299db9ec823/cmd_lib-1.3.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=26a436b681489884 -C extra-filename=-26a436b681489884 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --extern cmd_lib_macros=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libcmd_lib_macros-ab47f886b740473e.dylib --extern faccess=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libfaccess-ecfb70f7f62e22e9.rmeta --extern lazy_static=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/liblazy_static-2e34461a10f4f31f.rmeta --extern log=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/liblog-ffca4fb4a2bcd336.rmeta --extern os_pipe=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libos_pipe-22d69789ea35ef32.rmeta --cap-lints allow - Compiling seq_geom_xform v0.4.0 (https://github.com/COMBINE-lab/seq_geom_xform?branch=dev#445dab71) - Running rustc --crate-name seq_geom_xform --edition=2021 /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/.cargo/git/checkouts/seq_geom_xform-a23507250fdb4dc9/445dab7/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=292205e0d7a67fe5 -C extra-filename=-292205e0d7a67fe5 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --extern anyhow=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libanyhow-b80a85593aeefba3.rmeta --extern clap=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libclap-7b87bbb20cad8991.rmeta --extern needletail=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libneedletail-ea9623fd2e390f62.rlib --extern nix=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libnix-dfc8415d599dc92b.rmeta --extern regex=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libregex-ccdc79f6417f08f9.rmeta --extern seq_geom_parser=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libseq_geom_parser-0442010df99b3d87.rmeta --extern tempfile=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libtempfile-f2cafef9d6167f98.rmeta --extern thousands=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libthousands-37a716a6121926f0.rmeta --extern tracing=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libtracing-0937b9a2e770b9e1.rmeta --extern tracing_subscriber=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libtracing_subscriber-b0ab2a6d342d7b41.rmeta --cap-lints allow -L native=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/build/bzip2-sys-8b21c5785fa8f903/out/lib -L native=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/build/lzma-sys-6bdcec93cfc8c508/out - Compiling time v0.3.21 - Running rustc --crate-name time --edition=2021 /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/.cargo/registry/src/github.com-1ecc6299db9ec823/time-0.3.21/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto --cfg 'feature="alloc"' --cfg 'feature="default"' --cfg 'feature="formatting"' --cfg 'feature="macros"' --cfg 'feature="parsing"' --cfg 'feature="serde"' --cfg 'feature="serde-human-readable"' --cfg 'feature="std"' -C metadata=7636379577217ab2 -C extra-filename=-7636379577217ab2 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --extern itoa=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libitoa-3bf9d1c21ff1a952.rmeta --extern serde=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libserde-5f6319e482099067.rmeta --extern time_core=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libtime_core-d34914af90726fc1.rmeta --extern time_macros=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libtime_macros-47212a2dabf9c651.dylib --cap-lints allow - Compiling which v4.4.0 - Running rustc --crate-name which --edition=2018 /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/.cargo/registry/src/github.com-1ecc6299db9ec823/which-4.4.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=8a64c9b7068b2b06 -C extra-filename=-8a64c9b7068b2b06 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --extern either=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libeither-e37cf1d8e72e00cc.rmeta --extern libc=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/liblibc-3d718bdb769ad7d7.rmeta --cap-lints allow - Compiling chrono v0.4.25 - Running rustc --crate-name chrono --edition=2018 /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/.cargo/registry/src/github.com-1ecc6299db9ec823/chrono-0.4.25/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto --cfg 'feature="clock"' --cfg 'feature="default"' --cfg 'feature="iana-time-zone"' --cfg 'feature="js-sys"' --cfg 'feature="oldtime"' --cfg 'feature="std"' --cfg 'feature="time"' --cfg 'feature="wasm-bindgen"' --cfg 'feature="wasmbind"' --cfg 'feature="winapi"' -C metadata=ae3f18f5c69ac662 -C extra-filename=-ae3f18f5c69ac662 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --extern iana_time_zone=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libiana_time_zone-8f91552d2d9f513d.rmeta --extern num_traits=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libnum_traits-a300c41cddd17c36.rmeta --extern time=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libtime-cbbf3f3cd7914776.rmeta --cap-lints allow - Compiling tabled v0.11.1 - Running rustc --crate-name tabled --edition=2018 /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/.cargo/registry/src/github.com-1ecc6299db9ec823/tabled-0.11.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto --cfg 'feature="default"' --cfg 'feature="derive"' --cfg 'feature="macros"' --cfg 'feature="std"' --cfg 'feature="tabled_derive"' -C metadata=c64648fb465a3b7d -C extra-filename=-c64648fb465a3b7d --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --extern papergrid=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libpapergrid-1db6cb3ddb430e4e.rmeta --extern tabled_derive=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libtabled_derive-3d54dca5e6a7f001.dylib --extern unicode_width=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libunicode_width-9d6c71b14d08b56a.rmeta --cap-lints allow - Compiling phf v0.11.1 - Running rustc --crate-name phf --edition=2021 /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/.cargo/registry/src/github.com-1ecc6299db9ec823/phf-0.11.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto --cfg 'feature="default"' --cfg 'feature="macros"' --cfg 'feature="phf_macros"' --cfg 'feature="std"' -C metadata=f6ad2ab91360c1a1 -C extra-filename=-f6ad2ab91360c1a1 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --extern phf_macros=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libphf_macros-dd593841c499c4e8.dylib --extern phf_shared=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libphf_shared-9b998f23dfda90f3.rmeta --cap-lints allow - Running rustc --crate-name semver --edition=2018 /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/.cargo/registry/src/github.com-1ecc6299db9ec823/semver-1.0.17/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=7b10fb415045608d -C extra-filename=-7b10fb415045608d --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --cap-lints allow - Compiling jrsonnet-cli v0.5.0-pre9 - Running rustc --crate-name jrsonnet_cli --edition=2021 /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/.cargo/registry/src/github.com-1ecc6299db9ec823/jrsonnet-cli-0.5.0-pre9/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=8d3a3707c491228e -C extra-filename=-8d3a3707c491228e --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --extern clap=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libclap-7b87bbb20cad8991.rmeta --extern jrsonnet_evaluator=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libjrsonnet_evaluator-c5ca3e38034fc7b6.rmeta --extern jrsonnet_gcmodule=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libjrsonnet_gcmodule-0d88eb7299710fda.rmeta --extern jrsonnet_parser=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libjrsonnet_parser-fa112be4891722c4.rmeta --extern jrsonnet_stdlib=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libjrsonnet_stdlib-ab37d97aaf0698e3.rmeta --cap-lints allow - Compiling simpleaf v0.13.0 (/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work) - Running rustc --crate-name simpleaf --edition=2021 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C opt-level=3 -C lto=thin -C metadata=5b70b728e9be5cb2 -C extra-filename=-5b70b728e9be5cb2 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --extern anyhow=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libanyhow-b80a85593aeefba3.rlib --extern chrono=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libchrono-ae3f18f5c69ac662.rlib --extern clap=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libclap-7b87bbb20cad8991.rlib --extern cmd_lib=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libcmd_lib-26a436b681489884.rlib --extern jrsonnet_cli=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libjrsonnet_cli-8d3a3707c491228e.rlib --extern jrsonnet_evaluator=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libjrsonnet_evaluator-c5ca3e38034fc7b6.rlib --extern jrsonnet_parser=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libjrsonnet_parser-fa112be4891722c4.rlib --extern phf=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libphf-f6ad2ab91360c1a1.rlib --extern semver=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libsemver-7b10fb415045608d.rlib --extern seq_geom_parser=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libseq_geom_parser-0442010df99b3d87.rlib --extern seq_geom_xform=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libseq_geom_xform-292205e0d7a67fe5.rlib --extern serde=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libserde-5f6319e482099067.rlib --extern serde_json=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libserde_json-290368b682119d88.rlib --extern tabled=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libtabled-c64648fb465a3b7d.rlib --extern thiserror=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libthiserror-0ef86794fbf15b6d.rlib --extern time=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libtime-7636379577217ab2.rlib --extern tracing=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libtracing-0937b9a2e770b9e1.rlib --extern tracing_subscriber=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libtracing_subscriber-b0ab2a6d342d7b41.rlib --extern which=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libwhich-8a64c9b7068b2b06.rlib -L native=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/build/bzip2-sys-8b21c5785fa8f903/out/lib -L native=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/build/lzma-sys-6bdcec93cfc8c508/out - error[E0432]: unresolved imports jrsonnet_cli::ConfigureState, jrsonnet_cli::GeneralOpts - --> src/utils/jrsonnet_main.rs:6:20 - | - 6 | use jrsonnet_cli::{ConfigureState, GeneralOpts, ManifestOpts, OutputOpts, TraceOpts}; - | ^^^^^^^^^^^^^^ ^^^^^^^^^^^ no GeneralOpts in the root - | | - | no ConfigureState in the root - - error[E0599]: no method named configure found for struct TraceOpts in the current scope - --> src/utils/jrsonnet_main.rs:161:10 - | - 159 | let trace = opts - | _________________- - 160 | | .trace - 161 | | .configure(&s) - | | -^^^^^^^^^ method not found in TraceOpts - | |_________| - | - - error[E0599]: no method named configure found for struct ManifestOpts in the current scope - --> src/utils/jrsonnet_main.rs:183:41 - | - 183 | let manifest_format = opts.manifest.configure(s)?; - | ^^^^^^^^^ method not found in ManifestOpts - - Some errors have detailed explanations: E0432, E0599. - For more information about an error, try rustc --explain E0432. - error: could not compile simpleaf due to 3 previous errors - - Caused by: - process didn't exit successfully: rustc --crate-name simpleaf --edition=2021 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C opt-level=3 -C lto=thin -C metadata=5b70b728e9be5cb2 -C extra-filename=-5b70b728e9be5cb2 --out-dir /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps -L dependency=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps --extern anyhow=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libanyhow-b80a85593aeefba3.rlib --extern chrono=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libchrono-ae3f18f5c69ac662.rlib --extern clap=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libclap-7b87bbb20cad8991.rlib --extern cmd_lib=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libcmd_lib-26a436b681489884.rlib --extern jrsonnet_cli=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libjrsonnet_cli-8d3a3707c491228e.rlib --extern jrsonnet_evaluator=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libjrsonnet_evaluator-c5ca3e38034fc7b6.rlib --extern jrsonnet_parser=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libjrsonnet_parser-fa112be4891722c4.rlib --extern phf=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libphf-f6ad2ab91360c1a1.rlib --extern semver=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libsemver-7b10fb415045608d.rlib --extern seq_geom_parser=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libseq_geom_parser-0442010df99b3d87.rlib --extern seq_geom_xform=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libseq_geom_xform-292205e0d7a67fe5.rlib --extern serde=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libserde-5f6319e482099067.rlib --extern serde_json=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libserde_json-290368b682119d88.rlib --extern tabled=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libtabled-c64648fb465a3b7d.rlib --extern thiserror=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libthiserror-0ef86794fbf15b6d.rlib --extern time=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libtime-7636379577217ab2.rlib --extern tracing=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libtracing-0937b9a2e770b9e1.rlib --extern tracing_subscriber=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libtracing_subscriber-b0ab2a6d342d7b41.rlib --extern which=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/deps/libwhich-8a64c9b7068b2b06.rlib -L native=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/build/bzip2-sys-8b21c5785fa8f903/out/lib -L native=/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target/release/build/lzma-sys-6bdcec93cfc8c508/out (exit status: 1) - error: failed to compile simpleaf v0.13.0 (/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work), intermediate artifacts can be found at /opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/target - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/simpleaf_1685357442631/work/conda_build.sh']' returned non-zero exit status 101. -# Last 100 lines of the build log. diff --git a/recipes/simpleaf/meta.yaml b/recipes/simpleaf/meta.yaml index 689fa08030ddc..d482387fd8ef6 100644 --- a/recipes/simpleaf/meta.yaml +++ b/recipes/simpleaf/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.15.1" %} +{% set version = "0.17.2" %} package: name: simpleaf @@ -8,23 +8,23 @@ build: number: 0 run_exports: - {{ pin_subpackage("simpleaf", max_pin="x.x") }} -# script: cargo install --path . --root ${PREFIX} source: url: https://github.com/COMBINE-lab/simpleaf/archive/v{{ version }}.tar.gz - sha256: 888ebb199a27ef4f009fa890fce221da3ed8b08420269faee3169e48d754932a + sha256: b6801cab11e8712b920b3d37fd838487c1dc25e41b933761dfe749030ed4cd33 requirements: build: - - rust >=1.73 - autoconf - make - {{ compiler('cxx') }} + - {{ compiler('rust') }} - pkg-config host: run: - - alevin-fry >=0.8.1 + - alevin-fry >=0.8.2 - salmon >=1.10.1 + - piscem >=0.9.0 # [not osx-arm64] test: commands: @@ -35,3 +35,7 @@ about: license: BSD 3-Clause license_file: LICENSE summary: A rust framework to make using alevin-fry even simpler. + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/sincei/meta.yaml b/recipes/sincei/meta.yaml new file mode 100644 index 0000000000000..1c8dce08e2904 --- /dev/null +++ b/recipes/sincei/meta.yaml @@ -0,0 +1,57 @@ +{% set name = "sincei" %} +{% set version = "0.4" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + sha256: 04d60233a9cfadc32601b5ef79b872bc6e08c51bd6909e62a22a9b37ecabd213 + +build: + number: 1 + noarch: python + entry_points: + - sincei = sincei.sincei:main + script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv" + run_exports: + - {{ pin_subpackage("sincei", max_pin="x.x") }} + +requirements: + host: + - python >=3.8 + - pip + - hatchling + run: + - python >=3.8 + - umap-learn + - pandas + - deeptools + - scanpy + - anndata + - loompy + - gensim + - networkx + - leidenalg + - python-igraph + - session-info + - pytorch + - importlib-metadata + +test: + imports: + - sincei + commands: + - sincei -h + +about: + home: https://github.com/bhardwaj-lab/sincei + license: MIT + license_file: LICENCE.txt + summary: A user-friendly toolkit for QC, counting, clustering and plotting of single-cell (epi)genomics data. + +extra: + identifiers: + - biotools:sincei + - doi:10.5281/zenodo.8105536 diff --git a/recipes/singlem/meta.yaml b/recipes/singlem/meta.yaml index 009d1a627814f..122cb94531495 100644 --- a/recipes/singlem/meta.yaml +++ b/recipes/singlem/meta.yaml @@ -1,5 +1,5 @@ {% set name = "singlem" %} -{% set version = "0.16.0" %} +{% set version = "0.18.3" %} package: name: {{ name|lower }} @@ -7,65 +7,64 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 64e43a6a40795d68ff5aed7dfff9a94532b862f25a28c27de7d588d64a8c7f79 + sha256: 2265476582ce418961072ee0eaaa70db60a888fdcda18c72828f6d0bf55530e8 build: number: 0 noarch: python - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" run_exports: - - {{ pin_subpackage('singlem', max_pin="x") }} + - {{ pin_subpackage('singlem', max_pin="x.x") }} requirements: host: - pip - - python >=3.6 + - python >=3.7 - nose >=1.0 run: - python >=3.7 - diamond >=2.1.7 - - biopython - - hmmer - - orfm - - mfqe - - extern - - graftm >=0.14.0 - - krona - - pplacer - - sra-tools - - ncbi-ngs-sdk - - sqlite - - squarify + - biopython =1.84 + - hmmer =3.2.1 + - orfm =1.3 + - mfqe =0.5.* + - extern =0.4.* + - graftm =0.15.* + - krona =2.8.* + - pplacer =1.1.alpha19 + - sra-tools =3.1.* + - ncbi-ngs-sdk =3.0.* + - sqlite =3.46.* + - squarify =0.4.* - mafft - - seqmagick - - expressbetadiversity - - cd-hit - - fasttree - - fastalite - - jinja2 - - pip - - sqlalchemy - - pandas - - bird_tool_utils_python >=0.4.1 - - zenodo_backpack - - smafa >=0.7.0 - - pyranges + - seqmagick =0.8.* + - expressbetadiversity =1.0.* + - cd-hit =4.8.* + - fasttree =2.1.* + - fastalite =0.4.* + - jinja2 =3.1.* + - sqlalchemy =2.0.* + - pandas =2.2.* + - bird_tool_utils_python >=0.4.1,<0.5.0 + - zenodo_backpack >=0.3.1,<0.4.0 + - smafa =0.8.* + - pyranges =0.1.* - polars >=0.19.3 - - prodigal - - tqdm - - pyarrow + - prodigal =2.6.* + - tqdm =4.66.* + - pyarrow =16.1.* test: imports: - singlem - requires: - - nose >=1.0 commands: - singlem -h about: - home: https://github.com/wwood/singlem - license: GNU General Public v3 (GPLv3) - license_family: GPL3 - license_file: LICENCE.txt - summary: 'SingleM is a tool to find the abundances of discrete operational taxonomic units (OTUs) directly from shotgun metagenome data, without heavy reliance on reference sequence databases. It is able to differentiate closely related species even if those species are from lineages new to science.' + home: "https://github.com/wwood/singlem" + license: "GPL-3.0-or-later" + license_family: "GPL3" + license_file: "LICENCE.txt" + summary: 'SingleM is a tool for profiling shotgun metagenomes. It has a particular strength in detecting microbial lineages which are not in reference databases. The method it uses also makes it suitable for some related tasks, such as assessing eukaryotic contamination, finding bias in genome recovery, and lineage-targeted MAG recovery.' + dev_url: "https://github.com/wwood/singlem" + doc_url: "https://wwood.github.io/singlem/" diff --git a/recipes/sinto/meta.yaml b/recipes/sinto/meta.yaml index 7df48cbf2765f..786a7991d620b 100644 --- a/recipes/sinto/meta.yaml +++ b/recipes/sinto/meta.yaml @@ -1,5 +1,5 @@ {% set name = "sinto" %} -{% set version = "0.10.0" %} +{% set version = "0.10.1" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: b341eb6be1391e71aa57dc204f9865c798c1b345d78f63dcccaf45d3d3455345 + sha256: ac54280a62db55d139635cf96a2a36e40857282f660a67c1ce5d4a31115beae7 build: number: 0 diff --git a/recipes/sipros/LICENSE b/recipes/sipros/LICENSE new file mode 100644 index 0000000000000..d14aff8022d93 --- /dev/null +++ b/recipes/sipros/LICENSE @@ -0,0 +1,24 @@ +MIT License + +Copyright (c) 2023 Phase Technician XYZ + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +Code written for the MSToolkit uses the Apache License, Version 2.0. All 3rd +party software included in the MSToolkit library retains its original license. \ No newline at end of file diff --git a/recipes/sipros/Raxport.sh b/recipes/sipros/Raxport.sh new file mode 100644 index 0000000000000..958980acb6e9d --- /dev/null +++ b/recipes/sipros/Raxport.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done +DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" +mono "$DIR/Raxport.exe" "$@" diff --git a/recipes/sipros/build.sh b/recipes/sipros/build.sh new file mode 100644 index 0000000000000..e47019df5ce18 --- /dev/null +++ b/recipes/sipros/build.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +set -e + +mkdir -p "$PREFIX/bin" +chmod u+x bin/* +cp -r bin/* "$PREFIX/bin" + +cp -r EnsembleScripts "$PREFIX" + +cp -r V4Scripts "$PREFIX" + +cp -r configTemplates "$PREFIX" + +for script in sipros_prepare_protein_database.py sipros_psm_tabulating.py sipros_ensemble_filtering.py sipros_peptides_assembling.py; do + baseName=$(basename $script .py) + sed -i '1i#!/usr/bin/env python\n' "$PREFIX/EnsembleScripts/$script" + ln -s "$PREFIX/EnsembleScripts/$script" "$PREFIX/bin/EnsembleScripts_$baseName" +done + +for script in sipros_peptides_filtering.py sipros_peptides_assembling.py ClusterSip.py; do + baseName=$(basename $script .py) + sed -i '1i#!/usr/bin/env python\n' "$PREFIX/V4Scripts/$script" + ln -s "$PREFIX/V4Scripts/$script" "$PREFIX/bin/V4Scripts_$baseName" +done + +for script in refineProteinFDR.R getSpectraCountInEachFT.R makeDBforLabelSearch.R getLabelPCTinEachFT.R; do + baseName=$(basename $script .R) + sed -i '1i#!/usr/bin/env Rscript\n' "$PREFIX/V4Scripts/$script" + ln -s "$PREFIX/V4Scripts/$script" "$PREFIX/bin/V4Scripts_$baseName" +done + +cp "$RECIPE_DIR"/Raxport.sh "$PREFIX/bin/Raxport" +cp "$RECIPE_DIR"/copyConfigTemplate.sh "$PREFIX/bin/copyConfigTemplate" +chmod u+x $PREFIX/bin/* \ No newline at end of file diff --git a/recipes/sipros/copyConfigTemplate.sh b/recipes/sipros/copyConfigTemplate.sh new file mode 100755 index 0000000000000..6231dd1530584 --- /dev/null +++ b/recipes/sipros/copyConfigTemplate.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +if [ -z "$2" ]; then + OUTPUT_PATH="." +else + OUTPUT_PATH=$2 +fi + +if [ -z "$CONDA_PREFIX" ]; then + echo "Error: CONDA_PREFIX is not set. Are you running this in a Conda environment?" + exit 1 +fi + +TEMPLATE_DIR="$CONDA_PREFIX/configTemplates" + +if [ "$1" == "-Regular" ]; then + TEMPLATE="$TEMPLATE_DIR/SiprosEnsembleConfig.cfg" +elif [ "$1" == "-SIP" ]; then + TEMPLATE="$TEMPLATE_DIR/SiprosV4Config.cfg" +else + echo "Usage: copyConfigTemplate {-Regular|-SIP} " + exit 1 +fi + +if [ ! -f "$TEMPLATE" ]; then + echo "Error: Template file $TEMPLATE not found" + exit 1 +fi + +cp -v "$TEMPLATE" "$OUTPUT_PATH" \ No newline at end of file diff --git a/recipes/sipros/meta.yaml b/recipes/sipros/meta.yaml new file mode 100644 index 0000000000000..59ad6e7f6aa78 --- /dev/null +++ b/recipes/sipros/meta.yaml @@ -0,0 +1,57 @@ +{% set name = "sipros" %} +{% set version = "4.01" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/thepanlab/Sipros4/releases/download/{{ version }}/siprosRelease.zip + sha256: 10030671b94a8a2ab354396178f35c30a8e8e0c633864533690c1ff285906c9c + +build: + noarch: generic + number: 0 + skip: False + run_exports: + - {{ pin_subpackage('sipros', max_pin="x") }} + +requirements: + run: + - bioconductor-biostrings + - mono + - numpy =1.16 + - python =2.7 + - r-base + - r-stringr + - r-tidyr + - scikit-learn =0.20.3 + +test: + commands: + - configGenerator -h + - SiprosEnsembleOMP --help + - SiprosV4OMP --help + - Raxport -h + - EnsembleScripts_sipros_psm_tabulating -v + - V4Scripts_sipros_peptides_filtering -v + - V4Scripts_getSpectraCountInEachFT -help + - V4Scripts_refineProteinFDR -help + - copyConfigTemplate -SIP + +about: + home: https://github.com/thepanlab/Sipros4 + license: MIT + # currently include in the recipe folder because from the release (https://github.com/thepanlab/Sipros4/issues/3) + license_file: LICENSE + summary: "Tools for stable isotopic mass spectrometry-based metaproteomics" + description: | + "Tools for stable isotopic mass spectrometry-based metaproteomics research developed by Sipros team. These include Raxport, SiprosV4, SiprosEnsemble and some python / R scripts." + +extra: + recipe-maintainers: + - bernt-matthias + - yi-xiong + identifiers: + - biotools:sipros + - doi:10.1186/s40168-024-01866-1 \ No newline at end of file diff --git a/recipes/sirius-csifingerid/meta.yaml b/recipes/sirius-csifingerid/meta.yaml index ef47cac572991..818c2dd93a169 100644 --- a/recipes/sirius-csifingerid/meta.yaml +++ b/recipes/sirius-csifingerid/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "5.8.5" %} +{% set version = "5.8.6" %} {% set siriusDistDir = "sirius_gui_dist" %} package: @@ -15,7 +15,7 @@ build: source: - url: https://github.com/boecker-lab/sirius/archive/refs/tags/v{{ version }}.zip - sha256: 72bf7762f143740c6f2be06a268149e85787c97064586791348b8a27f9e9f5c8 + sha256: f769a474140d6e28168d6d1526afc9e923e66eaeb0ace400e6c2ae77aa7f9202 requirements: build: diff --git a/recipes/sistr_cmd/build.sh b/recipes/sistr_cmd/build.sh new file mode 100644 index 0000000000000..27efb5e5b1c08 --- /dev/null +++ b/recipes/sistr_cmd/build.sh @@ -0,0 +1,3 @@ +#!/bin/bash +python -m pip install . --no-deps --no-build-isolation --ignore-installed --no-cache-dir -vvv +${PREFIX}/bin/sistr_init diff --git a/recipes/sistr_cmd/meta.yaml b/recipes/sistr_cmd/meta.yaml index b87ccfaeab3f3..ed0a38044b262 100644 --- a/recipes/sistr_cmd/meta.yaml +++ b/recipes/sistr_cmd/meta.yaml @@ -1,33 +1,44 @@ {% set name = "sistr_cmd" %} -{% set version = "1.1.1" %} +{% set version = "1.1.2" %} package: name: "{{ name|lower }}" version: "{{ version }}" source: - url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: bf6f076b2bf4b7df78ff86bc905f11f19f982bddc812effb1ae373de86d4ae6f + url: https://github.com/phac-nml/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: 5acffbaeb345bb6bdea4fae3317e651c254b114b37762eeb284c5bfa928329a2 + build: + number: 1 noarch: python - number: 3 - script: "{{ PYTHON }} -m pip install . --no-deps -vv" + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + entry_points: + - sistr=sistr.sistr_cmd:main + - sistr_init=sistr.sistr_cmd:setup_sistr_dbs requirements: host: - - python + - python >=3.4 - pip + - setuptools ==58.2.0 + - pandas >=0.22,<3 + - pycurl + - scipy >=1.1.0,<2 + - pytables >=3.3.0 + - numpy run: - - python - - numpy >=1.11.1,<1.23.5 - - pandas >=0.18.1,<=1.0.5 + - python >=3.4 + - {{ pin_compatible('numpy', max_pin="x") }} + - pandas >=0.22,<3 - pytables >=3.3.0 - - pycurl >=7.43.0,<8 - - scipy >=1.1.0,<2 - - blast + - {{ pin_compatible('scipy', max_pin="x.x") }} + - {{ pin_compatible('pycurl') }} + - blast >=2.9.0 - mafft - - mash + - mash >=2.0 - python-dateutil test: @@ -36,8 +47,15 @@ test: - sistr -V about: - home: https://github.com/peterk87/sistr_cmd/ + home: https://github.com/phac-nml/sistr_cmd/ license: Apache-2.0 license_family: APACHE license_file: LICENSE - summary: "Salmonella In Silico Typing Resource (SISTR) commandline tool for serovar prediction" \ No newline at end of file + summary: "Salmonella In Silico Typing Resource (SISTR) commandline tool for serovar prediction" + dev_url: https://github.com/phac-nml/sistr_cmd + +extra: + identifiers: + - usegalaxy-eu:sistr_cmd + - doi:10.1371/journal.pone.0147101 + - biotools:SISTR diff --git a/recipes/sizemeup/build.sh b/recipes/sizemeup/build.sh new file mode 100644 index 0000000000000..98412cd73fb29 --- /dev/null +++ b/recipes/sizemeup/build.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +mkdir -p $PREFIX/bin ${PREFIX}/share/sizemeup + +# Install sizemup library +$PYTHON -m pip install --no-deps --ignore-installed -vv . + +# move main executable, and replace with wrapper +chmod 755 bin/sizemeup-bioconda +mv $PREFIX/bin/sizemeup $PREFIX/bin/sizemeup-main +cp -f bin/sizemeup-bioconda $PREFIX/bin/sizemeup + +# Copy genome size database (~100kb) +cp -f data/sizemeup-sizes.txt ${PREFIX}/share/sizemeup diff --git a/recipes/sizemeup/meta.yaml b/recipes/sizemeup/meta.yaml new file mode 100644 index 0000000000000..d437ffcc426a7 --- /dev/null +++ b/recipes/sizemeup/meta.yaml @@ -0,0 +1,49 @@ +{% set name = "sizemeup" %} +{% set version = "1.3.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/rpetit3/sizemeup/archive/v{{ version }}.tar.gz + sha256: 47d498a88355882cba0252908e517ea65a016034168b47162cae8a3b20391218 + +build: + number: 0 + noarch: python + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} + +requirements: + host: + - python >=3.7 + - poetry + - pip + run: + - bactopia-py >=1.2.1 + - python >=3.7 + - requests + - rich-click >=1.6.0 + +test: + imports: + - sizemeup + commands: + - pip check + - sizemeup --version + - sizemeup --help + - sizemeup --query "Staphylococcus aureus" + - sizemeup -q 1280 + requires: + - pip + +about: + home: https://github.com/rpetit3/sizemeup + summary: A simple tool to determine the genome size of an organism + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - rpetit3 diff --git a/recipes/ska2/meta.yaml b/recipes/ska2/meta.yaml index bd250923fcb6e..97a9ed1c65d7f 100644 --- a/recipes/ska2/meta.yaml +++ b/recipes/ska2/meta.yaml @@ -1,5 +1,5 @@ {% set name = "ska2" %} -{% set version = "0.3.5" %} +{% set version = "0.3.11" %} package: name: {{ name|lower}} @@ -7,7 +7,7 @@ package: source: url: https://github.com/bacpop/ska.rust/archive/v{{ version }}.tar.gz - sha256: 507290aef6ec268e2b5098b60a208dddfc690f1c029e50b68eb5169ba3b1c9f0 + sha256: d58519c57db7c3a8c36015a435645e09b15be456e8ffabb175bcb3e3b7731e78 build: number: 0 @@ -29,3 +29,7 @@ about: license_family: APACHE license_file: LICENSE summary: SKA (Split Kmer Analysis) version 2 + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/skani/meta.yaml b/recipes/skani/meta.yaml index 7c86f9a689682..25c158e4324c6 100644 --- a/recipes/skani/meta.yaml +++ b/recipes/skani/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.2.1" %} +{% set version = "0.2.2" %} package: name: skani @@ -11,12 +11,12 @@ build: source: url: https://github.com/bluenote-1577/skani/archive/v{{ version }}.tar.gz - sha256: 0516323d2ccc90889206b215f67e84bfa8fc9c4233608113508f27c1771bd126 + sha256: e047d52b9f753625eff480fe90f1abb68f82cc6892d9d1910b18bfcedbfc0b9d requirements: build: - {{ compiler("cxx") }} - - rust >=1.39 + - {{ compiler("rust") }} - make test: @@ -28,4 +28,6 @@ about: license: MIT summary: skani is a fast and robust tool for calculating ANI between metagenome assembled genomes and contigs. - +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/skder/build.sh b/recipes/skder/build.sh index 77291308f3479..d2838d8fda6b0 100644 --- a/recipes/skder/build.sh +++ b/recipes/skder/build.sh @@ -4,9 +4,9 @@ $PYTHON -m pip install . --ignore-installed --no-deps -vv mkdir -p ${PREFIX}/bin -# (re)-compile C++ programs -${CXX} -std=c++11 -o ${PREFIX}/bin/skDERcore src/skDER/skDERcore.cpp -${CXX} -std=c++11 -o ${PREFIX}/bin/skDERsum src/skDER/skDERsum.cpp +export LDFLAGS= +${CXX} -std=c++11 -Wl,-headerpad_max_install_names -o ${PREFIX}/bin/skDERsum src/skDER/skDERsum.cpp +${CXX} -std=c++11 -Wl,-headerpad_max_install_names -o ${PREFIX}/bin/skDERcore src/skDER/skDERcore.cpp chmod +x ${PREFIX}/bin/skDERcore chmod +x ${PREFIX}/bin/skDERsum diff --git a/recipes/skder/meta.yaml b/recipes/skder/meta.yaml index 4dd0dfc2b7538..678fd77189bf3 100644 --- a/recipes/skder/meta.yaml +++ b/recipes/skder/meta.yaml @@ -1,5 +1,5 @@ {% set name = "skder" %} -{% set version = "1.0.8" %} +{% set version = "1.2.8" %} package: name: {{ name|lower }} @@ -7,13 +7,13 @@ package: source: url: https://github.com/raufs/skDER/archive/refs/tags/v{{ version }}.tar.gz - sha256: 5d48666d6c7db738777c3bbe2601b01707c2c961b987aecde0f4210154605254 + sha256: d60056e0ebd71f62af562a490b7a4a9761fac207e03a20fe926db571d16d5237 build: number: 0 skip: True # [py <= 39] run_exports: - - {{ pin_subpackage('skder', max_pin='x.x') }} + - {{ pin_subpackage('skder', max_pin='x') }} requirements: build: @@ -24,13 +24,18 @@ requirements: - pip - wget run: - - python =3.10 - - biopython =1.79 + - python >=3.10 + - biopython - setuptools - skani - ncbi-genome-download - - pyfastx - wget + - seaborn + - matplotlib-base + - python-igraph + - pandas + - pyrodigal + - cd-hit test: commands: @@ -41,5 +46,11 @@ about: license: BSD-3-Clause license license_file: LICENSE license_family: BSD - summary: "skDER: efficient & high-resolution dereplication of microbial genomes" + summary: "skDER & CiDDER: efficient & high-resolution dereplication methods for microbial genomes" dev_url: https://github.com/raufs/skDER + +extra: + additional-platforms: + - linux-aarch64 + recipe-maintainers: + - raufs diff --git a/recipes/skesa/build.sh b/recipes/skesa/build.sh index 788ad7a98c066..0c18f3c4ee7a8 100644 --- a/recipes/skesa/build.sh +++ b/recipes/skesa/build.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -xe + export LIBRARY_PATH=${PREFIX}/lib export LD_LIBRARY_PATH=${PREFIX}/lib export CPP_INCLUDE_PATH=${PREFIX}/include @@ -15,7 +17,7 @@ LDFLAGS=-L${PREFIX}/lib make -f Makefile.nongs \ BOOST_PATH=${PREFIX} \ - CC="$CXX $CXXFLAGS" \ + CC="$CXX -std=c++11 $CXXFLAGS" \ LDFLAGS=$LDFLAGS mkdir -p ${PREFIX}/bin diff --git a/recipes/skesa/meta.yaml b/recipes/skesa/meta.yaml index b525d025cfcec..b0650797d27fe 100644 --- a/recipes/skesa/meta.yaml +++ b/recipes/skesa/meta.yaml @@ -11,9 +11,11 @@ package: source: url: https://github.com/ncbi/SKESA/archive/refs/tags/{{ release_tag }}.tar.gz sha256: dc5ad60f963afb09d3f2a3bab8917e657bd93364f0deca6e6844ede44968e979 + patches: + - skesa-aarch64.patch # [linux and aarch64] build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage(name, max_pin='x') }} @@ -23,11 +25,11 @@ requirements: - {{ compiler('cxx') }} host: # Last version of conda-forge::boost that included static files (.a) - - boost 1.71 + - boost >=1.70,<=1.71 - zlib run: - libstdcxx-ng # [linux] - - boost 1.71 # [osx] + - boost >=1.70,<=1.71 # [osx] - zlib # [osx] test: @@ -43,3 +45,7 @@ about: license: Public Domain license_file: LICENSE summary: 'Strategic Kmer Extension for Scrupulous Assemblies & Sequence Assembly Using Target Enrichment' + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/skesa/skesa-aarch64.patch b/recipes/skesa/skesa-aarch64.patch new file mode 100644 index 0000000000000..03088386d207d --- /dev/null +++ b/recipes/skesa/skesa-aarch64.patch @@ -0,0 +1,9349 @@ +diff --git c/Makefile i/Makefile +index b99fe8f..3ce0214 100644 +--- c/Makefile ++++ i/Makefile +@@ -41,7 +41,7 @@ NGS_LIB := -L $(NGS_PATH)/lib64 + + CC = c++ -std=c++11 -fdiagnostics-color=never + CFLAGS = -Wall -Wno-format-y2k -pthread -fPIC -O3 -finline-functions -fstrict-aliasing \ +- -fomit-frame-pointer -msse4.2 $(BOOST_INCL) $(NGS_INCL) $(VDB_INCL) ++ -fomit-frame-pointer $(BOOST_INCL) $(NGS_INCL) $(VDB_INCL) + + PLATFORM=$(shell uname -s) + +diff --git c/Makefile.nongs i/Makefile.nongs +index 34c8c86..c22f314 100644 +--- c/Makefile.nongs ++++ i/Makefile.nongs +@@ -32,7 +32,7 @@ endif + + CC = c++ -std=c++11 + CFLAGS = -D NO_NGS -Wall -Wno-format-y2k -pthread -fPIC -O3 -finline-functions -fstrict-aliasing \ +- -fomit-frame-pointer -msse4.2 $(BOOST_INCL) ++ -fomit-frame-pointer $(BOOST_INCL) + + PLATFORM=$(shell uname -s) + +diff --git c/guidedassembler.hpp i/guidedassembler.hpp +index 5d3065b..c5098e9 100644 +--- c/guidedassembler.hpp ++++ i/guidedassembler.hpp +@@ -27,7 +27,11 @@ + #ifndef _GuidedAssembler_ + #define _GuidedAssembler_ + ++#ifdef __ARM_NEON ++#include "sse2neon.h" ++#else + #include ++#endif + + using namespace std; + namespace DeBruijn { +diff --git c/sse2neon.h i/sse2neon.h +new file mode 100644 +index 0000000..2b12721 +--- /dev/null ++++ i/sse2neon.h +@@ -0,0 +1,9301 @@ ++#ifndef SSE2NEON_H ++#define SSE2NEON_H ++ ++/* ++ * sse2neon is freely redistributable under the MIT License. ++ * ++ * Copyright (c) 2015-2024 SSE2NEON Contributors. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to deal ++ * in the Software without restriction, including without limitation the rights ++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++ * copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ * SOFTWARE. ++ */ ++ ++// This header file provides a simple API translation layer ++// between SSE intrinsics to their corresponding Arm/Aarch64 NEON versions ++// ++// Contributors to this work are: ++// John W. Ratcliff ++// Brandon Rowlett ++// Ken Fast ++// Eric van Beurden ++// Alexander Potylitsin ++// Hasindu Gamaarachchi ++// Jim Huang ++// Mark Cheng ++// Malcolm James MacLeod ++// Devin Hussey (easyaspi314) ++// Sebastian Pop ++// Developer Ecosystem Engineering ++// Danila Kutenin ++// François Turban (JishinMaster) ++// Pei-Hsuan Hung ++// Yang-Hao Yuan ++// Syoyo Fujita ++// Brecht Van Lommel ++// Jonathan Hue ++// Cuda Chen ++// Aymen Qader ++// Anthony Roberts ++ ++/* Tunable configurations */ ++ ++/* Enable precise implementation of math operations ++ * This would slow down the computation a bit, but gives consistent result with ++ * x86 SSE. (e.g. would solve a hole or NaN pixel in the rendering result) ++ */ ++/* _mm_min|max_ps|ss|pd|sd */ ++#ifndef SSE2NEON_PRECISE_MINMAX ++#define SSE2NEON_PRECISE_MINMAX (0) ++#endif ++/* _mm_rcp_ps */ ++#ifndef SSE2NEON_PRECISE_DIV ++#define SSE2NEON_PRECISE_DIV (0) ++#endif ++/* _mm_sqrt_ps and _mm_rsqrt_ps */ ++#ifndef SSE2NEON_PRECISE_SQRT ++#define SSE2NEON_PRECISE_SQRT (0) ++#endif ++/* _mm_dp_pd */ ++#ifndef SSE2NEON_PRECISE_DP ++#define SSE2NEON_PRECISE_DP (0) ++#endif ++ ++/* Enable inclusion of windows.h on MSVC platforms ++ * This makes _mm_clflush functional on windows, as there is no builtin. ++ */ ++#ifndef SSE2NEON_INCLUDE_WINDOWS_H ++#define SSE2NEON_INCLUDE_WINDOWS_H (0) ++#endif ++ ++/* compiler specific definitions */ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma push_macro("FORCE_INLINE") ++#pragma push_macro("ALIGN_STRUCT") ++#define FORCE_INLINE static inline __attribute__((always_inline)) ++#define ALIGN_STRUCT(x) __attribute__((aligned(x))) ++#define _sse2neon_likely(x) __builtin_expect(!!(x), 1) ++#define _sse2neon_unlikely(x) __builtin_expect(!!(x), 0) ++#elif defined(_MSC_VER) ++#if _MSVC_TRADITIONAL ++#error Using the traditional MSVC preprocessor is not supported! Use /Zc:preprocessor instead. ++#endif ++#ifndef FORCE_INLINE ++#define FORCE_INLINE static inline ++#endif ++#ifndef ALIGN_STRUCT ++#define ALIGN_STRUCT(x) __declspec(align(x)) ++#endif ++#define _sse2neon_likely(x) (x) ++#define _sse2neon_unlikely(x) (x) ++#else ++#pragma message("Macro name collisions may happen with unsupported compilers.") ++#endif ++ ++ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma push_macro("FORCE_INLINE_OPTNONE") ++#define FORCE_INLINE_OPTNONE static inline __attribute__((optimize("O0"))) ++#elif defined(__clang__) ++#pragma push_macro("FORCE_INLINE_OPTNONE") ++#define FORCE_INLINE_OPTNONE static inline __attribute__((optnone)) ++#else ++#define FORCE_INLINE_OPTNONE FORCE_INLINE ++#endif ++ ++#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ < 10 ++#warning "GCC versions earlier than 10 are not supported." ++#endif ++ ++/* C language does not allow initializing a variable with a function call. */ ++#ifdef __cplusplus ++#define _sse2neon_const static const ++#else ++#define _sse2neon_const const ++#endif ++ ++#include ++#include ++ ++#if defined(_WIN32) ++/* Definitions for _mm_{malloc,free} are provided by ++ * from both MinGW-w64 and MSVC. ++ */ ++#define SSE2NEON_ALLOC_DEFINED ++#endif ++ ++/* If using MSVC */ ++#ifdef _MSC_VER ++#include ++#if SSE2NEON_INCLUDE_WINDOWS_H ++#include ++#include ++#endif ++ ++#if !defined(__cplusplus) ++#error SSE2NEON only supports C++ compilation with this compiler ++#endif ++ ++#ifdef SSE2NEON_ALLOC_DEFINED ++#include ++#endif ++ ++#if (defined(_M_AMD64) || defined(__x86_64__)) || \ ++ (defined(_M_ARM64) || defined(__arm64__)) ++#define SSE2NEON_HAS_BITSCAN64 ++#endif ++#endif ++ ++#if defined(__GNUC__) || defined(__clang__) ++#define _sse2neon_define0(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define1(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define2(type, a, b, body) \ ++ __extension__({ \ ++ type _a = (a), _b = (b); \ ++ body \ ++ }) ++#define _sse2neon_return(ret) (ret) ++#else ++#define _sse2neon_define0(type, a, body) [=](type _a) { body }(a) ++#define _sse2neon_define1(type, a, body) [](type _a) { body }(a) ++#define _sse2neon_define2(type, a, b, body) \ ++ [](type _a, type _b) { body }((a), (b)) ++#define _sse2neon_return(ret) return ret ++#endif ++ ++#define _sse2neon_init(...) \ ++ { \ ++ __VA_ARGS__ \ ++ } ++ ++/* Compiler barrier */ ++#if defined(_MSC_VER) ++#define SSE2NEON_BARRIER() _ReadWriteBarrier() ++#else ++#define SSE2NEON_BARRIER() \ ++ do { \ ++ __asm__ __volatile__("" ::: "memory"); \ ++ (void) 0; \ ++ } while (0) ++#endif ++ ++/* Memory barriers ++ * __atomic_thread_fence does not include a compiler barrier; instead, ++ * the barrier is part of __atomic_load/__atomic_store's "volatile-like" ++ * semantics. ++ */ ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) ++#include ++#endif ++ ++FORCE_INLINE void _sse2neon_smp_mb(void) ++{ ++ SSE2NEON_BARRIER(); ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \ ++ !defined(__STDC_NO_ATOMICS__) ++ atomic_thread_fence(memory_order_seq_cst); ++#elif defined(__GNUC__) || defined(__clang__) ++ __atomic_thread_fence(__ATOMIC_SEQ_CST); ++#else /* MSVC */ ++ __dmb(_ARM64_BARRIER_ISH); ++#endif ++} ++ ++/* Architecture-specific build options */ ++/* FIXME: #pragma GCC push_options is only available on GCC */ ++#if defined(__GNUC__) ++#if defined(__arm__) && __ARM_ARCH == 7 ++/* According to ARM C Language Extensions Architecture specification, ++ * __ARM_NEON is defined to a value indicating the Advanced SIMD (NEON) ++ * architecture supported. ++ */ ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error "You must enable NEON instructions (e.g. -mfpu=neon) to use SSE2NEON." ++#endif ++#if !defined(__clang__) ++#pragma GCC push_options ++#pragma GCC target("fpu=neon") ++#endif ++#elif defined(__aarch64__) || defined(_M_ARM64) ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#pragma GCC target("+simd") ++#endif ++#elif __ARM_ARCH == 8 ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error \ ++ "You must enable NEON instructions (e.g. -mfpu=neon-fp-armv8) to use SSE2NEON." ++#endif ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#endif ++#else ++#error \ ++ "Unsupported target. Must be either ARMv7-A+NEON or ARMv8-A \ ++(you could try setting target explicitly with -march or -mcpu)" ++#endif ++#endif ++ ++#include ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) && (__ARM_ARCH == 8) ++#if defined __has_include && __has_include() ++#include ++#endif ++#endif ++ ++/* Apple Silicon cache lines are double of what is commonly used by Intel, AMD ++ * and other Arm microarchitectures use. ++ * From sysctl -a on Apple M1: ++ * hw.cachelinesize: 128 ++ */ ++#if defined(__APPLE__) && (defined(__aarch64__) || defined(__arm64__)) ++#define SSE2NEON_CACHELINE_SIZE 128 ++#else ++#define SSE2NEON_CACHELINE_SIZE 64 ++#endif ++ ++/* Rounding functions require either Aarch64 instructions or libm fallback */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#include ++#endif ++ ++/* On ARMv7, some registers, such as PMUSERENR and PMCCNTR, are read-only ++ * or even not accessible in user mode. ++ * To write or access to these registers in user mode, ++ * we have to perform syscall instead. ++ */ ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) ++#include ++#endif ++ ++/* "__has_builtin" can be used to query support for built-in functions ++ * provided by gcc/clang and other compilers that support it. ++ */ ++#ifndef __has_builtin /* GCC prior to 10 or non-clang compilers */ ++/* Compatibility with gcc <= 9 */ ++#if defined(__GNUC__) && (__GNUC__ <= 9) ++#define __has_builtin(x) HAS##x ++#define HAS__builtin_popcount 1 ++#define HAS__builtin_popcountll 1 ++ ++// __builtin_shuffle introduced in GCC 4.7.0 ++#if (__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) ++#define HAS__builtin_shuffle 1 ++#else ++#define HAS__builtin_shuffle 0 ++#endif ++ ++#define HAS__builtin_shufflevector 0 ++#define HAS__builtin_nontemporal_store 0 ++#else ++#define __has_builtin(x) 0 ++#endif ++#endif ++ ++/** ++ * MACRO for shuffle parameter for _mm_shuffle_ps(). ++ * Argument fp3 is a digit[0123] that represents the fp from argument "b" ++ * of mm_shuffle_ps that will be placed in fp3 of result. fp2 is the same ++ * for fp2 in result. fp1 is a digit[0123] that represents the fp from ++ * argument "a" of mm_shuffle_ps that will be places in fp1 of result. ++ * fp0 is the same for fp0 of result. ++ */ ++#define _MM_SHUFFLE(fp3, fp2, fp1, fp0) \ ++ (((fp3) << 6) | ((fp2) << 4) | ((fp1) << 2) | ((fp0))) ++ ++#if __has_builtin(__builtin_shufflevector) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __builtin_shufflevector(a, b, __VA_ARGS__) ++#elif __has_builtin(__builtin_shuffle) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __extension__({ \ ++ type tmp = {__VA_ARGS__}; \ ++ __builtin_shuffle(a, b, tmp); \ ++ }) ++#endif ++ ++#ifdef _sse2neon_shuffle ++#define vshuffle_s16(a, b, ...) _sse2neon_shuffle(int16x4_t, a, b, __VA_ARGS__) ++#define vshuffleq_s16(a, b, ...) _sse2neon_shuffle(int16x8_t, a, b, __VA_ARGS__) ++#define vshuffle_s32(a, b, ...) _sse2neon_shuffle(int32x2_t, a, b, __VA_ARGS__) ++#define vshuffleq_s32(a, b, ...) _sse2neon_shuffle(int32x4_t, a, b, __VA_ARGS__) ++#define vshuffle_s64(a, b, ...) _sse2neon_shuffle(int64x1_t, a, b, __VA_ARGS__) ++#define vshuffleq_s64(a, b, ...) _sse2neon_shuffle(int64x2_t, a, b, __VA_ARGS__) ++#endif ++ ++/* Rounding mode macros. */ ++#define _MM_FROUND_TO_NEAREST_INT 0x00 ++#define _MM_FROUND_TO_NEG_INF 0x01 ++#define _MM_FROUND_TO_POS_INF 0x02 ++#define _MM_FROUND_TO_ZERO 0x03 ++#define _MM_FROUND_CUR_DIRECTION 0x04 ++#define _MM_FROUND_NO_EXC 0x08 ++#define _MM_FROUND_RAISE_EXC 0x00 ++#define _MM_FROUND_NINT (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_FLOOR (_MM_FROUND_TO_NEG_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_CEIL (_MM_FROUND_TO_POS_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_TRUNC (_MM_FROUND_TO_ZERO | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_RINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_NEARBYINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_NO_EXC) ++#define _MM_ROUND_NEAREST 0x0000 ++#define _MM_ROUND_DOWN 0x2000 ++#define _MM_ROUND_UP 0x4000 ++#define _MM_ROUND_TOWARD_ZERO 0x6000 ++/* Flush zero mode macros. */ ++#define _MM_FLUSH_ZERO_MASK 0x8000 ++#define _MM_FLUSH_ZERO_ON 0x8000 ++#define _MM_FLUSH_ZERO_OFF 0x0000 ++/* Denormals are zeros mode macros. */ ++#define _MM_DENORMALS_ZERO_MASK 0x0040 ++#define _MM_DENORMALS_ZERO_ON 0x0040 ++#define _MM_DENORMALS_ZERO_OFF 0x0000 ++ ++/* indicate immediate constant argument in a given range */ ++#define __constrange(a, b) const ++ ++/* A few intrinsics accept traditional data types like ints or floats, but ++ * most operate on data types that are specific to SSE. ++ * If a vector type ends in d, it contains doubles, and if it does not have ++ * a suffix, it contains floats. An integer vector type can contain any type ++ * of integer, from chars to shorts to unsigned long longs. ++ */ ++typedef int64x1_t __m64; ++typedef float32x4_t __m128; /* 128-bit vector containing 4 floats */ ++// On ARM 32-bit architecture, the float64x2_t is not supported. ++// The data type __m128d should be represented in a different way for related ++// intrinsic conversion. ++#if defined(__aarch64__) || defined(_M_ARM64) ++typedef float64x2_t __m128d; /* 128-bit vector containing 2 doubles */ ++#else ++typedef float32x4_t __m128d; ++#endif ++typedef int64x2_t __m128i; /* 128-bit vector containing integers */ ++ ++// Some intrinsics operate on unaligned data types. ++typedef int16_t ALIGN_STRUCT(1) unaligned_int16_t; ++typedef int32_t ALIGN_STRUCT(1) unaligned_int32_t; ++typedef int64_t ALIGN_STRUCT(1) unaligned_int64_t; ++ ++// __int64 is defined in the Intrinsics Guide which maps to different datatype ++// in different data model ++#if !(defined(_WIN32) || defined(_WIN64) || defined(__int64)) ++#if (defined(__x86_64__) || defined(__i386__)) ++#define __int64 long long ++#else ++#define __int64 int64_t ++#endif ++#endif ++ ++/* type-safe casting between types */ ++ ++#define vreinterpretq_m128_f16(x) vreinterpretq_f32_f16(x) ++#define vreinterpretq_m128_f32(x) (x) ++#define vreinterpretq_m128_f64(x) vreinterpretq_f32_f64(x) ++ ++#define vreinterpretq_m128_u8(x) vreinterpretq_f32_u8(x) ++#define vreinterpretq_m128_u16(x) vreinterpretq_f32_u16(x) ++#define vreinterpretq_m128_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128_s8(x) vreinterpretq_f32_s8(x) ++#define vreinterpretq_m128_s16(x) vreinterpretq_f32_s16(x) ++#define vreinterpretq_m128_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_f16_m128(x) vreinterpretq_f16_f32(x) ++#define vreinterpretq_f32_m128(x) (x) ++#define vreinterpretq_f64_m128(x) vreinterpretq_f64_f32(x) ++ ++#define vreinterpretq_u8_m128(x) vreinterpretq_u8_f32(x) ++#define vreinterpretq_u16_m128(x) vreinterpretq_u16_f32(x) ++#define vreinterpretq_u32_m128(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_s8_m128(x) vreinterpretq_s8_f32(x) ++#define vreinterpretq_s16_m128(x) vreinterpretq_s16_f32(x) ++#define vreinterpretq_s32_m128(x) vreinterpretq_s32_f32(x) ++#define vreinterpretq_s64_m128(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_m128i_s8(x) vreinterpretq_s64_s8(x) ++#define vreinterpretq_m128i_s16(x) vreinterpretq_s64_s16(x) ++#define vreinterpretq_m128i_s32(x) vreinterpretq_s64_s32(x) ++#define vreinterpretq_m128i_s64(x) (x) ++ ++#define vreinterpretq_m128i_u8(x) vreinterpretq_s64_u8(x) ++#define vreinterpretq_m128i_u16(x) vreinterpretq_s64_u16(x) ++#define vreinterpretq_m128i_u32(x) vreinterpretq_s64_u32(x) ++#define vreinterpretq_m128i_u64(x) vreinterpretq_s64_u64(x) ++ ++#define vreinterpretq_f32_m128i(x) vreinterpretq_f32_s64(x) ++#define vreinterpretq_f64_m128i(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_s8_m128i(x) vreinterpretq_s8_s64(x) ++#define vreinterpretq_s16_m128i(x) vreinterpretq_s16_s64(x) ++#define vreinterpretq_s32_m128i(x) vreinterpretq_s32_s64(x) ++#define vreinterpretq_s64_m128i(x) (x) ++ ++#define vreinterpretq_u8_m128i(x) vreinterpretq_u8_s64(x) ++#define vreinterpretq_u16_m128i(x) vreinterpretq_u16_s64(x) ++#define vreinterpretq_u32_m128i(x) vreinterpretq_u32_s64(x) ++#define vreinterpretq_u64_m128i(x) vreinterpretq_u64_s64(x) ++ ++#define vreinterpret_m64_s8(x) vreinterpret_s64_s8(x) ++#define vreinterpret_m64_s16(x) vreinterpret_s64_s16(x) ++#define vreinterpret_m64_s32(x) vreinterpret_s64_s32(x) ++#define vreinterpret_m64_s64(x) (x) ++ ++#define vreinterpret_m64_u8(x) vreinterpret_s64_u8(x) ++#define vreinterpret_m64_u16(x) vreinterpret_s64_u16(x) ++#define vreinterpret_m64_u32(x) vreinterpret_s64_u32(x) ++#define vreinterpret_m64_u64(x) vreinterpret_s64_u64(x) ++ ++#define vreinterpret_m64_f16(x) vreinterpret_s64_f16(x) ++#define vreinterpret_m64_f32(x) vreinterpret_s64_f32(x) ++#define vreinterpret_m64_f64(x) vreinterpret_s64_f64(x) ++ ++#define vreinterpret_u8_m64(x) vreinterpret_u8_s64(x) ++#define vreinterpret_u16_m64(x) vreinterpret_u16_s64(x) ++#define vreinterpret_u32_m64(x) vreinterpret_u32_s64(x) ++#define vreinterpret_u64_m64(x) vreinterpret_u64_s64(x) ++ ++#define vreinterpret_s8_m64(x) vreinterpret_s8_s64(x) ++#define vreinterpret_s16_m64(x) vreinterpret_s16_s64(x) ++#define vreinterpret_s32_m64(x) vreinterpret_s32_s64(x) ++#define vreinterpret_s64_m64(x) (x) ++ ++#define vreinterpret_f32_m64(x) vreinterpret_f32_s64(x) ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f64_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f64_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) vreinterpretq_f64_f32(x) ++#define vreinterpretq_m128d_f64(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f64(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f64(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f64(x) ++ ++#define vreinterpretq_f64_m128d(x) (x) ++#define vreinterpretq_f32_m128d(x) vreinterpretq_f32_f64(x) ++#else ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_m128d_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_f32_m128d(x) (x) ++#endif ++ ++// A struct is defined in this header file called 'SIMDVec' which can be used ++// by applications which attempt to access the contents of an __m128 struct ++// directly. It is important to note that accessing the __m128 struct directly ++// is bad coding practice by Microsoft: @see: ++// https://learn.microsoft.com/en-us/cpp/cpp/m128 ++// ++// However, some legacy source code may try to access the contents of an __m128 ++// struct directly so the developer can use the SIMDVec as an alias for it. Any ++// casting must be done manually by the developer, as you cannot cast or ++// otherwise alias the base NEON data type for intrinsic operations. ++// ++// union intended to allow direct access to an __m128 variable using the names ++// that the MSVC compiler provides. This union should really only be used when ++// trying to access the members of the vector as integer values. GCC/clang ++// allow native access to the float members through a simple array access ++// operator (in C since 4.6, in C++ since 4.8). ++// ++// Ideally direct accesses to SIMD vectors should not be used since it can cause ++// a performance hit. If it really is needed however, the original __m128 ++// variable can be aliased with a pointer to this union and used to access ++// individual components. The use of this union should be hidden behind a macro ++// that is used throughout the codebase to access the members instead of always ++// declaring this type of variable. ++typedef union ALIGN_STRUCT(16) SIMDVec { ++ float m128_f32[4]; // as floats - DON'T USE. Added for convenience. ++ int8_t m128_i8[16]; // as signed 8-bit integers. ++ int16_t m128_i16[8]; // as signed 16-bit integers. ++ int32_t m128_i32[4]; // as signed 32-bit integers. ++ int64_t m128_i64[2]; // as signed 64-bit integers. ++ uint8_t m128_u8[16]; // as unsigned 8-bit integers. ++ uint16_t m128_u16[8]; // as unsigned 16-bit integers. ++ uint32_t m128_u32[4]; // as unsigned 32-bit integers. ++ uint64_t m128_u64[2]; // as unsigned 64-bit integers. ++} SIMDVec; ++ ++// casting using SIMDVec ++#define vreinterpretq_nth_u64_m128i(x, n) (((SIMDVec *) &x)->m128_u64[n]) ++#define vreinterpretq_nth_u32_m128i(x, n) (((SIMDVec *) &x)->m128_u32[n]) ++#define vreinterpretq_nth_u8_m128i(x, n) (((SIMDVec *) &x)->m128_u8[n]) ++ ++/* SSE macros */ ++#define _MM_GET_FLUSH_ZERO_MODE _sse2neon_mm_get_flush_zero_mode ++#define _MM_SET_FLUSH_ZERO_MODE _sse2neon_mm_set_flush_zero_mode ++#define _MM_GET_DENORMALS_ZERO_MODE _sse2neon_mm_get_denormals_zero_mode ++#define _MM_SET_DENORMALS_ZERO_MODE _sse2neon_mm_set_denormals_zero_mode ++ ++// Function declaration ++// SSE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void); ++FORCE_INLINE __m128 _mm_move_ss(__m128, __m128); ++FORCE_INLINE __m128 _mm_or_ps(__m128, __m128); ++FORCE_INLINE __m128 _mm_set_ps1(float); ++FORCE_INLINE __m128 _mm_setzero_ps(void); ++// SSE2 ++FORCE_INLINE __m128i _mm_and_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_castps_si128(__m128); ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128); ++FORCE_INLINE __m128d _mm_move_sd(__m128d, __m128d); ++FORCE_INLINE __m128i _mm_or_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_set_epi32(int, int, int, int); ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t, int64_t); ++FORCE_INLINE __m128d _mm_set_pd(double, double); ++FORCE_INLINE __m128i _mm_set1_epi32(int); ++FORCE_INLINE __m128i _mm_setzero_si128(void); ++// SSE4.1 ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d); ++FORCE_INLINE __m128 _mm_ceil_ps(__m128); ++FORCE_INLINE __m128d _mm_floor_pd(__m128d); ++FORCE_INLINE __m128 _mm_floor_ps(__m128); ++FORCE_INLINE_OPTNONE __m128d _mm_round_pd(__m128d, int); ++FORCE_INLINE_OPTNONE __m128 _mm_round_ps(__m128, int); ++// SSE4.2 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t, uint8_t); ++ ++/* Backwards compatibility for compilers with lack of specific type support */ ++ ++// Older gcc does not define vld1q_u8_x4 type ++#if defined(__GNUC__) && !defined(__clang__) && \ ++ ((__GNUC__ <= 13 && defined(__arm__)) || \ ++ (__GNUC__ == 10 && __GNUC_MINOR__ < 3 && defined(__aarch64__)) || \ ++ (__GNUC__ <= 9 && defined(__aarch64__))) ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ uint8x16x4_t ret; ++ ret.val[0] = vld1q_u8(p + 0); ++ ret.val[1] = vld1q_u8(p + 16); ++ ret.val[2] = vld1q_u8(p + 32); ++ ret.val[3] = vld1q_u8(p + 48); ++ return ret; ++} ++#else ++// Wraps vld1q_u8_x4 ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ return vld1q_u8_x4(p); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddv u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ const uint64x1_t v1 = vpaddl_u32(vpaddl_u16(vpaddl_u8(v8))); ++ return vget_lane_u8(vreinterpret_u8_u64(v1), 0); ++} ++#else ++// Wraps vaddv_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ return vaddv_u8(v8); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ uint8x8_t tmp = vpadd_u8(vget_low_u8(a), vget_high_u8(a)); ++ uint8_t res = 0; ++ for (int i = 0; i < 8; ++i) ++ res += tmp[i]; ++ return res; ++} ++#else ++// Wraps vaddvq_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ return vaddvq_u8(a); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u16 variant */ ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ uint32x4_t m = vpaddlq_u16(a); ++ uint64x2_t n = vpaddlq_u32(m); ++ uint64x1_t o = vget_low_u64(n) + vget_high_u64(n); ++ ++ return vget_lane_u32((uint32x2_t) o, 0); ++} ++#else ++// Wraps vaddvq_u16 ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ return vaddvq_u16(a); ++} ++#endif ++ ++/* Function Naming Conventions ++ * The naming convention of SSE intrinsics is straightforward. A generic SSE ++ * intrinsic function is given as follows: ++ * _mm__ ++ * ++ * The parts of this format are given as follows: ++ * 1. describes the operation performed by the intrinsic ++ * 2. identifies the data type of the function's primary arguments ++ * ++ * This last part, , is a little complicated. It identifies the ++ * content of the input values, and can be set to any of the following values: ++ * + ps - vectors contain floats (ps stands for packed single-precision) ++ * + pd - vectors contain doubles (pd stands for packed double-precision) ++ * + epi8/epi16/epi32/epi64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * signed integers ++ * + epu8/epu16/epu32/epu64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * unsigned integers ++ * + si128 - unspecified 128-bit vector or 256-bit vector ++ * + m128/m128i/m128d - identifies input vector types when they are different ++ * than the type of the returned vector ++ * ++ * For example, _mm_setzero_ps. The _mm implies that the function returns ++ * a 128-bit vector. The _ps at the end implies that the argument vectors ++ * contain floats. ++ * ++ * A complete example: Byte Shuffle - pshufb (_mm_shuffle_epi8) ++ * // Set packed 16-bit integers. 128 bits, 8 short, per 16 bits ++ * __m128i v_in = _mm_setr_epi16(1, 2, 3, 4, 5, 6, 7, 8); ++ * // Set packed 8-bit integers ++ * // 128 bits, 16 chars, per 8 bits ++ * __m128i v_perm = _mm_setr_epi8(1, 0, 2, 3, 8, 9, 10, 11, ++ * 4, 5, 12, 13, 6, 7, 14, 15); ++ * // Shuffle packed 8-bit integers ++ * __m128i v_out = _mm_shuffle_epi8(v_in, v_perm); // pshufb ++ */ ++ ++/* Constants for use with _mm_prefetch. */ ++enum _mm_hint { ++ _MM_HINT_NTA = 0, /* load data to L1 and L2 cache, mark it as NTA */ ++ _MM_HINT_T0 = 1, /* load data to L1 and L2 cache */ ++ _MM_HINT_T1 = 2, /* load data to L2 cache only */ ++ _MM_HINT_T2 = 3, /* load data to L2 cache only, mark it as NTA */ ++}; ++ ++// The bit field mapping to the FPCR(floating-point control register) ++typedef struct { ++ uint16_t res0; ++ uint8_t res1 : 6; ++ uint8_t bit22 : 1; ++ uint8_t bit23 : 1; ++ uint8_t bit24 : 1; ++ uint8_t res2 : 7; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32_t res3; ++#endif ++} fpcr_bitfield; ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of b and places it into the high end of the result. ++FORCE_INLINE __m128 _mm_shuffle_ps_1032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in high ++// end of result takes the higher two 32 bit values from b and swaps them and ++// places in low end of result. ++FORCE_INLINE __m128 _mm_shuffle_ps_2301(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b23 = vrev64_f32(vget_high_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b23)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0321(__m128 a, __m128 b) ++{ ++ float32x2_t a21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a21, b03)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2103(__m128 a, __m128 b) ++{ ++ float32x2_t a03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a03, b21)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0101(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b01)); ++} ++ ++// keeps the low 64 bits of b in the low and puts the high 64 bits of a in the ++// high ++FORCE_INLINE __m128 _mm_shuffle_ps_3210(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0011(__m128 a, __m128 b) ++{ ++ float32x2_t a11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a11, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0022(__m128 a, __m128 b) ++{ ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a22, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2200(__m128 a, __m128 b) ++{ ++ float32x2_t a00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a00, b22)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_3202(__m128 a, __m128 b) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t a02 = vset_lane_f32(a0, a22, 1); /* TODO: use vzip ?*/ ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a02, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1133(__m128 a, __m128 b) ++{ ++ float32x2_t a33 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a33, b11)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b20)); ++} ++ ++// For MSVC, we check only if it is ARM64, as every single ARM64 processor ++// supported by WoA has crypto extensions. If this changes in the future, ++// this can be verified via the runtime-only method of: ++// IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE) ++#if (defined(_M_ARM64) && !defined(__clang__)) || \ ++ (defined(__ARM_FEATURE_CRYPTO) && \ ++ (defined(__aarch64__) || __has_builtin(__builtin_arm_crypto_vmullp64))) ++// Wraps vmull_p64 ++FORCE_INLINE uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly64_t a = vget_lane_p64(vreinterpret_p64_u64(_a), 0); ++ poly64_t b = vget_lane_p64(vreinterpret_p64_u64(_b), 0); ++#if defined(_MSC_VER) ++ __n64 a1 = {a}, b1 = {b}; ++ return vreinterpretq_u64_p128(vmull_p64(a1, b1)); ++#else ++ return vreinterpretq_u64_p128(vmull_p64(a, b)); ++#endif ++} ++#else // ARMv7 polyfill ++// ARMv7/some A64 lacks vmull_p64, but it has vmull_p8. ++// ++// vmull_p8 calculates 8 8-bit->16-bit polynomial multiplies, but we need a ++// 64-bit->128-bit polynomial multiply. ++// ++// It needs some work and is somewhat slow, but it is still faster than all ++// known scalar methods. ++// ++// Algorithm adapted to C from ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/, which is adapted ++// from "Fast Software Polynomial Multiplication on ARM Processors Using the ++// NEON Engine" by Danilo Camara, Conrado Gouvea, Julio Lopez and Ricardo Dahab ++// (https://hal.inria.fr/hal-01506572) ++static uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly8x8_t a = vreinterpret_p8_u64(_a); ++ poly8x8_t b = vreinterpret_p8_u64(_b); ++ ++ // Masks ++ uint8x16_t k48_32 = vcombine_u8(vcreate_u8(0x0000ffffffffffff), ++ vcreate_u8(0x00000000ffffffff)); ++ uint8x16_t k16_00 = vcombine_u8(vcreate_u8(0x000000000000ffff), ++ vcreate_u8(0x0000000000000000)); ++ ++ // Do the multiplies, rotating with vext to get all combinations ++ uint8x16_t d = vreinterpretq_u8_p16(vmull_p8(a, b)); // D = A0 * B0 ++ uint8x16_t e = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 1))); // E = A0 * B1 ++ uint8x16_t f = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 1), b)); // F = A1 * B0 ++ uint8x16_t g = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 2))); // G = A0 * B2 ++ uint8x16_t h = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 2), b)); // H = A2 * B0 ++ uint8x16_t i = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 3))); // I = A0 * B3 ++ uint8x16_t j = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 3), b)); // J = A3 * B0 ++ uint8x16_t k = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 4))); // L = A0 * B4 ++ ++ // Add cross products ++ uint8x16_t l = veorq_u8(e, f); // L = E + F ++ uint8x16_t m = veorq_u8(g, h); // M = G + H ++ uint8x16_t n = veorq_u8(i, j); // N = I + J ++ ++ // Interleave. Using vzip1 and vzip2 prevents Clang from emitting TBL ++ // instructions. ++#if defined(__aarch64__) ++ uint8x16_t lm_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t lm_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t nk_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++ uint8x16_t nk_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++#else ++ uint8x16_t lm_p0 = vcombine_u8(vget_low_u8(l), vget_low_u8(m)); ++ uint8x16_t lm_p1 = vcombine_u8(vget_high_u8(l), vget_high_u8(m)); ++ uint8x16_t nk_p0 = vcombine_u8(vget_low_u8(n), vget_low_u8(k)); ++ uint8x16_t nk_p1 = vcombine_u8(vget_high_u8(n), vget_high_u8(k)); ++#endif ++ // t0 = (L) (P0 + P1) << 8 ++ // t1 = (M) (P2 + P3) << 16 ++ uint8x16_t t0t1_tmp = veorq_u8(lm_p0, lm_p1); ++ uint8x16_t t0t1_h = vandq_u8(lm_p1, k48_32); ++ uint8x16_t t0t1_l = veorq_u8(t0t1_tmp, t0t1_h); ++ ++ // t2 = (N) (P4 + P5) << 24 ++ // t3 = (K) (P6 + P7) << 32 ++ uint8x16_t t2t3_tmp = veorq_u8(nk_p0, nk_p1); ++ uint8x16_t t2t3_h = vandq_u8(nk_p1, k16_00); ++ uint8x16_t t2t3_l = veorq_u8(t2t3_tmp, t2t3_h); ++ ++ // De-interleave ++#if defined(__aarch64__) ++ uint8x16_t t0 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t1 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t2 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++ uint8x16_t t3 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++#else ++ uint8x16_t t1 = vcombine_u8(vget_high_u8(t0t1_l), vget_high_u8(t0t1_h)); ++ uint8x16_t t0 = vcombine_u8(vget_low_u8(t0t1_l), vget_low_u8(t0t1_h)); ++ uint8x16_t t3 = vcombine_u8(vget_high_u8(t2t3_l), vget_high_u8(t2t3_h)); ++ uint8x16_t t2 = vcombine_u8(vget_low_u8(t2t3_l), vget_low_u8(t2t3_h)); ++#endif ++ // Shift the cross products ++ uint8x16_t t0_shift = vextq_u8(t0, t0, 15); // t0 << 8 ++ uint8x16_t t1_shift = vextq_u8(t1, t1, 14); // t1 << 16 ++ uint8x16_t t2_shift = vextq_u8(t2, t2, 13); // t2 << 24 ++ uint8x16_t t3_shift = vextq_u8(t3, t3, 12); // t3 << 32 ++ ++ // Accumulate the products ++ uint8x16_t cross1 = veorq_u8(t0_shift, t1_shift); ++ uint8x16_t cross2 = veorq_u8(t2_shift, t3_shift); ++ uint8x16_t mix = veorq_u8(d, cross1); ++ uint8x16_t r = veorq_u8(mix, cross2); ++ return vreinterpretq_u64_u8(r); ++} ++#endif // ARMv7 polyfill ++ ++// C equivalent: ++// __m128i _mm_shuffle_epi32_default(__m128i a, ++// __constrange(0, 255) int imm) { ++// __m128i ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = a[(imm >> 4) & 0x03]; ret[3] = a[(imm >> 6) & 0x03]; ++// return ret; ++// } ++#define _mm_shuffle_epi32_default(a, imm) \ ++ vreinterpretq_m128i_s32(vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), \ ++ ((imm) >> 2) & 0x3), \ ++ vmovq_n_s32(vgetq_lane_s32( \ ++ vreinterpretq_s32_m128i(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of a and places it into the high end of the result. ++FORCE_INLINE __m128i _mm_shuffle_epi_1032(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in low end ++// of result takes the higher two 32 bit values from a and swaps them and places ++// in high end of result. ++FORCE_INLINE __m128i _mm_shuffle_epi_2301(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a23 = vrev64_s32(vget_high_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a23)); ++} ++ ++// rotates the least significant 32 bits into the most significant 32 bits, and ++// shifts the rest down ++FORCE_INLINE __m128i _mm_shuffle_epi_0321(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 1)); ++} ++ ++// rotates the most significant 32 bits into the least significant 32 bits, and ++// shifts the rest up ++FORCE_INLINE __m128i _mm_shuffle_epi_2103(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 3)); ++} ++ ++// gets the lower 64 bits of a, and places it in the upper 64 bits ++// gets the lower 64 bits of a and places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1010(__m128i a) ++{ ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a10, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements, and places it in the ++// lower 64 bits gets the lower 64 bits of a, and places it in the upper 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1001(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements and places it in the ++// upper 64 bits gets the lower 64 bits of a, swaps the 0 and 1 elements, and ++// places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_0101(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_2211(__m128i a) ++{ ++ int32x2_t a11 = vdup_lane_s32(vget_low_s32(vreinterpretq_s32_m128i(a)), 1); ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ return vreinterpretq_m128i_s32(vcombine_s32(a11, a22)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_0122(__m128i a) ++{ ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a22, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_3332(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a33 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 1); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a33)); ++} ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32(vdupq_laneq_s32(vreinterpretq_s32_m128i(a), (imm))) ++#else ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vdupq_n_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)))) ++#endif ++ ++// NEON does not support a general purpose permute intrinsic. ++// Shuffle single-precision (32-bit) floating-point elements in a using the ++// control in imm8, and store the results in dst. ++// ++// C equivalent: ++// __m128 _mm_shuffle_ps_default(__m128 a, __m128 b, ++// __constrange(0, 255) int imm) { ++// __m128 ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = b[(imm >> 4) & 0x03]; ret[3] = b[(imm >> 6) & 0x03]; ++// return ret; ++// } ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_ps ++#define _mm_shuffle_ps_default(a, b, imm) \ ++ vreinterpretq_m128_f32(vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), ((imm) >> 2) & 0x3), \ ++ vmovq_n_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Shuffle 16-bit integers in the low 64 bits of a using the control in imm8. ++// Store the results in the low 64 bits of dst, with the high 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflelo_epi16 ++#define _mm_shufflelo_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t lowBits = vget_low_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, (imm) & (0x3)), ret, 0); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++// Shuffle 16-bit integers in the high 64 bits of a using the control in imm8. ++// Store the results in the high 64 bits of dst, with the low 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflehi_epi16 ++#define _mm_shufflehi_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t highBits = vget_high_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, (imm) & (0x3)), ret, 4); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 2) & 0x3), ret, \ ++ 5); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 4) & 0x3), ret, \ ++ 6); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 6) & 0x3), ret, \ ++ 7); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++/* MMX */ ++ ++//_mm_empty is a no-op on arm ++FORCE_INLINE void _mm_empty(void) {} ++ ++/* SSE */ ++ ++// Add packed single-precision (32-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ps ++FORCE_INLINE __m128 _mm_add_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Add the lower single-precision (32-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ss ++FORCE_INLINE __m128 _mm_add_ss(__m128 a, __m128 b) ++{ ++ float32_t b0 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++ float32x4_t value = vsetq_lane_f32(b0, vdupq_n_f32(0), 0); ++ // the upper values in the result must be the remnants of . ++ return vreinterpretq_m128_f32(vaddq_f32(a, value)); ++} ++ ++// Compute the bitwise AND of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_ps ++FORCE_INLINE __m128 _mm_and_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vandq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Compute the bitwise NOT of packed single-precision (32-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_ps ++FORCE_INLINE __m128 _mm_andnot_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vbicq_s32(vreinterpretq_s32_m128(b), ++ vreinterpretq_s32_m128(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu16 ++FORCE_INLINE __m64 _mm_avg_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16( ++ vrhadd_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu8 ++FORCE_INLINE __m64 _mm_avg_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vrhadd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ps ++FORCE_INLINE __m128 _mm_cmpeq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ss ++FORCE_INLINE __m128 _mm_cmpeq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpeq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ps ++FORCE_INLINE __m128 _mm_cmpge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ss ++FORCE_INLINE __m128 _mm_cmpge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ps ++FORCE_INLINE __m128 _mm_cmpgt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ss ++FORCE_INLINE __m128 _mm_cmpgt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpgt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ps ++FORCE_INLINE __m128 _mm_cmple_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ss ++FORCE_INLINE __m128 _mm_cmple_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmple_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ps ++FORCE_INLINE __m128 _mm_cmplt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ss ++FORCE_INLINE __m128 _mm_cmplt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmplt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ps ++FORCE_INLINE __m128 _mm_cmpneq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ss ++FORCE_INLINE __m128 _mm_cmpneq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpneq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ps ++FORCE_INLINE __m128 _mm_cmpnge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ss ++FORCE_INLINE __m128 _mm_cmpnge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ps ++FORCE_INLINE __m128 _mm_cmpngt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ss ++FORCE_INLINE __m128 _mm_cmpngt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpngt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ps ++FORCE_INLINE __m128 _mm_cmpnle_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ss ++FORCE_INLINE __m128 _mm_cmpnle_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnle_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ps ++FORCE_INLINE __m128 _mm_cmpnlt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ss ++FORCE_INLINE __m128 _mm_cmpnlt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnlt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ps ++// ++// See also: ++// http://stackoverflow.com/questions/8627331/what-does-ordered-unordered-comparison-mean ++// http://stackoverflow.com/questions/29349621/neon-isnanval-intrinsics ++FORCE_INLINE __m128 _mm_cmpord_ps(__m128 a, __m128 b) ++{ ++ // Note: NEON does not have ordered compare builtin ++ // Need to compare a eq a and b eq b to check for NaN ++ // Do AND of results to get final ++ uint32x4_t ceqaa = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t ceqbb = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vandq_u32(ceqaa, ceqbb)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ss ++FORCE_INLINE __m128 _mm_cmpord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpord_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ps ++FORCE_INLINE __m128 _mm_cmpunord_ps(__m128 a, __m128 b) ++{ ++ uint32x4_t f32a = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t f32b = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vmvnq_u32(vandq_u32(f32a, f32b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ss ++FORCE_INLINE __m128 _mm_cmpunord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpunord_ps(a, b)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_ss ++FORCE_INLINE int _mm_comieq_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_eq_b = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_eq_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_ss ++FORCE_INLINE int _mm_comige_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_ge_b = ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_ge_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_ss ++FORCE_INLINE int _mm_comigt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_gt_b = ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_gt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_ss ++FORCE_INLINE int _mm_comile_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_le_b = ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_le_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_ss ++FORCE_INLINE int _mm_comilt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_lt_b = ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_lt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_ss ++FORCE_INLINE int _mm_comineq_ss(__m128 a, __m128 b) ++{ ++ return !_mm_comieq_ss(a, b); ++} ++ ++// Convert packed signed 32-bit integers in b to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, and copy the upper 2 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_pi2ps ++FORCE_INLINE __m128 _mm_cvt_pi2ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ps2pi ++FORCE_INLINE __m64 _mm_cvt_ps2pi(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))))); ++#else ++ return vreinterpret_m64_s32(vcvt_s32_f32(vget_low_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION))))); ++#endif ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_si2ss ++FORCE_INLINE __m128 _mm_cvt_si2ss(__m128 a, int b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ss2si ++FORCE_INLINE int _mm_cvt_ss2si(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vgetq_lane_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))), ++ 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int32_t) data; ++#endif ++} ++ ++// Convert packed 16-bit integers in a to packed single-precision (32-bit) ++// floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi16_ps ++FORCE_INLINE __m128 _mm_cvtpi16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vmovl_s16(vreinterpret_s16_m64(a)))); ++} ++ ++// Convert packed 32-bit integers in b to packed single-precision (32-bit) ++// floating-point elements, store the results in the lower 2 elements of dst, ++// and copy the upper 2 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_ps ++FORCE_INLINE __m128 _mm_cvtpi32_ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, then convert the packed signed 32-bit integers in b to ++// single-precision (32-bit) floating-point element, and store the results in ++// the upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32x2_ps ++FORCE_INLINE __m128 _mm_cvtpi32x2_ps(__m64 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vcombine_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b)))); ++} ++ ++// Convert the lower packed 8-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi8_ps ++FORCE_INLINE __m128 _mm_cvtpi8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vmovl_s16(vget_low_s16(vmovl_s8(vreinterpret_s8_m64(a)))))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 16-bit integers, and store the results in dst. Note: this intrinsic ++// will generate 0x7FFF, rather than 0x8000, for input values between 0x7FFF and ++// 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi16 ++FORCE_INLINE __m64 _mm_cvtps_pi16(__m128 a) ++{ ++ return vreinterpret_m64_s16( ++ vqmovn_s32(vreinterpretq_s32_m128i(_mm_cvtps_epi32(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi32 ++#define _mm_cvtps_pi32(a) _mm_cvt_ps2pi(a) ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 8-bit integers, and store the results in lower 4 elements of dst. ++// Note: this intrinsic will generate 0x7F, rather than 0x80, for input values ++// between 0x7F and 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi8 ++FORCE_INLINE __m64 _mm_cvtps_pi8(__m128 a) ++{ ++ return vreinterpret_m64_s8(vqmovn_s16( ++ vcombine_s16(vreinterpret_s16_m64(_mm_cvtps_pi16(a)), vdup_n_s16(0)))); ++} ++ ++// Convert packed unsigned 16-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu16_ps ++FORCE_INLINE __m128 _mm_cvtpu16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_u32(vmovl_u16(vreinterpret_u16_m64(a)))); ++} ++ ++// Convert the lower packed unsigned 8-bit integers in a to packed ++// single-precision (32-bit) floating-point elements, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu8_ps ++FORCE_INLINE __m128 _mm_cvtpu8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_u32( ++ vmovl_u16(vget_low_u16(vmovl_u8(vreinterpret_u8_m64(a)))))); ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_ss ++#define _mm_cvtsi32_ss(a, b) _mm_cvt_si2ss(a, b) ++ ++// Convert the signed 64-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_ss ++FORCE_INLINE __m128 _mm_cvtsi64_ss(__m128 a, int64_t b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Copy the lower single-precision (32-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_f32 ++FORCE_INLINE float _mm_cvtss_f32(__m128 a) ++{ ++ return vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si32 ++#define _mm_cvtss_si32(a) _mm_cvt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si64 ++FORCE_INLINE int64_t _mm_cvtss_si64(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return (int64_t) vgetq_lane_f32(vrndiq_f32(vreinterpretq_f32_m128(a)), 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int64_t) data; ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ps2pi ++FORCE_INLINE __m64 _mm_cvtt_ps2pi(__m128 a) ++{ ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ss2si ++FORCE_INLINE int _mm_cvtt_ss2si(__m128 a) ++{ ++ return vgetq_lane_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)), 0); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_pi32 ++#define _mm_cvttps_pi32(a) _mm_cvtt_ps2pi(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si32 ++#define _mm_cvttss_si32(a) _mm_cvtt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si64 ++FORCE_INLINE int64_t _mm_cvttss_si64(__m128 a) ++{ ++ return (int64_t) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Divide packed single-precision (32-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise division intrinsic, we implement ++// division by multiplying a by b's reciprocal before using the Newton-Raphson ++// method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ps ++FORCE_INLINE __m128 _mm_div_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vdivq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(b)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(a), recip)); ++#endif ++} ++ ++// Divide the lower single-precision (32-bit) floating-point element in a by the ++// lower single-precision (32-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper 3 packed elements from a to ++// the upper elements of dst. ++// Warning: ARMv7-A does not produce the same result compared to Intel and not ++// IEEE-compliant. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ss ++FORCE_INLINE __m128 _mm_div_ss(__m128 a, __m128 b) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_div_ps(a, b)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_pi16 ++#define _mm_extract_pi16(a, imm) \ ++ (int32_t) vget_lane_u16(vreinterpret_u16_m64(a), (imm)) ++ ++// Free aligned memory that was allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_free ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void _mm_free(void *addr) ++{ ++ free(addr); ++} ++#endif ++ ++FORCE_INLINE uint64_t _sse2neon_get_fpcr(void) ++{ ++ uint64_t value; ++#if defined(_MSC_VER) ++ value = _ReadStatusReg(ARM64_FPCR); ++#else ++ __asm__ __volatile__("mrs %0, FPCR" : "=r"(value)); /* read */ ++#endif ++ return value; ++} ++ ++FORCE_INLINE void _sse2neon_set_fpcr(uint64_t value) ++{ ++#if defined(_MSC_VER) ++ _WriteStatusReg(ARM64_FPCR, value); ++#else ++ __asm__ __volatile__("msr FPCR, %0" ::"r"(value)); /* write */ ++#endif ++} ++ ++// Macro: Get the flush zero bits from the MXCSR control and status register. ++// The flush zero may contain any of the following flags: _MM_FLUSH_ZERO_ON or ++// _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_FLUSH_ZERO_MODE ++FORCE_INLINE unsigned int _sse2neon_mm_get_flush_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_FLUSH_ZERO_ON : _MM_FLUSH_ZERO_OFF; ++} ++ ++// Macro: Get the rounding mode bits from the MXCSR control and status register. ++// The rounding mode may contain any of the following flags: _MM_ROUND_NEAREST, ++// _MM_ROUND_DOWN, _MM_ROUND_UP, _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_ROUNDING_MODE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ if (r.field.bit22) { ++ return r.field.bit23 ? _MM_ROUND_TOWARD_ZERO : _MM_ROUND_UP; ++ } else { ++ return r.field.bit23 ? _MM_ROUND_DOWN : _MM_ROUND_NEAREST; ++ } ++} ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_pi16 ++#define _mm_insert_pi16(a, b, imm) \ ++ vreinterpret_m64_s16(vset_lane_s16((b), vreinterpret_s16_m64(a), (imm))) ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps ++FORCE_INLINE __m128 _mm_load_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// ++// dst[31:0] := MEM[mem_addr+31:mem_addr] ++// dst[63:32] := MEM[mem_addr+31:mem_addr] ++// dst[95:64] := MEM[mem_addr+31:mem_addr] ++// dst[127:96] := MEM[mem_addr+31:mem_addr] ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps1 ++#define _mm_load_ps1 _mm_load1_ps ++ ++// Load a single-precision (32-bit) floating-point element from memory into the ++// lower of dst, and zero the upper 3 elements. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ss ++FORCE_INLINE __m128 _mm_load_ss(const float *p) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(*p, vdupq_n_f32(0), 0)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_ps ++FORCE_INLINE __m128 _mm_load1_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_dup_f32(p)); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// upper 2 elements of dst, and copy the lower 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pi ++FORCE_INLINE __m128 _mm_loadh_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vget_low_f32(a), vld1_f32((const float32_t *) p))); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// lower 2 elements of dst, and copy the upper 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pi ++FORCE_INLINE __m128 _mm_loadl_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vld1_f32((const float32_t *) p), vget_high_f32(a))); ++} ++ ++// Load 4 single-precision (32-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_ps ++FORCE_INLINE __m128 _mm_loadr_ps(const float *p) ++{ ++ float32x4_t v = vrev64q_f32(vld1q_f32(p)); ++ return vreinterpretq_m128_f32(vextq_f32(v, v, 2)); ++} ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_ps ++FORCE_INLINE __m128 _mm_loadu_ps(const float *p) ++{ ++ // for neon, alignment doesn't matter, so _mm_load_ps and _mm_loadu_ps are ++ // equivalent for neon ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load unaligned 16-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si16 ++FORCE_INLINE __m128i _mm_loadu_si16(const void *p) ++{ ++ return vreinterpretq_m128i_s16( ++ vsetq_lane_s16(*(const unaligned_int16_t *) p, vdupq_n_s16(0), 0)); ++} ++ ++// Load unaligned 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si64 ++FORCE_INLINE __m128i _mm_loadu_si64(const void *p) ++{ ++ return vreinterpretq_m128i_s64( ++ vsetq_lane_s64(*(const unaligned_int64_t *) p, vdupq_n_s64(0), 0)); ++} ++ ++// Allocate size bytes of memory, aligned to the alignment specified in align, ++// and return a pointer to the allocated memory. _mm_free should be used to free ++// memory that is allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_malloc ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void *_mm_malloc(size_t size, size_t align) ++{ ++ void *ptr; ++ if (align == 1) ++ return malloc(size); ++ if (align == 2 || (sizeof(void *) == 8 && align == 4)) ++ align = sizeof(void *); ++ if (!posix_memalign(&ptr, align, size)) ++ return ptr; ++ return NULL; ++} ++#endif ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmove_si64 ++FORCE_INLINE void _mm_maskmove_si64(__m64 a, __m64 mask, char *mem_addr) ++{ ++ int8x8_t shr_mask = vshr_n_s8(vreinterpret_s8_m64(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x8_t masked = ++ vbsl_s8(vreinterpret_u8_s8(shr_mask), vreinterpret_s8_m64(a), ++ vreinterpret_s8_u64(vget_low_u64(vreinterpretq_u64_m128(b)))); ++ vst1_s8((int8_t *) mem_addr, masked); ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_maskmovq ++#define _m_maskmovq(a, mask, mem_addr) _mm_maskmove_si64(a, mask, mem_addr) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pi16 ++FORCE_INLINE __m64 _mm_max_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmax_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) maximum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ps ++FORCE_INLINE __m128 _mm_max_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcgtq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vmaxq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pu8 ++FORCE_INLINE __m64 _mm_max_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmax_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) maximum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ss ++FORCE_INLINE __m128 _mm_max_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_max_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pi16 ++FORCE_INLINE __m64 _mm_min_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmin_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) minimum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ps ++FORCE_INLINE __m128 _mm_min_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcltq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vminq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pu8 ++FORCE_INLINE __m64 _mm_min_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmin_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) minimum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ss ++FORCE_INLINE __m128 _mm_min_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_min_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the lower single-precision (32-bit) floating-point element from b to the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_ss ++FORCE_INLINE __m128 _mm_move_ss(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(vgetq_lane_f32(vreinterpretq_f32_m128(b), 0), ++ vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the upper 2 single-precision (32-bit) floating-point elements from b to ++// the lower 2 elements of dst, and copy the upper 2 elements from a to the ++// upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehl_ps ++FORCE_INLINE __m128 _mm_movehl_ps(__m128 a, __m128 b) ++{ ++#if defined(aarch64__) ++ return vreinterpretq_m128_u64( ++ vzip2q_u64(vreinterpretq_u64_m128(b), vreinterpretq_u64_m128(a))); ++#else ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(b32, a32)); ++#endif ++} ++ ++// Move the lower 2 single-precision (32-bit) floating-point elements from b to ++// the upper 2 elements of dst, and copy the lower 2 elements from a to the ++// lower 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movelh_ps ++FORCE_INLINE __m128 _mm_movelh_ps(__m128 __A, __m128 __B) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(__A)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(__B)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pi8 ++FORCE_INLINE int _mm_movemask_pi8(__m64 a) ++{ ++ uint8x8_t input = vreinterpret_u8_m64(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int8_t shift[8] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint8x8_t tmp = vshr_n_u8(input, 7); ++ return vaddv_u8(vshl_u8(tmp, vld1_s8(shift))); ++#else ++ // Refer the implementation of `_mm_movemask_epi8` ++ uint16x4_t high_bits = vreinterpret_u16_u8(vshr_n_u8(input, 7)); ++ uint32x2_t paired16 = ++ vreinterpret_u32_u16(vsra_n_u16(high_bits, high_bits, 7)); ++ uint8x8_t paired32 = ++ vreinterpret_u8_u32(vsra_n_u32(paired16, paired16, 14)); ++ return vget_lane_u8(paired32, 0) | ((int) vget_lane_u8(paired32, 4) << 4); ++#endif ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed single-precision (32-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_ps ++FORCE_INLINE int _mm_movemask_ps(__m128 a) ++{ ++ uint32x4_t input = vreinterpretq_u32_m128(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int32_t shift[4] = {0, 1, 2, 3}; ++ uint32x4_t tmp = vshrq_n_u32(input, 31); ++ return vaddvq_u32(vshlq_u32(tmp, vld1q_s32(shift))); ++#else ++ // Uses the exact same method as _mm_movemask_epi8, see that for details. ++ // Shift out everything but the sign bits with a 32-bit unsigned shift ++ // right. ++ uint64x2_t high_bits = vreinterpretq_u64_u32(vshrq_n_u32(input, 31)); ++ // Merge the two pairs together with a 64-bit unsigned shift right + add. ++ uint8x16_t paired = ++ vreinterpretq_u8_u64(vsraq_n_u64(high_bits, high_bits, 31)); ++ // Extract the result. ++ return vgetq_lane_u8(paired, 0) | (vgetq_lane_u8(paired, 8) << 2); ++#endif ++} ++ ++// Multiply packed single-precision (32-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ps ++FORCE_INLINE_OPTNONE __m128 _mm_mul_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vmulq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Multiply the lower single-precision (32-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ss ++FORCE_INLINE __m128 _mm_mul_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_mul_ps(a, b)); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_pu16 ++FORCE_INLINE __m64 _mm_mulhi_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16(vshrn_n_u32( ++ vmull_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b)), 16)); ++} ++ ++// Compute the bitwise OR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_ps ++FORCE_INLINE __m128 _mm_or_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vorrq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgb ++#define _m_pavgb(a, b) _mm_avg_pu8(a, b) ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgw ++#define _m_pavgw(a, b) _mm_avg_pu16(a, b) ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pextrw ++#define _m_pextrw(a, imm) _mm_extract_pi16(a, imm) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_pinsrw ++#define _m_pinsrw(a, i, imm) _mm_insert_pi16(a, i, imm) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxsw ++#define _m_pmaxsw(a, b) _mm_max_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxub ++#define _m_pmaxub(a, b) _mm_max_pu8(a, b) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminsw ++#define _m_pminsw(a, b) _mm_min_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminub ++#define _m_pminub(a, b) _mm_min_pu8(a, b) ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmovmskb ++#define _m_pmovmskb(a) _mm_movemask_pi8(a) ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmulhuw ++#define _m_pmulhuw(a, b) _mm_mulhi_pu16(a, b) ++ ++// Fetch the line of data from memory that contains address p to a location in ++// the cache hierarchy specified by the locality hint i. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_prefetch ++FORCE_INLINE void _mm_prefetch(char const *p, int i) ++{ ++ (void) i; ++#if defined(_MSC_VER) ++ switch (i) { ++ case _MM_HINT_NTA: ++ __prefetch2(p, 1); ++ break; ++ case _MM_HINT_T0: ++ __prefetch2(p, 0); ++ break; ++ case _MM_HINT_T1: ++ __prefetch2(p, 2); ++ break; ++ case _MM_HINT_T2: ++ __prefetch2(p, 4); ++ break; ++ } ++#else ++ switch (i) { ++ case _MM_HINT_NTA: ++ __builtin_prefetch(p, 0, 0); ++ break; ++ case _MM_HINT_T0: ++ __builtin_prefetch(p, 0, 3); ++ break; ++ case _MM_HINT_T1: ++ __builtin_prefetch(p, 0, 2); ++ break; ++ case _MM_HINT_T2: ++ __builtin_prefetch(p, 0, 1); ++ break; ++ } ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_psadbw ++#define _m_psadbw(a, b) _mm_sad_pu8(a, b) ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pshufw ++#define _m_pshufw(a, imm) _mm_shuffle_pi16(a, imm) ++ ++// Compute the approximate reciprocal of packed single-precision (32-bit) ++// floating-point elements in a, and store the results in dst. The maximum ++// relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ps ++FORCE_INLINE __m128 _mm_rcp_ps(__m128 in) ++{ ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(in)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#if SSE2NEON_PRECISE_DIV ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#endif ++ return vreinterpretq_m128_f32(recip); ++} ++ ++// Compute the approximate reciprocal of the lower single-precision (32-bit) ++// floating-point element in a, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ss ++FORCE_INLINE __m128 _mm_rcp_ss(__m128 a) ++{ ++ return _mm_move_ss(a, _mm_rcp_ps(a)); ++} ++ ++// Compute the approximate reciprocal square root of packed single-precision ++// (32-bit) floating-point elements in a, and store the results in dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ps ++FORCE_INLINE __m128 _mm_rsqrt_ps(__m128 in) ++{ ++ float32x4_t out = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Generate masks for detecting whether input has any 0.0f/-0.0f ++ // (which becomes positive/negative infinity by IEEE-754 arithmetic rules). ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t neg_inf = vdupq_n_u32(0xFF800000); ++ const uint32x4_t has_pos_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(out)); ++ const uint32x4_t has_neg_zero = ++ vceqq_u32(neg_inf, vreinterpretq_u32_f32(out)); ++ ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#if SSE2NEON_PRECISE_SQRT ++ // Additional Netwon-Raphson iteration for accuracy ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#endif ++ ++ // Set output vector element to infinity/negative-infinity if ++ // the corresponding input vector element is 0.0f/-0.0f. ++ out = vbslq_f32(has_pos_zero, (float32x4_t) pos_inf, out); ++ out = vbslq_f32(has_neg_zero, (float32x4_t) neg_inf, out); ++ ++ return vreinterpretq_m128_f32(out); ++} ++ ++// Compute the approximate reciprocal square root of the lower single-precision ++// (32-bit) floating-point element in a, store the result in the lower element ++// of dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ss ++FORCE_INLINE __m128 _mm_rsqrt_ss(__m128 in) ++{ ++ return vsetq_lane_f32(vgetq_lane_f32(_mm_rsqrt_ps(in), 0), in, 0); ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_pu8 ++FORCE_INLINE __m64 _mm_sad_pu8(__m64 a, __m64 b) ++{ ++ uint64x1_t t = vpaddl_u32(vpaddl_u16( ++ vpaddl_u8(vabd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))))); ++ return vreinterpret_m64_u16( ++ vset_lane_u16((int) vget_lane_u64(t, 0), vdup_n_u16(0), 0)); ++} ++ ++// Macro: Set the flush zero bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The flush zero may contain any of the ++// following flags: _MM_FLUSH_ZERO_ON or _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_FLUSH_ZERO_MODE ++FORCE_INLINE void _sse2neon_mm_set_flush_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_FLUSH_ZERO_MASK) == _MM_FLUSH_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps ++FORCE_INLINE __m128 _mm_set_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {x, y, z, w}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps1 ++FORCE_INLINE __m128 _mm_set_ps1(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Macro: Set the rounding mode bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The rounding mode may contain any of ++// the following flags: _MM_ROUND_NEAREST, _MM_ROUND_DOWN, _MM_ROUND_UP, ++// _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_ROUNDING_MODE ++FORCE_INLINE void _MM_SET_ROUNDING_MODE(int rounding) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ switch (rounding) { ++ case _MM_ROUND_TOWARD_ZERO: ++ r.field.bit22 = 1; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_DOWN: ++ r.field.bit22 = 0; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_UP: ++ r.field.bit22 = 1; ++ r.field.bit23 = 0; ++ break; ++ default: //_MM_ROUND_NEAREST ++ r.field.bit22 = 0; ++ r.field.bit23 = 0; ++ } ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Copy single-precision (32-bit) floating-point element a to the lower element ++// of dst, and zero the upper 3 elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ss ++FORCE_INLINE __m128 _mm_set_ss(float a) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(a, vdupq_n_f32(0), 0)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_ps ++FORCE_INLINE __m128 _mm_set1_ps(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Set the MXCSR control and status register with the value in unsigned 32-bit ++// integer a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setcsr ++// FIXME: _mm_setcsr() implementation supports changing the rounding mode only. ++FORCE_INLINE void _mm_setcsr(unsigned int a) ++{ ++ _MM_SET_ROUNDING_MODE(a); ++} ++ ++// Get the unsigned 32-bit value of the MXCSR control and status register. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_getcsr ++// FIXME: _mm_getcsr() implementation supports reading the rounding mode only. ++FORCE_INLINE unsigned int _mm_getcsr(void) ++{ ++ return _MM_GET_ROUNDING_MODE(); ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_ps ++FORCE_INLINE __m128 _mm_setr_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {w, z, y, x}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Return vector of type __m128 with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_ps ++FORCE_INLINE __m128 _mm_setzero_ps(void) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(0)); ++} ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi16 ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pi16(a, imm) \ ++ vreinterpret_m64_s16(vshuffle_s16( \ ++ vreinterpret_s16_m64(a), vreinterpret_s16_m64(a), (imm & 0x3), \ ++ ((imm >> 2) & 0x3), ((imm >> 4) & 0x3), ((imm >> 6) & 0x3))) ++#else ++#define _mm_shuffle_pi16(a, imm) \ ++ _sse2neon_define1( \ ++ __m64, a, int16x4_t ret; \ ++ ret = vmov_n_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), (imm) & (0x3))); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpret_m64_s16(ret));) ++#endif ++ ++// Perform a serializing operation on all store-to-memory instructions that were ++// issued prior to this instruction. Guarantees that every store instruction ++// that precedes, in program order, is globally visible before any store ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sfence ++FORCE_INLINE void _mm_sfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory and store-to-memory ++// instructions that were issued prior to this instruction. Guarantees that ++// every memory access that precedes, in program order, the memory fence ++// instruction is globally visible before any memory instruction which follows ++// the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mfence ++FORCE_INLINE void _mm_mfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory instructions that ++// were issued prior to this instruction. Guarantees that every load instruction ++// that precedes, in program order, is globally visible before any load ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lfence ++FORCE_INLINE void _mm_lfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// FORCE_INLINE __m128 _mm_shuffle_ps(__m128 a, __m128 b, __constrange(0,255) ++// int imm) ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_ps(a, b, imm) \ ++ __extension__({ \ ++ float32x4_t _input1 = vreinterpretq_f32_m128(a); \ ++ float32x4_t _input2 = vreinterpretq_f32_m128(b); \ ++ float32x4_t _shuf = \ ++ vshuffleq_s32(_input1, _input2, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ (((imm) >> 4) & 0x3) + 4, (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128_f32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_ps(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128, a, b, __m128 ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_1032(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_ps_2301(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_ps_0321(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_ps_2103(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_movelh_ps(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_1001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_ps_0101(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 1, 0): \ ++ ret = _mm_shuffle_ps_3210(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 1, 1): \ ++ ret = _mm_shuffle_ps_0011(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 2, 2): \ ++ ret = _mm_shuffle_ps_0022(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 0, 0): \ ++ ret = _mm_shuffle_ps_2200(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 0, 2): \ ++ ret = _mm_shuffle_ps_3202(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 3, 2): \ ++ ret = _mm_movehl_ps(_b, _a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 3, 3): \ ++ ret = _mm_shuffle_ps_1133(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 1, 0): \ ++ ret = _mm_shuffle_ps_2010(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_2001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_2032(_a, _b); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_ps_default(_a, _b, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Compute the square root of packed single-precision (32-bit) floating-point ++// elements in a, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise square root intrinsic, we implement ++// square root by multiplying input in with its reciprocal square root before ++// using the Newton-Raphson method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ps ++FORCE_INLINE __m128 _mm_sqrt_ps(__m128 in) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) && !SSE2NEON_PRECISE_SQRT ++ return vreinterpretq_m128_f32(vsqrtq_f32(vreinterpretq_f32_m128(in))); ++#else ++ float32x4_t recip = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Test for vrsqrteq_f32(0) -> positive infinity case. ++ // Change to zero, so that s * 1/sqrt(s) result is zero too. ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t div_by_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(recip)); ++ recip = vreinterpretq_f32_u32( ++ vandq_u32(vmvnq_u32(div_by_zero), vreinterpretq_u32_f32(recip))); ++ ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ ++ // sqrt(s) = s * 1/sqrt(s) ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(in), recip)); ++#endif ++} ++ ++// Compute the square root of the lower single-precision (32-bit) floating-point ++// element in a, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ss ++FORCE_INLINE __m128 _mm_sqrt_ss(__m128 in) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_sqrt_ps(in)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(in), 0)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps ++FORCE_INLINE void _mm_store_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps1 ++FORCE_INLINE void _mm_store_ps1(float *p, __m128 a) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ vst1q_f32(p, vdupq_n_f32(a0)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ss ++FORCE_INLINE void _mm_store_ss(float *p, __m128 a) ++{ ++ vst1q_lane_f32(p, vreinterpretq_f32_m128(a), 0); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store1_ps ++#define _mm_store1_ps _mm_store_ps1 ++ ++// Store the upper 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pi ++FORCE_INLINE void _mm_storeh_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_high_f32(a)); ++} ++ ++// Store the lower 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pi ++FORCE_INLINE void _mm_storel_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_low_f32(a)); ++} ++ ++// Store 4 single-precision (32-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_ps ++FORCE_INLINE void _mm_storer_ps(float *p, __m128 a) ++{ ++ float32x4_t tmp = vrev64q_f32(vreinterpretq_f32_m128(a)); ++ float32x4_t rev = vextq_f32(tmp, tmp, 2); ++ vst1q_f32(p, rev); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_ps ++FORCE_INLINE void _mm_storeu_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Stores 16-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si16 ++FORCE_INLINE void _mm_storeu_si16(void *p, __m128i a) ++{ ++ vst1q_lane_s16((int16_t *) p, vreinterpretq_s16_m128i(a), 0); ++} ++ ++// Stores 64-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si64 ++FORCE_INLINE void _mm_storeu_si64(void *p, __m128i a) ++{ ++ vst1q_lane_s64((int64_t *) p, vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Store 64-bits of integer data from a into memory using a non-temporal memory ++// hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pi ++FORCE_INLINE void _mm_stream_pi(__m64 *p, __m64 a) ++{ ++ vst1_s64((int64_t *) p, vreinterpret_s64_m64(a)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating- ++// point elements) from a into memory using a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_ps ++FORCE_INLINE void _mm_stream_ps(float *p, __m128 a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (float32x4_t *) p); ++#else ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++#endif ++} ++ ++// Subtract packed single-precision (32-bit) floating-point elements in b from ++// packed single-precision (32-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ps ++FORCE_INLINE __m128 _mm_sub_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Subtract the lower single-precision (32-bit) floating-point element in b from ++// the lower single-precision (32-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper 3 packed elements from ++// a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ss ++FORCE_INLINE __m128 _mm_sub_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_sub_ps(a, b)); ++} ++ ++// Macro: Transpose the 4x4 matrix formed by the 4 rows of single-precision ++// (32-bit) floating-point elements in row0, row1, row2, and row3, and store the ++// transposed matrix in these vectors (row0 now contains column 0, etc.). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=MM_TRANSPOSE4_PS ++#define _MM_TRANSPOSE4_PS(row0, row1, row2, row3) \ ++ do { \ ++ float32x4x2_t ROW01 = vtrnq_f32(row0, row1); \ ++ float32x4x2_t ROW23 = vtrnq_f32(row2, row3); \ ++ row0 = vcombine_f32(vget_low_f32(ROW01.val[0]), \ ++ vget_low_f32(ROW23.val[0])); \ ++ row1 = vcombine_f32(vget_low_f32(ROW01.val[1]), \ ++ vget_low_f32(ROW23.val[1])); \ ++ row2 = vcombine_f32(vget_high_f32(ROW01.val[0]), \ ++ vget_high_f32(ROW23.val[0])); \ ++ row3 = vcombine_f32(vget_high_f32(ROW01.val[1]), \ ++ vget_high_f32(ROW23.val[1])); \ ++ } while (0) ++ ++// according to the documentation, these intrinsics behave the same as the ++// non-'u' versions. We'll just alias them here. ++#define _mm_ucomieq_ss _mm_comieq_ss ++#define _mm_ucomige_ss _mm_comige_ss ++#define _mm_ucomigt_ss _mm_comigt_ss ++#define _mm_ucomile_ss _mm_comile_ss ++#define _mm_ucomilt_ss _mm_comilt_ss ++#define _mm_ucomineq_ss _mm_comineq_ss ++ ++// Return vector of type __m128i with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_undefined_si128 ++FORCE_INLINE __m128i _mm_undefined_si128(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128i a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_si128(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Return vector of type __m128 with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_ps ++FORCE_INLINE __m128 _mm_undefined_ps(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128 a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_ps(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the high half a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_ps ++FORCE_INLINE __m128 _mm_unpackhi_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_ps ++FORCE_INLINE __m128 _mm_unpacklo_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Compute the bitwise XOR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_ps ++FORCE_INLINE __m128 _mm_xor_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ veorq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++/* SSE2 */ ++ ++// Add packed 16-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi16 ++FORCE_INLINE __m128i _mm_add_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed 32-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi32 ++FORCE_INLINE __m128i _mm_add_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vaddq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Add packed 64-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi64 ++FORCE_INLINE __m128i _mm_add_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vaddq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Add packed 8-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi8 ++FORCE_INLINE __m128i _mm_add_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed double-precision (64-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_pd ++FORCE_INLINE __m128d _mm_add_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1] + db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add the lower double-precision (64-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper element from ++// a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_sd ++FORCE_INLINE __m128d _mm_add_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_add_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add 64-bit integers a and b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_si64 ++FORCE_INLINE __m64 _mm_add_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vadd_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Add packed signed 16-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi16 ++FORCE_INLINE __m128i _mm_adds_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed signed 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi8 ++FORCE_INLINE __m128i _mm_adds_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed unsigned 16-bit integers in a and b using saturation, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu16 ++FORCE_INLINE __m128i _mm_adds_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqaddq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Add packed unsigned 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu8 ++FORCE_INLINE __m128i _mm_adds_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compute the bitwise AND of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_pd ++FORCE_INLINE __m128d _mm_and_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vandq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_si128 ++FORCE_INLINE __m128i _mm_and_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vandq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compute the bitwise NOT of packed double-precision (64-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_pd ++FORCE_INLINE __m128d _mm_andnot_pd(__m128d a, __m128d b) ++{ ++ // *NOTE* argument swap ++ return vreinterpretq_m128d_s64( ++ vbicq_s64(vreinterpretq_s64_m128d(b), vreinterpretq_s64_m128d(a))); ++} ++ ++// Compute the bitwise NOT of 128 bits (representing integer data) in a and then ++// AND with b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_si128 ++FORCE_INLINE __m128i _mm_andnot_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vbicq_s32(vreinterpretq_s32_m128i(b), ++ vreinterpretq_s32_m128i(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu16 ++FORCE_INLINE __m128i _mm_avg_epu16(__m128i a, __m128i b) ++{ ++ return (__m128i) vrhaddq_u16(vreinterpretq_u16_m128i(a), ++ vreinterpretq_u16_m128i(b)); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu8 ++FORCE_INLINE __m128i _mm_avg_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vrhaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bslli_si128 ++#define _mm_bslli_si128(a, imm) _mm_slli_si128(a, imm) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bsrli_si128 ++#define _mm_bsrli_si128(a, imm) _mm_srli_si128(a, imm) ++ ++// Cast vector of type __m128d to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_ps ++FORCE_INLINE __m128 _mm_castpd_ps(__m128d a) ++{ ++ return vreinterpretq_m128_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128d to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_si128 ++FORCE_INLINE __m128i _mm_castpd_si128(__m128d a) ++{ ++ return vreinterpretq_m128i_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128 to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_pd ++FORCE_INLINE __m128d _mm_castps_pd(__m128 a) ++{ ++ return vreinterpretq_m128d_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128 to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_si128 ++FORCE_INLINE __m128i _mm_castps_si128(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128i to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_pd ++FORCE_INLINE __m128d _mm_castsi128_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vreinterpretq_f64_m128i(a)); ++#else ++ return vreinterpretq_m128d_f32(vreinterpretq_f32_m128i(a)); ++#endif ++} ++ ++// Cast vector of type __m128i to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_ps ++FORCE_INLINE __m128 _mm_castsi128_ps(__m128i a) ++{ ++ return vreinterpretq_m128_s32(vreinterpretq_s32_m128i(a)); ++} ++ ++// Invalidate and flush the cache line that contains p from all levels of the ++// cache hierarchy. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clflush ++#if defined(__APPLE__) ++#include ++#endif ++FORCE_INLINE void _mm_clflush(void const *p) ++{ ++ (void) p; ++ ++ /* sys_icache_invalidate is supported since macOS 10.5. ++ * However, it does not work on non-jailbroken iOS devices, although the ++ * compilation is successful. ++ */ ++#if defined(__APPLE__) ++ sys_icache_invalidate((void *) (uintptr_t) p, SSE2NEON_CACHELINE_SIZE); ++#elif defined(__GNUC__) || defined(__clang__) ++ uintptr_t ptr = (uintptr_t) p; ++ __builtin___clear_cache((char *) ptr, ++ (char *) ptr + SSE2NEON_CACHELINE_SIZE); ++#elif (_MSC_VER) && SSE2NEON_INCLUDE_WINDOWS_H ++ FlushInstructionCache(GetCurrentProcess(), p, SSE2NEON_CACHELINE_SIZE); ++#endif ++} ++ ++// Compare packed 16-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi16 ++FORCE_INLINE __m128i _mm_cmpeq_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vceqq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed 32-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi32 ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vceqq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed 8-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi8 ++FORCE_INLINE __m128i _mm_cmpeq_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vceqq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_pd ++FORCE_INLINE __m128d _mm_cmpeq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_sd ++FORCE_INLINE __m128d _mm_cmpeq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpeq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_pd ++FORCE_INLINE __m128d _mm_cmpge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) >= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_sd ++FORCE_INLINE __m128d _mm_cmpge_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpge_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi16 ++FORCE_INLINE __m128i _mm_cmpgt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcgtq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi32 ++FORCE_INLINE __m128i _mm_cmpgt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcgtq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi8 ++FORCE_INLINE __m128i _mm_cmpgt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcgtq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_pd ++FORCE_INLINE __m128d _mm_cmpgt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_sd ++FORCE_INLINE __m128d _mm_cmpgt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpgt_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_pd ++FORCE_INLINE __m128d _mm_cmple_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) <= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_sd ++FORCE_INLINE __m128d _mm_cmple_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmple_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtw instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi16 ++FORCE_INLINE __m128i _mm_cmplt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcltq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtd instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi32 ++FORCE_INLINE __m128i _mm_cmplt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcltq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtb instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi8 ++FORCE_INLINE __m128i _mm_cmplt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcltq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_pd ++FORCE_INLINE __m128d _mm_cmplt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_sd ++FORCE_INLINE __m128d _mm_cmplt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmplt_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_pd ++FORCE_INLINE __m128d _mm_cmpneq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_s32(vmvnq_s32(vreinterpretq_s32_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vmvnq_u32(vandq_u32(cmp, swapped))); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_sd ++FORCE_INLINE __m128d _mm_cmpneq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpneq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_pd ++FORCE_INLINE __m128d _mm_cmpnge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) >= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) >= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_sd ++FORCE_INLINE __m128d _mm_cmpnge_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnge_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_cmpngt_pd ++FORCE_INLINE __m128d _mm_cmpngt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) > (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) > (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_sd ++FORCE_INLINE __m128d _mm_cmpngt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpngt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_pd ++FORCE_INLINE __m128d _mm_cmpnle_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) <= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) <= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_sd ++FORCE_INLINE __m128d _mm_cmpnle_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnle_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_pd ++FORCE_INLINE __m128d _mm_cmpnlt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) < (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) < (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_sd ++FORCE_INLINE __m128d _mm_cmpnlt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnlt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_pd ++FORCE_INLINE __m128d _mm_cmpord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Excluding NaNs, any two floating point numbers can be compared. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_u64(vandq_u64(not_nan_a, not_nan_b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_sd ++FORCE_INLINE __m128d _mm_cmpord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_pd ++FORCE_INLINE __m128d _mm_cmpunord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Two NaNs are not equal in comparison operation. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_s32( ++ vmvnq_s32(vreinterpretq_s32_u64(vandq_u64(not_nan_a, not_nan_b)))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_sd ++FORCE_INLINE __m128d _mm_cmpunord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpunord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_sd ++FORCE_INLINE int _mm_comige_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgeq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 >= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_sd ++FORCE_INLINE int _mm_comigt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgtq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 > *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_sd ++FORCE_INLINE int _mm_comile_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcleq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 <= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_sd ++FORCE_INLINE int _mm_comilt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcltq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 < *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_sd ++FORCE_INLINE int _mm_comieq_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vceqq_f64(a, b), 0) & 0x1; ++#else ++ uint32x4_t a_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(a)); ++ uint32x4_t b_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(b), vreinterpretq_u32_m128d(b)); ++ uint32x4_t a_and_b_not_nan = vandq_u32(a_not_nan, b_not_nan); ++ uint32x4_t a_eq_b = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint64x2_t and_results = vandq_u64(vreinterpretq_u64_u32(a_and_b_not_nan), ++ vreinterpretq_u64_u32(a_eq_b)); ++ return vgetq_lane_u64(and_results, 0) & 0x1; ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_sd ++FORCE_INLINE int _mm_comineq_sd(__m128d a, __m128d b) ++{ ++ return !_mm_comieq_sd(a, b); ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_pd ++FORCE_INLINE __m128d _mm_cvtepi32_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a))))); ++#else ++ double a0 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++ double a1 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_ps ++FORCE_INLINE __m128 _mm_cvtepi32_ps(__m128i a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_epi32 ++FORCE_INLINE_OPTNONE __m128i _mm_cvtpd_epi32(__m128d a) ++{ ++// vrnd32xq_f64 not supported on clang ++#if defined(__ARM_FEATURE_FRINT) && !defined(__clang__) ++ float64x2_t rounded = vrnd32xq_f64(vreinterpretq_f64_m128d(a)); ++ int64x2_t integers = vcvtq_s64_f64(rounded); ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vmovn_s64(integers), vdup_n_s32(0))); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) d1, (int32_t) d0); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_pi32 ++FORCE_INLINE_OPTNONE __m64 _mm_cvtpd_pi32(__m128d a) ++{ ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) d0, (int32_t) d1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed single-precision (32-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_ps ++FORCE_INLINE __m128 _mm_cvtpd_ps(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float32x2_t tmp = vcvt_f32_f64(vreinterpretq_f64_m128d(a)); ++ return vreinterpretq_m128_f32(vcombine_f32(tmp, vdup_n_f32(0))); ++#else ++ float a0 = (float) ((double *) &a)[0]; ++ float a1 = (float) ((double *) &a)[1]; ++ return _mm_set_ps(0, 0, a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_pd ++FORCE_INLINE __m128d _mm_cvtpi32_pd(__m64 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vreinterpret_s32_m64(a)))); ++#else ++ double a0 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 0); ++ double a1 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_epi32 ++// *NOTE*. The default rounding mode on SSE is 'round to even', which ARMv7-A ++// does not support! It is supported on ARMv8-A however. ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128 a) ++{ ++#if defined(__ARM_FEATURE_FRINT) ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vrnd32xq_f32(a))); ++#elif (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: ++ return vreinterpretq_m128i_s32(vcvtnq_s32_f32(a)); ++ case _MM_ROUND_DOWN: ++ return vreinterpretq_m128i_s32(vcvtmq_s32_f32(a)); ++ case _MM_ROUND_UP: ++ return vreinterpretq_m128i_s32(vcvtpq_s32_f32(a)); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(a)); ++ } ++#else ++ float *f = (float *) &a; ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128i_s32( ++ vbslq_s32(is_delta_half, r_even, r_normal)); ++ } ++ case _MM_ROUND_DOWN: ++ return _mm_set_epi32(floorf(f[3]), floorf(f[2]), floorf(f[1]), ++ floorf(f[0])); ++ case _MM_ROUND_UP: ++ return _mm_set_epi32(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ++ ceilf(f[0])); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return _mm_set_epi32((int32_t) f[3], (int32_t) f[2], (int32_t) f[1], ++ (int32_t) f[0]); ++ } ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed double-precision (64-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pd ++FORCE_INLINE __m128d _mm_cvtps_pd(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvt_f64_f32(vget_low_f32(vreinterpretq_f32_m128(a)))); ++#else ++ double a0 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ double a1 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Copy the lower double-precision (64-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_f64 ++FORCE_INLINE double _mm_cvtsd_f64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (double) vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0); ++#else ++ return ((double *) &a)[0]; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si32 ++FORCE_INLINE int32_t _mm_cvtsd_si32(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int32_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int32_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64 ++FORCE_INLINE int64_t _mm_cvtsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int64_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64x ++#define _mm_cvtsd_si64x _mm_cvtsd_si64 ++ ++// Convert the lower double-precision (64-bit) floating-point element in b to a ++// single-precision (32-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_ss ++FORCE_INLINE __m128 _mm_cvtsd_ss(__m128 a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32(vsetq_lane_f32( ++ vget_lane_f32(vcvt_f32_f64(vreinterpretq_f64_m128d(b)), 0), ++ vreinterpretq_f32_m128(a), 0)); ++#else ++ return vreinterpretq_m128_f32(vsetq_lane_f32((float) ((double *) &b)[0], ++ vreinterpretq_f32_m128(a), 0)); ++#endif ++} ++ ++// Copy the lower 32-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si32 ++FORCE_INLINE int _mm_cvtsi128_si32(__m128i a) ++{ ++ return vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64 ++FORCE_INLINE int64_t _mm_cvtsi128_si64(__m128i a) ++{ ++ return vgetq_lane_s64(vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Convert the signed 32-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_sd ++FORCE_INLINE __m128d _mm_cvtsi32_sd(__m128d a, int32_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Copy 32-bit integer a to the lower elements of dst, and zero the upper ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_si128 ++FORCE_INLINE __m128i _mm_cvtsi32_si128(int a) ++{ ++ return vreinterpretq_m128i_s32(vsetq_lane_s32(a, vdupq_n_s32(0), 0)); ++} ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_sd ++FORCE_INLINE __m128d _mm_cvtsi64_sd(__m128d a, int64_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_si128 ++FORCE_INLINE __m128i _mm_cvtsi64_si128(int64_t a) ++{ ++ return vreinterpretq_m128i_s64(vsetq_lane_s64(a, vdupq_n_s64(0), 0)); ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_si128 ++#define _mm_cvtsi64x_si128(a) _mm_cvtsi64_si128(a) ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_sd ++#define _mm_cvtsi64x_sd(a, b) _mm_cvtsi64_sd(a, b) ++ ++// Convert the lower single-precision (32-bit) floating-point element in b to a ++// double-precision (64-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_sd ++FORCE_INLINE __m128d _mm_cvtss_sd(__m128d a, __m128 b) ++{ ++ double d = (double) vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(d, vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &d, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_epi32 ++FORCE_INLINE __m128i _mm_cvttpd_epi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) a1, (int32_t) a0); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_pi32 ++FORCE_INLINE __m64 _mm_cvttpd_pi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) a0, (int32_t) a1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_epi32 ++FORCE_INLINE __m128i _mm_cvttps_epi32(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a))); ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si32 ++FORCE_INLINE int32_t _mm_cvttsd_si32(__m128d a) ++{ ++ double ret = *((double *) &a); ++ return (int32_t) ret; ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64 ++FORCE_INLINE int64_t _mm_cvttsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_s64(vcvtq_s64_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ double ret = *((double *) &a); ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64x ++#define _mm_cvttsd_si64x(a) _mm_cvttsd_si64(a) ++ ++// Divide packed double-precision (64-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_pd ++FORCE_INLINE __m128d _mm_div_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] / db[0]; ++ c[1] = da[1] / db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Divide the lower double-precision (64-bit) floating-point element in a by the ++// lower double-precision (64-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper element from a to the upper ++// element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_sd ++FORCE_INLINE __m128d _mm_div_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t tmp = ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1), tmp, 1)); ++#else ++ return _mm_move_sd(a, _mm_div_pd(a, b)); ++#endif ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi16 ++// FORCE_INLINE int _mm_extract_epi16(__m128i a, __constrange(0,8) int imm) ++#define _mm_extract_epi16(a, imm) \ ++ vgetq_lane_u16(vreinterpretq_u16_m128i(a), (imm)) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi16 ++// FORCE_INLINE __m128i _mm_insert_epi16(__m128i a, int b, ++// __constrange(0,8) int imm) ++#define _mm_insert_epi16(a, b, imm) \ ++ vreinterpretq_m128i_s16( \ ++ vsetq_lane_s16((b), vreinterpretq_s16_m128i(a), (imm))) ++ ++// Load 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd ++FORCE_INLINE __m128d _mm_load_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64(p)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], fp[2], fp[3]}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd1 ++#define _mm_load_pd1 _mm_load1_pd ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower of dst, and zero the upper element. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_sd ++FORCE_INLINE __m128d _mm_load_sd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(*p, vdupq_n_f64(0), 0)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], 0, 0}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_si128 ++FORCE_INLINE __m128i _mm_load_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const int32_t *) p)); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_pd ++FORCE_INLINE __m128d _mm_load1_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_dup_f64(p)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(const int64_t *) p)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// upper element of dst, and copy the lower element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pd ++FORCE_INLINE __m128d _mm_loadh_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vget_low_f64(vreinterpretq_f64_m128d(a)), vld1_f64(p))); ++#else ++ return vreinterpretq_m128d_f32(vcombine_f32( ++ vget_low_f32(vreinterpretq_f32_m128d(a)), vld1_f32((const float *) p))); ++#endif ++} ++ ++// Load 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_epi64 ++FORCE_INLINE __m128i _mm_loadl_epi64(__m128i const *p) ++{ ++ /* Load the lower 64 bits of the value pointed to by p into the ++ * lower 64 bits of the result, zeroing the upper 64 bits of the result. ++ */ ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vld1_s32((int32_t const *) p), vcreate_s32(0))); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower element of dst, and copy the upper element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pd ++FORCE_INLINE __m128d _mm_loadl_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vld1_f64(p), vget_high_f64(vreinterpretq_f64_m128d(a)))); ++#else ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vld1_f32((const float *) p), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++#endif ++} ++ ++// Load 2 double-precision (64-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_pd ++FORCE_INLINE __m128d _mm_loadr_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t v = vld1q_f64(p); ++ return vreinterpretq_m128d_f64(vextq_f64(v, v, 1)); ++#else ++ int64x2_t v = vld1q_s64((const int64_t *) p); ++ return vreinterpretq_m128d_s64(vextq_s64(v, v, 1)); ++#endif ++} ++ ++// Loads two double-precision from unaligned memory, floating-point values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_pd ++FORCE_INLINE __m128d _mm_loadu_pd(const double *p) ++{ ++ return _mm_load_pd(p); ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si128 ++FORCE_INLINE __m128i _mm_loadu_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const unaligned_int32_t *) p)); ++} ++ ++// Load unaligned 32-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si32 ++FORCE_INLINE __m128i _mm_loadu_si32(const void *p) ++{ ++ return vreinterpretq_m128i_s32( ++ vsetq_lane_s32(*(const unaligned_int32_t *) p, vdupq_n_s32(0), 0)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Horizontally add adjacent pairs of intermediate ++// 32-bit integers, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_madd_epi16 ++FORCE_INLINE __m128i _mm_madd_epi16(__m128i a, __m128i b) ++{ ++ int32x4_t low = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t high = ++ vmull_high_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b)); ++ ++ return vreinterpretq_m128i_s32(vpaddq_s32(low, high)); ++#else ++ int32x4_t high = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ int32x2_t low_sum = vpadd_s32(vget_low_s32(low), vget_high_s32(low)); ++ int32x2_t high_sum = vpadd_s32(vget_low_s32(high), vget_high_s32(high)); ++ ++ return vreinterpretq_m128i_s32(vcombine_s32(low_sum, high_sum)); ++#endif ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. mem_addr does not need to be aligned ++// on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmoveu_si128 ++FORCE_INLINE void _mm_maskmoveu_si128(__m128i a, __m128i mask, char *mem_addr) ++{ ++ int8x16_t shr_mask = vshrq_n_s8(vreinterpretq_s8_m128i(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x16_t masked = ++ vbslq_s8(vreinterpretq_u8_s8(shr_mask), vreinterpretq_s8_m128i(a), ++ vreinterpretq_s8_m128(b)); ++ vst1q_s8((int8_t *) mem_addr, masked); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi16 ++FORCE_INLINE __m128i _mm_max_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmaxq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu8 ++FORCE_INLINE __m128i _mm_max_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vmaxq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pd ++FORCE_INLINE __m128d _mm_max_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcgtq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vmaxq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? a1 : b1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_sd ++FORCE_INLINE __m128d _mm_max_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_max_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] > db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi16 ++FORCE_INLINE __m128i _mm_min_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vminq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu8 ++FORCE_INLINE __m128i _mm_min_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vminq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pd ++FORCE_INLINE __m128d _mm_min_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcltq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vminq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? a1 : b1; ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_sd ++FORCE_INLINE __m128d _mm_min_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_min_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] < db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to the lower element of dst, and zero the ++// upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_epi64 ++FORCE_INLINE __m128i _mm_move_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vsetq_lane_s64(0, vreinterpretq_s64_m128i(a), 1)); ++} ++ ++// Move the lower double-precision (64-bit) floating-point element from b to the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_sd ++FORCE_INLINE __m128d _mm_move_sd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vget_low_f32(vreinterpretq_f32_m128d(b)), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_epi8 ++FORCE_INLINE int _mm_movemask_epi8(__m128i a) ++{ ++ // Use increasingly wide shifts+adds to collect the sign bits ++ // together. ++ // Since the widening shifts would be rather confusing to follow in little ++ // endian, everything will be illustrated in big endian order instead. This ++ // has a different result - the bits would actually be reversed on a big ++ // endian machine. ++ ++ // Starting input (only half the elements are shown): ++ // 89 ff 1d c0 00 10 99 33 ++ uint8x16_t input = vreinterpretq_u8_m128i(a); ++ ++ // Shift out everything but the sign bits with an unsigned shift right. ++ // ++ // Bytes of the vector:: ++ // 89 ff 1d c0 00 10 99 33 ++ // \ \ \ \ \ \ \ \ high_bits = (uint16x4_t)(input >> 7) ++ // | | | | | | | | ++ // 01 01 00 01 00 00 01 00 ++ // ++ // Bits of first important lane(s): ++ // 10001001 (89) ++ // \______ ++ // | ++ // 00000001 (01) ++ uint16x8_t high_bits = vreinterpretq_u16_u8(vshrq_n_u8(input, 7)); ++ ++ // Merge the even lanes together with a 16-bit unsigned shift right + add. ++ // 'xx' represents garbage data which will be ignored in the final result. ++ // In the important bytes, the add functions like a binary OR. ++ // ++ // 01 01 00 01 00 00 01 00 ++ // \_ | \_ | \_ | \_ | paired16 = (uint32x4_t)(input + (input >> 7)) ++ // \| \| \| \| ++ // xx 03 xx 01 xx 00 xx 02 ++ // ++ // 00000001 00000001 (01 01) ++ // \_______ | ++ // \| ++ // xxxxxxxx xxxxxx11 (xx 03) ++ uint32x4_t paired16 = ++ vreinterpretq_u32_u16(vsraq_n_u16(high_bits, high_bits, 7)); ++ ++ // Repeat with a wider 32-bit shift + add. ++ // xx 03 xx 01 xx 00 xx 02 ++ // \____ | \____ | paired32 = (uint64x1_t)(paired16 + (paired16 >> ++ // 14)) ++ // \| \| ++ // xx xx xx 0d xx xx xx 02 ++ // ++ // 00000011 00000001 (03 01) ++ // \\_____ || ++ // '----.\|| ++ // xxxxxxxx xxxx1101 (xx 0d) ++ uint64x2_t paired32 = ++ vreinterpretq_u64_u32(vsraq_n_u32(paired16, paired16, 14)); ++ ++ // Last, an even wider 64-bit shift + add to get our result in the low 8 bit ++ // lanes. xx xx xx 0d xx xx xx 02 ++ // \_________ | paired64 = (uint8x8_t)(paired32 + (paired32 >> ++ // 28)) ++ // \| ++ // xx xx xx xx xx xx xx d2 ++ // ++ // 00001101 00000010 (0d 02) ++ // \ \___ | | ++ // '---. \| | ++ // xxxxxxxx 11010010 (xx d2) ++ uint8x16_t paired64 = ++ vreinterpretq_u8_u64(vsraq_n_u64(paired32, paired32, 28)); ++ ++ // Extract the low 8 bits from each 64-bit lane with 2 8-bit extracts. ++ // xx xx xx xx xx xx xx d2 ++ // || return paired64[0] ++ // d2 ++ // Note: Little endian would return the correct value 4b (01001011) instead. ++ return vgetq_lane_u8(paired64, 0) | ((int) vgetq_lane_u8(paired64, 8) << 8); ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed double-precision (64-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pd ++FORCE_INLINE int _mm_movemask_pd(__m128d a) ++{ ++ uint64x2_t input = vreinterpretq_u64_m128d(a); ++ uint64x2_t high_bits = vshrq_n_u64(input, 63); ++ return (int) (vgetq_lane_u64(high_bits, 0) | ++ (vgetq_lane_u64(high_bits, 1) << 1)); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movepi64_pi64 ++FORCE_INLINE __m64 _mm_movepi64_pi64(__m128i a) ++{ ++ return vreinterpret_m64_s64(vget_low_s64(vreinterpretq_s64_m128i(a))); ++} ++ ++// Copy the 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movpi64_epi64 ++FORCE_INLINE __m128i _mm_movpi64_epi64(__m64 a) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vreinterpret_s64_m64(a), vdup_n_s64(0))); ++} ++ ++// Multiply the low unsigned 32-bit integers from each packed 64-bit element in ++// a and b, and store the unsigned 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epu32 ++FORCE_INLINE __m128i _mm_mul_epu32(__m128i a, __m128i b) ++{ ++ // vmull_u32 upcasts instead of masking, so we downcast. ++ uint32x2_t a_lo = vmovn_u64(vreinterpretq_u64_m128i(a)); ++ uint32x2_t b_lo = vmovn_u64(vreinterpretq_u64_m128i(b)); ++ return vreinterpretq_m128i_u64(vmull_u32(a_lo, b_lo)); ++} ++ ++// Multiply packed double-precision (64-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_pd ++FORCE_INLINE __m128d _mm_mul_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vmulq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] * db[0]; ++ c[1] = da[1] * db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Multiply the lower double-precision (64-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper element ++// from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_mul_sd ++FORCE_INLINE __m128d _mm_mul_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_mul_pd(a, b)); ++} ++ ++// Multiply the low unsigned 32-bit integers from a and b, and store the ++// unsigned 64-bit result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_su32 ++FORCE_INLINE __m64 _mm_mul_su32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u64(vget_low_u64( ++ vmull_u32(vreinterpret_u32_m64(a), vreinterpret_u32_m64(b)))); ++} ++ ++// Multiply the packed signed 16-bit integers in a and b, producing intermediate ++// 32-bit integers, and store the high 16 bits of the intermediate integers in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epi16 ++FORCE_INLINE __m128i _mm_mulhi_epi16(__m128i a, __m128i b) ++{ ++ /* FIXME: issue with large values because of result saturation */ ++ // int16x8_t ret = vqdmulhq_s16(vreinterpretq_s16_m128i(a), ++ // vreinterpretq_s16_m128i(b)); /* =2*a*b */ return ++ // vreinterpretq_m128i_s16(vshrq_n_s16(ret, 1)); ++ int16x4_t a3210 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b3210 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab3210 = vmull_s16(a3210, b3210); /* 3333222211110000 */ ++ int16x4_t a7654 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b7654 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab7654 = vmull_s16(a7654, b7654); /* 7777666655554444 */ ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_s32(ab3210), vreinterpretq_u16_s32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epu16 ++FORCE_INLINE __m128i _mm_mulhi_epu16(__m128i a, __m128i b) ++{ ++ uint16x4_t a3210 = vget_low_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b3210 = vget_low_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab3210 = vmull_u16(a3210, b3210); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32x4_t ab7654 = ++ vmull_high_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ uint16x8_t r = vuzp2q_u16(vreinterpretq_u16_u32(ab3210), ++ vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r); ++#else ++ uint16x4_t a7654 = vget_high_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b7654 = vget_high_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab7654 = vmull_u16(a7654, b7654); ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_u32(ab3210), vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++#endif ++} ++ ++// Multiply the packed 16-bit integers in a and b, producing intermediate 32-bit ++// integers, and store the low 16 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi16 ++FORCE_INLINE __m128i _mm_mullo_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmulq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compute the bitwise OR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_or_pd ++FORCE_INLINE __m128d _mm_or_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vorrq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise OR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_si128 ++FORCE_INLINE __m128i _mm_or_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vorrq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi16 ++FORCE_INLINE __m128i _mm_packs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vqmovn_s16(vreinterpretq_s16_m128i(a)), ++ vqmovn_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi32 ++FORCE_INLINE __m128i _mm_packs_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vqmovn_s32(vreinterpretq_s32_m128i(a)), ++ vqmovn_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi16 ++FORCE_INLINE __m128i _mm_packus_epi16(const __m128i a, const __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcombine_u8(vqmovun_s16(vreinterpretq_s16_m128i(a)), ++ vqmovun_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Pause the processor. This is typically used in spin-wait loops and depending ++// on the x86 processor typical values are in the 40-100 cycle range. The ++// 'yield' instruction isn't a good fit because it's effectively a nop on most ++// Arm cores. Experience with several databases has shown has shown an 'isb' is ++// a reasonable approximation. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_pause ++FORCE_INLINE void _mm_pause(void) ++{ ++#if defined(_MSC_VER) ++ __isb(_ARM64_BARRIER_SY); ++#else ++ __asm__ __volatile__("isb\n"); ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce two ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of 64-bit elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_epu8 ++FORCE_INLINE __m128i _mm_sad_epu8(__m128i a, __m128i b) ++{ ++ uint16x8_t t = vpaddlq_u8(vabdq_u8((uint8x16_t) a, (uint8x16_t) b)); ++ return vreinterpretq_m128i_u64(vpaddlq_u32(vpaddlq_u16(t))); ++} ++ ++// Set packed 16-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi16 ++FORCE_INLINE __m128i _mm_set_epi16(short i7, ++ short i6, ++ short i5, ++ short i4, ++ short i3, ++ short i2, ++ short i1, ++ short i0) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {i0, i1, i2, i3, i4, i5, i6, i7}; ++ return vreinterpretq_m128i_s16(vld1q_s16(data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi32 ++FORCE_INLINE __m128i _mm_set_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i0, i1, i2, i3}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64 ++FORCE_INLINE __m128i _mm_set_epi64(__m64 i1, __m64 i2) ++{ ++ return _mm_set_epi64x(vget_lane_s64(i1, 0), vget_lane_s64(i2, 0)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64x ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t i1, int64_t i2) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vcreate_s64(i2), vcreate_s64(i1))); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi8 ++FORCE_INLINE __m128i _mm_set_epi8(signed char b15, ++ signed char b14, ++ signed char b13, ++ signed char b12, ++ signed char b11, ++ signed char b10, ++ signed char b9, ++ signed char b8, ++ signed char b7, ++ signed char b6, ++ signed char b5, ++ signed char b4, ++ signed char b3, ++ signed char b2, ++ signed char b1, ++ signed char b0) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd ++FORCE_INLINE __m128d _mm_set_pd(double e1, double e0) ++{ ++ double ALIGN_STRUCT(16) data[2] = {e0, e1}; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64((float64_t *) data)); ++#else ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) data)); ++#endif ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd1 ++#define _mm_set_pd1 _mm_set1_pd ++ ++// Copy double-precision (64-bit) floating-point element a to the lower element ++// of dst, and zero the upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_sd ++FORCE_INLINE __m128d _mm_set_sd(double a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(a, vdupq_n_f64(0), 0)); ++#else ++ return _mm_set_pd(0, a); ++#endif ++} ++ ++// Broadcast 16-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi16 ++FORCE_INLINE __m128i _mm_set1_epi16(short w) ++{ ++ return vreinterpretq_m128i_s16(vdupq_n_s16(w)); ++} ++ ++// Broadcast 32-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi32 ++FORCE_INLINE __m128i _mm_set1_epi32(int _i) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(_i)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64 ++FORCE_INLINE __m128i _mm_set1_epi64(__m64 _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_lane_s64(_i, 0)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64x ++FORCE_INLINE __m128i _mm_set1_epi64x(int64_t _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_n_s64(_i)); ++} ++ ++// Broadcast 8-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi8 ++FORCE_INLINE __m128i _mm_set1_epi8(signed char w) ++{ ++ return vreinterpretq_m128i_s8(vdupq_n_s8(w)); ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_pd ++FORCE_INLINE __m128d _mm_set1_pd(double d) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(d)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(int64_t *) &d)); ++#endif ++} ++ ++// Set packed 16-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi16 ++FORCE_INLINE __m128i _mm_setr_epi16(short w0, ++ short w1, ++ short w2, ++ short w3, ++ short w4, ++ short w5, ++ short w6, ++ short w7) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {w0, w1, w2, w3, w4, w5, w6, w7}; ++ return vreinterpretq_m128i_s16(vld1q_s16((int16_t *) data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi32 ++FORCE_INLINE __m128i _mm_setr_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i3, i2, i1, i0}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi64 ++FORCE_INLINE __m128i _mm_setr_epi64(__m64 e1, __m64 e0) ++{ ++ return vreinterpretq_m128i_s64(vcombine_s64(e1, e0)); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi8 ++FORCE_INLINE __m128i _mm_setr_epi8(signed char b0, ++ signed char b1, ++ signed char b2, ++ signed char b3, ++ signed char b4, ++ signed char b5, ++ signed char b6, ++ signed char b7, ++ signed char b8, ++ signed char b9, ++ signed char b10, ++ signed char b11, ++ signed char b12, ++ signed char b13, ++ signed char b14, ++ signed char b15) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_pd ++FORCE_INLINE __m128d _mm_setr_pd(double e1, double e0) ++{ ++ return _mm_set_pd(e0, e1); ++} ++ ++// Return vector of type __m128d with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_pd ++FORCE_INLINE __m128d _mm_setzero_pd(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(0)); ++#else ++ return vreinterpretq_m128d_f32(vdupq_n_f32(0)); ++#endif ++} ++ ++// Return vector of type __m128i with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_si128 ++FORCE_INLINE __m128i _mm_setzero_si128(void) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(0)); ++} ++ ++// Shuffle 32-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi32 ++// FORCE_INLINE __m128i _mm_shuffle_epi32(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shuffle_epi32(a, imm) \ ++ __extension__({ \ ++ int32x4_t _input = vreinterpretq_s32_m128i(a); \ ++ int32x4_t _shuf = \ ++ vshuffleq_s32(_input, _input, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ ((imm) >> 4) & 0x3, ((imm) >> 6) & 0x3); \ ++ vreinterpretq_m128i_s32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_epi32(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, __m128i ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_epi_1032(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_epi_2301(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_epi_0321(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_epi_2103(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_shuffle_epi_1010(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_epi_1001(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_epi_0101(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 1, 1): \ ++ ret = _mm_shuffle_epi_2211(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 2, 2): \ ++ ret = _mm_shuffle_epi_0122(_a); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 2): \ ++ ret = _mm_shuffle_epi_3332(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 0, 0): \ ++ ret = _mm_shuffle_epi32_splat(_a, 0); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 1, 1): \ ++ ret = _mm_shuffle_epi32_splat(_a, 1); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 2, 2): \ ++ ret = _mm_shuffle_epi32_splat(_a, 2); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 3): \ ++ ret = _mm_shuffle_epi32_splat(_a, 3); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_epi32_default(_a, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Shuffle double-precision (64-bit) floating-point elements using the control ++// in imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pd ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pd(a, b, imm8) \ ++ vreinterpretq_m128d_s64( \ ++ vshuffleq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b), \ ++ imm8 & 0x1, ((imm8 & 0x2) >> 1) + 2)) ++#else ++#define _mm_shuffle_pd(a, b, imm8) \ ++ _mm_castsi128_pd(_mm_set_epi64x( \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(b), (imm8 & 0x2) >> 1), \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(a), imm8 & 0x1))) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflehi_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflehi_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = \ ++ vshuffleq_s16(_input, _input, 0, 1, 2, 3, ((imm) & (0x3)) + 4, \ ++ (((imm) >> 2) & 0x3) + 4, (((imm) >> 4) & 0x3) + 4, \ ++ (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflehi_epi16(a, imm) _mm_shufflehi_epi16_function((a), (imm)) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflelo_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflelo_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = vshuffleq_s16( \ ++ _input, _input, ((imm) & (0x3)), (((imm) >> 2) & 0x3), \ ++ (((imm) >> 4) & 0x3), (((imm) >> 6) & 0x3), 4, 5, 6, 7); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflelo_epi16(a, imm) _mm_shufflelo_epi16_function((a), (imm)) ++#endif ++ ++// Shift packed 16-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi16 ++FORCE_INLINE __m128i _mm_sll_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16((int16_t) c); ++ return vreinterpretq_m128i_s16(vshlq_s16(vreinterpretq_s16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi32 ++FORCE_INLINE __m128i _mm_sll_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32((int32_t) c); ++ return vreinterpretq_m128i_s32(vshlq_s32(vreinterpretq_s32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi64 ++FORCE_INLINE __m128i _mm_sll_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64((int64_t) c); ++ return vreinterpretq_m128i_s64(vshlq_s64(vreinterpretq_s64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi16 ++FORCE_INLINE __m128i _mm_slli_epi16(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~15)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16(vreinterpretq_s16_m128i(a), vdupq_n_s16(imm))); ++} ++ ++// Shift packed 32-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi32 ++FORCE_INLINE __m128i _mm_slli_epi32(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~31)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32(vreinterpretq_s32_m128i(a), vdupq_n_s32(imm))); ++} ++ ++// Shift packed 64-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi64 ++FORCE_INLINE __m128i _mm_slli_epi64(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~63)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s64( ++ vshlq_s64(vreinterpretq_s64_m128i(a), vdupq_n_s64(imm))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_si128 ++#define _mm_slli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely(imm == 0)) ret = vreinterpretq_s8_m128i(_a); \ ++ else if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vdupq_n_s8(0), vreinterpretq_s8_m128i(_a), \ ++ ((imm <= 0 || imm > 15) ? 0 : (16 - imm))); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Compute the square root of packed double-precision (64-bit) floating-point ++// elements in a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_pd ++FORCE_INLINE __m128d _mm_sqrt_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsqrtq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double a0 = sqrt(((double *) &a)[0]); ++ double a1 = sqrt(((double *) &a)[1]); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Compute the square root of the lower double-precision (64-bit) floating-point ++// element in b, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_sd ++FORCE_INLINE __m128d _mm_sqrt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_sqrt_pd(b)); ++#else ++ return _mm_set_pd(((double *) &a)[1], sqrt(((double *) &b)[0])); ++#endif ++} ++ ++// Shift packed 16-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi16 ++FORCE_INLINE __m128i _mm_sra_epi16(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_cmplt_epi16(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16((int16x8_t) a, vdupq_n_s16((int) -c))); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi32 ++FORCE_INLINE __m128i _mm_sra_epi32(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_cmplt_epi32(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32((int32x4_t) a, vdupq_n_s32((int) -c))); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in sign ++// bits, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi16 ++FORCE_INLINE __m128i _mm_srai_epi16(__m128i a, int imm) ++{ ++ const int count = (imm & ~15) ? 15 : imm; ++ return (__m128i) vshlq_s16((int16x8_t) a, vdupq_n_s16(-count)); ++} ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi32 ++// FORCE_INLINE __m128i _mm_srai_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srai_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) == 0)) { \ ++ ret = _a; \ ++ } else if (_sse2neon_likely(0 < (imm) && (imm) < 32)) { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshlq_s32(vreinterpretq_s32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } else { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshrq_n_s32(vreinterpretq_s32_m128i(_a), 31)); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 16-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi16 ++FORCE_INLINE __m128i _mm_srl_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16(-(int16_t) c); ++ return vreinterpretq_m128i_u16(vshlq_u16(vreinterpretq_u16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi32 ++FORCE_INLINE __m128i _mm_srl_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32(-(int32_t) c); ++ return vreinterpretq_m128i_u32(vshlq_u32(vreinterpretq_u32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi64 ++FORCE_INLINE __m128i _mm_srl_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64(-(int64_t) c); ++ return vreinterpretq_m128i_u64(vshlq_u64(vreinterpretq_u64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi16 ++#define _mm_srli_epi16(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~15)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u16( \ ++ vshlq_u16(vreinterpretq_u16_m128i(_a), vdupq_n_s16(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi32 ++// FORCE_INLINE __m128i _mm_srli_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srli_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~31)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u32( \ ++ vshlq_u32(vreinterpretq_u32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 64-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi64 ++#define _mm_srli_epi64(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~63)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u64( \ ++ vshlq_u64(vreinterpretq_u64_m128i(_a), vdupq_n_s64(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_si128 ++#define _mm_srli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vreinterpretq_s8_m128i(_a), vdupq_n_s8(0), \ ++ (imm > 15 ? 0 : imm)); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd ++FORCE_INLINE void _mm_store_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64((float64_t *) mem_addr, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_f32((float32_t *) mem_addr, vreinterpretq_f32_m128d(a)); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd1 ++FORCE_INLINE void _mm_store_pd1(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x1_t a_low = vget_low_f64(vreinterpretq_f64_m128d(a)); ++ vst1q_f64((float64_t *) mem_addr, ++ vreinterpretq_f64_m128d(vcombine_f64(a_low, a_low))); ++#else ++ float32x2_t a_low = vget_low_f32(vreinterpretq_f32_m128d(a)); ++ vst1q_f32((float32_t *) mem_addr, ++ vreinterpretq_f32_m128d(vcombine_f32(a_low, a_low))); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_store_sd ++FORCE_INLINE void _mm_store_sd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_u64((uint64_t *) mem_addr, vget_low_u64(vreinterpretq_u64_m128d(a))); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_si128 ++FORCE_INLINE void _mm_store_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#expand=9,526,5601&text=_mm_store1_pd ++#define _mm_store1_pd _mm_store_pd1 ++ ++// Store the upper double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pd ++FORCE_INLINE void _mm_storeh_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_high_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_high_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 64-bit integer from the first element of a into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_epi64 ++FORCE_INLINE void _mm_storel_epi64(__m128i *a, __m128i b) ++{ ++ vst1_u64((uint64_t *) a, vget_low_u64(vreinterpretq_u64_m128i(b))); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pd ++FORCE_INLINE void _mm_storel_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_low_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 2 double-precision (64-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_pd ++FORCE_INLINE void _mm_storer_pd(double *mem_addr, __m128d a) ++{ ++ float32x4_t f = vreinterpretq_f32_m128d(a); ++ _mm_store_pd(mem_addr, vreinterpretq_m128d_f32(vextq_f32(f, f, 2))); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_pd ++FORCE_INLINE void _mm_storeu_pd(double *mem_addr, __m128d a) ++{ ++ _mm_store_pd(mem_addr, a); ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si128 ++FORCE_INLINE void _mm_storeu_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store 32-bit integer from the first element of a into memory. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si32 ++FORCE_INLINE void _mm_storeu_si32(void *p, __m128i a) ++{ ++ vst1q_lane_s32((int32_t *) p, vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory using a non-temporal memory hint. mem_addr must ++// be aligned on a 16-byte boundary or a general-protection exception may be ++// generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pd ++FORCE_INLINE void _mm_stream_pd(double *p, __m128d a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (__m128d *) p); ++#elif defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64(p, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128d(a)); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory using a non-temporal memory ++// hint. mem_addr must be aligned on a 16-byte boundary or a general-protection ++// exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si128 ++FORCE_INLINE void _mm_stream_si128(__m128i *p, __m128i a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, p); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128i(a)); ++#endif ++} ++ ++// Store 32-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si32 ++FORCE_INLINE void _mm_stream_si32(int *p, int a) ++{ ++ vst1q_lane_s32((int32_t *) p, vdupq_n_s32(a), 0); ++} ++ ++// Store 64-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si64 ++FORCE_INLINE void _mm_stream_si64(__int64 *p, __int64 a) ++{ ++ vst1_s64((int64_t *) p, vdup_n_s64((int64_t) a)); ++} ++ ++// Subtract packed 16-bit integers in b from packed 16-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi16 ++FORCE_INLINE __m128i _mm_sub_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed 32-bit integers in b from packed 32-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi32 ++FORCE_INLINE __m128i _mm_sub_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Subtract packed 64-bit integers in b from packed 64-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi64 ++FORCE_INLINE __m128i _mm_sub_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vsubq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Subtract packed 8-bit integers in b from packed 8-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi8 ++FORCE_INLINE __m128i _mm_sub_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed double-precision (64-bit) floating-point elements in b from ++// packed double-precision (64-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_sub_pd ++FORCE_INLINE __m128d _mm_sub_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] - db[0]; ++ c[1] = da[1] - db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Subtract the lower double-precision (64-bit) floating-point element in b from ++// the lower double-precision (64-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_sd ++FORCE_INLINE __m128d _mm_sub_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_sub_pd(a, b)); ++} ++ ++// Subtract 64-bit integer b from 64-bit integer a, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_si64 ++FORCE_INLINE __m64 _mm_sub_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vsub_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Subtract packed signed 16-bit integers in b from packed 16-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi16 ++FORCE_INLINE __m128i _mm_subs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed signed 8-bit integers in b from packed 8-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi8 ++FORCE_INLINE __m128i _mm_subs_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed unsigned 16-bit integers in b from packed unsigned 16-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu16 ++FORCE_INLINE __m128i _mm_subs_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqsubq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Subtract packed unsigned 8-bit integers in b from packed unsigned 8-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu8 ++FORCE_INLINE __m128i _mm_subs_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqsubq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++#define _mm_ucomieq_sd _mm_comieq_sd ++#define _mm_ucomige_sd _mm_comige_sd ++#define _mm_ucomigt_sd _mm_comigt_sd ++#define _mm_ucomile_sd _mm_comile_sd ++#define _mm_ucomilt_sd _mm_comilt_sd ++#define _mm_ucomineq_sd _mm_comineq_sd ++ ++// Return vector of type __m128d with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_pd ++FORCE_INLINE __m128d _mm_undefined_pd(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128d a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_pd(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi16 ++FORCE_INLINE __m128i _mm_unpackhi_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip2q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi32 ++FORCE_INLINE __m128i _mm_unpackhi_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip2q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_high_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi64 ++FORCE_INLINE __m128i _mm_unpackhi_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip2q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_h = vget_high_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_h = vget_high_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_h, b_h)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the high half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi8 ++FORCE_INLINE __m128i _mm_unpackhi_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip2q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the high half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_pd ++FORCE_INLINE __m128d _mm_unpackhi_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip2q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_high_s64(vreinterpretq_s64_m128d(a)), ++ vget_high_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi16 ++FORCE_INLINE __m128i _mm_unpacklo_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip1q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi32 ++FORCE_INLINE __m128i _mm_unpacklo_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip1q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_low_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi64 ++FORCE_INLINE __m128i _mm_unpacklo_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip1q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_l = vget_low_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_l = vget_low_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_l, b_l)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi8 ++FORCE_INLINE __m128i _mm_unpacklo_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip1q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_pd ++FORCE_INLINE __m128d _mm_unpacklo_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip1q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_low_s64(vreinterpretq_s64_m128d(a)), ++ vget_low_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Compute the bitwise XOR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_pd ++FORCE_INLINE __m128d _mm_xor_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ veorq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise XOR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_si128 ++FORCE_INLINE __m128i _mm_xor_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ veorq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++/* SSE3 */ ++ ++// Alternatively add and subtract packed double-precision (64-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_addsub_pd ++FORCE_INLINE __m128d _mm_addsub_pd(__m128d a, __m128d b) ++{ ++ _sse2neon_const __m128d mask = _mm_set_pd(1.0f, -1.0f); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vfmaq_f64(vreinterpretq_f64_m128d(a), ++ vreinterpretq_f64_m128d(b), ++ vreinterpretq_f64_m128d(mask))); ++#else ++ return _mm_add_pd(_mm_mul_pd(b, mask), a); ++#endif ++} ++ ++// Alternatively add and subtract packed single-precision (32-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=addsub_ps ++FORCE_INLINE __m128 _mm_addsub_ps(__m128 a, __m128 b) ++{ ++ _sse2neon_const __m128 mask = _mm_setr_ps(-1.0f, 1.0f, -1.0f, 1.0f); ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_FMA) /* VFPv4+ */ ++ return vreinterpretq_m128_f32(vfmaq_f32(vreinterpretq_f32_m128(a), ++ vreinterpretq_f32_m128(mask), ++ vreinterpretq_f32_m128(b))); ++#else ++ return _mm_add_ps(_mm_mul_ps(b, mask), a); ++#endif ++} ++ ++// Horizontally add adjacent pairs of double-precision (64-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pd ++FORCE_INLINE __m128d _mm_hadd_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vpaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[] = {da[0] + da[1], db[0] + db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of single-precision (32-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_ps ++FORCE_INLINE __m128 _mm_hadd_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vpaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vpadd_f32(a10, a32), vpadd_f32(b10, b32))); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of double-precision (64-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pd ++FORCE_INLINE __m128d _mm_hsub_pd(__m128d _a, __m128d _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vuzp1q_f64(a, b), vuzp2q_f64(a, b))); ++#else ++ double *da = (double *) &_a; ++ double *db = (double *) &_b; ++ double c[] = {da[0] - da[1], db[0] - db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of single-precision (32-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_ps ++FORCE_INLINE __m128 _mm_hsub_ps(__m128 _a, __m128 _b) ++{ ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vuzp1q_f32(a, b), vuzp2q_f32(a, b))); ++#else ++ float32x4x2_t c = vuzpq_f32(a, b); ++ return vreinterpretq_m128_f32(vsubq_f32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Load 128-bits of integer data from unaligned memory into dst. This intrinsic ++// may perform better than _mm_loadu_si128 when the data crosses a cache line ++// boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lddqu_si128 ++#define _mm_lddqu_si128 _mm_loadu_si128 ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loaddup_pd ++#define _mm_loaddup_pd _mm_load1_pd ++ ++// Duplicate the low double-precision (64-bit) floating-point element from a, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movedup_pd ++FORCE_INLINE __m128d _mm_movedup_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdupq_laneq_f64(vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_u64( ++ vdupq_n_u64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0))); ++#endif ++} ++ ++// Duplicate odd-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehdup_ps ++FORCE_INLINE __m128 _mm_movehdup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 1, 1, 3, 3)); ++#else ++ float32_t a1 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ float32_t a3 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 3); ++ float ALIGN_STRUCT(16) data[4] = {a1, a1, a3, a3}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Duplicate even-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_moveldup_ps ++FORCE_INLINE __m128 _mm_moveldup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 0, 0, 2, 2)); ++#else ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32_t a2 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 2); ++ float ALIGN_STRUCT(16) data[4] = {a0, a0, a2, a2}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++/* SSSE3 */ ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi16 ++FORCE_INLINE __m128i _mm_abs_epi16(__m128i a) ++{ ++ return vreinterpretq_m128i_s16(vabsq_s16(vreinterpretq_s16_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi32 ++FORCE_INLINE __m128i _mm_abs_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32(vabsq_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi8 ++FORCE_INLINE __m128i _mm_abs_epi8(__m128i a) ++{ ++ return vreinterpretq_m128i_s8(vabsq_s8(vreinterpretq_s8_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi16 ++FORCE_INLINE __m64 _mm_abs_pi16(__m64 a) ++{ ++ return vreinterpret_m64_s16(vabs_s16(vreinterpret_s16_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi32 ++FORCE_INLINE __m64 _mm_abs_pi32(__m64 a) ++{ ++ return vreinterpret_m64_s32(vabs_s32(vreinterpret_s32_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi8 ++FORCE_INLINE __m64 _mm_abs_pi8(__m64 a) ++{ ++ return vreinterpret_m64_s8(vabs_s8(vreinterpret_s8_m64(a))); ++} ++ ++// Concatenate 16-byte blocks in a and b into a 32-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 16 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_epi8 ++#if defined(__GNUC__) && !defined(__clang__) ++#define _mm_alignr_epi8(a, b, imm) \ ++ __extension__({ \ ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); \ ++ uint8x16_t _b = vreinterpretq_u8_m128i(b); \ ++ __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) \ ++ ret = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) \ ++ ret = _mm_srli_si128(a, imm >= 16 ? imm - 16 : 0); \ ++ else \ ++ ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(_b, _a, imm < 16 ? imm : 0)); \ ++ ret; \ ++ }) ++ ++#else ++#define _mm_alignr_epi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, uint8x16_t __a = vreinterpretq_u8_m128i(_a); \ ++ uint8x16_t __b = vreinterpretq_u8_m128i(_b); __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) ret = \ ++ vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) ret = \ ++ _mm_srli_si128(_a, imm >= 16 ? imm - 16 : 0); \ ++ else ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(__b, __a, imm < 16 ? imm : 0)); \ ++ _sse2neon_return(ret);) ++ ++#endif ++ ++// Concatenate 8-byte blocks in a and b into a 16-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 8 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_pi8 ++#define _mm_alignr_pi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m64, a, b, __m64 ret; if (_sse2neon_unlikely((imm) >= 16)) { \ ++ ret = vreinterpret_m64_s8(vdup_n_s8(0)); \ ++ } else { \ ++ uint8x8_t tmp_low; \ ++ uint8x8_t tmp_high; \ ++ if ((imm) >= 8) { \ ++ const int idx = (imm) -8; \ ++ tmp_low = vreinterpret_u8_m64(_a); \ ++ tmp_high = vdup_n_u8(0); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } else { \ ++ const int idx = (imm); \ ++ tmp_low = vreinterpret_u8_m64(_b); \ ++ tmp_high = vreinterpret_u8_m64(_a); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } \ ++ } _sse2neon_return(ret);) ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi16 ++FORCE_INLINE __m128i _mm_hadd_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16(vpaddq_s16(a, b)); ++#else ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(vget_low_s16(a), vget_high_s16(a)), ++ vpadd_s16(vget_low_s16(b), vget_high_s16(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi32 ++FORCE_INLINE __m128i _mm_hadd_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32(vpaddq_s32(a, b)); ++#else ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vpadd_s32(vget_low_s32(a), vget_high_s32(a)), ++ vpadd_s32(vget_low_s32(b), vget_high_s32(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi16 ++FORCE_INLINE __m64 _mm_hadd_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vpadd_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi32 ++FORCE_INLINE __m64 _mm_hadd_pi32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s32( ++ vpadd_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_epi16 ++FORCE_INLINE __m128i _mm_hadds_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ return vreinterpretq_s64_s16( ++ vqaddq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ // Interleave using vshrn/vmovn ++ // [a0|a2|a4|a6|b0|b2|b4|b6] ++ // [a1|a3|a5|a7|b1|b3|b5|b7] ++ int16x8_t ab0246 = vcombine_s16(vmovn_s32(a), vmovn_s32(b)); ++ int16x8_t ab1357 = vcombine_s16(vshrn_n_s32(a, 16), vshrn_n_s32(b, 16)); ++ // Saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(ab0246, ab1357)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_pi16 ++FORCE_INLINE __m64 _mm_hadds_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_s64_s16(vqadd_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t res = vuzp_s16(a, b); ++ return vreinterpret_s64_s16(vqadd_s16(res.val[0], res.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi16 ++FORCE_INLINE __m128i _mm_hsub_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi32 ++FORCE_INLINE __m128i _mm_hsub_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vuzp1q_s32(a, b), vuzp2q_s32(a, b))); ++#else ++ int32x4x2_t c = vuzpq_s32(a, b); ++ return vreinterpretq_m128i_s32(vsubq_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pi16 ++FORCE_INLINE __m64 _mm_hsub_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_hsub_pi32 ++FORCE_INLINE __m64 _mm_hsub_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s32(vsub_s32(vuzp1_s32(a, b), vuzp2_s32(a, b))); ++#else ++ int32x2x2_t c = vuzp_s32(a, b); ++ return vreinterpret_m64_s32(vsub_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_epi16 ++FORCE_INLINE __m128i _mm_hsubs_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vqsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_pi16 ++FORCE_INLINE __m64 _mm_hsubs_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vqsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vqsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, ++// and pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_epi16 ++FORCE_INLINE __m128i _mm_maddubs_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ int16x8_t tl = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_low_u8(a))), ++ vmovl_s8(vget_low_s8(b))); ++ int16x8_t th = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_high_u8(a))), ++ vmovl_s8(vget_high_s8(b))); ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vuzp1q_s16(tl, th), vuzp2q_s16(tl, th))); ++#else ++ // This would be much simpler if x86 would choose to zero extend OR sign ++ // extend, not both. This could probably be optimized better. ++ uint16x8_t a = vreinterpretq_u16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // Zero extend a ++ int16x8_t a_odd = vreinterpretq_s16_u16(vshrq_n_u16(a, 8)); ++ int16x8_t a_even = vreinterpretq_s16_u16(vbicq_u16(a, vdupq_n_u16(0xff00))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x8_t b_even = vshrq_n_s16(vshlq_n_s16(b, 8), 8); ++ int16x8_t b_odd = vshrq_n_s16(b, 8); ++ ++ // multiply ++ int16x8_t prod1 = vmulq_s16(a_even, b_even); ++ int16x8_t prod2 = vmulq_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(prod1, prod2)); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, and ++// pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_pi16 ++FORCE_INLINE __m64 _mm_maddubs_pi16(__m64 _a, __m64 _b) ++{ ++ uint16x4_t a = vreinterpret_u16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // Zero extend a ++ int16x4_t a_odd = vreinterpret_s16_u16(vshr_n_u16(a, 8)); ++ int16x4_t a_even = vreinterpret_s16_u16(vand_u16(a, vdup_n_u16(0xff))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x4_t b_even = vshr_n_s16(vshl_n_s16(b, 8), 8); ++ int16x4_t b_odd = vshr_n_s16(b, 8); ++ ++ // multiply ++ int16x4_t prod1 = vmul_s16(a_even, b_even); ++ int16x4_t prod2 = vmul_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpret_m64_s16(vqadd_s16(prod1, prod2)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Shift right by 15 bits while rounding up, and store ++// the packed 16-bit integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_epi16 ++FORCE_INLINE __m128i _mm_mulhrs_epi16(__m128i a, __m128i b) ++{ ++ // Has issues due to saturation ++ // return vreinterpretq_m128i_s16(vqrdmulhq_s16(a, b)); ++ ++ // Multiply ++ int32x4_t mul_lo = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int32x4_t mul_hi = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ // Rounding narrowing shift right ++ // narrow = (int16_t)((mul + 16384) >> 15); ++ int16x4_t narrow_lo = vrshrn_n_s32(mul_lo, 15); ++ int16x4_t narrow_hi = vrshrn_n_s32(mul_hi, 15); ++ ++ // Join together ++ return vreinterpretq_m128i_s16(vcombine_s16(narrow_lo, narrow_hi)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Truncate each intermediate integer to the 18 most ++// significant bits, round by adding 1, and store bits [16:1] to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_pi16 ++FORCE_INLINE __m64 _mm_mulhrs_pi16(__m64 a, __m64 b) ++{ ++ int32x4_t mul_extend = ++ vmull_s16((vreinterpret_s16_m64(a)), (vreinterpret_s16_m64(b))); ++ ++ // Rounding narrowing shift right ++ return vreinterpret_m64_s16(vrshrn_n_s32(mul_extend, 15)); ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi8 ++FORCE_INLINE __m128i _mm_shuffle_epi8(__m128i a, __m128i b) ++{ ++ int8x16_t tbl = vreinterpretq_s8_m128i(a); // input a ++ uint8x16_t idx = vreinterpretq_u8_m128i(b); // input b ++ uint8x16_t idx_masked = ++ vandq_u8(idx, vdupq_n_u8(0x8F)); // avoid using meaningless bits ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8(vqtbl1q_s8(tbl, idx_masked)); ++#elif defined(__GNUC__) ++ int8x16_t ret; ++ // %e and %f represent the even and odd D registers ++ // respectively. ++ __asm__ __volatile__( ++ "vtbl.8 %e[ret], {%e[tbl], %f[tbl]}, %e[idx]\n" ++ "vtbl.8 %f[ret], {%e[tbl], %f[tbl]}, %f[idx]\n" ++ : [ret] "=&w"(ret) ++ : [tbl] "w"(tbl), [idx] "w"(idx_masked)); ++ return vreinterpretq_m128i_s8(ret); ++#else ++ // use this line if testing on aarch64 ++ int8x8x2_t a_split = {vget_low_s8(tbl), vget_high_s8(tbl)}; ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vtbl2_s8(a_split, vget_low_u8(idx_masked)), ++ vtbl2_s8(a_split, vget_high_u8(idx_masked)))); ++#endif ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi8 ++FORCE_INLINE __m64 _mm_shuffle_pi8(__m64 a, __m64 b) ++{ ++ const int8x8_t controlMask = ++ vand_s8(vreinterpret_s8_m64(b), vdup_n_s8((int8_t) (0x1 << 7 | 0x07))); ++ int8x8_t res = vtbl1_s8(vreinterpret_s8_m64(a), controlMask); ++ return vreinterpret_m64_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed ++// 16-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi16 ++FORCE_INLINE __m128i _mm_sign_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x8_t ltMask = vreinterpretq_u16_s16(vshrq_n_s16(b, 15)); ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqzq_s16(b)); ++#else ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqq_s16(b, vdupq_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s16(a) equals to negative ++ // 'a') based on ltMask ++ int16x8_t masked = vbslq_s16(ltMask, vnegq_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x8_t res = vbicq_s16(masked, zeroMask); ++ return vreinterpretq_m128i_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed ++// 32-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi32 ++FORCE_INLINE __m128i _mm_sign_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x4_t ltMask = vreinterpretq_u32_s32(vshrq_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqzq_s32(b)); ++#else ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqq_s32(b, vdupq_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s32(a) equals to negative ++ // 'a') based on ltMask ++ int32x4_t masked = vbslq_s32(ltMask, vnegq_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x4_t res = vbicq_s32(masked, zeroMask); ++ return vreinterpretq_m128i_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed ++// 8-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi8 ++FORCE_INLINE __m128i _mm_sign_epi8(__m128i _a, __m128i _b) ++{ ++ int8x16_t a = vreinterpretq_s8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x16_t ltMask = vreinterpretq_u8_s8(vshrq_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqzq_s8(b)); ++#else ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqq_s8(b, vdupq_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s8(a) return negative 'a') ++ // based on ltMask ++ int8x16_t masked = vbslq_s8(ltMask, vnegq_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x16_t res = vbicq_s8(masked, zeroMask); ++ ++ return vreinterpretq_m128i_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed 16-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi16 ++FORCE_INLINE __m64 _mm_sign_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x4_t ltMask = vreinterpret_u16_s16(vshr_n_s16(b, 15)); ++ ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceqz_s16(b)); ++#else ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceq_s16(b, vdup_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s16(a) return negative 'a') ++ // based on ltMask ++ int16x4_t masked = vbsl_s16(ltMask, vneg_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x4_t res = vbic_s16(masked, zeroMask); ++ ++ return vreinterpret_m64_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed 32-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi32 ++FORCE_INLINE __m64 _mm_sign_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x2_t ltMask = vreinterpret_u32_s32(vshr_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceqz_s32(b)); ++#else ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceq_s32(b, vdup_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s32(a) return negative 'a') ++ // based on ltMask ++ int32x2_t masked = vbsl_s32(ltMask, vneg_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x2_t res = vbic_s32(masked, zeroMask); ++ ++ return vreinterpret_m64_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed 8-bit integer ++// in b is negative, and store the results in dst. Element in dst are zeroed out ++// when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi8 ++FORCE_INLINE __m64 _mm_sign_pi8(__m64 _a, __m64 _b) ++{ ++ int8x8_t a = vreinterpret_s8_m64(_a); ++ int8x8_t b = vreinterpret_s8_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x8_t ltMask = vreinterpret_u8_s8(vshr_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceqz_s8(b)); ++#else ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceq_s8(b, vdup_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s8(a) return negative 'a') ++ // based on ltMask ++ int8x8_t masked = vbsl_s8(ltMask, vneg_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x8_t res = vbic_s8(masked, zeroMask); ++ ++ return vreinterpret_m64_s8(res); ++} ++ ++/* SSE4.1 */ ++ ++// Blend packed 16-bit integers from a and b using control mask imm8, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_epi16 ++// FORCE_INLINE __m128i _mm_blend_epi16(__m128i a, __m128i b, ++// __constrange(0,255) int imm) ++#define _mm_blend_epi16(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, \ ++ const uint16_t _mask[8] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 1)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 2)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 3)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 4)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 5)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 6)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 7)) ? (uint16_t) -1 : 0x0); \ ++ uint16x8_t _mask_vec = vld1q_u16(_mask); \ ++ uint16x8_t __a = vreinterpretq_u16_m128i(_a); \ ++ uint16x8_t __b = vreinterpretq_u16_m128i(_b); _sse2neon_return( \ ++ vreinterpretq_m128i_u16(vbslq_u16(_mask_vec, __b, __a)));) ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using control mask imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_pd ++#define _mm_blend_pd(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128d, a, b, \ ++ const uint64_t _mask[2] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? ~UINT64_C(0) : UINT64_C(0), \ ++ ((imm) & (1 << 1)) ? ~UINT64_C(0) : UINT64_C(0)); \ ++ uint64x2_t _mask_vec = vld1q_u64(_mask); \ ++ uint64x2_t __a = vreinterpretq_u64_m128d(_a); \ ++ uint64x2_t __b = vreinterpretq_u64_m128d(_b); _sse2neon_return( \ ++ vreinterpretq_m128d_u64(vbslq_u64(_mask_vec, __b, __a)));) ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_ps ++FORCE_INLINE __m128 _mm_blend_ps(__m128 _a, __m128 _b, const char imm8) ++{ ++ const uint32_t ALIGN_STRUCT(16) ++ data[4] = {((imm8) & (1 << 0)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0}; ++ uint32x4_t mask = vld1q_u32(data); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Blend packed 8-bit integers from a and b using mask, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_epi8 ++FORCE_INLINE __m128i _mm_blendv_epi8(__m128i _a, __m128i _b, __m128i _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint8x16_t mask = ++ vreinterpretq_u8_s8(vshrq_n_s8(vreinterpretq_s8_m128i(_mask), 7)); ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ uint8x16_t b = vreinterpretq_u8_m128i(_b); ++ return vreinterpretq_m128i_u8(vbslq_u8(mask, b, a)); ++} ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_pd ++FORCE_INLINE __m128d _mm_blendv_pd(__m128d _a, __m128d _b, __m128d _mask) ++{ ++ uint64x2_t mask = ++ vreinterpretq_u64_s64(vshrq_n_s64(vreinterpretq_s64_m128d(_mask), 63)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64(vbslq_f64(mask, b, a)); ++#else ++ uint64x2_t a = vreinterpretq_u64_m128d(_a); ++ uint64x2_t b = vreinterpretq_u64_m128d(_b); ++ return vreinterpretq_m128d_u64(vbslq_u64(mask, b, a)); ++#endif ++} ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_ps ++FORCE_INLINE __m128 _mm_blendv_ps(__m128 _a, __m128 _b, __m128 _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint32x4_t mask = ++ vreinterpretq_u32_s32(vshrq_n_s32(vreinterpretq_s32_m128(_mask), 31)); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a up ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_pd ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndpq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(ceil(f[1]), ceil(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a up to ++// an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ps ++FORCE_INLINE __m128 _mm_ceil_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndpq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ceilf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b up to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_sd ++FORCE_INLINE __m128d _mm_ceil_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_ceil_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b up to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ss ++FORCE_INLINE __m128 _mm_ceil_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_ceil_ps(b)); ++} ++ ++// Compare packed 64-bit integers in a and b for equality, and store the results ++// in dst ++FORCE_INLINE __m128i _mm_cmpeq_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vceqq_u64(vreinterpretq_u64_m128i(a), vreinterpretq_u64_m128i(b))); ++#else ++ // ARMv7 lacks vceqq_u64 ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128i_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Sign extend packed 16-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi32 ++FORCE_INLINE __m128i _mm_cvtepi16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vmovl_s16(vget_low_s16(vreinterpretq_s16_m128i(a)))); ++} ++ ++// Sign extend packed 16-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi64 ++FORCE_INLINE __m128i _mm_cvtepi16_epi64(__m128i a) ++{ ++ int16x8_t s16x8 = vreinterpretq_s16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Sign extend packed 32-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_epi64 ++FORCE_INLINE __m128i _mm_cvtepi32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a)))); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 16-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi16 ++FORCE_INLINE __m128i _mm_cvtepi8_epi16(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ return vreinterpretq_m128i_s16(s16x8); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi32 ++FORCE_INLINE __m128i _mm_cvtepi8_epi32(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_s32(s32x4); ++} ++ ++// Sign extend packed 8-bit integers in the low 8 bytes of a to packed 64-bit ++// integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi64 ++FORCE_INLINE __m128i _mm_cvtepi8_epi64(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi32 ++FORCE_INLINE __m128i _mm_cvtepu16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_u32( ++ vmovl_u16(vget_low_u16(vreinterpretq_u16_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi64 ++FORCE_INLINE __m128i _mm_cvtepu16_epi64(__m128i a) ++{ ++ uint16x8_t u16x8 = vreinterpretq_u16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Zero extend packed unsigned 32-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu32_epi64 ++FORCE_INLINE __m128i _mm_cvtepu32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_u64( ++ vmovl_u32(vget_low_u32(vreinterpretq_u32_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 16-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi16 ++FORCE_INLINE __m128i _mm_cvtepu8_epi16(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx HGFE DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0H0G 0F0E 0D0C 0B0A */ ++ return vreinterpretq_m128i_u16(u16x8); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi32 ++FORCE_INLINE __m128i _mm_cvtepu8_epi32(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_u32(u32x4); ++} ++ ++// Zero extend packed unsigned 8-bit integers in the low 8 bytes of a to packed ++// 64-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi64 ++FORCE_INLINE __m128i _mm_cvtepu8_epi64(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Conditionally multiply the packed double-precision (64-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, and ++// conditionally store the sum in dst using the low 4 bits of imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_pd ++FORCE_INLINE __m128d _mm_dp_pd(__m128d a, __m128d b, const int imm) ++{ ++ // Generate mask value from constant immediate bit value ++ const int64_t bit0Mask = imm & 0x01 ? UINT64_MAX : 0; ++ const int64_t bit1Mask = imm & 0x02 ? UINT64_MAX : 0; ++#if !SSE2NEON_PRECISE_DP ++ const int64_t bit4Mask = imm & 0x10 ? UINT64_MAX : 0; ++ const int64_t bit5Mask = imm & 0x20 ? UINT64_MAX : 0; ++#endif ++ // Conditional multiplication ++#if !SSE2NEON_PRECISE_DP ++ __m128d mul = _mm_mul_pd(a, b); ++ const __m128d mulMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit5Mask, bit4Mask)); ++ __m128d tmp = _mm_and_pd(mul, mulMask); ++#else ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double d0 = (imm & 0x10) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 0) ++ : 0; ++ double d1 = (imm & 0x20) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 1) ++ : 0; ++#else ++ double d0 = (imm & 0x10) ? ((double *) &a)[0] * ((double *) &b)[0] : 0; ++ double d1 = (imm & 0x20) ? ((double *) &a)[1] * ((double *) &b)[1] : 0; ++#endif ++ __m128d tmp = _mm_set_pd(d1, d0); ++#endif ++ // Sum the products ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double sum = vpaddd_f64(vreinterpretq_f64_m128d(tmp)); ++#else ++ double sum = *((double *) &tmp) + *(((double *) &tmp) + 1); ++#endif ++ // Conditionally store the sum ++ const __m128d sumMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit1Mask, bit0Mask)); ++ __m128d res = _mm_and_pd(_mm_set_pd1(sum), sumMask); ++ return res; ++} ++ ++// Conditionally multiply the packed single-precision (32-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, ++// and conditionally store the sum in dst using the low 4 bits of imm. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_ps ++FORCE_INLINE __m128 _mm_dp_ps(__m128 a, __m128 b, const int imm) ++{ ++ float32x4_t elementwise_prod = _mm_mul_ps(a, b); ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ /* shortcuts */ ++ if (imm == 0xFF) { ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++ ++ if ((imm & 0x0F) == 0x0F) { ++ if (!(imm & (1 << 4))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 0); ++ if (!(imm & (1 << 5))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 1); ++ if (!(imm & (1 << 6))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 2); ++ if (!(imm & (1 << 7))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 3); ++ ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++#endif ++ ++ float s = 0.0f; ++ ++ if (imm & (1 << 4)) ++ s += vgetq_lane_f32(elementwise_prod, 0); ++ if (imm & (1 << 5)) ++ s += vgetq_lane_f32(elementwise_prod, 1); ++ if (imm & (1 << 6)) ++ s += vgetq_lane_f32(elementwise_prod, 2); ++ if (imm & (1 << 7)) ++ s += vgetq_lane_f32(elementwise_prod, 3); ++ ++ const float32_t res[4] = { ++ (imm & 0x1) ? s : 0.0f, ++ (imm & 0x2) ? s : 0.0f, ++ (imm & 0x4) ? s : 0.0f, ++ (imm & 0x8) ? s : 0.0f, ++ }; ++ return vreinterpretq_m128_f32(vld1q_f32(res)); ++} ++ ++// Extract a 32-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi32 ++// FORCE_INLINE int _mm_extract_epi32(__m128i a, __constrange(0,4) int imm) ++#define _mm_extract_epi32(a, imm) \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)) ++ ++// Extract a 64-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi64 ++// FORCE_INLINE __int64 _mm_extract_epi64(__m128i a, __constrange(0,2) int imm) ++#define _mm_extract_epi64(a, imm) \ ++ vgetq_lane_s64(vreinterpretq_s64_m128i(a), (imm)) ++ ++// Extract an 8-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. FORCE_INLINE int _mm_extract_epi8(__m128i a, ++// __constrange(0,16) int imm) ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi8 ++#define _mm_extract_epi8(a, imm) vgetq_lane_u8(vreinterpretq_u8_m128i(a), (imm)) ++ ++// Extracts the selected single-precision (32-bit) floating-point from a. ++// FORCE_INLINE int _mm_extract_ps(__m128 a, __constrange(0,4) int imm) ++#define _mm_extract_ps(a, imm) vgetq_lane_s32(vreinterpretq_s32_m128(a), (imm)) ++ ++// Round the packed double-precision (64-bit) floating-point elements in a down ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_pd ++FORCE_INLINE __m128d _mm_floor_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndmq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(floor(f[1]), floor(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a down ++// to an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ps ++FORCE_INLINE __m128 _mm_floor_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndmq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(floorf(f[3]), floorf(f[2]), floorf(f[1]), floorf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b down to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_sd ++FORCE_INLINE __m128d _mm_floor_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_floor_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b down to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ss ++FORCE_INLINE __m128 _mm_floor_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_floor_ps(b)); ++} ++ ++// Copy a to dst, and insert the 32-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi32 ++// FORCE_INLINE __m128i _mm_insert_epi32(__m128i a, int b, ++// __constrange(0,4) int imm) ++#define _mm_insert_epi32(a, b, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vsetq_lane_s32((b), vreinterpretq_s32_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the 64-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi64 ++// FORCE_INLINE __m128i _mm_insert_epi64(__m128i a, __int64 b, ++// __constrange(0,2) int imm) ++#define _mm_insert_epi64(a, b, imm) \ ++ vreinterpretq_m128i_s64( \ ++ vsetq_lane_s64((b), vreinterpretq_s64_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the lower 8-bit integer from i into dst at the ++// location specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi8 ++// FORCE_INLINE __m128i _mm_insert_epi8(__m128i a, int b, ++// __constrange(0,16) int imm) ++#define _mm_insert_epi8(a, b, imm) \ ++ vreinterpretq_m128i_s8(vsetq_lane_s8((b), vreinterpretq_s8_m128i(a), (imm))) ++ ++// Copy a to tmp, then insert a single-precision (32-bit) floating-point ++// element from b into tmp using the control in imm8. Store tmp to dst using ++// the mask in imm8 (elements are zeroed out when the corresponding bit is set). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=insert_ps ++#define _mm_insert_ps(a, b, imm8) \ ++ _sse2neon_define2( \ ++ __m128, a, b, \ ++ float32x4_t tmp1 = \ ++ vsetq_lane_f32(vgetq_lane_f32(_b, (imm8 >> 6) & 0x3), \ ++ vreinterpretq_f32_m128(_a), 0); \ ++ float32x4_t tmp2 = \ ++ vsetq_lane_f32(vgetq_lane_f32(tmp1, 0), \ ++ vreinterpretq_f32_m128(_a), ((imm8 >> 4) & 0x3)); \ ++ const uint32_t data[4] = \ ++ _sse2neon_init(((imm8) & (1 << 0)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0); \ ++ uint32x4_t mask = vld1q_u32(data); \ ++ float32x4_t all_zeros = vdupq_n_f32(0); \ ++ \ ++ _sse2neon_return(vreinterpretq_m128_f32( \ ++ vbslq_f32(mask, all_zeros, vreinterpretq_f32_m128(tmp2))));) ++ ++// Compare packed signed 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi32 ++FORCE_INLINE __m128i _mm_max_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmaxq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi8 ++FORCE_INLINE __m128i _mm_max_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vmaxq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu16 ++FORCE_INLINE __m128i _mm_max_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vmaxq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_max_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vmaxq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi32 ++FORCE_INLINE __m128i _mm_min_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vminq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi8 ++FORCE_INLINE __m128i _mm_min_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vminq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu16 ++FORCE_INLINE __m128i _mm_min_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vminq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_min_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vminq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Horizontally compute the minimum amongst the packed unsigned 16-bit integers ++// in a, store the minimum and index in dst, and zero the remaining bits in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_minpos_epu16 ++FORCE_INLINE __m128i _mm_minpos_epu16(__m128i a) ++{ ++ __m128i dst; ++ uint16_t min, idx = 0; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Find the minimum value ++ min = vminvq_u16(vreinterpretq_u16_m128i(a)); ++ ++ // Get the index of the minimum value ++ static const uint16_t idxv[] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint16x8_t minv = vdupq_n_u16(min); ++ uint16x8_t cmeq = vceqq_u16(minv, vreinterpretq_u16_m128i(a)); ++ idx = vminvq_u16(vornq_u16(vld1q_u16(idxv), cmeq)); ++#else ++ // Find the minimum value ++ __m64 tmp; ++ tmp = vreinterpret_m64_u16( ++ vmin_u16(vget_low_u16(vreinterpretq_u16_m128i(a)), ++ vget_high_u16(vreinterpretq_u16_m128i(a)))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ min = vget_lane_u16(vreinterpret_u16_m64(tmp), 0); ++ // Get the index of the minimum value ++ int i; ++ for (i = 0; i < 8; i++) { ++ if (min == vgetq_lane_u16(vreinterpretq_u16_m128i(a), 0)) { ++ idx = (uint16_t) i; ++ break; ++ } ++ a = _mm_srli_si128(a, 2); ++ } ++#endif ++ // Generate result ++ dst = _mm_setzero_si128(); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(min, vreinterpretq_u16_m128i(dst), 0)); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(idx, vreinterpretq_u16_m128i(dst), 1)); ++ return dst; ++} ++ ++// Compute the sum of absolute differences (SADs) of quadruplets of unsigned ++// 8-bit integers in a compared to those in b, and store the 16-bit results in ++// dst. Eight SADs are performed using one quadruplet from b and eight ++// quadruplets from a. One quadruplet is selected from b starting at on the ++// offset specified in imm8. Eight quadruplets are formed from sequential 8-bit ++// integers selected from a starting at the offset specified in imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mpsadbw_epu8 ++FORCE_INLINE __m128i _mm_mpsadbw_epu8(__m128i a, __m128i b, const int imm) ++{ ++ uint8x16_t _a, _b; ++ ++ switch (imm & 0x4) { ++ case 0: ++ // do nothing ++ _a = vreinterpretq_u8_m128i(a); ++ break; ++ case 4: ++ _a = vreinterpretq_u8_u32(vextq_u32(vreinterpretq_u32_m128i(a), ++ vreinterpretq_u32_m128i(a), 1)); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ switch (imm & 0x3) { ++ case 0: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 0))); ++ break; ++ case 1: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 1))); ++ break; ++ case 2: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 2))); ++ break; ++ case 3: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 3))); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ int16x8_t c04, c15, c26, c37; ++ uint8x8_t low_b = vget_low_u8(_b); ++ c04 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a), low_b)); ++ uint8x16_t _a_1 = vextq_u8(_a, _a, 1); ++ c15 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_1), low_b)); ++ uint8x16_t _a_2 = vextq_u8(_a, _a, 2); ++ c26 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_2), low_b)); ++ uint8x16_t _a_3 = vextq_u8(_a, _a, 3); ++ c37 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_3), low_b)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // |0|4|2|6| ++ c04 = vpaddq_s16(c04, c26); ++ // |1|5|3|7| ++ c15 = vpaddq_s16(c15, c37); ++ ++ int32x4_t trn1_c = ++ vtrn1q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ int32x4_t trn2_c = ++ vtrn2q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ return vreinterpretq_m128i_s16(vpaddq_s16(vreinterpretq_s16_s32(trn1_c), ++ vreinterpretq_s16_s32(trn2_c))); ++#else ++ int16x4_t c01, c23, c45, c67; ++ c01 = vpadd_s16(vget_low_s16(c04), vget_low_s16(c15)); ++ c23 = vpadd_s16(vget_low_s16(c26), vget_low_s16(c37)); ++ c45 = vpadd_s16(vget_high_s16(c04), vget_high_s16(c15)); ++ c67 = vpadd_s16(vget_high_s16(c26), vget_high_s16(c37)); ++ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(c01, c23), vpadd_s16(c45, c67))); ++#endif ++} ++ ++// Multiply the low signed 32-bit integers from each packed 64-bit element in ++// a and b, and store the signed 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epi32 ++FORCE_INLINE __m128i _mm_mul_epi32(__m128i a, __m128i b) ++{ ++ // vmull_s32 upcasts instead of masking, so we downcast. ++ int32x2_t a_lo = vmovn_s64(vreinterpretq_s64_m128i(a)); ++ int32x2_t b_lo = vmovn_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vmull_s32(a_lo, b_lo)); ++} ++ ++// Multiply the packed 32-bit integers in a and b, producing intermediate 64-bit ++// integers, and store the low 32 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi32 ++FORCE_INLINE __m128i _mm_mullo_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmulq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi32 ++FORCE_INLINE __m128i _mm_packus_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcombine_u16(vqmovun_s32(vreinterpretq_s32_m128i(a)), ++ vqmovun_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_pd ++FORCE_INLINE_OPTNONE __m128d _mm_round_pd(__m128d a, int rounding) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndnq_f64(vreinterpretq_f64_m128d(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_pd(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_pd(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndq_f64(vreinterpretq_f64_m128d(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128d_f64(vrndiq_f64(vreinterpretq_f64_m128d(a))); ++ } ++#else ++ double *v_double = (double *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ double res[2], tmp; ++ for (int i = 0; i < 2; i++) { ++ tmp = (v_double[i] < 0) ? -v_double[i] : v_double[i]; ++ double roundDown = floor(tmp); // Round down value ++ double roundUp = ceil(tmp); // Round up value ++ double diffDown = tmp - roundDown; ++ double diffUp = roundUp - tmp; ++ if (diffDown < diffUp) { ++ /* If it's closer to the round down value, then use it */ ++ res[i] = roundDown; ++ } else if (diffDown > diffUp) { ++ /* If it's closer to the round up value, then use it */ ++ res[i] = roundUp; ++ } else { ++ /* If it's equidistant between round up and round down value, ++ * pick the one which is an even number */ ++ double half = roundDown / 2; ++ if (half != floor(half)) { ++ /* If the round down value is odd, return the round up value ++ */ ++ res[i] = roundUp; ++ } else { ++ /* If the round up value is odd, return the round down value ++ */ ++ res[i] = roundDown; ++ } ++ } ++ res[i] = (v_double[i] < 0) ? -res[i] : res[i]; ++ } ++ return _mm_set_pd(res[1], res[0]); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_pd(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_pd(a); ++ } ++ return _mm_set_pd(v_double[1] > 0 ? floor(v_double[1]) : ceil(v_double[1]), ++ v_double[0] > 0 ? floor(v_double[0]) : ceil(v_double[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed single-precision ++// floating-point elements in dst. ++// software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_round_ps ++FORCE_INLINE_OPTNONE __m128 _mm_round_ps(__m128 a, int rounding) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndnq_f32(vreinterpretq_f32_m128(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_ps(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_ps(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndq_f32(vreinterpretq_f32_m128(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128_f32(vrndiq_f32(vreinterpretq_f32_m128(a))); ++ } ++#else ++ float *v_float = (float *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vbslq_s32(is_delta_half, r_even, r_normal))); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_ps(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_ps(a); ++ } ++ return _mm_set_ps(v_float[3] > 0 ? floorf(v_float[3]) : ceilf(v_float[3]), ++ v_float[2] > 0 ? floorf(v_float[2]) : ceilf(v_float[2]), ++ v_float[1] > 0 ? floorf(v_float[1]) : ceilf(v_float[1]), ++ v_float[0] > 0 ? floorf(v_float[0]) : ceilf(v_float[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b using ++// the rounding parameter, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_sd ++FORCE_INLINE __m128d _mm_round_sd(__m128d a, __m128d b, int rounding) ++{ ++ return _mm_move_sd(a, _mm_round_pd(b, rounding)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b using ++// the rounding parameter, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. Rounding is done according to the ++// rounding[3:0] parameter, which can be one of: ++// (_MM_FROUND_TO_NEAREST_INT |_MM_FROUND_NO_EXC) // round to nearest, and ++// suppress exceptions ++// (_MM_FROUND_TO_NEG_INF |_MM_FROUND_NO_EXC) // round down, and ++// suppress exceptions ++// (_MM_FROUND_TO_POS_INF |_MM_FROUND_NO_EXC) // round up, and suppress ++// exceptions ++// (_MM_FROUND_TO_ZERO |_MM_FROUND_NO_EXC) // truncate, and suppress ++// exceptions _MM_FROUND_CUR_DIRECTION // use MXCSR.RC; see ++// _MM_SET_ROUNDING_MODE ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_ss ++FORCE_INLINE __m128 _mm_round_ss(__m128 a, __m128 b, int rounding) ++{ ++ return _mm_move_ss(a, _mm_round_ps(b, rounding)); ++} ++ ++// Load 128-bits of integer data from memory into dst using a non-temporal ++// memory hint. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_load_si128 ++FORCE_INLINE __m128i _mm_stream_load_si128(__m128i *p) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ return __builtin_nontemporal_load(p); ++#else ++ return vreinterpretq_m128i_s64(vld1q_s64((int64_t *) p)); ++#endif ++} ++ ++// Compute the bitwise NOT of a and then AND with a 128-bit vector containing ++// all 1's, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_ones ++FORCE_INLINE int _mm_test_all_ones(__m128i a) ++{ ++ return (uint64_t) (vgetq_lane_s64(a, 0) & vgetq_lane_s64(a, 1)) == ++ ~(uint64_t) 0; ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_zeros ++FORCE_INLINE int _mm_test_all_zeros(__m128i a, __m128i mask) ++{ ++ int64x2_t a_and_mask = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(mask)); ++ return !(vgetq_lane_s64(a_and_mask, 0) | vgetq_lane_s64(a_and_mask, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute ++// the bitwise NOT of a and then AND with mask, and set CF to 1 if the result is ++// zero, otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_test_mix_ones_zero ++// Note: Argument names may be wrong in the Intel intrinsics guide. ++FORCE_INLINE int _mm_test_mix_ones_zeros(__m128i a, __m128i mask) ++{ ++ uint64x2_t v = vreinterpretq_u64_m128i(a); ++ uint64x2_t m = vreinterpretq_u64_m128i(mask); ++ ++ // find ones (set-bits) and zeros (clear-bits) under clip mask ++ uint64x2_t ones = vandq_u64(m, v); ++ uint64x2_t zeros = vbicq_u64(m, v); ++ ++ // If both 128-bit variables are populated (non-zero) then return 1. ++ // For comparison purposes, first compact each var down to 32-bits. ++ uint32x2_t reduced = vpmax_u32(vqmovn_u64(ones), vqmovn_u64(zeros)); ++ ++ // if folding minimum is non-zero then both vars must be non-zero ++ return (vget_lane_u32(vpmin_u32(reduced, reduced), 0) != 0); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the CF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testc_si128 ++FORCE_INLINE int _mm_testc_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vbicq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testnzc_si128 ++#define _mm_testnzc_si128(a, b) _mm_test_mix_ones_zeros(a, b) ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the ZF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testz_si128 ++FORCE_INLINE int _mm_testz_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++/* SSE4.2 */ ++ ++static const uint16_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask16b[8] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++static const uint8_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask8b[16] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++ ++/* specify the source data format */ ++#define _SIDD_UBYTE_OPS 0x00 /* unsigned 8-bit characters */ ++#define _SIDD_UWORD_OPS 0x01 /* unsigned 16-bit characters */ ++#define _SIDD_SBYTE_OPS 0x02 /* signed 8-bit characters */ ++#define _SIDD_SWORD_OPS 0x03 /* signed 16-bit characters */ ++ ++/* specify the comparison operation */ ++#define _SIDD_CMP_EQUAL_ANY 0x00 /* compare equal any: strchr */ ++#define _SIDD_CMP_RANGES 0x04 /* compare ranges */ ++#define _SIDD_CMP_EQUAL_EACH 0x08 /* compare equal each: strcmp */ ++#define _SIDD_CMP_EQUAL_ORDERED 0x0C /* compare equal ordered */ ++ ++/* specify the polarity */ ++#define _SIDD_POSITIVE_POLARITY 0x00 ++#define _SIDD_MASKED_POSITIVE_POLARITY 0x20 ++#define _SIDD_NEGATIVE_POLARITY 0x10 /* negate results */ ++#define _SIDD_MASKED_NEGATIVE_POLARITY \ ++ 0x30 /* negate results only before end of string */ ++ ++/* specify the output selection in _mm_cmpXstri */ ++#define _SIDD_LEAST_SIGNIFICANT 0x00 ++#define _SIDD_MOST_SIGNIFICANT 0x40 ++ ++/* specify the output selection in _mm_cmpXstrm */ ++#define _SIDD_BIT_MASK 0x00 ++#define _SIDD_UNIT_MASK 0x40 ++ ++/* Pattern Matching for C macros. ++ * https://github.com/pfultz2/Cloak/wiki/C-Preprocessor-tricks,-tips,-and-idioms ++ */ ++ ++/* catenate */ ++#define SSE2NEON_PRIMITIVE_CAT(a, ...) a##__VA_ARGS__ ++#define SSE2NEON_CAT(a, b) SSE2NEON_PRIMITIVE_CAT(a, b) ++ ++#define SSE2NEON_IIF(c) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_IIF_, c) ++/* run the 2nd parameter */ ++#define SSE2NEON_IIF_0(t, ...) __VA_ARGS__ ++/* run the 1st parameter */ ++#define SSE2NEON_IIF_1(t, ...) t ++ ++#define SSE2NEON_COMPL(b) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_COMPL_, b) ++#define SSE2NEON_COMPL_0 1 ++#define SSE2NEON_COMPL_1 0 ++ ++#define SSE2NEON_DEC(x) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_DEC_, x) ++#define SSE2NEON_DEC_1 0 ++#define SSE2NEON_DEC_2 1 ++#define SSE2NEON_DEC_3 2 ++#define SSE2NEON_DEC_4 3 ++#define SSE2NEON_DEC_5 4 ++#define SSE2NEON_DEC_6 5 ++#define SSE2NEON_DEC_7 6 ++#define SSE2NEON_DEC_8 7 ++#define SSE2NEON_DEC_9 8 ++#define SSE2NEON_DEC_10 9 ++#define SSE2NEON_DEC_11 10 ++#define SSE2NEON_DEC_12 11 ++#define SSE2NEON_DEC_13 12 ++#define SSE2NEON_DEC_14 13 ++#define SSE2NEON_DEC_15 14 ++#define SSE2NEON_DEC_16 15 ++ ++/* detection */ ++#define SSE2NEON_CHECK_N(x, n, ...) n ++#define SSE2NEON_CHECK(...) SSE2NEON_CHECK_N(__VA_ARGS__, 0, ) ++#define SSE2NEON_PROBE(x) x, 1, ++ ++#define SSE2NEON_NOT(x) SSE2NEON_CHECK(SSE2NEON_PRIMITIVE_CAT(SSE2NEON_NOT_, x)) ++#define SSE2NEON_NOT_0 SSE2NEON_PROBE(~) ++ ++#define SSE2NEON_BOOL(x) SSE2NEON_COMPL(SSE2NEON_NOT(x)) ++#define SSE2NEON_IF(c) SSE2NEON_IIF(SSE2NEON_BOOL(c)) ++ ++#define SSE2NEON_EAT(...) ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++#define SSE2NEON_WHEN(c) SSE2NEON_IF(c)(SSE2NEON_EXPAND, SSE2NEON_EAT) ++ ++/* recursion */ ++/* deferred expression */ ++#define SSE2NEON_EMPTY() ++#define SSE2NEON_DEFER(id) id SSE2NEON_EMPTY() ++#define SSE2NEON_OBSTRUCT(...) __VA_ARGS__ SSE2NEON_DEFER(SSE2NEON_EMPTY)() ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++ ++#define SSE2NEON_EVAL(...) \ ++ SSE2NEON_EVAL1(SSE2NEON_EVAL1(SSE2NEON_EVAL1(__VA_ARGS__))) ++#define SSE2NEON_EVAL1(...) \ ++ SSE2NEON_EVAL2(SSE2NEON_EVAL2(SSE2NEON_EVAL2(__VA_ARGS__))) ++#define SSE2NEON_EVAL2(...) \ ++ SSE2NEON_EVAL3(SSE2NEON_EVAL3(SSE2NEON_EVAL3(__VA_ARGS__))) ++#define SSE2NEON_EVAL3(...) __VA_ARGS__ ++ ++#define SSE2NEON_REPEAT(count, macro, ...) \ ++ SSE2NEON_WHEN(count) \ ++ (SSE2NEON_OBSTRUCT(SSE2NEON_REPEAT_INDIRECT)()( \ ++ SSE2NEON_DEC(count), macro, \ ++ __VA_ARGS__) SSE2NEON_OBSTRUCT(macro)(SSE2NEON_DEC(count), \ ++ __VA_ARGS__)) ++#define SSE2NEON_REPEAT_INDIRECT() SSE2NEON_REPEAT ++ ++#define SSE2NEON_SIZE_OF_byte 8 ++#define SSE2NEON_NUMBER_OF_LANES_byte 16 ++#define SSE2NEON_SIZE_OF_word 16 ++#define SSE2NEON_NUMBER_OF_LANES_word 8 ++ ++#define SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE(i, type) \ ++ mtx[i] = vreinterpretq_m128i_##type(vceqq_##type( \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)), \ ++ vreinterpretq_##type##_m128i(a))); ++ ++#define SSE2NEON_FILL_LANE(i, type) \ ++ vec_b[i] = \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)); ++ ++#define PCMPSTR_RANGES(a, b, mtx, data_type_prefix, type_prefix, size, \ ++ number_of_lanes, byte_or_word) \ ++ do { \ ++ SSE2NEON_CAT( \ ++ data_type_prefix, \ ++ SSE2NEON_CAT(size, \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(number_of_lanes, _t)))) \ ++ vec_b[number_of_lanes]; \ ++ __m128i mask = SSE2NEON_IIF(byte_or_word)( \ ++ vreinterpretq_m128i_u16(vdupq_n_u16(0xff)), \ ++ vreinterpretq_m128i_u32(vdupq_n_u32(0xffff))); \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, SSE2NEON_FILL_LANE, \ ++ SSE2NEON_CAT(type_prefix, size))) \ ++ for (int i = 0; i < number_of_lanes; i++) { \ ++ mtx[i] = SSE2NEON_CAT(vreinterpretq_m128i_u, \ ++ size)(SSE2NEON_CAT(vbslq_u, size)( \ ++ SSE2NEON_CAT(vreinterpretq_u, \ ++ SSE2NEON_CAT(size, _m128i))(mask), \ ++ SSE2NEON_CAT(vcgeq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))), \ ++ SSE2NEON_CAT(vcleq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))))); \ ++ } \ ++ } while (0) ++ ++#define PCMPSTR_EQ(a, b, mtx, size, number_of_lanes) \ ++ do { \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, \ ++ SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE, \ ++ SSE2NEON_CAT(u, size))) \ ++ } while (0) ++ ++#define SSE2NEON_CMP_EQUAL_ANY_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_any(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_any_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_RANGES_IMPL(type, data_type, us, byte_or_word) \ ++ static int _sse2neon_cmp_##us##type##_ranges(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_RANGES( \ ++ a, b, mtx, data_type, us, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), byte_or_word); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_ranges_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_EQUAL_ORDERED_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_ordered(__m128i a, int la, \ ++ __m128i b, int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_ordered_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type))))( \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), la, lb, mtx); \ ++ } ++ ++static int _sse2neon_aggregate_equal_any_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ int tmp = _sse2neon_vaddvq_u8(vreinterpretq_u8_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_equal_any_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ int tmp = _sse2neon_vaddvq_u16(vreinterpretq_u16_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ANY(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ANY(SSE2NEON_CMP_EQUAL_ANY_) ++ ++static int _sse2neon_aggregate_ranges_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ __m128i tmp = vreinterpretq_m128i_u32( ++ vshrq_n_u32(vreinterpretq_u32_m128i(mtx[j]), 16)); ++ uint32x4_t vec_res = vandq_u32(vreinterpretq_u32_m128i(mtx[j]), ++ vreinterpretq_u32_m128i(tmp)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int t = vaddvq_u32(vec_res) ? 1 : 0; ++#else ++ uint64x2_t sumh = vpaddlq_u32(vec_res); ++ int t = vgetq_lane_u64(sumh, 0) + vgetq_lane_u64(sumh, 1); ++#endif ++ res |= (t << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_ranges_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ __m128i tmp = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 8)); ++ uint16x8_t vec_res = vandq_u16(vreinterpretq_u16_m128i(mtx[j]), ++ vreinterpretq_u16_m128i(tmp)); ++ int t = _sse2neon_vaddvq_u16(vec_res) ? 1 : 0; ++ res |= (t << j); ++ } ++ return res; ++} ++ ++#define SSE2NEON_CMP_RANGES_IS_BYTE 1 ++#define SSE2NEON_CMP_RANGES_IS_WORD 0 ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_RANGES(prefix) \ ++ prefix##IMPL(byte, uint, u, prefix##IS_BYTE) \ ++ prefix##IMPL(byte, int, s, prefix##IS_BYTE) \ ++ prefix##IMPL(word, uint, u, prefix##IS_WORD) \ ++ prefix##IMPL(word, int, s, prefix##IS_WORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_RANGES(SSE2NEON_CMP_RANGES_) ++ ++#undef SSE2NEON_CMP_RANGES_IS_BYTE ++#undef SSE2NEON_CMP_RANGES_IS_WORD ++ ++static int _sse2neon_cmp_byte_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint8x16_t mtx = ++ vceqq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x10000 - (1 << la); ++ int tb = 0x10000 - (1 << lb); ++ uint8x8_t vec_mask, vec0_lo, vec0_hi, vec1_lo, vec1_hi; ++ uint8x8_t tmp_lo, tmp_hi, res_lo, res_hi; ++ vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ vec0_lo = vtst_u8(vdup_n_u8(m0), vec_mask); ++ vec0_hi = vtst_u8(vdup_n_u8(m0 >> 8), vec_mask); ++ vec1_lo = vtst_u8(vdup_n_u8(m1), vec_mask); ++ vec1_hi = vtst_u8(vdup_n_u8(m1 >> 8), vec_mask); ++ tmp_lo = vtst_u8(vdup_n_u8(tb), vec_mask); ++ tmp_hi = vtst_u8(vdup_n_u8(tb >> 8), vec_mask); ++ ++ res_lo = vbsl_u8(vec0_lo, vdup_n_u8(0), vget_low_u8(mtx)); ++ res_hi = vbsl_u8(vec0_hi, vdup_n_u8(0), vget_high_u8(mtx)); ++ res_lo = vbsl_u8(vec1_lo, tmp_lo, res_lo); ++ res_hi = vbsl_u8(vec1_hi, tmp_hi, res_hi); ++ res_lo = vand_u8(res_lo, vec_mask); ++ res_hi = vand_u8(res_hi, vec_mask); ++ ++ int res = _sse2neon_vaddv_u8(res_lo) + (_sse2neon_vaddv_u8(res_hi) << 8); ++ return res; ++} ++ ++static int _sse2neon_cmp_word_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint16x8_t mtx = ++ vceqq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x100 - (1 << la); ++ int tb = 0x100 - (1 << lb); ++ uint16x8_t vec_mask = vld1q_u16(_sse2neon_cmpestr_mask16b); ++ uint16x8_t vec0 = vtstq_u16(vdupq_n_u16(m0), vec_mask); ++ uint16x8_t vec1 = vtstq_u16(vdupq_n_u16(m1), vec_mask); ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(tb), vec_mask); ++ mtx = vbslq_u16(vec0, vdupq_n_u16(0), mtx); ++ mtx = vbslq_u16(vec1, tmp, mtx); ++ mtx = vandq_u16(mtx, vec_mask); ++ return _sse2neon_vaddvq_u16(mtx); ++} ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE 1 ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD 0 ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IMPL(size, number_of_lanes, data_type) \ ++ static int _sse2neon_aggregate_equal_ordered_##size##x##number_of_lanes( \ ++ int bound, int la, int lb, __m128i mtx[16]) \ ++ { \ ++ int res = 0; \ ++ int m1 = SSE2NEON_IIF(data_type)(0x10000, 0x100) - (1 << la); \ ++ uint##size##x8_t vec_mask = SSE2NEON_IIF(data_type)( \ ++ vld1_u##size(_sse2neon_cmpestr_mask##size##b), \ ++ vld1q_u##size(_sse2neon_cmpestr_mask##size##b)); \ ++ uint##size##x##number_of_lanes##_t vec1 = SSE2NEON_IIF(data_type)( \ ++ vcombine_u##size(vtst_u##size(vdup_n_u##size(m1), vec_mask), \ ++ vtst_u##size(vdup_n_u##size(m1 >> 8), vec_mask)), \ ++ vtstq_u##size(vdupq_n_u##size(m1), vec_mask)); \ ++ uint##size##x##number_of_lanes##_t vec_minusone = vdupq_n_u##size(-1); \ ++ uint##size##x##number_of_lanes##_t vec_zero = vdupq_n_u##size(0); \ ++ for (int j = 0; j < lb; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size(vbslq_u##size( \ ++ vec1, vec_minusone, vreinterpretq_u##size##_m128i(mtx[j]))); \ ++ } \ ++ for (int j = lb; j < bound; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size( \ ++ vbslq_u##size(vec1, vec_minusone, vec_zero)); \ ++ } \ ++ unsigned SSE2NEON_IIF(data_type)(char, short) *ptr = \ ++ (unsigned SSE2NEON_IIF(data_type)(char, short) *) mtx; \ ++ for (int i = 0; i < bound; i++) { \ ++ int val = 1; \ ++ for (int j = 0, k = i; j < bound - i && k < bound; j++, k++) \ ++ val &= ptr[k * bound + j]; \ ++ res += val << i; \ ++ } \ ++ return res; \ ++ } ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(prefix) \ ++ prefix##IMPL(8, 16, prefix##IS_UBYTE) \ ++ prefix##IMPL(16, 8, prefix##IS_UWORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(SSE2NEON_AGGREGATE_EQUAL_ORDER_) ++ ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(SSE2NEON_CMP_EQUAL_ORDERED_) ++ ++#define SSE2NEON_CMPESTR_LIST \ ++ _(CMP_UBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_UWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_SBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_SWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_UBYTE_RANGES, cmp_ubyte_ranges) \ ++ _(CMP_UWORD_RANGES, cmp_uword_ranges) \ ++ _(CMP_SBYTE_RANGES, cmp_sbyte_ranges) \ ++ _(CMP_SWORD_RANGES, cmp_sword_ranges) \ ++ _(CMP_UBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_UWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_SBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_SWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_UBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_UWORD_EQUAL_ORDERED, cmp_word_equal_ordered) \ ++ _(CMP_SBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_SWORD_EQUAL_ORDERED, cmp_word_equal_ordered) ++ ++enum { ++#define _(name, func_suffix) name, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++typedef int (*cmpestr_func_t)(__m128i a, int la, __m128i b, int lb); ++static cmpestr_func_t _sse2neon_cmpfunc_table[] = { ++#define _(name, func_suffix) _sse2neon_##func_suffix, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++ ++FORCE_INLINE int _sse2neon_sido_negative(int res, int lb, int imm8, int bound) ++{ ++ switch (imm8 & 0x30) { ++ case _SIDD_NEGATIVE_POLARITY: ++ res ^= 0xffffffff; ++ break; ++ case _SIDD_MASKED_NEGATIVE_POLARITY: ++ res ^= (1 << lb) - 1; ++ break; ++ default: ++ break; ++ } ++ ++ return res & ((bound == 8) ? 0xFF : 0xFFFF); ++} ++ ++FORCE_INLINE int _sse2neon_clz(unsigned int x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt = 0; ++ if (_BitScanReverse(&cnt, x)) ++ return 31 - cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_clz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctz(unsigned int x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt = 0; ++ if (_BitScanForward(&cnt, x)) ++ return cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_ctz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctzll(unsigned long long x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt; ++#if defined(SSE2NEON_HAS_BITSCAN64) ++ if (_BitScanForward64(&cnt, x)) ++ return (int) (cnt); ++#else ++ if (_BitScanForward(&cnt, (unsigned long) (x))) ++ return (int) cnt; ++ if (_BitScanForward(&cnt, (unsigned long) (x >> 32))) ++ return (int) (cnt + 32); ++#endif /* SSE2NEON_HAS_BITSCAN64 */ ++ return 64; ++#else /* assume GNU compatible compilers */ ++ return x != 0 ? __builtin_ctzll(x) : 64; ++#endif ++} ++ ++#define SSE2NEON_MIN(x, y) (x) < (y) ? (x) : (y) ++ ++#define SSE2NEON_CMPSTR_SET_UPPER(var, imm) \ ++ const int var = (imm & 0x01) ? 8 : 16 ++ ++#define SSE2NEON_CMPESTRX_LEN_PAIR(a, b, la, lb) \ ++ int tmp1 = la ^ (la >> 31); \ ++ la = tmp1 - (la >> 31); \ ++ int tmp2 = lb ^ (lb >> 31); \ ++ lb = tmp2 - (lb >> 31); \ ++ la = SSE2NEON_MIN(la, bound); \ ++ lb = SSE2NEON_MIN(lb, bound) ++ ++// Compare all pairs of character in string a and b, ++// then aggregate the result. ++// As the only difference of PCMPESTR* and PCMPISTR* is the way to calculate the ++// length of string, we use SSE2NEON_CMP{I,E}STRX_GET_LEN to get the length of ++// string a and b. ++#define SSE2NEON_COMP_AGG(a, b, la, lb, imm8, IE) \ ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); \ ++ SSE2NEON_##IE##_LEN_PAIR(a, b, la, lb); \ ++ int r2 = (_sse2neon_cmpfunc_table[imm8 & 0x0f])(a, la, b, lb); \ ++ r2 = _sse2neon_sido_negative(r2, lb, imm8, bound) ++ ++#define SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8) \ ++ return (r2 == 0) ? bound \ ++ : ((imm8 & 0x40) ? (31 - _sse2neon_clz(r2)) \ ++ : _sse2neon_ctz(r2)) ++ ++#define SSE2NEON_CMPSTR_GENERATE_MASK(dst) \ ++ __m128i dst = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ if (imm8 & 0x40) { \ ++ if (bound == 8) { \ ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(r2), \ ++ vld1q_u16(_sse2neon_cmpestr_mask16b)); \ ++ dst = vreinterpretq_m128i_u16(vbslq_u16( \ ++ tmp, vdupq_n_u16(-1), vreinterpretq_u16_m128i(dst))); \ ++ } else { \ ++ uint8x16_t vec_r2 = \ ++ vcombine_u8(vdup_n_u8(r2), vdup_n_u8(r2 >> 8)); \ ++ uint8x16_t tmp = \ ++ vtstq_u8(vec_r2, vld1q_u8(_sse2neon_cmpestr_mask8b)); \ ++ dst = vreinterpretq_m128i_u8( \ ++ vbslq_u8(tmp, vdupq_n_u8(-1), vreinterpretq_u8_m128i(dst))); \ ++ } \ ++ } else { \ ++ if (bound == 16) { \ ++ dst = vreinterpretq_m128i_u16( \ ++ vsetq_lane_u16(r2 & 0xffff, vreinterpretq_u16_m128i(dst), 0)); \ ++ } else { \ ++ dst = vreinterpretq_m128i_u8( \ ++ vsetq_lane_u8(r2 & 0xff, vreinterpretq_u8_m128i(dst), 0)); \ ++ } \ ++ } \ ++ return dst ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and returns 1 if b did not contain a null character and the ++// resulting mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestra ++FORCE_INLINE int _mm_cmpestra(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ int lb_cpy = lb; ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return !r2 & (lb_cpy > bound); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrc ++FORCE_INLINE int _mm_cmpestrc(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestri ++FORCE_INLINE int _mm_cmpestri(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrm ++FORCE_INLINE __m128i ++_mm_cmpestrm(__m128i a, int la, __m128i b, int lb, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestro ++FORCE_INLINE int _mm_cmpestro(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrs ++FORCE_INLINE int _mm_cmpestrs(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) lb; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrz ++FORCE_INLINE int _mm_cmpestrz(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) la; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return lb <= (bound - 1); ++} ++ ++#define SSE2NEON_CMPISTRX_LENGTH(str, len, imm8) \ ++ do { \ ++ if (imm8 & 0x01) { \ ++ uint16x8_t equal_mask_##str = \ ++ vceqq_u16(vreinterpretq_u16_m128i(str), vdupq_n_u16(0)); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 3; \ ++ } else { \ ++ uint16x8_t equal_mask_##str = vreinterpretq_u16_u8( \ ++ vceqq_u8(vreinterpretq_u8_m128i(str), vdupq_n_u8(0))); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 2; \ ++ } \ ++ } while (0) ++ ++#define SSE2NEON_CMPISTRX_LEN_PAIR(a, b, la, lb) \ ++ int la, lb; \ ++ do { \ ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); \ ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); \ ++ } while (0) ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if b did not contain a null character and the resulting ++// mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistra ++FORCE_INLINE int _mm_cmpistra(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return !r2 & (lb >= bound); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrc ++FORCE_INLINE int _mm_cmpistrc(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistri ++FORCE_INLINE int _mm_cmpistri(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrm ++FORCE_INLINE __m128i _mm_cmpistrm(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistro ++FORCE_INLINE int _mm_cmpistro(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrs ++FORCE_INLINE int _mm_cmpistrs(__m128i a, __m128i b, const int imm8) ++{ ++ (void) b; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int la; ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrz ++FORCE_INLINE int _mm_cmpistrz(__m128i a, __m128i b, const int imm8) ++{ ++ (void) a; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int lb; ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); ++ return lb <= (bound - 1); ++} ++ ++// Compares the 2 signed 64-bit integers in a and the 2 signed 64-bit integers ++// in b for greater than. ++FORCE_INLINE __m128i _mm_cmpgt_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vcgtq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ return vreinterpretq_m128i_s64(vshrq_n_s64( ++ vqsubq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)), ++ 63)); ++#endif ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 16-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u16 ++FORCE_INLINE uint32_t _mm_crc32_u16(uint32_t crc, uint16_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32ch %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32ch(crc, v); ++#else ++ crc = _mm_crc32_u8(crc, v & 0xff); ++ crc = _mm_crc32_u8(crc, (v >> 8) & 0xff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 32-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u32 ++FORCE_INLINE uint32_t _mm_crc32_u32(uint32_t crc, uint32_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cw %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cw(crc, v); ++#else ++ crc = _mm_crc32_u16(crc, v & 0xffff); ++ crc = _mm_crc32_u16(crc, (v >> 16) & 0xffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 64-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u64 ++FORCE_INLINE uint64_t _mm_crc32_u64(uint64_t crc, uint64_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cx %w[c], %w[c], %x[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cd((uint32_t) crc, v); ++#else ++ crc = _mm_crc32_u32((uint32_t) (crc), v & 0xffffffff); ++ crc = _mm_crc32_u32((uint32_t) (crc), (v >> 32) & 0xffffffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 8-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u8 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t crc, uint8_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cb %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cb(crc, v); ++#else ++ crc ^= v; ++#if defined(__ARM_FEATURE_CRYPTO) ++ // Adapted from: https://mary.rs/lab/crc32/ ++ // Barrent reduction ++ uint64x2_t orig = ++ vcombine_u64(vcreate_u64((uint64_t) (crc) << 24), vcreate_u64(0x0)); ++ uint64x2_t tmp = orig; ++ ++ // Polynomial P(x) of CRC32C ++ uint64_t p = 0x105EC76F1; ++ // Barrett Reduction (in bit-reflected form) constant mu_{64} = \lfloor ++ // 2^{64} / P(x) \rfloor = 0x11f91caf6 ++ uint64_t mu = 0x1dea713f1; ++ ++ // Multiply by mu_{64} ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(mu)); ++ // Divide by 2^{64} (mask away the unnecessary bits) ++ tmp = ++ vandq_u64(tmp, vcombine_u64(vcreate_u64(0xFFFFFFFF), vcreate_u64(0x0))); ++ // Multiply by P(x) (shifted left by 1 for alignment reasons) ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(p)); ++ // Subtract original from result ++ tmp = veorq_u64(tmp, orig); ++ ++ // Extract the 'lower' (in bit-reflected sense) 32 bits ++ crc = vgetq_lane_u32(vreinterpretq_u32_u64(tmp), 1); ++#else // Fall back to the generic table lookup approach ++ // Adapted from: https://create.stephan-brumme.com/crc32/ ++ // Apply half-byte comparison algorithm for the best ratio between ++ // performance and lookup table. ++ ++ // The lookup table just needs to store every 16th entry ++ // of the standard look-up table. ++ static const uint32_t crc32_half_byte_tbl[] = { ++ 0x00000000, 0x105ec76f, 0x20bd8ede, 0x30e349b1, 0x417b1dbc, 0x5125dad3, ++ 0x61c69362, 0x7198540d, 0x82f63b78, 0x92a8fc17, 0xa24bb5a6, 0xb21572c9, ++ 0xc38d26c4, 0xd3d3e1ab, 0xe330a81a, 0xf36e6f75, ++ }; ++ ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++#endif ++#endif ++ return crc; ++} ++ ++/* AES */ ++ ++#if !defined(__ARM_FEATURE_CRYPTO) && (!defined(_M_ARM64) || defined(__clang__)) ++/* clang-format off */ ++#define SSE2NEON_AES_SBOX(w) \ ++ { \ ++ w(0x63), w(0x7c), w(0x77), w(0x7b), w(0xf2), w(0x6b), w(0x6f), \ ++ w(0xc5), w(0x30), w(0x01), w(0x67), w(0x2b), w(0xfe), w(0xd7), \ ++ w(0xab), w(0x76), w(0xca), w(0x82), w(0xc9), w(0x7d), w(0xfa), \ ++ w(0x59), w(0x47), w(0xf0), w(0xad), w(0xd4), w(0xa2), w(0xaf), \ ++ w(0x9c), w(0xa4), w(0x72), w(0xc0), w(0xb7), w(0xfd), w(0x93), \ ++ w(0x26), w(0x36), w(0x3f), w(0xf7), w(0xcc), w(0x34), w(0xa5), \ ++ w(0xe5), w(0xf1), w(0x71), w(0xd8), w(0x31), w(0x15), w(0x04), \ ++ w(0xc7), w(0x23), w(0xc3), w(0x18), w(0x96), w(0x05), w(0x9a), \ ++ w(0x07), w(0x12), w(0x80), w(0xe2), w(0xeb), w(0x27), w(0xb2), \ ++ w(0x75), w(0x09), w(0x83), w(0x2c), w(0x1a), w(0x1b), w(0x6e), \ ++ w(0x5a), w(0xa0), w(0x52), w(0x3b), w(0xd6), w(0xb3), w(0x29), \ ++ w(0xe3), w(0x2f), w(0x84), w(0x53), w(0xd1), w(0x00), w(0xed), \ ++ w(0x20), w(0xfc), w(0xb1), w(0x5b), w(0x6a), w(0xcb), w(0xbe), \ ++ w(0x39), w(0x4a), w(0x4c), w(0x58), w(0xcf), w(0xd0), w(0xef), \ ++ w(0xaa), w(0xfb), w(0x43), w(0x4d), w(0x33), w(0x85), w(0x45), \ ++ w(0xf9), w(0x02), w(0x7f), w(0x50), w(0x3c), w(0x9f), w(0xa8), \ ++ w(0x51), w(0xa3), w(0x40), w(0x8f), w(0x92), w(0x9d), w(0x38), \ ++ w(0xf5), w(0xbc), w(0xb6), w(0xda), w(0x21), w(0x10), w(0xff), \ ++ w(0xf3), w(0xd2), w(0xcd), w(0x0c), w(0x13), w(0xec), w(0x5f), \ ++ w(0x97), w(0x44), w(0x17), w(0xc4), w(0xa7), w(0x7e), w(0x3d), \ ++ w(0x64), w(0x5d), w(0x19), w(0x73), w(0x60), w(0x81), w(0x4f), \ ++ w(0xdc), w(0x22), w(0x2a), w(0x90), w(0x88), w(0x46), w(0xee), \ ++ w(0xb8), w(0x14), w(0xde), w(0x5e), w(0x0b), w(0xdb), w(0xe0), \ ++ w(0x32), w(0x3a), w(0x0a), w(0x49), w(0x06), w(0x24), w(0x5c), \ ++ w(0xc2), w(0xd3), w(0xac), w(0x62), w(0x91), w(0x95), w(0xe4), \ ++ w(0x79), w(0xe7), w(0xc8), w(0x37), w(0x6d), w(0x8d), w(0xd5), \ ++ w(0x4e), w(0xa9), w(0x6c), w(0x56), w(0xf4), w(0xea), w(0x65), \ ++ w(0x7a), w(0xae), w(0x08), w(0xba), w(0x78), w(0x25), w(0x2e), \ ++ w(0x1c), w(0xa6), w(0xb4), w(0xc6), w(0xe8), w(0xdd), w(0x74), \ ++ w(0x1f), w(0x4b), w(0xbd), w(0x8b), w(0x8a), w(0x70), w(0x3e), \ ++ w(0xb5), w(0x66), w(0x48), w(0x03), w(0xf6), w(0x0e), w(0x61), \ ++ w(0x35), w(0x57), w(0xb9), w(0x86), w(0xc1), w(0x1d), w(0x9e), \ ++ w(0xe1), w(0xf8), w(0x98), w(0x11), w(0x69), w(0xd9), w(0x8e), \ ++ w(0x94), w(0x9b), w(0x1e), w(0x87), w(0xe9), w(0xce), w(0x55), \ ++ w(0x28), w(0xdf), w(0x8c), w(0xa1), w(0x89), w(0x0d), w(0xbf), \ ++ w(0xe6), w(0x42), w(0x68), w(0x41), w(0x99), w(0x2d), w(0x0f), \ ++ w(0xb0), w(0x54), w(0xbb), w(0x16) \ ++ } ++#define SSE2NEON_AES_RSBOX(w) \ ++ { \ ++ w(0x52), w(0x09), w(0x6a), w(0xd5), w(0x30), w(0x36), w(0xa5), \ ++ w(0x38), w(0xbf), w(0x40), w(0xa3), w(0x9e), w(0x81), w(0xf3), \ ++ w(0xd7), w(0xfb), w(0x7c), w(0xe3), w(0x39), w(0x82), w(0x9b), \ ++ w(0x2f), w(0xff), w(0x87), w(0x34), w(0x8e), w(0x43), w(0x44), \ ++ w(0xc4), w(0xde), w(0xe9), w(0xcb), w(0x54), w(0x7b), w(0x94), \ ++ w(0x32), w(0xa6), w(0xc2), w(0x23), w(0x3d), w(0xee), w(0x4c), \ ++ w(0x95), w(0x0b), w(0x42), w(0xfa), w(0xc3), w(0x4e), w(0x08), \ ++ w(0x2e), w(0xa1), w(0x66), w(0x28), w(0xd9), w(0x24), w(0xb2), \ ++ w(0x76), w(0x5b), w(0xa2), w(0x49), w(0x6d), w(0x8b), w(0xd1), \ ++ w(0x25), w(0x72), w(0xf8), w(0xf6), w(0x64), w(0x86), w(0x68), \ ++ w(0x98), w(0x16), w(0xd4), w(0xa4), w(0x5c), w(0xcc), w(0x5d), \ ++ w(0x65), w(0xb6), w(0x92), w(0x6c), w(0x70), w(0x48), w(0x50), \ ++ w(0xfd), w(0xed), w(0xb9), w(0xda), w(0x5e), w(0x15), w(0x46), \ ++ w(0x57), w(0xa7), w(0x8d), w(0x9d), w(0x84), w(0x90), w(0xd8), \ ++ w(0xab), w(0x00), w(0x8c), w(0xbc), w(0xd3), w(0x0a), w(0xf7), \ ++ w(0xe4), w(0x58), w(0x05), w(0xb8), w(0xb3), w(0x45), w(0x06), \ ++ w(0xd0), w(0x2c), w(0x1e), w(0x8f), w(0xca), w(0x3f), w(0x0f), \ ++ w(0x02), w(0xc1), w(0xaf), w(0xbd), w(0x03), w(0x01), w(0x13), \ ++ w(0x8a), w(0x6b), w(0x3a), w(0x91), w(0x11), w(0x41), w(0x4f), \ ++ w(0x67), w(0xdc), w(0xea), w(0x97), w(0xf2), w(0xcf), w(0xce), \ ++ w(0xf0), w(0xb4), w(0xe6), w(0x73), w(0x96), w(0xac), w(0x74), \ ++ w(0x22), w(0xe7), w(0xad), w(0x35), w(0x85), w(0xe2), w(0xf9), \ ++ w(0x37), w(0xe8), w(0x1c), w(0x75), w(0xdf), w(0x6e), w(0x47), \ ++ w(0xf1), w(0x1a), w(0x71), w(0x1d), w(0x29), w(0xc5), w(0x89), \ ++ w(0x6f), w(0xb7), w(0x62), w(0x0e), w(0xaa), w(0x18), w(0xbe), \ ++ w(0x1b), w(0xfc), w(0x56), w(0x3e), w(0x4b), w(0xc6), w(0xd2), \ ++ w(0x79), w(0x20), w(0x9a), w(0xdb), w(0xc0), w(0xfe), w(0x78), \ ++ w(0xcd), w(0x5a), w(0xf4), w(0x1f), w(0xdd), w(0xa8), w(0x33), \ ++ w(0x88), w(0x07), w(0xc7), w(0x31), w(0xb1), w(0x12), w(0x10), \ ++ w(0x59), w(0x27), w(0x80), w(0xec), w(0x5f), w(0x60), w(0x51), \ ++ w(0x7f), w(0xa9), w(0x19), w(0xb5), w(0x4a), w(0x0d), w(0x2d), \ ++ w(0xe5), w(0x7a), w(0x9f), w(0x93), w(0xc9), w(0x9c), w(0xef), \ ++ w(0xa0), w(0xe0), w(0x3b), w(0x4d), w(0xae), w(0x2a), w(0xf5), \ ++ w(0xb0), w(0xc8), w(0xeb), w(0xbb), w(0x3c), w(0x83), w(0x53), \ ++ w(0x99), w(0x61), w(0x17), w(0x2b), w(0x04), w(0x7e), w(0xba), \ ++ w(0x77), w(0xd6), w(0x26), w(0xe1), w(0x69), w(0x14), w(0x63), \ ++ w(0x55), w(0x21), w(0x0c), w(0x7d) \ ++ } ++/* clang-format on */ ++ ++/* X Macro trick. See https://en.wikipedia.org/wiki/X_Macro */ ++#define SSE2NEON_AES_H0(x) (x) ++static const uint8_t _sse2neon_sbox[256] = SSE2NEON_AES_SBOX(SSE2NEON_AES_H0); ++static const uint8_t _sse2neon_rsbox[256] = SSE2NEON_AES_RSBOX(SSE2NEON_AES_H0); ++#undef SSE2NEON_AES_H0 ++ ++/* x_time function and matrix multiply function */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#define SSE2NEON_XT(x) (((x) << 1) ^ ((((x) >> 7) & 1) * 0x1b)) ++#define SSE2NEON_MULTIPLY(x, y) \ ++ (((y & 1) * x) ^ ((y >> 1 & 1) * SSE2NEON_XT(x)) ^ \ ++ ((y >> 2 & 1) * SSE2NEON_XT(SSE2NEON_XT(x))) ^ \ ++ ((y >> 3 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))) ^ \ ++ ((y >> 4 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))))) ++#endif ++ ++// In the absence of crypto extensions, implement aesenc using regular NEON ++// intrinsics instead. See: ++// https://www.workofard.com/2017/01/accelerated-aes-for-the-arm64-linux-kernel/ ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/ and ++// for more information. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ /* shift rows */ ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ /* sub bytes */ ++ // Here, we separate the whole 256-bytes table into 4 64-bytes tables, and ++ // look up each of the table. After each lookup, we load the next table ++ // which locates at the next 64-bytes. In the meantime, the index in the ++ // table would be smaller than it was, so the index parameters of ++ // `vqtbx4q_u8()` need to be added the same constant as the loaded tables. ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ // 'w-0x40' equals to 'vsubq_u8(w, vdupq_n_u8(0x40))' ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ /* mix columns */ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ /* add round key */ ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A implementation for a table-based AES */ ++#define SSE2NEON_AES_B2W(b0, b1, b2, b3) \ ++ (((uint32_t) (b3) << 24) | ((uint32_t) (b2) << 16) | \ ++ ((uint32_t) (b1) << 8) | (uint32_t) (b0)) ++// multiplying 'x' by 2 in GF(2^8) ++#define SSE2NEON_AES_F2(x) ((x << 1) ^ (((x >> 7) & 1) * 0x011b /* WPOLY */)) ++// multiplying 'x' by 3 in GF(2^8) ++#define SSE2NEON_AES_F3(x) (SSE2NEON_AES_F2(x) ^ x) ++#define SSE2NEON_AES_U0(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F2(p), p, p, SSE2NEON_AES_F3(p)) ++#define SSE2NEON_AES_U1(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p, p) ++#define SSE2NEON_AES_U2(p) \ ++ SSE2NEON_AES_B2W(p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p) ++#define SSE2NEON_AES_U3(p) \ ++ SSE2NEON_AES_B2W(p, p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p)) ++ ++ // this generates a table containing every possible permutation of ++ // shift_rows() and sub_bytes() with mix_columns(). ++ static const uint32_t ALIGN_STRUCT(16) aes_table[4][256] = { ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U0), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U1), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U2), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U3), ++ }; ++#undef SSE2NEON_AES_B2W ++#undef SSE2NEON_AES_F2 ++#undef SSE2NEON_AES_F3 ++#undef SSE2NEON_AES_U0 ++#undef SSE2NEON_AES_U1 ++#undef SSE2NEON_AES_U2 ++#undef SSE2NEON_AES_U3 ++ ++ uint32_t x0 = _mm_cvtsi128_si32(a); // get a[31:0] ++ uint32_t x1 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); // get a[63:32] ++ uint32_t x2 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xAA)); // get a[95:64] ++ uint32_t x3 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); // get a[127:96] ++ ++ // finish the modulo addition step in mix_columns() ++ __m128i out = _mm_set_epi32( ++ (aes_table[0][x3 & 0xff] ^ aes_table[1][(x0 >> 8) & 0xff] ^ ++ aes_table[2][(x1 >> 16) & 0xff] ^ aes_table[3][x2 >> 24]), ++ (aes_table[0][x2 & 0xff] ^ aes_table[1][(x3 >> 8) & 0xff] ^ ++ aes_table[2][(x0 >> 16) & 0xff] ^ aes_table[3][x1 >> 24]), ++ (aes_table[0][x1 & 0xff] ^ aes_table[1][(x2 >> 8) & 0xff] ^ ++ aes_table[2][(x3 >> 16) & 0xff] ^ aes_table[3][x0 >> 24]), ++ (aes_table[0][x0 & 0xff] ^ aes_table[1][(x1 >> 8) & 0xff] ^ ++ aes_table[2][(x2 >> 16) & 0xff] ^ aes_table[3][x3 >> 24])); ++ ++ return _mm_xor_si128(out, RoundKey); ++#endif ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // inverse mix columns ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & ++ 0x1b); // multiplying 'v' by 2 in GF(2^8) ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ // inverse mix columns ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ // sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A implementation */ ++ uint8_t v[16] = { ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 0)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 5)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 10)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 15)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 4)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 9)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 14)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 3)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 8)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 13)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 2)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 7)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 12)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 1)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 6)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 11)], ++ }; ++ ++ return vreinterpretq_m128i_u8(vld1q_u8(v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (int i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++#if defined(__aarch64__) ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ uint8x16_t v = vreinterpretq_u8_m128i(a); ++ uint8x16_t w; ++ ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ // multiplying 'v' by 2 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ return vreinterpretq_m128i_u8(w); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ vst1q_u8((uint8_t *) v, vreinterpretq_u8_m128i(a)); ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)); ++#endif ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++// ++// Emits the Advanced Encryption Standard (AES) instruction aeskeygenassist. ++// This instruction generates a round key for AES encryption. See ++// https://kazakov.life/2017/11/01/cryptocurrency-mining-on-ios-devices/ ++// for details. ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++#if defined(__aarch64__) ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); ++ uint8x16_t v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), _a); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), _a - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), _a - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), _a - 0xc0); ++ ++ uint32x4_t v_u32 = vreinterpretq_u32_u8(v); ++ uint32x4_t ror_v = vorrq_u32(vshrq_n_u32(v_u32, 8), vshlq_n_u32(v_u32, 24)); ++ uint32x4_t ror_xor_v = veorq_u32(ror_v, vdupq_n_u32(rcon)); ++ ++ return vreinterpretq_m128i_u32(vtrn2q_u32(v_u32, ror_xor_v)); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint32_t X1 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); ++ uint32_t X3 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); ++ for (int i = 0; i < 4; ++i) { ++ ((uint8_t *) &X1)[i] = _sse2neon_sbox[((uint8_t *) &X1)[i]]; ++ ((uint8_t *) &X3)[i] = _sse2neon_sbox[((uint8_t *) &X3)[i]]; ++ } ++ return _mm_set_epi32(((X3 >> 8) | (X3 << 24)) ^ rcon, X3, ++ ((X1 >> 8) | (X1 << 24)) ^ rcon, X1); ++#endif ++} ++#undef SSE2NEON_AES_SBOX ++#undef SSE2NEON_AES_RSBOX ++ ++#if defined(__aarch64__) ++#undef SSE2NEON_XT ++#undef SSE2NEON_MULTIPLY ++#endif ++ ++#else /* __ARM_FEATURE_CRYPTO */ ++// Implements equivalent of 'aesenc' by combining AESE (with an empty key) and ++// AESMC and then manually applying the real key as an xor operation. This ++// unfortunately means an additional xor op; the compiler should be able to ++// optimize this away for repeated calls however. See ++// https://blog.michaelbrase.com/2018/05/08/emulating-x86-aes-intrinsics-on-armv8-a ++// for more details. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesmcq_u8(vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(b))); ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesimcq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return _mm_xor_si128(vreinterpretq_m128i_u8(vaeseq_u8( ++ vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ RoundKey); ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8( ++ veorq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++ return vreinterpretq_m128i_u8(vaesimcq_u8(vreinterpretq_u8_m128i(a))); ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst." ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++ // AESE does ShiftRows and SubBytes on A ++ uint8x16_t u8 = vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)); ++ ++#ifndef _MSC_VER ++ uint8x16_t dest = { ++ // Undo ShiftRows step from AESE and extract X1 and X3 ++ u8[0x4], u8[0x1], u8[0xE], u8[0xB], // SubBytes(X1) ++ u8[0x1], u8[0xE], u8[0xB], u8[0x4], // ROT(SubBytes(X1)) ++ u8[0xC], u8[0x9], u8[0x6], u8[0x3], // SubBytes(X3) ++ u8[0x9], u8[0x6], u8[0x3], u8[0xC], // ROT(SubBytes(X3)) ++ }; ++ uint32x4_t r = {0, (unsigned) rcon, 0, (unsigned) rcon}; ++ return vreinterpretq_m128i_u8(dest) ^ vreinterpretq_m128i_u32(r); ++#else ++ // We have to do this hack because MSVC is strictly adhering to the CPP ++ // standard, in particular C++03 8.5.1 sub-section 15, which states that ++ // unions must be initialized by their first member type. ++ ++ // As per the Windows ARM64 ABI, it is always little endian, so this works ++ __n128 dest{ ++ ((uint64_t) u8.n128_u8[0x4] << 0) | ((uint64_t) u8.n128_u8[0x1] << 8) | ++ ((uint64_t) u8.n128_u8[0xE] << 16) | ++ ((uint64_t) u8.n128_u8[0xB] << 24) | ++ ((uint64_t) u8.n128_u8[0x1] << 32) | ++ ((uint64_t) u8.n128_u8[0xE] << 40) | ++ ((uint64_t) u8.n128_u8[0xB] << 48) | ++ ((uint64_t) u8.n128_u8[0x4] << 56), ++ ((uint64_t) u8.n128_u8[0xC] << 0) | ((uint64_t) u8.n128_u8[0x9] << 8) | ++ ((uint64_t) u8.n128_u8[0x6] << 16) | ++ ((uint64_t) u8.n128_u8[0x3] << 24) | ++ ((uint64_t) u8.n128_u8[0x9] << 32) | ++ ((uint64_t) u8.n128_u8[0x6] << 40) | ++ ((uint64_t) u8.n128_u8[0x3] << 48) | ++ ((uint64_t) u8.n128_u8[0xC] << 56)}; ++ ++ dest.n128_u32[1] = dest.n128_u32[1] ^ rcon; ++ dest.n128_u32[3] = dest.n128_u32[3] ^ rcon; ++ ++ return dest; ++#endif ++} ++#endif ++ ++/* Others */ ++ ++// Perform a carry-less multiplication of two 64-bit integers, selected from a ++// and b according to imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clmulepi64_si128 ++FORCE_INLINE __m128i _mm_clmulepi64_si128(__m128i _a, __m128i _b, const int imm) ++{ ++ uint64x2_t a = vreinterpretq_u64_m128i(_a); ++ uint64x2_t b = vreinterpretq_u64_m128i(_b); ++ switch (imm & 0x11) { ++ case 0x00: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_low_u64(b))); ++ case 0x01: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_low_u64(b))); ++ case 0x10: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_high_u64(b))); ++ case 0x11: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_high_u64(b))); ++ default: ++ abort(); ++ } ++} ++ ++FORCE_INLINE unsigned int _sse2neon_mm_get_denormals_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_DENORMALS_ZERO_ON : _MM_DENORMALS_ZERO_OFF; ++} ++ ++// Count the number of bits set to 1 in unsigned 32-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u32 ++FORCE_INLINE int _mm_popcnt_u32(unsigned int a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcount) ++ return __builtin_popcount(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits(a); ++#else ++ return (int) vaddlv_u8(vcnt_u8(vcreate_u8((uint64_t) a))); ++#endif ++#else ++ uint32_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ ++ vst1_u32(&count, count32x2_val); ++ return count; ++#endif ++} ++ ++// Count the number of bits set to 1 in unsigned 64-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u64 ++FORCE_INLINE int64_t _mm_popcnt_u64(uint64_t a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcountll) ++ return __builtin_popcountll(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits64(a); ++#else ++ return (int64_t) vaddlv_u8(vcnt_u8(vcreate_u8(a))); ++#endif ++#else ++ uint64_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ uint64x1_t count64x1_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ count64x1_val = vpaddl_u32(count32x2_val); ++ vst1_u64(&count, count64x1_val); ++ return count; ++#endif ++} ++ ++FORCE_INLINE void _sse2neon_mm_set_denormals_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_DENORMALS_ZERO_MASK) == _MM_DENORMALS_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Return the current 64-bit value of the processor's time-stamp counter. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=rdtsc ++FORCE_INLINE uint64_t _rdtsc(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t val; ++ ++ /* According to ARM DDI 0487F.c, from Armv8.0 to Armv8.5 inclusive, the ++ * system counter is at least 56 bits wide; from Armv8.6, the counter ++ * must be 64 bits wide. So the system counter could be less than 64 ++ * bits wide and it is attributed with the flag 'cap_user_time_short' ++ * is true. ++ */ ++#if defined(_MSC_VER) ++ val = _ReadStatusReg(ARM64_SYSREG(3, 3, 14, 0, 2)); ++#else ++ __asm__ __volatile__("mrs %0, cntvct_el0" : "=r"(val)); ++#endif ++ ++ return val; ++#else ++ uint32_t pmccntr, pmuseren, pmcntenset; ++ // Read the user mode Performance Monitoring Unit (PMU) ++ // User Enable Register (PMUSERENR) access permissions. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c14, 0" : "=r"(pmuseren)); ++ if (pmuseren & 1) { // Allows reading PMUSERENR for user mode code. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c12, 1" : "=r"(pmcntenset)); ++ if (pmcntenset & 0x80000000UL) { // Is it counting? ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c13, 0" : "=r"(pmccntr)); ++ // The counter is set up to count every 64th cycle ++ return (uint64_t) (pmccntr) << 6; ++ } ++ } ++ ++ // Fallback to syscall as we can't enable PMUSERENR in user mode. ++ struct timeval tv; ++ gettimeofday(&tv, NULL); ++ return (uint64_t) (tv.tv_sec) * 1000000 + tv.tv_usec; ++#endif ++} ++ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma pop_macro("ALIGN_STRUCT") ++#pragma pop_macro("FORCE_INLINE") ++#pragma pop_macro("FORCE_INLINE_OPTNONE") ++#endif ++ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma GCC pop_options ++#endif ++ ++#endif diff --git a/recipes/skyline2isocor/meta.yaml b/recipes/skyline2isocor/meta.yaml new file mode 100644 index 0000000000000..be8a9b9d96ae9 --- /dev/null +++ b/recipes/skyline2isocor/meta.yaml @@ -0,0 +1,45 @@ +{% set name = "skyline2isocor" %} +{% set version = "1.0.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/skyline2isocor-{{ version }}.tar.gz + sha256: b202927c63bd10693c5b423cc6a4bd93efcbac0fb0ab86d5a68fae69b026a6d2 + +build: + entry_points: + - skyline2isocor = skyline2isocor.cli:start_cli + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('skyline2isocor', max_pin="x.x") }} + +requirements: + host: + - python >=3.11,<4.0 + - poetry-core + - pip + run: + - python >=3.11.0,<4.0.0 + - pandas >=2.1.4,<3.0.0 + +test: + imports: + - skyline2isocor + commands: + - skyline2isocor --help + +about: + home: https://pypi.org/project/skyline2isocor/ + summary: Convert skyline output to IsoCor input format + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE + +extra: + recipe-maintainers: + - llegregam diff --git a/recipes/slclust/build.sh b/recipes/slclust/build.sh index eaddf0285507e..dc99d24e2542e 100644 --- a/recipes/slclust/build.sh +++ b/recipes/slclust/build.sh @@ -1,3 +1,7 @@ #!/bin/bash -make install -cp bin/slclust $PREFIX/bin + +set -xe + +make -j ${CPU_COUNT} CC="${CXX} ${CXXFLAGS} -I${PWD}/include" install +mkdir -p $PREFIX/bin +cp -f bin/slclust $PREFIX/bin diff --git a/recipes/slclust/meta.yaml b/recipes/slclust/meta.yaml index 96893ef87aecf..3e2f82a2d39e1 100644 --- a/recipes/slclust/meta.yaml +++ b/recipes/slclust/meta.yaml @@ -7,12 +7,14 @@ source: sha256: 9e21b65288e7fc35647721380cfedffd68608e164b4240c692c511c18c1620f8 build: - number: 3 + number: 4 + run_exports: + - {{ pin_subpackage("slclust", max_pin=None) }} requirements: build: - make - - {{ compiler('c') }} + - {{ compiler('cxx') }} host: - zlib run: @@ -26,3 +28,7 @@ about: home: https://sourceforge.net/projects/slclust/ license: Artistic License summary: A utility that performs single-linkage clustering with the option of applying a Jaccard similarity coefficient to break weakly bound clusters into distinct clusters. + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/slivar/meta.yaml b/recipes/slivar/meta.yaml index 34672f5e3da9b..990da358fce32 100644 --- a/recipes/slivar/meta.yaml +++ b/recipes/slivar/meta.yaml @@ -1,5 +1,5 @@ {% set name = "slivar" %} -{% set version = "0.3.0" %} +{% set version = "0.3.1" %} package: name: {{ name|lower }} @@ -7,11 +7,13 @@ package: source: url: https://github.com/brentp/slivar/releases/download/v{{ version }}/slivar - sha256: 5cd6f69f5244ef32cdf5155fcf5128d3bcdc965affe483ff121741e0b1fa28e3 + sha256: 7378f566e2abba91dc03373f48ebac504b78aa4ed5d5d7c7549d053fede2f271 build: - number: 2 + number: 0 skip: True # [osx] + run_exports: + - '{{ pin_subpackage(name, max_pin="x.x") }}' requirements: build: diff --git a/recipes/slow5curl/meta.yaml b/recipes/slow5curl/meta.yaml index 4830b0486ce78..3c6270698f1c6 100644 --- a/recipes/slow5curl/meta.yaml +++ b/recipes/slow5curl/meta.yaml @@ -1,5 +1,5 @@ {% set name = "slow5curl" %} -{% set version = "0.2.0" %} +{% set version = "0.2.1" %} package: name: {{ name }} @@ -7,7 +7,7 @@ package: source: url: https://github.com/BonsonW/slow5curl/releases/download/v{{ version }}/slow5curl-v{{ version }}-release.tar.gz - sha256: 11eac212e3452fb91e158999d0c5b186ac238d5580e3a9696a87590c21206bd3 + sha256: 6c062e59dc3e8bd65612613da7ac9a2518544061f1ef81d159e938e717393d3e build: number: 0 diff --git a/recipes/slow5tools/0.2.0/meta.yaml b/recipes/slow5tools/0.2.0/meta.yaml index 7b3a0eec27f0e..6c86c96fa8d03 100644 --- a/recipes/slow5tools/0.2.0/meta.yaml +++ b/recipes/slow5tools/0.2.0/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 47c890e2742576dc1cd5fad9fd7acdcfcbab8264c0dca4b3626877a8dc021b27 build: - number: 5 + number: 6 requirements: build: diff --git a/recipes/slow5tools/0.7.0/meta.yaml b/recipes/slow5tools/0.7.0/meta.yaml index 90d35ac58c6df..e114983f4d5f8 100644 --- a/recipes/slow5tools/0.7.0/meta.yaml +++ b/recipes/slow5tools/0.7.0/meta.yaml @@ -10,7 +10,7 @@ source: sha256: a38ea6e0e1c647b6d2b333d15201d9ce5932dda52ec87537e6d982ba1bfbb595 build: - number: 2 + number: 3 requirements: build: diff --git a/recipes/slow5tools/0.8.0/meta.yaml b/recipes/slow5tools/0.8.0/meta.yaml index 2c7add15449ee..57f5e074df82d 100644 --- a/recipes/slow5tools/0.8.0/meta.yaml +++ b/recipes/slow5tools/0.8.0/meta.yaml @@ -10,7 +10,7 @@ source: sha256: f0f6bfdd8bcc633ae0ccd4e61e6d847579882be8bfd6488d1ffdba9d7db794f6 build: - number: 2 + number: 3 requirements: build: diff --git a/recipes/slow5tools/0.9.0/meta.yaml b/recipes/slow5tools/0.9.0/meta.yaml index 12a7b060c17c3..64348d550afa5 100644 --- a/recipes/slow5tools/0.9.0/meta.yaml +++ b/recipes/slow5tools/0.9.0/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 9a9a4ab2e15fd2ea3275d6d08cfb5d46bdf073207e9430b41d80801cce0de8f6 build: - number: 2 + number: 3 requirements: build: diff --git a/recipes/slow5tools/1.0.0/meta.yaml b/recipes/slow5tools/1.0.0/meta.yaml index 157c7b5b7a8a4..2f375029f4c60 100644 --- a/recipes/slow5tools/1.0.0/meta.yaml +++ b/recipes/slow5tools/1.0.0/meta.yaml @@ -10,7 +10,7 @@ source: sha256: a1c188192adfe3ccea6eaa550716f7d784985377dc7dc1e210b2ed5c968fa6b1 build: - number: 2 + number: 3 requirements: build: diff --git a/recipes/slow5tools/build.sh b/recipes/slow5tools/build.sh index 4789f0a714cfb..b706a46963f9e 100644 --- a/recipes/slow5tools/build.sh +++ b/recipes/slow5tools/build.sh @@ -1,10 +1,15 @@ #!/bin/bash + +set -xe + scripts/install-zstd.sh ./configure --enable-localzstd -cd slow5lib -make CC=$CC CXX=$CXX -cd .. +pushd slow5lib +make -j ${CPU_COUNT} CC=$CC CXX=$CXX +popd + export CFLAGS="${CFLAGS} -D__STDC_FORMAT_MACROS" -make CC=$CC CXX=$CXX +make -j ${CPU_COUNT} CC=$CC CXX=$CXX mkdir -p $PREFIX/bin -cp slow5tools $PREFIX/bin/slow5tools +cp -f slow5tools $PREFIX/bin/slow5tools +chmod 0755 $PREFIX/bin/slow5tools \ No newline at end of file diff --git a/recipes/slow5tools/meta.yaml b/recipes/slow5tools/meta.yaml index 2fdea0e8f865f..4941e1c8f1dc6 100644 --- a/recipes/slow5tools/meta.yaml +++ b/recipes/slow5tools/meta.yaml @@ -1,5 +1,5 @@ {% set name = "slow5tools" %} -{% set version = "1.1.0" %} +{% set version = "1.3.0" %} package: name: {{ name }} @@ -7,7 +7,7 @@ package: source: url: https://github.com/hasindu2008/slow5tools/releases/download/v{{ version }}/slow5tools-v{{ version }}-release.tar.gz - sha256: 94b4a1917b80f212ab8d2442f414acb82e6a7c5db25087d89cbe99e4f910caef + sha256: f7221285e0090a5ca05a75f5e70c51d093138b2c8ad658b2756c3c6e51097d5d build: number: 0 @@ -39,3 +39,6 @@ about: summary: Toolkit for S/bLOW5 format description: 'Slow5tools is a toolkit for converting (FAST5 <-> SLOW5), compressing, viewing, indexing and manipulating data in SLOW5 format.' +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/smaca/meta.yaml b/recipes/smaca/meta.yaml index b4c5932a8e538..71fa33ffc680f 100644 --- a/recipes/smaca/meta.yaml +++ b/recipes/smaca/meta.yaml @@ -11,8 +11,10 @@ source: sha256: 1a0750ef2c58aeb997806be2c5f5c6952d8c13f95b4f4fff880e184a4fab2d43 build: - number: 4 - skip: true # [py2k or osx] + number: 5 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + skip: true # [osx] entry_points: - smaca = smaca.cli:main script: {{ PYTHON }} -m pip install . -vv diff --git a/recipes/smafa/build.sh b/recipes/smafa/build.sh index 4315f1b960f14..d190f6e4249ff 100644 --- a/recipes/smafa/build.sh +++ b/recipes/smafa/build.sh @@ -1,10 +1,11 @@ -#!/bin/bash -e +#!/bin/bash -euo + +mkdir -p ${PREFIX}/bin # Build statically linked binary with Rust -C_INCLUDE_PATH=$PREFIX/include \ -LIBRARY_PATH=$PREFIX/lib \ -cargo build --release +export C_INCLUDE_PATH="${PREFIX}/include" \ +export LIBRARY_PATH="${PREFIX}/lib" \ -# Install the binary -mkdir -p ${PREFIX}/bin -cp target/release/smafa $PREFIX/bin +# build statically linked binary with Rust +RUST_BACKTRACE=1 +cargo install --verbose --path . --root ${PREFIX} diff --git a/recipes/smafa/meta.yaml b/recipes/smafa/meta.yaml index 02c62ffdb868a..5a77eb6404adf 100644 --- a/recipes/smafa/meta.yaml +++ b/recipes/smafa/meta.yaml @@ -1,22 +1,24 @@ -{% set version = "0.7.1" %} +{% set version = "0.8.0" %} {% set name = "smafa" %} -{% set sha256 = "b7642e162da558a384c3e2980a5175c2899a7e261f869fc711f45371a9297686" %} +{% set sha256 = "6f103ecd5cdf36fb61572a757732eeb07e905c61b497fa247c1a8397ee775c2d" %} package: name: {{ name }} version: {{ version }} -build: - number: 0 - skip: True # [osx] - source: url: https://github.com/wwood/{{ name }}/archive/v{{version}}.tar.gz sha256: {{ sha256 }} +build: + number: 0 + skip: True # [osx] + run_exports: + - {{ pin_subpackage('smafa', max_pin="x.x") }} + requirements: build: - - rust >=1.19 + - {{ compiler('rust') }} - {{ compiler('c') }} test: @@ -24,7 +26,9 @@ test: - smafa --version | grep {{ version }} about: - home: https://github.com/wwood/smafa - license: GPL3 - license_file: LICENCE.txt - summary: smafa is a tool for querying and clustering pre-aligned small pre-aligned sequences. + home: "https://github.com/wwood/smafa" + license: "GPL-3.0-or-later" + license_family: GPL3 + license_file: "LICENCE.txt" + summary: "smafa is a tool for querying and clustering pre-aligned small pre-aligned sequences." + dev_url: "https://github.com/wwood/smafa" diff --git a/recipes/smallgenomeutilities/meta.yaml b/recipes/smallgenomeutilities/meta.yaml index 339a4c0c96de6..8ed0088e6e6d3 100644 --- a/recipes/smallgenomeutilities/meta.yaml +++ b/recipes/smallgenomeutilities/meta.yaml @@ -1,6 +1,6 @@ {% set name = "smallgenomeutilities" %} -{% set version = "0.4.0" %} -{% set sha256 = "41e0f0fb99491674be27c0c300b7882ec14d035b09beaf9ec800594db50165a7" %} +{% set version = "0.4.1" %} +{% set sha256 = "0fbf5077b8147bbcd445ee9e761f1234e947a093d3cc908bb1c3dfc76c1ce1e1" %} package: name: {{ name|lower }} @@ -15,6 +15,8 @@ source: build: noarch: python number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -v requirements: @@ -23,7 +25,7 @@ requirements: - pip run: - python >3 - - biopython + - biopython =1.83 - pysam >=0.16 - numpy - pandas @@ -36,6 +38,7 @@ requirements: - pysamstats - mafft + test: imports: - smallgenomeutilities diff --git a/recipes/smalt/build.sh b/recipes/smalt/build.sh index 3f8b3a68e0763..62bafd63bdae4 100644 --- a/recipes/smalt/build.sh +++ b/recipes/smalt/build.sh @@ -1,12 +1,12 @@ #!/bin/bash -set -ef -o pipefail +set -xef -o pipefail export CPPFLAGS="-I${PREFIX}/include" export LDFLAGS="-L${PREFIX}/lib" ./configure --prefix=$PREFIX -make +make -j ${CPU_COUNT} if [ -z "${OSX_ARCH}" ]; then make check diff --git a/recipes/smhasher/meta.yaml b/recipes/smhasher/meta.yaml index 1dedb92b9c732..8b307e9116885 100644 --- a/recipes/smhasher/meta.yaml +++ b/recipes/smhasher/meta.yaml @@ -3,7 +3,7 @@ package: version: "0.150.1" build: - number: 9 + number: 10 script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv source: diff --git a/recipes/smncopynumbercaller/meta.yaml b/recipes/smncopynumbercaller/meta.yaml index 6772b8ae77340..49cbbbc4b0341 100644 --- a/recipes/smncopynumbercaller/meta.yaml +++ b/recipes/smncopynumbercaller/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 64bd674f6b466821bad1b9000610a8b78db9512c73a8a5382dd31aa1ab16b154 build: - number: 0 + number: 1 noarch: generic requirements: @@ -33,4 +33,4 @@ about: license: Apache License 2.0 license_file: LICENSE.txt copyright: https://github.com/Illumina/SMNCopyNumberCaller/blob/master/COPYRIGHT.txt - summary: Call copy number of SMN1, SMN2, and SMN2Δ7–8 from a BAM file. \ No newline at end of file + summary: Call copy number of SMN1, SMN2, and SMN2Δ7–8 from a BAM file. diff --git a/recipes/smof/meta.yaml b/recipes/smof/meta.yaml index d29ff98ce37ba..3db7c7540d71b 100644 --- a/recipes/smof/meta.yaml +++ b/recipes/smof/meta.yaml @@ -1,5 +1,5 @@ {% set name = "smof" %} -{% set version = "2.22.2" %} +{% set version = "2.22.4" %} package: name: "{{ name|lower }}" @@ -7,10 +7,12 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: "04364e72a93a0555fe19ab1ab9e74bac41cd8564b4ed71d62ac7ed6b3e66160e" + sha256: "0f5967ea73fd7031f0a0f0e36c30546d12090a0c35498d79dbf3a6c19a3bd717" build: noarch: python + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} number: 0 entry_points: - smof=smof.ui:main diff --git a/recipes/smoothxg/meta.yaml b/recipes/smoothxg/meta.yaml index da6405499ebc3..b0382f7fd18a9 100644 --- a/recipes/smoothxg/meta.yaml +++ b/recipes/smoothxg/meta.yaml @@ -1,5 +1,5 @@ {% set name = "smoothxg" %} -{% set version = "0.7.2" %} +{% set version = "0.7.4" %} package: name: "{{ name }}" @@ -7,7 +7,7 @@ package: source: url: https://github.com/pangenome/{{ name }}/releases/download/v{{ version }}/{{ name }}-v{{ version }}.tar.gz - sha256: 68784e7f32accfadfbcbebaeb36099fc48296655adc67e62417f08a55459a8df + sha256: 6c15c1156ac3e1a29cdb4db20f46e1b22382b22640beaa7ec8e0d76564dc53ca patches: - CMakeLists.patch diff --git a/recipes/smudgeplot/build.sh b/recipes/smudgeplot/build.sh index 758b23ba13f0e..7dd1d9fd55b4a 100644 --- a/recipes/smudgeplot/build.sh +++ b/recipes/smudgeplot/build.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash mkdir -p $PREFIX/bin diff --git a/recipes/smudgeplot/meta.yaml b/recipes/smudgeplot/meta.yaml index 196115f367b4b..9d41489cad4f2 100644 --- a/recipes/smudgeplot/meta.yaml +++ b/recipes/smudgeplot/meta.yaml @@ -1,16 +1,17 @@ -{% set version = "0.2.5" %} +{% set version = "0.3.0" %} package: name: smudgeplot version: {{ version }} build: - number: 3 - skip: True # [py2k] + number: 1 + run_exports: + - {{ pin_subpackage('smudgeplot', max_pin="x.x") }} source: url: https://github.com/KamilSJaron/smudgeplot/archive/v{{ version }}.tar.gz - sha256: 189c910b28e59d52f52ae1f7b2fc0c7e8c603525e4383e19753eccbb65afb5cc + sha256: b95b61e517de8f33c49910825a5c68e9a0d1e27cc33463939ef4c994e61dda92 requirements: build: @@ -30,6 +31,7 @@ requirements: - r-argparse - numpy - scipy + test: commands: - smudgeplot.py --version 2>&1 | grep 'Running' @@ -37,5 +39,12 @@ test: about: home: https://github.com/KamilSJaron/smudgeplot license: Apache-2.0 + license_family: APACHE license_file: LICENSE - summary: Inference of ploidy and heterozygosity structure using whole genome sequencing data + summary: "Inference of ploidy and heterozygosity structure using whole genome sequencing data." + dev_url: https://github.com/KamilSJaron/smudgeplot + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/smudgeplot_rn/meta.yaml b/recipes/smudgeplot_rn/meta.yaml index dc3606a90d5d5..2f541a11ae8d8 100644 --- a/recipes/smudgeplot_rn/meta.yaml +++ b/recipes/smudgeplot_rn/meta.yaml @@ -5,7 +5,7 @@ package: version: {{ version }} build: - number: 5 + number: 6 source: url: https://github.com/RNieuwenhuis/smudgeplot/archive/v{{ version }}.tar.gz diff --git a/recipes/snakeatac_env/meta.yaml b/recipes/snakeatac_env/meta.yaml new file mode 100644 index 0000000000000..9727e6f066356 --- /dev/null +++ b/recipes/snakeatac_env/meta.yaml @@ -0,0 +1,93 @@ +{% set version = "0.1.1" %} +{% set sha256 = "7d9c753aceadd0cdd2132f510375e191f1bd9de92e29e43d710433ca770e1f03" %} + +package: + name: snakeatac_env + version: {{ version }} + +source: + - url: https://github.com/sebastian-gregoricchio/snakeATAC/archive/refs/tags/v{{ version }}.tar.gz + sha256: {{ sha256 }} +build: + noarch: python + number: 0 + run_exports: + - {{ pin_subpackage('snakeatac_env', max_pin="x.x") }} + +requirements: + host: + - python + - pip + - numpy >=1.22 + - mpich + + run: + - bcftools + - bedtools + - bioconductor-copywriter + - bioconductor-shortread + - bioinfokit + - bwa-mem2 + - bzip2 + - cutadapt + - deeptools >=3.5.2 + - fastqc + - gatk4 + - macs3 + - matplotlib-base + - multiqc >=1.23 + - pdfcombine + - pip + - py-bgzip + - py2bit + - pybigwig + - pyfaidx + - pysam + - python + - r-colorspace + - r-data.table + - r-dplyr + - r-generics + - r-ggplot2 + - r-ggtext + - r-plyr + - r-rcolorbrewer + - r-reshape2 + - r-scales + - r-snow + - r-stringr + - r-viridis + - samtools + - scipy + - seaborn + - snakemake >=7.24.0 + - snpsift + - subread + - tobias + - ucsc-bedgraphtobigwig + - biopython + - docutils + - fastcluster + - logomaker + - numpydoc + - pandas + - pybedtools + + +test: + commands: + - deeptools --help + - samtools --help + + +about: + home: https://github.com/sebastian-gregoricchio/snakeATAC + license_file: LICENSE + license: GPL-3.0-or-later + summary: snakemake based ATACseq pipeline + doc_url: https://github.com/sebastian-gregoricchio/snakeATAC/wiki + + +extra: + recipe-maintainers: + - sebastian-gregoricchio diff --git a/recipes/snakedeploy/meta.yaml b/recipes/snakedeploy/meta.yaml index 4a3d9f0e594f6..0ade185a5e11c 100644 --- a/recipes/snakedeploy/meta.yaml +++ b/recipes/snakedeploy/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.9.1" %} +{% set version = "0.10.1" %} package: name: snakedeploy @@ -6,14 +6,14 @@ package: source: url: https://pypi.io/packages/source/s/snakedeploy/snakedeploy-{{ version }}.tar.gz - sha256: 3ce399ae67f991647f62ff67a73649cbf786842d888c17a93b1f98b34bfb98e5 + sha256: 27e14f682488d5017d52aeb6253005a51ef006b913dcb5fac217eeff70ca0c24 build: number: 0 noarch: python entry_points: - snakedeploy=snakedeploy.client:main - script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --use-pep517 -vvv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir --use-pep517 -vvv run_exports: - {{ pin_subpackage('snakedeploy', max_pin="x.x") }} @@ -24,6 +24,7 @@ requirements: - python >=3.8 run: - python >=3.8 + - setuptools - jinja2 - pandas - requests @@ -36,16 +37,14 @@ test: imports: - snakedeploy commands: - - pip check - snakedeploy --help - requires: - - pip about: home: https://github.com/snakemake/snakedeploy - summary: Helper for deploying published Snakemake pipelines + summary: "Helper for deploying published Snakemake pipelines." license: MPL-2.0 license_file: LICENSE + dev_url: https://github.com/snakemake/snakedeploy extra: recipe-maintainers: diff --git a/recipes/snakefmt/meta.yaml b/recipes/snakefmt/meta.yaml index 49a1189437a9a..993a11f02aaa8 100644 --- a/recipes/snakefmt/meta.yaml +++ b/recipes/snakefmt/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.8.5" %} +{% set version = "0.10.2" %} package: name: snakefmt @@ -6,7 +6,7 @@ package: source: url: https://pypi.io/packages/source/s/snakefmt/snakefmt-{{ version }}.tar.gz - sha256: 5aa5182dbbbeb84d477dd0f5a9eeeba41bac1f185cfd4897a0b005d4af59ba71 + sha256: 4286a5903b66da7e52763c5e8184da4edc95113b758f4448528804fb54f9b75a build: number: 0 @@ -19,18 +19,17 @@ build: requirements: host: - - black >=23.1.0,<24.0 + - black >=24.3,<25.0 - click >=8.0.0,<9.0.0 - pip - - python >=3.7 + - python >=3.8 - toml >=0.10.2,<0.11.0 - poetry >=1.3,<2.0 run: - - black >=23.1.0,<24.0 + - black >=24.3,<25.0 - click >=8.0.0,<9.0.0 - - python >=3.7 + - python >=3.8 - toml >=0.10.2,<0.11.0 - - importlib_metadata >=1.7,<5.0.0 # [py<3.8] test: imports: diff --git a/recipes/snakemake-executor-plugin-azure-batch/meta.yaml b/recipes/snakemake-executor-plugin-azure-batch/meta.yaml new file mode 100644 index 0000000000000..46334d0da48a9 --- /dev/null +++ b/recipes/snakemake-executor-plugin-azure-batch/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "snakemake-executor-plugin-azure-batch" %} +{% set version = "0.1.3" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snakemake_executor_plugin_azure_batch-{{ version }}.tar.gz + sha256: 7883ecdc3983eb73ea0e1ae10010eeff1626510c7e99176203ee2050031f86e3 + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin='x') }} + +requirements: + host: + - python >=3.11,<4.0 + - poetry-core + - pip + run: + - python >=3.11.0,<4.0.0 + - snakemake-interface-common >=1.15.0,<2.0.0 + - snakemake-interface-executor-plugins >=8.1.1,<9.0.0 + - azure-storage-blob >=12.17.0,<13.0.0 + - azure-batch >=14.0.0,<15.0.0 + - azure-mgmt-batch >=17.0.0,<18.0.0 + - azure-identity >=1.14.0,<2.0.0 + - msrest >=0.7.1,<0.8.0 + +test: + imports: + - snakemake_executor_plugin_azure_batch + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/snakemake/snakemake-executor-plugin-azure-batch + summary: A Snakemake executor plugin for submitting jobs to Microsoft Azure Batch. + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - koesterlab diff --git a/recipes/snakemake-executor-plugin-cluster-generic/meta.yaml b/recipes/snakemake-executor-plugin-cluster-generic/meta.yaml new file mode 100644 index 0000000000000..a49c5bcab174a --- /dev/null +++ b/recipes/snakemake-executor-plugin-cluster-generic/meta.yaml @@ -0,0 +1,42 @@ +{% set name = "snakemake-executor-plugin-cluster-generic" %} +{% set version = "1.0.9" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snakemake_executor_plugin_cluster_generic-{{ version }}.tar.gz + sha256: ad0dc2d8bde7d4f336364bebe11a3b2209653c481ce8fbb0ae8bec81016a9a14 + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin='x') }} + +requirements: + host: + - python >=3.11,<4.0 + - poetry-core + - pip + run: + - python >=3.11.0,<4.0.0 + - snakemake-interface-executor-plugins >=9.0.0,<10.0.0 + - snakemake-interface-common >=1.13.0,<2.0.0 + +test: + imports: + - snakemake_executor_plugin_cluster_generic + +about: + home: https://github.com/snakemake/snakemake-executor-plugin-cluster-generic + summary: 'Generic cluster executor for Snakemake' + license: MIT + license_family: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - koesterlab diff --git a/recipes/snakemake-executor-plugin-cluster-sync/meta.yaml b/recipes/snakemake-executor-plugin-cluster-sync/meta.yaml new file mode 100644 index 0000000000000..04a8c2b648553 --- /dev/null +++ b/recipes/snakemake-executor-plugin-cluster-sync/meta.yaml @@ -0,0 +1,46 @@ +{% set name = "snakemake-executor-plugin-cluster-sync" %} +{% set version = "0.1.4" %} +# Upon version update, requirements have to be checked! + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snakemake_executor_plugin_cluster_sync-{{ version }}.tar.gz + sha256: 6a6dcb2110d4c2ee74f9a48ea68e0fd7ddd2800672ebef00a01faa4affa835ad + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin='x') }} + +requirements: + host: + - python >=3.11,<4.0 + - poetry-core + - pip + run: + - python >=3.11.0,<4.0.0 + - snakemake-interface-common >=1.14.0,<2.0.0 + - snakemake-interface-executor-plugins >=9.0.0,<10.0.0 + +test: + imports: + - snakemake_executor_plugin_cluster_sync + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/snakemake/snakemake-executor-plugin-cluster-sync + summary: A Snakemake executor plugin for cluster jobs that are executed synchronously. + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - koesterlab diff --git a/recipes/snakemake-executor-plugin-drmaa/meta.yaml b/recipes/snakemake-executor-plugin-drmaa/meta.yaml new file mode 100644 index 0000000000000..dd409935a535d --- /dev/null +++ b/recipes/snakemake-executor-plugin-drmaa/meta.yaml @@ -0,0 +1,47 @@ +{% set name = "snakemake-executor-plugin-drmaa" %} +{% set version = "0.1.5" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snakemake_executor_plugin_drmaa-{{ version }}.tar.gz + sha256: 24fe16fc1f1e7ef75bc213cdb960b674bb130ec918a9f6106511a667ffc661b2 + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} + +requirements: + host: + - python >=3.11,<4.0 + - poetry-core + - pip + run: + - python >=3.11.0,<4.0.0 + - snakemake-interface-common >=1.13.0,<2.0.0 + - snakemake-interface-executor-plugins >=9.0.0,<10.0.0 + - drmaa >=0.7.9,<0.8.0 + +test: + imports: + - snakemake_executor_plugin_drmaa + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/snakemake/snakemake-executor-plugin-drmaa + summary: A snakemake executor plugin for submission of jobs via DRMAA. + license: MIT + license_family: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - koesterlab diff --git a/recipes/snakemake-executor-plugin-googlebatch/meta.yaml b/recipes/snakemake-executor-plugin-googlebatch/meta.yaml new file mode 100644 index 0000000000000..1cc98c04baa22 --- /dev/null +++ b/recipes/snakemake-executor-plugin-googlebatch/meta.yaml @@ -0,0 +1,49 @@ +{% set name = "snakemake-executor-plugin-googlebatch" %} +{% set version = "0.5.0" %} +# Upon version update, requirements have to be checked! + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snakemake_executor_plugin_googlebatch-{{ version }}.tar.gz + sha256: 242ddb2348db1837a0676e991b257e0924791d3dab20aa8f89d63c548adfd1cd + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} + +requirements: + host: + - python >=3.11,<4.0 + - poetry-core + - pip + run: + - python >=3.11.0,<4.0.0 + - google-cloud-batch >=0.17.1,<0.18.0 + - requests >=2.31.0,<3.0.0 + - google-api-core >=2.12.0,<3.0.0 + - google-cloud-storage >=2.12.0,<3.0.0 + - snakemake-interface-common >=1.14.0,<2.0.0 + - snakemake-interface-executor-plugins >=9.0.0,<10.0.0 + - jinja2 >=3.1.2,<4.0.0 + - google-cloud-logging >=3.8.0,<4.0.0 + +test: + imports: + - snakemake_executor_plugin_googlebatch + +about: + home: https://github.com/snakemake/snakemake-executor-plugin-googlebatch + summary: 'Snakemake executor plugin for Google Batch' + license: MIT + license_family: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - koesterlab diff --git a/recipes/snakemake-executor-plugin-kubernetes/meta.yaml b/recipes/snakemake-executor-plugin-kubernetes/meta.yaml new file mode 100644 index 0000000000000..64f02f57491ed --- /dev/null +++ b/recipes/snakemake-executor-plugin-kubernetes/meta.yaml @@ -0,0 +1,47 @@ +{% set name = "snakemake-executor-plugin-kubernetes" %} +{% set version = "0.2.2" %} +# Upon version update, requirements have to be checked! + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snakemake_executor_plugin_kubernetes-{{ version }}.tar.gz + sha256: 08f7ea92cc288f0830f7bfc38112c9e4a03d623d84f8f80b0105cc179458fc4c + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} + +requirements: + host: + - python >=3.11,<4.0 + - poetry-core + - pip + run: + - python >=3.11.0,<4.0.0 + - snakemake-interface-common >=1.14.1,<2.0.0 + - snakemake-interface-executor-plugins >=9.0.0,<10.0.0 + - python-kubernetes >=27.2.0,<28.0.0 + +test: + imports: + - snakemake_executor_plugin_kubernetes + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/snakemake/snakemake-executor-plugin-kubernetes + summary: A snakemake executor plugin for submission of jobs to Kubernetes + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - koesterlab diff --git a/recipes/snakemake-executor-plugin-lsf-jobstep/meta.yaml b/recipes/snakemake-executor-plugin-lsf-jobstep/meta.yaml new file mode 100644 index 0000000000000..27f1ea3595b3f --- /dev/null +++ b/recipes/snakemake-executor-plugin-lsf-jobstep/meta.yaml @@ -0,0 +1,41 @@ +{% set name = "snakemake-executor-plugin-lsf-jobstep" %} +{% set version = "0.1.10" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snakemake_executor_plugin_lsf_jobstep-{{ version }}.tar.gz + sha256: 72d29f3cd22061a61f138bba0ab6803b3fb7017f9475276acfa40ad20d23f44d + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin='x') }} + +requirements: + host: + - python >=3.11,<4.0 + - poetry-core + - pip + run: + - python >=3.11.0,<4.0.0 + - snakemake-interface-common >=1.17.1,<2.0.0 + - snakemake-interface-executor-plugins >=9.0.0,<10.0.0 + +test: + imports: + - snakemake_executor_plugin_lsf_jobstep + +about: + home: https://github.com/BEFH/snakemake-executor-plugin-lsf-jobstep + summary: A Snakemake executor plugin for running bjobs jobs inside of LSF jobs (meant for internal use by snakemake-executor-plugin-lsf) + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - BFH diff --git a/recipes/snakemake-executor-plugin-lsf/meta.yaml b/recipes/snakemake-executor-plugin-lsf/meta.yaml new file mode 100644 index 0000000000000..f37e815f69c14 --- /dev/null +++ b/recipes/snakemake-executor-plugin-lsf/meta.yaml @@ -0,0 +1,43 @@ +{% set name = "snakemake-executor-plugin-lsf" %} +{% set version = "0.2.6" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snakemake_executor_plugin_lsf-{{ version }}.tar.gz + sha256: ddd4205c3a6da299d0962b6d3e689131ace1fd8547b528ab628543dd865f608d + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin='x') }} + +requirements: + host: + - python >=3.11,<4.0 + - poetry-core + - pip + run: + - python >=3.11.0,<4.0.0 + - snakemake-interface-common >=1.17.1,<2.0.0 + - snakemake-interface-executor-plugins >=9.0.0,<10.0.0 + - snakemake-executor-plugin-lsf-jobstep >=0.1.10,<0.2.0 + - throttler >=1.2.2,<2.0.0 + +test: + imports: + - snakemake_executor_plugin_lsf + +about: + home: https://github.com/befh/snakemake-executor-plugin-lsf + summary: A Snakemake executor plugin for submitting jobs to a LSF cluster. + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - BEFH diff --git a/recipes/snakemake-executor-plugin-slurm-jobstep/meta.yaml b/recipes/snakemake-executor-plugin-slurm-jobstep/meta.yaml new file mode 100644 index 0000000000000..1e48b4f3c9c2b --- /dev/null +++ b/recipes/snakemake-executor-plugin-slurm-jobstep/meta.yaml @@ -0,0 +1,45 @@ +{% set name = "snakemake-executor-plugin-slurm-jobstep" %} +{% set version = "0.2.1" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snakemake_executor_plugin_slurm_jobstep-{{ version }}.tar.gz + sha256: 58894d52b5998a34fa6f60ec511ff0bfde4a9ec96714bcaa3cd2f46cf8a33859 + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin='x') }} + +requirements: + host: + - python >=3.11,<4.0 + - poetry-core + - pip + run: + - python >=3.11.0,<4.0.0 + - snakemake-interface-common >=1.13.0,<2.0.0 + - snakemake-interface-executor-plugins >=9.0.0,<10.0.0 + +test: + imports: + - snakemake_executor_plugin_slurm_jobstep + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/snakemake/snakemake-executor-plugin-slurm-jobstep + summary: A Snakemake executor plugin for running srun jobs inside of SLURM jobs (meant for internal use by snakemake-executor-plugin-slurm) + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - koesterlab diff --git a/recipes/snakemake-executor-plugin-slurm/meta.yaml b/recipes/snakemake-executor-plugin-slurm/meta.yaml new file mode 100644 index 0000000000000..cd72d9426ad2d --- /dev/null +++ b/recipes/snakemake-executor-plugin-slurm/meta.yaml @@ -0,0 +1,47 @@ +{% set name = "snakemake-executor-plugin-slurm" %} +{% set version = "0.11.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snakemake_executor_plugin_slurm-{{ version }}.tar.gz + sha256: bce1df57900da71175c1c384dbc8f04d8bf8572717c0aaf95c32945a4c7a08d3 + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin='x') }} + +requirements: + host: + - python >=3.11,<4.0 + - poetry-core + - pip + run: + - python >=3.11.0,<4.0.0 + - snakemake-interface-common >=1.13.0,<2.0.0 + - snakemake-interface-executor-plugins >=9.1.1,<10.0.0 + - snakemake-executor-plugin-slurm-jobstep >=0.2.0,<0.3.0 + - throttler >=1.2.2,<2.0.0 + +test: + imports: + - snakemake_executor_plugin_slurm + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/snakemake/snakemake-executor-plugin-slurm + summary: A Snakemake executor plugin for submitting jobs to a SLURM cluster. + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - koesterlab diff --git a/recipes/snakemake-executor-plugin-tes/meta.yaml b/recipes/snakemake-executor-plugin-tes/meta.yaml new file mode 100644 index 0000000000000..2aaa1f6e115f1 --- /dev/null +++ b/recipes/snakemake-executor-plugin-tes/meta.yaml @@ -0,0 +1,46 @@ +{% set name = "snakemake-executor-plugin-tes" %} +{% set version = "0.1.3" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snakemake_executor_plugin_tes-{{ version }}.tar.gz + sha256: bbecd5c1e63a39e2ea84b752e8e4d68e64b16df686062f22e347cf97c7cd47b3 + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} + +requirements: + host: + - python >=3.11,<3.13 + - poetry-core + - pip + run: + - python >=3.11.0,<3.13 + - snakemake-interface-common >=1.14.0,<2.0.0 + - snakemake-interface-executor-plugins >=9.0.0,<10.0.0 + - py-tes >=0.4.2,<0.5.0 + +test: + imports: + - snakemake_executor_plugin_tes + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/snakemake/snakemake-executor-plugin-tes + summary: A Snakemake executor plugin for submitting jobs to a GA4GH TES cluster. + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - koesterlab diff --git a/recipes/snakemake-interface-common/meta.yaml b/recipes/snakemake-interface-common/meta.yaml index b99011ecde299..d246d9c7ca192 100644 --- a/recipes/snakemake-interface-common/meta.yaml +++ b/recipes/snakemake-interface-common/meta.yaml @@ -1,5 +1,5 @@ {% set name = "snakemake-interface-common" %} -{% set version = "1.14.4" %} +{% set version = "1.17.4" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snakemake_interface_common-{{ version }}.tar.gz - sha256: 9a5ab67dcb5298dccb5b19c60c61b80071358700be1b506515b87820e4d1d916 + sha256: c2142e1b93cbc18c2cf41d15968ba8688f60b077c8284e5de057cccfc215d4d3 build: noarch: python @@ -18,11 +18,14 @@ build: requirements: host: - - python >=3.7,<4.0 + - python >=3.8,<4.0 - poetry-core - pip run: - - python >=3.7.0,<4.0.0 + - python >=3.8.0,<4.0.0 + - argparse-dataclass >=2.0.0,<3.0.0 + - configargparse >=1.7,<2.0 + test: imports: diff --git a/recipes/snakemake-interface-executor-plugins/meta.yaml b/recipes/snakemake-interface-executor-plugins/meta.yaml index 7dbc87c76e862..95b8d99e77481 100644 --- a/recipes/snakemake-interface-executor-plugins/meta.yaml +++ b/recipes/snakemake-interface-executor-plugins/meta.yaml @@ -1,5 +1,5 @@ {% set name = "snakemake-interface-executor-plugins" %} -{% set version = "8.1.0" %} +{% set version = "9.3.2" %} package: name: {{ name|lower }} @@ -7,25 +7,24 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snakemake_interface_executor_plugins-{{ version }}.tar.gz - sha256: 5c22d2ada03a7cfe81841488c25ebfc8c392e41fdb6819c1158c7a8cd97c0c37 + sha256: 19c50dc82989ff25d10386cfb3c99da9d2dc980d95ecd30bbb431374dcd390b3 build: noarch: python - script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv run_exports: - {{ pin_subpackage(name, max_pin='x') }} number: 0 requirements: host: - - python >=3.9,<4.0 + - python >=3.11,<4.0 - poetry-core - pip run: - - python >=3.9.0,<4.0.0 + - python >=3.11.0,<4.0.0 - argparse-dataclass >=2.0.0,<3.0.0 - - configargparse - - snakemake-interface-common + - snakemake-interface-common >=1.17.4,<2.0.0 - throttler >=1.2.2,<2.0.0 test: diff --git a/recipes/snakemake-interface-report-plugins/meta.yaml b/recipes/snakemake-interface-report-plugins/meta.yaml new file mode 100644 index 0000000000000..1fd8277ea9ee6 --- /dev/null +++ b/recipes/snakemake-interface-report-plugins/meta.yaml @@ -0,0 +1,44 @@ +{% set name = "snakemake-interface-report-plugins" %} +{% set version = "1.1.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snakemake_interface_report_plugins-{{ version }}.tar.gz + sha256: b1ee444b2fca51225cf8a102f8e56633791d01433cd00cf07a1d9713a12313a5 + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage("snakemake-interface-report-plugins", max_pin="x") }} + +requirements: + host: + - python >=3.11,<4.0 + - poetry-core + - pip + run: + - python >=3.11.0,<4.0.0 + - snakemake-interface-common >=1.16.0,<2.0.0 + +test: + imports: + - snakemake_interface_report_plugins + commands: + - pip check + requires: + - pip + +about: + summary: This package provides a stable interface for interactions between Snakemake and its report plugins. + home: https://github.com/snakemake/snakemake-interface-report-plugins + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - koesterlab diff --git a/recipes/snakemake-interface-storage-plugins/meta.yaml b/recipes/snakemake-interface-storage-plugins/meta.yaml new file mode 100644 index 0000000000000..57fe560c93036 --- /dev/null +++ b/recipes/snakemake-interface-storage-plugins/meta.yaml @@ -0,0 +1,47 @@ +{% set name = "snakemake-interface-storage-plugins" %} +{% set version = "3.3.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snakemake_interface_storage_plugins-{{ version }}.tar.gz + sha256: 203d8f794dfb37d568ad01a6c375fa8beac36df8e488c0f9b9f75984769c362a + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage("snakemake-interface-storage-plugins", max_pin="x") }} + +requirements: + host: + - python >=3.11,<4.0 + - poetry-core + - pip + run: + - python >=3.11.0,<4.0.0 + - snakemake-interface-common >=1.12.0,<2.0.0 + - wrapt >=1.15.0,<2.0.0 + - reretry >=0.11.8,<0.12.0 + - throttler >=1.2.2,<2.0.0 + +test: + imports: + - snakemake_interface_storage_plugins + commands: + - pip check + requires: + - pip + +about: + summary: This package provides a stable interface for interactions between Snakemake and its storage plugins. + home: https://github.com/snakemake/snakemake-interface-storage-plugins + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - koesterlab diff --git a/recipes/snakemake-storage-plugin-azure/meta.yaml b/recipes/snakemake-storage-plugin-azure/meta.yaml new file mode 100644 index 0000000000000..09d9cb959f74e --- /dev/null +++ b/recipes/snakemake-storage-plugin-azure/meta.yaml @@ -0,0 +1,48 @@ +{% set name = "snakemake-storage-plugin-azure" %} +{% set version = "0.4.2" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snakemake_storage_plugin_azure-{{ version }}.tar.gz + sha256: f1b0395e466fa2f6a20247a23c240b418240dbd6eaf7a55af3b34714594891f0 + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + host: + - python >=3.11,<4.0 + - poetry-core + - pip + run: + - python >=3.11.0,<4.0.0 + - snakemake-interface-common >=1.15.0,<2.0.0 + - snakemake-interface-storage-plugins >=3.0.0,<4.0.0 + - azure-storage-blob >=12.19.0,<13.0.0 + - azure-core >=1.29.5,<2.0.0 + - azure-identity >=1.15.0,<2.0.0 + +test: + # We do not test the import as the plugin needs snakemake for importing, but adding + # it would create a circular dependency. + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/snakemake/snakemake-storage-plugin-azure + summary: A Snakemake storage plugin to read and write from Azure Blob Storage + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - koesterlab diff --git a/recipes/snakemake-storage-plugin-fs/meta.yaml b/recipes/snakemake-storage-plugin-fs/meta.yaml new file mode 100644 index 0000000000000..571c12e62ff7b --- /dev/null +++ b/recipes/snakemake-storage-plugin-fs/meta.yaml @@ -0,0 +1,48 @@ +{% set name = "snakemake-storage-plugin-fs" %} +{% set version = "1.0.6" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snakemake_storage_plugin_fs-{{ version }}.tar.gz + sha256: 8d8ead1883d7e670b1d34ea084f7c927bb4fab71fd8d221b7478680cc09a443e + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + +requirements: + host: + - python >=3.11,<4.0 + - poetry-core + - pip + run: + - python >=3.11.0,<4.0.0 + - snakemake-interface-common >=1.17.0,<2.0.0 + - snakemake-interface-storage-plugins >=3.1.0,<4.0.0 + - sysrsync >=1.1.1,<2.0.0 + - reretry >=0.11.8,<0.12.0 + +test: + # We do not test the import as the plugin needs snakemake for importing, but adding + # it would create a circular dependency. + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/snakemake/snakemake-storage-plugin-fs + summary: 'A Snakemake storage plugin that reads and writes from a locally mounted filesystem using rsync' + license: MIT + license_family: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - koesterlab diff --git a/recipes/snakemake-storage-plugin-ftp/meta.yaml b/recipes/snakemake-storage-plugin-ftp/meta.yaml new file mode 100644 index 0000000000000..2cb90d57b7c10 --- /dev/null +++ b/recipes/snakemake-storage-plugin-ftp/meta.yaml @@ -0,0 +1,46 @@ +{% set name = "snakemake-storage-plugin-ftp" %} +{% set version = "0.1.2" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snakemake_storage_plugin_ftp-{{ version }}.tar.gz + sha256: e3097e19dbe9ed4c8cf794e1d4594c3032ee7f7a9f7797dfb0d2556f0aafe07c + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + host: + - python >=3.11,<4.0 + - poetry-core + - pip + run: + - python >=3.11.0,<4.0.0 + - snakemake-interface-common >=1.15.1,<2.0.0 + - snakemake-interface-storage-plugins >=3.0.0,<4.0.0 + - ftputil >=5.0.4,<6.0.0 + +test: + # We do not test the import as the plugin needs snakemake for importing, but adding + # it would create a circular dependency. + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/snakemake/snakemake-storage-plugin-ftp + summary: A Snakemake plugin for handling input and output via FTP + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - koesterlab diff --git a/recipes/snakemake-storage-plugin-gcs/meta.yaml b/recipes/snakemake-storage-plugin-gcs/meta.yaml new file mode 100644 index 0000000000000..a7892b1f2c597 --- /dev/null +++ b/recipes/snakemake-storage-plugin-gcs/meta.yaml @@ -0,0 +1,48 @@ +{% set name = "snakemake-storage-plugin-gcs" %} +{% set version = "1.1.2" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snakemake_storage_plugin_gcs-{{ version }}.tar.gz + sha256: 417f0dfdd6c28b3ceed609c2d29d18a135039e28433d45058eb8cb7b5a7e061a + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + host: + - python >=3.11,<4.0 + - poetry-core + - pip + run: + - python >=3.11.0,<4.0.0 + - snakemake-interface-common >=1.14.2,<2.0.0 + - snakemake-interface-storage-plugins >=3.0.0,<4.0.0 + - google-cloud-storage >=2.12.0,<3.0.0 + - google-crc32c >=1.1.2,<2.0.0 + +test: + # We do not test the import as the plugin needs snakemake for importing, but adding + # it would create a circular dependency. + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/snakemake/snakemake-storage-plugin-gcs + summary: A Snakemake storage plugin for Google Cloud Storage + license: MIT + license_family: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - koesterlab diff --git a/recipes/snakemake-storage-plugin-http/meta.yaml b/recipes/snakemake-storage-plugin-http/meta.yaml new file mode 100644 index 0000000000000..a7aee9ddf4eaf --- /dev/null +++ b/recipes/snakemake-storage-plugin-http/meta.yaml @@ -0,0 +1,47 @@ +{% set name = "snakemake-storage-plugin-http" %} +{% set version = "0.2.3" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snakemake_storage_plugin_http-{{ version }}.tar.gz + sha256: e4944a7c134e98515d9473c867c4ce071e3b625a5a9002a00da6ac917bc0c0ad + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 1 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + host: + - python >=3.11.0,<4.0 + - poetry-core + - pip + run: + - python >=3.11.0,<4.0.0 + - requests >=2.31.0,<3.0.0 + - requests-oauthlib >=1.3.1,<2.0.0 + - snakemake-interface-common >=1.14.0,<2.0.0 + - snakemake-interface-storage-plugins >=3.0.0,<4.0.0 + +test: + # We do not test the import as the plugin needs snakemake for importing, but adding + # it would create a circular dependency. + commands: + - pip check + requires: + - pip + +about: + summary: Snakemake storage plugin for donwloading input files from HTTP(s). + home: https://github.com/snakemake/snakemake-storage-plugin-http + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - koesterlab diff --git a/recipes/snakemake-storage-plugin-irods/meta.yaml b/recipes/snakemake-storage-plugin-irods/meta.yaml new file mode 100644 index 0000000000000..698ed88bc3071 --- /dev/null +++ b/recipes/snakemake-storage-plugin-irods/meta.yaml @@ -0,0 +1,46 @@ +{% set name = "snakemake-storage-plugin-irods" %} +{% set version = "0.1.2" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snakemake_storage_plugin_irods-{{ version }}.tar.gz + sha256: e5ceac168095bf7a2ef2d82d9d74ddfc6780c1665ecaa75b16041fc2428ead77 + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + host: + - python >=3.11,<4.0 + - poetry-core + - pip + run: + - python >=3.11.0,<4.0.0 + - snakemake-interface-common >=1.15.0,<2.0.0 + - snakemake-interface-storage-plugins >=3.0.0,<4.0.0 + - python-irodsclient >=1.1.9,<2.0.0 + +test: + # We do not test the import as the plugin needs snakemake for importing, but adding + # it would create a circular dependency. + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/snakemake/snakemake-storage-plugin-irods + summary: A Snakemake plugin for handling input and output on iRODS + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - koesterlab diff --git a/recipes/snakemake-storage-plugin-s3/meta.yaml b/recipes/snakemake-storage-plugin-s3/meta.yaml new file mode 100644 index 0000000000000..b0e4efbecbe32 --- /dev/null +++ b/recipes/snakemake-storage-plugin-s3/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "snakemake-storage-plugin-s3" %} +{% set version = "0.2.12" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snakemake_storage_plugin_s3-{{ version }}.tar.gz + sha256: 339bd425e18baabfb1404ab91dfe56a26499bf728fa3359fb4e0b17b287786a8 + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + host: + - python >=3.11,<4.0 + - poetry-core + - pip + run: + - python >=3.11.0,<4.0.0 + - snakemake-interface-common >=1.14.0,<2.0.0 + - snakemake-interface-storage-plugins >=3.2.2,<4.0.0 + - boto3 >=1.33.0,<2.0.0 + - botocore >=1.33.0,<2.0.0 + - urllib3 >=2.0,<2.2 + +test: + # We do not test the import as the plugin needs snakemake for importing, but adding + # it would create a circular dependency. + commands: + - pip check + requires: + - pip + +about: + summary: A Snakemake storage plugin for S3 API storage (AWS S3, MinIO, etc.) + home: https://github.com/snakemake/snakemake-storage-plugin-s3 + license: MIT + license_family: MIT + license_file: LICENSE + doc_url: https://snakemake.github.io/snakemake-plugin-catalog/plugins/storage/s3.html + +extra: + recipe-maintainers: + - koesterlab diff --git a/recipes/snakemake-storage-plugin-sftp/meta.yaml b/recipes/snakemake-storage-plugin-sftp/meta.yaml new file mode 100644 index 0000000000000..78dd48ec129d7 --- /dev/null +++ b/recipes/snakemake-storage-plugin-sftp/meta.yaml @@ -0,0 +1,46 @@ +{% set name = "snakemake-storage-plugin-sftp" %} +{% set version = "0.1.2" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snakemake_storage_plugin_sftp-{{ version }}.tar.gz + sha256: 1b5f99a6baf334d74e209d6ec8a59e495e56098cf6e9a19954e472ba1501525c + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + host: + - python >=3.11,<4.0 + - poetry-core + - pip + run: + - python >=3.11.0,<4.0.0 + - snakemake-interface-common >=1.14.3,<2.0.0 + - snakemake-interface-storage-plugins >=3.0.0,<4.0.0 + - pysftp >=0.2.9,<0.3.0 + +test: + # We do not test the import as the plugin needs snakemake for importing, but adding + # it would create a circular dependency. + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/snakemake/snakemake-storage-plugin-sftp + summary: 'A Snakemake storage plugin that handles files on an SFTP server. ' + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - koesterlab diff --git a/recipes/snakemake-storage-plugin-zenodo/meta.yaml b/recipes/snakemake-storage-plugin-zenodo/meta.yaml new file mode 100644 index 0000000000000..00cea297aad96 --- /dev/null +++ b/recipes/snakemake-storage-plugin-zenodo/meta.yaml @@ -0,0 +1,46 @@ +{% set name = "snakemake-storage-plugin-zenodo" %} +{% set version = "0.1.4" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snakemake_storage_plugin_zenodo-{{ version }}.tar.gz + sha256: f9c13b4476c8002ec15dcce69819ed65e0cca86595f6ac3ece19020c012c9526 + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + host: + - python >=3.11,<4.0 + - poetry-core + - pip + run: + - python >=3.11.0,<4.0.0 + - snakemake-interface-common >=1.14.4,<2.0.0 + - snakemake-interface-storage-plugins >=3.0.0,<4.0.0 + - requests >=2.31.0,<3.0.0 + +test: + # We do not test the import as the plugin needs snakemake for importing, but adding + # it would create a circular dependency. + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/snakemake/snakemake-storage-plugin-zenodo + summary: A Snakemake storage plugin for reading from and writing to zenodo.org + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - koesterlab diff --git a/recipes/snakemake/meta.yaml b/recipes/snakemake/meta.yaml index 5b8327aee4bdc..2012f1f9f1348 100644 --- a/recipes/snakemake/meta.yaml +++ b/recipes/snakemake/meta.yaml @@ -1,15 +1,18 @@ -{% set version = "7.32.4" %} +# Attention: when upgrading the version, please compare below dependencies with +# https://github.com/snakemake/snakemake/blob/{version}/setup.cfg +{% set name = "snakemake" %} +{% set version = "8.20.7" %} package: - name: snakemake + name: {{ name }} version: {{ version }} source: - url: https://pypi.io/packages/source/s/snakemake/snakemake-{{ version }}.tar.gz - sha256: fdc3f15dd7b06fabb7da30d460e0a3b1fba08e4ea91f9c32c47a83705cdc7b6e + url: https://pypi.io/packages/source/s/{{ name }}/snakemake-{{ version }}.tar.gz + sha256: 9c8d75a4b270a31282d33170264a098698f055b8433c45610bfd364e5d6c5a91 build: - number: 1 + number: 0 noarch: generic run_exports: - {{ pin_subpackage("snakemake", max_pin="x") }} @@ -17,27 +20,10 @@ build: requirements: run: - snakemake-minimal ={{ version }} - # optional dependencies needed for the full experience - # require this dropbox version to ensure that a conda doesn't pick up the - # outdated version available - - dropbox >=7.2.1 - - ftputil >=3.2 - - filechunkio >=1.6 - - pysftp >=0.2.8 - - aioeasywebdav # pandas is optional, but required for many workflows - pandas - - python-irodsclient - # aws s3 - - boto3 - # check snakemake/setup.cfg's section [options.extras_require] - # options.extras_require: google-cloud - - google-cloud-storage - - google-api-python-client - - google-crc32c - - oauth2client # options.extras_require: messaging - - slacker + - slack_sdk # options.extras_require: pep - eido - peppy @@ -57,8 +43,12 @@ test: - rm -rf .snakemake Snakefile report.html about: - home: https://snakemake.github.io + home: "https://snakemake.github.io" license: MIT + license_family: MIT + license_file: LICENSE.md + dev_url: "https://github.com/snakemake/snakemake" + doc_url: "https://snakemake.readthedocs.io/en/stable" summary: A popular workflow management system aiming at full in-silico reproducibility. description: | Snakemake is a workflow management system that aims to reduce the complexity of creating @@ -70,11 +60,9 @@ about: extra: identifiers: - doi:10.1093/bioinformatics/bts480 - - biotools:Snakemake + - biotools:snakemake skip-lints: - - uses_setuptools # uses pkg_resoures during run time - should_be_noarch_python # toplevel metapackage is noarch:generic - - missing_run_exports recipe-maintainers: - johanneskoester - corneliusroemer @@ -84,22 +72,22 @@ outputs: build: noarch: python - script: python -m pip install --no-deps --ignore-installed . + script: python -m pip install --no-deps --no-build-isolation --no-cache-dir . -vvv entry_points: - - snakemake = snakemake:main - - snakemake-bash-completion = snakemake:bash_completion + - snakemake = snakemake.cli:main run_exports: - {{ pin_subpackage("snakemake-minimal", max_pin="x") }} requirements: host: - - python >=3.7 + - python >=3.11 - pip - setuptools run: - # Keep in sync with snakemake/setup.cfg - - python >=3.7,<3.12 + # Keep in sync with snakemake/setup.cfg + - python >=3.11,<3.13 - appdirs + - immutables - configargparse - connection_pool >=0.0.3 - datrie @@ -111,17 +99,22 @@ outputs: - nbformat - packaging - psutil - - pulp >=2.0 + - pulp >=2.3.1,<2.9 - pyyaml - requests >=2.8.1 - reretry - - smart_open >=3.0 - - stopit + - smart_open >=4.0,<8.0 + - snakemake-interface-executor-plugins >=9.3.2,<10.0.0 + - snakemake-interface-common >=1.17.0,<2.0 + - snakemake-interface-storage-plugins >=3.2.3,<4.0 + - snakemake-interface-report-plugins >=1.0.0,<2.0.0 - tabulate - throttler - - toposort >=1.10 - - yte >=1.5.1,<2.0 + - toposort >=1.10,<2.0 - wrapt + - yte >=1.5.1,<2.0 + - dpath >=2.1.6,<3.0.0 + - conda-inject >=1.3.1,<2.0 test: imports: @@ -132,8 +125,12 @@ outputs: - snakemake --version | grep "{{ version }}" about: - home: https://snakemake.github.io + home: "https://snakemake.github.io" license: MIT + license_family: MIT + license_file: LICENSE.md + dev_url: "https://github.com/snakemake/snakemake" + doc_url: "https://snakemake.readthedocs.io/en/stable" summary: A popular workflow management system aiming at full in-silico reproducibility. description: | Snakemake is a workflow management system that aims to reduce the complexity diff --git a/recipes/snakeobjects/meta.yaml b/recipes/snakeobjects/meta.yaml index 381cf6f16f1b6..6eb4903c40099 100644 --- a/recipes/snakeobjects/meta.yaml +++ b/recipes/snakeobjects/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "3.1.2" %} +{% set version = "3.1.4" %} package: name: snakeobjects @@ -6,21 +6,23 @@ package: source: url: https://github.com/iossifovlab/snakeobjects/archive/refs/tags/{{ version }}.tar.gz - sha256: b95951c084c5d4ab047bb4dccbb2d7c1573bf9652eabde29b5c6fab93c1075e4 + sha256: 056d8edff46015a6813047f327ca1888c88ee012707e9400d6297e4eb7b00cf7 build: - script: {{ PYTHON }} -m pip install --no-deps --ignore-installed -vv . + script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation --no-cache-dir -vvv . noarch: python number: 0 entry_points: - sobjects = snakeobjects.cli:cli + run_exports: + - {{ pin_subpackage('snakeobjects', max_pin="x") }} requirements: host: - - python + - python <3.12 - pip run: - - python + - python <3.12 - snakemake-minimal test: @@ -34,7 +36,9 @@ about: home: https://github.com/iossifovlab/snakeobjects summary: Snakeobjects, an object-oriented workflow management system based on snakemake license: MIT + license_family: MIT license_file: LICENSE + dev_url: https://github.com/iossifovlab/snakeobjects extra: maintainers: diff --git a/recipes/snaketool-utils/meta.yaml b/recipes/snaketool-utils/meta.yaml index 36bc8b6314b9f..2d9130b89bfb3 100644 --- a/recipes/snaketool-utils/meta.yaml +++ b/recipes/snaketool-utils/meta.yaml @@ -1,5 +1,5 @@ {% set name = "snaketool-utils" %} -{% set version = "0.0.4" %} +{% set version = "0.0.5" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snaketool_utils-{{ version }}.tar.gz - sha256: 75a35ba887be3ead290087241d1222dc8ef79e36cb3ccb395d9c7059b72cbe06 + sha256: a686300efcec715fba806479b10dde0f98781a90600c7bf7cadcca1ebb655305 build: noarch: python diff --git a/recipes/snap-aligner/build.sh b/recipes/snap-aligner/build.sh index 2926b23b0e978..05ac8ff09e984 100644 --- a/recipes/snap-aligner/build.sh +++ b/recipes/snap-aligner/build.sh @@ -1,5 +1,8 @@ #!/bin/bash + +set -xe + CXXFLAGS="${CXXFLAGS} -std=c++03" \ - make CXX="${CXX}" + make CXX="${CXX}" -j ${CPU_COUNT} install -d "${PREFIX}/bin" install snap-aligner "${PREFIX}/bin/" diff --git a/recipes/snap-aligner/meta.yaml b/recipes/snap-aligner/meta.yaml index 632b930803e04..903a6a8a9ee79 100644 --- a/recipes/snap-aligner/meta.yaml +++ b/recipes/snap-aligner/meta.yaml @@ -1,16 +1,21 @@ +{% set name = "snap-aligner" %} {% set version = "2.0.3" %} {% set sha256hash = "8a47cfa929827e60d45dbd436ba2d1119cb2161bd5b6be99eaedac01fb6fc33a" %} package: - name: snap-aligner + name: {{ name }} version: {{ version }} source: url: https://github.com/amplab/snap/archive/refs/tags/v{{ version }}.tar.gz sha256: {{ sha256hash }} + patches: + - snap-aligner-aarch64.patch # [linux and aarch64] build: - number: 2 + number: 3 skip: True # [osx] + run_exports: + - {{ pin_subpackage(name, max_pin='x') }} requirements: build: @@ -29,3 +34,9 @@ about: home: http://snap.cs.berkeley.edu/ license: Apache v2 summary: Scalable Nucleotide Alignment Program -- a fast and accurate read aligner for high-throughput sequencing data + dev_url: https://github.com/amplab/snap/ + + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/snap-aligner/snap-aligner-aarch64.patch b/recipes/snap-aligner/snap-aligner-aarch64.patch new file mode 100644 index 0000000000000..4fc6234aab7a9 --- /dev/null +++ b/recipes/snap-aligner/snap-aligner-aarch64.patch @@ -0,0 +1,9330 @@ +diff --git c/Makefile i/Makefile +index 5f8dd2c..84869f2 100644 +--- c/Makefile ++++ i/Makefile +@@ -3,7 +3,7 @@ ifndef CXXFLAGS + #CXXFLAGS = -g -O0 -Wno-format -std=c++98 + endif + +-CXXFLAGS += -MMD -ISNAPLib -msse ++CXXFLAGS += -MMD -ISNAPLib + + LDFLAGS += -pthread + +diff --git c/SNAPLib/Compat.h i/SNAPLib/Compat.h +index 754e7db..e6de7d5 100644 +--- c/SNAPLib/Compat.h ++++ i/SNAPLib/Compat.h +@@ -77,12 +77,16 @@ int getpagesize(); + #include // For sched_setaffinity + #endif + ++#if defined(__ARM_NEON) ++#include "sse2neon.h" ++#else + #ifndef __APPLE__ + #include // This is currently (in Dec 2013) broken on Mac OS X 10.9 (Apple clang-500.2.79) + #else + #define _mm_prefetch(...) {} + #include // For vector types like __m128i +-#endif ++#endif // __APPLE__ ++#endif // __ARM_NEON + + typedef int64_t _int64; + typedef uint64_t _uint64; +diff --git c/SNAPLib/sse2neon.h i/SNAPLib/sse2neon.h +new file mode 100644 +index 0000000..7bbf4e1 +--- /dev/null ++++ i/SNAPLib/sse2neon.h +@@ -0,0 +1,9289 @@ ++#ifndef SSE2NEON_H ++#define SSE2NEON_H ++ ++/* ++ * sse2neon is freely redistributable under the MIT License. ++ * ++ * Copyright (c) 2015-2024 SSE2NEON Contributors. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to deal ++ * in the Software without restriction, including without limitation the rights ++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++ * copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ * SOFTWARE. ++ */ ++ ++// This header file provides a simple API translation layer ++// between SSE intrinsics to their corresponding Arm/Aarch64 NEON versions ++// ++// Contributors to this work are: ++// John W. Ratcliff ++// Brandon Rowlett ++// Ken Fast ++// Eric van Beurden ++// Alexander Potylitsin ++// Hasindu Gamaarachchi ++// Jim Huang ++// Mark Cheng ++// Malcolm James MacLeod ++// Devin Hussey (easyaspi314) ++// Sebastian Pop ++// Developer Ecosystem Engineering ++// Danila Kutenin ++// François Turban (JishinMaster) ++// Pei-Hsuan Hung ++// Yang-Hao Yuan ++// Syoyo Fujita ++// Brecht Van Lommel ++// Jonathan Hue ++// Cuda Chen ++// Aymen Qader ++// Anthony Roberts ++ ++/* Tunable configurations */ ++ ++/* Enable precise implementation of math operations ++ * This would slow down the computation a bit, but gives consistent result with ++ * x86 SSE. (e.g. would solve a hole or NaN pixel in the rendering result) ++ */ ++/* _mm_min|max_ps|ss|pd|sd */ ++#ifndef SSE2NEON_PRECISE_MINMAX ++#define SSE2NEON_PRECISE_MINMAX (0) ++#endif ++/* _mm_rcp_ps */ ++#ifndef SSE2NEON_PRECISE_DIV ++#define SSE2NEON_PRECISE_DIV (0) ++#endif ++/* _mm_sqrt_ps and _mm_rsqrt_ps */ ++#ifndef SSE2NEON_PRECISE_SQRT ++#define SSE2NEON_PRECISE_SQRT (0) ++#endif ++/* _mm_dp_pd */ ++#ifndef SSE2NEON_PRECISE_DP ++#define SSE2NEON_PRECISE_DP (0) ++#endif ++ ++/* Enable inclusion of windows.h on MSVC platforms ++ * This makes _mm_clflush functional on windows, as there is no builtin. ++ */ ++#ifndef SSE2NEON_INCLUDE_WINDOWS_H ++#define SSE2NEON_INCLUDE_WINDOWS_H (0) ++#endif ++ ++/* compiler specific definitions */ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma push_macro("FORCE_INLINE") ++#pragma push_macro("ALIGN_STRUCT") ++#define FORCE_INLINE static inline __attribute__((always_inline)) ++#define ALIGN_STRUCT(x) __attribute__((aligned(x))) ++#define _sse2neon_likely(x) __builtin_expect(!!(x), 1) ++#define _sse2neon_unlikely(x) __builtin_expect(!!(x), 0) ++#elif defined(_MSC_VER) ++#if _MSVC_TRADITIONAL ++#error Using the traditional MSVC preprocessor is not supported! Use /Zc:preprocessor instead. ++#endif ++#ifndef FORCE_INLINE ++#define FORCE_INLINE static inline ++#endif ++#ifndef ALIGN_STRUCT ++#define ALIGN_STRUCT(x) __declspec(align(x)) ++#endif ++#define _sse2neon_likely(x) (x) ++#define _sse2neon_unlikely(x) (x) ++#else ++#pragma message("Macro name collisions may happen with unsupported compilers.") ++#endif ++ ++#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ < 10 ++#warning "GCC versions earlier than 10 are not supported." ++#endif ++ ++/* C language does not allow initializing a variable with a function call. */ ++#ifdef __cplusplus ++#define _sse2neon_const static const ++#else ++#define _sse2neon_const const ++#endif ++ ++#include ++#include ++ ++#if defined(_WIN32) ++/* Definitions for _mm_{malloc,free} are provided by ++ * from both MinGW-w64 and MSVC. ++ */ ++#define SSE2NEON_ALLOC_DEFINED ++#endif ++ ++/* If using MSVC */ ++#ifdef _MSC_VER ++#include ++#if SSE2NEON_INCLUDE_WINDOWS_H ++#include ++#include ++#endif ++ ++#if !defined(__cplusplus) ++#error SSE2NEON only supports C++ compilation with this compiler ++#endif ++ ++#ifdef SSE2NEON_ALLOC_DEFINED ++#include ++#endif ++ ++#if (defined(_M_AMD64) || defined(__x86_64__)) || \ ++ (defined(_M_ARM64) || defined(__arm64__)) ++#define SSE2NEON_HAS_BITSCAN64 ++#endif ++#endif ++ ++#if defined(__GNUC__) || defined(__clang__) ++#define _sse2neon_define0(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define1(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define2(type, a, b, body) \ ++ __extension__({ \ ++ type _a = (a), _b = (b); \ ++ body \ ++ }) ++#define _sse2neon_return(ret) (ret) ++#else ++#define _sse2neon_define0(type, a, body) [=](type _a) { body }(a) ++#define _sse2neon_define1(type, a, body) [](type _a) { body }(a) ++#define _sse2neon_define2(type, a, b, body) \ ++ [](type _a, type _b) { body }((a), (b)) ++#define _sse2neon_return(ret) return ret ++#endif ++ ++#define _sse2neon_init(...) \ ++ { \ ++ __VA_ARGS__ \ ++ } ++ ++/* Compiler barrier */ ++#if defined(_MSC_VER) ++#define SSE2NEON_BARRIER() _ReadWriteBarrier() ++#else ++#define SSE2NEON_BARRIER() \ ++ do { \ ++ __asm__ __volatile__("" ::: "memory"); \ ++ (void) 0; \ ++ } while (0) ++#endif ++ ++/* Memory barriers ++ * __atomic_thread_fence does not include a compiler barrier; instead, ++ * the barrier is part of __atomic_load/__atomic_store's "volatile-like" ++ * semantics. ++ */ ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) ++#include ++#endif ++ ++FORCE_INLINE void _sse2neon_smp_mb(void) ++{ ++ SSE2NEON_BARRIER(); ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \ ++ !defined(__STDC_NO_ATOMICS__) ++ atomic_thread_fence(memory_order_seq_cst); ++#elif defined(__GNUC__) || defined(__clang__) ++ __atomic_thread_fence(__ATOMIC_SEQ_CST); ++#else /* MSVC */ ++ __dmb(_ARM64_BARRIER_ISH); ++#endif ++} ++ ++/* Architecture-specific build options */ ++/* FIXME: #pragma GCC push_options is only available on GCC */ ++#if defined(__GNUC__) ++#if defined(__arm__) && __ARM_ARCH == 7 ++/* According to ARM C Language Extensions Architecture specification, ++ * __ARM_NEON is defined to a value indicating the Advanced SIMD (NEON) ++ * architecture supported. ++ */ ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error "You must enable NEON instructions (e.g. -mfpu=neon) to use SSE2NEON." ++#endif ++#if !defined(__clang__) ++#pragma GCC push_options ++#pragma GCC target("fpu=neon") ++#endif ++#elif defined(__aarch64__) || defined(_M_ARM64) ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#pragma GCC target("+simd") ++#endif ++#elif __ARM_ARCH == 8 ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error \ ++ "You must enable NEON instructions (e.g. -mfpu=neon-fp-armv8) to use SSE2NEON." ++#endif ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#endif ++#else ++#error \ ++ "Unsupported target. Must be either ARMv7-A+NEON or ARMv8-A \ ++(you could try setting target explicitly with -march or -mcpu)" ++#endif ++#endif ++ ++#include ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) && (__ARM_ARCH == 8) ++#if defined __has_include && __has_include() ++#include ++#endif ++#endif ++ ++/* Apple Silicon cache lines are double of what is commonly used by Intel, AMD ++ * and other Arm microarchitectures use. ++ * From sysctl -a on Apple M1: ++ * hw.cachelinesize: 128 ++ */ ++#if defined(__APPLE__) && (defined(__aarch64__) || defined(__arm64__)) ++#define SSE2NEON_CACHELINE_SIZE 128 ++#else ++#define SSE2NEON_CACHELINE_SIZE 64 ++#endif ++ ++/* Rounding functions require either Aarch64 instructions or libm fallback */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#include ++#endif ++ ++/* On ARMv7, some registers, such as PMUSERENR and PMCCNTR, are read-only ++ * or even not accessible in user mode. ++ * To write or access to these registers in user mode, ++ * we have to perform syscall instead. ++ */ ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) ++#include ++#endif ++ ++/* "__has_builtin" can be used to query support for built-in functions ++ * provided by gcc/clang and other compilers that support it. ++ */ ++#ifndef __has_builtin /* GCC prior to 10 or non-clang compilers */ ++/* Compatibility with gcc <= 9 */ ++#if defined(__GNUC__) && (__GNUC__ <= 9) ++#define __has_builtin(x) HAS##x ++#define HAS__builtin_popcount 1 ++#define HAS__builtin_popcountll 1 ++ ++// __builtin_shuffle introduced in GCC 4.7.0 ++#if (__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) ++#define HAS__builtin_shuffle 1 ++#else ++#define HAS__builtin_shuffle 0 ++#endif ++ ++#define HAS__builtin_shufflevector 0 ++#define HAS__builtin_nontemporal_store 0 ++#else ++#define __has_builtin(x) 0 ++#endif ++#endif ++ ++/** ++ * MACRO for shuffle parameter for _mm_shuffle_ps(). ++ * Argument fp3 is a digit[0123] that represents the fp from argument "b" ++ * of mm_shuffle_ps that will be placed in fp3 of result. fp2 is the same ++ * for fp2 in result. fp1 is a digit[0123] that represents the fp from ++ * argument "a" of mm_shuffle_ps that will be places in fp1 of result. ++ * fp0 is the same for fp0 of result. ++ */ ++#define _MM_SHUFFLE(fp3, fp2, fp1, fp0) \ ++ (((fp3) << 6) | ((fp2) << 4) | ((fp1) << 2) | ((fp0))) ++ ++#if __has_builtin(__builtin_shufflevector) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __builtin_shufflevector(a, b, __VA_ARGS__) ++#elif __has_builtin(__builtin_shuffle) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __extension__({ \ ++ type tmp = {__VA_ARGS__}; \ ++ __builtin_shuffle(a, b, tmp); \ ++ }) ++#endif ++ ++#ifdef _sse2neon_shuffle ++#define vshuffle_s16(a, b, ...) _sse2neon_shuffle(int16x4_t, a, b, __VA_ARGS__) ++#define vshuffleq_s16(a, b, ...) _sse2neon_shuffle(int16x8_t, a, b, __VA_ARGS__) ++#define vshuffle_s32(a, b, ...) _sse2neon_shuffle(int32x2_t, a, b, __VA_ARGS__) ++#define vshuffleq_s32(a, b, ...) _sse2neon_shuffle(int32x4_t, a, b, __VA_ARGS__) ++#define vshuffle_s64(a, b, ...) _sse2neon_shuffle(int64x1_t, a, b, __VA_ARGS__) ++#define vshuffleq_s64(a, b, ...) _sse2neon_shuffle(int64x2_t, a, b, __VA_ARGS__) ++#endif ++ ++/* Rounding mode macros. */ ++#define _MM_FROUND_TO_NEAREST_INT 0x00 ++#define _MM_FROUND_TO_NEG_INF 0x01 ++#define _MM_FROUND_TO_POS_INF 0x02 ++#define _MM_FROUND_TO_ZERO 0x03 ++#define _MM_FROUND_CUR_DIRECTION 0x04 ++#define _MM_FROUND_NO_EXC 0x08 ++#define _MM_FROUND_RAISE_EXC 0x00 ++#define _MM_FROUND_NINT (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_FLOOR (_MM_FROUND_TO_NEG_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_CEIL (_MM_FROUND_TO_POS_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_TRUNC (_MM_FROUND_TO_ZERO | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_RINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_NEARBYINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_NO_EXC) ++#define _MM_ROUND_NEAREST 0x0000 ++#define _MM_ROUND_DOWN 0x2000 ++#define _MM_ROUND_UP 0x4000 ++#define _MM_ROUND_TOWARD_ZERO 0x6000 ++/* Flush zero mode macros. */ ++#define _MM_FLUSH_ZERO_MASK 0x8000 ++#define _MM_FLUSH_ZERO_ON 0x8000 ++#define _MM_FLUSH_ZERO_OFF 0x0000 ++/* Denormals are zeros mode macros. */ ++#define _MM_DENORMALS_ZERO_MASK 0x0040 ++#define _MM_DENORMALS_ZERO_ON 0x0040 ++#define _MM_DENORMALS_ZERO_OFF 0x0000 ++ ++/* indicate immediate constant argument in a given range */ ++#define __constrange(a, b) const ++ ++/* A few intrinsics accept traditional data types like ints or floats, but ++ * most operate on data types that are specific to SSE. ++ * If a vector type ends in d, it contains doubles, and if it does not have ++ * a suffix, it contains floats. An integer vector type can contain any type ++ * of integer, from chars to shorts to unsigned long longs. ++ */ ++typedef int64x1_t __m64; ++typedef float32x4_t __m128; /* 128-bit vector containing 4 floats */ ++// On ARM 32-bit architecture, the float64x2_t is not supported. ++// The data type __m128d should be represented in a different way for related ++// intrinsic conversion. ++#if defined(__aarch64__) || defined(_M_ARM64) ++typedef float64x2_t __m128d; /* 128-bit vector containing 2 doubles */ ++#else ++typedef float32x4_t __m128d; ++#endif ++typedef int64x2_t __m128i; /* 128-bit vector containing integers */ ++ ++// Some intrinsics operate on unaligned data types. ++typedef int16_t ALIGN_STRUCT(1) unaligned_int16_t; ++typedef int32_t ALIGN_STRUCT(1) unaligned_int32_t; ++typedef int64_t ALIGN_STRUCT(1) unaligned_int64_t; ++ ++// __int64 is defined in the Intrinsics Guide which maps to different datatype ++// in different data model ++#if !(defined(_WIN32) || defined(_WIN64) || defined(__int64)) ++#if (defined(__x86_64__) || defined(__i386__)) ++#define __int64 long long ++#else ++#define __int64 int64_t ++#endif ++#endif ++ ++/* type-safe casting between types */ ++ ++#define vreinterpretq_m128_f16(x) vreinterpretq_f32_f16(x) ++#define vreinterpretq_m128_f32(x) (x) ++#define vreinterpretq_m128_f64(x) vreinterpretq_f32_f64(x) ++ ++#define vreinterpretq_m128_u8(x) vreinterpretq_f32_u8(x) ++#define vreinterpretq_m128_u16(x) vreinterpretq_f32_u16(x) ++#define vreinterpretq_m128_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128_s8(x) vreinterpretq_f32_s8(x) ++#define vreinterpretq_m128_s16(x) vreinterpretq_f32_s16(x) ++#define vreinterpretq_m128_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_f16_m128(x) vreinterpretq_f16_f32(x) ++#define vreinterpretq_f32_m128(x) (x) ++#define vreinterpretq_f64_m128(x) vreinterpretq_f64_f32(x) ++ ++#define vreinterpretq_u8_m128(x) vreinterpretq_u8_f32(x) ++#define vreinterpretq_u16_m128(x) vreinterpretq_u16_f32(x) ++#define vreinterpretq_u32_m128(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_s8_m128(x) vreinterpretq_s8_f32(x) ++#define vreinterpretq_s16_m128(x) vreinterpretq_s16_f32(x) ++#define vreinterpretq_s32_m128(x) vreinterpretq_s32_f32(x) ++#define vreinterpretq_s64_m128(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_m128i_s8(x) vreinterpretq_s64_s8(x) ++#define vreinterpretq_m128i_s16(x) vreinterpretq_s64_s16(x) ++#define vreinterpretq_m128i_s32(x) vreinterpretq_s64_s32(x) ++#define vreinterpretq_m128i_s64(x) (x) ++ ++#define vreinterpretq_m128i_u8(x) vreinterpretq_s64_u8(x) ++#define vreinterpretq_m128i_u16(x) vreinterpretq_s64_u16(x) ++#define vreinterpretq_m128i_u32(x) vreinterpretq_s64_u32(x) ++#define vreinterpretq_m128i_u64(x) vreinterpretq_s64_u64(x) ++ ++#define vreinterpretq_f32_m128i(x) vreinterpretq_f32_s64(x) ++#define vreinterpretq_f64_m128i(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_s8_m128i(x) vreinterpretq_s8_s64(x) ++#define vreinterpretq_s16_m128i(x) vreinterpretq_s16_s64(x) ++#define vreinterpretq_s32_m128i(x) vreinterpretq_s32_s64(x) ++#define vreinterpretq_s64_m128i(x) (x) ++ ++#define vreinterpretq_u8_m128i(x) vreinterpretq_u8_s64(x) ++#define vreinterpretq_u16_m128i(x) vreinterpretq_u16_s64(x) ++#define vreinterpretq_u32_m128i(x) vreinterpretq_u32_s64(x) ++#define vreinterpretq_u64_m128i(x) vreinterpretq_u64_s64(x) ++ ++#define vreinterpret_m64_s8(x) vreinterpret_s64_s8(x) ++#define vreinterpret_m64_s16(x) vreinterpret_s64_s16(x) ++#define vreinterpret_m64_s32(x) vreinterpret_s64_s32(x) ++#define vreinterpret_m64_s64(x) (x) ++ ++#define vreinterpret_m64_u8(x) vreinterpret_s64_u8(x) ++#define vreinterpret_m64_u16(x) vreinterpret_s64_u16(x) ++#define vreinterpret_m64_u32(x) vreinterpret_s64_u32(x) ++#define vreinterpret_m64_u64(x) vreinterpret_s64_u64(x) ++ ++#define vreinterpret_m64_f16(x) vreinterpret_s64_f16(x) ++#define vreinterpret_m64_f32(x) vreinterpret_s64_f32(x) ++#define vreinterpret_m64_f64(x) vreinterpret_s64_f64(x) ++ ++#define vreinterpret_u8_m64(x) vreinterpret_u8_s64(x) ++#define vreinterpret_u16_m64(x) vreinterpret_u16_s64(x) ++#define vreinterpret_u32_m64(x) vreinterpret_u32_s64(x) ++#define vreinterpret_u64_m64(x) vreinterpret_u64_s64(x) ++ ++#define vreinterpret_s8_m64(x) vreinterpret_s8_s64(x) ++#define vreinterpret_s16_m64(x) vreinterpret_s16_s64(x) ++#define vreinterpret_s32_m64(x) vreinterpret_s32_s64(x) ++#define vreinterpret_s64_m64(x) (x) ++ ++#define vreinterpret_f32_m64(x) vreinterpret_f32_s64(x) ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f64_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f64_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) vreinterpretq_f64_f32(x) ++#define vreinterpretq_m128d_f64(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f64(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f64(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f64(x) ++ ++#define vreinterpretq_f64_m128d(x) (x) ++#define vreinterpretq_f32_m128d(x) vreinterpretq_f32_f64(x) ++#else ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_m128d_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_f32_m128d(x) (x) ++#endif ++ ++// A struct is defined in this header file called 'SIMDVec' which can be used ++// by applications which attempt to access the contents of an __m128 struct ++// directly. It is important to note that accessing the __m128 struct directly ++// is bad coding practice by Microsoft: @see: ++// https://learn.microsoft.com/en-us/cpp/cpp/m128 ++// ++// However, some legacy source code may try to access the contents of an __m128 ++// struct directly so the developer can use the SIMDVec as an alias for it. Any ++// casting must be done manually by the developer, as you cannot cast or ++// otherwise alias the base NEON data type for intrinsic operations. ++// ++// union intended to allow direct access to an __m128 variable using the names ++// that the MSVC compiler provides. This union should really only be used when ++// trying to access the members of the vector as integer values. GCC/clang ++// allow native access to the float members through a simple array access ++// operator (in C since 4.6, in C++ since 4.8). ++// ++// Ideally direct accesses to SIMD vectors should not be used since it can cause ++// a performance hit. If it really is needed however, the original __m128 ++// variable can be aliased with a pointer to this union and used to access ++// individual components. The use of this union should be hidden behind a macro ++// that is used throughout the codebase to access the members instead of always ++// declaring this type of variable. ++typedef union ALIGN_STRUCT(16) SIMDVec { ++ float m128_f32[4]; // as floats - DON'T USE. Added for convenience. ++ int8_t m128_i8[16]; // as signed 8-bit integers. ++ int16_t m128_i16[8]; // as signed 16-bit integers. ++ int32_t m128_i32[4]; // as signed 32-bit integers. ++ int64_t m128_i64[2]; // as signed 64-bit integers. ++ uint8_t m128_u8[16]; // as unsigned 8-bit integers. ++ uint16_t m128_u16[8]; // as unsigned 16-bit integers. ++ uint32_t m128_u32[4]; // as unsigned 32-bit integers. ++ uint64_t m128_u64[2]; // as unsigned 64-bit integers. ++} SIMDVec; ++ ++// casting using SIMDVec ++#define vreinterpretq_nth_u64_m128i(x, n) (((SIMDVec *) &x)->m128_u64[n]) ++#define vreinterpretq_nth_u32_m128i(x, n) (((SIMDVec *) &x)->m128_u32[n]) ++#define vreinterpretq_nth_u8_m128i(x, n) (((SIMDVec *) &x)->m128_u8[n]) ++ ++/* SSE macros */ ++#define _MM_GET_FLUSH_ZERO_MODE _sse2neon_mm_get_flush_zero_mode ++#define _MM_SET_FLUSH_ZERO_MODE _sse2neon_mm_set_flush_zero_mode ++#define _MM_GET_DENORMALS_ZERO_MODE _sse2neon_mm_get_denormals_zero_mode ++#define _MM_SET_DENORMALS_ZERO_MODE _sse2neon_mm_set_denormals_zero_mode ++ ++// Function declaration ++// SSE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void); ++FORCE_INLINE __m128 _mm_move_ss(__m128, __m128); ++FORCE_INLINE __m128 _mm_or_ps(__m128, __m128); ++FORCE_INLINE __m128 _mm_set_ps1(float); ++FORCE_INLINE __m128 _mm_setzero_ps(void); ++// SSE2 ++FORCE_INLINE __m128i _mm_and_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_castps_si128(__m128); ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128); ++FORCE_INLINE __m128d _mm_move_sd(__m128d, __m128d); ++FORCE_INLINE __m128i _mm_or_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_set_epi32(int, int, int, int); ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t, int64_t); ++FORCE_INLINE __m128d _mm_set_pd(double, double); ++FORCE_INLINE __m128i _mm_set1_epi32(int); ++FORCE_INLINE __m128i _mm_setzero_si128(void); ++// SSE4.1 ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d); ++FORCE_INLINE __m128 _mm_ceil_ps(__m128); ++FORCE_INLINE __m128d _mm_floor_pd(__m128d); ++FORCE_INLINE __m128 _mm_floor_ps(__m128); ++FORCE_INLINE __m128d _mm_round_pd(__m128d, int); ++FORCE_INLINE __m128 _mm_round_ps(__m128, int); ++// SSE4.2 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t, uint8_t); ++ ++/* Backwards compatibility for compilers with lack of specific type support */ ++ ++// Older gcc does not define vld1q_u8_x4 type ++#if defined(__GNUC__) && !defined(__clang__) && \ ++ ((__GNUC__ <= 13 && defined(__arm__)) || \ ++ (__GNUC__ == 10 && __GNUC_MINOR__ < 3 && defined(__aarch64__)) || \ ++ (__GNUC__ <= 9 && defined(__aarch64__))) ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ uint8x16x4_t ret; ++ ret.val[0] = vld1q_u8(p + 0); ++ ret.val[1] = vld1q_u8(p + 16); ++ ret.val[2] = vld1q_u8(p + 32); ++ ret.val[3] = vld1q_u8(p + 48); ++ return ret; ++} ++#else ++// Wraps vld1q_u8_x4 ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ return vld1q_u8_x4(p); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddv u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ const uint64x1_t v1 = vpaddl_u32(vpaddl_u16(vpaddl_u8(v8))); ++ return vget_lane_u8(vreinterpret_u8_u64(v1), 0); ++} ++#else ++// Wraps vaddv_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ return vaddv_u8(v8); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ uint8x8_t tmp = vpadd_u8(vget_low_u8(a), vget_high_u8(a)); ++ uint8_t res = 0; ++ for (int i = 0; i < 8; ++i) ++ res += tmp[i]; ++ return res; ++} ++#else ++// Wraps vaddvq_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ return vaddvq_u8(a); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u16 variant */ ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ uint32x4_t m = vpaddlq_u16(a); ++ uint64x2_t n = vpaddlq_u32(m); ++ uint64x1_t o = vget_low_u64(n) + vget_high_u64(n); ++ ++ return vget_lane_u32((uint32x2_t) o, 0); ++} ++#else ++// Wraps vaddvq_u16 ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ return vaddvq_u16(a); ++} ++#endif ++ ++/* Function Naming Conventions ++ * The naming convention of SSE intrinsics is straightforward. A generic SSE ++ * intrinsic function is given as follows: ++ * _mm__ ++ * ++ * The parts of this format are given as follows: ++ * 1. describes the operation performed by the intrinsic ++ * 2. identifies the data type of the function's primary arguments ++ * ++ * This last part, , is a little complicated. It identifies the ++ * content of the input values, and can be set to any of the following values: ++ * + ps - vectors contain floats (ps stands for packed single-precision) ++ * + pd - vectors contain doubles (pd stands for packed double-precision) ++ * + epi8/epi16/epi32/epi64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * signed integers ++ * + epu8/epu16/epu32/epu64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * unsigned integers ++ * + si128 - unspecified 128-bit vector or 256-bit vector ++ * + m128/m128i/m128d - identifies input vector types when they are different ++ * than the type of the returned vector ++ * ++ * For example, _mm_setzero_ps. The _mm implies that the function returns ++ * a 128-bit vector. The _ps at the end implies that the argument vectors ++ * contain floats. ++ * ++ * A complete example: Byte Shuffle - pshufb (_mm_shuffle_epi8) ++ * // Set packed 16-bit integers. 128 bits, 8 short, per 16 bits ++ * __m128i v_in = _mm_setr_epi16(1, 2, 3, 4, 5, 6, 7, 8); ++ * // Set packed 8-bit integers ++ * // 128 bits, 16 chars, per 8 bits ++ * __m128i v_perm = _mm_setr_epi8(1, 0, 2, 3, 8, 9, 10, 11, ++ * 4, 5, 12, 13, 6, 7, 14, 15); ++ * // Shuffle packed 8-bit integers ++ * __m128i v_out = _mm_shuffle_epi8(v_in, v_perm); // pshufb ++ */ ++ ++/* Constants for use with _mm_prefetch. */ ++enum _mm_hint { ++ _MM_HINT_NTA = 0, /* load data to L1 and L2 cache, mark it as NTA */ ++ _MM_HINT_T0 = 1, /* load data to L1 and L2 cache */ ++ _MM_HINT_T1 = 2, /* load data to L2 cache only */ ++ _MM_HINT_T2 = 3, /* load data to L2 cache only, mark it as NTA */ ++}; ++ ++// The bit field mapping to the FPCR(floating-point control register) ++typedef struct { ++ uint16_t res0; ++ uint8_t res1 : 6; ++ uint8_t bit22 : 1; ++ uint8_t bit23 : 1; ++ uint8_t bit24 : 1; ++ uint8_t res2 : 7; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32_t res3; ++#endif ++} fpcr_bitfield; ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of b and places it into the high end of the result. ++FORCE_INLINE __m128 _mm_shuffle_ps_1032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in high ++// end of result takes the higher two 32 bit values from b and swaps them and ++// places in low end of result. ++FORCE_INLINE __m128 _mm_shuffle_ps_2301(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b23 = vrev64_f32(vget_high_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b23)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0321(__m128 a, __m128 b) ++{ ++ float32x2_t a21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a21, b03)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2103(__m128 a, __m128 b) ++{ ++ float32x2_t a03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a03, b21)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0101(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b01)); ++} ++ ++// keeps the low 64 bits of b in the low and puts the high 64 bits of a in the ++// high ++FORCE_INLINE __m128 _mm_shuffle_ps_3210(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0011(__m128 a, __m128 b) ++{ ++ float32x2_t a11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a11, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0022(__m128 a, __m128 b) ++{ ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a22, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2200(__m128 a, __m128 b) ++{ ++ float32x2_t a00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a00, b22)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_3202(__m128 a, __m128 b) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t a02 = vset_lane_f32(a0, a22, 1); /* TODO: use vzip ?*/ ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a02, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1133(__m128 a, __m128 b) ++{ ++ float32x2_t a33 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a33, b11)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b20)); ++} ++ ++// For MSVC, we check only if it is ARM64, as every single ARM64 processor ++// supported by WoA has crypto extensions. If this changes in the future, ++// this can be verified via the runtime-only method of: ++// IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE) ++#if (defined(_M_ARM64) && !defined(__clang__)) || \ ++ (defined(__ARM_FEATURE_CRYPTO) && \ ++ (defined(__aarch64__) || __has_builtin(__builtin_arm_crypto_vmullp64))) ++// Wraps vmull_p64 ++FORCE_INLINE uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly64_t a = vget_lane_p64(vreinterpret_p64_u64(_a), 0); ++ poly64_t b = vget_lane_p64(vreinterpret_p64_u64(_b), 0); ++#if defined(_MSC_VER) ++ __n64 a1 = {a}, b1 = {b}; ++ return vreinterpretq_u64_p128(vmull_p64(a1, b1)); ++#else ++ return vreinterpretq_u64_p128(vmull_p64(a, b)); ++#endif ++} ++#else // ARMv7 polyfill ++// ARMv7/some A64 lacks vmull_p64, but it has vmull_p8. ++// ++// vmull_p8 calculates 8 8-bit->16-bit polynomial multiplies, but we need a ++// 64-bit->128-bit polynomial multiply. ++// ++// It needs some work and is somewhat slow, but it is still faster than all ++// known scalar methods. ++// ++// Algorithm adapted to C from ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/, which is adapted ++// from "Fast Software Polynomial Multiplication on ARM Processors Using the ++// NEON Engine" by Danilo Camara, Conrado Gouvea, Julio Lopez and Ricardo Dahab ++// (https://hal.inria.fr/hal-01506572) ++static uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly8x8_t a = vreinterpret_p8_u64(_a); ++ poly8x8_t b = vreinterpret_p8_u64(_b); ++ ++ // Masks ++ uint8x16_t k48_32 = vcombine_u8(vcreate_u8(0x0000ffffffffffff), ++ vcreate_u8(0x00000000ffffffff)); ++ uint8x16_t k16_00 = vcombine_u8(vcreate_u8(0x000000000000ffff), ++ vcreate_u8(0x0000000000000000)); ++ ++ // Do the multiplies, rotating with vext to get all combinations ++ uint8x16_t d = vreinterpretq_u8_p16(vmull_p8(a, b)); // D = A0 * B0 ++ uint8x16_t e = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 1))); // E = A0 * B1 ++ uint8x16_t f = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 1), b)); // F = A1 * B0 ++ uint8x16_t g = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 2))); // G = A0 * B2 ++ uint8x16_t h = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 2), b)); // H = A2 * B0 ++ uint8x16_t i = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 3))); // I = A0 * B3 ++ uint8x16_t j = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 3), b)); // J = A3 * B0 ++ uint8x16_t k = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 4))); // L = A0 * B4 ++ ++ // Add cross products ++ uint8x16_t l = veorq_u8(e, f); // L = E + F ++ uint8x16_t m = veorq_u8(g, h); // M = G + H ++ uint8x16_t n = veorq_u8(i, j); // N = I + J ++ ++ // Interleave. Using vzip1 and vzip2 prevents Clang from emitting TBL ++ // instructions. ++#if defined(__aarch64__) ++ uint8x16_t lm_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t lm_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t nk_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++ uint8x16_t nk_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++#else ++ uint8x16_t lm_p0 = vcombine_u8(vget_low_u8(l), vget_low_u8(m)); ++ uint8x16_t lm_p1 = vcombine_u8(vget_high_u8(l), vget_high_u8(m)); ++ uint8x16_t nk_p0 = vcombine_u8(vget_low_u8(n), vget_low_u8(k)); ++ uint8x16_t nk_p1 = vcombine_u8(vget_high_u8(n), vget_high_u8(k)); ++#endif ++ // t0 = (L) (P0 + P1) << 8 ++ // t1 = (M) (P2 + P3) << 16 ++ uint8x16_t t0t1_tmp = veorq_u8(lm_p0, lm_p1); ++ uint8x16_t t0t1_h = vandq_u8(lm_p1, k48_32); ++ uint8x16_t t0t1_l = veorq_u8(t0t1_tmp, t0t1_h); ++ ++ // t2 = (N) (P4 + P5) << 24 ++ // t3 = (K) (P6 + P7) << 32 ++ uint8x16_t t2t3_tmp = veorq_u8(nk_p0, nk_p1); ++ uint8x16_t t2t3_h = vandq_u8(nk_p1, k16_00); ++ uint8x16_t t2t3_l = veorq_u8(t2t3_tmp, t2t3_h); ++ ++ // De-interleave ++#if defined(__aarch64__) ++ uint8x16_t t0 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t1 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t2 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++ uint8x16_t t3 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++#else ++ uint8x16_t t1 = vcombine_u8(vget_high_u8(t0t1_l), vget_high_u8(t0t1_h)); ++ uint8x16_t t0 = vcombine_u8(vget_low_u8(t0t1_l), vget_low_u8(t0t1_h)); ++ uint8x16_t t3 = vcombine_u8(vget_high_u8(t2t3_l), vget_high_u8(t2t3_h)); ++ uint8x16_t t2 = vcombine_u8(vget_low_u8(t2t3_l), vget_low_u8(t2t3_h)); ++#endif ++ // Shift the cross products ++ uint8x16_t t0_shift = vextq_u8(t0, t0, 15); // t0 << 8 ++ uint8x16_t t1_shift = vextq_u8(t1, t1, 14); // t1 << 16 ++ uint8x16_t t2_shift = vextq_u8(t2, t2, 13); // t2 << 24 ++ uint8x16_t t3_shift = vextq_u8(t3, t3, 12); // t3 << 32 ++ ++ // Accumulate the products ++ uint8x16_t cross1 = veorq_u8(t0_shift, t1_shift); ++ uint8x16_t cross2 = veorq_u8(t2_shift, t3_shift); ++ uint8x16_t mix = veorq_u8(d, cross1); ++ uint8x16_t r = veorq_u8(mix, cross2); ++ return vreinterpretq_u64_u8(r); ++} ++#endif // ARMv7 polyfill ++ ++// C equivalent: ++// __m128i _mm_shuffle_epi32_default(__m128i a, ++// __constrange(0, 255) int imm) { ++// __m128i ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = a[(imm >> 4) & 0x03]; ret[3] = a[(imm >> 6) & 0x03]; ++// return ret; ++// } ++#define _mm_shuffle_epi32_default(a, imm) \ ++ vreinterpretq_m128i_s32(vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), \ ++ ((imm) >> 2) & 0x3), \ ++ vmovq_n_s32(vgetq_lane_s32( \ ++ vreinterpretq_s32_m128i(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of a and places it into the high end of the result. ++FORCE_INLINE __m128i _mm_shuffle_epi_1032(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in low end ++// of result takes the higher two 32 bit values from a and swaps them and places ++// in high end of result. ++FORCE_INLINE __m128i _mm_shuffle_epi_2301(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a23 = vrev64_s32(vget_high_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a23)); ++} ++ ++// rotates the least significant 32 bits into the most significant 32 bits, and ++// shifts the rest down ++FORCE_INLINE __m128i _mm_shuffle_epi_0321(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 1)); ++} ++ ++// rotates the most significant 32 bits into the least significant 32 bits, and ++// shifts the rest up ++FORCE_INLINE __m128i _mm_shuffle_epi_2103(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 3)); ++} ++ ++// gets the lower 64 bits of a, and places it in the upper 64 bits ++// gets the lower 64 bits of a and places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1010(__m128i a) ++{ ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a10, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements, and places it in the ++// lower 64 bits gets the lower 64 bits of a, and places it in the upper 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1001(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements and places it in the ++// upper 64 bits gets the lower 64 bits of a, swaps the 0 and 1 elements, and ++// places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_0101(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_2211(__m128i a) ++{ ++ int32x2_t a11 = vdup_lane_s32(vget_low_s32(vreinterpretq_s32_m128i(a)), 1); ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ return vreinterpretq_m128i_s32(vcombine_s32(a11, a22)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_0122(__m128i a) ++{ ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a22, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_3332(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a33 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 1); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a33)); ++} ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32(vdupq_laneq_s32(vreinterpretq_s32_m128i(a), (imm))) ++#else ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vdupq_n_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)))) ++#endif ++ ++// NEON does not support a general purpose permute intrinsic. ++// Shuffle single-precision (32-bit) floating-point elements in a using the ++// control in imm8, and store the results in dst. ++// ++// C equivalent: ++// __m128 _mm_shuffle_ps_default(__m128 a, __m128 b, ++// __constrange(0, 255) int imm) { ++// __m128 ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = b[(imm >> 4) & 0x03]; ret[3] = b[(imm >> 6) & 0x03]; ++// return ret; ++// } ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_ps ++#define _mm_shuffle_ps_default(a, b, imm) \ ++ vreinterpretq_m128_f32(vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), ((imm) >> 2) & 0x3), \ ++ vmovq_n_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Shuffle 16-bit integers in the low 64 bits of a using the control in imm8. ++// Store the results in the low 64 bits of dst, with the high 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflelo_epi16 ++#define _mm_shufflelo_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t lowBits = vget_low_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, (imm) & (0x3)), ret, 0); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++// Shuffle 16-bit integers in the high 64 bits of a using the control in imm8. ++// Store the results in the high 64 bits of dst, with the low 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflehi_epi16 ++#define _mm_shufflehi_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t highBits = vget_high_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, (imm) & (0x3)), ret, 4); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 2) & 0x3), ret, \ ++ 5); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 4) & 0x3), ret, \ ++ 6); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 6) & 0x3), ret, \ ++ 7); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++/* MMX */ ++ ++//_mm_empty is a no-op on arm ++FORCE_INLINE void _mm_empty(void) {} ++ ++/* SSE */ ++ ++// Add packed single-precision (32-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ps ++FORCE_INLINE __m128 _mm_add_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Add the lower single-precision (32-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ss ++FORCE_INLINE __m128 _mm_add_ss(__m128 a, __m128 b) ++{ ++ float32_t b0 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++ float32x4_t value = vsetq_lane_f32(b0, vdupq_n_f32(0), 0); ++ // the upper values in the result must be the remnants of . ++ return vreinterpretq_m128_f32(vaddq_f32(a, value)); ++} ++ ++// Compute the bitwise AND of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_ps ++FORCE_INLINE __m128 _mm_and_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vandq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Compute the bitwise NOT of packed single-precision (32-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_ps ++FORCE_INLINE __m128 _mm_andnot_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vbicq_s32(vreinterpretq_s32_m128(b), ++ vreinterpretq_s32_m128(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu16 ++FORCE_INLINE __m64 _mm_avg_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16( ++ vrhadd_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu8 ++FORCE_INLINE __m64 _mm_avg_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vrhadd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ps ++FORCE_INLINE __m128 _mm_cmpeq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ss ++FORCE_INLINE __m128 _mm_cmpeq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpeq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ps ++FORCE_INLINE __m128 _mm_cmpge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ss ++FORCE_INLINE __m128 _mm_cmpge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ps ++FORCE_INLINE __m128 _mm_cmpgt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ss ++FORCE_INLINE __m128 _mm_cmpgt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpgt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ps ++FORCE_INLINE __m128 _mm_cmple_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ss ++FORCE_INLINE __m128 _mm_cmple_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmple_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ps ++FORCE_INLINE __m128 _mm_cmplt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ss ++FORCE_INLINE __m128 _mm_cmplt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmplt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ps ++FORCE_INLINE __m128 _mm_cmpneq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ss ++FORCE_INLINE __m128 _mm_cmpneq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpneq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ps ++FORCE_INLINE __m128 _mm_cmpnge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ss ++FORCE_INLINE __m128 _mm_cmpnge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ps ++FORCE_INLINE __m128 _mm_cmpngt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ss ++FORCE_INLINE __m128 _mm_cmpngt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpngt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ps ++FORCE_INLINE __m128 _mm_cmpnle_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ss ++FORCE_INLINE __m128 _mm_cmpnle_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnle_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ps ++FORCE_INLINE __m128 _mm_cmpnlt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ss ++FORCE_INLINE __m128 _mm_cmpnlt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnlt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ps ++// ++// See also: ++// http://stackoverflow.com/questions/8627331/what-does-ordered-unordered-comparison-mean ++// http://stackoverflow.com/questions/29349621/neon-isnanval-intrinsics ++FORCE_INLINE __m128 _mm_cmpord_ps(__m128 a, __m128 b) ++{ ++ // Note: NEON does not have ordered compare builtin ++ // Need to compare a eq a and b eq b to check for NaN ++ // Do AND of results to get final ++ uint32x4_t ceqaa = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t ceqbb = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vandq_u32(ceqaa, ceqbb)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ss ++FORCE_INLINE __m128 _mm_cmpord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpord_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ps ++FORCE_INLINE __m128 _mm_cmpunord_ps(__m128 a, __m128 b) ++{ ++ uint32x4_t f32a = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t f32b = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vmvnq_u32(vandq_u32(f32a, f32b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ss ++FORCE_INLINE __m128 _mm_cmpunord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpunord_ps(a, b)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_ss ++FORCE_INLINE int _mm_comieq_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_eq_b = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_eq_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_ss ++FORCE_INLINE int _mm_comige_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_ge_b = ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_ge_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_ss ++FORCE_INLINE int _mm_comigt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_gt_b = ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_gt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_ss ++FORCE_INLINE int _mm_comile_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_le_b = ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_le_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_ss ++FORCE_INLINE int _mm_comilt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_lt_b = ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_lt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_ss ++FORCE_INLINE int _mm_comineq_ss(__m128 a, __m128 b) ++{ ++ return !_mm_comieq_ss(a, b); ++} ++ ++// Convert packed signed 32-bit integers in b to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, and copy the upper 2 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_pi2ps ++FORCE_INLINE __m128 _mm_cvt_pi2ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ps2pi ++FORCE_INLINE __m64 _mm_cvt_ps2pi(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))))); ++#else ++ return vreinterpret_m64_s32(vcvt_s32_f32(vget_low_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION))))); ++#endif ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_si2ss ++FORCE_INLINE __m128 _mm_cvt_si2ss(__m128 a, int b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ss2si ++FORCE_INLINE int _mm_cvt_ss2si(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vgetq_lane_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))), ++ 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int32_t) data; ++#endif ++} ++ ++// Convert packed 16-bit integers in a to packed single-precision (32-bit) ++// floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi16_ps ++FORCE_INLINE __m128 _mm_cvtpi16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vmovl_s16(vreinterpret_s16_m64(a)))); ++} ++ ++// Convert packed 32-bit integers in b to packed single-precision (32-bit) ++// floating-point elements, store the results in the lower 2 elements of dst, ++// and copy the upper 2 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_ps ++FORCE_INLINE __m128 _mm_cvtpi32_ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, then convert the packed signed 32-bit integers in b to ++// single-precision (32-bit) floating-point element, and store the results in ++// the upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32x2_ps ++FORCE_INLINE __m128 _mm_cvtpi32x2_ps(__m64 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vcombine_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b)))); ++} ++ ++// Convert the lower packed 8-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi8_ps ++FORCE_INLINE __m128 _mm_cvtpi8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vmovl_s16(vget_low_s16(vmovl_s8(vreinterpret_s8_m64(a)))))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 16-bit integers, and store the results in dst. Note: this intrinsic ++// will generate 0x7FFF, rather than 0x8000, for input values between 0x7FFF and ++// 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi16 ++FORCE_INLINE __m64 _mm_cvtps_pi16(__m128 a) ++{ ++ return vreinterpret_m64_s16( ++ vqmovn_s32(vreinterpretq_s32_m128i(_mm_cvtps_epi32(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi32 ++#define _mm_cvtps_pi32(a) _mm_cvt_ps2pi(a) ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 8-bit integers, and store the results in lower 4 elements of dst. ++// Note: this intrinsic will generate 0x7F, rather than 0x80, for input values ++// between 0x7F and 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi8 ++FORCE_INLINE __m64 _mm_cvtps_pi8(__m128 a) ++{ ++ return vreinterpret_m64_s8(vqmovn_s16( ++ vcombine_s16(vreinterpret_s16_m64(_mm_cvtps_pi16(a)), vdup_n_s16(0)))); ++} ++ ++// Convert packed unsigned 16-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu16_ps ++FORCE_INLINE __m128 _mm_cvtpu16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_u32(vmovl_u16(vreinterpret_u16_m64(a)))); ++} ++ ++// Convert the lower packed unsigned 8-bit integers in a to packed ++// single-precision (32-bit) floating-point elements, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu8_ps ++FORCE_INLINE __m128 _mm_cvtpu8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_u32( ++ vmovl_u16(vget_low_u16(vmovl_u8(vreinterpret_u8_m64(a)))))); ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_ss ++#define _mm_cvtsi32_ss(a, b) _mm_cvt_si2ss(a, b) ++ ++// Convert the signed 64-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_ss ++FORCE_INLINE __m128 _mm_cvtsi64_ss(__m128 a, int64_t b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Copy the lower single-precision (32-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_f32 ++FORCE_INLINE float _mm_cvtss_f32(__m128 a) ++{ ++ return vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si32 ++#define _mm_cvtss_si32(a) _mm_cvt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si64 ++FORCE_INLINE int64_t _mm_cvtss_si64(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return (int64_t) vgetq_lane_f32(vrndiq_f32(vreinterpretq_f32_m128(a)), 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int64_t) data; ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ps2pi ++FORCE_INLINE __m64 _mm_cvtt_ps2pi(__m128 a) ++{ ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ss2si ++FORCE_INLINE int _mm_cvtt_ss2si(__m128 a) ++{ ++ return vgetq_lane_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)), 0); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_pi32 ++#define _mm_cvttps_pi32(a) _mm_cvtt_ps2pi(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si32 ++#define _mm_cvttss_si32(a) _mm_cvtt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si64 ++FORCE_INLINE int64_t _mm_cvttss_si64(__m128 a) ++{ ++ return (int64_t) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Divide packed single-precision (32-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise division intrinsic, we implement ++// division by multiplying a by b's reciprocal before using the Newton-Raphson ++// method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ps ++FORCE_INLINE __m128 _mm_div_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vdivq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(b)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(a), recip)); ++#endif ++} ++ ++// Divide the lower single-precision (32-bit) floating-point element in a by the ++// lower single-precision (32-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper 3 packed elements from a to ++// the upper elements of dst. ++// Warning: ARMv7-A does not produce the same result compared to Intel and not ++// IEEE-compliant. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ss ++FORCE_INLINE __m128 _mm_div_ss(__m128 a, __m128 b) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_div_ps(a, b)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_pi16 ++#define _mm_extract_pi16(a, imm) \ ++ (int32_t) vget_lane_u16(vreinterpret_u16_m64(a), (imm)) ++ ++// Free aligned memory that was allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_free ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void _mm_free(void *addr) ++{ ++ free(addr); ++} ++#endif ++ ++FORCE_INLINE uint64_t _sse2neon_get_fpcr(void) ++{ ++ uint64_t value; ++#if defined(_MSC_VER) ++ value = _ReadStatusReg(ARM64_FPCR); ++#else ++ __asm__ __volatile__("mrs %0, FPCR" : "=r"(value)); /* read */ ++#endif ++ return value; ++} ++ ++FORCE_INLINE void _sse2neon_set_fpcr(uint64_t value) ++{ ++#if defined(_MSC_VER) ++ _WriteStatusReg(ARM64_FPCR, value); ++#else ++ __asm__ __volatile__("msr FPCR, %0" ::"r"(value)); /* write */ ++#endif ++} ++ ++// Macro: Get the flush zero bits from the MXCSR control and status register. ++// The flush zero may contain any of the following flags: _MM_FLUSH_ZERO_ON or ++// _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_FLUSH_ZERO_MODE ++FORCE_INLINE unsigned int _sse2neon_mm_get_flush_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_FLUSH_ZERO_ON : _MM_FLUSH_ZERO_OFF; ++} ++ ++// Macro: Get the rounding mode bits from the MXCSR control and status register. ++// The rounding mode may contain any of the following flags: _MM_ROUND_NEAREST, ++// _MM_ROUND_DOWN, _MM_ROUND_UP, _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_ROUNDING_MODE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ if (r.field.bit22) { ++ return r.field.bit23 ? _MM_ROUND_TOWARD_ZERO : _MM_ROUND_UP; ++ } else { ++ return r.field.bit23 ? _MM_ROUND_DOWN : _MM_ROUND_NEAREST; ++ } ++} ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_pi16 ++#define _mm_insert_pi16(a, b, imm) \ ++ vreinterpret_m64_s16(vset_lane_s16((b), vreinterpret_s16_m64(a), (imm))) ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps ++FORCE_INLINE __m128 _mm_load_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// ++// dst[31:0] := MEM[mem_addr+31:mem_addr] ++// dst[63:32] := MEM[mem_addr+31:mem_addr] ++// dst[95:64] := MEM[mem_addr+31:mem_addr] ++// dst[127:96] := MEM[mem_addr+31:mem_addr] ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps1 ++#define _mm_load_ps1 _mm_load1_ps ++ ++// Load a single-precision (32-bit) floating-point element from memory into the ++// lower of dst, and zero the upper 3 elements. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ss ++FORCE_INLINE __m128 _mm_load_ss(const float *p) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(*p, vdupq_n_f32(0), 0)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_ps ++FORCE_INLINE __m128 _mm_load1_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_dup_f32(p)); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// upper 2 elements of dst, and copy the lower 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pi ++FORCE_INLINE __m128 _mm_loadh_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vget_low_f32(a), vld1_f32((const float32_t *) p))); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// lower 2 elements of dst, and copy the upper 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pi ++FORCE_INLINE __m128 _mm_loadl_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vld1_f32((const float32_t *) p), vget_high_f32(a))); ++} ++ ++// Load 4 single-precision (32-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_ps ++FORCE_INLINE __m128 _mm_loadr_ps(const float *p) ++{ ++ float32x4_t v = vrev64q_f32(vld1q_f32(p)); ++ return vreinterpretq_m128_f32(vextq_f32(v, v, 2)); ++} ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_ps ++FORCE_INLINE __m128 _mm_loadu_ps(const float *p) ++{ ++ // for neon, alignment doesn't matter, so _mm_load_ps and _mm_loadu_ps are ++ // equivalent for neon ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load unaligned 16-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si16 ++FORCE_INLINE __m128i _mm_loadu_si16(const void *p) ++{ ++ return vreinterpretq_m128i_s16( ++ vsetq_lane_s16(*(const unaligned_int16_t *) p, vdupq_n_s16(0), 0)); ++} ++ ++// Load unaligned 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si64 ++FORCE_INLINE __m128i _mm_loadu_si64(const void *p) ++{ ++ return vreinterpretq_m128i_s64( ++ vsetq_lane_s64(*(const unaligned_int64_t *) p, vdupq_n_s64(0), 0)); ++} ++ ++// Allocate size bytes of memory, aligned to the alignment specified in align, ++// and return a pointer to the allocated memory. _mm_free should be used to free ++// memory that is allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_malloc ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void *_mm_malloc(size_t size, size_t align) ++{ ++ void *ptr; ++ if (align == 1) ++ return malloc(size); ++ if (align == 2 || (sizeof(void *) == 8 && align == 4)) ++ align = sizeof(void *); ++ if (!posix_memalign(&ptr, align, size)) ++ return ptr; ++ return NULL; ++} ++#endif ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmove_si64 ++FORCE_INLINE void _mm_maskmove_si64(__m64 a, __m64 mask, char *mem_addr) ++{ ++ int8x8_t shr_mask = vshr_n_s8(vreinterpret_s8_m64(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x8_t masked = ++ vbsl_s8(vreinterpret_u8_s8(shr_mask), vreinterpret_s8_m64(a), ++ vreinterpret_s8_u64(vget_low_u64(vreinterpretq_u64_m128(b)))); ++ vst1_s8((int8_t *) mem_addr, masked); ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_maskmovq ++#define _m_maskmovq(a, mask, mem_addr) _mm_maskmove_si64(a, mask, mem_addr) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pi16 ++FORCE_INLINE __m64 _mm_max_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmax_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) maximum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ps ++FORCE_INLINE __m128 _mm_max_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcgtq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vmaxq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pu8 ++FORCE_INLINE __m64 _mm_max_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmax_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) maximum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ss ++FORCE_INLINE __m128 _mm_max_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_max_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pi16 ++FORCE_INLINE __m64 _mm_min_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmin_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) minimum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ps ++FORCE_INLINE __m128 _mm_min_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcltq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vminq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pu8 ++FORCE_INLINE __m64 _mm_min_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmin_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) minimum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ss ++FORCE_INLINE __m128 _mm_min_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_min_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the lower single-precision (32-bit) floating-point element from b to the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_ss ++FORCE_INLINE __m128 _mm_move_ss(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(vgetq_lane_f32(vreinterpretq_f32_m128(b), 0), ++ vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the upper 2 single-precision (32-bit) floating-point elements from b to ++// the lower 2 elements of dst, and copy the upper 2 elements from a to the ++// upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehl_ps ++FORCE_INLINE __m128 _mm_movehl_ps(__m128 a, __m128 b) ++{ ++#if defined(aarch64__) ++ return vreinterpretq_m128_u64( ++ vzip2q_u64(vreinterpretq_u64_m128(b), vreinterpretq_u64_m128(a))); ++#else ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(b32, a32)); ++#endif ++} ++ ++// Move the lower 2 single-precision (32-bit) floating-point elements from b to ++// the upper 2 elements of dst, and copy the lower 2 elements from a to the ++// lower 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movelh_ps ++FORCE_INLINE __m128 _mm_movelh_ps(__m128 __A, __m128 __B) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(__A)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(__B)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pi8 ++FORCE_INLINE int _mm_movemask_pi8(__m64 a) ++{ ++ uint8x8_t input = vreinterpret_u8_m64(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int8_t shift[8] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint8x8_t tmp = vshr_n_u8(input, 7); ++ return vaddv_u8(vshl_u8(tmp, vld1_s8(shift))); ++#else ++ // Refer the implementation of `_mm_movemask_epi8` ++ uint16x4_t high_bits = vreinterpret_u16_u8(vshr_n_u8(input, 7)); ++ uint32x2_t paired16 = ++ vreinterpret_u32_u16(vsra_n_u16(high_bits, high_bits, 7)); ++ uint8x8_t paired32 = ++ vreinterpret_u8_u32(vsra_n_u32(paired16, paired16, 14)); ++ return vget_lane_u8(paired32, 0) | ((int) vget_lane_u8(paired32, 4) << 4); ++#endif ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed single-precision (32-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_ps ++FORCE_INLINE int _mm_movemask_ps(__m128 a) ++{ ++ uint32x4_t input = vreinterpretq_u32_m128(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int32_t shift[4] = {0, 1, 2, 3}; ++ uint32x4_t tmp = vshrq_n_u32(input, 31); ++ return vaddvq_u32(vshlq_u32(tmp, vld1q_s32(shift))); ++#else ++ // Uses the exact same method as _mm_movemask_epi8, see that for details. ++ // Shift out everything but the sign bits with a 32-bit unsigned shift ++ // right. ++ uint64x2_t high_bits = vreinterpretq_u64_u32(vshrq_n_u32(input, 31)); ++ // Merge the two pairs together with a 64-bit unsigned shift right + add. ++ uint8x16_t paired = ++ vreinterpretq_u8_u64(vsraq_n_u64(high_bits, high_bits, 31)); ++ // Extract the result. ++ return vgetq_lane_u8(paired, 0) | (vgetq_lane_u8(paired, 8) << 2); ++#endif ++} ++ ++// Multiply packed single-precision (32-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ps ++FORCE_INLINE __m128 _mm_mul_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vmulq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Multiply the lower single-precision (32-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ss ++FORCE_INLINE __m128 _mm_mul_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_mul_ps(a, b)); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_pu16 ++FORCE_INLINE __m64 _mm_mulhi_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16(vshrn_n_u32( ++ vmull_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b)), 16)); ++} ++ ++// Compute the bitwise OR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_ps ++FORCE_INLINE __m128 _mm_or_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vorrq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgb ++#define _m_pavgb(a, b) _mm_avg_pu8(a, b) ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgw ++#define _m_pavgw(a, b) _mm_avg_pu16(a, b) ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pextrw ++#define _m_pextrw(a, imm) _mm_extract_pi16(a, imm) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_pinsrw ++#define _m_pinsrw(a, i, imm) _mm_insert_pi16(a, i, imm) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxsw ++#define _m_pmaxsw(a, b) _mm_max_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxub ++#define _m_pmaxub(a, b) _mm_max_pu8(a, b) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminsw ++#define _m_pminsw(a, b) _mm_min_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminub ++#define _m_pminub(a, b) _mm_min_pu8(a, b) ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmovmskb ++#define _m_pmovmskb(a) _mm_movemask_pi8(a) ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmulhuw ++#define _m_pmulhuw(a, b) _mm_mulhi_pu16(a, b) ++ ++// Fetch the line of data from memory that contains address p to a location in ++// the cache hierarchy specified by the locality hint i. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_prefetch ++FORCE_INLINE void _mm_prefetch(char const *p, int i) ++{ ++ (void) i; ++#if defined(_MSC_VER) ++ switch (i) { ++ case _MM_HINT_NTA: ++ __prefetch2(p, 1); ++ break; ++ case _MM_HINT_T0: ++ __prefetch2(p, 0); ++ break; ++ case _MM_HINT_T1: ++ __prefetch2(p, 2); ++ break; ++ case _MM_HINT_T2: ++ __prefetch2(p, 4); ++ break; ++ } ++#else ++ switch (i) { ++ case _MM_HINT_NTA: ++ __builtin_prefetch(p, 0, 0); ++ break; ++ case _MM_HINT_T0: ++ __builtin_prefetch(p, 0, 3); ++ break; ++ case _MM_HINT_T1: ++ __builtin_prefetch(p, 0, 2); ++ break; ++ case _MM_HINT_T2: ++ __builtin_prefetch(p, 0, 1); ++ break; ++ } ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_psadbw ++#define _m_psadbw(a, b) _mm_sad_pu8(a, b) ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pshufw ++#define _m_pshufw(a, imm) _mm_shuffle_pi16(a, imm) ++ ++// Compute the approximate reciprocal of packed single-precision (32-bit) ++// floating-point elements in a, and store the results in dst. The maximum ++// relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ps ++FORCE_INLINE __m128 _mm_rcp_ps(__m128 in) ++{ ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(in)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#if SSE2NEON_PRECISE_DIV ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#endif ++ return vreinterpretq_m128_f32(recip); ++} ++ ++// Compute the approximate reciprocal of the lower single-precision (32-bit) ++// floating-point element in a, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ss ++FORCE_INLINE __m128 _mm_rcp_ss(__m128 a) ++{ ++ return _mm_move_ss(a, _mm_rcp_ps(a)); ++} ++ ++// Compute the approximate reciprocal square root of packed single-precision ++// (32-bit) floating-point elements in a, and store the results in dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ps ++FORCE_INLINE __m128 _mm_rsqrt_ps(__m128 in) ++{ ++ float32x4_t out = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Generate masks for detecting whether input has any 0.0f/-0.0f ++ // (which becomes positive/negative infinity by IEEE-754 arithmetic rules). ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t neg_inf = vdupq_n_u32(0xFF800000); ++ const uint32x4_t has_pos_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(out)); ++ const uint32x4_t has_neg_zero = ++ vceqq_u32(neg_inf, vreinterpretq_u32_f32(out)); ++ ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#if SSE2NEON_PRECISE_SQRT ++ // Additional Netwon-Raphson iteration for accuracy ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#endif ++ ++ // Set output vector element to infinity/negative-infinity if ++ // the corresponding input vector element is 0.0f/-0.0f. ++ out = vbslq_f32(has_pos_zero, (float32x4_t) pos_inf, out); ++ out = vbslq_f32(has_neg_zero, (float32x4_t) neg_inf, out); ++ ++ return vreinterpretq_m128_f32(out); ++} ++ ++// Compute the approximate reciprocal square root of the lower single-precision ++// (32-bit) floating-point element in a, store the result in the lower element ++// of dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ss ++FORCE_INLINE __m128 _mm_rsqrt_ss(__m128 in) ++{ ++ return vsetq_lane_f32(vgetq_lane_f32(_mm_rsqrt_ps(in), 0), in, 0); ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_pu8 ++FORCE_INLINE __m64 _mm_sad_pu8(__m64 a, __m64 b) ++{ ++ uint64x1_t t = vpaddl_u32(vpaddl_u16( ++ vpaddl_u8(vabd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))))); ++ return vreinterpret_m64_u16( ++ vset_lane_u16((int) vget_lane_u64(t, 0), vdup_n_u16(0), 0)); ++} ++ ++// Macro: Set the flush zero bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The flush zero may contain any of the ++// following flags: _MM_FLUSH_ZERO_ON or _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_FLUSH_ZERO_MODE ++FORCE_INLINE void _sse2neon_mm_set_flush_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_FLUSH_ZERO_MASK) == _MM_FLUSH_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps ++FORCE_INLINE __m128 _mm_set_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {x, y, z, w}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps1 ++FORCE_INLINE __m128 _mm_set_ps1(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Macro: Set the rounding mode bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The rounding mode may contain any of ++// the following flags: _MM_ROUND_NEAREST, _MM_ROUND_DOWN, _MM_ROUND_UP, ++// _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_ROUNDING_MODE ++FORCE_INLINE void _MM_SET_ROUNDING_MODE(int rounding) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ switch (rounding) { ++ case _MM_ROUND_TOWARD_ZERO: ++ r.field.bit22 = 1; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_DOWN: ++ r.field.bit22 = 0; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_UP: ++ r.field.bit22 = 1; ++ r.field.bit23 = 0; ++ break; ++ default: //_MM_ROUND_NEAREST ++ r.field.bit22 = 0; ++ r.field.bit23 = 0; ++ } ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Copy single-precision (32-bit) floating-point element a to the lower element ++// of dst, and zero the upper 3 elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ss ++FORCE_INLINE __m128 _mm_set_ss(float a) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(a, vdupq_n_f32(0), 0)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_ps ++FORCE_INLINE __m128 _mm_set1_ps(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Set the MXCSR control and status register with the value in unsigned 32-bit ++// integer a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setcsr ++// FIXME: _mm_setcsr() implementation supports changing the rounding mode only. ++FORCE_INLINE void _mm_setcsr(unsigned int a) ++{ ++ _MM_SET_ROUNDING_MODE(a); ++} ++ ++// Get the unsigned 32-bit value of the MXCSR control and status register. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_getcsr ++// FIXME: _mm_getcsr() implementation supports reading the rounding mode only. ++FORCE_INLINE unsigned int _mm_getcsr(void) ++{ ++ return _MM_GET_ROUNDING_MODE(); ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_ps ++FORCE_INLINE __m128 _mm_setr_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {w, z, y, x}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Return vector of type __m128 with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_ps ++FORCE_INLINE __m128 _mm_setzero_ps(void) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(0)); ++} ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi16 ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pi16(a, imm) \ ++ vreinterpret_m64_s16(vshuffle_s16( \ ++ vreinterpret_s16_m64(a), vreinterpret_s16_m64(a), (imm & 0x3), \ ++ ((imm >> 2) & 0x3), ((imm >> 4) & 0x3), ((imm >> 6) & 0x3))) ++#else ++#define _mm_shuffle_pi16(a, imm) \ ++ _sse2neon_define1( \ ++ __m64, a, int16x4_t ret; \ ++ ret = vmov_n_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), (imm) & (0x3))); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpret_m64_s16(ret));) ++#endif ++ ++// Perform a serializing operation on all store-to-memory instructions that were ++// issued prior to this instruction. Guarantees that every store instruction ++// that precedes, in program order, is globally visible before any store ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sfence ++FORCE_INLINE void _mm_sfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory and store-to-memory ++// instructions that were issued prior to this instruction. Guarantees that ++// every memory access that precedes, in program order, the memory fence ++// instruction is globally visible before any memory instruction which follows ++// the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mfence ++FORCE_INLINE void _mm_mfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory instructions that ++// were issued prior to this instruction. Guarantees that every load instruction ++// that precedes, in program order, is globally visible before any load ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lfence ++FORCE_INLINE void _mm_lfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// FORCE_INLINE __m128 _mm_shuffle_ps(__m128 a, __m128 b, __constrange(0,255) ++// int imm) ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_ps(a, b, imm) \ ++ __extension__({ \ ++ float32x4_t _input1 = vreinterpretq_f32_m128(a); \ ++ float32x4_t _input2 = vreinterpretq_f32_m128(b); \ ++ float32x4_t _shuf = \ ++ vshuffleq_s32(_input1, _input2, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ (((imm) >> 4) & 0x3) + 4, (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128_f32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_ps(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128, a, b, __m128 ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_1032(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_ps_2301(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_ps_0321(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_ps_2103(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_movelh_ps(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_1001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_ps_0101(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 1, 0): \ ++ ret = _mm_shuffle_ps_3210(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 1, 1): \ ++ ret = _mm_shuffle_ps_0011(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 2, 2): \ ++ ret = _mm_shuffle_ps_0022(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 0, 0): \ ++ ret = _mm_shuffle_ps_2200(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 0, 2): \ ++ ret = _mm_shuffle_ps_3202(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 3, 2): \ ++ ret = _mm_movehl_ps(_b, _a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 3, 3): \ ++ ret = _mm_shuffle_ps_1133(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 1, 0): \ ++ ret = _mm_shuffle_ps_2010(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_2001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_2032(_a, _b); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_ps_default(_a, _b, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Compute the square root of packed single-precision (32-bit) floating-point ++// elements in a, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise square root intrinsic, we implement ++// square root by multiplying input in with its reciprocal square root before ++// using the Newton-Raphson method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ps ++FORCE_INLINE __m128 _mm_sqrt_ps(__m128 in) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) && !SSE2NEON_PRECISE_SQRT ++ return vreinterpretq_m128_f32(vsqrtq_f32(vreinterpretq_f32_m128(in))); ++#else ++ float32x4_t recip = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Test for vrsqrteq_f32(0) -> positive infinity case. ++ // Change to zero, so that s * 1/sqrt(s) result is zero too. ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t div_by_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(recip)); ++ recip = vreinterpretq_f32_u32( ++ vandq_u32(vmvnq_u32(div_by_zero), vreinterpretq_u32_f32(recip))); ++ ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ ++ // sqrt(s) = s * 1/sqrt(s) ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(in), recip)); ++#endif ++} ++ ++// Compute the square root of the lower single-precision (32-bit) floating-point ++// element in a, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ss ++FORCE_INLINE __m128 _mm_sqrt_ss(__m128 in) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_sqrt_ps(in)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(in), 0)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps ++FORCE_INLINE void _mm_store_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps1 ++FORCE_INLINE void _mm_store_ps1(float *p, __m128 a) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ vst1q_f32(p, vdupq_n_f32(a0)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ss ++FORCE_INLINE void _mm_store_ss(float *p, __m128 a) ++{ ++ vst1q_lane_f32(p, vreinterpretq_f32_m128(a), 0); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store1_ps ++#define _mm_store1_ps _mm_store_ps1 ++ ++// Store the upper 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pi ++FORCE_INLINE void _mm_storeh_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_high_f32(a)); ++} ++ ++// Store the lower 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pi ++FORCE_INLINE void _mm_storel_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_low_f32(a)); ++} ++ ++// Store 4 single-precision (32-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_ps ++FORCE_INLINE void _mm_storer_ps(float *p, __m128 a) ++{ ++ float32x4_t tmp = vrev64q_f32(vreinterpretq_f32_m128(a)); ++ float32x4_t rev = vextq_f32(tmp, tmp, 2); ++ vst1q_f32(p, rev); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_ps ++FORCE_INLINE void _mm_storeu_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Stores 16-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si16 ++FORCE_INLINE void _mm_storeu_si16(void *p, __m128i a) ++{ ++ vst1q_lane_s16((int16_t *) p, vreinterpretq_s16_m128i(a), 0); ++} ++ ++// Stores 64-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si64 ++FORCE_INLINE void _mm_storeu_si64(void *p, __m128i a) ++{ ++ vst1q_lane_s64((int64_t *) p, vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Store 64-bits of integer data from a into memory using a non-temporal memory ++// hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pi ++FORCE_INLINE void _mm_stream_pi(__m64 *p, __m64 a) ++{ ++ vst1_s64((int64_t *) p, vreinterpret_s64_m64(a)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating- ++// point elements) from a into memory using a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_ps ++FORCE_INLINE void _mm_stream_ps(float *p, __m128 a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (float32x4_t *) p); ++#else ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++#endif ++} ++ ++// Subtract packed single-precision (32-bit) floating-point elements in b from ++// packed single-precision (32-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ps ++FORCE_INLINE __m128 _mm_sub_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Subtract the lower single-precision (32-bit) floating-point element in b from ++// the lower single-precision (32-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper 3 packed elements from ++// a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ss ++FORCE_INLINE __m128 _mm_sub_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_sub_ps(a, b)); ++} ++ ++// Macro: Transpose the 4x4 matrix formed by the 4 rows of single-precision ++// (32-bit) floating-point elements in row0, row1, row2, and row3, and store the ++// transposed matrix in these vectors (row0 now contains column 0, etc.). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=MM_TRANSPOSE4_PS ++#define _MM_TRANSPOSE4_PS(row0, row1, row2, row3) \ ++ do { \ ++ float32x4x2_t ROW01 = vtrnq_f32(row0, row1); \ ++ float32x4x2_t ROW23 = vtrnq_f32(row2, row3); \ ++ row0 = vcombine_f32(vget_low_f32(ROW01.val[0]), \ ++ vget_low_f32(ROW23.val[0])); \ ++ row1 = vcombine_f32(vget_low_f32(ROW01.val[1]), \ ++ vget_low_f32(ROW23.val[1])); \ ++ row2 = vcombine_f32(vget_high_f32(ROW01.val[0]), \ ++ vget_high_f32(ROW23.val[0])); \ ++ row3 = vcombine_f32(vget_high_f32(ROW01.val[1]), \ ++ vget_high_f32(ROW23.val[1])); \ ++ } while (0) ++ ++// according to the documentation, these intrinsics behave the same as the ++// non-'u' versions. We'll just alias them here. ++#define _mm_ucomieq_ss _mm_comieq_ss ++#define _mm_ucomige_ss _mm_comige_ss ++#define _mm_ucomigt_ss _mm_comigt_ss ++#define _mm_ucomile_ss _mm_comile_ss ++#define _mm_ucomilt_ss _mm_comilt_ss ++#define _mm_ucomineq_ss _mm_comineq_ss ++ ++// Return vector of type __m128i with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_undefined_si128 ++FORCE_INLINE __m128i _mm_undefined_si128(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128i a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_si128(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Return vector of type __m128 with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_ps ++FORCE_INLINE __m128 _mm_undefined_ps(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128 a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_ps(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the high half a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_ps ++FORCE_INLINE __m128 _mm_unpackhi_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_ps ++FORCE_INLINE __m128 _mm_unpacklo_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Compute the bitwise XOR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_ps ++FORCE_INLINE __m128 _mm_xor_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ veorq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++/* SSE2 */ ++ ++// Add packed 16-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi16 ++FORCE_INLINE __m128i _mm_add_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed 32-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi32 ++FORCE_INLINE __m128i _mm_add_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vaddq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Add packed 64-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi64 ++FORCE_INLINE __m128i _mm_add_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vaddq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Add packed 8-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi8 ++FORCE_INLINE __m128i _mm_add_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed double-precision (64-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_pd ++FORCE_INLINE __m128d _mm_add_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1] + db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add the lower double-precision (64-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper element from ++// a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_sd ++FORCE_INLINE __m128d _mm_add_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_add_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add 64-bit integers a and b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_si64 ++FORCE_INLINE __m64 _mm_add_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vadd_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Add packed signed 16-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi16 ++FORCE_INLINE __m128i _mm_adds_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed signed 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi8 ++FORCE_INLINE __m128i _mm_adds_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed unsigned 16-bit integers in a and b using saturation, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu16 ++FORCE_INLINE __m128i _mm_adds_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqaddq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Add packed unsigned 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu8 ++FORCE_INLINE __m128i _mm_adds_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compute the bitwise AND of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_pd ++FORCE_INLINE __m128d _mm_and_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vandq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_si128 ++FORCE_INLINE __m128i _mm_and_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vandq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compute the bitwise NOT of packed double-precision (64-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_pd ++FORCE_INLINE __m128d _mm_andnot_pd(__m128d a, __m128d b) ++{ ++ // *NOTE* argument swap ++ return vreinterpretq_m128d_s64( ++ vbicq_s64(vreinterpretq_s64_m128d(b), vreinterpretq_s64_m128d(a))); ++} ++ ++// Compute the bitwise NOT of 128 bits (representing integer data) in a and then ++// AND with b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_si128 ++FORCE_INLINE __m128i _mm_andnot_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vbicq_s32(vreinterpretq_s32_m128i(b), ++ vreinterpretq_s32_m128i(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu16 ++FORCE_INLINE __m128i _mm_avg_epu16(__m128i a, __m128i b) ++{ ++ return (__m128i) vrhaddq_u16(vreinterpretq_u16_m128i(a), ++ vreinterpretq_u16_m128i(b)); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu8 ++FORCE_INLINE __m128i _mm_avg_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vrhaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bslli_si128 ++#define _mm_bslli_si128(a, imm) _mm_slli_si128(a, imm) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bsrli_si128 ++#define _mm_bsrli_si128(a, imm) _mm_srli_si128(a, imm) ++ ++// Cast vector of type __m128d to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_ps ++FORCE_INLINE __m128 _mm_castpd_ps(__m128d a) ++{ ++ return vreinterpretq_m128_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128d to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_si128 ++FORCE_INLINE __m128i _mm_castpd_si128(__m128d a) ++{ ++ return vreinterpretq_m128i_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128 to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_pd ++FORCE_INLINE __m128d _mm_castps_pd(__m128 a) ++{ ++ return vreinterpretq_m128d_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128 to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_si128 ++FORCE_INLINE __m128i _mm_castps_si128(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128i to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_pd ++FORCE_INLINE __m128d _mm_castsi128_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vreinterpretq_f64_m128i(a)); ++#else ++ return vreinterpretq_m128d_f32(vreinterpretq_f32_m128i(a)); ++#endif ++} ++ ++// Cast vector of type __m128i to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_ps ++FORCE_INLINE __m128 _mm_castsi128_ps(__m128i a) ++{ ++ return vreinterpretq_m128_s32(vreinterpretq_s32_m128i(a)); ++} ++ ++// Invalidate and flush the cache line that contains p from all levels of the ++// cache hierarchy. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clflush ++#if defined(__APPLE__) ++#include ++#endif ++FORCE_INLINE void _mm_clflush(void const *p) ++{ ++ (void) p; ++ ++ /* sys_icache_invalidate is supported since macOS 10.5. ++ * However, it does not work on non-jailbroken iOS devices, although the ++ * compilation is successful. ++ */ ++#if defined(__APPLE__) ++ sys_icache_invalidate((void *) (uintptr_t) p, SSE2NEON_CACHELINE_SIZE); ++#elif defined(__GNUC__) || defined(__clang__) ++ uintptr_t ptr = (uintptr_t) p; ++ __builtin___clear_cache((char *) ptr, ++ (char *) ptr + SSE2NEON_CACHELINE_SIZE); ++#elif (_MSC_VER) && SSE2NEON_INCLUDE_WINDOWS_H ++ FlushInstructionCache(GetCurrentProcess(), p, SSE2NEON_CACHELINE_SIZE); ++#endif ++} ++ ++// Compare packed 16-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi16 ++FORCE_INLINE __m128i _mm_cmpeq_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vceqq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed 32-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi32 ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vceqq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed 8-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi8 ++FORCE_INLINE __m128i _mm_cmpeq_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vceqq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_pd ++FORCE_INLINE __m128d _mm_cmpeq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_sd ++FORCE_INLINE __m128d _mm_cmpeq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpeq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_pd ++FORCE_INLINE __m128d _mm_cmpge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) >= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_sd ++FORCE_INLINE __m128d _mm_cmpge_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpge_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi16 ++FORCE_INLINE __m128i _mm_cmpgt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcgtq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi32 ++FORCE_INLINE __m128i _mm_cmpgt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcgtq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi8 ++FORCE_INLINE __m128i _mm_cmpgt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcgtq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_pd ++FORCE_INLINE __m128d _mm_cmpgt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_sd ++FORCE_INLINE __m128d _mm_cmpgt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpgt_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_pd ++FORCE_INLINE __m128d _mm_cmple_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) <= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_sd ++FORCE_INLINE __m128d _mm_cmple_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmple_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtw instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi16 ++FORCE_INLINE __m128i _mm_cmplt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcltq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtd instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi32 ++FORCE_INLINE __m128i _mm_cmplt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcltq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtb instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi8 ++FORCE_INLINE __m128i _mm_cmplt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcltq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_pd ++FORCE_INLINE __m128d _mm_cmplt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_sd ++FORCE_INLINE __m128d _mm_cmplt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmplt_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_pd ++FORCE_INLINE __m128d _mm_cmpneq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_s32(vmvnq_s32(vreinterpretq_s32_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vmvnq_u32(vandq_u32(cmp, swapped))); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_sd ++FORCE_INLINE __m128d _mm_cmpneq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpneq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_pd ++FORCE_INLINE __m128d _mm_cmpnge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) >= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) >= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_sd ++FORCE_INLINE __m128d _mm_cmpnge_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnge_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_cmpngt_pd ++FORCE_INLINE __m128d _mm_cmpngt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) > (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) > (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_sd ++FORCE_INLINE __m128d _mm_cmpngt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpngt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_pd ++FORCE_INLINE __m128d _mm_cmpnle_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) <= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) <= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_sd ++FORCE_INLINE __m128d _mm_cmpnle_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnle_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_pd ++FORCE_INLINE __m128d _mm_cmpnlt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) < (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) < (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_sd ++FORCE_INLINE __m128d _mm_cmpnlt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnlt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_pd ++FORCE_INLINE __m128d _mm_cmpord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Excluding NaNs, any two floating point numbers can be compared. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_u64(vandq_u64(not_nan_a, not_nan_b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_sd ++FORCE_INLINE __m128d _mm_cmpord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_pd ++FORCE_INLINE __m128d _mm_cmpunord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Two NaNs are not equal in comparison operation. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_s32( ++ vmvnq_s32(vreinterpretq_s32_u64(vandq_u64(not_nan_a, not_nan_b)))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_sd ++FORCE_INLINE __m128d _mm_cmpunord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpunord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_sd ++FORCE_INLINE int _mm_comige_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgeq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 >= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_sd ++FORCE_INLINE int _mm_comigt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgtq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 > *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_sd ++FORCE_INLINE int _mm_comile_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcleq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 <= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_sd ++FORCE_INLINE int _mm_comilt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcltq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 < *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_sd ++FORCE_INLINE int _mm_comieq_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vceqq_f64(a, b), 0) & 0x1; ++#else ++ uint32x4_t a_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(a)); ++ uint32x4_t b_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(b), vreinterpretq_u32_m128d(b)); ++ uint32x4_t a_and_b_not_nan = vandq_u32(a_not_nan, b_not_nan); ++ uint32x4_t a_eq_b = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint64x2_t and_results = vandq_u64(vreinterpretq_u64_u32(a_and_b_not_nan), ++ vreinterpretq_u64_u32(a_eq_b)); ++ return vgetq_lane_u64(and_results, 0) & 0x1; ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_sd ++FORCE_INLINE int _mm_comineq_sd(__m128d a, __m128d b) ++{ ++ return !_mm_comieq_sd(a, b); ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_pd ++FORCE_INLINE __m128d _mm_cvtepi32_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a))))); ++#else ++ double a0 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++ double a1 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_ps ++FORCE_INLINE __m128 _mm_cvtepi32_ps(__m128i a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_epi32 ++FORCE_INLINE __m128i _mm_cvtpd_epi32(__m128d a) ++{ ++// vrnd32xq_f64 not supported on clang ++#if defined(__ARM_FEATURE_FRINT) && !defined(__clang__) ++ float64x2_t rounded = vrnd32xq_f64(vreinterpretq_f64_m128d(a)); ++ int64x2_t integers = vcvtq_s64_f64(rounded); ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vmovn_s64(integers), vdup_n_s32(0))); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) d1, (int32_t) d0); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_pi32 ++FORCE_INLINE __m64 _mm_cvtpd_pi32(__m128d a) ++{ ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) d0, (int32_t) d1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed single-precision (32-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_ps ++FORCE_INLINE __m128 _mm_cvtpd_ps(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float32x2_t tmp = vcvt_f32_f64(vreinterpretq_f64_m128d(a)); ++ return vreinterpretq_m128_f32(vcombine_f32(tmp, vdup_n_f32(0))); ++#else ++ float a0 = (float) ((double *) &a)[0]; ++ float a1 = (float) ((double *) &a)[1]; ++ return _mm_set_ps(0, 0, a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_pd ++FORCE_INLINE __m128d _mm_cvtpi32_pd(__m64 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vreinterpret_s32_m64(a)))); ++#else ++ double a0 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 0); ++ double a1 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_epi32 ++// *NOTE*. The default rounding mode on SSE is 'round to even', which ARMv7-A ++// does not support! It is supported on ARMv8-A however. ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128 a) ++{ ++#if defined(__ARM_FEATURE_FRINT) ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vrnd32xq_f32(a))); ++#elif (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: ++ return vreinterpretq_m128i_s32(vcvtnq_s32_f32(a)); ++ case _MM_ROUND_DOWN: ++ return vreinterpretq_m128i_s32(vcvtmq_s32_f32(a)); ++ case _MM_ROUND_UP: ++ return vreinterpretq_m128i_s32(vcvtpq_s32_f32(a)); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(a)); ++ } ++#else ++ float *f = (float *) &a; ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128i_s32( ++ vbslq_s32(is_delta_half, r_even, r_normal)); ++ } ++ case _MM_ROUND_DOWN: ++ return _mm_set_epi32(floorf(f[3]), floorf(f[2]), floorf(f[1]), ++ floorf(f[0])); ++ case _MM_ROUND_UP: ++ return _mm_set_epi32(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ++ ceilf(f[0])); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return _mm_set_epi32((int32_t) f[3], (int32_t) f[2], (int32_t) f[1], ++ (int32_t) f[0]); ++ } ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed double-precision (64-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pd ++FORCE_INLINE __m128d _mm_cvtps_pd(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvt_f64_f32(vget_low_f32(vreinterpretq_f32_m128(a)))); ++#else ++ double a0 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ double a1 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Copy the lower double-precision (64-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_f64 ++FORCE_INLINE double _mm_cvtsd_f64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (double) vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0); ++#else ++ return ((double *) &a)[0]; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si32 ++FORCE_INLINE int32_t _mm_cvtsd_si32(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int32_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int32_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64 ++FORCE_INLINE int64_t _mm_cvtsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int64_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64x ++#define _mm_cvtsd_si64x _mm_cvtsd_si64 ++ ++// Convert the lower double-precision (64-bit) floating-point element in b to a ++// single-precision (32-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_ss ++FORCE_INLINE __m128 _mm_cvtsd_ss(__m128 a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32(vsetq_lane_f32( ++ vget_lane_f32(vcvt_f32_f64(vreinterpretq_f64_m128d(b)), 0), ++ vreinterpretq_f32_m128(a), 0)); ++#else ++ return vreinterpretq_m128_f32(vsetq_lane_f32((float) ((double *) &b)[0], ++ vreinterpretq_f32_m128(a), 0)); ++#endif ++} ++ ++// Copy the lower 32-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si32 ++FORCE_INLINE int _mm_cvtsi128_si32(__m128i a) ++{ ++ return vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64 ++FORCE_INLINE int64_t _mm_cvtsi128_si64(__m128i a) ++{ ++ return vgetq_lane_s64(vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Convert the signed 32-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_sd ++FORCE_INLINE __m128d _mm_cvtsi32_sd(__m128d a, int32_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Copy 32-bit integer a to the lower elements of dst, and zero the upper ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_si128 ++FORCE_INLINE __m128i _mm_cvtsi32_si128(int a) ++{ ++ return vreinterpretq_m128i_s32(vsetq_lane_s32(a, vdupq_n_s32(0), 0)); ++} ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_sd ++FORCE_INLINE __m128d _mm_cvtsi64_sd(__m128d a, int64_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_si128 ++FORCE_INLINE __m128i _mm_cvtsi64_si128(int64_t a) ++{ ++ return vreinterpretq_m128i_s64(vsetq_lane_s64(a, vdupq_n_s64(0), 0)); ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_si128 ++#define _mm_cvtsi64x_si128(a) _mm_cvtsi64_si128(a) ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_sd ++#define _mm_cvtsi64x_sd(a, b) _mm_cvtsi64_sd(a, b) ++ ++// Convert the lower single-precision (32-bit) floating-point element in b to a ++// double-precision (64-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_sd ++FORCE_INLINE __m128d _mm_cvtss_sd(__m128d a, __m128 b) ++{ ++ double d = (double) vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(d, vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &d, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_epi32 ++FORCE_INLINE __m128i _mm_cvttpd_epi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) a1, (int32_t) a0); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_pi32 ++FORCE_INLINE __m64 _mm_cvttpd_pi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) a0, (int32_t) a1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_epi32 ++FORCE_INLINE __m128i _mm_cvttps_epi32(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a))); ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si32 ++FORCE_INLINE int32_t _mm_cvttsd_si32(__m128d a) ++{ ++ double ret = *((double *) &a); ++ return (int32_t) ret; ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64 ++FORCE_INLINE int64_t _mm_cvttsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_s64(vcvtq_s64_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ double ret = *((double *) &a); ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64x ++#define _mm_cvttsd_si64x(a) _mm_cvttsd_si64(a) ++ ++// Divide packed double-precision (64-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_pd ++FORCE_INLINE __m128d _mm_div_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] / db[0]; ++ c[1] = da[1] / db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Divide the lower double-precision (64-bit) floating-point element in a by the ++// lower double-precision (64-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper element from a to the upper ++// element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_sd ++FORCE_INLINE __m128d _mm_div_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t tmp = ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1), tmp, 1)); ++#else ++ return _mm_move_sd(a, _mm_div_pd(a, b)); ++#endif ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi16 ++// FORCE_INLINE int _mm_extract_epi16(__m128i a, __constrange(0,8) int imm) ++#define _mm_extract_epi16(a, imm) \ ++ vgetq_lane_u16(vreinterpretq_u16_m128i(a), (imm)) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi16 ++// FORCE_INLINE __m128i _mm_insert_epi16(__m128i a, int b, ++// __constrange(0,8) int imm) ++#define _mm_insert_epi16(a, b, imm) \ ++ vreinterpretq_m128i_s16( \ ++ vsetq_lane_s16((b), vreinterpretq_s16_m128i(a), (imm))) ++ ++// Load 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd ++FORCE_INLINE __m128d _mm_load_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64(p)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], fp[2], fp[3]}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd1 ++#define _mm_load_pd1 _mm_load1_pd ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower of dst, and zero the upper element. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_sd ++FORCE_INLINE __m128d _mm_load_sd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(*p, vdupq_n_f64(0), 0)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], 0, 0}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_si128 ++FORCE_INLINE __m128i _mm_load_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const int32_t *) p)); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_pd ++FORCE_INLINE __m128d _mm_load1_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_dup_f64(p)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(const int64_t *) p)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// upper element of dst, and copy the lower element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pd ++FORCE_INLINE __m128d _mm_loadh_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vget_low_f64(vreinterpretq_f64_m128d(a)), vld1_f64(p))); ++#else ++ return vreinterpretq_m128d_f32(vcombine_f32( ++ vget_low_f32(vreinterpretq_f32_m128d(a)), vld1_f32((const float *) p))); ++#endif ++} ++ ++// Load 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_epi64 ++FORCE_INLINE __m128i _mm_loadl_epi64(__m128i const *p) ++{ ++ /* Load the lower 64 bits of the value pointed to by p into the ++ * lower 64 bits of the result, zeroing the upper 64 bits of the result. ++ */ ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vld1_s32((int32_t const *) p), vcreate_s32(0))); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower element of dst, and copy the upper element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pd ++FORCE_INLINE __m128d _mm_loadl_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vld1_f64(p), vget_high_f64(vreinterpretq_f64_m128d(a)))); ++#else ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vld1_f32((const float *) p), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++#endif ++} ++ ++// Load 2 double-precision (64-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_pd ++FORCE_INLINE __m128d _mm_loadr_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t v = vld1q_f64(p); ++ return vreinterpretq_m128d_f64(vextq_f64(v, v, 1)); ++#else ++ int64x2_t v = vld1q_s64((const int64_t *) p); ++ return vreinterpretq_m128d_s64(vextq_s64(v, v, 1)); ++#endif ++} ++ ++// Loads two double-precision from unaligned memory, floating-point values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_pd ++FORCE_INLINE __m128d _mm_loadu_pd(const double *p) ++{ ++ return _mm_load_pd(p); ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si128 ++FORCE_INLINE __m128i _mm_loadu_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const unaligned_int32_t *) p)); ++} ++ ++// Load unaligned 32-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si32 ++FORCE_INLINE __m128i _mm_loadu_si32(const void *p) ++{ ++ return vreinterpretq_m128i_s32( ++ vsetq_lane_s32(*(const unaligned_int32_t *) p, vdupq_n_s32(0), 0)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Horizontally add adjacent pairs of intermediate ++// 32-bit integers, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_madd_epi16 ++FORCE_INLINE __m128i _mm_madd_epi16(__m128i a, __m128i b) ++{ ++ int32x4_t low = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t high = ++ vmull_high_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b)); ++ ++ return vreinterpretq_m128i_s32(vpaddq_s32(low, high)); ++#else ++ int32x4_t high = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ int32x2_t low_sum = vpadd_s32(vget_low_s32(low), vget_high_s32(low)); ++ int32x2_t high_sum = vpadd_s32(vget_low_s32(high), vget_high_s32(high)); ++ ++ return vreinterpretq_m128i_s32(vcombine_s32(low_sum, high_sum)); ++#endif ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. mem_addr does not need to be aligned ++// on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmoveu_si128 ++FORCE_INLINE void _mm_maskmoveu_si128(__m128i a, __m128i mask, char *mem_addr) ++{ ++ int8x16_t shr_mask = vshrq_n_s8(vreinterpretq_s8_m128i(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x16_t masked = ++ vbslq_s8(vreinterpretq_u8_s8(shr_mask), vreinterpretq_s8_m128i(a), ++ vreinterpretq_s8_m128(b)); ++ vst1q_s8((int8_t *) mem_addr, masked); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi16 ++FORCE_INLINE __m128i _mm_max_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmaxq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu8 ++FORCE_INLINE __m128i _mm_max_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vmaxq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pd ++FORCE_INLINE __m128d _mm_max_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcgtq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vmaxq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? a1 : b1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_sd ++FORCE_INLINE __m128d _mm_max_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_max_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] > db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi16 ++FORCE_INLINE __m128i _mm_min_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vminq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu8 ++FORCE_INLINE __m128i _mm_min_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vminq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pd ++FORCE_INLINE __m128d _mm_min_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcltq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vminq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? a1 : b1; ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_sd ++FORCE_INLINE __m128d _mm_min_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_min_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] < db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to the lower element of dst, and zero the ++// upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_epi64 ++FORCE_INLINE __m128i _mm_move_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vsetq_lane_s64(0, vreinterpretq_s64_m128i(a), 1)); ++} ++ ++// Move the lower double-precision (64-bit) floating-point element from b to the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_sd ++FORCE_INLINE __m128d _mm_move_sd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vget_low_f32(vreinterpretq_f32_m128d(b)), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_epi8 ++FORCE_INLINE int _mm_movemask_epi8(__m128i a) ++{ ++ // Use increasingly wide shifts+adds to collect the sign bits ++ // together. ++ // Since the widening shifts would be rather confusing to follow in little ++ // endian, everything will be illustrated in big endian order instead. This ++ // has a different result - the bits would actually be reversed on a big ++ // endian machine. ++ ++ // Starting input (only half the elements are shown): ++ // 89 ff 1d c0 00 10 99 33 ++ uint8x16_t input = vreinterpretq_u8_m128i(a); ++ ++ // Shift out everything but the sign bits with an unsigned shift right. ++ // ++ // Bytes of the vector:: ++ // 89 ff 1d c0 00 10 99 33 ++ // \ \ \ \ \ \ \ \ high_bits = (uint16x4_t)(input >> 7) ++ // | | | | | | | | ++ // 01 01 00 01 00 00 01 00 ++ // ++ // Bits of first important lane(s): ++ // 10001001 (89) ++ // \______ ++ // | ++ // 00000001 (01) ++ uint16x8_t high_bits = vreinterpretq_u16_u8(vshrq_n_u8(input, 7)); ++ ++ // Merge the even lanes together with a 16-bit unsigned shift right + add. ++ // 'xx' represents garbage data which will be ignored in the final result. ++ // In the important bytes, the add functions like a binary OR. ++ // ++ // 01 01 00 01 00 00 01 00 ++ // \_ | \_ | \_ | \_ | paired16 = (uint32x4_t)(input + (input >> 7)) ++ // \| \| \| \| ++ // xx 03 xx 01 xx 00 xx 02 ++ // ++ // 00000001 00000001 (01 01) ++ // \_______ | ++ // \| ++ // xxxxxxxx xxxxxx11 (xx 03) ++ uint32x4_t paired16 = ++ vreinterpretq_u32_u16(vsraq_n_u16(high_bits, high_bits, 7)); ++ ++ // Repeat with a wider 32-bit shift + add. ++ // xx 03 xx 01 xx 00 xx 02 ++ // \____ | \____ | paired32 = (uint64x1_t)(paired16 + (paired16 >> ++ // 14)) ++ // \| \| ++ // xx xx xx 0d xx xx xx 02 ++ // ++ // 00000011 00000001 (03 01) ++ // \\_____ || ++ // '----.\|| ++ // xxxxxxxx xxxx1101 (xx 0d) ++ uint64x2_t paired32 = ++ vreinterpretq_u64_u32(vsraq_n_u32(paired16, paired16, 14)); ++ ++ // Last, an even wider 64-bit shift + add to get our result in the low 8 bit ++ // lanes. xx xx xx 0d xx xx xx 02 ++ // \_________ | paired64 = (uint8x8_t)(paired32 + (paired32 >> ++ // 28)) ++ // \| ++ // xx xx xx xx xx xx xx d2 ++ // ++ // 00001101 00000010 (0d 02) ++ // \ \___ | | ++ // '---. \| | ++ // xxxxxxxx 11010010 (xx d2) ++ uint8x16_t paired64 = ++ vreinterpretq_u8_u64(vsraq_n_u64(paired32, paired32, 28)); ++ ++ // Extract the low 8 bits from each 64-bit lane with 2 8-bit extracts. ++ // xx xx xx xx xx xx xx d2 ++ // || return paired64[0] ++ // d2 ++ // Note: Little endian would return the correct value 4b (01001011) instead. ++ return vgetq_lane_u8(paired64, 0) | ((int) vgetq_lane_u8(paired64, 8) << 8); ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed double-precision (64-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pd ++FORCE_INLINE int _mm_movemask_pd(__m128d a) ++{ ++ uint64x2_t input = vreinterpretq_u64_m128d(a); ++ uint64x2_t high_bits = vshrq_n_u64(input, 63); ++ return (int) (vgetq_lane_u64(high_bits, 0) | ++ (vgetq_lane_u64(high_bits, 1) << 1)); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movepi64_pi64 ++FORCE_INLINE __m64 _mm_movepi64_pi64(__m128i a) ++{ ++ return vreinterpret_m64_s64(vget_low_s64(vreinterpretq_s64_m128i(a))); ++} ++ ++// Copy the 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movpi64_epi64 ++FORCE_INLINE __m128i _mm_movpi64_epi64(__m64 a) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vreinterpret_s64_m64(a), vdup_n_s64(0))); ++} ++ ++// Multiply the low unsigned 32-bit integers from each packed 64-bit element in ++// a and b, and store the unsigned 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epu32 ++FORCE_INLINE __m128i _mm_mul_epu32(__m128i a, __m128i b) ++{ ++ // vmull_u32 upcasts instead of masking, so we downcast. ++ uint32x2_t a_lo = vmovn_u64(vreinterpretq_u64_m128i(a)); ++ uint32x2_t b_lo = vmovn_u64(vreinterpretq_u64_m128i(b)); ++ return vreinterpretq_m128i_u64(vmull_u32(a_lo, b_lo)); ++} ++ ++// Multiply packed double-precision (64-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_pd ++FORCE_INLINE __m128d _mm_mul_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vmulq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] * db[0]; ++ c[1] = da[1] * db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Multiply the lower double-precision (64-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper element ++// from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_mul_sd ++FORCE_INLINE __m128d _mm_mul_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_mul_pd(a, b)); ++} ++ ++// Multiply the low unsigned 32-bit integers from a and b, and store the ++// unsigned 64-bit result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_su32 ++FORCE_INLINE __m64 _mm_mul_su32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u64(vget_low_u64( ++ vmull_u32(vreinterpret_u32_m64(a), vreinterpret_u32_m64(b)))); ++} ++ ++// Multiply the packed signed 16-bit integers in a and b, producing intermediate ++// 32-bit integers, and store the high 16 bits of the intermediate integers in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epi16 ++FORCE_INLINE __m128i _mm_mulhi_epi16(__m128i a, __m128i b) ++{ ++ /* FIXME: issue with large values because of result saturation */ ++ // int16x8_t ret = vqdmulhq_s16(vreinterpretq_s16_m128i(a), ++ // vreinterpretq_s16_m128i(b)); /* =2*a*b */ return ++ // vreinterpretq_m128i_s16(vshrq_n_s16(ret, 1)); ++ int16x4_t a3210 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b3210 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab3210 = vmull_s16(a3210, b3210); /* 3333222211110000 */ ++ int16x4_t a7654 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b7654 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab7654 = vmull_s16(a7654, b7654); /* 7777666655554444 */ ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_s32(ab3210), vreinterpretq_u16_s32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epu16 ++FORCE_INLINE __m128i _mm_mulhi_epu16(__m128i a, __m128i b) ++{ ++ uint16x4_t a3210 = vget_low_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b3210 = vget_low_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab3210 = vmull_u16(a3210, b3210); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32x4_t ab7654 = ++ vmull_high_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ uint16x8_t r = vuzp2q_u16(vreinterpretq_u16_u32(ab3210), ++ vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r); ++#else ++ uint16x4_t a7654 = vget_high_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b7654 = vget_high_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab7654 = vmull_u16(a7654, b7654); ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_u32(ab3210), vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++#endif ++} ++ ++// Multiply the packed 16-bit integers in a and b, producing intermediate 32-bit ++// integers, and store the low 16 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi16 ++FORCE_INLINE __m128i _mm_mullo_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmulq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compute the bitwise OR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_or_pd ++FORCE_INLINE __m128d _mm_or_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vorrq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise OR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_si128 ++FORCE_INLINE __m128i _mm_or_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vorrq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi16 ++FORCE_INLINE __m128i _mm_packs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vqmovn_s16(vreinterpretq_s16_m128i(a)), ++ vqmovn_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi32 ++FORCE_INLINE __m128i _mm_packs_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vqmovn_s32(vreinterpretq_s32_m128i(a)), ++ vqmovn_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi16 ++FORCE_INLINE __m128i _mm_packus_epi16(const __m128i a, const __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcombine_u8(vqmovun_s16(vreinterpretq_s16_m128i(a)), ++ vqmovun_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Pause the processor. This is typically used in spin-wait loops and depending ++// on the x86 processor typical values are in the 40-100 cycle range. The ++// 'yield' instruction isn't a good fit because it's effectively a nop on most ++// Arm cores. Experience with several databases has shown has shown an 'isb' is ++// a reasonable approximation. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_pause ++FORCE_INLINE void _mm_pause(void) ++{ ++#if defined(_MSC_VER) ++ __isb(_ARM64_BARRIER_SY); ++#else ++ __asm__ __volatile__("isb\n"); ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce two ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of 64-bit elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_epu8 ++FORCE_INLINE __m128i _mm_sad_epu8(__m128i a, __m128i b) ++{ ++ uint16x8_t t = vpaddlq_u8(vabdq_u8((uint8x16_t) a, (uint8x16_t) b)); ++ return vreinterpretq_m128i_u64(vpaddlq_u32(vpaddlq_u16(t))); ++} ++ ++// Set packed 16-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi16 ++FORCE_INLINE __m128i _mm_set_epi16(short i7, ++ short i6, ++ short i5, ++ short i4, ++ short i3, ++ short i2, ++ short i1, ++ short i0) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {i0, i1, i2, i3, i4, i5, i6, i7}; ++ return vreinterpretq_m128i_s16(vld1q_s16(data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi32 ++FORCE_INLINE __m128i _mm_set_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i0, i1, i2, i3}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64 ++FORCE_INLINE __m128i _mm_set_epi64(__m64 i1, __m64 i2) ++{ ++ return _mm_set_epi64x(vget_lane_s64(i1, 0), vget_lane_s64(i2, 0)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64x ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t i1, int64_t i2) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vcreate_s64(i2), vcreate_s64(i1))); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi8 ++FORCE_INLINE __m128i _mm_set_epi8(signed char b15, ++ signed char b14, ++ signed char b13, ++ signed char b12, ++ signed char b11, ++ signed char b10, ++ signed char b9, ++ signed char b8, ++ signed char b7, ++ signed char b6, ++ signed char b5, ++ signed char b4, ++ signed char b3, ++ signed char b2, ++ signed char b1, ++ signed char b0) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd ++FORCE_INLINE __m128d _mm_set_pd(double e1, double e0) ++{ ++ double ALIGN_STRUCT(16) data[2] = {e0, e1}; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64((float64_t *) data)); ++#else ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) data)); ++#endif ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd1 ++#define _mm_set_pd1 _mm_set1_pd ++ ++// Copy double-precision (64-bit) floating-point element a to the lower element ++// of dst, and zero the upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_sd ++FORCE_INLINE __m128d _mm_set_sd(double a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(a, vdupq_n_f64(0), 0)); ++#else ++ return _mm_set_pd(0, a); ++#endif ++} ++ ++// Broadcast 16-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi16 ++FORCE_INLINE __m128i _mm_set1_epi16(short w) ++{ ++ return vreinterpretq_m128i_s16(vdupq_n_s16(w)); ++} ++ ++// Broadcast 32-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi32 ++FORCE_INLINE __m128i _mm_set1_epi32(int _i) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(_i)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64 ++FORCE_INLINE __m128i _mm_set1_epi64(__m64 _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_lane_s64(_i, 0)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64x ++FORCE_INLINE __m128i _mm_set1_epi64x(int64_t _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_n_s64(_i)); ++} ++ ++// Broadcast 8-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi8 ++FORCE_INLINE __m128i _mm_set1_epi8(signed char w) ++{ ++ return vreinterpretq_m128i_s8(vdupq_n_s8(w)); ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_pd ++FORCE_INLINE __m128d _mm_set1_pd(double d) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(d)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(int64_t *) &d)); ++#endif ++} ++ ++// Set packed 16-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi16 ++FORCE_INLINE __m128i _mm_setr_epi16(short w0, ++ short w1, ++ short w2, ++ short w3, ++ short w4, ++ short w5, ++ short w6, ++ short w7) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {w0, w1, w2, w3, w4, w5, w6, w7}; ++ return vreinterpretq_m128i_s16(vld1q_s16((int16_t *) data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi32 ++FORCE_INLINE __m128i _mm_setr_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i3, i2, i1, i0}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi64 ++FORCE_INLINE __m128i _mm_setr_epi64(__m64 e1, __m64 e0) ++{ ++ return vreinterpretq_m128i_s64(vcombine_s64(e1, e0)); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi8 ++FORCE_INLINE __m128i _mm_setr_epi8(signed char b0, ++ signed char b1, ++ signed char b2, ++ signed char b3, ++ signed char b4, ++ signed char b5, ++ signed char b6, ++ signed char b7, ++ signed char b8, ++ signed char b9, ++ signed char b10, ++ signed char b11, ++ signed char b12, ++ signed char b13, ++ signed char b14, ++ signed char b15) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_pd ++FORCE_INLINE __m128d _mm_setr_pd(double e1, double e0) ++{ ++ return _mm_set_pd(e0, e1); ++} ++ ++// Return vector of type __m128d with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_pd ++FORCE_INLINE __m128d _mm_setzero_pd(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(0)); ++#else ++ return vreinterpretq_m128d_f32(vdupq_n_f32(0)); ++#endif ++} ++ ++// Return vector of type __m128i with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_si128 ++FORCE_INLINE __m128i _mm_setzero_si128(void) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(0)); ++} ++ ++// Shuffle 32-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi32 ++// FORCE_INLINE __m128i _mm_shuffle_epi32(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shuffle_epi32(a, imm) \ ++ __extension__({ \ ++ int32x4_t _input = vreinterpretq_s32_m128i(a); \ ++ int32x4_t _shuf = \ ++ vshuffleq_s32(_input, _input, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ ((imm) >> 4) & 0x3, ((imm) >> 6) & 0x3); \ ++ vreinterpretq_m128i_s32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_epi32(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, __m128i ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_epi_1032(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_epi_2301(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_epi_0321(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_epi_2103(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_shuffle_epi_1010(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_epi_1001(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_epi_0101(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 1, 1): \ ++ ret = _mm_shuffle_epi_2211(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 2, 2): \ ++ ret = _mm_shuffle_epi_0122(_a); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 2): \ ++ ret = _mm_shuffle_epi_3332(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 0, 0): \ ++ ret = _mm_shuffle_epi32_splat(_a, 0); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 1, 1): \ ++ ret = _mm_shuffle_epi32_splat(_a, 1); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 2, 2): \ ++ ret = _mm_shuffle_epi32_splat(_a, 2); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 3): \ ++ ret = _mm_shuffle_epi32_splat(_a, 3); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_epi32_default(_a, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Shuffle double-precision (64-bit) floating-point elements using the control ++// in imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pd ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pd(a, b, imm8) \ ++ vreinterpretq_m128d_s64( \ ++ vshuffleq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b), \ ++ imm8 & 0x1, ((imm8 & 0x2) >> 1) + 2)) ++#else ++#define _mm_shuffle_pd(a, b, imm8) \ ++ _mm_castsi128_pd(_mm_set_epi64x( \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(b), (imm8 & 0x2) >> 1), \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(a), imm8 & 0x1))) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflehi_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflehi_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = \ ++ vshuffleq_s16(_input, _input, 0, 1, 2, 3, ((imm) & (0x3)) + 4, \ ++ (((imm) >> 2) & 0x3) + 4, (((imm) >> 4) & 0x3) + 4, \ ++ (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflehi_epi16(a, imm) _mm_shufflehi_epi16_function((a), (imm)) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflelo_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflelo_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = vshuffleq_s16( \ ++ _input, _input, ((imm) & (0x3)), (((imm) >> 2) & 0x3), \ ++ (((imm) >> 4) & 0x3), (((imm) >> 6) & 0x3), 4, 5, 6, 7); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflelo_epi16(a, imm) _mm_shufflelo_epi16_function((a), (imm)) ++#endif ++ ++// Shift packed 16-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi16 ++FORCE_INLINE __m128i _mm_sll_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16((int16_t) c); ++ return vreinterpretq_m128i_s16(vshlq_s16(vreinterpretq_s16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi32 ++FORCE_INLINE __m128i _mm_sll_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32((int32_t) c); ++ return vreinterpretq_m128i_s32(vshlq_s32(vreinterpretq_s32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi64 ++FORCE_INLINE __m128i _mm_sll_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64((int64_t) c); ++ return vreinterpretq_m128i_s64(vshlq_s64(vreinterpretq_s64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi16 ++FORCE_INLINE __m128i _mm_slli_epi16(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~15)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16(vreinterpretq_s16_m128i(a), vdupq_n_s16(imm))); ++} ++ ++// Shift packed 32-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi32 ++FORCE_INLINE __m128i _mm_slli_epi32(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~31)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32(vreinterpretq_s32_m128i(a), vdupq_n_s32(imm))); ++} ++ ++// Shift packed 64-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi64 ++FORCE_INLINE __m128i _mm_slli_epi64(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~63)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s64( ++ vshlq_s64(vreinterpretq_s64_m128i(a), vdupq_n_s64(imm))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_si128 ++#define _mm_slli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely(imm == 0)) ret = vreinterpretq_s8_m128i(_a); \ ++ else if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vdupq_n_s8(0), vreinterpretq_s8_m128i(_a), \ ++ ((imm <= 0 || imm > 15) ? 0 : (16 - imm))); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Compute the square root of packed double-precision (64-bit) floating-point ++// elements in a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_pd ++FORCE_INLINE __m128d _mm_sqrt_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsqrtq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double a0 = sqrt(((double *) &a)[0]); ++ double a1 = sqrt(((double *) &a)[1]); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Compute the square root of the lower double-precision (64-bit) floating-point ++// element in b, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_sd ++FORCE_INLINE __m128d _mm_sqrt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_sqrt_pd(b)); ++#else ++ return _mm_set_pd(((double *) &a)[1], sqrt(((double *) &b)[0])); ++#endif ++} ++ ++// Shift packed 16-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi16 ++FORCE_INLINE __m128i _mm_sra_epi16(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_cmplt_epi16(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16((int16x8_t) a, vdupq_n_s16((int) -c))); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi32 ++FORCE_INLINE __m128i _mm_sra_epi32(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_cmplt_epi32(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32((int32x4_t) a, vdupq_n_s32((int) -c))); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in sign ++// bits, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi16 ++FORCE_INLINE __m128i _mm_srai_epi16(__m128i a, int imm) ++{ ++ const int count = (imm & ~15) ? 15 : imm; ++ return (__m128i) vshlq_s16((int16x8_t) a, vdupq_n_s16(-count)); ++} ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi32 ++// FORCE_INLINE __m128i _mm_srai_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srai_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) == 0)) { \ ++ ret = _a; \ ++ } else if (_sse2neon_likely(0 < (imm) && (imm) < 32)) { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshlq_s32(vreinterpretq_s32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } else { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshrq_n_s32(vreinterpretq_s32_m128i(_a), 31)); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 16-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi16 ++FORCE_INLINE __m128i _mm_srl_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16(-(int16_t) c); ++ return vreinterpretq_m128i_u16(vshlq_u16(vreinterpretq_u16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi32 ++FORCE_INLINE __m128i _mm_srl_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32(-(int32_t) c); ++ return vreinterpretq_m128i_u32(vshlq_u32(vreinterpretq_u32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi64 ++FORCE_INLINE __m128i _mm_srl_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64(-(int64_t) c); ++ return vreinterpretq_m128i_u64(vshlq_u64(vreinterpretq_u64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi16 ++#define _mm_srli_epi16(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~15)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u16( \ ++ vshlq_u16(vreinterpretq_u16_m128i(_a), vdupq_n_s16(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi32 ++// FORCE_INLINE __m128i _mm_srli_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srli_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~31)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u32( \ ++ vshlq_u32(vreinterpretq_u32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 64-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi64 ++#define _mm_srli_epi64(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~63)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u64( \ ++ vshlq_u64(vreinterpretq_u64_m128i(_a), vdupq_n_s64(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_si128 ++#define _mm_srli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vreinterpretq_s8_m128i(_a), vdupq_n_s8(0), \ ++ (imm > 15 ? 0 : imm)); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd ++FORCE_INLINE void _mm_store_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64((float64_t *) mem_addr, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_f32((float32_t *) mem_addr, vreinterpretq_f32_m128d(a)); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd1 ++FORCE_INLINE void _mm_store_pd1(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x1_t a_low = vget_low_f64(vreinterpretq_f64_m128d(a)); ++ vst1q_f64((float64_t *) mem_addr, ++ vreinterpretq_f64_m128d(vcombine_f64(a_low, a_low))); ++#else ++ float32x2_t a_low = vget_low_f32(vreinterpretq_f32_m128d(a)); ++ vst1q_f32((float32_t *) mem_addr, ++ vreinterpretq_f32_m128d(vcombine_f32(a_low, a_low))); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_store_sd ++FORCE_INLINE void _mm_store_sd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_u64((uint64_t *) mem_addr, vget_low_u64(vreinterpretq_u64_m128d(a))); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_si128 ++FORCE_INLINE void _mm_store_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#expand=9,526,5601&text=_mm_store1_pd ++#define _mm_store1_pd _mm_store_pd1 ++ ++// Store the upper double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pd ++FORCE_INLINE void _mm_storeh_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_high_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_high_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 64-bit integer from the first element of a into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_epi64 ++FORCE_INLINE void _mm_storel_epi64(__m128i *a, __m128i b) ++{ ++ vst1_u64((uint64_t *) a, vget_low_u64(vreinterpretq_u64_m128i(b))); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pd ++FORCE_INLINE void _mm_storel_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_low_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 2 double-precision (64-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_pd ++FORCE_INLINE void _mm_storer_pd(double *mem_addr, __m128d a) ++{ ++ float32x4_t f = vreinterpretq_f32_m128d(a); ++ _mm_store_pd(mem_addr, vreinterpretq_m128d_f32(vextq_f32(f, f, 2))); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_pd ++FORCE_INLINE void _mm_storeu_pd(double *mem_addr, __m128d a) ++{ ++ _mm_store_pd(mem_addr, a); ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si128 ++FORCE_INLINE void _mm_storeu_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store 32-bit integer from the first element of a into memory. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si32 ++FORCE_INLINE void _mm_storeu_si32(void *p, __m128i a) ++{ ++ vst1q_lane_s32((int32_t *) p, vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory using a non-temporal memory hint. mem_addr must ++// be aligned on a 16-byte boundary or a general-protection exception may be ++// generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pd ++FORCE_INLINE void _mm_stream_pd(double *p, __m128d a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (__m128d *) p); ++#elif defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64(p, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128d(a)); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory using a non-temporal memory ++// hint. mem_addr must be aligned on a 16-byte boundary or a general-protection ++// exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si128 ++FORCE_INLINE void _mm_stream_si128(__m128i *p, __m128i a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, p); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128i(a)); ++#endif ++} ++ ++// Store 32-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si32 ++FORCE_INLINE void _mm_stream_si32(int *p, int a) ++{ ++ vst1q_lane_s32((int32_t *) p, vdupq_n_s32(a), 0); ++} ++ ++// Store 64-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si64 ++FORCE_INLINE void _mm_stream_si64(__int64 *p, __int64 a) ++{ ++ vst1_s64((int64_t *) p, vdup_n_s64((int64_t) a)); ++} ++ ++// Subtract packed 16-bit integers in b from packed 16-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi16 ++FORCE_INLINE __m128i _mm_sub_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed 32-bit integers in b from packed 32-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi32 ++FORCE_INLINE __m128i _mm_sub_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Subtract packed 64-bit integers in b from packed 64-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi64 ++FORCE_INLINE __m128i _mm_sub_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vsubq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Subtract packed 8-bit integers in b from packed 8-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi8 ++FORCE_INLINE __m128i _mm_sub_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed double-precision (64-bit) floating-point elements in b from ++// packed double-precision (64-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_sub_pd ++FORCE_INLINE __m128d _mm_sub_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] - db[0]; ++ c[1] = da[1] - db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Subtract the lower double-precision (64-bit) floating-point element in b from ++// the lower double-precision (64-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_sd ++FORCE_INLINE __m128d _mm_sub_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_sub_pd(a, b)); ++} ++ ++// Subtract 64-bit integer b from 64-bit integer a, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_si64 ++FORCE_INLINE __m64 _mm_sub_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vsub_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Subtract packed signed 16-bit integers in b from packed 16-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi16 ++FORCE_INLINE __m128i _mm_subs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed signed 8-bit integers in b from packed 8-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi8 ++FORCE_INLINE __m128i _mm_subs_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed unsigned 16-bit integers in b from packed unsigned 16-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu16 ++FORCE_INLINE __m128i _mm_subs_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqsubq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Subtract packed unsigned 8-bit integers in b from packed unsigned 8-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu8 ++FORCE_INLINE __m128i _mm_subs_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqsubq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++#define _mm_ucomieq_sd _mm_comieq_sd ++#define _mm_ucomige_sd _mm_comige_sd ++#define _mm_ucomigt_sd _mm_comigt_sd ++#define _mm_ucomile_sd _mm_comile_sd ++#define _mm_ucomilt_sd _mm_comilt_sd ++#define _mm_ucomineq_sd _mm_comineq_sd ++ ++// Return vector of type __m128d with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_pd ++FORCE_INLINE __m128d _mm_undefined_pd(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128d a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_pd(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi16 ++FORCE_INLINE __m128i _mm_unpackhi_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip2q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi32 ++FORCE_INLINE __m128i _mm_unpackhi_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip2q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_high_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi64 ++FORCE_INLINE __m128i _mm_unpackhi_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip2q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_h = vget_high_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_h = vget_high_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_h, b_h)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the high half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi8 ++FORCE_INLINE __m128i _mm_unpackhi_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip2q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the high half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_pd ++FORCE_INLINE __m128d _mm_unpackhi_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip2q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_high_s64(vreinterpretq_s64_m128d(a)), ++ vget_high_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi16 ++FORCE_INLINE __m128i _mm_unpacklo_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip1q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi32 ++FORCE_INLINE __m128i _mm_unpacklo_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip1q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_low_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi64 ++FORCE_INLINE __m128i _mm_unpacklo_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip1q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_l = vget_low_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_l = vget_low_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_l, b_l)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi8 ++FORCE_INLINE __m128i _mm_unpacklo_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip1q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_pd ++FORCE_INLINE __m128d _mm_unpacklo_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip1q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_low_s64(vreinterpretq_s64_m128d(a)), ++ vget_low_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Compute the bitwise XOR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_pd ++FORCE_INLINE __m128d _mm_xor_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ veorq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise XOR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_si128 ++FORCE_INLINE __m128i _mm_xor_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ veorq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++/* SSE3 */ ++ ++// Alternatively add and subtract packed double-precision (64-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_addsub_pd ++FORCE_INLINE __m128d _mm_addsub_pd(__m128d a, __m128d b) ++{ ++ _sse2neon_const __m128d mask = _mm_set_pd(1.0f, -1.0f); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vfmaq_f64(vreinterpretq_f64_m128d(a), ++ vreinterpretq_f64_m128d(b), ++ vreinterpretq_f64_m128d(mask))); ++#else ++ return _mm_add_pd(_mm_mul_pd(b, mask), a); ++#endif ++} ++ ++// Alternatively add and subtract packed single-precision (32-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=addsub_ps ++FORCE_INLINE __m128 _mm_addsub_ps(__m128 a, __m128 b) ++{ ++ _sse2neon_const __m128 mask = _mm_setr_ps(-1.0f, 1.0f, -1.0f, 1.0f); ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_FMA) /* VFPv4+ */ ++ return vreinterpretq_m128_f32(vfmaq_f32(vreinterpretq_f32_m128(a), ++ vreinterpretq_f32_m128(mask), ++ vreinterpretq_f32_m128(b))); ++#else ++ return _mm_add_ps(_mm_mul_ps(b, mask), a); ++#endif ++} ++ ++// Horizontally add adjacent pairs of double-precision (64-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pd ++FORCE_INLINE __m128d _mm_hadd_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vpaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[] = {da[0] + da[1], db[0] + db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of single-precision (32-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_ps ++FORCE_INLINE __m128 _mm_hadd_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vpaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vpadd_f32(a10, a32), vpadd_f32(b10, b32))); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of double-precision (64-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pd ++FORCE_INLINE __m128d _mm_hsub_pd(__m128d _a, __m128d _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vuzp1q_f64(a, b), vuzp2q_f64(a, b))); ++#else ++ double *da = (double *) &_a; ++ double *db = (double *) &_b; ++ double c[] = {da[0] - da[1], db[0] - db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of single-precision (32-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_ps ++FORCE_INLINE __m128 _mm_hsub_ps(__m128 _a, __m128 _b) ++{ ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vuzp1q_f32(a, b), vuzp2q_f32(a, b))); ++#else ++ float32x4x2_t c = vuzpq_f32(a, b); ++ return vreinterpretq_m128_f32(vsubq_f32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Load 128-bits of integer data from unaligned memory into dst. This intrinsic ++// may perform better than _mm_loadu_si128 when the data crosses a cache line ++// boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lddqu_si128 ++#define _mm_lddqu_si128 _mm_loadu_si128 ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loaddup_pd ++#define _mm_loaddup_pd _mm_load1_pd ++ ++// Duplicate the low double-precision (64-bit) floating-point element from a, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movedup_pd ++FORCE_INLINE __m128d _mm_movedup_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdupq_laneq_f64(vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_u64( ++ vdupq_n_u64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0))); ++#endif ++} ++ ++// Duplicate odd-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehdup_ps ++FORCE_INLINE __m128 _mm_movehdup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 1, 1, 3, 3)); ++#else ++ float32_t a1 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ float32_t a3 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 3); ++ float ALIGN_STRUCT(16) data[4] = {a1, a1, a3, a3}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Duplicate even-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_moveldup_ps ++FORCE_INLINE __m128 _mm_moveldup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 0, 0, 2, 2)); ++#else ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32_t a2 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 2); ++ float ALIGN_STRUCT(16) data[4] = {a0, a0, a2, a2}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++/* SSSE3 */ ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi16 ++FORCE_INLINE __m128i _mm_abs_epi16(__m128i a) ++{ ++ return vreinterpretq_m128i_s16(vabsq_s16(vreinterpretq_s16_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi32 ++FORCE_INLINE __m128i _mm_abs_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32(vabsq_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi8 ++FORCE_INLINE __m128i _mm_abs_epi8(__m128i a) ++{ ++ return vreinterpretq_m128i_s8(vabsq_s8(vreinterpretq_s8_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi16 ++FORCE_INLINE __m64 _mm_abs_pi16(__m64 a) ++{ ++ return vreinterpret_m64_s16(vabs_s16(vreinterpret_s16_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi32 ++FORCE_INLINE __m64 _mm_abs_pi32(__m64 a) ++{ ++ return vreinterpret_m64_s32(vabs_s32(vreinterpret_s32_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi8 ++FORCE_INLINE __m64 _mm_abs_pi8(__m64 a) ++{ ++ return vreinterpret_m64_s8(vabs_s8(vreinterpret_s8_m64(a))); ++} ++ ++// Concatenate 16-byte blocks in a and b into a 32-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 16 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_epi8 ++#if defined(__GNUC__) && !defined(__clang__) ++#define _mm_alignr_epi8(a, b, imm) \ ++ __extension__({ \ ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); \ ++ uint8x16_t _b = vreinterpretq_u8_m128i(b); \ ++ __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) \ ++ ret = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) \ ++ ret = _mm_srli_si128(a, imm >= 16 ? imm - 16 : 0); \ ++ else \ ++ ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(_b, _a, imm < 16 ? imm : 0)); \ ++ ret; \ ++ }) ++ ++#else ++#define _mm_alignr_epi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, uint8x16_t __a = vreinterpretq_u8_m128i(_a); \ ++ uint8x16_t __b = vreinterpretq_u8_m128i(_b); __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) ret = \ ++ vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) ret = \ ++ _mm_srli_si128(_a, imm >= 16 ? imm - 16 : 0); \ ++ else ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(__b, __a, imm < 16 ? imm : 0)); \ ++ _sse2neon_return(ret);) ++ ++#endif ++ ++// Concatenate 8-byte blocks in a and b into a 16-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 8 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_pi8 ++#define _mm_alignr_pi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m64, a, b, __m64 ret; if (_sse2neon_unlikely((imm) >= 16)) { \ ++ ret = vreinterpret_m64_s8(vdup_n_s8(0)); \ ++ } else { \ ++ uint8x8_t tmp_low; \ ++ uint8x8_t tmp_high; \ ++ if ((imm) >= 8) { \ ++ const int idx = (imm) -8; \ ++ tmp_low = vreinterpret_u8_m64(_a); \ ++ tmp_high = vdup_n_u8(0); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } else { \ ++ const int idx = (imm); \ ++ tmp_low = vreinterpret_u8_m64(_b); \ ++ tmp_high = vreinterpret_u8_m64(_a); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } \ ++ } _sse2neon_return(ret);) ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi16 ++FORCE_INLINE __m128i _mm_hadd_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16(vpaddq_s16(a, b)); ++#else ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(vget_low_s16(a), vget_high_s16(a)), ++ vpadd_s16(vget_low_s16(b), vget_high_s16(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi32 ++FORCE_INLINE __m128i _mm_hadd_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32(vpaddq_s32(a, b)); ++#else ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vpadd_s32(vget_low_s32(a), vget_high_s32(a)), ++ vpadd_s32(vget_low_s32(b), vget_high_s32(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi16 ++FORCE_INLINE __m64 _mm_hadd_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vpadd_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi32 ++FORCE_INLINE __m64 _mm_hadd_pi32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s32( ++ vpadd_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_epi16 ++FORCE_INLINE __m128i _mm_hadds_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ return vreinterpretq_s64_s16( ++ vqaddq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ // Interleave using vshrn/vmovn ++ // [a0|a2|a4|a6|b0|b2|b4|b6] ++ // [a1|a3|a5|a7|b1|b3|b5|b7] ++ int16x8_t ab0246 = vcombine_s16(vmovn_s32(a), vmovn_s32(b)); ++ int16x8_t ab1357 = vcombine_s16(vshrn_n_s32(a, 16), vshrn_n_s32(b, 16)); ++ // Saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(ab0246, ab1357)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_pi16 ++FORCE_INLINE __m64 _mm_hadds_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_s64_s16(vqadd_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t res = vuzp_s16(a, b); ++ return vreinterpret_s64_s16(vqadd_s16(res.val[0], res.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi16 ++FORCE_INLINE __m128i _mm_hsub_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi32 ++FORCE_INLINE __m128i _mm_hsub_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vuzp1q_s32(a, b), vuzp2q_s32(a, b))); ++#else ++ int32x4x2_t c = vuzpq_s32(a, b); ++ return vreinterpretq_m128i_s32(vsubq_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pi16 ++FORCE_INLINE __m64 _mm_hsub_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_hsub_pi32 ++FORCE_INLINE __m64 _mm_hsub_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s32(vsub_s32(vuzp1_s32(a, b), vuzp2_s32(a, b))); ++#else ++ int32x2x2_t c = vuzp_s32(a, b); ++ return vreinterpret_m64_s32(vsub_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_epi16 ++FORCE_INLINE __m128i _mm_hsubs_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vqsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_pi16 ++FORCE_INLINE __m64 _mm_hsubs_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vqsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vqsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, ++// and pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_epi16 ++FORCE_INLINE __m128i _mm_maddubs_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ int16x8_t tl = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_low_u8(a))), ++ vmovl_s8(vget_low_s8(b))); ++ int16x8_t th = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_high_u8(a))), ++ vmovl_s8(vget_high_s8(b))); ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vuzp1q_s16(tl, th), vuzp2q_s16(tl, th))); ++#else ++ // This would be much simpler if x86 would choose to zero extend OR sign ++ // extend, not both. This could probably be optimized better. ++ uint16x8_t a = vreinterpretq_u16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // Zero extend a ++ int16x8_t a_odd = vreinterpretq_s16_u16(vshrq_n_u16(a, 8)); ++ int16x8_t a_even = vreinterpretq_s16_u16(vbicq_u16(a, vdupq_n_u16(0xff00))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x8_t b_even = vshrq_n_s16(vshlq_n_s16(b, 8), 8); ++ int16x8_t b_odd = vshrq_n_s16(b, 8); ++ ++ // multiply ++ int16x8_t prod1 = vmulq_s16(a_even, b_even); ++ int16x8_t prod2 = vmulq_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(prod1, prod2)); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, and ++// pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_pi16 ++FORCE_INLINE __m64 _mm_maddubs_pi16(__m64 _a, __m64 _b) ++{ ++ uint16x4_t a = vreinterpret_u16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // Zero extend a ++ int16x4_t a_odd = vreinterpret_s16_u16(vshr_n_u16(a, 8)); ++ int16x4_t a_even = vreinterpret_s16_u16(vand_u16(a, vdup_n_u16(0xff))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x4_t b_even = vshr_n_s16(vshl_n_s16(b, 8), 8); ++ int16x4_t b_odd = vshr_n_s16(b, 8); ++ ++ // multiply ++ int16x4_t prod1 = vmul_s16(a_even, b_even); ++ int16x4_t prod2 = vmul_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpret_m64_s16(vqadd_s16(prod1, prod2)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Shift right by 15 bits while rounding up, and store ++// the packed 16-bit integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_epi16 ++FORCE_INLINE __m128i _mm_mulhrs_epi16(__m128i a, __m128i b) ++{ ++ // Has issues due to saturation ++ // return vreinterpretq_m128i_s16(vqrdmulhq_s16(a, b)); ++ ++ // Multiply ++ int32x4_t mul_lo = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int32x4_t mul_hi = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ // Rounding narrowing shift right ++ // narrow = (int16_t)((mul + 16384) >> 15); ++ int16x4_t narrow_lo = vrshrn_n_s32(mul_lo, 15); ++ int16x4_t narrow_hi = vrshrn_n_s32(mul_hi, 15); ++ ++ // Join together ++ return vreinterpretq_m128i_s16(vcombine_s16(narrow_lo, narrow_hi)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Truncate each intermediate integer to the 18 most ++// significant bits, round by adding 1, and store bits [16:1] to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_pi16 ++FORCE_INLINE __m64 _mm_mulhrs_pi16(__m64 a, __m64 b) ++{ ++ int32x4_t mul_extend = ++ vmull_s16((vreinterpret_s16_m64(a)), (vreinterpret_s16_m64(b))); ++ ++ // Rounding narrowing shift right ++ return vreinterpret_m64_s16(vrshrn_n_s32(mul_extend, 15)); ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi8 ++FORCE_INLINE __m128i _mm_shuffle_epi8(__m128i a, __m128i b) ++{ ++ int8x16_t tbl = vreinterpretq_s8_m128i(a); // input a ++ uint8x16_t idx = vreinterpretq_u8_m128i(b); // input b ++ uint8x16_t idx_masked = ++ vandq_u8(idx, vdupq_n_u8(0x8F)); // avoid using meaningless bits ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8(vqtbl1q_s8(tbl, idx_masked)); ++#elif defined(__GNUC__) ++ int8x16_t ret; ++ // %e and %f represent the even and odd D registers ++ // respectively. ++ __asm__ __volatile__( ++ "vtbl.8 %e[ret], {%e[tbl], %f[tbl]}, %e[idx]\n" ++ "vtbl.8 %f[ret], {%e[tbl], %f[tbl]}, %f[idx]\n" ++ : [ret] "=&w"(ret) ++ : [tbl] "w"(tbl), [idx] "w"(idx_masked)); ++ return vreinterpretq_m128i_s8(ret); ++#else ++ // use this line if testing on aarch64 ++ int8x8x2_t a_split = {vget_low_s8(tbl), vget_high_s8(tbl)}; ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vtbl2_s8(a_split, vget_low_u8(idx_masked)), ++ vtbl2_s8(a_split, vget_high_u8(idx_masked)))); ++#endif ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi8 ++FORCE_INLINE __m64 _mm_shuffle_pi8(__m64 a, __m64 b) ++{ ++ const int8x8_t controlMask = ++ vand_s8(vreinterpret_s8_m64(b), vdup_n_s8((int8_t) (0x1 << 7 | 0x07))); ++ int8x8_t res = vtbl1_s8(vreinterpret_s8_m64(a), controlMask); ++ return vreinterpret_m64_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed ++// 16-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi16 ++FORCE_INLINE __m128i _mm_sign_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x8_t ltMask = vreinterpretq_u16_s16(vshrq_n_s16(b, 15)); ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqzq_s16(b)); ++#else ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqq_s16(b, vdupq_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s16(a) equals to negative ++ // 'a') based on ltMask ++ int16x8_t masked = vbslq_s16(ltMask, vnegq_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x8_t res = vbicq_s16(masked, zeroMask); ++ return vreinterpretq_m128i_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed ++// 32-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi32 ++FORCE_INLINE __m128i _mm_sign_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x4_t ltMask = vreinterpretq_u32_s32(vshrq_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqzq_s32(b)); ++#else ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqq_s32(b, vdupq_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s32(a) equals to negative ++ // 'a') based on ltMask ++ int32x4_t masked = vbslq_s32(ltMask, vnegq_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x4_t res = vbicq_s32(masked, zeroMask); ++ return vreinterpretq_m128i_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed ++// 8-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi8 ++FORCE_INLINE __m128i _mm_sign_epi8(__m128i _a, __m128i _b) ++{ ++ int8x16_t a = vreinterpretq_s8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x16_t ltMask = vreinterpretq_u8_s8(vshrq_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqzq_s8(b)); ++#else ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqq_s8(b, vdupq_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s8(a) return negative 'a') ++ // based on ltMask ++ int8x16_t masked = vbslq_s8(ltMask, vnegq_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x16_t res = vbicq_s8(masked, zeroMask); ++ ++ return vreinterpretq_m128i_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed 16-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi16 ++FORCE_INLINE __m64 _mm_sign_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x4_t ltMask = vreinterpret_u16_s16(vshr_n_s16(b, 15)); ++ ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceqz_s16(b)); ++#else ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceq_s16(b, vdup_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s16(a) return negative 'a') ++ // based on ltMask ++ int16x4_t masked = vbsl_s16(ltMask, vneg_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x4_t res = vbic_s16(masked, zeroMask); ++ ++ return vreinterpret_m64_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed 32-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi32 ++FORCE_INLINE __m64 _mm_sign_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x2_t ltMask = vreinterpret_u32_s32(vshr_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceqz_s32(b)); ++#else ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceq_s32(b, vdup_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s32(a) return negative 'a') ++ // based on ltMask ++ int32x2_t masked = vbsl_s32(ltMask, vneg_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x2_t res = vbic_s32(masked, zeroMask); ++ ++ return vreinterpret_m64_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed 8-bit integer ++// in b is negative, and store the results in dst. Element in dst are zeroed out ++// when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi8 ++FORCE_INLINE __m64 _mm_sign_pi8(__m64 _a, __m64 _b) ++{ ++ int8x8_t a = vreinterpret_s8_m64(_a); ++ int8x8_t b = vreinterpret_s8_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x8_t ltMask = vreinterpret_u8_s8(vshr_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceqz_s8(b)); ++#else ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceq_s8(b, vdup_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s8(a) return negative 'a') ++ // based on ltMask ++ int8x8_t masked = vbsl_s8(ltMask, vneg_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x8_t res = vbic_s8(masked, zeroMask); ++ ++ return vreinterpret_m64_s8(res); ++} ++ ++/* SSE4.1 */ ++ ++// Blend packed 16-bit integers from a and b using control mask imm8, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_epi16 ++// FORCE_INLINE __m128i _mm_blend_epi16(__m128i a, __m128i b, ++// __constrange(0,255) int imm) ++#define _mm_blend_epi16(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, \ ++ const uint16_t _mask[8] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 1)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 2)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 3)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 4)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 5)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 6)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 7)) ? (uint16_t) -1 : 0x0); \ ++ uint16x8_t _mask_vec = vld1q_u16(_mask); \ ++ uint16x8_t __a = vreinterpretq_u16_m128i(_a); \ ++ uint16x8_t __b = vreinterpretq_u16_m128i(_b); _sse2neon_return( \ ++ vreinterpretq_m128i_u16(vbslq_u16(_mask_vec, __b, __a)));) ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using control mask imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_pd ++#define _mm_blend_pd(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128d, a, b, \ ++ const uint64_t _mask[2] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? ~UINT64_C(0) : UINT64_C(0), \ ++ ((imm) & (1 << 1)) ? ~UINT64_C(0) : UINT64_C(0)); \ ++ uint64x2_t _mask_vec = vld1q_u64(_mask); \ ++ uint64x2_t __a = vreinterpretq_u64_m128d(_a); \ ++ uint64x2_t __b = vreinterpretq_u64_m128d(_b); _sse2neon_return( \ ++ vreinterpretq_m128d_u64(vbslq_u64(_mask_vec, __b, __a)));) ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_ps ++FORCE_INLINE __m128 _mm_blend_ps(__m128 _a, __m128 _b, const char imm8) ++{ ++ const uint32_t ALIGN_STRUCT(16) ++ data[4] = {((imm8) & (1 << 0)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0}; ++ uint32x4_t mask = vld1q_u32(data); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Blend packed 8-bit integers from a and b using mask, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_epi8 ++FORCE_INLINE __m128i _mm_blendv_epi8(__m128i _a, __m128i _b, __m128i _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint8x16_t mask = ++ vreinterpretq_u8_s8(vshrq_n_s8(vreinterpretq_s8_m128i(_mask), 7)); ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ uint8x16_t b = vreinterpretq_u8_m128i(_b); ++ return vreinterpretq_m128i_u8(vbslq_u8(mask, b, a)); ++} ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_pd ++FORCE_INLINE __m128d _mm_blendv_pd(__m128d _a, __m128d _b, __m128d _mask) ++{ ++ uint64x2_t mask = ++ vreinterpretq_u64_s64(vshrq_n_s64(vreinterpretq_s64_m128d(_mask), 63)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64(vbslq_f64(mask, b, a)); ++#else ++ uint64x2_t a = vreinterpretq_u64_m128d(_a); ++ uint64x2_t b = vreinterpretq_u64_m128d(_b); ++ return vreinterpretq_m128d_u64(vbslq_u64(mask, b, a)); ++#endif ++} ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_ps ++FORCE_INLINE __m128 _mm_blendv_ps(__m128 _a, __m128 _b, __m128 _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint32x4_t mask = ++ vreinterpretq_u32_s32(vshrq_n_s32(vreinterpretq_s32_m128(_mask), 31)); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a up ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_pd ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndpq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(ceil(f[1]), ceil(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a up to ++// an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ps ++FORCE_INLINE __m128 _mm_ceil_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndpq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ceilf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b up to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_sd ++FORCE_INLINE __m128d _mm_ceil_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_ceil_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b up to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ss ++FORCE_INLINE __m128 _mm_ceil_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_ceil_ps(b)); ++} ++ ++// Compare packed 64-bit integers in a and b for equality, and store the results ++// in dst ++FORCE_INLINE __m128i _mm_cmpeq_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vceqq_u64(vreinterpretq_u64_m128i(a), vreinterpretq_u64_m128i(b))); ++#else ++ // ARMv7 lacks vceqq_u64 ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128i_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Sign extend packed 16-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi32 ++FORCE_INLINE __m128i _mm_cvtepi16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vmovl_s16(vget_low_s16(vreinterpretq_s16_m128i(a)))); ++} ++ ++// Sign extend packed 16-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi64 ++FORCE_INLINE __m128i _mm_cvtepi16_epi64(__m128i a) ++{ ++ int16x8_t s16x8 = vreinterpretq_s16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Sign extend packed 32-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_epi64 ++FORCE_INLINE __m128i _mm_cvtepi32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a)))); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 16-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi16 ++FORCE_INLINE __m128i _mm_cvtepi8_epi16(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ return vreinterpretq_m128i_s16(s16x8); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi32 ++FORCE_INLINE __m128i _mm_cvtepi8_epi32(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_s32(s32x4); ++} ++ ++// Sign extend packed 8-bit integers in the low 8 bytes of a to packed 64-bit ++// integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi64 ++FORCE_INLINE __m128i _mm_cvtepi8_epi64(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi32 ++FORCE_INLINE __m128i _mm_cvtepu16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_u32( ++ vmovl_u16(vget_low_u16(vreinterpretq_u16_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi64 ++FORCE_INLINE __m128i _mm_cvtepu16_epi64(__m128i a) ++{ ++ uint16x8_t u16x8 = vreinterpretq_u16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Zero extend packed unsigned 32-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu32_epi64 ++FORCE_INLINE __m128i _mm_cvtepu32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_u64( ++ vmovl_u32(vget_low_u32(vreinterpretq_u32_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 16-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi16 ++FORCE_INLINE __m128i _mm_cvtepu8_epi16(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx HGFE DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0H0G 0F0E 0D0C 0B0A */ ++ return vreinterpretq_m128i_u16(u16x8); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi32 ++FORCE_INLINE __m128i _mm_cvtepu8_epi32(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_u32(u32x4); ++} ++ ++// Zero extend packed unsigned 8-bit integers in the low 8 bytes of a to packed ++// 64-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi64 ++FORCE_INLINE __m128i _mm_cvtepu8_epi64(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Conditionally multiply the packed double-precision (64-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, and ++// conditionally store the sum in dst using the low 4 bits of imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_pd ++FORCE_INLINE __m128d _mm_dp_pd(__m128d a, __m128d b, const int imm) ++{ ++ // Generate mask value from constant immediate bit value ++ const int64_t bit0Mask = imm & 0x01 ? UINT64_MAX : 0; ++ const int64_t bit1Mask = imm & 0x02 ? UINT64_MAX : 0; ++#if !SSE2NEON_PRECISE_DP ++ const int64_t bit4Mask = imm & 0x10 ? UINT64_MAX : 0; ++ const int64_t bit5Mask = imm & 0x20 ? UINT64_MAX : 0; ++#endif ++ // Conditional multiplication ++#if !SSE2NEON_PRECISE_DP ++ __m128d mul = _mm_mul_pd(a, b); ++ const __m128d mulMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit5Mask, bit4Mask)); ++ __m128d tmp = _mm_and_pd(mul, mulMask); ++#else ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double d0 = (imm & 0x10) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 0) ++ : 0; ++ double d1 = (imm & 0x20) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 1) ++ : 0; ++#else ++ double d0 = (imm & 0x10) ? ((double *) &a)[0] * ((double *) &b)[0] : 0; ++ double d1 = (imm & 0x20) ? ((double *) &a)[1] * ((double *) &b)[1] : 0; ++#endif ++ __m128d tmp = _mm_set_pd(d1, d0); ++#endif ++ // Sum the products ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double sum = vpaddd_f64(vreinterpretq_f64_m128d(tmp)); ++#else ++ double sum = *((double *) &tmp) + *(((double *) &tmp) + 1); ++#endif ++ // Conditionally store the sum ++ const __m128d sumMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit1Mask, bit0Mask)); ++ __m128d res = _mm_and_pd(_mm_set_pd1(sum), sumMask); ++ return res; ++} ++ ++// Conditionally multiply the packed single-precision (32-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, ++// and conditionally store the sum in dst using the low 4 bits of imm. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_ps ++FORCE_INLINE __m128 _mm_dp_ps(__m128 a, __m128 b, const int imm) ++{ ++ float32x4_t elementwise_prod = _mm_mul_ps(a, b); ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ /* shortcuts */ ++ if (imm == 0xFF) { ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++ ++ if ((imm & 0x0F) == 0x0F) { ++ if (!(imm & (1 << 4))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 0); ++ if (!(imm & (1 << 5))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 1); ++ if (!(imm & (1 << 6))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 2); ++ if (!(imm & (1 << 7))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 3); ++ ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++#endif ++ ++ float s = 0.0f; ++ ++ if (imm & (1 << 4)) ++ s += vgetq_lane_f32(elementwise_prod, 0); ++ if (imm & (1 << 5)) ++ s += vgetq_lane_f32(elementwise_prod, 1); ++ if (imm & (1 << 6)) ++ s += vgetq_lane_f32(elementwise_prod, 2); ++ if (imm & (1 << 7)) ++ s += vgetq_lane_f32(elementwise_prod, 3); ++ ++ const float32_t res[4] = { ++ (imm & 0x1) ? s : 0.0f, ++ (imm & 0x2) ? s : 0.0f, ++ (imm & 0x4) ? s : 0.0f, ++ (imm & 0x8) ? s : 0.0f, ++ }; ++ return vreinterpretq_m128_f32(vld1q_f32(res)); ++} ++ ++// Extract a 32-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi32 ++// FORCE_INLINE int _mm_extract_epi32(__m128i a, __constrange(0,4) int imm) ++#define _mm_extract_epi32(a, imm) \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)) ++ ++// Extract a 64-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi64 ++// FORCE_INLINE __int64 _mm_extract_epi64(__m128i a, __constrange(0,2) int imm) ++#define _mm_extract_epi64(a, imm) \ ++ vgetq_lane_s64(vreinterpretq_s64_m128i(a), (imm)) ++ ++// Extract an 8-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. FORCE_INLINE int _mm_extract_epi8(__m128i a, ++// __constrange(0,16) int imm) ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi8 ++#define _mm_extract_epi8(a, imm) vgetq_lane_u8(vreinterpretq_u8_m128i(a), (imm)) ++ ++// Extracts the selected single-precision (32-bit) floating-point from a. ++// FORCE_INLINE int _mm_extract_ps(__m128 a, __constrange(0,4) int imm) ++#define _mm_extract_ps(a, imm) vgetq_lane_s32(vreinterpretq_s32_m128(a), (imm)) ++ ++// Round the packed double-precision (64-bit) floating-point elements in a down ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_pd ++FORCE_INLINE __m128d _mm_floor_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndmq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(floor(f[1]), floor(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a down ++// to an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ps ++FORCE_INLINE __m128 _mm_floor_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndmq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(floorf(f[3]), floorf(f[2]), floorf(f[1]), floorf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b down to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_sd ++FORCE_INLINE __m128d _mm_floor_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_floor_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b down to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ss ++FORCE_INLINE __m128 _mm_floor_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_floor_ps(b)); ++} ++ ++// Copy a to dst, and insert the 32-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi32 ++// FORCE_INLINE __m128i _mm_insert_epi32(__m128i a, int b, ++// __constrange(0,4) int imm) ++#define _mm_insert_epi32(a, b, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vsetq_lane_s32((b), vreinterpretq_s32_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the 64-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi64 ++// FORCE_INLINE __m128i _mm_insert_epi64(__m128i a, __int64 b, ++// __constrange(0,2) int imm) ++#define _mm_insert_epi64(a, b, imm) \ ++ vreinterpretq_m128i_s64( \ ++ vsetq_lane_s64((b), vreinterpretq_s64_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the lower 8-bit integer from i into dst at the ++// location specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi8 ++// FORCE_INLINE __m128i _mm_insert_epi8(__m128i a, int b, ++// __constrange(0,16) int imm) ++#define _mm_insert_epi8(a, b, imm) \ ++ vreinterpretq_m128i_s8(vsetq_lane_s8((b), vreinterpretq_s8_m128i(a), (imm))) ++ ++// Copy a to tmp, then insert a single-precision (32-bit) floating-point ++// element from b into tmp using the control in imm8. Store tmp to dst using ++// the mask in imm8 (elements are zeroed out when the corresponding bit is set). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=insert_ps ++#define _mm_insert_ps(a, b, imm8) \ ++ _sse2neon_define2( \ ++ __m128, a, b, \ ++ float32x4_t tmp1 = \ ++ vsetq_lane_f32(vgetq_lane_f32(_b, (imm8 >> 6) & 0x3), \ ++ vreinterpretq_f32_m128(_a), 0); \ ++ float32x4_t tmp2 = \ ++ vsetq_lane_f32(vgetq_lane_f32(tmp1, 0), \ ++ vreinterpretq_f32_m128(_a), ((imm8 >> 4) & 0x3)); \ ++ const uint32_t data[4] = \ ++ _sse2neon_init(((imm8) & (1 << 0)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0); \ ++ uint32x4_t mask = vld1q_u32(data); \ ++ float32x4_t all_zeros = vdupq_n_f32(0); \ ++ \ ++ _sse2neon_return(vreinterpretq_m128_f32( \ ++ vbslq_f32(mask, all_zeros, vreinterpretq_f32_m128(tmp2))));) ++ ++// Compare packed signed 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi32 ++FORCE_INLINE __m128i _mm_max_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmaxq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi8 ++FORCE_INLINE __m128i _mm_max_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vmaxq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu16 ++FORCE_INLINE __m128i _mm_max_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vmaxq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_max_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vmaxq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi32 ++FORCE_INLINE __m128i _mm_min_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vminq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi8 ++FORCE_INLINE __m128i _mm_min_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vminq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu16 ++FORCE_INLINE __m128i _mm_min_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vminq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_min_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vminq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Horizontally compute the minimum amongst the packed unsigned 16-bit integers ++// in a, store the minimum and index in dst, and zero the remaining bits in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_minpos_epu16 ++FORCE_INLINE __m128i _mm_minpos_epu16(__m128i a) ++{ ++ __m128i dst; ++ uint16_t min, idx = 0; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Find the minimum value ++ min = vminvq_u16(vreinterpretq_u16_m128i(a)); ++ ++ // Get the index of the minimum value ++ static const uint16_t idxv[] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint16x8_t minv = vdupq_n_u16(min); ++ uint16x8_t cmeq = vceqq_u16(minv, vreinterpretq_u16_m128i(a)); ++ idx = vminvq_u16(vornq_u16(vld1q_u16(idxv), cmeq)); ++#else ++ // Find the minimum value ++ __m64 tmp; ++ tmp = vreinterpret_m64_u16( ++ vmin_u16(vget_low_u16(vreinterpretq_u16_m128i(a)), ++ vget_high_u16(vreinterpretq_u16_m128i(a)))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ min = vget_lane_u16(vreinterpret_u16_m64(tmp), 0); ++ // Get the index of the minimum value ++ int i; ++ for (i = 0; i < 8; i++) { ++ if (min == vgetq_lane_u16(vreinterpretq_u16_m128i(a), 0)) { ++ idx = (uint16_t) i; ++ break; ++ } ++ a = _mm_srli_si128(a, 2); ++ } ++#endif ++ // Generate result ++ dst = _mm_setzero_si128(); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(min, vreinterpretq_u16_m128i(dst), 0)); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(idx, vreinterpretq_u16_m128i(dst), 1)); ++ return dst; ++} ++ ++// Compute the sum of absolute differences (SADs) of quadruplets of unsigned ++// 8-bit integers in a compared to those in b, and store the 16-bit results in ++// dst. Eight SADs are performed using one quadruplet from b and eight ++// quadruplets from a. One quadruplet is selected from b starting at on the ++// offset specified in imm8. Eight quadruplets are formed from sequential 8-bit ++// integers selected from a starting at the offset specified in imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mpsadbw_epu8 ++FORCE_INLINE __m128i _mm_mpsadbw_epu8(__m128i a, __m128i b, const int imm) ++{ ++ uint8x16_t _a, _b; ++ ++ switch (imm & 0x4) { ++ case 0: ++ // do nothing ++ _a = vreinterpretq_u8_m128i(a); ++ break; ++ case 4: ++ _a = vreinterpretq_u8_u32(vextq_u32(vreinterpretq_u32_m128i(a), ++ vreinterpretq_u32_m128i(a), 1)); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ switch (imm & 0x3) { ++ case 0: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 0))); ++ break; ++ case 1: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 1))); ++ break; ++ case 2: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 2))); ++ break; ++ case 3: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 3))); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ int16x8_t c04, c15, c26, c37; ++ uint8x8_t low_b = vget_low_u8(_b); ++ c04 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a), low_b)); ++ uint8x16_t _a_1 = vextq_u8(_a, _a, 1); ++ c15 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_1), low_b)); ++ uint8x16_t _a_2 = vextq_u8(_a, _a, 2); ++ c26 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_2), low_b)); ++ uint8x16_t _a_3 = vextq_u8(_a, _a, 3); ++ c37 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_3), low_b)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // |0|4|2|6| ++ c04 = vpaddq_s16(c04, c26); ++ // |1|5|3|7| ++ c15 = vpaddq_s16(c15, c37); ++ ++ int32x4_t trn1_c = ++ vtrn1q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ int32x4_t trn2_c = ++ vtrn2q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ return vreinterpretq_m128i_s16(vpaddq_s16(vreinterpretq_s16_s32(trn1_c), ++ vreinterpretq_s16_s32(trn2_c))); ++#else ++ int16x4_t c01, c23, c45, c67; ++ c01 = vpadd_s16(vget_low_s16(c04), vget_low_s16(c15)); ++ c23 = vpadd_s16(vget_low_s16(c26), vget_low_s16(c37)); ++ c45 = vpadd_s16(vget_high_s16(c04), vget_high_s16(c15)); ++ c67 = vpadd_s16(vget_high_s16(c26), vget_high_s16(c37)); ++ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(c01, c23), vpadd_s16(c45, c67))); ++#endif ++} ++ ++// Multiply the low signed 32-bit integers from each packed 64-bit element in ++// a and b, and store the signed 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epi32 ++FORCE_INLINE __m128i _mm_mul_epi32(__m128i a, __m128i b) ++{ ++ // vmull_s32 upcasts instead of masking, so we downcast. ++ int32x2_t a_lo = vmovn_s64(vreinterpretq_s64_m128i(a)); ++ int32x2_t b_lo = vmovn_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vmull_s32(a_lo, b_lo)); ++} ++ ++// Multiply the packed 32-bit integers in a and b, producing intermediate 64-bit ++// integers, and store the low 32 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi32 ++FORCE_INLINE __m128i _mm_mullo_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmulq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi32 ++FORCE_INLINE __m128i _mm_packus_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcombine_u16(vqmovun_s32(vreinterpretq_s32_m128i(a)), ++ vqmovun_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_pd ++FORCE_INLINE __m128d _mm_round_pd(__m128d a, int rounding) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndnq_f64(vreinterpretq_f64_m128d(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_pd(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_pd(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndq_f64(vreinterpretq_f64_m128d(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128d_f64(vrndiq_f64(vreinterpretq_f64_m128d(a))); ++ } ++#else ++ double *v_double = (double *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ double res[2], tmp; ++ for (int i = 0; i < 2; i++) { ++ tmp = (v_double[i] < 0) ? -v_double[i] : v_double[i]; ++ double roundDown = floor(tmp); // Round down value ++ double roundUp = ceil(tmp); // Round up value ++ double diffDown = tmp - roundDown; ++ double diffUp = roundUp - tmp; ++ if (diffDown < diffUp) { ++ /* If it's closer to the round down value, then use it */ ++ res[i] = roundDown; ++ } else if (diffDown > diffUp) { ++ /* If it's closer to the round up value, then use it */ ++ res[i] = roundUp; ++ } else { ++ /* If it's equidistant between round up and round down value, ++ * pick the one which is an even number */ ++ double half = roundDown / 2; ++ if (half != floor(half)) { ++ /* If the round down value is odd, return the round up value ++ */ ++ res[i] = roundUp; ++ } else { ++ /* If the round up value is odd, return the round down value ++ */ ++ res[i] = roundDown; ++ } ++ } ++ res[i] = (v_double[i] < 0) ? -res[i] : res[i]; ++ } ++ return _mm_set_pd(res[1], res[0]); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_pd(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_pd(a); ++ } ++ return _mm_set_pd(v_double[1] > 0 ? floor(v_double[1]) : ceil(v_double[1]), ++ v_double[0] > 0 ? floor(v_double[0]) : ceil(v_double[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed single-precision ++// floating-point elements in dst. ++// software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_round_ps ++FORCE_INLINE __m128 _mm_round_ps(__m128 a, int rounding) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndnq_f32(vreinterpretq_f32_m128(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_ps(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_ps(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndq_f32(vreinterpretq_f32_m128(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128_f32(vrndiq_f32(vreinterpretq_f32_m128(a))); ++ } ++#else ++ float *v_float = (float *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vbslq_s32(is_delta_half, r_even, r_normal))); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_ps(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_ps(a); ++ } ++ return _mm_set_ps(v_float[3] > 0 ? floorf(v_float[3]) : ceilf(v_float[3]), ++ v_float[2] > 0 ? floorf(v_float[2]) : ceilf(v_float[2]), ++ v_float[1] > 0 ? floorf(v_float[1]) : ceilf(v_float[1]), ++ v_float[0] > 0 ? floorf(v_float[0]) : ceilf(v_float[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b using ++// the rounding parameter, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_sd ++FORCE_INLINE __m128d _mm_round_sd(__m128d a, __m128d b, int rounding) ++{ ++ return _mm_move_sd(a, _mm_round_pd(b, rounding)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b using ++// the rounding parameter, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. Rounding is done according to the ++// rounding[3:0] parameter, which can be one of: ++// (_MM_FROUND_TO_NEAREST_INT |_MM_FROUND_NO_EXC) // round to nearest, and ++// suppress exceptions ++// (_MM_FROUND_TO_NEG_INF |_MM_FROUND_NO_EXC) // round down, and ++// suppress exceptions ++// (_MM_FROUND_TO_POS_INF |_MM_FROUND_NO_EXC) // round up, and suppress ++// exceptions ++// (_MM_FROUND_TO_ZERO |_MM_FROUND_NO_EXC) // truncate, and suppress ++// exceptions _MM_FROUND_CUR_DIRECTION // use MXCSR.RC; see ++// _MM_SET_ROUNDING_MODE ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_ss ++FORCE_INLINE __m128 _mm_round_ss(__m128 a, __m128 b, int rounding) ++{ ++ return _mm_move_ss(a, _mm_round_ps(b, rounding)); ++} ++ ++// Load 128-bits of integer data from memory into dst using a non-temporal ++// memory hint. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_load_si128 ++FORCE_INLINE __m128i _mm_stream_load_si128(__m128i *p) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ return __builtin_nontemporal_load(p); ++#else ++ return vreinterpretq_m128i_s64(vld1q_s64((int64_t *) p)); ++#endif ++} ++ ++// Compute the bitwise NOT of a and then AND with a 128-bit vector containing ++// all 1's, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_ones ++FORCE_INLINE int _mm_test_all_ones(__m128i a) ++{ ++ return (uint64_t) (vgetq_lane_s64(a, 0) & vgetq_lane_s64(a, 1)) == ++ ~(uint64_t) 0; ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_zeros ++FORCE_INLINE int _mm_test_all_zeros(__m128i a, __m128i mask) ++{ ++ int64x2_t a_and_mask = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(mask)); ++ return !(vgetq_lane_s64(a_and_mask, 0) | vgetq_lane_s64(a_and_mask, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute ++// the bitwise NOT of a and then AND with mask, and set CF to 1 if the result is ++// zero, otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_test_mix_ones_zero ++// Note: Argument names may be wrong in the Intel intrinsics guide. ++FORCE_INLINE int _mm_test_mix_ones_zeros(__m128i a, __m128i mask) ++{ ++ uint64x2_t v = vreinterpretq_u64_m128i(a); ++ uint64x2_t m = vreinterpretq_u64_m128i(mask); ++ ++ // find ones (set-bits) and zeros (clear-bits) under clip mask ++ uint64x2_t ones = vandq_u64(m, v); ++ uint64x2_t zeros = vbicq_u64(m, v); ++ ++ // If both 128-bit variables are populated (non-zero) then return 1. ++ // For comparision purposes, first compact each var down to 32-bits. ++ uint32x2_t reduced = vpmax_u32(vqmovn_u64(ones), vqmovn_u64(zeros)); ++ ++ // if folding minimum is non-zero then both vars must be non-zero ++ return (vget_lane_u32(vpmin_u32(reduced, reduced), 0) != 0); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the CF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testc_si128 ++FORCE_INLINE int _mm_testc_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vbicq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testnzc_si128 ++#define _mm_testnzc_si128(a, b) _mm_test_mix_ones_zeros(a, b) ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the ZF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testz_si128 ++FORCE_INLINE int _mm_testz_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++/* SSE4.2 */ ++ ++static const uint16_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask16b[8] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++static const uint8_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask8b[16] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++ ++/* specify the source data format */ ++#define _SIDD_UBYTE_OPS 0x00 /* unsigned 8-bit characters */ ++#define _SIDD_UWORD_OPS 0x01 /* unsigned 16-bit characters */ ++#define _SIDD_SBYTE_OPS 0x02 /* signed 8-bit characters */ ++#define _SIDD_SWORD_OPS 0x03 /* signed 16-bit characters */ ++ ++/* specify the comparison operation */ ++#define _SIDD_CMP_EQUAL_ANY 0x00 /* compare equal any: strchr */ ++#define _SIDD_CMP_RANGES 0x04 /* compare ranges */ ++#define _SIDD_CMP_EQUAL_EACH 0x08 /* compare equal each: strcmp */ ++#define _SIDD_CMP_EQUAL_ORDERED 0x0C /* compare equal ordered */ ++ ++/* specify the polarity */ ++#define _SIDD_POSITIVE_POLARITY 0x00 ++#define _SIDD_MASKED_POSITIVE_POLARITY 0x20 ++#define _SIDD_NEGATIVE_POLARITY 0x10 /* negate results */ ++#define _SIDD_MASKED_NEGATIVE_POLARITY \ ++ 0x30 /* negate results only before end of string */ ++ ++/* specify the output selection in _mm_cmpXstri */ ++#define _SIDD_LEAST_SIGNIFICANT 0x00 ++#define _SIDD_MOST_SIGNIFICANT 0x40 ++ ++/* specify the output selection in _mm_cmpXstrm */ ++#define _SIDD_BIT_MASK 0x00 ++#define _SIDD_UNIT_MASK 0x40 ++ ++/* Pattern Matching for C macros. ++ * https://github.com/pfultz2/Cloak/wiki/C-Preprocessor-tricks,-tips,-and-idioms ++ */ ++ ++/* catenate */ ++#define SSE2NEON_PRIMITIVE_CAT(a, ...) a##__VA_ARGS__ ++#define SSE2NEON_CAT(a, b) SSE2NEON_PRIMITIVE_CAT(a, b) ++ ++#define SSE2NEON_IIF(c) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_IIF_, c) ++/* run the 2nd parameter */ ++#define SSE2NEON_IIF_0(t, ...) __VA_ARGS__ ++/* run the 1st parameter */ ++#define SSE2NEON_IIF_1(t, ...) t ++ ++#define SSE2NEON_COMPL(b) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_COMPL_, b) ++#define SSE2NEON_COMPL_0 1 ++#define SSE2NEON_COMPL_1 0 ++ ++#define SSE2NEON_DEC(x) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_DEC_, x) ++#define SSE2NEON_DEC_1 0 ++#define SSE2NEON_DEC_2 1 ++#define SSE2NEON_DEC_3 2 ++#define SSE2NEON_DEC_4 3 ++#define SSE2NEON_DEC_5 4 ++#define SSE2NEON_DEC_6 5 ++#define SSE2NEON_DEC_7 6 ++#define SSE2NEON_DEC_8 7 ++#define SSE2NEON_DEC_9 8 ++#define SSE2NEON_DEC_10 9 ++#define SSE2NEON_DEC_11 10 ++#define SSE2NEON_DEC_12 11 ++#define SSE2NEON_DEC_13 12 ++#define SSE2NEON_DEC_14 13 ++#define SSE2NEON_DEC_15 14 ++#define SSE2NEON_DEC_16 15 ++ ++/* detection */ ++#define SSE2NEON_CHECK_N(x, n, ...) n ++#define SSE2NEON_CHECK(...) SSE2NEON_CHECK_N(__VA_ARGS__, 0, ) ++#define SSE2NEON_PROBE(x) x, 1, ++ ++#define SSE2NEON_NOT(x) SSE2NEON_CHECK(SSE2NEON_PRIMITIVE_CAT(SSE2NEON_NOT_, x)) ++#define SSE2NEON_NOT_0 SSE2NEON_PROBE(~) ++ ++#define SSE2NEON_BOOL(x) SSE2NEON_COMPL(SSE2NEON_NOT(x)) ++#define SSE2NEON_IF(c) SSE2NEON_IIF(SSE2NEON_BOOL(c)) ++ ++#define SSE2NEON_EAT(...) ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++#define SSE2NEON_WHEN(c) SSE2NEON_IF(c)(SSE2NEON_EXPAND, SSE2NEON_EAT) ++ ++/* recursion */ ++/* deferred expression */ ++#define SSE2NEON_EMPTY() ++#define SSE2NEON_DEFER(id) id SSE2NEON_EMPTY() ++#define SSE2NEON_OBSTRUCT(...) __VA_ARGS__ SSE2NEON_DEFER(SSE2NEON_EMPTY)() ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++ ++#define SSE2NEON_EVAL(...) \ ++ SSE2NEON_EVAL1(SSE2NEON_EVAL1(SSE2NEON_EVAL1(__VA_ARGS__))) ++#define SSE2NEON_EVAL1(...) \ ++ SSE2NEON_EVAL2(SSE2NEON_EVAL2(SSE2NEON_EVAL2(__VA_ARGS__))) ++#define SSE2NEON_EVAL2(...) \ ++ SSE2NEON_EVAL3(SSE2NEON_EVAL3(SSE2NEON_EVAL3(__VA_ARGS__))) ++#define SSE2NEON_EVAL3(...) __VA_ARGS__ ++ ++#define SSE2NEON_REPEAT(count, macro, ...) \ ++ SSE2NEON_WHEN(count) \ ++ (SSE2NEON_OBSTRUCT(SSE2NEON_REPEAT_INDIRECT)()( \ ++ SSE2NEON_DEC(count), macro, \ ++ __VA_ARGS__) SSE2NEON_OBSTRUCT(macro)(SSE2NEON_DEC(count), \ ++ __VA_ARGS__)) ++#define SSE2NEON_REPEAT_INDIRECT() SSE2NEON_REPEAT ++ ++#define SSE2NEON_SIZE_OF_byte 8 ++#define SSE2NEON_NUMBER_OF_LANES_byte 16 ++#define SSE2NEON_SIZE_OF_word 16 ++#define SSE2NEON_NUMBER_OF_LANES_word 8 ++ ++#define SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE(i, type) \ ++ mtx[i] = vreinterpretq_m128i_##type(vceqq_##type( \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)), \ ++ vreinterpretq_##type##_m128i(a))); ++ ++#define SSE2NEON_FILL_LANE(i, type) \ ++ vec_b[i] = \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)); ++ ++#define PCMPSTR_RANGES(a, b, mtx, data_type_prefix, type_prefix, size, \ ++ number_of_lanes, byte_or_word) \ ++ do { \ ++ SSE2NEON_CAT( \ ++ data_type_prefix, \ ++ SSE2NEON_CAT(size, \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(number_of_lanes, _t)))) \ ++ vec_b[number_of_lanes]; \ ++ __m128i mask = SSE2NEON_IIF(byte_or_word)( \ ++ vreinterpretq_m128i_u16(vdupq_n_u16(0xff)), \ ++ vreinterpretq_m128i_u32(vdupq_n_u32(0xffff))); \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, SSE2NEON_FILL_LANE, \ ++ SSE2NEON_CAT(type_prefix, size))) \ ++ for (int i = 0; i < number_of_lanes; i++) { \ ++ mtx[i] = SSE2NEON_CAT(vreinterpretq_m128i_u, \ ++ size)(SSE2NEON_CAT(vbslq_u, size)( \ ++ SSE2NEON_CAT(vreinterpretq_u, \ ++ SSE2NEON_CAT(size, _m128i))(mask), \ ++ SSE2NEON_CAT(vcgeq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))), \ ++ SSE2NEON_CAT(vcleq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))))); \ ++ } \ ++ } while (0) ++ ++#define PCMPSTR_EQ(a, b, mtx, size, number_of_lanes) \ ++ do { \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, \ ++ SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE, \ ++ SSE2NEON_CAT(u, size))) \ ++ } while (0) ++ ++#define SSE2NEON_CMP_EQUAL_ANY_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_any(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_any_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_RANGES_IMPL(type, data_type, us, byte_or_word) \ ++ static int _sse2neon_cmp_##us##type##_ranges(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_RANGES( \ ++ a, b, mtx, data_type, us, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), byte_or_word); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_ranges_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_EQUAL_ORDERED_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_ordered(__m128i a, int la, \ ++ __m128i b, int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_ordered_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type))))( \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), la, lb, mtx); \ ++ } ++ ++static int _sse2neon_aggregate_equal_any_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ int tmp = _sse2neon_vaddvq_u8(vreinterpretq_u8_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_equal_any_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ int tmp = _sse2neon_vaddvq_u16(vreinterpretq_u16_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ANY(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ANY(SSE2NEON_CMP_EQUAL_ANY_) ++ ++static int _sse2neon_aggregate_ranges_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ __m128i tmp = vreinterpretq_m128i_u32( ++ vshrq_n_u32(vreinterpretq_u32_m128i(mtx[j]), 16)); ++ uint32x4_t vec_res = vandq_u32(vreinterpretq_u32_m128i(mtx[j]), ++ vreinterpretq_u32_m128i(tmp)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int t = vaddvq_u32(vec_res) ? 1 : 0; ++#else ++ uint64x2_t sumh = vpaddlq_u32(vec_res); ++ int t = vgetq_lane_u64(sumh, 0) + vgetq_lane_u64(sumh, 1); ++#endif ++ res |= (t << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_ranges_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ __m128i tmp = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 8)); ++ uint16x8_t vec_res = vandq_u16(vreinterpretq_u16_m128i(mtx[j]), ++ vreinterpretq_u16_m128i(tmp)); ++ int t = _sse2neon_vaddvq_u16(vec_res) ? 1 : 0; ++ res |= (t << j); ++ } ++ return res; ++} ++ ++#define SSE2NEON_CMP_RANGES_IS_BYTE 1 ++#define SSE2NEON_CMP_RANGES_IS_WORD 0 ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_RANGES(prefix) \ ++ prefix##IMPL(byte, uint, u, prefix##IS_BYTE) \ ++ prefix##IMPL(byte, int, s, prefix##IS_BYTE) \ ++ prefix##IMPL(word, uint, u, prefix##IS_WORD) \ ++ prefix##IMPL(word, int, s, prefix##IS_WORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_RANGES(SSE2NEON_CMP_RANGES_) ++ ++#undef SSE2NEON_CMP_RANGES_IS_BYTE ++#undef SSE2NEON_CMP_RANGES_IS_WORD ++ ++static int _sse2neon_cmp_byte_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint8x16_t mtx = ++ vceqq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x10000 - (1 << la); ++ int tb = 0x10000 - (1 << lb); ++ uint8x8_t vec_mask, vec0_lo, vec0_hi, vec1_lo, vec1_hi; ++ uint8x8_t tmp_lo, tmp_hi, res_lo, res_hi; ++ vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ vec0_lo = vtst_u8(vdup_n_u8(m0), vec_mask); ++ vec0_hi = vtst_u8(vdup_n_u8(m0 >> 8), vec_mask); ++ vec1_lo = vtst_u8(vdup_n_u8(m1), vec_mask); ++ vec1_hi = vtst_u8(vdup_n_u8(m1 >> 8), vec_mask); ++ tmp_lo = vtst_u8(vdup_n_u8(tb), vec_mask); ++ tmp_hi = vtst_u8(vdup_n_u8(tb >> 8), vec_mask); ++ ++ res_lo = vbsl_u8(vec0_lo, vdup_n_u8(0), vget_low_u8(mtx)); ++ res_hi = vbsl_u8(vec0_hi, vdup_n_u8(0), vget_high_u8(mtx)); ++ res_lo = vbsl_u8(vec1_lo, tmp_lo, res_lo); ++ res_hi = vbsl_u8(vec1_hi, tmp_hi, res_hi); ++ res_lo = vand_u8(res_lo, vec_mask); ++ res_hi = vand_u8(res_hi, vec_mask); ++ ++ int res = _sse2neon_vaddv_u8(res_lo) + (_sse2neon_vaddv_u8(res_hi) << 8); ++ return res; ++} ++ ++static int _sse2neon_cmp_word_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint16x8_t mtx = ++ vceqq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x100 - (1 << la); ++ int tb = 0x100 - (1 << lb); ++ uint16x8_t vec_mask = vld1q_u16(_sse2neon_cmpestr_mask16b); ++ uint16x8_t vec0 = vtstq_u16(vdupq_n_u16(m0), vec_mask); ++ uint16x8_t vec1 = vtstq_u16(vdupq_n_u16(m1), vec_mask); ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(tb), vec_mask); ++ mtx = vbslq_u16(vec0, vdupq_n_u16(0), mtx); ++ mtx = vbslq_u16(vec1, tmp, mtx); ++ mtx = vandq_u16(mtx, vec_mask); ++ return _sse2neon_vaddvq_u16(mtx); ++} ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE 1 ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD 0 ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IMPL(size, number_of_lanes, data_type) \ ++ static int _sse2neon_aggregate_equal_ordered_##size##x##number_of_lanes( \ ++ int bound, int la, int lb, __m128i mtx[16]) \ ++ { \ ++ int res = 0; \ ++ int m1 = SSE2NEON_IIF(data_type)(0x10000, 0x100) - (1 << la); \ ++ uint##size##x8_t vec_mask = SSE2NEON_IIF(data_type)( \ ++ vld1_u##size(_sse2neon_cmpestr_mask##size##b), \ ++ vld1q_u##size(_sse2neon_cmpestr_mask##size##b)); \ ++ uint##size##x##number_of_lanes##_t vec1 = SSE2NEON_IIF(data_type)( \ ++ vcombine_u##size(vtst_u##size(vdup_n_u##size(m1), vec_mask), \ ++ vtst_u##size(vdup_n_u##size(m1 >> 8), vec_mask)), \ ++ vtstq_u##size(vdupq_n_u##size(m1), vec_mask)); \ ++ uint##size##x##number_of_lanes##_t vec_minusone = vdupq_n_u##size(-1); \ ++ uint##size##x##number_of_lanes##_t vec_zero = vdupq_n_u##size(0); \ ++ for (int j = 0; j < lb; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size(vbslq_u##size( \ ++ vec1, vec_minusone, vreinterpretq_u##size##_m128i(mtx[j]))); \ ++ } \ ++ for (int j = lb; j < bound; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size( \ ++ vbslq_u##size(vec1, vec_minusone, vec_zero)); \ ++ } \ ++ unsigned SSE2NEON_IIF(data_type)(char, short) *ptr = \ ++ (unsigned SSE2NEON_IIF(data_type)(char, short) *) mtx; \ ++ for (int i = 0; i < bound; i++) { \ ++ int val = 1; \ ++ for (int j = 0, k = i; j < bound - i && k < bound; j++, k++) \ ++ val &= ptr[k * bound + j]; \ ++ res += val << i; \ ++ } \ ++ return res; \ ++ } ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(prefix) \ ++ prefix##IMPL(8, 16, prefix##IS_UBYTE) \ ++ prefix##IMPL(16, 8, prefix##IS_UWORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(SSE2NEON_AGGREGATE_EQUAL_ORDER_) ++ ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(SSE2NEON_CMP_EQUAL_ORDERED_) ++ ++#define SSE2NEON_CMPESTR_LIST \ ++ _(CMP_UBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_UWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_SBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_SWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_UBYTE_RANGES, cmp_ubyte_ranges) \ ++ _(CMP_UWORD_RANGES, cmp_uword_ranges) \ ++ _(CMP_SBYTE_RANGES, cmp_sbyte_ranges) \ ++ _(CMP_SWORD_RANGES, cmp_sword_ranges) \ ++ _(CMP_UBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_UWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_SBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_SWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_UBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_UWORD_EQUAL_ORDERED, cmp_word_equal_ordered) \ ++ _(CMP_SBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_SWORD_EQUAL_ORDERED, cmp_word_equal_ordered) ++ ++enum { ++#define _(name, func_suffix) name, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++typedef int (*cmpestr_func_t)(__m128i a, int la, __m128i b, int lb); ++static cmpestr_func_t _sse2neon_cmpfunc_table[] = { ++#define _(name, func_suffix) _sse2neon_##func_suffix, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++ ++FORCE_INLINE int _sse2neon_sido_negative(int res, int lb, int imm8, int bound) ++{ ++ switch (imm8 & 0x30) { ++ case _SIDD_NEGATIVE_POLARITY: ++ res ^= 0xffffffff; ++ break; ++ case _SIDD_MASKED_NEGATIVE_POLARITY: ++ res ^= (1 << lb) - 1; ++ break; ++ default: ++ break; ++ } ++ ++ return res & ((bound == 8) ? 0xFF : 0xFFFF); ++} ++ ++FORCE_INLINE int _sse2neon_clz(unsigned int x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt = 0; ++ if (_BitScanReverse(&cnt, x)) ++ return 31 - cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_clz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctz(unsigned int x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt = 0; ++ if (_BitScanForward(&cnt, x)) ++ return cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_ctz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctzll(unsigned long long x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt; ++#if defined(SSE2NEON_HAS_BITSCAN64) ++ if (_BitScanForward64(&cnt, x)) ++ return (int) (cnt); ++#else ++ if (_BitScanForward(&cnt, (unsigned long) (x))) ++ return (int) cnt; ++ if (_BitScanForward(&cnt, (unsigned long) (x >> 32))) ++ return (int) (cnt + 32); ++#endif /* SSE2NEON_HAS_BITSCAN64 */ ++ return 64; ++#else /* assume GNU compatible compilers */ ++ return x != 0 ? __builtin_ctzll(x) : 64; ++#endif ++} ++ ++#define SSE2NEON_MIN(x, y) (x) < (y) ? (x) : (y) ++ ++#define SSE2NEON_CMPSTR_SET_UPPER(var, imm) \ ++ const int var = (imm & 0x01) ? 8 : 16 ++ ++#define SSE2NEON_CMPESTRX_LEN_PAIR(a, b, la, lb) \ ++ int tmp1 = la ^ (la >> 31); \ ++ la = tmp1 - (la >> 31); \ ++ int tmp2 = lb ^ (lb >> 31); \ ++ lb = tmp2 - (lb >> 31); \ ++ la = SSE2NEON_MIN(la, bound); \ ++ lb = SSE2NEON_MIN(lb, bound) ++ ++// Compare all pairs of character in string a and b, ++// then aggregate the result. ++// As the only difference of PCMPESTR* and PCMPISTR* is the way to calculate the ++// length of string, we use SSE2NEON_CMP{I,E}STRX_GET_LEN to get the length of ++// string a and b. ++#define SSE2NEON_COMP_AGG(a, b, la, lb, imm8, IE) \ ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); \ ++ SSE2NEON_##IE##_LEN_PAIR(a, b, la, lb); \ ++ int r2 = (_sse2neon_cmpfunc_table[imm8 & 0x0f])(a, la, b, lb); \ ++ r2 = _sse2neon_sido_negative(r2, lb, imm8, bound) ++ ++#define SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8) \ ++ return (r2 == 0) ? bound \ ++ : ((imm8 & 0x40) ? (31 - _sse2neon_clz(r2)) \ ++ : _sse2neon_ctz(r2)) ++ ++#define SSE2NEON_CMPSTR_GENERATE_MASK(dst) \ ++ __m128i dst = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ if (imm8 & 0x40) { \ ++ if (bound == 8) { \ ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(r2), \ ++ vld1q_u16(_sse2neon_cmpestr_mask16b)); \ ++ dst = vreinterpretq_m128i_u16(vbslq_u16( \ ++ tmp, vdupq_n_u16(-1), vreinterpretq_u16_m128i(dst))); \ ++ } else { \ ++ uint8x16_t vec_r2 = \ ++ vcombine_u8(vdup_n_u8(r2), vdup_n_u8(r2 >> 8)); \ ++ uint8x16_t tmp = \ ++ vtstq_u8(vec_r2, vld1q_u8(_sse2neon_cmpestr_mask8b)); \ ++ dst = vreinterpretq_m128i_u8( \ ++ vbslq_u8(tmp, vdupq_n_u8(-1), vreinterpretq_u8_m128i(dst))); \ ++ } \ ++ } else { \ ++ if (bound == 16) { \ ++ dst = vreinterpretq_m128i_u16( \ ++ vsetq_lane_u16(r2 & 0xffff, vreinterpretq_u16_m128i(dst), 0)); \ ++ } else { \ ++ dst = vreinterpretq_m128i_u8( \ ++ vsetq_lane_u8(r2 & 0xff, vreinterpretq_u8_m128i(dst), 0)); \ ++ } \ ++ } \ ++ return dst ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and returns 1 if b did not contain a null character and the ++// resulting mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestra ++FORCE_INLINE int _mm_cmpestra(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ int lb_cpy = lb; ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return !r2 & (lb_cpy > bound); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrc ++FORCE_INLINE int _mm_cmpestrc(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestri ++FORCE_INLINE int _mm_cmpestri(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrm ++FORCE_INLINE __m128i ++_mm_cmpestrm(__m128i a, int la, __m128i b, int lb, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestro ++FORCE_INLINE int _mm_cmpestro(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrs ++FORCE_INLINE int _mm_cmpestrs(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) lb; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrz ++FORCE_INLINE int _mm_cmpestrz(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) la; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return lb <= (bound - 1); ++} ++ ++#define SSE2NEON_CMPISTRX_LENGTH(str, len, imm8) \ ++ do { \ ++ if (imm8 & 0x01) { \ ++ uint16x8_t equal_mask_##str = \ ++ vceqq_u16(vreinterpretq_u16_m128i(str), vdupq_n_u16(0)); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 3; \ ++ } else { \ ++ uint16x8_t equal_mask_##str = vreinterpretq_u16_u8( \ ++ vceqq_u8(vreinterpretq_u8_m128i(str), vdupq_n_u8(0))); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 2; \ ++ } \ ++ } while (0) ++ ++#define SSE2NEON_CMPISTRX_LEN_PAIR(a, b, la, lb) \ ++ int la, lb; \ ++ do { \ ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); \ ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); \ ++ } while (0) ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if b did not contain a null character and the resulting ++// mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistra ++FORCE_INLINE int _mm_cmpistra(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return !r2 & (lb >= bound); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrc ++FORCE_INLINE int _mm_cmpistrc(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistri ++FORCE_INLINE int _mm_cmpistri(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrm ++FORCE_INLINE __m128i _mm_cmpistrm(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistro ++FORCE_INLINE int _mm_cmpistro(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrs ++FORCE_INLINE int _mm_cmpistrs(__m128i a, __m128i b, const int imm8) ++{ ++ (void) b; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int la; ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrz ++FORCE_INLINE int _mm_cmpistrz(__m128i a, __m128i b, const int imm8) ++{ ++ (void) a; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int lb; ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); ++ return lb <= (bound - 1); ++} ++ ++// Compares the 2 signed 64-bit integers in a and the 2 signed 64-bit integers ++// in b for greater than. ++FORCE_INLINE __m128i _mm_cmpgt_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vcgtq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ return vreinterpretq_m128i_s64(vshrq_n_s64( ++ vqsubq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)), ++ 63)); ++#endif ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 16-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u16 ++FORCE_INLINE uint32_t _mm_crc32_u16(uint32_t crc, uint16_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32ch %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32ch(crc, v); ++#else ++ crc = _mm_crc32_u8(crc, v & 0xff); ++ crc = _mm_crc32_u8(crc, (v >> 8) & 0xff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 32-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u32 ++FORCE_INLINE uint32_t _mm_crc32_u32(uint32_t crc, uint32_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cw %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cw(crc, v); ++#else ++ crc = _mm_crc32_u16(crc, v & 0xffff); ++ crc = _mm_crc32_u16(crc, (v >> 16) & 0xffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 64-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u64 ++FORCE_INLINE uint64_t _mm_crc32_u64(uint64_t crc, uint64_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cx %w[c], %w[c], %x[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cd((uint32_t) crc, v); ++#else ++ crc = _mm_crc32_u32((uint32_t) (crc), v & 0xffffffff); ++ crc = _mm_crc32_u32((uint32_t) (crc), (v >> 32) & 0xffffffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 8-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u8 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t crc, uint8_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cb %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cb(crc, v); ++#else ++ crc ^= v; ++#if defined(__ARM_FEATURE_CRYPTO) ++ // Adapted from: https://mary.rs/lab/crc32/ ++ // Barrent reduction ++ uint64x2_t orig = ++ vcombine_u64(vcreate_u64((uint64_t) (crc) << 24), vcreate_u64(0x0)); ++ uint64x2_t tmp = orig; ++ ++ // Polynomial P(x) of CRC32C ++ uint64_t p = 0x105EC76F1; ++ // Barrett Reduction (in bit-reflected form) constant mu_{64} = \lfloor ++ // 2^{64} / P(x) \rfloor = 0x11f91caf6 ++ uint64_t mu = 0x1dea713f1; ++ ++ // Multiply by mu_{64} ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(mu)); ++ // Divide by 2^{64} (mask away the unnecessary bits) ++ tmp = ++ vandq_u64(tmp, vcombine_u64(vcreate_u64(0xFFFFFFFF), vcreate_u64(0x0))); ++ // Multiply by P(x) (shifted left by 1 for alignment reasons) ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(p)); ++ // Subtract original from result ++ tmp = veorq_u64(tmp, orig); ++ ++ // Extract the 'lower' (in bit-reflected sense) 32 bits ++ crc = vgetq_lane_u32(vreinterpretq_u32_u64(tmp), 1); ++#else // Fall back to the generic table lookup approach ++ // Adapted from: https://create.stephan-brumme.com/crc32/ ++ // Apply half-byte comparision algorithm for the best ratio between ++ // performance and lookup table. ++ ++ // The lookup table just needs to store every 16th entry ++ // of the standard look-up table. ++ static const uint32_t crc32_half_byte_tbl[] = { ++ 0x00000000, 0x105ec76f, 0x20bd8ede, 0x30e349b1, 0x417b1dbc, 0x5125dad3, ++ 0x61c69362, 0x7198540d, 0x82f63b78, 0x92a8fc17, 0xa24bb5a6, 0xb21572c9, ++ 0xc38d26c4, 0xd3d3e1ab, 0xe330a81a, 0xf36e6f75, ++ }; ++ ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++#endif ++#endif ++ return crc; ++} ++ ++/* AES */ ++ ++#if !defined(__ARM_FEATURE_CRYPTO) && (!defined(_M_ARM64) || defined(__clang__)) ++/* clang-format off */ ++#define SSE2NEON_AES_SBOX(w) \ ++ { \ ++ w(0x63), w(0x7c), w(0x77), w(0x7b), w(0xf2), w(0x6b), w(0x6f), \ ++ w(0xc5), w(0x30), w(0x01), w(0x67), w(0x2b), w(0xfe), w(0xd7), \ ++ w(0xab), w(0x76), w(0xca), w(0x82), w(0xc9), w(0x7d), w(0xfa), \ ++ w(0x59), w(0x47), w(0xf0), w(0xad), w(0xd4), w(0xa2), w(0xaf), \ ++ w(0x9c), w(0xa4), w(0x72), w(0xc0), w(0xb7), w(0xfd), w(0x93), \ ++ w(0x26), w(0x36), w(0x3f), w(0xf7), w(0xcc), w(0x34), w(0xa5), \ ++ w(0xe5), w(0xf1), w(0x71), w(0xd8), w(0x31), w(0x15), w(0x04), \ ++ w(0xc7), w(0x23), w(0xc3), w(0x18), w(0x96), w(0x05), w(0x9a), \ ++ w(0x07), w(0x12), w(0x80), w(0xe2), w(0xeb), w(0x27), w(0xb2), \ ++ w(0x75), w(0x09), w(0x83), w(0x2c), w(0x1a), w(0x1b), w(0x6e), \ ++ w(0x5a), w(0xa0), w(0x52), w(0x3b), w(0xd6), w(0xb3), w(0x29), \ ++ w(0xe3), w(0x2f), w(0x84), w(0x53), w(0xd1), w(0x00), w(0xed), \ ++ w(0x20), w(0xfc), w(0xb1), w(0x5b), w(0x6a), w(0xcb), w(0xbe), \ ++ w(0x39), w(0x4a), w(0x4c), w(0x58), w(0xcf), w(0xd0), w(0xef), \ ++ w(0xaa), w(0xfb), w(0x43), w(0x4d), w(0x33), w(0x85), w(0x45), \ ++ w(0xf9), w(0x02), w(0x7f), w(0x50), w(0x3c), w(0x9f), w(0xa8), \ ++ w(0x51), w(0xa3), w(0x40), w(0x8f), w(0x92), w(0x9d), w(0x38), \ ++ w(0xf5), w(0xbc), w(0xb6), w(0xda), w(0x21), w(0x10), w(0xff), \ ++ w(0xf3), w(0xd2), w(0xcd), w(0x0c), w(0x13), w(0xec), w(0x5f), \ ++ w(0x97), w(0x44), w(0x17), w(0xc4), w(0xa7), w(0x7e), w(0x3d), \ ++ w(0x64), w(0x5d), w(0x19), w(0x73), w(0x60), w(0x81), w(0x4f), \ ++ w(0xdc), w(0x22), w(0x2a), w(0x90), w(0x88), w(0x46), w(0xee), \ ++ w(0xb8), w(0x14), w(0xde), w(0x5e), w(0x0b), w(0xdb), w(0xe0), \ ++ w(0x32), w(0x3a), w(0x0a), w(0x49), w(0x06), w(0x24), w(0x5c), \ ++ w(0xc2), w(0xd3), w(0xac), w(0x62), w(0x91), w(0x95), w(0xe4), \ ++ w(0x79), w(0xe7), w(0xc8), w(0x37), w(0x6d), w(0x8d), w(0xd5), \ ++ w(0x4e), w(0xa9), w(0x6c), w(0x56), w(0xf4), w(0xea), w(0x65), \ ++ w(0x7a), w(0xae), w(0x08), w(0xba), w(0x78), w(0x25), w(0x2e), \ ++ w(0x1c), w(0xa6), w(0xb4), w(0xc6), w(0xe8), w(0xdd), w(0x74), \ ++ w(0x1f), w(0x4b), w(0xbd), w(0x8b), w(0x8a), w(0x70), w(0x3e), \ ++ w(0xb5), w(0x66), w(0x48), w(0x03), w(0xf6), w(0x0e), w(0x61), \ ++ w(0x35), w(0x57), w(0xb9), w(0x86), w(0xc1), w(0x1d), w(0x9e), \ ++ w(0xe1), w(0xf8), w(0x98), w(0x11), w(0x69), w(0xd9), w(0x8e), \ ++ w(0x94), w(0x9b), w(0x1e), w(0x87), w(0xe9), w(0xce), w(0x55), \ ++ w(0x28), w(0xdf), w(0x8c), w(0xa1), w(0x89), w(0x0d), w(0xbf), \ ++ w(0xe6), w(0x42), w(0x68), w(0x41), w(0x99), w(0x2d), w(0x0f), \ ++ w(0xb0), w(0x54), w(0xbb), w(0x16) \ ++ } ++#define SSE2NEON_AES_RSBOX(w) \ ++ { \ ++ w(0x52), w(0x09), w(0x6a), w(0xd5), w(0x30), w(0x36), w(0xa5), \ ++ w(0x38), w(0xbf), w(0x40), w(0xa3), w(0x9e), w(0x81), w(0xf3), \ ++ w(0xd7), w(0xfb), w(0x7c), w(0xe3), w(0x39), w(0x82), w(0x9b), \ ++ w(0x2f), w(0xff), w(0x87), w(0x34), w(0x8e), w(0x43), w(0x44), \ ++ w(0xc4), w(0xde), w(0xe9), w(0xcb), w(0x54), w(0x7b), w(0x94), \ ++ w(0x32), w(0xa6), w(0xc2), w(0x23), w(0x3d), w(0xee), w(0x4c), \ ++ w(0x95), w(0x0b), w(0x42), w(0xfa), w(0xc3), w(0x4e), w(0x08), \ ++ w(0x2e), w(0xa1), w(0x66), w(0x28), w(0xd9), w(0x24), w(0xb2), \ ++ w(0x76), w(0x5b), w(0xa2), w(0x49), w(0x6d), w(0x8b), w(0xd1), \ ++ w(0x25), w(0x72), w(0xf8), w(0xf6), w(0x64), w(0x86), w(0x68), \ ++ w(0x98), w(0x16), w(0xd4), w(0xa4), w(0x5c), w(0xcc), w(0x5d), \ ++ w(0x65), w(0xb6), w(0x92), w(0x6c), w(0x70), w(0x48), w(0x50), \ ++ w(0xfd), w(0xed), w(0xb9), w(0xda), w(0x5e), w(0x15), w(0x46), \ ++ w(0x57), w(0xa7), w(0x8d), w(0x9d), w(0x84), w(0x90), w(0xd8), \ ++ w(0xab), w(0x00), w(0x8c), w(0xbc), w(0xd3), w(0x0a), w(0xf7), \ ++ w(0xe4), w(0x58), w(0x05), w(0xb8), w(0xb3), w(0x45), w(0x06), \ ++ w(0xd0), w(0x2c), w(0x1e), w(0x8f), w(0xca), w(0x3f), w(0x0f), \ ++ w(0x02), w(0xc1), w(0xaf), w(0xbd), w(0x03), w(0x01), w(0x13), \ ++ w(0x8a), w(0x6b), w(0x3a), w(0x91), w(0x11), w(0x41), w(0x4f), \ ++ w(0x67), w(0xdc), w(0xea), w(0x97), w(0xf2), w(0xcf), w(0xce), \ ++ w(0xf0), w(0xb4), w(0xe6), w(0x73), w(0x96), w(0xac), w(0x74), \ ++ w(0x22), w(0xe7), w(0xad), w(0x35), w(0x85), w(0xe2), w(0xf9), \ ++ w(0x37), w(0xe8), w(0x1c), w(0x75), w(0xdf), w(0x6e), w(0x47), \ ++ w(0xf1), w(0x1a), w(0x71), w(0x1d), w(0x29), w(0xc5), w(0x89), \ ++ w(0x6f), w(0xb7), w(0x62), w(0x0e), w(0xaa), w(0x18), w(0xbe), \ ++ w(0x1b), w(0xfc), w(0x56), w(0x3e), w(0x4b), w(0xc6), w(0xd2), \ ++ w(0x79), w(0x20), w(0x9a), w(0xdb), w(0xc0), w(0xfe), w(0x78), \ ++ w(0xcd), w(0x5a), w(0xf4), w(0x1f), w(0xdd), w(0xa8), w(0x33), \ ++ w(0x88), w(0x07), w(0xc7), w(0x31), w(0xb1), w(0x12), w(0x10), \ ++ w(0x59), w(0x27), w(0x80), w(0xec), w(0x5f), w(0x60), w(0x51), \ ++ w(0x7f), w(0xa9), w(0x19), w(0xb5), w(0x4a), w(0x0d), w(0x2d), \ ++ w(0xe5), w(0x7a), w(0x9f), w(0x93), w(0xc9), w(0x9c), w(0xef), \ ++ w(0xa0), w(0xe0), w(0x3b), w(0x4d), w(0xae), w(0x2a), w(0xf5), \ ++ w(0xb0), w(0xc8), w(0xeb), w(0xbb), w(0x3c), w(0x83), w(0x53), \ ++ w(0x99), w(0x61), w(0x17), w(0x2b), w(0x04), w(0x7e), w(0xba), \ ++ w(0x77), w(0xd6), w(0x26), w(0xe1), w(0x69), w(0x14), w(0x63), \ ++ w(0x55), w(0x21), w(0x0c), w(0x7d) \ ++ } ++/* clang-format on */ ++ ++/* X Macro trick. See https://en.wikipedia.org/wiki/X_Macro */ ++#define SSE2NEON_AES_H0(x) (x) ++static const uint8_t _sse2neon_sbox[256] = SSE2NEON_AES_SBOX(SSE2NEON_AES_H0); ++static const uint8_t _sse2neon_rsbox[256] = SSE2NEON_AES_RSBOX(SSE2NEON_AES_H0); ++#undef SSE2NEON_AES_H0 ++ ++/* x_time function and matrix multiply function */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#define SSE2NEON_XT(x) (((x) << 1) ^ ((((x) >> 7) & 1) * 0x1b)) ++#define SSE2NEON_MULTIPLY(x, y) \ ++ (((y & 1) * x) ^ ((y >> 1 & 1) * SSE2NEON_XT(x)) ^ \ ++ ((y >> 2 & 1) * SSE2NEON_XT(SSE2NEON_XT(x))) ^ \ ++ ((y >> 3 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))) ^ \ ++ ((y >> 4 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))))) ++#endif ++ ++// In the absence of crypto extensions, implement aesenc using regular NEON ++// intrinsics instead. See: ++// https://www.workofard.com/2017/01/accelerated-aes-for-the-arm64-linux-kernel/ ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/ and ++// for more information. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ /* shift rows */ ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ /* sub bytes */ ++ // Here, we separate the whole 256-bytes table into 4 64-bytes tables, and ++ // look up each of the table. After each lookup, we load the next table ++ // which locates at the next 64-bytes. In the meantime, the index in the ++ // table would be smaller than it was, so the index parameters of ++ // `vqtbx4q_u8()` need to be added the same constant as the loaded tables. ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ // 'w-0x40' equals to 'vsubq_u8(w, vdupq_n_u8(0x40))' ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ /* mix columns */ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ /* add round key */ ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A implementation for a table-based AES */ ++#define SSE2NEON_AES_B2W(b0, b1, b2, b3) \ ++ (((uint32_t) (b3) << 24) | ((uint32_t) (b2) << 16) | \ ++ ((uint32_t) (b1) << 8) | (uint32_t) (b0)) ++// muliplying 'x' by 2 in GF(2^8) ++#define SSE2NEON_AES_F2(x) ((x << 1) ^ (((x >> 7) & 1) * 0x011b /* WPOLY */)) ++// muliplying 'x' by 3 in GF(2^8) ++#define SSE2NEON_AES_F3(x) (SSE2NEON_AES_F2(x) ^ x) ++#define SSE2NEON_AES_U0(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F2(p), p, p, SSE2NEON_AES_F3(p)) ++#define SSE2NEON_AES_U1(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p, p) ++#define SSE2NEON_AES_U2(p) \ ++ SSE2NEON_AES_B2W(p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p) ++#define SSE2NEON_AES_U3(p) \ ++ SSE2NEON_AES_B2W(p, p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p)) ++ ++ // this generates a table containing every possible permutation of ++ // shift_rows() and sub_bytes() with mix_columns(). ++ static const uint32_t ALIGN_STRUCT(16) aes_table[4][256] = { ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U0), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U1), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U2), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U3), ++ }; ++#undef SSE2NEON_AES_B2W ++#undef SSE2NEON_AES_F2 ++#undef SSE2NEON_AES_F3 ++#undef SSE2NEON_AES_U0 ++#undef SSE2NEON_AES_U1 ++#undef SSE2NEON_AES_U2 ++#undef SSE2NEON_AES_U3 ++ ++ uint32_t x0 = _mm_cvtsi128_si32(a); // get a[31:0] ++ uint32_t x1 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); // get a[63:32] ++ uint32_t x2 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xAA)); // get a[95:64] ++ uint32_t x3 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); // get a[127:96] ++ ++ // finish the modulo addition step in mix_columns() ++ __m128i out = _mm_set_epi32( ++ (aes_table[0][x3 & 0xff] ^ aes_table[1][(x0 >> 8) & 0xff] ^ ++ aes_table[2][(x1 >> 16) & 0xff] ^ aes_table[3][x2 >> 24]), ++ (aes_table[0][x2 & 0xff] ^ aes_table[1][(x3 >> 8) & 0xff] ^ ++ aes_table[2][(x0 >> 16) & 0xff] ^ aes_table[3][x1 >> 24]), ++ (aes_table[0][x1 & 0xff] ^ aes_table[1][(x2 >> 8) & 0xff] ^ ++ aes_table[2][(x3 >> 16) & 0xff] ^ aes_table[3][x0 >> 24]), ++ (aes_table[0][x0 & 0xff] ^ aes_table[1][(x1 >> 8) & 0xff] ^ ++ aes_table[2][(x2 >> 16) & 0xff] ^ aes_table[3][x3 >> 24])); ++ ++ return _mm_xor_si128(out, RoundKey); ++#endif ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // inverse mix columns ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & ++ 0x1b); // muliplying 'v' by 2 in GF(2^8) ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ // inverse mix columns ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ // sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A implementation */ ++ uint8_t v[16] = { ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 0)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 5)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 10)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 15)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 4)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 9)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 14)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 3)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 8)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 13)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 2)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 7)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 12)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 1)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 6)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 11)], ++ }; ++ ++ return vreinterpretq_m128i_u8(vld1q_u8(v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (int i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++#if defined(__aarch64__) ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ uint8x16_t v = vreinterpretq_u8_m128i(a); ++ uint8x16_t w; ++ ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ // multiplying 'v' by 2 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ return vreinterpretq_m128i_u8(w); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ vst1q_u8((uint8_t *) v, vreinterpretq_u8_m128i(a)); ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)); ++#endif ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++// ++// Emits the Advanced Encryption Standard (AES) instruction aeskeygenassist. ++// This instruction generates a round key for AES encryption. See ++// https://kazakov.life/2017/11/01/cryptocurrency-mining-on-ios-devices/ ++// for details. ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++#if defined(__aarch64__) ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); ++ uint8x16_t v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), _a); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), _a - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), _a - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), _a - 0xc0); ++ ++ uint32x4_t v_u32 = vreinterpretq_u32_u8(v); ++ uint32x4_t ror_v = vorrq_u32(vshrq_n_u32(v_u32, 8), vshlq_n_u32(v_u32, 24)); ++ uint32x4_t ror_xor_v = veorq_u32(ror_v, vdupq_n_u32(rcon)); ++ ++ return vreinterpretq_m128i_u32(vtrn2q_u32(v_u32, ror_xor_v)); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint32_t X1 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); ++ uint32_t X3 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); ++ for (int i = 0; i < 4; ++i) { ++ ((uint8_t *) &X1)[i] = _sse2neon_sbox[((uint8_t *) &X1)[i]]; ++ ((uint8_t *) &X3)[i] = _sse2neon_sbox[((uint8_t *) &X3)[i]]; ++ } ++ return _mm_set_epi32(((X3 >> 8) | (X3 << 24)) ^ rcon, X3, ++ ((X1 >> 8) | (X1 << 24)) ^ rcon, X1); ++#endif ++} ++#undef SSE2NEON_AES_SBOX ++#undef SSE2NEON_AES_RSBOX ++ ++#if defined(__aarch64__) ++#undef SSE2NEON_XT ++#undef SSE2NEON_MULTIPLY ++#endif ++ ++#else /* __ARM_FEATURE_CRYPTO */ ++// Implements equivalent of 'aesenc' by combining AESE (with an empty key) and ++// AESMC and then manually applying the real key as an xor operation. This ++// unfortunately means an additional xor op; the compiler should be able to ++// optimize this away for repeated calls however. See ++// https://blog.michaelbrase.com/2018/05/08/emulating-x86-aes-intrinsics-on-armv8-a ++// for more details. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesmcq_u8(vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(b))); ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesimcq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return _mm_xor_si128(vreinterpretq_m128i_u8(vaeseq_u8( ++ vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ RoundKey); ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8( ++ veorq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++ return vreinterpretq_m128i_u8(vaesimcq_u8(vreinterpretq_u8_m128i(a))); ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst." ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++ // AESE does ShiftRows and SubBytes on A ++ uint8x16_t u8 = vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)); ++ ++#ifndef _MSC_VER ++ uint8x16_t dest = { ++ // Undo ShiftRows step from AESE and extract X1 and X3 ++ u8[0x4], u8[0x1], u8[0xE], u8[0xB], // SubBytes(X1) ++ u8[0x1], u8[0xE], u8[0xB], u8[0x4], // ROT(SubBytes(X1)) ++ u8[0xC], u8[0x9], u8[0x6], u8[0x3], // SubBytes(X3) ++ u8[0x9], u8[0x6], u8[0x3], u8[0xC], // ROT(SubBytes(X3)) ++ }; ++ uint32x4_t r = {0, (unsigned) rcon, 0, (unsigned) rcon}; ++ return vreinterpretq_m128i_u8(dest) ^ vreinterpretq_m128i_u32(r); ++#else ++ // We have to do this hack because MSVC is strictly adhering to the CPP ++ // standard, in particular C++03 8.5.1 sub-section 15, which states that ++ // unions must be initialized by their first member type. ++ ++ // As per the Windows ARM64 ABI, it is always little endian, so this works ++ __n128 dest{ ++ ((uint64_t) u8.n128_u8[0x4] << 0) | ((uint64_t) u8.n128_u8[0x1] << 8) | ++ ((uint64_t) u8.n128_u8[0xE] << 16) | ++ ((uint64_t) u8.n128_u8[0xB] << 24) | ++ ((uint64_t) u8.n128_u8[0x1] << 32) | ++ ((uint64_t) u8.n128_u8[0xE] << 40) | ++ ((uint64_t) u8.n128_u8[0xB] << 48) | ++ ((uint64_t) u8.n128_u8[0x4] << 56), ++ ((uint64_t) u8.n128_u8[0xC] << 0) | ((uint64_t) u8.n128_u8[0x9] << 8) | ++ ((uint64_t) u8.n128_u8[0x6] << 16) | ++ ((uint64_t) u8.n128_u8[0x3] << 24) | ++ ((uint64_t) u8.n128_u8[0x9] << 32) | ++ ((uint64_t) u8.n128_u8[0x6] << 40) | ++ ((uint64_t) u8.n128_u8[0x3] << 48) | ++ ((uint64_t) u8.n128_u8[0xC] << 56)}; ++ ++ dest.n128_u32[1] = dest.n128_u32[1] ^ rcon; ++ dest.n128_u32[3] = dest.n128_u32[3] ^ rcon; ++ ++ return dest; ++#endif ++} ++#endif ++ ++/* Others */ ++ ++// Perform a carry-less multiplication of two 64-bit integers, selected from a ++// and b according to imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clmulepi64_si128 ++FORCE_INLINE __m128i _mm_clmulepi64_si128(__m128i _a, __m128i _b, const int imm) ++{ ++ uint64x2_t a = vreinterpretq_u64_m128i(_a); ++ uint64x2_t b = vreinterpretq_u64_m128i(_b); ++ switch (imm & 0x11) { ++ case 0x00: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_low_u64(b))); ++ case 0x01: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_low_u64(b))); ++ case 0x10: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_high_u64(b))); ++ case 0x11: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_high_u64(b))); ++ default: ++ abort(); ++ } ++} ++ ++FORCE_INLINE unsigned int _sse2neon_mm_get_denormals_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_DENORMALS_ZERO_ON : _MM_DENORMALS_ZERO_OFF; ++} ++ ++// Count the number of bits set to 1 in unsigned 32-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u32 ++FORCE_INLINE int _mm_popcnt_u32(unsigned int a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcount) ++ return __builtin_popcount(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits(a); ++#else ++ return (int) vaddlv_u8(vcnt_u8(vcreate_u8((uint64_t) a))); ++#endif ++#else ++ uint32_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ ++ vst1_u32(&count, count32x2_val); ++ return count; ++#endif ++} ++ ++// Count the number of bits set to 1 in unsigned 64-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u64 ++FORCE_INLINE int64_t _mm_popcnt_u64(uint64_t a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcountll) ++ return __builtin_popcountll(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits64(a); ++#else ++ return (int64_t) vaddlv_u8(vcnt_u8(vcreate_u8(a))); ++#endif ++#else ++ uint64_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ uint64x1_t count64x1_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ count64x1_val = vpaddl_u32(count32x2_val); ++ vst1_u64(&count, count64x1_val); ++ return count; ++#endif ++} ++ ++FORCE_INLINE void _sse2neon_mm_set_denormals_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_DENORMALS_ZERO_MASK) == _MM_DENORMALS_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Return the current 64-bit value of the processor's time-stamp counter. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=rdtsc ++FORCE_INLINE uint64_t _rdtsc(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t val; ++ ++ /* According to ARM DDI 0487F.c, from Armv8.0 to Armv8.5 inclusive, the ++ * system counter is at least 56 bits wide; from Armv8.6, the counter ++ * must be 64 bits wide. So the system counter could be less than 64 ++ * bits wide and it is attributed with the flag 'cap_user_time_short' ++ * is true. ++ */ ++#if defined(_MSC_VER) ++ val = _ReadStatusReg(ARM64_SYSREG(3, 3, 14, 0, 2)); ++#else ++ __asm__ __volatile__("mrs %0, cntvct_el0" : "=r"(val)); ++#endif ++ ++ return val; ++#else ++ uint32_t pmccntr, pmuseren, pmcntenset; ++ // Read the user mode Performance Monitoring Unit (PMU) ++ // User Enable Register (PMUSERENR) access permissions. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c14, 0" : "=r"(pmuseren)); ++ if (pmuseren & 1) { // Allows reading PMUSERENR for user mode code. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c12, 1" : "=r"(pmcntenset)); ++ if (pmcntenset & 0x80000000UL) { // Is it counting? ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c13, 0" : "=r"(pmccntr)); ++ // The counter is set up to count every 64th cycle ++ return (uint64_t) (pmccntr) << 6; ++ } ++ } ++ ++ // Fallback to syscall as we can't enable PMUSERENR in user mode. ++ struct timeval tv; ++ gettimeofday(&tv, NULL); ++ return (uint64_t) (tv.tv_sec) * 1000000 + tv.tv_usec; ++#endif ++} ++ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma pop_macro("ALIGN_STRUCT") ++#pragma pop_macro("FORCE_INLINE") ++#endif ++ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma GCC pop_options ++#endif ++ ++#endif diff --git a/recipes/snapatac2/build.sh b/recipes/snapatac2/build.sh new file mode 100644 index 0000000000000..e2ff247a81a4f --- /dev/null +++ b/recipes/snapatac2/build.sh @@ -0,0 +1,17 @@ +#!/bin/bash -ex + +# Use a custom temporary directory as home on macOS. +# (not sure why this is useful, but people use it in bioconda recipes) +if [ `uname` == Darwin ]; then + export HOME=`mktemp -d` +fi + +# build statically linked binary with Rust +RUST_BACKTRACE=1 +# Build the package using maturin - should produce *.whl files. +maturin build -m snapatac2-python/Cargo.toml -b pyo3 --interpreter "${PYTHON}" --release --strip + +# Install *.whl files using pip +${PYTHON} -m pip install snapatac2-python/target/wheels/*.whl --no-deps --no-build-isolation --no-cache-dir -vvv + +cd ${SRC_DIR}/snapatac2-python/ && cargo clean && rm -rf ${BUILD_PREFIX}/.cargo diff --git a/recipes/snapatac2/build_failure.linux-64.yaml b/recipes/snapatac2/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..192d0da24c090 --- /dev/null +++ b/recipes/snapatac2/build_failure.linux-64.yaml @@ -0,0 +1,4 @@ +recipe_sha: 0020e1f18882dacb116e05fb00a1e435b21713b2e0a803ece479d299f8c00347 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: disk space +reason: GitHub Actions runs out of space trying to build all python versions. \ No newline at end of file diff --git a/recipes/snapatac2/build_failure.osx-64.yaml b/recipes/snapatac2/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..4a6f367e00bb0 --- /dev/null +++ b/recipes/snapatac2/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 0020e1f18882dacb116e05fb00a1e435b21713b2e0a803ece479d299f8c00347 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + = note: ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/snapatac2_1717630619008/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libproc_macro-d9904b6b430ac650.rlib(proc_macro-d9904b6b430ac650.proc_macro.f7284eae513ccf25-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/snapatac2_1717630619008/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libstd-2ad7f97be9e16ca5.rlib(std-2ad7f97be9e16ca5.std.73125d0ae810e61b-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/snapatac2_1717630619008/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcore-1638dc700d175798.rlib(core-1638dc700d175798.core.b1c2fc210f4dfff9-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/snapatac2_1717630619008/_build_env/lib/rustlib/x86_64-apple-darwin/lib/liballoc-0ff05b9b25b786cc.rlib(alloc-0ff05b9b25b786cc.alloc.9242d371e396bc4c-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/snapatac2_1717630619008/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libhashbrown-0e3ea0ec18336be2.rlib(hashbrown-0e3ea0ec18336be2.hashbrown.febebf65344cb99d-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/snapatac2_1717630619008/_build_env/lib/rustlib/x86_64-apple-darwin/lib/librustc_demangle-37f4c48e230f618e.rlib(rustc_demangle-37f4c48e230f618e.rustc_demangle.9fdffeb2b56169d1-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/snapatac2_1717630619008/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libgimli-de95e5c2a2ace281.rlib(gimli-de95e5c2a2ace281.gimli.72653df79598dcb2-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/snapatac2_1717630619008/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libobject-0e1339b212cc7409.rlib(object-0e1339b212cc7409.object.e3756fe3fb577255-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/snapatac2_1717630619008/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libmemchr-925e672b3deb429c.rlib(memchr-925e672b3deb429c.memchr.4dc4a05d80618598-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/snapatac2_1717630619008/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libaddr2line-e92d517a950bccd8.rlib(addr2line-e92d517a950bccd8.addr2line.7eb29e6a0a38fefd-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/snapatac2_1717630619008/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libpanic_unwind-8ce93eee8bf4c86e.rlib(panic_unwind-8ce93eee8bf4c86e.panic_unwind.a3b8ea81b157ee45-cgu.0.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + ld: warning: object file (/opt/mambaforge/envs/bioconda/conda-bld/snapatac2_1717630619008/_build_env/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-7f42af62722c8f43.rlib(compiler_builtins-7f42af62722c8f43.compiler_builtins.19fed66cffb9e9f5-cgu.089.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.9) + Undefined symbols for architecture x86_64: + "_getentropy", referenced from: + std::sys::pal::unix::rand::hashmap_random_keys::hcc27ed0e9fd421d6 in libstd-2ad7f97be9e16ca5.rlib(std-2ad7f97be9e16ca5.std.73125d0ae810e61b-cgu.0.rcgu.o) + ld: symbol(s) not found for architecture x86_64 + clang-16: error: linker command failed with exit code 1 (use -v to see invocation) + + + error: could not compile serde_derive (lib) due to 1 previous error + maturin failed + Caused by: Failed to build a native library through cargo + Caused by: Cargo build finished with "exit status: 101": env -u CARGO PYO3_ENVIRONMENT_SIGNATURE="cpython-3.11-64bit" PYO3_PYTHON="/opt/mambaforge/envs/bioconda/conda-bld/snapatac2_1717630619008/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin/python" PYTHON_SYS_EXECUTABLE="/opt/mambaforge/envs/bioconda/conda-bld/snapatac2_1717630619008/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin/python" "cargo" "rustc" "--features" "pyo3/extension-module" "--target" "x86_64-apple-darwin" "--message-format" "json-render-diagnostics" "--manifest-path" "/opt/mambaforge/envs/bioconda/conda-bld/snapatac2_1717630619008/work/snapatac2-python/Cargo.toml" "--release" "--lib" "--" "-C" "link-arg=-undefined" "-C" "link-arg=dynamic_lookup" "-C" "link-args=-Wl,-install_name,@rpath/snapatac2._snapatac2.cpython-311-darwin.so" "-C" "link-arg=-s" + Extracting download + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/snapatac2/cargo.toml.patch + Traceback (most recent call last): + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/snapatac2/cargo.toml.patch with args: + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + ['-Np1', '-i', '/tmp/tmpdjpsa4y_/cargo.toml.patch.native', '--binary'] + Patch analysis gives: + [[ RA-MD1LOVE ]] - [[ cargo.toml.patch ]] + + Key: + + R :: Reversible A :: Applicable + Y :: Build-prefix patch in use M :: Minimal, non-amalgamated + D :: Dry-runnable N :: Patch level (1 is preferred) + L :: Patch level not-ambiguous O :: Patch applies without offsets + V :: Patch applies without fuzz E :: Patch applies without emitting to stderr + + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/snapatac2_1717630619008/work + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/snapatac2_1717630619008/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/snapatac2_1717630619008/_build_env + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/snapatac2_1717630619008/work + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/snapatac2-2.6.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/snapatac2_1717630619008/work/conda_build.sh']' returned non-zero exit status 1. + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/snapatac2-2.6.4 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 +# Last 100 lines of the build log. diff --git a/recipes/snapatac2/cargo.toml.patch b/recipes/snapatac2/cargo.toml.patch new file mode 100644 index 0000000000000..ab9d2e3b1743d --- /dev/null +++ b/recipes/snapatac2/cargo.toml.patch @@ -0,0 +1,13 @@ +diff --git a/snapatac2-python/Cargo.toml b/snapatac2-python/Cargo.toml +index 9a0acf0..38b1f44 100644 +--- a/snapatac2-python/Cargo.toml ++++ b/snapatac2-python/Cargo.toml +@@ -45,7 +45,7 @@ tikv-jemallocator = {version = "0.5", features = ["disable_initial_exec_tls"]} + + [dependencies.pyo3] + version = "0.21.2" +-features = ["extension-module", "anyhow"] ++features = ["anyhow"] + + [lib] + name = "snapatac2" diff --git a/recipes/snapatac2/meta.yaml b/recipes/snapatac2/meta.yaml new file mode 100644 index 0000000000000..8989a9d16459f --- /dev/null +++ b/recipes/snapatac2/meta.yaml @@ -0,0 +1,75 @@ +{% set name = "snapatac2" %} +{% set version = "2.6.4" %} +{% set sha256 = "6ce80ae2c67f0ae05efed2b785b25e4d13fcc9d58697291b7d578a628b74bd05" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snapatac2-{{ version }}.tar.gz + sha256: {{ sha256 }} + patches: + - cargo.toml.patch + +build: + number: 1 + skip: True # [py < 39 or py > 312] + run_exports: + - {{ pin_subpackage('snapatac2', max_pin="x") }} + +requirements: + build: + - {{ compiler('rust') }} + - {{ compiler('c') }} + - make + - cmake + host: + - python + - pip + - maturin + - zlib + run: + - python + - anndata + - harmonypy >=0.0.9 + - python-igraph >=0.10.3 + - multiprocess + - macs3 + - natsort + - numpy >=1.16.0 + - pandas >=1.0,<2.1.2 + - plotly >=5.6.0 + - polars >=0.20.0 + - pooch >=1.6.0 + - pyarrow + - pyfaidx >=0.7.0,<0.8.0 + - python-kaleido + - rustworkx + - scanorama >=1.7.3 + - scanpy + - scipy >=1.4 + - scikit-learn >=1.0 + - scvi-tools >=1.0 + - tqdm >=4.62 + - typing_extensions + - umap-learn >=0.5.0 + - xgboost >=1.4 + +test: + imports: + - snapatac2 + +about: + home: https://github.com/kaizhang/SnapATAC2 + summary: "SnapATAC2: Single-cell epigenomics analysis pipeline" + license: MIT + license_family: MIT + license_file: LICENSE + doc_url: https://kzhang.org/SnapATAC2/ + dev_url: https://github.com/kaizhang/SnapATAC2 + +extra: + identifiers: + - biotools:snapatac + - doi:10.1038/s41592-023-02139-9 diff --git a/recipes/snapgene-reader/meta.yaml b/recipes/snapgene-reader/meta.yaml index e843f58ee99a9..1cb425a9fe59f 100644 --- a/recipes/snapgene-reader/meta.yaml +++ b/recipes/snapgene-reader/meta.yaml @@ -1,5 +1,5 @@ {% set name = "snapgene-reader" %} -{% set version = "0.1.20" %} +{% set version = "0.1.21" %} package: name: {{ name|lower }} @@ -7,36 +7,37 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/snapgene_reader-{{ version }}.tar.gz - sha256: 5fbae3e8624a9578f584f840733328eecbf17ac837b021add56a560fce2f107f + sha256: b786cb8f9f6d8a0961057882ebcb68e318c185091a2ed36f552a2954df887a26 build: noarch: python - script: {{ PYTHON }} -m pip install . -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv number: 0 + run_exports: + - {{ pin_subpackage('snapgene-reader', max_pin="x.x") }} requirements: host: - pip - - python + - python >=3 run: - biopython - html2text - - python + - python >=3 - xmltodict test: imports: - snapgene_reader - commands: - - pip check - requires: - - pip about: - home: https://pypi.org/project/snapgene-reader/ - summary: Convert Snapgene *.dna files dict/json/biopython. + home: "https://github.com/Edinburgh-Genome-Foundry/SnapGeneReader" + summary: "Convert Snapgene *.dna files dict/json/biopython." license: MIT - license_file: LICENCE.txt + license_family: MIT + license_file: "LICENCE.txt" + dev_url: "https://github.com/Edinburgh-Genome-Foundry/SnapGeneReader" + doc_url: "https://github.com/Edinburgh-Genome-Foundry/SnapGeneReader/blob/v{{ version }}/README.rst" extra: recipe-maintainers: diff --git a/recipes/sneakernet-qc/build.sh b/recipes/sneakernet-qc/build.sh new file mode 100644 index 0000000000000..ebc02f9c1a0c2 --- /dev/null +++ b/recipes/sneakernet-qc/build.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +perl Makefile.PL +make +make install + +mkdir -pv $PREFIX/bin +mkdir -pv $PREFIX/lib/perl5 +mkdir -pv $PREFIX/db/{fasta,blast} +find $PREFIX -type d -exec chmod -v 775 {} \; + +files=$(\ls -1 SneakerNet.plugins/*.pl SneakerNet.plugins/*.py SneakerNet.plugins/*.sh scripts/*.pl) +ls -lh $files +chmod -v +x $files + +for i in $files; do + cp -nv $i $PREFIX/bin/$(basename $i) +done +mkdir -pv $PREFIX/lib/perl5 +cp -v lib/perl5/SneakerNet.pm $PREFIX/lib/perl5 + +# SneakerNet depends on plugins in the SneakerNet.plugins +# subdirectory. Hack this path by just providing a symlink +ln -sv $PREFIX/bin $PREFIX/SneakerNet.plugins + +# Need to keep the conf.bak and copy it to +# the working copy conf. +cp -r config.bak $PREFIX/config.bak +cp -r config.bak $PREFIX/config +cat $PREFIX/config.bak/settings.conf | \ + sed '/KRAKEN_DEFAULT_DB/d' > $PREFIX/config/settings.conf + +KALAMARI_VER=$(downloadKalamari.pl --version) +KRAKEN_DEFAULT_DB="$PREFIX/share/kalamari-$KALAMARI_VER/kalamari-kraken1" +echo "KRAKEN_DEFAULT_DB $KRAKEN_DEFAULT_DB" >> $PREFIX/config/settings.conf + +export PERL5LIB=$PERL5LIB:$PREFIX/lib/perl5 + + diff --git a/recipes/sneakernet-qc/meta.yaml b/recipes/sneakernet-qc/meta.yaml new file mode 100644 index 0000000000000..eb8c0c0a72f1e --- /dev/null +++ b/recipes/sneakernet-qc/meta.yaml @@ -0,0 +1,85 @@ +{% set name = "sneakernet-qc" %} +{% set version = "0.27.0" %} + +package: + name: {{ name }} + version: {{ version }} + +build: + number: 1 + noarch: generic + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} + +source: + url: https://github.com/lskatz/sneakernet/archive/v{{ version }}.tar.gz + sha256: 4fd8c041f5c18ea0392c2734f7a09c136ccbb4662afaea7a7f189ca0ca63ddc4 + +test: + commands: + # Just see if the usage pops up, to inspect visually + - SneakerNetPlugins.pl --help || true + # This command for the version should give exit code 0 + - SneakerNetPlugins.pl --version + +about: + license: MIT + home: https://github.com/lskatz/sneakernet + summary: "A QC pipeline for raw reads" + +extra: + recipe-maintainers: + - lskatz + identifiers: + - doi:10.21105/joss.02334 + +requirements: + build: + - make + - perl + - kalamari + run: + - blast + - bowtie2 + - chewbbaca + - colorid_bv + - fastqc + - flash + - kalamari + - kma >=1.4 + - kmc + - kraken >=1, <2 + - krona + - lighter + - make + - perl-text-levenshtein >=0.15 + - mash >=2 + - megahit + - mlst + - multiqc + - perl + - perl-app-cpanminus + - perl-bioperl + # unsure if I successfully removed this req but + # TODO remove cg-pipeline entirely + - perl-cg-pipeline + - perl-config-simple + - perl-file-slurp + - perl-gd + - perl-gdgraph + - perl-list-moreutils + - perl-moo + - perl-statistics-descriptive + - pilon + - prodigal + - python >=3.7 + - quast + - salmid + - samclip + - seqtk + - shovill + - skesa >=2.4 + - spades + - staramr + - trimmomatic + diff --git a/recipes/sneakernet-qc/post-link.sh b/recipes/sneakernet-qc/post-link.sh new file mode 100644 index 0000000000000..cf8a7ddc72eec --- /dev/null +++ b/recipes/sneakernet-qc/post-link.sh @@ -0,0 +1,14 @@ +echo " +=================== +SneakerNet depends on the Kalamari database. +This database is not included in the conda package. +You can download the database by running the following commands: + + downloadKalamari.sh + buildTaxonomy.sh + filterTaxonomy.sh + buildKraken1.sh + +=================== + +" > $PREFIX/.messages.txt diff --git a/recipes/sneep/build_failure.osx-64.yaml b/recipes/sneep/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..7b7f2b4a25dd6 --- /dev/null +++ b/recipes/sneep/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 2449a710f015e732724a6193b0447a5061f54c4661bdae62ddb48d9371b56483 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + clang: 14.0.6-h694c41f_1 conda-forge + clang-14: 14.0.6-default_hdb78580_1 conda-forge + clang_osx-64: 14.0.6-h3113cd8_6 conda-forge + clangxx: 14.0.6-default_hdb78580_1 conda-forge + clangxx_osx-64: 14.0.6-h6f97653_6 conda-forge + compiler-rt: 14.0.6-h613da45_0 conda-forge + compiler-rt_osx-64: 14.0.6-hab78ec2_0 conda-forge + ld64_osx-64: 609-hfd63004_13 conda-forge + libclang-cpp14: 14.0.6-default_hdb78580_1 conda-forge + libcxx: 17.0.6-h88467a6_0 conda-forge + libllvm14: 14.0.6-hc8e404f_4 conda-forge + libzlib: 1.3.1-h87427d6_1 conda-forge + llvm-openmp: 16.0.6-hff08bdf_0 conda-forge + llvm-tools: 14.0.6-hc8e404f_4 conda-forge + make: 4.3-h22f3db7_1 conda-forge + openssl: 3.3.1-h87427d6_0 conda-forge + sigtool: 0.1.3-h88f4db0_0 conda-forge + tapi: 1100.0.11-h9ce4665_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache + Downloading source to cache: v1.1_663a327abb.tar.gz + Downloading https://github.com/SchulzLab/SNEEP/archive/refs/tags/v1.1.tar.gz + Success + ld: warning: directory not found for option '-L/usr/local/opt/libomp/lib' + ld: library not found for -lomp + clang-14: error: linker command failed with exit code 1 (use -v to see invocation) + make: *** [Makefile:22: all] Error 1 + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/sneep_1717643045632/work + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/sneep_1717643045632/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/sneep_1717643045632/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/sneep_1717643045632/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sneep-1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/sneep_1717643045632/work/conda_build.sh']' returned non-zero exit status 2. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sneep-1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-pie -headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sneep-1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sneep-1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + x86_64-apple-darwin13.4.0-clang Matrix_new.cpp -std=c11 -Xpreprocessor -fopenmp -lomp -stdlib=libc "-L/usr/local/opt/libomp/lib" -o Matrix +# Last 100 lines of the build log. diff --git a/recipes/sneep/meta.yaml b/recipes/sneep/meta.yaml index 9eb96b1f9a664..eeae5849ea3dd 100644 --- a/recipes/sneep/meta.yaml +++ b/recipes/sneep/meta.yaml @@ -1,19 +1,19 @@ - - -{% set name = "SNEEP" %} -{% set version = "0.7" %} +{% set name = "SNEEP" %} +{% set version = "1.1" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://github.com/SchulzLab/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz - sha256: ba199ca16ec1df120577114dc90a42774fe62bfc091270da94e908f4ca4531d7 + url: https://github.com/SchulzLab/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: 663a327abb928770c3252630a2ba3a0f69888f81e803567e32a2e5df09d94de9 build: skip: True # [py2k] - number: 0 + number: 1 + run_exports: + - {{ pin_subpackage('sneep', max_pin="x.x") }} requirements: build: @@ -27,16 +27,17 @@ requirements: - python - numpy >=1.19 - scipy - - matplotlib-base + - matplotlib-base - bedtools >=2.27.1 test: commands: - differentialBindingAffinity_multipleSNPs -h - + about: home: https://github.com/SchulzLab/SNEEP dev_url: https://github.com/SchulzLab/SNEEP license: MIT - summary: Identify regulatory non-coding SNPs (rSNPs) + license_family: MIT + summary: Identify regulatory non-coding SNPs (rSNPs) diff --git a/recipes/sniffles/meta.yaml b/recipes/sniffles/meta.yaml index a6fd59a98adda..445120497e1c0 100644 --- a/recipes/sniffles/meta.yaml +++ b/recipes/sniffles/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "2.2" %} -{% set sha256 = "744ee05017e0e95a4b2e21020d7a7277d8fabae2c2c20cd982287bb7775d8ecf" %} +{% set version = "2.4" %} +{% set sha256 = "e3c2f552105cd5f5941d6291b9ee9dbfe634ad19b5e7a64fa26b9e2daa6547d4" %} package: name: sniffles @@ -12,15 +12,19 @@ source: build: number: 0 noarch: python - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vvv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('sniffles', max_pin="x") }} requirements: host: - - python >=3.7 - - setuptools + - python >=3.10 + - pip run: - - python >=3.7 - - pysam + - python >=3.10 + - pysam >=0.21.0 + - edlib >=1.3.9 + - psutil >=5.9.4 test: commands: @@ -33,3 +37,5 @@ about: license_family: MIT summary: Sniffles is a structural variation caller using third generation sequencing (PacBio or Oxford Nanopore) + doc_url: https://github.com/fritzsedlazeck/Sniffles/wiki + dev_url: https://github.com/fritzsedlazeck/Sniffles diff --git a/recipes/snikt/meta.yaml b/recipes/snikt/meta.yaml index 1cfad845068f7..7c2127467789c 100644 --- a/recipes/snikt/meta.yaml +++ b/recipes/snikt/meta.yaml @@ -10,7 +10,7 @@ source: sha256: {{ sha256 }} build: - number: 1 + number: 2 noarch: generic requirements: diff --git a/recipes/snippy/meta.yaml b/recipes/snippy/meta.yaml index f20c442102beb..42b89cd854fde 100644 --- a/recipes/snippy/meta.yaml +++ b/recipes/snippy/meta.yaml @@ -12,8 +12,10 @@ source: sha256: '{{ sha256 }}' build: - number: 3 + number: 4 noarch: generic + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: run: @@ -26,6 +28,7 @@ requirements: - parallel >=20170422 - freebayes >=1.3.1 - vcflib >=1.0.0_rc3,<=1.0.2 # crashes with v1.0.3 and later + - tabixpp 1.1.0 # vcflib requires libtabixpp.so.0, no longer available as of 1.1.2 - snpeff >=4.3,<=5.0 # crashes with v5.1 - vt >=0.5772 - snp-sites >=2.4 diff --git a/recipes/snk-cli/meta.yaml b/recipes/snk-cli/meta.yaml new file mode 100644 index 0000000000000..9e1434504395f --- /dev/null +++ b/recipes/snk-cli/meta.yaml @@ -0,0 +1,52 @@ +{% set name = "snk-cli" %} +{% set version = "0.5.5" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name | replace("-","_") }}-{{ version }}.tar.gz + sha256: 5ba6a88aca3473751152cdcd22b0cdc31b0f4034d9eabf859a3dfc6dcc4a487f + +build: + run_exports: + - {{ pin_subpackage('snk-cli', max_pin="x.x") }} + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + +requirements: + host: + - python >=3.8 + - hatchling + - pip + run: + - python >=3.8 + - snakemake-minimal >=7 + - typer >=0.9,<1.dev0 + - shellingham >=1.3.0 + - rich >=10.11.0 + - pulp <2.8 + - ascii-art >=5.9,<6.dev0 + - makefun >=1.15,<2.dev0 + - datrie >=0.8.2 + +test: + imports: + - snk_cli + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/wytamma/snk-cli + dev_url: https://github.com/wytamma/snk-cli + summary: Dynamically generate CLIs from Snakemake configuration files + license: MIT + license_file: LICENSE.txt + +extra: + recipe-maintainers: + - Wytamma diff --git a/recipes/snk/meta.yaml b/recipes/snk/meta.yaml new file mode 100644 index 0000000000000..26dfad0f59b98 --- /dev/null +++ b/recipes/snk/meta.yaml @@ -0,0 +1,54 @@ +{% set name = "snk" %} +{% set version = "0.30.1" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name | replace("-","_") }}-{{ version }}.tar.gz + sha256: 6bb3ed373c94ed4d9764b3ced41aecddc112c373400925f1166d52b5e5ca7c90 + +build: + run_exports: + - {{ pin_subpackage('snk', max_pin="x.x") }} + entry_points: + - snk = snk.main:app + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + +requirements: + host: + - python >=3.8 + - hatchling + - pip + - git + run: + - python >=3.8 + - gitpython >=3.1.0,<3.2.dev0 + - snk-cli >=0.5.2 + - git + +test: + imports: + - snk + commands: + - pip check + - snk --help + requires: + - pip + - git + +about: + home: https://snk.wytamma.com + dev_url: https://github.com/wytamma/snk + summary: A Snakemake CLI and Workflow Management System. + license: MIT + license_file: LICENSE.txt + +extra: + recipe-maintainers: + - Wytamma + + diff --git a/recipes/snp-dists/build.sh b/recipes/snp-dists/build.sh index bdb3176711ee0..7956eaad13516 100644 --- a/recipes/snp-dists/build.sh +++ b/recipes/snp-dists/build.sh @@ -1,5 +1,8 @@ #!/bin/bash +set -xe + mkdir -p "${PREFIX}/bin" -LIBS="${LDFLAGS}" make CC="${CC}" PREFIX="${PREFIX}" -cp snp-dists ${PREFIX}/bin/ +LIBS="${LDFLAGS}" make -j ${CPU_COUNT} CC="${CC}" PREFIX="${PREFIX}" +cp -f snp-dists ${PREFIX}/bin/ +chmod 0755 ${PREFIX}/bin/snp-dists \ No newline at end of file diff --git a/recipes/snp-dists/meta.yaml b/recipes/snp-dists/meta.yaml index f3d796d7fc77a..caa28398f11b4 100644 --- a/recipes/snp-dists/meta.yaml +++ b/recipes/snp-dists/meta.yaml @@ -6,7 +6,9 @@ package: version: {{ version }} build: - number: 3 + number: 4 + run_exports: + - {{ pin_subpackage('snp-dists', max_pin="x.x") }} source: url: https://github.com/tseemann/snp-dists/archive/v{{ version }}.tar.gz @@ -35,3 +37,7 @@ about: license: GPL3 license_file: LICENSE summary: Convert a FASTA alignment to SNP distance matrix + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/snp-pileup/meta.yaml b/recipes/snp-pileup/meta.yaml index 3c7154f34bc33..f601bcf01ad9c 100644 --- a/recipes/snp-pileup/meta.yaml +++ b/recipes/snp-pileup/meta.yaml @@ -10,8 +10,10 @@ source: sha256: '{{sha256}}' build: - number: 5 + number: 7 skip: True # [osx] + run_exports: + - {{ pin_subpackage('snp-pileup', max_pin="x.x") }} requirements: build: @@ -31,3 +33,7 @@ about: license: MIT summary: Compute SNP pileup at reference positions in one or more input bam files. Output is ready for the R package facets license_family: MIT + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/snp-sites/build.sh b/recipes/snp-sites/build.sh index 43c933d8aedbd..b480fe37a692a 100644 --- a/recipes/snp-sites/build.sh +++ b/recipes/snp-sites/build.sh @@ -1,4 +1,7 @@ #!/bin/bash + +set -xe + export CFLAGS="-I$PREFIX/include" export LDFLAGS="-L$PREFIX/lib" export CPATH=${PREFIX}/include @@ -7,5 +10,5 @@ mkdir -p $PREFIX/bin autoreconf -i -f ./configure --prefix=$PREFIX -make +make -j ${CPU_COUNT} make install diff --git a/recipes/snp-sites/meta.yaml b/recipes/snp-sites/meta.yaml index 6bb93224acac9..b0e134e4bc456 100644 --- a/recipes/snp-sites/meta.yaml +++ b/recipes/snp-sites/meta.yaml @@ -7,7 +7,9 @@ package: version: '{{version}}' build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage('snp-sites', max_pin="x") }} source: url: https://github.com/sanger-pathogens/snp-sites/archive/v{{version}}.tar.gz @@ -39,3 +41,7 @@ about: license_file: LICENSE summary: Finds SNP sites from a multi-FASTA alignment file. license_family: GPL + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/snpeff/meta.yaml b/recipes/snpeff/meta.yaml index 51e7473e002ef..6b38b7fac1b96 100644 --- a/recipes/snpeff/meta.yaml +++ b/recipes/snpeff/meta.yaml @@ -4,17 +4,12 @@ {% set version = "5.2" %} {% set sha256 = "60ad2eec66c4f086b8cc7812e5654dce2dd500dd218774da490326e6a4e585f7" %} -about: - home: 'http://snpeff.sourceforge.net/' - license: "LGPLv3" - summary: "Genetic variant annotation and effect prediction toolbox" - package: name: snpeff version: {{ version }} build: - number: 0 + number: 1 noarch: generic run_exports: - {{ pin_compatible('snpeff', max_pin="x.x") }} @@ -31,8 +26,14 @@ requirements: test: commands: + - snpEff -help --dry-run - snpEff -version +about: + home: 'http://snpeff.sourceforge.net/' + license: "LGPLv3" + summary: "Genetic variant annotation and effect prediction toolbox" + extra: notes: 'The tool is available as command `snpEff`. Note that the package version is slightly different from upstream, this is to make sure conda will order the package versions correctly.' identifiers: diff --git a/recipes/snpeff/snpeff.py b/recipes/snpeff/snpeff.py index 1bd17fde71954..69f9830eba365 100755 --- a/recipes/snpeff/snpeff.py +++ b/recipes/snpeff/snpeff.py @@ -16,6 +16,10 @@ jar_file = 'snpEff.jar' +# Phone home has been disabled due to usage of an unregistered domain +# If in the future the "phone home" feature becomes "opt-in" (e.g. -Log) +# please remove the below to allow users to opt in +disable_phone_home_opts = ['-noLog'] default_jvm_mem_opts = ['-Xms512m', '-Xmx1g'] @@ -49,6 +53,7 @@ def jvm_opts(argv): prop_opts = [] pass_args = [] exec_dir = None + is_dryrun = False for arg in argv: if arg.startswith('-D'): @@ -61,6 +66,8 @@ def jvm_opts(argv): exec_dir = arg.split('=')[1].strip('"').strip("'") if not os.path.exists(exec_dir): shutil.copytree(real_dirname(sys.argv[0]), exec_dir, symlinks=False, ignore=None) + elif arg.startswith('--dry-run'): + is_dryrun = True else: pass_args.append(arg) @@ -73,7 +80,7 @@ def jvm_opts(argv): if mem_opts == [] and getenv('_JAVA_OPTIONS') is None: mem_opts = default_jvm_mem_opts - return (mem_opts, prop_opts, pass_args, exec_dir) + return (mem_opts, prop_opts, pass_args, exec_dir, is_dryrun) def main(): @@ -85,7 +92,7 @@ def main(): If the exec_dir dies not exist, we copy the jar file, lib, and resources to the exec_dir directory. """ - (mem_opts, prop_opts, pass_args, exec_dir) = jvm_opts(sys.argv[1:]) + (mem_opts, prop_opts, pass_args, exec_dir, is_dryrun) = jvm_opts(sys.argv[1:]) jar_dir = exec_dir if exec_dir else real_dirname(sys.argv[0]) if pass_args != [] and pass_args[0].startswith('eu'): @@ -95,10 +102,13 @@ def main(): jar_path = os.path.join(jar_dir, jar_file) - java_args = [java] + mem_opts + prop_opts + [jar_arg] + [jar_path] + pass_args + java_args = [java] + mem_opts + prop_opts + [jar_arg] + [jar_path] + pass_args + disable_phone_home_opts - sys.exit(subprocess.call(java_args)) + if is_dryrun: + sys.exit(print(java_args)) + else: + sys.exit(subprocess.call(java_args)) if __name__ == '__main__': - main() \ No newline at end of file + main() diff --git a/recipes/soapdenovo2-errorcorrection/meta.yaml b/recipes/soapdenovo2-errorcorrection/meta.yaml index 600789cf543a6..4ba9f5163c0ee 100644 --- a/recipes/soapdenovo2-errorcorrection/meta.yaml +++ b/recipes/soapdenovo2-errorcorrection/meta.yaml @@ -7,7 +7,7 @@ source: sha256: 9f4f38ec0629045d0f2da67c8221636f545f1bdd500b7e4c0ad7e95db1794a8d build: - number: 7 + number: 8 skip: True # [osx] requirements: diff --git a/recipes/soda-gallery/meta.yaml b/recipes/soda-gallery/meta.yaml index 018c0cf1d077c..195229557cff0 100644 --- a/recipes/soda-gallery/meta.yaml +++ b/recipes/soda-gallery/meta.yaml @@ -1,5 +1,5 @@ {% set name = "soda-gallery" %} -{% set version = "1.0.1" %} +{% set version = "1.2.0" %} package: name: "{{ name|lower }}" @@ -7,33 +7,28 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 7b505ef8283e04fb381ad566b488aab3bd995641cf2b5c5380739d414ea6472e + sha256: dc71f503ecdf3d54ad00c9648176e98c0a1db37a18fe6fe7d5d1ea763340e92c build: noarch: python number: 0 entry_points: - soda = soda.soda:main - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('soda-gallery', max_pin="x") }} requirements: host: - - beautifulsoup4 >=4.9.3 - - certifi >=2021.5.30 - - jinja2 >=3.0.1 - - pdfminer >=20191125 - - pdfrw >=0.4 - pip - - python - - requests >=2.25.1 - - requests-kerberos >=0.12.0 + - python >=3 run: - beautifulsoup4 >=4.9.3 - - certifi >=2021.5.30 + - certifi >=2024.2.2 - jinja2 >=3.0.1 - pdfminer >=20191125 - pdfrw >=0.4 - - python + - python >=3 - requests >=2.25.1 - requests-kerberos >=0.12.0 diff --git a/recipes/solexaqa/meta.yaml b/recipes/solexaqa/meta.yaml index a111e619ac3e3..53ab33a0a0874 100644 --- a/recipes/solexaqa/meta.yaml +++ b/recipes/solexaqa/meta.yaml @@ -6,7 +6,7 @@ package: version: {{ version }} build: - number: 5 + number: 6 skip: True # [not linux] source: diff --git a/recipes/solvebio/meta.yaml b/recipes/solvebio/meta.yaml index 81b7235233edb..da8e049db6098 100644 --- a/recipes/solvebio/meta.yaml +++ b/recipes/solvebio/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "2.26.0" %} -{% set sha256 = "36bba6f199f6f4abca4c5b0aa239692d6c4f2ea83c99ec123009ab1a30770de9" %} +{% set version = "2.29.1" %} +{% set sha256 = "e5e1e6eb044fb8300b64af768e1a1cae8ee66d665b55190daa44ec2489f7a2a6" %} package: name: solvebio @@ -23,7 +23,7 @@ requirements: host: - python - pip - - setuptools <58 # setup.py uses use_2to3 + #- setuptools <58 # setup.py uses use_2to3 run: - python - six diff --git a/recipes/somalier/meta.yaml b/recipes/somalier/meta.yaml index 84fc5a4dd9425..32d5d2be59eec 100644 --- a/recipes/somalier/meta.yaml +++ b/recipes/somalier/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.2.18" %} +{% set version = "0.2.19" %} package: name: somalier @@ -6,7 +6,7 @@ package: source: url: https://github.com/brentp/somalier/archive/refs/tags/v{{ version }}.tar.gz - sha256: e95ba09a1ec0bd352643ea1907a1c3d23a43801b176e10fdbee198c0bec02af4 + sha256: d93b34d15deb12d75ce4637857d4c74eb94572e0aac6303df539a345e3485fa8 # Skip OSX following https://github.com/bioconda/bioconda-recipes/blob/73a14544ca8ef7926797b39259cb58b83732b7da/recipes/slivar/meta.yaml build: @@ -19,7 +19,7 @@ requirements: build: - {{ compiler('c') }} - curl - - nim + - nim <2 host: - openblas - htslib @@ -38,6 +38,7 @@ about: license: MIT summary: 'fast sample-swap and relatedness checks on BAMs/CRAMs/VCFs/GVCFs.' + extra: identifiers: - doi:10.1186/s13073-020-00761-2 diff --git a/recipes/somaticseq/meta.yaml b/recipes/somaticseq/meta.yaml index 7dd1f0e852f15..74a9c02ee9b89 100644 --- a/recipes/somaticseq/meta.yaml +++ b/recipes/somaticseq/meta.yaml @@ -1,6 +1,6 @@ {% set name = "somaticseq" %} -{% set version = "3.7.3" %} -{% set sha256 = "3721c03646496980a17141fe63a90e09ee10328edc1b692aae57bc07c2477e3c" %} +{% set version = "3.8.0" %} +{% set sha256 = "d936bab4b042ce6f7e13420fda747c264e4047be9e1ed0186c2379a74f526412" %} package: name: {{ name|lower }} @@ -13,7 +13,9 @@ source: build: number: 0 noarch: python - script: {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv + run_exports: + - {{ pin_subpackage('somaticseq', max_pin="x") }} requirements: host: @@ -25,7 +27,7 @@ requirements: - pysam - scipy - pandas - - xgboost + - xgboost >=1.4 - r-base - r-ada - bedtools @@ -35,6 +37,7 @@ requirements: - muse - lofreq - scalpel + - pydantic # Strelka relies on python 2 and cannot be included test: @@ -45,7 +48,7 @@ test: - makeSomaticScripts.py --help about: - home: http://bioinform.github.io/somaticseq/ + home: https://bioinform.github.io/somaticseq/ license: BSD-2-Clause license_file: LICENSE.txt license_family: BSD diff --git a/recipes/sonicparanoid/meta.yaml b/recipes/sonicparanoid/meta.yaml index 0d0dbbb675b14..8a7c121c39ac8 100644 --- a/recipes/sonicparanoid/meta.yaml +++ b/recipes/sonicparanoid/meta.yaml @@ -1,60 +1,81 @@ -# Project ID of SonicParanoid in git lab is 11148448 - {% set name = "sonicparanoid" %} -{% set version = "1.3.8" %} - -# Working example of link that can be downloaded -# https://gitlab.com/api/v4/projects/11148448/repository/archive.zip?sha=6af30d9d7e7ebf40ca151ccbe2de56bdb1ccea8a +{% set version = "2.0.8" %} +{% set sha256 = "3649ca513f3ad72f495ccd3aa9871ca9e7bdc0bef21b4efa9e93eeae405c24c2" %} package: - name: "{{ name|lower }}" - version: "{{ version }}" + name: {{ name|lower }} + version: {{ version }} source: - url: https://gitlab.com/salvo981/sonicparanoid2/-/archive/v{{ version }}/sonicparanoid2-v{{ version }}.tar.gz - sha256: d573bb761e619adc14e51736f73d3142049cb1e00f5d61f10e081566edaefaec - + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/sonicparanoid-{{ version }}.tar.gz + sha256: {{ sha256 }} + patches: + - sys_tools.patch + - use-env-vars.patch build: - number: 3 - skip: True # [py2k or py < 37 or py > 39] - script: "{{ PYTHON }} -m pip install . --no-deps --no-cache-dir -vvv " + number: 0 + skip: True # [py < 39 or py >= 313] + script: + - "mkdir -p ${PREFIX}/bin" + - "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + entry_points: + - sonicparanoid = sonicparanoid.sonic_paranoid:main + - sonicparanoid-get-test-data = sonicparanoid.get_test_data:main + - sonicparanoid-get-profiles = sonicparanoid.get_pfam_profiles:main + - sonicparanoid-extract = sonicparanoid.sonic_paranoid_extract:main + - sonic-debug-infer-ortho-table = sonicparanoid.sonic_infer_ortho_table:main + run_exports: + - {{ pin_subpackage(name, max_pin='x') }} requirements: build: - - {{ compiler('cxx') }} - {{ compiler('c') }} host: - python - pip - - setuptools >=57.4.0 - - wheel >=0.37.0 - - Cython >=0.29.24 + - python-build >=1.2.1 + - cython + - numpy run: - python - - numpy >=1.21 - - pandas >=1.3.2 - - scipy >=1.7.1 - - biopython >=1.79 - - psutil >=5.8.0 - - scikit-learn >=0.24.2 - - filetype >=1.0.7 + - {{ pin_compatible('numpy') }} + - pandas >=2.2.0 + - scipy <1.13 + - biopython >=1.83 + - psutil >=6.0.0 + - scikit-learn >=1.5.0 + - filetype >=1.2.0 + - gdown >=5.2.0 + - gensim >=4.2.0 + - mypy >=1.10.0 + - smart-open >=7.0.1 + - tqdm >=4.66.0 - mmseqs2 >=13.45111 - diamond >=2.0.12 - blast >=2.12.0 - mcl >=14.137 test: + imports: + - sonicparanoid commands: - - "sonicparanoid --help" + - sonicparanoid --help + - sonicparanoid-get-test-data --help + - sonicparanoid-get-profiles --help + - sonicparanoid-extract --help about: - home: "http://iwasakilab.bs.s.u-tokyo.ac.jp/sonicparanoid/" - license: "GNU General Public License v3" - license_family: "GPL3" + home: "https://gitlab.com/salvo981/sonicparanoid2" + license: "GPL-3.0-only" + license_family: "GPL" license_file: "LICENSE.md" - summary: "SonicParanoid: fast, easy and accurate orthology inference" + summary: "SonicParanoid: fast, accurate, and comprehensive orthology inference with machine learning and language models" + dev_url: "https://gitlab.com/salvo981/sonicparanoid2" + doc_url: "https://gitlab.com/salvo981/sonicparanoid2/-/wikis/home" extra: identifiers: + - doi:10.1101/2023.05.14.540736 - doi:10.1093/bioinformatics/bty631 + - biotools:SonicParanoid diff --git a/recipes/sonicparanoid/sys_tools.patch b/recipes/sonicparanoid/sys_tools.patch new file mode 100644 index 0000000000000..7f775954cf725 --- /dev/null +++ b/recipes/sonicparanoid/sys_tools.patch @@ -0,0 +1,38 @@ +diff --git a/sonicparanoid/sys_tools.py b/sonicparanoid/sys_tools.py +index 5fff04f..4cde5cb 100644 +--- a/sonicparanoid/sys_tools.py ++++ b/sonicparanoid/sys_tools.py +@@ -5,6 +5,7 @@ import subprocess + import logging + from shutil import copyfileobj + from filetype import guess_mime ++from typing import List, Tuple + + __module_name__ = "System Tools" + __source__ = "sys_tools.py" +@@ -332,7 +333,7 @@ def getShell(): + + + +-def is_conda_env() -> tuple[bool, str]: ++def is_conda_env() -> Tuple[bool, str]: + """ + Check if a CONDA environment is being used. + """ +@@ -351,14 +352,14 @@ def is_conda_env() -> tuple[bool, str]: + + + +-def is_mamba_env() -> tuple[bool, str]: ++def is_mamba_env() -> Tuple[bool, str]: + """ + Check if a Mamba environment is being used. + """ + # The identification is done based on the path of the python binaries + # Possible paths are chosen based on conda documentation + # https://docs.anaconda.com/anaconda/user-guide/tasks/integration/python-path +- mambaTypes: list[str] = ["mamba", "micromamba"] ++ mambaTypes: List[str] = ["mamba", "micromamba"] + # Extract the path with the binaries + pyBinPrefix: str = sys.exec_prefix + # Check if the prefix contains one of the anaconda path keywords diff --git a/recipes/sonicparanoid/use-env-vars.patch b/recipes/sonicparanoid/use-env-vars.patch new file mode 100644 index 0000000000000..93f588cfd93a5 --- /dev/null +++ b/recipes/sonicparanoid/use-env-vars.patch @@ -0,0 +1,17 @@ +diff --git i/setup.py w/setup.py +index e99c995..fc79fa0 100755 +--- i/setup.py ++++ w/setup.py +@@ -59,12 +59,6 @@ if _CYTHON_INSTALLED: + + ''' + +-# Force to use the default version of gcc and g++ +-if platform.system() == "Linux": +- os.environ["CC"] = "gcc" +- os.environ["CXX"] = "g++" +- +- + def makedir(path): + """Create a directory including the intermediate directories in the path if not existing.""" + try: diff --git a/recipes/sonlib/build.sh b/recipes/sonlib/build.sh index 3786386a73c83..79758c33af1fb 100644 --- a/recipes/sonlib/build.sh +++ b/recipes/sonlib/build.sh @@ -1,3 +1,14 @@ #!/bin/bash +set -eux + +# prevent header contamination +rm -rf externalTools/ + +make -j $CPU_COUNT shlib +mkdir -p "$PREFIX"/{bin,lib,include/sonLib} +install sonLib_daemonize.py "${PREFIX}/bin/" +# some header files are named generic enough to warrant namespacing +cp lib/*.h "${PREFIX}/include/sonLib/" +cp lib/*.so "${PREFIX}/lib/" $PYTHON setup.py install --single-version-externally-managed --record=record.txt diff --git a/recipes/sonlib/build_failure.osx-64.yaml b/recipes/sonlib/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..ad4b54678e4a7 --- /dev/null +++ b/recipes/sonlib/build_failure.osx-64.yaml @@ -0,0 +1,106 @@ +recipe_sha: b98d13e34ff1057452ff95bc6a9c0f37501cd0ffb3686635e720e8c066868b63 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + cp inc/sonLibString.h ../lib/sonLibString.h + cp inc/sonLibTreap.h ../lib/sonLibTreap.h + cp inc/sonLibTree.h ../lib/sonLibTree.h + cp inc/sonLibTuples.h ../lib/sonLibTuples.h + cp inc/sonLibTypes.h ../lib/sonLibTypes.h + cp inc/stGraph.h ../lib/stGraph.h + cp inc/stJson.h ../lib/stJson.h + cp inc/stMatrix.h ../lib/stMatrix.h + cp inc/stPhylogeny.h ../lib/stPhylogeny.h + cp inc/stPosetAlignment.h ../lib/stPosetAlignment.h + cp inc/stSafeC.h ../lib/stSafeC.h + cp inc/stSpimapLayer.h ../lib/stSpimapLayer.h + cp inc/stThreadPool.h ../lib/stThreadPool.h + cp inc/stUnionFind.h ../lib/stUnionFind.h + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/avl.o impl/avl.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/bioioC.o impl/bioioC.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/commonC.o impl/commonC.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/fastCMaths.o impl/fastCMaths.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/hashTableC.o impl/hashTableC.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/hashTableC_itr.o impl/hashTableC_itr.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/jsmn.o impl/jsmn.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/lz4.o impl/lz4.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/lz4hc.o impl/lz4hc.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/pairwiseAlignment.o impl/pairwiseAlignment.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/sonLibCache.o impl/sonLibCache.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/sonLibCommon.o impl/sonLibCommon.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/sonLibCompression.o impl/sonLibCompression.c + impl/sonLibTuples.c:16:34: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] + stIntTuple *stIntTuple_construct0() { + ^ + void + 1 warning generated. + impl/stGraph.c:83:49: warning: implicit conversion from 'long long' to 'double' changes value from 9223372036854775807 to 9223372036854775808 [-Wimplicit-const-int-float-conversion] + vD->distance = (v == sourceVertex ? 0 : INT64_MAX); + ~ ^~~~~~~~~ + /Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/stdint.h:75:26: note: expanded from macro 'INT64_MAX' + #define INT64_MAX 9223372036854775807LL + ^~~~~~~~~~~~~~~~~~~~~ + 1 warning generated. + impl/stSafeC.c:28:9: warning: variable 'nbytes' set but not used [-Wunused-but-set-variable] + int nbytes = write(2, buf, strlen(buf)); + ^ + 1 warning generated. + mkdir -p /opt/mambaforge/envs/bioconda/conda-bld/sonlib_1717959623386/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin /opt/mambaforge/envs/bioconda/conda-bld/sonlib_1717959623386/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib /opt/mambaforge/envs/bioconda/conda-bld/sonlib_1717959623386/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/sonLib + install sonLib_daemonize.py /opt/mambaforge/envs/bioconda/conda-bld/sonlib_1717959623386/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/ + cp lib/avl.h lib/bioioC.h lib/commonC.h lib/fastCMaths.h lib/hashTableC.h lib/hashTableC_itr.h lib/hashTablePrivateC.h lib/jsmn.h lib/pairwiseAlignment.h lib/safesort.h lib/sonLib.h lib/sonLibCache.h lib/sonLibCommon.h lib/sonLibCompression.h lib/sonLibConnectivity.h lib/sonLibEulerTour.h lib/sonLibExcept.h lib/sonLibFile.h lib/sonLibHash.h lib/sonLibKVDatabase.h lib/sonLibKVDatabaseConf.h lib/sonLibList.h lib/sonLibMath.h lib/sonLibNaiveConnectivity.h lib/sonLibRandom.h lib/sonLibSet.h lib/sonLibSortedSet.h lib/sonLibString.h lib/sonLibTreap.h lib/sonLibTree.h lib/sonLibTuples.h lib/sonLibTypes.h lib/stGraph.h lib/stJson.h lib/stMatrix.h lib/stPhylogeny.h lib/stPosetAlignment.h lib/stSafeC.h lib/stSpimapLayer.h lib/stThreadPool.h lib/stUnionFind.h /opt/mambaforge/envs/bioconda/conda-bld/sonlib_1717959623386/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/include/sonLib/ + cp lib/libsonLib.so /opt/mambaforge/envs/bioconda/conda-bld/sonlib_1717959623386/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/ + /opt/mambaforge/envs/bioconda/conda-bld/sonlib_1717959623386/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/python setup.py install --single-version-externally-managed --record=record.txt + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/conda-bld/sonlib_1717959623386/work/setup.py", line 3, in + from setuptools import setup, find_packages + ModuleNotFoundError: No module named 'setuptools' + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/sonLibConnectivity.o impl/sonLibConnectivity.c + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/sonlib_1717959623386/work/conda_build.sh']' returned non-zero exit status 1. + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/sonLibEulerTour.o impl/sonLibEulerTour.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/sonLibExcept.o impl/sonLibExcept.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/sonLibFile.o impl/sonLibFile.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/sonLibHash.o impl/sonLibHash.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/sonLibKVDatabase.o impl/sonLibKVDatabase.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/sonLibKVDatabaseConf.o impl/sonLibKVDatabaseConf.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/sonLibKVDatabase_BigRecordFile.o impl/sonLibKVDatabase_BigRecordFile.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/sonLibKVDatabase_MySql.o impl/sonLibKVDatabase_MySql.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/sonLibKVDatabase_Redis.o impl/sonLibKVDatabase_Redis.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/sonLibKVDatabase_TokyoCabinet.o impl/sonLibKVDatabase_TokyoCabinet.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/sonLibList.o impl/sonLibList.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/sonLibMath.o impl/sonLibMath.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/sonLibNaiveConnectivity.o impl/sonLibNaiveConnectivity.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/sonLibRandom.o impl/sonLibRandom.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/sonLibSet.o impl/sonLibSet.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/sonLibSortedSet.o impl/sonLibSortedSet.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/sonLibString.o impl/sonLibString.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/sonLibTreap.o impl/sonLibTreap.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/sonLibTree.o impl/sonLibTree.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/sonLibTuples.o impl/sonLibTuples.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/stGraph.o impl/stGraph.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/stJson.o impl/stJson.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/stMatrix.o impl/stMatrix.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/stPhylogeny.o impl/stPhylogeny.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/stPosetAlignment.o impl/stPosetAlignment.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/stSafeC.o impl/stSafeC.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/stThreadPool.o impl/stThreadPool.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -c -o impl/stUnionFind.o impl/stUnionFind.c + x86_64-apple-darwin13.4.0-clang -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -Iinc -Iimpl -fsigned-char -Iinc -Iimpl -fsigned-char -I../externalTools/quicktree_1.1/include/ -I ../externalTools/cutest -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sonlib-2.0.dev88 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -fPIC -std=c99 -fsigned-char -O3 -g -Wall --pedantic -funroll-loops -DNDEBUG -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -shared -fPIC impl/avl.o impl/bioioC.o impl/commonC.o impl/fastCMaths.o impl/hashTableC.o impl/hashTableC_itr.o impl/jsmn.o impl/lz4.o impl/lz4hc.o impl/pairwiseAlignment.o impl/sonLibCache.o impl/sonLibCommon.o impl/sonLibCompression.o impl/sonLibConnectivity.o impl/sonLibEulerTour.o impl/sonLibExcept.o impl/sonLibFile.o impl/sonLibHash.o impl/sonLibKVDatabase.o impl/sonLibKVDatabaseConf.o impl/sonLibKVDatabase_BigRecordFile.o impl/sonLibKVDatabase_MySql.o impl/sonLibKVDatabase_Redis.o impl/sonLibKVDatabase_TokyoCabinet.o impl/sonLibList.o impl/sonLibMath.o impl/sonLibNaiveConnectivity.o impl/sonLibRandom.o impl/sonLibSet.o impl/sonLibSortedSet.o impl/sonLibString.o impl/sonLibTreap.o impl/sonLibTree.o impl/sonLibTuples.o impl/stGraph.o impl/stJson.o impl/stMatrix.o impl/stPhylogeny.o impl/stPosetAlignment.o impl/stSafeC.o impl/stThreadPool.o impl/stUnionFind.o -lquicktree -lz -o libsonLib.so + mv libsonLib.so ../lib/ + make[1]: Leaving directory '$SRC_DIR/C' +# Last 100 lines of the build log. +category: |- + compiler error diff --git a/recipes/sonlib/meta.yaml b/recipes/sonlib/meta.yaml index 73ab7fdf6ae2d..d0c56979f46d8 100644 --- a/recipes/sonlib/meta.yaml +++ b/recipes/sonlib/meta.yaml @@ -1,27 +1,62 @@ +{% set name = "sonlib" %} +# No version is tagged upstream yet, but commit e25181b changes the setup.py version to 2.0 +# For now, set the .dev version to number of commits on master since then: +# git tag v2.0 e25181b && git describe --tags +{% set version = "2.0.dev88" %} +{% set commit = "9734083dffb180e3d76c323609c082b401336c0a" %} + package: - name: sonlib - version: "1.1.0" + name: {{ name }} + version: {{ version }} source: - url: https://pypi.python.org/packages/c5/63/5c597eb4895ad59e6b57050de0dbc579b400e9e2bfc7a698d6b19d91caaf/sonLib-1.1.0.tar.gz - md5: b6051a1c664ad51f8620d80a3652aa05 + url: https://github.com/ComparativeGenomicsToolkit/sonLib/archive/{{ commit }}.tar.gz + sha256: 6669056081bc96205de14b3c59c70c379dd57ab031d630480e8110e3d448628b + patches: + - patches/0001-Add-devendored-shared-library-build.patch + - patches/0002-Remove-need-for-CuTest-during-build.patch build: - noarch: python - number: 2 + number: 1 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: + build: + - {{ compiler('c') }} + - make + - pkg-config host: - - python <3 - - pip + - python + - zlib + - quicktree run: - - python <3 + - python + - networkx test: imports: - sonLib + - sonLib.bioio + - sonLib.misc + - sonLib.nxnewick + - sonLib.nxtree + - sonLib.tree + requires: + - {{ compiler('c') }} + - make + - zlib + - cutest + source_files: + - Makefile + - include.mk + - allTests.py + - bioioTest.py + - cigarsTest.py + - C/Makefile + - C/tests/* about: - home: https://github.com/benedictpaten/sonLib + home: https://github.com/ComparativeGenomicsToolkit/sonLib license: MIT summary: 'Small general purpose library for C and Python with focus on bioinformatics.' diff --git a/recipes/sonlib/patches/0001-Add-devendored-shared-library-build.patch b/recipes/sonlib/patches/0001-Add-devendored-shared-library-build.patch new file mode 100644 index 0000000000000..3de5a2a9f3c45 --- /dev/null +++ b/recipes/sonlib/patches/0001-Add-devendored-shared-library-build.patch @@ -0,0 +1,247 @@ +From 1e06372425d4492bc943b34ade7a9ef443cb1bec Mon Sep 17 00:00:00 2001 +From: Travis Wrightsman +Date: Tue, 23 Jan 2024 21:04:37 -0500 +Subject: [PATCH] Add devendored shared library build + +--- + C/Makefile | 14 ++++++++++++++ + C/impl/stPhylogeny.c | 6 +++--- + C/tests/cigarsTest.c | 10 +++++----- + C/tests/fastaCTest.c | 6 +++--- + C/tests/kvDatabaseTestCommon.c | 2 +- + C/tests/sonLibCommonTest.c | 2 +- + C/tests/sonLibExceptTest.c | 6 +++--- + C/tests/sonLibGlobalsTest.h | 2 +- + C/tests/stPhylogenyTest.c | 4 ++-- + C/tests/stThreadPoolTest.c | 2 +- + C/tests/stUnionFindTest.c | 2 +- + Makefile | 6 ++++++ + setup.py | 2 +- + 13 files changed, 42 insertions(+), 22 deletions(-) + +diff --git a/C/Makefile b/C/Makefile +index fcb627a..92856ac 100644 +--- a/C/Makefile ++++ b/C/Makefile +@@ -1,4 +1,6 @@ + rootPath = .. ++BINDIR = ../bin ++LIBDIR = ../lib + + include ../include.mk + +@@ -23,6 +25,13 @@ LDLIBS = ${LIBDIR}/sonLib.a ${dblibs} ${LIBS} + + all : ${LIBDIR}/sonLib.a ${testProgs} ${libHeadersDep} + ++shlib : ${LIBDIR}/libsonLib.so ++ ++tests-shlib: ++ ${CC} ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -o ${rootPath}/sonLibTests tests/allTests.c ${libTests} -lsonLib -lcutest -lz -lm -lpthread ++ ${CC} ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -o ${rootPath}/sonLib_cigarTest tests/cigarsTest.c -l sonLib -lz -lpthread ++ ${CC} ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -o ${rootPath}/sonLib_fastaCTest tests/fastaCTest.c -l sonLib -lz -lpthread ++ + # note: old Makefile put .o files in this directory, clean if for now (FIXME: remove soon) + clean : + rm -rf ${BINDIR} ${LIBDIR} ${libObjs} *.o +@@ -62,5 +71,10 @@ ${LIBDIR}/sonLib.a : ${libObjs} + ${RANLIB} sonLib.a + mv sonLib.a ${LIBDIR}/ + ++${LIBDIR}/libsonLib.so : ${libObjs} ++ @mkdir -p $(dir $@) ++ ${CC} ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -shared -fPIC ${libObjs} -lquicktree -lz -o libsonLib.so ++ mv libsonLib.so ${LIBDIR}/ ++ + test: + ${PYTHON} allTests.py --testLength=SHORT --logLevel CRITICAL +diff --git a/C/impl/stPhylogeny.c b/C/impl/stPhylogeny.c +index fd0fcf4..33b594d 100644 +--- a/C/impl/stPhylogeny.c ++++ b/C/impl/stPhylogeny.c +@@ -2,9 +2,9 @@ + #include "sonLib.h" + #include "stPhylogeny.h" + // QuickTree includes +-#include "cluster.h" +-#include "tree.h" +-#include "buildtree.h" ++#include "quicktree/cluster.h" ++#include "quicktree/tree.h" ++#include "quicktree/buildtree.h" + // Spimap C/C++ translation layer include + #include "stSpimapLayer.h" + +diff --git a/C/tests/cigarsTest.c b/C/tests/cigarsTest.c +index 5189f69..a4547ba 100644 +--- a/C/tests/cigarsTest.c ++++ b/C/tests/cigarsTest.c +@@ -9,11 +9,11 @@ + #include + #include + +-#include "fastCMaths.h" +-#include "avl.h" +-#include "commonC.h" +-#include "bioioC.h" +-#include "pairwiseAlignment.h" ++#include "sonLib/fastCMaths.h" ++#include "sonLib/avl.h" ++#include "sonLib/commonC.h" ++#include "sonLib/bioioC.h" ++#include "sonLib/pairwiseAlignment.h" + + int main(int argc, char *argv[]) { + int64_t i; +diff --git a/C/tests/fastaCTest.c b/C/tests/fastaCTest.c +index 9cc81db..4d41ca4 100644 +--- a/C/tests/fastaCTest.c ++++ b/C/tests/fastaCTest.c +@@ -9,9 +9,9 @@ + #include + #include + +-#include "fastCMaths.h" +-#include "commonC.h" +-#include "bioioC.h" ++#include "sonLib/fastCMaths.h" ++#include "sonLib/commonC.h" ++#include "sonLib/bioioC.h" + + int main(int argc, char *argv[]) { + FILE *fileHandle; +diff --git a/C/tests/kvDatabaseTestCommon.c b/C/tests/kvDatabaseTestCommon.c +index eccf3c3..b5a9b21 100644 +--- a/C/tests/kvDatabaseTestCommon.c ++++ b/C/tests/kvDatabaseTestCommon.c +@@ -9,7 +9,7 @@ + */ + #include "sonLibGlobalsTest.h" + #include "kvDatabaseTestCommon.h" +-#include "stSafeC.h" ++#include "sonLib/stSafeC.h" + #include + + /* usage message and exit */ +diff --git a/C/tests/sonLibCommonTest.c b/C/tests/sonLibCommonTest.c +index 1c208fc..6924ffa 100644 +--- a/C/tests/sonLibCommonTest.c ++++ b/C/tests/sonLibCommonTest.c +@@ -11,7 +11,7 @@ + * Author: benedictpaten + */ + #include "sonLibGlobalsTest.h" +-#include "bioioC.h" ++#include "sonLib/bioioC.h" + + static void test_st_logging(CuTest *testCase) { + /* +diff --git a/C/tests/sonLibExceptTest.c b/C/tests/sonLibExceptTest.c +index db00120..4d3f1cf 100644 +--- a/C/tests/sonLibExceptTest.c ++++ b/C/tests/sonLibExceptTest.c +@@ -7,12 +7,12 @@ + /* + * basic tests of stExcept. + */ +-#include "sonLibExcept.h" ++#include "sonLib/sonLibExcept.h" + #include "sonLibGlobalsTest.h" +-#include "sonLibCommon.h" ++#include "sonLib/sonLibCommon.h" + #include + #include +-#include "stSafeC.h" ++#include "sonLib/stSafeC.h" + + /* test throwing through two levels */ + static const char *const ERR1 = "err1"; +diff --git a/C/tests/sonLibGlobalsTest.h b/C/tests/sonLibGlobalsTest.h +index ddb1293..a704b99 100644 +--- a/C/tests/sonLibGlobalsTest.h ++++ b/C/tests/sonLibGlobalsTest.h +@@ -28,6 +28,6 @@ + #include + + #include "CuTest.h" +-#include "sonLib.h" ++#include "sonLib/sonLib.h" + + #endif // SONLIB_GLOBALS_TEST_H_ +diff --git a/C/tests/stPhylogenyTest.c b/C/tests/stPhylogenyTest.c +index ea4c84b..93c3f1d 100644 +--- a/C/tests/stPhylogenyTest.c ++++ b/C/tests/stPhylogenyTest.c +@@ -1,8 +1,8 @@ + #include + #include + #include "CuTest.h" +-#include "sonLib.h" +-#include "stPhylogeny.h" ++#include "sonLib/sonLib.h" ++#include "sonLib/stPhylogeny.h" + + static stIndexedTreeInfo *getIndex(stTree *node) { + assert(node != NULL); +diff --git a/C/tests/stThreadPoolTest.c b/C/tests/stThreadPoolTest.c +index 8a456a6..a3f3128 100644 +--- a/C/tests/stThreadPoolTest.c ++++ b/C/tests/stThreadPoolTest.c +@@ -1,5 +1,5 @@ + #include "CuTest.h" +-#include "sonLib.h" ++#include "sonLib/sonLib.h" + + // Test sorting a few sublists into a larger list to try to catch out + // any race conditions. +diff --git a/C/tests/stUnionFindTest.c b/C/tests/stUnionFindTest.c +index c39826d..b7caf53 100644 +--- a/C/tests/stUnionFindTest.c ++++ b/C/tests/stUnionFindTest.c +@@ -1,5 +1,5 @@ + #include "CuTest.h" +-#include "sonLib.h" ++#include "sonLib/sonLib.h" + + // Simple static test. + static void stUnionFind_staticTest(CuTest *testCase) { +diff --git a/Makefile b/Makefile +index b244b55..e04e298 100644 +--- a/Makefile ++++ b/Makefile +@@ -5,6 +5,9 @@ BINDIR = ./bin + + all : cP ${BINDIR}/sonLib_daemonize.py + ++shlib: ++ cd C && ${MAKE} shlib ++ + clean : cP.clean externalToolsP.clean + rm -f ${BINDIR}/sonLib_daemonize.py + +@@ -23,6 +26,9 @@ externalToolsP.clean : + test : all + PYTHONPATH=src:. PATH=$$(pwd)/bin:$$PATH ${PYTHON} allTests.py --testLength=SHORT --logLevel=WARN + ++tests-shlib: ++ cd C && ${MAKE} tests-shlib ++ + ${BINDIR}/sonLib_daemonize.py : sonLib_daemonize.py cP + cp sonLib_daemonize.py ${BINDIR}/sonLib_daemonize.py + chmod +x ${BINDIR}/sonLib_daemonize.py +diff --git a/setup.py b/setup.py +index 9d96fd0..7db446e 100755 +--- a/setup.py ++++ b/setup.py +@@ -12,7 +12,7 @@ class BuildWithMake(distutils.command.build_py.build_py): + """ + def run(self): + # Call make. +- subprocess.check_call(["make"]) ++ #subprocess.check_call(["make"]) + + # Keep building the Python stuff + distutils.command.build_py.build_py.run(self) +-- +2.39.2 + diff --git a/recipes/sonlib/patches/0002-Remove-need-for-CuTest-during-build.patch b/recipes/sonlib/patches/0002-Remove-need-for-CuTest-during-build.patch new file mode 100644 index 0000000000000..bdb17a155cc5d --- /dev/null +++ b/recipes/sonlib/patches/0002-Remove-need-for-CuTest-during-build.patch @@ -0,0 +1,24 @@ +From 9852a11e4c38f92725f72eefc041cfe5fadc2ea6 Mon Sep 17 00:00:00 2001 +From: Travis Wrightsman +Date: Tue, 23 Jan 2024 22:18:44 -0500 +Subject: [PATCH] Remove need for CuTest during build + +--- + C/impl/sonLibGlobalsInternal.h | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/C/impl/sonLibGlobalsInternal.h b/C/impl/sonLibGlobalsInternal.h +index f8542a0..9a2e51d 100644 +--- a/C/impl/sonLibGlobalsInternal.h ++++ b/C/impl/sonLibGlobalsInternal.h +@@ -29,7 +29,6 @@ + #include + #include + +-#include "CuTest.h" + #include "sonLib.h" + #include "sonLibListPrivate.h" + +-- +2.39.2 + diff --git a/recipes/sonlib/run_test.sh b/recipes/sonlib/run_test.sh new file mode 100644 index 0000000000000..21a8a0e080ad4 --- /dev/null +++ b/recipes/sonlib/run_test.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +set -eux + +make tests-shlib + +PATH="$PWD:$PATH" python allTests.py diff --git a/recipes/sorted_nearest/build_failure.osx-64.yaml b/recipes/sorted_nearest/build_failure.osx-64.yaml deleted file mode 100644 index 7c08d5d09c2e9..0000000000000 --- a/recipes/sorted_nearest/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: aa8b08221fa8e68e1a02f7e6ff820b2afd94c1811832b9422de23482d8c27295 # The commit at which this recipe failed to build. -skiplist: false # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |- - {} is not a Mach-O file - Can't parse the binary at the index #1 - {} is not a Mach-O file - Can't parse the binary at the index #0 - {} is not a Mach-O file - Can't parse the binary at the index #1 - {} is not a Mach-O file - Can't parse the binary at the index #0 - {} is not a Mach-O file - Can't parse the binary at the index #1 - {} is not a Mach-O file - Can't parse the binary at the index #2 - {} is not a Mach-O file - Can't parse the binary at the index #3 - {} is not a Mach-O file - Can't parse the binary at the index #4 - {} is not a Mach-O file - Can't parse the binary at the index #0 - {} is not a Mach-O file - Can't parse the binary at the index #1 - {} is not a Mach-O file - Can't parse the binary at the index #2 - {} is not a Mach-O file - Can't parse the binary at the index #3 - {} is not a Mach-O file - Can't parse the binary at the index #4 - {} is not a Mach-O file - Can't parse the binary at the index #0 - {} is not a Mach-O file - Can't parse the binary at the index #1 - INFO: sysroot: '/System/Library/Frameworks/' files: '['vmnet.framework/Versions/A/_CodeSignature/CodeResources', 'vmnet.framework/Versions/A/Resources/version.plist', 'vmnet.framework/Versions/A/Resources/en.lproj/InfoPlist.strings', 'vmnet.framework/Versions/A/Resources/Info.plist']' - INFO: sysroot: '/usr/lib/' files: '['zsh/5.8.1/zsh/zselect.so', 'zsh/5.8.1/zsh/zpty.so', 'zsh/5.8.1/zsh/zprof.so', 'zsh/5.8.1/zsh/zleparameter.so']' - INFO: sysroot: '/opt/X11/' files: '[]' - INFO (sorted_nearest,lib/python3.8/site-packages/sorted_nearest/src/k_nearest.cpython-38-darwin.so): Needed DSO /System/Library/Frameworks/libSystem.B.dylib found in $SYSROOT - INFO (sorted_nearest,lib/python3.8/site-packages/sorted_nearest/src/merge_by.cpython-38-darwin.so): Needed DSO /System/Library/Frameworks/libSystem.B.dylib found in $SYSROOT - INFO (sorted_nearest,lib/python3.8/site-packages/sorted_nearest/src/cluster_by.cpython-38-darwin.so): Needed DSO /System/Library/Frameworks/libSystem.B.dylib found in $SYSROOT - INFO (sorted_nearest,lib/python3.8/site-packages/sorted_nearest/src/tiles.cpython-38-darwin.so): Needed DSO /System/Library/Frameworks/libSystem.B.dylib found in $SYSROOT - INFO (sorted_nearest,lib/python3.8/site-packages/sorted_nearest/src/introns.cpython-38-darwin.so): Needed DSO /System/Library/Frameworks/libSystem.B.dylib found in $SYSROOT - INFO (sorted_nearest,lib/python3.8/site-packages/sorted_nearest/src/k_nearest_ties.cpython-38-darwin.so): Needed DSO /System/Library/Frameworks/libSystem.B.dylib found in $SYSROOT - INFO (sorted_nearest,lib/python3.8/site-packages/sorted_nearest/src/windows.cpython-38-darwin.so): Needed DSO /System/Library/Frameworks/libSystem.B.dylib found in $SYSROOT - INFO (sorted_nearest,lib/python3.8/site-packages/sorted_nearest/src/max_disjoint_intervals.cpython-38-darwin.so): Needed DSO /System/Library/Frameworks/libSystem.B.dylib found in $SYSROOT - INFO (sorted_nearest,lib/python3.8/site-packages/sorted_nearest/src/clusters.cpython-38-darwin.so): Needed DSO /System/Library/Frameworks/libSystem.B.dylib found in $SYSROOT - INFO (sorted_nearest,lib/python3.8/site-packages/sorted_nearest/src/annotate_clusters.cpython-38-darwin.so): Needed DSO /System/Library/Frameworks/libSystem.B.dylib found in $SYSROOT - INFO (sorted_nearest,lib/python3.8/site-packages/sorted_nearest/src/sorted_nearest.cpython-38-darwin.so): Needed DSO /System/Library/Frameworks/libSystem.B.dylib found in $SYSROOT - WARNING (sorted_nearest): interpreter (Python) package conda-forge::python-3.8.17-hf9b03c3_0_cpython in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to build/ignore_run_exports) - Fixing permissions - INFO :: Time taken to mark (prefix) - 0 replacements in 0 files was 0.20 seconds - TEST START: /opt/mambaforge/envs/bioconda/conda-bld/osx-64/sorted_nearest-0.0.39-py38h604ca31_0.tar.bz2 - Renaming work directory '/opt/mambaforge/envs/bioconda/conda-bld/sorted_nearest_1688764114444/work' to '/opt/mambaforge/envs/bioconda/conda-bld/sorted_nearest_1688764114444/work_moved_sorted_nearest-0.0.39-py38h604ca31_0_osx-64' - shutil.move(work)=/opt/mambaforge/envs/bioconda/conda-bld/sorted_nearest_1688764114444/work, dest=/opt/mambaforge/envs/bioconda/conda-bld/sorted_nearest_1688764114444/work_moved_sorted_nearest-0.0.39-py38h604ca31_0_osx-64) - INFO:conda_build.utils:Renaming work directory '/opt/mambaforge/envs/bioconda/conda-bld/sorted_nearest_1688764114444/work' to '/opt/mambaforge/envs/bioconda/conda-bld/sorted_nearest_1688764114444/work_moved_sorted_nearest-0.0.39-py38h604ca31_0_osx-64' - INFO:conda_build.utils:shutil.move(work)=/opt/mambaforge/envs/bioconda/conda-bld/sorted_nearest_1688764114444/work, dest=/opt/mambaforge/envs/bioconda/conda-bld/sorted_nearest_1688764114444/work_moved_sorted_nearest-0.0.39-py38h604ca31_0_osx-64) - Reloading output folder: /opt/mambaforge/envs/bioconda/conda-bld - - ## Package Plan ## - - environment location: /opt/mambaforge/envs/bioconda/conda-bld/sorted_nearest_1688764114444/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac - - - The following NEW packages will be INSTALLED: - - bzip2: 1.0.8-h0d85af4_4 conda-forge - ca-certificates: 2023.5.7-h8857fd0_0 conda-forge - libblas: 3.9.0-17_osx64_openblas conda-forge - libcblas: 3.9.0-17_osx64_openblas conda-forge - libcxx: 16.0.6-hd57cbcb_0 conda-forge - libffi: 3.4.2-h0d85af4_5 conda-forge - libgfortran: 5.0.0-11_3_0_h97931a8_31 conda-forge - libgfortran5: 12.2.0-he409387_31 conda-forge - liblapack: 3.9.0-17_osx64_openblas conda-forge - libopenblas: 0.3.23-openmp_h429af6e_0 conda-forge - libsqlite: 3.42.0-h58db7d2_0 conda-forge - libzlib: 1.2.13-h8a1eda9_5 conda-forge - llvm-openmp: 16.0.6-hff08bdf_0 conda-forge - ncurses: 6.4-hf0c8a7f_0 conda-forge - numpy: 1.24.4-py38h9a4a08f_0 conda-forge - openssl: 3.1.1-h8a1eda9_1 conda-forge - python: 3.8.17-hf9b03c3_0_cpython conda-forge - python_abi: 3.8-3_cp38 conda-forge - readline: 8.2-h9e318b2_1 conda-forge - sorted_nearest: 0.0.39-py38h604ca31_0 local - tk: 8.6.12-h5dbffcc_0 conda-forge - xz: 5.2.6-h775f41a_0 conda-forge - - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/sorted_nearest_1688764114444/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac - export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/sorted_nearest_1688764114444/test_tmp - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/conda-bld/sorted_nearest_1688764114444/test_tmp/run_test.py", line 2, in - import sorted_nearest - File "/opt/mambaforge/envs/bioconda/conda-bld/sorted_nearest_1688764114444/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.8/site-packages/sorted_nearest/__init__.py", line 1, in - import: 'sorted_nearest' - import pkg_resources - ModuleNotFoundError: No module named 'pkg_resources' - Tests failed for sorted_nearest-0.0.39-py38h604ca31_0.tar.bz2 - moving package to /opt/mambaforge/envs/bioconda/conda-bld/broken - WARNING:conda_build.build:Tests failed for sorted_nearest-0.0.39-py38h604ca31_0.tar.bz2 - moving package to /opt/mambaforge/envs/bioconda/conda-bld/broken - TESTS FAILED: sorted_nearest-0.0.39-py38h604ca31_0.tar.bz2 -# Last 100 lines of the build log. diff --git a/recipes/sorted_nearest/meta.yaml b/recipes/sorted_nearest/meta.yaml index 613fe31b6243f..24a8e58adac2b 100644 --- a/recipes/sorted_nearest/meta.yaml +++ b/recipes/sorted_nearest/meta.yaml @@ -4,7 +4,6 @@ {% set hash_type = "sha256" %} {% set hash_value = "16a51d5db87ae226b47ace43c176bb672477a1b7ba8052ea9291a6356c9c69b1" %} - package: name: '{{ name|lower }}' version: '{{ version }}' @@ -14,18 +13,24 @@ source: '{{ hash_type }}': '{{ hash_value }}' build: - number: 0 - script: python setup.py install --single-version-externally-managed --record=record.txt + number: 4 + script_env: + - SETUPTOOLS_SCM_PRETEND_VERSION={{ version }} + script: "{{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir" + run_exports: + - {{ pin_subpackage(name|lower, max_pin='x.x') }} requirements: build: - {{ compiler('c') }} host: - python - - setuptools + - pip - cython + - setuptools-scm >=6.2 run: - python + - setuptools # [osx and arm64] - numpy test: @@ -34,5 +39,13 @@ test: about: home: https://github.com/endrebak/sorted_nearest - license: BSD - summary: Find nearest interval. + license: BSD-3-Clause + license_family: BSD + license_file: LICENSE.txt + summary: "Find nearest interval." + dev_url: https://github.com/endrebak/sorted_nearest + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/sortmerna/meta.yaml b/recipes/sortmerna/meta.yaml deleted file mode 100644 index 9e77c15a06ed9..0000000000000 --- a/recipes/sortmerna/meta.yaml +++ /dev/null @@ -1,38 +0,0 @@ -{% set version = '4.3.6' %} - -package: - name: sortmerna - version: {{ version }} - -# TODO: -# - for now using pre-built binaries due complexities with C++17 and the dependencies. - -source: - url: https://github.com/biocore/sortmerna/releases/download/v{{ version }}/sortmerna-{{ version }}-Linux.tar.gz - sha256: 6a6b962b4fe1dd62b01a5ec9a8ccfd80485d3460eed9235291f9db5231566800 - -build: - number: 0 - binary_relocation: False - skip: true # [osx] - script: | # [not win] - [ -d "${PREFIX}/bin" ] || mkdir -p "${PREFIX}/bin" - mv ./bin/sortmerna $PREFIX/bin - -test: - commands: - - sortmerna --version - - sortmerna -h - -about: - home: http://bioinfo.lifl.fr/RNA/sortmerna - license: LGPL - summary: SortMeRNA is a biological sequence analysis tool for filtering, mapping and OTU-picking NGS reads. - -extra: - skip-lints: - - should_be_noarch_generic - identifiers: - - biotools:sortmerna - - doi:10.1093/bioinformatics/bts611 - - usegalaxy-eu:bg_sortmerna diff --git a/recipes/sourmash/meta.yaml b/recipes/sourmash/meta.yaml index eacd787ef483c..a18735e3ccd85 100644 --- a/recipes/sourmash/meta.yaml +++ b/recipes/sourmash/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "4.8.4" %} +{% set version = "4.8.11" %} package: name: sourmash @@ -6,7 +6,7 @@ package: source: url: https://pypi.io/packages/source/s/sourmash/sourmash-{{ version }}.tar.gz - sha256: 43584c112c3310719771de175b89cba94f1c2d30b1aea46000eaf5a81efbae8a + sha256: 1a06a76df464b92685779aaaa6ed02a577bdd73a4ab32972e8134581034d34bf build: number: 0 diff --git a/recipes/spacepharer/build.sh b/recipes/spacepharer/build.sh index 0d987840efe4b..b06956020200b 100644 --- a/recipes/spacepharer/build.sh +++ b/recipes/spacepharer/build.sh @@ -1,8 +1,18 @@ -#!/bin/bash -e +#!/bin/bash + +ARCH_BUILD="" +case $(uname -m) in + x86_64) ARCH_BUILD="-DHAVE_SSE4_1=1" ;; + arm64|aarch64) ARCH_BUILD="-DHAVE_ARM8=1" ;; +esac + +if [ -z "${ARCH_BUILD}" ]; then + echo "Invalid architecture" + exit 1 +fi mkdir build cd build -cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" -DHAVE_TESTS=0 -DHAVE_MPI=0 -DHAVE_SSE4_1=1 -DVERSION_OVERRIDE="${PKG_VERSION}" .. +cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" -DHAVE_TESTS=0 -DHAVE_MPI=0 ${ARCH_BUILD} -DVERSION_OVERRIDE="${PKG_VERSION}" .. make -j${CPU_COUNT} ${VERBOSE_CM} make install - diff --git a/recipes/spacepharer/meta.yaml b/recipes/spacepharer/meta.yaml index b42834234a7ea..bdf01d1d23171 100644 --- a/recipes/spacepharer/meta.yaml +++ b/recipes/spacepharer/meta.yaml @@ -6,7 +6,9 @@ package: version: {{ version|replace("-", ".") }} build: - number: 3 + number: 5 + run_exports: + - {{ pin_subpackage('spacepharer', max_pin="x") }} source: url: https://github.com/soedinglab/spacepharer/archive/{{ version }}.tar.gz @@ -46,3 +48,8 @@ extra: identifiers: - doi:10.1093/bioinformatics/btab222 - biotools:spacepharer + recipe-maintainers: + - milot-mirdita + additional-platforms: + - linux-aarch64 + - osx-arm64 \ No newline at end of file diff --git a/recipes/spades/0001-change-verbosity-remove-expr.patch b/recipes/spades/0001-change-verbosity-remove-expr.patch new file mode 100644 index 0000000000000..21bc5e5b9be11 --- /dev/null +++ b/recipes/spades/0001-change-verbosity-remove-expr.patch @@ -0,0 +1,43 @@ +diff -Naur pre_patch/spades_compile.sh post_patch/spades_compile.sh +--- pre_patch/spades_compile.sh 2024-05-26 14:36:40 ++++ post_patch/spades_compile.sh 2024-05-27 13:00:03 +@@ -37,10 +37,10 @@ check_whether_OPTARG_is_an_integer() { + } + + # return the argument first character +-str_head() { echo "$(expr substr "$1" 1 1)"; } ++str_head() { echo "${1::1}"; } + + # return the argument without the first character +-str_tail() { echo "$(expr substr "$1" 2 $((${#1}-1)))"; } ++str_tail() { echo "${1:1}"; } + + print_help() { + echo +@@ -221,11 +221,21 @@ else + ADDITIONAL_FLAGS="$ADDITIONAL_FLAGS -DSPADES_BUILD_INTERNAL=OFF" + fi + +-cd "$WORK_DIR" +-cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$PREFIX" $ADDITIONAL_FLAGS "$BASEDIR/src" +-make -j $AMOUNT_OF_THREADS +-make install +-cd "$PREFIX" ++if [[ `uname` == "Darwin" ]]; then ++ export CONFIG_ARGS="-DCMAKE_FIND_FRAMEWORK=NEVER -DCMAKE_FIND_APPBUNDLE=NEVER" ++ export CFLAGS="${CFLAGS} -Wunused-command-line-argument" ++ export CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" ++else ++ export CONFIG_ARGS="" ++fi ++ ++cd "${WORK_DIR}" ++cmake -S "${BASEDIR}/src" -B . -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="${PREFIX}" \ ++ -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER="${CXX}" \ ++ -DCMAKE_CXX_FLAGS="${CXXFLAGS}" -DCMAKE_C_COMPILER="${CC}" \ ++ -DCMAKE_C_FLAGS="${CFLAGS}" "${ADDITIONAL_FLAGS}" \ ++ "${CONFIG_ARGS}" ++cmake --build . --target install -j "${AMOUNT_OF_THREADS}" -v + + if [ $RUN_TESTS = "y" ]; then + cd "$BASEDIR" diff --git a/recipes/spades/0001-change-verbosity.patch b/recipes/spades/0001-change-verbosity.patch deleted file mode 100644 index aa39a7d54ac1f..0000000000000 --- a/recipes/spades/0001-change-verbosity.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 39f24e863713d170427d0b53741fe8bf0e295c90 Mon Sep 17 00:00:00 2001 -From: Anders Goncalves da Silva -Date: Wed, 3 Feb 2021 20:30:52 -0800 -Subject: Update verbosity - ---- - spades_compile.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/spades_compile.sh b/spades_compile.sh -index 8d82c75..095a173 100755 ---- a/spades_compile.sh -+++ b/spades_compile.sh -@@ -222,7 +222,7 @@ fi - - cd "$WORK_DIR" - cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$PREFIX" $ADDITIONAL_FLAGS "$BASEDIR/src" --make -j $AMOUNT_OF_THREADS -+make -j $AMOUNT_OF_THREADS VERBOSE=1 - make install - cd "$PREFIX" - --- -2.24.3 (Apple Git-128) \ No newline at end of file diff --git a/recipes/spades/build.sh b/recipes/spades/build.sh index 8eea9b1dd25c8..3b00666635bce 100644 --- a/recipes/spades/build.sh +++ b/recipes/spades/build.sh @@ -2,10 +2,9 @@ set -e -o pipefail -x -export LIBRARY_PATH=${PREFIX}/lib -export C_INCLUDE_PATH=${PREFIX}/include -export CPP_INCLUDE_PATH=${PREFIX}/include -export CFLAGS="${CFLAGS} -fcommon" -export CXXFLAGS="${CFLAGS} -fcommon" +export LIBRARY_PATH="${PREFIX}/lib" +export INCLUDE_PATH="${PREFIX}/include" +export CFLAGS="${CFLAGS} -O3 -fcommon" +export CXXFLAGS="${CFLAGS} -O3 -fcommon -I${PREFIX}/include" -bash spades_compile.sh -rj4 +PREFIX="${PREFIX}" bash spades_compile.sh -rj"${CPU_COUNT}" -DSPADES_USE_NCBISDK=ON -DSPADES_ENABLE_PROJECTS="all" diff --git a/recipes/spades/conda_build_config.yaml b/recipes/spades/conda_build_config.yaml deleted file mode 100644 index fb6257a8ecaa4..0000000000000 --- a/recipes/spades/conda_build_config.yaml +++ /dev/null @@ -1,4 +0,0 @@ -c_compiler_version: # [unix] - - 9 # [unix] -cxx_compiler_version: # [unix] - - 9 # [unix] \ No newline at end of file diff --git a/recipes/spades/meta.yaml b/recipes/spades/meta.yaml index 0f6d1417124bf..a9621bd4904de 100644 --- a/recipes/spades/meta.yaml +++ b/recipes/spades/meta.yaml @@ -1,48 +1,42 @@ -{% set version = "3.15.5" %} -{% set sha256 = "155c3640d571f2e7b19a05031d1fd0d19bd82df785d38870fb93bd241b12bbfa" %} +{% set name = "spades" %} +{% set version = "4.0.0" %} +{% set sha256 = "07c02eb1d9d90f611ac73bdd30ddc242ed51b00c8a3757189e8a8137ad8cfb8b" %} package: - name: spades + name: {{ name }} version: {{ version }} source: url: https://github.com/ablab/spades/releases/download/v{{version}}/SPAdes-{{version}}.tar.gz sha256: {{ sha256 }} patches: - - 0001-change-verbosity.patch + - 0001-change-verbosity-remove-expr.patch build: - number: 1 - skip: True # [osx] + number: 3 + run_exports: + - {{ pin_subpackage('spades', max_pin="x") }} requirements: build: - - {{ compiler('c') }} - {{ compiler('cxx') }} - - clangdev # [osx] - - llvm-openmp # [osx] - - openmp # [linux] - cmake - make - pkg-config - - sysroot_linux-64=2.17 # [linux] host: - llvm-openmp # [osx] - - openmp # [linux] + - libgomp # [linux] - zlib - bzip2 - - sysroot_linux-64=2.17 # [linux] run: - llvm-openmp # [osx] - - openmp # [linux] - - python - - sysroot_linux-64=2.17 # [linux] + - libgomp # [linux] + - python >=3.8 test: commands: - spades.py --version 2>&1 | grep {{ version }} - rnaspades.py --version 2>&1 | grep {{ version }} - - truspades.py --help 2>&1 | grep {{ version }} - metaspades.py --version 2>&1 | grep {{ version }} - plasmidspades.py --version 2>&1 | grep {{ version }} - spades-kmercount -h 2>&1 | grep spades-kmercount @@ -50,29 +44,30 @@ test: - spades-gbuilder 2>&1 | grep spades-gbuilder - spades.py --test && rm -rf spades_test - about: - home: http://cab.spbu.ru/software/spades/ - license: GPLv2 + home: "https://github.com/ablab/spades" + license: "GPL-2.0-only" license_family: GPL license_file: LICENSE - summary: SPAdes (St. Petersburg genome assembler) is intended for both standard isolates and single-cell MDA bacteria assemblies. + summary: "SPAdes (St. Petersburg genome assembler) is intended for both standard isolates and single-cell MDA bacteria assemblies." description: | SPAdes (St. Petersburg genome assembler) is a genome assembly algorithm which was designed for single cell and multi-cells bacterial data sets. However, it might not be suitable for large genomes projects. SPAdes works with Ion Torrent, PacBio, Oxford Nanopore, and Illumina paired-end, mate-pairs and - single reads - - dev_url: https://github.com/ablab/spades - doc_url: http://cab.spbu.ru/files/release{{version}}/manual.html - + single reads. + dev_url: "https://github.com/ablab/spades" + doc_url: "https://ablab.github.io/spades" extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - druvus - notestaff + - chrisjackson-pellicle identifiers: - biotools:spades - usegalaxy-eu:spades @@ -80,5 +75,3 @@ extra: - doi:10.1101/gr.213959.116 - doi:10.1093/gigascience/giz100 - doi:10.1093/bioinformatics/btz349 - skip-lints: - - should_not_be_noarch_source diff --git a/recipes/spaln/build.sh b/recipes/spaln/build.sh index 516965f0874e8..d660fa42671ea 100644 --- a/recipes/spaln/build.sh +++ b/recipes/spaln/build.sh @@ -1,6 +1,24 @@ -(cd src && \ - ./configure --exec_prefix=${PREFIX}/bin --table_dir=${PREFIX}/share/spaln/table --alndbs_dir=${PREFIX}/share/spaln/alndbs --use_zlib=1 && \ - make AR="${AR:-ar} rc" LDFLAGS="-L${PREFIX}/lib" && make install) +#!/bin/bash -#(cd ${SRC_DIR}/perl && perl Makefile.PL && \ -# sed -i -s '1s^#!/usr/bin/perl^#!/usr/bin/env perl^' *.pl && make && make install && chmod u+w ${PREFIX}/bin/*.pl) +mkdir -p "${PREFIX}/bin" + +export INCLUDES="-I${PREFIX}/include" +export LIBPATH="-L${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" + +export CPPFLAGS="${CPPFLAGS} -I${PREFIX}/include" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" + +sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' ${SRC_DIR}/perl/*.pl +rm -rf ${SRC_DIR}/perl/*.bak +cp -rf ${SRC_DIR}/perl/*.pl "${PREFIX}/bin" + +cd src + +./configure --exec_prefix="${PREFIX}/bin" --table_dir="${PREFIX}/share/spaln/table" \ + --alndbs_dir="${PREFIX}/share/spaln/alndbs" + +make CFLAGS="${CFLAGS}" AR="${AR:-ar} rc" LDFLAGS="${LDFLAGS}" -j4 +make install + +make clearall diff --git a/recipes/spaln/makefile.patch b/recipes/spaln/makefile.patch index d58ad71183684..e18b786e104b6 100644 --- a/recipes/spaln/makefile.patch +++ b/recipes/spaln/makefile.patch @@ -1,6 +1,8 @@ +diff --git a/src/Makefile.in b/src/Makefile.in +index 7e0ab8d..bd09001 100644 --- a/src/Makefile.in +++ b/src/Makefile.in -@@ -1,14 +1,14 @@ +@@ -1,20 +1,20 @@ # Makefile.in for splan/sortgrcd # Copyright(c) Osamu Gotoh <> @@ -12,12 +14,19 @@ +table_dir = $(PREFIX)/share/spaln/table +alndbs_dir = $(PREFIX)/share/spaln/alndbs +CXX = $(CXX) - #CXX = clang++ + # for MACOS uncomment below line + #CXX = clang++ -std=c++11 -CFLAGS = -O3 -march=native -+CFLAGS = -O3 -march=native -I$(PREFIX)/include ++CFLAGS = -O3 RANLIB = ranlib -LD = g++ +LD = $(CXX) AR = ar ru DEL = rm -f DEFLT = -DM_THREAD=1 + +-CXX := $(CXX) $(CFLAGS) $(DEFLT) ++CXX := $(CXX) $(CFLAGS) $(CPPFLAGS) $(DEFLT) + + .SUFFIXES: .o .cc .h .sh + diff --git a/recipes/spaln/meta.yaml b/recipes/spaln/meta.yaml index a127680c665c8..897fbab3335c3 100644 --- a/recipes/spaln/meta.yaml +++ b/recipes/spaln/meta.yaml @@ -1,6 +1,6 @@ {% set name = "spaln" %} -{% set version = "3.0.1" %} -{% set sha256 = "efb7d492c81053180f2cbda831250d99ecb89cfa760217859aa78afbe9b3aefd" %} +{% set version = "3.0.6" %} +{% set sha256 = "0b627609b69e0e1487cbb75ff564cfe3816c24da8552acbaf50bf19bce1c6490" %} package: name: {{ name|lower }} @@ -16,6 +16,7 @@ source: build: number: 0 + skip: True # [osx] run_exports: - {{ pin_subpackage('spaln', max_pin="x") }} @@ -25,23 +26,24 @@ requirements: - make host: - perl - - zlib ==1.2.11 + - zlib run: - perl test: commands: - - spaln -h 2>&1 |grep 'SPALN version' >/dev/null - - makblk.pl 2>&1 |grep makblk.pl >/dev/null - - sortgrcd -h 2>&1 |grep sortgrcd >/dev/null - - makmdm -h 2>&1 |grep makmdm >/dev/null - - makdbs -h 2>&1 |grep makdbs >/dev/null - - makeidx.pl -h 2>&1 |grep makeidx.pl >/dev/null + - spaln -h 2>&1 | grep "version {{ version }}" >/dev/null + - makblk.pl 2>&1 | grep makblk.pl >/dev/null + - sortgrcd -h 2>&1 | grep sortgrcd >/dev/null + - makmdm -h 2>&1 | grep makmdm >/dev/null + - makdbs -h 2>&1 | grep makdbs >/dev/null + - makeidx.pl -h 2>&1 | grep makeidx.pl >/dev/null about: - home: http://www.genome.ist.i.kyoto-u.ac.jp/~aln_user/spaln/ + home: https://github.com/ogotoh/spaln + doc_url: "https://github.com/ogotoh/spaln/blob/master/README.md" dev_url: https://github.com/ogotoh/spaln - license: GPL-2.0 + license: "GPL-2.0-or-later" license_family: GPL license_file: COPYING summary: 'Map and align a set of cDNA/EST or protein sequences onto a genome' @@ -55,4 +57,7 @@ about: extra: identifiers: - doi:10.1093/nar/gks708 + - doi:10.1093/bioinformatics/btl067 - usegalaxy-eu:spaln + additional-platforms: + - linux-aarch64 diff --git a/recipes/spaln/patch-makefile_ldflags b/recipes/spaln/patch-makefile_ldflags index 4b35645b7c204..fbf64ebdfc5fb 100644 --- a/recipes/spaln/patch-makefile_ldflags +++ b/recipes/spaln/patch-makefile_ldflags @@ -1,31 +1,22 @@ +diff --git a/src/Makefile.in b/src/Makefile.in +index 7e0ab8d..f6c7256 100644 --- a/src/Makefile.in +++ b/src/Makefile.in -@@ -23,8 +23,9 @@ PROG_F = fitild compild decompild plotild - PROG = $(PROG_B) $(PROG_A) $(PROG_F) - - STDH = stdtype.h --CLIB = clib.a -lpthread -lm -lz -+CLIB = clib.a - SLIB = sblib.a $(CLIB) -+LLIB = -lpthread -lm -lz - ULIB = ublib.a $(SLIB) - - BINDIR = $(DESTDIR)$(exec_prefix) -@@ -88,13 +89,13 @@ ls: +@@ -95,13 +95,13 @@ ls: ls $(SRC) $(HDR) spaln: spaln.cc blksrc.o $(SLIB) -- $(CXX) -o $@ spaln.cc blksrc.o $(SLIB) $(ILIB) +- $(CXX) -o $@ spaln.cc blksrc.o $(SLIB) $(LLIB) + $(CXX) $(LDFLAGS) -o $@ spaln.cc blksrc.o $(SLIB) $(LLIB) sortgrcd: sortgrcd.cc $(SLIB) -- $(CXX) -o $@ sortgrcd.cc $(SLIB) $(ILIB) +- $(CXX) -o $@ sortgrcd.cc $(SLIB) $(LLIB) + $(CXX) $(LDFLAGS) -o $@ sortgrcd.cc $(SLIB) $(LLIB) makdbs: makdbs.cc dbs.h seq.h bitpat.h $(SLIB) -- $(CXX) -o $@ makdbs.cc $(SLIB) $(ILIB) +- $(CXX) -o $@ makdbs.cc $(SLIB) $(LLIB) + $(CXX) $(LDFLAGS) -o $@ makdbs.cc $(SLIB) $(LLIB) makmdm: makmdm.cc mdm.h $(CLIB) -- $(CXX) -o $@ makmdm.cc $(CLIB) $(ILIB) +- $(CXX) -o $@ makmdm.cc $(CLIB) $(LLIB) + $(CXX) $(LDFLAGS) -o $@ makmdm.cc $(CLIB) $(LLIB) dvn: dvn.cc autocomp.h $(ULIB) - $(CXX) -o $@ dvn.cc $(ULIB) $(ILIB) + $(CXX) -o $@ dvn.cc $(ULIB) $(LLIB) diff --git a/recipes/spapros/meta.yaml b/recipes/spapros/meta.yaml new file mode 100644 index 0000000000000..c1c01dfe35944 --- /dev/null +++ b/recipes/spapros/meta.yaml @@ -0,0 +1,74 @@ +{% set name = "spapros" %} +{% set version = "0.1.5" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/spapros-{{ version }}.tar.gz + sha256: 2fa7fcd64067ee2017b1447b75c38a395d367e781bc8cf7db4a40cd484e74c9e + patches: + - remove_pypi_latest_1.patch + - remove_pypi_latest_2.patch + - remove_pypi_latest_3.patch + +build: + entry_points: + - spapros = spapros.__main__:main + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + + +requirements: + host: + - python >=3.9,<3.10 + - poetry-core >=1.0.0 + - pip + run: + - python >=3.9,<3.10 + - click >=8.0.1 + - rich >=10.1.0 + - pyyaml >=6.0.1 + - jinja2 >=3.0.1 + - numpy ==1.26.4 + - pandas >=1.3.0,<2.0.0 + - scanpy >=1.9.8 + - seaborn >=0.11.1 + - matplotlib-base >=3.6.3 + - leidenalg >=0.8.7 + - questionary >=1.10.0 + - xgboost >=1.6.1 + - ruamel.yaml >=0.17.10 + - jupyter-sphinx >=0.3.2 + - nox >=2023.04.22 + - nox-poetry >=1.0.3 + - pandoc >=2.1 + - bandit >=1.7.6 + - venndata >=0.1.0 + - pillow >=10.0.2 + - upsetplot >=0.7.0 + +test: + imports: + - spapros + commands: + - pip check + - spapros --help + - pandoc --version # Ensure pandoc is available + requires: + - pip + - pandoc + +about: + home: https://github.com/theislab/spapros + summary: Probe set selection for targeted spatial transcriptomics. + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - heylf diff --git a/recipes/spapros/remove_pypi_latest_1.patch b/recipes/spapros/remove_pypi_latest_1.patch new file mode 100644 index 0000000000000..7de50e8274a08 --- /dev/null +++ b/recipes/spapros/remove_pypi_latest_1.patch @@ -0,0 +1,12 @@ +--- PKG-INFO 2024-06-19 17:45:38.497619739 +0200 ++++ PKG-INFO 2024-06-19 18:13:40.677780681 +0200 +@@ -24,8 +24,6 @@ + Requires-Dist: nox-poetry (>=1.0.3) + Requires-Dist: numpy (>=1.21.1) + Requires-Dist: pandas (>=1.3.0,<2.0.0) +-Requires-Dist: pandoc (>=2.1) +-Requires-Dist: pypi-latest (>=0.1.0) + Requires-Dist: questionary (>=1.10.0) + Requires-Dist: rich (>=10.1.0) + Requires-Dist: ruamel.yaml (>=0.17.10) + diff --git a/recipes/spapros/remove_pypi_latest_2.patch b/recipes/spapros/remove_pypi_latest_2.patch new file mode 100644 index 0000000000000..f435ffff5ffa0 --- /dev/null +++ b/recipes/spapros/remove_pypi_latest_2.patch @@ -0,0 +1,29 @@ +--- pyproject.toml 2024-06-19 17:45:38.517620166 +0200 ++++ pyproject.toml 2024-06-19 18:13:47.801886617 +0200 +@@ -28,12 +28,10 @@ + leidenalg = ">=0.8.7" + questionary = ">=1.10.0" + xgboost = ">=1.6.1" +-pypi-latest = ">=0.1.0" + "ruamel.yaml" = ">=0.17.10" + jupyter-sphinx = ">=0.3.2" + nox = ">=2023.04.22" + nox-poetry = ">=1.0.3" +-pandoc = ">=2.1" + bandit = ">=1.7.6" + venndata = ">=0.1.0" + Pillow = ">=10.0.2" +@@ -51,12 +49,10 @@ + #leidenalg = "^0.8.7" + #questionary = "^1.10.0" + #xgboost = "^1.6.1" +-#pypi-latest = "^0.1.0" + #"ruamel.yaml" = "^0.17.10" + #jupyter-sphinx = "^0.3.2" + #nox = "^2023.04.22" + #nox-poetry = "^1.0.3" +-#pandoc = "^2.1" + #bandit = "^1.7.6" + #venndata = "^0.1.0" + #Pillow = "^10.0.2" + diff --git a/recipes/spapros/remove_pypi_latest_3.patch b/recipes/spapros/remove_pypi_latest_3.patch new file mode 100644 index 0000000000000..206432cfe1f87 --- /dev/null +++ b/recipes/spapros/remove_pypi_latest_3.patch @@ -0,0 +1,43 @@ +--- spapros/__main__.py 2024-06-19 18:26:41.062595569 +0200 ++++ spapros/__main__.py 2024-06-19 18:31:52.844067995 +0200 +@@ -5,7 +5,6 @@ + + import click + import rich.logging +-from pypi_latest import PypiLatest + from rich import print, traceback + + import spapros +@@ -13,8 +12,6 @@ + from spapros.selection.selection import run_selection + + log = logging.getLogger() +-spapros_pypi_latest = PypiLatest("spapros", spapros.__version__) +- + + def main() -> None: + traceback.install() +@@ -32,9 +29,6 @@ + ) + print("[bold blue]Run [green]spapros --help [blue]for an overview of all commands\n") + +- # Is the latest spapros version installed? Upgrade if not! +- if not spapros_pypi_latest.check_latest(): +- print("[bold blue]Run [green]spapros upgrade [blue]to get the latest version.") + spapros_cli(prog_name="spapros") + + +@@ -122,12 +116,5 @@ + parameters_file=parameters, + ) + +- +-@spapros_cli.command(short_help="Check for a newer version of ehrapy and upgrade if required.") +-def upgrade() -> None: +- """Checks whether the locally installed version of spapros is the latest & upgrades if not.""" +- spapros_pypi_latest.check_upgrade() +- +- + if __name__ == "__main__": + main() # pragma: no cover + diff --git a/recipes/spatialleiden/meta.yaml b/recipes/spatialleiden/meta.yaml new file mode 100644 index 0000000000000..b269d97634ff7 --- /dev/null +++ b/recipes/spatialleiden/meta.yaml @@ -0,0 +1,53 @@ +{% set name = "spatialleiden" %} +{% set version = "0.1.1" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/spatialleiden-{{ version }}.tar.gz + sha256: 9f2c9781a347423ba45d14a3e21eaeec1b9ca24bc26edf207fafa41fab71139b + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + host: + - python >=3.10 + - setuptools >=61.0.0 + - setuptools-scm >=6.2 + - pip + run: + - python >=3.10 + - anndata + - igraph + - leidenalg >=0.10.2,<0.11.dev0 + - numpy >=1.21 + - scanpy + - scipy >=1.9 + +test: + imports: + - spatialleiden + commands: + - pip check + requires: + - pip + +about: + home: https://github.com/HiDiHlabs/SpatialLeiden + summary: Implementation of multiplex Leiden for analysis of spatial omics data. + license: MIT + license_family: MIT + license_file: LICENSE + doc_url: https://spatialleiden.readthedocs.io/ + +extra: + recipe-maintainers: + - niklasmueboe + - shashwatsahay diff --git a/recipes/spec2vec/meta.yaml b/recipes/spec2vec/meta.yaml index 9451b70876035..c22b684c85102 100644 --- a/recipes/spec2vec/meta.yaml +++ b/recipes/spec2vec/meta.yaml @@ -11,8 +11,10 @@ source: build: noarch: python - script: {{ PYTHON }} -m pip install . -vv - number: 0 + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + number: 1 + run_exports: + - {{ pin_subpackage('spec2vec', max_pin="x.x") }} requirements: host: @@ -20,28 +22,30 @@ requirements: - pip run: - python >=3.7 - - gensim >=4.0.0 - - matchms >=0.11.0 + - gensim >=4.2.0 + - matchms >=0.14.0,<=0.26.4 - numba >=0.51 - numpy - fuzzytm + - scipy <=1.10.1 - tqdm - + test: imports: - spec2vec - commands: - - pip check - requires: - - pip about: - home: https://github.com/iomega/spec2vec - summary: Word2Vec based similarity measure of mass spectrometry data. - license: Apache-2.0 + home: "https://github.com/iomega/spec2vec" + summary: "Word2Vec based similarity measure of mass spectrometry data." + license: "Apache-2.0" + license_family: APACHE license_file: LICENSE + dev_url: "https://github.com/iomega/spec2vec" + doc_url: "https://spec2vec.readthedocs.io/en/latest" extra: recipe-maintainers: - bgruening - hechth + identifiers: + - doi:10.1371/journal.pcbi.1008724 diff --git a/recipes/sphae/meta.yaml b/recipes/sphae/meta.yaml index 8f7644ac4bdf5..d84b4dca29e66 100644 --- a/recipes/sphae/meta.yaml +++ b/recipes/sphae/meta.yaml @@ -1,5 +1,5 @@ {% set name = "sphae" %} -{% set version = "1.3.1" %} +{% set version = "1.4.5" %} package: name: "{{ name|lower }}" @@ -7,28 +7,27 @@ package: source: url: "https://github.com/linsalrob/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz" - sha256: 996a9203c7411422c28860709714f58c4fa3a819738e6a85b92de804c1f81871 + sha256: 09d5de5da2e429b2de3734af7331b52fcadd185715d7f06e71eca4631afe2e91 build: number: 0 noarch: python entry_points: - sphae=sphae.__main__:main - script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" run_exports: - {{ pin_subpackage('sphae', max_pin="x") }} requirements: host: - - python <=3.11 + - python <3.12 - pip run: - - python <=3.11 + - python <3.12 - snakemake-minimal >=7.14.0 - pyyaml >=6.0 - click >=8.1.3 - jinja2 >=3.0.2 - - mamba <1.4.2 - metasnek >=0.0.4 - snaketool-utils >=0.0.4 - attrmap >=0.0.7 @@ -44,8 +43,8 @@ about: license: MIT license_family: MIT license_file: LICENSE - summary: "Sphae: Assembling and annotating pure culture phages from both Illumina and Nanopore sequencing technology" - description: "Phage toolkit" + summary: "Phage toolkit" + description: "Assembling and annotating pure culture phages from both Illumina and Nanopore sequencing technology" doc_url: "https://github.com/linsalrob/sphae" dev_url: "https://github.com/linsalrob/sphae" diff --git a/recipes/splitcode/build.sh b/recipes/splitcode/build.sh new file mode 100644 index 0000000000000..ef216459a9484 --- /dev/null +++ b/recipes/splitcode/build.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +mkdir -p "${PREFIX}/bin" +mkdir -p build +cd build || exit 1 +cmake -DCMAKE_INSTALL_PREFIX:PATH="$PREFIX" .. +make +make install diff --git a/recipes/splitcode/meta.yaml b/recipes/splitcode/meta.yaml new file mode 100644 index 0000000000000..467a12c66ddb5 --- /dev/null +++ b/recipes/splitcode/meta.yaml @@ -0,0 +1,45 @@ +{% set version = "0.30.0" %} + +package: + name: splitcode + version: {{ version }} + +source: + url: https://github.com/pachterlab/splitcode/archive/refs/tags/v0.30.0.tar.gz + sha256: 2795d81aea98751827e22e6ddc3bc2ce4f607d71acfa7945344cbfd00535048d + +build: + number: 0 + run_exports: + - {{ pin_subpackage('splitcode', max_pin="x.x") }} + +requirements: + build: + - make + - cmake + - {{ compiler('cxx') }} + host: + - zlib + run: + - zlib + +test: + commands: + - splitcode --version + +about: + home: "https://github.com/pachterlab/splitcode" + license: BSD-2-Clause + license_family: BSD + summary: Flexible parsing, interpretation, and editing of technical sequences + dev_url: https://github.com/pachterlab/splitcode + doc_url: "https://splitcode.readthedocs.io" + +extra: + identifiers: + - biotools:splitcode + - doi:10.1101/2023.03.20.533521 + recipe-maintainers: + - Yenaled + additional-platforms: + - linux-aarch64 diff --git a/recipes/splitubam/build.sh b/recipes/splitubam/build.sh new file mode 100644 index 0000000000000..932803bad05f5 --- /dev/null +++ b/recipes/splitubam/build.sh @@ -0,0 +1,9 @@ +#!/bin/bash -euo +# Add workaround for SSH-based Git connections from Rust/cargo. See https://github.com/rust-lang/cargo/issues/2078 for details. +# We set CARGO_HOME because we don't pass on HOME to conda-build, thus rendering the default "${HOME}/.cargo" defunct. +export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="$(pwd)/.cargo" + +export BINDGEN_EXTRA_CLANG_ARGS="${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" + +# build statically linked binary with Rust +RUST_BACKTRACE=1 cargo install --verbose --path . --root $PREFIX diff --git a/recipes/splitubam/meta.yaml b/recipes/splitubam/meta.yaml new file mode 100644 index 0000000000000..e99a9c167f98a --- /dev/null +++ b/recipes/splitubam/meta.yaml @@ -0,0 +1,41 @@ +{% set name = "splitubam" %} +{% set version = "0.1.1" %} + +package: + name: {{ name }} + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage('splitubam', max_pin="x.x") }} + +source: + url: https://github.com/fellen31/splitubam/archive/refs/tags/{{ version }}.tar.gz + sha256: 3dceb04531f20ad27bf164e0f1c1772b1a31bcc52829c8d00a4b5545a2bce9bd + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('rust') }} + - clangdev + - make + - pkg-config + host: + - zlib + +test: + commands: + - splitubam --help + +about: + home: "https://github.com/fellen31/splitubam" + license: MIT + license_family: MIT + license_file: LICENSE + summary: "Split one ubam into multiple, per line, fast" + dev_url: "https://github.com/fellen31/splitubam" + +additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/spoa/build.sh b/recipes/spoa/build.sh index 9a3c2843d27e5..1f0c524a7b06f 100644 --- a/recipes/spoa/build.sh +++ b/recipes/spoa/build.sh @@ -4,18 +4,38 @@ set -eoux pipefail export INCLUDES="-I{PREFIX}/include" export LIBPATH="-L${PREFIX}/lib" export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" -export CXXFLAGS="${CXXFLAGS} -O3" +export CXXFLAGS="${CXXFLAGS} -O3 -I{PREFIX}/include" + +case $(uname -m) in + x86_64) + SPOA_OPTS="-Dspoa_optimize_for_portability=ON" + ;; + aarch64) + SPOA_OPTS="-Dspoa_use_simde_nonvec=ON -DBUILD_TESTING=OFF" + ;; + arm64) + SPOA_OPTS="-Dspoa_use_simde_nonvec=ON -DBUILD_TESTING=OFF" + ;; + *) + ;; +esac + +if [[ `uname` == "Darwin" ]]; then + export CONFIG_ARGS="-DCMAKE_FIND_FRAMEWORK=NEVER -DCMAKE_FIND_APPBUNDLE=NEVER" +else + export CONFIG_ARGS="" +fi cmake -S . -B build \ -DCMAKE_INSTALL_PREFIX="${PREFIX}" \ -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_SHARED_LIBS=ON \ -Dspoa_install=ON \ -Dspoa_build_exe=ON \ - -Dspoa_optimize_for_portability=ON \ + "${SPOA_OPTS}" \ -Dspoa_use_simde=ON \ -Dspoa_use_simde_openmp=ON \ + -Dspoa_use_cereal=ON \ -DCMAKE_CXX_COMPILER="${CXX}" \ - -DCMAKE_CXX_FLAGS="${CXXFLAGS}" + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" "${CONFIG_ARGS}" -cmake --build build/ --target install -j 4 -v +cmake --build build/ --target install -j ${CPU_COUNT} -v diff --git a/recipes/spoa/meta.yaml b/recipes/spoa/meta.yaml index a24aaf1dacb32..ca3c358ba60bf 100644 --- a/recipes/spoa/meta.yaml +++ b/recipes/spoa/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 0 + number: 2 run_exports: - {{ pin_subpackage(name, max_pin="x") }} @@ -23,9 +23,10 @@ requirements: host: - zlib - simde - - libgomp # [linux] + - libgomp # [linux] - llvm-openmp # [osx] - - cpu_features + - cpu_features # [linux] + - cereal test: commands: @@ -34,10 +35,16 @@ test: about: home: 'https://github.com/rvaser/spoa' license: MIT + license_family: MIT license_file: LICENSE - summary: 'SIMD partial order alignment tool/library' + summary: 'SIMD partial order alignment tool/library.' + dev_url: 'https://github.com/rvaser/spoa' + doc_url: 'https://github.com/rvaser/spoa/blob/{{ version }}/README.md' extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - biotools:spoa - doi:10.1101/gr.214270.116 diff --git a/recipes/spreadgltools/meta.yaml b/recipes/spreadgltools/meta.yaml new file mode 100644 index 0000000000000..0cb09eeb3e772 --- /dev/null +++ b/recipes/spreadgltools/meta.yaml @@ -0,0 +1,60 @@ +{% set name ="SpreadGLtools" %} +{% set version ="1.1.0" %} +{% set sha256 ="de9319eb0cab7dcf042671c77fd473a7a03a8384ce7d476f10f89a8a100cbeec" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/GuyBaele/SpreadGL/archive/refs/tags/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + noarch: python + script_env: + - SETUPTOOLS_SCM_PRETEND_VERSION={{ version }} + script: | + cd scripts + {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} + +requirements: + host: + - python >=3.11 + - pip + run: + - python >=3.11 + - setuptools >=67.4.0 + - numpy >=1.23.2 + - pandas >=2.2.0 + - geojson >=3.0.1 + - pyproj >=3.4.1 + - dendropy >=4.5.2 + - geopandas >=0.12.2 + - rasterio >=1.3.6 + - rioxarray >=0.14.0 + - bottleneck >=1.3.7 + - gdal >=3.3.0 + +test: + commands: + - spread --help + - rates --help + - regions --help + - raster --help + - reprojection --help + - trimming --help + +about: + home: https://github.com/GuyBaele/SpreadGL + license: MIT + summary: 'Visualising pathogen dispersal in a high-performance browser application' + license_family: MIT + doc_url: https://github.com/GuyBaele/SpreadGL + +extra: + identifiers: + - doi:10.1101/2024.06.04.24308447 diff --git a/recipes/sqt/build_failure.linux-64.yaml b/recipes/sqt/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..b52ddd29dd9e6 --- /dev/null +++ b/recipes/sqt/build_failure.linux-64.yaml @@ -0,0 +1,106 @@ +recipe_sha: ebe606033ba793850dd048eb7d0d505bb7fe6bae042ee3fdeae0e3fcf8ffdc62 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + [32mcython[0m is installable with the potential options + [32mcython [0.24|0.24.1|...|0.29.9][0m, which can be installed; + [31mcython [0.24|0.24.1|0.25.1|0.25.2|0.27.3][0m would require + [31mpython_abi * *_cp34m[0m, which conflicts with any installable versions previously reported; + [32mcython [0.25.2|0.26|...|0.28.2][0m would require + [32mpython 3.6* [0m with the potential options + [32mpython [3.6.0|3.6.1|...|3.6.9][0m, which can be installed; + [32mpython [3.6.0a3|3.6.0a4|...|3.6.0rc1][0m, which can be installed; + [32mpython 3.6.12[0m, which can be installed (as previously explained); + [32mpython 3.6.9[0m, which can be installed (as previously explained); + [32mcython [0.28.3|0.28.4|...|0.29.9][0m would require + [32mpython >=3.6,<3.7.0a0 [0m with the potential options + [32mpython [3.6.0|3.6.1|...|3.6.9][0m, which can be installed; + [32mpython 3.6.12[0m, which can be installed (as previously explained); + [32mpython 3.6.9[0m, which can be installed (as previously explained); + [32mcython [0.28.4|0.28.5|...|0.29.9][0m would require + [32mpython >=3.7,<3.8.0a0 [0m with the potential options + [32mpython [3.7.0|3.7.1|...|3.7.9][0m, which can be installed; + [32mpython [3.7.10|3.7.12|3.7.9][0m, which can be installed (as previously explained); + [32mcython [0.29.14|0.29.15][0m would require + [32mpython >=3.8,<3.9.0a0 [0m with the potential options + [32mpython [3.8.0|3.8.1|...|3.8.8][0m, which can be installed; + [32mpython [3.8.12|3.8.13|3.8.16][0m would require + [32mpython_abi 3.8 *_pypy38_pp73[0m, which can be installed; + [32mpython 3.8.5[0m would require + [32mpython_abi 3.8.* *_graalpy223_38_native[0m, which can be installed; + [32mcython 0.29.15[0m would require + [32mpython_abi 2.7.* *_cp27mu[0m, which can be installed; + [32mcython [0.29.15|0.29.16|...|0.29.24][0m would require + [32mpython_abi 3.6.* *_cp36m[0m, which can be installed; + [32mcython [0.29.15|0.29.16|...|0.29.21][0m would require + [32mpython_abi 3.6 *_pypy36_pp73[0m, which can be installed; + [32mcython [0.29.15|0.29.16|...|0.29.32][0m would require + [32mpython_abi 3.7.* *_cp37m[0m, which can be installed; + [32mcython [0.29.15|0.29.16|...|3.0.9][0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mcython [0.29.21|0.29.22|0.29.23][0m would require + [32mpypy3.6 >=7.3.3 [0m, which can be installed; + [32mcython [0.29.21|0.29.22|...|0.29.28][0m would require + [32mpython_abi 3.7 *_pypy37_pp73[0m, which can be installed; + [32mcython [0.29.21|0.29.22|...|3.0.9][0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [32mcython [0.29.24|0.29.25|...|3.0.9][0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [32mcython [0.29.28|0.29.29|...|3.0.2][0m would require + [32mpython_abi 3.8 *_pypy38_pp73[0m, which can be installed; + [32mcython [0.29.28|0.29.29|...|3.0.9][0m would require + [32mpython_abi 3.9 *_pypy39_pp73[0m, which can be installed; + [32mcython [0.29.32|0.29.33|...|3.0.9][0m would require + [32mpython_abi 3.11.* *_cp311[0m, which can be installed; + [31mcython [0.29.36|0.29.37|...|3.0.9][0m would require + [31mpython_abi 3.12.* *_cp312[0m, which cannot be installed (as previously explained); + [32mpysam[0m is installable with the potential options + [31mpysam 0.22.1[0m would require + [31mlibcurl >=8.8.0,<9.0a0 [0m, which requires + [31mzstd >=1.5.6,<1.6.0a0 [0m, which conflicts with any installable versions previously reported; + [32mpysam [0.10.0|0.11.0|...|0.9.1.4][0m would require + [32mpython [2.7* |>=2.7,<2.8.0a0 ][0m, which can be installed; + [32mpysam [0.10.0|0.15.2|...|0.9.1][0m would require + [32mpython_abi 2.7.* *_cp27mu[0m, which can be installed; + [32mpysam [0.10.0|0.11.0|...|0.9.1.4][0m would require + [32mpython 3.4* [0m, which can be installed; + [32mpysam [0.10.0|0.11.0|...|0.9.1.4][0m would require + [32mpython [3.5* |>=3.5,<3.6.0a0 ][0m, which can be installed; + [32mpysam [0.10.0|0.11.1|...|0.9.1][0m would require + [32mpython 3.6* [0m with the potential options + [32mpython [3.6.0|3.6.1|...|3.6.9][0m, which can be installed; + [32mpython [3.6.0a3|3.6.0a4|...|3.6.0rc1][0m, which can be installed; + [32mpython 3.6.12[0m, which can be installed (as previously explained); + [32mpython 3.6.9[0m, which can be installed (as previously explained); + [32mpysam [0.10.0|0.15.2|...|0.9.1][0m would require + [32mpython_abi 3.6.* *_cp36m[0m, which can be installed; + [32mpysam [0.10.0|0.14.1|...|0.9.1][0m would require + [32mpython >=3.6,<3.7.0a0 [0m with the potential options + [32mpython [3.6.0|3.6.1|...|3.6.9][0m, which can be installed; + [32mpython 3.6.12[0m, which can be installed (as previously explained); + [32mpython 3.6.9[0m, which can be installed (as previously explained); + [31mpysam [0.15.1|0.15.2|0.15.3][0m would require + [31mlibdeflate >=1.0,<1.1.0a0 [0m, which conflicts with any installable versions previously reported; + [32mpysam [0.15.2|0.15.4|...|0.9.1][0m would require + [32mpython_abi 3.7.* *_cp37m[0m, which can be installed; + [32mpysam [0.15.2|0.15.3|0.15.4|0.9.1][0m would require + [32mpython >=3.7,<3.8.0a0 [0m with the potential options + [32mpython [3.7.0|3.7.1|...|3.7.9][0m, which can be installed; + [32mpython [3.7.10|3.7.12|3.7.9][0m, which can be installed (as previously explained); + [32mpysam [0.15.2|0.16.0.1|...|0.9.1][0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mpysam [0.16.0.1|0.17.0|...|0.9.1][0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [32mpysam [0.19.1|0.20.0|0.21.0|0.22.0|0.22.1][0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [32mpysam 0.22.1[0m would require + [32mpython_abi 3.11.* *_cp311[0m, which can be installed; + [32mpysam 0.7.7[0m would require + [32mpython <3.0.0 [0m, which can be installed; + [31mpython 3.12.* *_cpython[0m is not installable because there are no viable options + [31mpython [3.12.0|3.12.1|3.12.2|3.12.3][0m would require + [31mpython_abi 3.12.* *_cp312[0m, which conflicts with any installable versions previously reported; + [31mpython 3.12.0rc3[0m would require + [31m_python_rc[0m, which does not exist (perhaps a missing channel). +# Last 100 lines of the build log. +category: |- + dependency issue diff --git a/recipes/sqt/build_failure.osx-64.yaml b/recipes/sqt/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..9964140dcc5b9 --- /dev/null +++ b/recipes/sqt/build_failure.osx-64.yaml @@ -0,0 +1,106 @@ +recipe_sha: ebe606033ba793850dd048eb7d0d505bb7fe6bae042ee3fdeae0e3fcf8ffdc62 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + dnaio 1.2.0 would require + python_abi 3.11.* *_cp311, which can be installed; + dnaio 1.2.0 would require + python_abi 3.8.* *_cp38, which can be installed; + dnaio 1.2.0 would require + python_abi 3.9.* *_cp39, which can be installed; + python_abi 3.12.* *_cp312, which requires + python 3.12.* *_cpython, which conflicts with any installable versions previously reported; + cython is installable with the potential options + cython [0.24|0.24.1|...|0.29.9], which can be installed; + cython [0.24|0.24.1|0.25.1|0.25.2|0.27.3] would require + python_abi * *_cp34m, which conflicts with any installable versions previously reported; + cython [0.24|0.25.2|...|0.28.2] would require + python 3.6* with the potential options + python [3.6.0|3.6.1|...|3.6.9], which can be installed; + python [3.6.0a3|3.6.0a4|...|3.6.0rc1], which can be installed; + python [3.6.12|3.6.9], which can be installed (as previously explained); + cython [0.28.3|0.28.4|...|0.29.9] would require + python >=3.6,<3.7.0a0 with the potential options + python [3.6.0|3.6.1|...|3.6.9], which can be installed; + python [3.6.12|3.6.9], which can be installed (as previously explained); + cython [0.28.4|0.28.5|...|0.29.9] would require + python >=3.7,<3.8.0a0 with the potential options + python [3.7.0|3.7.1|...|3.7.9], which can be installed; + python [3.7.10|3.7.12|3.7.9], which can be installed (as previously explained); + cython [0.29.14|0.29.15] would require + python >=3.8,<3.9.0a0 with the potential options + python [3.8.0|3.8.1|...|3.8.8], which can be installed; + python [3.8.12|3.8.13|3.8.16] would require + python_abi 3.8 *_pypy38_pp73, which can be installed; + cython 0.29.15 would require + python_abi 2.7.* *_cp27m, which can be installed; + cython [0.29.15|0.29.16|...|0.29.24] would require + python_abi 3.6.* *_cp36m, which can be installed; + cython [0.29.15|0.29.16|...|0.29.23] would require + python_abi 3.6 *_pypy36_pp73, which can be installed; + cython [0.29.15|0.29.16|...|0.29.32] would require + python_abi 3.7.* *_cp37m, which can be installed; + cython [0.29.15|0.29.16|...|3.0.9] would require + python_abi 3.8.* *_cp38, which can be installed; + cython [0.29.21|0.29.22|...|0.29.28] would require + python_abi 3.7 *_pypy37_pp73, which can be installed; + cython [0.29.21|0.29.22|...|3.0.9] would require + python_abi 3.9.* *_cp39, which can be installed; + cython [0.29.24|0.29.25|...|3.0.9] would require + python_abi 3.10.* *_cp310, which can be installed; + cython [0.29.28|0.29.29|...|3.0.2] would require + python_abi 3.8 *_pypy38_pp73, which can be installed; + cython [0.29.28|0.29.29|...|3.0.9] would require + python_abi 3.9 *_pypy39_pp73, which can be installed; + cython [0.29.32|0.29.33|...|3.0.9] would require + python_abi 3.11.* *_cp311, which can be installed; + cython [0.29.36|0.29.37|...|3.0.9] would require + python_abi 3.12.* *_cp312, which cannot be installed (as previously explained); + pysam is installable with the potential options + pysam 0.22.1 would require + libcurl >=8.8.0,<9.0a0 , which requires + zstd >=1.5.6,<1.6.0a0 , which conflicts with any installable versions previously reported; + pysam [0.10.0|0.11.0|...|0.9.1.4] would require + python [2.7* |>=2.7,<2.8.0a0 ], which can be installed; + pysam [0.10.0|0.15.2|...|0.9.1] would require + python_abi 2.7.* *_cp27m, which can be installed; + pysam [0.10.0|0.11.0|...|0.9.1.4] would require + python 3.4* , which can be installed; + pysam [0.10.0|0.11.0|...|0.9.1.4] would require + python [3.5* |>=3.5,<3.6.0a0 ], which can be installed; + pysam [0.10.0|0.11.1|...|0.9.1] would require + python 3.6* with the potential options + python [3.6.0|3.6.1|...|3.6.9], which can be installed; + python [3.6.0a3|3.6.0a4|...|3.6.0rc1], which can be installed; + python [3.6.12|3.6.9], which can be installed (as previously explained); + pysam [0.10.0|0.14.1|...|0.9.1] would require + python >=3.6,<3.7.0a0 with the potential options + python [3.6.0|3.6.1|...|3.6.9], which can be installed; + python [3.6.12|3.6.9], which can be installed (as previously explained); + pysam [0.10.0|0.15.2|...|0.9.1] would require + python_abi 3.6.* *_cp36m, which can be installed; + pysam [0.15.1|0.15.2|0.15.3] would require + libdeflate >=1.0,<1.1.0a0 , which conflicts with any installable versions previously reported; + pysam [0.15.2|0.15.4|...|0.9.1] would require + python_abi 3.7.* *_cp37m, which can be installed; + pysam [0.15.2|0.15.3|0.15.4|0.9.1] would require + python >=3.7,<3.8.0a0 with the potential options + python [3.7.0|3.7.1|...|3.7.9], which can be installed; + python [3.7.10|3.7.12|3.7.9], which can be installed (as previously explained); + pysam [0.15.2|0.16.0.1|...|0.9.1] would require + python_abi 3.8.* *_cp38, which can be installed; + pysam [0.16.0.1|0.17.0|...|0.9.1] would require + python_abi 3.9.* *_cp39, which can be installed; + pysam [0.19.1|0.20.0|0.21.0|0.22.0|0.22.1] would require + python_abi 3.10.* *_cp310, which can be installed; + pysam 0.22.1 would require + python_abi 3.11.* *_cp311, which can be installed; + pysam 0.7.7 would require + python <3.0.0 , which can be installed; + python 3.12.* *_cpython is not installable because there are no viable options + python [3.12.0|3.12.1|3.12.2|3.12.3] would require + python_abi 3.12.* *_cp312, which conflicts with any installable versions previously reported; + python 3.12.0rc3 would require + _python_rc, which does not exist (perhaps a missing channel). +# Last 100 lines of the build log. +category: |- + dependency issue diff --git a/recipes/sqt/meta.yaml b/recipes/sqt/meta.yaml index 536f3ebac8ee2..2b63b7acebdf3 100644 --- a/recipes/sqt/meta.yaml +++ b/recipes/sqt/meta.yaml @@ -12,7 +12,7 @@ build: # remove PKG-INFO to trigger cythonize rm PKG-INFO {{ PYTHON }} -m pip install . --no-deps -vv - number: 5 + number: 6 requirements: build: diff --git a/recipes/squeakr/meta.yaml b/recipes/squeakr/meta.yaml index ca25f7870ea8a..b18136c4e98dd 100644 --- a/recipes/squeakr/meta.yaml +++ b/recipes/squeakr/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.6" %} +{% set version = "0.7" %} {% set name = "squeakr" %} package: @@ -7,11 +7,13 @@ package: source: url: https://github.com/splatlab/{{ name|lower }}/archive/V{{ version }}.tar.gz - sha256: 6738efd60a32362d98be311b949012a57787d0ee77679ac1016809267b6f29b2 + sha256: 61f0493e5d27a7d629a87841052d174491018bb81e1876879f402d3b6885a9ff build: - number: 5 - skip: True # [osx] + number: 1 + skip: True # [osx] + run_exports: + - {{ pin_subpackage('squeakr', max_pin="x.x") }} requirements: build: @@ -21,16 +23,12 @@ requirements: host: - bzip2 - zlib - - boost - boost-cpp - openssl - pthread-stubs run: - - bzip2 - - zlib - - boost - boost-cpp - - openssl + - openssl - pthread-stubs test: @@ -41,4 +39,5 @@ about: home: https://github.com/splatlab/squeakr license: BSD-3-Clause license_family: BSD - summary: An Exact and Approximate k-mer Counting System + summary: "An Exact and Approximate k-mer Counting System" + dev_url: https://github.com/splatlab/squeakr diff --git a/recipes/squid/meta.yaml b/recipes/squid/meta.yaml index af425a48a72ab..655d71f8ccdd7 100644 --- a/recipes/squid/meta.yaml +++ b/recipes/squid/meta.yaml @@ -5,7 +5,7 @@ package: version: {{ version }} build: - number: 7 + number: 8 # Test fails on OSX skip: True # [osx] diff --git a/recipes/squigualiser/meta.yaml b/recipes/squigualiser/meta.yaml new file mode 100644 index 0000000000000..3228a906e28fe --- /dev/null +++ b/recipes/squigualiser/meta.yaml @@ -0,0 +1,55 @@ +{% set name = "squigualiser" %} +{% set version = "0.6.3" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/squigualiser-{{ version }}.tar.gz + sha256: 17f443056d8f24c6e5dbb865cb55583ed3fb9c9522ab380f1393e8aa6da12915 + +build: + entry_points: + - squigualiser=src.__init__:main + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('squigualiser', max_pin='x.x') }} + +requirements: + host: + - python >=3.8 + - numpy + - pip + run: + - python >=3.8 + - bokeh ==3.1.1 + - numpy + - pyslow5 + - pyfaidx + - pyfastx + - pysam + - matplotlib-base ==3.7 + - seaborn + - selenium + +test: + imports: + - src + commands: + - pip check + - squigualiser --help + requires: + - pip + +about: + home: https://github.com/hiruna72/squigualiser + summary: Visualise ONT raw signals + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - hiruna72 diff --git a/recipes/squigulator/build.sh b/recipes/squigulator/build.sh index 892f6dafecd1c..ef6581b36ea81 100644 --- a/recipes/squigulator/build.sh +++ b/recipes/squigulator/build.sh @@ -1,4 +1,7 @@ #!/bin/bash -make CC=$CC CXX=$CXX + +set -xe + +make -j ${CPU_COUNT} CC=$CC CXX=$CXX mkdir -p $PREFIX/bin cp squigulator $PREFIX/bin/squigulator diff --git a/recipes/squigulator/meta.yaml b/recipes/squigulator/meta.yaml index cdb6c3d60102f..087ddfe0ea226 100644 --- a/recipes/squigulator/meta.yaml +++ b/recipes/squigulator/meta.yaml @@ -1,5 +1,5 @@ {% set name = "squigulator" %} -{% set version = "0.2.2" %} +{% set version = "0.4.0" %} package: name: {{ name }} @@ -7,10 +7,10 @@ package: source: url: https://github.com/hasindu2008/squigulator/releases/download/v{{ version }}/squigulator-v{{ version }}-release.tar.gz - sha256: c1159c71ab04623e678c265081a2b0fc6b790b5cc86260deac1646d87c180e35 + sha256: b8c895067308fd950581771c5ad80ce3af10a0264c55476145d0ef0a9d437bb7 build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage('squigulator', max_pin="x") }} @@ -38,3 +38,7 @@ about: summary: A tool for simulating nanopore raw signal data description: 'squigulator is a tool for simulating nanopore raw signal data.' +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/squirrel/meta.yaml b/recipes/squirrel/meta.yaml new file mode 100644 index 0000000000000..31fe86f18b49b --- /dev/null +++ b/recipes/squirrel/meta.yaml @@ -0,0 +1,47 @@ +{% set version = "1.0.10" %} +{% set name = "squirrel" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/aineniamh/squirrel/archive/refs/tags/{{ version }}.tar.gz + sha256: f59e433906b995004f4e266235b0cfd58d80a08fd63c776d86c1846c8565254e + +build: + number: 1 + noarch: python + script: python -m pip install --no-deps --ignore-installed . + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + +requirements: + host: + - python ==3.10 + - pip + run: + - python ==3.10 + - biopython >=1.74 + - minimap2 >=2.16 + - snakemake-minimal ==7.32 + - matplotlib-base >=3.3.1 + - seaborn + - gofasta + - baltic + - mako + - pandas + - iqtree >=2.1 + - jclusterfunk >=0.0.25 + +test: + commands: + - squirrel --help + +about: + home: https://github.com/aineniamh/squirrel + license: GPL-3.0-only + license_family: GPL3 + license_file: LICENSE + summary: Some QUIck Reconstruction to Resolve Evolutionary Links + diff --git a/recipes/squizz/build.sh b/recipes/squizz/build.sh index d0e9d0dc8de9f..48649a149aad1 100644 --- a/recipes/squizz/build.sh +++ b/recipes/squizz/build.sh @@ -1,7 +1,8 @@ #!/bin/sh +set -xe ./configure --prefix=${PREFIX} -make +make -j ${CPU_COUNT} make install diff --git a/recipes/squizz/meta.yaml b/recipes/squizz/meta.yaml index e0e1cfa9b2044..72dee1727b56c 100644 --- a/recipes/squizz/meta.yaml +++ b/recipes/squizz/meta.yaml @@ -7,7 +7,9 @@ source: md5: 12d9b316a7772911ec3baa2e3f6dda12 build: - number: 6 + number: 7 + run_exports: + - {{ pin_subpackage('squizz', max_pin="x.x") }} requirements: build: @@ -22,4 +24,10 @@ test: about: home: http://ftp.pasteur.fr/pub/gensoft/projects/squizz/ summary: Squizz is a sequence/alignment format checker, but it has some conversion capabilities too. - license: GPL 2 + license: GPL-2.0-only + license_file: COPYING + license_family: GPL + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/sra-tools/build.sh b/recipes/sra-tools/build.sh index 61adcee08e6b5..272542a5bdabe 100755 --- a/recipes/sra-tools/build.sh +++ b/recipes/sra-tools/build.sh @@ -1,18 +1,8 @@ #!/bin/bash -e -export INCLUDE_PATH="${PREFIX}/include" -export LIBRARY_PATH="${PREFIX}/lib" -export LDFLAGS="-L${PREFIX}/lib" -export CXX_FOR_BUILD=${CXX} - -export CFLAGS="-DH5_USE_110_API -I${PREFIX}/include ${LDFLAGS}" -export CXXFLAGS="-I${PREFIX}/include ${LDFLAGS}" - -echo "compiling sra-tools" -if [[ ${OSTYPE} == "darwin"* ]]; then - export CFLAGS="${CFLAGS} -DTARGET_OS_OSX" - export CXXFLAGS="${CXXFLAGS} -DTARGET_OS_OSX -D_LIBCPP_DISABLE_AVAILABILITY" -fi +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 -DH5_USE_110_API -D_FILE_OFFSET_BITS=64 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -O3 -I${PREFIX}/include" mkdir -p obj/ngs/ngs-java/javadoc/ngs-doc # prevent error on OSX @@ -20,16 +10,34 @@ mkdir -p obj/ngs/ngs-java/javadoc/ngs-doc # prevent error on OSX # Execute Make commands from a separate subdirectory. Else: # ERROR: In source builds are not allowed export SRA_BUILD_DIR=${SRC_DIR}/build_sratools -mkdir ${SRA_BUILD_DIR} -pushd ${SRA_BUILD_DIR} -cmake ../sra-tools/ -DVDB_BINDIR=${BUILD_PREFIX}/lib64 \ - -DVDB_LIBDIR=${BUILD_PREFIX}/lib64 \ - -DVDB_INCDIR=${BUILD_PREFIX}/include \ - -DCMAKE_INSTALL_PREFIX=${PREFIX} \ - -DCMAKE_BUILD_TYPE=Release -cmake --build . -j 4 -v -cmake --install . -popd +mkdir -p ${SRA_BUILD_DIR} + +echo "Compiling sra-tools" +if [[ "$(uname)" == "Darwin" ]]; then + export VDB_INC="${SRC_DIR}/ncbi-vdb/interfaces" + export CONFIG_ARGS="-DCMAKE_FIND_FRAMEWORK=NEVER -DCMAKE_FIND_APPBUNDLE=NEVER" + export CFLAGS="${CFLAGS} -DTARGET_OS_OSX" + export CXXFLAGS="${CXXFLAGS} -DTARGET_OS_OSX" +else + export VDB_INC="${PREFIX}/include" + export CONFIG_ARGS="" +fi + +cmake -S sra-tools/ -B build_sratools/ \ + -DVDB_BINDIR="${PREFIX}" \ + -DVDB_LIBDIR="${PREFIX}/lib" \ + -DVDB_INCDIR="${VDB_INC}" \ + -DCMAKE_INSTALL_PREFIX="${PREFIX}" \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_SHARED_LIBS=ON \ + -DCMAKE_INSTALL_LIBDIR="${PREFIX}/lib" \ + -DCMAKE_C_COMPILER="${CC}" \ + -DCMAKE_C_FLAGS="${CFLAGS}" \ + -DCMAKE_CXX_COMPILER="${CXX}" \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ + "${CONFIG_ARGS}" + +cmake --build build_sratools/ --target install -j "${CPU_COUNT}" -v # Strip package version from binary names @@ -42,5 +50,5 @@ for exe in \ srapath-orig \ sra-pileup-orig do - ln -s "${exe}.${PKG_VERSION}" "${exe}" + ln -sf "${exe}.${PKG_VERSION}" "${exe}" done diff --git a/recipes/sra-tools/build_failure.linux-64.yaml b/recipes/sra-tools/build_failure.linux-64.yaml deleted file mode 100644 index 7d780860f3697..0000000000000 --- a/recipes/sra-tools/build_failure.linux-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 74068ce82e029b1de83b1336a271611bb232a4f1c51434eb8bb0c9b87a402e99 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |- - /opt/conda/conda-bld/sra-tools_1685393115370/work/sra-tools/tools/external/sra-pileup/sam-dump.c: In function 'DumpCGSAM.part.0': - /opt/conda/conda-bld/sra-tools_1685393115370/work/sra-tools/tools/external/sra-pileup/sam-dump.c:2457:40: warning: 'last_cig_op' may be used uninitialized in this function [-Wmaybe-uninitialized] - 2457 | ciglen = last_ciglen sprintf(dstlast_ciglen,"%d%c",last_cig_oplen,last_cig_op); \ - | ^~~~~~~ - /opt/conda/conda-bld/sra-tools_1685393115370/work/sra-tools/tools/external/sra-pileup/sam-dump.c:2445:14: note: 'last_cig_op' was declared here - 2445 | char last_cig_op; - | ^~~~~~~~~~~ - [ 68%] Building C object tools/external/sra-pileup/CMakeFiles/sam-dump.dir/sam-dump3.c.o - /opt/conda/conda-bld/sra-tools_1685393115370/work/sra-tools/tools/external/sra-pileup/sam-dump3.c: In function 'KMain': - /opt/conda/conda-bld/sra-tools_1685393115370/work/sra-tools/tools/external/sra-pileup/sam-dump3.c:510:10: warning: 'mode' may be used uninitialized in this function [-Wmaybe-uninitialized] - 510 | rc = init_out_redir( &redir, mode, opts->outputfile, opts->output_buffer_size ); /* from out_redir.c */ - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - /opt/conda/conda-bld/sra-tools_1685393115370/work/sra-tools/tools/external/sra-pileup/sam-dump3.c:502:25: note: 'mode' was declared here - 502 | enum out_redir_mode mode; - | ^~~~ - [ 68%] Building C object tools/external/sra-pileup/CMakeFiles/sam-dump.dir/dyn_string.c.o - [ 69%] Linking C executable ../../../bin/sam-dump - [ 69%] Built target sam-dump - [ 70%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/helper.c.o - [ 70%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/arg_helper.c.o - [ 70%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/dflt_defline.c.o - [ 71%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/tool_ctx.c.o - [ 71%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/inspector.c.o - [ 71%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/sbuffer.c.o - [ 71%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/err_msg.c.o - [ 72%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/file_tools.c.o - [ 72%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/var_fmt.c.o - [ 72%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/flex_printer.c.o - [ 72%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/temp_dir.c.o - [ 73%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/progress_thread.c.o - [ 73%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/cleanup_task.c.o - [ 73%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/index.c.o - [ 74%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/lookup_writer.c.o - [ 74%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/lookup_reader.c.o - [ 74%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/locked_file_list.c.o - [ 74%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/locked_value.c.o - [ 75%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/file_printer.c.o - [ 75%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/merge_sorter.c.o - [ 75%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/sorter.c.o - [ 76%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/cmn_iter.c.o - [ 76%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/raw_read_iter.c.o - [ 76%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/special_iter.c.o - [ 76%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/fastq_iter.c.o - [ 77%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/db_join.c.o - [ 77%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/tbl_join.c.o - [ 77%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/temp_registry.c.o - [ 77%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/copy_machine.c.o - [ 78%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/concatenator.c.o - [ 78%] Building C object tools/external/fasterq-dump/CMakeFiles/fasterq-dump.dir/fasterq-dump.c.o - [ 78%] Linking C executable ../../../bin/fasterq-dump - [ 78%] Built target fasterq-dump - [ 79%] Building C object tools/external/vdb-dump/CMakeFiles/vdb-dump.dir/vdb-dump-context.c.o - [ 79%] Building C object tools/external/vdb-dump/CMakeFiles/vdb-dump.dir/vdb-dump-coldefs.c.o - [ 79%] Building C object tools/external/vdb-dump/CMakeFiles/vdb-dump.dir/vdb-dump-tools.c.o - In file included from /opt/conda/conda-bld/sra-tools_1685393115370/work/sra-tools/tools/external/vdb-dump/vdb-dump-tools.c:41: - /opt/conda/conda-bld/sra-tools_1685393115370/work/sra-tools/tools/external/vdb-dump/vdb-dump-tools.c: In function 'vdt_dump_float_element': - /opt/conda/conda-bld/sra-tools_1685393115370/_build_env/include/cc/gcc/x86_64/bitstr.h:35:20: warning: 'value' may be used uninitialized in this function [-Wmaybe-uninitialized] - 35 | #define BSWAP( x ) bswap_32 ( x ) - | ^~~~~~~~ - /opt/conda/conda-bld/sra-tools_1685393115370/_build_env/include/cc/gcc/x86_64/bitstr.h:35:20: warning: 'value' may be used uninitialized in this function [-Wmaybe-uninitialized] - /opt/conda/conda-bld/sra-tools_1685393115370/_build_env/include/cc/gcc/x86_64/bitstr.h:35:20: warning: '*((void *)&value4)' may be used uninitialized in this function [-Wmaybe-uninitialized] - [ 79%] Building C object tools/external/vdb-dump/CMakeFiles/vdb-dump.dir/vdb-dump-str.c.o - [ 80%] Building C object tools/external/vdb-dump/CMakeFiles/vdb-dump.dir/vdb-dump-helper.c.o - [ 80%] Building C object tools/external/vdb-dump/CMakeFiles/vdb-dump.dir/vdb-dump-formats.c.o - [ 80%] Building C object tools/external/vdb-dump/CMakeFiles/vdb-dump.dir/vdb-dump-redir.c.o - [ 80%] Building C object tools/external/vdb-dump/CMakeFiles/vdb-dump.dir/vdb-dump-fastq.c.o - [ 81%] Building C object tools/external/vdb-dump/CMakeFiles/vdb-dump.dir/vdb_info.c.o - [ 81%] Building C object tools/external/vdb-dump/CMakeFiles/vdb-dump.dir/vdb-dump.c.o - [ 81%] Linking C executable ../../../bin/vdb-dump - [ 81%] Built target vdb-dump - [ 81%] Building C object tools/external/vdb-validate/CMakeFiles/vdb-validate.dir/vdb-validate.c.o - /opt/conda/conda-bld/sra-tools_1685393115370/work/sra-tools/tools/external/vdb-validate/vdb-validate.c: In function 'kdbcc': - /opt/conda/conda-bld/sra-tools_1685393115370/work/sra-tools/tools/external/vdb-validate/vdb-validate.c:410:18: error: too many arguments to function 'KTableConsistencyCheck' - 410 | rc = KTableConsistencyCheck ( tbl, 0, level, report, & ctx, platform ); - | ^~~~~~~~~~~~~~~~~~~~~~ - In file included from /opt/conda/conda-bld/sra-tools_1685393115370/work/sra-tools/tools/external/vdb-validate/vdb-validate.c:41: - /opt/conda/conda-bld/sra-tools_1685393115370/_build_env/include/kdb/consistency-check.h:126:20: note: declared here - 126 | KDB_EXTERN rc_t CC KTableConsistencyCheck ( struct KTable const *self, - | ^~~~~~~~~~~~~~~~~~~~~~ - make[2]: *** [tools/external/vdb-validate/CMakeFiles/vdb-validate.dir/build.make:76: tools/external/vdb-validate/CMakeFiles/vdb-validate.dir/vdb-validate.c.o] Error 1 - make[1]: *** [CMakeFiles/Makefile2:2495: tools/external/vdb-validate/CMakeFiles/vdb-validate.dir/all] Error 2 - make: *** [Makefile:166: all] Error 2 - Traceback (most recent call last): - File "/opt/conda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/sra-tools_1685393115370/work/conda_build.sh']' returned non-zero exit status 2. -# Last 100 lines of the build log. diff --git a/recipes/sra-tools/conda_build_config.yaml b/recipes/sra-tools/conda_build_config.yaml index 1271f9dfbd295..fc9d91e7aedb6 100644 --- a/recipes/sra-tools/conda_build_config.yaml +++ b/recipes/sra-tools/conda_build_config.yaml @@ -1,7 +1,7 @@ # current version does not build with newer compilers cxx_compiler_version: - - 10 # [linux] + - 11 # [linux] - 14 # [osx] c_compiler_version: - - 10 # [linux] + - 11 # [linux] - 14 # [osx] diff --git a/recipes/sra-tools/meta.yaml b/recipes/sra-tools/meta.yaml index 1059721198b5b..00633aae7b54e 100644 --- a/recipes/sra-tools/meta.yaml +++ b/recipes/sra-tools/meta.yaml @@ -1,19 +1,21 @@ {% set name = "sra-tools" %} -{% set version = "3.0.9" %} -{% set sha256 = "41159b817fb7649e42b41b3ca37bb3346d4fcb27049737d8a3bca5091ad74bb5" %} +{% set version = "3.1.1" %} +{% set sha256 = "96b110bd5a30ad312e2f02552062b48a77d40c763e6aba5bb84e83662a505cf1" %} package: name: {{ name }} version: {{ version }} source: - url: https://github.com/ncbi/sra-tools/archive/refs/tags/{{version}}.tar.gz +- url: https://github.com/ncbi/sra-tools/archive/refs/tags/{{version}}.tar.gz sha256: {{ sha256 }} folder: sra-tools +- url: https://github.com/ncbi/ncbi-vdb/archive/refs/tags/{{version}}.tar.gz # [osx] + sha256: e9766f259853c696be48e289b08cb5ae6e198d82d7ffee79f09ce7f720487991 # [osx] + folder: ncbi-vdb # [osx] build: - number: 0 - skip: True # [osx] + number: 2 run_exports: - {{ pin_subpackage(name, max_pin='x') }} @@ -24,6 +26,7 @@ requirements: - cmake - bison - flex + host: - ncbi-vdb >={{ version }} run: - ca-certificates @@ -51,13 +54,17 @@ test: - sam-dump SRR002702 | grep 'EX35NVW14ISYAK' about: - home: https://github.com/ncbi/sra-tools - license: Public Domain - summary: SRA Toolkit and SDK from NCBI + home: "https://github.com/ncbi/sra-tools" + license: "Public Domain" + summary: "The SRA Toolkit and SDK from NCBI." description: | - The SRA Toolkit and SDK from NCBI is a collection of tools and libraries - for using data in the INSDC Sequence Read Archives. + "The SRA Toolkit and SDK from NCBI is a collection of tools and libraries + for using data in the INSDC Sequence Read Archives." + dev_url: "https://github.com/ncbi/sra-tools" + doc_url: "https://github.com/ncbi/sra-tools/wiki" extra: notes: 'After installation, you should run the configuration tool: ./vdb-config -i. This tool will setup your download/cache area for downloaded files and references.' + identifiers: + - biotools:sra-tools diff --git a/recipes/srahunter/meta.yaml b/recipes/srahunter/meta.yaml new file mode 100644 index 0000000000000..2f3de29f283d5 --- /dev/null +++ b/recipes/srahunter/meta.yaml @@ -0,0 +1,46 @@ +{% set name = "srahunter" %} +{% set version = "0.0.3" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/GitEnricoNeko/srahunter/archive/refs/tags/{{version}}.tar.gz + sha256: f8efc31a28f84bbf62aa4b9b5b78703273ed3b6fdc29a36edc9f835838e6dd2b +build: + entry_points: + - srahunter=scripts.cli:main + noarch: python + script: {{ PYTHON }} -m pip install . --no-build-isolation --no-deps --no-cache-dir -vvv + number: 0 + run_exports: + - {{ pin_subpackage('srahunter', max_pin="x") }} + +requirements: + host: + - python >=3.6 + - pip + - setuptools + run: + - datavzrd + - entrez-direct + - python >=3.6 + - pandas >=2.0.2 + - psutil >=5.7 + - pyfiglet + - requests >=2.31.0 + - tqdm >=4.66.1 + - sra-tools + +test: + commands: + - srahunter --help + +about: + home: https://github.com/GitEnricoNeko/srahunter + license: MIT + license_family: MIT + license_file: LICENSE + summary: "srahunter is a tool for processing SRA accession numbers." + dev_url: https://github.com/GitEnricoNeko/srahunter diff --git a/recipes/srnamapper/build.sh b/recipes/srnamapper/build.sh index f84b5edcffa02..4c383967d7913 100644 --- a/recipes/srnamapper/build.sh +++ b/recipes/srnamapper/build.sh @@ -1,8 +1,9 @@ #!/bin/bash +set -xe # zlib hack -make CC=$CC INCLUDES="-I$PREFIX/include" CFLAGS+="-g -Wall -O2 -L$PREFIX/lib" +make -j ${CPU_COUNT} CC=$CC INCLUDES="-I$PREFIX/include" CFLAGS+="-g -Wall -O2 -L$PREFIX/lib" chmod +x srnaMapper mkdir -p ${PREFIX}/bin cp -f srnaMapper ${PREFIX}/bin diff --git a/recipes/srnamapper/meta.yaml b/recipes/srnamapper/meta.yaml index 70a63aa2fddb7..517d9908d7844 100644 --- a/recipes/srnamapper/meta.yaml +++ b/recipes/srnamapper/meta.yaml @@ -1,16 +1,19 @@ {% set name = "srnaMapper" %} -{% set version = "1.0.8" %} +{% set version = "1.0.11" %} package: name: {{ name|lower }} version: {{ version }} build: - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} source: - url: https://github.com/mzytnicki/srnaMapper/archive/refs/tags/{{ version }}.tar.gz - sha256: 389fb960add27a3cfef5d52329711976ff7954cbca589f4c67f60f66bd64ce2a + git_url: https://github.com/mzytnicki/srnaMapper.git + git_rev: {{ version }} + sha256: 582b2f891ae181cf9754cd5d8968dc1eafa0f1d5978d7f8d588f1136a005e467 requirements: build: @@ -33,5 +36,11 @@ test: - srnaMapper -h extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + skip-lints: + - uses_vcs_url + - missing_hash recipe-maintainers: - mzytnicki diff --git a/recipes/srprism/build.sh b/recipes/srprism/build.sh index c2b876ba337ff..066b8804b2916 100644 --- a/recipes/srprism/build.sh +++ b/recipes/srprism/build.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -xe + # https://bioconda.github.io/troubleshooting.html#zlib-errors export CFLAGS="-I$PREFIX/include" export LDFLAGS="-L$PREFIX/lib" @@ -15,5 +17,5 @@ autoheader automake -a -c autoconf ./configure --prefix=$PREFIX -make +make -j ${CPU_COUNT} make install \ No newline at end of file diff --git a/recipes/srprism/meta.yaml b/recipes/srprism/meta.yaml index 57cdfff31d751..3028ca551ce4d 100644 --- a/recipes/srprism/meta.yaml +++ b/recipes/srprism/meta.yaml @@ -8,10 +8,14 @@ package: source: url: ftp://ftp.ncbi.nlm.nih.gov/pub/agarwala/bmtagger/src/srprism.tar.gz sha256: '{{sha256}}' + patches: + - srprism-fix-compilation.patch build: - number: 4 + number: 5 skip: true # [osx] + run_exports: + - {{ pin_subpackage('srprism', max_pin="x") }} requirements: build: @@ -35,3 +39,7 @@ about: home: ftp://ftp.ncbi.nlm.nih.gov/pub/agarwala/srprism/ license: Public Domain summary: SRPRISM - Short Read Alignment Tool + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/srprism/srprism-fix-compilation.patch b/recipes/srprism/srprism-fix-compilation.patch new file mode 100644 index 0000000000000..0d25b90ac2cd1 --- /dev/null +++ b/recipes/srprism/srprism-fix-compilation.patch @@ -0,0 +1,51 @@ +--- a/lib/srprism/query_store.hpp 2024-06-28 08:20:07.016000000 +0000 ++++ b/lib/srprism/query_store.hpp 2024-06-28 08:35:20.720000000 +0000 +@@ -570,7 +570,7 @@ + else AdjustMinRankInfo< t_scoring >( qn ); + } + +- int max_err( qa->MaxErr< true >( qn ) ); ++ int max_err( qa->template MaxErr( qn ) ); + + if( max_err < min_err || + (max_err == min_err && +@@ -595,7 +595,7 @@ + qn, align_len, n_err, n_gap, n_del, n_gopen ) ); + + if( res ) { +- int max_err( qa->MaxErr< false >( qn ) ); ++ int max_err( qa->template MaxErr< false >( qn ) ); + + if( max_err < min_err || + (max_err == min_err && +@@ -623,13 +623,13 @@ + TSeqSize MaxQueryLen( void ) const { return max_query_len_; } + + template< typename t_scoring, bool paired > int MaxErr( TQNum qn ) const +- { return GetScoringData< t_scoring >()->MaxErr< paired >( qn ); } ++ { return GetScoringData< t_scoring >()->template MaxErr< paired >( qn ); } + + template< typename t_scoring, bool paired > int + GroupMaxErr( TQNum qn ) const + { + if( IsUnique( qn ) || DupDataStart( qn )[N_MIN_RANK] == 0 ) { +- return GetScoringData< t_scoring >()->MaxErr< paired >( qn ); ++ return GetScoringData< t_scoring >()->template MaxErr< paired >( qn ); + } + else { + return GetScoringData< t_scoring >()->GroupMaxErr( +--- a/lib/srprism/query_acct.hpp 2024-06-28 08:15:57.448000000 +0000 ++++ b/lib/srprism/query_acct.hpp 2024-06-28 08:39:14.900000000 +0000 +@@ -112,10 +112,10 @@ + + template< bool paired > + bool BestLevelFull( TQNum qn ) const +- { return query_info_[qn].BestLevelFull< paired >( res_lim_ ); } ++ { return query_info_[qn].template BestLevelFull< paired >( res_lim_ ); } + + template< bool paired > int MaxErr( TQNum qn ) const +- { return query_info_[qn].MaxErr< paired >(); } ++ { return query_info_[qn].template MaxErr< paired >(); } + + int GroupMaxErr( TQNum dup_idx ) const + { return t_scoring::template MaxErr< true >( dup_data_[dup_idx] ); } diff --git a/recipes/sspace_basic/build.sh b/recipes/sspace_basic/build.sh new file mode 100644 index 0000000000000..c328c7dfcba43 --- /dev/null +++ b/recipes/sspace_basic/build.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +# Copying the tools bin +cp -r bin $PREFIX +cp -r bin $PREFIX/bin # Tool hardcoded the path of other used scripts to $Bin/bin/.pl +cp SSPACE_Basic.pl $PREFIX/bin +cp -r tools/* $PREFIX/bin + +# Copy dotlib +cp -r dotlib $PREFIX/bin + +# Making the scripts executable +chmod +x $PREFIX/bin/*.pl $PREFIX/bin/bin/* + +# Fixing the perl path +sed -i.bak 's|/usr/bin/perl|/usr/bin/env perl|' $PREFIX/bin/*.pl $PREFIX/bin/bin/*.pl + +# Creating symlink of main tool +ln -s $PREFIX/bin/SSPACE_Basic.pl $PREFIX/bin/sspace_basic \ No newline at end of file diff --git a/recipes/sspace_basic/meta.yaml b/recipes/sspace_basic/meta.yaml new file mode 100644 index 0000000000000..bc63b92416d01 --- /dev/null +++ b/recipes/sspace_basic/meta.yaml @@ -0,0 +1,39 @@ +{% set name = "sspace_basic" %} +{% set version = "2.1.1" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/nsoranzo/{{name}}/archive/v{{version}}.tar.gz + md5: 826684a3da48282a6fb7943e15239314 + +build: + number: 1 + noarch: generic + run_exports: + - {{pin_subpackage("sspace_basic", max_pin="x")}} + +requirements: + run: + - python + - perl >=5.24 + - bowtie >=1.1.2 + +test: + commands: + - bowtie-build --version + # Main tool tests are in run_test.sh + +about: + home: https://github.com/nsoranzo/sspace_basic + license: GPL-2.0-only + summary: Scaffolding Pre-Assemblies After Contig Extension (SSPACE) + dev_url: https://github.com/nsoranzo/sspace_basic + doc_url: https://github.com/nsoranzo/sspace_basic + + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/sspace_basic/run_tests.sh b/recipes/sspace_basic/run_tests.sh new file mode 100644 index 0000000000000..d2e3be30bfb3a --- /dev/null +++ b/recipes/sspace_basic/run_tests.sh @@ -0,0 +1,14 @@ +#!/bin/bash +set -x +set -e + +# Checking the main tool +EXPECTED_ERROR_MSG="ERROR: Parameter -l is required. Please insert a library file" +OUTPUT=$(sspace_basic 2>&1) || true +echo "$OUTPUT" | grep -q "$EXPECTED_ERROR_MSG" + +# Checking the location & functionality of readLibFiles.pl script +SSPACE_BASIC_PATH=$(which sspace_basic) +READLIBFILES_PATH="${SSPACE_BASIC_PATH%/*}/bin/readLibFiles.pl" +OUTPUT_BIN=$(perl $READLIBFILES_PATH 2>&1) || true +echo "$OUTPUT_BIN" | grep -q "Reading, filtering and converting" \ No newline at end of file diff --git a/recipes/staden_io_lib/arm_hwcap.patch b/recipes/staden_io_lib/arm_hwcap.patch new file mode 100644 index 0000000000000..40733dcc33b1d --- /dev/null +++ b/recipes/staden_io_lib/arm_hwcap.patch @@ -0,0 +1,15 @@ +Conda-forge's build environment on ARM uses sysroot_linux-aarch64 2.17, which +is based on glibc 2.17 so does not define HWCAP_* values on ARM. +Work around this by including the kernel header to get the desired values. + +--- a/htscodecs/htscodecs/rANS_static4x16pr.c 2023-10-10 02:54:16 ++++ b/htscodecs/htscodecs/rANS_static4x16pr.c 2024-03-06 00:01:14 +@@ -1030,6 +1030,8 @@ + + #if defined(__linux__) || defined(__FreeBSD__) + #include ++// Ensure ARM HWCAP_* values are defined even on old glibc ++#include + #elif defined(_WIN32) + #include + #endif diff --git a/recipes/staden_io_lib/config.patch b/recipes/staden_io_lib/config.patch new file mode 100644 index 0000000000000..591667b3a81ee --- /dev/null +++ b/recipes/staden_io_lib/config.patch @@ -0,0 +1,15 @@ +Upstream release contains config.{guess,sub} from six years ago that +don't handle Apple silicon. This patches minimally around it. + +--- a/config.sub 2018-02-22 00:00:00 ++++ b/config.sub 2024-07-23 21:45:09 +@@ -450,6 +450,9 @@ + | ymp-* \ + | z8k-* | z80-*) + ;; ++ arm64-apple) ++ basic_machine=aarch64-apple ++ ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown diff --git a/recipes/staden_io_lib/meta.yaml b/recipes/staden_io_lib/meta.yaml index 281cfd3b3d0e7..aceb5b5700ad2 100644 --- a/recipes/staden_io_lib/meta.yaml +++ b/recipes/staden_io_lib/meta.yaml @@ -1,18 +1,20 @@ {% set name = "staden_io_lib" %} -{% set version = "1.14.14" %} -{% set hash = "a471c79b9aede1776a895cb46fcb81b5d163d6ca9c3e1e33096346fef46d3598" %} +{% set version = "1.15.0" %} +{% set hash = "ad343dac7c77086db1b54585c5887b26eda6430d1639d111dd3304c3b749494f" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://github.com/jkbonfield/io_lib/releases/download/io_lib-1-14-14/io_lib-1.14.14.tar.gz + url: https://github.com/jkbonfield/io_lib/releases/download/io_lib-{{ version|replace('.','-') }}/io_lib-{{ version }}.tar.gz sha256: {{ hash }} + patches: + - arm_hwcap.patch + - config.patch build: - number: 7 - skip: True # [osx] + number: 0 run_exports: - {{ pin_subpackage('staden_io_lib', max_pin='x.x') }} @@ -24,13 +26,7 @@ requirements: - bzip2 - zlib - xz - - curl - - libdeflate - run: - - bzip2 - - zlib - - xz - - curl + - libcurl - libdeflate test: @@ -42,3 +38,8 @@ about: license: BSD license_file: COPYRIGHT summary: 'Staden io_lib is a library of file reading and writing code e.g. for SAM/BAM/CRAM' + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/star-fusion/meta.yaml b/recipes/star-fusion/meta.yaml index 2730d3d2414c3..ec08b7320286e 100644 --- a/recipes/star-fusion/meta.yaml +++ b/recipes/star-fusion/meta.yaml @@ -1,40 +1,42 @@ {% set name = "STAR-Fusion" %} -{% set version = "1.12.0" %} -{% set sha256 = "f99e008a69bdbd8e3cfe51a50f1a57860d4c9a30e2f4f2de80a9b32c97f50e41" %} +{% set version = "1.13.0" %} +{% set sha256 = "39087681abfea5d09e3bff54f91853588b11ec5a924481ab5dc7cfbbd0742e03" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://github.com/STAR-Fusion/STAR-Fusion/releases/download/STAR-Fusion-v{{ version }}/STAR-Fusion-v{{ version }}.FULL.tar.gz + url: https://github.com/STAR-Fusion/STAR-Fusion/releases/download/STAR-Fusion-v{{ version }}/STAR-Fusion.v0.13.0.FULL.tar.gz sha256: {{ sha256 }} build: number: 1 noarch: generic + run_exports: + - {{ pin_subpackage('star-fusion', max_pin="x") }} requirements: run: - - bbmap - - blast - - bzip2 - - gmap - - htslib - - igv-reports - - openssl - - perl - - perl-carp - - perl-carp-assert - - perl-db-file - - perl-io-gzip - - perl-json-xs - - perl-set-intervaltree - - perl-uri - - python - - samtools <1.10 - - star ==2.7.8a - - trinity <2.9 + - bbmap + - blast + - bzip2 + - gmap + - htslib + - igv-reports + - openssl + - perl + - perl-carp + - perl-carp-assert + - perl-db-file + - perl-io-gzip + - perl-json-xs + - perl-set-intervaltree + - perl-uri + - python + - samtools <1.10 + - star ==2.7.11a + - trinity <2.9 test: commands: @@ -48,3 +50,11 @@ about: license_file: LICENSE license_family: BSD summary: "STAR-Fusion fusion variant caller. All dependencies required to run FusionInspector and FusionAnnotator are included." + doc_url: https://github.com/STAR-Fusion/STAR-Fusion/wiki + dev_url: https://github.com/STAR-Fusion/STAR-Fusion + +extra: + identifiers: + - doi:10.1186/s13059-019-1842-9 + - biotools:star-fusion + - usegalaxy-eu:star_fusion diff --git a/recipes/star/build.sh b/recipes/star/build.sh index fd1118c08c27b..c10bb36255423 100644 --- a/recipes/star/build.sh +++ b/recipes/star/build.sh @@ -23,7 +23,7 @@ else cp ../simd-dispatch.sh $PREFIX/bin/STAR cp ../simd-dispatch.sh $PREFIX/bin/STARlong else - make pj "$(nproc)" STAR STARlong + make -pj "$(nproc)" STAR STARlong cp STAR $PREFIX/bin/STAR cp STARlong $PREFIX/bin/STARlong fi diff --git a/recipes/star/meta.yaml b/recipes/star/meta.yaml index 08e21507fba8d..f6946392cd1ab 100644 --- a/recipes/star/meta.yaml +++ b/recipes/star/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "2.7.11a" %} -{% set sha256 = "542457b1a4fee73f27a581b1776e9f73ad2b4d7e790388b6dc71147bd039f99a" %} +{% set version = "2.7.11b" %} +{% set sha256 = "3f65305e4112bd154c7e22b333dcdaafc681f4a895048fa30fa7ae56cac408e7" %} package: name: star @@ -15,7 +15,7 @@ source: - patches/0003-create-simd-dispatch.patch build: - number: 0 + number: 2 run_exports: - {{ pin_subpackage('star', max_pin="x") }} @@ -26,9 +26,11 @@ requirements: - make - vim host: - - htslib + - htslib >=1.20 + - zlib run: - - htslib + - htslib >=1.20 + - zlib test: commands: @@ -42,7 +44,11 @@ about: summary: An RNA-seq read aligner. extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:star - usegalaxy-eu:rna_starsolo - usegalaxy-eu:rna_star + recipe-maintainers: + - mjsteinbaugh diff --git a/recipes/starcatpy/meta.yaml b/recipes/starcatpy/meta.yaml new file mode 100644 index 0000000000000..9e1f0b2f4600e --- /dev/null +++ b/recipes/starcatpy/meta.yaml @@ -0,0 +1,47 @@ +{% set name = "starcatpy" %} +{% set version = "1.0.8" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.org/packages/source/{{ name[0] }}/{{ name }}/starcatpy-{{ version }}.tar.gz + sha256: 7ebdc81623cef595ef8a9eaa2bc2a1cc04addcf4238367e83f2f35c01fc5baba + +build: + entry_points: + - starcat = starcat:main + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + number: 0 + run_exports: + - {{ pin_subpackage('starcatpy', max_pin="x") }} + +requirements: + host: + - python + - pip + run: + - python + - scikit-learn >=1.0 + - anndata + - pandas + - numpy + - scipy + - pyyaml + - requests + +test: + imports: + - starcat + commands: + - starcat --help + +about: + home: https://github.com/immunogenomics/starCAT + summary: "Implements *CellAnnotator (aka *CAT/starCAT), annotating scRNA-Seq with predefined gene expression programs." + license: MIT + license_family: MIT + license_file: LICENSE + dev_url: https://github.com/immunogenomics/starCAT diff --git a/recipes/starcode/meta.yaml b/recipes/starcode/meta.yaml index 7421d4d857ad0..2d1b57415ccf5 100644 --- a/recipes/starcode/meta.yaml +++ b/recipes/starcode/meta.yaml @@ -9,7 +9,9 @@ source: sha256: b4f0eae9498f2dcf9c8a7fa2fa88b141c6d5abcf6da44b03d5d85e5f1a8fd5b1 build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage('starcode', max_pin='x.x') }} requirements: build: @@ -25,3 +27,7 @@ about: home: https://github.com/gui11aume/starcode license: GPLv3 summary: 'Starcode: sequence clustering based on all-pairs search' + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/stare-abc/meta.yaml b/recipes/stare-abc/meta.yaml index e48aa6e87b1e9..77d7704286449 100644 --- a/recipes/stare-abc/meta.yaml +++ b/recipes/stare-abc/meta.yaml @@ -5,7 +5,7 @@ package: version: {{ version }} build: - number: 1 + number: 2 source: url: https://github.com/SchulzLab/STARE/archive/refs/tags/v{{ version }}.tar.gz diff --git a/recipes/starseqr/build_failure.linux-64.yaml b/recipes/starseqr/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..600ce9ff83d4e --- /dev/null +++ b/recipes/starseqr/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: c3edf197b82c62f620d5b4d6b3a841ebe86fe03da1f7f33832a64b30dc6567cd # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2308, in build + output_metas = expand_outputs([(m, need_source_download, need_reparse_in_env)]) + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 916, in expand_outputs + for output_dict, m in deepcopy(_m).get_output_metadata_set( + File "/opt/conda/lib/python3.10/site-packages/conda_build/metadata.py", line 2737, in get_output_metadata_set + conda_packages = finalize_outputs_pass( + File "/opt/conda/lib/python3.10/site-packages/conda_build/metadata.py", line 1095, in finalize_outputs_pass + fm = finalize_metadata( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 650, in finalize_metadata + build_unsat, host_unsat = add_upstream_pins( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 491, in add_upstream_pins + host_deps, host_unsat, extra_run_specs_from_host = _read_upstream_pin_files( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 444, in _read_upstream_pin_files + deps, precs, unsat = get_env_dependencies( + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 156, in get_env_dependencies + precs = environ.get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("_python_rc"), MatchSpec("python==3.12.0rc3=rc3_hab00c5b_1_cpython")} + Encountered problems while solving: + - nothing provides _python_rc needed by python-3.12.0rc3-rc3_hab00c5b_1_cpython + + Could not solve for environment specs + The following packages are incompatible + [32mnumpy 1.26.* [0m is installable with the potential options + [32mnumpy [1.26.0|1.26.2|1.26.3|1.26.4][0m would require + [32mpython_abi 3.9 *_pypy39_pp73[0m, which can be installed; + [32mnumpy [1.26.0|1.26.2|1.26.3|1.26.4][0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [32mnumpy [1.26.0|1.26.2|1.26.3|1.26.4][0m would require + [32mpython_abi 3.11.* *_cp311[0m, which can be installed; + [31mnumpy [1.26.0|1.26.2|1.26.3|1.26.4][0m would require + [31mpython_abi 3.12.* *_cp312[0m, which requires + [32mpython 3.12.* *_cpython[0m, which can be installed; + [32mnumpy [1.26.0|1.26.2|1.26.3|1.26.4][0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [32mpysam >=0.9.1.4 [0m is installable with the potential options + [31mpysam [0.10.0|0.11.0|...|0.9.1.4][0m would require + [31mpython [2.7* |>=2.7,<2.8.0a0 ][0m, which conflicts with any installable versions previously reported; + [32mpysam [0.10.0|0.15.2|...|0.20.0][0m would require + [32mpython_abi 2.7.* *_cp27mu[0m, which can be installed; + [31mpysam [0.10.0|0.11.0|0.11.1|0.9.1.4][0m would require + [31mpython 3.4* [0m, which conflicts with any installable versions previously reported; + [31mpysam [0.10.0|0.11.0|...|0.9.1.4][0m would require + [31mpython [3.5* |>=3.5,<3.6.0a0 ][0m, which conflicts with any installable versions previously reported; + [31mpysam [0.10.0|0.11.1|...|0.14.1][0m would require + [31mpython 3.6* [0m, which conflicts with any installable versions previously reported; + [32mpysam [0.10.0|0.15.2|...|0.21.0][0m would require + [32mpython_abi 3.6.* *_cp36m[0m, which can be installed; + [31mpysam [0.10.0|0.14.1|...|0.15.4][0m would require + [31mpython >=3.6,<3.7.0a0 [0m, which conflicts with any installable versions previously reported; + [31mpysam [0.15.1|0.15.2|0.15.3][0m would require + [31mlibdeflate >=1.0,<1.1.0a0 [0m, which conflicts with any installable versions previously reported; + [32mpysam [0.15.2|0.15.4|...|0.21.0][0m would require + [32mpython_abi 3.7.* *_cp37m[0m, which can be installed; + [31mpysam [0.15.2|0.15.3|0.15.4][0m would require + [31mpython >=3.7,<3.8.0a0 [0m, which conflicts with any installable versions previously reported; + [32mpysam [0.15.2|0.16.0.1|...|0.22.1][0m would require + [32mpython_abi 3.8.* *_cp38[0m, which can be installed; + [32mpysam [0.16.0.1|0.17.0|...|0.22.1][0m would require + [32mpython_abi 3.9.* *_cp39[0m, which can be installed; + [32mpysam [0.19.1|0.20.0|0.21.0|0.22.0|0.22.1][0m would require + [32mpython_abi 3.10.* *_cp310[0m, which can be installed; + [31mpython 3.12.* *_cpython[0m is not installable because there are no viable options + [31mpython [3.12.0|3.12.1|3.12.2|3.12.3][0m would require + [31mpython_abi 3.12.* *_cp312[0m, which conflicts with any installable versions previously reported; + [31mpython 3.12.0rc3[0m would require + [31m_python_rc[0m, which does not exist (perhaps a missing channel). +# Last 100 lines of the build log. diff --git a/recipes/starseqr/build_failure.osx-64.yaml b/recipes/starseqr/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..a79d57b89fed7 --- /dev/null +++ b/recipes/starseqr/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: c3edf197b82c62f620d5b4d6b3a841ebe86fe03da1f7f33832a64b30dc6567cd # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + libdeflate >=1.0,<1.1.0a0 , which conflicts with any installable versions previously reported; + pysam [0.15.2|0.15.4|...|0.21.0] would require + python_abi 3.7.* *_cp37m, which can be installed; + pysam [0.15.2|0.15.3|0.15.4] would require + python >=3.7,<3.8.0a0 , which can be installed; + pysam [0.15.2|0.16.0.1|...|0.22.1] would require + python_abi 3.8.* *_cp38, which can be installed; + pysam [0.16.0.1|0.17.0|...|0.22.1] would require + python_abi 3.9.* *_cp39, which can be installed; + pysam [0.19.1|0.20.0|0.21.0|0.22.0|0.22.1] would require + python_abi 3.10.* *_cp310, which can be installed; + python 3.11.* *_cpython is not installable because it requires + python_abi 3.11.* *_cp311, which conflicts with any installable versions previously reported. + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2308, in build + output_metas = expand_outputs([(m, need_source_download, need_reparse_in_env)]) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 916, in expand_outputs + for output_dict, m in deepcopy(_m).get_output_metadata_set( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/metadata.py", line 2737, in get_output_metadata_set + conda_packages = finalize_outputs_pass( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/metadata.py", line 1095, in finalize_outputs_pass + fm = finalize_metadata( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 650, in finalize_metadata + build_unsat, host_unsat = add_upstream_pins( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 491, in add_upstream_pins + host_deps, host_unsat, extra_run_specs_from_host = _read_upstream_pin_files( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 444, in _read_upstream_pin_files + deps, precs, unsat = get_env_dependencies( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 156, in get_env_dependencies + precs = environ.get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 937, in get_install_actions + precs = get_package_records( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions + precs = _install_actions(prefix, index, specs)["LINK"] + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/environ.py", line 1301, in install_actions + txn = solver.solve_for_transaction(prune=False, ignore_pinned=False) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 153, in solve_for_transaction + unlink_precs, link_precs = self.solve_for_diff( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda/core/solve.py", line 222, in solve_for_diff + final_precs = self.solve_final_state( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state + out_state = self._solving_loop(in_state, out_state, index) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop + solved = self._solve_attempt(in_state, out_state, index, attempt=attempt) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt + new_conflicts = self._maybe_raise_for_problems( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 712, in _maybe_raise_for_problems + self._maybe_raise_for_conda_build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 805, in _maybe_raise_for_conda_build + raise exc + conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {MatchSpec("libdeflate[version='>=1.0,<1.1.0a0']"), MatchSpec("pysam==0.15.1=py27h0380709_0")} + Encountered problems while solving: + - package pysam-0.15.1-py27h0380709_0 requires libdeflate >=1.0,<1.1.0a0, but none of the providers can be installed + + Could not solve for environment specs + The following packages are incompatible + pysam >=0.9.1.4 is installable with the potential options + pysam [0.10.0|0.11.0|...|0.9.1.4] would require + python [2.7* |>=2.7,<2.8.0a0 ], which can be installed; + pysam [0.10.0|0.15.2|...|0.20.0] would require + python_abi 2.7.* *_cp27m, which can be installed; + pysam [0.10.0|0.11.0|0.11.1|0.9.1.4] would require + python 3.4* , which can be installed; + pysam [0.10.0|0.11.0|...|0.9.1.4] would require + python [3.5* |>=3.5,<3.6.0a0 ], which can be installed; + pysam [0.10.0|0.11.1|...|0.14.1] would require + python 3.6* , which can be installed; + pysam [0.10.0|0.14.1|...|0.15.4] would require + python >=3.6,<3.7.0a0 , which can be installed; + pysam [0.10.0|0.15.2|...|0.21.0] would require + python_abi 3.6.* *_cp36m, which can be installed; + pysam [0.15.1|0.15.2|0.15.3] would require + libdeflate >=1.0,<1.1.0a0 , which conflicts with any installable versions previously reported; + pysam [0.15.2|0.15.4|...|0.21.0] would require + python_abi 3.7.* *_cp37m, which can be installed; + pysam [0.15.2|0.15.3|0.15.4] would require + python >=3.7,<3.8.0a0 , which can be installed; + pysam [0.15.2|0.16.0.1|...|0.22.1] would require + python_abi 3.8.* *_cp38, which can be installed; + pysam [0.16.0.1|0.17.0|...|0.22.1] would require + python_abi 3.9.* *_cp39, which can be installed; + pysam [0.19.1|0.20.0|0.21.0|0.22.0|0.22.1] would require + python_abi 3.10.* *_cp310, which can be installed; + python 3.11.* *_cpython is not installable because it requires + python_abi 3.11.* *_cp311, which conflicts with any installable versions previously reported. +# Last 100 lines of the build log. diff --git a/recipes/starseqr/meta.yaml b/recipes/starseqr/meta.yaml index 79cf3d6f5a053..8ecee3010d8c7 100644 --- a/recipes/starseqr/meta.yaml +++ b/recipes/starseqr/meta.yaml @@ -8,7 +8,7 @@ source: build: skip: True # [py < 37] - number: 5 + number: 6 requirements: build: diff --git a/recipes/stecfinder/meta.yaml b/recipes/stecfinder/meta.yaml index 93560d5d7a168..4309d12496f0b 100644 --- a/recipes/stecfinder/meta.yaml +++ b/recipes/stecfinder/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.1.1" %} +{% set version = "1.1.2" %} {% set name = "stecfinder" %} package: @@ -7,7 +7,7 @@ package: source: url: https://github.com/LanLab/{{ name }}/archive/v{{ version }}.tar.gz - sha256: 270a80b78f7ab9d69f35b67128da967e23a08538a608dc919865158236ca5de5 + sha256: 56143eca071f750d9aad69451c3028ecffb7c4f701386b7cf923a193ef916965 build: noarch: python diff --git a/recipes/straglr/meta.yaml b/recipes/straglr/meta.yaml index ea5ed75c81eaf..12c98c8e8497c 100644 --- a/recipes/straglr/meta.yaml +++ b/recipes/straglr/meta.yaml @@ -1,32 +1,36 @@ -{% set version = "1.4.1" %} +{% set name = "straglr" %} +{% set version = "1.5.2" %} package: - name: straglr + name: {{ name }} version: {{ version }} source: - url: https://github.com/bcgsc/straglr/archive/refs/tags/v1.4.1.tar.gz - sha256: 6c37a5f5cd91b81d766f0a524170fcf96fb288d184f796bfabb6bda335212f9e + url: https://github.com/bcgsc/straglr/archive/refs/tags/v1.5.2.tar.gz + sha256: ab04d95e7c5e9465bdf565ad14bd0f46a20482df365b4e8fecd65adb04cf6614 build: noarch: python number: 0 - script: {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv + run_exports: + - {{ pin_subpackage('straglr', max_pin="x") }} requirements: host: - python >=3.7 - pip run: + - python >=3.7 - trf - blast - pysam >=0.14.0 - - pybedtools >=0.7.9 + - pybedtools >=0.9.0 - intspan >=1.5.8 - - numpy >=1.14.2 + - numpy >=1.22.3 - pathos >=0.2.3 - - scikit-learn >=0.19.0 - - scipy >=1.0.1 + - scikit-learn >=1.1 + - scipy >=1.8.0 test: commands: @@ -34,10 +38,12 @@ test: about: home: https://github.com/bcgsc/straglr - license: MIT License + license: GPL-3.0-or-later summary: 'Short-tandem repeat genotyping using long reads ' license_family: GPL3 - + license_file: LICENSE + dev_url: https://github.com/bcgsc/straglr + extra: recipe-maintainers: - wdecoster diff --git a/recipes/straindesign/meta.yaml b/recipes/straindesign/meta.yaml index d7951054be15c..ead98afb52998 100644 --- a/recipes/straindesign/meta.yaml +++ b/recipes/straindesign/meta.yaml @@ -1,5 +1,5 @@ {% set name = "straindesign" %} -{% set version = "3.2.2" %} +{% set version = "3.2.3" %} package: name: {{ name }} @@ -7,23 +7,24 @@ package: source: url: https://github.com/brsynth/{{ name }}/archive/{{ version }}.tar.gz - sha256: 3574003d2034d2e417230990d751840ddef9c505e57ddcc60e243cc6980779e2 + sha256: 326d55fb45321a89a2f32b9a8e966dbe1a15e070e504366c5e0fa050b67baca8 build: number: 0 noarch: python script: {{ PYTHON }} -m pip install -vv . + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: build: - pip - - python + - python >=3.8 - pyyaml - setuptools run: - biopython - blessings - - click - cobra >=0.24 - escher - future @@ -32,14 +33,11 @@ requirements: - IProgress - lazy-object-proxy - plotly - - python - - markupsafe + - python >=3.8 - networkx - numexpr - - numpy <1.24 # Related to https://github.com/numpy/numpy/pull/22607 - openbabel - openpyxl - - optlang - ordered-set - palettable - pandas @@ -63,3 +61,4 @@ about: extra: recipe-maintainers: - guillaume-gricourt + - tduigou diff --git a/recipes/strainge/build_failure.linux-64.yaml b/recipes/strainge/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..aff92ef2abc4c --- /dev/null +++ b/recipes/strainge/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 8d421a84b249ede354ec5b8b84c06165e973405ca4cf7997724b3633e681d5b8 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + + [1;35mnote[0m: This error originates from a subprocess, and is likely not a problem with pip. + [1;35mfull command[0m: [34m/opt/conda/conda-bld/strainge_1717901108313/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin/python /opt/conda/conda-bld/strainge_1717901108313/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmps55ogjs_[0m + [1;35mcwd[0m: /opt/conda/conda-bld/strainge_1717901108313/work + Preparing metadata (pyproject.toml): finished with status 'error' + [1;31merror[0m: [1mmetadata-generation-failed[0m + + [31m[0m Encountered error while generating package metadata. + [31m>[0m See above for output. + + [1;35mnote[0m: This is an issue with the package mentioned above, not pip. + [1;36mhint[0m: See above for details. + Exception information: + Traceback (most recent call last): + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/operations/build/metadata.py", line 35, in generate_metadata + distinfo_dir = backend.prepare_metadata_for_build_wheel(metadata_dir) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/utils/misc.py", line 766, in prepare_metadata_for_build_wheel + return super().prepare_metadata_for_build_wheel( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 186, in prepare_metadata_for_build_wheel + return self._call_hook('prepare_metadata_for_build_wheel', { + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 311, in _call_hook + self._subprocess_runner( + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/utils/subprocess.py", line 252, in runner + call_subprocess( + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/utils/subprocess.py", line 224, in call_subprocess + raise error + pip._internal.exceptions.InstallationSubprocessError: Preparing metadata (pyproject.toml) exited with 1 + + The above exception was the direct cause of the following exception: + + Traceback (most recent call last): + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper + status = run_func(*args) + ^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper + return func(self, options, args) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/commands/install.py", line 377, in run + requirement_set = resolver.resolve( + ^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 76, in resolve + collected = self.factory.collect_root_requirements(root_reqs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 534, in collect_root_requirements + reqs = list( + ^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 490, in _make_requirements_from_install_req + cand = self._make_base_candidate_from_link( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 228, in _make_base_candidate_from_link + self._link_candidate_cache[link] = LinkCandidate( + ^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 290, in __init__ + super().__init__( + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__ + self.dist = self._prepare() + ^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 222, in _prepare + dist = self._prepare_distribution() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 301, in _prepare_distribution + return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 525, in prepare_linked_requirement + return self._prepare_linked_requirement(req, parallel_builds) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 640, in _prepare_linked_requirement + dist = _get_prepared_distribution( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution + abstract_dist.prepare_distribution_metadata( + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/distributions/sdist.py", line 67, in prepare_distribution_metadata + self.req.prepare_metadata() + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/req/req_install.py", line 579, in prepare_metadata + self.metadata_directory = generate_metadata( + ^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/operations/build/metadata.py", line 37, in generate_metadata + raise MetadataGenerationFailed(package_details=details) from error + pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed + Removed file://$SRC_DIR from build tracker '/tmp/pip-build-tracker-dk_u9tdk' + Removed build tracker: '/tmp/pip-build-tracker-dk_u9tdk' + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/strainge_1717901108313/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/strainge/build_failure.osx-64.yaml b/recipes/strainge/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..16a4be15fc58e --- /dev/null +++ b/recipes/strainge/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 8d421a84b249ede354ec5b8b84c06165e973405ca4cf7997724b3633e681d5b8 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/strainge-1.3.8 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/strainge-1.3.8 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + Using pip 24.0 from $PREFIX/lib/python3.12/site-packages/pip (python 3.12) + Non-user install because user site-packages disabled + Ignoring indexes: https://pypi.org/simple + Created temporary directory: /private/tmp/pip-build-tracker-ka0pkz1f + Initialized build tracking at /private/tmp/pip-build-tracker-ka0pkz1f + Created build tracker: /private/tmp/pip-build-tracker-ka0pkz1f + Entered build tracker: /private/tmp/pip-build-tracker-ka0pkz1f + Created temporary directory: /private/tmp/pip-install-y6nw1c6k + Created temporary directory: /private/tmp/pip-ephem-wheel-cache-vyuojn_m + Processing $SRC_DIR + Added file://$SRC_DIR to build tracker '/private/tmp/pip-build-tracker-ka0pkz1f' + Created temporary directory: /private/tmp/pip-modern-metadata-tvd9hhrw + Preparing metadata (pyproject.toml): started + Preparing metadata (pyproject.toml): finished with status 'error' + Exception information: + Traceback (most recent call last): + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/operations/build/metadata.py", line 35, in generate_metadata + distinfo_dir = backend.prepare_metadata_for_build_wheel(metadata_dir) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/utils/misc.py", line 766, in prepare_metadata_for_build_wheel + return super().prepare_metadata_for_build_wheel( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 186, in prepare_metadata_for_build_wheel + return self._call_hook('prepare_metadata_for_build_wheel', { + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 311, in _call_hook + self._subprocess_runner( + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/utils/subprocess.py", line 252, in runner + call_subprocess( + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/utils/subprocess.py", line 224, in call_subprocess + raise error + pip._internal.exceptions.InstallationSubprocessError: Preparing metadata (pyproject.toml) exited with 1 + + The above exception was the direct cause of the following exception: + + Traceback (most recent call last): + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper + status = run_func(*args) + ^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper + return func(self, options, args) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/commands/install.py", line 377, in run + requirement_set = resolver.resolve( + ^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 76, in resolve + collected = self.factory.collect_root_requirements(root_reqs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 534, in collect_root_requirements + reqs = list( + ^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 490, in _make_requirements_from_install_req + cand = self._make_base_candidate_from_link( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 228, in _make_base_candidate_from_link + self._link_candidate_cache[link] = LinkCandidate( + ^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 290, in __init__ + super().__init__( + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__ + self.dist = self._prepare() + ^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 222, in _prepare + dist = self._prepare_distribution() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 301, in _prepare_distribution + return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 525, in prepare_linked_requirement + return self._prepare_linked_requirement(req, parallel_builds) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 640, in _prepare_linked_requirement + dist = _get_prepared_distribution( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution + abstract_dist.prepare_distribution_metadata( + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/distributions/sdist.py", line 67, in prepare_distribution_metadata + self.req.prepare_metadata() + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/req/req_install.py", line 579, in prepare_metadata + self.metadata_directory = generate_metadata( + ^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/operations/build/metadata.py", line 37, in generate_metadata + raise MetadataGenerationFailed(package_details=details) from error + pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed + Removed file://$SRC_DIR from build tracker '/private/tmp/pip-build-tracker-ka0pkz1f' + Removed build tracker: '/private/tmp/pip-build-tracker-ka0pkz1f' +# Last 100 lines of the build log. diff --git a/recipes/strainge/meta.yaml b/recipes/strainge/meta.yaml index 3857b0e6df44a..87bd9aeccfa3d 100644 --- a/recipes/strainge/meta.yaml +++ b/recipes/strainge/meta.yaml @@ -10,7 +10,7 @@ source: sha256: d93f1d5fea0f13519cdf19e6b0914c8ef5ce07778d653b74db267e92643e4bd1 build: - number: 0 + number: 1 skip: true # [py<38] entry_points: - strainge=strainge.cli.main:strainge_cli diff --git a/recipes/strainr2/build.sh b/recipes/strainr2/build.sh new file mode 100644 index 0000000000000..ff3d646a151fa --- /dev/null +++ b/recipes/strainr2/build.sh @@ -0,0 +1,18 @@ +#!/bin/bash -euo + +mkdir -p "${PREFIX}/bin" + +${CC} ${SRC_DIR}/src/subcontig.c -O3 -o subcontig +${CC} ${SRC_DIR}/src/hashcounter.c -I$PREFIX/include -L$PREFIX/lib -O3 -o hashcounter -lz + +chmod +x $SRC_DIR/src/PreProcessR +chmod +x $SRC_DIR/subcontig +chmod +x $SRC_DIR/hashcounter +chmod +x $SRC_DIR/src/Plot.R +chmod +x $SRC_DIR/src/StrainR + +cp $SRC_DIR/src/PreProcessR ${PREFIX}/bin/ +cp $SRC_DIR/subcontig ${PREFIX}/bin/ +cp $SRC_DIR/hashcounter ${PREFIX}/bin/ +cp $SRC_DIR/src/Plot.R ${PREFIX}/bin/ +cp $SRC_DIR/src/StrainR ${PREFIX}/bin/ diff --git a/recipes/strainr2/meta.yaml b/recipes/strainr2/meta.yaml new file mode 100644 index 0000000000000..fb508093f4d78 --- /dev/null +++ b/recipes/strainr2/meta.yaml @@ -0,0 +1,49 @@ +{% set version = "2.1.0" %} + +package: + name: strainr2 + version: {{ version }} + +source: + url: https://github.com/BisanzLab/StrainR2/archive/v{{ version }}.tar.gz + sha256: 4683de73b3a6cb1c764a0e3adfd92e0eca61aa14dee09e87b9a75af5053e1eb0 + +build: + number: 0 + run_exports: + - {{ pin_subpackage("strainr2", max_pin="x") }} + +requirements: + build: + - {{ compiler('c') }} + host: + - r-base >=4.2.0 + - r-optparse + - r-tidyverse + - zlib + run: + - bbmap + - fastp + - samtools + - r-optparse + - r-tidyverse + +test: + commands: + - PreProcessR --help + - subcontig -h + - hashcounter -h + - StrainR --help + - Plot.R --help + +about: + home: https://github.com/BisanzLab/StrainR2 + license: MIT + summary: 'StrainR2 accurately deconvolutes strain-level abundances in synthetic microbial communities using metagenomic sequencing reads' + license_family: MIT + license_file: LICENSE + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/strainscan/meta.yaml b/recipes/strainscan/meta.yaml index e4bb6caf0e437..a16796f4a5b47 100644 --- a/recipes/strainscan/meta.yaml +++ b/recipes/strainscan/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 2d927c5ac4d9b89a166afeca2aabaf4086d49b097e357ed0feb34181295cf243 build: - number: 0 + number: 1 entry_points: - strainscan = StrainScan.StrainScan:main - strainscan_build = StrainScan.StrainScan_build:main @@ -25,7 +25,7 @@ requirements: - python ==3.7.3 run: - python ==3.7.3 - - sibeliaz ==1.2.2 + - sibeliaz ==1.2.3 - r-base ==4.0.2 - numpy ==1.17.3 - pandas ==1.0.1 diff --git a/recipes/strainy/meta.yaml b/recipes/strainy/meta.yaml new file mode 100644 index 0000000000000..756fcdc9d5669 --- /dev/null +++ b/recipes/strainy/meta.yaml @@ -0,0 +1,54 @@ +{% set version = "1.1" %} +{% set name = "strainy" %} + + +package: + name: strainy + version: {{ version }} + + +source: + url: https://github.com/katerinakazantseva/strainy/archive/refs/tags/{{ version }}.tar.gz + sha256: bdbac3961fa840344ac67e249de8f6d4114e0796c5b40bb5535d8e59f4dc63d1 + + +build: + number: 1 + noarch: python + script: {{ PYTHON }} -m pip install -vv . + run_exports: + - {{ pin_subpackage("strainy", max_pin="x") }} + + +requirements: + host: + - python + run: + - python >=3.8 + - samtools >=1.14 + - bcftools >=1.14 + - minimap2 + - pygraphviz + - matplotlib-base + - biopython + - python-edlib + - networkx >=2.6,<3.4 + - gfapy + - karateclub + - numpy >=1.24,<1.27 + - pandas >=1.3,<3 + - pysam >=0.20,<0.23 + - scipy >=1.8,<1.13 + - flye + + +test: + commands: + - strainy -h + +about: + home: https://github.com/katerinakazantseva/strainy + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE + summary: assembly-based metagenomic strain phasing using long reads diff --git a/recipes/strandphaser/meta.yaml b/recipes/strandphaser/meta.yaml index b7278c800b580..6295b478cdec7 100644 --- a/recipes/strandphaser/meta.yaml +++ b/recipes/strandphaser/meta.yaml @@ -9,7 +9,7 @@ source: url: https://github.com/weber8thomas/StrandPhaseR/archive/refs/tags/0.1.2.tar.gz sha256: 0aad3b6e73e63b7cefcda86711eed810244f0bbc89d3be75a5ca07fce1f6ebc6 build: - number: 0 + number: 1 rpaths: - lib/R/lib/ - lib/ diff --git a/recipes/strangepg/build.sh b/recipes/strangepg/build.sh new file mode 100644 index 0000000000000..3040da4a94b98 --- /dev/null +++ b/recipes/strangepg/build.sh @@ -0,0 +1,7 @@ +#!/bin/bash -eu + +set -xe + +export CFLAGS="$CFLAGS -I${PREFIX}/include" +export LDFLAGS="$LDFLAGS -ldl -lpthread" +make -j ${CPU_COUNT} install diff --git a/recipes/strangepg/meta.yaml b/recipes/strangepg/meta.yaml new file mode 100644 index 0000000000000..82fa3b810be04 --- /dev/null +++ b/recipes/strangepg/meta.yaml @@ -0,0 +1,65 @@ +{% set name = "strangepg" %} +{% set version = "0.8.8" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/qwx9/{{ name }}/archive/refs/tags/{{ version }}.tar.gz + sha256: 3d9accaaae14f408eb6a3f09588e79debcab122d9db9626086087fbdc9bf4b72 + +build: + number: 0 + skip: True # [not linux] + run_exports: + - {{ pin_subpackage('strangepg', max_pin=None) }} + ignore_run_exports: + - libxcb + - xorg-libxau + - xorg-libxdmcp + - xorg-libxext + - xorg-libxfixes + +requirements: + build: + - {{ compiler('c') }} + - make + - {{ cdt('mesa-libgl-devel') }} + - {{ cdt('mesa-libegl-devel') }} + - {{ cdt('mesa-dri-drivers') }} + - {{ cdt('libdrm-devel') }} + - {{ cdt('libglvnd-glx') }} # [cdt_name != 'cos6'] + host: + - xorg-libx11 + - xorg-libxcursor + - xorg-libxi + run: + - libxcb + - xorg-libx11 + - xorg-libxau + - xorg-libxcursor + - xorg-libxdmcp + - xorg-libxext + - xorg-libxfixes + - xorg-libxi + - xorg-libxrandr + +test: + source_files: + - cmd/main.awk + +about: + home: https://github.com/qwx9/{{ name }} + summary: 'Strange pangenome-scale interactive graph visualizer' + license: MIT + license_family: MIT + license_file: LICENSE + +extra: + additional-platforms: + - linux-aarch64 + recipe-maintainers: + - qwx9 + container: + extended-base: True diff --git a/recipes/strangepg/run_test.sh b/recipes/strangepg/run_test.sh new file mode 100644 index 0000000000000..0093b29f85b73 --- /dev/null +++ b/recipes/strangepg/run_test.sh @@ -0,0 +1,6 @@ +#!/bin/sh -e +# https://github.com/bioconda/bioconda-recipes/pull/29042#issuecomment-864465780 + +strangepg -h 2>/dev/null +strangepg /dev/mordor 2>/dev/null || [[ $? == 1 ]] +echo | strawk -f cmd/main.awk diff --git a/recipes/stranger/meta.yaml b/recipes/stranger/meta.yaml index 6cbbba18292d8..cddbaa9d4f343 100644 --- a/recipes/stranger/meta.yaml +++ b/recipes/stranger/meta.yaml @@ -1,13 +1,13 @@ {% set name = "stranger" %} -{% set version = "0.8.1" %} +{% set version = "0.9.2" %} package: name: "{{ name|lower }}" version: "{{ version }}" source: - url: "https://files.pythonhosted.org/packages/d6/57/4a82727f62efd6df1aa68d7b1584f30b8ee0822d47bbc7696f009eff11d6/{{ name }}-{{ version }}.tar.gz" - sha256: 907c906b525970221ccb9d448548801c8bfe9d1ed137c857cef3e7c9f7e70e4e + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: f27c705b53e27098907f6ff8710ee817408baf75ea26720423bfbf1a2383f013 build: number: 0 @@ -15,6 +15,8 @@ build: entry_points: - stranger = stranger.__main__:base_command script: "{{ PYTHON }} -m pip install . -vv" + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: host: diff --git a/recipes/strawc/meta.yaml b/recipes/strawc/meta.yaml index 09c8e48d2a065..b75ed7b4990ed 100644 --- a/recipes/strawc/meta.yaml +++ b/recipes/strawc/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 26d798c98bb8a08011e4c233816f6c76c66605ca09ce068d8f1952532cf22ffc build: - number: 3 + number: 4 skip: True # [py2k] requirements: diff --git a/recipes/strcount/meta.yaml b/recipes/strcount/meta.yaml index d0d477b4b6a32..c9ef152fda5aa 100644 --- a/recipes/strcount/meta.yaml +++ b/recipes/strcount/meta.yaml @@ -10,7 +10,7 @@ source: sha256: b1231f846317560f2490e2fe0f1df7eca547285a5df7f593ac80dd9f2facbe1f build: - number: 1 + number: 2 entry_points: - STRcount = STRcount.STRcount:main script: "{{ PYTHON }} -m pip install . -vv" diff --git a/recipes/strdust/build.sh b/recipes/strdust/build.sh new file mode 100644 index 0000000000000..24fd00d92cbae --- /dev/null +++ b/recipes/strdust/build.sh @@ -0,0 +1,9 @@ +#!/bin/bash -euo + +export INCLUDE_PATH="${PREFIX}/include" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 -fcommon" +export CXXFLAGS="${CFLAGS} -O3 -fcommon -I${PREFIX}/include" + +# build statically linked binary with Rust +RUST_BACKTRACE=1 cargo install --verbose --root "${PREFIX}" --path . diff --git a/recipes/strdust/meta.yaml b/recipes/strdust/meta.yaml new file mode 100644 index 0000000000000..e4f6df68ce9c7 --- /dev/null +++ b/recipes/strdust/meta.yaml @@ -0,0 +1,46 @@ +{% set name = "strdust" %} +{% set version = "0.8.2" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/wdecoster/STRdust/archive/refs/tags/v{{ version }}.tar.gz + sha256: 4fd97b05b22870c70a9d41dbcb2f106836f009e3db39bce47921ab6aa9bff100 + +build: + number: 0 + run_exports: + - {{ pin_subpackage('strdust', max_pin="x.x") }} + +requirements: + build: + - {{ compiler('rust') }} + - autoconf + - automake + - libtool + - make + - {{ compiler('cxx') }} + - pkg-config + - cmake + host: + - clangdev + - zlib + +test: + commands: + - STRdust --help + +about: + home: "https://github.com/wdecoster/STRdust" + license: MIT + license_family: MIT + license_file: LICENSE + summary: "Tandem repeat genotyper for long reads." + dev_url: "https://github.com/wdecoster/STRdust" + doc_url: "https://github.com/wdecoster/STRdust/blob/v{{ version }}/README.md" + +extra: + additional-platforms: + - osx-arm64 diff --git a/recipes/stringdecomposer/meta.yaml b/recipes/stringdecomposer/meta.yaml index 11f34428dc148..d09170d075bd7 100644 --- a/recipes/stringdecomposer/meta.yaml +++ b/recipes/stringdecomposer/meta.yaml @@ -10,7 +10,7 @@ source: build: skip: True # [py27 or osx] - number: 2 + number: 3 script: {{ PYTHON }} -m pip install . -vv --ignore-installed --no-deps # script: make install PREFIX=${PREFIX} diff --git a/recipes/stringtie/build.sh b/recipes/stringtie/build.sh index 5e2d7207edd0d..36aa92faf7274 100644 --- a/recipes/stringtie/build.sh +++ b/recipes/stringtie/build.sh @@ -1,4 +1,6 @@ -#!/bin/sh +#!/bin/bash + +ln -sf $PREFIX/lib/libz.so.1 $PREFIX/lib/libz.so export C_INCLUDE_PATH=$PREFIX/include export CPLUS_INCLUDE_PATH=$PREFIX/include @@ -7,6 +9,7 @@ export CXXFLAGS="$CPPFLAGS" make release CXX=$CXX mkdir -p $PREFIX/bin +chmod 755 stringtie mv stringtie $PREFIX/bin # Prepare prepDE diff --git a/recipes/stringtie/build_failure.linux-64.yaml b/recipes/stringtie/build_failure.linux-64.yaml deleted file mode 100644 index 13ad838251ba5..0000000000000 --- a/recipes/stringtie/build_failure.linux-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 3dbc68fc7b66d4c21c2045d31273d3244a913d7ed183dc762baa1f87cbd1c61b # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |- - rlink.cpp:11677:41: note: '*(void**)((char*)&trpattern offsetof(GBitVec, GBitVec::fBits))' was declared here - 11677 | GBitVec trpattern(transfrag[t]->pattern); - | ^~~~~~~~~ - In function 'bool GMalloc(void**, long unsigned int)', - inlined from 'GBitVec::GBitVec(const GBitVec&)' at ./gclib/GBitVec.h:158:5, - inlined from 'GBitVec::GBitVec(const GBitVec&)' at ./gclib/GBitVec.h:150:3, - inlined from 'GBitVec traverse_dfs(int, int, CGraphnode*, CGraphnode*, GBitVec, int, GVec&, GPVec**, GPVec**, int&, GIntHash**, int&)' at rlink.cpp:2484:53: - ./gclib/GBase.h:254:12: warning: '*(void**)((char*)& offsetof(GBitVec, GBitVec::fBits))' may be used uninitialized [-Wmaybe-uninitialized] - 254 | return *ptr!=NULL; - | ^~~~ - rlink.cpp: In function 'GBitVec traverse_dfs(int, int, CGraphnode*, CGraphnode*, GBitVec, int, GVec&, GPVec**, GPVec**, int&, GIntHash**, int&)': - rlink.cpp:2484:63: note: '' declared here - 2484 | node->childpat = node->childpat | traverse_dfs(s,g,no2gnode[s][g][node->child[i]],sink,childparents,gno,visit,no2gnode,transfrag,edgeno,gpos,lastgpos); - | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - In function 'void* memcpy(void*, const void*, size_t)', - inlined from 'GBitVec::GBitVec(const GBitVec&)' at ./gclib/GBitVec.h:159:11, - inlined from 'GBitVec::GBitVec(const GBitVec&)' at ./gclib/GBitVec.h:150:3, - inlined from 'GBitVec traverse_dfs(int, int, CGraphnode*, CGraphnode*, GBitVec, int, GVec&, GPVec**, GPVec**, int&, GIntHash**, int&)' at rlink.cpp:2461:28: - /opt/conda/conda-bld/stringtie_1685392826475/_build_env/x86_64-conda-linux-gnu/sysroot/usr/include/bits/string3.h:52:33: warning: '*(void**)((char*)&childparents offsetof(GBitVec, GBitVec::fBits))' may be used uninitialized [-Wmaybe-uninitialized] - 52 | return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest)); - | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - rlink.cpp: In function 'GBitVec traverse_dfs(int, int, CGraphnode*, CGraphnode*, GBitVec, int, GVec&, GPVec**, GPVec**, int&, GIntHash**, int&)': - rlink.cpp:2461:25: note: '*(void**)((char*)&childparents offsetof(GBitVec, GBitVec::fBits))' was declared here - 2461 | GBitVec childparents=parents; - | ^~~~~~~~~~~~ - In function 'bool GMalloc(void**, long unsigned int)', - inlined from 'GBitVec::GBitVec(const GBitVec&)' at ./gclib/GBitVec.h:158:5, - inlined from 'GBitVec::GBitVec(const GBitVec&)' at ./gclib/GBitVec.h:150:3, - inlined from 'int create_graph(int, int, int, CBundle*, GPVec&, GList&, GList&, GVec**, GPVec**, GPVec**, GIntHash**, BundleData*, int&, int&, GArray&, int)' at rlink.cpp:3623:14: - ./gclib/GBase.h:254:12: warning: '*(void**)((char*)& offsetof(GBitVec, GBitVec::fBits))' may be used uninitialized [-Wmaybe-uninitialized] - 254 | return *ptr!=NULL; - | ^~~~ - rlink.cpp: In function 'int create_graph(int, int, int, CBundle*, GPVec&, GList&, GList&, GVec**, GPVec**, GPVec**, GIntHash**, BundleData*, int&, int&, GArray&, int)': - rlink.cpp:3623:21: note: '' declared here - 3623 | traverse_dfs(s,g,source,sink,parents,graphno,visit,no2gnode,transfrag,edgeno,gpos,lastgpos); - | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - In function 'void* memcpy(void*, const void*, size_t)', - inlined from 'GBitVec::GBitVec(const GBitVec&)' at ./gclib/GBitVec.h:159:11, - inlined from 'GBitVec::GBitVec(const GBitVec&)' at ./gclib/GBitVec.h:150:3, - inlined from 'void get_fragment_pattern(GList&, int, int, float, GVec*, GVec&, GVec*, GVec**, GVec*, GVec*, GIntHash**, GPVec**, GPVec**, CTreePat***, GPVec&)' at rlink.cpp:4350:34: - /opt/conda/conda-bld/stringtie_1685392826475/_build_env/x86_64-conda-linux-gnu/sysroot/usr/include/bits/string3.h:52:33: warning: '*(void**)((char*)&conflictpattn offsetof(GBitVec, GBitVec::fBits))' may be used uninitialized [-Wmaybe-uninitialized] - 52 | return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest)); - | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - rlink.cpp: In function 'void get_fragment_pattern(GList&, int, int, float, GVec*, GVec&, GVec*, GVec**, GVec*, GVec*, GIntHash**, GPVec**, GPVec**, CTreePat***, GPVec&)': - rlink.cpp:4350:41: note: '*(void**)((char*)&conflictpattn offsetof(GBitVec, GBitVec::fBits))' was declared here - 4350 | GBitVec conflictpattn=gnode->parentpat; - | ^~~~~~~~~~~~~ - $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -DNDEBUG -Wall -Wextra -I. -I./gclib -I$PREFIX/include/htslib -fsigned-char -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -std=c11 -fno-strict-aliasing -fno-exceptions -fno-rtti -Wno-implicit-fallthrough -Wno-class-memaccess -pthread -c tablemaker.cpp -o tablemaker.o - tablemaker.cpp: In function 'void rc_update_exons(RC_BundleData&)': - tablemaker.cpp:205:29: warning: 'std::binder2nd<_Operation> std::bind2nd(const _Operation&, const _Tp&) [with _Operation = minus; _Tp = double]' is deprecated: use 'std::bind' instead [-Wdeprecated-declarations] - 205 | bind2nd( minus(), avg)); - | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ - In file included from /opt/conda/conda-bld/stringtie_1685392826475/_build_env/x86_64-conda-linux-gnu/include/c/12.2.0/bits/stl_function.h:1438, - from /opt/conda/conda-bld/stringtie_1685392826475/_build_env/x86_64-conda-linux-gnu/include/c/12.2.0/functional:49, - from ./gclib/khashl.hh:25, - from ./gclib/GHashMap.hh:8, - from ./gclib/GFastaIndex.h:11, - from ./gclib/GFaSeqGet.h:3, - from ./gclib/gff.h:9, - from rlink.h:5, - from tablemaker.cpp:2: - /opt/conda/conda-bld/stringtie_1685392826475/_build_env/x86_64-conda-linux-gnu/include/c/12.2.0/backward/binders.h:172:5: note: declared here - 172 | bind2nd(const _Operation& __fn, const _Tp& __x) - | ^~~~~~~ - tablemaker.cpp:212:29: warning: 'std::binder2nd<_Operation> std::bind2nd(const _Operation&, const _Tp&) [with _Operation = minus; _Tp = double]' is deprecated: use 'std::bind' instead [-Wdeprecated-declarations] - 212 | bind2nd( minus(), mavg)); - | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ - /opt/conda/conda-bld/stringtie_1685392826475/_build_env/x86_64-conda-linux-gnu/include/c/12.2.0/backward/binders.h:172:5: note: declared here - 172 | bind2nd(const _Operation& __fn, const _Tp& __x) - | ^~~~~~~ - $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -DNDEBUG -Wall -Wextra -I. -I./gclib -I$PREFIX/include/htslib -fsigned-char -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -std=c11 -fno-strict-aliasing -fno-exceptions -fno-rtti -Wno-implicit-fallthrough -Wno-class-memaccess -pthread -c tmerge.cpp -o tmerge.o - $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -DNDEBUG -Wall -Wextra -I. -I./gclib -I$PREFIX/include/htslib -fsigned-char -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -std=c11 -fno-strict-aliasing -fno-exceptions -fno-rtti -Wno-implicit-fallthrough -Wno-class-memaccess -pthread -c stringtie.cpp -o stringtie.o - stringtie.cpp: In function 'int main(int, char**)': - stringtie.cpp:468:18: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'long unsigned int'} [-Wsign-compare] - 468 | if (tstackSize - sys.exit(main()) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/stringtie_1685392826475/work/conda_build.sh']' returned non-zero exit status 35. -# Last 100 lines of the build log. diff --git a/recipes/stringtie/meta.yaml b/recipes/stringtie/meta.yaml index a005ac59713ab..37148fc6c2804 100644 --- a/recipes/stringtie/meta.yaml +++ b/recipes/stringtie/meta.yaml @@ -1,6 +1,6 @@ {% set name = "StringTie" %} -{% set version = "2.2.1" %} -{% set sha256 = "ce4eec532bbbe39af462be844afa6395ab38fa3418ef5fc2431e2d6194129527" %} +{% set version = "2.2.3" %} +{% set sha256 = "f372640b70a8fde763712d2f0565aff71f5facdc2300c8af829fea94a05ff208" %} package: name: {{ name|lower }} @@ -13,16 +13,19 @@ source: - patch build: - number: 5 + number: 0 # TODO currently fails to build on osx. # Feel free to re-enable and debug. - skip: true # [osx] + skip: True # [osx] + run_exports: + - {{ pin_subpackage("stringtie", max_pin="x") }} requirements: build: - make - {{ compiler('c') }} - {{ compiler('cxx') }} + - zlib host: # curl is used to download prepDE.py - htslib @@ -36,16 +39,19 @@ test: - prepDE.py --help about: - home: https://ccb.jhu.edu/software/stringtie/ + home: "https://ccb.jhu.edu/software/stringtie" license: MIT license_file: LICENSE license_family: MIT - summary: "StringTie is a fast and highly efficient assembler of RNA-Seq alignments into potential transcripts." - dev_url: https://github.com/gpertea/stringtie + summary: "StringTie employs efficient algorithms for transcript structure recovery and abundance estimation from bulk RNA-Seq reads aligned to a reference genome." + dev_url: "https://github.com/gpertea/stringtie" + doc_url: "https://ccb.jhu.edu/software/stringtie/index.shtml?t=manual" extra: + additional-platforms: + - linux-aarch64 identifiers: - - biotools:StringTie + - biotools:stringtie - usegalaxy-eu:stringtie - doi:10.1038/nbt.3122 - doi:10.1038/nprot.2016.095 diff --git a/recipes/strling/build_failure.linux-64.yaml b/recipes/strling/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..cfd43dd6aeb0a --- /dev/null +++ b/recipes/strling/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 085df83df0de60e97d37fcffdf21a09a1e19d0fcac2406ead774210311ac1801 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + Reading official package list + Downloading https://github.com/brentp/hts-nim using git + Cloning latest tagged version: v0.3.25 + Verifying dependencies for hts@0.3.25 + Installing hts@0.3.25 + Copying file /tmp/nimble_570/githubcom_brentphtsnim/src/hts/simpleoption.nim to /home/conda/.nimble/pkgs2/hts-0.3.25-c05c9adf6b2e10a7f07edfef29110ea14bb66611/hts/simpleoption.nim + Copying file /tmp/nimble_570/githubcom_brentphtsnim/src/hts/private/hts_concat.h to /home/conda/.nimble/pkgs2/hts-0.3.25-c05c9adf6b2e10a7f07edfef29110ea14bb66611/hts/private/hts_concat.h + Copying file /tmp/nimble_570/githubcom_brentphtsnim/src/hts/private/hts_concat.nim to /home/conda/.nimble/pkgs2/hts-0.3.25-c05c9adf6b2e10a7f07edfef29110ea14bb66611/hts/private/hts_concat.nim + Copying file /tmp/nimble_570/githubcom_brentphtsnim/src/hts/csi.nim to /home/conda/.nimble/pkgs2/hts-0.3.25-c05c9adf6b2e10a7f07edfef29110ea14bb66611/hts/csi.nim + Copying file /tmp/nimble_570/githubcom_brentphtsnim/src/hts/vcf.nim to /home/conda/.nimble/pkgs2/hts-0.3.25-c05c9adf6b2e10a7f07edfef29110ea14bb66611/hts/vcf.nim + Copying file /tmp/nimble_570/githubcom_brentphtsnim/src/hts/bam.nim to /home/conda/.nimble/pkgs2/hts-0.3.25-c05c9adf6b2e10a7f07edfef29110ea14bb66611/hts/bam.nim + Copying file /tmp/nimble_570/githubcom_brentphtsnim/src/hts/value.nim to /home/conda/.nimble/pkgs2/hts-0.3.25-c05c9adf6b2e10a7f07edfef29110ea14bb66611/hts/value.nim + Copying file /tmp/nimble_570/githubcom_brentphtsnim/src/hts/files.nim to /home/conda/.nimble/pkgs2/hts-0.3.25-c05c9adf6b2e10a7f07edfef29110ea14bb66611/hts/files.nim + Copying file /tmp/nimble_570/githubcom_brentphtsnim/src/hts/utils.nim to /home/conda/.nimble/pkgs2/hts-0.3.25-c05c9adf6b2e10a7f07edfef29110ea14bb66611/hts/utils.nim + Copying file /tmp/nimble_570/githubcom_brentphtsnim/src/hts/stats.nim to /home/conda/.nimble/pkgs2/hts-0.3.25-c05c9adf6b2e10a7f07edfef29110ea14bb66611/hts/stats.nim + Copying file /tmp/nimble_570/githubcom_brentphtsnim/src/hts/bgzf.nim to /home/conda/.nimble/pkgs2/hts-0.3.25-c05c9adf6b2e10a7f07edfef29110ea14bb66611/hts/bgzf.nim + Copying file /tmp/nimble_570/githubcom_brentphtsnim/src/hts/fai.nim to /home/conda/.nimble/pkgs2/hts-0.3.25-c05c9adf6b2e10a7f07edfef29110ea14bb66611/hts/fai.nim + Copying file /tmp/nimble_570/githubcom_brentphtsnim/src/hts/bgzf/bgzi.nim to /home/conda/.nimble/pkgs2/hts-0.3.25-c05c9adf6b2e10a7f07edfef29110ea14bb66611/hts/bgzf/bgzi.nim + Copying file /tmp/nimble_570/githubcom_brentphtsnim/src/hts/bam/auxtags.nim to /home/conda/.nimble/pkgs2/hts-0.3.25-c05c9adf6b2e10a7f07edfef29110ea14bb66611/hts/bam/auxtags.nim + Copying file /tmp/nimble_570/githubcom_brentphtsnim/src/hts/bam/enums.nim to /home/conda/.nimble/pkgs2/hts-0.3.25-c05c9adf6b2e10a7f07edfef29110ea14bb66611/hts/bam/enums.nim + Copying file /tmp/nimble_570/githubcom_brentphtsnim/src/hts/bam/cigar.nim to /home/conda/.nimble/pkgs2/hts-0.3.25-c05c9adf6b2e10a7f07edfef29110ea14bb66611/hts/bam/cigar.nim + Copying file /tmp/nimble_570/githubcom_brentphtsnim/src/hts/bam/flag.nim to /home/conda/.nimble/pkgs2/hts-0.3.25-c05c9adf6b2e10a7f07edfef29110ea14bb66611/hts/bam/flag.nim + Copying file /tmp/nimble_570/githubcom_brentphtsnim/src/hts.nim to /home/conda/.nimble/pkgs2/hts-0.3.25-c05c9adf6b2e10a7f07edfef29110ea14bb66611/hts.nim + Copying file /tmp/nimble_570/githubcom_brentphtsnim/hts.nimble to /home/conda/.nimble/pkgs2/hts-0.3.25-c05c9adf6b2e10a7f07edfef29110ea14bb66611/hts.nimble + Success: hts installed successfully. + Reading official package list + Checking for itertools@any version + Installing itertools@any version + Reading official package list + Downloading https://github.com/narimiran/itertools using git + Cloning latest tagged version: v0.4.0 + Verifying dependencies for itertools@0.4.0 + Installing itertools@0.4.0 + Copying file /tmp/nimble_570/githubcom_narimiranitertools/src/itertools.nim to /home/conda/.nimble/pkgs2/itertools-0.4.0-5a3514a97e4ff2f6ca4f9fab264b3be765527c7f/itertools.nim + Copying file /tmp/nimble_570/githubcom_narimiranitertools/itertools.nimble to /home/conda/.nimble/pkgs2/itertools-0.4.0-5a3514a97e4ff2f6ca4f9fab264b3be765527c7f/itertools.nimble + Success: itertools installed successfully. + Reading official package list + Checking for argparse@>= 0.7.0 & < 1.0 + Installing argparse@>= 0.7.0 & < 1.0 + Reading official package list + Downloading https://github.com/iffy/nim-argparse using git + Cloning latest tagged version: v0.10.1 + Verifying dependencies for argparse@0.10.1 + Installing argparse@0.10.1 + Copying file /tmp/nimble_570/githubcom_iffynimargparse_0.7.0_1.0/src/argparse.nim to /home/conda/.nimble/pkgs2/argparse-0.10.1-ca6943a0561568610e27599e1e79c9b67628ee27/argparse.nim + Copying file /tmp/nimble_570/githubcom_iffynimargparse_0.7.0_1.0/src/argparse/macrohelp.nim to /home/conda/.nimble/pkgs2/argparse-0.10.1-ca6943a0561568610e27599e1e79c9b67628ee27/argparse/macrohelp.nim + Copying file /tmp/nimble_570/githubcom_iffynimargparse_0.7.0_1.0/argparse.nimble to /home/conda/.nimble/pkgs2/argparse-0.10.1-ca6943a0561568610e27599e1e79c9b67628ee27/argparse.nimble + Success: argparse installed successfully. + Reading official package list + Checking for msgpack4nim@any version + Installing msgpack4nim@any version + Reading official package list + Downloading https://github.com/jangko/msgpack4nim using git + Cloning latest tagged version: v0.4.4 + Verifying dependencies for msgpack4nim@0.4.4 + Installing msgpack4nim@0.4.4 + Copying file /tmp/nimble_570/githubcom_jangkomsgpack4nim/src/msgpack4nim.nim to /home/conda/.nimble/pkgs2/msgpack4nim-0.4.4-af47afd90e9523ea360f7c9bc0aa6b5f6bcaf786/msgpack4nim.nim + Copying file /tmp/nimble_570/githubcom_jangkomsgpack4nim/src/msgpack4nim/msgpack2json.nim to /home/conda/.nimble/pkgs2/msgpack4nim-0.4.4-af47afd90e9523ea360f7c9bc0aa6b5f6bcaf786/msgpack4nim/msgpack2json.nim + Copying file /tmp/nimble_570/githubcom_jangkomsgpack4nim/src/msgpack4nim/msgpack2any.nim to /home/conda/.nimble/pkgs2/msgpack4nim-0.4.4-af47afd90e9523ea360f7c9bc0aa6b5f6bcaf786/msgpack4nim/msgpack2any.nim + Copying file /tmp/nimble_570/githubcom_jangkomsgpack4nim/src/msgpack4nim/msgpack4collection.nim to /home/conda/.nimble/pkgs2/msgpack4nim-0.4.4-af47afd90e9523ea360f7c9bc0aa6b5f6bcaf786/msgpack4nim/msgpack4collection.nim + Copying file /tmp/nimble_570/githubcom_jangkomsgpack4nim/msgpack4nim.nimble to /home/conda/.nimble/pkgs2/msgpack4nim-0.4.4-af47afd90e9523ea360f7c9bc0aa6b5f6bcaf786/msgpack4nim.nimble + Success: msgpack4nim installed successfully. + Reading official package list + Checking for lapper@any version + Installing lapper@any version + Reading official package list + Downloading https://github.com/brentp/nim-lapper using git + Cloning latest tagged version: v0.1.7 + Verifying dependencies for lapper@0.1.7 + Installing lapper@0.1.7 + Copying file /tmp/nimble_570/githubcom_brentpnimlapper/src/lapper.nim to /home/conda/.nimble/pkgs2/lapper-0.1.7-d6b2a932f7b8f786a40c452e763a837603c119ea/lapper.nim + Copying file /tmp/nimble_570/githubcom_brentpnimlapper/lapper.nimble to /home/conda/.nimble/pkgs2/lapper-0.1.7-d6b2a932f7b8f786a40c452e763a837603c119ea/lapper.nimble + Success: lapper installed successfully. + Building strling/strling using c backend + Executing $BUILD_PREFIX/nim/bin/nim c --colors:on --noNimblePath -d:NimblePkgVersion=0.5.2 --path:/home/conda/.nimble/pkgs2/hts-0.3.25-c05c9adf6b2e10a7f07edfef29110ea14bb66611 --path:/home/conda/.nimble/pkgs2/itertools-0.4.0-5a3514a97e4ff2f6ca4f9fab264b3be765527c7f --path:/home/conda/.nimble/pkgs2/msgpack4nim-0.4.4-af47afd90e9523ea360f7c9bc0aa6b5f6bcaf786 --path:/home/conda/.nimble/pkgs2/kmer-0.2.6-2eeac4cd0bd92fefa58c442a9497ab1ed11b725b --path:/home/conda/.nimble/pkgs2/argparse-0.10.1-ca6943a0561568610e27599e1e79c9b67628ee27 --path:/home/conda/.nimble/pkgs2/lapper-0.1.7-d6b2a932f7b8f786a40c452e763a837603c119ea -o:$SRC_DIR/strling $SRC_DIR/src/strling.nim + [1m[0m[32mHint: [0mused config file '/opt/conda/conda-bld/strling_1717628771761/_build_env/nim/config/nim.cfg'[36m [Conf][0m[0m + [1m[0m[32mHint: [0mused config file '/opt/conda/conda-bld/strling_1717628771761/_build_env/nim/config/config.nims'[36m [Conf][0m[0m + [1m[0m[32mHint: [0mused config file '/opt/conda/conda-bld/strling_1717628771761/work/nim.cfg'[36m [Conf][0m[0m + ........................................................................................................................................... + [1m/home/conda/.nimble/pkgs2/lapper-0.1.7-d6b2a932f7b8f786a40c452e763a837603c119ea/lapper.nim(132, 10) [0m[31mError: [0mundeclared identifier: 'shallow'[36m[0m[0m + nimble.nim(229) buildFromDir + + Error: Build failed for the package: strling + Info: Nimble data file "/home/conda/.nimble/nimbledata2.json" has been saved. + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/strling_1717628771761/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/strling/meta.yaml b/recipes/strling/meta.yaml index 89ecced025809..2e3296bfb8c80 100644 --- a/recipes/strling/meta.yaml +++ b/recipes/strling/meta.yaml @@ -11,7 +11,7 @@ source: sha256: {{ sha256 }} build: - number: 1 + number: 2 skip: True # [osx] requirements: diff --git a/recipes/strobealign/build.sh b/recipes/strobealign/build.sh index de30b6c502353..9c98155dcf927 100644 --- a/recipes/strobealign/build.sh +++ b/recipes/strobealign/build.sh @@ -1,8 +1,21 @@ +#!/usr/bin/env bash + +set -xe + +case $(uname -m) in + x86_64) + ARCH_FLAGS="-msse4.2" + ;; + *) + ARCH_FLAGS="" + ;; +esac + cmake -B build \ - -DCMAKE_C_FLAGS="-msse4.2" \ - -DCMAKE_CXX_FLAGS="-msse4.2 -D_LIBCPP_DISABLE_AVAILABILITY" \ + -DCMAKE_C_FLAGS="${ARCH_FLAGS}" \ + -DCMAKE_CXX_FLAGS="${ARCH_FLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" \ -DCMAKE_C_STANDARD=11 \ -DCMAKE_C_STANDARD_REQUIRED=ON \ -DCMAKE_INSTALL_PREFIX=$PREFIX -make -C build VERBOSE=1 +make -j ${CPU_COUNT} -C build VERBOSE=1 make -C build install diff --git a/recipes/strobealign/meta.yaml b/recipes/strobealign/meta.yaml index 11fa5f4b70fe5..3e3b6aacbceb0 100644 --- a/recipes/strobealign/meta.yaml +++ b/recipes/strobealign/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.12.0" %} +{% set version = "0.14.0" %} package: name: strobealign @@ -11,7 +11,7 @@ build: source: url: https://github.com/ksahlin/strobealign/archive/refs/tags/v{{ version }}.tar.gz - sha256: 1ea8d081ee172b5444578bcbf261d130ea6744d9cbfc76154121e17f405ea975 + sha256: d09ee82e0dfc84b10ea2d8a7fd18fe31c10cdc5170068300280a3e1e5bbf99c5 requirements: build: @@ -21,8 +21,10 @@ requirements: - make host: - zlib + - isa-l run: - zlib + - isa-l test: commands: @@ -34,5 +36,8 @@ about: summary: Align short reads using dynamic seed size with strobemers extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - marcelm diff --git a/recipes/strucvis/meta.yaml b/recipes/strucvis/meta.yaml index bf9f8595a4c78..14469db9d4f0b 100644 --- a/recipes/strucvis/meta.yaml +++ b/recipes/strucvis/meta.yaml @@ -1,6 +1,6 @@ {% set name = "strucVis" %} -{% set version = "0.7" %} -{% set sha256 = "b8b7a918301135040ee9803379c1cc75430cca3a3ba72f86a3694c062a2cc89c" %} +{% set version = "0.9" %} +{% set sha256 = "a10a0a7d3fd66bf8e9966fd76ef521c33e8bba0fcb5b474f30a8a6c6533d93d8" %} package: name: {{ name|lower }} @@ -13,12 +13,15 @@ source: build: noarch: generic number: 0 + run_exports: + - {{ pin_subpackage('strucvis', max_pin="x.x") }} requirements: run: - perl - samtools >=1.10 - viennarna 2.* + - ghostscript test: commands: diff --git a/recipes/submission-excel2xml/build.sh b/recipes/submission-excel2xml/build.sh index e94caa89de577..a873d246167d1 100644 --- a/recipes/submission-excel2xml/build.sh +++ b/recipes/submission-excel2xml/build.sh @@ -1,58 +1,40 @@ #! /bin/bash -gem install date -v "3.0.0" -gem install open3 -v "0.1.2" -gem install mini_portile2 -v "2.4.0" -gem install nokogiri -v "1.15.3" -gem install rubyzip -v "2.3.2" -gem install roo -v "2.10.0" -gem install builder -v "3.2.4" -gem install rexml -v "3.2.5" +APPROOT=$PREFIX/opt/$PKG_NAME -APPROOT=$PREFIX/opt/submission-excel2xml +mkdir -p $APPROOT +bundle install && \ + bundle exec rake install && \ + bundle exec rake clobber + + +sed -i '1s|^.*$|#! /usr/bin/env ruby|' $PREFIX/share/rubygems/bin/excel2xml_dra +sed -i '1s|^.*$|#! /usr/bin/env ruby|' $PREFIX/share/rubygems/bin/excel2xml_jga +sed -i '1s|^.*$|#! /usr/bin/env ruby|' $PREFIX/share/rubygems/bin/submission-excel2xml +sed -i '1s|^.*$|#! /usr/bin/env ruby|' $PREFIX/share/rubygems/bin/validate_meta_dra +sed -i '1s|^.*$|#! /usr/bin/env ruby|' $PREFIX/share/rubygems/bin/validate_meta_jga + + + +# Downloading xsd files +# Files will be downloaded to $PREFIX/opt/submission-excel2xml/data +# "submission-excel2xml/data" is hard-coded in the source code. +export XDG_DATA_HOME=$PREFIX/opt +submission-excel2xml download_xsd + +# copy sample files +cp -r example/ $APPROOT/ + + +## Set variables on env activation +mkdir -p ${PREFIX}/etc/conda/activate.d ${PREFIX}/etc/conda/deactivate.d +cat <> ${PREFIX}/etc/conda/activate.d/${PKG_NAME}.sh +export XDG_DATA_HOME=$PREFIX/opt +EOF + +cat <> ${PREFIX}/etc/conda/deactivate.d/${PKG_NAME}.sh +unset XDG_DATA_HOME +EOF -mkdir -p $APPROOT -# sed -i.bak '1 s|^.*$|#!/usr/bin/env ruby|g' *.rb - -cp excel2xml_dra.rb $APPROOT/ -cp validate_meta_dra.rb $APPROOT/ -cp excel2xml_jga.rb $APPROOT/ -cp validate_meta_jga.rb $APPROOT/ - -chmod a+x $APPROOT/excel2xml_dra.rb -chmod a+x $APPROOT/validate_meta_dra.rb -chmod a+x $APPROOT/excel2xml_jga.rb -chmod a+x $APPROOT/validate_meta_jga.rb - - -mkdir -p $APPROOT/xsd - -cd $APPROOT/xsd - -curl -LO https://raw.githubusercontent.com/ddbj/pub/master/docs/dra/xsd/1-5/SRA.analysis.xsd -curl -LO https://raw.githubusercontent.com/ddbj/pub/master/docs/dra/xsd/1-5/SRA.annotation.xsd -curl -LO https://raw.githubusercontent.com/ddbj/pub/master/docs/dra/xsd/1-5/SRA.common.xsd -curl -LO https://raw.githubusercontent.com/ddbj/pub/master/docs/dra/xsd/1-5/SRA.experiment.xsd -curl -LO https://raw.githubusercontent.com/ddbj/pub/master/docs/dra/xsd/1-5/SRA.package.xsd -curl -LO https://raw.githubusercontent.com/ddbj/pub/master/docs/dra/xsd/1-5/SRA.run.xsd -curl -LO https://raw.githubusercontent.com/ddbj/pub/master/docs/dra/xsd/1-5/SRA.sample.xsd -curl -LO https://raw.githubusercontent.com/ddbj/pub/master/docs/dra/xsd/1-5/SRA.study.xsd -curl -LO https://raw.githubusercontent.com/ddbj/pub/master/docs/dra/xsd/1-5/SRA.submission.xsd -curl -LO https://raw.githubusercontent.com/ddbj/pub/master/docs/jga/xsd/1-2/JGA.analysis.xsd -curl -LO https://raw.githubusercontent.com/ddbj/pub/master/docs/jga/xsd/1-2/JGA.common.xsd -curl -LO https://raw.githubusercontent.com/ddbj/pub/master/docs/jga/xsd/1-2/JGA.dac.xsd -curl -LO https://raw.githubusercontent.com/ddbj/pub/master/docs/jga/xsd/1-2/JGA.data.xsd -curl -LO https://raw.githubusercontent.com/ddbj/pub/master/docs/jga/xsd/1-2/JGA.dataset.xsd -curl -LO https://raw.githubusercontent.com/ddbj/pub/master/docs/jga/xsd/1-2/JGA.experiment.xsd -curl -LO https://raw.githubusercontent.com/ddbj/pub/master/docs/jga/xsd/1-2/JGA.policy.xsd -curl -LO https://raw.githubusercontent.com/ddbj/pub/master/docs/jga/xsd/1-2/JGA.sample.xsd -curl -LO https://raw.githubusercontent.com/ddbj/pub/master/docs/jga/xsd/1-2/JGA.study.xsd -curl -LO https://raw.githubusercontent.com/ddbj/pub/master/docs/jga/xsd/1-2/JGA.submission.xsd - -cd $PREFIX/bin -ln -s ../opt/submission-excel2xml/excel2xml_dra.rb ./ -ln -s ../opt/submission-excel2xml/validate_meta_dra.rb ./ -ln -s ../opt/submission-excel2xml/excel2xml_jga.rb ./ -ln -s ../opt/submission-excel2xml/validate_meta_jga.rb ./ diff --git a/recipes/submission-excel2xml/meta.yaml b/recipes/submission-excel2xml/meta.yaml index fe1bdec983d3e..ca1e3897af0c0 100644 --- a/recipes/submission-excel2xml/meta.yaml +++ b/recipes/submission-excel2xml/meta.yaml @@ -1,6 +1,9 @@ +{% set version = "3.0" %} + package: name: submission-excel2xml - version: "2.0.0" + version: {{ version }} + build: number: 0 noarch: generic @@ -8,26 +11,25 @@ build: - {{ pin_subpackage('submission-excel2xml', max_pin="x") }} source: - url: https://github.com/ddbj/submission-excel2xml/archive/refs/heads/master.zip - md5: 746ef9a1e1bd13f20a0b348fd080eb45 - patches: - - patch + url: https://github.com/ddbj/submission-excel2xml/archive/refs/tags/v{{ version }}.tar.gz + sha256: 57346c7adf11191e3163036595de96cd840978c384e851f9035cbd6f6f196f1c requirements: - build: - - make host: - - ruby 3.2.2 + - make + - ruby >=3.0 - compilers - - libxml2 run: - - ruby 3.2.2 - - compilers + - ruby >=3.0 - libxml2 test: commands: - - "excel2xml_jga.rb -h" + # - excel2xml_dra -h + # - excel2xml_jga -h + - excel2xml_dra -a example -i 0001 -p PRJDB7252 ${XDG_DATA_HOME}/submission-excel2xml/example/example-0001_dra_metadata.xlsx && validate_meta_dra -a example -i 0001 + - excel2xml_dra -a example -i 0002 -p PRJDB7252 -c "National Institute of Genetics" ${XDG_DATA_HOME}/submission-excel2xml/example/example-0002_dra_metadata.xlsx && validate_meta_dra -a example -i 0002 + - excel2xml_jga -j JSUB999999 ${XDG_DATA_HOME}/submission-excel2xml/example/JSUB999999_jga_metadata.xlsx && validate_meta_jga -j JSUB999999 about: home: https://github.com/ddbj/submission-excel2xml diff --git a/recipes/submission-excel2xml/patch b/recipes/submission-excel2xml/patch deleted file mode 100644 index 59faa15a8cfa7..0000000000000 --- a/recipes/submission-excel2xml/patch +++ /dev/null @@ -1,60 +0,0 @@ -diff --git a/excel2xml_dra.rb b/excel2xml_dra.rb -index ff30c77..2dbf2ba 100644 ---- a/excel2xml_dra.rb -+++ b/excel2xml_dra.rb -@@ -1,4 +1,4 @@ --#! /usr/bin/ruby -+#! /usr/bin/env ruby - # -*- coding: utf-8 -*- - - require 'rubygems' -diff --git a/excel2xml_jga.rb b/excel2xml_jga.rb -index 8bd6b32..0cdfebe 100644 ---- a/excel2xml_jga.rb -+++ b/excel2xml_jga.rb -@@ -1,4 +1,4 @@ --#! /usr/bin/ruby -+#! /usr/bin/env ruby - # -*- coding: utf-8 -*- - - require 'rubygems' -diff --git a/validate_meta_dra.rb b/validate_meta_dra.rb -index 47d417d..8256cfb 100644 ---- a/validate_meta_dra.rb -+++ b/validate_meta_dra.rb -@@ -1,4 +1,4 @@ --#! /usr/bin/ruby -+#! /usr/bin/env ruby - # -*- coding: utf-8 -*- - - require 'rubygems' -@@ -53,7 +53,7 @@ end - - ## Validate DRA XML against xsd - #xsd_path = "/opt/submission-excel2xml/" --xsd_path = "xsd/" -+xsd_path = __dir__ + "/xsd/" - - puts "\n== XML validation against SRA xsd ==" - if FileTest.exist?("#{submission_id}_dra_Submission.xml") -diff --git a/validate_meta_jga.rb b/validate_meta_jga.rb -index 055bc61..1d3d2f6 100644 ---- a/validate_meta_jga.rb -+++ b/validate_meta_jga.rb -@@ -1,4 +1,4 @@ --#! /usr/bin/ruby -+#! /usr/bin/env ruby - # -*- coding: utf-8 -*- - - require 'rexml/document' -@@ -41,8 +41,8 @@ meta_object = ['Submission', 'Study', 'Sample', 'Experiment', 'Data', 'Analysis' - ## - - ## Validate XMLs against JGA xsd --xsd_path = "/opt/submission-excel2xml/" --#xsd_path = "xsd/" -+#xsd_path = "/opt/submission-excel2xml/" -+xsd_path = __dir__ + "/xsd/" - - xml_a = [] - Dir.glob("#{submission_id}*xml").each{|xml| diff --git a/recipes/subread/build.sh b/recipes/subread/build.sh index ad6eead5f7a09..4907a7094b1e1 100644 --- a/recipes/subread/build.sh +++ b/recipes/subread/build.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -ex + mkdir -p "${PREFIX}/bin" mkdir -p "${PREFIX}/annotation" @@ -9,11 +11,20 @@ if [ `uname` = "Darwin" ]; then MAKEFILE=Makefile.MacOS fi + +if [ $(uname -m) == "aarch64" ]; then + sed -i.bak 's/-mtune=core2//' ${MAKEFILE} + sed -i.bak 's/-mtune=core2//' ./longread-one/Makefile +fi + export C_INCLUDE_PATH=${PREFIX}/include export LIBRARY_PATH=${PREFIX}/lib -make -f $MAKEFILE CC_EXEC="$CC -L$PREFIX/lib -fcommon" +make -f $MAKEFILE CC_EXEC="$CC -L$PREFIX/lib -fcommon" -j ${CPU_COUNT} cd .. cp bin/utilities/* $PREFIX/bin rm -r bin/utilities cp bin/* $PREFIX/bin cp annotation/* $PREFIX/annotation + +# add read permissions to LICENSE +chmod a+r LICENSE \ No newline at end of file diff --git a/recipes/subread/meta.yaml b/recipes/subread/meta.yaml index 1953381d9c207..4e50d12b6bfbe 100644 --- a/recipes/subread/meta.yaml +++ b/recipes/subread/meta.yaml @@ -9,9 +9,12 @@ package: source: url: https://downloads.sourceforge.net/project/{{ name }}/{{ name }}-{{ version }}/{{ name }}-{{ version }}-source.tar.gz sha256: {{ sha256 }} + patches: + - unsignedchar.patch build: - number: 0 + number: 2 + run_exports: '{{ pin_subpackage(name, max_pin="x") }}' requirements: build: @@ -19,8 +22,6 @@ requirements: - {{ compiler('c') }} host: - zlib - run: - - zlib test: commands: @@ -43,6 +44,8 @@ about: - LICENSE extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:subread - usegalaxy-eu:featurecounts diff --git a/recipes/subread/unsignedchar.patch b/recipes/subread/unsignedchar.patch new file mode 100644 index 0000000000000..cdab247944345 --- /dev/null +++ b/recipes/subread/unsignedchar.patch @@ -0,0 +1,36 @@ +diff -urNp a/src/fullscan.c b/src/fullscan.c +--- a/src/fullscan.c 2023-05-07 08:53:37 ++++ b/src/fullscan.c 2024-03-21 23:29:44 +@@ -157,7 +157,7 @@ int main (int argc , char ** argv) + { + char index_name [MAX_FILE_NAME_LENGTH]; + char read_str [1208]; +- char c; ++ int c; + int i; + + index_name[0]=0; +diff -urNp a/src/read-repair.c b/src/read-repair.c +--- a/src/read-repair.c 2023-05-07 08:53:37 ++++ b/src/read-repair.c 2024-03-21 23:32:42 +@@ -50,7 +50,7 @@ int main_read_repair(int argc, char ** argv) + { + double t0 = miltime(); + int threads = 8, is_BAM = 1; +- char c; ++ int c; + char in_BAM_file[MAX_FILE_NAME_LENGTH+1]; + char out_BAM_file[MAX_FILE_NAME_LENGTH+1]; + char rand_prefix[40]; +diff -urNp a/src/removeDupReads.c b/src/removeDupReads.c +--- a/src/removeDupReads.c 2023-05-07 08:53:37 ++++ b/src/removeDupReads.c 2024-03-21 23:34:56 +@@ -326,7 +326,7 @@ int main_repeated_test(int argc,char ** argv) + int main_repeated_test(int argc,char ** argv) + #endif + { +- char c; ++ int c; + char input_SAM_file[MAX_FILE_NAME_LENGTH]; + char output_SAM_file[MAX_FILE_NAME_LENGTH]; + char temp_path[MAX_FILE_NAME_LENGTH]; diff --git a/recipes/subset-bam/LICENSE b/recipes/subset-bam/LICENSE new file mode 100644 index 0000000000000..3f2bdcc55d5bb --- /dev/null +++ b/recipes/subset-bam/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2020 10x Genomics, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/recipes/subset-bam/build.sh b/recipes/subset-bam/build.sh new file mode 100644 index 0000000000000..0ea5b92d1092e --- /dev/null +++ b/recipes/subset-bam/build.sh @@ -0,0 +1,6 @@ +#!/bin/bash -euo + +mkdir -p ${PREFIX}/bin + +mv subset-bam_* ${PREFIX}/bin/subset-bam +chmod 755 ${PREFIX}/bin/subset-bam diff --git a/recipes/subset-bam/meta.yaml b/recipes/subset-bam/meta.yaml new file mode 100644 index 0000000000000..664775c5b0687 --- /dev/null +++ b/recipes/subset-bam/meta.yaml @@ -0,0 +1,38 @@ +{% set name = "subset-bam" %} +{% set version = "1.1.0" %} +{% set url = "https://github.com/10XGenomics/subset-bam/releases/download/v1.1.0/subset-bam_linux" %} # [linux and x86_64] +{% set sha256 = "05496ea56d52becdb7972528af0a486be1d52c1749e35bea9ae4c41215ed0a1b" %} # [linux and x86_64] +{% set url = "https://github.com/10XGenomics/subset-bam/releases/download/v1.1.0/subset-bam_macos" %} # [osx and x86_64] +{% set sha256 = "756357b6dfe9bc7e757bdc4a084ca06d2a256f2b8855d35b47fd956afd97ebca" %} # [osx and x86_64] + +package: + name: {{ name }} + version: {{ version }} + +source: + url: {{ url }} + sha256: {{ sha256 }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage('subset-bam', max_pin="x") }} + +requirements: + build: + - {{ compiler('rust') }} + - make + - clangdev + +test: + commands: + - subset-bam --help + +about: + home: "https://github.com/10XGenomics/subset-bam" + license: MIT + license_family: MIT + license_file: LICENSE + summary: "A tool to subset a 10x Genomics BAM file based on a tag, most commonly the cell barcode tag." + doc_url: "https://github.com/10XGenomics/subset-bam/blob/v{{ version }}/README.md" + dev_url: "https://github.com/10XGenomics/subset-bam" diff --git a/recipes/superdsm/meta.yaml b/recipes/superdsm/meta.yaml index 12aa1e1c73a4d..c534684f4dabe 100644 --- a/recipes/superdsm/meta.yaml +++ b/recipes/superdsm/meta.yaml @@ -1,5 +1,5 @@ {% set name = "SuperDSM" %} -{% set version = "0.1.3" %} +{% set version = "0.4.0" %} {% set repo_url = "https://github.com/BMCV/SuperDSM" %} {% set docs_url = "https://superdsm.readthedocs.io" %} @@ -9,35 +9,39 @@ package: source: url: "{{ repo_url }}/archive/refs/tags/v{{ version }}.zip" - sha256: f55abbd6818a66886ddfe3f7fd9c5dd93c63ed2b6e3179552106e560a000ad5f + sha256: a46a150298a8c611b6ed18bebcf67fe1fc98895760acc70291fb5ca3fe435ea5 build: - number: 1 + number: 0 noarch: python script: "{{ PYTHON }} -m pip install --no-deps --ignore-installed . -vv " + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x.x") }} requirements: host: - - python >=3.6,<3.11 + - python >=3.11 - pip - setuptools run: - - python >=3.6,<3.11 + - python >=3.11 - blas =*=mkl - ipython >=7.31.1 - - numpy >=1.18,<2.0 - - scipy >=1.6.3,<2.0 - - scikit-image >=0.18,<=0.19 + - numpy >=1.26,<2.0 + - scipy >=1.13.1,<1.14 + - scikit-image >=0.24.0 - dill >=0.3.2 - - cvxopt >=1.2.6,<2.0 - - cvxpy >=1.1.13,<2.0 + - cvxopt >=1.3.2,<2.0 + - cvxpy >=1.5.3,<2.0 - matplotlib-base >=3.0,<4.0 - mkl >=2020.0 - - ray-core >=0.8.7,<1.7 + - ray-core >=0.8.7 + - imagecodecs >=2024.6.1 + - repype >=1.0.0,<1.1 test: commands: - - python -m superdsm.batch --help + - python -m superdsm --help about: home: "{{ repo_url }}" diff --git a/recipes/superstr/meta.yaml b/recipes/superstr/meta.yaml index 3d4aea242ea80..28f42beb07a41 100644 --- a/recipes/superstr/meta.yaml +++ b/recipes/superstr/meta.yaml @@ -12,7 +12,7 @@ source: sha256: {{ sha256 }} build: - number: 3 + number: 4 # skip: True # [osx] requirements: diff --git a/recipes/survindel2/build.sh b/recipes/survindel2/build.sh new file mode 100644 index 0000000000000..30625c79167dd --- /dev/null +++ b/recipes/survindel2/build.sh @@ -0,0 +1,21 @@ +set -x + +${CC} ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} libs/kdtree.c -o kdtree.o -c + +${CXX} ${CPPFLAGS} ${CXXFLAGS} ${LDFLAGS} reads_categorizer.cpp -o reads_categorizer -pthread -lhts +${CXX} ${CPPFLAGS} ${CXXFLAGS} ${LDFLAGS} libs/ssw.c libs/ssw_cpp.cpp clip_consensus_builder.cpp -o clip_consensus_builder -pthread -lhts +${CXX} ${CPPFLAGS} ${CXXFLAGS} ${LDFLAGS} merge_identical_calls.cpp -o merge_identical_calls -pthread -lhts +${CXX} ${CPPFLAGS} ${CXXFLAGS} -fpermissive ${LDFLAGS} libs/ssw.c libs/ssw_cpp.cpp kdtree.o dp_clusterer.cpp -o dp_clusterer -pthread -lhts +${CXX} ${CPPFLAGS} ${CXXFLAGS} ${LDFLAGS} normalise.cpp -o normalise -pthread -lhts + +cp reads_categorizer $PREFIX/bin/ +cp clip_consensus_builder $PREFIX/bin/ +cp merge_identical_calls $PREFIX/bin/ +cp dp_clusterer $PREFIX/bin/ +cp normalise $PREFIX/bin/ + +cp survindel2.py $PREFIX/bin/ +cp random_pos_generator.py $PREFIX/bin/ +cp train_classifier.py $PREFIX/bin/survindel2_train_classifier.py +cp run_classifier.py $PREFIX/bin/survindel2_run_classifier.py +cp features.py $PREFIX/bin/features.py diff --git a/recipes/survindel2/meta.yaml b/recipes/survindel2/meta.yaml new file mode 100644 index 0000000000000..4d5a47805d66d --- /dev/null +++ b/recipes/survindel2/meta.yaml @@ -0,0 +1,48 @@ +{% set name = "survindel2" %} +{% set version = "1.1.3" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/kensung-lab/SurVIndel2/archive/refs/tags/{{ version }}.tar.gz + sha256: 8463d4b5f5060f26520d8a57f162f74708e0a3ecb68675dec6af671688a21a3f + +build: + number: 0 + run_exports: + - {{ pin_subpackage('survindel2', max_pin='x.x') }} + +requirements: + build: + - {{ compiler('cxx') }} + host: + - htslib >=1.13 + run: + - pysam >=0.16.0.1 + - pyfaidx >=0.5.9.1 + - numpy + - scikit-learn >=1.2.2 + +test: + source_files: + - demo/reads.bam + - demo/reads.bam.bai + - demo/ref.fa + - demo/ref.fa.fai + + requires: + - bcftools + +about: + home: https://github.com/kensung-lab/SurVIndel2 + summary: 'A CNV caller for Illumina paired-end WGS data.' + description: | + SurVIndel2 is a fast and accurate CNV caller for Illumina paired-end WGS data. + license: GPL-3.0-only + license_file: LICENSE.md + +extra: + recipe-maintainers: + - Mesh89 diff --git a/recipes/survindel2/run_test.sh b/recipes/survindel2/run_test.sh new file mode 100644 index 0000000000000..b661ec0f75175 --- /dev/null +++ b/recipes/survindel2/run_test.sh @@ -0,0 +1,10 @@ +mkdir workdir +survindel2.py demo/reads.bam workdir/ demo/ref.fa +n=`bcftools view -H workdir/out.pass.vcf.gz | wc -l` +if [[ $n -ne 2 ]]; then + exit 1 +fi + +survindel2.py -h + +exit 0 diff --git a/recipes/survivor/build.sh b/recipes/survivor/build.sh index 54fefce8d9432..b5c3979560c46 100644 --- a/recipes/survivor/build.sh +++ b/recipes/survivor/build.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -xe + mkdir -p $PREFIX/bin sed -i.bak "s#g++#$CXX -I$PREFIX/include -L$PREFIX/lib#g" Debug/makefile for f in Debug/src/*/subdir.mk; do @@ -8,5 +10,5 @@ done sed -i.bak "s#g++#$CXX -I$PREFIX/include -L$PREFIX/lib#g" Debug/src/subdir.mk cd Debug -make +make -j ${CPU_COUNT} cp SURVIVOR $PREFIX/bin diff --git a/recipes/survivor/meta.yaml b/recipes/survivor/meta.yaml index 09901ea81b65f..b54e5e2cd021b 100644 --- a/recipes/survivor/meta.yaml +++ b/recipes/survivor/meta.yaml @@ -5,7 +5,9 @@ package: version: {{ version }} build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage('survivor', max_pin="x") }} source: url: https://github.com/fritzsedlazeck/SURVIVOR/archive/{{ version }}.tar.gz @@ -29,3 +31,7 @@ about: test: commands: - SURVIVOR + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/svclone/meta.yaml b/recipes/svclone/meta.yaml index 5bc23af0a0958..10eae865aa043 100644 --- a/recipes/svclone/meta.yaml +++ b/recipes/svclone/meta.yaml @@ -1,19 +1,22 @@ -{% set version = "1.1.2" %} +{% set name = "svclone" %} +{% set version = "1.1.3" %} package: - name: svclone + name: {{ name }} version: {{ version }} source: url: https://github.com/mcmero/SVclone/archive/refs/tags/v{{ version }}.tar.gz - sha256: 806e7e31498a084a353a39f98d8d35712d96f182feb6d077d364a2a7100e123e + sha256: ca2a9b2817e25ae4e3e1ae6cf2de71e70772e5f4a8f58a649518b82079ff12d4 build: - number: 1 + number: 0 noarch: python entry_points: - svclone = SVclone.cli:main - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + run_exports: + - {{ pin_subpackage('svclone', max_pin="x") }} requirements: host: @@ -45,7 +48,8 @@ about: description: | A computational method for inferring the cancer cell fraction of tumour structural variation from whole-genome - sequencing data. + sequencing data. + dev_url: https://github.com/mcmero/SVclone extra: identifiers: diff --git a/recipes/svdb/meta.yaml b/recipes/svdb/meta.yaml index f907ba522b9b7..55ca20eaaf5b3 100644 --- a/recipes/svdb/meta.yaml +++ b/recipes/svdb/meta.yaml @@ -13,7 +13,9 @@ build: entry_points: - svdb = svdb.__main__:main script: python -m pip install --no-deps --ignore-installed . - number: 1 + number: 3 + run_exports: + - {{ pin_subpackage('svdb', max_pin="x") }} requirements: build: @@ -36,3 +38,7 @@ about: license: MIT license_family: MIT summary: structural variant database software + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/svdss/build_failure.linux-64.yaml b/recipes/svdss/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..b79c12cae45be --- /dev/null +++ b/recipes/svdss/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 482de6cc053f5cdae93ab4c0403880b28e0261a8aecc079bf5e3678d565bab78 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + -CONDA_BUILD_SYSROOT= + INFO: activate-gxx_linux-64.sh made the following environmental changes: + CXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/svdss-1.0.5 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c + DEBUG_CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/svdss-1.0.5 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + GXX=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-g + -- Using conda: -I$PREFIX/include + -- The C compiler identification is GNU 12.3.0 + -- The CXX compiler identification is GNU 12.3.0 + -- Detecting C compiler ABI info + -- Detecting C compiler ABI info - done + -- Check for working C compiler: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc - skipped + -- Detecting C compile features + -- Detecting C compile features - done + -- Detecting CXX compiler ABI info + -- Detecting CXX compiler ABI info - done + -- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c - skipped + -- Detecting CXX compile features + -- Detecting CXX compile features - done + -- Performing Test CMAKE_HAVE_LIBC_PTHREAD + -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed + -- Looking for pthread_create in pthreads + -- Looking for pthread_create in pthreads - not found + -- Looking for pthread_create in pthread + -- Looking for pthread_create in pthread - found + -- Found Threads: TRUE + -- Found OpenMP_C: -fopenmp (found version "4.5") + -- Found OpenMP_CXX: -fopenmp (found version "4.5") + -- Found OpenMP: TRUE (found version "4.5") + -- libdeflate from conda + -- htslib from conda + -- abpoa will be build from source (no -native) + -- parasail will be built from source + -- Configuring done (2.1s) + -- Generating done (0.0s) + -- Build files have been written to: $SRC_DIR/build + [ 1%] Creating directories for 'ropebwt' + [ 3%] Performing download step (git clone) for 'ropebwt' + Cloning into 'ropebwt'... + HEAD is now at bd8dbd3 Fixes compilation error (gcc 10.0.1) + [ 5%] No update step for 'ropebwt' + [ 7%] No patch step for 'ropebwt' + [ 9%] No configure step for 'ropebwt' + [ 11%] Performing build step for 'ropebwt' + mrope.c: In function 'mr_restore': + mrope.c:149:17: warning: variable 'tot' set but not used [-Wunused-but-set-variable] + 149 | int64_t tot, c[6]; + | ^~~ + In file included from mrope.c:8: + In function 'mr_get_c', + inlined from 'mr_restore' at mrope.c:156:8: + mrope.h:94:25: warning: array subscript 6 is outside array bounds of 'int64_t[6]' {aka 'long int[6]'} [-Warray-bounds] + 94 | tot = c[b]; + | ~^~~ + mrope.c: In function 'mr_restore': + mrope.c:149:22: note: at offset 48 into object 'c' of size 48 + 149 | int64_t tot, c[6]; + | ^ + In file included from main.c:10: + In function 'mr_get_c', + inlined from 'main_ropebwt2' at main.c:255:3: + mrope.h:94:25: warning: array subscript 6 is outside array bounds of 'int64_t[6]' {aka 'long int[6]'} [-Warray-bounds] + 94 | tot = c[b]; + | ~^~~ + main.c: In function 'main_ropebwt2': + main.c:253:25: note: at offset 48 into object 'c' of size 48 + 253 | int64_t c[6]; + | ^ + In function 'mr_get_c', + inlined from 'main_ropebwt2' at main.c:282:4: + mrope.h:94:25: warning: array subscript 6 is outside array bounds of 'int64_t[6]' {aka 'long int[6]'} [-Warray-bounds] + 94 | tot = c[b]; + | ~^~~ + main.c: In function 'main_ropebwt2': + main.c:279:33: note: at offset 48 into object 'c' of size 48 + 279 | int64_t c[6]; + | ^ + /opt/conda/conda-bld/svdss_1717959819873/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: cannot find -lz: No such file or directory + collect2: error: ld returned 1 exit status + make[3]: *** [Makefile:16: ropebwt2] Error 1 + make[2]: *** [CMakeFiles/ropebwt.dir/build.make:86: ropebwt-prefix/src/ropebwt-stamp/ropebwt-build] Error 2 + make[1]: *** [CMakeFiles/Makefile2:218: CMakeFiles/ropebwt.dir/all] Error 2 + make: *** [Makefile:91: all] Error 2 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/svdss_1717959819873/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. diff --git a/recipes/svdss/meta.yaml b/recipes/svdss/meta.yaml index f1eb16c5152f6..0939c10f7364f 100644 --- a/recipes/svdss/meta.yaml +++ b/recipes/svdss/meta.yaml @@ -10,7 +10,7 @@ source: sha256: {{ sha256 }} build: - number: 2 + number: 3 skip: True # [osx] requirements: diff --git a/recipes/svist4get/meta.yaml b/recipes/svist4get/meta.yaml index ab229ecc669b8..934337d6a4420 100644 --- a/recipes/svist4get/meta.yaml +++ b/recipes/svist4get/meta.yaml @@ -1,5 +1,5 @@ {% set name = "svist4get" %} -{% set version = "1.3.1" %} +{% set version = "1.3.1.1" %} package: name: "{{ name|lower }}" @@ -7,14 +7,16 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 22311fdc956cca531dac7ba924744e8f870a57bc6f27cbe4e8ba9854117e720c + sha256: 66f4a82497aa0da08691a6b35ca8ab6ec5a1830a5adaf3c4f048950ea6bbf466 patches: - patch build: number: 0 noarch: python - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + run_exports: + - {{ pin_subpackage('svist4get', max_pin="x") }} requirements: host: diff --git a/recipes/svist4get/patch b/recipes/svist4get/patch index fc8b5fefdb7aa..b10c92c981718 100644 --- a/recipes/svist4get/patch +++ b/recipes/svist4get/patch @@ -6,7 +6,7 @@ index 5062c55..6f12e48 100644 author_email='artyom.egorov@hotmail.com', license='WTFPL', packages=['svist4get'], -- install_requires = ['reportlab', 'biopython','configs','argparse','Pybedtools', 'wand', 'statistics'], +- install_requires = ['reportlab', 'biopython','configs','Pybedtools', 'wand', 'statistics'], + install_requires = ['reportlab', 'biopython','configs','Pybedtools', 'wand'], long_description = long_description, long_description_content_type = "text/markdown", diff --git a/recipes/svtk/meta.yaml b/recipes/svtk/meta.yaml index 6e5d36a9fb264..92d335a5746ef 100644 --- a/recipes/svtk/meta.yaml +++ b/recipes/svtk/meta.yaml @@ -9,7 +9,7 @@ source: sha256: edc661d96edbcae714f9f80546447480d0dac152c5e081c5b01355a5fc423dcd build: - number: 4 + number: 5 skip: True # [py<30] script: | touch svtk/baf/__init__.py diff --git a/recipes/svync/build.sh b/recipes/svync/build.sh new file mode 100644 index 0000000000000..888542f1bb2ed --- /dev/null +++ b/recipes/svync/build.sh @@ -0,0 +1,4 @@ +#!/bin/bash +chmod a+x svync* +mkdir -p $PREFIX/bin +cp svync* $PREFIX/bin/svync \ No newline at end of file diff --git a/recipes/svync/meta.yaml b/recipes/svync/meta.yaml new file mode 100644 index 0000000000000..9430c018d9b6c --- /dev/null +++ b/recipes/svync/meta.yaml @@ -0,0 +1,36 @@ +{% set version = '0.1.2' %} +{% set name = 'svync' %} + +package: + name: {{ name }} + version: {{ version }} + +source: + - url: https://github.com/nvnieuwk/svync/releases/download/{{ version }}/svync-{{ version }}-darwin-amd64.tar.gz # [osx-amd64] + md5: 2f64a4d9b81124917766bd8a754ea470 # [osx] + - url: https://github.com/nvnieuwk/svync/releases/download/{{ version }}/svync-{{ version }}-linux-amd64.tar.gz # [linux] + md5: 298f930c1f30918bd41d07db5bbfd348 # [linux] + +build: + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + run: + - tabix + +test: + commands: + - "{{ name }} --help" + - bgzip -h + +extra: + skip-lints: + - should_be_noarch_generic # uses per platform binaries + - should_not_be_noarch_source # uses binaries + +about: + home: https://github.com/nvnieuwk/svync + license: MIT + summary: A tool to standardize VCF files from structural variant callers diff --git a/recipes/swarm/build.sh b/recipes/swarm/build.sh index 31530c6188801..519f948c1b47c 100644 --- a/recipes/swarm/build.sh +++ b/recipes/swarm/build.sh @@ -1,6 +1,10 @@ +#!/usr/bin/env bash + +set -xe + mkdir -pv ${PREFIX}/bin ${PREFIX}/share/man/man1 sed -i.bak "s/-a //g" src/Makefile -make -C src CXX=${CXX} +make -C src -j ${CPU_COUNT} CXX=${CXX} cp bin/swarm ${PREFIX}/bin cp man/swarm.1 ${PREFIX}/share/man/man1 cp man/swarm_manual.pdf ${PREFIX}/share diff --git a/recipes/swarm/meta.yaml b/recipes/swarm/meta.yaml index 1b196da3524e4..130ee47b5bc48 100644 --- a/recipes/swarm/meta.yaml +++ b/recipes/swarm/meta.yaml @@ -1,5 +1,5 @@ {% set name = "swarm" %} -{% set version = "3.1.4" %} +{% set version = "3.1.5" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://github.com/torognes/swarm/archive/v{{ version }}.tar.gz - sha256: 83353096d7df5de1a96b5f1c8987c2efec26635364521741e5691fd49b5a58e4 + sha256: 68ccd814adc06e5325b73e102d7c8a34ee1367d0bfca704d513e4f06bab860d0 requirements: build: @@ -18,7 +18,7 @@ requirements: - python-igraph build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage('swarm', max_pin="x") }} @@ -30,9 +30,13 @@ test: about: home: https://github.com/torognes/swarm license: Affero GPL + license_file: LICENSE + license_family: GPL summary: A robust and fast clustering method for amplicon-based studies. extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:swarm - doi:10.7717/peerj.593 diff --git a/recipes/sylph/meta.yaml b/recipes/sylph/meta.yaml index 4ef0837272ca2..06ecabc04a199 100644 --- a/recipes/sylph/meta.yaml +++ b/recipes/sylph/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.4.1" %} +{% set version = "0.6.1" %} package: name: sylph @@ -11,7 +11,7 @@ build: source: url: https://github.com/bluenote-1577/sylph/archive/v{{ version }}.tar.gz - sha256: fd405d34e8ebd5a0f09a85631864b330594a29e30fd3509e7f4873f2946046a6 + sha256: 9f384ecf33d5eed57e518c1cc238ffb5ac68948dcf921731ba77ccbd02b57bdb requirements: build: diff --git a/recipes/synapseclient/meta.yaml b/recipes/synapseclient/meta.yaml index 3b475ae73277e..672db509362e9 100644 --- a/recipes/synapseclient/meta.yaml +++ b/recipes/synapseclient/meta.yaml @@ -1,5 +1,5 @@ {% set name = "synapseclient" %} -{% set version = "3.2.0" %} +{% set version = "4.5.0" %} package: name: {{ name|lower }} @@ -7,14 +7,14 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/synapseclient-{{ version }}.tar.gz - sha256: 87c91f03dbca7074efd18144325df07db24e07ea92e0b7c8691aaec46c28329a + sha256: b8e3b58f4ae054cd2047a931d9c239f7497b9435ce9da72d4a673ddaab89e40e build: noarch: python entry_points: - synapse = synapseclient.__main__:main number: 0 - script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv run_exports: - {{ pin_subpackage('synapseclient', max_pin="x") }} @@ -26,18 +26,17 @@ requirements: - python >=3.8 - requests >=2.22 - urllib3 <2 - - six - - future - - backports.csv - deprecated >=1.2.4 - - keyring >=15.0.0 - opentelemetry-api - opentelemetry-sdk - - opentelemetry-exporter-otlp - run_constrained: - - pandas >=0.25.0 - - pysftp >=0.2.8 - - boto3 >=1.7.0 + - opentelemetry-exporter-otlp-proto-http + - nest-asyncio + - asyncio-atexit + - httpx + - tqdm + - loky + - async-lru + - psutil test: imports: @@ -55,3 +54,4 @@ about: scientists to share and analyze data together. license_file: LICENSE dev_url: https://github.com/Sage-Bionetworks/synapsePythonClient + doc_url: https://python-docs.synapse.org/ diff --git a/recipes/syngap/build.sh b/recipes/syngap/build.sh index cdfdffb832323..84a877857690c 100644 --- a/recipes/syngap/build.sh +++ b/recipes/syngap/build.sh @@ -1,12 +1,7 @@ -mkdir -p $PREFIX/bin -cp -rf $SRC_DIR/bin $PREFIX/bin -cp -rf $SRC_DIR/scripts $PREFIX/bin -cp $SRC_DIR/SynGAP.py $PREFIX/bin -cp $SRC_DIR/initdb.py $PREFIX/bin -cp $SRC_DIR/master.py $PREFIX/bin -cp $SRC_DIR/dual.py $PREFIX/bin -cp $SRC_DIR/triple.py $PREFIX/bin -cp $SRC_DIR/custom.py $PREFIX/bin -cp $SRC_DIR/genepair.py $PREFIX/bin -cp $SRC_DIR/evi.py $PREFIX/bin -cp $SRC_DIR/eviplot.py $PREFIX/bin +#!/bin/bash + +mkdir -p ${PREFIX}/bin + +cp -rf ${SRC_DIR}/bin ${PREFIX}/bin +cp -rf ${SRC_DIR}/scripts ${PREFIX}/bin +cp -f ${SRC_DIR}/*.py ${PREFIX}/bin diff --git a/recipes/syngap/meta.yaml b/recipes/syngap/meta.yaml index 62014cd0a04d1..df6b8ee3f6c50 100644 --- a/recipes/syngap/meta.yaml +++ b/recipes/syngap/meta.yaml @@ -1,5 +1,5 @@ {% set name = "syngap" %} -{% set version = "1.1.0" %} +{% set version = "1.2.5" %} package: name: {{ name }} @@ -7,7 +7,7 @@ package: source: url: https://github.com/yanyew/SynGAP/releases/download/v{{ version }}/{{ name }}_v{{ version }}.tar.gz - sha256: a6b58dcf7c650e0be290352c4cec5889fb79fd610a666d7754f670e8ea8b14b3 + sha256: fac15832dd419d4ed85ba32b5108aeb24da1eb54134be6f170fdb18b11840d0b build: number: 0 @@ -15,24 +15,12 @@ build: - syngap = SynGAP:main noarch: generic run_exports: - - python - - biopython - - jcvi - - bedtools - - last - - emboss - - gffread - - seqkit - - diamond - - perl-bioperl - - kneed - - numpy - - pandas - - matplotlib-base + - {{ pin_subpackage('syngap', max_pin="x") }} -requirements: - bulid: +requirements: + host: - python >=3.10 + - pip run: - python >=3.10 - biopython >=1.81 @@ -97,5 +85,5 @@ test: about: home: https://github.com/yanyew/SynGAP license: CC-BY-NC-SA-4.0 - summary: "SynGAP: Synteny-based Genome Annotations Polisher" + summary: "SynGAP: Synteny-based Gene structure Annotation Polisher" dev_url: https://github.com/yanyew/SynGAP diff --git a/recipes/syny/build.sh b/recipes/syny/build.sh new file mode 100644 index 0000000000000..4e032267dddc0 --- /dev/null +++ b/recipes/syny/build.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +BIN=${PREFIX}/bin +mkdir -p $BIN +cp -R * $BIN + +## Creating symlinks in ${PREFIX}/bin for scripts located in SYNY subdirectories +for subdir in {'Alignments','Clusters','Examples','Plots','Utils'}; do + for script in $subdir/*.{py,pl,sh}; do + if [[ "$script" =~ '*' ]]; then + continue + else + echo "${PREFIX}/bin/$script" + ln -s "${PREFIX}/bin/$script" ${PREFIX}/bin/ + fi + done +done \ No newline at end of file diff --git a/recipes/syny/meta.yaml b/recipes/syny/meta.yaml new file mode 100644 index 0000000000000..e51b7c923118e --- /dev/null +++ b/recipes/syny/meta.yaml @@ -0,0 +1,73 @@ +{% set name = "syny" %} +{% set version = "1.2" %} +{% set sha256 = "ad54ccfd22135fdd4770d1d37eadd12f917c47dc35280ebf9c6fc1cf94786dbe" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: https://github.com/PombertLab/SYNY/archive/refs/tags/{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + noarch: generic + number: 0 + run_exports: + - {{ pin_subpackage('syny', max_pin='x') }} + +requirements: + host: + - perl >=5.32 + - python + run: + - perl >=5.32 + - python + - matplotlib-base + - pandas + - seaborn + - scipy + - libgd + - perl-perlio-gzip + - perl-getopt-argvfile + - perl-clone + - perl-config-general + - perl-font-ttf + - perl-list-moreutils + - perl-math-bezier + - perl-math-round + - perl-math-vecstat + - perl-params-validate + - perl-readonly + - perl-regexp-common + - perl-set-intspan + - perl-statistics-basic + - perl-SVG + - perl-gd + - perl-text-format + - perl-text-roman + - minimap2 >=2.28 + - mashmap >=3.1.3 + - diamond >=2.1.9 + - circos + +test: + commands: + - run_syny.pl --version + - paf_to_barplot.py + - linear_maps.py + - get_homology.pl + - get_paf.pl + - circos -v + - minimap2 --version + - mashmap --version + - diamond --version + +about: + home: https://github.com/PombertLab/SYNY + license: MIT + summary: "Genome collinearity inferences" + +extra: + recipe-maintainers: + - Pombert-JF diff --git a/recipes/syri/meta.yaml b/recipes/syri/meta.yaml index 583b8c738ccee..b43126defcad5 100755 --- a/recipes/syri/meta.yaml +++ b/recipes/syri/meta.yaml @@ -1,39 +1,44 @@ -{% set version = "1.6.3" %} -{% set sha256 = "e05b7511d9b18bc8e7b78b999e8fd61664e56645a475399d654b2dbdde871902" %} +{% set version = "1.7.0" %} +{% set sha256 = "915a55840e1283fa61db9507d34af479d1f8a985ed7ab56aa7ccc86716a84780" %} package: name: syri version: {{ version }} source: - url: https://github.com/schneebergerlab/syri/archive/v{{ version }}.tar.gz + url: https://github.com/schneebergerlab/syri/archive/refs/tags/v{{ version }}.tar.gz sha256: {{ sha256 }} build: - number: 1 - skip: True # [py < 38 or py > 39] - script: "{{ PYTHON }} setup.py install --single-version-externally-managed --record=record.txt" + number: 0 + script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vvv" + run_exports: + - {{ pin_subpackage('syri', max_pin="x") }} requirements: build: - {{ compiler('c') }} - {{ compiler('cxx') }} host: - - python + - python >=3.8,<=3.10 - setuptools - - numpy >=1.20 + - numpy >=1.21.2 + # Please review cython pinning on future releases + # see: https://github.com/schneebergerlab/syri/pull/217 - cython + - libxcrypt run: - - python - - numpy >=1.20 - - pandas - - scipy - - psutil - - python-igraph - - pysam + - python >=3.8,<=3.10 + - numpy >=1.21.2 + - pandas >=1.2.4 + - scipy >=1.6.2 + - psutil >=5.8 + - python-igraph >=0.9.1 + - pysam >=0.16.0.1 - longestrunsubsequence - pulp + test: commands: - syri --version diff --git a/recipes/t1k/build.sh b/recipes/t1k/build.sh index 1edb8133c8526..e86d0285023c0 100755 --- a/recipes/t1k/build.sh +++ b/recipes/t1k/build.sh @@ -1,10 +1,25 @@ #!/bin/bash -sed -i.bak 's/-f .\/samtools-0.1.19\/libbam.a/1/' Makefile -make \ +set -xe + +if [ "$(uname -m)" == "aarch64" ]; then + export CXXFLAGS="${CXXFLAGS} -fsigned-char" +fi + +LINKPATH="${LDFLAGS}" +if [ "$(uname -m)" == "x86_64" ]; then + # use samtools 0.1.19 as a dependency + sed -i.bak 's/-f .\/samtools-0.1.19\/libbam.a/1/' Makefile +else + # build the vendored samtools 0.1.19 + sed -i.bak 's/cd samtools-0.1.19 ; make /cd samtools-0.1.19 ; make CC="${CC}" CFLAGS="${CFLAGS} -L${PREFIX}\/lib" LDFLAGS="${LDFLAGS}" LIBPATH="-L${PREFIX}\/lib"/' Makefile + LINKPATH="${LDFLAGS} -I./samtools-0.1.19 -L./samtools-0.1.19" +fi + +make -j ${CPU_COUNT} \ CXX="${CXX}" \ CXXFLAGS="${CXXFLAGS} -Wformat -O3" \ - LINKPATH="${LDFLAGS} -I./samtools-0.1.19" + LINKPATH="${LINKPATH}" install -d "${PREFIX}/bin" install genotyper analyzer fastq-extractor bam-extractor run-t1k \ t1k-build.pl ParseDatFile.pl AddGeneCoord.pl t1k-smartseq.pl t1k-merge.py \ diff --git a/recipes/t1k/meta.yaml b/recipes/t1k/meta.yaml index 24f2102ec5b3a..0e4865512483a 100644 --- a/recipes/t1k/meta.yaml +++ b/recipes/t1k/meta.yaml @@ -1,17 +1,17 @@ -{% set version = "1.0.4" %} +{% set version = "1.0.6" %} package: name: t1k version: '{{ version }}' build: - number: 0 + number: 2 run_exports: - {{ pin_subpackage('t1k', max_pin="x") }} source: url: https://github.com/mourisl/T1K/archive/v{{ version }}.tar.gz - sha256: 1ace975b9e6ab07a10d801ab783dceab534c3754c3f25805c536f34413d63ca0 + sha256: 4b2a7ac9e7c5813380f60bb65d6c3b8995474217c9c90364f1e1206c6f8ab420 requirements: build: @@ -19,11 +19,12 @@ requirements: - {{ compiler('cxx') }} - {{ compiler('c') }} host: - - samtools 0.1.19.* + - samtools 0.1.19.* # [x86_64] - zlib run: - perl - python + - curl test: commands: @@ -31,12 +32,12 @@ test: - fastq-extractor 2>&1 | cat > /dev/null - bam-extractor 2>&1 | cat > /dev/null - analyzer 2>&1 | cat > /dev/null - - which t1k-build.pl - - which ParseDatFile.pl - - which AddGeneCoord.pl - - which t1k-smartseq.pl - - which t1k-merge.py - - which run-t1k + - test -x ${PREFIX}/bin/t1k-build.pl + - test -x ${PREFIX}/bin/ParseDatFile.pl + - test -x ${PREFIX}/bin/AddGeneCoord.pl + - test -x ${PREFIX}/bin/t1k-smartseq.pl + - test -x ${PREFIX}/bin/t1k-merge.py + - test -x ${PREFIX}/bin/run-t1k about: home: https://github.com/mourisl/T1K @@ -44,3 +45,7 @@ about: license: MIT license_family: MIT license_file: LICENSE.txt + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/tabixpp/meta.yaml b/recipes/tabixpp/meta.yaml index db6ce10c381fa..b15f3d0e790dd 100644 --- a/recipes/tabixpp/meta.yaml +++ b/recipes/tabixpp/meta.yaml @@ -12,12 +12,12 @@ source: patches: - shared_lib.patch - pkg-config.patch # [osx] -- url: https://github.com/samtools/htslib/releases/download/1.17/htslib-1.17.tar.bz2 - sha256: 763779288c40f07646ec7ad98b96c378c739171d162ad98398868783b721839f +- url: https://github.com/samtools/htslib/releases/download/1.20/htslib-1.20.tar.bz2 + sha256: e52d95b14da68e0cfd7d27faf56fef2f88c2eaf32a2be51c72e146e3aa928544 folder: htslib build: - number: 1 + number: 3 run_exports: # Observed ABI version increase from 1.1.0 to 1.1.2. # Hence, we pin to the patch version even. @@ -47,9 +47,13 @@ about: license_family: MIT license_file: LICENSE summary: "A C++ wrapper around the tabix project, a generic indexer for TAB-delimited genome position files." + dev_url: "https://github.com/vcflib/tabixpp" extra: identifiers: - biotools:tabixpp recipe-maintainers: - jpuritz + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/tabixpp/shared_lib.patch b/recipes/tabixpp/shared_lib.patch index 819773b164a42..da684d327f915 100644 --- a/recipes/tabixpp/shared_lib.patch +++ b/recipes/tabixpp/shared_lib.patch @@ -38,9 +38,10 @@ index f2ba44e..7718d76 100644 DFLAGS = -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE BIN = tabix++ -LIB = libtabix.a -+LIB = libtabixpp.a - SOVERSION = 1 +-SOVERSION = 1 -SLIB = libtabix.so.$(SOVERSION) ++LIB = libtabixpp.a ++SOVERSION = 0 +SLIB = libtabixpp.so.$(SOVERSION) OBJS = tabix.o SUBDIRS = . diff --git a/recipes/table2asn/build.sh b/recipes/table2asn/build.sh index 4237f9e676325..6e0c82f01b182 100644 --- a/recipes/table2asn/build.sh +++ b/recipes/table2asn/build.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex gunzip *table2asn.gz mkdir -p ${PREFIX}/bin diff --git a/recipes/table2asn/meta.yaml b/recipes/table2asn/meta.yaml index 309a04dc74f0f..9787dc6a10cc7 100644 --- a/recipes/table2asn/meta.yaml +++ b/recipes/table2asn/meta.yaml @@ -1,23 +1,22 @@ {% set name = "table2asn" %} -{% set version = "1.28.943" %} -{% set sha256 = "91632c6442986d5af455421ed8121647f9bd90e64560ba27ae0b2ab0a1289ae6" %} -{% set release_date = "2023-10-05" %} +{% set version = "1.28.1111" %} +{% set sha256 = "626116210fea6b1426092e370c32c7f766a6cc98857c4202712eb7b265da23cb" %} +{% set release_date = "2024-06-18" %} package: name: {{ name }} version: {{ version }} - release_date: {{ release_date }} source: - url: https://ftp.ncbi.nlm.nih.gov/asn1-converters/versions/{{ release_date }}/by_program/{{ name }}/mac.{{ name }}.gz # [osx] - sha256: 3ecc9fc29beb69640d47cd49a43b342ee6d7627f25c7b2d78dd44fce00cd2c6d # [osx] + sha256: 1b3ce05a1d3ef5afaa38c9b5c5a520b74d27aea9b516513ec647576e3a98bb32 # [osx] - url: https://ftp.ncbi.nlm.nih.gov/asn1-converters/versions/{{ release_date }}/by_program/{{ name }}/linux64.{{ name }}.gz # [linux] sha256: {{ sha256 }} # [linux] build: number: 0 run_exports: - - {{ pin_subpackage('table2asn', max_pin="x.x") }} + - {{ pin_subpackage('table2asn', max_pin="x") }} requirements: host: @@ -30,7 +29,7 @@ test: - table2asn -help about: - home: 'https://www.ncbi.nlm.nih.gov/genbank/table2asn/' + home: 'https://www.ncbi.nlm.nih.gov/genbank/table2asn' license: Public Domain summary: 'table2asn is a command-line program that creates sequence records for submission to GenBank - replaces tbl2asn.' doc_url: 'https://ftp.ncbi.nlm.nih.gov/asn1-converters/by_program/table2asn/DOCUMENTATION/table2asn_readme.txt' diff --git a/recipes/tadrep/meta.yaml b/recipes/tadrep/meta.yaml index 859bc2d118598..d88f8af6645d0 100644 --- a/recipes/tadrep/meta.yaml +++ b/recipes/tadrep/meta.yaml @@ -1,19 +1,22 @@ -{% set version = "0.9.1" %} +{% set name = "tadrep" %} +{% set version = "0.9.2" %} package: - name: tadrep - version: '{{ version }}' + name: {{ name }} + version: {{ version }} source: url: https://github.com/oschwengers/tadrep/archive/v{{ version }}.tar.gz - sha256: 'd09bcff6c295bc5532573696db4ad15f00364f8c8dc53d3907d573be56c8011b' + sha256: '53866c0b538f1dc85dc976527127a1564586925953930b30368175c9873936ba' build: - noarch: generic + noarch: python number: 0 - script: python -m pip install --no-deps --ignore-installed . + script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation --no-cache-dir . -vvv entry_points: - tadrep = tadrep.main:main + run_exports: + - {{ pin_subpackage('tadrep', max_pin="x.x") }} requirements: host: @@ -37,12 +40,13 @@ test: - tadrep --help about: - home: https://github.com/oschwengers/tadrep - license: GPL-3.0-only - license_family: GPL + home: "https://github.com/oschwengers/tadrep" + license: "GPL-3.0-or-later" + license_family: GPL3 license_file: LICENSE - summary: Targeted Detection and Reconstruction of Plasmids. - dev_url: https://github.com/oschwengers/tadrep + summary: 'TaDRep: Targeted Detection and Reconstruction of Plasmids' + dev_url: "https://github.com/oschwengers/tadrep" + doc_url: "https://github.com/oschwengers/tadrep/blob/main/README.md" extra: recipe-maintainers: diff --git a/recipes/tajimas_d/meta.yaml b/recipes/tajimas_d/meta.yaml index a9d4c00070e44..f218c3de18a2e 100644 --- a/recipes/tajimas_d/meta.yaml +++ b/recipes/tajimas_d/meta.yaml @@ -1,5 +1,5 @@ {% set name = "tajimas_d" %} -{% set version = "2.0.0" %} +{% set version = "2.0.2" %} package: name: {{ name }} @@ -7,12 +7,16 @@ package: source: url: https://github.com/not-a-feature/tajimas_d/archive/refs/tags/v{{ version }}.tar.gz - sha256: c877bc1e1ca78c2e8bd4b4f5fd37aa40fcd5a91880e508c9038eb5f8479015e9 + sha256: 899cf84e8e89ecccc9fbd106c21ee2777bc7736c163b5470e4cce3b843cbe36a build: noarch: python number: 0 - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + entry_points: + - tajimas_d = tajimas_d._tajimas_d:run_cli + run_exports: + - {{ pin_subpackage('tajimas_d', max_pin="x") }} requirements: host: @@ -24,16 +28,13 @@ requirements: test: imports: - tajimas_d - commands: - - pip check requires: - - pip - miniFasta about: home: https://github.com/not-a-feature/tajimas_d license: GPL-3.0-or-later - license_family: GPL + license_family: GPL3 license_file: LICENSE summary: 'Computes Tajimas D, the Pi- or Watterson-Estimator for multiple sequences.' description: | diff --git a/recipes/tandem-genotypes/meta.yaml b/recipes/tandem-genotypes/meta.yaml index c9fee5ae68620..49c0d2c5bfffe 100644 --- a/recipes/tandem-genotypes/meta.yaml +++ b/recipes/tandem-genotypes/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.9.1" %} +{% set version = "1.9.2" %} package: name: tandem-genotypes @@ -6,7 +6,7 @@ package: source: url: https://github.com/mcfrith/tandem-genotypes/archive/{{ version }}.tar.gz - sha256: e0322c1adb59d152d6dd2bc0305f1da9f7ae1769f9c5016e1cfc1cbbc459b9f4 + sha256: 5f6721d4aed4dd1d8bba1ca14157d6085722eb7d2bb168f9a6c47b2afb55bff1 build: number: 0 diff --git a/recipes/tantan/build.sh b/recipes/tantan/build.sh new file mode 100644 index 0000000000000..550f4924bf485 --- /dev/null +++ b/recipes/tantan/build.sh @@ -0,0 +1,9 @@ +#!/bin/bash -euo + +ARCH=$(uname -m) +case ${ARCH} in + x86_64) ARCH_FLAGS="-msse4" ;; + *) ARCH_FLAGS="" ;; +esac + +make install CXXFLAGS="${CXXFLAGS} -O3 ${ARCH_FLAGS} -pthread -I${PREFIX}/include" prefix=${PREFIX} diff --git a/recipes/tantan/meta.yaml b/recipes/tantan/meta.yaml index e7a25672a25d7..4f30f88e14745 100644 --- a/recipes/tantan/meta.yaml +++ b/recipes/tantan/meta.yaml @@ -1,16 +1,18 @@ -{% set version = "40" %} +{% set name = "tantan" %} +{% set version = "50" %} package: - name: tantan + name: {{ name }} version: {{ version }} source: url: https://gitlab.com/mcfrith/tantan/-/archive/{{ version }}/tantan-{{ version }}.tar.gz - sha256: 61303c88cdf41fa5bcb5f77f674b4fac2a9bc0e4c9abb3b9d75af35c47162240 + sha256: a239e9fb3c059ed9eb4c25a29b3c44a2ef1c1b492a9780874f429de7ae8b5407 build: - number: 2 - script: make install prefix=$PREFIX + number: 0 + run_exports: + - {{ pin_subpackage('tantan', max_pin="None") }} requirements: build: @@ -19,8 +21,6 @@ requirements: - make host: - zlib - run: - - zlib test: commands: @@ -28,6 +28,16 @@ test: about: home: https://gitlab.com/mcfrith/tantan - license: GPL-3.0-or-later - license_file: COPYING.txt + license: "GPL-3.0-or-later" + license_family: GPL3 + license_file: "COPYING.txt" summary: "tantan masks simple regions (low complexity & short-period tandem repeats) in biological sequences." + dev_url: https://gitlab.com/mcfrith/tantan + doc_url: https://gitlab.com/mcfrith/tantan/-/blob/main/README.rst + +extra: + identifiers: + - doi:10.1093/nar/gkq1212 + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/taseq/meta.yaml b/recipes/taseq/meta.yaml new file mode 100644 index 0000000000000..0d8d160a83ead --- /dev/null +++ b/recipes/taseq/meta.yaml @@ -0,0 +1,61 @@ +{% set name = "taseq" %} +{% set version = "1.0.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/taseq-{{ version }}.tar.gz + sha256: a5ace00224b7bfd7e95d7552c89fea996327799be03f490fea7c782e3c01abea + +build: + entry_points: + - taseq_hapcall = taseq.hapcall:main + - taseq_genotype = taseq.genotype:main + - taseq_filter = taseq.filter:main + - taseq_draw = taseq.draw:main + - taseq = taseq.default:main + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('taseq', max_pin="x") }} + +requirements: + host: + - python + - pip + run: + - python >=3.12,<4.0 + - pandas >=2.2.2,<3.0.0 + - matplotlib-base >=3.9.1,<4.0.0 + - samtools >=1.20,<2.0 + - gatk4 >=4.5.0.0,<4.6.0.0 + - picard-slim >=2.27.4,<3.0.0 + - bwa >=0.7.18,<0.8.0 + - trimmomatic >=0.39,<1.0 + + +test: + imports: + - taseq + commands: + - pip check + - taseq_hapcall --help + - taseq_genotype --help + - taseq_filter --help + - taseq_draw --help + - taseq --help + requires: + - pip + +about: + home: https://github.com/KChigira/taseq/ + summary: Downstream analysis for targetted amplicon sequencing. + license: MIT + license_file: LICENSE + +extra: + recipe-maintainers: + - KChigira diff --git a/recipes/taxmyphage/meta.yaml b/recipes/taxmyphage/meta.yaml index 0d0b81c087803..7330003d33a96 100644 --- a/recipes/taxmyphage/meta.yaml +++ b/recipes/taxmyphage/meta.yaml @@ -1,5 +1,5 @@ {% set name = "taxmyphage" %} -{% set version = "0.2.6" %} +{% set version = "0.3.2" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/taxmyphage-{{ version }}.tar.gz - sha256: 1058adb02296ec0493b21dedd899447a144804230a4e13f4c98f94dcc0548076 + sha256: d15f63ec6a85960aeb9702dd3ad32a39808bab1c8b536a018fda1b12832ebc05 build: entry_points: diff --git a/recipes/taxonkit/meta.yaml b/recipes/taxonkit/meta.yaml index ebb8e35f5e385..f1f47d02d7e8c 100644 --- a/recipes/taxonkit/meta.yaml +++ b/recipes/taxonkit/meta.yaml @@ -1,19 +1,23 @@ -{% set version = "0.15.1" %} +{% set version = "0.17.0" %} package: name: taxonkit version: {{ version }} build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage('taxonkit', max_pin='x.x') }} source: - url: https://github.com/shenwei356/taxonkit/releases/download/v{{ version }}/taxonkit_darwin_amd64.tar.gz # [osx] - md5: cc61492e7642ecf6e0708fb934de7e5f # [osx] - - url: https://github.com/shenwei356/taxonkit/releases/download/v{{ version }}/taxonkit_linux_amd64.tar.gz # [linux] - md5: c40825316860d0a23a51fb782561eef7 # [linux] + md5: 5c12cfac4939f966824eda8eb774cf9b # [osx] + - url: https://github.com/shenwei356/taxonkit/releases/download/v{{ version }}/taxonkit_darwin_arm64.tar.gz # [arm64] + md5: 4077cb27d588cd0c3ed174e80d9a54af # [arm64] + - url: https://github.com/shenwei356/taxonkit/releases/download/v{{ version }}/taxonkit_linux_amd64.tar.gz # [linux and x86_64] + md5: bfedc8dbfc2db63460ed31843fc5f3c3 # [linux and x86_64] + - url: https://github.com/shenwei356/taxonkit/releases/download/v{{ version }}/taxonkit_linux_arm64.tar.gz # [linux and aarch64] + md5: d0af9a15d225005705d8af63db6a970d # [linux and aarch64] test: commands: @@ -26,6 +30,9 @@ about: license_family: MIT extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 skip-lints: - should_be_noarch_generic - should_not_be_noarch_source diff --git a/recipes/taxonomy/LICENSE b/recipes/taxonomy/LICENSE deleted file mode 100644 index 2cdd581feedab..0000000000000 --- a/recipes/taxonomy/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2019 One Codex - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/recipes/taxonomy/build.sh b/recipes/taxonomy/build.sh index 9a5673054d7ff..e7403810f522a 100644 --- a/recipes/taxonomy/build.sh +++ b/recipes/taxonomy/build.sh @@ -1,17 +1,18 @@ #!/bin/bash -set -ex +set -euo + +# Add workaround for SSH-based Git connections from Rust/cargo. See https://github.com/rust-lang/cargo/issues/2078 for details. +# We set CARGO_HOME because we don't pass on HOME to conda-build, thus rendering the default "${HOME}/.cargo" defunct. +export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="${BUILD_PREFIX}/.cargo" if [ `uname` == Darwin ]; then - export HOME=`mktemp -d` + export HOME=`mktemp -d` + export PATH="$CARGO_HOME/bin:$PATH" fi -curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain nightly --profile=minimal -y - -export PATH="$HOME/.cargo/bin:$PATH" - -export CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER="$CC" - -maturin build --interpreter python --release #--cargo-extra-args="--features=python" +# build statically linked binary with Rust +RUST_BACKTRACE=1 +maturin build -b cffi --interpreter "${PYTHON}" --release --strip #--cargo-extra-args="--features=python" -$PYTHON -m pip install target/wheels/*.whl --no-deps --ignore-installed -vv +${PYTHON} -m pip install . --no-deps --no-build-isolation -vvv diff --git a/recipes/taxonomy/build_failure.osx-64.yaml b/recipes/taxonomy/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..aac3ff66f31cb --- /dev/null +++ b/recipes/taxonomy/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 20ab377530e681d3bedb6c918d8d0a50b1566558e70e902f8cc131b1d6dba985 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + Applying patch: /Users/runner/work/bioconda-recipes/bioconda-recipes/recipes/taxonomy/pyproject.patch with args: + ['-Np1', '-i', '/tmp/tmpg0jtmin3/pyproject.patch.native', '--binary'] + Patch analysis gives: + [[ RA-MD1LOVE ]] - [[ pyproject.patch ]] + + Key: + + R :: Reversible A :: Applicable + sys.exit(execute()) + Y :: Build-prefix patch in use M :: Minimal, non-amalgamated + D :: Dry-runnable N :: Patch level (1 is preferred) + L :: Patch level not-ambiguous O :: Patch applies without offsets + V :: Patch applies without fuzz E :: Patch applies without emitting to stderr + + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/taxonomy_1717528041571/work + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/taxonomy_1717528041571/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/taxonomy_1717528041571/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/taxonomy_1717528041571/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/taxonomy-0.10.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/taxonomy_1717528041571/work/conda_build.sh']' returned non-zero exit status 1. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/taxonomy-0.10.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + allexport off + braceexpand on + emacs off + errexit on + errtrace off + functrace off + hashall on + histexpand off + history off + ignoreeof off + interactive-comments on + keyword off + monitor off + noclobber off + noexec off + noglob off + nolog off + notify off + nounset on + onecmd off + physical off + pipefail off + posix off + privileged off + verbose off + vi off + xtrace off +# Last 100 lines of the build log. diff --git a/recipes/taxonomy/meta.yaml b/recipes/taxonomy/meta.yaml index 793be03563091..50482a9b18fb9 100644 --- a/recipes/taxonomy/meta.yaml +++ b/recipes/taxonomy/meta.yaml @@ -1,26 +1,30 @@ {% set name = "taxonomy" %} -{% set version = "0.9.0" %} +{% set version = "0.10.0" %} package: name: "{{ name|lower }}" version: "{{ version }}" source: - url: https://github.com/onecodex/taxonomy/archive/v{{ version }}.tar.gz - sha256: 3d9fb6604ce119bd46635eb1ab43212f9da591f0b6fc53cfcd8c97598025d159 + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/taxonomy-{{ version }}.tar.gz + sha256: 3ff7e2299c9554b8b8be2f00bb4cd9722d0ae820e8a271aaf1390a7e790c3f51 + patches: + - pyproject.patch build: - number: 1 - skip: True # [py < 37] + number: 2 + run_exports: + - {{ pin_subpackage('taxonomy', max_pin="x.x") }} requirements: build: - {{ compiler('c') }} + - {{ compiler('rust') }} host: + - python - pip - cffi - maturin - - python run: - python - cffi @@ -31,8 +35,7 @@ test: about: home: https://github.com/onecodex/taxonomy/ - license: MIT License + license: MIT license_family: MIT license_file: LICENSE summary: "Python and Rust library for loading, saving, and manipulating taxonomic trees" - diff --git a/recipes/taxonomy/pyproject.patch b/recipes/taxonomy/pyproject.patch new file mode 100644 index 0000000000000..7d6fc2b1b3235 --- /dev/null +++ b/recipes/taxonomy/pyproject.patch @@ -0,0 +1,9 @@ +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -1,5 +1,5 @@ + [build-system] +-requires = ["maturin>=0.14,<0.15"] ++requires = ["maturin>=1.0,<2.0"] + build-backend = "maturin" + + [project] diff --git a/recipes/taxopy/meta.yaml b/recipes/taxopy/meta.yaml index fe5b571c1e819..1e2b85a9a93e8 100644 --- a/recipes/taxopy/meta.yaml +++ b/recipes/taxopy/meta.yaml @@ -1,5 +1,5 @@ {% set name = "taxopy" %} -{% set version = "0.12.0" %} +{% set version = "0.13.0" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 589e0d600a03535f1689d4be27c90af44b0552f26bdd7b27b31799cc098da828 + sha256: 0f56b8470864bc8c44cda1edb00dd210a0105e5aec25dfb9f6bb725b0f753f5c build: number: 0 diff --git a/recipes/taxor/build.sh b/recipes/taxor/build.sh new file mode 100755 index 0000000000000..92946f0a50a31 --- /dev/null +++ b/recipes/taxor/build.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +mkdir ${SRC_DIR}/build/ +cd ${SRC_DIR}/build/ +cmake ${SRC_DIR}/src +cmake --build . --config Release + +cp ${SRC_DIR}/build/main/taxor $PREFIX/bin +chmod +x $PREFIX/bin/taxor + diff --git a/recipes/taxor/meta.yaml b/recipes/taxor/meta.yaml new file mode 100755 index 0000000000000..767c30ea4dcda --- /dev/null +++ b/recipes/taxor/meta.yaml @@ -0,0 +1,47 @@ +{% set version = "0.1.3" %} + +package: + name: taxor + version: {{ version }} + +source: + url: https://github.com/JensUweUlrich/Taxor/archive/refs/tags/{{ version }}.tar.gz # [linux] + md5: 7bffd64282894433b4db60af8f1052c9 # [linux] + +build: + number: 0 + run_exports: + - {{ pin_subpackage('taxor', max_pin='x.x.x') }} + skip: true # [osx] + +requirements: + build: + - make + - {{ compiler('cxx') }} + - {{ compiler('c') }} + - cmake >=3.21 + host: + - zlib + - bzip2 + - libgomp # [linux] + - cxxopts >=2.2.0 + - grep + - coreutils + - curl + - diffutils + run: + - grep + - coreutils + - curl + - diffutils + +test: + commands: + - taxor --help + +about: + home: https://github.com/JensUweUlrich/Taxor + summary: Fast and space-efficient taxonomic classification of long reads + license: BSD-3-Clause + license_family: BSD + license_file: LICENSE.md diff --git a/recipes/taxpasta/meta.yaml b/recipes/taxpasta/meta.yaml index 3778c68e675b9..c4a936afdc49a 100644 --- a/recipes/taxpasta/meta.yaml +++ b/recipes/taxpasta/meta.yaml @@ -1,6 +1,6 @@ {% set name = "taxpasta" %} -{% set version = "0.6.1" %} -{% set sha256 = "468141b00bb286e5b52fb47e7046af68d4f849eecb209a3ec77b0ce4da5dcf01" %} +{% set version = "0.7.0" %} +{% set sha256 = "320d8499124e03a20baec4e46dc3ade855c9aec9113ad2d632d0301d347d0be4" %} package: name: {{ name|lower }} diff --git a/recipes/tb-profiler/build.sh b/recipes/tb-profiler/build.sh index ee5d4d66e8d82..4aaad0eabd6d3 100644 --- a/recipes/tb-profiler/build.sh +++ b/recipes/tb-profiler/build.sh @@ -1,8 +1,8 @@ #!/bin/bash python -m pip install --no-deps --ignore-installed . -gatk CreateSequenceDictionary -R $PREFIX/share/tbprofiler/tbdb.fasta -samtools faidx $PREFIX/share/tbprofiler/tbdb.fasta +# gatk CreateSequenceDictionary -R $PREFIX/share/tbprofiler/tbdb.fasta +# samtools faidx $PREFIX/share/tbprofiler/tbdb.fasta bwa index $PREFIX/share/tbprofiler/tbdb.fasta # this downloads Mycobacterium_tuberculosis_h37rv DB to $PREFIX/share/snpeff-SNPEFF_VERSION/data snpEff download Mycobacterium_tuberculosis_h37rv diff --git a/recipes/tb-profiler/meta.yaml b/recipes/tb-profiler/meta.yaml index c98196104add1..0d2dcc79dbf30 100644 --- a/recipes/tb-profiler/meta.yaml +++ b/recipes/tb-profiler/meta.yaml @@ -1,6 +1,6 @@ {% set name = "tb-profiler" %} -{% set version = "5.0.1" %} -{% set sha256 = "71da60ab38cd3c11f1951bac8e26e7cfe2c91700afa8132cf9001e73a2bae252" %} +{% set version = "6.3.0" %} +{% set sha256 = "45f3f104a3dd0f2fe07b315e3dc4ab1f0e35be095180363ecc65d41842972140" %} package: name: {{name}} @@ -12,7 +12,7 @@ source: build: noarch: python - number: 1 + number: 0 run_exports: - {{ pin_subpackage('tb-profiler', max_pin="x") }} @@ -28,11 +28,11 @@ requirements: - python >=3.8 - git - jinja2 - - pathogen-profiler =3.1.0 + - pathogen-profiler =4.3.0 - filelock - docxtpl - iqtree - - usher + # - usher - joblib - tqdm - pysam @@ -50,7 +50,7 @@ about: license: GPL-3.0-or-later license_family: GPL3 license_file: LICENSE - summary: Profiling tool for Mycobacterium tuberculosis to detect drug resistance and lineage from WGS data + summary: Profiling tool for Mycobacterium tuberculosis to detect drug resistance and lineage from sequencing data extra: identifiers: diff --git a/recipes/tbpore/meta.yaml b/recipes/tbpore/meta.yaml index 0931d21a6f35f..ea18df1427136 100644 --- a/recipes/tbpore/meta.yaml +++ b/recipes/tbpore/meta.yaml @@ -1,5 +1,5 @@ {% set name = "tbpore" %} -{% set version = "0.7.0" %} +{% set version = "0.7.1" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 9b9fd8cf7e6ec98d90ae196e4abcb7865fbb2f360c1fa1b4c6aa574cde87ec75 + sha256: c48b1aa71a4f9e5c74d12b652e08f098b6fbccfef098be0923b41a788b817c02 build: number: 0 @@ -26,7 +26,7 @@ requirements: run: - python >=3.8 - mykrobe =0.12 - - rasusa + - rasusa =2 - samtools =1.13 - bcftools =1.13 - minimap2 =2.22 diff --git a/recipes/tbtamr/LICENSE b/recipes/tbtamr/LICENSE new file mode 100644 index 0000000000000..f288702d2fa16 --- /dev/null +++ b/recipes/tbtamr/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/recipes/tbtamr/meta.yaml b/recipes/tbtamr/meta.yaml new file mode 100644 index 0000000000000..1c9a2d4c14807 --- /dev/null +++ b/recipes/tbtamr/meta.yaml @@ -0,0 +1,51 @@ +{% set name = "tbtamr" %} +{% set version = "1.0.2" %} +{% set sha256 = "3b1e669a015ed7bb40977c104ae22f3a4e1e49f07c84b7043f0e6b21c8a0957a" %} + +package: + name: "{{ name }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: "{{ sha256 }}" + +build: + noarch: python + number: 1 + entry_points: + - tbtamr=tbtamr.tbtamr:main + run_exports: + - {{ pin_subpackage('tbtamr', max_pin="x.x") }} + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + +requirements: + host: + - python >=3.10 + - pip + - setuptools + run: + - python >=3.10 + - setuptools + - mutamr + - pandas + - tabulate + - unidecode + +test: + imports: + - tbtamr + commands: + - tbtamr --help + +about: + home: "https://github.com/MDU-PHL/tbtamr" + license: GPL-3.0-or-later + license_file: LICENSE + license_family: "GPL3" + summary: "A tool implementing TB-Profiler for reporting of genomic DST for M. tuberculosis in a CPHL" + dev_url: "https://github.com/MDU-PHL/tbtamr" + +extra: + recipe-maintainers: + - kristyhoran diff --git a/recipes/tbvcfreport/meta.yaml b/recipes/tbvcfreport/meta.yaml index 2dc706da3ea58..7bcb83f2c4ee4 100644 --- a/recipes/tbvcfreport/meta.yaml +++ b/recipes/tbvcfreport/meta.yaml @@ -1,5 +1,5 @@ {% set name = "tbvcfreport" %} -{% set version = "0.1.10" %} +{% set version = "1.0.1" %} {% set author = "COMBAT-TB" %} package: @@ -8,7 +8,7 @@ package: source: url: "https://github.com/{{ author }}/{{ name }}/archive/{{ version }}.tar.gz" - sha256: 146e41af2db41c4a1598616d33733d9a114cfa746e02b1f0780ce639cc4744b9 + sha256: aba241b26d3f4918fc363fcdf3f9d241c8f67bc0659a8753e02721c60262b0e1 build: noarch: python @@ -16,17 +16,19 @@ build: entry_points: - tbvcfreport=tbvcfreport.tbvcfreport:cli script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + run_exports: + - {{ pin_subpackage('tbvcfreport', max_pin="x") }} requirements: host: - pip - - python >=3.6 + - python >=3.10 run: - click - jinja2 - neo4j-python-driver - - python >=3.6 - - pyvcf + - python >=3.10 + - vcfpy test: imports: diff --git a/recipes/tcdemux/meta.yaml b/recipes/tcdemux/meta.yaml index b424f8dcdc1fb..1d2bc89eb43f5 100644 --- a/recipes/tcdemux/meta.yaml +++ b/recipes/tcdemux/meta.yaml @@ -1,5 +1,5 @@ --- -{% set version = "0.0.24" %} +{% set version = "0.1.1" %} package: name: tcdemux @@ -7,7 +7,7 @@ package: source: url: https://github.com/TomHarrop/tcdemux/archive/refs/tags/{{ version }}.tar.gz - sha256: ab40fd9230e126e4691a9d7c0799cfe52baac0a7e86230f22aefa42206609fda + sha256: 945c8acef0f68a8bbbd0449ca77a6408e7e2eb2b85c54812931282b8783cdb8f build: number: 0 @@ -20,17 +20,17 @@ requirements: host: - python >=3.10 run: - - bbmap + - bbmap <=38.95 - biopython >=1.81 - - cutadapt >=4.4 - - pandas >=2.0.3 + - cutadapt >=4.5 + - pandas >=2.1.1 - pigz - - python >=3.10 + - python >=3.10,<3.12 - r-bit64 >=4.0.5 - r-data.table >=1.14.8 - r-ggplot2 >=3.4.3 - r-viridis >=0.6.4 - - snakemake >=7.31.0 + - snakemake >=7.32.4,<8.0.0 test: commands: diff --git a/recipes/tcfinder/meta.yaml b/recipes/tcfinder/meta.yaml new file mode 100644 index 0000000000000..87aa5d25d6205 --- /dev/null +++ b/recipes/tcfinder/meta.yaml @@ -0,0 +1,32 @@ +{% set name = "tcfinder" %} +{% set version = "1.0.0" %} +{% set sha256 = "70bc354bdccddc91217d4a6b3d7ed9847ef5a9b279500ddd0cb9f5f51b705db9" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: "https://github.com/PathoGenOmics-Lab/{{ name }}/archive/v{{ version }}.tar.gz" + sha256: "{{ sha256 }}" + +build: + number: 0 + script: "cargo install --no-track --locked --verbose --root \"${PREFIX}\" --path ." + run_exports: + - pin_subpackage(name, max_pin="x.x") + +requirements: + build: + - {{ compiler('rust') }} + +test: + commands: + - tcfinder --version + +about: + home: "https://github.com/PathoGenOmics-Lab/tcfinder" + license: "GPL-3.0-only" + license_file: LICENSE + license_family: GPL3 + summary: "A lightweight tool to find clusters of samples within a phylogeny." diff --git a/recipes/tefinder/build.sh b/recipes/tefinder/build.sh new file mode 100644 index 0000000000000..62add9417c48d --- /dev/null +++ b/recipes/tefinder/build.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +mkdir -p ${PREFIX}/bin + +export INCLUDES="-I${PREFIX}/include" +export LIBPATH="-L${PREFIX}/lib" +export CXXFLAGS="${CXXFLAGS} -O3 -I${PREFIX}/include" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" + +if [[ `uname` == "Darwin" ]]; then + export CONFIG_ARGS="-DCMAKE_FIND_FRAMEWORK=NEVER -DCMAKE_FIND_APPBUNDLE=NEVER" +else + export CONFIG_ARGS="" +fi + +cmake -S . -B build -DCMAKE_INSTALL_PREFIX="${PREFIX}" \ + -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER="${CXX}" \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ + "${CONFIG_ARGS}" +cmake --build build --target install -j "${CPU_COUNT}" -v + +chmod 0755 bin/* +mv bin/* ${PREFIX}/bin diff --git a/recipes/tefinder/meta.yaml b/recipes/tefinder/meta.yaml new file mode 100644 index 0000000000000..5bf3b91c2d4b0 --- /dev/null +++ b/recipes/tefinder/meta.yaml @@ -0,0 +1,37 @@ +{% set name = "tefinder" %} +{% set version = "2.32" %} + +package : + name: {{ name }} + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage( 'tefinder', max_pin="x") }} + +source: + url: https://urgi.versailles.inra.fr/download/repet/te_finder_light-{{ version }}.tar.gz + sha256: 826cb7ba7bf0222126dd468c7cef420316fa11083b78ec6ceaa146e2ff9915ed + +requirements: + build: + - {{ compiler('cxx') }} + - make + - cmake + host: + - cppunit + run: + - blast + - blast-legacy + +about: + home: "https://forgemia.inra.fr/urgi-anagen/te_finder" + license: CeCILL + license_file: LICENSE + summary: "Programs for transposable element search and annotation in large eukaryotic genome sequence." + dev_url: "https://forgemia.inra.fr/urgi-anagen/te_finder" + +test: + commands: + - blaster2.32 -h >> /dev/null diff --git a/recipes/telometer/LICENSE.txt b/recipes/telometer/LICENSE.txt new file mode 100644 index 0000000000000..84e9e4c0a691f --- /dev/null +++ b/recipes/telometer/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 santiago-es + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/recipes/telometer/meta.yaml b/recipes/telometer/meta.yaml new file mode 100644 index 0000000000000..541254d534130 --- /dev/null +++ b/recipes/telometer/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "telometer" %} +{% set version = "1.1" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/telometer-{{ version }}.tar.gz" + sha256: 28f3256263be23e06f68cee0ddb9a3c942dc4cd7674389ce8e5f3c09ba4e17f3 + +build: + number: 0 + noarch: python + entry_points: + - telometer=telometer:run_telometer + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + run_exports: + - {{ pin_subpackage(name, max_pin='x') }} + +requirements: + host: + - pip + - python >=3.7 + run: + - python >=3.7 + - pysam + - pandas + - regex + - samtools + - minimap2 + - scipy + +test: + imports: + - telometer + commands: + - telometer --help + +about: + home: https://github.com/santiago-es/Telometer + license: MIT + license_family: MIT + license_file: "LICENSE.txt" + summary: "A simple regular expression based method for measuring individual, chromosome-specific telomere lengths from long-read sequencing data." + dev_url: https://github.com/santiago-es/Telometer + +extra: + recipe-maintainers: + - santiago-es diff --git a/recipes/telseq/build_failure.osx-64.yaml b/recipes/telseq/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..6536e5d2a079a --- /dev/null +++ b/recipes/telseq/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 2fd9750a1a225c0d547b8df2313002147680bfc318a7067da9e42877dba37843 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + utils.check_call_env( + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/telseq-0.0.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/telseq_1717627707943/work/conda_build.sh']' returned non-zero exit status 2. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/telseq-0.0.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/telseq-0.0.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/telseq-0.0.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + checking for a BSD-compatible install... /usr/bin/install -c + checking whether build environment is sane... yes + checking for a race-free mkdir -p... ./install-sh -c -d + checking for gawk... no + checking for mawk... no + checking for nawk... no + checking for awk... awk + checking whether make sets $(MAKE)... yes + checking whether make supports nested variables... yes + checking for x86_64-apple-darwin13.4.0-gcc... x86_64-apple-darwin13.4.0-clang + checking whether the C compiler works... yes + checking for C compiler default output file name... a.out + checking for suffix of executables... + checking whether we are cross compiling... no + checking for suffix of object files... o + checking whether the compiler supports GNU C... yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... yes + checking for x86_64-apple-darwin13.4.0-clang option to enable C11 features... none needed + checking whether x86_64-apple-darwin13.4.0-clang understands -c and -o together... yes + checking whether make supports the include directive... yes (GNU style) + checking dependency style of x86_64-apple-darwin13.4.0-clang... gcc3 + checking whether the compiler supports GNU C... yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... yes + checking for x86_64-apple-darwin13.4.0-clang option to enable C11 features... none needed + checking dependency style of x86_64-apple-darwin13.4.0-clang... gcc3 + checking for x86_64-apple-darwin13.4.0-ranlib... x86_64-apple-darwin13.4.0-ranlib + checking for stdio.h... yes + checking for stdlib.h... yes + checking for string.h... yes + checking for inttypes.h... yes + checking for stdint.h... yes + checking for strings.h... yes + checking for sys/stat.h... yes + checking for sys/types.h... yes + checking for unistd.h... yes + checking for api/BamReader.h... yes + checking that generated files are newer than configure... done + configure: creating ./config.status + config.status: creating Makefile + config.status: creating Util/Makefile + config.status: creating Telseq/Makefile + config.status: creating config.h + config.status: executing depfiles commands + make all-recursive + make[1]: Entering directory '$SRC_DIR/src' + Making all in Util + make[2]: Entering directory '$SRC_DIR/src/Util' + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I$PREFIX/include -I$PREFIX/include/bamtools -Wall -Wextra -Wno-unknown-pragmas -g -O0 -std=c11 -MT Util.o -MD -MP -MF .deps/Util.Tpo -c -o Util.o Util.cpp + make[2]: Leaving directory '$SRC_DIR/src/Util' + make[1]: Leaving directory '$SRC_DIR/src' +# Last 100 lines of the build log. diff --git a/recipes/telseq/meta.yaml b/recipes/telseq/meta.yaml index 883617fc93b9a..102fffee130f0 100644 --- a/recipes/telseq/meta.yaml +++ b/recipes/telseq/meta.yaml @@ -9,7 +9,7 @@ source: sha256: aac2477f0d01390d1603afe09cadf0f7ba0fb8864c579289dcbe363ca9bbfa1a build: - number: 6 + number: 7 requirements: build: diff --git a/recipes/tepeaks/meta.yaml b/recipes/tepeaks/meta.yaml index c377a3039c25c..3f1e556d61e26 100644 --- a/recipes/tepeaks/meta.yaml +++ b/recipes/tepeaks/meta.yaml @@ -10,7 +10,7 @@ source: sha256: unused build: - number: 5 + number: 6 skip: True # [osx] requirements: diff --git a/recipes/terrace/build.sh b/recipes/terrace/build.sh new file mode 100644 index 0000000000000..7a0d70011ef7a --- /dev/null +++ b/recipes/terrace/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +./configure --prefix=$PREFIX +make LIBS+=-lhts +make install diff --git a/recipes/terrace/build_failure.linux-64.yaml b/recipes/terrace/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..91cff61d81c8c --- /dev/null +++ b/recipes/terrace/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 08d1979fd5bb1d72e19339c9a896ed198415ef98d443d540030963c3d8ef91b3 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + BUILD START: ['terrace-1.1.2-hdbdd923_1.tar.bz2'] + Reloading output folder (file:///opt/host-conda-bld): ...working... done + Solving environment (_h_env): ...working... done + + ## Package Plan ## + + environment location: /opt/conda/conda-bld/terrace_1717787510676/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place + + + The following NEW packages will be INSTALLED: + + _libgcc_mutex: 0.1-conda_forge conda-forge + _openmp_mutex: 4.5-2_gnu conda-forge + boost-cpp: 1.85.0-h44aadfe_1 conda-forge + bzip2: 1.0.8-hd590300_5 conda-forge + c-ares: 1.28.1-hd590300_0 conda-forge + ca-certificates: 2024.6.2-hbcca054_0 conda-forge + htslib: 1.20-h5efdd21_1 bioconda + icu: 73.2-h59595ed_0 conda-forge + keyutils: 1.6.1-h166bdaf_0 conda-forge + krb5: 1.21.2-h659d440_0 conda-forge + libboost: 1.85.0-hba137d9_1 conda-forge + libboost-devel: 1.85.0-h00ab1b0_1 conda-forge + libboost-headers: 1.85.0-ha770c72_1 conda-forge + libcurl: 8.8.0-hca28451_0 conda-forge + libdeflate: 1.20-hd590300_0 conda-forge + libedit: 3.1.20191231-he28a2e2_2 conda-forge + libev: 4.33-hd590300_2 conda-forge + libgcc-ng: 13.2.0-h77fa898_7 conda-forge + libgomp: 13.2.0-h77fa898_7 conda-forge + libnghttp2: 1.58.0-h47da74e_1 conda-forge + libssh2: 1.11.0-h0841786_0 conda-forge + libstdcxx-ng: 13.2.0-hc0a3c3a_7 conda-forge + libzlib: 1.3.1-h4ab18f5_1 conda-forge + ncurses: 6.5-h59595ed_0 conda-forge + openssl: 3.3.1-h4ab18f5_0 conda-forge + xz: 5.2.6-h166bdaf_0 conda-forge + zstd: 1.5.6-ha6fb4c9_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Reloading output folder (file:///opt/host-conda-bld): ...working... done + Solving environment (_build_env): ...working... done + Reloading output folder (file:///opt/host-conda-bld): ...working... done + Solving environment (_test_env): ...working... done + + ## Package Plan ## + + environment location: /opt/conda/conda-bld/terrace_1717787510676/_build_env + + + The following NEW packages will be INSTALLED: + + _libgcc_mutex: 0.1-conda_forge conda-forge + _openmp_mutex: 4.5-2_gnu conda-forge + binutils_impl_linux-64: 2.40-ha1999f0_2 conda-forge + binutils_linux-64: 2.40-hdade7a5_3 conda-forge + gcc_impl_linux-64: 12.3.0-h58ffeeb_7 conda-forge + gcc_linux-64: 12.3.0-h6477408_3 conda-forge + gxx_impl_linux-64: 12.3.0-h2a574ab_7 conda-forge + gxx_linux-64: 12.3.0-h4a1b8e8_3 conda-forge + kernel-headers_linux-64: 2.6.32-he073ed8_17 conda-forge + ld_impl_linux-64: 2.40-hf3520f5_2 conda-forge + libgcc-devel_linux-64: 12.3.0-h0223996_107 conda-forge + libgcc-ng: 13.2.0-h77fa898_7 conda-forge + libgomp: 13.2.0-h77fa898_7 conda-forge + libsanitizer: 12.3.0-hb8811af_7 conda-forge + libstdcxx-devel_linux-64: 12.3.0-h0223996_107 conda-forge + libstdcxx-ng: 13.2.0-hc0a3c3a_7 conda-forge + make: 4.3-hd18ef5c_1 conda-forge + sysroot_linux-64: 2.12-he073ed8_17 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Source cache directory is: /opt/conda/conda-bld/src_cache + Downloading source to cache: terrace-1.1.2_cac4e9ae9e.tar.gz + Downloading https://github.com/Shao-Group/TERRACE/releases/download/v1.1.2/terrace-1.1.2.tar.gz + Success + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2419, in build + try_download(m, no_download_source=False, raise_error=True) + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 762, in try_download + source.provide(metadata) + File "/opt/conda/lib/python3.10/site-packages/conda_build/source.py", line 1035, in provide + unpack( + File "/opt/conda/lib/python3.10/site-packages/conda_build/source.py", line 169, in unpack + src_path, unhashed_fn = download_to_cache( + File "/opt/conda/lib/python3.10/site-packages/conda_build/source.py", line 125, in download_to_cache + raise RuntimeError( + RuntimeError: SHA256 mismatch: '8ce51497f6f34acc1f391d70e922ec27eddc986bfea81ae123338ab55c396985' != 'cac4e9ae9ec61f49089c898f8c9484057ff16534fa1b12b02a5a06346dc56e8c' +# Last 100 lines of the build log. diff --git a/recipes/terrace/build_failure.osx-64.yaml b/recipes/terrace/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..06863a650dfa7 --- /dev/null +++ b/recipes/terrace/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 08d1979fd5bb1d72e19339c9a896ed198415ef98d443d540030963c3d8ef91b3 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + + ## Package Plan ## + + environment location: /opt/mambaforge/envs/bioconda/conda-bld/terrace_1717630994812/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh + + + The following NEW packages will be INSTALLED: + + boost-cpp: 1.85.0-h07eb623_1 conda-forge + bzip2: 1.0.8-h10d778d_5 conda-forge + c-ares: 1.28.1-h10d778d_0 conda-forge + ca-certificates: 2024.6.2-h8857fd0_0 conda-forge + htslib: 1.20-hec81eee_1 bioconda + icu: 73.2-hf5e326d_0 conda-forge + krb5: 1.21.2-hb884880_0 conda-forge + libboost: 1.85.0-h739af76_1 conda-forge + libboost-devel: 1.85.0-h2b186f8_1 conda-forge + libboost-headers: 1.85.0-h694c41f_1 conda-forge + libcurl: 8.8.0-hf9fcc65_0 conda-forge + libcxx: 17.0.6-h88467a6_0 conda-forge + libdeflate: 1.20-h49d49c5_0 conda-forge + libedit: 3.1.20191231-h0678c8f_2 conda-forge + libev: 4.33-h10d778d_2 conda-forge + libnghttp2: 1.58.0-h64cf6d3_1 conda-forge + libssh2: 1.11.0-hd019ec5_0 conda-forge + libzlib: 1.3.1-h87427d6_1 conda-forge + ncurses: 6.5-h5846eda_0 conda-forge + openssl: 3.3.1-h87427d6_0 conda-forge + xz: 5.2.6-h775f41a_0 conda-forge + zstd: 1.5.6-h915ae27_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Reloading output folder (local): ...working... done + Solving environment (_build_env): ...working... done + Reloading output folder (local): ...working... done + Solving environment (_test_env): ...working... done + + ## Package Plan ## + + environment location: /opt/mambaforge/envs/bioconda/conda-bld/terrace_1717630994812/_build_env + + + The following NEW packages will be INSTALLED: + + ca-certificates: 2024.6.2-h8857fd0_0 conda-forge + cctools_osx-64: 986-ha1c5b94_0 conda-forge + clang: 16.0.6-hd4457cd_7 conda-forge + clang-16: 16.0.6-default_h4c8afb6_7 conda-forge + clang_impl_osx-64: 16.0.6-h8787910_15 conda-forge + clang_osx-64: 16.0.6-hb91bd55_15 conda-forge + clangxx: 16.0.6-default_ha3b9224_7 conda-forge + clangxx_impl_osx-64: 16.0.6-h6d92fbe_15 conda-forge + clangxx_osx-64: 16.0.6-hb91bd55_15 conda-forge + compiler-rt: 16.0.6-ha38d28d_2 conda-forge + compiler-rt_osx-64: 16.0.6-ha38d28d_2 conda-forge + icu: 73.2-hf5e326d_0 conda-forge + ld64_osx-64: 711-ha20a434_0 conda-forge + libclang-cpp16: 16.0.6-default_h4c8afb6_7 conda-forge + libcxx: 17.0.6-h88467a6_0 conda-forge + libiconv: 1.17-hd75f5a5_2 conda-forge + libllvm16: 16.0.6-hbedff68_3 conda-forge + libxml2: 2.12.7-h3e169fe_1 conda-forge + libzlib: 1.3.1-h87427d6_1 conda-forge + llvm-tools: 16.0.6-hbedff68_3 conda-forge + make: 4.3-h22f3db7_1 conda-forge + openssl: 3.3.1-h87427d6_0 conda-forge + sigtool: 0.1.3-h88f4db0_0 conda-forge + tapi: 1100.0.11-h9ce4665_0 conda-forge + xz: 5.2.6-h775f41a_0 conda-forge + zstd: 1.5.6-h915ae27_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache + Downloading source to cache: terrace-1.1.2_cac4e9ae9e.tar.gz + Downloading https://github.com/Shao-Group/TERRACE/releases/download/v1.1.2/terrace-1.1.2.tar.gz + Success + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2419, in build + try_download(m, no_download_source=False, raise_error=True) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/render.py", line 762, in try_download + source.provide(metadata) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/source.py", line 1035, in provide + unpack( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/source.py", line 169, in unpack + src_path, unhashed_fn = download_to_cache( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/source.py", line 125, in download_to_cache + raise RuntimeError( + RuntimeError: SHA256 mismatch: '8ce51497f6f34acc1f391d70e922ec27eddc986bfea81ae123338ab55c396985' != 'cac4e9ae9ec61f49089c898f8c9484057ff16534fa1b12b02a5a06346dc56e8c' +# Last 100 lines of the build log. diff --git a/recipes/terrace/meta.yaml b/recipes/terrace/meta.yaml new file mode 100644 index 0000000000000..99bbb2b09b071 --- /dev/null +++ b/recipes/terrace/meta.yaml @@ -0,0 +1,41 @@ +{% set name = "terrace" %} +{% set version = "1.1.2" %} + +package: + name: "{{ name }}" + version: "{{ version }}" + +source: + url: "https://github.com/Shao-Group/TERRACE/releases/download/v{{ version }}/terrace-{{ version }}.tar.gz" + sha256: "cac4e9ae9ec61f49089c898f8c9484057ff16534fa1b12b02a5a06346dc56e8c" + +build: + number: 1 + run_exports: + - {{ pin_subpackage('terrace', max_pin="x") }} + +requirements: + build: + - make + - {{ compiler('c') }} + - {{ compiler('cxx') }} + host: + - htslib + - boost-cpp + run: + - htslib + - boost-cpp + +test: + commands: + - terrace --help + +about: + home: "https://github.com/Shao-Group/TERRACE" + license: BSD-3-Clause + license_file: LICENSE + summary: "TERRACE is an assembler for circular RNAs." + +extra: + recipe-maintainers: + - shaomingfu diff --git a/recipes/tesorter/build.sh b/recipes/tesorter/build.sh index cce630af1d9c7..a32611cd6cc66 100644 --- a/recipes/tesorter/build.sh +++ b/recipes/tesorter/build.sh @@ -1,5 +1,5 @@ #!/bin/bash -$PYTHON -m pip install --no-deps --ignore-installed . +$PYTHON -m pip install --no-deps --no-build-isolation --no-cache-dir . -vvv # hmmscan in TEsorter need hmmpress first # see here https://github.com/oushujun/EDTA/issues/121 diff --git a/recipes/tesorter/meta.yaml b/recipes/tesorter/meta.yaml index f964508daebe8..5238bcacd6776 100644 --- a/recipes/tesorter/meta.yaml +++ b/recipes/tesorter/meta.yaml @@ -14,8 +14,11 @@ build: noarch: python entry_points: - TEsorter = TEsorter.app:main - number: 0 - + - TEsorter-test = TEsorter.test.test_app:main + - concatenate_domains.py = TEsorter.modules.concatenate_domains:main + number: 1 + run_exports: + - {{ pin_subpackage('tesorter', max_pin="x") }} requirements: host: @@ -37,9 +40,14 @@ test: - "TEsorter-test" about: - home: https://github.com/zhangrengang/TEsorter - license: GPLv3 - license_family: GPL + home: "https://github.com/zhangrengang/TEsorter" + license: "GPL-3.0-or-later" + license_family: GPL3 license_file: LICENSE summary: Lineage-level classification of transposable elements using conserved protein domains. - dev_url: https://github.com/zhangrengang/TEsorter + dev_url: "https://github.com/zhangrengang/TEsorter" + doc_url: "https://github.com/zhangrengang/TEsorter/blob/master/README.md" + +extra: + identifiers: + - doi:10.1093/hr/uhac017 diff --git a/recipes/tetrimmer/build.sh b/recipes/tetrimmer/build.sh new file mode 100644 index 0000000000000..e1e635060d457 --- /dev/null +++ b/recipes/tetrimmer/build.sh @@ -0,0 +1,15 @@ +#!/bin/sh +set -x -e + +tetrimmer_DIR=${PREFIX}/share/tetrimmer + +mkdir -p ${PREFIX}/bin +mkdir -p ${tetrimmer_DIR} +cp -r tetrimmer/* ${tetrimmer_DIR} + +cat <>${PREFIX}/bin/TEtrimmer +#!/bin/bash +python ${tetrimmer_DIR}/TEtrimmer.py \$@ +END + +chmod a+x ${PREFIX}/bin/TEtrimmer diff --git a/recipes/tetrimmer/meta.yaml b/recipes/tetrimmer/meta.yaml new file mode 100644 index 0000000000000..9012aae616590 --- /dev/null +++ b/recipes/tetrimmer/meta.yaml @@ -0,0 +1,67 @@ +{% set name = "TEtrimmer" %} +{% set version = "1.4.0" %} +{% set sha256 = "973eb61d3fd23677a38d14328ea0b4f8f38508b1af9a4ea52c137e460238a626" %} +package: + name: {{ name|lower }} + version: {{ version }} +source: + url: https://github.com/qjiangzhao/TEtrimmer/archive/v{{ version }}.tar.gz + sha256: {{ sha256 }} +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage('tetrimmer', max_pin="x") }} + +requirements: + run: + - python >=3.8,<3.11 + - numpy + - perl + - r-base + - blast + - biopython + - bedtools >=2.31.1 + - cd-hit + - dataclasses + - emboss + - hmmer + - iqtree + - matplotlib-base + - mafft + - multiprocess + - pandas + - pfam_scan + - plotly + - pypdf2 + - regex + - repeatmodeler + - repeatmasker + - requests + - samtools + - scikit-learn + - tk + - urllib3 + - click + - dill + - joblib + - nseg + - recon + - trf + - ghostscript + +test: + commands: + - TEtrimmer --help + +about: + home: https://github.com/qjiangzhao/TETrimmer.git + license: GPL-3.0-only + summary: "TETrimmer is designed to replace and assist TE manual curation." + license_family: GPL3 + license_file: LICENSE + +extra: + recipe-maintainers: + - hangxue + - qianjiangzhao \ No newline at end of file diff --git a/recipes/tf-comb/meta.yaml b/recipes/tf-comb/meta.yaml new file mode 100644 index 0000000000000..032969cfb9cc0 --- /dev/null +++ b/recipes/tf-comb/meta.yaml @@ -0,0 +1,65 @@ +{% set name = "TF-COMB" %} +{% set version = "1.1" %} +{% set sha256 = "5b718061660e0f9f94d86459eb742ca81de5851b0defd8b08c8a7a7e3370c253" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + skip: True # [py>=311 or py2k] + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('tf-comb', max_pin="x") }} + +requirements: + build: + - {{ compiler('c') }} + host: + - python + - setuptools + - wheel + - cython + - numpy + - pip + run: + - python + - scipy + - pysam + - matplotlib-base >=2 + - pandas + - tobias >=0.11 + - networkx >=2.4 + - python-louvain + - python-graphviz + - statsmodels + - goatools + - uropa + - qnorm + - dill + - seaborn + - tqdm + - ipython + - {{ pin_compatible('numpy') }} + +test: + imports: + - tfcomb + +about: + summary: "Transcription Factor Co-Occurrence using Market Basket analysis" + license: MIT + license_family: MIT + license_file: LICENSE + home: https://tf-comb.readthedocs.io/ + doc_url: https://tf-comb.readthedocs.io/ + dev_url: https://github.com/loosolab/TF-COMB/ + +extra: + identifiers: + - doi:10.1016/j.csbj.2022.07.025 diff --git a/recipes/thapbi-pict/meta.yaml b/recipes/thapbi-pict/meta.yaml index d1eca3abad919..1451e942c5aca 100644 --- a/recipes/thapbi-pict/meta.yaml +++ b/recipes/thapbi-pict/meta.yaml @@ -1,5 +1,5 @@ {% set name = "thapbi-pict" %} -{% set version = "1.0.5" %} +{% set version = "1.0.16" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name | replace("-", "_") }}/{{ name | replace("-", "_") }}-{{ version }}.tar.gz - sha256: c7e42668397ac37b869b2c5774e721635e892ebb99eefc014d634b090d9f7c08 + sha256: 85cf6d180db38166bb7ccd14af8c3813e2b3fa0d5026cac76bce8867492563f7 build: noarch: python @@ -21,18 +21,18 @@ build: requirements: host: - pip - - python >=3.7 + - python >=3.8 run: # Python - biom-format >=2.1.14 - - biopython >=1.73 + - biopython >=1.82 - cutadapt >=4.0 - matplotlib-base >=3.7 - networkx >=2.4,!=2.8.3,!=2.8.4 - - pydot - - python >=3.7 + - pydot <3 + - python >=3.8 - rapidfuzz >=2.4.0 - - sqlalchemy + - sqlalchemy >=2.0 - xlsxwriter # Command line - blast diff --git a/recipes/thermorawfileparser/meta.yaml b/recipes/thermorawfileparser/meta.yaml index 6021696b4411b..13b3928df5f63 100644 --- a/recipes/thermorawfileparser/meta.yaml +++ b/recipes/thermorawfileparser/meta.yaml @@ -1,5 +1,5 @@ {% set name = "ThermoRawFileParser" %} -{% set version = "1.4.3" %} +{% set version = "1.4.4" %} package: name: {{ name|lower }} @@ -21,7 +21,7 @@ build: source: # downloading pre-compiled packages, msbuild is a hell to compile under Linux url: https://github.com/compomics/ThermoRawFileParser/releases/download/v{{ version }}/ThermoRawFileParser{{ version }}.zip - sha256: 4643347d5486e1dec89d1fd2742920661ae6a6d099a974652a5d9b3b15a26155 + sha256: 5fff9266636422557095b5eea0a18b26f5a9972f49a538d93cb969a6b239a044 requirements: build: diff --git a/recipes/tiberius/build.sh b/recipes/tiberius/build.sh new file mode 100644 index 0000000000000..7db29bf46afdf --- /dev/null +++ b/recipes/tiberius/build.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +mkdir -p ${PREFIX}/bin +cp -R $SRC_DIR/bin/* ${PREFIX}/bin/ +chmod +x ${PREFIX}/bin/tiberius.py +ln -s ${PREFIX}/bin/tiberius.py ${PREFIX}/bin/tiberius +sed -i '1s|^|#!/usr/bin/env python3\n|' ${PREFIX}/bin/tiberius \ No newline at end of file diff --git a/recipes/tiberius/meta.yaml b/recipes/tiberius/meta.yaml new file mode 100644 index 0000000000000..74d57de25be23 --- /dev/null +++ b/recipes/tiberius/meta.yaml @@ -0,0 +1,43 @@ +{% set version = "1.0.0" %} +{% set name = "tiberius" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/Gaius-Augustus/Tiberius/archive/refs/tags/v{{ version }}.tar.gz + sha256: 05fc993a72a1881bac2ec85ae412d2a186daf9d5a2bebb60237c8437b3a68da0 + +build: + number: 0 + noarch: python + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} + +requirements: + host: + - python + - pip + run: + - python >=3.7 + - pip + - tensorflow + - transformers + - pyBigWig + - biopython + - bcbio-gff + - requests + - jax + - jaxlib + +test: + commands: + - tiberius -h + +about: + home: https://github.com/Gaius-Augustus/Tiberius + license: MIT + license_file: LICENSE + summary: | + Tiberius is a programme for quantifying and analysing genetic sequence data. \ No newline at end of file diff --git a/recipes/tiddit/meta.yaml b/recipes/tiddit/meta.yaml index 554cfa9d18c05..f42bb5eb1f8a1 100644 --- a/recipes/tiddit/meta.yaml +++ b/recipes/tiddit/meta.yaml @@ -1,19 +1,21 @@ -{% set version = "3.6.1" %} +{% set name = "tiddit" %} +{% set version = "3.7.0" %} package: - name: tiddit - version: '{{ version }}' + name: {{ name }} + version: {{ version }} source: url: https://github.com/SciLifeLab/TIDDIT/archive/TIDDIT-{{ version }}.tar.gz - sha256: 0b88391f15b6bf854f6f62179c6a8c8c6cda8c87964259602ab8d42bc6dd5d0f + sha256: ae373b33e0036fbe5af7cd69e769c3c3fb869e28345a8e0067a0416e64ba76f6 build: number: 0 entry_points: - tiddit = tiddit.__main__:main - script: python -m pip install --no-deps --ignore-installed . - skip: True # [osx] + script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation --no-cache-dir . -vvv + run_exports: + - {{ pin_subpackage('tiddit', max_pin="x") }} requirements: build: @@ -23,10 +25,11 @@ requirements: - cython - numpy - pip + - pysam - joblib run: - python - - numpy + - {{ pin_compatible('numpy') }} - joblib - pysam - fermi2 @@ -36,12 +39,14 @@ requirements: test: commands: - tiddit --help - - fermi2 2>&1 | grep "^Usage:" - - ropebwt2 /dev/null 2>&1 | grep ropebwt2 - - bwa 2>&1 | grep "index sequences in the" about: home: https://github.com/SciLifeLab/TIDDIT - license: GPL-3.0-only + license: "GPL-3.0-only" + license_family: GPL3 license_file: LICENSE summary: "TIDDIT - structural variant calling" + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/tidehunter/build.sh b/recipes/tidehunter/build.sh index 2803d329bc27c..071658c53339f 100644 --- a/recipes/tidehunter/build.sh +++ b/recipes/tidehunter/build.sh @@ -1,11 +1,12 @@ -#!/bin/bash +#!/bin/bash -euo mkdir -p $PREFIX/bin pushd abPOA -make libabpoa INCLUDE="-I$PREFIX/include" CFLAGS="$CFLAGS -L$PREFIX/lib" +make libabpoa INCLUDE="-I$PREFIX/include" CFLAGS="$CFLAGS -O3 -L$PREFIX/lib" popd make CFLAGS="-Wall -O3 -Wno-unused-variable -Wno-unused-function -Wno-misleading-indentation -I$PREFIX/include -L$PREFIX/lib" -cp bin/TideHunter $PREFIX/bin +chmod 0755 bin/TideHunter +cp -f bin/TideHunter $PREFIX/bin diff --git a/recipes/tidehunter/meta.yaml b/recipes/tidehunter/meta.yaml index 999a89428138c..227c438e5450b 100644 --- a/recipes/tidehunter/meta.yaml +++ b/recipes/tidehunter/meta.yaml @@ -1,15 +1,18 @@ -{% set version = "1.5.4" %} +{% set name = "tidehunter" %} +{% set version = "1.5.5" %} package: - name: tidehunter + name: {{ name }} version: {{ version }} source: url: https://github.com/yangao07/TideHunter/releases/download/v{{ version }}/TideHunter-v{{ version }}.tar.gz - sha256: 052b3ebd92b9c794bfe93d0e406686ae3d77b01d537e7fa797be91438a50c567 + sha256: b4ba87f4500b24f47da98a06a1d1e185ef05764a7d747099148d898b6b6bc054 build: number: 2 + run_exports: + - {{ pin_subpackage('tidehunter', max_pin="x") }} requirements: build: @@ -26,5 +29,7 @@ test: about: home: https://github.com/yangao07/TideHunter license: MIT + license_family: MIT license_file: LICENSE summary: 'TideHunter: efficient and sensitive tandem repeat detection from noisy long reads using seed-and-chain' + dev_url: https://github.com/yangao07/TideHunter diff --git a/recipes/tides-ml/meta.yaml b/recipes/tides-ml/meta.yaml index c3a3d4bc436e8..dcb55a46afbe0 100644 --- a/recipes/tides-ml/meta.yaml +++ b/recipes/tides-ml/meta.yaml @@ -1,5 +1,5 @@ {% set name = "tides-ml" %} -{% set version = "1.1.2" %} +{% set version = "1.3.4" %} package: name: {{ name|lower }} @@ -7,33 +7,33 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/TIdeS-ML-{{ version }}.tar.gz - sha256: 17ad86b841d5e8fca4dbad58d114aa919d332a22190c7d002472ec6c1541609a + sha256: 6b4680a6b1ba98c7bc7db8530ff85f547f57892137ca233a32cdade367435d96 build: entry_points: - tides = tides.tides:main noarch: python - script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation number: 0 run_exports: - {{ pin_subpackage(name, max_pin="x.x") }} requirements: host: - - python >=3.8 + - python >=3.7,<=3.11 - pip run: - - python >=3.8 - - biopython >=1.79 - - ete3 >=3.1.2 - - optuna >=3.0 - - pandas >=2.0 - - seaborn >=0.12.2 - - scikit-learn >=1.3.0 - - diamond >=2.1.3 - - cd-hit >=4.8.1 - - barrnap >=0.9 - - kraken2 >=2.0.0 + - python >=3.7,<=3.11 + - biopython =1.79 + - ete3 =3.1.2 + - optuna =3.1 + - pandas =2.0 + - seaborn =0.12.2 + - scikit-learn =1.5.0 + - diamond =2.1 + - cd-hit =4.8 + - barrnap =0.9 + - kraken2 =2.1 test: imports: @@ -44,12 +44,12 @@ test: - (barrnap --help 2>&1; true) | grep -q Options - tides --help - kraken2 --version - about: home: https://github.com/xxmalcala/TIdeS summary: Tool for ORF-calling and ORF-classification using ML approaches license: MIT + license_family: MIT license_file: LICENSE extra: diff --git a/recipes/tidk/build.sh b/recipes/tidk/build.sh index 91ef98a0a298d..ea49437fb3a2f 100644 --- a/recipes/tidk/build.sh +++ b/recipes/tidk/build.sh @@ -1,21 +1,6 @@ -#!/bin/bash -e +#!/bin/bash -# taken from https://github.com/bioconda/bioconda-recipes/blob/25ee21573c577aa1ae899e0f7fbbc848d8a63865/recipes/longshot/build.sh - -# this build script is taken from the rust-bio-tools recipe -# https://github.com/bioconda/bioconda-recipes/blob/master/recipes/rust-bio-tools/build.sh - -# taken from yacrd recipe, see: https://github.com/bioconda/bioconda-recipes/blob/2b02c3db6400499d910bc5f297d23cb20c9db4f8/recipes/yacrd/build.sh -if [ "$(uname)" == "Darwin" ]; then - - # apparently the HOME variable isn't set correctly, and circle ci output indicates the following as the home directory - export HOME="/Users/distiller" - export HOME=`pwd` - - # according to https://github.com/rust-lang/cargo/issues/2422#issuecomment-198458960 removing circle ci default configuration solves cargo trouble downloading crates - #git config --global --unset url.ssh://git@github.com.insteadOf - -fi +set -xe # build statically linked binary with Rust -C_INCLUDE_PATH=$PREFIX/include LIBRARY_PATH=$PREFIX/lib cargo install --path . --root $PREFIX +C_INCLUDE_PATH=$PREFIX/include OPENSSL_DIR=$PREFIX LIBRARY_PATH=$PREFIX/lib cargo install --verbose --path . --root "${PREFIX}" --no-track diff --git a/recipes/tidk/meta.yaml b/recipes/tidk/meta.yaml index 6d4db203c6073..636b5da45dfd7 100644 --- a/recipes/tidk/meta.yaml +++ b/recipes/tidk/meta.yaml @@ -1,31 +1,33 @@ -{% set version = "0.2.41" %} +{% set version = "0.2.63" %} package: name: tidk version: {{ version }} build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage('tidk', max_pin="x.x") }} source: - url: https://github.com/tolkit/telomeric-identifier/archive/{{ version }}.tar.gz - sha256: 28cac3506d66ffc7ee37ff48a429663dde68aa23ba5d9b28ee0a6656aeea03d4 + url: https://github.com/tolkit/telomeric-identifier/archive/v{{ version }}.tar.gz + sha256: d6ba68e693523cd74607e63739a75e4cdbb71a621928d22a8ab2e1bc470963f6 requirements: build: - {{ compiler('c') }} - {{ compiler('cxx') }} + - {{ compiler('rust') }} - cmake - make - - rust >=1.52 - pkg-config # [osx] + host: + - openssl + test: commands: - - tidk --help - - tidk --version + - tidk -h about: home: https://github.com/tolkit/telomeric-identifier @@ -33,3 +35,8 @@ about: license_family: MIT summary: | Identify and find telomeres, or telomeric repeats in a genome. + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/tidyp/build.sh b/recipes/tidyp/build.sh index 6e31603e6254a..591e6774ea67f 100644 --- a/recipes/tidyp/build.sh +++ b/recipes/tidyp/build.sh @@ -1,7 +1,14 @@ #!/bin/bash +set -xe +mkdir -p ${HOME}/bin +export PATH="${HOME}/bin:$PATH" +ln -s ${CC} ${HOME}/bin/gcc -./configure --prefix="$PREFIX" +pushd build/gmake make -make install +popd + +mkdir -p ${PREFIX}/bin +cp ./bin/tidyp ${PREFIX}/bin diff --git a/recipes/tidyp/build_failure.linux-64.yaml b/recipes/tidyp/build_failure.linux-64.yaml deleted file mode 100644 index f3772fe0477fb..0000000000000 --- a/recipes/tidyp/build_failure.linux-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 5f54a99372501e5b639643248f525296d6bb59524021c5ff02d871c634b5787a # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - - environment location: /opt/conda/conda-bld/tidyp_1685392106059/_build_env - - - The following NEW packages will be INSTALLED: - - _libgcc_mutex: 0.1-conda_forge conda-forge - _openmp_mutex: 4.5-2_gnu conda-forge - binutils_impl_linux-64: 2.39-he00db2b_1 conda-forge - binutils_linux-64: 2.39-h5fc0e48_13 conda-forge - gcc_impl_linux-64: 12.2.0-hcc96c02_19 conda-forge - gcc_linux-64: 12.2.0-h4798a0e_13 conda-forge - kernel-headers_linux-64: 2.6.32-he073ed8_15 conda-forge - ld_impl_linux-64: 2.39-hcc3a1bd_1 conda-forge - libgcc-devel_linux-64: 12.2.0-h3b97bd3_19 conda-forge - libgcc-ng: 12.2.0-h65d4601_19 conda-forge - libgomp: 12.2.0-h65d4601_19 conda-forge - libsanitizer: 12.2.0-h46fd767_19 conda-forge - libstdcxx-ng: 12.2.0-h46fd767_19 conda-forge - make: 4.3-hd18ef5c_1 conda-forge - sysroot_linux-64: 2.12-he073ed8_15 conda-forge - - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - Source cache directory is: /opt/conda/conda-bld/src_cache - INFO:conda_build.source:Source cache directory is: /opt/conda/conda-bld/src_cache - Downloading source to cache: 1.04_5f09650411.tar.gz - INFO:conda_build.source:Downloading source to cache: 1.04_5f09650411.tar.gz - Downloading https://github.com/petdance/tidyp/archive/refs/tags/1.04.tar.gz - INFO:conda_build.source:Downloading https://github.com/petdance/tidyp/archive/refs/tags/1.04.tar.gz - Success - INFO:conda_build.source:Success - Extracting download - source tree in: /opt/conda/conda-bld/tidyp_1685392106059/work - export PREFIX=/opt/conda/conda-bld/tidyp_1685392106059/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho - export BUILD_PREFIX=/opt/conda/conda-bld/tidyp_1685392106059/_build_env - export SRC_DIR=/opt/conda/conda-bld/tidyp_1685392106059/work - INFO: activate-binutils_linux-64.sh made the following environmental changes: - ADDR2LINE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-addr2line - AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar - AS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-as - CXXFILT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cfilt - ELFEDIT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-elfedit - GPROF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gprof - LD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld - LD_GOLD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld.gold - NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-nm - OBJCOPY=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objcopy - OBJDUMP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objdump - RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib - READELF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-readelf - SIZE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-size - STRINGS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strings - STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip - INFO: activate-gcc_linux-64.sh made the following environmental changes: - BUILD=x86_64-conda-linux-gnu - CC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc - CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc - CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/tidyp-1.04 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix - CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH=$PREFIX;$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin - CMAKE_PREFIX_PATH=$PREFIX:$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot/usr - CONDA_BUILD_SYSROOT=$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot - CONDA_TOOLCHAIN_BUILD=x86_64-conda-linux-gnu - CONDA_TOOLCHAIN_HOST=x86_64-conda-linux-gnu - CPP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cpp - CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include - DEBUG_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/tidyp-1.04 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix - DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem $PREFIX/include - GCC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc - GCC_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar - GCC_NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-nm - GCC_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib - HOST=x86_64-conda-linux-gnu - LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib - MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib - _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_cos6_linux_gnu - build_alias=x86_64-conda-linux-gnu - host_alias=x86_64-conda-linux-gnu - -BUILD=x86_64-conda_cos6-linux-gnu - -CONDA_BUILD_SYSROOT= - /opt/conda/conda-bld/tidyp_1685392106059/work/conda_build.sh: line 8: ./configure: No such file or directory - Traceback (most recent call last): - File "/opt/conda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/conda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/tidyp_1685392106059/work/conda_build.sh']' returned non-zero exit status 1. -# Last 100 lines of the build log. diff --git a/recipes/tidyp/build_failure.osx-64.yaml b/recipes/tidyp/build_failure.osx-64.yaml deleted file mode 100644 index 030a7aa9ec7f5..0000000000000 --- a/recipes/tidyp/build_failure.osx-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 5f54a99372501e5b639643248f525296d6bb59524021c5ff02d871c634b5787a # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |2- - cctools_osx-64: 973.0.1-h48a5a9d_13 conda-forge - clang: 15.0.7-h694c41f_2 conda-forge - clang-15: 15.0.7-default_hdb78580_2 conda-forge - clang_osx-64: 15.0.7-h03d6864_3 conda-forge - clangxx: 15.0.7-default_hdb78580_2 conda-forge - compiler-rt: 15.0.7-he1888fc_1 conda-forge - compiler-rt_osx-64: 15.0.7-he1888fc_1 conda-forge - icu: 72.1-h7336db1_0 conda-forge - ld64_osx-64: 609-h8ce0179_13 conda-forge - libclang-cpp15: 15.0.7-default_hdb78580_2 conda-forge - libcxx: 16.0.4-hd57cbcb_0 conda-forge - libiconv: 1.17-hac89ed1_0 conda-forge - libllvm15: 15.0.7-he4b1e75_2 conda-forge - libxml2: 2.11.4-hd95e348_0 conda-forge - libzlib: 1.2.13-hfd90126_4 conda-forge - llvm-tools: 15.0.7-he4b1e75_2 conda-forge - make: 4.3-h22f3db7_1 conda-forge - openssl: 3.1.0-h8a1eda9_3 conda-forge - sigtool: 0.1.3-h88f4db0_0 conda-forge - tapi: 1100.0.11-h9ce4665_0 conda-forge - xz: 5.2.6-h775f41a_0 conda-forge - zstd: 1.5.2-hbc0c0cd_6 conda-forge - - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache - INFO:conda_build.source:Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache - INFO:conda_build.source:Downloading source to cache: 1.04_5f09650411.tar.gz - INFO:conda_build.source:Downloading https://github.com/petdance/tidyp/archive/refs/tags/1.04.tar.gz - Downloading source to cache: 1.04_5f09650411.tar.gz - Downloading https://github.com/petdance/tidyp/archive/refs/tags/1.04.tar.gz - Success - INFO:conda_build.source:Success - Extracting download - source tree in: /opt/mambaforge/envs/bioconda/conda-bld/tidyp_1685382282834/work - export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/tidyp_1685382282834/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol - export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/tidyp_1685382282834/_build_env - export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/tidyp_1685382282834/work - INFO: activate_clang_osx-64.sh made the following environmental changes: - AR=x86_64-apple-darwin13.4.0-ar - AS=x86_64-apple-darwin13.4.0-as - CC=x86_64-apple-darwin13.4.0-clang - CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/tidyp-1.04 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix - CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms - CLANG=x86_64-apple-darwin13.4.0-clang - CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin - CMAKE_PREFIX_PATH=:$PREFIX - CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 - CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 - CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 - DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/tidyp-1.04 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix - HOST=x86_64-apple-darwin13.4.0 - INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool - LD=x86_64-apple-darwin13.4.0-ld - LDFLAGS=-Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib - LDFLAGS_LD=-pie -headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib - LIBTOOL=x86_64-apple-darwin13.4.0-libtool - LIPO=x86_64-apple-darwin13.4.0-lipo - MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib - NM=x86_64-apple-darwin13.4.0-nm - NMEDIT=x86_64-apple-darwin13.4.0-nmedit - OBJC=x86_64-apple-darwin13.4.0-clang - OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - OTOOL=x86_64-apple-darwin13.4.0-otool - PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff - RANLIB=x86_64-apple-darwin13.4.0-ranlib - REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding - SDKROOT=/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk - SEGEDIT=x86_64-apple-darwin13.4.0-segedit - SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table - SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack - SIZE=x86_64-apple-darwin13.4.0-size - STRINGS=x86_64-apple-darwin13.4.0-strings - STRIP=x86_64-apple-darwin13.4.0-strip - _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 - ac_cv_func_malloc_0_nonnull=yes - ac_cv_func_realloc_0_nonnull=yes - build_alias=x86_64-apple-darwin13.4.0 - host_alias=x86_64-apple-darwin13.4.0 - /opt/mambaforge/envs/bioconda/conda-bld/tidyp_1685382282834/work/conda_build.sh: line 8: ./configure: No such file or directory - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/tidyp_1685382282834/work/conda_build.sh']' returned non-zero exit status 1. -# Last 100 lines of the build log. diff --git a/recipes/tidyp/meta.yaml b/recipes/tidyp/meta.yaml index e95b0d8d7be46..0ff496e43703c 100644 --- a/recipes/tidyp/meta.yaml +++ b/recipes/tidyp/meta.yaml @@ -7,7 +7,9 @@ source: sha256: 5f0965041119bed0ed70a7f0be39e8f0162141eea14d77f472b49f8b3303ab0b build: - number: 5 + number: 6 + run_exports: + - {{ pin_subpackage('tidyp', max_pin="x") }} requirements: build: @@ -20,5 +22,7 @@ about: summary: "Program for cleaning up and validating HTML" extra: + additional-platforms: + - linux-aarch64 skip-lints: - missing_tests diff --git a/recipes/tigmint/build.sh b/recipes/tigmint/build.sh index 3ac3bac6a3b56..061cabb433050 100644 --- a/recipes/tigmint/build.sh +++ b/recipes/tigmint/build.sh @@ -1,6 +1,10 @@ #!/bin/bash set -eux -o pipefail +if [[ ${target_platform} =~ linux.* ]]; then + export CXXFLAGS="${CXXFLAGS} -fopenmp" +fi + make -C src mkdir -p ${PREFIX}/bin/ diff --git a/recipes/tigmint/meta.yaml b/recipes/tigmint/meta.yaml index 5f68d655ca4f6..f7042d839b8b9 100644 --- a/recipes/tigmint/meta.yaml +++ b/recipes/tigmint/meta.yaml @@ -10,8 +10,10 @@ source: sha256: 8e7b5d424ff69d5da7b117bef9996463b02205078ce0fb6e3074ca6c9933efa9 build: - number: 1 - skip: True # [py<38] + number: 3 + skip: True #[(py>38 or py<38) and (arm64 or aarch64)] + run_exports: + - {{ pin_subpackage("tigmint", max_pin="x") }} requirements: @@ -48,15 +50,15 @@ test: about: home: https://bcgsc.github.io/tigmint/ - license: GNU General Public v3 (GPLv3) - license_family: GPL3 -# license_file: LICENSE + license: GPL-3.0 + license_file: LICENSE summary: Correct misassemblies using linked or long reads dev_url: https://github.com/bcgsc/tigmint doc_url: https://github.com/bcgsc/tigmint#readme extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - doi:10.1101/304253 - recipe-maintainers: - - sjackman diff --git a/recipes/tinyalign/meta.yaml b/recipes/tinyalign/meta.yaml index 2f93e3baeabb8..f9afc31f9b9f0 100644 --- a/recipes/tinyalign/meta.yaml +++ b/recipes/tinyalign/meta.yaml @@ -9,7 +9,7 @@ source: sha256: 9c6dc91ae4a886ab9369a106115add04c71fb62b45f706247d494e43ccf7a588 build: - number: 0 + number: 1 script: "{{ PYTHON }} -m pip install . --no-deps -vv" skip: True # [py < 37] run_exports: diff --git a/recipes/tiptoft/build_failure.linux-64.yaml b/recipes/tiptoft/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..bce002edc44d9 --- /dev/null +++ b/recipes/tiptoft/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: d64eb0afcb957606c8a2582ee382b367d9e63af84cd27659d25ad04659e40a2d # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + LD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld + LD_GOLD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld.gold + NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-nm + OBJCOPY=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objcopy + OBJDUMP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objdump + RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib + READELF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-readelf + SIZE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-size + STRINGS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strings + STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip + INFO: activate-gcc_linux-64.sh made the following environmental changes: + BUILD=x86_64-conda-linux-gnu + CC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/tiptoft-1.0.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH=$PREFIX;$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=$PREFIX:$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot/usr + CONDA_BUILD_SYSROOT=$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot + CONDA_TOOLCHAIN_BUILD=x86_64-conda-linux-gnu + CONDA_TOOLCHAIN_HOST=x86_64-conda-linux-gnu + CPP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cpp + CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include + DEBUG_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/tiptoft-1.0.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem $PREFIX/include + GCC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc + GCC_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar + GCC_NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-nm + GCC_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib + HOST=x86_64-conda-linux-gnu + LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_cos6_linux_gnu + build_alias=x86_64-conda-linux-gnu + host_alias=x86_64-conda-linux-gnu + -BUILD=x86_64-conda_cos6-linux-gnu + -CONDA_BUILD_SYSROOT= + Processing $SRC_DIR + Preparing metadata (setup.py): started + Preparing metadata (setup.py): finished with status 'done' + Building wheels for collected packages: tiptoft + Building wheel for tiptoft (setup.py): started + Building wheel for tiptoft (setup.py): finished with status 'error' + [1;31merror[0m: [1msubprocess-exited-with-error[0m + + [31m[0m [32mpython setup.py bdist_wheel[0m did not run successfully. + [31m[0m exit code: [1;36m1[0m + [31m>[0m [31m[30 lines of output][0m + [31m [0m running bdist_wheel + [31m [0m running build + [31m [0m running build_py + [31m [0m creating build + [31m [0m creating build/lib.linux-x86_64-cpython-311 + [31m [0m creating build/lib.linux-x86_64-cpython-311/tiptoft + [31m [0m copying tiptoft/TipToft.py -> build/lib.linux-x86_64-cpython-311/tiptoft + [31m [0m copying tiptoft/__init__.py -> build/lib.linux-x86_64-cpython-311/tiptoft + [31m [0m copying tiptoft/Gene.py -> build/lib.linux-x86_64-cpython-311/tiptoft + [31m [0m copying tiptoft/Kmers.py -> build/lib.linux-x86_64-cpython-311/tiptoft + [31m [0m copying tiptoft/Fastq.py -> build/lib.linux-x86_64-cpython-311/tiptoft + [31m [0m copying tiptoft/RefGenesGetter.py -> build/lib.linux-x86_64-cpython-311/tiptoft + [31m [0m copying tiptoft/Blocks.py -> build/lib.linux-x86_64-cpython-311/tiptoft + [31m [0m copying tiptoft/TipToftDatabaseDownloader.py -> build/lib.linux-x86_64-cpython-311/tiptoft + [31m [0m copying tiptoft/Fasta.py -> build/lib.linux-x86_64-cpython-311/tiptoft + [31m [0m copying tiptoft/InputTypes.py -> build/lib.linux-x86_64-cpython-311/tiptoft + [31m [0m copying tiptoft/Read.py -> build/lib.linux-x86_64-cpython-311/tiptoft + [31m [0m creating build/lib.linux-x86_64-cpython-311/tiptoft/data + [31m [0m copying tiptoft/data/20180928.txt -> build/lib.linux-x86_64-cpython-311/tiptoft/data + [31m [0m copying tiptoft/data/plasmid_data.tsv -> build/lib.linux-x86_64-cpython-311/tiptoft/data + [31m [0m copying tiptoft/data/plasmid_data.fa -> build/lib.linux-x86_64-cpython-311/tiptoft/data + [31m [0m running build_ext + [31m [0m building 'homopolymer_compression' extension + [31m [0m creating build/temp.linux-x86_64-cpython-311 + [31m [0m /opt/conda/conda-bld/tiptoft_1717683962987/_build_env/bin/x86_64-conda-linux-gnu-cc -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/conda/conda-bld/tiptoft_1717683962987/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include -fPIC -O2 -isystem /opt/conda/conda-bld/tiptoft_1717683962987/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /opt/conda/conda-bld/tiptoft_1717683962987/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include -fdebug-prefix-map=/opt/conda/conda-bld/tiptoft_1717683962987/work=/usr/local/src/conda/tiptoft-1.0.2 -fdebug-prefix-map=/opt/conda/conda-bld/tiptoft_1717683962987/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place=/usr/local/src/conda-prefix -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /opt/conda/conda-bld/tiptoft_1717683962987/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include -fPIC -I/opt/conda/conda-bld/tiptoft_1717683962987/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/python3.11 -c homopolymer_compression.c -o build/temp.linux-x86_64-cpython-311/homopolymer_compression.o + [31m [0m homopolymer_compression.c:193:12: fatal error: longintrepr.h: No such file or directory + [31m [0m 193 | #include "longintrepr.h" + [31m [0m | ^~~~~~~~~~~~~~~ + [31m [0m compilation terminated. + [31m [0m error: command '/opt/conda/conda-bld/tiptoft_1717683962987/_build_env/bin/x86_64-conda-linux-gnu-cc' failed with exit code 1 + [31m [0m [31m[end of output][0m + + [1;35mnote[0m: This error originates from a subprocess, and is likely not a problem with pip. + [31m ERROR: Failed building wheel for tiptoft[0m[31m + [0m Running setup.py clean for tiptoft + Failed to build tiptoft + [31mERROR: Could not build wheels for tiptoft, which is required to install pyproject.toml-based projects[0m[31m + [0mTraceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/tiptoft_1717683962987/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/tiptoft/build_failure.osx-64.yaml b/recipes/tiptoft/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..aecfd9c26e122 --- /dev/null +++ b/recipes/tiptoft/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: d64eb0afcb957606c8a2582ee382b367d9e63af84cd27659d25ad04659e40a2d # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + copying tiptoft/Kmers.py -> build/lib.macosx-10.9-x86_64-cpython-312/tiptoft + copying tiptoft/RefGenesGetter.py -> build/lib.macosx-10.9-x86_64-cpython-312/tiptoft + copying tiptoft/__init__.py -> build/lib.macosx-10.9-x86_64-cpython-312/tiptoft + copying tiptoft/Fastq.py -> build/lib.macosx-10.9-x86_64-cpython-312/tiptoft + copying tiptoft/TipToft.py -> build/lib.macosx-10.9-x86_64-cpython-312/tiptoft + copying tiptoft/TipToftDatabaseDownloader.py -> build/lib.macosx-10.9-x86_64-cpython-312/tiptoft + copying tiptoft/InputTypes.py -> build/lib.macosx-10.9-x86_64-cpython-312/tiptoft + copying tiptoft/Gene.py -> build/lib.macosx-10.9-x86_64-cpython-312/tiptoft + copying tiptoft/Blocks.py -> build/lib.macosx-10.9-x86_64-cpython-312/tiptoft + copying tiptoft/Fasta.py -> build/lib.macosx-10.9-x86_64-cpython-312/tiptoft + copying tiptoft/Read.py -> build/lib.macosx-10.9-x86_64-cpython-312/tiptoft + creating build/lib.macosx-10.9-x86_64-cpython-312/tiptoft/data + copying tiptoft/data/plasmid_data.fa -> build/lib.macosx-10.9-x86_64-cpython-312/tiptoft/data + copying tiptoft/data/20180928.txt -> build/lib.macosx-10.9-x86_64-cpython-312/tiptoft/data + copying tiptoft/data/plasmid_data.tsv -> build/lib.macosx-10.9-x86_64-cpython-312/tiptoft/data + running build_ext + building 'homopolymer_compression' extension + creating build/temp.macosx-10.9-x86_64-cpython-312 + x86_64-apple-darwin13.4.0-clang -fno-strict-overflow -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/mambaforge/envs/bioconda/conda-bld/tiptoft_1717629899359/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include -fPIC -O2 -isystem /opt/mambaforge/envs/bioconda/conda-bld/tiptoft_1717629899359/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem /opt/mambaforge/envs/bioconda/conda-bld/tiptoft_1717629899359/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include -fdebug-prefix-map=/opt/mambaforge/envs/bioconda/conda-bld/tiptoft_1717629899359/work=/usr/local/src/conda/tiptoft-1.0.2 -fdebug-prefix-map=/opt/mambaforge/envs/bioconda/conda-bld/tiptoft_1717629899359/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem /opt/mambaforge/envs/bioconda/conda-bld/tiptoft_1717629899359/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include -mmacosx-version-min=10.9 -I/opt/mambaforge/envs/bioconda/conda-bld/tiptoft_1717629899359/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/python3.12 -c homopolymer_compression.c -o build/temp.macosx-10.9-x86_64-cpython-312/homopolymer_compression.o + homopolymer_compression.c:193:12: fatal error: 'longintrepr.h' file not found + #include "longintrepr.h" + ^~~~~~~~~~~~~~~ + 1 error generated. + error: command '/opt/mambaforge/envs/bioconda/conda-bld/tiptoft_1717629899359/_build_env/bin/x86_64-apple-darwin13.4.0-clang' failed with exit code 1 + [end of output] + + note: This error originates from a subprocess, and is likely not a problem with pip. + ERROR: Failed building wheel for tiptoft + ERROR: Could not build wheels for tiptoft, which is required to install pyproject.toml-based projects + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/tiptoft_1717629899359/work + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/tiptoft_1717629899359/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/tiptoft_1717629899359/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/tiptoft_1717629899359/work + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/tiptoft-1.0.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/tiptoft_1717629899359/work/conda_build.sh']' returned non-zero exit status 1. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/tiptoft-1.0.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + Processing $SRC_DIR + Preparing metadata (setup.py): started + Preparing metadata (setup.py): finished with status 'done' + Building wheels for collected packages: tiptoft + Building wheel for tiptoft (setup.py): started + Building wheel for tiptoft (setup.py): finished with status 'error' + Running setup.py clean for tiptoft + Failed to build tiptoft +# Last 100 lines of the build log. diff --git a/recipes/tiptoft/meta.yaml b/recipes/tiptoft/meta.yaml index 5c3827172cedd..53ad6045c39cb 100644 --- a/recipes/tiptoft/meta.yaml +++ b/recipes/tiptoft/meta.yaml @@ -10,7 +10,7 @@ source: sha256: {{ hash_value }} build: - number: 4 + number: 5 skip: True # [py<30] script: python -m pip install --no-deps --ignore-installed . diff --git a/recipes/tir-learner/build.sh b/recipes/tir-learner/build.sh new file mode 100644 index 0000000000000..6c3cf59227f02 --- /dev/null +++ b/recipes/tir-learner/build.sh @@ -0,0 +1,15 @@ +#!/bin/sh +set -x -e + +TIR_LEARNER_DIR=${PREFIX}/share/TIR-Learner3 + +mkdir -p ${PREFIX}/bin +mkdir -p ${TIR_LEARNER_DIR} +cp -r TIR-Learner3/* ${TIR_LEARNER_DIR} + +cat <>${PREFIX}/bin/TIR-Learner +#!/bin/bash +python3 ${TIR_LEARNER_DIR}/TIR-Learner.py \$@ +END + +chmod a+x ${PREFIX}/bin/TIR-Learner diff --git a/recipes/tir-learner/meta.yaml b/recipes/tir-learner/meta.yaml new file mode 100644 index 0000000000000..4bf29c104fcc1 --- /dev/null +++ b/recipes/tir-learner/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "TIR-Learner" %} +{% set version = "3.0.3" %} +{% set sha256 = "cf91397cb693439857c34b358b68ee6d110324d926e9dda76b8af00faea85bf5" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: https://github.com/lutianyu2001/TIR-Learner/archive/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage('tir-learner', max_pin='x') }} + +requirements: + run: + - genericrepeatfinder + - genometools-genometools + - blast + - biopython + - scikit-learn >=1.3 + - pandas + - multiprocess + - regex + - pytorch + - keras >=3.3.3 + - swifter + +test: + commands: + - TIR-Learner --version + - TIR-Learner --help + +about: + home: https://github.com/lutianyu2001/TIR-Learner + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE + summary: An ensemble pipeline for terminal inverted repeat (TIR) transposable elements annotation + dev_url: https://github.com/lutianyu2001/TIR-Learner + # doc_url: https://github.com/lutianyu2001/TIR-Learner/blob/main/docs/TIR-Learner%20v3%20flow%20chart_v2.drawio.png + +extra: + identifiers: + # - doi:10.1016/j.molp.2019.02.008 + - doi:10.6084/m9.figshare.26082574.v1 diff --git a/recipes/tissuumaps/meta.yaml b/recipes/tissuumaps/meta.yaml index 8763cabd920d0..ae769341e2447 100644 --- a/recipes/tissuumaps/meta.yaml +++ b/recipes/tissuumaps/meta.yaml @@ -4,7 +4,7 @@ # - add pyqt6 (or possibly pyqt>=6) dependency # Until then, only the "tissuumaps_server" script is available, not "tissuumaps" -{% set version = "3.2" %} +{% set version = "3.2.1.10" %} package: name: tissuumaps @@ -12,7 +12,7 @@ package: source: url: https://github.com/TissUUmaps/TissUUmaps/archive/refs/tags/{{ version }}.tar.gz - sha256: 82ecde593a748ac7e0a438d6322e026405b6a758dbdcb83b1fc81d2c7b13a1e2 + sha256: 126537079ea9fef743b0d2575d4e6cafac1351c465de7bbf0b0ec2b080748e34 build: number: 0 @@ -42,7 +42,8 @@ test: about: home: https://tissuumaps.research.it.uu.se/ - license: GPLv3 + license: MIT + license_file: LICENSE summary: > TissUUmaps is a lightweight viewer that uses basic web tools to visualize gene expression data or any kind of point data on top of whole slide images diff --git a/recipes/tksm/meta.yaml b/recipes/tksm/meta.yaml index 1d3bc532de1b6..33ed879f901ef 100644 --- a/recipes/tksm/meta.yaml +++ b/recipes/tksm/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.3.2" %} -{% set sha256 = "e965a8e932698570b6bc7c2ea15ebecaf7e0a50985c26cf87ece7869eaf44c83" %} +{% set version = "0.6.1" %} +{% set sha256 = "20a206258ea778c73d94645596fb484723382adeb5b66a8d6ae0f2379603b993" %} package: name: tksm @@ -10,24 +10,27 @@ source: sha256: {{ sha256 }} build: - number: 0 - skip: True # [py<3.8 or osx] + number: 1 + skip: True # [py < 3.8 or osx] + run_exports: + - {{ pin_subpackage('tksm', max_pin="x.x") }} requirements: build: + - python - {{ compiler('cxx') }} - - python {{ python }} - - zlib - make - vim - lld + - nlohmann_json host: - - python {{ python }} + - python - zlib + - nlohmann_json - cxxopts >=3.1.0 - fmt >=9.1.0 run: - - python {{ python }} + - python - zlib - python-edlib - numpy @@ -37,11 +40,14 @@ requirements: test: commands: + - tksm list - tksm sequence --help - + - tksm abundance --help + - tksm model-truncation --help about: home: https://github.com/vpc-ccg/tksm license: MIT + license_family: MIT license_file: LICENSE summary: Very modular, very cool long-read transcriptomic simulator diff --git a/recipes/tmhg/meta.yaml b/recipes/tmhg/meta.yaml new file mode 100644 index 0000000000000..4c9862644ea4b --- /dev/null +++ b/recipes/tmhg/meta.yaml @@ -0,0 +1,51 @@ +{% set name = "tmhg" %} +{% set version = "1.0.3" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: 'https://github.com/yongze-yin/tMHG-Finder/archive/refs/tags/v{{version}}.tar.gz' + sha256: 21046a4bab493271c82ede7432b74d7d5cacd68ee586e7be88118d7f74bd5b46 + +build: + run_exports: + - {{ pin_subpackage('tmhg', max_pin="x") }} + noarch: python + number: 0 + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + entry_points: + - tmhgf = tmhgf.tMHGFinder:main + +requirements: + host: + - python >=3.7 + - pip + run: + - python >=3.7 + - biopython + - blast + - dendropy + - numpy >=1.11 + - pandas >=1.1.3 + - networkx + - biopython + - bedtools >=2.31.1 + - pathos + - mash + - mafft + +test: + commands: + - tmhgf find --help + - tmhgf add --help + +about: + home: "https://github.com/yongze-yin/tMHG-Finder" + license: MIT + license_family: MIT + license_file: LICENSE + summary: tMHG-Finder is a tree-guided tool to partition whole genomes into maximal homologous groups. + dev_url: "https://github.com/yongze-yin/tMHG-Finder" + diff --git a/recipes/tn93/meta.yaml b/recipes/tn93/meta.yaml index dd24eb3675cba..4c2f9e895ef64 100644 --- a/recipes/tn93/meta.yaml +++ b/recipes/tn93/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.0.12" %} +{% set version = "1.0.14" %} package: name: tn93 @@ -6,7 +6,7 @@ package: source: url: https://github.com/veg/tn93/archive/v{{ version }}.tar.gz - sha256: d60281b1b4375bff585bcfae57be6938606500a656682249da3e10ce222b889d + sha256: 0cdd456070a7103cf264a96e2228611bd1188161dec2666e0896bcd655c40f38 build: number: 0 @@ -32,3 +32,8 @@ about: license_family: MIT license_file: LICENSE summary: This is a simple program meant to compute pairwise distances between aligned nucleotide sequences in sequential FASTA format using the Tamura Nei 93 distance. + +extra: + identifiers: + - biotools:tn93 + - doi:10.1093/molbev/msy016 diff --git a/recipes/tntblast/2.4/build.sh b/recipes/tntblast/2.4/build.sh new file mode 100644 index 0000000000000..9faf1b0cc953d --- /dev/null +++ b/recipes/tntblast/2.4/build.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +sed -i.bak 's/-DUSE_MPI//g' Makefile +sed -i.bak '/BLAST_DIR =/d' Makefile + +export INCLUDE_PATH="${BUILD_PREFIX}/include" +export LIBRARY_PATH="${BUILD_PREFIX}/lib" +export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${BUILD_PREFIX}/lib" + +export LDFLAGS="-lm -lz -L${BUILD_PREFIX}/lib" +export CPPFLAGS="-I${BUILD_PREFIX}/include" + +make CC="${CXX}" INC="${CPPFLAGS}" LIBS="${LDFLAGS}" all + +mkdir -p $PREFIX/bin +cp tntblast $PREFIX/bin diff --git a/recipes/tntblast/2.4/meta.yaml b/recipes/tntblast/2.4/meta.yaml new file mode 100644 index 0000000000000..c4f641810f439 --- /dev/null +++ b/recipes/tntblast/2.4/meta.yaml @@ -0,0 +1,48 @@ +{% set name = "tntblast" %} +{% set version = "2.4" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage( name|lower, max_pin="x") }} + +source: + url: https://github.com/jgans/thermonucleotideBLAST/archive/61fee4458186cc3f08ec386e18997b5953d5c7e6.zip + sha256: 5a239413a2df7de59d9a28a1bee962e2480b81d5faed3ecfa1e0f9fd84294c0c + +requirements: + build: + - make + - {{ compiler('cxx') }} + - openmp #[linux] + - llvm-openmp #[osx] + - zlib + host: + - openmp #[linux] + - llvm-openmp #[osx] + - zlib + run: + - openmp #[linux] + - llvm-openmp #[osx] + - zlib + +test: + commands: + - '{ tntblast 2>&1 || true; } | grep v.{{ version }}' + +about: + home: https://github.com/jgans/thermonucleotideBLAST + license: BSD License + license_file: LICENSE + license_family: BSD + summary: Searching DNA/RNA sequence databases with PCR and/or probe queries + dev_url: https://github.com/jgans/thermonucleotideBLAST + doc_url: https://github.com/jgans/thermonucleotideBLAST#readme + +extra: + identifiers: + - doi:10.1093/nar/gkn301 diff --git a/recipes/tntblast/build.sh b/recipes/tntblast/build.sh new file mode 100644 index 0000000000000..31f9a2bcebb87 --- /dev/null +++ b/recipes/tntblast/build.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +sed -i.bak '/BLAST_DIR =/d' Makefile + +export INCLUDE_PATH="${BUILD_PREFIX}/include" +export LIBRARY_PATH="${BUILD_PREFIX}/lib" +export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${BUILD_PREFIX}/lib" + +export LDFLAGS="-lm -lz -L${BUILD_PREFIX}/lib" +export CPPFLAGS="-I${BUILD_PREFIX}/include" + +export CXX="${BUILD_PREFIX}/bin/mpicxx" + +make CC="${CXX}" INC="${CPPFLAGS}" LIBS="${LDFLAGS}" all + +mkdir -p $PREFIX/bin +cp tntblast $PREFIX/bin diff --git a/recipes/tntblast/meta.yaml b/recipes/tntblast/meta.yaml new file mode 100644 index 0000000000000..e10695d06f338 --- /dev/null +++ b/recipes/tntblast/meta.yaml @@ -0,0 +1,51 @@ +{% set name = "tntblast" %} +{% set version = "2.66" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage( name|lower, max_pin="x") }} + +source: + url: https://github.com/jgans/thermonucleotideBLAST/archive/refs/tags/v{{ version }}.tar.gz + sha256: 46f4ea4a1a8c3fe1a659cd54da847fd66c6a588d643d90be814412078b92da9e + +requirements: + build: + - make + - {{ compiler('cxx') }} + - mpich + - openmp #[linux] + - llvm-openmp #[osx] + - zlib + host: + - openmp #[linux] + - llvm-openmp #[osx] + - mpich + - zlib + run: + - openmp #[linux] + - llvm-openmp #[osx] + - mpich + - zlib + +test: + commands: + - '{ tntblast 2>&1 || true; } | grep v.{{ version }}' + +about: + home: https://github.com/jgans/thermonucleotideBLAST + license: BSD License + license_file: LICENSE + license_family: BSD + summary: Searching DNA/RNA sequence databases with PCR and/or probe queries + dev_url: https://github.com/jgans/thermonucleotideBLAST + doc_url: https://github.com/jgans/thermonucleotideBLAST#readme + +extra: + identifiers: + - doi:10.1093/nar/gkn301 diff --git a/recipes/tobias/build_failure.osx-64.yaml b/recipes/tobias/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..f47826a03c2a2 --- /dev/null +++ b/recipes/tobias/build_failure.osx-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: fd2f56c64b4fe9cdd52bb0038f4f3b522df14f7c8557b4cf9427fee88c66bea8 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: compiler error +log: |2- + ERROR: Failed building wheel for tobias + ERROR: Could not build wheels for tobias, which is required to install pyproject.toml-based projects + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/tobias_1718205251034/work + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/tobias_1718205251034/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/tobias_1718205251034/_build_env + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/tobias_1718205251034/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/tobias_1718205251034/work/conda_build.sh']' returned non-zero exit status 1. + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/tobias-0.16.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/tobias-0.16.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + Using pip 24.0 from $PREFIX/lib/python3.12/site-packages/pip (python 3.12) + Non-user install because user site-packages disabled + Ignoring indexes: https://pypi.org/simple + Created temporary directory: /private/tmp/pip-build-tracker-gr863o_8 + Initialized build tracking at /private/tmp/pip-build-tracker-gr863o_8 + Created build tracker: /private/tmp/pip-build-tracker-gr863o_8 + Entered build tracker: /private/tmp/pip-build-tracker-gr863o_8 + Created temporary directory: /private/tmp/pip-install-2n_t78tp + Created temporary directory: /private/tmp/pip-ephem-wheel-cache-_q8qaso5 + Processing $SRC_DIR + Added file://$SRC_DIR to build tracker '/private/tmp/pip-build-tracker-gr863o_8' + Created temporary directory: /private/tmp/pip-modern-metadata-2xqken65 + Preparing metadata (pyproject.toml): started + Preparing metadata (pyproject.toml): finished with status 'done' + Source in $SRC_DIR has version 0.16.1, which satisfies requirement tobias==0.16.1 from file://$SRC_DIR + Removed tobias==0.16.1 from file://$SRC_DIR from build tracker '/private/tmp/pip-build-tracker-gr863o_8' + Created temporary directory: /private/tmp/pip-unpack-pkeotrt5 + Building wheels for collected packages: tobias + Created temporary directory: /private/tmp/pip-wheel-s259fm0q + Destination directory: /private/tmp/pip-wheel-s259fm0q + Building wheel for tobias (pyproject.toml): started + Building wheel for tobias (pyproject.toml): finished with status 'error' + Failed to build tobias + Exception information: + Traceback (most recent call last): + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper + status = run_func(*args) + ^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper + return func(self, options, args) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "$PREFIX/lib/python3.12/site-packages/pip/_internal/commands/install.py", line 429, in run + raise InstallationError( + pip._internal.exceptions.InstallationError: Could not build wheels for tobias, which is required to install pyproject.toml-based projects + Removed build tracker: '/private/tmp/pip-build-tracker-gr863o_8' +# Last 100 lines of the build log. diff --git a/recipes/tobias/meta.yaml b/recipes/tobias/meta.yaml index ed930427d0581..b5ed3996c99f2 100644 --- a/recipes/tobias/meta.yaml +++ b/recipes/tobias/meta.yaml @@ -1,6 +1,6 @@ {% set name = "TOBIAS" %} -{% set version = "0.16.0" %} -{% set sha256 = "db44f1b06d733882ca8bef1dcc8fcb374230ce2ab720f534811915452e05d25c" %} +{% set version = "0.17.0" %} +{% set sha256 = "b0965abcbe1cee6a8bf85c01b4ebcf49c678a4cf1f961855e60152d9ade6bd18" %} package: name: {{ name|lower }} @@ -12,10 +12,11 @@ source: build: number: 0 - skip: True # [py < 37] - script: {{ PYTHON }} -m pip install . --use-pep517 --no-deps -vv + script: {{ PYTHON }} -m pip install . --use-pep517 --no-deps --no-build-isolation -vvv entry_points: - TOBIAS=tobias.TOBIAS:main + run_exports: + - {{ pin_subpackage('tobias', max_pin="x.x") }} requirements: build: @@ -58,6 +59,7 @@ about: home: 'https://github.com/loosolab/TOBIAS' summary: 'Transcription factor Occupancy prediction By Investigation of ATAC-seq Signal' license: MIT + license_family: MIT license_file: LICENSE doc_url: 'https://github.com/loosolab/TOBIAS/wiki' dev_url: 'https://pypi.org/project/tobias/' diff --git a/recipes/toil/meta.yaml b/recipes/toil/meta.yaml index 6baaf6c98595c..8b0e7b731b283 100644 --- a/recipes/toil/meta.yaml +++ b/recipes/toil/meta.yaml @@ -1,6 +1,6 @@ {% set name = "toil" %} -{% set version = "5.12.0" %} -{% set sha256 = "fb21c85b8654b0e628087ebd403fa5f53644d86a33a4c1e039ba5769dcaf6654" %} +{% set version = "7.0.0" %} +{% set sha256 = "c3f4e9567754f5ad6fe56b90913b7c1c9aaade32b545502a483cd57f70f24777" %} package: name: {{ name|lower }} @@ -13,35 +13,37 @@ source: build: number: 0 noarch: python - script: {{ PYTHON }} -m pip install . --use-pep517 --no-deps -vvv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} entry_points: - toil = toil.utils.toilMain:main - _toil_worker = toil.worker:main - toil-cwl-runner = toil.cwl.cwltoil:main [cwl] - toil-wdl-runner = toil.wdl.wdltoil:main [wdl] - - toil-wdl-runner-old = toil.wdl.toilwdl:main [wdl] - toil-wes-cwl-runner = toil.server.cli.wes_cwl_runner:main [server] - _toil_mesos_executor = toil.batchSystems.mesos.executor:main [mesos] - _toil_contained_executor = toil.batchSystems.contained_executor:executor requirements: host: - - python >=3.7 + - python >=3.8 - pip run: - - python >=3.7 - - dill >=0.3.2 - - requests >=2 - - docker-py >=3.7.2,<6 - - urllib3 >=1.26.0 + - python >=3.8 + - dill >=0.3.2,<0.4 + - requests >=2,<3 + - docker-py >=3.7.2,<8 + - urllib3 >=1.26.0,<3 - python-dateutil - - psutil >=3.0.1 - # - py-tes >=0.4.2,<1 - - pypubsub >=4.0.3 - - addict >=2.2.1 + - psutil >=3.0.1,<6 + - pypubsub >=4.0.3,<5 + - addict >=2.2.1,<2.5 - pytz >=2012 - - enlighten >=1.5.2 - - typing-extensions + - enlighten >=1.5.2,<2 + - configargparse >=1.7,<2 + - typing-extensions >=4.6.2,<5 + - pyyaml >=6,<7 #mesos pymesos isn't available #server reqs # - wes-service is missing @@ -49,15 +51,16 @@ requirements: # - connexion >=2.10.0, <3 # - flask >=2.0,<3 # - werkzeug >=2.0,<3 - # - flask-cors ==3.0.10 - # - gunicorn ==20.1.0 + # - flask-cors ==4.0.0 + # - gunicorn ==21.2.0 # - celery >=5.1.0, <6 #aws reqs # mypy-boto3-{iam,sdb} are not yet in Conda # - boto >=2.48.0, <3 # - boto3 >=1.20.46,<2.0 # - boto3-stubs ==1.24.0 - # - mypy-boto3-s3 ==1.24.0 + - botocore + - mypy-boto3-s3 # - mypy-boto3-sdb ==1.24.0 # - mypy-boto3-iam ==1.24.0 #encryption reqs @@ -66,20 +69,19 @@ requirements: - apache-libcloud >=2.2.1 - google-cloud-storage >=2,<=2.8.0 #cwl reqs - - cwltool ==3.1.20230601100705 + - cwltool ==3.1.20240112164112 - schema-salad >=8.4.20230128170514 - - galaxy-tool-util - - ruamel.yaml >=0.15,<=0.17.21 + - galaxy-tool-util <23 + - ruamel.yaml >=0.15,<=0.18.3 - ruamel.yaml.clib >=0.2.6 - - networkx >=2,<2.8.9 + - networkx <4 #htcondor reqs - python-htcondor >=10.2.0.post1 #kubernetes reqs - python-kubernetes >=12.0.1,<22 - idna >=2 #wdl reqs - # - wdlparse ==0.1.0 # not yet packaged for Conda - - mock >=4.0.3 + - miniwdl ==1.11.1 test: imports: @@ -106,9 +108,10 @@ test: - toil-cwl-runner --help about: - home: 'http://toil.ucsc-cgl.org/' + home: 'https://toil.ucsc-cgl.org/' summary: 'A scalable, efficient, cross-platform and easy-to-use workflow engine in pure Python' dev_url: 'https://github.com/DataBiosphere/toil' doc_url: 'https://toil.readthedocs.io/en/latest/' license: Apache-2.0 + license_family: APACHE license_file: LICENSE diff --git a/recipes/tooldistillator/meta.yaml b/recipes/tooldistillator/meta.yaml new file mode 100644 index 0000000000000..286e22cf02b85 --- /dev/null +++ b/recipes/tooldistillator/meta.yaml @@ -0,0 +1,83 @@ +{% set version = "0.9.1" %} +{% set sha256 = "54e107b0ffa3bde988ca9a77cb3c74111f463f33b8c161c652990953a4cdc4c2" %} + +context: {} + +package: + name: tooldistillator + version: '{{ version }}' + +source: + url: https://gitlab.com/ifb-elixirfr/abromics/tooldistillator/-/archive/{{ version }}/tooldistillator-{{ version }}.tar.gz + sha256: {{ sha256 }} +build: + noarch: python + number: 0 + script: python -m pip install --no-deps --ignore-installed . + entry_points: + - tooldistillator = tooldistillator.main:main + run_exports: + - {{ pin_subpackage('tooldistillator', max_pin='x.x') }} + +requirements: + host: + - python >=3.10 + - pip >=23.1.2 + run: + - pandas + - biopython + - python + - ld_impl_linux-64 + - _libgcc_mutex + - libstdcxx-ng + - python_abi + - ca-certificates + - libgfortran5 + - libgomp + - libgfortran-ng + - _openmp_mutex + - libgcc-ng + - libopenblas + - openssl + - xz + - ncurses + - libnsl + - libffi + - bzip2 + - libzlib + - libblas + - readline + - tk + - libsqlite + - libcblas + - liblapack + - tzdata + - wheel + - setuptools + - pip + - six + - pytz + - python-tzdata + - python-dateutil + - numpy + +test: + commands: + - tooldistillator --help + - tooldistillator --version + - tooldistillator abricate --help + +about: + dev_url: https://gitlab.com/ifb-elixirfr/abromics/tooldistillator + doc_url: https://gitlab.com/ifb-elixirfr/abromics/tooldistillator/-/blob/main/docs/_build/html/index.html + home: https://gitlab.com/ifb-elixirfr/abromics + license: GPLv3 + license_family: GPL + license_file: LICENSE.txt + summary: Tool to extract and aggregate information from different tool outputs to JSON parsable files + +extra: + recipe-maintainers: + - bebatut + - clsiguret + diff --git a/recipes/toulligqc/meta.yaml b/recipes/toulligqc/meta.yaml index 2cdff47f0734c..6283ba23ae3bd 100644 --- a/recipes/toulligqc/meta.yaml +++ b/recipes/toulligqc/meta.yaml @@ -1,5 +1,5 @@ {% set name = "toulligqc" %} -{% set version = "2.5" %} +{% set version = "2.7.1" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 8c8f5406e8f8dbfaa260ef446b08875a337ef3201dbaad6c8a4e0fa5cbf42f85 + sha256: 243eea4259e83ff0570e70b65b3b406212fe51356e9e376ab3ff5a27258d46ac build: number: 0 @@ -20,20 +20,21 @@ build: requirements: host: + - python >=3.11 - pip - - python >=3.8 run: - - h5py >=2.10 - - matplotlib-base >=3.1.2 - - numpy >=1.17.4 - - scipy >=1.3.3 - - pandas >=0.25.3 - - plotly >=4.5.0 - - pysam - - python >=3.8 - - seaborn >=0.10 - - scikit-learn >=0.22 - - tqdm + - h5py >=3.10.0 + - matplotlib-base >=3.6.3 + - numpy >=1.26.4 + - scipy >=1.11.4 + - pandas >=2.1.4 + - plotly >=5.15.0 + - pysam >=0.22.0 + - python >=3.11 + - scikit-learn >=1.4.1 + - tqdm >=4.66.2 + - pod5 >=0.3.15 + #- ezcharts ==0.7.6 test: imports: @@ -42,6 +43,14 @@ test: - toulligqc --help about: - home: https://github.com/GenomicParisCentre/toulligQC - license: CECILL-2.1 - summary: A post sequencing QC tool for Oxford Nanopore sequencers + home: "https://github.com/GenomicParisCentre/toulligQC" + license: "GPL-3.0-or-later" + license_family: GPL3 + license_file: "LICENSE.txt" + summary: "A post sequencing QC tool for Oxford Nanopore sequencers." + dev_url: "https://github.com/GenomicParisCentre/toulligQC" + doc_url: "https://github.com/GenomiqueENS/toulligQC/blob/v{{ version }}/README.md" + +extra: + identifiers: + - biotools:ToulligQC diff --git a/recipes/tower-cli/build.sh b/recipes/tower-cli/build.sh index 575b16556dc43..e2dd716479b3c 100644 --- a/recipes/tower-cli/build.sh +++ b/recipes/tower-cli/build.sh @@ -1,4 +1,11 @@ #!/bin/bash -mkdir -p $PREFIX/bin -cp $SRC_DIR/tw $PREFIX/bin/tw -chmod 755 $PREFIX/bin/tw + +TGT="$PREFIX/share/$PKG_NAME-$PKG_VERSION-$PKG_BUILDNUM" +[ -d "$TGT" ] || mkdir -p "$TGT" +[ -d "${PREFIX}/bin" ] || mkdir -p "${PREFIX}/bin" + +cp -p "$SRC_DIR"/*.jar "$TGT" + +cp $RECIPE_DIR/tw.sh $TGT/tw +ln -s $TGT/tw $PREFIX/bin +chmod 0755 "${PREFIX}/bin/tw" diff --git a/recipes/tower-cli/meta.yaml b/recipes/tower-cli/meta.yaml index ac215c84eab25..4df0c97fac1f8 100644 --- a/recipes/tower-cli/meta.yaml +++ b/recipes/tower-cli/meta.yaml @@ -1,29 +1,29 @@ -{% set version = "0.9.0" %} +{% set name = "tw"%} +{% set version = "0.9.2" %} +{% set sha = "c9ebabdfe7aaeea0ce823c39819b0091503e6e8bf751281f90b620d20d365cec" %} package: name: tower-cli version: {{ version }} build: - number: 0 + number: 1 + noarch: generic run_exports: - {{ pin_subpackage("tower-cli", max_pin="x.x") }} source: - - url: https://github.com/seqeralabs/tower-cli/releases/download/v{{ version }}/tw-linux-x86_64 # [linux] - sha256: 55217d07e4615e12a46bb3d86057975113636c26f3f9ee57f5d79290d3c1606d # [linux] - fn: tw # [linux] - - url: https://github.com/seqeralabs/tower-cli/releases/download/v{{ version }}/tw-osx-x86_64 # [osx] - sha256: f809859e3de7e384ed42874d331e3a2c518292e4d6e2554054ec3c72649c808e # [osx] - fn: tw # [osx] - - url: https://github.com/seqeralabs/tower-cli/releases/download/{{ version }}/tw-windows-x86_64.exe # [win] - sha256: 97c6aed555e1450bb5e32e0e031fe7416caec271925a64f48a4a14b420b3e457 # [win] - fn: tw # [win] + - url: https://github.com/seqeralabs/tower-cli/releases/download/v{{ version }}/tw.jar + sha256: {{ sha }} +requirements: + run: + - openjdk >=17 test: commands: - tw --help + - tw organizations --help about: home: "https://github.com/seqeralabs/tower-cli" diff --git a/recipes/tower-cli/tw.sh b/recipes/tower-cli/tw.sh new file mode 100644 index 0000000000000..09af6ae2257ff --- /dev/null +++ b/recipes/tower-cli/tw.sh @@ -0,0 +1,64 @@ +#!/bin/bash +# tower-cli executable shell script +# adapted from picard.sh launch script +set -eu -o pipefail + +export LC_ALL=en_US.UTF-8 +jar_file="tw.jar" + +# Find original directory of bash script, resolving symlinks +# http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in/246128#246128 +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done +DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + +JAR_DIR=$DIR +ENV_PREFIX="$(dirname $(dirname $DIR))" +# Use Java installed with Anaconda to ensure correct version +java="$ENV_PREFIX/bin/java" + +# if JAVA_HOME is set (non-empty), use it. Otherwise keep "java" +if [ -n "${JAVA_HOME:=}" ]; then + if [ -e "$JAVA_HOME/bin/java" ]; then + java="$JAVA_HOME/bin/java" + fi +fi + +# extract memory and system property Java arguments from the list of provided arguments +# http://java.dzone.com/articles/better-java-shell-script +default_jvm_mem_opts="-Xms512m -Xmx1g" +jvm_mem_opts="" +jvm_prop_opts="" +pass_args="" +for arg in "$@"; do + case $arg in + '-D'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-XX'*) + jvm_prop_opts="$jvm_prop_opts $arg" + ;; + '-Xm'*) + jvm_mem_opts="$jvm_mem_opts $arg" + ;; + *) + if [[ ${pass_args} == '' ]] #needed to avoid preceeding space on first arg e.g. ' MarkDuplicates' + then + pass_args="$arg" + else + pass_args="$pass_args \"$arg\"" #quotes later arguments to avoid problem with ()s in MarkDuplicates regex arg + fi + ;; + esac +done + +if [ "$jvm_mem_opts" == "" ]; then + jvm_mem_opts="$default_jvm_mem_opts" +fi + +pass_arr=($pass_args) +eval "$java" $jvm_mem_opts $jvm_prop_opts -jar "$JAR_DIR/$jar_file" $pass_args \ No newline at end of file diff --git a/recipes/tpmcalculator/build.sh b/recipes/tpmcalculator/build.sh index 4c40c0865857d..f3f9d5e3549cb 100644 --- a/recipes/tpmcalculator/build.sh +++ b/recipes/tpmcalculator/build.sh @@ -1,8 +1,10 @@ #!/usr/bin/env bash +set -xe + export CPPFLAGS="-I$PREFIX/include/bamtools" export LDFLAGS="-L$PREFIX/lib -Wl,-rpath,$PREFIX/lib" sed -i.bak "s#gcc#${CC}#;s#g++#${CXX}#" nbproject/Makefile-Release.mk -make +make -j ${CPU_COUNT} cp bin/TPMCalculator $PREFIX/bin/ diff --git a/recipes/tpmcalculator/meta.yaml b/recipes/tpmcalculator/meta.yaml index f396e5ce74e01..a4001bdd3824c 100644 --- a/recipes/tpmcalculator/meta.yaml +++ b/recipes/tpmcalculator/meta.yaml @@ -1,15 +1,18 @@ -{% set version = "0.0.4" %} +{% set name = "tpmcalculator" %} +{% set version = "0.0.5" %} package: - name: tpmcalculator + name: {{ name }} version: '{{ version }}' source: - url: https://github.com/ncbi/TPMCalculator/archive/{{ version }}.tar.gz - sha256: 1a4c891b30f51e46752f5ca7b28944a993f94e9983a3a5eced241b45e9e459de + sha256: 29aa167a35bb006b2e912d2f7a53f7a9a265308f919906336fc3fe2ee3abece6 build: - number: 3 + number: 1 + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} requirements: build: @@ -30,3 +33,7 @@ about: home: https://github.com/ncbi/TPMCalculator license: Public Domain summary: TPMCalculator quantifies mRNA abundance directly from the alignments by parsing BAM files. + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/tr-trimmer/build.sh b/recipes/tr-trimmer/build.sh new file mode 100644 index 0000000000000..e5cb5faa26a8b --- /dev/null +++ b/recipes/tr-trimmer/build.sh @@ -0,0 +1,7 @@ +#!/bin/bash -euo + +set -xe + +# build statically linked binary with Rust +cargo-bundle-licenses --format yaml --output THIRDPARTY.yml +RUST_BACKTRACE=1 cargo install --verbose --locked --no-track --root $PREFIX --path . \ No newline at end of file diff --git a/recipes/tr-trimmer/meta.yaml b/recipes/tr-trimmer/meta.yaml new file mode 100644 index 0000000000000..5e5e01cfaad7d --- /dev/null +++ b/recipes/tr-trimmer/meta.yaml @@ -0,0 +1,38 @@ +{% set version = "0.1.0" %} + +package: + name: tr-trimmer + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage("tr-trimmer", max_pin="x") }} + +source: + url: https://github.com/apcamargo/tr-trimmer/archive/v{{ version }}.tar.gz + sha256: ff063dcf3dbe23bee3c9f0d47808c0859fd79ccf0caed20642ebc0e4e38e917c + +requirements: + build: + - {{ compiler('rust') }} + - cargo-bundle-licenses + host: + run: + +test: + commands: + - tr-trimmer --help + +about: + home: https://github.com/apcamargo/tr-trimmer + license: MIT + license_file: + - LICENSE + - THIRDPARTY.yml + summary: Identify and trim terminal repeats from sequences in FASTA files + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 \ No newline at end of file diff --git a/recipes/tracegroomer/meta.yaml b/recipes/tracegroomer/meta.yaml new file mode 100644 index 0000000000000..cba5bd1371551 --- /dev/null +++ b/recipes/tracegroomer/meta.yaml @@ -0,0 +1,59 @@ +{% set name = "tracegroomer" %} +{% set version = "0.1.4" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/tracegroomer-{{ version }}.tar.gz + sha256: be87034d1ac14622ff361c39e363a842ace6d40ab3a70be62a9a38e29a593c70 + +build: + entry_points: + - tracegroomer = tracegroomer.__main__:main + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('tracegroomer', max_pin="x") }} + +requirements: + host: + - python >=3.10,<4.0 + - poetry-core + - pip + run: + - python >=3.10.0,<4.0.0 + - sphinx >=7.2.6,<8.0.0 + - click >=8.1.7,<9.0.0 + - matplotlib-base >=3.8.2,<4.0.0 + - mypy >=1.8.0,<2.0.0 + - numpy >=1.26.4,<2.0.0 + - pandas >=2.2.0,<3.0.0 + - scipy >=1.12.0,<2.0.0 + - scikit-learn >=1.4.0,<2.0.0 + - seaborn >=0.13.2,<0.14.0 + - openpyxl >=3.1.2,<4.0.0 + - pyyaml >=6.0.1,<7.0.0 + - python-dotenv >=1.0.1,<2.0.0 + - pydantic >=1.10.8,<2.0.0 + +test: + imports: + - tracegroomer + commands: + - pip check + - tracegroomer --help + requires: + - pip + +about: + summary: 'Format and normalise tracer metabolomics given file(s), to produce the .csv files which are ready for DIMet analysis.' + license: MIT + license_file: LICENSE + home: 'https://github.com/cbib/TraceGroomer' + +extra: + recipe-maintainers: + - hechth diff --git a/recipes/trackhub/meta.yaml b/recipes/trackhub/meta.yaml index 55e40d38900f7..0bdb126054bcf 100644 --- a/recipes/trackhub/meta.yaml +++ b/recipes/trackhub/meta.yaml @@ -1,14 +1,16 @@ package: name: trackhub - version: "0.2.4" + version: "1.0" source: - url: https://pypi.python.org/packages/25/db/cf42623bcb91f209469d7d28d9647b814af2b51e1bbf1dce0a2df006ca34/trackhub-0.2.4.tar.gz - md5: 6d80a98e48fbb62b27777f5e14e6159c + url: https://files.pythonhosted.org/packages/f1/76/42a10f8849a56de359fde3e34f495e60709fbb75a8048afac4fb239fb424/trackhub-1.0.tar.gz + sha256: b7d85fcb0b17834343a900bb713d2e7e01d06bb4bf1dd0e06680e270572bda22 build: noarch: python - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage("trackhub", max_pin="x.x") }} requirements: host: @@ -19,12 +21,18 @@ requirements: run: - python - docutils + - requests + - beautifulsoup4 + - html5lib + - openpyxl test: imports: - trackhub - trackhub.test - trackhub.test.data + commands: + - trackhub_from_excel -h about: home: http://github.com/daler/trackhub diff --git a/recipes/tracknado/meta.yaml b/recipes/tracknado/meta.yaml index a54f302c9211c..9d5e8997a66e1 100644 --- a/recipes/tracknado/meta.yaml +++ b/recipes/tracknado/meta.yaml @@ -1,6 +1,6 @@ {% set name = "tracknado" %} -{% set version = "0.2.3" %} -{% set sha256 = "a7a1e25b54f41c1b5b18fbe1a2fab626e00cd4da4f747f901b58b4f78d4c2651" %} +{% set version = "0.2.4" %} +{% set sha256 = "5d03efa896c0c61e0d5072dd2e6474e308d9014a0ef387cf11d4148ac376f64b" %} package: name: {{ name|lower }} diff --git a/recipes/trackplot/meta.yaml b/recipes/trackplot/meta.yaml index 0c723aed874f0..0be965226ae10 100644 --- a/recipes/trackplot/meta.yaml +++ b/recipes/trackplot/meta.yaml @@ -1,5 +1,5 @@ {% set name = "trackplot" %} -{% set version = "0.3.6" %} +{% set version = "0.5.1" %} package: name: trackplot @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: f1f8706c954abd0f8c426f1c3ed51b458d69940c8a275aa61544864788a93956 + sha256: 686735f647e9ffdaab6dad02b56d483385142421928381b2c3d075d9a610ba52 build: noarch: python @@ -20,11 +20,11 @@ build: requirements: host: - - python >=3.8 + - python >=3.8,<3.12 - pip - poetry-core run: - - python >=3.8 + - python >=3.8,<3.12 - adjusttext >=0.7.3 - cairocffi >=1.4.0 - click diff --git a/recipes/tracs/meta.yaml b/recipes/tracs/meta.yaml new file mode 100644 index 0000000000000..1c9270772a9a9 --- /dev/null +++ b/recipes/tracs/meta.yaml @@ -0,0 +1,70 @@ +{% set version = "1.0.1" %} +{% set name = "tracs" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/gtonkinhill/{{ name|lower }}/archive/v{{ version }}.tar.gz + sha256: ea54a443c2a1a2bda7bb4dc9b79f79ffe5bfffc340ef8e6cc61f1df249ba4e5c + +build: + number: 1 + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + run_exports: + - {{ pin_subpackage('tracs', max_pin="x") }} + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + host: + - python >=3.12 + - pip + - pybind11 + - boost-cpp + - zlib + - libgomp # [linux] + - llvm-openmp # [osx] + run: + - python >=3.12 + - numpy + - pandas + - sourmash + - joblib + - ncbi-genome-download + - pyfastx + - tqdm + - scipy + - plotly + - samtools + - htsbox + - minimap2 + +test: + imports: + - tracs + commands: + - tracs --help + - tracs --version + - tracs align --help + - tracs combine --help + - tracs distance --help + - tracs threshold --help + - tracs cluster --help + - tracs build-db --help + - tracs pipe --help + +about: + home: https://github.com/gtonkinhill/tracs + license: MIT + license_family: MIT + license_file: LICENSE + summary: 'Tracs - Fast pairwise transmission inference from single genome and/or metagenomic data' + doc_url: https://github.com/gtonkinhill/tracs/tree/main/docs + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 \ No newline at end of file diff --git a/recipes/tracy/build.sh b/recipes/tracy/build.sh index 93a76cc9f42cc..38a203670614e 100644 --- a/recipes/tracy/build.sh +++ b/recipes/tracy/build.sh @@ -1,5 +1,3 @@ -#!/bin/sh +#!/bin/bash -make all CXX=$CXX CXXFLAGS="-D__STDC_FORMAT_MACROS -I${SRC_DIR}/src/sdslLite/include -L${SRC_DIR}/src/sdslLite/lib -I${PREFIX}/include -L${PREFIX}/lib -Isrc/jlib/ -std=c++14" -mkdir -p $PREFIX/bin -cp src/tracy $PREFIX/bin +CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS -I${SRC_DIR}/src/sdslLite/include -L${SRC_DIR}/src/sdslLite/lib -I${PREFIX}/include -L${PREFIX}/lib -Isrc/jlib/ -std=c++17" make -j${CPU_COUNT} CXX="${CXX}" prefix="${PREFIX}" install diff --git a/recipes/tracy/meta.yaml b/recipes/tracy/meta.yaml index 6a8f5ac375bd9..64b4ec6a20b6f 100644 --- a/recipes/tracy/meta.yaml +++ b/recipes/tracy/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.7.6" %} -{% set sha256 = "68bb079d9c05c98d7de1bf044e6c4da6a409d8f2abc8b96038b1782bc5497c5e" %} +{% set version = "0.7.8" %} +{% set sha256 = "9bac46e97ec43b85f12d1958abbc8f329f2dca8c3c363e67d8dff09b29260ea0" %} package: name: tracy @@ -22,20 +22,16 @@ requirements: build: - make - {{ compiler('cxx') }} - - cmake >=3.10 + - cmake - autoconf - automake - pkg-config - - clangdev - - llvm-openmp host: - zlib - bzip2 - libdeflate - boost-cpp - htslib - - clangdev - - llvm-openmp run: - zlib - bzip2 @@ -55,6 +51,8 @@ about: summary: Basecalling, alignment, assembly and deconvolution of Sanger chromatogram trace files extra: + additional-platforms: + - linux-aarch64 skip-lints: - uses_vcs_url - missing_hash diff --git a/recipes/transanno/build.sh b/recipes/transanno/build.sh new file mode 100644 index 0000000000000..a19f8c827c782 --- /dev/null +++ b/recipes/transanno/build.sh @@ -0,0 +1,11 @@ +#!/bin/bash -e + +# build statically linked binary with Rust +RUST_BACKTRACE=1 \ + C_INCLUDE_PATH=$PREFIX/include \ + LIBRARY_PATH=$PREFIX/lib \ + cargo build --release + +mkdir $PREFIX/bin +cp $SRC_DIR/target/*/release/transanno $PREFIX/bin/transanno +chmod a+x $PREFIX/bin/transanno diff --git a/recipes/transanno/meta.yaml b/recipes/transanno/meta.yaml new file mode 100644 index 0000000000000..dbc207425ea00 --- /dev/null +++ b/recipes/transanno/meta.yaml @@ -0,0 +1,36 @@ +{% set version = "0.4.5" %} +{% set sha256 = "f800ef6d9eff31aad6e00bbe963fd0c57a9ba9036c676a972ceefd9d1cdfbdc9" %} +{% set name = "transanno" %} + +package: + name: {{ name }} + version: {{ version }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +source: + url: https://github.com/informationsea/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +requirements: + build: + - {{ compiler('rust') }} + +test: + commands: + - transanno --help + +about: + home: https://github.com/informationsea/{{ name }} + license: GPL-3.0-only + license_family: GPL + license_file: LICENSE + summary: "accurate VCF/GFF3/GTF LiftOver tool for new genome assemblies" + +extra: + additional-platforms: + - osx-arm64 + - linux-aarch64 diff --git a/recipes/transannot/build.sh b/recipes/transannot/build.sh index c01a11fd88807..8f7d428ac11e6 100644 --- a/recipes/transannot/build.sh +++ b/recipes/transannot/build.sh @@ -1,7 +1,32 @@ -#!/bin/bash -e +#!/bin/bash -ex -mkdir build -cd build -cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" -DHAVE_TESTS=0 -DHAVE_MPI=0 -DHAVE_SSE4_1=1 -DVERSION_OVERRIDE="${PKG_VERSION}" .. -make -j${CPU_COUNT} ${VERBOSE_CM} -make install +mkdir -p build && pushd build + +export INCLUDES="-I${PREFIX}/include" +export LIBPATH="-L${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CXXFLAGS="${CXXFLAGS} -O3 -I${PREFIX}/include" + +case $(uname -m) in + aarch64) + ARCH_OPTS="-DHAVE_ARM8=1" + ;; + *) + ARCH_OPTS="-DHAVE_SSE4_1=1" + ;; +esac + +if [ "$(uname)" == "Darwin" ]; then + export CMAKE_EXTRA="-DCMAKE_FIND_FRAMEWORK=NEVER -DCMAKE_FIND_APPBUNDLE=NEVER -Wno-dev" +else + export CMAKE_EXTRA="-Wno-dev" +fi + +cmake -S .. -B . -DCMAKE_INSTALL_PREFIX="${PREFIX}" \ + -DCMAKE_BUILD_TYPE=RELEASE \ + -DHAVE_TESTS=0 -DHAVE_MPI=0 "${ARCH_OPTS}" \ + -DVERSION_OVERRIDE="${PKG_VERSION}" \ + "${CMAKE_EXTRA}" + +cmake --build . --target install -j ${CPU_COUNT} -v +popd diff --git a/recipes/transannot/meta.yaml b/recipes/transannot/meta.yaml index 8db64f2fe9716..315da17189512 100644 --- a/recipes/transannot/meta.yaml +++ b/recipes/transannot/meta.yaml @@ -1,52 +1,55 @@ -{% set version = "1-fa9ebab" %} -{% set sha256 = "432f31744683fa467a1ab76493818f52d3cb8f87d489c7190c255f18c03d9418" %} +{% set name = "transannot" %} +{% set version = "3.0.0" %} +{% set sha256 = "6835fc3cc77aafd273abc8f2b4d8213b251b199ff7dd5ae9fa7e1dd19579ae41" %} package: - name: transannot - version: {{ version|replace("-", ".") }} + name: {{ name }} + version: {{ version }} + +source: + url: https://github.com/soedinglab/{{ name }}/archive/refs/tags/3-e15e316.tar.gz + sha256: {{ sha256 }} build: number: 0 run_exports: - {{ pin_subpackage('transannot', max_pin="x") }} -source: - url: https://github.com/soedinglab/transannot/archive/{{ version }}.tar.gz - sha256: {{ sha256 }} - requirements: build: - {{ compiler('c') }} - {{ compiler('cxx') }} - cmake - make + host: - llvm-openmp # [osx] - libgomp # [linux] - host: - - perl - gawk - zlib - bzip2 run: - aria2 - wget - - gawk - - zlib - - bzip2 + - perl test: commands: - - transannot > /dev/null + - "transannot > /dev/null" about: - home: https://github.com/soedinglab/transannot - summary: "TransAnnot: fast and all-in-one transcriptome annotation pipeline" - license: GPL-3.0-or-later - license_family: GPL - license_file: LICENSE.md + home: "https://github.com/soedinglab/transannot" + summary: "TransAnnot: a fast transcriptome annotation pipeline." + license: "GPL-3.0-or-later" + license_family: GPL3 + license_file: "LICENSE.md" + dev_url: "https://github.com/soedinglab/transannot" + doc_url: "https://github.com/soedinglab/transannot/blob/master/README.md" extra: identifiers: - biotools:transannot recipe-maintainers: - mariia-zelenskaia + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/tree-qmc/build.sh b/recipes/tree-qmc/build.sh new file mode 100644 index 0000000000000..34621c3bee530 --- /dev/null +++ b/recipes/tree-qmc/build.sh @@ -0,0 +1,13 @@ +cd external/MQLib +sed -i.bak "s#g++#${CXX}#" Makefile +make +cd ../.. +$CXX -std=c++11 -O2 \ + -I external/MQLib/include -I external/toms743 \ + -o tree-qmc \ + src/*.cpp external/toms743/toms743.cpp \ + external/MQLib/bin/MQLib.a -lm \ + -DVERSION=\"$(cat version.txt)\" +mkdir -p $PREFIX/bin +cp tree-qmc $PREFIX/bin/ +chmod a+x $PREFIX/bin/tree-qmc diff --git a/recipes/tree-qmc/conda_build_config.yaml b/recipes/tree-qmc/conda_build_config.yaml new file mode 100644 index 0000000000000..7fe2892e9edfa --- /dev/null +++ b/recipes/tree-qmc/conda_build_config.yaml @@ -0,0 +1,5 @@ +c_compiler_version: # [unix] + - 9.3.0 # [linux] + +cxx_compiler_version: + - 9.3.0 # [linux] diff --git a/recipes/tree-qmc/meta.yaml b/recipes/tree-qmc/meta.yaml new file mode 100644 index 0000000000000..e000a16bf22e1 --- /dev/null +++ b/recipes/tree-qmc/meta.yaml @@ -0,0 +1,32 @@ +{% set name = "TREE-QMC" %} +{% set version = "3.0.4" %} + + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: https://github.com/molloy-lab/{{ name|upper }}/archive/refs/tags/v{{ version }}.zip + sha256: d7490fb79d23d5aa8c24c661e070c150421b0991464c4a8ae6cc694cd124f83e + +build: + number: 0 + run_exports: + - {{ pin_subpackage('tree-qmc', max_pin="x") }} + +requirements: + build: + - make + - {{ compiler('cxx') }} + host: + run: + +test: + commands: + - tree-qmc -h + +about: + home: https://github.com/molloy-lab/TREE-QMC + license: MIT + summary: TREE-QMC is a quartet-based method for estimating species trees from gene trees. diff --git a/recipes/treemix/build_failure.osx-64.yaml b/recipes/treemix/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..6b120cb1a7881 --- /dev/null +++ b/recipes/treemix/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 3cdff620ea62dbf5a358af7054630871b262837c1810d1a11593c4faa7cf88ea # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/treemix_1717518490688/work + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/treemix_1717518490688/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/treemix_1717518490688/_build_env + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/treemix_1717518490688/work/conda_build.sh']' returned non-zero exit status 2. + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/treemix_1717518490688/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/treemix-1.13 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/treemix-1.13 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/treemix-1.13 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/treemix-1.13 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + checking whether the C compiler works... yes + checking for C compiler default output file name... a.out + checking for suffix of executables... + checking whether we are cross compiling... no + checking for suffix of object files... o + checking whether we are using the GNU C compiler... yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... yes + checking for a BSD-compatible install... /usr/bin/install -c + checking whether build environment is sane... yes + checking for a thread-safe mkdir -p... ./install-sh -c -d + checking for gawk... no + checking for mawk... no + checking for nawk... no + checking for awk... awk + checking whether make sets $(MAKE)... yes + checking for style of include used by make... GNU + checking whether make supports nested variables... yes + checking dependency style of x86_64-apple-darwin13.4.0-clang... gcc3 + checking for x86_64-apple-darwin13.4.0-gcc... x86_64-apple-darwin13.4.0-clang + checking whether we are using the GNU C compiler... yes + checking whether x86_64-apple-darwin13.4.0-clang accepts -g... yes + checking for x86_64-apple-darwin13.4.0-clang option to accept ISO C89... none needed + checking whether x86_64-apple-darwin13.4.0-clang understands -c and -o together... yes + checking dependency style of x86_64-apple-darwin13.4.0-clang... gcc3 + checking for gzopen in -lz... yes + checking for cos in -lm... yes + checking for cblas_dgemm in -lgslcblas... yes + checking for gsl_blas_dgemm in -lgsl... yes + checking for boostlib >= 1.42... yes + checking that generated files are newer than configure... done + configure: creating ./config.status + config.status: creating Makefile + config.status: creating src/Makefile + config.status: creating config.h + config.status: executing depfiles commands + make all-recursive + make[1]: Entering directory '$SRC_DIR' + Making all in src + make[2]: Entering directory '$SRC_DIR/src' + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/treemix-1.13 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -MT TreeMix.o -MD -MP -MF .deps/TreeMix.Tpo -c -o TreeMix.o TreeMix.cpp + x86_64-apple-darwin13.4.0-clang -DHAVE_CONFIG_H -I. -I.. -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.9 -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/treemix-1.13 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -MT gzstream.o -MD -MP -MF .deps/gzstream.Tpo -c -o gzstream.o gzstream.cpp + mv -f .deps/TreeMix.Tpo .deps/TreeMix.Po + make[2]: Leaving directory '$SRC_DIR/src' + make[1]: Leaving directory '$SRC_DIR' +# Last 100 lines of the build log. diff --git a/recipes/treemix/meta.yaml b/recipes/treemix/meta.yaml index ae5ed468e6315..ea21b86229cca 100644 --- a/recipes/treemix/meta.yaml +++ b/recipes/treemix/meta.yaml @@ -3,7 +3,7 @@ package: version: 1.13 build: - number: 8 + number: 9 source: url: https://bitbucket.org/nygcresearch/treemix/downloads/treemix-1.13.tar.gz diff --git a/recipes/treeqmc/build.sh b/recipes/treeqmc/build.sh new file mode 100644 index 0000000000000..56130c62a04c3 --- /dev/null +++ b/recipes/treeqmc/build.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +cd external/MQLib +sed -i.bak "s#g++#${CXX}#" Makefile +make +cd ../.. +$CXX -std=c++11 -O2 \ + -I external/MQLib/include -I external/toms743 \ + -o tree-qmc \ + src/*.cpp external/toms743/toms743.cpp \ + external/MQLib/bin/MQLib.a -lm \ + -DVERSION=\"$(cat version.txt)\" +mkdir -p $PREFIX/bin +cp tree-qmc $PREFIX/bin/ +chmod a+x $PREFIX/bin/tree-qmc diff --git a/recipes/treeqmc/conda_build_config.yaml b/recipes/treeqmc/conda_build_config.yaml new file mode 100644 index 0000000000000..7fe2892e9edfa --- /dev/null +++ b/recipes/treeqmc/conda_build_config.yaml @@ -0,0 +1,5 @@ +c_compiler_version: # [unix] + - 9.3.0 # [linux] + +cxx_compiler_version: + - 9.3.0 # [linux] diff --git a/recipes/treeqmc/meta.yaml b/recipes/treeqmc/meta.yaml new file mode 100644 index 0000000000000..47e3e64294ac8 --- /dev/null +++ b/recipes/treeqmc/meta.yaml @@ -0,0 +1,31 @@ +{% set name = "TREEQMC" %} +{% set version = "3.0.1" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: https://github.com/molloy-lab/TREE-QMC/archive/refs/tags/v{{ version }}.zip + sha256: 0fc11b22d981cbf62ee3d832ed79ac7dbf526669231b0137fd4e4756a0af506c + +build: + number: 0 + run_exports: + - {{ pin_subpackage('treeqmc', max_pin="x") }} + +requirements: + build: + - make + - {{ compiler('cxx') }} + +test: + commands: + - tree-qmc -h + +about: + home: https://github.com/molloy-lab/TREE-QMC + license: MIT + license_family: MIT + summary: TREE-QMC is a quartet-based method for estimating species trees from gene trees. + dev_url: https://github.com/molloy-lab/TREE-QMC diff --git a/recipes/treesap/meta.yaml b/recipes/treesap/meta.yaml new file mode 100644 index 0000000000000..d4ec8012f3251 --- /dev/null +++ b/recipes/treesap/meta.yaml @@ -0,0 +1,44 @@ +{% set version = "1.0.10" %} + +package: + name: "treesap" + version: "{{ version }}" + +source: + url: https://pypi.io/packages/source/t/treesap/treesap-{{ version }}.tar.gz + sha256: 74d2d6f1106f5345ec6408a443be6d2a9b983fb83e4957d04e22be88659905ab + +build: + noarch: python + number: 0 + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + run_exports: + - {{ pin_subpackage('treesap', max_pin="x") }} + +requirements: + host: + - pip + - python + run: + - python + - numpy + - scipy + - treeswift + +test: + imports: + - treesap + +about: + home: https://github.com/niemasd/TreeSAP + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE + summary: "TreeSAP: Tree SAmpling under Phylogenetic models" + dev_url: https://github.com/niemasd/TreeSAP + +extra: + identifiers: + - biotools:treesap + maintainers: + - niemasd diff --git a/recipes/treesimulator/meta.yaml b/recipes/treesimulator/meta.yaml new file mode 100644 index 0000000000000..2e652c8857735 --- /dev/null +++ b/recipes/treesimulator/meta.yaml @@ -0,0 +1,59 @@ +{% set name = "treesimulator" %} +{% set version = "0.2.0" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: 599507b62cce4d8f77a850fc0f84d003d13530ec39960afdf1efcf356df16176 + +build: + number: 0 + noarch: python + entry_points: + - generate_bd = treesimulator.simulate_forest_bd:main + - generate_bdei = treesimulator.simulate_forest_bdei:main + - generate_bdss = treesimulator.simulate_forest_bdss:main + - generate_mtbd = treesimulator.simulate_forest:main + script: "{{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation" + run_exports: + - {{ pin_subpackage('treesimulator', max_pin="x") }} + +requirements: + host: + - pip + - python >=3.9 + run: + - six >=1.16.0 + - ete3 >=3.1.1 + - numpy >=1.22 + - python >=3.9 + - scipy >=1.5.0 + +test: + imports: + - treesimulator + commands: + - generate_bd --help + - generate_bdei --help + - generate_bdss --help + - generate_mtbd --help + +about: + home: "https://github.com/evolbioinfo/treesimulator" + summary: "Simulation of rooted phylogenetic trees under a given Multitype Birth–Death (MTBD) model." + description: | + Treesimulator provides fast methods for simulation of rooted phylogenetic trees under + Multitype Birth–Death (MTBD) models, in particular the classical BD model, + the BD Exposed-Infectious (BDEI) model, and BD with superspreading (BDSS). + license: GPL-3.0-or-later + license_family: GPL3 + license_file: LICENSE + doc_url: https://github.com/evolbioinfo/treesimulator + dev_url: https://github.com/evolbioinfo/treesimulator + +extra: + recipe-maintainers: + - annazhukova diff --git a/recipes/treeswift/meta.yaml b/recipes/treeswift/meta.yaml index 54fd1362581cd..9c1e48fd450d3 100644 --- a/recipes/treeswift/meta.yaml +++ b/recipes/treeswift/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.1.39" %} +{% set version = "1.1.44" %} package: name: "treeswift" @@ -6,7 +6,7 @@ package: source: url: https://pypi.io/packages/source/t/treeswift/treeswift-{{ version }}.tar.gz - sha256: bdb432acea1fd7c13111e101062f75cf0a7ee721a90d7bc86057ee3cea4edfaa + sha256: c023c8130e29f124cdd3d98d3b29e168a4f150df29dc6a243524e2875d22b799 build: noarch: python diff --git a/recipes/treetime/meta.yaml b/recipes/treetime/meta.yaml index 804bad35fbd08..96041b068c5e5 100644 --- a/recipes/treetime/meta.yaml +++ b/recipes/treetime/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.11.1" %} -{% set sha256 = "294cf2f72e145f0642784befa8f31766469d20aeb4b798b78fed211a586577a1" %} +{% set version = "0.11.4" %} +{% set sha256 = "0b41c4a60e020ad7888693ebc4e7f8001df977243154bf577f1567a48f71b31c" %} package: name: treetime @@ -46,6 +46,8 @@ about: dev_url: https://github.com/neherlab/treetime extra: + identifiers: + - doi:10.1093/ve/vex042 recipe-maintainers: - corneliusroemer - rneher diff --git a/recipes/trf/build.sh b/recipes/trf/build.sh index bc49ad10f8798..50dcf40faed52 100644 --- a/recipes/trf/build.sh +++ b/recipes/trf/build.sh @@ -1,5 +1,5 @@ #!/bin/sh ./configure --prefix=$PREFIX CPPFLAGS=-DUNIXCONSOLE -make +make -j ${CPU_COUNT} make install diff --git a/recipes/trf/meta.yaml b/recipes/trf/meta.yaml index ed87b9b7fba4e..ad38c60967d71 100644 --- a/recipes/trf/meta.yaml +++ b/recipes/trf/meta.yaml @@ -11,7 +11,9 @@ source: build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage(name, max_pin='x') }} requirements: build: @@ -30,5 +32,7 @@ about: summary: 'Tandem Repeats Finder is a program to locate and display tandem repeats in DNA sequences.' extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:Trf diff --git a/recipes/trgt/build.sh b/recipes/trgt/build.sh deleted file mode 100644 index 65c729ab1d289..0000000000000 --- a/recipes/trgt/build.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash - -mkdir -p "${PREFIX}"/bin -gunzip *.gz -mv trvz* trvz -mv trgt* trgt -chmod +x trvz -chmod +x trgt -cp trvz "${PREFIX}"/bin/ -cp trgt "${PREFIX}"/bin/ - diff --git a/recipes/trgt/meta.yaml b/recipes/trgt/meta.yaml index 883dff1c8071c..bb87d98169589 100644 --- a/recipes/trgt/meta.yaml +++ b/recipes/trgt/meta.yaml @@ -1,35 +1,39 @@ {% set name = "trgt" %} -{% set version = "0.5.0" %} -{% set trgt_sha256 = "d16deb99be8cdd3bc29fee5539fa270642ed2018cdd35f3228e7061938eb923a" %} -{% set trvz_sha256 = "51c18e1bdd1221c225e477c2f2938e1269f7cbfe3d0e92681c1db34226780311" %} +{% set version = "1.2.0" %} +{% set trgt_sha256 = "5dec0943d3400fd1677236fa35737e5a442a486fac55188029c3c9164edb3d23" %} package: name: {{ name }} version: {{ version }} -source: - - url: https://github.com/PacificBiosciences/trgt/releases/download/v{{ version }}/trgt-v{{ version }}-linux_x86_64.gz - sha256: {{ trgt_sha256 }} - - url: https://github.com/PacificBiosciences/trgt/releases/download/v{{ version }}/trvz-v{{ version }}-linux_x86_64.gz - sha256: {{ trvz_sha256 }} +source: + - url: https://github.com/PacificBiosciences/trgt/releases/download/v{{ version }}/trgt-v{{ version }}-x86_64-unknown-linux-gnu.tar.gz # [linux64] + sha256: {{ trgt_sha256 }} # [linux64] about: home: https://github.com/PacificBiosciences/trgt - license: BSD-3-Clause-Clear + license: Pacific Biosciences Software License (https://github.com/PacificBiosciences/trgt/blob/main/LICENSE.md) summary: Tandem repeat genotyping and visualization from PacBio HiFi data -extra: - recipe-maintainers: - - zeeev - - williamrowell - build: number: 0 - noarch: generic + skip: true # [not linux64] + noarch: false + script: + - mkdir -p ${PREFIX}/bin + - cp trgt ${PREFIX}/bin/ + - chmod +x ${PREFIX}/bin/trgt run_exports: - {{ pin_subpackage('trgt', max_pin="x") }} test: commands: - trgt --version - - trvz --version + +extra: + recipe-maintainers: + - zeeev + - williamrowell + - tmokveld + skip-lints: + - should_be_noarch_generic diff --git a/recipes/tribal/meta.yaml b/recipes/tribal/meta.yaml new file mode 100644 index 0000000000000..dfc122ff0d268 --- /dev/null +++ b/recipes/tribal/meta.yaml @@ -0,0 +1,60 @@ +{% set name = "TRIBAL" %} +{% set version = "0.1.1" %} + +package: + name: '{{ name|lower }}' + version: '{{ version }}' + +source: + url: https://github.com/elkebir-group/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: 3859295c1e615ce9ce5d34e73c9dea33a08a105a502096e7640e0feeda83756e + +build: + number: 1 + run_exports: + - {{ pin_subpackage('tribal', max_pin='x.x') }} + script: + - "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vvv" + - $CC -c tribal/dnapars/phylip.c -o tribal/dnapars/phylip.o -fcommon + - $CC -c tribal/dnapars/seq.c -o tribal/dnapars/seq.o -fcommon + - $CC -c tribal/dnapars/dnapars.c -o tribal/dnapars/dnapars.o -fcommon + - $CC tribal/dnapars/seq.o tribal/dnapars/phylip.o tribal/dnapars/dnapars.o -lm -o $PREFIX/bin/dnapars + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + host: + - python >=3.9,<3.11 + - pip + - setuptools + run: + - python >=3.9,<3.11 + - numpy >=1.26,<2.0 + - pandas + - networkx >=3.1 + - pygraphviz >=1.10 + - ete3 >=3.1.2 + - mafft ==7.526 + - glpk >=5.0 + - pyomo >=6.7 + - biopython >=1.81 + +test: + imports: + - tribal + commands: + - tribal --help + - tribal preprocess -h + - tribal fit -h + +about: + home: "https://github.com/elkebir-group/TRIBAL" + doc_url: "https://elkebir-group.github.io/TRIBAL" + license: "BSD-3-Clause" + summary: "TRIBAL is a package to infer B cell lineage trees from single-cell RNA sequencing data." + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/tribal/run_test.py b/recipes/tribal/run_test.py new file mode 100644 index 0000000000000..74c8489f92072 --- /dev/null +++ b/recipes/tribal/run_test.py @@ -0,0 +1,21 @@ +""" +Vignette to demonstrate the capabilities of the tribal package. +""" + +from tribal.preprocess import preprocess +from tribal import df, roots +from tribal import Tribal + + +if __name__ == "__main__": + + isotypes = ['IGHM', 'IGHG3', 'IGHG1', 'IGHA1','IGHG2','IGHG4','IGHE','IGHA2'] + + #test that dnapars installed correctly by running it during preprocessing + clonotypes, df_filt = preprocess(df, roots,isotypes, cores=3, verbose=True ) + + #test that the tribal package is working + tr = Tribal(n_isotypes=len(isotypes), verbose=True, restarts=1, niter=15) + + #run in refinement mode + shm_score, csr_likelihood, best_scores, transmat = tr.fit(clonotypes=clonotypes, mode="refinement", cores=6) \ No newline at end of file diff --git a/recipes/trimal/build.sh b/recipes/trimal/build.sh index 27923c51cacab..32fa745b57afe 100644 --- a/recipes/trimal/build.sh +++ b/recipes/trimal/build.sh @@ -1,11 +1,18 @@ -#!/bin/sh - -cd source -make CC="${CXX}" FLAGS="${CPPFLAGS} ${CXXFLAGS}" +#!/bin/bash mkdir -p $PREFIX/bin -cp readal $PREFIX/bin -cp statal $PREFIX/bin -cp trimal $PREFIX/bin +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CPPFLAGS="${CPPFLAGS} -I${PREFIX}/include" +export CXXFLAGS="${CXXFLAGS} -O3" + +cd source +make CC="${CXX}" FLAGS="${CPPFLAGS} ${CXXFLAGS}" -j "${CPU_COUNT}" + +cp -f readal $PREFIX/bin +cp -f statal $PREFIX/bin +cp -f trimal $PREFIX/bin +chmod 0755 $PREFIX/bin/readal +chmod 0755 $PREFIX/bin/statal +chmod 0755 $PREFIX/bin/trimal diff --git a/recipes/trimal/meta.yaml b/recipes/trimal/meta.yaml index 27bf643b5e1ef..49ab7cd5dc61d 100644 --- a/recipes/trimal/meta.yaml +++ b/recipes/trimal/meta.yaml @@ -1,19 +1,23 @@ +{% set name = "trimal" %} +{% set version = "1.5.0" %} + package: - name: trimal - version: "1.4.1" + name: {{ name }} + version: {{ version }} source: - url: https://github.com/scapella/trimal/archive/v1.4.1.tar.gz - md5: cb193397635da45be350e9ac96dafe45 + url: https://github.com/inab/trimal/archive/refs/tags/v{{ version }}.tar.gz + sha256: 3fba2e07bffb7290c34e713a052d0f0ff1ce0792861740a8cec46f40685c6d73 build: - number: 8 + number: 1 + run_exports: + - {{ pin_subpackage('trimal', max_pin='x') }} requirements: build: - make - {{ compiler('cxx') }} - run: test: commands: @@ -22,10 +26,17 @@ test: - trimal --version | grep trimAl > /dev/null about: - home: 'http://trimal.cgenomics.org' + home: 'https://trimal.readthedocs.io' summary: 'A tool for the automated removal of spurious sequences or poorly aligned regions from a multiple sequence alignment' - license: GNU General Public License v3 or later (GPLv3+) + license: "GPL-3.0-or-later" + license_family: GPL3 + dev_url: "https://github.com/inab/trimal" + doc_url: "https://trimal.readthedocs.io" extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - biotools:trimAl + - doi:10.1093/bioinformatics/btp348 diff --git a/recipes/trimnami/meta.yaml b/recipes/trimnami/meta.yaml index 34ec5afd44ed6..3cdaa50df2cb5 100644 --- a/recipes/trimnami/meta.yaml +++ b/recipes/trimnami/meta.yaml @@ -1,5 +1,5 @@ {% set name = "trimnami" %} -{% set version = "0.1.1" %} +{% set version = "0.1.4" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 594d14c9535ed21270afb3c56f146cad786e9e619c25a89b30556d2284f8f461 + sha256: b98b6011ec0c898942a2c11047ec81fbf3ee2dc2ada2c999fd741739374a498f build: noarch: python @@ -18,12 +18,13 @@ build: requirements: host: - - python >=3.8 + - python >=3.9 - pip run: - - python >=3.8 - - snaketool-utils >=0.0.3 - - snakemake >=7.14.0 + - python >=3.9 + - snaketool-utils >=0.0.4 + - snakemake >=7.14.0,<8 + - pulp <2.8 - pyyaml >=6.0 - Click >=8.1.3 - metasnek >=0.0.8 diff --git a/recipes/trinity/build.sh b/recipes/trinity/build.sh index 4d6f8b5e7ea0f..ad90cf9dcaf75 100644 --- a/recipes/trinity/build.sh +++ b/recipes/trinity/build.sh @@ -1,16 +1,20 @@ -#!/bin/bash -set -x -e +#!/bin/bash -ex export INCLUDE_PATH="${PREFIX}/include" export LIBRARY_PATH="${PREFIX}/lib" export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib -fopenmp" -export CXXFLAGS="-O3 -I${PREFIX}/include ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -O3 -I${PREFIX}/include ${LDFLAGS}" export BINARY_HOME="${PREFIX}/bin" export TRINITY_HOME="${PREFIX}/opt/trinity-${PKG_VERSION}" -make CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" -j4 plugins +if [ "$(uname)" == "Darwin" ]; then + # for Mac OSX + export CXXFLAGS="${CXXFLAGS} -std=c++14" +fi + +make CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}" plugins make CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" # remove the sample data @@ -19,10 +23,10 @@ rm -rf ${SRC_DIR}/sample_data # reproduce make install without the wrapper script mkdir -p ${PREFIX}/bin mkdir -p ${TRINITY_HOME}/Butterfly -chmod +x Trinity -cp Trinity ${TRINITY_HOME}/ +chmod 0755 Trinity +cp -rf Trinity ${TRINITY_HOME}/ mv Analysis ${TRINITY_HOME}/ -cp Butterfly/Butterfly.jar ${TRINITY_HOME}/Butterfly +cp -rf Butterfly/Butterfly.jar ${TRINITY_HOME}/Butterfly mkdir -p ${TRINITY_HOME}/Chrysalis cp -LR Chrysalis/bin ${TRINITY_HOME}/Chrysalis mkdir -p ${TRINITY_HOME}/Inchworm @@ -32,19 +36,26 @@ cp -LR PyLib ${TRINITY_HOME}/ cp -LR trinity-plugins ${TRINITY_HOME}/ cp -LR util ${TRINITY_HOME}/ +sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' ${TRINITY_HOME}/util/*.pl +rm -rf ${TRINITY_HOME}/util/*.bak +sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' ${TRINITY_HOME}/util/misc/*.pl +rm -rf ${TRINITY_HOME}/util/misc/*.bak +sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' ${TRINITY_HOME}/util/support_scripts/*.pl +rm -rf ${TRINITY_HOME}/util/support_scripts/*.bak + # add link to Trinity from bin so in PATH cd ${BINARY_HOME} -ln -s ${TRINITY_HOME}/Trinity -ln -s ${TRINITY_HOME}/util/*.pl . -ln -s ${TRINITY_HOME}/Analysis/DifferentialExpression/PtR -ln -s ${TRINITY_HOME}/Analysis/DifferentialExpression/run_DE_analysis.pl -ln -s ${TRINITY_HOME}/Analysis/DifferentialExpression/analyze_diff_expr.pl -ln -s ${TRINITY_HOME}/Analysis/DifferentialExpression/define_clusters_by_cutting_tree.pl -ln -s ${TRINITY_HOME}/Analysis/SuperTranscripts/Trinity_gene_splice_modeler.py -ln -s ${TRINITY_HOME}/Analysis/SuperTranscripts/extract_supertranscript_from_reference.py -ln -s ${TRINITY_HOME}/util/support_scripts/get_Trinity_gene_to_trans_map.pl -ln -s ${TRINITY_HOME}/util/misc/contig_ExN50_statistic.pl -cp ${TRINITY_HOME}/trinity-plugins/BIN/seqtk-trinity . +ln -sf ${TRINITY_HOME}/Trinity +ln -sf ${TRINITY_HOME}/util/*.pl . +ln -sf ${TRINITY_HOME}/Analysis/DifferentialExpression/PtR +ln -sf ${TRINITY_HOME}/Analysis/DifferentialExpression/run_DE_analysis.pl +ln -sf ${TRINITY_HOME}/Analysis/DifferentialExpression/analyze_diff_expr.pl +ln -sf ${TRINITY_HOME}/Analysis/DifferentialExpression/define_clusters_by_cutting_tree.pl +ln -sf ${TRINITY_HOME}/Analysis/SuperTranscripts/Trinity_gene_splice_modeler.py +ln -sf ${TRINITY_HOME}/Analysis/SuperTranscripts/extract_supertranscript_from_reference.py +ln -sf ${TRINITY_HOME}/util/support_scripts/get_Trinity_gene_to_trans_map.pl +ln -sf ${TRINITY_HOME}/util/misc/contig_ExN50_statistic.pl +cp -rf ${TRINITY_HOME}/trinity-plugins/BIN/seqtk-trinity . # Find real path when executing from a symlink export LC_ALL=C @@ -56,7 +67,6 @@ sed -i.bak "s/\$ROOTDIR\/trinity-plugins\/Trimmomatic/\/opt\/anaconda1anaconda2a sed -i.bak 's/my $TRIMMOMATIC = "\([^"]\+\)"/my $TRIMMOMATIC = '"'"'\1'"'"'/' ${TRINITY_HOME}/Trinity sed -i.bak 's/my $TRIMMOMATIC_DIR = "\([^"]\+\)"/my $TRIMMOMATIC_DIR = '"'"'\1'"'"'/' ${TRINITY_HOME}/Trinity - find ${TRINITY_HOME} -type f -name "*.bak" -print0 | xargs -0 rm -f # export TRINITY_HOME as ENV variable diff --git a/recipes/trinity/makefile.patch b/recipes/trinity/makefile.patch index 1dea4321e5686..86b29fc1ef473 100644 --- a/recipes/trinity/makefile.patch +++ b/recipes/trinity/makefile.patch @@ -98,36 +98,28 @@ htslib/version.h : --- a/trinity-plugins/bamsifter/build_htslib.sh +++ b/trinity-plugins/bamsifter/build_htslib.sh -@@ -2,14 +2,10 @@ - - set -e -v - --tar xvf htslib-1.16.tar.bz2 --mv htslib-1.16 htslib - cd htslib --mkdir -p build --#autoheader --#autoconf +@@ -6,9 +6,7 @@ cd htslib + git submodule init && git submodule update + mkdir -p build + autoheader +-autoconf -./configure --prefix=`pwd`/build/ -+autoheader +autoreconf -+./configure --prefix=`pwd`/build/ CXXFLAGS="-I${PREFIX}/include ${LDFLAGS}" CFLAGS="-I${PREFIX}/include ${LDFLAGS}" ++./configure --prefix=`pwd`/build/ CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" CFLAGS="${CFLAGS} ${LDFLAGS}" make make install - - - - +- --- a/trinity-plugins/bamsifter/sift_bam_max_cov.cpp +++ b/trinity-plugins/bamsifter/sift_bam_max_cov.cpp -@@ -2,6 +2,7 @@ - #include - // #include - #include -+#include - #include - #include - #include --- -2.40.0 +@@ -14,8 +14,8 @@ + #include + #include + +-#include "htslib/sam.h" +-#include "htslib/bgzf.h" ++#include "htslib/htslib/sam.h" ++#include "htslib/htslib/bgzf.h" + + enum test_op { diff --git a/recipes/trinity/meta.yaml b/recipes/trinity/meta.yaml index c686e8c82f057..92c0c528bd138 100644 --- a/recipes/trinity/meta.yaml +++ b/recipes/trinity/meta.yaml @@ -1,6 +1,6 @@ {% set name = "Trinity" %} -{% set version = "2.15.1" %} -{% set sha256 = "ba37e5f696d3d54e8749c4ba439901a3e97e14a4314a5229d7a069ad7b1ee580" %} +{% set version = "2.15.2" %} +{% set sha256 = "baab87e4878ad097e265c46de121414629bf88fa9342022baae5cac12432a15c" %} package: name: {{ name|lower }} @@ -13,7 +13,9 @@ source: - makefile.patch build: - number: 3 + number: 0 + run_exports: + - {{ pin_subpackage('trinity', max_pin="x") }} requirements: build: @@ -69,15 +71,13 @@ test: - "Trinity_gene_splice_modeler.py --help" about: - home: https://github.com/trinityrnaseq/trinityrnaseq/ - license: BSD-3-Clause + home: "https://github.com/trinityrnaseq/trinityrnaseq" + license: "BSD-3-Clause" license_family: BSD - license_file: - - LICENSE - - LICENSE.txt + license_file: LICENSE summary: "Trinity assembles transcript sequences from Illumina RNA-Seq data." - doc_url: https://github.com/trinityrnaseq/trinityrnaseq/wiki - dev_url: https://github.com/trinityrnaseq/trinityrnaseq/ + doc_url: "https://github.com/trinityrnaseq/trinityrnaseq/wiki" + dev_url: "https://github.com/trinityrnaseq/trinityrnaseq" extra: identifiers: diff --git a/recipes/trnascan-se/build.sh b/recipes/trnascan-se/build.sh index f4f88fa388ac6..e3460852a2275 100644 --- a/recipes/trnascan-se/build.sh +++ b/recipes/trnascan-se/build.sh @@ -1,5 +1,6 @@ #!/bin/bash +export M4="${BUILD_PREFIX}/bin/m4" export INCLUDE_PATH=${PREFIX}/include export LIBRARY_PATH=${PREFIX}/lib export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" @@ -7,7 +8,10 @@ export CFLAGS="${CFLAGS} -O3 -I${PREFIX}/include ${LDFLAGS}" sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' tRNAscan-SE.src sed -i.bak '1 s|^.*$|#!/usr/bin/env perl|g' src/instman.pl +rm -rf *.bak +rm -rf src/*.bak +autoreconf -if ./configure CC="${CC}" CFLAGS="${CFLAGS}" --prefix="${PREFIX}" make diff --git a/recipes/trnascan-se/meta.yaml b/recipes/trnascan-se/meta.yaml index 5d8c1c2ed9f80..48596fa090ce3 100644 --- a/recipes/trnascan-se/meta.yaml +++ b/recipes/trnascan-se/meta.yaml @@ -1,16 +1,18 @@ {% set name = "tRNAscan-SE" %} {% set version = "2.0.12" %} -{% set sha256 = "96fa4af507cd918c1c623763d9260bd6ed055d091662b44314426f6bbf447251" %} +{% set sha256 = "4b255c2c5e0255381194166f857ab2ea21c55aa7de409e201333ba615aa3dc61" %} package: name: {{ name|lower }} version: {{ version }} build: - number: 0 + number: 1 + run_exports: + - {{ pin_subpackage('trnascan-se', max_pin="x") }} source: - url: http://trna.ucsc.edu/software/trnascan-se-{{ version }}.tar.gz + url: https://github.com/UCSC-LoweLab/tRNAscan-SE/archive/refs/tags/v{{ version }}.tar.gz sha256: {{ sha256 }} patches: - patches/libdir.patch @@ -21,6 +23,7 @@ requirements: - make - autoconf - automake + - libtool host: - perl run: @@ -32,13 +35,18 @@ test: - tRNAscan-SE -h about: - home: "http://lowelab.ucsc.edu/tRNAscan-SE/" - license: GPLv3 + home: "https://lowelab.ucsc.edu/tRNAscan-SE/" + license: "GPL-3.0-or-later" + license_family: GPL3 license_file: LICENSE summary: tRNA detection in large-scale genomic sequences - doc_url: "http://lowelab.ucsc.edu/tRNAscan-SE/help.html" + doc_url: "https://lowelab.ucsc.edu/tRNAscan-SE/help.html" + dev_url: "https://github.com/UCSC-LoweLab/tRNAscan-SE" extra: identifiers: - biotools:trnascan-se - doi:10.1093/nar/gkab688 + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/trtools/meta.yaml b/recipes/trtools/meta.yaml index f0431f6c1f2ec..cf9d3fb5e9a6f 100644 --- a/recipes/trtools/meta.yaml +++ b/recipes/trtools/meta.yaml @@ -1,5 +1,5 @@ {% set name = "trtools" %} -{% set version = "5.1.1" %} +{% set version = "6.0.2" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: e3b107d3d4a2ba2f0df49c382df911ab79bfbdf04aa15c84d3093bed67e4220d + sha256: 7bdb476951a4ec748df20058a31da3d1def14554cd9a67f85d3c61bf63f8f303 build: noarch: python @@ -20,27 +20,27 @@ build: - associaTR=trtools.associaTR:run - prancSTR = trtools.prancSTR:run - simTR = trtools.simTR:run - script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" number: 0 run_exports: - {{ pin_subpackage('trtools', max_pin="x") }} requirements: host: - - python >=3.5 - - pip >=20.1.1 + - python >=3.7.1,<4.0 + - poetry-core >=1.0.0 + - pip >=20.3 run: - - cyvcf2 >=0.30.1 - - matplotlib-base >=3.2.2 - - numpy >=1.18.5 - - pandas >=1.0.5 - - pybedtools >=0.8.1 - - pysam >=0.16.0.1 - - python >=3.5 + - python >=3.7.1,<4.0 + - cyvcf2 >=0.30.4 + - matplotlib-base >=3.1.2 + - numpy >=1.17.3 + - pandas >=1.2.0 + - pysam >=0.15.4 - scikit-learn >=0.23.1 - - scipy >=1.4.1 - - statsmodels >=0.13.5 - - pyfaidx >=0.5.3 + - scipy >=1.3.3 + - statsmodels >=0.10.2 + - pyfaidx >=0.5.6 - ART >=2016.06.05 test: @@ -71,7 +71,7 @@ test: - simTR --help about: - home: http://github.com/gymreklab/TRTools + home: https://github.com/gymreklab/TRTools license: MIT license_family: MIT license_file: LICENSE.txt @@ -83,3 +83,6 @@ extra: recipe-maintainers: - LiterallyUniqueLogin - aryarm + identifiers: + - biotools:trtools + - doi:10.1093/bioinformatics/btaa736 diff --git a/recipes/trumicount/meta.yaml b/recipes/trumicount/meta.yaml index a265848c6e08f..2e8b10e602cc5 100644 --- a/recipes/trumicount/meta.yaml +++ b/recipes/trumicount/meta.yaml @@ -10,7 +10,7 @@ source: build: noarch: generic - number: 1 + number: 2 script: | install -d "${PREFIX}/bin" install trumicount "${PREFIX}/bin/" diff --git a/recipes/trust4/LICENSE b/recipes/trust4/LICENSE index 94a9ed024d385..fb405d128dc60 100644 --- a/recipes/trust4/LICENSE +++ b/recipes/trust4/LICENSE @@ -1,674 +1,21 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. +MIT License + +Copyright (c) 2018- Li Song, X. Shirley Liu + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/recipes/trust4/build.sh b/recipes/trust4/build.sh index 14a6edf8accf5..0c58f85fd002c 100755 --- a/recipes/trust4/build.sh +++ b/recipes/trust4/build.sh @@ -1,10 +1,21 @@ #!/bin/bash -sed -i.bak 's/-f .\/samtools-0.1.19\/libbam.a/1/' Makefile -make \ +set -xe + +LINKPATH="${LDFLAGS}" +if [ "$(uname -m)" == "x86_64" ]; then + # use samtools 0.1.19 as a dependency + sed -i.bak 's/-f .\/samtools-0.1.19\/libbam.a/1/' Makefile +else + # build the vendored samtools 0.1.19 + sed -i.bak 's/cd samtools-0.1.19 ; make /cd samtools-0.1.19 ; make CC="${CC}" CFLAGS="${CFLAGS} -L${PREFIX}\/lib" LDFLAGS="${LDFLAGS}" LIBPATH="-L${PREFIX}\/lib"/' Makefile + LINKPATH="${LDFLAGS} -I./samtools-0.1.19 -L./samtools-0.1.19" +fi + +make -j ${CPU_COUNT} \ CXX="${CXX}" \ CXXFLAGS="${CXXFLAGS} -Wformat -O3" \ - LINKPATH="${LDFLAGS} -I./samtools-0.1.19" + LINKPATH="${LINKPATH}" install -d "${PREFIX}/bin" install trust4 fastq-extractor bam-extractor annotator run-trust4 \ trust-simplerep.pl trust-barcoderep.pl trust-smartseq.pl trust-airr.pl \ diff --git a/recipes/trust4/meta.yaml b/recipes/trust4/meta.yaml index 5dcd3365b3e4f..39d3efbb30704 100644 --- a/recipes/trust4/meta.yaml +++ b/recipes/trust4/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.0.13" %} +{% set version = "1.1.4" %} package: name: trust4 @@ -11,7 +11,7 @@ build: source: url: https://github.com/liulab-dfci/TRUST4/archive/v{{ version }}.tar.gz - sha256: 64069e2cad65960471f32daaf8568c05214b1d8b6b32b7fd138e56b90d634bb8 + sha256: c369ca538143b7aaf56d8d9d34f5c1024eaca425f1e2b8c845c78c2a29e6fbfb requirements: build: @@ -19,7 +19,7 @@ requirements: - {{ compiler('cxx') }} - {{ compiler('c') }} host: - - samtools 0.1.19.* + - samtools 0.1.19.* # [x86_64] - zlib run: - perl @@ -30,17 +30,21 @@ test: - fastq-extractor 2>&1 | cat > /dev/null - bam-extractor 2>&1 | cat > /dev/null - annotator 2>&1 | cat > /dev/null - - which trust-simplerep.pl - - which trust-barcoderep.pl - - which trust-smartseq.pl - - which trust-airr.pl - - which BuildDatabaseFa.pl - - which BuildImgtAnnot.pl - - which run-trust4 + - test -x ${PREFIX}/bin/trust-simplerep.pl + - test -x ${PREFIX}/bin/trust-barcoderep.pl + - test -x ${PREFIX}/bin/trust-smartseq.pl + - test -x ${PREFIX}/bin/trust-airr.pl + - test -x ${PREFIX}/bin/BuildDatabaseFa.pl + - test -x ${PREFIX}/bin/BuildImgtAnnot.pl + - test -x ${PREFIX}/bin/run-trust4 about: home: https://github.com/liulab-dfci/TRUST4 summary: TCR and BCR assembly from bulk or single-cell RNA-seq data - license: GPL-3.0-only - license_family: GPL3 + license: MIT license_file: LICENSE.txt + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/truvari/meta.yaml b/recipes/truvari/meta.yaml index 1acdd86eb2934..12ca13de958ae 100644 --- a/recipes/truvari/meta.yaml +++ b/recipes/truvari/meta.yaml @@ -1,19 +1,19 @@ {% set name = "truvari" %} -{% set version = "4.1.0" %} -{% set sha256 = "c30ddee89d0a7107fb0638977cf52aa9751e2f666f109d57026204ca66310ea4" %} +{% set version = "4.3.1" %} +{% set sha256 = "aeb1bec08ad5fbd6a515c76806dfc4c3e67240fb89825049288f29935d49cf54" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/Truvari-{{ version }}.tar.gz + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/truvari-{{ version }}.tar.gz sha256: {{ sha256 }} build: - number: 1 + number: 0 noarch: python - script: {{ PYTHON }} -m pip install . -vvv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv entry_points: - truvari = truvari.__main__:main run_exports: @@ -21,21 +21,22 @@ build: requirements: host: - - python >=3.6 + - python >=3.8 - pip + - setuptools run: - - python >=3.6 + - python >=3.8 - pywfa >=0.5.1 - rich >=12.5.1 - python-edlib >=1.3.9 - - pysam >=0.15.2 - - intervaltree >=3.0.2 + - pysam >=0.22 + - intervaltree >=3.1 - joblib >=1.2.0 - - numpy - - pytabix - - bwapy - - pandas - - mafft + - pytabix >=0.1 + - bwapy >=0.1.4 + - pandas >=1.5.3 + - pyabpoa >=1.4.3 + - mafft >=7.515 test: imports: @@ -49,3 +50,5 @@ about: license: MIT license_family: MIT license_file: LICENSE + dev_url: https://github.com/ACEnglish/truvari + doc_url: https://github.com/acenglish/truvari/wiki diff --git a/recipes/trycycler/meta.yaml b/recipes/trycycler/meta.yaml index 6a2dc9921ee6a..54af9c6a1546c 100644 --- a/recipes/trycycler/meta.yaml +++ b/recipes/trycycler/meta.yaml @@ -1,5 +1,5 @@ {% set name="trycycler" %} -{% set version="0.5.4" %} +{% set version="0.5.5" %} package: name: {{ name }} @@ -9,17 +9,19 @@ build: noarch: python number: 0 script: {{ PYTHON }} -m pip install --no-deps --ignore-installed . + run_exports: + - {{ pin_subpackage('trycycler', max_pin="x.x") }} source: url: https://github.com/rrwick/{{ name }}/archive/v{{ version }}.tar.gz - sha256: 6880e6920a5e4f3764fc3c7dd1dfc7ec4c9106eb5eb2ed90ae292e73c74893df + sha256: 5794a4520c3b8673adc69c975cee06d7658cd74ac6d9378d1fc7af860bec1a89 requirements: host: - - python >=3.6 + - python >=3.6,<3.11 - pip run: - - python >=3.6 + - python >=3.6,<3.11 - python-edlib - scipy - numpy diff --git a/recipes/tsebra/meta.yaml b/recipes/tsebra/meta.yaml index 52af2306ddd96..8417e8571f382 100644 --- a/recipes/tsebra/meta.yaml +++ b/recipes/tsebra/meta.yaml @@ -1,6 +1,6 @@ -{% set version = "1.1.2" %} +{% set version = "1.1.2.5" %} {% set name = "tsebra" %} -{% set sha256 = "d2fcf571890a70f9c3b60c1ffdbf6e60fd6c7b3c7c71bc78462ba0a52aca6300" %} +{% set sha256 = "2d7412dbc42087faf18df4554656488549ddef946883e4b3001e84ea4abfc726" %} package: name: "{{ name }}" diff --git a/recipes/tssar/meta.yaml b/recipes/tssar/meta.yaml index 5db241480aeda..1c82fdc3dc84b 100644 --- a/recipes/tssar/meta.yaml +++ b/recipes/tssar/meta.yaml @@ -7,7 +7,7 @@ source: md5: 22f3c1fe591a566b0c31877fff6c31b9 build: - number: 7 + number: 8 skip: True # [osx] rpaths: diff --git a/recipes/tssv/meta.yaml b/recipes/tssv/meta.yaml index 5fd98daf04df6..7315d9a6e4479 100644 --- a/recipes/tssv/meta.yaml +++ b/recipes/tssv/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 28b0b5071bcb50362841a053e94d860be371bc0fc1420c28678399b3abb22383 build: - number: 3 + number: 4 skip: True # [py2k] script: "{{ PYTHON }} -m pip install . -vv" diff --git a/recipes/tsv-utils/build.sh b/recipes/tsv-utils/build.sh deleted file mode 100644 index d6cfc9ee1ccf8..0000000000000 --- a/recipes/tsv-utils/build.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -set -x - -cp -r bin $PREFIX diff --git a/recipes/tsv-utils/meta.yaml b/recipes/tsv-utils/meta.yaml deleted file mode 100644 index acdfd5e7da7a1..0000000000000 --- a/recipes/tsv-utils/meta.yaml +++ /dev/null @@ -1,40 +0,0 @@ -{% set name = "tsv-utils" %} -{% set version = "2.2.0" %} - -package: - name: {{ name|lower }} - version: {{ version }} - -source: - - url: https://github.com/eBay/tsv-utils/releases/download/v{{ version }}/tsv-utils-v{{ version }}_linux-x86_64_ldc2.tar.gz # [linux64] - sha256: f8b1132521ceaa566fee75f4b75a1e0a0ef654fc8f6212fb11d5ec65d427e412 # [linux64] - - url: https://github.com/eBay/tsv-utils/releases/download/v{{ version }}/tsv-utils-v{{ version }}_osx-x86_64_ldc2.tar.gz # [osx and x86_64] - sha256: caa97c9bb838130ba824003ac991009819a681e6c824ed93b58ae2bec35252a6 # [osx and x86_64] - -build: - number: 0 - binary_relocation: false - -requirements: - -test: - commands: - - "csv2tsv -V" - -about: - home: https://github.com/eBay/tsv-utils - license: BSL-1.0 - license_file: LICENSE.txt - summary: "eBay's TSV Utilities" - description: | - Command line tools for large, tabular data files. - Filtering, statistics, sampling, joins and more. - doc_url: https://ebay.github.io/tsv-utils/ - dev_url: https://github.com/eBay/tsv-utils#obtaining-and-installation - -extra: - recipe-maintainers: - - corneliusroemer - skip-lints: - # repackaged binary - - should_be_noarch_generic diff --git a/recipes/ucsc-addcols/build.sh b/recipes/ucsc-addcols/build.sh index 5152b7aaddce9..880241ad96660 100644 --- a/recipes/ucsc-addcols/build.sh +++ b/recipes/ucsc-addcols/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/addCols && make) -cp bin/addCols "$PREFIX/bin" -chmod +x "$PREFIX/bin/addCols" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/addCols && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/addCols "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/addCols" diff --git a/recipes/ucsc-addcols/include.patch b/recipes/ucsc-addcols/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-addcols/include.patch +++ b/recipes/ucsc-addcols/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-addcols/meta.yaml b/recipes/ucsc-addcols/meta.yaml index e714f70cfe156..63fadaf3b0f19 100644 --- a/recipes/ucsc-addcols/meta.yaml +++ b/recipes/ucsc-addcols/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-addcols" %} {% set program = "addCols" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Sum columns in a text file." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-ameme/build.sh b/recipes/ucsc-ameme/build.sh index 369125d45c781..9d9cf92f41ee3 100644 --- a/recipes/ucsc-ameme/build.sh +++ b/recipes/ucsc-ameme/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/ameme && make) -cp bin/ameme "$PREFIX/bin" -chmod +x "$PREFIX/bin/ameme" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/ameme && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/ameme "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/ameme" diff --git a/recipes/ucsc-ameme/include.patch b/recipes/ucsc-ameme/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-ameme/include.patch +++ b/recipes/ucsc-ameme/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-ameme/meta.yaml b/recipes/ucsc-ameme/meta.yaml index a8634a8e9544b..7b92909aa8ed1 100644 --- a/recipes/ucsc-ameme/meta.yaml +++ b/recipes/ucsc-ameme/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-ameme" %} {% set program = "ameme" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "find common patterns in DNA" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-autodtd/build.sh b/recipes/ucsc-autodtd/build.sh index e1d5651d19a99..ebab5b497694d 100644 --- a/recipes/ucsc-autodtd/build.sh +++ b/recipes/ucsc-autodtd/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/autoDtd && make) -cp bin/autoDtd "$PREFIX/bin" -chmod +x "$PREFIX/bin/autoDtd" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/autoDtd && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/autoDtd "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/autoDtd" diff --git a/recipes/ucsc-autodtd/include.patch b/recipes/ucsc-autodtd/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-autodtd/include.patch +++ b/recipes/ucsc-autodtd/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-autodtd/meta.yaml b/recipes/ucsc-autodtd/meta.yaml index c2dd0b679a456..597fe094769b6 100644 --- a/recipes/ucsc-autodtd/meta.yaml +++ b/recipes/ucsc-autodtd/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-autodtd" %} {% set program = "autoDtd" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Give this a XML document to look at and it will come up with a DTD" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-autosql/build.sh b/recipes/ucsc-autosql/build.sh index 5024ff262b0d4..ee0b575e35b97 100644 --- a/recipes/ucsc-autosql/build.sh +++ b/recipes/ucsc-autosql/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/autoSql && make) -cp bin/autoSql "$PREFIX/bin" -chmod +x "$PREFIX/bin/autoSql" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/autoSql && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/autoSql "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/autoSql" diff --git a/recipes/ucsc-autosql/include.patch b/recipes/ucsc-autosql/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-autosql/include.patch +++ b/recipes/ucsc-autosql/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-autosql/meta.yaml b/recipes/ucsc-autosql/meta.yaml index 7fff6c596275c..b2a651b3b5a58 100644 --- a/recipes/ucsc-autosql/meta.yaml +++ b/recipes/ucsc-autosql/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-autosql" %} {% set program = "autoSql" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "create SQL and C code for permanently storing" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-autoxml/build.sh b/recipes/ucsc-autoxml/build.sh index d6291e37a6590..73dfe37c83820 100644 --- a/recipes/ucsc-autoxml/build.sh +++ b/recipes/ucsc-autoxml/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/autoXml && make) -cp bin/autoXml "$PREFIX/bin" -chmod +x "$PREFIX/bin/autoXml" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/autoXml && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/autoXml "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/autoXml" diff --git a/recipes/ucsc-autoxml/include.patch b/recipes/ucsc-autoxml/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-autoxml/include.patch +++ b/recipes/ucsc-autoxml/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-autoxml/meta.yaml b/recipes/ucsc-autoxml/meta.yaml index 8e5c68c702040..c5328653b9315 100644 --- a/recipes/ucsc-autoxml/meta.yaml +++ b/recipes/ucsc-autoxml/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-autoxml" %} {% set program = "autoXml" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Generate structures code and parser for XML file from DTD-like spec" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-avecols/build.sh b/recipes/ucsc-avecols/build.sh index 0df18cc89a73a..eb3ce0613441f 100644 --- a/recipes/ucsc-avecols/build.sh +++ b/recipes/ucsc-avecols/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/aveCols && make) -cp bin/aveCols "$PREFIX/bin" -chmod +x "$PREFIX/bin/aveCols" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/aveCols && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/aveCols "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/aveCols" diff --git a/recipes/ucsc-avecols/include.patch b/recipes/ucsc-avecols/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-avecols/include.patch +++ b/recipes/ucsc-avecols/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-avecols/meta.yaml b/recipes/ucsc-avecols/meta.yaml index 529e499761634..1845792fc30ac 100644 --- a/recipes/ucsc-avecols/meta.yaml +++ b/recipes/ucsc-avecols/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-avecols" %} {% set program = "aveCols" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "average together columns" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-axtchain/build.sh b/recipes/ucsc-axtchain/build.sh index 0cf99f309dc17..1765bb92a55e3 100644 --- a/recipes/ucsc-axtchain/build.sh +++ b/recipes/ucsc-axtchain/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/axtChain && make) -cp bin/axtChain "$PREFIX/bin" -chmod +x "$PREFIX/bin/axtChain" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/axtChain && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/axtChain "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/axtChain" diff --git a/recipes/ucsc-axtchain/include.patch b/recipes/ucsc-axtchain/include.patch index e4831ef2dea13..edc04d0dc2f64 100644 --- a/recipes/ucsc-axtchain/include.patch +++ b/recipes/ucsc-axtchain/include.patch @@ -1,22 +1,22 @@ --- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 ++++ kent/src/inc/common.mk.new 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -+++ kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -@@ -147,4 +147,4 @@ -- L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl -+ L+=${PREFIX}/lib/libssl.so ${PREFIX}/lib/libcrypto.so -ldl - else - ifneq ($(wildcard /opt/local/lib/libssl.a),) - L+=/opt/local/lib/libssl.a +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python + + import logging, sys, optparse, string + from collections import defaultdict --- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ @@ -25,16 +25,3 @@ # expMatrixToBarchartBed """ Generate a barChart bed6+5 file from a matrix, meta data, and coordinates. ---- kent/src/hg/lib/straw/makefile -+++ kent/src/hg/lib/straw/makefile -@@ -3,8 +3,8 @@ - straw: straw.o cStraw.o - ld -r -o ../straw.o straw.o cStraw.o - straw.o: straw.cpp straw.h -- ${CXX} straw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o straw.o -+ ${CXX} straw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o straw.o -I ${PREFIX}/include - cStraw.o: cStraw.cpp straw.h -- ${CXX} cStraw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o cStraw.o -+ ${CXX} cStraw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o cStraw.o -I ${PREFIX}/include - clean: - rm -f straw.o cStraw.o ../straw.o diff --git a/recipes/ucsc-axtchain/meta.yaml b/recipes/ucsc-axtchain/meta.yaml index 72064fd875b92..8bdb49a164a0d 100644 --- a/recipes/ucsc-axtchain/meta.yaml +++ b/recipes/ucsc-axtchain/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-axtchain" %} {% set program = "axtChain" %} -{% set version = "455" %} -{% set sha256 = "e458cadad7c4a5c1b8385edafffa1b29380ac725a0c20535bf5a3bab99fe80db" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -23,27 +23,35 @@ requirements: build: - make - {{ compiler('c') }} - - binutils >=2.32 # https://wiki.gentoo.org/wiki/Project:Toolchain/Binutils_2.32_upgrade_notes/elfutils_0.175:_unable_to_initialize_decompress_status_for_section_.debug_info - - {{ compiler('cxx') }} host: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib + run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Chain together axt alignments." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-axtsort/build.sh b/recipes/ucsc-axtsort/build.sh index 092e49c1e0972..f8296a72424f0 100644 --- a/recipes/ucsc-axtsort/build.sh +++ b/recipes/ucsc-axtsort/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/axtSort && make) -cp bin/axtSort "$PREFIX/bin" -chmod +x "$PREFIX/bin/axtSort" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/axtSort && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/axtSort "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/axtSort" diff --git a/recipes/ucsc-axtsort/include.patch b/recipes/ucsc-axtsort/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-axtsort/include.patch +++ b/recipes/ucsc-axtsort/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-axtsort/meta.yaml b/recipes/ucsc-axtsort/meta.yaml index aca507dc40267..41b575334e20f 100644 --- a/recipes/ucsc-axtsort/meta.yaml +++ b/recipes/ucsc-axtsort/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-axtsort" %} {% set program = "axtSort" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Sort axt files" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-axtswap/build.sh b/recipes/ucsc-axtswap/build.sh index 1b0c3435ce845..002d003249880 100644 --- a/recipes/ucsc-axtswap/build.sh +++ b/recipes/ucsc-axtswap/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/axtSwap && make) -cp bin/axtSwap "$PREFIX/bin" -chmod +x "$PREFIX/bin/axtSwap" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/axtSwap && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/axtSwap "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/axtSwap" diff --git a/recipes/ucsc-axtswap/include.patch b/recipes/ucsc-axtswap/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-axtswap/include.patch +++ b/recipes/ucsc-axtswap/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-axtswap/meta.yaml b/recipes/ucsc-axtswap/meta.yaml index 6d14fbe00de1d..af74691f328d2 100644 --- a/recipes/ucsc-axtswap/meta.yaml +++ b/recipes/ucsc-axtswap/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-axtswap" %} {% set program = "axtSwap" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Swap source and query in an axt file" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-axttomaf/build.sh b/recipes/ucsc-axttomaf/build.sh index 9b86c892dc16a..8aff3ba3ee73e 100644 --- a/recipes/ucsc-axttomaf/build.sh +++ b/recipes/ucsc-axttomaf/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/axtToMaf && make) -cp bin/axtToMaf "$PREFIX/bin" -chmod +x "$PREFIX/bin/axtToMaf" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/axtToMaf && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/axtToMaf "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/axtToMaf" diff --git a/recipes/ucsc-axttomaf/include.patch b/recipes/ucsc-axttomaf/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-axttomaf/include.patch +++ b/recipes/ucsc-axttomaf/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-axttomaf/meta.yaml b/recipes/ucsc-axttomaf/meta.yaml index c4c3506781e5f..9fad27f9b6c48 100644 --- a/recipes/ucsc-axttomaf/meta.yaml +++ b/recipes/ucsc-axttomaf/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-axttomaf" %} {% set program = "axtToMaf" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert from axt to maf format" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-axttopsl/build.sh b/recipes/ucsc-axttopsl/build.sh index d34c31e9c40dd..53d90bfeef68a 100644 --- a/recipes/ucsc-axttopsl/build.sh +++ b/recipes/ucsc-axttopsl/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/axtToPsl && make) -cp bin/axtToPsl "$PREFIX/bin" -chmod +x "$PREFIX/bin/axtToPsl" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/axtToPsl && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/axtToPsl "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/axtToPsl" diff --git a/recipes/ucsc-axttopsl/include.patch b/recipes/ucsc-axttopsl/include.patch index 5404b18b5467a..edc04d0dc2f64 100644 --- a/recipes/ucsc-axttopsl/include.patch +++ b/recipes/ucsc-axttopsl/include.patch @@ -1,22 +1,22 @@ --- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 ++++ kent/src/inc/common.mk.new 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif - + HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include - ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include + # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -+++ kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -@@ -147,4 +147,4 @@ -- L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl -+ L+=${PREFIX}/lib/libssl.so ${PREFIX}/lib/libcrypto.so -ldl - else - ifneq ($(wildcard /opt/local/lib/libssl.a),) - L+=/opt/local/lib/libssl.a +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python + + import logging, sys, optparse, string + from collections import defaultdict --- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ @@ -25,16 +25,3 @@ # expMatrixToBarchartBed """ Generate a barChart bed6+5 file from a matrix, meta data, and coordinates. ---- kent/src/hg/lib/straw/makefile -+++ kent/src/hg/lib/straw/makefile -@@ -3,8 +3,8 @@ - straw: straw.o cStraw.o - ld -r -o ../straw.o straw.o cStraw.o - straw.o: straw.cpp straw.h -- ${CXX} straw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o straw.o -+ ${CXX} straw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o straw.o -I ${PREFIX}/include - cStraw.o: cStraw.cpp straw.h -- ${CXX} cStraw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o cStraw.o -+ ${CXX} cStraw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o cStraw.o -I ${PREFIX}/include - clean: - rm -f straw.o cStraw.o ../straw.o diff --git a/recipes/ucsc-axttopsl/meta.yaml b/recipes/ucsc-axttopsl/meta.yaml index d3c5108e5d1c7..b6873169ffcc3 100644 --- a/recipes/ucsc-axttopsl/meta.yaml +++ b/recipes/ucsc-axttopsl/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-axttopsl" %} {% set program = "axtToPsl" %} -{% set version = "455" %} -{% set sha256 = "e458cadad7c4a5c1b8385edafffa1b29380ac725a0c20535bf5a3bab99fe80db" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -23,27 +23,35 @@ requirements: build: - make - {{ compiler('c') }} - - binutils >=2.32 # https://wiki.gentoo.org/wiki/Project:Toolchain/Binutils_2.32_upgrade_notes/elfutils_0.175:_unable_to_initialize_decompress_status_for_section_.debug_info - - {{ compiler('cxx') }} host: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib + run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert axt to psl format" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bamtopsl/build.sh b/recipes/ucsc-bamtopsl/build.sh index ce701d375c18f..c68078409abcb 100644 --- a/recipes/ucsc-bamtopsl/build.sh +++ b/recipes/ucsc-bamtopsl/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/bamToPsl && make) -cp bin/bamToPsl "$PREFIX/bin" -chmod +x "$PREFIX/bin/bamToPsl" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/bamToPsl && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bamToPsl "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bamToPsl" diff --git a/recipes/ucsc-bamtopsl/build_failure.linux-aarch64.yaml b/recipes/ucsc-bamtopsl/build_failure.linux-aarch64.yaml new file mode 100644 index 0000000000000..94614dba9e19b --- /dev/null +++ b/recipes/ucsc-bamtopsl/build_failure.linux-aarch64.yaml @@ -0,0 +1,104 @@ +recipe_sha: cabd65b4a582750389dddd801a4cb10eeace0ae27e187a087c070a8ab41e7a12 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rmskOut.o -c rmskOut.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rmskOut2.o -c rmskOut2.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rnaGene.o -c rnaGene.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sage.o -c sage.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sageCounts.o -c sageCounts.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o samAlignment.o -c samAlignment.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sample.o -c sample.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sanger22extra.o -c sanger22extra.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o scoredRef.o -c scoredRef.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o seqWindow.o -c seqWindow.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o snakeUi.o -c snakeUi.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o snp.o -c snp.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o snpExceptions.o -c snpExceptions.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o soTerm.o -c soTerm.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o spDb.o -c spDb.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sqlProg.o -c sqlProg.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sqlSanity.o -c sqlSanity.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o stanMad.o -c stanMad.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o stsAlias.o -c stsAlias.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o stsInfo2.o -c stsInfo2.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o stsMap.o -c stsMap.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o stsMarker.o -c stsMarker.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tableStatus.o -c tableStatus.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tablesTables.o -c tablesTables.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tagRepo.o -c tagRepo.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tfbsCons.o -c tfbsCons.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tigrCmrGene.o -c tigrCmrGene.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o traceInfo.o -c traceInfo.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackDb.o -c trackDb.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackDbCache.o -c trackDbCache.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackDbCustom.o -c trackDbCustom.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackHub.o -c trackHub.c + trackDbCustom.c: In function 'trackDbInclude': + trackDbCustom.c:294:5: warning: 'splitPath' accessing 512 bytes in a region of size 256 [-Wstringop-overflow=] + 294 | splitPath(raFile, incFile, NULL, NULL); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + trackDbCustom.c:294:5: note: referencing argument 2 of type 'char[512]' + trackDbCustom.c:294:5: note: referencing argument 3 of type 'char[128]' + trackDbCustom.c:294:5: note: referencing argument 4 of type 'char[64]' + In file included from trackDbCustom.c:9: + ../../inc/common.h:1139:6: note: in a call to function 'splitPath' + 1139 | void splitPath(char *path, char dir[PATH_LEN], char name[FILENAME_LEN], + | ^~~~~~~~~ + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackVersion.o -c trackVersion.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trashDir.o -c trashDir.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txAliDiff.o -c txAliDiff.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txCluster.o -c txCluster.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txCommon.o -c txCommon.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txEdgeBed.o -c txEdgeBed.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txGraph.o -c txGraph.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txInfo.o -c txInfo.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txRnaAccs.o -c txRnaAccs.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o variantProjector.o -c variantProjector.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vcfUi.o -c vcfUi.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vegaInfo.o -c vegaInfo.c + sed -e 's/\\/\\\\/g; s/"/\\"/g; s/^/"/; s/$/\\n"/;' jWestHeader.html > jWestHeader.h + sed -e 's/\\/\\\\/g; s/"/\\"/g; s/^/"/; s/$/\\n"/;' jWestBanner.html > jWestBanner.h + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wigAsciiToBinary.o -c wigAsciiToBinary.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wigDataStream.o -c wigDataStream.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggle.o -c wiggle.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggleCart.o -c wiggleCart.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggleUtils.o -c wiggleUtils.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wikiLink.o -c wikiLink.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o bigRmskAlignBed.o -c bigRmskAlignBed.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o bigRmskBed.o -c bigRmskBed.c + mkdir -p ../../lib/aarch64 + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o web.o -c web.c + ar rcus ../../lib/aarch64/jkhgap.a adjacency.o affyPairs.o agpFrag.o agpGap.o alignSeqSizes.o altGraphX.o asmAlias.o asmEquivalent.o asmSummary.o autoUpgrade.o axtInfo.o barChartBed.o barChartCategory.o barChartUi.o bed.o bed12Source.o bedDetail.o bigBedFind.o bigBedLabel.o bigChain.o bigDbSnp.o bigGenePred.o bigLink.o bigPsl.o blastTab.o borf.o botDelay.o cart.o cartDb.o cdsEvidence.o cdsOrtho.o cdsPick.o cgapSage/cgapSage.o cgapSage/cgapSageLib.o cgiApoptosis.o chainCart.o chainDb.o chainLink.o chainNet.o chainNetDbLoad.o chromAlias.o chromBins.o chromGraph.o chromGraphFactory.o chromInfo.o chromInserts.o chromKeeper.o clonePos.o cpgIsland.o ctgPos.o customAdjacency.o customComposite.o customFactory.o customPp.o customTrack.o cv.o cytoBand.o dbDb.o decoration.o decoratorUi.o defaultDb.o dnaMotifSql.o dupTrack.o encode/encodeErge.o encode/encodeErgeHssCellLines.o encode/encodeExp.o encode/encodeHapMapAlleleFreq.o encode/encodeIndels.o encode/encodePeak.o encode/encodeRegionInfoCustom.o encode/encodeRna.o encode/encodeStanfordPromoters.o encode/encodeStanfordPromotersAverage.o encode/peptideMapping.o encode/wgEncodeGencodeAnnotationRemark.o encode/wgEncodeGencodeAttrs.o encode/wgEncodeGencodeEntrezGene.o encode/wgEncodeGencodeExonSupport.o encode/wgEncodeGencodeGeneSource.o encode/wgEncodeGencodeGeneSymbol.o encode/wgEncodeGencodePdb.o encode/wgEncodeGencodePubMed.o encode/wgEncodeGencodeRefSeq.o encode/wgEncodeGencodeTag.o encode/wgEncodeGencodeTranscriptSource.o encode/wgEncodeGencodeTranscriptSupport.o encode/wgEncodeGencodeTranscriptionSupportLevel.o encode/wgEncodeGencodeUniProt.o encode3/encode3Valid.o estOrientInfo.o expData.o exportedDataHubs.o expRecord.o facetField.o facetedTable.o featureBits.o findKGAlias.o fakeCurl.o findKGProtAlias.o gbSeq.o gbExtFile.o gcPercent.o genark.o genbank.o genbankBlackList.o gencodeTracksCommon.o gencodeAttrs.o gencodeToRefSeq.o geneGraph.o genePred.o genePredReader.o geoMirror.o ggCluster.o ggDump.o ggGraph.o ggMrnaAli.o ggTypes.o glDbRep.o googleAnalytics.o gpFx.o grp.o gtexAse.o gtexDonor.o gtexGeneBed.o gtexInfo.o gtexSample.o gtexSampleData.o gtexTissue.o gtexTissueMedian.o gtexUi.o hCommon.o hPrint.o hVarSubst.o hapmapAllelesOrtho.o hapmapPhaseIIISummary.o hapmapSnps.o hdb.o hgColors.o hgConfig.o hgFind.o hgFindSpec.o hgFindSpecCustom.o hgHgvs.o hgHgvsParse.o hgMaf.o hgRelate.o hic.o hicUi.o hubConnect.o hubPublic.o hubSearchText.o hui.o imageClone.o indelShift.o interact.o interactUi.o itemAttr.o jksql.o joiner.o jsHelper.o kgAlias.o kgProtAlias.o kgXref.o knownInfo.o knownMore.o lav.o lfs.o liftOver.o liftOverChain.o liftUp.o longRange.o lrg.o lsSnpPdb.o mafFrames.o mafGene.o mafSummary.o makeItemsItem.o mdb.o microarray.o minChromSize.o namedSessionDb.o netAlign.o netCart.o pepPred.o pgPhenoAssoc.o pgSnp.o pslReader.o qaSeq.o quickLift.o quickLiftChain.o rankProp.o refLink.o refSeqStatus.o rikenCluster.o rmskAlign.o rmskJoined.o rmskOut.o rmskOut2.o rnaGene.o sage.o sageCounts.o samAlignment.o sample.o sanger22extra.o scoredRef.o seqWindow.o snakeUi.o snp.o snpExceptions.o soTerm.o spDb.o sqlProg.o sqlSanity.o stanMad.o stsAlias.o stsInfo2.o stsMap.o stsMarker.o tableStatus.o tablesTables.o tagRepo.o tfbsCons.o tigrCmrGene.o traceInfo.o trackDb.o trackDbCache.o trackDbCustom.o trackHub.o trackVersion.o trashDir.o txAliDiff.o txCluster.o txCommon.o txEdgeBed.o txGraph.o txInfo.o txRnaAccs.o variantProjector.o vcfUi.o vegaInfo.o web.o wigAsciiToBinary.o wigDataStream.o wiggle.o wiggleCart.o wiggleUtils.o wikiLink.o bigRmskAlignBed.o bigRmskBed.o + cd kent/src/utils/bamToPsl + make CC=/opt/conda/conda-bld/ucsc-bamtopsl_1724787806460/_build_env/bin/aarch64-conda-linux-gnu-cc CXX= 'CFLAGS=-ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem /opt/conda/conda-bld/ucsc-bamtopsl_1724787806460/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/include -fdebug-prefix-map=/opt/conda/conda-bld/ucsc-bamtopsl_1724787806460/work=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=/opt/conda/conda-bld/ucsc-bamtopsl_1724787806460/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,/opt/conda/conda-bld/ucsc-bamtopsl_1724787806460/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib -Wl,-rpath-link,/opt/conda/conda-bld/ucsc-bamtopsl_1724787806460/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib -L/opt/conda/conda-bld/ucsc-bamtopsl_1724787806460/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib -L/opt/conda/conda-bld/ucsc-bamtopsl_1724787806460/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib' 'CXXFLAGS= -I/opt/conda/conda-bld/ucsc-bamtopsl_1724787806460/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/include -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,/opt/conda/conda-bld/ucsc-bamtopsl_1724787806460/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib -Wl,-rpath-link,/opt/conda/conda-bld/ucsc-bamtopsl_1724787806460/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib -L/opt/conda/conda-bld/ucsc-bamtopsl_1724787806460/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib -L/opt/conda/conda-bld/ucsc-bamtopsl_1724787806460/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib' -j 4 + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bamtopsl-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -DUSE_HIC -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -o bamToPsl.o -c bamToPsl.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -o $SRC_DIR/bin/bamToPsl bamToPsl.o ../../lib/aarch64/jkweb.a -L$PREFIX/lib -lmysqlclient -lstdc -lrt -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -lpthread $PREFIX/lib/libssl.a $PREFIX/lib/libcrypto.a -ldl ../../htslib/libhts.a -L$PREFIX/lib -lpng16 -lm -lz + /opt/conda/conda-bld/ucsc-bamtopsl_1724787806460/_build_env/bin/../lib/gcc/aarch64-conda-linux-gnu/12.4.0/../../../../aarch64-conda-linux-gnu/bin/ld: ../../lib/aarch64/jkweb.a(bamFile.o): in function bamFetchAlreadyOpen': + /usr/local/src/conda/ucsc-bamtopsl-469/kent/src/lib/bamFile.c:207: undefined reference to cram_get_Md5' + /opt/conda/conda-bld/ucsc-bamtopsl_1724787806460/_build_env/bin/../lib/gcc/aarch64-conda-linux-gnu/12.4.0/../../../../aarch64-conda-linux-gnu/bin/ld: /usr/local/src/conda/ucsc-bamtopsl-469/kent/src/lib/bamFile.c:207: undefined reference to cram_get_Md5' + /opt/conda/conda-bld/ucsc-bamtopsl_1724787806460/_build_env/bin/../lib/gcc/aarch64-conda-linux-gnu/12.4.0/../../../../aarch64-conda-linux-gnu/bin/ld: /usr/local/src/conda/ucsc-bamtopsl-469/kent/src/lib/bamFile.c:214: undefined reference to cram_get_ref_url' + /opt/conda/conda-bld/ucsc-bamtopsl_1724787806460/_build_env/bin/../lib/gcc/aarch64-conda-linux-gnu/12.4.0/../../../../aarch64-conda-linux-gnu/bin/ld: /usr/local/src/conda/ucsc-bamtopsl-469/kent/src/lib/bamFile.c:214: undefined reference to cram_get_ref_url' + /opt/conda/conda-bld/ucsc-bamtopsl_1724787806460/_build_env/bin/../lib/gcc/aarch64-conda-linux-gnu/12.4.0/../../../../aarch64-conda-linux-gnu/bin/ld: /usr/local/src/conda/ucsc-bamtopsl-469/kent/src/lib/bamFile.c:215: undefined reference to cram_get_cache_dir' + /opt/conda/conda-bld/ucsc-bamtopsl_1724787806460/_build_env/bin/../lib/gcc/aarch64-conda-linux-gnu/12.4.0/../../../../aarch64-conda-linux-gnu/bin/ld: /usr/local/src/conda/ucsc-bamtopsl-469/kent/src/lib/bamFile.c:215: undefined reference to cram_get_cache_dir' + /opt/conda/conda-bld/ucsc-bamtopsl_1724787806460/_build_env/bin/../lib/gcc/aarch64-conda-linux-gnu/12.4.0/../../../../aarch64-conda-linux-gnu/bin/ld: ../../lib/aarch64/jkweb.a(bamFile.o): in function bamAndIndexFetchPlus': + /usr/local/src/conda/ucsc-bamtopsl-469/kent/src/lib/bamFile.c:257: undefined reference to cram_set_cache_url' + /opt/conda/conda-bld/ucsc-bamtopsl_1724787806460/_build_env/bin/../lib/gcc/aarch64-conda-linux-gnu/12.4.0/../../../../aarch64-conda-linux-gnu/bin/ld: /usr/local/src/conda/ucsc-bamtopsl-469/kent/src/lib/bamFile.c:257: undefined reference to cram_set_cache_url' + collect2: error: ld returned 1 exit status + make: *** [../../inc/userApp.mk:32: /opt/conda/conda-bld/ucsc-bamtopsl_1724787806460/work/bin/bamToPsl] Error 1 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/ucsc-bamtopsl_1724787806460/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/ucsc-bamtopsl/include.patch b/recipes/ucsc-bamtopsl/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bamtopsl/include.patch +++ b/recipes/ucsc-bamtopsl/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bamtopsl/meta.yaml b/recipes/ucsc-bamtopsl/meta.yaml index 3ab6ea6912eda..24249d39cd741 100644 --- a/recipes/ucsc-bamtopsl/meta.yaml +++ b/recipes/ucsc-bamtopsl/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bamtopsl" %} {% set program = "bamToPsl" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 3 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert a bam file to a psl and optionally also a fasta file that contains the reads." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bedclip/build.sh b/recipes/ucsc-bedclip/build.sh index af41c472a9323..7899ca0c8a07a 100644 --- a/recipes/ucsc-bedclip/build.sh +++ b/recipes/ucsc-bedclip/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/bedClip && make) -cp bin/bedClip "$PREFIX/bin" -chmod +x "$PREFIX/bin/bedClip" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/bedClip && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bedClip "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bedClip" diff --git a/recipes/ucsc-bedclip/conda_build_config.yaml b/recipes/ucsc-bedclip/conda_build_config.yaml new file mode 100644 index 0000000000000..d8d0c3f0dc913 --- /dev/null +++ b/recipes/ucsc-bedclip/conda_build_config.yaml @@ -0,0 +1,2 @@ +c_compiler_version: + - 8 diff --git a/recipes/ucsc-bedclip/include.patch b/recipes/ucsc-bedclip/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bedclip/include.patch +++ b/recipes/ucsc-bedclip/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bedclip/meta.yaml b/recipes/ucsc-bedclip/meta.yaml index 68be7e4c5b546..3dcd15559784f 100644 --- a/recipes/ucsc-bedclip/meta.yaml +++ b/recipes/ucsc-bedclip/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bedclip" %} {% set program = "bedClip" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Remove lines from bed file that refer to off-chromosome locations." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bedclip/patch1.patch b/recipes/ucsc-bedclip/patch1.patch new file mode 100644 index 0000000000000..483b0342a43da --- /dev/null +++ b/recipes/ucsc-bedclip/patch1.patch @@ -0,0 +1,19 @@ +--- userApps/kent/src/lib/htmshell.c.old 2022-10-28 08:32:08.344445121 +0000 ++++ userApps/kent/src/lib/htmshell.c 2022-10-28 08:32:31.708262420 +0000 +@@ -711,11 +711,11 @@ + puts("Status: 400\r"); + puts("Content-Type: text/plain; charset=UTF-8\r"); + puts("\r"); +-if (format != NULL && args != NULL) +- { +- vfprintf(stdout, format, args); +- fprintf(stdout, "\n"); +- } ++if (format != NULL) ++ { ++ vfprintf(stdout, format, args); ++ fprintf(stdout, "\n"); ++ } + exit(-1); + } + diff --git a/recipes/ucsc-bedcommonregions/build.sh b/recipes/ucsc-bedcommonregions/build.sh index ceb2a07d10f7e..8184ab80f550d 100644 --- a/recipes/ucsc-bedcommonregions/build.sh +++ b/recipes/ucsc-bedcommonregions/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/bedCommonRegions && make) -cp bin/bedCommonRegions "$PREFIX/bin" -chmod +x "$PREFIX/bin/bedCommonRegions" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/bedCommonRegions && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bedCommonRegions "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bedCommonRegions" diff --git a/recipes/ucsc-bedcommonregions/include.patch b/recipes/ucsc-bedcommonregions/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bedcommonregions/include.patch +++ b/recipes/ucsc-bedcommonregions/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bedcommonregions/meta.yaml b/recipes/ucsc-bedcommonregions/meta.yaml index 7a70409882fd3..7e61e49095f09 100644 --- a/recipes/ucsc-bedcommonregions/meta.yaml +++ b/recipes/ucsc-bedcommonregions/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bedcommonregions" %} {% set program = "bedCommonRegions" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Create a bed file (just bed3) that contains the regions common to all inputs." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bedcoverage/build.sh b/recipes/ucsc-bedcoverage/build.sh index e7cb194b48474..d9dd530db9deb 100644 --- a/recipes/ucsc-bedcoverage/build.sh +++ b/recipes/ucsc-bedcoverage/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/bedCoverage && make) -cp bin/bedCoverage "$PREFIX/bin" -chmod +x "$PREFIX/bin/bedCoverage" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/bedCoverage && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bedCoverage "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bedCoverage" diff --git a/recipes/ucsc-bedcoverage/include.patch b/recipes/ucsc-bedcoverage/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bedcoverage/include.patch +++ b/recipes/ucsc-bedcoverage/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bedcoverage/meta.yaml b/recipes/ucsc-bedcoverage/meta.yaml index ec874780ff0ec..237bcd0ba115c 100644 --- a/recipes/ucsc-bedcoverage/meta.yaml +++ b/recipes/ucsc-bedcoverage/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bedcoverage" %} {% set program = "bedCoverage" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Analyse coverage by bed files - chromosome by " + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-bedextendranges/build.sh b/recipes/ucsc-bedextendranges/build.sh index f136ad15518a5..7027ce1284eba 100644 --- a/recipes/ucsc-bedextendranges/build.sh +++ b/recipes/ucsc-bedextendranges/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/bedExtendRanges && make) -cp bin/bedExtendRanges "$PREFIX/bin" -chmod +x "$PREFIX/bin/bedExtendRanges" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/bedExtendRanges && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bedExtendRanges "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bedExtendRanges" diff --git a/recipes/ucsc-bedextendranges/include.patch b/recipes/ucsc-bedextendranges/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bedextendranges/include.patch +++ b/recipes/ucsc-bedextendranges/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bedextendranges/meta.yaml b/recipes/ucsc-bedextendranges/meta.yaml index 8b388ba115445..b0278a6067f83 100644 --- a/recipes/ucsc-bedextendranges/meta.yaml +++ b/recipes/ucsc-bedextendranges/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bedextendranges" %} {% set program = "bedExtendRanges" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "extend length of entries in bed 6+ data to be at least the given length," + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-bedgeneparts/build.sh b/recipes/ucsc-bedgeneparts/build.sh index 74731c18b7372..c1d170f184800 100644 --- a/recipes/ucsc-bedgeneparts/build.sh +++ b/recipes/ucsc-bedgeneparts/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/bedGeneParts && make) -cp bin/bedGeneParts "$PREFIX/bin" -chmod +x "$PREFIX/bin/bedGeneParts" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/bedGeneParts && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bedGeneParts "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bedGeneParts" diff --git a/recipes/ucsc-bedgeneparts/include.patch b/recipes/ucsc-bedgeneparts/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bedgeneparts/include.patch +++ b/recipes/ucsc-bedgeneparts/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bedgeneparts/meta.yaml b/recipes/ucsc-bedgeneparts/meta.yaml index 90621a56db146..de9f72681bcd3 100644 --- a/recipes/ucsc-bedgeneparts/meta.yaml +++ b/recipes/ucsc-bedgeneparts/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bedgeneparts" %} {% set program = "bedGeneParts" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Given a bed, spit out promoter, first exon, or all introns." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bedgraphpack/build.sh b/recipes/ucsc-bedgraphpack/build.sh index 8afed4289ba76..3600d25ac86be 100644 --- a/recipes/ucsc-bedgraphpack/build.sh +++ b/recipes/ucsc-bedgraphpack/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/bedGraphPack && make) -cp bin/bedGraphPack "$PREFIX/bin" -chmod +x "$PREFIX/bin/bedGraphPack" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/bedGraphPack && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bedGraphPack "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bedGraphPack" diff --git a/recipes/ucsc-bedgraphpack/include.patch b/recipes/ucsc-bedgraphpack/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bedgraphpack/include.patch +++ b/recipes/ucsc-bedgraphpack/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bedgraphpack/meta.yaml b/recipes/ucsc-bedgraphpack/meta.yaml index 94b82a2b717e5..d950f7ed9e88e 100644 --- a/recipes/ucsc-bedgraphpack/meta.yaml +++ b/recipes/ucsc-bedgraphpack/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bedgraphpack" %} {% set program = "bedGraphPack" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Pack together adjacent records representing same value." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bedgraphtobigwig/build.sh b/recipes/ucsc-bedgraphtobigwig/build.sh index a41225d70c23a..5d7368f71bdd2 100644 --- a/recipes/ucsc-bedgraphtobigwig/build.sh +++ b/recipes/ucsc-bedgraphtobigwig/build.sh @@ -1,17 +1,21 @@ #!/bin/bash + +set -xe + mkdir -p "${PREFIX}/bin" -export MACHTYPE=x86_64 -export BINDIR=`pwd`/bin +export MACHTYPE=$(uname -m) +export BINDIR=$(pwd)/bin export INCLUDE_PATH="${PREFIX}/include" -export LD_LIBRARY_PATH="${PREFIX}/lib" -export LDFLAGS="-L${PREFIX}/lib" -export CFLAGS="-I${PREFIX}/include ${LDFLAGS}" -export CXXFLAGS="-I${PREFIX}/include ${LDFLAGS}" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" mkdir -p "${BINDIR}" -cd ${SRC_DIR}/kent/src/lib && make CC=${CC} CXX=${CXX} CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -cd ${SRC_DIR}/kent/src/htslib && make CC=${CC} CXX=${CXX} CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -cd ${SRC_DIR}/kent/src/jkOwnLib && make CC=${CC} CXX=${CXX} CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -cd ${SRC_DIR}/kent/src/utils/bedGraphToBigWig && make CC=${CC} CXX=${CXX} CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -cp ${SRC_DIR}/bin/bedGraphToBigWig "${PREFIX}/bin" -chmod +x "${PREFIX}/bin/bedGraphToBigWig" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/bedGraphToBigWig && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bedGraphToBigWig "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bedGraphToBigWig" diff --git a/recipes/ucsc-bedgraphtobigwig/include.patch b/recipes/ucsc-bedgraphtobigwig/include.patch index b4b153480032c..edc04d0dc2f64 100644 --- a/recipes/ucsc-bedgraphtobigwig/include.patch +++ b/recipes/ucsc-bedgraphtobigwig/include.patch @@ -1,24 +1,24 @@ ---- a/kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ b/kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 +--- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 ++++ kent/src/inc/common.mk.new 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- a/kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 -+++ b/kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python import logging, sys, optparse, string from collections import defaultdict ---- a/kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 -+++ b/kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bedgraphtobigwig/meta.yaml b/recipes/ucsc-bedgraphtobigwig/meta.yaml index 96ba38c44d3e8..ea2f56db02e67 100644 --- a/recipes/ucsc-bedgraphtobigwig/meta.yaml +++ b/recipes/ucsc-bedgraphtobigwig/meta.yaml @@ -1,44 +1,57 @@ {% set package = "ucsc-bedgraphtobigwig" %} {% set program = "bedGraphToBigWig" %} -{% set version = "445" %} -{% set sha256 = "c7abb5db6a5e16a79aefcee849d2b59dbc71ee112ca1e41fea0afb25229cf56c" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" version: "{{ version }}" source: - url: "https://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v{{ version }}.src.tgz" + url: "http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v{{ version }}.src.tgz" sha256: "{{ sha256 }}" patches: - "include.patch" build: + skip: True # [osx] number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: - make - {{ compiler('c') }} - - {{ compiler('cxx') }} host: - libpng - libuuid - mysql-connector-c - libopenssl-static - - openssl - zlib + run: - libpng - libuuid - - openssl + - mysql-connector-c + - libopenssl-static + - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert a bedGraph file to bigWig format." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bedgraphtobigwig/patch1.patch b/recipes/ucsc-bedgraphtobigwig/patch1.patch new file mode 100644 index 0000000000000..483b0342a43da --- /dev/null +++ b/recipes/ucsc-bedgraphtobigwig/patch1.patch @@ -0,0 +1,19 @@ +--- userApps/kent/src/lib/htmshell.c.old 2022-10-28 08:32:08.344445121 +0000 ++++ userApps/kent/src/lib/htmshell.c 2022-10-28 08:32:31.708262420 +0000 +@@ -711,11 +711,11 @@ + puts("Status: 400\r"); + puts("Content-Type: text/plain; charset=UTF-8\r"); + puts("\r"); +-if (format != NULL && args != NULL) +- { +- vfprintf(stdout, format, args); +- fprintf(stdout, "\n"); +- } ++if (format != NULL) ++ { ++ vfprintf(stdout, format, args); ++ fprintf(stdout, "\n"); ++ } + exit(-1); + } + diff --git a/recipes/ucsc-bedintersect/build.sh b/recipes/ucsc-bedintersect/build.sh index 463e5ef29d12d..e8735ba8125e6 100644 --- a/recipes/ucsc-bedintersect/build.sh +++ b/recipes/ucsc-bedintersect/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/bedIntersect && make) -cp bin/bedIntersect "$PREFIX/bin" -chmod +x "$PREFIX/bin/bedIntersect" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/bedIntersect && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bedIntersect "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bedIntersect" diff --git a/recipes/ucsc-bedintersect/include.patch b/recipes/ucsc-bedintersect/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bedintersect/include.patch +++ b/recipes/ucsc-bedintersect/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bedintersect/meta.yaml b/recipes/ucsc-bedintersect/meta.yaml index 8f70102146641..5ed61c6ad927f 100644 --- a/recipes/ucsc-bedintersect/meta.yaml +++ b/recipes/ucsc-bedintersect/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bedintersect" %} {% set program = "bedIntersect" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Intersect two bed files" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-beditemoverlapcount/build.sh b/recipes/ucsc-beditemoverlapcount/build.sh index bfb85d4baf7e3..9e731e0e7b060 100644 --- a/recipes/ucsc-beditemoverlapcount/build.sh +++ b/recipes/ucsc-beditemoverlapcount/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/bedItemOverlapCount && make) -cp bin/bedItemOverlapCount "$PREFIX/bin" -chmod +x "$PREFIX/bin/bedItemOverlapCount" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/bedItemOverlapCount && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bedItemOverlapCount "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bedItemOverlapCount" diff --git a/recipes/ucsc-beditemoverlapcount/include.patch b/recipes/ucsc-beditemoverlapcount/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-beditemoverlapcount/include.patch +++ b/recipes/ucsc-beditemoverlapcount/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-beditemoverlapcount/meta.yaml b/recipes/ucsc-beditemoverlapcount/meta.yaml index 5fa66226d97c3..bdb5fb822e3a5 100644 --- a/recipes/ucsc-beditemoverlapcount/meta.yaml +++ b/recipes/ucsc-beditemoverlapcount/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-beditemoverlapcount" %} {% set program = "bedItemOverlapCount" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "count number of times a base is overlapped by the" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-bedjointaboffset/build.sh b/recipes/ucsc-bedjointaboffset/build.sh index b0fa55386a339..66c35a7548a83 100644 --- a/recipes/ucsc-bedjointaboffset/build.sh +++ b/recipes/ucsc-bedjointaboffset/build.sh @@ -1,4 +1,7 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -cp kent/src/utils/bedJoinTabOffset "$PREFIX/bin" -chmod +x "$PREFIX/bin/bedJoinTabOffset" + +set -xe + +mkdir -p "${PREFIX}/bin" +cp kent/src/utils/bedJoinTabOffset "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bedJoinTabOffset" diff --git a/recipes/ucsc-bedjointaboffset/build_failure.linux-64.yaml b/recipes/ucsc-bedjointaboffset/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..a7938f2cf850d --- /dev/null +++ b/recipes/ucsc-bedjointaboffset/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: e012ba21d33790d74fa3bd1b6883d0278e83a96dc5f265d468abf3d43927b632 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + sysroot_linux-64: 2.17-h4a8ded7_16 conda-forge + tzdata: 2024a-h8827d51_1 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Source cache directory is: /opt/conda/conda-bld/src_cache + Downloading source to cache: userApps.v469.src_3f95b26ccc.tgz + Downloading http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v469.src.tgz + Success + Extracting download + Applying patch: /opt/recipe/include.patch + Applying patch: /opt/recipe/include.patch with args: + ['-Np0', '-i', '/tmp/tmpj88djt1f/include.patch.native', '--binary'] + checking file kent/src/inc/common.mk + Hunk #1 succeeded at 21 (offset 4 lines). + checking file kent/src/utils/bedJoinTabOffset.py + checking file kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed + patching file kent/src/inc/common.mk + Hunk #1 succeeded at 21 (offset 4 lines). + patching file kent/src/utils/bedJoinTabOffset.py + patching file kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed + Patch analysis gives: + [[ RA--D0L-VE ]] - [[ include.patch ]] + + Key: + + R :: Reversible A :: Applicable + Y :: Build-prefix patch in use M :: Minimal, non-amalgamated + D :: Dry-runnable N :: Patch level (1 is preferred) + L :: Patch level not-ambiguous O :: Patch applies without offsets + V :: Patch applies without fuzz E :: Patch applies without emitting to stderr + + source tree in: /opt/conda/conda-bld/ucsc-bedjointaboffset_1724792239783/work + export PREFIX=/opt/conda/conda-bld/ucsc-bedjointaboffset_1724792239783/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p + export BUILD_PREFIX=/opt/conda/conda-bld/ucsc-bedjointaboffset_1724792239783/_build_env + export SRC_DIR=/opt/conda/conda-bld/ucsc-bedjointaboffset_1724792239783/work + INFO: activate-binutils_linux-64.sh made the following environmental changes: + ADDR2LINE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-addr2line + AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar + AS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-as + CXXFILT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cfilt + DWP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-dwp + ELFEDIT=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-elfedit + GPROF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gprof + LD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld + LD_GOLD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld.gold + NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-nm + OBJCOPY=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objcopy + OBJDUMP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-objdump + RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib + READELF=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-readelf + SIZE=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-size + STRINGS=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strings + STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip + INFO: activate-gcc_linux-64.sh made the following environmental changes: + BUILD=x86_64-conda-linux-gnu + CC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc + CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bedjointaboffset-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-strip -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH=$PREFIX;$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=$PREFIX:$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot/usr + CONDA_BUILD_SYSROOT=$BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot + CONDA_TOOLCHAIN_BUILD=x86_64-conda-linux-gnu + CONDA_TOOLCHAIN_HOST=x86_64-conda-linux-gnu + CPP=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cpp + CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include + DEBUG_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bedjointaboffset-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem $PREFIX/include + GCC=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc + GCC_AR=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ar + GCC_NM=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-nm + GCC_RANLIB=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-gcc-ranlib + HOST=x86_64-conda-linux-gnu + LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib + MESON_ARGS=-Dbuildtype=release --prefix=$PREFIX -Dlibdir=lib + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_cos6_linux_gnu + build_alias=x86_64-conda-linux-gnu + host_alias=x86_64-conda-linux-gnu + -BUILD=x86_64-conda_cos6-linux-gnu + -CONDA_BUILD_SYSROOT= + mkdir -p /opt/conda/conda-bld/ucsc-bedjointaboffset_1724792239783/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/bin + cp kent/src/utils/bedJoinTabOffset /opt/conda/conda-bld/ucsc-bedjointaboffset_1724792239783/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/bin + cp: omitting directory 'kent/src/utils/bedJoinTabOffset' + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/ucsc-bedjointaboffset_1724792239783/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/ucsc-bedjointaboffset/build_failure.linux-aarch64.yaml b/recipes/ucsc-bedjointaboffset/build_failure.linux-aarch64.yaml new file mode 100644 index 0000000000000..e9b919aba5c68 --- /dev/null +++ b/recipes/ucsc-bedjointaboffset/build_failure.linux-aarch64.yaml @@ -0,0 +1,104 @@ +recipe_sha: e012ba21d33790d74fa3bd1b6883d0278e83a96dc5f265d468abf3d43927b632 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + sysroot_linux-aarch64: 2.17-h5b4a56d_16 conda-forge + tzdata: 2024a-h8827d51_1 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Source cache directory is: /opt/conda/conda-bld/src_cache + Downloading source to cache: userApps.v469.src_3f95b26ccc.tgz + Downloading http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v469.src.tgz + Success + Extracting download + Applying patch: /opt/recipe/include.patch + Applying patch: /opt/recipe/include.patch with args: + ['-Np0', '-i', '/tmp/tmp7zu2_wri/include.patch.native', '--binary'] + checking file kent/src/inc/common.mk + Hunk #1 succeeded at 21 (offset 4 lines). + checking file kent/src/utils/bedJoinTabOffset.py + checking file kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed + patching file kent/src/inc/common.mk + Hunk #1 succeeded at 21 (offset 4 lines). + patching file kent/src/utils/bedJoinTabOffset.py + patching file kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed + Patch analysis gives: + [[ RA--D0L-VE ]] - [[ include.patch ]] + + Key: + + R :: Reversible A :: Applicable + Y :: Build-prefix patch in use M :: Minimal, non-amalgamated + D :: Dry-runnable N :: Patch level (1 is preferred) + L :: Patch level not-ambiguous O :: Patch applies without offsets + V :: Patch applies without fuzz E :: Patch applies without emitting to stderr + + source tree in: /opt/conda/conda-bld/ucsc-bedjointaboffset_1724792053044/work + export PREFIX=/opt/conda/conda-bld/ucsc-bedjointaboffset_1724792053044/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p + export BUILD_PREFIX=/opt/conda/conda-bld/ucsc-bedjointaboffset_1724792053044/_build_env + export SRC_DIR=/opt/conda/conda-bld/ucsc-bedjointaboffset_1724792053044/work + INFO: activate-binutils_linux-aarch64.sh made the following environmental changes: + ADDR2LINE=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-addr2line + AR=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-ar + AS=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-as + CXXFILT=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cfilt + DWP=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-dwp + ELFEDIT=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-elfedit + GPROF=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gprof + LD=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-ld + LD_GOLD=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-ld.gold + NM=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-nm + OBJCOPY=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-objcopy + OBJDUMP=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-objdump + RANLIB=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-ranlib + READELF=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-readelf + SIZE=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-size + STRINGS=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-strings + STRIP=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-strip + INFO: activate-gcc_linux-aarch64.sh made the following environmental changes: + BUILD=aarch64-conda-linux-gnu + CC=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc + CC_FOR_BUILD=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc + CFLAGS=-ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bedjointaboffset-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gcc-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gcc-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gcc-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gcc-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-strip -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH=$PREFIX;$BUILD_PREFIX/aarch64-conda-linux-gnu/sysroot -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=$PREFIX:$BUILD_PREFIX/aarch64-conda-linux-gnu/sysroot/usr + CONDA_BUILD_SYSROOT=$BUILD_PREFIX/aarch64-conda-linux-gnu/sysroot + CONDA_TOOLCHAIN_BUILD=aarch64-conda-linux-gnu + CONDA_TOOLCHAIN_HOST=aarch64-conda-linux-gnu + CPP=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cpp + CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include + DEBUG_CFLAGS=-ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-bedjointaboffset-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem $PREFIX/include + GCC=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gcc + GCC_AR=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gcc-ar + GCC_NM=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gcc-nm + GCC_RANLIB=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gcc-ranlib + HOST=aarch64-conda-linux-gnu + LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib + MESON_ARGS=-Dbuildtype=release --prefix=$PREFIX -Dlibdir=lib + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_aarch64_conda_cos7_linux_gnu + build_alias=aarch64-conda-linux-gnu + host_alias=aarch64-conda-linux-gnu + -BUILD=aarch64-conda_cos7-linux-gnu + -CONDA_BUILD_SYSROOT= + mkdir -p /opt/conda/conda-bld/ucsc-bedjointaboffset_1724792053044/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/bin + cp kent/src/utils/bedJoinTabOffset /opt/conda/conda-bld/ucsc-bedjointaboffset_1724792053044/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/bin + cp: omitting directory 'kent/src/utils/bedJoinTabOffset' + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/ucsc-bedjointaboffset_1724792053044/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/ucsc-bedjointaboffset/include.patch b/recipes/ucsc-bedjointaboffset/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bedjointaboffset/include.patch +++ b/recipes/ucsc-bedjointaboffset/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bedjointaboffset/meta.yaml b/recipes/ucsc-bedjointaboffset/meta.yaml index 5fb1d736c7504..850769f638b08 100644 --- a/recipes/ucsc-bedjointaboffset/meta.yaml +++ b/recipes/ucsc-bedjointaboffset/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bedjointaboffset" %} {% set program = "bedJoinTabOffset" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,16 +15,25 @@ source: build: skip: True # [osx] - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: + - {{ compiler('c') }} host: + - libpng + - libuuid + - mysql-connector-c + - libopenssl-static + - zlib + run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - python - zlib @@ -37,3 +46,12 @@ about: home: "http://hgdownload.cse.ucsc.edu/admin/exe/" license: "varies; see http://genome.ucsc.edu/license" summary: "given a bed file and tab file where each have a column with matching values: first get the value of column0, the offset and line length from inTabFile. Then go over the bed file, use the name field and append its offset and length to the bed file as two separate fields. Write the new bed file to outBed." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bedpileups/build.sh b/recipes/ucsc-bedpileups/build.sh index f1aa76b9a3b4c..d49b45360aa4d 100644 --- a/recipes/ucsc-bedpileups/build.sh +++ b/recipes/ucsc-bedpileups/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/bedPileUps && make) -cp bin/bedPileUps "$PREFIX/bin" -chmod +x "$PREFIX/bin/bedPileUps" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/bedPileUps && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bedPileUps "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bedPileUps" diff --git a/recipes/ucsc-bedpileups/include.patch b/recipes/ucsc-bedpileups/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bedpileups/include.patch +++ b/recipes/ucsc-bedpileups/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bedpileups/meta.yaml b/recipes/ucsc-bedpileups/meta.yaml index b3e70a97e2c18..f75c721a2889f 100644 --- a/recipes/ucsc-bedpileups/meta.yaml +++ b/recipes/ucsc-bedpileups/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bedpileups" %} {% set program = "bedPileUps" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Find (exact) overlaps if any in bed input" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bedremoveoverlap/build.sh b/recipes/ucsc-bedremoveoverlap/build.sh index 3a880bb538a4f..ee59fd0ba4298 100644 --- a/recipes/ucsc-bedremoveoverlap/build.sh +++ b/recipes/ucsc-bedremoveoverlap/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/bedRemoveOverlap && make) -cp bin/bedRemoveOverlap "$PREFIX/bin" -chmod +x "$PREFIX/bin/bedRemoveOverlap" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/bedRemoveOverlap && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bedRemoveOverlap "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bedRemoveOverlap" diff --git a/recipes/ucsc-bedremoveoverlap/include.patch b/recipes/ucsc-bedremoveoverlap/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bedremoveoverlap/include.patch +++ b/recipes/ucsc-bedremoveoverlap/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bedremoveoverlap/meta.yaml b/recipes/ucsc-bedremoveoverlap/meta.yaml index 59b038abc3c08..40e11ffca0e67 100644 --- a/recipes/ucsc-bedremoveoverlap/meta.yaml +++ b/recipes/ucsc-bedremoveoverlap/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bedremoveoverlap" %} {% set program = "bedRemoveOverlap" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Remove overlapping records from a (sorted) bed file. Gets rid of" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bedrestricttopositions/build.sh b/recipes/ucsc-bedrestricttopositions/build.sh index e27e6ecc54f19..82f7323e39f3d 100644 --- a/recipes/ucsc-bedrestricttopositions/build.sh +++ b/recipes/ucsc-bedrestricttopositions/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/bedRestrictToPositions && make) -cp bin/bedRestrictToPositions "$PREFIX/bin" -chmod +x "$PREFIX/bin/bedRestrictToPositions" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/bedRestrictToPositions && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bedRestrictToPositions "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bedRestrictToPositions" diff --git a/recipes/ucsc-bedrestricttopositions/include.patch b/recipes/ucsc-bedrestricttopositions/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bedrestricttopositions/include.patch +++ b/recipes/ucsc-bedrestricttopositions/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bedrestricttopositions/meta.yaml b/recipes/ucsc-bedrestricttopositions/meta.yaml index 1c9117bdb25e3..ab068a46f57fb 100644 --- a/recipes/ucsc-bedrestricttopositions/meta.yaml +++ b/recipes/ucsc-bedrestricttopositions/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bedrestricttopositions" %} {% set program = "bedRestrictToPositions" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Filter bed file, restricting to only ones that match chrom/start/ends specified in restrict.bed file." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bedsort/build.sh b/recipes/ucsc-bedsort/build.sh index 56702a51622c8..308bd9a232ed2 100644 --- a/recipes/ucsc-bedsort/build.sh +++ b/recipes/ucsc-bedsort/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/bedSort && make) -cp bin/bedSort "$PREFIX/bin" -chmod +x "$PREFIX/bin/bedSort" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/bedSort && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bedSort "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bedSort" diff --git a/recipes/ucsc-bedsort/include.patch b/recipes/ucsc-bedsort/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bedsort/include.patch +++ b/recipes/ucsc-bedsort/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bedsort/meta.yaml b/recipes/ucsc-bedsort/meta.yaml index bc375983579dc..416d0f783723e 100644 --- a/recipes/ucsc-bedsort/meta.yaml +++ b/recipes/ucsc-bedsort/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bedsort" %} {% set program = "bedSort" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 5 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Sort a .bed file by chrom,chromStart" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bedtobigbed/build.sh b/recipes/ucsc-bedtobigbed/build.sh index fb722163f7ad1..2b2c5a16aad45 100644 --- a/recipes/ucsc-bedtobigbed/build.sh +++ b/recipes/ucsc-bedtobigbed/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/bedToBigBed && make) -cp bin/bedToBigBed "$PREFIX/bin" -chmod +x "$PREFIX/bin/bedToBigBed" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/bedToBigBed && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bedToBigBed "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bedToBigBed" diff --git a/recipes/ucsc-bedtobigbed/htmshell.patch b/recipes/ucsc-bedtobigbed/htmshell.patch new file mode 100644 index 0000000000000..1e6f87375ed01 --- /dev/null +++ b/recipes/ucsc-bedtobigbed/htmshell.patch @@ -0,0 +1,11 @@ +--- kent/src/lib/htmshell.c 2024-03-27 10:56:44.493892141 +0200 ++++ kent/src/lib/htmshell.c 2024-03-27 10:57:01.073792396 +0200 +@@ -713,7 +713,7 @@ + puts("Status: 400\r"); + puts("Content-Type: text/plain; charset=UTF-8\r"); + puts("\r"); +-if (format != NULL && args != NULL) ++if (format != NULL) + { + vfprintf(stdout, format, args); + fprintf(stdout, "\n"); diff --git a/recipes/ucsc-bedtobigbed/include.patch b/recipes/ucsc-bedtobigbed/include.patch index e9c8621194325..edc04d0dc2f64 100644 --- a/recipes/ucsc-bedtobigbed/include.patch +++ b/recipes/ucsc-bedtobigbed/include.patch @@ -1,30 +1,22 @@ --- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 ++++ kent/src/inc/common.mk.new 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -+++ kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -@@ -147,4 +147,4 @@ -- L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl -+ L+=${PREFIX}/lib/libssl.so ${PREFIX}/lib/libcrypto.so -ldl - else - ifneq ($(wildcard /opt/local/lib/libssl.a),) - L+=/opt/local/lib/libssl.a ---- kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 -+++ kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ --KENT_INC=-I../../../inc -+KENT_INC=-I../../../inc -I${PREFIX}/include - - straw: straw.o cStraw.o - ld -r -o ../straw.o straw.o cStraw.o +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python + + import logging, sys, optparse, string + from collections import defaultdict --- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ diff --git a/recipes/ucsc-bedtobigbed/meta.yaml b/recipes/ucsc-bedtobigbed/meta.yaml index 8006d0ba56728..156f4100092c2 100644 --- a/recipes/ucsc-bedtobigbed/meta.yaml +++ b/recipes/ucsc-bedtobigbed/meta.yaml @@ -1,50 +1,57 @@ {% set package = "ucsc-bedtobigbed" %} {% set program = "bedToBigBed" %} -{% set version = "447" %} -{% set sha256 = "747a48486f7481d891e297baf63623b15d699265ede7339f654bcbc42481ac81" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: - name: {{ package }} - version: {{ version }} + name: "{{ package }}" + version: "{{ version }}" source: url: "http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v{{ version }}.src.tgz" - sha256: {{ sha256 }} + sha256: "{{ sha256 }}" patches: - - include.patch + - "include.patch" build: + skip: True # [osx] number: 0 - skip: True # [osx] - ignore_run_exports: - - libpng - - libuuid + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: - make - {{ compiler('c') }} - - {{ compiler('cxx') }} - - binutils # [linux] host: - libpng - libuuid - mysql-connector-c - - openssl - libopenssl-static - zlib + run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static + - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" - summary: "Convert bed file to bigBed. (bbi version: 4)" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" + summary: "Convert bed file to bigBed. (BigBed version: 4)" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bedtogenepred/build.sh b/recipes/ucsc-bedtogenepred/build.sh index a6f95b7b9cd2c..163f8a5c60726 100644 --- a/recipes/ucsc-bedtogenepred/build.sh +++ b/recipes/ucsc-bedtogenepred/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p $BINDIR -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/bedToGenePred && make) -cp bin/bedToGenePred "$PREFIX/bin" -chmod +x "$PREFIX/bin/bedToGenePred" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/bedToGenePred && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bedToGenePred "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bedToGenePred" diff --git a/recipes/ucsc-bedtogenepred/include.patch b/recipes/ucsc-bedtogenepred/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bedtogenepred/include.patch +++ b/recipes/ucsc-bedtogenepred/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bedtogenepred/meta.yaml b/recipes/ucsc-bedtogenepred/meta.yaml index e590421a20137..1fc76c92ba6db 100644 --- a/recipes/ucsc-bedtogenepred/meta.yaml +++ b/recipes/ucsc-bedtogenepred/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bedtogenepred" %} {% set program = "bedToGenePred" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "convert bed format files to genePred format" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-bedtopsl/build.sh b/recipes/ucsc-bedtopsl/build.sh index dcab9d7776a97..27fed78f2e79a 100644 --- a/recipes/ucsc-bedtopsl/build.sh +++ b/recipes/ucsc-bedtopsl/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/bedToPsl && make) -cp bin/bedToPsl "$PREFIX/bin" -chmod +x "$PREFIX/bin/bedToPsl" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/bedToPsl && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bedToPsl "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bedToPsl" diff --git a/recipes/ucsc-bedtopsl/include.patch b/recipes/ucsc-bedtopsl/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bedtopsl/include.patch +++ b/recipes/ucsc-bedtopsl/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bedtopsl/meta.yaml b/recipes/ucsc-bedtopsl/meta.yaml index 07b6858631fe6..bf6d5446c806b 100644 --- a/recipes/ucsc-bedtopsl/meta.yaml +++ b/recipes/ucsc-bedtopsl/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bedtopsl" %} {% set program = "bedToPsl" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "convert bed format files to psl format" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bedweedoverlapping/build.sh b/recipes/ucsc-bedweedoverlapping/build.sh index 002beb540c1dd..08ebc84a92e93 100644 --- a/recipes/ucsc-bedweedoverlapping/build.sh +++ b/recipes/ucsc-bedweedoverlapping/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/bedWeedOverlapping && make) -cp bin/bedWeedOverlapping "$PREFIX/bin" -chmod +x "$PREFIX/bin/bedWeedOverlapping" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/bedWeedOverlapping && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bedWeedOverlapping "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bedWeedOverlapping" diff --git a/recipes/ucsc-bedweedoverlapping/include.patch b/recipes/ucsc-bedweedoverlapping/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bedweedoverlapping/include.patch +++ b/recipes/ucsc-bedweedoverlapping/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bedweedoverlapping/meta.yaml b/recipes/ucsc-bedweedoverlapping/meta.yaml index bc6676b987bb3..e372114ed5e4b 100644 --- a/recipes/ucsc-bedweedoverlapping/meta.yaml +++ b/recipes/ucsc-bedweedoverlapping/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bedweedoverlapping" %} {% set program = "bedWeedOverlapping" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Filter out beds that overlap a 'weed.bed' file." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bigbedinfo/build.sh b/recipes/ucsc-bigbedinfo/build.sh index 64e9c8d175edd..420bee013e254 100644 --- a/recipes/ucsc-bigbedinfo/build.sh +++ b/recipes/ucsc-bigbedinfo/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/bigBedInfo && make) -cp bin/bigBedInfo "$PREFIX/bin" -chmod +x "$PREFIX/bin/bigBedInfo" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/bigBedInfo && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bigBedInfo "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bigBedInfo" diff --git a/recipes/ucsc-bigbedinfo/include.patch b/recipes/ucsc-bigbedinfo/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bigbedinfo/include.patch +++ b/recipes/ucsc-bigbedinfo/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bigbedinfo/meta.yaml b/recipes/ucsc-bigbedinfo/meta.yaml index d5d2143d8c7ff..964aa7c634c8e 100644 --- a/recipes/ucsc-bigbedinfo/meta.yaml +++ b/recipes/ucsc-bigbedinfo/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bigbedinfo" %} {% set program = "bigBedInfo" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Show information about a bigBed file." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bigbednameditems/build.sh b/recipes/ucsc-bigbednameditems/build.sh index 697a63a88e5c0..777c54b464f56 100644 --- a/recipes/ucsc-bigbednameditems/build.sh +++ b/recipes/ucsc-bigbednameditems/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/bigBedNamedItems && make) -cp bin/bigBedNamedItems "$PREFIX/bin" -chmod +x "$PREFIX/bin/bigBedNamedItems" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/bigBedNamedItems && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bigBedNamedItems "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bigBedNamedItems" diff --git a/recipes/ucsc-bigbednameditems/include.patch b/recipes/ucsc-bigbednameditems/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bigbednameditems/include.patch +++ b/recipes/ucsc-bigbednameditems/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bigbednameditems/meta.yaml b/recipes/ucsc-bigbednameditems/meta.yaml index 7ec899ecde43b..eb9e9631ab382 100644 --- a/recipes/ucsc-bigbednameditems/meta.yaml +++ b/recipes/ucsc-bigbednameditems/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bigbednameditems" %} {% set program = "bigBedNamedItems" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Extract item of given name from bigBed" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bigbedsummary/build.sh b/recipes/ucsc-bigbedsummary/build.sh index a6e822d520ab1..89e7a9c76ffeb 100644 --- a/recipes/ucsc-bigbedsummary/build.sh +++ b/recipes/ucsc-bigbedsummary/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/bigBedSummary && make) -cp bin/bigBedSummary "$PREFIX/bin" -chmod +x "$PREFIX/bin/bigBedSummary" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/bigBedSummary && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bigBedSummary "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bigBedSummary" diff --git a/recipes/ucsc-bigbedsummary/include.patch b/recipes/ucsc-bigbedsummary/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bigbedsummary/include.patch +++ b/recipes/ucsc-bigbedsummary/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bigbedsummary/meta.yaml b/recipes/ucsc-bigbedsummary/meta.yaml index 3454f29aa71eb..528d9716a3817 100644 --- a/recipes/ucsc-bigbedsummary/meta.yaml +++ b/recipes/ucsc-bigbedsummary/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bigbedsummary" %} {% set program = "bigBedSummary" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Extract summary information from a bigBed file." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bigbedtobed/build.sh b/recipes/ucsc-bigbedtobed/build.sh index 91ad52661a58b..dea44fa59530b 100644 --- a/recipes/ucsc-bigbedtobed/build.sh +++ b/recipes/ucsc-bigbedtobed/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/bigBedToBed && make) -cp bin/bigBedToBed "$PREFIX/bin" -chmod +x "$PREFIX/bin/bigBedToBed" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/bigBedToBed && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bigBedToBed "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bigBedToBed" diff --git a/recipes/ucsc-bigbedtobed/include.patch b/recipes/ucsc-bigbedtobed/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bigbedtobed/include.patch +++ b/recipes/ucsc-bigbedtobed/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bigbedtobed/meta.yaml b/recipes/ucsc-bigbedtobed/meta.yaml index 0bade992319d6..708bb43118bd2 100644 --- a/recipes/ucsc-bigbedtobed/meta.yaml +++ b/recipes/ucsc-bigbedtobed/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bigbedtobed" %} {% set program = "bigBedToBed" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert from bigBed to ascii bed format." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bigmaftomaf/build.sh b/recipes/ucsc-bigmaftomaf/build.sh index 3dd95a568a4d8..fbed7ad379763 100644 --- a/recipes/ucsc-bigmaftomaf/build.sh +++ b/recipes/ucsc-bigmaftomaf/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/bigMafToMaf && make) -cp bin/bigMafToMaf "$PREFIX/bin" -chmod +x "$PREFIX/bin/bigMafToMaf" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/bigMafToMaf && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bigMafToMaf "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bigMafToMaf" diff --git a/recipes/ucsc-bigmaftomaf/include.patch b/recipes/ucsc-bigmaftomaf/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bigmaftomaf/include.patch +++ b/recipes/ucsc-bigmaftomaf/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bigmaftomaf/meta.yaml b/recipes/ucsc-bigmaftomaf/meta.yaml index d2d7a56d52020..f59a7e70f7d81 100644 --- a/recipes/ucsc-bigmaftomaf/meta.yaml +++ b/recipes/ucsc-bigmaftomaf/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bigmaftomaf" %} {% set program = "bigMafToMaf" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "convert bigMaf to maf file" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bigpsltopsl/build.sh b/recipes/ucsc-bigpsltopsl/build.sh index ae13ddd24549b..ea6e4221c1466 100644 --- a/recipes/ucsc-bigpsltopsl/build.sh +++ b/recipes/ucsc-bigpsltopsl/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/bigPslToPsl && make) -cp bin/bigPslToPsl "$PREFIX/bin" -chmod +x "$PREFIX/bin/bigPslToPsl" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/bigPslToPsl && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bigPslToPsl "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bigPslToPsl" diff --git a/recipes/ucsc-bigpsltopsl/include.patch b/recipes/ucsc-bigpsltopsl/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bigpsltopsl/include.patch +++ b/recipes/ucsc-bigpsltopsl/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bigpsltopsl/meta.yaml b/recipes/ucsc-bigpsltopsl/meta.yaml index 27bcf09f324b4..515aa553be985 100644 --- a/recipes/ucsc-bigpsltopsl/meta.yaml +++ b/recipes/ucsc-bigpsltopsl/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bigpsltopsl" %} {% set program = "bigPslToPsl" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "convert bigPsl file to psl" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bigwigaverageoverbed/build.sh b/recipes/ucsc-bigwigaverageoverbed/build.sh index d6662c91c5b5b..9044dbe5feb95 100644 --- a/recipes/ucsc-bigwigaverageoverbed/build.sh +++ b/recipes/ucsc-bigwigaverageoverbed/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/bigWigAverageOverBed && make) -cp bin/bigWigAverageOverBed "$PREFIX/bin" -chmod +x "$PREFIX/bin/bigWigAverageOverBed" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/bigWigAverageOverBed && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bigWigAverageOverBed "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bigWigAverageOverBed" diff --git a/recipes/ucsc-bigwigaverageoverbed/include.patch b/recipes/ucsc-bigwigaverageoverbed/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bigwigaverageoverbed/include.patch +++ b/recipes/ucsc-bigwigaverageoverbed/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bigwigaverageoverbed/meta.yaml b/recipes/ucsc-bigwigaverageoverbed/meta.yaml index c9965b86ed239..e2e1bb8da3cce 100644 --- a/recipes/ucsc-bigwigaverageoverbed/meta.yaml +++ b/recipes/ucsc-bigwigaverageoverbed/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bigwigaverageoverbed" %} {% set program = "bigWigAverageOverBed" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Compute average score of big wig over each bed, which may have introns." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bigwigcat/build.sh b/recipes/ucsc-bigwigcat/build.sh index 033bcf6cbdc2c..c76176d286e9f 100644 --- a/recipes/ucsc-bigwigcat/build.sh +++ b/recipes/ucsc-bigwigcat/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/bigWigCat && make) -cp bin/bigWigCat "$PREFIX/bin" -chmod +x "$PREFIX/bin/bigWigCat" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/bigWigCat && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bigWigCat "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bigWigCat" diff --git a/recipes/ucsc-bigwigcat/include.patch b/recipes/ucsc-bigwigcat/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bigwigcat/include.patch +++ b/recipes/ucsc-bigwigcat/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bigwigcat/meta.yaml b/recipes/ucsc-bigwigcat/meta.yaml index 7c8fa432f8426..f314a3ed65b9a 100644 --- a/recipes/ucsc-bigwigcat/meta.yaml +++ b/recipes/ucsc-bigwigcat/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bigwigcat" %} {% set program = "bigWigCat" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "merge non-overlapping bigWig files" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bigwigcluster/build.sh b/recipes/ucsc-bigwigcluster/build.sh index fcba87037959f..dfff70dd0b0a7 100644 --- a/recipes/ucsc-bigwigcluster/build.sh +++ b/recipes/ucsc-bigwigcluster/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/bigWigCluster && make) -cp bin/bigWigCluster "$PREFIX/bin" -chmod +x "$PREFIX/bin/bigWigCluster" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/bigWigCluster && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bigWigCluster "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bigWigCluster" diff --git a/recipes/ucsc-bigwigcluster/include.patch b/recipes/ucsc-bigwigcluster/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bigwigcluster/include.patch +++ b/recipes/ucsc-bigwigcluster/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bigwigcluster/meta.yaml b/recipes/ucsc-bigwigcluster/meta.yaml index 888fd7f6a7513..b385ad7c28da7 100644 --- a/recipes/ucsc-bigwigcluster/meta.yaml +++ b/recipes/ucsc-bigwigcluster/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bigwigcluster" %} {% set program = "bigWigCluster" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Cluster bigWigs using a hacTree" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bigwigcorrelate/build.sh b/recipes/ucsc-bigwigcorrelate/build.sh index fe1c988b54857..f4b5ede22c371 100644 --- a/recipes/ucsc-bigwigcorrelate/build.sh +++ b/recipes/ucsc-bigwigcorrelate/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/bigWigCorrelate && make) -cp bin/bigWigCorrelate "$PREFIX/bin" -chmod +x "$PREFIX/bin/bigWigCorrelate" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/bigWigCorrelate && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bigWigCorrelate "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bigWigCorrelate" diff --git a/recipes/ucsc-bigwigcorrelate/include.patch b/recipes/ucsc-bigwigcorrelate/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bigwigcorrelate/include.patch +++ b/recipes/ucsc-bigwigcorrelate/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bigwigcorrelate/meta.yaml b/recipes/ucsc-bigwigcorrelate/meta.yaml index e631cff5abb3e..0b51d8e1375da 100644 --- a/recipes/ucsc-bigwigcorrelate/meta.yaml +++ b/recipes/ucsc-bigwigcorrelate/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bigwigcorrelate" %} {% set program = "bigWigCorrelate" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Correlate bigWig files, optionally only on target regions." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bigwiginfo/build.sh b/recipes/ucsc-bigwiginfo/build.sh index a52d78bb71f06..6a25548f42c46 100644 --- a/recipes/ucsc-bigwiginfo/build.sh +++ b/recipes/ucsc-bigwiginfo/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/bigWigInfo && make) -cp bin/bigWigInfo "$PREFIX/bin" -chmod +x "$PREFIX/bin/bigWigInfo" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/bigWigInfo && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bigWigInfo "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bigWigInfo" diff --git a/recipes/ucsc-bigwiginfo/include.patch b/recipes/ucsc-bigwiginfo/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bigwiginfo/include.patch +++ b/recipes/ucsc-bigwiginfo/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bigwiginfo/meta.yaml b/recipes/ucsc-bigwiginfo/meta.yaml index efa6532409d4e..844216cdcde7e 100644 --- a/recipes/ucsc-bigwiginfo/meta.yaml +++ b/recipes/ucsc-bigwiginfo/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bigwiginfo" %} {% set program = "bigWigInfo" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Print out information about bigWig file." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bigwigmerge/build.sh b/recipes/ucsc-bigwigmerge/build.sh index be5b9c0fd7dd6..c2f18065057b5 100644 --- a/recipes/ucsc-bigwigmerge/build.sh +++ b/recipes/ucsc-bigwigmerge/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/bigWigMerge && make) -cp bin/bigWigMerge "$PREFIX/bin" -chmod +x "$PREFIX/bin/bigWigMerge" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/bigWigMerge && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bigWigMerge "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bigWigMerge" diff --git a/recipes/ucsc-bigwigmerge/include.patch b/recipes/ucsc-bigwigmerge/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-bigwigmerge/include.patch +++ b/recipes/ucsc-bigwigmerge/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-bigwigmerge/meta.yaml b/recipes/ucsc-bigwigmerge/meta.yaml index f88912eece11c..96f88d832b3ee 100644 --- a/recipes/ucsc-bigwigmerge/meta.yaml +++ b/recipes/ucsc-bigwigmerge/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-bigwigmerge" %} {% set program = "bigWigMerge" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Merge together multiple bigWigs into a single output bedGraph." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bigwigsummary/build.sh b/recipes/ucsc-bigwigsummary/build.sh index 6f51d7e922ae0..522db94f18c2b 100644 --- a/recipes/ucsc-bigwigsummary/build.sh +++ b/recipes/ucsc-bigwigsummary/build.sh @@ -1,13 +1,28 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/bigWigSummary && make) -cp bin/bigWigSummary "$PREFIX/bin" -chmod +x "$PREFIX/bin/bigWigSummary" + +mkdir -p "${BINDIR}" + +if [[ "$(uname)" == Darwin ]]; then + export LDFLAGS="${LDFLAGS} -Wl,-rpath,${PREFIX}/lib" + export CFLAGS="${CFLAGS} -Wno-unused-command-line-argument" +fi + +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/bigWigSummary && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bigWigSummary "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bigWigSummary" diff --git a/recipes/ucsc-bigwigsummary/include.macos.patch b/recipes/ucsc-bigwigsummary/include.macos.patch new file mode 100644 index 0000000000000..979f87005a72e --- /dev/null +++ b/recipes/ucsc-bigwigsummary/include.macos.patch @@ -0,0 +1,27 @@ +--- a/kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 ++++ b/kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 +@@ -17,7 +17,7 @@ + endif + + HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} +-HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I${PREFIX}/include + + # to check for Mac OSX Darwin specifics: + UNAME_S := $(shell uname -s) +--- a/kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 ++++ b/kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 +@@ -1,4 +1,4 @@ +-KENT_INC=-I../../../inc ++KENT_INC=-I../../../inc -I${PREFIX}/include + + straw: straw.o cStraw.o + ld -r -o ../straw.o straw.o cStraw.o +--- a/kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 ++++ b/kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python + # expMatrixToBarchartBed + """ + Generate a barChart bed6+5 file from a matrix, meta data, and coordinates. diff --git a/recipes/ucsc-bigwigsummary/include.patch b/recipes/ucsc-bigwigsummary/include.patch index e9c8621194325..edc04d0dc2f64 100644 --- a/recipes/ucsc-bigwigsummary/include.patch +++ b/recipes/ucsc-bigwigsummary/include.patch @@ -1,30 +1,22 @@ --- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 ++++ kent/src/inc/common.mk.new 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -+++ kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -@@ -147,4 +147,4 @@ -- L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl -+ L+=${PREFIX}/lib/libssl.so ${PREFIX}/lib/libcrypto.so -ldl - else - ifneq ($(wildcard /opt/local/lib/libssl.a),) - L+=/opt/local/lib/libssl.a ---- kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 -+++ kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ --KENT_INC=-I../../../inc -+KENT_INC=-I../../../inc -I${PREFIX}/include - - straw: straw.o cStraw.o - ld -r -o ../straw.o straw.o cStraw.o +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python + + import logging, sys, optparse, string + from collections import defaultdict --- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ diff --git a/recipes/ucsc-bigwigsummary/meta.yaml b/recipes/ucsc-bigwigsummary/meta.yaml index 1f60c5321b8a9..390d49e449180 100644 --- a/recipes/ucsc-bigwigsummary/meta.yaml +++ b/recipes/ucsc-bigwigsummary/meta.yaml @@ -1,47 +1,62 @@ {% set package = "ucsc-bigwigsummary" %} {% set program = "bigWigSummary" %} -{% set version = "448" %} -{% set sha256 = "90c28f06f3f5b6d79ff141cbf745e6a0c1b289a2ce640bbd1b0a14c826f08a85" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: - name: {{ package }} - version: {{ version }} + name: "{{ package }}" + version: "{{ version }}" source: - url: http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v{{ version }}.src.tgz - sha256: {{ sha256 }} + url: "http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v{{ version }}.src.tgz" + sha256: "{{ sha256 }}" patches: - - include.patch + - include.patch # [linux] + - include.macos.patch # [osx] build: - number: 0 - skip: True # [osx] + number: 2 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: - make - {{ compiler('c') }} - {{ compiler('cxx') }} - - binutils # [linux] + - binutils # [linux] host: - libpng - libuuid - mysql-connector-c - - openssl + - mariadb-connector-c - libopenssl-static + - clangdev # [osx] - zlib + run: - libpng - libuuid - mysql-connector-c - - openssl + - mariadb-connector-c + - libopenssl-static + - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Extract summary information from a bigWig file." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bigwigtobedgraph/build.sh b/recipes/ucsc-bigwigtobedgraph/build.sh index 9acd1bf78c735..d9ee8a1c48c9c 100644 --- a/recipes/ucsc-bigwigtobedgraph/build.sh +++ b/recipes/ucsc-bigwigtobedgraph/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/bigWigToBedGraph && make) -cp bin/bigWigToBedGraph "$PREFIX/bin" -chmod +x "$PREFIX/bin/bigWigToBedGraph" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/bigWigToBedGraph && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bigWigToBedGraph "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bigWigToBedGraph" diff --git a/recipes/ucsc-bigwigtobedgraph/htmshell.patch b/recipes/ucsc-bigwigtobedgraph/htmshell.patch new file mode 100644 index 0000000000000..1e6f87375ed01 --- /dev/null +++ b/recipes/ucsc-bigwigtobedgraph/htmshell.patch @@ -0,0 +1,11 @@ +--- kent/src/lib/htmshell.c 2024-03-27 10:56:44.493892141 +0200 ++++ kent/src/lib/htmshell.c 2024-03-27 10:57:01.073792396 +0200 +@@ -713,7 +713,7 @@ + puts("Status: 400\r"); + puts("Content-Type: text/plain; charset=UTF-8\r"); + puts("\r"); +-if (format != NULL && args != NULL) ++if (format != NULL) + { + vfprintf(stdout, format, args); + fprintf(stdout, "\n"); diff --git a/recipes/ucsc-bigwigtobedgraph/include.patch b/recipes/ucsc-bigwigtobedgraph/include.patch index e9c8621194325..edc04d0dc2f64 100644 --- a/recipes/ucsc-bigwigtobedgraph/include.patch +++ b/recipes/ucsc-bigwigtobedgraph/include.patch @@ -1,30 +1,22 @@ --- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 ++++ kent/src/inc/common.mk.new 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -+++ kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -@@ -147,4 +147,4 @@ -- L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl -+ L+=${PREFIX}/lib/libssl.so ${PREFIX}/lib/libcrypto.so -ldl - else - ifneq ($(wildcard /opt/local/lib/libssl.a),) - L+=/opt/local/lib/libssl.a ---- kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 -+++ kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ --KENT_INC=-I../../../inc -+KENT_INC=-I../../../inc -I${PREFIX}/include - - straw: straw.o cStraw.o - ld -r -o ../straw.o straw.o cStraw.o +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python + + import logging, sys, optparse, string + from collections import defaultdict --- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ diff --git a/recipes/ucsc-bigwigtobedgraph/meta.yaml b/recipes/ucsc-bigwigtobedgraph/meta.yaml index ca9508fd1a62d..3cc5185b0c350 100644 --- a/recipes/ucsc-bigwigtobedgraph/meta.yaml +++ b/recipes/ucsc-bigwigtobedgraph/meta.yaml @@ -1,47 +1,57 @@ {% set package = "ucsc-bigwigtobedgraph" %} {% set program = "bigWigToBedGraph" %} -{% set version = "448" %} -{% set sha256 = "90c28f06f3f5b6d79ff141cbf745e6a0c1b289a2ce640bbd1b0a14c826f08a85" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: - name: {{ package }} - version: {{ version }} + name: "{{ package }}" + version: "{{ version }}" source: - url: http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v{{ version }}.src.tgz - sha256: {{ sha256 }} + url: "http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v{{ version }}.src.tgz" + sha256: "{{ sha256 }}" patches: - - include.patch + - "include.patch" build: - number: 0 skip: True # [osx] + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: - make - {{ compiler('c') }} - - {{ compiler('cxx') }} - - binutils # [linux] host: - libpng - libuuid - mysql-connector-c - - openssl - libopenssl-static - zlib + run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static + - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert from bigWig to bedGraph format." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-bigwigtowig/build.sh b/recipes/ucsc-bigwigtowig/build.sh index 41c737003ef7d..a1977c231e86f 100644 --- a/recipes/ucsc-bigwigtowig/build.sh +++ b/recipes/ucsc-bigwigtowig/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/bigWigToWig && make) -cp bin/bigWigToWig "$PREFIX/bin" -chmod +x "$PREFIX/bin/bigWigToWig" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/bigWigToWig && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/bigWigToWig "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/bigWigToWig" diff --git a/recipes/ucsc-bigwigtowig/htmshell.patch b/recipes/ucsc-bigwigtowig/htmshell.patch new file mode 100644 index 0000000000000..1e6f87375ed01 --- /dev/null +++ b/recipes/ucsc-bigwigtowig/htmshell.patch @@ -0,0 +1,11 @@ +--- kent/src/lib/htmshell.c 2024-03-27 10:56:44.493892141 +0200 ++++ kent/src/lib/htmshell.c 2024-03-27 10:57:01.073792396 +0200 +@@ -713,7 +713,7 @@ + puts("Status: 400\r"); + puts("Content-Type: text/plain; charset=UTF-8\r"); + puts("\r"); +-if (format != NULL && args != NULL) ++if (format != NULL) + { + vfprintf(stdout, format, args); + fprintf(stdout, "\n"); diff --git a/recipes/ucsc-bigwigtowig/include.patch b/recipes/ucsc-bigwigtowig/include.patch index e9c8621194325..edc04d0dc2f64 100644 --- a/recipes/ucsc-bigwigtowig/include.patch +++ b/recipes/ucsc-bigwigtowig/include.patch @@ -1,30 +1,22 @@ --- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 ++++ kent/src/inc/common.mk.new 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -+++ kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -@@ -147,4 +147,4 @@ -- L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl -+ L+=${PREFIX}/lib/libssl.so ${PREFIX}/lib/libcrypto.so -ldl - else - ifneq ($(wildcard /opt/local/lib/libssl.a),) - L+=/opt/local/lib/libssl.a ---- kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 -+++ kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ --KENT_INC=-I../../../inc -+KENT_INC=-I../../../inc -I${PREFIX}/include - - straw: straw.o cStraw.o - ld -r -o ../straw.o straw.o cStraw.o +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python + + import logging, sys, optparse, string + from collections import defaultdict --- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ diff --git a/recipes/ucsc-bigwigtowig/meta.yaml b/recipes/ucsc-bigwigtowig/meta.yaml index 72927f2fed2f3..af93e4083efd4 100644 --- a/recipes/ucsc-bigwigtowig/meta.yaml +++ b/recipes/ucsc-bigwigtowig/meta.yaml @@ -1,47 +1,57 @@ {% set package = "ucsc-bigwigtowig" %} {% set program = "bigWigToWig" %} -{% set version = "448" %} -{% set sha256 = "90c28f06f3f5b6d79ff141cbf745e6a0c1b289a2ce640bbd1b0a14c826f08a85" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: - name: {{ package }} - version: {{ version }} + name: "{{ package }}" + version: "{{ version }}" source: - url: http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v{{ version }}.src.tgz - sha256: {{ sha256 }} + url: "http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v{{ version }}.src.tgz" + sha256: "{{ sha256 }}" patches: - - include.patch + - "include.patch" build: - number: 0 skip: True # [osx] + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: - make - {{ compiler('c') }} - - {{ compiler('cxx') }} - - binutils # [linux] host: - libpng - libuuid - mysql-connector-c - - openssl - libopenssl-static - zlib + run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static + - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" - summary: "Convert bigWig to wig. This will keep more of the same structure of the original wig than bigWigToBedGraph does, but still will break up large stepped sections into smaller ones." + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" + summary: "Convert bigWig to wig. This will keep more of the same structure of the" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-blasttopsl/build.sh b/recipes/ucsc-blasttopsl/build.sh index 529365f0499e5..4e504991b1d17 100644 --- a/recipes/ucsc-blasttopsl/build.sh +++ b/recipes/ucsc-blasttopsl/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/blastToPsl && make) -cp bin/blastToPsl "$PREFIX/bin" -chmod +x "$PREFIX/bin/blastToPsl" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/blastToPsl && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/blastToPsl "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/blastToPsl" diff --git a/recipes/ucsc-blasttopsl/include.patch b/recipes/ucsc-blasttopsl/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-blasttopsl/include.patch +++ b/recipes/ucsc-blasttopsl/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-blasttopsl/meta.yaml b/recipes/ucsc-blasttopsl/meta.yaml index c50f577a4a6af..905368c1cacaa 100644 --- a/recipes/ucsc-blasttopsl/meta.yaml +++ b/recipes/ucsc-blasttopsl/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-blasttopsl" %} {% set program = "blastToPsl" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert blast alignments to PSLs." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-blat/build.sh b/recipes/ucsc-blat/build.sh index 40b127dd58d9d..abeab8ea7afd6 100644 --- a/recipes/ucsc-blat/build.sh +++ b/recipes/ucsc-blat/build.sh @@ -1,18 +1,21 @@ #!/bin/bash -export USE_HIC=0 + +set -xe + mkdir -p "${PREFIX}/bin" -export MACHTYPE=x86_64 -export BINDIR=`pwd`/bin +export MACHTYPE=$(uname -m) +export BINDIR=$(pwd)/bin export INCLUDE_PATH="${PREFIX}/include" -export LD_LIBRARY_PATH="${PREFIX}/lib" -export LDFLAGS="-L${PREFIX}/lib" -export CFLAGS="-I${PREFIX}/include ${LDFLAGS}" -export CXXFLAGS="-I${PREFIX}/include ${LDFLAGS}" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p ${BINDIR} -cd ${SRC_DIR}/kent/src/lib && make CC=${CC} CXX=${CXX} CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -cd ${SRC_DIR}/kent/src/htslib && make CC=${CC} CXX=${CXX} CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -cd ${SRC_DIR}/kent/src/jkOwnLib && make CC=${CC} CXX=${CXX} CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -cd ${SRC_DIR}/kent/src/blat && make CC=${CC} CXX=${CXX} CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -cp ${SRC_DIR}/bin/blat "${PREFIX}/bin" -chmod +rx "${PREFIX}/bin/blat" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/blat && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/blat "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/blat" diff --git a/recipes/ucsc-blat/include.patch b/recipes/ucsc-blat/include.patch index 1646de15a38f7..edc04d0dc2f64 100644 --- a/recipes/ucsc-blat/include.patch +++ b/recipes/ucsc-blat/include.patch @@ -1,5 +1,5 @@ ---- a/kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ b/kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 +--- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 ++++ kent/src/inc/common.mk.new 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif @@ -9,16 +9,16 @@ # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- a/kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 -+++ b/kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python import logging, sys, optparse, string from collections import defaultdict ---- a/kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 -+++ b/kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-blat/meta.yaml b/recipes/ucsc-blat/meta.yaml index e2de8896a9622..3a050f884b74b 100644 --- a/recipes/ucsc-blat/meta.yaml +++ b/recipes/ucsc-blat/meta.yaml @@ -1,45 +1,57 @@ {% set package = "ucsc-blat" %} {% set program = "blat" %} -{% set version = "445" %} -{% set sha256 = "c7abb5db6a5e16a79aefcee849d2b59dbc71ee112ca1e41fea0afb25229cf56c" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" version: "{{ version }}" source: -- url: "https://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v{{ version }}.src.tgz" + url: "http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v{{ version }}.src.tgz" sha256: "{{ sha256 }}" patches: - "include.patch" build: + skip: True # [osx] number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: - make - {{ compiler('c') }} - - {{ compiler('cxx') }} host: - libpng - libuuid - mysql-connector-c - - openssl - libopenssl-static - zlib + run: - libpng - libuuid - - openssl + - mysql-connector-c + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: home: "https://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see https://genome.ucsc.edu/license" - summary: "Standalone BLAT v. 37x1 fast sequence search command line tool" + license: "Varies; see http://genome.ucsc.edu/license" + summary: "Standalone BLAT v. 36x2 fast sequence search command line tool" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-catdir/build.sh b/recipes/ucsc-catdir/build.sh index 615f2c28219a0..59b45dc68486c 100644 --- a/recipes/ucsc-catdir/build.sh +++ b/recipes/ucsc-catdir/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/catDir && make) -cp bin/catDir "$PREFIX/bin" -chmod +x "$PREFIX/bin/catDir" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/catDir && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/catDir "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/catDir" diff --git a/recipes/ucsc-catdir/include.patch b/recipes/ucsc-catdir/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-catdir/include.patch +++ b/recipes/ucsc-catdir/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-catdir/meta.yaml b/recipes/ucsc-catdir/meta.yaml index ec99f3e160dc9..9443ff4922d67 100644 --- a/recipes/ucsc-catdir/meta.yaml +++ b/recipes/ucsc-catdir/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-catdir" %} {% set program = "catDir" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "concatenate files in directory to stdout." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-catuncomment/build.sh b/recipes/ucsc-catuncomment/build.sh index e633331bb5d99..a6488e4ee3858 100644 --- a/recipes/ucsc-catuncomment/build.sh +++ b/recipes/ucsc-catuncomment/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/catUncomment && make) -cp bin/catUncomment "$PREFIX/bin" -chmod +x "$PREFIX/bin/catUncomment" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/catUncomment && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/catUncomment "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/catUncomment" diff --git a/recipes/ucsc-catuncomment/include.patch b/recipes/ucsc-catuncomment/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-catuncomment/include.patch +++ b/recipes/ucsc-catuncomment/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-catuncomment/meta.yaml b/recipes/ucsc-catuncomment/meta.yaml index 0eb80f7890c09..4e34d400fbd36 100644 --- a/recipes/ucsc-catuncomment/meta.yaml +++ b/recipes/ucsc-catuncomment/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-catuncomment" %} {% set program = "catUncomment" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Concatenate input removing lines that start with '#'" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-cell-browser/meta.yaml b/recipes/ucsc-cell-browser/meta.yaml index b2e4b40352f61..a934f9f917891 100644 --- a/recipes/ucsc-cell-browser/meta.yaml +++ b/recipes/ucsc-cell-browser/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '1.2.3' %} +{% set version = '1.2.8' %} {% set name = "cellbrowser" %} package: @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: "081d55d1ecc3701c20b1f0275915e9b472b8b71eaa9cb1de7dcba1a0cd0501b1" + sha256: "2fe4a16c8b9daaa04be6d168c187e2c3561d66513600e9e5c847f8539bf4ba4d" build: number: 0 @@ -25,14 +25,16 @@ build: - cbGenes = cellbrowser.genes:cbGenesCli - cbHub = cellbrowser.hubmaker:cbHubCli noarch: python - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('ucsc-cell-browser', max_pin="x") }} requirements: host: - - python >=3.6 + - python >=3.6,<3.12 - pip run: - - python >=3.6 + - python >=3.6,<3.12 - numpy - anndata @@ -53,7 +55,14 @@ test: - which cbGenes about: - home: http://cells.ucsc.edu - license: GPL + home: https://cells.ucsc.edu + license: GPL-3.0-or-later + license_family: GPL3 license_file: LICENSE summary: A browser for single-cell data, main site at http://cells.ucsc.edu. UCSC Cellbrowser, an interactive browser for single cell data. Includes importers and basic pipelines for text files, Seurat, Scanpy and Cellranger. All Javascript - does not require a server backend. + doc_url: https://cellbrowser.readthedocs.io/en/master/ + dev_url: https://github.com/maximilianh/cellBrowser + +extra: + identifiers: + - doi:10.1093/bioinformatics/btab503 diff --git a/recipes/ucsc-chainantirepeat/build.sh b/recipes/ucsc-chainantirepeat/build.sh index 4b96355a7cca0..42129d7ba0d38 100644 --- a/recipes/ucsc-chainantirepeat/build.sh +++ b/recipes/ucsc-chainantirepeat/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/chainAntiRepeat && make) -cp bin/chainAntiRepeat "$PREFIX/bin" -chmod +x "$PREFIX/bin/chainAntiRepeat" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/chainAntiRepeat && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/chainAntiRepeat "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/chainAntiRepeat" diff --git a/recipes/ucsc-chainantirepeat/include.patch b/recipes/ucsc-chainantirepeat/include.patch index 5404b18b5467a..edc04d0dc2f64 100644 --- a/recipes/ucsc-chainantirepeat/include.patch +++ b/recipes/ucsc-chainantirepeat/include.patch @@ -1,22 +1,22 @@ --- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 ++++ kent/src/inc/common.mk.new 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif - + HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include - ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include + # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -+++ kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -@@ -147,4 +147,4 @@ -- L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl -+ L+=${PREFIX}/lib/libssl.so ${PREFIX}/lib/libcrypto.so -ldl - else - ifneq ($(wildcard /opt/local/lib/libssl.a),) - L+=/opt/local/lib/libssl.a +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python + + import logging, sys, optparse, string + from collections import defaultdict --- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ @@ -25,16 +25,3 @@ # expMatrixToBarchartBed """ Generate a barChart bed6+5 file from a matrix, meta data, and coordinates. ---- kent/src/hg/lib/straw/makefile -+++ kent/src/hg/lib/straw/makefile -@@ -3,8 +3,8 @@ - straw: straw.o cStraw.o - ld -r -o ../straw.o straw.o cStraw.o - straw.o: straw.cpp straw.h -- ${CXX} straw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o straw.o -+ ${CXX} straw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o straw.o -I ${PREFIX}/include - cStraw.o: cStraw.cpp straw.h -- ${CXX} cStraw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o cStraw.o -+ ${CXX} cStraw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o cStraw.o -I ${PREFIX}/include - clean: - rm -f straw.o cStraw.o ../straw.o diff --git a/recipes/ucsc-chainantirepeat/meta.yaml b/recipes/ucsc-chainantirepeat/meta.yaml index c08a1b271ba4a..0ecd147dd4112 100644 --- a/recipes/ucsc-chainantirepeat/meta.yaml +++ b/recipes/ucsc-chainantirepeat/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-chainantirepeat" %} {% set program = "chainAntiRepeat" %} -{% set version = "455" %} -{% set sha256 = "e458cadad7c4a5c1b8385edafffa1b29380ac725a0c20535bf5a3bab99fe80db" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -23,28 +23,35 @@ requirements: build: - make - {{ compiler('c') }} - - binutils >=2.32 # https://wiki.gentoo.org/wiki/Project:Toolchain/Binutils_2.32_upgrade_notes/elfutils_0.175:_unable_to_initialize_decompress_status_for_section_.debug_info - - {{ compiler('cxx') }} host: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Get rid of chains that are primarily the results of repeats and degenerate DNA" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-chainbridge/build_failure.linux-64.yaml b/recipes/ucsc-chainbridge/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..1f1c6c15a3d8c --- /dev/null +++ b/recipes/ucsc-chainbridge/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: bc36f2b7ef37442f8cc79f3a7908cc9386a0df209151113d2954fe44e791a92e # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tigrOperon.o -c tigrOperon.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tilingPath.o -c tilingPath.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o traceInfo.o -c traceInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackDb.o -c trackDb.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackDbCustom.o -c trackDbCustom.c + trackDbCustom.c: In function 'trackDbInclude': + trackDbCustom.c:294:5: warning: 'splitPath' accessing 512 bytes in a region of size 256 [-Wstringop-overflow=] + 294 | splitPath(raFile, incFile, NULL, NULL); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + trackDbCustom.c:294:5: note: referencing argument 2 of type 'char[512]' + trackDbCustom.c:294:5: note: referencing argument 3 of type 'char[128]' + trackDbCustom.c:294:5: note: referencing argument 4 of type 'char[64]' + In file included from trackDbCustom.c:8: + ../../inc/common.h:1104:6: note: in a call to function 'splitPath' + 1104 | void splitPath(char *path, char dir[PATH_LEN], char name[FILENAME_LEN], + | ^~~~~~~~~ + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackHub.o -c trackHub.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackLayout.o -c trackLayout.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackTable.o -c trackTable.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackVersion.o -c trackVersion.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trashDir.o -c trashDir.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o transRegCode.o -c transRegCode.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o transRegCodeCondition.o -c transRegCodeCondition.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o transRegCodeProbe.o -c transRegCodeProbe.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txAliDiff.o -c txAliDiff.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txCluster.o -c txCluster.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txCommon.o -c txCommon.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txEdgeBed.o -c txEdgeBed.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txEdgeOrtho.o -c txEdgeOrtho.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txGraph.o -c txGraph.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txInfo.o -c txInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txRnaAccs.o -c txRnaAccs.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o ucscRetroInfo.o -c ucscRetroInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o ucscRetroOrtho.o -c ucscRetroOrtho.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o validateGisaid.o -c validateGisaid.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o variant.o -c variant.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o variantProjector.o -c variantProjector.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vcfUi.o -c vcfUi.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vegaInfo.o -c vegaInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vegaInfoZfish.o -c vegaInfoZfish.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o visiGene.o -c visiGene.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vntr.o -c vntr.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wabAli.o -c wabAli.c + sed -e 's/\\/\\\\/g; s/"/\\"/g; s/^/"/; s/$/\\n"/;' jWestHeader.html > jWestHeader.h + sed -e 's/\\/\\\\/g; s/"/\\"/g; s/^/"/; s/$/\\n"/;' jWestBanner.html > jWestBanner.h + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o web.o -c web.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o ncRna.o -c ncRna.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wgRna.o -c wgRna.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wigAsciiToBinary.o -c wigAsciiToBinary.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wigDataStream.o -c wigDataStream.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggle.o -c wiggle.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggleCart.o -c wiggleCart.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggleUtils.o -c wiggleUtils.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wikiLink.o -c wikiLink.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wikiTrack.o -c wikiTrack.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o yaleGencodeAssoc.o -c yaleGencodeAssoc.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o zdobnovSynt.o -c zdobnovSynt.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o oreganno.o -c oreganno.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o oregannoUi.o -c oregannoUi.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o gvUi.o -c gvUi.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o gv.o -c gv.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o omicia.o -c omicia.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o protVar.o -c protVar.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o pgSnp.o -c pgSnp.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o alignInfo.o -c alignInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o cddInfo.o -c cddInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o loweutils.o -c loweutils.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o cddDesc.o -c cddDesc.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o arCOGs.o -c arCOGs.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o arcogdesc.o -c arcogdesc.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o geneTree.o -c geneTree.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o megablastInfo.o -c megablastInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o pgPhenoAssoc.o -c pgPhenoAssoc.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o pgSiftPred.o -c pgSiftPred.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o pgPolyphenPred.o -c pgPolyphenPred.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o userRegions.o -c userRegions.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o variome.o -c variome.c + ar rcus ../../lib/x86_64/jkhgap.a acemblyClass.o adjacency.o affyAllExonProbe.o affyAtlas.o affy10KDetails.o affy120KDetails.o affyOffset.o affyPairs.o agp.o agpFrag.o agpGap.o alignSeqSizes.o altGraph.o altGraphX.o ancientRref.o annoFormatVep.o annoGratorGpVar.o annoGrateWigDb.o annoStreamDb.o annoStreamDbFactorSource.o annoStreamDbPslPlus.o annoStreamWig.o api.o atomDb.o autoUpgrade.o axtInfo.o axtLib.o bactigPos.o hgBam.o barChartBed.o barChartCategory.o barChartUi.o barChartData.o barChartSample.o baseMaskCommon.o bdgpExprLink.o bdgpGeneInfo.o bed.o bed5FloatScore.o bed5Pval.o bed6FloatScore.o bed8Attrs.o bed12Source.o bed12wSeq.o bedCart.o bgiGeneInfo.o bgiGeneSnp.o bgiSnp.o bigBedFind.o bigBedLabel.o bigGenePred.o bigPsl.o bigTransMap.o bioImage.o blastTab.o blastzNet.o blatServers.o borf.o borkPseudoHom.o botDelay.o cart.o cartDb.o cartJson.o cartTrackDb.o cdsEvidence.o cdsOrtho.o cdsPick.o cdsSpec.o ccdsInfo.o ccdsNotes.o ccdsGeneMap.o celeraCoverage.o celeraDupPositive.o cgapSage/cgapSage.o cgapSage/cgapSageLib.o cgh.o chainCart.o chainDb.o chainLink.o chainNet.o chainNetDbLoad.o chicken13kInfo.o chromBins.o chromAlias.o chr18deletions.o chromGraph.o chromGraphFactory.o chromInfo.o chromInserts.o chromKeeper.o clonePos.o codeBlast.o codeBlastScore.o cogs.o cogsxra.o columnInfo.o contigAcc.o coordConv.o cnpIafrate.o cnpIafrate2.o cnpLocke.o cnpRedon.o cnpSebat.o cnpSebat2.o cnpSharp2.o cnpSharpCutoff.o cnpSharpSample.o cnpSharp.o cpgIsland.o cpgIslandExt.o ctgPos.o ctgPos2.o customComposite.o bedDetail.o cgiApoptosis.o customAdjacency.o customFactory.o customPp.o customTrack.o cutter.o cv.o cytoBand.o dbDb.o dbRIP.o dbSnpRs.o defaultDb.o delConrad2.o delHinds2.o dgv.o dgvPlus.o dless.o dnaMotifSql.o dnaMarkovSql.o dnaProbe.o dv.o dvBed.o dvXref2.o easyGene.o ec.o ecCode.o ecAttribute.o ecAttributeCode.o encode/encodeErge.o encode/encodeErgeHssCellLines.o encode/encodeHapMapAlleleFreq.o encode/encodeIndels.o encode/encodePeak.o encode/encodeRegionInfo.o encode/encodeRegionInfoCustom.o encode/encodeRna.o encode/encodeStanfordPromoters.o encode/encodeStanfordPromotersAverage.o encode/pairedTagAlign.o encode/peptideMapping.o encode/tagAlign.o encode/wgEncodeGencodeAttrs.o encode/wgEncodeGencodeExonSupport.o encode/wgEncodeGencodeEntrezGene.o encode/wgEncodeGencodeTag.o encode/wgEncodeGencodeGeneSymbol.o encode/wgEncodeGencodePdb.o encode/wgEncodeGencodePubMed.o encode/wgEncodeGencodeRefSeq.o encode/wgEncodeGencodeGeneSource.o encode/wgEncodeGencodeTranscriptSource.o encode/wgEncodeGencodeTranscriptSupport.o encode/wgEncodeGencodeTranscriptionSupportLevel.o encode/wgEncodeGencodeUniProt.o encode/wgEncodeGencodePolyAFeature.o encode/wgEncodeGencodeAnnotationRemark.o encode/wgEncodeCell.o encode/encodeExp.o encode3/encode2Manifest.o encode3/encode3Valid.o ensFace.o ensInfo.o ensPhusionBlast.o ensXRefZfish.o est3.o estOrientInfo.o estPair.o exoFish.o expData.o expRecord.o exprBed.o facetField.o factorSource.o fbTables.o featureBits.o fileUi.o findKGAlias.o findKGProtAlias.o fishClones.o flyBase2004Xref.o flyBaseSwissProt.o flyreg.o flyreg2.o gbExtFile.o gbWarn.o gbMiscDiff.o gbProtAnn.o gcPercent.o gbSeq.o genbank.o genbankBlackList.o gencodeGeneClass.o gencodeIntron.o genMapDb.o geneBands.o geneCheck.o geneCheckDetails.o geneCheckWidget.o geneGraph.o genePred.o genePredReader.o geneSimilarities.o genoLay.o genomeRangeTreeFile.o genomicDups.o genomicSuperDups.o geoMirror.o ggCluster.o ggDbIo.o ggDump.o ggGraph.o ggMrnaAli.o ggTypes.o glDbRep.o goa.o goaPart.o googleAnalytics.o gpFx.o growthCondition.o grp.o gtexAse.o gtexBoxplot.o gtexEqtlCluster.o gtexInfo.o gtexDonor.o gtexGeneBed.o gtexSample.o gtexSampleData.o gtexTissue.o gtexTissueData.o gtexTissueMedian.o gtexUi.o gwasCatalog.o hAnno.o haplotypes.o hapmapAllelesOrtho.o hapmapAllelesSummary.o hapmapPhaseIIISummary.o hapmapSnps.o hapmapSnpsCombined.o hashJoin.o hCommon.o hCytoBand.o hdb.o hgColors.o hgConfig.o hgExp.o hgFind.o hgFindSpec.o hgFindSpecCustom.o hgHgvs.o hgHgvsParse.o hgGene.o hgMaf.o hgRelate.o hgSeq.o hgdpGeo.o hPrint.o hVarSubst.o hvGfx.o HInv.o hubConnect.o hubSearchText.o hui.o humanParalog.o imageClone.o indelShift.o interact.o interactUi.o isochores.o ispyTables.o itemAttr.o itemConf.o itemDetailsHtml.o jalview.o jaxOrtholog.o jaxQTL.o jaxQTL3.o jksql.o joiner.o jsHelper.o kg1ToKg2.o jgiGene.o joinMixer.o kgAlias.o kgColor.o kgProtAlias.o kgXref.o knownInfo.o knownMore.o knownToSuper.o lav.o ld.o ld2.o lfs.o liftOver.o liftOverChain.o liftUp.o llaInfo.o longRange.o lrg.o lsSnpPdb.o lsSnpPdbChimera.o mafFrames.o mafGene.o mafSummary.o makeItemsItem.o mammalPsg.o mapSts.o mathWig.o mcnBreakpoints.o mdb.o metaChromGraph.o microarray.o minChromSize.o minGeneInfo.o mrnaMisMatch.o mouseOrtho.o mouseSyn.o mouseSynWhd.o mysqlTableStatus.o ncbiRefLink.o ncbiRefSeqLink.o netAlign.o netCart.o nonCodingUi.o omimTitle.o ooUtils.o orthoAlleles.o pal.o pbStamp.o pcrResult.o pepPred.o peptideAtlasPeptide.o plasEndPairs.o polyGenotype.o protFeat.o pscreen.o pseudoGeneLink.o pslReader.o pslWScore.o putaInfo.o qaSeq.o rangeTreeFile.o rankProp.o recombRate.o recombRateRat.o recombRateMouse.o refLink.o refSeqStatus.o rgdQtl.o riken.o rhMapZfishInfo.o rikenBest.o rikenCluster.o rmskOut.o rmskAlign.o rmskJoined.o rmskOut2.o rnaFold.o rnaGene.o rnaGroup.o rnaHybridization.o rnaPLFold.o tRNAs.o gbRNAs.o snoRNAs.o lowelabPfamHit.o lowelabArkinOperonScore.o lowelabTIGROperonScore.o rnaSecStr.o tfbsConsFactors.o roughAli.o transMapStuff.o transMapInfo.o transMapGene.o transMapSrc.o sage.o sageCounts.o sageExp.o samAlignment.o sample.o sanger22extra.o sangerGene.o sangerGeneToWBGeneID.o sargassoSeaXra.o scopDes.o scoredRef.o search.o seqWindow.o sessionThumbnail.o sgdAbundance.o sgdClone.o sgdDescription.o sgdOther.o simpleNucDiff.o simpleRepeat.o snakeUi.o snp.o snp125.o snp125CodingCoordless.o snp132Ext.o snpExceptions.o snpFasta.o snpMap.o snpTmp.o snpUi.o snp125Exceptions.o snp125Ui.o softPromoter.o softberryHom.o soTerm.o spDb.o splignAlign.o sqlSanity.o stanMad.o stsAlias.o stsInfo.o stsInfo2.o stsInfoMouse.o stsInfoMouseNew.o stsInfoRat.o stsMap.o stsMapMouse.o stsMapMouseNew.o stsMapRat.o stsMarker.o suggest.o switchDbTss.o synMap.o synteny100000.o syntenyBerk.o syntenySanger.o sqlProg.o tfbsCons.o tfbsConsSites.o tablesTables.o tableDescriptions.o tableStatus.o targetDb.o tfbsConsMap.o tagRepo.o taxonDivision.o taxonGeneticCode.o taxonName.o taxonNode.o taxonXref.o tigrCmrGene.o tigrOperon.o tilingPath.o traceInfo.o trackDb.o trackDbCustom.o trackHub.o trackLayout.o trackTable.o trackVersion.o trashDir.o transRegCode.o transRegCodeCondition.o transRegCodeProbe.o txAliDiff.o txCluster.o txCommon.o txEdgeBed.o txEdgeOrtho.o txGraph.o txInfo.o txRnaAccs.o ucscRetroInfo.o ucscRetroOrtho.o validateGisaid.o variant.o variantProjector.o vcfUi.o vegaInfo.o vegaInfoZfish.o visiGene.o vntr.o wabAli.o web.o ncRna.o wgRna.o wigAsciiToBinary.o wigDataStream.o wiggle.o wiggleCart.o wiggleUtils.o wikiLink.o wikiTrack.o yaleGencodeAssoc.o zdobnovSynt.o oreganno.o oregannoUi.o gvUi.o gv.o omicia.o protVar.o pgSnp.o alignInfo.o cddInfo.o loweutils.o cddDesc.o arCOGs.o arcogdesc.o geneTree.o megablastInfo.o pgPhenoAssoc.o pgSiftPred.o pgPolyphenPred.o userRegions.o variome.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-chainbridge-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -o chainBridge.o -c chainBridge.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -o $SRC_DIR/bin/chainBridge chainBridge.o ../../../lib/x86_64/jkOwnLib.a ../../../lib/x86_64/jkhgap.a ../../../lib/x86_64/jkweb.a -L$PREFIX/lib -lmysqlclient -lstdc -lrt -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -lpthread -lssl -lcrypto ../../../htslib/libhts.a -L$PREFIX/lib -lpng16 -lm -lz + /opt/conda/conda-bld/ucsc-chainbridge_1724782613970/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkweb.a(htmshell.o):/usr/local/src/conda/ucsc-chainbridge-377/kent/src/lib/../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkweb.a(cheapcgi.o):/usr/local/src/conda/ucsc-chainbridge-377/kent/src/lib/../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-chainbridge_1724782613970/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkweb.a(portimpl.o):/usr/local/src/conda/ucsc-chainbridge-377/kent/src/lib/../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkweb.a(cheapcgi.o):/usr/local/src/conda/ucsc-chainbridge-377/kent/src/lib/../inc/htmshell.h:163: first defined here + collect2: error: ld returned 1 exit status + make: *** [../../../inc/userApp.mk:31: /opt/conda/conda-bld/ucsc-chainbridge_1724782613970/work/bin/chainBridge] Error 1 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/ucsc-chainbridge_1724782613970/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/ucsc-chainfilter/build.sh b/recipes/ucsc-chainfilter/build.sh index 6ed9ac45b5549..10d08403f1c62 100644 --- a/recipes/ucsc-chainfilter/build.sh +++ b/recipes/ucsc-chainfilter/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/chainFilter && make) -cp bin/chainFilter "$PREFIX/bin" -chmod +x "$PREFIX/bin/chainFilter" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/chainFilter && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/chainFilter "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/chainFilter" diff --git a/recipes/ucsc-chainfilter/include.patch b/recipes/ucsc-chainfilter/include.patch index 5404b18b5467a..edc04d0dc2f64 100644 --- a/recipes/ucsc-chainfilter/include.patch +++ b/recipes/ucsc-chainfilter/include.patch @@ -1,22 +1,22 @@ --- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 ++++ kent/src/inc/common.mk.new 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif - + HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include - ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include + # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -+++ kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -@@ -147,4 +147,4 @@ -- L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl -+ L+=${PREFIX}/lib/libssl.so ${PREFIX}/lib/libcrypto.so -ldl - else - ifneq ($(wildcard /opt/local/lib/libssl.a),) - L+=/opt/local/lib/libssl.a +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python + + import logging, sys, optparse, string + from collections import defaultdict --- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ @@ -25,16 +25,3 @@ # expMatrixToBarchartBed """ Generate a barChart bed6+5 file from a matrix, meta data, and coordinates. ---- kent/src/hg/lib/straw/makefile -+++ kent/src/hg/lib/straw/makefile -@@ -3,8 +3,8 @@ - straw: straw.o cStraw.o - ld -r -o ../straw.o straw.o cStraw.o - straw.o: straw.cpp straw.h -- ${CXX} straw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o straw.o -+ ${CXX} straw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o straw.o -I ${PREFIX}/include - cStraw.o: cStraw.cpp straw.h -- ${CXX} cStraw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o cStraw.o -+ ${CXX} cStraw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o cStraw.o -I ${PREFIX}/include - clean: - rm -f straw.o cStraw.o ../straw.o diff --git a/recipes/ucsc-chainfilter/meta.yaml b/recipes/ucsc-chainfilter/meta.yaml index eb41f55eb619f..950b6e95f0bba 100644 --- a/recipes/ucsc-chainfilter/meta.yaml +++ b/recipes/ucsc-chainfilter/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-chainfilter" %} {% set program = "chainFilter" %} -{% set version = "455" %} -{% set sha256 = "e458cadad7c4a5c1b8385edafffa1b29380ac725a0c20535bf5a3bab99fe80db" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -23,28 +23,35 @@ requirements: build: - make - {{ compiler('c') }} - - binutils >=2.32 # https://wiki.gentoo.org/wiki/Project:Toolchain/Binutils_2.32_upgrade_notes/elfutils_0.175:_unable_to_initialize_decompress_status_for_section_.debug_info - - {{ compiler('cxx') }} host: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Filter chain files. Output goes to standard out." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-chainmergesort/build.sh b/recipes/ucsc-chainmergesort/build.sh index afd3f10975fbc..d6577def526dc 100644 --- a/recipes/ucsc-chainmergesort/build.sh +++ b/recipes/ucsc-chainmergesort/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/chainMergeSort && make) -cp bin/chainMergeSort "$PREFIX/bin" -chmod +x "$PREFIX/bin/chainMergeSort" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/chainMergeSort && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/chainMergeSort "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/chainMergeSort" diff --git a/recipes/ucsc-chainmergesort/include.patch b/recipes/ucsc-chainmergesort/include.patch index 5404b18b5467a..edc04d0dc2f64 100644 --- a/recipes/ucsc-chainmergesort/include.patch +++ b/recipes/ucsc-chainmergesort/include.patch @@ -1,22 +1,22 @@ --- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 ++++ kent/src/inc/common.mk.new 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif - + HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include - ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include + # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -+++ kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -@@ -147,4 +147,4 @@ -- L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl -+ L+=${PREFIX}/lib/libssl.so ${PREFIX}/lib/libcrypto.so -ldl - else - ifneq ($(wildcard /opt/local/lib/libssl.a),) - L+=/opt/local/lib/libssl.a +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python + + import logging, sys, optparse, string + from collections import defaultdict --- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ @@ -25,16 +25,3 @@ # expMatrixToBarchartBed """ Generate a barChart bed6+5 file from a matrix, meta data, and coordinates. ---- kent/src/hg/lib/straw/makefile -+++ kent/src/hg/lib/straw/makefile -@@ -3,8 +3,8 @@ - straw: straw.o cStraw.o - ld -r -o ../straw.o straw.o cStraw.o - straw.o: straw.cpp straw.h -- ${CXX} straw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o straw.o -+ ${CXX} straw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o straw.o -I ${PREFIX}/include - cStraw.o: cStraw.cpp straw.h -- ${CXX} cStraw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o cStraw.o -+ ${CXX} cStraw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o cStraw.o -I ${PREFIX}/include - clean: - rm -f straw.o cStraw.o ../straw.o diff --git a/recipes/ucsc-chainmergesort/meta.yaml b/recipes/ucsc-chainmergesort/meta.yaml index a8116c2079423..ae45368e76907 100644 --- a/recipes/ucsc-chainmergesort/meta.yaml +++ b/recipes/ucsc-chainmergesort/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-chainmergesort" %} {% set program = "chainMergeSort" %} -{% set version = "455" %} -{% set sha256 = "e458cadad7c4a5c1b8385edafffa1b29380ac725a0c20535bf5a3bab99fe80db" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -23,28 +23,35 @@ requirements: build: - make - {{ compiler('c') }} - - binutils >=2.32 # https://wiki.gentoo.org/wiki/Project:Toolchain/Binutils_2.32_upgrade_notes/elfutils_0.175:_unable_to_initialize_decompress_status_for_section_.debug_info - - {{ compiler('cxx') }} host: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Combine sorted files into larger sorted file" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-chainnet/build.sh b/recipes/ucsc-chainnet/build.sh index d374b876a973a..f90815a193a1d 100644 --- a/recipes/ucsc-chainnet/build.sh +++ b/recipes/ucsc-chainnet/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/chainNet && make) -cp bin/chainNet "$PREFIX/bin" -chmod +x "$PREFIX/bin/chainNet" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/chainNet && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/chainNet "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/chainNet" diff --git a/recipes/ucsc-chainnet/include.patch b/recipes/ucsc-chainnet/include.patch index 5404b18b5467a..edc04d0dc2f64 100644 --- a/recipes/ucsc-chainnet/include.patch +++ b/recipes/ucsc-chainnet/include.patch @@ -1,22 +1,22 @@ --- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 ++++ kent/src/inc/common.mk.new 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif - + HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include - ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include + # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -+++ kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -@@ -147,4 +147,4 @@ -- L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl -+ L+=${PREFIX}/lib/libssl.so ${PREFIX}/lib/libcrypto.so -ldl - else - ifneq ($(wildcard /opt/local/lib/libssl.a),) - L+=/opt/local/lib/libssl.a +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python + + import logging, sys, optparse, string + from collections import defaultdict --- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ @@ -25,16 +25,3 @@ # expMatrixToBarchartBed """ Generate a barChart bed6+5 file from a matrix, meta data, and coordinates. ---- kent/src/hg/lib/straw/makefile -+++ kent/src/hg/lib/straw/makefile -@@ -3,8 +3,8 @@ - straw: straw.o cStraw.o - ld -r -o ../straw.o straw.o cStraw.o - straw.o: straw.cpp straw.h -- ${CXX} straw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o straw.o -+ ${CXX} straw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o straw.o -I ${PREFIX}/include - cStraw.o: cStraw.cpp straw.h -- ${CXX} cStraw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o cStraw.o -+ ${CXX} cStraw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o cStraw.o -I ${PREFIX}/include - clean: - rm -f straw.o cStraw.o ../straw.o diff --git a/recipes/ucsc-chainnet/meta.yaml b/recipes/ucsc-chainnet/meta.yaml index 070f24c45a620..55b46b9d727b0 100644 --- a/recipes/ucsc-chainnet/meta.yaml +++ b/recipes/ucsc-chainnet/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-chainnet" %} {% set program = "chainNet" %} -{% set version = "455" %} -{% set sha256 = "e458cadad7c4a5c1b8385edafffa1b29380ac725a0c20535bf5a3bab99fe80db" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -23,27 +23,35 @@ requirements: build: - make - {{ compiler('c') }} - - binutils >=2.32 # https://wiki.gentoo.org/wiki/Project:Toolchain/Binutils_2.32_upgrade_notes/elfutils_0.175:_unable_to_initialize_decompress_status_for_section_.debug_info - - {{ compiler('cxx') }} host: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib + run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Make alignment nets out of chains" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-chainprenet/build.sh b/recipes/ucsc-chainprenet/build.sh index 63ca58dde82ac..30c78ac9541a4 100644 --- a/recipes/ucsc-chainprenet/build.sh +++ b/recipes/ucsc-chainprenet/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/chainPreNet && make) -cp bin/chainPreNet "$PREFIX/bin" -chmod +x "$PREFIX/bin/chainPreNet" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/chainPreNet && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/chainPreNet "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/chainPreNet" diff --git a/recipes/ucsc-chainprenet/include.patch b/recipes/ucsc-chainprenet/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-chainprenet/include.patch +++ b/recipes/ucsc-chainprenet/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-chainprenet/meta.yaml b/recipes/ucsc-chainprenet/meta.yaml index 748d450bbaa02..02c19c160aef0 100644 --- a/recipes/ucsc-chainprenet/meta.yaml +++ b/recipes/ucsc-chainprenet/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-chainprenet" %} {% set program = "chainPreNet" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Remove chains that don't have a chance of being netted" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-chainsort/build.sh b/recipes/ucsc-chainsort/build.sh index aa1b99bc6019b..2ebbff9ed471a 100644 --- a/recipes/ucsc-chainsort/build.sh +++ b/recipes/ucsc-chainsort/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/chainSort && make) -cp bin/chainSort "$PREFIX/bin" -chmod +x "$PREFIX/bin/chainSort" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/chainSort && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/chainSort "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/chainSort" diff --git a/recipes/ucsc-chainsort/include.patch b/recipes/ucsc-chainsort/include.patch index e9c8621194325..edc04d0dc2f64 100644 --- a/recipes/ucsc-chainsort/include.patch +++ b/recipes/ucsc-chainsort/include.patch @@ -1,30 +1,22 @@ --- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 ++++ kent/src/inc/common.mk.new 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -+++ kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -@@ -147,4 +147,4 @@ -- L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl -+ L+=${PREFIX}/lib/libssl.so ${PREFIX}/lib/libcrypto.so -ldl - else - ifneq ($(wildcard /opt/local/lib/libssl.a),) - L+=/opt/local/lib/libssl.a ---- kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 -+++ kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ --KENT_INC=-I../../../inc -+KENT_INC=-I../../../inc -I${PREFIX}/include - - straw: straw.o cStraw.o - ld -r -o ../straw.o straw.o cStraw.o +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python + + import logging, sys, optparse, string + from collections import defaultdict --- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ diff --git a/recipes/ucsc-chainsort/meta.yaml b/recipes/ucsc-chainsort/meta.yaml index 3864af0708530..93c9d98b79b37 100644 --- a/recipes/ucsc-chainsort/meta.yaml +++ b/recipes/ucsc-chainsort/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-chainsort" %} {% set program = "chainSort" %} -{% set version = "455" %} -{% set sha256 = "e458cadad7c4a5c1b8385edafffa1b29380ac725a0c20535bf5a3bab99fe80db" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -17,34 +17,41 @@ build: skip: True # [osx] number: 0 run_exports: - - {{ pin_subpackage("ucsc-chainsort", max_pin=None) }} + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: - make - {{ compiler('c') }} - - {{ compiler('cxx') }} - - binutils # [linux] host: - libpng - libuuid - mysql-connector-c - - openssl - libopenssl-static - zlib + run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Sort chains. By default sorts by score." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-chainsplit/build.sh b/recipes/ucsc-chainsplit/build.sh index 904b5af20b961..86485b0bf816f 100644 --- a/recipes/ucsc-chainsplit/build.sh +++ b/recipes/ucsc-chainsplit/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/chainSplit && make) -cp bin/chainSplit "$PREFIX/bin" -chmod +x "$PREFIX/bin/chainSplit" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/chainSplit && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/chainSplit "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/chainSplit" diff --git a/recipes/ucsc-chainsplit/include.patch b/recipes/ucsc-chainsplit/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-chainsplit/include.patch +++ b/recipes/ucsc-chainsplit/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-chainsplit/meta.yaml b/recipes/ucsc-chainsplit/meta.yaml index 879198f6e1dc9..8904f36ce5819 100644 --- a/recipes/ucsc-chainsplit/meta.yaml +++ b/recipes/ucsc-chainsplit/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-chainsplit" %} {% set program = "chainSplit" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Split chains up by target or query sequence" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-chainstitchid/build.sh b/recipes/ucsc-chainstitchid/build.sh index 5a737a5c85003..10dfddf7ed04e 100644 --- a/recipes/ucsc-chainstitchid/build.sh +++ b/recipes/ucsc-chainstitchid/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/chainStitchId && make) -cp bin/chainStitchId "$PREFIX/bin" -chmod +x "$PREFIX/bin/chainStitchId" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/chainStitchId && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/chainStitchId "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/chainStitchId" diff --git a/recipes/ucsc-chainstitchid/include.patch b/recipes/ucsc-chainstitchid/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-chainstitchid/include.patch +++ b/recipes/ucsc-chainstitchid/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-chainstitchid/meta.yaml b/recipes/ucsc-chainstitchid/meta.yaml index 2001b5df994a4..ef2cfd4aeacd6 100644 --- a/recipes/ucsc-chainstitchid/meta.yaml +++ b/recipes/ucsc-chainstitchid/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-chainstitchid" %} {% set program = "chainStitchId" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Join chain fragments with the same chain ID into a single" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-chainswap/build.sh b/recipes/ucsc-chainswap/build.sh index 361d0fad14946..8eb218a29a95a 100644 --- a/recipes/ucsc-chainswap/build.sh +++ b/recipes/ucsc-chainswap/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/chainSwap && make) -cp bin/chainSwap "$PREFIX/bin" -chmod +x "$PREFIX/bin/chainSwap" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/chainSwap && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/chainSwap "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/chainSwap" diff --git a/recipes/ucsc-chainswap/include.patch b/recipes/ucsc-chainswap/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-chainswap/include.patch +++ b/recipes/ucsc-chainswap/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-chainswap/meta.yaml b/recipes/ucsc-chainswap/meta.yaml index a4781ec42be5d..4e91525fb6b79 100644 --- a/recipes/ucsc-chainswap/meta.yaml +++ b/recipes/ucsc-chainswap/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-chainswap" %} {% set program = "chainSwap" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Swap target and query in chain" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-chaintoaxt/build.sh b/recipes/ucsc-chaintoaxt/build.sh index 183b350517e6a..04441646d7916 100644 --- a/recipes/ucsc-chaintoaxt/build.sh +++ b/recipes/ucsc-chaintoaxt/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/chainToAxt && make) -cp bin/chainToAxt "$PREFIX/bin" -chmod +x "$PREFIX/bin/chainToAxt" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/chainToAxt && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/chainToAxt "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/chainToAxt" diff --git a/recipes/ucsc-chaintoaxt/include.patch b/recipes/ucsc-chaintoaxt/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-chaintoaxt/include.patch +++ b/recipes/ucsc-chaintoaxt/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-chaintoaxt/meta.yaml b/recipes/ucsc-chaintoaxt/meta.yaml index b9c5445fd18b2..77d4ae748c889 100644 --- a/recipes/ucsc-chaintoaxt/meta.yaml +++ b/recipes/ucsc-chaintoaxt/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-chaintoaxt" %} {% set program = "chainToAxt" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert from chain to axt file" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-chaintopsl/build.sh b/recipes/ucsc-chaintopsl/build.sh index 73cc58fd9a243..744cad97874af 100644 --- a/recipes/ucsc-chaintopsl/build.sh +++ b/recipes/ucsc-chaintopsl/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/chainToPsl && make) -cp bin/chainToPsl "$PREFIX/bin" -chmod +x "$PREFIX/bin/chainToPsl" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/chainToPsl && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/chainToPsl "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/chainToPsl" diff --git a/recipes/ucsc-chaintopsl/include.patch b/recipes/ucsc-chaintopsl/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-chaintopsl/include.patch +++ b/recipes/ucsc-chaintopsl/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-chaintopsl/meta.yaml b/recipes/ucsc-chaintopsl/meta.yaml index 0bc996af09ba1..ced6ca5ebea90 100644 --- a/recipes/ucsc-chaintopsl/meta.yaml +++ b/recipes/ucsc-chaintopsl/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-chaintopsl" %} {% set program = "chainToPsl" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert chain file to psl format" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-chaintopslbasic/build.sh b/recipes/ucsc-chaintopslbasic/build.sh index 0c1f25b1e30dc..4f3b66b44fedb 100644 --- a/recipes/ucsc-chaintopslbasic/build.sh +++ b/recipes/ucsc-chaintopslbasic/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/chainToPslBasic && make) -cp bin/chainToPslBasic "$PREFIX/bin" -chmod +x "$PREFIX/bin/chainToPslBasic" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/chainToPslBasic && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/chainToPslBasic "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/chainToPslBasic" diff --git a/recipes/ucsc-chaintopslbasic/include.patch b/recipes/ucsc-chaintopslbasic/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-chaintopslbasic/include.patch +++ b/recipes/ucsc-chaintopslbasic/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-chaintopslbasic/meta.yaml b/recipes/ucsc-chaintopslbasic/meta.yaml index fba9f93d81f94..9a9683eff74f7 100644 --- a/recipes/ucsc-chaintopslbasic/meta.yaml +++ b/recipes/ucsc-chaintopslbasic/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-chaintopslbasic" %} {% set program = "chainToPslBasic" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Basic conversion chain file to psl format" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-checkagpandfa/build.sh b/recipes/ucsc-checkagpandfa/build.sh index 73ca488d61f8f..ad3b4d10ece14 100644 --- a/recipes/ucsc-checkagpandfa/build.sh +++ b/recipes/ucsc-checkagpandfa/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/gigAssembler/checkAgpAndFa && make) -cp bin/checkAgpAndFa "$PREFIX/bin" -chmod +x "$PREFIX/bin/checkAgpAndFa" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/gigAssembler/checkAgpAndFa && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/checkAgpAndFa "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/checkAgpAndFa" diff --git a/recipes/ucsc-checkagpandfa/include.patch b/recipes/ucsc-checkagpandfa/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-checkagpandfa/include.patch +++ b/recipes/ucsc-checkagpandfa/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-checkagpandfa/meta.yaml b/recipes/ucsc-checkagpandfa/meta.yaml index 602c1b2589e17..5a739b8c2d0db 100644 --- a/recipes/ucsc-checkagpandfa/meta.yaml +++ b/recipes/ucsc-checkagpandfa/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-checkagpandfa" %} {% set program = "checkAgpAndFa" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "takes a .agp file and .fa file and ensures that they are in synch" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-checkcoveragegaps/build.sh b/recipes/ucsc-checkcoveragegaps/build.sh index ef5ebe0df0a02..eb941d1941048 100644 --- a/recipes/ucsc-checkcoveragegaps/build.sh +++ b/recipes/ucsc-checkcoveragegaps/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/checkCoverageGaps && make) -cp bin/checkCoverageGaps "$PREFIX/bin" -chmod +x "$PREFIX/bin/checkCoverageGaps" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/checkCoverageGaps && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/checkCoverageGaps "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/checkCoverageGaps" diff --git a/recipes/ucsc-checkcoveragegaps/include.patch b/recipes/ucsc-checkcoveragegaps/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-checkcoveragegaps/include.patch +++ b/recipes/ucsc-checkcoveragegaps/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-checkcoveragegaps/meta.yaml b/recipes/ucsc-checkcoveragegaps/meta.yaml index b3d0db6ae4843..cc86c26c9b7a9 100644 --- a/recipes/ucsc-checkcoveragegaps/meta.yaml +++ b/recipes/ucsc-checkcoveragegaps/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-checkcoveragegaps" %} {% set program = "checkCoverageGaps" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Check for biggest gap in coverage for a list of tracks." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-checkhgfindspec/build.sh b/recipes/ucsc-checkhgfindspec/build.sh index c89af8112bd23..a1d8fa895c2af 100644 --- a/recipes/ucsc-checkhgfindspec/build.sh +++ b/recipes/ucsc-checkhgfindspec/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/checkHgFindSpec && make) -cp bin/checkHgFindSpec "$PREFIX/bin" -chmod +x "$PREFIX/bin/checkHgFindSpec" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/checkHgFindSpec && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/checkHgFindSpec "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/checkHgFindSpec" diff --git a/recipes/ucsc-checkhgfindspec/build_failure.linux-64.yaml b/recipes/ucsc-checkhgfindspec/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..0d3815ba92acf --- /dev/null +++ b/recipes/ucsc-checkhgfindspec/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: df8d57e37d78b7409b8c609e4b204bd41d195d67802921500989e57e12b65d07 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + | ^~~~~~~~~ + qaSeq.c: In function 'qaFastReadNext': + qaSeq.c:195:1: warning: '__builtin_strncpy' specified bound 256 equals destination size [-Wstringop-truncation] + 195 | strncpy(name, s, sizeof(name)); + | ^~~~~~~ + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o quickLift.o -c quickLift.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o quickLiftChain.o -c quickLiftChain.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rankProp.o -c rankProp.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o refLink.o -c refLink.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o refSeqStatus.o -c refSeqStatus.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rikenCluster.o -c rikenCluster.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rmskAlign.o -c rmskAlign.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rmskJoined.o -c rmskJoined.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rmskOut.o -c rmskOut.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rmskOut2.o -c rmskOut2.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rnaGene.o -c rnaGene.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sage.o -c sage.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sageCounts.o -c sageCounts.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o samAlignment.o -c samAlignment.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sample.o -c sample.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sanger22extra.o -c sanger22extra.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o scoredRef.o -c scoredRef.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o seqWindow.o -c seqWindow.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o snakeUi.o -c snakeUi.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o snp.o -c snp.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o snpExceptions.o -c snpExceptions.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o soTerm.o -c soTerm.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o spDb.o -c spDb.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sqlProg.o -c sqlProg.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sqlSanity.o -c sqlSanity.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o stanMad.o -c stanMad.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o stsAlias.o -c stsAlias.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o stsInfo2.o -c stsInfo2.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o stsMap.o -c stsMap.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o stsMarker.o -c stsMarker.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tableStatus.o -c tableStatus.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tablesTables.o -c tablesTables.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tagRepo.o -c tagRepo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tfbsCons.o -c tfbsCons.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tigrCmrGene.o -c tigrCmrGene.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o traceInfo.o -c traceInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackDb.o -c trackDb.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackDbCache.o -c trackDbCache.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackDbCustom.o -c trackDbCustom.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackHub.o -c trackHub.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackVersion.o -c trackVersion.c + trackDbCustom.c: In function 'trackDbInclude': + trackDbCustom.c:294:5: warning: 'splitPath' accessing 512 bytes in a region of size 256 [-Wstringop-overflow=] + 294 | splitPath(raFile, incFile, NULL, NULL); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + trackDbCustom.c:294:5: note: referencing argument 2 of type 'char[512]' + trackDbCustom.c:294:5: note: referencing argument 3 of type 'char[128]' + trackDbCustom.c:294:5: note: referencing argument 4 of type 'char[64]' + In file included from trackDbCustom.c:9: + ../../inc/common.h:1139:6: note: in a call to function 'splitPath' + 1139 | void splitPath(char *path, char dir[PATH_LEN], char name[FILENAME_LEN], + | ^~~~~~~~~ + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trashDir.o -c trashDir.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txAliDiff.o -c txAliDiff.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txCluster.o -c txCluster.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txCommon.o -c txCommon.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txEdgeBed.o -c txEdgeBed.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txGraph.o -c txGraph.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txInfo.o -c txInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txRnaAccs.o -c txRnaAccs.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o variantProjector.o -c variantProjector.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vcfUi.o -c vcfUi.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vegaInfo.o -c vegaInfo.c + sed -e 's/\\/\\\\/g; s/"/\\"/g; s/^/"/; s/$/\\n"/;' jWestHeader.html > jWestHeader.h + sed -e 's/\\/\\\\/g; s/"/\\"/g; s/^/"/; s/$/\\n"/;' jWestBanner.html > jWestBanner.h + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wigAsciiToBinary.o -c wigAsciiToBinary.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wigDataStream.o -c wigDataStream.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggle.o -c wiggle.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggleCart.o -c wiggleCart.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggleUtils.o -c wiggleUtils.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wikiLink.o -c wikiLink.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o bigRmskAlignBed.o -c bigRmskAlignBed.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o bigRmskBed.o -c bigRmskBed.c + mkdir -p ../../lib/x86_64 + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o web.o -c web.c + ar rcus ../../lib/x86_64/jkhgap.a adjacency.o affyPairs.o agpFrag.o agpGap.o alignSeqSizes.o altGraphX.o asmAlias.o asmEquivalent.o asmSummary.o autoUpgrade.o axtInfo.o barChartBed.o barChartCategory.o barChartUi.o bed.o bed12Source.o bedDetail.o bigBedFind.o bigBedLabel.o bigChain.o bigDbSnp.o bigGenePred.o bigLink.o bigPsl.o blastTab.o borf.o botDelay.o cart.o cartDb.o cdsEvidence.o cdsOrtho.o cdsPick.o cgapSage/cgapSage.o cgapSage/cgapSageLib.o cgiApoptosis.o chainCart.o chainDb.o chainLink.o chainNet.o chainNetDbLoad.o chromAlias.o chromBins.o chromGraph.o chromGraphFactory.o chromInfo.o chromInserts.o chromKeeper.o clonePos.o cpgIsland.o ctgPos.o customAdjacency.o customComposite.o customFactory.o customPp.o customTrack.o cv.o cytoBand.o dbDb.o decoration.o decoratorUi.o defaultDb.o dnaMotifSql.o dupTrack.o encode/encodeErge.o encode/encodeErgeHssCellLines.o encode/encodeExp.o encode/encodeHapMapAlleleFreq.o encode/encodeIndels.o encode/encodePeak.o encode/encodeRegionInfoCustom.o encode/encodeRna.o encode/encodeStanfordPromoters.o encode/encodeStanfordPromotersAverage.o encode/peptideMapping.o encode/wgEncodeGencodeAnnotationRemark.o encode/wgEncodeGencodeAttrs.o encode/wgEncodeGencodeEntrezGene.o encode/wgEncodeGencodeExonSupport.o encode/wgEncodeGencodeGeneSource.o encode/wgEncodeGencodeGeneSymbol.o encode/wgEncodeGencodePdb.o encode/wgEncodeGencodePubMed.o encode/wgEncodeGencodeRefSeq.o encode/wgEncodeGencodeTag.o encode/wgEncodeGencodeTranscriptSource.o encode/wgEncodeGencodeTranscriptSupport.o encode/wgEncodeGencodeTranscriptionSupportLevel.o encode/wgEncodeGencodeUniProt.o encode3/encode3Valid.o estOrientInfo.o expData.o exportedDataHubs.o expRecord.o facetField.o facetedTable.o featureBits.o findKGAlias.o fakeCurl.o findKGProtAlias.o gbSeq.o gbExtFile.o gcPercent.o genark.o genbank.o genbankBlackList.o gencodeTracksCommon.o gencodeAttrs.o gencodeToRefSeq.o geneGraph.o genePred.o genePredReader.o geoMirror.o ggCluster.o ggDump.o ggGraph.o ggMrnaAli.o ggTypes.o glDbRep.o googleAnalytics.o gpFx.o grp.o gtexAse.o gtexDonor.o gtexGeneBed.o gtexInfo.o gtexSample.o gtexSampleData.o gtexTissue.o gtexTissueMedian.o gtexUi.o hCommon.o hPrint.o hVarSubst.o hapmapAllelesOrtho.o hapmapPhaseIIISummary.o hapmapSnps.o hdb.o hgColors.o hgConfig.o hgFind.o hgFindSpec.o hgFindSpecCustom.o hgHgvs.o hgHgvsParse.o hgMaf.o hgRelate.o hic.o hicUi.o hubConnect.o hubPublic.o hubSearchText.o hui.o imageClone.o indelShift.o interact.o interactUi.o itemAttr.o jksql.o joiner.o jsHelper.o kgAlias.o kgProtAlias.o kgXref.o knownInfo.o knownMore.o lav.o lfs.o liftOver.o liftOverChain.o liftUp.o longRange.o lrg.o lsSnpPdb.o mafFrames.o mafGene.o mafSummary.o makeItemsItem.o mdb.o microarray.o minChromSize.o namedSessionDb.o netAlign.o netCart.o pepPred.o pgPhenoAssoc.o pgSnp.o pslReader.o qaSeq.o quickLift.o quickLiftChain.o rankProp.o refLink.o refSeqStatus.o rikenCluster.o rmskAlign.o rmskJoined.o rmskOut.o rmskOut2.o rnaGene.o sage.o sageCounts.o samAlignment.o sample.o sanger22extra.o scoredRef.o seqWindow.o snakeUi.o snp.o snpExceptions.o soTerm.o spDb.o sqlProg.o sqlSanity.o stanMad.o stsAlias.o stsInfo2.o stsMap.o stsMarker.o tableStatus.o tablesTables.o tagRepo.o tfbsCons.o tigrCmrGene.o traceInfo.o trackDb.o trackDbCache.o trackDbCustom.o trackHub.o trackVersion.o trashDir.o txAliDiff.o txCluster.o txCommon.o txEdgeBed.o txGraph.o txInfo.o txRnaAccs.o variantProjector.o vcfUi.o vegaInfo.o web.o wigAsciiToBinary.o wigDataStream.o wiggle.o wiggleCart.o wiggleUtils.o wikiLink.o bigRmskAlignBed.o bigRmskBed.o + cd kent/src/hg/checkHgFindSpec + make CC=/opt/conda/conda-bld/ucsc-checkhgfindspec_1724792872911/_build_env/bin/x86_64-conda-linux-gnu-cc CXX= 'CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /opt/conda/conda-bld/ucsc-checkhgfindspec_1724792872911/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include -fdebug-prefix-map=/opt/conda/conda-bld/ucsc-checkhgfindspec_1724792872911/work=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=/opt/conda/conda-bld/ucsc-checkhgfindspec_1724792872911/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,/opt/conda/conda-bld/ucsc-checkhgfindspec_1724792872911/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib -Wl,-rpath-link,/opt/conda/conda-bld/ucsc-checkhgfindspec_1724792872911/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib -L/opt/conda/conda-bld/ucsc-checkhgfindspec_1724792872911/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib -L/opt/conda/conda-bld/ucsc-checkhgfindspec_1724792872911/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib' 'CXXFLAGS= -I/opt/conda/conda-bld/ucsc-checkhgfindspec_1724792872911/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,/opt/conda/conda-bld/ucsc-checkhgfindspec_1724792872911/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib -Wl,-rpath-link,/opt/conda/conda-bld/ucsc-checkhgfindspec_1724792872911/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib -L/opt/conda/conda-bld/ucsc-checkhgfindspec_1724792872911/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib -L/opt/conda/conda-bld/ucsc-checkhgfindspec_1724792872911/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib' -j 4 + make: *** No rule to make target '../../lib/x86_64/jkhgapcgi.a', needed by '/opt/conda/conda-bld/ucsc-checkhgfindspec_1724792872911/work/bin/checkHgFindSpec'. Stop. + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/ucsc-checkhgfindspec_1724792872911/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/ucsc-checkhgfindspec/build_failure.linux-aarch64.yaml b/recipes/ucsc-checkhgfindspec/build_failure.linux-aarch64.yaml new file mode 100644 index 0000000000000..968e091213191 --- /dev/null +++ b/recipes/ucsc-checkhgfindspec/build_failure.linux-aarch64.yaml @@ -0,0 +1,104 @@ +recipe_sha: df8d57e37d78b7409b8c609e4b204bd41d195d67802921500989e57e12b65d07 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + | ^~~~~~~~~ + qaSeq.c: In function 'qaFastReadNext': + qaSeq.c:195:1: warning: '__builtin_strncpy' specified bound 256 equals destination size [-Wstringop-truncation] + 195 | strncpy(name, s, sizeof(name)); + | ^~~~~~~ + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o quickLift.o -c quickLift.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o quickLiftChain.o -c quickLiftChain.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rankProp.o -c rankProp.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o refLink.o -c refLink.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o refSeqStatus.o -c refSeqStatus.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rikenCluster.o -c rikenCluster.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rmskAlign.o -c rmskAlign.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rmskJoined.o -c rmskJoined.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rmskOut.o -c rmskOut.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rmskOut2.o -c rmskOut2.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rnaGene.o -c rnaGene.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sage.o -c sage.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sageCounts.o -c sageCounts.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o samAlignment.o -c samAlignment.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sample.o -c sample.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sanger22extra.o -c sanger22extra.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o scoredRef.o -c scoredRef.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o seqWindow.o -c seqWindow.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o snakeUi.o -c snakeUi.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o snp.o -c snp.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o snpExceptions.o -c snpExceptions.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o soTerm.o -c soTerm.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o spDb.o -c spDb.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sqlProg.o -c sqlProg.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sqlSanity.o -c sqlSanity.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o stanMad.o -c stanMad.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o stsAlias.o -c stsAlias.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o stsInfo2.o -c stsInfo2.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o stsMap.o -c stsMap.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o stsMarker.o -c stsMarker.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tableStatus.o -c tableStatus.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tablesTables.o -c tablesTables.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tagRepo.o -c tagRepo.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tfbsCons.o -c tfbsCons.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tigrCmrGene.o -c tigrCmrGene.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o traceInfo.o -c traceInfo.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackDb.o -c trackDb.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackDbCache.o -c trackDbCache.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackDbCustom.o -c trackDbCustom.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackHub.o -c trackHub.c + trackDbCustom.c: In function 'trackDbInclude': + trackDbCustom.c:294:5: warning: 'splitPath' accessing 512 bytes in a region of size 256 [-Wstringop-overflow=] + 294 | splitPath(raFile, incFile, NULL, NULL); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + trackDbCustom.c:294:5: note: referencing argument 2 of type 'char[512]' + trackDbCustom.c:294:5: note: referencing argument 3 of type 'char[128]' + trackDbCustom.c:294:5: note: referencing argument 4 of type 'char[64]' + In file included from trackDbCustom.c:9: + ../../inc/common.h:1139:6: note: in a call to function 'splitPath' + 1139 | void splitPath(char *path, char dir[PATH_LEN], char name[FILENAME_LEN], + | ^~~~~~~~~ + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackVersion.o -c trackVersion.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trashDir.o -c trashDir.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txAliDiff.o -c txAliDiff.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txCluster.o -c txCluster.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txCommon.o -c txCommon.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txEdgeBed.o -c txEdgeBed.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txGraph.o -c txGraph.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txInfo.o -c txInfo.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txRnaAccs.o -c txRnaAccs.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o variantProjector.o -c variantProjector.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vcfUi.o -c vcfUi.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vegaInfo.o -c vegaInfo.c + sed -e 's/\\/\\\\/g; s/"/\\"/g; s/^/"/; s/$/\\n"/;' jWestHeader.html > jWestHeader.h + sed -e 's/\\/\\\\/g; s/"/\\"/g; s/^/"/; s/$/\\n"/;' jWestBanner.html > jWestBanner.h + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wigAsciiToBinary.o -c wigAsciiToBinary.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wigDataStream.o -c wigDataStream.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggle.o -c wiggle.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggleCart.o -c wiggleCart.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggleUtils.o -c wiggleUtils.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wikiLink.o -c wikiLink.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o bigRmskAlignBed.o -c bigRmskAlignBed.c + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o bigRmskBed.o -c bigRmskBed.c + mkdir -p ../../lib/aarch64 + $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc -O -g -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_aarch64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o web.o -c web.c + ar rcus ../../lib/aarch64/jkhgap.a adjacency.o affyPairs.o agpFrag.o agpGap.o alignSeqSizes.o altGraphX.o asmAlias.o asmEquivalent.o asmSummary.o autoUpgrade.o axtInfo.o barChartBed.o barChartCategory.o barChartUi.o bed.o bed12Source.o bedDetail.o bigBedFind.o bigBedLabel.o bigChain.o bigDbSnp.o bigGenePred.o bigLink.o bigPsl.o blastTab.o borf.o botDelay.o cart.o cartDb.o cdsEvidence.o cdsOrtho.o cdsPick.o cgapSage/cgapSage.o cgapSage/cgapSageLib.o cgiApoptosis.o chainCart.o chainDb.o chainLink.o chainNet.o chainNetDbLoad.o chromAlias.o chromBins.o chromGraph.o chromGraphFactory.o chromInfo.o chromInserts.o chromKeeper.o clonePos.o cpgIsland.o ctgPos.o customAdjacency.o customComposite.o customFactory.o customPp.o customTrack.o cv.o cytoBand.o dbDb.o decoration.o decoratorUi.o defaultDb.o dnaMotifSql.o dupTrack.o encode/encodeErge.o encode/encodeErgeHssCellLines.o encode/encodeExp.o encode/encodeHapMapAlleleFreq.o encode/encodeIndels.o encode/encodePeak.o encode/encodeRegionInfoCustom.o encode/encodeRna.o encode/encodeStanfordPromoters.o encode/encodeStanfordPromotersAverage.o encode/peptideMapping.o encode/wgEncodeGencodeAnnotationRemark.o encode/wgEncodeGencodeAttrs.o encode/wgEncodeGencodeEntrezGene.o encode/wgEncodeGencodeExonSupport.o encode/wgEncodeGencodeGeneSource.o encode/wgEncodeGencodeGeneSymbol.o encode/wgEncodeGencodePdb.o encode/wgEncodeGencodePubMed.o encode/wgEncodeGencodeRefSeq.o encode/wgEncodeGencodeTag.o encode/wgEncodeGencodeTranscriptSource.o encode/wgEncodeGencodeTranscriptSupport.o encode/wgEncodeGencodeTranscriptionSupportLevel.o encode/wgEncodeGencodeUniProt.o encode3/encode3Valid.o estOrientInfo.o expData.o exportedDataHubs.o expRecord.o facetField.o facetedTable.o featureBits.o findKGAlias.o fakeCurl.o findKGProtAlias.o gbSeq.o gbExtFile.o gcPercent.o genark.o genbank.o genbankBlackList.o gencodeTracksCommon.o gencodeAttrs.o gencodeToRefSeq.o geneGraph.o genePred.o genePredReader.o geoMirror.o ggCluster.o ggDump.o ggGraph.o ggMrnaAli.o ggTypes.o glDbRep.o googleAnalytics.o gpFx.o grp.o gtexAse.o gtexDonor.o gtexGeneBed.o gtexInfo.o gtexSample.o gtexSampleData.o gtexTissue.o gtexTissueMedian.o gtexUi.o hCommon.o hPrint.o hVarSubst.o hapmapAllelesOrtho.o hapmapPhaseIIISummary.o hapmapSnps.o hdb.o hgColors.o hgConfig.o hgFind.o hgFindSpec.o hgFindSpecCustom.o hgHgvs.o hgHgvsParse.o hgMaf.o hgRelate.o hic.o hicUi.o hubConnect.o hubPublic.o hubSearchText.o hui.o imageClone.o indelShift.o interact.o interactUi.o itemAttr.o jksql.o joiner.o jsHelper.o kgAlias.o kgProtAlias.o kgXref.o knownInfo.o knownMore.o lav.o lfs.o liftOver.o liftOverChain.o liftUp.o longRange.o lrg.o lsSnpPdb.o mafFrames.o mafGene.o mafSummary.o makeItemsItem.o mdb.o microarray.o minChromSize.o namedSessionDb.o netAlign.o netCart.o pepPred.o pgPhenoAssoc.o pgSnp.o pslReader.o qaSeq.o quickLift.o quickLiftChain.o rankProp.o refLink.o refSeqStatus.o rikenCluster.o rmskAlign.o rmskJoined.o rmskOut.o rmskOut2.o rnaGene.o sage.o sageCounts.o samAlignment.o sample.o sanger22extra.o scoredRef.o seqWindow.o snakeUi.o snp.o snpExceptions.o soTerm.o spDb.o sqlProg.o sqlSanity.o stanMad.o stsAlias.o stsInfo2.o stsMap.o stsMarker.o tableStatus.o tablesTables.o tagRepo.o tfbsCons.o tigrCmrGene.o traceInfo.o trackDb.o trackDbCache.o trackDbCustom.o trackHub.o trackVersion.o trashDir.o txAliDiff.o txCluster.o txCommon.o txEdgeBed.o txGraph.o txInfo.o txRnaAccs.o variantProjector.o vcfUi.o vegaInfo.o web.o wigAsciiToBinary.o wigDataStream.o wiggle.o wiggleCart.o wiggleUtils.o wikiLink.o bigRmskAlignBed.o bigRmskBed.o + cd kent/src/hg/checkHgFindSpec + make CC=/opt/conda/conda-bld/ucsc-checkhgfindspec_1724786009370/_build_env/bin/aarch64-conda-linux-gnu-cc CXX= 'CFLAGS=-ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem /opt/conda/conda-bld/ucsc-checkhgfindspec_1724786009370/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include -fdebug-prefix-map=/opt/conda/conda-bld/ucsc-checkhgfindspec_1724786009370/work=/usr/local/src/conda/ucsc-checkhgfindspec-469 -fdebug-prefix-map=/opt/conda/conda-bld/ucsc-checkhgfindspec_1724786009370/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,/opt/conda/conda-bld/ucsc-checkhgfindspec_1724786009370/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib -Wl,-rpath-link,/opt/conda/conda-bld/ucsc-checkhgfindspec_1724786009370/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib -L/opt/conda/conda-bld/ucsc-checkhgfindspec_1724786009370/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib -L/opt/conda/conda-bld/ucsc-checkhgfindspec_1724786009370/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib' 'CXXFLAGS= -I/opt/conda/conda-bld/ucsc-checkhgfindspec_1724786009370/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/include -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,/opt/conda/conda-bld/ucsc-checkhgfindspec_1724786009370/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib -Wl,-rpath-link,/opt/conda/conda-bld/ucsc-checkhgfindspec_1724786009370/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib -L/opt/conda/conda-bld/ucsc-checkhgfindspec_1724786009370/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib -L/opt/conda/conda-bld/ucsc-checkhgfindspec_1724786009370/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib' -j 4 + make: *** No rule to make target '../../lib/aarch64/jkhgapcgi.a', needed by '/opt/conda/conda-bld/ucsc-checkhgfindspec_1724786009370/work/bin/checkHgFindSpec'. Stop. + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/ucsc-checkhgfindspec_1724786009370/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/ucsc-checkhgfindspec/include.patch b/recipes/ucsc-checkhgfindspec/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-checkhgfindspec/include.patch +++ b/recipes/ucsc-checkhgfindspec/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-checkhgfindspec/meta.yaml b/recipes/ucsc-checkhgfindspec/meta.yaml index 7d0c1b14e7bda..344ee0e75f466 100644 --- a/recipes/ucsc-checkhgfindspec/meta.yaml +++ b/recipes/ucsc-checkhgfindspec/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-checkhgfindspec" %} {% set program = "checkHgFindSpec" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "test and describe search specs in hgFindSpec tables." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-checktablecoords/build.sh b/recipes/ucsc-checktablecoords/build.sh index 32521004ac2cd..91bb2e088ce06 100644 --- a/recipes/ucsc-checktablecoords/build.sh +++ b/recipes/ucsc-checktablecoords/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/checkTableCoords && make) -cp bin/checkTableCoords "$PREFIX/bin" -chmod +x "$PREFIX/bin/checkTableCoords" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/checkTableCoords && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/checkTableCoords "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/checkTableCoords" diff --git a/recipes/ucsc-checktablecoords/include.patch b/recipes/ucsc-checktablecoords/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-checktablecoords/include.patch +++ b/recipes/ucsc-checktablecoords/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-checktablecoords/meta.yaml b/recipes/ucsc-checktablecoords/meta.yaml index 791004d8305d7..adb7ea668615a 100644 --- a/recipes/ucsc-checktablecoords/meta.yaml +++ b/recipes/ucsc-checktablecoords/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-checktablecoords" %} {% set program = "checkTableCoords" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "check invariants on genomic coords in table(s)." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-chopfalines/build.sh b/recipes/ucsc-chopfalines/build.sh index ee55545a7dfb8..a58ab6b37ac2a 100644 --- a/recipes/ucsc-chopfalines/build.sh +++ b/recipes/ucsc-chopfalines/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/chopFaLines && make) -cp bin/chopFaLines "$PREFIX/bin" -chmod +x "$PREFIX/bin/chopFaLines" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/chopFaLines && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/chopFaLines "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/chopFaLines" diff --git a/recipes/ucsc-chopfalines/include.patch b/recipes/ucsc-chopfalines/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-chopfalines/include.patch +++ b/recipes/ucsc-chopfalines/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-chopfalines/meta.yaml b/recipes/ucsc-chopfalines/meta.yaml index 82f95f1e65f16..55a8833c00e82 100644 --- a/recipes/ucsc-chopfalines/meta.yaml +++ b/recipes/ucsc-chopfalines/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-chopfalines" %} {% set program = "chopFaLines" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Read in FA file with long lines and rewrite it with shorter lines" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-chromgraphfrombin/build.sh b/recipes/ucsc-chromgraphfrombin/build.sh index f4e4f1cd6a5c7..abe23d1d58239 100644 --- a/recipes/ucsc-chromgraphfrombin/build.sh +++ b/recipes/ucsc-chromgraphfrombin/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/chromGraphFromBin && make) -cp bin/chromGraphFromBin "$PREFIX/bin" -chmod +x "$PREFIX/bin/chromGraphFromBin" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/chromGraphFromBin && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/chromGraphFromBin "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/chromGraphFromBin" diff --git a/recipes/ucsc-chromgraphfrombin/include.patch b/recipes/ucsc-chromgraphfrombin/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-chromgraphfrombin/include.patch +++ b/recipes/ucsc-chromgraphfrombin/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-chromgraphfrombin/meta.yaml b/recipes/ucsc-chromgraphfrombin/meta.yaml index d5fee658365da..81ed418950a54 100644 --- a/recipes/ucsc-chromgraphfrombin/meta.yaml +++ b/recipes/ucsc-chromgraphfrombin/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-chromgraphfrombin" %} {% set program = "chromGraphFromBin" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert chromGraph binary to ascii format." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-chromgraphtobin/build.sh b/recipes/ucsc-chromgraphtobin/build.sh index 3cfddf7a01494..e48eda9b05ff5 100644 --- a/recipes/ucsc-chromgraphtobin/build.sh +++ b/recipes/ucsc-chromgraphtobin/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/chromGraphToBin && make) -cp bin/chromGraphToBin "$PREFIX/bin" -chmod +x "$PREFIX/bin/chromGraphToBin" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/chromGraphToBin && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/chromGraphToBin "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/chromGraphToBin" diff --git a/recipes/ucsc-chromgraphtobin/include.patch b/recipes/ucsc-chromgraphtobin/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-chromgraphtobin/include.patch +++ b/recipes/ucsc-chromgraphtobin/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-chromgraphtobin/meta.yaml b/recipes/ucsc-chromgraphtobin/meta.yaml index 3e585a0142a8f..3ca7a67b56d0a 100644 --- a/recipes/ucsc-chromgraphtobin/meta.yaml +++ b/recipes/ucsc-chromgraphtobin/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-chromgraphtobin" %} {% set program = "chromGraphToBin" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Make binary version of chromGraph." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-clustergenes/build_failure.linux-64.yaml b/recipes/ucsc-clustergenes/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..6f6b3fc542fb7 --- /dev/null +++ b/recipes/ucsc-clustergenes/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 7301658b2a9a152f5678e10ce66f847a6c66e265570df1b26bdf41f4d8183b78 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + trackDbCustom.c:294:5: note: referencing argument 2 of type 'char[512]' + trackDbCustom.c:294:5: note: referencing argument 3 of type 'char[128]' + trackDbCustom.c:294:5: note: referencing argument 4 of type 'char[64]' + In file included from trackDbCustom.c:8: + ../../inc/common.h:1104:6: note: in a call to function 'splitPath' + 1104 | void splitPath(char *path, char dir[PATH_LEN], char name[FILENAME_LEN], + | ^~~~~~~~~ + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackHub.o -c trackHub.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackLayout.o -c trackLayout.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackTable.o -c trackTable.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackVersion.o -c trackVersion.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trashDir.o -c trashDir.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o transRegCode.o -c transRegCode.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o transRegCodeCondition.o -c transRegCodeCondition.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o transRegCodeProbe.o -c transRegCodeProbe.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txAliDiff.o -c txAliDiff.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txCluster.o -c txCluster.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txCommon.o -c txCommon.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txEdgeBed.o -c txEdgeBed.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txEdgeOrtho.o -c txEdgeOrtho.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txGraph.o -c txGraph.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txInfo.o -c txInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txRnaAccs.o -c txRnaAccs.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o ucscRetroInfo.o -c ucscRetroInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o ucscRetroOrtho.o -c ucscRetroOrtho.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o validateGisaid.o -c validateGisaid.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o variant.o -c variant.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o variantProjector.o -c variantProjector.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vcfUi.o -c vcfUi.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vegaInfo.o -c vegaInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vegaInfoZfish.o -c vegaInfoZfish.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o visiGene.o -c visiGene.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vntr.o -c vntr.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wabAli.o -c wabAli.c + sed -e 's/\\/\\\\/g; s/"/\\"/g; s/^/"/; s/$/\\n"/;' jWestHeader.html > jWestHeader.h + sed -e 's/\\/\\\\/g; s/"/\\"/g; s/^/"/; s/$/\\n"/;' jWestBanner.html > jWestBanner.h + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o web.o -c web.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o ncRna.o -c ncRna.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wgRna.o -c wgRna.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wigAsciiToBinary.o -c wigAsciiToBinary.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wigDataStream.o -c wigDataStream.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggle.o -c wiggle.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggleCart.o -c wiggleCart.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggleUtils.o -c wiggleUtils.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wikiLink.o -c wikiLink.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wikiTrack.o -c wikiTrack.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o yaleGencodeAssoc.o -c yaleGencodeAssoc.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o zdobnovSynt.o -c zdobnovSynt.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o oreganno.o -c oreganno.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o oregannoUi.o -c oregannoUi.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o gvUi.o -c gvUi.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o gv.o -c gv.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o omicia.o -c omicia.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o protVar.o -c protVar.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o pgSnp.o -c pgSnp.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o alignInfo.o -c alignInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o cddInfo.o -c cddInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o loweutils.o -c loweutils.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o cddDesc.o -c cddDesc.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o arCOGs.o -c arCOGs.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o arcogdesc.o -c arcogdesc.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o geneTree.o -c geneTree.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o megablastInfo.o -c megablastInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o pgPhenoAssoc.o -c pgPhenoAssoc.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o pgSiftPred.o -c pgSiftPred.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o pgPolyphenPred.o -c pgPolyphenPred.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o userRegions.o -c userRegions.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o variome.o -c variome.c + ar rcus ../../lib/x86_64/jkhgap.a acemblyClass.o adjacency.o affyAllExonProbe.o affyAtlas.o affy10KDetails.o affy120KDetails.o affyOffset.o affyPairs.o agp.o agpFrag.o agpGap.o alignSeqSizes.o altGraph.o altGraphX.o ancientRref.o annoFormatVep.o annoGratorGpVar.o annoGrateWigDb.o annoStreamDb.o annoStreamDbFactorSource.o annoStreamDbPslPlus.o annoStreamWig.o api.o atomDb.o autoUpgrade.o axtInfo.o axtLib.o bactigPos.o hgBam.o barChartBed.o barChartCategory.o barChartUi.o barChartData.o barChartSample.o baseMaskCommon.o bdgpExprLink.o bdgpGeneInfo.o bed.o bed5FloatScore.o bed5Pval.o bed6FloatScore.o bed8Attrs.o bed12Source.o bed12wSeq.o bedCart.o bgiGeneInfo.o bgiGeneSnp.o bgiSnp.o bigBedFind.o bigBedLabel.o bigGenePred.o bigPsl.o bigTransMap.o bioImage.o blastTab.o blastzNet.o blatServers.o borf.o borkPseudoHom.o botDelay.o cart.o cartDb.o cartJson.o cartTrackDb.o cdsEvidence.o cdsOrtho.o cdsPick.o cdsSpec.o ccdsInfo.o ccdsNotes.o ccdsGeneMap.o celeraCoverage.o celeraDupPositive.o cgapSage/cgapSage.o cgapSage/cgapSageLib.o cgh.o chainCart.o chainDb.o chainLink.o chainNet.o chainNetDbLoad.o chicken13kInfo.o chromBins.o chromAlias.o chr18deletions.o chromGraph.o chromGraphFactory.o chromInfo.o chromInserts.o chromKeeper.o clonePos.o codeBlast.o codeBlastScore.o cogs.o cogsxra.o columnInfo.o contigAcc.o coordConv.o cnpIafrate.o cnpIafrate2.o cnpLocke.o cnpRedon.o cnpSebat.o cnpSebat2.o cnpSharp2.o cnpSharpCutoff.o cnpSharpSample.o cnpSharp.o cpgIsland.o cpgIslandExt.o ctgPos.o ctgPos2.o customComposite.o bedDetail.o cgiApoptosis.o customAdjacency.o customFactory.o customPp.o customTrack.o cutter.o cv.o cytoBand.o dbDb.o dbRIP.o dbSnpRs.o defaultDb.o delConrad2.o delHinds2.o dgv.o dgvPlus.o dless.o dnaMotifSql.o dnaMarkovSql.o dnaProbe.o dv.o dvBed.o dvXref2.o easyGene.o ec.o ecCode.o ecAttribute.o ecAttributeCode.o encode/encodeErge.o encode/encodeErgeHssCellLines.o encode/encodeHapMapAlleleFreq.o encode/encodeIndels.o encode/encodePeak.o encode/encodeRegionInfo.o encode/encodeRegionInfoCustom.o encode/encodeRna.o encode/encodeStanfordPromoters.o encode/encodeStanfordPromotersAverage.o encode/pairedTagAlign.o encode/peptideMapping.o encode/tagAlign.o encode/wgEncodeGencodeAttrs.o encode/wgEncodeGencodeExonSupport.o encode/wgEncodeGencodeEntrezGene.o encode/wgEncodeGencodeTag.o encode/wgEncodeGencodeGeneSymbol.o encode/wgEncodeGencodePdb.o encode/wgEncodeGencodePubMed.o encode/wgEncodeGencodeRefSeq.o encode/wgEncodeGencodeGeneSource.o encode/wgEncodeGencodeTranscriptSource.o encode/wgEncodeGencodeTranscriptSupport.o encode/wgEncodeGencodeTranscriptionSupportLevel.o encode/wgEncodeGencodeUniProt.o encode/wgEncodeGencodePolyAFeature.o encode/wgEncodeGencodeAnnotationRemark.o encode/wgEncodeCell.o encode/encodeExp.o encode3/encode2Manifest.o encode3/encode3Valid.o ensFace.o ensInfo.o ensPhusionBlast.o ensXRefZfish.o est3.o estOrientInfo.o estPair.o exoFish.o expData.o expRecord.o exprBed.o facetField.o factorSource.o fbTables.o featureBits.o fileUi.o findKGAlias.o findKGProtAlias.o fishClones.o flyBase2004Xref.o flyBaseSwissProt.o flyreg.o flyreg2.o gbExtFile.o gbWarn.o gbMiscDiff.o gbProtAnn.o gcPercent.o gbSeq.o genbank.o genbankBlackList.o gencodeGeneClass.o gencodeIntron.o genMapDb.o geneBands.o geneCheck.o geneCheckDetails.o geneCheckWidget.o geneGraph.o genePred.o genePredReader.o geneSimilarities.o genoLay.o genomeRangeTreeFile.o genomicDups.o genomicSuperDups.o geoMirror.o ggCluster.o ggDbIo.o ggDump.o ggGraph.o ggMrnaAli.o ggTypes.o glDbRep.o goa.o goaPart.o googleAnalytics.o gpFx.o growthCondition.o grp.o gtexAse.o gtexBoxplot.o gtexEqtlCluster.o gtexInfo.o gtexDonor.o gtexGeneBed.o gtexSample.o gtexSampleData.o gtexTissue.o gtexTissueData.o gtexTissueMedian.o gtexUi.o gwasCatalog.o hAnno.o haplotypes.o hapmapAllelesOrtho.o hapmapAllelesSummary.o hapmapPhaseIIISummary.o hapmapSnps.o hapmapSnpsCombined.o hashJoin.o hCommon.o hCytoBand.o hdb.o hgColors.o hgConfig.o hgExp.o hgFind.o hgFindSpec.o hgFindSpecCustom.o hgHgvs.o hgHgvsParse.o hgGene.o hgMaf.o hgRelate.o hgSeq.o hgdpGeo.o hPrint.o hVarSubst.o hvGfx.o HInv.o hubConnect.o hubSearchText.o hui.o humanParalog.o imageClone.o indelShift.o interact.o interactUi.o isochores.o ispyTables.o itemAttr.o itemConf.o itemDetailsHtml.o jalview.o jaxOrtholog.o jaxQTL.o jaxQTL3.o jksql.o joiner.o jsHelper.o kg1ToKg2.o jgiGene.o joinMixer.o kgAlias.o kgColor.o kgProtAlias.o kgXref.o knownInfo.o knownMore.o knownToSuper.o lav.o ld.o ld2.o lfs.o liftOver.o liftOverChain.o liftUp.o llaInfo.o longRange.o lrg.o lsSnpPdb.o lsSnpPdbChimera.o mafFrames.o mafGene.o mafSummary.o makeItemsItem.o mammalPsg.o mapSts.o mathWig.o mcnBreakpoints.o mdb.o metaChromGraph.o microarray.o minChromSize.o minGeneInfo.o mrnaMisMatch.o mouseOrtho.o mouseSyn.o mouseSynWhd.o mysqlTableStatus.o ncbiRefLink.o ncbiRefSeqLink.o netAlign.o netCart.o nonCodingUi.o omimTitle.o ooUtils.o orthoAlleles.o pal.o pbStamp.o pcrResult.o pepPred.o peptideAtlasPeptide.o plasEndPairs.o polyGenotype.o protFeat.o pscreen.o pseudoGeneLink.o pslReader.o pslWScore.o putaInfo.o qaSeq.o rangeTreeFile.o rankProp.o recombRate.o recombRateRat.o recombRateMouse.o refLink.o refSeqStatus.o rgdQtl.o riken.o rhMapZfishInfo.o rikenBest.o rikenCluster.o rmskOut.o rmskAlign.o rmskJoined.o rmskOut2.o rnaFold.o rnaGene.o rnaGroup.o rnaHybridization.o rnaPLFold.o tRNAs.o gbRNAs.o snoRNAs.o lowelabPfamHit.o lowelabArkinOperonScore.o lowelabTIGROperonScore.o rnaSecStr.o tfbsConsFactors.o roughAli.o transMapStuff.o transMapInfo.o transMapGene.o transMapSrc.o sage.o sageCounts.o sageExp.o samAlignment.o sample.o sanger22extra.o sangerGene.o sangerGeneToWBGeneID.o sargassoSeaXra.o scopDes.o scoredRef.o search.o seqWindow.o sessionThumbnail.o sgdAbundance.o sgdClone.o sgdDescription.o sgdOther.o simpleNucDiff.o simpleRepeat.o snakeUi.o snp.o snp125.o snp125CodingCoordless.o snp132Ext.o snpExceptions.o snpFasta.o snpMap.o snpTmp.o snpUi.o snp125Exceptions.o snp125Ui.o softPromoter.o softberryHom.o soTerm.o spDb.o splignAlign.o sqlSanity.o stanMad.o stsAlias.o stsInfo.o stsInfo2.o stsInfoMouse.o stsInfoMouseNew.o stsInfoRat.o stsMap.o stsMapMouse.o stsMapMouseNew.o stsMapRat.o stsMarker.o suggest.o switchDbTss.o synMap.o synteny100000.o syntenyBerk.o syntenySanger.o sqlProg.o tfbsCons.o tfbsConsSites.o tablesTables.o tableDescriptions.o tableStatus.o targetDb.o tfbsConsMap.o tagRepo.o taxonDivision.o taxonGeneticCode.o taxonName.o taxonNode.o taxonXref.o tigrCmrGene.o tigrOperon.o tilingPath.o traceInfo.o trackDb.o trackDbCustom.o trackHub.o trackLayout.o trackTable.o trackVersion.o trashDir.o transRegCode.o transRegCodeCondition.o transRegCodeProbe.o txAliDiff.o txCluster.o txCommon.o txEdgeBed.o txEdgeOrtho.o txGraph.o txInfo.o txRnaAccs.o ucscRetroInfo.o ucscRetroOrtho.o validateGisaid.o variant.o variantProjector.o vcfUi.o vegaInfo.o vegaInfoZfish.o visiGene.o vntr.o wabAli.o web.o ncRna.o wgRna.o wigAsciiToBinary.o wigDataStream.o wiggle.o wiggleCart.o wiggleUtils.o wikiLink.o wikiTrack.o yaleGencodeAssoc.o zdobnovSynt.o oreganno.o oregannoUi.o gvUi.o gv.o omicia.o protVar.o pgSnp.o alignInfo.o cddInfo.o loweutils.o cddDesc.o arCOGs.o arcogdesc.o geneTree.o megablastInfo.o pgPhenoAssoc.o pgSiftPred.o pgPolyphenPred.o userRegions.o variome.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-clustergenes-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -o clusterGenes.o -c clusterGenes.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -o $SRC_DIR/bin/clusterGenes clusterGenes.o ../../../lib/x86_64/jkhgap.a ../../../lib/x86_64/jkweb.a -L$PREFIX/lib -lmysqlclient -lstdc -lrt -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -lpthread -lssl -lcrypto ../../../htslib/libhts.a -L$PREFIX/lib -lpng16 -lm -lz + /opt/conda/conda-bld/ucsc-clustergenes_1724781208821/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkhgap.a(trackHub.o):/usr/local/src/conda/ucsc-clustergenes-377/kent/src/hg/lib/../../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-clustergenes-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-clustergenes_1724781208821/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkhgap.a(web.o):/usr/local/src/conda/ucsc-clustergenes-377/kent/src/hg/lib/../../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-clustergenes-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-clustergenes_1724781208821/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkhgap.a(wikiLink.o):/usr/local/src/conda/ucsc-clustergenes-377/kent/src/hg/lib/../../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-clustergenes-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-clustergenes_1724781208821/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkhgap.a(cart.o):/usr/local/src/conda/ucsc-clustergenes-377/kent/src/hg/lib/../../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-clustergenes-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-clustergenes_1724781208821/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkhgap.a(hPrint.o):/usr/local/src/conda/ucsc-clustergenes-377/kent/src/hg/lib/../../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-clustergenes-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-clustergenes_1724781208821/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkweb.a(bamFile.o):/usr/local/src/conda/ucsc-clustergenes-377/kent/src/lib/../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-clustergenes-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-clustergenes_1724781208821/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkweb.a(cheapcgi.o):/usr/local/src/conda/ucsc-clustergenes-377/kent/src/lib/../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-clustergenes-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-clustergenes_1724781208821/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkweb.a(htmlPage.o):/usr/local/src/conda/ucsc-clustergenes-377/kent/src/lib/../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-clustergenes-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-clustergenes_1724781208821/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkweb.a(htmshell.o):/usr/local/src/conda/ucsc-clustergenes-377/kent/src/lib/../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-clustergenes-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-clustergenes_1724781208821/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkweb.a(portimpl.o):/usr/local/src/conda/ucsc-clustergenes-377/kent/src/lib/../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-clustergenes-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + collect2: error: ld returned 1 exit status + make: *** [../../../inc/userApp.mk:31: /opt/conda/conda-bld/ucsc-clustergenes_1724781208821/work/bin/clusterGenes] Error 1 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/ucsc-clustergenes_1724781208821/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/ucsc-coltransform/build.sh b/recipes/ucsc-coltransform/build.sh index a98809f9c583c..17f4d40047c93 100644 --- a/recipes/ucsc-coltransform/build.sh +++ b/recipes/ucsc-coltransform/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/colTransform && make) -cp bin/colTransform "$PREFIX/bin" -chmod +x "$PREFIX/bin/colTransform" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/colTransform && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/colTransform "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/colTransform" diff --git a/recipes/ucsc-coltransform/include.patch b/recipes/ucsc-coltransform/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-coltransform/include.patch +++ b/recipes/ucsc-coltransform/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-coltransform/meta.yaml b/recipes/ucsc-coltransform/meta.yaml index 8db80ad0ad41b..46a6ce6c314fa 100644 --- a/recipes/ucsc-coltransform/meta.yaml +++ b/recipes/ucsc-coltransform/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-coltransform" %} {% set program = "colTransform" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Add and/or multiply column by constant." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-countchars/build.sh b/recipes/ucsc-countchars/build.sh index e2c225cd7ebe3..ab3cb84cb1983 100644 --- a/recipes/ucsc-countchars/build.sh +++ b/recipes/ucsc-countchars/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/countChars && make) -cp bin/countChars "$PREFIX/bin" -chmod +x "$PREFIX/bin/countChars" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/countChars && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/countChars "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/countChars" diff --git a/recipes/ucsc-countchars/include.patch b/recipes/ucsc-countchars/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-countchars/include.patch +++ b/recipes/ucsc-countchars/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-countchars/meta.yaml b/recipes/ucsc-countchars/meta.yaml index a5edbbf355e7d..3191991de187e 100644 --- a/recipes/ucsc-countchars/meta.yaml +++ b/recipes/ucsc-countchars/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-countchars" %} {% set program = "countChars" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Count the number of occurrences of a particular char" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-crtreeindexbed/build.sh b/recipes/ucsc-crtreeindexbed/build.sh index a5c31fd2e8f40..32c54dab05cde 100644 --- a/recipes/ucsc-crtreeindexbed/build.sh +++ b/recipes/ucsc-crtreeindexbed/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/crTreeIndexBed && make) -cp bin/crTreeIndexBed "$PREFIX/bin" -chmod +x "$PREFIX/bin/crTreeIndexBed" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/crTreeIndexBed && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/crTreeIndexBed "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/crTreeIndexBed" diff --git a/recipes/ucsc-crtreeindexbed/include.patch b/recipes/ucsc-crtreeindexbed/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-crtreeindexbed/include.patch +++ b/recipes/ucsc-crtreeindexbed/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-crtreeindexbed/meta.yaml b/recipes/ucsc-crtreeindexbed/meta.yaml index b27fbf72f00c6..59945d6280836 100644 --- a/recipes/ucsc-crtreeindexbed/meta.yaml +++ b/recipes/ucsc-crtreeindexbed/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-crtreeindexbed" %} {% set program = "crTreeIndexBed" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Create an index for a bed file." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-crtreesearchbed/build.sh b/recipes/ucsc-crtreesearchbed/build.sh index a12dde560da6c..3ff4031d4a04a 100644 --- a/recipes/ucsc-crtreesearchbed/build.sh +++ b/recipes/ucsc-crtreesearchbed/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/crTreeSearchBed && make) -cp bin/crTreeSearchBed "$PREFIX/bin" -chmod +x "$PREFIX/bin/crTreeSearchBed" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/crTreeSearchBed && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/crTreeSearchBed "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/crTreeSearchBed" diff --git a/recipes/ucsc-crtreesearchbed/include.patch b/recipes/ucsc-crtreesearchbed/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-crtreesearchbed/include.patch +++ b/recipes/ucsc-crtreesearchbed/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-crtreesearchbed/meta.yaml b/recipes/ucsc-crtreesearchbed/meta.yaml index 2066d7d3f5600..cf88771bb980d 100644 --- a/recipes/ucsc-crtreesearchbed/meta.yaml +++ b/recipes/ucsc-crtreesearchbed/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-crtreesearchbed" %} {% set program = "crTreeSearchBed" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Search a crTree indexed bed file and print all items that overlap query." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-dbsnoop/build.sh b/recipes/ucsc-dbsnoop/build.sh index 262a37a241c74..aa3011731bccf 100644 --- a/recipes/ucsc-dbsnoop/build.sh +++ b/recipes/ucsc-dbsnoop/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/makeDb/schema/dbSnoop && make) -cp bin/dbSnoop "$PREFIX/bin" -chmod +x "$PREFIX/bin/dbSnoop" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/makeDb/schema/dbSnoop && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/dbSnoop "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/dbSnoop" diff --git a/recipes/ucsc-dbsnoop/include.patch b/recipes/ucsc-dbsnoop/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-dbsnoop/include.patch +++ b/recipes/ucsc-dbsnoop/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-dbsnoop/meta.yaml b/recipes/ucsc-dbsnoop/meta.yaml index e72dffb9fd650..b20c4a5c34f80 100644 --- a/recipes/ucsc-dbsnoop/meta.yaml +++ b/recipes/ucsc-dbsnoop/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-dbsnoop" %} {% set program = "dbSnoop" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Produce an overview of a database." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-dbtrash/build.sh b/recipes/ucsc-dbtrash/build.sh index 486a57847c65e..9052d214175ac 100644 --- a/recipes/ucsc-dbtrash/build.sh +++ b/recipes/ucsc-dbtrash/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/dbTrash && make) -cp bin/dbTrash "$PREFIX/bin" -chmod +x "$PREFIX/bin/dbTrash" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/dbTrash && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/dbTrash "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/dbTrash" diff --git a/recipes/ucsc-dbtrash/include.patch b/recipes/ucsc-dbtrash/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-dbtrash/include.patch +++ b/recipes/ucsc-dbtrash/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-dbtrash/meta.yaml b/recipes/ucsc-dbtrash/meta.yaml index 66ad1fd75c48d..4270a211766bf 100644 --- a/recipes/ucsc-dbtrash/meta.yaml +++ b/recipes/ucsc-dbtrash/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-dbtrash" %} {% set program = "dbTrash" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "drop tables from a database older than specified N hours" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-endsinlf/build_failure.linux-64.yaml b/recipes/ucsc-endsinlf/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..c207bddc849c7 --- /dev/null +++ b/recipes/ucsc-endsinlf/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 9dd147853f61d5e67e767ed724974f0baf58c1fffa7e30799c31880431f172b7 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tigrOperon.o -c tigrOperon.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tilingPath.o -c tilingPath.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o traceInfo.o -c traceInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackDb.o -c trackDb.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackDbCustom.o -c trackDbCustom.c + trackDbCustom.c: In function 'trackDbInclude': + trackDbCustom.c:294:5: warning: 'splitPath' accessing 512 bytes in a region of size 256 [-Wstringop-overflow=] + 294 | splitPath(raFile, incFile, NULL, NULL); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + trackDbCustom.c:294:5: note: referencing argument 2 of type 'char[512]' + trackDbCustom.c:294:5: note: referencing argument 3 of type 'char[128]' + trackDbCustom.c:294:5: note: referencing argument 4 of type 'char[64]' + In file included from trackDbCustom.c:8: + ../../inc/common.h:1104:6: note: in a call to function 'splitPath' + 1104 | void splitPath(char *path, char dir[PATH_LEN], char name[FILENAME_LEN], + | ^~~~~~~~~ + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackHub.o -c trackHub.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackLayout.o -c trackLayout.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackTable.o -c trackTable.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackVersion.o -c trackVersion.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trashDir.o -c trashDir.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o transRegCode.o -c transRegCode.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o transRegCodeCondition.o -c transRegCodeCondition.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o transRegCodeProbe.o -c transRegCodeProbe.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txAliDiff.o -c txAliDiff.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txCluster.o -c txCluster.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txCommon.o -c txCommon.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txEdgeBed.o -c txEdgeBed.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txEdgeOrtho.o -c txEdgeOrtho.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txGraph.o -c txGraph.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txInfo.o -c txInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txRnaAccs.o -c txRnaAccs.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o ucscRetroInfo.o -c ucscRetroInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o ucscRetroOrtho.o -c ucscRetroOrtho.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o validateGisaid.o -c validateGisaid.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o variant.o -c variant.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o variantProjector.o -c variantProjector.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vcfUi.o -c vcfUi.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vegaInfo.o -c vegaInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vegaInfoZfish.o -c vegaInfoZfish.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o visiGene.o -c visiGene.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vntr.o -c vntr.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wabAli.o -c wabAli.c + sed -e 's/\\/\\\\/g; s/"/\\"/g; s/^/"/; s/$/\\n"/;' jWestHeader.html > jWestHeader.h + sed -e 's/\\/\\\\/g; s/"/\\"/g; s/^/"/; s/$/\\n"/;' jWestBanner.html > jWestBanner.h + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o web.o -c web.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o ncRna.o -c ncRna.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wgRna.o -c wgRna.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wigAsciiToBinary.o -c wigAsciiToBinary.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wigDataStream.o -c wigDataStream.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggle.o -c wiggle.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggleCart.o -c wiggleCart.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggleUtils.o -c wiggleUtils.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wikiLink.o -c wikiLink.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wikiTrack.o -c wikiTrack.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o yaleGencodeAssoc.o -c yaleGencodeAssoc.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o zdobnovSynt.o -c zdobnovSynt.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o oreganno.o -c oreganno.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o oregannoUi.o -c oregannoUi.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o gvUi.o -c gvUi.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o gv.o -c gv.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o omicia.o -c omicia.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o protVar.o -c protVar.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o pgSnp.o -c pgSnp.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o alignInfo.o -c alignInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o cddInfo.o -c cddInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o loweutils.o -c loweutils.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o cddDesc.o -c cddDesc.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o arCOGs.o -c arCOGs.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o arcogdesc.o -c arcogdesc.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o geneTree.o -c geneTree.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o megablastInfo.o -c megablastInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o pgPhenoAssoc.o -c pgPhenoAssoc.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o pgSiftPred.o -c pgSiftPred.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o pgPolyphenPred.o -c pgPolyphenPred.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o userRegions.o -c userRegions.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o variome.o -c variome.c + ar rcus ../../lib/x86_64/jkhgap.a acemblyClass.o adjacency.o affyAllExonProbe.o affyAtlas.o affy10KDetails.o affy120KDetails.o affyOffset.o affyPairs.o agp.o agpFrag.o agpGap.o alignSeqSizes.o altGraph.o altGraphX.o ancientRref.o annoFormatVep.o annoGratorGpVar.o annoGrateWigDb.o annoStreamDb.o annoStreamDbFactorSource.o annoStreamDbPslPlus.o annoStreamWig.o api.o atomDb.o autoUpgrade.o axtInfo.o axtLib.o bactigPos.o hgBam.o barChartBed.o barChartCategory.o barChartUi.o barChartData.o barChartSample.o baseMaskCommon.o bdgpExprLink.o bdgpGeneInfo.o bed.o bed5FloatScore.o bed5Pval.o bed6FloatScore.o bed8Attrs.o bed12Source.o bed12wSeq.o bedCart.o bgiGeneInfo.o bgiGeneSnp.o bgiSnp.o bigBedFind.o bigBedLabel.o bigGenePred.o bigPsl.o bigTransMap.o bioImage.o blastTab.o blastzNet.o blatServers.o borf.o borkPseudoHom.o botDelay.o cart.o cartDb.o cartJson.o cartTrackDb.o cdsEvidence.o cdsOrtho.o cdsPick.o cdsSpec.o ccdsInfo.o ccdsNotes.o ccdsGeneMap.o celeraCoverage.o celeraDupPositive.o cgapSage/cgapSage.o cgapSage/cgapSageLib.o cgh.o chainCart.o chainDb.o chainLink.o chainNet.o chainNetDbLoad.o chicken13kInfo.o chromBins.o chromAlias.o chr18deletions.o chromGraph.o chromGraphFactory.o chromInfo.o chromInserts.o chromKeeper.o clonePos.o codeBlast.o codeBlastScore.o cogs.o cogsxra.o columnInfo.o contigAcc.o coordConv.o cnpIafrate.o cnpIafrate2.o cnpLocke.o cnpRedon.o cnpSebat.o cnpSebat2.o cnpSharp2.o cnpSharpCutoff.o cnpSharpSample.o cnpSharp.o cpgIsland.o cpgIslandExt.o ctgPos.o ctgPos2.o customComposite.o bedDetail.o cgiApoptosis.o customAdjacency.o customFactory.o customPp.o customTrack.o cutter.o cv.o cytoBand.o dbDb.o dbRIP.o dbSnpRs.o defaultDb.o delConrad2.o delHinds2.o dgv.o dgvPlus.o dless.o dnaMotifSql.o dnaMarkovSql.o dnaProbe.o dv.o dvBed.o dvXref2.o easyGene.o ec.o ecCode.o ecAttribute.o ecAttributeCode.o encode/encodeErge.o encode/encodeErgeHssCellLines.o encode/encodeHapMapAlleleFreq.o encode/encodeIndels.o encode/encodePeak.o encode/encodeRegionInfo.o encode/encodeRegionInfoCustom.o encode/encodeRna.o encode/encodeStanfordPromoters.o encode/encodeStanfordPromotersAverage.o encode/pairedTagAlign.o encode/peptideMapping.o encode/tagAlign.o encode/wgEncodeGencodeAttrs.o encode/wgEncodeGencodeExonSupport.o encode/wgEncodeGencodeEntrezGene.o encode/wgEncodeGencodeTag.o encode/wgEncodeGencodeGeneSymbol.o encode/wgEncodeGencodePdb.o encode/wgEncodeGencodePubMed.o encode/wgEncodeGencodeRefSeq.o encode/wgEncodeGencodeGeneSource.o encode/wgEncodeGencodeTranscriptSource.o encode/wgEncodeGencodeTranscriptSupport.o encode/wgEncodeGencodeTranscriptionSupportLevel.o encode/wgEncodeGencodeUniProt.o encode/wgEncodeGencodePolyAFeature.o encode/wgEncodeGencodeAnnotationRemark.o encode/wgEncodeCell.o encode/encodeExp.o encode3/encode2Manifest.o encode3/encode3Valid.o ensFace.o ensInfo.o ensPhusionBlast.o ensXRefZfish.o est3.o estOrientInfo.o estPair.o exoFish.o expData.o expRecord.o exprBed.o facetField.o factorSource.o fbTables.o featureBits.o fileUi.o findKGAlias.o findKGProtAlias.o fishClones.o flyBase2004Xref.o flyBaseSwissProt.o flyreg.o flyreg2.o gbExtFile.o gbWarn.o gbMiscDiff.o gbProtAnn.o gcPercent.o gbSeq.o genbank.o genbankBlackList.o gencodeGeneClass.o gencodeIntron.o genMapDb.o geneBands.o geneCheck.o geneCheckDetails.o geneCheckWidget.o geneGraph.o genePred.o genePredReader.o geneSimilarities.o genoLay.o genomeRangeTreeFile.o genomicDups.o genomicSuperDups.o geoMirror.o ggCluster.o ggDbIo.o ggDump.o ggGraph.o ggMrnaAli.o ggTypes.o glDbRep.o goa.o goaPart.o googleAnalytics.o gpFx.o growthCondition.o grp.o gtexAse.o gtexBoxplot.o gtexEqtlCluster.o gtexInfo.o gtexDonor.o gtexGeneBed.o gtexSample.o gtexSampleData.o gtexTissue.o gtexTissueData.o gtexTissueMedian.o gtexUi.o gwasCatalog.o hAnno.o haplotypes.o hapmapAllelesOrtho.o hapmapAllelesSummary.o hapmapPhaseIIISummary.o hapmapSnps.o hapmapSnpsCombined.o hashJoin.o hCommon.o hCytoBand.o hdb.o hgColors.o hgConfig.o hgExp.o hgFind.o hgFindSpec.o hgFindSpecCustom.o hgHgvs.o hgHgvsParse.o hgGene.o hgMaf.o hgRelate.o hgSeq.o hgdpGeo.o hPrint.o hVarSubst.o hvGfx.o HInv.o hubConnect.o hubSearchText.o hui.o humanParalog.o imageClone.o indelShift.o interact.o interactUi.o isochores.o ispyTables.o itemAttr.o itemConf.o itemDetailsHtml.o jalview.o jaxOrtholog.o jaxQTL.o jaxQTL3.o jksql.o joiner.o jsHelper.o kg1ToKg2.o jgiGene.o joinMixer.o kgAlias.o kgColor.o kgProtAlias.o kgXref.o knownInfo.o knownMore.o knownToSuper.o lav.o ld.o ld2.o lfs.o liftOver.o liftOverChain.o liftUp.o llaInfo.o longRange.o lrg.o lsSnpPdb.o lsSnpPdbChimera.o mafFrames.o mafGene.o mafSummary.o makeItemsItem.o mammalPsg.o mapSts.o mathWig.o mcnBreakpoints.o mdb.o metaChromGraph.o microarray.o minChromSize.o minGeneInfo.o mrnaMisMatch.o mouseOrtho.o mouseSyn.o mouseSynWhd.o mysqlTableStatus.o ncbiRefLink.o ncbiRefSeqLink.o netAlign.o netCart.o nonCodingUi.o omimTitle.o ooUtils.o orthoAlleles.o pal.o pbStamp.o pcrResult.o pepPred.o peptideAtlasPeptide.o plasEndPairs.o polyGenotype.o protFeat.o pscreen.o pseudoGeneLink.o pslReader.o pslWScore.o putaInfo.o qaSeq.o rangeTreeFile.o rankProp.o recombRate.o recombRateRat.o recombRateMouse.o refLink.o refSeqStatus.o rgdQtl.o riken.o rhMapZfishInfo.o rikenBest.o rikenCluster.o rmskOut.o rmskAlign.o rmskJoined.o rmskOut2.o rnaFold.o rnaGene.o rnaGroup.o rnaHybridization.o rnaPLFold.o tRNAs.o gbRNAs.o snoRNAs.o lowelabPfamHit.o lowelabArkinOperonScore.o lowelabTIGROperonScore.o rnaSecStr.o tfbsConsFactors.o roughAli.o transMapStuff.o transMapInfo.o transMapGene.o transMapSrc.o sage.o sageCounts.o sageExp.o samAlignment.o sample.o sanger22extra.o sangerGene.o sangerGeneToWBGeneID.o sargassoSeaXra.o scopDes.o scoredRef.o search.o seqWindow.o sessionThumbnail.o sgdAbundance.o sgdClone.o sgdDescription.o sgdOther.o simpleNucDiff.o simpleRepeat.o snakeUi.o snp.o snp125.o snp125CodingCoordless.o snp132Ext.o snpExceptions.o snpFasta.o snpMap.o snpTmp.o snpUi.o snp125Exceptions.o snp125Ui.o softPromoter.o softberryHom.o soTerm.o spDb.o splignAlign.o sqlSanity.o stanMad.o stsAlias.o stsInfo.o stsInfo2.o stsInfoMouse.o stsInfoMouseNew.o stsInfoRat.o stsMap.o stsMapMouse.o stsMapMouseNew.o stsMapRat.o stsMarker.o suggest.o switchDbTss.o synMap.o synteny100000.o syntenyBerk.o syntenySanger.o sqlProg.o tfbsCons.o tfbsConsSites.o tablesTables.o tableDescriptions.o tableStatus.o targetDb.o tfbsConsMap.o tagRepo.o taxonDivision.o taxonGeneticCode.o taxonName.o taxonNode.o taxonXref.o tigrCmrGene.o tigrOperon.o tilingPath.o traceInfo.o trackDb.o trackDbCustom.o trackHub.o trackLayout.o trackTable.o trackVersion.o trashDir.o transRegCode.o transRegCodeCondition.o transRegCodeProbe.o txAliDiff.o txCluster.o txCommon.o txEdgeBed.o txEdgeOrtho.o txGraph.o txInfo.o txRnaAccs.o ucscRetroInfo.o ucscRetroOrtho.o validateGisaid.o variant.o variantProjector.o vcfUi.o vegaInfo.o vegaInfoZfish.o visiGene.o vntr.o wabAli.o web.o ncRna.o wgRna.o wigAsciiToBinary.o wigDataStream.o wiggle.o wiggleCart.o wiggleUtils.o wikiLink.o wikiTrack.o yaleGencodeAssoc.o zdobnovSynt.o oreganno.o oregannoUi.o gvUi.o gv.o omicia.o protVar.o pgSnp.o alignInfo.o cddInfo.o loweutils.o cddDesc.o arCOGs.o arcogdesc.o geneTree.o megablastInfo.o pgPhenoAssoc.o pgSiftPred.o pgPolyphenPred.o userRegions.o variome.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-endsinlf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -o endsInLf.o -c endsInLf.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -o $SRC_DIR/bin/endsInLf endsInLf.o ../../lib/x86_64/jkweb.a -L$PREFIX/lib -lmysqlclient -lstdc -lrt -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -lpthread -lssl -lcrypto ../../htslib/libhts.a -L$PREFIX/lib -lpng16 -lm -lz -lm + /opt/conda/conda-bld/ucsc-endsinlf_1724783725175/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../lib/x86_64/jkweb.a(htmshell.o):/usr/local/src/conda/ucsc-endsinlf-377/kent/src/lib/../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../lib/x86_64/jkweb.a(cheapcgi.o):/usr/local/src/conda/ucsc-endsinlf-377/kent/src/lib/../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-endsinlf_1724783725175/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../lib/x86_64/jkweb.a(portimpl.o):/usr/local/src/conda/ucsc-endsinlf-377/kent/src/lib/../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../lib/x86_64/jkweb.a(cheapcgi.o):/usr/local/src/conda/ucsc-endsinlf-377/kent/src/lib/../inc/htmshell.h:163: first defined here + collect2: error: ld returned 1 exit status + make: *** [../../inc/userApp.mk:31: /opt/conda/conda-bld/ucsc-endsinlf_1724783725175/work/bin/endsInLf] Error 1 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/ucsc-endsinlf_1724783725175/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/ucsc-estorient/build.sh b/recipes/ucsc-estorient/build.sh index 5566c5e5ad866..d7641fd6d458b 100644 --- a/recipes/ucsc-estorient/build.sh +++ b/recipes/ucsc-estorient/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/estOrient && make) -cp bin/estOrient "$PREFIX/bin" -chmod +x "$PREFIX/bin/estOrient" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/estOrient && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/estOrient "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/estOrient" diff --git a/recipes/ucsc-estorient/include.patch b/recipes/ucsc-estorient/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-estorient/include.patch +++ b/recipes/ucsc-estorient/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-estorient/meta.yaml b/recipes/ucsc-estorient/meta.yaml index 9d1af8682029d..5c3d11569e838 100644 --- a/recipes/ucsc-estorient/meta.yaml +++ b/recipes/ucsc-estorient/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-estorient" %} {% set program = "estOrient" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,27 +27,35 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: " Read ESTs from a database and determine orientation based on estOrientInfo table or direction in gbCdnaInfo table. Update PSLs so that the strand reflects the direction of transcription. By default, PSLs where the direction can't be determined are dropped. " + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-expmatrixtobarchartbed/build.sh b/recipes/ucsc-expmatrixtobarchartbed/build.sh index 1a0f89d979c8a..4d969ac373b84 100644 --- a/recipes/ucsc-expmatrixtobarchartbed/build.sh +++ b/recipes/ucsc-expmatrixtobarchartbed/build.sh @@ -1,4 +1,7 @@ #!/bin/bash + +set -xe + mkdir -p "$PREFIX/bin" -cp kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed "$PREFIX/bin" -chmod +x "$PREFIX/bin/expMatrixToBarchartBed" +cp kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/expMatrixToBarchartBed" diff --git a/recipes/ucsc-expmatrixtobarchartbed/include.patch b/recipes/ucsc-expmatrixtobarchartbed/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-expmatrixtobarchartbed/include.patch +++ b/recipes/ucsc-expmatrixtobarchartbed/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-expmatrixtobarchartbed/meta.yaml b/recipes/ucsc-expmatrixtobarchartbed/meta.yaml index d553009fe4404..ad965a7733d42 100644 --- a/recipes/ucsc-expmatrixtobarchartbed/meta.yaml +++ b/recipes/ucsc-expmatrixtobarchartbed/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-expmatrixtobarchartbed" %} {% set program = "expMatrixToBarchartBed" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,16 +15,25 @@ source: build: skip: True # [osx] - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: + - {{ compiler('c') }} host: + - libpng + - libuuid + - mysql-connector-c + - libopenssl-static + - zlib + run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - python - zlib @@ -40,3 +49,12 @@ about: Generate a barChart bed6+5 file from a matrix, meta data, and coordinates. " + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-faalign/build.sh b/recipes/ucsc-faalign/build.sh index a2075d4dccc91..ab0abc9c5a13a 100644 --- a/recipes/ucsc-faalign/build.sh +++ b/recipes/ucsc-faalign/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/faAlign && make) -cp bin/faAlign "$PREFIX/bin" -chmod +x "$PREFIX/bin/faAlign" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/faAlign && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/faAlign "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/faAlign" diff --git a/recipes/ucsc-faalign/include.patch b/recipes/ucsc-faalign/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-faalign/include.patch +++ b/recipes/ucsc-faalign/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-faalign/meta.yaml b/recipes/ucsc-faalign/meta.yaml index bce04cc6ed964..e5bb10fb1e460 100644 --- a/recipes/ucsc-faalign/meta.yaml +++ b/recipes/ucsc-faalign/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-faalign" %} {% set program = "faAlign" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Align two fasta files" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-facmp/build.sh b/recipes/ucsc-facmp/build.sh index 63045c9a3e2b8..a5d4d479e44b0 100644 --- a/recipes/ucsc-facmp/build.sh +++ b/recipes/ucsc-facmp/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/faCmp && make) -cp bin/faCmp "$PREFIX/bin" -chmod +x "$PREFIX/bin/faCmp" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/faCmp && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/faCmp "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/faCmp" diff --git a/recipes/ucsc-facmp/include.patch b/recipes/ucsc-facmp/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-facmp/include.patch +++ b/recipes/ucsc-facmp/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-facmp/meta.yaml b/recipes/ucsc-facmp/meta.yaml index c418a4cb1aea9..7a45c7f7ff32d 100644 --- a/recipes/ucsc-facmp/meta.yaml +++ b/recipes/ucsc-facmp/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-facmp" %} {% set program = "faCmp" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Compare two .fa files" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-facount/build.sh b/recipes/ucsc-facount/build.sh index 728b733768684..3c2c36f703f08 100644 --- a/recipes/ucsc-facount/build.sh +++ b/recipes/ucsc-facount/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/faCount && make) -cp bin/faCount "$PREFIX/bin" -chmod +x "$PREFIX/bin/faCount" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/faCount && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/faCount "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/faCount" diff --git a/recipes/ucsc-facount/include.patch b/recipes/ucsc-facount/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-facount/include.patch +++ b/recipes/ucsc-facount/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-facount/meta.yaml b/recipes/ucsc-facount/meta.yaml index cdadf370f0701..e09912d257d02 100644 --- a/recipes/ucsc-facount/meta.yaml +++ b/recipes/ucsc-facount/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-facount" %} {% set program = "faCount" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "count base statistics and CpGs in FA files." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-fafilter/build.sh b/recipes/ucsc-fafilter/build.sh index 35517aac7e251..967758179cadb 100644 --- a/recipes/ucsc-fafilter/build.sh +++ b/recipes/ucsc-fafilter/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/faFilter && make) -cp bin/faFilter "$PREFIX/bin" -chmod +x "$PREFIX/bin/faFilter" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/faFilter && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/faFilter "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/faFilter" diff --git a/recipes/ucsc-fafilter/include.patch b/recipes/ucsc-fafilter/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-fafilter/include.patch +++ b/recipes/ucsc-fafilter/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-fafilter/meta.yaml b/recipes/ucsc-fafilter/meta.yaml index de8020cd7496a..ee67056366443 100644 --- a/recipes/ucsc-fafilter/meta.yaml +++ b/recipes/ucsc-fafilter/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-fafilter" %} {% set program = "faFilter" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Filter fa records, selecting ones that match the specified conditions" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-fafiltern/build.sh b/recipes/ucsc-fafiltern/build.sh index 772564ca3074e..e7a910bc26cad 100644 --- a/recipes/ucsc-fafiltern/build.sh +++ b/recipes/ucsc-fafiltern/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/faFilterN && make) -cp bin/faFilterN "$PREFIX/bin" -chmod +x "$PREFIX/bin/faFilterN" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/faFilterN && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/faFilterN "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/faFilterN" diff --git a/recipes/ucsc-fafiltern/include.patch b/recipes/ucsc-fafiltern/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-fafiltern/include.patch +++ b/recipes/ucsc-fafiltern/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-fafiltern/meta.yaml b/recipes/ucsc-fafiltern/meta.yaml index d6d0f1112e23a..64f3693d3df25 100644 --- a/recipes/ucsc-fafiltern/meta.yaml +++ b/recipes/ucsc-fafiltern/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-fafiltern" %} {% set program = "faFilterN" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Get rid of sequences with too many N's" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-fafrag/build.sh b/recipes/ucsc-fafrag/build.sh index cc8217d202654..bbde61befd833 100644 --- a/recipes/ucsc-fafrag/build.sh +++ b/recipes/ucsc-fafrag/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/faFrag && make) -cp bin/faFrag "$PREFIX/bin" -chmod +x "$PREFIX/bin/faFrag" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/faFrag && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/faFrag "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/faFrag" diff --git a/recipes/ucsc-fafrag/include.patch b/recipes/ucsc-fafrag/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-fafrag/include.patch +++ b/recipes/ucsc-fafrag/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-fafrag/meta.yaml b/recipes/ucsc-fafrag/meta.yaml index 74dbeee693c2e..63fbd2a2bc5cf 100644 --- a/recipes/ucsc-fafrag/meta.yaml +++ b/recipes/ucsc-fafrag/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-fafrag" %} {% set program = "faFrag" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Extract a piece of DNA from a .fa file." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-fanoise/build.sh b/recipes/ucsc-fanoise/build.sh index 2c1848ec9a9dc..4b96dc8e7a9ad 100644 --- a/recipes/ucsc-fanoise/build.sh +++ b/recipes/ucsc-fanoise/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/faNoise && make) -cp bin/faNoise "$PREFIX/bin" -chmod +x "$PREFIX/bin/faNoise" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/faNoise && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/faNoise "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/faNoise" diff --git a/recipes/ucsc-fanoise/include.patch b/recipes/ucsc-fanoise/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-fanoise/include.patch +++ b/recipes/ucsc-fanoise/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-fanoise/meta.yaml b/recipes/ucsc-fanoise/meta.yaml index a89d4b85524be..6ba0418b05532 100644 --- a/recipes/ucsc-fanoise/meta.yaml +++ b/recipes/ucsc-fanoise/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-fanoise" %} {% set program = "faNoise" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Add noise to .fa file" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-faonerecord/build.sh b/recipes/ucsc-faonerecord/build.sh index d2a4c53e9f283..af644537f494a 100644 --- a/recipes/ucsc-faonerecord/build.sh +++ b/recipes/ucsc-faonerecord/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/faOneRecord && make) -cp bin/faOneRecord "$PREFIX/bin" -chmod +x "$PREFIX/bin/faOneRecord" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/faOneRecord && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/faOneRecord "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/faOneRecord" diff --git a/recipes/ucsc-faonerecord/include.patch b/recipes/ucsc-faonerecord/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-faonerecord/include.patch +++ b/recipes/ucsc-faonerecord/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-faonerecord/meta.yaml b/recipes/ucsc-faonerecord/meta.yaml index 761f7d83bdc1a..d52e42e40b317 100644 --- a/recipes/ucsc-faonerecord/meta.yaml +++ b/recipes/ucsc-faonerecord/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-faonerecord" %} {% set program = "faOneRecord" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Extract a single record from a .FA file" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-fapolyasizes/build.sh b/recipes/ucsc-fapolyasizes/build.sh index 2a7659a5c4a58..383f0fdc8416b 100644 --- a/recipes/ucsc-fapolyasizes/build.sh +++ b/recipes/ucsc-fapolyasizes/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/faPolyASizes && make) -cp bin/faPolyASizes "$PREFIX/bin" -chmod +x "$PREFIX/bin/faPolyASizes" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/faPolyASizes && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/faPolyASizes "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/faPolyASizes" diff --git a/recipes/ucsc-fapolyasizes/include.patch b/recipes/ucsc-fapolyasizes/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-fapolyasizes/include.patch +++ b/recipes/ucsc-fapolyasizes/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-fapolyasizes/meta.yaml b/recipes/ucsc-fapolyasizes/meta.yaml index 55df8ed83732c..6dac4793b6b2e 100644 --- a/recipes/ucsc-fapolyasizes/meta.yaml +++ b/recipes/ucsc-fapolyasizes/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-fapolyasizes" %} {% set program = "faPolyASizes" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "get poly A sizes" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-farandomize/build.sh b/recipes/ucsc-farandomize/build.sh index 10bcbaa61dec2..992f3baa9537f 100644 --- a/recipes/ucsc-farandomize/build.sh +++ b/recipes/ucsc-farandomize/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/faRandomize && make) -cp bin/faRandomize "$PREFIX/bin" -chmod +x "$PREFIX/bin/faRandomize" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/faRandomize && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/faRandomize "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/faRandomize" diff --git a/recipes/ucsc-farandomize/include.patch b/recipes/ucsc-farandomize/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-farandomize/include.patch +++ b/recipes/ucsc-farandomize/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-farandomize/meta.yaml b/recipes/ucsc-farandomize/meta.yaml index 400b9d8b2578e..7a357380b6102 100644 --- a/recipes/ucsc-farandomize/meta.yaml +++ b/recipes/ucsc-farandomize/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-farandomize" %} {% set program = "faRandomize" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Program to create random fasta records" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-farc/build.sh b/recipes/ucsc-farc/build.sh index d68de0a45c997..5efc3188c34d8 100644 --- a/recipes/ucsc-farc/build.sh +++ b/recipes/ucsc-farc/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/faRc && make) -cp bin/faRc "$PREFIX/bin" -chmod +x "$PREFIX/bin/faRc" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/faRc && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/faRc "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/faRc" diff --git a/recipes/ucsc-farc/include.patch b/recipes/ucsc-farc/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-farc/include.patch +++ b/recipes/ucsc-farc/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-farc/meta.yaml b/recipes/ucsc-farc/meta.yaml index 544410aef81d7..59ad4f779fb2c 100644 --- a/recipes/ucsc-farc/meta.yaml +++ b/recipes/ucsc-farc/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-farc" %} {% set program = "faRc" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Reverse complement a FA file" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-fasize/build.sh b/recipes/ucsc-fasize/build.sh index 08610aaa04451..42e777e285924 100644 --- a/recipes/ucsc-fasize/build.sh +++ b/recipes/ucsc-fasize/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/faSize && make) -cp bin/faSize "$PREFIX/bin" -chmod +x "$PREFIX/bin/faSize" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/faSize && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/faSize "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/faSize" diff --git a/recipes/ucsc-fasize/include.patch b/recipes/ucsc-fasize/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-fasize/include.patch +++ b/recipes/ucsc-fasize/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-fasize/meta.yaml b/recipes/ucsc-fasize/meta.yaml index 295546709d3a1..e5ca815518a66 100644 --- a/recipes/ucsc-fasize/meta.yaml +++ b/recipes/ucsc-fasize/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-fasize" %} {% set program = "faSize" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "print total base count in fa files." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-fasomerecords/build.sh b/recipes/ucsc-fasomerecords/build.sh index b61bf19685404..94dda243aec45 100644 --- a/recipes/ucsc-fasomerecords/build.sh +++ b/recipes/ucsc-fasomerecords/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/faSomeRecords && make) -cp bin/faSomeRecords "$PREFIX/bin" -chmod +x "$PREFIX/bin/faSomeRecords" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/faSomeRecords && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/faSomeRecords "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/faSomeRecords" diff --git a/recipes/ucsc-fasomerecords/include.patch b/recipes/ucsc-fasomerecords/include.patch index e4831ef2dea13..edc04d0dc2f64 100644 --- a/recipes/ucsc-fasomerecords/include.patch +++ b/recipes/ucsc-fasomerecords/include.patch @@ -1,22 +1,22 @@ --- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 ++++ kent/src/inc/common.mk.new 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -+++ kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -@@ -147,4 +147,4 @@ -- L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl -+ L+=${PREFIX}/lib/libssl.so ${PREFIX}/lib/libcrypto.so -ldl - else - ifneq ($(wildcard /opt/local/lib/libssl.a),) - L+=/opt/local/lib/libssl.a +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python + + import logging, sys, optparse, string + from collections import defaultdict --- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ @@ -25,16 +25,3 @@ # expMatrixToBarchartBed """ Generate a barChart bed6+5 file from a matrix, meta data, and coordinates. ---- kent/src/hg/lib/straw/makefile -+++ kent/src/hg/lib/straw/makefile -@@ -3,8 +3,8 @@ - straw: straw.o cStraw.o - ld -r -o ../straw.o straw.o cStraw.o - straw.o: straw.cpp straw.h -- ${CXX} straw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o straw.o -+ ${CXX} straw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o straw.o -I ${PREFIX}/include - cStraw.o: cStraw.cpp straw.h -- ${CXX} cStraw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o cStraw.o -+ ${CXX} cStraw.cpp ${KENT_INC} -g -c -lz -std=c++11 -lcurl -o cStraw.o -I ${PREFIX}/include - clean: - rm -f straw.o cStraw.o ../straw.o diff --git a/recipes/ucsc-fasomerecords/meta.yaml b/recipes/ucsc-fasomerecords/meta.yaml index 507bf2b0b7cd6..86fe4dda5cbc4 100644 --- a/recipes/ucsc-fasomerecords/meta.yaml +++ b/recipes/ucsc-fasomerecords/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-fasomerecords" %} {% set program = "faSomeRecords" %} -{% set version = "455" %} -{% set sha256 = "e458cadad7c4a5c1b8385edafffa1b29380ac725a0c20535bf5a3bab99fe80db" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -23,27 +23,35 @@ requirements: build: - make - {{ compiler('c') }} - - binutils >=2.32 # https://wiki.gentoo.org/wiki/Project:Toolchain/Binutils_2.32_upgrade_notes/elfutils_0.175:_unable_to_initialize_decompress_status_for_section_.debug_info - - {{ compiler('cxx') }} host: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib + run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Extract multiple fa records" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-fasplit/build.sh b/recipes/ucsc-fasplit/build.sh index bf837fd78a605..ed7f37ba92c85 100644 --- a/recipes/ucsc-fasplit/build.sh +++ b/recipes/ucsc-fasplit/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/faSplit && make) -cp bin/faSplit "$PREFIX/bin" -chmod +x "$PREFIX/bin/faSplit" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/faSplit && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/faSplit "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/faSplit" diff --git a/recipes/ucsc-fasplit/include.patch b/recipes/ucsc-fasplit/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-fasplit/include.patch +++ b/recipes/ucsc-fasplit/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-fasplit/meta.yaml b/recipes/ucsc-fasplit/meta.yaml index 1758efe8fe7d9..9b811fc0a565c 100644 --- a/recipes/ucsc-fasplit/meta.yaml +++ b/recipes/ucsc-fasplit/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-fasplit" %} {% set program = "faSplit" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Split an fa file into several files." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-fastqstatsandsubsample/build.sh b/recipes/ucsc-fastqstatsandsubsample/build.sh index a06ee6dcb3901..56efb5ed3f796 100644 --- a/recipes/ucsc-fastqstatsandsubsample/build.sh +++ b/recipes/ucsc-fastqstatsandsubsample/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/fastqStatsAndSubsample && make) -cp bin/fastqStatsAndSubsample "$PREFIX/bin" -chmod +x "$PREFIX/bin/fastqStatsAndSubsample" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/fastqStatsAndSubsample && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/fastqStatsAndSubsample "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/fastqStatsAndSubsample" diff --git a/recipes/ucsc-fastqstatsandsubsample/include.patch b/recipes/ucsc-fastqstatsandsubsample/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-fastqstatsandsubsample/include.patch +++ b/recipes/ucsc-fastqstatsandsubsample/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-fastqstatsandsubsample/meta.yaml b/recipes/ucsc-fastqstatsandsubsample/meta.yaml index fa874a86c6770..ccdb6bfc69d23 100644 --- a/recipes/ucsc-fastqstatsandsubsample/meta.yaml +++ b/recipes/ucsc-fastqstatsandsubsample/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-fastqstatsandsubsample" %} {% set program = "fastqStatsAndSubsample" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Go through a fastq file doing sanity checks and collecting stats" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-fastqtofa/build.sh b/recipes/ucsc-fastqtofa/build.sh index a0eb7afc81495..0d73cb307256b 100644 --- a/recipes/ucsc-fastqtofa/build.sh +++ b/recipes/ucsc-fastqtofa/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/fastqToFa && make) -cp bin/fastqToFa "$PREFIX/bin" -chmod +x "$PREFIX/bin/fastqToFa" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/fastqToFa && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/fastqToFa "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/fastqToFa" diff --git a/recipes/ucsc-fastqtofa/include.patch b/recipes/ucsc-fastqtofa/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-fastqtofa/include.patch +++ b/recipes/ucsc-fastqtofa/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-fastqtofa/meta.yaml b/recipes/ucsc-fastqtofa/meta.yaml index d2bcf5a600ff4..5bc623ded2330 100644 --- a/recipes/ucsc-fastqtofa/meta.yaml +++ b/recipes/ucsc-fastqtofa/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-fastqtofa" %} {% set program = "fastqToFa" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert from fastq to fasta format." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-fatofastq/build.sh b/recipes/ucsc-fatofastq/build.sh index 69dd94f808370..821b6b535ce86 100644 --- a/recipes/ucsc-fatofastq/build.sh +++ b/recipes/ucsc-fatofastq/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/faToFastq && make) -cp bin/faToFastq "$PREFIX/bin" -chmod +x "$PREFIX/bin/faToFastq" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/faToFastq && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/faToFastq "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/faToFastq" diff --git a/recipes/ucsc-fatofastq/include.patch b/recipes/ucsc-fatofastq/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-fatofastq/include.patch +++ b/recipes/ucsc-fatofastq/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-fatofastq/meta.yaml b/recipes/ucsc-fatofastq/meta.yaml index 31b3b7709b9d3..e2ecba2ff9675 100644 --- a/recipes/ucsc-fatofastq/meta.yaml +++ b/recipes/ucsc-fatofastq/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-fatofastq" %} {% set program = "faToFastq" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert fa to fastq format, just faking quality values." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-fatotab/build.sh b/recipes/ucsc-fatotab/build.sh index 6bdeebad8ed7b..1939aa14b9372 100644 --- a/recipes/ucsc-fatotab/build.sh +++ b/recipes/ucsc-fatotab/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/faToTab && make) -cp bin/faToTab "$PREFIX/bin" -chmod +x "$PREFIX/bin/faToTab" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/faToTab && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/faToTab "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/faToTab" diff --git a/recipes/ucsc-fatotab/include.patch b/recipes/ucsc-fatotab/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-fatotab/include.patch +++ b/recipes/ucsc-fatotab/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-fatotab/meta.yaml b/recipes/ucsc-fatotab/meta.yaml index a5106bdd93cd2..c7901931785a1 100644 --- a/recipes/ucsc-fatotab/meta.yaml +++ b/recipes/ucsc-fatotab/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-fatotab" %} {% set program = "faToTab" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "convert fa file to tab separated file" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-fatotwobit/build.sh b/recipes/ucsc-fatotwobit/build.sh index 3af116406aaff..47d1b7225bb5c 100644 --- a/recipes/ucsc-fatotwobit/build.sh +++ b/recipes/ucsc-fatotwobit/build.sh @@ -1,13 +1,28 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/faToTwoBit && make) -cp bin/faToTwoBit "$PREFIX/bin" -chmod +x "$PREFIX/bin/faToTwoBit" + +mkdir -p "${BINDIR}" + +if [[ "$(uname)" == Darwin ]]; then + export LDFLAGS="${LDFLAGS} -Wl,-rpath,${PREFIX}/lib" + export CFLAGS="${CFLAGS} -Wno-unused-command-line-argument" +fi + +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/faToTwoBit && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/faToTwoBit "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/faToTwoBit" diff --git a/recipes/ucsc-fatotwobit/include.macos.patch b/recipes/ucsc-fatotwobit/include.macos.patch new file mode 100644 index 0000000000000..979f87005a72e --- /dev/null +++ b/recipes/ucsc-fatotwobit/include.macos.patch @@ -0,0 +1,27 @@ +--- a/kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 ++++ b/kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 +@@ -17,7 +17,7 @@ + endif + + HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} +-HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I${PREFIX}/include + + # to check for Mac OSX Darwin specifics: + UNAME_S := $(shell uname -s) +--- a/kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 ++++ b/kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 +@@ -1,4 +1,4 @@ +-KENT_INC=-I../../../inc ++KENT_INC=-I../../../inc -I${PREFIX}/include + + straw: straw.o cStraw.o + ld -r -o ../straw.o straw.o cStraw.o +--- a/kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 ++++ b/kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python + # expMatrixToBarchartBed + """ + Generate a barChart bed6+5 file from a matrix, meta data, and coordinates. diff --git a/recipes/ucsc-fatotwobit/include.patch b/recipes/ucsc-fatotwobit/include.patch index e9c8621194325..35fd16a3d9090 100644 --- a/recipes/ucsc-fatotwobit/include.patch +++ b/recipes/ucsc-fatotwobit/include.patch @@ -1,32 +1,32 @@ ---- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 +--- a/kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 ++++ b/kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -+++ kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 +--- a/kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 ++++ b/kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 @@ -147,4 +147,4 @@ - L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl + L+=${PREFIX}/lib/libssl.so ${PREFIX}/lib/libcrypto.so -ldl else ifneq ($(wildcard /opt/local/lib/libssl.a),) L+=/opt/local/lib/libssl.a ---- kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 -+++ kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 +--- a/kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 ++++ b/kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 @@ -1,4 +1,4 @@ -KENT_INC=-I../../../inc +KENT_INC=-I../../../inc -I${PREFIX}/include straw: straw.o cStraw.o ld -r -o ../straw.o straw.o cStraw.o ---- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +--- a/kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 ++++ b/kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-fatotwobit/meta.yaml b/recipes/ucsc-fatotwobit/meta.yaml index 9809766e8251f..0a74ff24cf3fc 100644 --- a/recipes/ucsc-fatotwobit/meta.yaml +++ b/recipes/ucsc-fatotwobit/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-fatotwobit" %} {% set program = "faToTwoBit" %} -{% set version = "455" %} -{% set sha256 = "e458cadad7c4a5c1b8385edafffa1b29380ac725a0c20535bf5a3bab99fe80db" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -11,42 +11,49 @@ source: url: "http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v{{ version }}.src.tgz" sha256: "{{ sha256 }}" patches: - - "include.patch" + - include.patch # [linux] + - include.macos.patch # [osx] build: - skip: True # [osx] - number: 0 - ignore_run_exports: - - libpng - - libuuid + number: 2 run_exports: - - {{ pin_subpackage("ucsc-fatotwobit", max_pin=None) }} + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: - make - {{ compiler('c') }} - {{ compiler('cxx') }} - - binutils # [linux] + - binutils # [linux] host: - libpng - libuuid - mysql-connector-c - - openssl - libopenssl-static + - clangdev # [osx] - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static + - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert DNA from fasta to 2bit format" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-fatovcf/build.sh b/recipes/ucsc-fatovcf/build.sh index 1074509ead921..2f2c83808ef5c 100644 --- a/recipes/ucsc-fatovcf/build.sh +++ b/recipes/ucsc-fatovcf/build.sh @@ -7,7 +7,7 @@ export CFLAGS="${CFLAGS} -I${PREFIX}/include ${LDFLAGS}" export USE_HIC=0 mkdir -p "${PREFIX}/bin" -export MACHTYPE=x86_64 +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin export L="${LDFLAGS}" mkdir -p "${BINDIR}" diff --git a/recipes/ucsc-fatovcf/htmshell.patch b/recipes/ucsc-fatovcf/htmshell.patch new file mode 100644 index 0000000000000..1e6f87375ed01 --- /dev/null +++ b/recipes/ucsc-fatovcf/htmshell.patch @@ -0,0 +1,11 @@ +--- kent/src/lib/htmshell.c 2024-03-27 10:56:44.493892141 +0200 ++++ kent/src/lib/htmshell.c 2024-03-27 10:57:01.073792396 +0200 +@@ -713,7 +713,7 @@ + puts("Status: 400\r"); + puts("Content-Type: text/plain; charset=UTF-8\r"); + puts("\r"); +-if (format != NULL && args != NULL) ++if (format != NULL) + { + vfprintf(stdout, format, args); + fprintf(stdout, "\n"); diff --git a/recipes/ucsc-fatovcf/meta.yaml b/recipes/ucsc-fatovcf/meta.yaml index 1d2de4903514d..36c44e98dcd56 100644 --- a/recipes/ucsc-fatovcf/meta.yaml +++ b/recipes/ucsc-fatovcf/meta.yaml @@ -12,10 +12,13 @@ source: sha256: {{ sha256 }} patches: - include.patch + - htmshell.patch build: - number: 0 + number: 1 skip: True # [osx] + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -45,3 +48,7 @@ about: home: "http://hgdownload.cse.ucsc.edu/admin/exe/" license: "varies; see http://genome.ucsc.edu/license" summary: "Extract VCF from a multi-sequence FASTA alignment" + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/ucsc-fatrans/build.sh b/recipes/ucsc-fatrans/build.sh index a781ab3d9c5fb..2e4768dfe353f 100644 --- a/recipes/ucsc-fatrans/build.sh +++ b/recipes/ucsc-fatrans/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/faTrans && make) -cp bin/faTrans "$PREFIX/bin" -chmod +x "$PREFIX/bin/faTrans" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/faTrans && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/faTrans "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/faTrans" diff --git a/recipes/ucsc-fatrans/include.patch b/recipes/ucsc-fatrans/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-fatrans/include.patch +++ b/recipes/ucsc-fatrans/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-fatrans/meta.yaml b/recipes/ucsc-fatrans/meta.yaml index 39e117aec53d2..51811a6159fa7 100644 --- a/recipes/ucsc-fatrans/meta.yaml +++ b/recipes/ucsc-fatrans/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-fatrans" %} {% set program = "faTrans" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Translate DNA .fa file to peptide" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-featurebits/build.sh b/recipes/ucsc-featurebits/build.sh index 0aab0a6b5bf92..917a51e28eb88 100644 --- a/recipes/ucsc-featurebits/build.sh +++ b/recipes/ucsc-featurebits/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/featureBits && make) -cp bin/featureBits "$PREFIX/bin" -chmod +x "$PREFIX/bin/featureBits" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/featureBits && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/featureBits "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/featureBits" diff --git a/recipes/ucsc-featurebits/include.patch b/recipes/ucsc-featurebits/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-featurebits/include.patch +++ b/recipes/ucsc-featurebits/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-featurebits/meta.yaml b/recipes/ucsc-featurebits/meta.yaml index 24e41aeb3841b..8dd37713562a8 100644 --- a/recipes/ucsc-featurebits/meta.yaml +++ b/recipes/ucsc-featurebits/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-featurebits" %} {% set program = "featureBits" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Correlate tables via bitmap projections. " + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-fetchchromsizes/build.sh b/recipes/ucsc-fetchchromsizes/build.sh index 502e537cac181..f37dd6327039f 100644 --- a/recipes/ucsc-fetchchromsizes/build.sh +++ b/recipes/ucsc-fetchchromsizes/build.sh @@ -1,4 +1,6 @@ #!/bin/bash -cp kent/src/utils/userApps/fetchChromSizes $PREFIX/bin -chmod +x $PREFIX/bin/fetchChromSizes +set -xe + +cp kent/src/utils/userApps/fetchChromSizes ${PREFIX}/bin +chmod 0755 ${PREFIX}/bin/fetchChromSizes diff --git a/recipes/ucsc-fetchchromsizes/include.patch b/recipes/ucsc-fetchchromsizes/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-fetchchromsizes/include.patch +++ b/recipes/ucsc-fetchchromsizes/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-fetchchromsizes/meta.yaml b/recipes/ucsc-fetchchromsizes/meta.yaml index 9a4eabd87dba0..cfe061d194d38 100644 --- a/recipes/ucsc-fetchchromsizes/meta.yaml +++ b/recipes/ucsc-fetchchromsizes/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-fetchchromsizes" %} {% set program = "fetchChromSizes" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,33 +15,45 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: + - make - {{ compiler('c') }} host: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: " used to fetch chrom.sizes information from UCSC for the given " + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-findmotif/build.sh b/recipes/ucsc-findmotif/build.sh index c83f19994c25b..e0a729b566822 100644 --- a/recipes/ucsc-findmotif/build.sh +++ b/recipes/ucsc-findmotif/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/findMotif && make) -cp bin/findMotif "$PREFIX/bin" -chmod +x "$PREFIX/bin/findMotif" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/findMotif && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/findMotif "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/findMotif" diff --git a/recipes/ucsc-findmotif/include.patch b/recipes/ucsc-findmotif/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-findmotif/include.patch +++ b/recipes/ucsc-findmotif/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-findmotif/meta.yaml b/recipes/ucsc-findmotif/meta.yaml index 3ad718a71fc72..7a216c91b07df 100644 --- a/recipes/ucsc-findmotif/meta.yaml +++ b/recipes/ucsc-findmotif/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-findmotif" %} {% set program = "findMotif" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "find specified motif in sequence" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-gaptolift/build.sh b/recipes/ucsc-gaptolift/build.sh index ed5e7af6dd119..3e35b9508f85a 100644 --- a/recipes/ucsc-gaptolift/build.sh +++ b/recipes/ucsc-gaptolift/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/gapToLift && make) -cp bin/gapToLift "$PREFIX/bin" -chmod +x "$PREFIX/bin/gapToLift" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/gapToLift && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/gapToLift "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/gapToLift" diff --git a/recipes/ucsc-gaptolift/include.patch b/recipes/ucsc-gaptolift/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-gaptolift/include.patch +++ b/recipes/ucsc-gaptolift/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-gaptolift/meta.yaml b/recipes/ucsc-gaptolift/meta.yaml index b30683d4565e8..d966465836968 100644 --- a/recipes/ucsc-gaptolift/meta.yaml +++ b/recipes/ucsc-gaptolift/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-gaptolift" %} {% set program = "gapToLift" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "create lift file from gap table(s)" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-genepredcheck/build.sh b/recipes/ucsc-genepredcheck/build.sh index 5762a1404baca..2e78923fd14a7 100644 --- a/recipes/ucsc-genepredcheck/build.sh +++ b/recipes/ucsc-genepredcheck/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/genePredCheck && make) -cp bin/genePredCheck "$PREFIX/bin" -chmod +x "$PREFIX/bin/genePredCheck" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/genePredCheck && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/genePredCheck "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/genePredCheck" diff --git a/recipes/ucsc-genepredcheck/htmshell.patch b/recipes/ucsc-genepredcheck/htmshell.patch new file mode 100644 index 0000000000000..1e6f87375ed01 --- /dev/null +++ b/recipes/ucsc-genepredcheck/htmshell.patch @@ -0,0 +1,11 @@ +--- kent/src/lib/htmshell.c 2024-03-27 10:56:44.493892141 +0200 ++++ kent/src/lib/htmshell.c 2024-03-27 10:57:01.073792396 +0200 +@@ -713,7 +713,7 @@ + puts("Status: 400\r"); + puts("Content-Type: text/plain; charset=UTF-8\r"); + puts("\r"); +-if (format != NULL && args != NULL) ++if (format != NULL) + { + vfprintf(stdout, format, args); + fprintf(stdout, "\n"); diff --git a/recipes/ucsc-genepredcheck/include.patch b/recipes/ucsc-genepredcheck/include.patch index e9c8621194325..edc04d0dc2f64 100644 --- a/recipes/ucsc-genepredcheck/include.patch +++ b/recipes/ucsc-genepredcheck/include.patch @@ -1,30 +1,22 @@ --- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 ++++ kent/src/inc/common.mk.new 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -+++ kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -@@ -147,4 +147,4 @@ -- L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl -+ L+=${PREFIX}/lib/libssl.so ${PREFIX}/lib/libcrypto.so -ldl - else - ifneq ($(wildcard /opt/local/lib/libssl.a),) - L+=/opt/local/lib/libssl.a ---- kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 -+++ kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ --KENT_INC=-I../../../inc -+KENT_INC=-I../../../inc -I${PREFIX}/include - - straw: straw.o cStraw.o - ld -r -o ../straw.o straw.o cStraw.o +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python + + import logging, sys, optparse, string + from collections import defaultdict --- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ diff --git a/recipes/ucsc-genepredcheck/meta.yaml b/recipes/ucsc-genepredcheck/meta.yaml index f64c676b37f6e..db9f5b2a78bcd 100644 --- a/recipes/ucsc-genepredcheck/meta.yaml +++ b/recipes/ucsc-genepredcheck/meta.yaml @@ -1,50 +1,56 @@ {% set package = "ucsc-genepredcheck" %} {% set program = "genePredCheck" %} -{% set version = "447" %} -{% set sha256 = "747a48486f7481d891e297baf63623b15d699265ede7339f654bcbc42481ac81" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: - name: {{ package }} - version: {{ version }} + name: "{{ package }}" + version: "{{ version }}" source: url: "http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v{{ version }}.src.tgz" - sha256: {{ sha256 }} + sha256: "{{ sha256 }}" patches: - - include.patch + - "include.patch" build: + skip: True # [osx] number: 0 - skip: True # [osx] - ignore_run_exports: - - libpng - - libuuid + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: - make - {{ compiler('c') }} - - {{ compiler('cxx') }} - - binutils # [linux] host: - libpng - libuuid - mysql-connector-c - - openssl - libopenssl-static - zlib + run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static + - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" - summary: "Validate genePred files or tables" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" + summary: "validate genePred files or tables" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-genepredfilter/build.sh b/recipes/ucsc-genepredfilter/build.sh index 740a38a92b847..43aedb3dafe58 100644 --- a/recipes/ucsc-genepredfilter/build.sh +++ b/recipes/ucsc-genepredfilter/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/genePredFilter && make) -cp bin/genePredFilter "$PREFIX/bin" -chmod +x "$PREFIX/bin/genePredFilter" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/genePredFilter && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/genePredFilter "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/genePredFilter" diff --git a/recipes/ucsc-genepredfilter/include.patch b/recipes/ucsc-genepredfilter/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-genepredfilter/include.patch +++ b/recipes/ucsc-genepredfilter/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-genepredfilter/meta.yaml b/recipes/ucsc-genepredfilter/meta.yaml index bbdbe7224a9b2..555cc71621d1a 100644 --- a/recipes/ucsc-genepredfilter/meta.yaml +++ b/recipes/ucsc-genepredfilter/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-genepredfilter" %} {% set program = "genePredFilter" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "filter a genePred file" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-genepredhisto/build.sh b/recipes/ucsc-genepredhisto/build.sh index eae0a8415e1ce..7cbdc5550a941 100644 --- a/recipes/ucsc-genepredhisto/build.sh +++ b/recipes/ucsc-genepredhisto/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/genePredHisto && make) -cp bin/genePredHisto "$PREFIX/bin" -chmod +x "$PREFIX/bin/genePredHisto" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/genePredHisto && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/genePredHisto "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/genePredHisto" diff --git a/recipes/ucsc-genepredhisto/include.patch b/recipes/ucsc-genepredhisto/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-genepredhisto/include.patch +++ b/recipes/ucsc-genepredhisto/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-genepredhisto/meta.yaml b/recipes/ucsc-genepredhisto/meta.yaml index 2c5afb13865f9..26ea81c76bb67 100644 --- a/recipes/ucsc-genepredhisto/meta.yaml +++ b/recipes/ucsc-genepredhisto/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-genepredhisto" %} {% set program = "genePredHisto" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "get data for generating histograms from a genePred file." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-genepredsinglecover/build.sh b/recipes/ucsc-genepredsinglecover/build.sh index cc6aa8cdea7b8..69a1610ac29a2 100644 --- a/recipes/ucsc-genepredsinglecover/build.sh +++ b/recipes/ucsc-genepredsinglecover/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/genePredSingleCover && make) -cp bin/genePredSingleCover "$PREFIX/bin" -chmod +x "$PREFIX/bin/genePredSingleCover" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/genePredSingleCover && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/genePredSingleCover "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/genePredSingleCover" diff --git a/recipes/ucsc-genepredsinglecover/include.patch b/recipes/ucsc-genepredsinglecover/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-genepredsinglecover/include.patch +++ b/recipes/ucsc-genepredsinglecover/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-genepredsinglecover/meta.yaml b/recipes/ucsc-genepredsinglecover/meta.yaml index c5feab4138c2a..7da1658b06ae8 100644 --- a/recipes/ucsc-genepredsinglecover/meta.yaml +++ b/recipes/ucsc-genepredsinglecover/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-genepredsinglecover" %} {% set program = "genePredSingleCover" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "create single-coverage genePred files" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-genepredtobed/build.sh b/recipes/ucsc-genepredtobed/build.sh index 106e6c404fcf1..c2d189f5935c0 100644 --- a/recipes/ucsc-genepredtobed/build.sh +++ b/recipes/ucsc-genepredtobed/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/genePredToBed && make) -cp bin/genePredToBed "$PREFIX/bin" -chmod +x "$PREFIX/bin/genePredToBed" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/genePredToBed && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/genePredToBed "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/genePredToBed" diff --git a/recipes/ucsc-genepredtobed/htmshell.patch b/recipes/ucsc-genepredtobed/htmshell.patch new file mode 100644 index 0000000000000..1e6f87375ed01 --- /dev/null +++ b/recipes/ucsc-genepredtobed/htmshell.patch @@ -0,0 +1,11 @@ +--- kent/src/lib/htmshell.c 2024-03-27 10:56:44.493892141 +0200 ++++ kent/src/lib/htmshell.c 2024-03-27 10:57:01.073792396 +0200 +@@ -713,7 +713,7 @@ + puts("Status: 400\r"); + puts("Content-Type: text/plain; charset=UTF-8\r"); + puts("\r"); +-if (format != NULL && args != NULL) ++if (format != NULL) + { + vfprintf(stdout, format, args); + fprintf(stdout, "\n"); diff --git a/recipes/ucsc-genepredtobed/include.patch b/recipes/ucsc-genepredtobed/include.patch index e9c8621194325..edc04d0dc2f64 100644 --- a/recipes/ucsc-genepredtobed/include.patch +++ b/recipes/ucsc-genepredtobed/include.patch @@ -1,30 +1,22 @@ --- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 ++++ kent/src/inc/common.mk.new 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -+++ kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -@@ -147,4 +147,4 @@ -- L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl -+ L+=${PREFIX}/lib/libssl.so ${PREFIX}/lib/libcrypto.so -ldl - else - ifneq ($(wildcard /opt/local/lib/libssl.a),) - L+=/opt/local/lib/libssl.a ---- kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 -+++ kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ --KENT_INC=-I../../../inc -+KENT_INC=-I../../../inc -I${PREFIX}/include - - straw: straw.o cStraw.o - ld -r -o ../straw.o straw.o cStraw.o +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python + + import logging, sys, optparse, string + from collections import defaultdict --- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ diff --git a/recipes/ucsc-genepredtobed/meta.yaml b/recipes/ucsc-genepredtobed/meta.yaml index 62b669805fbc6..3bec9a4e9fa8e 100644 --- a/recipes/ucsc-genepredtobed/meta.yaml +++ b/recipes/ucsc-genepredtobed/meta.yaml @@ -1,50 +1,56 @@ {% set package = "ucsc-genepredtobed" %} {% set program = "genePredToBed" %} -{% set version = "447" %} -{% set sha256 = "747a48486f7481d891e297baf63623b15d699265ede7339f654bcbc42481ac81" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: - name: {{ package }} - version: {{ version }} + name: "{{ package }}" + version: "{{ version }}" source: url: "http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v{{ version }}.src.tgz" - sha256: {{ sha256 }} + sha256: "{{ sha256 }}" patches: - - include.patch + - "include.patch" build: + skip: True # [osx] number: 0 - skip: True # [osx] - ignore_run_exports: - - libpng - - libuuid + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: - make - {{ compiler('c') }} - - {{ compiler('cxx') }} - - binutils # [linux] host: - libpng - libuuid - mysql-connector-c - - openssl - libopenssl-static - zlib + run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static + - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert from genePred to bed format. Does not yet handle genePredExt" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-genepredtobiggenepred/build.sh b/recipes/ucsc-genepredtobiggenepred/build.sh index 17f9151799921..22cb9a1a3f13f 100644 --- a/recipes/ucsc-genepredtobiggenepred/build.sh +++ b/recipes/ucsc-genepredtobiggenepred/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/genePredToBigGenePred && make) -cp bin/genePredToBigGenePred "$PREFIX/bin" -chmod +x "$PREFIX/bin/genePredToBigGenePred" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/genePredToBigGenePred && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/genePredToBigGenePred "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/genePredToBigGenePred" diff --git a/recipes/ucsc-genepredtobiggenepred/htmshell.patch b/recipes/ucsc-genepredtobiggenepred/htmshell.patch new file mode 100644 index 0000000000000..1e6f87375ed01 --- /dev/null +++ b/recipes/ucsc-genepredtobiggenepred/htmshell.patch @@ -0,0 +1,11 @@ +--- kent/src/lib/htmshell.c 2024-03-27 10:56:44.493892141 +0200 ++++ kent/src/lib/htmshell.c 2024-03-27 10:57:01.073792396 +0200 +@@ -713,7 +713,7 @@ + puts("Status: 400\r"); + puts("Content-Type: text/plain; charset=UTF-8\r"); + puts("\r"); +-if (format != NULL && args != NULL) ++if (format != NULL) + { + vfprintf(stdout, format, args); + fprintf(stdout, "\n"); diff --git a/recipes/ucsc-genepredtobiggenepred/include.patch b/recipes/ucsc-genepredtobiggenepred/include.patch index e9c8621194325..edc04d0dc2f64 100644 --- a/recipes/ucsc-genepredtobiggenepred/include.patch +++ b/recipes/ucsc-genepredtobiggenepred/include.patch @@ -1,30 +1,22 @@ --- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 ++++ kent/src/inc/common.mk.new 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -+++ kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -@@ -147,4 +147,4 @@ -- L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl -+ L+=${PREFIX}/lib/libssl.so ${PREFIX}/lib/libcrypto.so -ldl - else - ifneq ($(wildcard /opt/local/lib/libssl.a),) - L+=/opt/local/lib/libssl.a ---- kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 -+++ kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ --KENT_INC=-I../../../inc -+KENT_INC=-I../../../inc -I${PREFIX}/include - - straw: straw.o cStraw.o - ld -r -o ../straw.o straw.o cStraw.o +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python + + import logging, sys, optparse, string + from collections import defaultdict --- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ diff --git a/recipes/ucsc-genepredtobiggenepred/meta.yaml b/recipes/ucsc-genepredtobiggenepred/meta.yaml index d751db6b3a870..a1246916eef6c 100644 --- a/recipes/ucsc-genepredtobiggenepred/meta.yaml +++ b/recipes/ucsc-genepredtobiggenepred/meta.yaml @@ -1,50 +1,56 @@ {% set package = "ucsc-genepredtobiggenepred" %} {% set program = "genePredToBigGenePred" %} -{% set version = "447" %} -{% set sha256 = "747a48486f7481d891e297baf63623b15d699265ede7339f654bcbc42481ac81" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: - name: {{ package }} - version: {{ version }} + name: "{{ package }}" + version: "{{ version }}" source: url: "http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v{{ version }}.src.tgz" - sha256: {{ sha256 }} + sha256: "{{ sha256 }}" patches: - - include.patch + - "include.patch" build: + skip: True # [osx] number: 0 - skip: True # [osx] - ignore_run_exports: - - libpng - - libuuid + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: - make - {{ compiler('c') }} - - {{ compiler('cxx') }} - - binutils # [linux] host: - libpng - libuuid - mysql-connector-c - - openssl - libopenssl-static - zlib + run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static + - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" - summary: "Converts genePred or genePredExt to bigGenePred input (bed format with extra fields)" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" + summary: "converts genePred or genePredExt to bigGenePred input (bed format with extra fields)" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-genepredtofakepsl/build.sh b/recipes/ucsc-genepredtofakepsl/build.sh index 03cf481ed9fae..0cbaf2644b10f 100644 --- a/recipes/ucsc-genepredtofakepsl/build.sh +++ b/recipes/ucsc-genepredtofakepsl/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/genePredToFakePsl && make) -cp bin/genePredToFakePsl "$PREFIX/bin" -chmod +x "$PREFIX/bin/genePredToFakePsl" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/genePredToFakePsl && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/genePredToFakePsl "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/genePredToFakePsl" diff --git a/recipes/ucsc-genepredtofakepsl/include.patch b/recipes/ucsc-genepredtofakepsl/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-genepredtofakepsl/include.patch +++ b/recipes/ucsc-genepredtofakepsl/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-genepredtofakepsl/meta.yaml b/recipes/ucsc-genepredtofakepsl/meta.yaml index 6dd0dbfb20747..db76e2c25d187 100644 --- a/recipes/ucsc-genepredtofakepsl/meta.yaml +++ b/recipes/ucsc-genepredtofakepsl/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-genepredtofakepsl" %} {% set program = "genePredToFakePsl" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Create a psl of fake-mRNA aligned to gene-preds from a file or table." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-genepredtogtf/build.sh b/recipes/ucsc-genepredtogtf/build.sh index 749e6481a78f3..2eacfa5aca0fe 100644 --- a/recipes/ucsc-genepredtogtf/build.sh +++ b/recipes/ucsc-genepredtogtf/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/genePredToGtf && make) -cp bin/genePredToGtf "$PREFIX/bin" -chmod +x "$PREFIX/bin/genePredToGtf" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/genePredToGtf && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/genePredToGtf "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/genePredToGtf" diff --git a/recipes/ucsc-genepredtogtf/include.patch b/recipes/ucsc-genepredtogtf/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-genepredtogtf/include.patch +++ b/recipes/ucsc-genepredtogtf/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-genepredtogtf/meta.yaml b/recipes/ucsc-genepredtogtf/meta.yaml index c71c0c4c4a963..63feeb7475766 100644 --- a/recipes/ucsc-genepredtogtf/meta.yaml +++ b/recipes/ucsc-genepredtogtf/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-genepredtogtf" %} {% set program = "genePredToGtf" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 6 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert genePred table or file to gtf." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-genepredtomafframes/build.sh b/recipes/ucsc-genepredtomafframes/build.sh index 3c6c10a9fad99..d0914e9e23d2e 100644 --- a/recipes/ucsc-genepredtomafframes/build.sh +++ b/recipes/ucsc-genepredtomafframes/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/genePredToMafFrames && make) -cp bin/genePredToMafFrames "$PREFIX/bin" -chmod +x "$PREFIX/bin/genePredToMafFrames" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/genePredToMafFrames && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/genePredToMafFrames "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/genePredToMafFrames" diff --git a/recipes/ucsc-genepredtomafframes/include.patch b/recipes/ucsc-genepredtomafframes/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-genepredtomafframes/include.patch +++ b/recipes/ucsc-genepredtomafframes/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-genepredtomafframes/meta.yaml b/recipes/ucsc-genepredtomafframes/meta.yaml index de319b6994200..a2198b27e22c8 100644 --- a/recipes/ucsc-genepredtomafframes/meta.yaml +++ b/recipes/ucsc-genepredtomafframes/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-genepredtomafframes" %} {% set program = "genePredToMafFrames" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "create mafFrames tables from a genePreds" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-genepredtoprot/build.sh b/recipes/ucsc-genepredtoprot/build.sh index 45cad43fa314d..0e997669e739d 100644 --- a/recipes/ucsc-genepredtoprot/build.sh +++ b/recipes/ucsc-genepredtoprot/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/genePredToProt && make) -cp bin/genePredToProt "$PREFIX/bin" -chmod +x "$PREFIX/bin/genePredToProt" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/genePredToProt && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/genePredToProt "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/genePredToProt" diff --git a/recipes/ucsc-genepredtoprot/include.patch b/recipes/ucsc-genepredtoprot/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-genepredtoprot/include.patch +++ b/recipes/ucsc-genepredtoprot/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-genepredtoprot/meta.yaml b/recipes/ucsc-genepredtoprot/meta.yaml index b04d00344ff6f..415939a3f7ac5 100644 --- a/recipes/ucsc-genepredtoprot/meta.yaml +++ b/recipes/ucsc-genepredtoprot/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-genepredtoprot" %} {% set program = "genePredToProt" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "create protein sequences by translating gene annotations" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-gensub2/build.sh b/recipes/ucsc-gensub2/build.sh index c2fb30cfe1ea8..7eea99522dd3e 100644 --- a/recipes/ucsc-gensub2/build.sh +++ b/recipes/ucsc-gensub2/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export BINDIR=$(pwd)/bin export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/parasol && make) -cp kent/src/parasol/bin/gensub2 "$PREFIX/bin" -chmod +x "$PREFIX/bin/gensub2" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/parasol && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp kent/src/parasol/bin/gensub2 "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/gensub2" diff --git a/recipes/ucsc-gensub2/include.patch b/recipes/ucsc-gensub2/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-gensub2/include.patch +++ b/recipes/ucsc-gensub2/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-gensub2/meta.yaml b/recipes/ucsc-gensub2/meta.yaml index 9dbd6efb84cd5..5b1d1ebc67a8d 100644 --- a/recipes/ucsc-gensub2/meta.yaml +++ b/recipes/ucsc-gensub2/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-gensub2" %} {% set program = "gensub2" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "version 12.18" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-getrna/build.sh b/recipes/ucsc-getrna/build.sh index a143abd3f5d49..68c77a40cd7d3 100644 --- a/recipes/ucsc-getrna/build.sh +++ b/recipes/ucsc-getrna/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/getRna && make) -cp bin/getRna "$PREFIX/bin" -chmod +x "$PREFIX/bin/getRna" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/getRna && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/getRna "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/getRna" diff --git a/recipes/ucsc-getrna/include.patch b/recipes/ucsc-getrna/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-getrna/include.patch +++ b/recipes/ucsc-getrna/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-getrna/meta.yaml b/recipes/ucsc-getrna/meta.yaml index 2762bd242def6..a513246dfff19 100644 --- a/recipes/ucsc-getrna/meta.yaml +++ b/recipes/ucsc-getrna/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-getrna" %} {% set program = "getRna" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Get mrna for GenBank or RefSeq sequences found in a database" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-getrnapred/build.sh b/recipes/ucsc-getrnapred/build.sh index 8fc3876e2eba3..1285faed92b52 100644 --- a/recipes/ucsc-getrnapred/build.sh +++ b/recipes/ucsc-getrnapred/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/getRnaPred && make) -cp bin/getRnaPred "$PREFIX/bin" -chmod +x "$PREFIX/bin/getRnaPred" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/getRnaPred && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/getRnaPred "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/getRnaPred" diff --git a/recipes/ucsc-getrnapred/include.patch b/recipes/ucsc-getrnapred/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-getrnapred/include.patch +++ b/recipes/ucsc-getrnapred/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-getrnapred/meta.yaml b/recipes/ucsc-getrnapred/meta.yaml index 456e7a2e36ce1..511717e689efd 100644 --- a/recipes/ucsc-getrnapred/meta.yaml +++ b/recipes/ucsc-getrnapred/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-getrnapred" %} {% set program = "getRnaPred" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Get virtual RNA for gene predictions" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-gff3togenepred/build.sh b/recipes/ucsc-gff3togenepred/build.sh index 00a4f906dbe4e..98a30d0537b93 100644 --- a/recipes/ucsc-gff3togenepred/build.sh +++ b/recipes/ucsc-gff3togenepred/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/gff3ToGenePred && make) -cp bin/gff3ToGenePred "$PREFIX/bin" -chmod +x "$PREFIX/bin/gff3ToGenePred" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/gff3ToGenePred && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/gff3ToGenePred "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/gff3ToGenePred" diff --git a/recipes/ucsc-gff3togenepred/htmshell.patch b/recipes/ucsc-gff3togenepred/htmshell.patch new file mode 100644 index 0000000000000..1e6f87375ed01 --- /dev/null +++ b/recipes/ucsc-gff3togenepred/htmshell.patch @@ -0,0 +1,11 @@ +--- kent/src/lib/htmshell.c 2024-03-27 10:56:44.493892141 +0200 ++++ kent/src/lib/htmshell.c 2024-03-27 10:57:01.073792396 +0200 +@@ -713,7 +713,7 @@ + puts("Status: 400\r"); + puts("Content-Type: text/plain; charset=UTF-8\r"); + puts("\r"); +-if (format != NULL && args != NULL) ++if (format != NULL) + { + vfprintf(stdout, format, args); + fprintf(stdout, "\n"); diff --git a/recipes/ucsc-gff3togenepred/include.patch b/recipes/ucsc-gff3togenepred/include.patch index e9c8621194325..edc04d0dc2f64 100644 --- a/recipes/ucsc-gff3togenepred/include.patch +++ b/recipes/ucsc-gff3togenepred/include.patch @@ -1,30 +1,22 @@ --- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 ++++ kent/src/inc/common.mk.new 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -+++ kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -@@ -147,4 +147,4 @@ -- L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl -+ L+=${PREFIX}/lib/libssl.so ${PREFIX}/lib/libcrypto.so -ldl - else - ifneq ($(wildcard /opt/local/lib/libssl.a),) - L+=/opt/local/lib/libssl.a ---- kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 -+++ kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ --KENT_INC=-I../../../inc -+KENT_INC=-I../../../inc -I${PREFIX}/include - - straw: straw.o cStraw.o - ld -r -o ../straw.o straw.o cStraw.o +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python + + import logging, sys, optparse, string + from collections import defaultdict --- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ diff --git a/recipes/ucsc-gff3togenepred/meta.yaml b/recipes/ucsc-gff3togenepred/meta.yaml index 6a469bff6fd4d..c16b7d914188d 100644 --- a/recipes/ucsc-gff3togenepred/meta.yaml +++ b/recipes/ucsc-gff3togenepred/meta.yaml @@ -1,50 +1,56 @@ {% set package = "ucsc-gff3togenepred" %} {% set program = "gff3ToGenePred" %} -{% set version = "447" %} -{% set sha256 = "747a48486f7481d891e297baf63623b15d699265ede7339f654bcbc42481ac81" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: - name: {{ package }} - version: {{ version }} + name: "{{ package }}" + version: "{{ version }}" source: url: "http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v{{ version }}.src.tgz" - sha256: {{ sha256 }} + sha256: "{{ sha256 }}" patches: - - include.patch + - "include.patch" build: + skip: True # [osx] number: 0 - skip: True # [osx] - ignore_run_exports: - - libpng - - libuuid + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: - make - {{ compiler('c') }} - - {{ compiler('cxx') }} - - binutils # [linux] host: - libpng - libuuid - mysql-connector-c - - openssl - libopenssl-static - zlib + run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static + - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" - summary: "Convert a GFF3 file to a genePred file" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" + summary: "convert a GFF3 file to a genePred file" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-gff3topsl/build.sh b/recipes/ucsc-gff3topsl/build.sh index 0af0b67a67fa0..1480a1a5c4c6c 100644 --- a/recipes/ucsc-gff3topsl/build.sh +++ b/recipes/ucsc-gff3topsl/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/gff3ToPsl && make) -cp bin/gff3ToPsl "$PREFIX/bin" -chmod +x "$PREFIX/bin/gff3ToPsl" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/gff3ToPsl && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/gff3ToPsl "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/gff3ToPsl" diff --git a/recipes/ucsc-gff3topsl/include.patch b/recipes/ucsc-gff3topsl/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-gff3topsl/include.patch +++ b/recipes/ucsc-gff3topsl/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-gff3topsl/meta.yaml b/recipes/ucsc-gff3topsl/meta.yaml index 4a1ea66855d54..6b6d7a265cea8 100644 --- a/recipes/ucsc-gff3topsl/meta.yaml +++ b/recipes/ucsc-gff3topsl/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-gff3topsl" %} {% set program = "gff3ToPsl" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "convert a GFF3 CIGAR file to a PSL file" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-gmtime/build.sh b/recipes/ucsc-gmtime/build.sh index df84f2bc8be6f..f9fdd83658185 100644 --- a/recipes/ucsc-gmtime/build.sh +++ b/recipes/ucsc-gmtime/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/timing/gmtime && make) -cp bin/gmtime "$PREFIX/bin" -chmod +x "$PREFIX/bin/gmtime" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/timing/gmtime && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/gmtime "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/gmtime" diff --git a/recipes/ucsc-gmtime/include.patch b/recipes/ucsc-gmtime/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-gmtime/include.patch +++ b/recipes/ucsc-gmtime/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-gmtime/meta.yaml b/recipes/ucsc-gmtime/meta.yaml index 3a363611db7b8..be7f2efb84739 100644 --- a/recipes/ucsc-gmtime/meta.yaml +++ b/recipes/ucsc-gmtime/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-gmtime" %} {% set program = "gmtime" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "convert unix timestamp to date string" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-gtftogenepred/build.sh b/recipes/ucsc-gtftogenepred/build.sh index 49f68076bbb2e..80a3ce55a4aa6 100644 --- a/recipes/ucsc-gtftogenepred/build.sh +++ b/recipes/ucsc-gtftogenepred/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/gtfToGenePred && make) -cp bin/gtfToGenePred "$PREFIX/bin" -chmod +x "$PREFIX/bin/gtfToGenePred" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/gtfToGenePred && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/gtfToGenePred "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/gtfToGenePred" diff --git a/recipes/ucsc-gtftogenepred/htmshell.patch b/recipes/ucsc-gtftogenepred/htmshell.patch new file mode 100644 index 0000000000000..1e6f87375ed01 --- /dev/null +++ b/recipes/ucsc-gtftogenepred/htmshell.patch @@ -0,0 +1,11 @@ +--- kent/src/lib/htmshell.c 2024-03-27 10:56:44.493892141 +0200 ++++ kent/src/lib/htmshell.c 2024-03-27 10:57:01.073792396 +0200 +@@ -713,7 +713,7 @@ + puts("Status: 400\r"); + puts("Content-Type: text/plain; charset=UTF-8\r"); + puts("\r"); +-if (format != NULL && args != NULL) ++if (format != NULL) + { + vfprintf(stdout, format, args); + fprintf(stdout, "\n"); diff --git a/recipes/ucsc-gtftogenepred/include.patch b/recipes/ucsc-gtftogenepred/include.patch index e9c8621194325..edc04d0dc2f64 100644 --- a/recipes/ucsc-gtftogenepred/include.patch +++ b/recipes/ucsc-gtftogenepred/include.patch @@ -1,30 +1,22 @@ --- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 ++++ kent/src/inc/common.mk.new 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -+++ kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -@@ -147,4 +147,4 @@ -- L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl -+ L+=${PREFIX}/lib/libssl.so ${PREFIX}/lib/libcrypto.so -ldl - else - ifneq ($(wildcard /opt/local/lib/libssl.a),) - L+=/opt/local/lib/libssl.a ---- kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 -+++ kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ --KENT_INC=-I../../../inc -+KENT_INC=-I../../../inc -I${PREFIX}/include - - straw: straw.o cStraw.o - ld -r -o ../straw.o straw.o cStraw.o +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python + + import logging, sys, optparse, string + from collections import defaultdict --- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ diff --git a/recipes/ucsc-gtftogenepred/meta.yaml b/recipes/ucsc-gtftogenepred/meta.yaml index e3c78d48bc2a7..813e6c2d6a6b6 100644 --- a/recipes/ucsc-gtftogenepred/meta.yaml +++ b/recipes/ucsc-gtftogenepred/meta.yaml @@ -1,50 +1,56 @@ {% set package = "ucsc-gtftogenepred" %} {% set program = "gtfToGenePred" %} -{% set version = "447" %} -{% set sha256 = "747a48486f7481d891e297baf63623b15d699265ede7339f654bcbc42481ac81" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: - name: {{ package }} - version: {{ version }} + name: "{{ package }}" + version: "{{ version }}" source: url: "http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v{{ version }}.src.tgz" - sha256: {{ sha256 }} + sha256: "{{ sha256 }}" patches: - - include.patch + - "include.patch" build: + skip: True # [osx] number: 0 - skip: True # [osx] - ignore_run_exports: - - libpng - - libuuid + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: - make - {{ compiler('c') }} - - {{ compiler('cxx') }} - - binutils # [linux] host: - libpng - libuuid - mysql-connector-c - - openssl - libopenssl-static - zlib + run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static + - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" - summary: "Convert a GTF file to a genePred" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" + summary: "convert a GTF file to a genePred" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-headrest/build.sh b/recipes/ucsc-headrest/build.sh index e663809978aba..42931e2fdcda4 100644 --- a/recipes/ucsc-headrest/build.sh +++ b/recipes/ucsc-headrest/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/headRest && make) -cp bin/headRest "$PREFIX/bin" -chmod +x "$PREFIX/bin/headRest" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/headRest && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/headRest "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/headRest" diff --git a/recipes/ucsc-headrest/include.patch b/recipes/ucsc-headrest/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-headrest/include.patch +++ b/recipes/ucsc-headrest/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-headrest/meta.yaml b/recipes/ucsc-headrest/meta.yaml index ca8f56ff645ef..5544ab7e8edc7 100644 --- a/recipes/ucsc-headrest/meta.yaml +++ b/recipes/ucsc-headrest/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-headrest" %} {% set program = "headRest" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Return all *but* the first N lines of a file." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-hgbbidblink/build.sh b/recipes/ucsc-hgbbidblink/build.sh index 6da58add15c6a..bd30d4f90abf3 100644 --- a/recipes/ucsc-hgbbidblink/build.sh +++ b/recipes/ucsc-hgbbidblink/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/makeDb/hgBbiDbLink && make) -cp bin/hgBbiDbLink "$PREFIX/bin" -chmod +x "$PREFIX/bin/hgBbiDbLink" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/makeDb/hgBbiDbLink && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/hgBbiDbLink "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/hgBbiDbLink" diff --git a/recipes/ucsc-hgbbidblink/include.patch b/recipes/ucsc-hgbbidblink/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-hgbbidblink/include.patch +++ b/recipes/ucsc-hgbbidblink/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-hgbbidblink/meta.yaml b/recipes/ucsc-hgbbidblink/meta.yaml index b1ad270d2c719..45c299a6c87ee 100644 --- a/recipes/ucsc-hgbbidblink/meta.yaml +++ b/recipes/ucsc-hgbbidblink/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-hgbbidblink" %} {% set program = "hgBbiDbLink" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Add table that just contains a pointer to a bbiFile to database. This program " + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-hgfakeagp/build.sh b/recipes/ucsc-hgfakeagp/build.sh index da41fc2e586e1..03d106363c3f0 100644 --- a/recipes/ucsc-hgfakeagp/build.sh +++ b/recipes/ucsc-hgfakeagp/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/makeDb/hgFakeAgp && make) -cp bin/hgFakeAgp "$PREFIX/bin" -chmod +x "$PREFIX/bin/hgFakeAgp" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/makeDb/hgFakeAgp && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/hgFakeAgp "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/hgFakeAgp" diff --git a/recipes/ucsc-hgfakeagp/include.patch b/recipes/ucsc-hgfakeagp/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-hgfakeagp/include.patch +++ b/recipes/ucsc-hgfakeagp/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-hgfakeagp/meta.yaml b/recipes/ucsc-hgfakeagp/meta.yaml index a8f5f3d17ac1e..457365f7fa59a 100644 --- a/recipes/ucsc-hgfakeagp/meta.yaml +++ b/recipes/ucsc-hgfakeagp/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-hgfakeagp" %} {% set program = "hgFakeAgp" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Create fake AGP file by looking at N's" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-hgfindspec/build.sh b/recipes/ucsc-hgfindspec/build.sh index 86c10fc48027c..f02b401cba046 100644 --- a/recipes/ucsc-hgfindspec/build.sh +++ b/recipes/ucsc-hgfindspec/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/makeDb/hgFindSpec && make) -cp bin/hgFindSpec "$PREFIX/bin" -chmod +x "$PREFIX/bin/hgFindSpec" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/makeDb/hgFindSpec && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/hgFindSpec "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/hgFindSpec" diff --git a/recipes/ucsc-hgfindspec/include.patch b/recipes/ucsc-hgfindspec/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-hgfindspec/include.patch +++ b/recipes/ucsc-hgfindspec/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-hgfindspec/meta.yaml b/recipes/ucsc-hgfindspec/meta.yaml index fa2b4eca2f34b..02d2bf103bd22 100644 --- a/recipes/ucsc-hgfindspec/meta.yaml +++ b/recipes/ucsc-hgfindspec/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-hgfindspec" %} {% set program = "hgFindSpec" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Create hgFindSpec table from trackDb.ra files." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-hggcpercent/build.sh b/recipes/ucsc-hggcpercent/build.sh index 2d57a16537bea..0f13041348d4e 100644 --- a/recipes/ucsc-hggcpercent/build.sh +++ b/recipes/ucsc-hggcpercent/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/makeDb/hgGcPercent && make) -cp bin/hgGcPercent "$PREFIX/bin" -chmod +x "$PREFIX/bin/hgGcPercent" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/makeDb/hgGcPercent && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/hgGcPercent "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/hgGcPercent" diff --git a/recipes/ucsc-hggcpercent/htmshell.patch b/recipes/ucsc-hggcpercent/htmshell.patch new file mode 100644 index 0000000000000..1e6f87375ed01 --- /dev/null +++ b/recipes/ucsc-hggcpercent/htmshell.patch @@ -0,0 +1,11 @@ +--- kent/src/lib/htmshell.c 2024-03-27 10:56:44.493892141 +0200 ++++ kent/src/lib/htmshell.c 2024-03-27 10:57:01.073792396 +0200 +@@ -713,7 +713,7 @@ + puts("Status: 400\r"); + puts("Content-Type: text/plain; charset=UTF-8\r"); + puts("\r"); +-if (format != NULL && args != NULL) ++if (format != NULL) + { + vfprintf(stdout, format, args); + fprintf(stdout, "\n"); diff --git a/recipes/ucsc-hggcpercent/include.patch b/recipes/ucsc-hggcpercent/include.patch index e9c8621194325..edc04d0dc2f64 100644 --- a/recipes/ucsc-hggcpercent/include.patch +++ b/recipes/ucsc-hggcpercent/include.patch @@ -1,30 +1,22 @@ --- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 ++++ kent/src/inc/common.mk.new 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -+++ kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -@@ -147,4 +147,4 @@ -- L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl -+ L+=${PREFIX}/lib/libssl.so ${PREFIX}/lib/libcrypto.so -ldl - else - ifneq ($(wildcard /opt/local/lib/libssl.a),) - L+=/opt/local/lib/libssl.a ---- kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 -+++ kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ --KENT_INC=-I../../../inc -+KENT_INC=-I../../../inc -I${PREFIX}/include - - straw: straw.o cStraw.o - ld -r -o ../straw.o straw.o cStraw.o +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python + + import logging, sys, optparse, string + from collections import defaultdict --- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ diff --git a/recipes/ucsc-hggcpercent/meta.yaml b/recipes/ucsc-hggcpercent/meta.yaml index 4b567ff8e2715..8e1740f1de060 100644 --- a/recipes/ucsc-hggcpercent/meta.yaml +++ b/recipes/ucsc-hggcpercent/meta.yaml @@ -1,47 +1,56 @@ {% set package = "ucsc-hggcpercent" %} {% set program = "hgGcPercent" %} -{% set version = "448" %} -{% set sha256 = "90c28f06f3f5b6d79ff141cbf745e6a0c1b289a2ce640bbd1b0a14c826f08a85" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: - name: {{ package }} - version: {{ version }} + name: "{{ package }}" + version: "{{ version }}" source: - url: http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v{{ version }}.src.tgz - sha256: {{ sha256 }} + url: "http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v{{ version }}.src.tgz" + sha256: "{{ sha256 }}" patches: - - include.patch + - "include.patch" build: - number: 0 skip: True # [osx] + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: - make - {{ compiler('c') }} - - {{ compiler('cxx') }} - - binutils # [linux] host: - libpng - libuuid - mysql-connector-c - - openssl - libopenssl-static - zlib + run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static + - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Calculate GC Percentage in 20kb windows" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-hggoldgapgl/build_failure.linux-64.yaml b/recipes/ucsc-hggoldgapgl/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..2e5116388d48d --- /dev/null +++ b/recipes/ucsc-hggoldgapgl/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: b3c6555b75999218c1585469a88df713fb1380afa8ca1f8f708ae3c4c4f06a67 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hggoldgapgl-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o protVar.o -c protVar.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hggoldgapgl-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o pgSnp.o -c pgSnp.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hggoldgapgl-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o alignInfo.o -c alignInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hggoldgapgl-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o cddInfo.o -c cddInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hggoldgapgl-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o loweutils.o -c loweutils.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hggoldgapgl-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o cddDesc.o -c cddDesc.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hggoldgapgl-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o arCOGs.o -c arCOGs.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hggoldgapgl-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o arcogdesc.o -c arcogdesc.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hggoldgapgl-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o geneTree.o -c geneTree.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hggoldgapgl-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o megablastInfo.o -c megablastInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hggoldgapgl-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o pgPhenoAssoc.o -c pgPhenoAssoc.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hggoldgapgl-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o pgSiftPred.o -c pgSiftPred.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hggoldgapgl-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o pgPolyphenPred.o -c pgPolyphenPred.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hggoldgapgl-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o userRegions.o -c userRegions.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hggoldgapgl-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o variome.o -c variome.c + ar rcus ../../lib/x86_64/jkhgap.a acemblyClass.o adjacency.o affyAllExonProbe.o affyAtlas.o affy10KDetails.o affy120KDetails.o affyOffset.o affyPairs.o agp.o agpFrag.o agpGap.o alignSeqSizes.o altGraph.o altGraphX.o ancientRref.o annoFormatVep.o annoGratorGpVar.o annoGrateWigDb.o annoStreamDb.o annoStreamDbFactorSource.o annoStreamDbPslPlus.o annoStreamWig.o api.o atomDb.o autoUpgrade.o axtInfo.o axtLib.o bactigPos.o hgBam.o barChartBed.o barChartCategory.o barChartUi.o barChartData.o barChartSample.o baseMaskCommon.o bdgpExprLink.o bdgpGeneInfo.o bed.o bed5FloatScore.o bed5Pval.o bed6FloatScore.o bed8Attrs.o bed12Source.o bed12wSeq.o bedCart.o bgiGeneInfo.o bgiGeneSnp.o bgiSnp.o bigBedFind.o bigBedLabel.o bigGenePred.o bigPsl.o bigTransMap.o bioImage.o blastTab.o blastzNet.o blatServers.o borf.o borkPseudoHom.o botDelay.o cart.o cartDb.o cartJson.o cartTrackDb.o cdsEvidence.o cdsOrtho.o cdsPick.o cdsSpec.o ccdsInfo.o ccdsNotes.o ccdsGeneMap.o celeraCoverage.o celeraDupPositive.o cgapSage/cgapSage.o cgapSage/cgapSageLib.o cgh.o chainCart.o chainDb.o chainLink.o chainNet.o chainNetDbLoad.o chicken13kInfo.o chromBins.o chromAlias.o chr18deletions.o chromGraph.o chromGraphFactory.o chromInfo.o chromInserts.o chromKeeper.o clonePos.o codeBlast.o codeBlastScore.o cogs.o cogsxra.o columnInfo.o contigAcc.o coordConv.o cnpIafrate.o cnpIafrate2.o cnpLocke.o cnpRedon.o cnpSebat.o cnpSebat2.o cnpSharp2.o cnpSharpCutoff.o cnpSharpSample.o cnpSharp.o cpgIsland.o cpgIslandExt.o ctgPos.o ctgPos2.o customComposite.o bedDetail.o cgiApoptosis.o customAdjacency.o customFactory.o customPp.o customTrack.o cutter.o cv.o cytoBand.o dbDb.o dbRIP.o dbSnpRs.o defaultDb.o delConrad2.o delHinds2.o dgv.o dgvPlus.o dless.o dnaMotifSql.o dnaMarkovSql.o dnaProbe.o dv.o dvBed.o dvXref2.o easyGene.o ec.o ecCode.o ecAttribute.o ecAttributeCode.o encode/encodeErge.o encode/encodeErgeHssCellLines.o encode/encodeHapMapAlleleFreq.o encode/encodeIndels.o encode/encodePeak.o encode/encodeRegionInfo.o encode/encodeRegionInfoCustom.o encode/encodeRna.o encode/encodeStanfordPromoters.o encode/encodeStanfordPromotersAverage.o encode/pairedTagAlign.o encode/peptideMapping.o encode/tagAlign.o encode/wgEncodeGencodeAttrs.o encode/wgEncodeGencodeExonSupport.o encode/wgEncodeGencodeEntrezGene.o encode/wgEncodeGencodeTag.o encode/wgEncodeGencodeGeneSymbol.o encode/wgEncodeGencodePdb.o encode/wgEncodeGencodePubMed.o encode/wgEncodeGencodeRefSeq.o encode/wgEncodeGencodeGeneSource.o encode/wgEncodeGencodeTranscriptSource.o encode/wgEncodeGencodeTranscriptSupport.o encode/wgEncodeGencodeTranscriptionSupportLevel.o encode/wgEncodeGencodeUniProt.o encode/wgEncodeGencodePolyAFeature.o encode/wgEncodeGencodeAnnotationRemark.o encode/wgEncodeCell.o encode/encodeExp.o encode3/encode2Manifest.o encode3/encode3Valid.o ensFace.o ensInfo.o ensPhusionBlast.o ensXRefZfish.o est3.o estOrientInfo.o estPair.o exoFish.o expData.o expRecord.o exprBed.o facetField.o factorSource.o fbTables.o featureBits.o fileUi.o findKGAlias.o findKGProtAlias.o fishClones.o flyBase2004Xref.o flyBaseSwissProt.o flyreg.o flyreg2.o gbExtFile.o gbWarn.o gbMiscDiff.o gbProtAnn.o gcPercent.o gbSeq.o genbank.o genbankBlackList.o gencodeGeneClass.o gencodeIntron.o genMapDb.o geneBands.o geneCheck.o geneCheckDetails.o geneCheckWidget.o geneGraph.o genePred.o genePredReader.o geneSimilarities.o genoLay.o genomeRangeTreeFile.o genomicDups.o genomicSuperDups.o geoMirror.o ggCluster.o ggDbIo.o ggDump.o ggGraph.o ggMrnaAli.o ggTypes.o glDbRep.o goa.o goaPart.o googleAnalytics.o gpFx.o growthCondition.o grp.o gtexAse.o gtexBoxplot.o gtexEqtlCluster.o gtexInfo.o gtexDonor.o gtexGeneBed.o gtexSample.o gtexSampleData.o gtexTissue.o gtexTissueData.o gtexTissueMedian.o gtexUi.o gwasCatalog.o hAnno.o haplotypes.o hapmapAllelesOrtho.o hapmapAllelesSummary.o hapmapPhaseIIISummary.o hapmapSnps.o hapmapSnpsCombined.o hashJoin.o hCommon.o hCytoBand.o hdb.o hgColors.o hgConfig.o hgExp.o hgFind.o hgFindSpec.o hgFindSpecCustom.o hgHgvs.o hgHgvsParse.o hgGene.o hgMaf.o hgRelate.o hgSeq.o hgdpGeo.o hPrint.o hVarSubst.o hvGfx.o HInv.o hubConnect.o hubSearchText.o hui.o humanParalog.o imageClone.o indelShift.o interact.o interactUi.o isochores.o ispyTables.o itemAttr.o itemConf.o itemDetailsHtml.o jalview.o jaxOrtholog.o jaxQTL.o jaxQTL3.o jksql.o joiner.o jsHelper.o kg1ToKg2.o jgiGene.o joinMixer.o kgAlias.o kgColor.o kgProtAlias.o kgXref.o knownInfo.o knownMore.o knownToSuper.o lav.o ld.o ld2.o lfs.o liftOver.o liftOverChain.o liftUp.o llaInfo.o longRange.o lrg.o lsSnpPdb.o lsSnpPdbChimera.o mafFrames.o mafGene.o mafSummary.o makeItemsItem.o mammalPsg.o mapSts.o mathWig.o mcnBreakpoints.o mdb.o metaChromGraph.o microarray.o minChromSize.o minGeneInfo.o mrnaMisMatch.o mouseOrtho.o mouseSyn.o mouseSynWhd.o mysqlTableStatus.o ncbiRefLink.o ncbiRefSeqLink.o netAlign.o netCart.o nonCodingUi.o omimTitle.o ooUtils.o orthoAlleles.o pal.o pbStamp.o pcrResult.o pepPred.o peptideAtlasPeptide.o plasEndPairs.o polyGenotype.o protFeat.o pscreen.o pseudoGeneLink.o pslReader.o pslWScore.o putaInfo.o qaSeq.o rangeTreeFile.o rankProp.o recombRate.o recombRateRat.o recombRateMouse.o refLink.o refSeqStatus.o rgdQtl.o riken.o rhMapZfishInfo.o rikenBest.o rikenCluster.o rmskOut.o rmskAlign.o rmskJoined.o rmskOut2.o rnaFold.o rnaGene.o rnaGroup.o rnaHybridization.o rnaPLFold.o tRNAs.o gbRNAs.o snoRNAs.o lowelabPfamHit.o lowelabArkinOperonScore.o lowelabTIGROperonScore.o rnaSecStr.o tfbsConsFactors.o roughAli.o transMapStuff.o transMapInfo.o transMapGene.o transMapSrc.o sage.o sageCounts.o sageExp.o samAlignment.o sample.o sanger22extra.o sangerGene.o sangerGeneToWBGeneID.o sargassoSeaXra.o scopDes.o scoredRef.o search.o seqWindow.o sessionThumbnail.o sgdAbundance.o sgdClone.o sgdDescription.o sgdOther.o simpleNucDiff.o simpleRepeat.o snakeUi.o snp.o snp125.o snp125CodingCoordless.o snp132Ext.o snpExceptions.o snpFasta.o snpMap.o snpTmp.o snpUi.o snp125Exceptions.o snp125Ui.o softPromoter.o softberryHom.o soTerm.o spDb.o splignAlign.o sqlSanity.o stanMad.o stsAlias.o stsInfo.o stsInfo2.o stsInfoMouse.o stsInfoMouseNew.o stsInfoRat.o stsMap.o stsMapMouse.o stsMapMouseNew.o stsMapRat.o stsMarker.o suggest.o switchDbTss.o synMap.o synteny100000.o syntenyBerk.o syntenySanger.o sqlProg.o tfbsCons.o tfbsConsSites.o tablesTables.o tableDescriptions.o tableStatus.o targetDb.o tfbsConsMap.o tagRepo.o taxonDivision.o taxonGeneticCode.o taxonName.o taxonNode.o taxonXref.o tigrCmrGene.o tigrOperon.o tilingPath.o traceInfo.o trackDb.o trackDbCustom.o trackHub.o trackLayout.o trackTable.o trackVersion.o trashDir.o transRegCode.o transRegCodeCondition.o transRegCodeProbe.o txAliDiff.o txCluster.o txCommon.o txEdgeBed.o txEdgeOrtho.o txGraph.o txInfo.o txRnaAccs.o ucscRetroInfo.o ucscRetroOrtho.o validateGisaid.o variant.o variantProjector.o vcfUi.o vegaInfo.o vegaInfoZfish.o visiGene.o vntr.o wabAli.o web.o ncRna.o wgRna.o wigAsciiToBinary.o wigDataStream.o wiggle.o wiggleCart.o wiggleUtils.o wikiLink.o wikiTrack.o yaleGencodeAssoc.o zdobnovSynt.o oreganno.o oregannoUi.o gvUi.o gv.o omicia.o protVar.o pgSnp.o alignInfo.o cddInfo.o loweutils.o cddDesc.o arCOGs.o arcogdesc.o geneTree.o megablastInfo.o pgPhenoAssoc.o pgSiftPred.o pgPolyphenPred.o userRegions.o variome.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hggoldgapgl-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -o hgGoldGapGl.o -c hgGoldGapGl.c + hgGoldGapGl.c: In function 'makeGoldAndGap': + hgGoldGapGl.c:213:5: warning: 'splitPath' accessing 512 bytes in a region of size 256 [-Wstringop-overflow=] + 213 | splitPath(agpName, dir, chrom, ext); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + hgGoldGapGl.c:213:5: note: referencing argument 2 of type 'char[512]' + hgGoldGapGl.c:213:5: note: referencing argument 3 of type 'char[128]' + hgGoldGapGl.c:213:5: note: referencing argument 4 of type 'char[64]' + In file included from hgGoldGapGl.c:5: + ../../../inc/common.h:1104:6: note: in a call to function 'splitPath' + 1104 | void splitPath(char *path, char dir[PATH_LEN], char name[FILENAME_LEN], + | ^~~~~~~~~ + hgGoldGapGl.c: In function 'makeGl': + hgGoldGapGl.c:305:5: warning: 'splitPath' accessing 512 bytes in a region of size 256 [-Wstringop-overflow=] + 305 | splitPath(glFileName, dir, chrom, ext); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + hgGoldGapGl.c:305:5: note: referencing argument 2 of type 'char[512]' + hgGoldGapGl.c:305:5: note: referencing argument 3 of type 'char[128]' + hgGoldGapGl.c:305:5: note: referencing argument 4 of type 'char[64]' + ../../../inc/common.h:1104:6: note: in a call to function 'splitPath' + 1104 | void splitPath(char *path, char dir[PATH_LEN], char name[FILENAME_LEN], + | ^~~~~~~~~ + hgGoldGapGl.c: In function 'makeGoldAndGap': + hgGoldGapGl.c:216:26: warning: '_gold' directive writing 5 bytes into a region of size between 1 and 128 [-Wformat-overflow=] + 216 | sprintf(goldName, "%s_gold", chrom); + | ^~~~~ + hgGoldGapGl.c:216:5: note: 'sprintf' output between 6 and 133 bytes into a destination of size 128 + 216 | sprintf(goldName, "%s_gold", chrom); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + hgGoldGapGl.c:217:25: warning: '_gap' directive writing 4 bytes into a region of size between 1 and 128 [-Wformat-overflow=] + 217 | sprintf(gapName, "%s_gap", chrom); + | ^~~~ + hgGoldGapGl.c:217:5: note: 'sprintf' output between 5 and 132 bytes into a destination of size 128 + 217 | sprintf(gapName, "%s_gap", chrom); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + hgGoldGapGl.c: In function 'makeGl': + hgGoldGapGl.c:306:25: warning: '_gl' directive writing 3 bytes into a region of size between 1 and 128 [-Wformat-overflow=] + 306 | sprintf(glTable, "%s_gl", chrom); + | ^~~ + hgGoldGapGl.c:306:5: note: 'sprintf' output between 4 and 131 bytes into a destination of size 128 + 306 | sprintf(glTable, "%s_gl", chrom); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + hgGoldGapGl.c: In function 'makeCloneVerHash': + hgGoldGapGl.c:338:5: warning: '__builtin_strncpy' specified bound 32 equals destination size [-Wstringop-truncation] + 338 | strncpy(acc, row[0], sizeof(acc)); + | ^~~~~~~ + hgGoldGapGl.c: In function 'hgGoldGapGl': + hgGoldGapGl.c:394:37: warning: 'sprintf' may write a terminating nul past the end of the destination [-Wformat-overflow=] + 394 | sprintf(pathName, "%s/%s", ooDir, chrFi->name); + | ^ + hgGoldGapGl.c:394:13: note: 'sprintf' output 2 or more bytes (assuming 513) into a destination of size 512 + 394 | sprintf(pathName, "%s/%s", ooDir, chrFi->name); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hggoldgapgl-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -o ntContig.o -c ntContig.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -o $SRC_DIR/bin/hgGoldGapGl \ + hgGoldGapGl.o ntContig.o ../../../lib/x86_64/jkhgap.a ../../../lib/x86_64/jkweb.a -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -lpthread -lssl -lcrypto ../../../htslib/libhts.a -L$PREFIX/lib -lpng16 -lm -lz -L$PREFIX/lib -lmysqlclient -lstdc -lrt -lm + /opt/conda/conda-bld/ucsc-hggoldgapgl_1724781897900/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkhgap.a(trackHub.o):/usr/local/src/conda/ucsc-hggoldgapgl-377/kent/src/hg/lib/../../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-hggoldgapgl-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-hggoldgapgl_1724781897900/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkhgap.a(web.o):/usr/local/src/conda/ucsc-hggoldgapgl-377/kent/src/hg/lib/../../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-hggoldgapgl-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-hggoldgapgl_1724781897900/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkhgap.a(wikiLink.o):/usr/local/src/conda/ucsc-hggoldgapgl-377/kent/src/hg/lib/../../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-hggoldgapgl-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-hggoldgapgl_1724781897900/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkhgap.a(cart.o):/usr/local/src/conda/ucsc-hggoldgapgl-377/kent/src/hg/lib/../../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-hggoldgapgl-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-hggoldgapgl_1724781897900/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkhgap.a(hPrint.o):/usr/local/src/conda/ucsc-hggoldgapgl-377/kent/src/hg/lib/../../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-hggoldgapgl-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-hggoldgapgl_1724781897900/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkweb.a(bamFile.o):/usr/local/src/conda/ucsc-hggoldgapgl-377/kent/src/lib/../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-hggoldgapgl-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-hggoldgapgl_1724781897900/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkweb.a(cheapcgi.o):/usr/local/src/conda/ucsc-hggoldgapgl-377/kent/src/lib/../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-hggoldgapgl-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-hggoldgapgl_1724781897900/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkweb.a(htmlPage.o):/usr/local/src/conda/ucsc-hggoldgapgl-377/kent/src/lib/../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-hggoldgapgl-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-hggoldgapgl_1724781897900/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkweb.a(htmshell.o):/usr/local/src/conda/ucsc-hggoldgapgl-377/kent/src/lib/../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-hggoldgapgl-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-hggoldgapgl_1724781897900/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkweb.a(portimpl.o):/usr/local/src/conda/ucsc-hggoldgapgl-377/kent/src/lib/../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-hggoldgapgl-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + collect2: error: ld returned 1 exit status + make: *** [makefile:14: hgGoldGapGl] Error 1 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/ucsc-hggoldgapgl_1724781897900/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/ucsc-hgloadbed/build.sh b/recipes/ucsc-hgloadbed/build.sh index 6c0b79016fe23..62d56d66a98c7 100644 --- a/recipes/ucsc-hgloadbed/build.sh +++ b/recipes/ucsc-hgloadbed/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/makeDb/hgLoadBed && make) -cp bin/hgLoadBed "$PREFIX/bin" -chmod +x "$PREFIX/bin/hgLoadBed" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/makeDb/hgLoadBed && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/hgLoadBed "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/hgLoadBed" diff --git a/recipes/ucsc-hgloadbed/include.patch b/recipes/ucsc-hgloadbed/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-hgloadbed/include.patch +++ b/recipes/ucsc-hgloadbed/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-hgloadbed/meta.yaml b/recipes/ucsc-hgloadbed/meta.yaml index c14a6b24bfc5f..d10d7a94dec54 100644 --- a/recipes/ucsc-hgloadbed/meta.yaml +++ b/recipes/ucsc-hgloadbed/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-hgloadbed" %} {% set program = "hgLoadBed" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Load a generic bed file into database" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-hgloadchain/build.sh b/recipes/ucsc-hgloadchain/build.sh index 7733176a98e61..0836ef0a2b3a4 100644 --- a/recipes/ucsc-hgloadchain/build.sh +++ b/recipes/ucsc-hgloadchain/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/makeDb/hgLoadChain && make) -cp bin/hgLoadChain "$PREFIX/bin" -chmod +x "$PREFIX/bin/hgLoadChain" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/makeDb/hgLoadChain && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/hgLoadChain "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/hgLoadChain" diff --git a/recipes/ucsc-hgloadchain/include.patch b/recipes/ucsc-hgloadchain/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-hgloadchain/include.patch +++ b/recipes/ucsc-hgloadchain/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-hgloadchain/meta.yaml b/recipes/ucsc-hgloadchain/meta.yaml index a37db8bb33d55..b251f71789efa 100644 --- a/recipes/ucsc-hgloadchain/meta.yaml +++ b/recipes/ucsc-hgloadchain/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-hgloadchain" %} {% set program = "hgLoadChain" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Load a generic Chain file into database" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-hgloadmaf/build.sh b/recipes/ucsc-hgloadmaf/build.sh index 2ae0cbe492abd..6e858c951b003 100644 --- a/recipes/ucsc-hgloadmaf/build.sh +++ b/recipes/ucsc-hgloadmaf/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/makeDb/hgLoadMaf && make) -cp bin/hgLoadMaf "$PREFIX/bin" -chmod +x "$PREFIX/bin/hgLoadMaf" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/makeDb/hgLoadMaf && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/hgLoadMaf "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/hgLoadMaf" diff --git a/recipes/ucsc-hgloadmaf/include.patch b/recipes/ucsc-hgloadmaf/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-hgloadmaf/include.patch +++ b/recipes/ucsc-hgloadmaf/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-hgloadmaf/meta.yaml b/recipes/ucsc-hgloadmaf/meta.yaml index 19b53f7e81296..b16d0a55d7962 100644 --- a/recipes/ucsc-hgloadmaf/meta.yaml +++ b/recipes/ucsc-hgloadmaf/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-hgloadmaf" %} {% set program = "hgLoadMaf" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Load a maf file index into the database" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-hgloadnet/build.sh b/recipes/ucsc-hgloadnet/build.sh index afd005fbf3b31..44361aee149dc 100644 --- a/recipes/ucsc-hgloadnet/build.sh +++ b/recipes/ucsc-hgloadnet/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/makeDb/hgLoadNet && make) -cp bin/hgLoadNet "$PREFIX/bin" -chmod +x "$PREFIX/bin/hgLoadNet" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/makeDb/hgLoadNet && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/hgLoadNet "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/hgLoadNet" diff --git a/recipes/ucsc-hgloadnet/include.patch b/recipes/ucsc-hgloadnet/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-hgloadnet/include.patch +++ b/recipes/ucsc-hgloadnet/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-hgloadnet/meta.yaml b/recipes/ucsc-hgloadnet/meta.yaml index 29d2d37aa891a..34ae43d661357 100644 --- a/recipes/ucsc-hgloadnet/meta.yaml +++ b/recipes/ucsc-hgloadnet/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-hgloadnet" %} {% set program = "hgLoadNet" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Load a generic net file into database" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-hgloadout/build.sh b/recipes/ucsc-hgloadout/build.sh index bcbdfa0686952..19021359dacaf 100644 --- a/recipes/ucsc-hgloadout/build.sh +++ b/recipes/ucsc-hgloadout/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/makeDb/hgLoadOut && make) -cp bin/hgLoadOut "$PREFIX/bin" -chmod +x "$PREFIX/bin/hgLoadOut" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/makeDb/hgLoadOut && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/hgLoadOut "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/hgLoadOut" diff --git a/recipes/ucsc-hgloadout/include.patch b/recipes/ucsc-hgloadout/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-hgloadout/include.patch +++ b/recipes/ucsc-hgloadout/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-hgloadout/meta.yaml b/recipes/ucsc-hgloadout/meta.yaml index 589de17eb66f8..f1abed39bf9f8 100644 --- a/recipes/ucsc-hgloadout/meta.yaml +++ b/recipes/ucsc-hgloadout/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-hgloadout" %} {% set program = "hgLoadOut" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "load RepeatMasker .out files into database" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-hgloadoutjoined/build.sh b/recipes/ucsc-hgloadoutjoined/build.sh index 52f973bd6094f..1dd85c8321304 100644 --- a/recipes/ucsc-hgloadoutjoined/build.sh +++ b/recipes/ucsc-hgloadoutjoined/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/makeDb/hgLoadOutJoined && make) -cp bin/hgLoadOutJoined "$PREFIX/bin" -chmod +x "$PREFIX/bin/hgLoadOutJoined" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/makeDb/hgLoadOutJoined && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/hgLoadOutJoined "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/hgLoadOutJoined" diff --git a/recipes/ucsc-hgloadoutjoined/include.patch b/recipes/ucsc-hgloadoutjoined/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-hgloadoutjoined/include.patch +++ b/recipes/ucsc-hgloadoutjoined/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-hgloadoutjoined/meta.yaml b/recipes/ucsc-hgloadoutjoined/meta.yaml index 7a8f58d48adf8..530efb471e395 100644 --- a/recipes/ucsc-hgloadoutjoined/meta.yaml +++ b/recipes/ucsc-hgloadoutjoined/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-hgloadoutjoined" %} {% set program = "hgLoadOutJoined" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "load new style (2014) RepeatMasker .out files into database" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-hgloadsqltab/build.sh b/recipes/ucsc-hgloadsqltab/build.sh index 6b583d73e1561..943bf9b400cec 100644 --- a/recipes/ucsc-hgloadsqltab/build.sh +++ b/recipes/ucsc-hgloadsqltab/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/makeDb/hgLoadSqlTab && make) -cp bin/hgLoadSqlTab "$PREFIX/bin" -chmod +x "$PREFIX/bin/hgLoadSqlTab" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/makeDb/hgLoadSqlTab && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/hgLoadSqlTab "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/hgLoadSqlTab" diff --git a/recipes/ucsc-hgloadsqltab/include.patch b/recipes/ucsc-hgloadsqltab/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-hgloadsqltab/include.patch +++ b/recipes/ucsc-hgloadsqltab/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-hgloadsqltab/meta.yaml b/recipes/ucsc-hgloadsqltab/meta.yaml index a66bbbbb50a27..1ae390c3c6a3f 100644 --- a/recipes/ucsc-hgloadsqltab/meta.yaml +++ b/recipes/ucsc-hgloadsqltab/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-hgloadsqltab" %} {% set program = "hgLoadSqlTab" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Load table into database from SQL and text files." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-hgloadwiggle/build.sh b/recipes/ucsc-hgloadwiggle/build.sh index 8530d3cc9a930..5a8736a672f80 100644 --- a/recipes/ucsc-hgloadwiggle/build.sh +++ b/recipes/ucsc-hgloadwiggle/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/makeDb/hgLoadWiggle && make) -cp bin/hgLoadWiggle "$PREFIX/bin" -chmod +x "$PREFIX/bin/hgLoadWiggle" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/makeDb/hgLoadWiggle && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/hgLoadWiggle "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/hgLoadWiggle" diff --git a/recipes/ucsc-hgloadwiggle/include.patch b/recipes/ucsc-hgloadwiggle/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-hgloadwiggle/include.patch +++ b/recipes/ucsc-hgloadwiggle/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-hgloadwiggle/meta.yaml b/recipes/ucsc-hgloadwiggle/meta.yaml index 6859a90c405b5..e8e2571e9013b 100644 --- a/recipes/ucsc-hgloadwiggle/meta.yaml +++ b/recipes/ucsc-hgloadwiggle/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-hgloadwiggle" %} {% set program = "hgLoadWiggle" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Load a wiggle track definition into database" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-hgspeciesrna/build.sh b/recipes/ucsc-hgspeciesrna/build.sh index b6858f027c0a5..1af260d069942 100644 --- a/recipes/ucsc-hgspeciesrna/build.sh +++ b/recipes/ucsc-hgspeciesrna/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/hgSpeciesRna && make) -cp bin/hgSpeciesRna "$PREFIX/bin" -chmod +x "$PREFIX/bin/hgSpeciesRna" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/hgSpeciesRna && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/hgSpeciesRna "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/hgSpeciesRna" diff --git a/recipes/ucsc-hgspeciesrna/include.patch b/recipes/ucsc-hgspeciesrna/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-hgspeciesrna/include.patch +++ b/recipes/ucsc-hgspeciesrna/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-hgspeciesrna/meta.yaml b/recipes/ucsc-hgspeciesrna/meta.yaml index 5970a38722898..26e0337c640e6 100644 --- a/recipes/ucsc-hgspeciesrna/meta.yaml +++ b/recipes/ucsc-hgspeciesrna/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-hgspeciesrna" %} {% set program = "hgSpeciesRna" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Create fasta file with RNA from one species" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-hgsqldump/build.sh b/recipes/ucsc-hgsqldump/build.sh index 80671787650fb..dbee464b271c9 100644 --- a/recipes/ucsc-hgsqldump/build.sh +++ b/recipes/ucsc-hgsqldump/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/hgsqldump && make) -cp bin/hgsqldump "$PREFIX/bin" -chmod +x "$PREFIX/bin/hgsqldump" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/hgsqldump && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/hgsqldump "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/hgsqldump" diff --git a/recipes/ucsc-hgsqldump/include.patch b/recipes/ucsc-hgsqldump/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-hgsqldump/include.patch +++ b/recipes/ucsc-hgsqldump/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-hgsqldump/meta.yaml b/recipes/ucsc-hgsqldump/meta.yaml index 9b1ffe0672543..cf837117dbedc 100644 --- a/recipes/ucsc-hgsqldump/meta.yaml +++ b/recipes/ucsc-hgsqldump/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-hgsqldump" %} {% set program = "hgsqldump" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Execute mysqldump using passwords from .hg.conf" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-hgtrackdb/build.sh b/recipes/ucsc-hgtrackdb/build.sh index e1b8ac6e65c4f..106bc9b2835e1 100644 --- a/recipes/ucsc-hgtrackdb/build.sh +++ b/recipes/ucsc-hgtrackdb/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/makeDb/hgTrackDb && make) -cp bin/hgTrackDb "$PREFIX/bin" -chmod +x "$PREFIX/bin/hgTrackDb" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/makeDb/hgTrackDb && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/hgTrackDb "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/hgTrackDb" diff --git a/recipes/ucsc-hgtrackdb/build_failure.linux-64.yaml b/recipes/ucsc-hgtrackdb/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..1a5cc3996bd96 --- /dev/null +++ b/recipes/ucsc-hgtrackdb/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 4f8702f06ec982e425c34372c9753e61d8588e2d622c1c37d09bde19d1f58d12 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o quickLift.o -c quickLift.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o quickLiftChain.o -c quickLiftChain.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rankProp.o -c rankProp.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o refLink.o -c refLink.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o refSeqStatus.o -c refSeqStatus.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rikenCluster.o -c rikenCluster.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rmskAlign.o -c rmskAlign.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rmskJoined.o -c rmskJoined.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rmskOut.o -c rmskOut.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rmskOut2.o -c rmskOut2.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rnaGene.o -c rnaGene.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sage.o -c sage.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sageCounts.o -c sageCounts.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o samAlignment.o -c samAlignment.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sample.o -c sample.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sanger22extra.o -c sanger22extra.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o scoredRef.o -c scoredRef.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o seqWindow.o -c seqWindow.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o snakeUi.o -c snakeUi.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o snp.o -c snp.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o snpExceptions.o -c snpExceptions.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o soTerm.o -c soTerm.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o spDb.o -c spDb.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sqlProg.o -c sqlProg.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sqlSanity.o -c sqlSanity.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o stanMad.o -c stanMad.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o stsAlias.o -c stsAlias.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o stsInfo2.o -c stsInfo2.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o stsMap.o -c stsMap.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o stsMarker.o -c stsMarker.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tableStatus.o -c tableStatus.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tablesTables.o -c tablesTables.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tagRepo.o -c tagRepo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tfbsCons.o -c tfbsCons.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tigrCmrGene.o -c tigrCmrGene.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o traceInfo.o -c traceInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackDb.o -c trackDb.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackDbCache.o -c trackDbCache.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackDbCustom.o -c trackDbCustom.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackHub.o -c trackHub.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackVersion.o -c trackVersion.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trashDir.o -c trashDir.c + trackDbCustom.c: In function 'trackDbInclude': + trackDbCustom.c:294:5: warning: 'splitPath' accessing 512 bytes in a region of size 256 [-Wstringop-overflow=] + 294 | splitPath(raFile, incFile, NULL, NULL); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + trackDbCustom.c:294:5: note: referencing argument 2 of type 'char[512]' + trackDbCustom.c:294:5: note: referencing argument 3 of type 'char[128]' + trackDbCustom.c:294:5: note: referencing argument 4 of type 'char[64]' + In file included from trackDbCustom.c:9: + ../../inc/common.h:1139:6: note: in a call to function 'splitPath' + 1139 | void splitPath(char *path, char dir[PATH_LEN], char name[FILENAME_LEN], + | ^~~~~~~~~ + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txAliDiff.o -c txAliDiff.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txCluster.o -c txCluster.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txCommon.o -c txCommon.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txEdgeBed.o -c txEdgeBed.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txGraph.o -c txGraph.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txInfo.o -c txInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txRnaAccs.o -c txRnaAccs.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o variantProjector.o -c variantProjector.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vcfUi.o -c vcfUi.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vegaInfo.o -c vegaInfo.c + sed -e 's/\\/\\\\/g; s/"/\\"/g; s/^/"/; s/$/\\n"/;' jWestHeader.html > jWestHeader.h + sed -e 's/\\/\\\\/g; s/"/\\"/g; s/^/"/; s/$/\\n"/;' jWestBanner.html > jWestBanner.h + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wigAsciiToBinary.o -c wigAsciiToBinary.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wigDataStream.o -c wigDataStream.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggle.o -c wiggle.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggleCart.o -c wiggleCart.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggleUtils.o -c wiggleUtils.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wikiLink.o -c wikiLink.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o bigRmskAlignBed.o -c bigRmskAlignBed.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o bigRmskBed.o -c bigRmskBed.c + mkdir -p ../../lib/x86_64 + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o web.o -c web.c + ar rcus ../../lib/x86_64/jkhgap.a adjacency.o affyPairs.o agpFrag.o agpGap.o alignSeqSizes.o altGraphX.o asmAlias.o asmEquivalent.o asmSummary.o autoUpgrade.o axtInfo.o barChartBed.o barChartCategory.o barChartUi.o bed.o bed12Source.o bedDetail.o bigBedFind.o bigBedLabel.o bigChain.o bigDbSnp.o bigGenePred.o bigLink.o bigPsl.o blastTab.o borf.o botDelay.o cart.o cartDb.o cdsEvidence.o cdsOrtho.o cdsPick.o cgapSage/cgapSage.o cgapSage/cgapSageLib.o cgiApoptosis.o chainCart.o chainDb.o chainLink.o chainNet.o chainNetDbLoad.o chromAlias.o chromBins.o chromGraph.o chromGraphFactory.o chromInfo.o chromInserts.o chromKeeper.o clonePos.o cpgIsland.o ctgPos.o customAdjacency.o customComposite.o customFactory.o customPp.o customTrack.o cv.o cytoBand.o dbDb.o decoration.o decoratorUi.o defaultDb.o dnaMotifSql.o dupTrack.o encode/encodeErge.o encode/encodeErgeHssCellLines.o encode/encodeExp.o encode/encodeHapMapAlleleFreq.o encode/encodeIndels.o encode/encodePeak.o encode/encodeRegionInfoCustom.o encode/encodeRna.o encode/encodeStanfordPromoters.o encode/encodeStanfordPromotersAverage.o encode/peptideMapping.o encode/wgEncodeGencodeAnnotationRemark.o encode/wgEncodeGencodeAttrs.o encode/wgEncodeGencodeEntrezGene.o encode/wgEncodeGencodeExonSupport.o encode/wgEncodeGencodeGeneSource.o encode/wgEncodeGencodeGeneSymbol.o encode/wgEncodeGencodePdb.o encode/wgEncodeGencodePubMed.o encode/wgEncodeGencodeRefSeq.o encode/wgEncodeGencodeTag.o encode/wgEncodeGencodeTranscriptSource.o encode/wgEncodeGencodeTranscriptSupport.o encode/wgEncodeGencodeTranscriptionSupportLevel.o encode/wgEncodeGencodeUniProt.o encode3/encode3Valid.o estOrientInfo.o expData.o exportedDataHubs.o expRecord.o facetField.o facetedTable.o featureBits.o findKGAlias.o fakeCurl.o findKGProtAlias.o gbSeq.o gbExtFile.o gcPercent.o genark.o genbank.o genbankBlackList.o gencodeTracksCommon.o gencodeAttrs.o gencodeToRefSeq.o geneGraph.o genePred.o genePredReader.o geoMirror.o ggCluster.o ggDump.o ggGraph.o ggMrnaAli.o ggTypes.o glDbRep.o googleAnalytics.o gpFx.o grp.o gtexAse.o gtexDonor.o gtexGeneBed.o gtexInfo.o gtexSample.o gtexSampleData.o gtexTissue.o gtexTissueMedian.o gtexUi.o hCommon.o hPrint.o hVarSubst.o hapmapAllelesOrtho.o hapmapPhaseIIISummary.o hapmapSnps.o hdb.o hgColors.o hgConfig.o hgFind.o hgFindSpec.o hgFindSpecCustom.o hgHgvs.o hgHgvsParse.o hgMaf.o hgRelate.o hic.o hicUi.o hubConnect.o hubPublic.o hubSearchText.o hui.o imageClone.o indelShift.o interact.o interactUi.o itemAttr.o jksql.o joiner.o jsHelper.o kgAlias.o kgProtAlias.o kgXref.o knownInfo.o knownMore.o lav.o lfs.o liftOver.o liftOverChain.o liftUp.o longRange.o lrg.o lsSnpPdb.o mafFrames.o mafGene.o mafSummary.o makeItemsItem.o mdb.o microarray.o minChromSize.o namedSessionDb.o netAlign.o netCart.o pepPred.o pgPhenoAssoc.o pgSnp.o pslReader.o qaSeq.o quickLift.o quickLiftChain.o rankProp.o refLink.o refSeqStatus.o rikenCluster.o rmskAlign.o rmskJoined.o rmskOut.o rmskOut2.o rnaGene.o sage.o sageCounts.o samAlignment.o sample.o sanger22extra.o scoredRef.o seqWindow.o snakeUi.o snp.o snpExceptions.o soTerm.o spDb.o sqlProg.o sqlSanity.o stanMad.o stsAlias.o stsInfo2.o stsMap.o stsMarker.o tableStatus.o tablesTables.o tagRepo.o tfbsCons.o tigrCmrGene.o traceInfo.o trackDb.o trackDbCache.o trackDbCustom.o trackHub.o trackVersion.o trashDir.o txAliDiff.o txCluster.o txCommon.o txEdgeBed.o txGraph.o txInfo.o txRnaAccs.o variantProjector.o vcfUi.o vegaInfo.o web.o wigAsciiToBinary.o wigDataStream.o wiggle.o wiggleCart.o wiggleUtils.o wikiLink.o bigRmskAlignBed.o bigRmskBed.o + cd kent/src/hg/makeDb/hgTrackDb + make CC=/opt/conda/conda-bld/ucsc-hgtrackdb_1724797961927/_build_env/bin/x86_64-conda-linux-gnu-cc CXX= 'CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /opt/conda/conda-bld/ucsc-hgtrackdb_1724797961927/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/include -fdebug-prefix-map=/opt/conda/conda-bld/ucsc-hgtrackdb_1724797961927/work=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=/opt/conda/conda-bld/ucsc-hgtrackdb_1724797961927/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,/opt/conda/conda-bld/ucsc-hgtrackdb_1724797961927/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib -Wl,-rpath-link,/opt/conda/conda-bld/ucsc-hgtrackdb_1724797961927/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib -L/opt/conda/conda-bld/ucsc-hgtrackdb_1724797961927/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib -L/opt/conda/conda-bld/ucsc-hgtrackdb_1724797961927/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib' 'CXXFLAGS= -I/opt/conda/conda-bld/ucsc-hgtrackdb_1724797961927/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/include -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,/opt/conda/conda-bld/ucsc-hgtrackdb_1724797961927/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib -Wl,-rpath-link,/opt/conda/conda-bld/ucsc-hgtrackdb_1724797961927/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib -L/opt/conda/conda-bld/ucsc-hgtrackdb_1724797961927/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib -L/opt/conda/conda-bld/ucsc-hgtrackdb_1724797961927/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib' -j 4 + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgtrackdb-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -DUSE_HIC -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -o hgTrackDb.o -c hgTrackDb.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -o $SRC_DIR/bin/hgTrackDb hgTrackDb.o ../../../lib/x86_64/jkhgap.a ../../../lib/x86_64/jkweb.a -L$PREFIX/lib -lmysqlclient -lstdc -lrt -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -lpthread $PREFIX/lib/libssl.a $PREFIX/lib/libcrypto.a -ldl ../../../htslib/libhts.a -L$PREFIX/lib -lpng16 -lm -lz + /opt/conda/conda-bld/ucsc-hgtrackdb_1724797961927/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkweb.a(knetUdc.o): in function knetUdcInstall': + /usr/local/src/conda/ucsc-hgtrackdb-469/kent/src/lib/knetUdc.c:80: undefined reference to knet_init_alt' + collect2: error: ld returned 1 exit status + make: *** [../../../inc/userApp.mk:32: /opt/conda/conda-bld/ucsc-hgtrackdb_1724797961927/work/bin/hgTrackDb] Error 1 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/ucsc-hgtrackdb_1724797961927/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/ucsc-hgtrackdb/include.patch b/recipes/ucsc-hgtrackdb/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-hgtrackdb/include.patch +++ b/recipes/ucsc-hgtrackdb/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-hgtrackdb/meta.yaml b/recipes/ucsc-hgtrackdb/meta.yaml index dc17c36ddfcd2..551b65375b5f2 100644 --- a/recipes/ucsc-hgtrackdb/meta.yaml +++ b/recipes/ucsc-hgtrackdb/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-hgtrackdb" %} {% set program = "hgTrackDb" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Create trackDb table from text files." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-hgvstovcf/build_failure.linux-64.yaml b/recipes/ucsc-hgvstovcf/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..5246ca5955a05 --- /dev/null +++ b/recipes/ucsc-hgvstovcf/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: e623fe095996910ce2886e5861e4c5768349d26229f9006821887f1c8468ad5d # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + trackDbCustom.c:294:5: note: referencing argument 2 of type 'char[512]' + trackDbCustom.c:294:5: note: referencing argument 3 of type 'char[128]' + trackDbCustom.c:294:5: note: referencing argument 4 of type 'char[64]' + In file included from trackDbCustom.c:8: + ../../inc/common.h:1104:6: note: in a call to function 'splitPath' + 1104 | void splitPath(char *path, char dir[PATH_LEN], char name[FILENAME_LEN], + | ^~~~~~~~~ + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackHub.o -c trackHub.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackLayout.o -c trackLayout.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackTable.o -c trackTable.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackVersion.o -c trackVersion.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trashDir.o -c trashDir.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o transRegCode.o -c transRegCode.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o transRegCodeCondition.o -c transRegCodeCondition.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o transRegCodeProbe.o -c transRegCodeProbe.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txAliDiff.o -c txAliDiff.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txCluster.o -c txCluster.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txCommon.o -c txCommon.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txEdgeBed.o -c txEdgeBed.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txEdgeOrtho.o -c txEdgeOrtho.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txGraph.o -c txGraph.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txInfo.o -c txInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txRnaAccs.o -c txRnaAccs.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o ucscRetroInfo.o -c ucscRetroInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o ucscRetroOrtho.o -c ucscRetroOrtho.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o validateGisaid.o -c validateGisaid.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o variant.o -c variant.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o variantProjector.o -c variantProjector.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vcfUi.o -c vcfUi.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vegaInfo.o -c vegaInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vegaInfoZfish.o -c vegaInfoZfish.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o visiGene.o -c visiGene.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vntr.o -c vntr.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wabAli.o -c wabAli.c + sed -e 's/\\/\\\\/g; s/"/\\"/g; s/^/"/; s/$/\\n"/;' jWestHeader.html > jWestHeader.h + sed -e 's/\\/\\\\/g; s/"/\\"/g; s/^/"/; s/$/\\n"/;' jWestBanner.html > jWestBanner.h + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o web.o -c web.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o ncRna.o -c ncRna.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wgRna.o -c wgRna.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wigAsciiToBinary.o -c wigAsciiToBinary.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wigDataStream.o -c wigDataStream.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggle.o -c wiggle.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggleCart.o -c wiggleCart.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggleUtils.o -c wiggleUtils.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wikiLink.o -c wikiLink.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wikiTrack.o -c wikiTrack.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o yaleGencodeAssoc.o -c yaleGencodeAssoc.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o zdobnovSynt.o -c zdobnovSynt.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o oreganno.o -c oreganno.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o oregannoUi.o -c oregannoUi.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o gvUi.o -c gvUi.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o gv.o -c gv.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o omicia.o -c omicia.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o protVar.o -c protVar.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o pgSnp.o -c pgSnp.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o alignInfo.o -c alignInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o cddInfo.o -c cddInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o loweutils.o -c loweutils.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o cddDesc.o -c cddDesc.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o arCOGs.o -c arCOGs.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o arcogdesc.o -c arcogdesc.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o geneTree.o -c geneTree.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o megablastInfo.o -c megablastInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o pgPhenoAssoc.o -c pgPhenoAssoc.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o pgSiftPred.o -c pgSiftPred.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o pgPolyphenPred.o -c pgPolyphenPred.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o userRegions.o -c userRegions.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o variome.o -c variome.c + ar rcus ../../lib/x86_64/jkhgap.a acemblyClass.o adjacency.o affyAllExonProbe.o affyAtlas.o affy10KDetails.o affy120KDetails.o affyOffset.o affyPairs.o agp.o agpFrag.o agpGap.o alignSeqSizes.o altGraph.o altGraphX.o ancientRref.o annoFormatVep.o annoGratorGpVar.o annoGrateWigDb.o annoStreamDb.o annoStreamDbFactorSource.o annoStreamDbPslPlus.o annoStreamWig.o api.o atomDb.o autoUpgrade.o axtInfo.o axtLib.o bactigPos.o hgBam.o barChartBed.o barChartCategory.o barChartUi.o barChartData.o barChartSample.o baseMaskCommon.o bdgpExprLink.o bdgpGeneInfo.o bed.o bed5FloatScore.o bed5Pval.o bed6FloatScore.o bed8Attrs.o bed12Source.o bed12wSeq.o bedCart.o bgiGeneInfo.o bgiGeneSnp.o bgiSnp.o bigBedFind.o bigBedLabel.o bigGenePred.o bigPsl.o bigTransMap.o bioImage.o blastTab.o blastzNet.o blatServers.o borf.o borkPseudoHom.o botDelay.o cart.o cartDb.o cartJson.o cartTrackDb.o cdsEvidence.o cdsOrtho.o cdsPick.o cdsSpec.o ccdsInfo.o ccdsNotes.o ccdsGeneMap.o celeraCoverage.o celeraDupPositive.o cgapSage/cgapSage.o cgapSage/cgapSageLib.o cgh.o chainCart.o chainDb.o chainLink.o chainNet.o chainNetDbLoad.o chicken13kInfo.o chromBins.o chromAlias.o chr18deletions.o chromGraph.o chromGraphFactory.o chromInfo.o chromInserts.o chromKeeper.o clonePos.o codeBlast.o codeBlastScore.o cogs.o cogsxra.o columnInfo.o contigAcc.o coordConv.o cnpIafrate.o cnpIafrate2.o cnpLocke.o cnpRedon.o cnpSebat.o cnpSebat2.o cnpSharp2.o cnpSharpCutoff.o cnpSharpSample.o cnpSharp.o cpgIsland.o cpgIslandExt.o ctgPos.o ctgPos2.o customComposite.o bedDetail.o cgiApoptosis.o customAdjacency.o customFactory.o customPp.o customTrack.o cutter.o cv.o cytoBand.o dbDb.o dbRIP.o dbSnpRs.o defaultDb.o delConrad2.o delHinds2.o dgv.o dgvPlus.o dless.o dnaMotifSql.o dnaMarkovSql.o dnaProbe.o dv.o dvBed.o dvXref2.o easyGene.o ec.o ecCode.o ecAttribute.o ecAttributeCode.o encode/encodeErge.o encode/encodeErgeHssCellLines.o encode/encodeHapMapAlleleFreq.o encode/encodeIndels.o encode/encodePeak.o encode/encodeRegionInfo.o encode/encodeRegionInfoCustom.o encode/encodeRna.o encode/encodeStanfordPromoters.o encode/encodeStanfordPromotersAverage.o encode/pairedTagAlign.o encode/peptideMapping.o encode/tagAlign.o encode/wgEncodeGencodeAttrs.o encode/wgEncodeGencodeExonSupport.o encode/wgEncodeGencodeEntrezGene.o encode/wgEncodeGencodeTag.o encode/wgEncodeGencodeGeneSymbol.o encode/wgEncodeGencodePdb.o encode/wgEncodeGencodePubMed.o encode/wgEncodeGencodeRefSeq.o encode/wgEncodeGencodeGeneSource.o encode/wgEncodeGencodeTranscriptSource.o encode/wgEncodeGencodeTranscriptSupport.o encode/wgEncodeGencodeTranscriptionSupportLevel.o encode/wgEncodeGencodeUniProt.o encode/wgEncodeGencodePolyAFeature.o encode/wgEncodeGencodeAnnotationRemark.o encode/wgEncodeCell.o encode/encodeExp.o encode3/encode2Manifest.o encode3/encode3Valid.o ensFace.o ensInfo.o ensPhusionBlast.o ensXRefZfish.o est3.o estOrientInfo.o estPair.o exoFish.o expData.o expRecord.o exprBed.o facetField.o factorSource.o fbTables.o featureBits.o fileUi.o findKGAlias.o findKGProtAlias.o fishClones.o flyBase2004Xref.o flyBaseSwissProt.o flyreg.o flyreg2.o gbExtFile.o gbWarn.o gbMiscDiff.o gbProtAnn.o gcPercent.o gbSeq.o genbank.o genbankBlackList.o gencodeGeneClass.o gencodeIntron.o genMapDb.o geneBands.o geneCheck.o geneCheckDetails.o geneCheckWidget.o geneGraph.o genePred.o genePredReader.o geneSimilarities.o genoLay.o genomeRangeTreeFile.o genomicDups.o genomicSuperDups.o geoMirror.o ggCluster.o ggDbIo.o ggDump.o ggGraph.o ggMrnaAli.o ggTypes.o glDbRep.o goa.o goaPart.o googleAnalytics.o gpFx.o growthCondition.o grp.o gtexAse.o gtexBoxplot.o gtexEqtlCluster.o gtexInfo.o gtexDonor.o gtexGeneBed.o gtexSample.o gtexSampleData.o gtexTissue.o gtexTissueData.o gtexTissueMedian.o gtexUi.o gwasCatalog.o hAnno.o haplotypes.o hapmapAllelesOrtho.o hapmapAllelesSummary.o hapmapPhaseIIISummary.o hapmapSnps.o hapmapSnpsCombined.o hashJoin.o hCommon.o hCytoBand.o hdb.o hgColors.o hgConfig.o hgExp.o hgFind.o hgFindSpec.o hgFindSpecCustom.o hgHgvs.o hgHgvsParse.o hgGene.o hgMaf.o hgRelate.o hgSeq.o hgdpGeo.o hPrint.o hVarSubst.o hvGfx.o HInv.o hubConnect.o hubSearchText.o hui.o humanParalog.o imageClone.o indelShift.o interact.o interactUi.o isochores.o ispyTables.o itemAttr.o itemConf.o itemDetailsHtml.o jalview.o jaxOrtholog.o jaxQTL.o jaxQTL3.o jksql.o joiner.o jsHelper.o kg1ToKg2.o jgiGene.o joinMixer.o kgAlias.o kgColor.o kgProtAlias.o kgXref.o knownInfo.o knownMore.o knownToSuper.o lav.o ld.o ld2.o lfs.o liftOver.o liftOverChain.o liftUp.o llaInfo.o longRange.o lrg.o lsSnpPdb.o lsSnpPdbChimera.o mafFrames.o mafGene.o mafSummary.o makeItemsItem.o mammalPsg.o mapSts.o mathWig.o mcnBreakpoints.o mdb.o metaChromGraph.o microarray.o minChromSize.o minGeneInfo.o mrnaMisMatch.o mouseOrtho.o mouseSyn.o mouseSynWhd.o mysqlTableStatus.o ncbiRefLink.o ncbiRefSeqLink.o netAlign.o netCart.o nonCodingUi.o omimTitle.o ooUtils.o orthoAlleles.o pal.o pbStamp.o pcrResult.o pepPred.o peptideAtlasPeptide.o plasEndPairs.o polyGenotype.o protFeat.o pscreen.o pseudoGeneLink.o pslReader.o pslWScore.o putaInfo.o qaSeq.o rangeTreeFile.o rankProp.o recombRate.o recombRateRat.o recombRateMouse.o refLink.o refSeqStatus.o rgdQtl.o riken.o rhMapZfishInfo.o rikenBest.o rikenCluster.o rmskOut.o rmskAlign.o rmskJoined.o rmskOut2.o rnaFold.o rnaGene.o rnaGroup.o rnaHybridization.o rnaPLFold.o tRNAs.o gbRNAs.o snoRNAs.o lowelabPfamHit.o lowelabArkinOperonScore.o lowelabTIGROperonScore.o rnaSecStr.o tfbsConsFactors.o roughAli.o transMapStuff.o transMapInfo.o transMapGene.o transMapSrc.o sage.o sageCounts.o sageExp.o samAlignment.o sample.o sanger22extra.o sangerGene.o sangerGeneToWBGeneID.o sargassoSeaXra.o scopDes.o scoredRef.o search.o seqWindow.o sessionThumbnail.o sgdAbundance.o sgdClone.o sgdDescription.o sgdOther.o simpleNucDiff.o simpleRepeat.o snakeUi.o snp.o snp125.o snp125CodingCoordless.o snp132Ext.o snpExceptions.o snpFasta.o snpMap.o snpTmp.o snpUi.o snp125Exceptions.o snp125Ui.o softPromoter.o softberryHom.o soTerm.o spDb.o splignAlign.o sqlSanity.o stanMad.o stsAlias.o stsInfo.o stsInfo2.o stsInfoMouse.o stsInfoMouseNew.o stsInfoRat.o stsMap.o stsMapMouse.o stsMapMouseNew.o stsMapRat.o stsMarker.o suggest.o switchDbTss.o synMap.o synteny100000.o syntenyBerk.o syntenySanger.o sqlProg.o tfbsCons.o tfbsConsSites.o tablesTables.o tableDescriptions.o tableStatus.o targetDb.o tfbsConsMap.o tagRepo.o taxonDivision.o taxonGeneticCode.o taxonName.o taxonNode.o taxonXref.o tigrCmrGene.o tigrOperon.o tilingPath.o traceInfo.o trackDb.o trackDbCustom.o trackHub.o trackLayout.o trackTable.o trackVersion.o trashDir.o transRegCode.o transRegCodeCondition.o transRegCodeProbe.o txAliDiff.o txCluster.o txCommon.o txEdgeBed.o txEdgeOrtho.o txGraph.o txInfo.o txRnaAccs.o ucscRetroInfo.o ucscRetroOrtho.o validateGisaid.o variant.o variantProjector.o vcfUi.o vegaInfo.o vegaInfoZfish.o visiGene.o vntr.o wabAli.o web.o ncRna.o wgRna.o wigAsciiToBinary.o wigDataStream.o wiggle.o wiggleCart.o wiggleUtils.o wikiLink.o wikiTrack.o yaleGencodeAssoc.o zdobnovSynt.o oreganno.o oregannoUi.o gvUi.o gv.o omicia.o protVar.o pgSnp.o alignInfo.o cddInfo.o loweutils.o cddDesc.o arCOGs.o arcogdesc.o geneTree.o megablastInfo.o pgPhenoAssoc.o pgSiftPred.o pgPolyphenPred.o userRegions.o variome.o + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hgvstovcf-377 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../../htslib -I $PREFIX/include -I/include -I$PREFIX/include/libpng16 -o hgvsToVcf.o -c hgvsToVcf.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -o $SRC_DIR/bin/hgvsToVcf hgvsToVcf.o ../../../lib/x86_64/jkhgap.a ../../../lib/x86_64/jkweb.a -L$PREFIX/lib -lmysqlclient -lstdc -lrt -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -lpthread -lssl -lcrypto ../../../htslib/libhts.a -L$PREFIX/lib -lpng16 -lm -lz + /opt/conda/conda-bld/ucsc-hgvstovcf_1724784085089/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkhgap.a(trackHub.o):/usr/local/src/conda/ucsc-hgvstovcf-377/kent/src/hg/lib/../../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-hgvstovcf-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-hgvstovcf_1724784085089/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkhgap.a(web.o):/usr/local/src/conda/ucsc-hgvstovcf-377/kent/src/hg/lib/../../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-hgvstovcf-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-hgvstovcf_1724784085089/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkhgap.a(wikiLink.o):/usr/local/src/conda/ucsc-hgvstovcf-377/kent/src/hg/lib/../../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-hgvstovcf-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-hgvstovcf_1724784085089/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkhgap.a(cart.o):/usr/local/src/conda/ucsc-hgvstovcf-377/kent/src/hg/lib/../../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-hgvstovcf-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-hgvstovcf_1724784085089/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkhgap.a(hPrint.o):/usr/local/src/conda/ucsc-hgvstovcf-377/kent/src/hg/lib/../../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-hgvstovcf-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-hgvstovcf_1724784085089/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkweb.a(bamFile.o):/usr/local/src/conda/ucsc-hgvstovcf-377/kent/src/lib/../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-hgvstovcf-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-hgvstovcf_1724784085089/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkweb.a(cheapcgi.o):/usr/local/src/conda/ucsc-hgvstovcf-377/kent/src/lib/../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-hgvstovcf-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-hgvstovcf_1724784085089/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkweb.a(htmlPage.o):/usr/local/src/conda/ucsc-hgvstovcf-377/kent/src/lib/../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-hgvstovcf-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-hgvstovcf_1724784085089/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkweb.a(htmshell.o):/usr/local/src/conda/ucsc-hgvstovcf-377/kent/src/lib/../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-hgvstovcf-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + /opt/conda/conda-bld/ucsc-hgvstovcf_1724784085089/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkweb.a(portimpl.o):/usr/local/src/conda/ucsc-hgvstovcf-377/kent/src/lib/../inc/htmshell.h:163: multiple definition of htmlRecover'; ../../../lib/x86_64/jkhgap.a(hui.o):/usr/local/src/conda/ucsc-hgvstovcf-377/kent/src/hg/lib/../../inc/htmshell.h:163: first defined here + collect2: error: ld returned 1 exit status + make: *** [../../../inc/userApp.mk:31: /opt/conda/conda-bld/ucsc-hgvstovcf_1724784085089/work/bin/hgvsToVcf] Error 1 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/ucsc-hgvstovcf_1724784085089/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/ucsc-htmlcheck/build.sh b/recipes/ucsc-htmlcheck/build.sh index b99b826297c80..10020a3222df5 100644 --- a/recipes/ucsc-htmlcheck/build.sh +++ b/recipes/ucsc-htmlcheck/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/htmlCheck && make) -cp bin/htmlCheck "$PREFIX/bin" -chmod +x "$PREFIX/bin/htmlCheck" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/htmlCheck && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/htmlCheck "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/htmlCheck" diff --git a/recipes/ucsc-htmlcheck/include.patch b/recipes/ucsc-htmlcheck/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-htmlcheck/include.patch +++ b/recipes/ucsc-htmlcheck/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-htmlcheck/meta.yaml b/recipes/ucsc-htmlcheck/meta.yaml index 2fb806db88e37..edc5c0b821f24 100644 --- a/recipes/ucsc-htmlcheck/meta.yaml +++ b/recipes/ucsc-htmlcheck/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-htmlcheck" %} {% set program = "htmlCheck" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Do a little reading and verification of html file" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-hubcheck/build.sh b/recipes/ucsc-hubcheck/build.sh index f680c4c42c14b..42f264921d821 100644 --- a/recipes/ucsc-hubcheck/build.sh +++ b/recipes/ucsc-hubcheck/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/hubCheck && make) -cp bin/hubCheck "$PREFIX/bin" -chmod +x "$PREFIX/bin/hubCheck" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/hubCheck && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/hubCheck "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/hubCheck" diff --git a/recipes/ucsc-hubcheck/build_failure.linux-64.yaml b/recipes/ucsc-hubcheck/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..b57fb59a51175 --- /dev/null +++ b/recipes/ucsc-hubcheck/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 5f43f332bdb133a6b645f4a426f312cc7de49c205454fad3f075e2b4cd58541c # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o quickLift.o -c quickLift.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o quickLiftChain.o -c quickLiftChain.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rankProp.o -c rankProp.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o refLink.o -c refLink.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o refSeqStatus.o -c refSeqStatus.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rikenCluster.o -c rikenCluster.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rmskAlign.o -c rmskAlign.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rmskJoined.o -c rmskJoined.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rmskOut.o -c rmskOut.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rmskOut2.o -c rmskOut2.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o rnaGene.o -c rnaGene.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sage.o -c sage.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sageCounts.o -c sageCounts.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o samAlignment.o -c samAlignment.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sample.o -c sample.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sanger22extra.o -c sanger22extra.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o scoredRef.o -c scoredRef.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o seqWindow.o -c seqWindow.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o snakeUi.o -c snakeUi.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o snp.o -c snp.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o snpExceptions.o -c snpExceptions.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o soTerm.o -c soTerm.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o spDb.o -c spDb.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sqlProg.o -c sqlProg.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o sqlSanity.o -c sqlSanity.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o stanMad.o -c stanMad.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o stsAlias.o -c stsAlias.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o stsInfo2.o -c stsInfo2.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o stsMap.o -c stsMap.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o stsMarker.o -c stsMarker.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tableStatus.o -c tableStatus.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tablesTables.o -c tablesTables.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tagRepo.o -c tagRepo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tfbsCons.o -c tfbsCons.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o tigrCmrGene.o -c tigrCmrGene.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o traceInfo.o -c traceInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackDb.o -c trackDb.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackDbCache.o -c trackDbCache.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackDbCustom.o -c trackDbCustom.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackHub.o -c trackHub.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trackVersion.o -c trackVersion.c + trackDbCustom.c: In function 'trackDbInclude': + trackDbCustom.c:294:5: warning: 'splitPath' accessing 512 bytes in a region of size 256 [-Wstringop-overflow=] + 294 | splitPath(raFile, incFile, NULL, NULL); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + trackDbCustom.c:294:5: note: referencing argument 2 of type 'char[512]' + trackDbCustom.c:294:5: note: referencing argument 3 of type 'char[128]' + trackDbCustom.c:294:5: note: referencing argument 4 of type 'char[64]' + In file included from trackDbCustom.c:9: + ../../inc/common.h:1139:6: note: in a call to function 'splitPath' + 1139 | void splitPath(char *path, char dir[PATH_LEN], char name[FILENAME_LEN], + | ^~~~~~~~~ + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o trashDir.o -c trashDir.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txAliDiff.o -c txAliDiff.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txCluster.o -c txCluster.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txCommon.o -c txCommon.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txEdgeBed.o -c txEdgeBed.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txGraph.o -c txGraph.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txInfo.o -c txInfo.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o txRnaAccs.o -c txRnaAccs.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o variantProjector.o -c variantProjector.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vcfUi.o -c vcfUi.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o vegaInfo.o -c vegaInfo.c + sed -e 's/\\/\\\\/g; s/"/\\"/g; s/^/"/; s/$/\\n"/;' jWestHeader.html > jWestHeader.h + sed -e 's/\\/\\\\/g; s/"/\\"/g; s/^/"/; s/$/\\n"/;' jWestBanner.html > jWestBanner.h + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wigAsciiToBinary.o -c wigAsciiToBinary.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wigDataStream.o -c wigDataStream.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggle.o -c wiggle.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggleCart.o -c wiggleCart.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wiggleUtils.o -c wiggleUtils.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o wikiLink.o -c wikiLink.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o bigRmskAlignBed.o -c bigRmskAlignBed.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o bigRmskBed.o -c bigRmskBed.c + mkdir -p ../../lib/x86_64 + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -I$PREFIX/include -o web.o -c web.c + ar rcus ../../lib/x86_64/jkhgap.a adjacency.o affyPairs.o agpFrag.o agpGap.o alignSeqSizes.o altGraphX.o asmAlias.o asmEquivalent.o asmSummary.o autoUpgrade.o axtInfo.o barChartBed.o barChartCategory.o barChartUi.o bed.o bed12Source.o bedDetail.o bigBedFind.o bigBedLabel.o bigChain.o bigDbSnp.o bigGenePred.o bigLink.o bigPsl.o blastTab.o borf.o botDelay.o cart.o cartDb.o cdsEvidence.o cdsOrtho.o cdsPick.o cgapSage/cgapSage.o cgapSage/cgapSageLib.o cgiApoptosis.o chainCart.o chainDb.o chainLink.o chainNet.o chainNetDbLoad.o chromAlias.o chromBins.o chromGraph.o chromGraphFactory.o chromInfo.o chromInserts.o chromKeeper.o clonePos.o cpgIsland.o ctgPos.o customAdjacency.o customComposite.o customFactory.o customPp.o customTrack.o cv.o cytoBand.o dbDb.o decoration.o decoratorUi.o defaultDb.o dnaMotifSql.o dupTrack.o encode/encodeErge.o encode/encodeErgeHssCellLines.o encode/encodeExp.o encode/encodeHapMapAlleleFreq.o encode/encodeIndels.o encode/encodePeak.o encode/encodeRegionInfoCustom.o encode/encodeRna.o encode/encodeStanfordPromoters.o encode/encodeStanfordPromotersAverage.o encode/peptideMapping.o encode/wgEncodeGencodeAnnotationRemark.o encode/wgEncodeGencodeAttrs.o encode/wgEncodeGencodeEntrezGene.o encode/wgEncodeGencodeExonSupport.o encode/wgEncodeGencodeGeneSource.o encode/wgEncodeGencodeGeneSymbol.o encode/wgEncodeGencodePdb.o encode/wgEncodeGencodePubMed.o encode/wgEncodeGencodeRefSeq.o encode/wgEncodeGencodeTag.o encode/wgEncodeGencodeTranscriptSource.o encode/wgEncodeGencodeTranscriptSupport.o encode/wgEncodeGencodeTranscriptionSupportLevel.o encode/wgEncodeGencodeUniProt.o encode3/encode3Valid.o estOrientInfo.o expData.o exportedDataHubs.o expRecord.o facetField.o facetedTable.o featureBits.o findKGAlias.o fakeCurl.o findKGProtAlias.o gbSeq.o gbExtFile.o gcPercent.o genark.o genbank.o genbankBlackList.o gencodeTracksCommon.o gencodeAttrs.o gencodeToRefSeq.o geneGraph.o genePred.o genePredReader.o geoMirror.o ggCluster.o ggDump.o ggGraph.o ggMrnaAli.o ggTypes.o glDbRep.o googleAnalytics.o gpFx.o grp.o gtexAse.o gtexDonor.o gtexGeneBed.o gtexInfo.o gtexSample.o gtexSampleData.o gtexTissue.o gtexTissueMedian.o gtexUi.o hCommon.o hPrint.o hVarSubst.o hapmapAllelesOrtho.o hapmapPhaseIIISummary.o hapmapSnps.o hdb.o hgColors.o hgConfig.o hgFind.o hgFindSpec.o hgFindSpecCustom.o hgHgvs.o hgHgvsParse.o hgMaf.o hgRelate.o hic.o hicUi.o hubConnect.o hubPublic.o hubSearchText.o hui.o imageClone.o indelShift.o interact.o interactUi.o itemAttr.o jksql.o joiner.o jsHelper.o kgAlias.o kgProtAlias.o kgXref.o knownInfo.o knownMore.o lav.o lfs.o liftOver.o liftOverChain.o liftUp.o longRange.o lrg.o lsSnpPdb.o mafFrames.o mafGene.o mafSummary.o makeItemsItem.o mdb.o microarray.o minChromSize.o namedSessionDb.o netAlign.o netCart.o pepPred.o pgPhenoAssoc.o pgSnp.o pslReader.o qaSeq.o quickLift.o quickLiftChain.o rankProp.o refLink.o refSeqStatus.o rikenCluster.o rmskAlign.o rmskJoined.o rmskOut.o rmskOut2.o rnaGene.o sage.o sageCounts.o samAlignment.o sample.o sanger22extra.o scoredRef.o seqWindow.o snakeUi.o snp.o snpExceptions.o soTerm.o spDb.o sqlProg.o sqlSanity.o stanMad.o stsAlias.o stsInfo2.o stsMap.o stsMarker.o tableStatus.o tablesTables.o tagRepo.o tfbsCons.o tigrCmrGene.o traceInfo.o trackDb.o trackDbCache.o trackDbCustom.o trackHub.o trackVersion.o trashDir.o txAliDiff.o txCluster.o txCommon.o txEdgeBed.o txGraph.o txInfo.o txRnaAccs.o variantProjector.o vcfUi.o vegaInfo.o web.o wigAsciiToBinary.o wigDataStream.o wiggle.o wiggleCart.o wiggleUtils.o wikiLink.o bigRmskAlignBed.o bigRmskBed.o + cd kent/src/hg/utils/hubCheck + make CC=/opt/conda/conda-bld/ucsc-hubcheck_1724797987261/_build_env/bin/x86_64-conda-linux-gnu-cc CXX= 'CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /opt/conda/conda-bld/ucsc-hubcheck_1724797987261/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/include -fdebug-prefix-map=/opt/conda/conda-bld/ucsc-hubcheck_1724797987261/work=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=/opt/conda/conda-bld/ucsc-hubcheck_1724797987261/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,/opt/conda/conda-bld/ucsc-hubcheck_1724797987261/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib -Wl,-rpath-link,/opt/conda/conda-bld/ucsc-hubcheck_1724797987261/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib -L/opt/conda/conda-bld/ucsc-hubcheck_1724797987261/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib -L/opt/conda/conda-bld/ucsc-hubcheck_1724797987261/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib' 'CXXFLAGS= -I/opt/conda/conda-bld/ucsc-hubcheck_1724797987261/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/include -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,/opt/conda/conda-bld/ucsc-hubcheck_1724797987261/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib -Wl,-rpath-link,/opt/conda/conda-bld/ucsc-hubcheck_1724797987261/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib -L/opt/conda/conda-bld/ucsc-hubcheck_1724797987261/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib -L/opt/conda/conda-bld/ucsc-hubcheck_1724797987261/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib' -j 4 + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ucsc-hubcheck-469 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64 -DUSE_HIC -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../../htslib -I$PREFIX/include -I$BUILD_PREFIX/include -I$PREFIX/include/libpng16 -o hubCheck.o -c hubCheck.c + $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc -O -g -o $SRC_DIR/bin/hubCheck hubCheck.o ../../../lib/x86_64/jkhgap.a ../../../lib/x86_64/jkweb.a -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -L$PREFIX/lib -lpthread $PREFIX/lib/libssl.a $PREFIX/lib/libcrypto.a -ldl ../../../htslib/libhts.a -L$PREFIX/lib -lpng16 -lm -lz -L$PREFIX/lib -lmysqlclient -lstdc -lrt -lm + /opt/conda/conda-bld/ucsc-hubcheck_1724797987261/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../../../lib/x86_64/jkweb.a(knetUdc.o): in function knetUdcInstall': + /usr/local/src/conda/ucsc-hubcheck-469/kent/src/lib/knetUdc.c:80: undefined reference to knet_init_alt' + collect2: error: ld returned 1 exit status + make: *** [makefile:12: hubCheck] Error 1 + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/ucsc-hubcheck_1724797987261/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/ucsc-hubcheck/include.patch b/recipes/ucsc-hubcheck/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-hubcheck/include.patch +++ b/recipes/ucsc-hubcheck/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-hubcheck/meta.yaml b/recipes/ucsc-hubcheck/meta.yaml index a7bbbafd799af..5a3c63cb34566 100644 --- a/recipes/ucsc-hubcheck/meta.yaml +++ b/recipes/ucsc-hubcheck/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-hubcheck" %} {% set program = "hubCheck" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Check a track data hub for integrity." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-hubpubliccheck/build.sh b/recipes/ucsc-hubpubliccheck/build.sh index e44de2a3b03aa..9e62440c60826 100644 --- a/recipes/ucsc-hubpubliccheck/build.sh +++ b/recipes/ucsc-hubpubliccheck/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/hubPublicCheck && make) -cp bin/hubPublicCheck "$PREFIX/bin" -chmod +x "$PREFIX/bin/hubPublicCheck" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/hubPublicCheck && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/hubPublicCheck "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/hubPublicCheck" diff --git a/recipes/ucsc-hubpubliccheck/include.patch b/recipes/ucsc-hubpubliccheck/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-hubpubliccheck/include.patch +++ b/recipes/ucsc-hubpubliccheck/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-hubpubliccheck/meta.yaml b/recipes/ucsc-hubpubliccheck/meta.yaml index cca7bfbd24adb..f0a4cc1d4f97e 100644 --- a/recipes/ucsc-hubpubliccheck/meta.yaml +++ b/recipes/ucsc-hubpubliccheck/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-hubpubliccheck" %} {% set program = "hubPublicCheck" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "checks that the labels in hubPublic match what is in the hub labels" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-ixixx/build.sh b/recipes/ucsc-ixixx/build.sh index 7a31123d74c8f..961320e7fd96d 100644 --- a/recipes/ucsc-ixixx/build.sh +++ b/recipes/ucsc-ixixx/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/index/ixIxx && make) -cp bin/ixIxx "$PREFIX/bin" -chmod +x "$PREFIX/bin/ixIxx" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/index/ixIxx && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/ixIxx "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/ixIxx" diff --git a/recipes/ucsc-ixixx/include.patch b/recipes/ucsc-ixixx/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-ixixx/include.patch +++ b/recipes/ucsc-ixixx/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-ixixx/meta.yaml b/recipes/ucsc-ixixx/meta.yaml index e1ea15efb22ca..12e29c5de07c1 100644 --- a/recipes/ucsc-ixixx/meta.yaml +++ b/recipes/ucsc-ixixx/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-ixixx" %} {% set program = "ixIxx" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Create indices for simple line-oriented file of format " + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-lavtoaxt/build.sh b/recipes/ucsc-lavtoaxt/build.sh index 053f95a6d6f0c..28b7382f0f659 100644 --- a/recipes/ucsc-lavtoaxt/build.sh +++ b/recipes/ucsc-lavtoaxt/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/lavToAxt && make) -cp bin/lavToAxt "$PREFIX/bin" -chmod +x "$PREFIX/bin/lavToAxt" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/lavToAxt && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/lavToAxt "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/lavToAxt" diff --git a/recipes/ucsc-lavtoaxt/include.patch b/recipes/ucsc-lavtoaxt/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-lavtoaxt/include.patch +++ b/recipes/ucsc-lavtoaxt/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-lavtoaxt/meta.yaml b/recipes/ucsc-lavtoaxt/meta.yaml index e1c9793a5521a..06c0cafe88b92 100644 --- a/recipes/ucsc-lavtoaxt/meta.yaml +++ b/recipes/ucsc-lavtoaxt/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-lavtoaxt" %} {% set program = "lavToAxt" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert blastz lav file to an axt file (which includes sequence)" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-lavtopsl/build.sh b/recipes/ucsc-lavtopsl/build.sh index 6bc1639458228..f3bad35b19a90 100644 --- a/recipes/ucsc-lavtopsl/build.sh +++ b/recipes/ucsc-lavtopsl/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/lavToPsl && make) -cp bin/lavToPsl "$PREFIX/bin" -chmod +x "$PREFIX/bin/lavToPsl" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/lavToPsl && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/lavToPsl "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/lavToPsl" diff --git a/recipes/ucsc-lavtopsl/include.patch b/recipes/ucsc-lavtopsl/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-lavtopsl/include.patch +++ b/recipes/ucsc-lavtopsl/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-lavtopsl/meta.yaml b/recipes/ucsc-lavtopsl/meta.yaml index e561090f1335f..cfc2c04b24fa7 100644 --- a/recipes/ucsc-lavtopsl/meta.yaml +++ b/recipes/ucsc-lavtopsl/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-lavtopsl" %} {% set program = "lavToPsl" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert blastz lav to psl format" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-ldhggene/build.sh b/recipes/ucsc-ldhggene/build.sh index f03594d189cf0..bcfee33c689a7 100644 --- a/recipes/ucsc-ldhggene/build.sh +++ b/recipes/ucsc-ldhggene/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/makeDb/ldHgGene && make) -cp bin/ldHgGene "$PREFIX/bin" -chmod +x "$PREFIX/bin/ldHgGene" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/makeDb/ldHgGene && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/ldHgGene "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/ldHgGene" diff --git a/recipes/ucsc-ldhggene/include.patch b/recipes/ucsc-ldhggene/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-ldhggene/include.patch +++ b/recipes/ucsc-ldhggene/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-ldhggene/meta.yaml b/recipes/ucsc-ldhggene/meta.yaml index 629f7cfa8254a..aec3b9faa2050 100644 --- a/recipes/ucsc-ldhggene/meta.yaml +++ b/recipes/ucsc-ldhggene/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-ldhggene" %} {% set program = "ldHgGene" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "load database with gene predictions from a gff file." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-liftover/build.sh b/recipes/ucsc-liftover/build.sh index 49383fe092892..50f0e8474db9a 100644 --- a/recipes/ucsc-liftover/build.sh +++ b/recipes/ucsc-liftover/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/liftOver && make) -cp bin/liftOver "$PREFIX/bin" -chmod +x "$PREFIX/bin/liftOver" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/liftOver && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/liftOver "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/liftOver" diff --git a/recipes/ucsc-liftover/htmshell.patch b/recipes/ucsc-liftover/htmshell.patch new file mode 100644 index 0000000000000..1e6f87375ed01 --- /dev/null +++ b/recipes/ucsc-liftover/htmshell.patch @@ -0,0 +1,11 @@ +--- kent/src/lib/htmshell.c 2024-03-27 10:56:44.493892141 +0200 ++++ kent/src/lib/htmshell.c 2024-03-27 10:57:01.073792396 +0200 +@@ -713,7 +713,7 @@ + puts("Status: 400\r"); + puts("Content-Type: text/plain; charset=UTF-8\r"); + puts("\r"); +-if (format != NULL && args != NULL) ++if (format != NULL) + { + vfprintf(stdout, format, args); + fprintf(stdout, "\n"); diff --git a/recipes/ucsc-liftover/include.patch b/recipes/ucsc-liftover/include.patch index e9c8621194325..edc04d0dc2f64 100644 --- a/recipes/ucsc-liftover/include.patch +++ b/recipes/ucsc-liftover/include.patch @@ -1,30 +1,22 @@ --- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 ++++ kent/src/inc/common.mk.new 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -+++ kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -@@ -147,4 +147,4 @@ -- L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl -+ L+=${PREFIX}/lib/libssl.so ${PREFIX}/lib/libcrypto.so -ldl - else - ifneq ($(wildcard /opt/local/lib/libssl.a),) - L+=/opt/local/lib/libssl.a ---- kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 -+++ kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ --KENT_INC=-I../../../inc -+KENT_INC=-I../../../inc -I${PREFIX}/include - - straw: straw.o cStraw.o - ld -r -o ../straw.o straw.o cStraw.o +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python + + import logging, sys, optparse, string + from collections import defaultdict --- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ diff --git a/recipes/ucsc-liftover/meta.yaml b/recipes/ucsc-liftover/meta.yaml index e69762f7a6387..a38bea325585b 100644 --- a/recipes/ucsc-liftover/meta.yaml +++ b/recipes/ucsc-liftover/meta.yaml @@ -1,50 +1,56 @@ {% set package = "ucsc-liftover" %} {% set program = "liftOver" %} -{% set version = "447" %} -{% set sha256 = "747a48486f7481d891e297baf63623b15d699265ede7339f654bcbc42481ac81" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: - name: {{ package }} - version: {{ version }} + name: "{{ package }}" + version: "{{ version }}" source: url: "http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v{{ version }}.src.tgz" - sha256: {{ sha256 }} + sha256: "{{ sha256 }}" patches: - - include.patch + - "include.patch" build: + skip: True # [osx] number: 0 - skip: True # [osx] - ignore_run_exports: - - libpng - - libuuid + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: - make - {{ compiler('c') }} - - {{ compiler('cxx') }} - - binutils # [linux] host: - libpng - libuuid - mysql-connector-c - - openssl - libopenssl-static - zlib + run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static + - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Move annotations from one assembly to another" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-liftup/build.sh b/recipes/ucsc-liftup/build.sh index 5a638019c0676..1a14a6cb069d0 100644 --- a/recipes/ucsc-liftup/build.sh +++ b/recipes/ucsc-liftup/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/liftUp && make) -cp bin/liftUp "$PREFIX/bin" -chmod +x "$PREFIX/bin/liftUp" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/liftUp && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/liftUp "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/liftUp" diff --git a/recipes/ucsc-liftup/include.patch b/recipes/ucsc-liftup/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-liftup/include.patch +++ b/recipes/ucsc-liftup/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-liftup/meta.yaml b/recipes/ucsc-liftup/meta.yaml index 87acba1d33d82..b61c25d8102ca 100644 --- a/recipes/ucsc-liftup/meta.yaml +++ b/recipes/ucsc-liftup/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-liftup" %} {% set program = "liftUp" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "change coordinates of .psl, .agp, .gap, .gl, .out, .align, .gff, .gtf" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-linestora/build.sh b/recipes/ucsc-linestora/build.sh index 945e02d5d447d..eb58c0fc0db43 100644 --- a/recipes/ucsc-linestora/build.sh +++ b/recipes/ucsc-linestora/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/raToLines/linesToRa && make) -cp bin/linesToRa "$PREFIX/bin" -chmod +x "$PREFIX/bin/linesToRa" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/raToLines/linesToRa && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/linesToRa "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/linesToRa" diff --git a/recipes/ucsc-linestora/include.patch b/recipes/ucsc-linestora/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-linestora/include.patch +++ b/recipes/ucsc-linestora/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-linestora/meta.yaml b/recipes/ucsc-linestora/meta.yaml index 58fd0d3a47e68..8929fdad5aeff 100644 --- a/recipes/ucsc-linestora/meta.yaml +++ b/recipes/ucsc-linestora/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-linestora" %} {% set program = "linesToRa" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "generate .ra format from lines with pipe-separated fields" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-localtime/build.sh b/recipes/ucsc-localtime/build.sh index 5e4271dc0c297..b0b32fe905438 100644 --- a/recipes/ucsc-localtime/build.sh +++ b/recipes/ucsc-localtime/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/timing/localtime && make) -cp bin/localtime "$PREFIX/bin" -chmod +x "$PREFIX/bin/localtime" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/timing/localtime && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/localtime "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/localtime" diff --git a/recipes/ucsc-localtime/include.patch b/recipes/ucsc-localtime/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-localtime/include.patch +++ b/recipes/ucsc-localtime/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-localtime/meta.yaml b/recipes/ucsc-localtime/meta.yaml index fe6a48b0afb65..9a5bb720eea6a 100644 --- a/recipes/ucsc-localtime/meta.yaml +++ b/recipes/ucsc-localtime/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-localtime" %} {% set program = "localtime" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "convert unix timestamp to date string" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-mafaddirows/build.sh b/recipes/ucsc-mafaddirows/build.sh index e7d550df0494d..cac297e03b3d9 100644 --- a/recipes/ucsc-mafaddirows/build.sh +++ b/recipes/ucsc-mafaddirows/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/ratStuff/mafAddIRows && make) -cp bin/mafAddIRows "$PREFIX/bin" -chmod +x "$PREFIX/bin/mafAddIRows" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/ratStuff/mafAddIRows && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/mafAddIRows "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/mafAddIRows" diff --git a/recipes/ucsc-mafaddirows/include.patch b/recipes/ucsc-mafaddirows/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-mafaddirows/include.patch +++ b/recipes/ucsc-mafaddirows/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-mafaddirows/meta.yaml b/recipes/ucsc-mafaddirows/meta.yaml index 5d99df62b05d9..1678cf8b45d74 100644 --- a/recipes/ucsc-mafaddirows/meta.yaml +++ b/recipes/ucsc-mafaddirows/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-mafaddirows" %} {% set program = "mafAddIRows" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "add 'i' rows to a maf" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-mafaddqrows/build.sh b/recipes/ucsc-mafaddqrows/build.sh index 2a500dafaef18..ed596762c367a 100644 --- a/recipes/ucsc-mafaddqrows/build.sh +++ b/recipes/ucsc-mafaddqrows/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/ratStuff/mafAddQRows && make) -cp bin/mafAddQRows "$PREFIX/bin" -chmod +x "$PREFIX/bin/mafAddQRows" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/ratStuff/mafAddQRows && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/mafAddQRows "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/mafAddQRows" diff --git a/recipes/ucsc-mafaddqrows/include.patch b/recipes/ucsc-mafaddqrows/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-mafaddqrows/include.patch +++ b/recipes/ucsc-mafaddqrows/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-mafaddqrows/meta.yaml b/recipes/ucsc-mafaddqrows/meta.yaml index f9017087a7315..852353ae2d074 100644 --- a/recipes/ucsc-mafaddqrows/meta.yaml +++ b/recipes/ucsc-mafaddqrows/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-mafaddqrows" %} {% set program = "mafAddQRows" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Add quality data to a maf" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-mafcoverage/build.sh b/recipes/ucsc-mafcoverage/build.sh index 348d70bc50d75..468207ac0d869 100644 --- a/recipes/ucsc-mafcoverage/build.sh +++ b/recipes/ucsc-mafcoverage/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/mafCoverage && make) -cp bin/mafCoverage "$PREFIX/bin" -chmod +x "$PREFIX/bin/mafCoverage" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/mafCoverage && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/mafCoverage "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/mafCoverage" diff --git a/recipes/ucsc-mafcoverage/include.patch b/recipes/ucsc-mafcoverage/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-mafcoverage/include.patch +++ b/recipes/ucsc-mafcoverage/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-mafcoverage/meta.yaml b/recipes/ucsc-mafcoverage/meta.yaml index 098e92ad735b5..e4a133f4200cc 100644 --- a/recipes/ucsc-mafcoverage/meta.yaml +++ b/recipes/ucsc-mafcoverage/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-mafcoverage" %} {% set program = "mafCoverage" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Analyse coverage by maf files - chromosome by " + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-maffetch/build.sh b/recipes/ucsc-maffetch/build.sh index 645c5ada6b7fd..05845f691ae3f 100644 --- a/recipes/ucsc-maffetch/build.sh +++ b/recipes/ucsc-maffetch/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/mafFetch && make) -cp bin/mafFetch "$PREFIX/bin" -chmod +x "$PREFIX/bin/mafFetch" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/mafFetch && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/mafFetch "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/mafFetch" diff --git a/recipes/ucsc-maffetch/include.patch b/recipes/ucsc-maffetch/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-maffetch/include.patch +++ b/recipes/ucsc-maffetch/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-maffetch/meta.yaml b/recipes/ucsc-maffetch/meta.yaml index 0bcc9b3c66e88..9090dbba9ad87 100644 --- a/recipes/ucsc-maffetch/meta.yaml +++ b/recipes/ucsc-maffetch/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-maffetch" %} {% set program = "mafFetch" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "get overlapping records from an MAF using an index table" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-maffilter/build.sh b/recipes/ucsc-maffilter/build.sh index 1456dd4eba626..9843b09843d39 100644 --- a/recipes/ucsc-maffilter/build.sh +++ b/recipes/ucsc-maffilter/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/ratStuff/mafFilter && make) -cp bin/mafFilter "$PREFIX/bin" -chmod +x "$PREFIX/bin/mafFilter" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/ratStuff/mafFilter && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/mafFilter "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/mafFilter" diff --git a/recipes/ucsc-maffilter/include.patch b/recipes/ucsc-maffilter/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-maffilter/include.patch +++ b/recipes/ucsc-maffilter/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-maffilter/meta.yaml b/recipes/ucsc-maffilter/meta.yaml index 7663b1c8a008c..fe2bdf5d06413 100644 --- a/recipes/ucsc-maffilter/meta.yaml +++ b/recipes/ucsc-maffilter/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-maffilter" %} {% set program = "mafFilter" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Filter out maf files. Output goes to standard out" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-maffrag/build.sh b/recipes/ucsc-maffrag/build.sh index f2386fc8ed4df..d9960af580f54 100644 --- a/recipes/ucsc-maffrag/build.sh +++ b/recipes/ucsc-maffrag/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/ratStuff/mafFrag && make) -cp bin/mafFrag "$PREFIX/bin" -chmod +x "$PREFIX/bin/mafFrag" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/ratStuff/mafFrag && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/mafFrag "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/mafFrag" diff --git a/recipes/ucsc-maffrag/include.patch b/recipes/ucsc-maffrag/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-maffrag/include.patch +++ b/recipes/ucsc-maffrag/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-maffrag/meta.yaml b/recipes/ucsc-maffrag/meta.yaml index f65ce536626f5..be0547277cd93 100644 --- a/recipes/ucsc-maffrag/meta.yaml +++ b/recipes/ucsc-maffrag/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-maffrag" %} {% set program = "mafFrag" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Extract maf sequences for a region from database" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-maffrags/build.sh b/recipes/ucsc-maffrags/build.sh index b058c5853bc14..1e18fa9821f72 100644 --- a/recipes/ucsc-maffrags/build.sh +++ b/recipes/ucsc-maffrags/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/ratStuff/mafFrags && make) -cp bin/mafFrags "$PREFIX/bin" -chmod +x "$PREFIX/bin/mafFrags" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/ratStuff/mafFrags && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/mafFrags "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/mafFrags" diff --git a/recipes/ucsc-maffrags/include.patch b/recipes/ucsc-maffrags/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-maffrags/include.patch +++ b/recipes/ucsc-maffrags/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-maffrags/meta.yaml b/recipes/ucsc-maffrags/meta.yaml index 21cd93f53f83e..34d81f233584a 100644 --- a/recipes/ucsc-maffrags/meta.yaml +++ b/recipes/ucsc-maffrags/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-maffrags" %} {% set program = "mafFrags" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Collect MAFs from regions specified in a 6 column bed file" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-mafgene/build.sh b/recipes/ucsc-mafgene/build.sh index 6ef25dbca5c93..b3fd8c73fa645 100644 --- a/recipes/ucsc-mafgene/build.sh +++ b/recipes/ucsc-mafgene/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/ratStuff/mafGene && make) -cp bin/mafGene "$PREFIX/bin" -chmod +x "$PREFIX/bin/mafGene" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/ratStuff/mafGene && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/mafGene "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/mafGene" diff --git a/recipes/ucsc-mafgene/include.patch b/recipes/ucsc-mafgene/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-mafgene/include.patch +++ b/recipes/ucsc-mafgene/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-mafgene/meta.yaml b/recipes/ucsc-mafgene/meta.yaml index 9912fd7602673..00c8dcbf6fd3c 100644 --- a/recipes/ucsc-mafgene/meta.yaml +++ b/recipes/ucsc-mafgene/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-mafgene" %} {% set program = "mafGene" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "output protein alignments using maf and genePred" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-mafmefirst/build.sh b/recipes/ucsc-mafmefirst/build.sh index 4363fc2b59ba9..6ffa033237548 100644 --- a/recipes/ucsc-mafmefirst/build.sh +++ b/recipes/ucsc-mafmefirst/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/ratStuff/mafMeFirst && make) -cp bin/mafMeFirst "$PREFIX/bin" -chmod +x "$PREFIX/bin/mafMeFirst" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/ratStuff/mafMeFirst && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/mafMeFirst "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/mafMeFirst" diff --git a/recipes/ucsc-mafmefirst/include.patch b/recipes/ucsc-mafmefirst/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-mafmefirst/include.patch +++ b/recipes/ucsc-mafmefirst/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-mafmefirst/meta.yaml b/recipes/ucsc-mafmefirst/meta.yaml index e48007351af53..4ee6e4b03ce1e 100644 --- a/recipes/ucsc-mafmefirst/meta.yaml +++ b/recipes/ucsc-mafmefirst/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-mafmefirst" %} {% set program = "mafMeFirst" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Move component to top if it is one of the named ones. " + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-maforder/build.sh b/recipes/ucsc-maforder/build.sh index cefff99c5bdf1..a89bd8868c424 100644 --- a/recipes/ucsc-maforder/build.sh +++ b/recipes/ucsc-maforder/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/ratStuff/mafOrder && make) -cp bin/mafOrder "$PREFIX/bin" -chmod +x "$PREFIX/bin/mafOrder" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/ratStuff/mafOrder && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/mafOrder "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/mafOrder" diff --git a/recipes/ucsc-maforder/include.patch b/recipes/ucsc-maforder/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-maforder/include.patch +++ b/recipes/ucsc-maforder/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-maforder/meta.yaml b/recipes/ucsc-maforder/meta.yaml index 54bfd559eb179..ad84eab22d85c 100644 --- a/recipes/ucsc-maforder/meta.yaml +++ b/recipes/ucsc-maforder/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-maforder" %} {% set program = "mafOrder" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "order components within a maf file" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-mafranges/build.sh b/recipes/ucsc-mafranges/build.sh index 0441760e4d982..e1687873c6d65 100644 --- a/recipes/ucsc-mafranges/build.sh +++ b/recipes/ucsc-mafranges/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/mafRanges && make) -cp bin/mafRanges "$PREFIX/bin" -chmod +x "$PREFIX/bin/mafRanges" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/mafRanges && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/mafRanges "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/mafRanges" diff --git a/recipes/ucsc-mafranges/include.patch b/recipes/ucsc-mafranges/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-mafranges/include.patch +++ b/recipes/ucsc-mafranges/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-mafranges/meta.yaml b/recipes/ucsc-mafranges/meta.yaml index 6510d41b8bb8e..66d3c977d9dc7 100644 --- a/recipes/ucsc-mafranges/meta.yaml +++ b/recipes/ucsc-mafranges/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-mafranges" %} {% set program = "mafRanges" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Extract ranges of target (or query) coverage from maf and " + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-mafsinregion/build.sh b/recipes/ucsc-mafsinregion/build.sh index 3e8ea07de6c37..4fb3f28a5e560 100644 --- a/recipes/ucsc-mafsinregion/build.sh +++ b/recipes/ucsc-mafsinregion/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/ratStuff/mafsInRegion && make) -cp bin/mafsInRegion "$PREFIX/bin" -chmod +x "$PREFIX/bin/mafsInRegion" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/ratStuff/mafsInRegion && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/mafsInRegion "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/mafsInRegion" diff --git a/recipes/ucsc-mafsinregion/include.patch b/recipes/ucsc-mafsinregion/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-mafsinregion/include.patch +++ b/recipes/ucsc-mafsinregion/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-mafsinregion/meta.yaml b/recipes/ucsc-mafsinregion/meta.yaml index 81d418c4524e2..48415aa8bb4dc 100644 --- a/recipes/ucsc-mafsinregion/meta.yaml +++ b/recipes/ucsc-mafsinregion/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-mafsinregion" %} {% set program = "mafsInRegion" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Extract MAFS in a genomic region" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-mafspecieslist/build.sh b/recipes/ucsc-mafspecieslist/build.sh index fb5f2c9fc419c..b55e48756c1d1 100644 --- a/recipes/ucsc-mafspecieslist/build.sh +++ b/recipes/ucsc-mafspecieslist/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/ratStuff/mafSpeciesList && make) -cp bin/mafSpeciesList "$PREFIX/bin" -chmod +x "$PREFIX/bin/mafSpeciesList" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/ratStuff/mafSpeciesList && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/mafSpeciesList "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/mafSpeciesList" diff --git a/recipes/ucsc-mafspecieslist/include.patch b/recipes/ucsc-mafspecieslist/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-mafspecieslist/include.patch +++ b/recipes/ucsc-mafspecieslist/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-mafspecieslist/meta.yaml b/recipes/ucsc-mafspecieslist/meta.yaml index db844606494ed..39fea6c3f3bcf 100644 --- a/recipes/ucsc-mafspecieslist/meta.yaml +++ b/recipes/ucsc-mafspecieslist/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-mafspecieslist" %} {% set program = "mafSpeciesList" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Scan maf and output all species used in it." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-mafspeciessubset/build.sh b/recipes/ucsc-mafspeciessubset/build.sh index 57941b4e15733..f1c3303a4e9d3 100644 --- a/recipes/ucsc-mafspeciessubset/build.sh +++ b/recipes/ucsc-mafspeciessubset/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/ratStuff/mafSpeciesSubset && make) -cp bin/mafSpeciesSubset "$PREFIX/bin" -chmod +x "$PREFIX/bin/mafSpeciesSubset" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/ratStuff/mafSpeciesSubset && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/mafSpeciesSubset "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/mafSpeciesSubset" diff --git a/recipes/ucsc-mafspeciessubset/include.patch b/recipes/ucsc-mafspeciessubset/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-mafspeciessubset/include.patch +++ b/recipes/ucsc-mafspeciessubset/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-mafspeciessubset/meta.yaml b/recipes/ucsc-mafspeciessubset/meta.yaml index 29994a6b0c59f..566864c8adf9a 100644 --- a/recipes/ucsc-mafspeciessubset/meta.yaml +++ b/recipes/ucsc-mafspeciessubset/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-mafspeciessubset" %} {% set program = "mafSpeciesSubset" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Extract a maf that just has a subset of species." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-mafsplit/build.sh b/recipes/ucsc-mafsplit/build.sh index 16a94db036ce9..c95e8038cb565 100644 --- a/recipes/ucsc-mafsplit/build.sh +++ b/recipes/ucsc-mafsplit/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/ratStuff/mafSplit && make) -cp bin/mafSplit "$PREFIX/bin" -chmod +x "$PREFIX/bin/mafSplit" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/ratStuff/mafSplit && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/mafSplit "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/mafSplit" diff --git a/recipes/ucsc-mafsplit/include.patch b/recipes/ucsc-mafsplit/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-mafsplit/include.patch +++ b/recipes/ucsc-mafsplit/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-mafsplit/meta.yaml b/recipes/ucsc-mafsplit/meta.yaml index 57c217ce78e8b..8fb771c78e0c5 100644 --- a/recipes/ucsc-mafsplit/meta.yaml +++ b/recipes/ucsc-mafsplit/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-mafsplit" %} {% set program = "mafSplit" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Split multiple alignment files" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-mafsplitpos/build.sh b/recipes/ucsc-mafsplitpos/build.sh index 3c410b8870dc6..755b371f59363 100644 --- a/recipes/ucsc-mafsplitpos/build.sh +++ b/recipes/ucsc-mafsplitpos/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/ratStuff/mafSplitPos && make) -cp bin/mafSplitPos "$PREFIX/bin" -chmod +x "$PREFIX/bin/mafSplitPos" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/ratStuff/mafSplitPos && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/mafSplitPos "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/mafSplitPos" diff --git a/recipes/ucsc-mafsplitpos/include.patch b/recipes/ucsc-mafsplitpos/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-mafsplitpos/include.patch +++ b/recipes/ucsc-mafsplitpos/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-mafsplitpos/meta.yaml b/recipes/ucsc-mafsplitpos/meta.yaml index 8c0fb2d4ad59c..77c67139a4334 100644 --- a/recipes/ucsc-mafsplitpos/meta.yaml +++ b/recipes/ucsc-mafsplitpos/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-mafsplitpos" %} {% set program = "mafSplitPos" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Pick positions to split multiple alignment input files" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-maftoaxt/build.sh b/recipes/ucsc-maftoaxt/build.sh index d1c547e94566a..915b30b593cce 100644 --- a/recipes/ucsc-maftoaxt/build.sh +++ b/recipes/ucsc-maftoaxt/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/mafToAxt && make) -cp bin/mafToAxt "$PREFIX/bin" -chmod +x "$PREFIX/bin/mafToAxt" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/mafToAxt && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/mafToAxt "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/mafToAxt" diff --git a/recipes/ucsc-maftoaxt/include.patch b/recipes/ucsc-maftoaxt/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-maftoaxt/include.patch +++ b/recipes/ucsc-maftoaxt/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-maftoaxt/meta.yaml b/recipes/ucsc-maftoaxt/meta.yaml index 30844b9a378a5..2e31d3a08bf55 100644 --- a/recipes/ucsc-maftoaxt/meta.yaml +++ b/recipes/ucsc-maftoaxt/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-maftoaxt" %} {% set program = "mafToAxt" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert from maf to axt format" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-maftobigmaf/build.sh b/recipes/ucsc-maftobigmaf/build.sh index b8f624f13c557..9e78fbddae397 100644 --- a/recipes/ucsc-maftobigmaf/build.sh +++ b/recipes/ucsc-maftobigmaf/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/mafToBigMaf && make) -cp bin/mafToBigMaf "$PREFIX/bin" -chmod +x "$PREFIX/bin/mafToBigMaf" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/mafToBigMaf && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/mafToBigMaf "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/mafToBigMaf" diff --git a/recipes/ucsc-maftobigmaf/include.patch b/recipes/ucsc-maftobigmaf/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-maftobigmaf/include.patch +++ b/recipes/ucsc-maftobigmaf/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-maftobigmaf/meta.yaml b/recipes/ucsc-maftobigmaf/meta.yaml index 823170338eb05..e99a1f9fec06f 100644 --- a/recipes/ucsc-maftobigmaf/meta.yaml +++ b/recipes/ucsc-maftobigmaf/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-maftobigmaf" %} {% set program = "mafToBigMaf" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Put ucsc standard maf file into bigMaf format" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-maftopsl/build.sh b/recipes/ucsc-maftopsl/build.sh index c9de71f45a5ed..3889b11a30b41 100644 --- a/recipes/ucsc-maftopsl/build.sh +++ b/recipes/ucsc-maftopsl/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/mafToPsl && make) -cp bin/mafToPsl "$PREFIX/bin" -chmod +x "$PREFIX/bin/mafToPsl" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/mafToPsl && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/mafToPsl "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/mafToPsl" diff --git a/recipes/ucsc-maftopsl/include.patch b/recipes/ucsc-maftopsl/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-maftopsl/include.patch +++ b/recipes/ucsc-maftopsl/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-maftopsl/meta.yaml b/recipes/ucsc-maftopsl/meta.yaml index b47c1683b1e3b..ede1d2177c11c 100644 --- a/recipes/ucsc-maftopsl/meta.yaml +++ b/recipes/ucsc-maftopsl/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-maftopsl" %} {% set program = "mafToPsl" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert maf to psl format" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-maftosnpbed/build.sh b/recipes/ucsc-maftosnpbed/build.sh index d85e46296e96a..50318d5b9132e 100644 --- a/recipes/ucsc-maftosnpbed/build.sh +++ b/recipes/ucsc-maftosnpbed/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/ratStuff/mafToSnpBed && make) -cp bin/mafToSnpBed "$PREFIX/bin" -chmod +x "$PREFIX/bin/mafToSnpBed" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/ratStuff/mafToSnpBed && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/mafToSnpBed "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/mafToSnpBed" diff --git a/recipes/ucsc-maftosnpbed/include.patch b/recipes/ucsc-maftosnpbed/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-maftosnpbed/include.patch +++ b/recipes/ucsc-maftosnpbed/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-maftosnpbed/meta.yaml b/recipes/ucsc-maftosnpbed/meta.yaml index ec50b9371c946..46d27f2eb21d2 100644 --- a/recipes/ucsc-maftosnpbed/meta.yaml +++ b/recipes/ucsc-maftosnpbed/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-maftosnpbed" %} {% set program = "mafToSnpBed" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "finds SNPs in MAF and builds a bed with their functional consequence" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-maketablelist/build.sh b/recipes/ucsc-maketablelist/build.sh index 5511e7edf2d17..637891a953eb6 100644 --- a/recipes/ucsc-maketablelist/build.sh +++ b/recipes/ucsc-maketablelist/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/makeTableList && make) -cp bin/makeTableList "$PREFIX/bin" -chmod +x "$PREFIX/bin/makeTableList" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/makeTableList && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/makeTableList "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/makeTableList" diff --git a/recipes/ucsc-maketablelist/include.patch b/recipes/ucsc-maketablelist/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-maketablelist/include.patch +++ b/recipes/ucsc-maketablelist/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-maketablelist/meta.yaml b/recipes/ucsc-maketablelist/meta.yaml index bed1d94da6a3d..b11002a961035 100644 --- a/recipes/ucsc-maketablelist/meta.yaml +++ b/recipes/ucsc-maketablelist/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-maketablelist" %} {% set program = "makeTableList" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "create/recreate tableList tables (cache of SHOW TABLES and DESCRIBE)" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-maskoutfa/build.sh b/recipes/ucsc-maskoutfa/build.sh index 2f24ecb8fe45d..27e2043807128 100644 --- a/recipes/ucsc-maskoutfa/build.sh +++ b/recipes/ucsc-maskoutfa/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/maskOutFa && make) -cp bin/maskOutFa "$PREFIX/bin" -chmod +x "$PREFIX/bin/maskOutFa" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/maskOutFa && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/maskOutFa "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/maskOutFa" diff --git a/recipes/ucsc-maskoutfa/include.patch b/recipes/ucsc-maskoutfa/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-maskoutfa/include.patch +++ b/recipes/ucsc-maskoutfa/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-maskoutfa/meta.yaml b/recipes/ucsc-maskoutfa/meta.yaml index 9edb65eb58987..fa8cc7eb1593a 100644 --- a/recipes/ucsc-maskoutfa/meta.yaml +++ b/recipes/ucsc-maskoutfa/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-maskoutfa" %} {% set program = "maskOutFa" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Produce a masked .fa file given an unmasked .fa and" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-mktime/build.sh b/recipes/ucsc-mktime/build.sh index ac60435474cef..736038679a3b1 100644 --- a/recipes/ucsc-mktime/build.sh +++ b/recipes/ucsc-mktime/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/timing/mktime && make) -cp bin/mktime "$PREFIX/bin" -chmod +x "$PREFIX/bin/mktime" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/timing/mktime && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/mktime "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/mktime" diff --git a/recipes/ucsc-mktime/include.patch b/recipes/ucsc-mktime/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-mktime/include.patch +++ b/recipes/ucsc-mktime/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-mktime/meta.yaml b/recipes/ucsc-mktime/meta.yaml index ff8b7b04ca583..e52b1b0b0c71b 100644 --- a/recipes/ucsc-mktime/meta.yaml +++ b/recipes/ucsc-mktime/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-mktime" %} {% set program = "mktime" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "convert date string to unix timestamp" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-mrnatogene/build.sh b/recipes/ucsc-mrnatogene/build.sh index 1f51dc89ac019..356d27d294304 100644 --- a/recipes/ucsc-mrnatogene/build.sh +++ b/recipes/ucsc-mrnatogene/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mrnaToGene && make) -cp bin/mrnaToGene "$PREFIX/bin" -chmod +x "$PREFIX/bin/mrnaToGene" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mrnaToGene && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/mrnaToGene "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/mrnaToGene" diff --git a/recipes/ucsc-mrnatogene/include.patch b/recipes/ucsc-mrnatogene/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-mrnatogene/include.patch +++ b/recipes/ucsc-mrnatogene/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-mrnatogene/meta.yaml b/recipes/ucsc-mrnatogene/meta.yaml index d20f36281b5ff..b867c1e781a84 100644 --- a/recipes/ucsc-mrnatogene/meta.yaml +++ b/recipes/ucsc-mrnatogene/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-mrnatogene" %} {% set program = "mrnaToGene" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "convert PSL alignments of mRNAs to gene annotations" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-netchainsubset/build.sh b/recipes/ucsc-netchainsubset/build.sh index 8427193703407..59ab5b713497e 100644 --- a/recipes/ucsc-netchainsubset/build.sh +++ b/recipes/ucsc-netchainsubset/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/netChainSubset && make) -cp bin/netChainSubset "$PREFIX/bin" -chmod +x "$PREFIX/bin/netChainSubset" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/netChainSubset && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/netChainSubset "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/netChainSubset" diff --git a/recipes/ucsc-netchainsubset/include.patch b/recipes/ucsc-netchainsubset/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-netchainsubset/include.patch +++ b/recipes/ucsc-netchainsubset/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-netchainsubset/meta.yaml b/recipes/ucsc-netchainsubset/meta.yaml index d877f1327402a..2f921aa504a60 100644 --- a/recipes/ucsc-netchainsubset/meta.yaml +++ b/recipes/ucsc-netchainsubset/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-netchainsubset" %} {% set program = "netChainSubset" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Create chain file with subset of chains that appear in the net" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-netclass/build.sh b/recipes/ucsc-netclass/build.sh index 68e9b089f5bcb..cf06d9c6b23c1 100644 --- a/recipes/ucsc-netclass/build.sh +++ b/recipes/ucsc-netclass/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/netClass && make) -cp bin/netClass "$PREFIX/bin" -chmod +x "$PREFIX/bin/netClass" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/netClass && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/netClass "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/netClass" diff --git a/recipes/ucsc-netclass/include.patch b/recipes/ucsc-netclass/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-netclass/include.patch +++ b/recipes/ucsc-netclass/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-netclass/meta.yaml b/recipes/ucsc-netclass/meta.yaml index 48be742bee886..bd64db2ff8c0e 100644 --- a/recipes/ucsc-netclass/meta.yaml +++ b/recipes/ucsc-netclass/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-netclass" %} {% set program = "netClass" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Add classification info to net" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-netfilter/build.sh b/recipes/ucsc-netfilter/build.sh index be78f3e060ccc..69dd249c8e00d 100644 --- a/recipes/ucsc-netfilter/build.sh +++ b/recipes/ucsc-netfilter/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/netFilter && make) -cp bin/netFilter "$PREFIX/bin" -chmod +x "$PREFIX/bin/netFilter" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/netFilter && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/netFilter "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/netFilter" diff --git a/recipes/ucsc-netfilter/include.patch b/recipes/ucsc-netfilter/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-netfilter/include.patch +++ b/recipes/ucsc-netfilter/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-netfilter/meta.yaml b/recipes/ucsc-netfilter/meta.yaml index 0561f41a51fc9..59415265530ab 100644 --- a/recipes/ucsc-netfilter/meta.yaml +++ b/recipes/ucsc-netfilter/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-netfilter" %} {% set program = "netFilter" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Filter out parts of net. What passes" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-netsplit/build.sh b/recipes/ucsc-netsplit/build.sh index 75be84d8d69e7..5baa0ef4281d0 100644 --- a/recipes/ucsc-netsplit/build.sh +++ b/recipes/ucsc-netsplit/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/netSplit && make) -cp bin/netSplit "$PREFIX/bin" -chmod +x "$PREFIX/bin/netSplit" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/netSplit && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/netSplit "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/netSplit" diff --git a/recipes/ucsc-netsplit/include.patch b/recipes/ucsc-netsplit/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-netsplit/include.patch +++ b/recipes/ucsc-netsplit/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-netsplit/meta.yaml b/recipes/ucsc-netsplit/meta.yaml index 8c6739a77a8e9..feca545a7efbc 100644 --- a/recipes/ucsc-netsplit/meta.yaml +++ b/recipes/ucsc-netsplit/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-netsplit" %} {% set program = "netSplit" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Split a genome net file into chromosome net files" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-netsyntenic/build.sh b/recipes/ucsc-netsyntenic/build.sh index 2ac9ac5182941..5e8aebf053581 100644 --- a/recipes/ucsc-netsyntenic/build.sh +++ b/recipes/ucsc-netsyntenic/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/netSyntenic && make) -cp bin/netSyntenic "$PREFIX/bin" -chmod +x "$PREFIX/bin/netSyntenic" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/netSyntenic && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/netSyntenic "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/netSyntenic" diff --git a/recipes/ucsc-netsyntenic/include.patch b/recipes/ucsc-netsyntenic/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-netsyntenic/include.patch +++ b/recipes/ucsc-netsyntenic/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-netsyntenic/meta.yaml b/recipes/ucsc-netsyntenic/meta.yaml index 81b2bddddd265..87b26bea97f27 100644 --- a/recipes/ucsc-netsyntenic/meta.yaml +++ b/recipes/ucsc-netsyntenic/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-netsyntenic" %} {% set program = "netSyntenic" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Add synteny info to net." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-nettoaxt/build.sh b/recipes/ucsc-nettoaxt/build.sh index 733eca3ea04bf..73bdfb3fd65e8 100644 --- a/recipes/ucsc-nettoaxt/build.sh +++ b/recipes/ucsc-nettoaxt/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/netToAxt && make) -cp bin/netToAxt "$PREFIX/bin" -chmod +x "$PREFIX/bin/netToAxt" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/netToAxt && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/netToAxt "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/netToAxt" diff --git a/recipes/ucsc-nettoaxt/include.patch b/recipes/ucsc-nettoaxt/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-nettoaxt/include.patch +++ b/recipes/ucsc-nettoaxt/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-nettoaxt/meta.yaml b/recipes/ucsc-nettoaxt/meta.yaml index 52f7b5123312b..aeef00d707002 100644 --- a/recipes/ucsc-nettoaxt/meta.yaml +++ b/recipes/ucsc-nettoaxt/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-nettoaxt" %} {% set program = "netToAxt" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert net (and chain) to axt." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-nettobed/build.sh b/recipes/ucsc-nettobed/build.sh index ebd0e971bcab6..f24f2ee9b350d 100644 --- a/recipes/ucsc-nettobed/build.sh +++ b/recipes/ucsc-nettobed/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/netToBed && make) -cp bin/netToBed "$PREFIX/bin" -chmod +x "$PREFIX/bin/netToBed" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/netToBed && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/netToBed "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/netToBed" diff --git a/recipes/ucsc-nettobed/include.patch b/recipes/ucsc-nettobed/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-nettobed/include.patch +++ b/recipes/ucsc-nettobed/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-nettobed/meta.yaml b/recipes/ucsc-nettobed/meta.yaml index a1278573aba66..78ef0cc414f73 100644 --- a/recipes/ucsc-nettobed/meta.yaml +++ b/recipes/ucsc-nettobed/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-nettobed" %} {% set program = "netToBed" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert target coverage of net to a bed file." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-newprog/build.sh b/recipes/ucsc-newprog/build.sh index c3ae494488a4a..8549421304b91 100644 --- a/recipes/ucsc-newprog/build.sh +++ b/recipes/ucsc-newprog/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/newProg && make) -cp bin/newProg "$PREFIX/bin" -chmod +x "$PREFIX/bin/newProg" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/newProg && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/newProg "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/newProg" diff --git a/recipes/ucsc-newprog/include.patch b/recipes/ucsc-newprog/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-newprog/include.patch +++ b/recipes/ucsc-newprog/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-newprog/meta.yaml b/recipes/ucsc-newprog/meta.yaml index 9d93bc10fe5fe..4f06ccbc16664 100644 --- a/recipes/ucsc-newprog/meta.yaml +++ b/recipes/ucsc-newprog/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-newprog" %} {% set program = "newProg" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "make a new C source skeleton." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-newpythonprog/build.sh b/recipes/ucsc-newpythonprog/build.sh index a049d1734108b..9b3d10a8a6f99 100644 --- a/recipes/ucsc-newpythonprog/build.sh +++ b/recipes/ucsc-newpythonprog/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/newPythonProg && make) -cp bin/newPythonProg "$PREFIX/bin" -chmod +x "$PREFIX/bin/newPythonProg" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/newPythonProg && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/newPythonProg "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/newPythonProg" diff --git a/recipes/ucsc-newpythonprog/include.patch b/recipes/ucsc-newpythonprog/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-newpythonprog/include.patch +++ b/recipes/ucsc-newpythonprog/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-newpythonprog/meta.yaml b/recipes/ucsc-newpythonprog/meta.yaml index 7f8c05c0c5380..361d9f8b5f4fd 100644 --- a/recipes/ucsc-newpythonprog/meta.yaml +++ b/recipes/ucsc-newpythonprog/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-newpythonprog" %} {% set program = "newPythonProg" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Make a skeleton for a new python program" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-nibfrag/build.sh b/recipes/ucsc-nibfrag/build.sh index 45e7eb54f7668..bb08f993f9b15 100644 --- a/recipes/ucsc-nibfrag/build.sh +++ b/recipes/ucsc-nibfrag/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/nibFrag && make) -cp bin/nibFrag "$PREFIX/bin" -chmod +x "$PREFIX/bin/nibFrag" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/nibFrag && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/nibFrag "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/nibFrag" diff --git a/recipes/ucsc-nibfrag/include.patch b/recipes/ucsc-nibfrag/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-nibfrag/include.patch +++ b/recipes/ucsc-nibfrag/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-nibfrag/meta.yaml b/recipes/ucsc-nibfrag/meta.yaml index c4ad183570323..d62bed526b13b 100644 --- a/recipes/ucsc-nibfrag/meta.yaml +++ b/recipes/ucsc-nibfrag/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-nibfrag" %} {% set program = "nibFrag" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Extract part of a nib file as .fa (all bases/gaps lower case by default)" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-nibsize/build.sh b/recipes/ucsc-nibsize/build.sh index e2caa29987ced..7a2721a2626ba 100644 --- a/recipes/ucsc-nibsize/build.sh +++ b/recipes/ucsc-nibsize/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/nibSize && make) -cp bin/nibSize "$PREFIX/bin" -chmod +x "$PREFIX/bin/nibSize" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/nibSize && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/nibSize "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/nibSize" diff --git a/recipes/ucsc-nibsize/include.patch b/recipes/ucsc-nibsize/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-nibsize/include.patch +++ b/recipes/ucsc-nibsize/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-nibsize/meta.yaml b/recipes/ucsc-nibsize/meta.yaml index 79d338775cab0..c137ff3bace8e 100644 --- a/recipes/ucsc-nibsize/meta.yaml +++ b/recipes/ucsc-nibsize/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-nibsize" %} {% set program = "nibSize" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "print size of nibs" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-oligomatch/build.sh b/recipes/ucsc-oligomatch/build.sh index 1d3303dce7e3e..3d72e4bab8926 100644 --- a/recipes/ucsc-oligomatch/build.sh +++ b/recipes/ucsc-oligomatch/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/oligoMatch && make) -cp bin/oligoMatch "$PREFIX/bin" -chmod +x "$PREFIX/bin/oligoMatch" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/oligoMatch && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/oligoMatch "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/oligoMatch" diff --git a/recipes/ucsc-oligomatch/include.patch b/recipes/ucsc-oligomatch/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-oligomatch/include.patch +++ b/recipes/ucsc-oligomatch/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-oligomatch/meta.yaml b/recipes/ucsc-oligomatch/meta.yaml index 1aef9ddca42aa..f34d627ba9455 100644 --- a/recipes/ucsc-oligomatch/meta.yaml +++ b/recipes/ucsc-oligomatch/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-oligomatch" %} {% set program = "oligoMatch" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "find perfect matches in sequence." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-overlapselect/build.sh b/recipes/ucsc-overlapselect/build.sh index cc2603b122258..142a3f3814a7c 100644 --- a/recipes/ucsc-overlapselect/build.sh +++ b/recipes/ucsc-overlapselect/build.sh @@ -1,15 +1,22 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export BINDIR=$(pwd)/bin export L="${LDFLAGS}" -export LIBRARY_PATH=$PREFIX/lib -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/stringify && make) -(cd kent/src/hg/utils/overlapSelect && make) -cp bin/overlapSelect "$PREFIX/bin" -chmod +x "$PREFIX/bin/overlapSelect" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/stringify && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/overlapSelect && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/overlapSelect "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/overlapSelect" diff --git a/recipes/ucsc-overlapselect/include.patch b/recipes/ucsc-overlapselect/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-overlapselect/include.patch +++ b/recipes/ucsc-overlapselect/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-overlapselect/meta.yaml b/recipes/ucsc-overlapselect/meta.yaml index c56ff504055c6..00978ce2ec5d1 100644 --- a/recipes/ucsc-overlapselect/meta.yaml +++ b/recipes/ucsc-overlapselect/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-overlapselect" %} {% set program = "overlapSelect" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 1 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,24 +27,24 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: " Select records based on overlapping chromosome ranges. The ranges are specified in the selectFile, with each block specifying a range. @@ -50,3 +52,11 @@ Records are copied from the inFile to outFile based on the selection criteria. Selection is based on blocks or exons rather than entire range. " + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-para/build.sh b/recipes/ucsc-para/build.sh index 6fd859b06df5a..42637fdceedef 100644 --- a/recipes/ucsc-para/build.sh +++ b/recipes/ucsc-para/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export BINDIR=$(pwd)/bin export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/parasol && make) -cp kent/src/parasol/bin/para "$PREFIX/bin" -chmod +x "$PREFIX/bin/para" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/parasol && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp kent/src/parasol/bin/para "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/para" diff --git a/recipes/ucsc-para/include.patch b/recipes/ucsc-para/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-para/include.patch +++ b/recipes/ucsc-para/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-para/meta.yaml b/recipes/ucsc-para/meta.yaml index ce4365c52b3fd..51ddc57dd7308 100644 --- a/recipes/ucsc-para/meta.yaml +++ b/recipes/ucsc-para/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-para" %} {% set program = "para" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "version 12.18" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-parafetch/build.sh b/recipes/ucsc-parafetch/build.sh index 4ca0a8d0b0c96..4b721d3254311 100644 --- a/recipes/ucsc-parafetch/build.sh +++ b/recipes/ucsc-parafetch/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/paraFetch && make) -cp bin/paraFetch "$PREFIX/bin" -chmod +x "$PREFIX/bin/paraFetch" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/paraFetch && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/paraFetch "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/paraFetch" diff --git a/recipes/ucsc-parafetch/include.patch b/recipes/ucsc-parafetch/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-parafetch/include.patch +++ b/recipes/ucsc-parafetch/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-parafetch/meta.yaml b/recipes/ucsc-parafetch/meta.yaml index f87780cd44f5a..027e9eb2c2a9f 100644 --- a/recipes/ucsc-parafetch/meta.yaml +++ b/recipes/ucsc-parafetch/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-parafetch" %} {% set program = "paraFetch" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "try to fetch url with multiple connections" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-parahub/build.sh b/recipes/ucsc-parahub/build.sh index b07637d49880f..b3179ffe3b0ea 100644 --- a/recipes/ucsc-parahub/build.sh +++ b/recipes/ucsc-parahub/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export BINDIR=$(pwd)/bin export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/parasol && make) -cp kent/src/parasol/bin/paraHub "$PREFIX/bin" -chmod +x "$PREFIX/bin/paraHub" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/parasol && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp kent/src/parasol/bin/paraHub "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/paraHub" diff --git a/recipes/ucsc-parahub/include.patch b/recipes/ucsc-parahub/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-parahub/include.patch +++ b/recipes/ucsc-parahub/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-parahub/meta.yaml b/recipes/ucsc-parahub/meta.yaml index 1c6a1f5c685f9..5643cd381a146 100644 --- a/recipes/ucsc-parahub/meta.yaml +++ b/recipes/ucsc-parahub/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-parahub" %} {% set program = "paraHub" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "parasol hub server version 12.18" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-parahubstop/build.sh b/recipes/ucsc-parahubstop/build.sh index b6d59daed3d1b..4928c38160983 100644 --- a/recipes/ucsc-parahubstop/build.sh +++ b/recipes/ucsc-parahubstop/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export BINDIR=$(pwd)/bin export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/parasol && make) -cp kent/src/parasol/bin/paraHubStop "$PREFIX/bin" -chmod +x "$PREFIX/bin/paraHubStop" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/parasol && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp kent/src/parasol/bin/paraHubStop "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/paraHubStop" diff --git a/recipes/ucsc-parahubstop/include.patch b/recipes/ucsc-parahubstop/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-parahubstop/include.patch +++ b/recipes/ucsc-parahubstop/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-parahubstop/meta.yaml b/recipes/ucsc-parahubstop/meta.yaml index 3db97dd0e5048..58351f6cdbfed 100644 --- a/recipes/ucsc-parahubstop/meta.yaml +++ b/recipes/ucsc-parahubstop/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-parahubstop" %} {% set program = "paraHubStop" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "version 12.18" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-paranode/build.sh b/recipes/ucsc-paranode/build.sh index 9f0598370b27c..4264150ac6964 100644 --- a/recipes/ucsc-paranode/build.sh +++ b/recipes/ucsc-paranode/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export BINDIR=$(pwd)/bin export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/parasol && make) -cp kent/src/parasol/bin/paraNode "$PREFIX/bin" -chmod +x "$PREFIX/bin/paraNode" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/parasol && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp kent/src/parasol/bin/paraNode "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/paraNode" diff --git a/recipes/ucsc-paranode/include.patch b/recipes/ucsc-paranode/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-paranode/include.patch +++ b/recipes/ucsc-paranode/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-paranode/meta.yaml b/recipes/ucsc-paranode/meta.yaml index ac3724fcebfc6..bebf62ba576af 100644 --- a/recipes/ucsc-paranode/meta.yaml +++ b/recipes/ucsc-paranode/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-paranode" %} {% set program = "paraNode" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "version 12.18" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-paranodestart/build.sh b/recipes/ucsc-paranodestart/build.sh index 12c13b8de1cc0..bcd025dda9cfd 100644 --- a/recipes/ucsc-paranodestart/build.sh +++ b/recipes/ucsc-paranodestart/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export BINDIR=$(pwd)/bin export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/parasol && make) -cp kent/src/parasol/bin/paraNodeStart "$PREFIX/bin" -chmod +x "$PREFIX/bin/paraNodeStart" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/parasol && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp kent/src/parasol/bin/paraNodeStart "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/paraNodeStart" diff --git a/recipes/ucsc-paranodestart/include.patch b/recipes/ucsc-paranodestart/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-paranodestart/include.patch +++ b/recipes/ucsc-paranodestart/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-paranodestart/meta.yaml b/recipes/ucsc-paranodestart/meta.yaml index 616f68ffa2dc6..fc403349abe12 100644 --- a/recipes/ucsc-paranodestart/meta.yaml +++ b/recipes/ucsc-paranodestart/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-paranodestart" %} {% set program = "paraNodeStart" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "version 12.18" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-paranodestatus/build.sh b/recipes/ucsc-paranodestatus/build.sh index 1bcf47aaa7b35..511f3623d3dff 100644 --- a/recipes/ucsc-paranodestatus/build.sh +++ b/recipes/ucsc-paranodestatus/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export BINDIR=$(pwd)/bin export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/parasol && make) -cp kent/src/parasol/bin/paraNodeStatus "$PREFIX/bin" -chmod +x "$PREFIX/bin/paraNodeStatus" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/parasol && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp kent/src/parasol/bin/paraNodeStatus "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/paraNodeStatus" diff --git a/recipes/ucsc-paranodestatus/include.patch b/recipes/ucsc-paranodestatus/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-paranodestatus/include.patch +++ b/recipes/ucsc-paranodestatus/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-paranodestatus/meta.yaml b/recipes/ucsc-paranodestatus/meta.yaml index de880fd0e1e19..8f02ac48eb5c0 100644 --- a/recipes/ucsc-paranodestatus/meta.yaml +++ b/recipes/ucsc-paranodestatus/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-paranodestatus" %} {% set program = "paraNodeStatus" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "version 12.18" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-paranodestop/build.sh b/recipes/ucsc-paranodestop/build.sh index 70ee91dcb5ccb..3bf8a31b65e09 100644 --- a/recipes/ucsc-paranodestop/build.sh +++ b/recipes/ucsc-paranodestop/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export BINDIR=$(pwd)/bin export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/parasol && make) -cp kent/src/parasol/bin/paraNodeStop "$PREFIX/bin" -chmod +x "$PREFIX/bin/paraNodeStop" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/parasol && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp kent/src/parasol/bin/paraNodeStop "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/paraNodeStop" diff --git a/recipes/ucsc-paranodestop/include.patch b/recipes/ucsc-paranodestop/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-paranodestop/include.patch +++ b/recipes/ucsc-paranodestop/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-paranodestop/meta.yaml b/recipes/ucsc-paranodestop/meta.yaml index 4cd1915969163..f7128debc7d61 100644 --- a/recipes/ucsc-paranodestop/meta.yaml +++ b/recipes/ucsc-paranodestop/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-paranodestop" %} {% set program = "paraNodeStop" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,24 +27,33 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: " Shut down parasol node daemons on a list of machines " + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-parasol/build.sh b/recipes/ucsc-parasol/build.sh index 71cb7156a637c..0c8cf86fdf1eb 100644 --- a/recipes/ucsc-parasol/build.sh +++ b/recipes/ucsc-parasol/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export BINDIR=$(pwd)/bin export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/parasol && make) -cp kent/src/parasol/bin/parasol "$PREFIX/bin" -chmod +x "$PREFIX/bin/parasol" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/parasol && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp kent/src/parasol/bin/parasol "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/parasol" diff --git a/recipes/ucsc-parasol/include.patch b/recipes/ucsc-parasol/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-parasol/include.patch +++ b/recipes/ucsc-parasol/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-parasol/meta.yaml b/recipes/ucsc-parasol/meta.yaml index 312af4a41ac72..0b01fffa4b53f 100644 --- a/recipes/ucsc-parasol/meta.yaml +++ b/recipes/ucsc-parasol/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-parasol" %} {% set program = "parasol" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,27 +27,36 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: " Parasol is the name given to the overall system for managing jobs on a computer cluster and to this specific command. This command is intended primarily for system administrators. The 'para' command is the primary command for users. " + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-parasync/build.sh b/recipes/ucsc-parasync/build.sh index 471e37fc9c924..5d4414af87ee1 100644 --- a/recipes/ucsc-parasync/build.sh +++ b/recipes/ucsc-parasync/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/paraSync && make) -cp bin/paraSync "$PREFIX/bin" -chmod +x "$PREFIX/bin/paraSync" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/paraSync && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/paraSync "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/paraSync" diff --git a/recipes/ucsc-parasync/include.patch b/recipes/ucsc-parasync/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-parasync/include.patch +++ b/recipes/ucsc-parasync/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-parasync/meta.yaml b/recipes/ucsc-parasync/meta.yaml index cd3b79f2d8324..ef74648b0d782 100644 --- a/recipes/ucsc-parasync/meta.yaml +++ b/recipes/ucsc-parasync/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-parasync" %} {% set program = "paraSync" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "uses paraFetch to recursively mirror url to given path" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-paratestjob/build.sh b/recipes/ucsc-paratestjob/build.sh index 3578cd03ac885..23d28f563e267 100644 --- a/recipes/ucsc-paratestjob/build.sh +++ b/recipes/ucsc-paratestjob/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export BINDIR=$(pwd)/bin export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/parasol && make) -cp kent/src/parasol/bin/paraTestJob "$PREFIX/bin" -chmod +x "$PREFIX/bin/paraTestJob" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/parasol && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp kent/src/parasol/bin/paraTestJob "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/paraTestJob" diff --git a/recipes/ucsc-paratestjob/include.patch b/recipes/ucsc-paratestjob/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-paratestjob/include.patch +++ b/recipes/ucsc-paratestjob/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-paratestjob/meta.yaml b/recipes/ucsc-paratestjob/meta.yaml index ab5b4396c8617..edbd7f5781f3d 100644 --- a/recipes/ucsc-paratestjob/meta.yaml +++ b/recipes/ucsc-paratestjob/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-paratestjob" %} {% set program = "paraTestJob" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "version 12.18" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-positionaltblcheck/build.sh b/recipes/ucsc-positionaltblcheck/build.sh index 2aac0fb259542..4a2db6d3472b3 100644 --- a/recipes/ucsc-positionaltblcheck/build.sh +++ b/recipes/ucsc-positionaltblcheck/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/positionalTblCheck && make) -cp bin/positionalTblCheck "$PREFIX/bin" -chmod +x "$PREFIX/bin/positionalTblCheck" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/positionalTblCheck && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/positionalTblCheck "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/positionalTblCheck" diff --git a/recipes/ucsc-positionaltblcheck/include.patch b/recipes/ucsc-positionaltblcheck/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-positionaltblcheck/include.patch +++ b/recipes/ucsc-positionaltblcheck/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-positionaltblcheck/meta.yaml b/recipes/ucsc-positionaltblcheck/meta.yaml index 022176abef7e4..d71f3a86bf615 100644 --- a/recipes/ucsc-positionaltblcheck/meta.yaml +++ b/recipes/ucsc-positionaltblcheck/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-positionaltblcheck" %} {% set program = "positionalTblCheck" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "check that positional tables are sorted" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-pslcat/build.sh b/recipes/ucsc-pslcat/build.sh index 8f0d19f7c40f9..ef4ae6bb97d3d 100644 --- a/recipes/ucsc-pslcat/build.sh +++ b/recipes/ucsc-pslcat/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/pslCat && make) -cp bin/pslCat "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslCat" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/pslCat && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslCat "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslCat" diff --git a/recipes/ucsc-pslcat/include.patch b/recipes/ucsc-pslcat/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-pslcat/include.patch +++ b/recipes/ucsc-pslcat/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-pslcat/meta.yaml b/recipes/ucsc-pslcat/meta.yaml index 21c04084ea807..84be38fe0d48b 100644 --- a/recipes/ucsc-pslcat/meta.yaml +++ b/recipes/ucsc-pslcat/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-pslcat" %} {% set program = "pslCat" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "concatenate psl files" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-pslcdnafilter/build.sh b/recipes/ucsc-pslcdnafilter/build.sh index 05a21275d4c6d..6f9c17e7cba0b 100644 --- a/recipes/ucsc-pslcdnafilter/build.sh +++ b/recipes/ucsc-pslcdnafilter/build.sh @@ -1,14 +1,22 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export BINDIR=$(pwd)/bin export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/stringify && make) -(cd kent/src/hg/pslCDnaFilter && make) -cp bin/pslCDnaFilter "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslCDnaFilter" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/stringify && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/pslCDnaFilter && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslCDnaFilter "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslCDnaFilter" diff --git a/recipes/ucsc-pslcdnafilter/include.patch b/recipes/ucsc-pslcdnafilter/include.patch index e9c8621194325..edc04d0dc2f64 100644 --- a/recipes/ucsc-pslcdnafilter/include.patch +++ b/recipes/ucsc-pslcdnafilter/include.patch @@ -1,30 +1,22 @@ --- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 ++++ kent/src/inc/common.mk.new 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -+++ kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -@@ -147,4 +147,4 @@ -- L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl -+ L+=${PREFIX}/lib/libssl.so ${PREFIX}/lib/libcrypto.so -ldl - else - ifneq ($(wildcard /opt/local/lib/libssl.a),) - L+=/opt/local/lib/libssl.a ---- kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 -+++ kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ --KENT_INC=-I../../../inc -+KENT_INC=-I../../../inc -I${PREFIX}/include - - straw: straw.o cStraw.o - ld -r -o ../straw.o straw.o cStraw.o +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python + + import logging, sys, optparse, string + from collections import defaultdict --- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ diff --git a/recipes/ucsc-pslcdnafilter/meta.yaml b/recipes/ucsc-pslcdnafilter/meta.yaml index 4249161267e5a..58d533a67e4ff 100644 --- a/recipes/ucsc-pslcdnafilter/meta.yaml +++ b/recipes/ucsc-pslcdnafilter/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-pslcdnafilter" %} {% set program = "pslCDnaFilter" %} -{% set version = "445" %} -{% set sha256 = "c7abb5db6a5e16a79aefcee849d2b59dbc71ee112ca1e41fea0afb25229cf56c" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -14,39 +14,48 @@ source: - "include.patch" build: - skip: True # [osx] + skip: True # [osx] number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: - make - {{ compiler('c') }} - - {{ compiler('cxx') }} - - binutils # [linux] host: - libpng - libuuid - mysql-connector-c - - openssl - libopenssl-static - zlib + run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static + - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: " Filter cDNA alignments in psl format. Filtering criteria are comparative, selecting near best in genome alignments for each given cDNA and non-comparative, based only on the quality of an individual alignment. " + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-pslcheck/build.sh b/recipes/ucsc-pslcheck/build.sh index 9b8ba14c30a7e..bea130066fb3d 100644 --- a/recipes/ucsc-pslcheck/build.sh +++ b/recipes/ucsc-pslcheck/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/pslCheck && make) -cp bin/pslCheck "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslCheck" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/pslCheck && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslCheck "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslCheck" diff --git a/recipes/ucsc-pslcheck/include.patch b/recipes/ucsc-pslcheck/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-pslcheck/include.patch +++ b/recipes/ucsc-pslcheck/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-pslcheck/meta.yaml b/recipes/ucsc-pslcheck/meta.yaml index bdb230d6bd710..58ac61563cab6 100644 --- a/recipes/ucsc-pslcheck/meta.yaml +++ b/recipes/ucsc-pslcheck/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-pslcheck" %} {% set program = "pslCheck" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "validate PSL files" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-psldropoverlap/build.sh b/recipes/ucsc-psldropoverlap/build.sh index 3d6c3a2acdf28..8056852ba266e 100644 --- a/recipes/ucsc-psldropoverlap/build.sh +++ b/recipes/ucsc-psldropoverlap/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/pslDropOverlap && make) -cp bin/pslDropOverlap "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslDropOverlap" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/pslDropOverlap && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslDropOverlap "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslDropOverlap" diff --git a/recipes/ucsc-psldropoverlap/include.patch b/recipes/ucsc-psldropoverlap/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-psldropoverlap/include.patch +++ b/recipes/ucsc-psldropoverlap/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-psldropoverlap/meta.yaml b/recipes/ucsc-psldropoverlap/meta.yaml index 69fc9e7fd456d..6e34ccd565410 100644 --- a/recipes/ucsc-psldropoverlap/meta.yaml +++ b/recipes/ucsc-psldropoverlap/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-psldropoverlap" %} {% set program = "pslDropOverlap" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "deletes all overlapping self alignments. " + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-pslfilter/build.sh b/recipes/ucsc-pslfilter/build.sh index 45a8bda3a2219..cf8b855b41b42 100644 --- a/recipes/ucsc-pslfilter/build.sh +++ b/recipes/ucsc-pslfilter/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/pslFilter && make) -cp bin/pslFilter "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslFilter" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/pslFilter && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslFilter "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslFilter" diff --git a/recipes/ucsc-pslfilter/include.patch b/recipes/ucsc-pslfilter/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-pslfilter/include.patch +++ b/recipes/ucsc-pslfilter/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-pslfilter/meta.yaml b/recipes/ucsc-pslfilter/meta.yaml index 73d97517cbbee..3069b7da5417d 100644 --- a/recipes/ucsc-pslfilter/meta.yaml +++ b/recipes/ucsc-pslfilter/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-pslfilter" %} {% set program = "pslFilter" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "filter out psl file" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-pslhisto/build.sh b/recipes/ucsc-pslhisto/build.sh index 238e2991da267..0e8b1fe8c5bf1 100644 --- a/recipes/ucsc-pslhisto/build.sh +++ b/recipes/ucsc-pslhisto/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/pslHisto && make) -cp bin/pslHisto "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslHisto" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/pslHisto && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslHisto "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslHisto" diff --git a/recipes/ucsc-pslhisto/include.patch b/recipes/ucsc-pslhisto/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-pslhisto/include.patch +++ b/recipes/ucsc-pslhisto/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-pslhisto/meta.yaml b/recipes/ucsc-pslhisto/meta.yaml index 4c2c365449d80..3f78d33a190b3 100644 --- a/recipes/ucsc-pslhisto/meta.yaml +++ b/recipes/ucsc-pslhisto/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-pslhisto" %} {% set program = "pslHisto" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,25 +27,34 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: " Collect counts on PSL alignments for making histograms. These then be analyzed with R, textHistogram, etc. " + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-pslliftsubrangeblat/build.sh b/recipes/ucsc-pslliftsubrangeblat/build.sh index 0e33ea9346038..a814a887df9b0 100644 --- a/recipes/ucsc-pslliftsubrangeblat/build.sh +++ b/recipes/ucsc-pslliftsubrangeblat/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/pslLiftSubrangeBlat && make) -cp bin/pslLiftSubrangeBlat "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslLiftSubrangeBlat" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/pslLiftSubrangeBlat && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslLiftSubrangeBlat "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslLiftSubrangeBlat" diff --git a/recipes/ucsc-pslliftsubrangeblat/include.patch b/recipes/ucsc-pslliftsubrangeblat/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-pslliftsubrangeblat/include.patch +++ b/recipes/ucsc-pslliftsubrangeblat/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-pslliftsubrangeblat/meta.yaml b/recipes/ucsc-pslliftsubrangeblat/meta.yaml index fecad941cbb28..79dce984359ef 100644 --- a/recipes/ucsc-pslliftsubrangeblat/meta.yaml +++ b/recipes/ucsc-pslliftsubrangeblat/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-pslliftsubrangeblat" %} {% set program = "pslLiftSubrangeBlat" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "lift PSLs from blat subrange alignments" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-pslmap/build.sh b/recipes/ucsc-pslmap/build.sh index a50ee2333c360..dc5c2fd9f25d7 100644 --- a/recipes/ucsc-pslmap/build.sh +++ b/recipes/ucsc-pslmap/build.sh @@ -1,14 +1,22 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export BINDIR=$(pwd)/bin export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/stringify && make) -(cd kent/src/hg/utils/pslMap && make) -cp bin/pslMap "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslMap" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/stringify && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/pslMap && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslMap "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslMap" diff --git a/recipes/ucsc-pslmap/include.patch b/recipes/ucsc-pslmap/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-pslmap/include.patch +++ b/recipes/ucsc-pslmap/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-pslmap/meta.yaml b/recipes/ucsc-pslmap/meta.yaml index 2c144a480b637..df0c23ae1a8c3 100644 --- a/recipes/ucsc-pslmap/meta.yaml +++ b/recipes/ucsc-pslmap/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-pslmap" %} {% set program = "pslMap" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 1 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "map PSLs alignments to new targets using alignments of" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-pslmappostchain/build.sh b/recipes/ucsc-pslmappostchain/build.sh index 54453ecba698c..5eadb4481a518 100644 --- a/recipes/ucsc-pslmappostchain/build.sh +++ b/recipes/ucsc-pslmappostchain/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/pslMapPostChain && make) -cp bin/pslMapPostChain "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslMapPostChain" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/pslMapPostChain && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslMapPostChain "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslMapPostChain" diff --git a/recipes/ucsc-pslmappostchain/include.patch b/recipes/ucsc-pslmappostchain/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-pslmappostchain/include.patch +++ b/recipes/ucsc-pslmappostchain/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-pslmappostchain/meta.yaml b/recipes/ucsc-pslmappostchain/meta.yaml index b2906a3216d1f..7c51187e06db4 100644 --- a/recipes/ucsc-pslmappostchain/meta.yaml +++ b/recipes/ucsc-pslmappostchain/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-pslmappostchain" %} {% set program = "pslMapPostChain" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,27 +27,36 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: " Post genomic pslMap (TransMap) chaining. This takes transcripts that have been mapped via genomic chains adds back in blocks that didn't get include in genomic chains due to complex rearrangements or other issues. " + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-pslmrnacover/build.sh b/recipes/ucsc-pslmrnacover/build.sh index 356e0e2e3bc36..9cff5cb571c0e 100644 --- a/recipes/ucsc-pslmrnacover/build.sh +++ b/recipes/ucsc-pslmrnacover/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/mouseStuff/pslMrnaCover && make) -cp bin/pslMrnaCover "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslMrnaCover" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/mouseStuff/pslMrnaCover && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslMrnaCover "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslMrnaCover" diff --git a/recipes/ucsc-pslmrnacover/include.patch b/recipes/ucsc-pslmrnacover/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-pslmrnacover/include.patch +++ b/recipes/ucsc-pslmrnacover/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-pslmrnacover/meta.yaml b/recipes/ucsc-pslmrnacover/meta.yaml index 8a19d625c6e28..a50e026a5250b 100644 --- a/recipes/ucsc-pslmrnacover/meta.yaml +++ b/recipes/ucsc-pslmrnacover/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-pslmrnacover" %} {% set program = "pslMrnaCover" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Make histogram of coverage percentage of mRNA in psl." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-pslpairs/build.sh b/recipes/ucsc-pslpairs/build.sh index e16513ef01203..6cd14191ba17c 100644 --- a/recipes/ucsc-pslpairs/build.sh +++ b/recipes/ucsc-pslpairs/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/pslPairs && make) -cp bin/pslPairs "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslPairs" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/pslPairs && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslPairs "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslPairs" diff --git a/recipes/ucsc-pslpairs/include.patch b/recipes/ucsc-pslpairs/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-pslpairs/include.patch +++ b/recipes/ucsc-pslpairs/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-pslpairs/meta.yaml b/recipes/ucsc-pslpairs/meta.yaml index 6f627277f1e4a..73161b3ec6fb7 100644 --- a/recipes/ucsc-pslpairs/meta.yaml +++ b/recipes/ucsc-pslpairs/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-pslpairs" %} {% set program = "pslPairs" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "join paired ends in psl alignments" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-pslpartition/build.sh b/recipes/ucsc-pslpartition/build.sh index 3a4209e4f50cf..291e7d801ec0b 100644 --- a/recipes/ucsc-pslpartition/build.sh +++ b/recipes/ucsc-pslpartition/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/pslPartition && make) -cp bin/pslPartition "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslPartition" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/pslPartition && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslPartition "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslPartition" diff --git a/recipes/ucsc-pslpartition/include.patch b/recipes/ucsc-pslpartition/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-pslpartition/include.patch +++ b/recipes/ucsc-pslpartition/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-pslpartition/meta.yaml b/recipes/ucsc-pslpartition/meta.yaml index 11df1060d2279..377e85b51ecf5 100644 --- a/recipes/ucsc-pslpartition/meta.yaml +++ b/recipes/ucsc-pslpartition/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-pslpartition" %} {% set program = "pslPartition" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "split PSL files into non-overlapping sets" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-pslpostarget/build.sh b/recipes/ucsc-pslpostarget/build.sh index 37338962297b7..fb27dca9ad942 100644 --- a/recipes/ucsc-pslpostarget/build.sh +++ b/recipes/ucsc-pslpostarget/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/pslPosTarget && make) -cp bin/pslPosTarget "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslPosTarget" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/pslPosTarget && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslPosTarget "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslPosTarget" diff --git a/recipes/ucsc-pslpostarget/include.patch b/recipes/ucsc-pslpostarget/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-pslpostarget/include.patch +++ b/recipes/ucsc-pslpostarget/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-pslpostarget/meta.yaml b/recipes/ucsc-pslpostarget/meta.yaml index 68c7c3cd85537..8172abd6a6979 100644 --- a/recipes/ucsc-pslpostarget/meta.yaml +++ b/recipes/ucsc-pslpostarget/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-pslpostarget" %} {% set program = "pslPosTarget" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "flip psl strands so target is positive and implicit" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-pslpretty/build.sh b/recipes/ucsc-pslpretty/build.sh index 89c3ce9725e23..f4d1451c7c558 100644 --- a/recipes/ucsc-pslpretty/build.sh +++ b/recipes/ucsc-pslpretty/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/pslPretty && make) -cp bin/pslPretty "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslPretty" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/pslPretty && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslPretty "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslPretty" diff --git a/recipes/ucsc-pslpretty/include.patch b/recipes/ucsc-pslpretty/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-pslpretty/include.patch +++ b/recipes/ucsc-pslpretty/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-pslpretty/meta.yaml b/recipes/ucsc-pslpretty/meta.yaml index 9810dafca6c09..e2db3fedad559 100644 --- a/recipes/ucsc-pslpretty/meta.yaml +++ b/recipes/ucsc-pslpretty/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-pslpretty" %} {% set program = "pslPretty" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert PSL to human-readable output" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-pslrc/build.sh b/recipes/ucsc-pslrc/build.sh index 03b0eed50d4cd..6ca282e519ca1 100644 --- a/recipes/ucsc-pslrc/build.sh +++ b/recipes/ucsc-pslrc/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/pslRc && make) -cp bin/pslRc "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslRc" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/pslRc && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslRc "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslRc" diff --git a/recipes/ucsc-pslrc/include.patch b/recipes/ucsc-pslrc/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-pslrc/include.patch +++ b/recipes/ucsc-pslrc/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-pslrc/meta.yaml b/recipes/ucsc-pslrc/meta.yaml index a42ca7ee23c4d..3ac6f82f47dfe 100644 --- a/recipes/ucsc-pslrc/meta.yaml +++ b/recipes/ucsc-pslrc/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-pslrc" %} {% set program = "pslRc" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "reverse-complement psl" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-pslrecalcmatch/build.sh b/recipes/ucsc-pslrecalcmatch/build.sh index 8627cd251a72a..17f174080a9f0 100644 --- a/recipes/ucsc-pslrecalcmatch/build.sh +++ b/recipes/ucsc-pslrecalcmatch/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/pslRecalcMatch && make) -cp bin/pslRecalcMatch "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslRecalcMatch" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/pslRecalcMatch && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslRecalcMatch "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslRecalcMatch" diff --git a/recipes/ucsc-pslrecalcmatch/include.patch b/recipes/ucsc-pslrecalcmatch/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-pslrecalcmatch/include.patch +++ b/recipes/ucsc-pslrecalcmatch/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-pslrecalcmatch/meta.yaml b/recipes/ucsc-pslrecalcmatch/meta.yaml index 346d395661228..3a6b62e0f316b 100644 --- a/recipes/ucsc-pslrecalcmatch/meta.yaml +++ b/recipes/ucsc-pslrecalcmatch/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-pslrecalcmatch" %} {% set program = "pslRecalcMatch" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Recalculate match,mismatch,repMatch columns in psl file." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-pslreps/build.sh b/recipes/ucsc-pslreps/build.sh index adbe151df2566..fa9e34309baed 100644 --- a/recipes/ucsc-pslreps/build.sh +++ b/recipes/ucsc-pslreps/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/pslReps && make) -cp bin/pslReps "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslReps" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/pslReps && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslReps "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslReps" diff --git a/recipes/ucsc-pslreps/include.patch b/recipes/ucsc-pslreps/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-pslreps/include.patch +++ b/recipes/ucsc-pslreps/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-pslreps/meta.yaml b/recipes/ucsc-pslreps/meta.yaml index 450be1b4a1e2c..a6430c181ea3c 100644 --- a/recipes/ucsc-pslreps/meta.yaml +++ b/recipes/ucsc-pslreps/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-pslreps" %} {% set program = "pslReps" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Analyze repeats and generate genome-wide best alignments from a" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-pslscore/build.sh b/recipes/ucsc-pslscore/build.sh index 1a0fa041d5306..874a7d983f790 100644 --- a/recipes/ucsc-pslscore/build.sh +++ b/recipes/ucsc-pslscore/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/pslScore && make) -cp bin/pslScore "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslScore" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/pslScore && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslScore "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslScore" diff --git a/recipes/ucsc-pslscore/include.patch b/recipes/ucsc-pslscore/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-pslscore/include.patch +++ b/recipes/ucsc-pslscore/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-pslscore/meta.yaml b/recipes/ucsc-pslscore/meta.yaml index 5be496a84abbb..1476a30e87a17 100644 --- a/recipes/ucsc-pslscore/meta.yaml +++ b/recipes/ucsc-pslscore/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-pslscore" %} {% set program = "pslScore" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "calculate web blat score from psl files" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-pslselect/build.sh b/recipes/ucsc-pslselect/build.sh index 661a81177c6c2..c9df1304a0391 100644 --- a/recipes/ucsc-pslselect/build.sh +++ b/recipes/ucsc-pslselect/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/pslSelect && make) -cp bin/pslSelect "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslSelect" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/pslSelect && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslSelect "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslSelect" diff --git a/recipes/ucsc-pslselect/include.patch b/recipes/ucsc-pslselect/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-pslselect/include.patch +++ b/recipes/ucsc-pslselect/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-pslselect/meta.yaml b/recipes/ucsc-pslselect/meta.yaml index 94e42706a0ac7..58d456a600295 100644 --- a/recipes/ucsc-pslselect/meta.yaml +++ b/recipes/ucsc-pslselect/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-pslselect" %} {% set program = "pslSelect" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "select records from a PSL file." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-pslsomerecords/build.sh b/recipes/ucsc-pslsomerecords/build.sh index c7390660855d1..ad88b60584d55 100644 --- a/recipes/ucsc-pslsomerecords/build.sh +++ b/recipes/ucsc-pslsomerecords/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/pslSomeRecords && make) -cp bin/pslSomeRecords "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslSomeRecords" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/pslSomeRecords && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslSomeRecords "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslSomeRecords" diff --git a/recipes/ucsc-pslsomerecords/include.patch b/recipes/ucsc-pslsomerecords/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-pslsomerecords/include.patch +++ b/recipes/ucsc-pslsomerecords/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-pslsomerecords/meta.yaml b/recipes/ucsc-pslsomerecords/meta.yaml index 1bc820c6a1f16..5af9a55a1dad2 100644 --- a/recipes/ucsc-pslsomerecords/meta.yaml +++ b/recipes/ucsc-pslsomerecords/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-pslsomerecords" %} {% set program = "pslSomeRecords" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Extract multiple psl records" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-pslsort/build.sh b/recipes/ucsc-pslsort/build.sh index c3d14514620b3..046c3d78cb35f 100644 --- a/recipes/ucsc-pslsort/build.sh +++ b/recipes/ucsc-pslsort/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/pslSort && make) -cp bin/pslSort "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslSort" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/pslSort && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslSort "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslSort" diff --git a/recipes/ucsc-pslsort/include.patch b/recipes/ucsc-pslsort/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-pslsort/include.patch +++ b/recipes/ucsc-pslsort/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-pslsort/meta.yaml b/recipes/ucsc-pslsort/meta.yaml index 2831091fc2ec6..5e7ae26baeb3f 100644 --- a/recipes/ucsc-pslsort/meta.yaml +++ b/recipes/ucsc-pslsort/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-pslsort" %} {% set program = "pslSort" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 5 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Merge and sort psCluster .psl output files" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-pslstats/build.sh b/recipes/ucsc-pslstats/build.sh index e010d560bb0c1..5955bcc8bc430 100644 --- a/recipes/ucsc-pslstats/build.sh +++ b/recipes/ucsc-pslstats/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/pslStats && make) -cp bin/pslStats "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslStats" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/pslStats && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslStats "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslStats" diff --git a/recipes/ucsc-pslstats/include.patch b/recipes/ucsc-pslstats/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-pslstats/include.patch +++ b/recipes/ucsc-pslstats/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-pslstats/meta.yaml b/recipes/ucsc-pslstats/meta.yaml index 9a3e3b0f48491..df4dcdf568dde 100644 --- a/recipes/ucsc-pslstats/meta.yaml +++ b/recipes/ucsc-pslstats/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-pslstats" %} {% set program = "pslStats" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "collect statistics from a psl file." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-pslswap/build.sh b/recipes/ucsc-pslswap/build.sh index 0b4455e51c576..e1bbe56df4c19 100644 --- a/recipes/ucsc-pslswap/build.sh +++ b/recipes/ucsc-pslswap/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/pslSwap && make) -cp bin/pslSwap "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslSwap" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/pslSwap && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslSwap "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslSwap" diff --git a/recipes/ucsc-pslswap/include.patch b/recipes/ucsc-pslswap/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-pslswap/include.patch +++ b/recipes/ucsc-pslswap/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-pslswap/meta.yaml b/recipes/ucsc-pslswap/meta.yaml index 3d086d16daa16..034f5d8fb55c0 100644 --- a/recipes/ucsc-pslswap/meta.yaml +++ b/recipes/ucsc-pslswap/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-pslswap" %} {% set program = "pslSwap" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,24 +27,33 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: " Swap target and query in psls " + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-psltobed/build.sh b/recipes/ucsc-psltobed/build.sh index 5b52875eee5fb..7280bbec84dfc 100644 --- a/recipes/ucsc-psltobed/build.sh +++ b/recipes/ucsc-psltobed/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/pslToBed && make) -cp bin/pslToBed "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslToBed" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/pslToBed && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslToBed "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslToBed" diff --git a/recipes/ucsc-psltobed/include.patch b/recipes/ucsc-psltobed/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-psltobed/include.patch +++ b/recipes/ucsc-psltobed/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-psltobed/meta.yaml b/recipes/ucsc-psltobed/meta.yaml index df2d5e872272a..470ba825d07d8 100644 --- a/recipes/ucsc-psltobed/meta.yaml +++ b/recipes/ucsc-psltobed/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-psltobed" %} {% set program = "pslToBed" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,24 +27,33 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: " transform a psl format file to a bed format file. " + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-psltobigpsl/build.sh b/recipes/ucsc-psltobigpsl/build.sh index 3e1f3486afb2c..905ffabb5bda3 100644 --- a/recipes/ucsc-psltobigpsl/build.sh +++ b/recipes/ucsc-psltobigpsl/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/pslToBigPsl && make) -cp bin/pslToBigPsl "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslToBigPsl" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/pslToBigPsl && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslToBigPsl "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslToBigPsl" diff --git a/recipes/ucsc-psltobigpsl/include.patch b/recipes/ucsc-psltobigpsl/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-psltobigpsl/include.patch +++ b/recipes/ucsc-psltobigpsl/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-psltobigpsl/meta.yaml b/recipes/ucsc-psltobigpsl/meta.yaml index 2682f3653cd23..79c71bdbe2174 100644 --- a/recipes/ucsc-psltobigpsl/meta.yaml +++ b/recipes/ucsc-psltobigpsl/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-psltobigpsl" %} {% set program = "pslToBigPsl" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 5 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "converts psl to bigPsl input (bed format with extra fields)" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-psltochain/build.sh b/recipes/ucsc-psltochain/build.sh index 395fb5dd5152c..ef1f2a4b3cbc2 100644 --- a/recipes/ucsc-psltochain/build.sh +++ b/recipes/ucsc-psltochain/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/pslToChain && make) -cp bin/pslToChain "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslToChain" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/pslToChain && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslToChain "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslToChain" diff --git a/recipes/ucsc-psltochain/include.patch b/recipes/ucsc-psltochain/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-psltochain/include.patch +++ b/recipes/ucsc-psltochain/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-psltochain/meta.yaml b/recipes/ucsc-psltochain/meta.yaml index 690a1adda6060..87146c0c41407 100644 --- a/recipes/ucsc-psltochain/meta.yaml +++ b/recipes/ucsc-psltochain/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-psltochain" %} {% set program = "pslToChain" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert psl records to chain records " + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-psltopslx/build.sh b/recipes/ucsc-psltopslx/build.sh index 5dbb6b7a422ec..922799ae7f212 100644 --- a/recipes/ucsc-psltopslx/build.sh +++ b/recipes/ucsc-psltopslx/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/pslToPslx && make) -cp bin/pslToPslx "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslToPslx" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/pslToPslx && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslToPslx "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslToPslx" diff --git a/recipes/ucsc-psltopslx/include.patch b/recipes/ucsc-psltopslx/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-psltopslx/include.patch +++ b/recipes/ucsc-psltopslx/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-psltopslx/meta.yaml b/recipes/ucsc-psltopslx/meta.yaml index 77454025bf7f0..cefae969c7fcd 100644 --- a/recipes/ucsc-psltopslx/meta.yaml +++ b/recipes/ucsc-psltopslx/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-psltopslx" %} {% set program = "pslToPslx" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert from psl to pslx format, which includes sequences" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-pslxtofa/build.sh b/recipes/ucsc-pslxtofa/build.sh index 863aec4ce315e..1f69a506672c3 100644 --- a/recipes/ucsc-pslxtofa/build.sh +++ b/recipes/ucsc-pslxtofa/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/pslxToFa && make) -cp bin/pslxToFa "$PREFIX/bin" -chmod +x "$PREFIX/bin/pslxToFa" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/pslxToFa && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/pslxToFa "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/pslxToFa" diff --git a/recipes/ucsc-pslxtofa/include.patch b/recipes/ucsc-pslxtofa/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-pslxtofa/include.patch +++ b/recipes/ucsc-pslxtofa/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-pslxtofa/meta.yaml b/recipes/ucsc-pslxtofa/meta.yaml index 67df737ea1129..25bb9bac1eb2d 100644 --- a/recipes/ucsc-pslxtofa/meta.yaml +++ b/recipes/ucsc-pslxtofa/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-pslxtofa" %} {% set program = "pslxToFa" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "convert pslx (with sequence) to fasta file" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-qacagplift/build.sh b/recipes/ucsc-qacagplift/build.sh index 1bc5422348f6d..c964a8d70f369 100644 --- a/recipes/ucsc-qacagplift/build.sh +++ b/recipes/ucsc-qacagplift/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/qacAgpLift && make) -cp bin/qacAgpLift "$PREFIX/bin" -chmod +x "$PREFIX/bin/qacAgpLift" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/qacAgpLift && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/qacAgpLift "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/qacAgpLift" diff --git a/recipes/ucsc-qacagplift/include.patch b/recipes/ucsc-qacagplift/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-qacagplift/include.patch +++ b/recipes/ucsc-qacagplift/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-qacagplift/meta.yaml b/recipes/ucsc-qacagplift/meta.yaml index eac8a25f5ecf4..d801311aa1b38 100644 --- a/recipes/ucsc-qacagplift/meta.yaml +++ b/recipes/ucsc-qacagplift/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-qacagplift" %} {% set program = "qacAgpLift" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Use AGP to combine per-scaffold qac into per-chrom qac." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-qactoqa/build.sh b/recipes/ucsc-qactoqa/build.sh index e48a8804dd3e7..9eaa54e5d80b4 100644 --- a/recipes/ucsc-qactoqa/build.sh +++ b/recipes/ucsc-qactoqa/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/qacToQa && make) -cp bin/qacToQa "$PREFIX/bin" -chmod +x "$PREFIX/bin/qacToQa" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/qacToQa && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/qacToQa "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/qacToQa" diff --git a/recipes/ucsc-qactoqa/include.patch b/recipes/ucsc-qactoqa/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-qactoqa/include.patch +++ b/recipes/ucsc-qactoqa/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-qactoqa/meta.yaml b/recipes/ucsc-qactoqa/meta.yaml index 0fbf3dbd9b67e..510d12750220f 100644 --- a/recipes/ucsc-qactoqa/meta.yaml +++ b/recipes/ucsc-qactoqa/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-qactoqa" %} {% set program = "qacToQa" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "convert from compressed to uncompressed" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-qactowig/build.sh b/recipes/ucsc-qactowig/build.sh index 246d8ae2ab1e3..d39a37b27c18b 100644 --- a/recipes/ucsc-qactowig/build.sh +++ b/recipes/ucsc-qactowig/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/qacToWig && make) -cp bin/qacToWig "$PREFIX/bin" -chmod +x "$PREFIX/bin/qacToWig" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/qacToWig && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/qacToWig "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/qacToWig" diff --git a/recipes/ucsc-qactowig/include.patch b/recipes/ucsc-qactowig/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-qactowig/include.patch +++ b/recipes/ucsc-qactowig/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-qactowig/meta.yaml b/recipes/ucsc-qactowig/meta.yaml index 70e06d45e11c1..86bbbe0154949 100644 --- a/recipes/ucsc-qactowig/meta.yaml +++ b/recipes/ucsc-qactowig/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-qactowig" %} {% set program = "qacToWig" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "convert from compressed quality score format to wiggle format." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-qatoqac/build.sh b/recipes/ucsc-qatoqac/build.sh index 0211aa66be612..413392663e72b 100644 --- a/recipes/ucsc-qatoqac/build.sh +++ b/recipes/ucsc-qatoqac/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/qaToQac && make) -cp bin/qaToQac "$PREFIX/bin" -chmod +x "$PREFIX/bin/qaToQac" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/qaToQac && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/qaToQac "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/qaToQac" diff --git a/recipes/ucsc-qatoqac/include.patch b/recipes/ucsc-qatoqac/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-qatoqac/include.patch +++ b/recipes/ucsc-qatoqac/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-qatoqac/meta.yaml b/recipes/ucsc-qatoqac/meta.yaml index 5b77b89af8a07..2cdd1b678e576 100644 --- a/recipes/ucsc-qatoqac/meta.yaml +++ b/recipes/ucsc-qatoqac/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-qatoqac" %} {% set program = "qaToQac" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "convert from uncompressed to compressed" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-randomlines/build.sh b/recipes/ucsc-randomlines/build.sh index e180d45f77b14..ea6b63b0d2966 100644 --- a/recipes/ucsc-randomlines/build.sh +++ b/recipes/ucsc-randomlines/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/randomLines && make) -cp bin/randomLines "$PREFIX/bin" -chmod +x "$PREFIX/bin/randomLines" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/randomLines && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/randomLines "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/randomLines" diff --git a/recipes/ucsc-randomlines/include.patch b/recipes/ucsc-randomlines/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-randomlines/include.patch +++ b/recipes/ucsc-randomlines/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-randomlines/meta.yaml b/recipes/ucsc-randomlines/meta.yaml index b3923f83b759d..b186f57343ca7 100644 --- a/recipes/ucsc-randomlines/meta.yaml +++ b/recipes/ucsc-randomlines/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-randomlines" %} {% set program = "randomLines" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Pick out random lines from file" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-rasqlquery/build.sh b/recipes/ucsc-rasqlquery/build.sh index 8973924b1eb3e..82a20c81779f9 100644 --- a/recipes/ucsc-rasqlquery/build.sh +++ b/recipes/ucsc-rasqlquery/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/raSqlQuery && make) -cp bin/raSqlQuery "$PREFIX/bin" -chmod +x "$PREFIX/bin/raSqlQuery" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/raSqlQuery && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/raSqlQuery "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/raSqlQuery" diff --git a/recipes/ucsc-rasqlquery/include.patch b/recipes/ucsc-rasqlquery/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-rasqlquery/include.patch +++ b/recipes/ucsc-rasqlquery/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-rasqlquery/meta.yaml b/recipes/ucsc-rasqlquery/meta.yaml index b61951542b664..8b9fca2d654b4 100644 --- a/recipes/ucsc-rasqlquery/meta.yaml +++ b/recipes/ucsc-rasqlquery/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-rasqlquery" %} {% set program = "raSqlQuery" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Do a SQL-like query on a RA file." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-ratolines/build.sh b/recipes/ucsc-ratolines/build.sh index f7bda7baaa8f9..aee4cda65ffba 100644 --- a/recipes/ucsc-ratolines/build.sh +++ b/recipes/ucsc-ratolines/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/raToLines && make) -cp bin/raToLines "$PREFIX/bin" -chmod +x "$PREFIX/bin/raToLines" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/raToLines && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/raToLines "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/raToLines" diff --git a/recipes/ucsc-ratolines/include.patch b/recipes/ucsc-ratolines/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-ratolines/include.patch +++ b/recipes/ucsc-ratolines/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-ratolines/meta.yaml b/recipes/ucsc-ratolines/meta.yaml index b7e5b58948156..2b95786fa9a09 100644 --- a/recipes/ucsc-ratolines/meta.yaml +++ b/recipes/ucsc-ratolines/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-ratolines" %} {% set program = "raToLines" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Output .ra file stanzas as single lines, with pipe-separated fields." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-ratotab/build.sh b/recipes/ucsc-ratotab/build.sh index 376e0b2cb6681..6ef3bb6dbe25c 100644 --- a/recipes/ucsc-ratotab/build.sh +++ b/recipes/ucsc-ratotab/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/raToTab && make) -cp bin/raToTab "$PREFIX/bin" -chmod +x "$PREFIX/bin/raToTab" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/raToTab && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/raToTab "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/raToTab" diff --git a/recipes/ucsc-ratotab/include.patch b/recipes/ucsc-ratotab/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-ratotab/include.patch +++ b/recipes/ucsc-ratotab/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-ratotab/meta.yaml b/recipes/ucsc-ratotab/meta.yaml index 2e41461139f83..a0318e0be1bf6 100644 --- a/recipes/ucsc-ratotab/meta.yaml +++ b/recipes/ucsc-ratotab/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-ratotab" %} {% set program = "raToTab" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert ra file to table." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-rmfadups/build.sh b/recipes/ucsc-rmfadups/build.sh index b7cedf268cbd0..74f2d3bec2e33 100644 --- a/recipes/ucsc-rmfadups/build.sh +++ b/recipes/ucsc-rmfadups/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/rmFaDups && make) -cp bin/rmFaDups "$PREFIX/bin" -chmod +x "$PREFIX/bin/rmFaDups" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/rmFaDups && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/rmFaDups "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/rmFaDups" diff --git a/recipes/ucsc-rmfadups/include.patch b/recipes/ucsc-rmfadups/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-rmfadups/include.patch +++ b/recipes/ucsc-rmfadups/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-rmfadups/meta.yaml b/recipes/ucsc-rmfadups/meta.yaml index 6c578746a3630..3219c579197fb 100644 --- a/recipes/ucsc-rmfadups/meta.yaml +++ b/recipes/ucsc-rmfadups/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-rmfadups" %} {% set program = "rmFaDups" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "remove duplicate records in FA file" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-rowstocols/build.sh b/recipes/ucsc-rowstocols/build.sh index f4c4bb2ade3fd..233ebf5926753 100644 --- a/recipes/ucsc-rowstocols/build.sh +++ b/recipes/ucsc-rowstocols/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/rowsToCols && make) -cp bin/rowsToCols "$PREFIX/bin" -chmod +x "$PREFIX/bin/rowsToCols" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/rowsToCols && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/rowsToCols "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/rowsToCols" diff --git a/recipes/ucsc-rowstocols/include.patch b/recipes/ucsc-rowstocols/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-rowstocols/include.patch +++ b/recipes/ucsc-rowstocols/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-rowstocols/meta.yaml b/recipes/ucsc-rowstocols/meta.yaml index 5996bb1425ee0..3b9bf1fc1db8b 100644 --- a/recipes/ucsc-rowstocols/meta.yaml +++ b/recipes/ucsc-rowstocols/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-rowstocols" %} {% set program = "rowsToCols" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert rows to columns and vice versa in a text file." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-spacedtotab/build.sh b/recipes/ucsc-spacedtotab/build.sh index 6327bb4f36c3e..1a1c572360a7e 100644 --- a/recipes/ucsc-spacedtotab/build.sh +++ b/recipes/ucsc-spacedtotab/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/spacedToTab && make) -cp bin/spacedToTab "$PREFIX/bin" -chmod +x "$PREFIX/bin/spacedToTab" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/spacedToTab && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/spacedToTab "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/spacedToTab" diff --git a/recipes/ucsc-spacedtotab/include.patch b/recipes/ucsc-spacedtotab/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-spacedtotab/include.patch +++ b/recipes/ucsc-spacedtotab/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-spacedtotab/meta.yaml b/recipes/ucsc-spacedtotab/meta.yaml index d14f6086ea2dc..1f7c293aafb21 100644 --- a/recipes/ucsc-spacedtotab/meta.yaml +++ b/recipes/ucsc-spacedtotab/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-spacedtotab" %} {% set program = "spacedToTab" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert fixed width space separated fields to tab separated" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-splitfile/build.sh b/recipes/ucsc-splitfile/build.sh index e4cbfae5d5da6..0b085f08fe8bd 100644 --- a/recipes/ucsc-splitfile/build.sh +++ b/recipes/ucsc-splitfile/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/splitFile && make) -cp bin/splitFile "$PREFIX/bin" -chmod +x "$PREFIX/bin/splitFile" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/splitFile && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/splitFile "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/splitFile" diff --git a/recipes/ucsc-splitfile/include.patch b/recipes/ucsc-splitfile/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-splitfile/include.patch +++ b/recipes/ucsc-splitfile/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-splitfile/meta.yaml b/recipes/ucsc-splitfile/meta.yaml index d7462e408fdb9..e893afcb87139 100644 --- a/recipes/ucsc-splitfile/meta.yaml +++ b/recipes/ucsc-splitfile/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-splitfile" %} {% set program = "splitFile" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Split up a file" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-splitfilebycolumn/build.sh b/recipes/ucsc-splitfilebycolumn/build.sh index b15b6afb70873..7b1ed691f5fc8 100644 --- a/recipes/ucsc-splitfilebycolumn/build.sh +++ b/recipes/ucsc-splitfilebycolumn/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/splitFileByColumn && make) -cp bin/splitFileByColumn "$PREFIX/bin" -chmod +x "$PREFIX/bin/splitFileByColumn" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/splitFileByColumn && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/splitFileByColumn "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/splitFileByColumn" diff --git a/recipes/ucsc-splitfilebycolumn/include.patch b/recipes/ucsc-splitfilebycolumn/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-splitfilebycolumn/include.patch +++ b/recipes/ucsc-splitfilebycolumn/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-splitfilebycolumn/meta.yaml b/recipes/ucsc-splitfilebycolumn/meta.yaml index aebb3eae685cb..4bab401fc02c4 100644 --- a/recipes/ucsc-splitfilebycolumn/meta.yaml +++ b/recipes/ucsc-splitfilebycolumn/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-splitfilebycolumn" %} {% set program = "splitFileByColumn" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Split text input into files named by column value" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-sqltoxml/build.sh b/recipes/ucsc-sqltoxml/build.sh index 825908cd3ff6b..2e84672942070 100644 --- a/recipes/ucsc-sqltoxml/build.sh +++ b/recipes/ucsc-sqltoxml/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/sqlToXml && make) -cp bin/sqlToXml "$PREFIX/bin" -chmod +x "$PREFIX/bin/sqlToXml" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/sqlToXml && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/sqlToXml "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/sqlToXml" diff --git a/recipes/ucsc-sqltoxml/include.patch b/recipes/ucsc-sqltoxml/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-sqltoxml/include.patch +++ b/recipes/ucsc-sqltoxml/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-sqltoxml/meta.yaml b/recipes/ucsc-sqltoxml/meta.yaml index 3556ed5c11082..690ca5a345e3b 100644 --- a/recipes/ucsc-sqltoxml/meta.yaml +++ b/recipes/ucsc-sqltoxml/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-sqltoxml" %} {% set program = "sqlToXml" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "dump out all or part of a relational database to XML, guided" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-stringify/build.sh b/recipes/ucsc-stringify/build.sh index 8e4e6dccf022d..431d016c0f80d 100644 --- a/recipes/ucsc-stringify/build.sh +++ b/recipes/ucsc-stringify/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/stringify && make) -cp bin/stringify "$PREFIX/bin" -chmod +x "$PREFIX/bin/stringify" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/stringify && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/stringify "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/stringify" diff --git a/recipes/ucsc-stringify/include.patch b/recipes/ucsc-stringify/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-stringify/include.patch +++ b/recipes/ucsc-stringify/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-stringify/meta.yaml b/recipes/ucsc-stringify/meta.yaml index b3f3167443d63..32b2c0585670b 100644 --- a/recipes/ucsc-stringify/meta.yaml +++ b/recipes/ucsc-stringify/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-stringify" %} {% set program = "stringify" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert file to C strings" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-subchar/build.sh b/recipes/ucsc-subchar/build.sh index e32711c636962..0e64313706326 100644 --- a/recipes/ucsc-subchar/build.sh +++ b/recipes/ucsc-subchar/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/subChar && make) -cp bin/subChar "$PREFIX/bin" -chmod +x "$PREFIX/bin/subChar" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/subChar && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/subChar "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/subChar" diff --git a/recipes/ucsc-subchar/include.patch b/recipes/ucsc-subchar/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-subchar/include.patch +++ b/recipes/ucsc-subchar/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-subchar/meta.yaml b/recipes/ucsc-subchar/meta.yaml index 7c31204869979..58f2a5ab8d6c0 100644 --- a/recipes/ucsc-subchar/meta.yaml +++ b/recipes/ucsc-subchar/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-subchar" %} {% set program = "subChar" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Substitute one character for another throughout a file." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-subcolumn/build.sh b/recipes/ucsc-subcolumn/build.sh index 3373060867eb0..4e7e3c1492639 100644 --- a/recipes/ucsc-subcolumn/build.sh +++ b/recipes/ucsc-subcolumn/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/subColumn && make) -cp bin/subColumn "$PREFIX/bin" -chmod +x "$PREFIX/bin/subColumn" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/subColumn && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/subColumn "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/subColumn" diff --git a/recipes/ucsc-subcolumn/include.patch b/recipes/ucsc-subcolumn/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-subcolumn/include.patch +++ b/recipes/ucsc-subcolumn/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-subcolumn/meta.yaml b/recipes/ucsc-subcolumn/meta.yaml index 8a5c7293c3be4..f481ad2ca4aba 100644 --- a/recipes/ucsc-subcolumn/meta.yaml +++ b/recipes/ucsc-subcolumn/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-subcolumn" %} {% set program = "subColumn" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Substitute one column in a tab-separated file." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-taillines/build.sh b/recipes/ucsc-taillines/build.sh index 1d3d8478855c2..31b3b4954aa6c 100644 --- a/recipes/ucsc-taillines/build.sh +++ b/recipes/ucsc-taillines/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/tailLines && make) -cp bin/tailLines "$PREFIX/bin" -chmod +x "$PREFIX/bin/tailLines" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/tailLines && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/tailLines "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/tailLines" diff --git a/recipes/ucsc-taillines/include.patch b/recipes/ucsc-taillines/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-taillines/include.patch +++ b/recipes/ucsc-taillines/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-taillines/meta.yaml b/recipes/ucsc-taillines/meta.yaml index 610642e21c3f4..5b2df04b6411d 100644 --- a/recipes/ucsc-taillines/meta.yaml +++ b/recipes/ucsc-taillines/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-taillines" %} {% set program = "tailLines" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "add tail to each line of file" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-tdbquery/build.sh b/recipes/ucsc-tdbquery/build.sh index 2a385dd48fddb..0111e2ceb8681 100644 --- a/recipes/ucsc-tdbquery/build.sh +++ b/recipes/ucsc-tdbquery/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/tdbQuery && make) -cp bin/tdbQuery "$PREFIX/bin" -chmod +x "$PREFIX/bin/tdbQuery" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/tdbQuery && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/tdbQuery "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/tdbQuery" diff --git a/recipes/ucsc-tdbquery/include.patch b/recipes/ucsc-tdbquery/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-tdbquery/include.patch +++ b/recipes/ucsc-tdbquery/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-tdbquery/meta.yaml b/recipes/ucsc-tdbquery/meta.yaml index 3d46b7ee704a2..212fa54971621 100644 --- a/recipes/ucsc-tdbquery/meta.yaml +++ b/recipes/ucsc-tdbquery/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-tdbquery" %} {% set program = "tdbQuery" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Query the trackDb system using SQL syntax." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-texthistogram/build.sh b/recipes/ucsc-texthistogram/build.sh index 0b14714882311..4b83a0c70f4e6 100644 --- a/recipes/ucsc-texthistogram/build.sh +++ b/recipes/ucsc-texthistogram/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/textHistogram && make) -cp bin/textHistogram "$PREFIX/bin" -chmod +x "$PREFIX/bin/textHistogram" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/textHistogram && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/textHistogram "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/textHistogram" diff --git a/recipes/ucsc-texthistogram/include.patch b/recipes/ucsc-texthistogram/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-texthistogram/include.patch +++ b/recipes/ucsc-texthistogram/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-texthistogram/meta.yaml b/recipes/ucsc-texthistogram/meta.yaml index 087acaeef8301..756b419e8949d 100644 --- a/recipes/ucsc-texthistogram/meta.yaml +++ b/recipes/ucsc-texthistogram/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-texthistogram" %} {% set program = "textHistogram" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Make a histogram in ascii" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-ticktodate/build.sh b/recipes/ucsc-ticktodate/build.sh index 1fb966c199fe3..576694c3ec6fe 100644 --- a/recipes/ucsc-ticktodate/build.sh +++ b/recipes/ucsc-ticktodate/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/tickToDate && make) -cp bin/tickToDate "$PREFIX/bin" -chmod +x "$PREFIX/bin/tickToDate" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/tickToDate && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/tickToDate "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/tickToDate" diff --git a/recipes/ucsc-ticktodate/include.patch b/recipes/ucsc-ticktodate/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-ticktodate/include.patch +++ b/recipes/ucsc-ticktodate/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-ticktodate/meta.yaml b/recipes/ucsc-ticktodate/meta.yaml index 0e2ca23327479..ac0059144d920 100644 --- a/recipes/ucsc-ticktodate/meta.yaml +++ b/recipes/ucsc-ticktodate/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-ticktodate" %} {% set program = "tickToDate" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert seconds since 1970 to time and date" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-tolower/build.sh b/recipes/ucsc-tolower/build.sh index 0af95bdbc3c1b..1208c312db8dd 100644 --- a/recipes/ucsc-tolower/build.sh +++ b/recipes/ucsc-tolower/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/toLower && make) -cp bin/toLower "$PREFIX/bin" -chmod +x "$PREFIX/bin/toLower" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/toLower && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/toLower "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/toLower" diff --git a/recipes/ucsc-tolower/include.patch b/recipes/ucsc-tolower/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-tolower/include.patch +++ b/recipes/ucsc-tolower/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-tolower/meta.yaml b/recipes/ucsc-tolower/meta.yaml index 03e77a0938348..332473fb2342b 100644 --- a/recipes/ucsc-tolower/meta.yaml +++ b/recipes/ucsc-tolower/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-tolower" %} {% set program = "toLower" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert upper case to lower case in file. Leave other chars alone" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-toupper/build.sh b/recipes/ucsc-toupper/build.sh index d7cbdb9fffac3..ce555e0c80bf6 100644 --- a/recipes/ucsc-toupper/build.sh +++ b/recipes/ucsc-toupper/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/toUpper && make) -cp bin/toUpper "$PREFIX/bin" -chmod +x "$PREFIX/bin/toUpper" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/toUpper && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/toUpper "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/toUpper" diff --git a/recipes/ucsc-toupper/include.patch b/recipes/ucsc-toupper/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-toupper/include.patch +++ b/recipes/ucsc-toupper/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-toupper/meta.yaml b/recipes/ucsc-toupper/meta.yaml index 15c9ce22d1447..321ceb63c29a7 100644 --- a/recipes/ucsc-toupper/meta.yaml +++ b/recipes/ucsc-toupper/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-toupper" %} {% set program = "toUpper" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert lower case to upper case in file. Leave other chars alone" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-transmappsltogenepred/build.sh b/recipes/ucsc-transmappsltogenepred/build.sh index 9dd5385bb891c..5e65bc273c9cc 100644 --- a/recipes/ucsc-transmappsltogenepred/build.sh +++ b/recipes/ucsc-transmappsltogenepred/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/transMapPslToGenePred && make) -cp bin/transMapPslToGenePred "$PREFIX/bin" -chmod +x "$PREFIX/bin/transMapPslToGenePred" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/transMapPslToGenePred && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/transMapPslToGenePred "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/transMapPslToGenePred" diff --git a/recipes/ucsc-transmappsltogenepred/include.patch b/recipes/ucsc-transmappsltogenepred/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-transmappsltogenepred/include.patch +++ b/recipes/ucsc-transmappsltogenepred/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-transmappsltogenepred/meta.yaml b/recipes/ucsc-transmappsltogenepred/meta.yaml index 79d57d1cd27f4..293cafa31d030 100644 --- a/recipes/ucsc-transmappsltogenepred/meta.yaml +++ b/recipes/ucsc-transmappsltogenepred/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-transmappsltogenepred" %} {% set program = "transMapPslToGenePred" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "convert PSL alignments of mRNAs to gene annotations." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-trfbig/build.sh b/recipes/ucsc-trfbig/build.sh index fa7537a9dec25..cdc8a63b351a6 100644 --- a/recipes/ucsc-trfbig/build.sh +++ b/recipes/ucsc-trfbig/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/trfBig && make) -cp bin/trfBig "$PREFIX/bin" -chmod +x "$PREFIX/bin/trfBig" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/trfBig && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/trfBig "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/trfBig" diff --git a/recipes/ucsc-trfbig/include.patch b/recipes/ucsc-trfbig/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-trfbig/include.patch +++ b/recipes/ucsc-trfbig/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-trfbig/meta.yaml b/recipes/ucsc-trfbig/meta.yaml index 828d2326d10e3..0025de973200c 100644 --- a/recipes/ucsc-trfbig/meta.yaml +++ b/recipes/ucsc-trfbig/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-trfbig" %} {% set program = "trfBig" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Mask tandem repeats on a big sequence file." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-twobitdup/build.sh b/recipes/ucsc-twobitdup/build.sh index 245b2d099cb46..634c386a90d8d 100644 --- a/recipes/ucsc-twobitdup/build.sh +++ b/recipes/ucsc-twobitdup/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/twoBitDup && make) -cp bin/twoBitDup "$PREFIX/bin" -chmod +x "$PREFIX/bin/twoBitDup" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/twoBitDup && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/twoBitDup "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/twoBitDup" diff --git a/recipes/ucsc-twobitdup/include.patch b/recipes/ucsc-twobitdup/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-twobitdup/include.patch +++ b/recipes/ucsc-twobitdup/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-twobitdup/meta.yaml b/recipes/ucsc-twobitdup/meta.yaml index ceb58f9e80f56..18ea0f188ccfd 100644 --- a/recipes/ucsc-twobitdup/meta.yaml +++ b/recipes/ucsc-twobitdup/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-twobitdup" %} {% set program = "twoBitDup" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "check to see if a twobit file has any identical sequences in it" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-twobitinfo/build.sh b/recipes/ucsc-twobitinfo/build.sh index 5921bddf59576..510984dbad870 100644 --- a/recipes/ucsc-twobitinfo/build.sh +++ b/recipes/ucsc-twobitinfo/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/twoBitInfo && make) -cp bin/twoBitInfo "$PREFIX/bin" -chmod +x "$PREFIX/bin/twoBitInfo" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/twoBitInfo && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/twoBitInfo "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/twoBitInfo" diff --git a/recipes/ucsc-twobitinfo/htmshell.patch b/recipes/ucsc-twobitinfo/htmshell.patch new file mode 100644 index 0000000000000..1e6f87375ed01 --- /dev/null +++ b/recipes/ucsc-twobitinfo/htmshell.patch @@ -0,0 +1,11 @@ +--- kent/src/lib/htmshell.c 2024-03-27 10:56:44.493892141 +0200 ++++ kent/src/lib/htmshell.c 2024-03-27 10:57:01.073792396 +0200 +@@ -713,7 +713,7 @@ + puts("Status: 400\r"); + puts("Content-Type: text/plain; charset=UTF-8\r"); + puts("\r"); +-if (format != NULL && args != NULL) ++if (format != NULL) + { + vfprintf(stdout, format, args); + fprintf(stdout, "\n"); diff --git a/recipes/ucsc-twobitinfo/include.patch b/recipes/ucsc-twobitinfo/include.patch index e9c8621194325..edc04d0dc2f64 100644 --- a/recipes/ucsc-twobitinfo/include.patch +++ b/recipes/ucsc-twobitinfo/include.patch @@ -1,30 +1,22 @@ --- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 ++++ kent/src/inc/common.mk.new 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -+++ kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -@@ -147,4 +147,4 @@ -- L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl -+ L+=${PREFIX}/lib/libssl.so ${PREFIX}/lib/libcrypto.so -ldl - else - ifneq ($(wildcard /opt/local/lib/libssl.a),) - L+=/opt/local/lib/libssl.a ---- kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 -+++ kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ --KENT_INC=-I../../../inc -+KENT_INC=-I../../../inc -I${PREFIX}/include - - straw: straw.o cStraw.o - ld -r -o ../straw.o straw.o cStraw.o +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python + + import logging, sys, optparse, string + from collections import defaultdict --- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ diff --git a/recipes/ucsc-twobitinfo/meta.yaml b/recipes/ucsc-twobitinfo/meta.yaml index f3fcd9757c185..f02d59ed3bbbe 100644 --- a/recipes/ucsc-twobitinfo/meta.yaml +++ b/recipes/ucsc-twobitinfo/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-twobitinfo" %} {% set program = "twoBitInfo" %} -{% set version = "447" %} -{% set sha256 = "747a48486f7481d891e297baf63623b15d699265ede7339f654bcbc42481ac81" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -14,37 +14,44 @@ source: - "include.patch" build: - skip: True # [osx] + skip: True # [osx] number: 0 - ignore_run_exports: - - libpng - - libuuid + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: - make - {{ compiler('c') }} - - {{ compiler('cxx') }} - - binutils # [linux] host: - libpng - libuuid - mysql-connector-c - - openssl - libopenssl-static - zlib + run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static + - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "get information about sequences in a .2bit file" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-twobitmask/build.sh b/recipes/ucsc-twobitmask/build.sh index 5368b1069ee35..04192302896ce 100644 --- a/recipes/ucsc-twobitmask/build.sh +++ b/recipes/ucsc-twobitmask/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/utils/twoBitMask && make) -cp bin/twoBitMask "$PREFIX/bin" -chmod +x "$PREFIX/bin/twoBitMask" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/utils/twoBitMask && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/twoBitMask "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/twoBitMask" diff --git a/recipes/ucsc-twobitmask/include.patch b/recipes/ucsc-twobitmask/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-twobitmask/include.patch +++ b/recipes/ucsc-twobitmask/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-twobitmask/meta.yaml b/recipes/ucsc-twobitmask/meta.yaml index b4712f7ebff1e..cfef8cf9866cd 100644 --- a/recipes/ucsc-twobitmask/meta.yaml +++ b/recipes/ucsc-twobitmask/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-twobitmask" %} {% set program = "twoBitMask" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "apply masking to a .2bit file, creating a new .2bit file" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-twobittofa/build.sh b/recipes/ucsc-twobittofa/build.sh index 56c2c2edc3e97..1db3e3360894c 100644 --- a/recipes/ucsc-twobittofa/build.sh +++ b/recipes/ucsc-twobittofa/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/twoBitToFa && make) -cp bin/twoBitToFa "$PREFIX/bin" -chmod +x "$PREFIX/bin/twoBitToFa" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/twoBitToFa && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/twoBitToFa "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/twoBitToFa" diff --git a/recipes/ucsc-twobittofa/htmshell.patch b/recipes/ucsc-twobittofa/htmshell.patch new file mode 100644 index 0000000000000..1e6f87375ed01 --- /dev/null +++ b/recipes/ucsc-twobittofa/htmshell.patch @@ -0,0 +1,11 @@ +--- kent/src/lib/htmshell.c 2024-03-27 10:56:44.493892141 +0200 ++++ kent/src/lib/htmshell.c 2024-03-27 10:57:01.073792396 +0200 +@@ -713,7 +713,7 @@ + puts("Status: 400\r"); + puts("Content-Type: text/plain; charset=UTF-8\r"); + puts("\r"); +-if (format != NULL && args != NULL) ++if (format != NULL) + { + vfprintf(stdout, format, args); + fprintf(stdout, "\n"); diff --git a/recipes/ucsc-twobittofa/include.patch b/recipes/ucsc-twobittofa/include.patch index e9c8621194325..edc04d0dc2f64 100644 --- a/recipes/ucsc-twobittofa/include.patch +++ b/recipes/ucsc-twobittofa/include.patch @@ -1,30 +1,22 @@ --- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 ++++ kent/src/inc/common.mk.new 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -+++ kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -@@ -147,4 +147,4 @@ -- L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl -+ L+=${PREFIX}/lib/libssl.so ${PREFIX}/lib/libcrypto.so -ldl - else - ifneq ($(wildcard /opt/local/lib/libssl.a),) - L+=/opt/local/lib/libssl.a ---- kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 -+++ kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ --KENT_INC=-I../../../inc -+KENT_INC=-I../../../inc -I${PREFIX}/include - - straw: straw.o cStraw.o - ld -r -o ../straw.o straw.o cStraw.o +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python + + import logging, sys, optparse, string + from collections import defaultdict --- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ diff --git a/recipes/ucsc-twobittofa/meta.yaml b/recipes/ucsc-twobittofa/meta.yaml index 60da0e0bea610..6c74d0cff77f5 100644 --- a/recipes/ucsc-twobittofa/meta.yaml +++ b/recipes/ucsc-twobittofa/meta.yaml @@ -1,52 +1,57 @@ {% set package = "ucsc-twobittofa" %} {% set program = "twoBitToFa" %} -{% set version = "455" %} -{% set sha256 = "e458cadad7c4a5c1b8385edafffa1b29380ac725a0c20535bf5a3bab99fe80db" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: - name: {{ package }} - version: {{ version }} + name: "{{ package }}" + version: "{{ version }}" source: url: "http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v{{ version }}.src.tgz" - sha256: {{ sha256 }} + sha256: "{{ sha256 }}" patches: - - include.patch + - "include.patch" build: - skip: True # [osx] + skip: True # [osx] number: 0 - ignore_run_exports: - - libpng - - libuuid run_exports: - - {{ pin_subpackage("ucsc-twobittofa", max_pin=None) }} + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: - make - {{ compiler('c') }} - - {{ compiler('cxx') }} - - binutils # [linux] host: - libpng - libuuid - mysql-connector-c - - openssl - libopenssl-static - zlib + run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static + - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert all or part of .2bit file to fasta" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-validatefiles/build.sh b/recipes/ucsc-validatefiles/build.sh index d7fc914c34542..59fd038fccaa6 100644 --- a/recipes/ucsc-validatefiles/build.sh +++ b/recipes/ucsc-validatefiles/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/encode3/validateFiles && make) -cp bin/validateFiles "$PREFIX/bin" -chmod +x "$PREFIX/bin/validateFiles" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/encode3/validateFiles && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/validateFiles "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/validateFiles" diff --git a/recipes/ucsc-validatefiles/include.patch b/recipes/ucsc-validatefiles/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-validatefiles/include.patch +++ b/recipes/ucsc-validatefiles/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-validatefiles/meta.yaml b/recipes/ucsc-validatefiles/meta.yaml index 834d239050a73..67e9b60320e72 100644 --- a/recipes/ucsc-validatefiles/meta.yaml +++ b/recipes/ucsc-validatefiles/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-validatefiles" %} {% set program = "validateFiles" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,30 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Validates the format of different genomic files." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + \ No newline at end of file diff --git a/recipes/ucsc-validatemanifest/build.sh b/recipes/ucsc-validatemanifest/build.sh index e727b91ce0514..f92f057e59eaf 100644 --- a/recipes/ucsc-validatemanifest/build.sh +++ b/recipes/ucsc-validatemanifest/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/encode3/validateManifest && make) -cp bin/validateManifest "$PREFIX/bin" -chmod +x "$PREFIX/bin/validateManifest" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/encode3/validateManifest && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/validateManifest "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/validateManifest" diff --git a/recipes/ucsc-validatemanifest/include.patch b/recipes/ucsc-validatemanifest/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-validatemanifest/include.patch +++ b/recipes/ucsc-validatemanifest/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-validatemanifest/meta.yaml b/recipes/ucsc-validatemanifest/meta.yaml index a80b36a6feb4d..a3b17fc4ab953 100644 --- a/recipes/ucsc-validatemanifest/meta.yaml +++ b/recipes/ucsc-validatemanifest/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-validatemanifest" %} {% set program = "validateManifest" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Validates the ENCODE3 manifest.txt file." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-websync/build.sh b/recipes/ucsc-websync/build.sh index f39703618a8ac..eebbd4ce9a700 100644 --- a/recipes/ucsc-websync/build.sh +++ b/recipes/ucsc-websync/build.sh @@ -1,4 +1,7 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -cp kent/src/utils/webSync "$PREFIX/bin" -chmod +x "$PREFIX/bin/webSync" + +set -xe + +mkdir -p "${PREFIX}/bin" +cp kent/src/utils/webSync "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/webSync" diff --git a/recipes/ucsc-websync/include.patch b/recipes/ucsc-websync/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-websync/include.patch +++ b/recipes/ucsc-websync/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-websync/meta.yaml b/recipes/ucsc-websync/meta.yaml index c4bcd00e92eb8..91c8888cce901 100644 --- a/recipes/ucsc-websync/meta.yaml +++ b/recipes/ucsc-websync/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-websync" %} {% set program = "webSync" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,16 +15,25 @@ source: build: skip: True # [osx] - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: + - {{ compiler('c') }} host: + - libpng + - libuuid + - mysql-connector-c + - libopenssl-static + - zlib + run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - python - zlib @@ -37,3 +46,12 @@ about: home: "http://hgdownload.cse.ucsc.edu/admin/exe/" license: "varies; see http://genome.ucsc.edu/license" summary: "download from https server, using files.txt on their end to get the list of files" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-wigcorrelate/build.sh b/recipes/ucsc-wigcorrelate/build.sh index dadcd1bb5bb53..716aad0dea677 100644 --- a/recipes/ucsc-wigcorrelate/build.sh +++ b/recipes/ucsc-wigcorrelate/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/wigCorrelate && make) -cp bin/wigCorrelate "$PREFIX/bin" -chmod +x "$PREFIX/bin/wigCorrelate" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/wigCorrelate && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/wigCorrelate "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/wigCorrelate" diff --git a/recipes/ucsc-wigcorrelate/include.patch b/recipes/ucsc-wigcorrelate/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-wigcorrelate/include.patch +++ b/recipes/ucsc-wigcorrelate/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-wigcorrelate/meta.yaml b/recipes/ucsc-wigcorrelate/meta.yaml index 691ade53701fd..dfa59e07f8970 100644 --- a/recipes/ucsc-wigcorrelate/meta.yaml +++ b/recipes/ucsc-wigcorrelate/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-wigcorrelate" %} {% set program = "wigCorrelate" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Produce a table that correlates all pairs of wigs." + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-wigtobigwig/build.sh b/recipes/ucsc-wigtobigwig/build.sh index f150228de66bc..113f9a2031ecb 100644 --- a/recipes/ucsc-wigtobigwig/build.sh +++ b/recipes/ucsc-wigtobigwig/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/wigToBigWig && make) -cp bin/wigToBigWig "$PREFIX/bin" -chmod +x "$PREFIX/bin/wigToBigWig" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/wigToBigWig && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/wigToBigWig "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/wigToBigWig" diff --git a/recipes/ucsc-wigtobigwig/htmshell.patch b/recipes/ucsc-wigtobigwig/htmshell.patch new file mode 100644 index 0000000000000..1e6f87375ed01 --- /dev/null +++ b/recipes/ucsc-wigtobigwig/htmshell.patch @@ -0,0 +1,11 @@ +--- kent/src/lib/htmshell.c 2024-03-27 10:56:44.493892141 +0200 ++++ kent/src/lib/htmshell.c 2024-03-27 10:57:01.073792396 +0200 +@@ -713,7 +713,7 @@ + puts("Status: 400\r"); + puts("Content-Type: text/plain; charset=UTF-8\r"); + puts("\r"); +-if (format != NULL && args != NULL) ++if (format != NULL) + { + vfprintf(stdout, format, args); + fprintf(stdout, "\n"); diff --git a/recipes/ucsc-wigtobigwig/include.patch b/recipes/ucsc-wigtobigwig/include.patch index e9c8621194325..edc04d0dc2f64 100644 --- a/recipes/ucsc-wigtobigwig/include.patch +++ b/recipes/ucsc-wigtobigwig/include.patch @@ -1,30 +1,22 @@ --- kent/src/inc/common.mk 2017-11-07 17:46:00.000000000 -0500 -+++ kent/src/inc/common.mk 2017-11-13 17:44:51.017090255 -0500 ++++ kent/src/inc/common.mk.new 2017-11-13 17:44:51.017090255 -0500 @@ -17,7 +17,7 @@ endif HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -+++ kent/src/inc/common.mk 2022-10-25 12:00:00.000000000 +0100 -@@ -147,4 +147,4 @@ -- L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl -+ L+=${PREFIX}/lib/libssl.so ${PREFIX}/lib/libcrypto.so -ldl - else - ifneq ($(wildcard /opt/local/lib/libssl.a),) - L+=/opt/local/lib/libssl.a ---- kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 -+++ kent/src/hg/lib/straw/makefile 2022-10-26 12:00:00.000000000 +0100 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ --KENT_INC=-I../../../inc -+KENT_INC=-I../../../inc -I${PREFIX}/include - - straw: straw.o cStraw.o - ld -r -o ../straw.o straw.o cStraw.o +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python + + import logging, sys, optparse, string + from collections import defaultdict --- kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 +++ kent/src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ diff --git a/recipes/ucsc-wigtobigwig/meta.yaml b/recipes/ucsc-wigtobigwig/meta.yaml index f5fe88a1de56b..ac2226d78ed5d 100644 --- a/recipes/ucsc-wigtobigwig/meta.yaml +++ b/recipes/ucsc-wigtobigwig/meta.yaml @@ -1,50 +1,57 @@ {% set package = "ucsc-wigtobigwig" %} {% set program = "wigToBigWig" %} -{% set version = "447" %} -{% set sha256 = "747a48486f7481d891e297baf63623b15d699265ede7339f654bcbc42481ac81" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: - name: {{ package }} - version: {{ version }} + name: "{{ package }}" + version: "{{ version }}" source: url: "http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v{{ version }}.src.tgz" - sha256: {{ sha256 }} + sha256: "{{ sha256 }}" patches: - - include.patch + - "include.patch" build: - number: 1 - skip: True # [osx] - ignore_run_exports: - - libpng - - libuuid + skip: True # [osx] + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: - make - {{ compiler('c') }} - - {{ compiler('cxx') }} - - binutils # [linux] host: - libpng - libuuid - mysql-connector-c - - openssl - libopenssl-static - zlib + run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static + - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" - summary: "Convert ascii format wig file (in fixedStep, variableStep)" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" + summary: "Convert ascii format wig file (in fixedStep, variableStep" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-wordline/build.sh b/recipes/ucsc-wordline/build.sh index 2986588d188dc..f9483c43c25ce 100644 --- a/recipes/ucsc-wordline/build.sh +++ b/recipes/ucsc-wordline/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/wordLine && make) -cp bin/wordLine "$PREFIX/bin" -chmod +x "$PREFIX/bin/wordLine" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/utils/wordLine && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/wordLine "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/wordLine" diff --git a/recipes/ucsc-wordline/include.patch b/recipes/ucsc-wordline/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-wordline/include.patch +++ b/recipes/ucsc-wordline/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-wordline/meta.yaml b/recipes/ucsc-wordline/meta.yaml index 340ea0ab85173..a4f886851f2d7 100644 --- a/recipes/ucsc-wordline/meta.yaml +++ b/recipes/ucsc-wordline/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-wordline" %} {% set program = "wordLine" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "chop up words by white space and output them with one" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-xmlcat/build.sh b/recipes/ucsc-xmlcat/build.sh index e77c3bd1bbd9d..8809a785168a9 100644 --- a/recipes/ucsc-xmlcat/build.sh +++ b/recipes/ucsc-xmlcat/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/xmlCat && make) -cp bin/xmlCat "$PREFIX/bin" -chmod +x "$PREFIX/bin/xmlCat" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/xmlCat && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/xmlCat "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/xmlCat" diff --git a/recipes/ucsc-xmlcat/include.patch b/recipes/ucsc-xmlcat/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-xmlcat/include.patch +++ b/recipes/ucsc-xmlcat/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-xmlcat/meta.yaml b/recipes/ucsc-xmlcat/meta.yaml index ea0cafbacb9bf..fdfb1b545ec90 100644 --- a/recipes/ucsc-xmlcat/meta.yaml +++ b/recipes/ucsc-xmlcat/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-xmlcat" %} {% set program = "xmlCat" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Concatenate xml files together, stuffing all records inside a single outer tag. " + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ucsc-xmltosql/build.sh b/recipes/ucsc-xmltosql/build.sh index 9c0109eec1bf3..da748dca33f72 100644 --- a/recipes/ucsc-xmltosql/build.sh +++ b/recipes/ucsc-xmltosql/build.sh @@ -1,13 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${PREFIX}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin +export INCLUDE_PATH="${PREFIX}/include" +export LIBRARY_PATH="${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 ${LDFLAGS}" +export CXXFLAGS="${CXXFLAGS} -I${PREFIX}/include ${LDFLAGS}" export L="${LDFLAGS}" -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/hg/xmlToSql && make) -cp bin/xmlToSql "$PREFIX/bin" -chmod +x "$PREFIX/bin/xmlToSql" +mkdir -p "${BINDIR}" +(cd kent/src/lib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/htslib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/jkOwnLib && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +(cd kent/src/hg/xmlToSql && make CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j "${CPU_COUNT}") +cp bin/xmlToSql "${PREFIX}/bin" +chmod 0755 "${PREFIX}/bin/xmlToSql" diff --git a/recipes/ucsc-xmltosql/include.patch b/recipes/ucsc-xmltosql/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/recipes/ucsc-xmltosql/include.patch +++ b/recipes/ucsc-xmltosql/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/recipes/ucsc-xmltosql/meta.yaml b/recipes/ucsc-xmltosql/meta.yaml index e73be12d74a2d..d66247fc304ce 100644 --- a/recipes/ucsc-xmltosql/meta.yaml +++ b/recipes/ucsc-xmltosql/meta.yaml @@ -1,7 +1,7 @@ {% set package = "ucsc-xmltosql" %} {% set program = "xmlToSql" %} -{% set version = "377" %} -{% set sha256 = "932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676" %} +{% set version = "469" %} +{% set sha256 = "3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963" %} package: name: "{{ package }}" @@ -15,7 +15,9 @@ source: build: skip: True # [osx] - number: 4 + number: 0 + run_exports: + - {{ pin_subpackage(package, max_pin=None) }} requirements: build: @@ -25,22 +27,31 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{ program }} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${PREFIX}/bin/{{ program }} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "Convert XML dump into a fairly normalized relational database" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + additional-platforms: + - linux-aarch64 diff --git a/recipes/ufcg/meta.yaml b/recipes/ufcg/meta.yaml index 3a687eaf90ffe..55819a6636192 100644 --- a/recipes/ufcg/meta.yaml +++ b/recipes/ufcg/meta.yaml @@ -1,6 +1,6 @@ {% set name = "ufcg" %} -{% set version = "1.0.5" %} -{% set sha256 = "819176e4097c8654e70e1ae49f731aa26f450282f8642783005009b526ce22c3" %} +{% set version = "1.0.6" %} +{% set sha256 = "5b4f171f066eb30a546713e68e67b0dd229314a1941a5796bebd41e028239092" %} package: name: {{ name|lower }} @@ -11,6 +11,8 @@ source: sha256: {{ sha256 }} build: + run_exports: + - {{ pin_subpackage('ufcg', max_pin="x") }} noarch: generic number: 0 diff --git a/recipes/ultraplex/meta.yaml b/recipes/ultraplex/meta.yaml index 86c0708b1c4f0..49c1dae9563dc 100644 --- a/recipes/ultraplex/meta.yaml +++ b/recipes/ultraplex/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 7b1efa09a421590907c7e5177eb9e4837deade89c237b961bcf2f7edfa9f2e90 build: - number: 1 + number: 2 skip: True # [py < 37 or py > 39] script: - "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --use-pep517 -vvv" diff --git a/recipes/umi-transfer/build.sh b/recipes/umi-transfer/build.sh index 5c4efc2ca83d4..dcb80951993e6 100644 --- a/recipes/umi-transfer/build.sh +++ b/recipes/umi-transfer/build.sh @@ -1,10 +1,14 @@ -#!/bin/bash -euo +#!/bin/bash -euo pipefail export CFLAGS="${CFLAGS} -fcommon" -export CXXFLAGS="${CFLAGS} -fcommon" +export CXXFLAGS="${CXXFLAGS} -fcommon" +export RUSTFLAGS="-C link-arg=-s" # Add workaround for SSH-based Git connections from Rust/cargo. See https://github.com/rust-lang/cargo/issues/2078 for details. # We set CARGO_HOME because we don't pass on HOME to conda-build, thus rendering the default "${HOME}/.cargo" defunct. export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="$(pwd)/.cargo" +# Run the tests +RUST_BACKTRACE=1 cargo test --verbose --locked + # build statically linked binary with Rust -RUST_BACKTRACE=1 cargo install --verbose --root $PREFIX --path . \ No newline at end of file +RUST_BACKTRACE=1 cargo install --verbose --locked --root $PREFIX --path . \ No newline at end of file diff --git a/recipes/umi-transfer/meta.yaml b/recipes/umi-transfer/meta.yaml index 061cfdc1d4b78..acf6e68d657d7 100644 --- a/recipes/umi-transfer/meta.yaml +++ b/recipes/umi-transfer/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "1.0.0" %} -{% set sha256 = "04e2ee89487fde9be51984a5143931f349b39563b7e0b1861221389c5c5d1b7a" %} +{% set version = "1.5.0" %} +{% set sha256 = "eeacc6c12aea055f624a29623c96b9396e6b412461f57a8ff9e19ba849c4538d" %} package: name: umi-transfer @@ -11,20 +11,16 @@ source: build: number: 0 + run_exports: + - {{ pin_subpackage('umi-transfer', max_pin="x") }} requirements: build: - - rust >=1.40 - - cmake - make - - autoconf - - {{ compiler('cxx') }} - - pkg-config - - zlib - host: - - zlib - run: - + - cmake + - {{ compiler('c') }} + - {{ compiler("rust") }} + - cargo-bundle-licenses test: commands: @@ -36,3 +32,9 @@ about: license_family: MIT license_file: LICENSE summary: A tool for transferring Unique Molecular Identifiers (UMIs) from a separate FastQ file. + +extra: + recipe-maintainers: + - MatthiasZepper + additional-platforms: + - linux-aarch64 diff --git a/recipes/umi_tools/meta.yaml b/recipes/umi_tools/meta.yaml index 1dfa3b6caa4b6..1226c60bb3b15 100644 --- a/recipes/umi_tools/meta.yaml +++ b/recipes/umi_tools/meta.yaml @@ -1,6 +1,6 @@ {% set name = "umi_tools" %} -{% set version = "1.1.4" %} -{% set sha256hash = "945c4c98e2007369c301a7a009c6f9deb0fda74b0117cd14e14bd134164a4ff6" %} +{% set version = "1.1.5" %} +{% set sha256 = "2a87b75364ebe3e6ccf467d3b6d0501c458a48f3e6c8ab8b7c4dfb3fd7627fab" %} package: name: {{ name }} @@ -8,14 +8,17 @@ package: source: url: https://github.com/CGATOxford/UMI-tools/archive/refs/tags/{{ version }}.tar.gz - sha256: {{ sha256hash }} + sha256: {{ sha256 }} build: - number: 2 - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv" - skip: True # [py27] + number: 3 + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + # python 3.12: error: 'PyLongObject' {aka 'struct _longobject'} has no member named 'ob_digit' + skip: True # [py == 312 ] entry_points: - umi_tools = umi_tools.umi_tools:main + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: build: @@ -36,12 +39,26 @@ requirements: test: commands: - - umi_tools --help + - "umi_tools --help" about: - home: https://github.com/CGATOxford/UMI-tools - license: MIT License + home: "https://github.com/CGATOxford/UMI-tools" + license: MIT license_family: MIT - summary: 'Tools for dealing with Unique Molecular Identifiers - (UMIs) / Random Molecular Tags (RMTs)' - dev_url: https://github.com/CGATOxford/UMI-tools + license_file: LICENSE + summary: "Tools for dealing with Unique Molecular Identifiers + (UMIs) / Random Molecular Tags (RMTs)." + dev_url: "https://github.com/CGATOxford/UMI-tools" + doc_url: "https://umi-tools.readthedocs.io/en/latest" + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + identifiers: + - doi:10.1101/gr.209601.116 + - usegalaxy-eu:umi_tools_count + - usegalaxy-eu:umi_tools_extract + - usegalaxy-eu:umi_tools_group + - usegalaxy-eu:umi_tools_whitelist + - usegalaxy-eu:umi_tools_dedup diff --git a/recipes/umis/build_failure.linux-64.yaml b/recipes/umis/build_failure.linux-64.yaml deleted file mode 100644 index a3914ef686593..0000000000000 --- a/recipes/umis/build_failure.linux-64.yaml +++ /dev/null @@ -1,104 +0,0 @@ -recipe_sha: 6aa33d40e0949fe002642210ecb069ce7b8dc7b3a34fd49ea81ffb4102485b07 # The commit at which this recipe failed to build. -skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. -log: |- - ## Package Plan ## - - environment location: /opt/conda/conda-bld/umis_1685523839323/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol - - - The following NEW packages will be INSTALLED: - - _libgcc_mutex: 0.1-conda_forge conda-forge - _openmp_mutex: 4.5-2_gnu conda-forge - bzip2: 1.0.8-h7f98852_4 conda-forge - ca-certificates: 2023.5.7-hbcca054_0 conda-forge - cython: 0.29.35-py310hc6cd4ac_0 conda-forge - ld_impl_linux-64: 2.40-h41732ed_0 conda-forge - libffi: 3.4.2-h7f98852_5 conda-forge - libgcc-ng: 12.2.0-h65d4601_19 conda-forge - libgomp: 12.2.0-h65d4601_19 conda-forge - libnsl: 2.0.0-h7f98852_0 conda-forge - libsqlite: 3.42.0-h2797004_0 conda-forge - libstdcxx-ng: 12.2.0-h46fd767_19 conda-forge - libuuid: 2.38.1-h0b41bf4_0 conda-forge - libzlib: 1.2.13-h166bdaf_4 conda-forge - ncurses: 6.3-h27087fc_1 conda-forge - openssl: 3.1.1-hd590300_1 conda-forge - pip: 23.1.2-pyhd8ed1ab_0 conda-forge - python: 3.10.11-he550d4f_0_cpython conda-forge - python_abi: 3.10-3_cp310 conda-forge - readline: 8.2-h8228510_1 conda-forge - setuptools: 67.7.2-pyhd8ed1ab_0 conda-forge - tk: 8.6.12-h27826a3_0 conda-forge - tzdata: 2023c-h71feb2d_0 conda-forge - wheel: 0.40.0-pyhd8ed1ab_0 conda-forge - xz: 5.2.6-h166bdaf_0 conda-forge - - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - [34mReloading output folder: [0m[34m/opt/conda/[0m[34mconda-bld[0m - [?25l[2K[0G[] 0.0s - opt/conda/conda-bl.. [2K[1A[2K[0Gopt/conda/conda-bld/linux-64 - opt/conda/conda-bld/noarch 127.0 B @ 522.6kB/s 0.0s - [?25h[34mReloading output folder: [0m[34m/opt/conda/[0m[34mconda-bld[0m - [?25l[2K[0G[] 0.0s - opt/conda/conda-bl.. [2K[1A[2K[0Gopt/conda/conda-bld/linux-64 - opt/conda/conda-bld/noarch 127.0 B @ 3.0MB/s 0.0s - [?25h - ## Package Plan ## - - environment location: /opt/conda/conda-bld/umis_1685523839323/_build_env - - - The following NEW packages will be INSTALLED: - - _libgcc_mutex: 0.1-conda_forge conda-forge - _openmp_mutex: 4.5-2_gnu conda-forge - binutils_impl_linux-64: 2.39-he00db2b_1 conda-forge - binutils_linux-64: 2.39-h5fc0e48_13 conda-forge - gcc_impl_linux-64: 12.2.0-hcc96c02_19 conda-forge - gcc_linux-64: 12.2.0-h4798a0e_13 conda-forge - kernel-headers_linux-64: 2.6.32-he073ed8_15 conda-forge - ld_impl_linux-64: 2.39-hcc3a1bd_1 conda-forge - libgcc-devel_linux-64: 12.2.0-h3b97bd3_19 conda-forge - libgcc-ng: 12.2.0-h65d4601_19 conda-forge - libgomp: 12.2.0-h65d4601_19 conda-forge - libsanitizer: 12.2.0-h46fd767_19 conda-forge - libstdcxx-ng: 12.2.0-h46fd767_19 conda-forge - sysroot_linux-64: 2.12-he073ed8_15 conda-forge - - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - Source cache directory is: /opt/conda/conda-bld/src_cache - INFO:conda_build.source:Source cache directory is: /opt/conda/conda-bld/src_cache - Downloading source to cache: v1.0.9_a471522ccd.tar.gz - INFO:conda_build.source:Downloading source to cache: v1.0.9_a471522ccd.tar.gz - Downloading https://github.com/vals/umis/archive/refs/tags/v1.0.9.tar.gz - INFO:conda_build.source:Downloading https://github.com/vals/umis/archive/refs/tags/v1.0.9.tar.gz - Success - INFO:conda_build.source:Success - Traceback (most recent call last): - File "/opt/conda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/conda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2125, in build - try_download(m, no_download_source=False, raise_error=True) - File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 650, in try_download - source.provide(metadata) - File "/opt/conda/lib/python3.8/site-packages/conda_build/source.py", line 871, in provide - unpack(source_dict, src_dir, metadata.config.src_cache, recipe_path=metadata.path, - File "/opt/conda/lib/python3.8/site-packages/conda_build/source.py", line 146, in unpack - src_path, unhashed_fn = download_to_cache(cache_folder, recipe_path, source_dict, verbose) - File "/opt/conda/lib/python3.8/site-packages/conda_build/source.py", line 111, in download_to_cache - raise RuntimeError("%s mismatch: '%s' != '%s'" % - RuntimeError: SHA256 mismatch: '7d446da4cc31f075e539db6b6d7b31a3309e0c4c708875981d61780c2de7ed82' != 'a471522ccd2ad6d86cb9ae4cbb61f27ace8da80ca75d1f7f3faf980790424179' -# Last 100 lines of the build log. diff --git a/recipes/umis/build_failure.osx-64.yaml b/recipes/umis/build_failure.osx-64.yaml index 4f1a86ddc13aa..156eb183093d2 100644 --- a/recipes/umis/build_failure.osx-64.yaml +++ b/recipes/umis/build_failure.osx-64.yaml @@ -1,104 +1,104 @@ -recipe_sha: 6aa33d40e0949fe002642210ecb069ce7b8dc7b3a34fd49ea81ffb4102485b07 # The commit at which this recipe failed to build. +recipe_sha: db16a0980e9904f8ba53514b8333744e1c9d1e29c19bfa250e06ecc2916beea4 # The hash of the recipe's meta.yaml at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. log: |- - bioconda/osx-64 Using cache - bioconda/noarch Using cache - Reloading output folder: /opt/mambaforge/envs/bioconda/conda-bld - Reloading output folder: /opt/mambaforge/envs/bioconda/conda-bld - Reloading output folder: /opt/mambaforge/envs/bioconda/conda-bld - BUILD START: ['umis-1.0.9-py38h604ca31_1.tar.bz2'] - Reloading output folder: /opt/mambaforge/envs/bioconda/conda-bld + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/umis-1.0.9 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + running install + running build + running build_py + creating build + post_process_shared_lib(m, f, prefix_files, host_prefix) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/post.py", line 1603, in post_process_shared_lib + mk_relative_osx(path, host_prefix, m, files=files, rpaths=rpaths) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/post.py", line 470, in mk_relative_osx + names = macho.otool(path, prefix) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/os_utils/macho.py", line 221, in otool + lines = check_output([otool, "-l", path], stderr=STDOUT).decode("utf-8") + File "/opt/mambaforge/envs/bioconda/lib/python3.10/subprocess.py", line 421, in check_output + return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, + File "/opt/mambaforge/envs/bioconda/lib/python3.10/subprocess.py", line 526, in run + raise CalledProcessError(retcode, process.args, + subprocess.CalledProcessError: Command '['/opt/mambaforge/envs/bioconda/conda-bld/umis_1717900414497/_build_env/bin/llvm-otool', '-l', '/opt/mambaforge/envs/bioconda/conda-bld/umis_1717900414497/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.9/site-packages/utils.cpython-39-darwin.so']' died with . + creating build/lib.macosx-10.9-x86_64-cpython-39 + creating build/lib.macosx-10.9-x86_64-cpython-39/umis + copying umis/__init__.py -> build/lib.macosx-10.9-x86_64-cpython-39/umis + copying umis/umis.py -> build/lib.macosx-10.9-x86_64-cpython-39/umis + copying umis/barcodes.py -> build/lib.macosx-10.9-x86_64-cpython-39/umis + running build_ext + Compiling umis/utils.pyx because it changed. + [1/1] Cythonizing umis/utils.pyx + building 'utils' extension + creating build/temp.macosx-10.9-x86_64-cpython-39 + creating build/temp.macosx-10.9-x86_64-cpython-39/umis + x86_64-apple-darwin13.4.0-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem $PREFIX/include -fPIC -O2 -isystem $PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/umis-1.0.9 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 -I$PREFIX/include/python3.9 -c umis/utils.c -o build/temp.macosx-10.9-x86_64-cpython-39/umis/utils.o + x86_64-apple-darwin13.4.0-clang -bundle -undefined dynamic_lookup -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/umis-1.0.9 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 build/temp.macosx-10.9-x86_64-cpython-39/umis/utils.o -o build/lib.macosx-10.9-x86_64-cpython-39/utils.cpython-39-darwin.so + running install_lib + creating $PREFIX/lib/python3.9/site-packages/umis + copying build/lib.macosx-10.9-x86_64-cpython-39/umis/__init__.py -> $PREFIX/lib/python3.9/site-packages/umis + copying build/lib.macosx-10.9-x86_64-cpython-39/umis/umis.py -> $PREFIX/lib/python3.9/site-packages/umis + copying build/lib.macosx-10.9-x86_64-cpython-39/umis/barcodes.py -> $PREFIX/lib/python3.9/site-packages/umis + copying build/lib.macosx-10.9-x86_64-cpython-39/utils.cpython-39-darwin.so -> $PREFIX/lib/python3.9/site-packages + byte-compiling $PREFIX/lib/python3.9/site-packages/umis/__init__.py to __init__.cpython-39.pyc + byte-compiling $PREFIX/lib/python3.9/site-packages/umis/umis.py to umis.cpython-39.pyc + byte-compiling $PREFIX/lib/python3.9/site-packages/umis/barcodes.py to barcodes.cpython-39.pyc + running install_egg_info + running egg_info + creating umis.egg-info + writing umis.egg-info/PKG-INFO + writing dependency_links to umis.egg-info/dependency_links.txt + writing entry points to umis.egg-info/entry_points.txt + writing requirements to umis.egg-info/requires.txt + writing top-level names to umis.egg-info/top_level.txt + writing manifest file 'umis.egg-info/SOURCES.txt' + reading manifest file 'umis.egg-info/SOURCES.txt' + reading manifest template 'MANIFEST.in' + adding license file 'LICENSE.md' + writing manifest file 'umis.egg-info/SOURCES.txt' + Copying umis.egg-info to $PREFIX/lib/python3.9/site-packages/umis-1.0.9-py3.9.egg-info + running install_scripts + Installing umis script to $PREFIX/bin + writing list of installed files to 'record.txt' - ## Package Plan ## + Resource usage statistics from building umis: + Process count: 3 + CPU time: Sys=0:00:00.2, User=0:00:00.6 + Memory: 162.6M + Disk usage: 3.8K + Time elapsed: 0:00:04.4 - environment location: /opt/mambaforge/envs/bioconda/conda-bld/umis_1685363418606/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold - - The following NEW packages will be INSTALLED: - - bzip2: 1.0.8-h0d85af4_4 conda-forge - ca-certificates: 2023.5.7-h8857fd0_0 conda-forge - cython: 0.29.35-py38h940360d_0 conda-forge - libcxx: 16.0.4-hd57cbcb_0 conda-forge - libffi: 3.4.2-h0d85af4_5 conda-forge - libsqlite: 3.42.0-h58db7d2_0 conda-forge - libzlib: 1.2.13-hfd90126_4 conda-forge - ncurses: 6.3-h96cf925_1 conda-forge - openssl: 3.1.0-h8a1eda9_3 conda-forge - python: 3.8.16-hf9b03c3_1_cpython conda-forge - python_abi: 3.8-3_cp38 conda-forge - readline: 8.2-h9e318b2_1 conda-forge - setuptools: 67.7.2-pyhd8ed1ab_0 conda-forge - tk: 8.6.12-h5dbffcc_0 conda-forge - xz: 5.2.6-h775f41a_0 conda-forge - - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - Reloading output folder: /opt/mambaforge/envs/bioconda/conda-bld - Reloading output folder: /opt/mambaforge/envs/bioconda/conda-bld - - ## Package Plan ## - - environment location: /opt/mambaforge/envs/bioconda/conda-bld/umis_1685363418606/_build_env - - - The following NEW packages will be INSTALLED: - - ca-certificates: 2023.5.7-h8857fd0_0 conda-forge - cctools_osx-64: 973.0.1-h48a5a9d_13 conda-forge - clang: 15.0.7-h694c41f_2 conda-forge - clang-15: 15.0.7-default_hdb78580_2 conda-forge - clang_osx-64: 15.0.7-h03d6864_3 conda-forge - clangxx: 15.0.7-default_hdb78580_2 conda-forge - compiler-rt: 15.0.7-he1888fc_1 conda-forge - compiler-rt_osx-64: 15.0.7-he1888fc_1 conda-forge - icu: 72.1-h7336db1_0 conda-forge - ld64_osx-64: 609-h8ce0179_13 conda-forge - libclang-cpp15: 15.0.7-default_hdb78580_2 conda-forge - libcxx: 16.0.4-hd57cbcb_0 conda-forge - libiconv: 1.17-hac89ed1_0 conda-forge - libllvm15: 15.0.7-he4b1e75_2 conda-forge - libxml2: 2.11.4-hd95e348_0 conda-forge - libzlib: 1.2.13-hfd90126_4 conda-forge - llvm-tools: 15.0.7-he4b1e75_2 conda-forge - openssl: 3.1.0-h8a1eda9_3 conda-forge - sigtool: 0.1.3-h88f4db0_0 conda-forge - tapi: 1100.0.11-h9ce4665_0 conda-forge - xz: 5.2.6-h775f41a_0 conda-forge - zstd: 1.5.2-hbc0c0cd_6 conda-forge - - Preparing transaction: ...working... done - Verifying transaction: ...working... done - Executing transaction: ...working... done - Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache - INFO:conda_build.source:Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache - INFO:conda_build.source:Downloading source to cache: v1.0.9_a471522ccd.tar.gz - INFO:conda_build.source:Downloading https://github.com/vals/umis/archive/refs/tags/v1.0.9.tar.gz - Downloading source to cache: v1.0.9_a471522ccd.tar.gz - Downloading https://github.com/vals/umis/archive/refs/tags/v1.0.9.tar.gz - Success - INFO:conda_build.source:Success - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2125, in build - try_download(m, no_download_source=False, raise_error=True) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/render.py", line 650, in try_download - source.provide(metadata) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/source.py", line 871, in provide - unpack(source_dict, src_dir, metadata.config.src_cache, recipe_path=metadata.path, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/source.py", line 146, in unpack - src_path, unhashed_fn = download_to_cache(cache_folder, recipe_path, source_dict, verbose) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/source.py", line 111, in download_to_cache - raise RuntimeError("%s mismatch: '%s' != '%s'" % - RuntimeError: SHA256 mismatch: '7d446da4cc31f075e539db6b6d7b31a3309e0c4c708875981d61780c2de7ed82' != 'a471522ccd2ad6d86cb9ae4cbb61f27ace8da80ca75d1f7f3faf980790424179' + compiling .pyc files... + number of files: 14 # Last 100 lines of the build log. diff --git a/recipes/umis/meta.yaml b/recipes/umis/meta.yaml index daa5e038df0ce..5a028eaffa3c6 100644 --- a/recipes/umis/meta.yaml +++ b/recipes/umis/meta.yaml @@ -6,11 +6,13 @@ package: version: "{{ version }}" build: - number: 1 + number: 3 + run_exports: + - {{ pin_subpackage('umis', max_pin='x') }} source: url: "{{ github }}/archive/refs/tags/v{{ version }}.tar.gz" - sha256: a471522ccd2ad6d86cb9ae4cbb61f27ace8da80ca75d1f7f3faf980790424179 + sha256: 7d446da4cc31f075e539db6b6d7b31a3309e0c4c708875981d61780c2de7ed82 requirements: build: @@ -40,6 +42,8 @@ about: summary: Tools for processing UMI RNA-tag data extra: + additional-platforms: + - linux-aarch64 container: # click requires a unicode locale when used with Python 3 # extended-base generates en_US.UTF-8 locale and sets LC_ALL, LANG properly diff --git a/recipes/unassigner/meta.yaml b/recipes/unassigner/meta.yaml new file mode 100644 index 0000000000000..e3b7bce47b243 --- /dev/null +++ b/recipes/unassigner/meta.yaml @@ -0,0 +1,46 @@ +{% set name = "unassigner" %} +{% set version = "1.0.0" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: 0a79a0fdf88318a2583e2a46deffb6f6ff4ce612c55b470c007eed7bb9aa2194 + +build: + number: 0 + noarch: python + entry_points: + - unassigner = unassigner.command:main + script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv + run_exports: + - {{ pin_subpackage('unassigner', max_pin="x") }} + +requirements: + host: + - pip + - python + run: + - python + - vsearch + - biopython + - scipy + +test: + imports: + - unassigner + commands: + - unassigner --help + +about: + home: https://github.com/PennChopMicrobiomeProgram/unassigner + license: GPL-2.0-or-later + license_family: GPL + summary: "Type strain identification for 16S reads" + dev_url: https://github.com/PennChopMicrobiomeProgram/unassigner + +extra: + recipe-maintainers: + - Ulthran diff --git a/recipes/unicycler/0.4.4/meta.yaml b/recipes/unicycler/0.4.4/meta.yaml index 485f2d7dec4ea..4e471674d0a6b 100644 --- a/recipes/unicycler/0.4.4/meta.yaml +++ b/recipes/unicycler/0.4.4/meta.yaml @@ -13,7 +13,7 @@ source: - misc.py.patch build: - number: 6 + number: 7 skip: True # [py<34] requirements: diff --git a/recipes/unicycler/build.sh b/recipes/unicycler/build.sh deleted file mode 100644 index 650c36ed10929..0000000000000 --- a/recipes/unicycler/build.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -python -m pip install --no-deps --ignore-installed . diff --git a/recipes/unicycler/meta.yaml b/recipes/unicycler/meta.yaml index 1905dcd579491..5e1fa962a312d 100644 --- a/recipes/unicycler/meta.yaml +++ b/recipes/unicycler/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.5.0" %} -{% set sha256 = "84a8709c9f2e624225410af702d779ffb0cb06f7c22c20e1f01b989945e08a47" %} +{% set version = "0.5.1" %} +{% set sha256 = "c6b04923363719d7672c8c0b39a357712328ab8471175a2f172effbd9584448e" %} package: name: unicycler @@ -13,8 +13,12 @@ source: - misc.py.patch build: - number: 3 - skip: True # [py<34 or osx] + number: 2 + entry_points: + - unicycler = unicycler.unicycler:main + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + run_exports: + - {{ pin_subpackage('unicycler', max_pin='x.x') }} requirements: build: @@ -34,16 +38,19 @@ requirements: test: commands: - - COLUMNS=80 unicycler -h + - "COLUMNS=80 unicycler -h" about: - home: https://github.com/rrwick/Unicycler - license: GPL-3.0 - license_family: GPL + home: "https://github.com/rrwick/Unicycler" + license: "GPL-3.0-or-later" + license_family: GPL3 license_file: LICENSE - summary: Hybrid assembly pipeline for bacterial genomes + summary: "Hybrid assembly pipeline for bacterial genomes." + dev_url: "https://github.com/rrwick/Unicycler" + doc_url: "https://github.com/rrwick/Unicycler/wiki" extra: identifiers: - biotools:unicycler - usegalaxy-eu:unicycler + - doi:10.1371/journal.pcbi.1005595 diff --git a/recipes/unifrac/build_failure.linux-64.yaml b/recipes/unifrac/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..b04c8474bd411 --- /dev/null +++ b/recipes/unifrac/build_failure.linux-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: 0c3fb5d570dc4b66dc35de9ba850a12bc8cf40c159b78490d6fc3af5302176ca # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: test failure +log: |- + usage: faithpd -i -t -o + + -i The input BIOM table. + -t The input phylogeny in newick. + -o The output series. + + Citations: + For Faith's PD, please see: + Faith Biological Conservation 1992; DOI: 10.1016/0006-3207(92)91201-3 + + python -m unittest unifrac.tests.test_methods + ......... + ---------------------------------------------------------------------- + Ran 9 tests in 0.018s + + OK + python -m unittest unifrac.tests.test_api + ....................................EEEE + ====================================================================== + ERROR: test_unweighted_fp32_inmem (unifrac.tests.test_api.UnifracAPITests) + ---------------------------------------------------------------------- + Traceback (most recent call last): + File "/opt/conda/conda-bld/unifrac_1717780005364/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.8/site-packages/skbio/diversity/_util.py", line 137, in _get_phylogenetic_kwargs + taxa = kwargs.pop("taxa") + KeyError: 'taxa' + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/conda-bld/unifrac_1717780005364/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.8/site-packages/unifrac/tests/test_api.py", line 59, in test_unweighted_fp32_inmem + exp = skbio.diversity.beta_diversity('unweighted_unifrac', cnts, + File "/opt/conda/conda-bld/unifrac_1717780005364/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.8/site-packages/skbio/diversity/_driver.py", line 439, in beta_diversity + taxa, tree, kwargs = _get_phylogenetic_kwargs(counts, **kwargs) + File "/opt/conda/conda-bld/unifrac_1717780005364/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.8/site-packages/skbio/diversity/_util.py", line 139, in _get_phylogenetic_kwargs + raise ValueError("taxa is required for phylogenetic diversity " "metrics.") + ValueError: taxa is required for phylogenetic diversity metrics. + + ====================================================================== + ERROR: test_unweighted_fp64_inmem (unifrac.tests.test_api.UnifracAPITests) + ---------------------------------------------------------------------- + Traceback (most recent call last): + File "/opt/conda/conda-bld/unifrac_1717780005364/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.8/site-packages/skbio/diversity/_util.py", line 137, in _get_phylogenetic_kwargs + taxa = kwargs.pop("taxa") + KeyError: 'taxa' + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/conda-bld/unifrac_1717780005364/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.8/site-packages/unifrac/tests/test_api.py", line 79, in test_unweighted_fp64_inmem + exp = skbio.diversity.beta_diversity('unweighted_unifrac', cnts, + File "/opt/conda/conda-bld/unifrac_1717780005364/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.8/site-packages/skbio/diversity/_driver.py", line 439, in beta_diversity + taxa, tree, kwargs = _get_phylogenetic_kwargs(counts, **kwargs) + File "/opt/conda/conda-bld/unifrac_1717780005364/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.8/site-packages/skbio/diversity/_util.py", line 139, in _get_phylogenetic_kwargs + raise ValueError("taxa is required for phylogenetic diversity " "metrics.") + ValueError: taxa is required for phylogenetic diversity metrics. + + ====================================================================== + ERROR: test_unweighted_inmem (unifrac.tests.test_api.UnifracAPITests) + ---------------------------------------------------------------------- + Traceback (most recent call last): + File "/opt/conda/conda-bld/unifrac_1717780005364/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.8/site-packages/skbio/diversity/_util.py", line 137, in _get_phylogenetic_kwargs + taxa = kwargs.pop("taxa") + KeyError: 'taxa' + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/conda-bld/unifrac_1717780005364/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.8/site-packages/unifrac/tests/test_api.py", line 39, in test_unweighted_inmem + exp = skbio.diversity.beta_diversity('unweighted_unifrac', cnts, + File "/opt/conda/conda-bld/unifrac_1717780005364/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.8/site-packages/skbio/diversity/_driver.py", line 439, in beta_diversity + taxa, tree, kwargs = _get_phylogenetic_kwargs(counts, **kwargs) + File "/opt/conda/conda-bld/unifrac_1717780005364/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.8/site-packages/skbio/diversity/_util.py", line 139, in _get_phylogenetic_kwargs + raise ValueError("taxa is required for phylogenetic diversity " "metrics.") + ValueError: taxa is required for phylogenetic diversity metrics. + + ====================================================================== + ERROR: test_unweighted_root_eval_issue_46 (unifrac.tests.test_api.UnifracAPITests) + ---------------------------------------------------------------------- + Traceback (most recent call last): + File "/opt/conda/conda-bld/unifrac_1717780005364/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.8/site-packages/skbio/diversity/_util.py", line 137, in _get_phylogenetic_kwargs + taxa = kwargs.pop("taxa") + KeyError: 'taxa' + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "/opt/conda/conda-bld/unifrac_1717780005364/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.8/site-packages/unifrac/tests/test_api.py", line 104, in test_unweighted_root_eval_issue_46 + exp = skbio.diversity.beta_diversity('unweighted_unifrac', cnts, + File "/opt/conda/conda-bld/unifrac_1717780005364/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.8/site-packages/skbio/diversity/_driver.py", line 439, in beta_diversity + taxa, tree, kwargs = _get_phylogenetic_kwargs(counts, **kwargs) + File "/opt/conda/conda-bld/unifrac_1717780005364/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.8/site-packages/skbio/diversity/_util.py", line 139, in _get_phylogenetic_kwargs + raise ValueError("taxa is required for phylogenetic diversity " "metrics.") + ValueError: taxa is required for phylogenetic diversity metrics. + + ---------------------------------------------------------------------- + Ran 40 tests in 3.379s + + FAILED (errors=4) + WARNING: Tests failed for unifrac-1.3-py38h0020b31_1.tar.bz2 - moving package to /opt/conda/conda-bld/broken + TESTS FAILED: unifrac-1.3-py38h0020b31_1.tar.bz2 +# Last 100 lines of the build log. diff --git a/recipes/unifrac/build_failure.osx-64.yaml b/recipes/unifrac/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..79ea51c1d81ee --- /dev/null +++ b/recipes/unifrac/build_failure.osx-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: 0c3fb5d570dc4b66dc35de9ba850a12bc8cf40c159b78490d6fc3af5302176ca # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: test failure +log: |- + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/conda-bld/unifrac_1717780701288/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.12/site-packages/unifrac/tests/test_api.py", line 104, in test_unweighted_root_eval_issue_46 + exp = skbio.diversity.beta_diversity('unweighted_unifrac', cnts, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/opt/mambaforge/envs/bioconda/conda-bld/unifrac_1717780701288/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.12/site-packages/skbio/diversity/_driver.py", line 439, in beta_diversity + taxa, tree, kwargs = _get_phylogenetic_kwargs(counts, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/opt/mambaforge/envs/bioconda/conda-bld/unifrac_1717780701288/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.12/site-packages/skbio/diversity/_util.py", line 139, in _get_phylogenetic_kwargs + raise ValueError("taxa is required for phylogenetic diversity " "metrics.") + ValueError: taxa is required for phylogenetic diversity metrics. + + ---------------------------------------------------------------------- + Ran 40 tests in 4.773s + + FAILED (errors=4) + WARNING: Tests failed for unifrac-1.3-py312h68c8633_1.tar.bz2 - moving package to /opt/mambaforge/envs/bioconda/conda-bld/broken + TESTS FAILED: unifrac-1.3-py312h68c8633_1.tar.bz2 + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/unifrac_1717780701288/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/unifrac_1717780701288/test_tmp + import: 'unifrac' + import: 'unifrac' + usage: ssu -i -o -m [METHOD] -t [-a alpha] [-f] [--vaw] + [--mode MODE] [--start starting-stripe] [--stop stopping-stripe] [--partial-pattern ] + [--n-partials number_of_partitions] [--report-bare] [--format|-r out-mode] + [--n-substeps n] [--pcoa dims] [--diskbuf path] + + -i The input BIOM table. + -t The input phylogeny in newick. + -m The method, [unweighted | weighted_normalized | weighted_unnormalized | generalized | + unweighted_fp64 | weighted_normalized_fp64 | weighted_unnormalized_fp64 | generalized_fp64 | + unweighted_fp32 | weighted_normalized_fp32 | weighted_unnormalized_fp32 | generalized_fp32]. + -o The output distance matrix. + -g [OPTIONAL] The input grouping in TSV. + -c [OPTIONAL] The columns(s) to use for grouping, multiple values comma separated. + -a [OPTIONAL] Generalized UniFrac alpha, default is 1. + -f [OPTIONAL] Bypass tips, reduces compute by about 50%. + --vaw [OPTIONAL] Variance adjusted, default is to not adjust for variance. + --mode [OPTIONAL] Mode of operation: + one-off : [DEFAULT] compute UniFrac. + partial : Compute UniFrac over a subset of stripes. + partial-report : Start and stop suggestions for partial compute. + merge-partial : Merge partial UniFrac results. + check-partial : Check partial UniFrac results. + multi : compute UniFrac multiple times. + --start [OPTIONAL] If mode==partial, the starting stripe. + --stop [OPTIONAL] If mode==partial, the stopping stripe. + --partial-pattern [OPTIONAL] If mode==merge-partial or check-partial, a glob pattern for partial outputs to merge. + --n-partials [OPTIONAL] If mode==partial-report, the number of partitions to compute. + --report-bare [OPTIONAL] If mode==partial-report, produce barebones output. + --n-substeps [OPTIONAL] Internally split the problem in n substeps for reduced memory footprint, default is 1. + --format|-r [OPTIONAL] Output format: + ascii : Original ASCII format. (default if mode==one-off) + hdf5 : HFD5 format. May be fp32 or fp64, depending on method. + hdf5_fp32 : HFD5 format, using fp32 precision. + hdf5_fp64 : HFD5 format, using fp64 precision. + hdf5_nodist : HFD5 format, no distance matrix. (default if mode==multi) + --subsample-depth Depth of subsampling of the input BIOM before computing unifrac (required for mode==multi, optional for one-off) + --subsample-replacement [OPTIONAL] Subsample with or without replacement (default is with) + --n-subsamples [OPTIONAL] if mode==multi, number of subsampled UniFracs to compute (default: 100) + --permanova [OPTIONAL] Number of PERMANOVA permutations to compute (default: 999 with -g, do not compute if 0) + --pcoa [OPTIONAL] Number of PCoA dimensions to compute (default: 10, do not compute if 0) + --seed [OPTIONAL] Seed to use for initializing the random gnerator + --diskbuf [OPTIONAL] Use a disk buffer to reduce memory footprint. Provide path to a fast partition (ideally NVMe). + -n [OPTIONAL] DEPRECATED, no-op. + + Environment variables: + CPU parallelism is controlled by OMP_NUM_THREADS. If not defined, all detected core will be used. + GPU offload can be disabled with UNIFRAC_USE_GPU=N. By default, if a NVIDIA GPU is detected, it will be used. + A specific GPU can be selected with ACC_DEVICE_NUM. If not defined, the first GPU will be used. + + Citations: + For UniFrac, please see: + Sfiligoi et al. mSystems 2022; DOI: 10.1128/msystems.00028-22 + McDonald et al. Nature Methods 2018; DOI: 10.1038/s41592-018-0187-8 + Lozupone and Knight Appl Environ Microbiol 2005; DOI: 10.1128/AEM.71.12.8228-8235.2005 + Lozupone et al. Appl Environ Microbiol 2007; DOI: 10.1128/AEM.01996-06 + Hamady et al. ISME 2010; DOI: 10.1038/ismej.2009.97 + Lozupone et al. ISME 2011; DOI: 10.1038/ismej.2010.133 + For Generalized UniFrac, please see: + Chen et al. Bioinformatics 2012; DOI: 10.1093/bioinformatics/bts342 + For Variance Adjusted UniFrac, please see: + Chang et al. BMC Bioinformatics 2011; DOI: 10.1186/1471-2105-12-118 + + Runtime progress can be obtained by issuing a SIGUSR1 signal. If running with + multiple threads, this signal will only be honored if issued to the master PID. + The report will yield the following information: + + tid: start: stop: k: total: + + The proportion of the tree that has been evaluated can be determined from (k / total). + + usage: faithpd -i -t -o + + -i The input BIOM table. + -t The input phylogeny in newick. + -o The output series. + + Citations: + For Faith's PD, please see: + Faith Biological Conservation 1992; DOI: 10.1016/0006-3207(92)91201-3 +# Last 100 lines of the build log. diff --git a/recipes/unifrac/meta.yaml b/recipes/unifrac/meta.yaml index 29e467401d333..306a2c2f8cf1b 100644 --- a/recipes/unifrac/meta.yaml +++ b/recipes/unifrac/meta.yaml @@ -9,8 +9,9 @@ source: sha256: e8cc37c3d5aaa31494c218df8a336eae135049d6840023d057da4fda8c4a4377 build: - number: 0 - skip: True # [py<38] + number: 1 + run_exports: + - {{ pin_subpackage("unifrac", max_pin="x") }} requirements: build: diff --git a/recipes/unikmer/meta.yaml b/recipes/unikmer/meta.yaml index 648f4b65386a4..41425d01b00a1 100644 --- a/recipes/unikmer/meta.yaml +++ b/recipes/unikmer/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.19.1" %} +{% set version = "0.20.0" %} package: name: unikmer @@ -6,13 +6,18 @@ package: source: url: https://github.com/shenwei356/unikmer/releases/download/v{{ version }}/unikmer_darwin_amd64.tar.gz # [osx] - md5: aacc675125d0746486353cf5cbe08912 # [osx] + md5: 61ef45acee1016d5ae2b8ba8ee2290f3 # [osx] url: https://github.com/shenwei356/unikmer/releases/download/v{{ version }}/unikmer_linux_amd64.tar.gz # [linux] - md5: 5f096a9e9787e75d78782857730f446b # [linux] + md5: a69147ab91b7202dd07c8da40b844533 # [linux] + + url: https://github.com/shenwei356/unikmer/releases/download/v{{ version }}/unikmer_linux_arm64.tar.gz # [aarch64] + md5: 55f665b6615364826a93274088bc30b7 # [aarch64] build: number: 0 + run_exports: + - {{ pin_subpackage("unikmer", max_pin="x.x") }} test: commands: @@ -20,10 +25,12 @@ test: about: home: https://github.com/shenwei356/unikmer - summary: toolkit for k-mer with taxonomic information + summary: A versatile toolkit for k-mers with taxonomic information license: MIT extra: + additional-platforms: + - linux-aarch64 skip-lints: - should_be_noarch_generic - should_not_be_noarch_source diff --git a/recipes/unikseq/meta.yaml b/recipes/unikseq/meta.yaml index 7acad68484a8d..6eee8a084f202 100644 --- a/recipes/unikseq/meta.yaml +++ b/recipes/unikseq/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.3.4" %} +{% set version = "1.3.5" %} package: name: unikseq @@ -6,7 +6,7 @@ package: source: url: https://github.com/bcgsc/unikseq/releases/download/v{{ version }}/unikseq-{{ version }}.tar.gz - sha256: e5abe93ccd3bd4b66a67516cde0d877fe82d0ac275833d7d3cc9d95c19f68cf4 + sha256: 9b497384ce023a06fd79353c2488455f1517f10e575c86f1f5df1e21463d09e8 patches: - unikseq-bloom.patch - unikseq-write-bloom.patch @@ -14,6 +14,8 @@ source: build: noarch: generic number: 0 + run_exports: + - {{ pin_subpackage('unikseq', max_pin="x") }} requirements: run: @@ -27,7 +29,7 @@ test: - writeBloom.pl |grep "Usage" about: - summary: Unique DNA sequence region identification, using a k-mer approach + summary: Unique DNA sequence region identification using a k-mer approach home: https://github.com/bcgsc/unikseq license: GPL-3.0 license_file: LICENSE diff --git a/recipes/unitig-caller/meta.yaml b/recipes/unitig-caller/meta.yaml index 66a861b27b3ad..452f64908f5c4 100644 --- a/recipes/unitig-caller/meta.yaml +++ b/recipes/unitig-caller/meta.yaml @@ -12,10 +12,12 @@ source: - 0001-No-experimental.patch build: - number: 2 + number: 4 skip: True # [py27] entry_points: - unitig-caller = unitig_caller.__main__:main + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: build: @@ -29,12 +31,12 @@ requirements: - pybind11 - zlib - bzip2 - - bifrost >=1.2.0 + - bifrost >=1.3.0 - libgomp # [linux64] - llvm-openmp # [osx] run: - python - - bifrost >=1.2.0 + - bifrost >=1.3.0 test: imports: diff --git a/recipes/upimapi/meta.yaml b/recipes/upimapi/meta.yaml index 5c952176f1640..c146f7d09c704 100644 --- a/recipes/upimapi/meta.yaml +++ b/recipes/upimapi/meta.yaml @@ -1,6 +1,6 @@ {% set name = "upimapi" %} -{% set version = "1.12.3" %} -{% set sha256 = "2cb9fe4a345bd6a80437af7400d09446eaf6da56ed632757d8c957d3a57de4cd" %} +{% set version = "1.13.1" %} +{% set sha256 = "72fd88f6c21b6982071c007e9ce9a92ffe2bbc75edff3f6eddcfb0653bced0d4" %} package: name: {{ name|lower }} diff --git a/recipes/usalign/build.sh b/recipes/usalign/build.sh new file mode 100644 index 0000000000000..e7c2ff701f28e --- /dev/null +++ b/recipes/usalign/build.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +set -exo pipefail + +readonly PROGRAMS=( + qTMclust + USalign + TMalign + TMscore + MMalign + se + pdb2xyz + xyz_sfetch + pdb2fasta + pdb2ss + NWalign + HwRMSD + cif2pdb + pdbAtomName + addChainID +) + +make -j${CPU_COUNT} CC="${CXX}" LDFLAGS="-lm" + +install -d "${PREFIX}/bin" +install -m 755 "${PROGRAMS[@]}" "${PREFIX}/bin/" diff --git a/recipes/usalign/meta.yaml b/recipes/usalign/meta.yaml new file mode 100644 index 0000000000000..b3e5a789aa3d8 --- /dev/null +++ b/recipes/usalign/meta.yaml @@ -0,0 +1,53 @@ +{% set name = "US-align" %} +{% set version = "2024.07.30" %} + +package: + name: {{ name|lower|replace("-", "") }} + version: {{ version }} + +source: + url: https://github.com/eunos-1128/{{ name|lower|replace("-", "") }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: 21b510507e9258c1a2e03c6d32680282981a54e27778a3f3f739861ca7c7b38a + +build: + number: 0 + run_exports: + - {{ pin_subpackage(name|lower|replace("-", ""), max_pin=None) }} + +requirements: + build: + - {{ compiler("c") }} + - {{ compiler("cxx") }} + - make + +test: + commands: + - USalign -h + +about: + home: https://zhanggroup.org/{{ name }} + dev_url: https://github.com/pylelab/{{ name|replace("-", "") }} + doc_url: https://zhanggroup.org/{{ name }}/help + summary: "Universal structure alignment of monomeric, complex proteins and nucleic acids" + description: | + US-align (Universal Structural alignment) is a unified protocol + to compare 3D structures of different macromolecules (proteins, RNAs and DNAs) + in different forms (monomers, oligomers and heterocomplexes) + for both pairwise and multiple structure alignments. + The core alogrithm of US-align is extended from TM-align and generates optimal structural alignments + by maximizing TM-score of compared strucures through heuristic dynamic programming iterations. + Large-scale benchmark tests showed that US-align can generate more accurate structural alignments + with significantly reduced CPU time, compared to the state-of-the-art methods developed + for specific structural alignment tasks. + TM-score has values in (0,1] with 1 indicating an identical structure match, + where a TM-score ≥0.5 (or 0.45) means the structures share the same global topology for proteins (or RNAs). + license: UNKNOWN + license_family: OTHER + license_file: LICENSE + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 + recipe-maintainers: + - eunos-1128 diff --git a/recipes/usearch/meta.yaml b/recipes/usearch/meta.yaml new file mode 100644 index 0000000000000..9a4c9a9cecfa9 --- /dev/null +++ b/recipes/usearch/meta.yaml @@ -0,0 +1,43 @@ +{% set name = "usearch" %} +{% set version = "12.0-beta" %} + +package: + name: "{{ name|lower }}" + version: {{ version |replace("-", "_") }} + +source: + - url: https://github.com/rcedgar/{{ name }}12/releases/download/v{{ version }}1/usearch_linux_x86_{{ version }} # [linux and x86_64] + sha256: 4193abead8c7e1609dd28148bb36ad9667c67647c6f784f2bdd72af9de27f3dc # [linux and x86_64] + - url: https://github.com/rcedgar/{{ name }}12/releases/download/v{{ version }}1/usearch_linux_arch64_{{ version }} # [linux and aarch64] + sha256: 435ac47a1eb1e555b3c7cdfda706f0d01e8b1fe517fb18bf6732a91a6ce9b6ba # [linux and aarch64] + - url: https://github.com/rcedgar/{{ name }}12/releases/download/v{{ version }}1/usearch_osx_x86_{{ version }} # [osx] + sha256: 49e50a72707ae81be960e1b3dbba5b4cf82e7d73511a23a35497a60b926cb100 # [osx] + +build: + number: 1 + script: + - mkdir -p ${PREFIX}/bin + - cp usearch_* ${PREFIX}/bin/usearch + - chmod +x ${PREFIX}/bin/usearch + run_exports: + - {{ pin_subpackage('usearch', max_pin="x") }} + +test: + commands: + - usearch -closed_ref 2>&1 | grep -o 'missing value' + +about: + home: "https://github.com/rcedgar/usearch12" + license: GPL-3.0-or-later + license_family: GPL3 + summary: USEARCH is a unique sequence analysis tool which offers search and clustering algorithms that are often orders of magnitude faster than BLAST. + +extra: + additional-platforms: + - linux-aarch64 + skip-lints: + - should_be_noarch_generic + - gpl_requires_license_distributed + - long_summary + recipe-maintainers: + - thanhleviet \ No newline at end of file diff --git a/recipes/usher/build_failure.linux-64.yaml b/recipes/usher/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..01961226669db --- /dev/null +++ b/recipes/usher/build_failure.linux-64.yaml @@ -0,0 +1,106 @@ +recipe_sha: abd321a497022feaaaa9e3428b461c51998b1389a7780219f2a10092039d764f # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + [ 35%] Building CXX object CMakeFiles/usher-sampled.dir/src/matOptimize/reassign_states.cpp.o + [ 36%] Building CXX object CMakeFiles/usher-sampled.dir/src/matOptimize/check_samples.cpp.o + [ 36%] Building CXX object CMakeFiles/usher-sampled.dir/src/matOptimize/optimize_tree.cpp.o + [ 37%] Building CXX object CMakeFiles/usher-sampled.dir/src/matOptimize/condense.cpp.o + [ 37%] Building CXX object CMakeFiles/usher-sampled.dir/src/matOptimize/Fitch_Sankoff.cpp.o + [ 38%] Building CXX object CMakeFiles/usher-sampled.dir/src/matOptimize/main_load_tree.cpp.o + [ 38%] Building CXX object CMakeFiles/usher-sampled.dir/src/matOptimize/priority_conflict_resolver.cpp.o + [ 39%] Building CXX object CMakeFiles/usher-sampled.dir/src/usher-sampled/driver/main.cpp.o + /opt/conda/conda-bld/usher_1717952675556/work/src/usher-sampled/driver/main.cpp: In function 'void leader_thread_optimization(Mutation_Annotated_Tree::Tree&, std::vector > >&, std::atomic_size_t&, int&, size_t, FILE*, float, bool)': + /opt/conda/conda-bld/usher_1717952675556/work/src/usher-sampled/driver/main.cpp:159:39: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'long unsigned int'} [-Wsign-compare] + 159 | if(optimization_radius>tree.max_level){ + | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ + /opt/conda/conda-bld/usher_1717952675556/work/src/usher-sampled/driver/main.cpp: In function 'int leader_thread(int, Leader_Thread_Options&)': + /opt/conda/conda-bld/usher_1717952675556/work/src/usher-sampled/driver/main.cpp:250:34: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'long unsigned int'} [-Wsign-compare] + 250 | for (int position=1; position + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/usher_1717952675556/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. +category: |- + compiler error diff --git a/recipes/usher/build_failure.linux-aarch64.yaml b/recipes/usher/build_failure.linux-aarch64.yaml new file mode 100644 index 0000000000000..96096dbaa5bab --- /dev/null +++ b/recipes/usher/build_failure.linux-aarch64.yaml @@ -0,0 +1,106 @@ +recipe_sha: abd321a497022feaaaa9e3428b461c51998b1389a7780219f2a10092039d764f # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + [ 35%] Building CXX object CMakeFiles/usher-sampled.dir/src/matOptimize/reassign_states.cpp.o + [ 36%] Building CXX object CMakeFiles/usher-sampled.dir/src/matOptimize/check_samples.cpp.o + [ 36%] Building CXX object CMakeFiles/usher-sampled.dir/src/matOptimize/optimize_tree.cpp.o + [ 37%] Building CXX object CMakeFiles/usher-sampled.dir/src/matOptimize/condense.cpp.o + [ 37%] Building CXX object CMakeFiles/usher-sampled.dir/src/matOptimize/Fitch_Sankoff.cpp.o + [ 38%] Building CXX object CMakeFiles/usher-sampled.dir/src/matOptimize/main_load_tree.cpp.o + [ 38%] Building CXX object CMakeFiles/usher-sampled.dir/src/matOptimize/priority_conflict_resolver.cpp.o + [ 39%] Building CXX object CMakeFiles/usher-sampled.dir/src/usher-sampled/driver/main.cpp.o + /opt/conda/conda-bld/usher_1717807896639/work/src/usher-sampled/driver/main.cpp: In function 'void leader_thread_optimization(Mutation_Annotated_Tree::Tree&, std::vector > >&, std::atomic_size_t&, int&, size_t, FILE*, float, bool)': + /opt/conda/conda-bld/usher_1717807896639/work/src/usher-sampled/driver/main.cpp:159:39: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'long unsigned int'} [-Wsign-compare] + 159 | if(optimization_radius>tree.max_level){ + | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ + /opt/conda/conda-bld/usher_1717807896639/work/src/usher-sampled/driver/main.cpp: In function 'int leader_thread(int, Leader_Thread_Options&)': + /opt/conda/conda-bld/usher_1717807896639/work/src/usher-sampled/driver/main.cpp:250:34: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'long unsigned int'} [-Wsign-compare] + 250 | for (int position=1; position + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/usher_1717807896639/work/conda_build.sh']' returned non-zero exit status 2. +# Last 100 lines of the build log. +category: |- + compiler error diff --git a/recipes/usher/build_failure.osx-64.yaml b/recipes/usher/build_failure.osx-64.yaml index 6658bf9600334..f66eba443d9de 100644 --- a/recipes/usher/build_failure.osx-64.yaml +++ b/recipes/usher/build_failure.osx-64.yaml @@ -1,13 +1,68 @@ -recipe_sha: e41ecda1353c0477405b417039e9d3b5c6f4c624505f73657974203d8cee0127 # The commit at which this recipe failed to build. +recipe_sha: abd321a497022feaaaa9e3428b461c51998b1389a7780219f2a10092039d764f # The hash of the recipe's meta.yaml at which this recipe failed to build. skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. log: |- + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/usher-0.6.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/usher-0.6.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/usher-0.6.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + $SRC_DIR/build $SRC_DIR + -- The C compiler identification is Clang 16.0.6 + -- The CXX compiler identification is Clang 16.0.6 + -- Detecting C compiler ABI info + -- Detecting C compiler ABI info - done + -- Check for working C compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting C compile features + -- Detecting C compile features - done + -- Detecting CXX compiler ABI info + -- Detecting CXX compiler ABI info - done + -- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang - skipped + -- Detecting CXX compile features + -- Detecting CXX compile features - done + -- 0.6.3 + -- Found Protobuf: $PREFIX/lib/libprotobuf.dylib (found version "4.25.3") + -- Using Protocol Buffers 4.25.3 -- Found MPI_C: $PREFIX/lib/libmpi.dylib (found version "3.1") -- Found MPI_CXX: $PREFIX/lib/libmpi.dylib (found version "3.1") -- Found MPI: TRUE (found version "3.1") -- Intel TBB can not be built: Makefile or src directory was not found in $SRC_DIR/build/../tbb2019_20191006oss - -- Found Boost: $PREFIX/lib/cmake/Boost-1.78.0/BoostConfig.cmake (found version "1.78.0") found components: program_options iostreams filesystem date_time + -- Found Boost: $PREFIX/lib/cmake/Boost-1.85.0/BoostConfig.cmake (found version "1.85.0") found components: program_options iostreams filesystem date_time -- Found ZLIB: $PREFIX/lib/libz.dylib (found version "1.2.13") - -- Configuring done (9.8s) + -- Configuring done (7.3s) -- Generating done (0.2s) -- Build files have been written to: $SRC_DIR/build [ 0%] Running cpp protocol buffer compiler on parsimony.proto @@ -17,9 +72,6 @@ log: |- [ 66%] Building CXX object CMakeFiles/usher.dir/src/usher.cpp.o [100%] Building CXX object CMakeFiles/usher.dir/parsimony.pb.cc.o [100%] Linking CXX executable usher - ld: warning: dylib (/opt/mambaforge/envs/bioconda/conda-bld/usher_1685398205346/work/tbb2019_20191006oss/lib/libtbbmalloc_proxy.dylib) was built for newer macOS version (10.11) than being linked (10.9) - ld: warning: dylib (/opt/mambaforge/envs/bioconda/conda-bld/usher_1685398205346/work/tbb2019_20191006oss/lib/libtbb_preview.dylib) was built for newer macOS version (10.11) than being linked (10.9) - ld: warning: dylib (/opt/mambaforge/envs/bioconda/conda-bld/usher_1685398205346/work/tbb2019_20191006oss/lib/libtbbmalloc.dylib) was built for newer macOS version (10.11) than being linked (10.9) [100%] Built target usher [ 10%] Running cpp protocol buffer compiler on taxodium.proto [ 10%] Building CXX object CMakeFiles/matUtils.dir/src/mutation_annotated_tree.cpp.o @@ -30,40 +82,16 @@ log: |- [ 40%] Building CXX object CMakeFiles/matUtils.dir/src/matUtils/extract.cpp.o [ 40%] Building CXX object CMakeFiles/matUtils.dir/src/matUtils/filter.cpp.o [ 50%] Building CXX object CMakeFiles/matUtils.dir/src/matUtils/introduce.cpp.o - /opt/mambaforge/envs/bioconda/conda-bld/usher_1685398205346/work/src/matUtils/introduce.cpp:137:12: warning: variable 'permuted_inc' set but not used [-Wunused-but-set-variable] - size_t permuted_inc = 0; - ^ - /opt/mambaforge/envs/bioconda/conda-bld/usher_1685398205346/work/src/matUtils/introduce.cpp:630:25: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] - if ((region_assignments.size() > 1) & (!a->is_root())) { - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - && - /opt/mambaforge/envs/bioconda/conda-bld/usher_1685398205346/work/src/matUtils/introduce.cpp:630:25: note: cast one or both operands to int to silence this warning - 2 warnings generated. [ 50%] Building CXX object CMakeFiles/matUtils.dir/src/matUtils/main.cpp.o [ 60%] Building CXX object CMakeFiles/matUtils.dir/src/matUtils/mask.cpp.o - /opt/mambaforge/envs/bioconda/conda-bld/usher_1685398205346/work/src/matUtils/mask.cpp:231:16: warning: variable 'instances_masked' set but not used [-Wunused-but-set-variable] - size_t instances_masked = 0; - ^ - 1 warning generated. [ 60%] Building CXX object CMakeFiles/matUtils.dir/src/matUtils/merge.cpp.o [ 70%] Building CXX object CMakeFiles/matUtils.dir/src/matUtils/select.cpp.o - /opt/mambaforge/envs/bioconda/conda-bld/usher_1685398205346/work/src/matUtils/select.cpp:682:24: warning: unused variable 'child_branch_length' [-Wunused-variable] - size_t child_branch_length = child_and_dist.second; - ^ - 1 warning generated. [ 70%] Building CXX object CMakeFiles/matUtils.dir/src/matUtils/summary.cpp.o [ 80%] Building CXX object CMakeFiles/matUtils.dir/src/matUtils/translate.cpp.o - /opt/mambaforge/envs/bioconda/conda-bld/usher_1685398205346/work/src/matUtils/translate.cpp:51:9: warning: variable 'curr_line' set but not used [-Wunused-but-set-variable] - int curr_line = -1; - ^ - 1 warning generated. [ 90%] Building CXX object CMakeFiles/matUtils.dir/src/matUtils/uncertainty.cpp.o [ 90%] Building CXX object CMakeFiles/matUtils.dir/parsimony.pb.cc.o [100%] Building CXX object CMakeFiles/matUtils.dir/taxodium.pb.cc.o [100%] Linking CXX executable matUtils - ld: warning: dylib (/opt/mambaforge/envs/bioconda/conda-bld/usher_1685398205346/work/tbb2019_20191006oss/lib/libtbbmalloc_proxy.dylib) was built for newer macOS version (10.11) than being linked (10.9) - ld: warning: dylib (/opt/mambaforge/envs/bioconda/conda-bld/usher_1685398205346/work/tbb2019_20191006oss/lib/libtbb_preview.dylib) was built for newer macOS version (10.11) than being linked (10.9) - ld: warning: dylib (/opt/mambaforge/envs/bioconda/conda-bld/usher_1685398205346/work/tbb2019_20191006oss/lib/libtbbmalloc.dylib) was built for newer macOS version (10.11) than being linked (10.9) [100%] Built target matUtils [ 0%] Running cpp protocol buffer compiler on mutation_detailed.proto [ 4%] Building CXX object CMakeFiles/matOptimize.dir/src/matOptimize/mutation_annotated_tree.cpp.o @@ -73,32 +101,6 @@ log: |- [ 12%] Building CXX object CMakeFiles/matOptimize.dir/src/matOptimize/detailed_mutations_load.cpp.o [ 12%] Building CXX object CMakeFiles/matOptimize.dir/src/matOptimize/mutation_annotated_tree_nuc_util.cpp.o [ 16%] Building CXX object CMakeFiles/matOptimize.dir/src/matOptimize/main.cpp.o - In file included from /opt/mambaforge/envs/bioconda/conda-bld/usher_1685398205346/work/src/matOptimize/main.cpp:3: - In file included from /opt/mambaforge/envs/bioconda/conda-bld/usher_1685398205346/work/src/matOptimize/Profitable_Moves_Enumerators/Profitable_Moves_Enumerators.hpp:8: - /opt/mambaforge/envs/bioconda/conda-bld/usher_1685398205346/work/src/matOptimize/Profitable_Moves_Enumerators/../stack_allocator.hpp:17:74: error: use of undeclared identifier 'MAP_ANONYMOUS' - start_addr=(T*) mmap(0,ALLOC_LEN,PROT_READ|PROT_WRITE,MAP_SHARED|MAP_ANONYMOUS,-1,0); - ^ - 1 error generated. - make[3]: *** [CMakeFiles/matOptimize.dir/build.make:176: CMakeFiles/matOptimize.dir/src/matOptimize/main.cpp.o] Error 1 - make[2]: *** [CMakeFiles/Makefile2:317: CMakeFiles/matOptimize.dir/all] Error 2 - make[1]: *** [CMakeFiles/Makefile2:324: CMakeFiles/matOptimize.dir/rule] Error 2 - make: *** [Makefile:273: matOptimize] Error 2 - Traceback (most recent call last): - File "/opt/mambaforge/envs/bioconda/bin/conda-mambabuild", line 10, in - sys.exit(main()) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 256, in main - call_conda_build(action, config) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/boa/cli/mambabuild.py", line 228, in call_conda_build - result = api.build( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/api.py", line 180, in build - return build_tree( - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 3078, in build_tree - packages_from_this = build(metadata, stats, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/build.py", line 2198, in build - utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env, - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 451, in check_call_env - return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) - File "/opt/mambaforge/envs/bioconda/lib/python3.8/site-packages/conda_build/utils.py", line 427, in _func_defaulting_env_to_os_environ - raise subprocess.CalledProcessError(proc.returncode, _args) - subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/usher_1685398205346/work/conda_build.sh']' returned non-zero exit status 2. # Last 100 lines of the build log. +category: |- + compiler error diff --git a/recipes/usher/meta.yaml b/recipes/usher/meta.yaml index 63b3f108e082f..310b1c1c8dd40 100644 --- a/recipes/usher/meta.yaml +++ b/recipes/usher/meta.yaml @@ -9,7 +9,7 @@ source: sha256: 95aba8f748599915f21f7bdf883c2e532f2d821138f06cb2e4e58d7323019946 build: - number: 0 + number: 2 run_exports: - {{ pin_subpackage('usher', max_pin="x.x") }} @@ -51,5 +51,7 @@ about: doc_url: https://usher-wiki.readthedocs.io/en/latest/ extra: + additional-platforms: + - linux-aarch64 identifiers: - doi:10.1038/s41588-021-00862-7 diff --git a/recipes/ushuffle/meta.yaml b/recipes/ushuffle/meta.yaml index b44b9d42f701f..60cc87d270dce 100644 --- a/recipes/ushuffle/meta.yaml +++ b/recipes/ushuffle/meta.yaml @@ -8,7 +8,7 @@ about: summary: uShuffle---a useful tool for shuffling biological sequences while preserving the k-let counts build: - number: 7 + number: 8 source: url: https://github.com/s-will/ushuffle/archive/v1.2.2.tar.gz diff --git a/recipes/vadr/meta.yaml b/recipes/vadr/meta.yaml index 65dbfaff73267..655160c155e81 100644 --- a/recipes/vadr/meta.yaml +++ b/recipes/vadr/meta.yaml @@ -1,5 +1,5 @@ {% set name = "vadr" %} -{% set version = "1.5.1" %} +{% set version = "1.6.4" %} package: name: {{ name }} @@ -7,7 +7,7 @@ package: source: - url: https://github.com/ncbi/{{ name }}/archive/refs/tags/{{ name }}-{{ version }}.tar.gz - sha256: 716525b20c4abbe854f3d387c6549ef151773dded7d31b5f62b92bed94b12362 + sha256: 00e40b441a2a567394de9bff92419ec53b9f69021a1ed976c4fb5a556efea21a patches: - fix_vannotate_path.patch - fix_local_test_path.patch @@ -16,7 +16,9 @@ source: folder: fasta build: - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: build: @@ -25,19 +27,19 @@ requirements: - wget host: - perl - - sequip >=0.08 + - sequip >=0.10 run: - - blast >=2.11.0 + - blast >=2.15.0 - easel >=0.48 - - hmmer >=3.3.2 + - hmmer >=3.4 - infernal >=1.1.4 - - minimap2 + - minimap2 >=2.26 - perl - perl-bio-easel >=0.16 - perl-lwp-simple - perl-lwp-protocol-https >=6.07 - perl-net-ssleay >=1.88 - - sequip >=0.08 + - sequip >=0.10 - wget test: diff --git a/recipes/vamos/build.sh b/recipes/vamos/build.sh index e6e2422f4273f..7906e90e177e4 100644 --- a/recipes/vamos/build.sh +++ b/recipes/vamos/build.sh @@ -1,11 +1,13 @@ #!/bin/bash +set -xe + mkdir -p $PREFIX/bin export CFLAGS="$CFLAGS -I$PREFIX/include" export LDFLAGS="$LDFLAGS -L$PREFIX/lib" export CPATH=${PREFIX}/include -cd src && make CC="${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -fPIE " CXX="${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} -fPIE" && cd .. +cd src && make -j ${CPU_COUNT} CC="${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -fPIE " CXX="${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} -fPIE" && cd .. cp src/vamos $PREFIX/bin diff --git a/recipes/vamos/meta.yaml b/recipes/vamos/meta.yaml index 0fd3c5e0d2840..f8d8a23b86ccc 100644 --- a/recipes/vamos/meta.yaml +++ b/recipes/vamos/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.3.6" %} +{% set version = "2.1.5" %} {% set name = "vamos" %} package: @@ -6,11 +6,13 @@ package: version: {{ version }} source: - url: https://github.com/ChaissonLab/vamos/archive/refs/tags/{{ version }}.tar.gz - sha256: f5379fbb35bd664b761a08314d7cddc6d0d7ac3faa4c02273083626942755b10 + url: https://github.com/ChaissonLab/vamos/archive/refs/tags/vamos-v{{ version }}.tar.gz + sha256: 2b0c5fde8be2599eba8b1dbd563db543077033b02a6d118a4efd26b0612c4433 + patches: + - vamos-aarch64.patch # [linux and aarch64] + build: number: 0 - skip: True # [osx] run_exports: - {{ pin_subpackage(name, max_pin='x') }} @@ -39,3 +41,7 @@ about: license: USC-RL v1.0 license_file: LICENSE.txt summary: 'VNTR annotation using efficient motif selection' + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/vamos/vamos-aarch64.patch b/recipes/vamos/vamos-aarch64.patch new file mode 100644 index 0000000000000..ee5ce9518dc73 --- /dev/null +++ b/recipes/vamos/vamos-aarch64.patch @@ -0,0 +1,9336 @@ +diff --git c/abPOA-1.4.1/include/simd_instruction.h i/abPOA-1.4.1/include/simd_instruction.h +index 41deb16..030adc8 100644 +--- c/abPOA-1.4.1/include/simd_instruction.h ++++ i/abPOA-1.4.1/include/simd_instruction.h +@@ -18,7 +18,11 @@ + #undef __AVX512BW__ + + #ifndef USE_SIMDE ++#ifdef __ARM_NEON ++#include "sse2neon.h" ++#else + #include ++#endif + #else // use SIMDE + #ifdef __AVX512F__ + #include "simde/simde/x86/avx512.h" +diff --git c/abPOA-1.4.1/include/sse2neon.h i/abPOA-1.4.1/include/sse2neon.h +new file mode 100644 +index 0000000..2b12721 +--- /dev/null ++++ i/abPOA-1.4.1/include/sse2neon.h +@@ -0,0 +1,9301 @@ ++#ifndef SSE2NEON_H ++#define SSE2NEON_H ++ ++/* ++ * sse2neon is freely redistributable under the MIT License. ++ * ++ * Copyright (c) 2015-2024 SSE2NEON Contributors. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to deal ++ * in the Software without restriction, including without limitation the rights ++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++ * copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ * SOFTWARE. ++ */ ++ ++// This header file provides a simple API translation layer ++// between SSE intrinsics to their corresponding Arm/Aarch64 NEON versions ++// ++// Contributors to this work are: ++// John W. Ratcliff ++// Brandon Rowlett ++// Ken Fast ++// Eric van Beurden ++// Alexander Potylitsin ++// Hasindu Gamaarachchi ++// Jim Huang ++// Mark Cheng ++// Malcolm James MacLeod ++// Devin Hussey (easyaspi314) ++// Sebastian Pop ++// Developer Ecosystem Engineering ++// Danila Kutenin ++// François Turban (JishinMaster) ++// Pei-Hsuan Hung ++// Yang-Hao Yuan ++// Syoyo Fujita ++// Brecht Van Lommel ++// Jonathan Hue ++// Cuda Chen ++// Aymen Qader ++// Anthony Roberts ++ ++/* Tunable configurations */ ++ ++/* Enable precise implementation of math operations ++ * This would slow down the computation a bit, but gives consistent result with ++ * x86 SSE. (e.g. would solve a hole or NaN pixel in the rendering result) ++ */ ++/* _mm_min|max_ps|ss|pd|sd */ ++#ifndef SSE2NEON_PRECISE_MINMAX ++#define SSE2NEON_PRECISE_MINMAX (0) ++#endif ++/* _mm_rcp_ps */ ++#ifndef SSE2NEON_PRECISE_DIV ++#define SSE2NEON_PRECISE_DIV (0) ++#endif ++/* _mm_sqrt_ps and _mm_rsqrt_ps */ ++#ifndef SSE2NEON_PRECISE_SQRT ++#define SSE2NEON_PRECISE_SQRT (0) ++#endif ++/* _mm_dp_pd */ ++#ifndef SSE2NEON_PRECISE_DP ++#define SSE2NEON_PRECISE_DP (0) ++#endif ++ ++/* Enable inclusion of windows.h on MSVC platforms ++ * This makes _mm_clflush functional on windows, as there is no builtin. ++ */ ++#ifndef SSE2NEON_INCLUDE_WINDOWS_H ++#define SSE2NEON_INCLUDE_WINDOWS_H (0) ++#endif ++ ++/* compiler specific definitions */ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma push_macro("FORCE_INLINE") ++#pragma push_macro("ALIGN_STRUCT") ++#define FORCE_INLINE static inline __attribute__((always_inline)) ++#define ALIGN_STRUCT(x) __attribute__((aligned(x))) ++#define _sse2neon_likely(x) __builtin_expect(!!(x), 1) ++#define _sse2neon_unlikely(x) __builtin_expect(!!(x), 0) ++#elif defined(_MSC_VER) ++#if _MSVC_TRADITIONAL ++#error Using the traditional MSVC preprocessor is not supported! Use /Zc:preprocessor instead. ++#endif ++#ifndef FORCE_INLINE ++#define FORCE_INLINE static inline ++#endif ++#ifndef ALIGN_STRUCT ++#define ALIGN_STRUCT(x) __declspec(align(x)) ++#endif ++#define _sse2neon_likely(x) (x) ++#define _sse2neon_unlikely(x) (x) ++#else ++#pragma message("Macro name collisions may happen with unsupported compilers.") ++#endif ++ ++ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma push_macro("FORCE_INLINE_OPTNONE") ++#define FORCE_INLINE_OPTNONE static inline __attribute__((optimize("O0"))) ++#elif defined(__clang__) ++#pragma push_macro("FORCE_INLINE_OPTNONE") ++#define FORCE_INLINE_OPTNONE static inline __attribute__((optnone)) ++#else ++#define FORCE_INLINE_OPTNONE FORCE_INLINE ++#endif ++ ++#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ < 10 ++#warning "GCC versions earlier than 10 are not supported." ++#endif ++ ++/* C language does not allow initializing a variable with a function call. */ ++#ifdef __cplusplus ++#define _sse2neon_const static const ++#else ++#define _sse2neon_const const ++#endif ++ ++#include ++#include ++ ++#if defined(_WIN32) ++/* Definitions for _mm_{malloc,free} are provided by ++ * from both MinGW-w64 and MSVC. ++ */ ++#define SSE2NEON_ALLOC_DEFINED ++#endif ++ ++/* If using MSVC */ ++#ifdef _MSC_VER ++#include ++#if SSE2NEON_INCLUDE_WINDOWS_H ++#include ++#include ++#endif ++ ++#if !defined(__cplusplus) ++#error SSE2NEON only supports C++ compilation with this compiler ++#endif ++ ++#ifdef SSE2NEON_ALLOC_DEFINED ++#include ++#endif ++ ++#if (defined(_M_AMD64) || defined(__x86_64__)) || \ ++ (defined(_M_ARM64) || defined(__arm64__)) ++#define SSE2NEON_HAS_BITSCAN64 ++#endif ++#endif ++ ++#if defined(__GNUC__) || defined(__clang__) ++#define _sse2neon_define0(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define1(type, s, body) \ ++ __extension__({ \ ++ type _a = (s); \ ++ body \ ++ }) ++#define _sse2neon_define2(type, a, b, body) \ ++ __extension__({ \ ++ type _a = (a), _b = (b); \ ++ body \ ++ }) ++#define _sse2neon_return(ret) (ret) ++#else ++#define _sse2neon_define0(type, a, body) [=](type _a) { body }(a) ++#define _sse2neon_define1(type, a, body) [](type _a) { body }(a) ++#define _sse2neon_define2(type, a, b, body) \ ++ [](type _a, type _b) { body }((a), (b)) ++#define _sse2neon_return(ret) return ret ++#endif ++ ++#define _sse2neon_init(...) \ ++ { \ ++ __VA_ARGS__ \ ++ } ++ ++/* Compiler barrier */ ++#if defined(_MSC_VER) ++#define SSE2NEON_BARRIER() _ReadWriteBarrier() ++#else ++#define SSE2NEON_BARRIER() \ ++ do { \ ++ __asm__ __volatile__("" ::: "memory"); \ ++ (void) 0; \ ++ } while (0) ++#endif ++ ++/* Memory barriers ++ * __atomic_thread_fence does not include a compiler barrier; instead, ++ * the barrier is part of __atomic_load/__atomic_store's "volatile-like" ++ * semantics. ++ */ ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) ++#include ++#endif ++ ++FORCE_INLINE void _sse2neon_smp_mb(void) ++{ ++ SSE2NEON_BARRIER(); ++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \ ++ !defined(__STDC_NO_ATOMICS__) ++ atomic_thread_fence(memory_order_seq_cst); ++#elif defined(__GNUC__) || defined(__clang__) ++ __atomic_thread_fence(__ATOMIC_SEQ_CST); ++#else /* MSVC */ ++ __dmb(_ARM64_BARRIER_ISH); ++#endif ++} ++ ++/* Architecture-specific build options */ ++/* FIXME: #pragma GCC push_options is only available on GCC */ ++#if defined(__GNUC__) ++#if defined(__arm__) && __ARM_ARCH == 7 ++/* According to ARM C Language Extensions Architecture specification, ++ * __ARM_NEON is defined to a value indicating the Advanced SIMD (NEON) ++ * architecture supported. ++ */ ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error "You must enable NEON instructions (e.g. -mfpu=neon) to use SSE2NEON." ++#endif ++#if !defined(__clang__) ++#pragma GCC push_options ++#pragma GCC target("fpu=neon") ++#endif ++#elif defined(__aarch64__) || defined(_M_ARM64) ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#pragma GCC target("+simd") ++#endif ++#elif __ARM_ARCH == 8 ++#if !defined(__ARM_NEON) || !defined(__ARM_NEON__) ++#error \ ++ "You must enable NEON instructions (e.g. -mfpu=neon-fp-armv8) to use SSE2NEON." ++#endif ++#if !defined(__clang__) && !defined(_MSC_VER) ++#pragma GCC push_options ++#endif ++#else ++#error \ ++ "Unsupported target. Must be either ARMv7-A+NEON or ARMv8-A \ ++(you could try setting target explicitly with -march or -mcpu)" ++#endif ++#endif ++ ++#include ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) && (__ARM_ARCH == 8) ++#if defined __has_include && __has_include() ++#include ++#endif ++#endif ++ ++/* Apple Silicon cache lines are double of what is commonly used by Intel, AMD ++ * and other Arm microarchitectures use. ++ * From sysctl -a on Apple M1: ++ * hw.cachelinesize: 128 ++ */ ++#if defined(__APPLE__) && (defined(__aarch64__) || defined(__arm64__)) ++#define SSE2NEON_CACHELINE_SIZE 128 ++#else ++#define SSE2NEON_CACHELINE_SIZE 64 ++#endif ++ ++/* Rounding functions require either Aarch64 instructions or libm fallback */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#include ++#endif ++ ++/* On ARMv7, some registers, such as PMUSERENR and PMCCNTR, are read-only ++ * or even not accessible in user mode. ++ * To write or access to these registers in user mode, ++ * we have to perform syscall instead. ++ */ ++#if (!defined(__aarch64__) && !defined(_M_ARM64)) ++#include ++#endif ++ ++/* "__has_builtin" can be used to query support for built-in functions ++ * provided by gcc/clang and other compilers that support it. ++ */ ++#ifndef __has_builtin /* GCC prior to 10 or non-clang compilers */ ++/* Compatibility with gcc <= 9 */ ++#if defined(__GNUC__) && (__GNUC__ <= 9) ++#define __has_builtin(x) HAS##x ++#define HAS__builtin_popcount 1 ++#define HAS__builtin_popcountll 1 ++ ++// __builtin_shuffle introduced in GCC 4.7.0 ++#if (__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) ++#define HAS__builtin_shuffle 1 ++#else ++#define HAS__builtin_shuffle 0 ++#endif ++ ++#define HAS__builtin_shufflevector 0 ++#define HAS__builtin_nontemporal_store 0 ++#else ++#define __has_builtin(x) 0 ++#endif ++#endif ++ ++/** ++ * MACRO for shuffle parameter for _mm_shuffle_ps(). ++ * Argument fp3 is a digit[0123] that represents the fp from argument "b" ++ * of mm_shuffle_ps that will be placed in fp3 of result. fp2 is the same ++ * for fp2 in result. fp1 is a digit[0123] that represents the fp from ++ * argument "a" of mm_shuffle_ps that will be places in fp1 of result. ++ * fp0 is the same for fp0 of result. ++ */ ++#define _MM_SHUFFLE(fp3, fp2, fp1, fp0) \ ++ (((fp3) << 6) | ((fp2) << 4) | ((fp1) << 2) | ((fp0))) ++ ++#if __has_builtin(__builtin_shufflevector) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __builtin_shufflevector(a, b, __VA_ARGS__) ++#elif __has_builtin(__builtin_shuffle) ++#define _sse2neon_shuffle(type, a, b, ...) \ ++ __extension__({ \ ++ type tmp = {__VA_ARGS__}; \ ++ __builtin_shuffle(a, b, tmp); \ ++ }) ++#endif ++ ++#ifdef _sse2neon_shuffle ++#define vshuffle_s16(a, b, ...) _sse2neon_shuffle(int16x4_t, a, b, __VA_ARGS__) ++#define vshuffleq_s16(a, b, ...) _sse2neon_shuffle(int16x8_t, a, b, __VA_ARGS__) ++#define vshuffle_s32(a, b, ...) _sse2neon_shuffle(int32x2_t, a, b, __VA_ARGS__) ++#define vshuffleq_s32(a, b, ...) _sse2neon_shuffle(int32x4_t, a, b, __VA_ARGS__) ++#define vshuffle_s64(a, b, ...) _sse2neon_shuffle(int64x1_t, a, b, __VA_ARGS__) ++#define vshuffleq_s64(a, b, ...) _sse2neon_shuffle(int64x2_t, a, b, __VA_ARGS__) ++#endif ++ ++/* Rounding mode macros. */ ++#define _MM_FROUND_TO_NEAREST_INT 0x00 ++#define _MM_FROUND_TO_NEG_INF 0x01 ++#define _MM_FROUND_TO_POS_INF 0x02 ++#define _MM_FROUND_TO_ZERO 0x03 ++#define _MM_FROUND_CUR_DIRECTION 0x04 ++#define _MM_FROUND_NO_EXC 0x08 ++#define _MM_FROUND_RAISE_EXC 0x00 ++#define _MM_FROUND_NINT (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_FLOOR (_MM_FROUND_TO_NEG_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_CEIL (_MM_FROUND_TO_POS_INF | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_TRUNC (_MM_FROUND_TO_ZERO | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_RINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_RAISE_EXC) ++#define _MM_FROUND_NEARBYINT (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_NO_EXC) ++#define _MM_ROUND_NEAREST 0x0000 ++#define _MM_ROUND_DOWN 0x2000 ++#define _MM_ROUND_UP 0x4000 ++#define _MM_ROUND_TOWARD_ZERO 0x6000 ++/* Flush zero mode macros. */ ++#define _MM_FLUSH_ZERO_MASK 0x8000 ++#define _MM_FLUSH_ZERO_ON 0x8000 ++#define _MM_FLUSH_ZERO_OFF 0x0000 ++/* Denormals are zeros mode macros. */ ++#define _MM_DENORMALS_ZERO_MASK 0x0040 ++#define _MM_DENORMALS_ZERO_ON 0x0040 ++#define _MM_DENORMALS_ZERO_OFF 0x0000 ++ ++/* indicate immediate constant argument in a given range */ ++#define __constrange(a, b) const ++ ++/* A few intrinsics accept traditional data types like ints or floats, but ++ * most operate on data types that are specific to SSE. ++ * If a vector type ends in d, it contains doubles, and if it does not have ++ * a suffix, it contains floats. An integer vector type can contain any type ++ * of integer, from chars to shorts to unsigned long longs. ++ */ ++typedef int64x1_t __m64; ++typedef float32x4_t __m128; /* 128-bit vector containing 4 floats */ ++// On ARM 32-bit architecture, the float64x2_t is not supported. ++// The data type __m128d should be represented in a different way for related ++// intrinsic conversion. ++#if defined(__aarch64__) || defined(_M_ARM64) ++typedef float64x2_t __m128d; /* 128-bit vector containing 2 doubles */ ++#else ++typedef float32x4_t __m128d; ++#endif ++typedef int64x2_t __m128i; /* 128-bit vector containing integers */ ++ ++// Some intrinsics operate on unaligned data types. ++typedef int16_t ALIGN_STRUCT(1) unaligned_int16_t; ++typedef int32_t ALIGN_STRUCT(1) unaligned_int32_t; ++typedef int64_t ALIGN_STRUCT(1) unaligned_int64_t; ++ ++// __int64 is defined in the Intrinsics Guide which maps to different datatype ++// in different data model ++#if !(defined(_WIN32) || defined(_WIN64) || defined(__int64)) ++#if (defined(__x86_64__) || defined(__i386__)) ++#define __int64 long long ++#else ++#define __int64 int64_t ++#endif ++#endif ++ ++/* type-safe casting between types */ ++ ++#define vreinterpretq_m128_f16(x) vreinterpretq_f32_f16(x) ++#define vreinterpretq_m128_f32(x) (x) ++#define vreinterpretq_m128_f64(x) vreinterpretq_f32_f64(x) ++ ++#define vreinterpretq_m128_u8(x) vreinterpretq_f32_u8(x) ++#define vreinterpretq_m128_u16(x) vreinterpretq_f32_u16(x) ++#define vreinterpretq_m128_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128_s8(x) vreinterpretq_f32_s8(x) ++#define vreinterpretq_m128_s16(x) vreinterpretq_f32_s16(x) ++#define vreinterpretq_m128_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_f16_m128(x) vreinterpretq_f16_f32(x) ++#define vreinterpretq_f32_m128(x) (x) ++#define vreinterpretq_f64_m128(x) vreinterpretq_f64_f32(x) ++ ++#define vreinterpretq_u8_m128(x) vreinterpretq_u8_f32(x) ++#define vreinterpretq_u16_m128(x) vreinterpretq_u16_f32(x) ++#define vreinterpretq_u32_m128(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_s8_m128(x) vreinterpretq_s8_f32(x) ++#define vreinterpretq_s16_m128(x) vreinterpretq_s16_f32(x) ++#define vreinterpretq_s32_m128(x) vreinterpretq_s32_f32(x) ++#define vreinterpretq_s64_m128(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_m128i_s8(x) vreinterpretq_s64_s8(x) ++#define vreinterpretq_m128i_s16(x) vreinterpretq_s64_s16(x) ++#define vreinterpretq_m128i_s32(x) vreinterpretq_s64_s32(x) ++#define vreinterpretq_m128i_s64(x) (x) ++ ++#define vreinterpretq_m128i_u8(x) vreinterpretq_s64_u8(x) ++#define vreinterpretq_m128i_u16(x) vreinterpretq_s64_u16(x) ++#define vreinterpretq_m128i_u32(x) vreinterpretq_s64_u32(x) ++#define vreinterpretq_m128i_u64(x) vreinterpretq_s64_u64(x) ++ ++#define vreinterpretq_f32_m128i(x) vreinterpretq_f32_s64(x) ++#define vreinterpretq_f64_m128i(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_s8_m128i(x) vreinterpretq_s8_s64(x) ++#define vreinterpretq_s16_m128i(x) vreinterpretq_s16_s64(x) ++#define vreinterpretq_s32_m128i(x) vreinterpretq_s32_s64(x) ++#define vreinterpretq_s64_m128i(x) (x) ++ ++#define vreinterpretq_u8_m128i(x) vreinterpretq_u8_s64(x) ++#define vreinterpretq_u16_m128i(x) vreinterpretq_u16_s64(x) ++#define vreinterpretq_u32_m128i(x) vreinterpretq_u32_s64(x) ++#define vreinterpretq_u64_m128i(x) vreinterpretq_u64_s64(x) ++ ++#define vreinterpret_m64_s8(x) vreinterpret_s64_s8(x) ++#define vreinterpret_m64_s16(x) vreinterpret_s64_s16(x) ++#define vreinterpret_m64_s32(x) vreinterpret_s64_s32(x) ++#define vreinterpret_m64_s64(x) (x) ++ ++#define vreinterpret_m64_u8(x) vreinterpret_s64_u8(x) ++#define vreinterpret_m64_u16(x) vreinterpret_s64_u16(x) ++#define vreinterpret_m64_u32(x) vreinterpret_s64_u32(x) ++#define vreinterpret_m64_u64(x) vreinterpret_s64_u64(x) ++ ++#define vreinterpret_m64_f16(x) vreinterpret_s64_f16(x) ++#define vreinterpret_m64_f32(x) vreinterpret_s64_f32(x) ++#define vreinterpret_m64_f64(x) vreinterpret_s64_f64(x) ++ ++#define vreinterpret_u8_m64(x) vreinterpret_u8_s64(x) ++#define vreinterpret_u16_m64(x) vreinterpret_u16_s64(x) ++#define vreinterpret_u32_m64(x) vreinterpret_u32_s64(x) ++#define vreinterpret_u64_m64(x) vreinterpret_u64_s64(x) ++ ++#define vreinterpret_s8_m64(x) vreinterpret_s8_s64(x) ++#define vreinterpret_s16_m64(x) vreinterpret_s16_s64(x) ++#define vreinterpret_s32_m64(x) vreinterpret_s32_s64(x) ++#define vreinterpret_s64_m64(x) (x) ++ ++#define vreinterpret_f32_m64(x) vreinterpret_f32_s64(x) ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f64_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f64_s64(x) ++ ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f64_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) vreinterpretq_f64_f32(x) ++#define vreinterpretq_m128d_f64(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f64(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f64(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f64(x) ++ ++#define vreinterpretq_f64_m128d(x) (x) ++#define vreinterpretq_f32_m128d(x) vreinterpretq_f32_f64(x) ++#else ++#define vreinterpretq_m128d_s32(x) vreinterpretq_f32_s32(x) ++#define vreinterpretq_m128d_s64(x) vreinterpretq_f32_s64(x) ++ ++#define vreinterpretq_m128d_u32(x) vreinterpretq_f32_u32(x) ++#define vreinterpretq_m128d_u64(x) vreinterpretq_f32_u64(x) ++ ++#define vreinterpretq_m128d_f32(x) (x) ++ ++#define vreinterpretq_s64_m128d(x) vreinterpretq_s64_f32(x) ++ ++#define vreinterpretq_u32_m128d(x) vreinterpretq_u32_f32(x) ++#define vreinterpretq_u64_m128d(x) vreinterpretq_u64_f32(x) ++ ++#define vreinterpretq_f32_m128d(x) (x) ++#endif ++ ++// A struct is defined in this header file called 'SIMDVec' which can be used ++// by applications which attempt to access the contents of an __m128 struct ++// directly. It is important to note that accessing the __m128 struct directly ++// is bad coding practice by Microsoft: @see: ++// https://learn.microsoft.com/en-us/cpp/cpp/m128 ++// ++// However, some legacy source code may try to access the contents of an __m128 ++// struct directly so the developer can use the SIMDVec as an alias for it. Any ++// casting must be done manually by the developer, as you cannot cast or ++// otherwise alias the base NEON data type for intrinsic operations. ++// ++// union intended to allow direct access to an __m128 variable using the names ++// that the MSVC compiler provides. This union should really only be used when ++// trying to access the members of the vector as integer values. GCC/clang ++// allow native access to the float members through a simple array access ++// operator (in C since 4.6, in C++ since 4.8). ++// ++// Ideally direct accesses to SIMD vectors should not be used since it can cause ++// a performance hit. If it really is needed however, the original __m128 ++// variable can be aliased with a pointer to this union and used to access ++// individual components. The use of this union should be hidden behind a macro ++// that is used throughout the codebase to access the members instead of always ++// declaring this type of variable. ++typedef union ALIGN_STRUCT(16) SIMDVec { ++ float m128_f32[4]; // as floats - DON'T USE. Added for convenience. ++ int8_t m128_i8[16]; // as signed 8-bit integers. ++ int16_t m128_i16[8]; // as signed 16-bit integers. ++ int32_t m128_i32[4]; // as signed 32-bit integers. ++ int64_t m128_i64[2]; // as signed 64-bit integers. ++ uint8_t m128_u8[16]; // as unsigned 8-bit integers. ++ uint16_t m128_u16[8]; // as unsigned 16-bit integers. ++ uint32_t m128_u32[4]; // as unsigned 32-bit integers. ++ uint64_t m128_u64[2]; // as unsigned 64-bit integers. ++} SIMDVec; ++ ++// casting using SIMDVec ++#define vreinterpretq_nth_u64_m128i(x, n) (((SIMDVec *) &x)->m128_u64[n]) ++#define vreinterpretq_nth_u32_m128i(x, n) (((SIMDVec *) &x)->m128_u32[n]) ++#define vreinterpretq_nth_u8_m128i(x, n) (((SIMDVec *) &x)->m128_u8[n]) ++ ++/* SSE macros */ ++#define _MM_GET_FLUSH_ZERO_MODE _sse2neon_mm_get_flush_zero_mode ++#define _MM_SET_FLUSH_ZERO_MODE _sse2neon_mm_set_flush_zero_mode ++#define _MM_GET_DENORMALS_ZERO_MODE _sse2neon_mm_get_denormals_zero_mode ++#define _MM_SET_DENORMALS_ZERO_MODE _sse2neon_mm_set_denormals_zero_mode ++ ++// Function declaration ++// SSE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void); ++FORCE_INLINE __m128 _mm_move_ss(__m128, __m128); ++FORCE_INLINE __m128 _mm_or_ps(__m128, __m128); ++FORCE_INLINE __m128 _mm_set_ps1(float); ++FORCE_INLINE __m128 _mm_setzero_ps(void); ++// SSE2 ++FORCE_INLINE __m128i _mm_and_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_castps_si128(__m128); ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128); ++FORCE_INLINE __m128d _mm_move_sd(__m128d, __m128d); ++FORCE_INLINE __m128i _mm_or_si128(__m128i, __m128i); ++FORCE_INLINE __m128i _mm_set_epi32(int, int, int, int); ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t, int64_t); ++FORCE_INLINE __m128d _mm_set_pd(double, double); ++FORCE_INLINE __m128i _mm_set1_epi32(int); ++FORCE_INLINE __m128i _mm_setzero_si128(void); ++// SSE4.1 ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d); ++FORCE_INLINE __m128 _mm_ceil_ps(__m128); ++FORCE_INLINE __m128d _mm_floor_pd(__m128d); ++FORCE_INLINE __m128 _mm_floor_ps(__m128); ++FORCE_INLINE_OPTNONE __m128d _mm_round_pd(__m128d, int); ++FORCE_INLINE_OPTNONE __m128 _mm_round_ps(__m128, int); ++// SSE4.2 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t, uint8_t); ++ ++/* Backwards compatibility for compilers with lack of specific type support */ ++ ++// Older gcc does not define vld1q_u8_x4 type ++#if defined(__GNUC__) && !defined(__clang__) && \ ++ ((__GNUC__ <= 13 && defined(__arm__)) || \ ++ (__GNUC__ == 10 && __GNUC_MINOR__ < 3 && defined(__aarch64__)) || \ ++ (__GNUC__ <= 9 && defined(__aarch64__))) ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ uint8x16x4_t ret; ++ ret.val[0] = vld1q_u8(p + 0); ++ ret.val[1] = vld1q_u8(p + 16); ++ ret.val[2] = vld1q_u8(p + 32); ++ ret.val[3] = vld1q_u8(p + 48); ++ return ret; ++} ++#else ++// Wraps vld1q_u8_x4 ++FORCE_INLINE uint8x16x4_t _sse2neon_vld1q_u8_x4(const uint8_t *p) ++{ ++ return vld1q_u8_x4(p); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddv u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ const uint64x1_t v1 = vpaddl_u32(vpaddl_u16(vpaddl_u8(v8))); ++ return vget_lane_u8(vreinterpret_u8_u64(v1), 0); ++} ++#else ++// Wraps vaddv_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddv_u8(uint8x8_t v8) ++{ ++ return vaddv_u8(v8); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u8 variant */ ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ uint8x8_t tmp = vpadd_u8(vget_low_u8(a), vget_high_u8(a)); ++ uint8_t res = 0; ++ for (int i = 0; i < 8; ++i) ++ res += tmp[i]; ++ return res; ++} ++#else ++// Wraps vaddvq_u8 ++FORCE_INLINE uint8_t _sse2neon_vaddvq_u8(uint8x16_t a) ++{ ++ return vaddvq_u8(a); ++} ++#endif ++ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++/* emulate vaddvq u16 variant */ ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ uint32x4_t m = vpaddlq_u16(a); ++ uint64x2_t n = vpaddlq_u32(m); ++ uint64x1_t o = vget_low_u64(n) + vget_high_u64(n); ++ ++ return vget_lane_u32((uint32x2_t) o, 0); ++} ++#else ++// Wraps vaddvq_u16 ++FORCE_INLINE uint16_t _sse2neon_vaddvq_u16(uint16x8_t a) ++{ ++ return vaddvq_u16(a); ++} ++#endif ++ ++/* Function Naming Conventions ++ * The naming convention of SSE intrinsics is straightforward. A generic SSE ++ * intrinsic function is given as follows: ++ * _mm__ ++ * ++ * The parts of this format are given as follows: ++ * 1. describes the operation performed by the intrinsic ++ * 2. identifies the data type of the function's primary arguments ++ * ++ * This last part, , is a little complicated. It identifies the ++ * content of the input values, and can be set to any of the following values: ++ * + ps - vectors contain floats (ps stands for packed single-precision) ++ * + pd - vectors contain doubles (pd stands for packed double-precision) ++ * + epi8/epi16/epi32/epi64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * signed integers ++ * + epu8/epu16/epu32/epu64 - vectors contain 8-bit/16-bit/32-bit/64-bit ++ * unsigned integers ++ * + si128 - unspecified 128-bit vector or 256-bit vector ++ * + m128/m128i/m128d - identifies input vector types when they are different ++ * than the type of the returned vector ++ * ++ * For example, _mm_setzero_ps. The _mm implies that the function returns ++ * a 128-bit vector. The _ps at the end implies that the argument vectors ++ * contain floats. ++ * ++ * A complete example: Byte Shuffle - pshufb (_mm_shuffle_epi8) ++ * // Set packed 16-bit integers. 128 bits, 8 short, per 16 bits ++ * __m128i v_in = _mm_setr_epi16(1, 2, 3, 4, 5, 6, 7, 8); ++ * // Set packed 8-bit integers ++ * // 128 bits, 16 chars, per 8 bits ++ * __m128i v_perm = _mm_setr_epi8(1, 0, 2, 3, 8, 9, 10, 11, ++ * 4, 5, 12, 13, 6, 7, 14, 15); ++ * // Shuffle packed 8-bit integers ++ * __m128i v_out = _mm_shuffle_epi8(v_in, v_perm); // pshufb ++ */ ++ ++/* Constants for use with _mm_prefetch. */ ++enum _mm_hint { ++ _MM_HINT_NTA = 0, /* load data to L1 and L2 cache, mark it as NTA */ ++ _MM_HINT_T0 = 1, /* load data to L1 and L2 cache */ ++ _MM_HINT_T1 = 2, /* load data to L2 cache only */ ++ _MM_HINT_T2 = 3, /* load data to L2 cache only, mark it as NTA */ ++}; ++ ++// The bit field mapping to the FPCR(floating-point control register) ++typedef struct { ++ uint16_t res0; ++ uint8_t res1 : 6; ++ uint8_t bit22 : 1; ++ uint8_t bit23 : 1; ++ uint8_t bit24 : 1; ++ uint8_t res2 : 7; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32_t res3; ++#endif ++} fpcr_bitfield; ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of b and places it into the high end of the result. ++FORCE_INLINE __m128 _mm_shuffle_ps_1032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in high ++// end of result takes the higher two 32 bit values from b and swaps them and ++// places in low end of result. ++FORCE_INLINE __m128 _mm_shuffle_ps_2301(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b23 = vrev64_f32(vget_high_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b23)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0321(__m128 a, __m128 b) ++{ ++ float32x2_t a21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a21, b03)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2103(__m128 a, __m128 b) ++{ ++ float32x2_t a03 = vget_low_f32( ++ vextq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 3)); ++ float32x2_t b21 = vget_high_f32( ++ vextq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b), 3)); ++ return vreinterpretq_m128_f32(vcombine_f32(a03, b21)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b10)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0101(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32x2_t b01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b01)); ++} ++ ++// keeps the low 64 bits of b in the low and puts the high 64 bits of a in the ++// high ++FORCE_INLINE __m128 _mm_shuffle_ps_3210(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0011(__m128 a, __m128 b) ++{ ++ float32x2_t a11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a11, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_0022(__m128 a, __m128 b) ++{ ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a22, b00)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2200(__m128 a, __m128 b) ++{ ++ float32x2_t a00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t b22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(b)), 0); ++ return vreinterpretq_m128_f32(vcombine_f32(a00, b22)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_3202(__m128 a, __m128 b) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32x2_t a22 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 0); ++ float32x2_t a02 = vset_lane_f32(a0, a22, 1); /* TODO: use vzip ?*/ ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(a02, b32)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_1133(__m128 a, __m128 b) ++{ ++ float32x2_t a33 = ++ vdup_lane_f32(vget_high_f32(vreinterpretq_f32_m128(a)), 1); ++ float32x2_t b11 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a33, b11)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2010(__m128 a, __m128 b) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2001(__m128 a, __m128 b) ++{ ++ float32x2_t a01 = vrev64_f32(vget_low_f32(vreinterpretq_f32_m128(a))); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a01, b20)); ++} ++ ++FORCE_INLINE __m128 _mm_shuffle_ps_2032(__m128 a, __m128 b) ++{ ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32_t b2 = vgetq_lane_f32(b, 2); ++ float32x2_t b00 = vdup_lane_f32(vget_low_f32(vreinterpretq_f32_m128(b)), 0); ++ float32x2_t b20 = vset_lane_f32(b2, b00, 1); ++ return vreinterpretq_m128_f32(vcombine_f32(a32, b20)); ++} ++ ++// For MSVC, we check only if it is ARM64, as every single ARM64 processor ++// supported by WoA has crypto extensions. If this changes in the future, ++// this can be verified via the runtime-only method of: ++// IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE) ++#if (defined(_M_ARM64) && !defined(__clang__)) || \ ++ (defined(__ARM_FEATURE_CRYPTO) && \ ++ (defined(__aarch64__) || __has_builtin(__builtin_arm_crypto_vmullp64))) ++// Wraps vmull_p64 ++FORCE_INLINE uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly64_t a = vget_lane_p64(vreinterpret_p64_u64(_a), 0); ++ poly64_t b = vget_lane_p64(vreinterpret_p64_u64(_b), 0); ++#if defined(_MSC_VER) ++ __n64 a1 = {a}, b1 = {b}; ++ return vreinterpretq_u64_p128(vmull_p64(a1, b1)); ++#else ++ return vreinterpretq_u64_p128(vmull_p64(a, b)); ++#endif ++} ++#else // ARMv7 polyfill ++// ARMv7/some A64 lacks vmull_p64, but it has vmull_p8. ++// ++// vmull_p8 calculates 8 8-bit->16-bit polynomial multiplies, but we need a ++// 64-bit->128-bit polynomial multiply. ++// ++// It needs some work and is somewhat slow, but it is still faster than all ++// known scalar methods. ++// ++// Algorithm adapted to C from ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/, which is adapted ++// from "Fast Software Polynomial Multiplication on ARM Processors Using the ++// NEON Engine" by Danilo Camara, Conrado Gouvea, Julio Lopez and Ricardo Dahab ++// (https://hal.inria.fr/hal-01506572) ++static uint64x2_t _sse2neon_vmull_p64(uint64x1_t _a, uint64x1_t _b) ++{ ++ poly8x8_t a = vreinterpret_p8_u64(_a); ++ poly8x8_t b = vreinterpret_p8_u64(_b); ++ ++ // Masks ++ uint8x16_t k48_32 = vcombine_u8(vcreate_u8(0x0000ffffffffffff), ++ vcreate_u8(0x00000000ffffffff)); ++ uint8x16_t k16_00 = vcombine_u8(vcreate_u8(0x000000000000ffff), ++ vcreate_u8(0x0000000000000000)); ++ ++ // Do the multiplies, rotating with vext to get all combinations ++ uint8x16_t d = vreinterpretq_u8_p16(vmull_p8(a, b)); // D = A0 * B0 ++ uint8x16_t e = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 1))); // E = A0 * B1 ++ uint8x16_t f = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 1), b)); // F = A1 * B0 ++ uint8x16_t g = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 2))); // G = A0 * B2 ++ uint8x16_t h = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 2), b)); // H = A2 * B0 ++ uint8x16_t i = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 3))); // I = A0 * B3 ++ uint8x16_t j = ++ vreinterpretq_u8_p16(vmull_p8(vext_p8(a, a, 3), b)); // J = A3 * B0 ++ uint8x16_t k = ++ vreinterpretq_u8_p16(vmull_p8(a, vext_p8(b, b, 4))); // L = A0 * B4 ++ ++ // Add cross products ++ uint8x16_t l = veorq_u8(e, f); // L = E + F ++ uint8x16_t m = veorq_u8(g, h); // M = G + H ++ uint8x16_t n = veorq_u8(i, j); // N = I + J ++ ++ // Interleave. Using vzip1 and vzip2 prevents Clang from emitting TBL ++ // instructions. ++#if defined(__aarch64__) ++ uint8x16_t lm_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t lm_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(l), vreinterpretq_u64_u8(m))); ++ uint8x16_t nk_p0 = vreinterpretq_u8_u64( ++ vzip1q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++ uint8x16_t nk_p1 = vreinterpretq_u8_u64( ++ vzip2q_u64(vreinterpretq_u64_u8(n), vreinterpretq_u64_u8(k))); ++#else ++ uint8x16_t lm_p0 = vcombine_u8(vget_low_u8(l), vget_low_u8(m)); ++ uint8x16_t lm_p1 = vcombine_u8(vget_high_u8(l), vget_high_u8(m)); ++ uint8x16_t nk_p0 = vcombine_u8(vget_low_u8(n), vget_low_u8(k)); ++ uint8x16_t nk_p1 = vcombine_u8(vget_high_u8(n), vget_high_u8(k)); ++#endif ++ // t0 = (L) (P0 + P1) << 8 ++ // t1 = (M) (P2 + P3) << 16 ++ uint8x16_t t0t1_tmp = veorq_u8(lm_p0, lm_p1); ++ uint8x16_t t0t1_h = vandq_u8(lm_p1, k48_32); ++ uint8x16_t t0t1_l = veorq_u8(t0t1_tmp, t0t1_h); ++ ++ // t2 = (N) (P4 + P5) << 24 ++ // t3 = (K) (P6 + P7) << 32 ++ uint8x16_t t2t3_tmp = veorq_u8(nk_p0, nk_p1); ++ uint8x16_t t2t3_h = vandq_u8(nk_p1, k16_00); ++ uint8x16_t t2t3_l = veorq_u8(t2t3_tmp, t2t3_h); ++ ++ // De-interleave ++#if defined(__aarch64__) ++ uint8x16_t t0 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t1 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t0t1_l), vreinterpretq_u64_u8(t0t1_h))); ++ uint8x16_t t2 = vreinterpretq_u8_u64( ++ vuzp1q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++ uint8x16_t t3 = vreinterpretq_u8_u64( ++ vuzp2q_u64(vreinterpretq_u64_u8(t2t3_l), vreinterpretq_u64_u8(t2t3_h))); ++#else ++ uint8x16_t t1 = vcombine_u8(vget_high_u8(t0t1_l), vget_high_u8(t0t1_h)); ++ uint8x16_t t0 = vcombine_u8(vget_low_u8(t0t1_l), vget_low_u8(t0t1_h)); ++ uint8x16_t t3 = vcombine_u8(vget_high_u8(t2t3_l), vget_high_u8(t2t3_h)); ++ uint8x16_t t2 = vcombine_u8(vget_low_u8(t2t3_l), vget_low_u8(t2t3_h)); ++#endif ++ // Shift the cross products ++ uint8x16_t t0_shift = vextq_u8(t0, t0, 15); // t0 << 8 ++ uint8x16_t t1_shift = vextq_u8(t1, t1, 14); // t1 << 16 ++ uint8x16_t t2_shift = vextq_u8(t2, t2, 13); // t2 << 24 ++ uint8x16_t t3_shift = vextq_u8(t3, t3, 12); // t3 << 32 ++ ++ // Accumulate the products ++ uint8x16_t cross1 = veorq_u8(t0_shift, t1_shift); ++ uint8x16_t cross2 = veorq_u8(t2_shift, t3_shift); ++ uint8x16_t mix = veorq_u8(d, cross1); ++ uint8x16_t r = veorq_u8(mix, cross2); ++ return vreinterpretq_u64_u8(r); ++} ++#endif // ARMv7 polyfill ++ ++// C equivalent: ++// __m128i _mm_shuffle_epi32_default(__m128i a, ++// __constrange(0, 255) int imm) { ++// __m128i ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = a[(imm >> 4) & 0x03]; ret[3] = a[(imm >> 6) & 0x03]; ++// return ret; ++// } ++#define _mm_shuffle_epi32_default(a, imm) \ ++ vreinterpretq_m128i_s32(vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_s32( \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), \ ++ ((imm) >> 2) & 0x3), \ ++ vmovq_n_s32(vgetq_lane_s32( \ ++ vreinterpretq_s32_m128i(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Takes the upper 64 bits of a and places it in the low end of the result ++// Takes the lower 64 bits of a and places it into the high end of the result. ++FORCE_INLINE __m128i _mm_shuffle_epi_1032(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a10)); ++} ++ ++// takes the lower two 32-bit values from a and swaps them and places in low end ++// of result takes the higher two 32 bit values from a and swaps them and places ++// in high end of result. ++FORCE_INLINE __m128i _mm_shuffle_epi_2301(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a23 = vrev64_s32(vget_high_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a23)); ++} ++ ++// rotates the least significant 32 bits into the most significant 32 bits, and ++// shifts the rest down ++FORCE_INLINE __m128i _mm_shuffle_epi_0321(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 1)); ++} ++ ++// rotates the most significant 32 bits into the least significant 32 bits, and ++// shifts the rest up ++FORCE_INLINE __m128i _mm_shuffle_epi_2103(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vextq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(a), 3)); ++} ++ ++// gets the lower 64 bits of a, and places it in the upper 64 bits ++// gets the lower 64 bits of a and places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1010(__m128i a) ++{ ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a10, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements, and places it in the ++// lower 64 bits gets the lower 64 bits of a, and places it in the upper 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_1001(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ int32x2_t a10 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a10)); ++} ++ ++// gets the lower 64 bits of a, swaps the 0 and 1 elements and places it in the ++// upper 64 bits gets the lower 64 bits of a, swaps the 0 and 1 elements, and ++// places it in the lower 64 bits ++FORCE_INLINE __m128i _mm_shuffle_epi_0101(__m128i a) ++{ ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a01, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_2211(__m128i a) ++{ ++ int32x2_t a11 = vdup_lane_s32(vget_low_s32(vreinterpretq_s32_m128i(a)), 1); ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ return vreinterpretq_m128i_s32(vcombine_s32(a11, a22)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_0122(__m128i a) ++{ ++ int32x2_t a22 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 0); ++ int32x2_t a01 = vrev64_s32(vget_low_s32(vreinterpretq_s32_m128i(a))); ++ return vreinterpretq_m128i_s32(vcombine_s32(a22, a01)); ++} ++ ++FORCE_INLINE __m128i _mm_shuffle_epi_3332(__m128i a) ++{ ++ int32x2_t a32 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t a33 = vdup_lane_s32(vget_high_s32(vreinterpretq_s32_m128i(a)), 1); ++ return vreinterpretq_m128i_s32(vcombine_s32(a32, a33)); ++} ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32(vdupq_laneq_s32(vreinterpretq_s32_m128i(a), (imm))) ++#else ++#define _mm_shuffle_epi32_splat(a, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vdupq_n_s32(vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)))) ++#endif ++ ++// NEON does not support a general purpose permute intrinsic. ++// Shuffle single-precision (32-bit) floating-point elements in a using the ++// control in imm8, and store the results in dst. ++// ++// C equivalent: ++// __m128 _mm_shuffle_ps_default(__m128 a, __m128 b, ++// __constrange(0, 255) int imm) { ++// __m128 ret; ++// ret[0] = a[imm & 0x3]; ret[1] = a[(imm >> 2) & 0x3]; ++// ret[2] = b[(imm >> 4) & 0x03]; ret[3] = b[(imm >> 6) & 0x03]; ++// return ret; ++// } ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_ps ++#define _mm_shuffle_ps_default(a, b, imm) \ ++ vreinterpretq_m128_f32(vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 6) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(b), ((imm) >> 4) & 0x3), \ ++ vsetq_lane_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), ((imm) >> 2) & 0x3), \ ++ vmovq_n_f32( \ ++ vgetq_lane_f32(vreinterpretq_f32_m128(a), (imm) & (0x3))), \ ++ 1), \ ++ 2), \ ++ 3)) ++ ++// Shuffle 16-bit integers in the low 64 bits of a using the control in imm8. ++// Store the results in the low 64 bits of dst, with the high 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflelo_epi16 ++#define _mm_shufflelo_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t lowBits = vget_low_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, (imm) & (0x3)), ret, 0); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vsetq_lane_s16(vget_lane_s16(lowBits, ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++// Shuffle 16-bit integers in the high 64 bits of a using the control in imm8. ++// Store the results in the high 64 bits of dst, with the low 64 bits being ++// copied from a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shufflehi_epi16 ++#define _mm_shufflehi_epi16_function(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int16x8_t ret = vreinterpretq_s16_m128i(_a); \ ++ int16x4_t highBits = vget_high_s16(ret); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, (imm) & (0x3)), ret, 4); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 2) & 0x3), ret, \ ++ 5); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 4) & 0x3), ret, \ ++ 6); \ ++ ret = vsetq_lane_s16(vget_lane_s16(highBits, ((imm) >> 6) & 0x3), ret, \ ++ 7); \ ++ _sse2neon_return(vreinterpretq_m128i_s16(ret));) ++ ++/* MMX */ ++ ++//_mm_empty is a no-op on arm ++FORCE_INLINE void _mm_empty(void) {} ++ ++/* SSE */ ++ ++// Add packed single-precision (32-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ps ++FORCE_INLINE __m128 _mm_add_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Add the lower single-precision (32-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_ss ++FORCE_INLINE __m128 _mm_add_ss(__m128 a, __m128 b) ++{ ++ float32_t b0 = vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++ float32x4_t value = vsetq_lane_f32(b0, vdupq_n_f32(0), 0); ++ // the upper values in the result must be the remnants of . ++ return vreinterpretq_m128_f32(vaddq_f32(a, value)); ++} ++ ++// Compute the bitwise AND of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_ps ++FORCE_INLINE __m128 _mm_and_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vandq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Compute the bitwise NOT of packed single-precision (32-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_ps ++FORCE_INLINE __m128 _mm_andnot_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vbicq_s32(vreinterpretq_s32_m128(b), ++ vreinterpretq_s32_m128(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu16 ++FORCE_INLINE __m64 _mm_avg_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16( ++ vrhadd_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_pu8 ++FORCE_INLINE __m64 _mm_avg_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vrhadd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ps ++FORCE_INLINE __m128 _mm_cmpeq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_ss ++FORCE_INLINE __m128 _mm_cmpeq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpeq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ps ++FORCE_INLINE __m128 _mm_cmpge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_ss ++FORCE_INLINE __m128 _mm_cmpge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ps ++FORCE_INLINE __m128 _mm_cmpgt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_ss ++FORCE_INLINE __m128 _mm_cmpgt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpgt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ps ++FORCE_INLINE __m128 _mm_cmple_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_ss ++FORCE_INLINE __m128 _mm_cmple_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmple_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ps ++FORCE_INLINE __m128 _mm_cmplt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_ss ++FORCE_INLINE __m128 _mm_cmplt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmplt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ps ++FORCE_INLINE __m128 _mm_cmpneq_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_ss ++FORCE_INLINE __m128 _mm_cmpneq_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpneq_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ps ++FORCE_INLINE __m128 _mm_cmpnge_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_ss ++FORCE_INLINE __m128 _mm_cmpnge_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnge_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ps ++FORCE_INLINE __m128 _mm_cmpngt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_ss ++FORCE_INLINE __m128 _mm_cmpngt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpngt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ps ++FORCE_INLINE __m128 _mm_cmpnle_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_ss ++FORCE_INLINE __m128 _mm_cmpnle_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnle_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ps ++FORCE_INLINE __m128 _mm_cmpnlt_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_u32(vmvnq_u32( ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_ss ++FORCE_INLINE __m128 _mm_cmpnlt_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpnlt_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ps ++// ++// See also: ++// http://stackoverflow.com/questions/8627331/what-does-ordered-unordered-comparison-mean ++// http://stackoverflow.com/questions/29349621/neon-isnanval-intrinsics ++FORCE_INLINE __m128 _mm_cmpord_ps(__m128 a, __m128 b) ++{ ++ // Note: NEON does not have ordered compare builtin ++ // Need to compare a eq a and b eq b to check for NaN ++ // Do AND of results to get final ++ uint32x4_t ceqaa = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t ceqbb = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vandq_u32(ceqaa, ceqbb)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_ss ++FORCE_INLINE __m128 _mm_cmpord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpord_ps(a, b)); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ps ++FORCE_INLINE __m128 _mm_cmpunord_ps(__m128 a, __m128 b) ++{ ++ uint32x4_t f32a = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a)); ++ uint32x4_t f32b = ++ vceqq_f32(vreinterpretq_f32_m128(b), vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_u32(vmvnq_u32(vandq_u32(f32a, f32b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_ss ++FORCE_INLINE __m128 _mm_cmpunord_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_cmpunord_ps(a, b)); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_ss ++FORCE_INLINE int _mm_comieq_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_eq_b = ++ vceqq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_eq_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_ss ++FORCE_INLINE int _mm_comige_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_ge_b = ++ vcgeq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_ge_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_ss ++FORCE_INLINE int _mm_comigt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_gt_b = ++ vcgtq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_gt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_ss ++FORCE_INLINE int _mm_comile_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_le_b = ++ vcleq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_le_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_ss ++FORCE_INLINE int _mm_comilt_ss(__m128 a, __m128 b) ++{ ++ uint32x4_t a_lt_b = ++ vcltq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b)); ++ return vgetq_lane_u32(a_lt_b, 0) & 0x1; ++} ++ ++// Compare the lower single-precision (32-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_ss ++FORCE_INLINE int _mm_comineq_ss(__m128 a, __m128 b) ++{ ++ return !_mm_comieq_ss(a, b); ++} ++ ++// Convert packed signed 32-bit integers in b to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, and copy the upper 2 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_pi2ps ++FORCE_INLINE __m128 _mm_cvt_pi2ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ps2pi ++FORCE_INLINE __m64 _mm_cvt_ps2pi(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))))); ++#else ++ return vreinterpret_m64_s32(vcvt_s32_f32(vget_low_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION))))); ++#endif ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_si2ss ++FORCE_INLINE __m128 _mm_cvt_si2ss(__m128 a, int b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvt_ss2si ++FORCE_INLINE int _mm_cvt_ss2si(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vgetq_lane_s32(vcvtnq_s32_f32(vrndiq_f32(vreinterpretq_f32_m128(a))), ++ 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int32_t) data; ++#endif ++} ++ ++// Convert packed 16-bit integers in a to packed single-precision (32-bit) ++// floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi16_ps ++FORCE_INLINE __m128 _mm_cvtpi16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vmovl_s16(vreinterpret_s16_m64(a)))); ++} ++ ++// Convert packed 32-bit integers in b to packed single-precision (32-bit) ++// floating-point elements, store the results in the lower 2 elements of dst, ++// and copy the upper 2 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_ps ++FORCE_INLINE __m128 _mm_cvtpi32_ps(__m128 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vcvt_f32_s32(vreinterpret_s32_m64(b)), ++ vget_high_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, store the results in the lower 2 elements ++// of dst, then convert the packed signed 32-bit integers in b to ++// single-precision (32-bit) floating-point element, and store the results in ++// the upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32x2_ps ++FORCE_INLINE __m128 _mm_cvtpi32x2_ps(__m64 a, __m64 b) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vcombine_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b)))); ++} ++ ++// Convert the lower packed 8-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi8_ps ++FORCE_INLINE __m128 _mm_cvtpi8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32( ++ vmovl_s16(vget_low_s16(vmovl_s8(vreinterpret_s8_m64(a)))))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 16-bit integers, and store the results in dst. Note: this intrinsic ++// will generate 0x7FFF, rather than 0x8000, for input values between 0x7FFF and ++// 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi16 ++FORCE_INLINE __m64 _mm_cvtps_pi16(__m128 a) ++{ ++ return vreinterpret_m64_s16( ++ vqmovn_s32(vreinterpretq_s32_m128i(_mm_cvtps_epi32(a)))); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi32 ++#define _mm_cvtps_pi32(a) _mm_cvt_ps2pi(a) ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 8-bit integers, and store the results in lower 4 elements of dst. ++// Note: this intrinsic will generate 0x7F, rather than 0x80, for input values ++// between 0x7F and 0x7FFFFFFF. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pi8 ++FORCE_INLINE __m64 _mm_cvtps_pi8(__m128 a) ++{ ++ return vreinterpret_m64_s8(vqmovn_s16( ++ vcombine_s16(vreinterpret_s16_m64(_mm_cvtps_pi16(a)), vdup_n_s16(0)))); ++} ++ ++// Convert packed unsigned 16-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu16_ps ++FORCE_INLINE __m128 _mm_cvtpu16_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_u32(vmovl_u16(vreinterpret_u16_m64(a)))); ++} ++ ++// Convert the lower packed unsigned 8-bit integers in a to packed ++// single-precision (32-bit) floating-point elements, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpu8_ps ++FORCE_INLINE __m128 _mm_cvtpu8_ps(__m64 a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_u32( ++ vmovl_u16(vget_low_u16(vmovl_u8(vreinterpret_u8_m64(a)))))); ++} ++ ++// Convert the signed 32-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_ss ++#define _mm_cvtsi32_ss(a, b) _mm_cvt_si2ss(a, b) ++ ++// Convert the signed 64-bit integer b to a single-precision (32-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_ss ++FORCE_INLINE __m128 _mm_cvtsi64_ss(__m128 a, int64_t b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32((float) b, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Copy the lower single-precision (32-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_f32 ++FORCE_INLINE float _mm_cvtss_f32(__m128 a) ++{ ++ return vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si32 ++#define _mm_cvtss_si32(a) _mm_cvt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_si64 ++FORCE_INLINE int64_t _mm_cvtss_si64(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return (int64_t) vgetq_lane_f32(vrndiq_f32(vreinterpretq_f32_m128(a)), 0); ++#else ++ float32_t data = vgetq_lane_f32( ++ vreinterpretq_f32_m128(_mm_round_ps(a, _MM_FROUND_CUR_DIRECTION)), 0); ++ return (int64_t) data; ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ps2pi ++FORCE_INLINE __m64 _mm_cvtt_ps2pi(__m128 a) ++{ ++ return vreinterpret_m64_s32( ++ vget_low_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)))); ++} ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtt_ss2si ++FORCE_INLINE int _mm_cvtt_ss2si(__m128 a) ++{ ++ return vgetq_lane_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a)), 0); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_pi32 ++#define _mm_cvttps_pi32(a) _mm_cvtt_ps2pi(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si32 ++#define _mm_cvttss_si32(a) _mm_cvtt_ss2si(a) ++ ++// Convert the lower single-precision (32-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttss_si64 ++FORCE_INLINE int64_t _mm_cvttss_si64(__m128 a) ++{ ++ return (int64_t) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++} ++ ++// Divide packed single-precision (32-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise division intrinsic, we implement ++// division by multiplying a by b's reciprocal before using the Newton-Raphson ++// method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ps ++FORCE_INLINE __m128 _mm_div_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vdivq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(b)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(b))); ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(a), recip)); ++#endif ++} ++ ++// Divide the lower single-precision (32-bit) floating-point element in a by the ++// lower single-precision (32-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper 3 packed elements from a to ++// the upper elements of dst. ++// Warning: ARMv7-A does not produce the same result compared to Intel and not ++// IEEE-compliant. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_ss ++FORCE_INLINE __m128 _mm_div_ss(__m128 a, __m128 b) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_div_ps(a, b)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_pi16 ++#define _mm_extract_pi16(a, imm) \ ++ (int32_t) vget_lane_u16(vreinterpret_u16_m64(a), (imm)) ++ ++// Free aligned memory that was allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_free ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void _mm_free(void *addr) ++{ ++ free(addr); ++} ++#endif ++ ++FORCE_INLINE uint64_t _sse2neon_get_fpcr(void) ++{ ++ uint64_t value; ++#if defined(_MSC_VER) ++ value = _ReadStatusReg(ARM64_FPCR); ++#else ++ __asm__ __volatile__("mrs %0, FPCR" : "=r"(value)); /* read */ ++#endif ++ return value; ++} ++ ++FORCE_INLINE void _sse2neon_set_fpcr(uint64_t value) ++{ ++#if defined(_MSC_VER) ++ _WriteStatusReg(ARM64_FPCR, value); ++#else ++ __asm__ __volatile__("msr FPCR, %0" ::"r"(value)); /* write */ ++#endif ++} ++ ++// Macro: Get the flush zero bits from the MXCSR control and status register. ++// The flush zero may contain any of the following flags: _MM_FLUSH_ZERO_ON or ++// _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_FLUSH_ZERO_MODE ++FORCE_INLINE unsigned int _sse2neon_mm_get_flush_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_FLUSH_ZERO_ON : _MM_FLUSH_ZERO_OFF; ++} ++ ++// Macro: Get the rounding mode bits from the MXCSR control and status register. ++// The rounding mode may contain any of the following flags: _MM_ROUND_NEAREST, ++// _MM_ROUND_DOWN, _MM_ROUND_UP, _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_GET_ROUNDING_MODE ++FORCE_INLINE unsigned int _MM_GET_ROUNDING_MODE(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ if (r.field.bit22) { ++ return r.field.bit23 ? _MM_ROUND_TOWARD_ZERO : _MM_ROUND_UP; ++ } else { ++ return r.field.bit23 ? _MM_ROUND_DOWN : _MM_ROUND_NEAREST; ++ } ++} ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_pi16 ++#define _mm_insert_pi16(a, b, imm) \ ++ vreinterpret_m64_s16(vset_lane_s16((b), vreinterpret_s16_m64(a), (imm))) ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps ++FORCE_INLINE __m128 _mm_load_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// ++// dst[31:0] := MEM[mem_addr+31:mem_addr] ++// dst[63:32] := MEM[mem_addr+31:mem_addr] ++// dst[95:64] := MEM[mem_addr+31:mem_addr] ++// dst[127:96] := MEM[mem_addr+31:mem_addr] ++// ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ps1 ++#define _mm_load_ps1 _mm_load1_ps ++ ++// Load a single-precision (32-bit) floating-point element from memory into the ++// lower of dst, and zero the upper 3 elements. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_ss ++FORCE_INLINE __m128 _mm_load_ss(const float *p) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(*p, vdupq_n_f32(0), 0)); ++} ++ ++// Load a single-precision (32-bit) floating-point element from memory into all ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_ps ++FORCE_INLINE __m128 _mm_load1_ps(const float *p) ++{ ++ return vreinterpretq_m128_f32(vld1q_dup_f32(p)); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// upper 2 elements of dst, and copy the lower 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pi ++FORCE_INLINE __m128 _mm_loadh_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vget_low_f32(a), vld1_f32((const float32_t *) p))); ++} ++ ++// Load 2 single-precision (32-bit) floating-point elements from memory into the ++// lower 2 elements of dst, and copy the upper 2 elements from a to dst. ++// mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pi ++FORCE_INLINE __m128 _mm_loadl_pi(__m128 a, __m64 const *p) ++{ ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vld1_f32((const float32_t *) p), vget_high_f32(a))); ++} ++ ++// Load 4 single-precision (32-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_ps ++FORCE_INLINE __m128 _mm_loadr_ps(const float *p) ++{ ++ float32x4_t v = vrev64q_f32(vld1q_f32(p)); ++ return vreinterpretq_m128_f32(vextq_f32(v, v, 2)); ++} ++ ++// Load 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from memory into dst. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_ps ++FORCE_INLINE __m128 _mm_loadu_ps(const float *p) ++{ ++ // for neon, alignment doesn't matter, so _mm_load_ps and _mm_loadu_ps are ++ // equivalent for neon ++ return vreinterpretq_m128_f32(vld1q_f32(p)); ++} ++ ++// Load unaligned 16-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si16 ++FORCE_INLINE __m128i _mm_loadu_si16(const void *p) ++{ ++ return vreinterpretq_m128i_s16( ++ vsetq_lane_s16(*(const unaligned_int16_t *) p, vdupq_n_s16(0), 0)); ++} ++ ++// Load unaligned 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si64 ++FORCE_INLINE __m128i _mm_loadu_si64(const void *p) ++{ ++ return vreinterpretq_m128i_s64( ++ vsetq_lane_s64(*(const unaligned_int64_t *) p, vdupq_n_s64(0), 0)); ++} ++ ++// Allocate size bytes of memory, aligned to the alignment specified in align, ++// and return a pointer to the allocated memory. _mm_free should be used to free ++// memory that is allocated with _mm_malloc. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_malloc ++#if !defined(SSE2NEON_ALLOC_DEFINED) ++FORCE_INLINE void *_mm_malloc(size_t size, size_t align) ++{ ++ void *ptr; ++ if (align == 1) ++ return malloc(size); ++ if (align == 2 || (sizeof(void *) == 8 && align == 4)) ++ align = sizeof(void *); ++ if (!posix_memalign(&ptr, align, size)) ++ return ptr; ++ return NULL; ++} ++#endif ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmove_si64 ++FORCE_INLINE void _mm_maskmove_si64(__m64 a, __m64 mask, char *mem_addr) ++{ ++ int8x8_t shr_mask = vshr_n_s8(vreinterpret_s8_m64(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x8_t masked = ++ vbsl_s8(vreinterpret_u8_s8(shr_mask), vreinterpret_s8_m64(a), ++ vreinterpret_s8_u64(vget_low_u64(vreinterpretq_u64_m128(b)))); ++ vst1_s8((int8_t *) mem_addr, masked); ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_maskmovq ++#define _m_maskmovq(a, mask, mem_addr) _mm_maskmove_si64(a, mask, mem_addr) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pi16 ++FORCE_INLINE __m64 _mm_max_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmax_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) maximum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ps ++FORCE_INLINE __m128 _mm_max_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcgtq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vmaxq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pu8 ++FORCE_INLINE __m64 _mm_max_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmax_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) maximum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_ss ++FORCE_INLINE __m128 _mm_max_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_max_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pi16 ++FORCE_INLINE __m64 _mm_min_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vmin_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Compare packed single-precision (32-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. dst does not follow the IEEE Standard ++// for Floating-Point Arithmetic (IEEE 754) minimum value when inputs are NaN or ++// signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ps ++FORCE_INLINE __m128 _mm_min_ps(__m128 a, __m128 b) ++{ ++#if SSE2NEON_PRECISE_MINMAX ++ float32x4_t _a = vreinterpretq_f32_m128(a); ++ float32x4_t _b = vreinterpretq_f32_m128(b); ++ return vreinterpretq_m128_f32(vbslq_f32(vcltq_f32(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128_f32( ++ vminq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#endif ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pu8 ++FORCE_INLINE __m64 _mm_min_pu8(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u8( ++ vmin_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))); ++} ++ ++// Compare the lower single-precision (32-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper 3 ++// packed elements from a to the upper element of dst. dst does not follow the ++// IEEE Standard for Floating-Point Arithmetic (IEEE 754) minimum value when ++// inputs are NaN or signed-zero values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_ss ++FORCE_INLINE __m128 _mm_min_ss(__m128 a, __m128 b) ++{ ++ float32_t value = vgetq_lane_f32(_mm_min_ps(a, b), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the lower single-precision (32-bit) floating-point element from b to the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_ss ++FORCE_INLINE __m128 _mm_move_ss(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(vgetq_lane_f32(vreinterpretq_f32_m128(b), 0), ++ vreinterpretq_f32_m128(a), 0)); ++} ++ ++// Move the upper 2 single-precision (32-bit) floating-point elements from b to ++// the lower 2 elements of dst, and copy the upper 2 elements from a to the ++// upper 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehl_ps ++FORCE_INLINE __m128 _mm_movehl_ps(__m128 a, __m128 b) ++{ ++#if defined(aarch64__) ++ return vreinterpretq_m128_u64( ++ vzip2q_u64(vreinterpretq_u64_m128(b), vreinterpretq_u64_m128(a))); ++#else ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32(vcombine_f32(b32, a32)); ++#endif ++} ++ ++// Move the lower 2 single-precision (32-bit) floating-point elements from b to ++// the upper 2 elements of dst, and copy the lower 2 elements from a to the ++// lower 2 elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movelh_ps ++FORCE_INLINE __m128 _mm_movelh_ps(__m128 __A, __m128 __B) ++{ ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(__A)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(__B)); ++ return vreinterpretq_m128_f32(vcombine_f32(a10, b10)); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pi8 ++FORCE_INLINE int _mm_movemask_pi8(__m64 a) ++{ ++ uint8x8_t input = vreinterpret_u8_m64(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int8_t shift[8] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint8x8_t tmp = vshr_n_u8(input, 7); ++ return vaddv_u8(vshl_u8(tmp, vld1_s8(shift))); ++#else ++ // Refer the implementation of `_mm_movemask_epi8` ++ uint16x4_t high_bits = vreinterpret_u16_u8(vshr_n_u8(input, 7)); ++ uint32x2_t paired16 = ++ vreinterpret_u32_u16(vsra_n_u16(high_bits, high_bits, 7)); ++ uint8x8_t paired32 = ++ vreinterpret_u8_u32(vsra_n_u32(paired16, paired16, 14)); ++ return vget_lane_u8(paired32, 0) | ((int) vget_lane_u8(paired32, 4) << 4); ++#endif ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed single-precision (32-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_ps ++FORCE_INLINE int _mm_movemask_ps(__m128 a) ++{ ++ uint32x4_t input = vreinterpretq_u32_m128(a); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const int32_t shift[4] = {0, 1, 2, 3}; ++ uint32x4_t tmp = vshrq_n_u32(input, 31); ++ return vaddvq_u32(vshlq_u32(tmp, vld1q_s32(shift))); ++#else ++ // Uses the exact same method as _mm_movemask_epi8, see that for details. ++ // Shift out everything but the sign bits with a 32-bit unsigned shift ++ // right. ++ uint64x2_t high_bits = vreinterpretq_u64_u32(vshrq_n_u32(input, 31)); ++ // Merge the two pairs together with a 64-bit unsigned shift right + add. ++ uint8x16_t paired = ++ vreinterpretq_u8_u64(vsraq_n_u64(high_bits, high_bits, 31)); ++ // Extract the result. ++ return vgetq_lane_u8(paired, 0) | (vgetq_lane_u8(paired, 8) << 2); ++#endif ++} ++ ++// Multiply packed single-precision (32-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ps ++FORCE_INLINE_OPTNONE __m128 _mm_mul_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vmulq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Multiply the lower single-precision (32-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper 3 packed ++// elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_ss ++FORCE_INLINE __m128 _mm_mul_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_mul_ps(a, b)); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_pu16 ++FORCE_INLINE __m64 _mm_mulhi_pu16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u16(vshrn_n_u32( ++ vmull_u16(vreinterpret_u16_m64(a), vreinterpret_u16_m64(b)), 16)); ++} ++ ++// Compute the bitwise OR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_ps ++FORCE_INLINE __m128 _mm_or_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ vorrq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgb ++#define _m_pavgb(a, b) _mm_avg_pu8(a, b) ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pavgw ++#define _m_pavgw(a, b) _mm_avg_pu16(a, b) ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pextrw ++#define _m_pextrw(a, imm) _mm_extract_pi16(a, imm) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_pinsrw ++#define _m_pinsrw(a, i, imm) _mm_insert_pi16(a, i, imm) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxsw ++#define _m_pmaxsw(a, b) _mm_max_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmaxub ++#define _m_pmaxub(a, b) _mm_max_pu8(a, b) ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminsw ++#define _m_pminsw(a, b) _mm_min_pi16(a, b) ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pminub ++#define _m_pminub(a, b) _mm_min_pu8(a, b) ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmovmskb ++#define _m_pmovmskb(a) _mm_movemask_pi8(a) ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pmulhuw ++#define _m_pmulhuw(a, b) _mm_mulhi_pu16(a, b) ++ ++// Fetch the line of data from memory that contains address p to a location in ++// the cache hierarchy specified by the locality hint i. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_prefetch ++FORCE_INLINE void _mm_prefetch(char const *p, int i) ++{ ++ (void) i; ++#if defined(_MSC_VER) ++ switch (i) { ++ case _MM_HINT_NTA: ++ __prefetch2(p, 1); ++ break; ++ case _MM_HINT_T0: ++ __prefetch2(p, 0); ++ break; ++ case _MM_HINT_T1: ++ __prefetch2(p, 2); ++ break; ++ case _MM_HINT_T2: ++ __prefetch2(p, 4); ++ break; ++ } ++#else ++ switch (i) { ++ case _MM_HINT_NTA: ++ __builtin_prefetch(p, 0, 0); ++ break; ++ case _MM_HINT_T0: ++ __builtin_prefetch(p, 0, 3); ++ break; ++ case _MM_HINT_T1: ++ __builtin_prefetch(p, 0, 2); ++ break; ++ case _MM_HINT_T2: ++ __builtin_prefetch(p, 0, 1); ++ break; ++ } ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=m_psadbw ++#define _m_psadbw(a, b) _mm_sad_pu8(a, b) ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_m_pshufw ++#define _m_pshufw(a, imm) _mm_shuffle_pi16(a, imm) ++ ++// Compute the approximate reciprocal of packed single-precision (32-bit) ++// floating-point elements in a, and store the results in dst. The maximum ++// relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ps ++FORCE_INLINE __m128 _mm_rcp_ps(__m128 in) ++{ ++ float32x4_t recip = vrecpeq_f32(vreinterpretq_f32_m128(in)); ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#if SSE2NEON_PRECISE_DIV ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32(recip, vrecpsq_f32(recip, vreinterpretq_f32_m128(in))); ++#endif ++ return vreinterpretq_m128_f32(recip); ++} ++ ++// Compute the approximate reciprocal of the lower single-precision (32-bit) ++// floating-point element in a, store the result in the lower element of dst, ++// and copy the upper 3 packed elements from a to the upper elements of dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rcp_ss ++FORCE_INLINE __m128 _mm_rcp_ss(__m128 a) ++{ ++ return _mm_move_ss(a, _mm_rcp_ps(a)); ++} ++ ++// Compute the approximate reciprocal square root of packed single-precision ++// (32-bit) floating-point elements in a, and store the results in dst. The ++// maximum relative error for this approximation is less than 1.5*2^-12. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ps ++FORCE_INLINE __m128 _mm_rsqrt_ps(__m128 in) ++{ ++ float32x4_t out = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Generate masks for detecting whether input has any 0.0f/-0.0f ++ // (which becomes positive/negative infinity by IEEE-754 arithmetic rules). ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t neg_inf = vdupq_n_u32(0xFF800000); ++ const uint32x4_t has_pos_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(out)); ++ const uint32x4_t has_neg_zero = ++ vceqq_u32(neg_inf, vreinterpretq_u32_f32(out)); ++ ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#if SSE2NEON_PRECISE_SQRT ++ // Additional Netwon-Raphson iteration for accuracy ++ out = vmulq_f32( ++ out, vrsqrtsq_f32(vmulq_f32(vreinterpretq_f32_m128(in), out), out)); ++#endif ++ ++ // Set output vector element to infinity/negative-infinity if ++ // the corresponding input vector element is 0.0f/-0.0f. ++ out = vbslq_f32(has_pos_zero, (float32x4_t) pos_inf, out); ++ out = vbslq_f32(has_neg_zero, (float32x4_t) neg_inf, out); ++ ++ return vreinterpretq_m128_f32(out); ++} ++ ++// Compute the approximate reciprocal square root of the lower single-precision ++// (32-bit) floating-point element in a, store the result in the lower element ++// of dst, and copy the upper 3 packed elements from a to the upper elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_rsqrt_ss ++FORCE_INLINE __m128 _mm_rsqrt_ss(__m128 in) ++{ ++ return vsetq_lane_f32(vgetq_lane_f32(_mm_rsqrt_ps(in), 0), in, 0); ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce four ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_pu8 ++FORCE_INLINE __m64 _mm_sad_pu8(__m64 a, __m64 b) ++{ ++ uint64x1_t t = vpaddl_u32(vpaddl_u16( ++ vpaddl_u8(vabd_u8(vreinterpret_u8_m64(a), vreinterpret_u8_m64(b))))); ++ return vreinterpret_m64_u16( ++ vset_lane_u16((int) vget_lane_u64(t, 0), vdup_n_u16(0), 0)); ++} ++ ++// Macro: Set the flush zero bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The flush zero may contain any of the ++// following flags: _MM_FLUSH_ZERO_ON or _MM_FLUSH_ZERO_OFF ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_FLUSH_ZERO_MODE ++FORCE_INLINE void _sse2neon_mm_set_flush_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_FLUSH_ZERO_MASK) == _MM_FLUSH_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps ++FORCE_INLINE __m128 _mm_set_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {x, y, z, w}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ps1 ++FORCE_INLINE __m128 _mm_set_ps1(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Macro: Set the rounding mode bits of the MXCSR control and status register to ++// the value in unsigned 32-bit integer a. The rounding mode may contain any of ++// the following flags: _MM_ROUND_NEAREST, _MM_ROUND_DOWN, _MM_ROUND_UP, ++// _MM_ROUND_TOWARD_ZERO ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_MM_SET_ROUNDING_MODE ++FORCE_INLINE void _MM_SET_ROUNDING_MODE(int rounding) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ switch (rounding) { ++ case _MM_ROUND_TOWARD_ZERO: ++ r.field.bit22 = 1; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_DOWN: ++ r.field.bit22 = 0; ++ r.field.bit23 = 1; ++ break; ++ case _MM_ROUND_UP: ++ r.field.bit22 = 1; ++ r.field.bit23 = 0; ++ break; ++ default: //_MM_ROUND_NEAREST ++ r.field.bit22 = 0; ++ r.field.bit23 = 0; ++ } ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Copy single-precision (32-bit) floating-point element a to the lower element ++// of dst, and zero the upper 3 elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_ss ++FORCE_INLINE __m128 _mm_set_ss(float a) ++{ ++ return vreinterpretq_m128_f32(vsetq_lane_f32(a, vdupq_n_f32(0), 0)); ++} ++ ++// Broadcast single-precision (32-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_ps ++FORCE_INLINE __m128 _mm_set1_ps(float _w) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(_w)); ++} ++ ++// Set the MXCSR control and status register with the value in unsigned 32-bit ++// integer a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setcsr ++// FIXME: _mm_setcsr() implementation supports changing the rounding mode only. ++FORCE_INLINE void _mm_setcsr(unsigned int a) ++{ ++ _MM_SET_ROUNDING_MODE(a); ++} ++ ++// Get the unsigned 32-bit value of the MXCSR control and status register. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_getcsr ++// FIXME: _mm_getcsr() implementation supports reading the rounding mode only. ++FORCE_INLINE unsigned int _mm_getcsr(void) ++{ ++ return _MM_GET_ROUNDING_MODE(); ++} ++ ++// Set packed single-precision (32-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_ps ++FORCE_INLINE __m128 _mm_setr_ps(float w, float z, float y, float x) ++{ ++ float ALIGN_STRUCT(16) data[4] = {w, z, y, x}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++} ++ ++// Return vector of type __m128 with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_ps ++FORCE_INLINE __m128 _mm_setzero_ps(void) ++{ ++ return vreinterpretq_m128_f32(vdupq_n_f32(0)); ++} ++ ++// Shuffle 16-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi16 ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pi16(a, imm) \ ++ vreinterpret_m64_s16(vshuffle_s16( \ ++ vreinterpret_s16_m64(a), vreinterpret_s16_m64(a), (imm & 0x3), \ ++ ((imm >> 2) & 0x3), ((imm >> 4) & 0x3), ((imm >> 6) & 0x3))) ++#else ++#define _mm_shuffle_pi16(a, imm) \ ++ _sse2neon_define1( \ ++ __m64, a, int16x4_t ret; \ ++ ret = vmov_n_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), (imm) & (0x3))); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 2) & 0x3), ret, \ ++ 1); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 4) & 0x3), ret, \ ++ 2); \ ++ ret = vset_lane_s16( \ ++ vget_lane_s16(vreinterpret_s16_m64(_a), ((imm) >> 6) & 0x3), ret, \ ++ 3); \ ++ _sse2neon_return(vreinterpret_m64_s16(ret));) ++#endif ++ ++// Perform a serializing operation on all store-to-memory instructions that were ++// issued prior to this instruction. Guarantees that every store instruction ++// that precedes, in program order, is globally visible before any store ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sfence ++FORCE_INLINE void _mm_sfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory and store-to-memory ++// instructions that were issued prior to this instruction. Guarantees that ++// every memory access that precedes, in program order, the memory fence ++// instruction is globally visible before any memory instruction which follows ++// the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mfence ++FORCE_INLINE void _mm_mfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// Perform a serializing operation on all load-from-memory instructions that ++// were issued prior to this instruction. Guarantees that every load instruction ++// that precedes, in program order, is globally visible before any load ++// instruction which follows the fence in program order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lfence ++FORCE_INLINE void _mm_lfence(void) ++{ ++ _sse2neon_smp_mb(); ++} ++ ++// FORCE_INLINE __m128 _mm_shuffle_ps(__m128 a, __m128 b, __constrange(0,255) ++// int imm) ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_ps(a, b, imm) \ ++ __extension__({ \ ++ float32x4_t _input1 = vreinterpretq_f32_m128(a); \ ++ float32x4_t _input2 = vreinterpretq_f32_m128(b); \ ++ float32x4_t _shuf = \ ++ vshuffleq_s32(_input1, _input2, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ (((imm) >> 4) & 0x3) + 4, (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128_f32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_ps(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128, a, b, __m128 ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_1032(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_ps_2301(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_ps_0321(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_ps_2103(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_movelh_ps(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_1001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_ps_0101(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 1, 0): \ ++ ret = _mm_shuffle_ps_3210(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 1, 1): \ ++ ret = _mm_shuffle_ps_0011(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 2, 2): \ ++ ret = _mm_shuffle_ps_0022(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 0, 0): \ ++ ret = _mm_shuffle_ps_2200(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 0, 2): \ ++ ret = _mm_shuffle_ps_3202(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(3, 2, 3, 2): \ ++ ret = _mm_movehl_ps(_b, _a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 3, 3): \ ++ ret = _mm_shuffle_ps_1133(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 1, 0): \ ++ ret = _mm_shuffle_ps_2010(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 0, 1): \ ++ ret = _mm_shuffle_ps_2001(_a, _b); \ ++ break; \ ++ case _MM_SHUFFLE(2, 0, 3, 2): \ ++ ret = _mm_shuffle_ps_2032(_a, _b); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_ps_default(_a, _b, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Compute the square root of packed single-precision (32-bit) floating-point ++// elements in a, and store the results in dst. ++// Due to ARMv7-A NEON's lack of a precise square root intrinsic, we implement ++// square root by multiplying input in with its reciprocal square root before ++// using the Newton-Raphson method to approximate the results. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ps ++FORCE_INLINE __m128 _mm_sqrt_ps(__m128 in) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) && !SSE2NEON_PRECISE_SQRT ++ return vreinterpretq_m128_f32(vsqrtq_f32(vreinterpretq_f32_m128(in))); ++#else ++ float32x4_t recip = vrsqrteq_f32(vreinterpretq_f32_m128(in)); ++ ++ // Test for vrsqrteq_f32(0) -> positive infinity case. ++ // Change to zero, so that s * 1/sqrt(s) result is zero too. ++ const uint32x4_t pos_inf = vdupq_n_u32(0x7F800000); ++ const uint32x4_t div_by_zero = ++ vceqq_u32(pos_inf, vreinterpretq_u32_f32(recip)); ++ recip = vreinterpretq_f32_u32( ++ vandq_u32(vmvnq_u32(div_by_zero), vreinterpretq_u32_f32(recip))); ++ ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ // Additional Netwon-Raphson iteration for accuracy ++ recip = vmulq_f32( ++ vrsqrtsq_f32(vmulq_f32(recip, recip), vreinterpretq_f32_m128(in)), ++ recip); ++ ++ // sqrt(s) = s * 1/sqrt(s) ++ return vreinterpretq_m128_f32(vmulq_f32(vreinterpretq_f32_m128(in), recip)); ++#endif ++} ++ ++// Compute the square root of the lower single-precision (32-bit) floating-point ++// element in a, store the result in the lower element of dst, and copy the ++// upper 3 packed elements from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_ss ++FORCE_INLINE __m128 _mm_sqrt_ss(__m128 in) ++{ ++ float32_t value = ++ vgetq_lane_f32(vreinterpretq_f32_m128(_mm_sqrt_ps(in)), 0); ++ return vreinterpretq_m128_f32( ++ vsetq_lane_f32(value, vreinterpretq_f32_m128(in), 0)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps ++FORCE_INLINE void _mm_store_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ps1 ++FORCE_INLINE void _mm_store_ps1(float *p, __m128 a) ++{ ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ vst1q_f32(p, vdupq_n_f32(a0)); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_ss ++FORCE_INLINE void _mm_store_ss(float *p, __m128 a) ++{ ++ vst1q_lane_f32(p, vreinterpretq_f32_m128(a), 0); ++} ++ ++// Store the lower single-precision (32-bit) floating-point element from a into ++// 4 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store1_ps ++#define _mm_store1_ps _mm_store_ps1 ++ ++// Store the upper 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pi ++FORCE_INLINE void _mm_storeh_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_high_f32(a)); ++} ++ ++// Store the lower 2 single-precision (32-bit) floating-point elements from a ++// into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pi ++FORCE_INLINE void _mm_storel_pi(__m64 *p, __m128 a) ++{ ++ *p = vreinterpret_m64_f32(vget_low_f32(a)); ++} ++ ++// Store 4 single-precision (32-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_ps ++FORCE_INLINE void _mm_storer_ps(float *p, __m128 a) ++{ ++ float32x4_t tmp = vrev64q_f32(vreinterpretq_f32_m128(a)); ++ float32x4_t rev = vextq_f32(tmp, tmp, 2); ++ vst1q_f32(p, rev); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_ps ++FORCE_INLINE void _mm_storeu_ps(float *p, __m128 a) ++{ ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++} ++ ++// Stores 16-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si16 ++FORCE_INLINE void _mm_storeu_si16(void *p, __m128i a) ++{ ++ vst1q_lane_s16((int16_t *) p, vreinterpretq_s16_m128i(a), 0); ++} ++ ++// Stores 64-bits of integer data a at the address p. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si64 ++FORCE_INLINE void _mm_storeu_si64(void *p, __m128i a) ++{ ++ vst1q_lane_s64((int64_t *) p, vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Store 64-bits of integer data from a into memory using a non-temporal memory ++// hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pi ++FORCE_INLINE void _mm_stream_pi(__m64 *p, __m64 a) ++{ ++ vst1_s64((int64_t *) p, vreinterpret_s64_m64(a)); ++} ++ ++// Store 128-bits (composed of 4 packed single-precision (32-bit) floating- ++// point elements) from a into memory using a non-temporal memory hint. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_ps ++FORCE_INLINE void _mm_stream_ps(float *p, __m128 a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (float32x4_t *) p); ++#else ++ vst1q_f32(p, vreinterpretq_f32_m128(a)); ++#endif ++} ++ ++// Subtract packed single-precision (32-bit) floating-point elements in b from ++// packed single-precision (32-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ps ++FORCE_INLINE __m128 _mm_sub_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++} ++ ++// Subtract the lower single-precision (32-bit) floating-point element in b from ++// the lower single-precision (32-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper 3 packed elements from ++// a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_ss ++FORCE_INLINE __m128 _mm_sub_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_sub_ps(a, b)); ++} ++ ++// Macro: Transpose the 4x4 matrix formed by the 4 rows of single-precision ++// (32-bit) floating-point elements in row0, row1, row2, and row3, and store the ++// transposed matrix in these vectors (row0 now contains column 0, etc.). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=MM_TRANSPOSE4_PS ++#define _MM_TRANSPOSE4_PS(row0, row1, row2, row3) \ ++ do { \ ++ float32x4x2_t ROW01 = vtrnq_f32(row0, row1); \ ++ float32x4x2_t ROW23 = vtrnq_f32(row2, row3); \ ++ row0 = vcombine_f32(vget_low_f32(ROW01.val[0]), \ ++ vget_low_f32(ROW23.val[0])); \ ++ row1 = vcombine_f32(vget_low_f32(ROW01.val[1]), \ ++ vget_low_f32(ROW23.val[1])); \ ++ row2 = vcombine_f32(vget_high_f32(ROW01.val[0]), \ ++ vget_high_f32(ROW23.val[0])); \ ++ row3 = vcombine_f32(vget_high_f32(ROW01.val[1]), \ ++ vget_high_f32(ROW23.val[1])); \ ++ } while (0) ++ ++// according to the documentation, these intrinsics behave the same as the ++// non-'u' versions. We'll just alias them here. ++#define _mm_ucomieq_ss _mm_comieq_ss ++#define _mm_ucomige_ss _mm_comige_ss ++#define _mm_ucomigt_ss _mm_comigt_ss ++#define _mm_ucomile_ss _mm_comile_ss ++#define _mm_ucomilt_ss _mm_comilt_ss ++#define _mm_ucomineq_ss _mm_comineq_ss ++ ++// Return vector of type __m128i with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_undefined_si128 ++FORCE_INLINE __m128i _mm_undefined_si128(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128i a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_si128(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Return vector of type __m128 with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_ps ++FORCE_INLINE __m128 _mm_undefined_ps(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128 a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_ps(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the high half a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_ps ++FORCE_INLINE __m128 _mm_unpackhi_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave single-precision (32-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_ps ++FORCE_INLINE __m128 _mm_unpacklo_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vzip1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a1 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b1 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2x2_t result = vzip_f32(a1, b1); ++ return vreinterpretq_m128_f32(vcombine_f32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Compute the bitwise XOR of packed single-precision (32-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_ps ++FORCE_INLINE __m128 _mm_xor_ps(__m128 a, __m128 b) ++{ ++ return vreinterpretq_m128_s32( ++ veorq_s32(vreinterpretq_s32_m128(a), vreinterpretq_s32_m128(b))); ++} ++ ++/* SSE2 */ ++ ++// Add packed 16-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi16 ++FORCE_INLINE __m128i _mm_add_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed 32-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi32 ++FORCE_INLINE __m128i _mm_add_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vaddq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Add packed 64-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi64 ++FORCE_INLINE __m128i _mm_add_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vaddq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Add packed 8-bit integers in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_epi8 ++FORCE_INLINE __m128i _mm_add_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed double-precision (64-bit) floating-point elements in a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_pd ++FORCE_INLINE __m128d _mm_add_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1] + db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add the lower double-precision (64-bit) floating-point element in a and b, ++// store the result in the lower element of dst, and copy the upper element from ++// a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_sd ++FORCE_INLINE __m128d _mm_add_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_add_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] + db[0]; ++ c[1] = da[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Add 64-bit integers a and b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_add_si64 ++FORCE_INLINE __m64 _mm_add_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vadd_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Add packed signed 16-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi16 ++FORCE_INLINE __m128i _mm_adds_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Add packed signed 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epi8 ++FORCE_INLINE __m128i _mm_adds_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqaddq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Add packed unsigned 16-bit integers in a and b using saturation, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu16 ++FORCE_INLINE __m128i _mm_adds_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqaddq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Add packed unsigned 8-bit integers in a and b using saturation, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_adds_epu8 ++FORCE_INLINE __m128i _mm_adds_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compute the bitwise AND of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_pd ++FORCE_INLINE __m128d _mm_and_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vandq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_and_si128 ++FORCE_INLINE __m128i _mm_and_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vandq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compute the bitwise NOT of packed double-precision (64-bit) floating-point ++// elements in a and then AND with b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_pd ++FORCE_INLINE __m128d _mm_andnot_pd(__m128d a, __m128d b) ++{ ++ // *NOTE* argument swap ++ return vreinterpretq_m128d_s64( ++ vbicq_s64(vreinterpretq_s64_m128d(b), vreinterpretq_s64_m128d(a))); ++} ++ ++// Compute the bitwise NOT of 128 bits (representing integer data) in a and then ++// AND with b, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_andnot_si128 ++FORCE_INLINE __m128i _mm_andnot_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vbicq_s32(vreinterpretq_s32_m128i(b), ++ vreinterpretq_s32_m128i(a))); // *NOTE* argument swap ++} ++ ++// Average packed unsigned 16-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu16 ++FORCE_INLINE __m128i _mm_avg_epu16(__m128i a, __m128i b) ++{ ++ return (__m128i) vrhaddq_u16(vreinterpretq_u16_m128i(a), ++ vreinterpretq_u16_m128i(b)); ++} ++ ++// Average packed unsigned 8-bit integers in a and b, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_avg_epu8 ++FORCE_INLINE __m128i _mm_avg_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vrhaddq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bslli_si128 ++#define _mm_bslli_si128(a, imm) _mm_slli_si128(a, imm) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_bsrli_si128 ++#define _mm_bsrli_si128(a, imm) _mm_srli_si128(a, imm) ++ ++// Cast vector of type __m128d to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_ps ++FORCE_INLINE __m128 _mm_castpd_ps(__m128d a) ++{ ++ return vreinterpretq_m128_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128d to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castpd_si128 ++FORCE_INLINE __m128i _mm_castpd_si128(__m128d a) ++{ ++ return vreinterpretq_m128i_s64(vreinterpretq_s64_m128d(a)); ++} ++ ++// Cast vector of type __m128 to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_pd ++FORCE_INLINE __m128d _mm_castps_pd(__m128 a) ++{ ++ return vreinterpretq_m128d_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128 to type __m128i. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castps_si128 ++FORCE_INLINE __m128i _mm_castps_si128(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vreinterpretq_s32_m128(a)); ++} ++ ++// Cast vector of type __m128i to type __m128d. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_pd ++FORCE_INLINE __m128d _mm_castsi128_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vreinterpretq_f64_m128i(a)); ++#else ++ return vreinterpretq_m128d_f32(vreinterpretq_f32_m128i(a)); ++#endif ++} ++ ++// Cast vector of type __m128i to type __m128. This intrinsic is only used for ++// compilation and does not generate any instructions, thus it has zero latency. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_castsi128_ps ++FORCE_INLINE __m128 _mm_castsi128_ps(__m128i a) ++{ ++ return vreinterpretq_m128_s32(vreinterpretq_s32_m128i(a)); ++} ++ ++// Invalidate and flush the cache line that contains p from all levels of the ++// cache hierarchy. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clflush ++#if defined(__APPLE__) ++#include ++#endif ++FORCE_INLINE void _mm_clflush(void const *p) ++{ ++ (void) p; ++ ++ /* sys_icache_invalidate is supported since macOS 10.5. ++ * However, it does not work on non-jailbroken iOS devices, although the ++ * compilation is successful. ++ */ ++#if defined(__APPLE__) ++ sys_icache_invalidate((void *) (uintptr_t) p, SSE2NEON_CACHELINE_SIZE); ++#elif defined(__GNUC__) || defined(__clang__) ++ uintptr_t ptr = (uintptr_t) p; ++ __builtin___clear_cache((char *) ptr, ++ (char *) ptr + SSE2NEON_CACHELINE_SIZE); ++#elif (_MSC_VER) && SSE2NEON_INCLUDE_WINDOWS_H ++ FlushInstructionCache(GetCurrentProcess(), p, SSE2NEON_CACHELINE_SIZE); ++#endif ++} ++ ++// Compare packed 16-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi16 ++FORCE_INLINE __m128i _mm_cmpeq_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vceqq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed 32-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi32 ++FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vceqq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed 8-bit integers in a and b for equality, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_epi8 ++FORCE_INLINE __m128i _mm_cmpeq_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vceqq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for equality, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_pd ++FORCE_INLINE __m128d _mm_cmpeq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for equality, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpeq_sd ++FORCE_INLINE __m128d _mm_cmpeq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpeq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_pd ++FORCE_INLINE __m128d _mm_cmpge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) >= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpge_sd ++FORCE_INLINE __m128d _mm_cmpge_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpge_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) >= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi16 ++FORCE_INLINE __m128i _mm_cmpgt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcgtq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi32 ++FORCE_INLINE __m128i _mm_cmpgt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcgtq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for greater-than, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_epi8 ++FORCE_INLINE __m128i _mm_cmpgt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcgtq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_pd ++FORCE_INLINE __m128d _mm_cmpgt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for greater-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpgt_sd ++FORCE_INLINE __m128d _mm_cmpgt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpgt_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_pd ++FORCE_INLINE __m128d _mm_cmple_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) <= (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than-or-equal, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmple_sd ++FORCE_INLINE __m128d _mm_cmple_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmple_pd(a, b)); ++#else ++ // expand "_mm_cmpge_pd()" to reduce unnecessary operations ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) <= (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtw instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi16 ++FORCE_INLINE __m128i _mm_cmplt_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcltq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtd instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi32 ++FORCE_INLINE __m128i _mm_cmplt_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vcltq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b for less-than, and store the ++// results in dst. Note: This intrinsic emits the pcmpgtb instruction with the ++// order of the operands switched. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_epi8 ++FORCE_INLINE __m128i _mm_cmplt_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcltq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_pd ++FORCE_INLINE __m128d _mm_cmplt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for less-than, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmplt_sd ++FORCE_INLINE __m128d _mm_cmplt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmplt_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_pd ++FORCE_INLINE __m128d _mm_cmpneq_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_s32(vmvnq_s32(vreinterpretq_s32_u64( ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))))); ++#else ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128d_u32(vmvnq_u32(vandq_u32(cmp, swapped))); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-equal, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpneq_sd ++FORCE_INLINE __m128d _mm_cmpneq_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpneq_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_pd ++FORCE_INLINE __m128d _mm_cmpnge_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgeq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) >= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) >= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than-or-equal, store the result in the lower element of ++// dst, and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnge_sd ++FORCE_INLINE __m128d _mm_cmpnge_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnge_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-greater-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_cmpngt_pd ++FORCE_INLINE __m128d _mm_cmpngt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcgtq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) > (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) > (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-greater-than, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpngt_sd ++FORCE_INLINE __m128d _mm_cmpngt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpngt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than-or-equal, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_pd ++FORCE_INLINE __m128d _mm_cmpnle_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcleq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) <= (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) <= (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than-or-equal, store the result in the lower element of dst, ++// and copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnle_sd ++FORCE_INLINE __m128d _mm_cmpnle_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnle_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// for not-less-than, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_pd ++FORCE_INLINE __m128d _mm_cmpnlt_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_u64(veorq_u64( ++ vcltq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)), ++ vdupq_n_u64(UINT64_MAX))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ++ !((*(double *) &a0) < (*(double *) &b0)) ? ~UINT64_C(0) : UINT64_C(0); ++ d[1] = ++ !((*(double *) &a1) < (*(double *) &b1)) ? ~UINT64_C(0) : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b for not-less-than, store the result in the lower element of dst, and copy ++// the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpnlt_sd ++FORCE_INLINE __m128d _mm_cmpnlt_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_cmpnlt_pd(a, b)); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if neither is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_pd ++FORCE_INLINE __m128d _mm_cmpord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Excluding NaNs, any two floating point numbers can be compared. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_u64(vandq_u64(not_nan_a, not_nan_b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if neither is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpord_sd ++FORCE_INLINE __m128d _mm_cmpord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? ~UINT64_C(0) ++ : UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b ++// to see if either is NaN, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_pd ++FORCE_INLINE __m128d _mm_cmpunord_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Two NaNs are not equal in comparison operation. ++ uint64x2_t not_nan_a = ++ vceqq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(a)); ++ uint64x2_t not_nan_b = ++ vceqq_f64(vreinterpretq_f64_m128d(b), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_s32( ++ vmvnq_s32(vreinterpretq_s32_u64(vandq_u64(not_nan_a, not_nan_b)))); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = ((*(double *) &a1) == (*(double *) &a1) && ++ (*(double *) &b1) == (*(double *) &b1)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b to see if either is NaN, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpunord_sd ++FORCE_INLINE __m128d _mm_cmpunord_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_cmpunord_pd(a, b)); ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t d[2]; ++ d[0] = ((*(double *) &a0) == (*(double *) &a0) && ++ (*(double *) &b0) == (*(double *) &b0)) ++ ? UINT64_C(0) ++ : ~UINT64_C(0); ++ d[1] = a1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comige_sd ++FORCE_INLINE int _mm_comige_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgeq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 >= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for greater-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comigt_sd ++FORCE_INLINE int _mm_comigt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcgtq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 > *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than-or-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comile_sd ++FORCE_INLINE int _mm_comile_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcleq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 <= *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for less-than, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comilt_sd ++FORCE_INLINE int _mm_comilt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vcltq_f64(a, b), 0) & 0x1; ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ ++ return (*(double *) &a0 < *(double *) &b0); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for equality, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comieq_sd ++FORCE_INLINE int _mm_comieq_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_u64(vceqq_f64(a, b), 0) & 0x1; ++#else ++ uint32x4_t a_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(a)); ++ uint32x4_t b_not_nan = ++ vceqq_u32(vreinterpretq_u32_m128d(b), vreinterpretq_u32_m128d(b)); ++ uint32x4_t a_and_b_not_nan = vandq_u32(a_not_nan, b_not_nan); ++ uint32x4_t a_eq_b = ++ vceqq_u32(vreinterpretq_u32_m128d(a), vreinterpretq_u32_m128d(b)); ++ uint64x2_t and_results = vandq_u64(vreinterpretq_u64_u32(a_and_b_not_nan), ++ vreinterpretq_u64_u32(a_eq_b)); ++ return vgetq_lane_u64(and_results, 0) & 0x1; ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point element in a and b ++// for not-equal, and return the boolean result (0 or 1). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_comineq_sd ++FORCE_INLINE int _mm_comineq_sd(__m128d a, __m128d b) ++{ ++ return !_mm_comieq_sd(a, b); ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_pd ++FORCE_INLINE __m128d _mm_cvtepi32_pd(__m128i a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a))))); ++#else ++ double a0 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++ double a1 = (double) vgetq_lane_s32(vreinterpretq_s32_m128i(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed single-precision ++// (32-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_ps ++FORCE_INLINE __m128 _mm_cvtepi32_ps(__m128i a) ++{ ++ return vreinterpretq_m128_f32(vcvtq_f32_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_epi32 ++FORCE_INLINE_OPTNONE __m128i _mm_cvtpd_epi32(__m128d a) ++{ ++// vrnd32xq_f64 not supported on clang ++#if defined(__ARM_FEATURE_FRINT) && !defined(__clang__) ++ float64x2_t rounded = vrnd32xq_f64(vreinterpretq_f64_m128d(a)); ++ int64x2_t integers = vcvtq_s64_f64(rounded); ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vmovn_s64(integers), vdup_n_s32(0))); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) d1, (int32_t) d0); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_pi32 ++FORCE_INLINE_OPTNONE __m64 _mm_cvtpd_pi32(__m128d a) ++{ ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double d0 = ((double *) &rnd)[0]; ++ double d1 = ((double *) &rnd)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) d0, (int32_t) d1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed single-precision (32-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpd_ps ++FORCE_INLINE __m128 _mm_cvtpd_ps(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float32x2_t tmp = vcvt_f32_f64(vreinterpretq_f64_m128d(a)); ++ return vreinterpretq_m128_f32(vcombine_f32(tmp, vdup_n_f32(0))); ++#else ++ float a0 = (float) ((double *) &a)[0]; ++ float a1 = (float) ((double *) &a)[1]; ++ return _mm_set_ps(0, 0, a1, a0); ++#endif ++} ++ ++// Convert packed signed 32-bit integers in a to packed double-precision ++// (64-bit) floating-point elements, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtpi32_pd ++FORCE_INLINE __m128d _mm_cvtpi32_pd(__m64 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvtq_f64_s64(vmovl_s32(vreinterpret_s32_m64(a)))); ++#else ++ double a0 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 0); ++ double a1 = (double) vget_lane_s32(vreinterpret_s32_m64(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_epi32 ++// *NOTE*. The default rounding mode on SSE is 'round to even', which ARMv7-A ++// does not support! It is supported on ARMv8-A however. ++FORCE_INLINE __m128i _mm_cvtps_epi32(__m128 a) ++{ ++#if defined(__ARM_FEATURE_FRINT) ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vrnd32xq_f32(a))); ++#elif (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: ++ return vreinterpretq_m128i_s32(vcvtnq_s32_f32(a)); ++ case _MM_ROUND_DOWN: ++ return vreinterpretq_m128i_s32(vcvtmq_s32_f32(a)); ++ case _MM_ROUND_UP: ++ return vreinterpretq_m128i_s32(vcvtpq_s32_f32(a)); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(a)); ++ } ++#else ++ float *f = (float *) &a; ++ switch (_MM_GET_ROUNDING_MODE()) { ++ case _MM_ROUND_NEAREST: { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128i_s32( ++ vbslq_s32(is_delta_half, r_even, r_normal)); ++ } ++ case _MM_ROUND_DOWN: ++ return _mm_set_epi32(floorf(f[3]), floorf(f[2]), floorf(f[1]), ++ floorf(f[0])); ++ case _MM_ROUND_UP: ++ return _mm_set_epi32(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ++ ceilf(f[0])); ++ default: // _MM_ROUND_TOWARD_ZERO ++ return _mm_set_epi32((int32_t) f[3], (int32_t) f[2], (int32_t) f[1], ++ (int32_t) f[0]); ++ } ++#endif ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed double-precision (64-bit) floating-point elements, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtps_pd ++FORCE_INLINE __m128d _mm_cvtps_pd(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcvt_f64_f32(vget_low_f32(vreinterpretq_f32_m128(a)))); ++#else ++ double a0 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ double a1 = (double) vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Copy the lower double-precision (64-bit) floating-point element of a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_f64 ++FORCE_INLINE double _mm_cvtsd_f64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (double) vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0); ++#else ++ return ((double *) &a)[0]; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si32 ++FORCE_INLINE int32_t _mm_cvtsd_si32(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int32_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int32_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64 ++FORCE_INLINE int64_t _mm_cvtsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return (int64_t) vgetq_lane_f64(vrndiq_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ __m128d rnd = _mm_round_pd(a, _MM_FROUND_CUR_DIRECTION); ++ double ret = ((double *) &rnd)[0]; ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_si64x ++#define _mm_cvtsd_si64x _mm_cvtsd_si64 ++ ++// Convert the lower double-precision (64-bit) floating-point element in b to a ++// single-precision (32-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper 3 packed elements from a to the ++// upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsd_ss ++FORCE_INLINE __m128 _mm_cvtsd_ss(__m128 a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32(vsetq_lane_f32( ++ vget_lane_f32(vcvt_f32_f64(vreinterpretq_f64_m128d(b)), 0), ++ vreinterpretq_f32_m128(a), 0)); ++#else ++ return vreinterpretq_m128_f32(vsetq_lane_f32((float) ((double *) &b)[0], ++ vreinterpretq_f32_m128(a), 0)); ++#endif ++} ++ ++// Copy the lower 32-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si32 ++FORCE_INLINE int _mm_cvtsi128_si32(__m128i a) ++{ ++ return vgetq_lane_s32(vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64 ++FORCE_INLINE int64_t _mm_cvtsi128_si64(__m128i a) ++{ ++ return vgetq_lane_s64(vreinterpretq_s64_m128i(a), 0); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Convert the signed 32-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_sd ++FORCE_INLINE __m128d _mm_cvtsi32_sd(__m128d a, int32_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi128_si64x ++#define _mm_cvtsi128_si64x(a) _mm_cvtsi128_si64(a) ++ ++// Copy 32-bit integer a to the lower elements of dst, and zero the upper ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi32_si128 ++FORCE_INLINE __m128i _mm_cvtsi32_si128(int a) ++{ ++ return vreinterpretq_m128i_s32(vsetq_lane_s32(a, vdupq_n_s32(0), 0)); ++} ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_sd ++FORCE_INLINE __m128d _mm_cvtsi64_sd(__m128d a, int64_t b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64((double) b, vreinterpretq_f64_m128d(a), 0)); ++#else ++ double bf = (double) b; ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &bf, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64_si128 ++FORCE_INLINE __m128i _mm_cvtsi64_si128(int64_t a) ++{ ++ return vreinterpretq_m128i_s64(vsetq_lane_s64(a, vdupq_n_s64(0), 0)); ++} ++ ++// Copy 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_si128 ++#define _mm_cvtsi64x_si128(a) _mm_cvtsi64_si128(a) ++ ++// Convert the signed 64-bit integer b to a double-precision (64-bit) ++// floating-point element, store the result in the lower element of dst, and ++// copy the upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtsi64x_sd ++#define _mm_cvtsi64x_sd(a, b) _mm_cvtsi64_sd(a, b) ++ ++// Convert the lower single-precision (32-bit) floating-point element in b to a ++// double-precision (64-bit) floating-point element, store the result in the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtss_sd ++FORCE_INLINE __m128d _mm_cvtss_sd(__m128d a, __m128 b) ++{ ++ double d = (double) vgetq_lane_f32(vreinterpretq_f32_m128(b), 0); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(d, vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_s64( ++ vsetq_lane_s64(*(int64_t *) &d, vreinterpretq_s64_m128d(a), 0)); ++#endif ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_epi32 ++FORCE_INLINE __m128i _mm_cvttpd_epi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ return _mm_set_epi32(0, 0, (int32_t) a1, (int32_t) a0); ++} ++ ++// Convert packed double-precision (64-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttpd_pi32 ++FORCE_INLINE __m64 _mm_cvttpd_pi32(__m128d a) ++{ ++ double a0 = ((double *) &a)[0]; ++ double a1 = ((double *) &a)[1]; ++ int32_t ALIGN_STRUCT(16) data[2] = {(int32_t) a0, (int32_t) a1}; ++ return vreinterpret_m64_s32(vld1_s32(data)); ++} ++ ++// Convert packed single-precision (32-bit) floating-point elements in a to ++// packed 32-bit integers with truncation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttps_epi32 ++FORCE_INLINE __m128i _mm_cvttps_epi32(__m128 a) ++{ ++ return vreinterpretq_m128i_s32(vcvtq_s32_f32(vreinterpretq_f32_m128(a))); ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 32-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si32 ++FORCE_INLINE int32_t _mm_cvttsd_si32(__m128d a) ++{ ++ double ret = *((double *) &a); ++ return (int32_t) ret; ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64 ++FORCE_INLINE int64_t _mm_cvttsd_si64(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vgetq_lane_s64(vcvtq_s64_f64(vreinterpretq_f64_m128d(a)), 0); ++#else ++ double ret = *((double *) &a); ++ return (int64_t) ret; ++#endif ++} ++ ++// Convert the lower double-precision (64-bit) floating-point element in a to a ++// 64-bit integer with truncation, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvttsd_si64x ++#define _mm_cvttsd_si64x(a) _mm_cvttsd_si64(a) ++ ++// Divide packed double-precision (64-bit) floating-point elements in a by ++// packed elements in b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_pd ++FORCE_INLINE __m128d _mm_div_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] / db[0]; ++ c[1] = da[1] / db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Divide the lower double-precision (64-bit) floating-point element in a by the ++// lower double-precision (64-bit) floating-point element in b, store the result ++// in the lower element of dst, and copy the upper element from a to the upper ++// element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_div_sd ++FORCE_INLINE __m128d _mm_div_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t tmp = ++ vdivq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b)); ++ return vreinterpretq_m128d_f64( ++ vsetq_lane_f64(vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1), tmp, 1)); ++#else ++ return _mm_move_sd(a, _mm_div_pd(a, b)); ++#endif ++} ++ ++// Extract a 16-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi16 ++// FORCE_INLINE int _mm_extract_epi16(__m128i a, __constrange(0,8) int imm) ++#define _mm_extract_epi16(a, imm) \ ++ vgetq_lane_u16(vreinterpretq_u16_m128i(a), (imm)) ++ ++// Copy a to dst, and insert the 16-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi16 ++// FORCE_INLINE __m128i _mm_insert_epi16(__m128i a, int b, ++// __constrange(0,8) int imm) ++#define _mm_insert_epi16(a, b, imm) \ ++ vreinterpretq_m128i_s16( \ ++ vsetq_lane_s16((b), vreinterpretq_s16_m128i(a), (imm))) ++ ++// Load 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from memory into dst. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd ++FORCE_INLINE __m128d _mm_load_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64(p)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], fp[2], fp[3]}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_pd1 ++#define _mm_load_pd1 _mm_load1_pd ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower of dst, and zero the upper element. mem_addr does not need to be ++// aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_sd ++FORCE_INLINE __m128d _mm_load_sd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(*p, vdupq_n_f64(0), 0)); ++#else ++ const float *fp = (const float *) p; ++ float ALIGN_STRUCT(16) data[4] = {fp[0], fp[1], 0, 0}; ++ return vreinterpretq_m128d_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load_si128 ++FORCE_INLINE __m128i _mm_load_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const int32_t *) p)); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_load1_pd ++FORCE_INLINE __m128d _mm_load1_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_dup_f64(p)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(const int64_t *) p)); ++#endif ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// upper element of dst, and copy the lower element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadh_pd ++FORCE_INLINE __m128d _mm_loadh_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vget_low_f64(vreinterpretq_f64_m128d(a)), vld1_f64(p))); ++#else ++ return vreinterpretq_m128d_f32(vcombine_f32( ++ vget_low_f32(vreinterpretq_f32_m128d(a)), vld1_f32((const float *) p))); ++#endif ++} ++ ++// Load 64-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_epi64 ++FORCE_INLINE __m128i _mm_loadl_epi64(__m128i const *p) ++{ ++ /* Load the lower 64 bits of the value pointed to by p into the ++ * lower 64 bits of the result, zeroing the upper 64 bits of the result. ++ */ ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vld1_s32((int32_t const *) p), vcreate_s32(0))); ++} ++ ++// Load a double-precision (64-bit) floating-point element from memory into the ++// lower element of dst, and copy the upper element from a to dst. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadl_pd ++FORCE_INLINE __m128d _mm_loadl_pd(__m128d a, const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vcombine_f64(vld1_f64(p), vget_high_f64(vreinterpretq_f64_m128d(a)))); ++#else ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vld1_f32((const float *) p), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++#endif ++} ++ ++// Load 2 double-precision (64-bit) floating-point elements from memory into dst ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadr_pd ++FORCE_INLINE __m128d _mm_loadr_pd(const double *p) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t v = vld1q_f64(p); ++ return vreinterpretq_m128d_f64(vextq_f64(v, v, 1)); ++#else ++ int64x2_t v = vld1q_s64((const int64_t *) p); ++ return vreinterpretq_m128d_s64(vextq_s64(v, v, 1)); ++#endif ++} ++ ++// Loads two double-precision from unaligned memory, floating-point values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_pd ++FORCE_INLINE __m128d _mm_loadu_pd(const double *p) ++{ ++ return _mm_load_pd(p); ++} ++ ++// Load 128-bits of integer data from memory into dst. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si128 ++FORCE_INLINE __m128i _mm_loadu_si128(const __m128i *p) ++{ ++ return vreinterpretq_m128i_s32(vld1q_s32((const unaligned_int32_t *) p)); ++} ++ ++// Load unaligned 32-bit integer from memory into the first element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loadu_si32 ++FORCE_INLINE __m128i _mm_loadu_si32(const void *p) ++{ ++ return vreinterpretq_m128i_s32( ++ vsetq_lane_s32(*(const unaligned_int32_t *) p, vdupq_n_s32(0), 0)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Horizontally add adjacent pairs of intermediate ++// 32-bit integers, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_madd_epi16 ++FORCE_INLINE __m128i _mm_madd_epi16(__m128i a, __m128i b) ++{ ++ int32x4_t low = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t high = ++ vmull_high_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b)); ++ ++ return vreinterpretq_m128i_s32(vpaddq_s32(low, high)); ++#else ++ int32x4_t high = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ int32x2_t low_sum = vpadd_s32(vget_low_s32(low), vget_high_s32(low)); ++ int32x2_t high_sum = vpadd_s32(vget_low_s32(high), vget_high_s32(high)); ++ ++ return vreinterpretq_m128i_s32(vcombine_s32(low_sum, high_sum)); ++#endif ++} ++ ++// Conditionally store 8-bit integer elements from a into memory using mask ++// (elements are not stored when the highest bit is not set in the corresponding ++// element) and a non-temporal memory hint. mem_addr does not need to be aligned ++// on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maskmoveu_si128 ++FORCE_INLINE void _mm_maskmoveu_si128(__m128i a, __m128i mask, char *mem_addr) ++{ ++ int8x16_t shr_mask = vshrq_n_s8(vreinterpretq_s8_m128i(mask), 7); ++ __m128 b = _mm_load_ps((const float *) mem_addr); ++ int8x16_t masked = ++ vbslq_s8(vreinterpretq_u8_s8(shr_mask), vreinterpretq_s8_m128i(a), ++ vreinterpretq_s8_m128(b)); ++ vst1q_s8((int8_t *) mem_addr, masked); ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi16 ++FORCE_INLINE __m128i _mm_max_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmaxq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu8 ++FORCE_INLINE __m128i _mm_max_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vmaxq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed maximum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_pd ++FORCE_INLINE __m128d _mm_max_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcgtq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vmaxq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) > (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) > (*(double *) &b1) ? a1 : b1; ++ ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the maximum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_sd ++FORCE_INLINE __m128d _mm_max_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_max_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] > db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Compare packed signed 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi16 ++FORCE_INLINE __m128i _mm_min_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vminq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compare packed unsigned 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu8 ++FORCE_INLINE __m128i _mm_min_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vminq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++// Compare packed double-precision (64-bit) floating-point elements in a and b, ++// and store packed minimum values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_pd ++FORCE_INLINE __m128d _mm_min_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if SSE2NEON_PRECISE_MINMAX ++ float64x2_t _a = vreinterpretq_f64_m128d(a); ++ float64x2_t _b = vreinterpretq_f64_m128d(b); ++ return vreinterpretq_m128d_f64(vbslq_f64(vcltq_f64(_a, _b), _a, _b)); ++#else ++ return vreinterpretq_m128d_f64( ++ vminq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#endif ++#else ++ uint64_t a0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t a1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(a)); ++ uint64_t b0 = (uint64_t) vget_low_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t b1 = (uint64_t) vget_high_u64(vreinterpretq_u64_m128d(b)); ++ uint64_t d[2]; ++ d[0] = (*(double *) &a0) < (*(double *) &b0) ? a0 : b0; ++ d[1] = (*(double *) &a1) < (*(double *) &b1) ? a1 : b1; ++ return vreinterpretq_m128d_u64(vld1q_u64(d)); ++#endif ++} ++ ++// Compare the lower double-precision (64-bit) floating-point elements in a and ++// b, store the minimum value in the lower element of dst, and copy the upper ++// element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_sd ++FORCE_INLINE __m128d _mm_min_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_min_pd(a, b)); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2] = {da[0] < db[0] ? da[0] : db[0], da[1]}; ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) c)); ++#endif ++} ++ ++// Copy the lower 64-bit integer in a to the lower element of dst, and zero the ++// upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_epi64 ++FORCE_INLINE __m128i _mm_move_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vsetq_lane_s64(0, vreinterpretq_s64_m128i(a), 1)); ++} ++ ++// Move the lower double-precision (64-bit) floating-point element from b to the ++// lower element of dst, and copy the upper element from a to the upper element ++// of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_move_sd ++FORCE_INLINE __m128d _mm_move_sd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_f32( ++ vcombine_f32(vget_low_f32(vreinterpretq_f32_m128d(b)), ++ vget_high_f32(vreinterpretq_f32_m128d(a)))); ++} ++ ++// Create mask from the most significant bit of each 8-bit element in a, and ++// store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_epi8 ++FORCE_INLINE int _mm_movemask_epi8(__m128i a) ++{ ++ // Use increasingly wide shifts+adds to collect the sign bits ++ // together. ++ // Since the widening shifts would be rather confusing to follow in little ++ // endian, everything will be illustrated in big endian order instead. This ++ // has a different result - the bits would actually be reversed on a big ++ // endian machine. ++ ++ // Starting input (only half the elements are shown): ++ // 89 ff 1d c0 00 10 99 33 ++ uint8x16_t input = vreinterpretq_u8_m128i(a); ++ ++ // Shift out everything but the sign bits with an unsigned shift right. ++ // ++ // Bytes of the vector:: ++ // 89 ff 1d c0 00 10 99 33 ++ // \ \ \ \ \ \ \ \ high_bits = (uint16x4_t)(input >> 7) ++ // | | | | | | | | ++ // 01 01 00 01 00 00 01 00 ++ // ++ // Bits of first important lane(s): ++ // 10001001 (89) ++ // \______ ++ // | ++ // 00000001 (01) ++ uint16x8_t high_bits = vreinterpretq_u16_u8(vshrq_n_u8(input, 7)); ++ ++ // Merge the even lanes together with a 16-bit unsigned shift right + add. ++ // 'xx' represents garbage data which will be ignored in the final result. ++ // In the important bytes, the add functions like a binary OR. ++ // ++ // 01 01 00 01 00 00 01 00 ++ // \_ | \_ | \_ | \_ | paired16 = (uint32x4_t)(input + (input >> 7)) ++ // \| \| \| \| ++ // xx 03 xx 01 xx 00 xx 02 ++ // ++ // 00000001 00000001 (01 01) ++ // \_______ | ++ // \| ++ // xxxxxxxx xxxxxx11 (xx 03) ++ uint32x4_t paired16 = ++ vreinterpretq_u32_u16(vsraq_n_u16(high_bits, high_bits, 7)); ++ ++ // Repeat with a wider 32-bit shift + add. ++ // xx 03 xx 01 xx 00 xx 02 ++ // \____ | \____ | paired32 = (uint64x1_t)(paired16 + (paired16 >> ++ // 14)) ++ // \| \| ++ // xx xx xx 0d xx xx xx 02 ++ // ++ // 00000011 00000001 (03 01) ++ // \\_____ || ++ // '----.\|| ++ // xxxxxxxx xxxx1101 (xx 0d) ++ uint64x2_t paired32 = ++ vreinterpretq_u64_u32(vsraq_n_u32(paired16, paired16, 14)); ++ ++ // Last, an even wider 64-bit shift + add to get our result in the low 8 bit ++ // lanes. xx xx xx 0d xx xx xx 02 ++ // \_________ | paired64 = (uint8x8_t)(paired32 + (paired32 >> ++ // 28)) ++ // \| ++ // xx xx xx xx xx xx xx d2 ++ // ++ // 00001101 00000010 (0d 02) ++ // \ \___ | | ++ // '---. \| | ++ // xxxxxxxx 11010010 (xx d2) ++ uint8x16_t paired64 = ++ vreinterpretq_u8_u64(vsraq_n_u64(paired32, paired32, 28)); ++ ++ // Extract the low 8 bits from each 64-bit lane with 2 8-bit extracts. ++ // xx xx xx xx xx xx xx d2 ++ // || return paired64[0] ++ // d2 ++ // Note: Little endian would return the correct value 4b (01001011) instead. ++ return vgetq_lane_u8(paired64, 0) | ((int) vgetq_lane_u8(paired64, 8) << 8); ++} ++ ++// Set each bit of mask dst based on the most significant bit of the ++// corresponding packed double-precision (64-bit) floating-point element in a. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movemask_pd ++FORCE_INLINE int _mm_movemask_pd(__m128d a) ++{ ++ uint64x2_t input = vreinterpretq_u64_m128d(a); ++ uint64x2_t high_bits = vshrq_n_u64(input, 63); ++ return (int) (vgetq_lane_u64(high_bits, 0) | ++ (vgetq_lane_u64(high_bits, 1) << 1)); ++} ++ ++// Copy the lower 64-bit integer in a to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movepi64_pi64 ++FORCE_INLINE __m64 _mm_movepi64_pi64(__m128i a) ++{ ++ return vreinterpret_m64_s64(vget_low_s64(vreinterpretq_s64_m128i(a))); ++} ++ ++// Copy the 64-bit integer a to the lower element of dst, and zero the upper ++// element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movpi64_epi64 ++FORCE_INLINE __m128i _mm_movpi64_epi64(__m64 a) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vreinterpret_s64_m64(a), vdup_n_s64(0))); ++} ++ ++// Multiply the low unsigned 32-bit integers from each packed 64-bit element in ++// a and b, and store the unsigned 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epu32 ++FORCE_INLINE __m128i _mm_mul_epu32(__m128i a, __m128i b) ++{ ++ // vmull_u32 upcasts instead of masking, so we downcast. ++ uint32x2_t a_lo = vmovn_u64(vreinterpretq_u64_m128i(a)); ++ uint32x2_t b_lo = vmovn_u64(vreinterpretq_u64_m128i(b)); ++ return vreinterpretq_m128i_u64(vmull_u32(a_lo, b_lo)); ++} ++ ++// Multiply packed double-precision (64-bit) floating-point elements in a and b, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_pd ++FORCE_INLINE __m128d _mm_mul_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vmulq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] * db[0]; ++ c[1] = da[1] * db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Multiply the lower double-precision (64-bit) floating-point element in a and ++// b, store the result in the lower element of dst, and copy the upper element ++// from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_mul_sd ++FORCE_INLINE __m128d _mm_mul_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_mul_pd(a, b)); ++} ++ ++// Multiply the low unsigned 32-bit integers from a and b, and store the ++// unsigned 64-bit result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_su32 ++FORCE_INLINE __m64 _mm_mul_su32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_u64(vget_low_u64( ++ vmull_u32(vreinterpret_u32_m64(a), vreinterpret_u32_m64(b)))); ++} ++ ++// Multiply the packed signed 16-bit integers in a and b, producing intermediate ++// 32-bit integers, and store the high 16 bits of the intermediate integers in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epi16 ++FORCE_INLINE __m128i _mm_mulhi_epi16(__m128i a, __m128i b) ++{ ++ /* FIXME: issue with large values because of result saturation */ ++ // int16x8_t ret = vqdmulhq_s16(vreinterpretq_s16_m128i(a), ++ // vreinterpretq_s16_m128i(b)); /* =2*a*b */ return ++ // vreinterpretq_m128i_s16(vshrq_n_s16(ret, 1)); ++ int16x4_t a3210 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b3210 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab3210 = vmull_s16(a3210, b3210); /* 3333222211110000 */ ++ int16x4_t a7654 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b7654 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int32x4_t ab7654 = vmull_s16(a7654, b7654); /* 7777666655554444 */ ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_s32(ab3210), vreinterpretq_u16_s32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++} ++ ++// Multiply the packed unsigned 16-bit integers in a and b, producing ++// intermediate 32-bit integers, and store the high 16 bits of the intermediate ++// integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhi_epu16 ++FORCE_INLINE __m128i _mm_mulhi_epu16(__m128i a, __m128i b) ++{ ++ uint16x4_t a3210 = vget_low_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b3210 = vget_low_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab3210 = vmull_u16(a3210, b3210); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint32x4_t ab7654 = ++ vmull_high_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ uint16x8_t r = vuzp2q_u16(vreinterpretq_u16_u32(ab3210), ++ vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r); ++#else ++ uint16x4_t a7654 = vget_high_u16(vreinterpretq_u16_m128i(a)); ++ uint16x4_t b7654 = vget_high_u16(vreinterpretq_u16_m128i(b)); ++ uint32x4_t ab7654 = vmull_u16(a7654, b7654); ++ uint16x8x2_t r = ++ vuzpq_u16(vreinterpretq_u16_u32(ab3210), vreinterpretq_u16_u32(ab7654)); ++ return vreinterpretq_m128i_u16(r.val[1]); ++#endif ++} ++ ++// Multiply the packed 16-bit integers in a and b, producing intermediate 32-bit ++// integers, and store the low 16 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi16 ++FORCE_INLINE __m128i _mm_mullo_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vmulq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Compute the bitwise OR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_or_pd ++FORCE_INLINE __m128d _mm_or_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ vorrq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise OR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_or_si128 ++FORCE_INLINE __m128i _mm_or_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vorrq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi16 ++FORCE_INLINE __m128i _mm_packs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vqmovn_s16(vreinterpretq_s16_m128i(a)), ++ vqmovn_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using signed saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packs_epi32 ++FORCE_INLINE __m128i _mm_packs_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vqmovn_s32(vreinterpretq_s32_m128i(a)), ++ vqmovn_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Convert packed signed 16-bit integers from a and b to packed 8-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi16 ++FORCE_INLINE __m128i _mm_packus_epi16(const __m128i a, const __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vcombine_u8(vqmovun_s16(vreinterpretq_s16_m128i(a)), ++ vqmovun_s16(vreinterpretq_s16_m128i(b)))); ++} ++ ++// Pause the processor. This is typically used in spin-wait loops and depending ++// on the x86 processor typical values are in the 40-100 cycle range. The ++// 'yield' instruction isn't a good fit because it's effectively a nop on most ++// Arm cores. Experience with several databases has shown has shown an 'isb' is ++// a reasonable approximation. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_pause ++FORCE_INLINE void _mm_pause(void) ++{ ++#if defined(_MSC_VER) ++ __isb(_ARM64_BARRIER_SY); ++#else ++ __asm__ __volatile__("isb\n"); ++#endif ++} ++ ++// Compute the absolute differences of packed unsigned 8-bit integers in a and ++// b, then horizontally sum each consecutive 8 differences to produce two ++// unsigned 16-bit integers, and pack these unsigned 16-bit integers in the low ++// 16 bits of 64-bit elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sad_epu8 ++FORCE_INLINE __m128i _mm_sad_epu8(__m128i a, __m128i b) ++{ ++ uint16x8_t t = vpaddlq_u8(vabdq_u8((uint8x16_t) a, (uint8x16_t) b)); ++ return vreinterpretq_m128i_u64(vpaddlq_u32(vpaddlq_u16(t))); ++} ++ ++// Set packed 16-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi16 ++FORCE_INLINE __m128i _mm_set_epi16(short i7, ++ short i6, ++ short i5, ++ short i4, ++ short i3, ++ short i2, ++ short i1, ++ short i0) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {i0, i1, i2, i3, i4, i5, i6, i7}; ++ return vreinterpretq_m128i_s16(vld1q_s16(data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi32 ++FORCE_INLINE __m128i _mm_set_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i0, i1, i2, i3}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64 ++FORCE_INLINE __m128i _mm_set_epi64(__m64 i1, __m64 i2) ++{ ++ return _mm_set_epi64x(vget_lane_s64(i1, 0), vget_lane_s64(i2, 0)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi64x ++FORCE_INLINE __m128i _mm_set_epi64x(int64_t i1, int64_t i2) ++{ ++ return vreinterpretq_m128i_s64( ++ vcombine_s64(vcreate_s64(i2), vcreate_s64(i1))); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_epi8 ++FORCE_INLINE __m128i _mm_set_epi8(signed char b15, ++ signed char b14, ++ signed char b13, ++ signed char b12, ++ signed char b11, ++ signed char b10, ++ signed char b9, ++ signed char b8, ++ signed char b7, ++ signed char b6, ++ signed char b5, ++ signed char b4, ++ signed char b3, ++ signed char b2, ++ signed char b1, ++ signed char b0) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd ++FORCE_INLINE __m128d _mm_set_pd(double e1, double e0) ++{ ++ double ALIGN_STRUCT(16) data[2] = {e0, e1}; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vld1q_f64((float64_t *) data)); ++#else ++ return vreinterpretq_m128d_f32(vld1q_f32((float32_t *) data)); ++#endif ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_pd1 ++#define _mm_set_pd1 _mm_set1_pd ++ ++// Copy double-precision (64-bit) floating-point element a to the lower element ++// of dst, and zero the upper element. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set_sd ++FORCE_INLINE __m128d _mm_set_sd(double a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsetq_lane_f64(a, vdupq_n_f64(0), 0)); ++#else ++ return _mm_set_pd(0, a); ++#endif ++} ++ ++// Broadcast 16-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi16 ++FORCE_INLINE __m128i _mm_set1_epi16(short w) ++{ ++ return vreinterpretq_m128i_s16(vdupq_n_s16(w)); ++} ++ ++// Broadcast 32-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi32 ++FORCE_INLINE __m128i _mm_set1_epi32(int _i) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(_i)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64 ++FORCE_INLINE __m128i _mm_set1_epi64(__m64 _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_lane_s64(_i, 0)); ++} ++ ++// Broadcast 64-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi64x ++FORCE_INLINE __m128i _mm_set1_epi64x(int64_t _i) ++{ ++ return vreinterpretq_m128i_s64(vdupq_n_s64(_i)); ++} ++ ++// Broadcast 8-bit integer a to all elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_epi8 ++FORCE_INLINE __m128i _mm_set1_epi8(signed char w) ++{ ++ return vreinterpretq_m128i_s8(vdupq_n_s8(w)); ++} ++ ++// Broadcast double-precision (64-bit) floating-point value a to all elements of ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_set1_pd ++FORCE_INLINE __m128d _mm_set1_pd(double d) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(d)); ++#else ++ return vreinterpretq_m128d_s64(vdupq_n_s64(*(int64_t *) &d)); ++#endif ++} ++ ++// Set packed 16-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi16 ++FORCE_INLINE __m128i _mm_setr_epi16(short w0, ++ short w1, ++ short w2, ++ short w3, ++ short w4, ++ short w5, ++ short w6, ++ short w7) ++{ ++ int16_t ALIGN_STRUCT(16) data[8] = {w0, w1, w2, w3, w4, w5, w6, w7}; ++ return vreinterpretq_m128i_s16(vld1q_s16((int16_t *) data)); ++} ++ ++// Set packed 32-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi32 ++FORCE_INLINE __m128i _mm_setr_epi32(int i3, int i2, int i1, int i0) ++{ ++ int32_t ALIGN_STRUCT(16) data[4] = {i3, i2, i1, i0}; ++ return vreinterpretq_m128i_s32(vld1q_s32(data)); ++} ++ ++// Set packed 64-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi64 ++FORCE_INLINE __m128i _mm_setr_epi64(__m64 e1, __m64 e0) ++{ ++ return vreinterpretq_m128i_s64(vcombine_s64(e1, e0)); ++} ++ ++// Set packed 8-bit integers in dst with the supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_epi8 ++FORCE_INLINE __m128i _mm_setr_epi8(signed char b0, ++ signed char b1, ++ signed char b2, ++ signed char b3, ++ signed char b4, ++ signed char b5, ++ signed char b6, ++ signed char b7, ++ signed char b8, ++ signed char b9, ++ signed char b10, ++ signed char b11, ++ signed char b12, ++ signed char b13, ++ signed char b14, ++ signed char b15) ++{ ++ int8_t ALIGN_STRUCT(16) ++ data[16] = {(int8_t) b0, (int8_t) b1, (int8_t) b2, (int8_t) b3, ++ (int8_t) b4, (int8_t) b5, (int8_t) b6, (int8_t) b7, ++ (int8_t) b8, (int8_t) b9, (int8_t) b10, (int8_t) b11, ++ (int8_t) b12, (int8_t) b13, (int8_t) b14, (int8_t) b15}; ++ return (__m128i) vld1q_s8(data); ++} ++ ++// Set packed double-precision (64-bit) floating-point elements in dst with the ++// supplied values in reverse order. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setr_pd ++FORCE_INLINE __m128d _mm_setr_pd(double e1, double e0) ++{ ++ return _mm_set_pd(e0, e1); ++} ++ ++// Return vector of type __m128d with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_pd ++FORCE_INLINE __m128d _mm_setzero_pd(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vdupq_n_f64(0)); ++#else ++ return vreinterpretq_m128d_f32(vdupq_n_f32(0)); ++#endif ++} ++ ++// Return vector of type __m128i with all elements set to zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_setzero_si128 ++FORCE_INLINE __m128i _mm_setzero_si128(void) ++{ ++ return vreinterpretq_m128i_s32(vdupq_n_s32(0)); ++} ++ ++// Shuffle 32-bit integers in a using the control in imm8, and store the results ++// in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi32 ++// FORCE_INLINE __m128i _mm_shuffle_epi32(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shuffle_epi32(a, imm) \ ++ __extension__({ \ ++ int32x4_t _input = vreinterpretq_s32_m128i(a); \ ++ int32x4_t _shuf = \ ++ vshuffleq_s32(_input, _input, (imm) & (0x3), ((imm) >> 2) & 0x3, \ ++ ((imm) >> 4) & 0x3, ((imm) >> 6) & 0x3); \ ++ vreinterpretq_m128i_s32(_shuf); \ ++ }) ++#else // generic ++#define _mm_shuffle_epi32(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, __m128i ret; switch (imm) { \ ++ case _MM_SHUFFLE(1, 0, 3, 2): \ ++ ret = _mm_shuffle_epi_1032(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 3, 0, 1): \ ++ ret = _mm_shuffle_epi_2301(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 3, 2, 1): \ ++ ret = _mm_shuffle_epi_0321(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 1, 0, 3): \ ++ ret = _mm_shuffle_epi_2103(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 1, 0): \ ++ ret = _mm_shuffle_epi_1010(_a); \ ++ break; \ ++ case _MM_SHUFFLE(1, 0, 0, 1): \ ++ ret = _mm_shuffle_epi_1001(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 0, 1): \ ++ ret = _mm_shuffle_epi_0101(_a); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 1, 1): \ ++ ret = _mm_shuffle_epi_2211(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 1, 2, 2): \ ++ ret = _mm_shuffle_epi_0122(_a); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 2): \ ++ ret = _mm_shuffle_epi_3332(_a); \ ++ break; \ ++ case _MM_SHUFFLE(0, 0, 0, 0): \ ++ ret = _mm_shuffle_epi32_splat(_a, 0); \ ++ break; \ ++ case _MM_SHUFFLE(1, 1, 1, 1): \ ++ ret = _mm_shuffle_epi32_splat(_a, 1); \ ++ break; \ ++ case _MM_SHUFFLE(2, 2, 2, 2): \ ++ ret = _mm_shuffle_epi32_splat(_a, 2); \ ++ break; \ ++ case _MM_SHUFFLE(3, 3, 3, 3): \ ++ ret = _mm_shuffle_epi32_splat(_a, 3); \ ++ break; \ ++ default: \ ++ ret = _mm_shuffle_epi32_default(_a, (imm)); \ ++ break; \ ++ } _sse2neon_return(ret);) ++#endif ++ ++// Shuffle double-precision (64-bit) floating-point elements using the control ++// in imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pd ++#ifdef _sse2neon_shuffle ++#define _mm_shuffle_pd(a, b, imm8) \ ++ vreinterpretq_m128d_s64( \ ++ vshuffleq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b), \ ++ imm8 & 0x1, ((imm8 & 0x2) >> 1) + 2)) ++#else ++#define _mm_shuffle_pd(a, b, imm8) \ ++ _mm_castsi128_pd(_mm_set_epi64x( \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(b), (imm8 & 0x2) >> 1), \ ++ vgetq_lane_s64(vreinterpretq_s64_m128d(a), imm8 & 0x1))) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflehi_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflehi_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = \ ++ vshuffleq_s16(_input, _input, 0, 1, 2, 3, ((imm) & (0x3)) + 4, \ ++ (((imm) >> 2) & 0x3) + 4, (((imm) >> 4) & 0x3) + 4, \ ++ (((imm) >> 6) & 0x3) + 4); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflehi_epi16(a, imm) _mm_shufflehi_epi16_function((a), (imm)) ++#endif ++ ++// FORCE_INLINE __m128i _mm_shufflelo_epi16(__m128i a, ++// __constrange(0,255) int imm) ++#if defined(_sse2neon_shuffle) ++#define _mm_shufflelo_epi16(a, imm) \ ++ __extension__({ \ ++ int16x8_t _input = vreinterpretq_s16_m128i(a); \ ++ int16x8_t _shuf = vshuffleq_s16( \ ++ _input, _input, ((imm) & (0x3)), (((imm) >> 2) & 0x3), \ ++ (((imm) >> 4) & 0x3), (((imm) >> 6) & 0x3), 4, 5, 6, 7); \ ++ vreinterpretq_m128i_s16(_shuf); \ ++ }) ++#else // generic ++#define _mm_shufflelo_epi16(a, imm) _mm_shufflelo_epi16_function((a), (imm)) ++#endif ++ ++// Shift packed 16-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi16 ++FORCE_INLINE __m128i _mm_sll_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16((int16_t) c); ++ return vreinterpretq_m128i_s16(vshlq_s16(vreinterpretq_s16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi32 ++FORCE_INLINE __m128i _mm_sll_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32((int32_t) c); ++ return vreinterpretq_m128i_s32(vshlq_s32(vreinterpretq_s32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a left by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sll_epi64 ++FORCE_INLINE __m128i _mm_sll_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64((int64_t) c); ++ return vreinterpretq_m128i_s64(vshlq_s64(vreinterpretq_s64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi16 ++FORCE_INLINE __m128i _mm_slli_epi16(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~15)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16(vreinterpretq_s16_m128i(a), vdupq_n_s16(imm))); ++} ++ ++// Shift packed 32-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi32 ++FORCE_INLINE __m128i _mm_slli_epi32(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~31)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32(vreinterpretq_s32_m128i(a), vdupq_n_s32(imm))); ++} ++ ++// Shift packed 64-bit integers in a left by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_epi64 ++FORCE_INLINE __m128i _mm_slli_epi64(__m128i a, int imm) ++{ ++ if (_sse2neon_unlikely(imm & ~63)) ++ return _mm_setzero_si128(); ++ return vreinterpretq_m128i_s64( ++ vshlq_s64(vreinterpretq_s64_m128i(a), vdupq_n_s64(imm))); ++} ++ ++// Shift a left by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_slli_si128 ++#define _mm_slli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely(imm == 0)) ret = vreinterpretq_s8_m128i(_a); \ ++ else if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vdupq_n_s8(0), vreinterpretq_s8_m128i(_a), \ ++ ((imm <= 0 || imm > 15) ? 0 : (16 - imm))); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Compute the square root of packed double-precision (64-bit) floating-point ++// elements in a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_pd ++FORCE_INLINE __m128d _mm_sqrt_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vsqrtq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double a0 = sqrt(((double *) &a)[0]); ++ double a1 = sqrt(((double *) &a)[1]); ++ return _mm_set_pd(a1, a0); ++#endif ++} ++ ++// Compute the square root of the lower double-precision (64-bit) floating-point ++// element in b, store the result in the lower element of dst, and copy the ++// upper element from a to the upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sqrt_sd ++FORCE_INLINE __m128d _mm_sqrt_sd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return _mm_move_sd(a, _mm_sqrt_pd(b)); ++#else ++ return _mm_set_pd(((double *) &a)[1], sqrt(((double *) &b)[0])); ++#endif ++} ++ ++// Shift packed 16-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi16 ++FORCE_INLINE __m128i _mm_sra_epi16(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_cmplt_epi16(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s16( ++ vshlq_s16((int16x8_t) a, vdupq_n_s16((int) -c))); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sra_epi32 ++FORCE_INLINE __m128i _mm_sra_epi32(__m128i a, __m128i count) ++{ ++ int64_t c = vgetq_lane_s64(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_cmplt_epi32(a, _mm_setzero_si128()); ++ return vreinterpretq_m128i_s32( ++ vshlq_s32((int32x4_t) a, vdupq_n_s32((int) -c))); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in sign ++// bits, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi16 ++FORCE_INLINE __m128i _mm_srai_epi16(__m128i a, int imm) ++{ ++ const int count = (imm & ~15) ? 15 : imm; ++ return (__m128i) vshlq_s16((int16x8_t) a, vdupq_n_s16(-count)); ++} ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in sign bits, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srai_epi32 ++// FORCE_INLINE __m128i _mm_srai_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srai_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) == 0)) { \ ++ ret = _a; \ ++ } else if (_sse2neon_likely(0 < (imm) && (imm) < 32)) { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshlq_s32(vreinterpretq_s32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } else { \ ++ ret = vreinterpretq_m128i_s32( \ ++ vshrq_n_s32(vreinterpretq_s32_m128i(_a), 31)); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 16-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi16 ++FORCE_INLINE __m128i _mm_srl_epi16(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~15)) ++ return _mm_setzero_si128(); ++ ++ int16x8_t vc = vdupq_n_s16(-(int16_t) c); ++ return vreinterpretq_m128i_u16(vshlq_u16(vreinterpretq_u16_m128i(a), vc)); ++} ++ ++// Shift packed 32-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi32 ++FORCE_INLINE __m128i _mm_srl_epi32(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~31)) ++ return _mm_setzero_si128(); ++ ++ int32x4_t vc = vdupq_n_s32(-(int32_t) c); ++ return vreinterpretq_m128i_u32(vshlq_u32(vreinterpretq_u32_m128i(a), vc)); ++} ++ ++// Shift packed 64-bit integers in a right by count while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srl_epi64 ++FORCE_INLINE __m128i _mm_srl_epi64(__m128i a, __m128i count) ++{ ++ uint64_t c = vreinterpretq_nth_u64_m128i(count, 0); ++ if (_sse2neon_unlikely(c & ~63)) ++ return _mm_setzero_si128(); ++ ++ int64x2_t vc = vdupq_n_s64(-(int64_t) c); ++ return vreinterpretq_m128i_u64(vshlq_u64(vreinterpretq_u64_m128i(a), vc)); ++} ++ ++// Shift packed 16-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi16 ++#define _mm_srli_epi16(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~15)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u16( \ ++ vshlq_u16(vreinterpretq_u16_m128i(_a), vdupq_n_s16(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 32-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi32 ++// FORCE_INLINE __m128i _mm_srli_epi32(__m128i a, __constrange(0,255) int imm) ++#define _mm_srli_epi32(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~31)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u32( \ ++ vshlq_u32(vreinterpretq_u32_m128i(_a), vdupq_n_s32(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift packed 64-bit integers in a right by imm8 while shifting in zeros, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_epi64 ++#define _mm_srli_epi64(a, imm) \ ++ _sse2neon_define0( \ ++ __m128i, a, __m128i ret; if (_sse2neon_unlikely((imm) & ~63)) { \ ++ ret = _mm_setzero_si128(); \ ++ } else { \ ++ ret = vreinterpretq_m128i_u64( \ ++ vshlq_u64(vreinterpretq_u64_m128i(_a), vdupq_n_s64(-(imm)))); \ ++ } _sse2neon_return(ret);) ++ ++// Shift a right by imm8 bytes while shifting in zeros, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_srli_si128 ++#define _mm_srli_si128(a, imm) \ ++ _sse2neon_define1( \ ++ __m128i, a, int8x16_t ret; \ ++ if (_sse2neon_unlikely((imm) & ~15)) ret = vdupq_n_s8(0); \ ++ else ret = vextq_s8(vreinterpretq_s8_m128i(_a), vdupq_n_s8(0), \ ++ (imm > 15 ? 0 : imm)); \ ++ _sse2neon_return(vreinterpretq_m128i_s8(ret));) ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr must be aligned on a 16-byte boundary ++// or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd ++FORCE_INLINE void _mm_store_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64((float64_t *) mem_addr, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_f32((float32_t *) mem_addr, vreinterpretq_f32_m128d(a)); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_pd1 ++FORCE_INLINE void _mm_store_pd1(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x1_t a_low = vget_low_f64(vreinterpretq_f64_m128d(a)); ++ vst1q_f64((float64_t *) mem_addr, ++ vreinterpretq_f64_m128d(vcombine_f64(a_low, a_low))); ++#else ++ float32x2_t a_low = vget_low_f32(vreinterpretq_f32_m128d(a)); ++ vst1q_f32((float32_t *) mem_addr, ++ vreinterpretq_f32_m128d(vcombine_f32(a_low, a_low))); ++#endif ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. mem_addr does not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_store_sd ++FORCE_INLINE void _mm_store_sd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_u64((uint64_t *) mem_addr, vget_low_u64(vreinterpretq_u64_m128d(a))); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr must be aligned ++// on a 16-byte boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_store_si128 ++FORCE_INLINE void _mm_store_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// 2 contiguous elements in memory. mem_addr must be aligned on a 16-byte ++// boundary or a general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#expand=9,526,5601&text=_mm_store1_pd ++#define _mm_store1_pd _mm_store_pd1 ++ ++// Store the upper double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeh_pd ++FORCE_INLINE void _mm_storeh_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_high_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_high_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 64-bit integer from the first element of a into memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_epi64 ++FORCE_INLINE void _mm_storel_epi64(__m128i *a, __m128i b) ++{ ++ vst1_u64((uint64_t *) a, vget_low_u64(vreinterpretq_u64_m128i(b))); ++} ++ ++// Store the lower double-precision (64-bit) floating-point element from a into ++// memory. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storel_pd ++FORCE_INLINE void _mm_storel_pd(double *mem_addr, __m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ vst1_f64((float64_t *) mem_addr, vget_low_f64(vreinterpretq_f64_m128d(a))); ++#else ++ vst1_f32((float32_t *) mem_addr, vget_low_f32(vreinterpretq_f32_m128d(a))); ++#endif ++} ++ ++// Store 2 double-precision (64-bit) floating-point elements from a into memory ++// in reverse order. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storer_pd ++FORCE_INLINE void _mm_storer_pd(double *mem_addr, __m128d a) ++{ ++ float32x4_t f = vreinterpretq_f32_m128d(a); ++ _mm_store_pd(mem_addr, vreinterpretq_m128d_f32(vextq_f32(f, f, 2))); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory. mem_addr does not need to be aligned on any ++// particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_pd ++FORCE_INLINE void _mm_storeu_pd(double *mem_addr, __m128d a) ++{ ++ _mm_store_pd(mem_addr, a); ++} ++ ++// Store 128-bits of integer data from a into memory. mem_addr does not need to ++// be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si128 ++FORCE_INLINE void _mm_storeu_si128(__m128i *p, __m128i a) ++{ ++ vst1q_s32((int32_t *) p, vreinterpretq_s32_m128i(a)); ++} ++ ++// Store 32-bit integer from the first element of a into memory. mem_addr does ++// not need to be aligned on any particular boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_storeu_si32 ++FORCE_INLINE void _mm_storeu_si32(void *p, __m128i a) ++{ ++ vst1q_lane_s32((int32_t *) p, vreinterpretq_s32_m128i(a), 0); ++} ++ ++// Store 128-bits (composed of 2 packed double-precision (64-bit) floating-point ++// elements) from a into memory using a non-temporal memory hint. mem_addr must ++// be aligned on a 16-byte boundary or a general-protection exception may be ++// generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_pd ++FORCE_INLINE void _mm_stream_pd(double *p, __m128d a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, (__m128d *) p); ++#elif defined(__aarch64__) || defined(_M_ARM64) ++ vst1q_f64(p, vreinterpretq_f64_m128d(a)); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128d(a)); ++#endif ++} ++ ++// Store 128-bits of integer data from a into memory using a non-temporal memory ++// hint. mem_addr must be aligned on a 16-byte boundary or a general-protection ++// exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si128 ++FORCE_INLINE void _mm_stream_si128(__m128i *p, __m128i a) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ __builtin_nontemporal_store(a, p); ++#else ++ vst1q_s64((int64_t *) p, vreinterpretq_s64_m128i(a)); ++#endif ++} ++ ++// Store 32-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si32 ++FORCE_INLINE void _mm_stream_si32(int *p, int a) ++{ ++ vst1q_lane_s32((int32_t *) p, vdupq_n_s32(a), 0); ++} ++ ++// Store 64-bit integer a into memory using a non-temporal hint to minimize ++// cache pollution. If the cache line containing address mem_addr is already in ++// the cache, the cache will be updated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_si64 ++FORCE_INLINE void _mm_stream_si64(__int64 *p, __int64 a) ++{ ++ vst1_s64((int64_t *) p, vdup_n_s64((int64_t) a)); ++} ++ ++// Subtract packed 16-bit integers in b from packed 16-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi16 ++FORCE_INLINE __m128i _mm_sub_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed 32-bit integers in b from packed 32-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi32 ++FORCE_INLINE __m128i _mm_sub_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Subtract packed 64-bit integers in b from packed 64-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi64 ++FORCE_INLINE __m128i _mm_sub_epi64(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s64( ++ vsubq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++} ++ ++// Subtract packed 8-bit integers in b from packed 8-bit integers in a, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_epi8 ++FORCE_INLINE __m128i _mm_sub_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed double-precision (64-bit) floating-point elements in b from ++// packed double-precision (64-bit) floating-point elements in a, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_sub_pd ++FORCE_INLINE __m128d _mm_sub_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[2]; ++ c[0] = da[0] - db[0]; ++ c[1] = da[1] - db[1]; ++ return vld1q_f32((float32_t *) c); ++#endif ++} ++ ++// Subtract the lower double-precision (64-bit) floating-point element in b from ++// the lower double-precision (64-bit) floating-point element in a, store the ++// result in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_sd ++FORCE_INLINE __m128d _mm_sub_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_sub_pd(a, b)); ++} ++ ++// Subtract 64-bit integer b from 64-bit integer a, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sub_si64 ++FORCE_INLINE __m64 _mm_sub_si64(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s64( ++ vsub_s64(vreinterpret_s64_m64(a), vreinterpret_s64_m64(b))); ++} ++ ++// Subtract packed signed 16-bit integers in b from packed 16-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi16 ++FORCE_INLINE __m128i _mm_subs_epi16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++} ++ ++// Subtract packed signed 8-bit integers in b from packed 8-bit integers in a ++// using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epi8 ++FORCE_INLINE __m128i _mm_subs_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vqsubq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Subtract packed unsigned 16-bit integers in b from packed unsigned 16-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu16 ++FORCE_INLINE __m128i _mm_subs_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vqsubq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Subtract packed unsigned 8-bit integers in b from packed unsigned 8-bit ++// integers in a using saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_subs_epu8 ++FORCE_INLINE __m128i _mm_subs_epu8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8( ++ vqsubq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b))); ++} ++ ++#define _mm_ucomieq_sd _mm_comieq_sd ++#define _mm_ucomige_sd _mm_comige_sd ++#define _mm_ucomigt_sd _mm_comigt_sd ++#define _mm_ucomile_sd _mm_comile_sd ++#define _mm_ucomilt_sd _mm_comilt_sd ++#define _mm_ucomineq_sd _mm_comineq_sd ++ ++// Return vector of type __m128d with undefined elements. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_undefined_pd ++FORCE_INLINE __m128d _mm_undefined_pd(void) ++{ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif ++ __m128d a; ++#if defined(_MSC_VER) ++ a = _mm_setzero_pd(); ++#endif ++ return a; ++#if defined(__GNUC__) || defined(__clang__) ++#pragma GCC diagnostic pop ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi16 ++FORCE_INLINE __m128i _mm_unpackhi_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip2q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_high_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_high_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi32 ++FORCE_INLINE __m128i _mm_unpackhi_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip2q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_high_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_high_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the high half of a and b, and ++// store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi64 ++FORCE_INLINE __m128i _mm_unpackhi_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip2q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_h = vget_high_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_h = vget_high_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_h, b_h)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the high half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_epi8 ++FORCE_INLINE __m128i _mm_unpackhi_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip2q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = ++ vreinterpret_s8_s16(vget_high_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the high half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpackhi_pd ++FORCE_INLINE __m128d _mm_unpackhi_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip2q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_high_s64(vreinterpretq_s64_m128d(a)), ++ vget_high_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Unpack and interleave 16-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi16 ++FORCE_INLINE __m128i _mm_unpacklo_epi16(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vzip1q_s16(vreinterpretq_s16_m128i(a), vreinterpretq_s16_m128i(b))); ++#else ++ int16x4_t a1 = vget_low_s16(vreinterpretq_s16_m128i(a)); ++ int16x4_t b1 = vget_low_s16(vreinterpretq_s16_m128i(b)); ++ int16x4x2_t result = vzip_s16(a1, b1); ++ return vreinterpretq_m128i_s16(vcombine_s16(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 32-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi32 ++FORCE_INLINE __m128i _mm_unpacklo_epi32(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vzip1q_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++#else ++ int32x2_t a1 = vget_low_s32(vreinterpretq_s32_m128i(a)); ++ int32x2_t b1 = vget_low_s32(vreinterpretq_s32_m128i(b)); ++ int32x2x2_t result = vzip_s32(a1, b1); ++ return vreinterpretq_m128i_s32(vcombine_s32(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave 64-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi64 ++FORCE_INLINE __m128i _mm_unpacklo_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s64( ++ vzip1q_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ int64x1_t a_l = vget_low_s64(vreinterpretq_s64_m128i(a)); ++ int64x1_t b_l = vget_low_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vcombine_s64(a_l, b_l)); ++#endif ++} ++ ++// Unpack and interleave 8-bit integers from the low half of a and b, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_epi8 ++FORCE_INLINE __m128i _mm_unpacklo_epi8(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8( ++ vzip1q_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++#else ++ int8x8_t a1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(a))); ++ int8x8_t b1 = vreinterpret_s8_s16(vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int8x8x2_t result = vzip_s8(a1, b1); ++ return vreinterpretq_m128i_s8(vcombine_s8(result.val[0], result.val[1])); ++#endif ++} ++ ++// Unpack and interleave double-precision (64-bit) floating-point elements from ++// the low half of a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_unpacklo_pd ++FORCE_INLINE __m128d _mm_unpacklo_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vzip1q_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ return vreinterpretq_m128d_s64( ++ vcombine_s64(vget_low_s64(vreinterpretq_s64_m128d(a)), ++ vget_low_s64(vreinterpretq_s64_m128d(b)))); ++#endif ++} ++ ++// Compute the bitwise XOR of packed double-precision (64-bit) floating-point ++// elements in a and b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_pd ++FORCE_INLINE __m128d _mm_xor_pd(__m128d a, __m128d b) ++{ ++ return vreinterpretq_m128d_s64( ++ veorq_s64(vreinterpretq_s64_m128d(a), vreinterpretq_s64_m128d(b))); ++} ++ ++// Compute the bitwise XOR of 128 bits (representing integer data) in a and b, ++// and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_xor_si128 ++FORCE_INLINE __m128i _mm_xor_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ veorq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++/* SSE3 */ ++ ++// Alternatively add and subtract packed double-precision (64-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_addsub_pd ++FORCE_INLINE __m128d _mm_addsub_pd(__m128d a, __m128d b) ++{ ++ _sse2neon_const __m128d mask = _mm_set_pd(1.0f, -1.0f); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vfmaq_f64(vreinterpretq_f64_m128d(a), ++ vreinterpretq_f64_m128d(b), ++ vreinterpretq_f64_m128d(mask))); ++#else ++ return _mm_add_pd(_mm_mul_pd(b, mask), a); ++#endif ++} ++ ++// Alternatively add and subtract packed single-precision (32-bit) ++// floating-point elements in a to/from packed elements in b, and store the ++// results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=addsub_ps ++FORCE_INLINE __m128 _mm_addsub_ps(__m128 a, __m128 b) ++{ ++ _sse2neon_const __m128 mask = _mm_setr_ps(-1.0f, 1.0f, -1.0f, 1.0f); ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_FMA) /* VFPv4+ */ ++ return vreinterpretq_m128_f32(vfmaq_f32(vreinterpretq_f32_m128(a), ++ vreinterpretq_f32_m128(mask), ++ vreinterpretq_f32_m128(b))); ++#else ++ return _mm_add_ps(_mm_mul_ps(b, mask), a); ++#endif ++} ++ ++// Horizontally add adjacent pairs of double-precision (64-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pd ++FORCE_INLINE __m128d _mm_hadd_pd(__m128d a, __m128d b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vpaddq_f64(vreinterpretq_f64_m128d(a), vreinterpretq_f64_m128d(b))); ++#else ++ double *da = (double *) &a; ++ double *db = (double *) &b; ++ double c[] = {da[0] + da[1], db[0] + db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of single-precision (32-bit) floating-point ++// elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_ps ++FORCE_INLINE __m128 _mm_hadd_ps(__m128 a, __m128 b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vpaddq_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(b))); ++#else ++ float32x2_t a10 = vget_low_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t a32 = vget_high_f32(vreinterpretq_f32_m128(a)); ++ float32x2_t b10 = vget_low_f32(vreinterpretq_f32_m128(b)); ++ float32x2_t b32 = vget_high_f32(vreinterpretq_f32_m128(b)); ++ return vreinterpretq_m128_f32( ++ vcombine_f32(vpadd_f32(a10, a32), vpadd_f32(b10, b32))); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of double-precision (64-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pd ++FORCE_INLINE __m128d _mm_hsub_pd(__m128d _a, __m128d _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64( ++ vsubq_f64(vuzp1q_f64(a, b), vuzp2q_f64(a, b))); ++#else ++ double *da = (double *) &_a; ++ double *db = (double *) &_b; ++ double c[] = {da[0] - da[1], db[0] - db[1]}; ++ return vreinterpretq_m128d_u64(vld1q_u64((uint64_t *) c)); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of single-precision (32-bit) ++// floating-point elements in a and b, and pack the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_ps ++FORCE_INLINE __m128 _mm_hsub_ps(__m128 _a, __m128 _b) ++{ ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vsubq_f32(vuzp1q_f32(a, b), vuzp2q_f32(a, b))); ++#else ++ float32x4x2_t c = vuzpq_f32(a, b); ++ return vreinterpretq_m128_f32(vsubq_f32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Load 128-bits of integer data from unaligned memory into dst. This intrinsic ++// may perform better than _mm_loadu_si128 when the data crosses a cache line ++// boundary. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_lddqu_si128 ++#define _mm_lddqu_si128 _mm_loadu_si128 ++ ++// Load a double-precision (64-bit) floating-point element from memory into both ++// elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_loaddup_pd ++#define _mm_loaddup_pd _mm_load1_pd ++ ++// Duplicate the low double-precision (64-bit) floating-point element from a, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movedup_pd ++FORCE_INLINE __m128d _mm_movedup_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64( ++ vdupq_laneq_f64(vreinterpretq_f64_m128d(a), 0)); ++#else ++ return vreinterpretq_m128d_u64( ++ vdupq_n_u64(vgetq_lane_u64(vreinterpretq_u64_m128d(a), 0))); ++#endif ++} ++ ++// Duplicate odd-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_movehdup_ps ++FORCE_INLINE __m128 _mm_movehdup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn2q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 1, 1, 3, 3)); ++#else ++ float32_t a1 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 1); ++ float32_t a3 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 3); ++ float ALIGN_STRUCT(16) data[4] = {a1, a1, a3, a3}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++// Duplicate even-indexed single-precision (32-bit) floating-point elements ++// from a, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_moveldup_ps ++FORCE_INLINE __m128 _mm_moveldup_ps(__m128 a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128_f32( ++ vtrn1q_f32(vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a))); ++#elif defined(_sse2neon_shuffle) ++ return vreinterpretq_m128_f32(vshuffleq_s32( ++ vreinterpretq_f32_m128(a), vreinterpretq_f32_m128(a), 0, 0, 2, 2)); ++#else ++ float32_t a0 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 0); ++ float32_t a2 = vgetq_lane_f32(vreinterpretq_f32_m128(a), 2); ++ float ALIGN_STRUCT(16) data[4] = {a0, a0, a2, a2}; ++ return vreinterpretq_m128_f32(vld1q_f32(data)); ++#endif ++} ++ ++/* SSSE3 */ ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi16 ++FORCE_INLINE __m128i _mm_abs_epi16(__m128i a) ++{ ++ return vreinterpretq_m128i_s16(vabsq_s16(vreinterpretq_s16_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi32 ++FORCE_INLINE __m128i _mm_abs_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32(vabsq_s32(vreinterpretq_s32_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_epi8 ++FORCE_INLINE __m128i _mm_abs_epi8(__m128i a) ++{ ++ return vreinterpretq_m128i_s8(vabsq_s8(vreinterpretq_s8_m128i(a))); ++} ++ ++// Compute the absolute value of packed signed 16-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi16 ++FORCE_INLINE __m64 _mm_abs_pi16(__m64 a) ++{ ++ return vreinterpret_m64_s16(vabs_s16(vreinterpret_s16_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 32-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi32 ++FORCE_INLINE __m64 _mm_abs_pi32(__m64 a) ++{ ++ return vreinterpret_m64_s32(vabs_s32(vreinterpret_s32_m64(a))); ++} ++ ++// Compute the absolute value of packed signed 8-bit integers in a, and store ++// the unsigned results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_abs_pi8 ++FORCE_INLINE __m64 _mm_abs_pi8(__m64 a) ++{ ++ return vreinterpret_m64_s8(vabs_s8(vreinterpret_s8_m64(a))); ++} ++ ++// Concatenate 16-byte blocks in a and b into a 32-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 16 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_epi8 ++#if defined(__GNUC__) && !defined(__clang__) ++#define _mm_alignr_epi8(a, b, imm) \ ++ __extension__({ \ ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); \ ++ uint8x16_t _b = vreinterpretq_u8_m128i(b); \ ++ __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) \ ++ ret = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) \ ++ ret = _mm_srli_si128(a, imm >= 16 ? imm - 16 : 0); \ ++ else \ ++ ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(_b, _a, imm < 16 ? imm : 0)); \ ++ ret; \ ++ }) ++ ++#else ++#define _mm_alignr_epi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, uint8x16_t __a = vreinterpretq_u8_m128i(_a); \ ++ uint8x16_t __b = vreinterpretq_u8_m128i(_b); __m128i ret; \ ++ if (_sse2neon_unlikely((imm) & ~31)) ret = \ ++ vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ else if (imm >= 16) ret = \ ++ _mm_srli_si128(_a, imm >= 16 ? imm - 16 : 0); \ ++ else ret = \ ++ vreinterpretq_m128i_u8(vextq_u8(__b, __a, imm < 16 ? imm : 0)); \ ++ _sse2neon_return(ret);) ++ ++#endif ++ ++// Concatenate 8-byte blocks in a and b into a 16-byte temporary result, shift ++// the result right by imm8 bytes, and store the low 8 bytes in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_alignr_pi8 ++#define _mm_alignr_pi8(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m64, a, b, __m64 ret; if (_sse2neon_unlikely((imm) >= 16)) { \ ++ ret = vreinterpret_m64_s8(vdup_n_s8(0)); \ ++ } else { \ ++ uint8x8_t tmp_low; \ ++ uint8x8_t tmp_high; \ ++ if ((imm) >= 8) { \ ++ const int idx = (imm) -8; \ ++ tmp_low = vreinterpret_u8_m64(_a); \ ++ tmp_high = vdup_n_u8(0); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } else { \ ++ const int idx = (imm); \ ++ tmp_low = vreinterpret_u8_m64(_b); \ ++ tmp_high = vreinterpret_u8_m64(_a); \ ++ ret = vreinterpret_m64_u8(vext_u8(tmp_low, tmp_high, idx)); \ ++ } \ ++ } _sse2neon_return(ret);) ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi16 ++FORCE_INLINE __m128i _mm_hadd_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16(vpaddq_s16(a, b)); ++#else ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(vget_low_s16(a), vget_high_s16(a)), ++ vpadd_s16(vget_low_s16(b), vget_high_s16(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_epi32 ++FORCE_INLINE __m128i _mm_hadd_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32(vpaddq_s32(a, b)); ++#else ++ return vreinterpretq_m128i_s32( ++ vcombine_s32(vpadd_s32(vget_low_s32(a), vget_high_s32(a)), ++ vpadd_s32(vget_low_s32(b), vget_high_s32(b)))); ++#endif ++} ++ ++// Horizontally add adjacent pairs of 16-bit integers in a and b, and pack the ++// signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi16 ++FORCE_INLINE __m64 _mm_hadd_pi16(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s16( ++ vpadd_s16(vreinterpret_s16_m64(a), vreinterpret_s16_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of 32-bit integers in a and b, and pack the ++// signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadd_pi32 ++FORCE_INLINE __m64 _mm_hadd_pi32(__m64 a, __m64 b) ++{ ++ return vreinterpret_m64_s32( ++ vpadd_s32(vreinterpret_s32_m64(a), vreinterpret_s32_m64(b))); ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_epi16 ++FORCE_INLINE __m128i _mm_hadds_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ return vreinterpretq_s64_s16( ++ vqaddq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ // Interleave using vshrn/vmovn ++ // [a0|a2|a4|a6|b0|b2|b4|b6] ++ // [a1|a3|a5|a7|b1|b3|b5|b7] ++ int16x8_t ab0246 = vcombine_s16(vmovn_s32(a), vmovn_s32(b)); ++ int16x8_t ab1357 = vcombine_s16(vshrn_n_s32(a, 16), vshrn_n_s32(b, 16)); ++ // Saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(ab0246, ab1357)); ++#endif ++} ++ ++// Horizontally add adjacent pairs of signed 16-bit integers in a and b using ++// saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hadds_pi16 ++FORCE_INLINE __m64 _mm_hadds_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_s64_s16(vqadd_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t res = vuzp_s16(a, b); ++ return vreinterpret_s64_s16(vqadd_s16(res.val[0], res.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi16 ++FORCE_INLINE __m128i _mm_hsub_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_epi32 ++FORCE_INLINE __m128i _mm_hsub_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s32( ++ vsubq_s32(vuzp1q_s32(a, b), vuzp2q_s32(a, b))); ++#else ++ int32x4x2_t c = vuzpq_s32(a, b); ++ return vreinterpretq_m128i_s32(vsubq_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 16-bit integers in a and b, and pack ++// the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsub_pi16 ++FORCE_INLINE __m64 _mm_hsub_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of 32-bit integers in a and b, and pack ++// the signed 32-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_hsub_pi32 ++FORCE_INLINE __m64 _mm_hsub_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s32(vsub_s32(vuzp1_s32(a, b), vuzp2_s32(a, b))); ++#else ++ int32x2x2_t c = vuzp_s32(a, b); ++ return vreinterpret_m64_s32(vsub_s32(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_epi16 ++FORCE_INLINE __m128i _mm_hsubs_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s16( ++ vqsubq_s16(vuzp1q_s16(a, b), vuzp2q_s16(a, b))); ++#else ++ int16x8x2_t c = vuzpq_s16(a, b); ++ return vreinterpretq_m128i_s16(vqsubq_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Horizontally subtract adjacent pairs of signed 16-bit integers in a and b ++// using saturation, and pack the signed 16-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_hsubs_pi16 ++FORCE_INLINE __m64 _mm_hsubs_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpret_m64_s16(vqsub_s16(vuzp1_s16(a, b), vuzp2_s16(a, b))); ++#else ++ int16x4x2_t c = vuzp_s16(a, b); ++ return vreinterpret_m64_s16(vqsub_s16(c.val[0], c.val[1])); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, ++// and pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_epi16 ++FORCE_INLINE __m128i _mm_maddubs_epi16(__m128i _a, __m128i _b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ int16x8_t tl = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_low_u8(a))), ++ vmovl_s8(vget_low_s8(b))); ++ int16x8_t th = vmulq_s16(vreinterpretq_s16_u16(vmovl_u8(vget_high_u8(a))), ++ vmovl_s8(vget_high_s8(b))); ++ return vreinterpretq_m128i_s16( ++ vqaddq_s16(vuzp1q_s16(tl, th), vuzp2q_s16(tl, th))); ++#else ++ // This would be much simpler if x86 would choose to zero extend OR sign ++ // extend, not both. This could probably be optimized better. ++ uint16x8_t a = vreinterpretq_u16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // Zero extend a ++ int16x8_t a_odd = vreinterpretq_s16_u16(vshrq_n_u16(a, 8)); ++ int16x8_t a_even = vreinterpretq_s16_u16(vbicq_u16(a, vdupq_n_u16(0xff00))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x8_t b_even = vshrq_n_s16(vshlq_n_s16(b, 8), 8); ++ int16x8_t b_odd = vshrq_n_s16(b, 8); ++ ++ // multiply ++ int16x8_t prod1 = vmulq_s16(a_even, b_even); ++ int16x8_t prod2 = vmulq_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpretq_m128i_s16(vqaddq_s16(prod1, prod2)); ++#endif ++} ++ ++// Vertically multiply each unsigned 8-bit integer from a with the corresponding ++// signed 8-bit integer from b, producing intermediate signed 16-bit integers. ++// Horizontally add adjacent pairs of intermediate signed 16-bit integers, and ++// pack the saturated results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_maddubs_pi16 ++FORCE_INLINE __m64 _mm_maddubs_pi16(__m64 _a, __m64 _b) ++{ ++ uint16x4_t a = vreinterpret_u16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // Zero extend a ++ int16x4_t a_odd = vreinterpret_s16_u16(vshr_n_u16(a, 8)); ++ int16x4_t a_even = vreinterpret_s16_u16(vand_u16(a, vdup_n_u16(0xff))); ++ ++ // Sign extend by shifting left then shifting right. ++ int16x4_t b_even = vshr_n_s16(vshl_n_s16(b, 8), 8); ++ int16x4_t b_odd = vshr_n_s16(b, 8); ++ ++ // multiply ++ int16x4_t prod1 = vmul_s16(a_even, b_even); ++ int16x4_t prod2 = vmul_s16(a_odd, b_odd); ++ ++ // saturated add ++ return vreinterpret_m64_s16(vqadd_s16(prod1, prod2)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Shift right by 15 bits while rounding up, and store ++// the packed 16-bit integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_epi16 ++FORCE_INLINE __m128i _mm_mulhrs_epi16(__m128i a, __m128i b) ++{ ++ // Has issues due to saturation ++ // return vreinterpretq_m128i_s16(vqrdmulhq_s16(a, b)); ++ ++ // Multiply ++ int32x4_t mul_lo = vmull_s16(vget_low_s16(vreinterpretq_s16_m128i(a)), ++ vget_low_s16(vreinterpretq_s16_m128i(b))); ++ int32x4_t mul_hi = vmull_s16(vget_high_s16(vreinterpretq_s16_m128i(a)), ++ vget_high_s16(vreinterpretq_s16_m128i(b))); ++ ++ // Rounding narrowing shift right ++ // narrow = (int16_t)((mul + 16384) >> 15); ++ int16x4_t narrow_lo = vrshrn_n_s32(mul_lo, 15); ++ int16x4_t narrow_hi = vrshrn_n_s32(mul_hi, 15); ++ ++ // Join together ++ return vreinterpretq_m128i_s16(vcombine_s16(narrow_lo, narrow_hi)); ++} ++ ++// Multiply packed signed 16-bit integers in a and b, producing intermediate ++// signed 32-bit integers. Truncate each intermediate integer to the 18 most ++// significant bits, round by adding 1, and store bits [16:1] to dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mulhrs_pi16 ++FORCE_INLINE __m64 _mm_mulhrs_pi16(__m64 a, __m64 b) ++{ ++ int32x4_t mul_extend = ++ vmull_s16((vreinterpret_s16_m64(a)), (vreinterpret_s16_m64(b))); ++ ++ // Rounding narrowing shift right ++ return vreinterpret_m64_s16(vrshrn_n_s32(mul_extend, 15)); ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi8 ++FORCE_INLINE __m128i _mm_shuffle_epi8(__m128i a, __m128i b) ++{ ++ int8x16_t tbl = vreinterpretq_s8_m128i(a); // input a ++ uint8x16_t idx = vreinterpretq_u8_m128i(b); // input b ++ uint8x16_t idx_masked = ++ vandq_u8(idx, vdupq_n_u8(0x8F)); // avoid using meaningless bits ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_s8(vqtbl1q_s8(tbl, idx_masked)); ++#elif defined(__GNUC__) ++ int8x16_t ret; ++ // %e and %f represent the even and odd D registers ++ // respectively. ++ __asm__ __volatile__( ++ "vtbl.8 %e[ret], {%e[tbl], %f[tbl]}, %e[idx]\n" ++ "vtbl.8 %f[ret], {%e[tbl], %f[tbl]}, %f[idx]\n" ++ : [ret] "=&w"(ret) ++ : [tbl] "w"(tbl), [idx] "w"(idx_masked)); ++ return vreinterpretq_m128i_s8(ret); ++#else ++ // use this line if testing on aarch64 ++ int8x8x2_t a_split = {vget_low_s8(tbl), vget_high_s8(tbl)}; ++ return vreinterpretq_m128i_s8( ++ vcombine_s8(vtbl2_s8(a_split, vget_low_u8(idx_masked)), ++ vtbl2_s8(a_split, vget_high_u8(idx_masked)))); ++#endif ++} ++ ++// Shuffle packed 8-bit integers in a according to shuffle control mask in the ++// corresponding 8-bit element of b, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_pi8 ++FORCE_INLINE __m64 _mm_shuffle_pi8(__m64 a, __m64 b) ++{ ++ const int8x8_t controlMask = ++ vand_s8(vreinterpret_s8_m64(b), vdup_n_s8((int8_t) (0x1 << 7 | 0x07))); ++ int8x8_t res = vtbl1_s8(vreinterpret_s8_m64(a), controlMask); ++ return vreinterpret_m64_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed ++// 16-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi16 ++FORCE_INLINE __m128i _mm_sign_epi16(__m128i _a, __m128i _b) ++{ ++ int16x8_t a = vreinterpretq_s16_m128i(_a); ++ int16x8_t b = vreinterpretq_s16_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x8_t ltMask = vreinterpretq_u16_s16(vshrq_n_s16(b, 15)); ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqzq_s16(b)); ++#else ++ int16x8_t zeroMask = vreinterpretq_s16_u16(vceqq_s16(b, vdupq_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s16(a) equals to negative ++ // 'a') based on ltMask ++ int16x8_t masked = vbslq_s16(ltMask, vnegq_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x8_t res = vbicq_s16(masked, zeroMask); ++ return vreinterpretq_m128i_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed ++// 32-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi32 ++FORCE_INLINE __m128i _mm_sign_epi32(__m128i _a, __m128i _b) ++{ ++ int32x4_t a = vreinterpretq_s32_m128i(_a); ++ int32x4_t b = vreinterpretq_s32_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x4_t ltMask = vreinterpretq_u32_s32(vshrq_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqzq_s32(b)); ++#else ++ int32x4_t zeroMask = vreinterpretq_s32_u32(vceqq_s32(b, vdupq_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s32(a) equals to negative ++ // 'a') based on ltMask ++ int32x4_t masked = vbslq_s32(ltMask, vnegq_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x4_t res = vbicq_s32(masked, zeroMask); ++ return vreinterpretq_m128i_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed ++// 8-bit integer in b is negative, and store the results in dst. ++// Element in dst are zeroed out when the corresponding element ++// in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_epi8 ++FORCE_INLINE __m128i _mm_sign_epi8(__m128i _a, __m128i _b) ++{ ++ int8x16_t a = vreinterpretq_s8_m128i(_a); ++ int8x16_t b = vreinterpretq_s8_m128i(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x16_t ltMask = vreinterpretq_u8_s8(vshrq_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqzq_s8(b)); ++#else ++ int8x16_t zeroMask = vreinterpretq_s8_u8(vceqq_s8(b, vdupq_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vnegq_s8(a) return negative 'a') ++ // based on ltMask ++ int8x16_t masked = vbslq_s8(ltMask, vnegq_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x16_t res = vbicq_s8(masked, zeroMask); ++ ++ return vreinterpretq_m128i_s8(res); ++} ++ ++// Negate packed 16-bit integers in a when the corresponding signed 16-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi16 ++FORCE_INLINE __m64 _mm_sign_pi16(__m64 _a, __m64 _b) ++{ ++ int16x4_t a = vreinterpret_s16_m64(_a); ++ int16x4_t b = vreinterpret_s16_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFF : 0 ++ uint16x4_t ltMask = vreinterpret_u16_s16(vshr_n_s16(b, 15)); ++ ++ // (b == 0) ? 0xFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceqz_s16(b)); ++#else ++ int16x4_t zeroMask = vreinterpret_s16_u16(vceq_s16(b, vdup_n_s16(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s16(a) return negative 'a') ++ // based on ltMask ++ int16x4_t masked = vbsl_s16(ltMask, vneg_s16(a), a); ++ // res = masked & (~zeroMask) ++ int16x4_t res = vbic_s16(masked, zeroMask); ++ ++ return vreinterpret_m64_s16(res); ++} ++ ++// Negate packed 32-bit integers in a when the corresponding signed 32-bit ++// integer in b is negative, and store the results in dst. Element in dst are ++// zeroed out when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi32 ++FORCE_INLINE __m64 _mm_sign_pi32(__m64 _a, __m64 _b) ++{ ++ int32x2_t a = vreinterpret_s32_m64(_a); ++ int32x2_t b = vreinterpret_s32_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFFFFFFFF : 0 ++ uint32x2_t ltMask = vreinterpret_u32_s32(vshr_n_s32(b, 31)); ++ ++ // (b == 0) ? 0xFFFFFFFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceqz_s32(b)); ++#else ++ int32x2_t zeroMask = vreinterpret_s32_u32(vceq_s32(b, vdup_n_s32(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s32(a) return negative 'a') ++ // based on ltMask ++ int32x2_t masked = vbsl_s32(ltMask, vneg_s32(a), a); ++ // res = masked & (~zeroMask) ++ int32x2_t res = vbic_s32(masked, zeroMask); ++ ++ return vreinterpret_m64_s32(res); ++} ++ ++// Negate packed 8-bit integers in a when the corresponding signed 8-bit integer ++// in b is negative, and store the results in dst. Element in dst are zeroed out ++// when the corresponding element in b is zero. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_sign_pi8 ++FORCE_INLINE __m64 _mm_sign_pi8(__m64 _a, __m64 _b) ++{ ++ int8x8_t a = vreinterpret_s8_m64(_a); ++ int8x8_t b = vreinterpret_s8_m64(_b); ++ ++ // signed shift right: faster than vclt ++ // (b < 0) ? 0xFF : 0 ++ uint8x8_t ltMask = vreinterpret_u8_s8(vshr_n_s8(b, 7)); ++ ++ // (b == 0) ? 0xFF : 0 ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceqz_s8(b)); ++#else ++ int8x8_t zeroMask = vreinterpret_s8_u8(vceq_s8(b, vdup_n_s8(0))); ++#endif ++ ++ // bitwise select either a or negative 'a' (vneg_s8(a) return negative 'a') ++ // based on ltMask ++ int8x8_t masked = vbsl_s8(ltMask, vneg_s8(a), a); ++ // res = masked & (~zeroMask) ++ int8x8_t res = vbic_s8(masked, zeroMask); ++ ++ return vreinterpret_m64_s8(res); ++} ++ ++/* SSE4.1 */ ++ ++// Blend packed 16-bit integers from a and b using control mask imm8, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_epi16 ++// FORCE_INLINE __m128i _mm_blend_epi16(__m128i a, __m128i b, ++// __constrange(0,255) int imm) ++#define _mm_blend_epi16(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128i, a, b, \ ++ const uint16_t _mask[8] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 1)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 2)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 3)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 4)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 5)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 6)) ? (uint16_t) -1 : 0x0, \ ++ ((imm) & (1 << 7)) ? (uint16_t) -1 : 0x0); \ ++ uint16x8_t _mask_vec = vld1q_u16(_mask); \ ++ uint16x8_t __a = vreinterpretq_u16_m128i(_a); \ ++ uint16x8_t __b = vreinterpretq_u16_m128i(_b); _sse2neon_return( \ ++ vreinterpretq_m128i_u16(vbslq_u16(_mask_vec, __b, __a)));) ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using control mask imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_pd ++#define _mm_blend_pd(a, b, imm) \ ++ _sse2neon_define2( \ ++ __m128d, a, b, \ ++ const uint64_t _mask[2] = \ ++ _sse2neon_init(((imm) & (1 << 0)) ? ~UINT64_C(0) : UINT64_C(0), \ ++ ((imm) & (1 << 1)) ? ~UINT64_C(0) : UINT64_C(0)); \ ++ uint64x2_t _mask_vec = vld1q_u64(_mask); \ ++ uint64x2_t __a = vreinterpretq_u64_m128d(_a); \ ++ uint64x2_t __b = vreinterpretq_u64_m128d(_b); _sse2neon_return( \ ++ vreinterpretq_m128d_u64(vbslq_u64(_mask_vec, __b, __a)));) ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_ps ++FORCE_INLINE __m128 _mm_blend_ps(__m128 _a, __m128 _b, const char imm8) ++{ ++ const uint32_t ALIGN_STRUCT(16) ++ data[4] = {((imm8) & (1 << 0)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0}; ++ uint32x4_t mask = vld1q_u32(data); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Blend packed 8-bit integers from a and b using mask, and store the results in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_epi8 ++FORCE_INLINE __m128i _mm_blendv_epi8(__m128i _a, __m128i _b, __m128i _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint8x16_t mask = ++ vreinterpretq_u8_s8(vshrq_n_s8(vreinterpretq_s8_m128i(_mask), 7)); ++ uint8x16_t a = vreinterpretq_u8_m128i(_a); ++ uint8x16_t b = vreinterpretq_u8_m128i(_b); ++ return vreinterpretq_m128i_u8(vbslq_u8(mask, b, a)); ++} ++ ++// Blend packed double-precision (64-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_pd ++FORCE_INLINE __m128d _mm_blendv_pd(__m128d _a, __m128d _b, __m128d _mask) ++{ ++ uint64x2_t mask = ++ vreinterpretq_u64_s64(vshrq_n_s64(vreinterpretq_s64_m128d(_mask), 63)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ float64x2_t a = vreinterpretq_f64_m128d(_a); ++ float64x2_t b = vreinterpretq_f64_m128d(_b); ++ return vreinterpretq_m128d_f64(vbslq_f64(mask, b, a)); ++#else ++ uint64x2_t a = vreinterpretq_u64_m128d(_a); ++ uint64x2_t b = vreinterpretq_u64_m128d(_b); ++ return vreinterpretq_m128d_u64(vbslq_u64(mask, b, a)); ++#endif ++} ++ ++// Blend packed single-precision (32-bit) floating-point elements from a and b ++// using mask, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blendv_ps ++FORCE_INLINE __m128 _mm_blendv_ps(__m128 _a, __m128 _b, __m128 _mask) ++{ ++ // Use a signed shift right to create a mask with the sign bit ++ uint32x4_t mask = ++ vreinterpretq_u32_s32(vshrq_n_s32(vreinterpretq_s32_m128(_mask), 31)); ++ float32x4_t a = vreinterpretq_f32_m128(_a); ++ float32x4_t b = vreinterpretq_f32_m128(_b); ++ return vreinterpretq_m128_f32(vbslq_f32(mask, b, a)); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a up ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_pd ++FORCE_INLINE __m128d _mm_ceil_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndpq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(ceil(f[1]), ceil(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a up to ++// an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ps ++FORCE_INLINE __m128 _mm_ceil_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndpq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(ceilf(f[3]), ceilf(f[2]), ceilf(f[1]), ceilf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b up to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_sd ++FORCE_INLINE __m128d _mm_ceil_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_ceil_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b up to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_ceil_ss ++FORCE_INLINE __m128 _mm_ceil_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_ceil_ps(b)); ++} ++ ++// Compare packed 64-bit integers in a and b for equality, and store the results ++// in dst ++FORCE_INLINE __m128i _mm_cmpeq_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vceqq_u64(vreinterpretq_u64_m128i(a), vreinterpretq_u64_m128i(b))); ++#else ++ // ARMv7 lacks vceqq_u64 ++ // (a == b) -> (a_lo == b_lo) && (a_hi == b_hi) ++ uint32x4_t cmp = ++ vceqq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b)); ++ uint32x4_t swapped = vrev64q_u32(cmp); ++ return vreinterpretq_m128i_u32(vandq_u32(cmp, swapped)); ++#endif ++} ++ ++// Sign extend packed 16-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi32 ++FORCE_INLINE __m128i _mm_cvtepi16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_s32( ++ vmovl_s16(vget_low_s16(vreinterpretq_s16_m128i(a)))); ++} ++ ++// Sign extend packed 16-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi16_epi64 ++FORCE_INLINE __m128i _mm_cvtepi16_epi64(__m128i a) ++{ ++ int16x8_t s16x8 = vreinterpretq_s16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Sign extend packed 32-bit integers in a to packed 64-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi32_epi64 ++FORCE_INLINE __m128i _mm_cvtepi32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_s64( ++ vmovl_s32(vget_low_s32(vreinterpretq_s32_m128i(a)))); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 16-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi16 ++FORCE_INLINE __m128i _mm_cvtepi8_epi16(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ return vreinterpretq_m128i_s16(s16x8); ++} ++ ++// Sign extend packed 8-bit integers in a to packed 32-bit integers, and store ++// the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi32 ++FORCE_INLINE __m128i _mm_cvtepi8_epi32(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_s32(s32x4); ++} ++ ++// Sign extend packed 8-bit integers in the low 8 bytes of a to packed 64-bit ++// integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepi8_epi64 ++FORCE_INLINE __m128i _mm_cvtepi8_epi64(__m128i a) ++{ ++ int8x16_t s8x16 = vreinterpretq_s8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ int16x8_t s16x8 = vmovl_s8(vget_low_s8(s8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ int32x4_t s32x4 = vmovl_s16(vget_low_s16(s16x8)); /* 000x 000x 000B 000A */ ++ int64x2_t s64x2 = vmovl_s32(vget_low_s32(s32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_s64(s64x2); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi32 ++FORCE_INLINE __m128i _mm_cvtepu16_epi32(__m128i a) ++{ ++ return vreinterpretq_m128i_u32( ++ vmovl_u16(vget_low_u16(vreinterpretq_u16_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 16-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu16_epi64 ++FORCE_INLINE __m128i _mm_cvtepu16_epi64(__m128i a) ++{ ++ uint16x8_t u16x8 = vreinterpretq_u16_m128i(a); /* xxxx xxxx xxxx 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Zero extend packed unsigned 32-bit integers in a to packed 64-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu32_epi64 ++FORCE_INLINE __m128i _mm_cvtepu32_epi64(__m128i a) ++{ ++ return vreinterpretq_m128i_u64( ++ vmovl_u32(vget_low_u32(vreinterpretq_u32_m128i(a)))); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 16-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi16 ++FORCE_INLINE __m128i _mm_cvtepu8_epi16(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx HGFE DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0H0G 0F0E 0D0C 0B0A */ ++ return vreinterpretq_m128i_u16(u16x8); ++} ++ ++// Zero extend packed unsigned 8-bit integers in a to packed 32-bit integers, ++// and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi32 ++FORCE_INLINE __m128i _mm_cvtepu8_epi32(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx DCBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0D0C 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000D 000C 000B 000A */ ++ return vreinterpretq_m128i_u32(u32x4); ++} ++ ++// Zero extend packed unsigned 8-bit integers in the low 8 bytes of a to packed ++// 64-bit integers, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cvtepu8_epi64 ++FORCE_INLINE __m128i _mm_cvtepu8_epi64(__m128i a) ++{ ++ uint8x16_t u8x16 = vreinterpretq_u8_m128i(a); /* xxxx xxxx xxxx xxBA */ ++ uint16x8_t u16x8 = vmovl_u8(vget_low_u8(u8x16)); /* 0x0x 0x0x 0x0x 0B0A */ ++ uint32x4_t u32x4 = vmovl_u16(vget_low_u16(u16x8)); /* 000x 000x 000B 000A */ ++ uint64x2_t u64x2 = vmovl_u32(vget_low_u32(u32x4)); /* 0000 000B 0000 000A */ ++ return vreinterpretq_m128i_u64(u64x2); ++} ++ ++// Conditionally multiply the packed double-precision (64-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, and ++// conditionally store the sum in dst using the low 4 bits of imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_pd ++FORCE_INLINE __m128d _mm_dp_pd(__m128d a, __m128d b, const int imm) ++{ ++ // Generate mask value from constant immediate bit value ++ const int64_t bit0Mask = imm & 0x01 ? UINT64_MAX : 0; ++ const int64_t bit1Mask = imm & 0x02 ? UINT64_MAX : 0; ++#if !SSE2NEON_PRECISE_DP ++ const int64_t bit4Mask = imm & 0x10 ? UINT64_MAX : 0; ++ const int64_t bit5Mask = imm & 0x20 ? UINT64_MAX : 0; ++#endif ++ // Conditional multiplication ++#if !SSE2NEON_PRECISE_DP ++ __m128d mul = _mm_mul_pd(a, b); ++ const __m128d mulMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit5Mask, bit4Mask)); ++ __m128d tmp = _mm_and_pd(mul, mulMask); ++#else ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double d0 = (imm & 0x10) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 0) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 0) ++ : 0; ++ double d1 = (imm & 0x20) ? vgetq_lane_f64(vreinterpretq_f64_m128d(a), 1) * ++ vgetq_lane_f64(vreinterpretq_f64_m128d(b), 1) ++ : 0; ++#else ++ double d0 = (imm & 0x10) ? ((double *) &a)[0] * ((double *) &b)[0] : 0; ++ double d1 = (imm & 0x20) ? ((double *) &a)[1] * ((double *) &b)[1] : 0; ++#endif ++ __m128d tmp = _mm_set_pd(d1, d0); ++#endif ++ // Sum the products ++#if defined(__aarch64__) || defined(_M_ARM64) ++ double sum = vpaddd_f64(vreinterpretq_f64_m128d(tmp)); ++#else ++ double sum = *((double *) &tmp) + *(((double *) &tmp) + 1); ++#endif ++ // Conditionally store the sum ++ const __m128d sumMask = ++ _mm_castsi128_pd(_mm_set_epi64x(bit1Mask, bit0Mask)); ++ __m128d res = _mm_and_pd(_mm_set_pd1(sum), sumMask); ++ return res; ++} ++ ++// Conditionally multiply the packed single-precision (32-bit) floating-point ++// elements in a and b using the high 4 bits in imm8, sum the four products, ++// and conditionally store the sum in dst using the low 4 bits of imm. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dp_ps ++FORCE_INLINE __m128 _mm_dp_ps(__m128 a, __m128 b, const int imm) ++{ ++ float32x4_t elementwise_prod = _mm_mul_ps(a, b); ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ /* shortcuts */ ++ if (imm == 0xFF) { ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++ ++ if ((imm & 0x0F) == 0x0F) { ++ if (!(imm & (1 << 4))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 0); ++ if (!(imm & (1 << 5))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 1); ++ if (!(imm & (1 << 6))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 2); ++ if (!(imm & (1 << 7))) ++ elementwise_prod = vsetq_lane_f32(0.0f, elementwise_prod, 3); ++ ++ return _mm_set1_ps(vaddvq_f32(elementwise_prod)); ++ } ++#endif ++ ++ float s = 0.0f; ++ ++ if (imm & (1 << 4)) ++ s += vgetq_lane_f32(elementwise_prod, 0); ++ if (imm & (1 << 5)) ++ s += vgetq_lane_f32(elementwise_prod, 1); ++ if (imm & (1 << 6)) ++ s += vgetq_lane_f32(elementwise_prod, 2); ++ if (imm & (1 << 7)) ++ s += vgetq_lane_f32(elementwise_prod, 3); ++ ++ const float32_t res[4] = { ++ (imm & 0x1) ? s : 0.0f, ++ (imm & 0x2) ? s : 0.0f, ++ (imm & 0x4) ? s : 0.0f, ++ (imm & 0x8) ? s : 0.0f, ++ }; ++ return vreinterpretq_m128_f32(vld1q_f32(res)); ++} ++ ++// Extract a 32-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi32 ++// FORCE_INLINE int _mm_extract_epi32(__m128i a, __constrange(0,4) int imm) ++#define _mm_extract_epi32(a, imm) \ ++ vgetq_lane_s32(vreinterpretq_s32_m128i(a), (imm)) ++ ++// Extract a 64-bit integer from a, selected with imm8, and store the result in ++// dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi64 ++// FORCE_INLINE __int64 _mm_extract_epi64(__m128i a, __constrange(0,2) int imm) ++#define _mm_extract_epi64(a, imm) \ ++ vgetq_lane_s64(vreinterpretq_s64_m128i(a), (imm)) ++ ++// Extract an 8-bit integer from a, selected with imm8, and store the result in ++// the lower element of dst. FORCE_INLINE int _mm_extract_epi8(__m128i a, ++// __constrange(0,16) int imm) ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_extract_epi8 ++#define _mm_extract_epi8(a, imm) vgetq_lane_u8(vreinterpretq_u8_m128i(a), (imm)) ++ ++// Extracts the selected single-precision (32-bit) floating-point from a. ++// FORCE_INLINE int _mm_extract_ps(__m128 a, __constrange(0,4) int imm) ++#define _mm_extract_ps(a, imm) vgetq_lane_s32(vreinterpretq_s32_m128(a), (imm)) ++ ++// Round the packed double-precision (64-bit) floating-point elements in a down ++// to an integer value, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_pd ++FORCE_INLINE __m128d _mm_floor_pd(__m128d a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128d_f64(vrndmq_f64(vreinterpretq_f64_m128d(a))); ++#else ++ double *f = (double *) &a; ++ return _mm_set_pd(floor(f[1]), floor(f[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a down ++// to an integer value, and store the results as packed single-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ps ++FORCE_INLINE __m128 _mm_floor_ps(__m128 a) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ return vreinterpretq_m128_f32(vrndmq_f32(vreinterpretq_f32_m128(a))); ++#else ++ float *f = (float *) &a; ++ return _mm_set_ps(floorf(f[3]), floorf(f[2]), floorf(f[1]), floorf(f[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b down to ++// an integer value, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_sd ++FORCE_INLINE __m128d _mm_floor_sd(__m128d a, __m128d b) ++{ ++ return _mm_move_sd(a, _mm_floor_pd(b)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b down to ++// an integer value, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_floor_ss ++FORCE_INLINE __m128 _mm_floor_ss(__m128 a, __m128 b) ++{ ++ return _mm_move_ss(a, _mm_floor_ps(b)); ++} ++ ++// Copy a to dst, and insert the 32-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi32 ++// FORCE_INLINE __m128i _mm_insert_epi32(__m128i a, int b, ++// __constrange(0,4) int imm) ++#define _mm_insert_epi32(a, b, imm) \ ++ vreinterpretq_m128i_s32( \ ++ vsetq_lane_s32((b), vreinterpretq_s32_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the 64-bit integer i into dst at the location ++// specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi64 ++// FORCE_INLINE __m128i _mm_insert_epi64(__m128i a, __int64 b, ++// __constrange(0,2) int imm) ++#define _mm_insert_epi64(a, b, imm) \ ++ vreinterpretq_m128i_s64( \ ++ vsetq_lane_s64((b), vreinterpretq_s64_m128i(a), (imm))) ++ ++// Copy a to dst, and insert the lower 8-bit integer from i into dst at the ++// location specified by imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_insert_epi8 ++// FORCE_INLINE __m128i _mm_insert_epi8(__m128i a, int b, ++// __constrange(0,16) int imm) ++#define _mm_insert_epi8(a, b, imm) \ ++ vreinterpretq_m128i_s8(vsetq_lane_s8((b), vreinterpretq_s8_m128i(a), (imm))) ++ ++// Copy a to tmp, then insert a single-precision (32-bit) floating-point ++// element from b into tmp using the control in imm8. Store tmp to dst using ++// the mask in imm8 (elements are zeroed out when the corresponding bit is set). ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=insert_ps ++#define _mm_insert_ps(a, b, imm8) \ ++ _sse2neon_define2( \ ++ __m128, a, b, \ ++ float32x4_t tmp1 = \ ++ vsetq_lane_f32(vgetq_lane_f32(_b, (imm8 >> 6) & 0x3), \ ++ vreinterpretq_f32_m128(_a), 0); \ ++ float32x4_t tmp2 = \ ++ vsetq_lane_f32(vgetq_lane_f32(tmp1, 0), \ ++ vreinterpretq_f32_m128(_a), ((imm8 >> 4) & 0x3)); \ ++ const uint32_t data[4] = \ ++ _sse2neon_init(((imm8) & (1 << 0)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 1)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 2)) ? UINT32_MAX : 0, \ ++ ((imm8) & (1 << 3)) ? UINT32_MAX : 0); \ ++ uint32x4_t mask = vld1q_u32(data); \ ++ float32x4_t all_zeros = vdupq_n_f32(0); \ ++ \ ++ _sse2neon_return(vreinterpretq_m128_f32( \ ++ vbslq_f32(mask, all_zeros, vreinterpretq_f32_m128(tmp2))));) ++ ++// Compare packed signed 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi32 ++FORCE_INLINE __m128i _mm_max_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmaxq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epi8 ++FORCE_INLINE __m128i _mm_max_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vmaxq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu16 ++FORCE_INLINE __m128i _mm_max_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vmaxq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed maximum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_max_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vmaxq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Compare packed signed 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi32 ++FORCE_INLINE __m128i _mm_min_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vminq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Compare packed signed 8-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epi8 ++FORCE_INLINE __m128i _mm_min_epi8(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s8( ++ vminq_s8(vreinterpretq_s8_m128i(a), vreinterpretq_s8_m128i(b))); ++} ++ ++// Compare packed unsigned 16-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_min_epu16 ++FORCE_INLINE __m128i _mm_min_epu16(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vminq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b))); ++} ++ ++// Compare packed unsigned 32-bit integers in a and b, and store packed minimum ++// values in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_max_epu32 ++FORCE_INLINE __m128i _mm_min_epu32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u32( ++ vminq_u32(vreinterpretq_u32_m128i(a), vreinterpretq_u32_m128i(b))); ++} ++ ++// Horizontally compute the minimum amongst the packed unsigned 16-bit integers ++// in a, store the minimum and index in dst, and zero the remaining bits in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_minpos_epu16 ++FORCE_INLINE __m128i _mm_minpos_epu16(__m128i a) ++{ ++ __m128i dst; ++ uint16_t min, idx = 0; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // Find the minimum value ++ min = vminvq_u16(vreinterpretq_u16_m128i(a)); ++ ++ // Get the index of the minimum value ++ static const uint16_t idxv[] = {0, 1, 2, 3, 4, 5, 6, 7}; ++ uint16x8_t minv = vdupq_n_u16(min); ++ uint16x8_t cmeq = vceqq_u16(minv, vreinterpretq_u16_m128i(a)); ++ idx = vminvq_u16(vornq_u16(vld1q_u16(idxv), cmeq)); ++#else ++ // Find the minimum value ++ __m64 tmp; ++ tmp = vreinterpret_m64_u16( ++ vmin_u16(vget_low_u16(vreinterpretq_u16_m128i(a)), ++ vget_high_u16(vreinterpretq_u16_m128i(a)))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ tmp = vreinterpret_m64_u16( ++ vpmin_u16(vreinterpret_u16_m64(tmp), vreinterpret_u16_m64(tmp))); ++ min = vget_lane_u16(vreinterpret_u16_m64(tmp), 0); ++ // Get the index of the minimum value ++ int i; ++ for (i = 0; i < 8; i++) { ++ if (min == vgetq_lane_u16(vreinterpretq_u16_m128i(a), 0)) { ++ idx = (uint16_t) i; ++ break; ++ } ++ a = _mm_srli_si128(a, 2); ++ } ++#endif ++ // Generate result ++ dst = _mm_setzero_si128(); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(min, vreinterpretq_u16_m128i(dst), 0)); ++ dst = vreinterpretq_m128i_u16( ++ vsetq_lane_u16(idx, vreinterpretq_u16_m128i(dst), 1)); ++ return dst; ++} ++ ++// Compute the sum of absolute differences (SADs) of quadruplets of unsigned ++// 8-bit integers in a compared to those in b, and store the 16-bit results in ++// dst. Eight SADs are performed using one quadruplet from b and eight ++// quadruplets from a. One quadruplet is selected from b starting at on the ++// offset specified in imm8. Eight quadruplets are formed from sequential 8-bit ++// integers selected from a starting at the offset specified in imm8. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mpsadbw_epu8 ++FORCE_INLINE __m128i _mm_mpsadbw_epu8(__m128i a, __m128i b, const int imm) ++{ ++ uint8x16_t _a, _b; ++ ++ switch (imm & 0x4) { ++ case 0: ++ // do nothing ++ _a = vreinterpretq_u8_m128i(a); ++ break; ++ case 4: ++ _a = vreinterpretq_u8_u32(vextq_u32(vreinterpretq_u32_m128i(a), ++ vreinterpretq_u32_m128i(a), 1)); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ switch (imm & 0x3) { ++ case 0: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 0))); ++ break; ++ case 1: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 1))); ++ break; ++ case 2: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 2))); ++ break; ++ case 3: ++ _b = vreinterpretq_u8_u32( ++ vdupq_n_u32(vgetq_lane_u32(vreinterpretq_u32_m128i(b), 3))); ++ break; ++ default: ++#if defined(__GNUC__) || defined(__clang__) ++ __builtin_unreachable(); ++#elif defined(_MSC_VER) ++ __assume(0); ++#endif ++ break; ++ } ++ ++ int16x8_t c04, c15, c26, c37; ++ uint8x8_t low_b = vget_low_u8(_b); ++ c04 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a), low_b)); ++ uint8x16_t _a_1 = vextq_u8(_a, _a, 1); ++ c15 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_1), low_b)); ++ uint8x16_t _a_2 = vextq_u8(_a, _a, 2); ++ c26 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_2), low_b)); ++ uint8x16_t _a_3 = vextq_u8(_a, _a, 3); ++ c37 = vreinterpretq_s16_u16(vabdl_u8(vget_low_u8(_a_3), low_b)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ // |0|4|2|6| ++ c04 = vpaddq_s16(c04, c26); ++ // |1|5|3|7| ++ c15 = vpaddq_s16(c15, c37); ++ ++ int32x4_t trn1_c = ++ vtrn1q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ int32x4_t trn2_c = ++ vtrn2q_s32(vreinterpretq_s32_s16(c04), vreinterpretq_s32_s16(c15)); ++ return vreinterpretq_m128i_s16(vpaddq_s16(vreinterpretq_s16_s32(trn1_c), ++ vreinterpretq_s16_s32(trn2_c))); ++#else ++ int16x4_t c01, c23, c45, c67; ++ c01 = vpadd_s16(vget_low_s16(c04), vget_low_s16(c15)); ++ c23 = vpadd_s16(vget_low_s16(c26), vget_low_s16(c37)); ++ c45 = vpadd_s16(vget_high_s16(c04), vget_high_s16(c15)); ++ c67 = vpadd_s16(vget_high_s16(c26), vget_high_s16(c37)); ++ ++ return vreinterpretq_m128i_s16( ++ vcombine_s16(vpadd_s16(c01, c23), vpadd_s16(c45, c67))); ++#endif ++} ++ ++// Multiply the low signed 32-bit integers from each packed 64-bit element in ++// a and b, and store the signed 64-bit results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mul_epi32 ++FORCE_INLINE __m128i _mm_mul_epi32(__m128i a, __m128i b) ++{ ++ // vmull_s32 upcasts instead of masking, so we downcast. ++ int32x2_t a_lo = vmovn_s64(vreinterpretq_s64_m128i(a)); ++ int32x2_t b_lo = vmovn_s64(vreinterpretq_s64_m128i(b)); ++ return vreinterpretq_m128i_s64(vmull_s32(a_lo, b_lo)); ++} ++ ++// Multiply the packed 32-bit integers in a and b, producing intermediate 64-bit ++// integers, and store the low 32 bits of the intermediate integers in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_mullo_epi32 ++FORCE_INLINE __m128i _mm_mullo_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_s32( ++ vmulq_s32(vreinterpretq_s32_m128i(a), vreinterpretq_s32_m128i(b))); ++} ++ ++// Convert packed signed 32-bit integers from a and b to packed 16-bit integers ++// using unsigned saturation, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_packus_epi32 ++FORCE_INLINE __m128i _mm_packus_epi32(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u16( ++ vcombine_u16(vqmovun_s32(vreinterpretq_s32_m128i(a)), ++ vqmovun_s32(vreinterpretq_s32_m128i(b)))); ++} ++ ++// Round the packed double-precision (64-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed double-precision ++// floating-point elements in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_pd ++FORCE_INLINE_OPTNONE __m128d _mm_round_pd(__m128d a, int rounding) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndnq_f64(vreinterpretq_f64_m128d(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_pd(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_pd(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128d_f64(vrndq_f64(vreinterpretq_f64_m128d(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128d_f64(vrndiq_f64(vreinterpretq_f64_m128d(a))); ++ } ++#else ++ double *v_double = (double *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ double res[2], tmp; ++ for (int i = 0; i < 2; i++) { ++ tmp = (v_double[i] < 0) ? -v_double[i] : v_double[i]; ++ double roundDown = floor(tmp); // Round down value ++ double roundUp = ceil(tmp); // Round up value ++ double diffDown = tmp - roundDown; ++ double diffUp = roundUp - tmp; ++ if (diffDown < diffUp) { ++ /* If it's closer to the round down value, then use it */ ++ res[i] = roundDown; ++ } else if (diffDown > diffUp) { ++ /* If it's closer to the round up value, then use it */ ++ res[i] = roundUp; ++ } else { ++ /* If it's equidistant between round up and round down value, ++ * pick the one which is an even number */ ++ double half = roundDown / 2; ++ if (half != floor(half)) { ++ /* If the round down value is odd, return the round up value ++ */ ++ res[i] = roundUp; ++ } else { ++ /* If the round up value is odd, return the round down value ++ */ ++ res[i] = roundDown; ++ } ++ } ++ res[i] = (v_double[i] < 0) ? -res[i] : res[i]; ++ } ++ return _mm_set_pd(res[1], res[0]); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_pd(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_pd(a); ++ } ++ return _mm_set_pd(v_double[1] > 0 ? floor(v_double[1]) : ceil(v_double[1]), ++ v_double[0] > 0 ? floor(v_double[0]) : ceil(v_double[0])); ++#endif ++} ++ ++// Round the packed single-precision (32-bit) floating-point elements in a using ++// the rounding parameter, and store the results as packed single-precision ++// floating-point elements in dst. ++// software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_round_ps ++FORCE_INLINE_OPTNONE __m128 _mm_round_ps(__m128 a, int rounding) ++{ ++#if (defined(__aarch64__) || defined(_M_ARM64)) || \ ++ defined(__ARM_FEATURE_DIRECTED_ROUNDING) ++ switch (rounding) { ++ case (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndnq_f32(vreinterpretq_f32_m128(a))); ++ case (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC): ++ return _mm_floor_ps(a); ++ case (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC): ++ return _mm_ceil_ps(a); ++ case (_MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC): ++ return vreinterpretq_m128_f32(vrndq_f32(vreinterpretq_f32_m128(a))); ++ default: //_MM_FROUND_CUR_DIRECTION ++ return vreinterpretq_m128_f32(vrndiq_f32(vreinterpretq_f32_m128(a))); ++ } ++#else ++ float *v_float = (float *) &a; ++ ++ if (rounding == (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_NEAREST)) { ++ uint32x4_t signmask = vdupq_n_u32(0x80000000); ++ float32x4_t half = vbslq_f32(signmask, vreinterpretq_f32_m128(a), ++ vdupq_n_f32(0.5f)); /* +/- 0.5 */ ++ int32x4_t r_normal = vcvtq_s32_f32(vaddq_f32( ++ vreinterpretq_f32_m128(a), half)); /* round to integer: [a + 0.5]*/ ++ int32x4_t r_trunc = vcvtq_s32_f32( ++ vreinterpretq_f32_m128(a)); /* truncate to integer: [a] */ ++ int32x4_t plusone = vreinterpretq_s32_u32(vshrq_n_u32( ++ vreinterpretq_u32_s32(vnegq_s32(r_trunc)), 31)); /* 1 or 0 */ ++ int32x4_t r_even = vbicq_s32(vaddq_s32(r_trunc, plusone), ++ vdupq_n_s32(1)); /* ([a] + {0,1}) & ~1 */ ++ float32x4_t delta = vsubq_f32( ++ vreinterpretq_f32_m128(a), ++ vcvtq_f32_s32(r_trunc)); /* compute delta: delta = (a - [a]) */ ++ uint32x4_t is_delta_half = ++ vceqq_f32(delta, half); /* delta == +/- 0.5 */ ++ return vreinterpretq_m128_f32( ++ vcvtq_f32_s32(vbslq_s32(is_delta_half, r_even, r_normal))); ++ } else if (rounding == (_MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_DOWN)) { ++ return _mm_floor_ps(a); ++ } else if (rounding == (_MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) || ++ (rounding == _MM_FROUND_CUR_DIRECTION && ++ _MM_GET_ROUNDING_MODE() == _MM_ROUND_UP)) { ++ return _mm_ceil_ps(a); ++ } ++ return _mm_set_ps(v_float[3] > 0 ? floorf(v_float[3]) : ceilf(v_float[3]), ++ v_float[2] > 0 ? floorf(v_float[2]) : ceilf(v_float[2]), ++ v_float[1] > 0 ? floorf(v_float[1]) : ceilf(v_float[1]), ++ v_float[0] > 0 ? floorf(v_float[0]) : ceilf(v_float[0])); ++#endif ++} ++ ++// Round the lower double-precision (64-bit) floating-point element in b using ++// the rounding parameter, store the result as a double-precision floating-point ++// element in the lower element of dst, and copy the upper element from a to the ++// upper element of dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_sd ++FORCE_INLINE __m128d _mm_round_sd(__m128d a, __m128d b, int rounding) ++{ ++ return _mm_move_sd(a, _mm_round_pd(b, rounding)); ++} ++ ++// Round the lower single-precision (32-bit) floating-point element in b using ++// the rounding parameter, store the result as a single-precision floating-point ++// element in the lower element of dst, and copy the upper 3 packed elements ++// from a to the upper elements of dst. Rounding is done according to the ++// rounding[3:0] parameter, which can be one of: ++// (_MM_FROUND_TO_NEAREST_INT |_MM_FROUND_NO_EXC) // round to nearest, and ++// suppress exceptions ++// (_MM_FROUND_TO_NEG_INF |_MM_FROUND_NO_EXC) // round down, and ++// suppress exceptions ++// (_MM_FROUND_TO_POS_INF |_MM_FROUND_NO_EXC) // round up, and suppress ++// exceptions ++// (_MM_FROUND_TO_ZERO |_MM_FROUND_NO_EXC) // truncate, and suppress ++// exceptions _MM_FROUND_CUR_DIRECTION // use MXCSR.RC; see ++// _MM_SET_ROUNDING_MODE ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_round_ss ++FORCE_INLINE __m128 _mm_round_ss(__m128 a, __m128 b, int rounding) ++{ ++ return _mm_move_ss(a, _mm_round_ps(b, rounding)); ++} ++ ++// Load 128-bits of integer data from memory into dst using a non-temporal ++// memory hint. mem_addr must be aligned on a 16-byte boundary or a ++// general-protection exception may be generated. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_stream_load_si128 ++FORCE_INLINE __m128i _mm_stream_load_si128(__m128i *p) ++{ ++#if __has_builtin(__builtin_nontemporal_store) ++ return __builtin_nontemporal_load(p); ++#else ++ return vreinterpretq_m128i_s64(vld1q_s64((int64_t *) p)); ++#endif ++} ++ ++// Compute the bitwise NOT of a and then AND with a 128-bit vector containing ++// all 1's, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_ones ++FORCE_INLINE int _mm_test_all_ones(__m128i a) ++{ ++ return (uint64_t) (vgetq_lane_s64(a, 0) & vgetq_lane_s64(a, 1)) == ++ ~(uint64_t) 0; ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and return 1 if the result is zero, otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_test_all_zeros ++FORCE_INLINE int _mm_test_all_zeros(__m128i a, __m128i mask) ++{ ++ int64x2_t a_and_mask = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(mask)); ++ return !(vgetq_lane_s64(a_and_mask, 0) | vgetq_lane_s64(a_and_mask, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and ++// mask, and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute ++// the bitwise NOT of a and then AND with mask, and set CF to 1 if the result is ++// zero, otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=mm_test_mix_ones_zero ++// Note: Argument names may be wrong in the Intel intrinsics guide. ++FORCE_INLINE int _mm_test_mix_ones_zeros(__m128i a, __m128i mask) ++{ ++ uint64x2_t v = vreinterpretq_u64_m128i(a); ++ uint64x2_t m = vreinterpretq_u64_m128i(mask); ++ ++ // find ones (set-bits) and zeros (clear-bits) under clip mask ++ uint64x2_t ones = vandq_u64(m, v); ++ uint64x2_t zeros = vbicq_u64(m, v); ++ ++ // If both 128-bit variables are populated (non-zero) then return 1. ++ // For comparison purposes, first compact each var down to 32-bits. ++ uint32x2_t reduced = vpmax_u32(vqmovn_u64(ones), vqmovn_u64(zeros)); ++ ++ // if folding minimum is non-zero then both vars must be non-zero ++ return (vget_lane_u32(vpmin_u32(reduced, reduced), 0) != 0); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the CF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testc_si128 ++FORCE_INLINE int _mm_testc_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vbicq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return 1 if both the ZF and CF values are zero, ++// otherwise return 0. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testnzc_si128 ++#define _mm_testnzc_si128(a, b) _mm_test_mix_ones_zeros(a, b) ++ ++// Compute the bitwise AND of 128 bits (representing integer data) in a and b, ++// and set ZF to 1 if the result is zero, otherwise set ZF to 0. Compute the ++// bitwise NOT of a and then AND with b, and set CF to 1 if the result is zero, ++// otherwise set CF to 0. Return the ZF value. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_testz_si128 ++FORCE_INLINE int _mm_testz_si128(__m128i a, __m128i b) ++{ ++ int64x2_t s64 = ++ vandq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b)); ++ return !(vgetq_lane_s64(s64, 0) | vgetq_lane_s64(s64, 1)); ++} ++ ++/* SSE4.2 */ ++ ++static const uint16_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask16b[8] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++static const uint8_t ALIGN_STRUCT(16) _sse2neon_cmpestr_mask8b[16] = { ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, ++}; ++ ++/* specify the source data format */ ++#define _SIDD_UBYTE_OPS 0x00 /* unsigned 8-bit characters */ ++#define _SIDD_UWORD_OPS 0x01 /* unsigned 16-bit characters */ ++#define _SIDD_SBYTE_OPS 0x02 /* signed 8-bit characters */ ++#define _SIDD_SWORD_OPS 0x03 /* signed 16-bit characters */ ++ ++/* specify the comparison operation */ ++#define _SIDD_CMP_EQUAL_ANY 0x00 /* compare equal any: strchr */ ++#define _SIDD_CMP_RANGES 0x04 /* compare ranges */ ++#define _SIDD_CMP_EQUAL_EACH 0x08 /* compare equal each: strcmp */ ++#define _SIDD_CMP_EQUAL_ORDERED 0x0C /* compare equal ordered */ ++ ++/* specify the polarity */ ++#define _SIDD_POSITIVE_POLARITY 0x00 ++#define _SIDD_MASKED_POSITIVE_POLARITY 0x20 ++#define _SIDD_NEGATIVE_POLARITY 0x10 /* negate results */ ++#define _SIDD_MASKED_NEGATIVE_POLARITY \ ++ 0x30 /* negate results only before end of string */ ++ ++/* specify the output selection in _mm_cmpXstri */ ++#define _SIDD_LEAST_SIGNIFICANT 0x00 ++#define _SIDD_MOST_SIGNIFICANT 0x40 ++ ++/* specify the output selection in _mm_cmpXstrm */ ++#define _SIDD_BIT_MASK 0x00 ++#define _SIDD_UNIT_MASK 0x40 ++ ++/* Pattern Matching for C macros. ++ * https://github.com/pfultz2/Cloak/wiki/C-Preprocessor-tricks,-tips,-and-idioms ++ */ ++ ++/* catenate */ ++#define SSE2NEON_PRIMITIVE_CAT(a, ...) a##__VA_ARGS__ ++#define SSE2NEON_CAT(a, b) SSE2NEON_PRIMITIVE_CAT(a, b) ++ ++#define SSE2NEON_IIF(c) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_IIF_, c) ++/* run the 2nd parameter */ ++#define SSE2NEON_IIF_0(t, ...) __VA_ARGS__ ++/* run the 1st parameter */ ++#define SSE2NEON_IIF_1(t, ...) t ++ ++#define SSE2NEON_COMPL(b) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_COMPL_, b) ++#define SSE2NEON_COMPL_0 1 ++#define SSE2NEON_COMPL_1 0 ++ ++#define SSE2NEON_DEC(x) SSE2NEON_PRIMITIVE_CAT(SSE2NEON_DEC_, x) ++#define SSE2NEON_DEC_1 0 ++#define SSE2NEON_DEC_2 1 ++#define SSE2NEON_DEC_3 2 ++#define SSE2NEON_DEC_4 3 ++#define SSE2NEON_DEC_5 4 ++#define SSE2NEON_DEC_6 5 ++#define SSE2NEON_DEC_7 6 ++#define SSE2NEON_DEC_8 7 ++#define SSE2NEON_DEC_9 8 ++#define SSE2NEON_DEC_10 9 ++#define SSE2NEON_DEC_11 10 ++#define SSE2NEON_DEC_12 11 ++#define SSE2NEON_DEC_13 12 ++#define SSE2NEON_DEC_14 13 ++#define SSE2NEON_DEC_15 14 ++#define SSE2NEON_DEC_16 15 ++ ++/* detection */ ++#define SSE2NEON_CHECK_N(x, n, ...) n ++#define SSE2NEON_CHECK(...) SSE2NEON_CHECK_N(__VA_ARGS__, 0, ) ++#define SSE2NEON_PROBE(x) x, 1, ++ ++#define SSE2NEON_NOT(x) SSE2NEON_CHECK(SSE2NEON_PRIMITIVE_CAT(SSE2NEON_NOT_, x)) ++#define SSE2NEON_NOT_0 SSE2NEON_PROBE(~) ++ ++#define SSE2NEON_BOOL(x) SSE2NEON_COMPL(SSE2NEON_NOT(x)) ++#define SSE2NEON_IF(c) SSE2NEON_IIF(SSE2NEON_BOOL(c)) ++ ++#define SSE2NEON_EAT(...) ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++#define SSE2NEON_WHEN(c) SSE2NEON_IF(c)(SSE2NEON_EXPAND, SSE2NEON_EAT) ++ ++/* recursion */ ++/* deferred expression */ ++#define SSE2NEON_EMPTY() ++#define SSE2NEON_DEFER(id) id SSE2NEON_EMPTY() ++#define SSE2NEON_OBSTRUCT(...) __VA_ARGS__ SSE2NEON_DEFER(SSE2NEON_EMPTY)() ++#define SSE2NEON_EXPAND(...) __VA_ARGS__ ++ ++#define SSE2NEON_EVAL(...) \ ++ SSE2NEON_EVAL1(SSE2NEON_EVAL1(SSE2NEON_EVAL1(__VA_ARGS__))) ++#define SSE2NEON_EVAL1(...) \ ++ SSE2NEON_EVAL2(SSE2NEON_EVAL2(SSE2NEON_EVAL2(__VA_ARGS__))) ++#define SSE2NEON_EVAL2(...) \ ++ SSE2NEON_EVAL3(SSE2NEON_EVAL3(SSE2NEON_EVAL3(__VA_ARGS__))) ++#define SSE2NEON_EVAL3(...) __VA_ARGS__ ++ ++#define SSE2NEON_REPEAT(count, macro, ...) \ ++ SSE2NEON_WHEN(count) \ ++ (SSE2NEON_OBSTRUCT(SSE2NEON_REPEAT_INDIRECT)()( \ ++ SSE2NEON_DEC(count), macro, \ ++ __VA_ARGS__) SSE2NEON_OBSTRUCT(macro)(SSE2NEON_DEC(count), \ ++ __VA_ARGS__)) ++#define SSE2NEON_REPEAT_INDIRECT() SSE2NEON_REPEAT ++ ++#define SSE2NEON_SIZE_OF_byte 8 ++#define SSE2NEON_NUMBER_OF_LANES_byte 16 ++#define SSE2NEON_SIZE_OF_word 16 ++#define SSE2NEON_NUMBER_OF_LANES_word 8 ++ ++#define SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE(i, type) \ ++ mtx[i] = vreinterpretq_m128i_##type(vceqq_##type( \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)), \ ++ vreinterpretq_##type##_m128i(a))); ++ ++#define SSE2NEON_FILL_LANE(i, type) \ ++ vec_b[i] = \ ++ vdupq_n_##type(vgetq_lane_##type(vreinterpretq_##type##_m128i(b), i)); ++ ++#define PCMPSTR_RANGES(a, b, mtx, data_type_prefix, type_prefix, size, \ ++ number_of_lanes, byte_or_word) \ ++ do { \ ++ SSE2NEON_CAT( \ ++ data_type_prefix, \ ++ SSE2NEON_CAT(size, \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(number_of_lanes, _t)))) \ ++ vec_b[number_of_lanes]; \ ++ __m128i mask = SSE2NEON_IIF(byte_or_word)( \ ++ vreinterpretq_m128i_u16(vdupq_n_u16(0xff)), \ ++ vreinterpretq_m128i_u32(vdupq_n_u32(0xffff))); \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, SSE2NEON_FILL_LANE, \ ++ SSE2NEON_CAT(type_prefix, size))) \ ++ for (int i = 0; i < number_of_lanes; i++) { \ ++ mtx[i] = SSE2NEON_CAT(vreinterpretq_m128i_u, \ ++ size)(SSE2NEON_CAT(vbslq_u, size)( \ ++ SSE2NEON_CAT(vreinterpretq_u, \ ++ SSE2NEON_CAT(size, _m128i))(mask), \ ++ SSE2NEON_CAT(vcgeq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))), \ ++ SSE2NEON_CAT(vcleq_, SSE2NEON_CAT(type_prefix, size))( \ ++ vec_b[i], \ ++ SSE2NEON_CAT( \ ++ vreinterpretq_, \ ++ SSE2NEON_CAT(type_prefix, \ ++ SSE2NEON_CAT(size, _m128i(a))))))); \ ++ } \ ++ } while (0) ++ ++#define PCMPSTR_EQ(a, b, mtx, size, number_of_lanes) \ ++ do { \ ++ SSE2NEON_EVAL(SSE2NEON_REPEAT(number_of_lanes, \ ++ SSE2NEON_COMPARE_EQUAL_THEN_FILL_LANE, \ ++ SSE2NEON_CAT(u, size))) \ ++ } while (0) ++ ++#define SSE2NEON_CMP_EQUAL_ANY_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_any(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_any_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_RANGES_IMPL(type, data_type, us, byte_or_word) \ ++ static int _sse2neon_cmp_##us##type##_ranges(__m128i a, int la, __m128i b, \ ++ int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_RANGES( \ ++ a, b, mtx, data_type, us, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), byte_or_word); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_ranges_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, \ ++ type))))(la, lb, mtx); \ ++ } ++ ++#define SSE2NEON_CMP_EQUAL_ORDERED_IMPL(type) \ ++ static int _sse2neon_cmp_##type##_equal_ordered(__m128i a, int la, \ ++ __m128i b, int lb) \ ++ { \ ++ __m128i mtx[16]; \ ++ PCMPSTR_EQ(a, b, mtx, SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type)); \ ++ return SSE2NEON_CAT( \ ++ _sse2neon_aggregate_equal_ordered_, \ ++ SSE2NEON_CAT( \ ++ SSE2NEON_CAT(SSE2NEON_SIZE_OF_, type), \ ++ SSE2NEON_CAT(x, \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type))))( \ ++ SSE2NEON_CAT(SSE2NEON_NUMBER_OF_LANES_, type), la, lb, mtx); \ ++ } ++ ++static int _sse2neon_aggregate_equal_any_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ int tmp = _sse2neon_vaddvq_u8(vreinterpretq_u8_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_equal_any_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ int tmp = _sse2neon_vaddvq_u16(vreinterpretq_u16_m128i(mtx[j])) ? 1 : 0; ++ res |= (tmp << j); ++ } ++ return res; ++} ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ANY(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ANY(SSE2NEON_CMP_EQUAL_ANY_) ++ ++static int _sse2neon_aggregate_ranges_16x8(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint16x8_t vec = ++ vtstq_u16(vdupq_n_u16(m), vld1q_u16(_sse2neon_cmpestr_mask16b)); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u16( ++ vandq_u16(vec, vreinterpretq_u16_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 15)); ++ __m128i tmp = vreinterpretq_m128i_u32( ++ vshrq_n_u32(vreinterpretq_u32_m128i(mtx[j]), 16)); ++ uint32x4_t vec_res = vandq_u32(vreinterpretq_u32_m128i(mtx[j]), ++ vreinterpretq_u32_m128i(tmp)); ++#if defined(__aarch64__) || defined(_M_ARM64) ++ int t = vaddvq_u32(vec_res) ? 1 : 0; ++#else ++ uint64x2_t sumh = vpaddlq_u32(vec_res); ++ int t = vgetq_lane_u64(sumh, 0) + vgetq_lane_u64(sumh, 1); ++#endif ++ res |= (t << j); ++ } ++ return res; ++} ++ ++static int _sse2neon_aggregate_ranges_8x16(int la, int lb, __m128i mtx[16]) ++{ ++ int res = 0; ++ int m = (1 << la) - 1; ++ uint8x8_t vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ uint8x8_t t_lo = vtst_u8(vdup_n_u8(m & 0xff), vec_mask); ++ uint8x8_t t_hi = vtst_u8(vdup_n_u8(m >> 8), vec_mask); ++ uint8x16_t vec = vcombine_u8(t_lo, t_hi); ++ for (int j = 0; j < lb; j++) { ++ mtx[j] = vreinterpretq_m128i_u8( ++ vandq_u8(vec, vreinterpretq_u8_m128i(mtx[j]))); ++ mtx[j] = vreinterpretq_m128i_u8( ++ vshrq_n_u8(vreinterpretq_u8_m128i(mtx[j]), 7)); ++ __m128i tmp = vreinterpretq_m128i_u16( ++ vshrq_n_u16(vreinterpretq_u16_m128i(mtx[j]), 8)); ++ uint16x8_t vec_res = vandq_u16(vreinterpretq_u16_m128i(mtx[j]), ++ vreinterpretq_u16_m128i(tmp)); ++ int t = _sse2neon_vaddvq_u16(vec_res) ? 1 : 0; ++ res |= (t << j); ++ } ++ return res; ++} ++ ++#define SSE2NEON_CMP_RANGES_IS_BYTE 1 ++#define SSE2NEON_CMP_RANGES_IS_WORD 0 ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_RANGES(prefix) \ ++ prefix##IMPL(byte, uint, u, prefix##IS_BYTE) \ ++ prefix##IMPL(byte, int, s, prefix##IS_BYTE) \ ++ prefix##IMPL(word, uint, u, prefix##IS_WORD) \ ++ prefix##IMPL(word, int, s, prefix##IS_WORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_RANGES(SSE2NEON_CMP_RANGES_) ++ ++#undef SSE2NEON_CMP_RANGES_IS_BYTE ++#undef SSE2NEON_CMP_RANGES_IS_WORD ++ ++static int _sse2neon_cmp_byte_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint8x16_t mtx = ++ vceqq_u8(vreinterpretq_u8_m128i(a), vreinterpretq_u8_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x10000 - (1 << la); ++ int tb = 0x10000 - (1 << lb); ++ uint8x8_t vec_mask, vec0_lo, vec0_hi, vec1_lo, vec1_hi; ++ uint8x8_t tmp_lo, tmp_hi, res_lo, res_hi; ++ vec_mask = vld1_u8(_sse2neon_cmpestr_mask8b); ++ vec0_lo = vtst_u8(vdup_n_u8(m0), vec_mask); ++ vec0_hi = vtst_u8(vdup_n_u8(m0 >> 8), vec_mask); ++ vec1_lo = vtst_u8(vdup_n_u8(m1), vec_mask); ++ vec1_hi = vtst_u8(vdup_n_u8(m1 >> 8), vec_mask); ++ tmp_lo = vtst_u8(vdup_n_u8(tb), vec_mask); ++ tmp_hi = vtst_u8(vdup_n_u8(tb >> 8), vec_mask); ++ ++ res_lo = vbsl_u8(vec0_lo, vdup_n_u8(0), vget_low_u8(mtx)); ++ res_hi = vbsl_u8(vec0_hi, vdup_n_u8(0), vget_high_u8(mtx)); ++ res_lo = vbsl_u8(vec1_lo, tmp_lo, res_lo); ++ res_hi = vbsl_u8(vec1_hi, tmp_hi, res_hi); ++ res_lo = vand_u8(res_lo, vec_mask); ++ res_hi = vand_u8(res_hi, vec_mask); ++ ++ int res = _sse2neon_vaddv_u8(res_lo) + (_sse2neon_vaddv_u8(res_hi) << 8); ++ return res; ++} ++ ++static int _sse2neon_cmp_word_equal_each(__m128i a, int la, __m128i b, int lb) ++{ ++ uint16x8_t mtx = ++ vceqq_u16(vreinterpretq_u16_m128i(a), vreinterpretq_u16_m128i(b)); ++ int m0 = (la < lb) ? 0 : ((1 << la) - (1 << lb)); ++ int m1 = 0x100 - (1 << la); ++ int tb = 0x100 - (1 << lb); ++ uint16x8_t vec_mask = vld1q_u16(_sse2neon_cmpestr_mask16b); ++ uint16x8_t vec0 = vtstq_u16(vdupq_n_u16(m0), vec_mask); ++ uint16x8_t vec1 = vtstq_u16(vdupq_n_u16(m1), vec_mask); ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(tb), vec_mask); ++ mtx = vbslq_u16(vec0, vdupq_n_u16(0), mtx); ++ mtx = vbslq_u16(vec1, tmp, mtx); ++ mtx = vandq_u16(mtx, vec_mask); ++ return _sse2neon_vaddvq_u16(mtx); ++} ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE 1 ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD 0 ++ ++#define SSE2NEON_AGGREGATE_EQUAL_ORDER_IMPL(size, number_of_lanes, data_type) \ ++ static int _sse2neon_aggregate_equal_ordered_##size##x##number_of_lanes( \ ++ int bound, int la, int lb, __m128i mtx[16]) \ ++ { \ ++ int res = 0; \ ++ int m1 = SSE2NEON_IIF(data_type)(0x10000, 0x100) - (1 << la); \ ++ uint##size##x8_t vec_mask = SSE2NEON_IIF(data_type)( \ ++ vld1_u##size(_sse2neon_cmpestr_mask##size##b), \ ++ vld1q_u##size(_sse2neon_cmpestr_mask##size##b)); \ ++ uint##size##x##number_of_lanes##_t vec1 = SSE2NEON_IIF(data_type)( \ ++ vcombine_u##size(vtst_u##size(vdup_n_u##size(m1), vec_mask), \ ++ vtst_u##size(vdup_n_u##size(m1 >> 8), vec_mask)), \ ++ vtstq_u##size(vdupq_n_u##size(m1), vec_mask)); \ ++ uint##size##x##number_of_lanes##_t vec_minusone = vdupq_n_u##size(-1); \ ++ uint##size##x##number_of_lanes##_t vec_zero = vdupq_n_u##size(0); \ ++ for (int j = 0; j < lb; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size(vbslq_u##size( \ ++ vec1, vec_minusone, vreinterpretq_u##size##_m128i(mtx[j]))); \ ++ } \ ++ for (int j = lb; j < bound; j++) { \ ++ mtx[j] = vreinterpretq_m128i_u##size( \ ++ vbslq_u##size(vec1, vec_minusone, vec_zero)); \ ++ } \ ++ unsigned SSE2NEON_IIF(data_type)(char, short) *ptr = \ ++ (unsigned SSE2NEON_IIF(data_type)(char, short) *) mtx; \ ++ for (int i = 0; i < bound; i++) { \ ++ int val = 1; \ ++ for (int j = 0, k = i; j < bound - i && k < bound; j++, k++) \ ++ val &= ptr[k * bound + j]; \ ++ res += val << i; \ ++ } \ ++ return res; \ ++ } ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(prefix) \ ++ prefix##IMPL(8, 16, prefix##IS_UBYTE) \ ++ prefix##IMPL(16, 8, prefix##IS_UWORD) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_AGGREGATE_EQUAL_ORDER(SSE2NEON_AGGREGATE_EQUAL_ORDER_) ++ ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UBYTE ++#undef SSE2NEON_AGGREGATE_EQUAL_ORDER_IS_UWORD ++ ++/* clang-format off */ ++#define SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(prefix) \ ++ prefix##IMPL(byte) \ ++ prefix##IMPL(word) ++/* clang-format on */ ++ ++SSE2NEON_GENERATE_CMP_EQUAL_ORDERED(SSE2NEON_CMP_EQUAL_ORDERED_) ++ ++#define SSE2NEON_CMPESTR_LIST \ ++ _(CMP_UBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_UWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_SBYTE_EQUAL_ANY, cmp_byte_equal_any) \ ++ _(CMP_SWORD_EQUAL_ANY, cmp_word_equal_any) \ ++ _(CMP_UBYTE_RANGES, cmp_ubyte_ranges) \ ++ _(CMP_UWORD_RANGES, cmp_uword_ranges) \ ++ _(CMP_SBYTE_RANGES, cmp_sbyte_ranges) \ ++ _(CMP_SWORD_RANGES, cmp_sword_ranges) \ ++ _(CMP_UBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_UWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_SBYTE_EQUAL_EACH, cmp_byte_equal_each) \ ++ _(CMP_SWORD_EQUAL_EACH, cmp_word_equal_each) \ ++ _(CMP_UBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_UWORD_EQUAL_ORDERED, cmp_word_equal_ordered) \ ++ _(CMP_SBYTE_EQUAL_ORDERED, cmp_byte_equal_ordered) \ ++ _(CMP_SWORD_EQUAL_ORDERED, cmp_word_equal_ordered) ++ ++enum { ++#define _(name, func_suffix) name, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++typedef int (*cmpestr_func_t)(__m128i a, int la, __m128i b, int lb); ++static cmpestr_func_t _sse2neon_cmpfunc_table[] = { ++#define _(name, func_suffix) _sse2neon_##func_suffix, ++ SSE2NEON_CMPESTR_LIST ++#undef _ ++}; ++ ++FORCE_INLINE int _sse2neon_sido_negative(int res, int lb, int imm8, int bound) ++{ ++ switch (imm8 & 0x30) { ++ case _SIDD_NEGATIVE_POLARITY: ++ res ^= 0xffffffff; ++ break; ++ case _SIDD_MASKED_NEGATIVE_POLARITY: ++ res ^= (1 << lb) - 1; ++ break; ++ default: ++ break; ++ } ++ ++ return res & ((bound == 8) ? 0xFF : 0xFFFF); ++} ++ ++FORCE_INLINE int _sse2neon_clz(unsigned int x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt = 0; ++ if (_BitScanReverse(&cnt, x)) ++ return 31 - cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_clz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctz(unsigned int x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt = 0; ++ if (_BitScanForward(&cnt, x)) ++ return cnt; ++ return 32; ++#else ++ return x != 0 ? __builtin_ctz(x) : 32; ++#endif ++} ++ ++FORCE_INLINE int _sse2neon_ctzll(unsigned long long x) ++{ ++#ifdef _MSC_VER ++ unsigned long cnt; ++#if defined(SSE2NEON_HAS_BITSCAN64) ++ if (_BitScanForward64(&cnt, x)) ++ return (int) (cnt); ++#else ++ if (_BitScanForward(&cnt, (unsigned long) (x))) ++ return (int) cnt; ++ if (_BitScanForward(&cnt, (unsigned long) (x >> 32))) ++ return (int) (cnt + 32); ++#endif /* SSE2NEON_HAS_BITSCAN64 */ ++ return 64; ++#else /* assume GNU compatible compilers */ ++ return x != 0 ? __builtin_ctzll(x) : 64; ++#endif ++} ++ ++#define SSE2NEON_MIN(x, y) (x) < (y) ? (x) : (y) ++ ++#define SSE2NEON_CMPSTR_SET_UPPER(var, imm) \ ++ const int var = (imm & 0x01) ? 8 : 16 ++ ++#define SSE2NEON_CMPESTRX_LEN_PAIR(a, b, la, lb) \ ++ int tmp1 = la ^ (la >> 31); \ ++ la = tmp1 - (la >> 31); \ ++ int tmp2 = lb ^ (lb >> 31); \ ++ lb = tmp2 - (lb >> 31); \ ++ la = SSE2NEON_MIN(la, bound); \ ++ lb = SSE2NEON_MIN(lb, bound) ++ ++// Compare all pairs of character in string a and b, ++// then aggregate the result. ++// As the only difference of PCMPESTR* and PCMPISTR* is the way to calculate the ++// length of string, we use SSE2NEON_CMP{I,E}STRX_GET_LEN to get the length of ++// string a and b. ++#define SSE2NEON_COMP_AGG(a, b, la, lb, imm8, IE) \ ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); \ ++ SSE2NEON_##IE##_LEN_PAIR(a, b, la, lb); \ ++ int r2 = (_sse2neon_cmpfunc_table[imm8 & 0x0f])(a, la, b, lb); \ ++ r2 = _sse2neon_sido_negative(r2, lb, imm8, bound) ++ ++#define SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8) \ ++ return (r2 == 0) ? bound \ ++ : ((imm8 & 0x40) ? (31 - _sse2neon_clz(r2)) \ ++ : _sse2neon_ctz(r2)) ++ ++#define SSE2NEON_CMPSTR_GENERATE_MASK(dst) \ ++ __m128i dst = vreinterpretq_m128i_u8(vdupq_n_u8(0)); \ ++ if (imm8 & 0x40) { \ ++ if (bound == 8) { \ ++ uint16x8_t tmp = vtstq_u16(vdupq_n_u16(r2), \ ++ vld1q_u16(_sse2neon_cmpestr_mask16b)); \ ++ dst = vreinterpretq_m128i_u16(vbslq_u16( \ ++ tmp, vdupq_n_u16(-1), vreinterpretq_u16_m128i(dst))); \ ++ } else { \ ++ uint8x16_t vec_r2 = \ ++ vcombine_u8(vdup_n_u8(r2), vdup_n_u8(r2 >> 8)); \ ++ uint8x16_t tmp = \ ++ vtstq_u8(vec_r2, vld1q_u8(_sse2neon_cmpestr_mask8b)); \ ++ dst = vreinterpretq_m128i_u8( \ ++ vbslq_u8(tmp, vdupq_n_u8(-1), vreinterpretq_u8_m128i(dst))); \ ++ } \ ++ } else { \ ++ if (bound == 16) { \ ++ dst = vreinterpretq_m128i_u16( \ ++ vsetq_lane_u16(r2 & 0xffff, vreinterpretq_u16_m128i(dst), 0)); \ ++ } else { \ ++ dst = vreinterpretq_m128i_u8( \ ++ vsetq_lane_u8(r2 & 0xff, vreinterpretq_u8_m128i(dst), 0)); \ ++ } \ ++ } \ ++ return dst ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and returns 1 if b did not contain a null character and the ++// resulting mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestra ++FORCE_INLINE int _mm_cmpestra(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ int lb_cpy = lb; ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return !r2 & (lb_cpy > bound); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrc ++FORCE_INLINE int _mm_cmpestrc(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestri ++FORCE_INLINE int _mm_cmpestri(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control ++// in imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrm ++FORCE_INLINE __m128i ++_mm_cmpestrm(__m128i a, int la, __m128i b, int lb, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestro ++FORCE_INLINE int _mm_cmpestro(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPESTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrs ++FORCE_INLINE int _mm_cmpestrs(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) lb; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings in a and b with lengths la and lb using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpestrz ++FORCE_INLINE int _mm_cmpestrz(__m128i a, ++ int la, ++ __m128i b, ++ int lb, ++ const int imm8) ++{ ++ (void) a; ++ (void) b; ++ (void) la; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ return lb <= (bound - 1); ++} ++ ++#define SSE2NEON_CMPISTRX_LENGTH(str, len, imm8) \ ++ do { \ ++ if (imm8 & 0x01) { \ ++ uint16x8_t equal_mask_##str = \ ++ vceqq_u16(vreinterpretq_u16_m128i(str), vdupq_n_u16(0)); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 3; \ ++ } else { \ ++ uint16x8_t equal_mask_##str = vreinterpretq_u16_u8( \ ++ vceqq_u8(vreinterpretq_u8_m128i(str), vdupq_n_u8(0))); \ ++ uint8x8_t res_##str = vshrn_n_u16(equal_mask_##str, 4); \ ++ uint64_t matches_##str = \ ++ vget_lane_u64(vreinterpret_u64_u8(res_##str), 0); \ ++ len = _sse2neon_ctzll(matches_##str) >> 2; \ ++ } \ ++ } while (0) ++ ++#define SSE2NEON_CMPISTRX_LEN_PAIR(a, b, la, lb) \ ++ int la, lb; \ ++ do { \ ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); \ ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); \ ++ } while (0) ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if b did not contain a null character and the resulting ++// mask was zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistra ++FORCE_INLINE int _mm_cmpistra(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return !r2 & (lb >= bound); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrc ++FORCE_INLINE int _mm_cmpistrc(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 != 0; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated index in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistri ++FORCE_INLINE int _mm_cmpistri(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_INDEX(r2, bound, imm8); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and store the generated mask in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrm ++FORCE_INLINE __m128i _mm_cmpistrm(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ SSE2NEON_CMPSTR_GENERATE_MASK(dst); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns bit 0 of the resulting bit mask. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistro ++FORCE_INLINE int _mm_cmpistro(__m128i a, __m128i b, const int imm8) ++{ ++ SSE2NEON_COMP_AGG(a, b, la, lb, imm8, CMPISTRX); ++ return r2 & 1; ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in a was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrs ++FORCE_INLINE int _mm_cmpistrs(__m128i a, __m128i b, const int imm8) ++{ ++ (void) b; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int la; ++ SSE2NEON_CMPISTRX_LENGTH(a, la, imm8); ++ return la <= (bound - 1); ++} ++ ++// Compare packed strings with implicit lengths in a and b using the control in ++// imm8, and returns 1 if any character in b was null, and 0 otherwise. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_cmpistrz ++FORCE_INLINE int _mm_cmpistrz(__m128i a, __m128i b, const int imm8) ++{ ++ (void) a; ++ SSE2NEON_CMPSTR_SET_UPPER(bound, imm8); ++ int lb; ++ SSE2NEON_CMPISTRX_LENGTH(b, lb, imm8); ++ return lb <= (bound - 1); ++} ++ ++// Compares the 2 signed 64-bit integers in a and the 2 signed 64-bit integers ++// in b for greater than. ++FORCE_INLINE __m128i _mm_cmpgt_epi64(__m128i a, __m128i b) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ return vreinterpretq_m128i_u64( ++ vcgtq_s64(vreinterpretq_s64_m128i(a), vreinterpretq_s64_m128i(b))); ++#else ++ return vreinterpretq_m128i_s64(vshrq_n_s64( ++ vqsubq_s64(vreinterpretq_s64_m128i(b), vreinterpretq_s64_m128i(a)), ++ 63)); ++#endif ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 16-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u16 ++FORCE_INLINE uint32_t _mm_crc32_u16(uint32_t crc, uint16_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32ch %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32ch(crc, v); ++#else ++ crc = _mm_crc32_u8(crc, v & 0xff); ++ crc = _mm_crc32_u8(crc, (v >> 8) & 0xff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 32-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u32 ++FORCE_INLINE uint32_t _mm_crc32_u32(uint32_t crc, uint32_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cw %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cw(crc, v); ++#else ++ crc = _mm_crc32_u16(crc, v & 0xffff); ++ crc = _mm_crc32_u16(crc, (v >> 16) & 0xffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 64-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u64 ++FORCE_INLINE uint64_t _mm_crc32_u64(uint64_t crc, uint64_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cx %w[c], %w[c], %x[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cd((uint32_t) crc, v); ++#else ++ crc = _mm_crc32_u32((uint32_t) (crc), v & 0xffffffff); ++ crc = _mm_crc32_u32((uint32_t) (crc), (v >> 32) & 0xffffffff); ++#endif ++ return crc; ++} ++ ++// Starting with the initial value in crc, accumulates a CRC32 value for ++// unsigned 8-bit integer v, and stores the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_crc32_u8 ++FORCE_INLINE uint32_t _mm_crc32_u8(uint32_t crc, uint8_t v) ++{ ++#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) ++ __asm__ __volatile__("crc32cb %w[c], %w[c], %w[v]\n\t" ++ : [c] "+r"(crc) ++ : [v] "r"(v)); ++#elif ((__ARM_ARCH == 8) && defined(__ARM_FEATURE_CRC32)) || \ ++ (defined(_M_ARM64) && !defined(__clang__)) ++ crc = __crc32cb(crc, v); ++#else ++ crc ^= v; ++#if defined(__ARM_FEATURE_CRYPTO) ++ // Adapted from: https://mary.rs/lab/crc32/ ++ // Barrent reduction ++ uint64x2_t orig = ++ vcombine_u64(vcreate_u64((uint64_t) (crc) << 24), vcreate_u64(0x0)); ++ uint64x2_t tmp = orig; ++ ++ // Polynomial P(x) of CRC32C ++ uint64_t p = 0x105EC76F1; ++ // Barrett Reduction (in bit-reflected form) constant mu_{64} = \lfloor ++ // 2^{64} / P(x) \rfloor = 0x11f91caf6 ++ uint64_t mu = 0x1dea713f1; ++ ++ // Multiply by mu_{64} ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(mu)); ++ // Divide by 2^{64} (mask away the unnecessary bits) ++ tmp = ++ vandq_u64(tmp, vcombine_u64(vcreate_u64(0xFFFFFFFF), vcreate_u64(0x0))); ++ // Multiply by P(x) (shifted left by 1 for alignment reasons) ++ tmp = _sse2neon_vmull_p64(vget_low_u64(tmp), vcreate_u64(p)); ++ // Subtract original from result ++ tmp = veorq_u64(tmp, orig); ++ ++ // Extract the 'lower' (in bit-reflected sense) 32 bits ++ crc = vgetq_lane_u32(vreinterpretq_u32_u64(tmp), 1); ++#else // Fall back to the generic table lookup approach ++ // Adapted from: https://create.stephan-brumme.com/crc32/ ++ // Apply half-byte comparison algorithm for the best ratio between ++ // performance and lookup table. ++ ++ // The lookup table just needs to store every 16th entry ++ // of the standard look-up table. ++ static const uint32_t crc32_half_byte_tbl[] = { ++ 0x00000000, 0x105ec76f, 0x20bd8ede, 0x30e349b1, 0x417b1dbc, 0x5125dad3, ++ 0x61c69362, 0x7198540d, 0x82f63b78, 0x92a8fc17, 0xa24bb5a6, 0xb21572c9, ++ 0xc38d26c4, 0xd3d3e1ab, 0xe330a81a, 0xf36e6f75, ++ }; ++ ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++ crc = (crc >> 4) ^ crc32_half_byte_tbl[crc & 0x0F]; ++#endif ++#endif ++ return crc; ++} ++ ++/* AES */ ++ ++#if !defined(__ARM_FEATURE_CRYPTO) && (!defined(_M_ARM64) || defined(__clang__)) ++/* clang-format off */ ++#define SSE2NEON_AES_SBOX(w) \ ++ { \ ++ w(0x63), w(0x7c), w(0x77), w(0x7b), w(0xf2), w(0x6b), w(0x6f), \ ++ w(0xc5), w(0x30), w(0x01), w(0x67), w(0x2b), w(0xfe), w(0xd7), \ ++ w(0xab), w(0x76), w(0xca), w(0x82), w(0xc9), w(0x7d), w(0xfa), \ ++ w(0x59), w(0x47), w(0xf0), w(0xad), w(0xd4), w(0xa2), w(0xaf), \ ++ w(0x9c), w(0xa4), w(0x72), w(0xc0), w(0xb7), w(0xfd), w(0x93), \ ++ w(0x26), w(0x36), w(0x3f), w(0xf7), w(0xcc), w(0x34), w(0xa5), \ ++ w(0xe5), w(0xf1), w(0x71), w(0xd8), w(0x31), w(0x15), w(0x04), \ ++ w(0xc7), w(0x23), w(0xc3), w(0x18), w(0x96), w(0x05), w(0x9a), \ ++ w(0x07), w(0x12), w(0x80), w(0xe2), w(0xeb), w(0x27), w(0xb2), \ ++ w(0x75), w(0x09), w(0x83), w(0x2c), w(0x1a), w(0x1b), w(0x6e), \ ++ w(0x5a), w(0xa0), w(0x52), w(0x3b), w(0xd6), w(0xb3), w(0x29), \ ++ w(0xe3), w(0x2f), w(0x84), w(0x53), w(0xd1), w(0x00), w(0xed), \ ++ w(0x20), w(0xfc), w(0xb1), w(0x5b), w(0x6a), w(0xcb), w(0xbe), \ ++ w(0x39), w(0x4a), w(0x4c), w(0x58), w(0xcf), w(0xd0), w(0xef), \ ++ w(0xaa), w(0xfb), w(0x43), w(0x4d), w(0x33), w(0x85), w(0x45), \ ++ w(0xf9), w(0x02), w(0x7f), w(0x50), w(0x3c), w(0x9f), w(0xa8), \ ++ w(0x51), w(0xa3), w(0x40), w(0x8f), w(0x92), w(0x9d), w(0x38), \ ++ w(0xf5), w(0xbc), w(0xb6), w(0xda), w(0x21), w(0x10), w(0xff), \ ++ w(0xf3), w(0xd2), w(0xcd), w(0x0c), w(0x13), w(0xec), w(0x5f), \ ++ w(0x97), w(0x44), w(0x17), w(0xc4), w(0xa7), w(0x7e), w(0x3d), \ ++ w(0x64), w(0x5d), w(0x19), w(0x73), w(0x60), w(0x81), w(0x4f), \ ++ w(0xdc), w(0x22), w(0x2a), w(0x90), w(0x88), w(0x46), w(0xee), \ ++ w(0xb8), w(0x14), w(0xde), w(0x5e), w(0x0b), w(0xdb), w(0xe0), \ ++ w(0x32), w(0x3a), w(0x0a), w(0x49), w(0x06), w(0x24), w(0x5c), \ ++ w(0xc2), w(0xd3), w(0xac), w(0x62), w(0x91), w(0x95), w(0xe4), \ ++ w(0x79), w(0xe7), w(0xc8), w(0x37), w(0x6d), w(0x8d), w(0xd5), \ ++ w(0x4e), w(0xa9), w(0x6c), w(0x56), w(0xf4), w(0xea), w(0x65), \ ++ w(0x7a), w(0xae), w(0x08), w(0xba), w(0x78), w(0x25), w(0x2e), \ ++ w(0x1c), w(0xa6), w(0xb4), w(0xc6), w(0xe8), w(0xdd), w(0x74), \ ++ w(0x1f), w(0x4b), w(0xbd), w(0x8b), w(0x8a), w(0x70), w(0x3e), \ ++ w(0xb5), w(0x66), w(0x48), w(0x03), w(0xf6), w(0x0e), w(0x61), \ ++ w(0x35), w(0x57), w(0xb9), w(0x86), w(0xc1), w(0x1d), w(0x9e), \ ++ w(0xe1), w(0xf8), w(0x98), w(0x11), w(0x69), w(0xd9), w(0x8e), \ ++ w(0x94), w(0x9b), w(0x1e), w(0x87), w(0xe9), w(0xce), w(0x55), \ ++ w(0x28), w(0xdf), w(0x8c), w(0xa1), w(0x89), w(0x0d), w(0xbf), \ ++ w(0xe6), w(0x42), w(0x68), w(0x41), w(0x99), w(0x2d), w(0x0f), \ ++ w(0xb0), w(0x54), w(0xbb), w(0x16) \ ++ } ++#define SSE2NEON_AES_RSBOX(w) \ ++ { \ ++ w(0x52), w(0x09), w(0x6a), w(0xd5), w(0x30), w(0x36), w(0xa5), \ ++ w(0x38), w(0xbf), w(0x40), w(0xa3), w(0x9e), w(0x81), w(0xf3), \ ++ w(0xd7), w(0xfb), w(0x7c), w(0xe3), w(0x39), w(0x82), w(0x9b), \ ++ w(0x2f), w(0xff), w(0x87), w(0x34), w(0x8e), w(0x43), w(0x44), \ ++ w(0xc4), w(0xde), w(0xe9), w(0xcb), w(0x54), w(0x7b), w(0x94), \ ++ w(0x32), w(0xa6), w(0xc2), w(0x23), w(0x3d), w(0xee), w(0x4c), \ ++ w(0x95), w(0x0b), w(0x42), w(0xfa), w(0xc3), w(0x4e), w(0x08), \ ++ w(0x2e), w(0xa1), w(0x66), w(0x28), w(0xd9), w(0x24), w(0xb2), \ ++ w(0x76), w(0x5b), w(0xa2), w(0x49), w(0x6d), w(0x8b), w(0xd1), \ ++ w(0x25), w(0x72), w(0xf8), w(0xf6), w(0x64), w(0x86), w(0x68), \ ++ w(0x98), w(0x16), w(0xd4), w(0xa4), w(0x5c), w(0xcc), w(0x5d), \ ++ w(0x65), w(0xb6), w(0x92), w(0x6c), w(0x70), w(0x48), w(0x50), \ ++ w(0xfd), w(0xed), w(0xb9), w(0xda), w(0x5e), w(0x15), w(0x46), \ ++ w(0x57), w(0xa7), w(0x8d), w(0x9d), w(0x84), w(0x90), w(0xd8), \ ++ w(0xab), w(0x00), w(0x8c), w(0xbc), w(0xd3), w(0x0a), w(0xf7), \ ++ w(0xe4), w(0x58), w(0x05), w(0xb8), w(0xb3), w(0x45), w(0x06), \ ++ w(0xd0), w(0x2c), w(0x1e), w(0x8f), w(0xca), w(0x3f), w(0x0f), \ ++ w(0x02), w(0xc1), w(0xaf), w(0xbd), w(0x03), w(0x01), w(0x13), \ ++ w(0x8a), w(0x6b), w(0x3a), w(0x91), w(0x11), w(0x41), w(0x4f), \ ++ w(0x67), w(0xdc), w(0xea), w(0x97), w(0xf2), w(0xcf), w(0xce), \ ++ w(0xf0), w(0xb4), w(0xe6), w(0x73), w(0x96), w(0xac), w(0x74), \ ++ w(0x22), w(0xe7), w(0xad), w(0x35), w(0x85), w(0xe2), w(0xf9), \ ++ w(0x37), w(0xe8), w(0x1c), w(0x75), w(0xdf), w(0x6e), w(0x47), \ ++ w(0xf1), w(0x1a), w(0x71), w(0x1d), w(0x29), w(0xc5), w(0x89), \ ++ w(0x6f), w(0xb7), w(0x62), w(0x0e), w(0xaa), w(0x18), w(0xbe), \ ++ w(0x1b), w(0xfc), w(0x56), w(0x3e), w(0x4b), w(0xc6), w(0xd2), \ ++ w(0x79), w(0x20), w(0x9a), w(0xdb), w(0xc0), w(0xfe), w(0x78), \ ++ w(0xcd), w(0x5a), w(0xf4), w(0x1f), w(0xdd), w(0xa8), w(0x33), \ ++ w(0x88), w(0x07), w(0xc7), w(0x31), w(0xb1), w(0x12), w(0x10), \ ++ w(0x59), w(0x27), w(0x80), w(0xec), w(0x5f), w(0x60), w(0x51), \ ++ w(0x7f), w(0xa9), w(0x19), w(0xb5), w(0x4a), w(0x0d), w(0x2d), \ ++ w(0xe5), w(0x7a), w(0x9f), w(0x93), w(0xc9), w(0x9c), w(0xef), \ ++ w(0xa0), w(0xe0), w(0x3b), w(0x4d), w(0xae), w(0x2a), w(0xf5), \ ++ w(0xb0), w(0xc8), w(0xeb), w(0xbb), w(0x3c), w(0x83), w(0x53), \ ++ w(0x99), w(0x61), w(0x17), w(0x2b), w(0x04), w(0x7e), w(0xba), \ ++ w(0x77), w(0xd6), w(0x26), w(0xe1), w(0x69), w(0x14), w(0x63), \ ++ w(0x55), w(0x21), w(0x0c), w(0x7d) \ ++ } ++/* clang-format on */ ++ ++/* X Macro trick. See https://en.wikipedia.org/wiki/X_Macro */ ++#define SSE2NEON_AES_H0(x) (x) ++static const uint8_t _sse2neon_sbox[256] = SSE2NEON_AES_SBOX(SSE2NEON_AES_H0); ++static const uint8_t _sse2neon_rsbox[256] = SSE2NEON_AES_RSBOX(SSE2NEON_AES_H0); ++#undef SSE2NEON_AES_H0 ++ ++/* x_time function and matrix multiply function */ ++#if !defined(__aarch64__) && !defined(_M_ARM64) ++#define SSE2NEON_XT(x) (((x) << 1) ^ ((((x) >> 7) & 1) * 0x1b)) ++#define SSE2NEON_MULTIPLY(x, y) \ ++ (((y & 1) * x) ^ ((y >> 1 & 1) * SSE2NEON_XT(x)) ^ \ ++ ((y >> 2 & 1) * SSE2NEON_XT(SSE2NEON_XT(x))) ^ \ ++ ((y >> 3 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))) ^ \ ++ ((y >> 4 & 1) * SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(SSE2NEON_XT(x)))))) ++#endif ++ ++// In the absence of crypto extensions, implement aesenc using regular NEON ++// intrinsics instead. See: ++// https://www.workofard.com/2017/01/accelerated-aes-for-the-arm64-linux-kernel/ ++// https://www.workofard.com/2017/07/ghash-for-low-end-cores/ and ++// for more information. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ /* shift rows */ ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ /* sub bytes */ ++ // Here, we separate the whole 256-bytes table into 4 64-bytes tables, and ++ // look up each of the table. After each lookup, we load the next table ++ // which locates at the next 64-bytes. In the meantime, the index in the ++ // table would be smaller than it was, so the index parameters of ++ // `vqtbx4q_u8()` need to be added the same constant as the loaded tables. ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ // 'w-0x40' equals to 'vsubq_u8(w, vdupq_n_u8(0x40))' ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ /* mix columns */ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ /* add round key */ ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A implementation for a table-based AES */ ++#define SSE2NEON_AES_B2W(b0, b1, b2, b3) \ ++ (((uint32_t) (b3) << 24) | ((uint32_t) (b2) << 16) | \ ++ ((uint32_t) (b1) << 8) | (uint32_t) (b0)) ++// multiplying 'x' by 2 in GF(2^8) ++#define SSE2NEON_AES_F2(x) ((x << 1) ^ (((x >> 7) & 1) * 0x011b /* WPOLY */)) ++// multiplying 'x' by 3 in GF(2^8) ++#define SSE2NEON_AES_F3(x) (SSE2NEON_AES_F2(x) ^ x) ++#define SSE2NEON_AES_U0(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F2(p), p, p, SSE2NEON_AES_F3(p)) ++#define SSE2NEON_AES_U1(p) \ ++ SSE2NEON_AES_B2W(SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p, p) ++#define SSE2NEON_AES_U2(p) \ ++ SSE2NEON_AES_B2W(p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p), p) ++#define SSE2NEON_AES_U3(p) \ ++ SSE2NEON_AES_B2W(p, p, SSE2NEON_AES_F3(p), SSE2NEON_AES_F2(p)) ++ ++ // this generates a table containing every possible permutation of ++ // shift_rows() and sub_bytes() with mix_columns(). ++ static const uint32_t ALIGN_STRUCT(16) aes_table[4][256] = { ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U0), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U1), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U2), ++ SSE2NEON_AES_SBOX(SSE2NEON_AES_U3), ++ }; ++#undef SSE2NEON_AES_B2W ++#undef SSE2NEON_AES_F2 ++#undef SSE2NEON_AES_F3 ++#undef SSE2NEON_AES_U0 ++#undef SSE2NEON_AES_U1 ++#undef SSE2NEON_AES_U2 ++#undef SSE2NEON_AES_U3 ++ ++ uint32_t x0 = _mm_cvtsi128_si32(a); // get a[31:0] ++ uint32_t x1 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); // get a[63:32] ++ uint32_t x2 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xAA)); // get a[95:64] ++ uint32_t x3 = ++ _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); // get a[127:96] ++ ++ // finish the modulo addition step in mix_columns() ++ __m128i out = _mm_set_epi32( ++ (aes_table[0][x3 & 0xff] ^ aes_table[1][(x0 >> 8) & 0xff] ^ ++ aes_table[2][(x1 >> 16) & 0xff] ^ aes_table[3][x2 >> 24]), ++ (aes_table[0][x2 & 0xff] ^ aes_table[1][(x3 >> 8) & 0xff] ^ ++ aes_table[2][(x0 >> 16) & 0xff] ^ aes_table[3][x1 >> 24]), ++ (aes_table[0][x1 & 0xff] ^ aes_table[1][(x2 >> 8) & 0xff] ^ ++ aes_table[2][(x3 >> 16) & 0xff] ^ aes_table[3][x0 >> 24]), ++ (aes_table[0][x0 & 0xff] ^ aes_table[1][(x1 >> 8) & 0xff] ^ ++ aes_table[2][(x2 >> 16) & 0xff] ^ aes_table[3][x3 >> 24])); ++ ++ return _mm_xor_si128(out, RoundKey); ++#endif ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // inverse mix columns ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & ++ 0x1b); // multiplying 'v' by 2 in GF(2^8) ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(w) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ // inverse mix columns ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t shift_rows[] = { ++ 0x0, 0x5, 0xa, 0xf, 0x4, 0x9, 0xe, 0x3, ++ 0x8, 0xd, 0x2, 0x7, 0xc, 0x1, 0x6, 0xb, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(shift_rows)); ++ ++ // sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A implementation */ ++ uint8_t v[16] = { ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 0)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 5)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 10)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 15)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 4)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 9)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 14)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 3)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 8)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 13)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 2)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 7)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 12)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 1)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 6)], ++ _sse2neon_sbox[vgetq_lane_u8(vreinterpretq_u8_m128i(a), 11)], ++ }; ++ ++ return vreinterpretq_m128i_u8(vld1q_u8(v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++#if defined(__aarch64__) ++ static const uint8_t inv_shift_rows[] = { ++ 0x0, 0xd, 0xa, 0x7, 0x4, 0x1, 0xe, 0xb, ++ 0x8, 0x5, 0x2, 0xf, 0xc, 0x9, 0x6, 0x3, ++ }; ++ ++ uint8x16_t v; ++ uint8x16_t w = vreinterpretq_u8_m128i(a); ++ ++ // inverse shift rows ++ w = vqtbl1q_u8(w, vld1q_u8(inv_shift_rows)); ++ ++ // inverse sub bytes ++ v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_rsbox), w); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x40), w - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0x80), w - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_rsbox + 0xc0), w - 0xc0); ++ ++ // add round key ++ return vreinterpretq_m128i_u8(v) ^ RoundKey; ++ ++#else /* ARMv7-A NEON implementation */ ++ /* FIXME: optimized for NEON */ ++ uint8_t v[4][4]; ++ uint8_t *_a = (uint8_t *) &a; ++ for (int i = 0; i < 16; ++i) { ++ v[((i / 4) + (i % 4)) % 4][i % 4] = _sse2neon_rsbox[_a[i]]; ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)) ^ RoundKey; ++#endif ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++#if defined(__aarch64__) ++ static const uint8_t ror32by8[] = { ++ 0x1, 0x2, 0x3, 0x0, 0x5, 0x6, 0x7, 0x4, ++ 0x9, 0xa, 0xb, 0x8, 0xd, 0xe, 0xf, 0xc, ++ }; ++ uint8x16_t v = vreinterpretq_u8_m128i(a); ++ uint8x16_t w; ++ ++ // multiplying 'v' by 4 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w = (w << 1) ^ (uint8x16_t) (((int8x16_t) w >> 7) & 0x1b); ++ v ^= w; ++ v ^= (uint8x16_t) vrev32q_u16((uint16x8_t) w); ++ ++ // multiplying 'v' by 2 in GF(2^8) ++ w = (v << 1) ^ (uint8x16_t) (((int8x16_t) v >> 7) & 0x1b); ++ w ^= (uint8x16_t) vrev32q_u16((uint16x8_t) v); ++ w ^= vqtbl1q_u8(v ^ w, vld1q_u8(ror32by8)); ++ return vreinterpretq_m128i_u8(w); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint8_t i, e, f, g, h, v[4][4]; ++ vst1q_u8((uint8_t *) v, vreinterpretq_u8_m128i(a)); ++ for (i = 0; i < 4; ++i) { ++ e = v[i][0]; ++ f = v[i][1]; ++ g = v[i][2]; ++ h = v[i][3]; ++ ++ v[i][0] = SSE2NEON_MULTIPLY(e, 0x0e) ^ SSE2NEON_MULTIPLY(f, 0x0b) ^ ++ SSE2NEON_MULTIPLY(g, 0x0d) ^ SSE2NEON_MULTIPLY(h, 0x09); ++ v[i][1] = SSE2NEON_MULTIPLY(e, 0x09) ^ SSE2NEON_MULTIPLY(f, 0x0e) ^ ++ SSE2NEON_MULTIPLY(g, 0x0b) ^ SSE2NEON_MULTIPLY(h, 0x0d); ++ v[i][2] = SSE2NEON_MULTIPLY(e, 0x0d) ^ SSE2NEON_MULTIPLY(f, 0x09) ^ ++ SSE2NEON_MULTIPLY(g, 0x0e) ^ SSE2NEON_MULTIPLY(h, 0x0b); ++ v[i][3] = SSE2NEON_MULTIPLY(e, 0x0b) ^ SSE2NEON_MULTIPLY(f, 0x0d) ^ ++ SSE2NEON_MULTIPLY(g, 0x09) ^ SSE2NEON_MULTIPLY(h, 0x0e); ++ } ++ ++ return vreinterpretq_m128i_u8(vld1q_u8((uint8_t *) v)); ++#endif ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++// ++// Emits the Advanced Encryption Standard (AES) instruction aeskeygenassist. ++// This instruction generates a round key for AES encryption. See ++// https://kazakov.life/2017/11/01/cryptocurrency-mining-on-ios-devices/ ++// for details. ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++#if defined(__aarch64__) ++ uint8x16_t _a = vreinterpretq_u8_m128i(a); ++ uint8x16_t v = vqtbl4q_u8(_sse2neon_vld1q_u8_x4(_sse2neon_sbox), _a); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x40), _a - 0x40); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0x80), _a - 0x80); ++ v = vqtbx4q_u8(v, _sse2neon_vld1q_u8_x4(_sse2neon_sbox + 0xc0), _a - 0xc0); ++ ++ uint32x4_t v_u32 = vreinterpretq_u32_u8(v); ++ uint32x4_t ror_v = vorrq_u32(vshrq_n_u32(v_u32, 8), vshlq_n_u32(v_u32, 24)); ++ uint32x4_t ror_xor_v = veorq_u32(ror_v, vdupq_n_u32(rcon)); ++ ++ return vreinterpretq_m128i_u32(vtrn2q_u32(v_u32, ror_xor_v)); ++ ++#else /* ARMv7-A NEON implementation */ ++ uint32_t X1 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0x55)); ++ uint32_t X3 = _mm_cvtsi128_si32(_mm_shuffle_epi32(a, 0xFF)); ++ for (int i = 0; i < 4; ++i) { ++ ((uint8_t *) &X1)[i] = _sse2neon_sbox[((uint8_t *) &X1)[i]]; ++ ((uint8_t *) &X3)[i] = _sse2neon_sbox[((uint8_t *) &X3)[i]]; ++ } ++ return _mm_set_epi32(((X3 >> 8) | (X3 << 24)) ^ rcon, X3, ++ ((X1 >> 8) | (X1 << 24)) ^ rcon, X1); ++#endif ++} ++#undef SSE2NEON_AES_SBOX ++#undef SSE2NEON_AES_RSBOX ++ ++#if defined(__aarch64__) ++#undef SSE2NEON_XT ++#undef SSE2NEON_MULTIPLY ++#endif ++ ++#else /* __ARM_FEATURE_CRYPTO */ ++// Implements equivalent of 'aesenc' by combining AESE (with an empty key) and ++// AESMC and then manually applying the real key as an xor operation. This ++// unfortunately means an additional xor op; the compiler should be able to ++// optimize this away for repeated calls however. See ++// https://blog.michaelbrase.com/2018/05/08/emulating-x86-aes-intrinsics-on-armv8-a ++// for more details. ++FORCE_INLINE __m128i _mm_aesenc_si128(__m128i a, __m128i b) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesmcq_u8(vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(b))); ++} ++ ++// Perform one round of an AES decryption flow on data (state) in a using the ++// round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdec_si128 ++FORCE_INLINE __m128i _mm_aesdec_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8(veorq_u8( ++ vaesimcq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the last round of an AES encryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesenclast_si128 ++FORCE_INLINE __m128i _mm_aesenclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return _mm_xor_si128(vreinterpretq_m128i_u8(vaeseq_u8( ++ vreinterpretq_u8_m128i(a), vdupq_n_u8(0))), ++ RoundKey); ++} ++ ++// Perform the last round of an AES decryption flow on data (state) in a using ++// the round key in RoundKey, and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesdeclast_si128 ++FORCE_INLINE __m128i _mm_aesdeclast_si128(__m128i a, __m128i RoundKey) ++{ ++ return vreinterpretq_m128i_u8( ++ veorq_u8(vaesdq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)), ++ vreinterpretq_u8_m128i(RoundKey))); ++} ++ ++// Perform the InvMixColumns transformation on a and store the result in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aesimc_si128 ++FORCE_INLINE __m128i _mm_aesimc_si128(__m128i a) ++{ ++ return vreinterpretq_m128i_u8(vaesimcq_u8(vreinterpretq_u8_m128i(a))); ++} ++ ++// Assist in expanding the AES cipher key by computing steps towards generating ++// a round key for encryption cipher using data from a and an 8-bit round ++// constant specified in imm8, and store the result in dst." ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_aeskeygenassist_si128 ++FORCE_INLINE __m128i _mm_aeskeygenassist_si128(__m128i a, const int rcon) ++{ ++ // AESE does ShiftRows and SubBytes on A ++ uint8x16_t u8 = vaeseq_u8(vreinterpretq_u8_m128i(a), vdupq_n_u8(0)); ++ ++#ifndef _MSC_VER ++ uint8x16_t dest = { ++ // Undo ShiftRows step from AESE and extract X1 and X3 ++ u8[0x4], u8[0x1], u8[0xE], u8[0xB], // SubBytes(X1) ++ u8[0x1], u8[0xE], u8[0xB], u8[0x4], // ROT(SubBytes(X1)) ++ u8[0xC], u8[0x9], u8[0x6], u8[0x3], // SubBytes(X3) ++ u8[0x9], u8[0x6], u8[0x3], u8[0xC], // ROT(SubBytes(X3)) ++ }; ++ uint32x4_t r = {0, (unsigned) rcon, 0, (unsigned) rcon}; ++ return vreinterpretq_m128i_u8(dest) ^ vreinterpretq_m128i_u32(r); ++#else ++ // We have to do this hack because MSVC is strictly adhering to the CPP ++ // standard, in particular C++03 8.5.1 sub-section 15, which states that ++ // unions must be initialized by their first member type. ++ ++ // As per the Windows ARM64 ABI, it is always little endian, so this works ++ __n128 dest{ ++ ((uint64_t) u8.n128_u8[0x4] << 0) | ((uint64_t) u8.n128_u8[0x1] << 8) | ++ ((uint64_t) u8.n128_u8[0xE] << 16) | ++ ((uint64_t) u8.n128_u8[0xB] << 24) | ++ ((uint64_t) u8.n128_u8[0x1] << 32) | ++ ((uint64_t) u8.n128_u8[0xE] << 40) | ++ ((uint64_t) u8.n128_u8[0xB] << 48) | ++ ((uint64_t) u8.n128_u8[0x4] << 56), ++ ((uint64_t) u8.n128_u8[0xC] << 0) | ((uint64_t) u8.n128_u8[0x9] << 8) | ++ ((uint64_t) u8.n128_u8[0x6] << 16) | ++ ((uint64_t) u8.n128_u8[0x3] << 24) | ++ ((uint64_t) u8.n128_u8[0x9] << 32) | ++ ((uint64_t) u8.n128_u8[0x6] << 40) | ++ ((uint64_t) u8.n128_u8[0x3] << 48) | ++ ((uint64_t) u8.n128_u8[0xC] << 56)}; ++ ++ dest.n128_u32[1] = dest.n128_u32[1] ^ rcon; ++ dest.n128_u32[3] = dest.n128_u32[3] ^ rcon; ++ ++ return dest; ++#endif ++} ++#endif ++ ++/* Others */ ++ ++// Perform a carry-less multiplication of two 64-bit integers, selected from a ++// and b according to imm8, and store the results in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clmulepi64_si128 ++FORCE_INLINE __m128i _mm_clmulepi64_si128(__m128i _a, __m128i _b, const int imm) ++{ ++ uint64x2_t a = vreinterpretq_u64_m128i(_a); ++ uint64x2_t b = vreinterpretq_u64_m128i(_b); ++ switch (imm & 0x11) { ++ case 0x00: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_low_u64(b))); ++ case 0x01: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_low_u64(b))); ++ case 0x10: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_low_u64(a), vget_high_u64(b))); ++ case 0x11: ++ return vreinterpretq_m128i_u64( ++ _sse2neon_vmull_p64(vget_high_u64(a), vget_high_u64(b))); ++ default: ++ abort(); ++ } ++} ++ ++FORCE_INLINE unsigned int _sse2neon_mm_get_denormals_zero_mode(void) ++{ ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ return r.field.bit24 ? _MM_DENORMALS_ZERO_ON : _MM_DENORMALS_ZERO_OFF; ++} ++ ++// Count the number of bits set to 1 in unsigned 32-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u32 ++FORCE_INLINE int _mm_popcnt_u32(unsigned int a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcount) ++ return __builtin_popcount(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits(a); ++#else ++ return (int) vaddlv_u8(vcnt_u8(vcreate_u8((uint64_t) a))); ++#endif ++#else ++ uint32_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ ++ vst1_u32(&count, count32x2_val); ++ return count; ++#endif ++} ++ ++// Count the number of bits set to 1 in unsigned 64-bit integer a, and ++// return that count in dst. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_popcnt_u64 ++FORCE_INLINE int64_t _mm_popcnt_u64(uint64_t a) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++#if __has_builtin(__builtin_popcountll) ++ return __builtin_popcountll(a); ++#elif defined(_MSC_VER) ++ return _CountOneBits64(a); ++#else ++ return (int64_t) vaddlv_u8(vcnt_u8(vcreate_u8(a))); ++#endif ++#else ++ uint64_t count = 0; ++ uint8x8_t input_val, count8x8_val; ++ uint16x4_t count16x4_val; ++ uint32x2_t count32x2_val; ++ uint64x1_t count64x1_val; ++ ++ input_val = vld1_u8((uint8_t *) &a); ++ count8x8_val = vcnt_u8(input_val); ++ count16x4_val = vpaddl_u8(count8x8_val); ++ count32x2_val = vpaddl_u16(count16x4_val); ++ count64x1_val = vpaddl_u32(count32x2_val); ++ vst1_u64(&count, count64x1_val); ++ return count; ++#endif ++} ++ ++FORCE_INLINE void _sse2neon_mm_set_denormals_zero_mode(unsigned int flag) ++{ ++ // AArch32 Advanced SIMD arithmetic always uses the Flush-to-zero setting, ++ // regardless of the value of the FZ bit. ++ union { ++ fpcr_bitfield field; ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t value; ++#else ++ uint32_t value; ++#endif ++ } r; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ r.value = _sse2neon_get_fpcr(); ++#else ++ __asm__ __volatile__("vmrs %0, FPSCR" : "=r"(r.value)); /* read */ ++#endif ++ ++ r.field.bit24 = (flag & _MM_DENORMALS_ZERO_MASK) == _MM_DENORMALS_ZERO_ON; ++ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ _sse2neon_set_fpcr(r.value); ++#else ++ __asm__ __volatile__("vmsr FPSCR, %0" ::"r"(r)); /* write */ ++#endif ++} ++ ++// Return the current 64-bit value of the processor's time-stamp counter. ++// https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=rdtsc ++FORCE_INLINE uint64_t _rdtsc(void) ++{ ++#if defined(__aarch64__) || defined(_M_ARM64) ++ uint64_t val; ++ ++ /* According to ARM DDI 0487F.c, from Armv8.0 to Armv8.5 inclusive, the ++ * system counter is at least 56 bits wide; from Armv8.6, the counter ++ * must be 64 bits wide. So the system counter could be less than 64 ++ * bits wide and it is attributed with the flag 'cap_user_time_short' ++ * is true. ++ */ ++#if defined(_MSC_VER) ++ val = _ReadStatusReg(ARM64_SYSREG(3, 3, 14, 0, 2)); ++#else ++ __asm__ __volatile__("mrs %0, cntvct_el0" : "=r"(val)); ++#endif ++ ++ return val; ++#else ++ uint32_t pmccntr, pmuseren, pmcntenset; ++ // Read the user mode Performance Monitoring Unit (PMU) ++ // User Enable Register (PMUSERENR) access permissions. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c14, 0" : "=r"(pmuseren)); ++ if (pmuseren & 1) { // Allows reading PMUSERENR for user mode code. ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c12, 1" : "=r"(pmcntenset)); ++ if (pmcntenset & 0x80000000UL) { // Is it counting? ++ __asm__ __volatile__("mrc p15, 0, %0, c9, c13, 0" : "=r"(pmccntr)); ++ // The counter is set up to count every 64th cycle ++ return (uint64_t) (pmccntr) << 6; ++ } ++ } ++ ++ // Fallback to syscall as we can't enable PMUSERENR in user mode. ++ struct timeval tv; ++ gettimeofday(&tv, NULL); ++ return (uint64_t) (tv.tv_sec) * 1000000 + tv.tv_usec; ++#endif ++} ++ ++#if defined(__GNUC__) || defined(__clang__) ++#pragma pop_macro("ALIGN_STRUCT") ++#pragma pop_macro("FORCE_INLINE") ++#pragma pop_macro("FORCE_INLINE_OPTNONE") ++#endif ++ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma GCC pop_options ++#endif ++ ++#endif +diff --git c/src/Makefile i/src/Makefile +index 3ed6c1c..82bb3b7 100644 +--- c/src/Makefile ++++ i/src/Makefile +@@ -50,7 +50,7 @@ endif + $(ABPOA_DIR)/lib/libabpoa.a: + echo $(CC) + echo "^^CC" +- cd $(ABPOA_DIR) && make sse2=true PREFIX=. CC="$(CC)" $(ZLPATH) lib/libabpoa.a ++ cd $(ABPOA_DIR) && make sse2= PREFIX=. CC="$(CC)" $(ZLPATH) lib/libabpoa.a + + testmsa: TestMSA.cpp + $(CXX) $(CFLAGS) -o $@ $^ -L $(CONDA_PREFIX)/lib $(LIBS) -I $(ABPOA_DIR)/include -L $(ABPOA_DIR)/lib -labpoa -lrt -L$(mchaisso)/software/lib diff --git a/recipes/varcode/meta.yaml b/recipes/varcode/meta.yaml index 01e085d867ed8..11373e7ebae26 100644 --- a/recipes/varcode/meta.yaml +++ b/recipes/varcode/meta.yaml @@ -1,5 +1,5 @@ {% set name = "varcode" %} -{% set version = "1.1.0" %} +{% set version = "1.2.1" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: ed2c81a322e13f4b9fcfc15fc1dba87dbeef8ab4cd808f22188ec67db9159512 + sha256: f2f0f608b266304cb6ceaa353357ea089cc6ae3f1fa15c8824b44e61fcf567cb build: number: 0 @@ -15,7 +15,9 @@ build: entry_points: - varcode-genes = varcode.cli.genes_script:main - varcode = varcode.cli.effects_script:main - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv" + run_exports: + - {{ pin_subpackage('varcode', max_pin="x") }} requirements: host: @@ -44,8 +46,9 @@ test: about: home: "https://github.com/openvax/varcode" - license: Apache Software + license: Apache-2.0 license_family: APACHE + license_file: LICENSE summary: "Variant annotation in Python" extra: diff --git a/recipes/varfish-cli/meta.yaml b/recipes/varfish-cli/meta.yaml index cc5fa0f456492..6baa90f445ec8 100644 --- a/recipes/varfish-cli/meta.yaml +++ b/recipes/varfish-cli/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.5.3" %} -{% set sha256 = "ae8ee0314f0ebcfacf44518d7dcca4d9aba74d3fa50159fd0adbc04017671677" %} +{% set version = "0.6.3" %} +{% set sha256 = "7a7344b3d88b8ac303f0a54f7709fa528fe1555dd6e935c45e6ec452d955871d" %} package: name: varfish-cli @@ -10,16 +10,20 @@ source: sha256: '{{sha256}}' build: - script: python -m pip install --no-deps --ignore-installed . - noarch: python - number: 0 + noarch: python + number: 2 + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv + entry_points: + - varfish-cli = varfish_cli.__main__:main + run_exports: + - {{ pin_subpackage('varfish-cli', max_pin="x.x") }} requirements: host: - python >=3 - pip run: - - python >=3 + - python >=3.9 - attrs - cattrs - jsonschema @@ -29,9 +33,11 @@ requirements: - tqdm - tabulate - polyleven + - pydantic >=2.0,<3.0 - python-dateutil - simplejson - typeguard + - typer test: imports: diff --git a/recipes/varfish-server-worker/build.sh b/recipes/varfish-server-worker/build.sh index 403679dd60ea7..701401e625188 100644 --- a/recipes/varfish-server-worker/build.sh +++ b/recipes/varfish-server-worker/build.sh @@ -1,10 +1,6 @@ #!/bin/bash -e -# TODO: Remove the following export when pinning is updated and we use -# {{ compiler('rust') }} in the recipe. -export \ - CARGO_NET_GIT_FETCH_WITH_CLI=true \ - CARGO_HOME="${BUILD_PREFIX}/.cargo" +set -xe export BINDGEN_EXTRA_CLANG_ARGS="${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" diff --git a/recipes/varfish-server-worker/meta.yaml b/recipes/varfish-server-worker/meta.yaml index c895ca635ee19..e7c4ceb6229c5 100644 --- a/recipes/varfish-server-worker/meta.yaml +++ b/recipes/varfish-server-worker/meta.yaml @@ -1,24 +1,24 @@ -{% set version = "0.10.2" %} +{% set version = "0.13.0" %} package: name: varfish-server-worker version: {{ version }} build: - number: 0 + number: 1 skip: True # [osx] run_exports: - {{ pin_subpackage("varfish-server-worker", max_pin="x.x") }} source: - url: https://github.com/bihealth/varfish-server-worker/archive/refs/tags/v{{ version }}.tar.gz - sha256: d75f79952215c8be560d864adafd305e46a3694ffe6d9116243bf88c0b1465c4 + url: https://github.com/varfish-org/varfish-server-worker/archive/refs/tags/v{{ version }}.tar.gz + sha256: 2a593575ae37bd1c9f934e45b378024912108d2391cccba1b9120c4685c2362a requirements: build: - {{ compiler('c') }} - {{ compiler('cxx') }} - - rust >=1.30 + - {{ compiler('rust') }} - clangdev - pkg-config - protobuf @@ -37,11 +37,13 @@ test: - varfish-server-worker --help about: - home: https://github.com/bihealth/varfish-server-worker + home: https://github.com/varfish-org/varfish-server-worker license: MIT summary: | Rust-based tool for the heavy lifting in varfish-server. extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - holtgrewe diff --git a/recipes/varlociraptor/meta.yaml b/recipes/varlociraptor/meta.yaml index 8fb5cf321e92c..571d69adc5e48 100644 --- a/recipes/varlociraptor/meta.yaml +++ b/recipes/varlociraptor/meta.yaml @@ -1,24 +1,24 @@ -{% set version = "8.4.2" %} +{% set name = "varlociraptor" %} +{% set version = "8.4.11" %} package: - name: varlociraptor + name: {{ name }} version: {{ version }} +source: + url: https://github.com/varlociraptor/varlociraptor/archive/v{{ version }}.tar.gz + sha256: 1785d13aee5f37381042bf280bcc1bd4f0306d5f94d22b9ec85b8d76a56ff70a + build: number: 0 run_exports: - {{ pin_subpackage("varlociraptor", max_pin="x") }} -source: - url: https://github.com/varlociraptor/varlociraptor/archive/v{{ version }}.tar.gz - sha256: 41dd246d34e0e0d277681e9114bbc5bdfa95d0ef01b884be975a8f00bc3b492a - requirements: build: - {{ compiler('c') }} - {{ compiler('cxx') }} - {{ compiler('rust') }} - - rust >=1.54 - pkg-config - make - cmake @@ -39,7 +39,16 @@ test: - varlociraptor -h about: - home: https://varlociraptor.github.io - license: GPLv3 - license_family: GPL - summary: Flexible, uncertainty-aware variant calling with parameter free filtration via FDR control. + home: "https://github.com/varlociraptor/varlociraptor" + license: "GPL-3.0-or-later" + license_family: GPL3 + summary: "Flexible, uncertainty-aware variant calling with parameter free filtration via FDR control." + dev_url: "https://github.com/varlociraptor/varlociraptor" + doc_url: "https://varlociraptor.github.io" + +extra: + additional-platforms: + - linux-aarch64 + identifiers: + - biotools:varlociraptor + - doi:10.1186/s13059-020-01993-6 diff --git a/recipes/vartrix/build.sh b/recipes/vartrix/build.sh index cd8241038894f..f3dddbf865467 100644 --- a/recipes/vartrix/build.sh +++ b/recipes/vartrix/build.sh @@ -1,7 +1,7 @@ -#! /bin/bash -cargo build --release +#!/bin/bash -euo -# try to find where binary is. it seems that the binary -# uses some other variable here: target//vartrix -VARTRIX_BIN=$(find . -type f -name "vartrix") -cp -a $VARTRIX_BIN ${PREFIX}/bin/vartrix +mkdir -p ${PREFIX}/bin + +mv vartrix_* vartrix +chmod 755 vartrix +cp -f vartrix ${PREFIX}/bin diff --git a/recipes/vartrix/meta.yaml b/recipes/vartrix/meta.yaml index 2cfb28684cb8a..dc51ecd4f4926 100644 --- a/recipes/vartrix/meta.yaml +++ b/recipes/vartrix/meta.yaml @@ -1,23 +1,29 @@ {% set name = "vartrix" %} {% set version = "1.1.22" %} -{% set sha256 = "2ccb5dfdf3b0ee0cb149d181229177fa29b7820f5b77c772014ca32d53df5523" %} +{% set url = "https://github.com/10XGenomics/vartrix/releases/download/v1.1.22/vartrix_linux" %} # [linux and x86_64] +{% set sha256 = "a1e4f5e1dc5937d0b09bfcdcac3970d76a13f9e6beac5fdf10c78f1d6e517417" %} # [linux and x86_64] +{% set url = "https://github.com/10XGenomics/vartrix/releases/download/v1.1.22/vartrix_macos" %} # [osx and x86_64] +{% set sha256 = "f8a5d2fd8cb6564599ddeb51897705d57524e8b5bbe0369492729376d7ea5ea4" %} # [osx and x86_64] package: name: {{ name|lower }} version: {{ version }} source: - url: https://github.com/10XGenomics/vartrix/archive/v{{ version }}.tar.gz + url: {{ url }} sha256: {{ sha256 }} build: - number: 3 - skip: True # [osx] - + number: 4 + binary_has_prefix_files: + - vartrix + run_exports: + - {{ pin_subpackage('vartrix', max_pin="x") }} + requirements: build: - {{ compiler('cxx') }} - - rust >=1.13 + - {{ compiler('rust') }} - make host: - zlib @@ -29,9 +35,11 @@ test: - vartrix -h about: - home: https://github.com/10XGenomics/vartrix + home: "https://github.com/10XGenomics/vartrix" license: MIT - license_file: LICENSE + license_family: MIT + # license_file: LICENSE + dev_url: "https://github.com/10XGenomics/vartrix" summary: | VarTrix is a software tool for extracting single cell variant information from 10x Genomics single cell data. diff --git a/recipes/varvamp/meta.yaml b/recipes/varvamp/meta.yaml index 9d6ea2b324986..ef8d005799c0f 100644 --- a/recipes/varvamp/meta.yaml +++ b/recipes/varvamp/meta.yaml @@ -1,5 +1,5 @@ {% set name = "varvamp" %} -{% set version = "0.9.5" %} +{% set version = "1.2.1" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/varvamp-{{ version }}.tar.gz - sha256: 9d6d0d5dc6095aab8920089fd730595ec33bdd43a7de6309bdce84e7870dca4b + sha256: 335707c71b1c834f0f548001bc18485b2dd6e93368434137607ecaec58f66ff5 build: entry_points: diff --git a/recipes/vcf-validator/LICENSE b/recipes/vcf-validator/LICENSE new file mode 100644 index 0000000000000..6b0b1270ff0ca --- /dev/null +++ b/recipes/vcf-validator/LICENSE @@ -0,0 +1,203 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/recipes/vcf-validator/LICENSE_ODB b/recipes/vcf-validator/LICENSE_ODB new file mode 100644 index 0000000000000..52e36215fc329 --- /dev/null +++ b/recipes/vcf-validator/LICENSE_ODB @@ -0,0 +1,71 @@ + +ODB License Exception for vcf-validator (Validator for the Variant Call +Format (VCF)) Software + Version 1.0 + +1. Intent + +The intent of this License Exception is to allow the vcf-validator software +to use ODB without the "copyleft" restrictions that would normally be +imposed by the GPL, the license under which ODB is distributed. + +Specifically, the intent is to allow you to use the original vcf-validator +software in your open source or proprietary works without imposing +any additional restrictions to the terms and conditions of the +Apache 2.0 license used by vcf-validator. + +If you wish to modify the vcf-validator software in such a way that it +requires changes to the persistent object model handled by ODB, you can +continue enjoying the terms of this exception provided that you are +prepared to release your modifications under Apache 2.0 or another open +source license and you obtain a separate license exception for your +modifications from Code Synthesis Tools CC. + +While this exception is specific to vcf-validator, any open source software +project licensed under a more liberal than the GPL license can obtain +a similar exception free of charge by contacting Code Synthesis Tools CC. + +2. Definitions + +"Original Software" is the vcf-validator software, Copyright (c) EMBL - +European Bioinformatics Institute, distributed under the terms of the +Apache 2.0 license, and available to any third party from: + + https://github.com/ebivariation/vcf-validator + +"ODB-Extended Software" are any modifications to the Original Software +that require additions or changes to the persistent object model of +the Original Software that is handled by ODB. + +"Work Based on the Original Software" is any derivative work under the +copyright law that is either based on the Original Software or any +modified version of the Original Software that does not constitute +ODB-Extended Software. + +"Work Based on the ODB-Extended Software" is any derivative work under +the copyright law that is based on any modified version of the Original +Software that constitutes ODB-Extended Software. + +3. Legal Terms and Conditions + +As a special exception to the terms and conditions of version 2 of the +GPL you may use the ODB runtime libraries in Original Software and in +Works Based on the Original Software and distribute the resulting works +in object code or executable form and without making source code for +such works available to any third party, provided that all of the +following conditions are met: + + a) Original Software was licensed as a whole at no charge to all third + parties under the terms of the Apache 2.0 license. + + b) The ODB runtime libraries in Works Based on the Original Software + are used solely for the purpose of supporting the functionality of + the Original Software. + +The same exception does not apply automatically to ODB-Extended Software +or Works Based on the ODB-Extended Software. If you wish to enjoy this +exception for such works, then you will need to license ODB-Extended +Software at no charge to all third parties under the terms of the Apache 2.0 +license or another open source license. You will also need to obtain a +separate License Exception for ODB-Extended Software from Code Synthesis +Tools CC. diff --git a/recipes/vcf-validator/build.sh b/recipes/vcf-validator/build.sh new file mode 100644 index 0000000000000..7a7491a9e1988 --- /dev/null +++ b/recipes/vcf-validator/build.sh @@ -0,0 +1,6 @@ +mkdir -p ${PREFIX}/bin + +mv vcf_validator* ${PREFIX}/bin/vcf_validator +mv vcf_assembly_checker* ${PREFIX}/bin/vcf_assembly_checker + +chmod 755 ${PREFIX}/bin/vcf_assembly_checker ${PREFIX}/bin/vcf_validator diff --git a/recipes/vcf-validator/meta.yaml b/recipes/vcf-validator/meta.yaml new file mode 100644 index 0000000000000..03877f075b8f4 --- /dev/null +++ b/recipes/vcf-validator/meta.yaml @@ -0,0 +1,44 @@ +{% set name = "vcf-validator" %} +{% set version = "0.9.7" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + - url: https://github.com/EBIvariation/vcf-validator/releases/download/v{{ version }}/vcf_validator_linux # [linux] + sha256: 49aef4841cd7d0913ba12020465830b834ccfe20f2094222c8c41511f6c801ac # [linux] + - url: https://github.com/EBIvariation/vcf-validator/releases/download/v{{ version }}/vcf_assembly_checker_linux # [linux] + sha256: a9a00303c05c1fb5a33a5bd1f5c74fb5d8097f92a1f3ee815e19c137c0e26f13 # [linux] + - url: https://github.com/EBIvariation/vcf-validator/releases/download/v{{ version }}/vcf_validator_macos_x64 # [osx and x86] + sha256: 0b97a34fac6cf23951ffc33cdfb7b0602a89b4d5390564c8d816cb83019a3ffc # [osx and x86] + - url: https://github.com/EBIvariation/vcf-validator/releases/download/v{{ version }}/vcf_assembly_checker_macos_x64 # [osx and x86] + sha256: 1b5404a4239da9f5e5e39bece975e4eea55d87c486121a076226829b79477bc3 # [osx and x86] + +build: + script: + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +test: + commands: + - vcf_validator --help + - vcf_assembly_checker --help + +about: + home: https://github.com/EBIVariation/vcf-validator + summary: EBI EVA - Validation tool to ensure VCF specification compliance + license: Apache-2.0 + license_file: + - LICENSE + - LICENSE_ODB + +extra: + recipe-maintainers: + - apriltuesday + - tcezard + - ebi-variation + skip-lints: + - should_be_noarch_generic + - should_not_be_noarch_source diff --git a/recipes/vcf2circos/meta.yaml b/recipes/vcf2circos/meta.yaml index afff96a9bfe2f..e41891030c13e 100644 --- a/recipes/vcf2circos/meta.yaml +++ b/recipes/vcf2circos/meta.yaml @@ -1,6 +1,6 @@ {% set name = "vcf2circos" %} -{% set version = "1.1.1" %} -{% set sha256 = "51305686728685d2cfd934031e5d93079f6887480f90779667186ff24a2cf76f" %} +{% set version = "1.2.0" %} +{% set sha256 = "02a0a62f90a8675bd1a0c2aedd69783a32f431bba4ff3325080aad1303210bf4" %} package: name: {{ name }} @@ -13,9 +13,11 @@ source: build: number: 0 noarch: python - script: {{ PYTHON }} -m pip install . -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv entry_points: - vcf2circos = vcf2circos.__main__:main + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} requirements: host: @@ -34,7 +36,7 @@ requirements: - numpy - pandas - colour - - webcolors + - webcolors <=1.13 - pyfiglet - scipy - python-kaleido @@ -47,6 +49,7 @@ test: about: home: https://github.com/bioinfo-chru-strasbourg/vcf2circos - license: AGPL-3.0 + license: "AGPL-3.0-or-later" + license_family: AGPL license_file: LICENSE summary: "A python package based on Plotly to help generate Circos plots from a VCF file or a JSON configuration file." diff --git a/recipes/vcf2db/meta.yaml b/recipes/vcf2db/meta.yaml index 2e3d15adaf1ec..7be4b6ebd145b 100644 --- a/recipes/vcf2db/meta.yaml +++ b/recipes/vcf2db/meta.yaml @@ -4,7 +4,9 @@ package: build: noarch: generic - number: 1 + number: 3 + run_exports: + - {{ pin_subpackage("vcf2db", max_pin="x") }} source: url: https://github.com/quinlan-lab/vcf2db/archive/89f3a30d14550763488fdd1eec121f5b2dbf4f7e.tar.gz @@ -18,11 +20,11 @@ requirements: - nomkl # [unix] - snappy - python-snappy - - sqlalchemy - - cyvcf2 + - sqlalchemy <2.0 + - cyvcf2 >=0.30 - numpy - peddy >=0.2.9 - - geneimpacts >0.2.0 + - geneimpacts >=0.3 test: commands: diff --git a/recipes/vcf2maf/build.sh b/recipes/vcf2maf/build.sh index 3729b42ec6125..f5f587aa30a19 100644 --- a/recipes/vcf2maf/build.sh +++ b/recipes/vcf2maf/build.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -euo mkdir -p ${PREFIX}/bin -chmod +x *.pl && cp *.pl $PREFIX/bin +chmod +x *.pl && cp -f *.pl ${PREFIX}/bin diff --git a/recipes/vcf2maf/meta.yaml b/recipes/vcf2maf/meta.yaml index 705d7f47b146b..a855fc3d64fdd 100644 --- a/recipes/vcf2maf/meta.yaml +++ b/recipes/vcf2maf/meta.yaml @@ -1,17 +1,20 @@ -{% set version = "1.6.21" %} -{% set sha256 = "d0a05071bec295ac753b81198f3a23ccdf3519f345a3d11daf577ed1aef3f658" %} +{% set name = "vcf2maf" %} +{% set version = "1.6.22" %} +{% set sha256 = "17d114a43e7bba6aa36d2a4cd548d5d74069bccf8f25d97da0d90275fb484a3e" %} package: - name: vcf2maf - version: '{{version}}' - -build: - noarch: generic - number: 0 + name: {{ name }} + version: {{version}} source: url: https://github.com/mskcc/vcf2maf/archive/v{{ version }}.tar.gz - sha256: '{{ sha256 }}' + sha256: {{ sha256 }} + +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage('vcf2maf', max_pin="x") }} requirements: run: @@ -24,13 +27,16 @@ test: - vcf2maf.pl --help about: - home: https://github.com/mskcc/vcf2maf + home: "https://github.com/mskcc/vcf2maf" license: Apache-2.0 - summary: Convert a VCF into a MAF where each variant is annotated to only one of - all possible gene isoforms + summary: "Convert a VCF into a MAF where each variant is annotated to only one of + all possible gene isoforms." + license_family: APACHE + dev_url: "https://github.com/mskcc/vcf2maf" - license_family: Apache extra: notes: |- This package installs only vcf2maf and does not integrate with the variant-effect-predictor (VEP). To do so, please follow the instructions at https://github.com/mskcc/vcf2maf/blob/master/README.md. + identifiers: + - doi:10.5281/zenodo.593251 diff --git a/recipes/vcf2parquet/meta.yaml b/recipes/vcf2parquet/meta.yaml index f5b5e47b394db..ad6addc3938bc 100644 --- a/recipes/vcf2parquet/meta.yaml +++ b/recipes/vcf2parquet/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.4.1" %} -{% set sha256 = "c0eb32658e4ec05433b265c78c158e216e2e464a15174615c1e6d39380019a46" %} +{% set version = "0.5.0" %} +{% set sha256 = "61cba26e418d33af994bc85c4e5174ed115fc15bcf94f4f54e14a31ab839c82f" %} package: name: vcf2parquet @@ -11,17 +11,18 @@ source: build: number: 0 + run_exports: + - {{ pin_subpackage('vcf2parquet', max_pin="x.x") }} requirements: build: - {{ compiler("c") }} - - rust + - {{ compiler("rust") }} - pkg-config # [osx] host: - xz - zlib - bzip2 - run: test: commands: diff --git a/recipes/vcf2variants/meta.yaml b/recipes/vcf2variants/meta.yaml index 06461f2201e7e..1e86cba1234ab 100644 --- a/recipes/vcf2variants/meta.yaml +++ b/recipes/vcf2variants/meta.yaml @@ -1,5 +1,5 @@ {% set name = "vcf2variants" %} -{% set version = "0.3" %} +{% set version = "1.3" %} package: name: '{{ name|lower }}' @@ -7,12 +7,14 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 8780f3cf331e76dde7add454dbf346b38a69eb0b398b8b751f07413824f1b9a4 + sha256: 152f8e97ae8d23613672e93b33713e4fb620a92bbae72bd052e75e2fc409db12 build: number: 0 script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv noarch: python + run_exports: + - {{ pin_subpackage('vcf2variants', max_pin="x") }} requirements: host: @@ -20,11 +22,15 @@ requirements: - pip run: - python >=3.6 - - cyvcf2 + - natsort + - pysam + - vcfphasesets test: commands: - vcf2variants -h + imports: + - vcf2variants about: home: https://github.com/varda/varda2_preprocessing diff --git a/recipes/vcfanno/meta.yaml b/recipes/vcfanno/meta.yaml index ab4d005b463ac..5432278f824fa 100644 --- a/recipes/vcfanno/meta.yaml +++ b/recipes/vcfanno/meta.yaml @@ -5,13 +5,15 @@ package: version: {{ version }} source: - url: https://github.com/brentp/vcfanno/releases/download/v{{ version }}/vcfanno_osx # [osx] - sha256: 2f51637c6358fec7e7fcb1dbbfc1b2cbbed6ff47a7c6b7ef386f1152ff74829f # [osx] - url: https://github.com/brentp/vcfanno/releases/download/v{{ version }}/vcfanno_linux64 # [linux] - sha256: a98a9be6dfec32b039b21563659c4ecf0ec884ad3cdfaf0732b44c3857520592 # [linux] + - url: https://github.com/brentp/vcfanno/releases/download/v{{ version }}/vcfanno_osx # [osx] + sha256: 2f51637c6358fec7e7fcb1dbbfc1b2cbbed6ff47a7c6b7ef386f1152ff74829f # [osx] + - url: https://github.com/brentp/vcfanno/releases/download/v{{ version }}/vcfanno_linux64 # [linux and x86_64] + sha256: a98a9be6dfec32b039b21563659c4ecf0ec884ad3cdfaf0732b44c3857520592 # [linux and x86_64] + - url: https://github.com/brentp/vcfanno/releases/download/v{{ version }}/vcfanno_linux_aarch64 # [linux and aarch64] + sha256: 732007523998f9a48071fa3dd75d4492c972dd786861b0a5d36cd0669f5d5288 # [linux and aarch64] build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage("vcfanno", max_pin="x") }} @@ -22,6 +24,8 @@ test: - "vcfanno 2>&1 | grep 'vcfanno'" extra: + additional-platforms: + - linux-aarch64 skip-lints: - should_be_noarch_generic # uses per platform binaries - should_not_be_noarch_source # uses binaries diff --git a/recipes/vcfbub/build.sh b/recipes/vcfbub/build.sh index d98e6824bb5bf..d677b0b47511d 100644 --- a/recipes/vcfbub/build.sh +++ b/recipes/vcfbub/build.sh @@ -1,6 +1,5 @@ #!/bin/bash -euo -RUST_BACKTRACE=1 CARGO_HOME="${BUILD_PREFIX}/.cargo" cargo build --release - mkdir -p $PREFIX/bin -cp target/release/vcfbub $PREFIX/bin + +RUST_BACKTRACE=1 cargo install --verbose --path . --root ${PREFIX} diff --git a/recipes/vcfbub/meta.yaml b/recipes/vcfbub/meta.yaml index 92141774cd460..4cdeb5b6cc0ea 100644 --- a/recipes/vcfbub/meta.yaml +++ b/recipes/vcfbub/meta.yaml @@ -1,5 +1,5 @@ {% set name = "vcfbub" %} -{% set version = "0.1.0" %} +{% set version = "0.1.1" %} package: name: {{ name|lower }} @@ -7,15 +7,18 @@ package: source: url: https://github.com/pangenome/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz - sha256: bd8af0ed38ea11ee073bef1d611c78844341ff1c60961fc0d12eb26b5da27e09 + sha256: 7a952b52a98a7f3508c77a8851501b5185c9bff6cd456587ed5a5eba23f83099 build: - number: 2 + number: 1 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} requirements: build: - {{ compiler('c') }} - - rust >=1.51 + - {{ compiler('rust') }} + - clangdev test: commands: @@ -24,9 +27,13 @@ test: about: home: https://github.com/pangenome/{{ name }} license: MIT + license_family: MIT license_file: LICENSE - summary: popping bubbles in vg deconstruct VCFs + summary: Popping bubbles in vg deconstruct VCFs + dev_url: https://github.com/pangenome/{{ name }} extra: + additional-platforms: + - linux-aarch64 recipe-maintainers: - AndreaGuarracino diff --git a/recipes/vcfdist/build.sh b/recipes/vcfdist/build.sh new file mode 100644 index 0000000000000..ba9402cf841f3 --- /dev/null +++ b/recipes/vcfdist/build.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +export CPATH="${PREFIX}/include" +export CPLUS_INCLUDE_PATH="${PREFIX}/include" +export LD_LIBRARY_PATH="${PREFIX}/lib" + +cd src && make +install -d "${PREFIX}/bin" +install vcfdist "${PREFIX}/bin" diff --git a/recipes/vcfdist/conda_build_config.yaml b/recipes/vcfdist/conda_build_config.yaml new file mode 100644 index 0000000000000..50a90b77e33c2 --- /dev/null +++ b/recipes/vcfdist/conda_build_config.yaml @@ -0,0 +1,4 @@ +htslib: + - 1.17 +pin_run_as_build: + htslib: x.x diff --git a/recipes/vcfdist/meta.yaml b/recipes/vcfdist/meta.yaml new file mode 100644 index 0000000000000..c2947a9c708d7 --- /dev/null +++ b/recipes/vcfdist/meta.yaml @@ -0,0 +1,42 @@ +{% set version = "2.5.3" %} +{% set sha256 = "9f30bdfef7a63dc6aef19389e6585707962cbeba5390ad4f08ca0a02823484fc" %} + +package: + name: vcfdist + version: {{ version }} + +source: + url: https://github.com/TimD1/vcfdist/archive/refs/tags/v{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage("vcfdist", max_pin="x.x") }} + +requirements: + build: + - make + - {{ compiler('cxx') }} + host: + - htslib + run: + - htslib + +test: + commands: + - vcfdist --version + +about: + summary: 'vcfdist: benchmarking phased germline variant calls in VCF format' + home: https://github.com/TimD1/vcfdist + license: GPL-3.0-only + license_family: GPL3 + license_file: LICENSE + doc_url: https://github.com/TimD1/vcfdist/wiki + +extra: + maintainers: + - TimD1 + identifiers: + - doi:10.5281/zenodo.8368282 diff --git a/recipes/vcflib/0006-wfa2-lib.patch b/recipes/vcflib/0006-wfa2-lib.patch new file mode 100644 index 0000000000000..392b1a17c2d31 --- /dev/null +++ b/recipes/vcflib/0006-wfa2-lib.patch @@ -0,0 +1,32 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 40dedb3..b738d28 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -380,10 +380,7 @@ if(WFA_GITMODULE) + else(WFA_GITMODULE) + include_directories($ENV{CMAKE_PREFIX_PATH}/include/wfa2lib) + set(WFA_INCLUDE_DIRS ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/wfa2lib) +- find_library(WFALIB wfa2 wfa) # distro search for shared lib +- if(NOT WFALIB) +- message(STATUS "ERROR: Can not find libfwa! Make sure it is installed or use the git submodule instead") +- endif() ++ find_library(WFALIB wfa2 wfa REQUIRED) # distro search for shared lib + endif(WFA_GITMODULE) + + include_directories(${WFA_INCLUDE_DIRS}) +@@ -454,6 +451,7 @@ if (NOT BUILD_ONLY_LIB) + add_executable(${BIN} src/${BIN}.cpp) + add_dependencies(${BIN} vcflib) + target_link_libraries(${BIN} PUBLIC ${vcflib_LIBS} vcflib) ++ target_link_libraries(${BIN} PUBLIC ${vcflib_LIBS} ${WFALIB}) + endforeach(BIN ${BINS}) + # These binaries include WFALIB + target_link_libraries(vcfallelicprimitives PUBLIC ${WFALIB}) +@@ -602,6 +600,6 @@ endif (PANDOC) + + install(TARGETS vcflib ARCHIVE DESTINATION ${CMAKE_INSTALL_BINDIR}) + +-install(FILES ${INCLUDES} DESTINATION include) ++install(FILES ${INCLUDES} DESTINATION include/vcflib) + + install(DIRECTORY ${CMAKE_SOURCE_DIR}/man/ DESTINATION ${CMAKE_INSTALL_PREFIX}/man/man1) diff --git a/recipes/vcflib/backport_pr_394.patch b/recipes/vcflib/backport_pr_394.patch index fa6e5e24c0671..b2be5bdcc49da 100644 --- a/recipes/vcflib/backport_pr_394.patch +++ b/recipes/vcflib/backport_pr_394.patch @@ -2,11 +2,19 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index 088605d..286c9fc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -445,6 +445,8 @@ if (NOT BUILD_ONLY_LIB) +@@ -462,6 +462,15 @@ if (NOT BUILD_ONLY_LIB) + target_link_libraries(vcfallelicprimitives PUBLIC ${WFALIB}) + target_link_libraries(vcfcleancomplex PUBLIC ${WFALIB}) target_link_libraries(vcfparsealts PUBLIC ${WFALIB}) - target_link_libraries(vcfroc PUBLIC ${WFALIB}) - target_link_libraries(vcfstats PUBLIC ${WFALIB}) + target_link_libraries(vcfstreamsort PUBLIC ${WFALIB}) + target_link_libraries(vcfuniq PUBLIC ${WFALIB}) ++ target_link_libraries(vcfcreatemulti PUBLIC ${WFALIB}) ++ target_link_libraries(vcfld PUBLIC ${WFALIB}) ++ target_link_libraries(vcfecho PUBLIC ${WFALIB}) ++ target_link_libraries(vcfuniqalleles PUBLIC ${WFALIB}) ++ target_link_libraries(vcffilter PUBLIC ${WFALIB}) ++ target_link_libraries(permuteGPAT++ PUBLIC ${WFALIB}) ++ target_link_libraries(vcfintersect PUBLIC ${WFALIB}) + target_link_libraries(vcfroc PUBLIC ${WFALIB}) + target_link_libraries(vcfstats PUBLIC ${WFALIB}) target_link_libraries(vcfwave PUBLIC ${WFALIB}) - install(TARGETS ${BINS} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) diff --git a/recipes/vcflib/build.sh b/recipes/vcflib/build.sh index c282330d8bd3e..d4948a04001c5 100644 --- a/recipes/vcflib/build.sh +++ b/recipes/vcflib/build.sh @@ -1,20 +1,26 @@ #!/bin/bash set -ex -if [ `uname` == Darwin ]; then +OS=$(uname) +ARCH=$(uname -m) + +if [[ "${OS}" == "Darwin" && "${ARCH}" == "x86_64" ]]; then echo $(pwd)/zig-macos-x86_64-* export PATH="$(pwd)/zig-macos-x86_64-0.10.1:${PATH}" - else - echo $(pwd)/zig-linux-x86_64-* - export PATH="$(pwd)/zig-linux-x86_64-0.10.1:${PATH}" +elif [[ "${OS}" == "Darwin" && "${ARCH}" == "arm64" ]]; then + echo $(pwd)/zig-macos-aarch64-* + export PATH="$(pwd)/zig-macos-aarch64-0.10.1:${PATH}" +else + echo $(pwd)/zig-linux-${ARCH}-* + export PATH="$(pwd)/zig-linux-${ARCH}-0.10.1:${PATH}" fi -export INCLUDES="-I${PREFIX}/include -I. -Ihtslib -Itabixpp -I\$(INC_DIR)" -export LIBPATH="-L${PREFIX}/lib -L. -Lhtslib -Ltabixpp" +export INCLUDES="-I${PREFIX}/include -I. -Ihtslib -Itabixpp -Iwfa2 -I\$(INC_DIR)" +export LIBPATH="-L${PREFIX}/lib -L. -Lhtslib -Ltabixpp -Lwfa2" export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib -lhts -ltabixpp -lpthread -lz -lm -llzma -lbz2 -fopenmp -lwfa2" -export CXXFLAGS="${CXXFLAGS} -O3 -D_FILE_OFFSET_BITS=64" +export CXXFLAGS="${CXXFLAGS} -O3 -D_FILE_OFFSET_BITS=64 -I${PREFIX}/include" -sed -i.bak 's/CFFFLAGS:= -O3/CFFFLAGS=-O3 -D_FILE_OFFSET_BITS=64 -std=c++0x/' contrib/smithwaterman/Makefile +sed -i.bak 's/CFFFLAGS:= -O3/CFFFLAGS=-O3 -D_FILE_OFFSET_BITS=64/' contrib/smithwaterman/Makefile sed -i.bak 's/CFLAGS/CXXFLAGS/g' contrib/smithwaterman/Makefile sed -i.bak 's/$=3 + - pkg-config host: - libgomp # [linux] - llvm-openmp # [osx] - zlib - htslib - tabixpp - - pkg-config - wfa2-lib + - pandoc run: - python >=3 - perl - htslib - tabixpp + - wfa2-lib - eigen - jsoncpp - - wfa2-lib + - wget test: requires: @@ -63,16 +74,47 @@ test: - "vcfuniq test.vcf" about: - home: https://github.com/vcflib/vcflib + home: "https://github.com/vcflib/vcflib" license: MIT license_family: MIT license_file: LICENSE - summary: Command-line tools for manipulating VCF files + summary: "Command-line tools for manipulating VCF files." + dev_url: "https://github.com/vcflib/vcflib" + doc_url: "https://github.com/vcflib/vcflib/blob/v{{ version }}/README.md" extra: + skip-lints: + # uses submodules + - uses_vcs_url + additional-platforms: + - linux-aarch64 + #zig osx-arm64 error: error(link): undefined reference to symbol 'dyld_stub_binder' + #- osx-arm64 recipe-maintainers: - jpuritz identifiers: - biotools:vcflib - doi:10.1371/journal.pcbi.1009123 - usegalaxy-eu:vcfsort + - usegalaxy-eu:vcfallelicprimitives + - usegalaxy-eu:vcfbreakcreatemulti + - usegalaxy-eu:vcffilter2 + - usegalaxy-eu:vcfcheck + - usegalaxy-eu:vcfcombine + - usegalaxy-eu:vcfaddinfo + - usegalaxy-eu:vcf2tsv + - usegalaxy-eu:vcfleftalign + - usegalaxy-eu:vcfhethom + - usegalaxy-eu:vcfrandomsample + - usegalaxy-eu:vcfbedintersect + - usegalaxy-eu:vcfgenotypes + - usegalaxy-eu:vcffixup + - usegalaxy-eu:vcfgeno2haplo + - usegalaxy-eu:vcfvcfintersect + - usegalaxy-eu:vcfanno + - usegalaxy-eu:vcfannotate + - usegalaxy-eu:vcfcommonsamples + - usegalaxy-eu:vcfflatten2 + - usegalaxy-eu:vcfdistance + - usegalaxy-eu:vcfannotategenotypes + - usegalaxy-eu:vcfselectsamples diff --git a/recipes/vcflib/pkg-config.patch b/recipes/vcflib/pkg-config.patch index ae58978242cc2..3001b66884c21 100644 --- a/recipes/vcflib/pkg-config.patch +++ b/recipes/vcflib/pkg-config.patch @@ -1,18 +1,18 @@ Author: Andreas Tille modified for bioconda by Jon Puritz -Description: Add pkg-config file to simplify building of freebayes +Description: Add pkg-config file to simplify building of freebayes. Forwarded: not-needed --- a/dev/null +++ b/libvcflib/libvcflib.pc @@ -0,0 +1,12 @@ -+prefix=/usr ++prefix=${PREFIX} +exec_prefix=${prefix} +libdir=${exec_prefix}/lib -+includedir=${prefix}/include/vcflib ++includedir=${prefix}/include + +Name: libvcflib +Version: 1.0 +Requires: +Description: C++ library for parsing and manipulating VCF files +Libs: -L${libdir} -lvcflib -+Cflags: -I${includedir} ++Cflags: -I${includedir}/vcflib + diff --git a/recipes/vcfphasesets/meta.yaml b/recipes/vcfphasesets/meta.yaml new file mode 100644 index 0000000000000..a7e53659eb6f4 --- /dev/null +++ b/recipes/vcfphasesets/meta.yaml @@ -0,0 +1,40 @@ +{% set name = "vcfphasesets" %} +{% set version = "0.3" %} + +package: + name: '{{ name|lower }}' + version: '{{ version }}' + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + sha256: 2a6b8fc061d42bb4fa0d2c717978f90137a55a956928b535d6ea55c2dbd1be81 + +build: + number: 0 + script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv + noarch: python + run_exports: + - {{ pin_subpackage('vcfphasesets', max_pin="x") }} + + +requirements: + host: + - python >=3.7 + - pip + run: + - python >=3.7 + - pysam + +test: + imports: + - vcfphasesets + +about: + home: https://github.com/LUMC/vcfphasesets + license: MIT + license_family: MIT + summary: Get variants as phase sets from a VCF file using pysam. + +extra: + recipe-maintainers: + - marksantcroos diff --git a/recipes/vcfpy/meta.yaml b/recipes/vcfpy/meta.yaml index fff3b36cc93c2..a16833b549124 100644 --- a/recipes/vcfpy/meta.yaml +++ b/recipes/vcfpy/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.13.6" %} -{% set sha256 = "778afe1dfec387206ddac754186e0777c326e0c300496b7631ade532532ce0bb" %} +{% set version = "0.13.8" %} +{% set sha256 = "e7d00965105e7ca9567299f073ad60c6bbfc78d685d25ba33353988af9b33160" %} package: name: vcfpy @@ -10,16 +10,18 @@ source: sha256: {{ sha256 }} build: - script: python -m pip install --no-deps --ignore-installed . noarch: python number: 0 + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv + run_exports: + - {{ pin_subpackage('vcfpy', max_pin="x.x") }} requirements: host: - - python >=3 + - python >=3.8 - pip run: - - python >=3 + - python >=3.8 - pysam >=0.10.0 test: diff --git a/recipes/vcfsim/meta.yaml b/recipes/vcfsim/meta.yaml index 4123c6047645d..27dbb82d06a37 100644 --- a/recipes/vcfsim/meta.yaml +++ b/recipes/vcfsim/meta.yaml @@ -1,5 +1,5 @@ {% set name = "vcfsim" %} -{% set version = "1.0.5.alpha" %} +{% set version = "1.0.16.alpha" %} package: name: {{ name|lower }} @@ -7,62 +7,47 @@ package: source: url: https://github.com/Pie115/VCFSimulator-SamukLab/archive/{{ version }}.tar.gz - sha256: 3930958c2e52f62e5dd9e685307ff03e5387ae80158339806152da7f7aaa57ac + sha256: 385640fdee385c6710ba7bda68cedd28f665f3b0d950d400662f3d5aa374ccfa build: + noarch: python entry_points: - vcfsim=vcfsim.__main__:main script: {{ PYTHON }} -m pip install . -vv number: 0 - skip: True run_exports: - {{ pin_subpackage('vcfsim', max_pin="x") }} - -requirements: - build: - - {{ compiler('c') }} - - cross-python_{{ target_platform }} - - python - - pybind11 - - numpy +requirements: host: - - python >=3.8 - - cython + - python >=3.6 - pip - setuptools - numpy - - setuptools_scm - - gsl - + - pandas + - msprime + - ipython # Include this only if IPython features are used outside notebooks + run: - - python >=3.8 - - pandas >=1.5.2 + - python >=3.6 - numpy - - msprime >=1.0.1 - - tskit >=0.4 - - demes >=0.2 - - gsl - - scikit-allel >=1.3.5 - - scikit-learn >=1.2.0 - - scipy >=1.9.3 + - pandas + - msprime + - ipython # Include this only if IPython features are used outside notebooks test: imports: - vcfsim commands: - - pip check - vcfsim --help - requires: - - pip about: home: https://github.com/Pie115/VCFSimulator-SamukLab license: MIT license_file: LICENSE.txt - summary: "Script for generating simulated VCF's" + summary: "Script for generating simulated VCF's leveraging a coalescent simulating backend." description: | - "vcfsim is a new command-line tool for generating simulated VCF's(variant call format files for encoding genetic data). Leveraging a coalescent simulating backend and providing an interface from Msprime coalescent simulating package to pandas. VCF's can now be easily simulated with just a few command line arguments!" + "VCFSim is a new command-line tool for generating simulated VCF's(variant call format files for encoding genetic data). Leveraging a coalescent simulating backend and providing an interface from Msprime coalescent simulating package to pandas. VCF's can now be easily simulated with just a few command line arguments!" extra: recipe-maintainers: diff --git a/recipes/vcftools/build.sh b/recipes/vcftools/build.sh index 6f61929f3045b..b092226687777 100644 --- a/recipes/vcftools/build.sh +++ b/recipes/vcftools/build.sh @@ -1,5 +1,11 @@ #!/bin/bash set -euo pipefail + +# uses random_shuffle which was removed in C++17 +export CXXFLAGS="-std=c++11 ${CXXFLAGS}" + +export M4=$BUILD_PREFIX/bin/m4 + ./autogen.sh ./configure --prefix=$PREFIX #sed -i.bak -e 's/SUBDIRS = cpp perl/SUBDIRS = cpp/' ./src/Makefile diff --git a/recipes/vcftools/meta.yaml b/recipes/vcftools/meta.yaml index 296c3146b59a1..9b96a1085272c 100644 --- a/recipes/vcftools/meta.yaml +++ b/recipes/vcftools/meta.yaml @@ -13,12 +13,14 @@ source: - patch build: - number: 9 + number: 11 + run_exports: + - {{ pin_subpackage('vcftools', max_pin='x.x') }} requirements: build: - - make - {{ compiler('cxx') }} + - make - autoconf - automake - libtool @@ -41,5 +43,9 @@ about: summary: A set of tools written in Perl and C++ for working with VCF files. extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - biotools:vcftools + - doi:10.1093/bioinformatics/btr330 diff --git a/recipes/vclean/meta.yaml b/recipes/vclean/meta.yaml new file mode 100644 index 0000000000000..64dbe96be5c08 --- /dev/null +++ b/recipes/vclean/meta.yaml @@ -0,0 +1,55 @@ +{% set name = "vclean" %} +{% set version = "0.2.1" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/vclean-{{ version }}.tar.gz + sha256: 17aa09563d96b7f06b4052fc73a764cb9959bf0bc1306bfe0c1a696b4a08088c + +build: + entry_points: + - vclean = vclean.cli:cli + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + number: 0 + run_exports: + - {{ pin_subpackage("vclean", max_pin="x.x") }} + +requirements: + host: + - python ==3.9.0 + - flit-core >=3.2,<4 + - pip + run: + - python ==3.9.0 + - pandas + - numpy + - matplotlib-base + - seaborn-base + - scikit-learn + - lightgbm + - biopython + - checkv + - seqkit + - kmer-jellyfish + - prodigal + - mmseqs2 + +test: + commands: + - vclean --help + +about: + summary: 'vClean: Assessing the contamination of viral genomes' + home: https://github.com/TsumaR/vclean + license: GPL-3.0-only + license_family: GPL3 + license_file: LICENSE + dev_url: https://github.com/TsumaR/vclean + +extra: + recipe-maintainers: + - TsumaR diff --git a/recipes/vcontact3/meta.yaml b/recipes/vcontact3/meta.yaml new file mode 100644 index 0000000000000..908e3e0868885 --- /dev/null +++ b/recipes/vcontact3/meta.yaml @@ -0,0 +1,63 @@ +{% set name = "vcontact3" %} +{% set version = "3.0.0.b65" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: "https://bitbucket.org/MAVERICLab/vcontact3/get/{{ version }}.tar.gz" + sha256: 2f1bab1b332a2ece1f4eabceaaa431baa0c45c769efa725bc5a709dcb093f7f7 + +build: + number: 0 + noarch: python + run_exports: + - {{ pin_subpackage('vcontact3', max_pin='x') }} + script: "{{ PYTHON }} -m pip install --no-deps ." + +requirements: + host: + - pip + - python >=3.9,<3.11 + run: + - python >=3.9,<3.11 + - numpy >=1.23.5 + - pandas >=2.1.1 + - scikit-learn >=1.2.2 + - seaborn >=0.12.1 + - matplotlib-base >=3.7.1 + - scipy >=1.10.1 + - jenkspy >=0.3.2 + - networkx >=3.1 + - upsetplot >=0.7.0 + - tqdm >=4.65.0 + - ete3 >=3.1.3 + - jinja2 >=3.0.3 + - scikit-bio >=0.5.8 + - pyrodigal >=2.3.0 + - pyrodigal-gv >=0.3.1 + - joblib >=1.2.0 + - python-igraph >=0.10.4 + - psutil >=5.9.5 + - biopython >=1.81 + - swifter >=1.3.4 + - pyarrow >=11.0.0 + - dill >=0.3.6 + - pytables >=3.8.0 + - markupsafe >=2.0.1 + - mmseqs2 >=15.6f452 + - bioinfokit >=2.1.3 + - networkit >=11.0 + +test: + commands: + - vcontact3 --help + +about: + home: https://bitbucket.org/MAVERICLab/vcontact3 + license: GPLv3 + license_file: LICENSE + license_family: GPL + summary: Viral Contig Automatic Clustering and Taxonomy + doc_url: https://bitbucket.org/MAVERICLab/vcontact3/src/master/README.md diff --git a/recipes/velocyto.py/meta.yaml b/recipes/velocyto.py/meta.yaml index 3df9377746c6a..d562d51c97a22 100644 --- a/recipes/velocyto.py/meta.yaml +++ b/recipes/velocyto.py/meta.yaml @@ -9,9 +9,10 @@ source: sha256: 2461eabf2ec6b152240c95f7ad8a0a5768a83c72822d9398beec2981732b890d build: - number: 6 + number: 7 + run_exports: + - {{ pin_subpackage("velocyto.py", max_pin="x.x") }} script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vvv" - skip: True # [py2k] entry_points: - velocyto = velocyto.commands.velocyto:cli diff --git a/recipes/velvet/build.sh b/recipes/velvet/build.sh index 215ead44a0b39..95485de299923 100644 --- a/recipes/velvet/build.sh +++ b/recipes/velvet/build.sh @@ -1,5 +1,7 @@ #!/bin/bash -make CC=${CC} CFLAGS="${CFLAGS}" 'CATEGORIES=4' 'MAXKMERLENGTH=191' 'OPENMP=1' 'LONGSEQUENCES=1' +set -xe + +make -j ${CPU_COUNT} CC=${CC} CFLAGS="${CFLAGS}" 'CATEGORIES=4' 'MAXKMERLENGTH=191' 'OPENMP=1' 'LONGSEQUENCES=1' mkdir -p $PREFIX/bin cp velvetg velveth $PREFIX/bin diff --git a/recipes/velvet/meta.yaml b/recipes/velvet/meta.yaml index f6f73f0712ba5..445a544f7f3da 100644 --- a/recipes/velvet/meta.yaml +++ b/recipes/velvet/meta.yaml @@ -4,8 +4,10 @@ package: name: velvet version: {{ version }} build: - number: 6 + number: 7 skip: True # [osx] + run_exports: + - {{ pin_subpackage("velvet", max_pin="x") }} source: url: https://github.com/dzerbino/velvet/archive/refs/tags/v{{ version }}.tar.gz sha256: 4615e52dc2e8a05f1009daf2c0978c218860be364afa044f73677cd298f10c7b @@ -22,11 +24,16 @@ test: - velvetg | grep velvetg > /dev/null - velveth | grep velveth > /dev/null about: - home: https://www.ebi.ac.uk/~zerbino/velvet/ - license: GPL + home: https://europepmc.org/article/pmc/2336801 + license: GPL-2.0-only license_file: LICENSE.txt + license_family: GPL summary: Sequence Assembler for short reads + dev_url: https://github.com/dzerbino/velvet + doc_url: https://europepmc.org/article/pmc/2336801#free-full-text extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:velvet diff --git a/recipes/vembrane/meta.yaml b/recipes/vembrane/meta.yaml index 31bd417db94f3..0c4003b0d066e 100644 --- a/recipes/vembrane/meta.yaml +++ b/recipes/vembrane/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.0.3" %} +{% set version = "1.0.7" %} package: name: vembrane @@ -6,26 +6,28 @@ package: source: url: https://pypi.io/packages/source/v/vembrane/vembrane-{{ version }}.tar.gz - sha256: c788e7077a10b388f5fb2f78f79a99025d1d5871af1bc1655e98d3b6a21c97d7 + sha256: 4e94ff702662d2b2cd3043525500c250661a51a39dec69ca4ef94d17ceb51892 build: number: 0 entry_points: - vembrane = vembrane.cli:main noarch: python - script: {{ PYTHON }} -m pip install . -vv + script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vvv + run_exports: + - {{ pin_subpackage('vembrane', max_pin="x") }} requirements: host: - pip - - poetry >=0.12 + - poetry >=1.5.1 - python >=3.8 run: - asttokens >=2.0,<3.0 - intervaltree >=3.0,<4.0 - numpy >=1.23,<2.0 - pysam >=0.20,<0.21 - - python >=3.8,<4 + - python >=3.8 - pyyaml >=6.0,<7 test: @@ -38,6 +40,7 @@ test: about: home: https://github.com/vembrane/vembrane license: MIT + license_family: MIT license_file: LICENSE summary: Filter VCF/BCF files with Python expressions. diff --git a/recipes/venndata/meta.yaml b/recipes/venndata/meta.yaml new file mode 100644 index 0000000000000..3e488e22a69e7 --- /dev/null +++ b/recipes/venndata/meta.yaml @@ -0,0 +1,38 @@ +{% set name = "venndata" %} +{% set version = "0.1.0" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/venndata-{{ version }}.tar.gz + sha256: 7b497132fbc9797b8caa20a470b8bc61671cdf3d9ed62a53da9d6bd15bc23def + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + +requirements: + host: + - python >=3.6 + - pip + run: + - python >=3.6 + +test: + imports: + - venndata + +about: + home: https://github.com/mandalsubhajit/venndata + summary: Package for plotting Venn diagrams with more than 3 sets + license: MIT + license_family: MIT + +extra: + recipe-maintainers: + - heylf diff --git a/recipes/verifybamid2/build_failure.osx-64.yaml b/recipes/verifybamid2/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..c211e26887045 --- /dev/null +++ b/recipes/verifybamid2/build_failure.osx-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: 719e48692e845e21d83868b9c295678d5c3c8132b4b4e2502617109015fae933 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |2- + libexpat: 2.6.2-h73e2aa4_0 conda-forge + libiconv: 1.17-hd75f5a5_2 conda-forge + libllvm16: 16.0.6-hbedff68_3 conda-forge + libnghttp2: 1.58.0-h64cf6d3_1 conda-forge + libssh2: 1.11.0-hd019ec5_0 conda-forge + libuv: 1.48.0-h67532ce_0 conda-forge + libxml2: 2.12.7-h3e169fe_1 conda-forge + libzlib: 1.3.1-h87427d6_1 conda-forge + llvm-tools: 16.0.6-hbedff68_3 conda-forge + m4: 1.4.18-haf1e3a3_1001 conda-forge + make: 4.3-h22f3db7_1 conda-forge + ncurses: 6.5-h5846eda_0 conda-forge + openssl: 3.3.1-h87427d6_0 conda-forge + perl: 5.32.1-7_h10d778d_perl5 conda-forge + rhash: 1.4.4-h0dc2134_0 conda-forge + sigtool: 0.1.3-h88f4db0_0 conda-forge + tapi: 1100.0.11-h9ce4665_0 conda-forge + xz: 5.2.6-h775f41a_0 conda-forge + zstd: 1.5.6-h915ae27_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Source cache directory is: /opt/mambaforge/envs/bioconda/conda-bld/src_cache + Downloading source to cache: 2.0.1_03c85fa871.tar.gz + Downloading https://github.com/Griffan/VerifyBamID/archive/2.0.1.tar.gz + Success + dyld[65511]: Library not loaded: @rpath/librhash.1.dylib + Referenced from: <35DD3714-1FE0-3722-8243-CAF393FEE8B7> /opt/mambaforge/envs/bioconda/pkgs/cmake-3.29.5-h749d262_0/bin/cmake + Reason: tried: '/opt/mambaforge/envs/bioconda/pkgs/cmake-3.29.5-h749d262_0/bin/../lib/librhash.1.dylib' (no such file), '/opt/mambaforge/envs/bioconda/pkgs/cmake-3.29.5-h749d262_0/bin/../lib/librhash.1.dylib' (no such file), '/usr/local/lib/librhash.1.dylib' (no such file), '/usr/lib/librhash.1.dylib' (no such file, not in dyld cache) + /opt/mambaforge/envs/bioconda/conda-bld/verifybamid2_1718297263210/work/conda_build.sh: line 15: 65511 Abort trap: 6 cmake -DCMAKE_INSTALL_PREFIX=${PREFIX} .. + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/verifybamid2_1718297263210/work + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/verifybamid2_1718297263210/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/verifybamid2_1718297263210/_build_env + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/verifybamid2_1718297263210/work + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/verifybamid2-2.0.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/verifybamid2_1718297263210/work/conda_build.sh']' returned non-zero exit status 134. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/verifybamid2-2.0.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + INFO: activate_clangxx_osx-64.sh made the following environmental changes: + CLANGXX=x86_64-apple-darwin13.4.0-clang + CXX=x86_64-apple-darwin13.4.0-clang + CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/verifybamid2-2.0.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/verifybamid2-2.0.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix +# Last 100 lines of the build log. diff --git a/recipes/verifybamid2/meta.yaml b/recipes/verifybamid2/meta.yaml index df8fd831d7f62..10426dc8cce54 100644 --- a/recipes/verifybamid2/meta.yaml +++ b/recipes/verifybamid2/meta.yaml @@ -7,7 +7,7 @@ package: version: {{ version }} build: - number: 10 + number: 11 source: url: https://github.com/Griffan/VerifyBamID/archive/{{ version }}.tar.gz diff --git a/recipes/verifyidintensity/meta.yaml b/recipes/verifyidintensity/meta.yaml index bbebf8c09f975..6b34fdce99fe1 100644 --- a/recipes/verifyidintensity/meta.yaml +++ b/recipes/verifyidintensity/meta.yaml @@ -5,7 +5,7 @@ package: version: {{ version }} build: - number: 4 + number: 5 source: url: https://github.com/gjun/verifyIDintensity/archive/master.zip diff --git a/recipes/verkko/build.sh b/recipes/verkko/build.sh index fbfdf138b3220..72be8124e90ef 100644 --- a/recipes/verkko/build.sh +++ b/recipes/verkko/build.sh @@ -1,6 +1,8 @@ #!/bin/bash set -ex +mkdir -p "$PREFIX/bin" + # taken from yacrd recipe, see: https://github.com/bioconda/bioconda-recipes/blob/2b02c3db6400499d910bc5f297d23cb20c9db4f8/recipes/yacrd/build.sh if [ "$(uname)" == "Darwin" ]; then @@ -10,11 +12,17 @@ if [ "$(uname)" == "Darwin" ]; then mkdir -p $HOME/.cargo/registry/index/ fi +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3" +export CXXFLAGS="${CXXFLAGS} -O3 -I${PREFIX}/include" +# on osx we remove the built-in boost and make sure todepend on the system boost pushd src +if [ "$(uname)" == "Darwin" ]; then + rm -rf ./canu/src/utgcns/libboost/ +fi make clean && make -j$CPU_COUNT popd -mkdir -p "$PREFIX/bin" -cp -r bin/* $PREFIX/bin/ -cp -r lib/* $PREFIX/lib/ +cp -rf bin/* $PREFIX/bin/ +cp -rf lib/* $PREFIX/lib/ diff --git a/recipes/verkko/meta.yaml b/recipes/verkko/meta.yaml index 5f622352244e0..bc812c97aaa3a 100644 --- a/recipes/verkko/meta.yaml +++ b/recipes/verkko/meta.yaml @@ -1,5 +1,5 @@ {% set name = "verkko" %} -{% set version = "1.4.1" %} +{% set version = "2.2.1" %} package: name: {{ name|lower }} @@ -7,47 +7,63 @@ package: source: url: https://github.com/marbl/{{ name }}/releases/download/v{{ version }}/{{ name }}-v{{ version }}.tar.gz - md5: 37299a7938c9806763586c2d386f38e8 - + sha256: 4ab40961352cac22eebfb37606c82bb5a589f9361c36430e7278227e62db3860 patches: - - version.patch - - tips.patch + - osx_availability.patch # [osx] build: number: 0 + run_exports: + - {{ pin_subpackage('verkko', max_pin="x.x") }} requirements: build: - make - - llvm-openmp # [osx] - - libgomp # [linux] - {{ compiler('cxx') }} - - rust >=1.66 + - rust >=1.74 host: + - boost-cpp >=1.56 #[osx] + - llvm-openmp # [osx] + - libgomp # [linux] - gsl + - zlib + - htslib run: - - python >=3.7 + - python >=3.9 + - boost-cpp >=1.56 #[osx] + - llvm-openmp # [osx] + - libgomp # [linux] + - pulp <=2.7.0 - perl >=5.6 + - seqtk - parasail-python >=1.3.3 - networkx >=2.6.3 - biopython - - snakemake-minimal >=7.8.0 - - graphaligner >=1.0.17b - - mbg >=1.0.15 + - pysam + - snakemake-minimal >=7.8.0,<8.0 + - graphaligner >=1.0.19 - findutils >=4.6.0 - mashmap >=3.0.6 - winnowmap >=2.0 - bwa >=0.7.17 + - minimap2 >=2.28 - samtools >=1.17 test: requires: - curl commands: - - verkko --version + - verkko --version about: - home: https://github.com/marbl/verkko + home: "https://github.com/marbl/verkko" license: CC0 license_file: README.licenses - summary: Assembler for hybrid combinations of long reads + summary: "A hybrid genome assembly pipeline developed for telomere-to-telomere assembly of accurate (HiFi, ONT Duplex, ONT HERRO) and long (ONT UL) reads." + dev_url: "https://github.com/marbl/verkko" + doc_url: "https://github.com/marbl/verkko/blob/v{{ version }}/README.md" + +extra: + identifiers: + - doi:10.1038/s41587-023-01662-6 + - usegalaxy-eu:verkko diff --git a/recipes/verkko/osx_availability.patch b/recipes/verkko/osx_availability.patch new file mode 100644 index 0000000000000..69344ea5b476f --- /dev/null +++ b/recipes/verkko/osx_availability.patch @@ -0,0 +1,52 @@ +diff --git a/src/MBG/makefile b/src/MBG/makefile +index 0c0113b..c6fd847 100644 +--- a/src/MBG/makefile ++++ b/src/MBG/makefile +@@ -1,7 +1,7 @@ + PLATFORM=$(shell uname -s) + + GPP=$(CXX) +-CPPFLAGS=-Wall -Wextra -std=c++17 -O3 -g -Izstr/src -Iparallel-hashmap/parallel_hashmap/ -Wno-unused-parameter -Icxxopts/include -Iconcurrentqueue `pkg-config --cflags zlib` ++CPPFLAGS=-Wall -Wextra -std=c++17 -O3 -g -Izstr/src -Iparallel-hashmap/parallel_hashmap/ -Wno-unused-parameter -Icxxopts/include -Iconcurrentqueue `pkg-config --cflags zlib` -D_LIBCPP_DISABLE_AVAILABILITY + + ODIR=obj + BINDIR=bin +diff --git a/src/hifioverlapper/MBG/makefile b/src/hifioverlapper/MBG/makefile +index 0c0113b..c6fd847 100644 +--- a/src/hifioverlapper/MBG/makefile ++++ b/src/hifioverlapper/MBG/makefile +@@ -1,7 +1,7 @@ + PLATFORM=$(shell uname -s) + + GPP=$(CXX) +-CPPFLAGS=-Wall -Wextra -std=c++17 -O3 -g -Izstr/src -Iparallel-hashmap/parallel_hashmap/ -Wno-unused-parameter -Icxxopts/include -Iconcurrentqueue `pkg-config --cflags zlib` ++CPPFLAGS=-Wall -Wextra -std=c++17 -O3 -g -Izstr/src -Iparallel-hashmap/parallel_hashmap/ -Wno-unused-parameter -Icxxopts/include -Iconcurrentqueue `pkg-config --cflags zlib` -D_LIBCPP_DISABLE_AVAILABILITY + + ODIR=obj + BINDIR=bin +diff --git a/src/hifioverlapper/makefile b/src/hifioverlapper/makefile +index 0bc9ee7..0f53de7 100644 +--- a/src/hifioverlapper/makefile ++++ b/src/hifioverlapper/makefile +@@ -1,5 +1,7 @@ ++PLATFORM=$(shell uname -s) ++ + GPP=$(CXX) +-CPPFLAGS=-Wall -Wextra -std=c++17 -O3 -g -Izstr/src -Iparallel-hashmap/parallel_hashmap/ -Icxxopts/include -Wno-unused-parameter `pkg-config --cflags zlib` -IMBG/src -Iconcurrentqueue ++CPPFLAGS=-Wall -Wextra -std=c++17 -O3 -g -Izstr/src -Iparallel-hashmap/parallel_hashmap/ -Icxxopts/include -Wno-unused-parameter `pkg-config --cflags zlib` -IMBG/src -Iconcurrentqueue -D_LIBCPP_DISABLE_AVAILABILITY + + ODIR=obj + BINDIR=bin +@@ -14,7 +16,11 @@ DEPS = $(patsubst %, $(SRCDIR)/%, $(_DEPS)) + _OBJ = MatchIndex.o MinimizerIterator.o TwobitString.o ReadStorage.o UnitigKmerCorrector.o UnitigStorage.o ReadMatchposStorage.o + OBJ = $(patsubst %, $(ODIR)/%, $(_OBJ)) + +-LINKFLAGS = $(CPPFLAGS) -Wl,-Bstatic $(LIBS) -Wl,-Bdynamic -Wl,--as-needed -lpthread -pthread -static-libstdc++ ++ifeq ($(PLATFORM),Linux) ++ LINKFLAGS = $(CPPFLAGS) -Wl,-Bstatic $(LIBS) -Wl,-Bdynamic -Wl,--as-needed -lpthread -pthread -static-libstdc++ ++else ++ LINKFLAGS = $(CPPFLAGS) $(LIBS) -lpthread -pthread -static-libstdc++ ++endif + + VERSION := Branch $(shell git rev-parse --abbrev-ref HEAD) commit $(shell git rev-parse HEAD) $(shell git show -s --format=%ci) + diff --git a/recipes/verkko/run_test.sh b/recipes/verkko/run_test.sh index 69595121dea11..abf76882b8363 100644 --- a/recipes/verkko/run_test.sh +++ b/recipes/verkko/run_test.sh @@ -6,6 +6,8 @@ if [ ! -n "${PREFIX-}" -a "${PREFIX+defined}" != defined ]; then echo "Prefix undefined, setting it to be path to script" PREFIX=$(dirname "$0") PREFIX=$(dirname "$PREFIX") + + export PATH=$PREFIX/bin:$PATH fi # taken from yacrd recipe, see: https://github.com/bioconda/bioconda-recipes/blob/2b02c3db6400499d910bc5f297d23cb20c9db4f8/recipes/yacrd/build.sh @@ -18,20 +20,18 @@ if [ "$(uname)" == "Darwin" ]; then fi # download and run a small assembly, skip alignment of ONT on OSX to save time -rm -f ./hifi.fastq.gz ./ont.fastq.gz -curl -L https://obj.umiacs.umd.edu/sergek/shared/ecoli_hifi_subset24x.fastq.gz -o hifi.fastq.gz -curl -L https://obj.umiacs.umd.edu/sergek/shared/ecoli_ont_subset50x.fastq.gz -o ont.fastq.gz +rm -rf asm empty* ./hifi.fastq.gz ./ont.fastq.gz -# now start tests -ONT="--nano ./ont.fastq.gz" -if [ "$(uname)" == "Darwin" ]; then - ONT="" -fi +curl -L https://obj.umiacs.umd.edu/sergek/shared/ecoli_reference_test.fasta.gz -o reference.fasta.gz +touch empty.fasta + +ONT="--nano ./reference.fasta.gz" -verkko -d asm --no-correction --hifi ./hifi.fastq.gz $ONT +verkko --unitig-abundance 0 --no-correction -d asm --hifi ./reference.fasta.gz $ONT > run.out 2>&1 if [ -s asm/assembly.fasta ]; then - python $PREFIX/lib/verkko/scripts/circularize_ctgs.py -p 10 -f 0.01 -o asm/assembly_circular.fasta --min-ovl 1000 asm/assembly.fasta + head -n 2 asm/assembly.fasta > asm/tmp.fasta + python $PREFIX/lib/verkko/scripts/circularize_ctgs.py -p 5 -f 0.01 -o asm/assembly_circular.fasta --min-ovl 1 asm/tmp.fasta fi if [ ! -s asm/assembly_circular.fasta ]; then @@ -40,15 +40,9 @@ if [ ! -s asm/assembly_circular.fasta ]; then exit 1 fi -# test HiC and trio but not on darwin cause it is much slower -if [ "$(uname)" == "Darwin" ]; then - echo "Finished darwin verkko assembly test" - exit 0 -fi - -verkko -d asm --hifi hifi.fastq.gz $ONT --hic1 hifi.fastq.gz --hic2 hifi.fastq.gz +verkko -d asm --hifi reference.fasta.gz $ONT --porec reference.fasta.gz -if [ ! -e asm/assembly.haplotype1.fasta ]; then +if [[ ! -s asm/assembly.unassigned.fasta || -s asm/assembly.haplotype1.fasta || -s asm/assembly.haplotype2.fasta ]]; then echo "Error: verkko hic assembly test failed!" tail -n +1 `find asm -name *.err` exit 1 @@ -56,9 +50,9 @@ fi #now test trio rm -rf asm/8-* asm/6-layoutContigs/ asm/7-consensus/ asm/assembly.* asm/6-rukki/ -$PREFIX/lib/verkko/bin/meryl count compress k=21 memory=4 threads=8 output empty1.meryl hifi.fastq.gz -$PREFIX/lib/verkko/bin/meryl greater-than 100 empty1.meryl/ output empty2.meryl -verkko -d asm --hifi hifi.fastq.gz $ONT --hap-kmers empty1.meryl empty2.meryl trio +$PREFIX/lib/verkko/bin/meryl count compress k=21 memory=4 threads=8 output empty1.meryl reference.fasta.gz +$PREFIX/lib/verkko/bin/meryl greater-than 10 empty1.meryl/ output empty2.meryl +verkko -d asm --hifi reference.fasta.gz $ONT --hap-kmers empty1.meryl empty2.meryl trio if [ ! -s asm/assembly.haplotype1.fasta ]; then echo "Error: verkko trio assembly test failed!" diff --git a/recipes/verkko/tips.patch b/recipes/verkko/tips.patch deleted file mode 100644 index 6b6d6a539e6e2..0000000000000 --- a/recipes/verkko/tips.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/Snakefiles/3-alignTips.sm b/src/Snakefiles/3-alignTips.sm -index 5795544..b02e334 100644 ---- a/src/Snakefiles/3-alignTips.sm -+++ b/src/Snakefiles/3-alignTips.sm -@@ -76,7 +76,7 @@ done - xargs -L 1 -P {threads} < tip_reads.extract \\\\ - {PYTHON} {VERKKO}/scripts/fasta_extract.py - --zcat {params.ext_files} |awk -v SEQ="" '{{ if (match(\$1, ">") && \$1 != NAME) {{ if (SEQ != "") {{ print NAME; print SEQ; }} SEQ=""; NAME=\$1; }} else {{ SEQ=SEQ""\$1;}} }} END {{ print NAME; print SEQ}}' | tr -s ACGT > tip_reads_compressed.fasta -+gunzip -c {params.ext_files} |awk -v SEQ="" '{{ if (match(\$1, ">") && \$1 != NAME) {{ if (SEQ != "") {{ print NAME; print SEQ; }} SEQ=""; NAME=\$1; }} else {{ SEQ=SEQ""\$1;}} }} END {{ print NAME; print SEQ}}' | tr -s ACGT > tip_reads_compressed.fasta - rm -f {params.ext_files} - - cat ../{input.graph} |awk '{{ if (match(\$1, "^S")) {{ print ">"\$2; print \$3 }} }}' |fold -b > tips.fasta diff --git a/recipes/verkko/version.patch b/recipes/verkko/version.patch deleted file mode 100644 index 9566555502810..0000000000000 --- a/recipes/verkko/version.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/src/Makefile b/src/Makefile -index 5f33ff4..25c2285 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -301,7 +301,7 @@ - $${OBJS}: SRC_CFLAGS := $${$${TGT}_CFLAGS} $${SRC_CFLAGS} - $${OBJS}: SRC_CXXFLAGS := $${$${TGT}_CXXFLAGS} $${SRC_CXXFLAGS} - $${OBJS}: SRC_DEFS := $$(addprefix -D,$${$${TGT}_DEFS} $${SRC_DEFS}) -- $${OBJS}: SRC_INCDIRS := $$(addprefix -I,\ -+ $${OBJS}: SRC_INCDIRS := $$(addprefix -iquote,\ - $${$${TGT}_INCDIRS} $${SRC_INCDIRS}) - endif - -@@ -389,7 +389,7 @@ - ALL_TGTS := - DEFS := - DIR_STACK := --INCDIRS := -+INCDIRS := utgcns/libboost - TGT_STACK := - - # Discover our OS and architecture. These were previously used to set -@@ -703,7 +703,7 @@ - - # Perform post-processing on global variables as needed. - DEFS := $(addprefix -D,${DEFS}) --INCDIRS := $(addprefix -I,$(call CANONICAL_PATH,${INCDIRS})) --VERSION := verkko release v1.4.1 -+INCDIRS := $(addprefix -isystem,$(call CANONICAL_PATH,${INCDIRS})) -+VERSION := bioconda $(PKG_NAME) bioconda $(PKG_VERSION) - - # Define the "all" target (which simply builds all user-defined targets) as the - # default goal. diff --git a/recipes/versionix/meta.yaml b/recipes/versionix/meta.yaml index eac216c2f4759..972d658a672d8 100644 --- a/recipes/versionix/meta.yaml +++ b/recipes/versionix/meta.yaml @@ -1,5 +1,5 @@ {% set name = "versionix" %} -{% set version = "0.2.3" %} +{% set version = "0.99.1" %} package: name: {{ name|lower }} @@ -7,13 +7,13 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/versionix-{{ version }}.tar.gz - sha256: b8a83f09615ffb233115d64cbb42a193a187f62ce9f8769d3900cfbcc2e085c1 + sha256: 022f28a65406b34160c1ad27c543ac0167f0bcacb960dcb9ca00bc588a425304 build: entry_points: - versionix = versionix.scripts:main noarch: python - script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir number: 0 run_exports: - {{ pin_subpackage('versionix', max_pin="x") }} @@ -24,9 +24,10 @@ requirements: - pip - poetry-core >=1.0.0 run: - - python >=3.8.0 + - python >=3.8 - click >=8.1.7 - rich-click + - colorlog test: imports: @@ -36,7 +37,8 @@ test: about: home: https://github.com/sequana/versionix - summary: Get version of any tools + summary: "Get version of any tools." license: BSD-3-Clause license_family: BSD license_file: LICENSE + dev_url: https://github.com/sequana/versionix diff --git a/recipes/veryfasttree/LICENSE b/recipes/veryfasttree/LICENSE deleted file mode 100644 index 357d4c5614dee..0000000000000 --- a/recipes/veryfasttree/LICENSE +++ /dev/null @@ -1,691 +0,0 @@ - -VeryFastTree -- speeding up the estimation of phylogenies for large alignments - through parallelization and vectorization strategies - -VeryFastTree: - César P. Pomar: https://citius.usc.es/v/cesar-alfredo-pineiro-pomar - Juan C. Pichel: https://citius.usc.es/v/juan-carlos-pichel-campos - -Based on FastTree: - Morgan N. Price: http://www.microbesonline.org/fasttree/ - -Copyright (C) 2008-2015 The Regents of the University of California -Copyright (C) 2018-2019 Universidade de Santiago de Compostela - - - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - Copyright (C) 2008-2015 The Regents of the University of California - Copyright (C) 2018-2019 Universidade de Santiago de Compostela - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Fasttree Copyright (C) 2008-2015 The Regents of the University of California - VeryFastTree Copyright (C) 2018-2019 Universidade de Santiago de Compostela - - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/recipes/veryfasttree/build.sh b/recipes/veryfasttree/build.sh index 85c77f01983a1..8cf6516043503 100644 --- a/recipes/veryfasttree/build.sh +++ b/recipes/veryfasttree/build.sh @@ -1,5 +1,40 @@ #!/bin/bash -cmake -DUSE_NATIVE=OFF -USE_AVX2=ON . -make + mkdir -p $PREFIX/bin -cp VeryFastTree $PREFIX/bin/VeryFastTree + +export INCLUDES="-I{PREFIX}/include" +export LIBPATH="-L${PREFIX}/lib" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CXXFLAGS="${CXXFLAGS} -O3 -I{PREFIX}/include" + +OS=$(uname) +ARCH=$(uname -m) + +if [[ "${OS}" == "Darwin" && "${ARCH}" == "x86_64" ]]; then + export SIMD_LEVEL="-DUSE_SEE4=ON" +elif [[ "${OS}" == "Linux" && "${ARCH}" == "x86_64" ]]; then + export SIMD_LEVEL="-DUSE_AVX2=ON" +elif [[ "${OS}" == "Linux" && "${ARCH}" == "aarch64" ]]; then + export SIMD_LEVEL="-DUSE_SEE2=OFF" +else + export SIMD_LEVEL="" +fi + +if [[ "$(uname)" == "Darwin" ]]; then + export CONFIG_ARGS="-DCMAKE_FIND_FRAMEWORK=NEVER -DCMAKE_FIND_APPBUNDLE=NEVER" + export LDFLAGS="${LDFLAGS} -Wl,-rpath,${PREFIX}/lib" +else + export CONFIG_ARGS="" +fi + +cmake -S . -B build -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX="${PREFIX}" \ + -DCMAKE_CXX_COMPILER="${CXX}" \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ + -DUSE_NATIVE=OFF \ + "${CONFIG_ARGS}" \ + "${SIMD_LEVEL}" + +cmake --build build --target install -j "${CPU_COUNT}" -v + +chmod 0755 ${PREFIX}/bin/VeryFastTree diff --git a/recipes/veryfasttree/meta.yaml b/recipes/veryfasttree/meta.yaml index 34bdf32369805..1f3718f2aba7f 100644 --- a/recipes/veryfasttree/meta.yaml +++ b/recipes/veryfasttree/meta.yaml @@ -1,6 +1,6 @@ {% set name = "veryFastTree" %} -{% set version = "4.0.03" %} -{% set sha256 = "40c6b2f94d7d94f0a58b4736174c091f1131c83a8a090c0776c1789f3c13ef8a" %} +{% set version = "4.0.4" %} +{% set sha256 = "27c779164f4fa0c75897a6e95b35f820a2a10e7c244b8923c575e0ea46f15f6b" %} package: name: {{ name|lower }} @@ -12,36 +12,45 @@ source: build: number: 0 - skip: True # [osx] run_exports: - {{ pin_subpackage('veryfasttree', max_pin="x") }} requirements: build: - {{ compiler('cxx') }} - - libgomp - cmake - make host: - - libgomp + - libgomp # [linux] + - llvm-openmp # [osx] run: - - libgomp + - libgomp # [linux] + - llvm-openmp # [osx] test: commands: - VeryFastTree --help about: - home: https://github.com/citiususc/veryfasttree - license: GPL-3.0-only + home: "https://github.com/citiususc/veryfasttree" + license: "GPL-3.0-only" + license_family: GPL3 license_file: LICENSE - summary: VeryFastTree -- speeding up the estimation of phylogenies for large alignments through parallelization and vectorization strategies + summary: "VeryFastTree -- speeding up the estimation of phylogenies for large alignments through parallelization and vectorization strategies." description: | VeryFastTree is a highly-tuned implementation of the FastTree-2 tool that takes advantage of parallelization and vectorization strategies to speed up the inference of phylogenies for huge alignments. - dev_url: https://github.com/citiususc/veryfasttree + dev_url: "https://github.com/citiususc/veryfasttree" + doc_url: "https://github.com/citiususc/veryfasttree/blob/v{{ version }}/README.md" extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - cesarpomar - jcpichel + identifiers: + - doi:10.1093/bioinformatics/btaa582 + - doi:10.1093/gigascience/giae055 + - biotools:veryfasttree diff --git a/recipes/vg/meta.yaml b/recipes/vg/meta.yaml index c8e20fce3bf63..9ec0557e1bc67 100644 --- a/recipes/vg/meta.yaml +++ b/recipes/vg/meta.yaml @@ -1,20 +1,22 @@ {% set name = "vg" %} -{% set version = "1.52.0" %} +{% set version = "1.59.0" %} package: name: {{ name }} version: {{ version }} source: - url: https://github.com/vgteam/vg/releases/download/v{{ version }}/vg - sha256: 07776b51aa6494b45982e4134eb84005ddc743e81c67e61fa52bff211d81777c + - url: https://github.com/vgteam/vg/releases/download/v{{ version }}/vg # [linux and x86_64] + sha256: a2270237c8541867ac345ad924c1641881bc9fd60be157a6d3d29fa910aacfc2 # [linux and x86_64] + - url: https://github.com/vgteam/vg/releases/download/v{{ version }}/vg-arm64 # [linux and aarch64] + sha256: e0df4e81e0c7b3ac1c7f3fc7a7bc8421416256bf2bc4a1ca2b87feebaf40d4d0 # [linux and aarch64] build: number: 0 skip: true # [osx] script: - mkdir -p ${PREFIX}/bin - - cp vg ${PREFIX}/bin/ + - cp vg* ${PREFIX}/bin/vg - chmod +x ${PREFIX}/bin/vg run_exports: - {{ pin_subpackage('vg', max_pin="x") }} @@ -30,5 +32,7 @@ about: summary: Variation graph data structures, interchange formats, alignment, genotyping, and variant calling methods extra: + additional-platforms: + - linux-aarch64 skip-lints: - should_be_noarch_generic diff --git a/recipes/vgan/meta.yaml b/recipes/vgan/meta.yaml index 387e0125543cc..81d26a67d4c0d 100644 --- a/recipes/vgan/meta.yaml +++ b/recipes/vgan/meta.yaml @@ -1,5 +1,5 @@ {% set name = "vgan" %} -{% set version = "2.0.2" %} +{% set version = "3.0.0" %} package: name: {{ name }} @@ -7,11 +7,13 @@ package: source: url: https://github.com/grenaud/vgan/releases/download/v{{ version }}/vgan - sha256: 4340e61ff3c4ca8f8eca388604cc004d23d9399a4df860116f3cab342599d14e + sha256: 7a8fb93618fc0efe49f33e998a4f46fbd004c63c3326fa9c0e414940418c1c7b build: number: 0 skip: true # [osx] + run_exports: + - {{ pin_subpackage('vgan', max_pin="x") }} script: - mkdir -p ${PREFIX}/bin - cp vgan ${PREFIX}/bin/ @@ -19,6 +21,7 @@ build: - mkdir -p ${PREFIX}/share/vgan/ - mkdir -p ${PREFIX}/share/vgan/hcfiles/ - mkdir -p ${PREFIX}/share/vgan/euka_dir/ + - mkdir -p ${PREFIX}/share/vgan/soibean_dir/ - mkdir -p ${PREFIX}/share/vgan/damageProfiles/ - wget -nc -l1 --recursive --no-parent -P ${PREFIX}/share/vgan/ ftp://ftp.healthtech.dtu.dk:/public/haplocart/hcfiles/ - mv -fv ${PREFIX}/share/vgan/ftp.healthtech.dtu.dk/public/haplocart/hcfiles/* ${PREFIX}/share/vgan/hcfiles diff --git a/recipes/viennarna/build.sh b/recipes/viennarna/build.sh index 84c211fc7128f..7771cf62db901 100644 --- a/recipes/viennarna/build.sh +++ b/recipes/viennarna/build.sh @@ -4,7 +4,7 @@ ## (mac or linux) ## if [ `uname` == Darwin ] ; then - extra_config_options="LDFLAGS=-Wl,-headerpad_max_install_names" + extra_config_options="--without-perl LDFLAGS=-Wl,-headerpad_max_install_names" fi ## Configure and make diff --git a/recipes/viennarna/meta.yaml b/recipes/viennarna/meta.yaml index 50fd571203462..13f38a0f0eae3 100644 --- a/recipes/viennarna/meta.yaml +++ b/recipes/viennarna/meta.yaml @@ -6,7 +6,7 @@ package: version: {{ version }} build: - number: 0 + number: 3 run_exports: # Ronny said VRNA is stable in x.x releases - {{ pin_subpackage('viennarna', max_pin='x.x') }} @@ -14,17 +14,25 @@ build: source: url: https://www.tbi.univie.ac.at/RNA/download/sourcecode/2_6_x/ViennaRNA-{{ version }}.tar.gz sha256: {{ sha256 }} + patches: + - remove-register.patch requirements: build: - make - {{ compiler('c') }} - {{ compiler('cxx') }} + # pin and install swig on osx due to some incompatibility with + # automatically installed swig + - swig ==4.1.1 # [osx] host: - pkgconfig ## needed for viennarna version checks in dependent packages - perl - python - zlib + - mpfr # [not osx] + - gsl # [not osx] + - lapack - llvm-openmp # [osx] run: - python @@ -45,3 +53,8 @@ about: license: custom license_file: COPYING summary: ViennaRNA package -- RNA secondary structure prediction and comparison + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/viennarna/remove-register.patch b/recipes/viennarna/remove-register.patch new file mode 100644 index 0000000000000..669f253301753 --- /dev/null +++ b/recipes/viennarna/remove-register.patch @@ -0,0 +1,64 @@ +diff --git a/src/RNAlocmin/hash_util.h b/src/RNAlocmin/hash_util.h +index e5dcfd3..50a0138 100644 +--- a/src/RNAlocmin/hash_util.h ++++ b/src/RNAlocmin/hash_util.h +@@ -79,10 +79,10 @@ struct hash_eq { + struct hash_fncts{ + size_t operator()(const Structure &x) const { + +- register short *k; /* the key */ +- register unsigned length; /* the length of the key */ +- register unsigned initval=0; /* the previous hash, or an arbitrary value */ +- register unsigned a,b,c,len; ++ short *k; /* the key */ ++ unsigned length; /* the length of the key */ ++ unsigned initval=0; /* the previous hash, or an arbitrary value */ ++ unsigned a,b,c,len; + + /* Set up the internal state */ + k = x.str; +@@ -123,10 +123,10 @@ struct hash_fncts{ + + size_t operator()(const struct_en &x) const { + +- register short *k; /* the key */ +- register unsigned length; /* the length of the key */ +- register unsigned initval=0; /* the previous hash, or an arbitrary value */ +- register unsigned a,b,c,len; ++ short *k; /* the key */ ++ unsigned length; /* the length of the key */ ++ unsigned initval=0; /* the previous hash, or an arbitrary value */ ++ unsigned a,b,c,len; + + /* Set up the internal state */ + k = x.structure; +@@ -165,10 +165,10 @@ struct hash_fncts{ + return (c & HASHSIZE); + } + size_t operator()(const Structure *x) const { +- register short *k; /* the key */ +- register unsigned length; /* the length of the key */ +- register unsigned initval=0; /* the previous hash, or an arbitrary value */ +- register unsigned a,b,c,len; ++ short *k; /* the key */ ++ unsigned length; /* the length of the key */ ++ unsigned initval=0; /* the previous hash, or an arbitrary value */ ++ unsigned a,b,c,len; + + /* Set up the internal state */ + k = x->str; +@@ -209,10 +209,10 @@ struct hash_fncts{ + + size_t operator()(const struct_en *x) const { + +- register short *k; /* the key */ +- register unsigned length; /* the length of the key */ +- register unsigned initval=0; /* the previous hash, or an arbitrary value */ +- register unsigned a,b,c,len; ++ short *k; /* the key */ ++ unsigned length; /* the length of the key */ ++ unsigned initval=0; /* the previous hash, or an arbitrary value */ ++ unsigned a,b,c,len; + + /* Set up the internal state */ + k = x->structure; diff --git a/recipes/viguno/meta.yaml b/recipes/viguno/meta.yaml index 070e91018abd5..2ac8badcffa71 100644 --- a/recipes/viguno/meta.yaml +++ b/recipes/viguno/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.1.6" %} -{% set sha256 = "c4696ba9dab271216b80c560f78cddf8e0010474b7d7b8b6c717e666fd13cebd" %} +{% set version = "0.3.2" %} +{% set sha256 = "828490fac6f06913b0f65232c2fed446cbef4a9d48ccb4a7bc83fc57b5d7f9ff" %} package: name: viguno @@ -7,10 +7,12 @@ package: build: skip: True # [osx] - number: 0 + number: 1 + run_exports: + - {{ pin_subpackage("viguno", max_pin="x.x") }} source: - url: https://github.com/bihealth/viguno/archive/v{{ version }}.tar.gz + url: https://github.com/varfish-org/viguno/archive/v{{ version }}.tar.gz sha256: {{ sha256 }} requirements: @@ -36,6 +38,10 @@ test: - viguno -h about: - home: https://github.com/bihealth/viguno + home: https://github.com/bihealth/varfish-org license: MIT summary: Lookup OMIM genes and HPO terms and compute similarities + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/viloca/meta.yaml b/recipes/viloca/meta.yaml new file mode 100644 index 0000000000000..3e50ff219899c --- /dev/null +++ b/recipes/viloca/meta.yaml @@ -0,0 +1,53 @@ +{% set name = "VILOCA" %} +{% set version = "1.0.0" %} +{% set sha256 = "3572db1693f5be54ca8d51d6a68e578d6f3ab6ca511b526bcbee0236967a87f0" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: https://github.com/cbg-ethz/{{ name }}/archive/refs/tags/{{ name|lower }}-v{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + noarch: python + script: + - sed -ri 's@^ *(python = )".*$@\1">=3.10"@' pyproject.toml + - {{ PYTHON }} -m pip install . --no-deps -vv + run_exports: + - {{ pin_subpackage("viloca", max_pin="x") }} + +requirements: + host: + - pip + - python >=3.10 + - poetry-core >=1.0.8 + - poetry-dynamic-versioning + - pybind11 <3 + run: + - python >=3.10 + - libshorah =1.99.4 + - biopython =1.79 + - scipy >=1.7,<2 + - numpy >=1.21,<2 + - pysam >=0.22,<0.23 + - pandas >=1.3,<3 + +test: + commands: + - viloca -h + +about: + home: "https://github.com/cbg-ethz/VILOCA" + license: GNU General Public License v3.0 + license_family: GPL3 + license_file: LICENSE + summary: "VILOCA is a tool to analyse short- and long-read sequencing viral samples. It provides mutation calls and local haplotypes." + doc_url: "https://github.com/cbg-ethz/VILOCA/README.md" + dev_url: "https://github.com/cbg-ethz/VILOCA" + +extra: + recipe-maintainers: + - DrYak diff --git a/recipes/viral_consensus/build.sh b/recipes/viral_consensus/build.sh index 94b3d4db60cbe..6637bb02284e0 100644 --- a/recipes/viral_consensus/build.sh +++ b/recipes/viral_consensus/build.sh @@ -1,4 +1,5 @@ #!/bin/bash -make CXX="$CXX" INCLUDE= RELEASEFLAGS="$CPPFLAGS $CXXFLAGS -O3 $LDFLAGS" + +make CXX="$CXX" INCLUDE="-I${PREFIX}/include -Ihtslib" RELEASEFLAGS="$CPPFLAGS $CXXFLAGS -O3 $LDFLAGS" mkdir -p $PREFIX/bin cp viral_consensus $PREFIX/bin/ diff --git a/recipes/viral_consensus/meta.yaml b/recipes/viral_consensus/meta.yaml index 48b6ef887fdee..873dff8a59be7 100644 --- a/recipes/viral_consensus/meta.yaml +++ b/recipes/viral_consensus/meta.yaml @@ -1,17 +1,17 @@ -{% set version = "0.0.4" %} +{% set version = "0.0.5" %} package: name: viral_consensus version: {{ version }} build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage('viral_consensus', max_pin="x.x.x") }} source: url: https://github.com/niemasd/ViralConsensus/archive/refs/tags/{{ version }}.tar.gz - sha256: c1d81a69ff4435f65d1aaac0dc90e3065393a3d11a508629c3fd6aadb63166e7 + sha256: 798fa4d751b3b6b3cde9b6be1b2c55d469c71cd0d030b982980387e9a14011a9 requirements: build: @@ -20,14 +20,24 @@ requirements: - make host: - htslib - run: + - zlib about: - home: https://github.com/niemasd/ViralConsensus - license: GNU General Public License v3 (GPLv3) + home: https://niema.net/ViralConsensus/ + license: GPL-3.0-or-later + license_family: GPL3 license_file: LICENSE summary: Fast viral consensus genome reconstruction + dev_url: https://github.com/niemasd/ViralConsensus test: commands: - viral_consensus --version + +extra: + identifiers: + - biotools:viral_consensus + - doi:10.1093/bioinformatics/btad317 + - doi:10.1093/bioinformatics/btae018 + maintainers: + - niemasd diff --git a/recipes/viralmsa/meta.yaml b/recipes/viralmsa/meta.yaml index 1a41b2d896121..acbbb36202cf5 100644 --- a/recipes/viralmsa/meta.yaml +++ b/recipes/viralmsa/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.1.40" %} +{% set version = "1.1.44" %} package: name: viralmsa @@ -6,13 +6,13 @@ package: build: noarch: python - number: 0 + number: 1 run_exports: - {{ pin_subpackage('viralmsa', max_pin="x.x.x") }} source: url: https://github.com/niemasd/ViralMSA/archive/refs/tags/{{ version }}.tar.gz - sha256: eb61ebad514448b5eebb675a19bfe91b622c7d825fb11528c8331aa9d3d7222d + sha256: a3f90307b86e6171beadc61bfc09309570d51d9b21085a6c74054b86a8991026 requirements: run: @@ -38,3 +38,10 @@ about: test: commands: - ViralMSA.py -h + +extra: + identifiers: + - biotools:viralmsa + - doi:10.1093/bioinformatics/btaa743 + maintainers: + - niemasd diff --git a/recipes/vireosnp/meta.yaml b/recipes/vireosnp/meta.yaml new file mode 100644 index 0000000000000..9e68523d7c8a4 --- /dev/null +++ b/recipes/vireosnp/meta.yaml @@ -0,0 +1,47 @@ +{% set name = "vireoSNP" %} +{% set version = "0.5.8" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/vireoSNP-{{ version }}.tar.gz + sha256: f83f00a2d398f08735fc3b5cd9326027dfe89094c746eb53a03c7f0393788c65 + +build: + entry_points: + - vireo = vireoSNP.vireo:main + - GTbarcode = vireoSNP.GTbarcode:main + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage('vireosnp', max_pin="x.x.x") }} + +requirements: + host: + - python + - pip + run: + - python + - numpy >=1.9.0 + - scipy >=1.4.0 + - matplotlib-base + +test: + imports: + - vireoSNP + commands: + - pip check + - vireo --help + - GTbarcode --help + requires: + - pip + +about: + home: https://github.com/huangyh09/vireoSNP + summary: vireoSNP - donor deconvolution for multiplexed scRNA-seq data + license: Apache-2.0 + license_file: LICENSE + doc_url: https://vireosnp.readthedocs.io/en/latest/ diff --git a/recipes/virheat/meta.yaml b/recipes/virheat/meta.yaml index 18cd21c835db9..6b485917f485d 100644 --- a/recipes/virheat/meta.yaml +++ b/recipes/virheat/meta.yaml @@ -1,5 +1,5 @@ {% set name = "virheat" %} -{% set version = "0.6" %} +{% set version = "0.7.1" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/virheat-{{ version }}.tar.gz - sha256: 7005f5cfbab4aebc425457ef48607dbce5784c9319518f5d7cba3318b45587ba + sha256: 142b62f05dfe91b9d04a8fe3e7b27d0d20e502dbfa3163d839666262143f67d6 build: entry_points: diff --git a/recipes/viroconstrictor/meta.yaml b/recipes/viroconstrictor/meta.yaml index aed7470960f98..02fab0c888d7d 100644 --- a/recipes/viroconstrictor/meta.yaml +++ b/recipes/viroconstrictor/meta.yaml @@ -1,5 +1,5 @@ {% set name = "ViroConstrictor" %} -{% set version = "1.4.0" %} +{% set version = "1.4.6" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://github.com/RIVM-bioinformatics/ViroConstrictor/archive/v{{ version }}.tar.gz - sha256: 56944f978fc5bb4f934d8a82be3862236552b9beab090f7e61c10023b51b8b25 + sha256: 9485d1755f135357272fafadf2c0a4e681a975e78662ff1d54d2fd6c75a24879 build: noarch: python @@ -25,7 +25,7 @@ requirements: host: - python >=3.10 - pip - - snakemake >=7.15.2 + - snakemake >=7.15.2, < 8 - conda run: - python >=3.10 @@ -37,10 +37,10 @@ requirements: - openpyxl - pyyaml ==6.0 - rich ==13.* - - snakemake >=7.15.2 + - snakemake >=7.15.2, < 8 - aminoextract ==0.3.1 - conda - - mamba + - mamba >=1.5.0, <2.0.0 test: imports: @@ -63,5 +63,6 @@ about: extra: recipe-maintainers: - florianzwagemaker - - KHajji + - raaijmag + - wolthuisr - ids-bioinformatics diff --git a/recipes/viromeqc/build_failure.linux-64.yaml b/recipes/viromeqc/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..260290753ee71 --- /dev/null +++ b/recipes/viromeqc/build_failure.linux-64.yaml @@ -0,0 +1,104 @@ +recipe_sha: d174c3082a9332788afc765e41c08050872a506bc099a0e666c9aa3a42457aea # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +log: |- + 2024-06-07T16:45:59 linux-64 Writing patched repodata + 2024-06-07T16:45:59 linux-64 Building current_repodata subset + 2024-06-07T16:45:59 linux-64 Writing current_repodata subset + 2024-06-07T16:45:59 linux-64 Writing index HTML + 2024-06-07T16:45:59 Subdir: linux-aarch64 Gathering repodata + 2024-06-07T16:45:59 linux-aarch64 Writing pre-patch repodata + 2024-06-07T16:45:59 linux-aarch64 Applying patch instructions + 2024-06-07T16:45:59 linux-aarch64 Writing patched repodata + 2024-06-07T16:45:59 linux-aarch64 Building current_repodata subset + 2024-06-07T16:45:59 linux-aarch64 Writing current_repodata subset + 2024-06-07T16:45:59 linux-aarch64 Writing index HTML + 2024-06-07T16:45:59 Subdir: noarch Gathering repodata + 2024-06-07T16:45:59 noarch Writing pre-patch repodata + 2024-06-07T16:45:59 noarch Applying patch instructions + 2024-06-07T16:45:59 noarch Writing patched repodata + 2024-06-07T16:45:59 noarch Building current_repodata subset + 2024-06-07T16:45:59 noarch Writing current_repodata subset + 2024-06-07T16:45:59 noarch Writing index HTML + /opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py:501: UserWarning: RECIPE_PATH received is a file (/opt/recipe/meta.yaml). + It should be a path to a folder. + Forcing conda-build to use the recipe file. + warnings.warn( + WARNING: No numpy version specified in conda_build_config.yaml. Falling back to default numpy value of 1.22 + Adding in variants from internal_defaults + Adding in variants from /opt/host-conda-bld/conda_build_config_0_-e_conda_build_config.yaml + Adding in variants from /opt/host-conda-bld/conda_build_config_1_-e_bioconda_utils-conda_build_config.yaml + Attempting to finalize metadata for viromeqc + Reloading output folder (file:///opt/host-conda-bld): ...working... done + Getting pinned dependencies: ...working... done + Reloading output folder (file:///opt/host-conda-bld): ...working... done + Getting pinned dependencies: ...working... done + BUILD START: ['viromeqc-1.0.2-py312h7e72e81_1.tar.bz2'] + Reloading output folder (file:///opt/host-conda-bld): ...working... done + Solving environment (_h_env): ...working... done + + ## Package Plan ## + + environment location: /opt/conda/conda-bld/viromeqc_1717778760216/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac + + + The following NEW packages will be INSTALLED: + + _libgcc_mutex: 0.1-conda_forge conda-forge + _openmp_mutex: 4.5-2_gnu conda-forge + bzip2: 1.0.8-hd590300_5 conda-forge + ca-certificates: 2024.6.2-hbcca054_0 conda-forge + ld_impl_linux-64: 2.40-hf3520f5_2 conda-forge + libexpat: 2.6.2-h59595ed_0 conda-forge + libffi: 3.4.2-h7f98852_5 conda-forge + libgcc-ng: 13.2.0-h77fa898_7 conda-forge + libgomp: 13.2.0-h77fa898_7 conda-forge + libnsl: 2.0.1-hd590300_0 conda-forge + libsqlite: 3.45.3-h2797004_0 conda-forge + libuuid: 2.38.1-h0b41bf4_0 conda-forge + libxcrypt: 4.4.36-hd590300_1 conda-forge + libzlib: 1.3.1-h4ab18f5_1 conda-forge + ncurses: 6.5-h59595ed_0 conda-forge + openssl: 3.3.1-h4ab18f5_0 conda-forge + pip: 24.0-pyhd8ed1ab_0 conda-forge + python: 3.12.3-hab00c5b_0_cpython conda-forge + readline: 8.2-h8228510_1 conda-forge + setuptools: 70.0.0-pyhd8ed1ab_0 conda-forge + tk: 8.6.13-noxft_h4845f30_101 conda-forge + tzdata: 2024a-h0c530f3_0 conda-forge + wheel: 0.43.0-pyhd8ed1ab_1 conda-forge + xz: 5.2.6-h166bdaf_0 conda-forge + + Preparing transaction: ...working... done + Verifying transaction: ...working... done + Executing transaction: ...working... done + Reloading output folder (file:///opt/host-conda-bld): ...working... done + Solving environment (_test_env): ...working... done + Source cache directory is: /opt/conda/conda-bld/src_cache + Downloading source to cache: viromeqc1.0.2_e4da8944f6.tar.gz + Downloading https://github.com/CarsonJM/viromeqc/releases/download/1.0.2/viromeqc1.0.2.tar.gz + WARNING: Error: HTTP 404 NOT FOUND for url + Elapsed: 00:00.190235 + + An HTTP error occurred when trying to retrieve this URL. + HTTP errors are often intermittent, and a simple retry will get you on your way. + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2419, in build + try_download(m, no_download_source=False, raise_error=True) + File "/opt/conda/lib/python3.10/site-packages/conda_build/render.py", line 762, in try_download + source.provide(metadata) + File "/opt/conda/lib/python3.10/site-packages/conda_build/source.py", line 1035, in provide + unpack( + File "/opt/conda/lib/python3.10/site-packages/conda_build/source.py", line 169, in unpack + src_path, unhashed_fn = download_to_cache( + File "/opt/conda/lib/python3.10/site-packages/conda_build/source.py", line 116, in download_to_cache + raise RuntimeError(f"Could not download {url}") + RuntimeError: Could not download https://github.com/CarsonJM/viromeqc/releases/download/1.0.2/viromeqc1.0.2.tar.gz +# Last 100 lines of the build log. diff --git a/recipes/viromeqc/meta.yaml b/recipes/viromeqc/meta.yaml index 94681c672736a..b3479061accd0 100644 --- a/recipes/viromeqc/meta.yaml +++ b/recipes/viromeqc/meta.yaml @@ -10,7 +10,9 @@ source: sha256: e4da8944f6213a1a4a0dfaab3cf2661b4b54f53be8a37f06e3c088c660052189 build: - number: 0 + number: 1 + run_exports: + - {{ pin_subpackage(name, max_pin="x") }} noarch: generic requirements: diff --git a/recipes/virstrain/meta.yaml b/recipes/virstrain/meta.yaml index 6f527c19bffa1..62e80eec94e1d 100644 --- a/recipes/virstrain/meta.yaml +++ b/recipes/virstrain/meta.yaml @@ -1,5 +1,5 @@ {% set name = "virstrain" %} -{% set version = "1.14" %} +{% set version = "1.17" %} package: name: "{{ name|lower }}" @@ -7,10 +7,10 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: f9247a696892c75ded21e93ba60a2a4d6a63d3ecacd18b8d002fd8d7560227d5 + sha256: 76b71f73eb6fc92f61e495ee28ada438092bb70e33cf6f5d211c9a82922fd7a9 build: - number: 0 + number: 1 entry_points: - virstrain = VirStrain.VirStrain:main - virstrain_build = VirStrain.VirStrain_build:main @@ -31,6 +31,7 @@ requirements: - pandas ==1.0.1 - plotly ==3.10.0 - python ==3.7.3 + - bowtie2 test: imports: @@ -38,6 +39,8 @@ test: commands: - virstrain --help - virstrain_build --help + - virstrain_contig --help + - virstrain_merge --help about: home: https://github.com/liaoherui/VirStrain diff --git a/recipes/virulencefinder/meta.yaml b/recipes/virulencefinder/meta.yaml index 0393ba33a0f8d..e57a9257fee59 100644 --- a/recipes/virulencefinder/meta.yaml +++ b/recipes/virulencefinder/meta.yaml @@ -11,8 +11,10 @@ source: sha256: {{ sha256 }} build: - number: 0 + number: 1 noarch: generic + run_exports: + - {{ pin_subpackage('virulencefinder', max_pin="x") }} requirements: run: @@ -22,10 +24,12 @@ requirements: - tabulate - cgecore - blast + - git test: commands: - virulencefinder.py --help + - git --help about: home: https://bitbucket.org/genomicepidemiology/virulencefinder diff --git a/recipes/virusrecom/build.sh b/recipes/virusrecom/build.sh new file mode 100644 index 0000000000000..c65b9bb44d4b1 --- /dev/null +++ b/recipes/virusrecom/build.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +# build +$PYTHON setup.py install --single-version-externally-managed --record=record.txt \ No newline at end of file diff --git a/recipes/virusrecom/meta.yaml b/recipes/virusrecom/meta.yaml new file mode 100644 index 0000000000000..06585485b03b1 --- /dev/null +++ b/recipes/virusrecom/meta.yaml @@ -0,0 +1,49 @@ +{% set name = "virusrecom" %} +{% set version = "1.3.5" %} + +package: + name: "{{ name }}" + version: "{{ version }}" + +source: + url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" + sha256: 0f5b1c8ce87c35bb152fefd2e90160b7088f157dfb1551d93455a67611e374bb + +build: + number: 0 + noarch: python + run_exports: + - {{ pin_subpackage('virusrecom', max_pin="x") }} + + +requirements: + host: + - python >=3.5,!=3.8 + - pip + - setuptools + + run: + - matplotlib-base + - numpy >=1.19.3 + - pandas >=1.1.5 + - scipy >=1.5.4 + - psutil >=5.9.1 + - python >=3.5,!=3.8 + - openpyxl >=3.0.5 + +test: + commands: + - virusrecom --help + +about: + home: "https://github.com/ZhijianZhou01/virusrecom" + license: "LGPL-2.1-or-later" + license_family: "LGPL" + license_file: LICENSE + summary: "An information-theory-based method for recombination detection of viral lineages." + +extra: + identifiers: + - doi:10.1093/bib/bbac513 + recipe-maintainers: + - ZhijianZhou01 diff --git a/recipes/vitap/meta.yaml b/recipes/vitap/meta.yaml new file mode 100644 index 0000000000000..618a68d172a99 --- /dev/null +++ b/recipes/vitap/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "vitap" %} +{% set version = "1.7" %} + +package: + name: "{{ name|lower }}" + version: "{{ version }}" + +source: + url: https://github.com/DrKaiyangZheng/VITAP/archive/refs/tags/v.{{ version }}.tar.gz + sha256: 9b33447b2ca4f459ba856dbeb4947bee6b8dab9b158a9d0a3c8b863f66c086d5 + +build: + number: 1 + noarch: python + run_exports: + - {{ pin_subpackage('vitap', max_pin='x') }} + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + +requirements: + host: + - pip + - python + - setuptools-markdown + run: + - python >=3.9 + - networkx >=3.1 + - scipy >=1.10 + - pandas >=1.5 + - numpy >=1.25 + - biopython >=1.78 + - tqdm >=4.65 + - diamond >=0.9 + - entrez-direct =16.2 + - seqkit >=2.5.1 + - prodigal >=2.6 + +test: + commands: + - VITAP upd -h + - VITAP assignment -h + +about: + home: https://github.com/DrKaiyangZheng/VITAP/ + license: GPL-3.0-only + license_file: LICENSE + license_family: GPL + summary: Viral Taxonomic Assignment Pipeline + doc_url: https://github.com/DrKaiyangZheng/VITAP/blob/main/README.md + description: Viral Taxonomic Assignment Pipeline (VITAP) is a cutting-edge tool designed to address the growing need for accurate and comprehensive taxonomic assignments of DNA and RNA viral sequences. By integrating alignment-based techniques with graph theory, VITAP achieves high precision in classifying viral sequences, including those as short as 1000 base pairs, down to the genus level. + diff --git a/recipes/voyager/build.sh b/recipes/voyager/build.sh new file mode 100755 index 0000000000000..e2ebb55accdc9 --- /dev/null +++ b/recipes/voyager/build.sh @@ -0,0 +1,14 @@ +#!/bin/bash +mkdir -p "$PREFIX/bin" + +cp voyager-cli $PREFIX/bin/ +cp voyager-build-cli $PREFIX/bin/ +cp voyager-combine-cli $PREFIX/bin/ +cp voyager-debug-index $PREFIX/bin/ + +mkdir -p "$PREFIX/lib" +cp voyager-monitor-$PKG_VERSION-SNAPSHOT.jar $PREFIX/lib/ + +echo '#!/bin/bash' > ${PREFIX}/bin/voyager-monitor +echo 'java -jar "'$PREFIX'/lib/voyager-monitor-'$PKG_VERSION'-SNAPSHOT.jar" "$@"' >> $PREFIX/bin/voyager-monitor +chmod +x "${PREFIX}/bin/voyager-monitor" diff --git a/recipes/voyager/meta.yaml b/recipes/voyager/meta.yaml new file mode 100755 index 0000000000000..9fc6c50e7f52c --- /dev/null +++ b/recipes/voyager/meta.yaml @@ -0,0 +1,37 @@ +{% set version = "0.1.1" %} +{% set base = "https://bitbucket.org/sverre-phd-work/voyager/downloads" %} +{% set sha256 = "912bf5998095095faa291d504946763e8b31da3bf3bff3a250ac51f5f214948e" %} + +package: + name: voyager + version: '{{version}}' + +source: + url: {{base}}/voyager-noarch64-v{{version}}.tar.gz + sha256: '{{sha256}}' + +build: + number: 0 + noarch: generic + run_exports: + - {{ pin_subpackage('voyager', max_pin="x.x") }} + +requirements: + build: + # + host: + - openjdk >=11 + run: + - openjdk >=11 + +about: + home: "https://bitbucket.org/sverre-phd-work/voyager/" + license: LGPL-3.0-only + license_file : COPYING.LESSER + summary: "Rapid and efficient mapping algorithm for long sequencing reads with insertion- and deletion errors." + doc_url: "https://bitbucket.org/sverre-phd-work/voyager/wiki/Home" + dev_url: "https://bitbucket.org/sverre-phd-work/voyager/" + +extra: + identifiers: + - doi:10.1101/2024.04.13.589333 diff --git a/recipes/voyager/run_test.sh b/recipes/voyager/run_test.sh new file mode 100644 index 0000000000000..b99b38a28a097 --- /dev/null +++ b/recipes/voyager/run_test.sh @@ -0,0 +1,5 @@ +#!/bin/bash +voyager-cli -v >/dev/null +voyager-build-cli -v >/dev/null +voyager-combine-cli -v >/dev/null +voyager-debug-index -v >/dev/null diff --git a/recipes/vphaser2/meta.yaml b/recipes/vphaser2/meta.yaml index 062382ca7673c..564a6bc38b562 100644 --- a/recipes/vphaser2/meta.yaml +++ b/recipes/vphaser2/meta.yaml @@ -7,7 +7,7 @@ source: md5: fd22b1c4403903576e62defb51b6ae32 build: - number: 13 + number: 14 skip: True # [osx] requirements: diff --git a/recipes/vsearch/build.sh b/recipes/vsearch/build.sh index 05aa2d19c547b..014be82e9d4bd 100755 --- a/recipes/vsearch/build.sh +++ b/recipes/vsearch/build.sh @@ -1,12 +1,15 @@ #!/bin/bash +set -xe + # Remove configure.ac C(XX)?FLAGS override sed -i.bak 's/ *CX\?X\?FLAGS/#\0/p' configure.ac # Remove MACOS_DEPLOYMENT_TARGET override sed -i.bak 's/MACOSX_DEPLOYMENT_TARGET=/#\0/' configure.ac sed -i.bak 's/export MACOSX_DEPLOYMENT_TARGET=/#\0/' src/Makefile.am +export M4="$BUILD_PREFIX/bin/m4" ./autogen.sh ./configure --prefix=$PREFIX -make +make -j ${CPU_COUNT} make install diff --git a/recipes/vsearch/meta.yaml b/recipes/vsearch/meta.yaml index fdfb483ba13ff..f3b2d947ad235 100644 --- a/recipes/vsearch/meta.yaml +++ b/recipes/vsearch/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "2.26.1" %} -{% set sha256 = "dc8513376405fc01ca3742624177113752870b05bb682fe1bf62d190d0a696bd" %} +{% set version = "2.29.0" %} +{% set sha256 = "2c5bd0d9b3c2ec8eecd1af06ae11611138d87fdfecfa423ae791d52dccd27e63" %} package: name: vsearch @@ -21,6 +21,7 @@ requirements: - '{{ compiler("cxx") }}' - automake - autoconf + - m4 host: - zlib - bzip2 @@ -43,6 +44,9 @@ about: summary: A versatile open source tool for metagenomics (USEARCH alternative) extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - biotools:vsearch - doi:10.7717/peerj.2584 diff --git a/recipes/vsnp3/meta.yaml b/recipes/vsnp3/meta.yaml index 9fe286418fdbe..d816791c62ea2 100644 --- a/recipes/vsnp3/meta.yaml +++ b/recipes/vsnp3/meta.yaml @@ -1,7 +1,8 @@ {% set user = "USDA-VS" %} {% set name = "vsnp3" %} -{% set version = "3.18" %} -{% set sha256 = "46c6d760d4e7ad6e437bbd1096cd9ae681a33c90c1be7c410439b0a1a0ba7769" %} +{% set version = "3.26" %} +{% set sha256 = "7d83019dd8537d686f66d17610722d636d2e918aed563db175fc4f3d3e9807f0" %} + package: name: {{ name|lower }} @@ -19,7 +20,7 @@ source: requirements: run: - - python >=3.8,<3.10 + - python >=3.8,<3.12 - bcftools - biopython >=1.79 - bwa diff --git a/recipes/vt/meta.yaml b/recipes/vt/meta.yaml index b2f9584f8b7f0..2132b3ae295e9 100644 --- a/recipes/vt/meta.yaml +++ b/recipes/vt/meta.yaml @@ -10,7 +10,9 @@ source: sha256: 8f06d464ec5458539cfa30f81a034f47fe7f801146fe8ca80c14a3816b704e17 build: - number: 9 + number: 11 + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} requirements: build: @@ -38,3 +40,7 @@ about: home: https://genome.sph.umich.edu/wiki/Vt license: MIT summary: A tool set for manipulating and generating VCF files + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/vtools/meta.yaml b/recipes/vtools/meta.yaml index 71f1a2d58b33a..8b2dcd71211c4 100644 --- a/recipes/vtools/meta.yaml +++ b/recipes/vtools/meta.yaml @@ -12,7 +12,7 @@ source: - patch build: - number: 5 + number: 6 entry_points: - vtools-filter = vtools.cli:filter_cli - vtools-stats = vtools.cli:stats_cli diff --git a/recipes/vvv2_display/meta.yaml b/recipes/vvv2_display/meta.yaml index 3ddd50e940bcd..26f67c9c7b545 100644 --- a/recipes/vvv2_display/meta.yaml +++ b/recipes/vvv2_display/meta.yaml @@ -1,19 +1,18 @@ {% set name = "vvv2_display" %} -{% set version = "0.1.10" %} -{% set sha256 = "8d7bd065fae64e2cfb5e9b4ca64a2b2c3a346120ec67265953ce3c21a85cf276" %} +{% set version = "0.2.2" %} +{% set sha256 = "4338282a0476b3a90bfcfe741bb79194906145530122842c827ff5903a0f15fb" %} package: name: {{ name }} version: {{ version }} source: - # git_rev: "0.1.10" url: https://github.com/ANSES-Ploufragan/vvv2_display/archive/refs/tags/{{version}}.tar.gz sha256: {{ sha256 }} - + build: run_exports: - - {{ pin_subpackage(name, max_pin="x") }} + - {{ pin_subpackage(name, max_pin="x.x") }} noarch: python number: 0 script: {{ PYTHON }} -m pip install . -vv @@ -26,7 +25,11 @@ requirements: run: - pip - python >=3.9 - - r-ggplot2 >=3.3.6 + - r-ggplot2 >=3.4.4 + - r-gridextra >=2.3 + - r-cowplot >=1.1.1 + - r-stringr >=1.5.1 + - r-jsonlite >=1.8.8 - pysam >=0.19.1 - numpy >=1.23.3 @@ -35,9 +38,12 @@ test: - vvv2_display.py -h about: - home: https://github.com/ANSES_Ploufragan/vvv2_display/ + home: https://github.com/ANSES-Ploufragan/vvv2_display/ license: GPL-3.0-only license_family: GPL license_file: LICENSE - summary: "Creates png image file with all [vardict] variants proportions along genome/assembly with annotations from [vadr]." - maintainer: FTouzain + summary: "Creates png image file with all [vardict] variants proportions alongside genome/assembly with annotations from [vadr]." + +extra: + recipe-maintainers: + - FTouzain diff --git a/recipes/w4mclassfilter/meta.yaml b/recipes/w4mclassfilter/meta.yaml index c33c71c19a82b..7f78f51857138 100644 --- a/recipes/w4mclassfilter/meta.yaml +++ b/recipes/w4mclassfilter/meta.yaml @@ -11,7 +11,7 @@ source: build: noarch: generic - number: 3 + number: 4 rpaths: - lib/R/lib/ - lib/ diff --git a/recipes/wally/build.sh b/recipes/wally/build.sh index 0ed542795a662..c41da757c0afd 100644 --- a/recipes/wally/build.sh +++ b/recipes/wally/build.sh @@ -1,5 +1,3 @@ #!/bin/sh -make all CXX=$CXX CXXFLAGS="-D__STDC_FORMAT_MACROS -I${PREFIX}/include -L${PREFIX}/lib" -mkdir -p $PREFIX/bin -cp src/wally $PREFIX/bin +CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS -I${PREFIX}/include -L${PREFIX}/lib" make -j${CPU_COUNT} CXX="${CXX}" prefix="${PREFIX}" install diff --git a/recipes/wally/meta.yaml b/recipes/wally/meta.yaml index bf0f6c9d37dc6..26a0beaba7985 100644 --- a/recipes/wally/meta.yaml +++ b/recipes/wally/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "0.5.8" %} -{% set sha256 = "ddd3376ad4dc3a37ccdafd813a9f6824fd3d78f35b440be7f810471b250facbd" %} +{% set version = "0.6.1" %} +{% set sha256 = "8c83808b112996cef6557cd0f26d4de9b96722ce7cb1c2fa482c8af32ef1c422" %} package: name: wally @@ -10,29 +10,25 @@ source: sha256: '{{ sha256 }}' build: - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage("wally", max_pin="x.x") }} requirements: build: - - {{ compiler('cxx') }} - - {{ cdt('mesa-libgl-devel') }} # [linux] - - {{ cdt('mesa-dri-drivers') }} # [linux] - - {{ cdt('libselinux') }} # [linux] - - {{ cdt('libxdamage') }} # [linux] - - {{ cdt('libxxf86vm') }} # [linux] - - {{ cdt('libxext') }} # [linux] - - xorg-libxfixes # [linux] - make - - pkg-config # [osx] + - {{ compiler('cxx') }} host: - zlib - bzip2 + - libdeflate - boost-cpp - libopencv >=4.5.3 - htslib run: - zlib - bzip2 + - libdeflate - boost-cpp - libopencv >=4.5.3 - htslib @@ -41,13 +37,13 @@ test: commands: - wally --help -extra: - container: - extended-base: True - about: home: https://github.com/tobiasrausch/wally license: BSD-3-Clause license_family: BSD license_file: LICENSE summary: Visualization of aligned sequencing reads and genomic variants. + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/wbuild/meta.yaml b/recipes/wbuild/meta.yaml index 4c458db94493f..e6daece1d4bd4 100644 --- a/recipes/wbuild/meta.yaml +++ b/recipes/wbuild/meta.yaml @@ -10,13 +10,15 @@ source: sha256: 50610c40028b81e6189ec0b39f97dd466ec04347df66f39e776b623b807543ba build: - number: 1 + number: 2 noarch: python entry_points: - wbuild=wbuild.cli:main script: - sed -i.bak -e '/pytest-runner/d' -e '/[ \t]*#/d' setup.py - "{{ PYTHON }} -m pip install . -vv" + run_exports: + - {{ pin_subpackage('wbuild', max_pin='x.x') }} requirements: host: @@ -25,13 +27,13 @@ requirements: - click >=6.0 - click-log - pyyaml >=4.2b1 - - snakemake-minimal >=5.5.2 + - snakemake-minimal >=5.5.2,<8.0.0 run: - python >=3.5 - click >=6.0 - click-log - pyyaml >=4.2b1 - - snakemake-minimal >=5.5.2 + - snakemake-minimal >=5.5.2,<8.0.0 test: imports: diff --git a/recipes/weeder/meta.yaml b/recipes/weeder/meta.yaml index c41db324ee25e..5cbce18083ea8 100644 --- a/recipes/weeder/meta.yaml +++ b/recipes/weeder/meta.yaml @@ -7,8 +7,10 @@ source: md5: 3401675b24ca928b7cc54ce9ebf18b6a build: - number: 8 + number: 9 skip: True # [osx] + run_exports: + - {{ pin_subpackage('weeder', max_pin="x") }} requirements: build: @@ -26,6 +28,8 @@ about: summary: "Motif (transcription factor binding sites) discovery in sequences from coregulated genes of a single species. This is a new Weeder release rewritten to be faster and optimized for large ChIP-Seq data." extra: + additional-platforms: + - linux-aarch64 notes: "Includes a simple wrapper script to be able to run weeder from any directory. It passes arguments transparently to the weeder2 executable." identifiers: - biotools:weeder diff --git a/recipes/wfa2-lib/build.sh b/recipes/wfa2-lib/build.sh index 523f810bac3b2..70bd4b1b6e752 100644 --- a/recipes/wfa2-lib/build.sh +++ b/recipes/wfa2-lib/build.sh @@ -1,17 +1,37 @@ #!/bin/bash set -ex -export C_INCLUDE_PATH="${PREFIX}/include" +export INCLUDE_PATH="${PREFIX}/include" export LIBRARY_PATH="${PREFIX}/lib" export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CFLAGS="${CFLAGS} -O3 -L${PREFIX}/lib" +export CXXFLAGS="${CXXFLAGS} -O3 -I${PREFIX}/include" + +case $(uname -m) in + aarch64 | arm64) + EXTRA_FLAGS="-ftree-vectorize" + ;; + *) + EXTRA_FLAGS="-ftree-vectorize -msse2 -mfpmath=sse" + ;; +esac + +if [[ "$(uname)" == "Darwin" ]]; then + export CONFIG_ARGS="-DCMAKE_FIND_FRAMEWORK=NEVER -DCMAKE_FIND_APPBUNDLE=NEVER" +else + export CONFIG_ARGS="" +fi cmake -S . -B build \ -DCMAKE_CXX_COMPILER="${CXX}" \ -DCMAKE_C_COMPILER="${CC}" \ - -DCMAKE_CXX_FLAGS="-O3 -D_FILE_OFFSET_BITS=64 -I${PREFIX}/include ${LDFLAGS}" \ - -DEXTRA_FLAGS="-ftree-vectorize -msse2 -mfpmath=sse" \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ + -DCMAKE_C_FLAGS="${CFLAGS}" \ + -DEXTRA_FLAGS="${EXTRA_FLAGS}" \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX="${PREFIX}" \ - -DBUILD_SHARED_LIBS=ON + -DBUILD_SHARED_LIBS=ON \ + -DCMAKE_INSTALL_LIBDIR="${PREFIX}/lib" \ + -DOPENMP=TRUE "${CONFIG_ARGS}" -cmake --build build/ --target install -v +cmake --build build/ --target install -j "${CPU_COUNT}" -v diff --git a/recipes/wfa2-lib/meta.yaml b/recipes/wfa2-lib/meta.yaml index d5ceb2b683486..3be8971631094 100644 --- a/recipes/wfa2-lib/meta.yaml +++ b/recipes/wfa2-lib/meta.yaml @@ -1,6 +1,6 @@ {% set name = "wfa2-lib" %} -{% set version = "2.3.4" %} -{% set sha256 = "3a02d19b45c7efcdcabdd956421b1e449e771fca0b0f072e02d7aa65ebb29f23" %} +{% set version = "2.3.5" %} +{% set sha256 = "2609d5f267f4dd91dce1776385b5a24a2f1aa625ac844ce0c3571c69178afe6e" %} package: name: {{ name|lower }} @@ -9,22 +9,22 @@ package: source: url: https://github.com/smarco/WFA2-lib/archive/refs/tags/v{{ version }}.tar.gz sha256: {{ sha256 }} - patches: - - patches/1-macOS_endian.patch # [osx] build: - number: 0 + number: 2 run_exports: - - {{ pin_subpackage(name, max_pin="x.x") }} + - {{ pin_subpackage(name, max_pin="x") }} requirements: build: - {{ compiler('cxx') }} - make - cmake - host: - pkg-config + host: - rhash # [osx] + - libgomp # [linux] + - llvm-openmp # [osx] test: commands: @@ -36,9 +36,14 @@ about: license: MIT license_family: MIT license_file: LICENSE - summary: "Wavefront alignment algorithm library v2" + summary: "Wavefront alignment algorithm library v2." + dev_url: "https://github.com/smarco/WFA2-lib" + doc_url: "https://github.com/smarco/WFA2-lib/blob/v{{ version }}/README.md" extra: identifiers: - doi:10.1093/bioinformatics/btaa777 - doi:10.1101/2022.04.14.488380 + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/wfa2-lib/patches/1-macOS_endian.patch b/recipes/wfa2-lib/patches/1-macOS_endian.patch deleted file mode 100644 index 5e6f8206b8b9b..0000000000000 --- a/recipes/wfa2-lib/patches/1-macOS_endian.patch +++ /dev/null @@ -1,16 +0,0 @@ -index 7600442..a1fab79 100644 ---- a/wavefront/wavefront_extend_kernels.c -+++ b/wavefront/wavefront_extend_kernels.c -@@ -29,7 +29,11 @@ - * DESCRIPTION: WFA module for the "extension" of exact matches - */ - --#include -+#ifdef __APPLE__ || defined(__FreeBSD__) -+ #include // __BYTE_ORDER -+ #else -+ #include // __BYTE_ORDER -+ #endif - - #include "wavefront_extend_kernels.h" - #include "wavefront_termination.h" diff --git a/recipes/wfmash/build.sh b/recipes/wfmash/build.sh index 579fb82dd2ac1..f2e401fb045a1 100644 --- a/recipes/wfmash/build.sh +++ b/recipes/wfmash/build.sh @@ -7,17 +7,33 @@ export C_INCLUDE_PATH=${PREFIX}/include export CPLUS_INCLUDE_PATH=${PREFIX}/include export CPP_INCLUDE_PATH=${PREFIX}/include export CXX_INCLUDE_PATH=${PREFIX}/include -sed -i 's/-march=native/-march=sandybridge/g' src/common/wflign/deps/WFA2-lib/Makefile -cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Generic -DEXTRA_FLAGS='-march=sandybridge -Ofast' -cmake --build build + +case $(uname -m) in + x86_64) + EXTRA_FLAGS="-march=sandybridge -Ofast" + MARCH="sandybridge" + ;; + *) + EXTRA_FLAGS="-march=native -Ofast" + MARCH="native" + ;; +esac + +sed -i "s/-march=x86-64-v3/-march=${MARCH}/g" src/common/wflign/deps/WFA2-lib/Makefile +cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Generic -DEXTRA_FLAGS="${EXTRA_FLAGS}" +cmake --build build -j ${CPU_COUNT} # Libraries aren't getting installed mkdir -p $PREFIX/lib -mv $SRC_DIR/build/lib/libwfa2cpp.so.0 $PREFIX/lib -mv $SRC_DIR/build/lib/libwfa2cpp.so $PREFIX/lib -mv $SRC_DIR/build/lib/libwfa2.so.0 $PREFIX/lib -mv $SRC_DIR/build/lib/libwfa2.so $PREFIX/lib + +ls $SRC_DIR/build/lib/* -lh + +# mv $SRC_DIR/build/lib/libwfa2cpp.so.0 $PREFIX/lib +# mv $SRC_DIR/build/lib/libwfa2cpp.so $PREFIX/lib +# mv $SRC_DIR/build/lib/libwfa2.so.0 $PREFIX/lib +# mv $SRC_DIR/build/lib/libwfa2.so $PREFIX/lib +cp $SRC_DIR/build/lib/libwfa2* $PREFIX/lib mkdir -p $PREFIX/bin -mv build/bin/* $PREFIX/bin -mv scripts/split_approx_mappings_in_chunks.py $PREFIX/bin +cp build/bin/* $PREFIX/bin +cp scripts/split_approx_mappings_in_chunks.py $PREFIX/bin diff --git a/recipes/wfmash/meta.yaml b/recipes/wfmash/meta.yaml index 6aa9d544dff40..980acc916dbe1 100644 --- a/recipes/wfmash/meta.yaml +++ b/recipes/wfmash/meta.yaml @@ -1,5 +1,5 @@ {% set name = "wfmash" %} -{% set version = "0.10.5" %} +{% set version = "0.21.0" %} package: name: "{{ name }}" @@ -7,10 +7,10 @@ package: source: url: https://github.com/waveygang/{{ name }}/releases/download/v{{ version }}/{{ name }}-v{{ version }}.tar.gz - sha256: 04c779f3e378c64543deefaa14ede67f16d1207d15e21128c9714012a0b55bcb + sha256: fc1482c0098f36bb5fe4730ad4504ed7c8037c902e7fa3339b33d18e338e2f6d build: - skip: True # [osx] + skip: True # [osx] run_exports: - {{ pin_subpackage(name, max_pin='x.x') }} number: 0 @@ -30,6 +30,7 @@ requirements: - libblas run: - llvm-openmp # [osx] + - python >=3.7 test: commands: @@ -42,6 +43,8 @@ about: summary: a pangenome-scale aligner extra: + additional-platforms: + - linux-aarch64 skip-lints: - uses_vcs_url recipe-maintainers: diff --git a/recipes/wgatools/build.sh b/recipes/wgatools/build.sh new file mode 100644 index 0000000000000..2fd3e311f3e0a --- /dev/null +++ b/recipes/wgatools/build.sh @@ -0,0 +1,14 @@ +#!/bin/bash -euo + +# Add workaround for SSH-based Git connections from Rust/cargo. See https://github.com/rust-lang/cargo/issues/2078 for details. +# We set CARGO_HOME because we don't pass on HOME to conda-build, thus rendering the default "${HOME}/.cargo" defunct. +export CARGO_NET_GIT_FETCH_WITH_CLI=true CARGO_HOME="${BUILD_PREFIX}/.cargo" + +export LIBRARY_PATH="${PREFIX}/lib" +export INCLUDE_PATH="${PREFIX}/include" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +export CXXFLAGS="${CXXFLAGS} -O3 -I${PREFIX}/include" + +# build statically linked binary with Rust +RUST_BACKTRACE=1 +cargo install --verbose --path . --root ${PREFIX} diff --git a/recipes/wgatools/meta.yaml b/recipes/wgatools/meta.yaml new file mode 100644 index 0000000000000..656097287727a --- /dev/null +++ b/recipes/wgatools/meta.yaml @@ -0,0 +1,43 @@ +{% set name = "wgatools" %} +{% set version = "0.1.1" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/wjwei-handsome/{{ name }}/archive/refs/tags/v{{ version }}.tar.gz + sha256: 07e15a7e7e918318f781805b670294601481b5009c922b140c71ee5f298c2390 + +build: + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin='x.x') }} + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('rust') }} + - make + - cmake + - pkg-config + host: + - openssl + run: + - perl + +test: + commands: + - wgatools --help + +about: + home: https://github.com/wjwei-handsome/{{ name }} + license: MIT + license_family: MIT + license_file: LICENSE + summary: "A Rust library and tools for whole genome alignment files" + dev_url: https://github.com/wjwei-handsome/{{ name }} + +extra: + recipe-maintainers: + - AndreaGuarracino diff --git a/recipes/wgd/meta.yaml b/recipes/wgd/meta.yaml index 585956b3a5563..656dea22642d3 100644 --- a/recipes/wgd/meta.yaml +++ b/recipes/wgd/meta.yaml @@ -1,26 +1,29 @@ -{% set version = "2.0.23" %} +{% set name = "wgd" %} +{% set version = "2.0.38" %} package: - name: "wgd" + name: {{ name }} version: {{ version }} source: url: https://pypi.io/packages/source/w/wgd/wgd-{{ version }}.tar.gz - sha256: 7d36a63d77dc9fc354cca1f1644e19213b43b7b0e3a444eb6d61a85fdeb27b68 + sha256: f7caa0d57a570aebdb4ab972835c1d3f08d15e70efe34a9b73d09f80d8ae5f94 build: number: 0 noarch: python - script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv " + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + entry_points: + - wgd=cli:cli run_exports: - - {{ pin_subpackage('wgd', max_pin='x.x') }} + - {{ pin_subpackage('wgd', max_pin='x') }} requirements: host: - pip - - python >=3.6,<=3.9 + - python >=3.6,<3.10 run: - - python >=3.6,<=3.9 + - python >=3.6,<3.10 - mafft - paml - diamond @@ -31,7 +34,16 @@ test: - wgd about: - home: https://github.com/heche-psb/wgd - license: GPL-3.0 + home: "https://github.com/heche-psb/wgd" + license: "GPL-3.0-or-later" + license_family: GPL3 license_file: LICENSE - summary: a suite tool of WGD inference and timing + summary: "wgd v2: a suite of tools to uncover and date ancient polyploidy and whole-genome duplication" + dev_url: "https://github.com/heche-psb/wgd" + doc_url: "https://wgdv2.readthedocs.io/en/latest/" + +extra: + identifiers: + - biotools:wgd + - doi:10.1007/978-1-0716-2561-3_1 + - doi:10.1093/bioinformatics/btae272 diff --git a/recipes/whatshap/meta.yaml b/recipes/whatshap/meta.yaml index 7c3aeef9ad35c..60ae860a8702e 100644 --- a/recipes/whatshap/meta.yaml +++ b/recipes/whatshap/meta.yaml @@ -1,14 +1,19 @@ +{% set name = "whatshap" %} +{% set version = "2.3" %} + package: - name: whatshap - version: "2.1" + name: {{ name }} + version: {{ version }} source: - url: https://files.pythonhosted.org/packages/35/1a/d6fedb787eac8d616ec598f6a42cf2289bcc11dbbfdeae65afdf1dcb7bfc/whatshap-2.1.tar.gz - sha256: 9b61812eda1dd5251ba8d02db16d7ddda152ccc813cb3db6a1ec796f1865fe8d + url: https://files.pythonhosted.org/packages/37/99/7f156642064fe65aabbe6fa044a485e2aae6437dd545a9d539c06c1535dd/whatshap-2.3.tar.gz + sha256: 1f7ac47b18784b213492e4b92dddc63132d371b2f353660462536bcadc15e62e build: - number: 0 - script: python -m pip install --no-deps --ignore-installed . + number: 2 + script_env: + - SETUPTOOLS_SCM_PRETEND_VERSION={{ version }} + script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation --no-cache-dir . -vvv run_exports: - {{ pin_subpackage('whatshap', max_pin="x") }} @@ -19,13 +24,12 @@ requirements: - python - pip - cython - - setuptools - setuptools-scm run: - python - pysam >=0.18 - pyfaidx >=0.5.5.2 - - networkx >=2.4 + - networkx - biopython >=1.73 - scipy - xopen >=1.2.0 @@ -38,14 +42,21 @@ test: imports: - whatshap commands: - - whatshap --help > /dev/null + - "whatshap --help > /dev/null" about: - home: https://whatshap.readthedocs.io/ - license: MIT License - summary: 'phase genomic variants using DNA sequencing reads (haplotype assembly)' + home: "https://whatshap.readthedocs.io" + license: MIT + license_family: MIT + license_file: LICENSE + summary: "Phase genomic variants using DNA sequencing reads (haplotype assembly)." + dev_url: "https://github.com/whatshap/whatshap" + doc_url: "https://whatshap.readthedocs.io" extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 identifiers: - biotools:whatshap - doi:10.1089/cmb.2014.0157 diff --git a/recipes/wiggletools/build.sh b/recipes/wiggletools/build.sh index 6822bc4a886e2..09a0d2833c7df 100644 --- a/recipes/wiggletools/build.sh +++ b/recipes/wiggletools/build.sh @@ -1,9 +1,11 @@ #!/bin/bash +set -xe + # Patch v1.2.8 makefile; remove in next release sed -i.orig -e 's/-L/${LDFLAGS} -L/' src/Makefile -make LIBS="-lwiggletools -lBigWig -lgsl -lgslcblas -lhts -lpthread -lm" +make -j ${CPU_COUNT} LIBS="-lwiggletools -lBigWig -lgsl -lgslcblas -lhts -lpthread -lm" cp lib/libwiggletools.a $PREFIX/lib/ cp inc/wiggletools.h $PREFIX/include/ diff --git a/recipes/wiggletools/meta.yaml b/recipes/wiggletools/meta.yaml index 0f9b40782a183..de7d1be501ac1 100644 --- a/recipes/wiggletools/meta.yaml +++ b/recipes/wiggletools/meta.yaml @@ -7,7 +7,9 @@ package: version: {{ version }} build: - number: 6 + number: 8 + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} source: url: https://github.com/Ensembl/WiggleTools/archive/v{{ version }}.tar.gz @@ -35,3 +37,7 @@ about: summary: The WiggleTools package allows genomewide data files to be manipulated as numerical functions, equipped with all the standard functional analysis operators (sum, product, product by a scalar, comparators), and derived statistics (mean, median, variance, stddev, t-test, Wilcoxon's rank sum test, etc). + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/wise2/meta.yaml b/recipes/wise2/meta.yaml index cdc27595f5017..0852d41a13f5b 100644 --- a/recipes/wise2/meta.yaml +++ b/recipes/wise2/meta.yaml @@ -5,13 +5,15 @@ package: version: '{{ version }}' source: - url: https://www.ebi.ac.uk/~birney/wise2/wise{{ version }}.tar.gz + url: https://www.ebi.ac.uk/~birney/wise{{ version }}.tar.gz sha256: 240e2b12d6cd899040e2efbcb85b0d3c10245c255f3d07c1db45d0af5a4d5fa1 patches: - patch build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage("wise2", max_pin='x.x') }} requirements: build: @@ -32,3 +34,7 @@ about: home: https://www.ebi.ac.uk/~birney/wise2/ license: Public Domain summary: The Wise2.4 package is the "revival" release of Wise2 + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/wise2/patch b/recipes/wise2/patch index 02df512f42706..8a63165a5c093 100644 --- a/recipes/wise2/patch +++ b/recipes/wise2/patch @@ -23,3 +23,29 @@ index 7fd404a..4fbb930 100644 # These are the CFLAGS to use. These days Wise2 is inherently # pthreaded, and everything is compiled with threads. However +diff --git a/src/dnaindex/compressed_protein_index.c b/src/dnaindex/compressed_protein_index.c +index 00720b5..85227d0 100644 +--- a/src/dnaindex/compressed_protein_index.c ++++ b/src/dnaindex/compressed_protein_index.c +@@ -199,7 +199,7 @@ boolean add_direct_number_CompressedProteinIndex(void * data,int seq_number,Sequ + { + fatal("For compressed protein indexes, impossible to add numbers directly"); + +- return NULL; ++ return FALSE; + } + + # line 226 "compressed_protein_index.dy" +diff --git a/src/models/motifmatrix.c b/src/models/motifmatrix.c +index 8c6a8aa..bfb2270 100644 +--- a/src/models/motifmatrix.c ++++ b/src/models/motifmatrix.c +@@ -407,7 +407,7 @@ MotifConsMatrix * MotifConsMatrix_alloc_matrix(int leni,int lenj) + + for(i=0;imat[i][j] = NULL; ++ out->mat[i][j] = '0'; + } + + \ No newline at end of file diff --git a/recipes/wisecondorx/meta.yaml b/recipes/wisecondorx/meta.yaml index bcfd7b6e9b74d..94a801e6d7d16 100644 --- a/recipes/wisecondorx/meta.yaml +++ b/recipes/wisecondorx/meta.yaml @@ -1,36 +1,38 @@ -{% set version="1.2.5" %} +{% set version="1.2.9" %} package: name: wisecondorx version: {{ version }} source: url: https://github.com/CenterForMedicalGeneticsGhent/wisecondorX/archive/v{{ version }}.tar.gz - sha256: be60c95630cd89977f445b68f11560360ef10d6c994ea3028c0d0295fc7452c9 + sha256: 345faaf81822d6532d278ca9819059c1a2860e0856432b054d3bed076c95326c build: number: 0 noarch: python script: "{{ PYTHON }} -m pip install . --no-deps -vv" + run_exports: + - {{ pin_subpackage('wisecondorx', max_pin="x") }} requirements: host: - - python + - python >=3.6 - setuptools run: - - python - - pysam - - futures # [not py3k] - - scipy - - scikit-learn - - numpy - - r-jsonlite >=1.5 + - pandas + - python >=3.6 + - pysam ==0.22 + - scipy ==1.13 + - scikit-learn ==1.4 + - numpy ==1.26 + - r-jsonlite ==1.8.8 - r-png - - bioconductor-dnacopy - - matplotlib-base + - bioconductor-dnacopy ==1.76 + - matplotlib-base ==3.8.4 test: imports: - - wisecondorX + - wisecondorx commands: - WisecondorX --help - WisecondorX convert --help diff --git a/recipes/woltka/meta.yaml b/recipes/woltka/meta.yaml index 0eb7ddeaedf5b..90ac9b472e926 100644 --- a/recipes/woltka/meta.yaml +++ b/recipes/woltka/meta.yaml @@ -1,48 +1,47 @@ {% set name = "woltka" %} -{% set version = "0.1.5" %} +{% set version = "0.1.7" %} package: - name: "{{ name|lower }}" - version: "{{ version }}" + name: {{ name|lower }} + version: {{ version }} source: - url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: e97f84ba5044aec8aae7f54dc42a4172c0972a3ca008e4cf7909d364496fa16d + url: https://pypi.org/packages/source/{{ name[0] }}/{{ name }}/woltka-{{ version }}.tar.gz + sha256: 7958b10a4f33511fd82c740cdb461fc03d1b7932e00ac6746b6eb5d8de3880f5 build: - number: 0 - noarch: python entry_points: - - woltka=woltka.cli:cli - script: "{{ PYTHON }} -m pip install . -vv" + - woltka = woltka.cli:cli + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + run_exports: + - {{ pin_subpackage("woltka", max_pin="x.x") }} requirements: host: - - biom-format + - python >=3.6 + - hatchling - pip - - python - - setuptools run: + - python >=3.6 + - numba - biom-format - - python - - setuptools test: imports: - woltka - - woltka.q2 - - woltka.tests commands: + - pip check - woltka --help + requires: + - pip about: - home: "https://github.com/qiyunzhu/woltka" - license: BSD - license_family: BSD - license_file: - summary: "versatile meta-omic data classifier" - doc_url: - dev_url: + home: https://github.com/qiyunzhu/woltka + summary: versatile meta-omic data classifier + license: BSD-3-Clause + license_file: LICENSE extra: recipe-maintainers: diff --git a/recipes/xatlas/meta.yaml b/recipes/xatlas/meta.yaml index e68aea7b08dea..09cbbc7ed87ed 100644 --- a/recipes/xatlas/meta.yaml +++ b/recipes/xatlas/meta.yaml @@ -6,7 +6,7 @@ package: version: {{ version }} build: - number: 3 + number: 4 skip: True # [osx] source: diff --git a/recipes/xclone/meta.yaml b/recipes/xclone/meta.yaml new file mode 100644 index 0000000000000..9d503c1eb1603 --- /dev/null +++ b/recipes/xclone/meta.yaml @@ -0,0 +1,50 @@ +{% set name = "xclone" %} +{% set version = "0.3.8" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.org/packages/source/{{ name[0] }}/{{ name }}/xclone-{{ version }}.tar.gz + sha256: 67fbf73ece48f41e2ae4531f2554c80ff62472066cb18b11045f7f41307a9115 + +build: + number: 0 + noarch: python + script: {{ PYTHON }} -m pip install . -vvv --no-deps --no-build-isolation --no-cache-dir + run_exports: + - {{ pin_subpackage('xclone', max_pin="x.x") }} + +requirements: + host: + - python >=3.9 + - poetry-core + - pip + run: + - python >=3.9 + - numpy >=1.26.4,<2.0.0 + - pandas >=2.2.2,<3.0.0 + - scipy >=1.13.1,<2.0.0 + - matplotlib-base >=3.9.0,<4.0.0 + - anndata >=0.10.7,<0.11.0 + - statsmodels >=0.14.2,<0.15.0 + - scanpy >=1.10.1,<2.0.0 + - h5py >=3.11.0,<4.0.0 + - palettable >=3.3.3,<4.0.0 + - requests >=2.32.3,<3.0.0 + - importlib-metadata >=7.1.0,<8.0.0 + - squidpy >=1.5.0,<2.0.0 + +test: + imports: + - xclone + +about: + home: "https://github.com/single-cell-genetics/XClone" + summary: "Inference of clonal Copy Number Alterations in single cells." + license: "Apache-2.0" + license_family: APACHE + license_file: LICENSE + dev_url: "https://github.com/single-cell-genetics/XClone" + doc_url: "https://xclone-cnv.readthedocs.io/en/latest" diff --git a/recipes/xengsort/meta.yaml b/recipes/xengsort/meta.yaml index 0950c1283bbf4..81ad38b3bace4 100644 --- a/recipes/xengsort/meta.yaml +++ b/recipes/xengsort/meta.yaml @@ -1,5 +1,5 @@ {% set name = "xengsort" %} -{% set version = "2.0.2" %} +{% set version = "2.0.8" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 58540e42d86b943dc00e0d4b3b3131fb2dd26286b03228bf8a08553911a18052 + sha256: 22ca92e0548effb263f843a2233381f4a6d3073c2931ee0ec0cdbbddb625cf17 build: number: 0 @@ -16,14 +16,14 @@ build: run_exports: - {{ pin_subpackage(name, max_pin="x") }} noarch: python - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" requirements: host: - pip - - python >=3.10 + - python >=3.12 run: - - python >=3.10 + - python >=3.12 - numpy >=1.22 - numba >=0.56 - zarr @@ -45,9 +45,10 @@ about: license_file: LICENSE license_family: MIT summary: "A fast xenograft read sorter based on space-efficient k-mer hashing" + dev_url: https://gitlab.com/genomeinformatics/xengsort extra: identifiers: - - doi:10.4230/LIPIcs.WABI.2020.4 + - doi:10.4230/LIPIcs.WABI.2020.4 recipe-maintainers: - JZentgraf diff --git a/recipes/xtandem/build.sh b/recipes/xtandem/build.sh index 26a44dc276f46..c690110316680 100644 --- a/recipes/xtandem/build.sh +++ b/recipes/xtandem/build.sh @@ -1,9 +1,11 @@ #!/bin/bash +set -xe + cd src/ # without -fpermissive, this fails with GCC7 due to bad style -make CXX="${CXX}" CXXFLAGS+='-fpermissive' LDFLAGS+='-lpthread -lm -lexpat' +make -j ${CPU_COUNT} CXX="${CXX}" CXXFLAGS+='-fpermissive' LDFLAGS+='-lpthread -lm -lexpat' mkdir -p "${PREFIX}/bin" cp ../bin/tandem.exe "${PREFIX}/bin/xtandem" diff --git a/recipes/xtandem/meta.yaml b/recipes/xtandem/meta.yaml index 72fa613902b5c..a7cf61d10183c 100644 --- a/recipes/xtandem/meta.yaml +++ b/recipes/xtandem/meta.yaml @@ -11,7 +11,9 @@ source: build: skip: true # [osx] - number: 8 + number: 9 + run_exports: + - {{ pin_subpackage('xtandem', max_pin="x") }} requirements: build: @@ -34,6 +36,8 @@ about: summary: X! Tandem open source is software that can match tandem mass spectra with peptide sequences, in a process that has come to be known as protein identification extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:xtandem - doi:10.1093/bioinformatics/bth092 diff --git a/recipes/xxmotif/conda_build_config.yaml b/recipes/xxmotif/conda_build_config.yaml new file mode 100644 index 0000000000000..8caf245450f76 --- /dev/null +++ b/recipes/xxmotif/conda_build_config.yaml @@ -0,0 +1,5 @@ +c_compiler_version: + - 10 # [linux] + +cxx_compiler_version: + - 10 # [linux] diff --git a/recipes/xxmotif/fix-build.patch b/recipes/xxmotif/fix-build.patch new file mode 100644 index 0000000000000..def99e58bc24e --- /dev/null +++ b/recipes/xxmotif/fix-build.patch @@ -0,0 +1,32 @@ +diff --git CMakeLists.txt CMakeLists.txt +index 85c64b6..100a843 100644 +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -9,7 +9,7 @@ set(XXMOTIF_PATCH_VERSION 6) + set(XXMOTIF_VERSION ${XXMOTIF_MAJOR_VERSION}.${XXMOTIF_MINOR_VERSION}.${XXMOTIF_PATCH_VERSION}) + + +-set(CMAKE_CXX_FLAGS "-std=c++11 -DLOG_MAX_LEVEL=0 -D__GXX_EXPERIMENTAL_CXX0X__ -O3 -g3 -pedantic -pedantic-errors -Wall -fmessage-length=0 -fno-strict-aliasing -Wconversion") ++set(CMAKE_CXX_FLAGS "-std=c99 -DLOG_MAX_LEVEL=0 -D__GXX_EXPERIMENTAL_CXX0X__ -O3 -g3 -pedantic -pedantic-errors -Wall -fmessage-length=0 -fno-strict-aliasing -Wconversion") + + set(CMAKE_C_FLAGS "-D__GXX_EXPERIMENTAL_CXX0X__ -O3 -pedantic -pedantic-errors -Wall -fmessage-length=0 -Wconversion") + +diff --git src/memoryPool/pool_alloc.h src/memoryPool/pool_alloc.h +index c1fe05b..925f31d 100644 +--- src/memoryPool/pool_alloc.h ++++ src/memoryPool/pool_alloc.h +@@ -90,4 +90,14 @@ private: + + template Pool Pool_alloc::mem(sizeof(T)); + ++template ++inline bool operator==(const Pool_alloc& a, const Pool_alloc& b){ ++ return &a == &b; ++} ++ ++template ++inline bool operator!=(const Pool_alloc& a, const Pool_alloc& b){ ++ return &a != &b; ++} ++ + #endif /* POOL_ALLOC_H */ diff --git a/recipes/xxmotif/meta.yaml b/recipes/xxmotif/meta.yaml index 8b48a8ae15c6d..d5711f3c9b718 100644 --- a/recipes/xxmotif/meta.yaml +++ b/recipes/xxmotif/meta.yaml @@ -7,10 +7,14 @@ package: source: url: https://github.com/soedinglab/xxmotif/archive/{{ version }}.tar.gz sha256: 235eb8ad562c4757a549751bb290f443ff70c29a142edbff0f03440f097b61cb + patches: + - fix-build.patch build: - number: 3 + number: 4 skip: True # [osx] + run_exports: + - {{ pin_subpackage('xxmotif', max_pin="x") }} requirements: build: @@ -29,3 +33,7 @@ about: test: commands: - test -f ${PREFIX}/bin/XXmotif + +extra: + additional-platforms: + - linux-aarch64 \ No newline at end of file diff --git a/recipes/yacht/meta.yaml b/recipes/yacht/meta.yaml new file mode 100644 index 0000000000000..c38a49f2cc743 --- /dev/null +++ b/recipes/yacht/meta.yaml @@ -0,0 +1,85 @@ +{% set version = "1.2.3" %} + +package: + name: yacht + version: {{ version }} + +source: + url: https://github.com/KoslickiLab/YACHT/releases/download/v{{ version }}/yacht-{{ version }}.tar.gz + sha256: 93adb23ad4f143d48c9f0ea661fe2283ff42e9c51e073a05460596ecabc65214 + +build: + number: 0 + noarch: python + skip: True # [win or osx] + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" + run_exports: + - {{ pin_subpackage('yacht', max_pin="x") }} + +requirements: + host: + - python >3.6 + - pip + - pandas + - pytaxonkit + - scipy + - sourmash + - loguru + - tqdm + - biom-format + - numpy + - setuptools + - requests + run: + - python >3.6 + - sourmash >=4.8.3,<5 + - rust + - scipy + - requests + - numpy + - pandas + - scikit-learn + - codecov + - pytest + - pytest-cov + - loguru + - maturin >=1,<2 + - tqdm + - biom-format + - pytaxonkit + - openpyxl + - ruff + - sourmash_plugin_branchwater + + +test: + commands: + - yacht --help + +about: + home: https://github.com/KoslickiLab/YACHT + summary: 'YACHT is a mathematically rigorous hypothesis test for the presence or absence of organisms in a metagenomic sample, based on average nucleotide identity (ANI).' + license: MIT + license_family: MIT + license_file: LICENSE.txt + dev_url: https://github.com/KoslickiLab/YACHT + doc_url: https://github.com/KoslickiLab/YACHT/wiki + +extra: + skip-lints: + - should_not_be_noarch_skip + - should_use_compilers + identifiers: + - doi:10.1101/2023.04.18.537298 + recipe-maintainers: + - dkoslicki + authors: + - dkoslicki + - chunyuma + - sew347 + - mlupei + - mfl15 + - ShaopengLiu1 + - raquellewei + - mohsenht + diff --git a/recipes/yacrd/meta.yaml b/recipes/yacrd/meta.yaml index 0d66bf8e79878..be40c2a3e3184 100644 --- a/recipes/yacrd/meta.yaml +++ b/recipes/yacrd/meta.yaml @@ -10,12 +10,14 @@ source: sha256: {{ sha256 }} build: - number: 2 + number: 3 + run_exports: + - {{ pin_subpackage('yacrd', max_pin="x") }} requirements: build: - {{ compiler("c") }} - - rust + - {{ compiler("rust") }} - pkg-config # [osx] host: - xz @@ -33,3 +35,7 @@ about: license_family: MIT license_file: LICENSE summary: Yet Another Chimeric Read Detector, with long-read mapper result as input. + +extra: + additional-platforms: + - linux-aarch64 diff --git a/recipes/yaggo/meta.yaml b/recipes/yaggo/meta.yaml index 335fb1eff3534..a800d0084bca4 100644 --- a/recipes/yaggo/meta.yaml +++ b/recipes/yaggo/meta.yaml @@ -7,7 +7,9 @@ package: build: noarch: generic - number: 0 + number: 1 + run_exports: + - {{ pin_subpackage("yaggo", max_pin='x.x') }} source: url: https://github.com/gmarcais/yaggo/releases/download/v{{version}}/yaggo diff --git a/recipes/yahmm/build_failure.linux-64.yaml b/recipes/yahmm/build_failure.linux-64.yaml new file mode 100644 index 0000000000000..da1376670b799 --- /dev/null +++ b/recipes/yahmm/build_failure.linux-64.yaml @@ -0,0 +1,122 @@ +recipe_sha: 89d6a965f4a9b74d87364eade30096aa1b7c2a66a546356f7a99730acf50cf71 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: compiler error +log: |2- + 6:03:41 BIOCONDA INFO (OUT) Error compiling Cython file: + 16:03:41 BIOCONDA INFO (OUT) ------------------------------------------------------------ + 16:03:41 BIOCONDA INFO (OUT) ... + 16:03:41 BIOCONDA INFO (OUT) if self.in_edge_count[i] == 0: + 16:03:41 BIOCONDA INFO (OUT) merge_count += 1 + 16:03:41 BIOCONDA INFO (OUT) self.graph.remove_node( prestates[i] ) + 16:03:41 BIOCONDA INFO (OUT) + 16:03:41 BIOCONDA INFO (OUT) if verbose: + 16:03:41 BIOCONDA INFO (OUT) print "Orphan state {} removed due to no edges \ + 16:03:41 BIOCONDA INFO (OUT) ^ + 16:03:41 BIOCONDA INFO (OUT) ------------------------------------------------------------ + 16:03:41 BIOCONDA INFO (OUT) + 16:03:41 BIOCONDA INFO (OUT) yahmm/yahmm.pyx:2348:12: Syntax error in simple statement list + 16:03:41 BIOCONDA INFO (OUT) Traceback (most recent call last): + 16:03:41 BIOCONDA INFO (OUT) File "", line 2, in + 16:03:41 BIOCONDA INFO (OUT) File "", line 34, in + 16:03:41 BIOCONDA INFO (OUT) File "/opt/conda/conda-bld/yahmm_1718121715058/work/setup.py", line 24, in + cmd_obj.run() + File "/opt/conda/conda-bld/yahmm_1718121715058/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.8/site-packages/setuptools/_distutils/command/build.py", line 132, in run + self.run_command(cmd_name) + File "/opt/conda/conda-bld/yahmm_1718121715058/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command + self.distribution.run_command(command) + File "/opt/conda/conda-bld/yahmm_1718121715058/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.8/site-packages/setuptools/dist.py", line 968, in run_command + super().run_command(command) + File "/opt/conda/conda-bld/yahmm_1718121715058/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command + cmd_obj.run() + File "/opt/conda/conda-bld/yahmm_1718121715058/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 359, in run + self.build_extensions() + File "/opt/conda/conda-bld/yahmm_1718121715058/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 479, in build_extensions + self._build_extensions_serial() + File "/opt/conda/conda-bld/yahmm_1718121715058/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 505, in _build_extensions_serial + self.build_extension(ext) + File "/opt/conda/conda-bld/yahmm_1718121715058/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.8/site-packages/Cython/Distutils/build_ext.py", line 130, in build_extension + new_ext = cythonize( + File "/opt/conda/conda-bld/yahmm_1718121715058/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.8/site-packages/Cython/Build/Dependencies.py", line 1154, in cythonize + cythonize_one(*args) + File "/opt/conda/conda-bld/yahmm_1718121715058/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.8/site-packages/Cython/Build/Dependencies.py", line 1321, in cythonize_one + raise CompileError(None, pyx_file) + Cython.Compiler.Errors.CompileError: yahmm/yahmm.pyx + [1;31merror[0m: [1msubprocess-exited-with-error[0m + + [31m[0m [32mpython setup.py bdist_wheel[0m did not run successfully. + [31m[0m exit code: [1;36m1[0m + [31m>[0m See above for output. + + [1;35mnote[0m: This error originates from a subprocess, and is likely not a problem with pip. + [1;35mfull command[0m: [34m/opt/conda/conda-bld/yahmm_1718121715058/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/python -u -c '[0m + [34m exec(compile('"'"''"'"''"'"'[0m + [34m # This is -- a caller that pip uses to run setup.py[0m + [34m #[0m + [34m # - It imports setuptools before invoking setup.py, to enable projects that directly[0m + [34m # import from distutils.core to work with newer packaging standards.[0m + [34m # - It provides a clear error message when setuptools is not installed.[0m + [34m # - It sets sys.argv[0] to the underlying setup.py, when invoking setup.py so[0m + [34m # setuptools doesn'"'"'t think the script is -c. This avoids the following warning:[0m + [34m # manifest_maker: standard file '"'"'-c'"'"' not found".[0m + [34m # - It generates a shim setup.py, for handling setup.cfg-only projects.[0m + [34m import os, sys, tokenize[0m + [34m [0m + [34m try:[0m + [34m import setuptools[0m + [34m except ImportError as error:[0m + [34m print([0m + [34m "ERROR: Can not execute setup.py since setuptools is not available in "[0m + [34m "the build environment.",[0m + [34m file=sys.stderr,[0m + [34m )[0m + [34m sys.exit(1)[0m + [34m [0m + [34m __file__ = %r[0m + [34m sys.argv[0] = __file__[0m + [34m [0m + [34m if os.path.exists(__file__):[0m + [34m filename = __file__[0m + [34m with tokenize.open(__file__) as f:[0m + [34m setup_py_code = f.read()[0m + [34m else:[0m + [34m filename = ""[0m + [34m setup_py_code = "from setuptools import setup; setup()"[0m + [34m [0m + [34m exec(compile(setup_py_code, filename, "exec"))[0m + [34m '"'"''"'"''"'"' % ('"'"'/opt/conda/conda-bld/yahmm_1718121715058/work/setup.py'"'"',), "", "exec"))' bdist_wheel -d /tmp/pip-wheel-72fnr0kj[0m + [1;35mcwd[0m: /opt/conda/conda-bld/yahmm_1718121715058/work/ + Building wheel for yahmm (setup.py): finished with status 'error' + [31m ERROR: Failed building wheel for yahmm[0m[31m + [0m Running setup.py clean for yahmm + Running command python setup.py clean + 'build/bdist.linux-x86_64' does not exist -- can't clean it + 'build/scripts-3.8' does not exist -- can't clean it + Failed to build yahmm + [31mERROR: Could not build wheels for yahmm, which is required to install pyproject.toml-based projects[0m[31m + [0mException information: + Traceback (most recent call last): + File "$PREFIX/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper + status = run_func(*args) + File "$PREFIX/lib/python3.8/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper + return func(self, options, args) + File "$PREFIX/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 429, in run + raise InstallationError( + pip._internal.exceptions.InstallationError: Could not build wheels for yahmm, which is required to install pyproject.toml-based projects + Removed build tracker: '/tmp/pip-build-tracker-dk6gx091' + Traceback (most recent call last): + File "/opt/conda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + return build_tree( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/conda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/conda-bld/yahmm_1718121715058/work/conda_build.sh']' returned non-zero exit status 1. +# Last 100 lines of the build log. diff --git a/recipes/yahmm/build_failure.osx-64.yaml b/recipes/yahmm/build_failure.osx-64.yaml new file mode 100644 index 0000000000000..3cb29bb5d53aa --- /dev/null +++ b/recipes/yahmm/build_failure.osx-64.yaml @@ -0,0 +1,105 @@ +recipe_sha: 89d6a965f4a9b74d87364eade30096aa1b7c2a66a546356f7a99730acf50cf71 # The hash of the recipe's meta.yaml at which this recipe failed to build. +skiplist: true # Set to true to skiplist this recipe so that it will be ignored as long as its latest commit is the one given above. +category: compiler error +log: |2- + 'build/scripts-3.9' does not exist -- can't clean it + ERROR: Could not build wheels for yahmm, which is required to install pyproject.toml-based projects + Extracting download + source tree in: /opt/mambaforge/envs/bioconda/conda-bld/yahmm_1718122048816/work + Traceback (most recent call last): + File "/opt/mambaforge/envs/bioconda/bin/conda-build", line 11, in + sys.exit(execute()) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 590, in execute + api.build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/api.py", line 250, in build + export PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/yahmm_1718122048816/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol + export BUILD_PREFIX=/opt/mambaforge/envs/bioconda/conda-bld/yahmm_1718122048816/_build_env + return build_tree( + export SRC_DIR=/opt/mambaforge/envs/bioconda/conda-bld/yahmm_1718122048816/work + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 3638, in build_tree + packages_from_this = build( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/build.py", line 2506, in build + utils.check_call_env( + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 405, in check_call_env + return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs) + File "/opt/mambaforge/envs/bioconda/lib/python3.10/site-packages/conda_build/utils.py", line 381, in _func_defaulting_env_to_os_environ + raise subprocess.CalledProcessError(proc.returncode, _args) + INFO: activate_clang_osx-64.sh made the following environmental changes: + AR=x86_64-apple-darwin13.4.0-ar + AS=x86_64-apple-darwin13.4.0-as + CC=x86_64-apple-darwin13.4.0-clang + CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/yahmm-1.1.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + CHECKSYMS=x86_64-apple-darwin13.4.0-checksyms + CLANG=x86_64-apple-darwin13.4.0-clang + subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/mambaforge/envs/bioconda/conda-bld/yahmm_1718122048816/work/conda_build.sh']' returned non-zero exit status 1. + CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-strip -DCMAKE_INSTALL_NAME_TOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-install_name_tool -DCMAKE_LIBTOOL=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-libtool -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_FIND_APPBUNDLE=LAST -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin + CMAKE_PREFIX_PATH=:$PREFIX + CONDA_TOOLCHAIN_BUILD=x86_64-apple-darwin13.4.0 + CONDA_TOOLCHAIN_HOST=x86_64-apple-darwin13.4.0 + CPPFLAGS=-D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=10.13 + DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/yahmm-1.1.3 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix + HOST=x86_64-apple-darwin13.4.0 + INSTALL_NAME_TOOL=x86_64-apple-darwin13.4.0-install_name_tool + LD=x86_64-apple-darwin13.4.0-ld + LDFLAGS=-Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib + LDFLAGS_LD=-headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib + LIBTOOL=x86_64-apple-darwin13.4.0-libtool + LIPO=x86_64-apple-darwin13.4.0-lipo + MESON_ARGS=--buildtype release --prefix=$PREFIX -Dlibdir=lib + NM=x86_64-apple-darwin13.4.0-nm + NMEDIT=x86_64-apple-darwin13.4.0-nmedit + OBJC=x86_64-apple-darwin13.4.0-clang + OBJC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang + OTOOL=x86_64-apple-darwin13.4.0-otool + PAGESTUFF=x86_64-apple-darwin13.4.0-pagestuff + RANLIB=x86_64-apple-darwin13.4.0-ranlib + REDO_PREBINDING=x86_64-apple-darwin13.4.0-redo_prebinding + SDKROOT=/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk + SEGEDIT=x86_64-apple-darwin13.4.0-segedit + SEG_ADDR_TABLE=x86_64-apple-darwin13.4.0-seg_addr_table + SEG_HACK=x86_64-apple-darwin13.4.0-seg_hack + SIZE=x86_64-apple-darwin13.4.0-size + STRINGS=x86_64-apple-darwin13.4.0-strings + STRIP=x86_64-apple-darwin13.4.0-strip + _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_apple_darwin13_4_0 + ac_cv_func_malloc_0_nonnull=yes + ac_cv_func_realloc_0_nonnull=yes + build_alias=x86_64-apple-darwin13.4.0 + host_alias=x86_64-apple-darwin13.4.0 + Using pip 24.0 from $PREFIX/lib/python3.9/site-packages/pip (python 3.9) + Non-user install because user site-packages disabled + Ignoring indexes: https://pypi.org/simple + Created temporary directory: /private/tmp/pip-build-tracker-3ipzv77c + Initialized build tracking at /private/tmp/pip-build-tracker-3ipzv77c + Created build tracker: /private/tmp/pip-build-tracker-3ipzv77c + Entered build tracker: /private/tmp/pip-build-tracker-3ipzv77c + Created temporary directory: /private/tmp/pip-install-gxe18bl5 + Created temporary directory: /private/tmp/pip-ephem-wheel-cache-54ja9u3k + Processing $SRC_DIR + Added file://$SRC_DIR to build tracker '/private/tmp/pip-build-tracker-3ipzv77c' + Running setup.py (path:$SRC_DIR/setup.py) egg_info for package from file://$SRC_DIR + Created temporary directory: /private/tmp/pip-pip-egg-info-l2q6h51q + Preparing metadata (setup.py): started + Preparing metadata (setup.py): finished with status 'done' + Source in $SRC_DIR has version 1.1.3, which satisfies requirement yahmm==1.1.3 from file://$SRC_DIR + Removed yahmm==1.1.3 from file://$SRC_DIR from build tracker '/private/tmp/pip-build-tracker-3ipzv77c' + Created temporary directory: /private/tmp/pip-unpack-dsefgft3 + Building wheels for collected packages: yahmm + Created temporary directory: /private/tmp/pip-wheel-kvbv_9y_ + Building wheel for yahmm (setup.py): started + Destination directory: /private/tmp/pip-wheel-kvbv_9y_ + Building wheel for yahmm (setup.py): finished with status 'error' + Running setup.py clean for yahmm + Failed to build yahmm + Exception information: + Traceback (most recent call last): + File "$PREFIX/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper + status = run_func(*args) + File "$PREFIX/lib/python3.9/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper + return func(self, options, args) + File "$PREFIX/lib/python3.9/site-packages/pip/_internal/commands/install.py", line 429, in run + raise InstallationError( + pip._internal.exceptions.InstallationError: Could not build wheels for yahmm, which is required to install pyproject.toml-based projects + Removed build tracker: '/private/tmp/pip-build-tracker-3ipzv77c' +# Last 100 lines of the build log. diff --git a/recipes/yahmm/meta.yaml b/recipes/yahmm/meta.yaml index e2b6ee76b0a71..7086a95db96b5 100644 --- a/recipes/yahmm/meta.yaml +++ b/recipes/yahmm/meta.yaml @@ -7,7 +7,7 @@ source: md5: 022158915e79a41ff36327a02a3c2265 build: - number: 9 + number: 10 script: {{ PYTHON }} -m pip install . --ignore-installed --no-deps -vv skip: true # [py <= 36] diff --git a/recipes/yahs/Makefile.patch b/recipes/yahs/Makefile.patch index 347d4e9d7231d..263e6bffe6e59 100644 --- a/recipes/yahs/Makefile.patch +++ b/recipes/yahs/Makefile.patch @@ -1,10 +1,10 @@ diff --git a/Makefile b/Makefile -index 2174509..f7b8646 100644 +index 1cb880c..1c2283f 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ --CFLAGS= -g -O0 -Wall -fno-strict-aliasing -+CFLAGS += -g -O0 -Wall -fno-strict-aliasing +-CFLAGS= -O3 -Wall -fno-strict-aliasing ++CFLAGS += -O3 -Wall -fno-strict-aliasing CPPFLAGS= INCLUDES= OBJS= diff --git a/recipes/yahs/build.sh b/recipes/yahs/build.sh index 113e16a0a7912..f8fed6a93fb1c 100644 --- a/recipes/yahs/build.sh +++ b/recipes/yahs/build.sh @@ -1,6 +1,12 @@ +#!/bin/bash + mkdir -p ${PREFIX}/bin -export CFLAGS="-I$PREFIX/include -L$PREFIX/lib" -make + +export CFLAGS="${CFLAGS} -O3 -I$PREFIX/include -L$PREFIX/lib" + +make -j"${CPU_COUNT}" CC="${CC}" CFLAGS="${CFLAGS}" + +chmod 0755 yahs agp_to_fasta juicer mv yahs ${PREFIX}/bin mv agp_to_fasta ${PREFIX}/bin mv juicer ${PREFIX}/bin diff --git a/recipes/yahs/meta.yaml b/recipes/yahs/meta.yaml index d7a37d8ed4e11..b4cc5e55f410f 100644 --- a/recipes/yahs/meta.yaml +++ b/recipes/yahs/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.2a.2" %} +{% set version = "1.2.2" %} package: name: yahs @@ -6,18 +6,20 @@ package: source: url: https://github.com/c-zhou/yahs/archive/refs/tags/v{{ version }}.tar.gz - sha256: c94e62d00f6c8cc1339e2d55845b9b2729fc74831352798d60ba3ff47a09b7a3 + sha256: 9ee37f72ee9f62015fe92029d0fa97eec90963ddf15a2f4b760b45ee2e0014aa patches: - Makefile.patch build: - number: 2 + number: 0 + run_exports: + - {{ pin_subpackage('yahs', max_pin="x") }} requirements: build: - {{ compiler('c') }} - host: - make + host: - zlib test: @@ -29,5 +31,12 @@ test: about: home: https://github.com/c-zhou/yahs license: MIT + license_family: MIT license_file: LICENSE - summary: YaHS, yet another Hi-C scaffolding tool. + summary: "YaHS, yet another Hi-C scaffolding tool." + dev_url: https://github.com/c-zhou/yahs + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/yak/build.sh b/recipes/yak/build.sh index c5001f0f716ee..f5b7e2bdc2652 100644 --- a/recipes/yak/build.sh +++ b/recipes/yak/build.sh @@ -1,6 +1,12 @@ -#!/bin/bash +#!/bin/bash -ex -mkdir -p $PREFIX/bin +mkdir -p ${PREFIX}/bin -make INCLUDES="-I$PREFIX/include" CFLAGS="-g -Wall -O2 -L$PREFIX/lib" -cp yak $PREFIX/bin +#install_name_tool error fix +if [[ "$(uname)" == Darwin ]]; then + export LDFLAGS="${LDFLAGS} -Wl,-rpath,${PREFIX}/lib -headerpad_max_install_names" +fi + +make INCLUDES="-I${PREFIX}/include" CFLAGS="${CFLAGS} -g -Wall -O3 -L${PREFIX}/lib" +cp -rf yak ${PREFIX}/bin +chmod 755 ${PREFIX}/bin/yak diff --git a/recipes/yak/meta.yaml b/recipes/yak/meta.yaml index a4147c53a2141..f44283997a96a 100644 --- a/recipes/yak/meta.yaml +++ b/recipes/yak/meta.yaml @@ -7,9 +7,13 @@ package: source: url: https://github.com/lh3/yak/archive/v{{ version }}.tar.gz sha256: a4237af25005eb8e7e721519c62d6bbcf203bf0a572506af63c3f6ecb6b11836 + patches: + - yak.patch build: - number: 4 + number: 5 + run_exports: + - {{ pin_subpackage('yak', max_pin="x.x") }} requirements: build: @@ -17,14 +21,21 @@ requirements: - {{ compiler('c') }} host: - zlib - run: - - zlib test: commands: - yak 2>&1 | grep 'Usage' about: - home: https://github.com/lh3/yak + home: "https://github.com/lh3/yak" license: MIT - summary: 'Yet another k-mer analyzer' + license_family: MIT + license_file: LICENSE.txt + summary: 'Yet another k-mer analyzer.' + dev_url: "https://github.com/lh3/yak" + doc_url: "https://github.com/lh3/yak/blob/v{{ version }}/README.md" + +extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 diff --git a/recipes/yak/yak.patch b/recipes/yak/yak.patch new file mode 100644 index 0000000000000..6343f0d11db87 --- /dev/null +++ b/recipes/yak/yak.patch @@ -0,0 +1,760 @@ +diff --git a/LICENSE.txt b/LICENSE.txt +new file mode 100644 +index 0000000..d7ac24e +--- /dev/null ++++ b/LICENSE.txt +@@ -0,0 +1,23 @@ ++The MIT License ++ ++Copyright (c) 2019- Dana-Farber Cancer Institute ++ ++Permission is hereby granted, free of charge, to any person obtaining ++a copy of this software and associated documentation files (the ++"Software"), to deal in the Software without restriction, including ++without limitation the rights to use, copy, modify, merge, publish, ++distribute, sublicense, and/or sell copies of the Software, and to ++permit persons to whom the Software is furnished to do so, subject to ++the following conditions: ++ ++The above copyright notice and this permission notice shall be ++included in all copies or substantial portions of the Software. ++ ++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS ++BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ++ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++SOFTWARE. +diff --git a/Makefile b/Makefile +index 41c92f7..540b080 100644 +--- a/Makefile ++++ b/Makefile +@@ -2,7 +2,7 @@ CFLAGS= -g -Wall -O2 + CPPFLAGS= + INCLUDES= + OBJS= kthread.o bbf.o htab.o bseq.o misc.o sys.o 6gjdn.o \ +- count.o qv.o triobin.o trioeval.o inspect.o ++ count.o qv.o triobin.o trioeval.o inspect.o chkerr.o sexchr.o + PROG= yak + LIBS= -lm -lz -lpthread + +@@ -32,6 +32,7 @@ depend: + + bbf.o: yak.h + bseq.o: bseq.h kseq.h ++chkerr.o: kthread.h ketopt.h bseq.h yak-priv.h yak.h + count.o: kthread.h yak-priv.h yak.h kseq.h + htab.o: kthread.h yak-priv.h yak.h khashl.h + inspect.o: ketopt.h yak-priv.h yak.h +@@ -39,6 +40,7 @@ kthread.o: kthread.h + main.o: ketopt.h yak-priv.h yak.h + misc.o: yak-priv.h yak.h + qv.o: kthread.h yak-priv.h yak.h bseq.h ++sexchr.o: kthread.h ketopt.h bseq.h yak-priv.h yak.h + sys.o: yak-priv.h yak.h + triobin.o: kthread.h ketopt.h bseq.h yak-priv.h yak.h + trioeval.o: kthread.h ketopt.h bseq.h yak-priv.h yak.h +diff --git a/README.md b/README.md +index a467de7..f0c3c99 100644 +--- a/README.md ++++ b/README.md +@@ -26,8 +26,12 @@ cd yak && make + + # print k-mer histogram + ./yak inspect sr.yak > sr.hist +-# print k-mers (warning: large output) +-./yak inspect -p sr.yak > sr.kmers ++ ++# partition chrX/Y in human de novo assembly ++wget -O- 'https://zenodo.org/record/7882299/files/human-chrXY-yak.tar?download=1' | tar tf - ++./yak sexchr -K2g -t16 chrY-no-par.yak chrX-no-par.yak par.yak hap1.fa hap2.fa > cnt.txt ++./groupxy.pl cnt.txt|awk '$4==1'|cut -f2|seqtk subseq -l80 <(cat hap1.fa hap2.fa) - > new-hap1.fa ++./groupxy.pl cnt.txt|awk '$4==2'|cut -f2|seqtk subseq -l80 <(cat hap1.fa hap2.fa) - > new-hap2.fa + ``` + + ## Introduction +diff --git a/chkerr.c b/chkerr.c +new file mode 100644 +index 0000000..ed777f0 +--- /dev/null ++++ b/chkerr.c +@@ -0,0 +1,133 @@ ++#include ++#include ++#include ++#include "kthread.h" ++#include "ketopt.h" ++#include "bseq.h" ++#include "yak-priv.h" ++ ++typedef struct { ++ int k, n_threads, min_cnt, min_streak; ++ int64_t chunk_size; ++ bseq_file_t *fp; ++ const yak_ch_t *ch; ++} ce_shared_t; ++ ++typedef struct { ++ int n_seq; ++ ce_shared_t *aux; ++ bseq1_t *seq; ++} ce_step_t; ++ ++static void te_worker(void *_data, long k, int tid) ++{ ++ ce_step_t *t = (ce_step_t*)_data; ++ ce_shared_t *aux = t->aux; ++ bseq1_t *s = &t->seq[k]; ++ uint64_t x[4], mask; ++ int i, l, last, streak, shift; ++ if (aux->ch->k < 32) { ++ mask = (1ULL<<2*aux->ch->k) - 1; ++ shift = 2 * (aux->ch->k - 1); ++ } else { ++ mask = (1ULL<ch->k) - 1; ++ shift = aux->ch->k - 1; ++ } ++ last = -1, streak = 0; ++ for (i = l = 0, x[0] = x[1] = x[2] = x[3] = 0; i < s->l_seq; ++i) { ++ int cnt, c = seq_nt4_table[(uint8_t)s->seq[i]]; ++ if (c < 4) { ++ if (aux->ch->k < 32) { ++ x[0] = (x[0] << 2 | c) & mask; ++ x[1] = x[1] >> 2 | (uint64_t)(3 - c) << shift; ++ } else { ++ x[0] = (x[0] << 1 | (c&1)) & mask; ++ x[1] = (x[1] << 1 | (c>>1)) & mask; ++ x[2] = x[2] >> 1 | (uint64_t)(1 - (c&1)) << shift; ++ x[3] = x[3] >> 1 | (uint64_t)(1 - (c>>1)) << shift; ++ } ++ if (++l >= aux->k) { ++ uint64_t y; ++ if (aux->ch->k < 32) ++ y = yak_hash64(x[0] < x[1]? x[0] : x[1], mask); ++ else ++ y = yak_hash_long(x); ++ cnt = yak_ch_get(aux->ch, y); ++ if (cnt < aux->min_cnt) { ++ if (i != last + 1) { ++ if (streak > aux->min_streak) ++ printf("%s\t%d\t%d\t%d\n", s->name, last + 1 - aux->k - (streak - 1), last + 1, streak); ++ streak = 1; ++ } else ++streak; ++ last = i; ++ } ++ } ++ } else l = 0, x[0] = x[1] = x[2] = x[3] = 0; ++ } ++ if (streak > aux->min_streak) ++ printf("%s\t%d\t%d\t%d\n", s->name, last + 1 - aux->k - (streak - 1), last + 1, streak); ++} ++ ++static void *ce_pipeline(void *shared, int step, void *_data) ++{ ++ ce_shared_t *aux = (ce_shared_t*)shared; ++ if (step == 0) { ++ ce_step_t *s; ++ s = (ce_step_t*)calloc(1, sizeof(ce_step_t)); ++ s->seq = bseq_read(aux->fp, aux->chunk_size, 0, &s->n_seq); ++ s->aux = aux; ++ if (s->n_seq) { ++ fprintf(stderr, "[M::%s] read %d sequences\n", __func__, s->n_seq); ++ return s; ++ } else free(s); ++ } else if (step == 1) { ++ int i; ++ ce_step_t *s = (ce_step_t*)_data; ++ kt_for(aux->n_threads, te_worker, s, s->n_seq); ++ for (i = 0; i < s->n_seq; ++i) { ++ free(s->seq[i].name); free(s->seq[i].seq); free(s->seq[i].qual); ++ free(s->seq[i].comment); ++ } ++ free(s->seq); free(s); ++ } ++ return 0; ++} ++ ++int main_chkerr(int argc, char *argv[]) ++{ ++ ketopt_t o = KETOPT_INIT; ++ int c; ++ yak_ch_t *ch; ++ ce_shared_t aux; ++ ++ memset(&aux, 0, sizeof(ce_shared_t)); ++ aux.chunk_size = 1000000000; ++ aux.n_threads = 8, aux.min_cnt = 3, aux.min_streak = 5; ++ while ((c = ketopt(&o, argc, argv, 1, "t:c:s:", 0)) >= 0) { ++ if (c == 't') aux.n_threads = atoi(o.arg); ++ else if (c == 'c') aux.min_cnt = atoi(o.arg); ++ else if (c == 's') aux.min_streak = atoi(o.arg); ++ } ++ if (argc - o.ind < 2) { ++ fprintf(stderr, "Usage: yak chkerr [options] \n"); ++ fprintf(stderr, "Options:\n"); ++ fprintf(stderr, " -t INT number of threads [%d]\n", aux.n_threads); ++ fprintf(stderr, " -c INT min k-mer count [%d]\n", aux.min_cnt); ++ fprintf(stderr, " -s INT min k-mer streak [%d]\n", aux.min_streak); ++ return 1; ++ } ++ ++ ch = yak_ch_restore(argv[o.ind]); ++ ++ aux.k = ch->k; ++ aux.fp = bseq_open(argv[o.ind+1]); ++ if (aux.fp == 0) { ++ fprintf(stderr, "ERROR: fail to open file '%s'\n", argv[o.ind+1]); ++ exit(1); ++ } ++ aux.ch = ch; ++ kt_pipeline(2, ce_pipeline, &aux, 2); ++ bseq_close(aux.fp); ++ yak_ch_destroy(ch); ++ return 0; ++} +diff --git a/groupxy.pl b/groupxy.pl +new file mode 100755 +index 0000000..55a41f9 +--- /dev/null ++++ b/groupxy.pl +@@ -0,0 +1,48 @@ ++#!/usr/bin/perl ++ ++use strict; ++use warnings; ++use Getopt::Std; ++ ++my %opts = (s=>.7, c=>.3, r=>.9); ++getopts('s:c:r:', \%opts); ++die("Usage: sexchr.pl [-s $opts{s}] [-c $opts{c}] [-r $opts{r}] in.sexchr\n") if @ARGV == 0; ++ ++# read data ++my @a = (); ++while (<>) { ++ chomp; ++ my @t = split("\t"); ++ next if $t[0] ne 'S'; ++ push(@a, \@t); ++} ++ ++# assign sex chromosome for individual contigs ++my @c = (0, 0, 0, 0); ++for (@a) { ++ next if $_->[5] < $_->[4] * $opts{s}; ++ next if $_->[6] + $_->[7] < $_->[5] * $opts{c}; ++ $_->[3] = $_->[6] > ($_->[6] + $_->[7]) * $opts{r}? 3 : $_->[7] > ($_->[6] + $_->[7]) * $opts{r}? 4 : 0; ++ next if $_->[3] == 0; ++ my $hap = $_->[2] - 1; ++ $c[$hap<<1|0] += $_->[6]; ++ $c[$hap<<1|1] += $_->[7]; ++} ++ ++# determine which partition correspond to sexchr1 or sexchr2 ++my $max_chr = $c[0] + $c[2] > $c[1] + $c[3]? 0 : 1; ++my $type = ($c[0<<1|$max_chr] > $c[1<<1|$max_chr]? 0 : 1) ^ $max_chr; ++ ++# update partition ++for (@a) { ++ if ($_->[3] >= 3) { ++ $_->[3] -= 2; ++ } else { ++ $_->[3] = $type == 0? $_->[2] : 3 - $_->[2]; ++ } ++} ++ ++# print out ++for (@a) { ++ print join("\t", @$_), "\n"; ++} +diff --git a/htab.c b/htab.c +index 5075e54..1112816 100644 +--- a/htab.c ++++ b/htab.c +@@ -228,6 +228,10 @@ yak_ch_t *yak_ch_restore_core(yak_ch_t *ch0, const char *fn, int mode, ...) + mid_cnt = va_arg(ap, int); + if (ch0 == 0 && mode == YAK_LOAD_TRIOBIN2) + mode_err = 1; ++ } else if (mode == YAK_LOAD_SEXCHR1 || mode == YAK_LOAD_SEXCHR2 || mode == YAK_LOAD_SEXCHR3) { ++ assert(YAK_COUNTER_BITS >= 3); ++ if (ch0 == 0 && (mode == YAK_LOAD_SEXCHR2 || mode == YAK_LOAD_SEXCHR3)) ++ mode_err = 1; + } else mode_err = 1; + va_end(ap); + if (mode_err) return 0; +@@ -251,7 +255,7 @@ yak_ch_t *yak_ch_restore_core(yak_ch_t *ch0, const char *fn, int mode, ...) + for (i = 0; i < 1<pre; ++i) { + yak_ht_t *h = ch->h[i].h; + fread(t, 4, 2, fp); +- if (ch0 == 0) yak_ht_resize(h, t[0]); ++ yak_ht_resize(h, t[0]); + for (j = 0; j < t[1]; ++j) { + uint64_t key; + fread(&key, 8, 1, fp); +@@ -272,6 +276,14 @@ yak_ch_t *yak_ch_restore_core(yak_ch_t *ch0, const char *fn, int mode, ...) + if (absent) ++n_new; + else kh_key(h, k) = kh_key(h, k) | x; + } ++ } else if (mode == YAK_LOAD_SEXCHR1 || mode == YAK_LOAD_SEXCHR2 || mode == YAK_LOAD_SEXCHR3) { ++ int shift = mode == YAK_LOAD_SEXCHR1? 0 : mode == YAK_LOAD_SEXCHR2? 1 : 2, x = 1<= 0) { + if (c == 'k') opt.k = atoi(o.arg); + else if (c == 'p') opt.pre = atoi(o.arg); +- else if (c == 'K') opt.chunk_size = atoi(o.arg); ++ else if (c == 'K') opt.chunk_size = mm_parse_num(o.arg); + else if (c == 't') opt.n_thread = atoi(o.arg); + else if (c == 'b') opt.bf_shift = atoi(o.arg); + else if (c == 'H') opt.bf_n_hash = mm_parse_num(o.arg); +@@ -84,12 +73,13 @@ int main_qv(int argc, char *argv[]) + yak_qstat_t qs; + + yak_qopt_init(&opt); +- while ((c = ketopt(&o, argc, argv, 1, "K:t:l:f:pe:", 0)) >= 0) { ++ while ((c = ketopt(&o, argc, argv, 1, "K:t:l:f:pe:E", 0)) >= 0) { + if (c == 'K') opt.chunk_size = mm_parse_num(o.arg); + else if (c == 'l') opt.min_len = mm_parse_num(o.arg); + else if (c == 'f') opt.min_frac = atof(o.arg); + else if (c == 't') opt.n_threads = atoi(o.arg); + else if (c == 'p') opt.print_each = 1; ++ else if (c == 'E') opt.print_err_kmer = 1; + else if (c == 'e') opt.fpr = atof(o.arg); + } + if (argc - o.ind < 2) { +@@ -99,6 +89,7 @@ int main_qv(int argc, char *argv[]) + fprintf(stderr, " -f FLOAT min k-mer fraction [%g]\n", opt.min_frac); + fprintf(stderr, " -e FLOAT false positive rate [%g]\n", opt.fpr); + fprintf(stderr, " -p print QV for each sequence\n"); ++ fprintf(stderr, " -E print the positions of wrong k-mers\n"); + fprintf(stderr, " -t INT number of threads [%d]\n", opt.n_threads); + fprintf(stderr, " -K NUM batch size [1g]\n"); + return 1; +@@ -131,6 +122,8 @@ int main(int argc, char *argv[]) + extern int main_triobin(int argc, char *argv[]); + extern int main_trioeval(int argc, char *argv[]); + extern int main_inspect(int argc, char *argv[]); ++ extern int main_chkerr(int argc, char *argv[]); ++ extern int main_sexchr(int argc, char *argv[]); + int ret = 0, i; + yak_reset_realtime(); + if (argc == 1) { +@@ -141,6 +134,8 @@ int main(int argc, char *argv[]) + fprintf(stderr, " triobin trio binning\n"); + fprintf(stderr, " trioeval evaluate phasing accuracy with trio\n"); + fprintf(stderr, " inspect k-mer hash tables\n"); ++ fprintf(stderr, " chkerr check errors\n"); ++ fprintf(stderr, " sexchr count sex-chromosome-specific k-mers\n"); + fprintf(stderr, " version print version number\n"); + return 1; + } +@@ -149,6 +144,8 @@ int main(int argc, char *argv[]) + else if (strcmp(argv[1], "triobin") == 0) ret = main_triobin(argc-1, argv+1); + else if (strcmp(argv[1], "trioeval") == 0) ret = main_trioeval(argc-1, argv+1); + else if (strcmp(argv[1], "inspect") == 0) ret = main_inspect(argc-1, argv+1); ++ else if (strcmp(argv[1], "chkerr") == 0) ret = main_chkerr(argc-1, argv+1); ++ else if (strcmp(argv[1], "sexchr") == 0) ret = main_sexchr(argc-1, argv+1); + else if (strcmp(argv[1], "version") == 0) { + puts(YAKS_VERSION); + return 0; +diff --git a/qv.c b/qv.c +index 6fdf73b..12e25a0 100644 +--- a/qv.c ++++ b/qv.c +@@ -59,6 +59,9 @@ static void worker_qv(void *_data, long k, int tid) + t = yak_ch_get(qs->ch, y); + if (t < 0) t = 0; + if (t > 0) ++non0; ++ else if (qs->opt->print_err_kmer) { ++ printf("EK\t%s\t%d\n", s->name, i + 1 - qs->k); ++ } + b->s[tot++] = (uint64_t)i<<32 | t; + } + } else l = 0, x[0] = x[1] = 0; +@@ -229,8 +232,13 @@ int yak_qv_solve(const int64_t *hist, const int64_t *cnt, int kmer, double fpr, + // compute adjusted qv + for (c = 0, adj_sum = 0.0; c < n_cnt; ++c) + adj_sum += qs->adj_cnt[c]; +- assert(adj_sum <= (double)qs->tot); +- qs->err = qs->tot - adj_sum; +- qs->qv = -4.3429448190325175 * log(log(qs->tot / adj_sum) / kmer); ++ if (adj_sum <= (double)qs->tot) { ++ qs->err = qs->tot - adj_sum; ++ qs->qv = -4.3429448190325175 * log(log(qs->tot / adj_sum) / kmer); ++ } else { ++ fprintf(stderr, "WARNING: failed to estimate the calibrated QV\n"); ++ qs->err = 0; ++ qs->qv = qs->qv_raw; ++ } + return 0; + } +diff --git a/sexchr.c b/sexchr.c +new file mode 100644 +index 0000000..acf80e9 +--- /dev/null ++++ b/sexchr.c +@@ -0,0 +1,140 @@ ++#include ++#include ++#include ++#include "kthread.h" ++#include "ketopt.h" ++#include "bseq.h" ++#include "yak-priv.h" ++ ++#ifndef kroundup32 ++#define kroundup32(x) (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x)) ++#endif ++ ++static long sc_chunk_size = 1000000000L; ++ ++typedef struct { ++ int k, n_threads, hap; ++ bseq_file_t *fp; ++ const yak_ch_t *ch; ++ uint32_t m_info, n_info; ++} sc_shared_t; ++ ++typedef struct { ++ int n_seq; ++ sc_shared_t *aux; ++ bseq1_t *seq; ++} sc_step_t; ++ ++static void sc_worker(void *_data, long k, int tid) ++{ ++ sc_step_t *t = (sc_step_t*)_data; ++ sc_shared_t *aux = t->aux; ++ bseq1_t *s = &t->seq[k]; ++ uint64_t x[4], mask; ++ long n_k = 0, n_sexchr = 0, n_sex1 = 0, n_sex2 = 0; ++ int i, l, shift; ++ if (aux->ch->k < 32) { ++ mask = (1ULL<<2*aux->ch->k) - 1; ++ shift = 2 * (aux->ch->k - 1); ++ } else { ++ mask = (1ULL<ch->k) - 1; ++ shift = aux->ch->k - 1; ++ } ++ for (i = l = 0, x[0] = x[1] = x[2] = x[3] = 0; i < s->l_seq; ++i) { ++ int flag, c = seq_nt4_table[(uint8_t)s->seq[i]]; ++ if (c < 4) { ++ if (aux->ch->k < 32) { ++ x[0] = (x[0] << 2 | c) & mask; ++ x[1] = x[1] >> 2 | (uint64_t)(3 - c) << shift; ++ } else { ++ x[0] = (x[0] << 1 | (c&1)) & mask; ++ x[1] = (x[1] << 1 | (c>>1)) & mask; ++ x[2] = x[2] >> 1 | (uint64_t)(1 - (c&1)) << shift; ++ x[3] = x[3] >> 1 | (uint64_t)(1 - (c>>1)) << shift; ++ } ++ if (++l >= aux->k) { ++ uint64_t y; ++ if (aux->ch->k < 32) ++ y = yak_hash64(x[0] < x[1]? x[0] : x[1], mask); ++ else ++ y = yak_hash_long(x); ++ ++n_k; ++ flag = yak_ch_get(aux->ch, y); ++ if (flag > 0) { ++ ++n_sexchr; ++ if (flag == 1) ++n_sex1; ++ if (flag == 2) ++n_sex2; ++ } ++ } ++ } else l = 0, x[0] = x[1] = x[2] = x[3] = 0; ++ } ++ printf("S\t%s\t%d\t0\t%ld\t%ld\t%ld\t%ld\n", s->name, aux->hap, n_k, n_sexchr, n_sex1, n_sex2); ++} ++ ++static void *sc_pipeline(void *shared, int step, void *_data) ++{ ++ sc_shared_t *aux = (sc_shared_t*)shared; ++ if (step == 0) { ++ sc_step_t *s; ++ s = (sc_step_t*)calloc(1, sizeof(sc_step_t)); ++ s->seq = bseq_read(aux->fp, sc_chunk_size, 0, &s->n_seq); ++ s->aux = aux; ++ if (s->n_seq) { ++ fprintf(stderr, "[M::%s] read %d sequences\n", __func__, s->n_seq); ++ return s; ++ } else free(s); ++ } else if (step == 1) { ++ int i; ++ sc_step_t *s = (sc_step_t*)_data; ++ kt_for(aux->n_threads, sc_worker, s, s->n_seq); ++ for (i = 0; i < s->n_seq; ++i) { ++ free(s->seq[i].name); free(s->seq[i].seq); free(s->seq[i].qual); free(s->seq[i].comment); ++ } ++ free(s->seq); free(s); ++ } ++ return 0; ++} ++ ++int main_sexchr(int argc, char *argv[]) ++{ ++ ketopt_t o = KETOPT_INIT; ++ int i, c; ++ yak_ch_t *ch; ++ sc_shared_t aux; ++ ++ memset(&aux, 0, sizeof(sc_shared_t)); ++ aux.n_threads = 8; ++ while ((c = ketopt(&o, argc, argv, 1, "t:K:", 0)) >= 0) { ++ if (c == 't') aux.n_threads = atoi(o.arg); ++ else if (c == 'K') sc_chunk_size = mm_parse_num(o.arg); ++ } ++ if (argc - o.ind < 5) { ++ fprintf(stderr, "Usage: yak sexchr [options] \n"); ++ fprintf(stderr, "Options:\n"); ++ fprintf(stderr, " -t INT number of threads [%d]\n", aux.n_threads); ++ fprintf(stderr, " -K NUM chunk size [1g]\n"); ++ return 1; ++ } ++ ++ ch = yak_ch_restore_core(0, argv[o.ind], YAK_LOAD_SEXCHR1); ++ ch = yak_ch_restore_core(ch, argv[o.ind + 1], YAK_LOAD_SEXCHR2); ++ ch = yak_ch_restore_core(ch, argv[o.ind + 2], YAK_LOAD_SEXCHR3); ++ ++ printf("C\tS seqName originalHap 0 #k-mer #sexchr #sex1-specifc #sex2-specific\n"); ++ printf("C\n"); ++ ++ aux.k = ch->k; ++ aux.ch = ch; ++ for (i = 1; i <= 2; ++i) { ++ aux.hap = i; ++ aux.fp = bseq_open(argv[o.ind+i+2]); ++ if (aux.fp == 0) { ++ fprintf(stderr, "ERROR: fail to open file '%s'\n", argv[o.ind+i+2]); ++ exit(1); ++ } ++ kt_pipeline(2, sc_pipeline, &aux, 2); ++ bseq_close(aux.fp); ++ } ++ yak_ch_destroy(ch); ++ return 0; ++} +diff --git a/trioeval.c b/trioeval.c +index 02c6622..dbdde34 100644 +--- a/trioeval.c ++++ b/trioeval.c +@@ -10,7 +10,7 @@ + #define kroundup32(x) (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x)) + #endif + +-#define CHUNK_SIZE 200000000 ++#define CHUNK_SIZE 1000000000 + + typedef struct { + int nk, c[4], d[2]; +@@ -22,11 +22,12 @@ typedef struct { + } te_buf_t; + + typedef struct { +- int k, n_threads, min_n; ++ int k, n_threads, min_n, print_err, print_frag; + bseq_file_t *fp; + const yak_ch_t *ch; + te_buf_t *buf; + int64_t n_pair, n_site, n_switch, n_err; ++ int64_t n_par[2]; + } te_shared_t; + + typedef struct { +@@ -44,6 +45,7 @@ static void te_worker(void *_data, long k, int tid) + te_buf_t *b = &aux->buf[tid]; + uint64_t x[4], mask; + int i, l, shift, last; ++ int f_st, f_en, f_type, f_cnt; + if (aux->ch->k < 32) { + mask = (1ULL<<2*aux->ch->k) - 1; + shift = 2 * (aux->ch->k - 1); +@@ -86,20 +88,32 @@ static void te_worker(void *_data, long k, int tid) + } + } else l = 0, x[0] = x[1] = x[2] = x[3] = 0; + } ++ f_type = f_st = f_en = f_cnt = 0; + for (l = 0, i = 1, last = 0; i <= s->l_seq; ++i) { +- if (i == s->l_seq || b->s[i] != b->s[l]) { ++ if (i == s->l_seq || b->s[i] != b->s[l]) { // found a streak + if (b->s[l] > 0 && i - l >= aux->min_n) { // skip singletons + int n = (i - l + aux->k - 1) / aux->k; + int c = b->s[l] - 1; + t->cnt[k].c[c << 1 | c] += n - 1; + t->cnt[k].d[c] += n; +- if (last > 0) ++ if (last > 0) { + ++t->cnt[k].c[(last - 1) << 1 | c]; ++ if (aux->print_err && last - 1 != c) ++ printf("E\t%s\t%d\t%d\t%d\n", s->name, i, last, c+1); ++ } ++ if (f_type != b->s[l]) { ++ if (f_type > 0 && aux->print_frag) ++ printf("F\t%s\t%d\t%d\t%d\t%d\n", s->name, f_type, f_st, f_en, f_cnt); ++ f_type = b->s[l], f_st = l + 1 - aux->ch->k, f_cnt = 0; ++ } ++ ++f_cnt, f_en = i + 1; + last = b->s[l]; + } + l = i; + } + } ++ if (f_type > 0 && aux->print_frag) ++ printf("F\t%s\t%d\t%d\t%d\t%d\n", s->name, f_type, f_st, f_en, f_cnt); + } + + static void *te_pipeline(void *shared, int step, void *_data) +@@ -121,13 +135,15 @@ static void *te_pipeline(void *shared, int step, void *_data) + kt_for(aux->n_threads, te_worker, s, s->n_seq); + for (i = 0; i < s->n_seq; ++i) { + int *c = s->cnt[i].c, *d = s->cnt[i].d; ++ aux->n_par[0] += d[0]; ++ aux->n_par[1] += d[1]; + if (d[0] + d[1] >= 2) { + aux->n_pair += c[0] + c[1] + c[2] + c[3]; + aux->n_switch += c[1] + c[2]; + aux->n_site += d[0] + d[1]; + aux->n_err += d[0] < d[1]? d[0] : d[1]; + } +- printf("S\t%s\t%d\t%d\t%d\t%d\t%d\t%d\n", s->seq[i].name, d[0], d[1], c[0], c[1], c[2], c[3]); ++ printf("S\t%s\t%d\t%d\t%d\t%d\t%d\t%d\t%d\n", s->seq[i].name, d[0], d[1], c[0], c[1], c[2], c[3], s->seq[i].l_seq); + free(s->seq[i].name); free(s->seq[i].seq); free(s->seq[i].qual); free(s->seq[i].comment); + } + free(s->seq); free(s->cnt); free(s); +@@ -144,12 +160,14 @@ int main_trioeval(int argc, char *argv[]) + te_shared_t aux; + + memset(&aux, 0, sizeof(te_shared_t)); +- aux.n_threads = 8, aux.min_n = 2; +- while ((c = ketopt(&o, argc, argv, 1, "c:d:t:n:", 0)) >= 0) { ++ aux.n_threads = 8, aux.min_n = 2, aux.print_frag = 1; ++ while ((c = ketopt(&o, argc, argv, 1, "c:d:t:n:eF", 0)) >= 0) { + if (c == 'c') min_cnt = atoi(o.arg); + else if (c == 'd') mid_cnt = atoi(o.arg); + else if (c == 't') aux.n_threads = atoi(o.arg); + else if (c == 'n') aux.min_n = atoi(o.arg); ++ else if (c == 'e') aux.print_err = 1; ++ else if (c == 'F') aux.print_frag = 0; + } + if (argc - o.ind < 2) { + fprintf(stderr, "Usage: yak trioeval [options] \n"); +@@ -158,6 +176,7 @@ int main_trioeval(int argc, char *argv[]) + fprintf(stderr, " -d INT mid occurrence [%d]\n", mid_cnt); + fprintf(stderr, " -n INT min streak [%d]\n", aux.min_n); + fprintf(stderr, " -t INT number of threads [%d]\n", aux.n_threads); ++ fprintf(stderr, " -e print error positions (out of order)\n"); + return 1; + } + +@@ -173,6 +192,12 @@ int main_trioeval(int argc, char *argv[]) + fprintf(stderr, "ERROR: fail to open file '%s'\n", argv[o.ind+2]); + exit(1); + } ++ printf("C\tS seqName #patKmer #matKmer #pat-pat #pat-mat #mat-pat #mat-mat seqLen\n"); ++ printf("C\tF seqName type startPos endPos count\n"); ++ printf("C\tW #switchErr denominator switchErrRate\n"); ++ printf("C\tH #hammingErr denominator hammingErrRate\n"); ++ printf("C\tN #totPatKmer #totMatKmer errRate\n"); ++ printf("C\n"); + aux.ch = ch; + aux.buf = (te_buf_t*)calloc(aux.n_threads, sizeof(te_buf_t)); + kt_pipeline(2, te_pipeline, &aux, 2); +@@ -181,6 +206,7 @@ int main_trioeval(int argc, char *argv[]) + for (i = 0; i < aux.n_threads; ++i) free(aux.buf[i].s); + printf("W\t%ld\t%ld\t%.6f\n", (long)aux.n_switch, (long)aux.n_pair, (double)aux.n_switch/aux.n_pair); + printf("H\t%ld\t%ld\t%.6f\n", (long)aux.n_err, (long)aux.n_site, (double)aux.n_err/aux.n_site); ++ printf("N\t%ld\t%ld\t%.6f\n", (long)aux.n_par[0], (long)aux.n_par[1], (double)(aux.n_par[0] < aux.n_par[1]? aux.n_par[0] : aux.n_par[1]) / (aux.n_par[0] + aux.n_par[1])); + free(aux.buf); + return 0; + } +diff --git a/yak-priv.h b/yak-priv.h +index f6a3af7..ee7569b 100644 +--- a/yak-priv.h ++++ b/yak-priv.h +@@ -1,6 +1,7 @@ + #ifndef YAK_PRIV_H + #define YAK_PRIV_H + ++#include + #include "yak.h" + + #define CALLOC(ptr, len) ((ptr) = (__typeof__(ptr))calloc((len), sizeof(*(ptr)))) +@@ -42,4 +43,15 @@ void yak_reset_realtime(void); + double yak_realtime(void); + long yak_peakrss(void); + ++static inline int64_t mm_parse_num(const char *str) ++{ ++ double x; ++ char *p; ++ x = strtod(str, &p); ++ if (*p == 'G' || *p == 'g') x *= 1e9; ++ else if (*p == 'M' || *p == 'm') x *= 1e6; ++ else if (*p == 'K' || *p == 'k') x *= 1e3; ++ return (int64_t)(x + .499); ++} ++ + #endif +diff --git a/yak.h b/yak.h +index e71dacc..ab3d8ed 100644 +--- a/yak.h ++++ b/yak.h +@@ -1,7 +1,7 @@ + #ifndef YAK_H + #define YAK_H + +-#define YAKS_VERSION "0.1-r56" ++#define YAKS_VERSION "0.1-r69-dirty" + + #include + +@@ -16,6 +16,9 @@ + #define YAK_LOAD_ALL 1 + #define YAK_LOAD_TRIOBIN1 2 + #define YAK_LOAD_TRIOBIN2 3 ++#define YAK_LOAD_SEXCHR1 4 ++#define YAK_LOAD_SEXCHR2 5 ++#define YAK_LOAD_SEXCHR3 6 + + #define YAK_MAGIC "YAK\2" + +@@ -28,7 +31,7 @@ typedef struct { + } yak_copt_t; + + typedef struct { +- int32_t print_each; ++ int32_t print_each, print_err_kmer; + int32_t min_len; + int32_t n_threads; + double min_frac; diff --git a/recipes/ymp/meta.yaml b/recipes/ymp/meta.yaml index 04daf28c6d37a..bbfb3ab1b6b41 100644 --- a/recipes/ymp/meta.yaml +++ b/recipes/ymp/meta.yaml @@ -1,5 +1,5 @@ {% set name = "ymp" %} -{% set version = "0.2.1" %} +{% set version = "0.3.1" %} package: name: "{{ name|lower }}" @@ -7,7 +7,7 @@ package: source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 7bcd41dfeb7534a971d4da44f30ef0b46992799097707279080650145f71a258 + sha256: dbd88b552584f1268c8b7b68df18a94a08eca127561bf60162b8e894711814b4 build: number: 0 @@ -15,10 +15,13 @@ build: - ymp=ymp.cli:main noarch: python script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vv" + run_exports: + - {{ pin_subpackage('ymp', max_pin="x.x") }} + requirements: host: - - python >=3.6 + - python >=3.10 - setuptools_scm >=3.4 - setuptools >=42 - pytest-runner @@ -31,27 +34,30 @@ requirements: - pandas >=0.20 - pip - ruamel.yaml >0.15 - - snakemake >=5.20.1,<5.21.0a0 + - snakemake >=7.32.1,<8.0a0 - tqdm >=4.21.0 - xdg - xlrd + - openpyxl - fastentrypoints run: - - python >=3.6 + - python >=3.10 - aiohttp - - click + - click >8 - click-completion - coloredlogs - drmaa - networkx >=2 - pandas >=0.20 - ruamel.yaml >0.15 - - snakemake >=5.20.1,<5.21.0a0 + - snakemake >=7.32.1,<8.0a0 - tqdm >=4.21.0 - xdg - xlrd + - openpyxl - conda + - mamba test: imports: diff --git a/recipes/zarp/build.sh b/recipes/zarp/build.sh new file mode 100644 index 0000000000000..d279bc74113e1 --- /dev/null +++ b/recipes/zarp/build.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +# Install the package +$PYTHON -m pip install . --no-deps --no-build-isolation -vvv + +# Manually copy the data file to the site-packages directory +mkdir -p $PREFIX/share/zarp +cp -r $SRC_DIR/data/ $PREFIX/lib/python${PY_VER}/site-packages/ diff --git a/recipes/zarp/meta.yaml b/recipes/zarp/meta.yaml index 66822b14471f0..bc6891d73e010 100644 --- a/recipes/zarp/meta.yaml +++ b/recipes/zarp/meta.yaml @@ -1,42 +1,42 @@ {% set name = "zarp" %} -{% set version = "0.1.1" %} +{% set version = "1.0.0" %} package: name: "{{ name|lower }}" version: "{{ version }}" source: - url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: 0defdec6fe8dabf66d40f2f4d16dfc2619f509f11763356908af3be51ca049ab + url: https://github.com/zavolanlab/zarp-cli/archive/refs/tags/v1.0.0-rc.1.tar.gz + sha256: 43e4f7b4ec0bed8ff9d54b06cccdfc26292389cb946b51bbeccf471cf98dd928 build: + number: 0 noarch: python entry_points: - - zarp = zarp.cli:main - number: 0 - script: "{{ PYTHON }} -m pip install . -vv" + - zarp = zarp.cli:main + run_exports: + - {{ pin_subpackage(name|lower, max_pin="x") }} requirements: host: - - python >=3.7 + - python >=3.9, <=3.10 - setuptools-git >=1.2 - - pip + - pip >=22.1 run: - addict >=2.4.0 - bidict >=0.22.0 - email-validator >=1.2.1 + - genomepy >=0.15.0 - jsonref >=0.2 - - pandas >=1.3.5 - - pydantic >=1.9.2 - - pydantic-collections >=0.3.0 + - numpy >=1.22, <1.25 + - pandas >=1.3.5, <1.4.0 + - pydantic >=1.9.2, <2.0.0 - pygments >=2.8.0 - - python >=3.7 + - python >=3.9, <=3.10 - rich >=12.5.1 - snakemake >=7.19.1 test: - imports: - - zarp commands: - zarp --help diff --git a/recipes/zdb/meta.yaml b/recipes/zdb/meta.yaml index d410159bdd9f4..cdfd987fa4d37 100644 --- a/recipes/zdb/meta.yaml +++ b/recipes/zdb/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.2.1" %} +{% set version = "1.3.3" %} package: name: zdb @@ -6,17 +6,17 @@ package: build: noarch: generic - number: 1 + number: 0 run_exports: - {{ pin_subpackage('zdb', max_pin="x.x") }} source: - url: https://github.com/metagenlab/zDB/archive/refs/tags/v1.2.1.tar.gz - sha256: 621146aa73de7bf04dd05da4e226eb558d07eb1f79e04760456c84e00ae9be0c + url: https://github.com/metagenlab/zDB/archive/refs/tags/v1.3.3.tar.gz + sha256: 9f5e29d3730740c2e60fb275db709916ef54d3a2c3e4cf54ae448e9add14bb49 requirements: run: - - nextflow >=21.04.0,<=22.10.8 + - nextflow >=21.04.0 - mamba test: @@ -26,12 +26,15 @@ test: about: home: https://github.com/metagenlab/zDB/ license: MIT + license_family: MIT license_file: LICENSE summary: zDB is both a bacterial comparative genomics pipeline and a tool to visualize the results dev_url: https://github.com/metagenlab/zDB/ + doc_url: https://zdb.readthedocs.io/en/latest/ extra: recipe-maintainers: - bkm + - njohner identifiers: - biotools:zDB diff --git a/recipes/zga/meta.yaml b/recipes/zga/meta.yaml index 6470f6afbd465..884a3fb5ec221 100644 --- a/recipes/zga/meta.yaml +++ b/recipes/zga/meta.yaml @@ -1,5 +1,5 @@ {% set name = "zga" %} -{% set version = "0.1.0" %} +{% set version = "0.1.1" %} package: name: "{{ name|lower }}" @@ -7,23 +7,24 @@ package: source: url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" - sha256: f0ecaefd7d535a69aabf2ddeee9408a45773baa3779abfebe3621d0a505778d2 + sha256: dd159db1cb4c0afcfb9bd47d9b4bd804e6b479507c49e77c38247abd1c8a4ca4 build: noarch: python + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} number: 0 entry_points: - zga = zga.zga:main - script: "{{ PYTHON }} -m pip install . -vv" + script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv" requirements: host: - - biopython - pip - - python >=3.6 + - python >=3.8 run: - biopython - - python >=3.6 + - python >=3.8 - fastp - bbmap - mash >=2 @@ -33,7 +34,7 @@ requirements: - checkm-genome >=1.1.0 - blast - samtools >=1.9 - - dfast >=1.2.12 + - bakta - nxtrim - racon - minimap2 @@ -46,7 +47,7 @@ test: about: home: "https://github.com/laxeye/zga" - license: BSD + license: BSD-3-Clause license_family: BSD summary: "Prokaryotic genome assembly and annotation pipeline" dev_url: https://github.com/laxeye/zga/ diff --git a/recipes/zga/post-link.sh b/recipes/zga/post-link.sh deleted file mode 100755 index f8442f0b17fd1..0000000000000 --- a/recipes/zga/post-link.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -dfast_file_downloader.py --protein dfast --cdd Cog --hmm TIGR diff --git a/recipes/zol/build.sh b/recipes/zol/build.sh index 09a586f99e46e..048162828ed7d 100644 --- a/recipes/zol/build.sh +++ b/recipes/zol/build.sh @@ -1,6 +1,5 @@ #!/bin/bash -#$PYTHON setup.py install --single-version-externally-managed --record=record.txt $PYTHON -m pip install . --ignore-installed --no-deps -vv mkdir -p ${PREFIX}/bin @@ -18,6 +17,7 @@ cp zol/plotTinyAAI.R ${PREFIX}/bin/ cp zol/plotSegments.R ${PREFIX}/bin/ cp zol/njTree.R ${PREFIX}/bin/ cp zol/phyloHeatmap.R ${PREFIX}/bin/ +cp zol/salt_gc_vs_ribo_aai.R ${PREFIX}/bin/ chmod +x ${PREFIX}/bin/runRBH chmod +x ${PREFIX}/bin/splitDiamondResults diff --git a/recipes/zol/meta.yaml b/recipes/zol/meta.yaml index c290db062ef25..ac3066121d731 100644 --- a/recipes/zol/meta.yaml +++ b/recipes/zol/meta.yaml @@ -1,5 +1,5 @@ {% set name = "zol" %} -{% set version = "1.3.15" %} +{% set version = "1.4.12" %} package: name: {{ name|lower }} @@ -7,13 +7,13 @@ package: source: url: https://github.com/Kalan-Lab/zol/archive/refs/tags/v{{ version }}.tar.gz - sha256: a745b5e02fd5cb7516b284622fab8181c70b56f4067ddce7ff282b66a2799e79 + sha256: cb02a98c7257a9d7ef089bc585637aa9ee5671c6b3a65dbaed6c0dd2331b651b build: number: 0 - skip: True # [py <= 39] + skip: True # [py != 310] run_exports: - - {{ pin_subpackage('zol', max_pin='x.x') }} + - {{ pin_subpackage('zol', max_pin='x') }} requirements: build: @@ -22,17 +22,16 @@ requirements: - python - setuptools - pip - - axel run: - - python =3.10 - - biopython =1.79 - - muscle - - setuptools + - python >=3.10 + - r-base + - biopython + - muscle >=5.0 - mcl - pal2nal >=14.1 - hmmer >=3.0.0 - - fasttree >=2.0.0 - - diamond =2.0.15 + - fasttree + - diamond >=2.1.7 - pyrodigal - prodigal - prodigal-gv @@ -41,28 +40,26 @@ requirements: - xlsxwriter >=3.0.3 - scikit-learn - axel - - hyphy =2.5.14 - - pomegranate >0.13,<=0.14.8 + - hyphy >=2.5.14 + - pomegranate >=1.0.0 - cd-hit - ncbi-genome-download - - r-base - r-ggplot2 - r-cowplot - r-gggenes - r-gridextra - - skani + - skani >=0.2.2 - slclust - trimal - gzip - miniprot =0.7 - bioconductor-ggtree - ete3 + - codoff test: commands: - - prepTG -v - - fai -v - - zol -v + - zol -h about: home: https://github.com/Kalan-Lab/zol @@ -72,3 +69,6 @@ about: summary: "zol (& fai): large-scale targeted detection and evolutionary investigation of gene clusters." dev_url: https://github.com/Kalan-Lab/zol +extra: + recipe-maintainers: + - raufs diff --git a/scripts/bioconductor/missingCranPackages.py b/scripts/bioconductor/missingCranPackages.py index e0bd60d6bdde0..28bcd2317a01d 100755 --- a/scripts/bioconductor/missingCranPackages.py +++ b/scripts/bioconductor/missingCranPackages.py @@ -1,55 +1,164 @@ #!/usr/bin/env python import argparse +from itertools import chain import networkx as nx -from datetime import datetime, timedelta import requests -from bioconda_utils import utils, graph +from bioconda_utils import utils def getRepoData(): res = set() - for subdir in ["linux-64", "noarch", "osx-64"]: + for subdir in ["linux-64", "noarch", "osx-64", "linux-aarch64", "osx-arm64"]: for channel in ["conda-forge", "bioconda"]: r = requests.get(f"https://conda.anaconda.org/{channel}/{subdir}/repodata.json") - js = r.json()['packages'] - for k, v in r.json()['packages'].items(): - if k.startswith('r-'): - res.add(v['name']) + for k, v in chain(r.json()["packages"].items(), r.json()["packages.conda"].items()): + if k.startswith("r-"): + res.add(v["name"]) return res -def printMissingCRAN(config_path, recipe_folder): - config = utils.load_config(config_path) - recipes = utils.get_recipes(recipe_folder) +def getDag(js): + dag = nx.DiGraph() + for k, v in js["_feedstock_status"].items(): + dag.add_node(k) + children = v["immediate_children"] + dag.add_edges_from((k, dep) for dep in set(children)) + return dag + + +def getCondaForgeMigrationStatus(migration_id): + r = requests.get(f"https://raw.githubusercontent.com/regro/cf-graph-countyfair/master/status/migration_json/{migration_id}.json") + js = r.json() + depDag = getDag(js) + res = { + "in-pr": dict(), + "bot-error": dict(), + "not-solvable": dict(), + "awaiting-parents": dict(), + "dag": depDag, + } + for recipe in js["in-pr"]: + res["in-pr"][recipe] = f"`{recipe}`: In PR {js['_feedstock_status'][recipe]['pr_url']}" + for recipe in js["bot-error"]: + status = js["_feedstock_status"][recipe]["pre_pr_migrator_status"] + segment = status.split("\n") + res["bot-error"][recipe] = f"`{recipe}`: {segment[0] + ' ' + segment[1]}" + for recipe in js["not-solvable"]: + status = js["_feedstock_status"][recipe]["pre_pr_migrator_status"] + segment1 = status.split("\n")[0] + segment2 = status.split(":")[3].split("\n")[0] + res["not-solvable"][recipe] = f"`{recipe}`: {segment1 + ' ' + segment2}" + for recipe in js["awaiting-parents"]: + res["awaiting-parents"][recipe] = f"`{recipe}`: Awaiting parents" + return res - repo = getRepoData() +def printMissingCRAN(recipe_folder, migration_id, format): # Construct a set of all dependencies (ignoring versions) + recipes = utils.get_recipes(recipe_folder) dependencies = set() for r in recipes: if "bioconductor" not in r: continue d = utils.load_meta_fast(r)[0] # a dictionary with keys requirements, build, etc. - if d['requirements']['run'] is None: + if d["requirements"]["run"] is None: continue - for dep in d['requirements']['run']: - if dep.startswith('r-'): - dependencies.add(dep.split(' ')[0]) + for dep in d["requirements"]["run"]: + if dep.startswith("r-"): + dependencies.add(dep.split(" ")[0]) + + CHECKBOX = "- [ ]" + # Find packages waiting for a migration + if migration_id: + cf = getCondaForgeMigrationStatus(migration_id) + dag = cf["dag"] + # Update dependencies based on DAG from conda-forge migration data + awaiting_parents = set.intersection(dependencies, set(cf["awaiting-parents"].keys())) + for recipe in awaiting_parents: + dependencies = set.union(dependencies, nx.algorithms.ancestors(dag, recipe)) + # Now that we expanded dependencies, get the new list of awaiting parents + awaiting_parents = set.intersection(dependencies, set(cf["awaiting-parents"].keys())) + in_pr = set.intersection(dependencies, set(cf["in-pr"].keys())) + bot_error = set.intersection(dependencies, set(cf["bot-error"].keys())) + not_solvable = set.intersection(dependencies, set(cf["not-solvable"].keys())) + if format == "markdown": + print( + "## Awaiting migration of {} packages ##".format( + len(in_pr) + len(bot_error) + len(not_solvable) + len(awaiting_parents) + ) + ) + print("### In PR ({} packages) ###".format(len(in_pr))) + for recipe in in_pr: + print(CHECKBOX, cf["in-pr"][recipe]) + print("### Bot Error ({} packages) ###".format(len(bot_error))) + for recipe in bot_error: + print(CHECKBOX, cf["bot-error"][recipe]) + print("### Not Solvable ({} packages) ###".format(len(not_solvable))) + for recipe in not_solvable: + print(CHECKBOX, cf["not-solvable"][recipe]) + print("### Awaiting Parents ({} packages) ###".format(len(awaiting_parents))) + for recipe in awaiting_parents: + print( + CHECKBOX, + cf["awaiting-parents"][recipe], + "(", + ", ".join([r for r in nx.algorithms.ancestors(dag, recipe) if r in set.union(in_pr, bot_error, not_solvable, awaiting_parents)]), + ")", + ) + else: + print("In PR:") + for recipe in in_pr: + print(recipe) + print("Bot Error:") + for recipe in bot_error: + print(recipe) + print("Not Solvable:") + for recipe in not_solvable: + print(recipe) + print("Awaiting Parents:") + for recipe in awaiting_parents: + print(recipe) + + # Find missing packages + repo = getRepoData() missing = dependencies - repo - print("Missing {} packages!".format(len(missing))) - for m in missing: - print(m) + if format == "markdown": + print("## Missing {} packages ##".format(len(missing))) + for recipe in missing: + print(CHECKBOX, recipe) + else: + print("Missing:") + for recipe in missing: + print(recipe) def main(): - parser = argparse.ArgumentParser(description="""Print a list of missing CRAN dependencies for Bioconductor packages.""") - parser.add_argument("config_path", default="config.yml", help="Location of config.yml (default: %(default)s", nargs='?') - parser.add_argument("recipe_folder", default="recipes", help="Location of the recipes folder (default: %(default)s)", nargs='?') + parser = argparse.ArgumentParser( + description="""Print a list of missing CRAN dependencies for Bioconductor packages.""" + ) + parser.add_argument( + "recipe_folder", + default="recipes", + help="Location of the recipes folder (default: %(default)s)", + nargs="?", + ) + parser.add_argument( + "--migration_id", + help="See conda-forge status page. If populated, will report packages held up in a conda-forge migration (default: None)", + nargs="?", + ) + parser.add_argument( + "--format", + dest="format", + default="plain", + help="Format of results: ['plain', 'markdown'] (default: %(default)s)", + nargs="?", + ) args = parser.parse_args() - printMissingCRAN(args.config_path, args.recipe_folder) + printMissingCRAN(args.recipe_folder, args.migration_id, args.format) -if __name__ == '__main__': +if __name__ == "__main__": main() diff --git a/scripts/check-for-additional-platforms.sh b/scripts/check-for-additional-platforms.sh new file mode 100755 index 0000000000000..844a09652c04d --- /dev/null +++ b/scripts/check-for-additional-platforms.sh @@ -0,0 +1,57 @@ +#!/bin/bash + +# Do not set -x, this script outputs a value with echo + +# Check to see if any changed recipes have specified the key +# extra:additional-platforms, and if so, if they match the platform of the +# currently-running machine. + +# arguments +git_range=$1 +job_name=$2 +current_job=$3 + +# Download ARM version of yq +yq_platform=$(uname) +yq_arch=$(uname -m) +[[ $yq_arch = "aarch64" ]] && yq_arch="arm64" +mkdir -p ${HOME}/bin +wget https://github.com/mikefarah/yq/releases/latest/download/yq_${yq_platform}_${yq_arch} -O ${HOME}/bin/yq +chmod +x ${HOME}/bin/yq + +# Find recipes changed from this merge +files=`git diff --name-only --diff-filter AMR ${git_range} | grep -v 'template' | grep -E 'meta.yaml$' ` +build=0 + +for file in $files; do + # To create a properly-formatted yaml that yq can parse, comment out jinja2 + # variable setting with {% %} and remove variable use with {{ }}. + additional_platforms=$(cat $file \ + | sed -E 's/(.*)\{%(.*)%\}(.*)/# \1\2\3/g' \ + | tr -d '{{' | tr -d '}}' \ + | ${HOME}/bin/yq '.extra.additional-platforms[]') + + parsing_status=$? + if [ $parsing_status -gt 0 ]; then + echo "An error occurred while reading/parsing ${file}" + echo "==================== ${file} START ===========================" + cat $file + echo "==================== ${file} END =============================" + exit $parsing_status + fi + + # Check if any additional platforms match this job + for additional_platform in $additional_platforms; do + if [ "${current_job}" = "${job_name}-${additional_platform}" ] + then + build=1 + break + fi + done +done + +# If no changed recipes apply to this platform, skip remaining steps +if [[ build -gt 0 ]] +then + echo "build" +fi diff --git a/scripts/ucsc/create-ucsc-packages.py b/scripts/ucsc/create-ucsc-packages.py index f07ea3be2f92e..d9a3520fe573b 100755 --- a/scripts/ucsc/create-ucsc-packages.py +++ b/scripts/ucsc/create-ucsc-packages.py @@ -13,7 +13,6 @@ # e.g.,# "addCols - Sum columns in a text file." re_summary = re.compile(r'^(?P\w.*?) - (?P.*)$') - def parse_footer(fn): """ Parse the downloaded FOOTER file, which contains a header for each program @@ -54,13 +53,13 @@ def parse_footer(fn): # # version: 332 # sha256: 8c2663c7bd302a77cdf52b2e9e85e2cd -ucsc_config = yaml.load(open('ucsc_config.yaml')) +ucsc_config = yaml.safe_load(open('ucsc_config.yaml')) VERSION = ucsc_config['version'] SHA256 = ucsc_config['sha256'] # Download tarball if it doesn't exist. Always download FOOTER. tarball = ( - 'http://hgdownload.cse.ucsc.edu/admin/exe/userApps.v{0}.src.tgz' + 'http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v{0}.src.tgz' .format(VERSION)) if not os.path.exists(os.path.basename(tarball)): f = urllib.request.urlopen(tarball) @@ -198,6 +197,72 @@ def program_subdir(program, names): 'gfServer', ] +# A list of programs which have problems to build on linux-aarch64 +SKIP_AARCH64 = [ + 'pslCDnaFilter', # https://github.com/bioconda/bioconda-recipes/pull/49297 + 'pslCheck', # https://github.com/bioconda/bioconda-recipes/pull/50193 + 'bedCoverage', + 'bedExtendRanges', + 'bedItemOverlapCount', + 'bedToGenePred', + 'checkCoverageGaps', + 'checkTableCoords', + 'chromGraphFromBin', + 'chromGraphToBin', + 'dbTrash', + 'estOrient', + 'featureBits', + 'gapToLift', + 'genePredCheck', + 'genePredFilter', + 'genePredHisto', + 'genePredSingleCover', + 'genePredToBed', + 'genePredToBigGenePred', + 'genePredToFakePsl', + 'genePredToGtf', + 'genePredToMafFrames', + 'genePredToProt', + 'getRna', + 'getRnaPred', + 'gff3ToGenePred', + 'gtfToGenePred', + 'hgFindSpec', + 'hgGcPercent', + 'hgLoadBed', + 'hgLoadChain', + 'hgLoadMaf', + 'hgLoadNet', + 'hgLoadOut', + 'hgLoadOutJoined', + 'hgLoadWiggle', + 'hgSpeciesRna', + 'hgTrackDb', + 'hubCheck', + 'hubPublicCheck', + 'ldHgGene', + 'liftOver', + 'liftUp', + 'mafCoverage', + 'mafFetch', + 'mafFrag', + 'mafFrags', + 'mafGene', + 'mafSplitPos', + 'mafToSnpBed', + 'makeTableList', + 'mrnaToGene', + 'netClass', + 'overlapSelect', + 'positionalTblCheck', + 'pslLiftSubrangeBlat', + 'pslToBigPsl', + 'raSqlQuery', + 'tdbQuery', + 'transMapPslToGenePred', + 'validateFiles' +] + # Some programs need to be built differently. It seems that a subset of # programs need the "stringify" binary build as well. Or, in the case of # fetchChromSizes, it's simply a script that needs to be copied. @@ -294,6 +359,7 @@ def program_subdir(program, names): summary=description, version=VERSION, sha256=SHA256, + linux_aarch64='' if program in SKIP_AARCH64 else 'additional-platforms:\n - linux-aarch64\n', ) ) diff --git a/scripts/ucsc/include.patch b/scripts/ucsc/include.patch index eb32b88d8f358..edc04d0dc2f64 100644 --- a/scripts/ucsc/include.patch +++ b/scripts/ucsc/include.patch @@ -5,12 +5,12 @@ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE} -HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib -I ${PREFIX}/include ++HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I${kentSrc}/htslib -I${PREFIX}/include -I${BUILD_PREFIX}/include # to check for Mac OSX Darwin specifics: UNAME_S := $(shell uname -s) ---- kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 -+++ kent/src/utils/bedJoinTabOffset 2018-06-06 02:23:56.000000000 +0200 +--- kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 ++++ kent/src/utils/bedJoinTabOffset.py 2018-06-06 02:23:56.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/env python2.7 +#!/usr/bin/env python diff --git a/scripts/ucsc/template-build-cp-short.sh b/scripts/ucsc/template-build-cp-short.sh index d47bb19e9f7d9..f51f7ee2c9c55 100644 --- a/scripts/ucsc/template-build-cp-short.sh +++ b/scripts/ucsc/template-build-cp-short.sh @@ -1,4 +1,7 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -cp kent/src/utils/{program} "$PREFIX/bin" -chmod +x "$PREFIX/bin/{program}" + +set -xe + +mkdir -p "${{PREFIX}}/bin" +cp kent/src/utils/{program} "${{PREFIX}}/bin" +chmod 0755 "${{PREFIX}}/bin/{program}" diff --git a/scripts/ucsc/template-build-cp.sh b/scripts/ucsc/template-build-cp.sh index 73f3a75e23add..937159593f973 100644 --- a/scripts/ucsc/template-build-cp.sh +++ b/scripts/ucsc/template-build-cp.sh @@ -1,4 +1,7 @@ #!/bin/bash + +set -xe + mkdir -p "$PREFIX/bin" -cp {program_source_dir}/{program} "$PREFIX/bin" -chmod +x "$PREFIX/bin/{program}" +cp {program_source_dir}/{program} "${{PREFIX}}/bin" +chmod 0755 "${{PREFIX}}/bin/{program}" diff --git a/scripts/ucsc/template-build-fetchChromSizes.sh b/scripts/ucsc/template-build-fetchChromSizes.sh index 502e537cac181..487e643544ef8 100644 --- a/scripts/ucsc/template-build-fetchChromSizes.sh +++ b/scripts/ucsc/template-build-fetchChromSizes.sh @@ -1,4 +1,6 @@ #!/bin/bash -cp kent/src/utils/userApps/fetchChromSizes $PREFIX/bin -chmod +x $PREFIX/bin/fetchChromSizes +set -xe + +cp kent/src/utils/userApps/fetchChromSizes ${{PREFIX}}/bin +chmod 0755 ${{PREFIX}}/bin/fetchChromSizes diff --git a/scripts/ucsc/template-build-no-bin.sh b/scripts/ucsc/template-build-no-bin.sh index 24469788935d2..9e597e406cf4d 100644 --- a/scripts/ucsc/template-build-no-bin.sh +++ b/scripts/ucsc/template-build-no-bin.sh @@ -1,12 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${{PREFIX}}/bin" +export MACHTYPE=$(uname -m) +export INCLUDE_PATH="${{PREFIX}}/include" +export LIBRARY_PATH="${{PREFIX}}/lib" +export LDFLAGS="${{LDFLAGS} -L${{PREFIX}}/lib" +export CFLAGS="${{CFLAGS}} -O3 ${{LDFLAGS}}" +export CXXFLAGS="${{CXXFLAGS}} -I${{PREFIX}}/include ${{LDFLAGS}}" export BINDIR=$(pwd)/bin -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd {program_source_dir} && make) -cp {program_source_dir}/{program} "$PREFIX/bin" -chmod +x "$PREFIX/bin/{program}" +export L="${{LDFLAGS}}" +mkdir -p "${{BINDIR}}" +(cd kent/src/lib && make CC="${{CC}}" CXX="${{CXX}}" CFLAGS="${{CFLAGS}}" CXXFLAGS="${{CXXFLAGS}}" -j "${{CPU_COUNT}}") +(cd kent/src/htslib && make CC="${{CC}}" CXX="${{CXX}}" CFLAGS="${{CFLAGS}}" CXXFLAGS="${{CXXFLAGS}}" -j "${{CPU_COUNT}}") +(cd kent/src/jkOwnLib && make CC="${{CC}}" CXX="${{CXX}}" CFLAGS="${{CFLAGS}}" CXXFLAGS="${{CXXFLAGS}}" -j "${{CPU_COUNT}}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${{CC}}" CXX="${{CXX}}" CFLAGS="${{CFLAGS}}" CXXFLAGS="${{CXXFLAGS}}" -j "${{CPU_COUNT}}") +(cd {program_source_dir} && make CC="${{CC}}" CXX="${{CXX}}" CFLAGS="${{CFLAGS}}" CXXFLAGS="${{CXXFLAGS}}" -j "${{CPU_COUNT}}") +cp {program_source_dir}/{program} "${{PREFIX}}/bin" +chmod 0755 "${{PREFIX}}/bin/{program}" diff --git a/scripts/ucsc/template-build-parasol.sh b/scripts/ucsc/template-build-parasol.sh index 5614488afa6a1..253f747ebad66 100644 --- a/scripts/ucsc/template-build-parasol.sh +++ b/scripts/ucsc/template-build-parasol.sh @@ -1,12 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${{PREFIX}}/bin" +export MACHTYPE=$(uname -m) +export INCLUDE_PATH="${{PREFIX}}/include" +export LIBRARY_PATH="${{PREFIX}}/lib" +export LDFLAGS="${{LDFLAGS}} -L${{PREFIX}}/lib" +export CFLAGS="${{CFLAGS}} -O3 ${{LDFLAGS}}" +export CXXFLAGS="${{CXXFLAGS}} -I${{PREFIX}}/include ${{LDFLAGS}}" export BINDIR=$(pwd)/bin -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/parasol && make) -cp kent/src/parasol/bin/{program} "$PREFIX/bin" -chmod +x "$PREFIX/bin/{program}" +export L="${{LDFLAGS}}" +mkdir -p "${{BINDIR}}" +(cd kent/src/lib && make CC="${{CC}}" CXX="${{CXX}}" CFLAGS="${{CFLAGS}}" CXXFLAGS="${{CXXFLAGS}}" -j "${{CPU_COUNT}}") +(cd kent/src/htslib && make CC="${{CC}}" CXX="${{CXX}}" CFLAGS="${{CFLAGS}}" CXXFLAGS="${{CXXFLAGS}}" -j "${{CPU_COUNT}}") +(cd kent/src/jkOwnLib && make CC="${{CC}}" CXX="${{CXX}}" CFLAGS="${{CFLAGS}}" CXXFLAGS="${{CXXFLAGS}}" -j "${{CPU_COUNT}}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${{CC}}" CXX="${{CXX}}" CFLAGS="${{CFLAGS}}" CXXFLAGS="${{CXXFLAGS}}" -j "${{CPU_COUNT}}") +(cd kent/src/parasol && make CC="${{CC}}" CXX="${{CXX}}" CFLAGS="${{CFLAGS}}" CXXFLAGS="${{CXXFLAGS}}" -j "${{CPU_COUNT}}") +cp kent/src/parasol/bin/{program} "${{PREFIX}}/bin" +chmod 0755 "${{PREFIX}}/bin/{program}" diff --git a/scripts/ucsc/template-build-with-stringify.sh b/scripts/ucsc/template-build-with-stringify.sh index 225c22fe8fda1..c61d710eaa8f1 100644 --- a/scripts/ucsc/template-build-with-stringify.sh +++ b/scripts/ucsc/template-build-with-stringify.sh @@ -1,13 +1,22 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${{PREFIX}}/bin" +export MACHTYPE=$(uname -m) +export INCLUDE_PATH="${{PREFIX}}/include" +export LIBRARY_PATH="${{PREFIX}}/lib" +export LDFLAGS="${{LDFLAGS}} -L${{PREFIX}}/lib" +export CFLAGS="${{CFLAGS}} -O3 ${{LDFLAGS}}" +export CXXFLAGS="${{CXXFLAGS}} -I${{PREFIX}}/include ${{LDFLAGS}}" export BINDIR=$(pwd)/bin -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd kent/src/utils/stringify && make) -(cd {program_source_dir} && make) -cp bin/{program} "$PREFIX/bin" -chmod +x "$PREFIX/bin/{program}" +export L="${{LDFLAGS}}" +mkdir -p "${{BINDIR}}" +(cd kent/src/lib && make CC="${{CC}}" CXX="${{CXX}}" CFLAGS="${{CFLAGS}}" CXXFLAGS="${{CXXFLAGS}}" -j "${{CPU_COUNT}}") +(cd kent/src/htslib && make CC="${{CC}}" CXX="${{CXX}}" CFLAGS="${{CFLAGS}}" CXXFLAGS="${{CXXFLAGS}}" -j "${{CPU_COUNT}}") +(cd kent/src/jkOwnLib && make CC="${{CC}}" CXX="${{CXX}}" CFLAGS="${{CFLAGS}}" CXXFLAGS="${{CXXFLAGS}}" -j "${{CPU_COUNT}}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${{CC}}" CXX="${{CXX}}" CFLAGS="${{CFLAGS}}" CXXFLAGS="${{CXXFLAGS}}" -j "${{CPU_COUNT}}") +(cd kent/src/utils/stringify && make CC="${{CC}}" CXX="${{CXX}}" CFLAGS="${{CFLAGS}}" CXXFLAGS="${{CXXFLAGS}}" -j "${{CPU_COUNT}}") +(cd {program_source_dir} && make CC="${{CC}}" CXX="${{CXX}}" CFLAGS="${{CFLAGS}}" CXXFLAGS="${{CXXFLAGS}}" -j "${{CPU_COUNT}}") +cp bin/{program} "${{PREFIX}}/bin" +chmod 0755 "${{PREFIX}}/bin/{program}" diff --git a/scripts/ucsc/template-build.sh b/scripts/ucsc/template-build.sh index e5f98c64a3a1c..f2f5d27f6e621 100644 --- a/scripts/ucsc/template-build.sh +++ b/scripts/ucsc/template-build.sh @@ -1,12 +1,21 @@ #!/bin/bash -mkdir -p "$PREFIX/bin" -export MACHTYPE=x86_64 + +set -xe + +mkdir -p "${{PREFIX}}/bin" +export MACHTYPE=$(uname -m) export BINDIR=$(pwd)/bin -mkdir -p "$BINDIR" -(cd kent/src/lib && make) -(cd kent/src/htslib && make) -(cd kent/src/jkOwnLib && make) -(cd kent/src/hg/lib && make) -(cd {program_source_dir} && make) -cp bin/{program} "$PREFIX/bin" -chmod +x "$PREFIX/bin/{program}" +export INCLUDE_PATH="${{PREFIX}}/include" +export LIBRARY_PATH="${{PREFIX}}/lib" +export LDFLAGS="${{LDFLAGS}} -L${{PREFIX}}/lib" +export CFLAGS="${{CFLAGS}} -O3 ${{LDFLAGS}}" +export CXXFLAGS="${{CXXFLAGS}} -I${{PREFIX}}/include ${{LDFLAGS}}" +export L="${{LDFLAGS}}" +mkdir -p "${{BINDIR}}" +(cd kent/src/lib && make CC="${{CC}}" CXX="${{CXX}}" CFLAGS="${{CFLAGS}}" CXXFLAGS="${{CXXFLAGS}}" -j "${{CPU_COUNT}}") +(cd kent/src/htslib && make CC="${{CC}}" CXX="${{CXX}}" CFLAGS="${{CFLAGS}}" CXXFLAGS="${{CXXFLAGS}}" -j "${{CPU_COUNT}}") +(cd kent/src/jkOwnLib && make CC="${{CC}}" CXX="${{CXX}}" CFLAGS="${{CFLAGS}}" CXXFLAGS="${{CXXFLAGS}}" -j "${{CPU_COUNT}}") +(cd kent/src/hg/lib && make USE_HIC=0 CC="${{CC}}" CXX="${{CXX}}" CFLAGS="${{CFLAGS}}" CXXFLAGS="${{CXXFLAGS}}" -j "${{CPU_COUNT}}") +(cd {program_source_dir} && make CC="${{CC}}" CXX="${{CXX}}" CFLAGS="${{CFLAGS}}" CXXFLAGS="${{CXXFLAGS}}" -j "${{CPU_COUNT}}") +cp bin/{program} "${{PREFIX}}/bin" +chmod 0755 "${{PREFIX}}/bin/{program}" diff --git a/scripts/ucsc/template-meta-with-python.yaml b/scripts/ucsc/template-meta-with-python.yaml index e232fd400c642..2094dd74c6821 100644 --- a/scripts/ucsc/template-meta-with-python.yaml +++ b/scripts/ucsc/template-meta-with-python.yaml @@ -8,13 +8,16 @@ package: version: "{{{{ version }}}}" source: - url: "http://hgdownload.cse.ucsc.edu/admin/exe/userApps.v{{{{ version }}}}.src.tgz" + url: "http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v{{{{ version }}}}.src.tgz" sha256: "{{{{ sha256 }}}}" patches: - "include.patch" build: + skip: True # [osx] number: 0 + run_exports: + - {{{{ pin_subpackage(package, max_pin=None) }}}} requirements: build: @@ -23,14 +26,14 @@ requirements: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - python - zlib @@ -43,3 +46,11 @@ about: home: "http://hgdownload.cse.ucsc.edu/admin/exe/" license: "varies; see http://genome.ucsc.edu/license" summary: "{summary}" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + {linux_aarch64} \ No newline at end of file diff --git a/scripts/ucsc/template-meta.yaml b/scripts/ucsc/template-meta.yaml index 74498a6983ed3..8408f645ef084 100644 --- a/scripts/ucsc/template-meta.yaml +++ b/scripts/ucsc/template-meta.yaml @@ -8,37 +8,49 @@ package: version: "{{{{ version }}}}" source: - url: "http://hgdownload.cse.ucsc.edu/admin/exe/userApps.v{{{{ version }}}}.src.tgz" + url: "http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v{{{{ version }}}}.src.tgz" sha256: "{{{{ sha256 }}}}" patches: - "include.patch" build: + skip: True # [osx] number: 0 + run_exports: + - {{{{ pin_subpackage(package, max_pin=None) }}}} requirements: build: + - make - {{{{ compiler('c') }}}} host: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib run: - libpng - libuuid - mysql-connector-c - - openssl + - libopenssl-static - zlib test: commands: - # just check for existence, because the individual packages have no unified behavior - - which {{{{ program }}}} + # just check for existence and exec bit, because the individual packages have no unified behavior + - test -x ${{PREFIX}}/bin/{{{{ program }}}} about: - home: "http://hgdownload.cse.ucsc.edu/admin/exe/" - license: "varies; see http://genome.ucsc.edu/license" + home: "https://hgdownload.cse.ucsc.edu/admin/exe/" + license: "Varies; see http://genome.ucsc.edu/license" summary: "{summary}" + dev_url: "https://github.com/ucscGenomeBrowser/kent" + doc_url: "https://github.com/ucscGenomeBrowser/kent/blob/master/README" + +extra: + identifiers: + - biotools:UCSC_Genome_Browser_Utilities + - doi:10.1093/bib/bbs038 + {linux_aarch64} \ No newline at end of file diff --git a/scripts/ucsc/ucsc_config.yaml b/scripts/ucsc/ucsc_config.yaml index 0111932c1c44f..96df218c9e5ca 100644 --- a/scripts/ucsc/ucsc_config.yaml +++ b/scripts/ucsc/ucsc_config.yaml @@ -1,2 +1,2 @@ -version: 377 -sha256: 932f149c19641064a9cd3f2382cbb54b45a9292b8444792872d531346925d676 +version: 469 +sha256: 3f95b26ccca854c965c05773481c269f2a0e6fb1906ae8a7fe2437c6ad543963